Sign inSign up

arcor2/arcor2_base

By arcor2

•Updated almost 6 years ago

Image
0

3.3K

arcor2/arcor2_base repository overview

⁠ARCOR2

ARCOR stands for Augmented Reality Collaborative Robot. It is a system for simplified programming of collaborative robots based on augmented reality developed by Robo@FIT⁠.

This repository contains the backend solution. It can be easily tested out or deployed using docker images⁠. Unity-based client application for ARCore-supported tablets is available here⁠.

Development is supported by Test-it-off: Robotic offline product testing⁠ project (Ministry of Industry and Trade of the Czech Republic).

Quick Links:

⁠Terminology

  • Scene
    • The layout of the workspace.
    • Consists of action objects' instances and their parameters.
  • Project
    • User-defined program based on a scene.
    • Contains action points, actions, and their parameters, program flow definition (logic).
  • Action Point
    • Acts as a spatial anchor.
    • Defined within a project.
    • Has a 3D position, may contain 0-n orientations and/or robot joints.
  • Action Object
    • A class derived from Generic⁠.
    • Its methods (with special annotation) become Actions.
    • Support for new service/device/robot is added through writing a class definition.
    • It may or may not have pose, collision model, URDF model (robots only).
  • Action Object Instance
    • An action object with given parameters, pose, etc. within a scene, project, or main script.
  • Action
    • Action object method that can be parametrized and called from a project.
  • Action Instance
    • Concrete action with a unique ID and name added to a specific action point in the project.
  • Execution Package
    • Self-contained package generated from scene, project, and involved action objects.
  • Main Script
    • Part of the execution package.
    • An executable script that creates instances of the objects and contains the logic of the project.
    • Can be optionally hand-written.
    • Logic can be manually updated and then the script could be converted back to the project (upcoming feature).

⁠Services

  • ARServer⁠
    • The central point for user interfaces (e.g. instances of the AREditor).
    • Provides API (RPC, events) for its clients, mediates communication with other services.
  • Build⁠
    • Transforms projects created in the AR environment into execution packages.
  • Execution⁠
    • Runs execution packages generated by the Build service.
    • Provides data about packages and execution state (what step of the program with what parameters is currently running) to the ARServer / AREditor, controls the execution of the main script (pause, resume, stop).

Other services as Project and Scene (this repo provides mocks⁠ for them) are being developed by Kinali⁠ and will be eventually published here⁠.

⁠Development

We use Pants⁠ to build the sources into Python distribution packages, run tests, etc. Packages do not contain setup.py file - this is generated during the build process.

⁠Testing

How to run all tests:

$ ./pants test ::

How to run a specific test:

$ ./pants test src/python/arcor2/data/tests

⁠Releases

⁠arcor2

README⁠ | CHANGELOG⁠

⁠arcor2_arserver

README⁠ | CHANGELOG⁠

⁠arcor2_arserver_data

README⁠ | CHANGELOG⁠

⁠arcor2_build

README⁠ | CHANGELOG⁠

⁠arcor2_build_data

README⁠ | CHANGELOG⁠

⁠arcor2_calibration

README⁠ | CHANGELOG⁠

⁠arcor2_calibration_data

README⁠ | CHANGELOG⁠

⁠arcor2_execution

README⁠ | CHANGELOG⁠

⁠arcor2_execution_data

README⁠ | CHANGELOG⁠

⁠arcor2_execution_rest_proxy

README⁠ | CHANGELOG⁠

⁠arcor2_fit_demo

README⁠ | CHANGELOG⁠

⁠arcor2_kinali

README⁠ | CHANGELOG⁠

⁠arcor2_mocks

README⁠ | CHANGELOG⁠

⁠Publications

Comming soon!

Tag summary

Content type

Image

Digest

Size

179.7 MB

Last updated

about 6 years ago

docker pull arcor2/arcor2_base