Skip to content

Software features

bastienbarthet edited this page Mar 25, 2014 · 1 revision

Onboard software

This section speaks about the software deployed into the onboard device (Raspberry Pi) mounted on the RC car.

Operating system

As one of the most common and well known operating system on the Raspberry Pi, a debian Linux distribution has been chosen to be deployed on into the onboard device.

Video broadcasting

The Raspberry Pi offers a native feature to broadcast a video using rapidvid + netcat technology. With small adjustments, these technologies will be used.

Recieve commands

A bidirectionnal communication is made between the RC car and the pilot. The onboard device is able to recieve driving analog commands such accelerate/brake and steering left/right. This feature is made by a small TCP/IP software server.

Send comands

The previously recieved commands have to be tranfered to the car in order to command it. So the previous recieve command server is able to transform into the appropriated 2.4GHz RC order, the accelerate, brake and steering command received form the pilot.

Pilot software

This section is about the pilot software used to drive the RC car (receiving vidéo and sending driving commands) and interact with the oponents (which is the funniest part of the project !!!)

Display the RC car video stream

The pilot software most important part, is to display the RC car video stream. This pilot view can be in window mode or in full size. In wondow mode, additional controls will appear such as game menu or connection menu.

Display HUD on the video stream

The funniest part of the project is located here. On the video stream, a head up display (HUD) is added as an additional layer. This HUD may display many game informations like car life points, weapon selected, ammo aviliable, connection status, and more.

Moreover, the video stream and the HUD are modified and altered when car is hit by an opponent (wind shield broken, vision blur and more).

Send driving commands

The pilot software is also used to send driving commands to the RC car. The software can manage any type of HID (keyboard, gampad, driving wheel, and more). As we use RC cars, basic driving actions are aviliable: accelerate/brake and steering left/right.

Iteractions with opponents

The funniest part of the project is here, interacting with the opponents in order to slow them down and win the race. This section shows how a pilot can hit an opponent and how the driving experience is modified by any opponent hit.

Hit an opponnent

Using his/her favourite HID (keyboard, gampad, driving wheel, and more), the pilot can use the "fire" button to activate a selected weapon. Depending on the weapon (field weapon or blast weapon) used, the target opponent may be hit or missed if out of weapon range.

Be hit

When an RC car / pilot is hit by an opponent, driving experience changes. As seen before, the HUD layout changes decreasing pilots view. Moreover, as the car is virtually damaged, accelerate/brake and steering left/right controls are also decrased.

Other features