Skip to main content

Documentation 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.

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 with 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 a src/ directory
If you do not have a catkin workspace yet, create one:
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws
catkin_make

Installation Steps

1

Clone the repository

Clone the CPR Gazebo repository into the src/ directory of your catkin workspace. The default branch is noetic-devel.
cd ~/catkin_ws/src
git clone https://github.com/clearpathrobotics/cpr_gazebo.git
2

Install ROS dependencies

Use rosdep to automatically install all ROS package dependencies declared by the CPR Gazebo packages. Run this from the root of your workspace.
cd ~/catkin_ws
rosdep install --from-paths src --ignore-src -r -y
The --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.
3

Build the workspace

Build all packages with either catkin_make (the standard catkin build tool) or catkin build (from the python3-catkin-tools package).
cd ~/catkin_ws
catkin_make
4

Source the workspace

After a successful build, source the workspace overlay so that ROS can find the newly built packages.
source ~/catkin_ws/devel/setup.bash
Add this line to your ~/.bashrc so the workspace is sourced automatically in every new terminal session:
echo 'source ~/catkin_ws/devel/setup.bash' >> ~/.bashrc

Setting the Platform Environment Variable

The CPR_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.
echo 'export CPR_GAZEBO_PLATFORM=husky' >> ~/.bashrc
source ~/.bashrc
Replace 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:
PackageVersionDescription
cpr_agriculture_gazebo0.2.8Flat outdoor world with barn, fences, and solar farm
cpr_inspection_gazebo0.2.8Hilly outdoor world with bridge, cave, water, and pipes
cpr_office_gazebo0.2.8Indoor office and construction-variant floor plans
cpr_obstacle_gazebo0.2.8Enclosed indoor world with non-planar ground geometry
cpr_orchard_gazebo0.2.8Flat outdoor world with rows of trees and dirt paths
cpr_empty_gazebo0.2.8Minimal blank world supporting all six platforms
gazebo_race_modules0.2.8Modular road segments for assembling custom test circuits
cpr_accessories_gazebo0.2.8Shared accessory models (charging dock, base station)

Verifying the Installation

After sourcing your workspace, verify that the packages are visible to ROS:
rospack find cpr_agriculture_gazebo
rospack find cpr_empty_gazebo
Each command should print the path to the respective package inside your workspace. If you see an error, confirm that ~/catkin_ws/devel/setup.bash has been sourced in the current terminal.

Build docs developers (and LLMs) love