JP6800918B2 - Methods, systems, and programs for performing error recovery - Google Patents

Methods, systems, and programs for performing error recovery Download PDF

Info

Publication number
JP6800918B2
JP6800918B2 JP2018132694A JP2018132694A JP6800918B2 JP 6800918 B2 JP6800918 B2 JP 6800918B2 JP 2018132694 A JP2018132694 A JP 2018132694A JP 2018132694 A JP2018132694 A JP 2018132694A JP 6800918 B2 JP6800918 B2 JP 6800918B2
Authority
JP
Japan
Prior art keywords
uav
image
data
sensors
sensor
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.)
Active
Application number
JP2018132694A
Other languages
Japanese (ja)
Other versions
JP2019023865A (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.)
SZ DJI Technology Co Ltd
Original Assignee
SZ DJI 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 SZ DJI Technology Co Ltd filed Critical SZ DJI Technology Co Ltd
Priority to JP2018132694A priority Critical patent/JP6800918B2/en
Publication of JP2019023865A publication Critical patent/JP2019023865A/en
Application granted granted Critical
Publication of JP6800918B2 publication Critical patent/JP6800918B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

無人航空機(UAV)などの無人輸送体は、民間、商用、および軍事の多種多様な適用例のための監視、偵察、および探索タスクを実行するために用いられ得る。UAVは遠隔のユーザにより手動で制御され得、または半自律的な、または完全に自律的なやり方で動作し得る。そのようなUAVは、状態情報などUAVの動作の間に用いられ得るデータを収集するよう構成された複数のセンサを含み得る。 Unmanned aerial vehicles (UAVs) and other unmanned transporters can be used to perform surveillance, reconnaissance, and exploration tasks for a wide variety of civilian, commercial, and military applications. The UAV can be manually controlled by a remote user, or can operate in a semi-autonomous or fully autonomous manner. Such a UAV may include multiple sensors configured to collect data that may be used during the operation of the UAV, such as state information.

UAVの動作のためのデータ収集および処理に関する既存のアプローチは、いくつかの例において最適ではないかもしれない。例えば、UAVに関する状態情報を推定するためのいくつかの技術は、十分に正確ではないかもしれず、このことはUAVの機能にとって有害であり得る。 Existing approaches to data collection and processing for UAV operations may not be optimal in some cases. For example, some techniques for estimating state information about a UAV may not be accurate enough, which can be detrimental to the functioning of the UAV.

本開示は、無人航空機(UAV)など可動物体の制御および動作に関する複数のシステム、方法、およびデバイスを提供する。いくつかの実施形態において、本明細書に記載されている複数のシステム、方法、およびデバイスは、高められた正確性および柔軟性でUAVの動作に関連する情報を決定することを可能するセンサ融合を利用する。例えば、1または複数の慣性センサおよび1または複数の画像センサの融合が、初期化、エラー回復、パラメータ較正、および/または状態推定を向上させるのに用いられ得る。これらの手順から取得される情報は、UAVの動作、例えば、自律または半自律ナビゲーション、障害物回避、マッピング、およびその他を容易にするために用いられ得る。 The present disclosure provides multiple systems, methods, and devices for the control and operation of moving objects such as unmanned aerial vehicles (UAVs). In some embodiments, the plurality of systems, methods, and devices described herein are sensor fusions that allow enhanced accuracy and flexibility to determine information related to the operation of the UAV. To use. For example, fusion of one or more inertial sensors and one or more image sensors can be used to improve initialization, error recovery, parameter calibration, and / or state estimation. The information obtained from these procedures can be used to facilitate UAV operations such as autonomous or semi-autonomous navigation, obstacle avoidance, mapping, and more.

一態様において、複数のセンサを用いて可動物体に関する初期化情報を決定するための方法が提供される。方法は、可動物体が動作を開始したことを1または複数のプロセッサの補助を受けて検出するステップと、可動物体により搭載される少なくとも1つの慣性センサから慣性データを1または複数のプロセッサにおいて受信するステップと、可動物体により搭載される少なくとも2つの画像センサから画像データを1または複数のプロセッサにおいて受信するステップと、慣性データおよび画像データに基づいて可動物体に関する初期化情報を1または複数のプロセッサの補助を受けて決定するステップとを備え、初期化情報は、可動物体が動作を開始したときの、可動物体の位置、可動物体の速度、または重力方向に対する可動物体の向きのうち1または複数を含む。 In one aspect, a method for determining initialization information about a moving object using a plurality of sensors is provided. The method involves receiving inertial data in one or more processors from at least one inertial sensor mounted by the movable object, with the step of detecting that the moving object has begun to move with the assistance of one or more processors. A step, a step of receiving image data in one or more processors from at least two image sensors mounted by the moving object, and initialization information about the moving object based on inertial data and image data of the moving object. The initialization information includes one or more of the position of the movable object, the speed of the movable object, or the orientation of the movable object with respect to the direction of gravity when the movable object starts to move, with a step of determining with assistance. Including.

いくつかの実施形態において、可動物体は無人航空機(UAV)である。UAVが動作を開始したことを検出するステップは、UAVが飛行を開始したことを検出することを有し得る。UAVは、自由落下状態から、および/またはユーザにより投げられることにより飛行を開始し得る。UAVが動作を開始したことを検出するステップは、UAVが面から離陸したことを検出するステップを有し得、面は傾斜面または非傾斜面であり得る。 In some embodiments, the movable object is an unmanned aerial vehicle (UAV). The step of detecting that the UAV has started operation may have to detect that the UAV has started flying. The UAV may start flying from the free fall state and / or by being thrown by the user. The step of detecting that the UAV has started operation may include a step of detecting that the UAV has taken off from a surface, and the surface can be an inclined surface or a non-inclined surface.

いくつかの実施形態において、慣性データは、可動物体の3次元加速度および3次元角速度を示す1または複数の測定値を含む。慣性データは、可動物体が動作を開始したときから開始する時間間隔に亘って少なくとも1つの慣性センサにより取得される1または複数の測定値を含み得る。 In some embodiments, the inertial data includes one or more measurements that indicate the 3D acceleration and 3D angular velocity of the moving object. Inertia data may include one or more measurements acquired by at least one inertial sensor over a time interval that begins when the moving object begins to move.

いくつかの実施形態において、画像データは、可動物体の周囲の環境の1または複数の画像を含む。画像データは、可動物体が動作を開始したときから開始する時間間隔に亘って少なくとも2つの画像センサのうちそれぞれにより取得される1または複数の画像を含み得る。いくつかの実施形態において、決定するステップは、特徴点検出アルゴリズムを用いて1または複数の画像を処理するステップを有する。決定するステップは、オプティカルフローアルゴリズムを用いて1または複数の画像を処理するステップを有し得る。決定するステップは、特徴マッチングアルゴリズムを用いて1または複数の画像を処理するステップを有し得る。決定するステップは、少なくとも2つの画像センサのうち第1画像センサにより取得された1または複数の画像を、少なくとも2つの画像センサのうち第2画像センサにより取得された1または複数の画像と比較するステップを有し得る。 In some embodiments, the image data includes one or more images of the environment surrounding the moving object. The image data may include one or more images acquired by each of at least two image sensors over a time interval starting from the time the movable object starts moving. In some embodiments, the determining step comprises processing one or more images using a feature point detection algorithm. The determining step may include processing one or more images using an optical flow algorithm. The determining step may include processing one or more images using a feature matching algorithm. The step of determining is to compare one or more images acquired by the first image sensor of at least two image sensors with one or more images acquired by the second image sensor of at least two image sensors. May have steps.

いくつかの実施形態において、少なくとも2つの画像センサは、複数の画像を同期的に取得するよう構成されている。代替的に、少なくとも2つの画像センサは、複数の画像を非同期的に取得するよう構成され得る。少なくとも2つの画像センサは、切り替え機構を介して1または複数のプロセッサに切り替え可能に結合された複数の画像センササブセットを含み、切り替え機構は、一時に単一の画像センササブセットを1または複数のプロセッサへ結合するよう構成されている。画像データを受信するステップは、切り替え機構を介して第1画像センササブセットを1または複数のプロセッサに結合するステップと、第1画像センササブセットからの画像データを受信するステップと、切り替え機構を介して第2画像センササブセットを1または複数のプロセッサに結合するステップと、第2画像センササブセットから画像データを受信するステップとを有し得る。 In some embodiments, at least two image sensors are configured to synchronously acquire a plurality of images. Alternatively, at least two image sensors may be configured to acquire multiple images asynchronously. At least two image sensors include a plurality of image sensor subsets switchably coupled to one or more processors via a switching mechanism, the switching mechanism including a single image sensor subset at one time to one or more processors. It is configured to bind to. The steps of receiving image data include a step of coupling the first image sensor subset to one or more processors via a switching mechanism, a step of receiving image data from the first image sensor subset, and a step of receiving image data via a switching mechanism. It may have a step of combining the second image sensor subset into one or more processors and a step of receiving image data from the second image sensor subset.

いくつかの実施形態において、初期化情報はさらに、可動物体が動作を開始したときの可動物体の位置および速度を含む。決定するステップは、慣性データを用いて初期化情報の第1推定値を生成するステップと、画像データを用いて初期化情報の第2推定値を生成するステップと、第1推定値および第2推定値を組み合わせて可動物体に関する初期化情報を取得するステップとを有し得る。初期化情報は、線形最適化アルゴリズムを用いて決定され得る。初期化情報は、慣性データおよび画像データのみに基づいて決定され得る。 In some embodiments, the initialization information further includes the position and velocity of the moving object when it begins to move. The steps to be determined are a step of generating a first estimated value of initialization information using inertial data, a step of generating a second estimated value of initialization information using image data, and a first estimated value and a second estimated value. It may have a step of combining estimates to obtain initialization information about the moving object. Initialization information can be determined using a linear optimization algorithm. Initialization information can be determined based solely on inertial data and image data.

いくつかの実施形態において、方法はさらに、重力方向に対する可動物体の向きを用いて、少なくとも1つの慣性センサから取得した続く慣性データを補正するステップを備える。 In some embodiments, the method further comprises a step of correcting subsequent inertial data obtained from at least one inertial sensor using the orientation of the moving object with respect to the direction of gravity.

他の態様において、複数のセンサを用いて可動物体に関する初期化情報を決定するためのシステムが提供される。システムは、可動物体により搭載される少なくとも1つの慣性センサと、可動物体により搭載される少なくとも2つの画像センサと、1または複数のプロセッサとを備え得、1または複数のプロセッサは、個々に、または集合的に、可動物体が動作を開始したことを検出し、少なくとも1つの慣性センサから慣性データを受信し、少なくとも2つの画像センサから画像データを受信し、慣性データおよび画像データに基づいて可動物体に関する初期化情報を決定するよう構成され、初期化情報は、可動物体が動作を開始したときの、可動物体の位置、可動物体の速度、または重力方向に対する可動物体の向きのうち1または複数を含む。 In another aspect, a system is provided for determining initialization information about a moving object using multiple sensors. The system may include at least one inertial sensor mounted by a moving object, at least two image sensors mounted by a moving object, and one or more processors, each of which may be individual or. Collectively, it detects that a moving object has started to move, receives inertial data from at least one inertial sensor, receives image data from at least two image sensors, and is based on the inertial data and the image data. It is configured to determine the initialization information about, which is one or more of the position of the moving object, the speed of the moving object, or the orientation of the moving object with respect to the direction of gravity when the moving object starts to move. Including.

他の態様において、1または複数の非一時的コンピュータ可読記憶媒体が提供される。1または複数の非一時的コンピュータ可読記憶媒体は複数の実行可能命令を格納し得、複数の実行可能命令は、可動物体に関する初期化情報を決定するためのコンピュータシステムの1または複数のプロセッサにより実行されたときにコンピュータシステムに少なくとも、可動物体が動作を開始したことを検出させ、可動物体により搭載される少なくとも1つの慣性センサから慣性データを受信させ、可動物体により搭載される少なくとも2つの画像センサから画像データを受信させ、慣性データおよび画像データに基づいて可動物体に関する初期化情報を決定させ、初期化情報は、可動物体が動作を開始したときの、可動物体の位置、可動物体の速度、または重力方向に対する可動物体の向きのうち1または複数を含む。 In other embodiments, one or more non-temporary computer-readable storage media are provided. One or more non-temporary computer-readable storage media may store multiple executable instructions, which are executed by one or more processors of the computer system for determining initialization information about the moving object. At least two image sensors mounted by the movable object, causing the computer system to detect that the movable object has started to move, receive inertial data from at least one inertial sensor mounted by the movable object. The image data is received from, and the initialization information about the moving object is determined based on the inertial data and the image data. Or includes one or more of the orientations of the moving object with respect to the direction of gravity.

他の態様において、複数のセンサを用いて可動物体に関するエラー回復を実行するための方法が提供される。方法は、可動物体の動作の間にエラーが生じたことを1または複数のプロセッサの補助を受けて検出するステップと、可動物体により搭載される少なくとも1つの慣性センサから慣性データを1または複数のプロセッサにおいて受信するステップと、可動物体により搭載される少なくとも2つの画像センサから画像データを1または複数のプロセッサにおいて受信するステップと、慣性データおよび画像データに基づいて可動物体に関する再初期化情報を1または複数のプロセッサの補助を受けて決定するステップとを備え得、再初期化情報は、エラーが生じたときの、可動物体の位置、可動物体の速度、または重力方向に対する可動物体の向きのうち1または複数を含む。 In other embodiments, methods are provided for performing error recovery on moving objects using multiple sensors. The method involves the step of detecting an error during the operation of a moving object with the assistance of one or more processors, and one or more inertial data from at least one inertial sensor mounted by the moving object. One step of receiving in the processor, one step of receiving image data in one or more processors from at least two image sensors mounted by the movable object, and one reinitialization information about the movable object based on inertial data and image data. Or it may be equipped with a step of determining with the assistance of multiple processors, and the reinitialization information is the position of the moving object, the speed of the moving object, or the orientation of the moving object with respect to the direction of gravity when an error occurs. Includes one or more.

いくつかの実施形態において、可動物体は無人航空機(UAV)である。 In some embodiments, the movable object is an unmanned aerial vehicle (UAV).

いくつかの実施形態において、エラーは、少なくとも1つの慣性センサまたは少なくとも2つの画像センサのうち1または複数における機能不良を含む。エラーは、可動物体により用いられる状態推定モジュールにおける機能不良を含み得る。状態推定モジュールは反復状態推定アルゴリズムを用い得、機能不良は、反復状態推定アルゴリズムが解に収束し損ねることを含み得る。方法はさらに、再初期化情報を用いて反復状態推定アルゴリズムを再初期化するステップを備え得る。 In some embodiments, the error includes a malfunction in one or more of at least one inertial sensor or at least two image sensors. The error may include a malfunction in the state estimation module used by the moving object. The state estimation module can use an iterative state estimation algorithm, and malfunctions can include the iterative state estimation algorithm failing to converge to a solution. The method may further include a step of reinitializing the iterative state estimation algorithm with the reinitialization information.

いくつかの実施形態において、慣性データは、可動物体の3次元加速度および3次元角速度を示す1または複数の測定値を含む。慣性データは、エラーが生じたときから開始する時間間隔に亘って少なくとも1つの慣性センサにより取得される1または複数の測定値を含み得る。 In some embodiments, the inertial data includes one or more measurements that indicate the 3D acceleration and 3D angular velocity of the moving object. Inertia data may include one or more measurements taken by at least one inertial sensor over a time interval starting from the time the error occurs.

いくつかの実施形態において、画像データは、可動物体の周囲の環境の1または複数の画像を含む。画像データは、エラーが生じたときから開始する時間間隔に亘って少なくとも2つの画像センサのうちそれぞれにより取得される1または複数の画像を含み得る。いくつかの実施形態において、決定するステップは、特徴点検出アルゴリズムを用いて1または複数の画像を処理するステップを有する。決定するステップは、オプティカルフローアルゴリズムを用いて1または複数の画像を処理するステップを有し得る。決定するステップは、特徴マッチングアルゴリズムを用いて1または複数の画像を処理するステップを有し得る。決定するステップは、少なくとも2つの画像センサのうち第1画像センサにより取得された1または複数の画像を、少なくとも2つの画像センサのうち第2画像センサにより取得された1または複数の画像と比較するステップを有し得る。 In some embodiments, the image data includes one or more images of the environment surrounding the moving object. The image data may include one or more images acquired by each of at least two image sensors over a time interval starting from the time the error occurs. In some embodiments, the determining step comprises processing one or more images using a feature point detection algorithm. The determining step may include processing one or more images using an optical flow algorithm. The determining step may include processing one or more images using a feature matching algorithm. The step of determining is to compare one or more images acquired by the first image sensor of at least two image sensors with one or more images acquired by the second image sensor of at least two image sensors. May have steps.

いくつかの実施形態において、少なくとも2つの画像センサは、複数の画像を同期的に取得するよう構成されている。代替的に、少なくとも2つの画像センサは、複数の画像を非同期的に取得するよう構成され得る。少なくとも2つの画像センサは、切り替え機構を介して1または複数のプロセッサに切り替え可能に結合された複数の画像センササブセットを含み、切り替え機構は、一時に単一の画像センササブセットを1または複数のプロセッサへ結合するよう構成されている。画像データを受信するステップは、切り替え機構を介して第1画像センササブセットを1または複数のプロセッサに結合するステップと、第1画像センササブセットからの画像データを受信するステップと、切り替え機構を介して第2画像センササブセットを1または複数のプロセッサに結合するステップと、第2画像センササブセットから画像データを受信するステップとを有し得る。 In some embodiments, at least two image sensors are configured to synchronously acquire a plurality of images. Alternatively, at least two image sensors may be configured to acquire multiple images asynchronously. At least two image sensors include a plurality of image sensor subsets switchably coupled to one or more processors via a switching mechanism, the switching mechanism including a single image sensor subset at one time to one or more processors. It is configured to bind to. The steps of receiving image data include a step of coupling the first image sensor subset to one or more processors via a switching mechanism, a step of receiving image data from the first image sensor subset, and a step of receiving image data via a switching mechanism. It may have a step of combining the second image sensor subset into one or more processors and a step of receiving image data from the second image sensor subset.

いくつかの実施形態において、再初期化情報はさらに、エラーが生じたときの可動物体の位置および速度を含む。決定するステップは、慣性データを用いて再初期化情報の第1推定値を生成するステップと、画像データを用いて再初期化情報の第2推定値を生成するステップと、第1推定値および第2推定値を組み合わせて可動物体に関する再初期化情報を取得するステップとを有し得る。再初期化情報は、線形最適化アルゴリズムを用いて決定され得る。再初期化情報は、慣性データおよび画像データのみに基づいて決定され得る。 In some embodiments, the reinitialization information further includes the position and velocity of the moving object when the error occurs. The steps to determine are the step of generating the first estimated value of the reinitialization information using the inertial data, the step of generating the second estimated value of the reinitialized information using the image data, the first estimated value, and the step. It may have a step of combining the second estimates to obtain reinitialization information about the moving object. The reinitialization information can be determined using a linear optimization algorithm. The reinitialization information can be determined based solely on inertial data and image data.

いくつかの実施形態において、方法はさらに、重力方向に対する可動物体の向きを用いて、少なくとも1つの慣性センサから取得した続く慣性データを補正するステップを備える。 In some embodiments, the method further comprises a step of correcting subsequent inertial data obtained from at least one inertial sensor using the orientation of the moving object with respect to the direction of gravity.

他の態様において、複数のセンサを用いて可動物体に関するエラー回復を実行するためのシステムが提供される。システムは、可動物体により搭載される少なくとも1つの慣性センサと、可動物体により搭載される少なくとも2つの画像センサと、1または複数のプロセッサとを備え得、1または複数のプロセッサは、個々に、または集合的に、可動物体の動作の間にエラーが生じたことを検出し、少なくとも1つの慣性センサから慣性データを受信し、少なくとも2つの画像センサから画像データを受信し、慣性データおよび画像データに基づいて可動物体に関する再初期化情報を決定するよう構成され、再初期化情報は、エラーが生じたときの可動物体の位置、可動物体の速度、または重力方向に対する可動物体の向きのうち1または複数を含む。 In another embodiment, a system is provided for performing error recovery on moving objects using multiple sensors. The system may include at least one inertial sensor mounted by a moving object, at least two image sensors mounted by a moving object, and one or more processors, each of which may be individual or. Collectively, it detects that an error has occurred during the movement of a moving object, receives inertial data from at least one inertial sensor, receives image data from at least two image sensors, and converts it into inertial data and image data. It is configured to determine reinitialization information about a moving object based on, which is one of the position of the moving object at the time of the error, the speed of the moving object, or the orientation of the moving object with respect to the direction of gravity. Including multiple.

他の態様において、1または複数の非一時的コンピュータ可読記憶媒体が提供される。1または複数の非一時的コンピュータ可読記憶媒体は、複数の実行可能命令を格納し得、複数の実行可能命令は、可動物体に関するエラー回復を実行するためのコンピュータシステムの1または複数のプロセッサにより実行されたときにコンピュータシステムに少なくとも、可動物体の動作の間にエラーが生じたことを検出させ、可動物体により搭載される少なくとも1つの慣性センサから慣性データを受信させ、可動物体により搭載される少なくとも2つの画像センサから画像データを受信させ、慣性データおよび画像データに基づいて可動物体に関する再初期化情報を決定させ、再初期化情報は、エラーが生じたときの、可動物体の位置、可動物体の速度、または重力方向に対する可動物体の向きのうち1または複数を含む。 In other embodiments, one or more non-temporary computer-readable storage media are provided. One or more non-temporary computer-readable storage media may store multiple executable instructions, which are executed by one or more processors of the computer system to perform error recovery on moving objects. At least when the computer system is made to detect that an error has occurred during the movement of the moving object, to receive inertial data from at least one inertial sensor mounted by the moving object, and at least mounted by the moving object. Image data is received from two image sensors, and reinitialization information about the movable object is determined based on the inertial data and the image data. The reinitialization information is the position of the movable object and the movable object when an error occurs. Includes one or more of the speeds of, or the orientation of the moving object with respect to the direction of gravity.

他の態様において、可動物体の動作の間に複数のセンサを用いて可動物体の1または複数の外部パラメータを較正するための方法が提供される。方法は、1または複数の外部パラメータは、可動物体により搭載される少なくとも2つの画像センサ間の複数の空間的関係を含む1または複数の外部パラメータに関する複数の初期値を1または複数のプロセッサにおいて受信するステップと、可動物体の動作の間に可動物体により搭載される少なくとも1つの慣性センサから慣性データを1または複数のプロセッサにおいて受信するステップと、可動物体の動作の間に可動物体により搭載される少なくとも2つの画像センサから画像データを1または複数のプロセッサにおいて受信するステップと、可動物体の動作の間に反復最適化アルゴリズムを用いて複数の初期値、慣性データ、および画像データに基づいて1または複数の外部パラメータに関する複数の推定値を1または複数のプロセッサの補助を受けて決定するステップとを備え得る。 In another aspect, a method is provided for calibrating one or more external parameters of a moving object using multiple sensors during the movement of the moving object. The method is that one or more external parameters receive multiple initial values for one or more external parameters including multiple spatial relationships between at least two image sensors mounted by the moving object in one or more processors. A step of receiving inertial data in one or more processors from at least one inertial sensor mounted by the movable object during the movement of the movable object, and a step of being mounted by the movable object during the movement of the movable object. One or more based on multiple initial values, inertial data, and image data using an iterative optimization algorithm between the step of receiving image data from at least two image sensors in one or more processors and the movement of a moving object. It may include the step of determining a plurality of estimates for a plurality of external parameters with the assistance of one or more processors.

いくつかの実施形態において、可動物体は無人航空機(UAV)である。UAVの動作は、UAVが飛行していること、および/または電力供給されていることを含み得る。 In some embodiments, the movable object is an unmanned aerial vehicle (UAV). The operation of the UAV may include that the UAV is in flight and / or is powered.

いくつかの実施形態において、複数の空間的関係は、少なくとも2つの画像センサの相対的な複数の位置および相対的な複数の向きを含む。少なくとも2つの画像センサの相対的な複数の位置および相対的な複数の向きは、少なくとも1つの慣性センサに関連して決定され得る。 In some embodiments, the spatial relationship comprises relative positions and orientations of at least two image sensors. The relative positions and relative orientations of at least two image sensors can be determined in relation to at least one inertial sensor.

いくつかの実施形態において、1または複数の外部パラメータに関する複数の初期値は、可動物体の動作の前に決定される。複数の初期値は、可動物体の動作の前に反復最適化アルゴリズムを用いて決定され得る。複数の初期値は、可動物体の動作の前にユーザにより測定され得る。1または複数の外部パラメータに関する複数の初期値は、可動物体に関連付けられたメモリデバイスから受信され得る。いくつかの実施形態において、少なくとも2つの画像センサは、1または複数の固定されたロケーションにおいて可動物体に結合され、1または複数の外部パラメータに関する複数の初期値は、1または複数の固定されたロケーションに基づいて決定される。1または複数の外部パラメータに関する複数の初期値は、1または複数の外部パラメータの複数の実際値からおよそ2cm以下だけ離れていてもよい。1または複数の外部パラメータに関する複数の初期値は、1または複数の外部パラメータの複数の実際値からおよそ2度以下離れていてもよい。 In some embodiments, a plurality of initial values for one or more external parameters are determined prior to the movement of the moving object. Multiple initial values can be determined using an iterative optimization algorithm prior to the movement of the moving object. Multiple initial values may be measured by the user prior to the movement of the moving object. Multiple initial values for one or more external parameters may be received from the memory device associated with the moving object. In some embodiments, at least two image sensors are coupled to a moving object in one or more fixed locations, with multiple initial values for one or more external parameters being one or more fixed locations. It is decided based on. The plurality of initial values for one or more external parameters may be separated by approximately 2 cm or less from the plurality of actual values for the one or more external parameters. The plurality of initial values for one or more external parameters may deviate from the plurality of actual values for one or more external parameters by approximately 2 degrees or less.

いくつかの実施形態において、慣性データは、可動物体の3次元加速度および3次元角速度を示す1または複数の測定値を含む。慣性データは、少なくとも2つの異なる時点に亘って少なくとも1つの慣性センサにより取得される1または複数の測定値を含み得る。 In some embodiments, the inertial data includes one or more measurements that indicate the 3D acceleration and 3D angular velocity of the moving object. Inertia data may include one or more measurements acquired by at least one inertial sensor over at least two different time points.

いくつかの実施形態において、画像データは、可動物体の周囲の環境の1または複数の画像を含む。画像データは、少なくとも2つの異なる時点に亘って少なくとも2つの画像センサのうちそれぞれにより取得される1または複数の画像を含み得る。いくつかの実施形態において、決定するステップは、特徴点検出アルゴリズムを用いて1または複数の画像を処理するステップを有する。決定するステップは、オプティカルフローアルゴリズムを用いて1または複数の画像を処理するステップを有し得る。決定するステップは、特徴マッチングアルゴリズムを用いて1または複数の画像を処理するステップを有し得る。決定するステップは、少なくとも2つの画像センサのうち第1画像センサにより取得された1または複数の画像を、少なくとも2つの画像センサのうち第2画像センサにより取得された1または複数の画像と比較するステップを有し得る。 In some embodiments, the image data includes one or more images of the environment surrounding the moving object. The image data may include one or more images acquired by each of at least two image sensors over at least two different time points. In some embodiments, the determining step comprises processing one or more images using a feature point detection algorithm. The determining step may include processing one or more images using an optical flow algorithm. The determining step may include processing one or more images using a feature matching algorithm. The step of determining is to compare one or more images acquired by the first image sensor of at least two image sensors with one or more images acquired by the second image sensor of at least two image sensors. May have steps.

いくつかの実施形態において、少なくとも2つの画像センサは、複数の画像を同期的に取得するよう構成されている。代替的に、少なくとも2つの画像センサは、複数の画像を非同期的に取得するよう構成され得る。少なくとも2つの画像センサは、切り替え機構を介して1または複数のプロセッサに切り替え可能に結合された複数の画像センササブセットを含み、切り替え機構は、一時に単一の画像センササブセットを1または複数のプロセッサへ結合するよう構成されている。画像データを受信するステップは、切り替え機構を介して第1画像センササブセットを1または複数のプロセッサに結合するステップと、第1画像センササブセットからの画像データを受信するステップと、切り替え機構を介して第2画像センササブセットを1または複数のプロセッサに結合するステップと、第2画像センササブセットから画像データを受信するステップとを有し得る。 In some embodiments, at least two image sensors are configured to synchronously acquire a plurality of images. Alternatively, at least two image sensors may be configured to acquire multiple images asynchronously. At least two image sensors include a plurality of image sensor subsets switchably coupled to one or more processors via a switching mechanism, the switching mechanism including a single image sensor subset at one time to one or more processors. It is configured to bind to. The steps of receiving image data include a step of coupling the first image sensor subset to one or more processors via a switching mechanism, a step of receiving image data from the first image sensor subset, and a step of receiving image data via a switching mechanism. It may have a step of combining the second image sensor subset into one or more processors and a step of receiving image data from the second image sensor subset.

いくつかの実施形態において、反復最適化アルゴリズムは非線形最適化アルゴリズムである。反復最適化アルゴリズムは、複数の初期値、慣性データ、および画像データに基づいて1または複数の外部パラメータの最大事後確率(MAP)推定値を算出することを含み得る。いくつかの実施形態において、慣性データおよび画像データは、1または複数の外部パラメータに関する複数の推定値を決定するのに用いられる唯一のセンサデータである。 In some embodiments, the iterative optimization algorithm is a non-linear optimization algorithm. Iterative optimization algorithms may include calculating maximum posteriori probability (MAP) estimates for one or more external parameters based on multiple initial values, inertial data, and image data. In some embodiments, the inertial data and the image data are the only sensor data used to determine multiple estimates for one or more external parameters.

いくつかの実施形態において、方法はさらに、1または複数の外部パラメータに関する複数の推定値に基づいて可動物体の状態を決定するステップを備える。状態は、可動物体の位置、向き、または速度のうち1または複数を含み得る。可動物体の状態は、可動物体の動作の間の前の時点における可動物体の前の状態に関連して決定され得る。前の時点は、初期化または再初期化が生じた時点であり得る。 In some embodiments, the method further comprises a step of determining the state of the moving object based on a plurality of estimates for one or more external parameters. The state may include one or more of the position, orientation, or velocity of the moving object. The state of the moving object can be determined in relation to the previous state of the moving object at a previous point in time during the movement of the moving object. The previous time point can be the time point at which initialization or reinitialization occurred.

他の態様において、可動物体の動作の間に複数のセンサを用いて可動物体の1または複数の外部パラメータを較正するためのシステムが提供される。システムは、可動物体により搭載される少なくとも1つの慣性センサと、可動物体により搭載される少なくとも2つの画像センサと、1または複数のプロセッサとを備え得、1または複数のプロセッサは、個々に、または集合的に、少なくとも2つの画像センサ間の複数の空間的関係を含む1または複数の外部パラメータに関する複数の初期値を受信し、可動物体の動作の間に少なくとも1つの慣性センサから慣性データを受信し、可動物体の動作の間に少なくとも2つの画像センサから画像データを受信し、可動物体の動作の間に反復最適化アルゴリズムを用いて複数の初期値、慣性データ、および画像データに基づいて1または複数の外部パラメータに関する複数の推定値を決定するよう構成され得る。 In another aspect, a system is provided for calibrating one or more external parameters of a moving object using multiple sensors during the movement of the moving object. The system may include at least one inertial sensor mounted by a moving object, at least two image sensors mounted by a moving object, and one or more processors, each of which may be individually or. Collectively, it receives multiple initial values for one or more external parameters, including multiple spatial relationships between at least two image sensors, and receives inertial data from at least one inertial sensor during the movement of a moving object. It receives image data from at least two image sensors during the movement of the moving object and uses iterative optimization algorithms during the movement of the moving object based on multiple initial values, inertial data, and image data. Alternatively, it may be configured to determine multiple estimates for multiple external parameters.

他の態様において、1または複数の非一時的コンピュータ可読記憶媒体が提供される。1または複数の非一時的コンピュータ可読記憶媒体は、複数の実行可能命令を格納し得、複数の実行可能命令は可動物体の1または複数の外部パラメータを較正するためのコンピュータシステムの1または複数のプロセッサにより実行されたときにコンピュータシステムに少なくとも、可動物体により搭載される少なくとも2つの画像センサ間の複数の空間的関係を含む1または複数の外部パラメータに関する複数の初期値を受信させ、可動物体の動作の間に可動物体により搭載される少なくとも1つの慣性センサから慣性データを受信させ、可動物体の動作の間に少なくとも2つの画像センサから画像データを受信させ、可動物体の動作の間に反復最適化アルゴリズムを用いて複数の初期値、慣性データ、および画像データに基づいて1または複数の外部パラメータに関する複数の推定値を決定させる。 In other embodiments, one or more non-temporary computer-readable storage media are provided. One or more non-temporary computer-readable storage media may store multiple executable instructions, one or more of the computer systems for calibrating one or more external parameters of a moving object. When executed by a processor, the computer system receives at least multiple initial values for one or more external parameters, including multiple spatial relationships between at least two image sensors mounted by the moving object, of the moving object. Inertial data is received from at least one inertial sensor mounted by the moving object during movement, image data is received from at least two image sensors during movement of the moving object, and iteratively optimized during movement of the moving object. A computerization algorithm is used to determine multiple estimates for one or more external parameters based on multiple initial values, inertial data, and image data.

他の態様において、初期構成を有する複数のセンサを有する可動物体の1または複数の外部パラメータを較正するための方法が提供される。方法は、少なくとも1つの慣性センサと少なくとも2つの画像センサとを含む複数のセンサの初期構成が修正されたことを1または複数のプロセッサの補助を受けて検出するステップと、可動物体の動作の間に少なくとも1つの慣性センサから慣性データを1または複数のプロセッサにおいて受信するステップと、可動物体の動作の間に少なくとも2つの画像センサから画像データを1または複数のプロセッサにおいて受信するステップと、初期構成が修正されたことの検出に応答して、慣性データおよび画像データに基づいて1または複数の外部パラメータを1または複数のプロセッサの補助を受けて推定するステップとを備え得、1または複数の外部パラメータは可動物体の動作の間に反復最適化アルゴリズムを用いて推定され、1または複数の外部パラメータは修正された構成を有する複数のセンサ間の複数の空間的関係を含む。 In another aspect, a method is provided for calibrating one or more external parameters of a moving object having multiple sensors with initial configuration. The method is between the step of detecting that the initial configuration of multiple sensors, including at least one inertial sensor and at least two image sensors, has been modified with the assistance of one or more processors, and the movement of the moving object. Initial configuration: receiving inertial data from at least one inertial sensor on one or more processors, and receiving image data from at least two image sensors on one or more processors during the movement of a moving object. Can comprise one or more external parameters being estimated with the assistance of one or more processors based on inertial data and image data in response to detection of the modification. The parameters are estimated using iterative optimization algorithms during the movement of the moving object, and one or more external parameters include multiple spatial relationships between multiple sensors with modified configurations.

いくつかの実施形態において、可動物体は無人航空機(UAV)である。UAVの動作は、UAVが飛行していること、および/または電力供給されていることを含み得る。 In some embodiments, the movable object is an unmanned aerial vehicle (UAV). The operation of the UAV may include that the UAV is in flight and / or is powered.

いくつかの実施形態において、複数の空間的関係は、少なくとも2つの画像センサの相対的な複数の位置および相対的な複数の向きを含む。少なくとも2つの画像センサの相対的な複数の位置および相対的な複数の向きは、少なくとも1つの慣性センサに関連して決定され得る。 In some embodiments, the spatial relationship comprises relative positions and orientations of at least two image sensors. The relative positions and relative orientations of at least two image sensors can be determined in relation to at least one inertial sensor.

いくつかの実施形態において、1または複数の外部パラメータに関する複数の初期値は、可動物体の動作の前に決定される。複数の初期値は、可動物体の動作の前に反復最適化アルゴリズムを用いて決定され得る。複数の初期値は、可動物体の動作の前にユーザにより測定され得る。1または複数の外部パラメータに関する複数の初期値は、可動物体に関連付けられたメモリデバイスから受信され得る。いくつかの実施形態において、少なくとも2つの画像センサは、1または複数の固定されたロケーションにおいて可動物体に結合され、1または複数の外部パラメータに関する複数の初期値は、1または複数の固定されたロケーションに基づいて決定される。 In some embodiments, a plurality of initial values for one or more external parameters are determined prior to the movement of the moving object. Multiple initial values can be determined using an iterative optimization algorithm prior to the movement of the moving object. Multiple initial values may be measured by the user prior to the movement of the moving object. Multiple initial values for one or more external parameters may be received from the memory device associated with the moving object. In some embodiments, at least two image sensors are coupled to a moving object in one or more fixed locations, with multiple initial values for one or more external parameters being one or more fixed locations. It is decided based on.

いくつかの実施形態において、初期構成は、複数のセンサから少なくとも1つのセンサを除くことにより修正される。初期構成は、複数のセンサへ少なくとも1つのセンサを追加することにより修正され得る。初期構成は、複数のセンサのうち少なくとも1つのセンサの位置または向きのうち少なくとも1つを変化させることにより修正され得る。初期構成は、可動物体の動作の前に修正され得る。 In some embodiments, the initial configuration is modified by removing at least one sensor from the plurality of sensors. The initial configuration can be modified by adding at least one sensor to the plurality of sensors. The initial configuration can be modified by changing at least one of the positions or orientations of at least one of the sensors. The initial configuration can be modified prior to the movement of the moving object.

いくつかの実施形態において、慣性データは、可動物体の3次元加速度および3次元角速度を示す1または複数の測定値を含む。慣性データは、少なくとも2つの異なる時点に亘って少なくとも1つの慣性センサにより取得された1または複数の測定値を含み得る。 In some embodiments, the inertial data includes one or more measurements that indicate the 3D acceleration and 3D angular velocity of the moving object. Inertia data may include one or more measurements taken by at least one inertial sensor over at least two different time points.

いくつかの実施形態において、画像データは、可動物体の周囲の環境の1または複数の画像を含む。画像データは、少なくとも2つの異なる時点に亘って少なくとも2つの画像センサのうちそれぞれにより取得された1または複数の画像を含み得る。いくつかの実施形態において、決定するステップは、特徴点検出アルゴリズムを用いて1または複数の画像を処理するステップを有する。決定するステップは、オプティカルフローアルゴリズムを用いて1または複数の画像を処理するステップを有し得る。決定するステップは、特徴マッチングアルゴリズムを用いて1または複数の画像を処理するステップを有し得る。決定するステップは、少なくとも2つの画像センサのうち第1画像センサにより取得された1または複数の画像を、少なくとも2つの画像センサのうち第2画像センサにより取得された1または複数の画像と比較するステップを有し得る。 In some embodiments, the image data includes one or more images of the environment surrounding the moving object. The image data may include one or more images acquired by each of at least two image sensors over at least two different time points. In some embodiments, the determining step comprises processing one or more images using a feature point detection algorithm. The determining step may include processing one or more images using an optical flow algorithm. The determining step may include processing one or more images using a feature matching algorithm. The step of determining is to compare one or more images acquired by the first image sensor of at least two image sensors with one or more images acquired by the second image sensor of at least two image sensors. May have steps.

いくつかの実施形態において、少なくとも2つの画像センサは、複数の画像を同期的に取得するよう構成されている。代替的に、少なくとも2つの画像センサは、複数の画像を非同期的に取得するよう構成され得る。少なくとも2つの画像センサは、切り替え機構を介して1または複数のプロセッサに切り替え可能に結合された複数の画像センササブセットを含み、切り替え機構は、一時に単一の画像センササブセットを1または複数のプロセッサへ結合するよう構成されている。画像データを受信するステップは、切り替え機構を介して第1画像センササブセットを1または複数のプロセッサに結合するステップと、第1画像センササブセットからの画像データを受信するステップと、切り替え機構を介して第2画像センササブセットを1または複数のプロセッサに結合するステップと、第2画像センササブセットから画像データを受信するステップとを有し得る。 In some embodiments, at least two image sensors are configured to synchronously acquire a plurality of images. Alternatively, at least two image sensors may be configured to acquire multiple images asynchronously. At least two image sensors include a plurality of image sensor subsets switchably coupled to one or more processors via a switching mechanism, the switching mechanism including a single image sensor subset at one time to one or more processors. It is configured to bind to. The steps of receiving image data include a step of coupling the first image sensor subset to one or more processors via a switching mechanism, a step of receiving image data from the first image sensor subset, and a step of receiving image data via a switching mechanism. It may have a step of combining the second image sensor subset into one or more processors and a step of receiving image data from the second image sensor subset.

いくつかの実施形態において、反復最適化アルゴリズムは非線形最適化アルゴリズムである。反復最適化アルゴリズムは、複数の初期値、慣性データ、および画像データに基づいて1または複数の外部パラメータの最大事後確率(MAP)推定値を算出することを含み得る。いくつかの実施形態において、慣性データおよび画像データは、1または複数の外部パラメータを推定するのに用いられる唯一のセンサデータである。 In some embodiments, the iterative optimization algorithm is a non-linear optimization algorithm. Iterative optimization algorithms may include calculating maximum posteriori probability (MAP) estimates for one or more external parameters based on multiple initial values, inertial data, and image data. In some embodiments, the inertial data and the image data are the only sensor data used to estimate one or more external parameters.

いくつかの実施形態において、方法はさらに、推定された1または複数の外部パラメータに基づいて可動物体の状態を決定するステップを備える。状態は、可動物体の位置、向き、または速度のうち1または複数を含み得る。 In some embodiments, the method further comprises a step of determining the state of the moving object based on one or more estimated external parameters. The state may include one or more of the position, orientation, or velocity of the moving object.

他の態様において、初期構成を有する複数のセンサを有する可動物体の1または複数の外部パラメータを較正するためのシステムが提供される。システムは、可動物体により運ばれ、少なくとも1つの慣性センサおよび少なくとも2つの画像センサを有する複数のセンサと、1または複数のプロセッサとを備え得、1または複数のプロセッサは、個々に、または集合的に、複数のセンサの初期構成が修正されたことを検出し、可動物体の動作の間に少なくとも1つの慣性センサから慣性データを受信し、可動物体の動作の間に少なくとも2つの画像センサから画像データを受信し、初期構成が修正されたことの検出に応答して、慣性データおよび画像データに基づいて1または複数の外部パラメータを推定するよう構成され、1または複数の外部パラメータは、可動物体の動作の間に反復最適化アルゴリズムを用いて推定され、1または複数の外部パラメータは、修正された構成を有する複数のセンサ間の複数の空間的関係を含む。 In another aspect, a system is provided for calibrating one or more external parameters of a moving object having multiple sensors with an initial configuration. The system may be carried by a moving object and comprises a plurality of sensors having at least one inertial sensor and at least two image sensors and one or more processors, the one or more processors individually or collectively. Detects that the initial configuration of multiple sensors has been modified, receives inertial data from at least one inertial sensor during the movement of the moving object, and images from at least two image sensors during the movement of the moving object. It is configured to receive data and estimate one or more external parameters based on inertial data and image data in response to detection that the initial configuration has been modified, with one or more external parameters being movable objects. Estimated using an iterative optimization algorithm during the operation of, one or more external parameters include multiple spatial relationships between multiple sensors with modified configurations.

他の態様において、1または複数の非一時的コンピュータ可読記憶媒体が提供される。1または複数の非一時的コンピュータ可読記憶媒体は、複数の実行可能命令を格納し得、複数の実行可能命令は、初期構成を有する複数のセンサを有する可動物体の1または複数の外部パラメータを較正するためのコンピュータシステムの1または複数のプロセッサにより実行されたときにコンピュータシステムに少なくとも、少なくとも1つの慣性センサと少なくとも2つの画像センサとを含む複数のセンサの初期構成が修正されたことを検出させ、可動物体の動作の間に少なくとも1つの慣性センサから慣性データを受信させ、可動物体の動作の間に少なくとも2つの画像センサから画像データを受信させ、初期構成が修正されたことの検出に応答して、慣性データおよび画像データに基づいて1または複数の外部パラメータを推定させ、1または複数の外部パラメータは、可動物体の動作の間に反復最適化アルゴリズムを用いて推定され、1または複数の外部パラメータは、修正された構成を有する複数のセンサ間の複数の空間的関係を含む。 In other embodiments, one or more non-temporary computer-readable storage media are provided. One or more non-temporary computer-readable storage media may store multiple executable instructions, which calibrate one or more external parameters of a mobile object with multiple sensors with initial configuration. To cause the computer system to detect that the initial configuration of a plurality of sensors, including at least one inertial sensor and at least two image sensors, has been modified when executed by one or more processors of the computer system. Responds to detection that the initial configuration has been modified by receiving inertial data from at least one inertial sensor during the movement of the moving object and image data from at least two image sensors during the movement of the moving object. Then, one or more external parameters are estimated based on inertial data and image data, and one or more external parameters are estimated using an iterative optimization algorithm during the movement of the moving object. External parameters include multiple spatial relationships between multiple sensors with modified configurations.

他の態様において、可動物体の動作の間に複数のセンサを用いて可動物体に関する状態情報を推定するための方法が提供される。方法は、可動物体に関する前の状態の情報を1または複数のプロセッサにおいて受信するステップと、可動物体により搭載される少なくとも1つの慣性センサから慣性データを1または複数のプロセッサにおいて受信するステップとを、可動物体により搭載される少なくとも2つの画像センサから画像データを1または複数のプロセッサにおいて受信するステップと、可動物体の動作の間に反復最適化アルゴリズムを用い、前の状態の情報、慣性データ、および画像データに基づいて可動物体に関する更新された状態情報を、1または複数のプロセッサの補助を受けて決定するステップとを備え得、慣性データは、可動物体の動作の間の少なくとも2つの異なる時点に亘って少なくとも1つの慣性センサにより取得される慣性測定データを含み、画像データは、可動物体の動作の間の少なくとも2つの異なる時点に亘って少なくとも2つの画像センサのうち各画像センサにより取得された複数の画像を含む。 In another embodiment, a method is provided for estimating state information about a moving object using a plurality of sensors during the movement of the moving object. The method comprises receiving information on the previous state of the moving object on one or more processors and receiving inertial data on one or more processors from at least one inertial sensor mounted on the moving object. Using an iterative optimization algorithm between the step of receiving image data in one or more processors from at least two image sensors mounted by the moving object and the movement of the moving object, previous state information, inertial data, and It may include steps to determine updated state information about the moving object based on the image data with the assistance of one or more processors, and the inertial data is at least two different time points between the movements of the moving object. Including inertial measurement data acquired by at least one inertial sensor over, the image data was acquired by each of the at least two image sensors over at least two different time points during the movement of the moving object. Contains multiple images.

いくつかの実施形態において、可動物体は無人航空機(UAV)である。UAVの動作は、UAVが飛行していること、および/または電力供給されていることを含み得る。 In some embodiments, the movable object is an unmanned aerial vehicle (UAV). The operation of the UAV may include that the UAV is in flight and / or is powered.

いくつかの実施形態において、前の状態の情報は、可動物体の動作の間の前の時点における可動物体の位置、向き、および速度を含む。前の状態の情報は、反復最適化アルゴリズムを用いて取得され得る。更新された状態情報は、可動物体の位置、速度、および向きを含み得る。 In some embodiments, the previous state information includes the position, orientation, and velocity of the movable object at a previous time point during the movement of the movable object. Information on the previous state can be obtained using an iterative optimization algorithm. The updated state information may include the position, velocity, and orientation of the moving object.

いくつかの実施形態において、慣性データは、可動物体の3次元加速度および3次元角速度を示す1または複数の測定値を含む。 In some embodiments, the inertial data includes one or more measurements that indicate the 3D acceleration and 3D angular velocity of the moving object.

いくつかの実施形態において、画像データは、可動物体の周囲の環境の1または複数の画像を含む。いくつかの実施形態において、決定するステップは、特徴点検出アルゴリズムを用いて1または複数の画像を処理するステップを有する。決定するステップは、オプティカルフローアルゴリズムを用いて1または複数の画像を処理するステップを有し得る。決定するステップは、特徴マッチングアルゴリズムを用いて1または複数の画像を処理するステップを有し得る。決定するステップは、少なくとも2つの画像センサのうち第1画像センサにより取得された1または複数の画像を、少なくとも2つの画像センサのうち第2画像センサにより取得された1または複数の画像と比較するステップを有し得る。 In some embodiments, the image data includes one or more images of the environment surrounding the moving object. In some embodiments, the determining step comprises processing one or more images using a feature point detection algorithm. The determining step may include processing one or more images using an optical flow algorithm. The determining step may include processing one or more images using a feature matching algorithm. The step of determining is to compare one or more images acquired by the first image sensor of at least two image sensors with one or more images acquired by the second image sensor of at least two image sensors. May have steps.

いくつかの実施形態において、少なくとも2つの画像センサは、複数の画像を同期的に取得するよう構成されている。代替的に、少なくとも2つの画像センサは、複数の画像を非同期的に取得するよう構成され得る。少なくとも2つの画像センサは、切り替え機構を介して1または複数のプロセッサに切り替え可能に結合された複数の画像センササブセットを含み、切り替え機構は、一時に単一の画像センササブセットを1または複数のプロセッサへ結合するよう構成されている。画像データを受信するステップは、切り替え機構を介して第1画像センササブセットを1または複数のプロセッサに結合するステップと、第1画像センササブセットからの画像データを受信するステップと、切り替え機構を介して第2画像センササブセットを1または複数のプロセッサに結合するステップと、第2画像センササブセットから画像データを受信するステップとを有し得る。 In some embodiments, at least two image sensors are configured to synchronously acquire a plurality of images. Alternatively, at least two image sensors may be configured to acquire multiple images asynchronously. At least two image sensors include a plurality of image sensor subsets switchably coupled to one or more processors via a switching mechanism, the switching mechanism including a single image sensor subset at one time to one or more processors. It is configured to bind to. The steps of receiving image data include a step of coupling the first image sensor subset to one or more processors via a switching mechanism, a step of receiving image data from the first image sensor subset, and a step of receiving image data via a switching mechanism. It may have a step of combining the second image sensor subset into one or more processors and a step of receiving image data from the second image sensor subset.

いくつかの実施形態において、反復最適化アルゴリズムは非線形最適化アルゴリズムである。反復最適化アルゴリズムは、複数の初期値、慣性データ、および画像データに基づいて更新された状態情報の最大事後確率(MAP)推定値を算出することを含み得る。いくつかの実施形態において、慣性データおよび画像データは、更新された状態情報を決定するのに用いられる唯一のセンサデータである。 In some embodiments, the iterative optimization algorithm is a non-linear optimization algorithm. The iterative optimization algorithm may include calculating the maximum posteriori probability (MAP) estimate of the updated state information based on multiple initial values, inertial data, and image data. In some embodiments, the inertial data and the image data are the only sensor data used to determine the updated state information.

いくつかの実施形態において、方法はさらに、可動物体の動きを制御するために、更新された状態情報を制御モジュールへ出力するステップを備える。 In some embodiments, the method further comprises a step of outputting updated state information to the control module in order to control the movement of the moving object.

他の態様において、可動物体の動作の間に複数のセンサを用いて可動物体に関する状態情報を推定するためのシステムが提供される。システムは、可動物体により搭載される少なくとも1つの慣性センサと、可動物体により搭載される少なくとも2つの画像センサと、1または複数のプロセッサとを備え得、1または複数のプロセッサは、個々に、または集合的に、可動物体に関する前の状態の情報を受信し、少なくとも1つの慣性センサから慣性データを受信し、少なくとも2つの画像センサから画像データを受信し、可動物体の動作の間に反復最適化アルゴリズムを用い、前の状態の情報、慣性データ、および画像データに基づいて可動物体に関する更新された状態情報を決定するよう構成され、慣性データは、可動物体の動作の間の少なくとも2つの異なる時点に亘って少なくとも1つの慣性センサにより取得された慣性測定データを含み、画像データは、可動物体の動作の間の少なくとも2つの異なる時点に亘って少なくとも2つの画像センサのうち各画像センサにより取得された複数の画像を含む。 In another aspect, a system is provided for estimating state information about a moving object using a plurality of sensors during the movement of the moving object. The system may include at least one inertial sensor mounted by a moving object, at least two image sensors mounted by a moving object, and one or more processors, each of which may be individually or. Collectively, it receives previous state information about the moving object, receives inertial data from at least one inertial sensor, receives image data from at least two image sensors, and iteratively optimizes during the movement of the moving object. An algorithm is used to determine updated state information about a moving object based on previous state information, inertial data, and image data, and the inertial data is at least two different time points between the movements of the moving object. Includes inertial measurement data acquired by at least one inertial sensor over, and the image data is acquired by each of the at least two image sensors over at least two different time points during the movement of the moving object. Includes multiple images.

他の態様において、1または複数の非一時的コンピュータ可読記憶媒体が提供される。1または複数の非一時的コンピュータ可読記憶媒体は複数の実行可能命令を格納し得、複数の実行可能命令は、可動物体に関する状態情報を推定するためのコンピュータシステムの1または複数のプロセッサにより実行されたときに、コンピュータシステムに少なくとも、可動物体に関する前の状態の情報を受信させ、可動物体により搭載される少なくとも1つの慣性センサから慣性データを受信させ、可動物体により搭載される少なくとも2つの画像センサから画像データを受信させ、可動物体の動作の間に反復最適化アルゴリズムを用い、前の状態の情報、慣性データ、および画像データに基づいて可動物体に関する更新された状態情報を決定させ、慣性データは、可動物体の動作の間の少なくとも2つの異なる時点に亘って少なくとも1つの慣性センサにより取得された慣性測定データを含み、画像データは、可動物体の動作の間の少なくとも2つの異なる時点に亘って少なくとも2つの画像センサのうち各画像センサにより取得された複数の画像を含む。 In other embodiments, one or more non-temporary computer-readable storage media are provided. One or more non-temporary computer-readable storage media may store multiple executable instructions, which are executed by one or more processors of the computer system for estimating state information about the moving object. At that time, the computer system is made to receive at least information on the previous state regarding the movable object, inertial data is received from at least one inertial sensor mounted by the movable object, and at least two image sensors mounted by the movable object. Receives image data from, and uses an iterative optimization algorithm during the movement of the moving object to determine previous state information, inertial data, and updated state information about the moving object based on the image data, inertial data. Includes inertial measurement data acquired by at least one inertial sensor over at least two different time points during the movement of the moving object, and the image data spans at least two different time points during the movement of the moving object. It includes a plurality of images acquired by each image sensor out of at least two image sensors.

本願発明の異なる複数の態様が、個々に、集合的に、または互いに組み合わせて認識さ得ることが理解されよう。本明細書に記載されている本願発明の様々な態様は、以下に明らかにされる特定の複数の適用例のうち何れかに、または何らかの他の複数のタイプの複数の可動物体のために適用され得る。本明細書における航空機についてのいずれの記載も、何らかの輸送体など何らかの可動物体に当てはまり得、それらのために用いられ得る。追加的に、空中での動き(例えば、飛行)の文脈で本明細書に開示されている複数のシステム、デバイス、および方法は、地上または水上での動き、水面下での動き、または宇宙空間での動きなど他の複数のタイプの動きの文脈にも適用され得る。更に、本明細書におけるロータまたはロータ組立体についてのいずれの記載も、回転により推進力を生成するよう構成された何らかの推進システム、デバイス、または機構(例えば、プロペラ、車輪、車軸)に当てはまり得、それらのために用いられ得る。 It will be appreciated that different aspects of the present invention may be recognized individually, collectively or in combination with each other. Various aspects of the invention described herein apply to any of the particular application examples set forth below, or for any other type of moving object. Can be done. Any description of an aircraft herein may apply to and be used for any moving object, such as any transporter. In addition, the systems, devices, and methods disclosed herein in the context of air movement (eg, flight) include ground or water movement, underwater movement, or outer space. It can also be applied in the context of multiple other types of movements, such as movements in. Further, any description of a rotor or rotor assembly herein may apply to any propulsion system, device, or mechanism (eg, propeller, wheel, axle) configured to generate propulsion by rotation. Can be used for them.

本願発明の他の複数の目的および特徴は、明細書、複数の請求項、および添付の複数の図面を検討することにより明らかとなろう。
参照による組み込み
Other purposes and features of the present invention will become apparent by reviewing the specification, claims, and the accompanying drawings.
Built-in by reference

本明細書で言及される全ての出版物、特許、および特許出願は、個々の出版物、特許、または特許出願が具体的に、および個々に参照により組み込まれることが示されているのと同じ程度、参照により本明細書に組み込まれる。 All publications, patents, and patent applications referred to herein are the same as shown to indicate that individual publications, patents, or patent applications are specifically and individually incorporated by reference. To a degree, incorporated herein by reference.

本願発明の新規性ある複数の特徴は、添付の複数の請求項において詳細に明らかにされる。本願発明の複数の特徴および利点のよりよい理解は、本願発明の複数の原理が利用されている例示的な複数の実施形態を明らかにする以下の詳細な説明および添付の複数の図面を参照することにより得られるであろう。 The novel features of the present invention will be demonstrated in detail in the accompanying claims. For a better understanding of the features and advantages of the present invention, refer to the following detailed description and the accompanying drawings to clarify exemplary embodiments in which the principles of the present invention are utilized. Will be obtained by.

複数の実施形態に係る、UAVに関する状態推定を示す。The state estimation regarding the UAV according to a plurality of embodiments is shown.

複数の実施形態に係る、UAVに関する外部パラメータ較正を示す。External parameter calibration for UAVs for a plurality of embodiments is shown.

複数の実施形態に係る、水平な向きにあるUAVの初期化を示す。The initialization of the UAV in the horizontal orientation according to the plurality of embodiments is shown.

複数の実施形態に係る、傾けられた向きあるUAVの初期化を示す。Demonstrates the initialization of a tilted oriented UAV for a plurality of embodiments.

複数の実施形態に係る、UAVを動作させるための方法を示す。A method for operating a UAV according to a plurality of embodiments is shown.

複数の実施形態に係る、慣性データおよび画像データを処理するためのシステムを示す。A system for processing inertial data and image data according to a plurality of embodiments is shown.

複数の実施形態に係る、異なる複数の時点において単一の画像センサにより撮像された複数の画像間の特徴点マッチングを実行するためのアルゴリズムを示す。An algorithm for performing feature point matching between a plurality of images captured by a single image sensor at a plurality of different time points according to a plurality of embodiments is shown.

複数の実施形態に係る、異なる複数の画像センサにより撮像された複数の画像間の特徴点マッチングを実行するためのアルゴリズムを示す。An algorithm for performing feature point matching between a plurality of images captured by a plurality of different image sensors according to a plurality of embodiments is shown.

複数の実施形態に係る、複数のセンサを用いてUAVに関する初期化情報を決定するための方法を示す。A method for determining initialization information about a UAV using a plurality of sensors according to a plurality of embodiments is shown.

複数の実施形態に係る、複数のセンサを用いたUAVに関するエラー回復のための方法を示す。A method for error recovery relating to a UAV using a plurality of sensors according to a plurality of embodiments is shown.

複数の実施形態に係る,UAVの1または複数の外部パラメータを較正するための方法を示す。A method for calibrating one or more external parameters of a UAV, according to a plurality of embodiments, is shown.

複数の実施形態に係る、初期構成を有する複数のセンサを有するUAVの1または複数の外部パラメータを較正するための方法を示す。A method for calibrating one or more external parameters of a UAV with a plurality of sensors having an initial configuration according to a plurality of embodiments is shown.

複数の実施形態に係る、UAVの動作の間に複数のセンサを用いてUAVに関する状態情報を推定するための方法を示す。A method for estimating state information about a UAV using a plurality of sensors during the operation of the UAV according to a plurality of embodiments is shown.

複数の実施形態に係る、前の状態の情報を選択するためのスライディングウィンドウフィルタを示す。A sliding window filter for selecting information in the previous state according to a plurality of embodiments is shown.

複数の実施形態に係る、UAVに関する状態推定および/またはパラメータ較正を実行するための方法を示す。A method for performing state estimation and / or parameter calibration for a UAV, according to a plurality of embodiments, is shown.

複数の実施形態に係る、複数のセンサを用いてUAVを制御するためのシステムを示す。A system for controlling a UAV using a plurality of sensors according to a plurality of embodiments is shown.

複数の実施形態に係るUAVを示す。The UAV according to a plurality of embodiments is shown.

複数の実施形態に係る、支持機構および積載物を含む可動物体を示す。A movable object including a support mechanism and a load according to a plurality of embodiments is shown.

複数の実施形態に係る、可動物体を制御するためのシステムを示す。A system for controlling a movable object according to a plurality of embodiments is shown.

複数の実施形態に係る同期的画像データ収集スキームを示す。A synchronous image data collection scheme according to a plurality of embodiments is shown.

複数の実施形態に係る非同期的画像データ収集スキームを示す。An asynchronous image data collection scheme according to a plurality of embodiments is shown.

複数の実施形態に係る、切り替え可能に結合された複数の画像センサを有するシステムを示す。A system having a plurality of switchably coupled image sensors according to a plurality of embodiments is shown.

本開示の複数のシステム、複数の方法、および複数のデバイスは、無人航空機(UAV)など複数の可動物体の動作に関連する情報の決定を可能とする。いくつかの実施形態において、本開示は、状態推定、初期化、エラー回復、および/またはパラメータ較正のための情報など、UAVの動作のために有用な様々なタイプの情報を決定するために、異なる複数のセンサタイプからのセンサデータを組み合わせる複数のセンサ融合技術を利用する。例えば、UAVは、少なくとも1つの慣性センサおよび少なくとも2つの画像センサを含み得る。異なる複数のタイプのセンサからのデータを組み合わせるのに反復最適化アルゴリズムなど様々な方法が用いられ得る。いくつかの実施形態において、反復最適化アルゴリズムは、反復して非線形関数(例えば、非線形目的関数)を線形化し解くことを伴う。本明細書に提示される複数のセンサ融合技術は、UAVの状態推定、初期化、エラー回復、および/またはパラメータ較正の正確性および堅牢性を向上させるのに用いられ得、したがって、「インテリジェント」な自律的または半自律的動作のための複数のUAVの複数の能力を拡張する。 The systems, methods, and devices of the present disclosure allow the determination of information related to the operation of multiple moving objects, such as unmanned aerial vehicles (UAVs). In some embodiments, the present disclosure is used to determine various types of information useful for UAV operation, such as information for state estimation, initialization, error recovery, and / or parameter calibration. Utilize multiple sensor fusion technologies that combine sensor data from multiple different sensor types. For example, a UAV may include at least one inertial sensor and at least two image sensors. Various methods, such as iterative optimization algorithms, can be used to combine data from different types of sensors. In some embodiments, the iterative optimization algorithm involves iteratively linearizing and solving a nonlinear function (eg, a nonlinear objective function). The multiple sensor fusion techniques presented herein can be used to improve the accuracy and robustness of UAV state estimation, initialization, error recovery, and / or parameter calibration, and are therefore "intelligent." Extends multiple capabilities of multiple UAVs for autonomous or semi-autonomous operation.

いくつかの実施形態において、本開示は、複数の画像化センサ(例えば、複数のカメラ)を慣性センサと組み合わせて用いて初期化、エラー回復、パラメータ較正、および/または状態推定を実行することに関する複数のシステム、方法、およびデバイスを提供する。複数の画像化センサの使用は単一の画像センサを利用する複数のアプローチと比較して様々な利点を提供する。それら利点には、(例えば、より多くの画像データが推定のために利用可能であることによる)向上した正確性、および高められた安定性および堅牢性(例えば、複数の画像センサは、複数の画像センサのうち1つが機能不良に陥った際に冗長性を提供出来る)などがある。複数の画像センサからのデータを組み合わせるための複数のセンサ融合アルゴリズムは、単一の画像センサの複数のアプローチのための複数のアルゴリズムとは異なり得る。例として、複数の画像センサのための複数のアルゴリズムは、異なる複数の画像センサ間の複数の空間的関係(例えば、相対的な位置および/または向き)を考慮し得、そのような複数の空間的関係は、単一の画像センサの複数のアプローチには当てはまらないであろう。 In some embodiments, the present disclosure relates to the use of multiple imaging sensors (eg, multiple cameras) in combination with inertial sensors to perform initialization, error recovery, parameter calibration, and / or state estimation. Provides multiple systems, methods, and devices. The use of multiple imaging sensors offers various advantages over multiple approaches that utilize a single imaging sensor. These advantages include improved accuracy (eg, due to more image data being available for estimation), and increased stability and robustness (eg, multiple image sensors, multiple image sensors). It can provide redundancy when one of the image sensors malfunctions). Multiple sensor fusion algorithms for combining data from multiple image sensors can differ from multiple algorithms for multiple approaches of a single image sensor. As an example, multiple algorithms for multiple image sensors may take into account multiple spatial relationships (eg, relative position and / or orientation) between different image sensors, such multiple spaces. The relationship would not apply to multiple approaches for a single image sensor.

本明細書におけるいくつかの実施形態は複数のUAVの文脈で提示されているが、本開示は地面用輸送体など他の複数のタイプの可動物体に適用され得ることが理解されよう。本明細書に提供される複数のシステム、方法、およびデバイスでの使用のために適切な複数の可動物体の複数の例は、より詳細に以下に記載されている。 Although some embodiments herein are presented in the context of multiple UAVs, it will be appreciated that the disclosure may apply to other types of moving objects such as ground transporters. A plurality of examples of a plurality of moving objects suitable for use in the plurality of systems, methods, and devices provided herein are described in more detail below.

本明細書に記載されている複数のUAVは、(例えば、搭載されたコントローラなど適切なコンピューテイングシステムにより)完全に自律的に、半自律的に、または手動で(例えば、人であるユーザにより)動作させられ得る。UAVは、適切な実存物(例えば、人であるユーザまたは自律制御システム)から複数のコマンドを受信し、1または複数のアクションを実行することによりそのような複数のコマンドに応じ得る。例えば、UAVは、地上から離陸し、(例えば、最大3つの並進自由度、および最大3つの回転自由度で)空中を動き、ターゲットロケーションまたは一連のターゲットロケーションへ動き、空中をホバリングし、地上に着陸するなどするよう制御され得る。他の例として、UAVは、特定された速度および/または加速度で(例えば、最大3つの並進自由度、および最大3つの回転自由度)または特定された動きの経路に沿って動くよう制御され得る。更に、複数のコマンドは、本明細書に記載された複数のコンポーネント(例えば、センサ、アクチュエータ、推進ユニット、積載物等)など1または複数のUAVコンポーネントを制御するのに用いられ得る。例として、いくつかコマンドが、カメラなどUAV積載物の位置、向きおよび/または動作を制御するのに用いられ得る。 The UAVs described herein are fully autonomous (eg, by a suitable computing system such as an on-board controller), completely autonomously, or manually (eg, by a user who is a person). ) Can be operated. The UAV may respond to such commands by receiving multiple commands from the appropriate entity (eg, a human user or autonomous control system) and performing one or more actions. For example, a UAV can take off from the ground, move in the air (eg, with up to three translational degrees of freedom, and up to three rotational degrees of freedom), move to a target location or set of target locations, hover in the air, and reach the ground. It can be controlled to land, etc. As another example, the UAV can be controlled to move at a specified speed and / or acceleration (eg, up to 3 translational degrees of freedom, and up to 3 rotational degrees of freedom) or along a specified path of motion. .. In addition, the commands can be used to control one or more UAV components such as the components described herein (eg, sensors, actuators, propulsion units, loads, etc.). As an example, some commands can be used to control the position, orientation and / or movement of a UAV load such as a camera.

いくつかの実施形態において、UAVは、より高い自律度を伴い得るより複雑な複数の機能を実行するよう、または、何らかのユーザ入力を要することなく全体的に自律的に実行するよう構成され得る。そのような複数の機能の複数の例は、特定の位置を維持すること(例えば、決まった位置でホバリングすること)、ナビゲーション(例えば、ターゲットである目的地に動くためのルートを計画すること、および/またはそれに沿うこと)、障害物回避、および環境マッピングを含むが、これらに限定されない。これらの機能の実装は、UAVおよび/または周囲環境についての情報に基づいてもよい。 In some embodiments, the UAV may be configured to perform more complex functions that may involve higher autonomy, or to perform entirely autonomously without the need for any user input. Multiple examples of such features include maintaining a specific position (eg, hovering in a fixed position), navigation (eg, planning a route to reach a target destination, etc.). And / or along), obstacle avoidance, and environment mapping, but not limited to these. Implementations of these features may be based on information about the UAV and / or the surrounding environment.

例えば、いくつかの実施形態において、過去、現在、および/または予想される将来のUAVの状態を示す状態情報を決定することが有益である。状態情報は、UAVの空間的配置(例えば、経度、緯度、および/または高度などロケーションまたは位置情報;ロール、ピッチおよび/またはヨーなど向きまたは姿勢情報)についての情報を含み得る。状態情報は、UAVの動きについての情報(例えば、並進速度、並進加速度、角速度、角加速度等)も含み得る。状態情報は、最大6自由度(例えば、位置および/または並進3自由度、向きおよび/または回転3自由度)に関するUAVの空間的配置および/または動きについての情報を含み得る。状態情報は、全体座標系と相対的に、または局所座標系と相対的に(例えば、UAVとまたは他の実存物と相対的に)提供されてもよい。いくつかの実施形態において、状態情報は、動作を始めた(例えば、電力供給されている、離陸した、飛行を開始した)ときのUAVの空間的配置などUAVの前の状態と相対的に提供される。状態情報の決定は本明細書で「状態推定」と呼ばれ得る。オプションで、状態推定は、更新された状態情報を提供するようUAVの動作の全体に亘って(例えば、継続的に、または予め定められた複数の時間間隔で)実行され得る。 For example, in some embodiments, it is useful to determine state information that indicates past, present, and / or expected future UAV states. The state information may include information about the spatial arrangement of the UAV (eg, location or location information such as longitude, latitude, and / or altitude; orientation or attitude information such as roll, pitch and / or yaw). The state information may also include information about the movement of the UAV (eg, translational velocity, translational acceleration, angular velocity, angular acceleration, etc.). The state information may include information about the spatial arrangement and / or movement of the UAV with respect to up to 6 degrees of freedom (eg, 3 degrees of freedom in position and / or translation, 3 degrees of freedom in orientation and / or rotation). State information may be provided relative to the global coordinate system or relative to the local coordinate system (eg, relative to the UAV or other entity). In some embodiments, state information is provided relative to the state before the UAV, such as the spatial arrangement of the UAV when it begins operation (eg, being powered, taking off, starting flight). Will be done. The determination of state information may be referred to herein as "state estimation." Optionally, state estimation can be performed throughout the operation of the UAV to provide updated state information (eg, continuously or at multiple predetermined time intervals).

図1は、複数の実施形態に係る、UAV100に関する状態推定を示す。UAV100は図1において、第1時点kにおいて第1状態102にあり、続く第2時点k+1において第2状態104にあるものとして描写されている。UAV100の位置および向きを示す局所座標系または基準系106が、UAV100と相対的に定義され得る。UAV100は、第1状態102にあるときには第1位置および向きを、第2状態104にあるときには第2位置および向きを有し得る。状態の変化は、第1位置から第2位置への並進Tおよび/または第1向きから第2向きへの回転θとして表され得る。前の状態102にあるUAV100の位置および向きが知られているとき、Tおよびθが、続く状態104におけるUAV100の位置および向きを決定するのに用いられ得る。さらに、時間間隔の長さ[k,k+1]が知られている場合、第2状態104にあるUAV100の並進および角速度も、それぞれTおよびθに基づいて推定され得る。したがって、いくつかの実施形態において、状態推定は、状態の変化T、θを決定し、第2状態104を決定するために、その後、状態変化情報および第1状態102についての情報を用いることを伴う。 FIG. 1 shows state estimation for the UAV 100 according to a plurality of embodiments. The UAV 100 is depicted in FIG. 1 as being in the first state 102 at the first time point k and in the second state 104 at the subsequent second time point k + 1. A local coordinate system or reference system 106 indicating the position and orientation of the UAV 100 can be defined relative to the UAV 100. The UAV 100 may have a first position and orientation when in the first state 102 and a second position and orientation when in the second state 104. The change in state can be represented as a translation T from the first position to the second position and / or a rotation θ from the first orientation to the second orientation. When the position and orientation of the UAV 100 in the previous state 102 is known, T and θ can be used to determine the position and orientation of the UAV 100 in the subsequent state 104. Furthermore, if the length of the time interval [k, k + 1] is known, the translational and angular velocities of the UAV 100 in the second state 104 can also be estimated based on T and θ, respectively. Therefore, in some embodiments, the state estimation uses state change information and information about the first state 102 to determine the state changes T, θ and then to determine the second state 104. Accompany.

いくつかの実施形態において、状態推定は、1または複数のセンサにより取得されたセンサデータに基づいて実行される。本明細書に開示される複数の実施形態での使用のために適切な例示的な複数のセンサは、ロケーションセンサ(例えば、全地球測位システム(GPS)センサ、ロケーションの三角測量を可能とするモバイルデバイスの送信機)、イメージまたはビジョンセンサ(例えば、可視光、赤外線、または紫外線を検出することが可能なカメラなどの画像化デバイス)、近接または距離センサ(例えば、超音波センサ、ライダー、タイムオブフライト、または深度カメラ)、慣性センサ(例えば、加速度計、ジャイロスコープ、慣性測定ユニット(IMU))、高度センサ、姿勢センサ(例えば、コンパス)、圧力センサ(例えば、気圧計)、オーディオセンサ(例えば、マイク)、またはフィールドセンサ(例えば、磁力計、電磁センサ)を含む。1つ、2つ、3つ、4つ、5つ、またはそれらより多くのセンサなど任意の適切な数および組み合わせのセンサが用いられ得る。オプションで、データが、異なる複数のタイプの(例えば、2つ、3つ、4つ、5つ、またはそれらより多くのタイプの)センサから受信され得る。異なる複数のタイプのセンサは、異なる複数のタイプの信号または情報(例えば、位置、向き、速度、加速度、近接度、圧力等)を測定し得、および/または、データを取得するよう異なる複数のタイプの測定技術を利用し得る。例として、複数のセンサは、何らかの適切な組み合わせの能動型センサ(例えば、自身のエネルギー源からエネルギーを生成し測定するセンサ)および受動型センサ(例えば、利用可能なエネルギーを検出するセンサ)を含み得る。他の例として、いくつかのセンサは、全体座標系に関して提供される絶対的な測定データ(例えば、GPSセンサにより提供される位置データ、コンパスまたは磁力計により提供される姿勢データ)を生成し得、他方では、他の複数のセンサは、局所座標系に関して提供される相対的な測定データ(例えば、ジャイロスコープにより提供される相対的な角速度、加速度計により提供される相対的な並進加速度、画像センサにより提供される特定の周囲環境の投影図、超音波センサにより提供される相対的な距離情報、ライダー、またはタイムオブフライトカメラ)を生成し得る。いくつかの例において、局所座標系は、UAVと相対的に定義される本体座標系であり得る。 In some embodiments, state estimation is performed based on sensor data acquired by one or more sensors. Exemplary plurality of sensors suitable for use in the plurality of embodiments disclosed herein are location sensors (eg, Global Positioning System (GPS) sensors, mobiles that allow location trisection. Device transmitter), image or vision sensor (eg, imaging device such as a camera capable of detecting visible, infrared, or ultraviolet light), proximity or distance sensor (eg, ultrasonic sensor, rider, time of Flight or depth cameras), inertial sensors (eg accelerometers, gyroscopes, inertial measurement units (IMUs)), altitude sensors, attitude sensors (eg compass), pressure sensors (eg barometers), audio sensors (eg metric) , Mike), or field sensors (eg, magnetic field sensors, electromagnetic sensors). Any suitable number and combination of sensors, such as one, two, three, four, five, or more sensors, may be used. Optionally, data can be received from different types of sensors (eg, two, three, four, five, or more types). Different types of sensors can measure different types of signals or information (eg, position, orientation, velocity, acceleration, proximity, pressure, etc.) and / or obtain different data. A type of measurement technique can be used. As an example, multiple sensors include some appropriate combination of active sensors (eg, sensors that generate and measure energy from their own energy source) and passive sensors (eg, sensors that detect available energy). obtain. As another example, some sensors may generate absolute measurement data provided with respect to the global coordinate system (eg, position data provided by a GPS sensor, attitude data provided by a compass or accelerometer). On the other hand, other sensors provide relative measurement data with respect to the local coordinate system (eg, relative angular velocity provided by the gyroscope, relative translational acceleration provided by the accelerometer, image). It may generate a projection of a particular ambient environment provided by a sensor, relative distance information provided by an accelerometer, a rider, or a time of flight camera). In some examples, the local coordinate system can be a body coordinate system that is defined relative to the UAV.

本明細書に記載されている複数のセンサは、UAVにより運ばれ得る。センサは、UAVの輸送体本体の上方、下方、わき、または内部などUAVの何らかの適切な部分に位置付けられ得る。いくつかの実施形態において、1または複数のセンサは、UAVの筐体内で囲まれ得、筐体の外部に位置付けられ得、筐体の面(例えば、内面または外面)に結合され得、または筐体の一部を形成し得る。いくつかのセンサは、UAVの空間的配置および/または動きが複数のセンサの空間的配置および/または動きに対応するようUAVに機械的に結合され得る。センサは、センサが取り付けられたUAVの一部と相対的に動かないように剛性の結合を介してUAVに結合され得る。代替的に、センサとUAVとの間の結合は、UAVと相対的なセンサの動きを可能とし得る。結合は、永久的な結合または非永久的な(例えば、解放可能な)結合であり得る。適切な複数の結合方法は、粘着、接着、溶接、および/または留め金具(例えば、ねじ、びょう、ピン等)を含み得る。いくつかの実施形態において、センサとUAVとの間の結合は、複数の振動、または所望されない機械的な他の複数の動きがUAV本体からセンサへ伝達されてしまうことを低減する複数の緩衝器またはダンパを備える。オプションで、センサは、UAVの一部と一体的に形成され得る。更に、センサは、本明細書で説明される複数の実施形態など、センサにより収集されたデータがUAVの様々な機能(例えば、ナビゲーション、制御、推進、ユーザまたは他のデバイスとの通信等)のために用いられることを可能とするようUAVの一部(例えば、プロセッシングユニット、制御システム、データストレージ)に電気的に結合され得る。 The plurality of sensors described herein can be carried by a UAV. The sensor may be positioned at any suitable part of the UAV, such as above, below, aside, or inside the body of the UAV transporter. In some embodiments, the sensor may be enclosed within the housing of the UAV, positioned outside the housing, coupled to a surface of the housing (eg, inner or outer surface), or housing. It can form part of the body. Some sensors may be mechanically coupled to the UAV so that the spatial arrangement and / or movement of the UAV corresponds to the spatial arrangement and / or movement of the plurality of sensors. The sensor can be coupled to the UAV via a rigid coupling so that it does not move relative to the portion of the UAV to which the sensor is mounted. Alternatively, the coupling between the sensor and the UAV may allow movement of the sensor relative to the UAV. The bond can be a permanent bond or a non-permanent (eg, releasable) bond. Suitable multiple bonding methods may include adhesion, bonding, welding, and / or fasteners (eg, screws, bows, pins, etc.). In some embodiments, the coupling between the sensor and the UAV reduces multiple vibrations, or other undesired mechanical movements, from being transmitted from the UAV body to the sensor. Or equipped with a damper. Optionally, the sensor can be formed integrally with a part of the UAV. Further, the sensor is such that the data collected by the sensor, such as the plurality of embodiments described herein, can be used for various functions of the UAV (eg, navigation, control, propulsion, communication with the user or other device, etc.) It can be electrically coupled to parts of the UAV (eg, processing units, control systems, data storage) to allow it to be used for.

いくつかの実施形態において、複数の感知結果は、「センサ融合」としても知られる、複数のセンサにより取得されるセンサデータの組み合わせにより生成される。例として、センサ融合は、GPSセンサ、慣性センサ、画像センサ、ライダー、超音波センサ、およびその他を含む異なる複数のセンサタイプにより取得される感知データを組み合わせるのに用いられ得る。他の例として、センサ融合は、絶対測定データ(例えば、GPSデータなど全体座標系と相対的に提供されるデータ)および相対的な測定データ(例えば、ビジョン感知データ、ライダーデータ、または超音波感知データなど局所座標系と相対的に提供されるデータ)など異なる複数のタイプの感知データを組み合わせるのに用いられ得る。センサ融合は、個々の複数のセンサタイプに関連する限界または不正確性を補い、これにより最終的な感知結果の正確性および信頼性を向上させるために用いられ得る。 In some embodiments, the plurality of sensing results is generated by a combination of sensor data acquired by the plurality of sensors, also known as "sensor fusion". As an example, sensor fusion can be used to combine sensory data acquired by multiple different sensor types, including GPS sensors, inertial sensors, image sensors, lidar, ultrasonic sensors, and others. As another example, sensor fusion is an absolute measurement data (eg, data provided relative to the global coordinate system, such as GPS data) and relative measurement data (eg, vision sensing data, lidar data, or ultrasound sensing). It can be used to combine different types of sensing data (data provided relative to the local coordinate system, such as data). Sensor fusion can be used to compensate for the limitations or inaccuracies associated with individual sensor types, thereby improving the accuracy and reliability of the final sensory result.

複数のセンサが用いられる複数の実施形態において、各センサは、それぞれの位置および向きでUAV上に位置付けられ得る。複数のセンサの互いに相対的な複数の空間的関係についての情報(例えば、相対的な位置および向き)は、複数のセンサからのデータを融合するための基準として用いられ得る。これらの空間的関係は本明細書において、複数のセンサの「外部パラメータ」と呼ばれ得、複数の空間的関係を決定する処理は本明細書で「外部パラメータ較正」と呼ばれ得る。いくつかの実施形態において、複数の外部パラメータに関する複数の初期値が知られるように、複数のセンサが、予め定められた複数のロケーションにおいてUAV上に設置される。さらに、複数の外部パラメータは、例えば、振動、衝突、または複数のセンサの相対的な位置および/または向きを変化させる他の出来事に起因してUAVの動作の間に変化し得る。したがって、複数のセンサ融合結果が正確かつ堅牢であることを確実にするために、更新されたパラメータ情報を提供するようUAVの動作の全体で(例えば、継続的に、または予め定められた複数の時間間隔で)外部パラメータ較正を実行するのが役立ち得る。 In multiple embodiments where multiple sensors are used, each sensor may be positioned on the UAV in its respective position and orientation. Information about multiple spatial relationships of multiple sensors relative to each other (eg, relative positions and orientations) can be used as a reference for fusing data from multiple sensors. These spatial relationships may be referred to herein as "external parameters" of the plurality of sensors, and the process of determining a plurality of spatial relationships may be referred to herein as "external parameter calibration". In some embodiments, a plurality of sensors are installed on the UAV at a plurality of predetermined locations so that a plurality of initial values for the plurality of external parameters are known. In addition, multiple external parameters can change during the operation of the UAV, for example due to vibrations, collisions, or other events that change the relative position and / or orientation of the sensors. Therefore, to ensure that the results of multiple sensor fusions are accurate and robust, the entire operation of the UAV to provide updated parameter information (eg, continuous or predetermined multiples). It may be helpful to perform external parameter calibration (at time intervals).

図2は、複数の実施形態に係る、UAVに関する外部パラメータ較正を示す。UAVは、基準センサ200、および複数の追加のセンサ202を含む。センサ200、202のうちそれぞれは、センサの位置および向きを示すそれぞれの局所座標系または基準系に関連付けられている。いくつかの実施形態において、各センサ202は、基準センサ200の座標系と相対的な、異なるそれぞれの位置および向きにある。各センサ202の複数の外部パラメータは、センサ202の座標系から基準センサ200の座標系へのうちそれぞれの並進Tおよび/またはそれぞれの回転θとして表され得る。したがって、外部パラメータ較正は、複数のセンサ202のうちそれぞれを基準センサ200に関連させる複数の外部パラメータからなるセット(T,θ)、(T,θ)、…、(T,θ)を決定することを伴い得る。代替的に、または加えて、外部パラメータ較正は、センサ202のうちそれぞれを、単一の基準センサ200の座標系とではなくむしろ互いに関連させる複数の外部パラメータからなるセットを決定することを伴い得る。当業者は、複数のセンサ202の基準センサ200に対する複数の空間的関係を決定することは、複数のセンサ202の互いに対する複数の空間的関係を決定することと同等であることを理解されよう。 FIG. 2 shows external parameter calibration for UAVs for a plurality of embodiments. The UAV includes a reference sensor 200 and a plurality of additional sensors 202. Each of the sensors 200, 202 is associated with a local coordinate system or reference system that indicates the position and orientation of the sensor. In some embodiments, each sensor 202 is in a different position and orientation relative to the coordinate system of the reference sensor 200. The plurality of external parameters of each sensor 202 may be represented as their respective translation T and / or their respective rotation θ from the coordinate system of the sensor 202 to the coordinate system of the reference sensor 200. Therefore, the external parameter calibration is performed by a set (T 1 , θ 1 ), (T 1 , θ 1 ), ..., (T m ,) consisting of a plurality of external parameters relating each of the plurality of sensors 202 to the reference sensor 200. It may involve determining θ m ). Alternatively, or in addition, external parameter calibration may involve determining a set of external parameters that relate each of the sensors 202 to each other rather than to the coordinate system of a single reference sensor 200. .. Those skilled in the art will appreciate that determining a plurality of spatial relationships of a plurality of sensors 202 to a reference sensor 200 is equivalent to determining a plurality of spatial relationships of a plurality of sensors 202 to each other.

本明細書に記載されている複数のUAVは、状態推定および外部パラメータ較正を実行するために様々なアルゴリズムを実装し得る。いくつかの実施形態において、同じアルゴリズムが、状態情報および複数の外部パラメータ値を同時に推定するのに用いられる。他の複数の実施形態において、異なる複数のアルゴリズムが、状態情報およびパラメータ値を別個に評価するために用いられる。そのような複数のアルゴリズムの複数の例は、本明細書にさらに記載される。いくつかの実施形態において、最初に状態推定および/またはパラメータ較正を実行する前に(例えば、UAVが電力供給されたとき、動作を開始したとき、または飛行を開始したとき)、これらのアルゴリズムを、特定の情報を用いて初期化することが必要または有益であり得る。本明細書で「初期化情報」と呼ばれ得るこの情報は、状態推定および/または複数のパラメータ較正アルゴリズムを初期化するのに用いられる、最初の時点における(例えば、UAVが電力供給されたとき、動作を開始したとき、または飛行を開始したときの)UAV状態および/または複数の外部パラメータに関する複数の初期値を含み得る。初期化情報の正確性は、続く状態推定および/またはパラメータ較正手順の正確性に影響し得る。UAVに関する初期化情報を決定する処理は本明細書で「初期化」と呼ばれ得る。 The plurality of UAVs described herein may implement various algorithms to perform state estimation and external parameter calibration. In some embodiments, the same algorithm is used to estimate state information and multiple external parameter values simultaneously. In other embodiments, different algorithms are used to evaluate state information and parameter values separately. Multiple examples of such algorithms are further described herein. In some embodiments, these algorithms are used before first performing state estimation and / or parameter calibration (eg, when the UAV is powered, in operation, or in flight). , May be necessary or informative to initialize with specific information. This information, which may be referred to herein as "initialization information," is used at the first time point (eg, when the UAV is powered) to be used to initialize state estimation and / or multiple parameter calibration algorithms. It may contain multiple initial values for the UAV state and / or multiple external parameters (when the operation is started or when the flight is started). The accuracy of the initialization information can affect the accuracy of subsequent state estimation and / or parameter calibration procedures. The process of determining initialization information for a UAV may be referred to herein as "initialization."

例えば、いくつかの実施形態において、初期化情報は、重力の方向と相対的なUAVの向きを示す情報を含む。この情報は、複数の慣性センサなど重力による影響を受ける複数のセンサからのデータを調節するのに特に役立ち得る。いくつかの実施形態において、結果として得られる慣性センサデータがUAVのみの加速度を示すよう、慣性センサにより取得された複数の加速度測定値から、重力による影響を差し引くことが有益または必要であり得る。したがって、初期化手順は、慣性センサデータの補正を可能とするよう重力の方向と相対的なUAVの初期の向きを決定することを伴い得る。代替的に、または組み合わせて、初期化情報は、UAVの動作の前、またはその間の最初の時点におけるUAVの位置、向き、速度、加速度、および/または複数の外部パラメータを含み得る。初期化情報は、UAVの局所座標系、全体座標系、および/または他の実存物(例えば、UAVのためのリモートコントローラ)の座標系と相対的に提供され得る。 For example, in some embodiments, the initialization information includes information indicating the direction of the UAV relative to the direction of gravity. This information can be particularly useful for adjusting data from multiple sensors affected by gravity, such as multiple inertial sensors. In some embodiments, it may be beneficial or necessary to subtract the effects of gravity from multiple acceleration measurements obtained by the inertial sensor so that the resulting inertial sensor data show UAV-only acceleration. Therefore, the initialization procedure may involve determining the initial orientation of the UAV relative to the direction of gravity to allow correction of the inertial sensor data. Alternatively or in combination, the initialization information may include the position, orientation, velocity, acceleration, and / or multiple external parameters of the UAV before or during the operation of the UAV at the first time point. Initialization information can be provided relative to the UAV's local coordinate system, global coordinate system, and / or the coordinate system of other entity (eg, a remote controller for the UAV).

図3および4は、複数の実施形態に係る、UAVの初期化を示す。図3は、水平な向きにあるUAV300の初期化を示す。「水平な向き」とは、UAV300が重力ベクトルgの方向と実質的に直交する水平軸302(例えば、UAVの対向する横方向側部を通る軸)を有することを意味し得る。UAV300は、例えば、水平面から離陸するとき、水平な向きにあり得る。図4は、傾けられた向きにあるUAV400の初期化を示す。「傾けられた向き」とは、UAV400が重力ベクトルgの方向と直交しない水平軸402(例えば、UAVの対向する横方向側部を通る軸)を有することを意味し得る。UAV400は、例えば、傾斜面から離陸するとき、または非静止状態から(例えば、空中から、またはユーザにより空中に投げられてから)発射されるとき傾けられた向きにあり得る。いくつかの実施形態において、本明細書に記載される複数の初期化方法は、UAVが最初に水平な向きにあるか、または傾けられた向きにあるかを、および/または、重力ベクトルと相対的なUAVの傾き度合いを決定するのに用いられ得る。 3 and 4 show UAV initialization according to a plurality of embodiments. FIG. 3 shows the initialization of the UAV300 in a horizontal orientation. The "horizontal orientation" can mean that the UAV 300 has a horizontal axis 302 (eg, an axis that passes through opposite lateral sides of the UAV) that is substantially orthogonal to the direction of the gravity vector g. The UAV300 can be in a horizontal orientation, for example, when taking off from a horizontal plane. FIG. 4 shows the initialization of the UAV 400 in a tilted orientation. The "tilted orientation" can mean that the UAV 400 has a horizontal axis 402 that is not orthogonal to the direction of the gravity vector g (eg, an axis that passes through opposite lateral sides of the UAV). The UAV400 can be in a tilted orientation, for example, when taking off from an inclined surface or when launched from a non-resting state (eg, from the air or after being thrown into the air by the user). In some embodiments, the plurality of initialization methods described herein determine whether the UAV is initially in a horizontal or tilted orientation and / or relative to a gravity vector. It can be used to determine the degree of inclination of a typical UAV.

いくつかの実施形態において、状態推定および/または外部パラメータ較正アルゴリズムにエラーが生じた場合、アルゴリズムを再初期化し再開する必要があり得る。エラーは、1または複数のセンサが機能不良している(例えば、十分なデータを提供し損ねている)アルゴリズム、または、結果を生成し損ねている(例えば、特定された期間内に結果へと収束し損ねている)アルゴリズムに関するセンサデータを提供することを伴い得る。再初期化情報がUAVの動作の最初の時点ではなくむしろエラーが生じた時間における、またはその辺りの時点で取得されることを除いて、再初期化は、本明細書に記載されている初期化手順と実質的に同様であり得る。いくつかの実施形態において、再初期化は、エラーを検出した後に続いて実行され、エラーに続く再初期化の処理は、本明細書で「エラー回復」と呼ばれ得る。代替的に、または組み合わせて、再初期化は、所望されるように初期化に続く任意の時点で、例えば、予め定められた複数の時間間隔で実行され得る。 In some embodiments, if the state estimation and / or external parameter calibration algorithm fails, it may be necessary to reinitialize and restart the algorithm. The error is an algorithm in which one or more sensors are malfunctioning (eg, failing to provide sufficient data), or failing to produce a result (eg, to a result within a specified time period). It may involve providing sensor data for the algorithm (which fails to converge). Reinitialization is described herein, except that the reinitialization information is obtained at or around the time of the error rather than at the beginning of the UAV's operation. It can be substantially similar to the chemical procedure. In some embodiments, reinitialization is performed after detecting an error, and the process of reinitialization following an error may be referred to herein as "error recovery." Alternatively, or in combination, the reinitialization can be performed at any time following the initialization as desired, eg, at a plurality of predetermined time intervals.

図5は、複数の実施形態に係る、UAVを動作させるための方法500を示す。ステップ502において、UAVが動作を開始する(例えば、電力供給される、離陸する等)。ステップ504において、UAVに関する初期化情報(例えば、上記にて説明したように重力の方向と相対的な向き)を決定するために初期化が実行される。ステップ506において、例えば、UAVの位置、向き、速度、複数のUAVセンサの相対的な位置および向き等を決定するよう、現時点に関する外部パラメータ較正および状態推定が実行される。上記にて説明したように、パラメータ較正および状態推定は、同時または別個に実行され得る。ステップ508において、例えば、センサの機能不良、またはパラメータ較正および/または状態推定手順における失敗などのエラーがUAVの動作間に生じたかが決定される。エラーが生じた場合、方法500はステップ504に戻ってエラー回復のためにUAVを再初期化する。エラーが生じていない場合、ステップ510において、パラメータ較正および状態推定の複数の結果が、例えば、飛行制御モジュール、遠隔端末、またはコントローラ等へ、続く格納および/または使用のために出力される。例えば、飛行制御モジュールは、UAVのナビゲーション、マッピング、障害物回避、およびその他を容易にするよう、決定された複数のパラメータ値および/または状態情報を用い得る。その後、方法500はステップ506に戻って、次の時点のためにパラメータ較正および状態推定手順を繰り返す。方法500は、UAVの動作の間に更新された状態情報およびパラメータ値を提供するよう、0.1秒毎に少なくとも1度など任意の割合で繰り返され得る。 FIG. 5 shows a method 500 for operating a UAV, according to a plurality of embodiments. In step 502, the UAV begins operation (eg, powering, taking off, etc.). In step 504, initialization is performed to determine initialization information about the UAV (eg, the direction relative to the direction of gravity as described above). In step 506, external parameter calibration and state estimation with respect to the current time is performed, for example, to determine the position, orientation, velocity of the UAV, relative positions and orientations of the plurality of UAV sensors, and the like. As described above, parameter calibration and state estimation can be performed simultaneously or separately. In step 508 it is determined whether an error, such as a sensor malfunction or failure in the parameter calibration and / or state estimation procedure, occurred during the operation of the UAV. If an error occurs, Method 500 returns to step 504 and reinitializes the UAV to recover from the error. If no errors have occurred, in step 510, a plurality of results of parameter calibration and state estimation are output to, for example, a flight control module, remote terminal, or controller for subsequent storage and / or use. For example, the flight control module may use multiple parameter values and / or state information determined to facilitate UAV navigation, mapping, obstacle avoidance, and more. Method 500 then returns to step 506 and repeats the parameter calibration and state estimation procedure for the next time point. Method 500 can be repeated at any rate, such as at least once every 0.1 seconds, to provide updated state information and parameter values during the operation of the UAV.

いくつかの実施形態において、このアプローチはUAVの初期状態(例えば、位置、向き、速度、加速度等)についての仮定を何ら要さないので、本明細書に記載されているようにUAVの初期化および/またはエラー回復を実行することは有利である。例として、本明細書における複数のアプローチは、UAVが最初に静止している(例えば、速度および加速度がゼロに等しい)と仮定することなくUAVの初期化および/またはエラー回復を可能とし得る。この仮定は、特定の複数の状況(例えば、UAVが地上または他の平面から離陸しているとき)に関して適当であり得、そのような複数の実施形態において、重力ベクトルの方向は、慣性センサデータから直接的に取得され得る。しかし、この仮定は他の複数の状況(例えば、エラーが生じたときにUAVが最初に傾斜面を滑り降りている場合、UAVがユーザにより空中へ投げられる場合、UAVが空中にある場合等)に関して適当ではないかもしれない。そのような複数の実施形態において、センサの結果に影響を与えている他の複数の加速度値があるかもしれないので、慣性センサデータのみから重力ベクトルの方向を決定するのは可能ではないかもしれない。したがって、本明細書における複数の方法は、UAVの初期状態(例えば、UAVが静止しているか動いているか)に関わらず、重力ベクトルの決定を可能とし、したがって、初期化およびエラー回復の柔軟性および正確性を向上させる。 In some embodiments, this approach does not require any assumptions about the initial state of the UAV (eg, position, orientation, velocity, acceleration, etc.) and therefore UAV initialization as described herein. It is advantageous to perform and / or error recovery. As an example, multiple approaches herein may allow UAV initialization and / or error recovery without assuming that the UAV is initially stationary (eg, velocity and acceleration equal to zero). This assumption may be appropriate for certain situations (eg, when the UAV is taking off from the ground or another plane), and in such embodiments, the direction of the gravity vector is the inertial sensor data. Can be obtained directly from. However, this assumption relates to several other situations (eg, when the UAV first slides down an inclined surface when an error occurs, the UAV is thrown into the air by the user, the UAV is in the air, etc.) It may not be appropriate. In such embodiments, it may not be possible to determine the direction of the gravity vector from inertial sensor data alone, as there may be other acceleration values affecting the sensor results. Absent. Thus, the methods herein allow the determination of the gravity vector regardless of the initial state of the UAV (eg, whether the UAV is stationary or moving) and thus the flexibility of initialization and error recovery. And improve accuracy.

本明細書に記載されている複数のUAVは、本明細書に提供される初期化、状態推定、および外部パラメータ較正方法を実行するために複数のセンサからのデータを利用し得る。様々なタイプおよび組み合わせの複数のセンサが用いられ得る。いくつかの実施形態において、UAVは、少なくとも1つの慣性センサおよび少なくとも1つの画像センサを利用する。オプションで、UAVは少なくとも1つの慣性センサ、および、2またはそれより多くの、3またはそれより多くの、4またはそれより多くの、5またはそれより多くの、6またはそれより多くの、7またはそれより多くの、8またはそれより多くの、9またはそれより多くの、10またはそれより多くの画像センサなど複数の画像センサを利用し得る。 The plurality of UAVs described herein may utilize data from multiple sensors to perform the initialization, state estimation, and external parameter calibration methods provided herein. Multiple sensors of various types and combinations may be used. In some embodiments, the UAV utilizes at least one inertial sensor and at least one image sensor. Optionally, the UAV has at least one inertial sensor, and two or more, three or more, four or more, five or more, six or more, seven or more. Multiple image sensors may be utilized, such as more, 8 or more, 9 or more, 10 or more image sensors.

本明細書において、慣性センサとは動きセンサ(例えば、速度センサ、加速度計など加速度センサ)、方位センサ(例えば、ジャイロスコープ、傾斜計)、または、1または複数の統合された動きセンサおよび/または1または複数の統合された方位センサを有するIMUを指すのに用いられ得る。慣性センサは、単一の動きの軸と相対的な感知データを提供し得る。動きの軸は、慣性センサの軸(例えば、縦軸)に対応し得る。複数の慣性センサが用いられ得、各慣性センサは、異なる動きの軸に沿った複数の測定値を提供する。例えば、3つの加速度計が、3つの異なる動きの軸に沿った加速度データを提供するのに用いられ得る。3つの動き方向は複数の直交する軸であり得る。加速度計のうち1または複数は、並進軸に沿った加速度を測定するよう構成された複数の線形加速度計であり得る。逆に、加速度計のうち1または複数は、回転軸周りの角加速度を測定するよう構成された角度加速度計であり得る。他の例として、3つのジャイロスコープが、3つの異なる回転軸周りの向きデータを提供するのに用いられ得る。3つの回転軸は、複数の直交する軸(例えば、ロール軸、ピッチ軸、ヨー軸)であり得る。代替的に、複数の慣性センサのうち少なくともいくつかまたは全てが、複数の同じ動きの軸と相対的な測定値を提供し得る。そのような冗長性は、例として、測定の正確性を向上させるよう実装され得る。オプションで、単一の慣性センサが、複数の軸と相対的な感知データを提供することが可能であり得る。例えば、複数の統合された加速度計およびジャイロスコープを含むIMUが、最大6つの動きの軸に関する加速度データおよび向きデータを生成するのに用いられ得る。代替的に、単一の加速度計が、複数の軸に沿った加速度を検出するのに用いられ得、単一のジャイロスコープが、複数の軸周りの回転を検出するのに用いられ得る。 As used herein, inertial sensors are motion sensors (eg, speed sensors, accelerometers and other acceleration sensors), orientation sensors (eg, gyroscopes, tilt meters), or one or more integrated motion sensors and / or It can be used to refer to an IMU with one or more integrated orientation sensors. Inertia sensors can provide sensing data relative to a single axis of motion. The axis of motion may correspond to the axis of the inertial sensor (eg, the vertical axis). Multiple inertial sensors may be used, and each inertial sensor provides multiple measurements along different axes of motion. For example, three accelerometers can be used to provide acceleration data along three different axes of motion. The three directions of movement can be multiple orthogonal axes. One or more of the accelerometers may be a plurality of linear accelerometers configured to measure acceleration along a translational axis. Conversely, one or more of the accelerometers may be angular accelerometers configured to measure angular acceleration around the axis of rotation. As another example, three gyroscopes can be used to provide orientation data around three different axes of rotation. The three rotation axes can be a plurality of orthogonal axes (eg, roll axis, pitch axis, yaw axis). Alternatively, at least some or all of the multiple inertial sensors may provide multiple axes of the same motion and relative measurements. Such redundancy can be implemented, for example, to improve the accuracy of the measurements. Optionally, a single inertial sensor may be able to provide sensing data relative to multiple axes. For example, an IMU containing multiple integrated accelerometers and gyroscopes can be used to generate acceleration and orientation data for up to six axes of motion. Alternatively, a single accelerometer can be used to detect acceleration along multiple axes, and a single gyroscope can be used to detect rotations around multiple axes.

画像センサは、電磁放射(例えば、可視光、赤外線、および/または紫外線)を検出し、検出された電磁放射に基づいて画像データを生成するよう構成された何らかのデバイスであり得る。画像センサにより生成された画像データは、複数の静止画(例えば、写真)、複数の動画(例えば、ビデオ)、またはこれらの適切な組み合わせであり得る1または複数の画像を含み得る。画像データは、多色(例えば、RGB、CMYK、HSV)、または単色(例えば、グレースケール、白黒、セピア)であり得る。いくつかの実施形態において、画像センサはカメラであり得る。本明細書に提供されている特定の複数の実施形態はカメラの文脈で記載されているが、本開示が何らかの適切な画像センサに適用され得ること、および、本明細書における複数のカメラに関連するいずれの記載も、他の複数のタイプの画像センサにも適用され得ることを理解されよう。カメラは、3Dシーンの複数の2D画像(例えば、環境、1または複数の物体等)を生成するのに用いられ得る。カメラにより生成される複数の画像は、2D像平面への3Dシーンの投射を表し得る。したがって、2D画像の各点は、シーンにおける3D空間座標に対応する。複数のカメラが、シーンの3D空間情報(例えば、シーン内の物体とUAVとの間の距離を示す深さ情報)が再構築されることを可能とするために、3Dシーンの複数の2D画像を撮像するのに用いられ得る。オプションで、単一の画像センサが、例えば、複数の動き技術からの構造を用いて3D空間情報を取得するのに用いられ得る。3D空間情報は、UAV状態(例えば、位置、向き、速度等)を決定するよう処理され得る。 The image sensor can be any device configured to detect electromagnetic radiation (eg, visible light, infrared light, and / or ultraviolet light) and generate image data based on the detected electromagnetic radiation. The image data generated by the image sensor may include a plurality of still images (eg, photographs), a plurality of moving images (eg, video), or one or more images which may be an appropriate combination thereof. The image data can be multicolored (eg RGB, CMYK, HSV) or monochromatic (eg grayscale, black and white, sepia). In some embodiments, the image sensor can be a camera. Although the particular embodiments provided herein are described in the context of cameras, the disclosure may apply to any suitable image sensor and is relevant to the cameras herein. It will be appreciated that any of these statements may also apply to multiple other types of image sensors. The camera can be used to generate multiple 2D images of a 3D scene (eg, environment, one or more objects, etc.). Multiple images generated by the camera may represent the projection of a 3D scene onto a 2D image plane. Therefore, each point in the 2D image corresponds to the 3D spatial coordinates in the scene. Multiple 2D images of a 3D scene to allow multiple cameras to reconstruct 3D spatial information of the scene (eg, depth information indicating the distance between an object in the scene and the UAV). Can be used to image. Optionally, a single image sensor can be used, for example, to acquire 3D spatial information using structures from multiple motion techniques. The 3D spatial information can be processed to determine the UAV state (eg, position, orientation, velocity, etc.).

複数の慣性センサおよび複数の画像センサの組み合わせは、UAVの動作に関して様々な利益を提供し得る。例として、複数のIMUなど複数の慣性センサからの慣性データの正確性はノイズおよびドリフトに起因して経時的に低下し得、重力に起因する加速度による影響を受け得る。この課題は、慣性データを、1または複数の画像センサからの画像データを用いて補正する、および/またはそれらと組み合わることにより緩和または克服され得る。他の例として、複数の画像センサを用いることにより、複数の画像センサのうちいくつかが妨害される、および/または機能不良に陥った場合でも、残りの複数の画像センサが依然としてデータを収集するのに利用可能であるので、UAVが動作を継続することが可能となり得る。したがって、1または複数の慣性センサからの慣性データおよび1または複数の画像センサからの画像データは、UAVの動作に関するより堅牢かつ正確な複数の感知結果を提供するために、センサ融合アルゴリズムを用いて処理され、組み合わせられ得る。 The combination of the plurality of inertial sensors and the plurality of image sensors can provide various benefits regarding the operation of the UAV. As an example, the accuracy of inertial data from multiple inertial sensors, such as multiple IMUs, can decline over time due to noise and drift and can be affected by acceleration due to gravity. This challenge can be mitigated or overcome by correcting inertial data with image data from one or more image sensors and / or combining them. As another example, by using multiple image sensors, if some of the image sensors are disturbed and / or malfunction, the remaining image sensors still collect data. It may be possible for the UAV to continue its operation as it is available. Therefore, inertial data from one or more inertial sensors and image data from one or more image sensors use sensor fusion algorithms to provide more robust and accurate sensing results for the operation of the UAV. Can be processed and combined.

図6は、複数の実施形態に係る、慣性データおよび画像データを処理するためのシステム600を示す。いくつかの実施形態において、システム600は、データ収集モジュール610、画像処理モジュール620、センサ融合モジュール630、および飛行制御モジュール640を含む。システム600の様々なモジュールは、本明細書にさらに記載されているように、ハードウェアおよびソフトウェアコンポーネントの何らかの適切な組み合わせを用いて実装され得る。例えば、各モジュールは、1または複数のプロセッサと、本明細書に記載される複数の機能を実行するよう1または複数のプロセッサにより実行可能な複数の命令を格納したメモリなど適切な複数のハードウェアコンポーネントとを含み得る。代替的に、または組み合わせて、2またはそれより多くのモジュールが、同じセットの複数のハードウェアコンポーネント、例えば、同じプロセッサを用いて実装され得る。 FIG. 6 shows a system 600 for processing inertial data and image data according to a plurality of embodiments. In some embodiments, the system 600 includes a data acquisition module 610, an image processing module 620, a sensor fusion module 630, and a flight control module 640. The various modules of the system 600 can be implemented using any suitable combination of hardware and software components, as further described herein. For example, each module is suitable for multiple hardware, such as one or more processors and a memory containing multiple instructions that can be executed by one or more processors to perform the functions described herein. Can include components. Alternatively or in combination, two or more modules may be implemented using the same set of multiple hardware components, eg, the same processor.

データ収集モジュール610は、1または複数の慣性センサおよび1または複数の画像センサから慣性データおよび画像データをそれぞれ取得するのに用いられ得る。いくつかの実施形態において、慣性データおよび画像データは、実質的に同じ頻度で収集される。他の複数の実施形態において、慣性データおよび画像データは異なる複数の頻度で収集される(例えば、慣性データは、画像データよりも高い頻度で収集され、またはその逆も当てはまる)。例えば、慣性センサは、およそ50Hz、100Hz、150Hz、200Hz、250Hz、300Hz、350Hz、400Hz、450Hz、500Hzよりも高い、またはそれらと等しい、もしくはさらに高い周波数で慣性データを出力し得る。画像センサは、およそ1Hz、5Hz、10Hz、15Hz、20Hz、25Hz、30Hz、40Hz、50Hz、または100Hzよりも高い、またはそれらと等しい頻度で画像データを出力し得る。複数の画像センサが用いられる複数の実施形態において、データ収集モジュール610は、同じ複数の時点において複数の画像センサのうちそれぞれから画像データを同期的に収集し得る。 The data acquisition module 610 can be used to acquire inertial data and image data from one or more inertial sensors and one or more image sensors, respectively. In some embodiments, inertial data and image data are collected at substantially the same frequency. In other embodiments, inertial data and image data are collected at different frequencies (eg, inertial data is collected more frequently than image data, and vice versa). For example, an inertial sensor may output inertial data at frequencies higher than, equal to, or even higher than approximately 50 Hz, 100 Hz, 150 Hz, 200 Hz, 250 Hz, 300 Hz, 350 Hz, 400 Hz, 450 Hz, 500 Hz. The image sensor may output image data at a frequency higher than, or equal to, approximately 1 Hz, 5 Hz, 10 Hz, 15 Hz, 20 Hz, 25 Hz, 30 Hz, 40 Hz, 50 Hz, or 100 Hz. In a plurality of embodiments in which a plurality of image sensors are used, the data acquisition module 610 may synchronously collect image data from each of the plurality of image sensors at the same plurality of time points.

画像処理モジュール620は、データ収集モジュール610から受信した画像データを処理するのに用いられ得る。いくつかの実施形態において、画像処理モジュール620は、1または複数の画像から1または複数の特徴点を検出および/または抽出する特徴点アルゴリズムを実装する。特徴点(本明細書で「特徴」とも呼ばれる)は、画像の残りの複数の部分から、および/または画像の他の複数の特徴点から一意に区別可能である画像の一部(例えば、エッジ、コーナー、対象の点、ブロブ、隆起等)であり得る。オプションで、特徴点は、画像化された物体の複数の変容(例えば、並進、回転、拡大縮小)、および/または画像の複数の特性の変化(例えば、輝度、露出)に対して比較的変わらないものであり得る。特徴点は、情報コンテンツの点で豊富である画像の複数の部分(例えば、大きな2Dテクスチャ、閾値を超えるテクスチャ)において検出され得る。特徴点は、複数の混乱の中(例えば、画像の照度および輝度が変化する場合)でも安定した画像の複数の部分において検出され得る。本明細書に記載されている特徴検出は、画像データから1または複数の特徴点を抽出し得る様々なアルゴリズムを用いて実現され得る。アルゴリズムは、エッジ検出アルゴリズム、コーナー検出アルゴリズム、ブロブ検出アルゴリズム、または隆起検出アルゴリズムであり得る。いくつかの実施形態において、コーナー検出アルゴリズムは、「Features from accelerated segment test」(FAST)であり得る。いくつかの実施形態において、特徴検出器は、複数の特徴点を抽出し、FASTを用いて複数の特徴点について複数の算出を行い得る。いくつかの実施形態において、特徴検出器は、Cannyエッジ検出器、Sobelオペレータ、Harris & Stephens/Plessy/Shi−Tomasiコーナー検出アルゴリズム、SUSANコーナー検出器、Level curve curvatureアプローチ、Laplacian of Gaussian、Difference of Gaussians、Determinant of Hessian、MSER、PCBR、またはGrey−level blobs、ORB、FREAK、またはこれらの何らかの適切な組み合わせであり得る。 The image processing module 620 can be used to process the image data received from the data acquisition module 610. In some embodiments, the image processing module 620 implements a feature point algorithm that detects and / or extracts one or more feature points from one or more images. A feature point (also referred to herein as a "feature") is a portion of an image (eg, an edge) that is uniquely distinguishable from the remaining portions of the image and / or from other features of the image. , Corners, points of interest, blobs, bumps, etc.). Optionally, feature points are relatively variable for multiple transformations of the imaged object (eg, translation, rotation, scaling) and / or for changes in multiple characteristics of the image (eg, brightness, exposure). It can be nothing. Feature points can be detected in multiple parts of an image that are rich in terms of information content (eg, large 2D textures, textures that exceed thresholds). Feature points can be detected in multiple parts of a stable image even in multiple confusions (eg, when the illuminance and brightness of the image change). The feature detection described herein can be achieved using various algorithms that can extract one or more feature points from the image data. The algorithm can be an edge detection algorithm, a corner detection algorithm, a blob detection algorithm, or a bump detection algorithm. In some embodiments, the corner detection algorithm can be a "Features from accelerated segment test" (FAST). In some embodiments, the feature detector may extract a plurality of feature points and use FAST to perform a plurality of calculations for the plurality of feature points. In some embodiments, the feature detectors are a Canny edge detector, a Sobel operator, a Harris & Stephens / Plussy / Shi-Tomasi corner detection algorithm, a SUSAN corner detector, a Level curve curvature approach, a Laplacian determinant of the Gas. , Curvature of Hessian, MSER, PCBR, or Grey-level blobs, ORB, FREAK, or any suitable combination thereof.

オプションで、画像処理モジュール620は、異なる複数の画像に亘って同じ特徴点のマッチングを行い、したがって、複数のマッチングが行われた特徴点からなるセットを生成し得る。特徴点マッチングは、同じ画像センサにより撮像された複数の画像(例えば、連続する複数の時点など異なる複数の時点において撮像された複数の画像)間の、異なる複数の画像センサにより(例えば、同じ時点において、または異なる複数の時点において)撮像された複数の画像間の、またはこれらの組み合わせの複数の特徴点のマッチングを伴い得る。特徴点マッチングは、複数のコーナー検出アルゴリズム、複数のオプティカルフローアルゴリズム、および/または複数の特徴マッチングアルゴリズムを用いて実行され得る。例えば、オプティカルフローが、連続する複数の画像間の動きを決定し、これにより、続く画像における特徴点のロケーションを予測するのに用いられ得る。代替的に、または組み合わせて、複数の特徴点記述子(例えば、特徴点を一意に識別するのに用いられ得る複数の特性)が、他の複数の画像における同じ特徴点の位置特定を行うのに用いられ得る。本明細書における複数の実施形態での使用のために適切な例示的な複数のアルゴリズムは、本明細書により詳細に記載されている。 Optionally, the image processing module 620 may match the same feature points across different images and thus generate a set of feature points that have been matched. Feature point matching is performed by different image sensors (eg, the same time point) between multiple images captured by the same image sensor (eg, multiple images taken at different time points such as consecutive time points). It may involve matching of multiple feature points between multiple images captured (or at different time points) or in a combination thereof. Feature point matching can be performed using multiple corner detection algorithms, multiple optical flow algorithms, and / or multiple feature matching algorithms. For example, optical flow can be used to determine movement between successive images, thereby predicting the location of feature points in subsequent images. Alternatively or in combination, multiple feature point descriptors (eg, multiple characteristics that can be used to uniquely identify a feature point) provide location of the same feature point in multiple other images. Can be used for. Illustrative algorithms suitable for use in multiple embodiments herein are described in more detail herein.

いくつかの実施形態において、画像処理モジュール620は、画像処理が十分に早い速度で、かつ十分な正確性で起こることを確実にするよう、特定の性能基準を満たすよう構成されている。例えば、画像処理モジュール620は、およそ20Hzであるリアルタイムの処理周波数で3またはそれより多くのデータチャネルを扱うよう構成され得る。他の例として、画像処理モジュール620は、例えば、再投影エラーが2であるときにRANSACアルゴリズムの内座層の数が70%よりも大きい、またはそれと等しいよう特徴トラッキングおよびマッチングを実行するよう構成され得る。 In some embodiments, the image processing module 620 is configured to meet certain performance criteria to ensure that image processing occurs at a sufficiently high speed and with sufficient accuracy. For example, the image processing module 620 may be configured to handle three or more data channels at a real-time processing frequency of approximately 20 Hz. As another example, the image processing module 620 is configured to perform feature tracking and matching so that, for example, the number of inner layers of the RANSAC algorithm is greater than or equal to 70% when the reprojection error is 2. Can be done.

センサ融合モジュール630は、慣性データをデータ収集モジュール610から、処理済み画像データ(例えば、マッチングが行われた複数の特徴点)を画像処理モジュール620から取得し得る。いくつかの実施形態において、センサ融合モジュール630は、初期化情報、状態情報、または複数の外部パラメータなどUAVの動作に関連する情報を決定するために、慣性データおよび処理済み画像データを処理する1または複数のセンサ融合アルゴリズムを実装する。例えば、センサ融合アルゴリズムが、UAVの位置、姿勢、および/または速度などUAVの位置および/または動き情報を算出するのに用いられ得る。本明細書における複数の実施形態での使用のために適切な例示的な複数のセンサ融合アルゴリズムが、以下により詳細に記載されている。 The sensor fusion module 630 may acquire inertial data from the data acquisition module 610 and processed image data (eg, a plurality of matched feature points) from the image processing module 620. In some embodiments, the sensor fusion module 630 processes inertial data and processed image data to determine information related to UAV operation, such as initialization information, state information, or multiple external parameters. Or implement multiple sensor fusion algorithms. For example, a sensor fusion algorithm can be used to calculate UAV position and / or motion information such as UAV position, attitude, and / or velocity. An exemplary sensor fusion algorithm suitable for use in multiple embodiments herein is described in more detail below.

飛行制御モジュール640は、UAVのための複数の制御信号を決定するために、センサ融合モジュール630により生成される複数のセンサ融合結果を用い得る。複数の制御信号が、1または複数の推進ユニット、1または複数のセンサ、1または複数の積載物、1または複数の通信モジュール、およびその他など1または複数のUAVコンポーネントの動作を制御するのに用いられ得る。いくつかの実施形態において、複数の制御信号が、自律的または半自律的なUAVの動作を有効化するよう、例えば、ナビゲーション、障害物回避、ルートプランニング、環境マッピング、およびその他のために用いられる。 The flight control module 640 may use a plurality of sensor fusion results generated by the sensor fusion module 630 to determine a plurality of control signals for the UAV. Multiple control signals are used to control the operation of one or more propulsion units, one or more sensors, one or more loads, one or more communication modules, and one or more UAV components. Can be. In some embodiments, multiple control signals are used, for example, for navigation, obstacle avoidance, route planning, environment mapping, and others to enable autonomous or semi-autonomous UAV operation. ..

図7は、複数の実施形態に係る、異なる複数の時点において単一の画像センサにより撮像された複数の画像間の特徴点マッチング(「単一チャネル処理」としても知られる)を実行するためのアルゴリズム700を示す。本明細書に記載されている他の全ての方法のように、方法700は、本明細書に記載されている複数のシステムおよび複数のデバイスのいずれかの実施形態を用いて実行され得る。いくつかの実施形態において、方法700の1または複数のステップは、システム600の画像処理モジュール620に関連付けられた1または複数のプロセッサにより実行される。 FIG. 7 is for performing feature point matching (also known as “single channel processing”) between a plurality of images captured by a single image sensor at different time points according to the plurality of embodiments. The algorithm 700 is shown. Like all other methods described herein, method 700 can be performed using any embodiment of the plurality of systems and devices described herein. In some embodiments, one or more steps of method 700 are performed by one or more processors associated with the image processing module 620 of system 600.

アルゴリズム700への入力702は、複数の時点において単一の画像センサにより取得される一連の画像を含み得る。ステップ704において、一連の画像のうち1つ(「現在の画像」)が受信される。ステップ706において、1または複数の特徴点からなるセットが、例えば、コーナー検出アルゴリズムまたは他の何らかの適切な特徴点検出アルゴリズムを用いて現在の画像(「一時的な点」)から算出され得る。ステップ706は、現在の画像のみを用いて、他の画像を用いず複数の特徴点を算出することを伴い得る。 The input 702 to the algorithm 700 may include a series of images acquired by a single image sensor at multiple time points. In step 704, one of a series of images (“current image”) is received. In step 706, a set of one or more feature points can be calculated from the current image (“temporary points”) using, for example, a corner detection algorithm or some other suitable feature point detection algorithm. Step 706 may involve calculating a plurality of feature points using only the current image and not other images.

ステップ708において、現在の画像が一連の画像のうち第1画像(例えば、最も早い時点で撮像された画像)であるかが決定される。第1画像ではなく、より早い時点において撮像された少なくとも1つの前の画像がある場合、アルゴリズムはステップ710へ進む。ステップ710において、現在の画像は、オプティカルフローアルゴリズムを用いて1または複数の前の画像と比較される。いくつかの実施形態において、オプティカルフローアルゴリズムは、前の画像において検出された1または複数の特徴点(前の複数の点)のトラッキングを行って、前の複数の点の現在の画像における複数の特徴点とのマッチングを行う。代替的に、または組み合わせて、他の複数のタイプのトラッキングアルゴリズム、例えば、複数の特徴点記述子に基づいてマッチングを実行する複数のトラッキングアルゴリズムが、複数の特徴点のマッチングを行うのに用いられ得る。トラッキングエラーが前の点のトラッキングの間に生じた場合、例えば、トラッキングが不正確である、または実行され得ない場合、その点は、ステップ712における分析から破棄され得る。残りの時間的にマッチングが行われた複数の特徴点からなるセットは、分析に関して「現在の点」であると見なされる。 In step 708, it is determined whether the current image is the first image in a series of images (eg, the image captured at the earliest time). If there is at least one previous image captured at an earlier point in time than the first image, the algorithm proceeds to step 710. In step 710, the current image is compared to one or more previous images using an optical flow algorithm. In some embodiments, the optical flow algorithm tracks one or more feature points (previous points) detected in a previous image to perform a plurality of previous points in the current image. Match with feature points. Alternatively or in combination, multiple other types of tracking algorithms, such as multiple tracking algorithms that perform matching based on multiple feature point descriptors, are used to match multiple feature points. obtain. If a tracking error occurs during the tracking of a previous point, for example, if the tracking is inaccurate or cannot be performed, that point can be discarded from the analysis in step 712. A set of feature points that have been matched over time for the rest of the time is considered to be the "current point" for analysis.

ステップ714において、一時的な複数の点が現在の複数の点からなるセットに追加され、アルゴリズムの出力718である特徴点の最終的なセットを生成するために、結果として得られる複数の特徴点からなるセットが(例えば、複数の外部パラメータを用いて)修正される。代替的に、ステップ708において現在の画像が第1画像ではないと決定された場合、ステップ710および712は省略され得、特徴点の最終的なセットはステップ706において決定された一時的な複数の点からのみ取得される。ステップ720において、現在の画像が前の画像にセットされ、現在の複数の点が前の複数の点としてセットされる。その後アルゴリズム700は、次の反復のためにステップ704へ戻り、一連の画像のうち次の画像が処理のために受信される。 In step 714, temporary points are added to the current set of points to produce the final set of feature points that is the output of the algorithm 718. A set of is modified (eg, with multiple external parameters). Alternatively, if in step 708 it is determined that the current image is not the first image, steps 710 and 712 may be omitted and the final set of feature points will be a plurality of temporary features determined in step 706. Obtained only from points. In step 720, the current image is set to the previous image, and the current plurality of points are set as the previous plurality of points. The algorithm 700 then returns to step 704 for the next iteration and the next image in the series of images is received for processing.

図8は、複数の実施形態に係る、異なる複数の画像センサにより撮像された複数の画像間の特徴点マッチング(「マルチチャネル処理」としても知られる)を実行するためのアルゴリズム800を示す。いくつかの実施形態において、方法800の1または複数のステップは、システム600の画像処理モジュール620に関連付けられた1または複数のプロセッサにより実行される。 FIG. 8 shows an algorithm 800 for performing feature point matching (also known as “multi-channel processing”) between a plurality of images captured by different plurality of image sensors according to a plurality of embodiments. In some embodiments, one or more steps of method 800 are performed by one or more processors associated with the image processing module 620 of system 600.

アルゴリズム800への入力802は、異なる複数の画像センサにより取得された複数の画像を含み得る。いくつかの実施形態において、各画像センサは、複数の時点に亘って取得される一連の画像を提供する。画像データ収集は、複数の画像センサが実質的に同じ複数の時点で複数の画像を取得しているように同期的であり得る。代替的に画像データ収集は、異なる複数の画像センサが異なる複数の時点において複数の画像を取得するように非同期的であり得る。非同期的画像データ収集の追加の複数の例は、本明細書にさらに記載されている。 The input 802 to the algorithm 800 may include a plurality of images acquired by a plurality of different image sensors. In some embodiments, each image sensor provides a series of images acquired over multiple time points. Image data acquisition can be synchronous such that multiple image sensors are acquiring multiple images at substantially the same multiple time points. Alternatively, image data acquisition can be asynchronous such that different image sensors acquire multiple images at different time points. Additional examples of asynchronous image data collection are further described herein.

アルゴリズム800は、本明細書に記載されている単一チャネル処理の複数の技術(例えば、アルゴリズム700)を用いて各画像センサからの各一連の画像からの時間的にマッチングが行われた複数の特徴点を取得し得る。例えば、複数の並列処理804a...804nが、対応する数の画像センサの複数の画像からの時間的にマッチングが行われた複数の特徴点を取得するのに用いられ得る。本明細書に記載されているアルゴリズム700の複数のステップと同様に、単一チャネル処理は、単一の画像センサにより生成された画像シーケンスから現在の画像を受信すること(ステップ806)と、現在の画像における複数の特徴点をトラッキングし、1または複数の前の画像における複数の特徴点とのマッチングを行うオプティカルフローアルゴリズムを用いること(ステップ808)と、トラッキングされ得なかった複数の特徴点を破棄することによりマッチングが行われた複数の特徴点からなるセットを取得すること(ステップ810)と、画像センサに関する複数の外部較正パラメータを用いて複数の特徴点を修正すること(ステップ812)とを伴い得る。結果として得られる複数の特徴点からなるセットはトラッキングされ、本明細書に記載されているように、続く複数の画像における複数の特徴点とマッチングが行われ得る。単一チャネルマッチング手順は、画像シーケンスにおける複数の画像のうち全てが処理されるまで繰り返され得る。 Algorithm 800 is a plurality of temporally matched images from each series of images from each image sensor using a plurality of techniques of single channel processing described herein (eg, Algorithm 700). You can get feature points. For example, a plurality of parallel processes 804a ... 804n can be used to acquire a plurality of temporally matched feature points from a plurality of images of a corresponding number of image sensors. Similar to the multiple steps of Algorithm 700 described herein, single channel processing involves receiving the current image from an image sequence generated by a single image sensor (step 806) and now. Using an optical flow algorithm that tracks multiple feature points in one or more previous images and matches them with multiple feature points in one or more previous images (step 808), and multiple feature points that could not be tracked. Obtaining a set of multiple feature points matched by discarding (step 810) and modifying multiple feature points using multiple external calibration parameters for the image sensor (step 812). Can be accompanied by. The resulting set of feature points can be tracked and matched with multiple feature points in subsequent images, as described herein. The single channel matching procedure can be repeated until all of the multiple images in the image sequence have been processed.

ステップ814において、一旦、時間的にマッチングが行われた複数の特徴点からなるセットが、各画像センサからの各画像シーケンスに関して取得されると、異なる複数の画像シーケンスからの複数の特徴点は、空間マッチングアルゴリズムを用いて互いに空間的にマッチングが行われ得る。異なる複数の画像センサは、異なる複数の視野で複数の画像を撮像するよう構成され得るので、シーンにおける同じ特徴点は、異なる複数のセンサからの複数の画像において異なる複数の空間的なロケーションに現われ得る。複数の画像センサのうち少なくともいくつかは、複数の特徴点のうち少なくともいくつかが1より多くの画像センサからの複数の画像シーケンスに存在することを確実にするために、重複する複数の視野を有し得る。いくつかの実施形態において、空間マッチングアルゴリズムは、異なる複数の画像シーケンスに亘る複数の特徴点を識別しマッチングするために、(例えば、同じ時点または異なる複数の時点において)異なる複数の画像センサにより取得された複数の画像を分析する。アルゴリズム800の最終的な出力816は、各画像センサにより生成された複数のそれぞれの画像シーケンス内の時間的にマッチングが行われた特徴点および異なる複数の画像シーケンスに亘る空間的にマッチングが行われた複数の特徴点を含む複数の特徴点からなるセットであり得る。 In step 814, once a set of temporally matched feature points is acquired for each image sequence from each image sensor, the feature points from different image sequences are Spatial matching can be done with each other using a spatial matching algorithm. Since different image sensors can be configured to capture multiple images in different fields of view, the same feature points in the scene will appear in different spatial locations in multiple images from different sensors. obtain. At least some of the image sensors have overlapping fields of view to ensure that at least some of the feature points are present in multiple image sequences from more than one image sensor. Can have. In some embodiments, the spatial matching algorithm is acquired by different image sensors (eg, at the same or different time points) in order to identify and match multiple feature points across different image sequences. Analyze multiple images that have been created. The final output 816 of Algorithm 800 is spatially matched over temporally matched feature points and different image sequences within each of the plurality of image sequences generated by each image sensor. It can be a set consisting of a plurality of feature points including a plurality of feature points.

複数の画像センサが用いられる複数の実施形態において、複数の画像センサのうちそれぞれからの画像データの収集および/または処理は、同期的または非同期的に起こり得る。例えば、同期的画像データ収集スキームは、実質的に同じ時点において各画像センサが画像データを取得することを伴い得、画像データは、同時にプロセッサへ送信され得る。対照的に、非同期的画像データ収集スキームは、異なる複数の時点において異なる複数の画像センサが画像データを取得することを伴い得、画像データは、異なる複数の時間において(例えば、シーケンシャルに)プロセッサへ送信され得る。非同期的スキームにおいて、複数の画像センサのうちいくつかは、同じ複数の時点において複数の画像を取得し得、他の複数の画像センサは、異なる複数の時点において複数の画像を取得し得る。 In a plurality of embodiments in which a plurality of image sensors are used, the collection and / or processing of image data from each of the plurality of image sensors can occur synchronously or asynchronously. For example, a synchronous image data acquisition scheme may involve each image sensor acquiring image data at substantially the same time point, and the image data may be transmitted to the processor at the same time. In contrast, asynchronous image data acquisition schemes can involve different image sensors acquiring image data at different time points, and the image data is delivered to the processor at different times (eg, sequentially). Can be sent. In an asynchronous scheme, some of the plurality of image sensors may acquire a plurality of images at the same plurality of time points, and the other plurality of image sensors may acquire a plurality of images at a plurality of different time points.

図20は、複数の実施形態に係る同期的画像データ収集スキーム2000を示す。スキーム2000は、2、3、4、5、6、7、8、9、10、15、20、30、40、50、またはそれらより多くの画像センサなど任意の数の画像センサからのデータを取得し処理するのに用いられ得る。図20の描写において、画像データはn台の画像センサから同期的に受信される。例えば、第1時点kにおいて、複数の画像センサのうちそれぞれは、それぞれの画像データを生成する。複数のセンサのうちそれぞれからの画像データは、(例えば、画像処理モジュールの)1または複数のプロセッサへ同時に送信される。画像データは、データが生成された時点を示すタイムスタンプと共に送信され得る。同様に、第2時点k+1において、画像データが、各画像センサにより取得され、プロセッサへ同時に送信される。この処理は、UAVの動作の間、繰り返され得る。同期的画像データ収集は、異なる複数のセンサからの複数の画像に亘る特徴点マッチングの容易性と正確性を向上させるという点で有利である。例として、同じ時点において撮像された複数の画像は、露出時間、輝度、または特徴点マッチングの容易性に影響を与え得る他の複数の画像特性においてより少ないばらつきを呈し得る。 FIG. 20 shows a synchronous image data acquisition scheme 2000 according to a plurality of embodiments. Scheme 2000 captures data from any number of image sensors, such as 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 30, 40, 50, or more. Can be used to obtain and process. In the description of FIG. 20, the image data is synchronously received from n image sensors. For example, at the first time point k, each of the plurality of image sensors generates its own image data. Image data from each of the plurality of sensors is simultaneously transmitted to one or more processors (eg, in an image processing module). The image data may be transmitted with a time stamp indicating when the data was generated. Similarly, at the second time point k + 1, image data is acquired by each image sensor and simultaneously transmitted to the processor. This process can be repeated during the operation of the UAV. Synchronous image data acquisition is advantageous in that it improves the ease and accuracy of feature point matching across multiple images from different sensors. As an example, multiple images captured at the same time point may exhibit less variability in exposure time, brightness, or other image characteristics that can affect the ease of feature point matching.

図21は、複数の実施形態に係る非同期的画像データ収集スキーム2100を示す。スキーム2100は、2、3、4、5、6、7、8、9、10、15、20、30、40、50、またはそれらより多くの画像センサなど任意の数の画像センサからのデータを取得し処理するのに用いられ得る。図21の描写において、画像データはn台の画像センサから非同期的に受信される。例えば、第1時点kにおいて、第1画像センサは、画像データを取得し、(例えば、画像処理モジュールの)1または複数のプロセッサへ送信する。第2時点k+1において、第2画像センサは、画像データを取得し、1または複数のプロセッサへ送信する。第3時点k+2において、n番目の画像センサは画像データを取得し、1または複数のプロセッサへ送信する。各画像データは、例えば、下流の画像処理を容易にするために、画像データが取得された時点を示すタイムスタンプと共に送信され得る。異なる複数の時点間の時間間隔は、一定または可変であり得る。いくつかの実施形態において、異なる複数の時点間の時間間隔は、およそ0.02秒、またはおよそ0.05秒からおよそ0.2秒の範囲内である。この処理は、画像データのうちそれぞれが複数の画像センサのうちそれぞれから受信されるまで、UAVの動作の間、繰り返され得る。画像データが取得され受信される順番は、所望されるように変更され得る。追加的に、図21は画像データが各時点において単一の画像センサから取得されることを示しており、他方、画像データが複数の時点のうちいくつかまたは全てにおいて複数のセンサから受信され得ることを認識されよう。いくつかの実施形態において、非同期的画像データ収集は、本明細書にさらに記載されているように、切り替え機構を介して、複数の画像センサからなる異なるサブセットを1または複数のプロセッサへ選択的に結合することにより実現される。非同期的画像データ収集は、実装の相対的な容易性、より広い範囲の複数のハードウェアプラットフォームとの互換性、およびコンピューティングロードの低減など様々な利点を提供し得る。 FIG. 21 shows an asynchronous image data acquisition scheme 2100 for a plurality of embodiments. Scheme 2100 captures data from any number of image sensors, such as 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 30, 40, 50, or more. Can be used to obtain and process. In the description of FIG. 21, the image data is received asynchronously from n image sensors. For example, at the first time point k, the first image sensor acquires image data and transmits it to one or more processors (eg, of an image processing module). At the second time point k + 1, the second image sensor acquires the image data and transmits it to one or more processors. At the third time point k + 2, the nth image sensor acquires the image data and transmits it to one or more processors. Each image data may be transmitted, for example, with a time stamp indicating the time when the image data was acquired in order to facilitate downstream image processing. The time interval between different time points can be constant or variable. In some embodiments, the time interval between different time points is in the range of about 0.02 seconds, or about 0.05 seconds to about 0.2 seconds. This process can be repeated during the operation of the UAV until each of the image data is received from each of the plurality of image sensors. The order in which the image data is acquired and received can be changed as desired. Additionally, FIG. 21 shows that image data is obtained from a single image sensor at each time point, while image data can be received from multiple sensors at some or all of the time points. Let's be aware of that. In some embodiments, asynchronous image data collection selectively transfers different subsets of multiple image sensors to one or more processors via a switching mechanism, as further described herein. It is realized by combining. Asynchronous image data collection can offer various advantages such as relative ease of implementation, compatibility with a wider range of hardware platforms, and reduced computing load.

本明細書に記載されているように、本開示の複数のシステムおよび複数のデバイスは、状態情報、初期化情報、および/または複数の外部パラメータを取得するよう画像データおよび慣性データを処理するセンサ融合アルゴリズムを実装するよう構成されたセンサ融合モジュール(例えば、システム600のセンサ融合モジュール630)を含み得る。いくつかの実施形態において、センサ融合アルゴリズムは、リアルタイムの更新を提供するようUAVの動作全体で(例えば、継続的に、または予め定められた複数の時間間隔で)実行される。カルマンフィルタベースのアルゴリズムまたは最適化アルゴリズムなど様々なタイプセンサ融合アルゴリズムが、本明細書に提示される複数の実施形態での使用のために適切である。いくつかの実施形態において、本明細書に提示される複数の最適化方法が、あるタイプのバンドルベースのアルゴリズムと見なされ得る。カルマンフィルタベースのアルゴリズムも、特別な場合のバンドルベースのアルゴリズムと見なされ得る。いくつかの実施形態において、カルマンフィルタベースのアルゴリズムと本明細書に提示されているバンドルベースのアルゴリズムとの間の主な区別となる特徴は、最適化されることになる状態の数である。カルマンフィルタベースのアルゴリズムは、1または2つの状態を利用し得、他方、本明細書におけるバンドルベースのアルゴリズムは、3つより多くの状態(例えば、少なくとも5つの状態、少なくとも10の状態、少なくとも20の状態、少なくとも30の状態、少なくとも40の状態、または少なくとも50の状態)を利用し得る。いくつかの実施形態において、本明細書に提示されているバンドルベースのアルゴリズムは、最適化手順がより多くの情報を利用するので、より高い正確性を提供し得る。いくつかの実施形態において、カルマンフィルタベースのアルゴリズムは、より速いスピードおよびより高い安定性を提供し得る。 As described herein, multiple systems and devices of the present disclosure are sensors that process image and inertial data to obtain state information, initialization information, and / or multiple external parameters. It may include a sensor fusion module configured to implement the fusion algorithm (eg, sensor fusion module 630 of system 600). In some embodiments, the sensor fusion algorithm is performed throughout the operation of the UAV (eg, continuously or at a plurality of predetermined time intervals) to provide real-time updates. Various type sensor fusion algorithms, such as Kalman filter-based algorithms or optimization algorithms, are suitable for use in the plurality of embodiments presented herein. In some embodiments, the multiple optimization methods presented herein can be considered as a type of bundle-based algorithm. Kalman filter-based algorithms can also be considered bundle-based algorithms in special cases. In some embodiments, the main distinguishing feature between the Kalman filter-based algorithm and the bundle-based algorithm presented herein is the number of states that will be optimized. The Kalman filter-based algorithm may utilize one or two states, while the bundle-based algorithm herein has more than three states (eg, at least 5 states, at least 10 states, at least 20). States, at least 30 states, at least 40 states, or at least 50 states) may be utilized. In some embodiments, the bundle-based algorithms presented herein can provide higher accuracy as the optimization procedure utilizes more information. In some embodiments, Kalman filter-based algorithms may provide faster speed and higher stability.

いくつかの実施形態において、センサ融合アルゴリズムは最適化アルゴリズムを伴う。最適化アルゴリズムは、目的関数の値を最小化または最大化する複数の解決パラメータからなるセットを決定するのに用いられ得る。いくつかの実施形態において、最適化アルゴリズムは、アルゴリズムが解に収束するまで、またはアルゴリズムが停止する(例えば、時間閾値を超えて)まで反復して複数の推定値を生成する反復最適化アルゴリズムである。いくつかの実施形態において、最適化アルゴリズムは線形であり、他方、他の複数の実施形態において、最適化アルゴリズムは非線形である。いくつかの実施形態において、最適化アルゴリズムは、非線形関数を反復して線形化し解くことを伴う。本明細書における複数の実施形態は、異なる複数のタイプのUAV情報を推定するために、単一の最適化アルゴリズムまたは異なる複数のタイプの最適化アルゴリズムを利用し得る。例えば、本明細書に記載されている複数の方法は、特定の複数の値を推定するのに線形最適化アルゴリズムを、および他の複数の値を推定するのに非線形最適化アルゴリズムを用いることを伴い得る。 In some embodiments, the sensor fusion algorithm involves an optimization algorithm. Optimization algorithms can be used to determine a set of resolution parameters that minimizes or maximizes the value of the objective function. In some embodiments, the optimization algorithm is an iterative optimization algorithm that iterates until the algorithm converges to a solution or stops (eg, exceeds a time threshold) to generate multiple estimates. is there. In some embodiments, the optimization algorithm is linear, while in some other embodiments, the optimization algorithm is non-linear. In some embodiments, the optimization algorithm involves iteratively linearizing and solving a nonlinear function. A plurality of embodiments herein may utilize a single optimization algorithm or different types of optimization algorithms to estimate different types of UAV information. For example, the methods described herein use a linear optimization algorithm to estimate a particular value, and a non-linear optimization algorithm to estimate other values. Can accompany.

いくつかの実施形態において、本開示は、UAVの動作の間の1または複数の時点においてUAV状態情報(例えば、位置、向き、速度)および/または複数の外部パラメータ(例えば、慣性センサおよび/または複数の画像センサ間の複数の空間的関係)を推定するよう少なくとも1つの慣性センサからの慣性データと少なくとも2つの画像センサからの画像データとを用いるための反復最適化アルゴリズムを提供する。オプションで、反復最適化アルゴリズムは、状態情報および/または複数の外部パラメータに関する複数の初期値に基づいて状態情報および/または複数の外部パラメータに関する複数の推定値も決定し得る。反復最適化アルゴリズムは、例えば、慣性データ、画像データおよび/または複数の初期値に基づいて状態情報および/または複数の外部パラメータの最大事後確率(MAP)の推定値を算出することを伴い得る。いくつかの実施形態において、反復最適化アルゴリズムのための目的関数は、状態情報、初期化情報および/または複数の外部パラメータの複数の実際値を、慣性データ、画像データおよび/または複数の初期値に基づいて計算された状態情報、初期化情報および/または複数の外部パラメータの複数の推定値に関連付ける。目的関数は、線形関数または非線形関数であり得る。複数の反復的な解法技術が、状態情報、初期化情報および/または複数の外部パラメータの複数の実際値の解を取得するために目的関数を最小化または最大化するのに用いられ得る。例えば、本明細書にさらに説明されるように非線形目的関数は反復して線形化され、解かれ得る。 In some embodiments, the present disclosure discloses UAV state information (eg, position, orientation, velocity) and / or multiple external parameters (eg, inertial sensors and / or) at one or more time points during UAV operation. Provided is an iterative optimization algorithm for using inertial data from at least one inertial sensor and image data from at least two image sensors to estimate a plurality of spatial relationships between multiple image sensors). Optionally, the iterative optimization algorithm may also determine multiple estimates for state information and / or multiple external parameters based on multiple initial values for state information and / or multiple external parameters. The iterative optimization algorithm may involve calculating, for example, an estimate of the maximum posteriori probability (MAP) of state information and / or multiple external parameters based on inertial data, image data and / or multiple initial values. In some embodiments, the objective function for the iterative optimization algorithm contains state information, initialization information and / or multiple actual values of multiple external parameters, inertial data, image data and / or multiple initial values. Associates with state information, initialization information and / or multiple estimates of multiple external parameters calculated based on. The objective function can be a linear function or a non-linear function. Multiple iterative solution techniques can be used to minimize or maximize the objective function to obtain solutions for state information, initialization information and / or multiple actual values of multiple external parameters. For example, the nonlinear objective function can be iteratively linearized and solved as further described herein.

図9は、複数の実施形態に係る、複数のセンサを用いてUAV(または何らかの他の可動物体)に関する初期化情報を決定するための方法900を示す。方法900の複数のステップは、本明細書に記載されている複数のシステムおよび複数のデバイスのいずれかの実施形態を用いて実行され得る。例えば、方法900の複数のステップのうちいくつかまたは全ては、UAVにより搭載される1または複数のプロセッサを用いて実行され得る。方法900は、本明細書に記載されている様々な方法のいずれかの実施形態と組み合わせて実行され得る。 FIG. 9 shows a method 900 for determining initialization information about a UAV (or some other moving object) using a plurality of sensors, according to a plurality of embodiments. The plurality of steps of Method 900 can be performed using any embodiment of the plurality of systems and devices described herein. For example, some or all of the plurality of steps of Method 900 may be performed using one or more processors mounted by the UAV. Method 900 can be performed in combination with any embodiment of the various methods described herein.

本明細書に説明されているように、方法900を用いて決定されることになる初期化情報は、UAVの(例えば、重力方向に対する)向き、UAVの位置、またはUAVの速度のうち1または複数を含み得る。例えば、初期化情報は、UAVの(例えば、重力方向に対する)向き、UAVの位置、UAVの速度を含み得る。いくつかの実施形態において、初期化情報は、UAVが動作を開始するおよその時点に関して決定される。例えば、時点は、UAVが動作を開始してからおよそ50ミリ秒、100ミリ秒、200ミリ秒、300ミリ秒、400ミリ秒、500ミリ秒、600ミリ秒、700ミリ秒、800ミリ秒、900ミリ秒、1秒、2秒、3秒、4秒、5秒、6秒、7秒、8秒、9秒、10秒、30秒、60秒以下の時間だけ後でもよい。他の例として、時点は、UAVが動作を開始するおよそ50ミリ秒、100ミリ秒、200ミリ秒、300ミリ秒、400ミリ秒、500ミリ秒、600ミリ秒、700ミリ秒、800ミリ秒、900ミリ秒、1秒、2秒、3秒、4秒、5秒、6秒、7秒、8秒、9秒、10秒、30秒、60秒以下の時間だけ前でもよい。 As described herein, the initialization information that will be determined using method 900 is one of the UAV's (eg, gravity direction) orientation, the UAV's position, or the UAV's velocity. Can include more than one. For example, the initialization information may include the orientation of the UAV (eg, relative to the direction of gravity), the position of the UAV, and the velocity of the UAV. In some embodiments, the initialization information is determined with respect to the approximate time point at which the UAV begins operation. For example, the time point is approximately 50 ms, 100 ms, 200 ms, 300 ms, 400 ms, 500 ms, 600 ms, 700 ms, 800 ms, etc. after the UAV started operation. It may be after 900 milliseconds, 1 second, 2 seconds, 3 seconds, 4 seconds, 5 seconds, 6 seconds, 7 seconds, 8 seconds, 9 seconds, 10 seconds, 30 seconds, 60 seconds or less. As another example, the time point is approximately 50ms, 100ms, 200ms, 300ms, 400ms, 500ms, 600ms, 700ms, 800ms when the UAV begins to operate. , 900 milliseconds, 1 second, 2 seconds, 3 seconds, 4 seconds, 5 seconds, 6 seconds, 7 seconds, 8 seconds, 9 seconds, 10 seconds, 30 seconds, 60 seconds or less.

ステップ910において、UAVが動作を開始したことが検出される。ステップ910は、UAVが電力供給されたこと、UAVが面から離陸したこと、またはUAVが飛行を開始したことのうち1または複数を検出することを伴い得る。UAVは、傾斜面または傾斜していない(非傾斜)面から離陸し得る。UAVは、面(例えば、地上)から、自由落下状態(例えば、空中)から、発射装置から発射された状態から、またはユーザにより空中へ投げられた状態から飛行を開始し得る。オプションで、ステップ910は、UAVの複数の推進ユニットが作動させられたこと、複数の推進ユニットの出力が閾値よりも大きい、またはそれと等しいこと、UAVの高度が閾値よりも高い、またはそれと等しいこと、UAVの速度が閾値よりも速い、またはそれと等しいこと、若しくはUAVの加速度が閾値よりも速い、またはそれと等しいことのうち1または複数を検出することを伴い得る。 In step 910, it is detected that the UAV has started operating. Step 910 may involve detecting one or more of the UAV being powered, the UAV taking off from the surface, or the UAV starting flight. The UAV can take off from an inclined or non-inclined (non-inclined) surface. The UAV may start flying from a surface (eg, on the ground), from a free fall state (eg, in the air), from a state launched by a launcher, or from a state thrown into the air by a user. Optionally, in step 910, multiple propulsion units of the UAV have been activated, the output of the multiple propulsion units is greater than or equal to the threshold, and the altitude of the UAV is greater than or equal to the threshold. , The speed of the UAV may be faster than or equal to the threshold, or may involve detecting one or more of the acceleration of the UAV being faster than or equal to the threshold.

ステップ920において、慣性データが、UAVにより搭載される少なくとも1つの慣性センサから受信される。慣性データは、UAVの3次元加速度および3次元角速度を示す1または複数の測定値を含み得る。いくつかの実施形態において、慣性データは、UAVが動作を開始したときから、および/またはUAVが飛行しているときから開始する時間間隔に亘って少なくとも1つの慣性センサにより取得される1または複数の測定値を含む。 In step 920, inertial data is received from at least one inertial sensor mounted by the UAV. Inertia data may include one or more measurements that indicate the 3D acceleration and 3D angular velocity of the UAV. In some embodiments, the inertial data is acquired by at least one inertial sensor over a time interval starting from the time the UAV starts operating and / or from the time the UAV is in flight. Includes measurements of.

ステップ930において、画像データが、UAVにより搭載される少なくとも2つの画像センサから受信される。画像データは、UAVの周囲の環境の1または複数の画像を含み得る。いくつかの実施形態において、画像データは、UAVが動作を開始したときから、および/またはUAVが飛行しているときから開始する時間間隔に亘って少なくとも2つの画像センサのうちそれぞれから取得される1または複数の画像を含み得る。 In step 930, image data is received from at least two image sensors mounted by the UAV. The image data may include one or more images of the environment surrounding the UAV. In some embodiments, image data is obtained from each of at least two image sensors over a time interval starting from the time the UAV starts operating and / or from the time the UAV is in flight. It may include one or more images.

ステップ940において、UAVに関する初期化情報が慣性データおよび画像データに基づいて決定される。初期化情報は、UAVが動作を開始したときの、UAVの位置、速度および/または重力方向に対する向きを含み得る。いくつかの実施形態において、ステップ940は、本明細書に記載されている複数の画像処理アルゴリズムに従って画像データを処理することを含む。例えば、画像データは、可動物体が動作を開始したときから開始する時間間隔に亘って少なくとも2つの画像センサのうちそれぞれにより取得された1または複数の画像を含み得、1または複数の画像は、特徴点検出アルゴリズム、オプティカルフローアルゴリズム、および/または記述子アルゴリズムに基づく特徴マッチングを用いて処理され得る。本明細書に説明されているように、異なる複数の画像センサから取得される複数の画像は、例えば、特徴点マッチングを実行するために、互いに比較され得る。例えば、第1画像センサにより取得される1または複数の画像は、第2画像センサにより取得される1または複数の画像と比較され得る。オプションで、初期化情報は、他の複数のタイプのセンサからのセンサデータなど何らかの他のデータを要することなく、慣性データおよび画像データのみを用いて決定され得る。いくつかの実施形態において、初期化情報は、初期化情報に関する何らかの複数の初期推定値または初期値を要することなく慣性データおよび画像データから直接的に決定される。初期化情報は、UAVの動作の前(例えば、UAVが電力供給される、および/または飛行する前)に取得された何らかのデータに頼ることなく、UAVが動作中である間(例えば、UAVが電力供給された後、UAVの飛行中)に取得されたデータのみを用いて決定され得る。例として、初期化情報は、UAVが動作を開始する前に実行された事前の初期化を要することなくUAVの動作の間に決定され得る。 In step 940, initialization information about the UAV is determined based on inertial data and image data. The initialization information may include the orientation of the UAV with respect to its position, velocity and / or direction of gravity when the UAV begins operation. In some embodiments, step 940 comprises processing the image data according to a plurality of image processing algorithms described herein. For example, the image data may include one or more images acquired by each of at least two image sensors over a time interval starting from the time the movable object starts moving. It can be processed using feature matching based on feature point detection algorithms, optical flow algorithms, and / or descriptor algorithms. As described herein, multiple images obtained from different image sensors can be compared to each other, for example, to perform feature point matching. For example, one or more images acquired by the first image sensor can be compared with one or more images acquired by the second image sensor. Optionally, the initialization information can be determined using only inertial data and image data without requiring any other data such as sensor data from multiple other types of sensors. In some embodiments, the initialization information is determined directly from the inertial data and the image data without requiring any plurality of initial estimates or initial values for the initialization information. Initialization information does not rely on any data acquired prior to the operation of the UAV (eg, before the UAV is powered and / or flies), while the UAV is in operation (eg, the UAV). It can be determined using only the data acquired during the flight of the UAV after being powered. As an example, initialization information can be determined during the operation of the UAV without the need for prior initialization performed before the UAV begins operation.

いくつかの実施形態において、ステップ940は、慣性データおよび画像データを用いて初期化情報の複数の推定値を生成することを伴う。例えば、ステップ940は、慣性データを用いて初期化情報の第1推定値を生成し、画像データを用いて初期化情報の第2推定値を生成することにより実行され得る。第1推定値および第2推定値は、UAVに関する初期化情報を取得するよう組み合わせられ得る。 In some embodiments, step 940 involves generating multiple estimates of initialization information using inertial data and image data. For example, step 940 can be performed by using inertial data to generate a first estimate of initialization information and image data to generate a second estimate of initialization information. The first and second estimates can be combined to obtain initialization information about the UAV.

いくつかの実施形態において、初期化情報は、線形最適化アルゴリズム、非線形最適化アルゴリズム、または反復非線形最適化アルゴリズムなど最適化アルゴリズムを用いて決定される。本明細書における複数の実施形態での使用のために適切な例示的なアルゴリズムは、以下に提示される。 In some embodiments, the initialization information is determined using an optimization algorithm such as a linear optimization algorithm, a non-linear optimization algorithm, or an iterative non-linear optimization algorithm. Exemplary algorithms suitable for use in multiple embodiments herein are presented below.

UAVは、m台のカメラ(または他の画像センサタイプ)、および1台のIMU(または他の慣性センサタイプ)を含む感知システムを有し得る。IMUは、3つの軸周りの角速度および3つの軸に沿った直線加速度値を出力するよう構成され得る。IMUの出力頻度は、複数のカメラの出力頻度より高くてもよい。例えば、複数のカメラに関するサンプルレートは、fcamHzおよびN=fcam×Tであると仮定され得る。システムは、動作を開始した後(例えば、電力供給された後)時間間隔Tをおいて(N+1)×mの画像を受信し得る。時間間隔Tは、複数の時点t、t、t、t、t、t、...tおよび複数のUAV状態
に対応し得る。
は、UAVの(動作が開始された時点であるtにおける位置と相対的な)現在位置を表し、
は、UAVの(UAVの本体座標系と相対的な)現在の速度を表し、gは、(UAVの本体座標系と相対的な)重力に起因する加速度を表す。初期状況は
であり得る。
The UAV may have a sensing system that includes m cameras (or other image sensor types) and one IMU (or other inertial sensor type). The IMU may be configured to output angular velocities around the three axes and linear acceleration values along the three axes. The output frequency of the IMU may be higher than the output frequency of a plurality of cameras. For example, sample rates for multiple cameras can be assumed to be f cam Hz and N = f cam × T. The system may receive images of (N + 1) × m at time intervals T after it has started operation (eg, after being powered). The time interval T is at multiple time points t 0 , t 1 , t 2 , t 3 , t 4 , t 5 , ... t N and multiple UAV states.
Can correspond to.
Represents the current position of the UAV (relative to its position at t 0 , when the operation started).
Represents the current velocity of the UAV (relative to the UAV's body coordinate system), and g k represents the acceleration due to gravity (relative to the UAV's body coordinate system). The initial situation is
Can be.

受信した(N+1)×mの画像において観察される特徴点の数はM+1であり得る。i番目の特徴点が時間t(0≦k≦N)においてj番目のカメラにより最初に観察され、λは、時間tにおけるj番目のカメラの平面と垂直な方向への特徴点の深さであると仮定され得る。全てのUAV状態
および特徴深さλ、λ、λ、λ、...λは、全体的な状態Xを形成し得る。
The number of feature points observed in the received (N + 1) × m image can be M + 1. i-th characteristic point is first observed by the j th camera at time t k (0 ≦ k ≦ N ), λ i is the j-th feature point in the plane perpendicular direction of the camera at time t k It can be assumed to be depth. All UAV states
And feature depths λ 0 , λ 1 , λ 2 , λ 3 , ... λ M can form the overall state X.

複数のIMUデータが、時間間隔tにそれぞえが対応する時間(t,tk+1)において受信され得る。以下の複数の数式が定義され得る。
ここで、
は、時間tから時間kへの回転を表し、IMUからの角速度を積分することにより取得され、
は、時間tにおけるUAV本体座標系と相対的な加速度を表し、αおよびβは、生IMUデータの積分を表す。IMUデータからの推定値
は、以下のように決定され得、ここで、共分散行列
は、生IMUデータのノイズにより引き起こされるエラーを表している。
ここで、
は上記の数式の左側の行列であり、Xは、全体的な状態であり、
は相加性雑音である。
および
は、当業者に公知である複数の積分前の技術を用いて算出され得る。
A plurality of IMU data, the respectively example the time interval t may be received in the corresponding time (t k, t k + 1 ). The following formulas can be defined.
here,
Represents the rotation from time t to time k and is obtained by integrating the angular velocity from the IMU.
Represents the acceleration relative to the UAV body coordinate system at time t, and α and β represent the integral of the raw IMU data. Estimated value from IMU data
Can be determined as follows, where the covariance matrix
Represents an error caused by noise in the raw IMU data.
here,
Is the matrix on the left side of the above formula, X is the overall state,
Is additive noise.
and
Can be calculated using a plurality of pre-integral techniques known to those of skill in the art.

複数のカメラに関して、特徴点lが時間tにおいてカメラcにより最初に観察され、時間tにおいてカメラcにより観察されると仮定した場合、以下の推定値
が取得され得る。
Xは全体的な状態であり、
および
は時間tにおいてi番目のカメラにより取得される画像における特徴点lに関する複数の画像座標であり、
は、IMUに関連するi番目のカメラの回転を表し、
は、IMUに関連するi番目のカメラの並進を表す。
は、IMUデータに関する
と同様に上記の数式から導き出され得る。
For a plurality of cameras, initially observed by the camera c n feature points l is at time t i, assuming that observed by the camera c m at time t j, the following estimates
Can be obtained.
X is the overall state,
and
Is a plurality of image coordinates for the feature points l in an image acquired by the i-th camera at time t j,
Represents the i-th camera rotation associated with the IMU,
Represents the translation of the i-th camera associated with the IMU.
Is about IMU data
Can be derived from the above formula as well.

目的は、(1)IMUからの推定値および(2)複数の画像シーケンス間の幾何学的制約を用いてUAV状態の推定値を最適化することであり得る。目的方程式は、IMUからのエラーおよび複数の画像シーケンス間の幾何学的制約を最小化するものである。
The objectives may be to optimize UAV state estimates using (1) estimates from the IMU and (2) geometric constraints between multiple image sequences. The objective equation minimizes errors from the IMU and geometric constraints between multiple image sequences.

さらに以下のことが定義され得る。
ここで、
はカメラ観察データの不確実性を測定する対角線行列である。
In addition, the following can be defined.
here,
Is a diagonal matrix that measures the uncertainty of camera observation data.

いくつかの実施形態において、解法手順は、ΛにIMUからの推定値を格納すること、Λに複数の画像シーケンス間の幾何学的制約を格納すること、および以下の線形数式を解くことを含む。(Λ+Λ)X=(b+bIn some embodiments, the solution procedure is to store an estimate from the IMU in Λ D , store a geometric constraint between multiple image sequences in Λ C , and solve the following linear equations: including. (Λ D + Λ C ) X = (b D + b C )

方法900は、UAVの動作に関して様々な利点を提供し得る。例えば、方法900は、傾斜面からの離陸、空中からまたは自由落下状態からの離陸、手動で発射されることによる、またはユーザにより投げられることによる離陸など様々な離陸タイプに関する重力方向に対するUAVの向きを決定するのに用いられ得る。したがって、方法900はさらに、この向き情報を用いて慣性センサから取得される続く慣性データを補正するステップを備え得る。さらに、方法900は、初期UAV状態(例えば、位置、向き、速度等)が完全に未知である複数の状況においてさえ、UAVが動作を開始した後に自動的な初期化を提供するのに用いられ得る。 Method 900 may offer various advantages with respect to the operation of the UAV. For example, Method 900 directs the UAV to gravity directions for various takeoff types, such as takeoff from an inclined surface, takeoff from the air or from free fall, takeoff by manual launch or by being thrown by a user. Can be used to determine. Therefore, the method 900 may further include a step of correcting subsequent inertial data acquired from the inertial sensor using this orientation information. In addition, Method 900 has been used to provide automatic initialization after the UAV has begun operation, even in multiple situations where the initial UAV state (eg, position, orientation, velocity, etc.) is completely unknown. obtain.

UAVの自動的な初期化を可能とすることに加えて、本開示の複数の方法は、エラーがUAVシステムに生じた後に再初期化またはエラー回復を実行するのにも用いられ得る。再初期化が、UAVが動作を開始した後ではなくむしろエラーが検出された後に実行されることを除いて、再初期化のための複数の方法は、本明細書に記載されている初期化のための複数の方法と実質的に同様である。 In addition to allowing automatic initialization of the UAV, the methods of the present disclosure can also be used to perform reinitialization or error recovery after an error has occurred in the UAV system. Multiple methods for reinitialization are described herein, except that the reinitialization is performed after the UAV has started operating, rather than after an error has been detected. Substantially similar to multiple methods for.

図10は、複数の実施形態に係る、複数のセンサを用いたUAV(または何らかの他の可動物体)に関するエラー回復のための方法1000を示す。方法1000の複数のステップは、本明細書に記載されている複数のシステムおよび複数のデバイスのいずれかの実施形態を用いて実行され得る。例えば、方法1000の複数のステップのうちいくつかまたは全ては、UAVにより搭載される1または複数のプロセッサを用いて実行され得る。方法1000は、本明細書に記載されている様々な方法のいずれかの実施形態と組み合わせて実行され得る。 FIG. 10 shows a method 1000 for error recovery on a UAV (or some other moving object) using a plurality of sensors, according to a plurality of embodiments. The plurality of steps of Method 1000 can be performed using any embodiment of the plurality of systems and devices described herein. For example, some or all of the plurality of steps of Method 1000 may be performed using one or more processors mounted by the UAV. Method 1000 can be performed in combination with any embodiment of the various methods described herein.

方法1000は、エラーが生じた後に通常の動作が再開されるようUAVを再初期化するのに用いられる再初期化情報を決定するために用いられ得る。本明細書に記載されている初期化情報と同様に、再初期化情報は、UAVの(例えば、重力方向に対する)向き、UAVの位置、またはUAVの速度のうち1または複数を含み得る。例えば、再初期化情報は、UAVの(例えば、重力方向に対する)向き、UAVの位置、UAVの速度を含み得る。いくつかの実施形態において、再初期化情報は、エラーが生じたおよその時点に関して決定される。例えば、時点は、エラーが生じたおよそ50ミリ秒、100ミリ秒、200ミリ秒、300ミリ秒、400ミリ秒、500ミリ秒、600ミリ秒、700ミリ秒、800ミリ秒、900ミリ秒、1秒、2秒、3秒、4秒、5秒、6秒、7秒、8秒、9秒、10秒、30秒、60秒以下の時間だけ後でもよい。他の例として、時点は、エラーが生じるおよそ50ミリ秒、100ミリ秒、200ミリ秒、300ミリ秒、400ミリ秒、500ミリ秒、600ミリ秒、700ミリ秒、800ミリ秒、900ミリ秒、1秒、2秒、3秒、4秒、5秒、6秒、7秒、8秒、9秒、10秒、30秒、60秒以下の時間だけ前でもよい。 Method 1000 can be used to determine the reinitialization information used to reinitialize the UAV so that normal operation resumes after an error has occurred. Similar to the initialization information described herein, the reinitialization information may include one or more of the UAV's orientation (eg, in the direction of gravity), the position of the UAV, or the velocity of the UAV. For example, the reinitialization information may include the orientation of the UAV (eg, relative to the direction of gravity), the position of the UAV, and the velocity of the UAV. In some embodiments, the reinitialization information is determined with respect to the approximate time point at which the error occurred. For example, the time point is approximately 50 ms, 100 ms, 200 ms, 300 ms, 400 ms, 500 ms, 600 ms, 700 ms, 800 ms, 900 ms, when the error occurred. It may be after 1 second, 2 seconds, 3 seconds, 4 seconds, 5 seconds, 6 seconds, 7 seconds, 8 seconds, 9 seconds, 10 seconds, 30 seconds, 60 seconds or less. As another example, the time point is approximately 50ms, 100ms, 200ms, 300ms, 400ms, 500ms, 600ms, 700ms, 800ms, 900ms where an error occurs. Seconds, 1 second, 2 seconds, 3 seconds, 4 seconds, 5 seconds, 6 seconds, 7 seconds, 8 seconds, 9 seconds, 10 seconds, 30 seconds, 60 seconds or less may be before.

ステップ1010において、UAVの動作の間にエラーが生じたことが検出される。UAVの動作は、UAVが電力供給されたこと、UAVが面から離陸したこと、UAVが飛行を開始したことを伴い得る。エラーは、少なくとも1つの慣性センサまたは少なくとも2つの画像センサのうち1または複数における機能不良など1または複数のセンサにおける機能不良を伴い得る。エラーは、データ収集モジュール、画像処理モジュール、センサ融合モジュール、または飛行制御モジュールなどUAVコンポーネントにおける機能不良を伴い得る。例えば、UAVは、反復最適化アルゴリズムを用いるセンサ融合モジュールを含み得、機能不良は、反復最適化推定アルゴリズムが解へ収束し損ねることを伴い得る。オプションで、UAVは、本明細書にさらに記載されているように状態推定モジュールを含み得、状態推定モジュールは、反復状態推定アルゴリズムを用い得る。機能不良は、反復状態推定アルゴリズムが解へ収束し損ねることを伴い得る。 In step 1010, it is detected that an error has occurred during the operation of the UAV. The operation of the UAV may involve the UAV being powered, the UAV taking off from the surface, and the UAV starting flight. The error can be accompanied by a malfunction in one or more sensors, such as a malfunction in one or more of at least one inertial sensor or at least two image sensors. Errors can be associated with malfunctions in UAV components such as data acquisition modules, image processing modules, sensor fusion modules, or flight control modules. For example, a UAV may include a sensor fusion module that uses an iterative optimization algorithm, and malfunctions may involve the iterative optimization estimation algorithm failing to converge to a solution. Optionally, the UAV may include a state estimation module as further described herein, which may use an iterative state estimation algorithm. Malfunctions can involve the iterative state estimation algorithm failing to converge to a solution.

ステップ1020において、慣性データが、UAVにより搭載される少なくとも1つの慣性センサから受信される。慣性データは、UAVの3次元加速度および3次元角速度を示す1または複数の測定値を含み得る。いくつかの実施形態において、慣性データは、エラーが生じたときから開始する時間間隔に亘って少なくとも1つの慣性センサにより取得される1または複数の測定値を含む。 In step 1020, inertial data is received from at least one inertial sensor mounted by the UAV. Inertia data may include one or more measurements that indicate the 3D acceleration and 3D angular velocity of the UAV. In some embodiments, the inertial data comprises one or more measurements taken by at least one inertial sensor over a time interval starting from the time the error occurs.

ステップ1030において、画像データが、UAVにより搭載される少なくとも2つの画像センサから受信される。画像データは、UAVの周囲の環境の1または複数の画像を含み得る。いくつかの実施形態において、画像データは、エラーが生じたときから開始する時間間隔に亘って少なくとも2つの画像センサのうちそれぞれにより取得される1または複数の画像を含み得る。 In step 1030, image data is received from at least two image sensors mounted by the UAV. The image data may include one or more images of the environment surrounding the UAV. In some embodiments, the image data may include one or more images acquired by each of at least two image sensors over a time interval starting from the time the error occurs.

ステップ1040において、UAVに関する再初期化情報が慣性データおよび画像データに基づいて決定される。再初期化情報は、エラーが生じたときのUAVの位置、速度、および/または重力方向に対する向きを含み得る。いくつかの実施形態において、ステップ1040は、本明細書に記載されている複数の画像処理アルゴリズムに従って画像データを処理することを含む。例えば、画像データは、エラーが生じたときから開始する時間間隔に亘って少なくとも2つの画像センサのうちそれぞれにより取得される1または複数の画像を含み得、1または複数の画像は、特徴点検出アルゴリズム、オプティカルフローアルゴリズム、および/または特徴マッチングアルゴリズムを用いて処理され得る。本明細書に説明されているように、異なる複数の画像センサから取得される複数の画像は、例えば、特徴点マッチングを実行するために、互いに比較され得る。例えば、第1画像センサにより取得される1または複数の画像は、第2画像センサにより取得される1または複数の画像と比較され得る。オプションで、再初期化情報は、他の複数のタイプのセンサからのセンサデータなど何らかの他のデータを要することなく、慣性データおよび画像データのみを用いて決定され得る。いくつかの実施形態において、再初期化情報は、再初期化情報に関する何らかの複数の初期推定値または初期値を要することなく慣性データおよび画像データから直接的に決定される。 In step 1040, reinitialization information about the UAV is determined based on inertial data and image data. The reinitialization information may include the position, velocity, and / or orientation of the UAV with respect to the direction of gravity when the error occurred. In some embodiments, step 1040 comprises processing image data according to a plurality of image processing algorithms described herein. For example, the image data may include one or more images acquired by each of at least two image sensors over a time interval starting from the time of the error, where the one or more images are feature point detection. It can be processed using algorithms, optical flow algorithms, and / or feature matching algorithms. As described herein, multiple images obtained from different image sensors can be compared to each other, for example, to perform feature point matching. For example, one or more images acquired by the first image sensor can be compared with one or more images acquired by the second image sensor. Optionally, the reinitialization information can be determined using only inertial data and image data without requiring any other data such as sensor data from other types of sensors. In some embodiments, the reinitialization information is determined directly from the inertial data and the image data without requiring any plurality of initial estimates or initial values for the reinitialization information.

いくつかの実施形態において、ステップ1040は、慣性データおよび画像データを用いて再初期化情報の複数の推定値を生成することを伴う。例えば、ステップ1040は、慣性データを用いて再初期化情報の第1推定値を生成し、画像データを用いて再初期化情報の第2推定値を生成することにより実行され得る。第1推定値および第2推定値は、UAVに関する再初期化情報を取得するよう組み合わせられ得る。 In some embodiments, step 1040 involves generating multiple estimates of reinitialization information using inertial data and image data. For example, step 1040 can be performed by using inertial data to generate a first estimate of reinitialization information and image data to generate a second estimate of reinitialization information. The first and second estimates can be combined to obtain reinitialization information about the UAV.

いくつかの実施形態において、再初期化情報は、線形最適化アルゴリズム、非線形最適化アルゴリズム、反復最適化アルゴリズム、反復線形最適化アルゴリズム、または反復非線形最適化アルゴリズムなど最適化アルゴリズムを用いて決定される。再初期化情報を評価するために用いられる最適化アルゴリズムは、関連する複数の時点がUAVが動作を開始した後の時間間隔ではなくむしろ、エラーの発生に続く時間間隔に含まれることを除いて、初期化情報を評価するための本明細書に提示されているアルゴリズムと実質的に同様であり得る。 In some embodiments, the reinitialization information is determined using an optimization algorithm such as a linear optimization algorithm, a nonlinear optimization algorithm, an iterative optimization algorithm, an iterative linear optimization algorithm, or an iterative nonlinear optimization algorithm. .. The optimization algorithm used to evaluate the reinitialization information is, except that the relevant time points are included in the time interval following the occurrence of the error, rather than in the time interval after the UAV has started operating. , It can be substantially similar to the algorithm presented herein for evaluating initialization information.

方法1000は、UAVの動作に関して様々な利点を提供し得る。例えば、方法1000は、UAVが飛行中に空中にあるときなどエラーが生じ得る様々な状況において重力方向に対するUAVの向きを決定するのに用いられ得る。したがって、方法1000は、この向き情報を用いて慣性センサから取得される続く慣性データを補正することを伴い得る。さらに、方法1000は、エラーが生じた後に初期UAV状態(例えば、位置、向き、速度等)が完全に未知である複数の状況においてさえ、UAVが動作を開始した後に自動的な再初期化を提供するのに用いられ得る。例えば、方法1000は、状態推定モジュールにより実装される反復状態推定アルゴリズムを再初期化するのに、決定された再初期化情報を用いることを伴い得る。有利には、本明細書に記載されている複数の再初期化技術は、UAVの動作の間にリアルタイムで複数のエラーを検出し、それらに対応するのに用いられ得、したがって、UAVの動作の信頼性を向上させる。 Method 1000 may offer various advantages with respect to the operation of the UAV. For example, method 1000 can be used to determine the orientation of the UAV with respect to the direction of gravity in various situations where errors can occur, such as when the UAV is in the air during flight. Therefore, Method 1000 may involve correcting subsequent inertial data acquired from the inertial sensor using this orientation information. In addition, Method 1000 provides automatic reinitialization after the UAV has begun operation, even in multiple situations where the initial UAV state (eg, position, orientation, velocity, etc.) is completely unknown after the error has occurred. Can be used to provide. For example, method 1000 may involve using determined reinitialization information to reinitialize the iterative state estimation algorithm implemented by the state estimation module. Advantageously, the multiple reinitialization techniques described herein can be used to detect and address multiple errors in real time during the operation of the UAV, and thus the operation of the UAV. Improve the reliability of.

図11は、複数の実施形態に係る、UAV(または、何らかの他の可動物体)の動作の間に複数のセンサを用いてUAVの1または複数の外部パラメータを較正するための方法1100を示す。方法1100の複数のステップは、本明細書に記載されている複数のシステムおよび複数のデバイスのいずれかの実施形態を用いて実行され得る。例えば、方法1100の複数のステップのうちいくつかまたは全ては、UAVにより搭載される1または複数のプロセッサを用いて実行され得る。方法1100は、本明細書に記載されている様々な方法のいずれかの実施形態と組み合わせて実行され得る。 FIG. 11 shows a method 1100 for calibrating one or more external parameters of a UAV with a plurality of sensors during the operation of the UAV (or some other movable object) according to the plurality of embodiments. The plurality of steps of method 1100 can be performed using any embodiment of the plurality of systems and devices described herein. For example, some or all of the plurality of steps of method 1100 may be performed using one or more processors mounted by the UAV. Method 1100 can be performed in combination with any embodiment of the various methods described herein.

方法1100は、本明細書で「オンライン」較正と呼ばれ得る、動作の間(例えば、UAVが電力供給されたとき、飛行しているとき等)UAVに関する複数の外部パラメータを決定するのに用いられ得る。いくつかの実施形態において、オンライン較正は、複数の外部パラメータのリアルタイム更新を可能とするようUAVの動作の間、継続的に、または予め定められた複数の時間間隔をおいて実行される。例えば、方法1100は、UAVの動作の間、0.1秒毎に1度実行され得る。 Method 1100 is used to determine multiple external parameters for a UAV during operation (eg, when the UAV is powered, in flight, etc.), which may be referred to herein as "online" calibration. Can be. In some embodiments, online calibration is performed continuously or at a plurality of predetermined time intervals during the operation of the UAV to allow real-time updates of multiple external parameters. For example, method 1100 may be performed once every 0.1 seconds during the operation of the UAV.

ステップ1110において、1または複数の外部パラメータに関する複数の初期値が受信される。いくつかの実施形態において、複数の外部パラメータは、UAVにより搭載される少なくとも2つの画像センサ間の複数の空間的関係を含む。例えば、複数の空間的関係は、複数の画像センサの相対的な複数の位置および相対的な複数の向きを含み得る。少なくとも2つの画像センサの相対的な複数の位置および相対的な複数の向きは、互いに相対的に、および/または、UAVにより搭載される少なくとも1つの慣性センサの位置および向きに関連して決定され得る。 In step 1110, a plurality of initial values for one or more external parameters are received. In some embodiments, the plurality of external parameters include a plurality of spatial relationships between at least two image sensors mounted by the UAV. For example, a plurality of spatial relationships can include a plurality of relative positions and a plurality of relative orientations of a plurality of image sensors. The relative positions and orientations of at least two image sensors are determined relative to each other and / or in relation to the position and orientation of at least one inertial sensor mounted by the UAV. obtain.

複数の初期値を取得するのに様々な方法が用いられ得る。いくつかの実施形態において、複数の初期値は、UAVに関連付けられた(例えば、UAV上で搭載される)メモリデバイスから受信され得る。複数の初期値は、UAVの動作の前に決定され得る。例として、複数の初期値は、UAVの動作の前に、本明細書に記載されている複数の反復最適化アルゴリズムを用いて決定され得る。他の例として、複数の初期値は、動作の前にユーザにより測定され得る。オプションで、複数の初期値は、UAVが製造されるときに決定される複数の工場較正値であり得る。いくつかの実施形態において、複数の初期値は、UAVの構成についての知識に基づいて決定され得る。例えば、複数の画像センサおよび/または複数の慣性センサが、特定の固定された複数のロケーション(例えば、複数のセンサの搭載のために利用可能である選択されたロケーションセット)においてUAVに結合され得、複数の初期値は、複数の固定されたロケーションについての情報に基づいて決定され得る。 Various methods can be used to obtain multiple initial values. In some embodiments, the plurality of initial values may be received from a memory device associated with the UAV (eg, mounted on the UAV). Multiple initial values may be determined prior to the operation of the UAV. As an example, multiple initial values may be determined using multiple iterative optimization algorithms described herein prior to UAV operation. As another example, multiple initial values may be measured by the user prior to operation. Optionally, the plurality of initial values can be multiple factory calibration values determined when the UAV is manufactured. In some embodiments, multiple initial values may be determined based on knowledge of the configuration of the UAV. For example, multiple image sensors and / or multiple inertial sensors may be coupled to a UAV at a particular fixed location (eg, a selected location set available for mounting multiple sensors). , Multiple initial values can be determined based on information about multiple fixed locations.

いくつかの実施形態において、複数の初期値は、複数の外部パラメータの複数の実際値の大まかな近似値を提供するよう意図されており、それ程正確であることは意図されていない。他の複数の較正方法とは対照的に、本明細書に提供されている複数の方法は、オンライン較正を実行するために、複数の外部パラメータに関する正確な複数の初期値を要さない。例えば、複数の外部パラメータ(例えば、複数の相対的な位置)に関する複数の初期値は、およそ0.1cm、0.25cm、0.5cm、0.75cm、1cm、1.25cm、1.5cm、1.75cm、2cm、2.25cm、2.5cm、2.75cm、3cm、または5cm以下だけ複数の外部パラメータの複数の実際値と離れていてもよい。代替的に、複数の外部パラメータ(例えば、複数の相対的な位置)に関する複数の初期値は、少なくともおよそ0.1cm、0.25cm、0.5cm、0.75cm、1cm、1.25cm、1.5cm、1.75cm、2cm、2.25cm、2.5cm、2.75cm、3cm、または5cmだけ複数の外部パラメータの複数の実際値と離れていてもよい。他の例として、複数の外部パラメータ(例えば、複数の相対的な向き)に関する複数の初期値は、およそ0.1度、0.25度、0.5度、0.75度、1度、1.25度、1.5度、1.75度、2度、2.25度、2.5度、2.75度、3度、または5度以下だけ、複数の外部パラメータの複数の実際値と離れていてもよい。代替的に、複数の外部パラメータ(例えば、相対的な複数の位置)に関する複数の初期値は、少なくともおよそ0.1度、0.25度、0.5度、0.75度、1度、1.25度、1.5度、1.75度、2度、2.25度、2.5度、2.75度、3度、または5度だけ、複数の外部パラメータの複数の実際値と離れていてもよい。 In some embodiments, the plurality of initial values are intended to provide a rough approximation of the plurality of actual values of the plurality of external parameters and are not intended to be so accurate. In contrast to other calibration methods, the methods provided herein do not require accurate multiple initial values for multiple external parameters to perform online calibration. For example, multiple initial values for multiple external parameters (eg, multiple relative positions) are approximately 0.1 cm, 0.25 cm, 0.5 cm, 0.75 cm, 1 cm, 1.25 cm, 1.5 cm, It may be separated from a plurality of actual values of a plurality of external parameters by 1.75 cm, 2 cm, 2.25 cm, 2.5 cm, 2.75 cm, 3 cm, or 5 cm or less. Alternatively, multiple initial values for multiple external parameters (eg, multiple relative positions) are at least approximately 0.1 cm, 0.25 cm, 0.5 cm, 0.75 cm, 1 cm, 1.25 cm, 1 It may be separated from the actual values of the plurality of external parameters by .5 cm, 1.75 cm, 2 cm, 2.25 cm, 2.5 cm, 2.75 cm, 3 cm, or 5 cm. As another example, multiple initial values for multiple external parameters (eg, multiple relative orientations) are approximately 0.1 degrees, 0.25 degrees, 0.5 degrees, 0.75 degrees, 1 degree, and so on. Multiple actuals of multiple external parameters, only 1.25 degrees, 1.5 degrees, 1.75 degrees, 2 degrees, 2.25 degrees, 2.5 degrees, 2.75 degrees, 3 degrees, or 5 degrees or less. It may be far from the value. Alternatively, multiple initial values for multiple external parameters (eg, relative multiple positions) are at least approximately 0.1 degrees, 0.25 degrees, 0.5 degrees, 0.75 degrees, 1 degree, and so on. Multiple actual values of multiple external parameters, only 1.25 degrees, 1.5 degrees, 1.75 degrees, 2 degrees, 2.25 degrees, 2.5 degrees, 2.75 degrees, 3 degrees, or 5 degrees. It may be separated from.

ステップ1120において、慣性データが、UAVの動作の間、UAVにより搭載される少なくとも1つの慣性センサから受信される。慣性データは、UAVの3次元加速度および3次元角速度を示す1または複数の測定値を含み得る。いくつかの実施形態において、慣性データは、少なくとも2、3、4、5、6、7、8、9、10、20、30、40、または50の時点に亘って少なくとも1つの慣性センサにより取得された1または複数の測定値を含む。 In step 1120, inertial data is received from at least one inertial sensor mounted by the UAV during the operation of the UAV. Inertia data may include one or more measurements that indicate the 3D acceleration and 3D angular velocity of the UAV. In some embodiments, inertial data is acquired by at least one inertial sensor over at least 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, or 50 time points. Includes one or more measurements made.

ステップ1130において、画像データが、UAVの動作の間に、UAVにより搭載される少なくとも2つの画像センサから受信される。画像データは、可動物体の周囲の環境の1または複数の画像を含み得る。いくつかの実施形態において、画像データは、少なくとも2、3、4、5、6、7、8、9、10、20、30、40、または50の時点に亘って少なくとも2つの画像センサのうちそれぞれにより取得された1または複数の画像を含み得る。 In step 1130, image data is received from at least two image sensors mounted by the UAV during the operation of the UAV. The image data may include one or more images of the environment around the moving object. In some embodiments, the image data is of at least two image sensors over a time point of at least 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, or 50. It may include one or more images obtained by each.

ステップ1140において、1または複数の外部パラメータに関する複数の推定値が、複数の初期値、慣性データ、および画像データに基づいて決定される。複数の推定値は、UAVの動作の間に決定され得る。オプションで、慣性データおよび画像データは、複数の外部パラメータの複数の推定値を決定するのに用いられる唯一のセンサデータであり得る。ステップ1140は、特徴点検出アルゴリズム、オプティカルフローアルゴリズム、および/または特徴マッチングアルゴリズムを用いて、複数の画像センサにより取得された1または複数の画像を処理することを伴い得る。オプションで、ステップ1140は、第1センサにより取得された1または複数の画像を、第2センサにより取得された1または複数の画像と比較することを伴い得る。 In step 1140, a plurality of estimates for one or more external parameters are determined based on the plurality of initial values, inertial data, and image data. Multiple estimates can be determined during the operation of the UAV. Optionally, inertial data and image data can be the only sensor data used to determine multiple estimates of multiple external parameters. Step 1140 may involve processing one or more images acquired by multiple image sensors using a feature point detection algorithm, an optical flow algorithm, and / or a feature matching algorithm. Optionally, step 1140 may involve comparing one or more images acquired by the first sensor with one or more images acquired by the second sensor.

いくつかの実施形態において、複数の推定値は、非線形最適化アルゴリズム、線形最適化アルゴリズム、反復最適化アルゴリズム、または反復非線形最適化アルゴリズムなど最適化アルゴリズムを用いて決定される。反復最適化アルゴリズムは、複数の初期値、慣性データ、および画像データに基づいて1または複数の外部パラメータの最大事後確率(MAP)推定値を算出することを含み得る。本明細書における複数の実施形態での使用のために適切な例示的なアルゴリズムが以下に提示されている。 In some embodiments, the estimates are determined using an optimization algorithm, such as a nonlinear optimization algorithm, a linear optimization algorithm, an iterative optimization algorithm, or an iterative nonlinear optimization algorithm. Iterative optimization algorithms may include calculating maximum posteriori probability (MAP) estimates for one or more external parameters based on multiple initial values, inertial data, and image data. An exemplary algorithm suitable for use in multiple embodiments herein is presented below.

UAVは、m台のカメラ(または他の画像センサタイプ)、および1台のIMU(または他の慣性センサタイプ)を含む感知システムを有し得る。本明細書において前に記載されている表記と同様に、複数のカメラの複数の外部パラメータは
および
であり得、1≦i≦mであり得る。本明細書に提供されている他の複数の最適化アルゴリズムと同様に、IMUからの積分推定値および複数のカメラからの応答を含む最適化目的関数が成立し得る。
The UAV may have a sensing system that includes m cameras (or other image sensor types) and one IMU (or other inertial sensor type). Similar to the notation previously described herein, multiple external parameters of multiple cameras
and
It can be 1 ≦ i ≦ m. Similar to the other optimization algorithms provided herein, an optimization objective function may be established that includes integral estimates from the IMU and responses from multiple cameras.

からt([t,t,t,t,t,t,…t])までの期間に亘るUAV状態は、
であると仮定され得る。ここで、
は、(動作が開始した時点tにおける位置と相対的な)UAVの現在位置を表し、
は、時間kにおける(UAVの本体座標系と相対的な)UAVの現在の速度を表し、
は、時間kにおける(tにおける向きと相対的な)UAVの現在の向きを表す。初期状況は、
および
であり得る。時間t(0≦k≦N)においてi番目の特徴点がj番目のカメラにより最初に観察され、λは、時間tにおけるj番目のカメラの平面と垂直な方向への特徴点の深さであると仮定され得る。推定されることになるカメラの複数のパラメータは、
である。ここで、
は、IMUに関連するi番目のカメラの回転を表し、
は、IMUに関連するi番目のカメラの並進を表し、1≦i≦mである。推定されることになる未知のものは、複数のUAV状態
、複数の外部較正パラメータ
、および特徴深さλ、λ、λ、λ...λである。それら全ての未知のものが、本明細書において全体的な状態と呼ばれるベクトルXを形成する。
The UAV state over the period from t 0 to t N ([t 0 , t 1 , t 2 , t 3 , t 4 , t 5 , ... t N ]) is
Can be assumed to be. here,
Represents the current position of the UAV (relative to its position at t 0 when the operation starts).
Represents the current velocity of the UAV (relative to the UAV's body coordinate system) at time k.
Represents the current orientation of the UAV (relative to the orientation at t 0 ) at time k. The initial situation is
and
Can be. Time i-th feature point in t k (0 ≦ k ≦ N ) are first observed by the j th camera, lambda i is the j-th feature point in the plane perpendicular direction of the camera at time t k It can be assumed to be depth. The multiple parameters of the camera that will be estimated are:
Is. here,
Represents the i-th camera rotation associated with the IMU,
Represents the translation of the i-th camera associated with the IMU, and 1 ≦ i ≦ m. The unknown that will be presumed is multiple UAV states
, Multiple external calibration parameters
, And feature depths λ 0 , λ 1 , λ 2 , λ 3 ... λ M. All of them form a vector X, referred to herein as the overall state.

いくつかの実施形態において、目的方程式は、
と定義される。ここで、
は全体的な状態XをIMUからの積分推定値
に関連付け、
は、全体的な状態Xを画像センサからの推定値
に関連付ける。
は、Xに関する前の情報を符号化する。
および
は、Xに関して非線形であり、したがって、解くのが難しくなり得るので、アルゴリズムは、エラー状態表現δXに対して処理を行い得、複数の関数が、1次のテイラー展開を通じて線形化され得る。
はいくつかのエラー項δX内の全体的な状態Xの推定値である。エラー状態表現δXにおける
は、
ではなく、
(最小表現)であり得ることに気づかれたい。
In some embodiments, the objective equation is
Is defined as. here,
Is the integral estimate of the overall state X from the IMU
Associated with,
Is the overall state X estimated from the image sensor
Associate with.
Encodes the previous information about X.
and
Is non-linear with respect to X and can therefore be difficult to solve, so the algorithm can process the error state representation δX and multiple functions can be linearized through a first-order Taylor expansion.
Is an estimate of the overall state X within some error terms δX. Error state expression δX
Is
not,
Notice that it can be (minimum expression).

UAVの動力学の実際の物理的なモデルおよびカメラの幾何学の複数の原理を考慮すると、剰余
および
は、
と定義され得る。ここで、
は、姿勢情報を通じて推定されるフレームjにおける特徴lの座標である
の3つの要素である。複数の数式における他の複数の表記は上記で定義されている。
Considering the actual physical model of UAV dynamics and multiple principles of camera geometry, the remainder
and
Is
Can be defined as. here,
Is the coordinates of the feature l in the frame j estimated through the attitude information.
There are three elements. Other notations in multiple formulas are defined above.

および
は、δXに関する
および
の導関数であり、以下に説明されるように2つの場合がある。
and
Is about δX
and
It is a derivative of, and there are two cases as explained below.

1つの場合において、特徴lが最初にカメラciにより時間iにおいて観察され、同じ時間においてカメラcjにより観察されたものと仮定する。
ここで、
は正規化された座標である。以下の複数の数式が得られ得る。
In one case, it is assumed that feature l was first observed by camera ci at time i and then by camera cj at the same time.
here,
Is the normalized coordinates. The following formulas can be obtained.

他の場合において、特徴lが最初にカメラciにより時間iにおいて観察され、続く時間jにおいてカメラcjにより観察されたものと仮定する。
In other cases, it is assumed that feature l was first observed by camera ci at time i and then by camera cj at time j.

ci=cjの場合、以下の複数の数式が得られ得る。
When ci = cj, the following multiple mathematical formulas can be obtained.

ci≠cjの場合、以下の複数の数式が得られ得る。
When ci ≠ cj, the following multiple mathematical formulas can be obtained.

上記の複数の数式を目的方程式へ代入することにより、以下の数式が得られ得る。
By substituting the above plurality of equations into the objective equation, the following equations can be obtained.

いくつかの実施形態において、初期値が提供され得、目的方程式が反復して解かれ得る。初期値は、本明細書に記載されているように初期化または再初期化アルゴリズムを用いて、IMUからの積分推定値を最後の時点からの最適化された推定値に加算することにより、または
として初期化することにより得られ得る。目的方程式は、δXを取得し、
まで
に従って
を更新するよう反復して解かれ得る。最後に、収束の後、
がシステムにより出力されるUAV状態である。
In some embodiments, initial values may be provided and the equation of interest may be iteratively solved. Initial values can be obtained by adding an integral estimate from the IMU to the optimized estimate from the last point in time, using an initialization or reinitialization algorithm as described herein, or.
It can be obtained by initializing as. The objective equation gets δX and
Until
According to
Can be solved iteratively to update. Finally, after convergence
Is the UAV state output by the system.

いくつかの実施形態において、δXが複数の反復を経てもゼロに近づかず、パラメータ較正アルゴリズムが解へ収束し損ねた場合、このことはシステムにおけるエラーとして見なされ得、本明細書に記載されるようにエラーから回復するよう再初期化が実行され得る。 In some embodiments, if δX does not approach zero after multiple iterations and the parameter calibration algorithm fails to converge to the solution, this can be considered an error in the system and is described herein. Reinitialization can be performed to recover from the error.

工場での較正後の複数の外部パラメータおよび/または最後の時点からの複数のパラメータの最適な推定値が、UAV状態の一部として目的方程式へ入力され得、複数の外部パラメータの推定における何らかのエラーを補正し、目的方程式を最小化するために、数式が反復して解かれ更新され得る。システムは、リアルタイムで複数の外部パラメータにおけるエラーを検出し(δXを解き)得、エラーを補正し(
を更新し)得る。
Optimal estimates of multiple external parameters after factory calibration and / or multiple parameters from the last point in time can be input to the objective equation as part of the UAV state, and some error in estimating multiple external parameters. The equation can be iteratively solved and updated to correct and minimize the equation of interest. The system can detect (solve δX) errors in multiple external parameters in real time and correct the errors (
Update) get.

オプションで、ステップ1140に続き、UAVの状態(例えば、位置、向き、および/または速度)が、複数の外部パラメータに関する複数の推定値に基づいて決定され得る。例えば、複数の外部パラメータは、状態情報を算出するために、複数の画像センサおよび複数の慣性センサからのセンサデータを融合するのに用いられ得る。いくつかの実施形態において、状態情報は、UAVの動作の間の前の時点における前のUAV状態に関連して決定される。前の時点は、状態情報が利用可能である第1時点、例えば、UAVが動作を開始した、初期化が起こった、または再初期化が起こった時点であり得る。代替的に状態情報は、前のUAV状態と相対的にではなくむしろ全体座標系に関連して決定され得る。 Optionally, following step 1140, the state of the UAV (eg, position, orientation, and / or velocity) can be determined based on multiple estimates for multiple external parameters. For example, multiple external parameters can be used to fuse sensor data from multiple image sensors and multiple inertial sensors to calculate state information. In some embodiments, the state information is determined in relation to the previous UAV state at the previous time point during the operation of the UAV. The previous time point can be the first time point when the state information is available, for example, the time point when the UAV has started operation, initialization has occurred, or reinitialization has occurred. Alternatively, the state information can be determined in relation to the global coordinate system rather than relative to the previous UAV state.

図12は、複数の実施形態に係る、初期構成を有する複数のセンサを有するUAV(または、何らかの他の可動物体)の1または複数の外部パラメータを較正するための方法1200を示す。方法1200の複数のステップは、本明細書に記載されている複数のシステムおよび複数のデバイスのいずれかの実施形態を用いて実行され得る。例えば、方法1200の複数のステップのうちいくつかまたは全ては、UAVにより搭載される1または複数のプロセッサを用いて実行され得る。方法1200は、本明細書に記載されている様々な方法のいずれかの実施形態と組み合わせて実行され得る。方法1100と同様に、方法1200は、UAVの動作の間にオンライン較正を実行するのに用いられ得る。 FIG. 12 shows a method 1200 for calibrating one or more external parameters of a UAV (or some other moving object) with multiple sensors having an initial configuration, according to a plurality of embodiments. The plurality of steps of method 1200 may be performed using any embodiment of the plurality of systems and devices described herein. For example, some or all of the plurality of steps of method 1200 may be performed using one or more processors mounted by the UAV. Method 1200 can be performed in combination with any embodiment of the various methods described herein. Similar to Method 1100, Method 1200 can be used to perform online calibration during UAV operation.

ステップ1210において、UAVにより搭載される複数のセンサの初期構成が修正されたことが検出される。複数のセンサは、少なくとも1つの慣性センサと、少なくとも2つの画像センサとを含み得る。初期構成は、複数のセンサのうち少なくとも1つのセンサを除く、複数のセンサに少なくとも1つのセンサを追加する、複数のセンサうち一のセンサの位置および/または向きを変化させる、またはこれらを組み合わせにより修正されたかもしれない。いくつかの実施形態において、初期構成は、UAVの動作の前に(例えば、UAVが飛行する、および/または電力供給される前に)修正され、修正はUAVの動作の間に検出される。他の複数の実施形態において、構成はUAVの動作の間に修正される。修正を検出するのに様々な方法が用いられ得る。例えば、本明細書に説明されている反復処理におけるδX内のδθおよびδTの値がゼロに近くなく、追加の更新が実行されなければならないことを意味している場合に、修正が検出され得る。 In step 1210, it is detected that the initial configurations of the plurality of sensors mounted by the UAV have been modified. The plurality of sensors may include at least one inertial sensor and at least two image sensors. The initial configuration is to remove at least one of the sensors, add at least one to the sensors, change the position and / or orientation of one of the sensors, or combine them. It may have been fixed. In some embodiments, the initial configuration is modified prior to the operation of the UAV (eg, before the UAV flies and / or is powered), and the modifications are detected during the operation of the UAV. In a plurality of other embodiments, the configuration is modified during the operation of the UAV. Various methods can be used to detect the correction. Modifications can be detected, for example, if the values of δθ and δT in δX in the iterations described herein are not close to zero, which means that additional updates must be performed. ..

ステップ1220において、慣性データが、UAVの動作の間に、UAVにより搭載される少なくとも1つの慣性センサから受信される。慣性データは、UAVの3次元加速度および3次元角速度を示す1または複数の測定値を含み得る。いくつかの実施形態において、慣性データは、少なくとも2、3、4、5、6、7、8、9、10、20、30、40、または50の時点に亘って少なくとも1つの慣性センサにより取得された1または複数の測定値を含む。 In step 1220, inertial data is received from at least one inertial sensor mounted by the UAV during the operation of the UAV. Inertia data may include one or more measurements that indicate the 3D acceleration and 3D angular velocity of the UAV. In some embodiments, inertial data is acquired by at least one inertial sensor over at least 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, or 50 time points. Includes one or more measurements made.

ステップ1230において、画像データが、UAVの動作の間、UAVにより搭載される少なくとも2つの画像センサから受信される。画像データは、可動物体の周囲の環境の1または複数の画像を含み得る。いくつかの実施形態において、画像データは、少なくとも2、3、4、5、6、7、8、9、10、20、30、40、または50の時点に亘って少なくとも2つの画像センサのうちそれぞれにより取得された1または複数の画像を含み得る。 In step 1230, image data is received from at least two image sensors mounted by the UAV during the operation of the UAV. The image data may include one or more images of the environment around the moving object. In some embodiments, the image data is of at least two image sensors over a time point of at least 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, or 50. It may include one or more images obtained by each.

ステップ1240において、初期構成が修正されたことの検出に応答して、1または複数の外部パラメータが推定される。1または複数の外部パラメータは、修正された構成を有する複数のセンサ間の複数の空間的関係を含み得る。いくつかの実施形態において、複数の空間的関係は、互いに相対的に、および/または慣性センサに関連して決定され得る、複数の画像センサの相対的な複数の位置および相対的な複数の向きを含む。複数の外部パラメータは、様々なやり方で推定され得る。いくつかの実施形態において、1または複数の外部パラメータは、ステップ1220および1230において受信された慣性データおよび画像データに基づいて推定される。オプションで、慣性データおよび画像データは、複数の外部パラメータの複数の推定値を決定するのに用いられる唯一のセンサデータであり得る。ステップ1240は、特徴点検出アルゴリズム、オプティカルフローアルゴリズム、および/または特徴マッチングアルゴリズムを用いて、複数の画像センサにより取得された1または複数の画像を処理することを伴い得る。オプションで、ステップ1240は、第1センサにより取得された1または複数の画像を、第2センサにより取得された1または複数の画像と比較することを伴い得る。 At step 1240, one or more external parameters are estimated in response to detection that the initial configuration has been modified. One or more external parameters may include multiple spatial relationships between multiple sensors with modified configurations. In some embodiments, multiple spatial relationships can be determined relative to each other and / or in relation to inertial sensors, relative multiple positions and relative orientations of the image sensors. including. Multiple external parameters can be estimated in different ways. In some embodiments, the one or more external parameters are estimated based on the inertial and image data received in steps 1220 and 1230. Optionally, inertial data and image data can be the only sensor data used to determine multiple estimates of multiple external parameters. Step 1240 may involve processing one or more images acquired by multiple image sensors using a feature point detection algorithm, an optical flow algorithm, and / or a feature matching algorithm. Optionally, step 1240 may involve comparing one or more images acquired by the first sensor with one or more images acquired by the second sensor.

いくつかの実施形態において、複数の外部パラメータは、1または複数の外部パラメータに関する複数の初期値に基づいて推定される。 複数の初期値を取得するのに様々な方法が用いられ得る。いくつかの実施形態において、複数の初期値は、UAVに関連付けられた(例えば、UAV上で搭載される)メモリデバイスから受信され得る。複数の初期値は、UAVの動作の前に決定され得る。例として、複数の初期値は、UAVの動作の前に、本明細書に記載されている複数の反復最適化アルゴリズムを用いて決定され得る。他の例として、複数の初期値は、動作の前にユーザにより測定され得る。オプションで、複数の初期値は、UAVが製造されるときに決定される複数の工場較正値であり得る。いくつかの実施形態において、複数の初期値は、UAVの構成についての知識に基づいて決定され得る。例えば、複数の画像センサおよび/または複数の慣性センサが、特定の固定されたロケーション(例えば、複数のセンサの搭載のために利用可能である選択されたロケーションセット)においてUAVに結合され得、複数の初期値は、複数の固定されたロケーションについての情報に基づいて決定され得る。 In some embodiments, the plurality of external parameters are estimated based on a plurality of initial values for one or more external parameters. Various methods can be used to obtain multiple initial values. In some embodiments, the plurality of initial values may be received from a memory device associated with the UAV (eg, mounted on the UAV). Multiple initial values may be determined prior to the operation of the UAV. As an example, multiple initial values may be determined using multiple iterative optimization algorithms described herein prior to UAV operation. As another example, multiple initial values may be measured by the user prior to operation. Optionally, the plurality of initial values can be multiple factory calibration values determined when the UAV is manufactured. In some embodiments, multiple initial values may be determined based on knowledge of the configuration of the UAV. For example, multiple image sensors and / or multiple inertial sensors may be coupled to the UAV at a particular fixed location (eg, a selected location set available for mounting multiple sensors). The initial value of can be determined based on information about multiple fixed locations.

いくつかの実施形態において、複数の外部パラメータは、非線形最適化アルゴリズム、線形最適化アルゴリズム、反復最適化アルゴリズム、反復非線形最適化アルゴリズム、または反復線形最適化アルゴリズムなど最適化アルゴリズムを用いて推定される。反復最適化アルゴリズムは、複数の初期値、慣性データ、および画像データに基づいて1または複数の外部パラメータの最大事後確率(MAP)推定値を算出することを含み得る。反復最適化アルゴリズムは、方法1100に関して本明細書において前に記載された複数のアルゴリズムと同様であり得る。 In some embodiments, the plurality of external parameters are estimated using an optimization algorithm such as a nonlinear optimization algorithm, a linear optimization algorithm, an iterative optimization algorithm, an iterative nonlinear optimization algorithm, or an iterative linear optimization algorithm. .. Iterative optimization algorithms may include calculating maximum posteriori probability (MAP) estimates for one or more external parameters based on multiple initial values, inertial data, and image data. The iterative optimization algorithm may be similar to the plurality of algorithms previously described herein for Method 1100.

オプションで、ステップ1240に続き、UAVの状態(例えば、位置、向き、および/または速度)が、複数の推定された外部パラメータに基づいて決定され得る。例えば、複数の外部パラメータは、状態情報を算出するために、複数の画像センサおよび複数の慣性センサからのセンサデータを融合するのに用いられ得る。いくつかの実施形態において、状態情報は、UAVの動作の間の前の時点における前のUAV状態に関連して決定される。前の時点は、状態情報が利用可能である第1時点、例えば、UAVが動作を開始した、初期化が起こった、または再初期化が起こった時点であり得る。代替的に状態情報は、前のUAV状態と相対的にではなくむしろ全体座標系に関連して決定され得る。 Optionally, following step 1240, the state of the UAV (eg, position, orientation, and / or velocity) can be determined based on a plurality of estimated external parameters. For example, multiple external parameters can be used to fuse sensor data from multiple image sensors and multiple inertial sensors to calculate state information. In some embodiments, the state information is determined in relation to the previous UAV state at the previous time point during the operation of the UAV. The previous time point can be the first time point when the state information is available, for example, the time point when the UAV has started operation, initialization has occurred, or reinitialization has occurred. Alternatively, the state information can be determined in relation to the global coordinate system rather than relative to the previous UAV state.

本明細書に記載されている自動的パラメータ較正方法(例えば、方法1100、1200)は、例えば、複数のセンサの互いに相対的な空間的関係を変化させ得る振動、衝突、または他の複数のイベントに起因して、複数の外部パラメータがUAVの動作の間に変化し得るので、UAVセンサデータ処理の正確性および信頼性を確実にするという点で有益であり得る。例えば、本明細書に記載されている複数の方法は、動作の間に複数の空間的関係の複数の推定値における複数のエラーを検出し補正するのと同じように、UAVの動作の間の複数の画像センサと複数の慣性センサとの間の複数の空間的関係(例えば、複数の相対的な位置および向き)を継続的に推定するのに用いられ得る。追加的に本明細書に記載されているオンライン較正の実装は、本明細書で「オフライン」較正と呼ばれ得るUAVの動作の前の正確な較正の必要性を有利に取り除き得る。このことは、UAVのセンサ構成が(例えば、1または複数のセンサを追加する、1または複数のセンサを除く、1または複数のセンサを動かすことにより)修正され得、センサ構成に関する新たな複数の外部パラメータを決定するために長々しいオフライン較正手順を要することなくUAVが修正の直後に動作させられ得る「プラグアンドプレイ」アプローチを可能とし得る。いくつかの実施形態において、本明細書に提供されている複数のパラメータ較正方法は、UAVの動作の前に何らかのパラメータ較正を実行することなく、UAVの動作の間に複数の外部パラメータが決定されることを可能とする。 The automatic parameter calibration methods described herein (eg, methods 1100, 1200) are, for example, vibrations, collisions, or other multiple events that can change the spatial relationship of multiple sensors relative to each other. Due to this, multiple external parameters can change during the operation of the UAV, which can be beneficial in ensuring the accuracy and reliability of UAV sensor data processing. For example, the methods described herein detect and correct multiple errors in multiple estimates of multiple spatial relationships during operation, as well as during UAV operation. It can be used to continuously estimate multiple spatial relationships (eg, multiple relative positions and orientations) between multiple image sensors and multiple inertial sensors. An additional implementation of the online calibration described herein can advantageously eliminate the need for accurate calibration prior to the operation of the UAV, which may be referred to herein as "offline" calibration. This can be modified by the UAV's sensor configuration (eg, by adding one or more sensors, excluding one or more sensors, and moving one or more sensors), and a number of new sensor configurations. It may enable a "plug and play" approach in which the UAV can be operated immediately after modification without requiring lengthy offline calibration procedures to determine external parameters. In some embodiments, the plurality of parameter calibration methods provided herein determine a plurality of external parameters during the operation of the UAV without performing any parameter calibration prior to the operation of the UAV. It is possible to do.

図13は、複数の実施形態に係る、UAV(または、何らかの他の可動物体)の動作の間に複数のセンサを用いてUAVに関する状態情報を推定するための方法1300を示す。方法1300の複数のステップは、本明細書に記載されている複数のシステムおよび複数のデバイスのいずれかの実施形態を用いて実行され得る。例えば、方法1300の複数のステップのうちいくつかまたは全ては、UAVにより搭載される1または複数のプロセッサを用いて実行され得る。方法1300は、本明細書に記載されている様々な方法のいずれかの実施形態と組み合わせて実行され得る。 FIG. 13 shows method 1300 for estimating state information about a UAV using a plurality of sensors during the operation of the UAV (or some other movable object) according to the plurality of embodiments. The plurality of steps of Method 1300 may be performed using any embodiment of the plurality of systems and devices described herein. For example, some or all of the plurality of steps of method 1300 may be performed using one or more processors mounted by the UAV. Method 1300 can be performed in combination with any embodiment of the various methods described herein.

方法1300は、動作の間(例えば、UAVが電力供給されているとき、飛行しているとき等)のUAVの現在の状態を推定するのに用いられ得る。状態推定は、UAVの位置、向き、速度、および/または加速度など様々なタイプの状態情報を決定することを伴い得る。状態情報は、より早い時点におけるUAVの前の状態に関連して決定され得、または絶対的な点から(例えば、全体座標系と相対的に)決定され得る。いくつかの実施形態において、状態推定は、複数の外部パラメータのリアルタイム更新を可能とするよう、UAVの動作の間、継続的に、または予め定められた複数の時間間隔をおいて実行される。例えば、方法1300は、UAVの動作の間、0.1秒毎に1度実行され得る。 Method 1300 can be used to estimate the current state of the UAV during operation (eg, when the UAV is powered, in flight, etc.). State estimation can involve determining various types of state information such as UAV position, orientation, velocity, and / or acceleration. The state information can be determined in relation to the state prior to the UAV at an earlier point in time, or from an absolute point (eg, relative to the global coordinate system). In some embodiments, state estimation is performed continuously or at a plurality of predetermined time intervals during the operation of the UAV to allow real-time updates of the plurality of external parameters. For example, method 1300 may be performed once every 0.1 seconds during the operation of the UAV.

ステップ1310において、UAVに関する前の状態の情報が受信される。前の状態の情報は、UAVの動作の間の前の時点におけるUAVの位置、向き、速度、および/または加速度を含み得る。いくつかの実施形態において、前の状態の情報は、反復最適化アルゴリズム、例えば、方法1300のステップ1340において用いられたものと同じアルゴリズムを用いて取得される。1または複数の前の時点からの状態情報は、続く複数の時点に関する更新された状態情報の推定を容易にするために、UAVに関連付けられたメモリデバイスに格納され得る。 At step 1310, information about the previous state regarding the UAV is received. Information on the previous state may include the position, orientation, velocity, and / or acceleration of the UAV at the previous time point during the operation of the UAV. In some embodiments, the previous state information is obtained using an iterative optimization algorithm, eg, the same algorithm used in step 1340 of method 1300. The state information from one or more previous time points may be stored in the memory device associated with the UAV to facilitate the estimation of the updated state information for the subsequent points in time.

ステップ1320において、UAVにより搭載される少なくとも1つの慣性センサからの慣性データが受信される。慣性データは、UAVの動作の間の少なくとも2、3、4、5、6、7、8、9、10、20、30、40または50の時点に亘って慣性センサにより取得される慣性測定データを含み得る。慣性データは、UAVの3次元加速度および3次元角速度を示し得る。 In step 1320, inertial data is received from at least one inertial sensor mounted by the UAV. Inertia data is inertial measurement data acquired by the inertial sensor over at least 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40 or 50 during the operation of the UAV. May include. Inertia data may indicate the 3D acceleration and 3D angular velocity of the UAV.

ステップ1330において、UAVにより搭載される少なくとも2つの画像センサからの画像データが受信される。画像データは、UAVの動作の間の少なくとも2、3、4、5、6、7、8、9、10、20、30、40または50の時点に亘って各画像センサにより取得される複数の画像を含み得る。複数の画像は、UAVの周囲の環境のものであり得る。 In step 1330, image data is received from at least two image sensors mounted by the UAV. The image data is a plurality of image data acquired by each image sensor over at least 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40 or 50 during the operation of the UAV. May include images. The images can be from the environment surrounding the UAV.

ステップ1340において、UAVに関する更新された状態情報が、UAVの動作の間の前の状態の情報、慣性データおよび/または画像データに基づいて決定される。更新された状態情報は、UAVの位置、向き、速度、および/または加速度を含み得る。更新された状態情報は、現時点におけるUAVに関する現在の状態情報であり得る。オプションで、慣性データおよび画像データは、更新された状態情報を決定するのに用いられる唯一のセンサデータであり得る。ステップ1340は、特徴点検出アルゴリズム、オプティカルフローアルゴリズム、および/または特徴マッチングアルゴリズムを用いて、各画像センサにより取得された複数の画像を処理することを伴い得る。オプションで、ステップ1340は、第1センサにより取得された1または複数の画像を、第2センサにより取得された1または複数の画像と比較することを伴い得る。 At step 1340, updated state information about the UAV is determined based on previous state information, inertial data and / or image data during the operation of the UAV. The updated state information may include the position, orientation, velocity, and / or acceleration of the UAV. The updated status information can be the current status information regarding the UAV at the present time. Optionally, inertial data and image data may be the only sensor data used to determine the updated state information. Step 1340 may involve processing a plurality of images acquired by each image sensor using a feature point detection algorithm, an optical flow algorithm, and / or a feature matching algorithm. Optionally, step 1340 may involve comparing one or more images acquired by the first sensor with one or more images acquired by the second sensor.

いくつかの実施形態において、複数の推定値は、非線形最適化アルゴリズム、線形最適化アルゴリズム、反復最適化アルゴリズム、反復非線形最適化アルゴリズム、または反復線形最適化アルゴリズムなど最適化アルゴリズムを用いて決定される。反復最適化アルゴリズムは、複数の初期値、慣性データ、および画像データに基づいて1または複数の外部パラメータの最大事後確率(MAP)推定値を算出することを含み得る。本明細書における複数の実施形態での使用のために適切な例示的なアルゴリズムが以下に提示されている。 In some embodiments, the estimates are determined using an optimization algorithm such as a nonlinear optimization algorithm, a linear optimization algorithm, an iterative optimization algorithm, an iterative nonlinear optimization algorithm, or an iterative linear optimization algorithm. .. Iterative optimization algorithms may include calculating maximum posteriori probability (MAP) estimates for one or more external parameters based on multiple initial values, inertial data, and image data. An exemplary algorithm suitable for use in multiple embodiments herein is presented below.

UAVは、m台のカメラ(または他の画像センサタイプ)、および1台のIMU(または他の慣性センサタイプ)を含む感知システムを有し得る。IMUの出力頻度は、複数のカメラの出力頻度より高くなり得る。複数のカメラの複数の外部パラメータは、
および
であり得る。ここで、
は、IMUに関連するi番目のカメラの回転を表し、
は、IMUに関連するi番目のカメラの並進を表し、1≦i≦mである。本明細書に提供されている他の複数の最適化アルゴリズムと同様に、IMUからの積分推定値および複数のカメラからの応答を含む最適化目的関数が成立し得る。
The UAV may have a sensing system that includes m cameras (or other image sensor types) and one IMU (or other inertial sensor type). The output frequency of the IMU can be higher than the output frequency of multiple cameras. Multiple external parameters for multiple cameras
and
Can be. here,
Represents the i-th camera rotation associated with the IMU,
Represents the translation of the i-th camera associated with the IMU, and 1 ≦ i ≦ m. Similar to the other optimization algorithms provided herein, an optimization objective function may be established that includes integral estimates from the IMU and responses from multiple cameras.

からt([t,t,t,t,t,t,...t])までの期間に亘るUAV状態は、
であると仮定され得る。ここで、
は、(動作が開始した時点tにおける位置と相対的な)UAVの現在位置を表し、
は、時間kにおける(UAVの本体座標系と相対的な)UAVの現在の速度を表し、
は、時間kにおける(tにおける向きと相対的な)UAVの現在の向きを表す。初期状況は、
および
であり得る。(N+1)×mの画像において観察される特徴点の数はMであり得る。i番目の特徴点が時間t(0≦k≦N)においてj番目のカメラにより最初に観察され、λは、時間tにおいてj番目のカメラの平面と垂直な方向への特徴点の深さであると仮定され得る。推定されることになる未知のものは、複数のUAV状態
、複数の外部較正パラメータ
、および特徴深さλ、λ、λ、λ...λである。それら全ての未知のものが、本明細書において全体的な状態と呼ばれるベクトルXを形成する。
The UAV state over the period from t 0 to t N ([t 0 , t 1 , t 2 , t 3 , t 4 , t 5 , ... t N ]) is
Can be assumed to be. here,
Represents the current position of the UAV (relative to its position at t 0 when the operation starts).
Represents the current velocity of the UAV (relative to the UAV's body coordinate system) at time k.
Represents the current orientation of the UAV (relative to the orientation at t 0 ) at time k. The initial situation is
and
Can be. The number of feature points observed in the (N + 1) × m image can be M. i-th characteristic point is first observed by the j th camera at time t k (0 ≦ k ≦ N ), λ i is the j-th feature point in the plane perpendicular direction of the camera at time t k It can be assumed to be depth. The unknown that will be presumed is multiple UAV states
, Multiple external calibration parameters
, And feature depths λ 0 , λ 1 , λ 2 , λ 3 ... λ M. All of them form a vector X, referred to herein as the overall state.

いくつかの実施形態において、目的方程式は、
として定義される。ここで、
は、前の情報(Xに関する推定値を表す)を格納し、
は、全体的な状態XとIMUからの積分推定値
との間の関係であり、
は、全体的な状態Xと複数の画像センサ
からの推定値との間の関係である。数式
および
は、本明細書に説明されているように導き出され得る。
および
は非線形であるので、それらは、1次のテイラー展開により展開され
および
が取得され得る。
In some embodiments, the objective equation is
Is defined as. here,
Stores previous information (representing an estimate for X)
Is an integral estimate from the overall state X and IMU
Is the relationship with
Is the overall state X and multiple image sensors
The relationship with the estimated value from. Formula
and
Can be derived as described herein.
and
Are non-linear, so they are expanded by a first-order Taylor expansion.
and
Can be obtained.

上記の2つの数式を目的方程式に代入することにより以下の数式が得られ得る。
By substituting the above two equations into the objective equation, the following equation can be obtained.

いくつかの実施形態において、初期値が提供され得、目的方程式はガウス・ニュートンアルゴリズムを用いて反復して解かれ得る。初期値は、本明細書に記載されているように初期化または再初期化アルゴリズムを用いて、IMUからの積分推定値を最後の時点からの最適化された推定値に加算することにより、または
として初期化することにより取得され得る。目的方程式は、δXを取得し、目的方程式を最小化するよう
まで
に従って
を更新するよう反復して解かれ得る。したがって、
は、システムにより出力されるUAV状態である。
In some embodiments, initial values may be provided and the equation of interest may be iteratively solved using the Gauss-Newton algorithm. Initial values can be obtained by adding an integral estimate from the IMU to the optimized estimate from the last point in time, using an initialization or reinitialization algorithm as described herein, or.
Can be obtained by initializing as. The objective equation should get δX and minimize the objective equation
Until
According to
Can be solved iteratively to update. Therefore,
Is the UAV state output by the system.

いくつかの実施形態において、δXが複数の反復を経てもゼロに近づかず、状態推定アルゴリズムが解へ収束し損ねた場合、このことはシステムにおけるエラーとして見なされ得、本明細書に記載されるようにエラーから回復するよう再初期化が実行され得る。 In some embodiments, if δX does not approach zero after multiple iterations and the state estimation algorithm fails to converge to the solution, this can be considered an error in the system and is described herein. Reinitialization can be performed to recover from the error.

いくつかの実施形態において、1または複数の前の時点からのセンサデータが、現在の状態情報を推定するのに用いられ得る。例えば、少なくとも1、2、3、4、5、6、7、8、9、10、20、30、40または50の前の時点からの前の慣性データおよび/または画像データが、現在の状態情報を推定するのに用いられ得る。スライディングウィンドウフィルタなど、UAVの現在の状態を推定するのに用いられる前の状態の情報の量を決定するのに、様々な方法が用いられ得る。 In some embodiments, sensor data from one or more previous time points can be used to estimate current state information. For example, at least 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40 or 50 previous inertial data and / or image data from a previous point in time is in the current state. It can be used to estimate information. Various methods can be used to determine the amount of information in the previous state used to estimate the current state of the UAV, such as a sliding window filter.

図14は、複数の実施形態に係る、前の状態の情報を選択するためのスライディングウィンドウフィルタを示す。スライディングウィンドウのサイズは、Kの時点からのセンサデータ(例えば、慣性データおよび/または画像データ)が現在の状態を推定するのに用いられるようKであり得る。図14ではK=4であるが、Kは、20など何らかの適切な値であり得ることが理解されよう。Kの時点は、K−1の前の時点と現時点とを含み得る。新たなセンサデータが続く時点において取得されるとき、新たなデータがスライディングウィンドウに追加され得、前の時点からのデータは、一定のウィンドウサイズKを維持するためにスライディングウィンドウから除かれ得る。例えば、図14の描写において、第1スライディングウィンドウ1400aは、時点1―4からのデータを保持しており、第2スライディングウィンドウ1400aは、時点2―5からのデータを保持しており、第3スライディングウィンドウ1400cは、時点3―6からのデータを保持しており、第4スライディングウィンドウ1400dは、時点4―7からのデータを保持している。いくつかの実施形態において、破棄される時点は、スライディングウィンドウにおける最も早い時点である(例えば、先入れ先出し法(FIFO)。他の複数の実施形態において、破棄される時点は最も早い時点でなくてもよく、どの時点を維持して、どの時点を破棄するか決定するようFIFO以外の、先入れ後出し法(FILO)など他の複数のマージナリゼーションアプローチ、またはFIFOとFILOとを混合させた方法が用いられ得る。いくつかの実施形態において、複数の時点が、特定の時点とその周辺の複数の時点との間の視差をチェックすることに基づいて破棄される。視差が安定した算術の解のために十分に大きくない場合、例えば、シュール補行列マージナリゼーション方法を用いて時点はマージナライズされ、捨てられ得る。 FIG. 14 shows a sliding window filter for selecting information in the previous state according to a plurality of embodiments. The size of the sliding window can be K such that the sensor data from the point in time of K (eg, inertial data and / or image data) is used to estimate the current state. Although K = 4 in FIG. 14, it can be understood that K can be some suitable value, such as 20. The time point of K may include the time point before K-1 and the current time point. When new sensor data is acquired at subsequent points in time, new data may be added to the sliding window and data from the previous point in time may be removed from the sliding window to maintain a constant window size K. For example, in the description of FIG. 14, the first sliding window 1400a holds the data from the time points 1-4, the second sliding window 1400a holds the data from the time points 2-5, and the third The sliding window 1400c holds the data from the time points 3-6, and the fourth sliding window 1400d holds the data from the time points 4-7. In some embodiments, the time of destruction is the earliest time in the sliding window (eg, first-in first-out method (FIFO). In some other embodiments, the time of destruction is not the earliest. Often, other than FIFO, multiple other marginalization approaches, such as first-in, last-out (FILO), or a mixture of FIFO and FILO to determine which point in time to maintain and which point in time to discard. Can be used. In some embodiments, multiple time points are discarded based on checking the parallax between a particular time point and a number of points around it. An arithmetic solution with stable parallax. If not large enough for, for example, the time points can be marginalized and discarded using the Schur complement matrix merging method.

いくつかの実施形態において、bおよびΛは、現在の状態を推定するのに用いられる前の複数の時点からの情報を格納し得る。例えば、bおよびΛは、UAVが動作を開始してから(またはエラーにより再初期化されてから)現時点までの複数の前の時点におけるセンサデータ(例えば、慣性データおよび/または画像データ)を格納し得る。オプションで、bおよびΛは、本明細書に記載されているスライディングウィンドウに既に含まれているKの時点からのデータを除外し得る。そのような複数の実施形態において、データがスライディングウィンドウから破棄されたとき、それはbおよびΛを更新するのに用いられ得る。 In some embodiments, b p and lambda p may store information from a plurality of time before used to estimate the current state. For example, b p and Λ p are sensor data (eg, inertial data and / or image data) at multiple previous time points since the UAV started operating (or after being reinitialized due to an error). Can be stored. Optionally, b p and Λ p may exclude data from time K that is already contained in the sliding windows described herein. In such multiple embodiments, when data is discarded from the sliding window, it can be used to update the b p and lambda p.

いくつかの実施形態において、アルゴリズムは、入力されたセンサデータのエラーをリアルタイムで検出するのに用いられ得る。例えば、エラーは、複数の画像センサのうち1つが機能不良に陥った、または妨害された場合に生じ得る。他の例として、エラーは、画像センサにより取得された画像データに過度のノイズが存在する場合に生じ得る。エラー検出は、δXを解き
を更新するときに、画像データおよび/または慣性データに対応するδXが収束しているか(例えば、δXが複数の反復に亘ってより小さくなっている、および/またはゼロに近づいているか)を検出することにより実行され得る。δXが収束している場合、センサデータにはエラーがないと見なされ得る。しかし、δXが収束しない場合、センサデータにはエラーがあると見なされ得、収束に関する問題を引き起こしているセンサデータは、最適化処理から除かれ得る。
In some embodiments, the algorithm can be used to detect errors in the input sensor data in real time. For example, an error can occur if one of the image sensors malfunctions or is disturbed. As another example, the error can occur when there is excessive noise in the image data acquired by the image sensor. Error detection solves δX
Detects whether δX corresponding to image data and / or inertial data is converging (eg, δX is smaller over multiple iterations and / or is approaching zero) when updating Can be done by doing. If δX is converged, the sensor data can be considered error-free. However, if δX does not converge, the sensor data can be considered error and the sensor data causing the convergence problem can be excluded from the optimization process.

オプションで、ステップ1340に続いて、更新された状態情報が、例えば、UAVの動きを制御するための制御モジュールへ出力され得る。例えば、制御モジュールは、UAVの1または複数の推進ユニットを制御するよう、例えば、自律または半自律ナビゲーション、障害物回避、ルートプランニング、環境マッピング、およびその他を有効化する、更新された状態情報を用い得る。 Optionally, following step 1340, updated state information may be output to, for example, a control module for controlling the movement of the UAV. For example, the control module provides updated state information to enable, for example, autonomous or semi-autonomous navigation, obstacle avoidance, route planning, environment mapping, and others to control one or more propulsion units of a UAV. Can be used.

方法1300は、UAVの動作に関していくつかの利点を提供し得る。例えば、本明細書に記載されている複数の状態推定方法は、コンピューテイングリソースを節約しつつ、他の複数のタイプの状態推定方法よりも正確であり得る。推定された状態情報は、慣性データのみまたは画像データのみを用いて推定された状態情報よりも正確であり得る。いくつかの実施形態において、状態情報(例えば、位置情報)に関する複数の推定値は、およそ0.1cm、0.25cm、0.5cm、0.75cm、1cm、1.25cm、1.5cm、1.75cm、2cm、2.25cm、2.5cm、2.75cm、3cm、または5cm以下だけ状態情報の複数の実際値から離れている。正確性は、より多くの画像センサを用いることによりさらに高められ得る。追加的に、本明細書における複数の実施形態は、複数の画像センサでの使用のために適切であり、したがって、複数の画像センサのうち1または複数が機能不良に陥った、または妨害された場合であってもシステムが動作を継続することを可能とする。いくつかの実施形態において、状態推定方法はノイズを低減し、したがって、UAVシステムの堅牢性および安定性を向上させる。 Method 1300 may provide some advantages with respect to the operation of the UAV. For example, the plurality of state estimation methods described herein may be more accurate than other types of state estimation methods while conserving computing resources. The estimated state information can be more accurate than the state information estimated using only inertial data or only image data. In some embodiments, the plurality of estimates for state information (eg, location information) are approximately 0.1 cm, 0.25 cm, 0.5 cm, 0.75 cm, 1 cm, 1.25 cm, 1.5 cm, 1 It is deviated from multiple actual values of the state information by .75 cm, 2 cm, 2.25 cm, 2.5 cm, 2.75 cm, 3 cm, or 5 cm or less. Accuracy can be further enhanced by using more image sensors. In addition, the plurality of embodiments herein are suitable for use with multiple image sensors, and thus one or more of the plurality of image sensors has malfunctioned or been disturbed. Allows the system to continue operating even in some cases. In some embodiments, the state estimation method reduces noise and thus improves the robustness and stability of the UAV system.

図15は、複数の実施形態に係る、UAV(または、何らかの他の可動物体)に関する状態推定および/またはパラメータ較正を実行するための方法1500を示す。方法1500において、慣性データ1502および画像データ1504が、本明細書に記載されているように、UAVにより搭載される少なくとも1つの慣性センサおよび少なくとも2つの画像センサから受信される。慣性データ1502および画像データ1504は、線形スライディングウィンドウフィルタ1506および非線形スライディングウィドウフィルタ1508に入力され得る。線形スライディングウィンドウフィルタ1506は、新たなデータが受信されたときに、FIFOアプローチを利用して複数の前の時点からのデータを破棄し得る。非線形スライディングウィンドウフィルタ1508は、新たなデータが受信されたときに、マージナリゼーションアプローチを利用して複数の前の時点からのデータを破棄し得る。 FIG. 15 shows method 1500 for performing state estimation and / or parameter calibration for a UAV (or any other moving object) according to a plurality of embodiments. In method 1500, inertial data 1502 and image data 1504 are received from at least one inertial sensor and at least two image sensors mounted by the UAV, as described herein. The inertial data 1502 and the image data 1504 can be input to the linear sliding window filter 1506 and the non-linear sliding window filter 1508. The linear sliding window filter 1506 can utilize a FIFO approach to discard data from multiple previous time points when new data is received. The nonlinear sliding window filter 1508 may utilize a mergerization approach to discard data from multiple previous time points when new data is received.

いくつかの実施形態において、状態推定および/またはパラメータ較正は、非線形スライディングウィドウフィルタ1508により選択された慣性データおよび画像データを非線形ソルバー1510へ入力して、状態情報および/または複数の外部パラメータに関する複数の推定値を提供する解を生成することにより実行される。非線形ソルバー1510は、本明細書に記載されている複数の実施形態など非線形最適化アルゴリズムであり得る。方法1500は、解1512を生成するために非線形ソルバー1510が収束したかを検出することを含み得る。非線形ソルバー1510が収束し、解を生成した場合、解は、例えば、飛行制御モジュールなど他のUAVコンポーネントへ出力1514され得る。方法はその後、新たなセンサデータの受信へと進み、前のセンサデータを非線形スライディングウィドウフィルタ1508を介してマージナライズにより取り除き1516、処理は、更新された状態に関する複数の推定値の生成を継続するよう繰り返され得る。 In some embodiments, state estimation and / or parameter calibration inputs inertial data and image data selected by the nonlinear sliding widow filter 1508 into the nonlinear solver 1510 to input state information and / or multiple external parameters. It is performed by generating a solution that provides an estimate of. The non-linear solver 1510 can be a non-linear optimization algorithm, such as the plurality of embodiments described herein. Method 1500 may include detecting whether the nonlinear solver 1510 has converged to generate solution 1512. If the nonlinear solver 1510 converges and produces a solution, the solution may be output 1514 to another UAV component, such as a flight control module. The method then proceeds to the reception of new sensor data, removing the previous sensor data by marginalization via a nonlinear sliding window filter 1508 1516, so that the process continues to generate multiple estimates for the updated state. Can be repeated.

非線形ソルバー1510が収束し損ねた場合、方法1500は、線形ソルバー1518の使用へと進み、状態情報に関する複数の推定値を提供する解を生成し、解1514を出力し得る。線形ソルバー1518は、本明細書に記載されている複数の実施形態など線形最適化アルゴリズムであり得る。いくつかの実施形態において、非線形ソルバー1510が収束し損ねたことはエラーとして見なされ、線形ソルバー1518は、エラーから回復するために再初期化アルゴリズムを実装し得る。線形ソルバー1518により提供される解(例えば、再初期化情報)は、非線形ソルバー1510により実行される続く状態に関する複数の推定値に関する複数の初期値として用いられ得る。 If the nonlinear solver 1510 fails to converge, method 1500 may proceed to use the linear solver 1518, generate a solution that provides multiple estimates for state information, and output solution 1514. The linear solver 1518 can be a linear optimization algorithm, such as the plurality of embodiments described herein. In some embodiments, the failure of the nonlinear solver 1510 to converge is considered an error, and the linear solver 1518 may implement a reinitialization algorithm to recover from the error. The solution provided by the linear solver 1518 (eg, reinitialization information) can be used as multiple initial values for multiple estimates for subsequent states performed by the nonlinear solver 1510.

本明細書に記載されている様々な方法は、何らかの適切なシステムまたはデバイスにより実装され得る。いくつかの実施形態において、本明細書における複数の方法は、コンピューティングプラットホーム、飛行制御モジュール、センサモジュール、およびデータ取得サブシステムを含むハードウェアプラットフォームにより実行される。コンピューティングプラットホームは、本明細書に記載されている様々なセンサ融合アルゴリズムに従ってセンサデータを受信および処理するセンサ融合モジュールを含み得る。コンピューティングプラットホームは、ハードウェアおよびソフトウェアコンポーネントの何らかの適切な組み合わせを用いて実装され得る。例えば、いくつかの実施形態において、コンピューティングプラットホームは、ARMアーキテクチャのCPUおよびGPUコンピューティングプラットホームを設計する基準としてNVIDIA Tegra K1を利用する。コンピューティングプラットホームは、安定性および拡張可能性など特定の性能に関する要件を満たすよう設計され得る。表1は、コンピューティングプラットホームに関するいくつか例示的な要件およびテスト方法を提供する。
The various methods described herein can be implemented by any suitable system or device. In some embodiments, the methods herein are performed by a hardware platform that includes a computing platform, flight control modules, sensor modules, and data acquisition subsystems. The computing platform may include a sensor fusion module that receives and processes sensor data according to various sensor fusion algorithms described herein. Computing platforms can be implemented using any suitable combination of hardware and software components. For example, in some embodiments, the computing platform utilizes NVIDIA Tegra K1 as a criterion for designing CPU and GPU computing platforms in ARM architecture. Computing platforms can be designed to meet specific performance requirements such as stability and scalability. Table 1 provides some exemplary requirements and test methods for computing platforms.

飛行制御モジュールは、UAVの位置、向き、速度、および/または加速度を制御するための複数のコンポーネントなどUAVの動作を制御するためのハードウェアおよびソフトウェアコンポーネントの何らかの適切な組み合わせを含み得る。いくつかの実施形態において、飛行制御モジュールは、例えば、所望される位置、向き、速度等を実現するために、UAVの複数の推進ユニットの作動を制御するための1または複数のコンポーネントを含み得る。飛行制御モジュールは、プラットフォームからデータ(例えば、状態情報)を受信し、同データを1または複数の飛行制御アルゴリズムへの入力として用いるために、コンピューティングプラットホームに通信可能に結合され得る。例えば、飛行制御モジュールは、コンピューティングプラットホームから、例えば、少なくとも50Hzの周波数でデータを受信するために、下位の複数のAPIを含み得る。 The flight control module may include any suitable combination of hardware and software components for controlling the operation of the UAV, such as multiple components for controlling the position, orientation, velocity, and / or acceleration of the UAV. In some embodiments, the flight control module may include, for example, one or more components for controlling the operation of multiple propulsion units of the UAV in order to achieve the desired position, orientation, speed, etc. .. The flight control module may be communicably coupled to a computing platform to receive data (eg, state information) from the platform and use the data as input to one or more flight control algorithms. For example, a flight control module may include multiple lower APIs to receive data from a computing platform, eg, at a frequency of at least 50 Hz.

センサモジュールは、本明細書に記載されているような少なくとも1つの慣性センサおよび少なくとも2つの画像センサなど1または複数のセンサを含み得る。いくつかの実施形態において、センサモジュールは、前方に(例えば、UAVの動きの方向に沿って)面して双眼の構成で設定された2つのカメラと、下方に面して単眼の構成で設定された1つのカメラとを含む3つのグローバルシャッタカメラを含む。複数のカメラは、およそ20Hzのサンプリング周波数を有し得る。いくつかの実施形態において、センサモジュールは、少なくとも100Hzの周波数でUAVの角速度および直線加速度を取得するよう構成された1つのIMUを含む。IMUは、例えば、ジャイロスコープからの補正されていない積分を用いて角度値を提供するようにも構成され得る。オプションで、センサモジュールは、コンパス、気圧計、GPS、および/または超音波センサ(例えば、前方に向けられた、および下方に向けられた複数の超音波センサ)など他の複数のタイプのセンサも含み得る。センサモジュールのための複数のセンサは、UAV本体と相対的な複数のセンサの動きを制限する剛性の複数の接続部を用いて本体と結合され得る。オプションで、複数のセンサの所望されない複数の動きを低減するために、ダンパまたは緩衝器など複数の振動低減システムが複数のセンサとUAVモジュールとの間に設置され得る。 The sensor module may include one or more sensors, such as at least one inertial sensor and at least two image sensors as described herein. In some embodiments, the sensor module is configured with two cameras set forward (eg, along the direction of movement of the UAV) in a binocular configuration and a downward facing monocular configuration. Includes three global shutter cameras, including one camera. Multiple cameras may have a sampling frequency of approximately 20 Hz. In some embodiments, the sensor module comprises one IMU configured to acquire the angular velocity and linear acceleration of the UAV at a frequency of at least 100 Hz. The IMU can also be configured to provide angular values using, for example, uncorrected integrals from the gyroscope. Optionally, the sensor module can also include other types of sensors such as compasses, barometers, GPS, and / or ultrasonic sensors (eg, multiple ultrasonic sensors pointing forward and downward). Can include. The plurality of sensors for the sensor module may be coupled to the body using a plurality of rigid connections that limit the movement of the plurality of sensors relative to the UAV body. Optionally, multiple vibration reduction systems, such as dampers or shock absorbers, may be installed between the sensors and the UAV module to reduce unwanted movements of the sensors.

データ取得サブシステムは、様々なセンサからのセンサデータをコンピューティングプラットホームおよび/または飛行制御モジュールへ送信するために、センサモジュールに動作可能に結合され得る。データ取得システムは、USBインタフェース、シリアルポート、またはこれらの組み合わせなど何らかの適切なタイプの通信インタフェースを利用し得る。いくつかの実施形態において、複数の画像センサと複数の超音波センサとが複数のUSBインタフェースを介して結合され、IMUと他のセンサタイプが複数のシリアルポートを介して結合される。 The data acquisition subsystem may be operably coupled to the sensor module to send sensor data from various sensors to the computing platform and / or flight control module. The data acquisition system may utilize some suitable type of communication interface, such as a USB interface, a serial port, or a combination thereof. In some embodiments, the plurality of image sensors and the plurality of ultrasonic sensors are coupled via the plurality of USB interfaces, and the IMU and other sensor types are coupled via the plurality of serial ports.

図16は、複数の実施形態に係る、複数のセンサを用いてUAVを制御するためのシステム1600を示す。システム1600は、本明細書に記載されている複数の方法のうちいずれかの実施形態を実装するのに用いられ得る。システム1600の複数のコンポーネントのうち少なくともいくつかまたは全てがUAVにより運ばれ得る。システム1600は、センサ融合ユニット1601a(破線より上方の複数のコンポーネント)、および飛行制御ユニット1601b(破線より下方の複数のコンポーネント)の2つの異なる機能ユニットに分割されるものと見なされ得る。センサ融合ユニット1601aおよび飛行制御ユニット1601bは、データ、複数の制御信号、およびその他の交換のために互いに通信可能に結合され得る。いくつかの実施形態において、センサ融合ユニット1601aおよび飛行制御ユニット1601bは、一方のユニットが機能不良に陥った場合に他方が動作を継続出来るよう互いに独立して動作するよう構成されている。例えば、センサ融合ユニット1601aが機能不良を経験した場合に、飛行制御ユニット1601bは、例えば、緊急着陸動作を実行するために独立して機能を継続するよう構成され得る。 FIG. 16 shows a system 1600 for controlling a UAV using a plurality of sensors according to a plurality of embodiments. System 1600 can be used to implement any of the methods described herein. At least some or all of the multiple components of the system 1600 may be carried by the UAV. The system 1600 can be considered to be divided into two different functional units: the sensor fusion unit 1601a (several components above the dashed line) and the flight control unit 1601b (several components below the dashed line). The sensor fusion unit 1601a and the flight control unit 1601b may be communicably coupled to each other for data, multiple control signals, and other exchanges. In some embodiments, the sensor fusion unit 1601a and the flight control unit 1601b are configured to operate independently of each other so that if one unit fails, the other can continue to operate. For example, if the sensor fusion unit 1601a experiences a malfunction, the flight control unit 1601b may be configured to continue functioning independently, for example, to perform an emergency landing operation.

いくつかの実施形態において、システム1600は、飛行制御モジュール1604に動作可能に結合されたセンサ融合モジュール1602を含む。センサ融合モジュール1602は、1または複数の慣性センサ1606および1または複数の画像センサ1608など複数のセンサにも結合され得る。センサ融合モジュール1602は、本明細書に記載されている初期化、エラー回復、状態推定、および外部パラメータ較正方法を実行するために、慣性センサ1606および画像センサ1608からの慣性データおよび画像データを用いる1または複数のプロセッサを含み得る。オプションで、センサ融合モジュール1602は、上記および本明細書に記載されているように、画像データを処理するための画像処理モジュールに結合され、またはそれを含み得る。センサ融合モジュール1602により生成された複数の結果は、様々な飛行動作を容易にするために、飛行制御モジュール1604へ送信され得る。複数の飛行動作は、センサ融合モジュールからの複数の結果、遠隔端末1610から受信した複数のユーザコマンド、他の複数のセンサ1612(例えば、GPSセンサ、磁力計、超音波センサ)から受信したセンサデータ、またはこれらの組み合わせに基づいて実行され得る。例えば、飛行制御モジュール1604は、例えば、ナビゲーション、障害物回避、およびその他などUAVの動作のために、UAVの位置、向き、速度、および/または加速度を制御するために1または複数の推進ユニット1614(例えば、複数のロータ)へ送信される複数の制御信号を決定し得る。 In some embodiments, the system 1600 includes a sensor fusion module 1602 operably coupled to the flight control module 1604. The sensor fusion module 1602 may also be coupled to multiple sensors, such as one or more inertial sensors 1606 and one or more image sensors 1608. The sensor fusion module 1602 uses inertial and image data from the inertial sensor 1606 and the image sensor 1608 to perform the initialization, error recovery, state estimation, and external parameter calibration methods described herein. It may include one or more processors. Optionally, the sensor fusion module 1602 may be coupled to or include an image processing module for processing image data, as described above and herein. Multiple results produced by the sensor fusion module 1602 may be transmitted to the flight control module 1604 to facilitate various flight operations. Multiple flight operations are multiple results from the sensor fusion module, multiple user commands received from the remote terminal 1610, and sensor data received from multiple other sensors 1612 (eg, GPS sensor, magnetometer, ultrasonic sensor). , Or a combination of these. For example, the flight control module 1604 may control one or more propulsion units 1614 to control the position, orientation, velocity, and / or acceleration of the UAV, for example for navigation, obstacle avoidance, and other UAV operations. Multiple control signals transmitted to (eg, multiple rotors) may be determined.

システム1600の複数のコンポーネントは、様々なタイプおよび組み合わせのハードウェア要素を用いて実装され得る。例えば、センサ融合モジュール1602は、1または複数のプロセッサ、および1または複数のプロセッサにより実行可能な複数の命令を格納したメモリを含む何らかの適切なハードウェアプラットフォームを用いて実装され得る。システム1600の異なる複数のコンポーネント間の複数の接続は、様々なタイプの通信インタフェース、例えば、USBインタフェース、シリアルポート、パルス幅変調チャネル、またはこれらの複数の組み合わせなどアナログまたはデジタルインタフェースを用いて実装され得る。そのような複数のインタフェースは、複数の有線または無線通信方法を利用し得る。例えば、画像センサ1608は、複数のUSBインタフェースを介してセンサ融合モジュール1602に結合され得、慣性センサ1606は、複数のシリアルポートを介してセンサ融合モジュール1602に結合され得る。センサ融合モジュール1602は、複数のシリアルポートを介して飛行制御モジュール1604に結合され得る。飛行制御モジュール1604は、無線制御(RC)インタフェースなど無線通信インタフェースを介して遠隔端末1610に結合され得る。飛行制御モジュール1604は、パルス幅変調を介して推進ユニット1614へ複数のコマンドを送信し得る。 Multiple components of the system 1600 may be implemented using various types and combinations of hardware elements. For example, the sensor fusion module 1602 can be implemented using any suitable hardware platform that includes one or more processors and a memory that stores multiple instructions that can be executed by one or more processors. Multiple connections between different components of the system 1600 are implemented using different types of communication interfaces, such as analog or digital interfaces such as USB interfaces, serial ports, pulse width modulation channels, or combinations thereof. obtain. Such multiple interfaces may utilize multiple wired or wireless communication methods. For example, the image sensor 1608 may be coupled to the sensor fusion module 1602 via a plurality of USB interfaces, and the inertial sensor 1606 may be coupled to the sensor fusion module 1602 via a plurality of serial ports. The sensor fusion module 1602 may be coupled to the flight control module 1604 via multiple serial ports. The flight control module 1604 can be coupled to the remote terminal 1610 via a radio communication interface such as a radio control (RC) interface. The flight control module 1604 may send multiple commands to the propulsion unit 1614 via pulse width modulation.

いくつかの実施形態において、センサ融合モジュール1602は、本明細書に記載されているように慣性センサ1606からの慣性データと画像センサ1608からの画像データを組み合わせるのに用いられる。オプションで、センサ融合モジュール1602は、UAVに関する状態情報(例えば、速度または加速度など動き情報)を推定するために、飛行制御モジュール1604からの内部データとセンサ1606、1608からのセンサデータとを組み合わせ得る。センサ融合モジュール1602は、Jetson TK1(TK1)プラットフォームなど何らかの適切なコンピューティングプラットホームを用い得る。画像センサ1608は、USBインタフェースを介してTK1プラットフォームと通信可能に結合され得る。TK1は、適切な複数のドライバを用いて、Ubuntu 14.04オペレーティングシステムなど何らかのオペレーティングシステムを実行し得る。いくつかの実施形態において、ロボットオペレーティングシステム(ROS)がデータ送信のために用いられ得る。表2は、センサ融合モジュール1602に関するいくつかの例示的なハードウェアおよびソフトウェアコンポーネントを提供する。
In some embodiments, the sensor fusion module 1602 is used to combine the inertial data from the inertial sensor 1606 with the image data from the image sensor 1608 as described herein. Optionally, the sensor fusion module 1602 may combine internal data from the flight control module 1604 with sensor data from the sensors 1606, 1608 to estimate state information about the UAV (eg, motion information such as speed or acceleration). .. The sensor fusion module 1602 may use any suitable computing platform, such as the Jetson TK1 (TK1) platform. The image sensor 1608 may be communicably coupled to the TK1 platform via a USB interface. The TK1 may run any operating system, such as the Ubuntu 14.04 operating system, with multiple suitable drivers. In some embodiments, a robot operating system (ROS) can be used for data transmission. Table 2 provides some exemplary hardware and software components for the sensor fusion module 1602.

本明細書における複数のシステム、デバイス、および方法は、1、2、3、4、5、6、7、8、9、10、15、20、30、40、50、またはそれらより多くの画像センサなど任意の適切な数の画像センサを利用し得る。複数の画像センサは、例えば、対応する数の通信インタフェースを介して画像データを受信し分析するために(例えば、特徴点検出およびマッチングを実行するために)画像化処理モジュールの1または複数のプロセッサに同時に結合され得る。しかし、いくつかの実施形態において、特定のハードウェアプラットフォームは、多数の画像センサ(例えば、6より多くの画像センサ、10より多くの画像センサ)への同時の結合をサポートすることは可能でないかもしれない。例えば、いくつかの画像処理モジュールは、複数の画像センサのうち全てが同時に結合され得るのに十分な数の通信インタフェースを含まないかもしれない。そのような複数の実施形態において、複数の画像センサは全てが、同じ時間においてモジュールに同時に結合され得ないかもしれない。例として、異なる複数の時間において複数の画像センサからなる特定のサブセットをモジュールに選択的に結合するよう切り替え機構が用いられ得る。 Multiple systems, devices, and methods herein include 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 30, 40, 50, or more images. Any suitable number of image sensors, such as sensors, may be utilized. The plurality of image sensors may be one or more processors of the imaging module, for example, to receive and analyze image data via a corresponding number of communication interfaces (eg, to perform feature point detection and matching). Can be combined with at the same time. However, in some embodiments, it may not be possible for a particular hardware platform to support simultaneous coupling to multiple image sensors (eg, more than 6 image sensors, 10 more image sensors). unknown. For example, some image processing modules may not include a sufficient number of communication interfaces so that all of the multiple image sensors can be coupled at the same time. In such multiple embodiments, the plurality of image sensors may not all be coupled to the module at the same time at the same time. As an example, a switching mechanism can be used to selectively combine a particular subset of image sensors into a module at different times.

図22は、複数の実施形態に係る、切り替え可能に結合された複数の画像センサを有するシステム2200を示す。システム2200の様々なコンポーネントは、本明細書に提示されている他の複数のシステムおよび複数のデバイスのいずれかの実施形態と組み合わせられ得、および/またはそれらと置き換えられ得る。システム2200は、本明細書に記載されている複数の方法のうち何れか、例えば、非同期データ収集スキーム2100と組み合わせて用いられ得る。システム2200は、複数の画像センササブセット2202(例えば、本明細書に描写されているようなnの異なるサブセット)を含み得る。2、3、4、5、6、7、8、9、10、15、20、30、40、50、またはそれらより多くのサブセットなど任意の数の画像センササブセットが用いられ得る。各画像センササブセットは、1、2、3、4、5、6、7、8、9、10、15、20、30、40、50、またはそれらより多くの画像センサなど任意の数の個々の画像センサを含み得る。各画像センササブセットは、同じ数の画像センサを含み得る。代替的に、複数の画像センササブセットのうちいくつかまたは全ては、異なる複数の数の画像センサを含み得る。各画像センササブセットは、画像処理モジュール2206に結合されている切り替え機構2204と結合され得る。切り替え機構2204は、センサの複数のサブセットをモジュール2206(例えば、スイッチ、中継装置等)に選択的に結合するためのハードウェアおよびソフトウェアコンポーネントの何らかの適切な組み合わせを含み得る。画像処理モジュール2206は、本明細書に説明されているように、特徴点検出および/またはマッチングを実行するために画像データを処理するために用いられ得る。いくつかの実施形態において、画像処理モジュール2206は、初期化、エラー回復、パラメータ較正、および/または状態推定を実行するためにセンサ融合モジュールのコンポーネントに結合され、および/またはそのコンポーネントである。 FIG. 22 shows a system 2200 with a plurality of switchably coupled image sensors according to a plurality of embodiments. The various components of System 2200 may be combined with and / or replaced with any of the other multiple systems and devices presented herein. System 2200 may be used in combination with any of the methods described herein, eg, asynchronous data collection scheme 2100. The system 2200 may include multiple image sensor subsets 2202 (eg, different subsets of n as depicted herein). Any number of image sensor subsets can be used, such as 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 30, 40, 50, or more. Each image sensor subset is an arbitrary number of individual, such as 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 30, 40, 50, or more image sensors. It may include an image sensor. Each image sensor subset may include the same number of image sensors. Alternatively, some or all of the plurality of image sensor subsets may include a different number of image sensors. Each image sensor subset may be coupled with a switching mechanism 2204 coupled to the image processing module 2206. The switching mechanism 2204 may include any suitable combination of hardware and software components for selectively coupling multiple subsets of the sensor to the module 2206 (eg, switches, repeaters, etc.). The image processing module 2206 can be used to process image data to perform feature point detection and / or matching, as described herein. In some embodiments, the image processing module 2206 is coupled to and / or a component of the sensor fusion module to perform initialization, error recovery, parameter calibration, and / or state estimation.

切り替え機構2204は、画像処理モジュール2206が単一サブセットから一時に画像データを受信および処理するよう、一時に画像処理モジュール2206へ単一の画像センササブセットのみを結合するよう構成され得る。システム2200の複数の画像センサのうち全てからデータを取得するために、切り替え機構2204は、画像処理モジュール2206に結合されるサブセットを交替させるよう制御され得る。例えば、画像データは、第1画像センササブセットをモジュール2206へ結合し、第1サブセットから画像データを受信し、第2画像センササブセットをモジュール2206へ結合し、第2サブセットから画像データを受信し、全てのサブセットからの複数の画像が受信されるまでこれを続けることにより受信され得る。切り替え機構2204が異なる複数のサブセット間で切り替えを行う順序および頻度は、所望されるように変更され得る。このアプローチは、画像処理モジュール2206が常に複数のセンサのうちそれぞれとの同時の複数の接続を維持することを要することなく、画像データが比較的多数の画像センサから受信されることを可能とする。このことは、多数のセンサからの画像データを一度に処理することに関連するコンピューティングロードを低減しつつ、(例えば、プラグアンドプレイのために)任意の数の画像センサに適応するようシステムの柔軟性を向上させるという点で有利であり得る。 The switching mechanism 2204 may be configured to combine only a single image sensor subset to the image processing module 2206 at one time so that the image processing module 2206 receives and processes image data from a single subset at one time. In order to obtain data from all of the plurality of image sensors in the system 2200, the switching mechanism 2204 may be controlled to alternate subsets coupled to the image processing module 2206. For example, the image data may combine a first image sensor subset with module 2206 and receive image data from the first subset, combine a second image sensor subset with module 2206 and receive image data from a second subset. It can be received by continuing this until multiple images from all subsets are received. The order and frequency with which the switching mechanism 2204 switches between different subsets can be changed as desired. This approach allows image data to be received from a relatively large number of image sensors without requiring the image processing module 2206 to maintain multiple simultaneous connections to each of the sensors at all times. .. This reduces the computing load associated with processing image data from multiple sensors at once, while adapting the system to any number of image sensors (eg, for plug and play). It can be advantageous in terms of increasing flexibility.

本明細書に記載されている複数のシステム、デバイス、および方法は、多種多様な可動物体に適用され得る。前に言及したように、本明細書における航空機についてのいずれの記載も、何らかの可動物体に当てはまり得、およびそのために用いられ得る。本願発明の可動物体は、空中(例えば、固定翼航空機、回転翼航空機、または固定翼も回転翼も有さない航空機)、水中(例えば、船または潜水艦)、地上(例えば、車、トラック、バス、バン、バイクなどの自動車、棒、釣竿などの可動構造または枠体、または電車)、地下(例えば、地下鉄)、宇宙空間(例えば、宇宙飛行機、衛星、または宇宙探査用装置)、またはこれら環境の何らかの組み合わせなど何らかの適切な環境内を動くよう構成され得る。可動物体は、本明細書の他の箇所において記載されている輸送体などの輸送体であり得る。いくつかの実施形態において、可動物体は、人または動物など生体に搭載され得る。適切な複数の動物は、avines、イヌ科の動物、ネコ科の動物、ウマ科の動物、ウシ亜科の動物、羊、豚、イルカ、齧歯動物、または昆虫を含み得る。 The plurality of systems, devices, and methods described herein can be applied to a wide variety of moving objects. As mentioned earlier, any description of an aircraft herein may apply to, and may be used for, any moving object. Movable objects of the present invention are in the air (eg, fixed-wing aircraft, rotorcraft, or aircraft without fixed-wing or rotorcraft), underwater (eg, ships or submarines), and on the ground (eg, cars, trucks, buses). , Vans, motorbikes and other vehicles, rods, fishing rods and other movable structures or frames, or trains), underground (eg, subways), space (eg, spacecraft, satellites, or space exploration equipment), or these environments. It can be configured to move in some suitable environment, such as some combination of. The movable object can be a transporter, such as the transporter described elsewhere herein. In some embodiments, the movable object can be mounted on a living body such as a human or animal. Suitable animals may include avines, canines, felines, horses, bovids, sheep, pigs, dolphins, rodents, or insects.

可動物体は、環境内で、6自由度(例えば、並進3自由度、および回転3自由度)に関して自由に動くことが可能であり得る。代替的に、可動物体の動きは、予め定められた経路、軌道、または向きによってなど1または複数の自由度に関して制約を受け得る。動きは、エンジンまたはモータなどの何らかの適切な作動機構により作動させられ得る。可動物体の作動機構は、電気エネルギー、磁気エネルギー、太陽エネルギー、風力エネルギー、重力エネルギー、化学エネルギー、核エネルギー、またはこれらの何らかの適切な組み合わせなど何らかの適切なエネルギー源により電力供給され得る。可動物体は、本明細書の他の箇所において記載されているように、推進システムを介して自己推進し得る。オプションで、推進システムは、電気エネルギー、磁気エネルギー、太陽エネルギー、風力エネルギー、重力エネルギー、化学エネルギー、核エネルギー、またはこれらの何らかの適切な組み合わせなどエネルギー源で作動し得る。代替的に、可動物体は生き物により運ばれ得る。 Movable objects may be free to move in an environment with respect to 6 degrees of freedom (eg, 3 translational degrees of freedom, and 3 rotational degrees of freedom). Alternatively, the movement of a moving object can be constrained with respect to one or more degrees of freedom, such as by a predetermined path, trajectory, or orientation. The movement can be driven by some suitable actuating mechanism such as an engine or motor. The working mechanism of a moving object can be powered by any suitable energy source, such as electrical energy, magnetic energy, solar energy, wind energy, gravity energy, chemical energy, nuclear energy, or any suitable combination thereof. Movable objects can be self-propelled through a propulsion system, as described elsewhere herein. Optionally, the propulsion system can operate on energy sources such as electrical energy, magnetic energy, solar energy, wind energy, gravity energy, chemical energy, nuclear energy, or any suitable combination thereof. Alternatively, movable objects can be carried by living things.

いくつかの例において、可動物体は輸送体であり得る。適切な複数の輸送体は、水用輸送体、航空機、宇宙用輸送体、または地面用輸送体を含んでもよい。例えば、複数の航空機は、固定翼航空機(例えば、飛行機、グライダー)、回転翼航空機(例えば、ヘリコプター、ロータクラフト)、固定翼および回転翼の両方を有する航空機、またはいずれも有さない航空機(例えば、小型軟式飛行船、熱気球)であり得る。輸送体は、空中、水上、水中、宇宙空間、地上、または地下を自己推進するなど、自己推進し得る。自己推進型の輸送体は、1または複数のエンジン、モータ、車輪、車軸、磁石、ロータ、プロペラ、ブレード、ノズル、またはこれらの何らかの適切な組み合わせを含む推進システムなどの推進システムを利用し得る。いくつかの例において、可動物体が表面から離陸出来る、表面に着陸出来る、現在の位置および/または向きを維持出来る(例えば、ホバリングする)、向きを変化させられる、および/または位置を変化させられるよう推進システムが用いられ得る。 In some examples, the moving object can be a transporter. Suitable transporters may include water transporters, aircraft, space transporters, or ground transporters. For example, multiple aircraft may be fixed-wing aircraft (eg, airplanes, gliders), rotorcraft (eg, helicopters, rotorcraft), aircraft with both fixed-wing and rotorcraft, or none (eg, aircraft). , Small blimp, hot aircraft). Transporters can be self-propelled, such as in the air, on the water, underwater, in outer space, above ground, or underground. Self-propelled transporters may utilize propulsion systems such as propulsion systems that include one or more engines, motors, wheels, axles, magnets, rotors, propellers, blades, nozzles, or any suitable combination thereof. In some examples, movable objects can take off from a surface, land on a surface, maintain their current position and / or orientation (eg, hover), orient, and / or reposition. Propulsion system can be used.

可動物体は、ユーザにより遠隔的に制御され得、若しくは、可動物体内、またはその上の乗員により近くで制御され得る。いくつかの実施形態において、可動物体は、UAVなど無人可動物体であり得る。UAVなどの無人可動物体は、可動物体に搭乗している乗員を有さなくてもよい。可動物体は、人または自律制御システム(例えば、コンピュータ制御システム)により、若しくはこれらの何らかの適切な組み合わせにより制御され得る。可動物体は、人工知能を用いて構成されたロボットなど自律的または半自律的ロボットであり得る。 The movable object may be controlled remotely by the user, or may be controlled within or closer to the occupant in or on the movable object. In some embodiments, the movable object can be an unmanned movable object such as a UAV. An unmanned movable object such as a UAV does not have to have a occupant on board the movable object. Movable objects can be controlled by humans or autonomous control systems (eg, computer control systems), or by any suitable combination thereof. The movable object can be an autonomous or semi-autonomous robot such as a robot constructed by using artificial intelligence.

可動物体は、何らかの適切なサイズおよび/または複数の寸法を有し得る。いくつかの実施形態において、可動物体は、輸送体内またはその上に人である乗員を有するためのサイズおよび/または複数の寸法のものであり得る。代替的に、可動物体は、輸送体内またはその上に人である乗員を有することが可能なサイズおよび/または複数の寸法より小さなものであり得る。可動物体は、人により持ち上げられる、または搭載されるのに適切なサイズおよび/または複数の寸法のものであり得る。代替的に、可動物体は、人により持ち上げられる、または搭載されるのに適切なサイズおよび/または複数の寸法より大きくてもよい。いくつかの例において、可動物体は、およそ2cm、5cm、10cm、50cm、1m、2m、5m、または10mより短い、またはそれらと等しい最大寸法(例えば、長さ、幅、高さ、直径、対角線)を有し得る。最大寸法は、およそ2cm、5cm、10cm、50cm、1m、2m、5m、または10mより長くてもよく、またはそれらと等しくてもよい。例えば、可動物体の、向かい合っている複数のロータの複数のシャフト間の距離は、およそ2cm、5cm、10cm、50cm、1m、2m、5m、または10mより短くてもよく、またはそれらと等しくてもよい。代替的に、向かい合っている複数のロータの複数のシャフト間の距離は、およそ2cm、5cm、10cm、50cm、1m、2m、5m、または10mより長くてもよく、またはそれらと等しくてもよい。 Movable objects can have some suitable size and / or multiple dimensions. In some embodiments, the movable object can be of a size and / or multiple dimensions for having a occupant who is a person in or on the transport body. Alternatively, the movable object can be smaller in size and / or multiple dimensions capable of having a occupant who is a person in or on the transport body. The movable object can be of a size and / or multiple dimensions suitable for being lifted or mounted by a person. Alternatively, the movable object may be larger than a size and / or multiple dimensions suitable for being lifted or mounted by a person. In some examples, the movable object is approximately 2 cm, 5 cm, 10 cm, 50 cm, 1 m, 2 m, 5 m, or a maximum dimension equal to or less than 10 m (eg, length, width, height, diameter, diagonal). ) Can have. The maximum dimensions may be greater than or equal to approximately 2 cm, 5 cm, 10 cm, 50 cm, 1 m, 2 m, 5 m, or 10 m. For example, the distance between a plurality of shafts of a plurality of rotors facing each other of a movable object may be shorter than or equal to approximately 2 cm, 5 cm, 10 cm, 50 cm, 1 m, 2 m, 5 m, or 10 m. Good. Alternatively, the distance between the shafts of the facing rotors may be greater than or equal to approximately 2 cm, 5 cm, 10 cm, 50 cm, 1 m, 2 m, 5 m, or 10 m.

いくつかの実施形態において、可動物体は、100cm×100cm×100cm未満、50cm×50cm×30cm未満、または5cm×5cm×3cm未満の体積を有し得る。可動物体の総体積は、およそ1cm、2cm、5cm、10cm、20cm、30cm、40cm、50cm、60cm、70cm、80cm、90cm、100cm、150cm、200cm、300cm、500cm、750cm、1000cm、5000cm、10,000cm、100,000cm、1m、または10mより小さくてもよく、またはそれらと等しくてもよい。逆に、可動物体の総体積は、およそ1cm、2cm、5cm、10cm、20cm、30cm、40cm、50cm、60cm、70cm、80cm、90cm、100cm、150cm、200cm、300cm、500cm、750cm、1000cm、5000cm、10,000cm、100,000cm、1m、または10mより大きくてもよく、またはそれらと等しくてもよい。 In some embodiments, the movable object may have a volume of less than 100 cm x 100 cm x 100 cm, less than 50 cm x 50 cm x 30 cm, or less than 5 cm x 5 cm x 3 cm. The total volume of movable objects is approximately 1 cm 3 , 2 cm 3 , 5 cm 3 , 10 cm 3 , 20 cm 3 , 30 cm 3 , 40 cm 3 , 50 cm 3 , 60 cm 3 , 70 cm 3 , 80 cm 3 , 90 cm 3 , 100 cm 3 , 150 cm 3 , 200cm 3, 300cm 3, 500cm 3 , 750cm 3, 1000cm 3, 5000cm 3, 10,000cm 3, 100,000cm 3, 1m 3 or may be smaller than 10 m 3,, or it may be equal to them. On the contrary, the total volume of movable objects is about 1 cm 3 , 2 cm 3 , 5 cm 3 , 10 cm 3 , 20 cm 3 , 30 cm 3 , 40 cm 3 , 50 cm 3 , 60 cm 3 , 70 cm 3 , 80 cm 3 , 90 cm 3 , 100 cm 3 , 150cm 3, 200cm 3, 300cm 3 , 500cm 3, 750cm 3, 1000cm 3, 5000cm 3, 10,000cm 3, 100,000cm 3, 1m 3 or may be greater than 10 m 3,, or may be equal to those ..

いくつかの実施形態において、可動物体は、およそ32,000cm、20,000cm、10,000cm、1,000cm、500cm、100cm、50cm、10cm、または5cmより小さい、またはそれらと等しい設置面積(可動物体により取り囲まれる横方向の断面積を指し得る)を有し得る。逆に、設置面積は、およそ32,000cm、20,000cm、10,000cm、1,000cm、500cm、100cm、50cm、10cm、または5cmより大きくてもよく、またはそれらと等しくてもよい。 In some embodiments, the movable object is approximately 32,000cm 2, 20,000cm 2, 10,000cm 2 , 1,000cm 2, 500cm 2, 100cm 2, 50cm 2, 10cm 2, or 5 cm 2 less than Or they may have an equal footprint (which may refer to the lateral cross-sectional area surrounded by moving objects). Conversely, the footprint is approximately 32,000cm 2, 20,000cm 2, 10,000cm 2 , 1,000cm 2, 500cm 2, 100cm 2, 50cm 2, 10cm 2, or may be greater than 5 cm 2, or It may be equal to them.

いくつかの例において、可動物体は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より重くてもよく、またはそれらと等しくてもよい。 In some examples, the movable object can weigh less than 1000 kg. The weights of movable objects are approximately 1000 kg, 750 kg, 500 kg, 200 kg, 150 kg, 100 kg, 80 kg, 70 kg, 60 kg, 50 kg, 45 kg, 40 kg, 35 kg, 30 kg, 25 kg, 20 kg, 15 kg, 12 kg, 10 kg, 9 kg, 8 kg, 7 kg. , 6 kg, 5 kg, 4 kg, 3 kg, 2 kg, 1 kg, 0.5 kg, 0.1 kg, 0.05 kg, or 0.01 kg may be lighter or equal to them. On the contrary, the weights are about 1000 kg, 750 kg, 500 kg, 200 kg, 150 kg, 100 kg, 80 kg, 70 kg, 60 kg, 50 kg, 45 kg, 40 kg, 35 kg, 30 kg, 25 kg, 20 kg, 15 kg, 12 kg, 10 kg, 9 kg, 8 kg, 7 kg. , 6 kg, 5 kg, 4 kg, 3 kg, 2 kg, 1 kg, 0.5 kg, 0.1 kg, 0.05 kg, or 0.01 kg may be heavier or equal to them.

いくつかの実施形態において、可動物体は、可動物体により搭載される搭載物と相対的に小さくてもよい。搭載物は、以下により詳細に記載されているような積載物および/または支持機構を含み得る。いくつかの例において、荷重に対する可動物体の重量の比は、およそ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より大きくてもよい、またはそれらと等しくてもよく、若しくはさらに大きいものでもあり得る。 In some embodiments, the movable object may be relatively small relative to the payload mounted by the movable object. The load may include a load and / or a support mechanism as described in more detail below. In some examples, the ratio of the weight of the moving object to the load may be greater than, less than, or equal to approximately 1: 1. In some examples, the ratio of the weight of the moving object to the load may be greater than, less than, or equal to approximately 1: 1. Optionally, the weight ratio of the support mechanism to the load may be greater than, less than, or equal to approximately 1: 1. When desired, the ratio of the weight of the moving object to the load may be less than, or equal to, or even more than 1: 2, 1: 3, 1: 4, 1: 5, 1:10. It may be small. Conversely, the ratio of the weight of a moving object to a load may be greater than, equal to, or greater than 2: 1, 3: 1, 4: 1, 5: 1, 10: 1. But it is possible.

いくつかの実施形態において、可動物体は低エネルギー消費のものであり得る。例えば、可動物体は、およそ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より少量を、若しくはさらに少量など低エネルギー消費のものであり得る。 In some embodiments, the moving object can be of low energy consumption. For example, the movable object may use a smaller amount than about 5 W / h, 4 W / h, 3 W / h, 2 W / h, and 1 W / h, or even a smaller amount. In some examples, the supporting mechanism of the moving object can be of low energy consumption. For example, the support mechanism may use a smaller amount than approximately 5 W / h, 4 W / h, 3 W / h, 2 W / h, and 1 W / h, or even a smaller amount. Optionally, the load of movable objects may be of low energy consumption, such as approximately 5 W / h, 4 W / h, 3 W / h, 2 W / h, less than 1 W / h, or even less.

図17は、本願発明の複数の実施形態に係る無人航空機(UAV)1700を図示する。UAVは、本明細書に記載されているような可動物体の例であり得る。UAV1700は、4つのロータ1702、1704、1706および1708を有する推進システムを含み得る。任意の数の(例えば、1、2、3、4、5、6、またはそれらより多くの)ロータが設けられ得る。無人航空機の複数のロータ、ロータ組立体、または他の推進システムは、無人航空機が、ホバリングする/位置を維持する、向きを変化させる、および/またはロケーションを変化させることを可能とし得る。向かい合っている複数のロータの複数のシャフト間の距離は、何らかの適切な長さ1710であり得る。例えば、長さ1710は、2mより短くてもよく、またはそれと等しくてもよく、若しくは、5mより短くてもよく、またはそれと等しくてもよい。いくつかの実施形態において、長さ1710は、40cm〜1m、10cm〜2m、または5cm〜5mの範囲内であり得る。本明細書におけるUAVについてのいずれの記載も、異なるタイプの可動物体などの可動物体に当てはまり得、またその逆も当てはまる。 FIG. 17 illustrates an unmanned aerial vehicle (UAV) 1700 according to a plurality of embodiments of the present invention. The UAV can be an example of a moving object as described herein. The UAV1700 may include a propulsion system with four rotors 1702, 1704, 1706 and 1708. Any number of rotors (eg, 1, 2, 3, 4, 5, 6, or more) may be provided. Multiple rotors, rotor assemblies, or other propulsion systems of an unmanned aerial vehicle may allow the unmanned aerial vehicle to hover / maintain position, change orientation, and / or change location. The distance between the shafts of the rotors facing each other can be any suitable length 1710. For example, the length 1710 may be shorter than, or equal to, less than 2 m, less than 5 m, or equal. In some embodiments, the length 1710 can be in the range of 40 cm to 1 m, 10 cm to 2 m, or 5 cm to 5 m. Any description of a UAV herein may apply to moving objects such as different types of moving objects, and vice versa.

いくつかの実施形態において、可動物体は搭載物を運ぶよう構成され得る。搭載物は、乗客、貨物、器材、器具、およびその他のうち1または複数を含み得る。搭載物は筐体内に設けられ得る。筐体は、可動物体の筐体とは別個であり得、可動物体のための筐体の一部であり得る。代替的に、搭載物には筐体が設けられ得、他方、可動物体は筐体を有さない。代替的に、搭載物の複数の部分、または搭載物全体は筐体なしで設けられ得る。搭載物は、可動物体に対して強固に固定され得る。オプションで、搭載物は、可動物体と相対的に動くことが可能(例えば、可動物体と相対的に並進可能または回転可能)であり得る。 In some embodiments, the movable object may be configured to carry a load. The load may include one or more of passengers, cargo, equipment, equipment, and others. The load can be provided in the housing. The housing can be separate from the housing of the movable object and can be part of the housing for the movable object. Alternatively, the payload may be provided with a housing, while the movable object does not have a housing. Alternatively, multiple parts of the load, or the entire load, can be provided without a housing. The load can be firmly fixed to a moving object. Optionally, the payload can be movable relative to the moving object (eg, translatable or rotatable relative to the moving object).

いくつかの実施形態において、搭載物は積載物を含む。積載物は、何ら動作または機能を実行しないように構成され得る。代替的に、積載物は、機能的な積載物としても知られる動作または機能を実行するよう構成された積載物であり得る。例えば、積載物は、1または複数のターゲットを調査するための1または複数のセンサを含み得る。撮像デバイス(例えば、カメラ)、オーディオ捕捉デバイス(例えば、パラボラマイク)、赤外線画像化デバイス、または紫外線画像化デバイスなど何らかの適切なセンサが、積載物に組み込まれ得る。センサは、静的な感知データ(例えば、写真)または動的な感知データ(例えば、ビデオ)を提供し得る。いくつかの実施形態において、センサは、積載物のターゲットに関する感知データを提供する。代替的に、または組み合わせて、積載物は、複数の信号を1または複数のターゲットへ提供するための1または複数のエミッタを含み得る。照明光源または音源など何らかの適切なエミッタが用いられ得る。いくつかの実施形態において、積載物は、可動物体とは遠隔であるモジュールとの通信などのための1または複数の送受信機を含む。オプションで、積載物は、環境またはターゲットとインタラクトするよう構成され得る。例えば、積載物は、複数の物体を操作可能なロボットアームなどツール、器具、または機構を含み得る。 In some embodiments, the load includes a load. The load may be configured to perform no action or function. Alternatively, the load can be a load that is configured to perform an operation or function also known as a functional load. For example, the load may include one or more sensors for investigating one or more targets. Some suitable sensor, such as an imaging device (eg, a camera), an audio capture device (eg, a parabolic microphone), an infrared imaging device, or an ultraviolet imaging device, may be incorporated into the load. The sensor may provide static sensing data (eg, photo) or dynamic sensing data (eg, video). In some embodiments, the sensor provides sensing data about the target of the load. Alternatively or in combination, the load may include one or more emitters for delivering multiple signals to one or more targets. Any suitable emitter, such as an illumination light source or sound source, may be used. In some embodiments, the load comprises one or more transmitters and receivers, such as for communication with a module that is remote from the moving object. Optionally, the load may be configured to interact with the environment or target. For example, the load may include a tool, instrument, or mechanism such as a robot arm capable of manipulating multiple objects.

オプションで、搭載物は支持機構を含み得る。支持機構は積載物に対して設けられ得、積載物は、直接的に(例えば、可動物体に直接的に接触して)または間接的に(例えば、可動物体に接触せず)支持機構を介して可動物体に結合され得る。逆に、積載物は支持機構を要することなく可動物体に搭載され得る。積載物は、支持機構と一体的に形成され得る。代替的に、積載物は支持機構と解放可能に結合され得る。いくつかの実施形態において、積載物は、1または複数の積載物要素を含み得、複数の積載物要素のうち1または複数は、上記に記載されているように可動物体および/または支持機構と相対的に動くことが可能であり得る。 Optionally, the payload may include a support mechanism. The support mechanism can be provided for the load, which is either directly (eg, in direct contact with a moving object) or indirectly (eg, without contact with a movable object) via the support mechanism. Can be combined with a moving object. Conversely, the load can be mounted on a moving object without the need for a support mechanism. The load can be formed integrally with the support mechanism. Alternatively, the load may be releasably coupled to the support mechanism. In some embodiments, the load may include one or more load elements, one or more of the plurality of load elements with a moving object and / or support mechanism as described above. It may be possible to move relatively.

支持機構は、可動物体と一体的に形成され得る。代替的に、支持機構は可動物体と解放可能に結合され得る。支持機構は、直接的または間接的に可動物体に結合され得る。支持機構は、積載物に対してサポートを提供し(例えば、積載物の重量の少なくとも一部を運び)得る。支持機構は、積載物の動きを安定化させ得る、および/または方向付け得ることが可能な適切な搭載構造(例えば、ジンバルプラットフォーム)を含み得る。いくつかの実施形態において、支持機構は、可動物体と相対的な積載物の状態(例えば、位置および/または向き)を制御するよう適合され得る。例えば、支持機構は、積載物が可動物体の動きに関わらず適切な基準系と相対的な位置および/または向きを維持するよう、可動物体と相対的に(例えば、1、2、または3つの並進度、および/または1、2、または3つの回転度に関して)に動くよう構成され得る。基準系は固定された基準系(例えば、周囲環境)であり得る。代替的に、基準系は動いている基準系(例えば、可動物体、積載物ターゲット)であり得る。 The support mechanism can be formed integrally with the movable object. Alternatively, the support mechanism can be releasably coupled to the moving object. The support mechanism can be directly or indirectly coupled to the moving object. The support mechanism may provide support for the load (eg, carry at least a portion of the weight of the load). The support mechanism may include a suitable mounting structure (eg, a gimbal platform) capable of stabilizing and / or directing the movement of the load. In some embodiments, the support mechanism may be adapted to control the state of the load relative to the moving object (eg, position and / or orientation). For example, the support mechanism is relative to the moving object (eg, 1, 2, or 3) so that the load maintains its position and / or orientation relative to the appropriate frame of reference regardless of the movement of the moving object. It can be configured to move in translation (with respect to translation and / or 1, 2, or 3 rotations). The reference system can be a fixed reference system (eg, the surrounding environment). Alternatively, the frame of reference can be a moving frame of reference (eg, a moving object, a load target).

いくつかの実施形態において、支持機構は、支持機構および/または可動物体と相対的積載物の動きを可能するよう構成され得る。動きは、(例えば、1、2、または3つの軸に沿った)最大3自由度に関する並進、(例えば、1、2、または3つの軸周りの)最大3自由度に関する回転、またはこれらの何らかの適切な組み合わせであり得る。 In some embodiments, the support mechanism may be configured to allow movement of the support mechanism and / or moving objects and relative loads. The movement is translation for up to 3 degrees of freedom (eg, along 1, 2, or 3 axes), rotation for up to 3 degrees of freedom (eg, around 1, 2, or 3 axes), or any of these. It can be the right combination.

いくつかの例において、支持機構は、支持機構フレーム組立体および支持機構作動組立体を含み得る。支持機構フレーム組立体は、積載物に対して構造的なサポートを提供し得る。支持機構フレーム組立体は、複数の個別の支持機構フレームコンポーネントを含み得、これらのうちいくつかは、互いに相対的に動くことが可能であり得る。支持機構作動組立体は、複数の個別の支持機構フレームコンポーネントの動きを作動させる1または複数のアクチュエータ(例えば、モータ)を含み得る。複数のアクチュエータは、複数の支持機構フレームコンポーネントの動きを同時に可能とし得、または、一時に単一の支持機構フレームコンポーネントの動きを可能するよう構成され得る。複数の支持機構フレームコンポーネントの動きは、積載物の対応する動きを生じさせ得る。例えば、支持機構作動組立体は、1または複数の回転軸(例えば、ロール軸、ピッチ軸、またはヨー軸)周りの1または複数の支持機構フレームコンポーネントの回転を作動させ得る。1または複数の支持機構フレームコンポーネントの回転は積載物を、可動物体と相対的に1または複数の回転軸周りで回転させ得る。代替的に、または組み合わせて、支持機構作動組立体は、1または複数の並進軸に沿った1または複数の支持機構フレームコンポーネントの並進を作動させ得、これにより、可動物体と相対的に1または複数の対応する軸に沿った積載物の並進を生じさせ得る。 In some examples, the support mechanism may include a support mechanism frame assembly and a support mechanism actuating assembly. The support mechanism frame assembly may provide structural support for the load. The support mechanism frame assembly may include multiple separate support mechanism frame components, some of which may be capable of moving relative to each other. The support mechanism actuating assembly may include one or more actuators (eg, motors) that actuate the movement of a plurality of individual support mechanism frame components. The plurality of actuators may allow the movement of the plurality of support mechanism frame components at the same time, or may be configured to allow the movement of a single support mechanism frame component at one time. The movement of multiple support mechanism frame components can result in the corresponding movement of the load. For example, a support mechanism actuating assembly may actuate the rotation of one or more support mechanism frame components around one or more rotation axes (eg, roll axis, pitch axis, or yaw axis). Rotation of one or more support mechanism frame components may rotate the load around one or more axes of rotation relative to the moving object. Alternatively or in combination, the support mechanism actuating assembly may actuate the translation of one or more support mechanism frame components along one or more translational axes, whereby one or more relative to the moving object. Translation of the load along multiple corresponding axes can occur.

いくつかの実施形態において、固定された基準系(例えば、周囲環境)と相対的な、および/または互いに相対的な可動物体、支持機構、および積載物の動きは、端末により制御され得る。端末は、可動物体、支持機構、および/または積載物から距離を置いたロケーションにおける遠隔制御デバイスであり得る。端末は、支持プラットフォーム上に配置され得、またはそれに貼り付けられ得る。代替的に、端末はハンドヘルドデバイスまたは着用可能なデバイスであり得る。例えば、端末は、スマートフォン、タブレット、ラップトップ、コンピュータ、眼鏡、手袋、ヘルメット、マイク、またはこれらの適切な複数の組み合わせを含み得る。端末は、キーボード、マウス、ジョイスティック、タッチスクリーン、またはディスプレイなどのユーザインタフェースを含み得る。手動で入力されたコマンド、音声制御、ジェスチャ制御、(例えば、端末の動き、ロケーション、または傾きを介した)位置制御など何らかの適切なユーザ入力が、端末とインタラクトするのに用いられ得る。 In some embodiments, the movement of moving objects, support mechanisms, and loads relative to a fixed frame of reference (eg, the surrounding environment) and / or relative to each other can be controlled by a terminal. The terminal can be a remote control device at a location away from moving objects, support mechanisms, and / or loads. The terminal can be placed on or attached to a supporting platform. Alternatively, the terminal can be a handheld device or a wearable device. For example, the terminal may include a smartphone, tablet, laptop, computer, eyeglasses, gloves, helmet, microphone, or any suitable combination thereof. The terminal may include a user interface such as a keyboard, mouse, joystick, touch screen, or display. Some appropriate user input, such as manually entered commands, voice control, gesture control, position control (eg, via terminal movement, location, or tilt), can be used to interact with the terminal.

端末は、可動物体、支持機構、および/または積載物の何らかの適切な状態を制御するのに用いられ得る。例えば、端末は、可動物体、支持機構、および/または積載物の固定された基準系と相対的な、および/または互いに相対的な位置および/または向きを制御するのに用いられ得る。いくつかの実施形態において、端末は、可動物体、支持機構、および/または支持機構の作動組立体、積載物のセンサ、積載物のエミッタなどの積載物の複数の個々の要素を制御するのに用いられ得る。端末は、可動物体、支持機構、または積載物のうち1または複数と通信を行うよう適合させられた無線通信デバイスを含み得る。 The terminal can be used to control any suitable state of the moving object, support mechanism, and / or load. For example, terminals can be used to control positions and / or orientations relative to and / or relative to a fixed reference system of moving objects, support mechanisms, and / or loads. In some embodiments, the terminal is used to control multiple individual elements of the load, such as moving objects, support mechanisms, and / or working assemblies of the support mechanism, load sensors, load emitters, and the like. Can be used. The terminal may include a wireless communication device adapted to communicate with one or more of a moving object, a support mechanism, or a load.

端末は、可動物体、支持機構、および/または積載物の情報を見るための適切なディスプレイユニットを含み得る。例えば、端末は、位置、並進速度、並進加速度、向き、角速度、角加速度、またはこれらの何らかの適切な組み合わせに関する、可動物体、支持機構、および/または積載物の情報を表示するよう構成され得る。いくつかの実施形態において、端末は、機能的な積載物により提供されるデータ(例えば、カメラまたは他の撮像デバイスにより記録された複数の画像)など積載物により提供される情報を表示し得る。 The terminal may include a suitable display unit for viewing information on movable objects, support mechanisms, and / or loads. For example, the terminal may be configured to display information on moving objects, support mechanisms, and / or loads with respect to position, translational velocity, translational acceleration, orientation, angular velocity, angular acceleration, or any suitable combination thereof. In some embodiments, the terminal may display information provided by the load, such as data provided by the functional load (eg, multiple images recorded by a camera or other imaging device).

オプションで、同じ端末が、可動物体、支持機構、および/または積載物、若しくは可動物体、支持機構、および/または積載物の状態を制御し、加えて、可動物体、支持機構、および/または積載物からの情報を受信および/または表示し得る。例えば、端末は、積載物により捕捉された画像データ、または積載物の位置についての情報を表示している間、環境と相対的な積載物の位置決めを制御し得る。代替的に、異なる複数の端末が異なる複数の機能のために用いられ得る。例えば、第1端末が可動物体、支持機構、および/または積載物の動きまたは状態を制御し得、他方、第2端末が可動物体、支持機構、および/または積載物からの情報を受信および/または表示し得る。例えば、第1端末が、環境と相対的な積載物の位置決めを制御するのに用いられ得、他方、第2端末が、積載物により撮像された画像データを表示し得る。可動物体と、可動物体の制御とデータの受信との両方を行う統合された端末との間で、または可動物体と、可動物体の制御とデータの受信との両方を行う複数の端末との間で、様々な通信モードが利用され得る。例えば、少なくとも2つの異なる通信モードが、可動物体と、可動物体の制御と可動物体からのデータの受信との両方を行う端末との間で形成され得る。 Optionally, the same terminal controls the state of the movable object, support mechanism, and / or load, or movable object, support mechanism, and / or load, and in addition, the movable object, support mechanism, and / or load. Can receive and / or display information from objects. For example, the terminal may control the positioning of the load relative to the environment while displaying the image data captured by the load, or information about the position of the load. Alternatively, different terminals may be used for different functions. For example, a first terminal may control the movement or state of a movable object, support mechanism, and / or load, while a second terminal receives and / or receives information from a movable object, support mechanism, and / or load. Or can be displayed. For example, a first terminal can be used to control the positioning of the load relative to the environment, while a second terminal can display image data captured by the load. Between a movable object and an integrated terminal that both controls the movable object and receives data, or between a movable object and multiple terminals that both control the movable object and receive data. Therefore, various communication modes can be used. For example, at least two different modes of communication may be formed between a moving object and a terminal that both controls the moving object and receives data from the moving object.

図18は、複数の実施形態に係る、支持機構1802および積載物1804を含む可動物体1800を例示する。可動物体1800は航空機として描写されているが、この描写は限定であることを意図されておらず、本明細書で前に記載されているように何らかの適切なタイプの可動物体が用いられ得る。複数の航空機システムの文脈で本明細書に記載されている複数の実施形態のうち何れかが、何らかの適切な可動物体(例えば、UAV)に適用され得ることを当業者は理解されよう。いくつかの例において、積載物1804は、支持機構1802を要することなく可動物体1800に設けられ得る。可動物体1800は、複数の推進機構1806、感知システム1808、および通信システム1810を含み得る。 FIG. 18 illustrates a movable object 1800 including a support mechanism 1802 and a load 1804 according to a plurality of embodiments. Although the movable object 1800 is described as an aircraft, this description is not intended to be limited and any suitable type of movable object may be used as previously described herein. Those skilled in the art will appreciate that any of the embodiments described herein in the context of multiple aircraft systems may be applied to some suitable movable object (eg, UAV). In some examples, the load 1804 may be provided on the movable object 1800 without the need for a support mechanism 1802. The movable object 1800 may include a plurality of propulsion mechanisms 1806, a sensing system 1808, and a communication system 1810.

複数の推進機構1806は、前に記載されているように複数のロータ、複数のプロペラ、複数のブレード、複数のエンジン、複数のモータ、複数の車輪、複数の車軸、複数の磁石、複数のノズルのうち1または複数を含み得る。例えば、複数の推進機構1806は、本明細書の他の箇所において開示されているように、複数の自動締めつけ式ロータ、複数のロータ組立体、または他の複数の回転式推進ユニットであり得る。可動物体は、1または複数の、2またはそれより多くの、3またはそれより多くの、4またはそれより多くの推進機構を有し得る。複数の推進機構は全て同じタイプのものであり得る。代替的に、1または複数の推進機構は、異なる複数のタイプの推進機構であり得る。複数の推進機構1806は、本明細書の他の箇所において記載されているような支持要素(例えば、駆動シャフト)など何らかの適切な手段を用いて可動物体1800に搭載され得る。複数の推進機構1806は、頂部、底部、前部、後部、複数の側部、またはこれらの何らかの適切な組み合わせなど可動物体1800の何らかの適切な部分に搭載され得る。 Multiple propulsion mechanisms 1806 include multiple rotors, multiple propellers, multiple blades, multiple engines, multiple motors, multiple wheels, multiple axles, multiple magnets, multiple nozzles, as previously described. It may include one or more of them. For example, the plurality of propulsion mechanisms 1806 can be a plurality of self-tightening rotors, a plurality of rotor assemblies, or a plurality of other rotary propulsion units, as disclosed elsewhere herein. The movable object may have one or more, two or more, three or more, four or more propulsion mechanisms. Multiple propulsion mechanisms can all be of the same type. Alternatively, the one or more propulsion mechanisms can be different types of propulsion mechanisms. The plurality of propulsion mechanisms 1806 may be mounted on the movable object 1800 using some suitable means such as support elements (eg, drive shafts) as described elsewhere herein. The plurality of propulsion mechanisms 1806 may be mounted on any suitable part of the movable object 1800, such as a top, a bottom, a front, a rear, a plurality of sides, or any suitable combination thereof.

いくつかの実施形態において、複数の推進機構1806は、可動物体1800が可動物体1800の何らかの水平方向の動きを要することなく(例えば、滑走路を滑走することなく)表面から鉛直方向に離陸する、または表面に鉛直方向に着陸することを可能とし得る。オプションで、複数の推進機構1806は、可動物体1800が特定の位置および/または向きで空中でホバリングすることを可能とするよう動作可能であり得る。複数の推進機構1800のうち1または複数は、他の複数の推進機構とは独立して制御され得る。代替的に、複数の推進機構1800は、同時に制御されるよう構成され得る。例えば、可動物体1800は、揚力および/または推力を可動物体に対して提供し得る複数の水平方向に向けられたロータを有し得る。水平方向に向けられた複数のロータは、鉛直方向の離陸、鉛直方向の着陸、およびホバリング能力を可動物体1800に対して提供するよう作動させられ得る。いくつかの実施形態において、水平方向の複数のロータのうち1または複数が反時計回り方向に回転し得る間、水平方向に向けられた複数のロータのうち1または複数は時計回り方向に回転し得る。例えば、時計回りのロータの数は、反時計回りのロータの数と等しくてもよい。水平方向に向けられた複数のロータのうちそれぞれの回転速度は、各ロータにより生成される揚力および/または推力を制御するために、およびこれにより、(例えば、最大3つの並進度、および最大3つの回転度に関して)可動物体1800の空間的配置、速度、および/または加速度を調整するために独立して変化させられ得る。 In some embodiments, the plurality of propulsion mechanisms 1806 take off the movable object 1800 vertically from the surface without requiring any horizontal movement of the movable object 1800 (eg, without gliding on the runway). Or it may be possible to land vertically on the surface. Optionally, the plurality of propulsion mechanisms 1806 may be operational to allow the movable object 1800 to hover in the air at a particular position and / or orientation. One or more of the plurality of propulsion mechanisms 1800 may be controlled independently of the other plurality of propulsion mechanisms. Alternatively, the plurality of propulsion mechanisms 1800 may be configured to be controlled simultaneously. For example, the movable object 1800 may have a plurality of horizontally oriented rotors capable of providing lift and / or thrust to the movable object. A plurality of horizontally oriented rotors may be actuated to provide vertical takeoff, vertical landing, and hovering capabilities to the movable object 1800. In some embodiments, one or more of the horizontally oriented rotors rotate clockwise while one or more of the horizontal rotors may rotate counterclockwise. obtain. For example, the number of clockwise rotors may be equal to the number of counterclockwise rotors. The rotational speed of each of the horizontally oriented rotors is to control the lift and / or thrust produced by each rotor, and thereby (eg, up to 3 translations, and up to 3). It can be independently varied to adjust the spatial arrangement, velocity, and / or acceleration of the movable object 1800 (with respect to one degree of rotation).

感知システム1808は、(例えば、最大3つの並進度、および最大3つの回転度に関して)可動物体1800の空間的配置、速度および/または加速度を感知し得る1または複数のセンサを含み得る。1または複数のセンサは、全地球測位システム(GPS)センサ、動きセンサ、慣性センサ、近接センサ、または画像センサを含み得る。感知システム1808により提供される感知データは、(例えば、以下に記載されているように、適切なプロセッシングユニットおよび/または制御モジュールを用いて)可動物体1800の空間的配置、速度、および/または向きを制御するのに用いられ得る。代替的に、感知システム1808は、天候条件、可能性のある複数の障害物への近接、複数の地理的特徴のロケーション、複数の人工構造のロケーション、およびその他など、可動物体を取り囲む環境についてのデータを提供するのに用いられ得る。 The sensing system 1808 may include one or more sensors capable of sensing the spatial arrangement, velocity and / or acceleration of the moving object 1800 (eg, with respect to up to 3 translations and up to 3 rotations). One or more sensors may include a Global Positioning System (GPS) sensor, a motion sensor, an inertial sensor, a proximity sensor, or an image sensor. The sensing data provided by the sensing system 1808 is the spatial placement, velocity, and / or orientation of the movable object 1800 (eg, using the appropriate processing unit and / or control module, as described below). Can be used to control. Alternatively, the sensing system 1808 describes the environment surrounding moving objects, such as weather conditions, proximity to possible obstacles, locations of multiple geographic features, locations of multiple man-made structures, and more. It can be used to provide data.

通信システム1810は、通信システム1814を有する端末1812との複数の無線信号1816を介した通信を可能とする。通信システム1810、1814は、無線通信のために適切な任意の数の送信機、受信機、および/または送受信機を含み得る。通信は、データが1方向にのみ送信され得るように片方向通信であり得る。例えば、片方向通信は、可動物体1800のみがデータを端末1812へ送信することを伴い得、またはその逆も当てはまる。データは、通信システム1810の1または複数の送信機から通信システム1812の1または複数の受信機へ送信され得、またはその逆も当てはまる。代替的に、通信は、データが可動物体1800と端末1812との間を両方の方向に送信され得るよう双方向通信であり得る。双方向通信は、通信システム1810の1または複数の送信機から通信システム1814の1または複数の受信機へデータを送信することを伴い得、またその逆も当てはまる。 The communication system 1810 enables communication with a terminal 1812 having the communication system 1814 via a plurality of radio signals 1816. Communication systems 1810, 1814 may include any number of transmitters, receivers, and / or transmitters and receivers suitable for wireless communication. Communication can be one-way communication such that data can be transmitted in only one direction. For example, one-way communication can involve only the movable object 1800 transmitting data to the terminal 1812, and vice versa. Data may be transmitted from one or more transmitters of communication system 1810 to one or more receivers of communication system 1812, and vice versa. Alternatively, the communication can be bidirectional so that data can be transmitted between the movable object 1800 and the terminal 1812 in both directions. Bidirectional communication can involve transmitting data from one or more transmitters of communication system 1810 to one or more receivers of communication system 1814, and vice versa.

いくつかの実施形態において、端末1812は、可動物体1800、支持機構1802、および積載物1804のうち1または複数に対して制御データを提供し得、可動物体1800、支持機構1802、および積載物1804のうち1または複数から情報(例えば、可動物体、支持機構または積載物の位置および/または動き情報、積載物のカメラにより捕捉された画像データなど積載物により感知されたデータ)を受信し得る。いくつかの例において、端末からの制御データは、可動物体、支持機構、および/または積載物の複数の相対的な位置、複数の動き、複数の作動、または複数の制御のための複数の命令を含み得る。例えば、制御データにより可動物体のロケーションおよび/または向きが(例えば、複数の推進機構1806の制御を介して)修正されることになり得、または可動物体と相対的に積載物が(例えば、支持機構1802の制御を介して)動くことになり得る。端末からの制御データにより、カメラまたは他の撮像デバイスの動作の制御(例えば、静止画または動画の撮像、ズームインまたはアウト、電源のオンオフ、複数の撮像モードの切り替え、画像解像度の変更、焦点の変更、被写界深度の変更、露出時間の変更、視角または視界の変更)など積載物が制御されることになり得る。いくつかの例において、可動物体、支持機構、および/または積載物からの複数の通信は、(例えば、感知システム1808の、または積載物1804の)1または複数のセンサからの情報を含み得る。複数の通信は、1または複数の異なるタイプのセンサ(例えば、GPSセンサ、動きセンサ、慣性センサ、近接センサ、または画像センサ)からの感知された情報を含み得る。そのような情報は可動物体、支持機構、および/または積載物の位置(例えば、ロケーション、向き)、動き、または加速度に関し得る。積載物からのそのような情報は、積載物により捕捉されたデータ、または積載物の感知された状態を含み得る。端末1812により送信されて提供される制御データは、可動物体1800、支持機構1802、または積載物1804のうち1または複数の状態を制御するよう構成され得る。代替的に、または組み合わせて、支持機構1802および積載物1804はそれぞれ、端末1812が可動物体1800、支持機構1802、および積載物1804のうちそれぞれと独立して通信を行い得るよう、またそれぞれを制御出来るよう端末と通信を行うよう構成された通信モジュールを含み得る。 In some embodiments, the terminal 1812 may provide control data for one or more of the movable object 1800, the support mechanism 1802, and the load 1804, the movable object 1800, the support mechanism 1802, and the load 1804. Information may be received from one or more of the loads (eg, data sensed by the load, such as moving object, support mechanism or load position and / or motion information, image data captured by the load's camera). In some examples, the control data from the terminal is a plurality of relative positions of moving objects, support mechanisms, and / or loads, multiple movements, multiple operations, or multiple instructions for multiple controls. May include. For example, control data can modify the location and / or orientation of the movable object (eg, through the control of multiple propulsion mechanisms 1806), or the load relative to the movable object (eg, support). It can move (via the control of mechanism 1802). Control data from the terminal controls the behavior of the camera or other imaging device (eg, capturing still or moving images, zooming in or out, powering on / off, switching between multiple imaging modes, changing image resolution, changing focus). , Changes in depth of field, changes in exposure time, changes in viewing angle or visibility), etc. can result in control of the load. In some examples, multiple communications from movable objects, support mechanisms, and / or loads may include information from one or more sensors (eg, of sensing systems 1808 or of loads 1804). The communication may include information sensed from one or more different types of sensors (eg, GPS sensors, motion sensors, inertial sensors, proximity sensors, or image sensors). Such information may relate to the position (eg, location, orientation), movement, or acceleration of moving objects, support mechanisms, and / or loads. Such information from the load may include data captured by the load, or the perceived state of the load. The control data transmitted and provided by the terminal 1812 may be configured to control one or more states of the movable object 1800, the support mechanism 1802, or the load 1804. Alternatively or in combination, the support mechanism 1802 and the load 1804 control each of the terminals 1812 so that they can communicate independently of the movable object 1800, the support mechanism 1802, and the load 1804, respectively. It may include a communication module configured to communicate with the terminal as much as possible.

いくつかの実施形態において、可動物体1800は、端末1812に加えて、または端末1812の代わりに他の遠隔デバイスと通信を行うよう構成され得る。また端末1812は、可動物体1800のみならず他の遠隔デバイスとも通信を行うよう構成され得る。例えば、可動物体1800および/または端末1812は、他の可動物体、若しくは他の可動物体の支持機構または積載物と通信を行い得る。所望されるとき、遠隔デバイスは第2端末または他のコンピューティングデバイス(例えば、コンピュータ、ラップトップ、タブレット、スマートフォン、または他のモバイルデバイス)であり得る。遠隔デバイスは、可動物体1800へデータを送信し、可動物体1800からデータを受信し、端末1812へデータを送信し、および/または端末1812からデータを受信するよう構成され得る。オプションで、遠隔デバイスは、可動物体1800および/または端末1812から受信したデータがウェブサイトまたはサーバにアップロードされ得るようインターネットまたは他の遠距離通信ネットワークに接続され得る。 In some embodiments, the movable object 1800 may be configured to communicate with other remote devices in addition to or on behalf of the terminal 1812. The terminal 1812 may also be configured to communicate not only with the movable object 1800 but also with other remote devices. For example, the movable object 1800 and / or the terminal 1812 may communicate with another movable object, or a support mechanism or load of the other movable object. When desired, the remote device can be a second terminal or other computing device (eg, a computer, laptop, tablet, smartphone, or other mobile device). The remote device may be configured to transmit data to the movable object 1800, receive data from the movable object 1800, transmit data to terminal 1812, and / or receive data from terminal 1812. Optionally, the remote device may be connected to the Internet or other telecommunications network so that data received from the movable object 1800 and / or terminal 1812 can be uploaded to a website or server.

図19は、複数の実施形態に係る、可動物体を制御するためのシステム1900のブロック図を用いた概略図である。システム1900は、本明細書に開示される複数のシステム、デバイス、および方法の何らかの適切な実施形態と組み合わせて用いられ得る。システム1900は、感知モジュール1902、プロセッシングユニット1904、非一時的コンピュータ可読媒体1906、制御モジュール1908、および通信モジュール1910を含み得る。 FIG. 19 is a schematic view using a block diagram of a system 1900 for controlling a movable object according to a plurality of embodiments. System 1900 can be used in combination with any suitable embodiment of the plurality of systems, devices, and methods disclosed herein. The system 1900 may include a sensing module 1902, a processing unit 1904, a non-temporary computer readable medium 1906, a control module 1908, and a communication module 1910.

感知モジュール1902は、異なる複数のやり方で複数の可動物体に関連する情報を収集する異なる複数のタイプのセンサを利用し得る。異なる複数のタイプのセンサが、異なる複数のタイプの信号、または異なる複数の発信源からの複数の信号を感知し得る。例えば、複数のセンサは、慣性センサ、GPSセンサ、近接センサ(例えば、ライダー)、またはビジョン/画像センサ(例えば、カメラ)を含み得る。感知モジュール1902は、複数のプロセッサを有するプロセッシングユニット1904に操作可能に結合され得る。いくつかの実施形態において、感知モジュールは、感知データを直接的に適切な外部デバイスまたはシステムへ送信するよう構成された送信モジュール1912(例えば、Wi−Fi(登録商標)画像送信モジュール)に操作可能に結合され得る。例えば、送信モジュール1912は、感知モジュール1902のカメラにより撮像された複数の画像を遠隔端末へ送信するのに用いられ得る。 Sensing module 1902 may utilize different types of sensors that collect information related to multiple moving objects in different ways. Different types of sensors may sense different types of signals, or signals from different sources. For example, the plurality of sensors may include inertial sensors, GPS sensors, proximity sensors (eg, riders), or vision / image sensors (eg, cameras). The sensing module 1902 may be operably coupled to a processing unit 1904 having multiple processors. In some embodiments, the sensing module can be operated on a transmitting module 1912 (eg, a Wi-Fi® image transmitting module) configured to transmit the sensing data directly to the appropriate external device or system. Can be combined with. For example, the transmission module 1912 can be used to transmit a plurality of images captured by the camera of the sensing module 1902 to a remote terminal.

プロセッシングユニット1904は、プログラマブルプロセッサ(例えば、中央演算処理装置(CPU)など1または複数のプロセッサを有し得る。プロセッシングユニット1904は、非一時的コンピュータ可読媒体1906に操作可能に結合され得る。非一時的コンピュータ可読媒体1906は、1または複数のステップを実行するためにプロセッシングユニット1904により実行可能であるロジック、コード、および/または複数のプログラム命令を格納し得る。非一時的コンピュータ可読媒体は、1または複数のメモリユニット(例えば、SDカードまたはランダムアクセスメモリ(RAM)など取り外し可能な媒体または外部ストレージ)を含み得る。いくつかの実施形態において、感知モジュール1902からのデータは、非一時的コンピュータ可読媒体1906の複数のメモリユニットへ直接的に伝達され、その中に格納され得る。非一時的コンピュータ可読媒体1906の複数のメモリユニットは、本明細書に記載されている複数の方法の何らかの適切な実施形態を実行するべくプロセッシングユニット1904により実行可能なロジック、コード、および/または複数のプログラム命令を格納し得る。例えば、プロセッシングユニット1904は、プロセッシングユニット1904の1または複数のプロセッサに、感知モジュールにより生成された感知データを分析させる複数の命令を実行するよう構成され得る。複数のメモリユニットは、プロセッシングユニット1904により処理されることになる感知モジュールからの感知データを格納し得る。いくつかの実施形態において、非一時的コンピュータ可読媒体1906の複数のメモリユニットは、プロセッシングユニット1904により生成される複数の処理結果を格納するのに用いられ得る。 The processing unit 1904 may have one or more processors such as a programmable processor (eg, a central processing unit (CPU)). The processing unit 1904 may be operably coupled to a non-transitory computer-readable medium 1906. Non-temporary. A computer-readable medium 1906 may store logic, code, and / or program instructions that can be executed by the processing unit 1904 to perform one or more steps. A non-temporary computer-readable medium is one. Alternatively, it may include multiple memory units (eg, a removable medium such as an SD card or random access memory (RAM) or external storage). In some embodiments, the data from the sensing module 1902 is non-transient computer readable. The plurality of memory units of the non-transitory computer-readable medium 1906 can be transmitted directly to and stored in the plurality of memory units of the medium 1906. The processing unit 1904 may store logic, code, and / or a plurality of program instructions that can be executed by the processing unit 1904 to execute the embodiment. For example, the processing unit 1904 may be stored in one or more processors of the processing unit 1904 by a sensing module. It may be configured to execute multiple instructions to analyze the generated sensed data. Multiple memory units may store sensed data from a sensed module that will be processed by the processing unit 1904. Some implementations. In the embodiment, the plurality of memory units of the non-temporary computer-readable medium 1906 can be used to store the plurality of processing results generated by the processing unit 1904.

いくつかの実施形態において、プロセッシングユニット1904は、可動物体の状態を制御するよう構成された制御モジュール1908に操作可能に結合され得る。例えば、制御モジュール1908は、6自由度に関して可動物体の空間的配置、速度、および/または加速度を調整するよう可動物体の複数の推進機構を制御するよう構成され得る。代替的に、または組み合わせて、制御モジュール1908は、支持機構、積載物、または感知モジュールの状態のうち1または複数を制御し得る。 In some embodiments, the processing unit 1904 may be operably coupled to a control module 1908 configured to control the state of a moving object. For example, the control module 1908 may be configured to control a plurality of propulsion mechanisms of a movable object to adjust the spatial arrangement, velocity, and / or acceleration of the movable object with respect to 6 degrees of freedom. Alternatively or in combination, the control module 1908 may control one or more of the states of the support mechanism, load, or sensing module.

プロセッシングユニット1904は、1または複数の外部デバイス(例えば、端末、ディスプレイデバイス、または他のリモートコントローラ)へデータを送信し、および/またはデータをそれらから受信するよう構成された通信モジュール1910に操作可能に結合され得る。有線通信または無線通信など何らかの適切な通信手段が用いられ得る。例えば、通信モジュール1910は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、赤外線、無線、WiFi(登録商標)、ポイントツーポイント(P2P)ネットワーク、遠距離通信ネットワーク、クラウド通信、およびその他のうち1または複数を利用し得る。オプションで、タワー、衛星、移動局などの複数の中継局が用いられ得る。複数の無線通信は近接性依存または近接性非依存であり得る。いくつかの実施形態において、複数の通信のために見通し線は要求されてもよくされなくてもよい。通信モジュール1910は、感知モジュール1902からの感知データ、プロセッシングユニット1904により生成された複数の処理結果、予め定められた制御データ、端末またはリモートコントローラからの複数のユーザコマンド、およびその他のうち1または複数を送信し得、および/またはそれらを受信し得る。 The processing unit 1904 can operate on a communication module 1910 configured to send and / or receive data from one or more external devices (eg, a terminal, display device, or other remote controller). Can be combined with. Any suitable means of communication, such as wired or wireless communication, may be used. For example, the communication module 1910 can be a local area network (LAN), wide area network (WAN), infrared, wireless, WiFi®, point-to-point (P2P) network, long-distance communication network, cloud communication, and others. One or more of them may be used. Optionally, multiple relay stations such as towers, satellites, and mobile stations can be used. Multiple radio communications can be accessibility-dependent or accessibility-independent. In some embodiments, line-of-sight may or may not be required for multiple communications. The communication module 1910 may include sensing data from sensing module 1902, multiple processing results generated by processing unit 1904, predetermined control data, multiple user commands from a terminal or remote controller, and one or more of others. Can be sent and / or they can be received.

システム1900の複数のコンポーネントは、何らかの適切な構成で配置され得る。例えば、システム1900の複数のコンポーネントのうち1または複数は、可動物体、支持機構、積載物、端末、感知システム、または上記されたもののうち1または複数と通信を行っている追加の外部デバイスの上に配置され得る。追加的に、図19は単一のプロセッシングユニット1904および単一の非一時的コンピュータ可読媒体1906を描写しているが、このことは限定するよう意図されていないこと、およびシステム1900が複数のプロセッシングユニットおよび/または非一時的コンピュータ可読媒体を含み得ることを当業者は理解されよう。いくつかの実施形態において、複数のプロセッシングユニットおよび/または非一時的コンピュータ可読媒体のうち1または複数は、システム1900により実行される処理および/またはメモリ機能の何らかの適切な態様が、可動物体、支持機構、積載物、端末、感知モジュール、上記されたもののうち1または複数と通信を行っている追加の外部デバイス、またはこれらの適切な複数の組み合わせ上など異なる複数のロケーションのうち1または複数で起こり得るよう、上記で記載した複数のロケーションに位置付けられ得る。 Multiple components of system 1900 may be arranged in some suitable configuration. For example, one or more of the components of System 1900 may be on a moving object, support mechanism, load, terminal, sensing system, or additional external device communicating with one or more of the above. Can be placed in. Additionally, FIG. 19 depicts a single processing unit 1904 and a single non-transient computer-readable medium 1906, but this is not intended to be limiting, and the system 1900 has multiple processes. Those skilled in the art will appreciate that units and / or non-transitory computer-readable media may be included. In some embodiments, one or more of the plurality of processing units and / or non-transitory computer-readable media are movable objects, supporting any suitable aspect of the processing and / or memory function performed by the system 1900. Occurs at one or more of different locations, such as on mechanisms, loads, terminals, sensing modules, additional external devices communicating with one or more of the above, or on appropriate combinations of these. It can be located in multiple locations as described above to obtain.

本明細書で用いられているように、Aおよび/またはBとは、AまたはBのうち1または複数、AおよびBなどこれらの組み合わせを包含する。 As used herein, A and / or B includes one or more of A or B, combinations thereof, such as A and B.

本願発明の好ましい複数の実施形態が本明細書に示され記載されてきたが、当業者にとっては、そのような複数の実施形態が例のみによって提供されていることが明らかとなろう。当業者は、本願発明から逸脱することなく多数の変形例、変更例、および置換例が思いつかれよう。本明細書に記載されている本願発明の複数の実施形態の様々な代替例が本願発明を実施するにあたり採用されてもよいことが理解されるべきである。本明細書に記載されている複数の実施形態の多数の異なる組み合わせが可能であり、そのような組み合わせは、本開示の一部と見なされる。加えて、本明細書における何らかの一実施形態との関連で説明される全ての特徴は、本明細書における他の複数の実施形態での使用に容易に適合させられ得る。以下の請求項が本願発明の範囲を規定すること、これら請求項およびそれらの同等物の範囲内の複数の方法および構造が、それらにより網羅されることが意図されている。
(項目1)
複数のセンサを用いて可動物体に関する初期化情報を決定するための方法であり、
上記可動物体が動作を開始したことを1または複数のプロセッサの補助を受けて検出するステップと、
上記可動物体により搭載される少なくとも1つの慣性センサから慣性データを上記1または複数のプロセッサにおいて受信するステップと、
上記可動物体により搭載される少なくとも2つの画像センサから画像データを上記1または複数のプロセッサにおいて受信するステップと、
上記慣性データおよび上記画像データに基づいて上記可動物体に関する上記初期化情報を上記1または複数のプロセッサの補助を受けて決定するステップとを備え、
上記初期化情報は、上記可動物体が動作を開始したときの、上記可動物体の位置、上記可動物体の速度、または重力方向に対する上記可動物体の向きのうち1または複数を含む、方法。
(項目2)
上記可動物体は無人航空機(UAV)である、項目1に記載の方法。
(項目3)
上記UAVが動作を開始したことを検出する上記ステップは、上記UAVが飛行を開始したことを検出することを有する、項目2に記載の方法。
(項目4)
上記UAVは、自由落下状態から飛行を開始する、項目3に記載の方法。
(項目5)
上記UAVは、ユーザにより投げられることにより飛行を開始する、項目3に記載の方法。
(項目6)
上記UAVが動作を開始したことを検出する上記ステップは、上記UAVが面から離陸したことを検出するステップを有する、項目2に記載の方法。
(項目7)
上記面は傾斜面である、項目6に記載の方法。
(項目8)
上記面は非傾斜面である、項目6に記載の方法。
(項目9)
上記慣性データは、上記可動物体の3次元加速度および3次元角速度を示す1または複数の測定値を含む、項目1に記載の方法。
(項目10)
上記慣性データは、上記可動物体が動作を開始したときから開始する時間間隔に亘って上記少なくとも1つの慣性センサにより取得される1または複数の測定値を含む、項目1に記載の方法。
(項目11)
上記画像データは、上記可動物体の周囲の環境の1または複数の画像を含む、項目1に記載の方法。
(項目12)
上記画像データは、上記可動物体が動作を開始したときから開始する時間間隔に亘って上記少なくとも2つの画像センサのうちそれぞれにより取得される1または複数の画像を含む、項目1に記載の方法。
(項目13)
決定する上記ステップは、特徴点検出アルゴリズムを用いて上記1または複数の画像を処理するステップを有する、項目12に記載の方法。
(項目14)
決定する上記ステップは、オプティカルフローアルゴリズムを用いて上記1または複数の画像を処理するステップを有する、項目12に記載の方法。
(項目15)
決定する上記ステップは、特徴マッチングアルゴリズムを用いて上記1または複数の画像を処理するステップを有する、項目12に記載の方法。
(項目16)
決定する上記ステップは、上記少なくとも2つの画像センサのうち第1画像センサにより取得された1または複数の画像を、上記少なくとも2つの画像センサのうち第2画像センサにより取得された1または複数の画像と比較するステップを有する、項目12に記載の方法。
(項目17)
上記少なくとも2つの画像センサは、複数の画像を同期的に取得するよう構成されている、項目1に記載の方法。
(項目18)
上記少なくとも2つの画像センサは、複数の画像を非同期的に取得するよう構成されている、項目1に記載の方法。
(項目19)
上記少なくとも2つの画像センサは、切り替え機構を介して上記1または複数のプロセッサに切り替え可能に結合された複数の画像センササブセットを含み、上記切り替え機構は、一時に単一の画像センササブセットを上記1または複数のプロセッサへ結合するよう構成されている、項目1に記載の方法。
(項目20)
上記画像データを受信する上記ステップは、
上記切り替え機構を介して第1画像センササブセットを上記1または複数のプロセッサに結合するステップと、
上記第1画像センササブセットからの画像データを受信するステップと、
上記切り替え機構を介して第2画像センササブセットを上記1または複数のプロセッサに結合するステップと、
上記第2画像センササブセットから画像データを受信するステップと
を有する、項目19に記載の方法。
(項目21)
上記初期化情報はさらに、上記可動物体が動作を開始したときの上記可動物体の位置および速度を含む、項目1に記載の方法。
(項目22)
決定する上記ステップは、
上記慣性データを用いて上記初期化情報の第1推定値を生成するステップと、
上記画像データを用いて上記初期化情報の第2推定値を生成するステップと、
上記第1および第2推定値を組み合わせて上記可動物体に関する上記初期化情報を取得するステップと
を有する、項目1に記載の方法。
(項目23)
上記初期化情報は、線形最適化アルゴリズムを用いて決定される、項目1に記載の方法。
(項目24)
上記初期化情報は、上記慣性データおよび上記画像データのみに基づいて決定される、項目1に記載の方法。
(項目25)
上記重力方向に対する上記可動物体の上記向きを用いて、上記少なくとも1つの慣性センサから取得した続く慣性データを補正するステップをさらに備える、項目1に記載の方法。
(項目26)
複数のセンサを用いて可動物体に関する初期化情報を決定するためのシステムであり、
上記可動物体により搭載される少なくとも1つの慣性センサと、
上記可動物体により搭載される少なくとも2つの画像センサと、
上記1または複数のプロセッサと
を備え、
上記1または複数のプロセッサは、個々に、または集合的に、
上記可動物体が動作を開始したことを検出し、
上記少なくとも1つの慣性センサから慣性データを受信し、
上記少なくとも2つの画像センサから画像データを受信し、
上記慣性データおよび上記画像データに基づいて上記可動物体に関する上記初期化情報を決定する
よう構成され、
上記初期化情報は、上記可動物体が動作を開始したときの、上記可動物体の位置、上記可動物体の速度、または重力方向に対する上記可動物体の向きのうち1または複数を含む、システム。
(項目27)
複数の実行可能命令を格納した1または複数の非一時的コンピュータ可読記憶媒体であり、
上記複数の実行可能命令は、可動物体に関する初期化情報を決定するためのコンピュータシステムの上記1または複数のプロセッサにより実行されたときにコンピュータシステムに少なくとも、
上記可動物体が動作を開始したことを検出させ、
上記可動物体により搭載される少なくとも1つの慣性センサから慣性データを受信させ、
上記可動物体により搭載される少なくとも2つの画像センサから画像データを受信させ、
上記慣性データおよび上記画像データに基づいて上記可動物体に関する上記初期化情報を決定させ、
上記初期化情報は、上記可動物体が動作を開始したときの、上記可動物体の位置、上記可動物体の速度、または重力方向に対する上記可動物体の向きのうち1または複数を含む、1または複数の非一時的コンピュータ可読記憶媒体。
(項目28)
複数のセンサを用いて可動物体に関するエラー回復を実行するための方法であり、
上記可動物体の動作の間にエラーが生じたことを1または複数のプロセッサの補助を受けて検出するステップと、
上記可動物体により搭載される少なくとも1つの慣性センサから慣性データを上記1または複数のプロセッサにおいて受信するステップと、
上記可動物体により搭載される少なくとも2つの画像センサから画像データを上記1または複数のプロセッサにおいて受信するステップと、
上記慣性データおよび上記画像データに基づいて上記可動物体に関する再初期化情報を上記1または複数のプロセッサの補助を受けて決定するステップと
を備え、
上記再初期化情報は、上記エラーが生じたときの、上記可動物体の位置、上記可動物体の速度、または重力方向に対する上記可動物体の向きのうち1または複数を含む、方法。
(項目29)
上記可動物体は無人航空機(UAV)である、項目28に記載の方法。
(項目30)
上記エラーは、上記少なくとも1つの慣性センサまたは上記少なくとも2つの画像センサのうち1または複数における機能不良を含む、項目28に記載の方法。
(項目31)
上記エラーは、上記可動物体により用いられる状態推定モジュールにおける機能不良を含む、項目28に記載の方法。
(項目32)
上記状態推定モジュールは反復状態推定アルゴリズムを用い、上記機能不良は、上記反復状態推定アルゴリズムが解に収束し損ねることを含む、項目31に記載の方法。
(項目33)
上記再初期化情報を用いて上記反復状態推定アルゴリズムを再初期化するステップをさらに備える、項目32に記載の方法。
(項目34)
上記慣性データは、上記可動物体の3次元加速度および3次元角速度を示す1または複数の測定値を含む、項目28に記載の方法。
(項目35)
上記慣性データは、上記エラーが生じたときから開始する時間間隔に亘って上記少なくとも1つの慣性センサにより取得される1または複数の測定値を含む、項目28に記載の方法。
(項目36)
上記画像データは、上記可動物体の周囲の環境の1または複数の画像を含む、項目28に記載の方法。
(項目37)
上記画像データは、エラーが生じたときから開始する時間間隔に亘って上記少なくとも2つの画像センサのうちそれぞれにより取得される1または複数の画像を含む、項目28に記載の方法。
(項目38)
決定する上記ステップは、特徴点検出アルゴリズムを用いて上記1または複数の画像を処理するステップを有する、項目37に記載の方法。
(項目39)
決定する上記ステップは、オプティカルフローアルゴリズムを用いて上記1または複数の画像を処理するステップを有する、項目37に記載の方法。
(項目40)
決定する上記ステップは、特徴マッチングアルゴリズムを用いて上記1または複数の画像を処理するステップを有する、項目37に記載の方法。
(項目41)
決定する上記ステップは、上記少なくとも2つの画像センサのうち第1画像センサにより取得された1または複数の画像を、上記少なくとも2つの画像センサのうち第2画像センサにより取得された1または複数の画像と比較するステップを有する、項目37に記載の方法。
(項目42)
上記少なくとも2つの画像センサは、複数の画像を同期的に取得するよう構成されている、項目28に記載の方法。
(項目43)
上記少なくとも2つの画像センサは、複数の画像を非同期的に取得するよう構成されている、項目28に記載の方法。
(項目44)
上記少なくとも2つの画像センサは、切り替え機構を介して上記1または複数のプロセッサに切り替え可能に結合された複数の画像センササブセットを含み、上記切り替え機構は、一時に単一の画像センササブセットを上記1または複数のプロセッサへ結合するよう構成されている、項目28に記載の方法。
(項目45)
上記画像データを受信する上記ステップは、
上記切り替え機構を介して第1画像センササブセットを上記1または複数のプロセッサに結合するステップと、
上記第1画像センササブセットからの画像データを受信するステップと、
上記切り替え機構を介して第2画像センササブセットを上記1または複数のプロセッサに結合するステップと、
上記第2画像センササブセットから画像データを受信するステップとを有する、
項目44に記載の方法。
(項目46)
上記再初期化情報はさらに、上記エラーが生じたときの上記可動物体の位置および速度を含む、項目28に記載の方法。
(項目47)
決定する上記ステップは、
上記慣性データを用いて上記再初期化情報の第1推定値を生成するステップと、
上記画像データを用いて上記再初期化情報の第2推定値を生成するステップと、
上記第1および第2推定値を組み合わせて上記可動物体に関する上記再初期化情報を取得するステップと
を有する、項目28に記載の方法。
(項目48)
上記再初期化情報は、線形最適化アルゴリズムを用いて評価される、項目28に記載の方法。
(項目49)
上記再初期化情報は、上記慣性データおよび上記画像データのみに基づいて評価される、項目28に記載の方法。
(項目50)
上記重力方向に対する上記可動物体の上記向きを用いて、上記少なくとも1つの慣性センサから取得した続く慣性データを補正するステップをさらに備える、項目28に記載の方法。
(項目51)
複数のセンサを用いて可動物体に関するエラー回復を実行するためのシステムであり、
上記可動物体により搭載される少なくとも1つの慣性センサと、
上記可動物体により搭載される少なくとも2つの画像センサと、
1または複数のプロセッサと
を備え、
上記1または複数のプロセッサは、個々に、または集合的に、
上記可動物体の動作の間にエラーが生じたことを検出し、
上記少なくとも1つの慣性センサから慣性データを受信し、
上記少なくとも2つの画像センサから画像データを受信し、
上記慣性データおよび上記画像データに基づいて上記可動物体に関する再初期化情報を決定する
よう構成され、
上記再初期化情報は、エラーが生じたときの、上記可動物体の位置、上記可動物体の速度、または重力方向に対する上記可動物体の向きのうち1または複数を含む、システム。
(項目52)
複数の実行可能命令を格納した1または複数の非一時的コンピュータ可読記憶媒体であり、
上記複数の実行可能命令は、可動物体に関するエラー回復を実行するためのコンピュータシステムの上記1または複数のプロセッサにより実行されたときにコンピュータシステムに少なくとも、
上記可動物体の動作の間にエラーが生じたことを検出させ、
上記可動物体により搭載される少なくとも1つの慣性センサから慣性データを受信させ、
上記可動物体により搭載される少なくとも2つの画像センサから画像データを受信させ、
上記慣性データおよび上記画像データに基づいて上記可動物体に関する再初期化情報を決定させ、
上記再初期化情報は、上記エラーが生じたときの、上記可動物体の位置、上記可動物体の速度、または重力方向に対する上記可動物体の向きのうち1または複数を含む、1または複数の非一時的コンピュータ可読記憶媒体。
Although preferred embodiments of the present invention have been shown and described herein, it will be apparent to those skilled in the art that such embodiments are provided by way of example only. One of ordinary skill in the art can come up with a number of modifications, modifications, and substitutions without departing from the invention of the present application. It should be understood that various alternatives of the plurality of embodiments of the present invention described herein may be employed in carrying out the present invention. Many different combinations of the plurality of embodiments described herein are possible and such combinations are considered part of this disclosure. In addition, all features described in the context of any one embodiment herein may be readily adapted for use in a plurality of other embodiments herein. It is intended that the following claims define the scope of the present invention, and that a plurality of methods and structures within the scope of these claims and their equivalents are covered by them.
(Item 1)
A method for determining initialization information about moving objects using multiple sensors.
A step of detecting that the movable object has started operation with the assistance of one or more processors, and
A step of receiving inertial data from at least one inertial sensor mounted by the movable object in the one or more processors.
A step of receiving image data from at least two image sensors mounted by the movable object in the one or more processors.
It comprises a step of determining the initialization information about the movable object based on the inertial data and the image data with the assistance of the one or more processors.
The initialization information includes one or more of the position of the movable object, the velocity of the movable object, or the orientation of the movable object with respect to the direction of gravity when the movable object starts to move.
(Item 2)
The method of item 1, wherein the movable object is an unmanned aerial vehicle (UAV).
(Item 3)
The method according to item 2, wherein the step of detecting that the UAV has started operation comprises detecting that the UAV has started flight.
(Item 4)
The method according to item 3, wherein the UAV starts flight from a free fall state.
(Item 5)
The method according to item 3, wherein the UAV starts a flight by being thrown by a user.
(Item 6)
The method according to item 2, wherein the step of detecting that the UAV has started operation includes a step of detecting that the UAV has taken off from a surface.
(Item 7)
The method according to item 6, wherein the surface is an inclined surface.
(Item 8)
The method according to item 6, wherein the surface is a non-sloping surface.
(Item 9)
The method according to item 1, wherein the inertial data includes one or more measured values indicating the three-dimensional acceleration and the three-dimensional angular velocity of the movable object.
(Item 10)
The method according to item 1, wherein the inertial data includes one or more measured values acquired by the at least one inertial sensor over a time interval starting from the time the movable object starts moving.
(Item 11)
The method according to item 1, wherein the image data includes one or more images of the environment around the movable object.
(Item 12)
The method according to item 1, wherein the image data includes one or more images acquired by each of the at least two image sensors over a time interval starting from the time the movable object starts moving.
(Item 13)
The method of item 12, wherein the step of determining comprises processing the one or more images using a feature point detection algorithm.
(Item 14)
The method of item 12, wherein the step of determining comprises processing the one or more images using an optical flow algorithm.
(Item 15)
12. The method of item 12, wherein the step of determining comprises processing the one or more images using a feature matching algorithm.
(Item 16)
The step of determining is one or more images acquired by the first image sensor of the at least two image sensors and one or more images acquired by the second image sensor of the at least two image sensors. 12. The method of item 12, comprising a step of comparing with.
(Item 17)
The method according to item 1, wherein the at least two image sensors are configured to synchronously acquire a plurality of images.
(Item 18)
The method according to item 1, wherein the at least two image sensors are configured to asynchronously acquire a plurality of images.
(Item 19)
The at least two image sensors include a plurality of image sensor subsets that are switchably coupled to the one or more processors via a switching mechanism, the switching mechanism simultaneously combining a single image sensor subset with the above one. Or the method of item 1, which is configured to be coupled to a plurality of processors.
(Item 20)
The above step of receiving the above image data is
The step of coupling the first image sensor subset to the one or more processors via the switching mechanism, and
The step of receiving image data from the first image sensor subset and
The step of coupling the second image sensor subset to the one or more processors via the switching mechanism, and
19. The method of item 19, comprising the step of receiving image data from the second image sensor subset.
(Item 21)
The method according to item 1, wherein the initialization information further includes the position and speed of the movable object when the movable object starts to move.
(Item 22)
The above steps to determine
The step of generating the first estimated value of the initialization information using the inertial data, and
A step of generating a second estimated value of the initialization information using the image data, and
The method according to item 1, further comprising a step of acquiring the initialization information regarding the movable object by combining the first and second estimated values.
(Item 23)
The method according to item 1, wherein the initialization information is determined using a linear optimization algorithm.
(Item 24)
The method according to item 1, wherein the initialization information is determined based only on the inertial data and the image data.
(Item 25)
The method of item 1, further comprising a step of correcting subsequent inertial data acquired from the at least one inertial sensor using the orientation of the movable object with respect to the direction of gravity.
(Item 26)
It is a system for determining initialization information about moving objects using multiple sensors.
With at least one inertial sensor mounted by the movable object,
At least two image sensors mounted by the movable object,
Equipped with one or more of the above processors
The one or more processors mentioned above, individually or collectively,
Detecting that the above movable object has started to move,
Inertia data is received from at least one of the above inertial sensors,
Image data is received from at least the above two image sensors,
It is configured to determine the initialization information about the movable object based on the inertial data and the image data.
The initialization information includes one or more of the position of the movable object, the velocity of the movable object, or the orientation of the movable object with respect to the direction of gravity when the movable object starts operation.
(Item 27)
One or more non-temporary computer-readable storage media containing multiple executable instructions.
The plurality of executable instructions to the computer system, at least when executed by the one or more processors of the computer system for determining initialization information about a moving object,
Detect that the above movable object has started to move,
Inertia data is received from at least one inertial sensor mounted by the movable object.
Image data is received from at least two image sensors mounted by the movable object.
The initialization information regarding the movable object is determined based on the inertial data and the image data.
The initialization information includes one or more of the position of the movable object, the velocity of the movable object, or the direction of the movable object with respect to the direction of gravity when the movable object starts to move. Non-temporary computer-readable storage medium.
(Item 28)
A method for performing error recovery on moving objects using multiple sensors.
A step of detecting that an error has occurred during the operation of the movable object with the assistance of one or more processors, and
A step of receiving inertial data from at least one inertial sensor mounted by the movable object in the one or more processors.
A step of receiving image data from at least two image sensors mounted by the movable object in the one or more processors.
A step of determining reinitialization information about the movable object based on the inertial data and the image data with the assistance of the one or more processors is provided.
The method, wherein the reinitialization information includes one or more of the position of the movable object, the velocity of the movable object, or the orientation of the movable object with respect to the direction of gravity when the error occurs.
(Item 29)
28. The method of item 28, wherein the movable object is an unmanned aerial vehicle (UAV).
(Item 30)
28. The method of item 28, wherein the error includes a malfunction in one or more of the at least one inertial sensor or the at least two image sensors.
(Item 31)
28. The method of item 28, wherein the error includes a malfunction in the state estimation module used by the movable object.
(Item 32)
The method according to item 31, wherein the state estimation module uses an iterative state estimation algorithm, and the malfunction includes the failure of the iterative state estimation algorithm to converge to a solution.
(Item 33)
32. The method of item 32, further comprising a step of reinitializing the iterative state estimation algorithm with the reinitialization information.
(Item 34)
28. The method of item 28, wherein the inertial data comprises one or more measurements indicating the three-dimensional acceleration and the three-dimensional angular velocity of the moving object.
(Item 35)
28. The method of item 28, wherein the inertial data comprises one or more measurements acquired by the at least one inertial sensor over a time interval starting from the time the error occurs.
(Item 36)
28. The method of item 28, wherein the image data includes one or more images of the environment surrounding the movable object.
(Item 37)
28. The method of item 28, wherein the image data comprises one or more images acquired by each of the at least two image sensors over a time interval starting from the time the error occurs.
(Item 38)
37. The method of item 37, wherein the step of determining comprises processing the one or more images using a feature point detection algorithm.
(Item 39)
37. The method of item 37, wherein the step of determining comprises processing the one or more images using an optical flow algorithm.
(Item 40)
37. The method of item 37, wherein the step of determining comprises processing the one or more images using a feature matching algorithm.
(Item 41)
The step of determining is one or more images acquired by the first image sensor of the at least two image sensors and one or more images acquired by the second image sensor of the at least two image sensors. 37. The method of item 37, comprising a step of comparing with.
(Item 42)
28. The method of item 28, wherein the at least two image sensors are configured to synchronously acquire a plurality of images.
(Item 43)
28. The method of item 28, wherein the at least two image sensors are configured to asynchronously acquire a plurality of images.
(Item 44)
The at least two image sensors include a plurality of image sensor subsets that are switchably coupled to the one or more processors via a switching mechanism, the switching mechanism simultaneously combining a single image sensor subset with the above one. 28. The method of item 28, which is configured to be coupled to multiple processors.
(Item 45)
The above step of receiving the above image data is
The step of coupling the first image sensor subset to the one or more processors via the switching mechanism, and
The step of receiving image data from the first image sensor subset and
The step of coupling the second image sensor subset to the one or more processors via the switching mechanism, and
It has a step of receiving image data from the second image sensor subset.
The method according to item 44.
(Item 46)
28. The method of item 28, wherein the reinitialization information further includes the position and velocity of the movable object when the error occurs.
(Item 47)
The above steps to determine
The step of generating the first estimated value of the reinitialization information using the inertial data, and
A step of generating a second estimated value of the reinitialization information using the image data, and
28. The method of item 28, comprising combining the first and second estimates to obtain the reinitialization information for the movable object.
(Item 48)
28. The method of item 28, wherein the reinitialization information is evaluated using a linear optimization algorithm.
(Item 49)
28. The method of item 28, wherein the reinitialization information is evaluated based solely on the inertial data and the image data.
(Item 50)
28. The method of item 28, further comprising a step of correcting subsequent inertial data acquired from the at least one inertial sensor using the orientation of the movable object with respect to the direction of gravity.
(Item 51)
A system for performing error recovery on moving objects using multiple sensors.
With at least one inertial sensor mounted by the movable object,
At least two image sensors mounted by the movable object,
Equipped with one or more processors
The one or more processors mentioned above, individually or collectively,
Detecting that an error has occurred during the movement of the above movable object,
Inertia data is received from at least one of the above inertial sensors,
Image data is received from at least the above two image sensors,
It is configured to determine the reinitialization information for the movable object based on the inertial data and the image data.
The reinitialization information includes one or more of the position of the movable object, the velocity of the movable object, or the orientation of the movable object with respect to the direction of gravity when an error occurs.
(Item 52)
One or more non-temporary computer-readable storage media containing multiple executable instructions.
The plurality of executable instructions are at least in the computer system when executed by the one or more processors of the computer system for performing error recovery on a moving object.
Detect that an error has occurred during the operation of the above movable object,
Inertia data is received from at least one inertial sensor mounted by the movable object.
Image data is received from at least two image sensors mounted by the movable object.
Reinitialization information about the movable object is determined based on the inertial data and the image data.
The reinitialization information includes one or more non-temporary objects including one or more of the position of the movable object, the velocity of the movable object, or the direction of the movable object with respect to the direction of gravity when the error occurs. Computer-readable storage medium.

Claims (15)

複数のセンサを用いて、無人航空機(UAV)である可動物体に関するエラー回復を実行するための方法であり、
前記可動物体の飛行中の間にエラーが生じたことを1または複数のプロセッサの補助を受けて検出するステップと、
前記エラーが生じた後の自由落下状態のときから開始する時間間隔に亘って、前記可動物体により搭載される少なくとも1つの慣性センサから慣性データを受信するステップと、
前記エラーが生じたときから開始する時間間隔に亘って、前記可動物体により運ばれる少なくとも2つの画像センサから画像データを前記1または複数のプロセッサにおいて受信するステップと、
前記エラーが生じた後の自由落下状態のときから開始する時間間隔に亘って受信された前記慣性データおよび前記画像データに基づいて、前記エラーが生じた後の前記可動物体の動作の間に、反復最適化アルゴリズムを用いて、前記可動物体に関する再初期化情報の推定値を決定するステップと
を含み、
前記再初期化情報の推定値は、前記エラーが生じたときの可動物体の状態を示す、前記可動物体の位置、前記可動物体の速度、及び重力方向に対する前記可動物体の向きを含む、方法。
A method for performing error recovery on moving objects that are unmanned aerial vehicles (UAVs) using multiple sensors.
A step of detecting that an error has occurred during the flight of the moving object with the assistance of one or more processors.
A step of receiving inertial data from at least one inertial sensor mounted by the movable object over a time interval starting from the free fall state after the error has occurred.
A step of receiving image data from at least two image sensors carried by the movable object in the one or more processors over a time interval starting from the time the error occurs.
Based on the inertial data and the image data received over a time interval starting from the free fall state after the error occurred, during the movement of the movable object after the error occurred. Including the step of determining an estimate of the reinitialization information for the moving object using an iterative optimization algorithm.
The method, wherein the estimated value of the reinitialization information includes the position of the movable object, the velocity of the movable object, and the orientation of the movable object with respect to the direction of gravity, indicating the state of the movable object when the error occurs.
前記エラーは、前記少なくとも1つの慣性センサ及び前記少なくとも2つの画像センサのうち1または複数における機能不良を含む、請求項1に記載の方法。 The method of claim 1, wherein the error comprises a malfunction in one or more of the at least one inertial sensor and the at least two image sensors. 前記エラーは、前記可動物体により用いられる状態推定モジュールにおける機能不良を含む、請求項1または2に記載の方法。 The method of claim 1 or 2 , wherein the error includes a malfunction in the state estimation module used by the movable object. 前記状態推定モジュールは前記反復最適化アルゴリズムを用い、前記機能不良は、前記反復最適化アルゴリズムが解に収束し損ねることを含む、請求項に記載の方法。 The method according to claim 3 , wherein the state estimation module uses the iterative optimization algorithm, and the malfunction includes the failure of the iterative optimization algorithm to converge to a solution. 前記再初期化情報を用いて前記反復最適化アルゴリズムを再初期化するステップをさらに備える、請求項に記載の方法。 The method of claim 4 , further comprising a step of reinitializing the iterative optimization algorithm using the reinitialization information. 前記慣性データは、前記可動物体の3次元加速度および3次元角速度を示す1または複数の測定値を含む、請求項1からの何れか1つに記載の方法。 The method according to any one of claims 1 to 5 , wherein the inertial data includes one or more measured values indicating a three-dimensional acceleration and a three-dimensional angular velocity of the movable object. 前記画像データは、前記可動物体の周囲の環境の1または複数の画像を含む、請求項1からの何れか1つに記載の方法。 The method according to any one of claims 1 to 6 , wherein the image data includes one or more images of the environment around the movable object. 決定する前記ステップは、特徴点検出アルゴリズム、オプティカルフローアルゴリズム、または特徴マッチングアルゴリズムを用いて前記1または複数の画像を処理するステップを有する、請求項1からの何れか1つに記載の方法。 The step feature point detection algorithm, optical flow algorithm or with the step of processing the one or more images using a feature matching algorithm A method according to either one of claims 1 to 7, the determining. 決定する前記ステップは、前記少なくとも2つの画像センサのうち第1画像センサにより取得された1または複数の画像を、前記少なくとも2つの画像センサのうち第2画像センサにより取得された1または複数の画像と比較するステップを有する、請求項1からの何れか1つに記載の方法。 The step of determining is one or more images acquired by the first image sensor of the at least two image sensors and one or more images acquired by the second image sensor of the at least two image sensors. The method according to any one of claims 1 to 8 , which comprises a step of comparison with. 前記画像データを受信する前記ステップは、
切り替え機構を介して第1画像センササブセットを前記1または複数のプロセッサに結合するステップと、
前記第1画像センササブセットからの画像データを受信するステップと、
前記切り替え機構を介して第2画像センササブセットを前記1または複数のプロセッサに結合するステップと、
前記第2画像センササブセットから画像データを受信するステップとを有する、
請求項1からの何れか1つに記載の方法。
The step of receiving the image data is
The step of coupling the first image sensor subset to the one or more processors via a switching mechanism.
A step of receiving image data from the first image sensor subset,
The step of coupling the second image sensor subset to the one or more processors via the switching mechanism.
It comprises a step of receiving image data from the second image sensor subset.
The method according to any one of claims 1 to 9 .
決定する前記ステップは、
前記慣性データを用いて前記再初期化情報の第1推定値を生成するステップと、
前記画像データを用いて前記再初期化情報の第2推定値を生成するステップと、
前記第1推定値および第2推定値を組み合わせて前記可動物体に関する前記再初期化情報の推定値を取得するステップと
を有する、請求項1から10の何れか1つに記載の方法。
The step to determine is
The step of generating the first estimated value of the reinitialization information using the inertial data, and
A step of generating a second estimated value of the reinitialization information using the image data, and
The method according to any one of claims 1 to 10 , comprising a step of combining the first estimated value and the second estimated value to obtain an estimated value of the reinitialization information regarding the movable object.
決定する前記ステップは、前記再初期化情報の推定値を、前記エラーが生じた後の自由落下状態のときから開始する時間間隔に亘って受信された前記慣性データおよび前記画像データのみに基づいて前記反復最適化アルゴリズムを用いて決定するステップを含む、請求項1から11の何れか1つに記載の方法。 The step of determining is based solely on the inertial data and the image data received over a time interval starting from the free fall state after the error has occurred, based on the estimated value of the reinitialization information. The method according to any one of claims 1 to 11 , comprising the step of determining using the iterative optimization algorithm. 前記重力方向に対する前記可動物体の前記向きを用いて、前記少なくとも1つの慣性センサから取得した慣性データを補正するステップをさらに備える、請求項1から12の何れか1つに記載の方法。 The method according to any one of claims 1 to 12 , further comprising a step of correcting inertial data acquired from the at least one inertial sensor using the orientation of the movable object with respect to the direction of gravity. 複数のセンサを用いて可動物体に関するエラー回復を実行するためのシステムであり、
前記可動物体により運ばれる少なくとも1つの慣性センサと、
前記可動物体により運ばれる少なくとも2つの画像センサと、
1または複数のプロセッサと
を備え、
前記1または複数のプロセッサは、請求項1から13の何れか1つに記載の方法を実行する、システム。
A system for performing error recovery on moving objects using multiple sensors.
With at least one inertial sensor carried by the movable object,
At least two image sensors carried by the movable object,
Equipped with one or more processors
The one or more processors performs a method according to any one of claims 1 13, system.
請求項1から13の何れか1つに記載の方法をコンピュータに実行させるためのプログラム。 A program for causing a computer to execute the method according to any one of claims 1 to 13 .
JP2018132694A 2018-07-12 2018-07-12 Methods, systems, and programs for performing error recovery Active JP6800918B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018132694A JP6800918B2 (en) 2018-07-12 2018-07-12 Methods, systems, and programs for performing error recovery

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018132694A JP6800918B2 (en) 2018-07-12 2018-07-12 Methods, systems, and programs for performing error recovery

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2016547019A Division JP6371397B2 (en) 2015-05-23 2015-05-23 Method, system, and program for determining state information regarding unmanned aerial vehicles

Publications (2)

Publication Number Publication Date
JP2019023865A JP2019023865A (en) 2019-02-14
JP6800918B2 true JP6800918B2 (en) 2020-12-16

Family

ID=65368539

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018132694A Active JP6800918B2 (en) 2018-07-12 2018-07-12 Methods, systems, and programs for performing error recovery

Country Status (1)

Country Link
JP (1) JP6800918B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023008597A1 (en) * 2021-07-27 2023-02-02 주식회사 럭스로보 Control system and control method for smart ai kit

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112414431B (en) * 2020-11-18 2023-05-12 的卢技术有限公司 Robust vehicle-mounted multi-sensor external parameter calibration method

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4116116B2 (en) * 1997-09-11 2008-07-09 富士重工業株式会社 Ranging origin recognition device for moving objects
JP2000213953A (en) * 1999-01-25 2000-08-04 Mitsubishi Electric Corp Navigation device for flying object
AU2007347733B2 (en) * 2006-10-06 2012-05-03 Irobot Corporation Robotic vehicle
US20080195316A1 (en) * 2007-02-12 2008-08-14 Honeywell International Inc. System and method for motion estimation using vision sensors
JP2008304260A (en) * 2007-06-06 2008-12-18 Mitsubishi Electric Corp Image processing device
JP2010208501A (en) * 2009-03-10 2010-09-24 Mitsubishi Heavy Ind Ltd Unmanned aircraft and unmanned aircraft system
JP2011010109A (en) * 2009-06-26 2011-01-13 Canon Inc Image transmitting system
CN101598556B (en) * 2009-07-15 2011-05-04 北京航空航天大学 Unmanned aerial vehicle vision/inertia integrated navigation method in unknown environment
US8965682B2 (en) * 2010-10-25 2015-02-24 Lockheed Martin Corporation Estimating position and orientation of an underwater vehicle based on correlated sensor data
JP5793851B2 (en) * 2010-11-08 2015-10-14 富士通株式会社 POSITION ESTIMATION METHOD, POSITION ESTIMATION DEVICE, AND PROGRAM
JP2012105557A (en) * 2010-11-15 2012-06-07 Original Soft:Kk Automatic lawn mower
JP5841794B2 (en) * 2011-09-30 2016-01-13 富士フイルム株式会社 Liquid crystal display
CN103033184B (en) * 2011-09-30 2014-10-15 迈实电子(上海)有限公司 Error correction method, device and system for inertial navigation system
JP5996421B2 (en) * 2012-12-26 2016-09-21 ヤマハ発動機株式会社 Obstacle detection device and vehicle using the same

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023008597A1 (en) * 2021-07-27 2023-02-02 주식회사 럭스로보 Control system and control method for smart ai kit

Also Published As

Publication number Publication date
JP2019023865A (en) 2019-02-14

Similar Documents

Publication Publication Date Title
JP6320542B2 (en) Method, system, and program for estimating one or more external parameters for a movable object having a plurality of sensors having an initial configuration
JP6262865B2 (en) Sensor fusion using inertial and image sensors
JP6325116B2 (en) Sensor fusion using inertial and image sensors
JP6371397B2 (en) Method, system, and program for determining state information regarding unmanned aerial vehicles
US11879737B2 (en) Systems and methods for auto-return
CN109219785B (en) Multi-sensor calibration method and system
US10060746B2 (en) Methods and systems for determining a state of an unmanned aerial vehicle
WO2018053861A1 (en) Methods and system for vision-based landing
WO2018170882A1 (en) Method and system for adaptive gimbal
JP6800918B2 (en) Methods, systems, and programs for performing error recovery

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180712

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190719

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190730

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191028

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200413

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200714

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201027

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201125

R150 Certificate of patent or registration of utility model

Ref document number: 6800918

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150