概念——二连杆与三连杆解算

https://zhuanlan.zhihu.com/p/161348413

跟着这位大佬学的,侵权删除

计划:先行理解概念以及推演过程,然后自行推导一遍(确认理解),之后思考如何实际调用,目前在第一步

目录

01-二连杆

1-正解算

2-微分运动学(雅可比)

3-逆运动学解算

02-三连杆

1-正解算

2-微分运动学

3-逆运动学解算


01-二连杆

1-正解算

通过两个连杆的长度,角度,解算出最终终点的位置

function [x,y] = kin2(q1,q2,A)

a = A(1);
b = A(2);
x = a*cos(q1)+b*cos(q1+q2);
y = a*sin(q1)+b*sin(q1+q2);

end

这个函数 `kin2(q1, q2, A)` 实现了二连杆系统的正运动学。它的输入是关节角度 `q1` 和 `q2`,以及连杆长度数组 `A`(其中 `A(1)` 是第一连杆的长度,`A(2)` 是第二连杆的长度)。通过这些参数,函数计算并返回末端点的笛卡尔坐标 `x` 和 `y`。

具体来说,函数利用三角函数 `cos` 和 `sin` 来计算末端点的水平(`x`)和垂直(`y`)位置。

通过简单的三角函数,解算出最终x,y的坐标值

2-微分运动学(雅可比)

function [J2] = dKin2(q1,q2,A)

a = A(1);
b = A(2);

J2 = zeros(2)
J2(1,1) = -a*sin(q1)-b*sin(q1+q2);
J2(1,2) = -b*sin(q1+q2);
J2(2,1) = a*cos(q1)+b*cos(q1+q2);
J2(2,2) = b*cos(q1+q2);

end

雅可比矩阵(Jacobian Matrix)是用于描述一个多变量函数的微分矩阵,在机器人学中,它用于表示机器人末端速度与关节速度之间的关系。通过雅可比矩阵,可以计算关节空间的微小变化如何影响末端执行器的位置和方向。它在运动学、动力学和控制算法中非常重要,特别是在求解机械臂的速度、加速度以及力矩控制等问题时,雅可比矩阵提供了一种有效的数学工具。

在第一步的基础上,添加了对x,y对q1,q2做了全微分,表示角度的微小变动对坐标的影响

3-逆运动学解算

function [q1,q2] = iKin2(x,y,A)

a = A(1);
b = A(2);

q0 = atan2(y./x);
a0 = (x.^2+y.^2).^0.5;

temp = (x.^2+y.^2+a.^2-b.^2)./(2*a0.*a);
q1   = -acos(temp)+q0;

temp = (x.^2+y.^2-a.^2+b.^2)./(2*a0.*b);
q2   = acos(temp)+q0-q1;

end

通过公式计算出q1与q2

02-三连杆

1-正解算

function [x,y,theta] = kin3(q1,q2,q3,A)

a = A(1);
b = A(2);
c = A(3);

x = a*cos(q1)+b*cos(q1+q2)+c*cos(q1+q2+q3);
y = a*sin(q1)+b*sin(q1+q2)+c*sin(q1+q2+q3);
theta = q1+q2+q3;

end

也是通过基本的三角函数,解得最终的x,y,和朝向

2-微分运动学

function [J3] = dKin3(q1,q2,q3,A)

a = A(1);
b = A(2);
c = A(3);

J3 = zeros(3)
J3(1,1) = -a*sin(q1)-b*sin(q1+q2)-c*sin(q1+q2+q3);
J3(1,2) = -b*sin(q1+q2)-c*sin(q1+q2+q3);
J3(1,3) = -c*sin(q1+q2+q3);

J3(2,1) = a*cos(q1)+b*cos(q1+q2)+c*cos(q1+q2+q3);
J3(2,2) = b*cos(q1+q2)+c*cos(q1+q2+q3);
J3(2,3) = c*cos(q1+q2+q3);

J3(3,3) = 1;
J3(3,3) = 1;
J3(3,3) = 1;

end

3-逆运动学解算

function [q1,q2,q3] = iKin3(x,y,theta,A)

a = A(1);
b = A(2);
c = A(3);

xx = x-c*cos(theta);
yy = y-c*sin(theta);
AA = [a,b];

[q1,q2] = iKin2(xx,yy,AA);
q3 = theta - q1 -q2;


end

明天进行解算的想法思考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值