threedworld-mit / tdw

ThreeDWorld simulation environment
BSD 2-Clause "Simplified" License
502 stars 75 forks source link

Added calibration output data and fixed calibration #695

Closed alters-mit closed 7 months ago

alters-mit commented 7 months ago

This PR merges fove_hit_positions into fove_vr_calibration, as opposed to master.

The changes in this PR have not been tested and require testing.

FoveLeapMotion should have working calibration now. There is one unusual step: After calibration, and after the subsequent scene is created, users must call fove.initialize_scene() in the controller; this function is not called automatically. This function will request static rigidbody data, which is required for grasping logic. It has to be called manually because it needs to be sent after the scene's add_object commands have been sent.

FoveLeapMotion has a new calibration_path constructor parameter. This parameter does not have a default value, meaning that it always must be explicitly set. Include the filename but not the file extension

Calibration is an automated process; simply call controller.communicate[] until fove.calibration_state == CalibrationState.running.

Added CalibrationSphere to manage each sphere's data.

Added CalibrationState. Removed FoveStatus and RunMode.