Looking foward to ROSCon 2018 we're highlighting presentations from last year.
Ingo presented how determinism can effect a robotic system. The talk provides an overview of causes of non-determinism. Followed by specific examples of diagnosing determinism in a robotic system and the benefits of eliminating the sources of non-determinism.
Video
Abstract
ROS's foundational style, the asynchronous, loosely coupled compute graph, is great for re-use and distribution, but there's a catch: Nothing guarantees execution ordering. This means, the order in which callbacks and timers are executed can change even when inputs are the same. In many important cases, this leads to different results, and - subtly or not so subtly - changes the robot's behavior. As an example, in the common movebase node, we found reaction times changing between 50 and 200ms, while pure computation time was only 20ms. I will show why this happens, and how to address it, both in the movebase and in general.
Slides
View the slides here