Success!! Pico motion trackers inside Vam, tracking is now fixed !!! (two part guide)

kennyc260

New member
Messages
13
Reactions
4
Points
3
the first part of this guide is aiming at fixing detection of pico trackers inside vam, or ANY openvr SteamVR game,
another part which will extend this guide will add more information beneficial for troubleshooting pico trackers or any other tracking system not detected in Vam. (second part in progress)

8 points tracking working./ all you have to do is put some files in some folders.
/////////////////////////////

this guide was made using:
+ pico 4 (standard) firmware 5.11
+ pico tracker app ver. 2.0.1 (2.0.1 is the native/system version wich was downgraded from 2.0.2 for compatibility with DK tracker/ which is not needed if you have 2024 trackers)

+ DK tracker ::aka:: beta motion trackers (not the new 2024 trackers ::aka:: trackers 2.0, but they should work)
+ pico connect 10.2.7

the main operation is to restore/reconstruct missing files/folder in pico connect folder,
or construct them manually copy/paste.

go to pico connect folder
"C:\Program Files\PICO Connect\openvr_driver\resources\input\"
open with notepad: "pico_tracker_profile.json"
(the "tracker types" block/struct should look like this don't change anything, what it does say that steamvr is looking for variable path "ressources" which is {pico} in this instance)

"tracker_types": {
"TrackerRole_Waist": "{pico}/input/swift/pico_tracker_waist_profile.json",
"TrackerRole_LeftKnee": "{pico}/input/swift/pico_tracker_left_knee_profile.json",
...................................this is an example........... don't copy..................
"TrackerRole_Chest": "{pico}/input/swift/pico_tracker_chest_profile.json",
"TrackerRole_LeftElbow": "{pico}/input/swift/pico_tracker_left_elbow_profile.json",
"TrackerRole_RightElbow": "{pico}/input/swift/pico_tracker_right_elbow_profile.json"
},

in my case the swift folder was missing ("C:\Program Files\PICO Connect\openvr_driver\resources\input\swift")



next, if it's missing, create the 'swift' folder. (C:\Program Files\PICO Connect\openvr_driver\resources\input\swift)

inside the swift folder should look like this, with basic tracking points.
C:\Program Files\PICO Connect\openvr_driver\resources\input\swift\legacy_bindings_vive_tracker_handed.json
C:\Program Files\PICO Connect\openvr_driver\resources\input\swift\pico_tracker_chest_profile.json
C:\Program Files\PICO Connect\openvr_driver\resources\input\swift\pico_tracker_left_foot_profile.json
C:\Program Files\PICO Connect\openvr_driver\resources\input\swift\pico_tracker_left_shoulder_profile.json
C:\Program Files\PICO Connect\openvr_driver\resources\input\swift\pico_tracker_right_foot_profile.json
...................... list is incomplete..............................etc.................

now if you want you can create those files here is an example: of chest profile.json
{
"jsonid" : "input_profile",
"controller_type": "vive_tracker_chest",
"input_bindingui_mode" : "single_device",
"input_bindingui_right" :
{
"image": "{htc}/icons/vive_tracker.svg"
},
"input_source" :
{
"/input/power" : {
"type" : "button",
"order" : 1,
"binding_image_point" : [ 90, 80 ]
},
"/pose/raw" : {
"type" : "pose",
"binding_image_point" : [ 100, 90 ]
}
}
}

construct and rename manually the required json files inside swift folder,
or just download the attached json files.

i attached everything please observe the path and update accordingly to the location of you instal folders.

"C:\Program Files\PICO Connect\openvr_driver\resources\input\swift\legacy_bindings_vive_tracker_handed.json"
"C:\Program Files\PICO Connect\openvr_driver\resources\input\swift\pico_tracker_camera_profile.json"
"C:\Program Files\PICO Connect\openvr_driver\resources\input\swift\pico_tracker_chest_profile.json"
"C:\Program Files\PICO Connect\openvr_driver\resources\input\swift\pico_tracker_keyboard_profile.json"
"C:\Program Files\PICO Connect\openvr_driver\resources\input\swift\pico_tracker_left_foot_profile.json"
"C:\Program Files\PICO Connect\openvr_driver\resources\input\swift\pico_tracker_left_knee_profile.json"
"C:\Program Files\PICO Connect\openvr_driver\resources\input\swift\pico_tracker_left_shoulder_profile.json"
"C:\Program Files\PICO Connect\openvr_driver\resources\input\swift\pico_tracker_right_foot_profile.json"
"C:\Program Files\PICO Connect\openvr_driver\resources\input\swift\pico_tracker_right_knee_profile.json"
"C:\Program Files\PICO Connect\openvr_driver\resources\input\swift\pico_tracker_right_shoulder_profile.json"
"C:\Program Files\PICO Connect\openvr_driver\resources\input\swift\pico_tracker_waist_profile.json"
"C:\Program Files\PICO Connect\openvr_driver\resources\input\swift\vive_tracker_handed_profile.json"
"C:\Program Files\PICO Connect\openvr_driver\resources\input\pico_tracker_profile.json"
"G:\xr\VaM\Assets\VaMAssets\SteamVR_Bindings\actions.json"
"G:\xr\VaM\Assets\VaMAssets\SteamVR_Bindings\binding_holographic_hmd.json"
"G:\xr\VaM\Assets\VaMAssets\SteamVR_Bindings\binding_rift.json"
"G:\xr\VaM\Assets\VaMAssets\SteamVR_Bindings\binding_vive.json"
"G:\xr\VaM\Assets\VaMAssets\SteamVR_Bindings\binding_vive_cosmos.json"
"G:\xr\VaM\Assets\VaMAssets\SteamVR_Bindings\binding_vive_pro.json"
"G:\xr\VaM\Assets\VaMAssets\SteamVR_Bindings\binding_vive_tracker_camera.json"
"G:\xr\VaM\Assets\VaMAssets\SteamVR_Bindings\binding_vive_tracker_chest.json"
"G:\xr\VaM\Assets\VaMAssets\SteamVR_Bindings\binding_vive_tracker_keyboard.json"
"G:\xr\VaM\Assets\VaMAssets\SteamVR_Bindings\binding_vive_tracker_left_foot.json"
"G:\xr\VaM\Assets\VaMAssets\SteamVR_Bindings\binding_vive_tracker_left_shoulder.json"
"G:\xr\VaM\Assets\VaMAssets\SteamVR_Bindings\binding_vive_tracker_right_foot.json"
"G:\xr\VaM\Assets\VaMAssets\SteamVR_Bindings\binding_vive_tracker_right_shoulder.json"
"G:\xr\VaM\Assets\VaMAssets\SteamVR_Bindings\binding_vive_tracker_waist.json"
"G:\xr\VaM\Assets\VaMAssets\SteamVR_Bindings\bindings_holographic_controller.json"
"G:\xr\VaM\Assets\VaMAssets\SteamVR_Bindings\bindings_knuckles.json"
"G:\xr\VaM\Assets\VaMAssets\SteamVR_Bindings\bindings_oculus_touch.json"
"G:\xr\VaM\Assets\VaMAssets\SteamVR_Bindings\bindings_vive_controller.json"
"G:\xr\VaM\Assets\VaMAssets\SteamVR_Bindings\bindings_vive_cosmos_controller.json"

//////////////////////////////////////////////////////////////////////

now for the testing, turn off steamvr and steam, start of clean.


with you pico 4s/ultra heaset on,
pair your trackers & calibrate your trackers,
connect to pico connect server from headset,
launch steamvr from headset,
they should appear in steamvr's list of devices as green/blue boxes,
once you are inside steamvr landscape you should see them tracking/moving as white square boxes,
assign for a start just 3 points trackers in steamvr overlay (chest/left foot/right foot leave the rest disabled for now),
restart steamvr after reassignements,
from steamvr overlay desktop view launch vam preferrably from openvr.bat,
if this is successfull you should see the tracker white/grey boxes inside vam right away,

UPDATE 2: please redownload all updated files

this guide is about detection, please do your tests and report back, thx.
you can return and reassign trackers and test other configurations to look for what is working and what is not working correctly,

to have 8 trackers assign the follwoing in steamvr tracker manager:
feet > feet
camera. & keyboard. > knees
waist > waist
chest > chest
shoulders > elbows

then with embody plugin run the wizard, align the nodes.... from that point on i can't help you out i don't have much experience with embody .. this guide is only aimed at detection.
the second part of the guide will be more detailed about how steamvr operate to initiate trackers in steamvr install folders and configuration files...of course to the extent of my knowledge.

rejoice now pico users !! you have unlocked the access to cheap standard tracking inside vam,
of course if you are an experience user you can do much more with hybrid tracking. maybe object tracking capabilities of pico motion tracker can find new uses :)

