Author Guidelines for 8
Total Page:16
File Type:pdf, Size:1020Kb
Rift Runner – Engineering Software for a Remotely Controlled Rover Erik Willis, Sean Saunders, Nathan Cate, Jean-Paul Muyshondt and Devon M. Simmonds, University of North Carolina Wilmington, 601 S. College Rd. 601 South College Road, Wilmington, North Carolina, 28403 { emw8872, [email protected], [email protected], jm5904, simmondsd }@uncw.edu Abstract affordable user experience. The goal of this project is to combine a video camera equipped RC vehicle with The Runner is a project based on the first-person the Oculus Rift to create an exhilarating piloting piloting of a remotely controlled rover. The rover is experience. While most of the drone technology is controlled by an Oculus Rift, a 3d immersive headset based around military uses, there are also non-military that is designed to bring users into a deep experience applications. The Miami-Dade County police of the piloting and manipulation of the vehicle. Users department, for example, tested an aerial drone in 2011 have the ability to upload and share their experiences with the aim of using the drone for aerial through the team’s web server. This paper describes a reconnaissance and suspect trailing [4]. Another drone model-based approach to the project design along that is non-military is the Curiosity Rover. On August with results and lessons learned. 6, 2012 the Mars rover Curiosity landed on the red planet. Curiosity is scheduled to spend two years Keywords: software engineering, model driven exploring Mars [5]. Our project is not intended for engineering, embedded software, UML, Remotely such serious endeavors, but simply to create controlled vehicle. entertainment value. The Rift Runner is a project designed to 1. Introduction enable the first-person piloting of a remotely controlled rover. Our main objective was to create a fun, usable, There is an entire world of radio-controlled affordable piloting experience. The rover is controlled (RC) vehicle enthusiasts that spend exorbitant sums of by an Oculus Rift, a 3d immersive headset that is time and money on this exciting hobby. Entry-level designed to bring users into a deep piloting and cars start around $120, planes from $250 - $300, but manipulating experience of the vehicle. Vehicular some planes can cost as much as $20,000[1]. Until control is achieved through the use of a gamepad while recently, piloting an RC vehicle has been a relatively the Oculus Rift controls camera motion through the static experience – stand in a field and watch the users head movements. vehicle from a distance. As technology has progressed Our biggest initial concern was the extent to the dream of piloting an RC vehicle from a first-person which we could successfully marry our various perspective has become a reality. While the technology hardware solutions into a realizable platform. During currently exists to pilot RC vehicles through video initial research we discovered that video feed latency equipment relaying an image to a monitor, the military has been a problem for similar endeavors. As such we uses such technology to pilot drones and the market designed our hardware solution to minimize this has been ripe for an affordable, first-person, 3-D latency and create a pleasant user experience. To go version. As of 2009 there were more than 5300 aerial along with the vehicle we also created a web site that drones and 12,000 ground based drones [2]. The MQ- provides a view of the video feed and enables image 1 Predator Drone costs around $4 million per unit [3], captures and video segments to be saved. A database and the MQ-9 Reaper Drone costs upwards of $12 was also implemented to track user profiles and links million per unit [3]. Enter the Oculus Rift. to the image and video storage. The Oculus Rift is a 3-D, immersive, virtual reality (VR) headset that is currently being coupled with video games to present a completely unique and 2. Background this aspect of the experience for users [12]. These updates won’t be seen in the Oculus Rift until the 2.1 Oculus Rift release of the second Developer’s kit. The currently available developer’s kit still suffers from these motion The Oculus Rift is a virtual reality head sickness inducing problems. mounted display (HMD) currently in development by Oculus VR. The device began when Palmer Luckey, a 2.2 Virtual Reality homeschooled tinkerer, decided to build his own virtual reality headset [6]. The project was originally Virtual reality is a computer-simulated setting debuted at the Electronic Entertainment Expo in 2012. that can generate an artificial physical presence either John Carmack, cofounder of id Software and creator of in the real world or abstract environments. Virtual the DOOM series, introduced the first prototype of the reality can trace its lineage back to the 1500’s when Oculus HMD [7]. Following the initial reveal at the E3 artists would create 360 panoramic scenes that would in June 2012 the company announced a Kickstarter take up entire rooms. An example of this is the Sala campaign to raise funds to continue development of the delle Prospettive, a work by Italian painter Baldassare Oculus Rift. After only four hours the company had Peruzzi [13]. It was not until 1966 that the world saw secured its initial goal of $250,000 and within thirty- its first glimpse of virtual reality when the T-27 Space six hours had raised more than $1 million [8]. The Flight Simulator was created for the U.S. Air Force Kickstarter campaign would later end having raised Aerospace program. The simulator was designed to $2,437,429 [9]. This funding was used to finance a train pilots for space research missions [14]. In 1991 developer’s kit of the Oculus Rift. This developer’s kit MIT graduate and NASA scientist Antonio Medina gave people early access to a reduced quality version developed a system to help direct Mars robots from of the final Oculus Rift but allowed game designers Earth. This system is an extension of virtual reality and other developers to begin creating and [15]. Until recently the technology for virtual reality experimenting with virtual reality environments much has been limited in quality or availability for the sooner [10]. general public. The Oculus Rift aims to change that. The Oculus Rift, or OR, simulates a purely visual experience for the user in their chosen 3. Software Design environment. As a binocular HMD it is worn on the users head and features an optic display in front of each eye. The HMD fully encompasses the user’s field of view ensuring as immersive an experience as possible. The OR uses a series of 3-axis gyroscopes, magnetometers, and accelerometers to make head orientation tracking nearly absolute in relation to the Earth. The gyroscopes track the angle of motion as the user moves their head; the accelerometers measure how quickly the HMD is moving; the magnetometers measure the gravitational pull of the Earth allowing the Oculus Rift to keep track of its own orientation with respect to “Up” and “Down” [11]. This head motion tracking is translated to the screen inside the HMD; when the user turns their head to the left the view turns with them. This feature combined with a 90 degree field of view creates a visual experience that mimics real life. Using the Oculus Rift is so immersive and fluid that many users have reported having motion sickness after less than a minute of use. This is caused by the mind thinking the body is moving but in reality the body remains stationary. This issue has been addressed by the company in a recent press release by Oculus VR CEO Brendon Iribe in which he states “It is going to work…It’s gonna work for everybody.” A Figure 1. (a) Rift Runner Rover, (b) Oculus Rift and reduction in screen shaking and latency has improved Controller the UDP link. UDP offers a fast connection, a In this project, hardware architecture preceded requirement to limit image lag in the OR, but has no software architecture and consisted of the rover (Figure guarantee of message integrity. Since the application is 1a), and the Oculus Rift and controller (Figure 1b). As pulling information from the various input devices at a Figure 1a shows, the camera is mounted at the top and rate of 50 times a second a few misplaced packets is front of the rover. not mission critical. The UDP client class packetizes all data from the main application before passing it to the UDP server. The main benefit of this architecture is that with our implementation there is a single link of communication. All data passes from the main application through the client to the server and from there to the correct hardware. The fast data transport enabled by this single, simple communication link helps to keep the latency to a minimum. While the simplicity of this link is a major asset, the fact that it is solitary (with no viable alternative) is a weakness. If this link is severed all control of the rover is lost and a system reboot is required. This is the architectural design around which this project will be based. Figure 2. Use Case Diagram The Rift Runner software was designed using a Model-Driven approach [19-21]. The design includes UML [22] use case diagram (See Figure 2), UML activity diagrams (see Figure 3), an architectural diagram (see Figure 3), and Class diagram (see Figure 4). The Use Case Diagram (Figure 2) illustrates typical actor interaction with the Rift Runner software and rover. Actors include the end User and the systems administrator who has exclusive rights to add and delete user profiles.