OSVR / OSVR-Docs

Unified documentation for the OSVR projects.
Apache License 2.0
91 stars 49 forks source link

openvr driver about overwriting vive hmd positioning and getting vive hmd gyroscope rotation data #133

Open oneday1992 opened 2 years ago

oneday1992 commented 2 years ago

Hello, I am a developer doing openvr related development, but this is my first exposure to openvr I read something about OSVR online and wanted to ask if OSVR can help me with the needs described below, and if so, is there any more detailed documentation on how to get started.

I created an openvr driver and it works fine. I have tried adding a device in the driver: TrackedDeviceClass_GenericTracker, this tracker device receives 3rd party positioning data via UDP, and overlays the positioning data with the helmet positioning data by using trackingoverrides; I don't use a base station. The problem now is:

  1. When I use trackingoverrides to override the HMD positioning, the window of the steamVR application immediately pops up a prompt box, prompting me to set the room, the error code is C200; and the VR view is not displayed on the PC. https://user-images.githubusercontent.com/39475297/148365368-d15b0e84-e2ab-449b-abc5-f1b91b94cd1f.png

I see there are some methods that say other chaperone json files can be used directly, but I don't know how to use it, can anyone tell me the details? How to unify the coordinate system in the openvr driver, and how to avoid the frequent pop-up of room settings in steamvr?

  1. I want to use the position data in the third-party positioning data in the driver (without its rotation), and then use the rotation data of the HTC VIVE helmet's own gyroscope, and combine the third-party position data with the rotation data of the HTC vive helmet's gyroscope. After fusion, I set the positioning and rotation of the helmet together, because I know its own gyro rotation data is very accurate. Is my method correct? And how to get the rotation data of HTC vive helmet gyroscope through openvr driver? Note that I do not use lighthouse base stations. I have tested a lot of examples, but all of them have the above problems, including the vive official git sample, OpenVR-driver-for-DIY, Simple-OpenVR-Driver-Tutorial and many more. Hope to get help, thanks. I asked the same question on the steam forum because I was really bothered by it for a long time, I hope to get help, thanks.

Best , Looking forward to getting a reply