Connectivity Drop with More Than 5 Devices in Micro-ROS Agent on Docker (Raspberry Pi 5)

Offen
#233 3 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
30/100
Issue-Typ
Bug
Klarheit
Muss geklärt werden
Aktivitätsstatus
Veraltet
Tech-Stack
cmake, cpp, docker

Rechercherichtung

Beginne damit, src/micro_ros_setup/config/host/generic/client-host-colcon.meta mit src/uros/rmw_microxrcedds/rmw_microxrcedds_c/CMakeLists.txt und /src/colcon.meta des Workspace zu vergleichen. Reproduziere den Aussetzer mit mehr als fünf ESP32-Geräten und sammle dabei Agent- und Client-Logs. Erledigt ist die Aufgabe, wenn der korrekte Konfigurationspfad ermittelt wurde und ein getestetes Setup die vorgesehene Client-Anzahl ohne Verbindungsabbrüche unterstützt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Description:
I am running a micro-ROS agent in a Docker container using the prebuilt image (humble) on a Raspberry Pi 5. I have several ESP32 devices with micro-ROS (Humble). When I attempt to connect more than five devices to the agent, I experience connectivity dropouts, where some devices fail to stay connected. With 5 devices, they are successful in subscribing to topics.

I suspect this issue might be related to the configuration flags in the micro-ROS build, particularly those related to client and resource limits. I came across the following parameters:

  • RMW_UXRCE_MAX_CLIENTS
  • RMW_UXRCE_MAX_SUBSCRIPTIONS
  • RMW_UXRCE_MAX_SESSIONS
  • RMW_UXRCE_MAX_NODES
  • RMW_UXRCE_MAX_PUBLISHERS
  • RMW_UXRCE_MAX_SERVICES
  • RMW_UXRCE_MAX_WAIT_SETS
  • RMW_UXRCE_MAX_GUARD_CONDITION
  • RMW_UXRCE_MAX_TOPICS

These parameters seem critical to configuring the agent, especially as I'm dealing with multiple devices where each subscribes to three topics. I suspect increasing the RMW_UXRCE_MAX_CLIENTS value might help, but I'm not entirely sure.

What I've Tried:

  • I attempted to experiment by manually setting RMW_UXRCE_MAX_CLIENTS to 1 (as a test), but it did not yield the expected results, as multiple clients could still connect.
  • I've tried searching through the documentation, including Vulcanexus for guidance, but I haven't been able to solve the issue.

Question:
In order to adjust these flags and rebuild the micro-ROS agent from source, do I need to modify the build configuration in the following file?

Or should the changes be made in this file instead?

I believe the latter might be where the flags should be set, but I'm uncertain. Has anyone else experienced similar connectivity issues when connecting more than five devices to a micro-ROS agent on Docker? If so, how did you resolve it?

(I've also noticed a colcon.meta file in the /src folder of my workspace, should the be used?)

Any guidance on where exactly to set the flags for a manual source installation would be greatly appreciated - Or even the correct approach to setting up an agent to allow for more than 20 clients!

Thanks in advance for your help!

System Details:

  • Hardware: Raspberry Pi 5
  • Docker Image: Prebuilt micro-ROS agent
  • Micro-ROS Version: Humble on ESP32 devices
  • Number of Devices: 5+ ESP32 devices
  • Topics per Device: 3 Topics per device

Links to Documentation:

Thank you!

Vorherrschende Sprache
C++
Sterne
201
Forks
111
Ø Merge
1 T. 6 Std.
Gemergte PRs (30 T.)
10

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus micro-ROS/micro-ROS-Agent

Alle Issues in micro-ROS/micro-ROS-Agent

Ähnliche Issues

Weitere Issues zu C++

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.