Skip to main content

ARCOR2 base library

Project description

arcor2

Changelog

The format is based on Keep a Changelog,

[0.11.0] - 2021-02-08

Changed

  • Explicit action parameters.
    • Resources class now do not need to deal with parameters.
    • Update of ObjectTypes (all actions now have the mandatory an parameter).
  • CurrentAction removed, ActionState divided into ActionStateBefore and ActionStateAfter.
  • New module with shared code for Flask-based apps.
  • Updates of 3rd party dependencies.
  • WS server now logs too long RPCs.
    • Max. duration could be configured using ARCOR2_MAX_RPC_DURATION.

Fixed

  • At a startup, the main script now checks if the scene is running before attempt to stop it.
  • image_from_str function fixed.

[0.10.0] - 2020-12-14

Changed

  • action decorator now handles outputs of actions.
  • CachedProject has new methods for handling project logic.
  • ActionState event now contains action results.
  • New built-in ObjectTypes RandomActions.
  • Parameter plugins slightly reworked, some new helper functions.
  • If a robot has URDF, it is zipped and uploaded to the Project service).
    • ...as a mesh file, which is workaround for missing storage of URDF models.
  • Scene service client updated to support version 0.4.0.
  • New built-in abstract ObjectType Camera.
  • Initial support for loading of URDF files.
  • Some first tests for parameter plugins were added.

[0.9.2] - 2020-10-30

Fixed

  • parse function now also catches ValueError exception.
  • check_object_type now tries to parse whole module instead of just source of the class itself.

Changed

  • Robot base class now have methods for IK/FK.
  • It is possible to use == on Position instances.

[0.9.1] - 2020-10-19

Fixed

  • package_version was ignoring package argument

[0.9.0] - 2020-10-16

Changed

  • Scene client updated for Scene 0.3.0.
  • Exceptions refactored (BREAKING).
    • Arcor2Exception no longer has message property
    • There is a new package arcor2/exceptions.
    • Clients using handle decorator now have specific error messages defined.
    • Previously generated execution packages will become broken as print_exception function was moved
  • Loggers are now created using functions from logging module.
  • rest module rewritten (BREAKING).
    • Now there is only one method call which takes http method as an argument.
    • There is ARCOR2_REST_DEBUG environment variable. When set, debugging logs are turned on.

Fixed

  • JSON containing only boolean value was not handled properly by arcor2.rest module.

[0.8.0] - 2020-09-24

Changed

  • Reorganisation of the repository - switched to monorepo based on Pants. The code was divided into more packages (that can be separatelly relased) within one repository.
  • Tests now run on GitHub instead of CircleCi.
  • Unification of objects and services
    • There is Generic base class for objects without pose, GenericWithPose for objects with pose and Robot class that should be base class for every robot.
  • Integration of scene service (0.2.0).
  • @action decorator is now added automatically in the run-time.
  • Orientation dataclass now performs quaternion normalization in __post_init__.
  • Robot base class now has _move_lock mutex to ensure that only one move-action is called at the time.

[0.8.0rc2] - 2020-09-16

[0.8.0rc1] - 2020-09-15

[0.8.0b8] - 2020-08-21

Fixed

  • Some robot-related issues fixed

[0.8.0b7] - 2020-08-12

Changed

  • Scene service client: 'upsert_collision' now has optional 'mesh_parameters': parameter.

[0.8.0b6] - 2020-08-03

Changed

  • New logic representation
  • Unification of objects and services
  • Integration of scene service

[0.7.1] - 2020-07-15

Fixed

  • Fix of broken python package arcor2 0.7.0

[0.7.0] - 2020-07-15

Changed

  • ARServer: new RPC 'TemporaryPackage'
  • ARServer: RPC ObjectTypesChangedEvent renamed to ChangedObjectTypesEvent, now contains changed ObjectTypes meta instead of just type names
  • ARServer: ShowMainScreenEvent.
  • Package name added to PackageInfoEvent
  • ARServer now compares its API_VERSION with API_VERSION of the Execution.
  • ARServer: ShowMainScreenEvent will now not contain 'highlight' when sent to a newly connected UI.
  • AP can now have another AP as parent
  • rest: OptionalData now may contain list of primitive type.
  • Execution: PackageStateEvent now contains package_id
  • Execution: added 'executed' to PackageMeta

[0.6.0] - 2020-06-19

Changed

  • Build/Execution proxy: allow port change using env. var.
  • ARServer: RenameScene RPC now checks if scene name is unique and 'dry_run' works.
  • ARServer: ListScenes/ListProjects now contain 'modified'.
  • ARServer: DeleteObjectType RPC added.
  • @action decorator is now compatible with Windows.
  • Service class now has 'cleanup' method which is called when scene is closed or when script ends. Call of 'cleanup' can be disabled by 'export ARCOR_CLEANUP_SERVICES=False' - this is particularly useful when running the script manually again and again.
  • Cleanup method for ObjectTypes.

