Тема: Разработка системы управления для робота-гексапода
Характеристики работы
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
1. Обзор литературы 15
2. Анализ и сравнение колесного, гусеничного и шагающего способов
передвижения 18
3. Разработка системы управления 24
3.1. Определение задач, решаемых системой управления 24
3.2. Аппаратное обеспечение системы управления 25
3.3. Разработка модуля локализации и построения карты 31
3.4. Разработка модуля ходьбы на основе обучения с подкреплением 40
3.5. Объединение разработанных модулей в систему навигации 53
4. Финансовый менеджмент, ресурсоэффективность и ресурсосбережение ...57
5. Социальная ответственность 73
Заключение 84
Список публикаций 85
Список используемых источников 88
Приложения 92
📖 Введение
Основной задачей при создании робота - гексапода является разработка алгоритма для его передвижения. Правильный алгоритм должен обеспечивать сохранение стабильности походки и положения туловища робота при максимально возможной на данном ландшафте скорости. Принимая во внимание разнообразие форм, типов, рельефов, консистенций возможных поверхностей передвижения, становится очевидным, что с использованием классических методов управления невозможно учесть все возможные состояния окружающей среды для того, чтобы под каждое из них вручную подобрать соответствующий алгоритм передвижения.
Для решения подобных задач с высокой степенью неопределенности во входных данных (в данном случае, в данных о состоянии окружающей среды) широко используются методы машинного обучения. Эти модели используют
большое количество данных для настройки своих параметров (обучение модели), для того чтобы затем применить полученные “знания” на новых данных (применение модели). Методы машинного обучения доказали свою высокую эффективность для решения задач классификации и регрессии, и в настоящее время используются во многих отраслях науки и техники. Подход, при котором для обучения модели используются промаркированные данные, называется обучением с учителем. Например, в задаче классификации изображений модель обучается на множестве примеров, каждому из которых соответствует метка принадлежности к определенному классу. Подход, при котором не используются маркированные данные, называется обучением без учителя.
Глубокое обучение - ветвь машинного обучения, которая находится на гребне волны методов решения такой проблемы, как распознавание изображений. «Глубина» моделей глубокого обучения идет от группирования функций в серии нелинейных трансформаций от входа, через промежуточные преобразования, к выходу. Общая композиция представляет собой глубокую модель, состоящую из слоев, и на каждом слое происходит очередной шаг от низкоуровневых деталей к высокоуровневым концепциям. Это приводит к иерархическому представлению проблемы восприятия. В данной работе предлагается использование каскада нескольких моделей глубокого обучения, каждая из которых обрабатывает некоторую часть данных о состоянии окружающей среды и внутреннем состоянии робота. Такой тип обучения называются мультимодальным. Две свёрточных нейронных сети используются для изучения высокоуровневых признаков ландшафта из RGBD-изображений, получаемых с инфракрасного сенсора глубины. Также модель учитывает данные о текущем состоянии конечностей робота. Эффективно решая задачу понижения размерности входных данных, изучаемые признаки помогут роботу выбирать правильную модель передвижения.
Обучение с подкреплением занимает промежуточную позицию между обучением с учителем и обучением без учителя. Его принцип заключается в том, что агент (в нашем случае, робот) обучается оптимальному поведению
непосредственно от взаимодействия с окружающей средой, делая вывод о степени полезности своих действий, получая награды. В данной работе предлагается использование модели обучения с подкреплением, называемой глубоким Q-обучением. В качестве входов используются данные о состоянии окружающей среды, а также данные о состоянии каждой из конечностей робота. Выходами модели являются значения полезности каждого из возможных действий (переходов между состояниями).
Помимо решения задачи ходьбы на неровном ландшафте, для осуществления инженерной разведки робот должен обладать возможностью построения карты окружающей местности и определять своё местоположение на ней. Эта задача получила название simultaneous localization and mapping (SLAM). При разработке системы SLAM для робота — гексапода в данной работе было скомбинировано два подхода. Тип карты, которую должен построить робот, был определен как occupancy grid (сетка занятости), которая показывает, какие области доступны для перемещения, а какие заняты препятствиями. В качестве математического аппарата был использован фильтр частиц (метод Монте — Карло). В качестве сенсора был использован Microsoft Kinect - RGBD-сенсор, работающий в режиме эмуляции дорогостоящего лазерного дальномера.
Чтобы получить необходимую точность локализации, необходимо охватить как можно больше вероятных состояний робота, что ведет к увеличению числа частиц в системе. Это делает применение фильтра частиц в реальном времени очень затратным с точки зрения скорости вычислений. Необходимо отметить, что большинство шагов фильтра выполняются независимо для каждой частицы, что позволяет осуществлять параллельную обработку всех частиц.
CUDA (Compute Unified Device Architecture) - программно-аппаратная архитектура параллельных вычислений на графических процессорах (GPU) компании NVIDIA. Это одна из наиболее распространенных технологий для осуществления вычислений общего назначения на GPU.
В данной работе на архитектуру CUDA был перенесен наиболее ресурсоемкий шаг фильтра частиц - вычисление весов, который выполняется независимо для каждой частицы и пригоден для параллельного исполнения. Для повышения наглядности полученных результатов алгоритм был реализован как на многоядерном CPU, так и на устройстве с поддержкой CUDA - мобильном чипе Tegra TK1.
✅ Заключение
В ходе работы также были исследованы методы локализации и построения карты местности. Был сделан вывод о том, что методы на основе фильтра частиц являются наиболее эффективными в задаче локализации и построении двухмерной карты типа «сетка занятости». Были выделены основные проблемы данного метода, а именно привязанность к колесному типу роботов, высокая ресурсоёмкость и высокая стоимость аппаратной реализации, и были предложены пути решения этих проблем.
Разработанные модули интегрируются вместе с модулем поиска кратчайшего пути в единую систему навигации с помощью операционной системы Robot Operating System. Программная реализация проводилась с помощью языков Python и C++. Использовались открытые библиотеки OpenCV, OpenNI, CUDA, TensorFlow, Caffe, ROS.



