In case you are deploying/running functionality (e.g. nodes) with Docker it can be worth looking at pumba. pumba is a “Chaos testing and network emulation tool for Docker” which enables killing/pausing/stopping/removing containers and introducing delay/loss/corruption into network traffic.
Would you have any examples of how to setup tests with this?
Might be nice to create a example package (using
ros_tutorials or something) that shows how this can be used.
On thing that might reduce the value of testing with
netem is that the middleware in ROS 1 was never really designed for anything but ‘perfect’ networks. Performance of a node graph drops really quickly when things like lossy links are introduced, and there’s not much user-level code can do to improve that.
For ROS 2 this is definitely a nice tool.
Right. I wanted to post in the “Next Generation ROS” category first. However as it is related to testing I ended up here. As the command line interface is quite simple I saw no need to add a tutorial. Are there ROS2 specifics which would make a tutorial reasonable?
Being able to reproduce say some of the benchmark results shown here with pumba would be cool: