KUKA机器人运动学分析及simmulink仿真

合集下载

KUKA机器人高速主轴连接零件设计与仿真

KUKA机器人高速主轴连接零件设计与仿真

( ' r n u i o y e h i n t u e Xi n Ae o a tc P l t c n cI s i t ,Xi n 7 0 8 ,Ch n ) a t ' 1 0 9 a i a
Ab ta tTa ig KUKA o o sa be to e e rh,e p u d d KUKA p l a in i n u ty,ep cal nma h— src : kn r b ta no jc frs ac x o n e a pi t nid sr c o s e il i c i y
保 证加 工精度要 求 。
关键 词 : 器人 ; AM; 机 C 机械 主轴 ; 真 仿
中 图 分 类 号 : 4 TP 2 2 文 献标 志码 : A
Z HANG a Ch o
De i n a d S m ulto fCo e to r o UK A bo g pe d S n e sg n i a i n o nn ci n Pa tf r K Ro tHi h S e pi dl
造 技 术 , 0 0 4 : 55 . 2 1 ( ) 4 —0
3 结 语
数控设 备 的高效加 工在 机械 加工 领域 中有着 绝 对 的优势 。数控 设备 建立 了数字 化制 造 的工艺 规划 体系, 为制 造加 工提供 了理 论基 础 , 同时提 高车 间资 源利 用率 , 减少 工艺规 划 时间 , 降低 了制造成 本 。随 着 时代 的发展 , 在机 械加工 领域 里 , 控设 备最 终将 数 代替 普通 设备 。
数 字 技 术
机 械 工 程
KUKA 机 器人 高速 主轴 连接 零 件设计 与仿 真
张 超
( 安航 空职 业 技 术 学 院 , 西 西 ቤተ መጻሕፍቲ ባይዱ 7 0 8 ) 西 陕 1 0 9

机器人运动学与动力学建模与仿真

机器人运动学与动力学建模与仿真

机器人运动学与动力学建模与仿真1. 引言机器人技术的快速发展为生产制造、医疗保健、家庭服务等领域带来了巨大变革。

机器人的运动学与动力学建模与仿真是机器人控制技术的核心内容。

通过准确建模和仿真,可以使机器人运动更加灵活,精确和高效。

本文将深入探讨机器人运动学与动力学建模与仿真的原理和应用。

2. 机器人运动学建模机器人运动学建模是研究机器人运动规律的过程。

机器人的运动可以分为直线运动和旋转运动两种基本形式。

通过建模,可以计算机器人的位置、速度和加速度等参数。

运动学建模的核心是描述骨架结构和连接关系,以及联动机器人的关节状态。

3. 机器人动力学建模与运动学建模相比,机器人的动力学建模更加复杂。

动力学建模需要考虑机器人的惯性、外部力和驱动力等因素对机器人运动的影响。

一般来说,机器人动力学建模可以分为正向和逆向两种方式。

正向动力学模型是通过已知输入力和关节状态来推导机器人的运动方程。

而逆向动力学模型则是通过已知运动方程来求解对应的关节状态和输入力。

4. 机器人运动学与动力学仿真在机器人研究和开发的过程中,运动学和动力学仿真起着重要的作用。

通过仿真,可以对机器人的运动进行精确的预测,并进行优化和调整。

运动学仿真主要用于模拟机器人的位置和姿态,以及关节的运动范围。

动力学仿真则可以模拟机器人在受到各种力的作用下的运动和行为。

仿真技术可以帮助研究人员更好地理解和掌握机器人的运动规律,在设计和控制阶段提供有力的支持。

5. 机器人运动学与动力学仿真的应用机器人运动学与动力学建模与仿真的应用非常广泛。

在工业制造中,仿真可以帮助优化生产线的布局,提高生产效率和质量。

在医疗领域,仿真可以帮助医生进行手术模拟和培训,提前规划手术方案,减少手术风险。

在家庭服务领域,仿真可以帮助设计智能机器人的运动轨迹和操作规则,提供更好的家庭助理服务。

此外,仿真还可以应用于教育训练、虚拟现实等多个领域。

6. 机器人运动学与动力学建模与仿真的挑战与发展尽管机器人运动学与动力学建模与仿真技术已取得了很大进展,但仍面临一些挑战。

KUKA30-3机器人的正解、逆解及仿真分析

KUKA30-3机器人的正解、逆解及仿真分析

KUKA30-3的位姿矩阵的计算 解:(1)建立坐标系(2)确定参数参数表如下所示:i1i α-1l i -1i d - iθ1 00 0 θ1 2 90-︒ 1l 0θ2 3 02l 0θ3 4 90-︒ 3l3dθ4 5 90︒ 0 0 θ5 690-︒θ6其中1l =150 2l =570 3l =1553d =640相邻两杆间得位姿矩阵:22122201500010000001S C T C S ⎡⎤⎢⎥⎢⎥=⎢⎥-⎢⎥⎣⎦ 33332305700000100001C S S CT -⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦4434440155001640000001C S T S C -⎡⎤⎢⎥⎢⎥=⎢⎥--⎢⎥⎣⎦554555000010000001C S T S C -⎡⎤⎢⎥-⎢⎥=⎢⎥⎢⎥⎣⎦ 665666000010000001C S T S C -⎡⎤⎢⎥⎢⎥=⎢⎥--⎢⎥⎣⎦对六个坐标系应用公式:其中()()()()41232345623235623234615646x n C S C C S C C C S S C C S C S C C S S S S S C C C S =+---+++⎡⎤⎣⎦()()()()41232345623235623234615646y n S S C C S C C C S S C C S C S C C S S S C S C C C S =+---+-+⎡⎤⎣⎦()23456462356456462356()z n S S C C C S S C S S C C C C S C S C S C =---++-()()()()41232345623235623234615646x o C S C C S C C S S S C C S S S C C S S C S S C S C C =-++-++--⎡⎤⎣⎦()()()()41232345623235623234615646y o S S C C S C C S S S C C S S S C C S S C C S C S C C =-++-+++-⎡⎤⎣⎦()23456462356456462356()z o S S C C S S C C S S S C C S S C S C S S =++--+()1232345235235145x a C S C C S C S S S C C C C S S S =-++--⎡⎤⎣⎦ ()1232345235235145y a S S C C S C S S S C C C C C S S =-++-+⎡⎤⎣⎦ 23452345235235z a C S C S S S C S C S C S C C =-+--()()123123123123121155640570150x p C S C C C S C S S C C C C S C =+--++ ()()123123123123121155640570150y p S S C S C S S S S S C C S S S =+--++ ()()232323232155640570z p C C S S C S S C C =--++⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-=100010*******1101C S S C T ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡==100056453423120106z z z z y yyy x x x x p a o n p ao n p a o n T T T T T T T(3) matlab计算程序clear all;syms thetsyms thet1 thet2 thet3 thet4 thet5 thet6;thet1=0;thet2=0.5*pi;thet3=0.5*pi;thet4=0;thet5=0;thet6=0;rotz=[cos(thet) -sin(thet) 0 0;sin(thet) cos(thet) 0 0;0 0 1 0;0 0 0 1];T100=eye(4,4); %未简化155mm的拐角T210=[0 1 0 150;0 0 1 0;1 0 0 0;0 0 0 1];T320=[1 0 0 570;0 1 0 0;0 0 1 0;0 0 0 1];T430=[1 0 0 155;0 0 1 640;0 -1 0 0;0 0 0 1];T540=[1 0 0 0;0 0 -1 0;0 1 0 0;0 0 0 1];T650=[1 0 0 0;0 0 1 0;0 -1 0 0;0 0 0 1];Tg0=[1 0 0 155;0 1 0 0;0 0 1 0;0 0 0 1];T10=subs(T100*rotz,thet,thet1)T21=subs(T210*rotz,thet,thet2)T32=subs(T320*rotz,thet,thet3)Tg=subs(Tg0*rotz,thet,thet3); %添加额外坐标系,用于计算155拐点坐标T43=subs(T430*rotz,thet,thet4)T54=subs(T540*rotz,thet,thet5)T65=subs(T650*rotz,thet,thet6)T60=T10*T21*T32*T43*T54*T65disp(['末端x坐标为:' num2str(T60(1,4))])disp(['末端y坐标为:' num2str(T60(2,4))])disp(['末端z坐标为:' num2str(T60(3,4))])p1=T10*T21p2=T10*T21*T32pg=T10*T21*T32*Tgp3=T10*T21*T32*T43x=[0 p1(1,4)];y=[0 p1(2,4)];z=[0 p1(3,4)];plot3(x,y,z,'r','LineWidth',8);grid on;hold on;x=[p1(1,4) p2(1,4)];y=[p1(2,4) p2(2,4)];z=[p1(3,4) p2(3,4)];plot3(x,y,z,'b','LineWidth',4);x=[p2(1,4) pg(1,4)];y=[p2(2,4) pg(2,4)];z=[p2(3,4) pg(3,4)];plot3(x,y,z,'k','LineWidth',2);x=[pg(1,4) p3(1,4)];y=[pg(2,4) p3(2,4)];z=[pg(3,4) p3(3,4)];plot3(x,y,z,'k','LineWidth',2);plot3(0,0,0,'d');运算结果:T10 =1 0 0 00 1 0 00 0 1 00 0 0 1T21 =1.0000 0.0000 0 150.00000 0 1.0000 00.0000 -1.0000 0 00 0 0 1.0000 T32 =0.0000 -1.0000 0 570.00001.0000 0.0000 0 00 0 1.0000 00 0 0 1.0000T43 =1 0 0 1550 0 1 6400 -1 0 00 0 0 1 T54 =1 0 0 00 0 -1 00 1 0 00 0 0 1 T65 =1 0 0 00 0 1 00 -1 0 00 0 0 1T60 =0.0000 0 -1.0000 80.00000 -1.0000 0 0-1.0000 0 -0.0000 -155.00000 0 0 1.0000末端x坐标为:80末端y坐标为:0末端z坐标为:-155p1 =1.0000 0.0000 0 150.00000 0 1.0000 00.0000 -1.0000 0 00 0 0 1.0000 p2 =0.0000 -1.0000 0 720.00000 0 1.0000 0-1.0000 -0.0000 0 0.00000 0 0 1.0000 pg =-1.0000 -0.0000 0 720.00000 0 1.0000 0-0.0000 1.0000 0 -155.00000 0 0 1.0000 p3 =0.0000 0 -1.0000 80.00000 -1.0000 0 0-1.0000 0 -0.0000 -155.00000 0 0 1.0000 p1 =1.0000 0.0000 0 150.00000 0 1.0000 00.0000 -1.0000 0 00 0 0 1.0000 p2 =0.0000 -1.0000 0 720.00000 0 1.0000 0-1.0000 -0.0000 0 0.00000 0 0 1.0000 pg =-1.0000 -0.0000 0 720.00000 0 1.0000 0-0.0000 1.0000 0 -155.00000 0 0 1.0000 p3 =0.0000 0 -1.0000 80.00000 -1.0000 0 0-1.0000 0 -0.0000 -155.00000 0 0 1.0000姿态矩阵逆解1. 前三关节转角的推导a) 关节1转角的推导因为HP6机器人所有关节均处于同一截面,由几何关系:b) 关节3转角的推导由先前建立的六个位姿矩阵,知112345623456T T T T T T =提取其中的[1,4] [3,4]元素,可得等式:232321x 123232z 155sin(+)+640cos(+)+150+570sin()cos()P sin()155cos(+)-640sin(+)+570cos()P yP θθθθθθθθθθθθ=+⎧⎨=⎩将以上两式平方相加,又由11cos()sin()0x y P P θθ+=,可得:221133(cos()sin()150)758525+176700cos()-729600*sin()z x y P P P θθθθ++-=*232231d p p darctgp p arctgy x xy-+±-=θ由于其中1θ为已知,上式可简化为*cos *sin 0a x b x c ++=的形式,可求解2211(()*()*150)758525z y x c p sin p cos p θθ=++--21/221/232(32/24716625*31/98866500*(563539050000)),31/98866500*32/24716625*(563539050000))arctan c c c c θ=-+-++-+ c) 关节2转角的推导至此计算(b )方程组中3θ已求出,原方程组可化简为:23323311233233sin()[155cos()-640sin()570]+cos()[155sin()+640cos()]sin()p +cos()p -150sin()[-155*sin()-640*cos()] cos()[155*cos()-640*sin()+570]p y x z θθθθθθθθθθθθθθ+=⎧⎨+=⎩方程组中只有2sin()θ及2cos()θ两个未知数,可得到2sin()θ准确解,再由反正弦求解2θ,具体计算见逆解程序。

