Agent stops relaying service response messages to DDS

Open
#199 1 comment 0 reactions 1 assignee View on GitHub

@Acuadros95 is already working on this.

Since Jul 6, 2023.

Assessment

This issue has not been assessed yet.

Description

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:

  1. Run agent ros2 run micro_ros_agent micro_ros_agent serial --dev /dev/ttyACM0 -v6
  2. Connect an MCU which provides a service
  3. Run a node on the device which hosts the agent which calls the service in a tight loop
  4. 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
  5. ros2 cli service calls will also hang from this point onwards
  6. 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
Dominant language
C++
Stars
201
Forks
111
Avg merge
1d 6h
Merged PRs (30d)
10

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from micro-ROS/micro-ROS-Agent

All issues in micro-ROS/micro-ROS-Agent

Similar issues

More C++ issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.