CN110622086A - 可移动物体应用框架 - Google Patents

可移动物体应用框架 Download PDF

Info

Publication number
CN110622086A
CN110622086A CN201780090445.5A CN201780090445A CN110622086A CN 110622086 A CN110622086 A CN 110622086A CN 201780090445 A CN201780090445 A CN 201780090445A CN 110622086 A CN110622086 A CN 110622086A
Authority
CN
China
Prior art keywords
feature
movable object
data manager
features
data
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.)
Granted
Application number
CN201780090445.5A
Other languages
English (en)
Other versions
CN110622086B (zh
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.)
Dajiang Technology Co Ltd
Original Assignee
Dajiang Technology 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 Dajiang Technology Co Ltd filed Critical Dajiang Technology Co Ltd
Publication of CN110622086A publication Critical patent/CN110622086A/zh
Application granted granted Critical
Publication of CN110622086B publication Critical patent/CN110622086B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/0011Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot associated with a remote control arrangement
    • G05D1/0022Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot associated with a remote control arrangement characterised by the communication link
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G5/00Traffic control systems for aircraft, e.g. air-traffic control [ATC]
    • G08G5/0047Navigation or guidance aids for a single aircraft
    • G08G5/0069Navigation or guidance aids for a single aircraft specially adapted for an unmanned aircraft
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64CAEROPLANES; HELICOPTERS
    • B64C39/00Aircraft not otherwise provided for
    • B64C39/02Aircraft not otherwise provided for characterised by special use
    • B64C39/024Aircraft not otherwise provided for characterised by special use of the remote controlled vehicle type, i.e. RPV
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/0088Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/10Simultaneous control of position or course in three dimensions
    • G05D1/101Simultaneous control of position or course in three dimensions specially adapted for aircraft
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64UUNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
    • B64U2201/00UAVs characterised by their flight controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64UUNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
    • B64U2201/00UAVs characterised by their flight controls
    • B64U2201/10UAVs characterised by their flight controls autonomous, i.e. by navigating independently from ground or air stations, e.g. by using inertial navigation systems [INS]

Abstract

公开了用于在客户端设备和可移动物体环境中的机载数据管理器之间进行通信的技术。用户设备上的数据管理器可以识别可移动物体上的机载数据管理器。可以从机载数据管理器接收特征列表,该特征列表识别安装到可移动物体的至少一个特征。可以由用户设备接收至少一个输入,并且可以确定与至少一个输入相对应的用户设备特征。可以基于特征列表进一步确定机载数据管理器支持该用户设备特征。响应于确定用户设备特征被支持,可以将与该至少一个输入相对应的第一指令发送给包括机载数据管理器的可移动物体。

Description

