Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ashapipro-1.0.0.tar.gz (66.9 kB view hashes)

Uploaded Source

Built Distribution

ashapipro-1.0.0-py3-none-any.whl (91.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page