matzman666 / OpenVR-InputEmulator

An OpenVR driver that allows to create virtual controllers, emulate controller input, manipulate poses of existing controllers and remap buttons. A client-side library that communicates with the driver via shared-memory is also included.
GNU General Public License v3.0
722 stars 138 forks source link

Add support for motion cancellation #4

Open noorbeast opened 7 years ago

noorbeast commented 7 years ago

Motion and VR compliment each other perfectly and with quality peripherals, transducers and sound are about the ultimate seated experience.

Unfortunately the lack of a generic motion cancellation solution, subtracting the rig movement from the HMD, is the real gap, particularly for large axis movement sims: https://www.xsimulator.net/community/threads/latest-oculus-update-totally-screwed-my-tracking.9917/

It would be easy to mount VR controllers to a motion rig and have instant tracking, as they are not really needed for anything else. But there needs to be a generic way to offset the rig motion from the HMD.

The motion community would be most interested in and really grateful for a motion cancellation solution and extending the OpenVR-InputEmulator project would seem a logical possibility.

You would find plenty of willing testers with VR and 2-6+DOF motion simulators at xsimulator.net.

TripRodriguez commented 5 years ago

I will be sure that ReVive is updated and try again. Thanks!

On Sun, Dec 2, 2018 at 4:11 PM bastiuscha notifications@github.com wrote:

I had the same issue... many people have problems with save mode, since the last update. But this is self-sufficient from the input emulator. I know other people with that problem too...without that tool. For me, after a revive update, it worked again. I have no idea if it was that the reason.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/matzman666/OpenVR-InputEmulator/issues/4#issuecomment-443542446, or mute the thread https://github.com/notifications/unsubscribe-auth/AceMU6xlmPAO5ld4Kxt_alEAkmuN12-Iks5u1EIYgaJpZM4M2T90 .

bastiuscha commented 5 years ago

Oh sorry... in point of fact, i have a problem too. I thought, that it runs, but self-sufficient from the save mode issue, the input emulator give me a error message. For me it's don't work anymore too. If i press "apply" to let the tool begin work, this message is displayed: "could not set device mode: unknown error".

If you want to know my honest opinion, we can forget this tool. I don't believe that matzman666 will update that tool, every single steam vr update, for the rest of his "live".

Plus i don't think he's gonna look in here either. My last question is since 13. october unanswered. I would disable the roomtracking at all...don't need that. I sit with straps on my seat. I've already thought about it, to buy a odysee and cover simpley the cameras, to disable the roomtracking. But it's very annoying (and expensive) to do that only, because i can't disable roomtracking on my vive.

TripRodriguez commented 5 years ago

matzman666 did go quiet on comms, but he also did update the tool several times afterward so I hope he will do so again.

If matzman666 stops updating this, I hope we can find someone else with the skills to keep this alive. It is extremely beneficial to have motion compensation. I would even be willing to pay for a plugin as long as it was going to be continuously updated.

flash66 commented 5 years ago

I second that sentiment Trip. I would also be willing to throw some money at this to keep it alive. I’ve tried finding some contact information for Matzman about this prior to it being broken since we use this plugin for commercial application, but to no avail except for this thread.

-TS

On Dec 3, 2018, at 10:57 AM, TripRodriguez notifications@github.com wrote:

matzman666 did go quiet on comms, but he also did update the tool several times afterward so I hope he will do so again.

If matzman666 stops updating this, I hope we can find someone else with the skills to keep this alive. It is extremely beneficial to have motion compensation. I would even be willing to pay for a plugin as long as it was going to be continuously updated.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

TripRodriguez commented 5 years ago

@flash66 and others, apparently this fixes it!

https://github.com/matzman666/OpenVR-InputEmulator/pull/130

Scroll down a few posts to one by SplitPixl with the download link and instructions.

bastiuscha commented 5 years ago

Hey, much Thanks! It works.......for now.

rosskevin commented 5 years ago

I am actively seeking to shrink the scope and get a minimal motion cancellation project maintained with up-to-date dependencies. If you are interested in:

to support this work, please comment or contact me via email to discuss. I am not looking to get paid, but I am looking to get the right people motivated to work on the project: https://github.com/rosskevin/OpenVR-MotionCompensation, see https://github.com/rosskevin/OpenVR-MotionCompensation/issues/1

I'm an experienced developer but not with c++ for quite some time, and not with the ms tools or openvr libraries. It may be best for me to try and organize the project or pay to get the right people working on the project. @matzman666 is certainly welcome to contact me - I would love to collect support funds and pay him - but it seems like he is no longer active. Regardless, it is important functionality that many of us with motion simulators need.

TripRodriguez commented 5 years ago

Hey guys, as some of you know I've been expressing the same concerns and desires as @roskevin here. That being the case, I'm backing his initiative.

