一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种无人艇路径规划算法的仿真方法和系统与流程

2021-09-22 18:32:00 来源:中国专利 TAG:算法 仿真 路径 规划 智能


1.本发明涉及一种无人艇路径规划算法的仿真方法和系统,属于无人艇智能领域。


背景技术:

2.近年来无人智能领域迅速发展,无人艇的价值逐步被军方和民用市场所看重。目前,无人艇自主驾驶技术已经突破特定场景下的自主作业能力,但在复杂和多变环境中作业问题的成熟解决方案中,仍在积极的探索之中。其中重要的难点在无人艇对周围环境的感知能力。
3.无人艇自主避障算法通过多传感器组合,进行多目标复杂地形的态势构建后,根据任务路径进行动态路径规划。目前,主要的测试方法为实艇测试方法与虚拟仿真方法,但实艇测试存在需要耗费大连人力物力且开发效率低的缺点,目前虚拟仿真方法中很少有针对无人艇研发的方案,且没有加入实艇模型和人为因素的影响。因此需要一种能够考虑到无人艇自身运动特性、人为印度和多目标计算的无人艇自主路径避障规划算法用仿真系统方法


技术实现要素:

4.本发明解决的技术问题是:克服现有技术的不足,提供一种无人艇自主路径避障规划算法的仿真方法,可模拟无人艇在于其他船只发生交叉、相遇、追越、对抗等需要进行避让的场景,仿真效果更佳贴近实际。
5.本发明所采用的技术方案是:一种无人艇路径规划算法的仿真方法,包括步骤如下:
6.(1)初始化仿真目标列表,确定仿真目标列表中各个目标的状态信息,状态信息包括目标类型、大小、初始位置和速度,并定义当前时刻为t
n
时刻,初始状态下n=0;
7.(2)记录t
n
时刻对应的仿真目标列表中各个目标的状态信息;
8.(3)采用路径规划算法,根据输入的任务路径和仿真目标列表中各个目标的t
n
时刻状态信息,计算出规划路径;
9.(4)利用运动仿真方法,根据规划路径和仿真目标列表中各个目标的t
n
时刻的状态信息,计算出仿真目标列表中各个目标在t
n 1
时刻的状态信息;
10.(5)令n=n 1;
11.若未收到结束指令,则延迟δt时间后跳转到步骤(2)中继续执行;
12.若收到结束指令,则记录t
n
时刻对应的仿真列目标列表中各个目标的状态信息,方法结束。
13.所述步骤(1)中:
14.仿真目标列表形式为s={s1,s2,s3,

,s
m
},
15.其中,s
i
表示仿真目标列表中第i个仿真目标的状态信息,m表示仿真目标总数;i=1,2,3,

,m;
16.其中,s
i
的分量形式为:
[0017][0018]
其中,v
n
为目标的北向速度、v
e
为目标东向速度、p
n
为目标北向坐标、p
e
为目标东向坐标,s
a
为目标长轴距离,s
b
为目标短轴距离,k为目标类型;
[0019]
目标类型包括:仿真程序控制目标、路径规划算法控制目标和有人控制目标;
[0020]
在一个仿真过程目标仿真列表中目标数量m≥2,且至少有一个路径规划算法控制目标的目标。
[0021]
所述步骤(4)中,利用运动仿真方法计算仿真目标列表中各个目标t
n 1
时刻状态的方法如下:
[0022]
(4.1)设定i的初始值为1;
[0023]
(4.2)更新仿真目标列表中第i个目标的状态信息;
[0024]
(4.3)如果i 1小于等于m,则i=i 1,重复步骤(4.2);
[0025]
如果i 1大于m,则更新完毕。
[0026]
所述步骤(4.2)中,更新仿真目标列表中第i个目标的状信息的方法如下:
[0027]
根据仿真目标列表中各个目标的类型不同,采用不同的更新方法,具体如下:
[0028]
各个目标的目标长轴距离、目标短轴距离和类型不改变;
[0029]
仿真程序控制目标的状态信息更新方程如下:
[0030][0031]
其中,表示t
n 1
时刻第i个目标状态信息;表示t
n 1
时刻第i个目标的北向速度;表示t
n 1
时刻第i个目标的东向速度;表示t
n 1
时刻第i个目标的北向坐标;
[0032]
表示t
n 1
时刻第i个目标的东向坐标;
[0033]
对于路径规划算法控制目标,将步骤(3)的规划路径和第i个目标的t
n
时刻的状态信息输入无人艇运动模型,计算t
n 1
时刻的第i个目标的状态信息:
[0034][0035]
对于有人控制目标,通过有人控制信号改变有人控制目标的北向速度和东向速度,其具体方法为:
[0036]
[0037]
a=tan2(v
n
,v
e
) δr

