УДК 681.518.3

Разработка математической модели кинематики и динамики колесного дифференциального робота

Марченко Ксения Павловна – студент магистратуры кафедры Робототехнических систем и мехатроники Московского государственного технического университета имени Н. Э. Баумана.

Коновалов Константин Владимирович – аспирант кафедры Робототехнических систем и мехатроники Московского государственного технического университета имени Н. Э. Баумана.

Ершов Сергей Дмитриевич – студент магистратуры кафедры Робототехнических систем и мехатроники Московского государственного технического университета имени Н. Э. Баумана.

Ахмад Авс – студент магистратуры кафедры Робототехнических систем и мехатроники Московского государственного технического университета имени Н. Э. Баумана.

Вассуф Язан – студент магистратуры кафедры Робототехнических систем и мехатроники Московского государственного технического университета имени Н. Э. Баумана.

Аннотация: В статье описывается построение кинематической и динамической модели дифференциального робота с использование программы компьютерного моделирования MATLAB/Simulink. Был рассмотрен алгоритм движения к ближайшей точки, чтобы робот мог отработать заданную оператором траекторию. Была разработана модель динамики и проведён сравнительный анализ с моделью построенной в библиотеке MATLAB/Multibody.

Ключевые слова: колесный робот, уравнения кинематической модели, уравнения динамики, моделирование.

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

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

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

Ставилась цель разработки математической модели дифференциального робота.

В ходе данной работы были поставлены следующие задачи:

  1. Разработать кинематическую модель колесного робота.
  2. Разработать динамическую модель колесного робота.
  3. Провести энергетический расчет двигателя и выбрать его.
  4. Промоделировать полученные модели в Matlab.
  5. Проверить работоспособность робота при реализации сложной траектории.

Требования:

  1. Дифференциальный робот.
  2. Скорость колесного робота минимальная - 5 км/ч, максимальная - 25 км/ч.

Масса-габариты:

  1. Общая масса колесного робота: 15 кг. Масса конструкции: 10 кг. Полезная нагрузка: 5 кг
  2. Габариты: робот должен быть 300 мм в ширину и 400 мм в длину.
  3. Диаметр колес 200 мм, ширина колес 25 мм.

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

Уравнения кинематической модели

Данный робот имеет два колеса с независимыми приводами, которые можно использовать для управления скоростью движения и угловой скоростью (рис. 1)[1].

Описание: E:\journal\1-2021\Статьи\15 Техника и технология\121-15-010\Новая папка\1.jpg

Рисунок 1. Схема движения колесного робота.

Когда мы рассматриваем прямую кинематику, то на вход такой системы подаем угловую скорость и  в рад/с. На выходе получаем линейную скорость V(м/с) и угловую скорость (рад/с).

Формируя закон управления, получим систему из 2х уравнений:

.

Вводя координаты х, y, , получим новую систему:

Подставив эту систему в предыдущую получим:

.

При расчете обратной кинематики на вход системы будут подаваться линейная скорость V(м/с) и угловая скорость (рад/с), а на выходе будем снимать угловую скорость и  в рад/с. Тогда система уравнений изменится и примет вид:

Моделирование колесного робота проводилось в программе Matlab в пакете Simulink. Для этого нам понадобится библиотека Mobile Robotics Simulation (рис. 2)[2].

Описание: E:\journal\1-2021\Статьи\15 Техника и технология\121-15-010\Новая папка\2.jpg

Рисунок 2. Библиотека Mobile Robotics Simulation.

Рассмотрим систему, когда робот будет ехать из начала координат в определенную точку и из начала координат, через точку на плоскости и обратно. Чтобы смоделировать такую систему нам понадобится такие блоки как: “Обратная кинематика”, “Симуляция движения”, “Следование за точкой” и “Визуализация робота”. На вход системы подается матрица из чисел, которые определяют координаты положения точек перемещения. Для блока “Симуляция движения” были заданы две константы L=0,5 и R = 0,1. Тогда система будет выглядеть следующим образом (рис. 3):

Описание: E:\journal\1-2021\Статьи\15 Техника и технология\121-15-010\Новая папка\3.jpg

Рисунок 3. Модель системы.

Для более удобной визуализации всех процессов работы колесного робота, было принято решение добавить блок “Прямая кинематика”, чтобы видеть, какие на выходе мы получаем угловые скорости и  в рад/с. А также добавим блок для вывода положения робота [x,y,] и блок для вывода угловой скорости колес и  в рад/с.

