CN109324635A - 控制命令的响应方法、系统、航拍无人机及存储介质 - Google Patents

控制命令的响应方法、系统、航拍无人机及存储介质 Download PDF

Info

Publication number
CN109324635A
CN109324635A CN201811196861.6A CN201811196861A CN109324635A CN 109324635 A CN109324635 A CN 109324635A CN 201811196861 A CN201811196861 A CN 201811196861A CN 109324635 A CN109324635 A CN 109324635A
Authority
CN
China
Prior art keywords
control command
execution
return information
judgment
executing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201811196861.6A
Other languages
English (en)
Inventor
潘娜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Goertek Robotics Co Ltd
Original Assignee
Goertek Robotics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Goertek Robotics Co Ltd filed Critical Goertek Robotics Co Ltd
Priority to CN201811196861.6A priority Critical patent/CN109324635A/zh
Publication of CN109324635A publication Critical patent/CN109324635A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/10Simultaneous control of position or course in three dimensions
    • G05D1/101Simultaneous control of position or course in three dimensions specially adapted for aircraft

Landscapes

  • Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种控制命令的响应方法,应用于航拍无人机,包括:接收控制命令,并执行所述控制命令,得到包含执行错误原因的返回信息;返回所述返回信息,以根据所述返回信息的执行错误原因确定执行失败的具体原因。本申请响应于控制命令所返回的返回信息中不仅包含执行结果的结论,还包括执行失败的具体错误原因,可根据该具体错误原因快速、准确的定位导致本条控制命令执行失败的具体故障,并快速修复该故障,增加产品开发、测试效率。本申请还同时公开了一种控制命令的响应系统、航拍无人机及计算机可读存储介质,具有上述有益效果。

Description

