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