一种基于VTK的六关节工业机器人参数化建模仿真方法

文档序号:33819025发布日期:2023-04-19 18:31阅读:383来源:国知局
一种基于VTK的六关节工业机器人参数化建模仿真方法

本发明涉及工业机器人离线编程中的建模仿真,特别涉及一种基于vtk的六关节工业机器人参数化建模仿真方法。


背景技术:

1、机器人离线编程技术是利用计算机图形学建立起机器人及它的工作环境模型,通过对图形的控制和操作,在离线的情况下,通过软件仿真产生目标程序代码,将生产相应的机器人代码传输给机器人,让机器人在实际环境中完成相应的任务。离线编程技术克服了在线示教时无法完成复杂任务、安全性低等缺点,具有操作简便、智能化程度高等优势,因此在现代化生产制造中得到了越来越广泛的研究和应用。

2、在做机器人离线编程的实际应用中,存在如下问题:厂商提供的工业机器人离线编程软件,如robotstuidio、roboguide等一般将给定型号的机器人连杆尺寸参数封装在软件内部,不提供对外修改接口,参数无法进行调节。在做高精度加工时,由于机器人实际尺寸与标称尺寸的偏差会导致离线编程的仿真结果偏离实际造成误差,针对这种情况,采用机器人离线编程自主开发是解决的主要途径。

3、针对上述问题,中国发明专利申请“一种常见工业机器人的交互式运动学建模方法”(申请公布号cn 112549026 a)公布了一种常见工业机器人的交互式运动学建模方法,利用roboop机器人库设计了常见工业机器人的运动学建模方法。期刊论文“matlab的六自由度焊接机器人的运动学仿真与轨迹规划”(发表于机械设计与制造工程2018年12期)提供了一种基于matlab/robotics toolbox工具箱建立机器人运动模型,对正运动及轨迹规划进行仿真的方法。上述方法的共同特征是均依赖于第三方工具库进行二次开发,且均基于传统的dh参数建模方法,一定程度上解决了参数化建模的问题,但前者未实现机器人cad可视化三维仿真,而后者虽然结合了三维仿真,但matlab工具箱仅提供抽象的机器人连杆显示,无法形象显示机器人三维形态,影响仿真的逼真显示效果。由此可见,机器人cad建模仿真是离线编程的关键技术之一,自主设计开发实现参数建模与cad可视化仿真相结合是主要难点。


技术实现思路

1、本发明针对现有技术中的不足,提供一种基于vtk的六关节工业机器人参数化建模仿真方法,通过用vtk(visualization toolkit)技术创建可视化仿真环境,实现六关节工业机器人参数化建模仿真的开发。

2、为实现上述目的,本发明采用以下技术方案:

3、一种基于vtk的六关节工业机器人参数化建模仿真方法,包括以下步骤:

4、s1:在三维软件中绘制机器人各连杆部件以及机器人末端安装工具的三维模型,并在机器人零位构型下进行装配,所述零位构型是指各相邻连杆之间的相对转角均为零,且机器人末端安装的工具视为扩展连杆;

5、s2:建立机器人零位构型下的旋量坐标系,并构建连杆之间的变换关系矩阵;

6、s3:通过vtk的可视化流水线在集成开发平台中显示机器人零位构型下各连杆及工具的stl实体;

7、s4:根据工作任务,通过旋量运动学逆解出给定工具末端位姿下对应的机器人旋转关节角;

8、s5:根据机器人旋量正运动学的指数积公式,代入机器人旋转关节角,计算每个连杆部件的运动位姿;

9、s6:基于步骤s5计算的各连杆部件运动位姿,通过vtk空间位置变换流程实现虚拟机器人各运动部件实体的平移和旋转,使各连杆部件由零位构型下的位姿运动到指定工作任务下正确的显示位姿;

10、s7:循环步骤s4-s6,得到在多个指定工作任务下的工具末端位姿,其他各对应连杆部件的位姿仿真运动。

11、为优化上述技术方案,采取的具体措施还包括:

12、进一步地,在步骤s1中,所述机器人为六关节工业机器人,其各连杆部件依次包括基座、腰部、吊杆、肩部、手臂、手腕六个部件模型,并依次将各部件模型编号为1-6,在机器人末端所安装视为扩展连杆的工具,编号为7;保存机器人各连杆部件以及工具模型为对应的stl格式三维实体文件link_h.stl(h=1~7)。