控制命令的响应方法、系统、航拍无人机及存储介质
技术领域
本申请涉及命令响应技术领域,特别涉及一种控制命令的响应方法、系统、航拍无人机以及计算机可读存储介质。
背景技术
随着科技的发展,控制航拍无人机在空中拍摄目标区域的图像,已成为一种观测目标区域状况、侦查、搜寻目标的新手段,在提升效率的同时也极大的拓展了使用者的视野。
航拍无人机通常是根据控制器(可以是任意与之匹配的电子设备,例如专用控制器、智能移动终端等)发来的控制命令来执行相应的操作,例如打开/关闭摄像头、将镜头聚焦于特定的位置、拍摄视频、画面分辨率等等,在执行完成后,会将执行结果返回至控制器,这一过程被称为数据/信息交换。
现今绝大多数的航拍无人机向控制器返回的执行结果中,仅包括非常简单的、笼统的结论,例如执行成功、执行失败这两种非常宽泛的结论,相较于相对唯一的执行成功结果,相当数量的影响因素都会导致执行失败,在无法根据该执行结果准确定位具体失败原因的情况下,只能一一变更所有可能导致执行失败的影响因素,在产品开发、测试的过程中,会为产品故障发现和修复提供极大的障碍,极大的降低了故障发现和解决的效率。
发明内容
本申请的目的在于提供一种应用于航拍无人机的控制命令的响应方法,可快速、准确的定位导致本条控制命令执行失败的具体故障,并快速修复该故障,增加产品开发、测试效率。
本申请的另一目的在于还提供了一种应用于航拍无人机的控制命令的响应系统、航拍无人机及计算机可读存储介质
为实现上述目的,本申请提供一种控制命令的响应方法,应用于航拍无人机,该响应方法包括:
接收控制命令,并执行所述控制命令,得到包含执行错误原因的返回信息;
返回所述返回信息,以根据所述返回信息的执行错误原因确定执行失败的具体原因。
可选的,执行所述控制命令,得到包含执行错误原因的返回信息,包括:
从所述控制命令中提取得到命令类别信息和命令具体参数,并根据所述命令类别信息确定目标命令类别;
确定与所述目标命令类别对应的执行判断集;其中,所述执行判断集中包含预设数量的执行判断条件;
利用所述执行判断集中的各执行判断条件分别判断所述命令具体参数是否满足执行要求;
若存在不满足执行要求的目标执行判断条件,使用与所述目标执行判断条件对应的执行错误原因生成所述返回信息。
可选的,使用与所述目标执行判断条件对应的执行错误原因生成所述返回信息,包括:
确定与所述目标执行判断条件对应的目标执行错误原因;
使用与所述目标执行错误原因对应的目标错误代码生成所述返回信息。
可选的,生成的返回信息中除所述目标错误代码外,还包括:
表示所述控制命令的发送者的命令发送者代码、与所述目标命令类别对应的目标命令类别代码。
可选的,该响应方法还包括:
依次将所述命令发送者代码、所述目标命令类别代码、所述目标错误代码按照高字节到低字节的顺序进行排列。
可选的,当所述目标命令类别为拍照类时,确定与所述目标命令类别对应的执行判断集,包括:
确定与所述拍照类对应的拍照执行判断集;
对应的,利用所述执行判断集中的各执行判断条件分别判断所述命令具体参数是否满足执行要求,包括:
利用所述拍照执行判断集中的各拍照执行判断条件判断拍照具体参数是否满足执行要求;
对应的,若存在不满足执行要求的目标执行判断条件,使用与所述目标执行判断条件对应的执行错误原因生成所述返回信息,包括:
若存在不满足执行要求的目标拍照执行判断条件,使用与所述目标拍照执行判断条件对应的拍照错误原因生成所述返回信息。
可选的,接收控制命令,包括:
接收JSON格式的控制命令;
对应的,得到包含执行错误原因的返回信息,包括:
得到包含所述执行错误原因的JSON格式的返回信息。
为实现上述目的,本申请还提供了一种控制命令的响应系统,应用于航拍无人机,该响应系统包括:
控制命令接收及执行单元,用于接收控制命令,并执行所述控制命令,得到包含执行错误原因的返回信息;
返回信息返回单元,用于返回所述返回信息,以根据所述返回信息的执行错误原因确定执行失败的具体原因。
可选的,所述控制命令接收及执行单元包括:
信息提取及目标命令类别确定子单元,用于从所述控制命令中提取得到命令类别信息和命令具体参数,并根据所述命令类别信息确定目标命令类别;
目标执行判断集确定子单元,用于确定与所述目标命令类别对应的执行判断集;其中,所述执行判断集中包含预设数量的执行判断条件;
执行要求判断子单元,用于利用所述执行判断集中的各执行判断条件分别判断所述命令具体参数是否满足执行要求;
返回信息生成子单元,用于当存在不满足执行要求的目标执行判断条件时,使用与所述目标执行判断条件对应的执行错误原因生成所述返回信息。
可选的,所述返回信息生成子单元包括:
目标执行错误原因确定模块,用于确定与所述目标执行判断条件对应的目标执行错误原因;
错误代码生成返回信息模块,用于使用与所述目标执行错误原因对应的目标错误代码生成所述返回信息。
可选的,所述错误代码生成返回信息模块还包括:
额外信息增加子模块,用于在生成的返回信息中除所述目标错误代码外,增加表示所述控制命令的发送者的命令发送者代码、与所述目标命令类别对应的目标命令类别代码。
可选的,所述错误代码生成返回信息模块还包括:
排序子模块,用于依次将所述命令发送者代码、所述目标命令类别代码、所述目标错误代码按照高字节到低字节的顺序进行排列。
可选的,所述目标执行判断集确定子单元包括:
拍照执行判断集确定模块,用于当所述目标命令类别为拍照类时,确定与所述拍照类对应的拍照执行判断集;
对应的,所述执行要求判断子单元包括:
拍照命令执行要求判断模块,用于利用所述拍照执行判断集中的各拍照执行判断条件判断拍照具体参数是否满足执行要求;
对应的,所述返回信息生成子单元包括:
拍照命令返回信息生成模块,用于当存在不满足执行要求的目标拍照执行判断条件时,使用与所述目标拍照执行判断条件对应的拍照错误原因生成所述返回信息。
可选的,所述控制命令接收及执行单元包括:
JSON命令接收子单元,用于接收JSON格式的控制命令;
对应的,所述控制命令接收及执行单元包括:
JSON命令返回信息得到子单元,用于得到包含所述执行错误原因的JSON格式的返回信息。
为实现上述目的,本申请还提供了一种航拍无人机,该航拍无人机包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述内容所描述的控制命令的响应方法。
为实现上述目的,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述内容所描述的控制命令的响应方法。
显然,本申请所提供的应用于航拍无人机的控制命令的响应方法,响应于控制命令所返回的返回信息中不仅包含执行结果的结论,还包括执行失败的具体错误原因,可根据该具体错误原因快速、准确的定位导致本条控制命令执行失败的具体故障,并快速修复该故障,增加产品开发、测试效率。本申请同时还提供了一种控制命令的响应系统、航拍无人机及计算机可读存储介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种应用于航拍无人机中的控制命令的响应方法的流程图;
图2为本申请实施例提供的响应方法中一种如何根据接收到的控制命令得到包含执行错误原因的返回信息的流程图;
图3为在实施例二的基础上具体提供的一种根据接收到的拍照命令得到包含拍照命令执行失败的执行错误原因的返回信息的流程图;
图4为本申请实施例提供的一种应用航拍无人机中的控制命令的响应系统的结构框图;
图5为本申请实施例提供的响应系统中一种控制命令接收及执行单元的结构框图。
具体实施方式
本申请的核心是提供一种应用于航拍无人机的控制命令的响应方法、系统、航拍无人机及计算机可读存储介质,响应于控制命令所返回的返回信息中不仅包含执行结果的结论,还包括执行失败的具体错误原因,可根据该具体错误原因快速、准确的定位导致本条控制命令执行失败的具体故障,并快速修复该故障,增加产品开发、测试效率。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
实施例一
请参见图1,图1为本申请实施例提供的一种应用于航拍无人机中的控制命令的响应方法的流程图,需要说明的是,本实施例的执行主体为航拍无人机,该航拍无人机将在与其建立有数据连接的控制器的控制下,执行相应的功能操作来实现相应的功能,其具体包括以下步骤:
S101:接收控制命令,并执行控制命令,得到包含执行错误原因的返回信息;
航拍无人机接收控制器发来的控制命令,并执行该控制命令,得到包含执行错误原因的返回信息。其中,发来的控制命令和执行后得到的返回信息可以根据不同的实际应用场景表现为不同的数据交换格式,例如JSON(JavaScript Object Notation)格式、XML(eXtensible Markup Language)格式、YAML(Yet Another Markup Language)格式,它们通过文本以不同且特定的形式来进行描述数据。
应当理解的是,能够根据控制命令执行相应的操作,必然能够从该控制命令中提取得到目标操作、如何执行目标操作的必要信息,这些必要信息可以在不同应用场景和不同实际要求下以不同的表现形式存在于该控制命令中。例如这部分信息可以表现为命令类别信息和命令具体参数(以JSON格式的控制命令为例,这部分信息可以为:"type":"takepicture","pic_num":"2",其中,"type"指命令类别的名称,"takepicture"指命令类别的值为拍照类,"pic_num"指拍照类别下具体为拍照数量的名称,"2"指拍照数量的值具体为2张),命令类别信息用于限定将要执行的操作的大类,以航拍无人机为例,类别可以包括拍照、摄像、数据传输、连接信息调整等等类别,而命令具体参数则是在由命令类别信息确定的目标命令类别下包含的一些具体参数,例如在拍照命令类别下,拍照的张数、拍照的方式、连拍的时间间隔等均属于该拍照命令类别下的命令具体参数。
当然,除以此种层级的划分的方式得到必要信息的方式外,也可以采用其它方式(同级具体参数等)来从该控制命令中提取得到如何执行后续操作的内容,此处并不做具体限定。
航拍无人机在执行接收到的控制命令时,从该控制命令中提取得到执行何种操作、如何执行该操作的必要信息后,将会按照与这些必要信息对应的执行判断逻辑来判断是否满足执行该操作的各种执行要求,例如在执行一个拍两张照片的拍照要求时,其可能包含的具体执行判断逻辑可能包括:(1)SD卡(存储已照照片的存储器)是否有足够的剩余空间;(2)SD卡是否可读写;(3)拍照模组是否可以正常工作等等,在判断过程中,可能有一些执行判断逻辑会存在依赖关系,使得为满足该依赖关系需要以特定的先后顺序来依次判断,在其它不存在依赖关系的执行判断逻辑中,也可以以并行的方式同时进行多条执行判断逻辑的判断,此处并不做具体限定,可以根据具体情况下的多条执行判断逻辑间的关系、设定以及性能要求进行灵活选择。
通常情况下,只有当满足目标操作的所有执行判断逻辑均被满足时,才能够成功执行该目标操作,若其中有一条不满足,将会得到执行失败的返回信息,并同时将具体哪一条不满足的信息作为执行错误原因包含于该返回信息中一并返回给控制器。进一步的,若同时不满足多条执行判断逻辑时,还可以返回多条执行错误原因,也可以根据优先级选取其中一条优选的不满足的执行判断逻辑的执行错误原因进行返回,此处并不做具体限定。
更进一步的,由于通常情况下,无论哪种数据交换格式下的返回信息通常都会有长度限制,因此为了将执行错误原因以更短的长度、完整的包含于返回信息中,还可以提前为不同执行错误原因制定一个错误代码对应表,以直接将与目标执行错误原因对应的错误代码包含于返回信息中的方式来实现将错误原因返回至控制器的目的。
返回信息中除包含与执行错误原因对应的错误代码外,还可以包含一些其它的信息使得控制器可根据接收到的返回信息获知更多的参数,例如控制命令的发送方的识别码、命令类别代码等等。同时,考虑到读取信息的方式,还可以按一定的顺序排列这些代码,其中一种为从高字节至低字节依次排列发送方识别码、命令类别代码、错误代码以符合信息读取顺序的方式获得更好的信息读取效果。当然,在实际应用场景可能存在的特殊要求下,也可以灵活改变,此处并不做具体限定。
需要说明的是,当直接使用书写功能代码的方式(例如在命令提示框中手动书写控制命令,而非直接点击封装好的功能控制按钮的形式,常见于复杂功能的控制和底层配置参数的调整)向航拍无人机发送控制命令时,还有可能因书写者的不可靠性导致控制命令存在各种格式上的错误,例如某个特定的字符串拼写错误、未按照特定格式进行书写等等,这样书写出来的控制命令将在被航拍无人机执行之前,因无法解析导致无法被执行,也就无法提取得到执行目标操作的必要信息,此时可以返回一个包含解析错误原因的返回信息,由于解析失败的故障相对较少,可以不必包含复杂的解析错误原因。
S102:返回返回信息,以根据返回信息的执行错误原因确定执行失败的具体原因。
在S101的基础上,本步骤旨在将S101得到的包含执行错误原因的返回信息返回至控制器,以使控制器根据返回信息的执行错误原因确定执行失败的具体原因,并及时进行针对性的故障修复,使得效率得到提升。
基于上述技术方案,本申请实施例提供了一种控制命令的响应方法,响应于控制命令所返回的返回信息中不仅包含执行结果的结论,还包括执行失败的具体错误原因,可根据该具体错误原因快速、准确的定位导致本条控制命令执行失败的具体故障,并快速修复该故障,增加产品开发、测试效率。
实施例二
请参见图2,图2为本申请实施例提供的响应方法中一种如何根据接收到的控制命令得到包含执行错误原因的返回信息的流程图,本实施例主要针对S101中如何得到包含执行错误原因的返回信息的过程给出一种具体的实现方式,其余步骤不做改变,具体实施步骤如下:
S201:从控制命令中提取得到命令类别信息和命令具体参数,并根据命令类别信息确定目标命令类别;
本实施例建立在使用命令类别信息和隶属于相应命令类别下的命令具体参数的方式来确定接收到的控制命令对应要执行的目标操作,因此本步骤首先从控制命令中提取得到命令类别信息和命令具体参数,并根据命令类别信息确定目标命令类别。
S202:确定与目标命令类别对应的执行判断集;
在S201的基础上,本步骤旨在确定与目标命令类别对应的执行判断集,其中,执行判断集中包含预设数量的执行判断条件。假定目标命令类别为拍照类,则对应的执行判断集可被称为拍照执行判断集,该拍照执行判断集中包含有预设数量的拍照执行判断条件,通常情况下,仅当满足该拍照执行判断集中的所有执行判断条件时,才满足执行目标拍照操作的要求。
S203:利用执行判断集中的各执行判断条件分别判断命令具体参数是否满足执行要求;
在S202的基础上,本步骤旨在利用执行判断集中的各执行判断条件分别判断命令具体参数是否满足执行要求,如S101中所提及的内容:不存在依赖关系的多条执行判断条件可以以并行的方式同时进行判断,存在依赖关系的多条执行判断条件则必须按照相应的顺序依次进行判断。
S204:当存在不满足执行要求的目标执行判断条件时,使用与目标执行判断条件对应的执行错误原因生成返回信息。
本步骤建立在执行判断集中存在不满足执行要求的目标执行判断条件的基础上,因此使用与目标执行判断条件对应的执行错误原因生成返回信息。
进一步的,使用错误代码的方式生成返回信息的实现方案可以为:
确定与目标执行判断条件对应的目标执行错误原因;使用与目标执行错误原因对应的目标错误代码生成返回信息。
更进一步的,生成的返回信息中除目标错误代码外,还可以包括:
表示控制命令的发送者的命令发送者代码、与目标命令类别对应的目标命令类别代码。
在返回信息中同时包括命令发送者代码、目标命令类别代码、目标错误代码的基础上,还可以将这三部分按照高字节到低字节的顺序进行排列,以更好的符合控制器接收到后对信息的读取顺序,获得更好的信息读取效果。
为了使得生成的返回信息更方便的被控制器读取,还可以将该返回信息的长度设置为与控制器所使用的操作系统的位数一致,32位操作系统可一次性处理32bit(4字节)的数据,在该返回信息的长度不满足32bit时,还可以通过增加全0无效数据的保留区的方式将该返回信息补充至32bit,以防止其它信息的干扰。同理,若操作系统的位数为64位,也需要使用该保留区将其补充至64bit。
为了在读取该返回信息使按照组成该返回信息中各部分识别码的上下级关系从上到下逐级读取,还可以将这保留区、命令发送者代码、目标命令类别代码和目标错误代码这四部分按从高字节到低字节的顺序依次排列,以适应读取数据时从存储器的高字节向低字节进行数据读取的顺序,按照这样排序读取出的各部分顺序无需控制器在全部读取完成后再进行排序操作,也降低了判断错误的概率。
在实施例二的基础上,还请参见图3,图3针对其中包含的一种具体的拍照情景提供了一种更加具体的实现方式,实施步骤如下:
S301:确定与拍照类对应的拍照执行判断集;
S302:利用拍照执行判断集中的各拍照执行判断条件判断拍照具体参数是否满足执行要求;
S303:当存在不满足执行要求的目标拍照执行判断条件时,使用与目标拍照执行判断条件对应的拍照错误原因生成返回信息。
为了加深对本申请发明点的理解,本申请还基于与图3所示相同的拍照应用场景,在使用JSON格式生成的控制命令和返回信息的情况,给出一种具体的实现方案:
航拍无人机接收控制器发来的JSON格式的拍照命令为:{"type":"takepicture","pic_num":2},其中,"type"指命令类别的名称,"takepicture"指命令类别的值为拍照类,"pic_num"指拍照类别下具体为拍照数量的名称,"2"指拍照数量的值具体为2张,之所以命令类别信息和命令具体参数是以此种方式存在的,是基于JSON格式下文本基于"名称":"值"的形式存在的。
首先,航拍无人机的系统会判断这条控制命令是否可以被解析(即是否可以提取出确定目标操作的必要信息,也可以理解为是否可以被识别):对命令中是否含有“,”、“{”、“}”、“type”等特定字符串进行确认,若解析不通过,则说明此条控制命令不可被识别,也就无法执行后续的执行操作,因此将返回包含解析错误原因的返回信息;若解析通过,则说明此条控制命令可以被识别,可以试着去执行,此时将根据"takepicture"这一信息确定出与其对应的执行判断集;
由于"takepicture"为拍照的英文表述,因此其对应的执行判断集应为拍照执行判断集,其中,该拍照执行判断集中可以包含:
(1)是否检测到SD卡(存储已照照片的存储器);
(2)SD卡的格式是否是支持的格式;
(3)SD卡是否满足数据写入要求;
(4)SD卡是否有足够的剩余空间;
(5)是否正在执行连续拍照操作;
(6)拍照总数是否超过预设数量;
(7)拍照模组是否正常工作等。
相应的,每项执行判断条件也会因如下原因导致拍照命令执行失败:
(1)没有检测到SD卡,因拍照需要将照片存储在SD卡中;
(2)有SD卡,但是其格式不是本文件系统支持的格式,比如有文件系统要求SD卡是FAT32格式,如果是NTFS或exFAT格式就会报错;
(3)有SD卡但是SD卡正忙,比如正在进行SD卡格式化;
(4)照片文件夹已满,无法再存储;
(5)正在执行连续拍照功能。比如,刚发出一个连续拍照100张的命令,紧接着再发送一次,则会解析失败,因为之前的解析动作还未完成;
(6)超过命令所支持的拍照总数。比如,系统中要求"pic_num"最大值为100,如若发送的JSON命令为{"type":"takepicture","pic_num":"101"},pic_num>100,则会解析失败;
(7)拍照失败,拍照模组工作异常等。
假定"takepicture"的命令类别识别码为8,上述解析失败的错误识别码依次为1-7,则当航拍无人机控制摄像头视图执行相应的拍照命令时,其对应的返回信息应表现为:{"type":"takepicture_res","resp_status","xxx"},其中"resp_status"后面的"xxx"代表了完整的错误识别码(包括命令发送者代码、目标命令类别代码和目标错误代码),以下为每种完整的错误识别码与其对应的含义构成的一张对应表:
0x00010800:Success(未发生错误);
0x00010801:SD Card doesn’t exist(检测到没有SD卡);
0x00010802:SD Card Formate Type Error(SD卡格式不支持);
0x00010803:SD Card Is Formatting(SD卡正在格式化);
0x00010804:Photo Folder Is Full(照片已存满);
0x00010805:Continuous shooting is already running(正在执行连续拍照功能);
0x00010806:Over Snapshot Max Queue Number(超过命令所支持的拍照总数);
0x00010807:Take Picture Failed(拍照失败)。
具体的,本实施例用4个字节即32bit来表示完整的错误识别码,也就是"resp_status"后面的"xxx"部分,每个字节即8bit代表不同的含义,从高字节至低字节分别表示保留区(Resv)、命令发送者代码(Class)、目标命令类别代码(Cmd)、目标错误代码(Errno),具体排序请参见下表1:
表1 JSON格式的返回信息
Status code Resv Class Cmd Errno
bits [31:24] [23:16] [15:8] [7:0]
其中,Resv不存储有效的数据,全0,用于补充位数;Class用于表示控制命令的发送者:在本实施例中0x01代表控制器发给航拍无人机的命令,0x00代表航拍无人机发给控制器的命令。
通过以上方法,开发者在控制器端收到返回信息后,就可以根据上述编码确定是哪一类的命令、命令要执行的功能、是否执行成功及执行失败的原因。
当返回信息为:{"type":"takepicture_res","resp_status","0x00010805"}时,开发者就可以很快的知道这是控制器发给航拍无人机的指令,指令的执行内容为让摄像头拍照,但是未成功执行,执行失败的原因是拍照文件夹已满),无法进行拍照,则开发者就可以通过删除SD卡中的一些照片或者格式化内存卡的形式来释放SD卡的内存,来快速解决这一问题。
确定过程为:0x00010804就是按照本申请上述实施例得到的返回信息,其采用16进制构成,0x后有8个16进制位,总长为4字节,位于0x后的00为保留区中的全0,属于无效数据,仅起到补全位数的作用;位于00后面的01为发送方识别码,此处至该控制命令的发送者为控制器,01后面的08为命令类别识别码,此处控制摄像头拍照,08后面的04为错误识别码,结合08可确定此处的04指SD卡中照片已存满。
因为情况复杂,无法一一列举进行阐述,本领域技术人员应能意识到根据本申请提供的基本方法原理结合实际情况可以存在很多的例子,在不付出足够的创造性劳动下,应均在本申请的保护范围内。
下面请参见图4,图4为本申请实施例提供的一种应用航拍无人机中的控制命令的响应系统的结构框图,该响应系统包括:
控制命令接收及执行单元100,用于接收控制命令,并执行控制命令,得到包含执行错误原因的返回信息;
返回信息返回单元200,用于返回返回信息,以根据返回信息的执行错误原因确定执行失败的具体原因。
其中,控制命令接收及执行单元100可以包括:
信息提取及目标命令类别确定子单元110,用于从控制命令中提取得到命令类别信息和命令具体参数,并根据命令类别信息确定目标命令类别;
目标执行判断集确定子单元120,用于确定与目标命令类别对应的执行判断集;其中,执行判断集中包含预设数量的执行判断条件;
执行要求判断子单元130,用于利用执行判断集中的各执行判断条件分别判断命令具体参数是否满足执行要求;
返回信息生成子单元140,用于当存在不满足执行要求的目标执行判断条件时,使用与目标执行判断条件对应的执行错误原因生成返回信息。(请参见图5,图5为本申请实施例提供的响应系统中一种控制命令接收及执行单元的结构框图)。
其中,返回信息生成子单元140可以包括:
目标执行错误原因确定模块,用于确定与目标执行判断条件对应的目标执行错误原因;
错误代码生成返回信息模块,用于使用与目标执行错误原因对应的目标错误代码生成返回信息。
进一步的,错误代码生成返回信息模块还可以包括:
额外信息增加子模块,用于在生成的返回信息中除目标错误代码外,增加表示控制命令的发送者的命令发送者代码、与目标命令类别对应的目标命令类别代码。
更进一步的,错误代码生成返回信息模块还可以包括:
排序子模块,用于依次将命令发送者代码、目标命令类别代码、目标错误代码按照高字节到低字节的顺序进行排列。
其中,目标执行判断集确定子单元120可以包括:
拍照执行判断集确定模块,用于当目标命令类别为拍照类时,确定与拍照类对应的拍照执行判断集;
对应的,执行要求判断子单元130可以包括:
拍照命令执行要求判断模块,用于利用拍照执行判断集中的各拍照执行判断条件判断拍照具体参数是否满足执行要求;
对应的,返回信息生成子单元140可以包括:
拍照命令返回信息生成模块,用于当存在不满足执行要求的目标拍照执行判断条件时,使用与目标拍照执行判断条件对应的拍照错误原因生成返回信息。
其中,控制命令接收及执行单元100可以包括:
JSON命令接收子单元,用于接收JSON格式的控制命令;
对应的,控制命令接收及执行单元100可以包括:
JSON命令返回信息得到子单元,用于得到包含执行错误原因的JSON格式的返回信息。
基于上述实施例,本申请还提供了一种航拍无人机,该航拍无人机可以包括存储器和处理器,其中,该存储器中存有计算机程序,该处理器调用该存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然,该航拍无人机在包含用于拍摄图像的摄像机和该存储器、该处理器外,还可以包括各种必要的数据传输接口、电源以及其它零部件等。
本申请还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行终端或处理器执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,且各个实施例间为递进关系,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,可参见对应的方法部分说明。以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种控制命令的响应方法,其特征在于,应用于航拍无人机,所述响应方法包括:
接收控制命令,并执行所述控制命令,得到包含执行错误原因的返回信息;
返回所述返回信息,以根据所述返回信息的执行错误原因确定执行失败的具体原因。
2.根据权利要求1所述的响应方法,其特征在于,执行所述控制命令,得到包含执行错误原因的返回信息,包括:
从所述控制命令中提取得到命令类别信息和命令具体参数,并根据所述命令类别信息确定目标命令类别;
确定与所述目标命令类别对应的执行判断集;其中,所述执行判断集中包含预设数量的执行判断条件;
利用所述执行判断集中的各执行判断条件分别判断所述命令具体参数是否满足执行要求;
若存在不满足执行要求的目标执行判断条件,使用与所述目标执行判断条件对应的执行错误原因生成所述返回信息。
3.根据权利要求2所述的响应方法,其特征在于,使用与所述目标执行判断条件对应的执行错误原因生成所述返回信息,包括:
确定与所述目标执行判断条件对应的目标执行错误原因;
使用与所述目标执行错误原因对应的目标错误代码生成所述返回信息。
4.根据权利要求3所述的响应方法,其特征在于,生成的返回信息中除所述目标错误代码外,还包括:
表示所述控制命令的发送者的命令发送者代码、与所述目标命令类别对应的目标命令类别代码。
5.根据权利要求4所述的响应方法,其特征在于,还包括:
依次将所述命令发送者代码、所述目标命令类别代码、所述目标错误代码按照高字节到低字节的顺序进行排列。
6.根据权利要求2所述的响应方法,其特征在于,当所述目标命令类别为拍照类时,确定与所述目标命令类别对应的执行判断集,包括:
确定与所述拍照类对应的拍照执行判断集;
对应的,利用所述执行判断集中的各执行判断条件分别判断所述命令具体参数是否满足执行要求,包括:
利用所述拍照执行判断集中的各拍照执行判断条件判断拍照具体参数是否满足执行要求;
对应的,若存在不满足执行要求的目标执行判断条件,使用与所述目标执行判断条件对应的执行错误原因生成所述返回信息,包括:
若存在不满足执行要求的目标拍照执行判断条件,使用与所述目标拍照执行判断条件对应的拍照错误原因生成所述返回信息。
7.根据权利要求1至6任一项所述的响应方法,其特征在于,接收控制命令,包括:
接收JSON格式的控制命令;
对应的,得到包含执行错误原因的返回信息,包括:
得到包含所述执行错误原因的JSON格式的返回信息。
8.一种控制命令的响应系统,其特征在于,应用于航拍无人机,所述响应系统包括:
控制命令接收及执行单元,用于接收控制命令,并执行所述控制命令,得到包含执行错误原因的返回信息;
返回信息返回单元,用于返回所述返回信息,以根据所述返回信息的执行错误原因确定执行失败的具体原因。
9.一种航拍无人机,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的控制命令的响应方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的控制命令的响应方法。
CN201811196861.6A 2018-10-15 2018-10-15 控制命令的响应方法、系统、航拍无人机及存储介质 Pending CN109324635A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811196861.6A CN109324635A (zh) 2018-10-15 2018-10-15 控制命令的响应方法、系统、航拍无人机及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811196861.6A CN109324635A (zh) 2018-10-15 2018-10-15 控制命令的响应方法、系统、航拍无人机及存储介质

