Technology CajunBot Technology

Team CajunBot employs a number of different technologies and techniques to solve the problems posed in DARPA's various challenges.

Team CajunBot's Vendors

One Jeep Rubicon
LIDAR range & bearing sensors
LIDAR range & bearing sensors
GPS positioning sensors
INS positioning sensors
Eaton Vorad
Dopplar RADAR speed sensors
Website
DELL
Lab computers

Research

Much of the work on Team CajunBot involves assembling existing algorithms and theories into a single package. However we are still forced to produce new and interesting solutions to problems during the course of the Challenge. This page serves as a place for the detailed research that has gone on inside Team CajunBot.

  • C. Cavanaugh, Design and Integration of the Sensing and Control Subsystems of CajunBot, April 9, 2004 (PDF).
  • S. Golconda, Steering Control for a Skid-Steered Autonomous Ground Vehicle at Varying Speed, M.S. Thesis, February 2005 (Full thesis).
  • A. Lakhotia, S. Golconda, A. Maida, P. Mejia, A. Puntambekar, G. Seetharaman, and S. Wilson, CajunBot: Architecture and Algorithms, Journal of Field Robotics, 23 (8), 2006, 555-578, DOI: 10.1002/rob.20129, (Full paper).
  • A. Maida, S. Golconda, P. Mejia, A. Lakhotia, and C. Cavanaugh, Subgoal-based local navigation and obstacle avoidance using a grid-distance field, International Journal of Vehicle Autonomous Systems (IJVAS), 4 (2-4), 2006, pp. 122-142, (Full paper).
  • V. Venkitarakrishnan, CBWare - Distributed Middleware for Autonomous Ground Vehicles, M.S. Thesis, December 2006 (Thesis: front page, body, PPT Presentation).
  • A. Puntambekar, Terrain Mapping and Obstacle Detection for Unmanned Autonomous Ground Robots Without Sensor Stabilization, M.S. Thesis, October 18, 2006 (Full thesis, PPT Presentation).
  • Solving Urban Transit Problems using SLAM based Algorithms - December 7, 2006

RaginBot (a.k.a. CajunBot-II) Vehicle

Platform: A 2004 Jeep Wrangler Rubicon with a 4.0 liter gasoline engine and automatic transmission with 4-wheel drive.

Electronics: Ragin' Bot houses many devices to enable sensor processing and autonomous vehicle control. The CajunBot software runs on three EPIC form factor computers, each powered by a 1.8GHz Intel Pentium M processor, housed in a single 1U rackmount case. Several devices convert various serial communications to Ethernet so data can be collected by all computers in the case of a failure of one computer. A custom dual alternator system powers the vehicle and onboard electronics. Redundant DC-to-DC converters transform the alternator voltage into a form usable by the various devices. A custom electronics box (EBOX) houses emergency stop control hardware and provides a central connection for all vehicle control hardware.

Sensors: Two ibeo LIDAR sensors, three SICK LIDAR sensors and one Eaton Vorad Doppler radar detect obstacles. An Iteris lane departure warning system provides information about the position of the vehicle on the road. A C-Nav GPS receiver provides starfire differential corrections, and an an Oxford inertial navigation sensor provides Kalman filter smoothing for GPS data and motioni compensatioin via MEMS gyros and accelerometers.

Software: Custom software developed by Team CajunBot does everything from object detection to path planning. Advanced Artificial Intelligence (AI) software developed at UL Lafayette allows Ragin' Bot to pick the shortest path while avoiding obstacles.

Technology

