Log in

View Full Version : Team 1418 Oculus Rift Driver Station Interface Release


CarterFendley
14-04-2015, 21:51
http://imgur.com/byJoriy.png http://imgur.com/yeUnoDg.png

On behalf of team 1418 I am happy to announce that we are releasing our Oculus Rift VR-UI as open source software! You can download the code and precompiled binaries at https://github.com/frc1418/2015-oculus.

We also created a whitepaper that describes some of the features of the software and how the robot operator can use it to interact with our robot. The whitepaper is available as a Google Doc (https://docs.google.com/document/d/1-8BB0rzydTxpMA9buoe7J2LLSpy6g8wTbeJXNPeNb_0/).

Here is also a short video of our driver using the Oculus while stacking totes: https://www.youtube.com/watch?v=Z7iWpcFJDO4

We were disappointed when FIRST disallowed usage of Oculus Rift for competition use in 2015. As a result, development was discontinued on the software, and our Oculus interface is not as polished as we would have liked it to be. However, technologies like the Oculus Rift have huge potential in FRC, and I hope that you can see that the opportunities are endless with these types of cutting edge technologies.

Many thanks to Unity Technologies and our team members for their generous donations that made this project possible!

ilandprnce
14-04-2015, 22:05
This was actually something that I was interested in trying to accomplish after this last year as a student on team 319. ( and I'm actually pretty jealous that you guys beat me too it! ;) )

I'm defiantly going to take a look at this sometime both to see if I can learn anything from it, and because I've been dying to try messing with the rift and FRC together.

Quick question however. If this WERE allowed within FIRST, wouldn't you still run into the issue of surpassing the feild broadcast data limit (2mb/s I believe?) As the rift runs "comfortably" at 75htz?

CarterFendley
14-04-2015, 22:11
Quick question however. If this WERE allowed within FIRST, wouldn't you still run into the issue of surpassing the feild broadcast data limit (2mb/s I believe?) As the rift runs "comfortably" at 75htz?

This version of our Oculus code does not have it grabbing the robot camera. However our team found compiled binaries for a MJPG streamer that works great with the roboRIO: here (http://www.chiefdelphi.com/forums/showthread.php?p=1457264#post1457264). It will depend on what camera you use among other variables but it worked well for us.

virtuald
14-04-2015, 22:28
Quick question however. If this WERE allowed within FIRST, wouldn't you still run into the issue of surpassing the feild broadcast data limit (2mb/s I believe?) As the rift runs "comfortably" at 75htz?

The camera limit is actually 7Mb/s, and you end up with maybe 5Mb/s available for use with a camera. Despite that the Oculus has a 75Hz update rate, you don't necessarily have to update at that rate. But, it certainly is a limitation. Our thought is that the HUD element of this would be more useful, and that's why we mounted a camera on the Rift directly so the operator would be aware of their surroundings. Because there's no bandwidth limitations, the camera works pretty well and with a little more work could probably be streamed with unnoticeable latency.

cbale2000
14-04-2015, 23:37
We were disappointed when FIRST disallowed usage of Oculus Rift for competition use in 2015. As a result, development was discontinued on the software, and our Oculus interface is not as polished as we would have liked it to be. However, technologies like the Oculus Rift have huge potential in FRC, and I hope that you can see that the opportunities are endless with these types of cutting edge technologies.

Was there a specific update or Q&A response regarding this? I'm a bit curious to know the rational behind the decision to prohibit it.

virtuald
15-04-2015, 01:13
Was there a specific update or Q&A response regarding this? I'm a bit curious to know the rational behind the decision to prohibit it.

The GDC answered our Q&A question (Q365). It seems to be impossible to link directly to a question, so I've copy/pasted the full text here.


R83 says that operators are allowed to wear devices that are attached to the Operator Console. Is there any prohibition of a member of the drive team using an Oculus Rift attached to the Operator Console?

An Oculus Rift is a wearable head mounted display device, and blocks the user's true vision completely. We are conscious of the possible safety issues. The device is easily mounted and unmounted (1 second), and the drive team member will be able to see their surroundings via a camera mounted on the Rift where their eyes would normally be, and will wear safety glasses while using the device. Further steps could be taken to ensure the user's safety if required by FIRST (such as using a face shield).

Additionally, the safety manual states that "... your eyes must be clearly visible to others". We believe that having a visible camera mounted on the device meets the spirit of that requirement.


A. Thank you for doing your homework in regards to this question. Just as you are conscious of the possible safety issues, so are we. The tunnel vision caused by device restricts the wearer's ability to avoid and respond to obstacles and people around them. Also, this device does not result in the wearer's eyes being clearly visible to others,and we don't think think being able to see the camera is equivalent, as it could hinder full communication with event personnel. For these reasons, we would consider use of devices like this a safety issue and not allowed.


While we were disappointed that we would not be able to use the device in competition, I'm very proud of the work that Carter did to put the software and documentation together, as I believe this was his first experience using C# and a 3d modeling environment like Unity. As devices such as this become more prevalent, I hope we can find ways to safely allow teams to use them. It really opens up a whole new range of possibilities for interacting with a robot, and is a great way to draw students in to our program.