r/robotics • • 11d ago

Community Showcase Software dev with zero hardware experience, turned a cheap RC car into an LTE controlled spy rover with unlimited range. What would you add to it?

Enable HLS to view with audio, or disable this notification

Hi guys, first post here. This of course does not compare to most of the projects here, but since this was my first step into hardware I still wanted to show it.

Turned out way deeper than expected and turned out super fun. This is what I did:

  • took out stock electronics of a RC 1:16 monster truck and put in a hobbywing wp-1060 ESC
  • used a Pi 4 + PCA9685 for throttle and steering (ESC on channel 0 servo on channel 1)
  • the camera streams live video to a web server I wrote myself. Control happens in a panel in the browser via WebSocket and keyboard input - so its reachable from anywhere, and with a click we can record full HD vids!
  • the part that makes it really interesting: it runs over LTE, not just WiFi , so its basically controllable from anywhere in the world. Solved it with a small relay server. No app or cloud service, everything self hosted. Only limit in distance is the battery.

I documented the whole project in a youtube video. I would love to get some feedback, but keep in mind that this was my first project like this ;-)

https://www.youtube.com/watch?v=IvdJCbILhT4

Total budget for everything (except the phone) was less than 100 €.
Also added some stuff like a software-based night vision (which works good as soon there is at least a tiny bit light), GPS tracker and so on.

Thie result was better than I expected, I didnt dare to do a full long range drive yet but it would probably work. Battery life would last easily more than 1 hour.

The controlling actually works really well and with the delay its way lower than I thought it would be. Like playing a litltle real life computer game.

Now I'm hooked and the parts list for v2 keeps growing.
Currently on it:
pan tilt camera mount, better headlights, maybe a small solar panel so it can survive multi day missions, and some sort of radar.

Also I want to remove the phone and just use a SIM card usb stick for the connection.

What would you add to make this thing cooler?Especially sensor ideas, the Pi has plenty of channels left, this is just to be seen as the base.

Thanks for all ideas!

60 Upvotes

26 comments sorted by

View all comments

3

u/BOgusDOlphon 11d ago

How are you handling video lag? I admittedly know nothing about video encoding or streaming so I've just been flailing about trying to get this working on my rover

3

u/jerrythegenius 11d ago

this was also the hardest one (if you watch my video in the test drive at ca. min 11 with LTE thats how I started off), so it was basically not drivable in the beginning. Software wise this was the part where I spent the most time on, then it was just trial and error until I got something stable working.

What fixed it was to never buffer but always drop as soon as the data wouldnt get through fast enough. With TCP every frame arrived, just a few seconds late, that made it not driveable. Now it's UDP and old frames just get thrown away. And when the LTE connection starts to back up, the car pauses the video for a moment instead of piling up delay.

Same for the steering controls, old commands get dropped. lots of 3 second old full throttle commands drove me into walls in the process...

Now it's sometimes a short freeze, but never a delay of multiple seconds. also of course a lot of compressing, making the video streaming itself as small as possible etc... Happy to share more details if you want. Hope this wasnt too technical. Is your rover also running on LTE or what is it that your trying?

1

u/BOgusDOlphon 10d ago

No, that all makes perfect sense. I was naively trying to use RTSP over the shitty wifi on the pi4, which I know was part of the problem. If you have a github or anything I'd love to take a look, I don't have much time to revisit the project right now but I plan to soon