KUKA机器人仿真

KUKA机器人仿真

12.接下来设置砂箱在传送架上运动,步骤如下:
(1)首先,在Creat选项卡下,点击砂箱,在Component Node Tree里会出现如下图形:
(2)然后右键点击 对话框:
,选择New Link,出现如下
(3)关闭对话框,会出现Link1,点击砂箱,然后会在Node Feature Tree栏里出现如下情况;
(11)双击Link1图标,在Joint里填入Tx(Joint_1),然后点击 Close,如下图;
(12)在Teach选项卡下,添加一条新路径P9,如下图:
(13)双击P9,出现下面对话框,在ExternalJoint1项上填入 3500.00,然后点击Close,如下图:
13.设置完上面所有,点击右上角的运行图标,软件就可以 进行模拟仿真了。
旋转操作
旋转设置和移动一样,不同在以下两点
一、 a、 旋转选择: Rotary 移动选择: Linear
修改速度是 修改Max Speed
2、
二、
a、 旋转:R 移动:T b、 x代表绕
模型自身 坐标轴x 轴旋转
c、
括号里是 新建Joint 的名称
外部轴带物体移动(旋转)
翻转机 带侧架 一同旋 转时, 侧架应 接触到 翻转机, 无需别 的设置 即可
(3)导入传送架后如下图:
6. 把砂箱放于一个传送架上,砂芯放于另一个传送架 上,如下图:
7.设置机器人的移动路径,步骤如下:
(1)选择Teach选项卡,点击 图标,确定当前点的位 置,如下图:
(2)点击如下图标来移动机器人,然后确定当前位置; (3)移动机器人后的位置如图:
8. 机器人夹起砂芯,步骤如下:
出现绿色线:
出现浅蓝色宽状箭头:

