Implementation of a native DDS-based publishing interface for inertial sensor data, validated with a VectorNav VN-100 IMU. This repository accompanies the paper:
M. J. Sosa Borrero, J. E. Serrano Castañeda, J. C. Martinez Santos, E. A. Puertas Del Castillo.
Implementation of a DDS-Based Publishing Interface for Real-Time Inertial Sensor Data in Navigation Systems.
Proceedings of IEEE Caribbean Colombian Conference (C3 2025), IEEE Xplore (forthcoming).
- Serial parsing of IMU data (yaw, pitch, roll, gyro, accel, mag).
- DDS publishing via Eclipse Cyclone DDS.
- IDL 4.2 schemas for type-safe communication.
- QoS configuration via XML profiles (
qos/imu_qos.xml). - Example subscriber for validation with DDS Spy.
- Modular and portable design, aligned with OMG specifications.
dds-imu-dds-interface/
│── CMakeLists.txt
│── README.md
│── LICENSE
│
├── idl/ # IDL schemas
│ └── imu_data.idl
│
├── src/ # C++ source code
│ ├── imu_parser.cpp
│ ├── dds_publisher.cpp
│ ├── dds_subscriber.cpp
│ └── main.cpp
│
├── include/ # Header files
│ └── imu_parser.hpp
│
├── qos/ # QoS profiles for Cyclone DDS
│ └── imu_qos.xml
│
├── config/ # Setup and run scripts
│ ├── setup.sh
│ └── run.sh
│
├── docs/ # Documentation
│ ├── INSTALL.md
│ ├── USAGE.md
│ └── ARCHITECTURE.md
│
└── datasets/ # Example logs from lab validation
├── imu_sample_log.csv
└── dds_output_log.csv- Ubuntu 22.04 (tested)
- GCC / G++ ≥ 11
- CMake ≥ 3.16
- Cyclone DDS
- Git
# Clone repo
git https://github.com/mervinso/dds_imu.git
cd dds-imu
# Create build directory
mkdir build && cd build
cmake ..
make# Publisher
./dds_imu_publisher datasets/imu_sample_log.csv
# Subscriber
./dds_imu_subscriber
# Monitor with DDS Spy
ddsspy -t imu/ImuDataDefault QoS for the publisher is defined in qos/imu_qos.xml :
- Reliable delivery
- KeepLast = 10
- Deadline = 5 ms
- LatencyBudget = 1 ms
- Liveliness = Automatic (1 s)
To use this profile:
export DDS_QOS_PROFILES=file://$PWD/qos/imu_qos.xmlIf you use this repository, please cite:
@inproceedings{Sosa2025-DDS-IMU,
author = {Mervin Jesus Sosa Borrero and Jairo Enrique Serrano Castañeda and Juan Carlos Martinez Santos and Edwin Alexander Puertas Del Castillo},
title = {Implementation of a DDS-Based Publishing Interface for Real-Time Inertial Sensor Data in Navigation Systems},
booktitle = {Proc. IEEE Caribbean Colombian Conference (C3)},
year = {2025},
publisher = {IEEE},
doi = {10.1109/C3.2025.XXXXXXX}
}This project is licensed under the MIT License. See LICENSE for details.
- OMG DDS Specification: Official Website
- OMG IDL4 to C++ Mapping: Official Website
- Eclipse Cyclone DDS: Official Repository