micro-ROS / micro-ROS/micro-ROS-Agent
The micro_ros_agent does not relay topic messages
還沒有人認領這個 Issue。
- 主要語言
- C++
- 星號
- 201
- 分支
- 111
- 平均合併
- 1 天 6 小時
- 30 天內合併 PR
- 10
描述
**Describe the bug**
Hi, I tried this example [micro-ros_subscriber_twist](https://github.com/micro-ROS/micro_ros_arduino/blob/humble/examples/micro-ros_subscriber_twist/micro-ros_subscriber_twist.ino) using UDP on STM32F407 (Ethernet), but the micro_ros_agent only relays the message to MCU if
```
[Normal]
Step 1: Start the agent
Step 2: Start the program on MCU
Step 3: Publish the twist message (keep publishing)
Twist messages received.
```
If I exchange step 2 with step 3, I cannot receive the message on MCU:
```
[BUG]
Step 1: Start the agent
Step 2: Publish the twist message (keep publishing)
Step 3: Start the program on MCU
No Twist messages.
```
I'm wondering is this an expected behavior or a BUG?
Besides, the [micro-ros_publisher.ino](https://github.com/micro-ROS/micro_ros_arduino/blob/humble/examples/micro-ros_publisher/micro-ros_publisher.ino) example cannot receive the int32 message under both scenarios.
**To Reproduce**
Scenario 1 (BUG):
```
$ Step 1: Start the agent
$ docker run -it -p 9999:9999/udp --privileged microros/micro-ros-agent:galactic udp4 -p 9999 -v 6
$ Step 2: Publish the twist message
$ docker container -it sleepy_rubin /bin/bash
$ # Inside the container
$ ros2 run teleop_twist_keyboard teleop_twist_keyboard
$ Step 3: Start the program on MCU
$ micro_ros_sub twist
# No twist message on MCU
```
Scenario 1 (Normal):
```
$ Step 1: Start the agent
$ docker run -it -p 9999:9999/udp --privileged microros/micro-ros-agent:galactic udp4 -p 9999 -v 6
$ Step 2: Start the program on MCU
$ micro_ros_sub twist
$ Step 3: Publish the twist message
$ docker container -it sleepy_rubin /bin/bash
$ # Inside the container
$ ros2 run teleop_twist_keyboard teleop_twist_keyboard
# Normal twist message on MCU
```
貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
研究方向
使用 galactic micro-ROS Agent Docker 命令、teleop_twist_keyboard,以及 micro_ros_subscriber_twist.ino 和 micro_ros_publisher.ino 範例,重現兩種順序情境。先比較 MCU 程式在發佈前啟動與在發佈後啟動時 agent 的行為和 logs;當預期訊息在兩個已記錄的情境中都能可靠傳遞,或預期限制已清楚記錄時,即視為完成。
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- cpp, docker
- 領域
- embedded-iot, networking, robotics
- Issue 類型
- 缺陷
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 活躍度
- 停滯
- 描述清晰度
- 基本清楚
- 新手友好度
- 45/100