Inspiration
All of the members of the team are huge Rocket League fans, which is a game where you're able to control a vehicle that does crazy flips, tricks and maneuvers. Modern RC cars are able to perform similar tricks, but it takes a lot of time for the user to learn this stuff and it's the most user-friendly experience. What if you were able to control a car with the best tool ever, the human hand? Our goal was to build a car that can be controlled by your movement of your hand, ensuring a immersive game experience that makes cars way more fun.
What it does
There's a camera facing the user at all times, making you the controller. The car itself has 2 omnidirectional wheels, and 2 regular wheels. As your hand moves left, right, up or down, the car's four motors moves the wheels along with you! Plus, in true Rocket League fashion, if you flick your hand up, a servo motor initiates and flicks a ball in the direction the vehicle is facing!
How we built it
We used a 9V battery and a Arduino Uno to power the project, and we have two Motor Drivers powering the wheels. We 3d-printed custom omnidirectional wheels (we planned for four, but due to the snowstorm we only got two) and attached them to the front, and had two regular wheels in the back. A breadboard put it all together, and it was racked on a plastic car rack. The whole project get ignited by a camera recording of the user, where we use Mediapipe to figure out what direction the user is pointing in.
Challenges we ran into
We had a multitude of challenges we're very proud of overcoming! First off, we had issues with the STM32 board we started the project off with. The IDE was very convoluted and wasn't suitable for a 24 hour hackathon, so we switched to Arduino boards. We moved to a Arduino Nano, which took 4 hours of trial and error before we realized that the Nano board itself was faulty. We then got a Arduino Uno (thank you to the mentors!) which we were able to test the rest of the project on. When actually testing the software for the drivers, we ran into a multitude of errors, from memory errors to mistakes that saw the drivers not being utilized at all. We overcame most of these errors as a team, and learn a whole lot about hardware development in the meanwhile! We also came across a bunch of resource limitations that bogged us down. We were informed that 2 of our 4 omnidirectional wheels wouldn't be able to print. So, two of our teammates took the liberty to take the train in a snowstorm all the way to Hamilton to access their school's labs and print it. These wheels allowed us to get a good MVP of what the project should be like and brought the idea together.
Accomplishments that we're proud of
We're very proud of the fact that we were able to create a toy model car from scratch with limited resources and time. For two members of the team, this is the first time they built anything with hardware, so this was a huge learning experience for them. We're also proud of the fact that we were able to build on Arduino boards to control real hardware parts, and that we could use mediapipe to figure out real-time pose estimation.
What we learned
We learnt how to build pose estimation software for human hands, and how to connect it to a larger hardware project that moves real-world parts. We also learnt how to build a wholistic hardware project in general, where software and hardware came together in an interactive user interface.
What's next for DextraDrift
We're going to build the application properly, with all the 3d-printed parts we needed from the beginning (all 4 wheels will be omnidirectional) and with a more powerful board (STM, instead of Arduino), to hopefully bring a better user interface and experience.
Log in or sign up for Devpost to join the conversation.