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
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
Built Distribution
Hashes for isar_robot-1.4.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1bb792eb85b3e2b6174c79a0cc57b0c5e63d7cca4a6551bc491cad62bef0a2ee |
|
MD5 | 6833293fa6c8bc67a61d0ad035c11a4a |
|
BLAKE2b-256 | 76186fd7c3bd84d2239223ae8e102cd89fdc8f37c3f0efaf073e930627c85f46 |