基于MATLAB教学型机器人空间轨迹仿真
基于matlab平台的机器人学仿真软件实验报告

关节型机器人仿真软件
杨涛(sc11010039)2011.12.10
一、开发环境:matlab2008及以上版本(要求带机器人学工具箱)
二、功能:
1.按照DH矩阵建立图形化的关节型机器人对象
2.对生成的机器人进行正逆运动学的位置和速度进行分析和图形仿真
3.对机器人进行轨迹规划,并在轨迹规划的基础上对其做出动力学的分析。
计算机器人在负载情况下的各个关机所需提供
的力向量。
三、本软件的使用方法:
1.启动:如下图在将matlab的工作目录调整为本软件所在的
work目录,在matlab命令界面中输入maininterface命令;
的参数点击完成并返回即可生成相应机器人对象
3.点击文件菜单的显示子菜单即可显示如下的机器人对象
4.点击运动学分析菜单即可弹出如下运动学分析界面
5.在运动学位置分析的基础上选择进行运动学速度分析即可
弹出以下界面,利用雅克比矩阵对当前位置的速度向量进行正逆分析
6.点击轨迹规划菜单即可弹出以下界面,分别输入初始位置的
空间参数(位置参数和RPY参数)点击轨迹规划即可查看关机空间的轨迹规划的结果曲线和方程(五次多项式插值法)
7.在轨迹规划得到一系列位置、速度、加速度向量的基础上可
以对机器人进行动力学分析,计算完成以下动作机器人各个关节所需提供的力向量;。
基于Matlab的签名机器人建模与仿真报告

机器人学课程设计基于Matlab的签名机器人建模与仿真一、课程设计问题描述 (1)1.基本要求 (1)2.实现正运动学与工作空间 (1)3.实现逆运动学轨迹规划 (1)4.自由发挥项 (1)5.附录要求 (1)二、六自由度机器人设计 (1)1.机器人的基本构型设计 (1)2.机器人的尖节与连杆参数设计 (1)三、正运动学实现与工作空间 (2)1 •建立坐标系 (2)2.建立D-H表 (3)3.分析正运动 (3)4.按摩机器人正运动学仿真结果与工作空间 (4)四、机器人逆解与奇异型分析 (5)1.机器人逆运动学与微分运动学分析 (5)2.机器人轨迹规划仿真结果 (6)五、机器人数值解法改进 (6)1-逆运动的数值解法 (6)六 ' 心得体会 (9)七、程序流程与代码附录 (9)一♦课程设计问题描述1•基本要求①设计一款六自由度机器人,要求2,3,4,5尖节中有一个是滑动矢节,其余尖节应为转动尖节。
试构想该机器人的功能,并根据功能设定机器人的介绍参数(杆件长及尖节极限);②建立机器人的正运动学模型,进行Matlab运动仿真。
(分析机器人的工作空间,制作机器人的各个运动的动画)o2.实现正运动学与工作空间①自行设计一个六自由度机器人,对其尖节建立坐标系,注意包含滑动矢节;②给出所设计的六自由度机器人的D・H参数表;③推导所设计的六自由度机器人的正运动学,写出各个齐次变换矩阵;④使也MATLAB编程,得出机器人工作空间,包含立体图和剖面图、机器人工作动画;⑤对设计的六自Lil度机器人机器的工作空间进行简单分析。
3.实现逆运动学轨迹规划①这里特征机器人末端的轨迹规划,不是尖节空间的轨迹规划;②要实现控制机器人末端在空间完成某种轨迹(如直线、圆弧•写字•画图等);③可以釆用求解逆运动的方程或者是利用微分运动;④写出详细的推导过程(公式);⑤使用MATLAB编程仿真,得到仿真动画和图片。
4.自由发挥项①机器人完整逆解(数值解);②寻找奇异点,分析奇异位型;5.附录要求①附程序流程图;②附代码。
基于Matlab的空间描点机器人建模与仿真报告