13、进一步地,在步骤s2中所述建立机器人零位构型下的旋量坐标系是根据步骤s1中机器人各连杆部件以及工具的三维模型装配关系,建立机器人零位构型下的旋量坐标系,包括连杆坐标系和旋量坐标两部分;

14、建立连杆坐标系包括:在基座底部处建立基座坐标系{b}(o0-x0y0z0),其中{b}代表基座,o0表示该坐标系原点,x0、y0、z0分别表示该坐标系的x轴、y轴和z轴;在工具的末端处建立工具末端坐标系{t}(ot-xtytzt),其中{t}代表工具末端,ot表示该坐标系原点,xt、yt、zt分别表示该坐标系的x轴、y轴和z轴;除此之外,对机器人中其他各连杆部件以及工具的起始端分别建立各自的连杆坐标系,表示为{gi}(oi-xiyizi)(i=1~6),其中{g1}表示腰部,{g2}表示吊杆,{g3}表示肩部,{g4}表示手臂,{g5}表示手腕,{g6}表示工具,oi表示对应连杆部件所建立的坐标系原点,xi、yi、zi表示对应连杆部件所建立坐标系下的x轴、y轴和z轴;其中,除工具末端坐标系{t}外,其他连杆坐标系的轴方向均与基座坐标系的轴方向相同;

15、建立各连杆部件所在运动关节的旋量坐标ξi(i=1~6),则:

16、腰部所在运动关节的旋量坐标为ξ1=[0,0,0,0,0,1];

17、吊杆所在运动关节的旋量坐标为ξ2=[-a1,0,d1,0,0,1];

18、肩部所在运动关节的旋量坐标为ξ3=[-a1-a2,0,d1,0,1,0];

19、手臂所在运动关节的旋量坐标为ξ4=[0,a1+a2+a3,0,1,0,0];

20、手腕所在运动关节的旋量坐标为ξ5=[-a1-a2-a3,0,d1+d2,0,1,0];

21、工具所在运动关节的旋量坐标为ξ6=[0,a1+a2+a3,0,1,0,0];

22、其中,各运动关节的旋量坐标ξ=[v,ω]是一个6维矢量,其中前3维v表示运动速度矢量,后3维ω表示运动旋转轴方向矢量;a1表示基座坐标系原点至腰部坐标系原点的z轴方向距离,且腰部坐标系原点与吊杆坐标系原点处于同一x轴上;a2表示腰部坐标系原点至肩部坐标系原点的z轴方向距离;a3表示肩部坐标系原点至手臂坐标系原点的z轴方向距离,且手臂坐标系原点、腰部坐标系原点及基座坐标系原点均处于同一z轴上;d1表示基座坐标系原点至吊杆坐标系原点的x轴方向距离;d2表示吊杆坐标系原点至手腕坐标系原点的x轴方向距离,d3表示手腕坐标系原点至工具起始段坐标系原点的x轴方向距离,且工具起始段坐标系原点、手腕坐标系原点、手臂坐标系原点均处于同一x轴上。

23、进一步地,在步骤s2中所述构建连杆之间以及连杆与工具之间的变换关系矩阵具体内容为:

24、设各连杆坐标系{gi}相对于基坐标系{b}的齐次变换矩阵为t0i(θ)(i=1~6);而在零位构型下,各连杆坐标系{gi}相对于基坐标系{b}的齐次变换矩阵为t0i(0)(i=1~6),根据步骤s1建立的各坐标系相对关系,各连杆坐标系的变换矩阵如下:

25、腰部坐标系{g1}相对于基坐系{b}的齐次变换矩阵t01(0)为:

26、

27、吊杆坐标系{g2}相对于基坐系{b}的齐次变换矩阵t02(0)为:

28、

29、肩部坐标系{g3}相对于基坐系{b}的齐次变换矩阵t03(0)为:

30、

31、手臂坐标系{g4}相对于基坐系{b}的齐次变换矩阵t04(0)为:

32、

33、手腕坐标系{g5}相对于基坐系{b}的齐次变换矩阵t05(0)为:

34、

35、工具起始端坐标系{g6}相对于基坐系{b}的齐次变换矩阵t06(0)为:

36、

37、在零位构型下,工具末端坐标系{t}相对于{g6}的变换矩阵记为t6t,通过机器人tcp标定确定。

38、进一步地,步骤s3的具体内容为:

