多目标遗传算法NSGA-II在工业机器人关节空间轨迹优化上的应用

机器人轨迹优化

有多种函数插值可以应用到工业机器人的关节轨迹构造上,包括三次多项式,五次多项式,B样条甚至是NURBS等复杂函数。对于轨迹的优化,存在多种优化方法,智能算法的有遗传算法、粒子群算法、蚁群算法等,经典的算法有序列二次规划法(SQP),相平面法(position-velocity phase plane method),动态规划法(网格法)等。
多目标优化,也就是说,假如对轨迹的时间、能量、脉动等目标进行优化,可以采用两种方式,一种是将各个目标加权求和,作为一个总的目标进行优化,另一种是采用真正的多目标优化算法进行同时优化,譬如NSGA-II算法或者MOPSO多目标粒子群算法,两者各有优劣。
第一种方式可以得到一个优化解,需要人工调整参数,第二种方式有赖于几种多目标优化算法,可以获得一组解集,基本分布在Pareto前沿,可以采用不同的评估准则对解集进行性能评估。

NSGAI-II算法

NSGA-II即是一种经典的多目标优化算法,核心在于快速非支配排序算法,个体拥挤度距离计算,精英保存策略。理解它的重要途径是阅读作者Deb的原文《A Fast and Elitist Multiobjective Genetic Algorithm》。具体算法可以在matlab官网寻找,GitHub也可以。
NSGA-II算法的进化流程如下:
(1)采用合适的方式随机产生初始父代种群P 0 ,种群规模为N,通过交叉变异产生种群大小也为N的子代种群Q 0
(2)父代种群和子代种群共同组成种群R i ;采用快速非支配排序策略,将种群R i 的全部个体进行分层,每一层为一个非支配集F i ;计算每一非支配集的全体局部拥挤度并排序。
(3)按照排序顺序陆续将非支配集包含的个体填充进新的父代种群P i+1 ,当填充的某一级非支配集的全部个体将导致种群大小超过N时,按个体拥挤度大小将部分个体优先填充进种群P i+1 ,直至P i+1 的规模大小为N为止。
(4)P i+1 经过常规的遗传操作生成子代种群Q i+1
(5)如果迭代次数未达到设定值,则再进行2、3、4步的操作。
这里写图片描述
Fig.1. NSGA-II的种群产生过程

轨迹优化重要参考文献

对于各种插值方式在工业机器人关节轨迹与空间轨迹构造上的应用,以及各种轨迹优化方法的应用介绍,可以参考意大利人Gasparetto的综述: Gasparetto, P. Boscariol, A. Lanzutti, R. Vidoni, Path planning and trajectory planning algorithms: A general overview, in: Mech. Mach. Sci., (2015) 3–27. doi:10.1007/978-3-319-14705-5_1.

对于多目标优化算法的Pareto解集的评估准则,可以参考Saravanan的好几篇相似的文献,譬如Saravanan R, Ramabalan S, Balamurugan C. Evolutionary optimal trajectory planning for industrial robot with payload constraints[J]. The International Journal of Advanced Manufacturing Technology, 2008, 38(11): 1213-1226.

应用五次NURBS在机器人关节轨迹构造上,并采用NSGA-II算法做优化,并采用简单的评估准则作解集的评估,可以参考Shi的论文,缺点是他的插值函数带有权重,评估准则也较简单。X. Shi, H. Fang, L. Guo, Multi-objective optimal trajectory planning of manipulators based on quintic NURBS, in: Mechatronics Autom. (ICMA), 2016 IEEE Int. Conf., IEEE, 2016: pp. 759–765. doi: 10.1109/ICMA.2016.7558658.

  • 3
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 12
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值