Автоматическая навигация в помещении с помощью BLE и компьютерного зрения

Заказать уникальную курсовую работу
Тип работы: Курсовая работа
Предмет: Робототехника
  • 36 36 страниц
  • 27 + 27 источников
  • Добавлена 13.02.2024
1 496 руб.
  • Содержание
  • Часть работы
  • Список литературы
Оглавление
Введение 3
1. Компьютерное зрение как интерфейс между роботом и средой 6
1.1. Особенности локализации и навигации роботов 6
1.2. Датчики зрения для позиционирования мобильного робота 8
1.3. Датчик зрения на основе маяка для навигации мобильного робота 11
2. Аппаратное и программное обеспечение мобильного робота для навигации в помещении 20
2.1.Проектирование архитектуры программно-аппаратного обеспечения 20
2.2 Подбор элементной базы 24
2.3. Проектирование системы планирования движения 27
2.3.1.Описание алгоритма определения расстояния до препятствия 28
2.3.2. Алгоритм обработки данных с датчика: 31
3. Обработка данных сенсорной системы мобильного робота 34
3.1.Датчик угла поворота колеса 34
3. 2. Программа обработки энкодера в прерывании по таймеру 37
3.3. Реализация передачи данных с мобильного робота 38
3.4. Обмен информацией и ее вывод 41
Заключение 46
Список использованной литературы 47
Приложение 51
Приложение. Код программы 51

Фрагмент для ознакомления