可移动物体应用框架
版权声明
本专利文档的公开的一部分包含受到版权保护的材料。版权所有人不反对任何人对专利文档或专利公开(如其在专利和商标局中的专利文件或记录中出现的原样)进行复制再现,但是在其他情况下版权所有人保留所有版权。
技术领域
所公开的实施例总体上涉及用于在可移动物体环境中定制图形用户界面的技术,更具体地但非排他地,涉及一种可移动物体应用框架。
背景技术
诸如无人驾驶飞行器(UAV)的无人机可以用于针对各种应用执行监视、侦察和勘探任务。传统上,UAV由遥控器和连接设备(例如移动设备)控制。该设置使移动设备能够捕获用户的意图(例如,沿给定方向飞行、悬停等),但是引入了若干限制。UAV和遥控器之间的通信通常是无线的,这引入了延迟并且受到局部干扰的限制。此设置还不可扩展。相反,功能受到可以发送给UAV的命令的限制。例如,UAV上的飞行控制器可能只接受特定的预定义命令,并且对于最终用户来说,扩展该命令集可能是困难的或不可能的。类似地,终端用户可能无法向UAV添加传感器,因为飞行控制器和移动设备不能被配置为支持新传感器。
发明内容
公开了用于在客户端设备和可移动物体环境中的机载数据管理器之间进行通信的技术。用户设备上的数据管理器可以识别可移动物体上的机载数据管理器。可以从机载数据管理器接收特征列表,该特征列表包括安装到可移动物体的至少一个特征。用户设备可以接收至少一个输入,并且用户设备管理器可以确定与至少一个输入相对应的用户设备特征。可以将用户设备特征与特征列表进行比较,并且基于比较,用户设备管理器可以确定与至少一个输入相对应的第一指令将由机载数据管理器处理。然后可以将第一指令发送给包括机载数据管理器的可移动物体以进行处理。
附图说明
图1示出了根据本发明的各种实施例的可移动物体环境中的应用的示例。
图2示出了根据本发明的各种实施例的可移动物体环境中的数据管理器的示例。
图3示出了根据本发明的各种实施例的可移动物体环境中的记载数据管理器的示例。
图4示出了根据本发明的各种实施例的可移动物体环境中的特征服务器的示例。
图5示出了根据本发明的各种实施例的数据管理器和机载数据管理器之间的通信的序列图。
图6示出了根据本发明的各种实施例的数据管理器和机载数据管理器之间的通信的另一序列图。
图7示出了根据本发明的各种实施例的数据管理器、服务器和机载数据管理器之间的通信的序列图。
图8示出了根据本发明的各种实施例的数据管理器和机载数据管理器之间的通信的另一序列图。
图9示出了根据本发明的各种实施例的在可移动物体环境中执行动作序列的示例。
图10示出了根据本发明的各种实施例的在可移动物体环境中的可用机载动作的示例。
图11示出了根据本发明的各种实施例的在可移动物体环境中的可用客户端动作的示例。
图12示出了根据本发明的各种实施例的可移动物体环境中的定制通信协议的示例包。
图13示出了根据本发明的各种实施例的动作的示例。
图14示出了根据本发明的各种实施例的在软件开发环境中支持可移动物体接口的示例。
图15示出了根据本发明的各种实施例的无人驾驶飞行器接口的示例。
图16示出了根据本发明的各种实施例的软件开发工具包(SDK)中针对无人驾驶飞行器的组件的示例。
图17示出了根据本发明的各种实施例的在可移动物体环境中的通信管理的流程图。
具体实施方式
作为示例而非限制,在附图的各图中示出了本发明,其中相似的附图标记指示相似的元件。应当注意到:在本公开中针对“实施例”或“一个实施例”或“一些实施例”的引用不一定指的是相同实施例,并且这种引用意指至少一个实施例。
本发明的以下描述描述了客户端设备和用于可移动物体的机载数据管理。为了简化说明,通常使用无人驾驶飞行器(UAV)作为可移动物体的示例。对于本领域技术人员显而易见的是,可以使用其他类型的可移动物体而没有限制。
图1示出了根据本发明的各种实施例的可移动物体环境100中的应用的示例。如图1所示,可移动物体环境100中的应用102可以经由物理链路106与可移动物体104通信。可移动物体104可以是无人驾驶飞行器、无人驾驶车辆、手持设备和/或机器人。
如图1的示例中,可以使用客户端数据管理器107(也称为设备数据管理器、移动数据管理器或数据管理器)和机载数据管理器112来促进该通信。应用102可以接收指示要由可移动物体执行的一个或多个动作的输入(例如,来自用户、其他可移动物体、其他计算机系统等)。数据管理器可以确定要发送给机载数据管理器的一个或多个指令,以使可移动物体104执行所指示的一个或多个动作。在一些实施例中,当数据管理器107与可移动物体104建立通信连接时,数据管理器107可以请求与机载数据管理器112和可移动物体104的能力有关的信息。例如,可移动物体104可以包括各种功能模块108。例如,无人驾驶飞行器可以包括相机模块、电池模块、云台模块、通信模块和飞行控制器模块等。可移动物体还可以包括特征组114,其指示可由可移动物体104执行的一个或多个动作。数据管理器107可以将来自可移动物体104的接收的特征组114与其自己的特征组105进行比较,以确定哪些动作是可用的。例如,可以不执行在特征组105中包括的但是在特征组114中缺失(或者类似地,在特征组114中包括的但是在特征组105中缺失)的特征。在这种情况下,可以使用来自服务器126上的特征组128的缺失特征来更新特征组105或特征组114。在一些实施例中,服务器126可以通过物理链路106与客户端设备110和/或可移动物体104通信。
如图1所示,可移动物体104、客户端设备110和/或服务器126可以各自包括特征组。在各种实施例中,这可以包括用于实现特征组中的一个或多个特征的可执行指令,例如软件或硬件驱动器、使可移动物体执行动作的指令等。在一些实施例中,来自特征组的特征可以被应用使用以执行特定功能(例如,对应的动作,或访问对应的硬件组件),而不需要应用开发者实现该功能。以这种方式,特征组可以用作可以在执行期间由应用使用的库。应用可以使用来自特征组的一个或多个特征,并且不同的应用可以各自使用来自特征组的相同或不同的特征。例如,物体跟踪应用可以使用计算机视觉特征来识别要跟踪的物体。
如图1所示,应用102可以部署在客户端设备110上。例如,客户端设备110可以是便携式个人计算设备、智能电话、遥控器、可穿戴计算机、虚拟现实/增强现实系统和/或个人计算机。另外,客户端设备110可以包括通信设备(未示出),其负责处理客户端设备110上的应用102与可移动物体104上的各种模块108之间的通信。例如,无人驾驶飞行器可以包括上行链路和下行链路。上行链路可以用于发送控制信号,下行链路可以用于发送媒体或视频流。如进一步讨论的,客户端设备110和可移动物体104可以各自包括通信路由器,通信路由器确定如何对通过物理链路106接收的数据进行路由,例如,基于数据、内容、协议等。
根据本发明的各种实施例,物理链路106可以是网络(网络的一部分),其基于各种无线技术,例如WiFi、蓝牙、3G/4G和其他射频技术。此外,物理链路106可以基于其他计算机网络技术,例如互联网技术,或任何其他有线或无线联网技术。在一些实施例中,物理链路106可以是非网络技术,包括直接的点对点连接,例如通用串行总线(USB)或通用异步收发器(UART)。
在各种实施例中,可移动物体环境100中的可移动物体104可以包括载体和负载。尽管可移动物体104通常被描述为飞行器,但是这不是限制性的,并且可以使用任何合适类型的可移动物体。本领域技术人员将理解,本文中在飞行器系统的背景下描述的任何实施例可以应用于任何合适的可移动物体(例如,UAV)。在一些情况下,负载可以设置在可移动物体104上而不需要载体。
根据本发明的各种实施例,可移动物体104可以包括一个或多个移动机构116(例如,推进机构)、感测系统118和通信系统120。移动机构116可以包括旋翼、螺旋桨、叶片、发动机、电机、轮子、轴、磁体、喷嘴、动物或人类中的一个或多个。例如,可移动物体可以具有一个或多个推进机构。移动机构可以都是相同的类型。备选地,移动机构可以是不同类型的移动机构。移动机构116可以使用诸如支撑元件(例如,驱动器轴)之类的任何合适装置安装在可移动物体104上(反之亦然)。移动机构116可以安装在可移动物体104的任何合适的部分上,例如顶部、底部、前部、后部、侧面或其合适的组合。
在一些实施例中,移动机构116可以使可移动物体104能够垂直地从表面起飞或垂直地降落在表面上,而不需要可移动物体104的任何水平移动(例如,无需沿着跑道行进)。可选地,移动机构116可以可操作地允许可移动物体116以特定位置和/或取向悬停在空中。可以例如通过应用102独立于其他移动机构控制一个或多个移动机构104。备选地,移动机构116可以被配置为同时受到控制。例如,可移动物体104可以具有多个水平取向的旋翼,其可以向可移动物体提供升力和/或推力。可以致动多个水平取向的旋翼以向可移动物体104提供垂直起飞、垂直降落和悬停能力。在一些实施例中,一个或多个水平取向的旋翼可以沿顺时针方向旋转,而一个或多个水平旋翼可以沿逆时针方向旋转。例如,顺时针旋翼的数量可以等于逆时针旋翼的数量。为了控制由每个旋翼产生的升力和/或推力,从而调整可移动物体104(例如,相对于最多三个平移度和三个旋转度)的空间布置、速度和/或加速度,可以独立地改变每个水平朝向的旋翼的转速。
感测系统118可以包括可感测可移动物体104(例如,相对于各个平移度和各个旋转度)的空间布置、速度和/或加速度的一个或多个传感器。一个或多个传感器可以包括GPS传感器、运动传感器、惯性传感器、接近传感器或图像传感器中的任一个。感测系统118提供的感测数据可用于(例如,使用合适的处理单元和/或控制模块)控制可移动物体104的空间布置、速度和/或朝向。备选地,感测系统118可用于提供关于可移动物体周围的环境的数据,例如天气条件、接近潜在障碍物、地理特征的位置、人造结构的位置等。
通信系统120使得能够经由物理链路106与在客户端设备110上执行的应用102进行通信,物理链路106可以包括如上面所讨论的各种有线和/或无线技术。通信系统120可以包括适合于无线通信的任何数量的发送器、接收器和/或收发器。所述通信可以是单向通信,使得数据只能沿一个方向发送。例如,单向通信可以仅涉及可移动物体104将数据发送给应用102,反之亦然。可以从通信系统110的一个或多个发射机向客户端设备的一个或多个接收机发送数据,或者反之亦然。备选地,所述通信可以是双向通信,使得可以在可移动物体104和客户端设备102之间的两个方向上发送数据。双向通信可以涉及从通信系统120的一个或多个发射机向显客户端设备110的一个或多个接收机发送数据,并且反之亦然。
在一些实施例中,应用102可以向可移动物体104、载体122和负载124中的一个或更多个提供控制数据,并且从可移动物体104、载体122和负载124中的一个或更多个接收信息(例如,可移动物体、载体或负载的位置和/或运动信息;由负载感测的数据,例如由负载相机捕获的图像数据);以及根据由有效负载相机捕捉的图像数据生成的数据)。在一些情况下,来自应用的控制数据可以包括用于可移动物体、载体和/或负载的相对位置、移动、致动或控制的指令。例如,控制数据(例如,经由移动机构116的控制)可以导致可移动物体的定位和/或取向的修改,或(例如,经由载体122的控制)导致负载相对于可移动物体的移动。来自应用的控制数据可以导致对负载的控制,例如对相机或其他图像捕获设备的操作的控制(例如,拍摄静止或移动图片、放大或缩小、打开或关闭、切换成像模式、改变图像分辨率、改变焦点、改变景深、改变曝光时间、改变视角或视野)。尽管可以描述包括相机或其他图像捕捉装置作为有效负载的实施例,但是任何有效负载都可以与本发明的实施例一起使用。在一些实施例中,应用102可以被配置为控制特定负载。
在某些实例中,来自可移动物体、载体和/或负载的通信可以包括来自(例如,感测系统118或负载124的)一个或多个传感器的信息和/或基于感测信息生成的数据的信息。通信可以包括来自一个或多个不同类型的传感器(例如,GPS传感器、运动传感器、惯性传感器、近距离传感器或图像传感器)的感测信息。这样的信息可以涉及可移动物体、载体和/或负载的定位(例如位置,朝向)、移动或加速度。来自负载的这种信息可以包括由负载捕获的数据或负载的感测状态。
图2示出了根据本发明的各种实施例的可移动物体环境200中的数据管理器的示例。客户端设备110可以包括台式计算机或膝上型计算机、平板计算机、智能电话或其他移动设备、可穿戴计算机、虚拟现实系统或其他客户端设备。客户端设备110可以包括数据管理器202。数据管理器202可以在一个或多个处理器、现场可编程门阵列、专用集成电路或客户端设备110中的其他处理设备上执行。尽管图2中所示的实施例示出了部署到客户端设备110的数据管理器202,但在一些实施例中,数据管理器202可以部署到一个或多个服务器并远程管理多个客户端设备的通信。在一些实施例中,数据管理器202可以是软件开发工具包(SDK)或移动SDK的一部分,其用于支持可移动物体环境200中的软件应用的开发。数据管理器202可以包括若干接口以与可移动物体环境中的其他系统通信。例如,服务器接口214可以促进与服务器(例如服务器126)的通信。服务器接口214可以使数据管理器202能够获得包括动作数据和传感器数据的特征组数据,和/或指示服务器将特征组数据提供给一个或多个可移动物体。在一些实施例中,服务器接口214可以与在服务器上执行的一个或多个应用通信,例如对象存储服务、数据库、应用(例如,app)商店或其他应用或服务。数据管理器202还可以包括可移动物体接口216,其可以促进与一个或多个可移动物体的通信。如所讨论的,可移动物体接口216可以促进与在可移动物体上执行的机载数据管理器的通信。在一些实施例中,数据管理器202还可以包括应用接口218,其可以使各种应用220、222、224能够通过数据管理器202与一个或多个服务器和/或可移动物体通信。尽管示出了三个应用,但是实施例可以支持更多或更少的应用。在一些实施例中,协议路由器217可以在通过数据管理器202中包括的任何接口接收数据时路由数据。可以基于所接收的数据或元数据、协议、内容或其他通信特性来执行路由。
如图所示,数据管理器202可以包括标准特征组204和可定制的特征组206。尽管这些特征组被示出为不同的集合,但这仅是为了简化说明,在各种实施例中,所有可用特征可以包括在单个特征组或任何其他特征集合中。如本文中所使用的,特征可以指代可由应用220、222、224和/或可移动物体访问、指示或以其他方式利用的动作210、接口208和/或其他功能。在一些实施例中,硬件接口208可以包括传感器接口、负载接口或其他硬件组件接口。例如,客户端侧传感器接口可以用于与可移动物体上的对应传感器接口相连接以访问对应的传感器(例如,提供控制或配置数据、接收传感器数据等)。给定特征可以包括安装到客户端设备110的客户端侧特征部分和安装到可移动物体的可移动物体侧特征部分。这些客户端侧和可移动物体侧特征部分可以包括软件和/或硬件驱动器、许可数据或使这些特征能够被利用的其他软件/硬件。在各种实施例中,可以为数据管理器202和/或标准特征组204和/或可定制的特征组206中的每个特征维护版本数据212。类似地,在一些实施例中,客户端侧动作可以调用由可移动物体执行的一个或多个动作。客户端侧动作可以收集来自用户的输入数据(例如,航路点、诸如加速度曲线之类的控制数据,以在航路点或路径数据之间执行以确定航路点之间的弯曲路径)。客户端侧动作可以通过与机载动作相关联的应用编程接口(API)将该输入数据提供给机载动作。
在一些实施例中,客户端设备110可以从可移动物体接收特征列表,该特征列表可以识别可移动物体当前支持的那些特征(例如,动作、硬件组件或已经在可移动物体上安装或启用的其他功能)。特征列表可以使用与特征相关联的标识符和/或版本数据来识别特征。在一些实施例中,客户端设备110可以连接到多个可移动物体并同时或在不同时间点接收多个对应的特征列表。每个特征列表可以由与机载数据管理器/可移动物体相关联的标识符索引。在一些实施例中,当客户端设备重新连接(或在重新连接之后周期性地)到这些可移动物体之一时,客户端设备可以请求更新后的特征列表。
图3示出了根据本发明的各种实施例的可移动物体环境300中的记载数据管理器的示例。可移动物体104可以包括无人驾驶飞行器、无人驾驶车辆、手持设备和/或机器人。可移动物体104可以包括控制器304,例如飞行控制器,其可以基于通过位置管理器从访问管理器接收的地理围栏数据(例如,访问数据)来控制可移动物体的导航和限制可移动物体的移动。可移动物体104还可以包括一个或多个传感器324,其可以通过机载传感器接口318进行控制,机载传感器接口318可以从对应的客户端侧传感器接口接收控制数据以产生传感器数据326。如上所述,一个或多个传感器324可以包括任何传感器,包括GPS传感器、运动传感器、惯性传感器、接近传感器或图像传感器。传感器数据326可以用于控制可移动物体104的空间位置、速度和/或取向。在一些实施例中,传感器324可以收集关于可移动物体104的状态信息,例如电池电量、信号强度(例如,遥控信号强度、视频信号强度、GPS信号强度等)和其他信息。附加地或备选地,传感器206可以收集关于可移动物体202周围的环境的数据,例如天气状况、与潜在障碍物的接近度、地理特征的位置、人造结构的位置等。
在各种实施例中,传感器324可以包括标准传感器328,其可对应于上面讨论的传感器。另外,可以通过添加新传感器和/或新传感器驱动器来扩展传感器324,以实现扩展的传感器330。这可以包括为执行特定任务而添加的特定于应用的传感器。例如,可以将测距传感器、LiDAR传感器或其他传感器硬件添加到可移动物体104。可以在机载数据管理器306中配置对应的硬件和/或软件驱动器传感器318,以使新传感器能够被使用。类似地,可以通过更新硬件和/或软件传感器318来启用或禁用已经安装的传感器硬件的特征。
可移动物体104还可以包括机载数据管理器306。机载数据管理器306可以在一个或多个处理器、现场可编程门阵列、专用集成电路或可移动物体104中的其他处理设备上执行。机载数据管理器306可以包括若干接口以与可移动物体环境中的其他系统通信。例如,服务器接口308可以响应于来自可移动物体的指令,来促进与服务器(例如服务器126)的通信。服务器接口308可以响应于来自可移动物体的指令,使得机载数据管理器306能够从服务器获得包括关于所请求的特征和/或硬件驱动器(例如传感器驱动器)的数据的特征组数据。如上所述,在一些实施例中,服务器接口308可以与在服务器上执行的一个或多个应用通信,例如对象存储服务、数据库、应用(例如,app)商店或其他应用或服务。机载数据管理器306还可以包括客户端设备接口310,其可以促进与一个或多个客户端设备的通信。如所讨论的,客户端设备接口310可以促进与在客户端设备上执行的数据管理器的通信。在一些实施例中,协议路由器312可以在通过机载数据管理器306中包括的任何接口接收数据时路由数据。可以基于所接收的数据或元数据、协议、内容或其他通信特性来执行路由。
在一些实施例中,可移动物体104可以通过服务器接口308与其他可移动物体通信。客户端设备可以向第一可移动物体提供指令,这些指令还可以包括要传递给另一可移动物体的指令。例如,在检查应用中,可以利用多个可移动物体来执行检查,其中每个可移动物体接管来自先前可移动物体的检查。当一个可移动物体的电池电量低(或者需要可移动物体停止执行检查的其他条件)时,可移动物体可以指示下一个可移动物体执行检查并提供指示新可移动物体在检查中何处开始的数据。
如图所示,机载数据管理器306可以包括标准特征组314和可定制的特征组316。尽管这些特征组被示出为不同的集合,但这仅是为了简化说明,在各种实施例中,所有可用特征可以包括在单个特征组或任何其他特征集合中。如本文中所使用的,特征可以指代可以由一个或多个客户端设备访问、指示或以其他方式利用的动作320和/或接口318。在一些实施例中,硬件接口318可以包括传感器接口、负载接口或其他硬件组件接口,其可以与对应的客户端侧传感器接口通信以提供对相应硬件组件的访问(例如,以接收控制或配置数据、提供数据等)。给定特征可以包括安装到客户端设备的客户端侧特征和安装到可移动物体104的可移动物体侧特征。这些客户端侧和可移动物体侧特征314、316可以包括软件和/或硬件驱动器,许可数据或使这些特征能够被利用的其他软件/硬件。在各种实施例中,可以为机载数据管理器306和/或标准特征组314和/或可定制的特征组316中的每个特征维护版本数据322。
图4示出了根据本发明的各种实施例的可移动物体环境400中的特征服务器的示例。在一些实施例中,特征服务器的示例可以包括app商店、地面站或被配置为提供关于特征和/或硬件组件驱动器的数据的其他计算设备。例如,特征服务器可以包括任何合适的存储设备(例如,USB驱动器、云存储提供商、无线传输等)。如图4所示,服务器126可以包括通信管理器402。服务器126可以是任何网络可访问的服务器计算机,其可以包括一个或多个处理器、现场可编程门阵列、专用集成电路或其他处理设备。通信管理器402可以包括若干接口以与可移动物体环境中的其他系统通信。例如,可移动物体接口404和客户端设备接口406可以促进与一个或多个可移动物体和客户端设备的通信。可移动物体404可以使得服务器126能够将包括关于所请求的特征和/或硬件驱动器(例如传感器驱动器)的数据的特征组数据从服务器提供给可移动物体。类似地,客户端设备接口406可以使服务器126能够从服务器向客户端设备提供包括动作数据和传感器数据的特征组数据和/或从客户端设备接收指令以向一个或多个可移动物体提供特征组数据。如所讨论的,服务器126可以包括一个或多个应用,例如对象存储服务、数据库、应用(例如,app)商店或其他应用或服务。在一些实施例中,协议路由器408可以在通过通信管理器402中包括的任何接口接收数据时路由数据。可以基于所接收的数据或元数据、协议、内容或其他通信特性来执行路由。
在一些实施例中,通信管理器402可以包括授权管理器410、可移动物体管理器412和更新管理器414。在将特征提供给客户端设备或可移动物体之前,授权管理器可以用于授权访问各种特征。例如,可以从请求特征的客户端设备或可移动物体接收许可数据或其他帐户数据。可以在将特征数据提供给客户端设备或可移动物体之前授权许可数据。在一些实施例中,可移动物体管理器412可以将标识符与可移动物体相关联并维护可移动物体的简档。例如,配置文件可以包括历史数据,例如下载历史、授权历史等。在一些实施例中,简档可以包括特定于应用的简档。例如,可移动物体可以具有检查简档和摄影简档。检查简档可以包括使可移动物体能够执行物体检查的第一特征组,摄影简档可以包括用于更一般化摄影的第二特征组。用户可以通过客户端设备选择可移动物体要使用的简档,并且服务器126可以在可移动物体和客户端设备上执行设置以安装对应的特征组。在一些实施例中,更新管理器414可以在特征变得可用时跟踪特征的新版本,并且可以使可移动物体和/或客户端设备可访问的安装特征进行更新。在一些实施例中,更新管理器414可以自动(例如,使用“推”技术)和/或响应于从用户接收的更新请求(例如,使用“拉”技术)执行更新。
如图所示,服务器126可以包括一个或多个特征组416。服务器126可以维护传感器418和动作422的客户端侧和可移动物体侧特征。如图所示,每个传感器可以对应于传感器驱动器424,其可以包括软件430和/或硬件驱动器428,或者使这些特征能够被利用的其他软件/硬件。在一些实施例中,硬件传感器安装到可移动物体,并且硬件驱动器428对应于可移动物体侧特征,而软件驱动器430对应于客户端侧特征,其可以使客户端设备能够请求和接收来自硬件传感器的数据。类似地,动作422可以对应于客户端侧动作特征432和可移动物体特征434。例如,客户端侧动作特征432可以包括用于调用对应的机载动作343的代码和/或接口。可移动物体特征434可以包括用于可移动物体执行动作的代码,并且可以包括用于从客户端侧特征接收输入并提供指示动作的执行的响应数据的接口。在各种实施例中,版本管理器420可以管理客户端侧和可移动物体侧对,使得当客户端设备请求将特征下载到客户端设备和可移动物体时,将该特征的相同版本下载到两者。
图5示出了根据本发明的各种实施例的数据管理器和机载数据管理器之间的通信的序列图500。如图5所示,安装到客户端设备的数据管理器502可以通过物理通信链路的透明传输信道506与安装到可移动物体的机载数据管理器504通信。在一些实施例中,通过可移动物体上的飞行控制器提供透明传输信道,其允许数据不变(例如,“透明”)地通过。在一些实施例中,通信信道可以例如通过WiFi链路将客户端数据管理器直接连接到机载数据管理器。通信可以从数据管理器502发送心跳508开始。每个心跳可以是指示存在数据管理器502并且请求来自任何可用的机载数据管理器的响应的消息。在一些实施例中,心跳的频率可以变化。例如,在启动时,可以用高频率发送心跳,并且该频率可以随着时间的推移而减慢。在一些实施例中,在机载数据管理器已经连接之后,如果在阈值时间量内没有发送或接收命令,则可以发送心跳以防止断开连接。机载数据管理器504可以用指示其存在的心跳确认510进行响应。此后,数据管理器502可以发起握手请求512。握手请求可以包括对来自机载数据管理器504的可用特征的请求。在一些实施例中,握手请求还可以包括对与可用特征和/或机载数据管理器相关联的版本信息的请求。在一些实施例中,可以在单独的请求中请求版本数据。如果机载数据管理器不可用(例如,如果在透明传输信道上通信的可移动物体不包括机载数据管理器),则该请求可能超时516。如果请求超时,则数据管理器502可以确定机载数据管理器504不可用,并且关于可用特征、传感器等的进一步通信可以终止。
在一些实施例中,如果机载数据管理器504可用,则可以发送包括所请求的版本数据的握手响应514。数据管理器可以请求特征列表518并从机载数据管理器接收响应于此的特征列表520。如所讨论的,特征列表可以包括通过机载数据管理器504可用的各种动作和/或传感器。数据管理器和机载数据管理器可以继续交换心跳522、524,直到发送其他指令。例如,数据管理器可以订阅来自机载数据管理器的特征列表上可用的传感器526。机载数据管理器可以确认528该订阅并且可以开始发送来自订阅的传感器的传感器数据530、532。在确认528之后,传感器驱动器可以令对应的传感器收集传感器数据。然后,传感器驱动器可以将传感器数据提供给机载数据管理器,机载数据管理器可以将传感器数据提供给订阅该传感器的客户端侧数据管理器。在一些实施例中,传感器数据可以以预定频率发送,或者可以在接收时发送。客户端侧数据管理器可以在订阅请求中或在单独的请求中请求特定频率。客户端侧数据管理器可以将所接收的传感器数据提供给在订阅该传感器的客户端设备上执行的应用。在一些实施例中,传感器驱动器可以将从传感器接收的传感器数据转换为可由机载数据管理器和/或客户端侧数据管理器读取的形式。一旦数据管理器不再需要传感器数据(例如,一旦在客户端设备上执行的应用已完成其执行,一旦可移动物体已完成相关联的动作或其他结束条件),则可以发送用于停止传感器订阅534的请求。可以确认536停止订阅并且可以终止传感器数据传输。此后,可以继续交换心跳538、540以指示连接被维持。
图6示出了根据本发明的各种实施例的数据管理器和机载数据管理器之间的通信的另一序列图600。类似于图5,在图6中,安装到客户端设备的数据管理器602可以通过物理通信链路的透明传输信道606与安装到可移动物体的机载数据管理器606通信。通信可以从数据管理器602发送心跳608开始。机载数据管理器604可以用指示其存在的心跳确认610进行响应。此后,数据管理器602可以发起握手请求612。握手请求可以包括对机载数据管理器604的版本数据的请求。数据管理器可以请求特征列表616并从机载数据管理器接收响应于此的特征列表618。如所讨论的,特征列表可以包括通过机载数据管理器604可用的各种动作和/或传感器。数据管理器和机载数据管理器可以继续交换心跳620、622,直到发送其他指令。例如,数据管理器可以发送请求,以启动来自机载数据管理器的特征列表上的可用的特征624。机载数据管理器可以确认626该请求。数据管理器602可以发送包括与所请求的动作相关联的数据的特征动作消息628。例如,所请求的动作可以是复杂的航路点动作,其中用户可以指定一个或多个航路点,航路点之间的加速度简档,和/或定义航路点之间的路径的一个或多个控制点。特征动作628可以包括一组航路点和加速度简档。机载数据管理器604可以使用该数据来处理和执行630所请求的特征并提供特征动作响应632。响应可以包括正在执行的动作的指示,例如可移动物体的实时位置数据。
图7示出了根据本发明的各种实施例的数据管理器702、服务器704和机载数据管理器706之间的通信的序列图700。如图7所示,数据管理器702可以从服务器704请求新特征708。如所讨论的,服务器704可以包括一个或多个应用(例如app商店),可以通过一个或多个应用请求特征。在一些实施例中,可以从各种存储设备(例如,来自USB驱动器、来自云存储提供商、经由无线传输)加载特征。服务器704可以用新特征710进行响应,新特征710可以包括数据管理器安装程序709和机载数据管理器安装程序711。数据管理器702可以将新特征712提供给机载数据管理器706。该消息可以包括机载数据管理器安装程序711,或者可以在一个或多个单独的消息中提供安装程序。在一些实施例中,可以向机载数据管理器706提供令牌或其他标识符,利用该令牌或其他标识符,机载数据管理器706可以直接从服务器704获得安装程序711。数据管理器702和机载数据管理器两者都可以使用它们各自的安装程序709、711来安装714、716新特征。然后,数据管理器702可以从机载数据管理器706请求特征列表718,并在响应720中接收特征列表。如果新特征已经正确安装,则新特征将出现在特征列表响应中。然后,数据管理器可以请求启动新特征722,并且可以接收新特征启动确认。然后可以如上面针对图6所讨论的那样继续处理。
图8示出了根据本发明的各种实施例的数据管理器802和机载数据管理器804之间的通信的另一序列图800。如图8所示,数据管理器802可以从机载数据管理器804请求特征列表806。然后在来自机载数据管理器的响应808中提供特征列表。例如,数据管理器802可以刚刚连接到新的可移动物体,并且正请求特征列表,以确定新的可移动物体具有哪些特征。然后,数据管理器802可以将从机载数据管理器804接收的特征列表与数据管理器自己的特征列表进行比较810。可以禁用812通过数据管理器802可用但通过机载数据管理器不可用的特征。在一些实施例中,使缺失特征可以通过机载数据管理器经由与服务器通信而可用,例如以上针对图7所描述的。
图9示出了根据本发明的各种实施例的在可移动物体环境900中执行动作序列的示例。如图9所示,诸如智能电话、个人计算机或其他移动设备之类的客户端设备902可以连接到遥控器904。如所讨论的,可以接收用户意图作为客户端设备902和/或遥控器904的输入。用户意图可以识别用户想要可移动物体执行的一个或多个动作,例如悬停、沿预期方向行进等。该意图可以由在客户端设备902上执行的数据管理器或由在可移动物体906上执行的机载数据管理器转换为命令。然后,这些命令可以由可移动物体906上的飞行控制器执行。在一些实施例中,可以通过无线通信信道908将命令发送给飞行控制器。如所时论的,命令可以由客户端设备902和可移动物体906中的路由器打包和解包。
在一些实施例中,一系列动作可以在任务控制905中排队。针对每个动作,数据管理器可以动态地确定如何处理动作。例如,其中指示可移动物体在至少两个航路点之间行进的航路点任务907可以由在客户端设备902上执行的数据管理器处理,以生成一个或多个命令。然后,可以经由透明传输信道908将这些命令发送给可移动物体906上的飞行控制器。当接收到指示航路点任务完成的响应时,可以处理队列中的下一个任务,复杂的航路点任务909。数据管理器可以确定在CPU 910上执行的机载数据管理器将对该任务进行处理。该处理消除了处理数据管理器和飞行控制器之间的延迟,因为可以通过有线连接提供命令。如上面针对图6所讨论的那样,这可以包括向机载数据管理器910发送启动特征命令并提供控制数据,该控制数据定义在航路点之间遵循的弯曲路径。其他动作也可以由机载数据管理器执行,例如航线校正以精确地保持航向、物体检测或其他动作。
在一些实施例中,如果机载数据管理器不可用,例如,如果如上面所述那样超时了,或者如果所请求的动作通过机载数据管理器不可用,则可以动态地将复杂航路点任务909的处理重新分配给客户端设备的数据管理器。例如,可以将复杂的航路点任务处理为一系列较小的简单航路点任务,从而产生可以传递给飞行控制器来执行的命令。任务队列可以以降落指令911结束,降落指令911可以由客户端设备的数据管理器或机载数据管理器处理。该系统的一个优点是,当机载数据管理器不可用时,它通过使客户端设备的数据管理器能够支持各种动作来提供冗余,反之亦然。
图10示出了根据本发明的各种实施例的在可移动物体环境中的可用机载命令1000的示例。如图10所示,客户端设备管理器可以通过飞行控制器类1002访问机载数据管理器类1004。机载数据管理器类1004通过对应的类1066和1008公开传感器和功能。如本文中所述,功能可以包括如上面所讨论的动作。例如,传感器类1006可以包括如上面针对图5所讨论的传感器命令,例如,获取传感器列表命令1010、订阅命令1012和取消订阅命令。类似地,功能类1008可以公开功能命令,例如以上针对图6所讨论的功能命令,包括获取功能列表命令1016和各种启动功能命令1018、1020。在一些实施例中,每个启动功能命令可以进一步公开其自己的应用编程接口,通过该应用编程接口可以向机载数据管理器提供执行对应功能的数据(例如,控制数据、航路点等)。在一些实施例中,可以通过客户端设备数据管理器和/或通过由客户端设备数据管理器创建的操作者对象来调用各种命令,该客户端设备数据管理器可以调用所请求的动作。
图11示出了根据本发明的各种实施例的在可移动物体环境中的可用客户端动作1100的示例。可以通过由可移动物体类1102公开的数据管理器类1104来访问客户端设备数据管理器。可以使用指令从客户端设备数据管理器接收数据。这些指令可以调用由传感器类1106或功能类1108公开的功能。如本文中所述,功能可以包括如上面所讨论的动作。例如,可以通过对应的接口1110和1112传递读取或订阅传感器数据或者校准或配置传感器的指令。如上面所讨论的,各个功能可以公开它们自己的API以接收数据,从而执行对应的动作。这些API可以提供对功能接口1114、1116的访问,功能接口1114、1116可以将对应的动作和数据传递给机载数据管理器1118以进行处理。如所讨论的,机载数据管理器1118可以将这些命令处理成要由飞行控制器执行的一系列飞行命令。状态消息可以通过对应的接口返回到客户端设备数据管理器。
尽管已经针对任务一般性地讨论了实施例,但是这些实施例展现出可以与各种实施例一起使用的示例特征。附加特征可以包括航线校正、图像/物体检测、机器学习路径查找、实时条件适应或其他动作。例如,机器学习可以用于学习目标物体模型,并且能够基于所收集的图像数据获知可移动物体相对于目标物体在空间中的何处。机器学习还可以用于确定可移动物体在不同的现实条件下(例如在不同的风或天气条件下)如何表现,并且可以相应地调整任务参数。例如,可以基于下述内容来增加或减少安全缓冲距离:如何基于过去的性能数据确定可移动物体在那些条件下执行。在一些实施例中,可以执行低能量路径寻找动作以实时确定飞行路径,其使横穿所需的能量最小化。例如,如果可移动物体的电池电量低,则可以确定将能量使用最小化以延长飞行时间的路径,并且可以动态地采用该新路径。
图12示出了根据本发明的各种实施例的可移动物体环境1200中的定制通信协议的示例包。如图12所示,传感器包1200a可以包括报头部分1202和主体部分1204。报头部分可以包括命令标识符、序列号或其他数据。在一些实施例中,可以在主体1204中打包和提供传感器数据。每个传感器包1206可以包括由一个或多个传感器收集的数据,例如范围数据、角度数据、航向、时间戳等,并且可以对应于一个传感器的传感器数据(例如,传感器包1可以对应于来自图像传感器的传感器数据、传感器包2可以对应于来自磁力计的传感器数据等)。传感器包1206示出了传感器包1至N之一的结构,然而,根据使用中的传感器,传感器包中包括的数据或传感器包的结构可以变化。在一些实施例中,移动设备可以在单个请求中调用多于一个的传感器,并且一个响应可以包括针对一些或所有调用的传感器的响应数据。在一些实施例中,每个传感器请求可以接收对应的传感器响应,该对应的传感器响应包括针对对应请求的传感器数据。
类似地,可以使用协议来提供与动作的执行有关的数据。在这种实施例中,动作响应包1200b可以包括报头1208,报头1208可以包括与发送传感器数据时相同或基本相似的信息,但主体1210可以改为包括打包的动作数据。每个动作包1212可以包括与正在执行的动作有关的数据,例如状态数据、位移数据、控制数据、时间戳数据等。在一些实施例中,动作包1至N可以包括正在执行的单个动作的动作数据,或者可以包括多个动作的数据。动作包1212示出了动作包1至N之一的结构,然而,根据正在执行的动作,动作包1212的数据或动作包的结构可以变化。在各种实施例中,图12中所示出的动作响应包1200b可以用于调用一个或多个特定命令(例如,使用命令ID字段)和/或上传数据(例如,将特征数据上传到机载数据管理器、将传感器数据上传到客户端设备数据管理器等)。在一些实施例中,移动设备可以在单个请求中调用多于一个的动作,并且一个响应可以包括针对一些或所有动作响应的响应数据。在一些实施例中,每个请求可以接收包括对应请求的响应数据的对应响应。
图13示出了根据本发明的各种实施例的可移动物体环境1300中的动作的示例。如图13所示,动作可以包括在检查任务期间的物体对中动作。可移动物体1302可以执行各种目标物体1303的检查任务。这种检查任务可以包括捕获目标物体的图像或视频数据,或目标物体的部分1304。例如,图像数据1305示出了目标物体的部分1304。然而,图像偏离中心可能限制图像数据的有用性以完成检查任务。这样,物体对中动作可以由可移动物体1302上的机载数据管理器执行,以分析图像数据,基于图像数据确定偏移,并捕获新的图像数据。例如,机载数据管理器可以确定图像数据的中心点1306与图像数据中目标物体的表示的中心点1308之间的像素差异。在一些实施例中,可以使用图像处理、机器学习或其他技术来确定中心点1308。机载数据管理器可以基于在捕获图像数据时可移动物体的已知位置(例如,可移动物体的坐标和距目标物体的距离)和使用中的图像捕获设备的特征,将点1306和点1308之间在像素上的不同转换为真实世界位移。然后可以使用所得到的位移来确定从其捕获令目标物体居中的图像数据的新位置。在一些实施例中,可以将位移应用于检查任务中的未来位置。
图14示出了根据本发明的各种实施例的在软件开发环境中支持可移动物体接口的示例。如图14所示,可移动物体接口1403可以用于提供对软件开发环境1400(例如软件开发工具包(SDK)环境)中的可移动物体1401的访问。如上面所讨论,可以将数据管理器提供作为SDK或移动SDK的一部分,以使应用能够执行定制动作、访问新传感器和传感器数据等。同样地,可以将机载数据管理器提供作为SDK或机载SDK的一部分,以使这些定制动作的全部或部分能够直接在可移动物体上执行,从而减少延迟并改善性能。
此外,可移动物体1401可以包括各种功能模块A-C 1411-1413,并且可移动物体接口1403可以包括不同的接口组件A-C 1431-1433。可移动物体界面1403中的每个所述接口组件A-C 1431-1433可以表示可移动物体1401中的模块A-C 1411-1413。
根据本发明的各种实施例,可移动物体接口1403可以提供一个或多个回调函数,用于支持应用和可移动物体1401之间的分布式计算模型。
应用可以使用回调函数来确认可移动物体1401是否已经接收到命令。此外,应用可以使用回调函数来接收执行结果。因此,即使应用和可移动物体1401在空间和逻辑上分离,它们也可以交互。
如图14所示,接口组件A-C 1431-1433可以与监听器A-C 1441-1443相关联。监听器A-C 1441-1443可以通知接口组件A-C 1431-1433使用对应的回调函数来从相关模块接收信息。
另外,为可移动物体接口1403准备数据1420的数据管理器1402可以解耦和打包可移动物体1401的相关功能。此外,数据管理器1402可以用于管理应用和可移动物体1401之间的数据交换。因此,应用开发者不需要参与复杂的数据交换过程。
例如,SDK可以提供一系列回调函数,用于传送实例消息和从无人驾驶飞行器接收执行结果。SDK可以配置回调函数的生命周期,以便确保信息交换稳定并完成。例如,SDK可以在无人驾驶飞行器和智能电话(例如,使用Android系统或iOS系统)上的应用之间建立连接。在智能电话系统的生命周期之后,回调函数(例如从无人驾驶飞机接收信息的函数)可以利用智能电话系统中的模式并相应地将语句更新到智能电话系统生命周期的不同阶段。
图15示出了根据各种实施例的无人驾驶飞行器接口的示例。如图15所示,无人驾驶飞行器接口1503可以代表无人驾驶飞行器1501。因此,无人驾驶飞行器环境1500中的应用(例如APP1504-1507)可以访问和控制无人驾驶飞行器1501。如所讨论的,这些app可以包括检查应用1504、观看应用1505和校准应用1506。
例如,无人驾驶飞行器1501可以包括各种模块,例如摄像机1515、电池1512、云台1513和飞行控制器1514。
对应地,可移动物体接口1503可以包括相机组件1521、电池组件1522、云台组件1523和飞行控制器组件1524。
另外,可移动物体接口1503可以包括地面站组件1526,其与飞行控制器组件1524相关联。地面站操作为执行一个或多个飞行控制操作,这可能需要高级特权。
图16示出了根据各种实施例的软件开发工具包(SDK)中针对无人驾驶飞行器的组件的示例。如图16所示,SDK 1600中的无人机类1601是用于无人驾驶飞行器(或无人机)的其他组件1602-1607的聚合。可以访问其他组件1602-1607的无人机类1601可以与其他组件1602-1607交换信息并控制其他组件1602-1607。
根据各种实施例,应用可以仅被无人机类1601的一个实例访问。备选地,在应用中可以存在无人机类1601的多个实例。
在SDK中,应用可以连接到无人机类1601的实例,以便将控制命令上传到无人驾驶飞行器。例如,SDK可以包括用于建立与无人驾驶飞行器的连接的功能。此外,SDK可以使用端连接功能断开与无人驾驶飞行器的连接。在连接到无人驾驶飞行器之后,开发者可以访问其他类(例如,相机类1602和云台类1604)。然后,可以将无人机类1601用于调用特定功能,例如,提供可以由飞行控制器用来控制无人驾驶飞行器的行为和/或限制其移动的访问数据。
根据各种实施例,应用可以使用电池类1603以用于控制无人驾驶飞行器的电源。此外,应用可以使用电池类1603来规划和测试各种飞行任务的调度。
由于电池是无人驾驶飞行器中最受限制的元件之一,所以应用可以认真考虑电池的状态,不仅是为了无人驾驶飞行器的安全,而且还为了确保无人驾驶飞行器可以完成指定的任务。例如,电池类1603可以被配置成使得如果电池电量低,则无人驾驶飞行器可以终止任务并直接返航。
使用SDK,应用可以通过调用从无人机电池类请求信息的功能来获得电池的当前状态和信息。在一些实施例中,SDK可以包括用于控制这种反馈的频率的功能。
根据各种实施例,应用可以使用相机类1602以用于定义可移动物体(例如无人驾驶飞行器)中的相机上的各种操作。例如,在SDK中,相机类包括用于在SD卡中接收媒体数据、获取和设置照片参数、拍摄照片和录制视频的功能。
应用可以使用相机类1602以用于修改照片和记录的设置。例如,SDK可以包括使开发者能够调整所拍摄照片的大小的功能。此外,应用可以使用媒体类来维护照片和记录。
根据各种实施例,应用可以使用云台类1604以用于控制无人驾驶飞行器的视野。例如,云台类可以用于配置实际视图,例如设置无人驾驶飞行器的第一人视图。此外,云台类可以用于自动稳定云台,以便聚焦在一个方向上。此外,应用可以使用云台类来修改用于检测不同物体的视角。
根据各种实施例,应用可以使用飞行控制器类1605以用于提供关于无人驾驶飞行器的各种飞行控制信息和状态。如所讨论的,飞行控制器类可以包括用于接收和/或请求访问数据的功能,以用于控制无人驾驶飞行器在无人驾驶飞行器环境中的各个区域的移动。
使用主控制器类,应用可以监控飞行状态,例如使用即时消息。例如,主控制器类中的回调函数可以每千毫秒(1000毫秒)发送回即时消息。
此外,主控制器类允许应用的用户调查从无人驾驶飞行器接收的实例消息。例如,飞行员可以分析每个飞行的数据,以便进一步提高他们的飞行技能。
根据各种实施例,应用可以使用地面站类1607来执行用于控制无人驾驶飞行器的一系列操作。
例如,SDK可能要求应用具有2级SDK密钥以使用地面站类。地面站类可以提供一键式飞行、一键式返航、通过app手动控制无人机(即操纵杆模式)、设置巡航和/或航路点以及各种其他任务调度功能。
根据各种实施例,应用可以使用通信组件,以用于建立应用和无人驾驶飞行器之间的网络连接。
图17示出了根据各种实施例的可移动物体环境中的通信管理的流程图1700。在步骤1702处,用户设备上的数据管理器可以识别可移动物体上的机载数据管理器,可移动物体通信地耦接到客户端设备。例如,如上面所讨论,在启动时,数据管理器可以开始发送心跳包/消息。每个心跳可以是指示存在数据管理器并且请求来自接收心跳的任何可用的机载数据管理器的响应的消息。当从机载数据管理器接收到心跳响应时,机载数据管理器已经被识别,可以执行握手以完成连接。在一些实施例中,可以利用握手来接收机载数据管理器的版本数据。
在步骤1704处,可以从机载数据管理器接收特征列表。特征列表包括安装到可移动物体的至少一个特征。响应于来自数据管理器的对特征列表的请求,可以接收特征列表。在一些实施例中,特征列表可以包括与安装在可移动物体上的特征相对应的标识符。在一些实施例中,每个特征的版本信息可以包括在特征列表中。
在步骤1706处,用户设备接收至少一个输入。在一些实施例中,输入可以是来自用户的用于执行任务的命令,包括一个或多个任务指令。在一些实施例中,至少一个输入可以用于将第二传感器添加到包括对应的第二传感器接口的可移动物体,所述可移动物体包括数据订阅服务和校准服务。
在步骤1708处,确定与至少一个输入相对应的用户设备特征。例如,识别一个或多个航路点的输入可以对应于航路点或复杂航路点特征。类似地,与支持新传感器相对应的输入可以对应于传感器订阅特征。在步骤1710处,可以基于特征列表确定机载数据管理器支持用户设备特征。这使数据管理器能够确定可移动物体是否也支持该特征。比较可以包括比较特征标识符和/或特征版本数据。
在步骤1712,响应于确定用户设备特征被支持,可以将与该至少一个输入相对应的第一指令发送给包括机载数据管理器的可移动物体。例如,第一指令可以是从可移动物体上的至少一个传感器订阅数据,或者第一指令可以是任务指令,包括加速度简档指令或复杂航路点指令之一。
在一些实施例中,方法还可以包括确定由数据管理器处理第二指令,并处理第二指令以生成多个飞行控制指令。可以将多个飞行控制器指令发送给可移动物体处的飞行控制器。在一些实施例中,可以识别与至少一个输入相对应的第二特征。然后可以在特征列表上识别第二对应特征。可以比较与对应特征和用户设备特征相关联的版本数据。如果确定版本数据不匹配,则可以请求来自服务器的更新后的第二特征并将其上传到机载数据管理器。
在一些实施例中,多个可移动物体特征可以包括被配置为与至少一个传感器相连接的机载传感器接口,并且用户设备特征包括被配置为与机载传感器驱动器相连接的对应用户设备传感器驱动器。在一些实施例中,该指令用于从至少一个传感器订阅数据。
在一些实施例中,多个可移动物体特征和对应的用户设备特征中的至少一个特征共同实现与计算机视觉、机器学习或任务执行中的至少一个有关的功能。
在一些实施例中,至少一个输入将新特征添加到至少一个可移动物体。至少一个输入将新特征添加到所述至少一个可移动物体可以包括:将与所述新特征相对应的可移动物体特征上传到所述可移动物体。
在一些实施例中,所述至少一个输入用于将第二传感器添加到所述至少一个可移动物体,并且其中,与所述第二传感器相对应的所述可移动物体特征包括第二传感器接口。第二传感器接口可以包括数据订阅服务和校准服务。
在一些实施例中,方法还可以包括接收与至少一个用户界面元素相关联的定制变换或定制更新中的至少一个,以及
使用定制变换或定制更新中的至少一个来渲染至少一个用户界面元素。
在一些实施例中,可移动物体是无人驾驶飞行器。在一些实施例中,可以在用户设备上显示用户界面,并且用户设备可以包括便携式计算设备、可穿戴计算设备、虚拟现实系统或增强现实系统中的一种。
本发明的许多特征可以使用或借助于硬件、软件、固件或其组合来执行。因此,可以使用处理系统(例如,包括一个或多个处理器)来实现本发明的特征。示例性处理器可以包括但不限于:一个或多个通用微处理器(例如,单核或多核处理器)、专用集成电路、专用指令集处理器、图形处理单元、物理处理单元、数字信号处理单元、协处理器、网络处理单元、音频处理单元、加密处理单元等。
本发明的特征可以利用、使用或借助于计算机程序产品来实现,计算机程序产品是其上/其中存储有指令的存储介质(媒体)或计算机可读介质(媒体),可以将所述指令用来对处理系统进行编程以执行本文中呈现的任何特征。存储介质可以包括但不限于任何类型的盘,包括:软盘、光盘、DVD、CD-ROM、微型驱动器和磁光盘、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、闪存设备、磁卡或光卡、纳米系统(包括分子存储器IC)或者适于存储指令和/或数据的任何类型的介质或设备。
存储在机器可读介质(介质)中的任何一个上,本发明的特征可以被结合在用于控制处理系统的硬件的软件和/或固件中,并且用于使得处理系统能够利用结果与其他机构交互的本发明。这样的软件或固件可以包括但不限于应用代码、设备驱动程序、操作系统和执行环境/容器。
本发明的特征还可以使用例如诸如专用集成电路(ASIC)和现场可编程门阵列(FPGA)设备的硬件组件来从硬件上实现。用于执行本文所述功能的硬件状态机的实现方式对于相关领域的技术人员将是显而易见的。
附加地,可以使用包括一个或多个处理器、存储器和/或根据本公开的教导编程的计算机可读存储介质在内的一个或多个常规通用或专用数字计算机、计算设备、机器或微处理器,来方便地实现本发明。编程技术人员可以根据本公开的教导容易地准备适当的软件编码,这对软件领域的技术人员将是显然的。
虽然以上已经描述了本发明的各种实施例,但应该理解,它们已经以示例而非限制的方式呈现。对于相关领域的技术人员来说显而易见的是,在不脱离本发明的精神和范围的情况下,可以在本文中进行形式和细节上的各种改变。
以上借助于功能构建块描述了本发明,功能构建块说明了特定功能及其关系的执行。为了描述的方便,这些功能构建块的边界在本文中经常被任意定义。只要适当地执行了指定的功能和关系,就可以定义替代边界。因此任何这种替代边界都在本发明的范围和精神之内。
已经出于示出和描述的目的提供了本发明的前述描述。这并不是穷尽性的或将本发明限制于公开的确切形式。本发明的宽度和范围不应该受到任何上述示例性实施例的限制。对于本领域技术人员而言,许多修改和变化将是显而易见的。修改和变化包括公开特征的任何相关组合。选择和描述实施例是为了最好地解释本发明的原理及其实际应用,从而使本领域的其他技术人员能够理解本发明的各种实施例以及适合于预期的特定用途的各种修改。意图是,本发明的范围由所附权利要求及其等同物限定。
在上述各种实施例中,除非另外特别指出,诸如短语“A、B或C中的至少一个”之类的分离性语言旨在被理解为意指A、B或C中任一个或其任意组合(例如,A、B和/或C)。因此,分离性语言不意图也不应该理解为暗示给定实施例要求存在至少一个A、至少一个B或者至少一个C。

