Gigerbot
Axiom Robotics would like to introduce the "Gigerbot", a tele-operated/autonomous UGV.
I am currently working on my Master's Degree in Computer Science Information Systems, and for my final project, I am building a robot that can be controlled over the internet/network using a web application. The significance of this project is to show how web technologies can be used to control a robot from long distances. In essence, a user could log into a web page and begin driving a robot that is halfway around the world. As an added bonus, the robot will be capable of operating in an autonomous mode free from human interaction, but when a human operator needs to intervene, the robot can revert back to tele-operation control.
The robot is controlled by a unique open source architecture that I have designed and successfully implemented using Apache, MySQL, PHP, and Java. This is accompanied by a netbook sitting on a Lynxmotion Tri-Track kit that has been highly modified using SES parts, and custom plate designs, all coupled with a wireless IP camera, and Phidget Microcontrollers. Essentially, the Gigerbot is a mobile webserver capable of running on its own, or from outside directives. All of the data and operations are pushed down to the robot level, and the operator's computer does not need to do any calculations whatsoever. This allows the operator to only need a web browser to control the robot. I am also working on a way to use a Logitech gamepad to interface with the web application and control the robot using this device. I am trying to replicate a FPS (First-Person-Shooter) style interface inside a web application. As far as my research has shown, this has not been done by anyone else...
The robot has been named "Gigerbot" after H.R. Giger, one of my favorite artists who has given me inspiration for the project.
Software: As I mentioned previously, I am using Phidgets microcontrollers. After searching for months for the right controllers, I finally stumbled upon these. The Phidgets development team has been working hard over the past few years to make its product much more developer friendly. Currently, the microcontrollers in the Gigerbot can be programmed with the following languages: Adobe Director, AutoIT, C#, C/C++, Cocoa, Delphi, Flash AS3, Flex AS3, Java, LabVIEW, MATLAB, Max/MSP, Microsoft Robotics Studio, Python, REALBasic, VB 6.0, VB .NET, VB Script, Visual C/C++/Borland This gave me a lot of flexibility in designing my control structures and I finally decided on keeping my pertinent data in a MySQL database that can be controlled via PHP on the user's side, and controlled via Java on the robot side. I have designed a write/refresh architecture that constantly polls the database every 20 milliseconds to see where the user is telling the robot to go. So far the results are great considering I did not have to write an entire data concurrency application to keep all of the data fresh and accurate.
Gigerbot Specs:
Hardware Highlights:
- ASUS Eee PC 901 XP
- Zonet ZVC7630W Wireless IP Camera
- Sharp GP2D12 IR sensors
- Servo City DDT540H Pan/Tilt
- Great Planes 8-Cell 9.6V 1800mAh NiMH
- Powerstream 5 volt DC/DC converter (converts 9.6v to 5v for webcam)
- Phidget Microcontrollers
- Hitec HS-925MG
- Hitec HS-311
Lynxmotion parts:
- Multi-Purpose Sensor Housing
- Gear Head Motor
- Track - 2" Wide
- Aluminum Hex Standoffs (F/F) - 1-1/2" x 1/4"
- Track Sprocket - 6 Link
- Passive Idler Hub - 2"
- Universal Hub - 6mm
- Nylon Bushings for Track
- Aluminum Square Bars - 3.0" x 1/4"
- Steel Socket Head Screws - 5/8" x 4-40
- Steel Socket Head Screws - 1/2" x 4-40
- Steel Socket Head Screws - 3/8" x 4-40
- Steel 4-40 Washers - 5/16" x 4-40
- Steel 4-40 Nuts - 1/4" x 4-40
- Aluminum Hex Standoffs (F/F) - 1-15/16" x 1/4"
- Base Rotate Kit
Custom plates:
The chassis/tread plates were based on the Tri-Track chassis, and have been cut out of 0.1" aircraft-grade 6061-T6 aluminum alloy. I was going to go for titanium, but that would be a little too expensive.
Electronics:
I am using three microcontrollers from Phidget Microcontrollers:
Servo microcontroller: controls camera pan/tilt
Motor microcontroller: controls skid steering for two motors
Sensor microcontroller: reads data from 5 Sharp infrared sensors, turns on LEDs, and detects switch positions