The format is based on Keep a Changelog,
- Updated dependencies, switched to Python 3.11.
- Markers used to be from 7x7 dictionary, which is unnecessarily large, now a 4x4 dictionary of size 50 is used (use marker IDs 0..49).
- Marked as a stable version.
- Health check end-point changed to
/healthz/ready
.
- Switched to Python 3.10, updated dependencies.
- BREAKING: Implement new error handling flow. Error codes of every endpoint were replaced with error types as described in swagger documentation.
- Updated to reflect changes in
cv2.aruco
.
- New environment variables:
ARCOR2_CALIBRATION_DEBUG
to turn on debugging.ARCOR2_CALIBRATION_MOCK
to start in mock mode.
- Handle invalid input parameters (camera matrix).
- Scale down images to a common resolution before computing blur score.
- Improved quality estimation (take orientation into account).
- Reject blurry images.
PUT /calibrate/camera
now returnsEstimatedPose
(pose + quality).
- Command line arguments fixed.
- It is mandatory to provide
-c
(path to a configuration file) or one of-s
(prints OpenAPI) or-m
(start as mock).
- It is mandatory to provide
- The service now requires YAML configuration file where placement of markers is specified.
- There might be 1-n markers in an arbitrary pose.
- At least one of the configured markers should be visible.
- Un-configured markers are ignored.
- Estimated poses of the camera from multiple detected markers are so far simply averaged.
- The average is weighted according to the camera-marker distance.
PUT /calibrate/camera
now hasinverse
parameter.
- Part of the code refactored into
arcor2/flask.py
. - API for getting pixel coordinates of markers corners.
- Approx. three times faster than camera calibration.
- Bump version to allow reupload to pypi
- Initial release of the package.
- Support for camera calibration.
- Support for robot calibration.
- URDF model of the robot needed.
- Requires depth camera (e.g. Kinect).
--mock
argument to start the service in a simulation mode.