Publications (1)

Publication Number Publication Date
CN109324635A true CN109324635A (zh) 2019-02-12

Family

ID=65261516

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811196861.6A Pending CN109324635A (zh) 2018-10-15 2018-10-15 控制命令的响应方法、系统、航拍无人机及存储介质

Country Status (1)

Country Link
CN (1) CN109324635A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111930584A (zh) * 2020-08-14 2020-11-13 山东云海国创云计算装备产业创新中心有限公司 一种sd卡控制器功能验证方法、装置及相关组件
CN112171658A (zh) * 2020-08-17 2021-01-05 深圳市优必选科技股份有限公司 一种控制方法、控制装置及机器人
CN112671770A (zh) * 2020-12-23 2021-04-16 波达通信设备(广州)有限公司 室外机串口协议解析方法、装置、计算机设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103950546A (zh) * 2014-04-21 2014-07-30 深圳市大疆创新科技有限公司 无人机及其飞行状态辅助提示方法
US20140257683A1 (en) * 2013-03-11 2014-09-11 INHA Industry Partnerships Institute Method and apparatus for testing states in flight plan state management system
CN105824318A (zh) * 2016-02-19 2016-08-03 深圳供电局有限公司 一种多旋翼无人机通讯和安全监测系统
CN106458318A (zh) * 2014-05-23 2017-02-22 莉莉机器人公司 用于照相和/或摄像的无人航拍直升机
CN107678875A (zh) * 2017-09-29 2018-02-09 北京深思数盾科技股份有限公司 一种故障检测及自动修复方法、装置、终端及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140257683A1 (en) * 2013-03-11 2014-09-11 INHA Industry Partnerships Institute Method and apparatus for testing states in flight plan state management system
CN103950546A (zh) * 2014-04-21 2014-07-30 深圳市大疆创新科技有限公司 无人机及其飞行状态辅助提示方法
CN106458318A (zh) * 2014-05-23 2017-02-22 莉莉机器人公司 用于照相和/或摄像的无人航拍直升机
CN105824318A (zh) * 2016-02-19 2016-08-03 深圳供电局有限公司 一种多旋翼无人机通讯和安全监测系统
CN107678875A (zh) * 2017-09-29 2018-02-09 北京深思数盾科技股份有限公司 一种故障检测及自动修复方法、装置、终端及存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111930584A (zh) * 2020-08-14 2020-11-13 山东云海国创云计算装备产业创新中心有限公司 一种sd卡控制器功能验证方法、装置及相关组件
CN112171658A (zh) * 2020-08-17 2021-01-05 深圳市优必选科技股份有限公司 一种控制方法、控制装置及机器人
CN112671770A (zh) * 2020-12-23 2021-04-16 波达通信设备(广州)有限公司 室外机串口协议解析方法、装置、计算机设备及存储介质

