Software Integration Instructions
Prior to installing the OutdoorNav software, ensure that you have completed the relevant Hardware Kit Checklist. If installing on a secondary/backpack/Starter Kit computer, ensure to have also completed the:
All the following instructions, unless otherwise specified, are to be run on the OutdoorNav computer.
Clone OutdoorNav Repository
The following repository is required to run the instructions in the subsequent sections.
cd ~/
git clone -b 0.14.0 https://gitlab.clearpathrobotics.com/cpr-outdoornav/cpr_outdoornav_launch.git
For remote installations, please contact Clearpath Robotics customer support in order to obtain the relevant information required to proceed.
Install Docker
cd ~/cpr_outdoornav_launch/scripts/
./install_docker.sh
Configure OutdoorNav Sensors
Prior to configuring the sensors, ensure that you have measured the position (XYZ) and orientation (RPY) of each of your sensors with respect to the base_link
. See your results from the Integration Requirements.
cd ~/cpr_outdoornav_launch/scripts/
./configure_outdoornav.sh
Finalize Setup
The script in the sections below will reboot the computer it is run on.
UGV Computer
For installations of the OutdoorNav software on the UGV computer (not a secondary or Starter Kit computer), run the following:
cd ~/cpr_outdoornav_launch/scripts
sudo ./setup_computers.sh
Secondary or Starter Kit Computer
Prior to running the script on the secondary or Starter Kit computer, ensure that you have the user and IP of the UGV computer that the secondary/starter kit computer is connected to. Run the following:
cd ~/cpr_outdoornav_launch/scripts
sudo ./setup_computers.sh -b
Install OutdoorNav Software
cd ~/cpr_outdoornav_launch/scripts/
docker compose --profile outdoornav pull
If you are installing the OutdoorNav software on a secondary or Starter Kit computer, you must also complete the UGV Computer Checklist
Configure UGV Footprint
If the UGV has sensors and/or parts that protrude outside of the UGV body, then a few environment variables will need to be modified to adjust the footprint of the robot. Things that could be extending past the footprint could include but are not limited to:
- GPS antennae,
- Charging receivers,
- Arms,
- etc...
Change the environment variables from the Table below, in the following file:
cd ~/cpr_outdoornav_launch
nano outdoornav_tuning.env
Environment Variable | Description | Default |
---|---|---|
FOOTPRINT_OFFSET_POS_X | Distance from base_link to the furthest edge of any part/sensor at the front of the robot | 0.5 |
FOOTPRINT_OFFSET_NEG_X | Distance from base_link to the furthest edge of any part/sensor at the rear of the robot | -0.5 |
FOOTPRINT_OFFSET_POS_Y | Distance from base_link to the furthest edge of any part/sensor at the left of the robot | 0.35 |
FOOTPRINT_OFFSET_NEG_Y | Distance from base_link to the furthest edge of any part/sensor at the right of the robot | -0.35 |
Start OutdoorNav
cd ~/cpr_outdoornav_launch/ # directory with docker-compose.yaml
docker compose --profile outdoornav up -d
Test OutdoorNav Installation
Ping all of the network sensors to ensure proper communication with the UGV or secondary computer.
Check the following topics and make sure there is data being published to them:
rostopic echo -n 1 /platform/odom
rostopic echo -n 1 /platform/cmd_vel
# IMU 1 (if included)
rostopic echo -n 1 /sensors/imu/0/data
rostopic echo -n 1 /localization/odom
# Velodyne 1 (if included)
rostopic echo /sensors/lidar/0/pointcloud
# Velodyne 2 (if included)
rostopic echo -n 1 /sensors/lidar/1/pointcloud
# Laser Scan Front (if included)
rostopic echo -n 1 /sensors/lidar/0/scan
# Laser Scan Rear (if included)
rostopic echo -n 1 /sensors/lidar/1/scan
# Realsense D435 Front (if included)
rostopic echo -n 1 /sensors/stereo/0/pointcloud
rostopic echo -n 1 /sensors/stereo/0/depth/image_rect_raw
# Realsense D435 Rear (if included)
rostopic echo -n 1 /sensors/stereo/1/pointcloud
rostopic echo -n 1 /sensors/stereo/1/depth/image_rect_raw
Once installation is complete, you can proceed to Getting Started to start using the software.