Friday, March 25, 2011

GESTURE BASED DRIVING - VERSION 1

ConceptUse natural body motion to teleoperate a Pronto4 equipped vehicle. Natural motions like moving a hand clockwise would cause the vehicle to drive to the right and moving your hands backwards would apply the brake, etc. DesignThere are many ways to capture motion. We decided to first try the eZ430-Chronos development watch from Texas Instruments. It has a 3-axis accelerometer with a radio available in three frequencies: 433MHz, 868MHz, and 900Mhz. Using one or more of these watches we can capture arm motion. We will use this information to translate the arm motion into driving commands.Proof of ConceptGetting the accelerometer information from the watch is straightforward. The watch transmits the data to a USB radio that is plugged into a host computer which is registered as a serial port. A simple Python script was used to read the serial port and translate the motion into the proper commands. The commands were then transmitted via Aetheric mesh radios from the base station to the H1 using our SharedLink protocol. Rotating the wrist causes steering in that direction, moving the arm up applies brake and moving the arm down applies throttle. Buttons on the watch are used to put the vehicle in and out of modes of operation including teleop mode and engine state. Note that all this was done using the stock firmware that came shipped with the device.ResultsThe proof of concept was done quickly, taking only an afternoon to code up but the results are encouraging. Further development will include implementing a deadman switch, improved motion control and more control over the sub-functions of the vehicle like shifting.