TrickFire Robotics
Gazebo

Adding a New Robot

How to generate ROS 2 packages from an OnShape CAD model and get a new robot running in Gazebo.

The command sim gazebo create takes a robot from OnShape and produces two ROS 2 packages. To make sure we do not hit the low OnShape API limits, requests to OnShape are routed through the dashboard that authenticates you and caches common request long-term. Authentication is required. You can do it with the following command:

Terminal
$ sim gazebo auth

Then you can create the robot using:

Terminal
$ sim gazebo create <robot_name> <onshape_url>

Flags

FlagDescription
--attach-to-worldFix base_link to the Gazebo world (stationary robots)
--no-attach-to-worldExplicitly skip - for mobile robots
--no-reduceSkip STL mesh decimation (larger files, higher detail)
--output-dir <path>Write packages somewhere other than gazebo/

Updating an existing robot

When the OnShape CAD changes, pull in the new geometry without touching your bringup config using this command:

Terminal
$ sim gazebo update arm

This replaces only arm_description/urdf/arm.urdf and arm_description/meshes/. Everything else, your control xacro edits, launch file, controller YAML, RViz config is left untouched.

Troubleshooting

On this page