Tweeting Race Car: Difference between revisions
(done for now) |
(Re-working LabRat1 info, start of LabRat2 info) |
||
Line 1: | Line 1: | ||
= | =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 [http://www.chumpcar.com ChumpCar] 12hr. & 6hr. race. | |||
You can see the feed here: | |||
'''Follow here [http://twitter.com/ASL_LabRat1 Twitter Feed]''' | |||
[[Image:labRat!_nose_small.jpg|thumb]] | [[Image:labRat!_nose_small.jpg|thumb]] | ||
==What it Does== | ==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=== | ===What it tweets=== | ||
Line 36: | Line 44: | ||
'''Left to right: RaceCapture, Accelerometer Module, Cellular Modem, GPS Module; Top; RGB rope Light and Mosfet board''' | '''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 | Building a tweeting race car is conceptually easy, with details that consume 80% of the work. | ||
GPS | 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: | Here's what we used: | ||
===RaceCapture=== | ===RaceCapture=== | ||
[[RaceCapture]] is our in-beta-testing Data Acquisition and | [[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=== | ===Narobo DroneCell=== | ||
For cellular network connectivity, we chose this neat module from Narobo [http://www.narobo.com Narobo]. It | 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=== | ===GPS=== | ||
Line 53: | Line 68: | ||
===RGB LED rope Light=== | ===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 PWM channels on Race Capture. | 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=== | ===Accelerometer + Gyro Module=== | ||
Line 60: | Line 75: | ||
===Firmware=== | ===Firmware=== | ||
*[http://www.freertos.com FreeRTOS] | * [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. | |||
* | |||
Revision as of 17:42, 6 November 2010
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
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 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.