micro-ROS / micro-ROS/micro-ROS-Agent

Using micro-ROS-Agnet as a serialization/deserialization link

オープン
#183 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
C++
スター
201
フォーク
111
平均マージ
1日 6時間
マージ済み PR(30日)
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...

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

カスタムトランスポートのチュートリアルと、issue で説明されている micro-ROS-Agent のエントリーポイントから始め、その後、XRCE-DDS のエージェントとクライアント間の通信がどのように構成されているかを確認します。1 つの agent が 2 つの ROS 2 システム間で client または bridge として動作できるかを判断し、サポートされている構成または制限を文書化します。Micro-CDR は代替手段として言及されています。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
cpp
領域
distributed-systems, networking
issue の種類
機能追加
難易度
5/5
見積もり時間
1週間以上
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
20/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。