Explore Arduino Braccio gesture control with the SKIN wearable and ROS 2. This guide introduces an example that connects wearable input to robot commands, separating gesture interpretation from hardware control. Follow the project documentation to set up the nodes and explore a practical approach to natural interaction for robotics.
What you will build
You will connect SKIN gesture input to an Arduino Braccio through ROS 2 nodes. One node publishes the wearable’s state, another interprets gestures and sends robot commands, and a communication node connects to the arm. This modular structure lets you explore how wearable interaction can trigger physical actions and adapt the gesture-to-command logic to your project.
What you need for gesture control
- An Arduino Braccio robot arm with its controller and power supply.
- A Tactigon SKIN wearable.
- Ubuntu 24.04 with ROS 2 Jazzy.
- The Tactigon-Braccio-ROS packages from GitHub.
- The tactigon-gear and tactigon-arduino-braccio Python libraries.
How Arduino Braccio gesture control works
The wearable data node publishes SKIN state messages on /tactigon_state. A gesture control node reads these messages, interprets the gesture input and publishes commands on /braccio_command. The Braccio interface then executes the robot command and publishes movement feedback on /braccio_move_result. Keeping these stages separate makes it easier to inspect the data flow and modify the interaction logic.
Set up the ROS 2 nodes
Follow the GitHub installation instructions to install the Python dependencies, build the ROS 2 workspace and source its environment. Start the wearable data publisher, the gesture control node and the Braccio communication node in separate terminals to inspect their output. The repository also provides a launch command to start them together.
Explore and adapt the gesture commands
Review the gesture interpretation logic before running the arm, so you understand which inputs trigger each command. Braccio command messages specify target coordinates, wrist orientation and gripper state. Start with the documented example, check the configured movements and keep the robot’s working area clear. You can then adapt the mapping between recognised gestures and robot actions for your own application.
Try camera-based robot control
Explore another interaction method in our Arduino Braccio ROS 2 camera tracking guide. That example uses camera input and ArUco markers to select predefined pick-and-place actions through SHAPE.

