Questions about improving the ROS real-time method

A ROS 1 system made up of multiple nodes is inherently non-deterministic. You will probably have to do a lot of work to make T1 have a fixed maximum.

One approach you can take is to rewrite the nodes you are using for your process to be nodelets. That will remove the uncertainty of the communication between nodes, which should give a more stable processing loop.

Another option is to switch to ROS 2. There are facilities in ROS 2 that are designed for solving this problem. The downside is you will likely need to do a lot of porting work, but I think that in the long term this approach would give the best result.

There is also going to be a talk by Ingo Lütkebohle from Bosch about exactly this sort of problem at ROSCon. If you can’t make it to ROSCon, the talks will be available online after the conference finishes, and they will probably be live streamed as well.

1 Like