三自由度机械臂运动学及动力学分析

您所在的位置:网站首页 万里扬变速箱是哪个国家的公司 三自由度机械臂运动学及动力学分析

三自由度机械臂运动学及动力学分析

2023-11-11 21:53| 来源: 网络整理| 查看: 265

引言

臂形机器人或机械臂是一种我们常见和熟知的机器人类型,机械臂与移动机器人不同,不能再环境中任意移动,有一个固定的基座,因此工作空间有限。非移动的机器人大大简化了诸如感知力和安全性的问题。 在这里插入图片描述 机械手的工作对象是空间中的物体,需要机械手手爪按照要求的轨迹和位姿去接近目标物。工业机械臂一般为六自由度,前三个自由度构成的连杆称“主连杆”系统,又称“手臂”,其尺寸较大,用来实现手臂末端的空间位置;后三个自由度的连杆尺寸较小,用来实现机械手末端的姿态,称为“次连杆”系统,又称“手腕”。 在这里插入图片描述 串联机械臂的整个链路是由一组连杆刚体组成的,连杆由关节(运动副)连接起来,每个关节有一个平移或者转动的自由度。关节的运动改变了其邻接连杆的相对角度和位置。 Denavit and Hartenberg提出了一种描述串联式链路上连杆和关节几何关系的系统方法,即D-H参数法。 在这里插入图片描述

运动学

从连杆坐标系j-1到坐标系j的变换背定义为基本旋转和平移,经过四次变换得到两坐标系的齐次变换矩阵: 在这里插入图片描述 代入基本变换矩阵,展开为: 在这里插入图片描述 研究机械手各连杆之间的位移关系,进行运动学分析,采用Denavit and Hartenberg参数方法,在每个连杆上固定一个坐标系,用4X4的齐次变换矩阵描述两个连杆的空间位姿关系,从而推导出机械手末端坐标系相对于参考系的等价齐次变换矩阵。 在本文的示例中,三个关节的布置如图所示,肩关节和腕关节在同一平面内,肩关节和肘关节正交 图中Z1、Z2、Z3对应肩关节、肘关节、腕关节传动轴,Z向为关节旋转方向。 在这里插入图片描述 采用标准D-H坐标后置法,坐标系固接于连杆的远端,关节轴线为坐标系z轴。得出连杆变换矩阵D-H参数表如下: 在这里插入图片描述 在matlab toolbox中的描述代码为:

L(1)=Link([0 0 0.240 -pi/2 0]); L(2)=Link([0 0 0.240 pi/2 0]); L(3)=Link([0 0 0.204 0 0]); shiyanarm=SerialLink(L,'name','实验')

在这里插入图片描述 理论推导 机械手末端相对于基础坐标系的变换矩阵为: 在这里插入图片描述 机械手末端工具固连与连杆3的末端,工具在坐标系3中的位置齐次矩阵为: 在这里插入图片描述 工具坐标和笛卡尔基坐标之间的变化关系为: 在这里插入图片描述 我们希望创建一个让机器人跟从的随时间变化的位姿,机械手的末端执行器能沿着既定的位姿轨迹去抓住一个物体。轨迹的一个重要特征是平滑, 通常速度、加速度、加速度率都必须是连续的,常用五次多项式表示光滑的轨迹: 在这里插入图片描述 其一阶导数和二阶导数都是光滑的,轨迹及其低阶导数定义了位置、速度、加速度的边界条件,一般速度和加速度边界条件均为0: 在这里插入图片描述 理论公式在matlab中的代码求解:

