Skip to main content

ashapipro

ASHAPIPRO - Autonomous Ship Handling Application Programming Interface Prototypes library - компонент Библиотека прототипов Имитационного Программного Комплекса Автономного Судовождения (ИПКАС).

Библиотека прототипов содержит примеры реализации систем управления движением судна, разработанные на основе известных алгоритмов и доступные стороннему разработчику, а также коллекцию примеров использования внешнего программного интерфейса комплекса, что облегчает сторонним разработчикам процесс ознакомления с доступными средствами разработки и набором доступных сигналов и данных симуляции.

Библиотека прототипов реализуется на языке Python на основе внешних программных интерфейсов, предоставляемых компонентом Шлюз программного интерфейса (ashapi). Таким образом системы управления, реализованные в библиотеке прототипов, получают доступ ко всем данным симуляции и осуществляют управление через Шлюз программного интерфейса.

Исследователь, который использует имитационный программный комплекс как интегрированную среду для разработки и тестирования своих проектов в сфере автономного судовождения, может воспользоваться предоставленными системами управления и/или алгоритмами напрямую для проведения испытания, или включить их в код своего проекта, что позволит ускорить разработку более высокоуровневых систем управления.

Примеры использования

Tutorials

В модуле tutorials даны примеры использования модуля ashapi совместно с ИПКАС:

  • tutorials/objects

    Примеры работы с данными ИПКАС (получение списка моделей, областей маневрирования,сцен, записей и обработка этих данных).

  • tutorials/environment

    Примеры получения свойств и установки настроек окружающей среды проводимого испытания (ветер, волнение, течение, время суток, условия видимости и погодные условия).

  • tutorials/objects

    Примеры получения набора объектов в проводимом испытании, получение их свойств и управление параметрами объектов и оборудования, добавление объектов.

  • tutorials/recording

    Примеры загрузки сохранённых файлов записи испытаний и работы с ними (запуск воспроизведения, перемотка времени, установка скорости воспроизведения, пошаговое воспроизведение и прочее).

  • tutorials/routes

    Примеры получения набора маршрутов в проводимом испытании, получение данных о наборе точек маршрута и их свойств, добавление и редактирование маршрутов.

  • tutorials/scene

    Примеры загрузки сохранённых сцен испытаний, создание новых сцен, и примеры работы с данными сцены (получение набора объектов, маршрутов и т.п.).

  • tutorials/simulation

    Примеры управления симуляцией (запуск, пауза, изменение скорости симуляции, пошаговое исполнение).

Autopilot

В модуле autopilot дан пример реализации модели автопилота. Приведены реализации регуляторов управления курсом и скоростью судна, а также реализация регулятора, осуществляющего управление судном для удержания его на маршруте.

Примеры использования регуляторов для управления судном в ИПКАС даны в модуле tutorials:

  • Управление курсом:

    tutorials/objects/cargo_keep_course.py

  • Управление скоростью:

    tutorials/objects/cargo_keep_speed.py

  • Удержание на маршруте:

    tutorials/routes/tuga_follow_route.py

Routes

В модуле routes даны реализация алгоритмов построения графов и поиска пути в графе, которые могут быть использованы для построения навигационных маршрутов в акватории. Построение графов производится на основе данных области маневрирования ИПКАС.

Примеры построения маршрутов в области маневрирования ИПКАС даны в модуле tutorials:

  • Построение маршрута по алгоритму А* (поиск кратчайшего пути) на графе, в основе которого лежит разбиение области на квадратные ячейки (вершины графа), а рёбрами являются 8 ближайших (соседних) ячеек:

    tutorials/routes/build_astar_path_on_area_neighbours_graph.py

  • Построение маршрута по алгоритму Беллмана-Форда (поиск кратчайшего пути), с использованием графа на вершинах буферного полигона:

    tutorials/routes/build_bellman_ford_path_on_area_polygon_graph.py

  • Построение маршрута по алгоритму Дейкстры (поиск пути) на графе "все со всеми", в основе которого лежит разбиение области на квадратные ячейки (вершины графа), а рёбрами являются все ячейки, доступные из вершины по прямой:

    tutorials/routes/build_dijkstra_path_on_area_all_to_all_graph.py

Установка

$ pip install ashapipro

Зависимости

Metadata

Release files for ashapipro 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ashapipro 1.0.0
File Size Uploaded
ashapipro-1.0.0.tar.gz 66.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ashapipro 1.0.0
File Interpreter ABI Platform
ashapipro-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 157.9 kB

Release files / ashapipro-1.0.0.tar.gz

Download URL ashapipro-1.0.0.tar.gz
Size 66.9 kB
Tags Source
SHA-256 checksum
How to use checksums
482b22706ed12b93902bbc15c5e4dc3bf1142cfd9c032ec11fdf61a0ce859ef7
BLAKE2b-256 checksum
How to use checksums
7220e9bc65e091eba270cc6418c2258be281003442e2fab2b517cad95d16661d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.10

Release files / ashapipro-1.0.0-py3-none-any.whl

Download URL ashapipro-1.0.0-py3-none-any.whl
Size 91.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
61b490e698462690c0d2e78299428483eb25965e3a1bae015db25d1db7c80cd3
BLAKE2b-256 checksum
How to use checksums
0800c9ee690e9ce5607f0ae3604e4c74e7b1621a600572f4288bd844b3f4b5da
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.10

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release 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