6自由度机械臂雅克比矩阵求解,结果同jacob0函数

雅可比矩阵描述了关节空间和笛卡尔空间的速度和角速度映射关系。

初学者入门通常会使用matlab中的robotics toolbox,在进行操作空间末端速度求解时会有疑问jacob0函数是怎样实现的。
在网上有很多人公布了jacobian求解的代码,但是都不能运行出正确的结果,本文给出了与机器人工具箱jacob0函数出一样结果的方法。
其公式基于:
在这里插入图片描述

syms theta1 theta2 theta3 theta4 theta5 theta6
theta1 = 0;theta2 = -90;theta3 = 90; theta4 =-180; theta5 = -90; theta6 = 0;
T01 = trans(theta1, 0, 0, 90); %theta是角度制
T12 = trans(theta2, 129,-310, 0);
T23 = trans(theta3,-129,-286, 0);
T34 = trans(theta4,93.5, 0, 90);
T45 = trans(theta5,93.5, 0,-90);
T56 = trans(theta6,67.5, 0, 0);
T02 = T01*T12;
T03 = T01*T12*T23;
T04 = T01*T12*T23*T34;
T05 = T01*T12*T23*T34*T45;
T06 = T01*T12*T23*T34*T45*T56;
P01 = [T01(1,4);T01(2,4);T01(3,4)];
P02 = [T02(1,4);T02(2,4);T02(3,4)];
P03 = [T03(1,4);T03(2,4);T03(3,4)];
P04 = [T04(1,4);T04(2,4);T04(3,4)];
P05 = [T05(1,4);T05(2,4);T05(3,4)];
P06 = [T06(1,4);T06(2,4);T06(3,4)];
z1 = T01(1:3,3);
z2 = T02(1:3,3);
z3 = T03(1:3,3);
z4 = T04(1:3,3);
z5 = T05(1:3,3);
z6 = T06(1:3,3);
j1 = [cross([0;0;1],P06 );[0;0;1]];
j2 = [cross(z1,P06-P01);z1];
j3 = [cross(z2,P06-P02);z2];
j4 = [cross(z3,P06-P03);z3];
j5 = [cross(z4,P06-P04);z4];
j6 = [cross(z5,P06-P05);z5];
jacobian0 = [j1,j2,j3,j4,j5,j6]

function T = trans(theta, d, a, alpha)
T = [cos(deg2rad(theta)),-cos(deg2rad(alpha))*sin(deg2rad(theta)), sin(deg2rad(alpha))*sin(deg2rad(theta)),a*cos(deg2rad(theta));
sin(deg2rad(theta)), cos(deg2rad(alpha))*cos(deg2rad(theta)),-sin(deg2rad(alpha))*cos(deg2rad(theta)),a*sin(deg2rad(theta));
0, sin(deg2rad(alpha)), cos(deg2rad(alpha)), d;
0, 0, 0, 1];
end

输出结果:
在这里插入图片描述

对你有帮助的话就帮忙点个赞吧~

机器人工具箱结果:
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 机械臂雅可比矩阵机械臂运动学中的重要概念,可以描述机械臂在给定坐标方向上的运动关系。在matlab中,可以使用symbolic toolbox和robotics system toolbox这两个工具箱来求解机械臂雅可比矩阵。 首先,使用robotics system toolbox中的Robot模型来描述机械臂的运动学模型。在构建Robot模型时,需要先定义机械臂各个连杆的几何参数和关节类型,然后按照连接关系构建机械臂的连杆模型。构建完成后,可以使用Robot的方法函数来计算机械臂的运动正逆解、计算雅可比矩阵等等。 其次,使用symbolic toolbox中的syms函数来定义变量,再根据机械臂的运动学模型和运动学方程,使用symbolic toolbox中的jacobian函数来计算雅可比矩阵。雅可比矩阵机械臂运动学中的重要参数,可以描述机械臂在任意点的速度和加速度等运动信息。当机械臂末端执行器发生运动时,雅可比矩阵可以快速求解机械臂的多关节运动状态,从而对机器人的技能执行起到重要的指导和控制作用。 综上所述,matlab中求解机械臂雅可比矩阵可以使用symbolic toolbox和robotics system toolbox这两个工具箱,通过定义变量和机械臂运动学模型,利用工具箱的相关函数求解机械臂的雅可比矩阵,实现机械臂的运动学描述和控制。 ### 回答2: 机械臂雅可比矩阵在机器人运动学和动力学控制中起着重要的作用,可以用于估计机械臂末端执行器的运动速度和位置。而在matlab中求机械臂雅可比矩阵,需要按照以下步骤进行: 1.确定机械臂的连杆结构及运动方程 机械臂的连杆结构包括机械臂关节数目、连杆长度、关节位置等。在matlab中,可以通过建立符号表达式的方式得到机械臂的运动方程。 2.计算运动学参数 根据机械臂的连杆结构和运动方程,可以计算出机械臂的位姿、速度和加速度等运动学参数。 3.求解雅可比矩阵 在matlab中,可以使用symbolic工具箱的jacobian函数求解机械臂雅可比矩阵。需要将机械臂的位置和速度变量作为输入,根据机械臂连杆结构和运动方程计算出雅可比矩阵。 使用以上方法求出机械臂的雅可比矩阵后,即可用于机械臂的运动规划和动力学控制中。同时,还可以将雅可比矩阵用于机械臂的反向运动学问题,通过给出末端执行器的位姿,求出机械臂的关节角度。 ### 回答3: 在机械臂控制中,雅可比矩阵是非常重要的一个概念。它是描述机械臂运动学关系的数学工具,可以用于确定机械臂末端执行器的速度、方向、角速度等信息,从而实现机械臂的精确控制。 在MATLAB中,求解雅可比矩阵可以通过多种方式实现。其中,最常用的方法是利用数值方法进行求解。具体步骤如下: 1. 确定机械臂的DH参数,并编写出机械臂的运动学正解和逆解的MATLAB程序。 2. 在MATLAB中定义机械臂的运动学状态变量,包括关节角度、位置坐标等。 3. 利用MATLAB中的符号计算工具(Symbolic Math Toolbox)求解雅可比矩阵。具体方法是,先定义机械臂运动学方程的符号表达式,然后使用“diff”命令求取雅可比矩阵的导数。 4. 在MATLAB中编写出求取雅可比矩阵的程序,包括输入机械臂的当前状态变量,用符号表达式求出雅可比矩阵,并输出结果。 需要注意的是,机械臂的雅可比矩阵可能存在多个解,这取决于机械臂的位置和姿态。因此,在求解雅可比矩阵时,需要根据实际情况进行分析和判断。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值