For outdoor robotics, one of the key capabilities for autonomous use-cases is GPS Waypoint Navigation.
If you’re unfamiliar with the term, GPS Waypoint Navigation is the ability to provide a robot with a set of GPS waypoints (i.e., a set of latitude / longitude pairs), and have the robot autonomously navigate from its current location to each of the defined waypoints. An added bonus would be not bumping into anything along the way.
This has been done in research projects and papers a number of times, but scalable hardware and software packages to enable this on production ready field robots are few and far between.
That’s why Clearpath and Veerum, with the help of a Mitacs grant, partnered with Steve Phillips, a civil engineering graduate student from the University of Waterloo. Steve’s research is a cross between mechanical and structural engineering, focusing on using mobile robots to perform infrastructure assessment and inspection. For this project with Clearpath, he’s developed a robust, repeatable GPS Waypoint Navigation system for Clearpath’s family of outdoor robots.
Over the past semester, Steve has been working away at selecting and integrating the right payload suite, perfecting the fusion of sensor data, and creating a usable interface to easily select a waypoint and send the robot on its way.
For development and testing of the GPS navigation software, Steve’s primary setup consisted of a Jackal UGV, paired with the rugged Duro GPS from Swift Navigation and the UM7 inertial measurement unit (IMU) from Redshift Labs. In addition to supporting high accuracy RTK, the Duro includes a built in Bosch BMI160 IMU and BMM150 Magnetometer. To verify that the software functions hardware agnostically, Steve and the Clearpath software team also deployed it on the much larger Warthog UGV (outfitted with a Novatel GPS and a Lord GX5-25 IMU). Running autonomy software on a 500 lb robot can be scary, so we’re glad that the system was thoroughly tested beforehand, and works perfectly!
GPS waypoint navigation consists of two key components: localization, and navigation. Localization is responsible for using the robot sensors (i.e., the UGV wheel encoders, IMU data, and gps measurements) to estimate the position of the robot. Navigation is responsible for sending the UGV wheel velocity commands which move it to the desired destination (e.g., a waypoint). By utilizing a combination of tried-and-true ROS packages, as well as some new & cutting edge navigation packages unveiled at ROSCON 2017 (see this video and this video for more information), the GPS waypoint navigation framework is robust and reliable, but also highly configurable and easily extensible to incorporate updates.
Another important component of the GPS navigation solution is the interface used to define and send waypoints, as well as visualize the robot and its environment as it navigates. In the current framework, users create (or load existing) “missions”, which are sent to the robot to initiate navigation.
A mission is defined as follows:
- Every mission is composed of a set of waypoints
- Each waypoint is defined by:
- A position (latitude, longitude, heading)
- A set of ‘viapoints’, which define the path that the robot should take to arrive at the waypoint. Viapoints are used to ensure that the robot takes the desired route between waypoints, avoiding any non-moving obstacles (like buildings) or other off-limit areas.
- A list of tasks to execute once the robot arrives at the waypoint (e.g., take a photo, collect a 3d scan, wait, etc.)
With this framework, the concept of simple point-to-point navigation has been extended to provide a solution that better meets the requirements we see in real world applications.
By using the familiar, top-down, satellite view we see in Google Maps, setting up autonomy missions for the robot is very intuitive.
APPLICATION SOFTWARE PACKAGE SUITE
While Steve was only with Clearpath for the semester, his work has become part of Clearpath’s line of application Software Packages. These packages are designed to enable autonomy and teleoperation across a number of different applications, and the GPS Waypoint Navigation stack perfectly complements the other available packages.
If you’re working on an application that could benefit from outdoor autonomy, take a look at the GPS Waypoint Navigation package, as well as the other available autonomy software.
For more information about the GPS Waypoint Navigation package, or to share some details about your own project with us, click the link below!