Статья опубликована в рамках: Научного журнала «Студенческий» № 20(232)
Рубрика журнала: Технические науки
Секция: Машиностроение
Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3, скачать журнал часть 4, скачать журнал часть 5, скачать журнал часть 6, скачать журнал часть 7, скачать журнал часть 8, скачать журнал часть 9, скачать журнал часть 10, скачать журнал часть 11, скачать журнал часть 12, скачать журнал часть 13
УПРАВЛЕНИЕ ПОЗЫ ЧЕТВЕРОНОГОГО РОБОТА В MATLAB
POSE CONTROL OF FOUR-LEGED ROBOT IN MATLAB
Wang Mingyang
magistracy, department of special robotics and mechatronics, Moscow State Technical University. N.E. Bauman,
Russia, Moscow
Andrey Boshlyakov
Scientific supervisor, candidate of Sciences in Technology, associate professor, Moscow State Technical University. N.E. Bauman,
Russia, Moscow
АННОТАЦИЯ
Четвероногий робот является популярной темой в области исследований в области робототехники и имеет широкий спектр применений. Управление позы четвероногого робота является важным частью алгоритма управления робота. В данной статье исследуется принцип управления позы четвероногого робота и проводится экспериментальная проверка на четвероногом роботе с 8 степенями свободы. Работа включает принцип управления позы четвероногого робота в состоянии стоя, обратную кинематику и экспериментальное симулирование в MATLAB.
ABSTRACT
Four-legged robot is a hot topic in the field of robotics research and it has a broad application prospect. The pose control of quadruped robot is an important part of robot control algorithm. In this paper, the principle of pose control of quadruped robot is studied and experimental verification work is carried out on a four-legged robot with 8 degrees of freedom. The work includes the principle of pose control of a four-legged robot in the standing state, inverse kinematics, and experimental simulation in MATLAB.
Ключевые слова: управления позы; обратная кинематика; MATLAB; simscape.
Keywords: pose control; inverse kinematics; MATLAB; simscape.
Введение
Робототехника - это комплексное применение механики, электроники, автоматического управления и искусственного интеллекта. После десятилетий технологического развития спектр применения робота расширился, и он широко используется в промышленном производстве и военной области [1]. Большинство обычных роботов являются колесными или гусеничными, их технология разрабатывалась в течение десятилетий и является достаточно передовой [2]. Обычный робот способен быстро перемещаться по относительно ровной и беспрепятственной поверхности и характеризуется быстрым движением и хорошей устойчивостью. Однако, когда робот движется по неровной поверхности, колесный и гусеничный роботы сильно ограничены или даже не могут функционировать должным образом из-за особенностей их систем привода. В то же время ножные роботы не имеют таких ограничений и могут хорошо передвигаться по неровным поверхностям [3]. Ножные роботы обычно классифицируются как двуногие, четвероногие, шестиногие, восьминогие и т.д. [4]. Среди них четвероногий робот более устойчивы, чем двуногие, с точки зрения грузоподъемности и стабильности, и менее сложны, чем шести- и восьминогие [5], поэтому четвероногий робот является важным объектам исследованием. Управление позы четвероногого робота является важным частью разработки алгоритмов управления роботами. В данной работе управление позы робота подробно изучено и проверено в MATLAB.
1. управление позы робота в положении стоя
Во время движения четвероногого робота, поза частей тела постоянно меняется. Если концы ног робота остаются в контакте с землей и не меняются относительно друг друга, то такая поза тела называется позы стоя.
Управление позы стояния четвероногого робота по сути является обратным решением для параллельного робота [6]. Однако в четвероногих роботах имеется много избыточных степеней свободы. Поэтому после решения вектора положения для каждой ноги необходимо выполнить обратное кинематическое решение для каждой ноги, чтобы найти угол каждого сустава каждой ноги.
Схема строения четвероногого робота показана на Рис. 1.
Рисунок 1. Схема структуры шагающего робота с 12 свободы
Где структурные параметры и обозначают расстояние между концами стоп робота в направлении длины и ширины соответственно. обозначает расстояние между началами тазобедренных суставов двух передних ног. - это точка начала системы координат на земле, расположенная на диагональном пересечении положений концов стоп, а - это геометрический центр части тела.
Рисунок 2. Угол R-P-Y робота
Для задачи управления позицией робота основной интерес представляют шесть параметров: перемещение и поворот робота вдоль осей X-Y-Z. Угол поворота вокруг оси X называется roll, угол поворота вокруг оси Y - pitch, а угол поворота вокруг оси Z - yaw [7]. Углы R-P-Y нарисованы на виде сверху, спереди и сбоку робота, как показано на рисунке 2.
С помощью матрицы преобразования A можно представить позы частей тела робота:
(1)
где — координатная составляющая вектора , обозначающая положение:
(2)
R - матрица вращения тела робота относительно земли, указывающая на позу робота (RPY - угол Эйлера):
(3)
Относительные положения ноги робота показаны на рисунке 3.
Рисунок 3. Поза ног робота
Где: — поза конца правой передней ноги робота;
— центральная точка основания правой передней ноги;
— центральная точка конца стопы правой передней ноги.
Из сложения векторов следует, что:
(4)
Потому что позиционная матрица A известна, т.е. известна. и структурные параметры также известны, т.е. - известная постоянная величина.
В частности, следует отметить, что хотя меняется в зависимости от позы тела, расстояние от центральной точки до точки тазобедренного сустава в системе координат тела является постоянной величиной, определяемой только структурными параметрами. Поэтому можно выразить в терминах левой мультипликативной матрицы вращения R:
(5)
Таким образом, все три вектора в уравнении известны, кроме , который можно переписать как:
(6)
Аналогично для остальных трех ног, мы можем получить общее выражение для вектора конечного положения одной ноги в положении стоя четвероногого робота:
(7)
Приведя к обратному кинематическому решению для одной ноги, получают значения углов суставов ноги.
2. Кинематика ноги робота
Кинематический анализ шагающих роботов подразделяется на положительную и обратную кинематику. Для облегчения проведения экспериментов робот, на котором проводятся эксперименты в данной статье, имеет только 2 степени свободы на каждую ногу. Задача положительной кинематики заключается в анализе изменения положения конца робота относительно исходного положения, когда известна взаимосвязь между геометрическими параметрами шатуна и сустава. Обратная кинематика заключается в том, чтобы получить изменения угла локтевого сустава при движении робота через желаемую позу робота и завершить проверку друг с другом [8]. На рисунке 4 представлена базовая блок-схема анализа кинематики робота. В реальном процессе решения основной задачей кинематического моделирования является установление соответствующей системы координат и решение численной зависимости между углом сустава и координатами робота во время движения робота. Далее решается только обратная кинематика суставов ног робота.
Рисунок 4. Кинематика робота
Все методы решения совместного движения робота включают две категории: аналитические и численные решения. Аналитический метод можно разделить на геометрический метод и алгебраический метод [9]. Для многочленов, не превышающих четырехкратного, решение может быть завершено без итерации. Решение обратной кинематики роботов аналитическим методом неприменимо к конструкциям со слишком большим количеством степеней свободы. Кроме того, для роботов с суставом может быть несколько решений для одной и той же целевой позы. В это время следует искать компромиссы в соответствии с соответствующими ограничениями механической конструкции, и следует сохранить наилучшее значение для удовлетворения рабочих потребностей механической ноги [10]. Поскольку структура робота, обсуждаемая в этой статье, относительно проста, для ее решения используется геометрический метод [11].
Схема расчета обратной кинематики робота показана на рисунке 5:
Рисунок 5. Расчет обратной кинематики
Длина шатуна робота равна и , а угол сустава равен и соответственно. O - начало координат, A - точка локтевого сустава, B - точка положения стопы, -координаты точки B, φ - угол между OB и OA.
В △OAB:
(8)
Это видно из теоремы о косинусах:
(9)
(10)
получил:
(11)
(12)
Это видно из геометрического соотношения:
(13)
3. Симуляция робота в MATLAB
Для того чтобы выполнить управление позы робота в MATLAB, сначала необходимо построить 3D-модель робота, затем импортировать построенную модель в MATLAB и выполнить имитационные тесты в модуле simscape программы simulink. Решение, используемое в данной работе, заключается в том, чтобы сначала преобразовать детали робота в формат stl в SolidWorks, а затем заново построить модель робота в simscape для моделирования. Подробный процесс моделирования будет выглядеть следующим образом.
Найти модуль multibody модуля simscape в simulink и настроить среду моделирования, как показано на рисунке 6.
Рисунок 6. среда моделирования в simscape
Использовать модуль Rigid Transform для преобразования между различными системами координат робота, включая вращательные и поступательные преобразования, как показано на рисунке 7a. Используйте модуль file solid для импорта созданной 3D-модели детали робота, как показано на рис. 7b.
a) |
b) |
Рисунок 7. Модуль преобразования координат и модуль File Solid
Используйте модуль Revolute Joint для соединения различных частей робота, как показано на рисунке 8 a. Используйте модуль силы "сфера - плоскость" в библиотеке контактных сил многомерных тел simscape для создания механического контакта между концом ноги робота и землей, как показано на рисунке 8 b. Полная 3D модель робота создается в Simscape, как показано на рисунке 9.
|
|
a) |
b) |
Рисунок 8. Модуль вращающегося сустава и модуль 3D контакта
Рисунок 9. 3D модель, созданная в программе simscape
Имитационная модель, построенная в Simulink, показана на рисунке 10. Во время эксперимента вводятся управляющие параметры позы робота, вектор положения конца каждой ноги робота выводится через решающий модуль управления позы робота, затем соответствующий угол поворота сустава каждой ноги робота вычисляется через решающий модуль обратной кинематики и выводится на вращающийся сустав робота для проверки экспериментальных результатов. В частности, модуль датчиков может наблюдать кривую изменения позы тела робота, как показано на рисунке 11.
Рисунок 10. Схема соединений в simulink
Рисунок 11. Модуль сенсора
Поскольку модель робота, используемая для данного эксперимента по управлению позы, имеет 8 степеней свободы, моделируются только изменения по оси X вперед и назад, изменение высоты по оси Z и изменение оси тангажа робота. Синусоидальная волна с амплитудой 30 мм была подана в направлении оси Z для управления позы, как показано на рисунке 12. Результаты эксперимента показаны на рисунке 13, в единицах М. Видно, что высота робота изменяется в зависимости от входного сигнала, как и ожидалось в наших экспериментах, что подтверждает правильность управления позы робота по высоте.
Рисунок 12. Ввод высоты робота
Рисунок 13. Изменение высоты корпуса робота
Как показано на рисунке 14, в модуле управления позы робота перевод оси X вводится как -60 мм. Результаты эксперимента показаны на рисунке 15, где видно, что корпус робота переводится назад по оси X на 60 мм. Результаты эксперимента соответствуют ожиданиям и подтверждают правильность алгоритма управления позы робота.
Рисунок 14. Переменный вход в направлении оси X робота
Рисунок 15. Экспериментальные результаты
Синусоидальная волна с амплитудой 20 мм подается на управление шагом системы управления позы, как показано на рисунке 16. Результаты эксперимента показаны на рисунке 17. Видно, что угол тангажа робота изменяется в зависимости от входного сигнала, как и ожидалось в наших экспериментах, что подтверждает правильность управления тангажом робота.
Рисунок 16. Выходной сигнал угла тангажа робота
Рисунок17. Изменение угла тангажа робота
Заключение
В данной статье проведена следующая работа. Во-первых, анализ принципов управления позы робота с 12 степенями свободы. Во-вторых, проведен анализ обратной кинематики робота. В-третьих, построена 3D-модель робота в программе MATLAB. В-четвертых, для проверки правильности управления позы и обратной кинематики в simscape было проведено экспериментальное моделирование управления позицией робота.
Список литературы:
- Craig J J. Introduction to Robotics: Mechanics and Control[M]. Pearson Education, Inc, 1986.
- Li L, Ye T, Tan M, et al. Current status and future of mobile robotics research[J]. Robotics, 2002, 24(5):6.
- Delcomyn F, Nelson M E. Architectures for a biomimetic hexapod robot[J]. Robotics & Autonomous Systems, 2000, 30(1–2):5-15.
- Reeve R. Generating Walking Behaviors in Legged Robots[C]// International Symposium on Physical Design. 1999.
- Zhuang M. Gait planning and simulation of a hydraulically driven quadruped robot based on virtual prototype technology[D]. Nanjing University of Aeronautics and Astronautics, 2013.
- Li R. Gait planning and balance recovery strategies for footed robots [D]. Shanghai Jiaotong University.
- Zhang Zhongliang. Kinematics and Dynamics of Quadruped Robot [D]. University of Electronic Science and Technology.
- Cai Zixing. Fundamentals of Robotics. 2nd edition [M]. Mechanical Industry Press, 2015.
- Claudio, Semini, Victor, et al. Design of the Hydraulically Actuated, Torque-Controlled Quadruped Robot HyQ2Max[J]. IEEE/ASME Transactions on Mechatronics, 2017.
- Denavit J. A kinematic notation for lower-pair mechanisms based on matrices. [J]. Trans. of the ASME. Journal of Applied Mechanics, 1955(22): 215-221.
- Khalil, W., Kleinfinger, J. A new geometric notation for open and closed-loop robots[P]. Robotics and Automation. Proceedings. 1986 IEEE International Conference on,1986.
Оставить комментарий