Skip to content

Releases: Timocop/PSMoveServiceEx

PSMoveServiceEx v0.12.6

26 Jan 20:08
Compare
Choose a tag to compare

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

26 Jan 00:00
Compare
Choose a tag to compare

Changes in this version:

  • Remove old optical timeout on HMDs.
  • Decrease tracker_poll_interval from 13 to 3 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

27 Dec 07:49
Compare
Choose a tag to compare

Changes in this version:

  • Fixed HMD Calibrate Tracker Colors and Calibrate Tracker Poses buttons not working.
  • Fixed non-optimized ROI (region of interest) edge offsets.

PSMoveServiceEx v0.12.3

24 Dec 23:53
Compare
Choose a tag to compare

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 to 32.

Settings can be changed in Advanced Settings.

PSMoveServiceEx v0.12.2

21 Dec 05:33
Compare
Choose a tag to compare

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

12 Dec 05:00
Compare
Choose a tag to compare

Changes in this version:

  • Added positional filter tip for optical noise calibration.
    Optical noise calibration only works for filters PositionKalman and ComplimentaryOpticalIMU (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 and LowPassOptical.
  • Some UI fixes.
  • Auto-adjust tracker intrinsics by resolution. 240p does now work correctly with pre-computed PSEye intrinsics.

PSMoveServiceEx v0.12

25 Nov 22:50
Compare
Choose a tag to compare

Changes in this version:

  • 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. Use controller_position_smoothing instead. Or use the new and improved LowPassOptical filter.

  • Added optical prediction to filters PassThru and LowPassOptical.
  • 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

Preview

PSMoveServiceEx v0.11.1

05 Nov 14:53
Compare
Choose a tag to compare

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

02 Nov 23:07
Compare
Choose a tag to compare

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 change controller_position_prediction to 1.
    Configure controller prediction with:
    • "controller_position_prediction": "0"
      Prediction power. Should be normally between 0 - 1. You can set it above 1 but expect over-prediction.
    • "controller_position_prediction_smoothing": "0"
      Prediction smoothing. Should be between 0.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 that min_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 with min_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

PSMoveConfigTool_2021-11-01_17-09-36

Automatic color detection

PSMoveConfigTool_2021-11-03_00-05-00

PSMoveServiceEx v0.10

27 Oct 04:33
22bbe20
Compare
Choose a tag to compare

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.