Nicolò Valigi | articles | talks

Concurrency in ROS 1 and 2: from AsyncSpinner to MultithreadedExecutor

ROS Conference 2019


Unexpected latency is a common problem in ROS-based stacks. This talk discusses how the ROS runtime maps ROS primitives like publish/subscribe into OS threads for concurrent execution, and what ROS APIs we can use to control this process. The second part of the talk covers how the Linux scheduler allocates these threads for execution on typical CPUs, and which knobs can be used to optimize this process for robotics applications.

← All talks..