39、通过vtk的可视化流程在集成开发平台中读取和显示机器人的各连杆及工具的stl实体件link_h.stl(h=1~7),用于显示机器人实体三维模型的vtk可视化流程为:1)导入实体文件;2)构建图形数据对象;3)构建映射变换对象;4)构建场景实体对象;5)构建实体对象渲染;6)创建渲染窗口;7)在vs开发平台图形界面显示连杆实体;此时各连杆及工具显示为参考零位下的构型。

40、进一步地,步骤s4的具体内容为:

41、s4.1:根据任务,确定机器人本体的末端变换矩阵t06(θ),内容为:

42、根据任务,给定期望工具末端坐标系{t}相对于基坐标系{b}的位姿为t0t,机器人本体的末端的坐标系,也即工具起始端的坐标系{g6}相对于基坐标系{b}的变换矩阵t06(θ)为:

43、t06(θ)=t0t(t6t)-1;

44、s4.2:机器人的旋转关节角记为θ(θ1,θ2,θ3,θ4,θ5,θ6),θ1-θ6分别表示腰部处所在运动关节的旋转关节角、吊杆处所在运动关节的旋转关节角、肩部处所在运动关节的旋转关节角、手臂处所在运动关节的旋转关节角、手腕处所在运动关节的旋转关节角、工具起始端处所在运动关节的旋转关节;通过旋量逆解子问题计算旋转关节角θ(θ1,θ2,θ3,θ4,θ5,θ6),内容为:

45、(1)旋转关节角θ1:θ1=arctan(±pw1x,±pw1y);

46、式中,pw1=g1p5;g1=t06(θ)t06(0)-1;(pw1x,pw1y)为pw1的x、y轴分量;p5为坐标系{g5}的原点,p5=[d1+d2,0,a1+a2+a3]t;

47、(2)旋转关节角θ2和θ3:

48、式中,p2和p3分别为坐标系{g2}和{g3}的原点,p2=[d1,0,a1]t,p3=[d1,0,a1+a2]t;ω2和ω3分别为旋量坐标ξ2和ξ2的旋转分量,ω2=ω3=[0,1,0]t;

49、(3)旋转关节角θ4和θ5:

50、式中,(q6x,q6y,q6z)为q6的x,y,z轴分量;pw6取为在轴ξ6而不在轴ξ4、ξ5上的一点,取pw6=[0,0,a1+a2+a3]t;

51、(4)旋转关节角θ6,θ6=arctan(a1+a2+a3-qtz,qty);

52、式中,(qtx,qty,qtz)为pt的x,y,z轴分量;p1为坐标系{g1}的原点,p1=[0,0,a1]t。

53、在(1)-(4)中,通过rodrigues公式计算得到。

54、进一步地,步骤s5的具体内容为:

55、根据机器人旋量正运动学的指数积公式,计算除机器人本体末端变换矩阵t06(θ)以外其他每个连杆部件的运动位姿t0i(θ):

56、

57、式中,t0i(0)表示为零位构型中的每个变换矩阵。

58、进一步地,步骤s6的具体内容为:

59、采用vtk空间位置变换流程实现虚拟机器人各运动部件实体的平移和旋转,得到指定工作任务下当前各连杆部件运动后的显示位置,用于机器人实体vtk空间位姿变换的流程为:1)导入连杆模型实体,构建实体vtk图形数据对象;2)构建变换前图形数据变换过滤器对象;3)输入位姿变换数据,设置位姿变换;4)形成变换后图形数据变换过滤器对象;完成上述步骤后,通过步骤s3中的vtk可视化流程显示变换后的连杆实体,进而得到由零位构型下的位姿运动到指定工作任务下正确的显示位姿。

60、一种计算机可读存储介质,存储有计算机程序,所述计算机程序使计算机执行如上述任一项所述的六关节工业机器人参数化建模仿真方法。

61、一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行计算机程序时,实现如上述任一项所述的六关节工业机器人参数化建模仿真方法。

62、本发明的有益效果是:本发明提供的一种基于vtk的六关节工业机器人参数化建模仿真方法,基于机器人旋量坐标系构建了参数化建模,提供了可调连杆参数的建模通用形式和运动学逆解方法。在旋量参数化建模基础上,设计了基于vtk的机器人实体可视化显示和实体位姿变换流程,实现了六关节工业机器人参数化建模仿真的开发,该方法实现了参数建模与cad可视化仿真相结合,对六关节工业机器人具有通用性,有效解决了离线编程的参数调节和cad可视化仿真问题。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1