Collision Avoidance
Making changes to any of the following variables may decrease system safety. It is recommended that users only modify these parameters in consultation with Clearpath Robotics Support.
Changes to any of the following variables will only take effect after power cycling the UGV.
The collision avoidance feature of OutdoorNav allows our platforms to detect, replan and then navigate around any obstacles that may be present in the UGV's path. The workflow of this feature can be seen in the figure below.

The detection sensors available on the UGV will have their data filtered, if necessary into data that can be fed into the costmap(s). The costmap will then use this filtered data to generate two costmaps (local and global).
- global costmap: A large costmap (whose size gets set relative to the Waypoints of the desired mission) the replanned paths around detected obstacles.
- local costmap: A smaller costmap that is used solely for detecting potential collisions and triggering the path replanner.
Therefore, there are two components in which we can tune the behaviour of the collision avoidance feature: the sensor filters or the costmap generation. We will expand on these below.
Sensor Tuning
The following table lists the sensors that are useable with the
OutdoorNav software. The sensor drivers can be turned on/off using
these environment variables, however, the sensor will always remain
powered on. The environment variables, should be added to the
/opt/onav/<onav_version>/config/sensors.env
file, where onav_version
is the currently running version of OutdoorNav.
Environment Variable | Description | Data Type |
---|---|---|
SWIFTNAV_ENABLE_DRIVER | Enable/disable the Swiftnav Piksi/Duro ROS driver, if integrated. | bool |
UBLOX_ENABLE_DRIVER | Enable/disable the UBlox ROS driver, if integrated. | bool |
MICROSTRAIN_ENABLE_DRIVER | Enable/disable the Microstrain GX5/CV5 ROS driver, if integrated. | bool |
XSENS_ENABLE_DRIVER | Enable/disable the XSens MTI ROS driver, if integrated. | bool |
VLP_ENABLE_DRIVER | Enable/disable the Velodyne ROS driver, if integrated (front unit if more than one). | bool |
REAR_VLP_ENABLE_DRIVER | Enable/disable the Velodyne ROS driver, if integrated (rear unit if more than one). | bool |
LMS1XX_ENABLE_DRIVER | Enable/disbale the Sick LMS1XX ROS driver, if integrated (front unit if more than one). | bool |
REAR_LMS1XX_ENABLE_DRIVER | Enable/disbale the Sick LMS1XX ROS driver, if integrated (rear unit if more than one). | bool |
HOKUYO_ENABLE_DRIVER | Enable/disbale the Hokuyo ROS driver, if integrated (front unit if more than one). | bool |
REAR_HOKUYO_ENABLE_DRIVER | Enable/disbale the Hokuyo ROS driver, if integrated (rear unit if more than one). | bool |
D435_ENABLE_DRIVER | Enable/disable the Realsense ROS driver, if integrated (front unit if more than one). | bool |
REAR_D435_ENABLE_DRIVER | Enable/disable the Realsense ROS driver, if integrated (rear unit if more than one). | bool |