Releases: Timocop/PSMoveServiceEx
Releases · Timocop/PSMoveServiceEx
PSMoveServiceEx v0.12.6
Changes in this version:
- Added device manager config to advanced settings.
- Fixed random tracker timeout.
- Reverted
Decrease tracker_poll_interval to from 13 to 4 ms.
PSMoveServiceEx v0.12.5
Changes in this version:
- Remove old optical timeout on HMDs.
- Decrease
tracker_poll_interval
from13
to3
ms.
Without the old "optical timeout" method we need to reduce the interval greatly otherwise the tracking will fail randomly (will be investigated).
This will also enable full 187Hz tracking for 240p by default.
PSMoveServiceEx v0.12.4
Changes in this version:
- Fixed HMD
Calibrate Tracker Colors
andCalibrate Tracker Poses
buttons not working. - Fixed non-optimized ROI (region of interest) edge offsets.
PSMoveServiceEx v0.12.3
Changes in this version:
- Implemented ROI tracker edge offsets.
roi_edge_offset
Adds an offset to the ROI (region of interest) on tracker edges.
Adding an slight offset can help avoid tracking jitter nearby tracker edges.
(The default value is 4)
- Increased default occluded area projection regain size from
16
to32
.
Settings can be changed in Advanced Settings
.
PSMoveServiceEx v0.12.2
Changes in this version:
- Added additional occluded area tracker settings.
occluded_area_on_loss_size
Occlusion areas are created when trackers lose their tracking projection.
The tracker will not re-gain its projection if the projection is near the tracker's occlusion area.
This will help avoid position jitter on continuous tracking loss.
(The default value is 4)occluded_area_ignore_trackers
The number of trackers that will ignore occluded areas (sorted by biggest projection).
(The default value is 0)occluded_area_regain_projection_size
The tracker will regain the projection and remove its occlusion if the projection size is bigger than the giving value.
(The default value is 16)
Settings can be changed in Advanced Settings
.
PSMoveServiceEx v0.12.1
Changes in this version:
- Added positional filter tip for optical noise calibration.
Optical noise calibration only works for filtersPositionKalman
andComplimentaryOpticalIMU
(and its rotation filter counterparts).
- Increase lens distortion calibration capture count and decrease capture waiting time.
- Fixed pose calibration LED bulb of PSmove controller not blinking when color is green.
- Increased prediction power for
PassThru
andLowPassOptical
. - Some UI fixes.
- Auto-adjust tracker intrinsics by resolution. 240p does now work correctly with pre-computed PSEye intrinsics.
PSMoveServiceEx v0.12
Changes in this version:
- Implemented virtual trackers.
Now you can add your custom video input device to PSMoveServiceEx such as generic webcams!
For this your need PSMoveSerivceEx Virtual Device Manager.
- Automatic color calibration will now fail on virtual trackers and controllers.
- UI changes.
- Implemented color calibration warning and issue notifications.
- Automated distortion calibration.
- Added more pose calibration mat paper formats (Letter, A4, A3) either using 1 paper or 4 papers for bigger play-spaces to get more tracking precision.
- Show occlusion areas.
- Better color calibration sensitivity values.
- Able to keep exposure/gain on automatic color calibration.
- Reworked
Advanced Settings
.
You can now edit service config inside PSMS Tool (restart is still required).
- Removed
controller_position_prediction_smoothing
.
Obsolete. Usecontroller_position_smoothing
instead. Or use the new and improvedLowPassOptical
filter.
- Added optical prediction to filters
PassThru
andLowPassOptical
. LowPassOptical
position filter is now default for every device (except DualShock4 controllers)- Fixed
LowPassOptical
filter always being stuck at 60% smoothing. - Fixed
LowPassIMU
filter prediction issues. - Implemented ROI (region of interest) projection prediction.
This will help rapid controller movements on lower tracker fps.
- Default tracker is 30 fps instead of 40 fps now.
- Re-defined "Optical Timeout".
Instead of waiting, disregard past tracking projection instantly if it's not visible anymore and create a new one if the tracking light is visible.
This was probably added in case the tracking light was obscured by something for a short period of time. So the tracker would resume its tracking in the same area where it was occluded instead of analyzing the whole tracker stream again. This creates a bad side effect where the "waiting" will still count as a valid position and will be included in triangulation which makes controllers stuck in place when leaving its ROI (region of interest).
With the newly added optimized ROI (region of interest) and occlusion areas, this should not be needed anymore.
- Added 3D printable adapters.
- Added new pose calibration mats.
- Added lens distortion printable calibration checkerboard.
Known issues
- Virtual trackers will always run at half the polling rate for some reason. This means half of 75 fps. And if you use mixed trackers (PSeyes and virtual) it will use half of the PSeye fps (e.g. PSeye running at 30fps, all virtual trackers will run at 15 fps). Will be investigated.
Advanced Settings
PSMoveServiceEx v0.11.1
Changes in this version:
- Never occlude all tracker when
min_occluded_area_on_loss
is used.
This will fix an issue with the new occluded-area feature where you can make all trackers occluded. Which can cause tracking problems for example with IMU positional filters. Now, at least 2 biggest projection trackers will always pass, even if they are in an occluded area.
PSMoveServiceEx v0.11
Changes in this version:
- Implemented controller prediction options.
You can enable controller prediction to make controllers more responsive on lower tracker Hz.
For good prediction changecontroller_position_prediction
to1
.
Configure controller prediction with:"controller_position_prediction": "0"
Prediction power. Should be normally between0 - 1
. You can set it above 1 but expect over-prediction."controller_position_prediction_smoothing": "0"
Prediction smoothing. Should be between0.0 - 0.99
(anything lower/higher will disable it).
Can smooth motion and reduce jitter but also makes the prediction springy."controller_position_prediction_history": "5"
Prediction history. How many previous positions should be saved for calculations.
Lower values makes prediction respond faster and higher slower.
- Implemented color collision detection in color calibration.
- Implemented automatic color detection in color calibration.
- Implemented better manual color detection in color calibration.
- Re-implemented optical noise calibration (for kalman filter).
- Reorganize color calibration UI.
- Made PSMS Tool window resizable.
- Changed default config values.
- Added option to change minimum contour points for projections.
Lowering the value can make detect light bulbs better on further ranges, higher makes the detection more strict and reduces range.
Keep in mind thatmin_valid_projection_area
is also a factor in this but only for projection areas.
However, you don't need to reduce it even more, it already has been reduced.
Anything below 4 (same withmin_valid_projection_area
) can detect the smallest pixel as valid controller. (Not recommended, unless you are using cameras with 240p resolution)
Configure minimum points in contour:"min_points_in_contour": "4"
- Implemented tracker deviation detection.
Trackers that deviate their triangulation position too much from other trackers will be disregarded.
This will avoid trackers getting stuck on random color noise or other controllers."max_tracker_position_deviation": "12"
ignore_pose_from_one_tracker
will be ignored if only one tracker is available.- Increased 'stable time' from 1000ms to 3000ms.
- Controller will blink if its ready to be picked up in compute tracker pose.
Configs above can be changed in "%AppData%\Roaming\PSMoveService\TrackerManagerConfig.json"
New color calibration UI layout
Automatic color detection
PSMoveServiceEx v0.10
Changes in this version:
- Implemented Optimized ROI (Region of Interest).
The new optimized ROI will reduce CPU usage dramatically and is enabled by default.
Instead of analyzing the whole tracker stream it will analyze chunks instead to save CPU cycles.
HMDs ROI will still have the old behavior due to insufficient testing.
You can change the option in%AppData%\PSMoveService\TrackerManagerConfig.json
with"optimized_roi": "true"
- Implemented Projection Occlusion Areas.
Occlusion areas are created when trackers lose their projection target (e.g. when the PSmove bulb is not visible to the tracker).
The tracker will not re-gain the controller if the PSmove bulb is near the trackers occlusion area.
In some cases trackers projections can flicker (gain/lose projections continuously) if the PSmove bulb is too far away and patently blocked by objects. This will cause annoying controller jitter in pose tracking. This feature will fix this issue.
You can change the option in%AppData%\PSMoveService\TrackerManagerConfig.json
with"min_occluded_area_on_loss": "4"
- Improved tracking quality with multiple cameras.
- Added
Advanced Settings
option in PSMoveService Tool for faster config access. - Added controller battery status in
PSMoveSerivce Tool > Controller Settings
. - Support for 6 PSmove controllers (previously 5 only)
- Windows 10 Bluetooth pairing fix.