KUKA机器人高速主轴连接零件设计与仿真

KUKA机器人高速主轴连接零件设计与仿真

KUKA机器人高速主轴连接零件设计与仿真张超【摘要】Taking KUKA robot as an object of research, expounded KUKA application in industry, especially in machining of CAM. Based on requirements of modification, a connection part that connects KUKA robot with spindle of machining was designed. Through the static analysis of SolidWorks simulation for the connection part, strength of the part can be guaranteed and accuracy of the machining can also be obtained in aspect of transformation.%以KUKA机器人为研究对象,阐述了KUKA机器人在工业中的应用,尤其是在CAM加工中的应用.根据CAM加工的改造要求,设计了KUKA机器人与加工主轴的连接零件.通过SolidWorks的Simulation对连接零件进行静态分析,从而保证了设计的零件满足强度要求,在变形方面能够保证加工精度要求.【期刊名称】《新技术新工艺》【年(卷),期】2012(000)006【总页数】3页(P19-21)【关键词】机器人;CAM;机械主轴;仿真【作者】张超【作者单位】西安航空职业技术学院,陕西西安 710089【正文语种】中文【中图分类】TP242KUKA是机器人领域的世界顶尖产品,应用范围包括点焊、弧焊、码跺、喷涂、浇铸、装配、搬运、包装、激光加工、检测、注塑、水切割等各种自动化作业。

KUKA机器人工作灵活可靠,运行精度高。

KUKA机器人运动学仿真与实验研究_陈桂

KUKA机器人运动学仿真与实验研究_陈桂

