一、背景

在四足机器人的发展中,由于串联腿结构对关节驱动电机的要求很高,控制精度难以保证,因此逐渐出现了使用闭链五杆机构作为机器人腿结构的四足机器人,如宾夕法尼亚大学的Minitaur,斯坦福的开源机器狗Stanford Doggo,以及在2019年全国大学生机器人大赛Robocon赛事中以武汉大学的四足机器人为代表的一系列高校所采取的并联五杆结构四足机器人。

本文针对这一类机器人所采用的闭链五杆机构,对其运动学进行了简要的分析,并给出了其运动学的正反解过程,以及相应的Matlab源码。

二、建立数学模型

建立闭链五杆机构简化数学模型如图所示,其中OAABBCCDDOBE 长度分别为 L 1 L_1 L1​、 L 2 L_2 L2​、 L 3 L_3 L3​、 L 4 L_4 L4​、 L 5 L_5 L5​、 L 6 L_6 L6​,DO为机架,OD 两点为驱动。

三、正解

由图1不难得到





又由

可得

由余弦定理可得



其中

代入可得



即上式变为

带入万能公式可得

解得

又由


四、逆解

由图1不难得到

又由

可得

消去 θ \theta θ可得



即上式化为

解得

将上式带入

解得

所以





又由

可得

消去 γ \gamma γ得



上式变为

解得


五、Matlab源码

1.正解

% 闭链五杆机构运动学正解M
%                y  |    / E
%                   |  /  L6
%                   | / B
%                   |/\
%                   /  \
%               L2 /|   \ L3
%                 / |    \
%              A /  |     \ C
%                \  |     /
%              L1 \ |    / L4
%          ---------|---------->
%                  O  L5 D      x
%
% L1=L4=70 L2=L3=140 L6=0 L5=0 菱形[L1,L2,L3,L4,L5,L6]=deal(70,140,140,70,0,0);
Xa=L1.*cos(Alpha1);
Ya=L1.*sin(Alpha1);
Xc=L5+L4.*cos(Alpha2);
Yc=L4.*sin(Alpha2);
lengthAC=sqrt((Xc-Xa)^2+(Yc-Ya)^2);
A=2*L2.*(Xc-Xa);
B=2*L2.*(Yc-Ya);
C=L2^2+lengthAC^2-L3^2;
theta1=2*atan((B+sqrt(A^2+B^2-C^2))/(A+C));
% theta2=2*atan((B-sqrt(A^2+B^2-C^2))/(A+C));
% if isreal(theta1)x=Xa+(L2+L6)*cos(theta1);y=Ya+(L2+L6)*sin(theta1);
% else
%     x=Xa+(L2+L6)*cos(theta2);
%     y=Ya+(L2+L6)*sin(theta2);
end

2.逆解

function [Alpha1,Alpha2] = inverse_kinematic(x,y)
%闭链五杆机构运动学反解
%                 y |   / E
%                   |  /  L6
%                   | / B
%                   |/\
%                   /  \
%               L2 /|   \ L3
%                 / |    \
%              A /  |     \ C
%                \   |     /
%              L1 \ |    / L4
%          ---------|---------->
%                  O  L5 D      x
%
% L1=L4=70 L2=L3=140 L6=0 L5=0 菱形[L1,L2,L3,L4,L5,L6]=deal(70,140,140,70,0,0);a=2*x*L1;
b=2*y*L1;
c=x^2+y^2+L1^2-(L2+L6)^2;Alpha10(1)=2*atan((b+sqrt(a^2+b^2-c^2))/(a+c));
Alpha10(2)=2*atan((b-sqrt(a^2+b^2-c^2))/(a+c));Xb=x-L6*((x-L1*cos(Alpha10))/(L2+L6));
Yb=y-L6*((y-L1*sin(Alpha10))/(L2+L6));d=2*L4*(Xb-L5);
e=2*L4*Yb;
f=[((Xb(1)-L5)^2+L4^2+(Yb(1))^2-L3^2),((Xb(2)-L5)^2+L4^2+(Yb(2))^2-L3^2)];Alpha20(1)=2*atan((e(1)+sqrt((d(1))^2+(e(1))^2-(f(1))^2))/(d(1)+f(1)));
Alpha20(2)=2*atan((e(1)-sqrt((d(1))^2+(e(1))^2-(f(1))^2))/(d(1)+f(1)));Alpha20(3)=2*atan((e(2)+sqrt((d(2))^2+(e(2))^2-(f(2))^2))/(d(2)+f(2)));
Alpha20(4)=2*atan((e(2)-sqrt((d(2))^2+(e(2))^2-(f(2))^2))/(d(2)+f(2)));if (Alpha10(1))<0 Alpha10(1)=Alpha10(1)+2*pi;
end
if (Alpha10(2))<0 Alpha10(2)=Alpha10(2)+2*pi;
endif (Alpha20(1))<0 Alpha20(1)=Alpha20(1)+2*pi;
end
if (Alpha20(2))<0Alpha20(2)=Alpha20(2)+2*pi;
end
if (Alpha20(3))<0Alpha20(3)=Alpha20(3)+2*pi;
end
if (Alpha20(4))<0 Alpha20(4)=Alpha20(4)+2*pi;
end
Alpha1=Alpha10;
Alpha2=Alpha20;
end

3.工作空间

%闭链五杆工作空间求解
%                 y |   / E
%                   |  /  L6
%                   | / B
%                   |/\
%                   /  \
%               L2 /|   \ L3
%                 / |    \
%              A /  |     \ C
%                \   |     /
%              L1 \ |    / L4
%          ---------|---------->
%                  O  L5 D      x
%
% L1=L4=70 L2=L3=140 L6=0 L5=0 菱形
%E点坐标(x,y)
clear,clc;
i = 1;
for Alpha1 = 0:0.01:2*pifor Alpha2 = 0:0.01:2 * pi[x(i),y(i)] = forward_kinematic(Alpha1,Alpha2);i = i + 1;endfigure(1);plot(x,y,'b.');hold on;i = 1;
end
axis equal;

