-
Notifications
You must be signed in to change notification settings - Fork 146
PSVR Positional Tracking setup
###Note This guide assumes that you have followed all of the other setup guides for PSMoveService, and that you have 3 PSMove controllers, and that the tracking works properly when checking Test tracking in the config tool. We need 3 controllers because in its current form, PSMoveService cannot track the PSVR, so a 3rd PSMove has to be used for positional tracking instead.
##Step 1: Install and set-up Trinus PSVR (Steps for Trinus PSVR version 0.5.3)
Download the software at https://www.trinusvirtualreality.com/psvr/
Go through the install process, and make sure the PSVR Windows drivers are correctly installed.
Open TrinusPSVR, and check if the SteamVR drivers are installed properly. This should be done automatically. If not, there might be a problem with the Steam install path. One of the solutions might be to re-install Steam at its default location.
Make sure the PSVR is properly connected to your computer (explained in the How-to tab). Also make sure the PSVR is on (white LED on the processing unit), as Trinus PSVR cannot start the headset. If it's red, just press the power button on the PSVR cable.
Before pressing Start in the Main tab, put the PSVR on a flat surface, like the floor or a well balanced table. This is because the PSVR gyroscope has some drift which is normally corrected by the PS4 camera, but here the only thing that can be done is to sample the drift for a short while and try to compensate for it. Because of that, do not touch the headset for a couple of seconds when pressing Start. Also, note that the compensation is not perfect, and the PSVR will still have a very slow drift, usually to the left. This can be corrected by pressing Reset next to Reset view, which will take the current orientation as the new reference. It would also be a good idea to bind a keyboard key to this command, as this will be more convenient when resetting the view while in game.
At this stage, the PSVR is ready to be used with head-tracking only.
##Step 2: Install and set-up PSMove FreePIE Bridge and enable positional tracking (Steps for PSMove FreePIE Bridge version 11)
First, in Trinus PSVR, go to Advanced tab and in the text field on the right set posIndex to 0. This will tell Trinus to read the first element of the FreePIE array as positional data. The software used below will take care of putting the positional data of one of the controllers in this FreePIE array.
Make sure the FreePIE platform is installed (seems required). Download here http://andersmalmgren.github.io/FreePIE/
Download PSMove FreePIE Bridge here https://bitbucket.org/hawkinse/psmovefreepiebridge/downloads Keep the extracted files in a folder as there is no install.
When starting the program, write 1 as the number of controllers, then the id of the one you want to use (between 0 and 2 if you have 3 controllers connected), and then say no (just n) when asking if you want a custom color. Saying no will use the color that was chosen in the PSMoveService config tool, and is thus less error-prone. You can tell which controller is being used because the bulb will light up (SteamVR must not be running for the other controllers' bulb to be off). To avoid doing this every time, a .bat command can be used. Edit TrackThirdControllerExample.bat (right-click on it then Edit) and change the last line arguments to be -t (id of your PSMove) -c -1 and add a last argument -x if you want to hide the console when the program is running. If you make sure to always connect your controllers in the same order, this .bat can be used to always use the right controller in a single click.
If all went well, the 3rd PSMove is now working as a positional tracker! If it's not working, try to restart all 3 programs, and make sure the configurations of all of them are correct (following this guide and the others). Now you need to attach this controller to the PSVR or to your head. How you do it is up to you, but try to place it in a way such that the bulb is always visible from the cameras.
##Step 3: Running SteamVR
You can now run SteamVR. You should see 2 controllers in the SteamVR pannel. If you see 3, you forgot to filter the 3rd controller (check wiki). If you see none, check if positional tracking is working by putting on the PSVR and the 3rd controller. If it works, there might be a small problem with the PSMoveService-SteamVR link. Try to restart the service, or your computer, and make sure you have enabled the use of multiple drivers in steamvr.vrsettings (and check that the file is formatted properly). If even positional tracking doesn't work, PSMoveService is not working. Check if it's running and if it detects the controllers. If not, again, try to restart.
###Note
While testing is still underway, you can try to add the line "use_orientation_in_alignment" : false in the psmove_settings field in steamvr.vrsettings because this setting takes into account the fact that tracking comes from the same coordinate space than the PSMove controllers, and thus should allow for a more accurate positioning of the controllers in the VR space.