JP7174965B2 - 動的動き調節機構を有するロボットシステム及びそれを動作させる方法 - Google Patents

動的動き調節機構を有するロボットシステム及びそれを動作させる方法 Download PDF

Info

Publication number
JP7174965B2
JP7174965B2 JP2021516567A JP2021516567A JP7174965B2 JP 7174965 B2 JP7174965 B2 JP 7174965B2 JP 2021516567 A JP2021516567 A JP 2021516567A JP 2021516567 A JP2021516567 A JP 2021516567A JP 7174965 B2 JP7174965 B2 JP 7174965B2
Authority
JP
Japan
Prior art keywords
waypoints
task
planned
robot
target object
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021516567A
Other languages
English (en)
Other versions
JP2022511343A (ja
Inventor
パンドヤ,アディティ
峻一 野沢
ニコラエフ デアンコウ,ロセン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mujin Inc
Original Assignee
Mujin Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mujin Inc filed Critical Mujin Inc
Publication of JP2022511343A publication Critical patent/JP2022511343A/ja
Priority to JP2022123205A priority Critical patent/JP2022160552A/ja
Application granted granted Critical
Publication of JP7174965B2 publication Critical patent/JP7174965B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39243Adaptive trajectory tracking

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Manipulator (AREA)

Description

関連出願の相互参照
本出願は、参照によりその全体が本明細書に組み込まれる、2020年1月5日に出願された米国仮特許出願第62/957,282号の利益を主張する。
本技術は概して、ロボットシステムを対象とし、より詳細には、来たるべきロボティックアクション(複数可)を動的に調節するシステム、処理、及び技術を対象とする。
これまでにそれらの性能が増大し、コストが低下したことにより、多くのロボット(例えば、物理アクションを自動的に/自律的に実行するように構成されたマシン)は今では、多くの分野において広範囲に使用されている。ロボットは、例えば、製造及び/または組み立て、パッキング及び/またはパッケージング、運送及び/または輸送などにおいて様々なタスク(例えば、空間を通じて物体を操作または移送する)を実行するために使用されることがある。タスクを実行する際、ロボットは、人間のアクションを再現することによって、危険または反復的なタスクを実行するために本来必要とされる人間の関与を置換または低減させることができる。
しかしながら、技術の進歩に関わらず、ロボットは、より複雑且つ難解なタスクを実行するために必要とされる人間の敏感性及び/または順応性を再現するために必要な精巧さを欠いていることが多い。例えば、ロボットは、現実世界状況及び/またはそれに対する動的変化に応答してなど、ロボットに対してスケジュールされた次のアクションを動的に(例えば、進行している動作/タスクの実行の間)を調節するための制御の粒度及び柔軟性を欠いていることが多い。したがって、様々な現実世界の因子に関わらず、タスクを完了するようロボットの様々な態様を制御及び管理する改善された技術及びシステムに対する必要性が残ったままである。
動的動き調節機構を有するロボットシステムが動作することができる実施例の環境の例示である。 本技術の1つ以上の実施形態に係る、ロボットシステムを例示するブロック図である。 本技術の1つ以上の実施形態に係る、ロボットシステムの例示である。 本技術の1つ以上の実施形態に係る、実施例のタスクを実行するロボットシステムの上面図である。 本技術の1つ以上の実施形態に係る、応答プロファイルの例示である。 本技術の1つ以上の実施形態に係る、例示的な調節の例示である。 本技術の1つ以上の実施形態に係る、図1のロボットシステムを動作させる実施例の方法のフローチャートである。 本技術の1つ以上の実施形態に係る、実施例の調節機構の例示である。 本技術の1つ以上の実施形態に係る、実施例の調節機構の例示である。 本技術の1つ以上の実施形態に係る、実施例の調節機構の例示である。 本技術の1つ以上の実施形態に係る、実施例の調節機構の例示である。
動的動き調節機構を有するロボットシステムに対するシステム及び方法が本明細書で説明される。いくつかの実施形態に従って構成されたロボットシステム(例えば、1つ以上の指定されたタスクを実行するデバイスの統合システム)は、現実世界の状況またはそれに対する動的変化に従って、次のロボティックアクションを動的に調節することに基づいて、低減したリソース消費、低減したタスク完了持続期間、増大した効率性、低減したエラー率などをもたらす。
いくつかの従来のシステムは、パッキングの順番/配列を予め決定するために、オフラインのパッキングシミュレータを使用する。従来のパッキングシミュレータは、パッキング計画を生成するために、容器の予め定められたセットまたは推測されたセットに対する物体情報(例えば、容器の形状/サイズ)を処理する。決定されると、パッキング計画は、宛先における物体の特定の配置位置/姿勢(例えば、パレット、ビン、ケージ、ボックスなど)、配置の予め定義された順番、及び/または予め定められた動き計画を指令し、及び/またはそれらを必要とする。予め定められたパッキング計画から、パッキングシミュレータは、パッキング計画に合致し、またはパッキング計画を可能にする元の要件(例えば、物体に対する順番及び/または配置)を導出することがある。
パッキング計画がオフラインで展開されるとき、計画は、実際のパッキング操作/状況、物体の到着、及び/または他のシステムの実行とは独立している。したがって、全体的な操作/実行は、受け取られるパッケージ(例えば、開始/ピックアップ位置における)が、予め定められたパッキング計画に合致する固定された順番に従うことを必要とする。そのようにして、システムは、受け取られるパッケージにおけるリアルタイム状況及び/もしくは逸脱(例えば、異なる順番、位置、及び/もしくは方位)、予期しないエラー(例えば、衝突、紛失した部品、及び/もしくは全く異なるパッケージング状況)、リアルタイムパッケージング要件(例えば、受け取られる順序)、並びに/またはオフラインで展開されるパッキング計画の実行の間の他のリアルタイム因子に適合することができない。
従来のシステムとは対照的に、本明細書で説明されるロボットシステムは、リアルタイム因子に従って、パッキング計画、対応する動き計画、及び/またはその実行を動的に調節することができる。例示的な実施例として、ロボットシステムは、ロボティックユニット(例えば、ロボティックアームなどの移送ユニット)を使用して、計画された軌道(例えば、動き計画)を実行することができる。計画された軌道は、物体の移動の間に目標とされた位置を定義する計画されたウェイポイントを含んでもよい。
ロボットシステムは、計画された軌道に沿った進捗を追跡してもよく、計画された軌道の1つ以上の残りの部分に対応する次のロボティックアクション(例えば、速度、設定、状態など)を動的に調節してもよい。更新するために、ロボットシステムは、計画されたウェイポイントから取って代わるよう、更新されたウェイポイントの新たなセットを導出してもよい。更新されたウェイポイントは、計画された軌道上にあってもよく、または計画された軌道に沿ってもよく、ロボット及びロボットによって保持/運搬される目標物体の移動を停止し、再開し、及び/もしくは取り消すこと、並びに/またはロボット及び目標物体に対する移動の割合を調節することなどのタスクの実行への動的な調節に対応してもよい。
いくつかの実施形態では、ロボットシステムは、受け取られたコマンド、エラー検出、及び/または計画された/実行された軌道と関連付けられたコンテキストもしくは環境における他の変化などの入力/出力状態に応答して、計画された軌道に沿った実行可能性領域を導出してもよい。ロボットシステムは、対応するロボット(例えば、計画された軌道を実行する/計画された軌道に従うロボット)の応答プロファイル(例えば、能力及び/または遅延)に従って、実行可能性領域を導出してもよい。ロボットシステムは、既存の計画された軌道を使用してもよく、計画されたウェイポイントを置き換えるよう、1つ以上の更新されたウェイポイントを導出してもよい。更新されたウェイポイントの1つ目は、1つ以上のリアルタイムパラメータに従って、実行可能性領域内の位置として導出されてもよい。代わりにまたは加えて、ロボットシステムは、目標とされた終点状態に到達するよう、実行可能性領域及び1つ以上のリアルタイムパラメータを反復的に更新してもよい。したがって、ロボットシステムは、計画された軌道の1つ以上の残りの部分を実行し/計画された軌道の1つ以上の残りの部分に従うよう、ロボットを動作させる1つ以上の態様を動的に調節することができる。
以下の説明では、やがて開示される技術の完全な理解をもたらすために、多数の特定の詳細が示される。他の実施形態では、ここで導入される技術は、それらの特定の詳細なしに実施されてもよい。他の例では、特定の関数またはルーチンなどの公知の特徴は、本開示を不必要に曖昧にすることを回避するために、詳細には説明されない。「実施形態(an embodiment)」、「一実施形態(one embodiment)」、またはそれらと同様のものに対するこの説明における言及は、説明される特定の特徴、構造、材料、または特性が、本開示の少なくとも一実施形態に含まれることを意味する。よって、この明細書におけるそのような句の出現は、必ずしも同一の実施形態を指すわけではない。一方、そのような言及は、必ずしも相互にいずれかを排除するわけではない。更に、特定の特徴、構造、材料、または特性が、1つ以上の実施形態におけるいずれかの適切な方式において組み合わされてもよい。図面に示される様々な実施形態は、例示的な表現にすぎず、必ずしも同一縮尺で描かれるわけではないことが理解されよう。
公知であり、ロボットシステム及びサブシステムと関連付けられることが多いが、開示される技術のいくつかの重要な態様を不必要に曖昧にすることがある、構造または処理を説明するいくつかの詳細は、明確にすることを目的として、以下の説明において示されない。その上、以下の開示は、本技術の異なる態様のいくつかの実施形態を示すが、いくつかの他の実施形態は、この章において説明されるものとは異なる構成または異なる構成要素を有してもよい。したがって、開示される技術は、追加の要素を有する他の実施形態、または以下で説明される要素のいくつかを有さない他の実施形態を有してもよい。
以下で説明される本開示の多くの実施形態または態様は、プログラム可能コンピュータまたはプロセッサによって実行されるルーチンを含む、コンピュータ実行可能命令またはプロセッサ実行可能命令の形式を取ってもよい。当業者は、開示される技術が、示されるもの及び以下で説明されるもの以外のコンピュータシステムまたはプロセッサシステム上で実施されてもよいことを認識するであろう。本明細書で説明される技術は、以下で説明されるコンピュータ実行可能命令のうちの1つ以上を実行するように特にプログラムされ、構成され、または構築された特殊目的コンピュータまたはデータプロセッサにおいて具体化されてもよい。したがって、本明細書で全体的に使用される用語「コンピュータ」及び「プロセッサ」は、いずれかのデータプロセッサを指し、インターネットアプライアンス及びハンドヘルドデバイス(パームトップコンピュータ、ウェアラブルコンピュータ、セルラ電話または携帯電話、マルチプロセッサシステム、プロセッサベース家電製品またはプログラム可能家電製品、ネットワークコンピュータ、及びミニコンピュータなど)を含んでもよい。それらのコンピュータ及びプロセッサによって処理される情報は、液晶ディスプレイ(LCD)を含む、いずれかの適切な表示媒体において提示されてもよい。コンピュータ実行可能タスクまたはプロセッサ実行可能タスクを実行するための命令は、ハードウェア、ファームウェア、またはハードウェア及びファームウェアの組み合わせを含む、いずれかの適切なコンピュータ可読媒体内またはいずれかの適切なコンピュータ可読媒体上に記憶されてもよい。命令は、例えば、フラッシュドライブを含むいずれかの適切なメモリデバイス及び/または他の適切な媒体に含まれてもよい。
用語「結合される(coupled)」及び「接続される(connected)」と共にそれらの派生物は、構成要素の間の構造的関係を記述するために本明細書で使用されてもよい。それらの用語は、相互に対する同義語として意図していないことが理解されるべきである。むしろ、特定の実施形態では、「接続される」は、2つ以上の要素が相互に直接接触していることを示すために使用されてもよい。コンテキストにおいて他に明らかにされない限り、用語「結合される」は、2つ以上の要素が相互に直接接触もしくは間接接触(それらの間の他の仲介要素による)のいずれかにあること、2つ以上の要素が相互に協同もしくは相互作用していること(例えば、信号送信/受信に対する、もしくは関数呼び出しに対するなど、原因及び結果関係にあるような)、またはその両方を示すために使用されてもよい。
<適切な環境>
図1は、動的動き調節機構を有するロボットシステム100が動作することができる環境例を示している。ロボットシステム100は、1つ以上のタスクを実行するように構成された1つ以上のユニット(例えば、ロボット)を含んでもよく、及び/または1つ以上のユニットと通信してもよい。動的動き調節機構の態様は、様々なユニットによって実施または実行されてもよい。
図1に示される実施例について、ロボットシステム100は、倉庫または流通/出荷ハブ内で、積み下ろしユニット102、移送ユニット104(例えば、パレット積載ロボット及び/もしくは部品ピッカロボット)、運送ユニット106、積み込みユニット108、またはそれらのそれらの組み合わせを含んでもよい。ロボットシステム100におけるユニットの各々は、1つ以上のタスクを実行するように構成されてもよい。タスクは、トラックもしくはバンから物体を積み下ろし、倉庫にそれらを格納し、もしくは格納位置から物体を積み下ろし、出荷に対してそれらを準備するなどの目標を達成する操作を実行するよう順番で組み合わされてもよい。別の実施例について、タスクは、目標位置上に(例えば、パレットの最上部上に、及び/またはビン/ケージ/ボックス/容器の内部)物体を配置することを含んでもよい。以下で説明されるように、ロボットシステムは、物体を配置し、及び/または積み重ねるための計画(例えば、配置位置/方位、物体を移送する順番、及び/または対応する動き計画)を導出してもよい。ユニットの各々は、タスクを実行するための導出された計画のうちの1つ以上に従って、一連のアクションを実行するように構成されてもよい(例えば、その中の1つ以上の構成要素を動作させることによって)。
いくつかの実施形態では、タスクは、開始位置114からタスク位置116に目標物体112(例えば、実行するタスクに対応するパッケージ、ボックス、容器、ケージ、パレットなどの1つ)を移動させるためなど、目標物体112の操作(例えば、移動及び/または再方向付け)を含んでもよい。例えば、積み下ろしユニット102(例えば、デバンニングロボット)は、運搬装置(例えば、トラック)内の位置からコンベヤベルト上の位置に目標物体112を移送するように構成されてもよい。また、移送ユニット104は、1つの位置(例えば、コンベヤベルト、パレット、またはビン)から別の位置(例えば、パレット、ビンなど)に目標物体112を移送するように構成されてもよい。別の実施例について、移送ユニット104(例えば、パレット積載ロボット)は、元の位置(例えば、パレット、ピックアップエリア、及び/またはコンベヤ)から宛先パレットに目標物体112を移送するように構成されてもよい。操作を完了する際に、運送ユニット106は、移送ユニット104と関連付けられたエリアから積み込みユニット108と関連付けられたエリアに目標物体112を移送してもよく、積み込みユニット108は、移送ユニット104から格納位置(例えば、棚上の位置)に目標物体112を移送してもよい(目標物体112を運搬するパレットを移動させることによって)。タスク及び関連するアクションに関する詳細は、以下で説明される。
例示的な目的のために、出荷を中心とした文脈でロボットシステム100が説明されるが、ロボットシステム100は、製造、組み立て、パッケージング、ヘルスケア、及び/または他のタイプの自動化のためなど、他の環境内で/他の目的のためにタスクを実行するように構成されてもよいことが理解されよう。また、ロボットシステム100は、図1に示されない、マニピュレータ、サービスロボット、モジュラロボットなどの他のユニットを含んでもよいことが理解されよう。例えば、いくつかの実施形態では、ロボットシステム100は、コンベヤ上のケージカートもしくはパレット、または他のパレットから物体を移送するためのパレット荷卸ユニット、1つのコンテナから別のコンテナに物体を移送するためのコンテナ切り替えユニット、物体を覆うためのパッケージングユニット、それらの1つ以上の特性に従って物体をグループ化するための分類ユニット、それらの1つ以上の特性に従って異なって物体を操作する(例えば、分類する、グループ化する、及び/または移送する)ための部品ピッキングユニット、あるいはそれらの組み合わせを含んでもよい。
ロボットシステム100は、動き(例えば、回転的変位及び/または並進的変位)のための関節において接続された物理的部材または構造的部材を含んでもよく、またはそれらに結合されてもよい。構造的部材及び間接は、ロボットシステム100の使用/動作に応じて1つ以上のタスク(例えば、つかむこと、回転すること、溶接することなど)を実行するように構成されたエンドエフェクタ(例えば、グリッパ)を操作するように構成された運動連鎖を形成してもよい。ロボットシステム100は、対応する間接の周りでまたは対応する間接において構造的部材を駆動または操作(例えば、変位させ及び/または再方向付ける)ように構成された駆動デバイス(例えば、モータ、アクチュエータ、ワイヤ、人工筋肉、電気活性ポリマなど)を含んでもよい。いくつかの実施形態では、ロボットシステム100は、場所ごとに対応するユニット/シャーシを移送するように構成された移送モータを含んでもよい。
ロボットシステム100は、構造的部材を操作し、及び/またはロボティックユニットを移送するためなどのタスクを実行するために使用される情報を取得するように構成されたセンサを含んでもよい。センサは、ロボットシステム100の1つ以上の物理特性(例えば、それらの1つ以上の構造的部材/間接の状態、状況、及び/もしくは位置)並びに/または周囲環境の1つ以上の物理特性を検出または測定するように構成されたデバイスを含んでもよい。センサのいくつかの実施例は、加速度計、ジャイロスコープ、力センサ、歪みゲージ、触知センサ、トルクセンサ、位置エンコーダなどを含んでもよい。
いくつかの実施形態では、例えば、センサは、周囲環境を検出するように構成された1つ以上の撮像デバイス(例えば、視覚カメラ及び/または赤外線カメラ、2D及び/または3D撮像カメラ、ライダまたはレーダなどの測距デバイスなど)を含んでもよい。撮像デバイスは、マシン/コンピュータビジョンを介して処理することができる(例えば、自動検査、ロボットガイダンス、または他のロボティックアプリケーションのための)デジタル画像及び/またはポイントクラウドなど、検出された環境の表現を生成してもよい。以下で更に詳細に説明されるように、ロボットシステム100は、目標物体112、開始位置114、タスク位置116、目標物体112の姿勢、開始位置114及び/もしくは姿勢に関する信頼性測定、またはそれらの組み合わせを識別するよう、デジタル画像及び/またはポイントクラウドを処理してもよい。
目標物体112を操作するために、ロボットシステム100は、目標物体112及びそれらの開始位置114を識別するよう、指定されたエリア(例えば、トラック内部またはコンベヤベルト上などのピックアップ位置)の画像を捕捉及び分析してもよい。同様に、ロボットシステム100は、タスク位置116を識別するよう、別の指定されたエリア(例えば、コンベヤ上で物体を配置するための降ろし位置、コンテナ内部で物体を配置するための位置、または積み重ねる目的のためのパレット上の位置)の画像を捕捉及び分析してもよい。例えば、撮像デバイスは、ピックアップエリアの画像を生成するように構成された1つ以上のカメラ、及び/またはタスクエリア(例えば、降ろしエリア)の画像を生成するように構成された1つ以上のカメラを含んでもよい。捕捉された画像に基づいて、以下で説明されるように、ロボットシステム100は、開始位置114、タスク位置116、関連する姿勢、パッキング/配置計画、移送/パッキングの順番、及び/または他の処理結果を決定してもよい。
いくつかの実施形態では、例えば、センサは、ロボットシステム100の構造的部材(例えば、ロボティックアーム及び/もしくはエンドフェクタ)並びに/または対応する間接の位置を検出するように構成された位置センサ(例えば、位置エンコーダ、ポテンショメータなど)を含んでもよい。ロボットシステム100は、タスクの実行の間に構造的部材及び/または間接の位置及び/または方位を追跡するために位置センサを使用してもよい。
<適切なシステム>
図2は、本技術の1つ以上の実施形態に係る、ロボットシステム100を例示するブロック図である。いくつかの実施形態では、例えば、ロボットシステム100(例えば、上記説明されたユニット及び/またはロボットのうちの1つ以上における)は、1つ以上のプロセッサ202、1つ以上の記憶装置204、1つ以上の通信デバイス206、1つ以上の入力出力デバイス208、1つ以上の駆動デバイス212、1つ以上の移送モータ214、1つ以上のセンサ216、またはそれらの組み合わせなど、電子/電気デバイスを含んでもよい。様々なデバイスは、有線接続及び/または無線接続を介して相互に結合されてもよい。例えば、ロボットシステム100は、システムバス、ペリフェラルコンポーネントインターコネクト(PCI)バスもしくはPCI-Expressバス、ハイパテキストもしくはインダストリスタンダードアーキテクチャ(ISA)バス、スモールコンピュータシステムインタフェース(SCSI)バス、ユニバーサルシリアルバス(USB)、IIC(I2C)バス、またはInstitute of Electrical and Electronics Engineers(IEEE)スタンダード1394バス(「Firewire」とも称される)などのバスを含んでもよい。また、例えば、ロボットシステム100は、デバイスの間の有線接続をもたらすためのブリッジ、アダプタ、プロセッサ、または他の信号関連デバイスを含んでもよい。無線接続は、例えば、セルラ通信プロトコル(例えば、3G、4G、LTE、5Gなど)、無線ローカルエリアネットワーク(LAN)プロトコル(例えば、ワイヤレスフィデリティ(WIFI))、ピアツーピアもしくはデバイスツーデバイス通信プロトコル(例えば、Bluetooth、近接場通信(NFC)など)、モノのインターネット(IoT)プロトコル(例えば、NB-IoT、LTE-Mなど)、及び/または他の無線通信プロトコルに基づいてもよい。
プロセッサ202は、記憶装置204(例えば、コンピュータメモリ)に記憶された命令(例えば、ソフトウェア命令)を実行するように構成されたデータプロセッサ(例えば、中央処理装置(CPU)、特殊目的コンピュータ、及び/またはオンボードサーバ)を含んでもよい。いくつかの実施形態では、プロセッサ202は、図2に例示された他の電子/電気デバイス及び/または図1に例示されたロボティックユニットに動作可能に結合された別個のコントローラ/スタンドアロンコントローラに含まれてもよい。プロセッサ202は、他のデバイスを制御/と連動するプログラム命令を実行してもよく、それによって、ロボットシステム100に、アクション、タスク、及び/または動作を実行させる。
記憶装置204は、プログラム命令(例えば、ソフトウェア)をそこに記憶した非一時的コンピュータ可読媒体を含んでもよい。記憶装置204のいくつかの実施例は、揮発性メモリ(例えば、キャッシュ及び/もしくはランダムアクセスメモリ(RAM))並びに/または不揮発性メモリ(例えば、フラッシュメモリ及び/もしくは磁気ディスクドライブ)を含んでもよい。記憶装置204の他の実施例は、ポータブルメモリドライブ及び/またはクラウド記憶装置を含んでもよい。
いくつかの実施形態では、記憶装置204は、更に、処理結果及び/または予め定められたデータ/閾値を記憶し、処理結果及び/または予め定められたデータ/閾値へのアクセスをもたらすために使用されてもよい。例えば、記憶装置204は、ロボットシステム100によって操作することができる物体(例えば、ボックス、容器、及び/または製品)の記述を含むマスタデータ252を記憶してもよい。1つ以上の実施形態では、マスタデータ252は、各々のそのような物体に対する記録データを含んでもよい。記録データは、ロボットシステム100によって操作されることが予測される物体に対する次元、形状(例えば、潜在的な姿勢に対するテンプレート及び/もしくは異なる姿勢にある物体を認識するためのコンピュータ生成モデル)、色スキーム、画像、識別情報(例えば、バーコード、クイックレスポンス(QR)コード(登録商標)、ロゴなど、及び/もしくはそれらの予測された位置)、予測された重み、他の物理/視覚特性、またはそれらの組み合わせを含んでもよい。いくつかの実施形態では、マスタデータ252は、物体の各々に対する質量中心(CoM)位置もしくはそれらの推定、1つ以上のアクション/手順に対応する予測されたセンサ測定(例えば、力、トルク、圧力、及び/もしくは接触測定に対する)、またはそれらの組み合わせなど、物体に関する操作関連情報を含んでもよい。
通信デバイス206は、ネットワークを介して外部デバイスまたはリモートデバイスと通信するように構成された回路を含んでもよい。例えば、通信デバイス206は、受信機、送信機、変調器/復調器(モデム)、信号検出器、信号エンコーダ/デコーダ、コネクタポート、ネットワークカードなどを含んでもよい。通信デバイス206は、1つ以上の通信プロトコル(例えば、インターネットプロトコル(IP)、無線通信プロトコルなど)に従って、電気信号を送信、受信、及び/または処理するように構成されてもよい。いくつかの実施形態では、ロボットシステム100は、ロボットシステム100のユニットの間で情報を交換し、及び/またはロボットシステム100の外部のシステムもしくはデバイスと情報を交換する(例えば、報告、データ収集、分析、及び/もしくはトラブルシューティングの目的のために)ために通信デバイス206を使用してもよい。
入力出力デバイス208は、人間のオペレータに情報を通信し、及び/または人間のオペレータから情報を受信するように構成されたユーザインタフェースデバイスを含んでもよい。例えば、入力出力デバイス208は、ディスプレイ210及び人間のオペレータに情報を通信するための他の出力デバイス(例えば、スピーカ、触覚回路、または触知フィードバックデバイスなど)を含んでもよい。また、入力出力デバイス208は、キーボード、マウス、タッチスクリーン、マイクロフォン、ユーザインタフェース(UI)センサ(例えば、動きコマンドを受信するためのカメラ)、ウェアラブル入力デバイスなどの制御または受信デバイスを含んでもよい。いくつかの実施形態では、ロボットシステム100は、アクション、タスク、動作、またはそれらの組み合わせを実行する際に、人間のオペレータと相互作用するために入力出力デバイス208を使用してもよい。
ロボットシステム100は、動き(例えば、回転的変位及び/または並進的変位)に対して間接において接続された物理的部材または構造的部材を含んでもよい。構造的部材及び間接は、ロボットシステム100の使用/動作に応じて1つ以上のタスク(例えば、つかむこと、回転すること、溶接することなど)を実行するように構成されたエンドエフェクタ(例えば、グリッパ)を操作するように構成された運動連鎖を形成してもよい。ロボットシステム100は、対応する間接の周りでまたは対応する間接において構造的部材を駆動または操作(例えば、変位させ及び/または再方向付ける)ように構成された駆動デバイス212(例えば、モータ、アクチュエータ、ワイヤ、人工筋肉、電気活性ポリマなど)を含んでもよい。いくつかの実施形態では、ロボットシステム100は、場所ごとに対応するユニット/シャーシを移送するように構成された移送モータを含んでもよい。
ロボットシステム100は、構造的部材を操作し、及び/またはロボティックユニットを移送するためなどのタスクを実行するために使用される情報を取得するように構成されたセンサ216を含んでもよい。センサ216は、ロボットシステム100の1つ以上の物理特性(例えば、それらの1つ以上の構造的部材/間接の状態、状況、及び/もしくは位置)並びに/または周囲環境の1つ以上の物理特性を検出または測定するように構成されたデバイスを含んでもよい。センサ216のいくつかの実施例は、加速度計、ジャイロスコープ、力センサ、歪みゲージ、触知センサ、トルクセンサ、位置エンコーダなどを含んでもよい。
いくつかの実施形態では、例えば、センサ216は、周囲環境を検出するように構成された1つ以上の撮像デバイス222(例えば、視覚カメラ及び/または赤外線カメラ、2D及び/または3D撮像カメラ、ライダまたはレーダなどの測距デバイスなど)を含んでもよい。撮像デバイス222は、マシン/コンピュータビジョンを介して処理することができる(例えば、自動検査、ロボットガイダンス、または他のロボティックアプリケーションのための)デジタル画像及び/またはポイントクラウドなど、検出された環境の表現を生成してもよい。
目標物体112を操作するために、ロボットシステム100(例えば、上記説明された様々な回路/デバイスを介した)は、目標物体112及びそれらの開始位置114を識別するよう、指定されたエリア(例えば、トラック内部またはコンベヤベルト上などのピックアップ位置)の画像を捕捉及び分析してもよい。同様に、ロボットシステム100は、タスク位置116を識別するよう、別の指定されたエリア(例えば、コンベヤ上で物体を配置するための降ろし位置、コンテナ内部で物体を配置するための位置、または積み重ねる目的のためのパレット上の位置)の画像を捕捉及び分析してもよい。例えば、撮像デバイス222は、ピックアップエリアの画像を生成するように構成された1つ以上のカメラ及び/またはタスクエリア(例えば、降ろしエリア)の画像を生成するように構成された1つ以上のカメラを含んでもよい。捕捉された画像に基づいて、以下で説明されるように、ロボットシステム100は、開始位置114、タスク位置116、関連する姿勢、パッキング/配置計画、移送/パッキングの順番、及び/または他の処理結果を決定してもよい。
いくつかの実施形態では、例えば、センサ216は、ロボットシステム100の構造的部材(例えば、ロボティックアーム及び/もしくはエンドフェクタ)並びに/または対応する間接の位置を検出するように構成された位置センサ224(例えば、位置エンコーダ、ポテンショメータなど)を含んでもよい。ロボットシステム100は、タスクの実行の間に構造的部材及び/または間接の位置及び/または方位を追跡するために位置センサ224を使用してもよい。ロボットシステム100は、図1の目標物体112及び/または構造的部材に対する現在の位置及び/または過去の位置の組を表す追跡データ254を導出するために、センサ216からの検出された位置、追跡された位置、追跡された方位などを使用してもよい。
<実施例のシステムアーキテクチャ>
図3は、本技術の1つ以上の実施形態に係る、図1のロボットシステム100の例示である。ロボットシステム100は、動きプランナ回路302、ブリッジ回路304、及び/またはロボット306を含んでもよい。
動きプランナ回路302(例えば、図2のプロセッサ202及び/または別個のデバイス/収容に対応する回路)は、対応するタスクを実行するようロボット306を動作させるための計画された軌道322を導出するように構成されてもよい。例えば、各々の計画された軌道322は、図1の開始位置114から図1のタスク位置116まで図1の対応する目標物体112を操作し、または移動させるようロボット306(例えば、図1の移送ユニット104)を動作させるためのものであってもよい。いくつかの実施形態では、動きプランナ回路302は、目標物体112及びタスク位置116を識別及び特定するよう、図2の撮像デバイス222からデータを取得及び処理してもよい。動きプランナ回路302は、タスク位置116から開始位置114への目標物体112に対する経路セグメントを反復的に導出することに基づいて、計画された軌道322を導出してもよい。動きプランナ回路302は、予め定められたルール及び/または処理に従って、経路セグメント及び対応する計画された軌道322を導出してもよい。計画された軌道322は、対応するタスクを達成するための、目標物体112及び/または1つ以上のロボティック構成要素(例えば、エンドエフェクタ及び/もしくはロボティックアーム)に従う経路もしくはセグメントのセット、速度、手順のセット、またはそれらの組み合わせを表してもよい。動きプランナ回路302は、ブリッジ回路304に計画された軌道322を通信してもよい。例えば、動きプランナ回路302は、ブリッジ回路304に、対応するタスクを達成するようロボット306によって実行されることになる移動を表すコマンド軌道を送信してもよい。
ブリッジ回路304(例えば、プロセッサ202のうちの1つ以上)は、計画された軌道322を実行する際にロボット306と相互作用するように構成されてもよい。いくつかの実施形態では、ブリッジ回路304は、ロボットのセットによって/ロボットのセットにわたって実行される、リンクされた一連の別個のタスクを各々が含む動作を制御及び実行するよう、複数のロボット(例えば、倉庫または出荷ハブ内のロボット)に対するアクションを調整/制御するロボットシステムコントローラとして実行されてもよい。したがって、ブリッジ回路304は、計画された軌道322の様々な部分/態様を実行するよう、ロボット306に対するタイミングを制御してもよい。
ロボット306は、ブリッジ回路304からのコマンド及び/または設定(例えば、計画された軌道322またはそれらの部分の表現)に従って、計画された軌道322を実行し、対応するタスクを実行するように構成されてもよい。例えば、ロボット306は、ロボティックアーム及び/またはエンドエフェクタが目標物体112をつかみ、移送し、及び/または離すように操縦するよう、図2の駆動デバイス212及び/または図2の移送モータ214を動作させてもよい。例示的な実施例として、ロボット306は、開始位置114における目標物体112の周りのつかむ位置にエンドエフェクタを配置するよう、計画された軌道322に従ってもよく、ロボティックアームを移動させてもよい。つかむ位置においてエンドエフェクタを介して目標物体112をつかんだ後、ロボット306は、計画された軌道322に対応する、経路、速度、手順のセットなどに従って目標物体112を移送してもよい。
計画された軌道322を実行する際、ブリッジ回路304及びロボット306は、タスクを達成するよう相互に反復的に通信してもよい。例えば、ブリッジ回路304は、ロボット306の初期位置342(例えば、ロボティックアーム、エンドエフェクタ、それらの一部、もしくはそれらの組み合わせのリアルタイム位置(複数可))、並びに/または移送された目標物体112の初期位置342を決定してもよい。ブリッジ回路304は、発信する通信(例えば、コマンド、設定など)及び/またはロボット306からのフィードバックデータ362に基づいて、計画された軌道322の実行の前の初期位置342を決定してもよい。例示的な実施例として、ブリッジ回路304は、デッドロッキング機構を使用して、及び前に実行/実行されたコマンド、設定、動き計画などに従って、初期位置342を導出してもよい。加えてまたは代わりに、ブリッジ回路304は、フィードバックデータ362に含まれるロボットの追跡/報告された位置に基づいて、初期位置342を決定してもよい。ブリッジ回路304は同様に、計画された軌道322の実行の間に、ロボット306、その一部、及び/または目標物体112のリアルタイム位置を決定及び追跡してもよい。
また、ブリッジ回路304は、計画された軌道322を実行するための1つ以上の入力/出力(I/O)状態344を追跡してもよい。I/O状態344は、計画された軌道322を実行することと関連付けられたロボット306の動作状態及び/または対応する進捗/状態を表してもよい。例えば、I/O状態344は、計画された軌道322を実行する際の中断状態、再開状態、及び/または取消状態を含んでもよい。また、I/O状態344は、計画された軌道322と初期に関連付けられた速度または移動割合を調節するための速度変化状態を含んでもよい。速度変化状態は、速度変化、更新された速度の逸脱、及び/または速度設定の間の遷移と関連付けられたコマンド/設定の通信を含んでもよい。速度変化に関する詳細は、以下で説明される。
ブリッジ回路304は更に、計画された軌道322の実行と関連付けられたエラー状態346を追跡してもよい。例えば、ブリッジ回路304は、ロボットの検出されたエラー(例えば、部品損失状態)を報告するフィードバックデータ362に基づいて、エラー状態346を追跡してもよい。また、ブリッジ回路304は、報告されたデータ(例えば、フィードバックデータ362)を、計画された軌道322の予測された状態/進捗及び/またはそれらの更新(例えば、速度変化)と比較することに基づいて、エラー状態346を決定してもよい。
ブリッジ回路304は、軌道調節器305を含んでもよい。軌道調節器305は、計画された軌道322及び/またはそれらの実行を調節するように構成された1つ以上の回路及び/または関数を含んでもよい。軌道調節器305は、計画された軌道322に沿った1つ以上のポイントにおけるI/O状態344、エラー状態346、つかむ強さもしくは状態、パッケージ識別情報もしくは状態、リアルタイム状況、及び/または計画された軌道322の実行の間の他のリアルタイムパラメータを追跡してもよい。追跡された情報が動作状態から逸脱し、及び/または調節条件と合致するとき、軌道調節器305は、計画された軌道322を動的に調節してもよい。いくつかの実施形態では、軌道調節器305は、計画された軌道322を使用してもよく、それによって、移動の計画された経路を維持し、計画された軌道322の実行を調節するよう、そこの1つ以上のウェイポイントを動的に更新/置き換えてもよい。動的な調節に関する詳細を、以下に記載する。
<タスク実行例>
図4は、本技術の1つ以上の実施形態に係る、実施例のタスクを実行するロボットシステム100の上面図である。例示される実施例のタスクは、開始位置114からタスク位置116に目標物体112を移送することを含んでもよい。上記説明されたように、図3の動きプランナ回路302は、タスクを実行するための計画された軌道322を導出してもよい。
いくつかの実施形態では、計画された軌道322は、1つ以上の計画されたウェイポイント402を含んでもよい。計画されたウェイポイント402は、1つ以上のシステム動作パラメータまたはロボット動作パラメータに従った、計画された軌道322に沿った目標とされた位置を含んでもよい。例えば、計画されたウェイポイント402は、各々の処理期間404(T)に対応する追跡された部材(例えば、エンドエフェクタなどのロボット306の1つ以上の部分、及び/または目標物体112)に対する目標とされた位置を表してもよい。言い換えると、図3のブリッジ回路304及び/またはロボット306は、各々の処理期間の間に次の計画されたウェイポイントに、追跡された部材を反復的に移動させてもよい。1つ以上の実施形態では、追跡された部材の移動は、計画されたウェイポイント402のペアの間で直線的であってもよく、及び/または一定速度にあってもよい。計画されたウェイポイント402は、移動の方向もしくは速度を変化させることによって、または追跡された部材を回転させることによってなど、追跡された部材の移動を変化させるための位置を表してもよい。
例示的な実施例として、ロボットシステム100(例えば、ブリッジ回路304を介した)は、追跡された部材の現在の位置406を追跡してもよい。ロボットシステム100は、ロボット306がタスクの実行の間、及び/またはタスクの実行と対応する計画された軌道との間に目標物体112を移送する間、現在の位置406を追跡してもよい。したがって、ブリッジ回路304は、新たなタスクに対する計画された軌道322が受信されるとき、エンドエフェクタの現在の位置406を知ることができる。ブリッジ回路304は、図3の初期位置342として現在の位置406を設定してもよい。したがって、ブリッジ回路304は、計画された軌道322を実行するデータ及び/またはコマンドをロボット306に送信してもよい。例えば、ブリッジ回路304は、各々の処理期間404にわたって計画されたウェイポイント402の次の1つに追跡された部分を反復的に移動させるためのデータ及び/またはコマンドをロボット306に送信してもよい。
計画された軌道322の実行の間、ロボットシステム100は、リアルタイム状況を監視してもよい。リアルタイム状況のいくつかの実施例は、部品損失(例えば、目標物体112を落とすこと)、目標物体112に対してつかむことが不十分であること、ロボット306及び/または目標物体112と別の物体/構造との間の予測されない接触/計画されない接触(例えば、衝突イベント)、予め定められた取消条件、不一致のセンサ値、開始/終了位置における予測されない状況、並びにロボット306における動作的及び/または機械的故障などを表すエラー状況を含んでもよい。リアルタイム状況の他の実施例は、外部ソース(例えば、図3の動きプランナ回路302)及び/もしくは内部ソース(例えば、図3の軌道調節器305)からの中断コマンド、再開コマンド、取消コマンド、及び/または速度調節コマンドなど、他のデバイス/システムによって提供されるコマンドを含んでもよい。ブリッジ回路304は、リアルタイム状況を監視することに基づいて、図3のI/O状態344及び/または図3のエラー状態346を検出及び設定してもよい。
各々の処理期間404の間、ブリッジ回路304及び/またはロボット306は、I/O状態344をチェックしてもよい。I/O状態344が、計画された軌道322の継続した実行(例えば、再開状態、及び/または中断/取消/速度変化がないこと)を示すとき、ブリッジ回路304及び/またはロボット306は、計画されたウェイポイント402の次の1つに、追跡された部分(例えば、エンドエフェクタ及び/または目標物体112)を進めるよう動作してもよい。ブリッジ回路304及び/またはロボット306は、次のウェイポイントに追跡された部分を進める間、エラー状態に対してチェックすることを続けてもよい。エラー状況が検出され、エラー状態346が設定/検出されるとき、ブリッジ回路304は、計画された軌道322の実行を無効にしてもよく、取り消してもよく、調節してもよく、及び/または再始動してもよい。計画された軌道322に対して無効にし、取り消すなどの際、ブリッジ回路304(例えば、軌道調節器305を介した)は、移動速度及び/またはウェイポイントを調節してもよい。したがって、ブリッジ回路304は、他の故障につながる突然の移動/衝突を低減させる円滑な/シームレスな方式において、及び/またはロボット306のハードウェア/物理的能力に従って、計画された軌道322に対する変更を実行してもよい。
図5Aは、本技術の1つ以上の実施形態に係る、応答プロファイル502の例示である。応答プロファイル502は、コマンドを実行する際のロボット306における物理反応または実行を表してもよい。図5Aに例示される実施例について、応答プロファイル502は、停止コマンドまたは中断状態に応答した、エンドエフェクタの速度を表してもよい。垂直軸は、エンドエフェクタの速度を表してもよく、水平軸は、時間を表してもよい。応答プロファイル502は、ロボット306において受信される停止コマンド/中断状態などのトリガイベント504、及びロボット306の対応する応答を表してもよい。ロボット306は、トリガイベント504に応答してもよく、エンドエフェクタの移動を停止することによってなど、完了イベントを実行してもよい。ロボット306は、トリガイベント504を受信して処理するのに、ロボットの処理遅延508を必要とすることがある。トリガイベント504及び/またはその処理に続いて、ロボット306は、完了イベント506を達成するよう、エンドエフェクタの移動を減速させることによってなど、物理的な変更を実行してもよい。
ロボットシステム100(例えば、ブリッジ回路304)は、計画された軌道322の実行を調節するために、応答プロファイル502を使用してもよい。言い換えると、ロボットシステム100は、計画された軌道322の実行を調節する際に、ロボット306の物理特性または遂行特性を説明することができる。いくつかの実施形態では、ロボットシステム100は、計画されたウェイポイント402を置き換える更新されたウェイポイントを導出するために、応答プロファイル502を使用してもよい。
図5Bは、本技術の1つ以上の実施形態に係る、実施例の調節520の例示である。図5に例示されるように、図1のロボットシステム100(例えば、図3のブリッジ回路304及び/または図3のロボット306を介した)は、開始位置114からタスク位置116に目標物体112を移送するための、図の計画された軌道322を実行してもよい。実行の間、ロボットシステム100は、目標部分(例えば、エンドエフェクタ及び/または図1の目標物体112)の現在の位置406を追跡してもよい。
ロボットシステム100が、図3のI/O状態344及び/または図3のエラー状態346などにおける状態変化を決定するとき、ロボットシステム100は、計画されたウェイポイント402の中で、1つ以上のアクティブウェイポイント522(例えば、第1の来たるべきポイント522a及び/または第2の来たるべきポイント522b)を決定してもよい。アクティブウェイポイント522は、現在の位置406を超え、または現在の位置406に対して来たるべき計画されたウェイポイント402のインスタンスを含んでもよく、目標部分(例えば、現在の位置406の背後のウェイポイント)を通過し、または目標部分によってトラバースされた計画されたウェイポイント402のインスタンスを排除してもよい。いくつかの実施形態では、ロボットシステム100は、計画されたウェイポイント402の隣接したウェイポイントの間に延びる計画されたセグメント524に沿って、ロボット306を、その代表的な部分(例えば、エンドエフェクタ)及び/または目標物体112を反復的に移動させるよう動作させてもよい。
更に、決定された状態変化に応答して、ロボットシステム100は、状態変化に対応する図5の応答プロファイル502にアクセスにし、及び/または応答プロファイル502を分析してもよい。例えば、ロボットシステム100(例えば、ブリッジ回路304)は、状態変化に対応するアクションを実行及び完了するロボット306の能力を決定してもよい。したがって、ロボットシステム100は、調節アクション(例えば、状態変化に応答して取られるアクション)を完了することができる計画された軌道322に沿った位置を表す実行可能性領域530を導出してもよい。実行可能性領域530は、調節アクションを完了することができる(例えば、調節を開始することができ、または最初に効果を奏することができる)計画された軌道322に沿った最も近い/最も早い位置及び/または最も遠い/最も遅い位置を表してもよい。
ロボットシステム100(例えば、図3の軌道調節器305)は、実行可能性領域530に基づいて、1つ以上の更新されたウェイポイント532を導出してもよい。更新されたウェイポイント532は、計画された軌道322に沿ってもよい。更新されたウェイポイント532は、計画されたウェイポイント402を置き換えるためのものであってもよい。更新されたウェイポイント532のうちの1つ以上は、計画されたウェイポイント402の対応する1つ以上と一致してもよい。いくつかの実施形態では、ロボットシステム100は、更新されたウェイポイント532の隣接したウェイポイントの間に延びる更新されたセグメント534に沿って、ロボット306を、その代表的な部分(例えば、エンドエフェクタ)及び/または目標物体112を反復的に移動させるよう動作させてもよい。
ロボットシステム100は、実行可能性領域530内の更新されたウェイポイント532のうちの1つ以上を導出してもよい。ロボットシステム100は、追跡された部分が次の更新されたウェイポイント(例えば、実行可能性領域530内のウェイポイント)において調節アクションを完了することができるように、現在の位置406において調節アクションを開始してもよい。例示的な実施例として、ロボットシステム100は、次の更新されたウェイポイントにおいてエンドエフェクタ及び/または運搬された目標物体112を停止してもよい。また、ロボットシステム100は、次の更新されたウェイポイントによって目標とされた速度(例えば、計画された速度と比較した、移動速度における増大または減少)を達成してもよい。ロボットシステム100は、移動速度を反復的に増大または減少させることによってなど、所望の終点状態を達成するために、複数の更新されたウェイポイント532を使用してもよい。更新されたウェイポイント532を導出する際、ロボットシステム100は、更新された移動速度を考慮することができる。図4の処理期間404は、一定のままであってもよく、更新されたウェイポイント532は、一定の処理期間404に対する更新された移動速度に対応してもよい。例えば、更新されたウェイポイント532の間の距離/離間距離は、更新された移動速度がより低速であるとき、計画されたウェイポイント402と比較して減少してもよい。
いくつかの実施形態では、応答プロファイル502は、(1)ロボット306の最大逆速度(例えば、1つの処理期間404またはその残りの部分の間の移動速度における最大の負の変化)及び(2)ロボット306の最大順速度(例えば、1つの処理期間404またはその残りの部分の間の移動速度における最大の正の変化)に対応してもよい。最大逆速度は、
Figure 0007174965000001
によって表されてもよく、最大順速度は、
Figure 0007174965000002
によって表されてもよい。代表的な部分の位置は、qと表わされてもよく、対応する速度(例えば、位置の第1の派生)は、
Figure 0007174965000003
によって表されてもよく、対応する加速度(例えば、位置の第2の派生)は、
Figure 0007174965000004
によって表されてもよい。現在のセグメント(例えば、現在の位置406を含むセグメント)に対する初期位置/ウェイポイントは、
Figure 0007174965000005
と表されてもよい。
実行可能性領域530は、来たるべき計画されたウェイポイント(例えば、第1の来たるべきポイント522a)に対する(1)逆境界及び(2)前方境界の両方によって画定されてもよい。逆境界は、最大逆速度
Figure 0007174965000006
、来たるべき計画されたウェイポイント
Figure 0007174965000007
、及び処理期間404(T)に従って導出されてもよい。例えば、逆境界は、
Figure 0007174965000008
に基づいて導出されてもよい。前方境界は、最大逆速度
Figure 0007174965000009
、来たるべき計画されたウェイポイント
Figure 0007174965000010
、及び処理期間404(T)に従って導出されてもよい。例えば、前方境界は、
Figure 0007174965000011
に基づいて導出されてもよい。
ロボットシステム100は、実行可能性領域530内に位置することになる更新されたウェイポイント532の1つ目を導出してもよい。第1の更新されたウェイポイントを導出する際、ロボットシステム100は、目標とされた速度を決定してもよい。目標とされた速度は、最大逆速度
Figure 0007174965000012
及び最大順速度
Figure 0007174965000013
によって境界を設けられてもよい。いくつかの実施形態では、目標とされた速度は、処理期間404(T)にわたって次のセグメント(例えば、第1の来たるべきポイント522a)に対する初期位置と第2の後続のセグメント(例えば、第2の来たるべきポイント522b)に対する初期位置との間の差を評価することに基づいて導出されてもよい。したがって、目標とされた速度は、
Figure 0007174965000014
として表されてもよく、次のセグメントの初期位置は、
Figure 0007174965000015
と表わされ、第2の後続のセグメントに対する初期位置は、
Figure 0007174965000016
と表わされる。応答コマンドが実行可能性領域530を超えて延長するとき、第1の更新されたウェイポイントは、その境界にあるなど、実行可能性領域530内にあるように切り捨てられてもよく、または調節されてもよい。更新されたウェイポイント532の1つ目は、1つの処理期間にわたって目標とされた速度及び/または対応する加速度を実行することに基づいて導出されてもよい。
1つ以上の実施形態では、ロボットシステム100は、現在の速度/計画された速度と目標とされた速度との間の1つ以上の中間速度を計算してもよい。ロボットシステム100は、目標とされた速度が1つの処理期間内に達成可能でないとき、最大順速度/逆速度または加速度に従って中間速度を計算してもよい。したがって、ロボットシステム100は、複数の処理期間/ウェイポイントにわたって、及び目標とされた速度まで、中間速度を反復的に実行して、中間速度に到達してもよい。ロボットシステム100は、各々の対応する処理期間にわたって、中間速度/目標とされた速度及び/または対応する加速度に従って、更新されたウェイポイント532を導出してもよい。
<制御フロー例>
図6は、本技術の1つ以上の実施形態に係る、図1のロボットシステム100を動作させる実施例の方法600のフローチャートである。方法600は、図3の計画された軌道322またはその実行を動的に調節する(その実行の派生の後及び/またはその実行の間)ためのものであってもよい。方法600は、図3のブリッジ回路304、図3の動きプランナ回路302、及び/または図3のロボット306を使用して実行されてもよい。方法600は、図2のプロセッサ202のうちの1つ以上により、図2の記憶装置204のうちの1つ以上に記憶された命令を実行することに基づいて実行されてもよい。方法600は、通信デバイス206を使用して、計画された軌道322、図5Bの調節520、図3のフィードバックデータ362、及び/または対応するコマンド/設定を通信することに基づいて実行されてもよい。通信されたコマンド/設定は、ロボット306において実行されてもよく、それによって、計画された軌道322及び/またはそれに対する調節520に対応するタスクを実行する。いくつかの実施形態では、方法600は、1つ以上の状態マシンを使用して実行されてもよい。
ブロック602において、ロボットシステム100は、タスクを実行するように構成された初期に計画された軌道を通信してもよい。例えば、動きプランナ回路302は、図1の開始位置114から図1のタスク位置116に目標物体112を移送することなど、図1の目標物体112の操作を必要とするタスクを達成するための計画された軌道322を導出してもよい。いくつかの実施形態では、動きプランナ回路302は、タスク位置116における目標物体112に対する目標とされた姿勢を決定し、開始位置114に接続する経路セグメントを反復的に決定することによって、計画された軌道322を導出してもよい。
動きプランナ回路302は、導出された計画された軌道322をブリッジ回路304に通信してもよく、ブリッジ回路304は、初期に計画された軌道322を受信してもよい。以下で更に詳細に説明されるように、ブリッジ回路304は、タスクの実行及び/またはタスクに対するリアルタイム/動的調節を制御してもよい。
ブロック604において、ロボットシステム100は、計画された軌道322と関連付けられた図4の1つ以上の計画されたウェイポイント402を識別してもよい。計画されたウェイポイント402は、図4の処理期間404のセットの間に反復的に/増加的に目標とされた計画された軌道322に沿った位置を含んでもよい。言い換えると、ロボットシステム100は、対応する処理期間404の終了時に、計画されたウェイポイント402に代表する部分(例えば、エンドエフェクタ)及び/または目標物体112を配置するようロボット306を動作させてもよい。いくつかの実施形態では、計画されたウェイポイント402を識別することは、ブリッジ回路304が、受信された位置から動きプランナ回路302において導出され、受信された位置に含まれる計画されたウェイポイント402にアクセスすることを含んでもよい。他の実施形態では、計画されたウェイポイント402を識別することは、ブリッジ回路304が、処理期間404(例えば、各々の期間の間の予め設定された持続期間)及び計画された軌道322と関連付けられた速度設定(例えば、計画された軌道322と共に提供される情報)に従って、計画された軌道322に沿った位置を決定することを含んでもよい。
ブロック606において、ロボットシステム100は、タスクの実行を開始してもよい。例えば、ロボットシステム100は、ブリッジ回路304が、タスク実行処理を始め、対応するプロトコルを開始するなどのために、ロボット306にコマンド/設定を通信することに基づいて、タスクの実行を開始してもよい。ブリッジ回路304は更に、その代表的な部分(例えば、エンドエフェクタ)など、ロボット306の図3の初期位置342を決定してもよく、及び/または予め定められた位置(例えば、目標物体112をつかむための計画された軌道322によって識別されるつかむ位置)に代表的な部分を操縦するようロボット306を動作させてもよい。手順が完了すると、予め定められた位置は、初期位置342としての役割を果たしてもよい。
決定ブロック608において、ロボットシステム100は、計画された軌道322に従って、タスクの実行が終点に到達したかどうかを決定してもよい(例えば、タスク位置116に配置される目標物体112に対応する終結状態)。以下で詳細に説明されるように、ロボットシステム100は、計画された軌道322に沿って目標物体112を反復的に移送してもよい。ロボットシステム100は、タスクの実行が各々の移動の反復に対して終点に到達したかどうかを決定してもよい。いくつかの実施形態では、ロボットシステムは、目標物体112がタスク位置116に配置されるとき、及び/または計画された軌道322に対応する全てのコマンド/設定が実行/完了されたとき、終点に到達したと決定してもよい。タスクが終点に到達したとき、ロボットシステム100は、ブロック610において表されるように次のタスクを識別してもよく、ブロック602へのフィードバックループによって示されるように、対応する次の計画された軌道を通信してもよい。
タスクが終点に到達しなかったとき、ロボットシステム100は、ブロック612に提示されるように、次のウェイポイントを識別してもよい。ロボットシステム100(例えば、ブリッジ回路304)は、現在の位置406(例えば、第1の反復に対する初期位置342)を、現在維持されている/有効なウェイポイントのセットと比較することに基づいて、次のウェイポイントを識別してもよい。維持されている/有効なウェイポイントのセットは、計画されたウェイポイント402を初期に含んでもよい。維持されている/有効なウェイポイントのセットは、調節520の後の、または調節520に基づいた計画されたウェイポイント402の代わりに、図5Bの更新されたウェイポイント532を含んでもよい。比較に基づいて、ロボットシステム100は、移動方向に沿った現在の位置406に隣接した(例えば、その前方直前に)ウェイポイントとして次のウェイポイントを識別してもよい。
ブロック614において、ロボットシステム100は、識別された次のウェイポイントへの、ロボット306の代表的な部分及び/または目標物体112の移動を実行してもよい。例えば、ブリッジ回路304は、目標物体112またはロボット306の代表的な部分を次のウェイポイントへの計画された軌道322に従わせるようロボット306を動作させるためのコマンド及び/または設定のセットを通信することによって、移動を実行してもよい。ロボット306は、識別された次のウェイポイントにロボット306の代表的な部分及び/または目標物体112を移動/変位させるコマンド及び/または設定のセットを受信及び実行してもよい。
ブロック616において、ロボットシステム100は、タスクの実行の間に現実世界状況を監視してもよい。例えば、ロボットシステム100は、現実世界状況を監視するよう、図2のセンサ216からリアルタイムデータを受信及び分析してもよい。また、ロボットシステム100は、動きプランナ回路302からのリアルタイムデータ(例えば、コマンド及び/もしくは他のメッセージ)、ロボットユニットからのリアルタイムデータ(例えば、ロボット306からのフィードバックデータ362)、並びに/または他の通信可能に結合されたデバイス/システム(例えば、倉庫管理システム)からのリアルタイムデータを監視機能のために使用してもよい。
いくつかの実施形態では、ロボットシステム100は、代表的な部分及び/または目標物体112が次のウェイポイントに移動している間(例えば、対応するセグメント移動の実行の間)、図3のI/O状態344を監視することに基づいて、現実世界状況を監視してもよい。I/O状態344は、リアルタイムセンサデータ及び/または受信された通信データを分析した結果に対応してもよく、ロボットシステム100(例えば、ロボット306)がタスクの実行を完了し、目標物体112を操作する能力を表してもよい。ロボットシステム100(例えば、ブリッジ回路304)は、中断状態、再開状態、取消状態、速度変化状態、エラー状態346、及び/またはそれらに対する変化を検出することによって、I/O状態344を監視してもよい。
決定ブロック618において、ロボットシステム100は、監視された現実世界状況が進行しているタスクを調節するためのトリガに合致するかどうかを決定してもよい。トリガは、上記説明された状態のうちの1つ以上に対応する状況など、タスクに対する変更を必要とする状況を表してもよい。例示的な実施例として、ロボットシステム100は、より低いつかむ強さ、損失した部品、衝突、及び/またはタスクの実行の間に発生する他の予測されない状況を検出してもよく、それらを説明することができる。
監視された現実世界状況がトリガ条件に合致しないとき、ロボットシステム100は、フィードバックループによって表されるように、初期に計画された軌道322に従ってタスクを実行することを続けてもよい。したがって、ロボットシステム100は、ブロック608~616に対して上記説明された処理を実行してもよく、計画された軌道322内の次のウェイポイントを識別してもよく、初期に計画されたようにタスクを反復的に実行してもよい。
監視された現実世界状況がトリガ条件に合致するとき、ロボットシステム100は、ブロック620に表されるように、1つ以上のタスク調節(例えば、図5Bの調節520)を動的に導出してもよい。いくつかの実施形態では、ロボットシステム100は、I/O状態344に基づいて、図5Bの更新されたウェイポイント532を導出することによってなど、調節520を動的に導出してもよい。例えば、中断状態、再開状態、取消状態、速度変化状態、及び/またはエラー状態を検出したことに応答して、ロボットシステム100は、計画された軌道322に沿った更新されたウェイポイント532を(例えば、ロボット306の代表的な部分が開始位置114とタスク位置116との間にあるときなど、タスクの実行の間に)動的に導出してもよい。更新されたウェイポイント532は、来たるべきウェイポイント/残りのウェイポイントのうちの1つ以上を含む計画されたウェイポイント402を置き換えるように構成されてもよい。更新されたウェイポイント532は、各々のウェイポイントが、対応する処理期間404の終了時に目標物体112または代表的な部分によって到達されることになる目標とされた位置を表すように、処理期間404に対応してもよい。
いくつかの実施形態では、ロボットシステム100は、ブロック622に示されるように、検出されたトリガと関連付けられた、図5Aの応答プロファイル502を識別することに基づいて、タスク調節を動的に導出してもよい。例えば、ロボットシステム100は、ロボット306に対する代表的な部分の移動を減速させ、加速させ、及び/または停止するための応答プロファイル502を識別してもよい。ロボットシステム100は、ロボット306に関する予め定められた情報/既知の情報(例えば、図2のマスタデータ252内にあるなど、図2の記憶装置204に記憶された情報)にアクセスすることに基づいて、及び/またはロボット306とプロファイルを通信することに基づいて、応答プロファイル502を識別してもよい。したがって、ロボットシステム100は、対応する応答プロファイル502と関連付けられた最大逆速度及び/または最大順速度など、調節またはその一部(例えば、加速、減速、停止など)を実行するロボットの物理的能力を表すものを識別してもよい。
ブロック624において、ロボットシステム100は、応答プロファイル502に基づいて、実行可能性領域530を決定してもよい。ロボットシステム100(例えば、ブリッジ回路304を介した)は、計画された軌道322に沿い、かつ目標物体112及び/またはロボット306の代表的な部分を表す現在の位置406の前方の実行可能性領域530を決定してもよい。ロボットシステム100は、更新されたコマンド/設定の投影されたタイミング、及び実行可能性領域530からの速度/時間に基づいて外挿された位置/距離に従って、応答プロファイル502をマッピングすることに基づいて、実行可能性領域530を決定してもよい。したがって、ロボットシステム100は、最大逆速度及び/または最大順速度のそれぞれと関連付けられた逆境界及び/または前方境界を導出することに基づいて、実行可能性領域530を決定してもよい。逆境界及び前方境界は、実行可能性領域530(例えば、逆境界と前方境界との間の領域)を画定するために使用されてもよい。ロボットシステム100は、調節520が最初に効果を奏することができる計画された軌道322に沿った位置を識別/提示するために、実行可能性領域530を使用してもよい。
ブロック626において、ロボットシステム100は、検出されたトリガに対する目標速度を決定してもよい。例えば、ロボットシステム100は、監視された状況が停止、取消、及び/または逆行などの予め定められた状態に対応するとき、ゼロ移動状態または停止された移動状態として目標速度を決定してもよい。また、ロボットシステム100は、速度変化段階及び/または逆行状態(例えば、計画された軌道322に沿った反対の方向を有するベクトル)と関連付けられた/速度変化段階及び/または逆行状態(例えば、計画された軌道322に沿った反対の方向を有するベクトル)によって目標とされた速度として目標速度を決定してもよい。更に、ロボットシステム100は、エラー状態346の検出に応答して、1つ以上の予め定められた処理及び/または式に従って、目標速度を決定してもよい。
目標速度は、初期に計画された軌道322または来たるべきそれらの部分と関連付けられた計画された速度とは異なってもよい。言い換えると、目標速度は、計画された軌道322に対する動的に導出された調節及び/またはその実行に対する終点状態/状況に対応してもよい。
決定ブロック628において、ロボットシステム100(例えば、ブリッジ回路304を介した)は、目標速度に対する変更を1つの処理期間にわたって実行可能かどうかを決定してもよい。例えば、ロボットシステム100は、目標速度及び/または現在の速度と目標速度との間の差を、応答プロファイル502と関連付けられた最大速度/境界速度と比較してもよい。目標速度が1つの処理期間内に実行可能でないとき(例えば、目標速度がロボット306と関連付けられた最大速度変化を上回るとき)、ロボットシステム100は、ブロック630において表されるように、1つ以上の中間速度を決定してもよい。言い換えると、ロボットシステム100は、中間速度を通過し、目標速度に到達するために、複数の処理期間を使用してもよい。いくつかの実施形態では、ロボットシステム100は、目標速度に最も近い最大速度/境界速度として中間速度を決定してもよい。他の実施形態では、ロボットシステム100は、目標速度に到達するために必要な処理期間/反復の最小数を決定してもよい。ロボットシステム100は、目標速度を決定された最小数で除算することに基づいて、中間速度(複数可)を計算してもよい。中間速度(複数可)は、現在の速度と目標速度との間の値/設定を含んでもよい。
ブロック632において、ロボットシステム100は、導出された速度(複数可)(例えば、目標速度及び/または中間速度(複数可))に基づいて、更新されたウェイポイントを導出してもよい。いくつかの実施形態では、ブリッジ回路304は、上記説明された実行可能な決定に従って、フラグを設定してもよい。ブリッジ回路304は、更新されたウェイポイント532の1つ目を導出するために、最初の来たるべきセグメント/次の来たるべきセグメントに対する決定された速度を使用してもよい。第1のウェイポイントは、上記説明されたような応答プロファイル502と関連付けられた最大速度/調節によって境界を設けられる来たるべき速度に基づいて導出されてもよい。したがって、ロボットシステム100は、実行可能性領域530内の位置として第1のウェイポイントを導出してもよい。
例示的な実施例として、ロボットシステム100は、現在の位置406の前方の次の来たるべきウェイポイント(例えば、図5Bの第1の来たるべきウェイポイント522a)において変更が実行されると決定してもよい。したがって、応答プロファイル502は、第1の来たるべきウェイポイント522aに続くセグメントにマッピングされてもよい。応答プロファイル502が1つの処理期間内に実行することができる変更を記述するので、実行可能性領域530は、図5Bの第1の来たるべきウェイポイント522aと第2の来たるべきウェイポイント522bとの間のサブセグメントを含んでもよい。ロボットシステム100は、目標とされた速度及び/または目標とされた速度に最も近い位置に従ってなど、実行可能性領域530内の位置として第1の更新されたウェイポイントを導出してもよい。例えば、ロボット306が来たるべき処理期間内の所望の変更を実行することができる場合、ロボットシステム100は、目標とされた調節の実行を予測することに基づいて(例えば、最大加速度/減速度を距離/位置を予測する1つ以上の予め定められた処理に基づいて)、第1の更新されたウェイポイントを導出してもよい。ロボット306が変更を実行する1つよりも多い処理期間を必要とする場合、ロボットシステム306は、実行可能性領域530の最も遠い境界、または第1の来たるべきポイント522aに対する上記説明された分割された位置として、第1の更新されたウェイポイントを導出してもよい。
いくつかの実施形態では、ロボットシステム100は、目標とされた速度及び/または中間速度(複数可)に基づいて、更新されたウェイポイント532の残りのセットを導出してもよい。他の実施形態では、ロボットシステム100は、反復ごとに1つの来たるべき更新されたウェイポイントを導出してもよい。
ロボットシステム100は、フィードバックループによって表されるように、調節520を実行するために更新されたウェイポイント532を使用してもよい。よって、I/O状態344に基づいて、ロボットシステム100(例えば、ブリッジ回路304を介した)は、計画されたウェイポイント402の代わりに、更新されたウェイポイント532に従って、目標物体112を操作するためのタスクに対する調節520を実行してもよい。計画された軌道322の残りの部分について、ブリッジ回路304は、後続の処理期間に対して、計画されたウェイポイント402の代わりに、来たるべきウェイポイント532を目標とする/来たるべきウェイポイント532に従うようロボット306を動作させるためのコマンド/設定を生成してもよい。したがって、ブリッジ回路304は、1つ以上の更新されたウェイポイント及び対応する処理期間(複数可)にまたがって、現在の速度から目標移動速度に遷移するようロボット306を動作させてもよい。例えば、実行可能なとき、ブリッジ回路304は、検出されたトリガ条件/状態に従う初期処理期間の間に、現在の速度から目標速度に遷移するようロボット306を動作させてもよい。また、1つの期間/反復にわたって実行可能でない場合、ブリッジ回路304は、初期処理期間の間に現在の速度から中間速度に遷移するようロボット306を動作させてもよい。ブリッジ回路304は、後続の処理期間の間に中間速度から目標速度に遷移するようロボット306を動作させてもよい。ブリッジ回路304は、タスク及びそれに対する後続の調節520を実行するよう、目標物体112及び/または代表的な部分を反復的に移動させてもよい。したがって、ブリッジ回路304は、目標物体112及び/または代表的な部分を移動させるための速度を停止する、逆行させる、及び/または調節するよう、ロボット306を動作させてもよい。
<実行態様の詳細例>
図7A~図7Dは、本技術の1つ以上の実施形態に係る、実施例の調節機構(例えば、状態マシン)の例示である。図7Aは、軌道実行機構702(例えば、図3のブリッジ回路304、図2のプロセッサ202のうちの1つ以上、またはそれらの組み合わせ)を例示する。軌道実行機構702は、図3の計画された軌道322の実行を調節するための全体フローを管理するように構成されてもよい。軌道実行機構702は、図6の方法600、それらの一部、または代替的な実施形態に対応してもよい。
軌道実行機構702は、図4の処理期間404に従って実行されてもよい。軌道実行機構702は、「X」において開始及び終了する各々の処理期間の間に、以下で説明される様々な状態を通じて遷移してもよい。
各々の期間または瞬間の間、軌道実行機構702は、「CheckIO」ブロックによって表されるように、図3のI/O状態344をチェックしてもよい。軌道実行機構702は、図6のブロック616に対して上記説明されたように、I/O状態344またはそれに対する変更をチェックしてもよい。例えば、軌道実行機構702は、中断状態、再開状態、取消状態、速度変化状態などに対する発生または変更を検出してもよい。
I/Oをチェックした後、軌道実行機構702は、「MoveRobot」ブロックによって表されるように、ロボットを移動させてもよい。軌道実行機構702は、図4の計画されたウェイポイント402を有する図3の計画された軌道322、または図5Bの更新されたウェイポイント532を有する図5Bの調節520など、現在維持されている軌道に従って、図3のロボット306を動作させてもよい。例えば、軌道実行機構702は、図6のブロック614に対して上記説明された処理に対応してもよい。
いくつかの実施形態では、軌道実行機構702は、「CheckErrors」ブロックによって表されるように、エラー(例えば、図3のエラー状態346)に対してチェックしてもよい。軌道実行機構702は、ブロック616に対して同様に上記説明されたように、エラー状態346に対してチェックしてもよい。言い換えると、軌道実行機構702は、状況の一部分(例えば、I/O状態344)が移動前/移動中にチェックされ、エラーが移動後にチェックされるように、現実世界状況の監視を分割させてもよい。例えば、軌道実行機構702は、実行された移動の評価によって、エラーに対してチェックしてもよい。評価されたエラー状況のいくつかの実施例は、目標物体112及び/または表された部分の間の別の物体または構造物との予測されない接触/計画されない接触、目標物体を落とすこと(「部品損失」)、1つ以上の予め定められた取消状態(例えば、目標位置において物体をずらすこと)、及びセンサバルブのずれなどを含んでもよい。軌道実行機構702は、検出されたエラーに対応する応答アクションを決定するために、予め定められた処理を使用してもよい。応答アクションは、逆行して移動すること、タスクを取り消すこと、タスクを再開することなどを含んでもよい。
その後、軌道実行機構702は、「PlanNextMove」ブロックによって表されるように、次の移動を決定してもよい。軌道実行機構702は、図6のブロック612、618、及び620に対して同様に上記説明されたように、次の移動を計画してもよい。例えば、軌道実行機構702は、I/O状態344及び/またはエラー状態346が前述のステップにおいてフラグ付けされたかどうか、または検出されたかどうかを決定してもよい。計画された次の移動は、トリガ条件が検出されなかったとき、既存の計画を続けることに対応してもよい。1つ以上のトリガ条件が検出された場合、軌道実行機構702は、次の移動がタスクの実行を取り消すことになり、タスクの実行を終了することになり、及び/または移動を減速させることになると決定してもよい。
軌道実行機構702は、計画された次の移動に従って、間接情報(例えば、次の移動を実行するための詳細)を計算してもよい。トリガ条件が検出されなかった場合、軌道実行機構702は、ウェイポイントの残りのセット/既存のセットに従って、次のウェイポイント及び対応する移動速度を識別することに基づいて、次の移動を導出してもよい。1つ以上のトリガ条件が検出された場合、軌道実行機構702は、図3の軌道調節器305を開始してもよい。軌道調節器305は、ブロック620に対応してもよく、残りのウェイポイント/既存のウェイポイントから逸脱するタスク調節(例えば、図5Bの更新されたウェイポイント532)に対する詳細を動的に導出してもよい。例えば、軌道調節器305は、計画された次の移動に対応する新たな目標速度及び/または対応する中間速度のセットを決定してもよい。いくつかの実施形態では、図3の軌道調節器305及び/または動きプランナ回路302は、トリガ条件に基づいて、軌道を再導出してもよい。
図7Bは、図7Aの軌道実行機構702に対する実施例のコマンドフロー704(例えば、状態マシンフロー)を例示する。フロー704は、図3のブリッジ回路304に対する様々なコマンド状態及びコマンド状態の間の遷移を表してもよい。言い換えると、フロー704は、図3のロボット306において実行することができるコマンド/アクション及び実行状態の間の遷移を表してもよい。
フロー704は、ブリッジ回路304へのデータ及び/またはコマンドの通信を表すTRストリーミング状態を含んでもよい。TRストリーミング状態に基づいて、フロー704は、異なる軌道タイプの間のフローを表してもよい。いくつかの実施形態では、軌道タイプは、T-コマンド、T-コネクト、T-キャンセル、及び/またはT-リバースコネクトを含んでもよい。
T-コマンドタイプは、軌道を入力するように構成されてもよい。例えば、図3のブリッジ回路304は、図6のブロック602に例示されるように、図3の計画された軌道322を受信してもよい。T-コマンドタイプは、図3の軌道調節器305によって導出された図3の初期に計画された軌道322に対応してもよい。ブリッジ回路304は、T-コマンドタイプに対して初期に導出されるとして、計画された軌道322を実行することを続けてもよい。
フロー704は、リアルタイム状況(例えば、図3のI/O状態344及び/または図3のエラー状態346)に応答して、異なる軌道タイプまたは状態に遷移してもよい。例えば、中断状況、再開状況、及び/または速度変化状況の決定は、軌道調節器305に、T-コマンドからT-コネクトに遷移させることができる。T-コネクトタイプの軌道は、図5Bの調節520を含んでもよい。T-コネクトは、中断状況に対する0速度への減速コマンド、及び再開状況に対する前の速度または進行中の速度への加速コマンドに対応してもよい。速度変化状況に対し、軌道調節器305は、ロボット306の代表的な部分を加速/減速させるための実行計画を計算してもよい。いくつかの実施形態では、実行計画は、目標速度まで各々の反復に対して速度変化をガイドするように構成された現在の移動速度乗数(CTSM)を含んでもよい。実行計画は更に、別のデバイス/システムから受信された外部移動速度乗数(ETSM)を含んでもよい。いくつかの実施形態では、更新は、既存の起動/進行中の軌道として記憶されてもよく、フロー704は、更新された軌道の後続の実行に対してT-コネクトからT-コマンドに再度遷移してもよい。
T-キャンセルタイプは、軌道の実行を取り消すためのものであってもよい。T-キャンセル軌道タイプは、検出されたエラー状況(例えば、図3のエラー状態346)に応答して、及び/または検出されたエラー状態の間に生成されてもよい。T-キャンセル軌道タイプは、0速度に停止するための1つ以上のコマンドに対応してもよい。いくつかの実施形態では、T-キャンセルタイプは、タスクを終了/完了することに対応してもよい。例えば、ロボット306が目標物体112の操作を終了するとき(例えば、タスク位置116に配置することによって)、T-キャンセルタイプは、新たなタスクを開始する前に、処理フローからの完了した計画された軌道322を削除するよう生成されてもよい。したがって、フロー704は、T-キャンセルがいずれのエラーまたはトリガ条件をも有さないとき、TR終了状態に入ってもよい。代わりに、1つ以上の予め定められたトリガ条件に対し、T-キャンセルは、回復不能なエラー状況(例えば、部品損失)に対してTR中止段階に遷移する前に、問題のある計画された軌道322を消去してもよい。
T-リバースコネクトタイプの軌道は、1つ以上の予め定められたエラー状況に対応してもよい。例えば、T-リバースコネクトは、移送の移動の間、及び/またはピッキング/配置操作の間に、ロボット306が1つ以上の物体に衝突し、または1つ以上の物体を阻害したことに応答して生成されてもよい。また、T-リバースコネクトは、ロボット306の計画された位置(例えば、エンドエフェクタの姿勢)が、ロボット306の検出された位置に合致しないときに生成されてもよい。
図7Cは、図7Aの軌道実行機構702に対する実施例の実行フロー706を例示する。実行フロー706は、上記説明された(例えば、図7Bにおいて)軌道タイプの各々に対する異なる状態及び遷移を表してもよい。各々のコマンド/アクションに対し、標準ストリーミング状態(RegularStreaming)は、現在のウェイポイントのセット(例えば、図4の初期に計画されたウェイポイント402及び図5Bの調節520に続く図5Bの更新されたウェイポイント532)に続く、図1のロボットシステム100(例えば、図3のブリッジ回路304及び図3のロボット306を介した)を表してもよい。
ロボットシステム100は、ブリッジ回路304とロボット306との間の通信と関連付けられた遅延またはラグ、及び対応する処理時間を考慮することができる。例えば、ブリッジ回路304及び/またはロボット306は、最終位置を待機し(WaitForFinalPos)、及びロボットが指令されたアクションを実行するまで待機する状態を実行してもよい。ロボット306の最終位置は、アクションの終点においてブリッジ回路304によって取得されてもよい。ロボット306は、待機状態を終了するよう、最終位置を報告する図3のフィードバックデータ362を送信してもよい。代わりにまたは加えて、ブリッジ回路304は、待機状態を終了するよう、指令されたアクション及び/またはフィードバックデータ362(例えば、完了状態レポート)に基づいて、最終位置を計算してもよい。
いくつかの実施形態では、ロボットシステム100は、予め定められたエラー状態に応答するように構成されたエラー回復機構を含んでもよい。例えば、エラー回復機構は、上記説明されたように、移動を自動で逆行させることに対応してもよい(例えば、図7BのT-リバースコネクト)。ロボットシステム100は、標準ストリーミング状態から、及び/または待機状態からエラー回復機構に遷移してもよい。ロボットシステム100は、エラー回復状態から、標準ストリーミング状態及び/または待機状態に再度遷移してもよい。
ロボットシステム100は更に、ロボット306におけるエンコーダまたは処理遅延を考慮することができる。例えば、ブリッジ回路304及び/またはロボット306は、エンコーダにおいて処理遅延または収束を待機する状態(WaitForEncodConvrg)を実行してもよい。ロボット306のエンコーダは、ロボット306が移動の終点において最終的な目標とされた位置に到達した後に停止してもよい。
ロボット306は、その終点への軌道に従うことに基づいて、最終位置に到着してもよい。ロボットシステム100が、終点に到着する前の軌道に沿ったエラー状態を決定する場合、ブリッジ回路304は、ロボット306の移動を停止してもよい。エラーに応答して、ブリッジ回路304は、最終位置と関連付けられたコマンドを保留してもよい。実行フロー706は、標準ストリーミング状態から収束待機状態に直接遷移してもよい。
ロボットシステム100は、ロボット306を停止して、状態マシンを終了させてもよく、ブリッジ回路304は、ロボット306が指定された位置から予め定められた距離にあり、または予め定められた距離内にあることを保証するよう、エンコーダの収束を待機してもよい。ロボット306が停止すると、ロボットシステム100は、次の軌道を再計算するために、停止ポイントを使用してもよい。
図7Dは、図7Aの軌道実行機構702に対する実施例の軌道フロー708を例示する。軌道フロー708は、異なる軌道の遷移の間の関係を例示してもよい。軌道フロー708は、遷移によって目標とされたものへの軌道タイプを決定する前の遷移を決定してもよい。したがって、図1のロボットシステム100は、どのイベントが続くべきかの優先順位を付けてもよく、異なる遷移の間の階層をもたらしてもよい。異なる状態遷移は、遷移を通信または選択するための異なる種類の決定を行うために使用されてもよい。
軌道フロー708は、図7Bのコマンドフロー704に対して上記説明された状態に対応してもよい。例えば、図7DにおけるTRストリーミング状態は、図7BのTRストリーミング状態及びT-コマンド状態に対応してもよい。TR中断、TR再開、TR取消、TR速度変化、及びTR逆行は、図7Bにおいて説明された遷移トリガに対応してもよい。TR終了状態は、図7BのTR終了状態への遷移(例えば、操作の間のエラーがない最終位置への到着)に対応してもよい。
ロボットシステム100は、現実世界状況を円滑及びシームレスに説明するために、動的調節520を使用してもよい。図3の動きプランナ回路302を使用して軌道を再導出するために必要とされる時間及びリソースが比較的に大きいので、ロボットシステム100は、初期に計画された軌道322に沿った更新されたウェイポイント532を動的に導出するために、ブリッジ回路304を使用してもよい。例えば、現実世界状況に応答してロボット306の移動を即時に停止または逆行させることは、ロボット306をジャークさせるか、または振動させることがあり、それは、更なる望ましくないエラーを生じさせる可能性を増大させることがある。代わりに、現実世界状況(例えば、エラー)に関わらずに初期に計画された軌道を継続的に実行することは、追加のエラー(例えば、衝突)を生じさせることがあり、及び/またはリソースを浪費することがある(例えば、部品損失に続いて)。そのようにして、計画されたウェイポイント404を更新されたウェイポイント532を置き換えることによって、ロボットシステム100は動的調節を実質的に実行することができると共に、全体的な効率性及びエラー比率を増大させる。その上、上記説明されたロボットシステム100は、(例えば、図6の方法600及び/または実施例の状態マシンを介して)、タスクを実用的に実行してもよいと共に、現実世界の状況を考慮して調節する。
<結論>
開示された技術の実施例の上記発明を実施するための形態は、包括的であること、または開示された技術を上記開示された厳密な形式に限定することを意図していない。開示された技術に対する特定の実施例が例示を目的に上記説明されたが、当業者が認識するように、様々な同等な修正が開示された技術の範囲内で可能である。例えば、処理またはブロックが所与の順序において提示されたが、代替的な実施態様は、異なる順序において、ステップを有するルーチンを実行してもよく、またはブロックを有するシステムを採用してもよく、いくつかの処理またはブロックは、代替的な組み合わせまたは下位の組み合わせを提供するよう削除されてもよく、移動されてもよく、追加されてもよく、細分化されてもよく、組み合わされてもよく、及び/または修正されてもよい。それらの処理またはブロックの各々は、様々な異なる方式において実行されてもよい。また、処理またはブロックが順番に実行されるとして一度に示されたが、それらの処理またはブロックは代わりに、並列して実行もしくは実行されてもよく、または異なる時に実行されてもよい。更に、本明細書で言及されたいずれかの特定の数は例にすぎず、代替的な実施態様は、異なる値または範囲を採用してもよい。
上記発明を実施するための形態を考慮して、開示された技術にそれらの変更及び他の変更が行われてもよい。発明を実施するための形態は、開示された技術の特定の実施例と共に考慮される最良モードを説明したが、開示された技術は、上記説明がどんなに詳細にテキストに現れようと、多くの方式において実施されてもよい。システムの説明は、その特定の実施態様において著しく変化してもよいと共に、なお。本明細書で開示される技術によってなおも包含される。上述したように、開示された技術の特定の特徴または態様を説明するときに使用される特定の用語は、用語がそれと関連付けられる、いずれかの特定の特性、特徴、または態様に用語が限定されるように再定義されることを暗に意味すると取られるべきではない。したがって、添付の請求項によって定めることを除き、発明は限定されない。概して、以下の請求項において使用される用語は、上記発明を実施するための形態の章がそのような用語を明確に定義しない限り、明細書において開示された特定の実施例に開示された技術を限定すると解釈されるべきではない。
発明の特定の態様は、特定の請求項の形式において以下に提示されるが、出願人は、いずれかの数の請求項の形式にある発明の様々な態様を考慮するであろう。したがって、出願人は、本出願または継続出願のいずれにおいて、そのような追加の請求項の形式を追求するよう、本出願の出願の後に、追加の請求項を追求する権利を保有する。

Claims (20)

  1. ロボットシステムを動作させる方法であって、
    開始位置からタスク位置まで目標物体を操作するための計画された軌道を受信することと、
    前記計画された軌道に沿った計画されたウェイポイントのセットを識別することであって、前記計画されたウェイポイントのセットにおける各々のウェイポイントは、前記目標物体またはロボットの代表的な部分を配置するための前記計画された軌道上の増加的に目標とされた位置を表すことと、
    前記目標物体または前記ロボットの前記代表的な部分が前記計画された軌道に従うように、前記ロボットを動作させるためのコマンドまたは設定のセットを通信することによって、前記計画された軌道に従ってタスクの実行を開始することと、
    前記目標物体または前記ロボットの前記代表的な部分を前記計画された軌道上の後続の計画されたウェイポイントに移送するための前記タスクを反復的に実行することと、
    前記計画された軌道に従った前記タスクの反復的な実行の間に、前記タスクの実行及び前記目標物体を操作することを完了する能力を表す入力/出力(I/O)状態を監視することと、
    前記入力/出力(I/O)状態に基づいて、前記計画されたウェイポイントのセットから取って代わる、前記計画された軌道に沿った更新されたウェイポイントのセットを動的に導出することであって、前記更新されたウェイポイントのセットは、複数の更新されたウェイポイントを含み、前記計画されたウェイポイントのセットと関連付けられた計画された移動速度とは異なる目標移動速度にしたがって導出されるものであり、また、(1)前記計画された軌道に沿って前記目標物体または前記ロボットの前記代表的な部分が前記開始位置から移動した後に導出されるものであり、かつ、(2)前記計画されたウェイポイントのセットの、前記開始位置と前記タスク位置との間の現在の位置に続く後続の部分から取って代わるものであることと、
    前記入力/出力(I/O)状態に基づいて、前記計画されたウェイポイントのセットに従うのではなく、前記更新されたウェイポイントのセットに従って、前記目標物体または前記ロボットの前記代表的な部分を移送するための前記タスクに対する調節を実行することと、
    を備えた、方法。
  2. 前記入力/出力(I/O)状態を監視することは、前記タスクを完了する前記ロボットシステムの前記能力と関連付けられたリアルタイム現実世界状況を表す、中断状態、再開状態、取消状態、速度変化状態、及び/またはエラー状態を、前記タスクの実行の間に検出することを含み、
    前記更新されたウェイポイントのセットを動的に導出すること、及び前記タスクに対する前記調節を反復的に実行することは、前記中断状態、前記再開状態、前記取消状態、前記速度変化状態、及び/または前記エラー状態を検出したことに応答して実行される、
    請求項1に記載の方法。
  3. 前記更新されたウェイポイントのセットを動的に導出することは、前記目標移動速度を決定することを含み、
    前記タスクに対する前記調節を実行することは、前記更新されたウェイポイントのセットにおける1つ以上のウェイポイントにまたがって前記目標移動速度に遷移することを含む、
    請求項1に記載の方法。
  4. 前記更新されたウェイポイントのセット及び前記計画されたウェイポイントのセットは、処理期間に対応しており、前記更新されたウェイポイントのセット及び前記計画されたウェイポイントのセットにおける各々のウェイポイントは、前記処理期間の終了時に前記目標物体または前記ロボットの前記代表的な部分が到達することになる目標とされた位置を表し、
    前記更新されたウェイポイントのセットを動的に導出することは、現在の速度と前記目標移動速度との間の中間移動速度を決定することを含み、
    前記タスクに対する前記調節を実行することは、
    初期処理期間の間に前記中間移動速度に遷移することと、
    前記初期処理期間に続く後続の処理期間の間に前記目標移動速度に遷移することと、
    を含む、
    請求項3に記載の方法。
  5. 前記タスクに対する前記調節を実行することは、前記目標物体及び/または前記ロボットの前記代表的な部分の移動を停止するための前記目標移動速度に遷移することを含む、請求項3に記載の方法。
  6. 前記タスクに対する前記調節を実行することは、前記目標物体及び/または前記ロボットの前記代表的な部分の移動を逆行させるための前記目標移動速度に遷移することを含む、請求項3に記載の方法。
  7. 前記更新されたウェイポイントのセットを動的に導出することは、前記計画された軌道に沿い、かつ前記目標物体及び/または前記ロボットの前記代表的な部分を表す現在の位置の前方にある実行可能性領域を決定することを含み、
    前記実行可能性領域は、前記計画された軌道に沿った位置であって、前記調節が最初に有効となる位置を表す、請求項1に記載の方法。
  8. 前記実行可能性領域は、前記タスクまたはその一部に対する前記調節を実行する前記ロボットの物理的能力を表す応答プロファイルに従って決定される、請求項7に記載の方法。
  9. 前記実行可能性領域は、前記応答プロファイルに関連した予測された距離を前記現在の位置に組み合わせることに基づいて決定され、
    前記更新されたウェイポイントのセットは、前記実行可能性領域内に位置する第1のウェイポイントを含む、
    請求項8に記載の方法。
  10. 前記実行可能性領域は、(1)処理期間の間の速度における最大負変化、及び(2)前記処理期間の間の速度における最大正変化の適用による位置を表す境界によって画定され、
    前記第1のウェイポイントは、前記処理期間にわたって評価された、第2の来たるべき位置と第1の来たるべき位置との間の差に基づいて導出される、
    請求項9に記載の方法。
  11. ロボットシステムであって、
    通信デバイスと、
    前記通信デバイスに結合された少なくとも1つのプロセッサと、を備え、
    前記通信デバイスは、
    開始位置からタスク位置に目標物体を移送するタスクを実行するための計画された軌道を動きプランナ回路から受信することと、
    前記計画された軌道を実行するためのロボットと、コマンド、設定、及び/またはフィードバックデータを通信することと、
    を行うように構成され、
    前記少なくとも1つのプロセッサは、
    前記計画された軌道に沿った計画されたウェイポイントのセットを識別することであって、前記計画されたウェイポイントのセットにおける各々のウェイポイントは、前記目標物体またはロボットの代表的な部分を配置するための前記計画された軌道上の増加的に目標とされた位置を表すことと、
    前記ロボットに通信されたコマンド及び/または設定の初期のセットに基づいて、前記計画された軌道に従って前記タスクの実行を開始することと、
    前記目標物体または前記ロボットの前記代表的な部分を前記計画された軌道上の後続の計画されたウェイポイントに移送するための前記タスクを反復的に実行することと、
    前記計画された軌道に従った前記タスクの反復的な実行の間に、前記タスクの実行及び前記目標物体を操作することを完了する能力を表す入力/出力(I/O)状態を監視することと、
    前記入力/出力(I/O)状態に基づいて、前記計画されたウェイポイントのセットから取って代わる、前記計画された軌道に沿った更新されたウェイポイントのセットを動的に導出することであって、前記更新されたウェイポイントのセットは、複数の更新されたウェイポイントを含み、前記計画されたウェイポイントのセットと関連付けられた計画された移動速度とは異なる目標移動速度にしたがって導出されるものであり、また、(1)前記計画された軌道に沿って前記目標物体または前記ロボットの前記代表的な部分が前記開始位置から移動した後に導出されるものであり、かつ、(2)前記計画されたウェイポイントのセットの、前記開始位置と前記タスク位置との間の現在の位置に続く後続の部分から取って代わるものであることと、
    前記入力/出力(I/O)状態に基づいて、前記計画されたウェイポイントのセットに従うのではなく、前記更新されたウェイポイントのセットに従って、前記目標物体または前記ロボットの前記代表的な部分を移送するための前記タスクに対する調節を実行することと、
    を行い、
    前記タスクに対する前記調節は、前記ロボットに通信されたコマンド及び/または設定の後続のセットに対応している、ロボットシステム。
  12. 前記計画された軌道を導出するように構成された前記動きプランナ回路と、
    前記計画された軌道及び/または前記タスクに対する前記調節に従って、前記タスクを実行するように構成された前記ロボットと、
    を更に備え、
    前記通信デバイス及び前記少なくとも1つのプロセッサは、前記プランナ回路と前記ロボットとの間で通信可能に結合され、かつ、前記タスクの実行を実施するよう前記ロボットを制御するように構成されたブリッジ回路を含む、
    請求項11に記載のロボットシステム。
  13. 前記少なくとも1つのプロセッサは、
    前記計画されたウェイポイントのセットを識別すること、前記タスクの実行を開始すること、前記タスクを反復的に実行すること、前記入力/出力(I/O)状態を監視すること、前記更新されたウェイポイントのセットを動的に導出すること、及び/または前記タスクに対する前記調節を実行することに基づいて、前記タスクの実行を制御するように構成された1つ以上の状態マシン、
    を含む、請求項11に記載のロボットシステム。
  14. 前記監視された入力/出力(I/O)状態は、前記タスクを完了する前記ロボットシステムの前記能力と関連付けられたリアルタイム現実世界状況を表す、中断状態、再開状態、取消状態、速度変化状態、及び/またはエラー状態を含み、
    前記中断状態、前記再開状態、前記取消状態、前記速度変化状態、及び/もしくは前記エラー状態、またはそれらの変化を検出したことに応答して、前記更新されたウェイポイントのセットが動的に導出されると共に、前記タスクに対する前記調節が動的に実行される、
    請求項11に記載のロボットシステム。
  15. 前記少なくとも1つのプロセッサは、
    前記目標移動速度を決定することと
    前記更新されたウェイポイントのセットにおける1つ以上のウェイポイントにまたがって現在速度から前記目標移動速度に遷移することに基づいて、前記タスクに対する前記調節を実行することと、
    を行う、請求項11に記載のロボットシステム。
  16. 前記少なくとも1つのプロセッサは、前記計画された軌道に沿い、かつ前記目標物体及び/または前記ロボットの前記代表的な部分を表す現在の位置の前方にある実行可能性領域を決定することに基づいて、前記更新されたウェイポイントのセットを動的に導出し、
    前記実行可能性領域は、前記計画された軌道に沿った位置であって、前記タスクに対する前記調節が最初に有効となる位置を表す、請求項11に記載のロボットシステム。
  17. 1つ以上のプロセッサによって実行されるとき、前記1つ以上のプロセッサに方法を実行させるプロセッサ命令を記憶した有形非一時的コンピュータ可読媒体であって、
    前記方法は、
    開始位置からタスク位置まで目標物体を操作するための計画された軌道を受信することと、
    前記計画された軌道に沿った計画されたウェイポイントのセットを識別することであって、各々の計画されたウェイポイントは、前記目標物体またはロボットの代表的な部分を配置するための前記計画された軌道上の増加的に目標とされた位置を表すことと、
    前記目標物体または前記ロボットの前記代表的な部分が前記計画された軌道に従うように、前記ロボットを動作させるためのコマンドまたは設定のセットを通信することによって、前記計画された軌道に従ってタスクの実行を開始することと、
    前記目標物体または前記ロボットの前記代表的な部分を前記計画された軌道上の後続の計画されたウェイポイントに移送するための前記タスクを反復的に実行することと、
    前記計画された軌道に従った前記タスクの反復的な実行の間に、前記タスクの実行及び前記目標物体を操作することを完了する能力を表す入力/出力(I/O)状態を監視することと、
    前記入力/出力(I/O)状態に基づいて、前記計画されたウェイポイントのセットから取って代わる、前記計画された軌道に沿った更新されたウェイポイントのセットを動的に導出することであって、前記更新されたウェイポイントのセットは、複数の更新されたウェイポイントを含み、前記計画されたウェイポイントのセットと関連付けられた計画された移動速度とは異なる目標移動速度にしたがって導出されるものであり、また、(1)前記計画された軌道に沿って前記目標物体または前記ロボットの前記代表的な部分が前記開始位置から移動した後に導出されるものであり、かつ、(2)前記計画されたウェイポイントのセットの、前記開始位置と前記タスク位置との間の現在の位置に続く後続の部分から取って代わるものであることと、
    前記入力/出力(I/O)状態に基づいて、前記計画されたウェイポイントのセットに従うのではなく、前記更新されたウェイポイントのセットに従って、前記目標物体または前記ロボットの前記代表的な部分を移送するための前記タスクに対する調節を実行することと、
    を含む、有形非一時的コンピュータ可読媒体。
  18. 前記入力/出力(I/O)状態を監視することは、前記タスクを完了するロボットシステムの前記能力と関連付けられたリアルタイム現実世界状況を表す、中断状態、再開状態、取消状態、速度変化状態、及び/またはエラー状態を、前記タスクの実行の間に検出することを含み、
    前記更新されたウェイポイントのセットを動的に導出すること、及び前記タスクに対する前記調節を反復的に実行することは、前記中断状態、前記再開状態、前記取消状態、前記速度変化状態、及び/または前記エラー状態を検出したことに応答して実行される、
    請求項17に記載の有形非一時的コンピュータ可読媒体。
  19. 前記更新されたウェイポイントのセットを動的に導出することは、前記目標移動速度を決定することを含み、
    前記タスクに対する前記調節を実行することは、前記更新されたウェイポイントのセットにおける1つ以上のウェイポイントにまたがって前記目標移動速度に遷移することを含む、
    請求項17に記載の有形非一時的コンピュータ可読媒体。
  20. 前記更新されたウェイポイントのセットを動的に導出することは、前記計画された軌道に沿い、かつ前記目標物体及び/または前記ロボットの前記代表的な部分を表す現在の位置の前方にある実行可能性領域を決定することを含み、
    前記実行可能性領域は、前記計画された軌道に沿った位置であって、前記タスクに対する前記調節が最初に有効となる位置を表す、
    請求項17に記載の有形非一時的コンピュータ可読媒体。

JP2021516567A 2020-01-05 2021-01-04 動的動き調節機構を有するロボットシステム及びそれを動作させる方法 Active JP7174965B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022123205A JP2022160552A (ja) 2020-01-05 2022-08-02 動的動き調節機構を有するロボットシステム及びそれを動作させる方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202062957282P 2020-01-05 2020-01-05
US62/957,282 2020-01-05
PCT/US2021/012121 WO2021138691A1 (en) 2020-01-05 2021-01-04 Robotic system with dynamic motion adjustment mechanism and methods of operating the same

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2022123205A Division JP2022160552A (ja) 2020-01-05 2022-08-02 動的動き調節機構を有するロボットシステム及びそれを動作させる方法

Publications (2)

Publication Number Publication Date
JP2022511343A JP2022511343A (ja) 2022-01-31
JP7174965B2 true JP7174965B2 (ja) 2022-11-18

Family

ID=76654246

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021516567A Active JP7174965B2 (ja) 2020-01-05 2021-01-04 動的動き調節機構を有するロボットシステム及びそれを動作させる方法
JP2022123205A Pending JP2022160552A (ja) 2020-01-05 2022-08-02 動的動き調節機構を有するロボットシステム及びそれを動作させる方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2022123205A Pending JP2022160552A (ja) 2020-01-05 2022-08-02 動的動き調節機構を有するロボットシステム及びそれを動作させる方法

Country Status (4)

Country Link
US (1) US11833690B2 (ja)
JP (2) JP7174965B2 (ja)
CN (2) CN113561171B (ja)
WO (1) WO2021138691A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021138691A1 (en) * 2020-01-05 2021-07-08 Mujin, Inc. Robotic system with dynamic motion adjustment mechanism and methods of operating the same
WO2023127125A1 (ja) * 2021-12-28 2023-07-06 日本電気株式会社 制御装置、ロボットシステム、制御方法、および記録媒体
CN117817673B (zh) * 2024-03-05 2024-05-03 泓浒(苏州)半导体科技有限公司 晶圆搬运机械臂动态路径调整系统及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009178835A (ja) 2008-02-01 2009-08-13 Denso Wave Inc ロボット制御装置及びロボット制御方法
JP2013013948A (ja) 2011-07-01 2013-01-24 Seiko Epson Corp ロボット、およびロボットの制御方法
JP2015047649A (ja) 2013-08-30 2015-03-16 トヨタ自動車株式会社 ロボット及びその制御方法
WO2016103297A1 (ja) 2014-12-25 2016-06-30 川崎重工業株式会社 アーム型のロボットの障害物自動回避方法及び制御装置
JP6577686B1 (ja) 2019-02-18 2019-09-18 株式会社Mujin 制御装置、作業ロボット、プログラム、及び、制御方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102012015437A1 (de) * 2012-08-02 2014-05-15 Kuka Roboter Gmbh Verfahren und Programmiermittel zur Modifikation einer Roboterbahn
US9221175B2 (en) * 2013-03-28 2015-12-29 Denso Wave Incorporated Method of generating path of multiaxial robot and control apparatus for the multiaxial robot
KR102165437B1 (ko) * 2014-05-02 2020-10-14 한화디펜스 주식회사 이동 로봇의 경로 계획 장치
JP6455019B2 (ja) * 2014-08-21 2019-01-23 株式会社デンソーウェーブ ロボットの制御装置及び制御方法
US10471611B2 (en) * 2016-01-15 2019-11-12 Irobot Corporation Autonomous monitoring robot systems
US10035266B1 (en) * 2016-01-18 2018-07-31 X Development Llc Generating robot trajectories using a real time trajectory generator and a path optimizer
US10040196B2 (en) * 2016-07-07 2018-08-07 Technologies Holding Corp. System and method for in-flight robotic arm retargeting
AU2017357645B2 (en) * 2016-11-08 2022-11-10 Dogtooth Technologies Limited A robotic fruit picking system
WO2018185855A1 (ja) * 2017-04-04 2018-10-11 株式会社Mujin 制御装置、ピッキングシステム、物流システム、プログラム、制御方法、及び、生産方法
CN108724189B (zh) * 2018-06-22 2020-10-30 金蝶软件(中国)有限公司 控制机器人移动的方法、装置、机器人控制设备
JP6508691B1 (ja) * 2018-10-15 2019-05-08 株式会社Mujin 制御装置、作業ロボット、プログラム、及び、制御方法
JP7028196B2 (ja) * 2019-01-15 2022-03-02 オムロン株式会社 ロボット制御装置、ロボット制御方法、及びロボット制御プログラム
WO2021138691A1 (en) * 2020-01-05 2021-07-08 Mujin, Inc. Robotic system with dynamic motion adjustment mechanism and methods of operating the same

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009178835A (ja) 2008-02-01 2009-08-13 Denso Wave Inc ロボット制御装置及びロボット制御方法
JP2013013948A (ja) 2011-07-01 2013-01-24 Seiko Epson Corp ロボット、およびロボットの制御方法
JP2015047649A (ja) 2013-08-30 2015-03-16 トヨタ自動車株式会社 ロボット及びその制御方法
WO2016103297A1 (ja) 2014-12-25 2016-06-30 川崎重工業株式会社 アーム型のロボットの障害物自動回避方法及び制御装置
JP6577686B1 (ja) 2019-02-18 2019-09-18 株式会社Mujin 制御装置、作業ロボット、プログラム、及び、制御方法

Also Published As

Publication number Publication date
WO2021138691A1 (en) 2021-07-08
CN113365787A (zh) 2021-09-07
JP2022511343A (ja) 2022-01-31
US11833690B2 (en) 2023-12-05
CN113561171A (zh) 2021-10-29
JP2022160552A (ja) 2022-10-19
CN113561171B (zh) 2023-03-24
US20210205992A1 (en) 2021-07-08

Similar Documents

Publication Publication Date Title
JP7174965B2 (ja) 動的動き調節機構を有するロボットシステム及びそれを動作させる方法
US10953544B2 (en) Robotic system with coordination mechanism and methods of operating the same
CN110465960B (zh) 具有物件丢失管理机制的机器人系统
US11648676B2 (en) Robotic system with a coordinated transfer mechanism
CN114728412A (zh) 使用视觉数据的机器人的运动路径的优化
CN112053398B (zh) 物体抓取方法、装置、计算设备和存储介质
US20220088778A1 (en) Velocity control-based robotic system
US20210197391A1 (en) Robot control device, robot control method, and robot control non-transitory computer readable medium
US20240131708A1 (en) Robotic system with dynamic motion adjustment mechanism and methods of operating same
CN111618852B (zh) 具有协调转移机构的机器人系统
CN114683299B (zh) 机器人工具及其操作方法
US11981518B2 (en) Robotic tools and methods for operating the same
US20220135346A1 (en) Robotic tools and methods for operating the same
US20240132303A1 (en) Robotic systems with dynamic motion planning for transferring unregistered objects
EP4323295A1 (en) Robotic multi-surface gripper assemblies and methods for operating the same

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210409

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210409

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220401

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220428

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220519

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220802

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20220802

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20220809

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20220810

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221004

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221028

R150 Certificate of patent or registration of utility model

Ref document number: 7174965

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150