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.