δl
[0038][0039][0040]
其中,v和a分别表示改变后的目标合速度和运动方向;分别表示改变后的目标北向速度和东向速度;δf、δb分别对应目标前、后向的速度增量;δr、δl分别对应目标左、右向的角速度速度增量;增量值大小等于外部设备输入的增量大小;
[0041]
其中,relu函数的公式为:
[0042][0043]
x为自变量;
[0044]
t
n 1
时刻的第i个目标的状态信息为:
[0045][0046]
其中,表示t
n
时刻第i个目标改变后的北向速度;表示t
n
时刻第i个目标改变后的东向速度。
[0047]
一种无人艇路径规划算法的仿真系统,包括:
[0048]
第一模块,用于初始化仿真目标列表,确定仿真目标列表中各个目标的状态信息,状态信息包括目标类型、大小、初始位置和速度,并定义当前时刻为t
n
时刻,初始状态下n=0;
[0049]
第二模块,记录t
n
时刻对应的仿真目标列表中各个目标的状态信息;采用路径规划算法,根据输入的任务路径和仿真目标列表中各个目标的t
n
时刻状态信息,计算出规划路径;
[0050]
第三模块,利用运动仿真方法,根据规划路径和仿真目标列表中各个目标的t
n
时刻的状态信息,计算出仿真目标列表中各个目标在t
n 1
时刻的状态信息;
[0051]
令n=n 1;若未收到结束指令,则延迟δt时间后返回调用第二模块继续执行;若收到结束指令,则记录t
n
时刻对应的仿真列目标列表中各个目标的状态信息。
[0052]
所述仿真目标列表形式为s={s1,s2,s3,

,s
m
},
[0053]
其中,s
i
表示仿真目标列表中第i个仿真目标的状态信息,m表示仿真目标总数;i=1,2,3,

,m;
[0054]
其中,s
i
的分量形式为:
[0055][0056]
其中,v
n
为目标的北向速度、v
e
为目标东向速度、p
n
为目标北向坐标、p
e
为目标东向坐标,s
a
为目标长轴距离,s
b
为目标短轴距离,k为目标类型;
[0057]
目标类型包括:仿真程序控制目标、路径规划算法控制目标和有人控制目标;
[0058]
在一个仿真过程目标仿真列表中目标数量m≥2,且至少有一个路径规划算法控制目标的目标。
[0059]
第三模块中,利用运动仿真方法计算仿真目标列表中各个目标t
n 1
时刻状态的方法如下:
[0060]
(4.1)设定i的初始值为1;
[0061]
(4.2)更新仿真目标列表中第i个目标的状态信息;
[0062]
(4.3)如果i 1小于等于m,则i=i 1,重复步骤(4.2);
[0063]
如果i 1大于m,则更新完毕。
[0064]
所述步骤(4.2)中,更新仿真目标列表中第i个目标的状信息的方法如下:
[0065]
根据仿真目标列表中各个目标的类型不同,采用不同的更新方法,具体如下:
[0066]
各个目标的目标长轴距离、目标短轴距离和类型不改变;
[0067]
仿真程序控制目标的状态信息更新方程如下:
[0068][0069]
其中,表示t
n 1
时刻第i个目标状态信息;表示t
n 1
时刻第i个目标的北向速度;表示t
n 1
时刻第i个目标的东向速度;表示t
n 1
时刻第i个目标的北向坐标;
[0070]
表示t
n 1
时刻第i个目标的东向坐标;
[0071]
对于路径规划算法控制目标,将步骤(3)的规划路径和第i个目标的t
n
时刻的状态信息输入无人艇运动模型,计算t
n 1
时刻的第i个目标的状态信息:
[0072][0073]
对于有人控制目标,通过有人控制信号改变有人控制目标的北向速度和东向速度,其具体方法为:
[0074][0075]
a=tan2(v
n
,v
e
) δr

