2021 Autonomous Vehicles & Navigation

Autonomous RC Rover

A robot that drives itself through three missions: navigating obstacles, docking at stations, and dropping payloads, using cameras and sensors to see and navigate.

The Challenge

Building an autonomous rover capable of navigating complex environments presented several key challenges that required innovative solutions across multiple engineering disciplines. The primary goal was to develop a system that could complete three distinct missions: navigating through obstacles, docking at specific stations, and dropping payloads at designated locations.

The rover needed reliable sensor integration for different environmental conditions, a robust control system for navigation in unstructured environments, and computer vision algorithms for path finding and April Tag detection. Additionally, it required a mechanical system that could carry payloads and operate reliably, along with a power distribution system that supported both logic and motor circuits.

Rover Mission Path

Rover Mission Path

The Solution

We developed an integrated autonomous system featuring a sensor suite with five IR sensors at different angles for wall detection, a pan/tilt turret with PiCam and two sonar sensors for environmental sensing, and a computer vision system for path finding and April Tag recognition. The solution includes a custom payload claw mechanism for object manipulation and a dual-circuit power system with separated logic and motor supplies.

The mechanical system consisted of several key components designed for modularity and functionality. A sensor suite with five IR sensors mounted at different angles (30° apart) detects walls and obstacles, while a pan/tilt turret with PiCam and two sonar sensors provides improved environmental awareness. The main body is constructed from Sentra board providing anchor points and structural support, with a payload claw mechanism featuring interlocking gear design for reliable object manipulation and enclosed battery housing to protect components from environmental conditions.

Rover Mission 2

Rover in action

How It Works

The rover featured two main circuits running in parallel. The Motors Circuit was powered by a 7.2V battery connected to an E-Stop button for safety, with power distributed between an Electronic Speed Control board and a power distribution board (PDB) connected to a PiHAT for communication with the Raspberry Pi. This circuit controlled four servos (one for steering, one for the claw, and two for the pan/tilt turret) and the main drive motor.

The Logic Circuit connected eight input devices (5 IR sensors, 2 sonar sensors, and 1 PiCam) to two Qwiic boards that provided power and communicated with the Raspberry Pi through a PiHAT connector. The PiCam connected directly to the Pi through a built-in ribbon connector, enabling real-time computer vision processing for navigation and April Tag detection.

Rover Circuit Diagram

Rover Power and Control System

Software Architecture

The control software was implemented in Python and structured around three main missions. Mission 1 (Wasteland) combined hardcoded initial turns with IR sensor-based wall approach and sonar-based wall following. The system would measure distance from the wall through sonar sensors and determine whether to turn right, left, or go straight to maintain a constant distance.

Mission 2 (Docking) used April Tag detection for intersection identification and navigation decisions. After turning at an intersection, the rover implemented color masking and path finding through image processing, analyzing each frame to identify the path and determine direction. Mission 3 (Payload Drop) combined elements from previous missions with specific payload dropping behaviors, detecting the appropriate April Tag (ID 4, 5, or 6) and approaching the payload station to release the payload when close enough.

Rover Claw

Rover Claw Mechanism

Mission Performance

Mission 1 (Wasteland) was successfully completed with the rover navigating out of the starting dock, completing a left turn and advancing toward the MAC wall, and maintaining wall-following behavior with IR and sonar sensors. The rover autonomously navigated most of the course with only one manual intervention and reached the end of the building, stopping appropriately.

Mission 2 (Docking) achieved success with the rover exiting the starting dock and navigating toward the curb, making an appropriate turn at the intersection after detecting April Tag, and using image masking for path finding along the central route. The rover recognized the docking station April Tag, initiated the docking sequence, and successfully stopped approximately 2 inches from the wall.

Mission 3 (Payload Drop) effectively followed the same path as Mission 2, correctly identifying the April Tag for the payload drop location, successfully approaching the payload box at an appropriate speed, stopping at the correct distance from the target, and successfully opening the claw mechanism to drop the payload. The project overcame several challenges including steering servo failure requiring last-minute recalibration, connectivity issues when transitioning between WiFi networks, and physical obstacles like granite blocks causing temporary path deviations.