micro-ROS Overview

The firmware implements a micro-ROS XRCE-DDS client over UDP/Ethernet.


Data Flow

The system communicates with a host agent residing on the same subnet (192.168.50.x).

sequenceDiagram
    participant S as STM32H7 (CM7)
    participant A as micro-ROS Agent
    participant D as microk3 Dashboard
    
    Note over S: 192.168.50.2
    Note over A: 192.168.50.1
    
    S->>A: UDP Connect (8888)
    A->>S: Session Ack
    loop Publishing
        S->>A: XRCE Data Message
        A->>D: ROS 2 Topic update
    end

RMW Configuration

The Client library is tuned for STM32 memory constraints.

Parameter Value
Max nodes 1
Max publishers 5
Max subscriptions 5
Max services 1
Max history 4
Transport Custom (UDP over LwIP)
Serial profile Disabled

Client Lifecycle

stateDiagram-v2
    [*] --> Init
    Init --> AgentDiscovery: Ping Agent
    AgentDiscovery --> SessionEstablish: Connect
    SessionEstablish --> EntityCreation: Create Nodes/Pubs
    EntityCreation --> Spin: Executor Loop
    Spin --> Spin: Process Callbacks
    Spin --> [*]: Error/Shutdown

This site uses Just the Docs, a documentation theme for Jekyll.