δl
[0076][0077][0078]
其中,v和a分别表示改变后的目标合速度和运动方向;分别表示改变后的目标北向速度和东向速度;δf、δb分别对应目标前、后向的速度增量;δr、δl分别对应目标左、右向的角速度速度增量;增量值大小等于外部设备输入的增量大小;
[0079]
其中,relu函数的公式为:
[0080][0081]
x为自变量;
[0082]
t
n 1
时刻的第i个目标的状态信息为:
[0083][0084]
其中,表示t
n
时刻第i个目标改变后的北向速度;表示t
n
时刻第i个目标改变后的东向速度。
[0085]
本发明与现有技术相比的有益效果是:
[0086]
本发明提出了一种无人艇自主路径避障规划算法用仿真系统方法,具有仿真过程记录功能,仿真运动目标路径显示功能,自主避障算法规划路径显示,无人艇实艇运动学模型。考虑到无人艇自身运动特性、人为因素和多目标计算,可模拟无人艇在于其他船只发生交叉、相遇、追越、对抗等需要进行避让的场景,仿真效果更佳贴近实际。仿真结束后可以通过仿真记录进行回放。改仿真系统方法具有场景可自由编辑,仿真过程可视化,仿真过程中可人为干预。
附图说明
[0087]
图1为本发明方法的流程图。
具体实施方式
[0088]
下面结合附图对本发明做详细说明。
[0089]
如图1所示,一种无人艇路径规划算法的仿真方法,具体步骤如下:
[0090]
(1)初始化仿真目标列表,明确仿真目标列表中各个目标的类型、大小、初始位置和速度,并定义当前时刻为t
n
(n=0)时刻。
[0091]
仿真目标列表形式为s=[s1,s2,s3,

,s
m
},其中s
i
表示列表中第i个仿真目标的状态信息,m表示仿真目标总数,i=1,2,3,

,m。
[0092]
其中s
i
的分量形式为:
[0093][0094]
其中v
n
为目标北向分速度、v
e
为目标东向分速度、p
n
为北向坐标、p
e
为东向坐标,s
a
为目标长轴距离,s
b
为目标短轴距离,k为目标类型。仿真系统中将目标抽象成一个椭圆型,因此需要明确其长轴和短轴的值。
[0095]
目标类型有:仿真程序控制目标(k=0)、路径规划算法控制目标(k=1)和有人控制目标(k=2)。
[0096]
在一个仿真过程仿真列表中目标数量m≥2,且至少有一个路径规划算法控制目标(k=1)的目标。
[0097]
(2)记录t
n
时刻仿真目标列表中各个目标的状态信息。
[0098]
(3)路径规划算法根据输入的任务路径,和仿真目标列表中各个目标的t
n
时刻状态信息,计算出规划路径。
[0099]
(4)利用运动仿真方法,根据规划路径和仿真目标列表中各个目标的t
n
时刻的状态信息,计算出仿真目标列表中各个目标在t
n 1
时刻的状态,方法如下。
[0100]
1)设定i的初始值为1;
[0101]
2)更新仿真目标列表中第i个目标的状态;
[0102]
3)如果i 1小于等于m,则i=i 1重复步骤(2),否则更新完毕。
[0103]
在步骤2)中,根据仿真目标列表中各个目标的类型不同,采用不同的算法,具体如下:其中各个目标的目标长轴距离、目标短轴距离和类型不会改变。
[0104]
1)仿真程序控制目标
[0105]
由于仿真程序控制目标的北向速度和东向速度,在初始化后的不会改变,其状态信息更新方程如下:
[0106][0107]
其中下标中逗号后面的部分表示该状态所在的时刻。
[0108]
其中,表示t
n 1
时刻第i个目标状态信息;表示t
n 1
时刻第i个目标的北向速度;表示t
n 1
时刻第i个目标的东向速度;表示t
n 1
时刻第i个目标的北向坐标;表示t
n 1
时刻第i个目标的东向坐标;
[0109]
2)路径规划算法控制目标
[0110]
路径规划算法控制目标,根据步骤(3)的规划路径,和目标的t
n
时刻的状态,输入无人艇运动模型,计算t
n 1
时刻的状态。
[0111][0112]
其中无人艇运动模型,包含了自动控制学领域内的被控对象建模和控制器设计,可根据其领域内的相关知识构建。
[0113]
3)有人控制目标
[0114]
有人控制目标根据有人控制信号改变该目标的运动速度状态。在仿真的过程中,操作人员可以通过外部设备(键盘、摇杆等)改变有人控制目标的北向速度和东向速度,其具体方法为:
[0115][0116]
a=tan2(v
n
,v
e
) δr

