Inspiration
We were inspired to combine microprocessors, networking, and artificial intelligence by our previous work at UTSA Advanced Robotics club.
What it does
Our project is designed for hosting tournaments between multiple reinforcement learning (RL) agents as well as for use in decentralized RL model development. The platform can also simulate man-in-the-middle cyber attacks which disrupts agents.
How we built it
The hardware consists of one central server running on a laptop and several raspberry pi's which each host a unique RL agent. Communication between components is accomplished over the local network using websockets, the server API was written in Go standard library. The RL controllers were created using a combination of OpenAI's Gym, Stable-Baselines3, and PyTorch.
Challenges we ran into
A challenge we faced was deadlocking in our network handshake and network instability. Another challenge was selecting adequate observation spaces, reward functions, and action spaces that would result in effective RL controllers.
Accomplishments that we're proud of
We're proud of the mobile integration for the man-in-the-middle attack and that we were able to get all components to operate in parallel.
What we learned
We learned how to use websockets for both Go and Python to setup our communication. We also learned to deploy RL onto raspberry pi's which we had never done before.
What's next for Rowdy Racers
The RL-on-raspberry-pi's capability will be further developed at Dr. Jin's UTSA research lab for autonomous navigation. Websockets will be ported to Halcyon.
Built With
- go
- man-in-the-middle
- networking
- python
- raspberry-pi
- reinforcement-learning

Log in or sign up for Devpost to join the conversation.