机器人工具箱 V9.10(Robotics Toolbook) (1):建立机器人模型
機器人學工具箱(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,用來顯示機器人
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 1plot 的圖形為:
參數說明
display 顯示的結果中,除了D-H參數外,還有三個矩陣,grav,base,tool
grav,重力加速度矢量
base,基座標的齊次矩陣,正常情況下,豎直方向Z軸(看重力加速度矢量),如上圖所示。但有些機器人的基座標系豎直方向不是Z軸(如下圖,兩連桿機械臂),基座標矩陣就是機械臂的基座標系與plot圖的默認坐標系之間的變換關系。如果不改變base坐標,那么就要改變grav矢量的值了。
tool,指工具坐標系和末端連桿的坐標系之間的變換矩陣。一般情況下是重合的。
工具箱下載地址: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.
總結
以上是生活随笔為你收集整理的机器人工具箱 V9.10(Robotics Toolbook) (1):建立机器人模型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ROS学习(二):在ubuntu 16.
- 下一篇: 机器人动力学方程的性质