事情起因是,某技术人员号称这款机械臂无奇异点,博主当场一个【黑人问号脸】。
既然是串联臂,大概很难做到无奇异点~
为了反驳,博主建模简单分析了下,偏置参数随便写了个,具体验证程序见文末。
clear,clc,close all
L1 = 34;
L2 = 34;
L3 = 250;
L4 = 245;
L5 = 50;
L6 = 94;
L7 = 100;
R = sqrt(L4*L4+L5*L5);
alpha = [0 pi/2 0 0 -pi/2 pi/2];
a = [0 L1 L3 R L6 0] / 1000;
d = [0 0 0 0 0 L7] / 1000;
for i=1:6
Link(i) = RevoluteMDH('d', d(i),'a', a(i),'alpha', alpha(i));
end
robot = SerialLink(Link,'name','arx5');
%robot.plot([0,0,+atan(L5/L4),-atan(L5/L4),pi/2,0])
% robot.teach()
% 肘部奇异
q1 = [0,pi/3,0,pi/3,pi/2,0]
disp("肘部奇异:")
J = robot.jacob0(q1);
[~,S,~]=svd(J)
% 肩部奇异
disp("肩部奇异:")
q2 = [0 25 108.05 30 90 0] * pi / 180;
J = robot.jacob0(q2);
[~,S,~]=svd(J)