Назад в библиотеку

УДК 007.51

Мобильный робот, движущийся по линии под управлением платформы Arduino

Автор: Киселева С. Д., Недильченко О. С.
Источник: Молодежный научно-технический вестник МГТУ им. Н. Э. Баумана, 2015 г.


Введение

Робототехника – прикладная наука, занимающаяся разработкой автоматизированных технических систем и являющаяся важнейшей технической основой интенсификации производства. В настоящее время решается довольно большое количество задач, связанных с организацией автоматического перемещения робота, выполнением им некоторых элементарных действий и т.п. В большинстве случаев управление роботом осуществляется человеком-оператором на уровне движений, при этом от человека требуется непрерывное наблюдение за действиями робота и оперативное управление его действиями. В настоящее время реализовано большое количество способов решения данной проблемы, но большинство являются дорогостоящими и сложно исполнимыми в отсутствии условий производства, а также используемые подходы часто требуют применения особых технологий. Целью в данной работе является разработка алгоритма движения робота по некоторой заданной траектории и способы взаимодействия с роботом. Реализация алгоритма является относительно простой, что позволяет использовать данную разработку и в целях обучения.


Постановка задачи

В рамках рассматриваемой проблемы необходимо реализовать устройство, представляющее собой мобильного робота, перемещающего вдоль некоторой траектории. Данная задача является классической, которая может быть реализована несколькими способами. Существует множество подходов решения задачи следования робота по линии, выбор конкретного подхода зависит от конструкции робота, количества сенсоров, их расположения относительно колес и относительно друг друга.

Основные требования, которым должно отвечать устройство:


Разработка алгоритма передвижения робота

Существует большое количество решений задачи движения робота вдоль некоторой заданной траектории.

Рассмотрим алгоритм перемещения робота вдоль линии, представленной некоторой темной полосой на светлом фоне. Для повышения контрастности цвета лучше выбрать белый цвет фона и черный цвет дороги.

Для контроля движения мобильного робота используются датчики цвета (выбор конкретной реализации датчиков приведен ниже), выдающие различный результат в зависимости от расположения датчиков – над темным или светлым участком. В случае использования цифровых датчиков – два состояния соответствуют состояниям логического 0 и логической 1, в случае использования аналоговых датчиков – необходимо определение отклонения текущих показаний относительно выбранного опорного значения.

Количество датчиков может варьироваться, следовательно, и алгоритм движения будет меняться. В данной задаче будут использоваться два датчика цвета, располагающиеся на расстоянии p друг от друга. Траектория представляется линией некоторой заданной толщины h, где hp, ph > 0. Данное отношение позволяет контролировать малейшее отклонение горизонтальной направляющей робота от заданного пути.

Для перемещения робота требуется использование некоторой колесной платформы. Существуют различные варианты: двухколесные платформы с опорой, четырехколесные платформы, характеризующиеся различной массой и мобильностью. В контексте данной задачи достаточно использование двухколесной платформы с шаровой опорой для обеспечения устойчивости конструкции.

Схематического представление мобильного робота, показывающее
относительное расположение колес, датчиков движения и траектории в нормальном
состоянии

Рис. 1. – Схематического представление мобильного робота, показывающее относительное расположение колес, датчиков движения и траектории в нормальном состоянии

Таким образом, общий алгоритм выглядит следующим образом: движение робот осуществляет вдоль траектории, представленной черной линией на белом фоне, так, что датчики в нормальном состоянии находятся по бокам изображенной линии. В случае любого смещения робота относительно основного пути показания датчиков изменяются: значения, считанные с темной поверхности, отличаются от тех, которые были получены над светлым (белым) пространством.

В качестве интеллектуальной системы, формирующей управляющие команды для управления робота на основе анализа данных, полученных с внешних устройств (датчиков), используется микроконтроллер (МК). Управляющий МК в процессе движения непрерывно опрашивает датчики. Как только показания датчиков отклонились на некоторую величину от исходного значения управляющий МК, считав новые значения, выдает на моторы значения так, чтобы робот стабилизировался относительно указанного пути.

Исходя из выбранного типа колесной платформы необходимо:

  1. для смещения робота вправо: снизить скорость вращения правого колеса, скорость левого оставить без изменения;
  2. для смещения робота влево: снизить скорость вращения левого колеса, скорость правого оставить без изменений;
  3. для вращения робота на месте (разворот на месте) необходимо полностью остановить вращение одного из моторов.
Схема алгоритма перемещения мобильного робота по замкнутой
траектории с остановками

Рис. 2. – Схема алгоритма перемещения мобильного робота по замкнутой траектории с остановками

При движении устройства вдоль линии без препятствий не возможна такая ситуация, что оба датчика одновременно окажутся над черной линией, так как при малейшем отклонении робот будет стабилизироваться, а толщина линии рассчитана так, чтобы при нормальном движении датчики располагались строго по бокам направляющей.

