Being opportunists, we initially just wanted to spend our 24 hours at the hackathon playing VR games on our PCs since we had free access to an Oculus Rift (24 hours = $1000 at a typical VR arcade!). However, with all the awesome hardware laying around at the hackathon, it seemed we could do better than settling for the virtual worlds on the Oculus market. It was a trivial next step to extend our experience to the eyes of a mobile robot. We also realized that this robot can be very beneficial to those who are disabled or immobilized and cannot experience free movement outside. This robot uses virtual reality to prove a realistic experience to that person.
Systems-Level OverviewThe high-level purpose of our system is to allow users to explore unfamiliar parts of the planet, from a camera-mounted robot. With the use of the Oculus Rift, a head-mounted virtual reality device, we allow our users to be fully immersed in the robot's environment. We also offer users the opportunity to use their head motion and left thumb stick of an Xbox One controller to yaw the robot's camera, or move it forwards or backwards to explore more uncharted territories. These actuation commands are all sent to the robot wirelessly (using an Arduino Uno with a NRF chip).
There are two processing systems on the robot. First is an Arduino Uno for receiving motion commands from the PC (with a NRF receiver) and realizing them via a servo for the camera and DC motors for the wheels. Second is a Qualcomm Dragonboard 410C, which acquires images from the camera and streams them to a site via WiFi.
PreparationIn addition to the physical "Things" required for this project, you will also need a computer that can run the Oculus Runtime. In terms of software, the following are needed:
- Python 2.7.14
- Oculus Rift Software
- Arduino IDE
A list of required Python libraries can be found in the README in our GitHub repository, which is also where the microcontroller and PC-side code is available for download.
Comments