Реализация алгоритма управления движением робота DaNI по траектории в среде LabVIEW

2013 Электротехника, информационные технологии, системы управления № 8 УДК 621.865.8:[658.5.011.56+004.422.8]

К.А. Один

Пермский национальный исследовательский политехнический университет,

Пермь, Россия

РЕАЛИЗАЦИЯ АЛГОРИТМА УПРАВЛЕНИЯ ДВИЖЕНИЕМ РОБОТА DANI ПО ТРАЕКТОРИИ В СРЕДЕ LABVIEW

Описана реализация алгоритма управления движением мобильного колесного робота DaNI по траектории в среде программирования LabVIEW. В начале статьи рассматривается реализация библиотеки работы с траекторией и её интерполяцией. Затем рассмотрены модель приводов робота DaNI и реализация на LabVIEW. Последним разделом описываются: кинематика движения робота; определение координат робота по скоростям; определение текущих скоростей двигателей в каждый момент времени с учетом положения робота относительно траектории. В заключение приведены результаты работы полученного алгоритма, его перспективы развития и применения. Работа выполнена в соответствии с государственным заданием (заказ-наряд 1047) по теме «Создание мобильной интеллектуальной платформы на базе технологии виртуальной реальности, элементов и систем управления, пригодных для эксплуатации в экстремальных условиях внешней среды».

Ключевые слова: робот DaNI, LabVIEW, движение по траектории, интерполяция, модель приводов робота DaNI, кинематика движения робота DaNI.

K.A. Odin

Perm National Research Polytechnic University, Perm, Russian Federation

IMPLEMENTATION OF MOVEMENT IN A PATH CONTROL ALGORITHM FOR DANI ROBOT IN LABVIEW ENVIRONMENT

The paper describes implementation of movement in a path control algorithm for mobile wheeled DaNI robot in LabVIEW environment. First, library implementation of the path performance and its interpolation is described. Second, the model DaNI robot drive and its implementation in LabVIEW environment is presented. Third, there is description of robot movements kinematics, defining the coordinates by robot speed, defining robot engine current speed at every time moment depending on the robot positioning in relation to the path performance. Finally, there are research results of the developed algorithm, its development strategy and application. The total work has been completed in accordance with the Government order (service order 1047) for "Development of mobile intelligent platform on the basis of virtual reality technology, control elements and systems, adaptable for use in extreme environment conditions".

Keywords: DaNI robot, path movement, interpolation, model DaNI robot drive,DaNI robot movements kinematics.

Компания National Instruments занимает одну из лидирующих позиций на рынке робототехники. Компания в коллаборации с подразделением компании Pitsco - Tetrix Robotics создаёт учебные робототех-нические платформы, предназначенные для обучения основам робототехники, «обкатки» новых алгоритмов управления, создания и испытания систем управления, проверки возможностей интеграции стандартного оборудования с оборудованием сторонних фирм.

Актуальность темы связана с развитием базового инструментария, предлагаемого компанией National Instruments, для создания научно-исследовательской лаборатории и разработки методического обеспечения по дисциплинам робототехнические системы.

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

Целью данной работы является реализация алгоритма управления движением мобильного колесного робота DaNI по заданной траектории в среде программирования LabVIEW [1].

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

Разработка библиотеки работы с траекторией

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

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

