基于MATLAB教学型机器人空间轨迹仿真
- 格式:doc
- 大小:34.00 KB
- 文档页数:6
关节型机器人仿真软件
杨涛(sc11010039)2011.12.10
一、开发环境:matlab2008及以上版本(要求带机器人学工具箱)
二、功能:
1.按照DH矩阵建立图形化的关节型机器人对象
2.对生成的机器人进行正逆运动学的位置和速度进行分析和图形仿真
3.对机器人进行轨迹规划,并在轨迹规划的基础上对其做出动力学的分析。
计算机器人在负载情况下的各个关机所需提供
的力向量。
三、本软件的使用方法:
1.启动:如下图在将matlab的工作目录调整为本软件所在的
work目录,在matlab命令界面中输入maininterface命令;
的参数点击完成并返回即可生成相应机器人对象
3.点击文件菜单的显示子菜单即可显示如下的机器人对象
4.点击运动学分析菜单即可弹出如下运动学分析界面
5.在运动学位置分析的基础上选择进行运动学速度分析即可
弹出以下界面,利用雅克比矩阵对当前位置的速度向量进行正逆分析
6.点击轨迹规划菜单即可弹出以下界面,分别输入初始位置的
空间参数(位置参数和RPY参数)点击轨迹规划即可查看关机空间的轨迹规划的结果曲线和方程(五次多项式插值法)
7.在轨迹规划得到一系列位置、速度、加速度向量的基础上可
以对机器人进行动力学分析,计算完成以下动作机器人各个关节所需提供的力向量;。
机器人学课程设计基于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.附录要求①附程序流程图;②附代码。
课程设计课程名称机器人学题目名称空间描点机器人建模仿真学生学院专业班级学号学生姓名指导教师目录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)可以采用求解逆运动的方程或者是利用微分运动。
课程设计课程名称机器人学题目名称空间描点机器人建模仿真学生学院专业班级学号学生姓名指导教师目录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环境下,建立了机器人坐标系并显示其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]。
论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)等,确保移动机器人在运动过程中速度、加速度和转向角在一定范围内,保证其在突发情况下的安全性。
基于Matlab的教学型机器人空间运动轨迹仿真
王鲁敏;李艳文
【期刊名称】《机械与电子》
【年(卷),期】2005(000)009
【摘要】根据教学型机器人的实际结构特点,利用Matlab中SimMechanics工具箱建立了运动学仿真模型.并进行机器人关节空间和直角坐标系下的运动仿真.仿真结果表明利用仿真模型可以准确、有效地得到机器人的运动参数和运动轨迹,为机器人分析设计提供了可靠依据.
【总页数】3页(P55-57)
【作者】王鲁敏;李艳文
【作者单位】燕山大学,河北,秦皇岛,066004;燕山大学,河北,秦皇岛,066004
【正文语种】中文
【中图分类】TP391.9
【相关文献】
1.基于MATLAB的六自由度机器人越障轨迹仿真 [J], 张明;王奕棋;张旭;于天彪;王贵和
2.基于Adams和Matlab的复合驱动弹跳筛运动轨迹仿真分析 [J], 刘新宇;罗卫平;孙学斌
3.基于MATLAB Robtics Toolbox的机械臂轨迹仿真研究 [J], 夏伟; 吴玉文
4.基于Matlab的机器人轨迹仿真及关节控制 [J], 张文典; 黄家才; 胡凯
5.基于MATLAB Robotics Toolbox的四足机器人轨迹仿真与优化 [J], 陈明方;张凯翔;陈久朋;熊彬洲;李奇;姚国一;李鹏宇
因版权原因,仅展示原文概要,查看原文内容请购买。
机器人学课程设计课程名称机器人学_______________ 题目名称七轴分拣机器人系统设计学生学院_______________________________ 专业班级_______________________________ 学号__________________________________ 学生姓名_______________________________指导教师_______________________________目录1 机器人简介 (3)2 系统结构 (3)2.1 机器人的基本构型设计 (3)3 正运动学实现与工作空间 (3)3.1 机器人DH 表建立 (3)3.2 齐次变换矩阵推导 (4)3.3 仿真绘制工作空间 (5)3.4 分拣范围要求测试 (6)4 机器人逆运动 (6)4.1 微分运动 (7)4.2 数值解法 (8)4.3 轨迹规划 (10)5 流程图 (13)6 总结 (14)附录 (16)1机器人简介随着科学技术不断的发展,机器人技术在军事、航空航天、工农业生产及医疗等领域迅猛进步。
机器人按技术层次可以分为:固定程序控制机器人、示教再现机器人和智能机器人等。
目前机器人研究涉及到机构学、运动学、控制技术、传感技术等领域。
由于机器人的研究涉及到庞大数学运算,计算工作繁琐复杂,常利用一些工具软件来提高对其分析的工作效率,并且可以增加运算的灵活性和准确性。
现利用MATLAB软件通用性好、计算绘图功能强大等特点,自主设计一款七自由度机器人,并对其进行运动空间及轨迹的仿真分析。
2系统结构2.1机器人的基本构型设计本系统设计的机器人共有七个自由度,其中机器人末端(即第七个关节)为伸缩关节,其余关节均为旋转关节(第1、5、7为过轴旋转关节)。
关节与关节之间的长度为L,为与后续坐标系的建立统一,这里4和5、6和7两组关节是结合在一起的,关节间长度L仁250,L2=550,L3=850,L4=820,由于关节7是滑动关节,L5的运动范围这是设置的是170到500。
基于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)。