Matlab Robotic Toolbox工具箱学习笔记(2)

2019-04-14 16:32

plot(p)

%对于齐次变换矩阵的情况

T0 = transl(0.4, 0.2, 0) * trotx(pi);% 定义初始点和目标点的位姿 T1 = transl(-0.4, -0.2, 0.3) * troty(pi/2) * trotz(-pi/2); T = ctraj(T0, T1, 50); first=T(:,:,1);%初始位姿矩阵 tenth=T(:,:,10);%第十个位姿矩阵 figure(5);

tranimate(T);%动画演示坐标系自初始点运动到目标点的过程

Matlab Robotic Toolbox工具箱学习笔记(二)

Arm/Robots

机器人是由多个连杆连接而成的,机器人关节分为旋转关节和移动关节。创建机器人的两个最重要的函数是:Link和SerialLink。

1、Link类

一个Link包含了机器人的运动学参数、动力学参数、刚体惯性矩参数、电机和传动参数。 操作函数:

%A 连杆变换矩阵

% RP 关节类型: 'R' 或 'P' % friction 摩擦力

% nofriction 摩擦力忽略

% dyn 显示动力学参数

% islimit 测试关节是否超出软限制 % isrevolute 测试是否为旋转关节 % isprismatic 测试是否为移动关节 % display 连杆参数以表格形式显示 % char 转为字符串 运动学参数:

% theta 关节角度 % d 连杆偏移量 % a 连杆长度 % alpha 连杆扭角

% sigma 旋转关节为0,移动关节为1 % mdh 标准的D&H为0,否则为1 % offset 关节变量偏移量 % qlim 关节变量范围[min max] 动力学参数: % m 连杆质量

% r 连杆相对于坐标系的质心位置3x1 % I 连杆的惯性矩阵(关于连杆重心)3x3 % B 粘性摩擦力(对于电机)1x1或2x1 % Tc 库仑摩擦力1x1或2x1 电机和传动参数:

% G 齿轮传动比

% Jm 电机惯性矩(对于电机)

2、SerialLink类

操作函数:

% plot 以图形形式显示机器人 % teach 驱动机器人

% isspherical 测试机器人是否有球腕关节 % islimit 测试机器人是否抵达关节极限

% fkine 前向运动学求解

% ikine6s 6旋转轴球腕关节机器人的逆向运动学求解 % ikine3 3旋转轴机器人的逆向运动学求解 % ikine 采用迭代方法的逆向运动学求解 % jacob0 在世界坐标系描述的雅克比矩阵 % jacobn 在工具坐标系描述的雅克比矩阵 % maniplty 可操纵性度 % jtraj 关节空间轨迹 % accel 关节加速度 % coriolis 关节柯氏力

% dyn 显示连杆的动力学属性 % fdyn 关节运动 % friction 摩擦力 % gravload 关节重力 % inertia 关节惯性矩阵 % nofriction 设置摩擦力为0 % rne 关节的力/力矩

% payload 在末端坐标系增加负载 % perturb 随机扰动连杆的动力学参数

属性:

% links 连杆向量(1xN)

% gravity 重力的方向[gx gy gz] % base 机器人基座的位姿(4x4)

% tool 机器人的工具变换矩阵[ T6 to tool tip] (4x4) % qlim 关节范围[qmin qmax] (Nx2) % offset 偏置(Nx1)

% name 机器人名字(在图形中显示) % manuf 注释, 制造商名 % comment 注释, 总评

% plotopt options for plot() method (cell array) % n 关节数

% config 机器人结构字符串, 例如 'RRRRRR'

% mdh 运动学中约定的布尔数 (0=DH, 1=MDH)

怎样创建一个机器人?

%Link调用格式:

%{

(1) L = Link() 创建一个带默认参数的连杆 (2)L = Link(L1)复制连杆L1

(3)L = Link(OPTIONS) 创建一个指定运动学、动力学参数的连杆 OPTIONS可以是:

% 'theta',TH joint angle, if not specified joint is revolute % 'd',D joint extension, if not specified joint is prismatic % 'a',A joint offset (default 0) % 'alpha',A joint twist (default 0)

% 'standard' defined using standard D&H parameters (default). % 'modified' defined using modified D&H parameters. % 'offset',O joint variable offset (default 0) % 'qlim',L joint limit (default [])

% 'I',I link inertia matrix (3x1, 6x1 or 3x3) % 'r',R link centre of gravity (3x1) % 'm',M link mass (1x1)

% 'G',G motor gear ratio (default 0)

% 'B',B joint friction, motor referenced (default 0) % 'Jm',J motor inertia, motor referenced (default 0)

% 'Tc',T Coulomb friction, motor referenced (1x1 or 2x1), (default [0 0]) % 'revolute' for a revolute joint (default) % 'prismatic' for a prismatic joint 'p'

% 'standard' for standard D&H parameters (default). % 'modified' for modified D&H parameters.

% 'sym' consider all parameter values as symbolic not numeric 注:不能同时指定“theta”和“d”

连杆的惯性矩阵(3x3)是对称矩阵,可以写成3x3矩阵,也可以是[Ixx Iyy Izz Ixy Iyz Ixz]

所有摩擦均针对电机而不是负载

齿轮传动比只用于传递电机的摩擦力和惯性矩给连杆坐标系。 %}

%SerialLink调用格式:

%{ (1)R = SerialLink(LINKS, OPTIONS),OPTIONS可以是:'name'、'comment'、'manufacturer' 'base'、'tool'、'gravity'、'plotopt'

(2)R = SerialLink(DH, OPTIONS),矩阵DH的构成:每个关节一行,每一行为[theta d a alpha] (默认为旋转关节),第五列(sigma)为可选列,sigma=0(默认)为旋转关节,sigma=1为移动关节

(3) R = SerialLink(OPTIONS) 没有连杆的机器人

(4)R = SerialLink([R1 R2 ...], OPTIONS) 机器人连接, 将R2的基座连接到R1的末端.

(5)R = SerialLink(R1, options) 复制机器人R1 %}

L1 = Link('d', 0, 'a', 1, 'alpha', pi/2);%定义连杆1,没有写theta说明theta为关节变量

L1.a;%查看a的值 L1.d;%查看d的值

%还可以L1.RP,L1.display,L1.mdh,L1.isprismatic,L1.isrevolute等等,这样就可以查看一些默认值

L2 = Link('d', 0, 'a', 1, 'alpha', 0);

bot = SerialLink([L1 L2], 'name', 'my robot'); bot.n;%查看连杆数目

bot.fkine([0.1 0.2]);%前向运动学 bot.plot([0.1 0.2]);%绘制机器人

定义完连杆和机器人便可以求机器人前和逆向运动学、动力学等等。 L1.参数或属性():查看连杆的参数或属性 L1.操作函数(参数):操作连杆参数 bot.属性():查看机器人的属性

bot.操作函数(参数):操作机器人,可以进行前向、逆向运动学求解等

实例:Stanford Manipulator

D-H参数表:


Matlab Robotic Toolbox工具箱学习笔记(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:齐鲁名校教科研协作体2016届高三第三次调研文综政治

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: