micro-ROS-Agent
micro-ROS-Agent copied to clipboard
Agent stops relaying service response messages to DDS
After some amount of time the Agent can get itself into a state where it provides services, allows them to be called, forwards the messages onto to downstream micro but does not bridge the response back to the DDS
To Reproduce Steps to reproduce the behaviour:
- Run agent
ros2 run micro_ros_agent micro_ros_agent serial --dev /dev/ttyACM0 -v6
- Connect an MCU which provides a service
- Run a node on the device which hosts the agent which calls the service in a tight loop
- You will continue to see [==>> SER <<==] messages in the agent and logs in the MCU that the service call has been requested but no more [** <<DDS>> **] agent messages
- ros2 cli service calls will also hang from this point onwards
- Restarting the agent gets everything back to normal
Expected behaviour Agent should always bridge mcu to DDS and never need restarting
System information (please complete the following information):
- OS: Debian 11
- ROS 2 Humble and Iron
- Version 4.0.3 on iron branch
Could not replicate this on our side, some questions:
- Does this happen if the MCU only implements a service?
- At which rate is the service being called?
- Any other task going on the MCU side that could affect the executor/service callback?
- I guess the service is reliable, does this happen on best effort communication?
You will continue to see [==>> SER <<==] messages in the agent and logs in the MCU that the service call has been requested but no more [** <> **] agent messages
Could you share the Agent log from just before this happens?