Jump to content

HOTAS VR Controller


Recommended Posts

I've seen many weird ideas that try to solve the problem of comfortably interacting with the switches and buttons in the cockpit. So this another one. 

 

I'm working on an OpenVR driver that allows the hands-free use of your regular VR controllers, so that you can keep your "Hands On Throttle And Stick" (HOTAS). 

 

The driver creates an virtual controller that takes the tracking information of your regular controller but applies an offset to the position and the orientation. The physical controller can be strapped to the back of your hand or your forearm, while the digital twin appears at the position and orientation of your hand. As you can't press the trigger or grip button of the physical controller, the virtual controller instead reacts to the left and right button of a finger mouse.

 

hotas-vr-controller.png

 

Key features:

  • You can use both controllers, one to emulate the left and the other to emulate the right hand. Both hands are free and you can hold the throttle or stick and all buttons on them are accessible. If you want to click a button in the cockpit, you just move your hand to the button in the cockpit and click on the left or right button of the finger mouse.
  • It should work with any OpenVR compatible headset and controller. As long as the physical controller is detected within SteamVR a virtual controller is created.
  • It's cheap. The total costs for me were 16€ for the pair of finger mice. For straps I'm using are "leki trigger shark strap" and zipties. They cost about 20€, but anything from ducktape to a custom made glove would work.

 

It is currenlty a proof of concept. Before I can release the driver I needs to be make it configurable to support different controller arrangements (adjustable offset, assignable buttons for trigger/grip). Be adviced that this most likely will stay a solution for enthusiast. The whole solution requires several workarounds to cross limitations of SteamVR and DCS.

 

The source code of the driver will be made available soon at: https://github.com/Copprhead/hotas-vr-controller


Edited by Copprhead
Link to post
Share on other sites

It might not be better but it's a new option to have for sure. Great work!

Win10 Pro 64-bit, i7-4770K @ 4.5 GHz, Corsair H100i, AsRock Extreme4, ASUS Strix 1080Ti OC 11GB, 32 GB DDR3 G.Skill 2400. Monitors: LG 27GL850-B27 2560x1440 + Samsung SyncMaster 2443 1920x1200, HOTAS: Warthog with Virpil WarBRD base & hegykc MFG Crosswind modded pedals, TrackIR4, Oculus Rift S.

Personal Wish List: A6 Intruder, Vietnam theater, decent ATC module, better VR performance!

Link to post
Share on other sites
6 hours ago, TimberWolf said:

Not sure how this is any better than PointCTRL?

I mean... it might be obtainable?

SYS : RYZEN 9 5950X Crosshair VIII Hero + RTX 3090 FE 32GB + TridentZ NEO 32GB 3600MHz + FireCuda 520 1TB

VR Quest2 || Index || Reverb G2 || Pimax 8KX : 1.0 DCS VR, 0.8 Steam SS, FOV 120 degrees, 75 Mhz, 8-12ms Green Steam FPS

SIM : DCS || Star Wars Squadrons || Rise of Flight || IL2 Battle of Stalingrad || Elite Dangerous || Star Citizen

PIT : VKB Gunfighter base + VKB Kosima grip || VKB F14 grip + Virpl TC50 CM3 throttle + Logitch G pedals + Pimax Leap Motion hand tracking + SimShaker feedback

Link to post
Share on other sites
5 hours ago, TimberWolf said:

Not sure how this is any better than PointCTRL?

 

I don't have PointCTRL so I can't really answer that.

 

The virtual VR controllers interacts with the cockpit just like your physical controllers does when you grab it to flip a switch. It just gets rid of the grabbing part. 

  • With the VR controller you're not pointing with your hand, instead the actual position of your hands are tracked in 3d space including the pitch, roll, yaw orientation. 
  • You see the hands moving in the cockpit.
  • Tracking is done by your VR system, so if your system uses base stations you don't have to look in the direction of your hand to use it. 
  • The only additional hardware you need is something that allows you to initiate the "trigger and "grip" action. You could use voiceattack or some buttons on throttle/stick that you can press with the opposite hand.
  • You can use both hands at the same time (maybe useful for RIOs?)

However the use of VR controllers has some drawbacks:

  • You need to have enough space around you to actually move your hand to reach all switches in the cockpit. You can't just put your throttle and stick on a table in front of you as your hand would constantly bumps into the table. Ideally your throttle and stick are located were they are in the aircraft you're flying, so they don't block your hand. 
  • In my opinion the DCS implementation of controller interaction could be improved, mainly regarding the grip and click action for two-way switches. The mouse implementation seems to be more flawless in that regard.

 

Link to post
Share on other sites

Very interesting project! Thanks for sharing!

 

9 hours ago, Copprhead said:

... needs to be make it configurable to support different controller arrangements (adjustable offset, assignable buttons for trigger/grip).

 

Do I get this right? The offset must/should be adjusted every time you "mount" the controller on your hand/arm because you might wear it a little different every time?

 

I never use my controllers in VR (o.k. I tried them once or twice), but I have to give them a try next time and try how to wear them with some comfort 😉

Link to post
Share on other sites
6 minutes ago, Kansti said:

Do I get this right? The offset must/should be adjusted every time you "mount" the controller on your hand/arm because you might wear it a little different every time?

 

It obviously depends on the strapping solution you use whether the controllers are more or less in the same place. Offset depends on the physical controller, a Index controller needs a different offset than a WMR controller. You might want to use the right physical controller on your left hand or mount it upside down. Whatever is more comfortable to wear.

 

Maybe some 3d printer parts could help there, but for the proof of concept I just used what I had available. 

 

Also having a correct offset is more like a bonus than a necessity. Your brain can quickly compensate small errors in the offset, especially as you see the 3d hand models.

It took me some days to solve the math behind the offset calculation, so at first I used it without any offset and now I have a hardcoded offset with more or less correct position but still a somewhat incorrect rotation. 

Finding the correct offset is also a bit try-and-error as you don't not the neutral position of your controllers. Some "calibration" procedure should be possible to automatically detect the correct offset.

Link to post
Share on other sites

This is a clever solution to problem we have. But I see this is a solution as well that would have very much benefitted from the tracking systems where manufacturers would have allowed to make a custom trackers and program them to work as we think. Like make a ring system where you have three IR leds, one in finger tip, one as ring and then at the knuckle, and use this three points to create the finger direction and distance. Or have just two IR leds with index finger and thumbnail position to just track two fingers tips and support "pinching" as well.

 

Interesting that it is possible to generate a false controller off-set by using real controller as tracker, but it is impossible to tap in the cameras feed and receive from there the IR leds positions. As even just a one IR LED in index finger nail would be enough to move the mouse cursor around.

 

https://www.researchgate.net/publication/228420821_Inverse_kinematic_infrared_optical_finger_tracking

 

If we get a visual indicator of the virtual off-set position, it is already a lot.

i7-8700k, 32GB 2666Mhz DDR4, 2x 2080S SLI 8GB, Oculus Rift S.

i7-8700k, 16GB 2666Mhz DDR4, 1080Ti 11GB, 27" 4K, 65" HDR 4K.

Link to post
Share on other sites
11 hours ago, Fri13 said:

If we get a visual indicator of the virtual off-set position, it is already a lot.

 

In SteamVR View you can see the physical and the virtual controller. The WMR Controllers are the physical ones, the Vive Controller is the virtual controllers with the offset.

 

SteamVRView.jpg

 

 

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...