著录项信息
专利名称 | 一种无人机路径规划方法 |
申请号 | CN201410012975.6 | 申请日期 | 2014-01-13 |
法律状态 | 撤回 | 申报国家 | 中国 |
公开/公告日 | 2014-04-02 | 公开/公告号 | CN103697896A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G01C21/20 | IPC分类号 | G;0;1;C;2;1;/;2;0查看分类表>
|
申请人 | 西安电子科技大学 | 申请人地址 | 陕西省西安市雁塔区太白南路2号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 西安电子科技大学 | 当前权利人 | 西安电子科技大学 |
发明人 | 焦李成;马文萍;居阳;马晶晶;王爽;侯彪;李阳阳 |
代理机构 | 天津市三利专利商标代理有限公司 | 代理人 | 闫俊芬 |
摘要
本发明公开一种无人机路径规划方法,所述方法包括如下步骤:第一步,初始化任务地图,标注起点Start(xstart,ystart)、终点Goal(xgoal,ygoal)和障碍物的坐标,计算出所述无人机的最小安全转向半径R;第二步,设定起点为节点Node[0]和终点为节点Node[-1],查找其它节点坐标,以结构体建立二叉树,第三步,以深度优先左值遍历方法读取二叉树,依次记录节点顺序,将相邻节点间的连线及采用了Dijkstra算法生成的路径存入矩阵Path[]之中。与现有技术相比,提出了一种节点具体标定方法,通过在两点连线上任意位置作垂线,增加了路径的多样性;采用非进化的计算方法,节省了计算时间和存储空间,增加了算法的稳定性。
1.一种无人机路径规划方法,其特征在于,所述方法包括如下步骤:
第一步,初始化任务地图,标注起点Start(xstart,ystart)、终点Goal(xgoal,ygoal)和障碍物的坐标,计算出所述无人机的最小安全转向半径R;
第二步,设定起点为节点Node[0]和终点为节点Node[-1],查找其它节点坐标,以结构体建立二叉树,所述结构体包括变量:节点在原属线上的位置double Position、节点坐标int X,Y、障碍物高度double Height、左子节点node*Child_Left、右子节点node*Child_Right、左父节点node*Father_Left、右父节点node*Father_Right,
其中所述查找其它节点坐标,包括如下步骤:
(1)对于任意Node[i],i=-1、0、1…i,令其与Node[i-1]之间进行连线,所述连线为所述原属线;
(2)判断所述Node[i]与所述Node[i-1]之间的连线距离,
若小于6R并且连线被所述障碍物遮挡,可判定为进入了死角,返回上一层并重新选取Node[i]节点;
若大于6R并且连线被障碍物遮挡,设点K(xk,yk)在连线(Node[i-1],Node[i])上,令K(xk,yk)从Node[i-1]沿该连线步进移动至Node[i],形成数组K[Len];对于K[Len]上每个处于障碍物区域中的点K[i],向连线两侧作垂线H[i],记录其距离障碍物边缘的距离,若该点障碍物延续到地图M[Width][Height]边缘则该侧均不予记录;
(3)在数组H[i]的两侧之中分别选出K[i]到障碍物边缘的距离绝对值最大的一个值,分别记为HMAX1和HMAX2,其对应的点记为K(xMAX1,yMAX1)和K(xMAX2,yMAX2);在点K(xMAX1,yMAX1)和K(xMAX2,yMAX2)上均作高度Height=HMAX的垂线,选取K(xMAX1,yMAX1)和K(xMAX2,yMAX2)两点垂线最短的一个为Node[i+1];判断Node[i+1]到Node[i]和Node[i-1]之间的连线是否有障碍物,若有,则Node[i+1]替换为另外一个点,继续判断Node[i+1]到Node[i]和Node[i-1]之间的连线是否有障碍物,若有,则令Height以 为单位步进(若不
足1则以1为单位步进),继续判断Node[i+1]到Node[i]和Node[i-1]之间的连线是否有障碍物,直至:
(3-A):若Node[i+1]到Node[i]和Node[i-1]之间的连线均无障碍物遮挡;将Height、K(xMAX,yMAX)计入Node[i+1];返回上一级;
(3-B)若Height逐步增大使得K(xMAX,yMAX)进入障碍物区域,则选择另外一个点重复步骤(3),若仍未能找到与Node[i]和Node[i-1]之间无障碍物阻挡的点Node[i+1],进行步骤(3-C);
(3-C)若两侧均无可以直接连通Node[i]和Node[i-1]的点,则搜索一个点Node[i]使之满足其与Node[i]和Node[i-1]的连线中,通过的障碍物区域总和最小。并令重复次数加一:Count=Count+1;
若重复次数Count满足:Count≥Level_Max-Level+1,(Level是该节点所在的二叉树层数,Level_Max是当前构造的二叉树最大层数),则强制使用Dijkstra算法,以Node[i]为起点,Node[i-1]为终点进行路径规划;
若生成了可行路径,则记录路径轨迹,并进行步骤(4)。
若未能生成可行路径,则判定进入了死角。返回步骤(1)并重新选取Node[i]节点。
(4)检查节点Node[i]与左侧父节点Node[i-2]之间的连线上有无障碍物。方法同检查左侧的步骤。
(5)重复上述步骤,完成二叉树建立;
第三步,以深度优先左值遍历方法读取二叉树,依次记录节点顺序,将相邻节点间的连线及采用了Dijkstra算法生成的路径存入矩阵Path[]之中。
2.根据权利要求1所述的无人机路径规划方法,其特征在于,进行路径平滑处理,更新所述路径矩阵,所述进行路径平滑处理的步骤具体包括:对于每个节点Node[i],设点A、B,A、B点从Node[i]开始,沿路径分别向两侧移动,在A、B点上分别向内角方向作高为R的垂线,当二者的垂线末端相交时停止,记交点为O,以O为圆心,R为半径作圆,取弧AB代替A-Node[i]-B折线,并更新Path[]。
3.根据权利要求1或2所述的无人机路径规划方法,其特征在于,所述障碍物包括敌方雷达警戒区和高度超过无人机飞行高度的地形凸起。在地图上将敌方雷达警戒区和高度超过UAV飞行高度的地形凸起标注为障碍物。
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 1 | | 2014-12-03 | 2014-12-03 | | |
2 | | 2016-01-12 | 2016-01-12 | | |
3 | | 2016-01-12 | 2016-01-12 | | |
4 | | 2017-06-13 | 2017-06-13 | | |
5 | | 2015-11-02 | 2015-11-02 | | |
6 | | 2014-11-24 | 2014-11-24 | | |