Servo software, stepper hardware
The ROBOTIS OpenMANIPULATOR-X stack is a complete ROS 2 arm application, but it expects DYNAMIXEL smart servos that answer Protocol 2.0 from their Control Tables. The BCN3D Moveo is a printed arm with NEMA stepper motors and no bus at all. Porting the ROS side to every new arm is expensive, so SmartManipulator-X moves the adaptation into a controller that looks like DYNAMIXEL servos to the host.
Keep the ROS 2 stack unchanged
The SmartFusion2 answers as virtual DYNAMIXEL devices: six stepper axes (IDs 1–6), the gripper servo (ID 7) and a controller device. The simulation firmware passes the protocol conformance check, 49 of 49, on native_sim.
Develop without the arm
The Robot PC runs ros2_control with mock hardware on a Docker network that stands in for the Ethernet link; a second container checks discovery, the controllers and a trajectory over DDS.
A model from the real mechanics
The robot description is generated from the BCN3D Moveo CAD: joint axes from the axles, link lengths of 231.64, 221.12 and 223.00 mm, visual and collision meshes, the gripper linkage.
One system from MoveIt to the stepper driver
Three computers and one contract: the Robot PC with ROS 2 control, the SmartFusion2 controller with its firmware and FPGA design, and the Operator PC for planning and simulation, documented together.
Robot PC
ROS 2 Jazzy image with ros2_control, the ROBOTIS DYNAMIXEL interface and the USB link to the controller.
Virtual DYNAMIXEL firmware
Zephyr firmware on the SmartFusion2 Cortex-M3: Protocol 2.0, Control Tables, TMC5160 axes and the gripper servo.
Hardware
Hello FPGA Kit wiring, six TMC5160 driver modules, the MG996R gripper servo and power.
The shared contract
System architecture, component boundaries and the DYNAMIXEL compatibility specification, with what is verified and what is not.
Complete documentation
Guides, the Robot PC, the firmware, the hardware and the mechanics on one site, also as a PDF user manual.
Checked end to end
Smoke test over DDS for the Robot PC, protocol conformance check and motor tester GUI for the firmware.
Quick start
The Robot PC in simulation, in two commands¶
No board and no arm are needed: the Robot PC runs ros2_control with mock
hardware in Docker, on a network that stands in for the Ethernet link to the
Operator PC. A second container on the same network checks it over ROS 2 DDS.
git clone https://github.com/SystemFromScratch/sfs-smartmanipulator-x-robot.git
cd sfs-smartmanipulator-x-robot
docker compose -f docker/docker-compose.yml up --build robot_pc # terminal 1: the Robot PC
docker compose -f docker/docker-compose.yml run --rm probe smx_smoke_test.sh # terminal 2: a second host
The smoke test passes when it receives /joint_states, finds the
joint_state_broadcaster, arm_controller and gripper_controller active,
and arm_controller executes a short trajectory. In VS Code, Ctrl+Shift+B
offers the same steps as tasks (Getting started).
Find your way¶
| If you want to… | Read |
|---|---|
| Understand the system, its repositories and its current state | Overview |
| Run the Robot PC and check it from a second host | Getting started |
| Change the image, the workspace, the robot model or these docs | Development |
| Connect the Operator PC or the real controller board | Robot PC |
| See how the Robot PC, the firmware and the Operator PC fit together | System architecture |
| Check what the host expects from the virtual DYNAMIXEL devices | DYNAMIXEL compatibility |
| Build the controller firmware or test the axes | Firmware, Motor tester GUI |
| Wire the Hello FPGA Kit, the TMC5160 drivers and the servo | Hardware |
| Read everything offline or print it | PDF user manual |
SystemFromScratch®
Part of an open-source embedded portfolio
SmartManipulator-X is developed by Anton Vynohradov under SystemFromScratch® — embedded software and hardware built from the first schematic to certification.
SystemFromScratch® is a registered trademark. ROBOTIS, DYNAMIXEL and OpenMANIPULATOR are trademarks of ROBOTIS Co., Ltd.; SmartFusion2 is a trademark of Microchip Technology Inc.; SmartManipulator-X is not affiliated with or endorsed by them.