著录项信息
专利名称 | 凹凸混合复杂多边形农田无人机喷洒作业航迹规划方法 |
申请号 | CN201510096007.2 | 申请日期 | 2015-03-04 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2015-07-29 | 公开/公告号 | CN104808660A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G05D1/02 | IPC分类号 | G;0;5;D;1;/;0;2查看分类表>
|
申请人 | 中南大学 | 申请人地址 | 湖南省长沙市岳麓区麓山南路932号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 中南大学 | 当前权利人 | 中南大学 |
发明人 | 谭冠政;于小民;谭淦;谭冠军 |
代理机构 | 长沙正奇专利事务所有限责任公司 | 代理人 | 马强;王娟 |
摘要
本发明公开了一种凹凸混合复杂多边形农田无人机喷洒作业航迹规划方法,从多边形农田边界的任意一个特征点开始,依次采集多边形农田边界的所有特征点,按照这些特征点的取点顺序依次将相邻的两个点用直线连接起来,生成该多边形农田边界的作业区域;找到作业区域边界的最长边;找到距最长边距离最远的特征点;在最长边和距离最长边最远的特征点之间作N条航迹线;求取所有与航迹线相交的边界线段与航迹线交点的坐标;判断航迹线与边界线段的交点个数,当交点个数大于2时,删除落在作业区域范围之外的航迹线;从距离最长边最近的航迹线开始,依次连接航迹线和侧飞线,得到S形航迹规划线。本发明可以对凹凸混合复杂多边形农田无人机喷洒作业的航迹进行规划。
1.一种凹凸混合复杂多边形农田无人机喷洒作业航迹规划方法,其特征在于,包括以下步骤:
1)从多边形农田边界的任意一个特征点开始,按顺时针方向或者逆时针方向,依次采集多边形农田边界的所有特征点,按照这些特征点的取点顺序依次将相邻的两个特征点用直线连接起来,生成该多边形农田边界的作业区域;
2)计算上述作业区域每条边界线段的长度,找到最长边;
3)找到距离上述最长边距离最远的特征点;
4)在上述最长边和距离最长边最远的特征点之间作一组与所述最长边平行且等间隔的平行线,即得到N条航迹线;
5)寻找与所述航迹线相交的所有边界线段,并求取所有与航迹线相交的边界线段与航迹线交点的坐标;
6)删除航迹线落在作业区域范围以外的部分,具体方法为:对于每一条航迹线,第一步,求解出该航迹线与边界线段的所有交点,在航迹线斜率存在的情况下,再寻找横坐标最小的交点,并把所有的交点按照横坐标从小到大进行排序;在最长边斜率不存在的情况下,则寻找纵坐标最小的交点,并把所有的交点按照纵坐标从小到大进行排序;第二步,保留航迹线上位于第一个交点和最后一个交点之间的线段,而将这个线段之外的部分删除;第三步,当航迹线与边界线段的交点个数大于2时,将第一个交点和最后一个交点之间的线段中所有满足如下条件的线段删除:线段的起点是标号为偶数的交点,线段的终点是与起点相邻的标号为奇数的后一个交点;
7)从距离所述最长边最近的航迹线开始,依次连接航迹线和侧飞线,得到S形航迹规划线,当飞机飞到航迹线与边界线段的交点时,飞机悬停,旋转使机头对准侧飞线方向继续飞行;当飞机飞到侧飞线和下一条航迹线的交点时,飞机悬停并旋转到该下一条航迹线方向继续飞行;所述侧飞线即为连接两条相邻航迹线的边界线段部分。
2.根据权利要求1所述的凹凸混合复杂多边形农田无人机喷洒作业航迹规划方法,其特征在于,所述步骤4)中,相邻两条平行线之间的距离为飞行行距hd。
3.根据权利要求2所述的凹凸混合复杂多边形农田无人机喷洒作业航迹规划方法,其特征在于,N=(Lmax-0.5hd)/hd,Lmax为最长边与距离最长边最远的特征点之间的距离。
4.根据权利要求3所述的凹凸混合复杂多边形农田无人机喷洒作业航迹规划方法,其特征在于,当航迹线与距离最长边最远的特征点之间的距离小于相邻两条航迹线的行间距的时候,那么这条航迹线被认为是最后一条航迹线。
凹凸混合复杂多边形农田无人机喷洒作业航迹规划方法\n技术领域\n[0001] 本发明涉及无人直升机航迹规划领域,特别是一种凹凸混合复杂多边形农田无人机喷洒作业航迹规划方法。\n背景技术\n[0002] 随着科学技术和社会的进步,农业现代化已经成为一个不可逆转的发展趋势,尤其是对于我们这样的农业大国,农业现代化更是提高社会生产力的一个极为重要的途径。\n在三农问题中现代化农业思想的提出也极大地体现了我国对于现代化农业的迫切需求。尤其是针对像农药喷洒这种工作强度大而且还会对人体造成伤害的田间作业,运用科学技术和现代化设备减轻农民的劳作负担,是现代化农业追求的重要目标。\n[0003] 在我国农村现有的条件下,运用小型无人直升机进行农药喷洒是比较现实可行的办法。采用无人驾驶直升机进行农药喷洒作业,不仅作业速度快,而且使用超低容量农药喷洒,还可以节省农药和水资源,减少农作物农药残留和对环境的污染,远程操作还可以减少对施药人员身体的伤害,适用于各种地形,符合我国农田道路现状。\n[0004] 无人直升机在飞行作业过程中需要考虑的因素很多,比如飞行区域、飞行路线、飞行距离、燃料消耗以及飞行安全等。要想无人直升机能够安全高效地执行田间作业任务,航迹规划算法是必不可少的。\n[0005] 传统无人直升机航迹规划有多种方法,如A*搜索法、Voronoi图算法、遗传算法、蚁群算法、栅格数字化算法以及启发式搜索等。A*算法是一种经典的最优启发式搜索算法,一般多用于解决静态规划问题,在路径规划和图搜索中有着广泛的应用。该算法通过启发信息引导搜索,达到减小搜索范围、提高计算速度的目的。利用传统A*算法进行航迹搜索时,通常将规划环境表示为网格的形式,然后按照预先确定的代价函数寻找最小代价航迹。该方法对当前位置的每一个可能到达的网格单元计算代价,然后选择最低代价的网格单元加入搜索空间,加入搜索空间的这一新网格单元又被用来产生更多的可能路径。Voronoi图是计算机几何学中一种重要的几何结构。McLain和Beard等提出了一种基于Voronoi图的多飞行器协同航迹规划方法。首先通过已知的地面雷达或威胁构造Voronoi图,Voronoi图的边界就是所有可飞的航迹,然后给出这些边界的权值,最后搜索最优航迹。遗传算法是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。用遗传算法进行航迹规划的一般步骤是:a)对航迹编码;b)构造合适的航迹评价函数;c)选择适合于航迹规划的遗传算子;d)计算并微调算子来获得最终解。蚁群算法是通过蚂蚁之间的信息交流和相互协作来实现路径搜索,该算法具有很好的通用性和鲁棒性。蚁群算法搜索路径的过程为:a)初始化飞行区域图上所有节点的信息素,形成初始信息素矩阵;b)M只蚂蚁位于起始点A等待出发;c)每只蚂蚁根据状态转移规则选择网格图上的下一个节点,一步一步向前移动,最终到达目标点,形成一条可行航路;\nd)计算各蚂蚁的可行航路的目标函数值,保存最优航路解;e)根据目标函数值,依据信息素调整规则对各节点的信息素进行调整;f)查看最优解,判断是否需要调整信息素挥发因子,如果需要则按一定规则进行相应调整;g)判断是否满足停止条件(即算法是否达到设定的最大迭代次数或最小目标函数值),若满足,则完成搜索;若不满足,则返回步骤b),重复执行,直到满足停止条件为止。栅格数字化算法是利用栅格将作业区域进行数字化处理,然后将栅格信息存储到索引矩阵之中,利用启发式记忆搜索无人机航迹。启发式记忆搜索就是在状态空间中进行搜索并对每一个搜索的位置进行评估,得到最好的位置,再从这个位置进行搜索直至达到目标点。这样可以省略大量无谓的搜索路径,提高搜索效率。\n[0006] 传统的启发式搜索以及其它路径搜索方法,在处理最短可达路径、最佳飞行航迹(时间短、油耗低、安全性高)、避开障碍物等方面拥有各自的优势,但是都不适用于在农田进行农药喷洒作业的航迹规划,这是由农田作业的特殊性决定的,主要表现在:a)无人直升机在农田作业的航迹首先是必须覆盖全部的农田作业区域,这就与传统的最短飞行路径相异;b)在满足作业区域全覆盖的基础上,再进一步考虑在整个区域的飞行路径及飞行方式,即如何飞行才能使作业效率最高;c)农田的形状在很多情况下是不规则的,如何处理不规则农田(比如任意凹凸混合复杂多边形农田)的航迹规划问题,也是农田作业航迹规划算法与传统算法的一大不同之处。\n[0007] 本发明中用到的名词解释如下:\n[0008] 无人直升机:无人驾驶直升机。\n[0009] 航迹规划:飞行器能够满足飞行任务并满足约束条件的飞行轨迹。\n[0010] 农田边界特征点:反映农田边界形状的关键位置点。\n[0011] 航迹线:平铺在农田作业区域上等间隔的一组平行线。\n[0012] 飞行行距:相邻两条航迹线之间的距离,它等于飞机飞行时农药喷洒的宽度(喷幅)。\n[0013] S形飞行航迹:是指无人直升机沿着预定航向飞行进行农药喷洒,到达边界点后侧飞一段距离,再按与原航向相反的方向飞行,由此形成弯曲的S形飞行航迹。\n[0014] 侧飞线:是指无人直升机按照S形轨迹飞行方式将相邻的两条航迹线段同侧的端点连接起来所形成的一段直线。\n[0015] 如图1所示,飞机沿箭头方向飞行的轨迹即为S形飞行航迹。\n发明内容\n[0016] 本发明所要解决的技术问题是,针对上述现有技术的不足,提供一种适用于凹凸混合复杂多边形农田无人机喷洒作业的航迹规划方法。\n[0017] 为解决上述技术问题,本发明所采用的技术方案是:一种凹凸混合复杂多边形农田无人机喷洒作业航迹规划方法,包括以下步骤:\n[0018] 1)从凹凸混合复杂多边形农田边界的任意一个特征点开始,按顺时针方向或者逆时针方向,依次采集多边形农田边界的所有特征点,按照这些特征点的取点顺序依次将相邻的两个点用直线连接起来,生成该多边形农田边界的作业区域;\n[0019] 2)计算上述作业区域每条边界线段的长度,找到最长边;\n[0020] 3)找到距离上述最长边距离最远的特征点;\n[0021] 4)在上述最长边和距离最长边最远的特征点之间作一组与所述最长边平行且等间隔的平行线,即得到N条航迹线;\n[0022] 5)寻找与所述航迹线相交的所有边界线段,并求取所有与航迹线相交的边界线段与航迹线交点的坐标;\n[0023] 6)删除航迹线落在农田区域范围以外的部分:对于每一条航迹线,第一步,求解出它与农田边界所有的交点,在航迹线斜率存在的情况下,再寻找横坐标最小的交点,并把所有的交点按照横坐标从小到大进行排序;在最长边斜率不存在的情况下,则寻找纵坐标最小的交点,并把所有的交点按照纵坐标从小到大进行排序;第二步,将航迹线上位于第一个交点和最后一个交点之间的线段保留,而将这个线段之外的部分删除;第三步,当航迹线与农田边界的交点个数大于2时,对于第一个交点和最后一个交点之间的线段,将其中所有满足如下条件的线段删除:线段的起点是标号为偶数的交点,线段的终点是与起点相邻的标号为奇数的后一个交点,比如第二与第三个交点之间的线段,第四与第五个交点之间的线段,…;\n[0024] 7)从距离所述最长边最近的航迹线开始,依次连接航迹线和侧飞线,得到S形航迹规划线;当飞机飞到航迹线与边界线段的交点时,飞机悬停,旋转使机头对准侧飞线方向继续飞行;当飞机飞到侧飞线和下一条航迹线的交点时,飞机悬停并旋转到该下一条航迹线方向继续飞行;所述侧飞线是指连接相邻两条航迹线同侧端点的边界线段。\n[0025] 所述步骤4)中,相邻两条平行线(相邻两条航迹线)之间的距离为飞行行距hd;N=(Lmax-0.5hd)/hd,Lmax为最长边与距离最长边最远的特征点之间的距离。\n[0026] 当航迹线与距离最长边最远的特征点的距离小于相邻两条平行线的行间距的时候,那么这条航迹线被认为是最后一条航迹线。\n[0027] 与现有技术相比,本发明所具有的突出特点是:本发明可以对无人机在凹凸混合复杂多边形农田执行喷洒作业的航迹进行合理规划,使得在大面积复杂农田区域植保无人机执行精准喷洒作业成为可能,并能有效降低飞行动作的复杂性和无人直升机操控难度,降低能耗,提高喷洒效率。\n附图说明\n[0028] 图1为S形飞行航迹示意图;\n[0029] 图2为本发明实施例相关变量定义示意图;\n[0030] 图3(a)对应N为整数,农田区域内航迹线的数量为N-1以及h=hd的示意图;图3(b)对应农田区域内航迹线的数量为N且h=0.5hd的示意图;图3(c)对应农田区域内航迹线的数量为N且0.5hd<h<hd的示意图;图3(d)对应农田区域内航迹线的数量为N且0<h<0.5hd的示意图;\n[0031] 图4为本发明实施例kzc≥0且ybyy时航迹线平移示意图;\n[0033] 图6为本发明实施例kzc<0且ybyy时航迹线平移示意图;\n[0035] 图8为本发明实施例kzc不存在(即kzc=∞)时航迹线平移示意图;\n[0036] 图9为本发明实施例边界端点示意图;\n[0037] 图10为本发明实施例航迹线与农田边界相交的示意图;\n[0038] 图11为采用本发明方法对无人直升机进行航迹规划的一个实施例。\n具体实施方式\n[0039] 本发明的主要任务是确定一组航迹线(航迹线是从多边形的最长边开始到与最长边相对的农田区域边界的另一侧最远的特征点为止、平行于最长边的一组等间隔的平行线,间隔的宽度设定为飞行行距),并求出这组航迹线与凹凸混合多边形农田边界的交点。\n其实现的主要步骤是:(1)使用一个手持式GPS定位设备采集农田作业区域边界所有特征点(关键位置点)的经纬度坐标并将这些坐标信息发送给一台平板电脑(它是无人直升机飞行的监控与管理设备),平板电脑按照这些特征点的取点顺序依次将相邻的两个点用直线连接起来,生成该多边形农田边界的数学模型,并将农田的边界轮廓显示在平板电脑的屏幕上;(2)采用截距式直线方程y=kx+b的形式建立多边形农田边界每条边的直线方程,并找出多边形边界的最长边;(3)从最长边开始到与最长边相对的农田区域边界的另一侧最远的特征点为止,选取平行于最长边的一组等间隔的平行线作为航迹线,间隔的宽度设定为飞行行距,并采用截距式直线方程y=kx+b的形式以最长边直线方程为基础建立这些航迹线的直线方程;(4)依次求出每一条边界线的两个端点到最长边的距离,以此为基础判断各航迹线与哪些农田边界线相交;(5)根据每条航迹线的直线方程以及与该航迹线相交的农田边界线的直线方程计算出航迹线与农田边界交点的坐标;(6)删除航迹线落在农田区域范围以外的部分,具体方法为:对于每一条航迹线,第一步,求解出它与农田边界所有的交点并进行排序(如果是凸多边形农田,则一条航迹线与农田边界的交点只有2个;而如果是凹凸混合的多边形农田,则一条航迹线与农田边界的交点可能多于2个);第二步,将航迹线上位于第一个交点和最后一个交点之间的线段保留,而将这个线段之外的部分删除;第三步,对于第一个交点和最后一个交点之间的线段,将其中标号为偶数的交点到下一个相邻的标号为奇数的交点之间的线段删除;(7)规划出完整的飞行航迹线,它由第(3)步得到的位于农田作业区域以内等间隔的那组平行线段和一组侧飞线段组成,这里每条侧飞线段是指无人直升机按照S形轨迹飞行方式将相邻的两条平行线段同侧的端点连接起来所形成的一段直线。航迹规划完成后,规划的航迹可以即时显示在平板电脑上,叠加到农田作业区域中。\n[0040] 该方法具体步骤如下:\n[0041] (1)采集农田边界所有的特征点(关键位置点),进行农田边界建模。\n[0042] 从农田边界的任意一个特征点开始,按顺时针方向或者逆时针方向,使用一个手持式GPS定位设备依次采集农田作业区域边界所有特征点的经纬度坐标并将这些坐标信息发送给一台平板电脑(它是无人直升机飞行的监控与管理设备),平板电脑按照这些特征点的取点顺序依次将相邻的两个点用直线连接起来,生成该多边形农田边界的数学模型,并将农田的边界轮廓直观地显示在平板电脑的屏幕上。特征点的选取与数量要确保建模后生成的农田边界轮廓与实际的农田形状相同。如果农田不规则,则应尽可能多采集一些边界特征点,使建模生成的农田边界轮廓具有很高的准确度。\n[0043] (2)计算农田边界每条边界线段的长度,确定出农田边界的最长边,并在XY直角坐标系中将每条边界线段用一个直线方程表示。\n[0044] 每条边界线段的长度可以根据两点之间的距离公式计算得到。例如,设一条边界线段的两个端点分别用Pa(xa,ya)和Pb(xb,yb)表示,则这条边界线段的长度为:\n[0045]\n[0046] 这条边界线段的方程采用截距式直线方程的形式可表示为:\n[0047] y=kx+b (2)\n[0048] 式中,k为直线的斜率,b为直线的截距,它们分别按以下公式计算:\n[0049]\n[0050] b=ya-kxa (4)\n[0051] 通过上述方法可以求出所有各条边界线段的长度以及它们各自对应的直线方程,并可以确定出多边形农田边界的最长边。找出最长边的目的有两个:第一,我们规划的航迹线是一组平行于最长边的平行线,所以最长边是基准边;第二,要以最长边的两个端点为起点,以距离最长边最远的边界特征点为终点,将其间所有各条边界线段的两个端点到最长边的距离计算出来,为后续以最长边为基准进行航迹规划奠定基础。规划的航迹线定义为一组在农田作业区域内等间隔并且平行于最长边的平行线段(参看图2),平行线段之间的间隔通常取为飞行行距(比如,如果飞行时农药喷幅为5米,则飞行行距就等于5米)。之所以取最长边为基准进行航迹规划,主要原因是这样做可以减少飞机侧飞的次数,降低飞行动作的复杂性和飞机操控难度,减轻操作人员的工作强度,降低能耗,提高喷洒效率。\n[0052] (3)确定航迹线的数量N,并求取各条航迹线的直线方程。\n[0053] 如图2所示,设hd代表飞行行距(对于喷药作业,飞行行距即为农药喷洒宽度或喷幅),它等于相邻两条航迹线之间的距离;设hx为hd在X轴上投影的长度,hy为hd在Y轴上投影的长度。\n[0054] 在图2所示的XY坐标系中,设农田边界的最长边的截距式直线方程为:y=kzcx+bzc,其中,下标zc代表“最长边”,kzc为该直线的斜率,bzc为该直线在Y轴上的截距。农田边界上任一个端点(x,y)到该最长边的距离L可以采用以下公式计算:\n[0055]\n[0056] 将农田边界各端点的x、y坐标依次代入公式(5),计算各端点到边界最长边的距离,并对这些距离进行比较,确定出最大距离,该最大距离对应的端点即是离农田边界最长边最远的特征点,将其坐标用(xy,yy)表示。例如在图2中,端点P4即是离农田边界最长边最远的特征点。\n[0057] 假设离边界最长边最远的特征点到最长边的距离为Lmax,则在农田区域内航迹线的数量N可采用以下公式计算:\n[0058]\n[0059] N的值可能为整数,也可能带有小数,下面分有四种情况进行讨论。\n[0060] 如图3所示,设h为离边界最长边最远的特征点与距该点最近的航迹线之间的距离。图3(a)对应N为整数及h=hd的情况,此时农田区域内航迹线的数量为N-1;图3(b)对应h=0.5hd的情况,此时农田区域内航迹线的数量为N;图3(c)对应0.5hdyy时(对应图5所示的情况),各条航迹线可以通过将最长边向右下方平移依次得到。根据截距式直线方程的横坐标左加右减、纵坐标上加下减的规律,可以得到这种情形下各条航迹线的直线方程为:\n[0076] y=kzc(x-Hx)-Hy+bzc=kzc[x-(i-0.5)hd cosα]-(i-0.5)hd sinα+bzc (11)[0077] 式中i代表航迹线序号,i=1,2,…,N。如果是图3(a)对应的N为整数及h=hd情况,则i=1,2,…,N-1。\n[0078] ③当kzc<0且ybyy时(对应图7所示的情况),各条航迹线可以通过将最长边向左下方平移依次得到。根据截距式直线方程的横坐标左加右减、纵坐标上加下减的规律,可以得到这种情形下各条航迹线的直线方程为:\n[0082] y=kzc(x+Hx)-Hy+bzc=kzc[x+(i-0.5)hd cosα]-(i-0.5)hd sinα+bzc (13)[0083] 式中i代表航迹线序号,i=1,2,…,N。如果是图3(a)对应的N为整数及h=hd情况,则i=1,2,…,N-1。\n[0084] 第二种情况:当kzc不存在,即kzc=∞,α=0°时,如图8所示,这种情况下农田边界的最长边是垂直于X轴的直线,同样各条航迹线也都是垂直于X轴的直线。\n[0085] 在这种情况下,各条航迹线可以通过边界的最长边向左或向右平移得到,但此时需要判断离最长边最远的特征点(xy,yy)是在最长边的左边还是右边。\n[0086] 如图8所示,设最长边的一个端点为(xz,yz)。\n[0087] ①当(xy-xz)>0时,各条航迹线是通过将边界的最长边向右平移依次得到,各条航迹线与农田边界交点的x坐标为:\n[0088] x=xz+Hx=xz+(i-0.5)hd (14)\n[0089] 式中i代表航迹线序号,i=1,2,…,N。如果是图3(a)对应的N为整数及h=hd情况,则i=1,2,…,N-1。\n[0090] ②当(xy-xz)<0时,各条航迹线是通过将边界的最长边向左平移依次得到,各条航迹线与农田边界交点的x坐标为:\n[0091] x=xz-Hx=xz-(i-0.5)hd (15)\n[0092] 式中i代表航迹线序号,i=1,2,…,N。如果是图3(a)对应的N为整数及h=hd情况,则i=1,2,…,N-1。\n[0093] (4)判断每条航迹线与哪些农田边界线段相交。\n[0094] 这里给出一个示例,如图9所示。在图9中,P6和P1之间的线段为多边形农田边界的最长边。首先,从最长边的P1一端开始到距离最长边最远的特征点P4为止,计算边界各端点与最长边的距离就是要分别计算出P1和P2、P2和P3、P3和P4这三组相邻的边界端点到最长边的距离;而判断某条航迹线与这三条边界线中的每条有无交点,可以将这条航迹线到最长边的距离与每条边界线的两个端点到最长边的距离进行比较,如果这条航迹线到最长边的距离位于这三条边界线中某条边界线的两个端点到最长边的距离之间,则这条航迹线与这条边界线就有交点;对每条航迹线都进行这样的操作,就可以判断出各条航迹线与P1P2、P2P3、P3P4这三条边界线是否有交点。然后,再从最长边的P6一端开始到距离最长边最远的特征点P4为止,采用上述类似方法,可依次判断出每条航迹线与P6P5、P5P4这两条边界线是否有交点。\n[0095] (5)求取每条航迹线与农田边界线的交点。\n[0096] 根据上述第(3)步可以计算出每条航迹线的直线方程,各航迹线直线方程的斜率都与农田边界的最长边的直线方程的斜率kzc相同。\n[0097] 对于某条航迹线,假设它在Y轴上的截距(即与Y轴交点的纵坐标)为by;再假设与这条航迹线相交的边界线直线方程的斜率为k1(k1≠∞),设该边界线在Y轴上的截距(即与Y轴交点的纵坐标)为b1。那么,这条航迹线与这条边界线的交点坐标可按以下方法求取。\n[0098] ①如果kzc和k1都存在,我们可以利用航迹线与边界线的直线方程求取这两条直线的交点。假设xj代表交点的横坐标,yj代表交点的纵坐标。\n[0099] 航迹线的直线方程为:y=kzcx+by (16)\n[0100] 边界线的直线方程为:y=k1x+b1 (17)\n[0101] 它们的交点的坐标(xj,yj)为:\n[0102] ②如果kzc不存在(即kzc=∞)但k1存在,这种情况下,所有的航迹线连同边界的最长边都与X轴垂直,所以交点的横坐标xj就等于航迹线的横坐标,而交点的纵坐标yj为:\n[0103] yj=k1xj+b1 (19)\n[0104] ③如果kzc存在但k1不存在(即k1=∞),这种情况下,这条边界线与X轴垂直,所以交点的横坐标xj就等于这条边界线的横坐标,而交点的纵坐标yj为:\n[0105] yj=kzcxj+by (20)\n[0106] 根据上述方法,即可确定每条航迹线与农田边界的交点并计算出这些交点的坐标。\n[0107] (6)删除航迹线落在农田区域范围以外的部分。\n[0108] 对于一条航迹线,如果其直线斜率存在,则将它与农田边界的所有交点按照横坐标从小到大的顺序进行排序,并依次命名为J1、J2、…;而如果其直线斜率不存在,则将它与农田边界的所有交点按照纵坐标从小到大的顺序进行排序,并依次命名为J1、J2、…;然后,将航迹线上位于第一个交点和最后一个交点之间的线段保留,而将这个线段之外的部分(它们位于农田区域范围之外)删除。对每条航迹线都进行这种处理,就可以将每条航迹线与农田边界的第一个交点和最后一个交点之外的部分删除掉。\n[0109] 一般情况下,一条航迹线与农田边界的交点是两个,这两个交点之间的直线段位于农田区域之内,是有效的航迹线。但对于凹凸混合多边形农田,一条航迹线可能会与农田边界有两个以上的交点(比如象图10所示的那样),在第一个交点和最后一个交点之间的航迹线段中还有一些部分是位于农田区域范围之外的,它们是航迹线的无效部分,飞机执行喷洒作业时无需飞行,应予以删除。\n[0110] 删除航迹线无效部分的方法是:a)对于一条航迹线,首先判断它与农田边界交点的个数,如果交点个数等于2,那么位于这两个交点之间的航迹线段是有效航迹线,无需进行删除处理;而如果交点个数大于2(如果航迹线与农田边界的一个交点恰好是农田边界的一个特征点,则该点不计入交点个数),那么位于第一个交点和最后一个交点之间的航迹线段中还有些部分是在农田区域范围之外的,需要删除;b)对于交点个数大于2的情况,首先按照上述排序方法对所有的交点进行排序,然后,在第一个交点和最后一个交点之间,从第二个交点开始,依次将标号为偶数的交点到下一个相邻的标号为奇数的交点之间的线段删除(具有这种性质的线段都需要删除,比如第二与第三个交点之间的线段,第四与第五个交点之间的线段,…),因为这些线段都位于农田区域范围之外,它们属于航迹线的无效部分。\n[0111] 对每条航迹线都执行上述操作,就可以删除所有航迹线的无效部分,得到仅位于农田区域范围以内、飞机应该飞行的有效航迹线段。\n[0112] 在图10所示的例子中,某条航迹线与农田边界有四个交点。根据上述方法,因为该航迹线与农田边界的交点个数大于2,所以可判断出该航迹线与农田边界四个交点之间的线段中还有一部分是位于农田区域以外的,需要删除。对于本例,因为该航迹线的斜率存在,所以先按横坐标由小到大的顺序对这四个交点进行排序,排序后各交点依次命名为J1、J2、J3、J4。然后,分两步删除这条航迹线的无效部分:a)删除第一个交点J1左侧的部分和最后一个交点J4右侧的部分,只保留J1和J4之间的线段;b)在J1和J4之间,再将标号为偶数的交点(即J2)到下一个相邻的标号为奇数的交点(即J3)之间的线段J2J3删除,它位于农田区域以外,属于航迹线的无效部分。\n[0113] (7)将所有航迹线和所有侧飞线按顺序连接产生S形的规划航迹。\n[0114] 从距离农田边界最长边最近的第一条航迹线开始,依次连接各条航迹线和各段侧飞线,就可以产生S形的规划航迹线。\n[0115] 实际飞行时,飞机从起点开始,沿第一条航迹线飞行,当飞到第一条航迹线与边界线的交点时,飞机悬停,旋转使机头对准侧飞线的方向,沿侧飞线继续飞行;当飞机飞到侧飞线与第二条航迹线的交点时,飞机悬停,旋转到第二条航迹线的方向,并沿第二条航迹线继续飞行;…,以此类推,一直飞到终点为止,即可完成在给定农田区域的喷洒任务。\n[0116] 图11给出了采用本发明方法对无人直升机进行航迹规划的一个实施例,展示了在一个凹凸混合七边形农田区域上完成的无人直升机航迹规划的结果。在图11中,给出了该农田的边界轮廓,它共有七个边界特征点,依次命名为P1、P2、P3、P4、P5、P6、P7,并规定了飞机飞行的起点和终点。本发明方法要解决的技术问题是,首先要找到该七边形农田边界的最长边,然后以最长边为基础,在农田区域内,规划出一组与最长边平行的航迹线,航迹线相互之间的距离等于飞行行距,其中第1条航迹线与最长边之间的距离等于0.5倍飞行行距。\n这些航迹线规划好之后,加上位于农田边界上的所有侧飞线段,就构成了完整的飞行轨迹。\n飞机从起点出发,只需从第1条航迹线开始,沿箭头所示的S形航迹飞行,就可以完成预定的喷洒任务。
法律信息
- 2017-10-03
- 2015-08-26
实质审查的生效
IPC(主分类): G05D 1/02
专利申请号: 201510096007.2
申请日: 2015.03.04
- 2015-07-29
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |