一种用于在碰撞图层中快速寻找优化曲线的方法技术

技术编号:17008041 阅读:30 留言:0更新日期:2018-01-11 04:12
本发明专利技术提供了一种用于在碰撞图层中快速寻找优化曲线的方法,包括步骤:1)对无碰撞区间中点的求取步骤,即将优化曲线前进过程中与碰撞区域边界相交时的相交点处所对应的刀触点序号的无碰撞区间的中点作为新的优化曲线的起点;2)基于邻域搜索法的单向优化曲线寻找步骤,即从某个无碰撞区间中点出发,在不生成完整碰撞图层的情况下在可靠区域中寻找优化曲线;3)基于递归法的双向优化曲线寻找步骤;4)在整个碰撞碰撞图层中生成优化曲线。本发明专利技术具有灵活实用的特点,大大提高了在碰撞图层中寻找优化曲线的速度与大幅降低了寻找优化曲线过程中的运算量。

【技术实现步骤摘要】
一种用于在碰撞图层中快速寻找优化曲线的方法
本专利技术涉及了一种用于在碰撞图层中快速寻找优化曲线的方法,包括对无碰撞区间中点的求取算法、基于邻域搜索法的单向优化曲线寻找算法、基于递归法的双向优化曲线寻找算法。
技术介绍
机器人在对工件进行加工时,通常会通过CAM软件生成工件的加工路径,然后机器人末端夹持工件或刀具执行该加工路径,对工件进行加工。但随着工件形状的日益复杂,在执行加工路径的过程中,经常会发生碰撞现象,如机器人与刀具发生碰撞,刀具与工件发生碰撞等等。这会令加工的工件报废或者对机器人造成损害。因此对机器人的加工路径时行无碰撞优化就显得十分重要,而优化方法通常是采用碰撞图层法来实现。通过对机器人加工过程的仿真与碰撞检测,得到机器人加工路径的碰撞图层,通过在碰撞图层的可靠区域中寻找一条优化曲线,并将优化曲线转化为机器人的加工路径,实现机器人对工件的无碰撞加工。但生成完整的碰撞图层需要进行大量的碰撞检测,运算量巨大,耗时较长。此时就需要一种在不生成完整的碰撞图层的情况下,在碰撞图层中快速地寻找一条优化曲线,实现机器人的加工路径的无碰撞优化。
技术实现思路
本专利技术提供了一种用于在碰撞图层中快速寻找优化曲线的方法。包括对无碰撞区间中点的求取算法、基于邻域搜索法的单向优化曲线寻找算法、基于递归法的双向优化曲线寻找算法。其中无碰撞区间中点的求取方法解决了当优化曲线遇到碰撞区域时确定新的优化曲线起点煌问题,基于邻域搜索法的单向优化曲线寻找算法解决了在没有完整碰撞图层的情况下寻找优化曲线的问题,基于递归法的双向优化曲线寻找算法解决了在整个碰撞图层中寻找整条优化曲线的问题。本专利技术具有灵活实用的特点,大大提高了在碰撞图层中寻找优化曲线的速度与大幅降低了寻找优化曲线过程中的运算量。本专利技术的目的通过下述技术方案来实现:一种用于在碰撞图层中快速寻找优化曲线的方法,包括步骤:1)对无碰撞区间中点的求取步骤,即将优化曲线前进过程中与碰撞区域边界相交时的相交点处所对应的刀触点序号的无碰撞区间的中点作为新的优化曲线的起点;2)基于邻域搜索法的单向优化曲线寻找步骤,即从某个无碰撞区间中点出发,在不生成完整碰撞图层的情况下在可靠区域中寻找优化曲线;3)基于递归法的双向优化曲线寻找步骤;4)在整个碰撞碰撞图层中生成优化曲线。进一步地,所述的步骤1)具体包括:11)设初始曲线为一条首、末点分别(1,0)、(N,0)的直线,表示初始时,全部刀触点所对应的加工坐标系{M′}在坐标轴中的位置均为d=0;12)机器人从第1个刀触点开始打磨仿真,当打磨到第i个刀触点Pi时,若检测到工件或机器人与刀具的碰撞时,得到位于第i个刀触点Pi处的加工坐标系{M′i}在坐标轴中的若干个无碰撞区间;13)然后求取各个无碰撞区间的中点,在求取无碰撞区间中点时,需要位于第i个刀触点的加工坐标系{M′i}从可行区域d=-A-W/2到d=A+W/2以一定的间隔Δd历遍整个坐标轴并对点(i,d)进行碰撞检测,依次找到每个无碰撞区间的起点与终点,并求取其区间中点,W为砂带的宽度,A为加工坐标系{M′}绕砂带切线旋转α角度的最大值;进一步地,所述的步骤13)中,设i为当前刀触点,列表listmid用于储存无碰撞区间的中点,Δd为加工坐标系{M′}调整的步长,do为无碰撞区间的起点,null为一个大于A+W/2的一个整数,当do≠null时,表示加工坐标系{M′}已经进入的无碰撞区间,则寻找第i个刀触点的无碰撞区间中点的具体步骤包括:131){M′}从坐标轴的区间下限d=-A-W/2开始历遍坐标轴132)如果d∈[-A-W/2,A+W/2],则在碰撞图层中对(i,d)进行碰撞检测;否则转到步骤136);133)如果(i,d)∈CA且do≠null,则令dm=(do+d-Δd)/2,将dm添加到列表listmid中,令do=null,d=d+Δd,转到步骤132);134)如果(i,d)∈CA且do=null,或如果且do≠null,则转到步骤132);135)如果且do=null,则令do=d,转到步骤132);136)如果do=null,则结束寻找,否则令dm=(do+d)/2,将dm添加到列表listmid中,令do=null,结束寻找。进一步地,所述的步骤2)中,21)输入作为优化曲线起点的无碰撞区间中点值mid、搜索范围n=io→it、整数m、机器人初始关节位姿列表Joints、刀触点列表points、初始曲线上的点列表curve,列表中的第i个值curve[i]代表了{M′i}在上的位置;22)计算刀触点序号的增长步长Δi(是1还是-1),令curve[io-Δi]=mid,i=io,d=mid;23)如果i≠it+Δi,则求邻域U(d,m·Δd),将邻域U(d,m·Δd)中的值按大小顺序放入一列表list={d-m·Δ,…,d,d+Δ,…d+m·Δ}中,其中:式中,di是初始曲线中的第i点的点pi的纵坐标,d′i+1是初始曲线中的第i+1点p′i+1的纵坐标;否则返回ilast=it,表示优化曲线寻找成功,结束寻找;24)如果则跳到步骤25);否则在碰撞图层中对(i,curve[i])进行碰撞检测,如果则优化曲线寻找成功,返回ilast=it,结束寻找;如果则跳到步骤25);25)从头到尾历遍list并进行碰撞检测,看是否存在d′∈list且并计算此时的机器人关节位姿θ,如果存在,则令curve[i]=d=d′,Joints[i]=θ,i=i+Δi,跳到步骤23);否则表示优化曲线寻找失败,返回ilast=i,结束寻找。进一步地,所述的步骤3)具体包括:31)输入发生碰撞的刀触点序号iF,并求取第iF个刀触点的无碰撞区间的中点列表list;32)如果列表listmid为空,则返回ir=-1,表明双向优化曲线寻找失败,结束寻找;否则,取出list的首个元素赋值给mid,并删除list中的首个元素,令io=iF-1,it=0;以mid为起点,按n=io→it的顺序,按单身寻找优化曲线的步骤,向后寻找优化曲线,并返回优化结果与ilast;33)如果曲线寻找成功,则跳到步骤34);否则令发生碰撞的刀触点索引n=ilast,递归调用双向优化曲线寻找步骤,并返回ir,如果ir≠-1,则跳到步骤34),否则跳到步骤32);34)令io=iF+1,it=imax,其中imax为最大的刀触点序号,以mid为起点,按n=io→it的顺序,向后寻找优化曲线,并返回优化结果与ilast;35)如果优化成功,则跳到步骤36);否则令发生碰撞的刀触点的索引为n=ilast,递归调用双向优化曲线寻找步骤,并返回ir,如果ir≠-1,则距离Step6,否则跳转到Step2;36)返回ir=ilast,结束寻找。进一步地,所述的步骤4)具体包括:41)输入初始加工坐标系{M′O},打磨路径上的刀触点列表points;42)根据{M′O}与points生成机器人所有关节位姿,并依次放入关节列表Joints中;43)生成轴向路径列表curve,curve为初始曲线上的点的列表,各点分别表示points中的刀触点对应的加工坐标系{M′}在坐标轴上的位置,列表中所有元素的初始值为0;令i=1;44)本文档来自技高网...
一种用于在碰撞图层中快速寻找优化曲线的方法

