The simulation stack runs the full UR robot driver withDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/MRRP-lab/arm-demos/llms.txt
Use this file to discover all available pages before exploring further.
use_mock_hardware:=true, which replaces the real hardware interface with an internal joint-state simulator. Gazebo Harmonic renders the robot in a 3D table-world environment and bridges clock and sensor topics into ROS 2. This lets you develop, test, and visualize motion planning without connecting to the physical arm.
How mock hardware mode works
Whenuse_mock_hardware:=true, the ur_robot_driver loads a mock hardware plugin instead of communicating over the network. The plugin publishes simulated joint states and accepts joint trajectory commands exactly as the real driver would. The robot_ip is set to 0.0.0.0 because no network connection is made. headless_mode is set to false so that all standard topics and services are available for debugging.
Contrast this with real-hardware mode (launch-lan), where use_mock_hardware:=false, robot_ip:=192.168.56.101, and headless_mode:=true to connect to the physical arm.
Simulation launch steps
Build the workspace
The
sim task depends on build, so Pixi will run colcon build --symlink-install automatically if the install/ directory is out of date. You can also trigger a build explicitly:Launch Gazebo with the mock driver
Both This starts:
sim and mock are aliases for the same launch-sim task:- Gazebo Harmonic with the
table_world.sdfscene - The UR robot driver in mock hardware mode
- The
robot_state_publisherwith the Gazebo URDF - The
ros_gz_bridgeclock bridge - Joint state broadcaster and trajectory controller
Viewing the URDF
To inspect the robot description outside of a full simulation, use:urdf_tutorial display.launch.py, which opens RViz with just the robot model and a joint state publisher GUI. Useful for verifying URDF changes, checking link frames, or understanding the kinematic chain before running any controllers.
Differences from real-hardware launch
| Parameter | Simulation (launch-sim) | Real hardware (launch-lan) |
|---|---|---|
use_mock_hardware | true | false |
robot_ip | 0.0.0.0 | 192.168.56.101 |
headless_mode | false | true |
launch_dashboard_client | false | false |
use_sim_time | true | false |