δl
[0117][0118][0119]
其中,v和a分别表示改变后的合速度和运动方向(北向为0,北偏东为正);分别表示改变后的北向速度和东向速度;δf、δb分别对应目标前、后向的速度增量;δr、δl分别对应目标左、右向的角速度速度增量。增量值大小等于设备输入大小。
[0120]
其中relu函数的公式为:
[0121][0122]
下一时刻的状态为:
[0123][0124]
其中,表示t
n
时刻第i个目标改变后的北向速度;表示t
n
时刻第i个目标改变后的东向速度;
[0125]
(5)n=n 1;
[0126]
(6)若未收到结束指令,延迟δt时间后跳转到步骤(2)中继续执行,若收到结束指令,记录t
n
时刻,仿真列目标列表中各个目标的状态信息,并结束。
[0127]
一种无人艇路径规划算法的仿真系统,包括:
[0128]
第一模块,用于初始化仿真目标列表,确定仿真目标列表中各个目标的状态信息,状态信息包括目标类型、大小、初始位置和速度,并定义当前时刻为t
n
时刻,初始状态下n=0;
[0129]
第二模块,记录t
n
时刻对应的仿真目标列表中各个目标的状态信息;采用路径规划算法,根据输入的任务路径和仿真目标列表中各个目标的t
n
时刻状态信息,计算出规划路径;
[0130]
第三模块,利用运动仿真方法,根据规划路径和仿真目标列表中各个目标的t
n

刻的状态信息,计算出仿真目标列表中各个目标在t
n 1
时刻的状态信息;
[0131]
令n=n 1;若未收到结束指令,则延迟δt时间后返回调用第二模块继续执行;若收到结束指令,则记录t
n
时刻对应的仿真列目标列表中各个目标的状态信息。
[0132]
所述仿真目标列表形式为s={s1,s2,s3,

,s
m
},
[0133]
其中,s
i
表示仿真目标列表中第i个仿真目标的状态信息,m表示仿真目标总数;i=1,2,3,

,m;
[0134]
其中,s
i
的分量形式为:
[0135][0136]
其中,v
n
为目标的北向速度、v
e
为目标东向速度、p
n
为目标北向坐标、p
e
为目标东向坐标,s
a
为目标长轴距离,s
b
为目标短轴距离,k为目标类型;
[0137]
目标类型包括:仿真程序控制目标、路径规划算法控制目标和有人控制目标;
[0138]
在一个仿真过程目标仿真列表中目标数量m≥2,且至少有一个路径规划算法控制目标的目标。
[0139]
第三模块中,利用运动仿真方法计算仿真目标列表中各个目标t
n 1
时刻状态的方法如下:
[0140]
(4.1)设定i的初始值为1;
[0141]
(4.2)更新仿真目标列表中第i个目标的状态信息;
[0142]
(4.3)如果i 1小于等于m,则i=i 1,重复步骤(4.2);
[0143]
如果i 1大于m,则更新完毕。
[0144]
所述步骤(4.2)中,更新仿真目标列表中第i个目标的状信息的方法如下:
[0145]
根据仿真目标列表中各个目标的类型不同,采用不同的更新方法,具体如下:
[0146]
各个目标的目标长轴距离、目标短轴距离和类型不改变;
[0147]
仿真程序控制目标的状态信息更新方程如下:
[0148][0149]
其中,表示t
n 1
时刻第i个目标状态信息;表示t
n 1
时刻第i个目标的北向速度;表示t
n 1
时刻第i个目标的东向速度;表示t
n 1
时刻第i个目标的北向坐标;
[0150]
表示t
n 1
时刻第i个目标的东向坐标;
[0151]
对于路径规划算法控制目标,将步骤(3)的规划路径和第i个目标的t
n
时刻的状态
信息输入无人艇运动模型,计算t
n 1
时刻的第i个目标的状态信息:
[0152][0153]
对于有人控制目标,通过有人控制信号改变有人控制目标的北向速度和东向速度,其具体方法为:
[0154][0155]
a=tan2(v
n
,v
e
) δr

δl
[0156][0157][0158]
其中,v和a分别表示改变后的目标合速度和运动方向;分别表示改变后的目标北向速度和东向速度;δf、δb分别对应目标前、后向的速度增量;δr、δl分别对应目标左、右向的角速度速度增量;增量值大小等于外部设备输入的增量大小;
[0159]
其中,relu函数的公式为:
[0160][0161]
x为自变量;
[0162]
t
n 1
时刻的第i个目标的状态信息为:
[0163][0164]
其中,表示t
n
时刻第i个目标改变后的北向速度;表示t
n
时刻第i个目标改变后的东向速度。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