micro-ROS / micro-ROS/micro-ROS-Agent
The micro_ros_agent does not relay topic messages
- Ngôn ngữ chính
- C++
- Star
- 201
- Fork
- 111
- Merge trung bình
- 1 ngày 6 giờ
- Pull request đã merge (30 ngày)
- 10
Mô tả
**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
```
Hướng dẫn đóng góp
Hướng nghiên cứu
Tái hiện cả hai kịch bản về thứ tự bằng lệnh Docker galactic micro-ROS Agent, teleop_twist_keyboard và các ví dụ micro_ros_subscriber_twist.ino và micro_ros_publisher.ino. Bắt đầu bằng cách so sánh hành vi của agent và các log khi chương trình MCU khởi động trước hoặc sau khi publish; được coi là hoàn tất khi các thông báo mong đợi được phân phối đáng tin cậy trong cả hai kịch bản đã được tài liệu hóa, hoặc khi giới hạn dự kiến được tài liệu hóa rõ ràng.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- cpp, docker
- Lĩnh vực
- embedded-iot, networking, robotics
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 45/100