← ClaudeAtlas

ros2-microroslisted

micro-ROS: agent, rclc client API, micro_ros_setup, custom transports, static memory.
Leehyunbin0131/claude-ros2-skills · ★ 18 · AI & Automation · score 76
Install: claude install-skill Leehyunbin0131/claude-ros2-skills
# micro-ROS Instructions (Ubuntu 24.04 LTS & ROS 2 Jazzy) > **Unverified.** Every other domain skill in this pack was measured against a > baseline agent and deleted when the agent reached the same result without it. > This one has no ladder — running it needs an MCU and an agent connection that > are not available here — so it survives untested, not because it earned a > place. Treat its contents as a starting point to check, not as ground truth. ## 1. Architecture micro-ROS connects constrained MCUs (STM32, ESP32, FreeRTOS, Zephyr) to the ROS 2 DDS graph via `micro_ros_agent` + the `rclc` client library over Micro XRCE-DDS. Static memory pools (`rmw_microxrcedds`) give zero steady-state heap allocation when `RMW_UXRCE_ALLOW_DYNAMIC_ALLOCATIONS=OFF`. ## 2. Documentation Entry Points | For | Entry point | | :--- | :--- | | Tutorials, supported boards, transports | `https://micro.ros.org/` | | Firmware build system (`micro_ros_setup`) | `https://github.com/micro-ROS/micro_ros_setup` | | `rclc` executor / node API source | `https://github.com/ros2/rclc` | ## 3. Key Concepts & Patterns ### A. Embedded Client Node Setup (`rclc` in C) ```c #include <rcl/rcl.h> #include <rclc/rclc.h> #include <rclc/executor.h> #include <std_msgs/msg/int32.h> int main(void) { rcl_allocator_t allocator = rcl_get_default_allocator(); rclc_support_t support = {0}; rcl_node_t node = {0}; rcl_publisher_t pub = {0}; rclc_support_init(&support, 0, NULL, &allocator); rclc_node_init_defa