Тогда система примет вид (рис. 4):

Описание: E:\journal\1-2021\Статьи\15 Техника и технология\121-15-010\Новая папка\4.jpg

Рисунок 4. Полная модель робота.

Рассмотрим перемещение из точки в точку. На вход системы подается матрица из двух точек: [0,0;2,2]. Время, которое колесный робот потратит на перемещение из начала координат в точку [2,2] возьмем примерно t1 = 3 сек (рис. 5):

Описание: E:\journal\1-2021\Статьи\15 Техника и технология\121-15-010\img\5.jpg

Рисунок 5. Передвижение из точки в точку.

А также посмотрим данные, которые выдала система (рис. 6):

Описание: E:\journal\1-2021\Статьи\15 Техника и технология\121-15-010\img\6.jpg

Рисунок 6. Данные с системы.

В блоке “Скорость и угловая скорость” видим, что робот поехал со скоростью , что соответствует минимальной заданной скорости по ТЗ. В блоке “Скорость колес” можно увидеть с какая угловая скорость подавалась на оба колеса. В итоге робот затратил на перемещение из точки в точку время t=2,05 сек, что удовлетворило требованиям.

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

t2 = 13 сек (рис. 7):

Описание: E:\journal\1-2021\Статьи\15 Техника и технология\121-15-010\img\7.jpg

Рисунок 7. Передвижение колесного робота.

На данном графике можно увидеть траекторию движения робота, а также путь его разворота. Можно заметить, что для разворота ему не потребовалось делать большой крюк.

Посмотрим на данные, которые выдала система (рис. 8):

Описание: E:\journal\1-2021\Статьи\15 Техника и технология\121-15-010\img\8.jpg

Рисунок 8. Новые данные с системы.

В блоке “Скорость и угловая скорость” видим, что робот поехал со скоростью , что соответствует заданной скорости по ТЗ. В блоке “Скорость колес” можно увидеть с какая угловая скорость подавалась на оба колеса. В итоге робот затратил на перемещение из точки в точку время t=5,4 сек, что удовлетворило требованиям.

Рассмотрим перемещение робота по тяжелой траектории. Для этого на вход системы подадим новую матрицу [0,0;2,6; 10,16; 20,20;18,6; -1, 5;0,0]. И зададим примерное время, которое может затратить робот: t2 = 50 сек (рис. 9):

Описание: E:\journal\1-2021\Статьи\15 Техника и технология\121-15-010\img\9.jpg

Рисунок 9. Передвижение по сложной траектории.

Посмотрим на данные, которые выдала система (рис. 10):

Описание: E:\journal\1-2021\Статьи\15 Техника и технология\121-15-010\img\10.jpg

Рисунок 10. Данные с системы.

В блоке “Скорость и угловая скорость” видим, что робот поехал со скоростью . В блоке “Скорость колес” можно увидеть с какая угловая скорость подавалась на оба колеса. В итоге данный робот затратил на перемещение из точки в точку время t=49.5 сек, что также удовлетворило требованиям.

Уравнения динамики

