-
Notifications
You must be signed in to change notification settings - Fork 0
Software features
This section speaks about the software deployed into the onboard device (Raspberry Pi) mounted on the RC car.
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.
The Raspberry Pi offers a native feature to broadcast a video using rapidvid + netcat technology. With small adjustments, these technologies will be used.
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.
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.
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 !!!)
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.
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).
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.
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.
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.
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.