必威体育Betway必威体育官网
当前位置:首页 > IT技术

Robotics Toolbox :(1)建立机器人模型

时间:2019-06-27 14:44:16来源:IT技术作者:seo实验室小编阅读:65次「手机版」
 

toolbox

转载自这里

机器人学工具箱(Robotics Toolbook for Matlab) 是matlab中专门用于机器人仿真的工具箱,在机器人建模、轨迹规划、控制、可视化方面使用非常方便。

创建机器人的两个最重要的函数是:Link和Seriallink

Link类

Link 对象包括连杆的各种属性:运动学参数、惯性张量、电机、传递矩阵等

Link 的类函数:

A :关节传动矩阵

RP :关节类型

friction : 摩擦力

nofriction : 摩擦为0

dyn : 显示动力学参数

islimit:检测关节变量是否超出范围

isrevolute : 检测关节是否为转动关节

isprismatic : 检测关节是否为移动关节

display : 显示D-H矩阵

char : 转化为字符串

Link 的类属性(读/写):

theta:D-H参数

d:D-H参数

a:D-H参数

alpha:D-H参数

sigma: 默认0,旋转关节;1,移动关节

mdh: 默认0,标准D-H;1,改进D-H

offset:关节变量偏移量

qlim:关节变量范围

m: 质量

r: 质心

I: 惯性张量

B: 粘性摩擦

Tc: 静摩擦

G: 减速比

Jm: 转子惯量

例如:定义连杆

L =link('d',1.2,'a', 0.3,'alpha',pi/2,'offset',pi/2,‘mdh’,1,'qlim',[-pi,pi],'m',0.5,'r',[0 0 0.05],'I',[0.001 0 0; 0 0.001 0; 0 0 0.05]);
b1=isrevolute(L); %判读L是否为旋转连杆
b2= L.d; %读取L连杆的长度

Seriallink 类

Seriallink 的类函数:

类函数比较多,包括显示机器人、动力学、逆动力学、雅可比等,用的最多的是:SerialLink 和 plot,用来显示机器人

R=SerialLink(links, options);
R.plot(theta);

Seriallink 的类属性(读/写):

links :连杆向量

gravity :重力加速度

base :基座标系

tool:与基座标系的变换矩阵

qlim :关节极限位置

offset :关节偏移量

name :机器人的名字

manuf :制造者的名字

comment: 注释

Seriallink 的类属性(读):

n :关节数

config: 关节配置,如‘RRRRRR’

mdh :D-H矩阵类型

theta :D-H参数

d :D-H参数

a :D-H参数

alpha: D-H参数

建立机器人

首先用Link建立连杆,再用SerialLink建立机器人,最后用plot显示机器人。

clear;
clc;
L1 = Link('d', 0, 'a', 0, 'alpha', pi/2);
L2 = Link('d', 0, 'a', 0.5, 'alpha', 0,'offset',pi/2);
L3 = Link('d', 0, 'a', 0, 'alpha', pi/2,'offset',pi/4);
L4 = Link('d', 1, 'a', 0, 'alpha', -pi/2);
L5 = Link('d', 0, 'a', 0, 'alpha', pi/2);
L6 = Link('d', 1, 'a', 0, 'alpha', 0);
b=isrevolute(L1);  %Link 类函数
robot=SerialLink([L1,L2,L3,L4,L5,L6]);   %SerialLink 类函数
robot.name='带球形腕的拟人臂';
robot.comment='飘零过客';
robot.display();  %Link 类函数
theta=[0 0 0 0 0 0];
robot.plot(theta);   %SerialLink 类函数

在 Matlab 的命令行窗口中显示 display 的

robot = 

带球形腕的拟人臂 (6 axis, RRRRRR, stdDH, fastRNE)                        
 飘零过客;                   
+---+-----------+-----------+-----------+-----------+-----------+
| j |     theta |         d |         a |     alpha |    offset |
+---+-----------+-----------+-----------+-----------+-----------+
|  1|         q1|          0|          0|      1.571|          0|
|  2|         q2|          0|        0.5|          0|      1.571|
|  3|         q3|          0|          0|      1.571|     0.7854|
|  4|         q4|          1|          0|     -1.571|          0|
|  5|         q5|          0|          0|      1.571|          0|
|  6|         q6|          1|          0|          0|          0|
+---+-----------+-----------+-----------+-----------+-----------+

grav =    0  base = 1  0  0  0   tool =  1  0  0  0              
          0         0  1  0  0           0  1  0  0              
       9.81         0  0  1  0           0  0  1  0              
                    0  0  0  1           0  0  0  1  

plot 的图形为:

这里写图片描述

参数说明

display 显示的结果中,除了D-H参数外,还有三个矩阵,grav,base,tool (在10.2版本中未出现)

grav,重力加速度矢量

base,基座标的齐次矩阵,正常情况下,竖直方向Z轴(看重力加速度矢量),如上图所示。但有些机器人的基座标系竖直方向不是Z轴(如下图,两连杆机械臂),基座标矩阵就是机械臂的基座标系与plot图的默认坐标系之间的变换关系。如果不改变base坐标,那么就要改变grav矢量的值了。

tool,指工具坐标系和末端连杆的坐标系之间的变换矩阵。一般情况下是重合的。

这里写图片描述

参考

[1] Peter Corke,Robotics Toolbox for MATLAB Release 9(Version,9.10),2015.02

[2] P.I. Corke, Robotics, Vision & Control: Fundamental Algorithms in MATLAB.Springer, 2011.

相关阅读

分享到:

栏目导航

推荐阅读

热门阅读