VIDEO-BASED ANALYSIS OF HUMAN MOTOR ACTIVITY FOR

advertisement
НАВИГАЦИОННАЯ СИСТЕМА АВТОНОМНОГО КОЛЁСНОГО
РОБОТА
Ю.В.Верменко, М.В.Петрушан
НИИ нейрокибернетики им. А.Б. Когана ЮФУ
vermenkoyura@mail.ru
Navigation system of autonomous mobile robot has
been considered. This system consists of localization
node, path planing node, motor and odometry node.
Particle filters were used to localize robot in an
environment. A* search is used to find a path. Much of
attention is given to the motor control prblem.
Develompent of motor node of wheled robot has been
described.
Введение
Навигационное
планирование
является
обязательным
компонентом
автономного функционирования робота в
реальной
среде.
Моделирование
навигационных функций представляет как
исследовательский интерес для изучения
поведения животных в естественных
условиях, так и прикладной интерес в
рамках разработки программно-аппаратных
компонентов роботов.
Навигационная
система
робота
должна выполнять функции локализации,
планирования траектории движения в
условиях статических и динамических
препятствий,
управления
моторными
компонентами робота для движения по
выбранной
траектории.
Наиболее
используемыми методами локализации
робота в среде являются алгоритмы,
построенные на основе фильтров частиц
[1,2].
Планирование
маршрута
формализуется в виде задачи поиска
кратчайшего пути в графе возможных
путей
[3].
Наиболее
аппаратноспецифичной задачей остаётся разработка
алгоритма
управления
моторными
компонентами робота, которой уделяется
основное внимание в данной работе.
Рассматривается задача управления
колёсным роботом, состоящим из двух
сочленённых частей, каждая из которых
имеет
два
независимых
колеса,
вращающихся только при подаче тока на
двигатели. Алгоритмы согласованного
управления моторными компонентами
мобильной платформы для движения по
запланированному
маршруту
не
представлены в открытом доступе для
такой аппаратной архитектуры, поэтому
задача их разработки актуальна и
представляет
исследовательский
и
прикладной интерес.
Модуль реализуется как узел Robot
Operating System (www.ros.org), однако
существует большое число программных
платформ [4,5] и операционных систем для
роботов (YARP, Player, OpenRAVE), в
которые
может
быть
интегрирован
разрабатываемый модуль.
Описание платформы
В качестве колёсной платформы
выбрана модель «Техновижн» МП-М2401,
которая состоит из двух сочленённых
частей,
поворачивающихся
друг
относительно друга в точке сочленения,
каждая из которых имеет два независимых
колеса диаметром d (Рисунок 1).
Рисунок 1. a) Внешний вид робота. б)
Схематический вид платформы. φ – угол поворота
между частями платформы; a – расстояние от оси
сочленения до колеса; b – длина рычага сочленения;
d – диаметр колеса.
Колёса поворачиваются двигателем,
соединённым через редуктор, и не могут
свободно
вращаться.
Двигатели
управляются ШИМ контроллером. На
каждом колесе установлен инкрементный
энкодер (одометр) – датчик, сообщающий о
повороте колеса в ту или другую сторону.
Установлен угловой энкодер – датчик,
сообщающий угол поворота (изгиба)
сочленения.
двумерной матрицы (рисунок 3). Белый
цвет на карте соответствует свободным
участкам местности, черный цвет –
препятствиям. Разные этапы локализации
представлены на Рисунке 3.
Навигационная система
Навигационная
система
робота
состоит из трёх взаимосвязанных блоков:
локализации, планирования движения и
моторики.
Соответственно,
цикл
навигационных
действий
робота
представляет
собой
повторяющуюся
последовательность:
локализация
(определение своего местоположения) –
планирование траектории перемещения –
движение по траектории (Рисунок 2).
Рисунок 2. Общая схема взаимодействия модулей.
Модуль
локализации
определяет
координаты робота и передаёт их модулю
планирования
маршрута.
Модуль
планирования строит маршрут движения и
передаёт его блоку моторики. Блок
моторики устанавливает необходимую
мощность на двигатели для движения по
заданной
траектории.
С
помощью
инкрементных одометрических датчиков и
датчика поворота вычисляются изменения
координат и угла поворота и передаются
модулю локализации в качестве гипотезы о
перемещении.
Локализация осуществляется с
помощью фильтра частиц [2] с известной
картой местности, заданной в виде
Рисунок 3. Этапы процессов локализации и
планирования: а) вычисленное положение и
ориентация робота, б) моделирование дальнометрии,
в) гипотезы о локализации робота, составляющие
фильтр частиц г) карта проходимости.
Планирование
маршрута
формализуется в виде задачи поиска пути в
графе. Граф возможных перемещений
робота строится из точки текущего
положения робота. Каждый родительский
узел графа имеет три дочерних узла,
соответствующих
прямолинейному
перемещению робота на определенный
шаг, перемещению с поворотом направо и
перемещению с поворотом налево. Если
одно из таких перемещений невозможно
ввиду препятствий на пути робота, то
вершина не добавляется в граф. Вес ребра
графа от родительского узла до одного из
дочерних вычисляется из соображений
проходимости
пути.
Для
этого
используется карта проходимости (рисунок
3 г), вычисляемая из растровой карты
препятствий. В каждой точке такой карты
вычисляется величина расстояния до
ближайшего препятствия. Для поиска пути
в графе используется алгоритм A*[3].
Результат работы алгоритма представлен на
Рисунке 4.
в виде двух функций, зависящих от
времени x=X(t) и y=Y(t).
Тогда ориентация робота:
F(t) = arctg(Y(t) / X(t))
требуемая угловая и поступательная
скорость на время dt:
W = (F(t + dt) − F(t)) / dt
V = Y 2 (t) + X 2 (t)
Рисунок 4. траектория движения робота.
Траектория, по которой должен
двигаться робот, представляется в виде
параметрической функции координат от
времени, заданной в виде полинома,
коэффициенты которого вычисляются
модулем
планирования
траектории
движения аппроксимацией кратчайшего
пути в графе. Задача модуля моторики - как
можно более точно следовать по заданному
маршруту.
Управление роботом состоит в
согласованной
установке
скоростей
вращения всех колёс посредством подачи
требуемой мощности на соответствующие
двигатели. Для адаптивной установки
мощности и устранения осцилляций
используется
пропорциональноинтегрально-дифференциальный регулятор
(ПИД).
Задача управления разбивается на две:
1.
Управление передней частью
платформы таким образом, чтобы она
двигалась по заданной траектории.
2.
Управление задней частью
платформы, таким образом, чтобы не
допускать нагрузки в точке сочленения.
Ведущей частью робота считается та,
которая находится в голове движения,
ведомая часть находится в хвосте. При
изменении направления движения ведущая
и ведомая части меняются ролями.
По заданной траектории движения
рассчитывается
средняя
угловая
и
поступательная скорость за время dt. Из
средней
угловой
и
поступательной
скорости передней части платформы
рассчитывается необходимая скорость для
левого и правого колеса.
Пусть
требуемая
траектория
движения задана в параметрической форме
скорости передних колёс:
VL = V + a ∗ W
VR = V − a ∗ W
Из
соображений
отсутствия
напряжения
в
точке
сочленения
рассчитываются скорости колёс ведомой
части:
VL = Vs * (cos( β ) + a * sin( β ))
b
VR = Vs * (cos( β ) − a * sin( β ))
b
β = ϕ + arctg (W ∗ b )
V
Vs =
V 2 + (W ∗ b) 2
где:
β
— угол вектора скорости точки
сочленения относительно ведомой части;
Vs — модуль скорости точки сочленения;
ϕ — угол поворота между ведомой и
ведущей частью.
Мощность, подаваемая на двигатель
каждого колеса, регулируется ПИДконтроллером для удержания заданной
скорости.
Оценка перемещения робота за
прошедшее время dt и новые координаты
платформы (Рисунок 5) рассчитываются
следующим образом:
средняя угловая и поступательная
скорость:
W = (VL − VR) /( 2 ∗ a)
V = (VL + VR) / 2
средний радиус кривизны траектории:
R = V /W
изменение ориентации:
dϕ = W ∗ dt
новая ориентация:
ϕ ′ = ϕ + dϕ
модельной среде и на мобильной
платформе МП-М2401 в реальной среде.
Заключение
Рисунок 5. Координаты части платформы.
В зависимости от радиуса кривизны
траектории может быть использован один
из двух методов расчёта перемещения
части платформы. В случае движения по
окружности радиуса R предпочтительно
использовать дуговую аппроксимацию
траектории, а в случае, когда движение
происходит по прямой, а радиус кривизны
стремится
к
бесконечности,
предпочтительным
является
линейная
аппроксимация траектории.
Линейная аппроксимация траектории:
ϕ ' +ϕ
dX = V ∗ dt * cos
2
'
ϕ +ϕ
dY = V ∗ dt * sin
2
Дуговая аппроксимация траектории:
dX = R ∗ ( sinϕ ' − sinϕ )
dY = R ∗ ( cosϕ ' − cosϕ )
Рассчитанные dX , dY и dϕ отправляются в
модуль локализации в качестве первичной
оценки перемещения робота.
Описанная навигационная система
опробована на виртуальном роботе в
Рассмотрена навигационная система
мобильного колесного робота, состоящая
из узла локализации, узла планирования
траектории движения, узла моторики и
одометрии. Локализация осуществляется с
помощью фильтра частиц. Планирование
маршрута формализовано в виде задачи
поиска пути в графе, который строится на
карте проходимости. Особое внимание
уделено методу расчета скоростей ведомой
и ведущей части платформы для гладкого
движения по вычисленной траектории,
который
проверен
в
численном
моделировании и на реальной платформе.
Список литературы
1. Austin Eliazar, Ronald Parr. “DP-SLAM: Fast,
Robust Simultainous Localization and Mapping Without
Predetermined Landmarks”, IJCAI, 2003.
2. Rekleitis, Ioannis, “A Particle Filter Tutorial for
Mobile Robot Localization,” International Conference
on Robotics and Automation (ICRA), 2003.
3. Dechter, Rina; Judea Pearl “Generalized best-first
search strategies and the optimality of A*”. Journal of
the ACM 32 (3), 1985, 505–536.
4. Arkin, R.C.; Balch, T. “AuRA: principles and
practice in review” Journal of Experimental &
Theoretical Artificial Intelligence 9 (2–3), 1997, 175–
189.
5. Gat, E., “Integrating planning and reacting in a
heterogeneous asynchronous architecture for mobile
robots” in SIGART Bulletin 2, 1991, 70-74.
Download