to all the friends from owomushi discord channel, thx for assisting me.
 

Attachments

  • Screenshot_com.picovr.picostreamassistant_2024.09.26-17.12.19.867_263.jpeg
    Screenshot_com.picovr.picostreamassistant_2024.09.26-17.12.19.867_263.jpeg
    719.6 KB · Views: 0
  • Screenshot_com.picovr.picostreamassistant_2024.09.26-20.55.21.937_746.jpeg
    Screenshot_com.picovr.picostreamassistant_2024.09.26-20.55.21.937_746.jpeg
    615.2 KB · Views: 0
  • pico_tracker_profile.json
    2.6 KB · Views: 0
  • legacy_bindings_vive_tracker_handed.json
    6.3 KB · Views: 0
  • pico_tracker_camera_profile.json
    2.2 KB · Views: 0
  • pico_tracker_chest_profile.json
    462 bytes · Views: 0
  • pico_tracker_keyboard_profile.json
    2.3 KB · Views: 0
  • pico_tracker_left_shoulder_profile.json
    470 bytes · Views: 0
  • pico_tracker_left_knee_profile.json
    466 bytes · Views: 0
  • pico_tracker_left_foot_profile.json
    466 bytes · Views: 0
  • pico_tracker_right_foot_profile.json
    467 bytes · Views: 0
  • pico_tracker_right_knee_profile.json
    467 bytes · Views: 0
  • pico_tracker_right_shoulder_profile.json
    471 bytes · Views: 0
  • pico_tracker_waist_profile.json
    462 bytes · Views: 0
  • vive_tracker_handed_profile.json
    1.4 KB · Views: 0
  • actions.json
    6.3 KB · Views: 0
  • binding_holographic_hmd.json
    671 bytes · Views: 0
  • binding_rift.json
    649 bytes · Views: 0
  • binding_vive_cosmos.json
    663 bytes · Views: 0
  • binding_vive.json
    649 bytes · Views: 0
  • binding_vive_pro.json
    657 bytes · Views: 0
  • binding_vive_tracker_camera.json
    401 bytes · Views: 0
  • binding_vive_tracker_chest.json
    398 bytes · Views: 0
  • binding_vive_tracker_keyboard.json
    407 bytes · Views: 0
  • binding_vive_tracker_left_shoulder.json
    422 bytes · Views: 0
  • binding_vive_tracker_left_foot.json
    410 bytes · Views: 0
  • binding_vive_tracker_right_foot.json
    413 bytes · Views: 0
  • binding_vive_tracker_right_shoulder.json
    425 bytes · Views: 0
  • bindings_knuckles.json
    12.2 KB · Views: 0
  • bindings_holographic_controller.json
    10.1 KB · Views: 0
  • binding_vive_tracker_waist.json
    398 bytes · Views: 0
  • bindings_oculus_touch.json
    7.4 KB · Views: 0
  • bindings_vive_controller.json
    11.3 KB · Views: 0
  • bindings_vive_cosmos_controller.json
    7.4 KB · Views: 0
