Inspiration

Robots are really cool and can offer really cool perspectives to humans - either through new points of view (e.g. under the sea or from the floor), new capabilities (idk, flying), or from distances geographically (e.g across the world)

What it does

Controlling a robot remotely isn't new; but we took an approach to make this experience as LOW LATENCY as possible. You will see this in person; it's possible to have a fun RC POV experience despite pinging through hundreds of miles of infrastructure.

How we built it

We wrote our whole low-end system in c/c++ on the first day of the hackathon making it internet-centric and building the driver control stack such that it worked nicely with fixed-update packets to update the control state.

We use websockets and webRTC to ensure super low latency control, and had to architect a whole stack for networking these packets (low-end c/c++ code for robot) to a local hotspot on an android phone, which runs a custom ubuntu installation on android phone for port tunnelling, custom endpoint setup on ngrok to terminate TLS such that we can make our websocket terminate over HTTPS securely, and then a custom front-end which pings our fixed forwarding endpoint, and then a custom realtime database to track and allocate control on google firebase.

We then hosted our front-end on Vercel @ link

Challenges we ran into

Some of our hardware displayed odd behaviour and we had to implement weird workarounds e.g. ESC dying so we wired its internal circuitry in parallel to another and weird repair or issues with motor reversal latency. Installing ubuntu on a phone for portable internet + port tunneling is incredibly goofy and we're surprised it worked as well as it did.

Accomplishments that we're proud of

DiddyBot travelled the building with no human intervention and didn't move like a bot (smooth curves, didn't stop and turn)

What we learned

How to build a great real-time robot control stack and of course DiddyBot itself.

What's next for Diddy Bot

We'll build more and set them loose around cool buildings and on the streets. We've looked at building concept frontends for remote robotics before; and the next step is to stitch this tech with our platform and then go live! The concept frontend was link

Share this project:

Updates