В итоге в среде программирования LabVIEW разработаем библиотеку для работы с траекторией. На рис. 1 изображена блок-диаграмма основного виртуального прибора (ВП) интерполяции траектории с равными расстояниями между точками (Trajectory Interpolate.vi

Рис. 1. Блок-диаграмма Trajectory Interpolate.vi В состав библиотеки входят также другие ВП и кластеры, основ-

TRAJEC-

ные из них: Trajectory, ctl TQFiV - кластер, содержащий массивы X и Y

1 К: V

точек траектории; Point, ctl _- кластер точки на траектории, содер-

ADD BEGIN

жит координаты X и 7; Add Begin Angle Point.vi F0IMT - добавляет точку в траекторию после первой точки таким образом, чтобы вектор от первой точки до новой второй точки составил заданный; Trajectory

INTERPOLATED EQUAL DISTAMCE

интерполирует траекторию с

Interpolated Of Equal Distance, vi равными расстояниями между точками; Define Locate On Trajectory.vi

DEFINE LOCATE OH TRft-JECTOFiV

- определение индекса точки траектории, вблизи которой распо-

ложен робот.

Реализация модели приводов робота Ба^

В конструкции рассматриваемого мобильного робота предусмотрены два привода движения, на которые установлены парные колеса. Каждый из приводов состоит из двух элементов: двигателя постоянного тока и редуктора. Пара колес вращается через зубчатую передачу редуктора от двигателя постоянного тока [2].

На рис. 2 изображена структурная схема модели привода [3], где ия - напряжение, прикладываемое к обмоткам двигателя, юзад - заданная угловая скорость вращения, ЪФ - постоянная, определяемая конструктивными параметрами мотора, /я - ток, протекающий по обмотке якоря, Rя, Ья - активное сопротивление и индуктивность обмотки якоря, ю - текущая угловая скорость вращения, Тя - постоянная времени обмотки якоря, М - электромагнитный момент, Мс - статический момент нагрузки, / - суммарный приведенный момент инерции якоря и колёс.

Параметры структурной схемы модели провода представлены в таблице.

Параметры структурной схемы модели привода

Цн, В щн, рад/с Тя, с R.я, Ом k-Ф, В-с J£ , кг-м2

12 13,4 0,028 2,86 0,75 0,014

Реализация в LabVIEW модели приводов робота левой и правой па-

DANI

MOTORS

ры колес изображена на рис. 3. Данный ВП (Demi Motors Model.vi lM°DEL I) содержит внутри себя вызов ВП модели привода (DC Motor Model.vi

), реализованной на основе её структурной схемы (рис. 2).

DO MOTOR MODEL

Рис. 2. Структурная схема модели привода

Рис. 3. Блок-диаграмма модели приводов робота DaNI

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

Алгоритм реализован на основе работы, описанной в [4], затем с исключением, что точка-ориентир, к которой движется робот, берется на заданном расстоянии l от точки на траектории, вблизи которой находится робот. Данное расстояние задается экспериментально и ограничивается конечной точкой траектории. Определение текущей i-й точки на траектории определяется по критерию

S + St+1 ^ min,

где Sf - расстояние от текущей точки робота до i-й точки на траектории, S+1 - расстояние от текущей точки робота до i + 1-й точки на траектории.

На каждой итерации управления происходят переопределение точки-ориентира и определение угловых скоростей двигателей по формуле [5]

ег

= r

i - d

2

1 d

2

R

где V - линейная скорость робота, м/с, ю - угловая скорость вращения робота, рад/с, 9ь, 9К - угловые скорости левой и правой пары колес, рад/с, г - радиус колеса, м, d - расстояние между левой и правой парой колес или радиус вращения робота, м. Для робота БаШ г = 0,046 м, d = 0,363 м.

V и ю определяются как

V,

Лф

V

тах

(фго -Фг ) •

V-!

где Лф - отклонение, которое необходимо совершить роботу для движения к точке ориентиру, фго - угол между отрезком КО (точка текущего положения робота и точка-ориентир) и осью Ох, фг - текущая ориентация робота, Vk-1 - линейная скорость робота на предыдущей итерации управления, Sro - расстояние от текущего положения робота до точки-ориентира.

После чего на скорости (9ь и 9К накладываются ограничения с сохранением угловой скорости поворота, т.е. разницы угловых скоростей на левой и правой паре колес. Расчет угловой скорости поворота по формуле (3) справедлив при пересчете ее на каждой итерации управления при малой At между итерациями. На участке торможения, при приближении к конечной точке траектории, Утах в формуле (3) определяется интерполяцией тормозной характеристики робота по времени от начала торможения.

Для предварительного испытания на модели текущие координаты робота могут быть вычислены на основе текущих скоростей робота. Для этого определяются линейная скорость и угловая скорость поворота робота:

1 - ^ 2

1 d

2

9Г

Данная формула получается из выражения 2.

К

Затем определяются координаты робота следующим образом:

X,

k+1

k+1

= AS

+

X,

cos Фк+1

_sin Фк+1.

где Хк, Ук - координаты робота в текущий момент времени, Хк+1,Ук+1 -координаты робота в следующий момент времени, ДО - расстояние, которое робот проедет за время At, определяется по (6), фк+1 - угол расположения робота в следующий момент времени, также определяется по (6).

где At - интервал времени измерения данных, стремится к нулю.

Формула (6) принимается с тем допущением, что отрезок дискретизации ДО траектории очень маленький.

На рис. 4 представлена блок-диаграмма ВП реализации алгоритма управления движением робота DaNI по траектории.

"AS " V' "0 "

= At +

_Фк+i _ ш _Фк _

Рис. 4. Блок-диаграмма алгоритма управления движением робота DaNI по траектории

Помимо этого разработана библиотека движения робота, вклю-

DEFIHE

40T0F5S SPEEDS

чающая следующие основные ВП: Define Motors Speeds.vi - определение угловых скоростей двигателей робота (2); Define Linear And

DCriHE LIHEAKh AHGULAR SPEEDS

определение линейной скорости движения ро-

Angalar Speeds.vi

бота и угловой скорости поворота (4); Define Angular Speed Rotate On

Тг^в^огуМ

[ с г I н с ЙНЫНЙК 5РЕЕР КОТЙТС _

определение задания на угловую скорость поворота

робота в данной точке траектории.

г, м 1 п 5 -.. 1

10987- б- 4321-

-

-

-

0- 0 1 ,5 С5 1 1 2 1 ,5

X, м

Рис. 5. Перемещение робота Da.NI по траектории при моделировании

V, м/с

0,32

0,25 0,2 0,15 ОД 0,05

о

О 2,5 5 7,5 10 12,5 15 17,5 20 22,5 25 27,5 30 32,5 35 37,5 40 42,5 45

^ с

Рис. 6. Графиклинейной скорости робота Da.NI при движении по траектории

Описанный алгоритм был реализован в среде моделирования LabVIEW, а также написаны библиотечные функции: работа с траекторией, в том числе её интерполяция; модель приводов робота; уравнения кинематики, управление скоростями робота, определение положения робота по скоростям.

На рис. 5, 6 представлены результаты моделирования движения робота DaNI по траектории.

График линейной скорости на траектории изображен на рис. 6.

Представленный дискретный алгоритм управления обеспечивает движение колесного робота по заданной траектории с учетом отклонений. Недостатком алгоритма является неоптимальное регулирование скоростей на поворотах и неучёт рельефа, типа поверхности, а также других условий, что может быть исправлено посредством разработки дополнительного нейронного регулятора здания скоростей на приводы. Несмотря на это, простота алгоритма и его реализация на LabVIEW с подготовкой библиотечных функций дополняют базовую библиотеку LabVIEWRobotics и позволяет разработать ясные лабораторные практикумы для студентов по дисциплинам «Робототехнические системы».

Библиографическийсписок

1. Mobile Robotics Experimen tswith DaNI [Электронный ресурс]. -URL: http://download.ni.com/pub/devzone/epd/mobile_robotics_experiments.pdf (дата обращения: 03.05.2013).

2. Москаленко В.В. Электрический привод: учебник для вузов. -М.: Академия, 2007. - 368 с.

3. Герман-Галкин С.Г. Компьютерное моделирование полупроводниковых систем в MatLab 6.0: учебное пособие. - СПб: КОРОНА принт, 2001. - 320 с.

4. Караваев Ю.Л., Трефилов С.А. Дискретный алгоритм управления по отклонению мобильным роботом с омниколесами // Нелинейная динамика. - 2013. - Т. 9. - № 1. - С. 91-100.

5. Braunl T. Embedded Robotics: Mobile Robot Design and Applications with Embedded Systems. Third Edition.School of Electrical, Electronic and Computer Engineering. - The University of Western Australia. - 2004. - 434 p.

Сведения об авторе

Один Константин Анатольевич (Пермь, Россия) - ассистент кафедры микропроцессорных средств автоматизации Пермского национального исследовательского политехнического университета (614990, Пермь, Комсомольский пр., 29, e-mail: oka54@mail.ru).

About the author

Odin Konstantin Anatolievich (Perm, Russian Federation) is an Assistant of the Department of Automation Microprocessors, Perm National Research Polytechnic University (614990, 29, Komsomolsky pr., Perm, e-mail: oka54@mail.ru).

Получено 05.09.2013