基于Java3D和VRML技术的采摘机械手运动仿真研究
2017-03-16罗元成
汪 应,罗元成
(重庆工程职业技术学院,重庆 402260)
基于Java3D和VRML技术的采摘机械手运动仿真研究
汪 应,罗元成
(重庆工程职业技术学院,重庆 402260)
为了实现采摘机器人机械手臂运动虚拟仿真过程的交互性,基于Java3D和VRML虚拟现实技术,提出了一种机械臂交互式三维场景生成及运动仿真系统。为了验证系统的可行性,以采摘机器人机械臂为研究对象,设计了基于采摘机器人机械臂运动仿真系统,并基于网络的特征,通过接口导入机械臂关节的造型文件,实现了采摘机器人机械臂仿真三维虚拟场景创建。对仿真系统进行了实验,结果表明:开发的采摘机器人机械臂三维运动仿真系统可以对采摘路径进行合理的规划,得到和实验基本吻合的轨迹,能够实时地显示关键力矩的变化,为关节结构的优化提供了数据参考。将仿真目标位置和预设位置进行对比发现,最大位置偏差不超过1mm,从而验证了运动模型和算法的可靠性。
采摘机器人;机械手臂;虚拟现实;VRML技术;Java 3D
0 引言
虚拟运动仿真是虚拟产品开发的重要组成部分,在现代制造技术中发挥了巨大的作用。对于采摘机器人机械臂的设计制造,按照传统的方法一般是将机械臂的各个零部件采用自底向上的方式,将零部件全部制造出来,然后将零部件进行装配组合。这种设计制造方式设计出来的机械臂往往会发生零部件干涉,从而导致实际设计出来的产品和设计目标不吻合的缺陷。如果反复修改,会导致设计成本的大幅度上升,延长开发周期。虚拟运动仿真可以借助虚拟现实环境,在设计阶段对产品的缺陷进行仿真,对产品结构进行优化,设计制造出和目标需求相吻合的机械臂产品。
1 采摘机器人机械臂虚拟场景生成技术
采摘机器人机械臂作业三维场景的生成需要依托于虚拟现实技术,当前应用在虚拟系统开发的工具主要有4种,包括OpenGL、Direct3D、Java3D和VRM等。它们可以在网上实现三维可视化建模,且每个软件都有各自的特点。
1)OpenGL图形库。OpenGL的图形库具有开放性,是一种属于底层的三维图形建模,其兼容性能很好,图形编程接口应用广泛,并且性能稳定,运行效率较高。其建模可以通过编程来实现,但编程语言较为复杂,因此开发周期较长。
2)Direct3D图形编程。Direct3D是一种基于应用对象的三维图形编程,利用Direct3D可以不通过图形的显示接口,有效地提高了软件的运行效率,主要使用在游戏的建模和开发上,但其开发难度较大。
3)VRML建模语言。VRML是一种虚拟化的建模语言,可以利用浏览器对建模文件进行解释,从而生成三维图形,还可以通过网络环境形成一个全球互联的虚拟世界,一般和其他建模软件结合使用,才能发挥出虚拟建模的强大功能。
4)Java3D技术。Java3D是SUN开发的一种图形跨平台开发软件,它以Java为基础,提供了较为完善的三维编程语言,其语言形式简单,因此被迅速推广,本研究选用Java3D软件作为虚拟环境的开发工具。
比较以上虚拟建模软件发现:OpenGL图形显示的速度较快,可以达到非常真实感的图形建模,但由于其具有复杂性而使开发周期过长;Direct3D图形编程主要应用在游戏开发场合;VRML文件的格式较小,可以通过脚本和传感器等实现虚拟环境的交互,不过每次实现不同场景时都需要执行解释操作,交互性不好。依据以上分析,通过对比,本次研究采用Java 3D软件为主、VRML为辅的方法,对机械臂作业的虚拟环境进行建模。
图1采用Java 3D建模软件建立的三维虚拟模型实例。利用Java3D不仅可以实现三维软件的建模,而且采用一系列的Interpolator内插,与Alpha对象相结合,可实现各种类型的三维动画程序。利用Alpha对象可以对动画的时间进行操作,利用Interpolator内插器可实现模型在几何空间内的运动控制,可将其应用在采摘机器人机械臂三维动画交互场景中。采摘机器人机械手臂虚拟交互原型系统结构如图2所示。
图1 Java 3D建模实例Fig.1 3D Java modeling examples
图2 采摘机器人机械手臂虚拟交互原型系统结构Fig.2 The virtual interactive prototype system of robot arm for picking robot
采摘机器人机械手臂的虚拟交互系统是根据农业操作人员的需求开发的,将技术员、管理员和客户需求的结果显示在浏览器上,实现实时交互功能。为了实现交互性,使用Web浏览器+ VRML插件工具,使用户可以对可视化模型进行操作,利用Java Applet标识三维虚拟场景中的对象,实现了复杂虚拟环境系统的网络实时交互性控制。
2 采摘机械手轨迹规划和碰撞仿真模型
采摘机器人机械手臂轨迹的规划采用三次多项式的方式来仿真计算,使机器人的机械手臂可以按预设目标轨迹动作。以时间为变量建立光滑的时间函数θ,假设该函数为三次多项式,则
θ(t)=C0+C1t+C2t2+C3t3
(1)
由公式(1)可知:三次多项式共包括了4个待定系数。为了使采摘机器人机械手臂按指定目标运行,需要加上4个约束条件,才能确定这4个系数,利用给定的初始值和目标值,可以作为2个约束条件。为了保证机械臂关节速度函数的连续性,使初始和终止关节速度为0,关节角速度可以由(1)式求导得到,即
(2)
将其实和目标角度与角速度约束条件代入式(1)和式(2)可得
θ(t0)=C0+C1t0+C2t02+C3t03
θ(tf)=C0+C1tf+C2tf2+C3tf3
(3)
(4)
如果采摘机器人通过的是连续的位置点,则需要利用逆运动学原理把中间点转化为期望的关节角度,然后对每个关节求出三次多项式,再根据新的路径约束条件,求解三次多项式。一般描述该三次多项式的4个方程为
θ(0)=C0
θ(tf)=C0+C1tf+C2tf2+C3tf3
(5)
求解方程的系数可得
(6)
利用公式(6),可得符号初始和终止位置及速度的任何三次多项式。除了利用三次多项式对轨迹进行规划外,还需考虑机械手臂关节之间的碰撞作用。
碰撞检测是采摘机械臂仿真系统的重要组成部分,是采摘机械臂动作路径规划和规避障碍物的基础,如图3所示。Java3D提供了碰撞仿真的两个类,其中包括WakeonCollisionEntry和WakeonCollisionExit。当虚拟场景中的任何两个被检测对象发生碰撞时,WakeonCollisionEntry被唤醒;当场景中的碰撞解除时,WakeonCollisionExit被唤醒。基于VRML的碰撞检测系统如图4所示。
图3 采摘机械臂碰撞检测仿真Fig.3 Simulation of the collision detection of picking robot arm
图4 统碰撞检测的基本结构Fig.4 The basic structure of system collision detection
客户在使用过程中,可以根据采摘机械臂的实际设计需求,创建虚拟场景,并将其传送到服务器端。VRML场景中的模型位置和方向被转换成便于碰撞检测的文件,利用SweepandPrune算法剔除掉相隔很远的物体,利用相交原理做精确的碰撞检测。当发生碰撞时,将检测信息返回到客户端,客户端人工或者通过程序算法做出相应的操作,然后更新模型的位置和方向信息。
3 采摘机器人机械手运动仿真
前述内容已经验证了Java在机械手运动过程中使用的可行性,并且建立了三次多项式轨迹规划模型。依据以上理论,采用Java软件,结合VRML技术,采用面向对象的编程技术来实现采摘机器人机械手的建模。
图5为本次仿真依据的黄瓜采摘机器人实际的模型。可通过仿真机器人运动过程的力学性能和运动轨迹,达到优化设计的目的。利用Java3D和VRML建立的采摘机器人仿真模型如图6所示。
图5 黄瓜采摘机器人实际模型Fig.5 The practical model of cucumber picking robot
图6 黄瓜采摘机器人仿真模型Fig.6 The simulation model of cucumber picking robot
对黄瓜采摘机器人机械手臂的仿真主要是对其直线末端运动轨迹的追踪,以此来判断其结构性能的优劣;而利用Java3D完善的API可以对场景进行交互式的仿真,利用鼠标、键盘和图形界面实现人机交互功能。
利用Java3D可以进行图形和客户端的交互功能(即可以预设目标),然后通过轨迹规划来实现运动轨迹的追踪,仿真得到的轨迹如图7所示,在运动过程中的力矩实时曲线如图8所示。
由图8可以看出:利用Java3D和VRML技术可以成功地对采摘机器人机械臂的运动性能参数进行捕捉,且仿真结果和实验结果吻合程度较高,从而验证了仿真的可靠性。
图7 目标位置追踪轨迹仿真Fig.7 Simulation of target position tracking
图8 力矩仿真和实验结果对比Fig.8 Comparison of torque simulation and experimental results表1 期望位置和实际位置结果对比Table 1 Comparison of desired position and actual position
序号期望位置/mmxyz实际位置/mmxyz180.52452.11622.3280.33452.38622.25281.13456.13621.3481.11456.22621.33382.25459.19619.2582.38459.33619.28483.38462.22617.3383.45462.78617.27584.24465.25615.1284.28465.56615.18
表1为利用Java3D和VRML搭建的仿真实验系统对采摘机械臂进行仿真得到的位置结果。通过对机械末端期望结果和实际到达结果的对比发现,最大位置偏差不超过1mm。这说明,运动模型和算法是具有可靠性的。
4 结论
基于Java3D和VRML虚拟现实技术,提出了一种新的采摘机器人虚拟仿真交互式系统,并基于网络特征,采用接口导入造型文件的方法,实现了采摘机器人机械臂仿真三维虚拟场景创建。对仿真系统进行了实验,结果表明:利用Java3D完善的API可对场景进行交互式的仿真,利用鼠标、键盘和图形界面可实现人机交互功能。利用Java3D和VRML技术可成功地对采摘机器人机械臂的运动性能参数进行捕捉,并绘制出机械臂的末端力矩实时曲线。通过对执行末端轨迹的仿真发现,其预设目标位置和实际位置误差低于1mm,从而验证了该仿真系统的可靠性。
[1] 王文庆,张涛,龚娜.基于多传感器融合的自主移动机器人测距系统[J].计算机测量与控制,2013,21(2): 343-345.
[2] 韦伟,周凌翱,刘青.一种便携式的红外测距系统[J].电子设计工程,2011,19(21):40-42.
[3] 刘金帅,赖惠成,贾振红.基于YCbCr颜色空间和Fisher判别分析的棉花图像分割研究[J].作物学报,2011,37(7):1274-1279.
[4] 魏泽鼎,贾俊国,王占永.基于视觉传感器的棉花果实定位方法[J].农机化研究,2012,34(6):66-68.
[5] 张玲玲,贾元华,曹瑾鑫.基于人工势场的交叉口车辆集聚模型[J].北京交通大学学报,2012,36(6):117- 121.
[6] 姬伟,程风仪.基于改进人工势场的苹果采摘机器人机械手避障方法[J].农业机械学报,2013,44(11): 253-259.
[7] 王建鑫,杨涛,李文.基于人工势场法的虚拟夹具建模技术研究[J].工业控制计算机,2013, 26(9): 103-105.
[8] 裴文祥,唐敦兵,顾文斌,等.基于人工势场的车间作业调度应用与研究[J].中国制造业信息化,2012,41 (11):26-30.
[9] 李晓光,姚自强,杨旭.基于人工势场法的迷宫路径搜索算法设计[J].北京交通大学学报,2014,38(5):27- 31.
[10] 王佳.基于人工势场方法的WSN传感覆盖率提高算法[J].传感技术学报, 2012, 25(6):821-825.
[11] 张得涛,王少军,杨智利.转炉倾动系统电机同步控制研究[J].自动化技术与应用, 2013,32(8): 3-5.
[12] 郭叔增.现代印刷技术中的无轴传动系统[J].中国科技信息,2014(2):109-111.
[13] 曹玲芝,马跃军.基于偏差耦合的PMSM滑模变结构同步控制[J].微特电机, 2012,40(9):56-59.
[13] 彭晓燕,刘威,张强.基于改进型偏差耦合结构的多电机同步控制[J].湖南大学学报,2013,40(11):77-83.
[14] 刘金龙,丁为民,邓巍.果园对靶喷雾红外探测系统的设计与试验[J].江苏农业科学,2012,40(12):370-372.
[15] 李丽,李恒,何雄奎.红外靶标自动探测器的研制及试验[J].农业工程学报,2012,28(12):159-162.
[16] 裴文超,陈树人,尹东富.基于DSP和单片机的实时对靶喷施除草系统[J].农机化研究,2012,34(1):149-153.
[17] 张俊雄,马锃宏,李伟,等.基于土壤基质的播种精度检测试验研究[J].农业机械学报,2012,43(12):62-66.
[18] 张姗姗,常德功.VRML和JAVA的结合及其在联轴器设计中的应用[J].机械工程师,2006(6):109-110.
[19] 郭筠.基于VRML的虚拟装配关键技术研究[J].新疆教育学院学报,2006,22(4):113-116.
[20] 李国军,钟志强.VRML与JAVA在网络课件中交互运用分析[J].鞍山师范学院学报,2006,8(4):59-62.
[21] 谢红薇,于晓霞,李三燕,等.Java与VRML结合实现煤矿事故救援系统的交互控制[J].电脑开发与应用,2007,20(1):44-46.
[22] 任继文,吴国栋.面向WEB的齿轮泵虚拟装配技术的研究[J].机床与液压,2006(11):81-84.
[23] 彭高亮,刘文剑,金天国.支持组合夹具虚拟组装的快速碰撞检测方法[J].系统仿真学报,2007,19(13): 2979-2983.
[24] 胡茶根,王晓军,赵刚,等.基于VRML-Java的机械产品虚拟装配技术研究[J].煤矿机械,2007,28(7): 84-86.
[25] 杜培富,刘衍聪.基于Pro/Engineer的直廓环面蜗杆齿面建模[J].石油矿场机械,2008,37(1):40-42.
[26] 高国琴,李明. 基于K-means算法的温室移动机器人导航路径识别[J].农业工程学报,2014,30(7):25-33.
Motion Simulation of Picking Manipulator Based on Java 3D and VRML Technology
Wang Ying, Luo Yuancheng
(Chongqing Vocational Institute of Engineering, Chongqing 402260,China)
In order to realize the picking and the interaction of the robot arm motion virtual simulation process, it proposed a mechanical arm interactive 3D scene generation and motion simulation system based on Java3D and VRML virtual reality technology. In order to validate the system feasibility,taking picking robot manipulator as the research object, based on the picking robot manipulator motion simulation system, based on the characteristics of the network, through the interface to import mechanical arm joint shape file, it realized the picking robot manipulator simulation 3D virtual scene creating. Experiments were conducted on the system simulation.And the results of the experiment show that the development of harvesting robot manipulator 3D motion simulation system can the picking path planning reasonable, experiment and consistent trajectory can real-time display torque change of key and provide reference data for joint structure optimization. It is found that the maximum position deviation is not more than 1mm, and the reliability of the motion model and algorithm is verified by comparing the simulation target position and the preset position.
picking robot; robot arm; virtual reality; VRML technology; 3D Java
2016-08-12
重庆市教育委员会重点项目(1202086)
汪 应(1982-),男,重庆人,高级实验师,硕士,(E-mail)wangyinghp163@126.com。
S225;TP274.2
A
1003-188X(2017)12-0210-05