Prospect 11 (2005 DARPA Grand Challenge)

Prospect Eleven was Princeton’s entry in the 2005 DARPA Grand Challenge. The vehicle was a modified GMC Canyon fitted with drive-by-wire actuators, power management electronics, networked processors, and data acquisition equipment. A stereo camera pair allowed the vehicle to perceive its surroundings, and navigation software used this information to guide the vehicle safely along its route. It was equipped with a fail-safe emergency braking system to ensure safe operation and testing. These systems allowed Prospect Eleven to drive itself without any human intervention. Prospect Eleven logged numerous autonomous miles, including the 2004 and 2005 Grand Challenge courses.

Electromechanical Systems

Prospect Eleven’s mechanical systems replaced the arms and legs of a human driver, allowing the vehicle to manipulate the steering wheel, brake pedal, and throttle.

Steering control was accomplished via direct gear connection with the steering column. An optical rotary encoder provided precise position feedback. The vehicle’s throttle was controlled electronically. The brake pedal was mechanically controlled by a custom-built linear ball-screw actuator used for autonomous operation, and a pneumatic piston for emergency braking. These were connected to the brake pedal with steel cable. The cable connection allowed a human operator to use the brake pedal even during autonomous operation. A potentiometer monitored the position of the actuator shuttle in its track. Prospect Eleven also had the ability to shift the transmission, although the necessary actuators were disabled for the Grand Challenge competition.

Computing, Infrastructure, and Electronics

Prospect Eleven used only two computers for the entirety of its processing. One computer was dedicated to on-board stereo image processing and obstacle detection, while the other computer handled the main command decisions and interfaces with the vehicle’s sensors and actuators. Both computers were custom assembled from off-the-shelf parts, and were comparable to high-end consumer PC’s. Each computer was housed in 4U rack cases, mounted in a shock-isolated rack. The vision computer, known as Prospero, contained an AMD Athlon 64 3200+ with 2GB of RAM. The command computer, called Santiago, ran an Intel Pentium 4 at 3.0GHz with 2GB of RAM. Communication between the two computers was over local ethernet through a gigabit switch. The stereo camera used an IEEE 1394 connection, while most other devices connected via Serial ports. Two wireless routers, one configured as a client and the other as an access point, allowed both computers to connect to the internet and developers to connect remotely to the computers.

A LabJack data acquisition unit handled analog and digital I/O to allow for computer interfacing with on-board electronics and sensors such as indicator lights, wheel odometry data, transmission position, brake lights and engine conditions. Power to the steering and braking motors was interfaced with a RoboteQ motor controller.

A deep-cycle battery bank and a 1500 Watt inverter/charger unit provided a steady power supply to Prospect Eleven’s onboard electronics. The system charges used the vehicle’s stock alternator while the engine is on. While parked in the garage, Prospect Eleven charged from a standard power outlet.

Software

All of the code for Prospect Eleven was written using Microsoft’s Visual Studio development environment. The C# programming language was used exclusively due to its ease of debugging and convenient component interfacing. The only exception is in the vision processing algorithms, whose speed requirements necessitated the extra optimizations of C++.