欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

机器人工具箱 V9.10(Robotics Toolbook) (1):建立机器人模型

发布时间:2025/6/17 编程问答 74 豆豆
生活随笔 收集整理的这篇文章主要介绍了 机器人工具箱 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 和 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
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):建立机器人模型的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。