四足机器人:闭链五杆腿结构运动学分析相关推荐

  1. 百元级树莓派pico四足机器狗设计(并联腿结构)持续更新

    一.硬件选取     1.1 主板         主板用的是树莓官方的微控制器raspberry pi pico.这个板子的接口还是蛮丰富的,这个小项目完全够用.但是这个处理器有个缺点就是缺少WIF ...

  2. python 四足机器人运动学_【基础知识】四足机器人的站立姿态控制原理

    理解本文所需要掌握的基础知识为:姿态的欧拉角表示方法 变换矩阵的含义与使用 概述 四足机器人运动过程中,身体部分的姿态会不断地发生变化.假如机器人的足端一直保持与地面接触且相对位置不发生变化,此时的身 ...

  3. 【ROS-Gazebo】开源四足机器人仿真模型pig_dog

    2019.6.23更新 本项目是基于ubuntu16.04,ROS kinect,在新版本上需要修改pid配置的yaml文件最后一部分的命名空间,在前面加上/pig_dog,否则无法找到路径. 我将写 ...

  4. 波士顿动力真的无可企及吗?一步步剖析四足机器人技术(一)

    四足机器人运动控制 第一章 序 第二章 运动状态 姿态控制 运动控制 第三章 步态 第四章 CPG控制网络 介绍 CPG模型分类 基于HOPF振荡器的CPG单元模型 CPG网络控制模型 Tips 参考 ...

  5. 并联四足机器人项目开源教程(一)--- 机器人学导论的学习

    这个是本人在大三期间做的项目 ---- 基于MIT的Cheetah方案设计的十二自由度并联四足机器人,这个项目获得过两个国家级奖项和一个省级奖项.接下来我会将这个机器人的控制部分所有代码进行开源,并配 ...

  6. 相对全面的四足机器人驱动规划MATLAB和Simulink实现方式(足端摆线规划,Hopf-CPG,Kimura-CPG)

    许久没更新四足机器人相关的博客文章,由于去年一整年都在干各种各样的~活,终于把硕士毕业论文给写好,才有点时间更新自己的所学和感悟.步态规划和足端规划只是为了在运动学层面获取四足机器人各关节的期望角位移 ...

  7. 四足机器人的机械结构

    1 引言   机器人的应用越来越广泛,近年来正在走进家庭,吸引我们去熟悉.操作甚至设计.制作属于自己的机器人.朱光潜说,文艺必止于创造,却必始于模仿.同样,作为机器人小白的我们也要从模仿开始.   模 ...

  8. 【灯哥开源四足机器人】推荐一个开源四足机器狗项目,8自有度,两个舵机控制一个腿,apache开源协议的,已经迭代了好多个版本了,设计的非常好。有官方淘宝店,没有3D打印机的可以购买散装零件自己组装

    目录 前言 1,关于[灯哥开源四足机器人] 2,使用py-apple 3,总结 前言 本文的原文连接是: https://blog.csdn.net/freewebsys/article/detail ...

  9. 【四足机器人】学习笔记 单腿逆运动学和站立姿态控制

    [四足机器人]学习笔记 单腿逆运动学和站立姿态控制 一.四足机器人单腿逆运动学原理 二.四足机器人站立姿态控制原理 近期,博主在古月居学习关于四足机器人的相关部分知识,从阳炼老师的四足机器人控制与仿真 ...

最新文章

  1. 2021年大数据Spark(三十五):SparkStreaming数据抽象 DStream
  2. next_permutation 与 prev_permutation(全排列算法)
  3. 希尔伯特曲线的绘制c语言,用四叉树和希尔伯特曲线做空间索引
  4. 暴力子字符串查找算法
  5. qiankun 微前端_qiankun 微前端应用实践与部署(二)
  6. PKM(个人知识管理)类软件收集(偶尔更新列表)
  7. 【PostgreSQL-9.6.3】事件触发器
  8. 【操作系统/OS笔记02】操作系统的历史、操作系统结构
  9. Tensorflow:tfrecord数据读取和保存
  10. 越狱iphone安装mysql,CentOS 7 基于DCRM搭建自有Cydia越狱源
  11. 从键盘输入若干个学生成绩,计算出平均成绩。
  12. YOLO系列模型,yolov3-yolov7全方位对比实验参照,包括参数量Params,计算量GFLOPs,复杂度,mAP以及FPS等参照
  13. layui 之可搜索的下拉框select lay-serach
  14. endnote如何设置文献样式
  15. Data Recovery Strategy Determines Backup Strategy【每日一译】--2012-11-11
  16. vue 获取HTML源码
  17. 金蝶系统登录显示云服务器繁忙,金蝶系统登录显示云服务器繁忙
  18. 阅读3Hierarchical integrated machine learning model for predicting flight departure delays and...
  19. play 框架目录结构
  20. Android输入法方法,android输入法–InputMethodManager

热门文章

  1. app图标icon大全
  2. 淘宝电商产品jQuery图片放大镜代码
  3. 如何用搜狗拼音输入法输入希腊字母
  4. wfp 禁用ip_[原创]WFP网络过滤驱动——限制网站访问
  5. 2022华为机试真题 C++ 实现 【字符串子序列II】
  6. Python性能分析利器pyinstrument讲解
  7. Redis的IO模型以及客户端与服务端设计
  8. 家事:庆祝父亲60岁生日
  9. 涨知识--地球自转会影响飞机飞行时间吗?
  10. java linux gui_关于Java:安装Linux桌面/ GUI环境