【技术保护点】
一种用于在碰撞图层中快速寻找优化曲线的方法,其特征在于,包括步骤:1)对无碰撞区间中点的求取步骤,即将优化曲线前进过程中与碰撞区域边界相交时的相交点处所对应的刀触点序号的无碰撞区间的中点作为新的优化曲线的起点;2)基于邻域搜索法的单向优化曲线寻找步骤,即从某个无碰撞区间中点出发,在不生成完整碰撞图层的情况下在可靠区域中寻找优化曲线;3)基于递归法的双向优化曲线寻找步骤;4)在整个碰撞碰撞图层中生成优化曲线。

【技术特征摘要】
1.一种用于在碰撞图层中快速寻找优化曲线的方法,其特征在于,包括步骤:1)对无碰撞区间中点的求取步骤,即将优化曲线前进过程中与碰撞区域边界相交时的相交点处所对应的刀触点序号的无碰撞区间的中点作为新的优化曲线的起点;2)基于邻域搜索法的单向优化曲线寻找步骤,即从某个无碰撞区间中点出发,在不生成完整碰撞图层的情况下在可靠区域中寻找优化曲线;3)基于递归法的双向优化曲线寻找步骤;4)在整个碰撞碰撞图层中生成优化曲线。2.根据权利要求1所述的用于在碰撞图层中快速寻找优化曲线的方法,其特征在于,所述的步骤1)具体包括:11)设初始曲线为一条首、末点分别(1,0)、(N,0)的直线,表示初始时,全部刀触点所对应的加工坐标系{M′}在坐标轴中的位置均为d=0;12)机器人从第1个刀触点开始打磨仿真,当打磨到第i个刀触点Pi时,若检测到工件或机器人与刀具的碰撞时,得到位于第i个刀触点Pi处的加工坐标系{Mi′}在坐标轴中的若干个无碰撞区间;13)然后求取各个无碰撞区间的中点,在求取无碰撞区间中点时,需要位于第i个刀触点的加工坐标系{Mi′}从可行区域d=-A-W/2到d=A+W/2以一定的间隔Δd历遍整个坐标轴并对点(i,d)进行碰撞检测,依次找到每个无碰撞区间的起点与终点,并求取其区间中点,W为砂带的宽度,A为加工坐标系{M′}绕砂带切线旋转α角度的最大值。3.根据权利要求2所述的用于在碰撞图层中快速寻找优化曲线的方法,其特征在于,所述的步骤13)中,设i为当前刀触点,列表listmid用于储存无碰撞区间的中点,Δd为加工坐标系{M′}调整的步长,do为无碰撞区间的起点,null为一个大于A+W/2的一个整数,当do≠null时,表示加工坐标系{M′}已经进入的无碰撞区间,则寻找第i个刀触点的无碰撞区间中点的具体步骤包括:131){M′}从坐标轴的区间下限d=-A-W/2开始历遍坐标轴132)如果d∈[-A-W/2,A+W/2],则在碰撞图层中对(i,d)进行碰撞检测;否则转到步骤136);133)如果(i,d)∈CA且do≠null,则令dm=(do+d-Δd)/2,将dm添加到列表listmid中,令do=null,d=d+Δd,转到步骤132);134)如果(i,d)∈CA且do=null,或如果且do≠null,则转到步骤132);135)如果且do=null,则令do=d,转到步骤132);136)如果do=null,则结束寻找,否则令dm=(do+d)/2,将dm添加到列表listmid中,令do=null,结束寻找。4.根据权利要求1所述的用于在碰撞图层中快速寻找优化曲线的方法,其特征在于,所述的步骤2)中,21)输入作为优化曲线起点的无碰撞区间中点值mid、搜索范围n=io→it、整数m、机器人初始关节位姿列表Joints、刀触点列表points、初始曲线上的点列表curve,列表中的第i个值curve[i]代表了{Mi′}在上的位置;22)计算刀触点序号的增长步长Δi,令curve[io-Δi]=mid,i=io,d=mid;23)如果i≠it+Δi,则求邻域U(d,m...

【专利技术属性】
技术研发人员:张铁苏杰汶
申请(专利权)人:华南理工大学
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1