Package: ashapipro
ashapiproASHAPIPRO-AutonomousShipHandlingApplicationProgrammingInterfacePrototypes 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.pyRoutesВ модуле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Зависимостиsimcomplex(ИПКАС - Имитационный Программный Комплекс Автономного Судовождения)Python>= 3.8ashapigeopandasnetworkxfoliummatplotlibmapclassify