(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-09-01
(45)【発行日】2022-09-09
(54)【発明の名称】ロボット充電器ドッキング制御
(51)【国際特許分類】
G05D 1/02 20200101AFI20220902BHJP
B25J 5/00 20060101ALI20220902BHJP
【FI】
G05D1/02 H
B25J5/00 A
(21)【出願番号】P 2020527917
(86)(22)【出願日】2018-11-16
(86)【国際出願番号】 US2018061560
(87)【国際公開番号】W WO2019103934
(87)【国際公開日】2019-05-31
【審査請求日】2020-07-10
(32)【優先日】2017-11-22
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】519067275
【氏名又は名称】ローカス ロボティクス コーポレイション
(74)【代理人】
【識別番号】110000855
【氏名又は名称】特許業務法人浅村特許事務所
(72)【発明者】
【氏名】ムーア、トーマス
(72)【発明者】
【氏名】パワーズ、ブラッドリー
(72)【発明者】
【氏名】クワ、ヒアン、カイ
【審査官】藤崎 詔夫
(56)【参考文献】
【文献】米国特許出願公開第2016/0070268(US,A1)
【文献】特開2017-049933(JP,A)
【文献】特開2000-132228(JP,A)
【文献】特開2016-157464(JP,A)
【文献】特表2015-535373(JP,A)
【文献】特開2011-232815(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/02
B25J 5/00
(57)【特許請求の範囲】
【請求項1】
ロボット充電器ドッキング・ステーションとドッキングするためにロボットを誘導する方法であって、
ロボット充電器ドッキング・ステーションに関連付けられた初期ポーズを受信するステップと、
前記ロボット充電器ドッキング・ステーションに関連付けられた嵌合ポーズを受信するステップと、
ある場所から前記初期ポーズまでの、ロボットの第1の誘導を実行するステップと、
前記初期ポーズから前記嵌合ポーズまでの、前記ロボットの第2の誘導を実行するステップと
を含み、前記第2の誘導は、前記初期ポーズから前記嵌合ポーズま
で弧経路に沿って進み、それにより、前記ロボットの充電ポートを前記ロボット充電器ドッキング・ステーションの充電組立体と嵌合させ、
前記初期ポーズから前記嵌合ポーズまでの前記弧経路は、半径r、並びに前記初期ポーズに関連付けられた第1の場所X
R,Y
R及び前記嵌合ポーズに関連付けられた第2の場所X
D,Y
Dから等距離にある中心X
C,Y
Cを有する、一意の円の一部分を有し、
前記弧経路に沿ったポーズでの前記ロボットの瞬間線速度x’
R及び瞬間角速度θ’
Rは、半径r
と一定の関係で維持され、
【数1】
前記ロボットの回転誤差を制御するステップは、
θ’
R=kΦ (8)
(ここでkは比例制御定数であり、Φは回転誤差である)にしたがう比例制御、及び/又は
【数2】
(ここでα及びβは重み付けパラメータである)にしたがう重み付け制御を発するステップを含
み、
前記第2の誘導は、
前記回転誤差を、前記回転誤差が閾値を下回るまで式(8)にしたがってつめるステップと、
線速度x’
R
を固定値に設定するステップと、
式(7)にしたがって前記ロボットを制御し、半径r及び回転誤差Φを繰り返し更新するステップと
をさらに含み、前記閾値を超えると、前記回転誤差が再び前記閾値を下回るまで、前記制御を式(8)に切り替える、方法。
【請求項2】
前記重み付けパラメータα及びβは、前記ロボット充電器ドッキング・ステーションまでの距離の関数として非線形な関係で調整され得る、請求項1に記載の方法。
【請求項3】
再充電のために、ある場所からロボット充電器ドッキング・ステーションまで移動して、前記ロボット充電器ドッキング・ステーションとドッキングするよう構成された移動ロボットであって、前記ロボットは、
充電ポート及びプロセッサを具備する車輪付き移動基部
を備え、前記プロセッサは、
前記ロボット充電器ドッキング・ステーションに関連付けられた初期ポーズを取得し、
前記ロボット充電器ドッキング・ステーションに関連付けられた嵌合ポーズを取得し、
前記車輪付き移動基部を前記場所から前記初期ポーズまで誘導し、
前記車輪付き移動基部を、前記初期ポーズから前記嵌合ポーズまで誘導する
よう構成され、前記車輪付き移動基部は、前記初期ポーズから前記嵌合ポーズま
で弧経路に沿って進み、それにより、前記車輪付き移動基部の前記充電ポートを前記ロボット充電器ドッキング・ステーションの充電組立体と嵌合させ、
前記初期ポーズから前記嵌合ポーズまでの前記弧経路は、半径r、並びに前記初期ポーズに関連付けられた第1の場所X
R,Y
R及び前記嵌合ポーズに関連付けられた第2の場所X
D,Y
Dから等距離にある中心X
C,Y
Cを有する、一意の円の一部分を有し、
前記弧経路に沿ったポーズでの前記ロボットの瞬間線速度x’
R及び瞬間角速度θ’
Rは、半径r
と一定の関係で維持され、
【数3】
前記ロボットの回転誤差を制御することは、
θ’
R=kΦ (8)
(ここでkは比例制御定数であり、Φは回転誤差である)にしたがう比例制御、及び/又は
【数4】
(ここでα及びβは重み付けパラメータである)にしたがう重み付け制御を発することを含
み、
前記初期ポーズから前記嵌合ポーズまで誘導することは、
前記回転誤差を、前記回転誤差が閾値を下回るまで式(8)にしたがってつめることと、
線速度x’
R
を固定値に設定することと、
式(7)にしたがって前記ロボットを制御し、半径r及び回転誤差Φを繰り返し更新することと
をさらに含み、前記閾値を超えると、前記回転誤差が再び前記閾値を下回るまで、前記制御を式(8)に切り替える、移動ロボット。
【請求項4】
前記重み付けパラメータα及びβは、前記ロボット充電器ドッキング・ステーションまでの距離の関数として非線形な関係で調整され得る、請求項
3に記載の移動ロボット。
【請求項5】
そこに命令を保存したコンピュータ可読媒体であって、前記命令は、ロボットのプロセッサが実行すると、前記ロボットに、
ロボット充電器ドッキング・ステーションに関連付けられた初期ポーズを受信することと、
前記ロボット充電器ドッキング・ステーションに関連付けられた嵌合ポーズを受信することと、
ある場所から前記初期ポーズまでの、前記ロボットの第1の誘導を制御することと、
前記初期ポーズから前記嵌合ポーズまでの、前記ロボットの第2の誘導を制御することと
を含むステップを実行させ、前記第2の誘導は、前記初期ポーズから前記嵌合ポーズま
で弧経路に沿って進み、それにより、前記ロボットの充電ポートを前記ロボット充電器ドッキング・ステーションの充電組立体と嵌合させ、
前記初期ポーズから前記嵌合ポーズまでの前記弧経路は、半径r、並びに前記初期ポーズに関連付けられた第1の場所X
R,Y
R及び前記嵌合ポーズに関連付けられた第2の場所X
D,Y
Dから等距離にある中心X
C,Y
Cを有する、一意の円の部分を有し、
前記弧経路に沿ったポーズでの前記ロボットの瞬間線速度x’
R及び瞬間角速度θ’
Rは、半径r
と一定の関係で維持され、
【数5】
前記ロボットの回転誤差を制御することは、
θ’
R=kΦ (8)
(ここでkは比例制御定数であり、Φは回転誤差である)にしたがう比例制御、及び/又は
【数6】
(ここでα及びβは重み付けパラメータである)にしたがう重み付け制御を発することを含
み、
前記第2の誘導は、
前記回転誤差を、前記回転誤差が閾値を下回るまで式(8)にしたがってつめることと、
線速度x’
R
を固定値に設定することと、
式(7)にしたがって前記ロボットを制御し、半径r及び回転誤差Φを繰り返し更新することと
をさらに含み、前記閾値を超えると、前記回転誤差が再び前記閾値を下回るまで、前記制御を式(8)に切り替える、コンピュータ可読媒体。
【請求項6】
前記重み付けパラメータα及びβは、前記ロボット充電器ドッキング・ステーションまでの距離の関数として非線形な関係で調整され得る、請求項
5に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
この出願は、2017年11月22日に出願された米国特許出願第15/821,650号の優先権の利益を主張し、参照により本明細書に組み入れられる。
【0002】
本明細書で説明する本発明は、充電システムに関し、より詳細には、ロボットの充電システムへの誘導、及びロボットの充電システムへのドッキングに関する。
【背景技術】
【0003】
ロボットは、多くの用途において、人間の代わりに機能を実行するか、又は生産性及び効率を高めるために人間を補助するように使用される。かかる用途の1つが注文の履行であり、これは、通常、インターネットを介して注文した顧客に、宅配便で出荷されるべき製品で満たされた大規模な倉庫で実行される。かかる注文を適時正確且つ効率的なやり方で履行することは、控え目に言っても、物流上困難である。
【0004】
たとえば、オンラインのインターネット・ショッピングのアプリケーションでは、仮想ショッピング・カートの「チェック・アウト」釦をクリックすると、「注文」が作成される。注文には、特定の住所に出荷されるべき品目のリストが含まれる。「履行」のプロセスには、こうした物品を大規模倉庫から物理的に取り出すこと、すなわち「ピッキング」、物品を梱包すること、及び指定された住所に物品を出荷することが含まれる。
【0005】
したがって、注文履行プロセスの重要なゴールは、できるだけ多くの物品をできるだけ短時間で出荷することである。注文を受け、注文の履行を計画し、保管棚又は保管箱を見つけ、製品をピッキングし、注文の各品目についてこのプロセスを繰り返し、次いで注文品を輸送ステーションに配送するプロセスは、反復的且つ労働集約的である。速やかに回転する在庫の何千又は何万もの品目が在庫されている倉庫では、ロボットが確実に、適時且つ効率的に注文を履行する上で重要な役割を果たす。加えて、最終的に出荷されることになる製品は、まず倉庫で受け取り、倉庫全体にわたって整然としたやり方で保管箱に保管又は「配置」し、それにより製品を出荷のために簡単に取り出せる必要がある。
【0006】
ロボットを使用してピッキング及び配置機能を果たすことは、ロボットだけで、又は人間の操作者の助けを借りて行うことができる。人間との相互作用によって実行されるかどうかに関係なく、ピッキング及び配置又は貯蔵機能では、ロボットがその現在の場所から目的の製品の保管場所又は「箱」の場所に移動する必要がある。注文履行倉庫でのロボットによる誘導の1つの方法は、ロボットによってローカルに保存され更新された倉庫の空間モデル又は「マップ」を使用して、ロボットがその割り当てられた注文履行タスクを実行するときに、自律的又は半自律的に動作できるようにするものである。マップは、倉庫、倉庫の保管場所、障害物、及び他の特徴のデジタル画像である。ロボットは、静的障害物及び動的障害物の存在下で製品箱に到着するために、マップ上で処理動作を実行して、ロボットの現在の場所を判断し、ゴールへの経路に沿ったロボットの移動を継続的に再調整する。
【0007】
ロボットは、ロボットに搭載されたバッテリに蓄えた電気で駆動される。ロボットが倉庫のあちこちに移動することにより、定期的に再充電する必要がある。したがって、作業を円滑に実行するために、ロボットを充電する効率的で効果的なやり方が必要である。倉庫内の一般的な誘導の場合、マップのサイズ及び分解能は、ロボットがそのゴールへの経路に沿って障害物を回避しながら、ロボットの目標の場所に首尾良く移動できるようなものであり得る。しかし、倉庫のマップでの処理では、ロボットがロボット充電ステーションにドッキングするときなど、より正確な自己位置推定(localization)及び制御が必要な場合に、必要な処理が多すぎて、その結果自己位置推定及び制御が粗くなりすぎる場合がある。
【0008】
必要なものは、ロボットがロボット充電ステーションにドッキングする際に、ロボットの位置を推定して制御する、演算効率の高い手法である。
【発明の概要】
【発明が解決しようとする課題】
【0009】
既存のシステムに対する本発明の恩恵及び利点は、以下の発明の簡単な概要及び詳細な説明から容易に明らかとなろう。当業者は、本教示が、以下に要約又は開示されたもの以外の実施例を用いて実施できることを理解されよう。
【課題を解決するための手段】
【0010】
本発明の一態様では、充電器ドッキング・ステーションとドッキングするロボットを誘導する方法がある。該方法には、ロボット充電器ドッキング・ステーションに関連付けられた初期ポーズを受信するステップと、ロボット充電器ドッキング・ステーションに関連付けられた嵌合ポーズを受信するステップと、ロボットの現在のポーズから初期ポーズまでの第1の誘導を実行するステップと、ロボットの初期ポーズから嵌合ポーズまでの第2の誘導を実行するステップとが含まれ得る。ロボットの第2の誘導は、初期ポーズから嵌合ポーズまで実質的に弧経路に沿って進むことができ、それにより、嵌合ポーズに到着すると、ロボットの充電ポートは、充電器ドッキング・ステーションの充電組立体と嵌合する。
【0011】
第1の態様の一実施例では、初期ポーズから嵌合ポーズまでの弧経路は、半径、並びに初期ポーズに関連付けられた第1の場所及び嵌合ポーズに関連付けられた第2の場所から等距離にある中心を有する、一意の円の一部分に関連付けられ得る。いくつかの実施例では、弧経路に沿ったポーズでのロボットの瞬間線速度及び瞬間角速度は、半径と実質的に一定の関係で維持される。かかる関係を使用してロボットの回転誤差を制御することは、比例制御及び/又は重み付け制御を発することが含まれ得る。別の実施例では、重み付け制御の重み付けパラメータは、充電ステーションまでの距離の関数として非線形な関係で調整され得る。
【0012】
上記の実施例において、弧経路に沿ったロボットの誤差を制御する方法には、誤差が閾値を下回るまで比例制御で回転誤差をつめる(closing the rotational error)ステップと、線速度を固定値に設定するステップと、重み付け制御にしたがってロボットを制御するステップと、半径及び回転誤差を繰り返し更新するステップと、閾値を超えると、誤差が再び閾値を下回るまで制御を重み付け制御から比例制御に切り替えるステップとが含まれ得る。
【0013】
本発明の第2の態様では、現在の場所から、再充電のために充電器ドッキング・ステーションまで移動してドッキングするよう構成された移動ロボットがある。移動ロボットは、充電ポート及びプロセッサを具備する車輪付き移動基部を備えることができる。車輪付き移動基部のプロセッサは、充電器ドッキング・ステーションに関連付けられた初期ポーズを取得し、充電器ドッキング・ステーションに関連付けられた嵌合ポーズを取得し、車輪付き移動基部を現在の場所から初期ポーズまで誘導し、車輪付き移動基部を初期ポーズから嵌合ポーズまで誘導するよう構成され得る。いくつかの実施例では、車輪付き移動基部は、初期ポーズから嵌合ポーズまで実質的に弧経路に沿って進み、それにより、車輪付き基部の充電ポートをロボット充電器ステーションの充電組立体と嵌合させることができる。
【0014】
第2の態様の一実施例では、初期ポーズから嵌合ポーズまでの弧経路は、半径、並びに初期ポーズに関連付けられた第1の場所及び嵌合ポーズに関連付けられた第2の場所から等距離にある中心を有する、一意の円の一部分に関連付けられ得る。いくつかの実施例では、弧経路に沿ったポーズでのロボットの瞬間線速度及び瞬間角速度は、半径と実質的に一定の関係で維持される。かかる関係を使用してロボットの回転誤差を制御することには、比例制御及び/又は重み付け制御を発することが含まれ得る。別の実施例では、重み付け制御の重み付けパラメータは、充電ステーションまでの距離の関数として非線形な関係で調整され得る。
【0015】
上記の実施例において、弧経路に沿ってロボットの誤差を制御することには、誤差が閾値を下回るまで比例制御で回転誤差をつめることと、線速度を固定値に設定することと、重み付け制御にしたがってロボットを制御することと、半径及び回転誤差を繰り返し更新することと、閾値を超えると、誤差が再び閾値を下回るまで、制御を重み付け制御から比例制御に切り替えることとが含まれ得る。
【0016】
第3の態様では、トランシーバ、データ・プロセッサ、及びデータ・プロセッサが実行するためにそこに保存された命令を有するデータ記憶デバイスを備えるロボット・システムがある。プロセッサが実行する命令は、ロボット充電器ドッキング・ステーションに関連付けられた初期ポーズを受信し、ロボット充電器ドッキング・ステーションに関連付けられた嵌合ポーズを受信し、ロボットの現在のポーズから初期ポーズまでの第1の誘導を実行し、且つロボットの初期ポーズから嵌合ポーズまでの第2の誘導を実行するよう構成され得る。いくつかの実施例では、第2の誘導は、初期ポーズから嵌合ポーズまで実質的に弧経路に沿って進み、それにより、車輪付き基部の充電ポートをロボット充電器ステーションの充電組立体と嵌合させることができる。
【0017】
第3の態様の一実施例では、初期ポーズから嵌合ポーズまでの弧経路は、半径、並びに初期ポーズに関連付けられた第1の場所及び嵌合ポーズに関連付けられた第2の場所から等距離にある中心を有する、一意の円の一部分に関連付けられ得る。いくつかの実施例では、弧経路に沿ったポーズでのロボットの瞬間線速度及び瞬間角速度は、半径と実質的に一定の関係で維持される。かかる関係を使用してロボットの回転誤差を制御することには、比例制御及び/又は重み付け制御を発することが含まれ得る。
【0018】
別の実施例では、重み付け制御の重み付けパラメータは、充電ステーションまでの距離の関数として非線形な関係で調整され得る。上記の実施例において、弧経路に沿ったロボットの誤差を制御することには、誤差が閾値を下回るまで比例制御で回転誤差をつめることと、線速度を固定値に設定することと、重み付け制御にしたがってロボットを制御することと、半径及び回転誤差を繰り返し更新することと、閾値を超えると、誤差が再び閾値を下回るまで、制御を重み付け制御から比例制御に切り替えることとが含まれ得る。
【0019】
本発明のこうした特徴及び他の特徴は、以下の詳細な説明及び添付図面から明らかになろう。
【0020】
次に、本発明の実施例を、以下の添付図面を参照して、ただ単に実例として説明することにする。
【図面の簡単な説明】
【0021】
【
図2A】
図1に示す倉庫内で使用されるロボットのうちの1台の、基部の正面図である。
【
図2B】
図1に示す倉庫内で使用されるロボットのうちの1台の、基部の斜視図である。
【
図4】ロボットのレーザレーダを使用して作成された
図1の倉庫の部分的マップの図である。
【
図5】倉庫全体にわたって分散された基準マーカの場所を突き止めて、基準マーカのポーズを記憶するプロセスを示す流れ図である。
【
図6】基準識別表示をポーズにマッピングした表である。
【
図7】大箱の場所を基準識別表示にマッピングした表である。
【
図8】製品のSKUをポーズにマッピングするプロセスを示す流れ図である。
【
図9】この発明による、充電組立体の正面図である。
【
図12】充電ポートと嵌合された充電組立体の断面図である。
【
図13A】この発明による、充電器ドッキング・ステーションの斜視図である。
【
図13B】外側のカバーが取り外された状態で、充電器ドッキング・ステーションの内部を示す、
図14Aの充電器ドッキング・ステーションの斜視図である。
【
図14B】外側のカバーが取り外された状態で、充電器ドッキング・ステーションの内部を示す、
図14Aの充電器ドッキング・ステーションの正面図である。
【
図15B】外側のカバーが取り外された状態で、充電器ドッキング・ステーションの内部を示す、
図15Aの充電器ドッキング・ステーションの左側面図である。
【
図16B】外側のカバーが取り外された状態で、充電器ドッキング・ステーションの内部を示す、
図16Aの充電器ドッキング・ステーションの後面斜視図である。
【
図17】
図13Aの充電器ドッキング・ステーションを、ドッキングされたロボットと共に示す上面図である。
【
図18】この発明の態様による、充電ステーションとドッキングするロボットの略図である。
【
図19】本発明の方法及びシステムと共に使用する、ロボット・システムの一実施例を示す図である。
【
図20】空間マップによって表された倉庫環境を通る、現在の場所から目標の場所までのロボットの誘導を示す図である。
【
図21】本発明の一態様による、SLAMマップによって表された倉庫環境におけるロボットの誘導を示す図である。
【
図22A】空間環境内のある場所での、ロボットのレーザレーダ・スキャナからのローカル・スキャンによる測距の取得を示す図である。
【
図22B】空間環境内のある場所での、ロボットのレーザレーダ・スキャナからのローカル・スキャンによる測距の取得を示す図である。
【
図23A】位置ずれしたスキャンから位置合せされたスキャンへの、判断された現在のポーズへの変換を使用して、ロボットのポーズを見つけるためのスキャン・マッチングを示す図である。
【
図23B】位置ずれしたスキャンから位置合せされたスキャンへの、判断された現在のポーズへの変換を使用して、ロボットのポーズを見つけるためのスキャン・マッチングを示す図である。
【
図24】本発明の一態様による、ロボットを誘導して目標経路に沿ってロボットを移動させる方法を示す図である。
【
図25】より高い分解能の自己位置推定を使用するドッキングの一実施例による、充電器ドッキング・ステーションへのロボットのドッキングを示す図である。
【
図26】精密ドッキングの一態様による、ロボットを誘導して、ロボットを、充電器ドッキング・ステーションの近位にある初期ポーズからドッキング・ステーションの嵌合ポーズまで移動させる方法を示す図である。
【
図27】より高い分解能の自己位置推定を使用する精密ドッキングの代替実施例による、充電器ドッキング・ステーションへのロボットのドッキングを示す図である。
【
図28】スキャン・マッチングを使用したドッキングの一実施例による、ロボットの充電器ドッキング・ステーションへのドッキングを示す図である。
【
図29】弧制御を使用する精密ドッキングの実施例による、ロボットの、充電器ドッキング・ステーションへのドッキングを示す図である。
【
図30】誤差制御を用いる精密ドッキングの一実施例による、ロボットを充電器ドッキング・ステーションにドッキングするために弧制御を使用する、精密ドッキングの一方法を示す図である。
【
図31】誤差制御を用いる精密ドッキングを使用して、ロボットを充電器ドッキング・ステーションにドッキングするために弧制御を使用する、精密ドッキングの一実施例を示す図である。
【発明を実施するための形態】
【0022】
本開示並びにその様々な特徴及び利点の詳細を、添付図面に記載及び/又は例示され、以下の説明で詳述される非限定的な実施例及び実例を参照して、より完全に説明する。図面に示した特徴は、必ずしも原寸に比例して描かれているわけではなく、一実施例の特徴は、本明細書で明示的に述べられていない場合でも、当業者が認識するはずである他の実施例と共に使用され得ることに留意されたい。よく知られている構成要素及び処理技法の説明は、本開示の実施例を不必要に不明瞭にしないために、省略される場合がある。本明細書で使用される実例は、本開示が実施され得るやり方を容易に理解させること、及び当業者が本開示の実施例を実施するのをより一層可能にすることを、単に意図している。したがって、本明細書の実例及び実施例は、本開示の範囲を限定するものと解釈されるべきではない。さらに、同様の参照番号は、図面のいくつかの図を通して同様の部分を表すことに留意されたい。
【0023】
本発明は、ロボットの、充電システムへのドッキングに関する。どんな特定のロボットの用途にも限定されないが、本発明が使用され得る1つの好適な用途は、注文の履行である。ロボットの、充電システムへのドッキングについての観点を提供するために、この用途でのロボットの使用について説明することにする。
【0024】
本明細書で提供する説明は、顧客への出荷のために注文を履行するように、倉庫内の大箱の場所から物品をピッキングすることに焦点を当てているが、システムは、後で取り出して顧客に出荷するための、倉庫全体にわたる倉庫内の大箱の場所への受け取った物品の保管又は配置にも、同様に適用可能である。本発明はまた、製品の統合、カウント、検証、検査、及び整頓などの、かかる倉庫システムに関連する在庫管理タスクにも適用可能である。これらと、他の利益及び利点とは、以下に説明する実例及び図から容易に明らかとなろう。
【0025】
図1を参照すると、典型的な注文履行倉庫10は、注文16に含まれる可能性がある様々な物品で満たされた棚12を備える。運用に際して、倉庫管理サーバ15からの注文16が、注文サーバ14に到着する。注文サーバ14は、注文16を、倉庫10をうろうろする複数のロボットから選択されたロボット18に伝達する。また、本発明の一態様による1つ又は複数の充電ステーションが位置することができる、充電エリア19も示されている。
【0026】
好ましい実施例では、
図2A及び
図2Bに示すロボット18は、レーザレーダ22を具備する自律型車輪付き基部20を備える。基部20は、ロボット18が注文サーバ14からの命令を受信するのを可能にするトランシーバ(図示せず)、及び1対のデジタル光学カメラ24a及び24bも特徴とする。ロボットの基部はまた、自律型車輪付き基部20に給電する、バッテリを再充電するための充電ポート26(
図10及び
図11により詳細に示す)も備える。基部20はさらに、ロボットの環境を表す情報を取り込むために、レーザレーダ及びカメラ24a及び24bからデータを受信するプロセッサ(図示せず)を特徴とする。
図3に示すように、倉庫10内の誘導に関連する様々なタスクを実行するばかりでなく、棚12上に配置された基準マーカ30へ移動するための、プロセッサと共に動作するメモリ(図示せず)がある。基準マーカ30(たとえば、2次元バー・コード)は、注文された物品の大箱/場所に対応する。本発明の誘導手法については、
図4~
図8に関連して以下で詳細に説明する。基準マーカはまた、この発明の態様にしたがって充電ステーションを識別するために使用され、かかる充電ステーションの基準マーカへの誘導は、注文された物品の大箱/場所への誘導と同じである。ロボットが充電ステーションに移動すると、より正確な誘導手法を使用してロボットを充電ステーションにドッキングする。かかる誘導手法については、以下で説明する。
【0027】
再び
図2Bを参照すると、基部20は、物品を運ぶためにトート又は大箱が格納され得る上面32を備える。その1つを
図3に示す、複数の交換可能なアーマチュア40のいずれか1つと係合する、連結部34も示している。
図3の特定のアーマチュア40は、物品を収容するトート44を運ぶためのトート保持器42(この場合は棚)、及びタブレット48を支持するためのタブレット保持器46(又はラップトップ/他のユーザ入力デバイス)を特徴とする。いくつかの実施例では、アーマチュア40は、物品を運ぶための1つ又は複数のトートを支持する。他の実施例では、基部20は、収容された物品を運ぶための1つ又は複数のトートを支持する。本明細書で使用する用語「トート」は、貨物保持器、大箱、籠、棚、そこから物品を吊るすことができる竿、缶、木枠、置き棚、台、架台、コンテナ、箱、キャニスタ、容器、及び収納庫を含むが、これらに限定されるものではない。
【0028】
ロボット18は、現在のロボット技術では、倉庫10内を動き回るのには優れているが、ロボットが対象物を操作することに関連する技術的な難しさのため、棚から物品を迅速且つ効率的にピッキングして、物品をトート44内に配置することはあまり得意ではない。物品をピッキングするより効率的なやり方は、注文された物品を棚12から物理的に取り外し、ロボット18の上、たとえばトート44内に物品を置くというタスクを実行する、通常は人間である構内操作者50を使用することである。ロボット18は、構内操作者50が読み取ることができるタブレット48(又はラップトップ/他のユーザ入力デバイス)を介して、又は構内操作者50が使用する携帯用デバイスに注文を送信することによって、構内操作者50に注文を伝達する。
【0029】
ロボット18は、注文サーバ14から注文16を受信すると、たとえば
図3に示す、倉庫の最初の場所に進む。ロボットは、メモリに記憶され、プロセッサによって実行される誘導ソフトウェアに基づいて進む。誘導ソフトウェアは、レーザレーダ22、特定の物品を見つけることができる、倉庫10内の場所に対応する基準マーカ30の基準識別表示(「ID」)を識別するメモリ内の内部テーブル、並びに誘導するためのカメラ24a及び24bによって収集される、環境に関するデータに依存する。
【0030】
正しい場所に到着すると、ロボット18は、物品が保管されている棚12の前にロボット自体を停車させ、構内操作者50が物品を棚12から取り出してトート44の中に入れるのを待つ。ロボット18が他に取り出す物品を有する場合は、その場所に進む。次いで、ロボット18によって取り出された物品は、
図1の梱包ステーション100に送られ、そこで梱包され出荷される。
【0031】
当業者は、各ロボットが1つ又は複数の注文を履行している場合があり、各注文が1つ又は複数の物品で構成される場合があることを理解されよう。通常、効率を高めるために何らかの形のルート最適化ソフトウェアが含まれることになるが、これはこの発明の範囲を超えるものであり、したがって本明細書では説明しない。
【0032】
本発明の説明を簡略化するために、単一のロボット18及び操作者50で説明する。しかし、
図1から明らかなように、典型的な履行操作には、連続した注文の流れを履行するために、倉庫内で互いに作業する多くのロボット及び操作者が含まれる。
【0033】
この発明の誘導手法、並びに物品が位置する倉庫内の基準マーカに関連付けられる基準ID/ポーズへの、取り出されるべき物品のSKUのセマンティック・マッピングについて、
図4~
図8に関連して以下で詳細に説明する。上記のように、同じ誘導手法を使用して、ロボットが、ロボットのバッテリを再充電するために充電ステーションに移動することを可能にし得る。
【0034】
1つ又は複数のロボット18を使用して、静的及び動的の両方の対象物の場所、並びに倉庫全体にわたって分散される様々な基準マーカの場所を判断するために、倉庫10のマップを作成して動的に更新する必要がある。これを行うには、ロボット18の1つが、ロボットのレーザレーダ22、及び未知の環境の仮想マップを構築又は更新する演算方法である、自己位置推定と環境地図作成との同時実行(SLAM:simultaneous localization and mapping)を利用して、倉庫を移動し
図4のマップ10aを構築/更新する。一般的なSLAMの近似解法には、粒子フィルタ及び拡張カルマン・フィルタが含まれる。SLAM GMapping手法が好適な手法であるが、任意の好適なSLAM手法を使用できる。
【0035】
ロボット18は、ロボットのレーザレーダ22を利用して、スペース全体にわたって移動し、レーザレーダが環境をスキャンするときに受信する反射に基づいて、オープン・スペース112、壁114、物体116、及びスペース内の棚12aなどの、他の静的障害物を識別して、倉庫10のマップ10aを作成/更新する。
【0036】
マップ10aを構築しながら、又はその後に、1つ又は複数のロボット18は、カメラ24a及び24bを使用して倉庫10全体にわたって移動し、環境をスキャンし、倉庫全体に分散され、物品が保管される
図3の32及び34などの大箱の近位にある棚の上の基準マーカ(2次元バー・コード)の場所を探し出す。ロボット18は、原点110などの既知の基準点又は原点を、基準として使用する。ロボット18が、
図3及び
図4の基準マーカ30などの基準マーカの場所を、ロボットのカメラ24a及び24bを使用して探し出すと、倉庫内の原点110に対する場所が決定される。
図2Aに示すように、ロボットの基部のどちらの側部にも1つある、2つのカメラを使用することにより、ロボット18は、ロボットの両側から広がる比較的広い視野(たとえば、120度)を有することができる。広い視野により、ロボットは、たとえば、棚の通路を上下に移動するときに、ロボットの両側にある基準マーカを見ることができる。
【0037】
ホイール・エンコーダ及び方位センサを使用することにより、ベクトル120及び倉庫10内のロボットの位置を判断できる。ロボット18は、基準マーカ/2次元バー・コードの取り込まれた画像及びその既知のサイズを使用して、基準マーカ/2次元バー・コードの、ロボットに対する向き及びロボットからの距離、つまりベクトル130を判断することができる。ベクトル120及び130が既知であれば、原点110と基準マーカ30との間のベクトル140を判断することができる。ベクトル140、及びロボット18に対する基準マーカ/2次元バー・コードの判断された向きから、基準マーカ30の4元数(x、y、z、ω)で定義されるポーズ(位置と向き)を判断することができる。
【0038】
基準マーカ位置特定プロセスを説明する、
図5の流れ
図200について説明する。これは、初期のマッピング・モードで、ロボット18がピッキング、配置、及び/又は他のタスクを実行中に、倉庫内の新しい基準マーカに遭遇すると実行される。ステップ202で、カメラ24a及び24bを使用するロボット18が画像を取り込み、ステップ204で、取り込まれた画像内の基準マーカを探索する。基準マーカが画像内で発見された場合(ステップ204)、ステップ206で、基準マーカが、ロボット18のメモリ34にある
図6の基準テーブル300に既に記憶されているかどうかを判断する。基準情報が既にメモリに記憶されている場合、流れ図はステップ202に戻り、別の画像を取り込む。基準情報がメモリ内にない場合、ポーズが、上記のプロセスにしたがって判断され、ステップ208で、基準対ポーズのルックアップ・テーブル300に追加される。
【0039】
各ロボットのメモリに記憶され得るルックアップ・テーブル300には、基準マーカごとに基準識別表示1、2、3など、及び各基準識別表示に関連付けられた基準マーカ/バー・コードのポーズが含まれる。ポーズは、向きを含む倉庫内のx、y、z座標、又は4元数(x、y、z、ω)で構成される。
【0040】
各ロボットのメモリにも記憶され得る
図7の別のルックアップ・テーブル400は、倉庫10内の大箱の場所(たとえば、402a~f)を列挙したものであり、大箱の場所は、特定の基準ID404、たとえば番号「11」と関連付けられている。この実例では、大箱の場所は7つの英数字で構成されている。最初の6文字(たとえばL01001)は、倉庫内の棚の場所に関連し、最後の文字(たとえばA~F)は、棚の場所にある個々の大箱を特定する。この実例では、基準ID「11」に関連付けられた6つの相異なる大箱の場所がある。各基準ID/マーカに関連付けられた、1つ又は複数の大箱があり得る。
図1の充電エリア19に位置する充電ステーションも、テーブル400に記憶され、基準IDに関連付けられ得る。充電ステーションのポーズは、基準IDから、
図6の表300内で見つけることができる。
【0041】
英数字の大箱の場所は、物品が保管される倉庫10内の物理的場所に一致するので、人間、たとえば
図3の操作者50には理解可能である。ただし、ロボット18には無意味である。場所を基準IDにマッピングすることにより、ロボット18は、
図6の表300の情報を使用して基準IDのポーズを判断し、次いで、本明細書で説明するようにポーズに移動できる。
【0042】
この発明による注文履行プロセスを、
図8の流れ
図500に示す。ステップ502で、
図1の倉庫管理システム15は、取り出されるべき1つ又は複数の物品で構成され得る注文を取得する。ステップ504で、物品のSKU番号が倉庫管理システム15によって判断され、ステップ506で、SKU番号から大箱の場所が判断される。次いで、注文の大箱の場所のリストがロボット18に送信される。ステップ508で、ロボット18は、大箱の場所を基準IDと関連付け、ステップ510で、基準IDから各基準IDのポーズを取得する。ステップ512で、ロボット18は、
図3に示すようなポーズに移動し、そこで操作者は、適切な大箱から取り出されるべき物品をピッキングして、ロボット上に置くことができる。
【0043】
倉庫管理システム15によって取得されたSKU番号及び大箱の場所など、物品固有の情報が、ロボット18のタブレット48に送信されてもよく、それにより操作者50は、ロボットが各基準マーカの場所に到着したときに、取り出されるべき特定の物品について知ることができる。
【0044】
SLAMのマップ及び既知の基準IDのポーズを用いて、ロボット18は、様々なロボット誘導技法を使用して、基準IDのいずれか1つに容易に移動できる。好ましい手法は、倉庫10内のオープン・スペース112、並びに壁114、棚(棚12など)、及び他の障害物116の知識を前提として、基準マーカのポーズへの初期ルートを設定することを含む。ロボットは、ロボットのレーザレーダ22を使用して倉庫を移動し始めると、他のロボット18及び/又は操作者50などの固定の又は動的な任意の障害物がロボットの経路にあるかどうかを判断し、基準マーカのポーズへのロボットの経路を繰り返し更新する。ロボットは、約50ミリ秒ごとに1回、ロボットのルートを再計画し、障害物を回避しながらも最も効率的で効果的な経路を常に探索する。
【0045】
一般に、倉庫10a内のロボットの自己位置推定は、SLAMの仮想マップ上で動作する多対多の多分解能スキャン・マッチング(M3RSM:many-to-many multiresolution scan matching)によって実現する。総当たりの方法と比較して、M3RSMは、ロボットが、ロボットのポーズ及び位置を判断する2つの重要なステップである、SLAMのループの閉じこみ(loop closure)及びスキャン・マッチングを実行する演算時間を劇的に削減する。ロボットの自己位置推定は、関連する米国特許出願第15/712,222号、名称「MULTI-RESOLUTION SCAN MATCHING WITH EXCLUSION ZONES」、2017年9月22日出願に開示された方法によって、M3RSMの探索空間を最小限に抑えることでさらに改善される。該特許出願は、参照によりその全体が本明細書に組み入れられる。
【0046】
その両方を本明細書で説明する、SLAM誘導技法と組み合わせた製品のSKU/基準IDから基準ポーズへのマッピング技法を用いて、ロボット18は、通常使用される、倉庫内の場所を判断するためのグリッド線及び中間基準マーカを必要とする、より複雑な誘導手法を使用する必要なく、非常に効率的且つ効果的に倉庫の空間を移動できる。
【0047】
一般に、他のロボット及び倉庫内を移動する障害物が存在する中での誘導は、動的ウィンドウ手法(DWA:dynamic window approach)及び最適相互衝突回避(ORCA:optimal reciprocal collision avoidance)を含む衝突回避方法によって実現される。DWAは、実現可能なロボットの移動軌跡の中から、障害物との衝突を回避し、ターゲットの基準マーカへの望ましい経路を優先する増分移動について演算する。ORCAは、他のロボットとの通信を必要とせずに、他の移動するロボットとの衝突を最適に回避する。誘導は、約50msの更新間隔で演算された軌跡に沿った、一連の増分移動として進む。衝突回避は、関連する米国特許出願第15,712,256号、名称「DYNAMIC WINDOW APPROACH USING OPTIMAL RECIPROCAL COLLISION AVOIDANCE COST-CRITIC」、2017年9月22日出願で説明される技法によって、さらに改善される可能性がある。該特許出願は、参照によりその全体が本明細書に組み入れられる。
【0048】
上述のように、ロボット50は定期的に再充電する必要がある。物品が保管されている倉庫内の場所にマーク付けすることに加えて、基準マーカを、倉庫内の1つ又は複数の充電ステーションに配置できる。ロボット18の電力が低下すると、ロボット18は、充電ステーションに位置する基準マーカに移動することができ、それにより再充電され得る。充電ステーションの場所にくると、ロボットは、操作者にロボットを充電システムに接続させて手動で再充電されてもよく、又はロボットがロボットの誘導手法を使用して、ロボット自体を充電ステーションにドッキングさせてもよい。
【0049】
図9及び
図10に示すように、充電組立体200は、充電ステーションで使用され得る。充電組立体200は、第1の雄型端子部材204及び第2の雄型端子部材206が配設される充電器基部202を備える。この図には示していないが、倉庫の電気設備からの正の電気入力が、充電器基部202に取り付けられ、第1の雄型端子部材204又は第2の雄型端子部材206の一方に電気的に接続されることになる。また、負の電気入力が、充電器基部202に基部に取り付けられ、第1の雄型端子部材204又は第2の雄型端子部材206の他方に電気的に接続されることになる。
【0050】
第1の雄型端子部材204は、充電器基部202に取り付けられ、充電器基部202の表面214から第1の軸212に沿って垂直に延出する第1の基部210を備え、第1の電気接点216で終端をなす。第1の電気接点216は、正又は負の電気接続の一方が取り付けられることになる、充電器基部202内に延出する銅バス・バーの形態であり得る。第2の雄型端子部材206は、充電器基部202に取り付けられ、充電器基部202の表面214から第2の軸222に沿って垂直に延出する第2の基部220を備え、第2の電気接点226で終端をなす。第2の電気接点226はやはり、正又は負の電気接続の他方が取り付けられることになる、充電器基部202内に延出する銅バス・バーの形態であり得る。
【0051】
第1の雄型端子部材204は、複数の外面を備え、そのうちの少なくとも2つは、第1の基部210から第1の電気接点216まで湾曲した形状を有し、凹面を形成する。
図9及び
図10に示す実施例では、3つの湾曲面がある。すなわち、上部湾曲面230並びに対向する側部湾曲面232及び234であり、その3つは、特定の曲率半径で第1の基部210から第1の電気接点216まで湾曲し、凹面を形成する。この実施例では、対向する側部湾曲面232及び234の曲率半径は、約63.9mmである。上部湾曲面230の曲率半径は、約218.7mmである。これらは、最適な位置合わせ補正を実現するために、経験的に決定された。垂直方向と比較して、水平方向により多くの位置ずれが予想される。したがって、対向する側部湾曲面には、より小さい曲率半径が設けられる。もちろん、湾曲面の曲率半径は用途に応じて変えることができる。
【0052】
加えて、第1の雄型端子部材204は、第1の軸212に実質的に平行で充電器基部202の表面214に垂直な平面236を備える。平面236は、第1の電気接点216に近接するへこんだ表面部分238を備える。
【0053】
第2の雄型端子部材206は、複数の外面を備え、そのうちの少なくとも2つは、第2の基部220から第2の電気接点226まで湾曲した形状を有し、凹面を形成する。
図9及び
図10に示す実施例では、3つの湾曲面がある。すなわち、底部湾曲面240並びに対向する側部湾曲面242及び244であり、その3つは、特定の曲率半径で第1の基部220から第1の電気接点226まで湾曲し、凹面を形成する。この実施例では、対向する側部湾曲面242及び244の曲率半径は、約63.9mmである。底部湾曲面240の曲率半径は、約218.7mmである。これらは、最適な位置合わせ補正を実現するために、経験的に決定された。垂直方向と比較して、水平方向により多くの位置ずれが予想される。したがって、対向する側部湾曲面には、より小さい曲率半径が設けられる。もちろん、湾曲面の曲率半径は用途に応じて変えることができる。
【0054】
加えて、第2の雄型端子部材206は、第2の軸222に実質的に平行で充電器基部202の表面214に垂直な平面246を備える。平面246は、第2の電気接点226に近接する裾が広がった表面部分248を備える。
【0055】
第1の雄型端子部材204の少なくとも1つの平面236、及び第2の雄型端子部材206の少なくとも1つの平面246によって画定される、第1の雄型端子部材204と第2の雄型端子部材206との間の空隙250が形成される。空隙250は、第1の電気接点216と第2の電気接点226との間に開口部252を有する。開口部252には、平面236のへこんだ表面部分238及び平面246の裾の広がった表面部分248がある。
【0056】
再び
図9及び10を参照すると、金属接点260a~eが充電器基部202上に配置されている。これらの金属接点は、後述する充電ポート300上の対応する磁石と係合し、充電中に充電組立体200及び充電ポート300を所定の場所に固定する。或いは、磁石は、充電ポート300上の金属接点を備えた充電器基部202上に配設され得る。
【0057】
ロボットが、固定された充電ステーションにドッキングしようとする場合、カメラ24a及び24bを使用してロボットを所定の位置にうまく移動させ、それにより充電ポート300は、充電組立体200と嵌合できる。カメラは、充電ステーションに関連付けられた基準マーカを、以下でより詳細に説明する、精細な自己位置推定のための基準点として使用することができる。ロボットが所定の位置に移動するとき、電気組立体200の電気接点216及び226をそれぞれ充電ポート300の電気接点304及び306と嵌合させるための、完全な位置合わせを達成することは困難な場合がある。したがって、充電組立体200及び充電ポート300は、ロボットがより迅速に再充電できるように、より容易に、より効率的に、より問題なく確実に嵌合するために、特別に設計されている。
【0058】
図11及び
図12を見てわかるように、充電ポート300は、ロボットの基部20aがドッキングしようとしているときに、充電組立体200の第1の雄型端子部材204及び第2の雄型端子部材206をそれぞれ受容し、それらと係合するよう構成される、第1の空隙308及び第2の空隙310を有する。空隙308は、第1の雄型端子部材204の湾曲面230、232及び234と相補的な凹状湾曲面312を備える。言い換えると、第1の空隙308は、第1の雄型端子部材204の湾曲した外面(230、232、及び234)の曲率半径と実質的に等しい曲率半径を有する湾曲面312を備えることができる。この場合、実質的に等しいとは、空隙308への第1の雄型端子部材204の挿入及び取外しを可能にするように、ほんのわずかにより大きいことを意味する。空隙310も、第2の雄型端子部材206の湾曲面240、242及び244と相補的な凹状湾曲面314を備える。言い換えると、第2の空隙310は、第2の雄型端子部材206の湾曲した外面(240、242、及び244)の曲率半径と実質的に等しい曲率半径を有する湾曲面314を備えることができる。この場合、実質的に等しいとは、空隙310への第2の雄型端子部材206の挿入及び取外しを可能にするように、ほんのわずかにより大きいことを意味する。
【0059】
空隙308及び310の開口部は、第1の雄型端子部材204、第2の雄型端子部材206の電気接点216/226の、幅/長さより広く、より長い。余分の幅/長さにより、嵌合プロセス中に水平/垂直方向に多少位置ずれがある場合でも、第1の雄型端子部材204、第2の雄型端子部材206を空隙308及び310内に、より容易に受容できる。ロボットが充電組立体200に向かって移動すると、相補的に湾曲した面の係合により、第1雄型端子部材204及び第2雄型端子部材206が、位置が合うよう誘導され、それにより充電組立体の電気接点216/226と充電ポート300の電気接点304/306との間の係合が生じることになる。
【0060】
したがって、嵌合部品(雄型端子部材及び空隙)の半径は、雄型端子部材が空隙に最初に挿入されるときに粗い位置合わせを、そして完全な挿入に近づくにつれて微調整を可能にするよう設計されている。
【0061】
充電システムは、より簡単な垂直方向位置合わせのためのさらなる特徴を提供する。該特徴は、充電組立体200の空隙350の開口部352と組み合わせる、空隙308と310との間にある仕切り320との相互作用によって達成される。裾が広がった表面部分248は、より広い開口部をもたらすので、ドッキングのプロセスが行われるときに、垂直方向に位置ずれがある場合、裾が広がった表面部分により、仕切り320が空隙350内の所定の位置へ垂直方向にずり上がる。
【0062】
第1及び第2の雄型端子204及び206が空隙308及び310に完全に挿入されると、充電組立体200は、充電組立体200上の金属接点260a~eと係合する磁石360a~eによって、充電ポート300に所定の位置で固定される。磁石は、充電ポート300の外面の内側に配設され得るので、したがって、架空の線で示している。
【0063】
充電システムには、操作者が手動で充電する場合に有用な、さらなる特徴がある。充電組立体200が不適切に充電ポート300に挿入された場合、すなわち、充電組立体200の電気接点216が充電ポート300の電気接点306に接続され、充電組立体の電気接点226が充電ポート300の電気接点304に接続される上下逆の場合、極性が逆になり、その結果ロボット基部20aに重大な損傷が生じるであろう。
【0064】
重大な損傷が生じないようにするために、ストッパ330(
図11及び
図12参照)が、充電ポート300の仕切り320の表面に備えられる。ストッパ330は、傾斜面部分332及び平面部分334を備える。
図10に示すように、充電組立体200の空隙250内には、充電組立体200を充電ポート300に完全に挿入することを可能にする、へこんだ表面部分238がある。へこみ238によって、ストッパ330の傾斜面部分332及び平面部分334が、パズルのピースのごとく、へこんだ表面部分238の傾斜部分及び平坦な部分と係合するように、第1雄型端子部材204によるストッパ330との隙間ができる。充電組立体200が上下逆になっていた場合、充電ポート300に挿入されると、第2の雄型端子部材206の表面246がストッパ330に接触し、完全な挿入及び電気接点304との接触が防止されることになる。
【0065】
図12に示すように、雄型端子部材204及び206の電気接点216及び226がそれぞれ電気接点304及び306と係合すると、電気接点304及び306は、ばね荷重ピンの形態をとり得るので、圧縮される。電気接点304及び306は、線400における電気接点の完全に延出した位置から、線402における電気接点の圧縮された位置(図示せず)まで、圧縮することができる。電気接点304及び306のそれぞれは、5つのばね荷重ピンを備えるよう示している。使用されるピンの数は、充電プロセスの際に流すべき予想される電流及び個々のピンの容量に依存する。電気接点に複数のばね荷重ピンを使用することは、製造のばらつき及び部品の摩耗がある場合でさえも、雄型端子部材204及び206の電気接点216及び226との適切な接触を確保するのに有益である。
【0066】
電気接点304及び306が圧縮された位置にあるとき、充電ポート300の磁石360a~eは、充電組立体200の金属接点260a~eに近接し、それらは磁気的に係合して、充電組立体200及び充電ポート300を所定の位置で固定する。この位置では、雄型端子部材204及び206の上側及び下側湾曲面230及び240がそれぞれ、空隙308及び310の表面312及び314のそれぞれと、相補的に係合していることがわかる。
【0067】
また、第1の雄型端子部材204のバス・バー410及び第2の雄型端子部材206のバス・バー412も
図12に示す。バス・バーは取付台414に接続され、充電組立体200内に、電気接点216及び226の反対側の端部で、バス・バーを固定する。
【0068】
この発明の一態様による充電器ドッキング・ステーション500を、
図13~
図16及び
図17に示す。特に
図13及び14を参照すると、充電器ドッキング・ステーション500は、上記のように、充電器ドッキング・ステーション500の前面カバー502から突出する充電組立体200を備える。充電組立体200は、再充電が必要なときにロボットが容易に円滑なドッキング・プロセスを進めるように、充電組立体200が(以下で説明するように)6自由度で動くことを可能にしながらも、前面カバー502の開口部506を密封するために、充電器ドッキング・ステーション500のU字型ゴム蛇腹取付台504上に装着される。
【0069】
ロボットが円滑にドッキングしない場合に、充電器ドッキング・ステーション500が損傷しないよう保護するために、前面カバー502の底部を横切って水平に装着される、金属製であり得る保護バンパ508も示す。充電器ドッキング・ステーション500は、右側面カバー510及び左側面カバー512(
図13Aでは見えない)をさらに備える。
図15Aに示すように、右側面カバー開口部514aには、充電器ドッキング・ステーション500をより容易に持ち上げるために手を挿入することができる、把持エリア516aがある。この図では見えないが、同様の開口部及び把持エリアが左側面カバー512に設けられ、開口部514b及び把持エリア516bとして
図16Aに示している。右側面カバー510の後部の開口部には、充電器ドッキング・ステーション500内の電気部品を冷却する通気孔518aも示す。同様の通気孔518bは、
図16Aに見える左側面カバー512に設けられる。
【0070】
前部フレーム部材520a、右側フレーム部材520b、左側フレーム部材520c、及び後ろ側フレーム部材520dを備える金属フレームは、充電器ドッキング・ステーション500の基本構造を形成するために相互に連結される。
図13Bを参照すると、フレーム部材のそれぞれは、ボルト521a~dによって倉庫の床に固定され、保護バンパ508は、前部フレーム部材520aを介して金属フレーム520に固定される。保護バンパ508は、前面カバー502の外側にあり、前面カバーから突き出ているので、ロボットが充電器ドッキング・ステーション500とドッキングするときに、ロボットとの最初の衝撃点となる。ロボットによる不注意での強い力の衝撃を受けるとき、かかる大きな力は、前面カバー502ではなく保護バンパに加えられるであろう。前面カバー502並びに右側面カバー510及び左側面カバー512は、典型的には、硬質プラスチック材料で作られ、ロボットから衝撃を受けた場合に亀裂/破壊を受けやすい。保護バンパ508に加えられた力は、前部フレーム部材520aを介して、さらに金属フレーム520に散逸される。前部フレーム部材520aは、充電ステーション500の幅の端から端まで延在するC字形部材と、C字形部材と一体であり、C字形部材の上面から延出するフランジとを備える。保護バンパ508は、前面カバー502の複数の開口を介してフランジと相互に連結する。バンパ508からの力は、フランジ及びC字形部材を介して前部フレーム部材に伝わり、さらに右側、左側、及び後ろ側フレーム部材520b~dに伝わる。最終的に、力は、ボルト521a~dを介して倉庫の床に伝わる。したがって、この保護バンパ・システムは、ロボットから与えられた力を吸収して硬質プラスチック製前面カバー502から散逸させ、前面カバーを損傷から保護する。
【0071】
やはり硬質プラスチック材料でできている上部カバー524は、上部カバー524の表面の空隙内に配設された、ユーザが充電器ドッキング・ステーションを操作するためのいくつかのインジケータ及び制御部を具備することができる、ユーザ・インタフェース・パネル526を備える。たとえば、「準備完了」、「充電中」、「電源オン」、「回復モード」、及び「故障」又は「非常停止」などの様々な状態を示す点灯式の信号が含まれ得る。「電源オン/オフ」、「手動充電開始」、「ドッキング解除」、「リセット」、及び「非常停止」などの釦が備えられ得る。
【0072】
上部カバー524の後縁に沿って後部パネル528があり、後部パネル528は、中央パネル部530と、中央パネル530の右側及び左側にそれぞれ側部パネル部532及び534とを備える。中央パネル530は、前面カバー502に実質的に平行な長方形の前面536を備える。右側部パネル532は、長方形の前面538を備え、左側面パネル534は長方形の前面540を備える。
【0073】
右及び左の側部パネル532及び534は、それぞれ一方の側部に広い側壁542及び544を備え、他方の側部で、中央パネル部530と相互に連結する、より狭い幅に収束する。したがって、右及び左の側部パネル532及び534は、くさび型である。その結果、側部パネルの前面538及び540は、中央パネル530とも前面カバー502の前面536とも平行ではない。側部パネルの前面はそれぞれ、表面536に対して角度θで配設される。前面538及び540にそれぞれ配設された基準マーカ546及び548(たとえば、2次元バー・コード)も、前面536及び前面カバー502に対して角度θで配設される。
【0074】
以下で詳細に説明するように、一態様において、ロボットは、内蔵されたカメラを使って基準マーカを見ることにより、充電器ドッキング・ステーションとドッキングするプロセスの際に、精密な誘導のために角度の付いた基準マーカを使用し得る。概して、充電が必要なときに充電器ドッキング・ステーションに誘導するために、ロボットは、上記のように、製品の大箱に誘導するときと同じように誘導する。充電ステーション500は、前面カバー502に近接して位置し、ロボットの搭載カメラが後部パネル528の方を向くように、一般に(回転して)位置合わせされるポーズに関連付けられ得る。
【0075】
図13B及び
図14Bを参照すると、ばねを含み得る柔軟な部材550a~dは、充電組立体200上の脚部551a~d(脚部551c及び551dは見えない)にそれぞれ接続され、6自由度すべての一定量の動きを可能にし、ロボットを充電器ドッキング・ステーションに誘導する際の小さな誤差の原因となるが、一方でたとえば
図12に示すように、充電組立体200と充電ポート300との間の適切な機械的及び電気的接続を依然として可能にする。
【0076】
加えて、
図15Bを見てわかるように、ガス・スプリング552は、矢印554及び555によって示すように、充電組立体200がガス・スプリング552の軸に沿って移動するときに充電組立体200を安定させるために、充電組立体200に連結される。ガス・スプリング552は、充電器ドッキング・ステーション500の床パネル558に取り付けられたフレーム556上に装着される。嵌合プロセスの際に、ロボットが、充電器ドッキング・ステーション500に向かって移動すると、充電ポート300(上記)が充電組立体200に接触し、矢印554の方向に力を加える。ガス・スプリング552は、充電ポート300と充電組立体200との嵌合中に、ある程度の移動を可能にするのに十分な矢印555の方向への抵抗力をもたらすが、矢印554の方向への過度の移動を防止して、ストッパとして作用し、確実に適切に嵌合させる。
【0077】
加えて、充電組立体200と充電ポート300との間の磁気連結(上述)により、嵌合解除プロセスの間に、充電ポート300が充電組立体200から後退しているとき、充電組立体200は、磁力に打ち勝つまで矢印555の方向に引っ張られることになる。ガス・スプリング552はまた、矢印554の方向へ力を与えることにより、移動が確実に制限される。
【0078】
充電ポート300(コネクタの雌型部分である)は、本明細書ではロボットに装着されるものと説明し、充電組立体200(コネクタの雄型部分である)は、本明細書では充電ステーションに装着されるものとして説明しているが、もちろん、これらの構成要素は逆にすることが可能である。逆の場合、充電ポート300は充電ステーションに装着されることになり、充電組立体200はロボットに装着されることになる。さらに、当業者には明らかであるように、他の充電器ポート及び設計が、本明細書で説明する実施例に関連して使用されてもよい。
【0079】
再び
図13Bを参照すると、床パネル558上に装着されたフレーム脚部562及び564によって部分的に支持されている上部パネル560は、制御基板572及び赤外線(IR:infrared)トランシーバ基板574が収容される空隙を有する。制御基板572は、充電プロトコルのアクティブ化、充電パラメータ及びプロファイルの選択、充電条件及び状態(たとえば、充電状態及びバッテリ温度)の監視、並びにロボットとの通信を含む、充電器ドッキング・ステーション500の全体的な制御を可能にする。これらのすべてを、より詳細に後述する。IRトランシーバ基板574は、ドッキング及び充電プロセスの際のロボットとの通信に使用され、IrDA(赤外線データ協会:infrared Data Association)通信プロトコルを利用することができる。
【0080】
図13B並びに
図15Bを引き続き参照すると、後壁パネル580を示しており、これは、倉庫の電力によって給電される電源582を支持する。後壁パネル580は、電源582のためのヒート・シンクとして機能することもでき、熱をよりよく伝導するために他のパネルとは異なる金属で作られてもよい。後部パネル580はさらに、フレーム脚部562及び564と共に上部パネル560を支持する。倉庫の電力は、たとえばIECコネクタであり得るコネクタ584を介して充電器ドッキング・ステーション500に供給される。床パネル558に連結され、コネクタ584に隣接する位置にある壁586を使用することで、充電器ドッキング・ステーションへの、電源のさらなる保護が可能となり得る。
【0081】
図16A及び
図16Bは、それぞれカバーが付いた状態及び外れた状態での、充電器ドッキング・ステーション500の背面からの斜視図を提示する。これらの図では、充電器ドッキング・ステーションの右側面を見ることもできる。
図16Aでは、それを通って電気コネクタ584に接続するための、家庭からの電源が供給されるポート592を備える後壁580を示している。電気コネクタ584の後部が、
図16Bの後壁580の穴を通って突出していることがわかる。
【0082】
ロボットのドッキング
一実施例による再充電のための充電ステーション500へのロボットのドッキングについて、
図17及び
図18に関して説明する。
図17では、充電ステーション500の充電組立体200に嵌合されている、充電ポート300を備えるロボット18を示す。ロボット18は、たとえば、充電ステーションについて記憶されたポーズによって定義される場所600に移動することができる。ポーズ600への誘導は、倉庫全体にわたる様々な大箱の場所にロボットを誘導するために、上記のやり方で行われる。ポーズ600に達すると、ロボット18を場所602に位置決めするために精密誘導プロセスが行われ、その場所で、充電ポート300が充電組立体200と嵌合し、再充電のためにロボット18が充電ステーション500にドッキングされる。
【0083】
かかる精密ドッキングのプロセスの1つは、カメラ24a及び24bに対する表面538及び540(並びにそれぞれ基準546及び548)の向きを利用し、これは
図18に関連して説明する。
図18に示すように、ロボット18は、位置602に位置し、したがって、ロボット18は充電ステーション500にドッキングされる。この位置では、カメラ24aの視野φ(約79.4度)は、表面536及び538にわたって広がることを示している。カメラ24aの光軸610(すなわち、視野の中心線又はφ/2)は、実質的に垂直な角度で表面38及び基準46と交差する。加えて、この位置では、カメラ24bの視野φ(約79.4度)は、表面536及び540にわたって広がり、カメラ24aの視野とわずかに重なっていることを示している。カメラの組み合わされた視野は、ロボット18に約120度の有効視野をもたらす。組み合わされた視野は、重なり合った部分がロボットの死角を作るため、カメラの視野の合計よりも小さくなる。
【0084】
カメラ24bの光軸612(すなわち、視野の中心線又はφ/2)は、垂直な角度で表面40及び基準48と交差する。ドッキング時に、カメラの光軸が表面538及び540に対して確実に垂直に位置合わせされるようにするためには、表面536に対する表面538及び540の向きである角度θを正確に設定する必要がある。この実例では、角度θは約150度である。このように基準を位置決めすることにより、カメラ24a及び24bによる基準の視認性が向上する。
【0085】
上記のように、カメラはロボットの中心からずれているので、カメラは組み合わされて広い視野をもたらす。ただし、カメラの向きによっては、充電ステーションの基準を見るのが困難になる。この問題に対処するために、基準を、カメラとよりよく位置合わせした角度に向けることができ、これにより、基準をより正確に読み取ることがより容易になる。これは、
図18に示すように、ロボットがドッキングされた位置にあるときに、カメラの光軸を、基準に対して実質的に垂直な角度になり、基準の中心に合うように向きを合わせることにより、達成することができる。
【0086】
ロボットは、
図17のポーズ600に達すると、ロボットのカメラのフレーム内の、表面538及び540のそれぞれの基準546と548の認識された位置及び向きを使用することができる。ポーズ600では、ロボット18は、基準546及び548を認識するのに十分近く、充電ステーション500のほぼ中心に位置する。この初期ポーズ位置へのロボットの誘導における誤差を許容する、ドッキング制御アルゴリズムを使用することができる。言い換えると、ポーズ600に到達するために使用される、5cmの分解能のマップを使用する場合がある誘導手法は、ポーズの場所に正確に位置しない可能性がある。ロボット18は、名目上はポーズ600の位置にある間に、ロボットのカメラ24a及び24bを使用して、基準546及び548の位置及び向きに関する情報を取得する。ロボットは、充電ステーション500に向かって移動するとき、以下の2つの誤差量を最小限に抑えようとする。
【0087】
(1)各カメラが、1つの基準を検出することにする。左のカメラ及び右のカメラが、それぞれ左の基準及び右の基準を検出することにする。基準は、検出されると、基準がロボットには、ロボットの経路に対して完全に垂直に見えるように(すなわち、歪んで見えるのではなく、「平坦に」カメラから認識されるように)、内部で変換され得る。次いで、各基準マーカの相対的なサイズを検出し、それを使用して、ロボットが一方の基準に、他方の基準より近いかどうかを判断できる。一方の基準に近いことは、ロボットが、完全にはロボットの進入路の中心に位置しておらず、中心線に向かって移動する必要があることを示している。補正された左の基準の画素領域をSLと呼び、補正された右の基準の画素領域をSRと呼ぶ場合、ロボットは、|SR-SL|を最小化する必要がある。
【0088】
(2)左のカメラ画像内で、左のドッキング基準は、画像の右側からある画素数のところにあろう。この数をDLと呼ぶこととする。同様に、右のカメラ画像の場合、右のドッキング基準は、画像の左側からある画素数DRのところにあることとする。したがって、ロボットは、|DR-DL|を最小化する必要がある。
【0089】
ロボットは最初に(1)の誤差を修正する必要があるので、一定の線速度をロボットに発行し、且つkS(SR-SL)の回転速度を、この値がある閾値TSを下回るまでロボットに発行する。項kSは、値が(0,1)の範囲にある比例制御の定数である。閾値TSが満たされると、ロボットは、回転速度kD(DR-DL)をロボットに発行して(2)の誤差を最小化しようとする。ここでkDも、(0,1)の範囲にある比例制御の定数である。(a)ロボットがドックに到着するか、又は(b)誤差|SL-SR|が閾値TSを超えて大きくなるまでこれを継続し、(b)の時点で(1)の誤差を最小化するように切り替えて戻す。
【0090】
上記の精密誘導手法は、ロボット18を充電ステーション500にドッキングするために使用され得る様々な手法の一実例である。他の実施例では、ロボットを充電システムにドッキングさせる精密誘導手法は、倉庫の辺りを移動するときに、ロボットがより一般的に使用するものと同様の技法を使用することができる。
【0091】
ロボットの、充電システムへの移動に関して与えられた実例を含む、ロボット・システム及びロボット誘導についての以下の説明は、精密ドッキングの際にロボットの位置を推定して制御するための、以下に図示し説明する技法に限定されない。すなわち、精密ドッキングについて説明した技法への本明細書の発明の適用性を失うことなく、ロボットを充電システムの初期ポーズに誘導するための他の技法が、代替システム及び代替動作を有するロボットによって使用され得る。
【0092】
ロボット・システム
図19は、上記の注文履行倉庫の用途で使用するための、ロボット18の一実施例のシステム図を示す。ロボット・システム614は、データ・プロセッサ620、データ記憶部630、処理モジュール640、及びセンサ補助モジュール660を備える。処理モジュール640は、経路計画モジュール642、駆動制御モジュール644、マップ処理モジュール646、自己位置推定モジュール648、及び状態推定モジュール650を備えることができる。センサ補助モジュール660は、測距センサ・モジュール662、駆動トレイン/ホイール・エンコーダ・モジュール664、及び慣性センサ・モジュール668を備え得る。
【0093】
データ・プロセッサ620、処理モジュール640、及びセンサ補助モジュール660は、ロボット・システム614について本明細書で図示し、又は説明した構成要素、デバイス、又はモジュールのいずれとも通信することができる。トランシーバ・モジュール670は、データを送受信するために備えられ得る。トランシーバ・モジュール670は、監視システムとの間で、又は1台の若しくは他の複数のロボットとの間で、データ及び情報を送受信することができる。送受信するデータには、マップ・データ、経路データ、探索データ、センサ・データ、場所及び方向データ、速度データ、処理モジュールの命令又はコード、ロボットのパラメータ及び環境設定、並びにロボット・システム614の動作に必要な他のデータが含まれ得る。
【0094】
いくつかの実施例では、測距センサ・モジュール662は、走査レーザ、レーダ、レーザ距離計、距離計、超音波障害物検出器、立体視システム、単眼視システム、カメラ、及び撮像ユニットのうちの1つ又は複数を備えることができる。測距センサ・モジュール662は、ロボットの周りの環境をスキャンして、ロボットに対する1つ又は複数の障害物の場所を判断することができる。好ましい実施例では、駆動トレイン/ホイール・エンコーダ664は、ホイール位置をエンコードする1つ又は複数のセンサと、1つ又は複数のホイール(たとえば、地面に係合するホイール)の位置を制御するアクチュエータとを備える。ロボット・システム614はまた、速度計、レーダ・ベースのセンサ、又は回転速度センサを含む、対地速度センサを備えることができる。回転速度センサは、加速度計と積分器との組合せを含むことができる。回転速度センサは、データ・プロセッサ620又はその任意のモジュール向けに観測された回転速度を供給できる。
【0095】
いくつかの実施例では、センサ補助モジュール660は、速度、並進、位置、回転、高さ、方位、及び慣性データの瞬間的な測定値の時間の経過に伴う履歴データを含む、並進データ、位置データ、回転データ、高さデータ、慣性データ、及び方位データを供給することができる。並進速度又は回転速度は、ロボットの環境内の1つ又は複数の固定基準点又は静的対象物を参照して検出できる。並進速度は、ある方向の絶対速度として、又はロボットの位置対時間の1次導関数として表すことができる。回転速度は、角度単位の速度として、又は角度位置対時間の1次導関数として表すことができる。並進及び回転速度は、原点0,0(たとえば
図4、110)、及び絶対座標系又は相対座標系に対応する0度の方向に対して表すことができる。処理モジュール640は、ロボットの観測された回転速度を推定するために、検出された回転速度と組み合わせて、観測された並進速度(又は位置対時間の測定値)を使用できる。
【0096】
いくつかの実施例では、ロボット・システム614は、GPS受信機、差分補正付きGPS受信機、又は無線信号を送信する衛星又は地上ビーコンに対するロボットの位置を判断するための別の受信機を備えることができる。上記の倉庫用途などの屋内用途において、又は衛星受信が信頼できない場合、ロボット・システム614は、上記の非GPSセンサ、及び本明細書に記載の、グローバル又はローカルのセンサ又はシステムから供給される、信頼できる絶対位置情報がない場合に自己位置推定を改善するための技法を使用することが好ましい。
【0097】
他の実施例では、
図19に示されていないモジュールには、操舵システム、ブレーキ・システム、及び推進システムが含まれ得る。ブレーキ・システムは、油圧式ブレーキ・システム、電気油圧式ブレーキ・システム、電気機械式ブレーキ・システム、電気機械式アクチュエータ、電気式ブレーキ・システム、ブレーキバイワイヤ式ブレーキ・システム、又は駆動制御部644と通信する別のブレーキ・システムを備えることができる。推進システムは、電気モータ、駆動モータ、交流モータ、誘導モータ、永久磁石モータ、直流モータ、又はロボットを推進する別の好適なモータを備えることができる。推進システムは、速度、トルク、及び電気モータのモータ・シャフトの回転方向のうちの少なくとも1つを制御するモータ・コントローラ(たとえば、インバータ、チョッパ、波発生器、多相コントローラ、可変周波数発振器、可変電流源、又は可変電圧源)を備えることができる。駆動制御部644及び推進システム(図示せず)は、差動駆動(DD:differential drive)制御及び推進システムであることが好ましい。DD制御システムでは、ロボット制御はノンホロノミック(NH:non-holonomic)であり、所望の並進速度及び角速度を前提とすると、達成可能な増分(incremental)経路に制約があることを特徴とする。推進システムと通信する駆動制御部644は、経路計画モジュール642又はデータ・プロセッサ620によって判断された1つ又は複数の瞬間速度を転換することによって、ロボットの増分移動を作動させることができる。
【0098】
当業者は、本明細書に記載する本発明の適用性を失うことなく、ロボット処理部、データ記憶部、検出部、制御部、及び推進部が使用できる、他のシステム及び技法を認識するであろう。
【0099】
マップ
自律型ロボット又は半自律型ロボットによる誘導は、ロボットの環境の何らかの形の空間モデルを必要とする。空間モデルは、ビットマップ、対象物のマップ、目印のマップ、及び他の形式の2次元及び3次元のデジタル画像で表すことができる。たとえば
図20に示すような倉庫施設の空間モデルは、倉庫、並びに壁、天井、屋根支持体、窓及び扉、棚及び保管箱などの障害物を表すことができる。障害物は、据付型か、たとえば倉庫内で動作する他のロボット若しくは機械など、移動するものか、又は一時的な仕切り、パレット、棚、及び箱など、比較的固定されているが、倉庫のアイテムが貯蔵され、ピッキングされ、補充されるときに変化するものであり得る。
【0100】
倉庫施設の空間モデルは、ロボットが製品をピッキングするか、若しくは他の何らかのタスクを実行するために方向づけされ得る基準、又は一時的に保持する場所への、若しくは充電ステーションの場所に至るまでの基準でマークされた、棚又は箱などの目標の場所を表すこともできる。たとえば、
図20は、開始場所702から、誘導の経路712、714、716に沿って、中間場所704、706、目的地又は目標場所708までの、ロボット18の誘導を示す。ここで、空間モデルは、棚、箱、又はロボット充電ステーションであり得る、目的地708における構造体の特徴を含む、そこを通ってロボットが移動しなければならない環境の特徴を取り込む。
【0101】
ロボットの誘導に最も一般的に使用される空間モデルは、エリア又は施設のビットマップである。たとえば、
図21は、
図20の空間モデルに示されているエリアの、2次元マップの一部を示している。マップ720は、黒若しくは白を表すバイナリ範囲0、1の画素値を有するビットマップによって、又はたとえば黒(0)から白(255)までのグレースケールの範囲を表す0~255の画素値の範囲によって、或いはその範囲が、画素値で表される場所に特徴があろうとなかろうと、不確実なものを示すことができる、色の範囲によって表すことができる。たとえば、
図21に示すように、黒(0)の画素は障害物を表し、白(255)画素は空いた空間を表し、灰色一色のエリア(0から255の間のある値、通常は128)は未知のエリアを表す。
【0102】
図21に示すマップ720のスケール及び粒度は、環境の範囲及び詳細に適するような任意のスケール及び寸法であり得る。たとえば、本発明のいくつかの実施例では、マップ内の各画素は、5平方センチメートル(cm
2)を表すことができる。他の実施例では、各画素は、1cm
2から5cm
2の範囲を表すことができる。しかし、本発明で使用するマップの空間分解能は、その方法の用途への一般性又は利益を失うことなく、より大きく又はより小さくあり得る。以下でさらに説明するように、好ましい実施例では、ロボットを充電ステーションにドッキングする時に、必要な正確な誘導を実現するために、マップの分解能は1cm
2を表すことができる。
【0103】
図21に示すように、ロボットは、マップ720を使用して、環境内でのロボットのポーズを判断し、障害物を回避しながら経路712、714、716に沿ったロボットの移動を計画及び制御することができる。かかるマップは、ロボット若しくは目標場所のすぐ近くの空間的特徴を表す「ローカル・マップ」、又は1つ又は複数のロボットの動作範囲を含むエリア若しくは施設の特徴を表す「グローバル・マップ」であり得る。マップは、外部監視システムからロボットに与えられてもよく、又はロボットが、内蔵された測距及び位置特定センサを使用してマップを構築してもよい。1台又は複数台のロボットが、共有環境を協調的にマッピングすることができ、その結果得られたマップは、ロボットが移動し、環境に関する情報を収集し、且つ共有するので、さらに改良される。
【0104】
いくつかの実施例では、監視システムは、本明細書に記載している方法及びシステムの用途の一般性を失うことなく、製造倉庫若しくは他の施設内の複数のロボットの監視を実行する中央サーバを備えてもよく、又は監視システムは、施設内又は施設外で、完全に若しくは部分的に遠隔で動作する、1台又は複数台のサーバで構成される分散型監視システムを備えてもよい。監視システムは、監視システムを実行するために、少なくともコンピュータ・プロセッサ及びメモリを具備する1台又は複数台のサーバを備えることができ、倉庫又は他の施設で動作する1台又は複数台のロボットと情報を通信するための、1つ又は複数のトランシーバをさらに備えることができる。監視システムは、コンピュータ・サーバ上にホストされてもよく、又はクラウドでホストされてもよく、ロボットと監視システムとの間で、インターネットを含む有線及び/又は無線の通信媒体を介して、メッセージを送受信するよう構成されたローカルのトランシーバによって、ローカルのロボットと通信する。
【0105】
当業者は、本発明の目的のためのロボットのマッピングが、一般性を失うことなく、当技術分野で既知の方法を使用して実行できることを認識するであろう。ロボットのマッピング方法のさらなる議論については、Sebastian Thrunの「Robotic Mapping:A Survey」、カーネギ-メロン大学、CMU-CS-02-111、2002年2月に見ることができ、参照により本明細書に組み入れられている。
【0106】
スキャン
上記のように、センサを装備したロボットは、そのセンサを自己位置推定に使用できるばかりでなく、ロボットの環境のマップの構築及びメンテナンスにも寄与できる。マップの構築及び自己位置推定に使用されるセンサには、光検出及び測距(「LIDAR」、「レーザ走査」、又は「レーザレーダ」)センサが含まれ得る。レーザレーダ・スキャナは、ロボットのローカル環境の一連の離散的な角度スイープによって、水平面内の対象物までの範囲及び距離を測定する。測距センサは、1組の測定を、すなわちロボットを中心にして180度の弧又はそれより大きい若しくはそれより小さい角度の弧、或いは完全な360度の弧にわたって、好ましくは4分の1(0.25)度の増分の、個別の角度の増分で取得される「スキャン」を得る。たとえば、レーザレーダ・スキャンは、レーザ信号の戻り時間及び強度を表す1組の測定値であり、個別の角度の増分での各測定値は、ロボットの現在位置からのある距離に、障害物があり得ることを示すことができる。
【0107】
例示のために
図22A及び
図22Bに示すように、位置704で取得されたレーザレーダ・スキャンは、2次元ビットマップ730として図で表すことができる。スキャン730は、図示のように、中間のポーズ704でのロボットの移動方向に面する約180度の水平弧を描く。方向を示す破線で描かれている個々のレーザレーダの測定731は、ロボットの環境700’内での、たとえば構造体722、724、726、及び728の障害物を検出している。これらは、スキャン730での732、734、736、及び738の画素で表されている。いくつかの実施例では、真っ直ぐな壁724のスキャンは、連結された地理的構造体734が、他のデータから知ることができるか、又は点群の画素の整列状態から識別できる場合は、スキャン730で「塗りつぶされ」得る。
【0108】
本発明の範囲から逸脱することなく、測距センサの他の形態には、ソナー、レーダ、及び触覚センサが含まれる。本発明での使用に好適な市販の測距、位置特定、及び方向センサの実例には、Hokuyo UST-10LX、SICK LMS 100、及びVelodyne VLP-16が含まれるが、これらに限定さるものではない。ロボットは、特定の種類の1つ又は複数の測距センサ又は位置特定センサを備えてもよく、又はロボットは、様々な種類のセンサ、すなわちロボットの環境をまとめてマッピングする測定値を生成するセンサの種類の組合せを備えてもよい。LIDAR及び他のスキャナを使ったロボットのマッピング方法のさらなる議論については、Edwin B. Olsonの「Robust and Efficient Robotic Mapping」、博士論文、カーネギ-メロン大学、2008年に見ることができ、参照により本明細書に組み入れられている。
【0109】
スキャン・マッチング
「スキャン・マッチング」とは、相異なるロボットによる測距スキャンを、又は相異なる時間に取得された単一のロボットのスキャンを、SLAMマップなどの環境のマップと、比較するプロセスである。スキャン間のマッチングのプロセスでは、ロボットが一度に取得した第1のレーザレーダ・スキャンを第2の、以前のスキャンと比較して、ロボットがマップ内の同じ場所に戻ったかどうかを判断できる。同様に、スキャンを第2のロボットのスキャンとマッチングすると、2つのロボットがマップ内の共通の場所に移動したかどうかを判別できる。マップとのスキャン・マッチングを使用して、マッピングされた環境でのロボットのポーズを判断できる。
図23Aに示すように、スキャン730’は、マップ部分720’に対して平行移動及び回転されて描かれている。不明なポーズ(x,y,θ)のロボットの場合、ロボットのレーザレーダ・スキャンのマップ720’とのマッチングでは、スキャン730’のマップ720’との相関を最も強くさせる、平行移動Δx、Δy及び回転Δθを伴う剛体変換Tを見つける。したがって、
図23Bに示すように、マップ720の一部に対するロボットの正しいポーズ
【数1】
を判断できる。
【0110】
レーザレーダ・スキャンが、どの任意の場所及び方向でも、マップと正確に一致することはほぼない。センサ測定の不確実性、ポーズの精度への要求、及び限られた演算サイクル時間のために、ロボットが検出する環境とロボットの実際のポーズとの間の最適なスキャンの一致を統計的に判断する、堅牢で効率的なアルゴリズムが必要である。ただし、統計的手法は不正確なポーズを生じることが多く、且つ演算コストが高くなる可能性がある。こうした複雑さに対処するために、様々な方法及びアルゴリズムが開発されてきた。自己位置推定のためのスキャン・マッチングにおける演算の複雑さを軽減しながら精度を確保する、スキャン・マッチング技法及び2分解能法についての概説は、Edwin B. Olsonの「Real-Time Correlative Scan Matching」、2009年IEEEロボットと自動化とに関する国際会議(ICRA’09)会報、IEEE Press、Piscataway、NJ、米国、2009年、1233~1239頁に見ることができ、参照により本明細書に組み入れられている。
【0111】
M3RSM
前述のように、スキャン・マッチングを使用して位置推定するかかる別の手法は、多対多の多分解能スキャン・マッチング、すなわち「M3RSM:many-to-many multiresolution scan matching」である。M3RSMは、マップのピラミッドを使用して、2分解能相関スキャン・マッチング手法を複数分解能に拡張するものであり、演算効率を高めるために、それぞれのマップは間引きして構成される。M3RSMの議論については、Edwin Olsonの「M3RSM:Many-to-many multi-resolution scan matching」、IEEEロボットと自動化とに関する国際会議(ICRA)会報、2015年6月に見ることができ、参照により本明細書に組み入れられている。M3RSMは、マップのより低い分解能での検討から候補となるポーズを除外することにより、SLAMマップに対してスキャン・マッチングを実行するための処理時間を、大幅に削減する。ロボットの自己位置推定、及びゴールのポーズまでのゴールへの経路に沿った誘導は、関連する米国特許出願第15/712,222号、名称「MUlTI-RESOLUTION SCAN MATCHING WITH EXCLUSION ZONES」、2017年9月22日出願に開示された方法にしたがって、M3RSMの探索空間を最小限に抑えることでさらに改善される。該特許出願は、参照によりその全体が本明細書に組み入れられる。
【0112】
充電ステーションへの移動
上記で
図17及び
図18を参照して図示し、説明したように、ロボット18は、充電ステーションと電気的に嵌合してロボットの充電を開始するために、ロボット充電ステーションに移動できる。例示のために、
図20は、現在の場所702から場所704、706を通って目標場所708に進む、経路712、714、716に沿って移動するロボット18を示す。目標場所708は、ほぼ場所718に位置し得る、充電ステーション(図示せず)の前のポーズに到着したロボットの場所であり得る。場所708に到着すると、ロボットは、より正確なドッキングのための移動を開始して、ロボット自体の位置決めをして、充電ポート300を充電組立体200と嵌合させることができる。次いで、ロボット18は、充電ステーション500にドッキングされ、再充電の準備が整う。
【0113】
ロボットの充電ステーションへの誘導の際に、ロボットは、上記のように、目標の製品箱又は基準と関連づけられた他のどんな目標のポーズの場合とも同様に、場所708に移動できる。
図24は、現在の場所から充電ステーションのポーズであり得るゴールのポーズまで、ゴールへの経路に沿ってロボットを移動させるための、1つのかかるプロセスを示す。ステップ802で始まり、ロボット・システム614は、ロボット環境のマップを表すSLAMマップを、トランシーバ・モジュール670を介して受信する。別法として、マップは、後で、データ・プロセッサ620によって、又はマップ処理モジュール646によって、データ記憶部630から読み出されてもよい。
図21に示すように、マップ720は、自由空間及び障害物を含む倉庫の一部を表すことができる。0、1のバイナリ範囲におけるマップ720の画素値は、障害物(0又は黒)及び自由空間(1又は白)を表す。別法として、マップ720は、0~255の範囲の画素値を使用して倉庫内の障害物を表すことができ、ゼロ(0)の値は障害物を表し、255は空きスペースを示す。通常、値128を有する灰色の画素がある場合、不明なエリア、マッピングされていないエリア、又はアクセスできないエリアを表す。マップを受信すると、ステップ804で、マップ処理モジュール646は、M3RSMにしたがって、又は好ましくは、上記で参照され組み入れられた、改良型のM3RSM技法にしたがって、マップのピラミッドを構築することができる。M3RSMで使用するためのマップのピラミッドの構築については、以前に上記で参照により組み入れられた、前述の米国特許出願第15/712,222号でさらに説明されている。
【0114】
誘導プロセス800を続けて、ステップ806で、ロボットは、ロボット・システム614を使用して、ゴールのポーズ、たとえば、場所718での充電ステーション500のポーズ600を受信する。次いで、ステップ808で、ロボット・システム614は、経路計画モジュール646を使用して、ロボットの初期ポーズから充電ステーションに関連づけられたポーズまでの、ゴールへの経路を生成する。次いでゴールへの経路は、後で処理するために保存され得る。いくつかの実施例では、ゴールへの経路は、ロボットのポーズ推定に基づいて生成されてもよく、又は好ましくは、ゴールへの経路の生成は、「ポーズを見つける」ステップ812の最初の繰返しの後に判断されたロボットのポーズに基づく。経路計画モジュール642は、A*及びD*経路探索アルゴリズムを含む当業者に知られている様々な技法によって、現在のポーズからゴールのポーズまでの、ゴールへの経路を生成することができる。別法として、ロボットは、トランシーバ・モジュール670を介してゴールへの経路を受信してもよく、又はデータ記憶部630からゴールへの経路を読み出してもよい。マップを受信し、マップのピラミッド及びゴールへの経路を生成した後で、ロボット・システム614は、ロボットをゴールへの経路に沿って漸進的に移動させ続けることができる。
【0115】
ステップ810で、ロボットは、ローカル環境のレーザレーダ・スキャンを受信し、受信したスキャンに最もよく一致するポーズを見つけ続ける。
図22Aを参照して上記で説明したように、ローカル・スキャンは、障害物がレーザレーダによって検出されるロボットの視野内の点を表す、レーザレーダ「点群」で構成され得る。点群は、ロボットに関連する位置及び方向での、レーザレーダ・スキャンの点を表すことができ、点群の各点は、個別の角度の増分で取得され、ロボットの現在位置からの距離にあり得る障害物を示す。
【0116】
ステップ812の「ポーズを見つける」で、ロボットの現在のポーズが見つかる。最初に、探索エリアは、受信したマップの、候補となるポーズが探索されるべき部分と判断される。最初の繰返しでは、探索エリアは、マップ全体を含み得る。後に続く繰返しでは、ロボットはマップの一部分の中だけで、ロボットのポーズを推定することができる。探索エリアを判断するためのポーズは、駆動トレイン/ホイール・エンコーダ及び/又は駆動制御情報などのセンサ・データと組み合わされた、最後の既知のポーズから推定され得る。当業者は、ポーズの推定及び探索エリアの判断が、様々な方法及びパラメータを使って実行され得ることを理解するであろう。好ましい実施例では、状態推定モジュール650は、ポーズのデータをホイール・エンコーダのデータ及び慣性センサのデータと融合して、ロボットの現在のポーズ、速度、及びそれぞれの推定誤差を判断することができる。したがって、推定されたポーズにより、探索はマップの一部に制限されて検索空間が減り、スキャン・マッチングの処理時間が短縮される。ポーズ推定の不確実性が低いほど、スキャン・マッチングが必要になり得る探索エリアが一層小さくなる。不確実性が高いほど、スキャン・マッチングが必要になり得る探索エリアが一層大きくなる。次に、探索エリア内のポーズは、上記で参照したM3RSMなどのスキャン・マッチング技法によるスキャン・マッチングによって判断される。任意選択のステップ814で、プロセスはステップ808に戻り、最初の又は後に続く、ポーズを見つけた結果に基づいてゴールへの経路を生成又は更新する。
【0117】
ロボットの現在のポーズを見つけると、
図24のステップ816に進み、ロボットは、ゴールへの経路に沿ってロボットを移動させるための瞬間的な次の速度を計算する。他のロボット及び障害物の存在下でのゴールへの経路に沿った瞬間速度は、動的ウィンドウ手法(DWA:dynamic window approach)及び最適相互衝突回避(ORCA:optimal reciprocal collision avoidance)を含むがこれらに限定されない方法によって実現することが好ましい。好ましい実施例では、DWAは、実現可能なロボットの移動軌跡の中から、障害物との衝突を回避し、目標の場所までの、所望のゴールへの経路を優先する増分移動を演算する。ロボット・システム614は、次の速度(ステップ816)及びロボットの移動(ステップ818)を判断すると、ゴールのポーズにまだ達していない場合(ステップ820)、新しいローカル・スキャンを取得するステップ(ステップ810)、ポーズを見つけるステップ(ステップ812)、及び次の速度を見つけるステップ(ステップ816)を、ゴールのポーズに達する(ステップ820)まで繰り返す。したがって、誘導は、各処理サイクルでの瞬間の速度によって判断される増分軌道に沿った一連の増分移動として進行する。
【0118】
ゴールへの経路が、充電ステーションに割り当てられたポーズであるゴールのポーズを含む場合、プロセスは以下の精密ドッキングに続くことができる。
【0119】
高分解能自己位置推定を使った精密ドッキング
図25は、充電器ドッキング・ステーションに割り当てられたポーズ600に移動した後のロボット18を示し、ロボット18の構造は、上記により完全に図示し、説明している。
図17及び
図18に関して上述した、カメラベースの基準へのドッキングの代替として、ポーズ600から嵌合ポーズ602へのロボット18の誘導には、たとえば倉庫内のある場所での現在のポーズから充電ステーションに関連付けられた初期ポーズ600まで移動するための、上述の誘導方法によるスキャン・マッチング技法を使用できる。
【0120】
充電組立体及び充電ポートの一実施例の上記で開示した寸法によると、充電組立体と充電ポートとの嵌合には、倉庫の誘導に使用されるマップよりも高い分解能のマップが必要となり得る。すなわち、ロボットがポーズ600に到着するために使用する誘導手法は、たとえば5cm分解能のマップを使用することができるが、これではロボットを嵌合ポーズ602に正確に位置決めできず、その結果充電ステーション500の充電組立体200とロボット18の充電ポート300とが確実に嵌合されない可能性がある。自己位置推定及びスキャン・マッチングに5cm分解能を使用するには、充電ステーションを完全にマッピングし、倉庫の床にしっかりと固定することも必要になる可能性がある。
【0121】
したがって、精密ドッキングの実施例では、充電ステーション500のポーズ600に到着すると、ロボット18は、環境のより分解能の高いSLAMマップ、好ましくは1cm分解能のSLAMマップを使用するように切り替え、上記のスキャン・マッチング技法により位置を推定できる。1cm分解能のマップなど、より高い分解能のマップを使用した自己位置推定は、
図26のプロセス830を参照して説明したように進行することができる。プロセス830は、倉庫内のある場所から初期ポーズ600まで移動する際に使用される環境のマップよりも高い分解能の、倉庫環境のマップを受信すること(ステップ832で)から進行する。次いで、マップ処理モジュール646を使用するロボット・システム614は、M3RSMにしたがって、又は好ましくは、上記で参照され組み入れられた、改良型のM3RSM技法にしたがって、マップのピラミッドを構築することができる(ステップ834)。
【0122】
図26のステップ836で、受信されたポーズは、充電ステーションの嵌合ポーズ602である。ステップ838でのゴールへの経路の生成では、ロボットの現在のポーズである初期ポーズ600からゴールのポーズである嵌合ポーズ602までの、ゴールへの経路を生成する。次いで、
図26のステップ840、842、846、848、及び850は、
図24及び
図25を参照して上述したように進行することができる。すなわち、ロボット18は、ポーズ600に到着すると、倉庫の1cm分解能のマップを使用するように切り替え、受信したマップ及びゴールへの経路を使用した誘導を続行し、それによってロボットを駆動して、ロボットの充電
ポートと充電ステーションの充電
組立体とを嵌合させるのに必要な、より正確な自己位置推定を実現することにより、ポーズ600からポーズ602へ前進する。代替の実施例では、ロボット18は、ロボットの初期ポーズが充電ステーションの真向かい且つ中心である必要がないことを認識して、その代わりに、充電ステーションの近位にある初期ポーズ604に移動してもよい。
図27に示すように、ロボット18は、たとえば、最初に倉庫の場所から充電ステーション500の近位にある初期ポーズ604まで移動し、次いで、より高い分解能のマップ、好ましくは1cm分解能のマップを用いた精密誘導を使用して、上記のように、経路742に沿って嵌合ポーズ602まで移動する。
【0123】
充電ステーションにドッキングするときに正確な自己位置推定を実現するが、より高い分解能のマップを使用することにより、演算の複雑度並びにロボット・システムのデータ・プロセッサ及びデータ・メモリ・リソースの必要性が増す。たとえば、1cm分解能のマップのスキャン・マッチングによって位置を推定する処理は、5cm分解能のマップを使用した場合の25倍もの演算量を必要とする。したがって、ドッキングの際のスキャン・マッチングによる自己位置推定のために、より高い分解能のマップを利用すると、他の重要な処理タスクに使用できる処理時間が無駄になる。さらに、充電ステーションのエリアでは、ロボットが充電ステーションに近接すれば、倉庫全体のマップは必要ない。またさらに、倉庫全体のマップに対するスキャン・マッチングによる誘導は、倉庫全体のマップが充電器ドッキング・ステーションのマップを含んでいるとすると、ドッキングの際の充電ステーションの移動は許容されないであろう。
【0124】
したがって、
図28は、自己位置推定のためにより高分解能のマップを使用する精密ドッキングのさらなる実施例を示し、ここで受信したスキャン・マップは充電ステーションしか含まず、ローカル・スキャンのスキャン・マッチングがより高い分解能のマップで実行される。充電ステーションのマップには、1cm分解能のマップが含まれ得る。ここでマップの画素は、充電ステーションの垂直面を表す。別法として、充電ステーションのマップは、充電ステーションの既知の構造及び寸法から構築されてもよい。充電ステーションはロボットのレーザレーダ・スキャナによってスキャンされることになるので、かかる任意のマップを使用して充電ステーションを表すことができる。
【0125】
たとえば、
図28に示すように、また
図17を参照すると、充電ステーションのマップ740(黒で示す)は、充電ステーションの側部パネルの表面538及び540並びに中央パネルの表面536のスキャンによって表すことができる。したがって、充電器ドッキング・ステーションへのスキャン・マッチングに使用されるマップは、レーザレーダ22(
図2A参照)の高さでスキャンされたドッキング・ステーションの後部の、より高分解能のマップ740であり得る。同様に、充電ステーションのマップとのスキャン・マッチングのためのローカル・スキャンは、レーザレーダ22の高さでスキャンされた、充電ステーション500の後部の角度の付いた側部パネル及び中央の表面のレーザレーダ・スキャン742(赤で表示)であり得る。
【0126】
充電ステーションは、他の実施例では、他の寸法及び構成であってもよい。すなわち、ドッキング・ステーションの後部の側面は、中央の表面に対して角度が付いていなくてもよいことに留意されたい。実際、ロボットを充電ステーションにドッキングするための本明細書に記載している方法は、一般性を失うことなく、充電器ドッキング・ステーションの他の寸法及び構成に適用することができる。かかる他の寸法及び構成では、スキャン・マッチングに使用される充電ステーションのマップは、ロボットの測距スキャンと一致する充電器ドッキング・ステーションのスキャン又はスキャン画像を含む又はそれだけで構成される、スキャン・マップを提供するだけでよい。かかるロボットは、充電ステーションのマップとスキャン・マッチングするためのローカル・スキャンの生成と一貫する、他の測距走査方法を使用できる。
【0127】
図26を参照した上記の誘導プロセス830に鑑みて、初期ポーズ604に到着すると、ロボットは、充電ステーションのマップを使用する誘導に切り替えることができる。この実施例のステップ832で受信されるマップは、充電器ドッキング・ステーションだけを含む、より高い分解能のマップであり得る。上記の技法によるスキャン・マッチングを使用した、充電ステーションのマップに対するロボットの自己位置推定は、好ましくは、M3RSMを使用して進行することができ、したがって
図26のステップ834で、上記で言及したように、マップのピラミッドを構築できる。ステップ836で受信されたポーズは、充電ステーションの嵌合ポーズである。ステップ838でのゴールへの経路の生成では、ロボットの現在のポーズである初期ポーズ600からゴールのポーズである嵌合ポーズ602までの、ゴールへの経路を生成する。
図26のプロセス830を続けると、充電ステーションのマップとのスキャン・マッチング、すなわち「ドックまでの位置推定」のためにステップ840で受信されたローカル・スキャンは、一態様では、充電ステーションのレーザレーダ・スキャン742である。したがって、
図27の充電ステーションのレーザレーダ・スキャン742は、プロセス830の各繰返しでの充電ステーションのマップ740に対するスキャン・マッチングによって、ロボットのポーズ(ステップ842)を見つけるために使用される。初期ポーズ604から嵌合ポーズ602へのロボットの増分移動は、次の増分速度(ステップ846)を続け、ロボット18を経路752に沿って漸進的に移動させる(ステップ848)。ロボット18が経路752に沿って初期ポーズ604から嵌合ポーズ602まで漸進的に移動するようにプロセスが繰り返され(ステップ820)、それにより、
図17に示すように、充電組立体200を充電ポート300と嵌合する。
【0128】
一実施例では、ドッキングする際の障害物の回避は、初期ポーズから嵌合ポーズに移動するとき、各繰返しでの各ローカル・スキャンから、障害物が閾値距離d内に存在するかどうかを判断することにより簡略化でき、ここでdは、完全に嵌合したときにロボットが充電器ドッキング・ステーションに到達できる距離よりも短い。したがって、ローカル・スキャンで距離d内に現れる障害物は、ドッキング・ステーション自体ではない。たとえば、
図28に示すように、嵌合ポーズから充電器ドッキング・ステーションの前面までの閾値距離d
1を測定することができる。別法として、閾値距離d
2は、ロボットのレーザレーダの高さでスキャンされた垂直面までの距離より短くてもよい。この態様では、閾値距離内で障害物を検出すると、ロボット18は停止し、障害物がなくなるまで待つことができるか、又はロボットは、別の充電ステーション又は目標場所への継続的な誘導のための新しいポーズを受信できる。
【0129】
充電ステーションだけに対する位置推定により、ロボットは、充電ドッキング・ステーションへ最終的に接近する短い時間に、最大効率での精密ドッキングを実行できる。充電ステーションだけに対する位置推定は、ドッキングする際に、より高い分解能のマップと組み合わせて使用することができ、「ドックまでの位置推定」の発明的側面に関する一般性を失うことなく、以下でさらに説明するべき「弧制御」などの、他のロボット制御技法と共に使用することができる。
【0130】
弧制御による精密ドッキング
図26及び
図27を参照して上述した実施例による精密ドッキングは、充電組立体の充電ポートとの確実な係合に寄与している経路に沿って、ロボットを常に移動させるとは限らない。たとえば、ロボット18は、より高い分解能のマップ及び充電ステーションのマップのみとのスキャン・マッチングを使用して、ポーズ604からポーズ602に移動できる。しかし、嵌合ポーズ602への接近時に、ロボット18は、充電ステーションに直接面していない可能性があり、これは、信頼性の低い嵌合をもたらす可能性がある。したがって、ロボットの充電ステーションへの嵌合は、実質的に、初期ポーズから充電ステーションの嵌合ポーズまでの制御された弧に沿って移動することによって、改善できる。たとえば、
図29に示すように、ポーズ604からポーズ602まで経路762に沿って移動すると、ロボットの向きは、嵌合ポーズ602までのロボットの最終的な接近で、確実に充電ステーション500に垂直になる。
【0131】
図30は、初期ポーズから嵌合ポーズまで実質的に弧に沿って移動し、それによりロボットを充電ステーションに対して垂直に向けることによる、精密ドッキング制御の好ましい方法を示す。
図30に示すように、初期ポーズ604は、ポーズ座標X
R,Y
R,θ
Rで識別され、ここでX
R,Y
Rは、充電ステーションの近位を移動するときのロボットの現在の場所又は初期の場所であり、θ
Rは、初期ポーズのある角度をなす向きである。嵌合ポーズ602は、ポーズ座標X
D,Y
D,θ
Dで識別され、ここでX
D,Y
Dは、充電組立体又は充電ステーションの「鼻部」と位置合わせされた場所であり、嵌合ポーズのある角度をなす向きθ
Dは、充電ステーションに対して垂直である。経路762で示す弧が、半径がR、中心がX
C,Y
Cで、X
R,Y
Rで始まり、X
D,Y
Dで終わる円764の一部分をたどるのを観察すると、経路762を見つける最初のステップは、X
R,Y
R及びX
D,Y
Dを通過する円764の中心X
C,Y
Cを見つけることである。
【0132】
残念ながら、X
R,Y
R及びX
D,Y
Dを通過する弧の部分を有する半径rの円は無数にある。ポーズX
D,Y
Dでの円の接線はtan(θ
D)の勾配を持たなければならない、すなわち、ロボットの最終的な向きは充電ステーションに垂直であるという制約を導入することにより、さらに円764の中心X
C,Y
Cは、X
R,Y
Rからの距離とX
D,Y
Dからの距離とが同じになるという制約を利用することにより、半径rは以下のように判明し得る。
【数2】
【0133】
第3の制約は、X
D,Y
D及びX
C,Y
Cを通過する直線の式が、tan(θ
D)の接線の勾配に垂直な勾配を有することを条件とする。変数pを、次のように定義し、
【数3】
X
C及びY
Cについて解くと、
【数4】
となり、上記の式(1)又は(2)への単純な代入によって、半径rについて解くことができる。
【0134】
上記のように、中心XC,YCを有し、XR,YR及びXD,YDを通過する一意の円の半径rは、ポーズ604から嵌合ポーズ602までの所望の弧の経路762を画定する。したがって、経路762に沿ったロボットの増分移動の制御は、各繰返しでの円764の接線から判断できる。つまり、各繰返しでのロボットの制御は、瞬間的な場所x’R,y’R、角速度θ’Tで接線の方向にロボットを前進させることによって判明し得る。ここでθ’Tは、x’R,y’Rでの円764の接線である。
【0135】
実際には、ロボットが制御経路762に沿ってポーズ604からポーズ602に漸進的に移動すると、実際の経路にいくらかの差異が生じる可能性がある。しかし、経路762に沿った各増分ポーズでのロボットの瞬間的な速度は、制御経路からの僅かな誤差内の瞬間軌道になるはずである。たとえば、
図31は、(明確にするために、弧経路762からの誇張した差異として示しているように)経路772に沿ってポーズx’
R,y’
R,θ’
Rまで前進したロボット18を示し、円764の場所x’
R,y’
Rでの接線766と、向きθ’
Rの方向に延びる軌道768との間に、僅かな角度誤差Φが生じ得る。各繰返し及び増分移動で、半径rは変化しないはずである。半径rが増分移動毎に変化しないということは、ロボット18が実質的に弧の経路762上に留まり、嵌合ポーズ602に近づくと、ロボットが充電ステーションに対して確実に所望の向きになることを意味している。
【0136】
半径rが変化しないことを確実にし、
【数5】
ここで、x’
Rはロボットの瞬間線速度、θ’
Rはロボットの瞬間角速度
を観察すると、所与の半径rについて、瞬間線速度x’
Rは、瞬間角速度θ’
Rを調整することにより一定に保持され得るか、又は角速度θ’
Rは、線速度x’
Rを調整することにより一定に保持され得る。したがって、
θ’
R=kΦ (8)
ここで、kは比例制御定数
にしたがってロボットに制御を発し、上記の式(7)及び(8)からの回転制御を組み合わせることによって、
【数6】
ここで、α及びβは重み付けパラメータ
結合された制御方程式(9)は、ロボットの実際の経路772と所望の弧経路762との間の誤差をつめる。好ましい実施例では、重み付けパラメータα及びβは1であり得る。
【0137】
ロボット18が充電ステーションにより近づくにつれて、式(8)の比例制御は、式(9)において一層重く考慮され得る。別の実施例では、重み付けパラメータα及びβは、充電ステーションまでの距離の関数として非線形な関係で調整され得る。別法として、制御スキームは、誤差が閾値を下回るまで最初に式(8)にしたがって回転誤差をつめ、次いでX’Rを固定値に設定し、次に式(7)にしたがってロボットを制御し、繰り返しr及びΦを更新し、次いで閾値を再び超えたときに制御方式を式(8)に戻すことによって、適用され得る。このようにして、弧経路762に沿ったロボットの軌道における誤差Φ、及び最終ポーズ602での誤差Φが最小化される。
【0138】
本発明の前述の説明により、当業者は、現在その最良の形態であると考えられるものを作成及び使用することができるが、当業者は、本明細書での具体的な実施例及び実例の変形、組合せ、及び同等物の存在を、理解及び認識するであろう。上記の本発明の実施例は、実例にすぎないことを意図している。当業者は、ここに添付される特許請求の範囲によってのみ定義される本発明の範囲から逸脱することなく、特定の実施例に対して変更、修正、及び変形を行うことができる。
【0139】
本発明は、ソフトウェア及び/又はハードウェアで実施できることを理解されたい。したがって、本発明の態様は、すべて本明細書では概して「回路」、「モジュール」、又は「システム」として参照され得る、完全にハードウェアの実施例、完全にソフトウェアの実施例(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、又はソフトウェア及びハードウェアの態様を組み合わせた実施例の形を取ることができる。当業者によって理解されるように、本発明の態様は、システム、方法、又はコンピュータ・プログラム製品として具現化され得る。
【0140】
本発明の態様は、方法及び装置(システム)の流れ図、説明図、及び/又は構成図を参照して説明している。流れ図及び構成図は、本発明の様々な実施例によるシステム・アーキテクチャ、機能、又は動作を示すことができる。流れ図の各ステップは、指定された機能を実施するための1つ又は複数の実行可能な命令を含むモジュールを表すことができる。いくつかの実施態様では、連続して示されるステップは、実際には、実質的に同時に実行され得る。ステップは、指定された機能又は動作を実行する専用ハードウェアベースのシステム、又は専用ハードウェアとコンピュータ命令との組合せによって実行され得る。
【0141】
本発明の動作を実行するプロセッサによる、実行するためのコンピュータ命令は、C#、C++、Python、又はJavaプログラミング言語などのオブジェクト指向プログラミング言語を含む、1種又は複数種類のプログラミング言語で書くことができる。コンピュータ・プログラム命令は、本明細書で説明する流れ図及び/又はシステム構成図で指定されたステップを実施する命令を実行することを含む、特定のやり方で機能するように、データ・プロセッサを介してロボット・システムへ命令できる、コンピュータ可読媒体に保存できる。コンピュータ可読記憶媒体は、データ・プロセッサによって、又はデータ・プロセッサと共に使用するための命令を含むことができるか又は保存できる、任意の有形の媒体であり得る。コンピュータ可読媒体には、コンピュータ可読プログラム・コードがその中に具現化された伝播データ信号も含まれ得る。
【0142】
したがって、本発明は、上記の実施例及び実例、実施例、並びに以下の通り請求する本発明の範囲及び精神にある、用途によって限定されない。