Similar Documents

Publication Publication Date Title
CN109324635A (zh) 控制命令的响应方法、系统、航拍无人机及存储介质
CN106843942A (zh) 穿戴式设备的固件升级方法及穿戴式设备
CN105956008A (zh) 一种图片管理方法及终端
CN109756760A (zh) 视频标签的生成方法、装置及服务器
US10965801B2 (en) Method for inputting and processing phone number, mobile terminal and storage medium
CN104067294A (zh) 字符读取装置和字符读取方法
CN106168908A (zh) 一种驱动程序获取方法、服务器及移动终端
CN109766422A (zh) 信息处理方法、装置及系统、存储介质、终端
CN108182270A (zh) 搜索内容发送及搜索方法、智能笔、搜索终端及存储介质
CN105818575A (zh) 智能笔及智能笔的笔画纠错方法
CN107403217A (zh) 一种标记物辅助乱架识别系统
CN110210299A (zh) 语音训练数据生成方法、装置、设备及可读存储介质
CN113627402A (zh) 一种图像识别方法及相关装置
CN106250396B (zh) 一种图像标签自动生成系统及方法
CN105745921A (zh) 一种视频网络会议的会议记录方法及系统
CN105760244B (zh) 一种基于假设验证的exFAT格式化恢复方法和装置
CN111081093B (zh) 一种听写内容辨别方法及电子设备
CN107480567A (zh) 一种智能卡印刷信息自动检测方法和系统
US8705871B2 (en) Form image managing system and method
CN115661527A (zh) 基于人工智能的图像分类模型训练方法、分类方法及装置
CN105608405B (zh) 解码方式的配置方法和系统、以及解码控制方法和系统
CN116016421A (zh) 促进在计算装置中执行的基于媒体的内容共享的方法、计算装置可读存储介质以及计算装置
CN112653612B (zh) 消息处理方法、设备以及系统、消息服务器
CN111143643B (zh) 元素识别方法、装置、可读存储介质和电子设备
CN102346721A (zh) 利用照相机与ipad连接上传微博照片的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20190212

RJ01 Rejection of invention patent application after publication