四足机器人:闭链五杆腿结构运动学分析
一、背景
在四足机器人的发展中,由于串联腿结构对关节驱动电机的要求很高,控制精度难以保证,因此逐渐出现了使用闭链五杆机构作为机器人腿结构的四足机器人,如宾夕法尼亚大学的Minitaur,斯坦福的开源机器狗Stanford Doggo,以及在2019年全国大学生机器人大赛Robocon赛事中以武汉大学的四足机器人为代表的一系列高校所采取的并联五杆结构四足机器人。
本文针对这一类机器人所采用的闭链五杆机构,对其运动学进行了简要的分析,并给出了其运动学的正反解过程,以及相应的Matlab源码。
二、建立数学模型
建立闭链五杆机构简化数学模型如图所示,其中OA 、AB 、BC 、CD、 DO、BE 长度分别为 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为机架,O、D 两点为驱动。
三、正解
由图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;
四足机器人:闭链五杆腿结构运动学分析相关推荐
- 百元级树莓派pico四足机器狗设计(并联腿结构)持续更新
一.硬件选取 1.1 主板 主板用的是树莓官方的微控制器raspberry pi pico.这个板子的接口还是蛮丰富的,这个小项目完全够用.但是这个处理器有个缺点就是缺少WIF ...
- python 四足机器人运动学_【基础知识】四足机器人的站立姿态控制原理
理解本文所需要掌握的基础知识为:姿态的欧拉角表示方法 变换矩阵的含义与使用 概述 四足机器人运动过程中,身体部分的姿态会不断地发生变化.假如机器人的足端一直保持与地面接触且相对位置不发生变化,此时的身 ...
- 【ROS-Gazebo】开源四足机器人仿真模型pig_dog
2019.6.23更新 本项目是基于ubuntu16.04,ROS kinect,在新版本上需要修改pid配置的yaml文件最后一部分的命名空间,在前面加上/pig_dog,否则无法找到路径. 我将写 ...
- 波士顿动力真的无可企及吗?一步步剖析四足机器人技术(一)
四足机器人运动控制 第一章 序 第二章 运动状态 姿态控制 运动控制 第三章 步态 第四章 CPG控制网络 介绍 CPG模型分类 基于HOPF振荡器的CPG单元模型 CPG网络控制模型 Tips 参考 ...
- 并联四足机器人项目开源教程(一)--- 机器人学导论的学习
这个是本人在大三期间做的项目 ---- 基于MIT的Cheetah方案设计的十二自由度并联四足机器人,这个项目获得过两个国家级奖项和一个省级奖项.接下来我会将这个机器人的控制部分所有代码进行开源,并配 ...
- 相对全面的四足机器人驱动规划MATLAB和Simulink实现方式(足端摆线规划,Hopf-CPG,Kimura-CPG)
许久没更新四足机器人相关的博客文章,由于去年一整年都在干各种各样的~活,终于把硕士毕业论文给写好,才有点时间更新自己的所学和感悟.步态规划和足端规划只是为了在运动学层面获取四足机器人各关节的期望角位移 ...
- 四足机器人的机械结构
1 引言 机器人的应用越来越广泛,近年来正在走进家庭,吸引我们去熟悉.操作甚至设计.制作属于自己的机器人.朱光潜说,文艺必止于创造,却必始于模仿.同样,作为机器人小白的我们也要从模仿开始. 模 ...
- 【灯哥开源四足机器人】推荐一个开源四足机器狗项目,8自有度,两个舵机控制一个腿,apache开源协议的,已经迭代了好多个版本了,设计的非常好。有官方淘宝店,没有3D打印机的可以购买散装零件自己组装
目录 前言 1,关于[灯哥开源四足机器人] 2,使用py-apple 3,总结 前言 本文的原文连接是: https://blog.csdn.net/freewebsys/article/detail ...
- 【四足机器人】学习笔记 单腿逆运动学和站立姿态控制
[四足机器人]学习笔记 单腿逆运动学和站立姿态控制 一.四足机器人单腿逆运动学原理 二.四足机器人站立姿态控制原理 近期,博主在古月居学习关于四足机器人的相关部分知识,从阳炼老师的四足机器人控制与仿真 ...
最新文章
- 2021年大数据Spark(三十五):SparkStreaming数据抽象 DStream
- next_permutation 与 prev_permutation(全排列算法)
- 希尔伯特曲线的绘制c语言,用四叉树和希尔伯特曲线做空间索引
- 暴力子字符串查找算法
- qiankun 微前端_qiankun 微前端应用实践与部署(二)
- PKM(个人知识管理)类软件收集(偶尔更新列表)
- 【PostgreSQL-9.6.3】事件触发器
- 【操作系统/OS笔记02】操作系统的历史、操作系统结构
- Tensorflow:tfrecord数据读取和保存
- 越狱iphone安装mysql,CentOS 7 基于DCRM搭建自有Cydia越狱源
- 从键盘输入若干个学生成绩,计算出平均成绩。
- YOLO系列模型,yolov3-yolov7全方位对比实验参照,包括参数量Params,计算量GFLOPs,复杂度,mAP以及FPS等参照
- layui 之可搜索的下拉框select lay-serach
- endnote如何设置文献样式
- Data Recovery Strategy Determines Backup Strategy【每日一译】--2012-11-11
- vue 获取HTML源码
- 金蝶系统登录显示云服务器繁忙,金蝶系统登录显示云服务器繁忙
- 阅读3Hierarchical integrated machine learning model for predicting flight departure delays and...
- play 框架目录结构
- Android输入法方法,android输入法–InputMethodManager