课程设计课程名称机器人学题目名称空间描点机器人建模仿真学生学院专业班级学号学生姓名指导教师目录1.课程设计要求 (1)2.空间描点机器人的设计 (2)2.1机器人构型及坐标 (2)2.2D-H参数表 (4)3.正运动学 (5)3.1齐次变换矩阵 (5)3.2 空间描点机器人工作空间 (6)4.几何法求逆解 (7)5.程序流程图 (8)6.总结分析 (9)7.Matlab程序附录 (10)7.1 Mov_6DOF_Rob_Lnya.m (10)7.2 DHfk6Dof_Lnya.m (12)7.3 IK_6DOF_Rob_Lnya.m (13)7.4 Build_6DOFRobot_Lnya.m (14)7.5 Erzhihua.m (14)7.6 draw_Workplace.m (15)7.7 Matrix_DH_Ln.m (16)7.8 Connect3D.m (17)1. 课程设计要求一,按照附件模板填写,要求有封面和目录,除签名处不能有手写。
二,主要内容包括下面几个部分,1,设计一款六自由度机器人,要求2,3,4,5关节中有一个是滑动关节,其余关节应为转动关节。
试构想该机器人的功能,并根据功能设定机器人的介绍参数(杆件长度及关节极限)2,建立机器人的正运动学模型,进行Matlab 运动仿真。
(分析机器人的工作空间,制作机器人各个运动的动画。
)注意事项:1)要求画出机器人的关节坐标系,列出DH 参数表,以及各个关节间的齐次变换矩阵。
2)Matlab仿真应画出工作空间的立体图和剖面图。
采用机器人产品的同学应与实际说明书的工作空间做对比。
自行设计的同学要做简单的分析讨论。
3)直接采用例程里面的三自由度机器人该部分得0 分。
3,实现逆运动学轨迹规划注意事项:1)这里特指机器人末端的轨迹规划,不是关节空间的轨迹规划。
2)要实现控制机器人末端在空间中完成某种轨迹。
(如直线,圆弧,心型,写字等)3)可以采用求解逆运动的方程或者是利用微分运动。
基于Matlab的空间描点机器人建模与仿真报告

课程设计课程名称机器人学题目名称空间描点机器人建模仿真学生学院专业班级学号学生姓名指导教师目录1.课程设计要求 (1)2.空间描点机器人的设计 (2)2.1机器人构型及坐标 (2)2.2D-H参数表 (4)3.正运动学 (5)3.1齐次变换矩阵 (5)3.2 空间描点机器人工作空间 (6)4.几何法求逆解 (7)5.程序流程图 (8)6.总结分析 (9)7.Matlab程序附录 (10)7.1 Mov_6DOF_Rob_Lnya.m (10)7.2 DHfk6Dof_Lnya.m (12)7.3 IK_6DOF_Rob_Lnya.m (13)7.4 Build_6DOFRobot_Lnya.m (14)7.5 Erzhihua.m (14)7.6 draw_Workplace.m (15)7.7 Matrix_DH_Ln.m (16)7.8 Connect3D.m (17)1. 课程设计要求一,按照附件模板填写,要求有封面和目录,除签名处不能有手写。
二,主要内容包括下面几个部分,1,设计一款六自由度机器人,要求2,3,4,5关节中有一个是滑动关节,其余关节应为转动关节。
试构想该机器人的功能,并根据功能设定机器人的介绍参数(杆件长度及关节极限)2,建立机器人的正运动学模型,进行Matlab 运动仿真。
(分析机器人的工作空间,制作机器人各个运动的动画。
)注意事项:1)要求画出机器人的关节坐标系,列出DH 参数表,以及各个关节间的齐次变换矩阵。
2)Matlab仿真应画出工作空间的立体图和剖面图。
采用机器人产品的同学应与实际说明书的工作空间做对比。
自行设计的同学要做简单的分析讨论。
3)直接采用例程里面的三自由度机器人该部分得0 分。
3,实现逆运动学轨迹规划注意事项:1)这里特指机器人末端的轨迹规划,不是关节空间的轨迹规划。
2)要实现控制机器人末端在空间中完成某种轨迹。
(如直线,圆弧,心型,写字等)3)可以采用求解逆运动的方程或者是利用微分运动。
基于MATLAB的机器人运动学仿真与轨迹规划