clc; clear; syms theta1 theta2 theta3 c1 c2 c3 s1 s2 s3 ; format long %连杆固连坐标系后置,标准D-H法 T01=[cos(theta1) 0 -sin(theta1) 0.24*cos(theta1);sin(theta1) 0 cos(theta1) 0.24*sin(theta1);0 -1 0 0;0 0 0 1]; T12=[cos(theta2) 0 sin(theta2) 0.24*cos(theta2);sin(theta2) 0 -cos(theta2) 0.24*sin(theta2);0 1 0 0;0 0 0 1]; T23=[cos(theta3) -sin(theta3) 0 0.204*cos(theta3);sin(theta3) cos(theta3) 0 0.204*sin(theta3);0 0 1 0;0 0 0 1]; T=T01*T12*T23; T03=vpa(subs(T,{cos(theta1) cos(theta2) cos(theta3) sin(theta1) sin(theta2) sin(theta3)},{c1 c2 c3 s1 s2 s3})) pf=vpa(T*[0 0 0 1]') %%雅克比矩阵符号运算解 weizhi=[pf(1);pf(2);pf(3)] thetaq=[theta1;theta2;theta3] JJ=jacobian(weizhi,thetaq) %雅克比矩阵数值解速度椭球 J=subs(JJ,{theta1 theta2 theta3},{pi/4 -pi/4 pi/4}) J=vpa(J)

运动学求解轨迹平滑曲线:

figure(1) shiyanarm.plot([0 0 0]) figure(2) plot_ellipse(Jt*Jt') % 轨迹线图 q2=[-pi/4 -pi/3 pi/4]; init_ang=[0 0 0]; targ_ang=q2; step=40; [q,qd,qdd]=jtraj(init_ang,targ_ang,step); figure(3) subplot(3,2,[1,3]) shiyanarm.plot(q) subplot(3,2,2) i=1:3; plot(q(:,i)) title('位置') grid on; subplot(3,2,4); i=1:3; plot(qd(:,i)); title('速度'); grid on; subplot(3,2,6); i=1:3; plot(qdd(:,i)); title('加速度'); grid on; p1=shiyanarm.fkine(init_ang) p2=shiyanarm.fkine(targ_ang) Tc=ctraj(p1,p2,step); Tjtraj=transl(Tc); subplot(3,2,5); plot2(Tjtraj,'r'); title('p1到p2直线轨迹'); grid on;

在这里插入图片描述 为了尝试量化描述机器人机构的运动学和动力学性能,提出了机器人可操作性形指标。运动学可操作性是量化机构的速度传递能力,即机构的灵敏性。

在这里插入图片描述 描述了位于末端执行器速度空间中的一个六维椭球表面上的点,椭球接近于圆形,则末端执行器可以实现任意的笛卡尔速度。 在这里插入图片描述

动力学

机器人的操作臂是一个复杂的动力学系统,存在着严重的非线性,由多个连杆和关节组成,具有多输入和多输出,是一种复杂的耦合关系。为了实现实时控制,利用机器人的动力学模型,才有可能进行最优控制,一起达到最优指标或更好的动态性能。 在这里插入图片描述 考虑驱动串联机械臂的单个旋转关节的一个电机,电机对外侧连杆施加了一个加速转动的力矩,同时对内侧连杆施加了一个反作用力矩。作用于此连杆到末端连杆的重力也施加到该连杆上,连杆的旋转运动还相互施加了陀螺力。因此,作用在电机上的惯性力是关于所有外侧连杆位姿的一个函数。 在这里插入图片描述 该式反映了关节力矩与关节变量、速度与加速度之间的函数关系,H(q)为惯性项,是NxN的正定矩阵;C(q,qdot)离心力和哥氏力矢量,G(q)为重力矢量。F为末端连杆所受外力(Certesian space)。 在这里插入图片描述 拉格朗日动力学基于系统能量的概念,对于任何机械系统而言,拉格朗日函数定义为系统的动能和势能之差: 在这里插入图片描述 q=[q1,q2,……qn]表示动能和势能的广义坐标,qdot为广义速度。 在这里插入图片描述 利用拉格朗日函数,系统的动力学方程为: 在这里插入图片描述 利用SolidWorks建立机械臂连杆,计算连杆惯性张量: 在这里插入图片描述 Note:由于本文为博主研究生一年级时所作的内容,关于动力学参数的这一部分代码已经丢失,仅剩下ppt中的效果图 肘关节重力载荷

肘关节重力载荷

在这里插入图片描述

腕关节重力载荷

在这里插入图片描述

关节1的惯量随关节2和3的位子变化

在这里插入图片描述

关节2的加速度在关节1上的耦合随位姿的变化

reference [1] Robotics,Vision and Control. Fundamental Algorithms in MATLAB. [2]霍伟.机器人动力学与控制[M].第一版.高等教育出版社, 2005.



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3