Skip to main content

ARCOR2 ARServer

Project description

arcor2_arserver

Changelog

The format is based on Keep a Changelog,

[0.21.0] - WIP

Changed

  • Locks are not automatically released when aiming is done or cancelled.
  • Linear movements are used by default for stepping and table alignment.
  • Joints stream (RobotJoints event) now contains also gripper joints when available (depends on the particular ObjectType).

Fixed

  • Getting action results (the result was always False).
  • ctx_read_lock made some RPCs impossible to success.
  • Object parameters checking.
    • Values and types of object parameters were not checked at all.
    • For now, only basic types are supported.

[0.20.0] - 2021-07-29

Changed

  • Support for multi arm robots.
    • Dealing with arm_id parameter in RPCs.
    • Streaming EEF poses for all arms.
  • Allow to reposition scene objects while online.
    • It was allowed to reposition objects using robot,
    • ...but disallowed to do it manually.
    • This was inconsistent and unnecessarily restrictive.
    • Now objects (except robots) can be repositioned anytime.
  • When creating a new project, common parameters are added automatically.
    • At the moment those are scene_id and project_id.
    • A user could use or remove them.
  • Collisions are not removed after stopping the scene.
  • ObjectType change detection is now based on modified instead of comparing source codes.
  • ARServer Project service client now stores cached scenes/projects.
  • Object aiming reworked.
    • RPCs were renamed and all of them now have dry_run.
    • There is a new method to cancel the process.
    • One user can be aiming one object at the moment.
    • Both the object and the selected robot have to be write-locked.
    • Improved logging.
    • Test was added.
  • Server no longer downloads URDF packages.
    • ARCOR2_DATA_PATH environment variable is no longer used.
    • Clients will get URDFs through reverse proxy from Project service.
  • NewObjectType no longer assumes that mesh already exists.
    • A file associated to mesh must exist in advance.

Fixed

  • All calls to the Scene service are guarded against exceptions.
  • Renaming of project parameters fixed.
    • It was possible to use already taken name.

[0.19.0] - 2021-06-22

  • Update to API version 0.15.0.

[0.18.0] - 2021-06-11

Changed

  • Updated to work with Project service 0.8.0.
  • Allow fast re-login after connection was broken.
  • Added locking to const-related RPCs.
  • Log calibration-related errors.

Fixed

  • Handle invalid ObjectType settings annotation.

[0.17.0] - 2021-05-21

Changed

  • Return value of GetCameraPose RPC updated.
  • Objects initialization order.
    • Object initialization order can be set using class-level INIT_PRIORITY variable.
    • The higher priority, the sooner are objects of that type initialized.
    • Initialization happens in parallel (for objects of the same priority).
  • SetEefPerpendicularToWorld now calls IK in parallel.
    • This provides almost 100% speed-up even when the robot service proceeds requests one by one.
  • Added locking of internal resources.
    • Created a lock module that allows to read/write lock existing or special objects. The module contains:

      • lock object with all necessary methods;
      • structures for keeping data about locked objects;
      • locking-related exceptions;
      • queue and task for notifying UI about lock data;
      • methods for auto-unlocking after timeout when user logouts.
    • Base tests of locking structure.

    • RPCs for (un)locking object, registering user name.

    • Events for (un)locking object.

    • Created a class for maintaining connected UIs.

    • Project methods to get object by ID, object parent and object children.

    • All RPCs that requires some kind of locking are now lock-guarded.

    • Updated existing tests to work with newly implemented locking.

    • Global variables SCENE, PROJECT and INTERFACES moved to new classes.

  • Rewritten cache for the Project service.
    • The cache is now always on (provides a significant speed-up).
    • External updates to the Project service are recognized properly.
  • New RPC AddApUsingRobot.
  • Support for multiple inheritance.
    • ObjectTypes can now use mixins.
    • It should be used like class NewObjectType(MixinA, MixinB, Generic).
    • E.g. the last ancestor should be something derived from Generic.
  • SetEefPerpendicularToWorld faster as it calls IK in parallel.

Fixed

  • SceneState event was not sent to a newly connected UIs.
  • Results of actions are now forgotten when going offline.
  • Fixed support for link parameter type.

[0.16.0] - 2021-04-20

Fixed

  • Action can't use its own result as a parameter (link parameter type).

Changed

  • Dependency on arcor2 0.15.0 with updated REST client.
  • Action parameter value is now always JSON.
    • It used to be a string for link/constant special types.

[0.15.1] - 2021-04-19

Fixed

  • Dependency on bugfix release of arcor2.

[0.15.0] - 2021-03-30

