(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-12-19
(54)【発明の名称】ワークフローを満たし衝突を回避するための複数のロボットの連係
(51)【国際特許分類】
B25J 13/08 20060101AFI20221212BHJP
【FI】
B25J13/08 A
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022519116
(86)(22)【出願日】2020-08-21
(85)【翻訳文提出日】2022-05-18
(86)【国際出願番号】 US2020047510
(87)【国際公開番号】W WO2021080677
(87)【国際公開日】2021-04-29
(32)【優先日】2019-10-25
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-03-23
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-06-30
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】521105662
【氏名又は名称】デクステリティ・インコーポレーテッド
【氏名又は名称原語表記】DEXTERITY,INC.
(74)【代理人】
【識別番号】110000028
【氏名又は名称】弁理士法人明成国際特許事務所
(72)【発明者】
【氏名】サン・チョウエン
(72)【発明者】
【氏名】チャベス・ケヴィン・ホセ
(72)【発明者】
【氏名】メノン・サミア
(72)【発明者】
【氏名】スー・ハリー・ツェ
(72)【発明者】
【氏名】モリス-ダウニング・タルボット
(72)【発明者】
【氏名】ピダパーシ・ロイット・アルカ
(72)【発明者】
【氏名】シャーマ・アユッシュ
(72)【発明者】
【氏名】ヴィルト・ラファエル・ゲオルグ
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS04
3C707BS10
3C707FS01
3C707FT02
3C707JS07
3C707JT04
3C707JU12
3C707KS03
3C707KS04
3C707KS33
3C707KS34
3C707KS36
3C707KT02
3C707KT03
3C707KT06
3C707KV15
3C707LS15
3C707LV06
3C707LV08
3C707LV14
3C707LW12
3C707NS02
(57)【要約】
【解決手段】ロボットシンギュレーションシステムが開示されている。様々な実施形態において、作業空間に関連する画像データを含むセンサデータが受信される。センサデータは、作業空間の少なくとも一部の三次元ビューを生成するために用いられ、三次元ビューは、作業空間内に存在する複数のアイテムの境界を含む。把持戦略が、アイテムの少なくとも一部の各々について決定され、各把持戦略について、対応する把持成功確率が計算される。把持戦略および対応する把持成功確率は、作用空間から1または複数のアイテムをピックして、シンギュレーション搬送構造の対応する位置に1つずつ各アイテムをプレースするように、ロボット構造を自律的に動作させるための計画を決定して実施するために用いられる。
【選択図】
図5B
【特許請求の範囲】
【請求項1】
システムであって、
通信インターフェースと、
前記通信インターフェースに接続されているプロセッサと、
を備え、
前記プロセッサは、
前記通信インターフェースを介してセンサデータを受信し、 前記センサデータは、作業空間に関連する画像データを含み、
前記センサデータを用いて、前記作業空間の少なくとも一部の三次元ビューを生成し、
前記三次元ビューは、前記作業空間内に存在する複数のアイテムの境界を含み、
アイテムの少なくとも一部の各々について、対応する把持戦略を決定し、各把持戦略について、対応する把持成功確率を決定し、
前記把持戦略および対応する把持成功確率を用いて、前記作用空間から1または複数のアイテムをピックして、シンギュレーション搬送構造の対応する位置に1つずつ各アイテムをプレースするように、ロボット構造を自律的に動作させるための計画を決定して実施するよう構成されている、システム。
【請求項2】
請求項1に記載のシステムであって、
前記ロボット構造は、ロボットアームを備える、システム。
【請求項3】
請求項2に記載のシステムであって、
前記ロボットアームは、前記1または複数のアイテムを把持するために用いられるよう構成されているエンドエフェクタを備える、システム。
【請求項4】
請求項3に記載のシステムであって、
前記エンドエフェクタは、吸着ベースエンドエフェクタを含む、システム。
【請求項5】
請求項4に記載のシステムであって、
前記吸着ベースのエンドエフェクタは、2以上の別個に作動される吸着カップセットを備え、各セットは、1または複数の吸着カップを備え、前記プロセッサは、1または複数のセットを用いて、所与のアイテムを把持するよう構成されている、システム。
【請求項6】
請求項5に記載のシステムであって、
前記プロセッサは、前記別個に作動される吸着カップセットの内の2以上を用いて、それぞれ、前記作業空間から前記アイテムの内の対応する1アイテムを同時に把持し、前記アイテムの内の第1アイテムの移動先位置へ前記アイテムを一緒に移動させ、前記アイテムを前記シンギュレーション搬送構造における対応する位置にそれぞれ1つずつ連続してプレースするよう構成されている、システム。
【請求項7】
請求項1に記載のシステムであって、
前記シンギュレーション搬送構造は、仕切り付きコンベヤを含む、システム。
【請求項8】
請求項1に記載のシステムであって、
前記プロセッサは、反復的に、センサデータを受信し、前記センサデータを用いて、前記作業空間の少なくとも一部の三次元ビューを生成し、前記作業空間内に存在するアイテムの少なくとも一部の各々について、対応する把持戦略を決定し、各把持戦略について、対応する把持成功確率を決定し、前記把持戦略および対応する把持成功確率を用いて、前記作用空間から次の1または複数のアイテムをピックして、シンギュレーション搬送構造の対応する位置に1つずつ各アイテムをプレースするように、ロボット構造を自律的に動作させるための計画を決定して実施するよう構成されている、システム。
【請求項9】
請求項8に記載のシステムであって、
前記プロセッサは、前記作業空間内にさらなるアイテムが残っていないとの判定に応答して、前記工程を反復的な実行を停止するよう構成されている、システム。
【請求項10】
請求項8に記載のシステムであって、
前記プロセッサは、1または複数のアイテムが前記作業空間内に残っているにもかかわらず、自律的に把持できるさらなるアイテムが存在しないとの判定に少なくとも部分的に基づいて、動作を中断するよう構成されている、システム。
【請求項11】
請求項10に記載のシステムであって、
前記プロセッサは、1または複数のアイテムが前記作業空間内に残っているにもかかわらず、自律的に把持できるさらなるアイテムが存在しないとの判定に少なくとも部分的に基づいて、人的介入を要求するよう構成されている、システム。
【請求項12】
請求項1に記載のシステムであって、
前記プロセッサは、アイテム属性、ならびに、1または複数の他のアイテムによる前記アイテムへの重なりの程度、の内の1または複数に少なくとも部分的に基づいて、前記把持成功確率を決定するよう構成されている、システム。
【請求項13】
請求項1に記載のシステムであって、
前記プロセッサは、アイテムに対して1または複数の候補把持戦略を決定し、各候補把持戦略について把持戦略成功確率を計算し、前記それぞれの計算された把持戦略成功確率を用いて、前記アイテムのために選択された最良の把持戦略を選択するよう構成されている、システム。
【請求項14】
請求項1に記載のシステムであって、
前記作業空間は、シュートまたはその他の容器を備え、前記ロボット構造は、前記作業空間に関連付けられている複数のロボット構造の内の1つを含み、前記プロセッサは、前記作業空間からアイテムをピックアンドプレースするために前記ロボット構造の動作を連係させるよう構成されている、システム。
【請求項15】
請求項1に記載のシステムであって、
前記作業空間は、前記シンギュレーション搬送構造に関連付けられている複数の作業空間に含まれる第1作業空間を含み、各作業空間は、それに関連付けられている1または複数のロボット構造を有し、前記プロセッサは、上述のように、前記作用空間からアイテムをピックして、前記シンギュレーション搬送構造上に1つずつ前記アイテムをプレースするために、各作業空間に関連付けられている前記それぞれのロボット構造を動作させるよう構成されている、システム。
【請求項16】
請求項15に記載のシステムであって、
前記プロセッサは、前記シンギュレーション搬送構造上に1つずつアイテムをプレースする際の全体的スループットを最大化するように、各作業空間に関連付けられている前記それぞれのロボット構造の動作を連係させるよう構成されている、システム。
【請求項17】
請求項16に記載のシステムであって、
前記プロセッサは、さらに、前記シンギュレーション搬送構造上に1つずつアイテムをプレースする際の全体的スループットを最大化するように、前記シンギュレーション搬送構造の動作を制御するよう構成されている、システム。
【請求項18】
請求項15に記載のシステムであって、
前記プロセッサは、さらに、前記シンギュレーション搬送構造上へのアイテムのプレースにおけるエラーを検出して、応答動作を実行するよう構成されている、システム。
【請求項19】
請求項18に記載のシステムであって、
前記応答動作は、下流の作業空間に関連付けられているロボット構造を前記エラーの修正に割り当てることを含む、システム。
【請求項20】
方法であって、
前記通信インターフェースを介してセンサデータを受信する工程であって、前記センサデータは、作業空間に関連する画像データを含む、工程と、
前記センサデータを用いて、前記作業空間の少なくとも一部の三次元ビューを生成する工程であって、前記三次元ビューは、前記作業空間内に存在する複数のアイテムの境界を含む、工程と、
アイテムの少なくとも一部の各々について、対応する把持戦略を決定し、各把持戦略について、対応する把持成功確率を決定する工程と、
前記把持戦略および対応する把持成功確率を用いて、前記作用空間から1または複数のアイテムをピックして、シンギュレーション搬送構造の対応する位置に1つずつ各アイテムをプレースするように、ロボット構造を自律的に動作させるための計画を決定して実施する工程と、
を備える、方法。
【請求項21】
コンピュータプログラム製品であって、非一時的なコンピュータ読み取り可能媒体内に具現化され、
前記通信インターフェースを介してセンサデータを受信するためのコンピュータ命令であって、前記センサデータは、作業空間に関連する画像データを含む、コンピュータ命令と、
前記センサデータを用いて、前記作業空間の少なくとも一部の三次元ビューを生成するためのコンピュータ命令であって、前記三次元ビューは、前記作業空間内に存在する複数のアイテムの境界を含む、コンピュータ命令と、
アイテムの少なくとも一部の各々について、対応する把持戦略を決定し、各把持戦略について、対応する把持成功確率を決定するためのコンピュータ命令と、
前記把持戦略および対応する把持成功確率を用いて、前記作用空間から1または複数のアイテムをピックして、シンギュレーション搬送構造の対応する位置に1つずつ各アイテムをプレースするように、ロボット構造を自律的に動作させるための計画を決定して実施するためのコンピュータ命令と、
を備える、コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
他の出願への相互参照
本願は、2019年10月25日出願の米国仮特許出願第62/926,165号「COORDINATING MULTIPLE ROBOTS TO MEET WORKFLOW AND AVOID CONFLICT」に基づく優先権を主張し(その仮特許出願は、すべての目的のために参照により本明細書に組み込まれている)、2020年3月23日出願の米国仮特許出願第62/993,579号「SINGULATION OF ARBITRARY MIXED ITEMS」に基づく優先権を主張する(その仮特許出願は、すべての目的のために参照により本明細書に組み込まれている)。
【背景技術】
【0002】
荷物流通センターおよびその他の流通センターは、しばしば雑然と任意に混ざった状態で、様々なサイズ、寸法、形状、重量、剛性、および/または、その他の属性を有するアイテムの任意の混合物を受け取りうる。各アイテムは、マシン読み取り可能な情報(テキスト、および/または、光学的またはその他の方法で符号化された情報など)を有する場合があり、情報は、マシンで読み取られ、例えば、自動仕分け/ルーティングシステムおよび/または処理を通じて、アイテムをルーティングするために利用されうる。所与のアイテムのための情報を読み取るために、典型的なアプローチにおいて、アイテムは、「シンギュレーション」として知られる処理によって互いから分離される。
【0003】
典型的には、シンギュレーションは、人間の作業員によって手動で実行されてきた。混ざったアイテムが、例えば、シュート(傾斜台)またはその他の運搬手段によって、作業ステーションに到着し、1組の1人以上の人間の作業員の各々が、アイテムを手動で分離し、コンベヤベルトなどの上に単一のアイテムに対して規定されたスペースにアイテムを配置する。各アイテムに対して、その宛先(または少なくとも次の輸送行程)が、アイテム上の情報をマシンで読み取ることによって決定され、アイテムは、次の行程に関連するバッグ、大箱、コンテナ、または、その他の容器および/または配達車両またはステージングエリアなど、次の行程に関連する移動先にルーティングされる。
【0004】
手動シンギュレーション処理は、労働集約的であり、非効率的でありうる。例えば、上流の作業員が単一アイテムスポットの多くを満たした結果として、下流の人間の作業員にとって、シンギュレートされたアイテムをプレースする位置がほとんどないことがある。全体的スループットが準最適になりうる。
【0005】
シンギュレーションを実行するためにロボットを用いることは、雑然と混ざったアイテムが作業ステーションに到着すること、各作業ステーションおよび全体でアイテムが動的に流れること、ロボットアームおよびエンドエフェクタを用いてアイテムを自動的に識別、把持、分離(シンギュレート)することが困難でありうる結果、に起因して困難な課題である。
【図面の簡単な説明】
【0006】
以下の詳細な説明および添付の図面において、本発明の様々な実施形態を開示する。
【0007】
【
図1】流通および配達に向けてアイテムを受け取り、仕分けし、輸送するための処理の一実施形態を示すフローチャート。
【0008】
【
図2A】ロボットシンギュレーションシステムの一実施形態を示す図。
【0009】
【
図2B】マルチステーションロボットシンギュレーションシステムの一実施形態を示す図。
【0010】
【
図3A】仕分けのためにアイテムをピックアンドプレースする処理の一実施形態を示すフローチャート。
【0011】
【
図3B】仕分けのためにアイテムをピックアンドプレースする処理の一実施形態を示すフローチャート。
【0012】
【
図4A】ロボットシンギュレーションシステムの一実施形態における法線ベクトルの計算および表示を示す図。
【0013】
【
図4B】アイテムについて法線ベクトルを識別して計算するために画像データを処理する処理の一実施形態を示すフローチャート。
【0014】
【
図5A】画像データを用いて、アイテムをピックアンドプレースする計画を決定する処理の一実施形態を示すフローチャート。
【0015】
【
図5B】ロボットシンギュレーションシステムの一実施形態における階層的スケジューリングシステムの一実施形態を示すブロック図。
【0016】
【
図5C】ロボットシンギュレーションシステムを含むリソースをスケジュールおよび制御する処理の一実施形態を示すフローチャート。
【0017】
【
図6A】ロボットシンギュレーションシステムの一実施形態におけるフィーダシュートを通るアイテムの流れの一例を示す図。
【
図6B】ロボットシンギュレーションシステムの一実施形態におけるフィーダシュートを通るアイテムの流れの一例を示す図。
【
図6C】ロボットシンギュレーションシステムの一実施形態におけるフィーダシュートを通るアイテムの流れの一例を示す図。
【0018】
【
図6D】ロボットシンギュレーションシステムの一実施形態におけるフィーダシュートを通るアイテムの流れの一例を示す図。
【
図6E】ロボットシンギュレーションシステムの一実施形態におけるフィーダシュートを通るアイテムの流れの一例を示す図。
【
図6F】ロボットシンギュレーションシステムの一実施形態におけるフィーダシュートを通るアイテムの流れの一例を示す図。
【0019】
【
図7A】アイテムをピックアンドプレースするためにアイテムの流れをモデル化する処理の一実施形態を示すフローチャート。
【0020】
【
図7B】アイテムをピックアンドプレースするためにアイテムの流れをモデル化する処理の一実施形態を示すフローチャート。
【0021】
【
図7C】アイテムをピックアンドプレースするためにアイテムの流れをモデル化する処理の一実施形態を示すフローチャート。
【0022】
【
図8A】吸着ベースのエンドエフェクタの一実施形態の正面を示すブロック図。
【0023】
【
図8B】
図8Aの吸着ベースのエンドエフェクタ802の底面を示すブロック図。
【0024】
【
図8C】
図8Aの吸着ベースのエンドエフェクタ802を用いた複数アイテムの把持の一例を正面から示すブロック図。
【0025】
【
図8D】
図8Aの吸着ベースのエンドエフェクタ802を用いた複数アイテムの把持の一例を底面から示すブロック図。
【0026】
【
図9】ロボットアームおよびエンドエフェクタを用いてアイテムをピックアンドプレースする処理の一実施形態を示すフローチャート。
【0027】
【
図10A】ロボットシンギュレーションシステムの一実施形態を示す図。
【0028】
【
図10B】
図10Aのカメラ(またはその他のセンサ)1010、1012、および、1014を含むマルチビューセンサアレイを拡大した図。
【0029】
【
図10C】アイテムを把持してスキャンする処理の一実施形態を示すフローチャート。
【0030】
【
図11】1または複数の人間のシンギュレーション作業員を組み込んだマルチステーションロボットシンギュレーションシステムの一実施形態を示す図。
【0031】
【
図12】配置エラーを検出して修正する処理の一実施形態を示すフローチャート。
【発明を実施するための形態】
【0032】
本発明は、処理、装置、システム、物質の組成、コンピュータ読み取り可能な格納媒体上に具現化されたコンピュータプログラム製品、および/または、プロセッサ(プロセッサに接続されたメモリに格納および/またはそのメモリによって提供される命令を実行するよう構成されたプロセッサ)を含め、様々な形態で実施されうる。本明細書では、これらの実施例または本発明が取りうる任意の他の形態が、技術と呼ばれうる。一般に、開示されている処理の工程の順序は、本発明の範囲内で変更されてもよい。特に言及しない限り、タスクを実行するよう構成されるものとして記載されたプロセッサまたはメモリなどの構成要素は、或る時間にタスクを実行するよう一時的に構成された一般的な構成要素として、または、タスクを実行するよう製造された特定の構成要素として実装されてよい。本明細書では、「プロセッサ」という用語は、1または複数のデバイス、回路、および/または、コンピュータプログラム命令などのデータを処理するよう構成された処理コアを指すものとする。
【0033】
以下では、本発明の原理を示す図面を参照しつつ、本発明の1または複数の実施形態の詳細な説明を行う。本発明は、かかる実施形態に関連して説明されているが、どの実施形態にも限定されない。本発明の範囲は、特許請求の範囲によってのみ限定されるものであり、本発明は、多くの代替物、変形物、および、等価物を含む。以下の説明では、本発明の完全な理解を提供するために、多くの具体的な詳細事項が記載されている。これらの詳細事項は、例示を目的としたものであり、本発明は、これらの具体的な詳細事項の一部または全てがなくとも特許請求の範囲に従って実施可能である。簡単のために、本発明に関連する技術分野で周知の技術事項については、本発明が必要以上にわかりにくくならないように、詳細には説明していない。
【0034】
シンギュレーションおよび/または仕分けを実行するためのロボットシステムが開示されている。様々な実施形態において、ロボットシステムは、下流の(例えば、最終的な送り先の/物理的な)宛先への輸送に向けて仕分けおよびルーティングされるように、移動元の山/流れからアイテムをピックし、仕切り付きコンベヤまたは同様の運搬手段にアイテムをプレースするために用いられるロボットアームおよびエンドエフェクタを備える。いくつかの実施形態において、ピックされたアイテムは、近くの大箱またはその他の容器に一つずつプレースされる。いくつかの実施形態において、複数のロボットが、全体的スループットを最大化するように連係される。様々な実施形態において、1または複数のロボットが、シンギュレーションステーションで用いられてよい。システムは、複数のステーションを備えてよい。人間の作業員が、1または複数のステーションに配備されてよい。ロボットシステムは、様々な実施形態において、例えば、ロボットが完全自動処理によって処理できないアイテムおよび/またはロボットが落としたアイテムなどを処理するために、例えば、ロボットアームの遠隔操作、手動でのタスク完了などによる、人間の作業員の支援を求める(要求する)よう構成されてよい。
【0035】
宅配業者、郵便サービス、配達サービス、大型小売店、または、流通業者、ならびに、様々な位置の間でアイテムを取り扱い、輸送し、配達するその他の企業および政府機関は、典型的に、様々な移動先位置の内の対応する1つに各々配達される多数のアイテムを様々な移動元位置から受け取る。
【0036】
アイテムのハンドリング、仕分け、ルーティングを行うためのマシンが存在するが、マシンリーダおよび仕分け装置を利用するためには、マシンによってラベルまたはタグを読み取ることができるように、アイテムを互いに離間し、および/または、特定の向きにする必要がありうる。かかる間隔および向きは、仕分け/ルーティング設備へのアイテムの「誘導」の処理の過程で達成される必要がありえ、「仕分け」または「ソート」処理(例えば、様々な位置に配達されるアイテムが一般的な宛先(例えば、地方、州、市、郵便番号、通り、番地など)によって仕分けされる処理)に関連して実行されうる。
【0037】
マシンリーダ(無線周波数(RF)タグリーダ、光学コードリーダなど)は、タグまたはコードを確実に読み取ることができるように、そして、システムが、結果として得られる情報を特定のアイテム(コンベヤまたはその他の構造または手段の特定の位置にあるアイテムなど)と関連付けるために、アイテムが互いに離間されること(「シンギュレーション」とも呼ばれる処理)を必要としうる。
【0038】
荷物仕分け動作における典型的な誘導/仕分け処理では、例えば、個々の荷物がバルクな山からピックされ、動いているコンベヤまたはチルトトレイ・仕分けシステムにプレースされうる。ほとんどの施設では、このタイプの誘導は完全に手作業である。
【0039】
典型的な手動荷物誘導/仕分け処理は、以下の内の1または複数を含みうる:
・未仕分けの荷物を載せたシュートが、コンベヤ式仕分けシステムに隣接する仕分けテーブル上に向かって下りている
・作業員の仕事は、コンベヤまたはトレイベースの仕分けシステム上にアイテムを「シンギュレートする」ことである
・作業員は、仕分け装置に誘導されるすべての荷物が、出荷バーコード(または、他の光学コード、電子タグ、など)が仕分けのために読み取り可能な向きになっていることを確実にする(この向きは、典型的には、施設のスキャン設備によって決まる)
・空のトレイまたはスロットが通過するのを待ち、荷物が1つだけ各スロットまたはトレイにプレースされることを確実にする
【0040】
典型的な手動誘導/仕分け処理では、手動(または機械)供給のシュートで、様々な形状およびサイズの荷物が様々な向きで大量に到着し;荷物は、異なる寸法、形状、剛性、包装などを有しえ;典型的には、人間の作業員が、シュートからパッケージを取ってステーションに置き、そこで、各作業員が作業して、コンベヤの空いている区分けまたは他の方法で規定された部分に1つずつ荷物をプレースし;最後に、ステーションに一人ずつの多くの作業員が、シンギュレートされた荷物を1または複数のコンベヤ上の位置に置くことで、コードまたはタグの読み取り、および、それに基づいた自動仕分け動作(荷物が配達される宛先に関連付けられている施設内の位置に各荷物をルーティングするなど)など、下流の機械処理を容易にする。その位置は、さらなる仕分け(例えば、施設内のさらに目的地を限定した位置)、および/または、さらなる出荷に向けた荷物の梱包/積み込み(例えば、さらなる仕分けおよび配達が行われるさらなる目的地へのトラックまたは航空機、地域への配達に向けたトラックへの積み込み、など)を含みうる。
【0041】
図1は、流通および配達に向けてアイテムを受け取り、仕分けし、輸送するための処理の一実施形態を示すフローチャートである。図の例において、処理100は、アイテムがシンギュレーション処理104によるシンギュレーションに向けて1または複数の作業ステーションへ提供される誘導処理102から開始する。様々な実施形態において、シンギュレーション処理104は、本明細書に開示されているロボットシンギュレーションシステムによって少なくとも部分的に自動化される。シンギュレーション処理104は、誘導処理102によって異種のアイテムの山または流れを受け取り、シンギュレートされたアイテムの流れを仕分け/ルーティング処理106に提供する。例えば、シンギュレーション処理104は、仕分け/ルーティング装置に一つずつアイテムを供給する仕切り付きコンベヤまたはその他の構造上にアイテムを一つずつプレースしてよい。いくつかの実施形態において、アイテムは、ルーティング(例えば、宛先住所)情報を読み取り、ルーティング情報を用いて、同じ次の中間目的地および/または最終目的地に向かうアイテムの山、大箱、その他のセットなど、対応する目的地にアイテムを仕分けするよう構成されている下流のリーダによってラベルまたはタグが読み取り可能な向きでプレースされる。仕分けされると、共通の次の/最終的な目的地に向かうアイテムのグループが、輸送処理108によって処理される。例えば、アイテムは、コンテナの中にプレースされ、次の/最終的な目的地への配送に向けて、配達または輸送トラックまたはその他の車両などに積み込まれてよい。
【0042】
図2Aは、ロボットシンギュレーションシステムの一実施形態を示す図である。様々な実施形態において、
図1のシンギュレーション処理104は、少なくとも部分的には、ロボットシンギュレーションシステム(
図2Aのシステム200など)によって実行される。
【0043】
様々な実施形態において、1または複数のロボットアームを備えたロボットシステムが、シンギュレーション/誘導を実行する。
図2Aに示す例において、システム200は、吸着ベースのエンドエフェクタ204を備えたロボットアーム202を備える。図の例において、エンドエフェクタ204は、吸着ベースのエンドエフェクタであるが、様々な実施形態において、ピンチベースのエンドエフェクタまたはその他のタイプの作動グリッパを含むがこれらに限定されない、1または複数のその他のタイプのエンドエフェクタが、本明細書で開示されているシンギュレーションシステムで用いられてもよい。様々な実施形態において、エンドエフェクタは、吸着、空気圧、空圧、油圧、または、その他の作動、の内の1または複数によって作動されてよい。ロボットアーム202および204は、シュートまたは大箱206を介して到着した荷物またはその他のアイテムを取り、仕切り付きコンベヤ208上の対応する位置に各アイテムをプレースするために用いられるよう構成されている。この例において、アイテムは、取り入れ端210からシュート206へ供給される。例えば、1または複数の人間および/またはロボットの作業員が、直接的に、もしくは、シュート206へアイテムを供給するよう構成されたコンベヤまたはその他の電気機械構造を介して、シュート206の取り入れ端210へアイテムを供給してよい。
【0044】
図の例において、ロボットアーム202、エンドエフェクタ204、および、コンベヤ208の内の1または複数が、制御コンピュータ212によって協調的に動作される。様々な実施形態において、制御コンピュータ212は、画像センサ(この例では、3Dカメラ214および216など)によって提供される画像データに基づいて、個々のアイテムと、各アイテムの向きとを判別するために用いられるビジョンシステムを備える。ビジョンシステムは、機械識別および仕分けに向けて、個々のアイテムを把持し、対応する利用可能な規定された位置に各アイテムをプレースするための戦略を決定するために、ロボットシステムによって用いられる出力を生成する。
【0045】
様々な実施形態において、本明細書で開示されているロボットシステムは、例えば、制御コンピュータ(制御コンピュータ212など)の動作によって、以下の内の1または複数を含むおよび/または行う:
・コンピュータビジョン情報が、1または複数の仕分けステーションを含む作業空間の三次元ビューを生成するために、2Dカメラ、3D(例えば、RGBD)カメラ、赤外線、および、その他のセンサを含む、複数のセンサ、の内の1または複数からのデータをマージすることによって生成される。
・ロボットシステムは、衝突と、互いの妨げになることと、別のロボットと同じアイテムをピックアップしおよび/または同じ移動先位置(例えば、コンベヤの仕切られた部分)にアイテムをプレースしようと競合することと、を回避するために、複数のロボットの動作を連係させる。
・ロボットシステムは、すべてのアイテムがスロット/位置ごとに1つのみプレースされることを確実にするように、複数のロボットの動作を連係させる。例えば、ロボットAがアイテムを落とした場合に、システムは、ロボットBにそのアイテムをピックアップするタスクを課す;プレースされたが向きが不適切であるアイテムが、同じまたば別のロボットによって、ピックアップされ、調整されるか、または、別の位置に移動される;単一の移動先スロットに2以上のアイテムが入った場合に、下流ステーションのロボットがそれらの内の1つをコンベヤからピックして、自身の位置にプレースする;などである。
・システムは、全体的スループットを最大化するために、各ロボットおよび全ロボットのための動作計画を連続的に更新する。
・2つのロボットが独立的に同じアイテムを取得するタスクを課された場合、システムは、そのアイテムを取るために一方のロボットをランダムに選択し、他方のロボットは、次のアイテムへ移行する(例えば、把持戦略を特定、選択、決定し、ピックして、計画に従って移動させ、プレースする)。
・空の位置を無くして、ロボットの生産性(スループット)を最大化する必要に応じて制御される、コンベヤの動きおよび/または速度
・アイテムの誤配置または落下の場合に、システムは、そのアイテムをピックアップして、回収ロボット自身の移動元の山に戻すか、もしくは、利用可能またはより最適であれば、コンベヤ上の次の空きスロットに置く作業を、ロボットまたは必要であれば人間の作業員に割り当てる。
・下流のロボットがコンベヤにアイテムをプレースするために、いくつかのスロットを意図的に空き状態にするよう制御される上流ロボット。
・同じまたは別のロボットによって修正できない失敗の結果として、解決するために人間(またはその他のロボット)の介入を得るための警告が出される。
【0046】
様々な実施形態において、シンギュレートされるアイテムの任意の混合物は、様々な形状およびサイズの荷物、パッケージ、および/または、手紙を含んでよい。一部のアイテムは、規格パッケージであってよく、それらの1または複数の属性が既知でありえ、他のアイテムは、未知でありうる。画像データが、様々な実施形態において、(例えば、画像分割によって)個々のアイテムを判別するために用いられる。部分的に遮蔽されたアイテムの境界は、例えば、規格タイプまたは既知のタイプとしてアイテムを認識し、および/または、目に見えるアイテムの境界を論理的な評価範囲まで延長する(例えば、2つの縁部が、遮蔽された角で出会うように外挿される)ことによって、評価されてよい。いくつかの実施形態において、重なり(すなわち、他のアイテムによる遮蔽)の程度が、各アイテムに対して評価され、重なりの程度は、把持を試みる次のアイテムを選択する際に考慮される。例えば、各アイテムに対して、スコアが、把持成功の確率を評価するために計算されてよく、いくつかの実施形態において、スコアは、少なくとも部分的には他のアイテムによる重なり/遮蔽の程度によって決まる。あまり遮蔽されていないアイテムは、例えば、その他の考慮事項が等しければ、選択される可能性が高くなりうる。
【0047】
様々な実施形態において、複数の3Dおよび/またはその他のカメラが、画像データを生成するために用いられてよい。シーンの3Dビューが生成されてよく、および/または、いくつかの実施形態では、カメラの組みあわせが、異なる角度からシーンを見るために用いられ、例えば作業空間および/または作業空間内の1以上の特定のアイテムに対して、最も遮蔽されていないカメラが、1または複数のアイテムを把持および移動させるために選択および利用される。
【0048】
複数のカメラは、様々な実施形態において、多くの目的を果たす。第1に、それらは、シーンのより豊かなフル3Dビューを提供する。次に、それらは、パッケージに反射してカメラに入る光がカメラの動作を妨げる場合にパッケージの光沢によるエラーを最小化するために、一体的に動作し、この場合には、異なる位置の別のカメラがバックアップを提供する。いくつかの実施形態において、それらは、特定の荷物をピックするためにどのカメラが最良の視野角および/または最小のエラー率を有するのかを決定する予測視覚アルゴリズムによって選択的にトリガされうるため、各パッケージは、最適なカメラで見られる。いくつかの実施形態において、1または複数のカメラが、作動ベース上に取り付けられ、システムは、パッケージのより最適な認識(例えば、ビュー)を提供するために、ベースの位置および向きを変更できる。
【0049】
カメラによって果たされる別の目的は、ロボット動作における任意の種類の不測のエラーまたは環境への任意の障害を検出することである。ロボットおよび環境に配置されたカメラは、異なるエラーおよび精度のプロファイルを有する。ロボット上のカメラは、ロボットにしっかりと固定されているため、より正確でありうるが、利用する際にロボットが減速または停止する必要があるため、利用が低速でありうる。環境内のカメラは、安定したビューを有し、カメラが写真を撮影している間にロボットがマルチタスクを行って他のことを実行できるため実質的に高速である。しかし、誰かがカメラスタンドを動かしたり揺らしたりすると、カメラがロボットと同期しなくなり、多くのエラーを引き起こす。(時々またはパッケージミスの際に)ロボットカメラおよび非ロボットカメラからの画像を組み合わせると、ロボットが非ロボットカメラと同期しているか否かを検出することが可能になり、その場合、ロボットは、修正行動を取って、よりロバストになりうる。いくつかの実施形態において、カメラが、ロボットアーム上にしっかりと取り付けられなくてよく、いくつかのかかる実施形態において、カメラ上のジャイロおよび/または加速度計が、取り付けベースの動きをフィルタリングまたは補償するために用いられてよい。
【0050】
さらに
図2Aを参照すると、図の例において、システム200は、さらに、ロボットアーム202、エンドエフェクタ204、および、コンベヤ208、の内の1または複数を遠隔操作によって操作するために、人間の作業員220によって利用可能なオンデマンド遠隔操作装置218を備える。いくつかの実施形態において、制御コンピュータ212は、完全自動モードでアイテムを把持およびプレースすることを試みるよう構成されている。しかしながら、完全自動モードで動作することを試みた後に、制御コンピュータ212が、1または複数のアイテムを把持するために利用可能な(さらなる)戦略がないと判定した場合、様々な実施形態において、制御コンピュータ212は、例えば遠隔操作装置218を用いて人間のオペレータ220によって、遠隔操作で人間のオペレータからの支援を得るために警告を送信する。様々な実施形態において、制御コンピュータ212は、カメラ(カメラ214および216など)からの画像データを用いて、遠隔操作を容易にするために人間の作業員220にシーンの視覚的表示を提供する。例えば、制御コンピュータ212は、シュート206におけるアイテムの山のビューを表示してよい。いくつかの実施形態において、アイテム/物体の境界を判別するために、分割処理が、カメラ214および216によって生成された画像データに対して制御コンピュータ212によって実行される。マスキング技術が、例えば異なる色を用いて、個々のアイテムを強調するために用いられてよい。オペレータ220は、シーンの視覚的表示を用いて、把持されるアイテムを識別し、遠隔操作装置218を用いて、アイテムをシュート206からピックしてコンベヤ208上の対応する位置に各アイテムをプレースするようにロボットアーム202およびエンドエフェクタ204を制御してよい。様々な実施形態において、人的介入がプロンプトされたアイテムがコンベヤ上にプレースされると、システム200は、完全自動動作を再開する。様々な実施形態において、人的介入の際に、ロボットシステムは、人間の作業員を観察し(例えば、手動タスクの完了、遠隔操作でロボットアームおよびエンドエフェクタを用いたタスクの完了)、将来に自律モードでタスクを(より良好に)完了させるための戦略を学習しようとする。例えば、システムは、人間の作業員がアイテムを把持する際のアイテム上の把持の場所を観察することによって、および/または、人間の作業員が遠隔操作でアイテムを把持するためにロボットアームおよびエンドエフェクタをどのように利用したのかを記憶することによって、アイテムを把持するための戦略を学習してよい。
【0051】
図2Bは、マルチステーションロボットシンギュレーションシステムの一実施形態を示す図である。図の例において、
図2Aのロボットシンギュレーションシステムは、複数のシンギュレーションステーションを備えるように拡張されている。具体的には、シュート206からアイテムをピックし、仕切り付きコンベヤ208上の対応する利用可能なおよび/または割り当てられた位置に各アイテムをプレースするよう構成されているロボットアーム202に加えて、
図2Bに示すシステムは、3つのさらなるステーション、すなわち、それぞれシュート236、238、および、240からアイテムをピック/プレースするように配置および構成されているロボットアーム230、232、および、234、を備える。4つのステーション/シュート206、236、238、および、240の各々と、コンベヤ208とを含め、フルシーンの3Dビューを提供するために、さらなるカメラ224および226が、カメラ214および216に加えて備えられている。
【0052】
様々な実施形態において、制御コンピュータ212は、システムの全体的スループットを最大化するように、アイテムをシュート206、236、238、および、240からコンベヤ208へピック/プレースするために、4つのロボットアーム202、236、238、および、240、ならびに、関連するエンドエフェクタの動作を、コンベヤ208と連係させる。
【0053】
図2Bに示す例において、各ステーションが1つのロボットアームを有するが、様々な実施形態において、2以上のロボットが1つのステーションに配備され、同じアイテムをピックアンドプレースする競合を回避および/または管理することなどによって、ロボットが互いの動作および動きに干渉することを回避して全体的スループットを最大化するように、関連する制御コンピュータ(
図2Bに示す例における制御コンピュータ212など)の制御下で動作されてもよい。
【0054】
様々な実施形態において、スケジューラが、ロボット間のコンフリクト(或るロボットが、別のロボットにスケジューラが割り当てた位置にアイテムをプレースするなど)なしに所望のスループットを達成するように、複数のロボット(例えば、複数のステーションの各々で稼働する1または複数のロボット)の動作を連係させる。
【0055】
様々な実施形態において、本明細書で開示されているロボットシステムは、次の機械識別および/または仕分けのステージにアイテムを移動させるために、移動元の大箱またはシュートからアイテムを1つずつピックして、コンベヤまたはその他の装置上の割り当て位置にアイテムをプレースするように、複数のロボットの動作を連係させる。
【0056】
いくつかの実施形態において、複数のロボットが、同じシュートまたはその他の移動元容器からピックしてもよい。
図2Bに示す例において、例えば、ロボットアーム202が、シュート206またはシュート236からピックするよう構成されてもよい。同様に、ロボットアーム230が、シュート236またはシュート238からピックしてもよく、ロボットアーム232が、シュート238またはシュート240からピックしてもよい。いくつかの実施形態において、同じシュートからピックするよう構成されている2以上のロボットアームは、異なるエンドエフェクタを有してもよい。本明細書で開示されているロボットシンギュレーションシステムは、所与のアイテムをピックしてシンギュレートするのに最も適したロボットアームを選択してよい。例えば、システムは、どのロボットアームがアイテムに到達できるのかを判定し、アイテムの把持に成功するために最も適したエンドエフェクタおよび/またはその他の属性を備えたロボットアームを選択する。
【0057】
固定ロボットアームが
図2Bに示されているが、様々な実施形態において、レール、軌道、または、その他のガイドに沿って移動するよう構成されたシャーシ上に取り付けられたロボットアーム、もしくは、シャーシの可動カート上に取り付けられたロボットアームなど、1または複数のロボットが、可動の搬送装置上に取り付けられてもよい。いくつかの実施形態において、ロボットアーム以外のロボット手段アクチュエータが用いられてもよい。例えば、エンドエフェクタが、レール上に取り付けられ、レールに沿って移動されるよう構成されてよく、レールは、エンドエフェクタが、本明細書で開示されているようにアイテムをピック、平行移動、および、プレースするために移動されることを可能にするために、レールと直交する1または複数の軸上で移動されるよう構成されてよい。
【0058】
図3Aは、仕分けのためにアイテムをピックアンドプレースする処理の一実施形態を示すフローチャートである。様々な実施形態において、
図3Aの処理300は、制御コンピュータ(
図2Aおよび
図2Bの制御コンピュータ212など)によって実行される。図の例において、工程302で、シンギュレーションステーションで受け取られるアイテムが経由するシュートもしくはその他の移動元または容器からピックされるアイテムが識別される。いくつかの実施形態において、1または複数のカメラからの画像データが、アイテムの山または流れの3Dビューを生成するつぁめに、例えば、制御コンピュータを含むビジョンシステムまたはモジュールによって、用いられる。分割処理が、アイテムの境界および向きを決定するために実行される。工程304で、ロボットアームが、シュートからアイテムをピックするために用いられる。アイテムは、一度に1つずつピックされてよく、いくつかの実施形態において、複数のアイテムが、一度に把持されてもよい。工程306で、1または複数の把持されたアイテムは、仕切り付きコンベヤ上の対応するスポットに各々移動される。さらなるアイテムが存在する場合、工程302、304、および、306のさらなる反復が実行され、ピックアンドプレースされるアイテムがシュート(もしくは、その他の容器または移動元)にもはや存在しないと工程308で判定されるまで、次の反復が実行される。
【0059】
図3Bは、仕分けのためにアイテムをピックアンドプレースする処理の一実施形態を示すフローチャートである。様々な実施形態において、
図3Bの処理は、
図3Aの処理300の工程304を実施する。図の例において、工程320で、1または複数のアイテムを把持するための計画および/または戦略が決定される。様々な実施形態において、計画/戦略は、例えば、アイテムのサイズ、範囲、および、向きを示す、画像データと、サイズおよび/またはアイテムタイプでアイテムを分類することなどによって、アイテムに関して知られ、決定され、および/または、推定されうる属性と、の内の1または複数に少なくとも部分的に基づいて決定される。例えば、荷物配達サービスの文脈では、特定の規格パッケージが用いられうる。重量の範囲またはその他の情報が、各規格パッケージタイプについて既知でありうる。さらに、いくつかの実施形態において、アイテムを把持するための戦略が、例えば、システムが類似アイテム(例えば、同じ規格アイテム/パッケージタイプ;類似の形状、剛性、寸法;同じまたは類似の形状;同じまたは類似の材料;山の中の他のアイテムに対する位置および向き;アイテムの重なりの程度、など)を把持しようとした以前の試行の成功または失敗に注目して記録することによって、経時的に学習されてよい。
【0060】
工程322で、システムは、工程320で決定された戦略を用いて、1または複数のアイテムを把持しようとする。例えば、ロボットアームのエンドエフェクタは、決定された戦略に従って、把持されるアイテムに隣接する位置に移動されてよく、エンドエフェクタは、アイテムの把持を試みるために決定された戦略に従って動作されてよい。
【0061】
工程324で、把持が成功したか否かに関する判定がなされる。例えば、画像データおよび/または力(重量)、圧力、近接、および/または、他のセンサデータが、アイテムの把持に成功したか否かを判定するために用いられてよい。成功の場合、工程326で、アイテムは、コンベヤへ移動される。失敗の場合、処理は工程320に戻り、そこで、アイテムを把持するための新たな戦略が、(利用可能な場合)決定される。
【0062】
いくつかの実施形態において、所定の回数および/または設定された回数の試行の後に、システムがアイテムの把持に失敗した場合、または、システムがアイテムを把持するためのさらなる戦略を決定できない場合、システムは、可能であれば別のアイテムの識別および把持に移行し、および/または、人間の作業員などから支援を得るために警告を送信する。
【0063】
図4Aは、ロボットシンギュレーションシステムの一実施形態における法線ベクトルの計算および表示を示す図である。様々な実施形態において、本明細書で開示されているロボットシンギュレーションシステムを構成する制御コンピュータ(
図2Aおよび
図2Bの制御コンピュータ212など)によって、アイテムの境界および法線ベクトルが決定され、アイテムの境界および法線ベクトルの視覚化表現が生成および表示される。
【0064】
図の例において、3Dシーン視覚化表現400は、様々な実施形態において実装されるビジョンシステムの出力を含む。この例では、アイテム表面に対する法線ベクトルが示されている。法線ベクトルは、アイテムを把持する戦略を決定するために、いくつかの実施形態において用いられる。例えば、いくつかの実施形態において、ロボットは、吸着タイプのエンドエフェクタを有し、法線ベクトルは、吸着を用いた把持成功の可能性を最大化するようにエンドエフェクタの角度および/または向きを決定するために用いられる。
【0065】
いくつかの実施形態において、ビジョンシステムは、物体タイプによってアイテムを判別および区別するために用いられる。物体タイプは、各物体をそのタイプに対応する色で強調することによって視覚化表現400内で示されてよい。いくつかの実施形態において、物体タイプ情報が、吸着圧力または把持力を増大させること、移動速度を低減すること、特定の必要なエンドエフェクタ、可搬重量などを備えたロボットを用いること、などによって、アイテムの把持戦略を決定および/または変更するために利用され、または、利用されてよい。
【0066】
いくつかの実施形態において、
図4Aに示されていないさらなる情報が表示されてもよい。例えば、いくつかの実施形態において、各アイテムについて、最良把持戦略および関連する把持成功確率が決定され、アイテムに隣接して表示される。表示された情報は、いくつかの実施形態において、完全自動動作モードでシステム動作を監視するために、および/または、例えば、遠隔操作によってロボットシンギュレーションシステムを動作させる目的で、人間のオペレータが介入して、シーンのビューならびに利用可能な把持戦略および確率を迅速に得ることを可能にするために、利用されてよい。
【0067】
図4Bは、アイテムについて法線ベクトルを識別して計算するために画像データを処理する処理の一実施形態を示すフローチャートである。様々な実施形態において、処理420は、シーンの3Dビューの視覚的表現(
図4Aの視覚化表現400など)を生成および表示するために実行されてよい。様々な実施形態において、処理420は、コンピュータ(
図2Aおよび
図2Bの制御コンピュータ212など)によって実行される。
【0068】
図の例において、工程422で、3D画像データが、1または複数のカメラ(
図2Aおよび
図2Bのカメラ214、216、224、および/または、226、ロボットアームおよび/またはエンドエフェクタに取り付けられたカメラ、など)から受信される。様々な実施形態において、複数のカメラからの画像データは、アイテムがピックされるアイテムの山または流れなどのシーンの合成3Dビューを生成するためにマージされる。工程424で、分割処理が、3D空間におけるアイテム境界を決定するために実行される。工程426において、十分かつ十分に隠されていないビューが得られた各アイテムについて、アイテムの1または複数の表面(例えば、アイテムの最大のおよび/または最も露出した(例えば、他のアイテムの重なりによって隠されていない)表面)の各々の幾何中心および法線ベクトルが決定される。
【0069】
様々な実施形態において、工程424で決定された分割データは、複数のアイテムの各々について、対応するマスク層を生成するために用いられる。それぞれのマスク層は、様々な実施形態において、それぞれのアイテムが強調されているシーンの視覚的表現を生成および表示するために用いられる。様々な実施形態において、各アイテムは、アイテムの物体タイプおよび/またはその他の属性(重量、分類、柔らかさ、変形性、ピック不可能性(例えば、壊れたパッケージ、多孔質の表面など))に対応する色で強調される。
【0070】
図5Aは、画像データを用いて、アイテムをピックアンドプレースする計画を決定する処理の一実施形態を示すフローチャートである。様々な実施形態において、
図5Aの処理500は、コンピュータ(
図2Aおよび
図2Bの制御コンピュータ212など)によって実施される。
【0071】
図の例において、工程502で、画像データが受信される。画像データは、1または複数の3Dカメラなど、複数のカメラから受信されてよい。画像データは、シュートまたはその他の容器の中のアイテムの山または流れなど、作業空間の3Dビューを生成するためにマージされてよい。工程504で、分割、物体タイプ識別、および、法線ベクトル計算が実行される。いくつかの実施形態において、分割データが、上述のように、アイテム境界を判別し、アイテム固有のマスク層を生成するために用いられる。
【0072】
工程506で、把持戦略が、作業空間の現在のビューを考慮して、可能な限り多くのアイテムに対して決定される。各アイテムについて、1または複数の把持戦略が決定され、各戦略について、その戦略がアイテムの把持成功につながる確率が決定される。いくつかの実施形態において、把持戦略は、アイテムの属性(アイテムのタイプ、サイズ、推定重量、など)に基づいて決定される。いくつかの実施形態において、把持戦略を決定することは、ピックアップを試みるアイテムが1つであるか複数であるか、すべてのエンドエフェクタアクチュエータを利用するか否か(例えば、吸着カップまたはカップのセットを1つだけ利用するのか2以上利用するのか)を決定すること、および/または、検討中の計算された把持技術+速度の組み合わせのセットから、把持技術および対応する速度の組み合わせを選択すること(例えば、50%の速度で1つの吸着カップか、80%の速度で2つの吸着カップか)、を含む。例えば、いくつかの実施形態において、重たいか、または、1つの吸着カップでしっかりと把持することが難しい可能性がある小さいアイテム(2つの吸着カップを利用できない)を把持するなどのために、50%の速度で1つの吸着カップを利用する(落とさないよう、80%ではなく50%の速度で移動する)ように、パッケージタイプに基づいて決定がなされてよい。比較的軽く、または、2つの吸着カップでしっかりと把持することが容易である大きいアイテムは、対照的に、2つのカップで把持されて、より高速で移動されてよい。
【0073】
いくつかの実施形態において、把持戦略は、物体が流れる山の一部として移動している場合に変化してもよい。例えば、或る戦略に従って、ロボットは、物体をその場で動かなくさせるために、より強く押し下げてよく、一方、吸着カップは、しっかりとした安定的な把持を確保するために、パッケージに触れる順に独立的に作動されうる。また、ロボットは、パッケージが山の中で滑らないことを保証するために、視覚センサフィードバックまたは深度センサフィードバックに基づいて、流れる山と速度を合わせる。
【0074】
いくつかの実施形態において実施される別の最適化は、ダブル(またはn-)アイテムピック(次のセクションも参照)に基づいて把持戦略を変更することであり、ロボットは、視覚データを再利用しようとしている際に複数のアイテムをバッチでピックするのか逐次的にピックするのかに基づいて、戦略を適合させてよい。例えば、4つの吸着カップを備えたロボットグリッパが、或る物体をピックアップするために2つのカップを利用し、第2物体をピックアップするために他の2つのカップを利用することができる。このシナリオでは、ロボットは、速度を落とし、すでに保持されている第1物体と、周りの物体の山との衝突を避けるように、第2物体の把持にも着手する。
【0075】
工程508で、工程506において決定されたアイテム固有の把持戦略および確率を用いて、確率に従って、アイテムを把持、移動、および、プレースするための計画が決定される。例えば、特定の順序で次のn個のアイテムを、各々、把持戦略と、そのアイテムおよび戦略に対して決定された成功確率とに従って、把持するための計画が決定されてよい。
【0076】
いくつかの実施形態において、以前に把持されたアイテムの把持および除去に起因するアイテムの位置、配列、向き、および/または、流れの変化が、複数のアイテムを連続して把持するための計画を工程508で立てる際に考慮される。
【0077】
様々な実施形態において、
図5の処理500は、連続的かつ継続的な処理である。アイテムが山からピックアンドプレースされている時に、その後に受信された画像データが、より多くのアイテムを把持する戦略を特定して決定するために処理され(工程502、504、506)、アイテムをピック/プレースするための計画が、把持戦略および確率に基づいて更新される(工程508)。
【0078】
図5Bは、ロボットシンギュレーションシステムの一実施形態における階層的スケジューリングシステムの一実施形態を示すブロック図である。様々な実施形態において、
図5Bの階層的スケジューリングシステム520は、少なくとも部分的にはコンピュータ(
図2Aおよび
図2Bの制御コンピュータ212など)に実装される。図の例において、階層的スケジューリングシステム520は、複数のロボットシンギュレーションステーションと、ロボットシンギュレーションステーションがアイテムをプレースするよう構成されている仕切り付きコンベヤ(または同様の構造)との動作を連係させることによって、スループットを最適化するよう構成されたグローバルスケジューラ522を備える。グローバルスケジューラ522は、コンピュータ上で動作する処理モジュールまたはその他のソフトウェアとして実装されてよい。グローバルスケジューラは、少なくとも部分的には、複数のロボットシンギュレーションステーションスケジューラ524、526、528、および、530のへ入力を、監視し、必要に応じて制御し、および/または、その他の方法で提供することによって、ロボットシンギュレーションステーション間で作業を管理および調整する。
【0079】
ロボットシンギュレーションステーションスケジューラ524、526、528、および、530の各々は、対応するロボットシンギュレーションステーションに関連付けられており、各々が、対応するシュートまたはその他のアイテム容器からアイテムをピックアップして、仕切り付きコンベヤまたは同様の構造上に1つずつプレースするように、1または複数のロボットアームおよび関連のエンドエフェクタの動作を制御して連係させる。ロボットシンギュレーションステーションスケジューラ524、526、528、および、530の各々は、対応するセットの1または複数のステーションセンサ532、534、536、および、538に、それぞれ関連付けられており、それぞれ、そのステーションのセンサによって生成されたセンサデータを用いて、そのロボットシンギュレーションステーションで自動シンギュレーションを実行する。いくつかの実施形態において、各スケジューラは、
図5Aの処理500を実装および実行する。
【0080】
様々な実施形態において、ロボットシンギュレーションステーションスケジューラ524、526、528、および、530の各々は、画像および/またはその他のステーションセンサデータ、物体識別、把持戦略、および、成功確率データ;ピック/プレース計画情報;ならびに、予想されるアイテムシンギュレーションスループット情報、の内の1または複数をグローバルスケジューラ522に報告する。グローバルスケジュール522は、システムの全体的シンギュレーションスループットを最適化(例えば、最大化)するために、ロボットシンギュレーションステーションスケジューラ524、526、528、および、530から受信した情報を、他のセンサ540(ステーションセンサによってカバーされていないもしくは十分または完全にはカバーされていない仕切り付きコンベヤおよび/または作業空間の他の部分に向けられたカメラなど)から受信したセンサデータと共に用いて、各々がそのステーション固有のスケジューラ524、526、528、または、530の制御下にあるそれぞれのロボットシンギュレーションステーションによる作業を連係させると共に、コンベヤコントローラ542を介して仕切り付きコンベヤの動作(例えば、速度)を制御するよう構成されている。
【0081】
様々な実施形態において、グローバルスケジューラ522は、シンギュレーションを実行するためのロボットシンギュレーションシステムを備えた複数のロボットの利用を最適化するために(例えば、全体的スループットを最大化するために)、1または複数の技術を利用する。例えば、順に並んだ4つのロボットが存在する場合、先頭(または他の上流)のロボットは、下流のロボットが空のスロットを待つことがないように、空きスロットを残すようにパッケージをプレースするよう制御されてよい。このアプローチは、パッケージの流れなどのために下流のロボットが未知の/ランダムな時間にわたって待つので、影響を与える。結果として、素朴な戦略(例えば、先頭のロボットが4つ目の空きスロットごとにプレースする)では、全体的スループットを最適化できない。時に、先頭のロボットのパッケージが流れていなければ、先頭のロボットが、順に並んだ連続的なスロットに2~3つのパッケージを置くことが、より良い場合もあるが、システム全体は、各ステーションの状態および流れを意識してかかる決定を行う。いくつかの実施形態において、下流のロボットのために空きスロットを残すための最適戦略は、下流のロボットによる空きスロットに対する予測された要求(例えば、それらのパッケージの流れの関数として)に基づく。いくつかの実施形態において、ローカルステーションスケジューラからの情報が、各ステーションの最大スループットを予測するため、ならびに、下流ロボットが(現在)ピック/プレースできる速度に比例して空のスロットにアクセスできるように、コンベヤ速度と、上流のロボットによって空のまま残されるスロットの数とを制御するために利用される。いくつかの実施形態において、下流の仕分け処理におけるいくつかのボトルネックに起因して、仕切り付きコンベヤが満杯である時、本明細書で開示されているロボットシンギュレーションシステムは、例えば、それに対応するシュート内または近くのステージングエリアで、1または複数のパッケージを事前シンギュレートしつつ、各事前シンギュレート済みのパッケージの姿勢を追跡してよい。仕切り付きコンベヤでいくつかの空きスペースが利用可能になると、システム/ステーションは、さらなる視覚処理時間なしに、事前シンギュレートされたパッケージを仕切り付きコンベヤ上に、1つずつ立て続けに移動させる。
【0082】
いくつかの実施形態において、ロボットと協働する人間の存在は、ロボットまたは関連コンピュータビジョンまたはその他のセンサシステムが、人間の行うことを見て、リアルタイムでロボットの配置を適応させる必要もあるので、配置およびマルチロボット連係の戦略に影響を与える。例えば、人間が、ロボットによって利用されるようスケジュールされていたコンベヤベルトスロットを引き継ぐ場合、システムは、それに従ってグローバルおよびローカルスケジュール/計画を調整しなければならない。別の例において、人間がロボットのピックしたパッケージを妨害して、ピックされていないものとして登録させた場合、システムは、そのエラーを修正するように適応する。また、人間がロボットのピッキングのエラーを修正した場合(ロボットがパッケージをスロットAに置くよう命令されたが、誤ってスロットAおよび隣接するBをまたいでプレースし、人間がスロットBにプレースしたが、システムのメモリでは、パッケージがスロットA内にあることになっている)、システムは、人間の行動を観察し、下流のロボットの動作を調整しなければならない。
【0083】
様々な実施形態において、グローバルスケジューラ522は、所与の時間に最大可能スループットよりも低速でステーションを動作させてよい。例えば、グローバルスケジューラ522は、ローカルステーションスケジューラ(例えば、524、526、528、または、530)に対して、減速するように明示的に指示してよく、および/または、例えば、より少ないスロットをステーションに割り当てることによって明示的に、もしくは、上流のステーションがより多くのスロットを埋めることを許容することなどによって間接的に、ローカルステーションが利用できるスロットを少なくしてよい。
【0084】
図5Cは、ロボットシンギュレーションシステムを含むリソースをスケジュールおよび制御する処理の一実施形態を示すフローチャートである。様々な実施形態において、
図5Cの処理560は、グローバルスケジューラ(
図5Bのグローバルスケジューラ522など)によって実施される。
【0085】
様々な実施形態において、アイテムは、シュートおよび/またはコンベヤを介して到着する。シュート/コンベヤは、例えば、人間、ロボット、および/または、その両方によって供給され、アイテムは塊になって到着しうる。入力端で流れに追加されるごとに、アイテムは、例えば、個々のアイテムを把持し、出力コンベヤ上の対応する1つのアイテム位置に各アイテムを1つずつ移動させることによって、シンギュレーションを実行するために1または複数のロボットアームが提供されている端に向かってシュートまたはコンベヤを下って/沿って滑りまたは流れうる。
【0086】
様々な実施形態において、1または複数の3Dカメラまたはその他のカメラからの画像が受信され処理される。シンギュレーションステーションに供給するシュート/コンベヤを下る/通るアイテムの流れが、画像データに基づいてモデル化される。モデルは、比較的動きの少ないまたは全く動きのない瞬間を予測するために用いられ、かかる瞬間に、画像データがアイテムの識別および把持に用いられる。いくつかの実施形態において、流れモデルは、ロボットアームが、比較的流れの少ないまたは全く流れのない瞬間に1または複数のカメラを遮るような位置にないことを保証するために用いられる。いくつかの実施形態において、システムは、より広い流れの中で比較的流れの少ないまたは全く流れのない領域を検出するよう構成される。例えば、シュートもしくはその他の供給元搬送装置または容器の異なる所定の領域内で、流れが解析されてよい。システムは、流れの少ない/安定した領域および/または流れの全くない領域からシンギュレーションに向けてアイテムをピックし、あまり安定的でない流れが発生している領域を当面の間は回避してよい。
【0087】
いくつかの実施形態において、システムは、アイテムの流れの中で異なるエリアを識別し、それに従ってかかるエリアからアイテムをピックするようロボットを導く。いくつかの実施形態において、システムは、例えば、シュートの上および周囲に取り付けられた複数のカメラからの連続画像を用いて計算された流れモデルを利用して、シュートまたはその他の供給元搬送装置または容器上の/を通るアイテムの動きを予測する。流れモデルは、シュートまたはその他の搬送構造をアイテムが流れ下りる時に、1または複数のアイテムの将来の位置を予測するために用いられる。各時間に、流れモデルに基づいてアイテムが存在すると予測される時刻/位置において、画像がキャプチャされ、および/または、把持が試行される。いくつかの実施形態において、リアルタイム分割が実行される。例えば、分割は、30~40ミリ秒の範囲内および/または3Dカメラフレームレートと同程度に速いその他のレートで実行される。いくつかの実施形態において、リアルタイム分割の結果は、シュートを通る個々のアイテムの流れを追跡および/またはモデル化するために用いられる。アイテムの将来の位置が、アイテム固有のモデル/動きに基づいて予測され、その将来の位置および時刻にアイテムを把持する計画および戦略が、自律的に決定および実行される。いくつかの実施形態において、標的アイテムの位置は、連続的に更新される。いくつかの実施形態において、アームがアイテムを把持するために動いている時に、アイテムの更新された予測将来位置に基づいて、ロボットアームの軌道が、リアルタイムで更新されてよい。
【0088】
いくつかの実施形態において、観察されたアイテムの流れが閾値速度よりも速い場合、システムは、設定された時間(例えば、100ミリ秒)だけ待って、画像データおよび/または流れの速度を再びチェックする。システムは、高い把持成功の可能性を有するのに十分に安定した流れの条件が観察されるまで、かかる待機を繰り返しおよび/またはその長さを変化させてよい。いくつかの実施形態において、シュートにおける異なるエリアが、許容される異なる速度閾値を有してよい。例えば、エリアが、ロボットのピックしている実際のスポットから離れている場合、その領域での不安定な流れは、その時にロボットによって実行されている動作を妨げないと予期されるので、いくつかの実施形態において、より速い移動速度が許容される。例えば、シュートの上部で(「高速で」)転がっている荷物は、ロボットがシュート下部からピックしている場合には問題になりえない。しかしながら、転がっているアイテムがピックエリアに接近している場合、他のアイテムを遮蔽し、または、他のアイテムに衝突することによってそれらを周りに動かしうるので、許容できない場合がある。いくつかの実施形態において、システムは、予測されるピックエリアに対して領域および/または位置ごとに流れを検出し、ロボットが次にピックするつもりのエリアから離れた(十分に離れた)エリアにおけるあまり安定的ではない流れを許容する。
【0089】
図5Cに示す例において、工程562で、全体的スループット、ローカルシンギュレーションステーションの観察および/または推定(ローカルにスケジューリング)されたスループット、ならびに、全体エラー率およびステーション固有のエラー率が監視される。工程564で、コンベヤ速度およびローカルステーション速度が、全体的スループットの正味量またはエラーを最大化するように調整される。工程566で、コンベヤスロットが、正味スループットを最大化するように、それぞれのステーションに割り当てられる。この例では、コンベヤスロットが明示的に割り当て/指定されているが、いくつかの実施形態においては、(必ずしも)特定のスロットを特定のステーションに事前に割り当てることなく、下流のステーションがアイテムをプレースするために利用可能なスロットを有することを確実にするように、ステーション速度が制御される。任意のステーションがまだピック/プレースされていないアイテムを有する(工程568)間、処理は継続する(工程562、564、566)。
【0090】
図6A~
図6Cは、ロボットシンギュレーションシステムの一実施形態におけるフィーダシュートを通るアイテムの流れの一例を示す。様々な実施形態において、シュートまたはその他の容器を通るアイテムの流れがモデル化される。流れモデルは、様々な実施形態において、流れからアイテムを把持する戦略を決定するために用いられる。いくつかの実施形態において、モデル化および/または観察された流れは、以下の内の1または複数を実行するために使用されてよい:アイテムが流れると予測される将来の位置でアイテムを把持するための把持戦略および/または計画を決定すること;複数のアイテムの各々について把持戦略を決定し、流れモデルに少なくとも部分的に基づいて決定された対応する将来の位置で各々が把持されるように、一連のアイテムを把持する計画を決定して実施すること;アイテムが位置するとモデルに基づいて予測され、そこでピックされることが計画されている位置で、将来の瞬間にロボットアームがアイテムのビューを隠さないような位置にあるようにすること;ならびに、流れがより安定する(例えば、より遅く移動する、アイテムのほとんどが均一な方向に移動する、向きの変化が最小または低率になる、など)ことを可能にするために、例えば、(モデルに基づいて)計算された時間または所定の時間だけ待機すること。
【0091】
図6A~
図6Cを参照すると、図の例において、流れモデルは、アイテム602および604が流れ/山からピックされる時に比較的安定/均一であり続けることをモデルが示している現在ほとんど安定しているアイテムの配列を示す。様々な実施形態において、
図6A~
図6Cに示されているモデル情報は、潜在的に他の情報(例えば、利用可能な把持戦略、求められている/割り当てられているステーションスループット、など)と共に、把持されることがスケジューリングされている時間にそのアイテムが存在すると予期されていることをモデルが示す位置から、アイテム602および604を連続してピックアンドプレースするための計画を決定して実施するために用いられる。
【0092】
図6D~
図6Fは、ロボットシンギュレーションシステムの一実施形態におけるフィーダシュートを通るアイテムの流れの一例を示す。この例において、モデルは、山が比較的ゆっくりとした均一な流れで動いているが、アイテム602がピックされると乱される(または、乱されたことが観察される)ことを示している。様々な実施形態において、
図6D~
図6Fに示すモデル情報は、アイテム602を単独でピックするが、その後に、山/流れから他のアイテムをピックアンドプレースする把持戦略および計画を決定して実施する前に山/流れが安定するまで少し待つことを決定するために用いられてよい。いくつかの実施形態において、流れは、1または複数のアイテムがピックアップおよびシンギュレートされうる前にシュートまたはその他の供給元容器から転倒または他の方法で流れ落ちるリスクがあるほどに不安定であることが検出されうる。いくつかの実施形態において、かかる状況において、システムは、アイテムがシュートからあふれるのを防ぐようにシュートの底部をブロックすることによって、流れを横切ってアームを配置するなどして、エンドエフェクタおよび/またはロボットアームを用いて流れをブロックまたは減速することによって、など、ロボットアームおよび/またはエンドエフェクタを用いて流れを安定させる戦略を実施するように構成されていてよい。
【0093】
図7Aは、アイテムをピックアンドプレースするためにアイテムの流れをモデル化する処理の一実施形態を示すフローチャートである。様々な実施形態において、
図7Aの処理700は、
図6A~
図6Fに関連して上述した例のように、(例えば、シュートを通る)アイテムの流れをモデル化し、モデルを用いてアイテムをピックアンドプレースするよう構成されたコンピュータによって実行される。様々な実施形態において、処理700は、コンピュータ(
図2Aおよび
図2Bの制御コンピュータ212など)によって実行される。いくつかの実施形態において、処理700は、ロボットシンギュレーションステーションスケジューラ(
図5Bのスケジューラ524、526、528、および、530など)によって実行される。
【0094】
図7Aに示す例において、画像データが、工程702で受信される。工程704で、分割およびアイテム(例えば、タイプ)識別が実行される。工程706で、シュートまたはその他の容器を通るアイテムの流れがモデル化される。(この例では、工程704および706は順次実行されているが、いくつかの実施形態において、これらの工程は、並列に実行されおよび/または並列に実行されてよい)。工程708で、モデルは、山/流れから次のn個のアイテムを把持するための把持戦略および計画を決定するために用いられる。工程710で、計画が実行される。工程712で、試行が完全には成功しなかったと判定された場合(例えば、1以上のアイテムの把持に失敗した、アイテムが期待される位置にない、流れが乱れた、または、その他の点で期待通りではなかった)、または、さらなるアイテムがまだシンギュレートされていない場合(工程714)、工程702、704、706、708、および、710のさらなる反復が実行され、まだシンギュレートされていないアイテムがもはや残っていないと工程714で判定されるまで、次の反復が実行される。
【0095】
様々な実施形態において、システムは、写真を撮り、ピックする2つの(または3つ以上の)物体を識別してよい。システムは、最初の1つをピックして移動させ、次いで、ピックすべきパッケージを見つけるために完全なシーンの再計算を行う代わりに、2つ目のパッケージが邪魔されているか否かを単に調べる。否である場合、システムは、シーンの完全な再計算を実行せずにそれをピックし、これは、典型的には多くの時間を節約する。様々な実施形態において、時間の節約は、センサ読み取り待ち時間、画像取得時間、システム計算時間、再分割、マスキング、パッケージの山の順序付け計算、ならびに、最後に制御および計画、の内の1または複数においてなされる。2つ目のアイテムが予測された場所にない場合、システムは、ピックすべき次のパッケージを見つけるために完全なシーン再計算を行う。
【0096】
いくつかの実施形態において、ロボットは、視覚センサ、深度センサ、または、その他のセンサを用いて、(山を不安定にして崩れさせることによって、または、他のパッケージに衝突することによって、など)互いのピックを妨害しえないほど十分に離れているとロボットの制御アルゴリズムによって判断された2つの把持可能なパッケージを識別してよい。最初のパッケージをピックした後にセンサ処理パイプラインを繰り返す代わりに、ロボットは、2つ目のパッケージのピックに直接進んでよい。そうは言っても、統計的には、制御アルゴリズムの予測が間違っている可能性があるか、または、何らかの不測のイベントによって山が動いた可能性があるリスクが存在する。このシナリオにおいて、コントローラは、より慎重にピックし、予測された把持吸着カップ作動のモデル(または、他の予測された感覚モデル、例えば、力、圧力、および、その他のタイプの検知モダリティ)を用いて、(視覚計算をやり直す必要なく)ピッキングされているパッケージが以前の予測と一致するか否かをテストすることができる。
【0097】
図7Bは、アイテムをピックアンドプレースするためにアイテムの流れをモデル化する処理の一実施形態を示すフローチャートである。様々な実施形態において、
図7Bの処理720は、
図6A~
図6Fに関連して上述した例のように、(例えば、シュートを通る)アイテムの流れをモデル化し、モデルを用いてアイテムをピックアンドプレースするよう構成されたコンピュータによって実行される。様々な実施形態において、処理720は、コンピュータ(
図2Aおよび
図2Bの制御コンピュータ212など)によって実行される。いくつかの実施形態において、処理720は、ロボットシンギュレーションステーションスケジューラ(
図5Bのスケジューラ524、526、528、および、530など)によって実行される。
【0098】
図7Bに示す例において、工程722で、画像データが受信および処理される。工程724で、アイテムが、例えば、
図7Bの処理700と同様に、モデルに少なくとも部分的に基づいてピック/プレースされる。工程726で、流れが不安定になった旨の示唆が受信され、および/または、その旨の判定がなされた場合、システムは、工程728において、例えば、ランダムな、所定の、および/または、設定された間隔にわたって、一時停止し、その後、処理が再開し、ピック/プレースされるべきさらなるアイテムがなくならないかぎり/なくなるまで継続し、その後、処理720は終了する。
【0099】
図7Cは、アイテムをピックアンドプレースするためにアイテムの流れをモデル化する処理の一実施形態を示すフローチャートである。様々な実施形態において、
図7Cの処理740は、
図6A~
図6Fに関連して上述した例のように、(例えば、シュートを通る)アイテムの流れをモデル化し、モデルを用いてアイテムをピックアンドプレースするよう構成されたコンピュータによって実行される。様々な実施形態において、処理740は、コンピュータ(
図2Aおよび
図2Bの制御コンピュータ212など)によって実行される。いくつかの実施形態において、処理740は、ロボットシンギュレーションステーションスケジューラ(
図5Bのスケジューラ524、526、528、および、530など)によって実行される。
【0100】
図7Cに示す例において、工程742で、把持できるアイテムが現在存在しない条件が検出される。例えば、システムは、山の中のアイテムのための把持戦略を決定するよう試みたが、流れの速度、乱雑さ、向き、重なり、などのために、所定の最小閾値より大きい成功確率を有する把持戦略が現在利用可能であるアイテムが存在しないと判定した場合がある。工程744で、工程742における判定に応答して、システムは、ロボットアームを用いて、把持戦略を利用可能にするように山/流れの状態を変えようと試みる。例えば、ロボットアームは、1つのアイテムまたは複数のアイテムを山の中の異なる位置に、穏やかにつつく、引く、押す、などするために用いられてよい。各つつきの後に、システムは、例えば、シーンの3Dビューを再計算して、実行可能な把持戦略が利用可能になったか否かを判定することによって、再評価を行ってよい。工程746で、把持(または、各々が異なるアイテムに対する複数の把持)が実行可能になったと判定された場合、自律動作が、工程750で再開される。逆に、山/流れの状態を変更するための所定の回数の試行の後に、実行可能な把持戦略が利用可能にならなかった場合、工程748で、システムは、例えば、別のロボットおよび/または人間の作業員から、後者では遠隔操作および/または手動介入を介して(システムが自律動作を再開できると判定するまで、山の中のアイテムをシャッフルしおよび/もしくはアイテムを手動でピック/プレースするなどして)、支援を受ける。
【0101】
図8Aは、吸着ベースのエンドエフェクタの一実施形態の正面を示すブロック図である。様々な実施形態において、エンドエフェクタ802は、ロボットシンギュレーションシステムを構成するロボットアームのエンドエフェクタ(
図2Aのエンドエフェクタ204など)として用いられてよい。
図8Bは、
図8Aの吸着ベースのエンドエフェクタ802の底面を示すブロック図である。
【0102】
図8Aおよび
図8Bを参照すると、図の例において、エンドエフェクタ802は、4つの吸着カップ804、808、812、および、814を備える。この例では、ホース806を介して吸着カップ804および812に真空が印加されてよく、ホース810を介して吸着カップ808および814に真空が印加されてよい。様々な実施形態において、吸着カップのペア(すなわち、吸着カップ804および812を含む第1ペア、および、吸着カップ808および814を含む第2ペア)は、独立的に動作されてよい。例えば、単一のアイテム(比較的小型および/または比較的軽量なアイテムなど)が、吸着カップペアの一方または他方のみを用いて把持されてよい。いくつかの実施形態において、各ペアは、同時に別個のアイテムを把持するために用いられて、2つ(または、いくつかの実施形態では3つ以上)のアイテムを同時にピック/プレースすることを可能にしてよい。
【0103】
図8Cは、
図8Aの吸着ベースのエンドエフェクタ802を用いた複数アイテムの把持の一例を正面から示すブロック図である。
図8Dは、
図8Aの吸着ベースのエンドエフェクタ802を用いた複数アイテムの把持の一例を底面から示すブロック図である。この例では、それぞれの吸着カップペアは、図の例で把持されたことが示されている2つのアイテムのうちの対応する1つをそれぞれ把持するために、独立的に作動された。
【0104】
様々な実施形態において、より多くまたはより少ない吸着カップ、ならびに/もしくは、1以上の吸着カップのより多くまたはより少ない独立作動されるセットが、所与のエンドエフェクタに備えられてもよい。
【0105】
図9は、ロボットアームおよびエンドエフェクタを用いてアイテムをピックアンドプレースする処理の一実施形態を示すフローチャートである。様々な実施形態において、
図9の処理900は、コンピュータ(
図2Aおよび
図2Bの制御コンピュータ212など)によって実施されてよい。
【0106】
吸着ベースのエンドエフェクタ(エンドエフェクタ802など)を用いる場合、吸着カップの係合を確実にするために強く押しすぎると、壊れやすいアイテムおよび/またはパッケージを損傷する場合がある。さらに、センサ読み取り値が、パッケージタイプに基づいて変わりうる。例えば、段ボール箱を把持する場合(溝/紙から空気が漏れる場合)の吸着センサ読み取り値は、プラスチックポリ袋とは異なりうる。いくつかの実施形態において、パッケージタイプが既知である場合、センサ読み取り値は、それに従って評価および/または調整される。いくつかの実施形態において、決定されたタイプのパッケージの把持成功に関連するセンサ読み取り値が、最初の係合で達成されなかった場合、さらなる力および/または吸着が、より良い把持を達成するために印加されてよい。かかるアプローチは、把持成功の可能性を高め、把持が失敗したと判定してもう一度やり直すよりも効率的である。
【0107】
図9に示す例において、工程902で、ロボットアームは、アイテムを把持するために決定され選択された把持戦略に従って、アイテムにアプローチして把持を試みるために用いられる。工程904で、アイテムの把持が成功したか否かに関する決定がなされる。例えば、力(重量)センサ、吸着/圧力センサ、および、画像データ、の内の1または複数が、把持が成功したか否かを判定するために用いられてよい。成功の場合、工程906で、アイテムは、それに割り当てられおよび/または次の利用可能なスロットへ移動される。把持が成功しなかったと工程904で判定され、システムが工程908においてさらなる試行を行うと決定した場合(例えば、所定の最大試行回数未満の回数にまだ到達していない、アイテムが壊れやすいためにより大きい力を印加できないと判定されていない、など)、工程910で、システムは、アイテムと係合するために印加される力(および/または、様々な実施形態において、把持姿勢、すなわち、ロボットアームおよび/またはエンドエフェクタのポジションおよび/または向き、の内の1以上)を調整し、アイテムの把持を再試行する。例えば、ロボットアームは、吸着を作動させる前に若干大きい力でアイテムに吸着カップを押しつけるために用いられてよく、および/または、より強い吸着が印加されてよい。
【0108】
工程908で、アイテムを把持するためにこの時点でさらなる努力をすべきでないと判定された場合、処理は、把持可能な他のアイテムが存在する(例えば、他のアイテムがシュート内に存在し、システムがそれらの内の1または複数に利用できる把持戦略を有する)か否かが判定される工程912に進む。存在する場合、工程914で、システムは、次のアイテムに移行し、そのアイテムに対して工程902および後続の工程の反復を実行する。残りのアイテムがない場合、および/または、把持戦略が利用可能なアイテムがない場合、工程916で、システムは、例えば、別のロボットから、遠隔操作で人間から、および/または、手動介入で人間から、支援を受ける。
【0109】
様々な実施形態において、工程908および910のように、アイテムを把持する更なる試行の回数および/または性質は、アイテムまたはアイテムタイプ、アイテムタイプによって決定されたアイテムおよび/またはパッケージの特徴、ロボットアームおよびエンドエフェクタでアイテムを調べることによって決定されたアイテムおよび/またはパッケージの特徴、様々なセンサによって決定されたアイテム属性、などの因子によって決定されてよい。
【0110】
図10Aは、ロボットシンギュレーションシステムの一実施形態を示す図である。図の例において、ロボットシンギュレーションステーション1000は、シュートまたはその他の容器1004からアイテム(図の例におけるアイテム1006など)をピックして仕切り付きコンベヤ1008上に1つずつプレースするように制御コンピュータ(
図10Aでは図示せず)の制御下で動作されるロボットアーム1002を備える。
【0111】
様々な実施形態において、ロボットシンギュレーションステーション1000は、この例では、カメラ(またはその他のセンサ)1010、1012、および、1014を含む、マルチビューアレイのセンサを用いて、少なくとも特定の状況において、ステーション1000で、住所またはその他のルーティング情報をローカルにスキャンするよう構成された制御コンピュータによって制御される。
【0112】
図10Bは、
図10Aのカメラ(またはその他のセンサ)1010、1012、および、1014を含むマルチビューセンサアレイを拡大した図である。
【0113】
様々な実施形態において、カメラ(またはその他のセンサ)1010、1012、および、1014などのセンサは、ロボットによって出力コンベヤ上にプレースされた荷物の向きにかかわらず、ルーティング情報(例えば、テキスト住所、光学またはその他のコード、など)を読むように配置されている。例えば、荷物がラベルを下にしてプレースされた場合、荷物が横切ってスライドおよび/またはスワイプされるスキャナが、ラベルを読み取り、仕分け/ルーティング情報を出力コンベヤ上の対応する位置と関連付ける。
【0114】
(流れている場合のある)山から物体をピックしてシンギュレーションコンベヤ上にプレースする際の課題は、シンギュレーションコンベヤが、パッケージバーコードをコンベヤベルトスロット内の各パッケージと関連付ける必要があることである。ロボットがピックしているバルクな山の中でのパッケージの向きに基づいて、ロボットは、バーコードが実際に下を向いている状況を見出してよい。いくつかの実施形態において、本明細書で開示されているロボットシンギュレーションシステムは、バーコードもしくはその他のラベルまたはルーティング情報が上を向く位置になるようにアイテムをはじくかまたは他の方法でひっくり返すために用いられてよい。いくつかの実施形態において、ロボットアームは、エンドエフェクタがピンチグリッパである場合、重力に起因する制御された滑りを利用することで(例えば、端部で把持し、ひっくり返す動作が開始されると解放の前に滑り/重力によってアイテムが回転し始めることを許容する)、もしくは、パッケージの向きを変えるために複数の吸着カップの制御された吸着解除順序と重力とを利用することで(例えば、エフェクタの一端でカップの吸着を解除しつつ、他端ではまだ吸着を印加することで、アイテムがひっくり返される軸を中心に回転を開始させる)、自身の動作を用いてパッケージをひっくり返す。しかしながら、コンベヤベルトにプレースする前にパッケージをひっくり返すことは、パッケージを損傷する場合があり、うまくいかない場合があり、および/または、多くの時間がかかる場合があり、そして、別の手(例えば、別のロボット)を必要とする可能性があり、これは高価である。いくつかの実施形態において、本明細書で開示されているシステムは、アイテムが、ラベルを確実に読み取ることができるようにする動作を必要としうるタイプであることを認識しうる。例えば、ポリエチレン(「ポリ」)もしくはその他のプラスチックまたは同様の袋に入ったパッケージは、下流のスキャナがラベルを読み取ることができるように、パッケージを平らにし、および/または、滑らかにするようにプレースされる必要がありうる。いくつかの実施形態において、ロボットアームが、パッケージを滑らかにし、および/または、平らにするために用いられてよい。いくつかの実施形態において、かかるアイテムは、読み取りに十分なほどパッケージを平らにさせるのに役立つように、所定の高さから落とされてよい。様々な実施形態において、ロボットは、ステーションでのピックおよび/または読み取りの前にシュートまたはコンベヤ上にプラスチック袋を投げること、ピックアップした後に作動吸着カップを用いて袋を広げること、変形しやすいアイテムのしわを取り除くためにバイマニュアル(2ロボットアーム)操作を実行すること、などによってプラスチック袋を平らにしてよい。いくつかの実施形態において、ブロワまたはその他の機構が、プレース後にパッケージを滑らかにするために用いられてもよい。ブロワは、独立型/ロボットアームに取り付けられまたは一体化された固定型であってよい。
【0115】
いくつかの実施形態において、多軸バーコード(またはその他の)スキャナまたはセンサ、すなわち、上部または底部のバーコードをスキャンできる装置が、コンベヤベルト1008上の下流に配置される。ただし、これは、コンベヤベルトの底部が透明である場合、または、バーコードリーダがスロットを通して見上げた状態の透明な(または開いた)スロット上をパッケージが通される順序付け動作が存在する場合にのみ機能する。
【0116】
様々な実施形態において、ラベルを上向きにした(したがって、オーバーヘッドスキャナによって容易にスキャンできる)状態でコンベヤ1008上にパッケージを容易にプレースできない場合、
図10Aおよび
図10Bに示す例におけるカメラ(またはその他のセンサ)1010、1012、および、1014など、シンギュレーションステーションのセンサのアレイ。いくつかの実施形態において、パッケージの上部が見える場合、バーコードまたはその他の住所情報が、コンピュータビジョンスキャンパイプラインの一部として、ならびに/もしくは、ロボットアーム1002および/またはエンドエフェクタに取り付けられたカメラを用いて、読み取られてよい。バーコードが、側面または底面にあり、もしくは、その他の形で隠れている場合、カメラ(またはその他のセンサ)1010、1012、および、1014は、ロボットがパッケージを持ち上げてコンベヤベルトまたは大箱に移動させる際にパッケージをスキャンするために用いられる。
・これを正しく行うために、いくつかの実施形態において、ロボットは、パッケージが空中でスキャンされることを保証するように、そのコントローラおよび動きの計画を修正し、これは、バーコードスキャナがパッケージを見るために最適な方法で物体を位置づける必要があると同時に、動きの経路を制約するので、物体は空のスロットに着地する。
・これは、ロボットのための動作計画タスクを単純化するため、および、ロボットがスキャンおよびプレースを迅速に実行できることを確実にするために、バーコードスキャナを最適化された構成で配置しなければならないため、底面または側面でのバーコードスキャンにとっては特に困難である。
・スキャナの構成およびロボットの動作計画は、パッケージのサイズおよび重量によって、ロボットがバーコードスキャンを試みる時に物体を異なって配置する必要がありうるので、パッケージ自体によって動的に影響される(ロボットがその動きをどのように適合させなければならないかの例について、パッケージタイプに基づいた把持/速度の最適化のセクションも参照すること)。
・カメラまたはその他のセンサは山の底部を見ることができないので、パッケージの高さは、典型的には、密な山からピックされる時には未知である。この場合、ロボットは、機械学習または幾何モデルを用いて、物体の高さを予測する。高さの推定が低すぎると、ロボットは、バーコードスキャナに物体を当てることになる。高さの推定が高すぎると、ロボットは、物体をスキャンできなくなる。エラースペクトルの片側は、壊滅的(アイテムがスキャナに衝突する)であるが、他方は、単に軌道の再計画を引き起こすだけである。様々な実施形態において、ロボット制御アルゴリズムは、より安全側を用いて、衝突を避けるために物体がより高いと仮定することを選ぶ。物体が遠すぎる場合、ロボットは、人間のように揺する動作で、バーコードスキャナへ徐々に近づけることができるので、その物体はスキャンされる。
【0117】
図10Cは、アイテムを把持してスキャンする処理の一実施形態を示すフローチャートである。様々な実施形態において、
図10Cの処理1020は、ロボットシンギュレーションステーション(
図10Aのステーション1000など)の動作を制御するよう構成された制御コンピュータによって実行される。図の例において、工程1022で、ロボットアームは、アイテムにアプローチし把持するために用いられる。アイテムがアプローチおよび/または把持される際に、アイテムの上面の画像がキャプチャされる。様々な実施形態において、ステーションの近くならびに/もしくはロボットアームおよび/またはエンドエフェクタに取り付けられたカメラなど、アイテム/山に向けられたカメラが、画像をキャプチャするために用いられてよい。工程1024で、画像は、住所ラベルまたはその他のルーティング情報が上面にあるか否かを判定するために処理される。上面にある場合、工程1026で、アイテムは、その面を上にしてコンベヤにプレースされる。
【0118】
ラベルが把持された時の上面にない場合(工程1024)、工程1028で、システムは、1または複数のローカルセンサを用いて、ラベルを見つけようとする。ラベルが見つかり、ロボットシンギュレーションシステムがラベルを上向きに回転させた状態でアイテムをコンベヤ上にプレースできるような表面上にある場合、工程1030で、ローカルスキャンが必要ないと判定され、工程1026で、パッケージは、ラベルが上向きになるように回転され、コンベヤ上にプレースされる。逆に、ラベルが見つからないか、または、ラベルを上向きにするようにパッケージを回転できない場合、工程1030で、ラベルをローカルにスキャンすべきであると判定される。かかる場合には、工程1032で、ラベルは、例えば、
図10Aおよび
図10Bのカメラ1010、1012、および、1014などの多軸センサアレイを用いて、ローカルにスキャンされる。パッケージは、工程1034で、コンベヤ上にプレースされ、工程1036で、ラベルをローカルにスキャンすることによって決定されたルーティング情報が、アイテムのプレースされたコンベヤ上のスロットまたはその他の区画された位置と関連付けられる。
【0119】
下流では、ロボットシンギュレーションステーションでアイテムのラベルをローカルにスキャンすることによって決定されたルーティング情報は、ルーティング情報に少なくとも部分的に基づいて決定された中間目的地または最終目的地にアイテムを仕分け/ルーティングするために用いられる。
【0120】
図11は、1または複数の人間のシンギュレーション作業員を組み込んだマルチステーションロボットシンギュレーションシステムの一実施形態を示す図である。図の例において、ロボットシンギュレーションシステム1100は、(図の)左端のステーションでロボットアーム202が人間の作業員1102に置き換えられていることを除いて、
図2Bのシステムの要素を備えている。
【0121】
いくつかの実施形態において、ロボットシステムは、
図11に示す例のように、例えば、最後またはその他の下流ステーションに、1または複数の人間のシンギュレーション作業員を含む。システムおよび/または人間の作業員は、シンギュレートが困難なアイテム(例えば、大型の柔軟な袋)を人間の作業員のいる作業ステーションに提供する。ロボットシステムは、人間の作業員によって埋められるように、スロットを空けておく。
【0122】
いくつかの実施形態において、各シングレーションステーションは、1以上のロボットおよび1以上の人間の作業員が、例えば、同じステーションで一緒に作業するための、場所を備える。人間の作業員のための場所は、ロボットアームの伸びないエリアで作業員がシンギュレーションを実行するのに十分なスペースを提供する。様々な実施形態において、人間の作業員は、ロボットアームのスループットを補強し、誤配置、(例えば、ラベルをスキャンするのに)誤った向きを修正し、上流のロボットまたはその他の作業員によって満たされなかったコンベヤスロットを確実に満たす、などを実行できる。
【0123】
シンギュレーション作業空間がしばしば限られていることを考慮して、以下の状況が、様々な実施形態において、コントローラ(例えば、制御コンピュータ)によって対処される:
【0124】
--ロボットは、パッケージの流れが速すぎるか、または、いくつかのパッケージの把持が実行不可能であると判断した場合、その場を離れ、安全モードになり、来て支援するよう人間のオペレータへのメッセージをトリガする。
【0125】
--ロボットは、パッケージがピックしにくいと判断した場合(例えば、密集しすぎてピックできない、角または縁に引っかかっている、エンドエフェクタの吸着カップを損傷しうる鋭い/尖った部分を持つ、重すぎる、など)、その場を離れ、安全モードになり、来て支援するよう人間のオペレータへのメッセージをトリガする。
【0126】
あるいは、ロボットは、ロボットが正しいピックを行うよう導くリモートオペレータに、ソフトウェアインターフェース上でピック判断を提示し、ピックは、人間によって提供されるハイレベルな誘導であり(直接的な遠隔操作ではない)、上記のロボットのピックロジックによって実行される。
【0127】
あるいは、ロボットは、すべてのピック不可能なパッケージを、後に人間の操作者にそれらのパッケージを送る「リターンまたはピック不可能アイテムシュート」へ突き動かすかまたは押す。
【0128】
--パッケージの流れが速すぎる場合、ロボットは、人間への交替をトリガしてよい。この状況において、ロボットは、人間の邪魔にならないように、安全モードに移行する。制御システムは、以下の2つの選択肢を準備している:(i)人間のオペレータが、十分なスペースを有しており、一時的にいくつかのパッケージをピックして全体の流れを減らす手伝いをするために、ロボットの隣で操作できる、または、(ii)人間のオペレータが、ロボット全体を邪魔にならない場所(例えば、シュートの下)へ物理的に移動させ、通常通りにピックを実行する。両方の状況において、コンピュータビジョンシステムは、人間のピックを監視し続け、そのデータを用いて、そのタイプの状況に遭遇した際により良く振る舞うようにロボットに学習させる。
【0129】
いくつかの実施形態において、単一のシンギュレーションステーションが、人間およびロボットの作業員の両方にアイテムのピックおよびシンギュレートをさせてもよい。人間は、自律ロボット動作でのピックアンドプレースが困難であるとわかっているアイテムなど、人間がピックするよう訓練されているアイテムをシンギュレートしてよい。いくつかの実施形態において、システムは、人間の作業員の動きを監視し、ロボットアームを用いて、人間の作業員に近づかないような軌道で、アイテムをピック、移動、および、プレースする。安全プロトコルにより、人間が近づきすぎた場合に、ロボットがその動きを減速または停止することが保証されている。
【0130】
図12は、配置エラーを検出して修正する処理の一実施形態を示すフローチャートである。様々な実施形態において、
図12の処理1200は、制御コンピュータ(
図2Aおよび
図2Bの制御コンピュータ212など)によって実行される。
【0131】
工程1202で、配置エラーが検出される。例えば、ビジョンシステムで処理された画像、ロボットアーム上の力センサ、真空の喪失を検出する圧力センサ、などの内の1または複数が、プレース前にアイテムが落下したことを検出するために用いられてよい。あるいは、アイテムがコンベヤ上の意図したスロットにプレースされなかったこと、2つのアイテムが同じスロットにプレースされたこと、アイテムが下流でスキャンできないような向きにプレースされたこと、などを判定するために、画像データが処理されてもよい。
【0132】
工程1204で、コントローラは、下流の作業員(別のロボットアームおよび/または人間の作業員など)が、検出されたエラーを修正するため計画を決定する。工程1206で、下流の作業員がエラー修正に割り当てられ、工程1208で、グローバル計画および/または任意の影響を受けたローカル計画が、エラー修正への下流の作業員の利用を反映するために、必要に応じて、更新される。例えば、下流の作業員は、ローカルスケジューラが割り当てたローカルタスクを実行するために、もはや利用できないか、または、すぐに利用可能である場合がある。様々な実施形態において、上流で検出されたエラーを修正するためにリソース(例えば、ロボットアーム)が割り当てられると、ローカルスケジューラは、割り当てられたエラー修正タスクを組み込むために、そのローカル計画および割り当てタスクを更新する。
【0133】
例えば、ロボットが、1つのパッケージを保持することになっているスロットに2つのパッケージをプレースした場合、下流のカメラまたはその他のセンサが、そのエラーを特定し、下流のロボットとその情報を共有することができる。下流のロボットの制御アルゴリズムは、リアルタイムで、ピックの優先順位を下げ、その代わりに、追加のパッケージをピックして、空のスロットに(または、後にピックしてスロットに1つずつプレースするために、自身の山に)プレースすることができる。いくつかの実施形態において、ローカルバーコードスキャナが、パッケージをスキャンするために用いられてよく、それにより、システムは、パッケージが最終的にプレースされるスロットにパッケージバーコードが関連付けられることを確実にすることができる。
【0134】
いくつかの実施形態において、品質監視システムが、配置ミス、アイテムの落下、アイテムを収容することが期待される空のスロット、2以上のアイテムを含むスロット、などを検出するために提供される。いくつかの実施形態において、仕切り付きコンベヤベルトまたはその他の出力搬送装置のスロット内に2以上の(または、その他の要求および/または期待される数を超える)アイテムが存在する場合、品質監視システムは、他のスロットが空であるか否かを確認し、多すぎるアイテムを有するスロットから空のスロットへ正しいアイテムを移動させるための修正行動を取る。例えば、人間の作業員または下流のロボットが、多すぎるアイテムを有するスロットから誤配置のアイテムをピックして空きスロットにプレースするタスクを課せられてよい。
【0135】
様々な実施形態において、本明細書で開示されている技術は、ほとんどの場合に完全自律モードで動作できるロボットシンギュレーションシステムを提供するために用いられる。
【0136】
上述の実施形態は、理解しやすいようにいくぶん詳しく説明されているが、本発明は、提供されている詳細事項に限定されるものではない。本発明を実施する多くの代替方法が存在する。開示されている実施形態は、例示であり、限定を意図するものではない。
【国際調査報告】