Claims (40)

1.一种用于在可移动物体环境中传送指令的系统,包括:
至少一个可移动物体,包括:
第一处理器,
飞行控制器,
至少一个传感器,以及
机载数据管理器,被配置为实现多个可移动物体特征;
用户设备,包括:
第二处理器,以及
设备数据管理器,被配置为实现多个用户设备特征,每个用户设备特征对应于所述多个可移动物体特征之一;以及
其中所述用户设备接收至少一个输入,并且其中所述设备数据管理器被配置为确定与所述至少一个输入相对应的用户设备特征,并向所述机载数据管理器上的可移动物体特征发送与所述至少一个输入相对应的指令,所述可移动物体特征对应于所述用户设备特征。
2.根据权利要求1所述的系统,其中,所述设备数据管理器将多个指令存储在队列中以发送给所述可移动物体。
3.根据权利要求2所述的系统,其中,所述设备数据管理器还被配置为:确定处理来自所述队列的第一指令,并将多个飞行控制指令发送给所述飞行控制器。
4.根据权利要求3所述的系统,其中,所述设备数据管理器还被配置为:确定来自所述队列的第二指令将由所述机载数据管理器处理,并将所述第二指令发送给所述机载数据管理器。
5.根据权利要求1所述的系统,其中,所述多个可移动物体特征包括被配置为与所述至少一个传感器相连接的机载传感器接口,并且所述多个用户设备特征包括被配置为与机载传感器驱动器相连接的对应的用户设备传感器驱动器。
6.根据权利要求5所述的系统,其中,所述指令用于订阅来自所述至少一个传感器的数据。
7.根据权利要求1所述的系统,其中,所述多个可移动物体特征中的至少一个特征和对应的用户设备特征共同实现与计算机视觉、机器学习或任务执行中的至少一个有关的功能。
8.根据权利要求1所述的系统,其中,所述指令是任务指令,包括加速度简档指令或复杂航路点指令之一。
9.根据权利要求1所述的系统,其中,所述至少一个输入将新特征添加到所述至少一个可移动物体。
10.根据权利要求9所述的系统,其中,所述至少一个输入将新特征添加到所述至少一个可移动物体包括:将与所述新特征相对应的可移动物体特征上传到所述可移动物体。
11.根据权利要求1所述的系统,其中,所述至少一个输入用于将第二传感器添加到所述至少一个可移动物体,并且其中,与所述第二传感器相对应的所述可移动物体特征包括第二传感器接口。
12.根据权利要求11所述的系统,其中,所述第二传感器接口包括数据订阅服务和校准服务。
13.根据权利要求1所述的系统,其中,所述可移动物体和所述用户设备通过一个或多个网络通信地连接,其中,使用定制协议通过所述一个或多个网络传送所述指令。
14.一种用于在可移动物体环境中传送指令的方法,包括:
通过用户设备上的数据管理器识别可移动物体上的机载数据管理器,所述可移动物体通信地耦接到所述用户设备;
从机载数据管理器接收特征列表,所述特征列表标识安装到所述可移动物体的至少一个特征。
通过所述用户设备接收至少一个输入;
确定与所述至少一个输入相对应的用户设备特征;
基于所述特征列表确定所述机载数据管理器支持所述用户设备特征;以及
响应于确定所述用户设备特征被支持,将与所述至少一个输入相对应的第一指令发送给包括所述机载数据管理器的所述可移动物体。
15.根据权利要求14所述的方法,还包括:
通过所述数据管理器基于所述特征列表确定所述机载数据管理器不支持第二指令;以及
响应于确定所述机载数据管理器不支持所述第二指令,将所述第二指令发送给所述可移动物体处的飞行控制器。
16.根据权利要求14所述的方法,其中,确定所述机载数据管理器支持所述用户设备特征包括:
在所述特征列表上识别与所述用户设备特征相对应的特征;
比较与对应特征和所述用户设备特征相关联的版本数据;以及
确定所述版本数据匹配。
17.根据权利要求14所述的方法,还包括:
识别与所述至少一个输入相对应的第二特征;
在所述特征列表上识别第二对应特征;
比较与对应特征和所述用户设备特征相关联的版本数据;
确定所述版本数据不匹配;
从服务器请求更新后的第二特征;以及
将所述更新后的第二特征上传到所述机载数据管理器。
18.根据权利要求14所述的方法,其中,所述至少一个特征包括被配置为与至少一个传感器相连接的机载传感器接口,并且所述用户设备特征包括被配置为与机载传感器驱动器相连接的对应的用户设备传感器驱动器。
19.根据权利要求18所述的方法,其中,所述指令用于订阅来自所述至少一个传感器的数据。
20.根据权利要求14所述的方法,其中,安装在所述可移动物体上的所述至少一个特征和对应的用户设备特征共同实现与计算机视觉、机器学习或任务执行中的至少一个有关的功能。
21.根据权利要求14所述的方法,其中,所述第一指令是任务指令,包括加速度简档指令或复杂航路点指令之一。
22.根据权利要求14所述的方法,其中,所述至少一个输入将新特征添加到所述可移动物体。
23.根据权利要求22所述的方法,其中,所述至少一个输入将新特征添加到所述可移动物体包括:将与所述新特征相对应的可移动物体特征上传到所述可移动物体。
24.根据权利要求14所述的方法,其中,所述至少一个输入用于将第二传感器添加到所述可移动物体,并且其中,与所述第二传感器相对应的所述可移动物体特征包括第二传感器接口。
25.根据权利要求24所述的方法,其中,所述第二传感器接口包括数据订阅服务和校准服务。
26.一种非暂时性计算机可读存储介质,包括存储在其上的指令,所述指令在由一个或多个处理器执行时,使所述一个或多个处理器执行以下操作:
通过用户设备上的数据管理器识别可移动物体上的机载数据管理器,所述可移动物体通信地耦接到所述用户设备;
从机载数据管理器接收特征列表,所述特征列表标识安装到所述可移动物体的至少一个特征。
通过所述用户设备接收至少一个输入;
确定与所述至少一个输入相对应的用户设备特征;
基于所述特征列表确定所述机载数据管理器支持所述用户设备特征;以及
响应于确定所述用户设备特征被支持,将与所述至少一个输入相对应的第一指令发送给包括所述机载数据管理器的所述可移动物体。
27.根据权利要求26所述的非暂时性计算机可读存储介质,其中,所述指令在被执行时还使所述一个或多个处理器执行以下操作:
通过所述数据管理器基于所述特征列表确定所述机载数据管理器不支持第二指令;以及
响应于确定所述机载数据管理器不支持所述第二指令,将所述第二指令发送给所述可移动物体处的飞行控制器。
28.根据权利要求26所述的非暂时性计算机可读存储介质,其中,用于确定所述机载数据管理器支持所述用户设备特征的指令在被执行时,还使所述一个或多个处理器执行以下操作:
在所述特征列表上识别与所述用户设备特征相对应的特征;
比较与对应特征和所述用户设备特征相关联的版本数据;以及
确定所述版本数据匹配。
29.根据权利要求26所述的非暂时性计算机可读存储介质,其中,所述指令在被执行时还使所述一个或多个处理器执行以下操作:
识别与所述至少一个输入相对应的第二特征;
在所述特征列表上识别第二对应特征;
比较与对应特征和所述用户设备特征相关联的版本数据;
确定所述版本数据不匹配;
从服务器请求更新后的第二特征;以及
将所述更新后的第二特征上传到所述机载数据管理器。
30.根据权利要求26所述的非暂时性计算机可读存储介质,其中至少一个特征包括被配置为与至少一个传感器相连接的机载传感器接口,并且所述用户设备特征包括被配置为与机载传感器驱动器相连接的对应的用户设备传感器驱动器。
31.根据权利要求26所述的非暂时性计算机可读存储介质,其中,所述至少一个输入用于将新特征添加到所述可移动物体,以及其中用于将新特征添加到所述可移动物体的所述至少一个输入包括将与所述新特征相对应的可移动物体特征上传到所述可移动物体。
32.一种系统,包括:
客户端设备,包括客户端设备数据管理器,所述客户端设备数据管理器被配置为与可移动物体通信;
服务器,存储多个特征,每个特征包括至少两个可执行特征部分,所述至少两个可执行特征部分包括被配置为在所述客户端设备上安装的客户端特征部分和被配置为在所述可移动物体上安装的机载特征部分,其中,每个特征对应于要由所述可移动物体执行的不同动作;以及
其中,所述客户端设备数据管理器被配置为:
从所述可移动物体的机载数据管理器接收机载特征列表,所述机载特征列表包括安装在所述可移动物体上的一个或多个特征及所述一个或多个特征的版本数据;
将所述机载特征列表与客户端设备特征列表进行比较,以确定一匹配特征组;以及
在所述客户端设备上启用所述匹配特征组。
33.根据权利要求32所述的系统,其中,所述客户端设备管理器还被配置为:
从第二可移动物体的第二机载数据管理器接收第二特征列表;
将所述第二特征列表与所述客户端设备特征列表进行比较,以确定第二匹配特征组;以及
启用包括在所述第二匹配特征组中且不包括在所述匹配特征组中的特征。
34.根据权利要求33所述的系统,其中,所述客户端设备还被配置为:停用不包括在所述第二匹配特征组中且包括在所述匹配特征组中的特征。
35.根据权利要求33所述的系统,其中,所述客户端设备还被配置为:
识别不包括在所述第二匹配特征组中且包括在所述匹配特征组中的至少一个特征;
向所述服务器发送针对所述至少一个特征的请求;
至少接收与所述至少一个特征相对应的机载特征部分;以及
将所述机载特征部分上传到所述第二可移动物体。
36.根据权利要求32所述的系统,其中,所述客户端设备数据管理器被配置为:基于所述客户端设备上的所述匹配特征组向所述机载数据管理器发送指令。
37.根据权利要求36所述的系统,其中,所述指令包括用于订阅所述可移动物体上的传感器的请求。
38.根据权利要求36所述的系统,其中,所述指令是任务指令,包括要由所述可移动物体执行的加速度简档指令或复杂航路点指令之一。
39.根据权利要求32所述的系统,其中,所述动作能够与任务导航、跟踪、定制负载控制、计算机视觉、机器学习或对等通信有关。
40.根据权利要求39所述的系统,其中,所述定制负载控制与由所述可移动物体携带的负载相关联,所述负载包括硬件组件,所述硬件组件包括传感器、图像捕获设备或机器人臂中的一个或多个。
CN201780090445.5A 2017-09-06 2017-09-06 可移动物体应用框架 Active CN110622086B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2017/050338 WO2019050515A1 (en) 2017-09-06 2017-09-06 MOBILE OBJECT APPLICATION FRAMEWORK

