micro-ROS / micro-ROS/micro-ROS-Agent
Using micro-ROS-Agnet as a serialization/deserialization link
还没有人认领这个 Issue。
- 主要语言
- C++
- 星标
- 201
- 派生
- 111
- 平均合并
- 1 天 6 小时
- 30 天内合并 PR
- 10
描述
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](https://micro.ros.org/docs/tutorials/advanced/create_custom_transports/). 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](https://github.com/eProsima/Micro-CDR) library directly as I like the tools provided by the agent such as discovery...
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
先从自定义传输教程和 issue 中描述的 micro-ROS-Agent 入口点开始,然后查看 XRCE-DDS agent-client 通信的结构。确定一个 agent 是否可以充当两个 ROS 2 系统之间的 client 或 bridge,并记录受支持的配置或限制;Micro-CDR 被提及为替代方案。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- cpp
- 领域
- distributed-systems, networking
- Issue 类型
- 功能
- 难度
- 5/5
- 预计耗时
- 一周以上
- 活跃度
- 停滞
- 描述清晰度
- 需要澄清
- 新手友好度
- 20/100