OmArm One: ROS 2 Digital Twin – URDF, RViz, Gazebo Workspace & 48-Page Guide (Part 2)
Original price was: 29,00 €.0,00 €Current price is: 0,00 €.
The OmArm One as a ROS 2 digital twin that matches the real arm. The Part 2 workspace: corrected URDF/xacro model with all 12 meshes, launch files for RViz and Gazebo Harmonic, controller configuration for the simulation, an audit script that checks any URDF before you trust it, the raw CAD export for comparison, and the complete 48-page PDF guide that shows every correction with the arithmetic behind it. Joint directions, zeros and speed limits are already matched to the machine; one xacro argument switches the same model between simulation and the real hardware of Part 3.
Description
The OmArm One as a ROS 2 model that matches the machine on your bench. This is the workspace from Part 2 of the series: a URDF/xacro description of the arm with all twelve meshes, launch files for RViz and Gazebo, the controller configuration for the simulation, the audit script that checks a URDF before you trust it, and the complete written guide as a 48-page PDF.
The model is not the raw CAD export. Joint directions, zero positions and speed limits were measured and corrected against the real arm, and the guide shows every change with the arithmetic behind it, so you can repeat the process for an arm of your own. The raw export ships beside the corrected model so you can diff the two.
What’s included
omarm_one_ws — the ROS 2 workspace
- omarm_description – the package you build:
omarm.xacrowith 13 links and 12 joints,materials.xacro,omarm.ros2control,omarm.gazebo - 12 STL meshes – one per link, the same geometry as the printed parts from Part 1
- display.launch.py – RViz with the arm and a slider window: seven sliders, one per driven joint
- gazebo.launch.py – Gazebo Harmonic, empty world, the arm spawned from
/robot_description, clock bridge - ros2_controllers.yaml – arm and gripper as joint trajectory controllers plus the joint state broadcaster, ready for
ros2 control - Two RViz layouts and the bridge configuration
- check_description.py – audits an expanded URDF: tree, limits, inertias, mimic joints, ros2_control block. Exit code 0 or 1, standard library only, runs on a machine without ROS
- The raw CAD export – kept as a reference. The audit script finds 17 problems in it and none in the shipped model
OmArm-One-Digital-Twin-Guide.pdf — 48 pages
- What a digital twin is and what it is not; ROS 2 and URDF in the length you actually need
- Preparing the CAD in Fusion 360: one component per link, joints base outwards, limits, material, the pose at export
- Installing and running the free Fusion 360 URDF exporter, step by step with screenshots
- Reading the export critically: the seventeen problems, what each one does in RViz and Gazebo, and the fix
- Matching the model to the machine: which joints turn the wrong way, the two measured zero offsets, and why the correction belongs in the geometry rather than the driver
- One model, two back ends: the single xacro argument that switches between the Gazebo plugin and the hardware driver of Part 3
- RViz, Gazebo, activating the controllers, sending a trajectory, verifying the twin against the real arm
- Troubleshooting table with real symptoms, FAQ, and what Part 3 builds on this
Two ways in: take the finished package, build it and you are looking at the arm in RViz in ten minutes; or follow the guide with your own CAD and use the audit script and the corrections as the checklist for your arm.
Specifications
- 13 links, 12 joints: six revolute arm joints, a five-joint gripper with one motor, one fixed joint that bolts the base to the world
- Arm joints 0 to 180°, 5.2 rad/s, 3.5 N·m – matched to the DS3240-180 servo at 5 V
- Gripper:
Revolute 8driven 0 to 1.6 rad,Revolute 9mimics it, fingers rigid - Total mass 1284.4 g in the model against 1283 g measured on the finished arm
use_sim:=trueloads gz_ros2_control,use_sim:=falseloads the serial driver that arrives with Part 3 – same joint names, same interfaces, same limits on both sides- Ubuntu 24.04 · ROS 2 Jazzy · Gazebo Harmonic · no hardware required
Quick start
Unzip the download, copy omarm_one_ws to your home folder, then:
cd ~/omarm_one_ws colcon build --packages-select omarm_description source install/setup.bash ros2 launch omarm_description display.launch.py
gazebo.launch.py starts the physics simulation; the README in the workspace lists the three commands that activate the controllers and the one message that moves the arm.
Watch and read first
- The full written guide for this package: From Fusion 360 to a ROS 2 Digital Twin (OmArm One Part 2)
- The arm’s CAD analysis, electronics and firmware: GitHub – OmArTronics/OmArm-One
- The arm itself, CAD, firmware and both build guides: OmArm One complete package (Parts 1 + 1.5)
- Build guide (Part 1): the blog post · Game controller (Part 1.5): the blog post
- The same workflow on the smaller arm: OmArm Zero URDF tutorial
This package covers Part 2 of a 5-part series — Part 1 built the arm, Part 1.5 added a game controller, Part 3 brings ros2_control down to the real hardware and a MoveIt 2 configuration, Part 4 computer vision, Part 5 marker-free grasping. The workspace here is the one Part 3 continues from.
License
For personal, non-commercial use only. You may build on, run and modify everything in this package for your own projects. Redistribution, resale or sharing of the files (original or modified) is not permitted. The ROS 2 source in the workspace is additionally licensed under MIT, so you may build on and share that part.







Reviews
There are no reviews yet.