Loading... 雅可比矩阵的matlab实现——使用robot工具箱 ```matlab %% 参数定义 clear; close all; clc; %角度转换 angle=pi/180; %转化为角度制 %D-H参数表 theta1 = 0; D1 = 360; A1 = 0; alpha1 = -pi/2; offset1 = 0; theta2 = 0; D2 = 0; A2 = 0; alpha2 = pi/2; offset2 = 0; theta3 = 0; D3 = 420; A3 = 0; alpha3 = pi/2; offset3 = 0; theta4 = 0; D4 = 0; A4 = 0; alpha4 = -pi/2; offset4 = 0; theta5 = 0; D5 = 400; A5 = 0; alpha5 = -pi/2; offset5 = 0; theta6 = 0; D6 = 0; A6 = 0; alpha6 = pi/2; offset6 = 0; theta7 = 0; D7 = 126; A7 = 0; alpha7 = 0; offset7 = 0; %% DH法建立模型,关节转角,关节距离,连杆长度,连杆转角,关节类型(0转动,1移动),'standard':建立标准型D-H参数 'modified': 建立改进型D-H参数 L(1) = Link([theta1, D1, A1, alpha1, offset1], 'standard'); L(2) = Link([theta2, D2, A2, alpha2, offset2], 'standard'); L(3) = Link([theta3, D3, A3, alpha3, offset3], 'standard'); L(4) = Link([theta4, D4, A4, alpha4, offset4], 'standard'); L(5) = Link([theta5, D5, A5, alpha5, offset5], 'standard'); L(6) = Link([theta6, D6, A6, alpha6, offset6], 'standard'); L(7) = Link([theta7, D7, A7, alpha7, offset7], 'standard'); % 定义关节范围 L(1).qlim =[-170*angle, 170*angle]; L(2).qlim =[-120*angle, 120*angle]; L(3).qlim =[-170*angle, 170*angle]; L(4).qlim =[-120*angle, 120*angle]; L(5).qlim =[-170*angle, 170*angle]; L(6).qlim =[-120*angle, 120*angle]; L(7).qlim =[-175*angle, 175*angle]; %% 显示机械臂(把上述连杆“串起来”) med14 = SerialLink(L,'name','seven'); theta0 = [0 0 0 0 0 0 0]; %初始关节角度 theta1 = [0 25*angle 0 90*angle 0 0 0]; % 搬运姿态 figure(1) med14.plot(theta1); title('Med14'); %% 雅可比矩阵显示 J1 = med14.jacob0(theta1) % jacob0返回的是将关节速度映射到世界坐标系中的末端执行器空间速度 J2 = med14.jacobe(theta1) % jacobe返回的是将关节速度映射到工具坐标系中的末端执行器空间速度 ``` 最后修改:2024 年 06 月 03 日 © 允许规范转载 赞 1 如果觉得我的文章对你有用,请随意赞赏