CPR Gazebo is a standard catkin package collection and installs just like any other ROS workspace dependency. All eight packages live in a single repository, so one clone gives you every simulation world. The steps below walk you through cloning the repository, resolving ROS dependencies withDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/clearpathrobotics/cpr_gazebo/llms.txt
Use this file to discover all available pages before exploring further.
rosdep, building the workspace, and optionally persisting the CPR_GAZEBO_PLATFORM environment variable so your preferred robot is always selected automatically.
CPR Gazebo targets ROS Noetic and Gazebo 11. Ensure both are installed on your system before proceeding. The active branch is noetic-devel — this is the branch that will be cloned by default when you follow the instructions below.
Prerequisites
Before starting, confirm the following are in place:- ROS Noetic is installed and sourced (
source /opt/ros/noetic/setup.bash) - Gazebo 11 is installed (ships with
ros-noetic-desktop-full) - An existing catkin workspace (e.g.
~/catkin_ws) with asrc/directory
Installation Steps
Clone the repository
Clone the CPR Gazebo repository into the
src/ directory of your catkin workspace. The default branch is noetic-devel.Install ROS dependencies
Use The
rosdep to automatically install all ROS package dependencies declared by the CPR Gazebo packages. Run this from the root of your workspace.--ignore-src flag prevents rosdep from trying to install packages that already exist in your src/ tree, and -r continues past any packages that cannot be resolved on your system.Build the workspace
Build all packages with either
catkin_make (the standard catkin build tool) or catkin build (from the python3-catkin-tools package).Setting the Platform Environment Variable
TheCPR_GAZEBO_PLATFORM environment variable tells every CPR Gazebo launch file which robot to spawn when no explicit platform argument is passed on the command line. Set it once in ~/.bashrc to avoid repeating platform:=<robot> in every roslaunch call.
husky with whichever platform you use most often. Valid values are: husky, jackal, warthog, dingo, ridgeback, boxer.
Not all platforms are supported in every world. Outdoor worlds (Agriculture, Inspection, Orchard) do not support
dingo or ridgeback. The Empty world supports all six platforms. Refer to each world’s documentation page for the full list.Installed Packages
A successful build installs the following eight ROS packages, all at version 0.2.8:| Package | Version | Description |
|---|---|---|
cpr_agriculture_gazebo | 0.2.8 | Flat outdoor world with barn, fences, and solar farm |
cpr_inspection_gazebo | 0.2.8 | Hilly outdoor world with bridge, cave, water, and pipes |
cpr_office_gazebo | 0.2.8 | Indoor office and construction-variant floor plans |
cpr_obstacle_gazebo | 0.2.8 | Enclosed indoor world with non-planar ground geometry |
cpr_orchard_gazebo | 0.2.8 | Flat outdoor world with rows of trees and dirt paths |
cpr_empty_gazebo | 0.2.8 | Minimal blank world supporting all six platforms |
gazebo_race_modules | 0.2.8 | Modular road segments for assembling custom test circuits |
cpr_accessories_gazebo | 0.2.8 | Shared accessory models (charging dock, base station) |
Verifying the Installation
After sourcing your workspace, verify that the packages are visible to ROS:~/catkin_ws/devel/setup.bash has been sourced in the current terminal.