micro-ROS / micro-ROS/micro_ros_setup
ensuring agent is acting as agent for all that it should
まだ誰も着手していません。
- 主要言語
- Shell
- スター
- 509
- フォーク
- 183
- 平均マージ
- 22時間 26分
- マージ済み PR(30日)
- 7
説明
How to guarantee that agent is representing all publishers, nodes etc as requested?
related to the following issues and PRs:
https://github.com/micro-ROS/micro_ros_arduino/issues/40
https://github.com/micro-ROS/micro_ros_setup/issues/299
https://github.com/micro-ROS/micro_ros_setup/issues/256
https://github.com/micro-ROS/rmw_microxrcedds/pull/86/files
https://github.com/micro-ROS/micro_ros_setup/issues/347
https://github.com/micro-ROS/rmw_microxrcedds/pull/143/files
https://github.com/micro-ROS/micro_ros_arduino/issues/912
it appears the consensus is to use `rmw_uros_ping_agent` to detect the loss of agent communications, `fini*` and reinit all the bits, as exemplified here https://github.com/micro-ROS/micro_ros_arduino/blob/galactic/examples/micro-ros_reconnection_example/micro-ros_reconnection_example.ino
The communications with the agent is often over UDP, so its possible just to miss one of several init packets?
In this case the agent would be operating normally, and perhaps we wouldnt notice our missing service for a while.
Is it possible to periodically get the XRCE protocol to re-announce to the agent the set of nodes, topics etc, so that it would self recover?
Or is it feasible to implement some kind of "Tell me how you are configured, and I'll compare it to my idea of what I think you should be doing" handshaking in the protocol between agent and microros?
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
リンクされている micro-ros_reconnection_example.ino から始め、その rmw_uros_ping_agent、fini*、再初期化のフローを、関連する issue と pull request、特に rmw_microxrcedds の変更と比較してください。XRCE の定期的な再アナウンス、または agent-client 構成のハンドシェイクが実現可能かを明確にし、そのうえで合意した復旧動作と、その検証ケースを定義してください。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- arduino
- 領域
- distributed-systems, embedded-iot, networking
- issue の種類
- 機能追加
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 15/100