Kumobot

                Group: David Yeah, Dustin Lanham, Chung-Yen Huang

 

For an in-depth description, including sourcecode and other files, click here.

Introduction:

       Our project was to design a flying autonomous robotic blimp. The blimp uses sonar to determine if there's an obstacle in front of it, and is controlled via an SSH terminal over wireless ethernet on Georgia Tech's LAWN network.

For a video of kumobot in action under manual control, click here. (Requires the XViD codec)

 

Parts of the Kumobot:

Blimp - Filled with helium gas for lift

Gumstix - Intel PX255A based microcontroller board. Used for main control systems and network functions (http://www.gumstix.com/)

OS - 2.6.18 based version of the Linux kernel for ARM processors

Sonar - MAXBotix ultrasound ranger (http://www.maxbotix.com)

Accelerometer - Used to determine acceleration in a crude form of intertial guidance -- ADXL330 3-axis accelerometer (Purchased from Sparkfun electronics)

Compass - Used for direction finding

Robostix - 8bit Atmel ATMEGA128 based microcontroller board. Interfaces with the gumstix over I2C and handles ADC conversion and output to control the motors.

 

Functionality:

Capable of navigating a preprogrammed path while avoiding obstacles. Capable of being manually controlled

 

Block diagram:

Problems encountered and solutions derived :

      Weight - Even with the small gumstix board, the system was too heavy. To solve this, we piggy-backed a second lift balloon onto the kumobot:

      DC Motor Current Draw- Since each motor draws up to 200mA of current, the board would reset if we attempted to drive it directly. So a simple circuit using a PNP BJT as a switch was installed to drive each motor directly from the battery. This prevents the motors from drawing too much current from the gumstix and causing it to reboot.
 

Future improvements:

GPS guidance (Moderate difficulty)- Much more accurate than intertial guidance, but still only gives "ballpark" range. However, this would result in added weight.

CCD Camera Module (Very difficult)- Add a small CCD camera to the blimp to allow it to take aerial photos. This would be less of a weight issue than the GPS guidance system, but it would create significant software issues in decoding the CCD's output.

Webserver status (Easy)- The gumstix comes with a small webserver preinstalled. It would be trivial to add CGI scripting to allow one to recieve status information, or perhaps even control the kumobot via a web interface. The main issue in this is that on GaTech's LAWN network, IP addresses are assigned dynamically, making hostnaming difficult.

Gyroscope Guidance (Moderate difficulty)- This would allow much more accurate determination of heading, allowing the kumobot to make more accurate turns.

Pulse Width Modulation motor control (Easy)- Currently, kumobot's motors are either full power on, or full power off. Using PWM to drive the BJT inputs would allow for greater speed control.

Reverse Motors (Very difficult)- This modifcation would allow the kumobot to make much tighter turns, as well as allow it to travel in reverse. The kumobot currently can only travel forward, and carries a large amount of inertia, preventing it from changing direction very quickly. However, this would require much more complex circuitry, which would further contribute to weight issues.