Real-time Control Examples
Posted March 1, 2022 by Hamza El-Kebir ‐ 1 min read
Practical examples involving a robot arm and a thermal camera.
In our paper, “Lodestar: An Integrated Embedded Real-Time Control Engine”, we presented two applications of Lodestar: one involving real-time torque control of a 7-jointed robotic arm, and the other dealing with real-time autofocus of a thermal imaging camera. Both of these are challenging: the former requires fast execution time due to its strict real-time constraints, and the latter requires a custom computer vision algorithm to run efficiently between frames. In this post, we discuss both applications in detail, going through each line of code.
PID Controllers and Torque Control
Designing a custom block
In order to tackle the challenge, the first order of the day was to let Lodestar interface with Franka Emika’s
libfranka drivers. These drivers were made with real-timability in mind: any control algorithm is implement using a callback function, the output of which gets processed by Franka Emika’s proprietary control unit. Not only did we have to design a regular interface in Lodestar, we also had to make it run in parallel.