---json {"name": "ROS 2"} --- ====== Axiom with ROS 2 ====== Use Axiom's sensors in ROS 2 over USB or Wi-Fi. The driver discovers connected devices, publishes their measurements as ROS topics, and exposes descriptor-defined configuration and output commands as ROS services. ===== Start here ===== - [[:axiom:ros2:getting_started|Install and connect]] — build on Linux, configure a USB or Wi-Fi board, then request and inspect sensor data. - [[:axiom:ros2:sensors_and_boards|Sensors, hot swapping and multiple Axioms]] — follow topics as devices appear, use optional aliases, inspect services and run several boards. - [[:axiom:ros2:thermal_camera|Thermal camera in RViz]] — a complete four-terminal workflow for an AMG8833 camera, including per-pixel temperatures. - [[:axiom:ros2:dashboard|Optional scenarios dashboard]] — use the command guide and ROS graph while controlling everything from the console. {{ :axiom:ros2:ros2-thermal-rviz.jpg?nolink&420 |An 8×8 thermal grid displayed in RViz}} //RViz thermal heatmap with temperatures in °C. This illustration uses synthetic data; the workflows use a real Axiom.// ===== What you need ===== ^ Requirement ^ Details ^ | Linux with ROS 2 | Tested on **Ubuntu 24.04 with ROS 2 Jazzy**, including a Raspberry Pi 5 running Ubuntu. | | Axiom firmware | Firmware must support the connected device and supply its descriptor. The development stack has been checked with **0.1.16-devlib**; see the [[:axiom:device_library:start|Device Library]] guides for profiles and firmware. | | Connection | USB serial, or Axiom already connected to your Wi-Fi network with a reachable IP address. | | Source access | [[https://github.com/robotical/axiom-ros2|robotical/axiom-ros2]] is currently a **private repository**. Your GitHub account needs access. | These pages describe the development package and its current behaviour. The console steps keep connection and acquisition manual. ===== How the pieces fit together ===== ^ Piece ^ Job ^ | Axiom firmware | Detects and reads devices, supplies descriptors and sends measurement packets. | | ''axiom_driver'' | Maintains one connection per board, decodes packets, manages device lifetime and publishes ROS interfaces. | | ''axiom_interfaces'' | Defines custom messages and the driver's connection, acquisition and device-command services. | | ROS topics and services | Let your own nodes consume measurements and request configuration or output operations. | | ''axiom_thermal_viz'' and RViz | Convert thermal grids into coloured markers and temperature labels. | | Optional dashboard | Shows commands, available interfaces, scenarios and the current ROS graph. | The driver and visualisation work without the dashboard. Run **one firmware acquisition client per Axiom** and let other consumers subscribe to its ROS topics. ===== Source and reference ===== * [[https://github.com/robotical/axiom-ros2|Repository and build instructions]] * [[https://github.com/robotical/axiom-ros2/blob/main/src/axiom_driver/README.md|Driver parameters, topics and services]] * [[https://github.com/robotical/axiom-ros2/blob/main/docs/firmware-alignment.md|Firmware compatibility notes]] Repository links require GitHub access. Start with [[:axiom:ros2:getting_started|Install and connect]].