Friday, March 25, 2011

GESTURE BASED DRIVING - VERSION 1

Concept
Use 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.

Design
There 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 Concept
Getting 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.

Results
The 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.

3 comments:

  1. coool project...appreciate your work

    ReplyDelete
  2. This comment has been removed by the author.

    ReplyDelete
  3. This is way Cool! That wrist device looks very small and comfortable for what your/it's doing.

    Nice talking to you today Troy. I'm glad you called.

    ReplyDelete