采摘机械手离线轨迹智能优化——基于改进差分进化算法
2017-12-16徐庆增杨世凤杨美艳
徐庆增,杨世凤,杨美艳
(天津科技大学a.计算机科学与信息工程学院;b.电子信息与自动化学院,天津 300222)
采摘机械手离线轨迹智能优化
——基于改进差分进化算法
徐庆增a,杨世凤b,杨美艳b
(天津科技大学a.计算机科学与信息工程学院;b.电子信息与自动化学院,天津 300222)
为了提高采摘机械手的采摘效率和轨迹的控制精度,设计了一种新的基于离散编程和改进差分进化算法控制的机械手,提高了机械手的作业效率和对复杂环境的适应能力。由于农业作业环境的复杂性,采用离散编程技术可以得到更好的效益,据此重点对离散编程系统进行了开发,使用SolidWorks软件建立了机器人机械手的三维仿真模型,并利用VB软件实现了SolidWorks库的引用和二次开发,利用VB代码将改进差分进化算法嵌入到了机械手离线编程控制系统中。最后,通过仿真计算得到了不同算法下机械手轨迹控制的计算精度和效率,得到了机械手位置圆弧轨迹,并输出了机械手位置和速度随时间变化的曲线。实验结果表明:改进差分算法可以较好地实现机械手的离线轨迹优化,机械手运动的稳定性较好。
采摘机械手;差分进化;离散编程;轨迹控制;自适应
0 引言
随着社会的发展和人口的增长,农产品的需求也不断增加,传统的作业方式使农业的产能已经达到极限,在这种背景下,产生了新型农业。在新型农业技术中,机器人扮演了重要的角色。农业生产实践证明:机器人的应用可大幅度提高农业生产效率,缓解农业劳动力不足带来的压力;同时,可以使农业生产者远离高温和农药等恶劣的作业环境,作业的质量和成功率都比较高。机器人的离线编程技术是不对机器人的实际操作进行示教,而是在虚拟环境下经仿真调试、通过可行性验证后,将结果直接生成控制代码。离线编程可以降低机器人现场调试的时间,降低使用成本,提高机器人的作业效率,对于采摘机器人复杂运动轨迹规划和碰撞干涉检查等具有重要的意义。
1 基于离散编程技术的采摘机器人设计
在21世纪,要实现农业的可持续发展,需要依赖于精确农业技术的不断进步,因而发达国家普遍性的加大了对精确农业技术的投入力度,开发智能化的机器人以组建精确农业体系。特别是欧美和日本等发达国家,在国家财政和科学技术的支持下,涌现出了各式各样的农业机器人,但采用离线编程技术的农业机器人研究的还比较少。图1为英国Silsoe Technology公司开发的离线编程蘑菇采摘机器人作业过程的场景图。
图1 蘑菇采摘离线编程机器人
机器人主要由4部分组成,包括机器视觉部分、机械臂、执行末端和传送带。机械包括了2个移动关节和旋转关节,移动关节采用气缸驱动,旋转关节采用步进电机驱动。作业时,执行末端将吸盘降低至收获位置,吸住蘑菇后旋转180°,弯曲后将蘑菇成功摘下。为了实现机械手的准确定位,需要对机械手关节位姿与末端位姿的轨迹进行优化。关节和末端的位姿示意如图2所示。
采摘机器人机械手关节位姿和末端位姿的轨迹优化可以利用运动学逆解来实现。其逆解原理是:在机器人末端达到空间位姿的情况下,求出关节控制变量,从而控制各个机构的运动,实现轨迹的跟踪和规划。
图2 关节位姿与末端位姿
图3 关节空间与操作空间映射关系
虽然关节变量都可以找到一组位姿与之相对应,但是对于一个末端的位姿可能存在不同的关节变量,如图3所示。机器人从关节空间到末端是单映射,从末端到关节空间是复映射,根据机器人末端的位姿,可以得到多组解,需要根据一定的算法对多组解进行优化。
2 基于改进差分的机械手优化设计
本文主要利用六自由度并联机器人运动学反解相对容易求解的特点,采用其运动学反解的结果来逼近运动学正解,然后采用改进的自适应差分进化算法来求解六自由度并联机器人运动学正解,其流程如图4所示。
其流程主要由4个步骤组成,包括算法的初始化、适应度函数的确定、进化操作和边界条件的处理。
1)算法的初始化。为了照顾种群的多样性,本研究在六自由度采摘机器人工作空间上,采用统一的概率分布,从而可以均匀地分布在解空间内。其中,染色体采用实数编码的形式,每个个体的染色体生成为
Vjk=lowjk+rand×(highjk-lowjk),
(1)
其中,highjk为遗传基因染色体的上限;lowjk为遗传基因染色体的下限;rand为在区间[0,1]内的随机数;D为遗传的代数;NP为种群中个体的个数。
2)适应度函数的确定。整个差分进化前进方向的依据是适应度函数,利用机器人运动学正解模型,将差分算法随机生成平台运动的正解和机器人实际运动位姿计算出来的绝对值作为自适应差分算法的适应度函数。假设VjG表示要优化的参数,则其表达式为
VjG=(vj1G,vj2G,…,vjkG,…vjnG)=(xρ,yρ,zρ,αρ,βρ,yρ)T
(2)
其中,xρ、yρ、zρ分别为位置坐标;αρ、βρ、γρ为角度坐标,j=1,2,3,...NP,k=1,2,3...,D。假设lp=(xρ,yρ,zρ,αρ,βρ,γρ)T,li=(xi,yi,zi,αi,βi,γi)T,则
(3)
3)进化操作。首先计算每个个体对应的交叉概率和变异率分别为CR和F,然后按照DE/rand/1的测量计算每个新个体,可以得到
Wij=Vr1G+F(Vr2G-Vr3G)
(4)
其中,r1≠r2≠r3≠j为[1,NP]内的随机整数;新的个体W是从V中随机生成的,但是和V没有关系。
4)边界处理。当子代种群存在超过实际机器人运动范围染色体和基因时,需要对染色体进行修正,其公式为
(5)
3 采摘机器人轨迹离线变化优化设计
本研究以六自由度的采摘机器人作为研究对象。该机器人主要是为了完成番茄采摘而设计,为了满足采摘的基本设计需求,其机械手的结构主要由回转体、大臂、小臂、腕部和手爪等组成。
图5为采摘机器人模型。本文主要是对其机械手进行建模,并利用编程的方式引入自适应差分算法,建模软件采用SolidWorks,机械手采用了1个移动副和3个转动副。每个关节都具有零位和正负向的限位开关。其中,控制电机使用编码器编程设计,从而构成了闭环反馈伺服系统。
图4 基于自适应差分进化的机械手优化流程图
图5 果蔬采摘机器人模型
为了引入自适应差分算法,利用VB编程软件对SolidWorks进行了二次开发,从而缩短了开发周期,提高了代码的开发效率。在VB软件中引用SolidWorks类库,将VB程序与SolidWorks软件接口进行连接,其仿真的主要流程如图6所示。
图6中,利用SolidWorks的API接口,可以使用VB编程对采摘机械手进行控制。其基本步骤如下:
1)首先在VB软件里创建ActiveX DLL工程;
2)在创建的工程中添加SolidWorks引用库,从而实现SolidWorks对象和属性的操作;
3)根据机械手所要实现的功能,设计好对应的编程,并将相应的算法插入到SolidWorks系统中;
4)对各个窗体的界面进行编辑,实现窗体的模块功能;
5)生成*.dll文件并注册,将算法集成到SolidWorks中;
6)在SolidWorks环境中使用该算法。
图6 SolidWorks 二次开发流程图
为了验证本文改进的算法的性能,将差分进化算法和遗传算法及差分算法进行了比较。其中,遗传算法使用的种群规模NP=200,变异概率为Pm=0.2,交叉概率为Pc=0.8,将最大的进化次数设置为Nmax=1000。通过计算,得到了如表1所示的计算结果。
表1 机器人正解结果统计
表1中,把进化收敛精度设置为0.1后,使用遗传算法仅在5步后便可得到最优解,但是成功率较低,仅为15%。利用差分算法和自适应差分进化算法在28步后可得到最优解,但是常规差分算法平均需要415.6步才能收敛,而自适应差分进化算法仅需要212.8步便可收敛,计算速度较快,收敛精度较高。
图7 圆弧插补仿真结果
图7表示圆弧插补的仿真结果图。利用编程的方法可以实现直线和圆弧轨迹的规划。当采摘机器人和果实没有障碍物阻挡时,使用直线规划便可以对果实进行抓取;当有障碍物遮挡时,则需要进行圆弧轨迹规划,确保采摘机械手可以顺利躲避障碍物,实现果实的准确抓取。
通过仿真模拟计算,得到的机械手关键位置随时间变化曲线,如图8所示。由图8可以看出:使用自适应差分进化算法得到的关节轨迹是连续的。这说明,电机运行比较平稳,没有出现较大的突变,无冲击现象。
机械手的速度输出曲线如图9表示。由图9可以看出:使用自适应差分进化算法得到的速度是连续的,没有产生较大的突变,提高了机械手动作的稳定性,满足高精度采摘机械手的设计需求。
图8 关键位置输出曲线
图9 机械手速度输出曲线
4 结论与讨论
针对农业作业环境的复杂性,设计了采摘机器人机械手的离散编程系统;采用SolidWorks软件建立了机器人机械手的三维仿真模型,并利用VB对SolidWorks进行了二次开发;最后通过仿真计算,得到了机械手位置圆弧轨迹,绘制了机械手位置和速度随时间变化的曲线。仿真结果表明:使用自适应差分进化算法得到的位姿和速度是连续的,没有产生较大的突变,提高了机械手动作的稳定性。但是,机器人离线编程系统开发是一项系统工程,涉及机械、计算机、自动化多个领域,存在很多需要解决的问题。由于时间和水平的限制,还存在许多不足之处,需要在下一步的研究工作中进行完善。
[1] 陈运鹏,龙慧,刘志杰.我国施肥技术与施肥机械的研究现状及对策[J].农机化研究,2015,37(4):255-260.
[2] 姬江涛,郑治华,杜蒙蒙.农业机器人的发展现状及趋势[J].农机化研究,2014,36(12):1-4.
[3] 乔永亮,何东键,赵川源,等.基于多光谱图像和SVM的玉米田间杂草识别[J].农机化研究,2013,35(8):30-34.
[4] 姬长英,周俊.农业机械导航技术发展分析[J].农业机械学报,2014,45(9):44-54.
[5] 孟庆宽,何洁,仇瑞承,等.基于机器视觉的自然环境下作物行识别与导航线提取[J].光学学报,2014,34 (7):1-7.
[6] 刘金龙,郑泽锋,丁为民,等.对靶喷雾红外探测器的设计与探测距离测试[J].江苏农业科学,2013,41 (7):368-370.
[7] 焦恩璋,陈美宏.工业机器人离线编程研究[J]. 装备制造技术,2009(10):18-19.
[8] 纪超,冯青春,李伟.温室黄瓜采摘机器人系统研制及性能分析[J].机器人,2011, 33(6): 725-730.
[9] 毛可骏,周平,赵匀.基于机器视觉的自主插秧机导航信息的提取研究[J].农机化研究,2009,31(6):63-66.
[10] 刘继展,李萍萍,李智国.番茄采摘机器人末端执行器的硬件设计[J].农业机械学报,2008, 39(3):109-112.
[11] 高峰,李艳,见浪護.基于遗传算法的农业移动机器人视觉导航方法[J].农业机械学报,2008,39(6):127-131.
[12] 刘金龙,丁为民,邓巍.果园对靶喷雾红外探测系统的设计与试验[J].江苏农业科学,2012,40(12):370-372.
[13] 李丽,李恒,何雄奎.红外靶标自动探测器的研制及试验[J].农业工程学报,2012,28(12):159-162.
[14] 裴文超,陈树人,尹东富.基于DSP和单片机的实时对靶喷施除草系统[J].农机化研究,2012,34(1):149-153.
[15] 张俊雄,马锃宏,李伟,等.基于土壤基质的播种精度检测试验研究[J].农业机械学报,2012,43(12):62-66.
[16] 马锃宏,李南,王汉斌,等.温室株间电驱锄草控制系统设计与试验[J].农业机械学报,2015,46(1):89-93.
[17] 张二鹏,马锃宏,耿长兴,等.温室悬挂喷施机跨垄作业控制系统设计[J].中国农业大学学报,2013,18(6): 170-174.
[18] 马锃宏,李南,李涛,等.钵体苗带式供苗移栽机的设计与试验[J].中国农业大学学报,2015,20(3):216-222.
[19] 张春龙,黄小龙,刘卫东,等.苗间锄草机器人信息获取方法的研究[J].农业工程学报,2012,28(9):142-146.
[20] 胡炼,罗锡文,曾山,等.基于机器视觉的株间机械除草装置的作物识别与定位方法[J].农业工程学报,2013,29(10):12-18.
[21] 朱凤武,于丰华,邹丽娜,等.农业机器人研究现状及发展趋势[J].农业工程,2013,3(6):10-13.
[22] 吴岩,杜立宇,高明和,等.农业面源污染现状及其防治措施[J].农业环境与发展,2011(1):64-67.
Intelligent Optimization of Off-line Trajectory of Picking Robot—Based on Improved Differential Evolution Algorithm
Xu Qingzenga,Yang Shifengb, Yang Meiyanb
(a.School of Computer Sciences and Information Engineering; b.College of Electronic Information and Automation, Tianjin University of Science & Technology, Tianjin 300222,China)
In order to improve the efficiency of picking robot and control precision, a new method is designed to improve the operation efficiency and the adaptability to complex environment based on discrete programming and improved differential evolution algorithm. Because of the complexity of the environment of agricultural operations, the use of discrete programming technology can get better benefits. This research focuses on the development of the discrete programming system, using SolidWorks software to build a robot manipulator 3D simulation model, and the use of VB software to achieve the SolidWorks library reference and the two development, the use of VB code to improve the differential evolution algorithm is embedded in the robot hand off line programming control system. At last, the accuracy and efficiency of trajectory control of robot manipulator are obtained by simulation calculation, and the position of the manipulator is obtained. From the surface of the experimental results, the improved differential algorithm can better realize the off-line trajectory optimization of robot manipulators, and the stability of the manipulator is better.
picking manipulator; differential evolution; discrete programming; trajectory control; adaptive
2016-01-18
天津市农业委员会科研项目(0502200 )
徐庆增(1981-),男,内蒙古呼伦贝尔人,实验师,硕士,(E-mail)xqz1981@qq.com。
S225;TP242
A
1003-188X(2017)02-0191-05