Last edited:
If you want to make a guide, do so at Resources > Free > Guides so that it can be found more easily.
Once you do, let me know and I'll add a link to it in the Wiki Guides lists.
 
Thanks a lot, you're awesome!!

Howver, can you upload the files with changes to enable both knees also.

I did try changing json to this:
"tracker_types": {
"TrackerRole_Waist": "{pico}/input/swift/pico_tracker_waist_profile.json",
"TrackerRole_Keyboard": "{pico}/input/swift/vive_tracker_left_knee_profile.json",
"TrackerRole_Camera": "{pico}/input/swift/vive_tracker_right_knee_profile.json",
"TrackerRole_LeftFoot": "{pico}/input/swift/pico_tracker_left_foot_profile.json",
"TrackerRole_RightFoot": "{pico}/input/swift/pico_tracker_right_foot_profile.json",
"TrackerRole_LeftShoulder": "{pico}/input/swift/pico_tracker_left_shoulder_profile.json",
"TrackerRole_RightShoulder": "{pico}/input/swift/pico_tracker_right_shoulder_profile.json",
"TrackerRole_Chest": "{pico}/input/swift/pico_tracker_chest_profile.json",
"TrackerRole_LeftElbow": "{pico}/input/swift/pico_tracker_left_elbow_profile.json",
"TrackerRole_RightElbow": "{pico}/input/swift/pico_tracker_right_elbow_profile.json"
BUT knees wont show up in VaM at all. What should I do to fix? Give dummy instructions pls or the files :)
 