Остановка робота реализуется с помощью линии, перпендикулярной линии основного пути. Таким образом, если одновременно оба датчика выдают значения, соответствующие черной поверхности, управляющий МК выдает сигналы остановки вращения моторов, мобильная платформа останавливается.

На рис. 2 представлена схема алгоритмов движения робота по замкнутой траектории с несколькими остановками: остановка Start (Дом), другие остановки.


Управление устройством

В большинстве случаев управление роботом осуществляется человеком- оператором, следовательно, необходимо разработать некоторый интерфейс, позволяющий управлять мобильным устройством. Так как робот находится в постоянном движение использование проводного интерфейса затруднит реализацию перемещения устройства. В качестве решения данной проблемы возможно использование беспроводного интерфейса: Bluetooth, Wi-Fi и другие.

В контексте данной задачи робот перемещается относительно небольшой траектории, следовательно, для управления устройством достаточно использование интерфейса Bluetooth, работающего по последовательному протоколу. Однако в случае необходимости можно использовать и другие интерфейсы.

Структурная схема конструкции мобильного робота

Рис. 3. – Структурная схема конструкции мобильного робота

На рисунке 3 проведена структурная схема конструкции мобильного робота, учитывающей все указанные выше требования по контролю и управлению мобильной платформы.


Выбор элементной базы. Управляющий микроконтроллер и колесная платформа

В качестве управляющей интеллектуальной системы используется Arduino- совместимая платформа Strela, разработанная специально для управления мобильными устройствами.

В состав платформы входят:

Перечисленные элементы, входящие в состав рассматриваемой платформы, значительно упрощают управление подвижной частью. На плате предусмотрен встроенный H-мост, позволяющий подключать моторы непосредственно к плате. Выводы платы являются малоточными, такой слабый ток может вывести из строя моторы. Используемый H-мост позволяет управлять скоростью и направлением вращения моторов с помощью логических сигналов. Аналоговые и цифровые вводы/выводы можно использовать для подключения датчиков. Для подключения внешних устройств, включая модули беспроводной связи (Bluetooth), предусмотрены отдельные выводы, что также упрощает реализацию.

В качестве подвижной части выбрана двухколесная платформа MiniQ с шарнирной опорой, обеспечивающей устойчивость устройства.

Для управления моторами используется режим широтно-импульсной модуляции (ШИМ), реализованный на основе таймеров МК ATMega32u4. ШИМ используется для симуляции неполного напряжения.

Микроконтроллеры обычно не могут выдавать произвольное напряжение. Выходное напряжение составляет либо 5В, что соответствует уровню напряжения питания, либо 0В – уровень земли.

ШИМ

Рис. 4. – ШИМ

Применение режима ШИМ необходимо для управления моторами, так как в случае множественных переключений выхода МК между уровнями разогнанный мотор не может остановить вал за миллисекунды. ШИМ-сигнал заставит вращаться вал в неполную силу


Макет мобильного робота

В результате было разработано мобильное устройство, макет которого представлен на рис. 5.

Макет мобильного робота

Рис. 5. – Макет мобильного робота


Заключение

Проведенные испытания макета показали, что мобильный робот с датчиками цвета на основе делителя напряжения из фоторезистора перемещается вдоль замкнутой линией беспрепятственно, однако, отклонения значений датчиков являются довольно большими, Таким образом, необходимо использование некоторых более совершенных методов устранения ошибки.

Подобное решение поставленной задачи и его дальнейшая реализация могут использоваться в образовательных целях, что позволяет приобрести необходимые начальные навыки для дальнейшего совершенствования в робототехнике. Немаловажным плюсом является использование платформы Arduino, для которой написана полная библиотека функций, упрощающая разработку программного кода для управления мобильным роботом.

В дальнейшем, возможно, планируется расширить и усложнить алгоритмы работы датчиков движения и устранения ошибки, связанной с погрешностью считанных показаний в зависимости от различной освещенности помещения в разных точках полотна с траекторией, а также в зависимости от фактуры материала и других сторонних факторов.

В качестве еще одного дополнительного развития данной проблемы возможно отказаться от движения вдоль некоторой фиксированной траектории, а управление движением робота осуществить с использованием ультразвуковых дальномеров, что позволит роботу перемещать по всей доступной площади помещения.

Список литературы

  1. Петин В. Проекты с использованием контроллера Arduino. 2-е изд. СПб: BHV-CПб, 2015. – 448 c.
  2. Сайт официального поставщика Arduino в России. Режим доступа: http://amperka.ru/product/strela (дата обращения 15.12.2014).
  3. Сайт описания платформы Arduino Strela.
  4. Хартов В. Я. Микропроцессорные системы: учебное пособие. М.: Академия, 2014. 368 с.
  5. Хоровиц П., Хилл. У. Искусство схемотехники. В 2-х т. Т. 2: пер. с англ. 4-е изд., стереотип. М.: Мир, 1993. 590 с., ил. [The Art of Electronics, 4th ed. Paul Horowitz, 1993, 590 p.].