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.
Install Command-line Interface Tool (CLI)
sudo apt update
sudo apt install python3-onav-cli
Install OutdoorNav
onav install -k <license_key>
where license_key
is the license key that you have been assigned. Only one license key can be used per UGV.
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 /opt/onav/<version>/config
nano autonomy.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/Stop the OutdoorNav
To start up the OutdoorNav software run:
onav start
If you wish to start individual profiles or services, run onav start -h
to see available profiles/services.
To stop the OutdoorNav software run:
onav stop
For more information and available ONAV CLI commands, see the Terminal Interface section.
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
rostopic echo -n 1 /localization/odom
# GNSS units
rostopic echo /sensors/gps_<sensor_num>/fix
# IMU (if included)
rostopic echo -n 1 /sensors/imu_<sensor_num>/data
# Velodyne/Ouster/LMS1XX/Hokuyo/OutdoorScan (if included)
rostopic echo /sensors/lidar_<sensor_num>/pointcloud
rostopic echo /sensors/lidar_<sensor_num>/scan
# Realsense D435 Front (if included)
rostopic echo -n 1 /sensors/stereo_0/pointcloud --noarr
rostopic echo -n 1 /sensors/stereo_0/image --noarr
rostopic echo -n 1 /sensors/stereo_0/depth/image_rect_raw --noarr
# Realsense D435 Rear (if included)
rostopic echo -n 1 /sensors/stereo_1/pointcloud --noarr
rostopic echo -n 1 /sensors/stereo_1/image --noarr
rostopic echo -n 1 /sensors/stereo_1/depth/image_rect_raw --noarr
<sensor_num> will be the number of the sensor as it was loaded into the software. Eg. If you have a VLP and an LMS1XX, then the VLP will be lidar_0, and the LMS1XX will be lidar_1. If we only have an LMS1XX, then it would be lidar_0. Ie. the 3D lidars have a higher "priority" and therefore will be loaded first.
The 2D LiDARs (LMS1XX, Hokuyo) will not have a pointcloud topic.
Once installation is complete, you can proceed to Getting Started to start using the software.