机器人工具箱 V9.10(Robotics Toolbook) (1):建立机器人模型
機(jī)器人學(xué)工具箱(Robotics Toolbook for Matlab) 是matlab中專門用于機(jī)器人仿真的工具箱,在機(jī)器人建模、軌跡規(guī)劃、控制、可視化方面使用非常方便。
創(chuàng)建機(jī)器人的兩個(gè)最重要的函數(shù)是:Link和Seriallink
Link類
Link 對(duì)象包括連桿的各種屬性:運(yùn)動(dòng)學(xué)參數(shù)、慣性張量、電機(jī)、傳遞矩陣等
Link 的類函數(shù):
A :關(guān)節(jié)傳動(dòng)矩陣
RP :關(guān)節(jié)類型
friction : 摩擦力
nofriction : 摩擦為0
dyn : 顯示動(dòng)力學(xué)參數(shù)
islimit:檢測(cè)關(guān)節(jié)變量是否超出范圍
isrevolute : 檢測(cè)關(guān)節(jié)是否為轉(zhuǎn)動(dòng)關(guān)節(jié)
isprismatic : 檢測(cè)關(guān)節(jié)是否為移動(dòng)關(guān)節(jié)
display : 顯示D-H矩陣
char : 轉(zhuǎn)化為字符串
Link 的類屬性(讀/寫):
theta:D-H參數(shù)
d:D-H參數(shù)
a:D-H參數(shù)
alpha:D-H參數(shù)
sigma: 默認(rèn)0,旋轉(zhuǎn)關(guān)節(jié);1,移動(dòng)關(guān)節(jié)
mdh: 默認(rèn)0,標(biāo)準(zhǔn)D-H;1,改進(jìn)D-H
offset:關(guān)節(jié)變量偏移量
qlim:關(guān)節(jié)變量范圍
m: 質(zhì)量
r: 質(zhì)心
I: 慣性張量
B: 粘性摩擦
Tc: 靜摩擦
G: 減速比
Jm: 轉(zhuǎn)子慣量
例如:定義連桿
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是否為旋轉(zhuǎn)連桿 b2= L.d; %讀取L連桿的長度Seriallink 類
Seriallink 的類函數(shù):
類函數(shù)比較多,包括顯示機(jī)器人、動(dòng)力學(xué)、逆動(dòng)力學(xué)、雅可比等,用的最多的是:SerialLink 和 plot,用來顯示機(jī)器人
Seriallink 的類屬性(讀/寫):
links :連桿向量
gravity :重力加速度
base :基座標(biāo)系
tool:與基座標(biāo)系的變換矩陣
qlim :關(guān)節(jié)極限位置
offset :關(guān)節(jié)偏移量
name :機(jī)器人的名字
manuf :制造者的名字
comment: 注釋
Seriallink 的類屬性(讀):
n :關(guān)節(jié)數(shù)
config: 關(guān)節(jié)配置,如‘RRRRRR’
mdh :D-H矩陣類型
theta :D-H參數(shù)
d :D-H參數(shù)
a :D-H參數(shù)
alpha: D-H參數(shù)
建立機(jī)器人
首先用Link建立連桿,再用SerialLink建立機(jī)器人,最后用plot顯示機(jī)器人。
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 類函數(shù) robot=SerialLink([L1,L2,L3,L4,L5,L6]); %SerialLink 類函數(shù) robot.name='帶球形腕的擬人臂'; robot.comment='飄零過客'; robot.display(); %Link 類函數(shù) theta=[0 0 0 0 0 0]; robot.plot(theta); %SerialLink 類函數(shù)在 Matlab 的命令行窗口中顯示 display 的結(jié)果:
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 1plot 的圖形為:
參數(shù)說明
display 顯示的結(jié)果中,除了D-H參數(shù)外,還有三個(gè)矩陣,grav,base,tool
grav,重力加速度矢量
base,基座標(biāo)的齊次矩陣,正常情況下,豎直方向Z軸(看重力加速度矢量),如上圖所示。但有些機(jī)器人的基座標(biāo)系豎直方向不是Z軸(如下圖,兩連桿機(jī)械臂),基座標(biāo)矩陣就是機(jī)械臂的基座標(biāo)系與plot圖的默認(rèn)坐標(biāo)系之間的變換關(guān)系。如果不改變base坐標(biāo),那么就要改變grav矢量的值了。
tool,指工具坐標(biāo)系和末端連桿的坐標(biāo)系之間的變換矩陣。一般情況下是重合的。
工具箱下載地址:https://pan.baidu.com/s/1pLo7V7d
參考
Peter Corke,Robotics Toolbox for MATLAB Release 9(Version,9.10),2015.02
P.I. Corke, Robotics, Vision & Control: Fundamental Algorithms in MATLAB.Springer, 2011.
總結(jié)
以上是生活随笔為你收集整理的机器人工具箱 V9.10(Robotics Toolbook) (1):建立机器人模型的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ROS学习(二):在ubuntu 16.
- 下一篇: 机器人动力学方程的性质