Robotics at Compile Time: Optimizing Robotics Algorithms With C++'s Compile-Time Features
Talkat CppCon 2023 · on Wednesday, 2023-10-04· at 16:45· Cottonwood 2/3, 6700 North Gaylord Rockies Boulevard·
summary
Claims concrete wins: moving robot specs into templates yields smaller binaries and fewer runtime checks, uses constexpr and concepts and template metaprogramming to eliminate heap use and virtual dispatch, and generates tighter assembly with fold expressions. Examples cover kinematics, self collision checks and cartesian control, target embedded CPUs running >100 Hertz with 100 kilobytes of memory, and enforce no dynamic allocation and compile-time limits so behavior is known before deployment.
AI-written summary · about
chapters (19)
- 0:00Intro
- 0:27Welcome
- 0:56About me
- 1:36Software Robotics
- 2:47Robotics Video
- 3:54Hardware Requirements
- 6:20RealTime Software
- 7:14RealTime Properties
- 8:47Why C
- 10:48Ring Buffer
- 15:31Robotics Control
- 18:49Transforms
- 20:21Metaprogramming
- 27:35Clamp Limits
- 29:14Collision Detection
- 30:21Collision
- 30:48Collision in Runtime
- 32:03Compile Time
- 33:28Summary
related talks
01h 08mKeynote: What can C++ do for embedded systems developers?
50mC++ Costless Abstractions: the compiler view
47mReducing Template Compilation Overhead, Using C++11, 14, 17, and 20.
01h 09m“Modern C++ in Embedded Systems - The Saga Continues”
31mSafe Software for Autonomous Mobility With Modern C++
22mOptimize Your Industrial IoT Application in Every Dimension
01h 01mThe Best Parts of C++
01h 06m“C++ Metaprogramming: Journey from simple to insanity and back"
