[GSoC 2026] Project #9: Timed Playback Design & Multi-Sensor Pipeline Architecture #1569
Replies: 1 comment
-
|
Thank you for your excellent work on the ROSbag playback POC and for raising these important design questions. Your implementation is very comprehensive and well‑structured. Regarding Design Question 1 (Timed Playback):It is critical to perform time alignment across multiple sensors during playback. You can achieve this using software time synchronization by finding and aligning the first message timestamp of each sensor. After the initial time alignment, for all subsequent messages from each sensor, you can use multi-threading to maintain and publish each sensor’s data at a stable, fixed frequency. This approach ensures both accurate time synchronization and reliable high-frequency playback for sensors such as 200Hz IMU. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi @RuPingCen @jia-li,
I'm Kaushik Teja, applying for GSoC 2026 Project #9:
ROSbag Reader Node for Dora.
I've built a working POC (PR #3) that implements the
core pipeline — but I want to discuss production
architecture decisions before finalizing my proposal.
Design Question 1 — Timed Playback
For real-time playback that follows original bag
timestamps, I'm currently using:
For high-frequency sensors (200Hz IMU), this sleep
precision matters. Should I use asyncio for non-blocking
sleep, or is threading preferred in DORA nodes?
Design Question 2 — Memory Strategy for GB bags
My current implementation uses rosbags' streaming
iterator (one message at a time) to keep memory constant.
Is there a recommended buffer size or prefetch strategy
for DORA nodes handling dense payloads?
Design Question 3 — Arrow Schema Convention
I noticed PR #2 (ilGalhi) proposes canonical Arrow
schemas for zero-copy inter-node communication.
Should the ROSbag node's output schemas follow those
conventions? I want to ensure downstream compatibility
with existing DORA_NAV nodes like hdl_localization.
My POC: github.com/dora-rs/DORA_NAV/pull/3
Includes: 5 sensor parsers, timed playback, YAML config,
3 example pipelines, 11 unit tests.
Beta Was this translation helpful? Give feedback.
All reactions