[0.5.1] - 2020-06-04

Fixed

  • ignoring check of return parameters
  • allowing list of strings as request body

[0.5.0] - 2020-06-01

Changed

  • ARServer container need to setup new env variable using docker-compose -> ARCOR2_DATA_PATH=/root/data
  • ListProjects RPC now gets projects in parallel.
  • dry_run parameter for selected RPCs
  • EEF pose/robot joints streaming
  • OpenScene, OpenProject, SceneClosed, ProjectClosed events.
  • Execution proxy: use persistent websocket connection.
  • SceneCollisionsEvent merged into PackageInfoEvent
  • ARServer: RPC to cancel action execution.
  • Execution package now contains package.json with its metadata. Execution service now supports renaming of packages.

[0.4.3] - 2020-05-22

Changed

  • added support for CORS

[0.4.2] - 2020-04-27

Fixed

  • Fix of functions to transform relative poses to absolute and vice versa

[0.4.1] - 2020-04-22

Added

  • New RPCs for getting robot joints and effector pose
  • New RPC to get IDs of EE and suctions
  • Added pivot enum for UpdateObjectPoseUsingRobot

Fixed

  • Fix of remove action RPC
  • Another fixes

[0.4.0] - 2020-04-17

Changed

  • Complete redesign of RPC for ARClients (AREditor atm)
  • Documentation of execution and build API
  • Support for project service 0.2.0
  • New and updated events
  • Enhanced error messages
  • Create (global) session to enable reuse of connections.

[0.3.0] - 2020-03-24

Changed

  • Renamed RobotJoints to ProjectRobotJoints and ModelTypeEnum to Model3dType
  • Added new services for Time and Logic related actons
  • Added boolean parameter plugin
  • Description, returns and origins fields marked as optional
  • New event - ActionResult
  • Separated script enabling discovery through UDP broadcast
  • Support for list params
  • Services and Action objects are now marked as disabled when some problem occured and error message is passed to GUI (previously such services/objects were ignored)
  • Services with no configuration are disabled

[0.2.1] - 2020-02-28

Fixed

  • Added compatibility with Project service v 0.1.1
  • Param values and defaults are strings now
  • min, max stored in extra as JSON string

[0.2.0] - 2020-02-20

Changed

  • ExecuteAction RPC.
  • Uuid for action object/point/action.
  • Execution proxy PUT method
  • ActionPoint class in execution package
  • Removed loop in main script, when hasLogic == false
  • Parameter values not send in currentAction event
  • ProjectState RESUMED removed
  • Execution: print out script output if not JSON.
  • Joint: rotation -> value

[0.1.7] - 2019-12-24

Fixed

  • Build: disable caching

[0.1.5] - 2019-12-22

Fixed

  • Parameter plugins

[0.1.4] - 2019-12-18

Fixed

  • Parameter of type relative_pose now accepts json string as value

[0.1.3] - 2019-12-18

Fixed

  • N/A

[0.1.2] - 2019-12-17

Fixed

  • bump docker version

[0.1.1] - 2019-12-17

Fixed

  • bump docker version

[0.1.1] - 2019-12-12

Fixed

  • N/A

[0.1.0] - 2019-12-12

Changed

  • Separation of services.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

arcor2-0.11.0.tar.gz (50.2 kB view details)

Uploaded Source

Built Distribution

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

arcor2-0.11.0-py38-none-any.whl (65.8 kB view details)

Uploaded Python 3.8

File details

Details for the file arcor2-0.11.0.tar.gz.

File metadata

  • Download URL: arcor2-0.11.0.tar.gz
  • Upload date:
  • Size: 50.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.5

File hashes

Hashes for arcor2-0.11.0.tar.gz
Algorithm Hash digest
SHA256 c6c82afd4c3cb38851b9fab928f21dbefdc96abbac8dd0091db5a27b3be46213
MD5 004150d4d24d9dc61209ec82d6bf36b1
BLAKE2b-256 7315405e507e76970ed541f9ca29c5d40bb2d7ffaf4aea255a71c97939c0a1c4

See more details on using hashes here.

File details

Details for the file arcor2-0.11.0-py38-none-any.whl.

File metadata

  • Download URL: arcor2-0.11.0-py38-none-any.whl
  • Upload date:
  • Size: 65.8 kB
  • Tags: Python 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.5

File hashes

Hashes for arcor2-0.11.0-py38-none-any.whl
Algorithm Hash digest
SHA256 fcbf1f0e7c4f73733c0d7668b8d192538101d4e4d896039cb37f7677b61cf61e
MD5 24950664f3e53906a345c8f7c79e3f8f
BLAKE2b-256 bb439bc66b1db8fd4cfb790697db0674ecc55b62004c4f453f033c86a20dce11

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