Python library for SimTech simcomplex (autonomous ship handling emulating system) - with tutorials and examples for ashapi usage
Project description
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
Зависимости
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
File details
Details for the file ashapipro-1.0.0.tar.gz
.
File metadata
- Download URL: ashapipro-1.0.0.tar.gz
- Upload date:
- Size: 66.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 482b22706ed12b93902bbc15c5e4dc3bf1142cfd9c032ec11fdf61a0ce859ef7 |
|
MD5 | c28e3f235248feec9a978054a9a0080c |
|
BLAKE2b-256 | 7220e9bc65e091eba270cc6418c2258be281003442e2fab2b517cad95d16661d |
File details
Details for the file ashapipro-1.0.0-py3-none-any.whl
.
File metadata
- Download URL: ashapipro-1.0.0-py3-none-any.whl
- Upload date:
- Size: 91.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 61b490e698462690c0d2e78299428483eb25965e3a1bae015db25d1db7c80cd3 |
|
MD5 | a9e1b71794442fa8c703972ea2a4be8c |
|
BLAKE2b-256 | 0800c9ee690e9ce5607f0ae3604e4c74e7b1621a600572f4288bd844b3f4b5da |