Skip to main content

Integration and Supervisory control of Autonomous Robots - Open source robot implementation

Project description

isar-robot

ISAR - Integration and Supervisory control of Autonomous Robots - is a tool for integrating robot applications into Equinor systems. Through the ISAR API you can send command to a robot to do missions and collect results from the missions.

Running the full ISAR system requires an installation of a robot which satisfies the required interface. isar-robot is a default implementation of such a robot.

Installation

For installation of isar-robot to use with ISAR, please follow the robot integration installation guide.

Run isar-robot

After installing isar-robot, it can be used through ISAR.

Development

For local development, create a fork of the repository and clone the fork to your machine:

git clone https://github.com/<your-username>/isar-robot
cd isar-robot

It is recommended to create a virtual environment, see a guide for this here: https://docs.python.org/3/library/venv.html.

Then install the requirements and the package:

pip install -r requirements.txt -e .[dev]

Configurable variables

Specific mission and step behaviours can be configured as enviorment variables. These are optional and do not have to be set. These allow for always failing specific mission types, failing specific step types, setting custom step durations, and setting custom mission durations. The following list shows all configurable environment variables. In this case "normal" means non-localization or return to home tasks.

The variable names and types are as follows:

STEP_DURATION_IN_SECONDS: float
MISSION_DURATION_IN_SECONDS: float
SHOULD_FAIL_NORMAL_STEP: bool
SHOULD_FAIL_NORMAL_MISSION: bool
SHOULD_FAIL_LOCALIZATION_STEP: bool
SHOULD_FAIL_LOCALIZATION_MISSION: bool
SHOULD_FAIL_RETURN_TO_HOME_STEP: bool 
SHOULD_FAIL_RETURN_TO_HOME_MISSION: bool

Every configuration variable is defined in settings.py, and they may all be overwritten by specifying the variables in your ".env" file in ISAR. Note that the configuration variable must be prefixed with ROBOT_ when specified in the ISAR environment file.

Dependencies

The dependencies used for this package are listed in pyproject.toml and pinned in requirements.txt. This ensures our builds are predictable and deterministic. This project uses pip-compile (from pip-tools) for this:

pip-compile --output-file=requirements.txt pyproject.toml

To update the requirements to the latest versions, run the same command with the --upgrade flag:

pip-compile --output-file=requirements.txt pyproject.toml --upgrade

Contributing

We welcome all kinds of contributions, including code, bug reports, issues, feature requests, and documentation. The preferred way of submitting a contribution is to either make an issue on github or by forking the project on github and making a pull request.

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

isar_robot-1.4.3.tar.gz (18.5 MB view details)

Uploaded Source

Built Distribution

isar_robot-1.4.3-py3-none-any.whl (18.5 MB view details)

Uploaded Python 3

File details

Details for the file isar_robot-1.4.3.tar.gz.

File metadata

  • Download URL: isar_robot-1.4.3.tar.gz
  • Upload date:
  • Size: 18.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for isar_robot-1.4.3.tar.gz
Algorithm Hash digest
SHA256 efbe05c522bcda9c0a3d48493f8f3244c6940538328f5804ad077f64efb6e5cc
MD5 18106d610d16bb3a7cbdd4d0e9e494df
BLAKE2b-256 8c877bb4fc556fcfa6e5e69a7244305378e7273f2372db40d05548f72ed116d4

See more details on using hashes here.

File details

Details for the file isar_robot-1.4.3-py3-none-any.whl.

File metadata

  • Download URL: isar_robot-1.4.3-py3-none-any.whl
  • Upload date:
  • Size: 18.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for isar_robot-1.4.3-py3-none-any.whl
Algorithm Hash digest
SHA256 5c64b9036416f8c4b408e77922f50d99e1ac0a34b29b6c47c1d4d627a32203e6
MD5 2ae25e6c863b06ac26163315fd3db22b
BLAKE2b-256 6b5b1b2a9f2f6f1883054d729f2fa628ed7d4f55f6447d7a9ebe2214d8ead4a1

See more details on using hashes here.

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