H 参数, 首先分别建立 6 个旋转 根据表 1 中的 D关节模型: L( 1 ) = Link( [0 0. 675 0. 26 pi /2 0 ] ); L( 2 ) = Link( [ pi /2 0 0. 645 0 0] ); L( 3 ) = Link( [0 0 0. 035 pi /2 0 ] ); L( 4 ) = Link( [0 0. 67 0 pi /2 0 ] ); L( 5 ) = Link( [ pi 0 0 pi /2 0 ] ); L( 6 ) = Link( [0 0. 115 0 0 0] ); 并命 然后组合成含有此 6 个旋转关节的机器人, kr6 ’ 。设定初始位置为( 0 ,pi /2 ,0 ,0 ,pi,0 ) , 名为’ 可以画出表示该机器人位置的三维图, 如图 2 。
,
3
. / -
0
+
*, *, -
+ *, 2 ***, 1
+
,
图2
KUKA KR62 机器人三维结构图
· 96·
组合机床与自动化加工技术
第8 期
ans = - 0. 2706 0. 9390 0. 2122 0. 6365 - 0. 2706 - 0. 2857 0. 9193 0. 7178 0. 9239 0. 1913 0. 3314 1. 6818 0 0 0 1. 0000 0. 7178 , 1. 6818 ) , 表示机器人的位置为 ( 0. 6365 , 姿 态 是 ( - 0. 2706 , - 0. 2706 ,0. 9239 ,0. 9390 , - 0. 2857 , 0. 1913 , 0. 2122 , 0. 9193 , 0. 3314 ) 。

KUKA-KR16机器人的运动学分析与仿真

KUKA-KR16机器人的运动学分析与仿真

第33卷㊀第5期2019年㊀10月齐㊀鲁㊀工㊀业㊀大㊀学㊀学㊀报JOURNALOFQILUUNIVERSITYOFTECHNOLOGYVol.33㊀No.5Oct.㊀2019引用格式:曹启贺ꎬ邱书波ꎬ韩丰键.KUKA-KR16机器人的运动学分析与仿真[J].齐鲁工业大学学报ꎬ2019ꎬ33(5):35-40.CAOQHꎬQIUSBꎬHANFJ.Kinematicsanalysisandsimulationofkuka-kr16robot[J].JournalofQiluUniversityofTechnologyꎬ2019ꎬ33(5):35-40.中图分类号:TP24㊀㊀㊀㊀㊀文献标识码:ADOI:10.16442/j.cnki.qlgydxxb.2019.05.006文章编号:1004-4280(2019)05-0035-06KUKA-KR16机器人的运动学分析与仿真KinematicsAnalysisandSimulationofKuka-kr16Robot曹启贺ꎬ邱书波∗ꎬ韩丰键CAOQi ̄heꎬQIUShu ̄bo∗ꎬHANFeng ̄jian齐鲁工业大学(山东省科学院)电气工程与自动化学院ꎬ济南250353SchoolofElectricalEngineeringandAutomationꎬQiluUniversityofTechnology(ShandongAcademyofSciences)ꎬJinan250353ꎬChina摘要:为了研讨工业中机器人实际轨迹的状况ꎬ本文对KUKA-KR16机器人做出分析ꎬ分析KUKA-KR16机器人的运动特点和性质ꎮ将把KUKA-KR16机器人的运动问题作为关键的研究方向ꎬ利用齐次坐标的变换方式推出理论上的坐标变换方程ꎬ再结合D-H参数法ꎬ创建KUKA-KR16机器人实的结构模型ꎬ将MATLAB中的RoboticsToolbox作为平台来验证KUKA-KR16机器人的理论动作情况ꎮ关键词:KUKA-KR16机器人ꎻ运动学求解ꎻD-H参数法ꎻMATLAB仿真Abstract:Inordertodiscusstheactualtrajectoryofrobotsinindustryꎬthispaperanalyzesthekuka-kr16robotꎬandanalyzesthemotioncharacteristicsandpropertiesofthekuka-kr16robot.Themotionissueofkuka-kr16robotwillbetakenasthekeyresearchdirectionꎬandthecoordinatetransformationequationintheorywillbederivedbyusingthehomogeneouscoordinatetransformationmethod.CombiningwiththeD-Hparametermethodꎬtherealstructuremodelofkuka-kr16robotwillbecreatedꎬandtheRoboticsToolboxinMATLABwillbeusedasaplatformtoverifythetheoreticalactionofkuka-kr16robot.Keywords:kuka-kr16robotꎻkinematicsolutionꎻD-HparametermethodꎻMATLABsimulation㊀㊀伴随着科技的进步ꎬ工业运用中的机器人技术现已达到了比较高的水平ꎮ在实际的工业生产运用中KUKA-KR16机器人占据着重要的地位ꎬ而在技术的提高和发展方面ꎬ机器人运动学的部分一直扮演者至关重要的角色ꎬ而在实际的实践中对现成的机器人进行研究会存在成本高ꎬ不容易实现的特点ꎬ因此我们采用MATLAB作为研究平台ꎬ通过MATLAB里面的RoboticsToolbox建立起KUKA-KR16的结构模型[1]ꎬ运用RoboticsToolbox来对KUKA-KR16模拟仿真并且可以通过计算机直观的表达出来进行观察理收稿日期:2019-04-18㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀网络出版时间:2019-10-31作者简介:曹启贺ꎬ硕士研究生ꎻ研究方向:工业机器人∗通讯作者:邱书波ꎬ博士ꎬ教授ꎬ硕士生导师ꎻ研究方向:工业机器人㊁机器视觉ꎻqiushubo@126.com㊀㊀㊀㊀㊀齐㊀鲁㊀工㊀业㊀大㊀学㊀学㊀报第33卷解ꎬ因此能很好的分析KUKA-KR16各个轴的运动状况ꎬ从而对KUKA-KR16机器人做准确的分析与研究ꎮ1㊀KUKA-KR16机器人运动学模型1.1㊀KUKA-KR16机器人结构主体KUKA-KR16是具有六个运动轴的关节机器人ꎬ前3个关节用来确定手腕参考点的位置ꎬ后3个关节用来确定手腕的方位[2]ꎬ实现手腕的俯仰㊁翻滚和偏转[3]ꎮKUKA-KR16的尺寸图如下图1ꎮ图1㊀KUKA-KR16尺寸图图2㊀连杆坐标系可以从图1中得到KUKA-KR16每个轴的尺寸ꎬ依据坐标变换准则在每个关节处建立坐标ꎬ由各个连杆之间的连接关系得到相应的连杆参数ꎬ基于坐标变换理论根据以下原则建立坐标系:D-H连杆坐标系的参考坐标系{0}与基座固定连接ꎬ用参考坐标系{0}来表达其余连杆的运动状况[4]ꎬ建立的坐标系如图2所示ꎮ1.2㊀KUKA-KR16机器人D-H参数D-H参数法坐标系是由Denavit和Hartenberg于1995提出的一种为关节链中的每一个杆件建立坐标系的矩阵方法[5]ꎮ由D-H参数法建立坐标轴原理[6-7]如下:1)zi坐标轴沿i+1关节的轴线方向ꎻ2)xi坐标轴沿zi和zi-1轴的公垂线ꎬ且指向zi-1的方向ꎻ3)yi坐标轴与xii与zi构成右手坐标系ꎮ另外D-H参数坐标系中各个参数的含义如下:1)连杆长度ai:为两关节轴线间的距离ꎻ2)连杆扭角αi:为两关节轴线间的夹角ꎻ3)连杆距离di:为两垂线ai与ai-1之间距离ꎻ4)连杆转角θi:为两垂线ai与ai-1之间的夹角ꎮKUKA-KR16机器人是德国库卡公司生产的一种具有高灵活性特点并且可以广泛应用于搬运㊁组装㊁机加工等多种领域的六自由度机器人[8]ꎬ其D-H参数如下表3所示ꎮ表1㊀KUKA-KR16机器人的连杆参数连杆ai-1αi-1di-1变量θi变量范围1000θ1-185ʎ~185ʎ2a1-90ʎ0θ2-155ʎ~35ʎ3a100θ3-130ʎ~154ʎ4a1-90ʎd4θ4-350ʎ~350ʎ5090ʎ0θ5-130ʎ~130ʎ60-90ʎ0θ6-350ʎ~350ʎ63第5期曹启贺ꎬ等:KUKA-KR16机器人的运动学分析与仿真2㊀KUKA-KR16机器人的运动学分析工业机器人的运动问题就是为了研究每个轴在空间内的坐标关系ꎬ利用齐次变换且结合D-H参数法求出坐标系之间的转换关系从而建立了运动学方程来分析机器人的各个位姿[9]ꎬ也即称为正运动学ꎻ相反ꎬ由位姿信息求解所能达到此位姿的相应关节角的过程则为逆运动学ꎮ2.1㊀KUKA-KR16机器人正运动学问题机器人的正运动学问题也就是为了找出连杆参数之间的联系ꎬ通过矩阵的齐次方程变换求出机器人末端执行器的位姿在基座坐标系中的位姿ꎬ为了更好的表示连杆之间的联系ꎬ不妨设i-1iT为连杆i在i-1坐标系中的位姿ꎬ则根据KUKA-KR16连杆参数和D-H参数法有:01T=cosθ1-sinθ100sinθ1cosθ10000100001éëêêêêêêùûúúúúúú12T=cosθ2-sinθ20a10010-sinθ2-cosθ2000001éëêêêêêêùûúúúúúú23T=cosθ3-sinθ30a2sinθ3cosθ30000100001éëêêêêêêùûúúúúúú34T=cosθ4-sinθ40a3001d4-sinθ4-cosθ4000001éëêêêêêêùûúúúúúú45T=cosθ5-sinθ50000-10sinθ5cosθ5000001éëêêêêêêùûúúúúúú56T=cosθ6-sinθ6000010-sinθ6-cosθ6000001éëêêêêêêùûúúúúúú由KUKA-KR16的相邻两个连杆之间的矩阵关系ꎬ再经过将每一个连杆进行统一计算的过程可以得到总的运动学方程如下:T=06T=01T(θ1)12T(θ2)23T(θ3)34T(θ4)45T(θ5)56T=(θ6)上式则被称为KUKA-KR16的正运动学方程ꎬ由上面的表达式可以很好的表示KUKA-KR16每个轴间的变换关系ꎬ并且可以根据此方程求出KUKA-KR16机器人的空间位置和姿态的联系ꎬ也就是说实现了KUKA-KR16关节变量组成的关节空间到笛卡尔空间的变换[10]ꎮ2.2㊀KUKA-KR16机器人逆运动学问题在实际的KUKA-KR16机器人运用中ꎬ一般情况下需要在已知KUKA-KR16目标位姿的情况下求出所需要的参数值ꎬ这就是KUKA-KR16机器人的逆运动学问题ꎮKUKA-KR16机器人具有不同的方式可以求出需要的解ꎬ但是一般来说主要分为封闭和数值两类解法ꎬ而其中的封闭解法的运用较多一些ꎬ具体的求解步骤可以利用封闭解法中的代数法求解ꎬ即用逆阵T-11左乘并且逐次求解方程ꎬ然后根据矩阵中各个位置元素的相等关系列出等式方程ꎬ从而求出各个未知数ꎬ以此方法进行多次求解直到求出表达式中所有的关节变量ꎬ此类方法也叫做分离变量法ꎮ若在给定的矩阵中ꎬnxꎬnyꎬnzꎬoxꎬoyꎬozꎬpxꎬpyꎬpz和位姿的值已知ꎬ求解θ1ꎬθ2ꎬθ3ꎬθ4ꎬθ5ꎬθ6ꎬ其中:T1T2T3T4T5T6=nxoxaxpxnyoyaypynzozazpz0001éëêêêêêêùûúúúúúú73㊀㊀㊀㊀㊀齐㊀鲁㊀工㊀业㊀大㊀学㊀学㊀报第33卷求解θ1ꎬθ3ꎮ用逆矩阵T-11左乘上式矩阵方程ꎬ整理可以得到如下表达式:cosθ1sinθ100-sinθ1-cosθ10000100001éëêêêêêêùûúúúúúúnxoxaxpxnyoyaypynzozazpz0001éëêêêêêêùûúúúúúú=1T6将上式的矩阵展开且化简可得:-sinθ1px+cosθ1py=d2解得θ1=arctan2(pyꎬpx)同理可以求出θ2ꎬθ3ꎬθ4ꎬθ5ꎬθ6ꎮ3㊀基于MATLAB的运动学仿真MATLAB是一种具有强大数学运算功能的仿真编程软件ꎬ在工业产品开发和数值计算分析等方面的教学与研究中是一个十分有效的工具[11]ꎮ在MATLAB平台中ꎬ运用RoboticsToolbox搭建起模型并完成运动学仿真ꎬ主要程序如下ꎮL1=Link('d'ꎬ0ꎬ'a'ꎬ0ꎬ'alpha'ꎬ0)ꎻL2=Link('d'ꎬ0ꎬ'a'ꎬ0.5ꎬ'alpha'ꎬ0ꎬ'offset'ꎬ-pi/2)ꎻL3=Link('d'ꎬ0ꎬ'a'ꎬ0ꎬ'alpha'ꎬpi/2ꎬ'offset'ꎬ0)ꎻ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'ꎬ-pi/2)ꎻrobot=SerialLink([L1ꎬL2ꎬL3ꎬL4ꎬL5ꎬL6])ꎻrobot.name='kuka-kr16'ꎻ通过在MATLAB运行以上的程序可以得到如下图4的机器人仿真模型和控制界面ꎬ可以通过滑动控制界面q1ꎬq2ꎬq3ꎬq4ꎬq5ꎬq6对应的滑块按钮控制KUKA-KR16的运动并且可以读出相应位置值和RPY值ꎮ图4㊀MATLAB仿真结构图83第5期曹启贺ꎬ等:KUKA-KR16机器人的运动学分析与仿真㊀㊀通过调用plot(q(:ꎬi))㊁plot(qd(:ꎬi))和plot(qdd(:ꎬi))指令ꎬ可以得到对应轴的位移㊁速度和加速度曲线[12]ꎬ本文通过采用PTP的运动方式来研究KUKA-KR16的运动情况ꎬ假设机器人的起始位置为T0ꎬ起始位置为T1和步数为50msꎬ仿真结果如下图5所示曲线图像ꎬ通过观察轴1关节的图像变化ꎬ可以很好的对其运动状况做出研究ꎬ下图6为KUKA-KR16的末端执行器在空间内起始位置T0和起始位置T1的运动位移变化ꎮ图5㊀仿真结果图图6㊀T0-T1直线轨迹图4㊀仿真结果分析通过控制滑动滑块可以控制机器人各个轴的运动ꎬ从图4可以看出ꎬ机器人关节的运动情况满足要求ꎬ进而证实了各个连杆参数的设置是合适的ꎬ也可以使末端执行器达到预期的效果ꎮ通过观察图5中的曲线变化可以得知各个轴运动情况的曲线都是平滑的ꎬ并且在变化的整个过程中没有出现特殊的异常ꎬ则说明KUKA-KR16的速度和加速度在由起始位置T0到达终止位置T1之间的过程中没有出现奇异点ꎮ93㊀㊀㊀㊀㊀齐㊀鲁㊀工㊀业㊀大㊀学㊀学㊀报第33卷分析图6可以得知ꎬKUKA-KR16的末端执行器在起始位置T0和终止位置T1时刻仿真效果和理论的结果不存在偏差ꎬ这表明了KUKA-KR16的PTP动作方式能够使末端执行器到达期望的目标点位姿ꎬ但是在运动的过程中却不能保证各个点的位姿ꎮ5㊀结束语运动学部分的研究是机器人方面关键的一部分内容ꎬ本文利用MATLAB平台ꎬ在RoboticsToolbox的帮助下ꎬ结合D-H参数法搭建了KUKA-KR16的结构模型ꎬ对KUKA-KR16的正㊁逆运动学的理论部分进行了仿真验证ꎬ并且MATLAB平台以图形的方式直观的表达了出来ꎬ使为机器人的理论分析和研究提供了很好的理解方式ꎬ加快了对机器人分析研究的步伐ꎮ通过本文的理论说明和仿真验证得到的结果为我们后期对机器人进一步的研究提供了良好基础ꎮ参考文献:[1]㊀SAILONGWUꎬQIANGLinꎬPENGWANG.KinematicsanalysisandsimulationofKUKAKR5-arcweldingrobotbasedonMATLAB.20166thInternationalconferenceoninformationengineeringformechanicsandmaterials(ICIMM2016)[C]ꎬ中国内蒙古呼和浩特ꎬ2016. [2]㊀钱鹏安ꎬ葛运建.一种基于Puma机器人的三轴线加速度计自动标定方法[C].第五届全国信息获取与处理学术会议ꎬ秦皇岛 北戴河ꎬ2007.[3]㊀李光亮ꎬ陈君若.KUKAKR6机器人的运动学分析与仿真[J].自动化仪表ꎬ2018ꎬ39(1):40-43ꎬ47. [4]㊀刘文文.六自由度工业机器人的动态特性仿真与实验研究[M].沈阳:东北大学ꎬ2014.[5]㊀侯国柱.关节型机器人的结构设计及其运动学分析[M].呼和浩特:内蒙古工业大学ꎬ2007. [6]㊀蒋新松.机器人学导论[M].沈阳:辽宁科学技术出版社ꎬ1994.[7]㊀蔡自兴.机器人学[M].北京:清华大学出版社ꎬ2000. [8]㊀吴晶.基于EMC2的工业机器人研究[D].广州:华南理工大学ꎬ2011.[9]㊀王晓强ꎬ王帅军ꎬ刘建亭.基于MATLAB的IRB2400机器人[J].运动学分析.2014ꎬ42(03):54-57ꎬ40. [10]㊀李骏驰ꎬ李春书.焊缝打磨机器人的运动学分析与仿真[J].河北工业大学学报ꎬ2017ꎬ46(01):34-39ꎬ47. [11]㊀KLAASSENBꎬLINNEMANNRꎬSPENNEBERGDꎬetal.BiomimeticwalkingrobotSCORPION:controlandmodeling[J]ꎬRoboticsandAutonomousSystemsꎬ2002ꎬ41(2):69-76.[12]㊀薛定宇ꎬ陈阳泉.基于MATLAN/Simulink的系统仿真技术与应用[M].北京:清华大学出版社ꎬ2002.(责任编辑:刘㊀青ꎻ校对:赵立爱)04。

