Введение 3
Постановка задачи 5
Обзор литературы 6
Глава 1. Среда симуляции 7
1.1. PhysX 8
Глава 2. Модель двухколесного робота с дифференциальным приводом 9
2.1. Двухколесный робот с дифференциальным приводом 9
2.2. Кинематическая модель 10
2.3. Динамическая модель 12
Глава 3. Идентификация динамической модели 15
3.1. Задание модели в Unity 16
Глава 4. Позиционирование робота 19
Глава 5. Система управления роботом 21
5.1. Комплекс связи с внешней программой 21
5.2. Обратная связь по изображению 23
5.3. Отработка траектории движения робота 27
Глава 6. Эксперименты 29
Выводы 35
Заключение 36
Список литературы 37
В современном мире процесс автоматизации проникает во многие отрасли жизни: собираются транспортные средства на производствах, предоставляются различные услуги доставки мобильными роботами в кафе и отелях. Мобильные роботы обеспечивают высокую производительность работы различных предприятий как промышленных, так и сферы услуг. Нет необходимости переживать об организации труда и ошибках, связанных с человеческим фактором. Для развития процесса автоматизации необходимо всестороннее исследование возможности управления мобильным роботом, используя современные передовые способы разработки роботов. Одной из первоочередных задач является задача отработки движения робота по заданной траектории с помощью управления значениями на моторах колес. Такое движение часто используется в сельскохозяйственной промышленности роботами, использующими GPS-навигацию, а также роботами-экскурсоводами или уже многим знакомыми роботами-пылесосами.
Работа с физическим прототипом робота может осложняться большой стоимостью его составных частей и исследовательского оборудования. Кроме того, существует риск неудачных и травмирующих экспериментов, которые могут привести к поломке оборудования. Симуляция позволяет решать проблемы безопасности, позволяя предотвратить опасные для целостности и работоспособности робота ситуации, а также симуляция существенно экономит время исследования в случае необходимости многократного повторения экспериментов, используя возможности одновременного запуска различных ситуаций, необходимых, например, для обучения нейронных сетей.
Благодаря продвинутым технологиям средств симуляции можно воссоздать разнообразные поверхности, наделяя их необходимыми физическими свойствами, симулируя сопротивление и силу трения.
Некоторые исследователи считают, что работа в симуляции—это слишком сложно и трудоемко [6]. Однако в действительности современные платформы имеют большой спектр возможностей, что позволяет реализовать все необходимое для решения поставленных задач без особых ограничений и усилий.
Учитывая развитие, которое получили различные движки симуляции за последнее время, актуальной становится задача исследования возможности использования средств симуляции для разработки систем управления мобильными роботами. В настоящее время доступно не так много бесплатных сред симуляции для эффективного проведения экспериментов по управлению транспортными средствами. В данной работе рассматривается платформа Unity3D, являющаяся общедоступной средой разработки, имеет неплохую документацию и широко используется для решения различных задач. Несмотря на основное направление применения данной платформы в качестве среды для разработки компьютерных игр, что влечет за собой разносторонние упрощения и оптимизации процессов вычисления, Unity поддерживает PhysX SDK 4, благодаря чему его можно использовать в качестве физического движка, для чего создано множество дополнительных возможностей описания взаимодействия объектов окружающей среды и транспортных средств с физической точки зрения.
В ходе работы были получены следующие результаты:
• реализована симуляционная модель движения мобильного двухколесного робота с дифференциальным приводом в среде Unity;
• организована коммуникация модели в Unity с внешней программой для управления с использованием информации с изображений;
• синтезированы регуляторы для отработки движения по траектории в двух режимах управления, выбран наиболее оптимальный регулятор;
• работоспособность системы продемонстрирована на примере нескольких симуляционных экспериментов.
Отметим, что в работе применены достаточно простые регуляторы. В дальнейшем планируется использовать полную информацию о траектории (скорости и ускорения) в обратной связи, а так же попробовать более сложные законы управления, в том числе, с учетом запаздывания управляющего сигнала. Помимо этого, особого внимания требует вопрос оценки скоростей по информации с видеокамеры ввиду неточностей распознавания. Также перспективным направлением является вопрос управления с визуальной обратной связью (visual servoing), который заключается в минимизации текущего и желаемого набора точек на изображении.