close

Вход

Забыли?

вход по аккаунту

?

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

код для вставкиСкачать
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.
84
Реализация алгоритма управления движением робота DANI по траектории в среде LabVIEW
Компания National Instruments занимает одну из лидирующих позиций на рынке робототехники. Компания в коллаборации с подразделением компании Pitsco – Tetrix Robotics создаёт учебные робототехнические платформы, предназначенные для обучения основам робототехники, «обкатки» новых алгоритмов управления, создания и испытания систем управления, проверки возможностей интеграции
стандартного оборудования с оборудованием сторонних фирм.
Актуальность темы связана с развитием базового инструментария, предлагаемого компанией National Instruments, для создания научно-исследовательской лаборатории и разработки методического обеспечения по дисциплинам робототехнические системы.
Среди важнейших и ответственных задач, решаемых при проектировании автономных мобильных роботов, являются выбор и реализация алгоритма перемещения робота в точку с заданными координатами. В процессе движения могут встречаться препятствия, которые
робот должен объезжать. Робот должен достигнуть цели за минимальное время и/или с минимальным расходом энергии. Среди подзадач
находятся интерполяция выбранной траектории и движение робота по
траектории.
Целью данной работы является реализация алгоритма управления
движением мобильного колесного робота DaNI по заданной траектории в среде программирования LabVIEW [1].
Для решения данной задачи необходимо решить следующие подзадачи: реализовать интерполяцию траектории, а также подготовить
базовые функции LabVIEW для работы с траекторией; реализовать модель приводов робота; реализовать алгоритм управления движением
робота по траектории.
Разработка библиотеки работы с траекторией
Траектория задается последовательностью точек на координатной плоскости xOy. Стоит задача проезда робота через эти точки с максимальной скоростью. Для сохранения высокой скорости на поворотах
перед началом движения необходимо провести интерполяцию. Причем
должна учитываться исходная ориентация робота. Для интерполяции
воспользуемся кубическим сплайном, так как он дает необходимые
плавные изгибы, и интерполируем траекторию небольшими расстояниями между точками. А учет начальной ориентации робота реализуем
85
К.А. Один
посредством добавления дополнительной точки в начале траектории
так, чтобы вектор между двумя первыми точками обеспечивал угол,
равный данной ориентации. При этом расстояние между этими точками должно быть маленьким.
В итоге в среде программирования LabVIEW разработаем библиотеку для работы с траекторией. На рис. 1 изображена блокдиаграмма основного виртуального прибора (ВП) интерполяции траектории с равными расстояниями между точками (Trajectory Interpolate.vi
).
Рис. 1. Блок-диаграмма Trajectory Interpolate.vi
В состав библиотеки входят также другие ВП и кластеры, основные из них: Trajectory.ctl
– кластер, содержащий массивы X и Y
точек траектории; Point.ctl
– кластер точки на траектории, содер-
жит координаты X и Y; Add Begin Angle Point.vi
– добавляет точку
в траекторию после первой точки таким образом, чтобы вектор от первой точки до новой второй точки составил заданный; Trajectory
Interpolated Of Equal Distance.vi
– интерполирует траекторию с
равными расстояниями между точками; Define Locate On Trajectory.vi
– определение индекса точки траектории, вблизи которой расположен робот.
86
Реализация алгоритма управления движением робота DANI по траектории в среде LabVIEW
Реализация модели приводов робота DaNI
В конструкции рассматриваемого мобильного робота предусмотрены два привода движения, на которые установлены парные колеса.
Каждый из приводов состоит из двух элементов: двигателя постоянного тока и редуктора. Пара колес вращается через зубчатую передачу
редуктора от двигателя постоянного тока [2].
На рис. 2 изображена структурная схема модели привода [3], где
Uя – напряжение, прикладываемое к обмоткам двигателя, ωзад – заданная угловая скорость вращения, k·Φ – постоянная, определяемая
конструктивными параметрами мотора, iя – ток, протекающий по обмотке якоря, Rя, Lя – активное сопротивление и индуктивность обмотки якоря, ω – текущая угловая скорость вращения, Tя – постоянная
времени обмотки якоря, М – электромагнитный момент, Мс – статический момент нагрузки, J∑ – суммарный приведенный момент инерции якоря и колёс.
Параметры структурной схемы модели провода представлены
в таблице.
Параметры структурной схемы модели привода
Uян, В
щн , рад/с
Tя, с
Rя, Ом
k·Ф, В·с
J  , кг·м2
12
13,4
0,028
2,86
0,75
0,014
Реализация в LabVIEW модели приводов робота левой и правой пары колес изображена на рис. 3. Данный ВП (Dani Motors Model.vi
)
содержит внутри себя вызов ВП модели привода (DC Motor Model.vi
), реализованной на основе её структурной схемы (рис. 2).
Рис. 2. Структурная схема модели привода
87
К.А. Один
Рис. 3. Блок-диаграмма модели приводов робота DaNI
Реализация алгоритма управления движением робота
по траектории
Алгоритм реализован на основе работы, описанной в [4], затем
с исключением, что точка-ориентир, к которой движется робот, берется на заданном расстоянии l от точки на траектории, вблизи которой
находится робот. Данное расстояние задается экспериментально и ограничивается конечной точкой траектории. Определение текущей
i-й точки на траектории определяется по критерию
Si  Si 1  min,
(1)
где Si – расстояние от текущей точки робота до i-й точки на траектории, Si 1 – расстояние от текущей точки робота до i + 1-й точки на
траектории.
На каждой итерации управления происходят переопределение
точки-ориентира и определение угловых скоростей двигателей по
формуле [5]
d

  L 
