Planetary Micro-Rovers with Bayesian Autonomy
Post, Mark Andrew
MetadataShow full item record
In this dissertation, we present the Beaver μrover, a 6kg solar-powered planetary rover that is designed to perform exploration missions such as the Northern Light Mars mission, as well as to extend the capabilities of modern robotics here on Earth. By developing systems from the ground up using a pragmatic design approach for modularity and expandability, commercial hardware, open-source software, and novel implementations of probabilistic algorithms, we have obtained a comprehensive set of hardware and software designs that can form the basis for many kinds of intelligent but low-cost robots. A lightweight tubular chassis that can be simply deployed protects sensors, actuators, and wiring, and a novel four-wheel independently driven and passively actuated suspension with enclosed brushless gear motors can stably handle steep slopes and low obstacles. A nanosatellite-sized electronics stack incorporates Linux or dedicated RTOS computing on the ARM architecture, highly-efficient battery charging and power conversion, MEMS and external sun sensors, a powerful hybrid motor controller, and a vision system. Separate rovers and programmable components communicate using a novel network communications architecture over synchronous serial buses and mesh network radio communications. Intelligent autonomy is made possible using probabilistic methods programmed with fixed-point arithmetic for efficiency, incorporating Kalman filters and a Bayesian network constructed both from prior knowledge and from the implicit structure of the hardware and software present and used for inference and decision-making. Navigation makes use of both external sensors and visual SLAM by using optical flow and structure-from-motion methods. Detailed descriptions and comparisons of all systems are given, and it is shown that using a basic set of sensors and the vision system, basic navigational and problem-solving tasks can be performed. Thermal vacuum testing of components is also done to validate their operation under space conditions.