机器人运动学建模与动力学仿真分析

机器人运动学建模与动力学仿真分析

机器人运动学建模与动力学仿真分析机器人一直以来是人类最喜欢的机械产物之一。

它们已经在许多领域中得到了广泛应用,从工业生产到医疗,从军事到普通家庭,都有机器人的身影。

然而,机器人的行为不可能只受简单的人工指令控制,在设计和创建机器人时,必须考虑它们如何使用传感器和算法自主进行运动控制。

这就需要对机器人进行运动学建模和动力学仿真分析。

机器人的运动学模型描述了机器人的位置和方向,以及机器人在三维空间中运动的方式。

运动学模型通常由连接在一起的“关节”组成,每个关节提供机器人在空间中运动的自由度。

一个典型的机器人通常由多个关节组成,在每个关节处都有一个旋转或平移关节。

关节的旋转和平移由马达或气动驱动器等装置控制,以允许机器人进行复杂运动,从而能完成其指定的任务。

机器人的运动学模型可以用数学的方法来表示,其中一个广为人知的方法是丹尼·德文波特的变换题。

这个题的思想是将机器人从其基本位置(被定义为零位)旋转和移动,函数将这个位置映射到全局坐标系统中。

对于机器人中每个关节,将“关节空间”中的变化转换为“工作空间”中的直线和角度转换,从而得到机器人的整体位置和方向。