1  2  V 
   r
   ,
d

 R
1
  

2 
88
(2)
Реализация алгоритма управления движением робота DANI по траектории в среде LabVIEW
где V – линейная скорость робота, м/с, ω – угловая скорость вращения
робота, рад/с,  ,  – угловые скорости левой и правой пары колес,
L
R
рад/с, r – радиус колеса, м, d – расстояние между левой и правой парой
колес или радиус вращения робота, м. Для робота DaNI r = 0,046 м,
d = 0,363 м.
V и ω определяются как
Vmax
 V
 

V   max  

V
V
     k 1   (ro  r )  k 1 ,
 
S ro  
S ro 

(3)
где  – отклонение, которое необходимо совершить роботу для движения к точке ориентиру, ro – угол между отрезком RO (точка текущего положения робота и точка-ориентир) и осью Ox, r – текущая
ориентация робота, Vk 1 – линейная скорость робота на предыдущей
итерации управления, S ro – расстояние от текущего положения робота
до точки-ориентира.
После чего на скорости  L и  R накладываются ограничения
с сохранением угловой скорости поворота, т.е. разницы угловых скоростей на левой и правой паре колес. Расчет угловой скорости поворота по формуле (3) справедлив при пересчете ее на каждой итерации
управления при малой ∆t между итерациями. На участке торможения,
при приближении к конечной точке траектории, Vmax в формуле (3) определяется интерполяцией тормозной характеристики робота по времени от начала торможения.
Для предварительного испытания на модели текущие координаты
робота могут быть вычислены на основе текущих скоростей робота.
Для этого определяются линейная скорость и угловая скорость поворота робота:
d

V  1 1  2   L 

.
   r 
d   R 
 
1


2 
(4)
Данная формула получается из выражения 2.
89
К.А. Один
Затем определяются координаты робота следующим образом:
 X k 1 
cos k 1   X k 
 Y   S  sin    Y ,
 k 1 

k 1 
 k 
(5)
где X k , Yk – координаты робота в текущий момент времени, X k 1, Yk 1 –
координаты робота в следующий момент времени, S – расстояние, которое робот проедет за время t , определяется по (6), k 1 – угол расположения робота в следующий момент времени, также определяется по (6).
 S 
V  0 
   t    ,
 k 1 
   k
(6)
где t – интервал времени измерения данных, стремится к нулю.
Формула (6) принимается с тем допущением, что отрезок дискретизации S траектории очень маленький.
На рис. 4 представлена блок-диаграмма ВП реализации алгоритма управления движением робота DaNI по траектории.
Рис. 4. Блок-диаграмма алгоритма управления движением
робота DaNI по траектории
Помимо этого разработана библиотека движения робота, включающая следующие основные ВП: Define Motors Speeds.vi
– определение угловых скоростей двигателей робота (2); Define Linear And
Angular Speeds.vi
– определение линейной скорости движения робота и угловой скорости поворота (4); Define Angular Speed Rotate On
90
Реализация алгоритма управления движением робота DANI по траектории в среде LabVIEW
Trajectory.vi
– определение задания на угловую скорость поворота
робота в данной точке траектории.
Y, м
Х, м
Рис. 5. Перемещение робота DaNI по траектории при моделировании
(красная линия – интерполированная траектория,
черная – реальная траектория проделанная роботом)
V, м/c
t, c
Рис. 6. Графиклинейной скорости робота DaNI при движении по траектории
91
К.А. Один
Описанный алгоритм был реализован в среде моделирования LabVIEW, а также написаны библиотечные функции: работа с траекторией,
в том числе её интерполяция; модель приводов робота; уравнения кинематики, управление скоростями робота, определение положения робота
по скоростям.
На рис. 5, 6 представлены результаты моделирования движения
робота DaNI по траектории.
График линейной скорости на траектории изображен на рис. 6.
Представленный дискретный алгоритм управления обеспечивает
движение колесного робота по заданной траектории с учетом отклонений.
Недостатком алгоритма является неоптимальное регулирование скоростей
на поворотах и неучёт рельефа, типа поверхности, а также других условий,
что может быть исправлено посредством разработки дополнительного
нейронного регулятора здания скоростей на приводы. Несмотря на это,
простота алгоритма и его реализация на LabVIEW с подготовкой библиотечных функций дополняют базовую библиотеку LabVIEW Robotics и позволяет разработать ясные лабораторные практикумы для студентов по
дисциплинам «Робототехнические системы».
Библиографическийсписок
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.
92
Реализация алгоритма управления движением робота DANI по траектории в среде LabVIEW
Сведения об авторе
Один Константин Анатольевич (Пермь, Россия) – ассистент
кафедры микропроцессорных средств автоматизации Пермского национального исследовательского политехнического университета
(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
93
Документ
Категория
Без категории
Просмотров
11
Размер файла
721 Кб
Теги
среды, labview, движение, алгоритм, робота, danil, pdf, управления, реализации, траектория
1/--страниц
Пожаловаться на содержимое документа