生成AGV移动曲线的方法及电子设备及存储介质技术

技术编号:38321262 阅读:23 留言:0更新日期:2023-07-29 09:03
本发明专利技术提供一种生成AGV移动曲线的方法,包括输入若干控制点并形成线段集;判断贝塞尔曲线的阶级数n是否大于等于2,若是,则执行运算;按照控制点的顺序,对线段集内按顺序相连的两控制点的线段进行运算,在每条线段上标记控制点An;对各线段上的控制点An进行连线并再取控制点,判断本轮运算的线段上获得的控制点An的个数是否等于1,若是,则m=m+1,并记录该控制点An的坐标为控制点Mn,循环;否则,将获得的若干控制点An更新线段集,循环;当m等于X时,将若干控制点Mn组成贝塞尔曲线的控制点集。本发明专利技术的生成AGV移动曲线的方法,其算法适用性强,且重复利用率高。且重复利用率高。且重复利用率高。

【技术实现步骤摘要】
生成AGV移动曲线的方法及电子设备及存储介质


[0001]本专利技术涉及AGV移动路径规划
,尤其是指一种生成AGV移动曲线的方法及电子设备及存储介质。

技术介绍

[0002]曲线路径规划是AGV移动路径规划中必不可少的部分,由于多阶贝塞尔曲线方式规划出的AGV曲线路径过渡流畅,能提高AGV运行的流畅度,因此现有的曲线路径规划以多阶贝塞尔曲线方式计算为主,但由于在多阶贝塞尔曲线计算过程中,贝塞尔曲线的阶级数每增加一阶(曲线阶级数每增加一阶,曲线涉及的路径控制点增加一个,如曲线涉及的路径控制点为3(可以连成2段连续直线),则曲线阶级数为2,曲线涉及的路径控制点为4(可以连成3段连续直线),则曲线阶级数为3,如此类推),相应的控制点的计算量也以阶乘的形式增长,导致AGV以不同的阶级数规划贝塞尔曲线时,需要就该阶级数设置对应的算法,这降低了算法的重复利用率。

技术实现思路