В самом простом способе пользовательопределяет равномерную дискретизацию, таким образом, Δqi = с для некоторой константы с. При разумной совместной разрешающей способности одной степени однородная дискретизация приводит к огромным С-пространствам. Например, дискретизация Δq = (1°, 1°, 1°, 1°, 1°, 1°) приводит к C-пространству с 2.13* 1015 состояниями.Чтобы избежать огромного пространства поиска при единообразной дискретизации, обычно применяется эвристическая дискретизация. Здесь дискретизации разумные Δqiоцениваются пользователем для баланса полученного декартова движения Δxi.Вместо того, чтобы иметь равномерное или эвристическое разрешение вдоль каждой координаты конфигурации, можно вычислить оптимальную дискретизацию. Поэтому разрешение вдоль каждой координаты задается в соответствии с максимальным движением энтропии робота на каждом шаге, который робот перемещает вдоль этой координаты. Результат этой дискретизации проиллюстрирован на рисунке 2.3. Вместо того, чтобы иметь равномерное или эвристическое разрешение вдоль каждой координаты конфигурации, можно вычислить оптимальную дискретизацию. В этом случае разрешение вдоль каждой координаты задается в соответствии с максимальным движением энтропии робота на каждом шаге, который робот перемещает вдоль этой координаты.Рисунок 2.3. а) эвристическая дискретизация; b) оптимальная дискретизацияРезультат этой дискретизации проиллюстрирован на рисунке 3b. Аналитически этого можно достичь, установивгде li - расстояние между центром соединения i до самой дальней точки, к которой может достигнуть действиеendeffect, а MaxMove - заданное расстояние, которое робот может перемещать на одном шаге вдоль координаты. В целом, оптимальная дискретизация приводит кдвиженияΔxi, которое удовлетворяет условию Δxmax ≤ MaxMove, где Δxmax = max {Δxi, ∀i}. Для MaxMove = 10 мм в приведенном выше примере оптимальная дискретизация равна Δq = (0,96 °, 0,98 °, 1,40 °, 2,83 °, 2,84 °, 10,33 °). Размер соответствующегоC-пространства составляет 1,88 * 1013 состояний. Это на двапорядка меньше, чем для равномерной дискретизации (Δqi = 0,964°), применяя одно и то же максимальное движение.Помимо оптимальной дискретизации со строгим условием Δxmax ≤ MaxMove, это условие может быть ослаблено до Δxmean (MeanMove, где Δxmean = mean {Δxi,∀i}. Это следует применять в тех приложениях, где нет необходимости встречаться с заданной верхней границей для декартова движения робота. Вместо этого может быть достаточно, чтобы декартово движение робота равнялось предварительно заданному значению MeanMove в среднем.Идеальная дискретизация приведет к Δxi = MaxMove для всех i. НоΔxi зависят от текущей конфигурации. Таким образом, требуется переменное разрешение вдоль каждой координаты. Этого не может быть достигнуто для неявного представления C-пространства, как это требуется для планирования онлайнового маршрута. В случае, когда применимо явное представление C-пространства, можно вычислить зависимое от конфигурации разрешение C-пространства. Например, представление нейронной сети C-пространства может быть адаптировано на этапе обучения для достижения хорошей дискретизации C-пространства.Наиболее важным свойством дискретизации C-пространства для планирования пути является небольшое количество конфигурацийсостояний при выполнении заданной (декартовой) точности движения робота. Это может быть достигнуто путем балансировки разрешения совместной дискретизации.2.2.2. Основные сеточные алгоритмы планирования движенияМаломерные задачи могут быть решены с помощью алгоритмов на основе сетки, которые покрывают сеткой конфигурационное пространство или геометрические алгоритмы, которые вычисляют форму и связность Cfree.Точное планирование движения для высокоразмерных систем со сложными ограничениями является вычислительно неразрешимым. Алгоритмы потенциального поля эффективны, но становятся жертвами локальных минимумов. Алгоритмы, основанные на выборке, позволяют избежать проблемы локальных минимумов и решить многие проблемы довольно быстро. Они не могут определить, что пути нет, но они имеют вероятность отказа, которая уменьшается до нуля по мере того, как тратится больше времени.Алгоритмы, основанные на выборке, в настоящее время считаются самыми современными для планирования движения в высокоразмерных пространствах и применимы к проблемам, которые имеют десятки или даже сотни измерений (роботизированные манипуляторы, биологические молекулы, анимированные цифровые символы и legged роботы).2.3. Поиск по интерваламЭти подходы аналогичны подходам поиска на основе сетки, за исключением того, что они генерируют покрытие, полностью покрывающее конфигурационное пространство вместо сетки. Покрытие строится, используя следующие допущения.1) Агент - двумерная точка, которая бесконечно мала.2) Все препятствия могут быть аппроксимированы замкнутыми многоугольниками.3) Агент может двигаться в любом направлении по прямой.Затем можно найти отимальный план от Агента к его цели, построив граф визуального поиска:узел - это любое место, где агент может не сталкиваться с препятствием. Ребро - любая траектория между узлами, которые агент может перемещать (рисунок 2.4).Таким образом, робот может свободно перемещаться в X- и не может выйти за пределы X +. Для обеих субобластей строится соседний граф, и пути могут быть найдены с использованием таких алгоритмов, как Дейкстра (Dijkstra) или A*. Когда путь возможен в X-, он также возможен в Cfree. Если в X + нет пути от одной начальной конфигурации до цели, у нас есть гарантия, что в Cfree не существует допустимого пути. Что касается подхода, основанного на сетке, то интервальный подход не подходит для проблем с большими размерами из-за того, что число зон, которые должны быть сгенерированы, экспоненциально возрастает относительно размера конфигурационного пространства.Рисунок 2.4. Граф, полностью покрывающий конфигурационное пространство Алгоритм построения графа визуального поиска:Создать пустой граф G.Добавит агента в виде вершины в G.Добавить цель как вершину в G.Поместить все вершины всех полигонов в список.Соединить все вершины многоугольника в G по их краям.Для каждой вершины V в списке:Подключить V к Агенту и цели. Если прямая между ними не пересекает какой-либо многоугольник, добавит эту линию как ребро в G.Для каждой другой вершины в каждом другом многоугольнике подключить ее к V, используя прямую линию. Если линия не пересекает какой-либо многоугольник, добавьте линию как ребро в G (рисунок 2.5).Теперь запуститьGraphPlanner (например, Dijkstra или A*) на графе визуального поиска, чтобы найти кратчайший путь от Агента к цели (рисунок 2.6).Рисунок 2.5. Граф визуального поискаИз-за допущения о том, что агент является идеальной геометрической точкой и что он может перемещаться по прямым линиям из любого места в любое другое, получаем траекторию, которая отлично проходит через углы, края и минимальное свободное пространство, чтобы точно минимизировать величину расстояния, которое агенту предстоит проехать к цели.Рисунок 2.6. Оптимальная траектория при допущении представления агента геометрической точкойВ реальных условиях допущение о том что, агент является точкой часто может быть неприемлемым.В этом случае агент может не вписатьсяв пространство между трапецией и прямоугольником. Одно из решений состоит в том, чтобы предположить, что агент является диском, а не точкой. Если это так, можно просто увеличить все препятствия радиусом агента, а затем планировать, как если бы агент был точкой в ​​этом новом, завышенном мире (рисунок 2.7).Ниже будут рассмотрены методы и алгоритмы нахождения кратчайшего пути на графах Dijkstra или A*.Рисунок 2.7. Оптимальная траектория при допущении представления агента диском2.4. Алгоритмы вознагражденияАлгоритмы, основанные на вознаграждении, предполагают, что робот в каждом состоянии (положение и внутреннее состояние, включая направление) может выбирать между различными действиями (движением). Однако результат каждого действия не определен. Другими словами, результаты (смещение) частично случайны и частично находятся под контролем робота. Робот получает положительную награду, когда достигает цели и получает отрицательную награду, если сталкивается с препятствием. Эти алгоритмы пытаются найти путь, который максимизирует кумулятивные будущие вознаграждения. Марковский процесс принятия решений (MDP) является популярной математической основой, которая используется во многих алгоритмах, основанных на наградах. Преимущество MDP над другими основанными на наградах алгоритмами заключается в том, что они генерируют оптимальный путь. Недостатком MDP является то, что они ограничивают робота выбором из конечного набора действий. Следовательно, путь не является гладким (аналогично подходам на основе сетки). Нечеткие марковские процессы принятия решений (FDMP) являются расширением MDP, которые генерируют плавные пути с использованием системы нечетких выводов. 2.5.Поля искусственного потенциалаОдин из подходов - рассматривать конфигурацию робота как точку (обычно электрона) в потенциальной области, которая сочетает притяжение к цели и отталкивание от препятствий (рисунок 2.8). Полученная траектория выводится как путь. Этот подход имеет преимущества в том, что траектория производится с небольшим объемом вычислений. Однако они могут попасть в локальные минимумы потенциального поля и не найти путь. Поля искусственного потенциала могут быть описаны прямым уравнением, подобным полям электростатического потенциала, или могут управляться множеством семантических правил. 2.6.Алгоритмы выборкиАлгоритмы, основанные на выборке, представляют собой пространство конфигурации с дорожной картой выборочных конфигураций. Базовый алгоритм отображает N конфигураций в C и сохраняет их в Cfree для использования в качестве эталонов. Затем строится дорожная карта, которая соединяет две вехи P и Q, если отрезок линии PQ полностью находится в Cfree. Опять же, обнаружение столкновения используется для проверки включения в Cfree. Чтобы найти путь, соединяющий S и G, они добавляются в дорожную карту. Если путь в дорожной карте связывает S и G, планировщик успешно завершает работу и возвращает этот путь. Если нет, причина не является окончательной: либо нет пути в Cfree, либо планировщик не пробовал достаточно вех.Рисунок 2.8. Поля искусственного потенциалаЭти алгоритмы хорошо работают для пространств большой размерности, потому что в отличие от комбинаторных алгоритмов их время работы не (явно) экспоненциально зависит от размера C. Они также (как правило) существенно проще реализовать. Они вероятностно полны, что означает, что вероятность того, что они создадут решение, приблизится к 1, поскольку больше времени потрачено. Однако они не могут определить, существует ли какое-либо решение.Учитывая основные условия видимости на Cfree, было доказано, что по мере роста числа конфигураций N вероятность того, что приведенный выше алгоритм находит решение, приближается к экспоненциальному. Видимость явно не зависит от размера C; возможно иметь высокоразмерное пространство с «хорошей» видимостью или малоразмерным пространством с «плохой» видимостью. Экспериментальный успех методов, основанных на выборке, показывает, что наиболее часто встречающиеся пространства имеют хорошую видимость.4. Постановка задачи картированияЗадача построения карты. При перемещениив условиях среды, карта нужна по следующим причинам: 1) для локализации робота и цели и 2) для планирования пути между текущим положением робота и положением цели. Но часто нет карт мест, которые нужны для навигации. В этом случае роботу нужно создать свою собственную карту. В неструктурированных средах процесс построения карты требует знания положения робота, а для оценки положения робота требуется карта. Следовательно, нужно одновременно локализовать робота и составить карту.1.4.1 Одновременная локализация и построение картыSLAM Одновременная локализация и картирование (Simultaneouslocalizationandmapping) (SLAM) – это процесс, с помощью которого мобильный робот может построить карту неизвестной среды и одновременно вычислить свое местоположение с помощью карты . SLAM был сформулирован и решен как теоретическая проблема во многих различных подходах. Общим моментом является то, что точность навигации влияет на успех и результаты задачи, независимо от области приложения роботов. С самого начала проблема SLAM разрабатывалась и оптимизировалась по-разному. Существует три основных парадигмы: фильтры Калмана (KF), фильтры частиц и SLAM на основе графиков. Первые два также называются методами фильтрации, при которых оценки положения и карты расширяются и уточняются путем включения новых измерений, по мере их доступности. Из-за их инкрементального характера эти подходы обычно считаются оперативными методами SLAM. И наоборот, SLAM на основе графов оценивает всю траекторию и карту на основе полного набора измерений, и этот подход называется проблемой полного SLAM[10].Рассмотрим основные методы, принятые в общих задачах SLAM робототехники, с кратким описанием их основных характеристик, а также методы визуального SLAM, поскольку оптический датчик имеет первостепенное значение в системах наземных мобильных роботов.Выбор типа используемого алгоритма зависит от особенностей приложения и многих факторов, таких как желаемое разрешение карты, время обновления, характер окружающей среды, тип датчика, которым оснащен робот, и т. д.Методы фильтра КалманаИдея представления структуры области навигации в рамках пространства состояний с дискретным временем, представив концепцию стохастической карты была впервые предложена в 1998г. Поскольку исходный алгоритм KF основан на предположении о линейности, которое редко выполняется, с этого момента в основном используются два варианта: расширенный KF (EKF) и фильтрация информации (IF). EKF преодолевает предположение о линейности, описывая вероятность следующего состояния и вероятности измерения с помощью нелинейных функций.Расширенный фильтр Калмана SLAM (EKF-SLAM) – первое решение проблемы онлайн-SLAM и самый популярный метод [11]. Поскольку предположение о гауссовском шуме нереально и приводит к появлению ложных ориентиров на карте, EKF-SLAM требует дополнительных методов управления картой для устранения поддельных ориентиров. КF - это информационный фильтр, который основан на тех же предположениях, но ключевое различие возникает в способе представления гауссовскогораспределения. Оценочная ковариация и оценочное состояние заменяются информационной матрицей и информационным вектором соответственно. Данные фильтруются простым суммированием информационных матриц и вектора, обеспечивая более точные оценки; информационный фильтр имеет тенденцию быть численно более стабильным во многих приложениях. KF более выгоден на этапе прогнозирования, потому что этап обновления является аддитивным, в то время как KF включает в себя инверсию двух матриц, что означает увеличение вычислительной сложности с пространством состояний высокой размерности. В любом случае, на этапе измерения эти роли меняются местами, что свидетельствует о двойственном характере Калмана и информационных фильтров.Исходя из наблюдения, что нормализованная информационная матрица является разреженной, был разработан фильтр разреженной расширенной информации, который состоит в приближении, которое поддерживает разреженное представление зависимостей окружающей среды для достижения постоянного обновления во времени. Другие работы по фильтрам SLAMпредставляют относительные расстояния, но ни одна из них не может выполнять обновление с постоянным временем.Чтобы преодолеть трудности как EKF, так и IF, и чтобы быть более эффективным с точки зрения вычислительной сложности, был принят комбинированный алгоритм SLAM с фильтром информации Калмана (CF-SLAM). Это комбинация EKF и EIF, которая позволяет выполнять высокоэффективный SLAM в больших средах.Методы фильтрации твердых частицФильтры частиц составляют большое семейство последовательных алгоритмов Монте-Карло; они представлены ​​набором случайных выборок состояний, называемых частицами. Практически любая вероятностная модель робота, которая представляет формулировку цепи Маркова, может быть подходящей для их применения. Их точность увеличивается с доступными вычислительными ресурсами, поэтому не требуется фиксированного времени вычислений. Их также относительно легко реализовать: им не нужно линеаризовать нелинейные модели и не беспокоиться о решениях условной вероятности в замкнутой форме, как в KF. Их основным ограничением является низкая производительность в пространствах с более высокой размерностью. Фильтры частиц приводят к более эффективным решениям, в том числе проблемы ассоциации данных, но эти алгоритмы обычно недооценивают свою собственную ошибку. Необходимость повышения согласованности оценки вместе с проблемой неоднородности выборок траекторий привели к принятию различных стратегий выборки.FastSLAM объединяет фильтры частиц и EKF. Он использует тот факт, что оценки характеристик условно независимы с учетом наблюдений, элементов управления и пути робота. Это означает, что проблема отображения может быть разделена на отдельные проблемы, по одной для каждого объекта на карте, учитывая, что также отдельные ошибки карты являются независимыми. FastSLAM использует фильтры частиц для оценки пути робота и для каждой частицы использует EKF для оценки местоположения объектов, предлагая вычислительные преимущества по сравнению с простыми реализациями EKF и хорошо справляясь с нелинейными моделями движения робота. Недостатком этого подхода является то, что приближение частиц не сходится равномерно во времени из-за наличия карты в пространстве состояний, которая является статическим параметром.Метод максимизации ожиданий (EM) и улучшение с отсутствующими или скрытыми даннымиEM - это эффективная итерационная процедура для вычисления оценки параметров в вероятностных моделях с отсутствующими или скрытыми данными. Каждая итерация состоит из двух процессов: ожидания или E-шага, оценивающего недостающие данные с учетом текущей модели и наблюдаемых данных; M-шаг, который вычисляет параметры, максимизирующие ожидаемую логарифмическую вероятность, найденную на E-шаге. Оценка недостающих данных из шага E используется вместо фактических недостающих данных. Алгоритм гарантирует сходимость к локальному максимуму целевой функции. Реализация этого алгоритма в реальном времени описана в (39).Поскольку для этого требуется, чтобы все данные были доступны на каждой итерации.реализована онлайн-версия, где нет необходимости хранить данные, поскольку они используются последовательно. Этот алгоритм использовался также для ослабления предположения, что среда во многих задачах SLAM статична. Большинство существующих методов устойчивы к отображению статических, структурированных и ограниченных по размеру сред, в то время как отображение неструктурированных, динамических или крупномасштабных сред остается открытой исследовательской проблемой. В литературе есть в основном два направления: разделение модели на две карты, одна содержит только статические ориентиры, а другая - динамические ориентиры, или попытка отслеживать движущиеся объекты при нанесении на карту статических ориентиров.Графовые методы SLAMSLAM на основе графов решает проблему SLAM, принимая графовую формулировку, что означает построение графа, узлы которого представляют позы роботов или ориентиры, связанные мягкими ограничениями, установленными измерениями датчиков; этот этап называется front-end. Бэкэнд заключается в корректировке позы робота с целью получения согласованной карты окружающей среды с учетом ограничений. Критический момент касается конфигурации узлов: для максимального согласования с измерениями должна быть решена задача минимизации ошибок.Этот метод объединяет глобальное и локальное отображение с использованием нескольких подключенных локальных карт, ограничивая представление ошибок локальными областями и применяя топологические методы для создания глобальной карты, управляющей локальными субкартами. Также известен подход, объединяющий построение сети и обнаружение замыканий петель. Некоторые авторы применяли градиентный спуск для оптимизации проблемы SLAM. GraphSLAM уменьшает размерность задачи оптимизации с помощью метода исключения переменных. Нелинейные ограничения линеаризуются, и результирующая задача наименьших квадратов решается с использованием стандартных методов оптимизации.Рассмотрим мобильного робота, который перемещается в среде, показанной на рис. 1.3. Вначале можно принять начальное положение робота за ноль. Робот должен уметь обнаруживать определенные объекты в окружающей среде, которые называются ориентирами. Этот робот также должен иметь возможность измерить расстояние между его положением xk и знаковыми позициями mi в окружающей среде, а также измерить угол между роботом - знаковой линией и некоторой опорной линией. На каждом временном шаге k робот движется в соответствии с управлением uk−1 и выполняет измерения zk = {zik , zjk,. . .} в состоянии xk.Рисунок 1.3 – Локализация робота при построении карты.Визуальный SLAMСледует более подробно рассмотретьвизуальный SLAM, поскольку оптические датчики всегда чаще используются в робототехнике. Большинство систем на основе зрения в задачах SLAM являются монокулярными и стерео. Монокулярные камеры используются довольно широко, но типы камер различны. Крупномасштабный прямой монокуляр SLAM использует только изображения RGB с монокулярной камеры в качестве информации об окружающей среде и последовательно строит топологическую карту. Всенаправленные камеры обеспечивают обзор окружающей среды на 360 °, и, учитывая, что элементы дольше остаются в поле зрения, их легче найти и отследить. Чтобы повысить точность функций, некоторые работы полагаются на систему с несколькими датчиками. Например, такая система может состоять из двухмерного лазерного сканера и камеры, реализующей алгоритм EFK-SLAM. Однако монокулярная система имеет некоторые недостатки в определенных ситуациях, например, она требует дополнительных вычислений для оценок глубины, проблем распространения масштаба или может привести к режимам отказа из-за ненаблюдаемости отдельных ракурсов.Стереосистемы широко используются в различных средах, как для обнаружения ориентиров, так и для оценки движениякак в помещении, так и на открытом воздухе. Внедрение алгоритмов фильтрации частиц с системой стереозрения анализировалось в различных работах, но наряду с ними некоторые авторы, например, применяют нисходящий байесовский метод к изображениям, поступающим с широкоугольной стереокамеры, чтобы идентифицировать и локализовать природные ориентиры. Также возможны стратегии SLAM, основанные на зрении, в которых трехмерные точки используются в качестве ориентиров: одна основана на стереозрении, когда позиции ориентиров полностью наблюдаются из одного места; другой - только пеленг, реализованный на монокулярных последовательностях. Было также много успешных подходов к проблеме визуального SLAM с использованием датчика RGB-D для использования предоставленных трехмерных облаков точек.Локализация и картирование являются фундаментальными вопросами для мобильной робототехники. В целях навигации без столкновений применяется лазерный дальномер (LRF) для построения карты в неизвестной среде и обнаружения препятствий.Алгоритмы SLAM адаптированы к доступным ресурсам, поэтому должны соответствовать требованиям и условиям эксплуатации. Опубликованные подходы используются в беспилотных автомобилях, беспилотных летательных аппаратах, автономных подводных транспортных средствах, планетоходах, новых отечественных роботах и ​​даже в хирургии (эндоскопические операции).

