CppCon 2023 has ended
Back To Schedule
Wednesday, October 4 • 16:45 - 17:45
Robotics at Compile Time: Optimizing Robotics Algorithms With C++'s Compile-Time Features

Log in to save this to your schedule, view media, leave feedback and see who's attending!

Feedback form is now closed.
Development of real-time software for robots allows for strategic use of compile-time programming techniques to optimize performance, latency, and memory usage. The speaker will present how template metaprogramming, the constexpr family of features, concepts and std::enable_if can benefit robotics algorithms and code through concrete examples. Beyond optimization, the speaker will discuss how these features can also enable many safety-critical checks before run-time. The speaker's goal of this talk is for attendees both in robotics and outside to learn how they may be able to move more of their software's evaluation to the compiler.

The speaker's examples will include common robotics programming tasks like kinematics, collision checking, and cartesian control. Historically, robot-agnostic software for these tasks was written to be compiled once and deployed across numerous robotics platforms. This necessitated hardware description files to be ingested on startup and then verified before operating the robot. These approaches require dynamic memory allocation, run-time polymorphism and other approaches that prevent compiler optimizations, static analysis and are not compatible with real-time operation. For many applications in robotics, however, the requirements of the robotics platform are known well in advance and can be leveraged to generate software heavily optimized by the compiler.

avatar for Stephen Brawner

Stephen Brawner

Robotics Software Consultant, Robottimo
As a lifelong maker of innovative mixed hardware-software artifacts, Dr. Stephen Brawner is experienced in engineering and computer science with a passion for robotics and automation. He has designed, built and programmed a variety of robotics platforms in many industries including... Read More →

Wednesday October 4, 2023 16:45 - 17:45 MDT
Cottonwood 2/3