[0024] 例示的な方法およびシステムについて、本明細書に説明する。本明細書に説明する任意の例示的な実施形態または特徴は、必ずしも、他の実施形態もしくは特徴よりも好ましい、または有利であると見なされるとは限らない。本明細書に説明する例示的な実施形態は、限定することを意味するものではない。開示されるシステムおよび方法の特定の態様が、幅広い多様な相異なる構成で、構成可能および組合せ可能であることは容易に理解され、それらのすべてが本明細書に企図される。
[0025] さらには、図に示される具体的な構成は、限定と見なすべきではない。他の実施形態が、所与の図に示されている各要素について、より多くまたはより少なく含み得ることを理解すべきである。さらには、例示される要素のうちのいくつは、組み合わせられても、または省略されてもよい。その上さらには、例示的な実施形態が、図に示されていない要素を含む場合もある。
[0026] 例示的な実施形態は、軌道計画のための物体測定基準の確定を実現する助けになり得る。例として、ロボットマニピュレータ(たとえば、ロボットアーム)には、箱などの物体を持ち上げ、移動させるためのエンドエフェクタ(たとえば、吸着グリッパ)が装備可能である。箱の選別中、箱が持ち上げられ、かつ/または一定量、移動するまでは、選別されている箱についての何らかの情報が、知られていない場合がある。たとえば、箱重量または箱深さは、箱が宙にあって初めて、1つまたは複数のセンサによって測定可能になり得る。いくつかの例においては、これらの測定結果は、いずれの軌道がロボットによって箱を運搬するために使用されるべきであるかに影響をもたらす場合がある。例として、箱測定基準は、ロボットが箱を落とさずに運搬することができる速度、または特定の経路が衝突を引き起こさずに使用可能であるかどうかに影響をもたらす場合がある。したがって、複数の可能な軌道が、相異なる可能な物体測定結果について確定され得る。物体測定結果がセンサデータから確定された後、物体を運搬するための軌道が、可能な軌道から選定され、ロボットによって物体を運搬するために使用され得る。
[0027] いくつかの相異なるタイプおよび/または組合せのセンサが、箱を運搬するのにどの軌道を使用すべきであるかを確定するために、箱の度量衡を確定するのに使用され得る。いくつかの例においては、ロボットアームに実装されたセンサと、定位置に実装された他のセンサとの組合せが使用され得る。ロボットによって持ち上げられる物体は、遮蔽される場合があり、それにより、物体の一部しか単一のカメラには見えない。一例が、パレットまたはファサードからの箱選別にあり、ここでは、箱寸法のうちの少なくともいくつかは、知られておらず、個々のカメラには見えない場合がある。そのような事例においては、アーム上センサ、ならびに環境内に戦略的に配置されたアーム外センサからのデータが、物体が選別されているときその寸法を分析するために、組合せおよび使用可能である。さらなる例においては、物体の1つまたは複数の知られていない寸法が、センサのうちの1つまたは複数の前に移動して、物体測定結果を確定すること、または精緻化することができる。加えて、物体の特定の寸法が、視覚データだけでは不確かな場合がある。そのため、センサのうちの一部またはすべてが、視覚カメラに加えて、または視覚カメラの代わりに、深さセンサであってよい。
[0028] さらなる例においては、センサのうちの1つは、ロボットアームに実装された低プロファイルを含む深さセンサとすることができる。いくつかの例においては、特にグリッパが物体に非常に近いときには、従来の深さセンサをグリッパ上に合理的な構成で配置して、物体の深さ寸法を確定することが、困難な場合がある。そのため、レーザビームラインおよびオフセットカメラを含む三角測量深さセンサが、使用され得る。このタイプのセンサは、低いプロファイルを有し得、それにより、そのセンサは、グリッパが、物体と接触し、そのため、物体のごく近くにあるようになった後、物体深さを確定することができる。いくつかの例においては、他のタイプの深さセンサおよび/または視覚センサからのデータが、低プロファイルの三角測量センサからのデータと組み合わせられて、同様に箱寸法の推定値をより良く精緻化することができる。
[0029] 追加の例においては、ロボットアームに実装された力トルクセンサが、箱特性を確定する助けになるように使用され得る。力トルクセンサは、グリッパによって保持される物体によって生じる力および/またはトルクを確定するために、吸着グリッパの上に位置決めされ得る。このデータに基づいて、力トルクセンサは、質量、重心、質量中心、質量中心がいかに固定しているか、および/または慣性マトリクスなど、選別された箱のパラメータを確定するのに使用され得る。追加の例においては、力トルクセンサはまた、物体の1つまたは複数の寸法を確定するのに使用され得る。具体的には、力制御を使用して、隣接面と接触した物体の縁部を中心に物体を枢動させることによって、システムは、その寸法範囲を確定してから、箱を完全に選別することができる。
[0030] いくつかの例においては、物体を運搬するための1つまたは複数の軌道は、相異なる可能な物体測定結果についてあらかじめ計画され得る。計画システムでは、特定の物体測定結果を所与として、軌道をコンピュータ計算するためには一定の時間量が必要であり得る。したがって、いくつかの例においては、計画システムが、使用すべき軌道を確定するのにロボットを待たせる必要を回避するために、あらかじめ計画された軌道から選定することは有利であり得る。1つの例においては、最適な「ツリー(tree)」の軌道が、共に計画され得、これらの軌道は、共通の出発点を有し、1つまたは複数の物体特性の相異なる可能な測定結果に基づいて枝分かれする。次いで、一旦、測定結果が空中で得られると、特定の軌道を選定するためのツリーの下方への経路が選択され得る。例として、第1の軌道が、軽い箱について計画され得、第2の軌道が、中間重量の箱について計画され得、第3の軌道が、重い箱について計画され得る。さらなる例においては、追加の特性もまた、考慮され得る。たとえば、軽い箱について計画された第1の軌道は、箱寸法(たとえば、大まかには正方形の箱対長方形の箱)に基づいてさらに精緻化され得る
[0031] 追加の例においては、軌道計画のうちの一部またはすべてが、物体測定結果が確定されるとき、オンザフライで(たとえば、リアルタイムに)行われ得る。例として、1つの例においては、可能な測定結果の極限端(たとえば、非常に重い箱または非常に長い箱)において、物体を安全に移動させることが可能な保守的な軌道は、第1の期間中に計画され、使用され得る。物体測定結果が利用可能になると、軌道は、(たとえば、より軽い、またはより小さい箱の)より高速な物体運搬を可能にする、より積極的な軌道に修正され得る。いくつかの例においては、複数のレベルの精緻化が、より精密な測定結果が確定されるとき、相異なる時点で行われ得る。さらなる例においては、あらかじめ計画された軌道と、オンザフライの調整との組合せが使用され得る。例として、あらかじめ計画された軌道は、相異なる範囲の可能な測定結果について(たとえば、小さい箱、中間サイズの箱、大きい箱について)確定され得る。あらかじめ計画された軌道のうちの1つは、物体がどの範囲に入るかに基づいて選定され得、次いで、軌道は、正確な物体測定結果に基づいて、および/または他の物体特性に基づいてさらに精緻化され得る。
[0032] 次に、様々な実施形態を詳細に参照することとし、それらの例は、添付の図面に示されている。次の詳細な説明においては、多数の具体的な詳細が、本開示および説明される実施形態について完全な理解を提供するために記載されている。しかしながら、本開示は、これらの具体的な詳細なしで実施され得る。他の例においては、よく知られている方法、手順、構成要素、および回路については、実施形態の態様を不必要に曖昧にしないように、詳細には説明していない。
[0033] 様々な実施形態によれば、本明細書においては、たとえば、保管コンテナへの、もしくは車両からの箱および/または他の物体の自動積込みならびに/あるいは荷降ろしのための方法とシステムが説明される。いくつかの例示的な実施形態においては、箱または物体は、自動的にパレット上に整理され、配置され得る。諸例の中で、保管ならびに運搬をより容易にするための台車の積込み/荷降ろしの工程、および/または物体からパレットを生み出す工程を自動化することは、いくつかの産業上および仕事上の利点をもたらすことができる。
[0034] 様々な実施形態によれば、台車の積込み/荷降ろしの工程、および/またはパレットを生み出す工程を自動化することは、物体を移動させ、もしくは他の機能を行うための1つまたは複数のロボット装置の組込みを含むことができる。いくつかの実施形態においては、ロボット装置は、車輪付きベース、ホロノミックベース(たとえば、任意の方向に移動することができるベース)、または天井、壁、もしくは床におけるレールと連結することによって可動にされ得る。いくつかの実施形態においては、ベースは、高架式ベースとすることができる。
[0035] いくつかの例においては、1つまたは複数のセンサ、1つまたは複数のコンピュータ、および1つまたは複数のロボットアームを含むシステムが説明される。センサは、視覚データおよび/または3次元(3D)深さ情報を取り込むために、1つまたは複数の物体を含んでいる環境を走査することができる。次いで、走査からのデータは、デジタル環境再構成を実行するために、より大きいエリア表現に統合され得る。追加の例においては、再構成された環境は、次いで、物体を識別して持ち上げること、物体について選別位置を確定すること、ならびに/あるいは1つもしくは複数のロボットアーム、および/または移動式ベースに対する衝突のない軌道を計画することに使用され得る。
[0036] 本明細書に使用されるとき、「箱(box)」という用語は、パレット上に配置され、あるいは台車もしくはコンテナ上に積み込まれ、または台車もしくはコンテナから荷降ろしされ得る、任意の物体または品物を示すことになる。たとえば、「箱」は、長方形の立体に加えて、缶、ドラム缶、タイヤ、または任意の他の「単純な(simple)」形状の幾何学的品物を示すことができる。加えて、「積込み(loading)」および「荷降ろし(unloading)」はそれぞれ、他方を暗示するのに使用され得る。たとえば、一例で、台車に積み込むための方法を説明している場合、実質的には、同じ方法が、同様に台車の荷降ろしのためにも使用され得ることを理解されたい。本明細書に使用されるとき、「パレットに載せること(palletizing)」は、パレット上の箱が、パレット上に保管または運搬され得るようなやり方で、パレット上に箱を積み込み、箱を積み重ね、または並べることを示す。加えて、「パレットに載せること」および「パレットから降ろすこと(depalletizing)」という用語はそれぞれ、他方を暗示するのに使用され得る。
[0037] もちろん、本明細書における諸例は、同様に箱以外の物体に向けて、ならびに様々なサイズおよび形状の物体に向けて適用され得る。
[0038] 様々な実施形態によれば、ロボットマニピュレータが、ホロノミックカート(たとえば、カートが任意の方向に移動できるようにする車輪を備えたカート)に実装され得る。図1Aは、ロボットマニピュレータを含んでいる例示的なホロノミックカートを示している。いくつかの実施形態においては、移動可能なカート112は、カート112に実装されたロボットアーム102を含むことができる。ロボットアーム102は、環境内で物体を把持するための把持構成要素104を含んでいることができる。カートは、1つまたは複数の車輪114を含んでいることができ、この車輪114は、2つの自由度により動作するホロノミック車輪とすることができる。さらなる実施形態においては、ラップアラウンド前方コンベヤベルト110が、ホロノミックカート112において含まれていてもよい。いくつかの例においては、ラップアラウンド前方コンベヤベルトは、ロボットが、台車コンテナもしくはパレットから箱を荷降ろしする、またはそれに箱を積み込むとき、左または右にそのグリッパを回転させる必要をなくすことを可能にすることができる。
[0039] 他の例においては、ロボットマニピュレータは、異なるタイプの可動機器に実装される場合も、または可動ベース上に全く実装されない場合もある。たとえば、ロボットマニピュレータは、工場出荷設定内では定位置に実装され得る。他の例示的な実施形態においては、1つまたは複数のロボットマニピュレータが、台車またはコンテナのレールに実装される場合がある。そのような例においては、ロボットマニピュレータは、台車もしくはコンテナを積み込み、または荷降ろしするのに使用され得る。
[0040] 図1Bは、例示的な実施形態による、ロボット装置100を示す機能ブロック略図である。ロボット装置100は、機械システム120、感知システム130、制御システム140、ならびに電源150などの様々なサブシステムを含むことが可能であり得る。ロボット装置100は、より多くの、またはより少ないサブシステムを含んでよく、各サブシステムが、複数の要素を含むことが可能であり得る。さらには、ロボット装置100のサブシステムおよび要素のそれぞれが、相互接続可能であり得る。したがって、ロボット装置100の説明される機能のうちの1つまたは複数が、さらなる機能的もしくは物理的構成要素に分割されても、またはより少ない機能的もしくは物理的構成要素に組み合わせられてもよい。いくつかのさらなる例においては、さらなる機能的および/または物理的構成要素が、図1Aおよび図1Bによって示される例に追加されてもよい。
[0041] 機械システム120は、ロボットアーム102、グリッパ104、コンベヤベルト110、(可動またはホロノミック)カート112、および1つまたは複数の車輪114を含んだ、図1Aに関して上述した構成要素を含むことができる。機械システム120は、加えて、モータ122を含むことができ、このモータ122は、電力を動力源とする電気モータとすることも、またはガスベースの燃料もしくは太陽光発電など、いくつかの相異なるエネルギー源を動力源とすることもできる。加えて、モータ122は、電源150から電力を受け取るように構成され得る。電源150は、ロボット装置100の様々な構成要素に電力を供給することができ、たとえば、再充電可能リチウムイオンまたは鉛酸バッテリを表すことができ得る。例示的な実施形態においては、1つまたは複数のそのようなバッテリバンクが、電力を供給するように構成可能であり得る。他の電源材料およびタイプも可能である。
[0042] 感知システム130は、ロボットアーム102が移動するとき、環境についての情報を感知する2Dセンサおよび/または3D深さセンサとすることができる、センサ106およびセンサ108など、ロボットアーム102に取り付けられた1つまたは複数のセンサを使用することができる。感知システムは、箱を効率的に選別し、移動するために、制御システム140(たとえば、運動計画ソフトウェアを実行するコンピュータ)によって使用可能な、環境についての情報を確定することができる。制御システム140は、装置において設置可能であり得ることも、または装置と遠隔に通じていることも可能であり得る。さらなる例においては、前方ナビゲーションセンサ116および後方ナビゲーションセンサ118など、可動ベース上の固定した架台を備える1つまたは複数の2Dもしくは3Dのセンサ、ならびにセンサ106およびセンサ108など、ロボットアームに実装された1つまたは複数のセンサからの走査が、台車または他のコンテナの側面、床、天井、および/もしくは前方壁を含む、環境のデジタルモデルを構築するために統合され得る。この情報を使用して、制御システム140は、可動ベースに、積込みまたは荷降ろしのための位置にナビゲートさせることができる。
[0043] 追加の例においては、平坦表面情報が、壁、床、および/または箱面をモデル化するために3Dセンサから取り出され得る。床をモデル化した後、物体を床平面に投影すると、障害物、および/または箱などの標的物体を区分することが可能になり得る。床平面投影はまた、平面として正確にモデル化不可能な、コンテナまたは台車の波形側面をモデル化するのにも使用可能である。さらなる例においては、側壁角度、床平面のロールおよびピッチ、ならびに/または側面壁からの距離は、可動ベースをコンテナ内に衝突なく誘導するのに使用可能である。単一ライン走査ではなく、拡張された3D情報を用いることは、ナビゲーション情報の取出しをロバストにする助けになり得る。たとえば、側面壁は、3Dセンサによって取り込まれる垂直範囲を有することができる。単一ラインの深さ情報を使用する走査システムは、それらが垂直に走査する場合にはより低速であり、かつ/またはこの走査システムは、それらがほとんど情報を取得しない理由で、ロバスト性がより低い場合がある。追加の例においては、前方平面モデル化は、台車荷降ろしの際に選別するための次のグループの物体までの距離を確定することができる。
[0044] さらなる例においては、ロボットアーム102には、デジタル吸着グリッドグリッパなど、グリッパ104が装備され得る。そのような実施形態においては、グリッパは、遠隔感知もしくは単一の点距離測定のいずれかによって、および/または吸着が達成されたかを検出することによって、オンもしくはオフにされ得る1つまたは複数の吸着弁を含むことができる。追加の例においては、デジタル吸着グリッドグリッパは、連結式延長部を含むことができる。いくつかの実施形態においては、レオロジー流体または粉末により吸着グリッパを作動させる可能性は、曲率の高い物体に対するさらなる把持を可能にすることができる。
[0045] いくつかの実施形態においては、グリッパは、可能性として、いくつかの箱または物体に及び、カバーされた物体のうちの一部または全部に対する吸着をオンにすることが可能であり得る。いくつかの実施形態においては、吸着または密着装置は、「デジタル(digital)」グリッドとすることができ、それにより、ロボット装置は、感知された箱に適合することになる任意の数の吸着装置をオンにして、つかむことが可能になる。いくつかの実装形態においては、システムは、箱同士の継ぎ目(隣接し合う箱間の分離)に気付くことができ、それにより、吸盤が、両方の箱を一度に持ち上げるように、継ぎ目の両側に作動可能になり、それによって、スループットが倍増される。いくつかの実施形態においては、吸盤は、吸盤が、首尾よく表面を把持することができるかどうかを一定量の時間後に感知することができ、その後、吸盤は、自動的に遮断することができる。さらなる実施形態においては、吸盤の部分が、箱の上部を握持するように折り畳むことができる。例として、グリッパは、最初は、完全伸展から開始し、次いで、把持されている表面に合わせることができる。
[0046] さらなる例においては、ロボットアームは、小刻み動作を実装して、吸着把持を向上させることができる。追加の実施形態においては、ロボットアームは、箱をその周囲から区分する助けになるように、箱を左右に小刻みに動かすことができる。他の実施形態においては、アームは、他の物体を押しのけるのを回避するように、箱を持ち上げると同時に小刻みに動くことができる。そのような実施形態においては、物体に密着して、吸着を用いてそれを待ち上げようとするとき、ロボットアームは、物体に対して固い封止を行うのに小刻み運動を採用することができる。さらなる例においては、ロボットアームは、ロボットアームが、物体を持ち上げているとき、物体を小刻みに動かすことができ、それにより、箱は、他の品物との摩擦接触または重複接触をより穏やかに断つことができる。このことは、物体をあまりにも直接的に、またはあまりにも急速に引き上げることにより、他の品物が宙に投げ上げられることになる状況を回避する助けになり得る。
[0047] 様々な実施形態によれば、段ボール箱は、吸着装置が密着するのを難しくさせる凹面、凸面、またはそうでなければ、しわ加工の面を有する場合がある。したがって、吸着装置が吸着接触すると、この装置を小刻みに動かすことにより、段ボール箱および他の平坦でない物体に対する、より信頼性の高い把持を可能にすることができる。さらなる例においては、まず、箱をつかむとき、いくつかの中心吸着装置がオンになることができ、アームは、アームが箱を引き抜き始めるとき、前後に小刻みに動くことができる。これは、他の箱との表面密着を断ち、箱を引き抜き始める助けになり得る。一旦、箱が少なくとも部分的に引き抜かれると、次いで、箱は、他の箱からより容易に区分され得る。いくつかの実施形態においては、乱雑な中の物体を持ち上げながら小刻みに動かすことにより、持ち上げられた物体から他の物体を引き離すことができ、それによって、周囲の物体の望ましくない持ち上げが防止される。
[0048] 様々な実施形態によれば、品物の区分は、首尾よく握持するために必要であり得る。いくつかの実施形態においては、平滑表面パッチが、2つの別個の物体に属していることができる。そのような例においては、物体とのマニピュレータ相互作用が、物体を互いとより良く区分するために、そのシーンに摂動を与えるのに使用され得る。運動分離の場合、コンベヤ上の、スライド上の、荷物の中で動く、および/もしくは荷物の中で活発に押し合う、物体の自然なまたは強制的な移動は、物体区分けを促進するために立体深さを計算するように、光学フロー、視差、または時間遅延ビューによって追跡され得る。
[0049] 他の例においては、感知システムによって使用されるセンサのうちの1つまたは複数が、深さ感知装置に見当合わせされるRGBaD(RGB+active Depth:RGB+アクティブ深さ)カラーまたはモノクロのカメラとすることができ、この深さ感知装置は、カメラ、または複数のカメラと、知られているオフセットパターンプロジェクタとの間の深さ三角測量を可能にするために、パターンをシーンの中に投影するなどのアクティブビジョン技法を使用する。このタイプのセンサデータは、ロバストな区分けを可能にする助けになり得る。様々な実施形態によれば、バーコードなどのキュー、テクスチャ一貫性、カラー、3D表面特性、または表面上の印刷されたテキストはまた、物体をどこにおよび/またはいかに配置すべきであるかを知るために、物体を識別し、かつ/またはその姿勢を見出すのにも使用され得る(たとえば、物体を取付容器に合わせて)。いくつかの実施形態においては、陰影またはテクスチャの差が、同様に物体を区分するのに採用され得る。
[0050] ロボット装置100の機能のうちの多くまたはすべては、制御システム140によって制御可能であり得る。制御システム140は、メモリ146など、非一時的コンピュータ可読媒体に記憶された命令144を実行する少なくとも1つのプロセッサ142(少なくとも1つのマイクロプロセッサを含むことが可能であり得る)を含んでよい。制御システム140はまた、分散方式でロボット装置100の個々の構成要素またはサブシステムを制御するように働くことができる複数のコンピューティング装置を表すことができる。
[0051] いくつかの実施形態においては、メモリ146は、図1A〜図1Bに関係して上述した機能を含む、ロボット装置100の様々な機能を実行するようにプロセッサ142によって実行可能な命令144(たとえば、プログラム論理)を含んでいることができる。メモリ146は、同様に、機械システム120、センサシステム130、および/もしくは制御システム140のうちの1つまたは複数にデータを送る、1つまたは複数からデータを受け取る、1つまたは複数と相互作用する、かつ/あるいは1つまたは複数を制御するための命令を含む、追加の命令を含んでいてよい。
[0052] 様々な実施形態によれば、知覚誘導型ロボットが説明される。例として、ロボット装置は、知覚と計画との一緒の組合せを利用して、箱を持ち上げ、箱が納まる必要があるところに箱を配置するようにロボットアームを誘導することができる。図2Aは、例示的な実施形態による、箱の積み重ねを含む図1Aからのロボット装置の一部を示している。図示のように、ロボット装置は、上述した把持構成要素104、センサ106および108、ならびにコンベヤ110とともにロボットアーム102を含むことができる。いくつかの例においては、ロボット装置は、図1Aに関して説明したホロノミックカートに実装され得ることも、異なるタイプの可動機器に実装され得ることも、レールもしくは台車に実装され得ることも、または固定とできることもあり得る。ロボット装置は、異種混合の箱の形状およびサイズを含んでいる箱の積み重ね220から箱を選別するように制御され得る。
[0053] 諸例の中で、箱を持ち上げるための計画または戦略を発展させるために、2Dおよび/または3Dにおける物体のモデルを含む仮想環境が、確定および使用可能である。いくつかの例においては、ロボットは、図2Bに示されているように、1つまたは複数のセンサを使用して、物体を含んでいる環境を走査することができる。ロボットアーム102が移動するにつれて、アーム上のセンサ106が、個々の箱の形状および/または位置を確定するために、箱の積み重ね220についてのセンサデータを取り込むことができる。追加の例においては、3D環境のより大きい画像が、個々の(たとえば、3D)走査からの情報を統合することによって構築され得る。これらの走査を行うセンサは、ロボットアーム上、および/または他の場所における定位置に配置され得る。様々な実施形態によれば、走査は、いくつかの相異なる技法のうちのいずれかまたはすべてに従って構成および使用され得る。
[0054] いくつかの例においては、走査は、1つまたは複数の3Dセンサが実装されているロボットアームを移動させることによって行われ得る。アーム位置からのフィードバックが、センサが位置決めされているところについての姿勢情報を提供することができ、統合の助けになるように使用され得る。代わりに、または加えて、走査は、1つまたは複数の2Dセンサを使用して、例として、環境の中の運動を活用し、主要点を追跡することによって行われ得る。さらなる例においては、走査は、所与の場をカバーする視野(FOV)を有する固定マウントカメラからのものとすることができる。追加の例においては、走査は、きめ細かい姿勢推定の助けになるように視覚的に見当合わせされ得、可能性として、より優れた統合結果が与えられる。
[0055] さらなる例においては、仮想環境が、3D容量または表面モデルを使用して、(たとえば、相異なるセンサからの)情報を統合するために構築され得る。これにより、たとえば、1つのセンサでは、大きい環境をカバーするのに不十分な可能性がある場合に、システムが、より大きい環境内で動作することを可能にすることができる。そのような技法はまた、取り込まれる詳細レベルを向上させる場合があり、それは、ロボット装置が、様々なタスクを行う助けになり得る。具体的には、情報を統合することにより、(たとえば、雑音レベルを引き下げることによって)単一の走査単独からよりもきめ細かい詳細を生み出すことができる。このことは、より優れた物体検出、表面選別、または他の用途を可能にすることができる。
[0056] さらなる例においては、広角環境再構成が、環境を感知すること、およびその情報を単純な数学的3D幾何学的形態(たとえば、平面、円柱、円錐、半球など)の単純化された幾何学的モデルで取り出すことによって行われ得る。いくつかの事例においては、そのような技法は、運動計画をより容易にすることができ、かつ/またはモデルの違反(たとえば、衝突)を検出することを容易にすることができる。あるいは、または加えて、そのような技法は、パラメトリック記述が、環境を拡張することを可能にすることができる。例として、地面は、それを遮断する物体の背後に延びる平面として扱われ得る。
[0057] 追加の例においては、環境の中の平面または他の数学的表面は、3Dで取り出され得る。これらの知られている「理想的な(ideal)」表面検出は、環境のより正確なモデルに組合せ可能である。例として、平面は、衝突を回避するために、壁(またはその数学的記述)および他の障害物の完全範囲を確定し、対象の物体がどこにあるのかを検出するのに使用され得る。また、物体の数学的表現は、人が、環境内に入ってきたときなど、変則を探すのにも使用され得る。そのような事象は、理想的なモデルに違反し得、それにより、それらの事象の検出がより容易になり得る。
[0058] 他の例においては、箱などの特定の物体は、単純な平坦形態を有し得る。例として、金属は、円柱という幾何学的形態を有し得、タイヤは、輪環体という幾何学的形態を有し得る。例示的なシステムは、ある物体のこの形質を活用して、それらをモデル化するために、かつ/または物体についての計画をいかに示すかを確定することができる。例として、ある形状の知られているテンプレートは、特定の形状に一致するように見える検出された物体フィーチャを環境内で精緻化するのに使用可能である。
[0059] いくつかの例においては、2Dおよび3Dの情報は、1つまたは複数のファサードを介して、少なくとも一部、表現され得る。ファサードは、物体の組を含んでいる平坦に近い構成と定義され、深さマップ(たとえば、第3の寸法としての2D距離マップ)として表現され得る。ファサードの例には、台車の中の箱の壁、箱もしくは他の物体を含んでいるパレット積み重ねの上部、または入り乱れた物体のビンの上部が含まれ得る。
[0060] さらなる例においては、ファサードは、例として、箱がどの順序で持ち上げられるべきであるかにおいて計画するために、箱から構成され得る。例として、図2Cに示されているように、箱222が、持ち上げるべき次の箱として、ロボット装置によって識別され得る。箱222は、センサ106および108など、1つまたは複数のセンサによって収集されるセンサデータに基づいて構成される箱の積み重ね220の前方壁を表すファサード内で識別され得る。次いで、制御システムが、箱222が選別すべき次の箱であることを、可能性として、その形状、およびサイズ、箱の積み重ね220の上部におけるその位置に基づいて、かつ/または箱の標的コンテナもしくは場所の特色に基づいて、確定することができる。次いで、ロボットアーム102は、グリッパ104を使用して、箱222を持ち上げ、かつコンベヤベルト110上に箱222を配置するように(たとえば、箱222を保管エリア内に運搬するように)制御され得る。
[0061] 追加の例においては、ファサードが、3D表面情報の正投影として表現され得る。この表現により、ファサードの構文解析が、特定の用途について関心のあるエリアを確定することを可能にすることができる。たとえば、台車の荷降ろしの際、選別すべき次の箱の左上隅部は、ファサード表現に基づいて確定され得る。他の例においては、統合された3D環境の正投影が、用途関係のタスクを行うための広いFOV、容易に構文解析される表現を与えるように確定され得る。1つのそのようなタスクは、選別すべき箱の隅部または複数の隅部(たとえば、左上)を見出すこととすることができる。別のそのようなタスクは、ビンから物体を選別するための優れた表面(たとえば、相対的に平らで、大きい)を見出すことを含むことができる。
[0062] さらなる例においては、箱の積み重ねの3Dモデルが、積み重ねまたはパレットに/から、箱を積み込む/荷降ろしするための進捗を計画し、追跡する助けになるように、一モデルとして構成および使用され得る。ファサードの任意の1つの実際のカメラビューが、ビュー遮蔽および射影ひずみの観点から悩まされることがある。したがって、ロボットアーム移動による複数のRGBDビューおよび/またはカートベースもしくは固定場所からの相異なるビューが、選別されることになる箱の単一のファサードを作り出すために組合せ可能である。
[0063] 他の例においては、3Dモデルは、衝突回避に使用され得る。諸例の中で、衝突のない軌道を計画することは、環境の中の物体および表面の3D場所を確定することを含み得る。軌道オプティマイザは、環境再構成によって提供される3D情報を用いて、障害物の存在下で経路を最適化することができる。さらなる例においては、オプティマイザは、リアルタイムに働くことができ、多くの種類の制約を受け入れることができる。そのような制約の一例として、オプティマイザは、軌道全体を通じてエンドエフェクタレベルを維持しようと試みることができる。
[0064] 追加の例においては、環境が、3D点のメッシュおよび組として取り込まれ得る。ロボットアームが、迅速な衝突チェッキングのための平面区分の凸包として表現され得る。環境の持続的または頻繁な更新は、ロボットアームが、変化に迅速に応答することを可能にすることができる。さらなる例においては、オプティマイザが、その経路全体を通じて、頻繁な連続的衝突チェッキングを行うことができる。オプティマイザは、たとえば、物体から一定の距離、離れているように、または所与の角度から目標位置に接近するように、代償形態で恣意的な制約を受け入れることができる。加えて、オプティマイザは、ジョイント空間で働くこと、終結を追跡すること、および複数の逆運動学ソリューションの中から目標位置を選択することによって、ロボット故障状態を回避することができる。運動計画に向けた1つの戦略は、選択された目標ジョイント位置が次の動きに受入れ可能になるかどうかを知るために、前もっていくつかの動きを注視することを含み得る。
[0065] いくつかの実施形態においては、ロボットアーム、カメラ、ケーブル、および/または他の構成要素に対する、衝突回避などの経路制約は、制約ベースの計画ソルバに入れられ、知覚に向けてアームを移動させるように最良の経路を生み出すために解決され得る。加えて、いくつかの実施形態においては、ソルバは、物体を持ち上げる、移動させる、および配置するための最良の経路を確定することができる。
[0066] 様々な実施形態によれば、3Dセンサおよび/または視覚センサは、作業空間に対してそれらの姿勢を確定するために較正され得る。固定式センサの場合には、較正は、作業空間におけるそれらの固定された姿勢を確定することができる。アーム上にあるセンサの場合には、較正は、それが取り付けられているアームリンクからのセンサのオフセット姿勢を確定することができる。
[0067] 諸例の中で、較正技法により、作業空間における恣意的な数のセンサの較正が可能になり得る。較正は、多様なパラメータおよび係数のうちの一部またはすべてを確定することを含み得る。たとえば、較正は、焦点長および画像中心などの1つまたは複数の内因性パラメータについて解決することができる。別の例示的な例として、較正は、半径および接線ひずみのモデルなどの1つまたは複数のひずみ係数を確定することができる。さらなる別の例として、較正は、1つまたは複数の外因性パラメータについて解決することができ、この場合、物体は、あるパターンに相対的なあるシーンの中、またはあるシーンの中の同じパターンを識別した他のセンサの中にある。
[0068] いくつかの例においては、較正は、2Dまたは3Dにおけるフィーチャの知られている組とすることができる較正パターンを使用することによって、少なくとも一部、行われ得る。例として、知られているドットパターンが、使用可能であり、この場合、各ドットと他のドットとの間の距離は、知られている。較正は、物体の複数の相異なるビューを収集することによって、少なくとも一部、行われ得る。さらなる例においては、相異なる位置で較正パターンの複数のビューを取り込むことにより、(1)カメラの1つまたは複数の係数を較正すること、および/あるいは(2)カメラが、較正パターンが固定されたところによって確立される座標系に相対的であるところについて知ることを可能にすることができる。特定の実施形態においては、アーム上のカメラが、シーンの中の較正パターンを識別すると同時に、シーンの中のカメラは、ロボットアーム上の較正パターンを識別することができる。
[0069] 追加の例においては、較正は、シーンの中に固定されたカメラを含み得る。この場合には、較正パターンが、ロボットアームにおいて配置され得る。ロボットアームは、ロボットアーム上の較正パターンの複数のビューが収集されると、シーンを通って移動するように構成され得る。これは、カメラを較正する助けになり得、かつ/またはカメラの座標系をロボットの座標系に関係付けるのに有用であり得る。さらには、各装置の、他の装置との関係は、ロボットアームが移動するとき、各装置によって確定され得る。
[0070] 特定の例においては、較正は、ロボットアームにおいて設置されたカメラを含み得る。較正パターンが、壁または台に実装され得る。次いで、カメラは、動き回ることができ、相異なるロボットのまたはロボットアームの位置から、較正パターンの複数のビューが収集される。相異なる3Dまたは2Dのビュー(たとえば、2、20、200)が収集されるとき、これらのビューは、較正関係について解決するのに使用され得る。較正後、アーム上のカメラが移動するとき、システムは、シーンの中の較正パターンの場所に基づいて座標系組に相対的であるところを確定することができる。特定の実施形態においては、較正パターンとカメラとの両方は、可動とすることができる。たとえば、較正パターンは、ロボットアームが、箱を配置するように構成され得るところのコンベヤベルトにおいて設置され得る。較正後、システムは、カメラがコンベヤベルト上のそのスポットに相対的であったところを確定することができる。
[0071] さらなる例においては、非線形最適化が、3Dセンサ較正のロバストな推定のための2段階工程で行われ得る。1つの段階においては、初期化が、標的およびセンサの相対的な姿勢オフセットから導き出され得る。別の段階においては、この初期化を所与として、バッチ束調整が、標的点と一緒にカメラの最適姿勢を見出すのに使用され得る。較正は、ジョイント長およびジョイント角度のオフセットなどのロボットパラメータの推定まで拡張可能である。
[0072] 他の例においては、較正パターンに対するカメラの、知られている精密なロボット運動、またはカメラに対する較正パターンが、較正結果を向上させるのに使用され得る。例として、精密な、カメラがいかに移動するかについての情報は、より正確なカメラ較正を取得するのに使用され得る。つまり、カメラが、50mm右に移動する場合、較正物体からの対応する(透視投影)量の移動が、検出され得る。この情報は、較正および追跡パラメータを共にまたは別個に最適化するのに使用され得る。
[0073] 追加の例においては、ロボットは、より優れた較正に向けて情報を最大限に高めるようなやり方で、その進行中の較正を注視し、移動することができる。たとえば、ロボットは、いくつかのビューエリアが見られていないことを検出し、それらのビューに進まないことができる。
[0074] さらなる例においては、大まかには、乱雑な収集エリアから画定されたビンまで、異種の分類別の品物の実践的な操作についてのシステムが提示される。いくつかの実施形態においては、品物を含んでいる選別場所は、精密な物体の向きに敏感でなくてよく、品物は、一緒に混ぜ合わせられ得る。追加の例においては、品物の配置場所は、物体の向きに敏感であっても、または敏感でなくてもよい。いくつかの例においては、選別および配置領域は、何らかの公差を伴って、物体を選別する、または配置するのに許容可能な3D領域と定義され得る。選別および配置領域は、類似および/または異質の物体により非常に乱雑になっている場合がある。他の実施形態においては、品物は、整理された品物を特定の向きで保持する金属またはプラスチックの留め具など、固定具から出てくる場合も、または固定具に入れられる場合もある。
[0075] 追加の例においては、選別および配置場所の両方の環境モデル化が、知的な握持場所および運動、ならびに事象報告(たとえば、配置領域が埋まっている、または選別領域が空であるとき)に使用され得る。いくつかの例においては、物体有界容量は、コンピュータ計算され得、かつ/または物体の特徴的なフィーチャが見出され得る(テクスチャ、カラー、バーコード、またはOCRなど)。いくつかの実施形態においては、物体は、物体タイプまたは物体IDによってインデックスが付された場所割当てのデータベースに対して照合することによって、割り当てられた行き先場所の中に保管され得る。例として、物体の場所は、バーコードを読み取ること、物体のサイズを考慮することから、および/または特定の種類の物体を認識することによって導き出され得る。
[0076] いくつかの例においては、ロボット装置についての計画が、物体についての標的場所内での物体の特定の構成を達成するために確定され得る。例として、パレットを積み込む/荷降ろしする、または構成/分解するための目標は、1)箱間に最小限の空隙を含んだ高密度のパッキング、および/または2)容易に倒壊しない安定したパッキングを達成することとすることができる。いくつかの実施形態においては、安定性には、概して、重い物体が底部にあり、軽い物体が上部にあることが要求され得る。他の例においては、パレットは、織り合わさっていない柱状積み重ね、柱状傾き、または不良な積み重ねの他の特色を回避するために創出され得る。
[0077] さらなる例においては、パレットまたは台車/コンテナは、後続の荷降ろし工程において、人間オペレータによる仕事が、最小限に抑えられるように積込み可能である。例として、いくつかの実施形態においては、品物は、荷降ろしされると、1番目に必要な品物が上部にあり、2番目に必要な品物が下の層にある等々のように、後入れ先出し順序で配置され得る。他の例においては、パレットの積込みは、いかにして品物がパッキングセルに向かって流れるかということとは無関係であってよい。したがって、いくつかの実施形態によれば、システムは、ランダムな順序で、またはあらかじめ知られている順序で送られたパッケージを取り扱うことができる。加えて、いくつかの実施形態においては、システムは、オンザフライで品物の流れの変更に適応することができる。さらなる例においては、1つまたは複数の箱が、記録され得、一時的な保管エリアに箱を保持することによって緩衝物となり得、この場合、それらの順序は、途中で変更可能である。
[0078] 様々な実施形態によれば、2Dシミュレータおよび/または3Dシミュレータが、台車もしくはコンテナ積込み/荷降ろし、またはパレット積込み/荷降ろしに利用され得る。いくつかの例においては、箱の積み重ねの状態は、物理的世界において取り込まれ、シミュレータ内に入力され得る。いくつかの実施形態においては、1つの箱からすべての箱まで、箱の可変サイズ待ち行列が、選別すべき次の箱を見出すために、シミュレータによって使用され得る。たとえば、2つの箱、もしくは4つの箱、または10個の箱の待ち行列が、シミュレータによって考慮され得る。
[0079] さらなる例においては、シミュレータは、最良の箱配置を見出すために、ヒューリスティックアルゴリズムによって、および/または総当たりもしくはマルチ分解能の検索によって、待ち行列における箱にわたって検索することができる。いくつかの実施形態においては、システムは、以前のより粗いレベルで見出された最良な箇所を中心にして箱を徐々にきめ細かく配置しながら歩進することができる。いくつかの実施形態においては、一旦、特定の次の箱の配置が確定されると、物理プランナが、箱を確定された場所に効率的に移動させるための運動計画に使用され得る。さらなる例においては、物理的およびシミュレーションされた積み重ねは、積み重ねの品質(たとえば、密度、安定性、および/または順序配置)について連続的に監視され得る。いくつかの例においては、工程は、すべての箱が、配置完了するまで、または標的コンテナが、これ以上、別の箱に合うことができなくなるまで、繰返し可能である。
[0080] 図3は、例示的な実施形態による、ロボット装置が物体を移動させるための軌道の確定を可能にすることができる方法300を示すフローチャートを示している。方法300は、図1A〜図1Bに関して示され、説明されるように、1つまたは複数のセンサを備える移動可能なカートに実装されたロボットアームを含む装置など、上述の任意のロボット装置を使用して遂行され得る。他の例においては、方法300は、異なるタイプの可動機器上に、レールもしくは台車上に、または固定場所に実装されたロボットマニピュレータを使用して遂行され得る。さらなる例においては、方法300の一部またはすべてが、ロボット装置において設置された、および/またはロボット装置と遠隔に通じている、1つまたは複数の制御システムによって行われ得る。加えて、単一のロボットアームによる例が説明され得るが、様々な代替の実施形態には、任意の数のロボットアームが含まれていてよく、または少なくとも1つのロボットマニピュレータと統合された他の自動システムが含まれていてよい。
[0081] さらには、本明細書に説明のフローチャートと関係して説明される機能は、特殊機能および/または設定済みの一般機能のハードウェアモジュール、特殊論理機能を達成するためのプロセッサによって実行されるプログラムコードの一部分、確定事項、ならびに/または図3に示されているフローチャートと関係して説明される工程として実装され得ることに留意すべきである。プログラムコードは、使用される場合、たとえば、ディスクまたはハードドライブを含むストレージ装置など、任意のタイプのコンピュータ可読媒体において記憶され得る。
[0082] 加えて、図3に示されているフローチャートの各ブロックは、工程における特殊論理機能を行うためにワイヤ接続される電気回路を表すことができる。別段の指示がない限り、図3に示されているフローチャートにおける機能は、説明した方法の全体的な機能性が維持される限り、関与する機能性に応じて、別個に説明される機能の実質的に並行実行を含んで示される、もしくは論じられるものからの順序から外れて、またはいくつかの例においては、逆の順序でも実行可能である。
[0083] 図3のブロック302によって示されているように、方法300は、最初に、ロボットマニピュレータのエンドエフェクタにより、物体を移動させるための複数の可能な軌道を確定することを含むことができる。より具体的には、可能な軌道は、相異なる可能な物体測定結果に基づいて確定され得る。いくつかの例においては、相異なる軌道は、単一の物体特性の相異なる可能な値または範囲の値について確定され得る。例として、軌道に影響を及ぼす可能性がある物体特性は、物体の寸法、サイズ、形状、質量、重心、および/または慣性マトリクスを含む。さらなる例には、軌道は、同様に2つ以上の相異なる特性の測定結果の相異なる可能な組合せについて確定され得る。
[0084] 様々な実施形態によれば、軌道は、相異なる可能な目的を達成するために、および/またはロボットによって使用される特定の軌道側面を最大限に高める、もしくは最小限に抑えるために、相異なる物体測定結果に基づいて確定され得る。例として、軌道は、ロボットのグリッパが、物体を落とさないように確実にする一方、特定の場所に物体を移動させるのに必要な時間量を最小限に抑えるように確定され得る。さらなる例においては、別の目的は、物体に関わる衝突を生じさせることなく、物体を移動させるための軌道を確定することである。他の例においては、ロボットのエンドエフェクタの経路、対応する速度曲線、および/または対応する加速度曲線は、相異なる物体測定結果に基づいて確定され得る。さらなる例においては、軌道は、(たとえば、物体を運搬するのに必要とされる時間を最小限に抑えるために)入力として相異なる可能な物体測定結果を使用して、制約された最適化問題を解決することによって確定され得る。
[0085] 追加の例においては、物体を運搬するのに使用される軌道の終点は、相異なる物体特性に基づいて確定され得る。たとえば、物体の落下場所は、(たとえば、物体が標的落下場所内に確実に収まるように)物体のサイズおよび/または寸法に基づいて確定され得る。さらなる例においては、形状または質量などの他の物体特性が、同様に、または代わりに、落下場所を確定するのに使用され得る。
[0086] いくつかの例示的な実施形態においては、軌道のうちの1つまたは複数は、物体を持ち上げることに先立って確定され得る。例として、相異なる可能な物体測定結果についての軌道は、追加のオンザフライ軌道計画によって生じ得る遅延を回避するために、物体を持ち上げる数分前または数秒前に確定され得る。いくつかの例においては、相異なる軌道は、特定の特性(たとえば、軽い箱、または重い箱)についての物体測定結果の相異なる可能な範囲について確定され得る。さらなる例においては、異なる軌道が、2つ以上の相異なる特性(たとえば、重く小さい箱、または軽く大きい箱)のそれぞれについての物体測定結果の相異なる可能な範囲について確定され得る。そのような例においては、可能な軌道の「ツリー」が、確定され得、ツリーの各レベルが、特定の物体特性の相異なる可能な値に対応する。したがって、ツリーの最下位レベルは、2つ以上の相異なる物体特性の値の各可能な組合せについての軌道を含んでいることができる。
[0087] 追加の例においては、可能な軌道の共通の出発点は、軌道を選定するのに使用されるセンサデータが、利用可能である可能性が高いときに基づいて確定され得る。出発点は、(たとえば、物体を保持するロボットのグリッパの)空間における点、および/または特定の時点(たとえば、物体を持ち上げてから5秒後)とすることができる。共通の出発点から出発するように相異なる可能な軌道を計画することによって、ロボットは、軌道を選定するのに使用されるセンサデータが受取り完了する時点で、またはほぼその時点で、選定された軌道の使用を開始することができる。
[0088] 図4A〜図4Eはまとめて、例示的な実施形態による、ロボットが物体を移動させるための軌道の選定を示している。図4Aは、物体を移動させるための相異なる可能な軌道を示している。より具体的には、ロボットアーム402は、物体を持ち上げ、移動させるためのグリッパなどのエンドエフェクタ404を有することができる。ロボットアーム402は、いくつかの積み上げられた箱を含んでいるファサード406から、箱408を持ち上げるように(たとえば、制御システムによって)命令され得る。いくつかの例においては、箱408の1つまたは複数の測定結果は、箱408が、ロボットアーム402によって持ち上げられる前には知られていない場合がある。たとえば、図4Aに示されているように、箱408の深さは、箱408がファサード406内に積み重ねられる間(たとえば、箱408が、他の箱または物体によってセンサとは遮蔽される場合)、知られていない場合があり、確定するのは困難または不可能である場合がある。
[0089] いくつかの例においては、2つ以上の起こり得る可能な測定結果、または測定結果の範囲を予測することが可能な場合がある。例として、1つの例においては、箱408は、大まかには、立方体形状であっても、または長方形であってもよい。箱410は、箱408の1つの可能な深さを示し、箱414は、箱408の別の可能な深さを示している。さらなる例においては、箱深さの3つ以上の相異なる可能な測定結果が使用可能である。他の例においては、質量または重心などの追加の知られていない特性が、同様に、または代わりに使用され得る。
[0090] 第1の軌道412が、第1の可能な箱深さ410に基づいて箱408を移動させるために確定され得る。第2の軌道416が、第2の可能な箱深さ414に基づいて箱408を移動させるために確定され得る。いくつかの例においては、軌道412および416は、ロボットアーム402のエンドエフェクタ404に、箱408を落とさずに、箱408を移動させるように確定され得る。他の例においては、相異なる軌道が、予測された箱サイズに基づいて衝突を回避するために確定され得る。例として、箱形状414を箱形状410よりも宙に高く上方に移動して、ファサード406内の他の箱に対する強打、またはそうでなければ衝突を回避する必要がある場合がある。
[0091] いくつかの例においては、エンドエフェクタ404および/または箱408についての空間を通る経路(たとえば、自由度が6度)は、軌道412および416について確定され得る。他の例においては、経路に対応する速度および/または加速度の曲線が、同様に確定され得る。例として、エンドエフェクタ404に、箱を、移動中に落とさずに、箱形状414よりも高速で箱形状410を移動させることが可能である場合がある。
[0092] さらなる例においては、可能な軌道のうちの一部またはすべてが、ロボットアーム402が、箱408を持ち上げた後、確定され得る。たとえば、経路計画構成要素を含む制御システムは、箱特性についての情報が、受け取ったセンサデータに基づいて利用可能になると、オンザフライで軌道を確定し、かつ/または修正するのに使用され得る。
[0093] 1つの例においては、第1の保守的な軌道が、箱を持ち上げた後、最初の期間中に使用され得る。保守的な軌道は、任意の予測された、または可能性が高い箱測定結果について使用するには(たとえば、衝突または箱の落下を回避するために)安全であり得る。たとえば、軌道416は、箱サイズ414と箱サイズ410との両方について働くことになる保守的な軌道とすることができる。いくつかの例においては、より積極的な軌道が、使用され得る(たとえば、より小さい箱は、より高速で移動可能である)ことを示すセンサデータは、後に、受取り可能である。例として、軌道412は、箱サイズを示すセンサデータの受取り後、後の時点で確定される、より積極的な軌道とすることができる。さらなる例においては、軌道は、より多くのセンサデータが受け取られる複数の時点で確定および/または精緻化され得る。
[0094] 図3に戻って参照すると、方法300は、ブロック304によって示されているように、ロボットマニピュレータに、エンドエフェクタを用いて物体を持ち上げさせることをさらに含み得る。いくつかの例においては、エンドエフェクタは、物体に取り付け、ロボットマニピュレータ(たとえば、ロボットアーム)が軌道を通って物体を移動させることを可能にする吸着グリッパなど、グリッパを含むことができる。さらなる例においては、物体を移動させることができる相異なるタイプのグリッパまたはエンドエフェクタが、同様に使用されてもよい。
[0095] 図4Bは、例示的な実施形態による、図4Aからのロボットによる物体の持ち上げを示している。より具体的には、ロボットアーム402は、箱のファサード406から箱408を引き上げるために、箱408にわたってその吸着グリッパ404を位置決めするように制御され得る。ここに示されているように、いくつかの例においては、深さセンサが、センサデータを収集して、物体の1つまたは複数の寸法を確定することを可能にするために、物体は、一定量、移動することが必要な場合がある。例として、箱408は、その垂直深さが、箱のファサード406内で他の箱によって遮蔽されないよう十分に大きく引き上げられる必要がある場合がある。
[0096] 図3に戻って参照すると、方法300は、ブロック306によって示されているように、物体の1つまたは複数の測定結果を示す、1つまたは複数のセンサからのセンサデータを受け取ることをさらに含み得る。より具体的には、ロボットマニピュレータに、(たとえば、吸着グリッパを用いて)物体を持ち上げさせた後、データは、1つまたは複数のセンサから受取り可能であり、このセンサには、視覚センサ、深さセンサ、真空センサ、および/または力トルクセンサなどの相異なるタイプのセンサの組合せが含まれ得る。さらなる例においては、センサデータは、持ち上げ後、物体移動の最初の「システム識別」相の間に受取り可能である。いくつかの例においては、物体は、センサデータ収集を容易にするような形で、システム識別相の間に位置決めされ、または誘導され得る。他の例においては、物体は、同様にセンサデータが受け取られている間、単に、落下場所に向けて計画された経路の最初の部分を通って移動することができる。
[0097] いくつかの例においては、1つまたは複数の深さセンサもしくは視覚センサが、ロボットアームに実装され得、またはそうでなければ位置決めされ得る。ロボットアームが、物体を把持し、持ち上げるために移動すると、アーム上センサが、物体の寸法、サイズ、および/または形状を推定するためにセンサデータを収集することができる。いくつかの例においては、アーム上センサのみの使用では、物体の1つまたは複数の寸法を確定することができない場合がある。例として、物体の1つまたは複数の側面もしくは面が、ロボットの一部によって、または環境内の他の物体もしくは物によって、アーム上センサとは遮蔽される場合がある。そのため、いくつかの例においては、1つまたは複数のアーム上センサからのセンサデータと、環境内で位置決めされた1つまたは複数のアーム外視覚センサもしくは深さセンサからのセンサデータとを組み合わせることは有利な場合がある。
[0098] 図4Cは、例示的な実施形態による、図4Aからの物体を測定するためのセンサを示している。より具体的には、ロボットアーム402には、センサ418が装備可能であり、このセンサ418は、深さセンサまたは視覚センサとすることができる。加えて、センサ420および422は、環境内の点に実装され、または位置決めされた深さセンサまたは視覚センサとすることができる。いくつかの例においては、センサ420および422の場所は、アーム上センサ418では検出できない場合がある箱408などの物体の1つまたは複数の寸法を示すセンサデータを受け取るように選択され得る。相異なるタイプのセンサを含む、より多くまたはより少ないアーム上および/もしくはアーム外のセンサの他の組合せもまた可能である。
[0099] さらなる例においては、ロボットアーム420は、最初のシステム識別相の間に、センサ420または422など、1つまたは複数のセンサの前に箱408を移動させるように制御され得る。この相の間、まず、箱408の1つまたは複数の知られていない寸法が、識別され得る。次いで、箱408を移動させるのに使用すべきロボット402についての軌道または経路が、確定され得、それにより、箱408の知られていない寸法は、それらが、1つまたは複数のアーム外および/もしくはアーム上のセンサによって検出可能になるように配向される。さらなる例においては、システムはまた、知られていない箱寸法の推定を可能にすることになるセンサデータが受け取られるときについての推定を確定することができる。いくつかの例においては、この時、またはこの時にロボット402の予測場所は、箱408を移動させるために、ロボット402の軌道を確定するための出発点として使用され得る。
[00100] 追加の例においては、三角測量深さセンサが、ロボットアームのグリッパによって把持される物体など、近くの物体について感知するために、ロボットアームに実装され得る。三角測量深さセンサは、レーザビームプロジェクタ、およびレーザビームプロジェクタから所定のオフセットを伴うカメラを含むことができる。次いで、レーザビームプロジェクタおよびカメラの位置は、カメラがレーザを検出する場合、物体上の点の位置を三角測量するのに使用され得る。さらなる例においては、三角測量深さセンサは、近くの物体を検出する一方、ロボットアーム、またはロボットアームに実装された他の構成要素による遮蔽を回避するために低プロファイルを有することができる。
[0100] 図5は、例示的な実施形態による、三角測量深さセンサを示している。より具体的には、レーザビームプロジェクタ508が、グリッパ504によって把持される箱506の1つまたは複数の寸法における深さ検出を可能にする点でロボットアーム502に実装され得る。加えて、オフセットカメラ512が、レーザビームプロジェクタ508からの知られているオフセットを伴ってロボットアーム502に実装され得る。カメラ512は、箱506上にレーザビームプロジェクタ508によって投影されるレーザビーム510を検出するように構成され得る。レーザビームプロジェクタ508は、箱506上の相異なる点上にレーザ510を投影するように制御され得、レーザビーム510が、これ以上、カメラ512によって箱506に関して検出できない点が確定され得る。レーザビーム510が、レーザビームプロジェクタ508およびカメラ512の位置を使用して、これ以上、検出できない点を三角測量することによって、箱506の縁部、および箱506の対応する深さの推定が、確定され得る。さらなる例においては、三角測量深さセンサは、1つまたは複数の他のアーム上センサ、および/あるいは同様に1つまたは複数のアーム外センサとの組合せで使用され得る。
[0101] 追加の例においては、ロボットには、物体の測定結果を確定する際に補佐するための力トルクセンサが装備され得る。より具体的には、力トルクセンサは、グリッパによって持ち上げられた物体によって生じる力および/またはトルクを検出するために、グリッパの上にロボットアームにおいて位置決めされ得る。物体のいくつかの相異なる特性は、軌道計画の目的で、力トルクセンサによって測定され得、可能性として、質量、重心、質量中心、質量中心がいかに固定しているか、および/または慣性マトリクスを含む。さらなる例においては、力トルクセンサはまた、同様に1つまたは複数の寸法における物体の深さを測定するのに使用され得る。
[0102] 図6Aは、例示的な実施形態による、ロボットアームにおいて位置決めされた力トルクセンサを示している。より具体的には、ロボットアーム602には、物体を持ち上げ、移動させるための吸着グリッパなど、グリッパ604が装備され得る。力トルクセンサ606は、把持された物体によって生じる力および/またはトルクを検出するために、グリッパ604の上の点でロボットアーム602において位置決めされ得る。ロボットアーム602は、グリッパ604を使用して、箱608を把持するように制御され得る。次いで、力トルクセンサ606からのセンサデータは、箱608の特性、たとえばその質量、重心、および/または完全慣性マトリクスなどを確定するために受取りおよび使用可能である。
[0103] さらなる例においては、力トルクセンサはまた、知られていない物体寸法を推定するのにも使用され得る。より具体的には、隣接面と接触した物体の縁部を中心に物体を枢動させることによって、システムは、グリッパが辿る軌道を使用して、物体の縁部から物体の深さを確定することができる。システムは、物体を枢動させる一方、箱の寸法の予備知識なしに、物体の縁部と隣接面との間の接触を維持するために、力制御(たとえば、力トルクセンサから受け取ったデータに基づいて)を使用することができる。次いで、得られたグリッパ軌道の半径は、隣接面と接触した物体の縁部から物体の特定の寸法を示すことができる。
[0104] 図6Bは、物体寸法を確定するために、図6Aからの力トルクセンサの例示的な適用例を示している。具体的には、箱608は、グリッパ604によって把持され得、箱608の縁部が、隣接面612上の接触点610を中心にロボットアーム602によって枢動し得る。物体608によって生じるロボットアーム602上の力を示す力トルクセンサ606から受け取ったセンサデータは、ロボット602が箱608を枢動させると、箱608の縁部が、接触点610での面612との接触を確実に維持するように使用され得る。次いで、グリッパ604が辿る軌道の半径は、隣接面612と接触した物体の縁部から箱608の深さ614を推定するのに使用され得る。
[0105] いくつかの例においては、隣接面612は、地面または床面とすることができる。他の例においては、隣接面612は、そうではなく、箱608が、箱の積み重ねから選別されるときなど、箱608の下に置かれている1つまたは複数の物体の面とすることができる。さらなる例においては、環境内の他の面が、同様に、または代わりに、物体を枢動させるために接触点として使用されてもよい。
[0106] さらなる例においては、物体の縁部を中心に物体を枢動させることの工程は、接触点として物体の1つまたは複数の他の縁部を使用して、物体の1つまたは複数の追加の寸法を確定するように繰返し可能である。
[0107] 追加の例においては、最初のシステム識別相の間に受け取ったセンサデータはまた、誤り訂正にも使用され得る。例として、ロボットは、特定の点で物体を把持することによって、物体を持ち上げるように命令されている場合がある。1つまたは複数のセンサからのセンサデータは、物体が、誤って選別されたこと、および降ろされ、再度持ち上げられる必要があることを示し得る。例として、視覚センサまたは深さセンサのデータは、グリッパが、(たとえば、光学感知または較正における誤りに起因して)ロボットが使用するように命令された物体上の点で位置決めされていないことを示し得る。別の例においては、力トルクセンサは、物体が、一方の側面または他方の側面に向かってバイアスがかけられる想定外の質量中心を有することを示す場合がある。そのような例においては、センサデータから学習される新規情報を知るために、物体を下に戻して置き、それを異なる点で把持することは有利な場合がある。
[0108] 図3に戻って参照すると、方法300は加えて、ブロック308によって示されているように、可能な軌道から物体を移動させるための軌道を選定することを含むことができる。具体的には、センサデータを受け取って、物体の1つもしくは複数の特性の1つまたは複数の測定結果を確定する、あるいは推定した後、軌道は、確定された、または推定された測定結果を含む物体について選定され得る。例として、可能な軌道が、小さい箱、中間サイズの箱、および大きい箱について計画された場合には、箱のサイズを確定した後、対応する軌道が、箱を移動させるために選定され得る。
[0109] さらなる例においては、軌道は、測定結果が相異なるときに確定され得ることに向けて、複数の物体特性に基づいて選定され得る。例として、可能な軌道は、相異なる重量、および相異なる深さを含む物体について計画され得る。重量は、力トルクセンサを使用して物体を持ち上げた後間もなく、確定され得る。深さは、1つまたは複数の深さセンサを使用して後の時点で確定され得る。そのような例においては、一旦、重量が、確定された重量および最も保守的な予測された深さ(たとえば、最も大きい可能性がある箱)に対応して確定されると、1つの軌道が、まず、選定され得る。次いで、物体の深さが確定されたときの後の時点で、確定された重量と確定された深さとの両方に対応する軌道が、選定され、その時点以降から使用され得る。
[0110] さらなる例においては、1つまたは複数の軌道は、同じ時に確定され、選定され得る。例として、1つの例においては、物体は、まず、物体が、最も低速な移動または最も長い可能な経路を要求する測定結果を有すると仮定する保守的な軌道を通って移動することができる。次いで、センサデータが、物体は、相異なる測定結果を有し、それにより、最も高速な移動または最も短い経路が、安全に使用可能になることを示す場合、新規軌道が、オンザフライで確定され得る。そのような例においては、新規軌道は、選定され得、ロボットは、新規軌道が、受け取ったセンサデータを使用して確定されるやいなや、それを使用することに切り替えることができる。
[0111] 図4Dは、例示的な実施形態による、図4Aからの物体を移動させるための選定された軌道を示している。より具体的には、センサデータは、箱408が、(先に示された箱形状414とは対照的に)箱形状410に対応する深さを有することを示すことができる。したがって、軌道412は、ロボットアーム402が、箱408を移動させるのに使用するように選定され得る。さらなる例においては、軌道412は、3つ以上の可能な軌道から選定され得る。追加の例においては、軌道412は、推定された、または確定された箱測定結果に基づいて、所定の軌道からさらに精緻化され得る。
[0112] 図3に戻って参照すると、方法300は、ブロック310に示されているように、ロボットに、選定された軌道を通って物体を移動させることをさらに含むことができる。いくつかの例においては、ロボットは、システム識別相の終了をマークする時点で、選定された軌道に切り替えることができる。さらなる例においては、軌道は、追加の受け取ったセンサデータに基づいて、経路に沿う1つまたは複数の点で修正または調整され得る。いくつかの例においては、追加の修正が、同様に時間または空間の追加的に計画された点で行われてもよい。
[0113] 図4Eは、例示的な実施形態による、図4Dからの選択された軌道を通って物体を移動させることを示している。より具体的には、ロボットアーム402には、選択された軌道412を通って物体408を移動させるようにコマンドが出され得る。ロボットアーム402に、物体を移動させるための命令は、ロボット装置において設置された制御システムによって、遠隔制御システムによって、ならびに/またはオンボードおよび遠隔の制御システムの組合せによって、送信され得る。
[0114] さらなる例においては、物体測定結果および/または選定された軌道についての情報は、今後のロボット制御に向けて記録および使用され得る。たとえば、ある可能な軌道が、計画されるが、めったにロボットによって使用されないことが確定され得、その場合には、それらの軌道を計画する必要がない場合がある。他の例においては、ある計画された軌道が、特定の物体測定結果にはあまり働かないことが確定され得、その場合には、計画された軌道は、今後の使用に向けて修正され得る。他のタイプのマシン学習がまた、同様にロボット装置を使用して、物体を移動させるための軌道計画を精緻化するのに使用されてもよい。
[0115] 本開示は、様々な態様の例示と意図されている、本願に説明された特定の実施形態に関して限定すべきではない。多くの修正形態および変形形態が、当業者には明らかになるように、その趣旨および範囲から逸脱することなく作成され得る。本明細書に列挙されたものに加えて、本開示の範囲内にある機能的に等価な方法および機器は、前述の説明から当業者には明らかになろう。そのような修正形態および変形形態は、添付の特許請求の範囲の中にあることが意図されている。
[0116] 上記詳細な説明は、添付の図を参照して、本開示のシステム、装置、および方法の様々な特徴ならびに機能を説明している。図においては、類似の記号は、別段文脈で指図がない限り、一般的には、類似の構成要素を特定する。本明細書および図に説明される例示的な実施形態は、限定していることを意味するものではない。本明細書に提示される主題の趣旨または範囲から逸脱することなく、他の実施形態が利用可能であり、他の変更形態が作成可能である。本明細書に全体的に説明され、図に示されているように、本開示の態様は、幅広い多様な相異なる構成で、構成されても、置換されても、組み合わせられても、分離されても、設計されてもよく、それらのすべてが、本明細書に明示的に企図されることは容易に理解されよう。
[0117] 上述の方法300のブロックなど、情報の処理を表すブロックは、本明細書に説明の方法または技法の特殊論理機能を実行するように構成され得る電気回路に対応することができる。代替として、または加えて、情報の処理を表すブロックは、プログラムコードのモジュール、セグメント、または一部(関連のデータを含む)に対応することができる。プログラムコードは、方法または技法における特殊論理機能もしくは行為を実装するためのプロセッサによって実行可能な1つまたは複数の命令を含むことができる。プログラムコードおよび/または関連のデータは、ディスクもしくはハードドライブ、または他のストレージ媒体を含むストレージ装置などの任意のタイプのコンピュータ可読媒体上に記憶され得る。
[0118] コンピュータ可読媒体はまた、レジスタメモリ、プロセッサキャッシュ、およびランダムアクセスメモリ(RAM)のような短期間、データを記憶するコンピュータ可読媒体などの非一時的コンピュータ可読媒体を含むことができる。コンピュータ可読媒体はまた、たとえば、読取り専用メモリ(ROM)、光学または磁気ディスク、コンパクトディスク読取り専用メモリ(CD-ROM)のような二次的もしくは永続的長期ストレージなど、より長い時間期間、プログラムコードおよび/またはデータを記憶する非一時的コンピュータ可読媒体を含むことができる。コンピュータ可読媒体はまた、任意の他の揮発性または不揮発性のストレージシステムとすることもできる。コンピュータ可読媒体は、たとえば、コンピュータ可読ストレージ媒体、または有形ストレージ装置と見なしてよい。
[0119] その上、1つまたは複数の情報伝送を表すブロックは、同じ物理装置の中のソフトウェアおよび/またはハードウェアのモジュール間の情報伝送に対応することができる。しかしながら、他の情報伝送が、相異なる物理装置の中のソフトウェアモジュールおよび/またはハードウェアモジュールの間に存在することもある。
[0120] 図に示される具体的な構成は、限定と見なすべきではない。他の実施形態が、所与の図に示されている各要素について、より多くまたはより少なく含み得ることを理解すべきである。さらには、例示される要素のうちのいくつは、組み合わせられても、または省略されてもよい。その上さらには、例示的な実施形態が、図に示されていない要素を含む場合もある。
[0121] 様々な態様および実施形態について、本明細書に説明してきたが、他の態様および実施形態が当業者には明らかになろう。本明細書に開示される様々な態様および実施形態は、例示の目的であり、限定することを意図しておらず、真の範囲は、添付の特許請求の範囲によって示されている。