Robotics with Edge Impulse and ROS 2

.eim deployment or a Python/Linux runner command.
What the series covers
- Setting up Linux and ROS 2 for robotics development.
- Exporting Edge Impulse models for local Linux inference.
- Publishing object-detection results as ROS 2 messages.
- Connecting perception output to robot-specific behavior nodes.
- Testing robot motion and perception separately before integrating them.
- Moving from simulation and bench tests to physical robot workflows.
Foundations and setup
Run Edge Impulse Object Detection with ROS 2
Run a Linux
.eim object-detection model on a ROS 2 image topic and publish detection messages.Robot tutorials
Run Edge Impulse Vision on a JetBot with Rubik Pi
Combine JetBot-class motor control on Qualcomm Rubik Pi with Edge Impulse object detection.
Build a Mobile Inspection System with Edge Impulse and ROS 2
Design a ROS 2-native inspection rover with detection, anomaly scoring, gimbal control, logging, and safety layers.
Run Edge Impulse Pick and Place with UNO Q Braccio
Use Edge Impulse object detection, ROS 2, and an Arduino UNO Q to sort colored blocks with a Braccio arm.
Simulation, topic classes, and what’s nextThese tutorials also work with simulated robotic arms — you can develop and test the full perception-to-motion pipeline in Gazebo before touching hardware, then point the same nodes at a physical arm by swapping the camera and joint-command topics.Across the series you work with a consistent set of ROS 2 message classes: perception input as
sensor_msgs/Image, detection and classification output as vision_msgs (Detection2DArray, Classification), model health as diagnostic_msgs/DiagnosticArray, and actuation as std_msgs, sensor_msgs/JointState, and trajectory_msgs. Learning this mapping once carries across every robot in the series.We plan to cover imitation learning for robotic arms in an upcoming tutorial, extending this detection-driven workflow toward learned, demonstration-based manipulation.Recommended path
Start with the shared Edge Impulse ROS 2 detector tutorial. It explains the.eim deployment, image-topic subscription, output topics, and runtime parameters used by the JetBot workflow and by generic inspection systems.
The UNO Q Braccio workflow uses a repo-native Edge Impulse runner pipeline instead of the shared edgeimpulse_ros .eim wrapper. Read the shared detector page for background, but follow the Braccio tutorial for the exact arm launch commands and topics.
Prerequisites
Before starting the tutorials, have the following ready:- A supported Linux development environment.
- Basic familiarity with ROS 2 nodes, topics, launch files, and workspaces.
- An Edge Impulse account and an object-detection or anomaly-detection project.
- Access to the target robot or a simulation environment for the tutorial you follow.
- Required sensors and actuators, such as a USB camera, motor controller, gimbal, or gripper.