发明内容
有鉴于此,本发明提供无人机的控制方法和控制系统,以解决上述问题。
根据本发明的第一方面,本发明提供一种无人机的控制方法,包括:接收任务信息,所述任务信息包括无人机编号、起始端的用户、终止端的用户、任务开始时间和任务预期时间;生成对应于所述任务信息的任务秘钥,所述任务秘钥的有效期为从所述任务开始时间的任务预期时间;对所述无人机、所述起始端和所述终止端的秘钥请求进行合法性校验;将所述任务秘钥分发给所述无人机、所述起始端和所述终止端,以实现所述起始端和所述终止端对所无人机的加密控制。
优选地,所述合法性校验包括秘钥状态校验和用户校验。
优选地,通过开始GPS坐标和终止GPS坐标计算所述任务预期时间。
优选地,根据历史数据计算所述任务预期时间。
优选地,还包括:根据所述终止端的终止请求,将所述任务秘钥设置为无效。
根据本发明的第二方面,本发明提供一种无人机控制系统,包括:接收模块,用于接收任务信息,所述任务信息包括无人机编号、起始端的用户、终止端的用户、任务开始时间和任务预期时间;秘钥模块,用于生成对应于所述任务信息的任务秘钥,所述任务秘钥的有效期为从所述任务开始时间的任务预期时间;校验模块,用于对所述无人机、所述起始端和所述终止端的秘钥请求进行合法性校验;分发模块,用于将所述任务秘钥分发给所述无人机、所述起始端和所述终止端,以实现所述起始端和所述终止端对所无人机的加密控制。
优选地,所述合法性校验包括秘钥状态校验和用户校验。
优选地,还包括:时间计算模块,用于通过开始GPS坐标和终止GPS坐标计算所述任务预期时间。
优选地,还包括:时间计算模块,用于根据历史数据计算所述任务预期时间。
优选地,还包括:设置模块,用于根据所述终止端的终止请求,将所述任务秘钥设置为无效。
根据本发明的第三方面,本发明提供一种无人机系统,包括无人机,多个遥控端和控制端,
所述控制端接收任务信息,生成对应于所述任务信息的任务秘钥,对所述无人机和所述遥控端的秘钥请求进行合法性校验,并将所述任务秘钥分发给所述无人机和所述遥控端,其中,所述任务信息包括无人机编号、所述遥控端的用户、任务开始时间和任务预期时间,所述任务秘钥的有效期为从所述任务开始时间的任务预期时间;
所述遥控端和所述无人机向所述控制端发送所述秘钥请求,以使所述遥控端通过加密方式控制所述无人机。
本发明提供一种无人机的控制方法,包括:接收任务信息,所述任务信息包括无人机编号、起始端的用户、终止端的用户、任务开始时间和任务预期时间;生成对应于所述任务信息的任务秘钥,所述任务秘钥的有效期为从所述任务开始时间的任务预期时间;对所述无人机、所述起始端和所述终止端的秘钥请求进行合法性校验;将所述任务秘钥分发给所述无人机、所述起始端和所述终止端,以实现所述起始端和所述终止端对所无人机的加密控制。本发明提供的控制方法,为每个任务生成秘钥,并将秘钥集中管理,使遥控端对于无人机的控制具有时间性和差异性的特点,使破译秘钥难度加大。
具体实施方式
以下基于实施例对本发明进行描述,但是本发明并不仅仅限于这些实施例。在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。为了避免混淆本发明的实质,公知的方法、过程、流程没有详细叙述。另外附图不一定是按比例绘制的。
附图中的流程图、框图图示了本发明实施例的系统、方法、装置的可能的体系框架、功能和操作,流程图和框图上的方框可以代表一个模块、程序段或仅仅是一段代码,所述模块、程序段和代码都是用来实现规定逻辑功能的可执行指令。也应当注意,所述实现规定逻辑功能的可执行指令可以重新组合,从而生成新的模块和程序段。因此附图的方框以及方框顺序只是用来更好的图示实施例的过程和步骤,而不应以此作为对发明本身的限制。
图2是根据本发明实施例的无人机的控制方法的应用场景图。在图2中,涉及10个场景。
在第一个场景里,遥控用户A发送任务信息到信息中心。所述任务信息中包括任务的起始端的用户,终止端的用户、任务开始时间和任务预期时间。当然,还可以包括订单信息,例如,订单号,订单起始地址,收货地址,订单商品详情等。
在第二个场景里,信息中心的系统根据上述的任务信息生成针对每个任务的秘钥。目前流行的加密算法有对称算法和不对称算法。对称算法生成统一的秘钥进行加密、解密,不对称算法生成一对秘钥,使用公钥加密,私钥解密,不对称加密算法的安全性相对较高。这里不对具体的加密算法进行限制。
在第三个场景里,遥控用户A向信息中心请求秘钥。信息中心的系统再对遥控用户A进行校验后,将遥控用户A负责的任务秘钥发给他。
在第四个场景里,无人机也向信息中心请求秘钥。信息中心的系统再对无人机编号进行校验后,将当前任务的任务秘钥发给无人机。
在第五个场景里,遥控用户A利用现有的秘钥和无人机进行通信,控制无人机起飞。遥控用户A可以在无人机飞行一段时间后,将无人机设置为自动导航状态。
在第六个场景里,无人机通过自身GPS和目标GPS进行导航飞行。
在第七个场景里,遥控用户B向信息中心的系统请求秘钥。信息中心的系统再对遥控用户B进行校验后,将遥控用户B负责的任务秘钥发给他。
在第八个场景里,当无人机到达目标位置时,遥控用户B通过遥控器接管无人机的操作,引导无人机降落。
在第九个场景里,遥控用户B在完成任务后,将任务结束信息发送给信息中心的系统。
在第十个场景中,信息中心的系统根据任务结束信息,将秘钥失效。这时,遥控用户A和B就不再能继续控制无人机了。当然,秘钥有效时间到达后,系统也会自动将秘钥设置为无效状态。
在本发明实施例的场景中,根据任务生成秘钥,在任务延续期间,遥控终端的用户能够控制无人机,当任务结束后,遥控终端不能继续控制无人机了,这样,即使遥控端的用户账号丢失,也不会导致无人机被劫持。另外,通过通信密码的动态生成,加强了无人机和遥控终端的通信的安全性。
图3是根据本发明实施例的无人机的控制方法的流程图。所述控制方法包括步骤301-304。
在步骤301中,接收任务信息。
所述任务信息中包括任务的起始端的用户,终止端的用户、任务开始时间和任务预期时间。信息中心的系统可以提供浏览器页面、手机APP等访问方式,每个配送人员都会拥有自己的账号去登陆此系统。在一个任务发生时,配送人员将相关的任务信息输入到信息中心的系统中。
在步骤302中,生成对应于任务信息的任务秘钥。
信息中心的系统依据秘钥算法,生成对应于该任务信息的任务秘钥,并将相关的任务信息和任务秘钥存储到数据库中。如下表所示:
无人机001,秘钥1,有效,起始时间,有效时间,起始用户A,终止用户B |
无人机002,秘钥2,无效,起始时间,有效时间,起始用户A,终止用户B |
在步骤303中,对无人机、起始端和终止端的秘钥请求进行合法性校验。
在本步骤中,接收来自无人机、起始端和终止端的秘钥请求,并进行合法性校验。首先进行用户合法性校验,首先确定输入的用户是否在信息中心的系统中已注册,进一步确定已注册的用户是否在任务列表中有对应的任务。如果该注册用户在任务列表中对应多个无人机任务,则进一步要求提供其他校验信息,例如,对于起始端的秘钥请求要求输入终止端的用户账户,然后根据起始端用户和终止端用户共同检索任务列表,以获得更准确的任务信息,从而获得该任务的秘钥。其次,判断秘钥状态是否正常。
在步骤304中,将任务秘钥分发给无人机、起始端和终止端。
通过上述的检验过程,将有效的任务秘钥发送给无人机、起始端和终止端。无人机、起始端用户和终止端用户获得秘钥后,可以通过加密的方式进行通信,从而实现对无人机的更安全的控制。
图4是根据本发明实施例的无人机的控制系统的逻辑结构图。所述控制系统40包括:接收模块401、秘钥模块402、校验模块403和校验模块403。
接收模块401接收任务信息,任务信息包括无人机编号、起始端的用户、终止端的用户、任务开始时间和任务预期时间。
秘钥模块402获得任务信息后,生成对应于任务信息的任务秘钥,任务秘钥的有效期为从任务开始时间的任务预期时间。
校验模块403在每次收到秘钥请求后,对秘钥请求的合法性进行校验。合法性校验包括检查请求的用户是否已注册,是否有负责无人机任务,以及负责的无人机任务的秘钥状态是否正常等。
分发模块404在校验成功后,将对应的秘钥分别给遥控端和无人机端。遥控端获得秘钥后,会和无人机进行加密通信,从而实现遥控端对无人机的更安全的控制。
在一个优选的实施例中,上述无人机的控制系统包括:时间计算模块,通过任务的开始GPS坐标和终止GPS坐标计算任务预期时间。
在另一个优选的实施例中,时间计算模块根据历史数据计算任务预期时间。例如,在多次进行无人机派送后,数据库存储有大量无人机的任务数据,通过这些历史数据,可以大致估算出本次任务的时间。
在另一个优选的实施例中,上述无人机的控制系统中还包括一个设置模块,当任务结束后,接收任务结束请求,将任务秘钥设置为无效。这样,任务的遥控终端就不能再继续控制无人机。
根据上述的控制系统,本发明提供一个无人机系统,包括无人机,多个遥控端和控制端,
所述控制端接收任务信息,生成对应于任务信息的任务秘钥,对无人机和遥控端的秘钥请求进行合法性校验,并将任务秘钥分发给无人机和遥控端,其中,任务信息包括无人机编号、遥控端用户、任务开始时间和任务预期时间,任务秘钥的有效期为从任务开始时间的任务预期时间;
遥控端和无人机向控制端发送秘钥请求,以通过秘钥进行加密通信。
本发明提供的无人机的控制系统和控制方法,通过无人机通信密钥的中心化,来实现无人机控制的安全性。同时,绑定遥控终端的用户,限制用户账户的权限和密钥的有效时间。可以保证无人机与控制设备通信的安全,避免无人机被人劫持。
系统的各个模块或单元可以通过硬件、固件或软件实现。软件例如包括采用JAVA、C/C++/C#、SQL等各种编程语言形成的编码程序。虽然在方法以及方法图例中给出本发明实施例的步骤以及步骤的顺序,但是所述步骤实现规定的逻辑功能的可执行指令可以重新组合,从而生成新的步骤。所述步骤的顺序也不应该仅仅局限于所述方法以及方法图例中的步骤顺序,可以根据功能的需要随时进行调整。例如将其中的某些步骤并行或按照相反顺序执行。
根据本发明的系统和方法可以部署在单个或多个服务器上。例如,可以将不同的模块分别部署在不同的服务器上,形成专用服务器。或者,可以在多个服务器上分布式部署相同的功能单元、模块或系统,以减轻负载压力。所述服务器包括但不限于在同一个局域网以及通过Internet连接的多个PC机、PC服务器、刀片机、超级计算机等。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。