psmoveservice / PSMoveService

A background service that communicates with the psmove and stores pose and button data.
Apache License 2.0
593 stars 148 forks source link

Calibration constantly off #251

Closed Koreii closed 7 years ago

Koreii commented 8 years ago

I've been trying to set up 3 controllers, two for the hands, one for headtracking (I'm using Riftcat). But every time I've tried to calibrate, the blue axis has always been off by almost 45 degrees, on all three controllers. And also, when trying to visualize it in the steamvr preview "room", my headtracking and controllers move on different axis. For example, if I walk back, the controllers move left, or if I crouch down, they go forward. That sort of thing. Any help would be appreciated, I've been trying to fix it for a long time, and I've been following all the tutorials to the letter.

airsoftmart commented 8 years ago

I have the same sort of problem I have my controller mounted on the right hand side of the hmd in a vertical position if I setup the room calibration if I walk forward I go back and if I go left I go right any idea how to correct this

Mark

Koreii commented 8 years ago

I've been testing, and found that the tracking within PS move service config is perfectly accurate. Its during the translation to freepie and then to riftcat that the inaccuracy happens. I might look at how the freepie script translate to, and maybe switch two of the axis,,, I'm just gonna experiment.

airsoftmart commented 8 years ago

Hi Koreii

Can I ask how you have your ps move controller attached to your hmd is it vertical or horizontal and is it on the left, right, middle, top or bottom of the hmd

Mark

olinorwell commented 8 years ago

I have mine on the top, horizontally, going from left to right as the user would see it. The bulb is slightly off centre, to the right.

It seems to work very well. Though you need to make sure your cameras are high enough to see it. If you're 6ft+ tall then your cameras need to be 7/8 feet high to properly see it.

olinorwell commented 8 years ago

I would add that I never had to change anything from the freepie default script (not the mouse one, the other one). It just worked perfectly first time. I guess make sure your controller is calibrated in PSMoveService first. Then stick it to the HMD. You want to have it in place before you turn everything on.

Also - (this could be key!!) - in Riftcat, you want to use your phone's orientation for everything except position. It's one of the tracking options.

Koreii commented 8 years ago

I haven't tried with the controller horizontally on top of my HMD. I've had it attached upright on the right side of the headset. I'll give it a try that way.

I've also noticed that the magnetometer gets very messed up if you have a magnetic field source around you, like a large speaker. I have a few around the room, so that could be causing interference. I also noticed if I bring one of the hand controllers near to the side of the phone I use, the controllers go haywire (end up upside down).

I'll try experimenting with the location of the controller, since many people have had no problem with the default script.

Also, I do have tracking set to phone orientation and Freetrack position in Riftcat.

olinorwell commented 8 years ago

Also - most Google Cardboard style HMDs that we're using with Riftcat have a large magnet inside them that's used by Google Cardboard. Just a guess but I'd presume you wouldn't want to attach the controller anywhere near to that magnet.

Koreii commented 8 years ago

Well, that made a whole bunch of difference! Thank you! I removed the magnet on the side of the headset. (I completely forgot there was one), and now its acting quite well. Sometimes it will glitch out, but I'm attributing that to my camera placement. I'll be able to fix that.

Now I need to figure out how to make sure the model doesn't get in my view, remove the drift on my phone, and adjust the movement scaling, because the movement is over exaggerated. But now its working, thanks!

airsoftmart commented 8 years ago

No magnets on my hmd to remove I don't think I have any I will check by holding my hmd controller in my hand and report back

Still when I walk forward I move back

Mark

Xierion commented 8 years ago

I was having a similar problem and figured it was the phone magnetometer. After trying for hours to get FreePIE to push FreeTrack data to Riftcat (which is damn hard as RiftCat does something funky with the data), I discovered that you can re-calibrate the phone compass by opening any compass app (like Google maps) and moving the phone in a figure 8 (https://support.google.com/maps/answer/6145351?hl=en)

I no longer get any drift.

vrgamer commented 8 years ago

I also had the problem of gettin the opposite movement I walked, to fix that you need to look (with the move attached to your hmd) at the direction you stablished in room calibration in steam vr, then press the hot key you put in rifcat to recenter, also start + select in the moves you are holding.

vrgamer commented 8 years ago

You also previously have to do the pose calibration with the position 4 and 5 facing to the direction you stablished in Steam VR room calibration

HipsterSloth commented 7 years ago

I'm going through and close all issues that are troubleshooting support related for tracking purposes. Normally I would direct people to the PSMoveService forums, but there is already a long thread going here. Feel free to continue discussion here.