Skip to main content

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

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

Choose if you want to run via uv or manually creating venv

Local development with uv

An easy way to run isar-robot locally is with uv. By default, dependencies are installed from the registry versions in uv.lock; no sibling checkout is required.

Run these commands from the isar-robot directory:

uv sync --locked --extra dev
uv run --locked isar-start

Developing against a local ISAR checkout

To edit ISAR alongside isar-robot, clone ISAR into a sibling directory:

parent-folder/
├── isar/
└── isar-robot/
uv sync --locked --extra dev
uv pip install --python .venv/bin/python --no-deps --editable ../isar
uv pip check --python .venv/bin/python
uv run --no-sync isar-start

Run these commands from isar-robot as well. On Windows, use .venv\Scripts\python.exe instead of .venv/bin/python.

The editable install changes only the virtual environment, not pyproject.toml or uv.lock. Edits to the sibling checkout are used immediately. --no-deps preserves the locked dependencies, so use an ISAR checkout compatible with them. If uv pip check reports incompatible or missing dependencies, use a compatible checkout or update the dependencies deliberately before continuing.

Use uv run --no-sync for commands (including uv run --no-sync pytest) while working with the editable checkout. A normal uv run, make run, or uv sync can replace it with the locked registry package. Reapply the editable install after syncing; to return to registry-only dependencies, run uv sync --locked --extra dev.

Configurable variables

Specific mission and task behaviours can be configured as environment variables. These are optional and do not have to be set. These allow for always failing specific mission types, failing specific task types, setting custom task 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:

TASK_DURATION_IN_SECONDS: float
MISSION_DURATION_IN_SECONDS: float
SHOULD_FAIL_NORMAL_TASK: bool
SHOULD_FAIL_RETURN_TO_HOME_TASK: 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 uv.lock. This ensures our builds are predictable and deterministic. This project uses uv for dependency management:

Install pinned dependencies and this project in editable mode:

uv sync --locked --extra dev

For an editable sibling ISAR dependency, follow Developing against a local ISAR checkout above. Local paths are intentionally not committed as dependency sources, so CI and Dependabot can work without sibling repositories.

Refresh the lockfile after changing dependency declarations:

uv lock

To update the dependencies to the latest versions, run:

uv lock --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.

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-2.4.0.tar.gz (21.8 MB view details)

Uploaded Source

Built Distribution

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

isar_robot-2.4.0-py3-none-any.whl (21.7 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: isar_robot-2.4.0.tar.gz
  • Upload date:
  • Size: 21.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.7

File hashes

Hashes for isar_robot-2.4.0.tar.gz
Algorithm Hash digest
SHA256 a2c16d0d7558b0ccc726ad42009b7d4277ed573df4d037c82a2c3bd7f2027aef
MD5 1a788e868b062744e45c3e5e740aa50a
BLAKE2b-256 e695554cffefade2eb9858b841a37a2abcc09e73a862367e2575667d11f156f0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: isar_robot-2.4.0-py3-none-any.whl
  • Upload date:
  • Size: 21.7 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.7

File hashes

Hashes for isar_robot-2.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d93cb75f3e0a6fa0a7891756e120759ef233bd5305976dca0b0c65c924c18b7b
MD5 df9aeb9178d932e76e7b9da76e9315c1
BLAKE2b-256 f37966b8fcfceb53cad388f22d0e121f1b57d3a51024d4b311ee155f458e61c8

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

2.4.0 This release

2 files

2.3.2

2 files

2.3.1

2 files

2.3.0

2 files

2.2.1

2 files

2.2.0

2 files

2.1.3

2 files

2.0.3

2 files

2.0.2

2 files

2.0.1

2 files

2.0.0

2 files

1.5.24

2 files

1.5.23

2 files

1.5.22

2 files

1.5.21

2 files

1.5.20

2 files

1.5.19

2 files

1.5.18

2 files

1.5.17

2 files

1.5.16

2 files

1.5.15

2 files

1.5.14

2 files

1.5.13

2 files

1.5.12

2 files

1.5.11

2 files

1.5.10

2 files

1.5.9

2 files

1.5.8

2 files

1.5.7

2 files

1.5.6

2 files

1.5.5

2 files

1.5.4

2 files

1.5.3

2 files

1.5.2

2 files

1.5.1

2 files

1.5.0

2 files

1.4.8

2 files

1.4.7

2 files

1.4.6

2 files

1.4.5

2 files

1.4.4

2 files

1.4.3

2 files

1.4.2

2 files

1.4.1

2 files

1.4.0

2 files

1.3.16

2 files

1.3.15

2 files

1.3.13

2 files

1.1.0

2 files

1.0.7

2 files

1.0.6

2 files

1.0.5

2 files

1.0.2

2 files

1.0.1

2 files

1.0.0

2 files

0.0.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page