IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社MUJINの特許一覧

特開2023-52476物体更新機構を備えたロボットシステム及びロボットシステムを操作するための方法
<>
  • 特開-物体更新機構を備えたロボットシステム及びロボットシステムを操作するための方法 図1
  • 特開-物体更新機構を備えたロボットシステム及びロボットシステムを操作するための方法 図2
  • 特開-物体更新機構を備えたロボットシステム及びロボットシステムを操作するための方法 図3
  • 特開-物体更新機構を備えたロボットシステム及びロボットシステムを操作するための方法 図4
  • 特開-物体更新機構を備えたロボットシステム及びロボットシステムを操作するための方法 図5
  • 特開-物体更新機構を備えたロボットシステム及びロボットシステムを操作するための方法 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023052476
(43)【公開日】2023-04-11
(54)【発明の名称】物体更新機構を備えたロボットシステム及びロボットシステムを操作するための方法
(51)【国際特許分類】
   B25J 13/08 20060101AFI20230404BHJP
   B65G 47/90 20060101ALI20230404BHJP
   B65G 57/20 20060101ALN20230404BHJP
【FI】
B25J13/08 A
B65G47/90 B
B65G57/20
【審査請求】未請求
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023005923
(22)【出願日】2023-01-18
(62)【分割の表示】P 2022115234の分割
【原出願日】2022-07-20
(31)【優先権主張番号】63/225,346
(32)【優先日】2021-07-23
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/841,545
(32)【優先日】2022-06-15
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
2.ZIGBEE
(71)【出願人】
【識別番号】515182347
【氏名又は名称】株式会社Mujin
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100134371
【弁理士】
【氏名又は名称】中塚 隆志
(72)【発明者】
【氏名】金本 良樹
(72)【発明者】
【氏名】デアンコウ,ロセン ニコラエフ
(57)【要約】
【課題】予期しない物体を移送するためのロボットシステム及び方法を提供すること。
【解決手段】ロボットシステムは、パッケージの初期検出結果に基づいて導出された動作計画を使用して、パッケージを開始位置からタスク位置に移送する。動作計画の実行中に、追加センサデータを取得し、初期検出結果に対応する登録レコードと比較し、誤検出を判定する。追加センサデータを使用して、初期動作計画から逸脱し置換動作計画を実行して、パッケージをタスク位置に移送する。パッケージに関して、追加センサデータを含むように登録レコードを更新する。
【選択図】図6
【特許請求の範囲】
【請求項1】
ロボットシステムを操作するための方法であって、
画像データに基づいて、前記画像データに表現されるパッケージを識別する初期検出結果を生成することと、
前記初期検出結果に基づいて導出された初期動作計画の実行を開始することであって、前記初期動作計画は、前記パッケージを開始位置からタスク位置に移送するためのものであることと、
前記初期動作計画の少なくとも第1の部分の実行中に追加センサデータを取得することと、
前記追加センサデータを、前記初期検出結果に対応する登録レコードと比較することと、
前記比較に基づいて誤検出を判定することと、
前記取得された追加センサデータに基づいて、置換動作計画を動的に導出することと、
前記パッケージを前記タスク位置に移送するために、前記初期動作計画又はその第2の部分に代えて、前記置換動作計画を実行することと、
前記パッケージについて、前記追加センサデータを含むように登録レコードを更新することと、を含む、方法。
【請求項2】
前記取得された追加センサデータに基づいて置換フットプリントを導出することをさらに含み、
前記置換動作計画が、前記登録レコードにおける寸法に代えて、前記置換フットプリントに基づいて導出される、請求項1に記載の方法。
【請求項3】
前記追加センサデータが、前記パッケージの重心(CoM)位置を表す測定値を含み、
前記置換フットプリントが、前記置換フットプリントの中央部分での前記CoM位置又はその推定値を用いて導出される、請求項2に記載の方法。
【請求項4】
前記追加センサデータが、前記パッケージを移送するため前記初期動作計画を実行しているロボットユニットによって提供される重みベクトル又はトルク測定値を含み、
当該方法が、前記重みベクトルに基づいて前記CoM位置を推定することをさらに含む、請求項3に記載の方法。
【請求項5】
前記置換動作計画が、前記初期動作計画に関連する初期把持位置に代えて、前記CoM位置上で前記パッケージを再把持する命令を含む、請求項3に記載の方法。
【請求項6】
前記追加センサデータが、前記パッケージの測定された重量を含み、
前記置換動作計画が、前記登録レコードによって示されている重量に代えて、前記測定された重量に基づいて導出される、請求項1に記載の方法。
【請求項7】
前記追加センサデータが、前記パッケージの測定された高さを含み、
前記置換動作計画が、前記登録レコードによって示されている高さに代えて、前記測定された高さに基づいて導出される、請求項1に記載の方法。
【請求項8】
前記登録レコードの更新が、前記登録レコード内の記録された特性を、前記追加センサデータで自動的に置き換えることを含む、請求項1に記載の方法。
【請求項9】
前記登録レコードの更新が、前記追加センサデータを使用して新しい登録レコードを作成することによって前記パッケージを自動的に登録することを含むものであり、
前記新しい登録レコードは、前記初期検出結果に対応する前記登録レコードに加えられるものである、請求項1に記載の方法。
【請求項10】
前記追加センサデータが、前記初期検出結果に対応する前記登録レコードにしたがう対応する予期される特性から逸脱する場合、前記初期動作計画の実行を一時停止することをさらに含み、
前記置換動作計画が、一時停止した位置から前記パッケージを移送するためのかつ前記初期動作計画の前記第2の部分を置き換えるためのものである、請求項1に記載の方法。
【請求項11】
前記初期動作計画の実行を開始することが、外部計画モジュールからかつ外部計画モジュールによって導出された前記初期動作計画を受信することを含み、
前記置換動作計画を動的に取得することが、前記外部計画モジュールとは別のコントローラを使用して前記初期動作計画を動的に調整することを含む、請求項10に記載の方法。
【請求項12】
前記追加センサデータが、前記初期検出結果に関連する登録レコードにしたがう対応する予期される特性から逸脱する場合、コントローラを使用して、自動置換動作を実行することを含み、
前記自動置換動作は、前記初期動作計画の前記第1の部分の反転及び/又は外部計画モジュールと通信せずに、前記パッケージを前記開始位置に戻すために前記パッケージを放すことを含み、
前記置換動作計画を取得することが、
前記置換動作計画に対して前記コントローラから前記外部計画モジュールに要求を送信することであって、前記要求は、前記追加センサデータを含むことと、
前記外部計画モジュールから前記置換動作計画を受信することと、を含む、請求項1に記載の方法。
【請求項13】
前記外部計画モジュールを使用して、前記初期検出結果に基づいて前記初期動作計画を導出することであって、前記初期動作計画は、初期把持位置、初期移送高さ、初期移送速度、又はそれらの組み合わせに対応することと、
前記外部計画モジュールを使用して、前記追加センサデータに基づいて前記置換動作計画を導出することと、をさらに含み、
前記置換動作計画の前記導出は、前記パッケージが、前記初期検出結果に対応する前記登録レコードとは異なる登録されていない物体であると想定することを含み、
前記置換動作計画は、前記初期動作計画のそれぞれのコンポーネントとは異なる新しい把持位置、新しい移送高さ、新しい移送速度、又はそれらの組み合わせに対応し、
前記置換動作計画は、前記再配置されたパッケージを前記開始位置から前記タスク位置に移送するためのものである、請求項12に記載の方法。
【請求項14】
少なくとも1つのプロセッサと、
プロセッサ命令を含む少なくとも1つのメモリと、を備え、
前記プロセッサ命令は、実行されると、前記少なくとも1つのプロセッサに対し、
パッケージを開始位置からタスク位置に移送するための初期動作計画を実行することであって、前記初期動作計画は、前記開始位置における前記パッケージを表現する画像データに関連付けられた初期検出結果に基づいて導出されることと、
前記初期動作計画の少なくとも第1の部分の実行中に追加センサデータを取得することと、
前記追加センサデータを、前記初期検出結果に対応する登録レコードと比較することに基づいて、誤検出を判定することと、
前記誤検出の判定に応じて、前記取得された追加センサデータに基づいて置換動作計画を動的に取得することと、
前記パッケージを前記タスク位置に移送するために、前記初期動作計画又はその第2の部分に代えて、前記置換動作計画を実行することと、
を行わせる、ロボットシステム。
【請求項15】
プロセッサ命令を含む非一時的コンピュータ可読媒体であって、
前記プロセッサ命令は、1つ又は複数のプロセッサによって実行されると、前記1つ又は複数のプロセッサに対し、
パッケージを開始位置からタスク位置に移送するための初期動作計画を外部計画モジュールから受信することであって、前記初期動作計画は、前記開始位置における前記パッケージを表現する画像データに関連付けられた初期検出結果に基づいて導出されることと、
前記開始位置から前記パッケージを把持して持ち上げるための、前記初期動作計画の少なくとも第1の部分を実行することと、
前記初期動作計画の少なくとも前記第1の部分の実行中に追加センサデータを取得することであって、前記追加センサデータは、前記把持され持ち上げられたパッケージについて測定されたトルクベクトル、重量、高さ、又はそれらの組み合わせを含むことと、
前記追加センサデータを、前記初期検出結果を生成するのに用いられた登録レコードにおける対応する特性と比較することに基づいて、誤検出を判定することと、
前記誤検出の判定に応じて、前記取得した追加センサデータに基づいて置換動作計画を動的に取得することと、
前記パッケージを前記タスク位置に移送するために、前記初期動作計画又はその第2の部分に代えて、前記置換動作計画を実行することと、
を含む方法を実行させる、非一時的コンピュータ可読媒体。
【請求項16】
前記誤検出は、前記トルクベクトルが、前記初期動作計画に関連付けられた予期されるCoM位置及び/又は把持位置から逸脱する重心(CoM)位置に対応する場合に、判定され、
前記方法は、前記取得された追加センサデータに基づいて置換フットプリントを導出することをさらに含み、
前記置換動作計画は、前記登録レコードの寸法に代えて、前記置換フットプリントに基づいて導出される、請求項15に記載の非一時的コンピュータ可読媒体。
【請求項17】
前記追加センサデータが、前記パッケージの測定された重量及び/又は測定された高さを含み、
前記置換動作計画が、前記登録レコードによって示されている重量又は高さに代えて、前記測定された重量及び/又は前記測定された高さに基づいて導出される、請求項15に記載の非一時的コンピュータ可読媒体。
【請求項18】
前記方法は、前記追加センサデータが、前記初期検出結果に対応する前記登録レコードにしたがう対応する予期される特性から逸脱する場合、前記初期動作計画の実行を一時停止することをさらに含み、
前記置換動作計画は、一時停止した位置から前記パッケージを移送するためのかつ前記初期動作計画の前記第2の部分を置換するためのものである、請求項15に記載の非一時的コンピュータ可読媒体。
【請求項19】
前記方法は、前記追加センサデータが、前記初期検出に関連付けられた登録レコードにしたがう対応する予期される特性から逸脱する場合、コントローラを使用して、自動置換動作を実行することをさらに含み、
前記自動置換動作は、前記初期動作計画の前記第1の部分の反転及び/又は外部計画モジュールと通信せずに、前記パッケージを前記開始位置に戻すために前記パッケージをドロップすることを含み、
前記置換動作計画の取得が、
前記置換動作計画のために前記コントローラから前記外部計画モジュールに要求を送信することであって、前記要求は前記追加センサデータを含むことと、
前記外部計画モジュールから前記置換動作計画を受信することと、を含む、請求項15に記載の非一時的コンピュータ可読媒体。
【請求項20】
前記方法は、
(1)前記登録レコードに代えて、前記パッケージを表す新しい登録レコードを作成することであって、前記新しい登録レコードは、対応する特性に代えて、前記追加センサデータを含むこと、又は
(2)前記登録レコードにおける前記対応する特性を前記追加センサデーで置換すること、
に基づいて、前記パッケージについて、前記追加センサデータを含むように登録レコードを更新することを含む、請求項15に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2021年7月23日に出願された米国仮特許出願第63/225,346号の利益を主張するものであり、その全体を参照により本明細書に援用する。
【0002】
本技術は、一般に、ロボットシステムを対象とし、より詳細には、物体更新機構を備えたロボットシステムを対象とする。
【背景技術】
【0003】
ロボット(例えば、物理的アクションを自動的/自律的に実行するように構成されたマシン)は現在、多くの分野で広範囲に用いられている。例えば、ロボットは、製造、梱包、搬送、及び/又は出荷などにおける様々なタスク(例えば、物体を操作又は移送する)を実行するために使用することができる。タスクを実行する際、ロボットは、人間のアクションを再現することができ、それによって、危険なタスク又は反復的なタスクを実行するのに普通なら必要とされる人間の介入を置換したり低減したりする。ロボットは、より複雑なタスクを実行するのに必要とされる人間の感度及び/又は適応性を複製するために必要な精巧さに欠ける場合が多い。例えば、ロボットは、不正確な物体識別などによる予期しない状況に適応するのが難しいことがよくある。したがって、予期しない状況に対処するために、ロボットの様々な側面を制御かつ管理するための改善されたロボットシステム及び技術の必要性が依然として存在する。
【図面の簡単な説明】
【0004】
図1】本技術の1つ又は複数の実施形態による、ロボットシステムが物体を搬送する例示的な環境を示す。
図2】本技術の1つ又は複数の実施形態によるロボットシステムを示すブロック図である。
図3】本技術の1つ又は複数の実施形態によるマルチコンポーネント移送アセンブリを示す。
図4】本技術の1つ又は複数の実施形態による一対のパッケージの例示的な上面図を示す。
図5】本技術の1つ又は複数の実施形態によるロボットシステムの機能ブロック図である。
図6】本技術の1つ又は複数の実施形態によるロボットシステムを操作するためのフロー図である。
【発明を実施するための形態】
【0005】
本明細書では、予期しない物体を移送するためのシステム及び方法について説明される。システムは、予期される物体ごとの特性のセット(例えば、表面画像、寸法、重量、重心(CoM)位置などといった物理的特性)を説明する登録レコードを含み得る、又はそれらにアクセスし得る。システムは、特性のセットに対応するオブジェクトの測定値又は表現を取得することができるセンサのセット(例えば、視覚センサ、重量/トルクセンサなど)を含み得る、及び/又はそれらと通信し得る。例えば、システムは、1つ又は複数のカメラとインタラクトして、開始位置における1つ又は複数の物体の2次元(2D)及び/又は3次元(3D)画像又は深度マップを取得し得る。取得された画像は、物体のエッジを位置付けること、物体の寸法を推定又は測定すること、物体のアイデンティティを判定すること、物体の位置を判定することなどを含み得る検出プロセスによって処理することができる。検出結果を使用して、各物体を開始位置からタスク位置に移送するための動作計画を導出することができる。以下で詳細に説明するように、システムは、導出された動作計画の実行中に、エンドエフェクタ及びロボットアーム上の1つ又は複数の重量及び/又はトルクセンサを介して、重量測定値及び/又は対応するトルクベクトルといった他の測定値を取得し得る。システムは、取得された測定値を、予期されるデータと比較して、物体の検出されたアイデンティティを検証することができる。測定値と予期されるデータが一致しない場合、システムは、重量及び/又はトルクベクトルなどの取得された測定値を処理して、対象物体のCoMを推定又は計算することができる。いくつかの実施形態では、動的に取得されたCoMを使用して、例えば既存の動作計画を当該CoMにより更新することによって及び/又は動作計画全体を再計算せずに、対象物体を移送することができる。
【0006】
動作中、システムは、類似の物理的特性を有する2つ以上の物体(例えば、物体同士の長さ及び幅の差が所定の閾値範囲内にある)を予期し得る。代替的に又は追加的に、システムは、登録されていないが、登録された物体の1つ又は複数と類似の物理的特性を有する物体を受信し得る又はそれに遭遇し得る。そのような類似の物体を処理する際、システムは、対象の/撮像された物体を誤って検出/識別し得る。例示的な例として、物体「A」及び物体「B」は、一貫して区別できない可能性がある長さ及び幅を有し得る(例えば、システムのハードウェア及び/又はソフトウェアの粒度又は容量下における2つの物体の上面図から)が、異なる高さ及び/又は重量を有する。したがって、システムは、実際の物体「A」を物体「B」として誤って識別し得る。
【0007】
誤った検出により、システムは、誤認された物体を移送するための動作計画の導出及び/又は実行などにおいて、後続の処理に対して他の誤ったパラメータを依存及び/又は予期する可能性がある。例えば、誤検出により、システムは、誤った高さの測定値に依存し得、それにより、誤って検出された物体の移送中に、予期しない衝突が発生する可能性がある。また、検出エラーにより、システムは、誤った重量に依存する可能性があり、それにより、移送中に把持失敗及びピース損失が発生し得る。
【0008】
そのような下流での失敗を防ぐために、システムは、予期値の偏差を使用して、検出エラーを識別かつ調整することができる。例示的な例を続けると、物体「B」としての物体「A」は、高さ、重量、及び/又はCoMなどの他の異なる物理的側面を有し得る。システムが、誤った検出に起因する物体「B」の動作計画を実行する際、システムは、物体「B」に対する対応する重量及び/又はトルクベクトル(例えば、CoM)を予期し得る。実際の物体「A」からの対応する測定値が受信されると(例えば、予期されるパラメータとは異なる)、システムは、エラー状況を判断し、及び/又は、目的物体の初期検出が誤っている場合があると判定することができる。
【0009】
いくつかの実施形態では、システムは、把持された物体のフットプリント(例えば、長さ及び/又は幅)を実際の測定値(例えば、CoM)にしたがって拡大又は縮小することによってなど、把持された物体の推定形状を導出することによって、誤った検出に対処することができる。例えば、システムは、把持された位置を基準として使用し、実際のCoMが、調整されたフットプリントの中央部分になるように、把持された物体の横方向寸法を調整することができる。1つ又は複数の実施形態では、システムは、物体を解放し次いで実際のCoM上で物体を再把持するように構成され得る。追加的に又は代替的に、システムは、移送経路に沿って(例えば、開始位置の上部に又は目的位置の上部に)配置された交差センサ及び/又はサイドビューカメラを使用するなどして、把持された物体の高さを判定することができる。
【0010】
いくつかの実施形態では、システムは、初期把持位置と調整された把持位置との差を考慮するために、1つ又は複数のステータスを更新し、及び/又は、実際のCoMに基づいて(例えば、全体の動作計画を再導出することなく)対応する動作計画の1つ又は複数の初期部分を削除することができる。代替として、システムは、差が1つ又は複数の所定の閾値パラメータを超える場合など、検出された実際のアスペクト及び/又は調整されたフットプリントを使用して、更新された動作計画を導出することができる。さらに、システムは、新しい物体を登録したり又は初期に検出された物体のレコードを更新したりするなどして、実際の測定値を使用して、登録レコードを更新することができる。上記の例示的な例を続けると、システムは、測定された重量/トルクベクトル、CoM、新しい高さなどを使用して、物体「A」の新しい登録レコードを作成することができる。代替として、システムは、測定された重量/トルクベクトル、CoM、新しい高さなどを含めるように物体「B」のレコードを更新することができる。
【0011】
リアルタイム/実際の測定値を使用して、ロボットシステムは、物体検出の効果的な検証を提供することができる。したがって、ロボットシステムは、物体の誤検出によって引き起こされるエラーを低減又は排除することによってスループットを向上させることができる。さらに、ロボットシステムは、オペレータの入力なしで動作を再計画するなどによって自動応答を実行して、誤検出から回復し、誤検出された物体をタスク位置に正常に移送することができる。したがって、ロボットシステムは、人間による検証又はオペレータが提供する応答指示の必要性を排除することによって、効率及び全体的な移送速度を高めることができる。
【0012】
以下では、本発明に開示されている技術の完全な理解をもたらすために、多くの具体的な詳細が記載される。他の実施形態では、ここで紹介された技術は、これらの具体的な詳細を用いずに実施することができる。他の例では、具体的な関数又はルーチンなどの周知の特徴は、本開示を不必要に曖昧にすることを回避するために詳細には説明されない。本明細書における「実施形態」、「一実施形態」などへの言及は、説明されている特定の特徴、構造、材料、又は特性が本開示の少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書におけるそのような語句の出現は、必ずしも全てが同じ実施形態を指すものではない。一方で、そのような言及は必ずしも相互に排他的でもない。さらに、特定の特徴、構造、材料、又は特性は、1つ又は複数の実施形態において任意の好適な様式で組み合わせることができる。図に示す様々な実施形態は、単に例示的な表現であり、必ずしも縮尺通りに描写されていないことを理解されたい。
【0013】
周知であり、しばしばロボットシステム及びサブシステムに関連付けられるが、開示された技術のいくつかの重要な態様を不必要に不明瞭にする可能性がある構造又はプロセスを説明するいくつかの詳細は、明確にするために以下の説明には記載されていない。さらに、以下の開示では、本技術の異なる態様のいくつかの実施形態が示されているが、いくつかの他の実施形態は、本節で説明したものとは異なる構成又は異なる構成要素を有し得る。したがって、開示された技術は、追加の要素を有するか、又は以下で説明する要素のいくつかを有さない他の実施形態を有し得る。
【0014】
以下で説明する本開示の多くの実施形態又は態様は、プログラム可能なコンピュータ又はコントローラによって実行されるルーチンを含む、コンピュータ実行可能命令又はコントローラ実行可能命令の形態をとることができる。当業者であれば分かるように、開示した技術は、以下で図示及び説明するもの以外のコンピュータシステム又はコントローラシステム上で実施することができる。本明細書で説明する技術は、以下で説明するコンピュータ実行可能命令の1つ又は複数を実行するように特別にプログラム、構成、又は構築された専用コンピュータ又はデータプロセッサで具体化することができる。したがって、本明細書中で一般に使用される「コンピュータ」及び「コントローラ」という用語は、任意のデータプロセッサを指し、インターネットアプライアンス及びハンドヘルドデバイス(パームトップコンピュータ、ウェアラブルコンピュータ、セルラーフォン又はモバイルフォン、マルチプロセッサシステム、プロセッサベースの、もしくはプログラム可能な家庭用電化製品、ネットワークコンピュータ、ミニコンピュータなどを含む)を含み得る。これらのコンピュータ及びコントローラによって処理される情報は、液晶ディスプレイ(LCD)を含む任意の適切なディスプレイ媒体で提示され得る。コンピュータ実行可能タスク又はコントローラ実行可能タスクを実行するための命令は、ハードウェア、ファームウェア、又はハードウェアとファームウェアの組み合わせを含む、任意の適切なコンピュータ可読媒体に格納することができる。命令は、例えば、フラッシュドライブ、USBデバイス、及び/又は、有形の非一時的コンピュータ可読媒体を含む他の適切な媒体を含む、任意の適切なメモリデバイスに含めることができる。
【0015】
「結合された」及び「接続された」という用語は、それらの派生語とともに、構成要素間の構造的関係を説明するために本明細書で使用することができる。これらの用語は、互いに同義語として意図されたものではないことを理解されたい。むしろ、特定の実施形態では、「接続された」は2つ以上の要素が互いに直接接触していることを示すために使用することができる。文脈で明らかにされていない限り、「結合された」という用語は、2つ以上の要素が直接又は間接的に(それらの間にある他の介在要素と)互いに接触していること、又は2つ以上の要素が互いに(例えば、信号の送信/受信又は関数呼び出しなどの因果関係のように)連携又は相互作用していること、又はその両方を示すために使用することができる。
【0016】
適切な環境
図1は、本技術の1つ又は複数の実施形態によるロボットシステム100が物体を搬送する例示的な環境の図である。ロボットシステム100は、1つ又は複数のタスクを実行するように構成されている1つ又は複数のユニット(例えば、ロボット)を含み得る及び/又は通信し得る。物体の検出/更新の態様は、様々なユニットによって実施又は実行され得る。
【0017】
図1に示される例において、ロボットシステム100は、倉庫又は物流/出荷ハブにおいて、荷下ろしユニット102、移送ユニット104(例えば、パレタイズロボット及び/又はピースピッカーロボット)、搬送ユニット106、荷積みユニット108、又はそれらの組み合わせを含み得る、及び/又はそれらと通信し得る。ロボットシステム100のユニットの各々は、1つ又は複数のタスクを実行するように構成することができる。タスクは、トラック又はバンから物体を荷下ろしして倉庫に収納したり又は保管場所から物体を荷下ろしして出荷の準備をしたりするなど、目標を達成する動作を実行するために、順番に組み合わせることができる。別の例において、タスクは、物体をタスク位置に(例えば、パレットの上部に及び/又は貯蔵所/ケージ/箱/ケースの内部に)配置することを含み得る。以下で説明するように、ロボットシステムは、物体を配置する及び/又は積み重ねるための計画(例えば、配置位置/配向、物体を移送する順序、及び/又は対応する動作計画)を導出することができる。ユニットの各々は、タスクを実行するため導出されたプランの1つ又は複数にしたがって、一連のアクションを(例えば、その中の1つ又は複数の構成要素を操作することによって)実行するように構成することができる。
【0018】
いくつかの実施形態では、タスクは、対象物体112(例えば、実行中のタスクに対応するパッケージ、箱、ケース、ケージ、パレットなどのうちの1つ)を開始位置114からタスク位置116へ移動させるなどの、対象物体112の操作(例えば、移動及び/又は再配向)を含み得る。例えば、荷下ろしユニット102(例えば、デバンニングロボット)を、対象物体112を運搬装置(例えば、トラック)内の位置からコンベアベルト上の位置へ移送するように構成することができる。また、移送ユニット104は、対象物体112を1つの位置(例えば、コンベアベルト、パレット、又は貯蔵所)から別の位置(例えば、パレット、貯蔵所など)へ移送するように構成することができる。別の例において、移送ユニット104(例えば、パレタイジングロボット)を、対象物体112を供給位置(例えば、パレット、集荷領域、及び/又はコンベア)から目的パレットへ移送するように構成することができる。動作が完了すると、搬送ユニット106は、対象物体112を、移送ユニット104に関連付けられた領域から荷積みユニット108に関連付けられた領域に移送することができ、荷積みユニット108は、(例えば、対象物体112を載せたパレットを移動することによって)対象物体112を移送ユニット104から収納場所(例えば、棚の上の場所)に移送することができる。タスク及び関連するアクション/計算に関する詳細は以下で説明する。
【0019】
例示の目的で、ロボットシステム100は、出荷センターの文脈で説明されるが、ロボットシステム100は、製造、組立、梱包、ヘルスケア、及び/又は他のタイプの自動化といった他の環境で/他の目的でタスクを実行するように構成することができることを理解されたい。また、ロボットシステム100は、図1に示されていない、マニピュレータ、サービスロボット、モジュール型ロボットなどといった他のユニットを含み得る、及び/又はそれらと通信し得ることも理解されたい。例えば、いくつかの実施形態では、他のユニットは、物体をケージカートもしくはパレットからコンベヤもしくは他のパレット上に移送するためのデパレタイズユニット、物体をあるコンテナから別のコンテナに移送するためのコンテナ交換ユニット、物体をラッピングするための梱包ユニット、物体を、物体の1つ又は複数の特性にしたがってグループ化するための分類ユニット、物体を、物体の1つ又は複数の特性にしたがって異なるように操作するための(例えば、分類、グループ化、及び/又は移送するための)ピースピッキングユニット、又はそれらの組み合わせを含み得る。
【0020】
ロボットシステム100は、動作(例えば、回転変位及び/又は並進変位)のためにジョイントで接続されている物理的又は構造的部材(例えば、ロボットマニピュレータアーム)に結合されたコントローラ109を含み得る。コントローラ109は、タスクを実行する1つ又は複数の態様を制御するように構成されているデバイス及び/又は回路(例えば、1つもしくは複数のプロセッサ及び/又は1つもしくは複数のメモリ)を含み得る。構造的部材及びジョイントは、ロボットシステム100の使用/動作に応じて1つ又は複数のタスク(例えば、把持、回転、溶接など)を実行するように構成されているエンドエフェクタ(例えば、グリッパ)を操作するように構成されている運動連鎖を形成することができる。ロボットシステム100は、対応するジョイントの周囲で又はそのジョイントで、構造的部材を駆動又は操作(例えば、変位及び/又は再配向)するように構成されている作動デバイス(例えば、モータ、アクチュエータ、ワイヤ、人工筋肉、電気活性ポリマなど)を含み得る、及び/又はそれらと通信し得る(例えば、コントローラ109を介して)。いくつかの実施形態では、ロボットユニットは、対応するユニット/シャーシを場所から場所へと搬送するように構成されている搬送モータを含み得る。
【0021】
ロボットシステム100は、構造的部材を操作するために及び/又はロボットユニットを搬送するためなどのタスクを実施するために使用される情報を取得するように構成されているセンサを含み得る、及び/又はそれらと通信し得る。センサは、ロボットシステム100の及び/又は周囲環境の1つ又は複数の物理的特性(例えば、その1つ又は複数の構造的部材/ジョイントの状態、状況、及び/又は位置)を検出又は測定するように構成されているデバイスを含み得る。センサのいくつかの例は、加速度計、ジャイロスコープ、力センサ、歪みゲージ、触覚センサ、トルクセンサ、位置エンコーダなどを含み得る。
【0022】
いくつかの実施形態では、例えば、センサは、周囲環境を検出するように構成されている1つ又は複数の撮像デバイス(例えば、視覚カメラ及び/又は赤外線カメラ、2D及び/又は3D撮像カメラ、ライダ又はレーダなどの距離測定デバイスなど)を含み得る。撮像デバイスは、(例えば、自動検査、ロボットガイダンス、又は他のロボット応用のため)マシン/コンピュータビジョンを介して処理され得る、デジタル画像及び/又は点群などの検出された環境の表現を生成することができる。ロボットシステム100は、対象物体112、開始位置114、タスク位置116、対象物体112の姿勢、又はそれらの組み合わせを識別するためにデジタル画像及び/又は点群を処理することができる。
【0023】
対象物体112を操作するために、ロボットシステム100は、指定領域(例えば、トラック内部又はコンベアベルト上などのピックアップ位置)の画像を取り込んで分析して、対象物体112及びその開始位置114を識別することができる。同様に、ロボットシステム100は、別の指定領域(例えば、コンベア上の物体を配置するためのドロップ位置、コンテナ内部の物体を配置するための位置、又は積み重ね目的のパレット上の位置)の画像を取り込んで分析して、タスク位置116を識別することができる。例えば、撮像デバイスは、ピックアップ領域の画像を生成するように構成されている1つ又は複数のカメラ、及び/又は、タスク領域(例えば、ドロップ領域)の画像を生成するように構成されている1つ又は複数のカメラを含み得る。以下で説明するように、取り込まれた画像に基づいて、ロボットシステム100は、開始位置114、タスク位置116、関連する姿勢、梱包/配置計画、移送/梱包順序、及び/又は他の処理結果を判定することができる。
【0024】
いくつかの実施形態では、例えば、センサは、ロボットシステム100の構造的部材(例えば、ロボットアーム及び/又はエンドエフェクタ)及び/又は対応するジョイントの位置を検出するように構成されている位置センサ(例えば、位置エンコーダ、電位差計など)を含み得る。ロボットシステム100は、タスクの実行中に、位置センサを使用して、構造的部材及び/又はジョイントの位置及び/又は配向を追跡することができる。
【0025】
ロボットシステム100は、さらに、コントローラ109とは別個の1つ又は複数のデバイス111を含み得る、又はそれと通信可能に結合され得る。例えば、追加デバイス111(例えば、1つ又は複数のコンピューティングデバイス又はサブシステム)は、位置の全体的な管理及び/又は在庫記録を監視する倉庫管理システム、配送調整システム(例えば、無人搬送車(AGV)制御システム、コンベヤ制御システムなど)、タスク又は関連する物体の順序を制御するシーケンサ、タスクごとの動作計画を導出する動作計画システムなどといったものである。他の実施形態では、コントローラ109は、デバイス111の1つ又は複数のそのような機能(例えば、シーケンス導出、動作計画など)を実行するように構成され得る。
【0026】
ロボットシステム
図2は、本技術の1つ又は複数の実施形態によるロボットシステム100の構成要素を例示するブロック図である。いくつかの実施形態では、例えば、ロボットシステム100(例えば、前述したユニット又はアセンブリ及び/又はロボットのうちの1つ又は複数における)は、1つ又は複数のプロセッサ202、1つ又は複数の記憶装置204、1つ又は複数の通信デバイス206、1つ又は複数の入出力デバイス208、1つ又は複数の作動デバイス212、1つ又は複数の搬送モータ214、1つ又は複数のセンサ216、又はそれらの組み合わせなどの電子/電気装置を含み得る。様々なデバイスは、有線接続及び/又は無線接続を介して互いと結合することができる。例えば、ロボットシステム100用の1つ又は複数のユニット/構成要素及び/又はロボットユニットの1つ又は複数は、システムバス、ペリフェラルコンポーネントインターコネクト(PCI)バス又はPCI-Expressバス、ハイパートランスポート又は業界標準アーキテクチャ(ISA)バス、小型コンピュータシステムインターフェース(SCSI)バス、ユニバーサルシリアルバス(USB)、IIC(I2C)バス、又は電気電子技術者協会(IEEE)標準1394バス(「ファイアワイヤ」とも呼ばれる)等のバスを含み得る。また、例えば、ロボットシステム100は、デバイス間の有線接続を提供するための、ブリッジ、アダプタ、コントローラ、又は他の信号関連デバイスを含み得る、及び/又はそれらと通信し得る。無線接続は、例えば、セルラー通信プロトコル(例えば、3G、4G、LTE、5G等)、無線ローカルエリアネットワーク(LAN)プロトコル(例えば、ワイヤレスフィデリティ(WIFI))、ピアツーピア通信プロトコルもしくはデバイス間通信プロトコル(例えば、Bluetooth、近距離無線通信(NFC)等)、モノのインターネット(IoT)プロトコル(例えば、NB-IoT、Zigbee、Z-wave、LTE-M等)、及び/又は他のワイヤレス通信プロトコルに基づき得る。
【0027】
プロセッサ202は、記憶装置204(例えば、コンピュータメモリ)上に記憶された命令(例えば、ソフトウェア命令)を実行するように構成されているデータ処理装置(例えば、中央処理ユニット(CPU)、専用コンピュータ、及び/又はオンボードサーバ)を含み得る。プロセッサ202は、他のデバイスを制御するための/他のデバイスとインターフェースをとるためのプログラム命令を実行することができ、それによって、ロボットシステム100に、アクション、タスク、及び/又は動作を実行させる。
【0028】
記憶装置204は、プログラム命令(例えば、ソフトウェア)が格納されている非一時的コンピュータ可読媒体を含み得る。記憶装置204のいくつかの例は、揮発性メモリ(例えば、キャッシュ及び/又はランダムアクセスメモリ(RAM)及び/又は不揮発性メモリ(例えば、フラッシュメモリ及び/又は磁気ディスクドライブ)を含み得る。記憶装置204の他の例は、ポータブルメモリドライブ及び/又はクラウド記憶装置を含み得る。
【0029】
いくつかの実施形態では、記憶装置204を使用して、処理結果、テンプレート(例えば、形状テンプレート、把持セットなど)、及び/又は所定のデータ/閾値をさらに記憶しかつそれらへのアクセスを提供することができる。例えば、記憶装置204は、登録レコード232(マスタデータとも呼ばれる)を記憶する登録データベースシステム(RDS)を含み得る。各登録レコード232は、ロボットシステム100によって操作され得る対応する物体(例えば、箱、ケース、コンテナ、及び/又は製品)の説明を含み得る。登録レコード232は、ロボットシステム100によって操作されることが予期される物体の1つ又は複数の寸法、形状(例えば、可能性のある姿勢のテンプレート、及び/又は様々な姿勢の物体を認識するためのコンピュータ生成モデル)、配色、画像、識別情報(例えば、バーコード、クイック応答(QR)コード(登録商標)、ロゴなど、及び/又はそれらの予想される位置)、予期される質量もしくは重量、又はそれらの任意の組み合わせといった1つ又は複数の物理的特性又は属性を含み得る。登録レコード232は、さらに、物体の各々上のCoM位置、1つもしくは複数のテンプレートSis、1つもしくは複数のアクション/手順に対応する予期されるセンサ測定値(例えば、力、トルク、圧力、及び/又は接触測定値)、視覚データ(例えば、参照レーダ/ライダデータ)、又はそれらの組み合わせなどの物体に関する操作関連情報を含み得る。
【0030】
また、記憶装置204は、物体追跡データを記憶することができる。いくつかの実施形態では、物体追跡データは、スキャン又は操作された物体のログを含み得る。いくつかの実施形態では、物体追跡データは、1つ又は複数の位置(例えば、指定されたピックアップ又はドロップ位置及び/又はコンベアベルト)における物体の画像データ(例えば、写真、点群、ライブビデオフィードなど)を含み得る。いくつかの実施形態では、物体追跡データは、1つ又は複数の位置における物体の位置及び/又は配向を含み得る。
【0031】
通信デバイス206は、ネットワークを介して外部デバイス又はリモートデバイスと通信するように構成されている回路を含み得る。例えば、通信デバイス206は、受信器、送信器、変調器/復調器(モデム)、信号検出器、信号エンコーダ/デコーダ、コネクタポート、ネットワークカードなどを含み得る。通信デバイス206を、1つ又は複数の通信プロトコル(例えば、インターネットプロトコル(IP)、無線通信プロトコルなど)にしたがって、電気信号を送り、受信し、及び/又は処理するように構成することができる。いくつかの実施形態では、ロボットシステム100は、通信デバイス206を用いて、ロボットシステム100のユニット間で情報を交換し及び/又は(例えば、報告、データ収集、分析、及び/又はトラブルシューティングの目的で)ロボットシステム100の外部のシステム又はデバイスと情報を交換することができる。
【0032】
入出力デバイス208は、人間のオペレータに情報を伝え及び/又は人間のオペレータから情報を受信するように構成されているユーザインターフェースデバイスを含み得る。例えば、入出力デバイス208は、人間のオペレータに情報を伝達するためのディスプレイ210及び/又は他の出力装置(例えば、スピーカ、触覚回路、又は触覚フィードバックデバイスなど)を含み得る。また、入出力デバイス208は、キーボード、マウス、タッチスクリーン、マイクロフォン、ユーザインターフェース(UI)センサ(例えば、動作コマンドを受信するためのカメラ)、ウェアラブル入力デバイス等といった制御デバイス又は受信デバイスを含み得る。いくつかの実施形態では、ロボットシステム100は、入出力デバイス208を使用して、アクション、タスク、動作、又はそれらの組み合わせを実行する際に人間オペレータとインタラクトすることができる。
【0033】
いくつかの実施形態では、コントローラ(例えば、図1のコントローラ109)が、プロセッサ202、記憶装置204、通信デバイス206、及び/又は入力出力デバイス208を含み得る。コントローラは、スタンドアロンコンポーネント、又はユニット/アセンブリの一部であり得る。例えば、システム100の各荷下ろしユニット、移送アセンブリ、搬送ユニット、及び荷積みユニットは、1つ又は複数のコントローラを含み得る。いくつかの実施形態では、単一のコントローラは、複数のユニット又はスタンドアロンコンポーネントを制御することができる。
【0034】
ロボットシステム100は、動作(例えば、回転変位及び/又は並進変位)のためにジョイントで接続されている物理的又は構造的部材(例えば、ロボットマニピュレータアーム)を含み得る、及び/又はそれらと通信し得る。構造的部材及びジョイントは、ロボットシステム100の使用/動作に応じて1つ又は複数のタスク(例えば、把持、回転、溶接など)を実行するように構成されているエンドエフェクタ(例えば、グリッパ)を操作するように構成されている運動連鎖を形成することができる。運動連鎖は、対応するジョイントの周囲で又は対応するジョイントで、構造的部材を駆動又は操作(例えば、変位及び/又は再配向)するように構成されている作動デバイス212(例えば、モータ、アクチュエータ、ワイヤ、人工筋肉、電気活性ポリマなど)を含み得る。いくつかの実施形態では、運動連鎖は、対応するユニット/シャーシを場所から場所へと搬送するように構成されている搬送モータ214を含み得る。例えば、作動デバイス212及び搬送モータは、ロボットアーム、リニアスライド、又は他のロボット構成要素に接続されているか又はそれらの一部である。
【0035】
センサ216は、構造的部材を操作するための及び/又はロボットユニットを搬送するためなどのタスクを実行するのに使用される情報を取得するように構成することができる。センサ216は、コントローラ、ロボットユニットの1つ又は複数の物理的特性(例えば、1つ又は複数の構造的部材/そのジョイントの状態、状況、及び/又は位置)、及び/又は周囲環境の1つ又は複数の物理的特性を検出又は測定するように構成されているデバイスを含み得る。センサ216のいくつかの例は、接触センサ、近接センサ、加速度計、ジャイロスコープ、力センサ、歪みゲージ、トルクセンサ、位置エンコーダ、圧力センサ、真空センサなどを含み得る。
【0036】
いくつかの実施形態では、例えば、センサ216は、周囲環境を検出するように構成されている1つ又は複数の撮像デバイス222(例えば、二次元及び/又は三次元撮像デバイス)を含み得る。撮像デバイスは、カメラ(視覚カメラ及び/又は赤外線カメラを含む)、ライダデバイス、レーダデバイス、及び/又は他の距離測定デバイス又は距離検出デバイスを含み得る。撮像デバイス222は、(例えば、自動検査、ロボットガイダンス、又は他のロボット応用のため)マシン/コンピュータビジョンを実行するのに用いられる、デジタル画像及び/又は点群などの検出された環境の表現を生成することができる。
【0037】
ここで図1及び図2を参照すると、ロボットシステム100は(例えば、プロセッサ202を介して)、画像データ及び/又は点群を処理して、対象パッケージ112、開始位置114、タスク位置116、対象パッケージ112の姿勢、又は、それらの組み合わせを識別することができる。ロボットシステム100は、撮像デバイス222からの画像データを使用して、物体にアクセスしてピックアップする方法を判定することができる。物体の画像を分析して、対象物体を把持するための真空グリッパアセンブリを位置決めするための動作計画を判定することができる。ロボットシステム100は(例えば、様々なユニットを介して)、指定領域(例えば、トラック内部、コンテナ内部、又はコンベヤベルト上の物体のピックアップ位置)の画像を取り込み分析して、対象パッケージ112及びその開始位置114を識別することができる。同様に、ロボットシステム100は、別の指定領域(例えば、コンベヤベルト上の物体を配置するためのドロップ位置、コンテナ内部の物体を配置するための位置、又は積み重ね目的のためのパレット上の場所)の画像を取り込み分析して、タスク位置116を識別することができる。
【0038】
また、例えば、センサ216は、ロボットシステム100の構造的部材(例えば、ロボットアーム及び/又はエンドエフェクタ)及び/又は対応するジョイントの位置を検出するように構成されている位置センサ224(例えば、位置エンコーダ、電位差計など)を含み得る。ロボットシステム100は、タスクの実行中に、位置センサ224を使用して、構造的部材及び/又はジョイントの位置及び/又は配向を追跡することができる。本明細書に開示される荷下ろしユニット、移送ユニット、搬送ユニット/アセンブリ、及び荷積みユニットは、センサ216を含み得る。
【0039】
いくつかの実施形態では、センサ216は、エンドエフェクタなどにおける運動連鎖にかかる力を測定するように構成されている1つ又は複数の力センサ226(例えば、重量センサ、歪みゲージ、ピエゾ抵抗センサ/圧電センサ、容量センサ、弾性抵抗センサ、及び/又は他の触覚センサ)を含み得る。例えば、センサ216を使用して、ロボットアームにかかる負荷(例えば、把持された物体)を判定することができる。力センサ226は、エンドエフェクタに又はその周辺に取り付けすることができ、結果として生じる測定値が、基準位置に対する把持された物体の重量及び/又はトルクベクトルを表すように構成することができる。1つ又は複数の実施形態では、ロボットシステム100は、トルクベクトル、重量、及び/又は物体の他の物理的特性(例えば、寸法)を処理して、把持された物体のCoMを推定することができる。
【0040】
ロボット移送アセンブリ
図3は、本技術の1つ又は複数の実施形態による移送アセンブリ104を示す。移送アセンブリ104は、撮像システム160及びロボットアームシステム132を含み得る。撮像システム160は、デパレタイジングプラットフォーム110を有する目標環境から取り込んだ画像データを提供することができる。ロボットアームシステム132は、ロボットアームアセンブリ139及びエンドエフェクタ140(例えば、グリッパアセンブリ)を含み得る。ロボットアームアセンブリ139は、エンドエフェクタ140を、ピックアップ環境163に位置するスタック165における物体のグループの上に位置付けることができる。
【0041】
図3は、コンベヤ120の上に位置決めされた単一の物体又はパッケージ112(「パッケージ112」)を運んでいるエンドエフェクタ140を示す。エンドエフェクタ140は、パッケージ112を、コンベヤベルト120などの図1のタスク位置116上で放すことができ、次に、ロボットアームシステム132は、荷下ろししたエンドエフェクタ140をパッケージ112a、112bの両方の真上に位置決めすることによって、パッケージ112a、112bを回収することができる。次に、エンドエフェクタ140は、バキュームグリップを介して、パッケージ112a、112bの1つ又は複数を持つことができ、ロボットアームシステム132は、保持されたパッケージ112a及び/又は112bをコンベヤ120の真上の位置まで運ぶことができる。次に、エンドエフェクタ140は、パッケージ112a、112bをコンベヤ120上で(例えば、同時に又は連続的に)放すことができる。このプロセスは、スタック165から物体をコンベヤ120に運ぶために任意の回数繰り返すことができる。
【0042】
図3を続けて参照すると、デパレタイズプラットフォーム110は、その上に複数の物体又はパッケージ112(単数では「パッケージ112」)が積み重ねられ及び/又は分類されて搬送の準備がされ得る任意のプラットフォーム、表面、及び/又は構造を含み得る。撮像システム160は、デパレタイズプラットフォーム110上のパッケージ112の画像データを取り込むように構成されている1つ又は複数の撮像デバイス161を含み得る。撮像デバイス161は、ピックアップ環境163における距離データ、位置データ、動画、静止画、ライダデータ、レーダデータ、及び/又は動きを取り込むことができる。本明細書では「物体」及び「パッケージ」という用語が使用されているが、これらの用語は、以下に限定されるものではないが、「ケース」、「箱」、「カートン」、又はそれらの任意の組み合わせなどの、把持され、持ち上げられ、搬送され、かつ配送されるのが可能な任意の他のアイテムを含むことに留意されたい。さらに、多角形の箱(例えば、長方形の箱)が本明細書に開示される図面に示されているが、箱の形状はそのような形状に限定されるものではなく、把持され、持ち上げられ、搬送され、配送されることが可能な任意の規則的又は不規則な形状を含む。
【0043】
デパレタイズプラットフォーム110と同様に、受入コンベヤ120は、さらなるタスク/動作のためにパッケージ112を受け入れるように設定された任意のプラットフォーム、表面、及び/又は構造を含み得る。いくつかの実施形態では、受入コンベヤ120は、パッケージ112を1つの位置(例えば、放されたポイント)から別の位置にさらなる動作(例えば、分類及び/又は保管)のために搬送するためのコンベヤシステムを含み得る。
【0044】
誤認の例
ロボットシステム100は、パッケージ112の任意の誤認又は誤検出に反応して処理するように構成することができる。図4は、本技術の1つ又は複数の実施形態による、一対のパッケージ112aと112bの例示的な上面図400(例えば、撮像システム160からの撮像データ)を示す。図3及び図4を一緒に参照すると、撮像システム160は、パッケージ112a及び112bの対応する上面図(複数可)を取得するように構成されている1つ又は複数の下向きカメラを含み得る。したがって、ロボットシステム100は、パッケージ112a及び112bが類似の横方向寸法(例えば、長さ及び幅)を有する場合、それらを誤って識別する場合がある。例えば、上面画像400は、ロボットシステム100に、パッケージ112aをパッケージ112bとして誤認させる可能性がある。したがって、ロボットシステム100は、高さ192aではなく高さ192b、CoM194aではなくCoM194bなどと誤って説明するパッケージ112aに対する動作計画を導出することができる。例えば、動作計画は、CoM194aではなくCoM194bに対応する(例えば、重複する)把持位置196に対応し得る。
【0045】
ロボットシステム100は、パッケージ112aを把持位置196で把持する及び/又はパッケージ112aを持ち上げることによってなど、結果として生じる動作計画の少なくとも初期部分を実行することができる。ロボットシステム100は、パッケージ112aを最初に持ち上げている間及び/又は持ち上げた後に、力の測定値のセットを取得するように構成することができる。取得された測定値は、パッケージ112aの実際の重量、及び/又は実際のCoM194aと把持位置196の差に対応するベクトル197(例えば、トルクベクトル)を含み得る。ロボットシステム100は、パッケージ112aに対応する、取得されたセンサ出力を、予期されるセンサ出力(例えば、パッケージ112bの登録された特性)と比較するように構成することができる。比較された出力が一致しない場合、ロボットシステム100は検出エラーを検出することができる。
【0046】
いくつかの実施形態では、ロボットシステム100は、センサ出力の予期値と取得された値の差を計算することができる。計算された差が所定の最大エラー状況を超えると、ロボットシステム100は、失敗状況をオペレータに信号通知及び/又は通知することができる。代替的に又は追加的に、ロボットシステム100は、差が所定の最小エラー状態を下回る場合、既存の動作計画を継続することができる。
【0047】
ロボットシステム100は、差が所定の範囲又はテンプレートを満たす場合など、特定の条件下でパッケージ112aを再処理するように構成され得る。例えば、ロボットシステム100は、ベクトル197、予期される寸法、及び/又は把持位置196に基づいて、推定形状198を導出することができる。ロボットシステム100は、実際のCoM194a(例えば、ベクトル197によるその推定値)が推定形状198の中央部分に位置するように、推定形状198を導出することができる。また、ロボットシステム100は、ロボットアームを操作し、及び/又は、パッケージ112aの実際の高さ192aを判定するためプロセスを実行することができる。ロボットシステム100は、推定形状、推定CoM、及び/又は実際の高さを使用して、パッケージ112aを処理することができる。例えば、ロボットシステム100は、更新された測定値又はパラメータを使用して、持ち上げ高さを高める、運動速度を下げる、パッケージ112aを放す、実際のCoM194aで再把持するなどによって、新しい/置換動作計画を再導出し、及び/又は、既存の動作計画を調整することができる。ロボットシステム100は、さらに、パッケージ112aの新しいレコードを作成する及び/又はパッケージ112bのレコードを最新の結果で更新する(例えば、高さ、重量、CoMなどを置き換えることによって)などによって、登録レコード232を更新することができる。
【0048】
システム接続の例
ロボットシステム100は、パッケージ112を最初に処理する際、及び/又は、誤った物体検出に応答する際に、機能のセットを実行することができる。図5は、本技術の1つ又は複数の実施形態による、ロボットシステム100の機能ブロック図である。ロボットシステム100は、パッケージ112を処理し誤った検出に応答するように構成されている検出モジュール502、計画モジュール504、及び/又は実行モジュール506を含み得る。ロボットシステム100は、図1のコントローラ109、図1のデバイス111の1つもしくは複数、図2のプロセッサ202の1つもしくは複数、又はそれらの組み合わせを用いて、検出モジュール502、計画モジュール504、及び/又は実行モジュール506を実装することができる。
【0049】
検出モジュール502は、パッケージ112の1つ又は複数を検出するように構成することができる。いくつかの実施形態では、検出モジュール502は、撮像デバイス161から受信した画像データ510を処理することができる。検出モジュール502は、画像データ510から、2D/3Dエッジ、コーナー、テクスチャ(例えば、表面画像又は設計)などといった特徴を抽出することによって画像データを処理することができる。検出モジュール502は、抽出された特徴を、図2の登録レコード232と比較して、画像データ510に表現される登録された物体を認識又は識別することができる。検出モジュール502は、さらに、画像データ510に表現される物体(例えば、識別された登録された物体)の1つ又は複数の位置を識別することができる。例えば、検出モジュール502は、エッジのセットが特定の物体に属しているが他のエッジは他の/妨げられる物体に属している可能性が高いことを識別/検証することができる。検出モジュール502は、検出された物体ごとに検出結果(例えば、初期結果512)を生成することができる。検出結果は、検出された物体のアイデンティティ、検出された物体の位置/姿勢、及び/又は検出された物体に関する他の詳細を含み得る。
【0050】
検出モジュール502は、認識されていない及び/又は登録されていない物体を自動的に(例えば、ユーザ入力なしで)登録するように構成されている自動登録モジュール522を含み得る。例えば、検出モジュール502は、(1)エッジのセットが、物体(例えば、露出された物体又はアクセス可能な物体)と見なされる1つ又は複数の所定の条件を満たすが、(2)物体の1つ又は複数の物理的特性は、登録レコード232に反映されている登録された物体の対応する特性と十分に一致しないと判定することができる。自動登録モジュール522は、物体の視覚的特徴、物体の1つ又は複数の寸法などを反映している画像データ510の一部などの、計算結果の1つ又は複数を使用して、認識されていない又は登録されていない物体の登録レコードを自動的に作成することができる。いくつかの実施形態では、検出モジュール502、自動登録モジュール522、又はそれらの組み合わせは、物体の移送中に取得された情報を使用して、検出結果を更新、及び/又は、新しい登録レコードを作成/更新することができる。更新に関する詳細は以下に説明される。
【0051】
計画モジュール504は、検出モジュール502から受信した検出結果を処理して、検出された物体の動作計画を導出することができる。例えば、計画モジュール504は、検出された物体の各々を移送するため開始位置、タスク位置、パッケージ移動経路、対応する操作、対応する設定/コマンド/タイミング、又はそれらの組み合わせを識別することができる。いくつかの実施形態では、計画モジュール504は、タスク位置から始まり、開始位置に向かって新しい位置を反復的/増分的に前へ進め検討して、動作計画を導出することができる。したがって、計画モジュール504は、初期検出結果512の各々について、初期動作計画514を生成することができる。
【0052】
実行モジュール506は、対応する物体の移送を実行するために、計画モジュール504から受信した動作計画(例えば、初期計画)を処理することができる。実行モジュール506は、計画の実行のためにロボットアームシステム132とインタラクトすることができる。例えば、実行モジュール506は、動作計画に対応する制御データ516(例えば、コマンド及び/又は設定)を生成かつ送信することができ、ロボットアームシステム132は、制御データ516にしたがって動作計画を実行することができる。動作計画の実行に基づいて、ロボットアームシステム132は、対応する物体を移送することができる。
【0053】
ロボットアームシステム132は、物体の移送中に取得された1つ又は複数の測定値を含む実行フィードバック518を提供し得る。例えば、ロボットアームシステム132は、対象物体を把持して持ち上げた後などの、動作計画の初期部分を実行した後、重量、トルク測定値、及び/又は高さ測定値(例えば、プロファイル画像)を測定することができる。ロボットシステム100は、実行フィードバック518を使用して、測定値(複数可)又はその導出値を実行モジュール506及び/又は検出モジュール502に送信することができる。いくつかの実施形態では、導出値は、(1)トルク測定値から導出された推定CoM位置、又は(2)プロファイル画像から導出された物体の高さなどを含み得る。いくつかの実施形態では、実行モジュール506及び/又はロボットアームシステム132は、実行モジュール506及び/又は検出モジュール502が検出結果を検証している間、移送を一時停止することができる。他の実施形態では、実行モジュール506及び/又はロボットアームシステム132は、初期変位(例えば、パッケージの持ち上げ及び/又は横方向の動き)を実行して、測定値を取得し、次に、検出結果及び動作計画が検証されるまで、パッケージを戻す/再配置することができる。
【0054】
ロボットシステム100は、実行フィードバック518を受信して、検出結果を検証することができる。例えば、検出された物体が登録された物体と一致していた場合、ロボットシステム100は、測定結果を、対象パッケージの登録レコードに格納された対応する特性と比較することができる。実際の測定値と予期されるデータの不一致が所定の条件を超えると、ロボットシステム100は、初期検出結果512が誤っていたと判定し、及び/又は、1つもしくは複数のエラー応答を開始することができる。例えば、物体の予期されるセットが1つの他の類似の(例えば、外観及び/又はサイズにおいて)物体を含む場合、検出モジュール502は、対象物体を他の/類似の物体として認識している更新された検出結果524を生成することができる。代替的に又は追加的に、検出モジュール502は、図4の推定形状198を使用して、更新された検出結果524を生成することができる。検出モジュール502は、対象物体を登録されていない物体として分類し、推定形状198をフットプリントとして提供し得る。また、自動登録モジュール522は、推定形状198を使用して、登録されていない物体を登録することができる。
【0055】
検出エラーの識別に応答して、計画モジュール504は、更新結果524を使用して、置換動作計画520を生成することができる。実行モジュール506は、初期動作計画514ではなく置換動作計画520を使用して、対象物体を移送することができる。
【0056】
動作フロー
図6は、本開示の1つ又は複数の実施形態による、ロボットシステム(例えば、図1のロボットシステム100)を操作するための方法600の流れ図である。方法600は、対象物体の誤検出を判定し、それに応答するためのものであり得る。方法600は、図2のプロセッサ202の1つ又は複数を用いて図2の記憶装置204の1つ又は複数に記憶された命令を実行することに基づいて実行することができる。動作計画及び/又は方法600を実行する際に、プロセッサ202は、動作計画又はコマンド/設定の関連セット/シーケンスをロボットユニット(複数可)(例えば、図3の移送アセンブリ104及び/又は図3のエンドエフェクタ140)に送信することができる。したがって、移送アセンブリ104及び/又はエンドエフェクタ140は、動作計画を実行して、パッケージを把持し移送することができる。
【0057】
ブロック604において、ロボットシステム100は、画像データ(例えば、図5の画像データ510などの2D及び/又は3D撮像結果)を取得することができる。ロボットシステム100は、図3の撮像システム160から画像データ510を取得することができる。取得された画像データ510は、図3のピックアップ環境163と同様に、開始位置における物体又はパッケージ(例えば、図3のスタック165)を表現することができる。いくつかの実施形態では、取得された画像データは、パッケージの上面図に対応し得る。
【0058】
ブロック606において、ロボットシステム100は、取得された画像データ510の分析に基づいて、対象物体を検出することができる。ロボットシステムは、図5の初期結果512などの検出結果を生成することができる。例えば、ロボットシステム100は、エッジを検出し(例えば、ソーベルフィルタを介して)、エッジ間のコーナー又はジャンクションを識別して、連続表面を判定することができる。連続表面を使用して、パッケージの位置及び/又は識別を推定することができる。ロボットシステム100は、領域の表面画像又はテクスチャを、登録レコード232における登録された物体の対応するデータと比較して、パッケージを識別又は認識することができる。代替的に又は追加的に、ロボットシステム100は、判定された表面の寸法(例えば、長さ及び幅)を測定及び/又は計算することができる。結果として得られる寸法は、登録レコード232における対応するデータと比較して、パッケージを識別することができる。ロボットシステム100は、画像データ510に表現される分析されたテクスチャ及び/又は寸法が、登録された物体の対応する特性と一致するとき、判定されたアイデンティティ、位置、及び/又は表面の寸法を使用して、検出結果を生成することができる。換言すれば、ロボットシステム100は、一致する登録された物体の特性を画像データの一致部分にマッピングすることによって、検出結果を生成することができる。
【0059】
ブロック608で、ロボットシステム100は、1つ又は複数の動作計画を導出することができる。ロボットシステム100は、図5の計画モジュール504(例えば、図5の検出モジュール502、実行モジュール506、及び/又は図1のコントローラ109とは別のデバイス/システム)を使用することができる。いくつかの実施形態では、ロボットシステム100は、反復ごとに1つのパッケージに対して1つの動作計画を処理することができる。他の実施形態では、ロボットシステム100は、パッケージの対応するサブセットに対して複数の動作計画を導出することができる。
【0060】
ロボットシステム100は、検出モジュール502からの検出結果の計画モジュール504への提供に基づいて、動作計画プロセスを開始することができる。計画モジュール504は、受信した検出結果を使用して、対象パッケージ及び/又はロボットアセンブリに対する経路を推定かつ評価することなどによって、動作計画(複数可)を導出することができる。例えば、ロボットシステム100は、(検出結果によって示されるような)パッケージ位置から分析を始め、所定のルールのセット(例えば、ジョイントの可動域、衝突回避ルールなど)にしたがってロボットアセンブリの把持姿勢を導出することができる。ロボットシステム100は、衝突回避及び/又は移動時間の最小化などのために、把持姿勢を開始点として使用し、所定のルールのセットを満たす移動セグメントを反復的に導出することができる。より具体的な例として、ロボットシステム100は、予期される衝突又は対象パッケージの予期される高さ及びスタックもしくはコンテナ壁の全体の高さに対応する所望の高さまでパッケージを持ち上げるための第1のセグメントを導出することができる。ロボットシステム100は、予期される衝突又はタスク位置の横方向位置まで、第1のセグメントの端からタスク位置に向かう横方向セグメントを導出することができる。ロボットシステム100は、反復プロセスを繰り返して、衝突を回避し開始位置をタスク位置につなげる経路セグメントの組み合わせを導出することができる。いくつかの実施形態では、ロボットシステム100は、タスク位置におけるパッケージの導出された配置姿勢から開始位置におけるパッケージの現在の姿勢までといった、逆の順序でセグメントの組み合わせを導出することができる。ロボットシステム100は、セグメントの組み合わせを、ロボットユニット又はその中の構成要素(例えば、アクチュエータ、モータなど)を操作するための対応するコマンド及び/又は設定に変換し得る。いくつかの実施形態では、ロボットシステム100は、候補動作計画のセット及び対応する測定値(例えば、全体的な移動時間)を導出することができる。ロボットシステムは、対応する測定値を最適化する1つ又は複数の計画を選択することによって、動作計画を導出することができる。
【0061】
ブロック610において、ロボットシステム100は(例えば、実行モジュール506を介して)、導出された動作計画の実行を開始することができる。例えば、プロセッサ(複数可)202、実行モジュール506、及び/又はコントローラ109が、動作計画、その初期部分、及び/又は対応するコマンド/設定をロボットユニット(例えば、図1の移送ユニット104)に送信することによって、動作計画(例えば、初期計画514)の実行を開始することができる。ロボットユニットは、対象パッケージを開始位置114からタスク位置116に移送する際にパッケージを把持して持ち上げるといった、受信した計画又は対応するコマンド/設定を実行することができる。
【0062】
ブロック612において、ロボットシステム100は、動作計画又はその第1の/初期部分を実行した後又は実行しながら、追加センサデータを取得することができる。例えば、ロボットシステム100は、エンドエフェクタにおける又はその周囲の対応するセンサから、重量、高さ、及び/又はトルクデータ(例えば、重みベクトル及び/又はCoM194bの異なる表現)を取得することができる。また、ロボットシステム100は、開始位置の上に位置するラインセンサで交差/クリアイベントが検出されるまで物体を持ち上げることによって、及び/又は、スタックの側面画像を取得し分析することなどによって、物体の高さデータを取得することができる。
【0063】
いくつかの実施形態では、ロボットシステム100は、測定された重量、トルク、重みベクトル、又はそれらの組み合わせに基づいて、実際のCoM(例えば、CoM194b)の推定値を導出することができる。例えば、ロボットシステム100は、測定された重量及び重みベクトル/トルク測定値の水平成分(例えば、方向及び/又は対応する大きさ)に基づいて、CoMの推定位置(例えば、把持位置に対して)を計算する所定のプロセス又は方程式を使用することができる。
【0064】
決定ブロック614において、ロボットシステム100は、取得されたデータを、識別された対象物体の登録レコード232における対応するレコードと比較することができる。例えば、ロボットシステム100は、取得された重量データを、識別された対象物体の登録レコード232における予期される重量データと比較することができる。また、ロボットシステム100は、取得された重量及び/又はトルクデータならびに実際の把持位置を使用して、把持された対象の実際のCoMを推定することができる。ロボットシステム100は、実際のCoMを、識別された対象物体の予期されるCoMと比較することができる。いくつかの実施形態では、ロボットシステム100は、取得された高さを、予期される高さと比較することができる。
【0065】
例示的な例として、ロボットシステム100は、検出結果にしたがってCoMを中心とした又はCoMの真上に配置された把持位置を導出するように構成することができる。したがって、ロボットシステム100は、エンドエフェクタからの重みベクトル及び/又はトルク測定値を所定の検証閾値と比較して、パッケージが正確に検出されたかどうかを判定することができる。実際のCoMの推定値が、予期されるCoMと異なる場合、トルク又は重みベクトルの水平成分は検証閾値を超える可能性があり、したがって、ロボットシステム100が誤検出を判定することを可能にする。代替的に又は追加的に、ロボットシステム100は、検出された物体の重量、高さ、及び/又は横方向寸法の予期値と、測定された高さ、重量、及び/又は横方向寸法の差を使用して(例えば、パッケージを最初に変位した後にキャプチャされた画像を介して)、誤検出エラーをテストすることができる。
【0066】
取得されたデータが予期されるデータと一致する場合、ロボットシステム100は、ブロック616に示されるように、既存の動作計画を完了することができる。取得されたデータが予期されるデータと一致しない場合、ロボットシステム100は、対象/現在把持されているパッケージに誤検出を判定することができる。ブロック618において、ロボットシステム100は、後続の評価/処理のために対応する値の間の測定差を計算することができる。例えば、ロボットシステム100は、決定ブロック620に示されるように、測定差を所定の最小閾値と比較することができる。最小閾値は、検出された物体に対して予期される値とパッケージに対応する実際のリアルタイム測定値の間の無視できる差(例えば、重量、CoM位置などの差)に対応し得る。最小閾値は、既存の/最初に提供された動作計画の継続的な実行を決定するためのものであり得る。したがって、測定差がそのような最小値を下回る場合、ロボットシステム100は、ブロック616に示されるように、パッケージの誤検出が検出されていても、既存の動作計画の実行を継続/完了することができる。
【0067】
測定差が大きい(例えば、最小値よりも大きく、無視できない)場合、ロボットシステム100は、代替/置換動作計画を導出し実行するなどのために、さらなる是正応答の準備前又は準備に備えて、1つ又は複数の自動応答を行うことができる。いくつかの実施形態では、ロボットシステム100は(例えば、コントローラ109及び/又は実行モジュール506を介して)、誤検出に応答して、初期動作計画の実行を一時停止することができる。他の実施形態では、ロボットシステム100は(例えば、コントローラ109及び/又は実行モジュール506を介して)、十分な測定差に対する自動置換動作を実行することができる。例えば、コントローラ109は、実行されたコマンド/設定及び/又は動作計画のトラバースされた部分を格納することによって、初期動作計画に沿う進行を追跡することができる。コントローラ109は、格納されたコマンド/設定を反対方向に及び/又は逆の順序で実行するなどによって、格納された進行を反転することにより自動置換動作を実行することができる。追加的に又は代替的に、コントローラ109は、最初の持ち上げの後に、把持されたパッケージを放すことができる。したがって、コントローラ109は、代替/置換動作計画を導出し実行する準備に備えて、開始位置にパッケージを再配置することができる。
【0068】
誤検出に対する適切な応答を判定する際に、ロボットシステム100は、さらに、決定ブロック622に示されるように、測定差を所定の最大閾値と比較することができる。最大閾値は、動作計画の再実行などにおける、回復可能なエラーにおける制限に対応し得る。測定差が最大閾値を超えると、ロボットシステム100は、ブロック624に示されるようにエラープロセスを実行することができる。エラープロセスのいくつかの例は、対象パッケージにおける対象を放す又は再配置すること、人間のオペレータに通知することなどを含み得る。
【0069】
特定のタイプの回復可能な誤検出(図示せず)の場合、ロボットシステム100は、最初に提供された動作計画を動的に調整し完了し得る。例えば、ロボットシステム100は、コントローラ109及び/又は実行モジュール506を使用して、計画モジュール504を使用せずに、最初に提供された動作計画の1つ又は複数の態様を動的に調整して、置換動作計画を導出することができる。動的調整のいくつかの例は、(1)少なくとも計算された高さの差によるエンドエフェクタ/パッケージの高さ、及び/又は(2)重量の差によるかつ所定の方法/方程式による速度を含み得る。
【0070】
アドレス可能な誤検出に応答する際に、ロボットシステム100は(例えば、コントローラ109及び/又は図5に示されるモジュールの1つを介して)、ブロック626に示されるように、取得された実際のセンサデータを使用して置換フットプリントを導出し得る。例えば、ロボットシステム100は、上記のような実際のCoM及び把持位置、及び/又は画像データ(例えば、3D画像)から検出された1つもしくは複数のコーナーを使用するなどして、図4の推定形状198を導出することができる。ロボットシステム100は、実際の/測定されたCoMが推定形状198の中央部分にくるように、初期フットプリントを拡大又は縮小することによって、推定形状198を導出することができる。例えば、ロボットシステム100は、3Dコーナーの1つ及び実際のCoMを基準点として使用して直線を生成し、直線に沿って位置する反対側のコーナーを推定することができる。ロボットシステム100は、基準の3Dコーナーと比較して、反対側にありCoMから等しい距離離れているコーナー位置を推定することができる。ロボットシステム100は、(1)反対側のコーナーで直角に交差し、(2)長方形形状を画定し、(3)実際のCoMを囲む境界を外挿して、置換フットプリントを導出することができる。
【0071】
ブロック628において、ロボットシステム100は、更新された動作計画(例えば、図5の置換動作計画520)を動的に導出することができる(例えば、上述のように計画が一時停止又は無効にされている間などの、初期動作計画の部分的な実行後に)。ロボットシステム100は、取得された実際のセンサデータ及び/又は置換フットプリントを使用して、置換動作計画520を導出することができる。いくつかの実施形態では、例えば、コントローラ109及び/又は実行モジュール506は、実行フィードバック518を分析し、計画モジュール504への置換のための要求(例えば、図5の実行フィードバック518)の送信に基づいて置換計画を取得することができる。要求は、実際のセンサデータ及び/又は置換フットプリントを含み得る。他の実施形態では、計画モジュール504は、実行フィードバック518を受信、分析し、及び/又は、置換フットプリントを導出することができる。その後、計画モジュール504は、受信した要求又は分析結果にしたがって、置換動作計画520を導出することができる。例えば、計画モジュール504は、上記と同様であるが、置換フットプリント、実際のCoMの推定値、測定された寸法(例えば、高さ及び/又は横方向寸法)、測定された重量などを使用して、置換動作計画520を導出することができる。置換動作計画520を導出する際に、計画モジュール504は、パッケージが、初期検出結果に対応する登録レコードとは異なる又は無関係である登録されていない物体であると効果的に想定することができる。結果として、計画モジュール504は、置換把持位置、置換把持強度(例えば、パッケージと係合するための新しい数の吸着カップ)、置換移送高さ、置換移送速度、又は初期動作計画のそれぞれのコンポーネントとは異なるそれらの組み合わせに対応する置換動作計画520を導出することができる。デフォルトの応答に応じて、計画モジュール504は、再配置されたパッケージに対して開始位置から開始するための又は一時停止された位置から開始するための置換動作計画520を導出することができる。
【0072】
いくつかの実施形態では、計画モジュール504は、拡大された置換フットプリントを使用して、他のエラーモード(例えば、2つの隣接するパッケージがエンドエフェクタによって不注意に把持された場合などのダブルピック)を考慮することによって、更新された動作計画を導出することができる。また、実際の高さが最初に取得されない場合、ロボットシステム100は、ロボットユニットによって許容される最大高さ及び/又は登録レコード232において登録されたパッケージの中で最大の高さ/寸法に対応する最大持ち上げ高さを含むように、更新された動作計画を導出することができる。いくつかの実施形態では、ロボットシステム100は、予期しないパッケージに対して指定された所定の領域に物体を配置することができる。計画モジュール504は、パッケージを、初期動作計画に関連付けられた初期把持位置ではなく実際のCoM位置の推定値を中心として再把持する命令を含むように、置換動作計画520を導出することができる。
【0073】
実行モジュール506は、その後、要求への応答として、計画モジュール504から置換動作計画520を受け取ることができる。ブロック630において、ロボットシステム100は、更新された動作計画を実行することができる。言い換えれば、実行モジュール506は、パッケージをタスク位置116に移送するのに、初期動作計画514又はその残りの部分ではなく、置換動作計画520を実行することができる。ロボットシステム100は、人間のオペレータに通知したり関与したりすることなく、更新された動作計画を実行することができる。したがって、ロボットシステム100は、パッケージの誤認に応じて自動応答を実行することができ、それによって、人間の介入なしにタスクを完了することができる。
【0074】
ブロック632において、ロボットシステム100は、誤認された物体に基づいて登録レコード232を更新することができる。いくつかの実施形態では、ロボットシステム100は、初期検出に関連するレコードに加えて又はその代替として、把持された/移送されたパッケージに対する新しいレコードを作成することができる。ロボットシステム100は、取得された重量、取得された実際の高さ、実際のCoM、及び/又は推定形状198などの実際のセンサデータ及び/又は対応する処理結果を、新しいレコードに含み得る。他の実施形態では、ロボットシステム100は、重量、高さ、横方向寸法、CoMなどを実際のセンサデータ及び/又は対応する処理結果で置き換えることなどによって、最初に識別されたパッケージの既存のレコードを更新することができる。
【0075】
結論
開示された技術の例の上記の詳細な説明は、網羅的であること又は開示された技術を上記で開示された正確な形態に限定することを意図するものではない。開示された技術の特定の実施例が例示の目的で、上記で説明されているが、当業者が認識するように、開示された技術の範囲内で様々な同等の修正が可能である。例えば、プロセス又はブロックが所与の順序で提示されているが、代替的な実施態様は、ステップを有するルーチンを実行してもよく、又はブロックを有するシステムを異なる順序で使用してもよく、いくつかのプロセス又はブロックは、代替又は部分的な組み合わせを提供するために、削除、移動、追加、細分、結合、及び/又は変更されてもよい。これらのプロセス又はブロックのそれぞれは、様々な方法で実施されてもよい。また、プロセス又はブロックは、時には直列に実行されるように示されているが、これらのプロセス又はブロックは、代わりに並列に実行又は実施されてもよく、又は異なる時間に実行されてもよい。さらに、本明細書に記載されている任意の特定の数は単なる実施例であり、代替的な実施態様では、異なる値又は範囲を使用してもよい。
【0076】
上記の発明を実施するための形態を踏まえて、開示された技術には、これらの変更及びその他の変更を加えることができる。発明を実施するための形態は、開示された技術の特定の実施例ならびに考えられるベストモードを説明しているが、開示された技術は、上記の説明が本文にどのように詳細に記載されていても、多くの方法で実施することができる。システムの詳細は、本明細書に開示されている技術によって包含されながら、特定の実施態様ではかなり異なり得る。上述したように、開示された技術の特定の特徴又は態様を説明するときに使用される特定の用語は、その用語が関連付けられている開示された技術の特定の特性、特徴、又は態様に制限されるように、本明細書でその用語が再定義されていることを意味するものと解釈されるべきではない。したがって、本発明は、添付の特許請求の範囲によるものを除き、限定されない。一般に、以下の特許請求の範囲で使用される用語は、上記の詳細な説明の節でそのような用語を明示的に定義しない限り、開示された技術を本明細書で開示される特定の実施例に限定するように解釈されるべきではない。
【0077】
本発明の特定の態様は、以下に特定の特許請求の範囲の形態で提示されるが、出願人は、本発明の様々な態様を任意の数の特許請求の範囲の形態で検討する。したがって、本出願人は、本願又は継続出願のいずれかで、そのような付加的な特許請求の範囲の形態を追求するために、本願を出願した後に付加的な特許請求の範囲を追求する権利を留保する。
図1
図2
図3
図4
図5
図6
【外国語明細書】