РЕАЛИЗАЦИЯ АЛГОРИТМА УПРАВЛЕНИЯ ДВИЖЕНИЕМ РОБОТА DANI ПО ТРАЕКТОРИИ В СРЕДЕ LABVIEW
- Авторы: Один К.А.1
- Учреждения:
- Пермский национальный исследовательский политехнический университет
- Выпуск: № 8 (2013)
- Страницы: 84-93
- Раздел: Статьи
- URL: https://ered.pstu.ru/index.php/elinf/article/view/2794
- DOI: https://doi.org/10.15593/вестник%20пермского%20национального%20исследовательского%20политехнического%20университета.%20электротехника,%20информационные%20технологии,%20системы%20управления.v0i8.2794
- Цитировать
Аннотация
Описана реализация алгоритма управления движением мобильного колесного робота DaNI по траектории в среде программирования LabVIEW . В начале статьи рассматривается реализация библиотеки работы с траекторией и её интерполяцией. Затем рассмотрены модель приводов робота DaNI и реализация на LabVIEW . Последним разделом описываются: кинематика движения робота; определение координат робота по скоростям; определение текущих скоростей двигателей в каждый момент времени с учетом положения робота относительно траектории. В заключение приведены результаты работы полученного алгоритма, его перспективы развития и применения. Работа выполнена в соответствии с государственным заданием (заказ-наряд 1047) по теме «Создание мобильной интеллектуальной платформы на базе технологии виртуальной реальности, элементов и систем управления, пригодных для эксплуатации в экстремальных условиях внешней среды».
Полный текст
Компания National Instruments занимает одну из лидирующих позиций на рынке робототехники. Компания в коллаборации с подразделением компании Pitsco – Tetrix Robotics создаёт учебные робототехнические платформы, предназначенные для обучения основам робототехники, «обкатки» новых алгоритмов управления, создания и испытания систем управления, проверки возможностей интеграции стандартного оборудования с оборудованием сторонних фирм. Актуальность темы связана с развитием базового инструментария, предлагаемого компанией National Instruments, для создания научно-исследовательской лаборатории и разработки методического обеспечения по дисциплинам робототехнические системы. Среди важнейших и ответственных задач, решаемых при проектировании автономных мобильных роботов, являются выбор и реализация алгоритма перемещения робота в точку с заданными координатами. В процессе движения могут встречаться препятствия, которые робот должен объезжать. Робот должен достигнуть цели за минимальное время и/или с минимальным расходом энергии. Среди подзадач находятся интерполяция выбранной траектории и движение робота по траектории. Целью данной работы является реализация алгоритма управления движением мобильного колесного робота DaNI по заданной траектории в среде программирования LabVIEW [1]. Для решения данной задачи необходимо решить следующие подзадачи: реализовать интерполяцию траектории, а также подготовить базовые функции LabVIEW для работы с траекторией; реализовать модель приводов робота; реализовать алгоритм управления движением робота по траектории. Разработка библиотеки работы с траекторией Траектория задается последовательностью точек на координатной плоскости xOy. Стоит задача проезда робота через эти точки с максимальной скоростью. Для сохранения высокой скорости на поворотах перед началом движения необходимо провести интерполяцию. Причем должна учитываться исходная ориентация робота. Для интерполяции воспользуемся кубическим сплайном, так как он дает необходимые плавные изгибы, и интерполируем траекторию небольшими расстояниями между точками. А учет начальной ориентации робота реализуем посредством добавления дополнительной точки в начале траектории так, чтобы вектор между двумя первыми точками обеспечивал угол, равный данной ориентации. При этом расстояние между этими точками должно быть маленьким. В итоге в среде программирования 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 – определение индекса точки траектории, вблизи которой расположен робот. Реализация модели приводов робота DaNI В конструкции рассматриваемого мобильного робота предусмотрены два привода движения, на которые установлены парные колеса. Каждый из приводов состоит из двух элементов: двигателя постоянного тока и редуктора. Пара колес вращается через зубчатую передачу редуктора от двигателя постоянного тока [2]. На рис. 2 изображена структурная схема модели привода [3], где Uя – напряжение, прикладываемое к обмоткам двигателя, ωзад – заданная угловая скорость вращения, k∙Φ – постоянная, определяемая конструктивными параметрами мотора, iя – ток, протекающий по обмотке якоря, Rя, Lя – активное сопротивление и индуктивность обмотки якоря, ω – текущая угловая скорость вращения, Tя – постоянная времени обмотки якоря, М – электромагнитный момент, Мс – статический момент нагрузки, J∑ – суммарный приведенный момент инерции якоря и колёс. Параметры структурной схемы модели провода представлены в таблице. Параметры структурной схемы модели привода Uян, В, рад/сTя, сRя, Омk·Ф, В·с, кг·м2 1213,40,0282,860,750,014 Реализация в LabVIEW модели приводов робота левой и правой пары колес изображена на рис. 3. Данный ВП (Dani Motors Model.vi ) содержит внутри себя вызов ВП модели привода (DC Motor Model.vi ), реализованной на основе её структурной схемы (рис. 2). Рис. 2. Структурная схема модели привода Рис. 3. Блок-диаграмма модели приводов робота DaNI Реализация алгоритма управления движением робота по траектории Алгоритм реализован на основе работы, описанной в [4], затем с исключением, что точка-ориентир, к которой движется робот, берется на заданном расстоянии l от точки на траектории, вблизи которой находится робот. Данное расстояние задается экспериментально и ограничивается конечной точкой траектории. Определение текущей i-й точки на траектории определяется по критерию (1) где – расстояние от текущей точки робота до i-й точки на траектории, – расстояние от текущей точки робота до i + 1-й точки на траектории. На каждой итерации управления происходят переопределение точки-ориентира и определение угловых скоростей двигателей по формуле [5] (2) где V – линейная скорость робота, м/с, ω – угловая скорость вращения робота, рад/с, – угловые скорости левой и правой пары колес, рад/с, r – радиус колеса, м, d – расстояние между левой и правой парой колес или радиус вращения робота, м. Для робота DaNI r = 0,046 м, d = 0,363 м. V и ω определяются как (3) где Dj – отклонение, которое необходимо совершить роботу для движения к точке ориентиру, jro – угол между отрезком RO (точка текущего положения робота и точка-ориентир) и осью Ox, jr – текущая ориентация робота, – линейная скорость робота на предыдущей итерации управления, – расстояние от текущего положения робота до точки-ориентира. После чего на скорости и накладываются ограничения с сохранением угловой скорости поворота, т.е. разницы угловых скоростей на левой и правой паре колес. Расчет угловой скорости поворота по формуле (3) справедлив при пересчете ее на каждой итерации управления при малой ∆t между итерациями. На участке торможения, при приближении к конечной точке траектории, в формуле (3) определяется интерполяцией тормозной характеристики робота по времени от начала торможения. Для предварительного испытания на модели текущие координаты робота могут быть вычислены на основе текущих скоростей робота. Для этого определяются линейная скорость и угловая скорость поворота робота: (4) Данная формула получается из выражения 2. Затем определяются координаты робота следующим образом: (5) где – координаты робота в текущий момент времени, – координаты робота в следующий момент времени, – расстояние, которое робот проедет за время , определяется по (6), – угол расположения робота в следующий момент времени, также определяется по (6). (6) где – интервал времени измерения данных, стремится к нулю. Формула (6) принимается с тем допущением, что отрезок дискретизации траектории очень маленький. На рис. 4 представлена блок-диаграмма ВП реализации алгоритма управления движением робота DaNI по траектории. Рис. 4. Блок-диаграмма алгоритма управления движением робота DaNI по траектории Помимо этого разработана библиотека движения робота, включающая следующие основные ВП: Define Motors Speeds.vi – определение угловых скоростей двигателей робота (2); Define Linear And Angular Speeds.vi – определение линейной скорости движения робота и угловой скорости поворота (4); Define Angular Speed Rotate On Trajectory.vi – определение задания на угловую скорость поворота робота в данной точке траектории. Y, м Х, м Рис. 5. Перемещение робота DaNI по траектории при моделировании (красная линия – интерполированная траектория, черная – реальная траектория проделанная роботом) V, м/c t, c Рис. 6. Графиклинейной скорости робота DaNI при движении по траектории Описанный алгоритм был реализован в среде моделирования LabVIEW, а также написаны библиотечные функции: работа с траекторией, в том числе её интерполяция; модель приводов робота; уравнения кинематики, управление скоростями робота, определение положения робота по скоростям. На рис. 5, 6 представлены результаты моделирования движения робота DaNI по траектории. График линейной скорости на траектории изображен на рис. 6. Представленный дискретный алгоритм управления обеспечивает движение колесного робота по заданной траектории с учетом отклонений. Недостатком алгоритма является неоптимальное регулирование скоростей на поворотах и неучёт рельефа, типа поверхности, а также других условий, что может быть исправлено посредством разработки дополнительного нейронного регулятора здания скоростей на приводы. Несмотря на это, простота алгоритма и его реализация на LabVIEW с подготовкой библиотечных функций дополняют базовую библиотеку LabVIEW Robotics и позволяет разработать ясные лабораторные практикумы для студентов по дисциплинам «Робототехнические системы».Об авторах
Константин Анатольевич Один
Пермский национальный исследовательский политехнический университет
Email: oka54@mail.ru
614990, Пермь, Комсомольский пр., 29 ассистент кафедры микропроцессорных средств автоматизации Пермского национального исследовательского политехнического университета
Список литературы
- Mobile Robotics Experimen tswith DaNI [Электронный ресурс]. – URL: http://download.ni.com/pub/devzone/epd/mobile_robotics_experiments.pdf (дата обращения: 03.05.2013).
- Москаленко В.В. Электрический привод: учебник для вузов. – М.: Академия, 2007. – 368 с.
- Герман-Галкин С.Г. Компьютерное моделирование полупроводниковых систем в MatLab 6.0: учебное пособие. – СПб: КОРОНА принт, 2001. – 320 с.
- Караваев Ю.Л., Трефилов С.А. Дискретный алгоритм управления по отклонению мобильным роботом с омниколесами // Нелинейная динамика. – 2013. – Т. 9. – № 1. – С. 91–100.
- 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.
Статистика
Просмотры
Аннотация - 80
PDF (Russian) - 23
Ссылки
- Ссылки не определены.