Рассматривая прямую динамику колесного робота, известно, что на вход такой системы подаем моменты, которые должны реализовать левое и правое колеса, которые обозначаются и  соответственно. На выходе получаем линейное ускорение a ( и угловое ускорение (рад/, или проинтегрировав эти значения, получаем линейную скорость V(м/с) и угловую скорость (рад/с).

Формируя закон управления, получим систему из 2х уравнений:

,

где  и  - моменты, развиваемые моторами, которые приводят в движения колеса;

b - коэффициент смещения центра массы робота от оси вращения ( в данном случае b=0),

r - радиус колес;

m - масса робота;

L - ширина робота.

Вводя координаты х, y, , получим новую систему:

Тогда получим удобную форму представления динамики колесного робота в виде системы уравнений:

 

.

Будем рассматривать систему, которая движется по плоской поверхности. За основу возьмем уже созданную в Matlab Multibody [2] систему двухколесного робота (рис. 11), которая состоит из: корпуса робота, двух опорных колес и двух движущих колес. В системе моделируются взаимодействия с опорной поверхностью с помощью библиотеки, а также моделируется сложная модель трения.

Описание: E:\journal\1-2021\Статьи\15 Техника и технология\121-15-010\img\11.jpg

Рисунок 11. Двухколесный робот multibody.

На вход данного робота подается две матрицы моментов для правого и левого колеса:

[0;0;0;-0.001;0;0;0;0.001;-0.0005;0;0;0;0.0005;-0.0005;0;0;0;0.0005;0.00075;0;0;0;-0.00075] - правое колесо,

[0;0;0;-0.00025;0;0;0;0.00025;-0.0005;0;0;0;0.0005;-0.00025;0;0;0;0.00025;0.00075;0;0;0;-0.00075] - левое колесо.

При движении робот описывает траекторию, показанную на рисунке 12:

Описание: E:\journal\1-2021\Статьи\15 Техника и технология\121-15-010\img\12.jpg

Рисунок 12. Траектория двухколесного робота.

Теперь смоделируем свою модель. Данная модель будет включать в себя 2 блока: прямая динамика и кинематика. На вход будем также подавать моменты и  на оба колеса. С помощью блока кинематики мы сможем снять значения положения х и у робота на плоскости.

Разработанная модель показана на рисунке 13.

Описание: E:\journal\1-2021\Статьи\15 Техника и технология\121-15-010\img\13.jpg

Рисунок 13 Разработанная модель.

Блоки прямой динамики и кинематики были разработаны с учетом полученной нами системы уравнений (рис. 14, 15).

Описание: E:\journal\1-2021\Статьи\15 Техника и технология\121-15-010\img\14.jpg

Рисунок 14. Блок прямой динамики.

Описание: E:\journal\1-2021\Статьи\15 Техника и технология\121-15-010\img\15.jpg

Рисунок 15. Блок кинематики.

На вход системы подаем те же значения моментов для правого и левого колеса.

При движении робот описывает траекторию, показанную на рисунке 16:

Описание: E:\journal\1-2021\Статьи\15 Техника и технология\121-15-010\img\16.jpg

Рисунок 16. Траектория движения разработанного робота.

Сравнив два графика, можно сделать вывод, что разработанная мною система повторяет готовую модель. А значит она разработана верно.

Проверим передвижение модели по заданным траекториям.
1. Движение по спирали: на вход подадим две матрицы моментов:

[0;0;0;0.001;0;0;0;0.001;0.0005;0;0;0;0.0005;0.0005;0;0;0;0.0005;0.00075;0;0;0;0.00075] - для правого колеса;

[0;0;0;0.00025;0;0;0;0.00025;0.0005;0;0;0;0.0005;0.00025;0;0;0;0.0005;0.00075;0;0;0;0.00075] - для левого колеса.

В итоге получим график передвижения (рис. 17):

Описание: E:\journal\1-2021\Статьи\15 Техника и технология\121-15-010\img\17.jpg

Рисунок 17. Движение по спирали.

2. Движение по окружности:

[0;0;0;0.001;0;0;0;0.001] - правое колесо;

[0;0;0;0.0001;0;0;0;0.0001] - левое колесо.

Получаем график передвижения (рис. 18):

Описание: E:\journal\1-2021\Статьи\15 Техника и технология\121-15-010\img\18.jpg

Рисунок 18. Движение по окружности.

3. Движение по прямой:

[0.0005;0.0025;-0.0025;0.0035;-0.0035;0.0035;-0.0035;0.0035;-0.0035;0.0035;-0.0035;0.0035;-0.0035] - для правого колеса;

[0.0005;0.002;-0.002;0.0025;-0.0025;0.003;-0.003;0.0035;-0.0035;0.0035;-0.0035;0.0035;-0.0035] - для левого колеса.

Получаем график (рис. 19):

Описание: E:\journal\1-2021\Статьи\15 Техника и технология\121-15-010\img\19.jpg

Рисунок 19. Движение по прямой.

Список литературы

  1. С. Л. Зенкевич, А.В. Назарова, Система управления мобильного колесного робота. М.: Вестник МГТУ им. Н.Э. Баумана. Сер. “Приборостроение”, 2006.
  2. Mobile Robotics Simulation Toolbox [Электронный ресурс] URL: https://www.mathworks.com/matlabcentral/fileexchange/66586-mobile-robotics-simulation-toolbox.
  3. Simscape Multibody Contact Forces Library [Электронный ресурс] URL: https://www.mathworks.com/matlabcentral/fileexchange/47417-simscape-multibody-contact-forces-library.

Интересная статья? Поделись ей с другими: