一种任务进度计算方法、装置及无人机
技术领域
本发明涉及智能控制领域,具体而言,涉及一种任务进度计算方法、装置及无人机。
背景技术
随着无人机智能化程度的提高,其已能够自主完成越来越多路径移动或者操作任务,例如路径规划、物流运输等。目前,在无人机完成位置移动的过程中,操作者仅能通过控制端的灯光、文字、振动等信息或者通过操作界面显示的无人机位置信息获知无人机处于行进状态还是已到达目标位置,无法准确了解无人机当前的任务完成状态,进而无法精准获知采取下一步操作的时机,给无人机的控制带来极大不便。
发明内容
有鉴于此,本发明的目的在于提供一种任务进度计算方法、装置及无人机,以改善上述问题。
本发明较佳实施例提供一种任务进度计算方法,应用于与控制端通信连接的无人机,该方法包括:
获取控制端所设置的任务路径;
根据所述任务路径及该无人机当前的位置信息,计算出任务的完成进度。
本发明另一较佳实施例提供一种任务进度计算装置,运用于与控制算通信连接的无人机,该装置包括:
任务路径获取模块,用于获取控制端所设置的任务路径;及
任务进度计算模块,用于根据所述任务路径及该无人机当前的位置信息,计算出任务的完成进度。
本发明另一较佳实施例提供一种与控制端通信连接的无人机,该无人机包括:
存储器;
处理器;及
任务进度计算装置,该装置安装于所述存储器中并包括一个或多个由所述处理器执行的软件功能模块,该装置包括:
任务路径获取模块,用于获取控制端所设置的任务路径;及
任务进度计算模块,用于根据所述任务路径及该无人机当前的位置信息,计算出任务的完成进度。
本发明提供的任务进度计算方法及装置,在无人机行进于任务路径中时,实时准确的计算出无人机当前的任务完成进度,以使控制端的操作者能够掌握无人机的实时位置,并精准控制无人机的下一步操作。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的一种无人机与控制端的交互示意图;
图2为本发明实施例提供的图1所示的无人机的示意性结构框图;
图3为本发明第一实施例提供的一种任务进度计算方法的流程图;
图4为本发明第一实施例提供的一种任务路径的示意图;
图5为本发明第一实施例提供的另一种任务路径的示意图;
图6为图5所示的任务路径中的一种设置方式;
图7A为本发明第一实施例提供的一种控制端上进度条的显示方式;
图7B为本发明第一实施例提供的另一种控制端上进度条的显示方式;
图8为本发明第二实施例提供的一种任务进度计算方法的流程图;
图9为本发明第三实施例提供的一种任务进度计算装置的功能模块框图。
主要元件符号汇总:
无人机 |
100 |
控制端 |
200 |
存储器 |
110 |
存储控制器 |
120 |
处理器 |
130 |
任务进度计算装置 |
140 |
任务路径获取模块 |
1402 |
任务进度计算模块 |
1404 |
发送模块 |
1406 |
位置判断模块 |
1408 |
方向调整模块 |
1410 |
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
如图1所示,是本发明较佳实施例提供的无人机100与控制端200进行交互的示意图。所述无人机100可通过网络300与所述控制端200通信连接,以实现数据通信或交互。本实施例中,所述控制端200可以是服务器,如web(网络)服务器、数据库服务器、ftp(filetransfer protocol,文件传输协议)服务器等。所述网络300可以是,但不限于,有线网络或无线网络。
如图2所示,是本发明较佳实施例提供的图1所示的无人机100的方框示意图。所述无人机100包括存储器110、存储控制器120、处理器130以及任务进度计算装置140。
所述存储器110、存储控制器120、处理器130各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件之间通过一条或多条通讯总线或信号线实现电性连接。所述任务进度计算装置140包括至少一个可以软件或固件(firmware)的形式存储于所述存储器110中,或固化在所述无人机100的操作***中,或存储于闪存中的软件功能模块。所述处理器130可以在所述存储控制器120的控制下访问所述存储器,以执行所述存储器110中存储的可执行模块,例如任务进度计算装置140所包括的软件功能模块及计算机程序等。
所述处理器130可能是一种集成电路芯片,具有信号的处理能力。该处理器130可以是通用处理器,包括中央处理器、网络处理器等,还可以是数字信号处理器、专用集成电路、现成可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,以用于实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。
请参阅图3,是本发明第一实施例提供的应用于图2所示的无人机100的任务进度计算方法的流程图。所应说明的是,本方法不以图3及以下所示的具体顺序为限制。所述方法有关的流程定义的方法步骤可以由所述处理器130实现。下面将对图3所示的具体流程进行详细阐述。
步骤S101,获取控制端200所设置的任务路径。
本实施例中,无人机100在执行任务前,需要从所述控制端200获取预先设置的任务路径并存储于所述存储器110中。该任务路径至少包括起点坐标和终点坐标。
步骤S103,根据所述任务路径及该无人机100当前的位置信息,计算出任务的完成进度。
本实施例中,所述无人机100当前的位置信息是指其当前的位置坐标。
当无人机100行进于所述任务路径中时,实时计算其自身当前的位置坐标在所述任务路径的走向上距离所述起点坐标的第一距离,或者距离所述终点坐标的第二距离,然后将该第一距离或第二距离除以所述任务路径的总长度,得到所述任务的完成进度。其中,第一距离除以所述任务路径的总长度所得到的数据表示的是无人机100当前已完成的路径长度占任务路径总长度的比例;第二距离除以所述任务路径的总长度所得到的数据表示的是无人机100当前尚未完成的路径长度占任务路径总长度的比例。
如图4所示,不失一般性地,假设于一实施方式中,所述任务路径的起点坐标为(x
1,y
1,z
1),终点坐标为(x
2,y
2,z
2),无人机100当前的位置坐标为(x′,y′,z′),且该任务路径为从所述起点坐标(x
1,y
1,z
1)对应的位置到所述终点坐标(x
2,y
2,z
2)对应的位置的一段直线路径,则可根据计算式
或
计算得到所述任务的完成进度,其中
表示该段任务路径的总长度,
表示无人机100当前的位置坐标距离所述起点坐标的距离,即所述第一距离,
表示无人机100当前的位置坐标距离所述终点坐标的距离,即所述第二距离。
或者,于另一实施方式中,所述任务路径除所述起点坐标(x
1,y
1,z
1)和终点坐标(x
2,y
2,z
2)外,还包括至少一个中间点坐标。如图5所示,不失一般性地,假设该实施例中包括n-1(n≥2)个中间点坐标,分别为(x
11,y
11,z
11),(x
12,y
12,z
12),...,(x
1,n-1,y
1,n-1,z
1,n-1)。将所述n-1个中间点坐标、所述起点坐标和所述终点坐标对应的位置依次连接形成首尾相接的n段直线路径。令S
i,i=1,2,...,n表示第i段路径的长度,当所述无人机100位于第m段路径中时,根据计算式:
或
计算得出所述任务的完成进度,其中,m为大于等于1且小于等于n的正整数,d
m表示所述无人机100的当前位置在所述第m段路径的走向上距离该第m段路径的起始位置的距离,所述起始位置的坐标为一所述中间点坐标,
表示所述第一距离,
表示所述第二距离。需要说明的是,该实施方式中,所述任务路径是由多段首尾相接的直线路径构成,所以S
i,i=1,2,...,n等于第i段路径的首尾坐标间的直线距离,例如以第1段路径为例,
更为具体地,如图6所示,假设n等于5,则所述任务路径一共包括四个中间点坐标,分别为(x
11,y
11,z
11)、(x
12,y
12,z
12)、(x
13,y
13,z
13)以及(x
14,y
14,z
14),且当前无人机100行进于第三段路径中,位置坐标为(x′,y′,z′)。则可根据计算式
或
计算得出所述任务的完成进度,其中
S
1+S
2+d
3表示所述第一距离,S
4+S
5+(S
3-d
3)表示所述第二距离。
需要说的是,在其他实施方式中,所述任务路径还可以包括一段或多段曲线路径。当无人机100行进于该种任务路径中时,同样可根据上述的任务完成进度的计算原理进行计算,但是需要针对不同的曲线路径采用不同的计算方法。
另外,对于任务路径的坐标在某些特定情况下,还可以是二维坐标,甚至是一维坐标。
步骤S105,将计算得到的所述任务的完成进度实时发送至所述控制端200进行显示以提示操作者。
本实施例中,所述无人机100在实时计算得出任务的完成进度后,将所述任务的完成进度发送至控制端200,以使控制端200将接收到的数据映射到进度条中进行显示,以提示操作者该无人机100的实时位置。具体地,当所述无人机100计算的任务的完成进度为当前已完成的路径长度占任务路径总长度的比例时,进度条将以逐渐增加的百分比数据的形式进行显示,当所述无人机100计算的任务的完成进度为当前尚未完成的路径长度占任务路径总长度的比例时,进度条将以逐渐减小的百分比数据的形式进行显示。例如,假设无人机100当前的完成进度为40%,则进度条可以采用图7A或图7B所示的两种方式进行显示。
需要说明的是,在某些实施例中,该步骤S105也可以省略。例如,当无人机100无需将自身的实时位置发送给控制端200,而仅是通过任务完成进度的计算来自行控制进行下一步预设操作时。更具体地,假设无人机100内预存有在任务完成进度为40%时进行录像的指令,则其计算出的任务完成进度无需反馈给控制端200,而是用于进行自我控制。
请参阅图8,是本发明第二实施例提供的另一种任务进度计算方法的流程图,其与第一实施例不同的是,本发明第二实施例提供的任务进度计算方法还包括:
步骤S201,当所述无人机100行进于所述任务路径中时,根据所述终点坐标及该无人机100的当前位置坐标判断所述无人机100是否已完成任务,若未完成,则执行步骤S203,若已完成,则执行步骤S205。
本实施例中,令(x1,...,xp)表示所述终点坐标,(y1,...,yp)表示所述无人机100的当前位置坐标,其中1≤p≤3,且p为正整数。无人机100判断是否已完成任务的方式为,判断|x1-y1|≤ε1,...,|xp-yp|≤εp是否同时成立,若同时成立,则判定所述无人机100已完成任务,若不同时成立,则判定所述无人机100未完成任务,其中ε1,...,εp为预先设定的p个阈值。该p个阈值可以相同,也可以不同。
步骤S203,根据所述终点坐标和当前位置坐标的偏差实时调整所述无人机100的行进方向以使该无人机100的位置坐标逐渐逼近所述终点坐标。
本实施例中,调整所述无人机100的行进方向的方式为,当|xp-yp|>εp时,控制xp维度上的无人机100的方向舵量调整直至|xp-yp|≤εp。
具体地,假设于一实施方式中,p等于3,则所述终点坐标为(x1,x2,x3),无人机100的当前位置坐标(y1,y2,y3),其中x1,y1代表东西方向参量,x2,y2代表南北方向参量,x3,y3代表竖直方向参量。当|x1-y1|>ε1时,调整东西方向的舵量直至|x1-y1|≤ε1以使东西方向就位;当|x2-y2|>ε2时,调整南北方向的舵量直至|x2-y2|≤ε2以使南北方向就位;当|x3-y3|>ε3时,调整竖直方向的舵量直至|x3-y3|≤ε3以使竖直方向就位。
步骤S205,返回任务已完成的提示信息至所述控制端200。
本实施例中,当无人机100到达任务路径的终点时,将返回提示信息至控制终端,以使控制终端通过消息框等文字提示或者振动等方式提示操作者无人机100已完成任务。
需要说明的是,本实施例中,步骤S201只需在步骤S101后执行即可,其与步骤S203之间无严格的先后顺序限制,也可以同时执行。此外,在其他实施例中,当步骤S201中判定无人机已完成任务时,将自动生成相应的任务已完成标志位,此时无人机将不再执行步骤S103和步骤S105。
请参阅图9,是本发明第三实施例提供的所述任务进度计算装置140的功能模块框图。该任务进度计算装置140包括任务路径获取模块1402、任务进度计算模块1404、发送模块1406、位置判断模块1408以及方向调整模块1410。下面将对图9所示的功能模块进行具体阐述。
所述任务路径获取模块1402,用于获取控制端200所设置的任务路径。具体地,该任务路径获取模块1402可用于执行图3所示的步骤S101,具体的操作方法可参照上述对步骤S101的详细描述。
所述任务进度计算模块1404,用于根据所述任务路径及该无人机100当前的位置信息,计算出任务的完成进度。具体地,该任务进度计算模块1404可用于执行图3所示的步骤S103,具体的操作方法可参照上述对步骤S103的详细描述。
所述发送模块1406,用于将计算得到的所述任务的完成进度实时发送至所述控制端200进行显示以提示操作者,还用于返回任务已完成的提示信息至控制端200。具体地,该发送模块1406可用于执行图3所示的步骤S105以及图8所示的步骤S205,具体的操作方法可参照上述对步骤S105和步骤S205的详细描述。
所述位置判断模块1408,用于当所述无人机100行进于所述任务路径中时,根据所述终点坐标及该无人机100的当前位置坐标判断所述无人机100是否已完成任务。具体地,该位置判断模块1408可用于执行图8所示的步骤S201,具体的操作方法可参照上述对步骤S201的详细描述。
所述方向调整模块1410,用于在判定所述无人机100未完成任务时,根据所述终点坐标和当前位置坐标的偏差实时调整所述无人机100的行进方向以使该无人机100的位置坐标逐渐逼近所述终点坐标。具体地,该方向调整模块1410可用于执行图8所示的步骤S203,具体的操作方法可参照上述对步骤S203的详细描述。
综上所述,本发明实施例提供的应用于无人机100的任务进度计算方法及装置,能够实时计算出无人机100当前的任务完成进度,以根据该任务完成进度进行自我控制以执行预先设定的操作,或者将该任务完成进度反馈给控制端200进行显示以提示操作者,使得操作者能够掌握无人机100的实时位置,以对无人机100的下一步操作进行精准控制。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,本文中术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。