I personally do not know Kevin IRL or online, but I appreciate that someone is taking up the cause and attempting to do something about it.

If we find that we need to amass funds in advance to entice a developer I would suggest that the money be handled by someone extremely well known and well liked in the community. It's highly unlikely for such a person to risk tarnishing their reputation out of carelessness, neglect, or greed. Trust is a major factor when people are making the decision on whether or not to contribute funds. Not to put anyone on the spot, but personally I would recommend Noorbeast. That guy seems tireless in his support for the motion simulator community, and I think basically anyone who has spent much time on the xsimulator.net forums would consider him a good choice if we need someone we trust to handle our currency. Sorry Noorbeast! <3

Just so we are clear, I am not suggesting Noorbeast will develop the software, I'm suggesting that if we find we need a "treasurer" for the project I think he is one of the most widely known, reliably communicative, well liked, and longstanding members in the entire motion sim community. Of course, their is every likelihood that he won't want the job or that there may be legal concerns related to his geographical location etc. etc. so I'm not volunteering him, only suggesting that we might ask.

apointner commented 5 years ago

In! I would trust my Money to Noorbeast any time! Also i can offer to do testings for new Versions and Changes.

noorbeast commented 5 years ago

I am keen to help advance motion simulation and VR, and will help out anyway I can.

While I appreciate your kind words and trust perhaps the first key issue is not managing money, but rather resolving some clear project objectives, as there is nothing worse than someone trying to work toward an outcome but have different competing views on what to do and how to get there.

In other words @rosskevin has laid out a bit of a vision, but in my view that is not in itself a project roadmap. Goal 1 is pretty obvious, create maintainable motion cancellation, but some consideration of where to from there should be discussed, like accounting for transducers, as how you approach the first goal makes subsequent priorities easier or harder, depending on the initial decisions made.

So may I suggest kicking project ideas and priorities around a bit, particularly between people who have a passion and long term interest in the outcome.

bastiuscha commented 5 years ago

For me, that sounds good. For the last 3 month's, my rig is standing still, because i can't get the motion cancellation work anymore... i need a tool, that is actively maintained.

TripRodriguez commented 5 years ago

Makes sense to me too, my only concern is that we not get overly ambitious to the point of potentially leading to the project being discarded as a failure.

I think the biggest question right at this very moment, is where we should have this discussion. There are several active threads on the topic of motion compensation. We should probably try to do it where it has maximum visibility so that those who only casually check in once in a while will find out about our efforts.

Please remember that while I'm the type of person who likes to take initiative, and I'm pretty good at helping people communicate I am not at all knowledgeable about anything programming, engineering, or math related. Anything I say should be taken with a grain of salt. That said the following is what I personally think might be a good starting point.

1) Achieve the current level of functionality of motion compensation we have with OVRIE, but with a stripped down version that is purely motion compensation oriented, fully up to date, and built with future update considerations in mind.

2) Find a true solution to the vibration/shaker/transducer problem.

3) Make every effort to support all SteamVR compatible HMD's and tracked controllers.

4) Have someone actively maintaining the software who can make this project a priority rather than have it slip for weeks or months due to other obligations.