you don't have to change anything,
just assigne
left knee > to left shoulder
right knee > to right shoulder
in steamvr tracker manager.

ps: pleaes don't change "pico_tracker_profile.json"

this seems to work but not sure if this is the correct way..

Screenshot_com.picovr.picostreamassistant_2024.09.26-20.56.16.474_286.jpeg
 
Last edited:
i am working on getting camera and keyboard trackers to show up in vam, please use shoulders for knees as of now..
 
you don't have to change anything,
just assigne
left knee > to left shoulder
right knee > to right shoulder
in steamvr tracker manager.

ps: pleaes don't change "pico_tracker_profile.json"
enjoy :)

View attachment 413614
But then my elbows disappear: I want to have 8 points tracked, which is VaM's maximum: feet (ankles), knees, elbows, waist and chest.
 
i need to rethink the logic behind this please give time... i think that forcing shoulder for knees is a mistake.. please leave them empty for now.. what makes the knees should be either 'real knee IK skeleton' or free tracker not bound to IK skeleton.. maybe there is a limitation to this.. i just posted about detection.. three point tracking or four points tracking should be correct .. waist chest feet are ok for now..
 
please if you test report back you experience, i can't fully test this i don't have the new trackers they are a bit different not the same tracking points.. i am sure this will allow other games to be compatible..
 
please if you test report back you experience, i can't fully test this i don't have the new trackers they are a bit different not the same tracking points.. i am sure this will allow other games to be compatible..
Did you edit the 1st message? What was changed, what can we test and how?
 
the first part of this guide is aiming at fixing detection of pico trackers inside vam, or ANY openvr SteamVR game,
another part which will extend this guide will add more information beneficial for troubleshooting pico trackers or any other tracking system not detected in Vam. (second part in progress)

/////////////////////////////

this guide was made using:
+ pico 4 (standard) firmware 5.11
+ pico tracker app ver. 2.0.1 (2.0.1 is the native/system version wich was downgraded from 2.0.2 for compatibility with DK tracker/ which is not needed if you have 2024 trackers)

+ DK tracker ::aka:: beta motion trackers (not the new 2024 trackers ::aka:: trackers 2.0, but they should work)
+ pico connect 10.2.7

the main operation is to restore/reconstruct missing files/folder in pico connect folder,
or construct them manually copy/paste.