Publications (2)

Publication Number Publication Date
CN110622086A true CN110622086A (zh) 2019-12-27
CN110622086B CN110622086B (zh) 2023-11-14

Family

ID=65634255

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780090445.5A Active CN110622086B (zh) 2017-09-06 2017-09-06 可移动物体应用框架

Country Status (3)

Country Link
US (1) US11620913B2 (zh)
CN (1) CN110622086B (zh)
WO (1) WO2019050515A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11928602B2 (en) 2017-05-09 2024-03-12 Neurala, Inc. Systems and methods to enable continual, memory-bounded learning in artificial intelligence and deep learning continuously operating applications across networked compute edges
WO2021081810A1 (zh) * 2019-10-30 2021-05-06 深圳市大疆创新科技有限公司 控制方法、控制系统、云台及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101953172A (zh) * 2008-02-13 2011-01-19 塞格瑞德公司 分布式多机器人系统
US20160139595A1 (en) * 2014-11-17 2016-05-19 Lg Electronics Inc. Mobile terminal and controlling method thereof
CN106330997A (zh) * 2015-06-19 2017-01-11 网宿科技股份有限公司 一种用于移动终端应用的内容分发的方法和系统
US20170064068A1 (en) * 2015-04-20 2017-03-02 SZ DJI Technology Co., Ltd. System and method for supporting movable object application development
US20170076194A1 (en) * 2014-05-06 2017-03-16 Neurala, Inc. Apparatuses, methods and systems for defining hardware-agnostic brains for autonomous robots

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7307999B1 (en) * 2001-02-16 2007-12-11 Bbn Technologies Corp. Systems and methods that identify normal traffic during network attacks
US8639666B2 (en) * 2008-09-05 2014-01-28 Cast Group Of Companies Inc. System and method for real-time environment tracking and coordination
US9440356B2 (en) * 2012-12-21 2016-09-13 Crosswing Inc. Customizable robotic system
US9611038B2 (en) * 2014-06-03 2017-04-04 Working Drones, Inc. Mobile computing device-based guidance navigation and control for unmanned aerial vehicles and robotic systems
EP3757709B1 (en) * 2014-06-13 2021-12-15 Twitter, Inc. Messaging-enabled unmanned aerial vehicle
US20160307449A1 (en) * 2015-04-15 2016-10-20 International Business Machines Corporation Autonomous drone service system
US10162351B2 (en) * 2015-06-05 2018-12-25 At&T Intellectual Property I, L.P. Remote provisioning of a drone resource
KR20170055213A (ko) * 2015-11-11 2017-05-19 삼성전자주식회사 비행이 가능한 전자 장치를 이용한 촬영 방법 및 장치
KR102466160B1 (ko) * 2016-01-08 2022-11-14 삼성전자주식회사 데이터의 루프백을 수행하는 시스템 온 칩과 집적 회로, 및 이들을 포함하는 모바일 장치
US10353696B2 (en) * 2017-04-13 2019-07-16 Blackberry Limited Program release packages including program updates

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101953172A (zh) * 2008-02-13 2011-01-19 塞格瑞德公司 分布式多机器人系统
US20170076194A1 (en) * 2014-05-06 2017-03-16 Neurala, Inc. Apparatuses, methods and systems for defining hardware-agnostic brains for autonomous robots
US20160139595A1 (en) * 2014-11-17 2016-05-19 Lg Electronics Inc. Mobile terminal and controlling method thereof
US20170064068A1 (en) * 2015-04-20 2017-03-02 SZ DJI Technology Co., Ltd. System and method for supporting movable object application development
CN106330997A (zh) * 2015-06-19 2017-01-11 网宿科技股份有限公司 一种用于移动终端应用的内容分发的方法和系统

