(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-09-22
(54)【発明の名称】オプティカルフロー、ホイールエンコーダおよび慣性計測装置での平面ロボットのデッドレコニング
(51)【国際特許分類】
G05D 1/02 20200101AFI20230914BHJP
G08G 1/00 20060101ALI20230914BHJP
G01C 21/16 20060101ALI20230914BHJP
A47L 9/28 20060101ALI20230914BHJP
【FI】
G05D1/02 H
G08G1/00 X
G01C21/16
A47L9/28 E
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023514465
(86)(22)【出願日】2021-08-31
(85)【翻訳文提出日】2023-04-07
(86)【国際出願番号】 US2021048365
(87)【国際公開番号】W WO2022051252
(87)【国際公開日】2022-03-10
(32)【優先日】2020-09-01
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520330641
【氏名又は名称】シーバ・テクノロジーズ・インコーポレイテッド
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ジャンルエ・ジャオ
(72)【発明者】
【氏名】ダグラス・チャールズ・カールソン
(72)【発明者】
【氏名】ユン・リ
(72)【発明者】
【氏名】ブライアン・エー・クック
【テーマコード(参考)】
2F129
3B057
5H181
5H301
【Fターム(参考)】
2F129AA03
2F129BB20
2F129BB22
2F129BB33
2F129BB48
2F129BB66
2F129EE78
2F129GG17
3B057DA00
5H181AA27
5H181CC03
5H181CC04
5H181FF27
5H301AA01
5H301BB11
5H301CC03
5H301CC06
5H301CC10
5H301GG09
5H301GG14
5H301GG17
5H301HH10
(57)【要約】
ロボット内に配置された複数のロボットセンサからの複数のロボット速度測定値を融合して、これらのロボット速度測定値の精度に基づいて融合ロボット速度を生成することと、融合ロボット速度にカルマンフィルタリングを適用して現在のロボットの場所を計算することによってロボットの軌道を推定するためのシステムおよび方法が提供される。
【特許請求の範囲】
【請求項1】
ロボットの軌道を推定するための方法であって、
ロボット内に配置された複数のロボットセンサからの複数のロボット速度測定値を融合して融合ロボット速度を生成するステップと、
前記融合ロボット速度および慣性計測装置から測定された線形加速度にカルマンフィルタリングを適用して現在のロボットの場所を計算するステップと、
を含む、方法。
【請求項2】
前記複数のロボット速度測定値を融合するステップは、オプティカルフローセンサ速度測定値とホイールエンコーダセンサ速度測定値を融合するステップを含む、請求項1に記載の方法。
【請求項3】
前記オプティカルフローセンサ速度測定値と前記ホイールエンコーダセンサ速度測定値を融合するステップは、前記オプティカルフローセンサ速度測定値と前記ホイールエンコーダセンサ速度測定値の加重合計を計算するステップを含む、請求項2に記載の方法。
【請求項4】
前記オプティカルフローセンサ速度測定値と前記ホイールエンコーダセンサ速度測定値を融合するステップは、前記慣性計測装置の線形加速度から導出された速度を使用して、オプティカルフローセンサ速度測定値の重みおよびホイールエンコーダセンサ速度測定値の重みを決定するステップをさらに含む、請求項3に記載の方法。
【請求項5】
前記慣性計測装置の線形加速度から導出された速度を使用するステップは、
前記オプティカルフローセンサ速度測定値、前記ホイールエンコーダセンサ速度測定値、および前記慣性計測装置の線形加速度から導出された速度を、変換領域において変換信号に変換するステップであって、各変換信号が1つの特徴を含む、ステップと、
慣性計測装置の線形加速度から導出された速度の特徴とオプティカルフローセンサ速度測定値の特徴および前記慣性計測装置の線形加速度から導出された速度の特徴とホイールエンコーダセンサ速度測定値の特徴との間の差を特定するステップと、
前記特定された差を使用して、オプティカルフローセンサ速度測定値の重みおよびホイールエンコーダセンサ速度測定値の重みを決定するステップと、
を含む、請求項4に記載の方法。
【請求項6】
前記特定された差を使用するステップは、
前記慣性計測装置の線形加速度から導出された速度の特徴と前記オプティカルフローセンサ速度測定値の特徴との間の類似性が少なくとも0.95であり、前記慣性計測装置の線形加速度から導出された速度の特徴と前記ホイールエンコーダセンサ速度測定値の特徴との間の類似性が0.5より少ないとき、前記オプティカルフローセンサ速度測定値の重みに1の値を、そして前記ホイールエンコーダセンサ速度測定値の重みに0の値を割り当てるステップと、
前記慣性計測装置の線形加速度から導出された速度の特徴と前記オプティカルフローセンサ速度測定値の特徴との間の前記類似性が0.5より少なく、前記慣性計測装置の線形加速度から導出された速度の特徴と前記ホイールエンコーダセンサ速度測定値の特徴との間の前記類似性が少なくとも0.95であるとき、前記オプティカルフローセンサ速度測定値の重みに0の値を、そして前記ホイールエンコーダセンサ速度測定値の重みに1の値を割り当てるステップと、
を含む、請求項5に記載の方法。
【請求項7】
前記特定された差を使用するステップは、所与の時間から延びる線形加速度の最近のサンプルおよび前記所与の時間での前の速度測定値を使用して重みを割り当てるステップを含む、請求項5に記載の方法。
【請求項8】
前記特定された差を使用するステップは、速度領域においてオプティカルフローセンサ速度測定値の特徴、ホイールエンコーダセンサ速度測定値の特徴および慣性計測装置の線形加速度から導出された速度の特徴を使用して重みを割り当てるステップを含む、請求項5に記載の方法。
【請求項9】
カルマンフィルタリングを適用するステップは、前記慣性計測装置の線形加速度、前記オプティカルフロー速度とホイールエンコーダ測定値の重み付けされた組み合わせ、および前記カルマンフィルタリングにおけるロボットダイナミクスを使用することをさらに含む、請求項1に記載の方法。
【請求項10】
前記ロボットはロボット掃除機である、請求項1に記載の方法。
【請求項11】
ロボットの軌道を推定するために構成されたロボットであって、
ロボット内に配置された複数のロボットセンサからの複数のロボット速度測定値を融合して融合ロボット速度を生成するように構成された少なくとも1つのプロセッサ
を含み、
前記少なくとも1つのプロセッサは、前記融合ロボット速度および慣性計測装置から測定された線形加速度にカルマンフィルタリングを適用して現在のロボットの場所を計算するように構成されている、
ロボット。
【請求項12】
前記複数のロボット速度測定値を融合することは、前記少なくとも1つのプロセッサが、オプティカルフローセンサ速度測定値とホイールエンコーダセンサ速度測定値を融合することを含む、請求項11に記載のロボット。
【請求項13】
前記オプティカルフローセンサ速度測定値と前記ホイールエンコーダセンサ速度測定値を融合することは、前記少なくとも1つのプロセッサが、前記オプティカルフローセンサ速度測定値と前記ホイールエンコーダセンサ速度測定値の加重合計を計算することを含む、請求項12に記載のロボット。
【請求項14】
前記オプティカルフローセンサ速度測定値と前記ホイールエンコーダセンサ速度測定値を融合することは、前記少なくとも1つのプロセッサが、前記慣性計測装置の線形加速度から導出された速度を使用して、オプティカルフローセンサ速度測定値の重みおよびホイールエンコーダセンサ速度測定値の重みを決定することをさらに含む、請求項13に記載のロボット。
【請求項15】
前記慣性計測装置の線形加速度から導出された速度を使用することは、
前記少なくとも1つのプロセッサが、前記オプティカルフローセンサ速度測定値、前記ホイールエンコーダセンサ速度測定値、および前記慣性計測装置の線形加速度から導出された速度を、変換領域において変換信号に変換し、各変換信号が1つの特徴を含むことと、
前記少なくとも1つのプロセッサが、慣性計測装置の線形加速度から導出された速度の特徴とオプティカルフローセンサ速度測定値の特徴および前記慣性計測装置の線形加速度から導出された速度の特徴とホイールエンコーダセンサ速度測定値の特徴との間の差を特定することと、
前記少なくとも1つのプロセッサが、前記特定された差を使用して、オプティカルフローセンサ速度測定値の重みおよびホイールエンコーダセンサ速度測定値の重みを決定することと、
を含む、請求項14に記載のロボット。
【請求項16】
前記特定された差を使用することは、
前記少なくとも1つのプロセッサが、前記慣性計測装置の線形加速度から導出された速度の特徴と前記オプティカルフローセンサ速度測定値の特徴との間の類似性が少なくとも0.95であり、前記慣性計測装置の線形加速度から導出された速度の特徴と前記ホイールエンコーダセンサ速度測定値の特徴との間の類似性が0.5より少ないとき、前記オプティカルフローセンサ速度測定の重みに1の値を、そして前記ホイールエンコーダセンサ速度測定値の重みに0の値を割り当てることと、
前記少なくとも1つのプロセッサが、前記慣性計測装置の線形加速度から導出された速度の特徴と前記オプティカルフローセンサ速度測定値の特徴との間の前記類似性が0.5より少なく、前記慣性計測装置の線形加速度から導出された速度の特徴と前記ホイールエンコーダセンサ速度測定値の特徴との間の前記類似性が少なくとも0.95であるとき、前記オプティカルフローセンサ速度測定値の重みに0の値を、そして前記ホイールエンコーダセンサ速度測定値の重みに1の値を割り当てることと、
を含む、請求項15に記載のロボット。
【請求項17】
前記特定された差を使用することは、前記少なくとも1つのプロセッサが、所与の時間から延びる線形加速度の最近のサンプルおよび前記所与の時間での前の速度測定値を使用して重みを割り当てることを含む、請求項15に記載のロボット。
【請求項18】
前記特定された差を使用することは、前記少なくとも1つのプロセッサが、速度領域においてオプティカルフローセンサ速度測定値の特徴、ホイールエンコーダセンサ速度測定値の特徴および慣性計測装置の線形加速度から導出された速度の特徴を使用して重みを割り当てることを含む、請求項15に記載のロボット。
【請求項19】
カルマンフィルタリングを適用することは、前記慣性計測装置の線形加速度、前記オプティカルフロー速度とホイールエンコーダ測定値の重み付けされた組み合わせ、および前記カルマンフィルタリングにおけるロボットダイナミクスを使用することをさらに含む、請求項11に記載のロボット。
【請求項20】
前記ロボットはロボット掃除機である、請求項11に記載のロボット。
【請求項21】
前記特徴は、速度信号を変換するDCブロックフィルタによって生成され、前記速度信号は、前記オプティカルフローセンサ、前記ホイールエンコーダまたは前記慣性計測装置の1つまたは複数によって生成される、請求項5、6、8、15、16、または18のいずれか一項に記載の方法またはロボット。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願
本願は、「PLANAR ROBOTS DEAD-RECKONING WITH OPTICAL FLOW, WHEEL ENCODER AND INERTIAL MEASUREMENT UNIT」という名称の、2020年9月1日に出願された米国仮特許出願第63/073,311号に関し、そしてその優先権を主張するものであり、その開示を参照によりここに組み込む。
【0002】
本明細書で開示される主題の実施形態は、平面ロボットにおけるナビゲーションに関する。
【背景技術】
【0003】
平面ロボットは平面上を移動し、ロボット掃除機のような用途で利用される。平面ロボットにおけるデッドレコニングナビゲーションと同時ローカリゼーションおよびマッピング(SLAM)は、慣性計測装置(IMU)、オプティカルフロー(OF)センサおよびホイールエンコーダ(WE)を利用する。IMUは通常、加速度計およびジャイロスコープを含み、平面ロボットの相対方位および線形加速度を提供する。OFセンサおよびWEは平面ロボットのスピードを提供する。デッドレコニングを使用して、平面ロボットの現在のスピードおよび以前の位置で現在の位置推定を更新することによって平面ロボットの軌道を計算する。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】https://electronics.howstuffworks.com/gadgets/home/robotic-vacuum1.htm
【非特許文献2】Ronald P. M. Chanら、「Characterization of Low-cost Optical Flow Sensors」、Proceeding of Australasian Conference on Robotics and Automation、ブリスベン、オーストラリア(2010)
【非特許文献3】「Outdoor downward-facing optical flow odometry with commodity sensors.」、In: Howard A、Iagnemma K、Kelly A (eds) Field and service robots, Springer tracts in advanced robotics、vol 62、Springer、ベルリン、183~193頁
【非特許文献4】「Introduction to Autonomous Mobile Robots」、R. SiegwartおよびI. Nourbakhsh、MIT Press(2004)
【発明の概要】
【発明が解決しようとする課題】
【0005】
OFセンサおよびWEは平面ロボットのスピードを提供することができるが、OFセンサおよびWEによって提供される測定値は、エラーおよび失敗の傾向がある。たとえば、OFの画質が低すぎれば、OFセンサが完全に失敗する可能性がある。加えて、ホイールのスリップはWEについての測定エラーの一般的な原因である。デッドレコニングナビゲーションでは、スピード推定の精度が位置エラー増加率を決定し、したがって、センサを融合して正確なスピード推定を得ることは、異種の表面(たとえば、ラグ、タイル、木材)を走行するために不可欠である。したがって、平面ロボットのナビゲーションにはまだ改善の余地がある。
【課題を解決するための手段】
【0006】
例示的な実施形態は、平面ロボットにおけるナビゲーションを提供するシステムおよび方法を対象とする。IMUからの線形加速度とOFセンサおよびWEからのスピードを融合して堅牢で正確なデッドレコニング位置推定を実現する。不良なセンサ測定値は拒絶され、またはOFセンサとWE測定値の両方がその精度に関して適切に組み合わせられる。OFセンサおよびWEからの測定値はロボットの動きと一致しないことがあり、OFセンサおよびWEにおけるエラーは走行条件に依存する。しかしながら、IMUの線形加速度は常にロボットの動きと一致する。加えて、線形加速度から導出されたスピードは、急速に増大する積分誤差の影響を受けるが、この導出されたスピードは、信号処理を通して特徴領域での動き不一致エラーなくOFセンサおよびWEによって測定されたスピードと同等になる。また、センサ測定値の重みをその精度に関して導出することができる。
【0007】
一実施形態によればロボットの軌道を推定するための方法がある。この方法は、ロボット内に配置された複数のロボットセンサからの複数のロボット速度測定値を融合して融合ロボット速度を生成するステップと、融合ロボット速度および慣性計測装置から測定された線形加速度にカルマンフィルタリングを適用して現在のロボットの場所を計算するステップと、を含む。
【0008】
一実施形態によればロボットの軌道を推定するために構成されたロボットがある。このロボットは、ロボット内に配置された複数のロボットセンサからの複数のロボット速度測定値を融合して融合ロボット速度を生成するように構成された少なくとも1つのプロセッサを含み、少なくとも1つのプロセッサは、融合ロボット速度および慣性計測装置から測定された線形加速度にカルマンフィルタリングを適用して現在のロボットの場所を計算するように構成されている。
【0009】
添付の図面は例示的な実施形態を示す。
【図面の簡単な説明】
【0010】
【
図2】一実施形態によるロボットの場所を推定するための方法を示すフローチャートである。
【
図3】一実施形態によるDCブロックフィルタ周波数応答のグラフである。
【
図4】一実施形態による速度融合と場所および軌道推定の図である。
【
図5】一実施形態によるロボットの軌道を推定するための方法のフローチャートである。
【発明を実施するための形態】
【0011】
本発明の次の詳細な説明は添付の図面を参照する。異なる図面における同じ参照番号は同じまたは同様の要素を特定する。また、次の詳細な説明は本発明を限定するものではない。代わりに、本発明の範囲は添付の請求項によって定義される。
【0012】
本明細書で使用されるとき、太字で表示される変数は行列またはベクトルを示す。変数が行列であるかベクトルであるかは文脈から推測することができる。変数
【数1】
では、xは対象、たとえば、線形加速度または速度の量を表す。量Aは、xが、たとえば、ユーザフレームまたは慣性計測装置(IMU)フレームであるフレームまたは座標であり、量bは、xが関連している場所、たとえば、IMUまたはオプティカルフロー(OF)センサが配置されている場所である。量cは、xを測定するセンサ、たとえば、OFまたはホイールエンコーダ(WE)である。
【0013】
一般に、次の記号および変数がこの明細書全体を通して使用される。
I IMUボディフレーム。
i、o、w ロボット上のIMU、OF、およびWEセンサの場所。
U ユーザフレーム。
ω [0 0 ω
z]としてのロボットの角速度。
【数2】
IMUフレームにおけるOFからIMUへの変位。
【数3】
IMUフレームにおけるWEからIMUへの変位。
【数4】
時間kでIMUによって測定された、ユーザフレームUにおけるIMUの場所での加速度。
【数5】
時間kでOFおよびWによって測定された、フレームUにおけるIMUの場所での速度。
【数6】
時間kでのユーザフレームUにおけるIMUの場所での真の速度。
【数7】
時間KでのユーザフレームUにおけるIMUの場所での融合速度。
【数8】
速度領域において
【数9】
および
【数10】
から計算された特徴。
Ν(x; m,Φ) 平均mおよび共分散Φを備えたxのガウス分布。
【0014】
例示的な実施形態は平面ロボットの改善されたナビゲーションを提供する。適切な平面ロボットはロボット掃除機(RVC)を含むが、これに限定されない。一般に、RVCシステムは2つのホイール、左ホイールおよび右ホイールを含み、それぞれが独自のエンコーダを備えて2つの独立したモータによって駆動される。ロボット掃除機がどのように働くかの説明は、非特許文献1で見られ、その内容全体を参照により本明細書に組み込む。
【0015】
最初に
図1を参照すると、ロボット100の一実施形態が示されている。ロボットは、左ホイールエンコーダ(WE)センサを含む左ホイール102と、右ホイール(WE)エンコーダセンサを含む右ホイール104と、を含む。ロボットはまたオプティカルフロー(OF)センサ106およびIMU108を含む。IMU108は加速度計およびジャイロスコープを含み、IMUの場所での加速度
【数11】
110、角速度ω
k112、および角度位置
I→UR
k114または重力方向に延在するz軸120を備えたユーザフレーム118または固定フレームにIMUフレーム116を回転させる回転である四元数q
kを測定する。平面ロボットでは、これはロボットの角度位置でもある。
【数12】
および
I→UR
kにおいて、IおよびUはIMUフレームおよびユーザフレームを表す。左の下付き文字iは、この量がIMU108の場所に関連していることを示し、右の上付き文字iは、この量がIMU108によって測定されていることを示す。離散時間はkによって示されている。
【0016】
OFセンサ106はOFボディフレームにおけるピクセルの動きを測定し、これは、センサが2つの連続するレジスタ読み取り間で移動する相対距離である。一定周期でサンプリングすると、OFセンサ106は速度センサとして扱うことができる。OFセンサ106は較正され、OFセンサ106の場所で速度122を測定し、これは
【数13】
として示される。IMUフレームにおけるOFセンサ106からIMU108への変位は
【数14】
で示され、これはIMUフレームにおいて一定である。
【0017】
較正後、左右のWEセンサは、それぞれ、IMUフレームにおける左ホイール126および右ホイール128の場所で速度を測定し、これらは
【数15】
および
【数16】
として示される。平面ロボット上で、これら2つのホイールは前方または後方にのみ移動することができる。
【数17】
および
【数18】
の平均は2つのホイール中心間の中間w132でのロボット速度130であり、これは
【数19】
として示される。IMUフレームにおける場所wからIMU108への変位134は
【数20】
である。ロボット100はまた、さまざまな計算を実行し、本明細書に記載の実施形態に関連する命令を実装するための少なくとも1つのプロセッサ136を含む。
【0018】
オプティカルフローセンサは、低解像度、高フレームレートのカメラを使用して表面の画像をキャプチャして、連続した表面画像(フレーム)を光学的に取得し、動きのスピードおよび方向を数学的に決定することによって、位置の変化を測定する。デルタXおよびY、その間の間隔中の位置の変化を生成する画像処理アルゴリズムに、連続する画像が供給される。オプティカルフローセンサのよく知られた用途はコンピュータマウスにあり、ここで画像センサおよび処理アルゴリズムが単一のチップに組み込まれている。
【0019】
OF測定の精度は光源および表面テクスチャに依存する。いくつかの実施形態のための適切なOFセンサ106は、放射の誘導放出による光増幅(LASER)と発光ダイオード(LED)光源の両方を有するPix Art Imaging PAA 5101である。照明にLASERを選択すると、画質の値は、タイル上を進むときは高く、カーペット上を進むときは低い。逆に、LEDを選択すると、画質は、カーペット上を進むときは高く、タイル上を進むときは低い。センサはオプティカルフローを測定することによって動作するため、光強度のパターンが異なる挙動をする表面は不正確な測定値という結果をもたらすことになる。したがって、非特許文献2、および、非特許文献3に記載されたように、表面からの鏡面反射が測定に影響することになる。異なるセンサからの測定値の融合を提供するため、OFセンサの失敗を確実に検出する必要があり、OFセンサが異なる表面上を走行しているとき、OFセンサの精度を評価する必要がある。
【0020】
WEの精度に関して、ロボットには通常、その移動距離を測定するホイールオドメトリが装備されている。WE測定の精度は地形面に依存し、非特許文献4に記載されたように、多くのエラーの原因の影響を受ける。これらのエラーの原因は、積分中の分解能の制限(時間増分、測定分解能など)、ホイールのずれ(決定的)、ホイール径の不均衡(決定的)、ホイールの接触点のばらつき、不均等な床接触(滑り、非平面など)、およびロボットの衝突と衝突によって引き起こされるエラーを含む。これらのエラーはWEセンサ測定の信頼性に悪影響を及ぼす。これらの決定的エラーは動的なホイールエンコーダの較正によって大幅に削減することができる。他のエラーでは、センサ融合のために精度を推定する必要がある。
【0021】
IMU108はロボットの配向および線形加速度を提供する。ロボットの方位の変化は配向から導出することができる。線形加速度は通常、無重力オフセット(ZGO)および重力残差を含む。その結果、線形加速度の直接積分は深刻な積分誤差の影響を受ける。しかしながら、IMUの線形加速度の精度は、地形および表面テクスチャのばらつきの影響を受けない。換言すれば、線形加速度の測定値は常にロボットの動きと一致している。フィルタリングおよび信号処理の後、IMU108から導出された線形加速度を使用してOFおよびWEセンサの失敗を検出し、その精度を評価する。
【0022】
図2を参照すると、ロボット200の現在位置を良好な精度で推定するための方法の例示的な一実施形態が示されている。この方法は、複数のロボットセンサからの速度測定値を融合し、カルマンフィルタにおいて融合速度を使用して現在位置を推定する。時間をかけて実行すると、現在位置がロボット軌道を定義する。適切なロボットは平面ロボットを含むが、これに限定されない。一実施形態において、ロボットはRVCである。最初に、複数のロボットセンサにおける各ロボットセンサを較正する。一実施形態において、所与のロボットセンサが、ステップ202で、その所与のロボットセンサの相手先ブランド製造者(OEM)によって提供される公称較正方法を使用して較正される。あるいは、所与のロボットセンサが、社内の高度な較正方法を使用して較正される。適切なロボットセンサは、上述したようなOFセンサおよびWEセンサを含む。較正されたロボットセンサをステップ204で時間整列させる。ステップ206で各ロボットセンサからロボット速度測定値が得られる。一実施形態において、1つのOFセンサ速度測定値が得られ、少なくとも1つのWEセンサ速度測定値が得られる。一実施形態において、2つの別個のWEセンサ速度測定値が得られ、2つの別個のWEセンサ速度測定値を平均化して複合WEセンサ速度測定値を生成する。複合WEセンサ速度測定値は、左右のホイール間の軸の中心に関連し、大抵、これはロボットのボディの中心でもある。
【0023】
複数のロボットセンサからのロボット速度測定値を次いでステップ208で融合または結合する。一実施形態において、この結合は、複数のロボット速度測定値の加重結合または加重合計である。融合ロボット速度測定値を次いでステップ210でカルマンフィルタによって処理し、すなわち、カルマンフィルタリングにかけて、ステップ212で現在のロボットの場所を推定する。ロボット速度測定値の収集および融合とカルマンフィルタリングでの融合速度測定値の処理は反復的に繰り返すことができる。これにより、所与の期間にわたるロボットの軌道をステップ214で決定するために使用することができる現在のロボットの場所の履歴が生成される。一実施形態において、融合ロボット速度測定値は、ステップ216でIMU108から得られてユーザ基準系で表される線形加速度およびステップ218でロボットダイナミクスと組み合わせてカルマンフィルタによって処理される。
【0024】
各ロボットセンサはそのロボットセンサの物理的な場所で量を測定し、IMU108はIMUの場所で線形加速度を測定するため、一実施形態において、ロボット速度測定値、たとえば、OFセンサ速度測定値およびWEセンサ速度測定値は、ステップ220で、各ロボットセンサの場所でのロボット速度測定値からロボット内の共通の場所でのロボット速度測定値に変換、変形または翻訳される。一実施形態において、ロボット速度測定値は任意の共通の場所に変換される。一実施形態において、各ロボット速度測定値は各ロボットセンサの場所からロボット内のIMUの場所での対応するロボット速度測定値に変換される。したがって、各ロボット速度測定値はロボットセンサの場所の基準系からIMUの場所の基準系に翻訳される。
【0025】
ロボット速度測定値を変換するための異なる変換の選択により、異なる変換エラーが発生することになる。一実施形態において、ロボット速度測定値からのすべての量がIMUの場所に変換され、すなわち、OFセンサ速度測定値およびWEセンサ速度測定値がIMUの場所に変換される。剛体上で、第2の位置bでの速度は、剛体の角速度およびaからbへの変位を使用して、第1の場所aでの速度から計算される。これは、次の剛体変換式(1)で表される。
【数21】
ここで
【数22】
および
【数23】
は、それぞれ、場所bおよび場所aでの速度であり、ωは剛体の角速度であり、
【数24】
はボディフレームにおけるaからbへの変位である。この速度変換式はユーザフレームにおいて成り立つ。
【0026】
一実施形態において、ロボット速度測定値、すなわち、OFセンサ速度測定値およびWEセンサ速度測定値は、剛体変換式を使用してIMUの場所に変換される。OFセンサおよびWEセンサから計算されたIMUでの対応する速度は式(2)および(3)に示されている。
【数25】
ここで
【数26】
および
【数27】
は、それぞれ、IMUフレームにおけるこれら自体の場所でのOFセンサおよびWEからの速度であり、
【数28】
および
【数29】
はIMUの場所での対応する速度である。
【0027】
IMU基準系における結果のロボット速度測定値は次いでステップ222でユーザ基準系における対応するロボット速度測定値に変換される。ユーザ基準系は、ロボットのユーザに関連する基準系である。一実施形態において、IMUからの四元数または回転行列はIMUフレームからユーザフレームまたは固定座標フレームへの回転を提供する。このような四元数qで、IMUの場所での速度
【数30】
および
【数31】
は、式(4)および(5)に示すように、次のユーザ座標に変換される。
【数32】
【0028】
加えて、IMU108からの測定値がユーザ基準系に翻訳される。一実施形態において、ユーザ基準系におけるIMU108からの線形加速度は、式(6)に示すように次のように計算される。
【数33】
【0029】
複数のロボットセンサ、たとえば、OFセンサおよびWEセンサからのセンサ測定値の精度は、ロボット100の走行または動作条件に依存する。所与の走行または動作条件下の1つのタイプのロボットセンサの精度は、同じ走行条件または動作条件下の別のタイプのロボットセンサとは異なる可能性がある。したがって、いくつかのタイプのロボットセンサが、共通の動作条件下の他のタイプのロボットセンサより大きな精度を有することになる。したがって、各ロボットセンサからの各センサ測定の精度はステップ224で走行条件に基づいて決定され、この精度は、カルマンフィルタリングで使用するためにロボット速度測定値をどのように結合または融合するかを決定する際に使用される。
【0030】
IMU測定値がロボットの走行条件に影響されない、または依存しないことを考えると、一実施形態において、特徴空間におけるIMU線形加速度測定値を使用して複数のロボット速度測定値の精度に確実にアクセス、またはこれを決定する。各ロボットセンサ、OFセンサおよびWEセンサからのロボット速度測定値に適用されるべき重みは、これらの速度測定値に関連する精度に関して計算される。ロボットセンサから得られるロボット速度測定値に加えて、IMUから得られるロボットの線形加速度からロボット速度が導出される。ロボットセンサから得られた速度を、IMUから導出された線形加速度から計算された速度と比較するという目的で特徴が定義される。いくつかの実施形態によれば、速度信号を変換するDCブロックフィルタによって特徴が生成され、速度信号は、オプティカルフローセンサ、ホイールエンコーダまたは慣性計測装置の1つによって生成される。
【0031】
ステップ226で、線形加速度から導出されたロボット速度および複数のロボットセンサからのロボット速度測定値からの同等な特徴が計算され、異なる領域、たとえば、速度領域および位置領域について比較される。ステップ228で、IMUと各ロボットセンサとの間で同等な特徴間の差が特定される。これらの差は各ロボットセンサからの速度測定値の精度を表し、ステップ230で速度測定値の融合における各ロボット速度測定値の寄与を重み付けするために使用される。したがって、ロボット速度測定値を融合することは、ロボットの現在の走行または動作条件下での各ロボットセンサの精度に基づいて、各ロボットセンサのロボット速度測定値の加重合計を使用する。
【0032】
IMUからの線形加速度は、OFセンサおよびWEセンサに悪影響を及ぼす走行条件によって引き起こされるエラーの影響を受けないため、線形加速度を使用して
【数34】
および
【数35】
の精度を評価する。IMUの場所での真の速度を瞬間kで
【数36】
として表すと、式(7)に示すように、OFセンサおよびWEセンサから得られた速度と真の速度との間に次の関係が得られる。
【数37】
ここで
【数38】
および
【数39】
はセンサノイズを表す。また、
【数40】
がエラーなく理想的であれば、線形加速度から導出される速度は次の式(8)によって表される。
【数41】
計算された速度
【数42】
は真の速度
【数43】
に近い。したがって、
【数44】
および
【数45】
であり、≒はセンサエラーの影響を表す。別の言い方をすると、線形加速度
【数46】
から導出される速度
【数47】
および
【数48】
は走行条件が引き起こすエラーなく同等または同様である。
【数49】
および
【数50】
も同じである。しかしながら、
【数51】
は通常ZGOおよび重力残差を含む。
【数52】
の積分により、これらの誤差が急速に蓄積され、計算された速度が真の速度とは大きく異なり、上の仮定が無効になる。
【0033】
加速度に含まれるZGOおよび重力残差による積分の相違を克服するため、信号の変化のみが保たれるように、各積分動作の前後にDCブロックフィルタが適用される。DCブロックフィルタは、差分方程式(9)によって指定される再帰フィルタである。
y(n)=(x(n)-x(n-1))(1+a)/2+ay(n-1) (9)
【0034】
図3を参照すると、a=0.5、306、a=0.8、304、およびa=0.95、302のときの周波数応答のグラフ300が示されている。
【0035】
IMU線形加速度、OFセンサ速度測定値およびWEセンサ速度測定値から導出される速度間の同等の特徴を得るため、DCブロックフィルタおよび適切な変換がOFセンサ、WEセンサおよびIMUの速度測定値に適用される。これにより、センサ測定値が変換領域において変換信号に変換される。変換信号は、元の信号の特徴、すなわち、元の速度測定値と呼ばれる。これらの変換信号、すなわち、特徴は同等であり、これらの特徴間の差を使用してセンサ測定の精度を評価する。一実施形態において、センサ測定値は、複数の変換領域、たとえば、速度領域および位置領域について変換される。
【0036】
良好に設計されたDCブロックフィルタf
DCB(*)を使用して、各ロボットセンサからの各ロボット速度測定値とIMU線形加速度から導出された速度を比較するために使用される速度領域および位置領域において、元の信号の特徴、すなわち、元のセンサ測定値を計算する。まず、IMU線形加速度
【数53】
から導出される線形速度
【数54】
にDCブロックフィルタが適用される。結果の特徴は式(10)に示される。
【数55】
【0037】
最も内側のf
DCB(*)は
【数56】
におけるDC成分、たとえば、重力残差を除去する。外側のf
DCB(*)は積分による累積誤差を除去する。
【数57】
における左下付き文字vは、この特徴が速度領域にあることを示す。
【0038】
同じDCブロックフィルタが
【数58】
および
【数59】
に適用され、式(11)が得られる。
【数60】
【0039】
ダブルDCブロックフィルタを適用した後、元の信号に埋め込まれたDC成分および1次変動成分がフィルタ除去され、高次の信号変動のみが保たれる。ZGOおよび重力残差によって引き起こされる誤差は大幅に減少する。式(12)および(13)に示すように、次の関係が実際のデータについて成り立つ。
【数61】
【0040】
これらの関係は、理論的定式化と実践的実装との間のギャップを埋める。高周波センサノイズをさらに低減するため、速度も位置領域で変換され、DCブロックフィルタが式(14)~(16)に示すように適用される。
【数62】
次いで、式(17)および(18)に示すように、
【数63】
である。
【数64】
における左下付き文字pは、この特徴が位置領域にあることを示す。
【0041】
特徴差を評価する際、計算された特徴間の相関係数が計算され、IMU測定値と各ロボットセンサ測定値との間、すなわち、OF測定値とIMU測定値との間およびWE測定値とIMU測定値との間の近さまたは類似性を判定するために使用される。この類似性メトリックは、式(19)および(20)に示すように最新のt
0秒内のk
0+1特徴サンプル間で計算される。
【数65】
ここで
【数66】
は、ベクトルとして再成形された(k-k
0)からkまでの特徴
pΓ
IMUのサンプルシーケンスであり、
【数67】
は、ベクトルとして再成形された(k-k
0)からkまでの特徴
pΓ
OFのサンプルシーケンスである。
【0042】
λ
ioが閾値、たとえば、0.5を下回っているとき、OFセンサ測定値は走行条件エラー、たとえば画像の不具合の影響を受け、λ
ioが十分に高い、または閾値、たとえば、0.95を超えているとき、OFセンサ測定値は許容可能な精度を有する。同様に、λ
iwが閾値、たとえば、0.5を下回って十分に低いとき、WE測定値は走行条件エラーの影響を受け、λ
iwが閾値、たとえば、0.95を超えて十分に高いとき、WE測定値は許容可能な精度を有する。したがって、λ
ioが十分に高い、または閾値、たとえば、0.95を超えている一方、λ
iwが十分に低い、または閾値、たとえば、0.5を下回っているとき、融合速度は
【数68】
である。すなわち、WEセンサ速度測定値に割り当てられる重みはゼロで、OFセンサ速度測定値に割り当てられる重みは1である。λ
iwが十分に高い、または閾値、たとえば、0.95を超えている一方、λ
ioが十分に低い、または閾値、たとえば、0.5を下回っているとき、融合速度は
【数69】
になるはずである。すなわち、OFセンサ速度測定値に割り当てられる重みはゼロであり、WEセンサ速度測定値に割り当てられる重みは1である。他の場合、融合速度は
【数70】
および
【数71】
の加重合計として計算され、加重合計で使用される重みは次の手順によって決定される。
【0043】
OFセンサおよびWEセンサに関連する速度の重みを導出するため、線形加速度
【数72】
はZGOまたは重力残差なく正確であると仮定され、
【数73】
および
【数74】
はセンサ測定値のみを表す。したがって、式(21)および(22)に示すように、
【数75】
である。
【0044】
【数76】
および
【数77】
が測定ノイズであり、それぞれ
【数78】
および
【数79】
の分布を備えたガウス分布であるとする。
【数80】
が与えられた
【数81】
の尤度は
【数82】
として定義され、
【数83】
が与えられた
【数84】
の尤度は
【数85】
として定義される。
【数86】
の初期確率で、ベイズ式による重みは式(23)および(24)に示される。
【数87】
次いで融合速度は式(25)に示される。
【数88】
【0045】
初期ロボット速度
【数89】
および線形加速度シーケンス
【数90】
があれば、
【数91】
および
【数92】
の尤度、
【数93】
および
【数94】
が計算される。しかしながら、ZGOおよび重力残差のため、式(1)および(2)は実際のデータには有効でない。たとえば、20ミリグラビティのオフセット誤差があるIMU108は、1秒後のスピードについて約0.196m/sの誤差を、そして10秒後のスピードについて約1.96m/sの誤差を引き起こす。したがって、尤度を近似するために2つの実施形態が使用される。
【0046】
一実施形態において、尤度
【数95】
は、線形加速度サンプル
【数96】
およびN番目の前の測定値
【数97】
の、直近の0.2または0.3秒以内に得られた、直近のN+1個のサンプルによって近似され、式(26)で以下に示す通りである。
【数98】
【0047】
短期間のため、次の近似は、式(27)に示すように、重力残差およびZGOがあっても成り立つ。
【数99】
OF速度残差は式(28)に示すように計算される。
【数100】
OFセンサが
【数101】
の分布を備えたガウスノイズを有すると仮定すると、残差
【数102】
の尤度は
【数103】
および
【数104】
が与えられた
【数105】
である。
【0048】
同様に、WE速度残差は式(29)に示すように計算される。
【数106】
その尤度は
【数107】
および
【数108】
が与えられた
【数109】
である。したがって、式(30)および(31)に示すように、
【数110】
である。
両尤度関数は主に共通データ
【数111】
に依存するが、
【数112】
および
【数113】
はほぼ等しいと仮定され、またはこれらの差は無視される。
【0049】
別の実施形態において、速度領域における特徴を使用して重みを計算する。式(32)~(34)に定義されるように、
【数114】
である。
【0050】
OFセンサとWEセンサの両方が正常に働けば、
【数115】
および
【数116】
である。
【数117】
であることが知られており、ここで
【数118】
はユーザフレームにおけるIMUでの真の速度である。したがって、式(35)に示すように、
【数119】
であり、ここで
【数120】
および
【数121】
はセンサノイズであり、このとき、式(36)に示すように、
【数122】
である。
【0051】
【数123】
および
【数124】
が、それぞれ、
【数125】
および
【数126】
の分布を備えたガウス分布であると仮定すると、所与の
【数127】
【数128】
の尤度は
【数129】
であり、
【数130】
の尤度は
【数131】
である。したがって、式(37)に示すように、
【数132】
である。
【0052】
この実施形態において、尤度は
【数133】
および
【数134】
を定義することによって近似され、ここで
【数135】
および
【数136】
は直近のN+1個の特徴であり、これらは直近の0.2または0.3秒以内のサンプルである。評価をより安定させるために直近のN+1個のサンプルが使用される。次いで重みは式(38)および(39)で以下に示される。
【数137】
したがって、融合ロボット速度は
【数138】
である。
【0053】
OFセンサおよびWEの速度を融合したら、ロボット位置が推定される。ロボットのダイナミクスでは、ロボットは一定の加速度で走行していると想定される。その状態は
【数139】
であり、ここでx
kおよびy
kは瞬間kの位置である。
【0054】
ロボットのダイナミクスは、x
k=Fx
k-1+w
kおよびz
k=Hx
k+n
kによって与えられ、ここでFおよびHは、それぞれ式(40)および(41)で以下に示される。
【数140】
またw
kおよびn
kは動的プロセスノイズおよび測定ノイズである。w
kはQ
kの平均および共分散がゼロのガウス分布であり、n
kはR
kの平均および共分散がゼロのガウス分布であると仮定される。Tはサンプリング周期である。
【0055】
測定値は
【数141】
である。カルマンフィルタは、式(43)~(48)に示すように、ロボットの位置を推定するために適用される。
【数142】
計算されたロボット位置は
【数143】
である。
【0056】
本明細書に記載の速度融合および位置推定は
図4に要約されている。さらに、
図4は、ステップの多くについて、すなわち、いくつかのステップにおいて、
図2にマッピングすることができ、
図4は加えて、
図2に記載のいくつかのステップについて、詳細、たとえば、本明細書に記載のさまざまな式および具体的な入力を示す。したがって、関心のある読者には、理解を容易にするため、
図2と
図4を比較することを勧める。
【0057】
最初に、フローチャート400は、オプティカルフロー402、IMU404およびホイールエンコーダ406からの入力を含む。ブロック408および410は、図示するさまざまな入力を処理して、それぞれWE406およびOF402に関連する速度出力を提供することを表す。ブロック408および410からの速度出力は次いで、Rによってユーザフレームへ回転するとして記載されているステップ412に示すように、IMU404からの情報と併合される。速度への積分はステップ414で行われる。次いでステップ416に示すように、信号変動のみが保たれるように各積分動作の前後にDCブロックフィルタが適用される。特徴差を計算することがステップ418で行われ、続いてステップ420で重みを計算する。WE406およびOF402の速度の融合がステップ424で行われる。ブロック424は、これらのロボットダイナミクスおよび線形加速度を入力することを表し、出力は、ステップ426に示すように、フィルタリングのためにカルマンフィルタに送られる。
【0058】
一実施形態によれば、
図5に示すように、ロボットの軌跡を推定するための方法のフローチャート500がある。この方法は、ステップ502において、ロボット内に配置された複数のロボットセンサからの複数のロボット速度測定値を融合して融合ロボット速度を生成するステップと、ステップ504において、融合ロボット速度および慣性計測装置から測定された線形加速度にカルマンフィルタリングを適用して現在のロボットの場所を計算するステップと、を含む。
【0059】
実施形態は、IMU404からの線形加速度、OFセンサ402からの速度測定値およびWEセンサ406からの測定値を融合してロボット位置を推定することを説明している。第1に、IMUからの線形加速度は、OFセンサ402およびWEセンサ406が起こしやすい走行条件誘発測定エラー、たとえば、エンコーダホイールのスリップまたは床のテクスチャによって引き起こされる低品質の影響を受けない。第2に、線形加速度はOFセンサ402およびWEセンサ406の精度を評価するために直接使用されないが、これらの情報を特徴領域に変換した後、類似性メトリックを使用して不良OFおよび/またはWE測定値を拒絶することができ、導出された重みを使用してOFおよびWEの測定値を融合することができる。第3に、ロボット位置はカルマンフィルタを介して推定される。実際のシステムにおける本明細書に記載の実施形態は、良好な性能、堅牢性を示し、計算効率がよい。
【0060】
本発明の例示的な実施形態によるデータを処理するためのシステムおよび方法は、メモリデバイスに含まれる一連の命令を実行する1つまたは複数のプロセッサによって実行することができる。このような命令は、二次データストレージデバイスのような他のコンピュータ可読媒体からメモリデバイスに読み込むことができる。メモリデバイスに含まれる一連の命令の実行により、プロセッサは、たとえば、上述のように動作する。代替の実施形態において、ソフトウェア命令の代わりに、またはこれと組み合わせて、ハードワイヤ回路を使用して本発明を実装することができる。このようなソフトウェアは、センサを含むデバイス、たとえば、ロボットまたは他のデバイス内に収容されているプロセッサ上で実行することができ、またはソフトウェアは、センサを含むデバイスと通信する別のデバイス、たとえば、システムコントローラ、ゲームコンソール、パーソナルコンピュータなど内に収容されたプロセッサまたはコンピュータ上で実行することができる。このような場合、センサを含むデバイスと、上述のようにバイアス推定および補償を実行するソフトウェアを実行するプロセッサを含むデバイスとの間で、有線または無線でデータを転送することができる。他の例示的な実施形態によれば、上記の処理の一部を、センサを含むデバイスで実行することができる一方、処理の残りは、センサを含むデバイスから部分的に処理されたデータを受信した後、第2のデバイスで実行される。
【0061】
上述の例示的な実施形態は、限定的ではなく、本発明のあらゆる点で例示的であるように意図されている。このように、本発明は、本明細書に含まれる説明から導出することができる詳細な実装における多くの変形が当業者により可能である。たとえば、前述の例示的な実施形態は、とりわけ、慣性センサを使用してデバイスの移動を検出することを説明しているが、他のタイプのセンサ(たとえば、超音波、磁気または光)を、前述の信号処理と併せて、慣性センサの代わりに、またはこれに加えて使用することができる。すべてのこのような変形および修正が、次の請求項によって定義されるような本発明の範囲および趣旨内にあると考えられる。本願の説明で使用されるいかなる要素、行為、または指示も、そのように明示的に記載されていない限り、本発明にとって重要または不可欠であると解釈されるべきではない。また、本明細書で使用されるとき、冠詞「a」は、1つまたは複数の項目を含むように意図されている。
【0062】
特徴および要素を特定の組み合わせで上述しているが、各特徴または要素を単独で、または他の特徴および要素と任意に組み合わせて使用することができるということを当業者は理解するであろう。加えて、本明細書に記載の方法は、コンピュータまたはプロセッサによる実行のためにコンピュータ可読媒体に組み込まれたコンピュータプログラム、ソフトウェア、またはファームウェアに実装することができる。非一時的なコンピュータ可読記憶媒体の例は、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、レジスタ、キャッシュメモリ、半導体メモリデバイス、内蔵ハードディスクおよびリムーバブルディスクのような磁気媒体、光磁気媒体、およびCD-ROMディスクのような光媒体、およびデジタル多用途ディスク(DVD)を含むが、これらに限定されない。
【0063】
また、上述の実施形態において、処理プラットフォーム、コンピューティングシステム、コントローラ、およびプロセッサを含む他のデバイスが言及されている。これらのデバイスは少なくとも1つの中央処理装置(「CPU」)およびメモリを含むことができる。コンピュータプログラミングの当業者の慣例によれば、動作または命令の行為および記号表現への参照は、さまざまなCPUおよびメモリによって実行することができる。このような行為および動作または命令は、「実行される」、「コンピュータで実行される」、または「CPUで実行される」と呼ぶことができる。たとえば、IMU108はプロセッサを含むこともできる。あるいは、プロセッサ/処理ユニットは、ロボット100内の所望の場所に配置して、本明細書に記載のさまざまな計算、推定、画像処理などを実行することもできる。
【0064】
当業者は、これらの行為および象徴的に表された動作または命令が、CPUによる電気信号の操作を含むことを理解するであろう。電気システムは、電気信号の結果の変形または削減およびメモリシステムにおけるメモリの場所でのデータビットの維持を引き起こし、これによってCPUの動作、ならびに信号の他の処理を再構成または他の方法で変更することができるデータビットを表す。データビットが維持されるメモリの場所は、データビットに対応する、またはこれを表す特定の電気的、磁気的、光学的、または有機的特性を有する物理的な場所である。代表的な実施形態は上述のプラットフォームまたはCPUに限定されないこと、そして他のプラットフォームおよびCPUが提供された方法をサポートすることができるということが理解されるべきである。
【0065】
データビットはまた、磁気ディスク、光ディスク、およびCPUによって読み取り可能な任意の他の揮発性(たとえば、ランダムアクセスメモリ(「RAM」))または不揮発性(たとえば、読み取り専用メモリ(「ROM」))大容量記憶システムを含むコンピュータ可読媒体上に維持することができる。コンピュータ可読媒体は協働または相互接続コンピュータ可読媒体を含むことができ、これらは処理システム上に排他的に存在し、または処理システムに対してローカルまたはリモートとすることができる複数の相互接続された処理システム間で分散されている。代表的な実施形態は上述のメモリに限定されず、他のプラットフォームおよびメモリが上述の方法をサポートすることができるということが理解される。
【0066】
例示的な一実施形態において、本明細書に記載の動作、プロセスなどのいずれも、コンピュータ可読媒体に格納されたコンピュータ可読命令として実装することができる。コンピュータ可読命令は、モバイルユニット、ネットワーク要素、および/または任意の他のコンピューティングデバイスのプロセッサによって実行することができる。
【0067】
システムの側面のハードウェアおよびソフトウェア実装間には、ほとんど区別が残っていない。ハードウェアまたはソフトウェアの使用は一般に(ハードウェアとソフトウェアとの間の選択が重要になり得るいくつかの文脈においてという点で、常にではないが)コスト対効率のトレードオフを表す設計上の選択である。本明細書に記載のプロセスおよび/またはシステムおよび/または他の技術(たとえば、ハードウェア、ソフトウェア、および/またはファームウェア)を実行することができるさまざまな手段がある可能性があり、好ましい手段は、プロセスおよび/またはシステムおよび/または他の技術が展開される文脈で変化する可能性がある。たとえば、スピードおよび精度が最重要であると実装者が判断すれば、実装者は主にハードウェアおよび/またはファームウェアの手段を選択することができる。柔軟性が最重要であれば、実装者は主にソフトウェア実装を選択することができる。あるいは、実装者は、ハードウェア、ソフトウェア、および/またはファームウェアのいくつかの組み合わせを選択することができる。
【0068】
前述の詳細な説明は、ブロック図、フローチャート、および/または例の使用を介して、デバイスおよび/またはプロセスのさまざまな実施形態を規定してきた。このようなブロック図、フローチャート、および/または例が1つまたは複数の機能および/または動作を含む限り、このようなブロック図、フローチャート、または例内の各機能および/または動作を、個別に、および/または集合的に、幅広いハードウェア、ソフトウェア、ファームウェア、または事実上これらの任意の組み合わせによって実装することができるということが当業者によって理解されるであろう。適切なプロセッサには、例として、汎用プロセッサ、専用プロセッサ、従来のプロセッサ、デジタル信号プロセッサ(DSP)、複数のマイクロプロセッサ、DSPコアに関連する1つまたは複数のマイクロプロセッサ、コントローラ、マイクロコントローラ、特定用途向け集積回路(ASIC)、特定用途向け標準製品(ASSP)、フィールドプログラマブルゲートアレイ(FPGA)回路、任意の他のタイプの集積回路(IC)、および/またはステートマシンを含む。
【0069】
本開示は、本願に記載された特定の実施形態に関して限定されるものではなく、これらはさまざまな態様の例示として意図されている。当業者に明らかなように、その趣旨および範囲から逸脱することなく、多くの修正および変形を行うことができる。本願の説明で使用されるいかなる要素、行為、または指示も、そのように明示的に提供されない限り、本発明にとって重要または不可欠であると解釈されるべきではない。本明細書に列挙したものに加えて、本開示の範囲内の機能的に同等の方法および装置が、前述の説明から当業者に明らかであろう。このような修正および変形は、添付の特許請求の範囲内に入るように意図されている。本開示は、添付の請求項の用語、ならびにこのような請求項が権利を有する同等物の全範囲によってのみ限定されるべきである。本開示は特定の方法またはシステムに限定されないことが理解されるべきである。
【0070】
いくつかの代表的な実施形態において、本明細書に記載の主題のいくつかの部分を、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、および/または他の統合フォーマットを介して実装することができる。しかしながら、本明細書に開示された実施形態のいくつかの態様を、全体的または部分的に、1つまたは複数のコンピュータ上で実行される1つまたは複数のコンピュータプログラムとして(たとえば、1つまたは複数のコンピュータシステム上で実行される1つまたは複数のプログラム)として、1つまたは複数のプロセッサ上で実行される1つまたは複数のプログラムとして(たとえば、1つまたは複数のマイクロプロセッサ上で実行される1つまたは複数のプログラムとして)、ファームウェアとして、または実質的にこれらの任意の組み合わせとして、集積回路において等しく実装することができるということ、そして回路を設計することおよび/またはソフトウェアおよび/またはファームウェアのためのコードを書くことは、本開示に照らして十分に当業者の技能内であろうことを、当業者は認識するであろう。加えて、本明細書に記載の主題のメカニズムはさまざまな形態のプログラム製品として配布することができるということ、そして本明細書に記載の主題の例示的な一実施形態が、実際にこの配布を実行するために使用される特定のタイプの信号担持媒体に関係なく適用されることを、当業者は理解するであろう。信号担持媒体の例は、次のもの、すなわち、フロッピーディスク、ハードディスクドライブ、CD、DVD、デジタルテープ、コンピュータメモリなどのような記録可能なタイプの媒体、およびデジタルおよび/またはアナログ通信媒体(たとえば、光ファイバケーブル、導波路、有線通信リンク、無線通信リンクなど)のような伝送タイプの媒体を含むが、これらに限定されない。
【0071】
本明細書に記載の主題は時には、異なる他のコンポーネント内に含まれた、またはこれらと接続された異なるコンポーネントを示す。このような図示のアーキテクチャは単なる例であること、そして実際には、同じ機能性を達成する多くの他のアーキテクチャを実装することができるということが理解されるべきである。概念的な意味において、同じ機能性を達成する任意のコンポーネントの配置が、所望の機能性を達成することができるように効果的に「関連して」いる。したがって、特定の機能性を達成するように本明細書で組み合わせられた任意の2つのコンポーネントを、アーキテクチャまたは中間コンポーネントに関係なく、所望の機能性が達成されるように互いに「関連している」と見ることができる。同様に、このように関連する任意の2つのコンポーネントを、所望の機能性を達成するように互いに「動作可能に接続」または「動作可能に結合」されていると見なすこともでき、このように関連することができる任意の2つのコンポーネントを、所望の機能性を達成するように互いに「動作可能に結合可能」であると見なすこともできる。動作可能に結合可能な具体的例は、物理的に嵌合可能および/または物理的に相互作用するコンポーネントおよび/または無線で相互作用可能および/または無線で相互作用するコンポーネントおよび/または論理的に相互作用するおよび/または論理的に相互作用可能なコンポーネントを含むが、これらに限定されない。
【0072】
本明細書における実質的に任意の複数および/または単数の用語の使用に関して、当業者は、文脈および/または用途に適切であるように、複数から単数に、および/または単数から複数に翻訳することができる。明確にするため、さまざまな単数/複数の順列を本明細書で明示的に規定していることがある。
【0073】
一般に、本明細書、特に添付の請求項(たとえば、添付の請求項の本文)で使用される用語は一般に「オープン」な用語として意図される(たとえば、「含む(including)」という用語は「含むが限定されない」と解釈されるべきであり、「有する(having)」という用語は「少なくとも有する」と解釈されるべきであり、「含む(includes)」という用語は「含むがこれらに限定されない」と解釈されるべきである、など)ことが当業者によって理解されるであろう。導入される請求項の規定の具体的な数が意図されていれば、このような意図は請求項に明示的に規定されることになり、このような規定がなければこのような意図は存在しないことが当業者によってさらに理解されるであろう。たとえば、1つの項目のみが意図されている場合、「単一の」という用語または同様の文言を使用することができる。理解の助けとして、次の請求項および/または本明細書の説明は、請求項の規定を導入するために「少なくとも1つ」および「1つまたは複数」という導入句の使用を含むことがある。しかしながら、このような句の使用は、不定冠詞「a」または「an」による請求項の規定の導入により、このように導入された請求項の規定を含むいかなる特定の請求項をも、同じ請求項が「1つまたは複数」または「少なくとも1つ」という導入句と「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」の可能性を含むと理解されるであろう。さらに、複数の項目および/または複数の項目のカテゴリの列挙が続く「のいずれか」という用語は、本明細書で使用されるとき、これらの項目および/または項目のカテゴリ「のいずれか」、「の任意の組み合わせ」、「の任意の複数」、および/または「の複数の任意の組み合わせ」を、個別に、または他の項目および/または他の項目のカテゴリと併せて含むように意図されている。また、本明細書で使用されるとき、「組」または「群」という用語は、ゼロを含む、任意の数の項目を含むように意図されている。加えて、本明細書で使用されるとき、「数」という用語は、ゼロを含む、任意の数を含むように意図されている。
【0074】
加えて、本開示の特徴または態様がマーカッシュ群に関して記載されている場合、本開示もこれによってマーカッシュ群の要素の任意の個々の要素または下位群に関して記載されていることを当業者は認識するであろう。
【0075】
当業者によって理解されるように、書面の説明を提供することに関してなど、ありとあらゆる目的のため、本明細書に開示されるすべての範囲がありとあらゆる可能な下位範囲およびその下位範囲の組み合わせも包含する。任意の列挙された範囲を、同じ範囲が少なくとも等しい半分、3分の1、4分の1、5分の1、10分の1などに分解されることを十分に説明および可能にするものとして容易に認識することができる。非限定的な一例として、本明細書で議論する各範囲は、下3分の1、中3分の1および上3分の1などに容易に分解することができる。また、当業者に理解されるように、「最大」、「少なくとも」、「より大きい」、「より少ない」などのようなすべての文言は、規定された数を含み、上述のように続いて下位範囲に分解することができる範囲を指す。最後に、当業者に理解されるように、1つの範囲はそれぞれ個々の要素を含む。したがって、たとえば、1~3つのセルを有する群は、1つ、2つ、または3つのセルを有する群を指す。同様に、1~5つのセルを有する群は、1つ、2つ、3つ、4つ、または5つのセルを有する群を指し、以下同様である。
【0076】
また、請求項は、その趣旨で述べられていない限り、提供された順序または要素に限定されるものとして読まれるべきでない。加えて、任意の請求項における「のための手段」という用語の使用は、米国特許法第112条6段落またはミーンズプラスファンクションクレーム形式を適用するように意図され、「のための手段」という用語のないいずれの請求項もそのように意図されていない。
【符号の説明】
【0077】
100 ロボット
102 左ホイール
104 右ホイール
106 OFセンサ
108 IMU
116 IMUフレーム
118 ユーザフレーム
136 プロセッサ
【国際調査報告】