Many current smart-home devices, such as automated vacuum cleaners, perform poorly without human intervention. Our team decided we would come up with a solution to this problem.
What it does
Olympus is an application for Oculus Rift that allows the user to control a real-world robot powered by Raspberry Pi. The user puts on the VR headset and is met with a coordinate grid. By touching points on the coordinate grid, the user can plan a route for their robot. Upon an activation gesture, the real-world robot will trace the route drawn by the user in real-life.
How we built it
We developed an Oculus Rift "game" through Unity; however, this game was actually just an interface for the Oculus to send signals to a real-world robot. After the user draws a route on a coordinate grid in the VR space, Unity sends information about the route to Google Firebase. The robot is powered by a Raspberry Pi and waits for the information from the Firebase database. A Python script captures changes to this database and sends information to the robot via Wifi.
Challenges we ran into
The Alphabot Development Kit (the physical robot parts) needed heavy soldering and we had to find our own soldering iron to do so. When trying to communicate with the Raspberry Pi via wifi, one of our teammates discovered a kernel bug in the Raspberry Pi OS that caused it to drop connection. We had to flash a Ubuntu operating system to work around this. It was also difficult to get the Oculus Rift drivers and software functioning.
Accomplishments that we're proud of
We are proud of getting all of our hardware functioning despite major difficulties. We are also proud of how well we worked as a team and were able to divide up the work according to our strengths. Two of our teammates worked on developing and scripting the Oculus Rift environment and the other two set up and scripted the Raspberry Pi.
What we learned
We learned how to develop for a virtual reality environment, transfer application data using a cloud platform, program a robot using a Raspberry Pi, and efficiently divide up work between a team to maximize productivity
What's next for Olympus
This application is intended to be a proof of concept. A real product could use data from a house to assist in drawing a path matching the room the robot is located in. Also, we envision the ability to design and save preset paths for the robot to follow on a schedule.