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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

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

Hashes for ashapipro-1.0.0.tar.gz
Algorithm Hash digest
SHA256 482b22706ed12b93902bbc15c5e4dc3bf1142cfd9c032ec11fdf61a0ce859ef7
MD5 c28e3f235248feec9a978054a9a0080c
BLAKE2b-256 7220e9bc65e091eba270cc6418c2258be281003442e2fab2b517cad95d16661d

See more details on using hashes here.

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

Hashes for ashapipro-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 61b490e698462690c0d2e78299428483eb25965e3a1bae015db25d1db7c80cd3
MD5 a9e1b71794442fa8c703972ea2a4be8c
BLAKE2b-256 0800c9ee690e9ce5607f0ae3604e4c74e7b1621a600572f4288bd844b3f4b5da

See more details on using hashes here.

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