Список использованной литературы

1. Куафе Ф. Взаимодействие робота с внешней средой/ Пер. с. фр. М.Б. Блеер, М.С. Фанченко; Под ред. А.Б. Мещерякова. М.: Мир, 2005 - 285 с.
2. Артемьев В.М. Локационные системы роботов: справочное пособие. Минск: Вышэйш. Шк., - 2008. - 221 с.
3. Навигация мобильных роботов // Электронный ресурс, Издание PC Week/RE («Компьютерная неделя»). — Режим доступа: https://www.itweek.ru/ .
4. Гридин В. Н., Титов В. С., Труфанов М. И. Адаптивные системы технического зрения. — М. : Наука, 2009.
5. Засед В.В., Михайлов А.А., Гданский Н.И., Марченко Ю.А. Коррекция растровых изображений, получаемых с видеокамер. Приборы, №5,2007. с. 54-56.
6. Накано Эйдзи. Введение в робототехнику/ Пер. С яп. Под ред. A.M. Филатова. М,: Мир, 1988 - 335, 1. с. ил.; 22 см.
7. Цифровые системы управления / В. В. Григорьев, С.В. Быстров, В.И. Бойков и др. —СПбГУ ИТМО, 2011.
8. Техническое зрение роботов / В. И. Мошкин, А. А. Петров, В. С. Титов, Ю. Г. Якушенков ; Под ред. Ю. Г. Якушенкова. — М. : Машиностроение, 1990.
9. Носков А.В., Носков В.П. Распознавание ориентиров в дальнометрических изображениях. // Материалы научной школы конференции "Мобильные роботы и мехатронные системы" М.: Из-во МГУ, 2001. С.179-192.
10. Основы управления манипуляционными роботами : учеб. для студентов вузов, обучающихся по специальности "Роботы и робототехн. системы" / С. Л. Зенкевич, А. С. Ющенко. Изд. 2-е, испр. и доп. - М.: Изд-во МГТУ, 2004. - 478, 1. с.: ил., табл.; 24 см.
11. Павловский В. Е., Рабыкина В. Ю. Моделирование алгоритмов обработки данных TV-сенсора при обнаружении препятствий мобильным роботом. // Адаптивные роботы и GSLT. Труды международной школы-семинара им. А. Петрова. Russia - Italy, 2008. -с. 125-135.
12. Двухколесная платформа Turtle [Электронный ресурс]. – URL: https://amperka.ru/product/turtle-chassis (дата обращения 01.03.2021).
13. Arduino Uno [Электронный ресурс]. – URL: https://amperka.ru/product/arduino-uno (дата обращения 01.03.2021).
14. Arduino Mega 2560 [Электронный ресурс]. – URL: https://amperka.ru/product/arduino-mega-2560 (дата обращения 01.03.2021).
15. Raspberry Pi 4 Model B (2 ГБ памяти) [Электронный ресурс]. – URL: https://amperka.ru/product/raspberry-pi-4-model-b-2-gb (дата обращения 01.03.2021).
16. Энергопотребление Arnuino и Raspbbery Pi [Электронный ресурс]. – URL: https://www.arduino.md/arduino_power_consumption/ (дата обращения 01.03.2021).
17. Характеристики Motor Shield [Электронный ресурс]. – URL: https://traction-design.be/home/arduino-l298n-shield-v03-from-flamingoeda-com/ (дата обращения 01.03.2021).
18. Характеристики беспроводного трансивера [Электронный ресурс]. – URL: https://www.chipdip.ru/product/nrf24l01 (дата обращения 01.03.2021).
19. Характеристики сервопривода [Электронный ресурс]. – URL: https://www.chipdip.ru/product/ms-r-1.3-9 (дата обращения 01.06.2020).
20. NRF24L01 [Электронный ресурс]. – URL: https://arduinomaster.ru/datchiki-arduino/arduino-nrf24l01-podkluchenie/ (дата обращения 01.03.2021).
21. Пол Р. Моделирование, планирование траекторий и управление движением робота-манипулятора. - М.: Наука. 1976. 103 с.
22. Принцип работы NRF24L01 [Электронный ресурс]. – URL: https://lesson.iarduino.ru/page/urok-26-4-soedinyaem-dve-arduino-po-radiokanalu-cherez-nrf24l01/ (дата обращения 01.03.2021).
23. Справочник по промышленной робототехнике. В 2 кн. / Под ред. Ш. Ноф. М.: Машиностроение, 1989. Кн. 1. М.: Машиностроение, 1989. - 478 с.: ил.
24. Тимофеев А.В. Роботы и искусственный интеллект., М.: Наука, 1978. –192 с.
25. Язык программирования Python [Электронный ресурс]. – URL: https://pythonworld.ru/ (дата обращения 01.06.2020).
26. PyCharm [Электронный ресурс]. – URL: https://python-scripts.com/pycharm-download (дата обращения 01.06.2020).
27. PyCharm [Электронный ресурс]. – URL: https://ru.wikipedia.org/wiki/PyCharm (дата обращения 01.06.2020).