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)
| File | Size | Uploaded | |
|---|---|---|---|
| ashapipro-1.0.0.tar.gz | 66.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|