go to pico connect folder
"C:\Program Files\PICO Connect\openvr_driver\resources\input\"
open with notepad: "pico_tracker_profile.json"
(the "tracker types" block/struct should look like this don't change anything, what it does say that steamvr is looking for variable path "ressources" which is {pico} in this instance)



in my case the swift folder was missing ("C:\Program Files\PICO Connect\openvr_driver\resources\input\swift")

in case you don't have the "pico_tracker_profile.json"
{
"jsonid": "input_profile",
"controller_type": "vive_tracker",
"input_bindingui_mode": "single_device",
"input_bindingui_right": {
"image": "{htc}/icons/vive_tracker.svg"
},
"priority": 6,
"tracker_types": {
"TrackerRole_Waist": "{pico}/input/swift/pico_tracker_waist_profile.json",
"TrackerRole_LeftKnee": "{pico}/input/swift/pico_tracker_left_knee_profile.json",
"TrackerRole_RightKnee": "{pico}/input/swift/pico_tracker_right_knee_profile.json",
"TrackerRole_LeftFoot": "{pico}/input/swift/pico_tracker_left_foot_profile.json",
"TrackerRole_RightFoot": "{pico}/input/swift/pico_tracker_right_foot_profile.json",
"TrackerRole_LeftShoulder": "{pico}/input/swift/pico_tracker_left_shoulder_profile.json",
"TrackerRole_RightShoulder": "{pico}/input/swift/pico_tracker_right_shoulder_profile.json",
"TrackerRole_Chest": "{pico}/input/swift/pico_tracker_chest_profile.json",
"TrackerRole_LeftElbow": "{pico}/input/swift/pico_tracker_left_elbow_profile.json",
"TrackerRole_RightElbow": "{pico}/input/swift/pico_tracker_right_elbow_profile.json"
},
"input_source": {
"/input/power": {
"type": "button",
"order": 1,
"binding_image_point": [ 345, 128 ]
},
"/input/trigger": {
"type": "button",
"order": 2,
"binding_image_point": [ 127, 62 ]
},
"/input/grip": {
"type": "button",
"order": 3,
"binding_image_point": [ 210, 100 ]
},
"/input/application_menu": {
"type": "button",
"order": 4,
"binding_image_point": [ 210, 130 ]
},
"/input/thumb": {
"type": "button",
"order": 5,
"binding_image_point": [ 88, 148 ]
},
"/pose/raw": {
"type": "pose",
"binding_image_point": [ 63, 148 ]
}
},
"simulation_settings": {
"hmd_profile": "vive",
"left_modelnumber": "VIVE Tracker Pro MV",
"right_modelnumber": "VIVE Tracker Pro MV",
"left_serialnumber": "LHR-00000003",
"right_serialnumber": "LHR-00000003",
"left_rendermodel": "{htc}vr_tracker_vive_1_0",
"right_rendermodel": "{htc}vr_tracker_vive_1_0",
"left_registered_device_type": "htc/vive_trackerLHR-00000003",
"right_registered_device_type": "htc/vive_trackerLHR-00000003",
"tracking_system_name": "lighthouse",
"manufacturer_name": "HTC",
"legacy_buttons": [ 0, 1, 2, 32, 33 ],
"legacy_axis": [ 1, 3, 0, 0, 0 ]
}
}

next, if it's missing, create the 'swift' folder. (C:\Program Files\PICO Connect\openvr_driver\resources\input\swift)

inside the swift folder should look like this, with basic tracking points.


if you look carefully i left camera and keyboard unnatended for people who wants to assign/map them later to knees or elbows, leave them like this.

now you will have to create those files here is an example: of chest profile.json
{
"jsonid" : "input_profile",
"controller_type": "vive_tracker_chest",
"input_bindingui_mode" : "single_device",
"input_bindingui_right" :
{
"image": "{htc}/icons/vive_tracker.svg"
},
"input_source" :
{
"/input/power" : {
"type" : "button",
"order" : 1,
"binding_image_point" : [ 90, 80 ]
},
"/pose/raw" : {
"type" : "pose",
"binding_image_point" : [ 100, 90 ]
}
}
}

construct and rename manually the required json files inside swift folder,
or just download the attached json files.
that's it.

//////////////////////////////////////////////////////////////////////

now for the testing, turn off steamvr and steam, start of clean.


with you pico 4s/ultra heaset on,
pair your trackers & calibrate your trackers,
connect to pico connect server from headset,
launch steamvr from headset,
they should appear in steamvr's list of devices as green/blue boxes,
once you are inside steamvr landscape you should see them tracking/moving as white square boxes,
assign 3 points/trackers in steamvr overlay (chest/left foot/right foot leave the rest disabled for now),
restart steamvr after reassignements,
from steamvr overlay desktop view launch vam preferrably from openvr.bat,
if this is successfull you should see the tracker white/grey boxes inside vam right away,

PS: don't forget assigning shoulders to knees in steamvr/vr settings/controller/manage tracker.
since this is about leg tracking anyway, but beware that it is just a hack, could lead to bad results..

this guide is about detection, please do your tests and report back, thx.
(if you are successfull at showing tracker inside vam, then you can return and reassign trackers and test other configurations to look for what is working and what is not working correctly)

then with embody plugin run the wizard, align the nodes.... from that point on i can't help you out i don't have much experience with embody .. this guide is only aimed at detection.
the second part of the guide will be much more extensive, and detailed, about troubleshooting what can go wrong, in steamvr install folders and configuration files...of course to the extent of my knowledge.

rejoice now pico users !! you have unlocked the access to cheap standard tracking inside vam,
of course if you are an experience user you can do much more with hybrid tracking. maybe object tracking capabilities of pico motion tracker can find new uses :)

to all the friends from owomushi discord channel, thx for assisting me.
View attachment 413625
Is it intentional that there are no uploaded "pico_tracker_left_knee_profile.json" or "pico_tracker_right_knee_profile.json" files at all?

Yet those are being referred to in "pico_tracker_profile.json" file.
 
i fixed two more trackers , keyboard and camera,

feet > feet
cam. & key. > knees
waist > waist
chest > chest
shoulders > elbows


give me time to gather files a retest, and yeah i do update change the guide.. i have not yet updated the files don't download files yet wait for my update..
 
Last edited:
Is it intentional that there are no uploaded "pico_tracker_left_knee_profile.json" or "pico_tracker_right_knee_profile.json" files at all?

Yet those are being referred to in "pico_tracker_profile.json" file.
update is done redownload everything and test. 8 trackers, i tested it's working.


Screenshot_com.picovr.picostreamassistant_2024.09.27-10.55.59.798_480.jpeg
 
Back
Top Bottom