Now if I follow what some of you are saying, it sounds like you are indicating that the core of our current working solution will not be viable in the future and that we have to find a different way? Otherwise, I would think we would duplicate the same functionality we have now in a stripped down version that works the same way and go from there. (Edit: I'm talking about the method of injecting the modified HMD tracking, not necessarily the method of acquiring the measurements of motion sim movement.)

rosskevin commented 5 years ago

My goal is to first get a stable release, provide a resource for the community.

If there is support we'll move it to a github organization to ensure it can be maintained long term - it is not my project, but one for all. I was just waiting to see if there were support.

While it is indeed not a roadmap, we have nothing unless we have a stable basis from which to build. I have previously researched the issues with transducers (they impact me as well), but I found my effort moot if we have no motion compensation at all.

If we have significant funds, and I have already talked with two commercial entities plus other contributors, we will likely use something like https://opencollective.com/ so finances are open to everyone.

As a matter of credentials and trust, I have been an iRacing member for ten years, my github username has been established for 12(?) years and I am quite active. My github username is tied to my commercial interests, so failure of trust would be very detrimental to me. I was a core member that helped https://material-ui.com/ graduate from a single user control to a github org, from zero income to tens of thousands of dollars in income each year. As a note, we collect and distribute those funds to core members and I have never taken any income from it, nor would I from this project.

I don't particularly want to put in all this effort, but I do want to ensure I can drive my motion sim in VR for some time to come. It is important that we come together and get something done.

I have created a gitter room if anyone wants to chat: https://gitter.im/OpenVR-MotionCompensation/community#

SilentChill commented 5 years ago

I'm in !! Where do I send the money ? :D

I've been using OVIE pretty much since day one it was released.

I think making a discord channel would be better for all us motion simmers as we are all on there already pretty much.

I hope we can get the vibration problem solved as it's the biggest thing letting VR down at the moment, I've got it so its playable but that's about it not very impressive if I let someone else have a go.

Wagnard commented 5 years ago

I'm all in too. I can even code a little too to help. But for information, fixing the vibration is probably impossible without causing problems with the quality/precision of the cancellation.

Best solution atm, turn off game vibe

Lalancelot commented 5 years ago

Hello, I am interrested too. I am looking for a solution for the Pimax that is not compatible with any motion cancellation. I agree with the discord channel (and I need to get on it). I'll help the best way I can.

rosskevin commented 5 years ago

Discord created: https://discord.gg/r7krmSd

For parties interested in development or following it, please see the fork: https://github.com/rosskevin/OpenVR-MotionCompensation

and the initial issue https://github.com/rosskevin/OpenVR-MotionCompensation/issues/1

rosskevin commented 5 years ago

For transducer related information and research, please add to https://github.com/rosskevin/OpenVR-MotionCompensation/issues/3

flash66 commented 5 years ago

Pimax is most certainly compatible with motion compensation. I’ve been using it without problems for a year now. As long as steam is running and it’s selected in openvr it’s perfect. This is confirmed with both lighthouse 1.0 and 2.0.

Just to add my 2 cents here. I own 6DOF Motion www.6dofmotion.com and build 6 and 7DOF motion platforms for commercial use. I have partnered with XTAL about a year ago for Military applications in flight training. Myself and the engineers there have taken some of this source code and implemented it into the XTAL software which we have working 100% with the XTAL HMD selectable in the front end without having to enable it first in SteamVR.

It is possible we can offer a stand alone solution of this that works with all other HMD’s for motion compensation only. I have not tested this as of yet with transducers, but may just go ahead and try it out.

On Jul 20, 2019, at 10:44 AM, Lalancelot notifications@github.com wrote:

Hello, I am interrested too. I am looking for a solution for the Pimax that is not compatible with any motion cancellation. I agree with the discord channel (and I need to get on it). I'll help the best way I can.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

rosskevin commented 5 years ago

@flash66 if you are interested in development, please follow and comment at the fork https://github.com/rosskevin/OpenVR-MotionCompensation issue https://github.com/rosskevin/OpenVR-MotionCompensation/issues/1

rosskevin commented 5 years ago

Oh sorry @flash66 I misread, if you are interested in providing something standalone, we would all be in support of that. We only need one effort - just let us know here https://github.com/rosskevin/OpenVR-MotionCompensation/issues/1

Lalancelot commented 5 years ago

Pimax is most certainly compatible with motion compensation. I’ve been using it without problems for a year now. As long as steam is running and it’s selected in openvr it’s perfect. This is confirmed with both lighthouse 1.0 and 2.0.

I will have to test it again with my Pimax 8K. The last time I did, it was not working. It was doing something weard, but not motion cancellation. Maybe I was doing it wrong. Will test again someday.

TripRodriguez commented 5 years ago

Pimax is most certainly compatible with motion compensation. I’ve been using it without problems for a year now. As long as steam is running and it’s selected in openvr it’s perfect. This is confirmed with both lighthouse 1.0 and 2.0.

I will have to test it again with my Pimax 8K. The last time I did, it was not working. It was doing something weard, but not motion cancellation. Maybe I was doing it wrong. Will test again someday.

Make sure the controller/tracker being used for motion compensation is active before starting the game. I'd suggest turning the motion compensation on as well at that point just to be safe.

I'm not certain that's what caused it, but once or twice I had the motion compensation where it was going in entirely the wrong directions! I exited the game and SteamVR and did what I suggested here and it was fixed.

drwenck commented 5 years ago

Can't thank you guys enough! Managed to get VR stabilisation on the Vive (mount those trackers as rigidly as possible, and away from vibes other than the platform structure for the best effect) This link is me bashing round in iRacing on a 6DOF (Mostly crashes!) https://www.youtube.com/watch?v=z04RsM6RYXQ

TripRodriguez commented 4 years ago

I'm trying to spread the word since this topic kinda got spread all over the place:

Greetings all. For those who do not already know, we have been saved by Dschadu!

This even works without lighthouse! Confirmed working on Reverb with it's own included WMR controller mounted in front of you.

@Dirty In addition I understand there is a compatible experimental feature from FlyPT Mover to create a virtual reference controller that is 100% software based.

Motion Compensation: https://tinyurl.com/motion-compensation

I am also taking it upon myself to provide to you all a link to our modest friend Dschadu's PayPal donation link for those who wish to thank him for his awesome work in this way:

Donate: https://tinyurl.com/OVR-motion-compensation-donate