Планирование траектории автономного мини-корабля
Планирование траектории движения мини-корабля в среде с препятствиями. Структура аппаратного обеспечения системы, архитектура программного обеспечения, построенного на базе клиент-серверной модели взаимодействия со слабой связанностью компонентов.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 27.07.2017 |
Размер файла | 741,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Южный федеральный университет
Планирование траектории автономного мини-корабля
Р.В. Федоренко, Б.В. Гуренко
Аннотация
В работе рассматривается процесс планирования траектории движения мини-корабля в среде с препятствиями. Приведена структура аппаратного обеспечения системы управления, архитектура программного обеспечения, построенного на базе клиент-серверной модели взаимодействия со слабой связанностью компонентов, в программной среде ROS. Глобальный планировщик разработан с использованием метода диаграмм Вороного. Локальный планировщик (регулятор) предложено реализовать с использованием неустойчивых режимов управления для обхода препятствий вблизи мини-корабля.
Описаны результаты моделирования, показавшие работоспособность предложенных подходов.
Ключевые слова: мини-корабль, управление, планирование, диаграмма Вороного, ROS
Автономные мини-корабли могут быть полезны для выполнения широкого круга задач, включая мониторинг окружающей среды, работу на загрязненных участках, поисковые и спасательные операции.
Схема использования автономного мини-корабли заключается в следующем. Сначала оператор пункта управления визуально на карте строит миссию. Система управления осуществляет картографирование, обнаружение препятствий и планирование траектории для движения между контрольными точками миссии в обход препятствий.
Предложенная авторами в работе [1 - 5] система автоматического управления позволяет организовать автоматическое движение катера вдоль заданной траектории. В данной статье, являющейся продолжением работы авторов, рассматривается процесс планирования траектории движения катера в среде с препятствиями.
В работе приведена структура аппаратного обеспечения системы управления, архитектура программного обеспечения, построенного на базе клиент-серверной модели взаимодействия со слабой связанностью компонентов, описаны результаты моделирования, показавшие работоспособность предложенных подходов.
Для разработки программного обеспечения авторы используют среду ROS представляющую стандарт де-факто в разработке ПО для робототехники. Данная среда имеет в своем составе стек планирования движения, который лег в основу описанной ниже программной архитектуры системы управления мини-корабля[6]. Однако, для адаптации к объекту управления - мини-кораблю авторами в рамках данной архитектуры разработаны новые программные пакеты в части планирования движения.
Планирование движения является одной из фундаментальных проблем в робототехнике. Существует ряд принципиально разных подходов, применимых в различных задачах, таких как метод семплирования, вероятностный метод, методы поиска на графах, метод обобщенных диаграмм Вороного. Наиболее часто используемыми являются методы поиска на графах, такие как A*. Такой метод реализован и в стандартном глобальном планировщике стека планирования программной среды ROS, который будет рассмотрен подробнее ниже. Данный планировщик строит кратчайший путь в целевую точку в обход препятствий. Однако, в ряде задач, в том числе и при планировании движения мини-корабля длина пути при движении в среде с препятствиями может не являться главным критерием при выборе метода планирования. Важной задачей является построение траектории движения максимально удаленной от препятствий для уменьшения вероятности столкновения с ними. Поэтому в данной работе была выполнена разработка программного пакета планирования глобальной траектории на базе обобщенных диаграмм Вороного для среды ROS, реализация которого в данной среде ранее не существовало.
Аппаратная реализация системы автоматического управления автономного катера. Структура аппаратного обеспечения системы управления автономного мини-корабля показана на рис.1. При разработке использована парадигма разделения вычислительной части на высокоуровневую (компьютер) и низкоуровневую (микроконтроллерный блок).
архитектура программный серверный аппаратный
Рис.1. Аппаратная реализация системы управления мини-корабля
Микроконтроллерный блок получает данные от компьютера или пульта дистанционного управления и генерирует ШИМ-сигнал для управления двигателями и сервоприводами. Компьютер вычисляет требуемые управляющие воздействий в соответствии с алгоритмом управления, выполняет программное обеспечение навигационной системы, и обменивается данными с наземным пунктом управления.
Архитектура программного обеспечения. В качестве операционной системы бортового компьютера используется Ubuntu Linux. Программное обеспечение построено на базе Robot Operating System, что позволяет реализовать слабую связанность компонентов и клиент-серверный шаблон их взаимодействия.
В качестве основы программной архитектуры системы планирования был использован стек ROSNavigation[3], который был сконфигурирован для мини-корабля и существенно переработан в части дополнения модулем планировщика глобальной траектории и локальным планировщиком (регулятором).
Структура программного обеспечения системы управления показана на рис.2.
Рис.2. Структура программного обеспечения
В стеке используются две карты препятствий, которые строятся на основе данных лазерного сканера и навигационной системы, модулем costmap_2dи отличаются назначением и, соответственно, размером и разрешением. Глобальная карта имеет большой размер и предназначена для планирования глобальной траектории движения, локальная карта препятствий имеет меньший размер, большее разрешение и предназначена для обхода близко расположенных препятствий. Глобальная карта используется глобальным планировщиком, локальная - локальным (или регулятором). Глобальный планировщик выполняет поиск плана движения на глобальной карте и передает этот план (в виде последовательности точек) локальному планировщику (регулятору), который рассчитывает управляющие воздействия на исполнительные механизмы для выполнения выработанного плана и одновременно выполняет обход близко расположенных препятствий, даже если это не было предусмотрено глобальным планом (подвижные или неизвестные препятствий).
Описание глобального планировщика приведено ниже. В качестве теоретической базы для реализации регулятора с функцией локального планировщика на базе неустойчивых режимов управления была использованы работа [7].
Планирование глобальной траектории. При планировании движения мини-корабля длина пути при движении в среде с препятствиями может не являться главным критерием при выборе метода планирования. Важной задачей является построение траектории движения максимально удаленной от препятствий для уменьшения вероятности столкновения с ними. Поэтому в данной работе была выполнена разработка программного пакета voronoi_planner [8] планирования глобальной траектории на базе обобщенных диаграмм Вороного для среды ROS, реализация которого в данной среде ранее не существовало.
Диаграмма Вороного множества точек S на плоскости представляет собой такое разбиение плоскости, при котором каждая область этого разбиения образует множество точек, более близких к одной из точек множества S, чем к любой другой точке этого множества. Таким образом, границы областей этого разбиения являются равноудаленными от ближайших двух точек. Обобщенные диаграммы Вороного строятся вокруг множества фигур на плоскости (вместо множества точек) и их границы представляют собой геометрическое место точек удаленных от этих фигур, что можно использовать для построения траектории, наиболее удаленной от препятствий. Существует ряд алгоритмов построения обобщённых диаграмм Вороного и их программных реализаций. В данной работе использована библиотека с открытым исходным кодом dynamicvoronoi[9, 10].
Пакет voronoi_planner реализован как плагин навигационного стека, реализующий интерфейс nav_core::BaseGlobalPlanner. Пакет читает глобальную карту препятствий, преобразует ее и передает в функцию построения обобщенной диаграммы Вороного библиотеки dynamicvoronoi. Далее выполняется поиск пути, включающий 3 этапа: поиск пути от текущей координаты мини-корабля до графа Вороного, поиск пути от целевой точки до графа Вороного и поиск пути на графе Вороного между двумя его точками, расположенными вблизи начального и целевого положения.
Сравнение траекторий, полученных планировщиком A* и voronoi_planner, представлено на рис. 3, 4. Видно, что траектория, полученная планировщиком с использованием диаграмм Вороного, является наиболее удаленной от препятствий.
Рис.3. Сравнение траекторий, полученных планировщиком A* (а) и voronoi_planner (б)
Рис.4. Сравнение траекторий, полученных планировщиком A* и voronoi_planner, пример 2
Недостатком планировщика voronoi_planner по сравнению с планировщиками на основе поиска на графах, такими как A*, является, безусловно, быстродействие. Однако, из данных оценки быстродействия планировщика voronoi_planner, представленных в таблице №1 и на рис. 5 видно, что при правильном выборе размера и разрешения карты такой планировщик вполне может использоваться для задачи глобального планирования в реальном времени. Измерение проводилось посредством команд получения отметки времени задания целевой точки и начала поиска rostopicecho /move_base/goal/header/stamp и отметки времени получения плана rostopicecho /move_base/VoronoiPlanner/plan/header/stamp.
Таблица 1. Время получения плана планировщикомvoronoi_plannerдля карт различного размера
Размер карты |
Среднее время получения плана, c |
|
1200 X 900 |
2,8 |
|
800 X 600 |
0,8 |
|
600 X 450 |
0,5 |
Рис. 4. Время получения плана планировщикомvoronoi_plannerдля карт различного размера
Результаты моделирования. Для подтверждения работоспособности предложенных решений в целом был разработан комплекс моделирования движения мини-корабля. Комплекс позволяет моделировать движение мини-корабля в среде с препятствиями, подавать уставки управления исполнительными механизмами, получать навигационную информацию и данные имитируемого лазерного сканера.
На рис. 5а представлена трехмерное сцена для моделирования задачи выхода мини-корабля из бухты, на рис. 5б - соответствующая карта, полученная посредством имитируемого лазерного сканера, и спланированная траектория движения мини-корабля.
Рис. 5. Моделирование задачи выхода мини-корабля из бухты
Использование комплекса моделирования позволило подтвердить работоспособность предложенных решений и перейти к подготовке натурных испытаний.
Выводы
Предложенные в статье модификации программных компонентов описанной программной архитектуры (глобального планировщика и регулятора) в соответствии с результатами моделирования позволяют использовать предложенные решения для дальнейших натурных экспериментов с мини-кораблем.
Литература
1. BorisGurenko, Roman Fedorenko, Anatoly Nazarkin Autonomous surface vehicle control system // Applied Mechanics and Materials Journal.- 2014 (ISSN: 1660-9336). - Vol. 704. -p. 277.
2. Гуренко Б.В., Федоренко Р.В., Назаркин А.С. Система управления автономного надводного мини-корабля // Современные проблемы науки и образования. - 2014. - №5,URL:science-education.ru/119-14511 (дата обращения: 12.10.2015).
3. Пшихопов В.Х., Медведев М.Ю., Федоренко Р.В., Гуренко Б.В., Чуфистов В.М., Шевченко В.А. Алгоритмы многосвязного позиционно-траекторного управления подвижными объектами// Инженерный вестник Дона, 2014, №4 URL:ivdon.ru/ru/magazine/archive/n4y2014/2579.
4. Пшихопов В.Х., Гуренко Б.В. Синтез и исследование авторулевого надводного мини-корабля «Нептун» // Инженерный вестник Дона, 2013, №4 URL:ivdon.ru/ru/magazine/archive/n4y2013/1919.
5. Гуренко Б.В., Федоренко Р.В., Береснев М.А., Сапрыкин Р.В., Переверзев В.А. Разработка симулятора автономного необитаемого подводного аппарата // Инженерный вестник Дона, 2014, №3 URL: ivdon.ru/ru/magazine/archive/n3y2014/2504/.
6. Navigation - ROS Wiki // Robot Operating System URL: wiki.ros.org/navigation (accessed: 20.09.2015).
7. Пшихопов В.Х. Управление подвижными объектами в недетерменированных средах использованием неустойчивых режимов // Материалы конференции "Управление в технических, эргатических, организационных и сетевых системах". - Под редакцией С.Н. Васильева, И.А. Каляева, Д.А. Новикова, Г.Г. Себрякова. - 2012. - С. 786-789.
8. Voronoi_planner - ROS Wiki // Robot Operating System URL: wiki.ros.org/voronoi_planner (accessed: 20.09.2015).
9. B. Lau, C. Sprunk and W. Burgard, Improved Updating of Euclidean Distance Maps and Voronoi Diagrams // IEEE Intl. Conf. on Intelligent Robots and Systems (IROS). - Taipei, Taiwan. - 2010. - pp. 281 - 286.
10. Dynamicvoronoi - ROS Wiki // Robot Operating System URL: wiki.ros.org/dynamicvoronoi (accessed: 20.09.2015).
Размещено на Allbest.ru
...Подобные документы
Разработка модели движения трёх видов судов: надводного корабля "Красный Кавказ", катера "Тритон" и корабля на подводных крыльях. Написание программной модели в среде Matlab и исследование с ее помощью динамических свойств моделируемых объектов.
курсовая работа [590,5 K], добавлен 08.03.2012Многообразие мини-игр и возможности языка Visual basic 6.0 для их реализации. Понятие мини-игр и их классификация. Элементы управления мини-игры "Реверси". Разработка прикладной программы. Создание игрового интерфейса. Написание программного кода.
курсовая работа [1,5 M], добавлен 03.06.2014Моделирование траектории движения космического аппарата, запускаемого с борта космической станции, относительно Земли. Запуск осуществляется в направлении, противоположном движению станции, по касательной к её орбите. Текст программы в среде Matlab.
контрольная работа [138,8 K], добавлен 31.05.2010Мониторинг аппаратного обеспечения для оценки состояния компьютера. Реализация приложения "Мониторинг аппаратного обеспечения" на языке C# в среде программирования Visual Studio 2013 с использованием технологии Windows Presentation Foundation (WPF).
курсовая работа [767,8 K], добавлен 21.02.2016Схемы взаимодействия между заказчиком и разработчиком программного обеспечения. Качество программного обеспечения и определение основных критериев его оценка на современном этапе, особенности управления на стадиях жизненного цикла, анализ достаточности.
презентация [114,7 K], добавлен 14.08.2013Применение компьютерных сетей для организации сетевого взаимодействия. Планирование адресного пространства для сети, управление коммутатором. Физическая структура сети, подбор аппаратного и программного обеспечения. Топология сети и сетевых протоколов.
курсовая работа [1,3 M], добавлен 12.07.2012Анализ административного программного обеспечения локальной сети. Структура сетевых операционных систем. Планирование и сетевая архитектура локальной сети. Использование сетевых ресурсов на примере предприятия, предоставляющего услуги Интернет-провайдера.
контрольная работа [112,5 K], добавлен 15.12.2010Суть и описание проекта (резюме бизнес-плана). Классификация программного обеспечения для управления проектами. Функции программного обеспечения для календарного планирования. Календарное планирование. Управление затратами.
курсовая работа [192,2 K], добавлен 18.06.2007"1С: Предприятие" - система программ для автоматизации различных областей экономической деятельности предприятия. Технологическая платформа и конфигурации системы. Создание мини-системы "Шиномонтаж" с использование программного продукта "1С: Предприятие".
курсовая работа [1,9 M], добавлен 19.01.2016Реализация информационной системы "Стройгенплан" в архитектуре "клиент-сервер". Цели и задачи моделируемой информационной системы, ее функциональная и информационная модели. Описание программного обеспечения, разработанного в архитектуре "клиент-сервер".
курсовая работа [1,9 M], добавлен 30.08.2010Запросы клиента по области возможных запросов к серверу. Программа для прогнозирования поведения надежности программного обеспечения на основе метода Монте-Карло. Влияние количества программ-клиентов на поведение программной системы клиент-сервера.
контрольная работа [705,3 K], добавлен 03.12.2010Основные понятия серверов. Модель клиент-сервер. Классификация стандартных серверов. Недостатки файл-серверной системы. Криптографические методы защиты информации. Серверы удаленного доступа. Методы и средства обеспечения безопасности информации.
контрольная работа [36,3 K], добавлен 13.12.2010Теоретическое обоснование и разработка программы создания мини игры "Магический квадрат". Анализ содержания понятия "магический квадрат". Методы построения магических квадратов. Разработка программ создания мини-игр на языке программирования Delphi.
курсовая работа [3,5 M], добавлен 18.01.2011Методика и основные этапы разработки системы тестирования для оценки уровня знаний студентов с применением технологии "Клиент-сервер". Проектирование клиентской, серверной части данной системы тестирования, порядок составления финальных отчетов.
дипломная работа [587,6 K], добавлен 08.11.2010Изменения в управлении трудовыми ресурсами в компании "Забота". Краткий обзор моделирования. Информационные и коммуникационные технологии и общество. Архитектура программного обеспечения "Клиент-сервер". Форма контракта на продажу механических станков.
дипломная работа [85,4 K], добавлен 03.12.2011Особенности применения автономных необитаемых подводных аппаратов (АНПА) в задачах обследования акватории, их виды и основные задачи. Система автоматизации подготовки программы-задания для АНПА. Программное обеспечение для формирования траектории.
дипломная работа [3,3 M], добавлен 19.12.2011Понятие технологии разработки программного обеспечения и модели жизненного цикла. Сущность объектно-ориентированного подхода. Строительные блоки, общие механизмы языка моделирования UML, диаграммы классов, состояний, взаимодействий и компонентов.
курсовая работа [262,5 K], добавлен 10.07.2014Последовательность конфигурирования клиентского программного обеспечения для работы в сети. Парметры настройки и подключения сетевого принтера. Обновление конфигурации программы 1С: Предприятие. Анализ аппаратного обеспечения сети данной организации.
отчет по практике [1,6 M], добавлен 22.01.2011Цементирование обсадных колонн нефтяных скважин. Состав информационного обеспечения программного комплекса автоматизированного проектирования. Реализация инфологической модели и организация взаимодействия программного обеспечения с базой данных.
дипломная работа [2,3 M], добавлен 22.07.2013Разработка программного обеспечения автоматической системы научных исследований (АСНИ) в интегрированной среде программирования Borland C++ Builder 6.0, работающего в среде ОС Windows, позволяющего осуществлять управление процессом спектрального анализа.
курсовая работа [569,3 K], добавлен 05.03.2009