(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-09-01
(54)【発明の名称】平面ロボットシステム中のIMUによる、動的なオプティカルフローセンサの較正のための方法および装置
(51)【国際特許分類】
G01C 21/12 20060101AFI20220825BHJP
【FI】
G01C21/12
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2021577621
(86)(22)【出願日】2020-06-26
(85)【翻訳文提出日】2022-02-02
(86)【国際出願番号】 US2020039856
(87)【国際公開番号】W WO2020264320
(87)【国際公開日】2020-12-30
(32)【優先日】2019-06-28
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】520330641
【氏名又は名称】シーバ・テクノロジーズ・インコーポレイテッド
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ジャンルエ・ジャオ
(72)【発明者】
【氏名】ユン・リ
(72)【発明者】
【氏名】ブライアン・エー・クック
【テーマコード(参考)】
2F129
【Fターム(参考)】
2F129AA01
2F129BB20
2F129BB22
2F129BB26
2F129BB33
2F129BB36
2F129BB38
2F129CC33
(57)【要約】
平面ロボットシステム中で慣性測定ユニット(IMU)測定値を使用することによってオプティカルフロー(OF)センサを較正するために、方法、装置、およびシステムが提供される。
【特許請求の範囲】
【請求項1】
ロボットシステム中で慣性測定ユニット(IMU)を使用することによってオプティカルフロー(OF)センサを較正する方法であって、
IMUからのデータを収集するため測定を実施するステップと、
前記OFセンサを較正するために前記データを使用して前記IMUと前記OFセンサの間のオプティカルフロースケール、位置合わせ角度、および/または変位のうちの1つまたは複数を修正するステップと
を含む方法。
【請求項2】
前記IMUと前記OFセンサの間のオプティカルフロースケール、位置合わせ角度、および/または変位を較正する前記ステップが、
少なくとも、予め規定された領域および予め規定されたフレームにおける剛体の方程式の定式化を介して、1つまたは複数の定式化におけるfminsearchおよび/または最小2乗(LS)プロセスを使用するステップ
をさらに含む、請求項1に記載の方法。
【請求項3】
前記IMUが直線加速度および/または角速度を測定する、請求項1または2に記載の方法。
【請求項4】
前記IMUが角度位置を得る、請求項1から3のいずれか一項に記載の方法。
【請求項5】
前記予め規定された領域が加速度領域、速度領域、および/または位置領域である、請求項2から4のいずれか一項に記載の方法。
【請求項6】
前記予め規定されたフレームが本体フレームまたはユーザフレームである、請求項2から5のいずれか一項に記載の方法。
【請求項7】
前記較正が、
本体フレームおよび速度領域においてIMU測定値とOFセンサ測定値を前記剛体の方程式を通して関係付けるステップ
を含む、請求項1から6のいずれか一項に記載の方法。
【請求項8】
前記較正が、
前記IMUから、直線加速度を含む第1の信号を受け取るステップと、
前記OFセンサから、前記ロボットシステムの速度を含む第2の信号を受け取るステップと、
前記IMUから、角速度に基づいて生成されるベクトルおよび知られているベクトルを含む第3の信号を受け取るステップと、
ユーザフレームへ回転するステップの後に、前記第1の信号、前記第2の信号、および前記第3の信号に直流(DC)ブロックフィルタの第1のセットを適用するステップと、
前記ユーザフレームにおいて前記直線加速度を積分するステップと
を含む、請求項1から7のいずれか一項に記載の方法。
【請求項9】
前記ユーザフレームにおいて前記直線加速度を積分するステップの後に、前記第1の信号、前記第2の信号、および前記第3の信号にDCブロックフィルタの第2のセットを適用するステップと、
本体フレームに回転するステップと
をさらに含む、請求項8に記載の方法。
【請求項10】
DCブロックフィルタの前記第1のセットおよび前記第2のセットが1つまたは複数の同じDCブロックフィルタを有する、請求項9に記載の方法。
【請求項11】
前記較正が、
前記IMUから、直線加速度を含む第1の信号を受け取るステップと、
前記OFセンサから、前記ロボットシステムの速度を含む第2の信号を受け取るステップと、
前記IMUから、角速度を含む第3の信号を受け取るステップと、
本体フレームにおいて、少なくとも前記第1の信号および前記第2の信号に直流(DC)ブロックフィルタの第1のセットを適用するステップと、
前記本体フレームにおいて前記直線加速度を積分するステップと、
前記積分した直線加速度および前記速度をユーザフレームへと回転させるステップと、
前記積分および前記回転の後に、少なくとも前記第1の信号および前記第2の信号にDCブロックフィルタの第2のセットを適用するステップと
を含む、請求項1に記載の方法。
【請求項12】
前記本体フレームにおける前記第3の信号にDCブロックフィルタの前記第1のセットおよび/または前記第2のセットを適用するステップ
をさらに含む、請求項11に記載の方法。
【請求項13】
DCブロックフィルタの前記第1のセットおよび前記第2のセットが1つまたは複数の同じDCブロックフィルタを有する、請求項11または12に記載の方法。
【請求項14】
前記積分した直線加速度および前記速度を前記ユーザフレームへと回転させるステップ、ならびに前記積分および前記回転の後に少なくとも前記第1の信号および前記第2の信号にDCブロックフィルタの前記第2のセットを適用するステップの後に、少なくとも前記積分した直線加速度および前記速度を前記本体フレームへと戻して回転させるステップ
をさらに含む、請求項11から13のいずれか一項に記載の方法。
【請求項15】
前記較正が、前記OFセンサを較正するための較正パラメータを取得するステップを含む、請求項1に記載の方法。
【請求項16】
前記較正パラメータが、少なくとも前記剛体の方程式の前記定式化から推定される1つまたは複数の運動パラメータを含む、請求項15に記載の方法。
【請求項17】
前記IMUから出力された前記データおよび前記OFセンサから出力された前記データの一致の品質が閾値より上であるかを判定するステップと、
前記一致の品質が前記閾値より上であるときにだけ、前記IMUから出力された前記データを使用して前記OFセンサを較正するステップと
をさらに含む、請求項1から16のいずれか一項に記載の方法。
【請求項18】
請求項1から17のいずれか一項に記載の方法を実施する、オプティカルフロー(OF)センサと慣性測定ユニット(IMU)とを備えるロボットシステム。
【請求項19】
請求項1から17のいずれか一項に記載の方法を実施する、プロセッサ、送受信器、および1つまたは複数のセンサを備える装置。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、その開示が参照によって本明細書に組み込まれる、2019年6月28日に出願された「Methods and Apparatus for Dynamic Optical Flow Sensor Calibration By IMU in Planar Robot Systems」という題名の米国仮特許出願第62/868,260号に関係し、米国仮特許出願第62/868,260号の優先権を主張する。
【背景技術】
【0002】
電子デバイス、特に、セルラ電話、デジタルカメラ、全地球測位システム(GPS)ユニット、ラップトップおよびパームトップコンピュータ、自動車、ロボット真空掃除機などといったモバイルデバイスでは、機能性の拡張を実現させるためセンサ(たとえば、運動センサ)を含むことが、ますます一般的となり、普及している。たとえば、センサは、角速度を測定するジャイロスコープ、直線加速度を測定する加速度計、および/または経時的な画像の特徴の変位を測定するオプティカルフロー(OF)センサを含むことができる。
【0003】
一般的に、平面的な運動だけを経験する平面ロボット(たとえば、ロボット真空掃除機またはRVC)が活況である。ナビゲーションおよび自己位置推定と環境地図作成の同時実行(SLAM)のために、平面ロボットシステム(たとえば、RVC)中で、慣性測定ユニット(IMU)(またはIMUセンサ)およびOFセンサが使用されることが多い。加速度計およびジャイロスコープを含むことができるIMUが、ロボットの相対的機首方向を提供する。OFセンサは、センサフレーム中のロボットの速度を提供する。いくつかの場合に、OFセンサは、OFフレームにおける2つのサンプリング点/画像間のX軸およびY軸における、下にある面に対する変位を測定する。サンプリング速度は、ほとんどの場合に一定であるために、対応する速度を容易に得ることができる。推測航法を介して、現在の速度および機首方向測定を用いて、ロボットの最後の位置の推定を更新することによって、ロボットの軌道を計算することができる。理論では、加速度を積分することによって速度を計算することができるが、IMUから計算される直線加速度は、積分誤差をもたらす、重力残差およびゼロ重力オフセット(ZGO)を有する場合がある。積分誤差は、時間が経過すると増加する可能性がある。民生レベルの精度を有する加速度計では、計算した軌道は、数秒後には、形が崩れる可能性がある。したがって、速度を提供するのに、OFセンサが有益である。OFセンサを用いてさえ、計算した軌道は、しばらくしたら、形が崩れる可能性がある。いくつかの場合では、誤差がより低い速度で成長するときに、OFセンサは、ロボットナビゲーションに依然として利益をもたらす場合がある。
【0004】
いくつかの例では、OFセンサは、経時的に画像の特徴の変位を測定することができる。たとえば、OFセンサは、連続するサンプル画像間で動いた特徴の画素の平均数を表す、サンプリングされるたびの、2次元(2D)変位ベクトルを報告することができる。これらの画像領域の値を使用するために、較正を介して、画素距離を実世界距離に変換する必要がある。たとえば、OFセンサは、2D画素距離を出力することができ、OFセンサは、ナビゲーションおよびマッピングで使用するための正確な速度を得るために、較正を必要とする場合がある。
【0005】
いくつかの実装形態では、OFセンサ製造業者は、センサ構成および作動条件(たとえば、接地面、光源、および/またはOFセンサレンズの高さ)のための1つまたは複数の較正パラメータを得るための較正ガイドを提供する場合がある。たとえば、OFセンサ製造業者は、知られている光源および/またはトラッキング面を用いた静的な較正手順を使用することまたは適用することができる。しかし、これらの較正パラメータは、接地面もしくは光源(たとえば、レーザまたはLED)における差異に基づいて、または、OFセンサの高さが変わるとき変化する。たとえば、どの光源がオンであるかを接地面が判定するとき、接地面が変わると較正パラメータが変わる場合がある。
【0006】
したがって、不均一な面(たとえば、敷物、タイル、木)にわたってナビゲーションする間、および、正確さを得るためその照明を適合させる間に、ロボット(たとえば、平面ロボット)がOFセンサを動的に較正して、正確な速度推定値を得ることが重要である。推測航法ナビゲーションでは、センサの正確さによって、位置誤差成長速度が促進される。したがって、正確な較正は、高精度の動作を達成するのに有用である。
【先行技術文献】
【特許文献】
【0007】
【非特許文献】
【0008】
【非特許文献1】本明細書とともに本出願人によって2019年6月28日に出願された「METHODS AND APPARATUS FOR MUTUAL GYROSCOPE SCALE AND OPTICAL FLOW SENSOR SCALE CALIBRATION THROUGH OPTICAL FLOW IMAGE QUALITY METADATA」という題名の出願人参照文献第14745US01号
【発明の概要】
【課題を解決するための手段】
【0009】
一実施形態によれば、ロボットシステム中で慣性測定ユニット(IMU)を使用することによってオプティカルフロー(OF)センサを較正する方法は、IMUがデータを収集するために測定を実施するステップと、そのデータを使用して、たとえば、IMUとOFセンサの間のオプティカルフロースケール、位置合わせ角度、および/または変位のうちの1つまたは複数を較正することによって、オプティカルフローセンサを較正するステップとを含む。
【0010】
一実施形態によれば、ロボットシステムは、オプティカルフロー(OF)センサと、データを収集するための測定を実施する慣性測定ユニット(IMU)と、そのデータを使用して、たとえば、IMUとOFセンサの間のオプティカルフロースケール、位置合わせ角度、および/または変位のうちの1つまたは複数を較正することによって、オプティカルフローセンサを較正するプロセッサとを備える。
【0011】
一実施形態によれば、装置は、プロセッサと、送受信器と、1つまたは複数のセンサとを含み、センサのうちの1つが慣性運動データを収集し、プロセッサが慣性運動データを使用してオプティカルフローセンサを較正する。
【0012】
本明細書に添付される図面と一緒に、例として与えられる下の詳細な記載から、より詳細な理解を有することができる。明細書中の図は、例である。そのため、図および詳細な記載は、限定するものと考えるべきでなく、他の同等に有効な例が可能であり起こり得る。さらに、図中の同様の参照番号は、同様の要素を示す。
【図面の簡単な説明】
【0013】
【
図1】1つまたは複数の実施形態による、慣性測定ユニット(IMU)およびオプティカルフロー(OF)センサによる測定を使用する、例示的な平面ロボットシステムを示す図である。
【
図2】1つまたは複数の実施形態による、複数の直流(DC)ブロックフィルタ周波数応答を図示するグラフである。
【
図3】1つまたは複数の実施形態による、2つの車輪および1つまたは複数の回転中心(CoR)を有するロボット運動を有する例示的なロボットシステムを示す図である。
【
図4】1つまたは複数の実施形態による、速度領域における、ロボットシステムの本体フレーム中の例示的な機構の流れ図である。
【
図5】1つまたは複数の実施形態による、速度領域における、ロボットシステムのユーザフレーム中の例示的な機構の流れ図である。
【
図6】1つの実施形態による方法を図示するフローチャートである。
【
図7】実施形態を実装することが可能なロボットシステムを示す図である。
【発明を実施するための形態】
【0014】
本発明の以下の詳細な記載は、添付図面を参照する。異なる図面中の同じ参照番号は、同じまたは同様の要素を識別する。また、以下の詳細な記載は、本発明を限定しない。代わりに、本発明の範囲は、添付される請求項によって規定される。
【0015】
上で述べたように、IMUは、ロボット真空掃除機などといった平面ロボットシステム中で使用することができ、これは、ロボットを制御するのに使用するための機首方向情報を提供するため、1つまたは複数の加速度計および/またはジャイロスコープを含むIMUを有することができる。ロボットは、経時的に画像の特徴の変位を測定するOFセンサなどといった他のセンサを含むこと、または組み込むこともできる。平面ロボットシステムは、すべてのセンサからのデータにアクセスでき、したがって、ロボットの運動および/または位置状態を計算することができるプロセッサなどといったコントローラを有することもできる。たとえば、車輪用エンコーダとカメラの両方が動きを示さず、すべてのモータがアイドル状態である場合、コントローラは、ロボットが静止していると合理的に推定することができる。一例では、IMUは、それ自体のプロセッサを有することができ、方位を出力することができる。
【0016】
加えて、ロボットは、任意の軸の周りの回転、および/もしくは任意の方向への平行移動を含む、ならびに/またはロボットの部分のロボットの他の部分に対する(たとえば、ロボットの本体に対して動く機械的アームの)回転および平行移動を含む、任意の数の方法でロボットを動かすためのモータを含むことができる。コントローラは、モータを制御することによってロボットの運動を指示するように適合することもできる。
【0017】
様々な実施形態において、OFセンサおよびIMUが同じロボット上にあってよく、そのため、それらの角速度は一般的に同じでなければならず、それらの運動パラメータが関係することができ、他方を使用して一方を較正することが可能な場合がある。たとえば、OFセンサとIMUが同じ剛体(たとえば、平面ロボットシステム)上にあってよく、OFセンサとIMUの運動学的量(たとえば、速度)は、剛体の方程式によって関係付けることができる。そのため、IMUは、OFセンサとIMUが異なる場所にある可能性がある場合であってさえ、オプティカルフローを較正するために使用することができる。
【0018】
一例では、ロボットのコントローラ(または、他の処理デバイス)は、OFセンサの較正を改善するために、IMUもしくはIMUセンサならびに/または他のセンサおよび構成要素(たとえば、カメラ、車輪用エンコーダ)からのデータを使用することができる。別の例では、コントローラ(または他の処理デバイス)は、ロボットシステム中のIMU(たとえば、IMUのジャイロスケール)を較正するためにOFセンサからのデータを使用することができる。
【0019】
上で述べたように、IMUは、少なくとも加速度計およびジャイロスコープを含むことができる。様々な実施形態では、たとえば、平面ロボットシステムの位置は、加速度の二重積分を通して得ることができる。いくつかの場合に、IMUから計算される直線加速度は、その中に重力残差およびZGOなどといった誤差成分を有する場合がある。積分誤差は、時間の2乗の速度で増加する可能性がある。こうして、民生レベルの精度の加速度計では、計算した軌道は、数秒以内に性能に悪影響を及ぼすのに十分不正確になる可能性がある。したがって、速度を提供するのに、OFセンサが有益である。いくつかの場合には、OFセンサを用いてさえ、ある時間期間後に計算した軌道があまりにも不正確になる場合がある。そのため、ロボットのナビゲーションのためには、誤差が成長する速度を低下させるために、誤差訂正機構を実装することが望ましい。
【0020】
様々な実施形態において、OFセンサ精度が十分に良好である場合、OFセンサは、たとえばロボットシステムのジャイロスコープスケールを較正するためOFセンサを使用して、IMUも較正するために使用することができる(たとえば、本明細書とともに本出願人によって2019年6月28日に出願された「METHODS AND APPARATUS FOR MUTUAL GYROSCOPE SCALE AND OPTICAL FLOW SENSOR SCALE CALIBRATION THROUGH OPTICAL FLOW IMAGE QUALITY METADATA」という題名の出願人参照文献第14745US01号を参照)。
【0021】
様々な実施形態において、IMU測定とOFセンサ測定が同等であるようにIMU測定をOFセンサ測定と関係付けることによってOFセンサ較正を実現することができ、その結果、それらは互いに較正するために使用することができる。一例では、ロボットの1つの地点でIMUによって測定された(またはその測定から導出された)位置、速度、および加速度は、IMUとOFセンサが理想的で何ら誤差がない場合には、一般的に、OFセンサによって測定または導出された対応する値と同じであるべきである(ロボットの剛体上のOFとIMUの相対的な位置に依存する回転速度および加速度という可能性がある例外がある)。実際には、IMUによって測定された(または、それらの測定によって導出された)位置、速度、および加速度を、それらの真の値から、および/または、OFセンサによって測定または導出された対応する値から非常に異ならせる可能性がある多くの誤差原因が存在する。様々な実施形態において、IMUおよびOFセンサによって得られるまたは実施される測定の値(または測定から導出される値)が同等であるように、これらの誤差原因を識別することができ、回避するおよび/またはフィルタ除去することができる。様々な実施形態において、OFセンサ較正を実施するとき、実時間で較正パラメータを得るために、効率的な計算アルゴリズムを用いた最適な定式化を考案することができる。
【0022】
様々な実施形態において、IMUは、平面ロボットシステム中のOFセンサを較正するように使用すること、または構成することができる。一例では、較正のために、一般的な定式化を使用することができる。様々な実施形態において、複数の定式化オプションが開示される。位置領域、速度領域、および/もしくは加速度領域における、または、様々な条件(たとえば、理想的条件)下のIMUフレームにおける較正パラメータを得るため、様々な実施形態が開示される。いくつかの実装形態では、1つまたは複数の定式は、誤差に起因して、実際に成り立つこと、または適用することができない。様々な実施形態において、センサシステムに関連する実際的な誤差原因が識別され、これらの誤差を回避するまたはフィルタ除去するために開発された方法/機構が開示される。様々な実施形態において、システム較正パラメータを計算するための効率的な実時間アルゴリズムが、たとえば、平面ロボットシステム中で使用することができる。
【0023】
様々な実施形態において、平面ロボットシステムは、OFセンサを較正するためにIMUを使用することができる。プロセスまたは手順は、ユーザフレーム(たとえば、地球座標系または地球に対する固定フレーム)または本体フレーム(ロボットの座標系、またはIMUもしくはOFフレーム)中で定式化することができる。様々な実施形態において、探索アルゴリズム(たとえば、Matlab中のfminsearch関数)または最小2乗プロセス/関数を使用することによって、適合誤差を最小化するために、1つまたは複数の機構を適用することができる。測定誤差を克服または回避するために、特別な事前処理が必要な場合がある。いくつかの例では、実時間較正を実現することができる。
【0024】
様々な実施形態中で使用される用語体系および用語が以下の表中に見ることができる。
【0025】
【0026】
様々な実施形態において、ロボット(たとえば、RVC)システムは、2つの独立モータによって駆動される2つの車輪(左および右)を有することができる。
図1は、たとえばRVCシステムといった様々な実施形態による例示的なロボットシステム100である。オプティカルフロー(OF)センサ102およびIMU104は、
図1に図示されるような好都合な場所に設置することができる。IMU104は、加速度計およびジャイロスコープを含むことができ、それらは集合的に、IMU104の場所における加速度
Ia
i(k)、角速度ω(k)、およびIMU104の角度位置R
I→U(k)を測定する。角度位置R
I→U(k)は、全ロボット(たとえば、RVC)システム100の角度位置、たとえば、ユーザフレーム(たとえば、地球座標系または固定フレーム)に対するロボットシステム/IMUフレームの角度位置でもある。一例では、
Ia
i(k)およびR
I→U(k)において、IとUは、それぞれ、IMUフレームおよびユーザフレームと呼ぶことができ、iは、IMU104の場所であり、kは離散時間である。ユーザフレームは、ロボットシステム100についての運動平面として規定することができる。本明細書に開示される1つまたは複数の実施形態または方法は、2つの座標系間の変換を較正または再較正するために、平面ロボット運動に適用することができる。本明細書で使用される変数中に見られる太字の用語またはパラメータは、本明細書に開示される文脈から見出すことができる、少なくとも行列および/もしくはベクトルである、または少なくとも行列および/もしくはベクトルを含む。たとえば、A(太字)またはAが量である場合、A(太字)がベクトルまたは行列を意味し、Aがスカラーを意味する。OFセンサ102は、OF本体フレーム中の画素の運動を測定することができ、これは、前回レジスタが読まれた(A)から今回レジスタが読まれた(B)へのセンサが動く((A)と(B)の間の)相対的な距離である。一定の周期でサンプリングするとき、OFセンサ102は、速度センサとして取り扱うことができる。測定値は、OF本体フレームにおいて、
OΔ
o(k)=[Δ
x(k) Δ
y(k)]と表される。
Irは、IMUフレームにおける、IMU104からOFセンサ102への変位である。
IrはIMUフレームにおいて一定であることに留意されたい。ユーザフレームにおいて、IMU104からOFセンサ102への変位は、
Ur=R
I→U
Irであり、これは、R
I→Uが変化するのにつれて変化する。
【0027】
様々な実施形態において、スケールおよびスキュー、ならびにバイアスされたオフセット補正Bを較正できる2x2較正行列Λを用いて、OFセンサがOF本体フレームにおいて直線速度を次式のように提供することができる。
Ovo(k)=Λ*OΔo(k)+B
【0028】
一例では、較正行列Λは、Λ=R*スケール*スキューと分解することができる。Rは回転行列であり、スケールは対角行列であり、スキューは上三角行列である。スキューは、非直交軸によってもたらされる。たとえば、軸Xと軸Yが直交である場合、スキューは恒等行列であってよい。さもなくば、上の非対角項が非ゼロとなろう。
【0029】
様々な実施形態において、今まで、OFセンサのバイアスされたオフセットは、無視できることが非常に多い。オフセットBは、削除することができる。この場合、OFセンサ102は、OF本体フレームにおける直線速度を次式のように提供することができる。
Ovo(k)=Λ*OΔo(k)
【0030】
様々な実施形態において、OF本体フレームとIMU本体フレームが異なる場合があるが、それらを整合するための一定の回転RO→Iが存在し、たとえば以下である。
Ivo(k)=RO→I*Ovo(k)
【0031】
したがって、
Ivo(k)=RO→I*Ovo(k)=RO→IΛ*OΔo(k)=A*OΔo(k)
ここで、A=RO→IΛであり、これは、OF測定値をIMUフレームにおける速度へと変換する。
【0032】
回転行列RI→U(k)とともに、ユーザフレームにおける、ロボットシステムの速度が次式となる。
Uvo(k)=RI→U(k)A*OΔo(k) (1)
【0033】
Uvo(k)から、ユーザフレームにおける、ロボットシステムの軌道を次式のように計算することができる。
Upo(k)=ΣUvo(k)*T+Upo(0)=ΣRI→U(k)A*OΔo(k)*T+Upo(0)
【0034】
したがって、IMUおよびOFは、ロボットシステムの軌道を推定することができる。
【0035】
様々な実施形態において、較正のために、ロボットシステム100は、OΔo、Iai、ω、および/またはRI→Uなどといった、IMU測定値およびOFセンサ測定値の入力を用いて、関数を通して、較正行列AおよびIrを見出す必要がある場合がある。いくつかの場合に、RO→IおよびΛは、Aの行列分解を通して計算することができる。
【0036】
様々な実施形態において、OFセンサ102を較正するためIMU104を使用するために、IMU測定値がOF測定値と関係する(たとえば、関連する、または同等である)必要がある場合がある。一例では、OF測定値が速度であるために、ロボットシステム100は、速度を較正のための測定値として使用することができる。たとえば、剛体の方程式によれば、次式となる。
Uvo=Uvi+Uω×Ur
ここで、UvoおよびUviは、それぞれ、ユーザフレームにおける、場所oおよびiにおける速度である。Urは、ユーザフレームにおける場所iからoへの変位である。Uωは、ユーザフレームにおける剛体の角速度である。「×」は、ベクトルのたすき掛け乗算を意味する。一例では、IMUフレームにおける角速度であるUωおよびIωは、平面の場合における[0,0,ωz]と同じであり、ここで、ωzは、z軸の周りの角速度である。この例では、ωは両方の状況を示すために使用される。
【0037】
様々な実施形態において、IMU104の場所における速度は、
Uv
i(k)であり、これは、加速度
Ia
i(k)および一定の初期速度v
0によって、次式のように計算することができる。
【数1】
【0038】
OFセンサ102の場所における速度は、式(1)に示されるようにUvo(k)である。一実施形態では、剛体の方程式中の変数は、IMU104およびOFセンサ測定値から導出された値と置き換え可能であり、(下の式(2)に示されるように)次を得る。
RI→U(k)A*OΔo(k)=Uvi(k)+ω(k)×RI→U(k)*Ir (2)
【0039】
一実施形態では、たとえば、較正プロセスは、OF測定値およびIMU測定値が式を(たとえば、およそ)満たすように、AおよびIrを見出すまたは決定するステップを含むことができる。
【0040】
一例では、式(2)を使用して、最適化目的関数を次式のように規定することができる。
【数2】
上式で、|| ||は、ベクトルのL2ノルムを意味する。別の例では、任意のpノルムを式(2)に適用することができる。
【0041】
様々な実施形態において、たとえば、Aおよび
Irは、次式に基づいて見出すことまたは決定することができる。
【数3】
【0042】
一例では、AおよびIrは、標準的な非線形最適化を介して決定することができる。たとえば、いくつかのツール(たとえば、MatlabまたはPython)では、AおよびIrは、以下のように見出すことまたは決定することができる。
fminsearch(J(A,Ir),(A,Ir))
または
scipy.optimize.fmin(J(A,Ir),(A,Ir))
【0043】
様々な実施形態において、速度領域においてIMU測定値とOFセンサ測定値を関係付けることに加えて、較正行列Aを見出すために、IMU測定値とOFセンサ測定値を関係付けるまたはリンクさせる複数の方法が存在する。一例では、ユーザフレームにおいて、剛体の方程式に従って、剛体上の場所oおよび場所iにおける位置p
oおよびp
i、速度v
oおよびv
i、および加速度a
oおよびa
iは下のように関係付けられる。
【数4】
ここで、ωは角速度であり、
Urは、ユーザフレームにおける場所iから場所oへの変位である。いくつかの場合に、上の剛体の方程式中の変数は、OFセンサ測定値およびIMU測定値から導出することができる。
【0044】
さらに、本体/IMUフレームにおける対応する剛体の方程式は、次である。
【数5】
ここで、
【数6】
は、ωの導関数である。
【0045】
同様に、上の剛体の方程式中の変数po、pi、vo、vi、ao、およびaiをIMU測定値および/またはOFセンサ測定値、および/またはそれらから導出された値と置き換えることによって、IMU測定値とOFセンサ測定値の間の関係を確立することができ、較正パラメータの対応する解を導出することができる。たとえば、上の剛体の方程式のうちの1つまたは複数は、知られていない較正パラメータを有する式を確立するのに役立つことができ、対応する解は、式のうちの少なくとも1つを解いて較正パラメータの値を得ることである。
【0046】
様々な実施形態において、加速度の領域、速度の領域、および位置の領域のいずれかを、OFセンサ102の較正のために使用することができる。一例では、たとえば加速度、速度、および位置の領域から領域を選択または選ぶとき、ノイズレベルが主な考慮事項となる場合がある。直線速度の導関数が埋め込まれたノイズを著しく増幅する場合があるので、導出された加速度がはるかにノイズが多い場合がある。さらに、OFセンサ測定のグリッチおよび遮断が、多くの不連続性をもたらす場合があり、このことが、導関数誤差を悪化させる場合がある。そのため、いくつかの実装形態では、加速度領域での定式化は、あまり魅力がない場合がある。いくつかの場合では、加速度の積分はより滑らかな曲線となる。加速度領域における任意の直流(DC)成分、たとえば、ゼロ重力オフセット(ZGO)成分が積分を急速に発散させる場合があるが、これは、1つまたは複数の好適なフィルタを使用することによって矯正することができる。様々な実施形態において、上で言及した1つまたは複数の理由の観点で、速度および/または位置領域における定式化がより実現可能であってよい。
【0047】
加えて、OFセンサ102とIMU104の両方がロボット100上にあり、それらの測定値は、それぞれそれらの本体フレーム中であって、それらは、固定の回転行列によって整合することができる。一例では、本体フレームにおける直接的な動作は、較正プロセスを簡略化することができる。
【0048】
位置、速度、および/または加速度領域における定式化とIMUフレーム
様々な実施形態において、位置、速度、および/または加速度領域における具体的な定式化および対応するプロセス/機構が提示される。一例では、IMU測定値とOFセンサ測定値の間の関係は、IMUフレームにおいて、それぞれ位置領域、速度領域、および/または加速度領域中で確立することができる。たとえば最小2乗(LS)プロセス/機構といった、対応するプロセス/機構がやはり提示される。別の例では、関係は、IMUまたは本体フレームにおける剛体の方程式(たとえば、上で開示された、対応する剛体の方程式)の両側に回転行列を適用することによって、同様にユーザフレームで確立することができる。
【0049】
速度領域
様々な実施形態において、たとえば、速度領域および本体フレームにおける剛体の方程式は次式となる。
Ivi=Ivo-ω×Ir (3)
時間kにおいて、
Ivo(k)=A*OΔo(k)
ここで、Aは、OF測定値を、IMUフレームにおける速度へと変換する。
【0050】
一例では、
Iv
i(k)は、直接利用可能でない場合があるが、次式としてIMU測定値から導出することができる。
【数7】
【0051】
初期速度
Uv
i(0)は一定である。したがって、式(3)は次となる。
【数8】
ここで、
【数9】
【0052】
たとえば、最小2乗解法/機構を使用するとき、
【数10】
およびY=[
Iv
i(1)...
Iv
i(k)]とすると、
Y=ΨX
一例では、XおよびYは、OFセンサ測定値およびIMU測定値から入手可能である、または提供される。Ψは、較正パラメータの全セットである。
【0053】
最小2乗機構を使用し、次式によって、結果を得ること、または決定することができる。
【数11】
【0054】
たとえば、ゼロ回転オフセット(ZRO)、ゼロ重力オフセット(ZGO)、非キャンセル重力成分、および/または他のセンサ誤差がわずかであるとき、結果を直接得ることができる。さもなくば、これらの誤差が、式(3)を成立させなくする可能性がある。いくつかの場合では、特別な事前処理が必要な場合があり、これは、下のDCブロックフィルタ設計セクションで議論される。
【0055】
行列極分解および較正行列
様々な実施形態において、一度Ψが得られると、Aが得られ、較正行列を行列極分解によって導出することができる。正方行列の極分解は、次の形の行列分解である。
A=ΩΛ
ここで、Ωは回転行列であり、Λは非負定値対称行列である。極分解を計算するため、Aの特異値分解が次であると仮定する。
A=UDV’
すると
Ω=UV’
Λ=VDV’
回転行列Ωは、OFフレームをIMUフレームへと回転する。Λは、相対的な画素の運動をOFセンサフレームにおける速さに変換する較正行列である。
【0056】
位置領域
様々な実施形態において、たとえば、位置領域および本体フレームにおける剛体の方程式は次式となる。
Ip
i=
Ip
o-
Ir
時間kにおいて、
【数12】
一例では、簡単にするため、初期位置および速度がゼロであると仮定することができる。
【0057】
目的関数は、次式である。
J(A,r)=Σk||Ipi(k)-Ipo(k)+Ir||
【0058】
一実施形態では、結果は、次式によって得ることができる、または決定することができる。
【数13】
【0059】
加速度領域
様々な実施形態において、たとえば、加速度領域および本体フレームにおける剛体の方程式は次式となる。
【数14】
Ia
i(k)は、IMUによって直接測定される。簡単にするために、
OΔ
o(t)をΔ(t)と示す。下の付録A.1で導出されるように、次である。
【数15】
目的関数は、次式である。
【数16】
【0060】
一実施形態では、結果は、次式によって得ることができる、または決定することができる。
【数17】
【0061】
様々な実施形態において、OFセンサによって測定または導出された位置、速度、および/または加速度は、様々な誤差に起因して、IMU測定によって測定または導出された対応する値とは非常に異なることが多い。一例では、4つの主要な誤差原因が識別される。これらの誤差は、信頼できる較正行列を得るために、回避またはフィルタ除去することができる。
【0062】
一実施形態では、IMUおよびOFセンサ測定は、時間整合されていない場合がある。一実施形態では、加速度の積分は、直線加速度またはZGOに含まれる重力残差に起因して、常に発散する可能性がある。一実施形態では、OFセンサ測定は、ノイズが多く、遮断またはグリッチに起因して、慣性測定と異なる場合がある。ロボットシステム100を拡張するために、信頼できる較正行列を見つけるための新しいまたは改善した機構が求められる場合がある。
【0063】
さらに、様々な実施形態において、上で開示された定式化は、2D自由運動用であってよい。平面ロボットでは、ロボットの運動がその車輪によって制限されることに起因して(車輪は順方向または逆方向に動くことだけができる)、上の定式化は、一意の解または機構を有さない場合がある。たとえば、いくつかの較正パラメータは、上の定式化から直接評価できない場合がある。この問題に対処する実現可能な機構は、本明細書で調査されて開示されている。
【0064】
様々な実施形態において、たとえば、平面ロボットシステムにおいて、ロボット、IMU、およびOFセンサの軸Zは、全部がユーザフレームの軸Zに位置合わせされると仮定することができる。位置合わせ誤差または不均一な床面は、この仮定を破る場合があり、および/または、傾斜誤差をもたらす場合がある。さらなる実施形態は、傾斜誤差の様々な異なる原因にどのようにして対処することができるかを詳細に開示する。
【0065】
測定時間整合
様々な実施形態において、たとえば、IMUセンサ測定とOFセンサ測定のタイミングを最初に整合することが必要な場合がある。OFセンサによって導出される直線加速度は、その測定値の導関数であってよい。IMU加速度と導出されたOF加速度の間の非同期サンプリングは、それらのノルム間の相互相関の最大値を見出すことを通して見つけることができる。2つの信号xおよびそれを遅延させたものyが与えられると、2つの信号間の時間遅延は、次式を介して決定することができる。
【数18】
ここで、(x*y)[n]が相互相関である。
【0066】
DCブロックフィルタ設計
様々な実施形態において、Iai(k)がZGOおよび重力成分を含む場合がある。Iai(k)の積分または累計は、そのような誤差を蓄積して、それをOF信号と比較不可能にする可能性がある。
【0067】
DCブロックフィルタ
ZGOおよび重力成分に起因する積分発散を克服するため、信号の変化だけが保たれるように、各積分操作の前および/または後にDCブロックフィルタを適用することができる。例示的なDCブロックフィルタは、差分方程式によって規定される巡回型フィルタであってよい。
y(n)=(x(n)-x(n-1))(1+a)/2+a・y(n-1)
【0068】
図2は、それぞれ、a=0.5、a=0.8、a=0.99のときの、DCブロックフィルタ周波数応答を図示するグラフである。様々な実施形態において、たとえばZGOおよび/または重力成分といった不要な信号成分をフィルタ除去するために、DCブロックフィルタを、本体フレームまたはユーザフレームに適用することができる。
【0069】
速度領域および本体フレームにおける定式化への適用
一例では、式(4)の中にDCブロックフィルタを適用する。
【数19】
【0070】
最初に、IMUからDCブロック直線速度を計算する。
【数20】
最も内側のf
DCB(*)は、本体フレームにおいて一定であるZGOを除去するためのものである。外側のf
DCB(*)は、積分に起因する蓄積した誤差を除去するためのものである。ユーザフレームにおいて一定である重力成分が大きい場合、別のf
DCB(*)を、R
I→U(j)f
DCB(
Ia
i(j))に適用することができる。
同じDCブロックフィルタが、OF測定と角速度測定に同様に適用される。一例では、上で開示した
Ia
iについて適用するのと同様である。
【数21】
第1のf
DCB後にOF測定値
OΔ
o(k)をユーザフレームに回転し、第2のf
DCB後に本体フレームに戻して回転することによって、
【数22】
がIMU加速度測定と同じ方法で調整されることが保証される。角速度ω(k)は、ユーザフレーム中で本体フレーム中と同じである。したがって、f
DCBは2回適用されている。このことは、OF測定と角速度測定に同じDCブロックフィルタが適用されていることを意味する。ユーザフレームにおける第1のDCブロックフィルタ後のOF測定に有意なDC成分が現れないとき、たとえばR
I→U(k)f
DCB(
OΔ
o(k))が真を示す場合があるとき、DCブロックフィルタは次式のように適用することができる。
【数23】
様々な実施形態において、ZGOおよび/または重力成分が大きいときに、理論的定式化と実際の実装の間のギャップに橋渡しをするのは、キーとなるプロセスとなることができる。
【0071】
一例では、DCブロックフィルタを適用した後、式(4)が次式となる。
【数24】
または、
【数25】
【0072】
対応する最小2乗機構は、上で開示されたものと同様に適用すること、または導出することができる。しかし、DCブロックフィルタを使用する較正問題が依然として最小2乗問題として定式化できることを2つの前の式が暗示するが、これは、ある特殊な状況、すなわち、行列Aが回転行列と交換可能であるとき、すなわち、行列Λが恒等行列(xとyで同じスケール)であるときにだけ成立することに留意されたい。この問題は、下でより詳細に議論され、やはり下で議論される、特殊位置2スケール較正アルゴリズムを加えることによって、いくつかの実施形態に従って、対処される。
【0073】
速度領域および本体フレームにおける上述の定式化を適用する全体の流れが
図4に示される。その中で、加速度計400、オプティカルフローセンサ402、およびジャイロスコープ404は、それぞれ、加速度データ、オプティカルフローデータ、および角速度データを出力し、これらは、DCブロックフィルタ406によってフィルタ処理される。フィルタ処理した加速度データは、ブロック408でロボットの直線速度を決定するために積分される。直線速度データおよびオプティカルフローデータは、ブロック410でユーザフレームへと回転される。回転した直線速度データおよびオプティカルフローデータ、ならびに角速度データは、第2のDCブロックフィルタ412で再びフィルタ処理され、その後、直線速度データおよびオプティカルフローデータはブロック414で本体フレームへと戻して回転される。結果として得られる直線速度、オプティカルフロー、および角速度データは、ブロック416で、上で述べた本体フレームの剛体の方程式へと入力される。次いで、ブロック418で、たとえば本明細書で述べた最小2乗解法またはfminsearch技法を使用して較正行列を決定することができ、その後、較正行列および/または変位値は、オプティカルフローセンサを較正するため使用するために出力することができる。
【0074】
速度領域およびユーザフレームにおける定式化への適用
様々な実施形態において、式(2)についてユーザフレームでは、速度領域における剛体の方程式が次式を示す。
R
I→U(k)A*
OΔ
o(k)=
Uv
i(k)+ω(k)×R
I→U(k)*
Ir
また、IMUの場所における速度は、(たとえば、fminsearch、fminsearch(J(A,
Ir),(A,
Ir))によって、)次のように導出することができる。
【数26】
DCブロックフィルタを下のように適用する。
【数27】
g
xyは、xy平面における重力成分である。ロボットの運動する面が水平である場合、g
xyは、[0, 0]であってよい。一例では、較正目的関数を次式のように規定することができる。
【数28】
上の目的関数は、次式のように、たとえば上で開示されたようなfminsearchによって同様に解くことができる。
fminsearch(J(A,
Ir),(A,
Ir))
【0075】
別の例では、OFセンサの場所における速度は次式のように導出することができる。
【数29】
また、加速度領域での剛体の方程式では、
【数30】
次に、
【数31】
DCブロックフィルタを下のように適用する。
【数32】
次を示す。
【数33】
【0076】
一例では、目的関数を次式のように規定することができる。
【数34】
上の目的関数は、次式のように、たとえば上で開示されたようなfminsearchによって同様に解くことができる。
fminsearch(J(A,
Ir),(A,
Ir))
【0077】
図5は、速度領域およびユーザフレームにおける上述の定式化を図示する。ここでは、ブロック500において、ジャイロスコープが、ロボットの角速度に関連するデータを出力する。角速度は、ブロック502で現在のIMU/OFS変位値と乗算され、その結果は、ユーザフレームへの回転ブロック504に向けて出力される。オプティカルフローセンサからの出力は、ブロック508における現在の較正行列を使用して、(オプティカルデータに従って)ロボットの本体フレーム速度を計算するためブロック506によってもたらされ、その結果は、ユーザフレームへの回転ブロック504に向けて出力される。加速度計510によって測定されるような、ロボットの直線加速度が、やはりユーザフレームへの回転ブロック504に提供される。次いで、直線加速度、本体フレーム速度、および角速度かける現在の変位の乗算結果が、すべてブロック504でユーザフレームへと回転される。3つの回転結果は、次いで、DCブロックフィルタ512でフィルタ処理される。フィルタ処理した直線加速度値は、ここではユーザ座標系であるが、次いで、IMUによって測定されるような、ロボットの直線速度を得るためにブロック514で積分され、その直線速度値は、ジャイロスコープ500およびオプティカルフローセンサ506からの処理データと一緒に、第2のDCブロックフィルタ516に送られる。ブロック516からの3つのフィルタ処理出力は、ブロック518でユーザフレームの剛体の方程式への入力として使用され、これから、たとえば、fminsearch520を使用して、較正行列および変位522を決定することができる。
【0078】
関連する測定値を選択する
様々な実施形態において、測定値(たとえば、IMU測定値および/またはOFセンサ測定値)は、たとえばロボットシステムが静止しているときまたはOFセンサ遮断が発生するとき、OFセンサを較正するためのある種の情報および/または十分な情報を伝えることができない。これらの状況では、計算した較正行列は、信頼できない、および/または正確でない可能性がある。したがって、適正なアルゴリズムに供給する適正な測定値を選択することが重要である。たとえば、本体フレームにおける定式化では、測定値は、選択される以下の条件のうちの1つまたは複数を満たす必要がある場合がある。
A. ||fDCB(Iai)||>閾値1、および/または
B. ||fDCB(ω)||>閾値2
様々な実施形態において、閾値1および/または閾値2は、実データ(たとえば、実時間データ)から、予め構成することおよび/または学習することができる。一例では、条件Aは、ロボットが静止していないこと、または、一定速度でないことを確実にするためのものである。ロボットシステムが回転すると、変位がセンサ測定値に影響を及ぼす。いくつかの場合では、変位Irは、条件Bの下で推定または決定することができる。
【0079】
基準としてIMUデータを使用して信頼できるオプティカルフロー較正を得るために、オプティカルフロー信号(たとえば、直線速度)とIMUデータ(たとえば、直線加速度)の両方が正確であるべきである。オプティカルフロー速度は、ときどきグリッチがあり、ときどきゼロ出力をする。オプティカルフローセンサ102は「センサ品質」出力を有するが、それは、速度出力が信頼できるためには十分でもないし必要でもない。IMU104からの直線加速度は、やはり、時折飽和することがあり、またはグリッチがあることがある。オプティカルフロー速度またはIMU直線加速度のいずれかが信頼できない場合、オプティカルフロー較正精度は、著しく悪化する。したがって、オプティカルフロー信号およびIMU信号の品質に関する検出が必要である。
【0080】
オプティカルフロー速度
OΔ
oが
Ov
oを得るために(20%誤差以内の2スケールのみの較正のような)何らかの好都合なデフォルト較正または初期較正によって較正されると、それのユーザフレームDCブロックバージョン
【数35】
は、次式に記載されるような、IMU104から得られた直線加速度のユーザフレームDCブロックバージョン
【数36】
と一致するべきである。
【数37】
【数38】
ここで、
【数39】
。
【0081】
2つの式の間の差異のノルムは、それらがどのくらい良好に互いに一致するかを示し、オプティカルフロー速度およびIMU直線加速度の品質の良好な指標である。この誤差が閾値を超えるとき、これは、2つの入力信号のうちの一方または両方に問題があることを意味し、較正のために使用するべきでない。
【0082】
式(5)と式(6)の両方で全体的なフィルタ応答が同じに保たれる限り、DCブロックフィルタを適用する異なる方法があることに留意されたい。実際には、DCブロックフィルタを2回、すなわち1回は積分の前、1回は積分後に適用することは、1回適用するよりも良好に働くことを見出した。というのは、第1のフィルタが直線加速度中のDC成分を取り除き、第2のフィルタが直線速度中のノイズ蓄積を取り除くためである。
【0083】
固有のロボット運動およびその解法
図3は、1つまたは複数の実施形態による、2つの車輪および1つまたは複数の回転中心(CoR)を有するロボット運動を有する例示的なロボットシステム300(たとえば、平面ロボットシステム、またはRVCシステム)である。ほとんどの平面ロボットシステムのための現在の実装形態では、車輪は、順方向または逆方向に動くことだけができ、これは独立モータによって駆動される。したがって、平面ロボットシステムは、ある種の方法でだけ動くことができる。加えて、平面ロボットシステムの2つの車輪は、異なる速さで動くことができる。動作する面に対する車輪のスリップがなく、2つの車輪が同じ速さで同じ方向に動くとき、平面ロボットシステムは、回転することなく、真っ直ぐ順方向または逆方向に動く。2つの車輪が同じ速さだが反対の方向に動くとき、平面ロボットシステムは、その中心の周りに回転することができる。2つの車輪が同じ速さで動いていないとき、ロボット300は、ロボットの中心でないCoRを有することになる。しかし、
図3に示されるように、動作する面上で車輪がスリップするまで、CoRは常に、2つの車輪の中心を接続することによって形成される線に沿ったどこかにあるように制限されることになる。この制限は、例のように提供することができる。この例では、任意のCoRについて、任意の点Pの軌跡は、CoRに中心を有する円となり、点Pを含む。各点について円に沿った移動方向が、円に対する接線となる。スリップを回避するために、移動の方向は、車輪軸方向に垂直でなければならない。両方の車輪の移動方向に垂直な唯一の点は、両方の車輪を接続する線上にある。
【0084】
様々な実施形態において、定式化のため本明細書で使用される機構および/または解法は、ロボットの運動および/または平面ロボットシステムにおける較正パラメータのセットに依存して異なる場合がある。第1の例では、OFセンサ102とIMU104が同じ場所で一緒に配置されると、変位がゼロになることができる。この例では、ロボットシステム100は、較正行列を推定することだけを必要とすることができる。たとえば、使用される機構は次式であってよい。
Ivi(k)=A*OΔo(k)
上の構成では、較正行列は固有である。
【0085】
第2の例において、OFセンサ102とIMU104が異なる場所に配置される場合、ロボットシステム100は、較正行列および変位の推定を2つの動作へと分解することができる。たとえば、第1の動作では、較正行列Aだけが推定される。第2の動作では、変位rが推定される。
【0086】
動作1:
Ip
o=
Ip
i+
Irおよび
Irが一定であるために、両側にDCブロックフィルタを適用する。
【数40】
いくつかの例では、位置を得るため速度を積分するのは、ユーザフレームで実施される必要がある場合がある。しかし、デバイスが一定の角速度で回転する傾向がある平面の場合、DCブロックフィルタを使用すると、
Ip
oは、たとえば次式のように本体フレーム中で近似することができることがわかる。
【数41】
【数42】
とすると、
【数43】
【数44】
は、IMU測定値から導出することができる。したがって、
【数45】
【0087】
動作2:Aが一度推定されると、
Iv
i=AΔ-ω×
Ir、および、
【数46】
であるため、
【数47】
測定のシーケンスを一緒にスタックすると、変位の推定は次式となってよい。
【数48】
【0088】
第3の例において、OFセンサがx軸およびy軸に沿って同じスケールパラメータを有し、2つの軸間にスキューがない、たとえば次式の場合、
【数49】
式(3)は次となる。
【数50】
【数51】
とすると、
Iv
i(k)=XΨ
上の定式化は、一意解を有することができ、LS問題として解くことができる。sは、Ψ(1:2)のノルムである。一例では、上の定式化は、
Iv
i(k)が直接入手可能な理想的な場合についてであってよい。直線加速度の積分およびDCブロックフィルタが必要な別の例(たとえば、実際の場合)では、ロボットシステムは、(たとえば、下で議論される、速度領域および本体フレームにおける定式化に適用することに関するセクション中と同様に)
Iv
i(k)を
【数52】
で置き換えるように構成することができる。
【数53】
【0089】
式の両側で同じフィルタ処理効果を達成させるため、(A*OΔo(k))および(ω(k)×Ir)は、ユーザフレームにおいてDCブロックフィルタによってフィルタ処理する必要がある場合がある。一例では、ロボットシステムは、最初に、ベクトルuについて、ベクトルuをユーザフレームへと回転させるため関数gDCB(u)を規定するように構成することができ、次いで、DCブロックフィルタがそれをユーザフレーム中でフィルタ処理するように構成され、次いで、それを戻して回転させる。
gDCB(u)=RU→I(k)fDCB(RI→U(k)・u)
【0090】
一例では、DCブロックフィルタが別の固定フレーム中で行われる場合、これは、ユーザフレームから離れた単なるz軸周りの固定の回転(RZ)であり、結果が同じになってよい。
gDCB(u)=RU→IRZ)’・fDCB(RU→IRZ・u)=RZ’・gDCB(RZ・u)
【0091】
一例において、RZ=RO→Iでこの特性を使用すると、(A*OΔo(k))のDCブロックバージョンは次式となる。
gDCB(A・OΔo(k))=s・gDCB(RO→I・OΔo(k))
=s・RO→I・gDCB(OΔo(k))=A・gDCB(OΔo(k))=A・OΔo
DCB(k)
【0092】
上の段落〔0074〕に対するコメントを参照して、様々な実施形態において、たとえば、較正行列Λがスカラー(たとえば、x軸およびy軸におけるスケールが同じであり、スキューがゼロである)で乗算した恒等行列であるときだけ、行列Aを引き出すことができる。これは、この例での場合である。一般的に、Aは、gDCB(A*OΔo(k))から引き出すことができず、したがって、DCブロックフィルタを有する式は、もはやLS問題として定式化することができない。
【0093】
(ω(k)×
Ir)項について、g
DCB(ω(k)×
Ir)を使用すると、較正パラメータ
Irは、入力パラメータω(k)から分離することができない。DCブロックフィルタから
Irを分離するため、以下を実施することができる。
【数54】
とし、zの周りの回転である
【数55】
を規定すると、
【数56】
であり、ここで、x軸に沿った単位ベクトルである
【数57】
となる。
【0094】
一例では、R
Z=R(φ)を有するg
DCB( )の上述の特性を使用することによって、ロボットシステムは、次式を得ることができる。
【数58】
【数59】
である場合、
【数60】
3つの項の全部が入手可能なDCブロックバージョンでは、式は次になる。
【数61】
【数62】
とすると、
【数63】
【0095】
以下の第4の例は、xおよびyスケールが異なる場合に、ユーザフレームのDCブロックフィルタを用いた式が、もはやLS問題として定式化できないという問題に対処する1つの方法である。一実施形態によれば、専用センサ配置を用いた2スケールのみの較正のための最小2乗アルゴリズムを採用することができる。IMU/OFフレームで直接積分およびDCブロックフィルタ処理を行うことによって、回転行列が飛ばされ、したがって、最小2乗定式化が有効なままとなる。以下であると仮定する。
オプティカルフローセンサとIMUセンサは、両方とも、ロボットフレームと完全に整合される。
x軸とy軸の間のスキューはゼロである。較正する必要がある唯一のパラメータは、x軸スケールp
xおよびy軸スケールp
yである。較正したオプティカルフロー速度は、測定値から次式のように得られる。
【数64】
オプティカルフローセンサ102とIMUセンサ104の両方は、IMU/OFフレーム中で、それぞれ、知られている変位
Ir
iおよび
Ir
oで、2つの車輪(x軸)間の対称線に沿って配置される。また、オプティカルフロー変位対IMUは、Δr=
Ir
o-
Ir
iである。
【0096】
これらの仮定が与えられると、ロボット100が(回ることなく)真っ直ぐに走行すると、x軸速度だけが存在し、x軸スケールを較正するために使用することができる。y軸速度は、ロボット100が回転するときにだけ存在することができる。特に、ロボット100がその中心の周りで回転するとき、y速度だけが存在する。この方法では、yスケールの較正がxスケールの較正から切り離すことができ、各々は、それ自体に関連する運動の部分を選択する。
【0097】
ロボット100が順方向または逆方向に走行しているとき、ユーザフレームと本体フレームは正確に同じであり、したがって、両方のフレームにおいて、同じ積分およびフィルタ処理である。簡単にするために、すべての動作は本体フレームで実施される。剛体の仮定を使用すると、IMUの直線加速度は、オプティカルフローのものと同じである。この場合、以下は真である。
∫Iaidt=Ovo (7)
【0098】
ノイズを除去するために、DCブロックフィルタを積分の両側に追加することができる。この運動は、xスケール較正のためにだけ使用することができる。ロボットが、IMUのジャイロスコープによって測定される角速度ωでその中心の周りで回転しているとき、オプティカルフロー速度およびIMU直線加速度は、次式となる。
【数65】
【0099】
Iaiを本体フレーム中で直接積分すること、および、Δr=Iro-Iriという関係式を使用することによって次がもたらされる。
∫Iaidt+ω×Δr+(∫ω2dt)・Iri=Ovo (8)
ここでは、第2の項は、IMUとオプティカルフローの間の変位についての調整であり、第3の項は、求心性補正である。式(7)は、ω=0での、式(8)の特殊な場合である。知られているIMU位置Iriおよびオプティカルフロー変位対IMU Δrを用いて、DCブロックフィルタをすべての項に追加することができ、最小2乗形式が有効なままとなる。式(6)中の処理後、DCブロックしたOvoおよびDCブロックしたOΔoを使用してスケールを解くことができる。x成分およびy成分は、xスケールおよびyスケールの較正用に独立して働き、個別に解くことができる。回転中心がロボット中心であるときにだけ式(8)が真であることに留意されたい。回転中心が中心にない(たとえば、車輪のうちの1つの)場合、式(8)のx成分は依然として等しいが、式(7)のy成分は等しくない。しかし、式(8)を使用する最小2乗解法は、依然として、単に低い精度を有する、正しいyスケールをもたらす。
【0100】
傾斜誤差補正
様々な実施形態において、ロボットシステム、IMU、および/またはOFセンサのz軸は、(たとえば、様々な理由または発生原因で)ユーザフレームのz軸と整合しない可能性があり、ロボットシステムに対する様々な発生原因(たとえば、様々な誤差の発生原因)からの影響が異なる可能性がある。
【0101】
1つの誤差の発生原因は、ロボットの回転軸をユーザフレームのz軸と整合させない、傾いた床(たとえば、傾斜路)面である場合がある。ロボットシステムがIMUおよびOFセンサと整合されるため、測定される角速度は、本体フレームにおけるz軸にある。一例では、運動は傾斜平面上にあってよく(いくつかの場合には、ユーザフレームがやはり傾斜しているが、固定フレームであってよく)、定式化は、依然として、傾斜運動平面上で正しい可能性がある。いくつかの場合に、IMUによって測定される重力は、z軸成分に加えてx軸成分およびy軸成分を有する場合があり、したがって、重力キャンセルがすべての軸で機能するまたは適用する必要がある場合がある。
【0102】
別の潜在的な誤差の発生原因は、OF組立誤差である場合があり、それによって、そのz軸がロボットのz軸と整合しなくなる。この状況では、運動平面は、OF光軸に垂直でない場合があり、スケールおよび/またはスキューが変わる場合がある。一例では、OFセンサは、下にある面に対するその変位の2D測定値だけを提供することができるため、変位測定値からはこの傾斜についての情報がない。この傾斜(たとえば、数度未満)によってもたらされるスケール誤差は、他の誤差発生原因と比較して小さいために、いくつかの場合に、スケール誤差は較正プロセス中で無視することができる。
【0103】
別の可能性がある誤差の発生原因は、IMUの組立誤差である場合があり、それによって、そのz軸がロボットのz軸と整合しなくなる。この状況では、IMUによる測定される角速度は、ロボットのz軸上にない。一例では、この傾斜(たとえば、RVCフレームに対する現在のIMUフレームからの回転)は、複数の回転にわたって測定した平均回転軸から得ることができ、見出したまたは得られた傾斜は、角速度と直線加速度の両方で傾斜を打ち消すために使用することができる。別の例では、ロボットシステムは、加速度計の傾斜を見つけるために重力情報を使用することによって角速度の傾斜を打ち消して、直線加速度の傾斜を打ち消すことができる。次いで、IMU測定値の傾斜を打ち消したバージョンは、さらなる処理のために使用することができる。
【0104】
上の課題を克服した後に、本体フレームおよびユーザフレームにおける速度領域解法の実施形態が、それぞれ、
図4および
図5に要約される。
【0105】
速度領域における本体フレームおよびユーザフレーム中の実施形態だけが上で提示されるが、加速度領域および/または位置領域における(本体フレームまたはユーザフレーム中の)機構を同様の方法で開発することができる。様々な実施形態において、DCブロックフィルタを適用するとき、センサ測定値をユーザフレームに回転させる前、またはセンサ測定値をユーザフレームに回転させた後、またはその両方で、DCブロックフィルタを適用することができ、これは、(たとえば、主に)不要なDC成分がどこに現れるのかに依存することができる。
【0106】
実時間動的較正
様々な実施形態において、変位は、一度見つければ、一定である。
Irが知られている、または予め規定されていると仮定すると、問題は次式のように表すことができる。
【数66】
ここで、
【数67】
および
【数68】
は、センサ測定値から導出することができる。較正パラメータを動的に推定するとき、最も最近の測定値が最も大きい重みを担うべきである。というのは、較正パラメータの値は、床面の変化に起因して変わる場合があるためである。最も最近の測定値が、現在の較正パラメータの値により関連する。一例では、古いセンサ測定値(たとえば、期限切れのIMUおよび/またはOFセンサ測定値)を段階的に廃止するために忘却因子が導入される。忘却因子を用いて較正行列Aを推定する問題は、次のように定式化することができる。
【数69】
【数70】
および
【数71】
とすれば、
【数72】
これは、最小2乗推定問題と適合し、(たとえば、下のような、再帰最小2乗解法に関係する以下のセクションにおいて)実時間再帰解法が提供される。
【0107】
再帰最小2乗解法
様々な実施形態において、測定モデルが次であると仮定する。
z
k=x
kA+v
k
ここで、Aはn×m行列であり、x
kは1×nベクトルであり、z
kおよびv
kは1×mベクトルである。v
kはノイズである。k番目の観測におけるAについての再帰最小2乗解法は次である。
【数73】
ここで、λ(0<λ<1)が忘却因子であり、
【数74】
が、ゼロベクトルまたは行列として初期化され、P
0が対角行列δIとして初期化され、Iが恒等行列であり、δが大きい正の数である。適合誤差Ψ
kは、次のように再帰的に計算することができる。
【数75】
様々な実施形態において、Aは行列またはベクトルであってよく、この再帰的解法は、Aが行列またはベクトルのいずれでも機能する。
【0108】
結論
一実施形態によれば、ロボットシステム中で慣性測定ユニット(IMU)を使用することによってオプティカルフロー(OF)センサを較正する方法が、
図6のフローチャートに示される。そこでは、ステップ600で、IMUは、データを集めるための測定を実施する。次いで、ステップ602で、そのデータは、たとえばIMUとOFセンサの間のオプティカルフロースケール、位置合わせ角度、および/または変位のうちの1つまたは複数を較正することによって、オプティカルフローセンサを較正するために使用される。
【0109】
ロボット700の例示的な(しかし、非限定的な)高レベルアーキテクチャが
図7に示される。そこでは、ロボット700は、たとえば、(1)通信チャネル707を解して他のデバイスとの通信を可能にする1つまたは複数の通信デバイス706、(2)1つまたは複数の加速度計708、1つまたは複数のジャイロスコープ710、1つまたは複数のオプティカルフローセンサ712を含む1つまたは複数の感知器/センサ、(3)1つまたは複数のマニピュレータ714、および(4)1つまたは複数のロコモータ716に対してプロセッサ702を通信可能に結合するシステムバス704を含む1つまたは複数のプロセッサ702を含むことができる。通信チャネル707は、有線通信とワイヤレス通信の両方に適合可能であるだけでなく、様々な通信プロトコルをサポートすることができる。例として限定しないが、通信チャネル707は、たとえばUSB、IEEE-1394、802.11、BLE、セルラ(たとえば、LTEまたは5G)、および他の有線およびワイヤレス通信プロトコルなどといった、シリアルおよび/またはパラレル通信チャネルとして構成することができる。ワイヤレス通信チャネルが使用される場合、通信デバイス706は、ワイヤレス送受信器およびアンテナを含むことになる(
図7には図示せず)。
【0110】
感知器は、たとえば、光センサ、慣性センサ(たとえば、ジャイロスコープ、加速度計など)、熱センサ、触覚センサ、コンパス、距離センサ、ソナー、全地球測位システム(GPS)、地中探知レーダ(GPR)、物体検出および距離検知用レーザ、撮像デバイス、磁力計などといった、任意の数の様々なセンサを含むことができる。感知器は、配置内の任意の他の既存センサであってもよく、それは、さもなくば静止することになるが、単一の場所からの代わりに、施設にわたって分布した同じデータを得るためにロボット上に取り付けることができる(たとえば、温度または湿度センサ)。
【0111】
さらに、当業者なら、これらのセンサのうちの多くが、発生源とセンサの両方を含み、センサ入力を意味があり実施可能な知覚へと組み合わせることができることを理解されよう。たとえば、ソナー感知器およびGPRは、音波または可聴周波数以下の波を発生して、反射波を検知することができる。同様に、レーザを含む感知器は、レーザビームにおける遮断または位相シフトを判定するために、レーザからの反射波を検出するために構成されたセンサを含むことができる。オプティカルフローセンサ712として使用するのに好適な撮像デバイスは、たとえば、赤外線撮像器、ビデオカメラ、スチルカメラ、デジタルカメラ、相補型金属酸化物半導体(CMOS)撮像デバイス、電荷結合デバイス(CCD)撮像器などといった、画像をキャプチャするための任意の好適なデバイスであってよい。加えて、撮像デバイスは、レンズ、コリメータ、フィルタ、およびミラーなどといった、キャプチャする画像を変形するための光学デバイスを含むことができる。撮像デバイスが向けられる方向を調整するため、ロボット700は、撮像デバイスに結合されるパンアンドチルト機構を含むこともできる。
【0112】
マニピュレータ714は、たとえば、真空デバイス、磁気ピックアップデバイス、アームマニピュレータ、スコップ、把持部、カメラパンアンドチルトマニピュレータ、個別または結合アクチュエータなどを含むことができる。ロコモータ716は、たとえば、1つまたは複数の車輪、軌道、足、ローラ、プロペラなどを含むことができる。運動用の力および操縦能力を実現するため、ロコモータ716は、モータ、アクチュエータ、レバー、リレーなどによって駆動することができる。さらに、感知器は、たとえば走行距離計および歩数計などといった、マニピュレータ714またはロコモータ716と組み合わせて構成することができる。
【0113】
図7の上記の議論、および典型的なロボットに関連するハードウェアは、その開示が参照によって本明細書に組み込まれる米国特許第8,073,564号から適合された。しかし、そのような要素は純粋に例示であることを当業者なら理解されよう。いくつかのロボットは、
図7に図示される要素のすべてを含むわけではなく、一方で他のロボットは、
図7に描かれた範疇に入らないハードウェア要素を含む場合がある。それにもかかわらず、ロボット700は、スケール較正に関係する以前に述べた実施形態を含むことができる。
【0114】
本発明の例示的な実施形態による、データを処理するためのシステムおよび方法は、メモリデバイス中に含まれる命令のシーケンスを実行する1つまたは複数のプロセッサによって実施することができる。そのような命令は、2次データ記憶デバイスなどの他のコンピュータ可読媒体からメモリデバイスの中へと読み出すことができる。メモリデバイス中に含まれる命令のシーケンスの実行によって、たとえば上で述べたように、プロセッサを動作させる。代替実施形態では、本発明を実施するために、ソフトウェア命令の代わりに、またはソフトウェア命令と組み合わせて、配線接続した回路を使用することができる。そのようなソフトウェアは、センサを含む、たとえば3Dポインティングデバイスまたは他のデバイスといったデバイス内に収容されるプロセッサ上で実行することができ、またはソフトウェアは、センサを含むデバイスと通信する、たとえばシステムコントローラ、ゲームコンソール、パーソナルコンピュータなどといった別のデバイス内に収容されるプロセッサまたはコンピュータ上で実行することができる。そのような場合、センサを含むデバイスと、上で記載したように較正を実施するソフトウェアを実行するプロセッサを含むデバイスとの間で、ワイヤ線を介して、またはワイヤレスでデータを転送することができる。他の例示的な実施形態によれば、較正に関して上で記載した処理のいくつかは、センサを含むデバイス中で実施することができる一方で、処理の残りは、センサを含むデバイスから部分的に処理したデータを受け取った後に第2のデバイス中で実施される。
【0115】
上記の例示的な実施形態はロボットシステム中のIMUとOFセンサの間の較正に関係するが、これらの例示的な実施形態による較正技法は、これらのタイプのセンサおよび/または構成要素だけに限定されない。たとえば、本明細書に記載されるような較正技法は、たとえば、単なる加速度計、光および慣性センサ(たとえば、回転センサ、ジャイロスコープ、または加速度計)、磁気測定器および慣性センサ(たとえば、回転センサ、ジャイロスコープ、または加速度計)、磁気測定器および光センサ(たとえば、カメラ、1つまたは複数のフォトダイオード、1つまたは複数のフォトトランジスタ)、または他のセンサの組合せを含むデバイスに適用することができる。追加で、本明細書に記載される例示的な実施形態は、ロボット、ロボット式真空掃除機、および応用例の文脈で較正に関係するが、そのような技法は、そこに限定されず、たとえば、モバイルフォン、医療用途、ゲーム、カメラ、軍用途、ロボット式デバイスなどといった他の用途に関連する方法およびデバイスに採用することができる。
【0116】
上で記載した例示的な実施形態は、本発明を制限するというよりむしろ、すべての点において例示的であることが意図される。こうして、本発明は、当業者によって、本明細書に含まれる記載から導出できる、詳細な実装における多くの変形形態が可能である。たとえば、上記の例示的な実施形態は、とりわけ、OFセンサを較正するためのIMU測定値の使用を記載するが、上で記載した信号処理と一緒に、IMUの代わりに、またはIMUに加えて、他のタイプの(たとえば、超音波、磁気または光)センサを使用することができる。すべてのそのような変形形態および修正形態は、以下の請求項によって規定されるような、本発明の範囲および精神に入ると考えられる。本明細書の記載中で使用される要素、行為、または命令は、明示的にそうであると記載されない限り、本発明にとって重要または本質的であるとみなすべきでない。また、本明細書で使用する、冠詞「a」は、1つまたは複数の項目を含むように意図される。
【0117】
特徴および要素が具体的な組合せで上で記載されるが、各特徴または要素は、単独で、または他の特徴および要素との任意の組合せで使用できることを、当業者なら理解されよう。加えて、本明細書で記載される方法は、コンピュータまたはプロセッサによって実行するためにコンピュータ可読媒体に組み込まれるコンピュータプログラム、ソフトウェア、またはファームウェアに実装することができる。非一時的コンピュータ可読記憶媒体の例としては、限定しないが、読取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、レジスタ、キャッシュメモリ、半導体メモリデバイス、内蔵ハードディスクおよび脱着可能ディスクなどの磁気媒体、光磁気媒体、ならびに、CD-ROMディスク、およびデジタル多用途ディスク(DVD)などといった光媒体が挙げられる。ソフトウェアに関連するプロセッサは、WTRU 102、UE、端末、基地局、RNC、または任意のホストコンピュータで使用するための無線周波数送受信器を実装するために使用することができる。
【0118】
さらに、上で記載した実施形態において、処理プラットフォーム、計算システム、コントローラ、およびプロセッサを含む他のデバイスが言及される。これらのデバイスは、少なくとも1つの中央処理装置(CPU)およびメモリを含むことができる。コンピュータプログラミングの技術者の慣例によれば、動作または命令の行為および記号表現への言及は、様々なCPUおよびメモリによって実施することができる。そのような行為および動作または命令は、「実行」、「コンピュータ実行」または「CPU実行」されると呼ぶことができる。
【0119】
当業者なら、行為および記号表現された動作または命令は、CPUによる電気信号の操作を含むことを理解されよう。電気システムは、電気信号の変換または減少という結果、および、メモリシステム中のメモリ位置におけるデータビットの維持をもたらし、それによって、CPUの動作ならびに他の信号処理を再構成またはさもなくば変更することが可能なデータビットを表す。データビットが維持されるメモリ位置は、データビットに対応する、またはデータビットを表す特定の電気的、磁気的、工学的、または有機的特性を有する物理的位置である。代表的な実施形態は、上述のプラットフォームまたはCPUに限定されず、他のプラットフォームおよびCPUが提供される方法をサポートできることを理解されたい。
【0120】
データビットは、CPUによって読取り可能な磁気ディスク、光学ディスク、および任意の他の揮発性(たとえば、ランダムアクセスメモリ(RAM))または不揮発性(たとえば、読取り専用メモリ(ROM))の大容量記憶システムを含むコンピュータ可読媒体上に維持することもできる。コンピュータ可読媒体は、協働するまたは相互接続されるコンピュータ可読媒体を含むことができ、これらは、もっぱら処理システム上に存在し、または、ローカルであってよい、または処理システムに対して離れてよい、複数の相互接続される処理システム間に分散される。代表的な実施形態は上述のメモリに限定されず、他のプラットフォームおよびメモリが記載された方法をサポートできることが理解される。
【0121】
例示的な実施形態では、本明細書に記載される動作、プロセスなどのいずれかは、コンピュータ可読媒体上に記憶されるコンピュータ可読命令として実施することができる。コンピュータ可読命令は、モバイルユニット、ネットワーク要素、および/または任意の他の計算デバイスのプロセッサによって実行することができる。
【0122】
システムの態様の、ハードウェア実装とソフトウェア実装の間に残される差異はほとんどない。ハードウェアまたはソフトウェアの使用は、一般的に、費用対効果のトレードオフを表す設計上の選択である(しかし、ある種の内容では、ハードウェアとソフトウェア間の選択が重要となる場合があるという点で、常にというわけではない)。本明細書に記載されるプロセスおよび/またはシステムおよび/または他の技術(たとえば、ハードウェア、ソフトウェア、および/またはファームウェア)が効果をもたらすことができる様々な車両が存在する可能性があり、好ましい車両は、プロセスおよび/またはシステムおよび/または他の技術が配備される内容で変わる場合がある。たとえば、速さおよび正確さが最重要であると開発者が決定した場合、開発者は、主に、ハードウェアおよび/またはファームウェアの車両を選ぶ可能性がある。フレキシビリティが最重要である場合、開発者は、主に、ソフトウェア実装を選ぶ可能性がある。代わりに、開発者は、ハードウェア、ソフトウェア、および/またはファームウェアの何らかの組合せを選ぶ可能性がある。
【0123】
上の詳細な説明では、ブロック図、フローチャート、および/または例の使用を介して、デバイスおよび/またはプロセスの様々な実施形態を記載している。そのようなブロック図、フローチャート、および/または例が1つまたは複数の機能および/または動作を含む限りにおいて、そのようなブロック図、フローチャート、または例の中の各機能および/または動作が、広範囲のハードウェア、ソフトウェア、ファームウェア、またはそれらの事実上任意の組合せによって、個別におよび/または集合的に実装できることを当業者なら理解されよう。好適なプロセッサとしては、例として、汎用プロセッサ、専用プロセッサ、従来型プロセッサ、デジタル信号プロセッサ(DSP)、複数のマイクロプロセッサ、DSPコアに関連する1つまたは複数のマイクロプロセッサ、コントローラ、マイクロコントローラ、特定用途向け集積回路(ASIC)、特定用途向け標準製品(ASSP)、フィールドプログラム可能ゲートアレイ(FPGA)回路、任意の他のタイプの集積回路(IC)、および/またはステートマシンが挙げられる。
【0124】
本開示は、本明細書に記載される具体的な実施形態の観点に限定されるべきでなく、様々な態様の説明として意図されている。当業者には明らかなように、その精神および範囲から逸脱することなく、多くの修正形態および変更形態を行うことができる。本明細書の記載中で使用される要素、行為、または命令は、明示的にそうであると提供されない限り、本発明にとって重要または本質的であるとみなすべきでない。本明細書に列挙されたものに加えて、本開示の範囲内の機能的に等価な方法および装置は、上の記載から当業者には明らかとなろう。そのような修正形態および変更形態は、添付の請求項の範囲内に入ることが意図される。本開示は、添付の請求項の観点、ならびに、そのような請求項が権利を与えられる等価物の全範囲によってのみ限定されるべきである。本開示は、特定の方法またはシステムに限定されないことを理解されたい。
【0125】
ある代表的な実施形態では、本明細書に記載される主題のいくつかの部分は、特定用途向け集積回路(ASIC)、フィールドプログラム可能ゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、および/または他の集積化した形を介して実装することができる。しかし、本明細書に開示される実施形態のいくつかの態様は、全体で、または部分的に、1つまたは複数のコンピュータ上で実行する1つまたは複数のコンピュータプログラムとして(たとえば、1つまたは複数のコンピュータシステム上で実行する1つまたは複数のプログラムとして)、1つまたは複数のプロセッサ上で実行する1つまたは複数のプログラムとして(たとえば、1つまたは複数のマイクロプロセッサ上で実行する1つまたは複数のプログラムとして)、ファームウェアとして、またはそれらの事実上任意の組合せとして集積回路に同等に実装することができること、および回路を設計することおよび/またはソフトウェアおよび/またはファームウェアのためのコードを書くことは、本開示に照らして十分に当業者の技術範囲内であることは、当業者なら理解するであろう。加えて、本明細書に記載される主題の機構は、様々な形のプログラム製品として配布できること、本明細書に記載される主題の例示的な実施形態は、実際に配布を実行するために使用される、特定のタイプの信号担持媒体にかかわらず、適用されることは、当業者なら、理解されよう。信号担持媒体の例としては、限定しないが以下、すなわち、フロッピーディスク、ハードディスクドライブ、CD、DVD、デジタルテープ、コンピュータメモリなどといった記録可能タイプの媒体、ならびに、デジタルおよび/またはアナログ通信媒体など(たとえば、光ファイバケーブル、導波路、有線通信リンク、ワイヤレス通信リンクなど)といった送信タイプの媒体が挙げられる。
【0126】
ここに記載される主題は、異なる他の構成要素内に含まれる、または異なる他の構成要素に接続される異なる構成要素を説明することがある。そのような描かれたアーキテクチャは単なる例であり、実際には、同じ機能性を実現する多くの他のアーキテクチャを実装できることを理解されたい。概念的な意味で、同じ機能性を実現するための任意の構成要素の配置は、所望の機能性を実現できるように、効果的に「関連付けられる」。したがって、具体的な機能性を実現するため本明細書で組み合わされる任意の2つの構成要素は、アーキテクチャまたは中間の構成要素にかかわらず、所望の機能性を実現するように、互いに「関連付けられる」と考えることができる。同様に、そのように関連付けられる任意の2つの構成要素は、所望の機能性を実現するように互いに「動作可能に接続される」または「動作可能に結合される」と見ることもでき、そのように関連付けることが可能な任意の2つの構成要素は、所望の機能性を実現するように互いに「動作可能に結合可能である」と見ることもできる。動作可能に結合可能の具体的な例としては、限定しないが、物理的に対合可能および/もしくは物理的に相互作用する構成要素、ならびに/または、ワイヤレスで相互作用可能および/もしくはワイヤレスで相互作用する構成要素、ならびに/または、論理的に相互作用および/もしくは論理的に相互作用可能な構成要素が挙げられる。
【0127】
本明細書における、ほぼ任意の複数および/または単数の用語の使用に関して、当業者なら、文脈および/または用途に好適なように、複数形から単数形および/または単数形から複数形へと変換することができる。様々な単数形/複数形の置き換えは、明瞭にするため本明細書で明示的に言及する場合がある。
【0128】
一般的に、本明細書および特に添付の請求項(たとえば、添付の請求項の本体)で使用される用語は、「オープンな」用語(たとえば、「含む(including)」という用語は、「含むが限定しない」と解釈するべきであり、「有する(having)」という用語は、「少なくとも有する」と解釈するべきであり、「含む(includes)」という用語は、「含むが限定しない」と解釈するべきであり、など)として意図されていることを当業者なら、理解されよう。導入される請求項の記述の具体的な数が意図されている場合、そのような意図は請求項中に明示的に言及されることになり、そのような言及がない場合、そのような意図が存在しないことを、当業者ならさらに理解されよう。たとえば、ただ1つの項目が意図されるとき、「単一」という用語または同様の言葉を使用する場合がある。理解の助けとして、以下の添付の請求項および/または本明細書の記載は、請求項の記述を導入するために、導入句「少なくとも1つ」および「1つまたは複数」の使用を含む場合がある。しかし、そのような語句の使用は、同じ請求項が導入句「1つまたは複数」または「少なくとも1つ」および「a」または「an」などといった不定冠詞を含むときでさえ、不定冠詞の「a」または「an」による請求項の記述の導入によって、ただ1つのそのような記述を含む実施形態にそのように導入した請求項の記述を含む任意の特定の請求項を限定することを暗示すると解釈するべきでない(たとえば、「a」および/または「an」は、「少なくとも1つ」または「1つまたは複数」を意味すると解釈するべきである)。同じことが、請求項の記述を導入するために使用される定冠詞の使用について、真である。加えて、導入される請求項の記述の具体的な数が明示的に言及される場合であってさえ、そのような記述は少なくとも言及された数を意味すると解釈するべきであると当業者なら認識するであろう(たとえば、外に修飾子がなく「2つの記述」というそのままの記述が、少なくとも2つの記述、または2以上の記述を意味する)。さらに、「A、B、およびCのうちの少なくとも1つ」に類似する慣例が使用される事例では、一般的にそのような構文は、当業者が慣例を理解することになるような意味が意図される(たとえば、「A、B、およびCのうちの少なくとも1つを有するシステム」は、限定しないが、Aのみ、Bのみ、Cのみ、AとBを一緒に、AとCを一緒に、BとCを一緒に、ならびに/または、A、B、およびCを一緒に、などを有するシステムを含むことになる)。「A、B、またはCのうちの少なくとも1つ」に類似する慣例が使用される事例では、一般的にそのような構文は、当業者が慣例を理解することになるような意味が意図される(たとえば、「A、B、またはCのうちの少なくとも1つを有するシステム」は、限定しないが、Aのみ、Bのみ、Cのみ、AとBを一緒に、AとCを一緒に、BとCを一緒に、ならびに/または、A、B、およびCを一緒に、などを有するシステムを含むことになる)。記載、請求項、または図面であろうとなかろうと、2つ以上の選択肢の項目を提示する事実上任意の離接語および/または語句は、項目のうちの1つ、項目のいずれか、または両方の項目を含む可能性を意図すると理解するべきであることを当業者なら、さらに理解されよう。たとえば、「AまたはB」という語句は、「A」または「B」または「AおよびB」の可能性を含むと理解されよう。さらに、本明細書で使用する、複数の項目および/または複数の項目のカテゴリーのリストが続く「のいずれか」という用語は、項目および/または項目のカテゴリー「のいずれか」、「の任意の組合せ」、「の倍数」、および/または、「の複数の任意の組合せ」を個別に、または他の項目および/または他の項目のカテゴリーと組み合わせて含むことが意図される。さらに、本明細書で使用する、「セット」または「グループ」という用語は、ゼロを含む任意の数の項目を含むことが意図される。加えて、本明細書で使用する、「数」という用語は、ゼロを含む任意の数を含むことが意図される。
【0129】
加えて、本開示の特徴または態様がマーカッシュ群の用語で記載される場合、それによって本開示がマーカッシュ群の任意の個別メンバまたはメンバの下位グループの用語でやはり記載されると当業者なら理解されよう。
【0130】
当業者なら理解するように、説明を提供する観点からなどといったあらゆるすべての目的のために、本明細書に開示される全範囲は、そのあらゆるすべての可能な下位の範囲および下位の範囲の組合せをやはり包含する。任意のリスト化される範囲は、その範囲が少なくとも2等分、3等分、4等分、5等分、10等分などへ分割されることを十分に記載し可能にすると、容易に認識することができる。非限定の例として、本明細書で議論される各範囲は、下3分の1、中央3分の1、上3分の1などへと容易に分割することができる。やはり当業者なら理解するように、「最大で」、「少なくとも」、「以上」、「未満」などのすべての言葉は、言及される数を含み、上で議論したような下位の範囲へと後で分割できる範囲のことを言う。最後に、当業者なら理解するように、ある範囲は、各個別の数を含む。したがって、たとえば、1~3のセルを有するグループは、1、2、または3のセルを有するグループのことを言う。同様に、1~5のセルを有するグループは、1、2、3、4、または5のセルを有するグループのことを言うなどである。
【0131】
さらに、請求項は、その影響に言及しない限り、提供される順序または要素に限定されると読むべきでない。加えて、任意の請求項中の「ための手段」という用語の使用は、米国特許法第112条第6項またはミーンズプラスファンクションクレーム形式を行使することが意図され、「ための手段」という用語がない任意の請求項はそのように意図されない。
【0132】
付録A.1
Ip
o(k)および
Ia
o(t)を導出する
OFセンサフレームとIMUフレームが整合されないとき、それらを整合させるために回転行列R
O→Iが存在する場合がある。たとえば、以下となる。
【数76】
簡単にするために、連続形式における導関数が呈示され、
OΔ
o(t)をΔ(t)と表す。
【数77】
【数78】
および
【数79】
に留意されたい。
【符号の説明】
【0133】
100 ロボットシステム
102 オプティカルフローセンサ、OFセンサ
104 IMU
300 ロボットシステム
400 加速度計
402 オプティカルフロー
404 ジャイロスコープ
406 DCブロックフィルタ
408 速度への積分ブロック
410 ユーザフレームへの回転ブロック
412 DCブロックフィルタ
414 ユーザフレームへの回転ブロック
416 本体フレームにおける剛体の方程式ブロック
418 最小2乗解法またはfminsearchブロック
420 較正行列および変位ブロック
500 ジャイロスコープ
504 RI→Uユーザフレームへの回転ブロック
506 オプティカルフロー
508 本体フレーム速度A*OΔoブロック
510 加速度計
512 DCブロックフィルタ
514 速度への積分ブロック
516 DCブロックフィルタ
518 ユーザフレームにおける剛体の方程式ブロック
520 fminsearch (A,Ir)ブロック
522 較正行列および変位ブロック
700 ロボット
702 プロセッサ
706 通信デバイス
707 通信チャネル
708 加速度計
710 ジャイロスコープ
712 オプティカルフローセンサ
714 マニピュレータ
716 ロコモータ
【国際調査報告】