osrf / ros2_test_cases

Tracking of tests to be performed on a ROS 2 release
16 stars 4 forks source link

Topic monitor #1214

Closed marcoag closed 5 months ago

marcoag commented 6 months ago

Configuration

Links

Process

Comparing reliability QoS settings

Actions

You will need two machines with ROS 2: one mobile and one stationary.

# StdIn - terminal 1
ros2 run topic_monitor topic_monitor --display

Run the ros2 launch topic_monitor reliability_demo_launch.py executable on the stationary machine. This will start two nodes: one publishing in “reliable” mode, and one in “best effort”.

# StdIn - terminal 1
ros2 launch topic_monitor reliability_demo_launch.py

Start the monitor on a mobile machine such as a laptop. Use ros2 run topic_monitor topic_monitor --display --allowed-latency 5 to account for any latency that may occur re-sending the reliable messages.

# StdIn - terminal 1
ros2 run topic_monitor topic_monitor --display --allowed-latency 5

Take the mobile machine out of range of the monitor, and observe how the reception rates differ for the different topics.

Expected Results

You should see that the "reliable" topic has a reception rate that is almost always either 0 or 100%, while the "best effort" topic has a reception rate that fluctuates based on the strength of the connection.

Image

fujitatomoya commented 6 months ago

@marcoag since i do not have 2 machines, i tried to test this with 2 containers.

it seems that works without any problems, but plotting is different from expected result. i think we need a wifi network which is kinda unstable connectivity? this is as much as i can test, hope this helps if nobody else takes this with 2 physical machines.

image

marcoag commented 6 months ago

@fujitatomoya thanks for testing! as you mentioned, your output makes sense, will leave this open though in case anyone else can test with two machines.

samuel-ongzx commented 5 months ago

Just tested this with 2 machines!

Details

Setup:

Verification

Had to walk out of my house + 50m to get the drop in signal with some stops to try and get the best effort 😮‍💨 .

image
ahcorde commented 5 months ago

Thank you for testing and for moving around