机器人的动力学模型描述了运动学之外的一些物理特性,如质量、惯性、摩擦力等,从而解释与力学和动力学相关的运动。

这是在机器人仿真系统中进行动力学仿真分析的关键所在之一。

通常情况下,机器人的惯性和摩擦力对动力学非常重要,它们直接影响机器人的运动和位移。

在设计机器人时,考虑这些因素是至关重要的,否则机器人可能会无法完全精确地执行指定的任务。

了解机器人的运动学和动力学模型有许多好处。

首先,它们可以帮助设计师更好地理解机器人的基本运动和设计风格。

其次,运动学和动力学模型也可以用于控制机器人的运动。

例如,运动学模型可以将圆轴坐标转换为笛卡尔坐标,并为控制器提供所需的坐标信息,以使机器人在空间中移动。

同时,动力学模型可以帮助设计师制定适当的控制器 PID(位置、积分、微分)参数,以保证机器人的稳定性和运动精度。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

KUKA KR40PA机器人运动学分析及simmulink仿真一.Kuka KR40PA码垛机器人简介Kuka KR40PA机器人是一种有四个自由度的码垛机器人,有四个驱动器,很好地运用了平行四边形机构,固定其姿态从而大大简化了控制难度,并且提高了精度及寿命,本文所用kuka码垛机器人如下图所示:二、机构简图,及其简化。

