Continuous Serialization and Image Data Streaming
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 22/100
- Tipo di issue
- Documentazione
- Chiarezza
- Da chiarire
- Stato di attività
- Ferma
- Stack tecnologico
- c
- Ambito
- embedded-iot, networking
Direzione di ricerca
Inizia dalla sezione sulla serializzazione continua del tutorial di programmazione di micro-ROS e confrontala con rclc/ping_uros_agent/main.c, quindi consulta la documentazione dell'API di microcdr e continuous_serialization. Il lavoro è completato quando sono documentati il comportamento del buffer e del trasporto, viene spiegato ucdr_alignment e viene aggiunto o indicato un esempio funzionante di streaming di immagini.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Issue template
- Hardware description: MAX78000 / Custom board
- RTOS: FreeRTOS
- Installation type: micro_ros_setup / custom static library
- Version or commit hash: Humble
Hello - I'm an engineer with Analog Devices and I've been working on micro-ros support for our microcontrollers, starting with our embedded AI micros. I've completed the port and custom transports following the excellent tutorials, so first off thank you for the great documentation and project. I would eventually like to open a PR with official part support for our MSDK microcontrollers, and I'm building up a cool demo using an OpenManipulator-X running some custom object detection on our MAX78000.
Let me know if there's a better channel/repo to go through for questions. I couldn't get the Slack channel invite to work.
My current challenge is related to the topic of continuous serialization mentioned in the bottom part of this tutorials page.
I'm currently publishing a sensor_msgs/image image successfully, but the transmissions are very slow since the message is broken up into many packets. I would like some way to continuously stream the image data instead, but still comply with the expected message framing protocol. So...
- Is "continuous serialization" what I'm looking for?
- The tutorial says the ping_uros_agent example shows an example for continuous serialization of image data, but I don't see it. Are there any examples for this?
- I can sort of guess at what the APIs do based on the tutorial, but the API documentation for the
microcdrandcontinuous_serializationmodules are somewhat limited. I'm confused about what theucdr_alignmentfunctions do, and also whether it's possible stream image data row by row from the serialization callback. In the given example does writing into the ucdr buffer push the data out into the transport layer?
// Implementation example:
void serialization_cb(ucdrBuffer * ucdr){
size_t len = 0;
micro_ros_fragment_t fragment;
// Serialize array size
ucdr_serialize_uint32_t(ucdr, IMAGE_BYTES);
while(len < IMAGE_BYTES){
// Wait for new image "fragment"
...
// Serialize data fragment
ucdr_serialize_array_uint8_t(ucdr, fragment.data, fragment.len); // <-- (JC): Does this go out to the transport layer?...
len += fragment.len;
}
} // ... or is the data finally sent here, when the callback returns?
I also have some more general suggestions/questions related to some challenges I had in developing the custom transports, and would love to contribute back to the project in any way I can.
Thank you,
Jake
- Lingua principale
- Shell
- Stelle
- 509
- Fork
- 183
- Merge medio
- 22h 26m
- PR unite (30g)
- 7
Preparare l'ambiente
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di micro-ROS/micro_ros_setup
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
micro-ROS/micro_ros_setup#837 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
micro-ROS/micro_ros_setup#814 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 42/100
micro-ROS/micro_ros_setup#809 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 38/100
micro-ROS/micro_ros_setup#808 · 2 commenti ·
-
sensor msgs dependenciesAperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 20/100
micro-ROS/micro_ros_setup#806 ·
Tutte le issue di micro-ROS/micro_ros_setup
Issue simili
-
type: bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
catppuccin/kde#152 ·
-
update-request
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
msys2/MINGW-packages#32008 ·
I maintainer di solito rispondono entro 1 giorno
-
bot-found bug priority: P3
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
madenvel/KalinkaPlayer#179 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno
-
documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100