Tweeting Race Car

Revision as of 05:25, 17 June 2011 by Brentp (talk | contribs) (changed name of twitter feed)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Meet our tweeting race cars

LabRat2

  • LED message board where you can tweet messages to other cars and/or spectators
  • Engine sensor reporting (temp, pressures, etc)
  • Bigger personality and more interactivity


LabRat1

LabRat1, the turbo Mazda Miata tweets autonomously while on the race track! It tested the Version 1 tweeting capabilities at Portland International Raceway during the ChumpCar 12hr. & 6hr. race.

You can see the feed here: Follow here Twitter Feed

LabRat! nose small.jpg

What it Does

LabRat1 tweets Info, statistics and commentary as it turns laps around a race course- specifically designed for endurance racing where many laps are turned and multiple driver changes occur.

What it tweets

  • Race driver change notification (via text message commands). Talks about the finished driver's stint and announces the new driver
  • Report Last lap time and lap counts by driver (Using GPS coordinates and start/finish line detection logic)
  • Report Top speed for driver and team (via GPS velocity)
  • Report peak Cornering, Acceleration, braking GForce by driver and by team (via Accelerometer)

Fun stuff

We'd thought it would be neat to make the race car a bit interactive. Here's what we've done for this race:

  • Via a twitter @mention or via direct text message it can change the color on an RGB rope light. The Rope light decorates the top of LabRat1 for night-time racing fun! This is made possible via RaceCapture programmable PWM outputs. Why?? Because its fun!!

To change the color while LabRat1 is racing, tweet at the car (or send DM) using the following format

@ASL_LabRat1 color <theColor> Where <theColor> is either red , green, blue, white, off or a RGB hex code like 7f007f

(Note, we're using twext to forward mentions to RaceCapture- this service seems a bit laggy. If we're following you, a direct message seems to work much faster!

Ingredients

RaceCapture Bench Demo

RaceCapture Bench Demonstration Left to right: RaceCapture, Accelerometer Module, Cellular Modem, GPS Module; Top; RGB rope Light and Mosfet board

How we designed it

Building a tweeting race car is conceptually easy, with details that consume 80% of the work.

Some of the challenges included:

- GPS message parsing - Robust Cell Modem communication - Not flooding Twitter with 100's of messages due to buggy code - Doing battle with the Atmel Sam7s PWM channels and other peripherials - FreeRTOS task management, including classic stack overflow issues - Uploading via SAM-BA over and over makes debugging difficult without our own bootloader

Here's what we used:

RaceCapture

RaceCapture is our in-beta-testing Data Acquisition and Control system. It has 32 channels of inputs and outputs driven by a 32 bit ARM processor. Learn More

Narobo DroneCell

For cellular network connectivity, we chose this neat module from Narobo Narobo. It communicates with RaceCapture via one of two of it's available serial ports

GPS

For GPS we're using a 32 channel 5Hz GPS smart module made by SanJose Navigation. More Info

RGB LED rope Light

From LED Light we purchased a length of RGB LED light, bodged together a Mosfet amplifer board from Radio Shack (bleah!) and connected it to 3 available PWM channels on Race Capture.

Accelerometer + Gyro Module

We're using a custom built RaceCapture#4_axis_Accelerometer_.2F_Gyro_module 3 axis accelerometer + Gyro connected to Race Capture via the SPI expansion port.

Firmware

  • FreeRTOS is a lightweight, preemptive OS that greatly simplifies firmware development by allowing you to cleanly place your modules in self-running 'tasks' - similar to conventional threads.
  • Lua Scripting Runtime: A lightweight Scripting Runtime which provides the ability to run small programs and convenient configuration script
  • 1000s of lines of Last minute, late night hacking code! (Thank you to my friend Vadim, for the critical help!) Software development consumed about one frenetic week of evening and weekend time.