1、机构简图如下:第一步简化原因:第一步我们简化了两个平行四边形机构,在此我们分析,这两个平行四边形机构的作用是约束末端执行器在XZ平面的姿态,即:使末端执行器始终竖直向下。

在此我们人为的默认末端执行器始终竖直向下,不随前面传递构件的影响。

此时便可以将两组平行四边形机构去除而不影响末端执行器的姿态和位移。

第一步简化后机构简图第二步简化原因:在此我将主动杆1及连杆4去除。

杆1 2 3 4组成了一个平行四边形机构,因此β3=β2-β1.所以我们将杆1杆4去除,只要使β3=β2-β1便不影响末端执行器的位置和姿态。

第二步简化后的图形第三步简化原因:为了使参数更简洁,便于计算。

我们将杆2的第一个关节与第一个旋转轴相交,这样简化的模型更好计算。

不影响总体机构的功能。

最终简化后的机构简图三、建立连杆坐标系。

如下图:四、D-H参数表i αi-1a i-1d iθi1 0 0 0 θ12 -90 0 0 θ23 0 l20 θ34 0 l30 θ45 90 0 0 θ5五、求正运动学公式=======*==*==*=由于平行四边形机构的存在使得== * = * = 所以=== *=雅克比矩阵:==至此正解完成。

六、运动学逆解在此只对位置逆解进行分析,姿态逆解只与有关因此很简单就可以计算出来。

假设我们给出目标位置在0坐标系表示坐标为( X , Y , Z ) ,由变换矩阵我们可以得出:X= ①Y= ②Z= ③用②式除以①式可以得到tan=Y/X利用2幅角反正切公式可以得到=Atan2(y , x)。

①式与③式可以写成如下形式:X/c1= ④-Z= ⑤两式左右两边分别平方相加得到下式:+= ++2c3又因为tan1=Y/X可解得c3=(++--)/2S3=(在此期望值S3大于0,因此取正)再次利用2幅角反正切公式可以得到=Atan2(s3 , c3)。

①③可写成如下形式X/c1=c2-s2 ⑥-z= s2+c2 ⑦式中= += s3r=(,)那么⑥ ⑦式可以写成 X/(rc1)=c( +2) Z/(-r)=s ( +2)所以 + =Atan2(-zc1,X )= Atan2(-zc1,X )- ( , )至此逆解完成 七、轨迹规划:加速度表达式是一个三次多项式,速度表达式是一个四次多项式,位移表达式是一个五次多项式。

设S 为无量纲的运动位移,Γ为无量纲的运动总时间,V 、A 为无量纲的运动速度及加速度,那么3-4-5多项式运动曲线可以简单表示如下:f e d c b a S +Γ+Γ+Γ+Γ+Γ=2345 (3-1) e d 2c 3b 4a 5V 234+Γ+Γ+Γ+Γ= (3-2) e d 26c 12b a 20A 23++Γ+Γ+Γ=(3-3)根据如下边界条件:(1) 当0=Γ时,,,; (2) 当1=Γ时,,,。

将以上边界条件代入上述多项式表达式,可解出多项式的系数,,,,,。

于是,我们得到3-4-5多项式运动曲线的表达式:345Γ+ΓΓ=1015-6S (3-4) 2343060-30V Γ+ΓΓ=(3-5) Γ+ΓΓ=60180-120A 23(3-6)由加速度多项式可解出774.5max =A 。

