Race RC Cars From Anywhere On Earth

Racing games have come a long way over the years. From basic 2D sprite-based titles, they’ve evolved to incorporate advanced engines with highly realistic simulated physics that can even be used to help develop real-world automobiles. For [Surrogate.tv], that still wasn’t quite good enough, so they decided to create something more rooted in reality.

The game is played in a web browser. Players are assigned a car and view the action from a top-down camera.

Their project resulted in a racing game based on controlling real RC cars over the internet, in live races against other human opponents. Starting with a series of Siku 1:43 scale RC cars, the team had to overcome a series of engineering challenges to make this a reality. For one, the original electronics had to be gutted as the team had issues when running many cars at the same time.

Instead, the cars were fitted with ESP8266s running custom firmware. An overhead GoPro is used with special low-latency streaming software to allow players to guide their car to victory. A computer vision system is used for lap timing, and there’s even automatic charging stations to help keep the cars juiced up for hours of play.

The game is free to play online, with the races currently operating on a regular schedule. We look forward to trying our hand at a race or three, and will be interested to see how the latency holds up from various parts of the world.

We’ve seen other remote RC builds before; usually featuring the power of the Raspberry Pi. We’ve also covered useful techniques for low latency video for real-time applications. Video after the break.

Continue reading “Race RC Cars From Anywhere On Earth”

Video Streaming Like Your Raspberry Pi Depended On It

The Raspberry Pi is an incredibly versatile computing platform, particularly when it comes to embedded applications. They’re used in all kinds of security and monitoring projects to take still shots over time, or record video footage for later review. It’s remarkably easy to do, and there’s a wide variety of tools available to get the job done.

However, if you need live video with as little latency as possible, things get more difficult. I was building a remotely controlled vehicle that uses the cellular data network for communication. Minimizing latency was key to making the vehicle easy to drive. Thus I set sail for the nearest search engine and begun researching my problem.

My first approach to the challenge was the venerable VLC Media Player. Initial experiments were sadly fraught with issues. Getting the software to recognize the webcam plugged into my Pi Zero took forever, and when I did get eventually get the stream up and running, it was far too laggy to be useful. Streaming over WiFi and waving my hands in front of the camera showed I had a delay of at least two or three seconds. While I could have possibly optimized it further, I decided to move on and try to find something a little more lightweight.

Continue reading “Video Streaming Like Your Raspberry Pi Depended On It”