Also Published As

Publication number Publication date
CN110622086B (zh) 2023-11-14
US20200066168A1 (en) 2020-02-27
US11620913B2 (en) 2023-04-04
WO2019050515A1 (en) 2019-03-14

Similar Documents

Publication Publication Date Title
US20190373173A1 (en) Multi-gimbal assembly
US11927953B2 (en) Customizable waypoint missions
EP3346618B1 (en) Adaptive communication mode switching
US20210333807A1 (en) Method and system for controlling aircraft
US20210018938A1 (en) Computation load distribution
US20170146995A1 (en) System and method of controlling autonomous vehicles
US20210294327A1 (en) System and method for movable object control
JP2023057120A (ja) 飛行体の制御に関する情報表示方法
US11693432B1 (en) System and method for autonomously controlling a set of unmanned aerial vehicles
US11620913B2 (en) Movable object application framework
US20200351615A1 (en) System and method for managing movable object communications
US20210404840A1 (en) Techniques for mapping using a compact payload in a movable object environment
JP2023521610A (ja) 無人航空システム通信
JP7333129B2 (ja) 撮影方法
WO2017214864A1 (en) Automatic update of connection to a movable object
WO2023025202A1 (zh) 云台方向的控制方法、装置及终端
US20210294720A1 (en) System and method for movable object tracking and analysis
WO2022141187A1 (en) Systems and methods for controlling an unmanned aerial vehicle using a body-attached remote control
CN115769607A (zh) 无人机和无人机控制器的组创建的方法、装置及存储介质
JP6684012B1 (ja) 情報処理装置および情報処理方法
WO2017214861A1 (en) Supporting protocol independent movable object application development
KR102476374B1 (ko) 무인 비행체의 원격 제어를 위한 시스템 및 이에 의해 수행되는 방법
dos Santos Software Platform to Control Squads of Unmanned Vehicles in Realtime

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
GR01 Patent grant
GR01 Patent grant