CN109219785B - 一种多传感器校准方法与*** - Google Patents
一种多传感器校准方法与*** Download PDFInfo
- Publication number
- CN109219785B CN109219785B CN201680086380.2A CN201680086380A CN109219785B CN 109219785 B CN109219785 B CN 109219785B CN 201680086380 A CN201680086380 A CN 201680086380A CN 109219785 B CN109219785 B CN 109219785B
- Authority
- CN
- China
- Prior art keywords
- sensors
- uav
- calibration
- sensor
- instructions
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 99
- 230000033001 locomotion Effects 0.000 claims description 99
- 230000008859 change Effects 0.000 claims description 31
- 230000000007 visual effect Effects 0.000 claims description 29
- 230000004044 response Effects 0.000 claims description 12
- 238000004891 communication Methods 0.000 description 36
- 230000008569 process Effects 0.000 description 34
- 239000011159 matrix material Substances 0.000 description 26
- 238000012545 processing Methods 0.000 description 26
- 230000007246 mechanism Effects 0.000 description 17
- 230000009466 transformation Effects 0.000 description 17
- 238000005259 measurement Methods 0.000 description 13
- 239000013598 vector Substances 0.000 description 11
- 230000004927 fusion Effects 0.000 description 10
- 230000001133 acceleration Effects 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 9
- 238000006073 displacement reaction Methods 0.000 description 9
- 238000013519 translation Methods 0.000 description 7
- 238000013480 data collection Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 239000000243 solution Substances 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005265 energy consumption Methods 0.000 description 3
- 238000000844 transformation Methods 0.000 description 3
- 241001465754 Metazoa Species 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000035807 sensation Effects 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 238000007619 statistical method Methods 0.000 description 2
- 239000000126 substance Substances 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 241000271566 Aves Species 0.000 description 1
- 241000283690 Bos taurus Species 0.000 description 1
- 241000282465 Canis Species 0.000 description 1
- 241001125840 Coryphaenidae Species 0.000 description 1
- 241000283073 Equus caballus Species 0.000 description 1
- 241000282324 Felis Species 0.000 description 1
- 241000238631 Hexapoda Species 0.000 description 1
- 238000012897 Levenberg–Marquardt algorithm Methods 0.000 description 1
- 241000283984 Rodentia Species 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013481 data capture Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000012895 dilution Substances 0.000 description 1
- 238000010790 dilution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000005019 pattern of movement Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/10—Simultaneous control of position or course in three dimensions
- G05D1/101—Simultaneous control of position or course in three dimensions specially adapted for aircraft
- G05D1/106—Change initiated in response to external conditions, e.g. avoidance of elevated terrain or of no-fly zones
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64C—AEROPLANES; HELICOPTERS
- B64C39/00—Aircraft not otherwise provided for
- B64C39/02—Aircraft not otherwise provided for characterised by special use
- B64C39/024—Aircraft not otherwise provided for characterised by special use of the remote controlled vehicle type, i.e. RPV
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C25/00—Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01P—MEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
- G01P21/00—Testing or calibrating of apparatus or devices covered by the preceding groups
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0011—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/10—Simultaneous control of position or course in three dimensions
- G05D1/101—Simultaneous control of position or course in three dimensions specially adapted for aircraft
- G05D1/102—Simultaneous control of position or course in three dimensions specially adapted for aircraft specially adapted for vertical take-off of aircraft
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64U—UNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
- B64U2201/00—UAVs characterised by their flight controls
- B64U2201/20—Remote controls
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Aviation & Aerospace Engineering (AREA)
- Automation & Control Theory (AREA)
- Manufacturing & Machinery (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
一种用于校准UAV上的多个传感器的方法,其中,当UAV上的传感器采集传感器数据时,可以控制UAV沿着预定的校准路径或图案移动。预定的校准路径或图案可以包括简单的几何图案(例如,椭圆形)。UAV可以由用户手动(例如通过手)或远程地移动,或者UAV可以被自主地控制以沿着校准路径或图案移动。然后可以处理采集的传感器数据以校准包括不同类型的传感器的多个传感器。
Description
背景技术
现代无人机(UAV)通常配备有各种传感器,用于采集用于执行诸如导航、监视和跟踪、遥感、搜索和救援、科学研究等各种任务的数据。易受外部和内部力量或错误影响的传感器通常需要偶尔进行校准以确保数据的精确和可靠采集。
发明内容
根据一些实施例,提供了一种计算机实现的方法。所述方法包括:基于来自与无人机(UAV)耦合的多个传感器的第一组传感器数据,检测所述多个传感器的空间配置从初始空间配置到后续空间配置的变化;响应于检测到所述空间配置的变化,生成一个或多个校准指令使得所述UAV沿着预定图案移动;以及至少部分地基于来自所述多个传感器的第二组传感器数据来确定所述多个传感器的后续空间配置,其中当所述UAV沿着所述预定图案移动时,所述多个传感器采集所述第二组传感器数据。
根据一些实施例,提供一种计算机***。所述计算机***包括存储一个或多个计算机可执行指令的存储器;以及一个或多个处理器,所述处理器被配置为访问所述存储器并且执行所述计算机可执行指令以执行包括以下的步骤:基于来自与无人机(UAV)耦合的多个传感器的第一组传感器数据,检测所述多个传感器的空间配置从初始空间配置到后续空间配置的变化;响应于检测到所述空间配置的变化,生成一个或多个校准指令使得所述UAV沿着预定图案移动;以及至少部分地基于来自所述多个传感器的第二组传感器数据来确定所述多个传感器的后续空间配置,其中当所述UAV沿着所述预定图案移动时,所述多个传感器采集所述第二组传感器数据。
根据一些实施例,提供了一个或多个非暂时性计算机可读存储介质。所述一个或多个非暂时性计算机可读存储介质存储计算机可执行指令,所述计算机可执行指令在由计算***执行时将所述计算***配置为执行包括以下的操作:基于来自与无人机(UAV)耦合的多个传感器的第一组传感器数据,检测所述多个传感器的空间配置从初始空间配置到后续空间配置的变化;响应于检测到所述空间配置的变化,生成一个或多个校准指令使得所述UAV沿着预定图案移动;以及至少部分地基于来自所述多个传感器的第二组传感器数据来确定所述多个传感器的后续空间配置,其中当所述UAV沿着所述预定图案移动时,所述多个传感器采集所述第二组传感器数据。
根据一些实施例,提供一种传感器校准的方法。所述方法包括:基于来自与可移动物体耦合的多个传感器的第一组传感器数据,检测所述多个传感器的空间配置从初始空间配置到后续空间配置的变化;响应于检测到所述空间配置的变化,当所述可移动物体沿着预定校准图案移动时,采集来自所述多个传感器的第二组传感器数据;以及至少部分地基于所述第二组传感器数据来确定所述多个传感器的后续空间配置。可移动物体可以包括UAV。
在一些实施例中,多个传感器包括至少两种不同类型的传感器。多个传感器可以包括惯性传感器和至少两个视觉传感器。
在一些实施例中,生成一个或多个校准指令可以包括至少部分地基于多个传感器从多个预定路径中选择预定图案。
在一些实施例中,沿着预定图案移动可以包括进行平移移动和旋转移动。
在一些实施例中,一个或多个校准指令包括显示在用户界面上的人类可读用户指令。人类可读用户指令可以描述如何沿预定图案手动移动UAV。人类可读用户指令可以描述如何遥控UAV沿预定图案移动。
在一些实施例中,一个或多个校准指令包括计算机可执行的校准指令,其由UAV上的一个或多个处理器执行,从而使得UAV沿预定图案移动。
在一些实施例中,一个或多个校准指令包括计算机可执行的校准指令,其由UAV上的一个或多个处理器执行,从而使得UAV沿预定图案移动。
在一些实施例中,确定所述后续空间配置包括:至少部分地基于第二组传感器数据来确定多个传感器中的至少两个视觉传感器之间的第一空间关系;以及至少部分地基于所述第二组传感器数据来确定所述多个传感器中的视觉传感器和惯性传感器之间的第二空间关系。
在一些实施例中,确定所述后续空间配置还包括:至少部分地基于来自位置传感器的传感器数据来确定第一空间关系的参数。
在一些实施例中,第一空间关系的参数是至少两个视觉传感器之间的基线距离。
在一些实施例中,确定第一空间关系的参数包括:使用所述惯性传感器和所述至少两个视觉传感器来确定UAV的状态的第一估计值;使用所述位置传感器和所述惯性传感器来确定所述UAV的状态的第二估计值;以及处理第一估计值和第二估计值以确定所述第一空间关系的参数。
在一些实施例中,UAV的状态包括速度。
应当理解,可以单独地、共同地或彼此组合地理解本发明的不同方面。本文描述的本发明的各个方面可以应用于下面阐述的任何特定应用或任何其他类型的可移动和/或静止物体之间的数据通信。
通过阅读说明书、权利要求书和附图,本发明的其它目的和特征将变得明显。
附图说明
本发明的新颖特征在所附权利要求中具体阐述。通过参考下面的详细描述及其附图,将更好地理解本发明的特征和优点,所述详细描述中阐述了利用本发明的原理的说明性实施例,所述附图中:
图1示出了根据实施例的具有传感器的无人机(UAV)的示例。
图2示出了根据实施例的示例性传感器之间的参照系的变换。
图3示出了根据实施例的采集用于校准的传感器数据的示例性方法。
图4示出了根据实施例的采集用于校准的传感器数据的其他示例性移动路径或图案。
图5示出了根据实施例的采集用于校准的传感器数据的替代方法。
图6示出了根据实施例的用于提供校准指令的示例性用户界面。
图7示出了根据实施例的用于传感器校准的示例性过程。
图8示出了根据实施例的用于确定校准指令的示例性过程。
图9示出根据实施例的用于根据校准指令执行传感器校准的示例性过程。
图10示出了根据实施例的基于采集的传感器数据来校准传感器参数的示例性过程。
图11示出了根据实施例的处理用于传感器校准的传感器数据的示例性过程。
图12示出了根据实施例的包括载体和负载的可移动物体。
图13是借助于根据实施例的用于控制可移动物体的***的框图的示意说明。
具体实施方式
传统的传感器校准技术通常需要专门的校准设备和复杂的校准程序。例如,传统的相机校准通常需要使用具有特定校准图案(例如棋盘图案)的校准板或具有这种图案的投影屏幕。相机捕获定位在不同姿态的校准图案的图像,使得相机在不同观看平面处观看校准图案。然后处理图像数据以确定相机的固有参数和外部参数。这种传统的校准技术具有几个缺点。校准板可能是昂贵的,笨重的,并且不容易运输到需要传感器校准的任何位置(例如,在户外环境中)。将校准板定位在不同姿态以确保相机捕获校准所需的信息对于用户而言是耗时且乏味的过程。
本发明的***、设备和方法提供了用于校准UAV上的多个传感器的简化技术,而不需要专门的校准设备和复杂的校准程序。具体地,当UAV上的传感器采集传感器数据时,可以控制UAV沿着预定的校准路径或图案移动。预定的校准路径或图案可以包括简单的几何图案 (例如,椭圆形)。UAV可以基于校准指令手动(例如通过手)控制或远程控制(通过遥控器)。备选地,可以自主地控制UAV沿着校准路径或图案移动。然后可以处理采集的传感器数据以校准包括不同类型的传感器的多个传感器。
图1示出了根据实施例的具有传感器的无人机(UAV)100的示例。UAV 100可以由遥控器和/或UAV 100上的一个或多个处理器控制从而以多达六个自由度而移动(例如,相对于多达三个轴的平移和旋转移动)。UAV 100可以可选地与载体104耦合,载体104可以被配置为承载负载106。在一些实施例中,载体104可以由遥控器、与载体耦合的控制器和/或UAV100上的一个或多个处理器控制,以使负载106相对于UAV 100以多达六个自由度移动。
UAV 100可以具有机上传感器,该传感器可以在UAV 100处于操作中或静止时采集传感器数据。传感器可以设置在UAV 100、载体104 和/或负载106的任何合适的部分上。传感器116可以附接到UAV 100 的主体102的内部。传感器108、110、112、114可以附接到UAV100 的主体的外部。传感器118可以附接到载体104,和/或传感器120可以附接到负载106。传感器可以居中地位于主体上的单个区域中。备选地,传感器可以位于主体上的不同位置。传感器可以永久地或可移除地附接到UAV 100、载体104和/或负载106。
UAV 100可以被配置为承载各种各样的传感器。传感器可以包括视觉传感器,例如单目相机、立体视觉相机、雷达、声纳或红外相机。传感器可以进一步包括惯性传感器(例如,惯性测量单元(IMU)、陀螺仪、加速度计)、位置传感器(例如位置传感器,如全球定位***(GPS) 传感器,以及近距离传感器,如超声波传感器、红外传感器,以及激光雷达传感器),以及其他类型的传感器。
从各种传感器获得的传感器数据可用于确定(包括估计)UAV、载体和/或负载的状态,如位置、姿态(例如,位置和朝向)、速度,加速度等等。传感器数据也可以用于确定周围环境(例如天气、障碍物等)的状态。传感器数据可以用于位置的映射、位置之间的导航、障碍物的检测或者目标的检测。来自单个传感器的传感器数据可以用于确定上述信息中的任何一个。备选地,来自多个传感器的传感器数据可以被组合用于确定。
传感器数据的可靠性取决于对传感器配置的准确了解。传感器可具有初始配置。传感器的初始配置可偏离初始设置和/或最佳设置。因此,定期校准传感器以确定实际配置可能是有益的,并且在某些情况下对于保持采集的传感器数据的质量或可靠性是必要的。
传感器的配置可以包括内部配置(由固有传感器参数表征)和外部配置(由外部传感器参数表征)。固有参数可以是依赖于硬件配置的任何参数,在一些情况下,固有参数可以由传感器的工厂设置来设置。固有参数的例子可以包括焦距、比例因子、径向畸变系数和切向畸变系数。固有参数可以是特定于传感器的,并且可以不频繁地变化。固有参数的重新校准可以在UAV不工作时周期性地发生。在UAV工作时重新校准固有参数可能并不重要,因为在UAV相对于外部参数运行时这些固有参数保持相对一致。可以通过解释已知校准标准或目标的图像来校准固有参数。校准标准或目标上的消失线或点可用于校准诸如焦距和畸变等固有参数。
外部参数可与任何两个或更多个传感器之间的空间关系(例如,相对位置和/或朝向)相关。每个传感器可以具有独立于UAV上的其他传感器的相对参照系。外部参数对于传感器融合会是重要的,组合来自UAV上不同位置的传感器的数据。传感器融合可以包括变换给定传感器的相对参照系以与另一传感器的参照系相匹配的过程,如图 2所示。
外部参数可具有初始校准。外部参数的初始校准可以描述传感器之间的相对差异,例如两个或更多个传感器的相对位置、旋转和/或位移。参数可以包括传感器随时间的变化,如在某个时间和后续时间之间传感器的位移。所述位移可以包括平移位移和/或旋转位移。平移位移可以沿着三个轴中的一个或多个发生。类似地,旋转位移可以发生在三个轴中的一个或多个轴上。
与固有参数相比,外部参数可能会以更高的频率偏离其初始配置。例如,UAV运输、起飞或着陆过程中的振动或环境因素、热效应和其他因素可能会导致传感器的外部参数发生变化。因此,优选地是,可以比固有参数更频繁地执行外部参数的重新校准。在一些实施例中,外部参数的重新校准可以在UAV的起飞之前或之后或者在UAV的飞行期间执行。
传统的传感器校准技术通常需要专门的设备(例如用于视觉传感器校准的棋盘格)和复杂的过程,特别是当需要校准多种不同类型的传感器时。在这种情况下,可以执行不同的校准过程来校准不同的传感器组,增加了整个校准过程的复杂性。本文描述的技术提供了使用统一的用户友好数据采集过程来校准多种类型的传感器的简单而有效的校准过程。例如,在实施例中,当UAV采集要用于校准的传感器数据时,用户简单地握持UAV并沿着几何图案(例如,椭圆形)移动UAV。因此,所描述的数据采集过程不需要使用专门的校准设备和特殊的程序。此外,一旦从简单的数据采集移动中采集了传感器数据,传感器数据就可以用来校准多种不同类型的传感器。因此,不需要像通常的传统校准技术所需要的那样对于不同类型的传感器使用不同的数据采集和校准过程。相应地,本文描述的技术可以提高与传感器校准相关联的效率、成本和用户体验。
图2示出了根据实施例的示例性传感器之间的参照系的变换。具体而言,图2示出了多个传感器及其相关联的参照系。传感器的外部校准包括确定从一个参照系到另一个参照系的变换。例如,一个传感器的第一参照系的第一坐标系下的坐标可以被变换为另一个传感器的第二参照系的第二坐标系下的相应坐标。在一些实施例中,变换可以通过变换矩阵在数学上表示。在一些实施例中,变换矩阵可以由旋转矩阵R和平移矩阵T来表示,两者都被视为外部参数。参照系的变换可以基于传感器之间的空间关系。空间关系可以由传感器之间的相对平移和/或旋转位移来表征。备选地或附加地,空间关系可以通过与传感器的初始空间关系的偏差来表征。
例如,图2示出了相机1202及其相关联的相机1参照系203、以及相机2204及其相关联的参照系2205。这两个相机可以形成也可以不形成立体视觉***。可以使用相机-相机变换214在两个相机参照系之间进行变换。具体而言,相机1参照系203中的坐标可以被变换为相机2参照系205中的坐标,反之亦然。变换可以基于两个相机之间的空间配置或空间关系。空间关系可以包括两个相机之间相对于参照系的一个、两个或更多个轴的平移和/或旋转位移。两个相机的校准可以包括确定表示空间关系和/或变换的外部参数。例如,外部参数可以包括两个相机的光学中心之间的基线距离212。
图2进一步示出了其他示例性传感器:IMU 206、GPS传感器208 和激光雷达210,以及它们各自的参照系:IMU参照系207、GPS参照系209和激光雷达参照系210。示出了各种传感器参照系之间的示例性变换。例如,相机-GPS变换226可用于将相机1参照系203中的坐标变换成GPS参照系209中的对应坐标,反之亦然。相机-IMU变换216可用于将相机1参照系203中的坐标变换成IMU参照系207 中的对应坐标,反之亦然。相机-激光雷达变换224可用于将相机2参照系205中的坐标变换为激光雷达参照系211中的对应坐标,反之亦然。IMU-GPS变换218可用于将IMU参照系207中的坐标变换成GPS 参照系209中的对应坐标,反之亦然。IMU-激光雷达变换220可用于将IMU参照系207中的坐标变换为激光雷达参照系211中的对应坐标,反之亦然。对于来自各个传感器的测量结果的可靠融合,准确了解传感器的各个参照系之间的变换会是必要的。
根据本发明的各方面,提供一种用于传感器校准而不需要专门的校准设备(例如棋盘格)的简单过程。具体而言,可以在简单且用户友好的采集过程中采集来自多个传感器的传感器数据,并且所采集的传感器数据可以用于校准多个传感器。
图3示出了根据实施例的用于采集校准用的传感器数据的示例性方法。如前视图300A和侧视图300B所示,用户302可以沿着用户 302前面的预定校准移动路径或图案306(例如曲线或圆形(例如,顺时针或逆时针))握持和移动UAV 304。应该理解的是,短语“沿着... 移动”意味着大致或基本上沿着预定路径或图案移动,或在相对于预定路径或图案可接受的误差范围内移动。当UAV 304为了校准目的而移动时可以携带或不携带载体和/或负载。当UAV 304沿着路径306 移动时,UAV的传感器310A、310B、310C可以被配置为沿着路径 306在各个感测点308A、308B和308C处采集传感器数据。所采集的传感器数据随后可以由UAV之上和/或之外的一个或多个处理器来处理,以校准传感器。
沿着预定路径或图案移动UAV可以使UAV相对于三个自由轴中的任何一个的平移移动和/或旋转移动。例如,当用户沿着如图3所示的基本上圆形的路径移动UAV时,用户不仅可以改变UAV的位置(例如,高度、纬度和/或经度),还可以改变UAV的朝向(例如,航向、俯仰和/或横滚)。因此,UAV可以在不同的感测点处具有不同的空间布置(例如,位置和/或朝向)。在一些实施例中,可以至少部分地基于要校准的传感器的类型来选择UAV的移动,以便提高校准过程的准确度,如在图8中进一步详细解释的。
传感器可以被配置为在不同的感测点处采集传感器数据。感测点可以指示UAV上的一个或多个传感器何时采集传感器数据。可以基于时间选择感测点。例如,传感器可以被配置为以特定频率(例如,每0.1秒、0.5秒、1秒、2秒等)或者在从参考时间点起的某些时间点(例如,从开始时间起的0.2秒、0.4秒和1秒处)采集传感器数据。也可以基于UAV的空间布置(例如,位置/朝向)来选择感测点。也可以基于某些事件的发生(例如,UAV的朝向的改变)来选择感测点。在一些实施例中,可以随机地或伪随机地选择感测点。
在一些实施例中,传感器可以被配置为在相同感测点或不同感测点处采集传感器数据。例如,一些传感器可以被配置为以比其他一些传感器更高的频率采集传感器数据。在一些实施例中,传感器中的一些或全部可以被配置为连续采集数据,而不是在离散间隔的感测点处采集数据。
传感器数据可以与UAV 304的环境有关。例如,一对视觉传感器 310A和310B可以被配置为:当UAV 304沿着校准移动路径移动时,捕捉视觉传感器的视场内的物体312的图像。备选地或另外地,传感器数据可以与UAV的状态有关。例如,IMU 310C可以被配置为在UAV沿着校准移动路径移动时测量UAV的线性和/或角加速度。在图 10-11中进一步详细讨论了用于处理所采集的传感器数据的示例性校准方法。
图4示出了根据实施例的采集用于校准的传感器数据的其他示例性移动路径或图案。例如,如图所示,当UAV 404上的传感器(未示出)采集传感器数据用于校准时,用户402可以以数字“8”图案406A、波浪图案406B或锯齿或螺旋图案406C移动UAV 404。在其他实施例中,图案可以包括任何其他合适的线或几何图案(例如,三角形、椭圆形)。图案可以包括一个或多个连续的线或不连续的线。
在一些实施例中,可以选择路径以便用户容易执行。例如,路径可以包括相对简单的几何图案(例如,圆形)。作为另一示例,UAV 的移动可以基本上发生在用户的前面,以便于用户容易处理。在其它实施例中,UAV的移动可以在用户的旁边、用户的上方、用户的后面或者在任何其他合适的空间位置处发生。
用户402可以在UAV 404的任何合适的部分(诸如手柄、扩展部或者UAV的主体)处握持UAV 404。例如,用户可以握持UAV的一条或多条着陆腿(未示出)。作为另一示例,用户可以握持连接旋翼的 UAV的一个或多个臂。用户可以用一只手或两只手或任何其他合适的身体部位来握持UAV。在一些示例中,用户可以使用诸如杆、棒、卡环、机器人手臂等机械设备间接地握持UAV。
如上面图3-4所示,UAV可以由用户以简单移动的方式手动地移动,以采集用于传感器校准的传感器数据,而不需要诸如棋盘的专用校准设备。备选地,可以通过其他手段来控制UAV沿着诸如本文所述的任何合适的校准路径移动。
在一些实施例中,可以将关于校准过程的反馈信息提供给用户。例如,反馈信息可以包括确认成功采集传感器数据的消息。或者,反馈信息可以包括请求用户重复UAV的一些或全部校准移动。反馈信息可以在任何合适的时间提供。例如,可以在校准移动期间或之后提供反馈。反馈信息可以由提供校准指令的相同渠道(例如,用户界面) 或不同渠道提供。
图5示出了根据实施例的采集用于校准的传感器数据的替代方法。例如,在图示的方法500A中,UAV 504可以由用户502操作的遥控器505控制以沿着预定的校准路径或图案506移动,而UAV 504上的传感器采集用于校准的传感器数据,例如与UAV 504的周围环境中的物体508有关的传感器数据(例如,图像)和/或与UAV 504的状态有关的传感器数据(例如,加速度)。
在一些其他实施例中,例如在所示出的方法500B中,UAV 504 可以由UAV上的一个或多个处理器控制,以自主地跟随校准移动路径510,而不需要经由遥控器的用户介入。在一些实施例中,UAV可以被配置为在采集用于校准的传感器数据时,在开始遵循校准移动路径510之前自主地航行到移动路径510的起点503。例如,如果UAV 在校准开始之前就位,则UAV可以直接航行到起点503。如果UAV 在校准开始之前着陆,则UAV可以被配置为沿着起飞路径516自主起飞并且航行到起点503。如果UAV已经位于起点处或附近,则航行到起点的步骤可以是可选的。当UAV完成采集用于校准的数据时, UAV可以被配置为恢复先前的任务(例如,导航、跟踪)或悬停在原位。备选地,UAV可以被配置为在完成传感器数据的采集之后沿着着陆路径518从移动路径510的终点514自主着陆。UAV可以在也可以不在同一地点或附近着陆以便起飞。在一些实施例中,起飞路径516 和/或着陆路径518可以是移动路径510本身的一部分。
在一些实施例中,还可以独立于UAV跟随校准移动路径的航行来控制传感器数据的采集。例如,UAV可以由遥控器控制以沿着校准移动路径移动,而UAV的传感器可以由UAV上的一个或多个处理器自主地控制以采集传感器数据;反之亦然。在一些其他示例中,传感器采集和导航都可以由遥控器来控制,或者它们都可以由UAV上的一个或多个处理器来控制。
在一些实施例中,可提供校准指令以促进传感器校准。例如,关于传感器校准的用户指令可以通过用户界面提供给用户。图6示出了根据实施例的用于提供校准指令的示例性用户界面。经由用户界面提供的指令可以包括文本、图标、图像数据(例如,静止图像、视频、计算机生成的图形)、音频数据、触觉数据(例如盲文、振动、热量) 以及可以被用户读取、听到、或被感知的任何其他类型的数据。可以在显示器、扬声器或触摸板、遥控器的任何其他合适的输出元件、移动设备(例如,智能电话、平板电脑、膝上型电脑)、UAV或被配置为接收校准指令的任何其他合适的设备上提供用户界面。例如,用户界面可以由在设备上运行的应用(例如,移动应用)提供。提供用户界面的设备可以是也可以不是生成校准指令的同一设备。例如,指令可以由也显示指令的移动设备生成。作为另一示例,指令可以由遥控器或UAV生成并显示在与遥控器或UAV通信的移动设备上。
在一些实施例中,校准指令可以包括与控制UAV沿着预定路径或图案移动有关的移动指令。校准指令还可以包括与控制传感器采集用于校准的数据有关的数据采集指令。例如,移动指令可以描述移动 UAV的图案或路径、移动UAV的详细步骤(例如,平移移动和/或旋转移动)、移动的持续时间等。校准指令还可以包括与控制传感器采集用于校准的数据有关的数据采集指令。例如,数据采集指令可以包括要被启用用于数据采集的一组传感器,数据采集的定时、频率、数量和/或持续时间,以及传感器的设置(例如分辨率、快门速度、焦距、帧率)。
由用户界面提供的指令可以与要由用户执行的手动和/或遥控 UAV的动作有关。例如,指令可以描述如何沿着预定校准移动路径手动移动UAV(例如,使用手)以用于校准目的。如用户界面600A所示,指令可以包括描述602(“请将UAV以所示的圆形图案移动10秒”)以及用户可以如何用手来移动UAV的图示604。作为另一示例,指令可以描述用户可以如何遥控UAV沿着预定校准路径移动。如用户界面600B所示,指令可以包括描述606(“请以所示的圆形图案飞行 UAV10秒”)以及UAV可以被控制进行航行(例如,通过遥控器)的飞行路径的图示608。作为又一个示例,指令可以允许用户将校准任务委托给UAV。如用户界面600C所示,指令可以包括描述610(“请按压下面的“自动校准”按钮以允许自动校准传感器”)和按钮612。当用户按下按钮612时,可以向UAV发送命令以沿着预定校准路径自主地移动和/或在移动期间采集传感器数据。
在一些实施例中,由用户界面提供的指令可以附加地包括与用于校准的传感器数据的采集有关的信息。例如,用户界面可以包括关于何时以及如何采集传感器数据的指令。
在一些实施例中,可以使用用户界面来提供关于校准过程的反馈信息,诸如本文其他地方所讨论的。
图7示出了根据实施例的用于传感器校准的示例性过程700。在一些实施例中,过程700的各方面可以由UAV之上或之外的一个或多个处理器执行。可以在配置有可执行指令的一个或多个计算机/控制***的控制下执行过程700(或本文描述的任何其他过程,或其变型和/或组合)的一些或全部方面,并且过程700的一些或全部方面可以实现为通过硬件或其组合在一个或多个处理器上共同执行的代码(例如,可执行指令,一个或多个计算机程序或一个或多个应用)。代码可以例如以包括可由一个或多个处理器执行的多个指令的计算机程序的形式存储在计算机可读存储介质上。计算机可读存储介质可以是非暂时性的。描述操作的顺序不意图被解释为一种限制,并且任何数量的所描述的操作可以以任何顺序和/或并行地组合以实现过程。
在框702处,检测到从UAV的传感器的初始配置到后续配置的变化。如上所述,传感器的初始配置可以包括传感器的初始空间配置 (例如,位置和/或朝向)。例如,初始空间配置可以在工厂设置。可以基于从传感器采集的一组传感器数据来确定与初始空间配置的偏差。可以在UAV运行或静止时采集传感器数据。在一个实施例中,偏差的检测可以由UAV上的一个或多个处理器执行。在另一个实施例中,由UAV采集的传感器数据可以被提供给一个或多个远程处理器,然后远程处理器基于所接收的传感器数据检测与初始配置的偏差。在一些实施例中,传感器数据的处理可由UAV之上和之外的处理器共同执行。
可以使用任何合适的方法(例如本文描述的那些方法)来确定与初始空间配置的偏差。例如,可以使用对极约束(epipolar constraint) 来检测一对立体相机(例如,左相机和右相机)的空间配置的偏差,所述对极约束表明:假设相机满足针孔相机模型,则修正后的左图像和右图像中的对应应该沿着对应的对极线分布。如果与对极线的偏差超过阈值,则认为立体相机的空间配置已经偏离初始配置。换句话说,对于左相机和右相机两者所看到的每个点,基于现有的空间配置,匹配成本应该满足以下约束:
其中t=[1 0 0],R是单位矩阵。如果成本超过特定阈值,则检测到与初始空间配置的偏差,并且需要重新校准相机参数。
另外地或备选地,可以通过将从来自相机的图像数据导出的信息与从其他类型的传感器导出的信息进行比较,来检测与相机的初始空间配置的偏差。例如,来自立体相机的图像数据可用于生成面向相机的平面的3D重建,并计算有效距离dc。3D重建可以使用任何合适的匹配方法来实现,诸如半全局匹配(SGM)、最小二乘匹配等。所计算的使用相机的距离dc可以与基于来自一个或多个位置传感器(例如,超声波传感器、飞行时间(TOF)传感器、激光雷达)的传感器数据计算的距离dg进行比较。对应于dc的视差dispc和对应于dg的视差dispg分别是和如果视差之间的差超过特定阈值(例如,|dispc-dispg|>2),则检测到相机的初始空间配置的偏差,并且可能需要重新校准相机。
在一些实施例中,初始空间配置的偏差的检测可以包括将一个或多个统计方法应用于传感器数据。可以用来检测空间配置的偏差的统计方法的一个示例是马哈拉诺比斯距离法。马哈拉诺比斯距离法可以在将测量值变换成统一的参考坐标系后,将来自不同传感器的测量值进行比较。可以生成来自统一参考坐标系中的不同传感器的测量值之间的协方差矩阵。随着来自传感器的测量数据被接收,协方差矩阵可被实时更新。可以计算来自统一参考坐标系中的不同传感器的测量值之间的马哈拉诺比斯距离。如果马哈拉诺比斯距离超过预设的阈值,则马哈拉诺比斯距离可以指示传感器异常,这可以指示传感器已经从其初始校准偏离。用于指示错误的马哈拉诺比斯距离的预设阈值可以至少是1、2、3、4、5、6、7、8、9、10、15或20。该阈值可以是针对所有传感器的统一值,或者该值针对每个传感器可以不同。该阈值可以是固定的,或者可以相对于独立变量(例如UAV行进的时间或距离)而变化。
在框704处,生成用于沿着预定路径或图案移动UAV的指令。该指令可以响应于确定来自空间配置的变化而生成。该指令可以由 UAV上的一个或多个处理器生成。备选地或附加地,该指令可以由 UAV外的一个或多个处理器(例如通过遥控器、远程服务器、移动设备等)来生成。在一些其他实施例中,该指令可以由用户使用输入设备来生成。图8中提供了关于指令生成的进一步细节。指令可以使 UAV沿着预定的移动路径或图案移动。
在一些实施例中,指令可以包括显示给用户的人类可读用户指令。这样的指令可以被用来诱导用户的动作。例如,用户指令可以包括文本、图像、视觉信号(例如光)、音频信号(例如,语音记录、声音)、触觉感知(例如,振动、热量)等。例如,用户指令可以显示在诸如图6中讨论的用户界面上。在另一个示例中,UAV可以被配置为使用光、声音或其他信号来显示指令。用户指令可以由生成用户指令的同一设备显示或由不同设备显示。例如,远程设备可以被配置为接收来自另一个源(例如,UAV、计算机)的指令,并在远程设备的显示器上显示指令。在另一个示例中,远程计算机可以被配置为响应于检测的偏差来生成指令,并将所生成的指令呈现在显示器上。在另一个示例中,UAV可以被配置为生成指令并向用户显示指令(例如,通过光或声音)。
在一些其他实施例中,指令可以包括可由UAV之上或之外的一个或多个处理器执行的可执行指令。例如,指令可以由UAV上的处理器执行以根据预定的校准移动路径来自主地航行。在另一个示例中,指令可以由遥控器执行以控制UAV根据预定校准移动路径移动。
除了移动指令之外,指令还可以可选地包括数据采集指令。数据采集指令可以包括关于要被选择用于数据采集的传感器的信息、传感器设置、采集用于校准的传感器数据的频率和持续时间等。在一些实施例中,数据采集指令可以由生成移动指令的相同处理器或不同处理器生成。
数据采集指令可以包括可由一个或多个处理器执行的可执行指令。数据采集指令可以被提供给UAV和/或遥控器并由其执行。数据采集指令可以包括以任何合适的格式(例如,文本、图像、视觉信号 (例如光)、音频信号(例如,语音记录、声音)、触觉感知(例如,振动、热量))的用户指令。在一些实施例中,数据采集指令可以以与上文针对移动指令所描述的类似的方式来提供。
数据采集指令可以与移动指令一起提供或分开提供。数据采集指令和移动指令可以被提供给相同的实体或不同的实体。例如,在一个示例中,移动指令可以被提供给手动移动UAV或遥控UAV以根据移动指令移动的用户,而数据采集指令可以被提供给UAV,UAV根据数据采集指令自主地采集传感器数据。在一些其他示例中,数据采集指令和移动指令都被提供给用户或UAV。
在框706处,当UAV沿着预定路径或图案移动时采集传感器数据。例如,传感器可以由UAV上的一个或多个处理器控制以采集数据。可以连续采集或者在离散的感测时间点和/或空间中采集传感器数据。在一些实施例中,可以根据上面讨论的数据采集指令来采集传感器数据。在一些其他实施例中,传感器可以由用户手动控制和/或通过自动化或半自动化过程来控制。例如,用户可以在根据校准移动路径移动UAV之前打开一些或全部传感器以进行数据采集,和/或在校准移动之后关闭传感器。在另一个示例中,传感器可以通过某些触发事件(例如时间触发、UAV的移动、用户的动作等)被自动激活和/或停用。
在框708处,基于传感器数据确定后续空间配置。后续空间配置可以表示偏离初始空间配置的传感器的实际空间配置。例如,后续配置可以包括传感器的更新或重新校准的外部参数。在一个实施例中,后续配置的确定可以由UAV上的一个或多个处理器执行。在另一个实施例中,UAV外的一个或多个远程处理器可以从UAV接收采集的传感器数据,并基于接收的传感器数据确定后续配置。图10-11中提供了关于确定后续配置的更多细节。
在一些实施例中,在确定传感器的实际空间配置之后,可以基于实际的空间配置来调整传感器数据,以提高传感器测量结果的准确性。例如,重新校准的外部参数可以用在传感器融合算法中以组合来自不同传感器的测量结果。可以在UAV工作或静止时进行调整。在一些实施例中,传感器数据的调整可以由UAV之上和/或之外的一个或多个处理器执行。
图8示出了根据实施例的用于确定校准指令的示例性过程800。具体而言,过程800可以用于确定基于要校准的传感器沿着预定路径或图案移动UAV的指令。过程800的各方面可以由UAV之上和/或之外的一个或多个处理器来实现。
在框802处,识别要校准的传感器。在一些实施例中,其配置偏离初始配置的传感器被识别为需要重新校准。例如,图7的框702中所描述的方法可用于确定某些或全部传感器的配置是否偏离初始配置。如果检测到偏差,则可以将受影响的传感器识别为需要重新校准。在一些实施例中,要校准的传感器可基于其他因素来选择,例如传感器的类型和/或条件、自上次校准以来的时间、UAV的环境条件(例如,天气)、先前的校准信息等等。在一些实施例中,也可以识别不需要校准的传感器,因为来自这些传感器的传感器数据可以用于校准需要校准的其他传感器。
在框804处,确定UAV的移动,其中这些移动有利于所识别的传感器的校准。对于一些传感器,某些类型的传感器/UAV移动更可能导致更精确和/或有效的传感器校准。例如,平移移动可以有利于比视觉传感器(例如,立体相机)的旋转移动更精确或有用的传感器测量结果。惯性传感器(例如,IMU)可能是相反的。因此,如果所识别的一组传感器包括相机和IMU,则平移移动和旋转移动都应该包括在校准移动中。要包括的具体混合的不同类型的移动可以取决于上面识别的传感器类型的混合。例如,当识别的传感器包括更多相机时,平移移动的百分比可以增加;以及当要校准的传感器包括更多的惯性传感器时,旋转移动的百分比可以增加。
在框806处,确定包含一些或全部识别的移动的移动路径或移动图案。例如,相对直的路径可以只包括UAV的平移移动;而弯曲的路径或圆形图案可以包含UAV的平移和旋转移动。在一些实现中,可以通过组合期望的移动类型从头开始生成移动路径。在一些其他实现中,基于移动或传感器的类型从一个或多个预生成的路径或图案中选择路径或图案。
在一些实施例中,确定移动路径或图案包括基于如下因素来修改移动路径:UAV的周围环境(例如障碍避免)、UAV的物理限制(例如,最大转速、自由度、电池寿命)、用户的技能水平(例如,针对普通用户的简单且易于执行的图案以及针对更有经验的用户的更复杂的图案)、法规(例如,限制性飞行区域)以及其他约束。
在框808处,确定用于沿着移动路径或图案移动UAV的校准指令。如本文所讨论的,该指令可以包括用户指令和/或由UAV之上或之外的一个或多个处理器执行的指令。用户指令可以包括移动路径或图案的描述(例如,以文本、视觉或音频格式)和/或如何移动UAV 以实现期望的移动。可执行指令可以用于控制UAV的一个或多个驱动构件(例如,电机、旋翼),以使UAV在不同的时间点改变位置和 /或姿态。在一些实施例中,框806可以是可选的,并且可以基于在框 804处确定的UAV移动来生成指令。指令的生成可以包括产生新的指令,或获取现有的指令。例如,可以在UAV、遥控器或移动设备上预加载多个校准路径和/或移动指令,并且可以基于要重新校准的传感器从多个校准路径或移动指令中选择合适的校准路径或移动指令,如上所述。
指令可以被指定任何适当的细节水平和/或复杂度。例如,用户指令可以包括相对较高级的用户指令,例如“在您前方以圆周运动移动无人机”,或更具体的关于如何沿着移动路径导航UAV的逐个步骤的用户指令。作为另一个示例,可执行指令可以包括需要被分解为随后被执行的较小任务或低级指令的高级命令。指令的特定性和/或复杂性可以取决于生成指令的实体的计算资源。例如,具有强大处理器的设备可以生成更详细的指令;反之亦然。也可以考虑接收指令的用户的技能水平。例如,可以针对更有经验的用户生成高级指令或细节较少的指令;反之亦然。还可以考虑接收和/或执行指令的实体的计算资源。例如,可以针对具有强大处理器的设备生成高级指令;反之亦然。
在一些实施例中,可以确定采集用于校准的传感器数据的指令。可以基于将要采集传感器数据的传感器的特性、UAV的校准移动路径、 UAV上可用的资源(例如,电池寿命、处理能力、数据存储空间)、校准的持续时间等等来确定数据采集指令。数据采集指令可以包括定时信息(例如开始/结束时间、持续时间、频率)、要采集的传感器数据的量和/或类型、传感器的设置(例如,分辨率、采样率、快门速度、焦距)等。类似于移动指令,可以基于类似于上面讨论的因素以任何适当的特定性水平来指定数据采集指令。
图9示出根据实施例的用于根据校准指令执行传感器校准的示例性过程900。在一些实施例中,过程900的各方面可以由UAV之上和 /或之外的一个或多个处理器执行。
在框902处,获得校准指令。校准指令可以响应于检测到传感器与初始配置的偏差而生成。在一些实施例中,指令可由UAV从产生指令的远程设备接收。在一些其他实施例中,指令可能已经由UAV 上的一个或多个处理器生成。在各种实施例中,可以在UAV着陆时或当UAV在空中时获得校准指令。校准指令可以包括移动指令和/或数据采集指令,所述指令可由UAV之上或之外的一个或多个处理器执行。
在框904处,可以控制UAV的一个或多个驱动构件根据校准指令沿着预定路径或图案移动UAV。驱动构件可以包括可被控制以允许 UAV在空间中旋转地或平移地移动的一个或多个旋翼或电机。校准指令可以由UAV之上或之外的一个或多个处理器来处理,以基于UAV 的当前状态、UAV的周围环境(例如障碍避免)等因素来确定用于驱动构件的控制信号。例如,如果UAV在校准开始之前处于空中,则可以控制驱动构件在根据指令沿着预定路径或图案移动UAV之前将其移动到给定位置和/或姿态。如果在校准开始之前UAV处于静止,则可以控制驱动构件使UAV在根据指令沿着预定路径航行之前起飞。可选地,可以控制驱动构件在采集用于校准的传感器数据之后使UAV 能够着陆。
在框906处,可以在UAV沿着预定路径或图案移动时采集传感器数据。UAV上的一些或全部传感器可由UAV之上或之外的一个或多个处理器控制以采集传感器数据。采集传感器数据的传感器可以包括需要校准的传感器(例如,由于与初始配置的偏差)以及可选地包括不需要校准的传感器。在一些实现中,可以使用来自不需要校准的传感器的传感器数据(例如,GPS传感器)来校准需要校准的传感器 (例如,IMU、相机)。在一些实施例中,可以控制传感器基于数据采集指令来采集传感器数据,所述数据采集指令响应于检测到与传感器的初始空间配置的偏差而产生。数据采集指令可能已经作为在上述框 902获得的校准指令的一部分被获得。数据采集指令和移动指令可以一起或单独地获得。在其他实施例中,可以控制传感器来采集并非基于校准指令而是基于其他预定触发的传感器数据。
在一些实施例中,采集的传感器数据可以由UAV之上或之外的一个或多个处理器处理,以确定传感器的后续(实际)空间配置。通常,本文描述的传感器校准的各个方面可以以任何合适的方式在UAV、遥控器和/或用户或其任何组合之间分配。例如,在一个实施例中,UAV 可以沿着预定校准路径自动航行、采集传感器数据,以及基于采集的传感器数据校准传感器参数。在另一个实施例中,UAV可以沿着预定校准路径自动航行并且采集传感器数据,但是采集的传感器数据可以被传输到远程设备,远程设备然后处理传感器数据以校准UAV上的传感器。在另一个实施例中,UAV可以由用户(例如,通过手或通过遥控器)控制以沿着预定校准路径移动,但是UAV可以在移动期间自主地采集传感器数据,并且基于采集的传感器数据校准传感器参数。在另一个实施例中,UAV可以由用户(例如,通过手动或通过遥控器) 控制以沿着预定校准路径移动,但是UAV可以在移动期间自主地采集传感器数据。传感器数据可以被传输到远程设备,然后远程设备基于采集的传感器数据校准传感器参数。在另一个实施例中,UAV可以由用户(例如,通过手或通过遥控器)控制以沿着预定校准路径移动,并且UAV可以由用户控制以在移动期间采集传感器数据。采集的传感器数据可以由UAV或远程设备处理。在传感器数据在UAV外进行处理的情况下,在一些实施例中,校准结果可以被传输回UAV。在各种实施例中,可以根据要校准的传感器的类型、UAV和/或远程设备的特性和用户的技能水平以及任何其他因素来确定传感器校准过程的各个方面的分配。
图10示出根据实施例的用于基于采集的传感器数据来校准传感器参数的示例性过程1000。具体而言,可以使用相同的一组传感器数据来校准不同类型的多个传感器。例如,如下所述,可以使用相同的一组传感器数据来执行相机-相机校准和相机-IMU校准。过程1000的各方面可以通过UAV之上或之外的一个或多个传感器来实现。
在框1002处,获得在校准移动期间采集的一组传感器数据。该组传感器数据可以包括来自诸如相机、惯性传感器、位置传感器等一个或多个传感器的传感器数据。传感器数据可以以本文别处所述的方式采集。在一些实施例中,传感器数据可以存储在UAV上的数据存储器中,并且由UAV上的一个或多个传感器获得。备选地,传感器数据可由UAV提供给在UAV外(例如在远程计算机中)的一个或多个处理器。
在框1004处,可以基于所获得的一组传感器数据来确定至少两个相机之间的空间关系。具体而言,确定各个相机参照系中的对应点之间的变换。该变换可以包括例如旋转矩阵R和平移矢量t。
在一个实施例中,对于由一对立体相机拍摄的图像中给定的一组对应图像点,确定(包括估计)本质矩阵E。本质矩阵E最优地满足对应图像点的约束。假设XL代表左眼相机参照系中P点的坐标,XR代表右眼相机参照系中P点的坐标,假设R和T代表两个参照系之间的旋转和平移,那么XR=R(XL-T)是两个参照系中P的坐标之间的关系。那么,对极几何中的共面约束可以表示为(y′)TEy=0,其中E=RT, y和y′是P投影到左和右图像平面上的归一化图像坐标。
本质矩阵E可以使用八点算法(下面描述)或任何其他合适的算法来估计。第一步,可以形成齐次线性方程。其中
约束也可以重写为
y′1y1e11+y′1y2e12+y′1e13+y′2y1e21+y′2y2e22+y′2e23+y1e31 +y2e32+e33=0
或者
其中
eTY=0
第二步,求解上述线性方程。求解该方程的方法意味着e是对应于等于零的奇异值的Y的左奇异矢量。假设使用至少八个线性无关矢量来构造Y,则遵循这个奇异矢量是唯一的(unique)(不考虑标量乘),并且因此e以及随后的E可以被确定。
在使用超过八个对应点来构造Y的情况下,它可能没有任何等于零的奇异值。这种情况在实践中在图像坐标受到各种噪声影响时会发生。处理这种情况的一种常见方法是将其描述为总体最小二乘问题;找到当||e||=1时使||eTY||最小化的e。解决方法是选择e作为对应于Y 的最小奇异值的左奇异矢量。把这个e重新排列成一个3×3矩阵给出了这个步骤的结果,在这里被称为Eest。
第三步,本质矩阵的内部约束被强制执行。本质矩阵的内部约束是它的两个奇异值是相等和非零的,另一个是零。为了确保估计的矩阵Eest满足内部约束,需要找到使||E′-Eest||最小化的秩为2的矩阵E′。该解可以通过首先计算Eest的奇异值分解给出:Eest=USVTU,V是正交矩阵,并且S是包含Eest的奇异值的对角矩阵。在理想的情况下,S的一个对角元素应该是零,或者至少比应该相等的另外两个小。设
其中s1,s2是S中两个较大的奇异值。最后,E′由E′=US′VT给出。矩阵 E′是所述算法提供的本质矩阵的估计结果。八点算法提供了一个非限制性的示例。可以使用用于确定本质矩阵的任何其他合适的算法。
鉴于已经例如使用上述估计方法针对立体相机对确定了本质矩阵E,该信息还可以用于确定两个相机坐标系之间的旋转和平移(达到缩放)。例如,旋转矩阵R和平移矢量t可以基于执行E的奇异值分解(SVD)来确定,如下所述。也可以使用其他合适的方法来确定R和t而不使用SVD。
E的SVD给出
E=U∑VT
其中U和V是正交3×3矩阵,∑是3×3对角矩阵,有
∑的对角项是E的奇异值,根据本质矩阵的内部约束,该奇异值必须包含两个相同的值和一个零值。定义
在一些实施例中,用于确定一对立体相机之间的配置(例如,空间关系)的过程可以概括为确定多于两个相机的配置。
在框1006处,可基于在框1002处获得的相同组的传感器数据来确定惯性传感器(例如,IMU)与相机之间的空间关系。这种校准的原理是基于相机随时间获取多个图像并通过相机估计自身位置变化。在某些情况下,校准方法类似于通过考虑在两个相机α和β所拍摄的、在不同时间i和i′拍摄的相机的两个图像来校准两个独立相机。同样,校准方案可以应用于IMU。假设A和B分别表示相机和惯性传感器(例如,IMU)的自坐标变化。放置下标i来表示在时间i=1,2,…,n处的坐标系映射Ai和Bi。因此,与时间1相关的时间2处的映射是:和假设X表示相机与惯性传感器(例如,IMU)之间的映射,则手眼校准公式导致AX=XB。找到使||AX-XB||最小化的X。 A,B,X用以下形式进行归一化映射:
此外,RARX=RXRB和(RA-I)tX=RXtB-tA。根据这些方程并考虑到旋转矩阵的性质,有多种方法来解RX和tX。为了保证唯一解,需要执行n≥3的要求。
上面描述的手眼校准方法被用作非限制性示例。可以使用任何其他的传感器校准方法。在一些实施例中,本文描述的相机-惯性传感器校准方法可用于确定惯性传感器与多于一个相机之间的相应空间关系。相机可以包括也可以不包括立体相机。在一些实施例中,多于一个相机可以包括面向不同方向的多对立体视觉相机。一旦确定了惯性传感器和相机之间的关系,相机之间的关系也是已知的。在一些实施例中,多于一个相机可以包括至少一个不与另一个相机形成立体视觉***的单视相机。一旦确定了惯性传感器和相机之间的关系,相机之间的关系也是已知的。
在一些实施例中,校准结果可以使用来自附加传感器的测量结果来校正或以其他方式修改。图11示出了根据实施例的用于处理传感器校准用的传感器数据的示例性过程1100。例如,来自位置传感器(例如,GPS)的传感器数据可以用于通过比较位置传感器和惯性传感器 (例如,IMU)之间的传感器融合结果以及惯性传感器与视觉传感器之间的传感器融合结果来进一步确定多个视觉传感器的一个或多个外部参数。
作为示例,图10中描述的相机校准方法可以假定:两个相机之间的基线保持不变(即,不偏离初始配置),而实际上,基线可以在实际(后续)配置中以标量α改变。过程1100可以用于通过确定标量α(其中b是初始基线)来确定两个相机之间的空间关系的基线参数。
在框1102处,基于来自惯性传感器和多个视觉传感器的传感器数据来确定UAV状态的第一估计值。多个视觉传感器可以包括一对或多对立体视觉传感器。以一对立体视觉传感器为例。来自两个视觉传感器的图像数据可以至少部分地基于传感器的空间配置(例如,视觉传感器和惯性传感器之间以及视觉传感器之间)与来自惯性传感器的传感器数据融合。传感器的空间配置可以使用本文所述的传感器校准技术来确定。UAV的状态可以包括UAV的速度v,其可以根据来自立体图像传感器的传感器数据来确定:
其中f是视觉传感器的焦距,b是传感器之间的基线,并且d是对应图像点之间的视差。如以上公式所示,基于立体图像计算的速度v与基线成比例。然而,图10中描述的相机-相机校准方法可能不能确定视觉传感器之间的基线距离的实际值。而实际的基线是αb,其中α是一个标量。
可以使用任何合适的传感器融合算法并基于视觉传感器和惯性传感器之间的校准空间配置,将UAV状态(速度)的基于立体视觉的估计与使用惯性传感器(例如,IMU)的UAV状态的估计进行组合。例如,基于视觉-IMU融合的UAV的估计速度可以由三维矢量Vo,i表示,其中i=1,2,3,...,n.
在框1104处,基于来自位置传感器和惯性传感器的传感器数据来确定UAV的状态的第二估计值。位置传感器可以包括GPS传感器、激光雷达、超声波传感器等。在一些实施例中,可以测试位置传感器以在使用传感器数据之前确定其传感器数据的可靠性,并且仅当传感器数据被确定为可靠时,才在该步骤中使用传感器数据。例如,对于 GPS传感器,GPS信号的强度或可靠性可以通过足够高的GPS信号功率水平、足够高的信噪比、足够低的精度稀释(DOP)、测量数据中更小的波动,和/或其他类似的测量结果来指示。
来自位置传感器(例如,GPS)和惯性传感器(例如,IMU)的传感器数据可以使用任何合适的传感器融合算法来融合,以估计UAV 的状态的第二值。例如,基于GPS-IMU融合的UAV的估计速度可以由三维矢量Vg,j表示,其中j=1,2,3,...,n。
在框1106处,可以至少部分地基于UAV状态的第一估计值和第二估计值来确定至少两个视觉传感器之间的空间关系。例如,两个视觉传感器之间的基线αb可以通过使用非线性优化算法(例如, Levenberg-Marquardt算法)在下面的最小化问题中求解α来确定:
在一些实施例中,上述方法可用于校准多对视觉传感器的基线 (或其标量)。
本文描述的***、设备和方法可以应用于各种可移动物体。如前所述,本文对飞行器(诸如UAV)的任何描述可以适用于和用于任何可移动物体。本文对飞行器的任何描述都可以专门适用于UAV。本发明的可移动物体可以配置为在任何合适的环境中移动,例如在空气中 (例如,固定翼飞行器,旋转翼飞行器,或者没有固定翼或旋转翼的飞行器),在水中(例如船舶或潜艇),在地面上(例如汽车,诸如轿车,卡车,巴士,面包车,摩托车、自行车;可移动的结构或框架,诸如棒、钓竿;或火车),在地下(例如地铁),在太空(例如太空飞机、卫星或探测器)或这些环境的任何组合。可移动物体可以是载运工具,诸如本文其他地方描述的载运工具。在一些实施例中,可移动物体可以由活体(诸如人或动物)携带,或者从活体取走。合适的动物可以包括禽类、犬类、猫类、马类、牛类、羊类、猪类、海豚类、啮齿类或昆虫类。
可移动物体会能够相对于六个自由度(例如三个平移自由度和三个旋转自由度)在环境内自由移动。备选地,可移动物体的移动可以相对于一个或多个自由度(例如通过预定的路径、轨道或朝向)进行限制。该移动可由任何合适的驱动机构(例如发动机或电机)来驱动。可移动物体的驱动机构可以由任何合适的能源(例如电能、磁能、太阳能、风能、重力、化学能、核能或其任何合适的组合)供电。可移动物体可以经由推进***自推进,如本文其他地方所述。推进***可以可选地在能源(例如电能、磁能、太阳能、风能、重力、化学能、核能或其任何合适的组合)上操作。备选地,可移动物体可以由生物体承载。
在一些情况下,可移动物体可以是飞行器。例如,飞行器可以是固定翼飞机(例如飞机、滑翔机)、旋转翼飞机(例如直升机、旋翼飞机)、具有固定翼和旋转翼的飞机,或没有固定翼和旋转翼的飞机(例如,飞艇、热气球)。飞行器可以是自推进的,比如通过空气自推进。自推进飞行器可以利用推进***,例如包括一个或多个发动机、电机、轮子、轴、磁体、旋翼、螺旋桨、叶片、喷嘴或其任何合适的组合的动力***。在某些实例中,推进***可以用于使可移动物体从表面起飞、在表面上降落、保持其当前位置和/或朝向(例如,悬停)、改变朝向和/或改变位置。
可移动物体可以由用户遥控,或者由乘员在可移动物体内或可移动物体上对可移动物体进行局部控制。可移动物体可以通过单独载运工具内的乘员来进行遥控。在一些实施例中,可移动物体是诸如UAV 的无人可移动物体。诸如UAV的无人可移动物体可以在该可移动物体上没有乘员。可移动物体可以由人或自主控制***(例如,计算机控制***)或其任何合适的组合来控制。可移动物体可以是自主的或半自主的机器人,例如配置有人工智能的机器人。
可移动物体可以具有任何合适的大小和/或尺寸。在一些实施例中,可移动物体可以具有在运载工具内或运载工具上有人类乘员的大小和 /或尺寸。备选地,可移动物体的大小和/或尺寸可以小于能够在运载工具内部或运载工具上有人类乘员的大小和/或尺寸。可移动物体的大小和/或尺寸可以适于被人抬起或携带。备选地,可移动物体可以大于适于被人抬起或携带的大小和/或尺寸。在某些实例中,可移动物体可以具有小于或等于约如下值的最大尺寸(例如,长度、宽度、高度、直径、对角线):2cm、5cm、10cm、50cm、1m、2m、5m或者10 m。最大尺寸可以大于或等于约:2cm、5cm、10cm、50cm、1m、 2m、5m或者10m。例如,可移动物体的相对旋翼的轴之间的距离可以小于或等于约:2cm、5cm、10cm、50cm、1m、2m、5m或者10m。或者,相对旋翼的轴之间的距离可以大于或等于约:2cm、 5cm、10cm、50cm、1m、2m、5m或者10m。
在一些实施例中,可移动物体的体积可以小于100cm×100cm× 100cm、小于50cm×50cm×30cm,或小于5cm×5cm×3cm。可移动物体的总体积可以小于或等于约:1cm3、2cm3、5cm3、10cm3、20cm3、 30cm3、40cm3、50cm3、60cm3、70cm3、80cm3、90cm3、100cm3、 150cm3、200cm3、300cm3、500cm3、750cm3、1000cm3、5000cm3、 10,000cm3、100,000cm3、1m3或者10m3。相反,可移动物体的总体积可以大于或等于约:1cm3、2cm3、5cm3、10cm3、20cm3、30cm3、 40cm3、50cm3、60cm3、70cm3、80cm3、90cm3、100cm3、150cm3、 200cm3、300cm3、500cm3、750cm3、1000cm3、5000cm3、10,000cm3、 100,000cm3、1m3或者10m3。
在一些实施例中,可移动物体可以具有小于或等于约如下值的占地面积(其可以指由可移动物体包围的横向横截面积):32,000cm2、 20,000cm2、10,000cm2、1,000cm2、500cm2、100cm2、50cm2、10cm2或者5cm2。相反,占地面积可以大于或等于约:32,000cm2、20,000cm2、 10,000cm2、1,000cm2、500cm2、100cm2、50cm2、10cm2或者5cm2。
在某些实例中,可移动物体的重量可以不超过1000kg。可移动物体的重量可以小于或等于约:1000kg、750kg、500kg、200kg、 150kg、100kg、80kg、70kg、60kg、50kg、45kg、40kg、35kg、 30kg、25kg、20kg、15kg、12kg、10kg、9kg、8kg、7kg、6kg、 5kg、4kg、3kg、2kg、1kg、0.5kg、0.1kg、0.05kg或者0.01kg。相反,重量可以大于或等于约:1000kg、750kg、500kg、200kg、 150kg、100kg、80kg、70kg、60kg、50kg、45kg、40kg、35kg、 30kg、25kg、20kg、15kg、12kg、10kg、9kg、8kg、7kg、6kg、 5kg、4kg、3kg、2kg、1kg、0.5kg、0.1kg、0.05kg或者0.01kg。
在一些实施例中,可移动物体相对于由可移动物体承载的负载可以较小。负载可以包括负载和/或载体,如本文其他地方进一步详细描述的。在某些示例中,可移动物体重量与负载重量之比可以大于、小于或等于约1∶1。在某些实例中,可移动物体重量与负载重量之比可以大于、小于或等于约1∶1。可选地,载体重量与负载重量之比可以大于、小于或等于约1∶1。当需要时,可移动物体重量与负载重量之比可以小于或等于:1∶2、1∶3、1∶4、1∶5、1∶10或甚至更少。相反,可移动物体重量与负载重量之比也可以大于或等于:2∶1、3∶1、4∶1、5∶1、 10∶1或甚至更大。
在一些实施例中,可移动物体可以具有低能耗。例如,可移动物体可以使用小于约:5W/h、4W/h、3W/h、2W/h、1W/h或更小。在某些实例中,可移动物体的载体可以具有低能耗。例如,载体可使用小于约:5W/h、4W/h、3W/h、2W/h、1W/h或更小。可选地,可移动物体的负载可以具有低能耗,例如小于约:5W/h、4W/h、3W/h、 2W/h、1W/h或更小。
UAV可以包括具有四个旋翼的推进***。可以提供任何数量的旋翼(例如,一个、两个、三个、四个、五个、六个或更多个)。无人机的旋翼、旋翼组件或其他推进***可以使得无人机能够悬停/保持位置、改变朝向和/或改变位置。相对旋翼的轴之间的距离可以是任何合适的长度。例如,长度可以小于或等于2m、或小于等于5m。在一些实施例中,长度可以在40cm至1m、10cm至2m,或5cm至5m的范围内。本文UAV的任何描述可以应用于可移动物体,例如不同类型的可移动物体,并且反之亦然。
在一些实施例中,可移动物体可被配置为携带负载。负载可以包括乘客、货物、装备、仪器等中的一个或更多个。负载可以设置在外壳内。所述外壳可以与可移动物体的外壳分离,或者作为可移动物体的外壳的一部分。备选地,负载可以设置有外壳,而可移动物体不具有外壳。备选地,负载的部分或整个负载可以设置为没有外壳。负载可以相对于可移动物体刚性地固定。可选地,负载可相对于可移动物体移动(例如,相对于可移动物体可平移或可旋转)。负载可以包括负载和/或载体,如本文其他地方所描述的。
在一些实施例中,可移动物体、载体和负载相对于固定参照系(例如,周围环境)和/或彼此的移动可由终端控制。终端可以是远离可移动物体、载体和/或负载的遥控设备。终端可以放置在或固定在支撑平台上。备选地,终端可以是手持式或可穿戴式设备。例如,终端可以包括智能电话、平板电脑、膝上型电脑、计算机、眼镜、手套、头盔、麦克风或其合适的组合。终端可以包括诸如键盘、鼠标、操纵杆、触摸屏或显示器之类的用户界面。可以使用任何合适的用户输入来与终端进行交互,诸如手动输入的命令、语音控制、手势控制或位置控制 (例如,通过终端的移动、位置或倾斜)。
终端可以用于控制可移动物体、载体和/或负载的任何合适的状态。例如,终端可以用于控制可移动物体、载体和/或负载相对于固定参照系和/或彼此的位置和/或朝向。在一些实施例中,终端可用于控制可移动物体、载体和/或负载的各个元件,例如载体的驱动组件、负载的传感器或负载的发射器。终端可以包括适于与可移动物体、载体或负载中的一个或多个通信的无线通信设备。
终端可以包括用于观看可移动物体、载体和/或负载的信息的合适的显示单元。例如,终端可以被配置为显示可移动物体、载体和/或负载的关于位置、平移速度、平移加速度、朝向、角速度、角加速度或其任何合适的组合方面的信息。在一些实施例中,终端可以显示由负载提供的信息,例如由功能型负载提供的数据(例如,由相机或其他图像捕获设备记录的图像)。
可选地,相同的终端可以控制可移动物体、载体和/或负载,或可移动物体、载体和/或负载的状态,以及接收和/或显示来自可移动物体、载体和/或负载的信息。例如,终端可以在显示由负载捕获的显示图像数据或关于负载的位置信息的同时,控制负载相对于环境的定位。备选地,不同的终端可以用于不同的功能。例如,第一终端可以控制可移动物体、载体和/或负载的移动或状态,而第二终端可以接收和/ 或显示来自可移动物体、载体和/或负载的信息。例如,第一终端可以用于控制负载相对于环境的定位,而第二终端显示由负载捕获的图像数据。在可移动物体和用于控制可移动物体并接收数据的集成终端之间,或者在可移动物体与用于控制可移动物体并接收数据的多个终端之间,可以使用各种通信模式。例如,在可移动物体和用于控制可移动物体并从可移动物体接收数据的终端之间,可以形成至少两种不同的通信模式。
图12示出了根据实施例的包括载体1202和负载1204的可移动物体1200。虽然可移动物体1200被描绘为飞行器,但是所述描述并不旨在限制,并且可以使用任何合适类型的可移动物体,如本文前面所述。本领域技术人员将理解,本文在飞机***的上下文中描述的任何实施例可以应用于任何合适的可移动物体(例如,UAV)。在某些实例中,负载1204可以设置在可移动物体1200上,而不需要载体1202。可移动物体1200可以包括推进机构1206、感测***1208和通信*** 1210。
如前所述,推进机构1206可以包括旋翼、螺旋桨、叶片、发动机、电机、轮子、轴、磁体或喷嘴中的一个或多个。可移动物体可以具有一个或多个、两个或更多个、三个或更多个,或四个或更多个推进机构。全部推进机构可以是相同类型的。备选地,一个或多个推进机构可以是不同类型的推进机构。推进机构1206可以使用诸如本文别处所述的诸如支撑元件(例如,驱动轴)的任何合适的方法安装在可移动物体1200上。推进机构1206可以安装在可移动物体1200的任何合适的部分上,诸如顶部、底部、前部、后部、侧面或其合适的组合。
在一些实施例中,推进机构1206可以使可移动物体1200能够垂直地从表面起飞或垂直地降落在表面上,而不需要可移动物体1200 的任何水平移动(例如,无需沿着跑道行进)。可选地,推进机构1206 可以可操作地允许可移动物体1200以特定位置和/或朝向悬停在空气中。推进机构1200中的一个或多个可以独立于其它推进机构受到控制。备选地,推进机构1200可以被配置为同时受到控制。例如,可移动物体1200可以具有多个水平朝向的旋翼,其可以向可移动物体提供升力和/或推力。可以驱动多个水平朝向的旋翼以向可移动物体1200提供垂直起飞、垂直着陆和悬停能力。在一些实施例中,水平朝向旋翼中的一个或多个可沿顺时针方向旋转,而水平旋翼中的一个或多个可沿逆时针方向旋转。例如,顺时针旋翼的数量可以等于逆时针旋翼的数量。为了控制由每个旋翼产生的升力和/或推力,从而调整可移动物体 1200(例如,相对于最多三个平移度和三个旋转度)的空间布置、速度和/或加速度,可以独立地改变每个水平朝向的旋翼的转速。
感测***1208可以包括可感测可移动物体1200(例如,相对于高达三个平移度和高达三个旋转度)的空间布置、速度和/或加速度的一个或多个传感器。一个或多个传感器可以包括全球定位***(GPS) 传感器、运动传感器、惯性传感器、近距离传感器或图像传感器。感测***1208提供的感测数据可用于(例如,使用合适的处理单元和/ 或控制模块,如下所述)控制可移动物体1200的空间布置、速度和/ 或朝向。备选地,感测***1208可用于提供关于可移动物体周围的环境的数据,例如天气条件、接近潜在障碍物、地理特征的位置、人造结构的位置等。
通信***1210能够经由无线信号1216与具有通信***1214的终端1212进行通信。通信***1210、1214可以包括适合于无线通信的任意数量的发射机、接收机和/或收发机。所述通信可以是单向通信,使得数据只能在一个方向上传输。例如,单向通信可以仅涉及可移动物体1200向终端1212发送数据,反之亦然。可以从通信***1210 的一个或多个发射机向通信***1212的一个或多个接收机发送数据,或者反之亦然。备选地,所述通信可以是双向通信,使得可以在可移动物体1200和终端1212之间的两个方向上发送数据。双向通信可以涉及从通信***1210的一个或多个发射机向通信***1214的一个或多个接收机发送数据,并且反之亦然。
在一些实施例中,终端1212可以向可移动物体1200、载体1202 和负载1204中的一个或更多个提供控制数据,并且从可移动物体1200、载体1202和负载1204中的一个或更多个接收信息(例如,可移动物体、载体或负载的位置和/或运动信息;由负载感测的数据,例如由负载相机捕获的图像数据)。在某些实例中,来自终端的控制数据可以包括用于可移动物体、载体和/或负载的相对位置、移动、驱动或控制的指令。例如,控制数据(例如,通过推进机构1206的控制)可以导致可移动物体的位置和/或朝向的修改,或(例如,通过载体1202的控制)导致负载相对于可移动物体的移动。来自终端的控制数据可以导致对负载的控制,诸如对相机或其他图像捕获设备的操作的控制(例如,拍摄静止或移动的图片、放大或缩小、打开或关闭、切换成像模式、改变图像分辨率、改变焦点、改变景深、改变曝光时间、改变视角或视野)。在某些实例中,来自可移动物体、载体和/或负载的通信可以包括来自(例如,感测***1208或负载1204的)一个或多个传感器的信息。通信可以包括来自一个或多个不同类型的传感器(例如, GPS传感器、运动传感器、惯性传感器、近距离传感器或图像传感器) 的感测信息。这样的信息可以涉及可移动物体、载体和/或负载的定位 (例如位置,朝向)、移动或加速度。来自负载的这种信息可以包括由负载捕获的数据或负载的感测状态。由终端1212发送提供的控制数据可以被配置为控制可移动物体1200、载体1202或负载1204中的一个或多个的状态。备选地或组合地,载体1202和负载1204也可以各自包括被配置为与终端1212进行通信的通信模块,使得该终端可以独立地与可移动物体1200、载体1202和有效负载1204中的每一个进行通信并对其进行控制。
在一些实施例中,可移动物体1200可被配置为与除了终端1212 之外的或者代替终端1212的另一远程通信设备。终端1212还可以被配置为与另一远程设备以及可移动物体1200进行通信。例如,可移动物体1200和/或终端1212可以与另一可移动物体或另一可移动物体的载体或负载通信。当需要时,远程设备可以是第二终端或其他计算设备(例如,计算机、膝上型电脑、平板电脑、智能电话或其他移动设备)。远程设备可以被配置为向可移动物体1200发送数据、从可移动物体1200接收数据、向终端1212发送数据,和/或从终端1212接收数据。可选地,远程设备可以与因特网或其他电信网络连接,使得从可移动物体1200和/或终端1212接收的数据可以上传到网站或服务器。
图13是根据实施例的用于控制可移动物体的***1300的框图的示意图。***1300可以与本文公开的***、设备和方法的任何合适的实施例结合使用。***1300可以包括感测模块1302、处理单元1304、非暂时性计算机可读介质1306、控制模块1308和通信模块1310。
感测模块1302可以利用以不同方式采集与可移动物体有关的信息的不同类型的传感器。不同类型的传感器可以感测不同类型的信号或来自不同源的信号。例如,传感器可以包括惯性传感器、GPS传感器、近距离传感器(例如,激光雷达)或视觉/图像传感器(例如,相机)。感测模块1302可以与具有多个处理器的处理单元1304可操作地耦合。在一些实施例中,感测模块可以可操作地与被配置为直接将感测数据传输到合适的外部设备或***的传输模块1312(例如,Wi-Fi 图像传输模块)连接。例如,传输模块1312可以用于将由感测模块1302的相机捕获的图像发送到远程终端。
处理单元1304可以具有一个或多个处理器,诸如可编程处理器 (例如,中央处理单元(CPU))。处理单元1304可以与非暂时性计算机可读介质1306可操作地耦合。非暂时性计算机可读介质1306可以存储可由处理单元1304执行的用于执行一个或多个步骤的逻辑、代码和/或程序指令。非暂时性计算机可读介质可以包括一个或多个存储器单元(例如,可移动介质或诸如SD卡或随机存取存储器(RAM)的外部储存器)。在一些实施例中,来自感测模块1302的数据可以被直接传送到非暂时性计算机可读介质1306的存储单元并存储于其中。非暂时性计算机可读介质1306的存储单元可以存储可由处理单元1304 执行的逻辑、代码和/或程序指令,以执行本文描述的方法的任何合适的实施例。存储单元可存储来自感测模块的感测数据以供处理单元 1304处理。在一些实施例中,非暂时性计算机可读介质1306的存储单元可以用于存储由处理单元1304产生的处理结果。
在一些实施例中,处理单元1304可以可操作地与被配置为控制可移动物体的状态的控制模块1308连接。例如,控制模块1308可以被配置为控制可移动物体的推进机构,以相对于六个自由度调节可移动物体的空间布置、速度和/或加速度。备选地或组合地,控制模块 1308可以控制载体、负载或感测模块的状态中的一个或多个。
处理单元1304可以可操作地与被配置为从一个或更多个外部设备(例如,终端、显示设备或其他遥控器)发送和/或接收数据的通信模块1310耦合。可以使用任何合适的通信方式,例如有线通信或无线通信。例如,通信模块1310可以利用局域网(LAN)、广域网(WAN)、红外线、无线电、WiFi、点对点(P2P)网络、电信网络、云通信等中的一个或更多个。可选地,可以使用中继站,例如塔、卫星或移动站。无线通信可以是接近度相关的或接近度不相关的。在一些实施例中,通信可能需要或可能不需要视距。通信模块1310可以发送和/或接收以下一个或多个:来自感测模块1302的感测数据,由处理单元 1304产生的处理结果、预定控制数据、来自终端或遥控器的用户命令等。
***1300的组件可以以任何合适的配置来布置。例如,***1300 的一个或多个组件可以位于可移动物体、载体、负载、终端、感测***上或与上述一个或多个进行通信的附加的外部设备上。另外,尽管图13描绘了单个处理单元1304和单个非暂时性计算机可读介质1306,本领域技术人员将理解,这并非意在限制,并且***1300可以包括多个处理单元和/或非暂时性计算机可读介质。在一些实施例中,多个处理单元和/或非暂时性计算机可读介质中的一个或多个可以位于不同的位置,例如位于可移动物体、载体、负载、终端、感测模块、与上述一个或多个进行通信的附加的外部设备、或其合适组合上,使得由***1300执行的处理和/或存储功能的任何合适方面可以发生在前述位置中的一个或多个位置。
虽然本文已经示出和描述了本发明的优选实施例,但是对于本领域技术人员显而易见的是,这些实施例仅以示例的方式提供。在不脱离本发明的情况下,本领域技术人员将会想到许多变化、改变和备选方式。应当理解,在实施本发明时可以采用本文所述的本发明的实施例的各种备选方案。以下权利要求旨在限定本发明的范围,并且这些权利要求及其等同物的范围内的方法和结构由此被涵盖。
Claims (30)
1.一种UAV上的多个传感器的校准方法,包括:
基于来自与所述UAV耦合的多个传感器的第一组传感器数据,检测所述多个传感器的空间配置从初始空间配置到后续空间配置的变化;
响应于检测到所述空间配置的变化,生成一个或多个校准指令以使得所述UAV沿着预定图案移动,当识别的传感器包括更多视觉传感器时,平移移动的百分比增加,当要校准的传感器包括更多的惯性传感器时,旋转移动的百分比增加;以及
至少部分地基于来自所述多个传感器的第二组传感器数据来确定所述多个传感器的后续空间配置,其中所述第二组传感器数据是当所述UAV沿着所述预定图案移动时由所述多个传感器采集的。
2.根据权利要求1所述的方法,其中所述多个传感器包括至少两种不同类型的传感器。
3.根据权利要求2所述的方法,其中所述多个传感器包括惯性传感器和至少两个视觉传感器。
4.根据权利要求1所述的方法,其中生成所述一个或多个校准指令包括:至少部分地基于所述多个传感器,从多个预定路径中选择所述预定图案。
5.根据权利要求1所述的方法,其中沿着所述预定图案移动包括进行平移移动和旋转移动。
6.根据权利要求1所述的方法,其中,所述一个或多个校准指令包括显示在用户界面上的人类可读用户指令。
7.根据权利要求6所述的方法,其中所述人类可读用户指令描述如何沿着所述预定图案手动移动所述UAV。
8.根据权利要求6所述的方法,其中,所述人类可读用户指令描述如何遥控所述UAV沿着所述预定图案移动。
9.根据权利要求1所述的方法,其中所述一个或多个校准指令包括计算机可执行校准指令,所述计算机可执行校准指令由所述UAV上的一个或多个处理器执行,从而使得所述UAV沿着所述预定图案移动。
10.根据权利要求1所述的方法,其中确定所述后续空间配置包括:
至少部分地基于所述第二组传感器数据,确定所述多个传感器中的至少两个视觉传感器之间的第一空间关系;以及
至少部分地基于所述第二组传感器数据,确定所述多个传感器中的视觉传感器和惯性传感器之间的第二空间关系。
11.根据权利要求10所述的方法,其中确定所述后续空间配置还包括至少部分地基于来自位置传感器的传感器数据来确定所述第一空间关系的参数。
12.根据权利要求11所述的方法,其中所述第一空间关系的参数是所述至少两个视觉传感器之间的基线距离。
13.根据权利要求11所述的方法,其中确定所述第一空间关系的参数包括:
使用所述至少两个视觉传感器和所述惯性传感器来确定所述UAV的状态的第一估计值;
使用所述位置传感器和所述惯性传感器来确定所述UAV的状态的第二估计值;以及
处理第一估计值和第二估计值以确定所述第一空间关系的参数。
14.根据权利要求13所述的方法,其中,所述UAV的状态包括速度。
15.一种UAV上的多个传感器的校准***,包括:
存储器,存储一个或多个计算机可执行指令;以及
一个或多个处理器,被配置为访问所述存储器并执行所述计算机可执行指令以执行包括以下的步骤:
基于来自与所述UAV耦合的多个传感器的第一组传感器数据,检测所述多个传感器的空间配置从初始空间配置到后续空间配置的变化;
响应于检测到所述空间配置的变化,生成一个或多个校准指令以使得所述UAV沿着预定图案移动,当识别的传感器包括更多视觉传感器时,平移移动的百分比增加,当要校准的传感器包括更多的惯性传感器时,旋转移动的百分比增加;以及
至少部分地基于来自所述多个传感器的第二组传感器数据来确定所述多个传感器的后续空间配置,其中所述第二组传感器数据是当所述UAV沿着所述预定图案移动时由所述多个传感器采集的。
16.根据权利要求15所述的校准***,其中所述多个传感器包括至少两种不同类型的传感器。
17.根据权利要求16所述的校准***,其中所述多个传感器包括惯性传感器和至少两个视觉传感器。
18.根据权利要求15所述的校准***,其中生成所述一个或多个校准指令包括:至少部分地基于所述多个传感器,从多个预定路径中选择所述预定图案。
19.根据权利要求15所述的校准***,其中沿着所述预定图案移动包括进行平移移动和旋转移动。
20.根据权利要求15所述的校准***,其中所述一个或多个校准指令包括显示在用户界面上的人类可读用户指令。
21.根据权利要求20所述的校准***,其中所述人类可读用户指令描述如何沿着所述预定图案手动移动所述UAV。
22.根据权利要求20所述的校准***,其中所述人类可读用户指令描述如何遥控所述UAV沿着所述预定图案移动。
23.根据权利要求15所述的校准***,其中所述一个或多个校准指令包含计算机可执行校准指令,所述计算机可执行校准指令由所述UAV上的一个或多个处理器执行,从而使得所述UAV沿着所述预定图案移动。
24.根据权利要求15所述的校准***,其中确定所述后续空间配置包括:
至少部分地基于所述第二组传感器数据,确定所述多个传感器中的至少两个视觉传感器之间的第一空间关系;以及
至少部分地基于所述第二组传感器数据,确定所述多个传感器中的视觉传感器和惯性传感器之间的第二空间关系。
25.根据权利要求24所述的校准***,其中确定所述后续空间配置还包括至少部分地基于来自位置传感器的传感器数据来确定所述第一空间关系的参数。
26.根据权利要求25所述的校准***,其中,所述第一空间关系的参数是所述至少两个视觉传感器之间的基线距离。
27.根据权利要求25所述的校准***,其中确定所述第一空间关系的参数包括:
使用所述至少两个视觉传感器和所述惯性传感器来确定所述UAV的状态的第一估计值;
使用所述位置传感器和所述惯性传感器来确定所述UAV的状态的第二估计值;以及
处理第一估计值和第二估计值以确定所述第一空间关系的参数。
28.根据权利要求27所述的校准***,其中,所述UAV的状态包括速度。
29.一种用于存储计算机可执行指令的一个或多个非暂时性计算机可读存储介质,所述计算机可执行指令在由计算***执行时配置所述计算***执行包括以下的操作:
基于来自与UAV耦合的多个传感器的第一组传感器数据,检测所述多个传感器的空间配置从初始空间配置到后续空间配置的变化;
响应于检测到所述空间配置的变化,生成一个或多个校准指令以使得所述UAV沿着预定图案移动,当识别的传感器包括更多视觉传感器时,平移移动的百分比增加,当要校准的传感器包括更多的惯性传感器时,旋转移动的百分比增加;以及
至少部分地基于来自所述多个传感器的第二组传感器数据来确定所述多个传感器的后续空间配置,其中所述第二组传感器数据是当所述UAV沿着所述预定图案移动时由所述多个传感器采集的。
30.一种传感器校准方法,包括:
基于来自与可移动物体耦合的多个传感器的第一组传感器数据,检测所述多个传感器的空间配置从初始空间配置到后续空间配置的变化;
响应于检测到所述空间配置的变化,当所述可移动物体沿着预定校准图案移动时,采集来自所述多个传感器的第二组传感器数据,当识别的传感器包括更多视觉传感器时,平移移动的百分比增加,当要校准的传感器包括更多的惯性传感器时,旋转移动的百分比增加;以及
至少部分地基于所述第二组传感器数据来确定所述多个传感器的后续空间配置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2016/084753 WO2017206179A1 (en) | 2016-06-03 | 2016-06-03 | Simple multi-sensor calibration |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109219785A CN109219785A (zh) | 2019-01-15 |
CN109219785B true CN109219785B (zh) | 2021-10-01 |
Family
ID=60478447
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680086380.2A Expired - Fee Related CN109219785B (zh) | 2016-06-03 | 2016-06-03 | 一种多传感器校准方法与*** |
Country Status (3)
Country | Link |
---|---|
US (2) | US11036241B2 (zh) |
CN (1) | CN109219785B (zh) |
WO (1) | WO2017206179A1 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102548228B1 (ko) * | 2016-08-09 | 2023-06-28 | 삼성전자주식회사 | 카메라를 구비한 무인 비행체 |
WO2018086133A1 (en) * | 2016-11-14 | 2018-05-17 | SZ DJI Technology Co., Ltd. | Methods and systems for selective sensor fusion |
SG10202110833PA (en) * | 2017-03-29 | 2021-11-29 | Agency Science Tech & Res | Real time robust localization via visual inertial odometry |
US10726577B2 (en) * | 2018-01-12 | 2020-07-28 | Intel Corporation | Post-incident management for autonomous vehicles |
EP3767246B1 (en) * | 2018-04-24 | 2022-08-10 | Mitsubishi Electric Corporation | Attack detection device, attack detection program, and attack detection method |
CA3134052A1 (en) | 2019-03-21 | 2020-09-24 | Sharkninja Operating Llc | Adaptive sensor array system and method |
EP3745082A1 (en) * | 2019-05-27 | 2020-12-02 | Shhuna GmbH | Method of sensor fusion |
US20220258352A1 (en) * | 2019-07-19 | 2022-08-18 | Siemens Ltd., China | Robot hand-eye calibration method and apparatus, computing device, medium and product |
US11352010B2 (en) * | 2019-09-30 | 2022-06-07 | Baidu Usa Llc | Obstacle perception calibration system for autonomous driving vehicles |
CN110780285B (zh) * | 2019-10-24 | 2022-10-18 | 深圳市镭神智能***有限公司 | 激光雷达与组合惯导的位姿标定方法、***及介质 |
US20210259779A1 (en) * | 2020-02-20 | 2021-08-26 | Verb Surgical Inc. | Multi-camera user interface device calibration and tracking |
WO2021217312A1 (zh) * | 2020-04-26 | 2021-11-04 | 深圳市大疆创新科技有限公司 | 目标定位方法、可移动平台、存储介质 |
CN111487859A (zh) * | 2020-04-29 | 2020-08-04 | 莆田市信田农业科技有限公司 | 一种无人机自动驾驶仪安全冗杂方法及装置 |
EP3992580B1 (en) * | 2020-11-03 | 2022-12-21 | Everdrone AB | Method for calibrating an altitude sensing stereo vision device of a uav |
CN112362084A (zh) * | 2020-11-23 | 2021-02-12 | 北京三快在线科技有限公司 | 一种数据标定方法、装置及数据标定*** |
US11423576B1 (en) * | 2021-07-23 | 2022-08-23 | Ford Global Technologies, Llc | Infrastructure node localization with respect to alternative frame of reference |
CN116380132B (zh) * | 2023-06-06 | 2023-08-22 | 上海云骥跃动智能科技发展有限公司 | 传感器时间偏移的处理方法、装置、设备、车辆和介质 |
CN117032016B (zh) * | 2023-08-02 | 2024-02-27 | 广州航海学院 | 一种无人艇的艇载传感器监测控制方法、***及设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103611324A (zh) * | 2013-11-14 | 2014-03-05 | 南京航空航天大学 | 一种无人直升机飞行控制***及其控制方法 |
CN103914065A (zh) * | 2014-03-24 | 2014-07-09 | 深圳市大疆创新科技有限公司 | 飞行器状态实时修正的方法和装置 |
WO2016023224A1 (en) * | 2014-08-15 | 2016-02-18 | SZ DJI Technology Co., Ltd. | System and method for automatic sensor calibration |
WO2016054004A1 (en) * | 2014-09-30 | 2016-04-07 | Sikorsky Aircraft Corporation | Online sensor calibration verification system |
CN105492985A (zh) * | 2014-09-05 | 2016-04-13 | 深圳市大疆创新科技有限公司 | 多传感器环境地图构建 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080195316A1 (en) * | 2007-02-12 | 2008-08-14 | Honeywell International Inc. | System and method for motion estimation using vision sensors |
CN102955478B (zh) * | 2012-10-24 | 2016-01-20 | 深圳一电科技有限公司 | 无人机飞行控制方法及*** |
US20150286279A1 (en) * | 2014-04-07 | 2015-10-08 | InvenSense, Incorporated | Systems and methods for guiding a user during calibration of a sensor |
US10747236B2 (en) * | 2015-02-19 | 2020-08-18 | Flir Unmanned Aerial Systems Ulc | Systems and processes for calibrating unmanned aerial vehicles |
US10499037B1 (en) * | 2015-05-28 | 2019-12-03 | Amazon Technologies, Inc. | Active alignment of stereo cameras |
US9681118B2 (en) * | 2015-10-01 | 2017-06-13 | Infinity Augmented Reality Israel Ltd. | Method and system for recalibrating sensing devices without familiar targets |
US20170123035A1 (en) * | 2015-10-29 | 2017-05-04 | Kespry, Inc. | Autonomous magnetometer calibration |
US11036946B2 (en) * | 2016-05-07 | 2021-06-15 | Canyon Navigation, LLC | Navigation using self-describing fiducials |
-
2016
- 2016-06-03 CN CN201680086380.2A patent/CN109219785B/zh not_active Expired - Fee Related
- 2016-06-03 WO PCT/CN2016/084753 patent/WO2017206179A1/en active Application Filing
-
2018
- 2018-12-02 US US16/207,144 patent/US11036241B2/en active Active
-
2021
- 2021-06-11 US US17/346,185 patent/US11822353B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103611324A (zh) * | 2013-11-14 | 2014-03-05 | 南京航空航天大学 | 一种无人直升机飞行控制***及其控制方法 |
CN103914065A (zh) * | 2014-03-24 | 2014-07-09 | 深圳市大疆创新科技有限公司 | 飞行器状态实时修正的方法和装置 |
WO2016023224A1 (en) * | 2014-08-15 | 2016-02-18 | SZ DJI Technology Co., Ltd. | System and method for automatic sensor calibration |
CN105492985A (zh) * | 2014-09-05 | 2016-04-13 | 深圳市大疆创新科技有限公司 | 多传感器环境地图构建 |
WO2016054004A1 (en) * | 2014-09-30 | 2016-04-07 | Sikorsky Aircraft Corporation | Online sensor calibration verification system |
Also Published As
Publication number | Publication date |
---|---|
US11822353B2 (en) | 2023-11-21 |
US11036241B2 (en) | 2021-06-15 |
WO2017206179A1 (en) | 2017-12-07 |
US20210341949A1 (en) | 2021-11-04 |
CN109219785A (zh) | 2019-01-15 |
US20190113537A1 (en) | 2019-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109219785B (zh) | 一种多传感器校准方法与*** | |
US11015956B2 (en) | System and method for automatic sensor calibration | |
CN107850901B (zh) | 使用惯性传感器和图像传感器的传感器融合 | |
US10599149B2 (en) | Salient feature based vehicle positioning | |
CN107615211B (zh) | 使用传感器融合估计可移动物体的状态信息的方法及*** | |
CN107850436B (zh) | 使用惯性传感器和图像传感器的传感器融合 | |
CN108139759B (zh) | 用于无人飞行器路径规划和控制的***和方法 | |
CN107209514B (zh) | 传感器数据的选择性处理 | |
JP6329642B2 (ja) | センサ融合 | |
US10060746B2 (en) | Methods and systems for determining a state of an unmanned aerial vehicle | |
CN108351574B (zh) | 用于设置相机参数的***、方法和装置 | |
CN107850899B (zh) | 使用惯性传感器和图像传感器的传感器融合 | |
CN109388150B (zh) | 多传感器环境地图构建 | |
JP6275887B2 (ja) | センサ較正方法及びセンサ較正装置 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20211001 |
|
CF01 | Termination of patent right due to non-payment of annual fee |