基于MATLAB的机器人运动学仿真与轨迹规划王晓明;宋吉;庞浩帅【摘要】为研究机器人的轨迹规划,在MATLAB环境下,建立了机器人坐标系并显示其D-H矩阵,确定机器人的连杆运动参数,对机器人的正、逆运动学问题进行分析.通过对机器人的轨迹规划仿真,分析了机器人运动过程中的关节稳定性,如位移、速度、加速度变化等直观地显示了机器人关节的运动,得到了连续平滑的机器人关节角度轨迹曲线与末端位姿规划曲线.仿真实验表明,所设计的运动学参数是正确的,从而达到了预定的目标.【期刊名称】《电子设计工程》【年(卷),期】2019(027)007【总页数】5页(P109-112,117)【关键词】机器人;轨迹规划;MATLAB;仿真【作者】王晓明;宋吉;庞浩帅【作者单位】兰州理工大学电气工程与信息工程学院,甘肃兰州730050;兰州理工大学电气工程与信息工程学院,甘肃兰州730050;兰州理工大学电气工程与信息工程学院,甘肃兰州730050【正文语种】中文【中图分类】TN242.2分析机器人运动学是研究机器人的重要前提,其中包括机器人相对于固定坐标系运动的几何学,在特定工作环境下对机器人进行动力学分析、轨迹规划和控制机器人的任务执行。
所有不同机构的机器人实质上是由一系列关节和连杆连接的[1]。
根据相邻关节与连杆间的旋转、平移变换可以推导机器人运动学建模的过程[2],求解运动学的逆解[3]。
机器人的逆解表明了末端位姿在可达工作空间的运动情况,但是逆解数目与关节数目、连杆参数、关节变量息息相关,涉及十分繁琐复杂的数学运算[4]。
为了提高效率,更加直观理解关节速度对末端线速度与角速度的影响,采用了MATLAB中Robotics Toolbox的机器人函数[5],对机器人进行正逆运动学仿真和求解给定机器人的雅可比矩阵,并进行解的轨迹规划实现最优解[6]。
1 运动学分析1.1 六自由度机器人D-H坐标系为描述机器人和机器人的相对运动关系,通常采用的建模方法是由Denavit和Hartenberg提出的D-H参数法[7]。
基于V-REP和MATLAB的机器人建模及轨迹规划仿真验证

