Using micro-ROS-Agnet as a serialization/deserialization link
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 20/100
- Issue type
- Feature
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- cpp
- Domain
- distributed-systems, networking
Research direction
Start with the custom transports tutorial and the micro-ROS-Agent entry points described in the issue, then review how XRCE-DDS agent-client communication is structured. Determine whether one agent can act as a client or bridge between two ROS 2 systems, and document the supported configuration or limitation; Micro-CDR is mentioned as an alternative.
Written by the indexing model from the issue text.
Description
I am attempting to connect two computers over a custom serial link (eventually, currently I am testing with ethernet). The micro-ROS-Agent is very appealing for this task as it exposes the underlying API allowing me to program custom driver code for the custom interfaces provided for the project as described here. In this project there will be a remote machine running the majority of the code with the ability to down-link telemetry (and receive commanding) over a host of different serial over-the-air links (one directional bit streams).
I understand that fundamentally the XRCE-DDS protocol is implemented around agent-client interaction so I am not particularly surprised that out of the box two micro-ROS-Agents can not connect to each other. I am wondering how to configure (if at all possible) the micro-ROS-Agent to bridge communication across a custom (serial) link between two ROS2 systems.
My understanding is that back in ROS1 days this was something that could have been achieved through rosserial which has been replaced by micro-ROS.
- Hardware description: two linux machines. Connected via serial communication (ethernet for testing is fine)
- Setup static IPs between the two.
- Launch an instance of micro-ROS-Agent on both with the same port
- Unsurprisingly they do not discover each other...
How can I get one of the micro-ROS-Agents double as a client to initiate communication? Is this possible? I would really like to avoid wrapping the Micro-CDR library directly as I like the tools provided by the agent such as discovery...
- Dominant language
- C++
- Stars
- 201
- Forks
- 111
- Avg merge
- 1d 6h
- Merged PRs (30d)
- 10
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from micro-ROS/micro-ROS-Agent
-
Difficulty 1/5 Under an hour Newbie friendliness 68/100
micro-ROS/micro-ROS-Agent#270 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
micro-ROS/micro-ROS-Agent#269 ·
-
Release to apt Open
Difficulty 5/5 Over a week Newbie friendliness 25/100
micro-ROS/micro-ROS-Agent#267 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 42/100
micro-ROS/micro-ROS-Agent#266 · 1 comment ·
-
Difficulty 5/5 Over a week Newbie friendliness 20/100
micro-ROS/micro-ROS-Agent#265 · 1 comment ·
All issues in micro-ROS/micro-ROS-Agent
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
AXERA-TECH/ax-llm#77 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
games-on-whales/wolf#509 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
-
bug-unconfirmed
Difficulty 2/5 1-3 hours Newbie friendliness 76/100