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

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

Aperta
#183 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
C++
Stelle
201
Fork
111
Merge medio
1g 6h
PR unite (30g)
10

Descrizione

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. 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 library directly as I like the tools provided by the agent such as discovery...

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia con il tutorial sui trasporti personalizzati e con gli entry point di micro-ROS-Agent descritti nell’issue, quindi esamina come è strutturata la comunicazione tra agent e client di XRCE-DDS. Determina se un agent può agire come client o bridge tra due sistemi ROS 2 e documenta la configurazione supportata o la limitazione; Micro-CDR è menzionato come alternativa.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
cpp
Ambito
distributed-systems, networking
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
20/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.