Tweeting Race Car: Difference between revisions

(Created page with "==Our tweeting Race Car== Watch this space for more details!")
 
m (changed name of twitter feed)
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
==Our tweeting Race Car==
=Meet our tweeting race cars=


Watch this space for more details!
=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 [http://www.chumpcar.com ChumpCar] 12hr. & 6hr. race.
 
You can see the feed here:
'''Follow here [http://twitter.com/ASL_LabRat Twitter Feed]'''
 
[[Image:labRat!_nose_small.jpg|thumb]]
 
==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 [http://www.twext.com 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==
[[Image:tweetingRaceCar_bench_demo.jpg|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. [[RaceCapture|Learn More]]
 
===Narobo DroneCell===
For cellular network connectivity, we chose this neat module from Narobo [http://www.narobo.com 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. [http://www.sparkfun.com/commerce/product_info.php?products_id=8266 More Info]
 
===RGB LED rope Light===
From [http://www.ledlight.com 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===
 
* [http://www.freertos.com 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.
 
* [http://www.lua.org 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.

Latest revision as of 05:25, 17 June 2011

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.