为了得到带有量纲的多项式运动曲线表达式,我们令其加速度的最大值为m axa ,运行总时间为T ,运行瞬时时刻T ⨯Γ=t ,有)60180120(774.5a 23maxΓ+Γ-Γ=a(3-7)将上式对t 积分得:0=S 0=V 0=A 1=S 0=V 0=A 6a =15b -=10=c 0=d 0=e 0=f)306030(774.5v 234maxΓ+Γ-Γ=T a (3-8)同理有:)10156(774.5s 3452max Γ+Γ-Γ=T a(3-9)由此,当T t =时:2max 2max max1732.0774.5T a T a s s ⋅===(3-10)八、基于matlab simmechanics 工具箱的运动学仿真在matlab 命令窗口中输入 simulink 命令回车 弹出simulink library browser 如下图:新建一个model ,在左侧 libraries 中选择simscape 接着选择simmechanics 将我们见立模型的构建分别拖到model 并组成下图形式 ,其中各模块参数输入如下:环境模块关节模块Body0 的参数Body1的参数Body2的参数Joint actuator的参数驱动函数模块的编程:1、基于末端执行器x,y,z分别按照轨迹规划路径的函数编程function c =sita(t,T,a1,b1,c1,a2,b2,c2)s1=1;s2=1;s3=1;sxmax=abs(a2-a1);axmax=sxmax*5.774/T^2;if a2<a1s1=-1;elseif a2>=a1s1=1;endx=a1+s1*(axmax/5.774)*(6*(t^5)/T^3-15*(t^4)/T^2+10*(t^3)/T); symax=abs(b2-b1);aymax=symax*5.774/T^2;if b2<b1s2=-1;elseif b2>=b1s2=1;endy=b1+s2*(aymax/5.774)*(6*(t^5)/T^3-15*(t^4)/T^2+10*(t^3)/T); sxmax=abs(c2-c1);axmax=sxmax*5.774/T^2;if c2<c1s3=-1;elseif c2>=c1endz=c1+s3*(axmax/5.774)*(6*(t^5)/T^3-15*(t^4)/T^2+10*(t^3)/T); m12=atan2(y,x); %关节1终点时旋转角度l2=850;l3=850;cs32=(x^2+y^2+z^2-l2^2-l3^2)/(2*l2*l3);ss32=sqrt(1-cs32^2);m32=atan2(ss32,cs32); %关节3终点旋转角度k22=l2+l3*cs32;k32=l3*ss32;m22=atan2(-z*cos(m12),x)-atan2(k32,k22); %关节2终点旋转角度sita1=m12*180/pi; %转换成角度制sita2=m22*180/pi;sita3=m32*180/pi;c=[sita1;sita2;sita3];2、基于关节旋转角度分别按照轨迹规划路径的函数编程:function c =sita(t,T,a1,b1,c1,a2,b2,c2)m12=atan2(b2,a2);l2=850;l3=850;cs32=(a2^2+b2^2+c2^2-l2^2-l3^2)/(2*l2*l3);ss32=sqrt(1-cs32^2);m32=atan2(ss32,cs32);k22=l2+l3*cs32;k32=l3*ss32;m22=atan2(-c2*cos(m12),a2)-atan2(k32,k22);m11=atan2(b1,a1);cs31=(a1^2+b1^2+c1^2-l2^2-l3^2)/(2*l2*l3);ss31=sqrt(1-cs31^2);m31=atan2(ss31,cs31);k21=l2+l3*cs31;k31=l3*ss31;m21=atan2(-c1*cos(m12),a1)-atan2(k31,k21);s1=1;s2=1;s3=1;sxmax=abs(m12-m11);axmax=sxmax*5.774/T^2;if m12<m11elseif m12>=m11s1=1;endm1=m11+s1*(axmax/5.774)*(6*(t^5)/T^3-15*(t^4)/T^2+10*(t^3)/T); symax=abs(m22-m21);aymax=symax*5.774/T^2;if m22<m21s2=-1;elseif m22>=m21s2=1;endm2=m21+s2*(aymax/5.774)*(6*(t^5)/T^3-15*(t^4)/T^2+10*(t^3)/T); szmax=abs(m32-m31);azmax=szmax*5.774/T^2;if m32<m31s3=-1;elseif m32>=m31s3=1;endm3=m31+s3*(azmax/5.774)*(6*(t^5)/T^3-15*(t^4)/T^2+10*(t^3)/T); sita1=m1*180/pi;sita11=sita1;if sita11>180sita1=sita11-360;elseif sita11<(-180)sita1=sita11+360;endsita2=m2*180/pi;sita22=sita2;if sita22>180sita2=sita22-360;elseif sita22<(-180)sita2=sita22+360;endsita3=m3*180/pi;sita33=sita3;if sita33>180sita3=sita33-360;elseif sita33<(-180)sita3=sita33+360;endc=[sita1;sita2;sita3];运动学模型建成的效果如下:我们输入初始位移坐标,以及终点位移坐标,末端会根据规划的轨迹由初始位置,移动到末端位置。

九、Matlab动力学的仿真(1)对kuka机器人用solidworks进行建模建成模型如下:(2)安装simmechanicslink插件安装方法:安装方法步骤如下:1.选择对应的solidworks及matlab版本的插件下载(mathwork公司免费),不需要解压然后你打开MATLAB;2. 将下载的两个文件所在目录置为MATLAB当前路径;3. 在MATLAB命令窗口输入install_addon('<add-on ZIP file name>')命令,引号内的是你下载的压缩文件的名字;4. 然后MATLAB就会将这个插件装上的;5.最后在关联solidworks,主要分两步:1)在matlab命令窗口运行smlink_linksw,提示成功;2)打开solidworks,点击工具,选择插件,再选择 SimMechanics Link,将会看到SimMechanics Link新的菜单(注意需要在打开装配体*.SLDASM时才能看到)。

相关文档
最新文档