[0003]本专利技术的目的在于克服现有技术的不足,提供一种生成AGV移动曲线的方法,基于多阶贝塞尔曲线,其算法适用性强,且重复利用率高。
[0004]为了达到上述目的,本专利技术采用以下技术方案:
[0005]生成AGV移动曲线的方法,包括:
[0006]设定X为曲线的点集数量;根据曲线的点集数量X,计算线段控制点连续取点的百分比t,其中t=1/X;
[0007]设定m为循环量参数,m的初始值为1;
[0008]输入若干控制点,将输入的控制点按顺序相连形成一个非闭环的线段集;
[0009]设n为贝塞尔曲线的阶级数,判断n是否大于等于2,若是,则执行下一步,否则,退出运算;
[0010]判断m是否等于X,若是,则执行下一步;若否,则按照控制点的顺序,对线段集内按顺序相连的两控制点的线段进行运算,在每条线段上标记控制点An,其中靠近线段的端点的控制点An与每条线段的端点的距离为d,d=m*t*L,L为控制点An所在线段的长度;对各线段上的控制点An进行连线并再取控制点;判断本轮运算的线段上获得的控制点An的个数是否等于1,若是,则m=m+1,并记录该控制点An的坐标为控制点Mn,循环本步骤;否则,将获得的若干控制点An更新线段集,循环本步骤;
[0011]当m等于X时,输出记录的若干控制点Mn,若干控制点Mn组成贝塞尔曲线的控制点集。
[0012]与现有技术相比,本专利技术的一种生成AGV移动曲线的方法,具有以下有益效果:
[0013](1)本专利技术根据多阶贝塞尔曲线特性,通过对上一周期运算中取得的相邻的控制点连接的线段上按照距离d位置取得新的控制点,并不断更新线段集内的控制点,实现算法
的重复自身调用,并通过多次调用后得出最终多阶贝塞尔曲线路径的控制点,相比于现有的多阶级数规划贝塞尔曲线计算方法,其计算量无需以阶乘的形式增长,且对于不同阶级数的贝塞尔曲线,无需设置对应的算法,本专利技术的算法适用性强(一个算法即可计算出不同阶层的贝塞尔曲线,从而满足不同的阶层贝塞尔曲线的需求),且重复利用率高,以及算法的维护难度低;
[0014](2)本专利技术基于多阶贝塞尔曲线算法,依据多阶贝塞尔曲线的生成原理(根据多阶贝塞尔曲线的阶级),将原来若干条由原始控制点获得的直线线段转换成多段连续且角度渐变的线段,再将上述线段上的控制点按顺序连接以形成多阶贝塞尔曲线;具体为在一个周期内,依次取线段上的对应控制点An并按顺序连接起来,再在新形成的线段上截取新的控制点An并按顺序连接起来,在多次运算后均只获得一条线段,在该线段上只截取一个控制点An作为控制点Mn(即按比例分段取控制点,若干控制点组合成低阶控制点组合,然后一层层向下取控制点,直到能取到的控制点只有一个,则返回并记录该控制点为曲线的控制点集中的控制点之一),即可得出一条由控制点Mn组成的圆滑的移动曲线,使AGV能朝指定方向匀速移动地通过移动曲线所在区域;
[0015](3)本专利技术中,每一周期的运算中,均涉及线段控制点连续取点的百分比t使用,从而使每次收集控制点的计算量以t的倍数递增(m*t,其中m每次运算增加1)进行循环,最终利用多个控制点组成的贝塞尔曲线的控制点集生成n阶贝塞尔曲线,相比于现有的多阶级数规划贝塞尔曲线计算方法中控制点以阶乘递增计算,本专利技术的算法简洁、计算效率高;
[0016](4)本专利技术需先判断贝塞尔曲线的阶级数n是否大于等于2再执行运算(n是整数),若阶级数n小于2,即只有1个和2个控制点(一直线)的情况下,不存在拟订曲线的需求,因此不进行运算操作,从而避免计算资源浪费;
[0017](5)本专利技术设置循环量参数m以记录获得有效控制点An的数量(m其中一个作用相当于进度记录),当有效控制点An的数量等于点集数量X,即运算完成,输出记录的有效控制点An以供曲线的拟订,从而便于工作人员检查计算数据,以对算法进行调整。
[0018]进一步的,路径分段常数X取值范围为100至200中的任一整数。
[0019]路径分段常数X的取值范围影响计算量和曲线的圆滑程度(X越大,计算量越多,X越小,曲线的锯齿越多),为了避免计算量(循环次数过多),同时确保曲线的圆滑处于合适范围(锯齿较少),因此X取值范围限定为100至200中的任一整数。
[0020]进一步的,更新线段集时会删除除首个和尾个控制点外的其他控制点。
[0021]上述设置方式能确保无论计算方法中各种参数如何调整,曲线仍是基于同一起点和同一终点设置的。
[0022]本专利技术的另一目的在于提供一种电子设备,包括处理器和存储器,所述处理器和所述存储器之间相互通信,所述存储器用于存放可执行的指令,所述处理器用于执行所述指令,实现上述的生成AGV移动曲线的方法。
[0023]本专利技术的另一目的在于提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的生成AGV移动曲线的方法。
附图说明
[0024]图1是本专利技术的流程图;
[0025]图2是使用专利技术的方法得出的多阶贝塞尔曲线的示意图。
具体实施方式
[0026]以下结合附图说明本专利技术的实施方式:
[0027]参见图1,本实施例的生成AGV移动曲线的方法,包括:
[0028]设定X为曲线的点集数量;根据曲线的点集数量X,计算线段控制点连续取点的百分比t,其中t=1/X;路径分段常数X取值范围为100至200中的任一整数;
[0029]设定m为循环量参数,m的初始值为1;
[0030]输入若干控制点,将输入的控制点按顺序相连形成一个非闭环的线段集;
[0031]设n为贝塞尔曲线的阶级数(n等于输入的控制点的数量减去1),判断n是否大于等于2,若是,则执行下一步,否则,退出运算;
[0032]判断m是否等于X,若是,则执行下一步;若否,则按照控制点的顺序,对线段集内按顺序相连的两控制点的线段进行运算,在每条线段上标记控制点An,其中靠近线段的端点的控制点An与每条线段的端点的距本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.生成AGV移动曲线的方法,其特征在于,包括:设定X为曲线的点集数量;根据曲线的点集数量X,计算线段控制点连续取点的百分比t,其中t=1/X;设定m为循环量参数,m的初始值为1;输入若干控制点,将输入的控制点按顺序相连形成一个非闭环的线段集;设n为贝塞尔曲线的阶级数,判断n是否大于等于2,若是,则执行下一步,否则,退出运算;判断m是否等于X,若是,则执行下一步;若否,则按照控制点的顺序,对线段集内按顺序相连的两控制点的线段进行运算,在每条线段上标记控制点An,其中靠近线段的端点的控制点An与每条线段的端点的距离为d,d=m*t*L,L为控制点An所在线段的长度;对各线段上的控制点An进行连线并再取控制点;判断本轮运算的线段上获得的控制点An的个数是否等于1,若是,则m=m+1,并记录该控制点An的坐标为控制点M...

【专利技术属性】
技术研发人员:欧阳长志郭海涛周小和
申请(专利权)人:广东嘉腾机器人自动化有限公司
类型:发明
国别省市:

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

1