Skip to main content

ARCOR2 Calibration

Project description

ARCOR2 Calibration service

Example configuration

id: Arbitrary text
marker_size: 0.1
markers:
  10:
    pose:
      position:
        x: 0
        y: 0
        z: 0
      orientation:
        x: 0
        y: 0
        z: 0
        w: 1

Environment variables

  • ARCOR2_CALIBRATION_URL=http://0.0.0.0:5014 - by default, the service listens on port 5014.
  • ARCOR2_CALIBRATION_DEBUG=1 - switches logger to the DEBUG level.
  • ARCOR2_CALIBRATION_MOCK=1 - the service will start in a mock (simulator) mode.
  • ARCOR2_REST_API_DEBUG=1 - turns on Flask debugging (logs each endpoint call).

Changelog

The format is based on Keep a Changelog,

[1.2.0] - 2024-04-11

Changed

  • Updated dependencies, switched to Python 3.11.

[1.1.0] - 2024-02-07

Changed

  • 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).

[1.0.0] - 2023-02-14

Changed

  • Marked as a stable version.
  • Health check end-point changed to /healthz/ready.

[0.9.0] - 2022-10-28

Changed

  • Switched to Python 3.10, updated dependencies.

[0.8.0] - 2022-09-15

Changed

  • 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.

[0.7.0] - 2021-10-25

Changed

  • New environment variables:
    • ARCOR2_CALIBRATION_DEBUG to turn on debugging.
    • ARCOR2_CALIBRATION_MOCK to start in mock mode.

[0.6.1] - 2021-07-29

Fixed

  • Handle invalid input parameters (camera matrix).
  • Scale down images to a common resolution before computing blur score.

[0.6.0] - 2021-06-11

Changed

  • Improved quality estimation (take orientation into account).
  • Reject blurry images.

[0.5.0] - 2021-05-21

Changed

  • PUT /calibrate/camera now returns EstimatedPose (pose + quality).

Fixed

  • 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).

[0.4.0] - 2021-04-26

Changed

  • 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.

[0.3.0] - 2021-03-30

Changed

  • PUT /calibrate/camera now has inverse parameter.

[0.2.0] - 2021-02-08

Changed

  • Part of the code refactored into arcor2/flask.py.
  • API for getting pixel coordinates of markers corners.
    • Approx. three times faster than camera calibration.

[0.1.1] - 2020-12-14

Changed

  • Bump version to allow reupload to pypi

[0.1.0] - 2020-12-14

Changed

  • 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

arcor2_calibration-1.2.0.tar.gz (13.1 kB view hashes)

Uploaded Source

Built Distribution

arcor2_calibration-1.2.0-py311-none-any.whl (13.1 kB view hashes)

Uploaded Python 3.11

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page