θ2 的解为
式中:
2
2
2
2
臂的运动学验证仿真ꎮ
3.2 V -REP 中建立虚拟样机模型
V-REP 软件自身三维建模效率较低ꎬ只能建立已知
空间三维坐标的一些简单形状ꎬ故采用 UG 三维模型导入
的方法ꎬ同时为了保证三维模型导入 V-REP 后模型方便
处理ꎬ需要先将 UG 中建立的 AUBO -i5 模型各个关节位
pz ÷ i = 1
÷
1ø
(1)
109
孙凌云ꎬ等基于 V-REP 和 MATLAB 的机器人建模及轨迹规划仿真验证
信息技术
求解 θ i ꎬ满足 θ i ∈ [ -175°ꎬ175° ] ꎮ 经推导各个关节
接口ꎬ可满足机器人在各种环境下的仿真ꎮ 其使用和搭建
θ1 = arctan2( d4 ꎬ±
manipulator is established by importing it into the cross platform open source simulation software V-REP through the interface. The
motion trajectory planning is completed by MATLABꎬ and the kinematics simulation and collision detection are completed by
合ꎮ 详细步骤如下:将 UG 模型文件保存为 STL 文件ꎬ导
入 V-REP 场景中ꎻ分解模型并删除大量多余的形状ꎬ以
此减轻运动学以及动力学仿真的计算量ꎻ组合各个形状ꎬ
添加机械臂动力学参数ꎬ调整各个形状之间的继承关系并
使用关节连接各个连杆ꎻ最后添加装卸物件的末端夹具ꎬ
基于MATLAB的焊接机器人工作空问及轨迹规划仿真

p
z
d1+a2s2-d4 2 c2c3-s2s3 2 +a3c2s3+a3c3s2
(2)根据机器人关节变量取值范围(表1),在MATLAB中
生成各关节变量随机值。
θi=θimin+(θimax-θimin)×RAND(N,1) 式中,θimax和θimin表示关节i转角范围内的最大、最小值。
Sheji yu Fenxi◆设计与分析
基于MATLAB的焊接机器人工作空间及轨迹规划仿真
孙光亚 岳建锋 钟 蒲
(天津工业大学,天津 300387)
摘 要:以六自由度关节式机器人为研究对象,基于D-H坐标系理论讨论机器人的运动学问题,提出采用随机抽样生成机器人关节 变量的蒙特卡洛法对机器人的工作空间进行仿真计算,利用MATLAB机器人工具箱Robotics Toolbox对机器人在关节空间和笛卡尔空间 的轨迹规划进行仿真分析。 仿真结果表明,机器人工作空间求解正确,机器人轨迹规划可靠,能够高效地到达预定位姿,仿真生成的数据 文件为机器人的离线编程和复杂空间轨迹规划的研究提供了重要的数据支持。
(1)在机器人正运动学方程中,可以得到末端执行器在参
考坐标系中相对基坐标系的位置向量:
p
x
a1c1+d4
2 c1c2s3+c1c3s2
+a2c1c2-a3c1s2s3+a3c1c2c3
p
y
=
a1s1+d4
2 c2s1s3+c3s1s2
2 +a2c2s1-a3s1s2s3+a3c2c3s1
s23-ozc23
论MATLAB仿真与移动机器人轨迹跟踪控制

论MATLAB仿真与移动机器人轨迹跟踪控制随着德国工业4.0和中国制造2025发展战略的提出,自动化技术正广泛应用服务于各领域,代替部分人工劳动力的同时也降低了生产成本,提高了劳动效率。
轮式移动机器人因在物流等领域的广泛应用而成为智能控制、自动化控制和运动控制的重要研究平台,然而轮式移动机器人是一个非线性的非完整系统,具有非完整约束条件特性,使其在轨迹跟踪控制时带来了很大的难度,传统的PID控制算法在轮式移动机器人轨迹跟踪控制的研究上取得了一定成果,但是随着环境的复杂化和不确定性,使得传统的控制方法达不到需要的控制效果。
近年来,随着现代控制方法的不断发展,非完整移动机器人轨迹跟踪控制也取得了很多的控制方法,主流的方法有自适应控制、反演控制、滑膜结构控制和智能控制。
本文通过对轮式移动机器人应用机械原理的方法描述其运动学模型并得到模型中各物理量之间的数学关系。
再通过设计合理的控制器,使得移动机器人能够快速稳定跟踪目标路径轨迹。
1 轮式移动机器人运动学模型1.1 建立运动学模型如图1所示,将后轮驱动前轮转向四轮移动机器人简化成双轮自行车模型(图1中阴影部分),其后輪为驱动轮,前轮为转向轮,可以在水平轴上自由转动,实现车辆转向,图1中各个参数如下:为全局坐标系;为移动机器人局部坐标;为移动机器人旋转中心;为转向轮转角;为运动速度;为移动机器人姿态;为前后轴距;为后轮转向半径;为前轮转向半径。
根据移动机器人运动学模型三个公式,利用Matlab/Simulink模块搭建运动模型并描述其参数变量之间的关系,本次仿真实验使用的工具是MathWorks公司的产品Matlab2015a版本,在Matlab/Simulink环境中搭建模块。
其搭建结果可以表示为如图2所示。
由图2可知,移动机器人有两个输入,分别为车的速度和车轮转角,三个输出,图中添加了轮式移动机器人速度限制模块(vel limit)、加速度限制模块(acceleration limit)、转向角限制器(streering angle limit)、手动中断模块(handbrake)等,确保移动机器人在运动过程中速度、加速度和转向角在一定范围内,保证其在突发情况下的安全性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于MATLAB教学型机器人空间轨迹仿真
robotic toolbox for matlab工具箱
1. PUMA560的MATLAB仿真
要建立PUMA560的机器人对象,首先我们要了解PUMA560的D-H参数,之后我们可以利用Robotics Toolbox工具箱中的link和robot函数来建立PUMA560的机器人对象。
其中link函数的调用格式:
L = LINK([alpha A theta D])
L =LINK([alpha A theta D sigma])
L =LINK([alpha A theta D sigma offset])
L =LINK([alpha A theta D], CONVENTION)
L =LINK([alpha A theta D sigma], CONVENTION)
L =LINK([alpha A theta D sigma offset], CONVENTION)
参数CONVENTION可以取‘standard’和‘modified’,其中‘standard’代表采用标准的D-H参数,‘modified’代表采用改进的D-H参数。
参数‘alpha’代表扭转角
,参数‘A’代表杆件长度,参数‘theta’代表关节角,参数‘D’代表横距,参数‘sigma’代表关节类型:0代表旋转关节,非0代表移动关节。
另外LINK还有一些数据域:
LINK.alpha
%返回扭转角
LINK.A
%返回杆件长度
LINK.theta
%返回关节角
LINK.D
%返回横距
LINK.sigma
%返回关节类型
LINK.RP
%返回‘R’(旋转)或‘P’(移动)
LINK.mdh
%若为标准D-H参数返回0,否则返回1
LINK.offset
%返回关节变量偏移
LINK.qlim
%返回关节变量的上下限[min max]
LINK.islimit(q)
%如果关节变量超限,返回-1, 0, +1
LINK.I
%返回一个3×3 对称惯性矩阵
LINK.m
%返回关节质量
LINK.r
%返回3×1的关节齿轮向量
LINK.G
%返回齿轮的传动比
LINK.Jm
%返回电机惯性
LINK.B
%返回粘性摩擦
LINK.Tc
%返回库仑摩擦
LINK.dh
return legacy DH row
LINK.dyn
return legacy DYN row
其中robot函数的调用格式:
ROBOT
%创建一个空的机器人对象
ROBOT(robot)
%创建robot的一个副本
ROBOT(robot, LINK)
%用LINK来创建新机器人对象来代替robot
ROBOT(LINK, ...)
%用LINK来创建一个机器人对象
ROBOT(DH, ...)
%用D-H矩阵来创建一个机器人对象
ROBOT(DYN, ...)
%用DYN矩阵来创建一个机器人对象
2.变换矩阵
利用MA TLAB中Robotics Toolbox工具箱中的transl、rotx、roty和rotz可以实现用齐次变换矩阵表示平移变换和旋转变换。
下面举例来说明:
A 机器人在x轴方向平移了0.5米,那么我们可以用下面的方法来求取平移变换后的齐次矩阵:
>> transl(0.5,0,0)
ans =
1.0000
0.5000
1.0000
1.0000
1.0000
B 机器人绕x轴旋转45度,那么可以用rotx来求取旋转后的齐次矩阵:>> rotx(pi/4)
ans =
1.0000
0.7071
-0.7071
0.7071
0.7071
1.0000
C 机器人绕y轴旋转90度,那么可以用roty来求取旋转后的齐次矩阵:>> roty(pi/2)
ans =
0.0000
1.0000
1.0000
-1.0000
0.0000
1.0000
D 机器人绕z轴旋转-90度,那么可以用rotz来求取旋转后的齐次矩阵:
>> rotz(-pi/2)
ans =
0.0000 1.0000 0 0
-1.0000 0.0000 0 0
0 0 1.0000 0
0 0 0 1.0000
当然,如果有多次旋转和平移变换,我们只需要多次调用函数在组合就可以了。
另外,可以和我们学习的平移矩阵和旋转矩阵做个对比,相信是一致的。
3 轨迹规划
利用Robotics Toolbox提供的ctraj、jtraj和trinterp函数可以实现笛卡尔规划、关节空间规划和变换插值。
其中ctraj函数的调用格式:
TC = CTRAJ(T0, T1, N)
TC = CTRAJ(T0, T1, R)
参数TC为从T0到T1的笛卡尔规划轨迹,N为点的数量,R为给定路径距离向量,R的每个值必须在0到1之间。
其中jtraj函数的调用格式:
[Q QD QDD] = JTRAJ(Q0, Q1, N)
[Q QD QDD] = JTRAJ(Q0, Q1, N, QD0, QD1)
[Q QD QDD] = JTRAJ(Q0, Q1, T)
[Q QD QDD] = JTRAJ(Q0, Q1, T, QD0, QD1)
参数Q为从状态Q0到Q1的关节空间规划轨迹,N为规划的点数,T为给定的时间向量的长度,速度非零边界可以用QD0和QD1来指定。
QD和QDD为返回的规划轨迹的速度和加速度。
其中trinterp函数的调用格式:
TR = TRINTERP(T0, T1, R)
参数TR为在T0和T1之间的坐标变化插值,R需在0和1之间。
要实现轨迹规划,首先我们要创建一个时间向量,假设在两秒内完成某个动作,采样间隔是56ms,那么可以用如下的命令来实现多项式轨迹规划:t=0:0.056:2; [q,qd,qdd]=jtraj(qz,qr,t);
其中t为时间向量,qz为机器人的初始位姿,qr为机器人的最终位姿,q为经过的路径点,qd为运动的速度,qdd为运动的加速度。
其中q、qd、qdd都是六列的矩阵,每列代表每个关节的位置、速度和加速度。
如q(:,3)代表关节3的位置,qd(:,3)代表关节3的速度,qdd(:,3)代表关节3的加速度。
4 运动学的正问题
利用Robotics Toolbox中的fkine函数可以实现机器人运动学正问题的求解。
其中fkine函数的调用格式:
TR = FKINE(ROBOT, Q)
参数ROBOT为一个机器人对象,TR为由Q定义的每个前向运动学的正解。
以PUMA560为例,定义关节坐标系的零点qz=[0 0 0 0 0 0],那么fkine(p560,qz)将返回最后一个关节的平移的齐次变换矩阵。
如果有了关节的轨迹规划之后,我们也可以用fkine来进行运动学的正解。
比如:
t=0:0.056:2; q=jtraj(qz,qr,t); T=fkine(p560,q);
返回的矩阵T是一个三维的矩阵,前两维是4×4的矩阵代表坐标变化,第三维是时间。
5 运动学的逆问题
利用Robotics Toolbox中的ikine函数可以实现机器人运动学逆问题的求解。
其中ikine函数的调用格式:
Q = IKINE(ROBOT, T)
Q = IKINE(ROBOT, T, Q)
Q = IKINE(ROBOT, T, Q, M)
参数ROBOT为一个机器人对象,Q为初始猜测点(默认为0),T为要反解的变换矩阵。
当反解的机器人对象的自由度少于6时,要用M进行忽略某个关节自由度。
有了关节的轨迹规划之后,我们也可以用ikine函数来进行运动学逆问题的求解。
比如:
t=0:0.056:2; T1=transl(0.6,-0.5,0); T2=transl(0.4,0.5,0.2);
T=ctraj(T1,T2,length(t)); q=ikine(p560,T);
我们也可以尝试先进行正解,再进行逆解,看看能否还原。
Q=[0 –pi/4 –pi/4 0 pi/8 0]; T=fkine(p560,q); qi=ikine(p560,T);
6 动画演示
有了机器人的轨迹规划之后,我们就可以利用Robotics Toolbox中的plot函数来实现对规划路径的仿真。
puma560;T=0:0.056:2; q=jtraj(qz,qr,T); plot(p560,q);
当然,我们也可以来调节PUMA560的六个旋转角,来实现动画演示。
drivebot(p560)。