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
Hashes for ashapipro-1.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 61b490e698462690c0d2e78299428483eb25965e3a1bae015db25d1db7c80cd3 |
|
MD5 | a9e1b71794442fa8c703972ea2a4be8c |
|
BLAKE2b-256 | 0800c9ee690e9ce5607f0ae3604e4c74e7b1621a600572f4288bd844b3f4b5da |