MATLAB建立机器人模型指定旋转关节或者移动关节

clear ; clc; close all;
% 机器人各连杆DH参数
d2 = 50;
d4 = 50;

% 由于关节1,3为移动关节,故d1,d3为变量,theta1,theat3为常量
theat1 = 0;
theta3 = 0;

a1 = 0;
a2 = 0;
a3 = 0;
a4 = 0;

alpha1 = 0;
alpha2 = 0;
alpha3 = 90 / 180 * pi;
alpha4 = -90 / 180 * pi;
% 定义各个连杆,默认为转动关节


%           theta      d        a        alpha 
L(1)=Link([theat1     0       a1      alpha1]); L(1).qlim=[0,5];  L(1).jointtype='P';
L(2)=Link([  0        d2      a2      alpha2]); L(2).qlim=[-pi,pi]; L(2).offset=pi/2;
L(3)=Link([theta3     0       a3      alpha3]); L(3).qlim=[0,5]; L(4).jointtype='P';
% 移动关节需要特别指定关节类型--jointtype
L(4)=Link([  0        d4       a4      alpha4]); L(4).qlim=[-pi,pi]; 


r=SerialLink([L(1),L(2),L(3),L(4)],'name','jiqiren');                                    %建立机器人模型
r.display();
theta=[10 0 10 0 ];    %机器人初始各关节的角度

r.plot(theta);                                                           
teach(r);                   

此处的L(1).qlim=[0,5]; L(1).jointtype=‘P’;为指定移动关节。
此处的L(2).qlim=[-pi,pi]; L(2).offset=pi/2;为指定旋转关节。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