simlrh / OSVR-fusion

An OSVR plugin that creates trackers by combining different sources of data.
MIT License
28 stars 7 forks source link

Tracker Alignment -- make permanent? #2

Open maso27 opened 7 years ago

maso27 commented 7 years ago

I'm using this with an OSVR HDK 1.4, to integrate the kinect for positional tracking.

I've found that the _osvr_resetyaw.exe alignment technique only works for the duration of the open server, then is discarded.

Is there a way that I can make my 1.7 radian adjustment to the y-axis permanent, so that I don't have to open and run this every time?

simlrh commented 7 years ago

I think you can do this in osvr_server_config, if you research how to rotate axes in there.

I'm surprised it's always the same offset though, mine's always different

simlrh commented 7 years ago

On second thought I don't think you can put transforms in this plugin's options, so I don't think it's possible to make it permanent.

The plan is to copy the code from osvr_reset_yaw into this plugin so it can do it's own alignment, but I don't have any time for VR at the moment

maso27 commented 7 years ago

Mine varies a bit, but not by more than .2 radians.

And thanks for the work you've done on this! It's really cool. Hopefully the other things that take your time are enjoyable.

I'm considering a wacky lazy hack of mounting my kinect 1.7 radians away from my monitor :)

maso27 commented 7 years ago

Update: I worked out what's needed in the osvr_server_config file to set a consistent offset.

I had to add this block after the "drivers" block:

"routes": [ {
    "destination": "/me/head",
    "source": {
        "child": {
            "changeBasis" : {
                "x" : "-x",
                "y" : "-z",
                "z" : "y"
            },
            "child" : "/com_osvr_Multiserver/OSVRHackerDevKitPrediction0/tracker/0"
        },
        "rotate" : {
            "axis" : "x",
            "degrees" : 90
        }
    },
    "postrotate" : {
        "axis" : "y",
        "radians" : 1.7
    },
    "resetYaw" : true
} ],

It's the "postrotate" piece that's important.

simlrh commented 7 years ago

I'm going to leave this open to remind me to actually add the automatic calibration