ПОДКЛЮЧЕНИЕ GPS К МК, РАЗРАБОТКА АЛГОРИТМА ДВИЖЕНИЯ РОБОТА ПО GPS

Научная статья
Выпуск: № 1 (32), 2015
Опубликована:
2015/02/16
PDF

Черных А.А.

Студент, НИ Томский политехнический университет

ПОДКЛЮЧЕНИЕ GPS К МК, РАЗРАБОТКА АЛГОРИТМА ДВИЖЕНИЯ РОБОТА ПО GPS

Аннотация

В данной работе описано подключение GPS модуля к микроконтроллеру. Составление алгоритма движения робота по GPS координатам траекторией “Гауссом”.

Ключевые слова: микроконтроллер, GPS модуль, алгоритм.

Chernykh A.A.

Student, Tomsk Polytechnic University

PS RECEIVER TO MICROCONTROLLER CONNECTION, DEVELOPMENT MOVEMENT ALGORITHMS OF THE ROBOT USING GPS

Abstract

This article describes a connection of GPS module to a microcontroller. Designing a "Gauss-trajectory" robot movement algorithm using GPS coordinates.

Keywords: microcontroller, GPS module, algorithm.

Введение

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

Одной из основных задач в робототехнике является позиционирование и навигация робота в пространстве.

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

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

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

Подключение GPS к МК

Первоначальным этапом необходимо настроить GPS модуль для передачи координат на микроконтроллер и отделением нужной  информации для ее дальнейшего применения в программировании по алгоритму движения робота, так как сам модуль передает на МК различные данные. Был выбран GPS модуль u-blox 6m.

Для передачи GPS координат на микроконтроллер используют NMEA 0183 протокол.

Была собрана схема подключения (рис.1) GPS к микроконтроллеру и написана программа на языке C++. Использовался МК ATmega 328, GPS u-blox 6.

22-03-2018 12-55-06

Рис.1 – Электрическая принципиальная схема подключения GPS к AVR МК

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

Для этого подбирается управляющий узел (микроконтроллер, ЭВМ) и набор датчиков и модулей. На рынке представлено множество готовых модулей, которые напрямую подключаются к  микроконтроллеру, что существенно облегчает задачу разработки устройства.

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

Поэтому разработчики берут в расчет конструктивные особенности и применяют уже конкретные модули для решения поставленных задач.

Алгоритм движения робота по прямой траектории с GPS данных

        В качестве одно из вариантов траектории движения – “Гауссом” (работа комбайна на поле).

  1. Устанавливаем робота вручную в нужном нам направлении для прохождения заданной нами траектории (длина прямого участка траектории гауссом, и количество таких участков).
  2. По цифровому компасу будет определено и передано на МК направление в статике, а также глобальные координаты по GPS.
  3. Зная вектор между текущей точкой и конечной, а также вектор текущего движения робота, можно корректировать движение робота при отклонении от заданной траектории:
  • Вычисляем вектор текущего направления (куда робот едет в данный момент)
  • Вычисляем вектор от робота к нужной точке. Этот вектор разворачиваем на 90 градусов.
  • Тогда при параллельности, а следовательно и истинности направления движения, скалярное произведение вектора текущего направления и вектора от робота до конечной точки будет равно нулю. Управляющее воздействие не подаем на рулевой механизм.
  • При отклонениях траектории скалярное произведению будет в пределах от -1 до 1. Так как вектор от робота к нужной точке развернули на 90 градусов, то при отклонении робота вправо результирующий угол между векторами будет (90°+𝜑). То есть скалярное произведение будет отрицательным, и как следствие при значении скалярного произведения от -1 до 0 нужно подворачивать влево. И наоборот, со значениями скалярного произведения векторов от 0 до 1, подворачивать вправо.
  • В зависимости от значения подаем управляющее воздействие на поворотный механизм. Изменяем скважность сигнала ШИМ, подавая его на сервопривод, пропорционально отклонению. Чем больше значение по модулю, тем больше управляющее воздействие соответственно. От знака скалярного произведения зависит направления “подворота” (отрицательное – поворот влево, положительное – поворот вправо).

Заключение

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

Литература

  1. Блог: Arduino [Электронный ресурс]. URL: http://arduino.ru/ Режим доступа: свободный (дата обращения: 15.01.2015).
  2. Datasheet на GPS модуль Ublox 6m.
  3. Datasheet на микроконтроллер

References

  1. Blog: Arduino [Jelektronnyj resurs]. URL: http://arduino.ru/ Rezhim dostupa: svobodnyj (data obrashhenija: 15.01.2015).
  2. Datasheet na GPS modul' Ublox 6m.
  3. Datasheet na mikrokontroller ATmega328.