Planning
CajunBot PlanningThe most obvious techniques that must be employed are those that allow the vehicle to decide where to go and how to get there. Over the years, we've tried a number of different ideas to convince the vehicle to travel in a useful direction and to do it safely. Some of these methods have worked well, some of them have turned into their own little nightmare. One of our earliest attempts to drive the vehicle involved using a physics inspired flow model. In this method, the vehicle would assign high values to unnavigable areas and low values to easily traversed terrain. Then the vehicle would simply attempt to "flow" through the terrain to its goal. This proved to be a useful enough model in the beginning, but with the increasingly complicated scenarios created by the later Challenges, this method started to have trouble. Our current method starts with a list of maneuvers that the vehicle is able to perform. The system then attempts to apply the simplest set of these maneuvers that will connect the vehicle's current position to its next checkpoint. At the same time the vehicle must be sure that the set of maneuvers will not perform any improper behavior, such as hitting other objects in the area. This newer method has thus far shown to be very robust at traversing normal environments, although it does have trouble when it cannot find a set of maneuvers that will allow it to accomplish its current goal.

 

Driving
CajunBot SteeringOnce a series of maneuvers has been decided upon, the vehicle must actually carry them out. This task is closely related to the platform that we are working with. As CajunBot was a six-wheeled vehicle that used skid-steering to navigate, many of the algorithms used to drive it did not transfer well to Ragin'Bot with its common car and truck design. While the exact mechanisms required to drive the two vehicles were quite different, the overall concept remains the same. How do you direct the vehicle in the requested direction and apply the appropriate speed. This means that we were able to transfer some of the algorithms that determined what needed to be done when changing platforms. The only remaining task then was to link those algorithms into the actual steering systems. This part of the task was easily done using existing formulas about vehicle motion.

 

Communication
BlackboardIn order to operate properly many different tasks have to be going on at the same time. For example, this would mean that the driving algorithms cannot have direct knowledge of what the planning algorithms are actually doing. However, the driving algorithms must still know what the planning algorithms decide, so there must be some form of communication between them. To facilitate this communication we use something similar to a personal blackboard. Each program can have one or more of these blackboards that they can write to. While any program can read from which ever blackboard it wants, it can only write to its own blackboards. This removes many of the complexities of having two programs attempting to write to the same blackboard at the same time, but can also make it hard for more than one program to collaborate to solve a problem.

 

Hardware
With both CajunBot and Ragin'Bot, hardware is everywhere. Everything that you can see about the robot is hardware, and the hardware is what ultimately gets the job done. Each of our vehicles have used different hardware to accomplish its goals, but the basic components remain the same: a vehicle, some sensors, some motors to interact with the vehicle and some computers to connect it all together. A simple enough recipe, but one that requires a lot of attention to detail to ensure that everything works together properly.

 

Looking Forward
We often start with a preexisting hardware solution and improve upon it where needed. We have adopted several system which provide a sufficiently accurate solution to the problem in most cases. These include the ibeo LIDAR sensors, the Iteris lane departure warning system and the Oxford inertial navigation system. All three of these systems provide accurate information about the vehicle and its environment. However, all three of these systems rely on well tested and known algorithms. In each case they can be improved upon by using more modern methods and state-of-the-art algorithms. While we do not expect to need all of the technology that we create for the immediate Challenge, most of it will be essential for the future Challenges and to solve the fundamental problem.

CajunBot Vehicle

Platform: A MAX 6-wheel amphibious all-terrain vehicle with a 25 hp twin-cylinder engine. Fuel capacity of 35 gallons. Top speed 30+ mph. Total weight 1,200 lbs.

Electronics: CajunBot is currently controlled by 2 high-speed AMD computers with a distributed memory system, several microcontrollers, and many custom circuits. A 2-kilowatt electric generator supplies the electrical power.

Sensors: Two scanning laser systems, three Doppler radars, and sonar help detect obstacles. C-Nav differential GPS and an Oxford inertial navigation sensor provide exact location information.

Software: Custom software developed by Team CajunBot does everything from object detection to path planning. Advanced Artificial Intelligence (AI) software developed at UL Lafayette allows CajunBot to pick the shortest path while avoiding obstacles.

Estimated Cost: $15,000 vehicle, $90,000 electronics, and $70,000 in-kind loaner equipment. Total hardware: $175,000. Not including thousands of hours of custom programming.

Additional information