This project provides a real-hardware validation workflow for QoS extensions in mROS2-ESP32:
WSL2 ROS2 Humble <-> ESP32-S3 mROS2
USB serial is used only for flashing and observing logs. The actual ROS2/mROS2 communication runs over WiFi using DDS/RTPS.
The primary hardware validation firmware is:
workspace/step7_full_qos
Quick validation checklist:
docs/validation/QUICK_START.md
Detailed validation procedures:
docs/validation/RUNBOOK.md
docs/validation/QUICK_REFERENCE.md
QoS status and evidence:
docs/qos/QOS_IMPLEMENTATION_STATUS.md
docs/qos/QOS_EVIDENCE_MATRIX.md
Clone this repository:
git clone https://github.com/hal-lab-u-tokyo/mROS2-QoS.git
cd mROS2-QoSCreate local WiFi credentials before building:
cp platform/wifi/wifi_secrets.example.h platform/wifi/wifi_secrets.hThen edit platform/wifi/wifi_secrets.h for the local SSID and password. This file is ignored by git.
The validation scripts generate the local ROS2/WSL target IP in:
platform/rtps/config_local.h
That file is also ignored by git. Run this whenever the WSL IP or network changes:
./scripts/validation/qos_set_remote_ip.shFrom WSL:
cd /home/your-user/mROS2-QoS
./scripts/validation/qos_ready.sh /dev/ttyUSB0 allOnly accept the hardware validation as ready when the output contains:
[verify] RESULT: PASS
[ready] RESULT: ALL PASS
When using WSL2 mirrored networking, run this once from an elevated Windows PowerShell:
Set-ExecutionPolicy -Scope Process Bypass
& "\\wsl.localhost\Ubuntu-22.04\home\your-user\mROS2-QoS\scripts\validation\wsl_firewall_admin.ps1"This allows DDS/RTPS UDP ports 7400-7420 into WSL.
The current real-hardware validation path verifies:
ESP32 -> ROS2: /step7_full_qos, RELIABLE
ROS2 -> ESP32: /step7_full_qos_reply, RELIABLE
The seven QoS-related categories presented are:
Reliability
Durability
History
Deadline
Lifespan
Liveliness
Resource Limits
Important boundary:
This is a QoS extension prototype and real-hardware validation workflow, not a complete product-grade DDS QoS implementation.
The strict full-RELIABLE path has passed the current real-hardware preflight and 3-run reset stress test.
mros2/ Core mROS2 and embeddedRTPS source
platform/ ESP32 WiFi and RTPS platform configuration
workspace/step7_full_qos/ Real-hardware QoS validation firmware
scripts/validation/ Flashing, preflight, and WSL firewall helpers
scripts/test/ Static QoS validation checks
docs/validation/ Hardware validation instructions
docs/qos/ Objective QoS status and evidence matrix