William Reid, Australian Centre for Field Robotics
This presentation summarises the development of guidance, navigation, and control (GNC) software for an actively articulated wheel-on-leg rover. The Mars Analogue Multi-Mode Traverse Hybrid (MAMMOTH) quadruped is an 85 kg robot capable of changing its footprint, clambering over obstacles and reconfiguring its posture to meet sensing and traversability objectives. Due to the complexity of the GNC problem for this vehicle, a technique for efficient software development is required. To meet this requirement, Model-Based Design has been employed to rapidly develop and validate individual GNC algorithms within the executable prototype framework of the software.
The major software components discussed include the actuator and sensor interfaces, the kinematic controller used to independently control 11 degrees of freedom, the fusion of various localisation and mapping schemes, and the motion planner used to plan efficient paths through the rover’s complex configuration space.
An RGB-D Asus Xtion sensor used for simultaneous localisation and mapping (SLAM) is implemented using the Robotics Operating System (ROS), and is interfaced to with Robotics System Toolbox™. Results from various traverses in which the rover performs SLAM are discussed. Additionally, the fusion of inertial measurement unit data, wheel odometry, and laser range-finder data into the localisation scheme are summarised.
A kinematic model of the MAMMOTH rover is formulated using recursive kinematic propagation. The model expresses the relationships between the independently and dependently driven points of actuation. Demonstrations of the rover driving its 11 degrees of freedom in both simulation and on a Mars analogue terrain are provided.
The final topic discussed is the motion planning scheme used. The Open Motion Planning Library (OMPL) is used with kinematics C++ code generated in MATLAB to produce feasible and efficient paths. Motion planning is demonstrated in a variety of simulated challenging planetary analogue environments.
MATLAB® and Simulink® have been used to facilitate the integration and validation of these individual components within software-in-the-loop, hardware-in-the-loop, and fully deployed development environments. An example workflow of the development of an actively articulated suspension technique to keep a constant body pose as the rover traverses rough terrain is summarised to highlight how each development environment is utilised.
The resulting software has enabled the demonstration of the full capabilities of a novel planetary rover exploration platform. Results from autonomous actively articulated suspension trials and autonomous digging missions are presented. The central contribution of this work is a demonstration of a rapid software development workflow for a complex robotic system.