Changed

  • New RPC SetEefPerpendicularToWorld.
  • New RPC StepRobotEef.

Fixed

  • CopyActionPoint RPC: update action parameters to use copied orientations.
  • Scene now goes offline before execution and to the original state after it.
  • Scene-related messages adapted to a new terminology.

[0.14.0] - 2021-03-15

Changed

  • Improved logging for debugging robot features.
  • Suffix is added to copied AP/action instead of prefix.

Fixed

  • Names for orientations/joints were not checked as valid identifiers.
  • Action names were checked, but should not be.

[0.13.0] - 2021-03-03

Changed

  • API to copy action point (including orientations, joints, child APs).
  • Robot-related API (MoveToPose, MoveToJoints, MoveToActionPoint) updated in order to contain safe parameter.
  • API to enable/disable robot hand teaching mode.
  • Concrete and helpful error messages when a name entered by the user is refused.

Fixed

  • Only BareActionPoint was sent on parent change.

[0.12.0] - 2021-02-08

Changed

  • Improved scene-related messages.
    • Error messages now contain the name of the object which caused the error.
  • New MarkersCorners RPC for getting markers corners.
  • Support for an parameter (explicit parameters).
  • Improved check of action signature and annotation.
  • New WS API for execution state reporting.
  • Support for project constants.
    • Only basic types are supported so far.

Fixed

  • Better handling of missing collision model.
    • If server can't get collision model of the object, the object is disabled.
    • Previously, this situation caused crash of the server.
  • GetCameraPose callback fixed (used to be Calibration).

[0.11.0] - 2020-12-14

Changed

  • Improved support for logic branching.
    • So far, only boolean outputs are supported.
  • Improved handling of return values (uses the same function as the main script).
  • The internal database of ObjectTypes in updated each time before opening a scene or a project.
    • Changes are notified using ChangedObjectTypes event (one event for added objects, one for updated and another one for deleted ones).
  • Support for camera/robot calibration.
  • Initial support for cameras (getting images, camera parameters).

[0.10.1] - 2020-10-30

Changed

  • RPC for IK/FK.

[0.10.0] - 2020-10-22

Changed

  • Updated due to a breaking change in arcor2_execution_data.

[0.9.1] - 2020-10-19

Changed

  • ARCOR2 dependency updated

Fixed

  • fixed check for existing override

[0.9.0] - 2020-10-16

Changed

  • WS API for updates of scene objects parameters and management of project-defined overrides.
  • Integration tests refactored into multiple modules that can run in parallel.
  • UpdateObjectPose and UpdateActionPointPosition now has dry_run.
  • Box/Cylinder/Sphere models now have some constraints on their dimensions.

[0.8.0] - 2020-09-24

Changed

  • The first release of the separated package.
  • RPC/Events refactored.
  • ARServer script now has --openapi argument and is able to generate OpenAPI models for RPCs and events.
  • Detection of loops in: AP hierarchy, logic.
  • Caching client for Project service.
  • Proper handling of object inheritance.
  • ObjectTypes are stored in temporary module on disk.
  • Integration tests.

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_arserver-0.21.0.tar.gz (63.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

arcor2_arserver-0.21.0-py38-none-any.whl (73.8 kB view details)

Uploaded Python 3.8

File details

Details for the file arcor2_arserver-0.21.0.tar.gz.

File metadata

  • Download URL: arcor2_arserver-0.21.0.tar.gz
  • Upload date:
  • Size: 63.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.8.10

File hashes

Hashes for arcor2_arserver-0.21.0.tar.gz
Algorithm Hash digest
SHA256 6075ca92a4c441eda6a56cf81a48bcbe01aa4cabc40fc459bef408bb28e46a69
MD5 342dbe4ba769e9e8dda70693e9759dbc
BLAKE2b-256 d3ce3f186703522f0e9ee72eb1a25c2ea1c481bb544203cbd91da1eae9ded1e0

See more details on using hashes here.

File details

Details for the file arcor2_arserver-0.21.0-py38-none-any.whl.

File metadata

  • Download URL: arcor2_arserver-0.21.0-py38-none-any.whl
  • Upload date:
  • Size: 73.8 kB
  • Tags: Python 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.8.10

File hashes

Hashes for arcor2_arserver-0.21.0-py38-none-any.whl
Algorithm Hash digest
SHA256 bd86de682b3bb9f5abf408a7d178685446acb98a052413ef2fe6b22056c014e5
MD5 8f14b7f2b64597981e6f6776acab08db
BLAKE2b-256 a0f63e17b12c829a934cab6c26022548dbd8cd8d1eb6a17438d19bdf35a71bcf

See more details on using hashes here.

Supported by

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