当前位置: 代码迷 >> 综合 >> Matlab Robotics Toolbox--创建机器人
  详细解决方案

Matlab Robotics Toolbox--创建机器人

热度:32   发布时间:2024-02-09 22:58:51.0

Matlab Robotics Toolbox–创建一个机器人

下面创建一个两个连杆的机械臂,它具有下面标准的D-H参数

Link a i a_i α i \alpha_i d i d_i θ i \theta_i
1 1 0 0 θ 1 \theta_1
2 1 0 0 θ 2 \theta_2

我们设置连杆的长度为1,下面创建两个连杆对象

>> L1=Link([0 1 0 0 0],'standard')L1 = 
Revolute(std): theta=q, d=1, a=0, alpha=0, offset=0
>> L2=Link([0 1 0 0 0],'standard')L2 = 
Revolute(std): theta=q, d=1, a=0, alpha=0, offset=0
% 然后,将两组连杆连接到一起
>>r=SerialLink([L1 L2], 'name', 'myRobot')
r = myRobot:: 2 axis, RR, stdDH, slowRNE                             
+---+-----------+-----------+-----------+-----------+-----------+
| j |     theta |         d |         a |     alpha |    offset |
+---+-----------+-----------+-----------+-----------+-----------+
|  1|         q1|          1|          0|          0|          0|
|  2|         q2|          1|          0|          0|          0|
+---+-----------+-----------+-----------+-----------+-----------+

前面两行命令创建连杆对象,注意连杆的第二个变量指定使用标准的D-H参数(这实际是默认的)。连杆的参数可以通过以下命令来查看:

>>help Link
%连杆或机械臂参数查询
>> L1.dans =1
%机械臂的连杆数
>> r.nans =2

工具箱Toolbox的机器人对象(例如上面的r)存储了机器人的运动学和惯性参数。
下面示例代码建立一个六自由度机器人

clear
clc;
close('all');
%随意建立一个机器人
PM_PI=3.1415926;
deg=PM_PI/180;
%%dh参数建模
%             theta   d         a        alpha     sigma
ML1 =  Link([ 0,      0.4967,   0,       0,           0], 'modified');
ML2 =  Link([ 0,     -0.18804,  0.2,     3*PM_PI/2,   0], 'modified');
ML3 =  Link([ 0,      0.17248,  0.79876, 0 ,          0], 'modified');
ML4 =  Link([ 0,      0.98557,  0.25126, 3*PM_PI/2,   0], 'modified');
ML5 =  Link([ 0,      0,        0,       PM_PI/2 ,    0], 'modified');
ML6 =  Link([ 0,      0,        0,       PM_PI/2 ,    0], 'modified');
robot = SerialLink([ML1 ML2 ML3 ML4 ML5 ML6],'name','test\_robot');
robot.teach(); %可以自由拖动的关节角度
hold on;

在这里插入图片描述

  相关解决方案