实验1 构建多连杆机器人模型
一、实验目的
1、熟悉基于Matlab的机器人工具箱函数及其功能;
2、掌握用Matlab命令行方式设计构建六连杆机器人前向运动学模型与雅各比矩阵。
二、实验内容
(1) 六连杆机器人前向运动学与雅各比矩阵
机器人运动学包括前向运动学和逆向运动学,前向运动学即给定机器人各关节变量,计算机器人末端的位置姿态,一般采用D-H参数法求取机器人运动学。Matlab集成了功能强大的robotic toolbox,方便用户构建六*度机器人运动学与雅各比矩阵。
(2) 问题描述
利用Matlab Robotics 工具箱函数构建六连杆机器人前向运动学模型,同时求取其雅各比矩阵。
三、实验要求
1、构建如图1所示的Stanford六连杆机器人的运动学,其DH参数如表1所示,要求:
a. 要求以“自己的名字”命名机器人,并以“名字拼音”代表机器人“类”
b. 要求附上详细的代码以及注释
c. 令d2=0.5, d6=0.5, 要求显示D-H参数表,需附上显示截图
d. 令机器人变量的初值分别为qz1=[0,0,0,0,0,0],qz2=[0,0,0.5,1,1,0],要求显示机器人的图像并打印其前向运动学(注:qz1与qz2的第三个元素为平动关节移动的距离)
e. 求解机器人变量的分别为qz1,qz2时的雅各比矩阵。
实验截图如下:
参考源代码如下:
clear
clc
L1 = Link(‘d’, 0, ‘a’, 0, ‘alpha’, -pi/2);%定义连杆
L2 = Link(‘d’, 0.5, ‘a’, 0, ‘alpha’, pi/2);
L3 = Link(‘theta’, 0, ‘a’, 0, ‘alpha’, 0);
L4 = Link(‘d’, 0, ‘a’, 0, ‘alpha’, -pi/2);
L5 = Link(‘d’, 0, ‘a’, 0, ‘alpha’, pi/2);
L6 = Link(‘d’, 0.5, ‘a’, 0, ‘alpha’, 0);
chenyuan = SerialLink([L1 L2 L3 L4 L5 L6], ‘name’, ‘陈渊’);%连接连杆
chenyuan.display();%显示D-H参数表
qz=[0,0,0,0,0,0];
W = [-2 2 -2 2 -2 2];
chenyuan.plot(qz ,‘workspace’, W); %显示机器人的图像
hold on;
qz=[0,0,0.5,1,1,0];
chenyuan.plot(qz ,‘workspace’, W); %显示机器人的图像
hold on;
ward_kinematics= chenyuan.fkine(qz)%前向运动学 输入项是qz偏角度矩阵
%雅可比矩阵
L(1) = Link([ 0,0, 0,-pi/2,0]);%定义连杆
L(2) = Link([ 0,1, 0, pi/2,0]);
L(3) = Link([ 0,0,0,0,1]);
L(4) = Link([ 0,0,0, -pi/2,0]);
L(5) = Link([ 0,0,0,pi/2, 0]);
L(6) = Link([ 0,1,0,0, 0]);
bot = SerialLink(L, ‘name’, ‘Stanford arm’);%连接连杆
qz1=[0,0,0,0,0,0],
J1=vpa(bot.jacob0(qz1),4)%雅可比矩阵是表示手爪速度和关节速度的一个关系
qz2=[0,0,0.5,1,1,0],
J2=vpa(bot.jacob0(qz2),4)%雅可比矩阵是表示手爪速度和关节速度的一个关系