JP6560841B1 - 制御装置、作業ロボット、プログラム、及び、制御方法 - Google Patents

制御装置、作業ロボット、プログラム、及び、制御方法 Download PDF

Info

Publication number
JP6560841B1
JP6560841B1 JP2019103655A JP2019103655A JP6560841B1 JP 6560841 B1 JP6560841 B1 JP 6560841B1 JP 2019103655 A JP2019103655 A JP 2019103655A JP 2019103655 A JP2019103655 A JP 2019103655A JP 6560841 B1 JP6560841 B1 JP 6560841B1
Authority
JP
Japan
Prior art keywords
trajectory
model
unit
information
manipulator
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
JP2019103655A
Other languages
English (en)
Other versions
JP2020062741A (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
Priority to JP2019103655A priority Critical patent/JP6560841B1/ja
Application granted granted Critical
Publication of JP6560841B1 publication Critical patent/JP6560841B1/ja
Publication of JP2020062741A publication Critical patent/JP2020062741A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

【課題】 産業用ロボットが各種の作業を実行する場合、作業点又は目標点の数が比較的多く、マニピュレータが2つの作業点の間を滑らかに移動する軌道を、実用的な計算時間の範囲内で計画することが難しい。【解決手段】 マニピュレータを用いて対象領域の内部で作業を実行する作業ロボットの動作を制御する制御装置が、作業ロボットが一連の作業を実行するN個の作業領域を、一連の作業の順番に結ぶN−1個又はN個の軌道のそれぞれを示す、N−1個又はN個の軌道情報を取得する軌道情報取得部と、N−1個又はN個の軌道を、(i)修正が必要となる軌道、及び、(ii)修正が必要ではない軌道に分類する分類部と、分類部が、修正が必要となる軌道に分類した1以上の軌道のそれぞれについて、各軌道に関連する2個の作業領域の間におけるマニピュレータの先端の軌道を計画する軌道計画部とを備える。【選択図】図8

Description

本発明は、制御装置、作業ロボット、プログラム、及び、制御方法に関する。
マニピュレータを利用して、容器に収納されたワークを取り出し、当該ワークを他の容器内の特定の位置に配置するピッキングシステムが知られている(例えば、特許文献1〜3を参照されたい)。また、マニピュレータを利用して、各種の作業を実行する産業用ロボットが知られている。
[先行技術文献]
[特許文献]
[特許文献1] 特開2016−091053号公報
[特許文献2] 特開2016−147330号公報
[特許文献3] 特開2017−033429号公報
ピッキングシステムがピッキング作業を実行する場合、作業点又は目標点は2個程度であり、ピッキングシステムは、マニピュレータが2つの作業点の間を滑らかに移動する軌道を計画することができる。一方、産業用ロボットが各種の作業を実行する場合、作業点又は目標点の数が比較的多く、マニピュレータが2つの作業点の間を滑らかに移動する軌道を、実用的な計算時間の範囲内で計画することが難しい。
本発明の第1の態様においては、制御装置が提供される。上記の制御装置は、例えば、作業ロボットの動作を制御する制御装置である。上記の作業ロボットは、例えば、マニピュレータを用いて対象領域の内部で作業を実行する。上記の制御装置は、例えば、(i)対象領域の内部に配置された1以上の物体の少なくとも1つに関する情報であって、少なくとも1つの物体の位置、姿勢、形状及び大きさの少なくとも1つに関する変更の発生を示す第1変更情報、及び、(ii)対象領域の内部に新たな物体が配置されることを示す第2変更情報の少なくとも一方を取得する変更情報取得部を備える。上記の制御装置は、例えば、(i)変更が生じた後の1以上の物体のぞれぞれの位置、姿勢、形状及び大きさを示す第1モデル情報、及び、(ii)新たな物体の位置、姿勢、形状及び大きさを示す第2モデル情報の少なくとも一方を取得するモデル情報取得部を備える。上記の制御装置は、例えば、作業ロボットが一連の作業を実行するN個の作業領域を、一連の作業の順番に結ぶN−1個又はN個の軌道のそれぞれを示す、N−1個又はN個の軌道情報を取得する軌道情報取得部を備える。上記の制御装置は、例えば、N−1個又はN個の軌道を、(i)第1変更情報及び第2変更情報の少なくとも一方により示される対象領域の内部の変更に応じて、修正が必要となる軌道、及び、(ii)第1変更情報及び第2変更情報の少なくとも一方により示される対象領域の内部の変更が生じても、修正が必要ではない軌道に分類する分類部を備える。上記の制御装置は、例えば、分類部が、修正が必要となる軌道に分類した1以上の軌道のそれぞれについて、第1モデル情報及び第2モデル情報の少なくとも一方に基づいて、各軌道に関連する2個の作業領域の間におけるマニピュレータの先端の軌道を計画する軌道計画部を備える。上記の制御装置において、Nは、2以上の整数であってよい。
上記の制御装置は、(i)軌道計画部が計画した修正が必要となる軌道における、マニピュレータの先端の位置及び姿勢を示す情報と、(ii)軌道情報取得部が取得した修正が必要ではない軌道における、マニピュレータの先端の位置及び姿勢を示す情報とに基づいて、一連の作業を通したマニピュレータの先端の軌道を決定する軌道決定部を備えてよい。上記の制御装置は、軌道決定部が決定した軌道に基づいて、マニピュレータの動作を制御するための制御情報を出力する出力部を備えてよい。
上記の制御装置において、分類部は、(i)マニピュレータの大きさを拡大したモデル又は(ii)マニピュレータよりも大きく、マニピュレータよりも単純な形状を有するモデルである、第1拡大モデルを生成する第1拡大モデル生成部を有してよい。上記の制御装置において、分類部は、(a)N−1個又はN個の軌道のそれぞれについて、各軌道上のM個の地点において、(i)第1モデル情報及び第2モデル情報の少なくとも一方により示される各物体のモデル、並びに、(ii)第1拡大モデルの衝突の有無を判定し、(b)M個の地点の少なくとも1つの地点において、(i)各物体のモデル及び(ii)第1拡大モデルが衝突すると判定された軌道を、修正が必要となる軌道であると判定する、判定部を有してよい。上記の制御装置において、Mは、1以上の整数であってよい。
上記の制御装置は、(i)第1モデル情報及び第2モデル情報の少なくとも一方により示される各物体の大きさを拡大したモデル又は(ii)各物体よりも大きく、各物体よりも単純な形状を有するモデルである、第2拡大モデルを生成する第2拡大モデル生成部を備えてよい。上記の制御装置において、判定部は、(a)N−1個又はN個の軌道のそれぞれについて、各軌道上のM個の地点において、(i)第2拡大モデル及び(ii)第1拡大モデルの衝突の有無を判定し、(b)M個の地点の少なくとも1つの地点において、(i)第2拡大モデル及び(ii)第1拡大モデルが衝突すると判定された軌道を、修正が必要となる軌道であると判定する。
上記の制御装置において、分類部は、(i)第1モデル情報及び第2モデル情報の少なくとも一方により示される各物体の大きさを拡大したモデル又は(ii)各物体よりも大きく、各物体よりも単純な形状を有するモデルである、第2拡大モデルを生成する第2拡大モデル生成部を有してよい。上記の制御装置において、分類部は、(a)N−1個又はN個の軌道のそれぞれについて、各軌道上のM個の地点において、(i)マニピュレータのモデル及び(ii)第2拡大モデルの衝突の有無を判定し、(b)M個の地点の少なくとも1つの地点において、(i)マニピュレータのモデル及び(ii)第2拡大モデルが衝突すると判定された軌道を、修正が必要となる軌道であると判定する、判定部を有してよい。上記の制御装置において、Mは、1以上の整数であってよい。
上記の制御装置において、分類部は、マニピュレータの大きさ、及び、拡大モデルの大きさの少なくとも一方に基づいて、Mの値を決定する精度決定部を有してよい。上記の制御装置において、分類部は、関節空間におけるマニピュレータの動作と、現実空間におけるマニピュレータの動作との対応関係に基づいて、Mの値を決定する精度決定部を有してよい。
本発明の第2の態様においては、作業ロボットが提供される。上記の作業ロボットは、例えば、上記の制御装置を備える。上記の作業ロボットは、例えば、マニピュレータを備える。
上記の作業ロボットは、マニピュレータの動作を制御する制御部を備えてよい。上記の作業ロボットにおいて、制御装置は、マニピュレータの動作を制御するための制御情報を出力してよい。上記の作業ロボットにおいて、制御部は、制御装置が出力した制御情報に基づいて、マニピュレータの動作を制御してよい。
本発明の第3の態様においては、制御方法が提供される。上記の制御方法は、例えば、作業ロボットの動作を制御する制御方法である。上記の作業ロボットは、例えば、マニピュレータを用いて対象領域の内部で作業を実行する。上記の制御方法は、例えば、(i)対象領域の内部に配置された1以上の物体の少なくとも1つに関する情報であって、少なくとも1つの物体の位置、姿勢、形状及び大きさの少なくとも1つに関する変更の発生を示す第1変更情報、及び、(ii)対象領域の内部に新たな物体が配置されることを示す第2変更情報の少なくとも一方を取得する変更情報取得段階を有する。上記の制御方法は、例えば、(i)変更が生じた後の1以上の物体のぞれぞれの位置、姿勢、形状及び大きさを示す第1モデル情報、及び、(ii)新たな物体の位置、姿勢、形状及び大きさを示す第2モデル情報の少なくとも一方を取得するモデル情報取得段階を有する。上記の制御方法は、例えば、作業ロボットが一連の作業を実行するN個の作業領域を、一連の作業の順番に結ぶN−1個又はN個の軌道のそれぞれを示す、N−1個又はN個の軌道情報を取得する軌道情報取得段階を有する。上記の制御方法は、例えば、N−1個又はN個の軌道を、(i)第1変更情報及び第2変更情報の少なくとも一方により示される対象領域の内部の変更に応じて、修正が必要となる軌道、及び、(ii)第1変更情報及び第2変更情報の少なくとも一方により示される対象領域の内部の変更が生じても、修正が必要ではない軌道に分類する分類段階を有する。上記の制御方法は、例えば、分類段階において修正が必要となる軌道に分類された1以上の軌道のそれぞれについて、第1モデル情報及び第2モデル情報の少なくとも一方に基づいて、各軌道に関連する2個の作業領域の間におけるマニピュレータの先端の軌道を計画する軌道計画段階を有する。上記の制御方法において、Nは、2以上の整数であってよい。
本発明の第4の態様においては、プログラムが提供される。上記のプログラムを格納する非一時的コンピュータ可読媒体が提供されてもよい。上記のプログラムは、コンピュータを、上記の制御装置として機能させるためのプログラムであってよい。上記のプログラムは、コンピュータに、上記の制御方法を実行させるためのプログラムであってよい。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
作業システム100のシステム構成の一例を概略的に示す。 実行装置120のシステム構成の一例を概略的に示す。 全体軌道340の一例を概略的に示す。 全体軌道340の一例を概略的に示す。 全体軌道340の一例を概略的に示す。 管理装置140のシステム構成の一例を概略的に示す。 システム管理部640の内部構成の一例を概略的に示す。 調整部730の内部構成の一例を概略的に示す。
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。なお、図面において、同一または類似の部分には同一の参照番号を付して、重複する説明を省く場合がある。
[作業システム100の概要]
図1は、作業システム100のシステム構成の一例を概略的に示す。本実施形態において、作業システム100は、1以上の実行装置120と、管理装置140とを備える。作業システム100は、1以上の入力端末160を備えてもよい。作業システム100の各部は、通信ネットワーク10を介して、互いに情報を送受してよい。本願明細書において、「1以上」という用語は、「1又は複数」を意味する。
実行装置120は、作業ロボットの一例であってよい。管理装置140は、制御装置の一例であってよい。
本実施形態において、通信ネットワーク10は、有線通信の伝送路であってもよく、無線通信の伝送路であってもよく、無線通信の伝送路及び有線通信の伝送路の組み合わせであってもよい。通信ネットワーク10は、無線パケット通信網、インターネット、P2Pネットワーク、専用回線、VPN、電力線通信回線などを含んでもよい。通信ネットワーク10は、(i)携帯電話回線網などの移動体通信網を含んでもよく、(ii)無線MAN(例えば、WiMAX(登録商標)である。)、無線LAN(例えば、WiFi(登録商標)である。)、Bluetooth(登録商標)、Zigbee(登録商標)、NFC(Near Field Communication)などの無線通信網を含んでもよい。
本実施形態において、実行装置120は、各種の作業を実行する。実行装置120は、マニピュレータを用いて各種の作業を実行するロボットを備えてよい。上記のロボットは、センサ、駆動系、及び、制御系を有する機械システムであってよい。上記のロボットは、物品を製造する産業用ロボットであってよい。作業の種類としては、ピッキング作業、穿孔作業、切断作業、旋盤作業、溶接作業、組立作業、塗装作業などが例示される。実行装置120の詳細は後述される。
本実施形態において、管理装置140は、実行装置120を管理する。例えば、管理装置140は、実行装置120の動作を制御する。管理装置140は、実行装置120の動作を制御するためのパラメータ(制御パラメータと称される場合がある。)を決定することで、実行装置120の動作を制御してよい。管理装置140は、実行装置120の動作を制御するための各種の設定情報を管理してよい。
ここで、実行装置120のロボットは、プログラムによって自動制御され、作業の対象となる物品(作業対象と称される場合がある)の指定された領域(作業領域と称される場合がある)において、指定された作業を実行する。単一の物品に複数の作業領域が指定される場合、ロボットは、複数の作業領域の間を順番に移動しながら、各作業領域において指定された作業を実行する。
実行装置120の作業効率を向上させることを目的として、作業の種類ごとに、ロボットの動作が詳細にプログラミングされる場合がある。また、同一種類の作業に関して、物品の種類ごとに、ロボットの動作が詳細にプログラミングされる場合がある。これらの作業は、ティーチング作業と称される場合がある。
例えば、2つの作業領域の間を移動する場合において、ロボットが、他の物体に干渉することを防止することを目的として、撮像装置がロボットの移動軌道の周辺を撮像し、ロボットが、当該撮像装置からの画像データを解析しながら、当該2つの作業領域の間を移動することが考えられる。しかしながら、この場合、画像処理が実行されている間、実行装置120は、移動を停止したり、移動速度を低下させたりすることになる。その結果、実行装置120の作業速度が低下し、製品のスループットが低下する。
一方、特定の種類の物品に対して特定の種類の作業が実行される前に、実行装置120に対するティーチング作業が実行されることで、実行装置120は、ロボットの移動軌道の周辺が撮像された画像を解析することなく、2つの作業領域の間を移動することができる。これにより、実行装置120の作業効率が向上する。なお、実行装置120は、作業領域を観察するための作業用のカメラを備えてもよい。また、作業効率に及ぼす影響が軽微な範囲で、実行装置120の動作を決定する際に、ロボットの移動軌道の周辺が撮像された画像の解析処理が実行されてもよい。
ティーチングにおいては、まず、仮想的な3次元空間に干渉判定用のシミュレーションモデルが構築される。そして、構築されたシミュレーションモデルを用いて、ロボットが他の物体と干渉することなく一連の作業を実行するように、ロボットの動作がプログラミングされる。次に、現実のロボットを用いた試験及び微調整が繰り返されて、ロボットの動作が精密にプログラミングされる。このように、ティーチング作業には多大な労力と時間が要求される。そのため、ティーチング作業の負担を軽減することが望まれている。
本実施形態によれば、実行装置120の構造に変更が生じた場合、実行装置120の設定に変更が生じた場合、実行装置120の対象物品が変更された場合、又は、実行装置120の周辺環境に変更が生じた場合に、管理装置140は、ロボットが他の物体と干渉することなく一連の作業を実行するように、ロボットの動作を計画する。管理装置140は、例えば、逆運動学的手法及び逆動力学的手法を用いて、ロボットのマニピュレータの軌道を計画する。
しかしながら、ロボットの動作を計画するには、膨大な計算量が要求され、計算時間が長くなる可能性がある。そこで、本実施形態によれば、管理装置140は、マニピュレータの軌道のうち、上記の変更に伴い、精緻な計算が要求される領域を絞り込む。これにより、ロボットの動作を計画するための計算量が削減され、計算時間が短縮される。その結果、実行装置120のユーザが、各種の変更の内容を管理装置140に入力すると、管理装置140は、実用的な時間内に、当該変更の内容が反映されたマニピュレータの軌道を出力する。このように、本実施形態によれば、ティーチング作業の負担が大幅に削減される。管理装置140の詳細は後述される。
本実施形態において、入力端末160は、例えば、作業システム100のユーザが利用する通信端末であり、その詳細については特に限定されない。入力端末160としては、パーソナルコンピュータ、携帯端末などが例示される。携帯端末としては、携帯電話、スマートフォン、PDA、タブレット、ノートブック・コンピュータ又はラップトップ・コンピュータ、ウエアラブル・コンピュータなどが例示される。入力端末160は、実行装置120及び管理装置140の少なくとも一方のユーザインタフェースとして使用されてよい。
なお、本実施形態においては、管理装置140が実行装置120を管理する場合を例として、作業システム100の詳細が説明される。しかしながら、作業システム100は、本実施形態に限定されない。管理装置140の機能の少なくとも一部が、実行装置120及び入力端末160の少なくとも一方により実現されてもよい。この場合、実行装置120は、制御装置の一例であってよい。また、入力端末160は、制御装置の一例であってよい。
[作業システム100の各部の具体的な構成]
作業システム100の各部は、ハードウエアにより実現されてもよく、ソフトウエアにより実現されてもよく、ハードウエア及びソフトウエアにより実現されてもよい。作業システム100の各部は、その少なくとも一部が、単一のサーバによって実現されてもよく、複数のサーバによって実現されてもよい。作業システム100の各部は、その少なくとも一部が、仮想サーバ上又はクラウドシステム上で実現されてもよい。作業システム100の各部は、その少なくとも一部が、パーソナルコンピュータ又は携帯端末によって実現されてもよい。携帯端末としては、携帯電話、スマートフォン、PDA、タブレット、ノートブック・コンピュータ又はラップトップ・コンピュータ、ウエアラブル・コンピュータなどを例示することができる。作業システム100の各部は、ブロックチェーンなどの分散型台帳技術又は分散型ネットワークを利用して、情報を格納してもよい。
作業システム100を構成する構成要素の少なくとも一部がソフトウエアにより実現される場合、当該ソフトウエアにより実現される構成要素は、一般的な構成の情報処理装置において、当該構成要素に関する動作を規定したプログラムを起動することにより実現されてよい。上記の一般的な構成の情報処理装置は、(i)CPU、GPUなどのプロセッサ、ROM、RAM、通信インタフェースなどを有するデータ処理装置と、(ii)キーボード、ポインティングデバイス、タッチパネル、カメラ、音声入力装置、ジェスチャ入力装置、各種センサ、GPS受信機などの入力装置と、(iii)表示装置、音声出力装置、振動装置などの出力装置と、(iv)メモリ、HDD、SSDなどの記憶装置(外部記憶装置を含む。)とを備えてよい。
上記の一般的な構成の情報処理装置において、上記のデータ処理装置又は記憶装置は、上記のプログラムを記憶してよい。上記のプログラムは、プロセッサによって実行されることにより、上記の情報処理装置に、当該プログラムによって規定された動作を実行させる。上記のプログラムは、非一時的なコンピュータ可読記録媒体に格納されていてもよい。上記のプログラムは、CD−ROM、DVD−ROM、メモリ、ハードディスクなどのコンピュータ読み取り可能な媒体に記憶されていてもよく、ネットワークに接続された記憶装置に記憶されていてもよい。
上記のプログラムは、コンピュータを、作業システム100又はその一部として機能させるためのプログラムであってよい。上記のプログラムは、作業システム100の各部の動作を規定したモジュールを備えてよい。これらのプログラム又はモジュールは、データ処理装置、入力装置、出力装置、記憶装置等に働きかけて、コンピュータを作業システム100の各部として機能させたり、コンピュータに作業システム100の各部における情報処理方法を実行させたりする。
上記のプログラムは、コンピュータ読み取り可能な媒体又はネットワークに接続された記憶装置から、作業システム100の少なくとも一部を構成するコンピュータにインストールされてよい。上記のプログラムが実行されることにより、コンピュータが、作業システム100の各部の少なくとも一部として機能してもよい。上記のプログラムに記述された情報処理は、当該プログラムがコンピュータに読み込まれることにより、当該プログラムに関連するソフトウエアと、作業システム100又はその一部の各種のハードウエア資源とが協働した具体的手段として機能する。そして、上記の具体的手段が、本実施形態におけるコンピュータの使用目的に応じた情報の演算又は加工を実現することにより、当該使用目的に応じた作業システム100が構築される。
上記のプログラムは、コンピュータに、作業システム100又はその一部における情報処理方法を実行させるためのプログラムであってもよい。上記の情報処理方法は、作業ロボットの動作を制御する制御方法であってよい。上記の作業ロボットは、例えば、マニピュレータを用いて対象領域の内部で作業を実行する。
上記の制御方法は、例えば、(i)対象領域の内部に配置された1以上の物体の少なくとも1つに関する情報であって、少なくとも1つの物体の位置、姿勢、形状及び大きさの少なくとも1つに関する変更の発生を示す第1変更情報、及び、(ii)対象領域の内部に新たな物体が配置されることを示す第2変更情報の少なくとも一方を取得する変更情報取得段階を有する。上記の制御方法は、例えば、(i)変更が生じた後の1以上の物体のぞれぞれの位置、姿勢、形状及び大きさを示す第1モデル情報、及び、(ii)新たな物体の位置、姿勢、形状及び大きさを示す第2モデル情報の少なくとも一方を取得するモデル情報取得段階を有する。
上記の制御方法は、例えば、作業ロボットが一連の作業を実行するN個の作業領域を、一連の作業の順番に結ぶN−1個又はN個の軌道のそれぞれを示す、N−1個又はN個の軌道情報を取得する軌道情報取得段階を有する。上記の制御方法は、例えば、N−1個又はN個の軌道を、(i)第1変更情報及び第2変更情報の少なくとも一方により示される対象領域の内部の変更に応じて、修正が必要となる軌道、及び、(ii)第1変更情報及び第2変更情報の少なくとも一方により示される対象領域の内部の変更が生じても、修正が必要ではない軌道に分類する分類段階を有する。上記の制御方法は、例えば、分類段階において修正が必要となる軌道に分類された1以上の軌道のそれぞれについて、第1モデル情報及び第2モデル情報の少なくとも一方に基づいて、各軌道に関連する2個の作業領域の間におけるマニピュレータの先端の軌道を計画する軌道計画段階を有する。上記の制御方法において、Nは、2以上の整数であってよい。
図2は、実行装置120のシステム構成の一例を概略的に示す。本実施形態において、実行装置120は、コンベア212と、ロボット214とを備える。本実施形態において、ロボット214は、マニピュレータ220と、台座230と、レール232と、駆動部240と、駆動制御部250とを備える。本実施形態において、マニピュレータ220は、作業ツール222と、ロボットアーム224とを有する。
なお、ロボット214は、単一のマニピュレータ220を備えてもよく、複数のマニピュレータ220を備えてもよい。ロボット214は、単一のマニピュレータ220を用いて単一のワーク20に対する作業を実行してもよく、複数のマニピュレータ220を用いて単一のワーク20に対する作業を実行してもよい。ロボット214は、単一のマニピュレータ220を用いて、一度に複数のワーク20に対する作業を実行してもよい。
ロボット214は、作業ロボットの一例であってよい。作業ツール222は、マニピュレータ220の先端の一例であってよい。作業ツール222の軌道は、マニピュレータ220の先端の軌道の一例であってよい。作業ツール222の位置及び姿勢は、マニピュレータ220の先端の位置及び姿勢の一例であってよい。
本実施形態において、実行装置120は、対象領域202の内部に配されたワーク20に対して、予め定められた作業を実行する。対象領域202は、実行装置120が作業を実行することのできる領域であってよい。ワーク20は、1又は複数の凸部22を有してよい。作業の種類としては、ピッキング作業、穿孔作業、旋盤作業、溶接作業、組立作業、塗装作業などが例示される。
本実施形態において、コンベア212は、ワーク20を搬送する。例えば、コンベア212は、ワーク20を、対象領域202の外部から、対象領域202の内部の予め定められた位置まで搬送する。ロボット214によるワーク20に対する作業が終了すると、コンベア212は、ワーク20を、対象領域202の外部に搬送する。
本実施形態において、ロボット214は、ワーク20に対する各種の作業を実行する。例えば、ロボット214は、マニピュレータ220を用いて対象領域202の内部で作業を実施する。ロボット214の動作の少なくとも一部は、管理装置140により制御される。
本実施形態において、作業ツール222は、特定の作業に対応する治具、機材又は器具である。作業ツール222の詳細は特に限定されない。作業ツール222は、対応する作業に応じた形状、構造及び機能を有してよい。作業ツール222は、各種のセンサを有してよい。作業ツール222は、カメラなどの撮像装置を有してよい。作業ツール222は、例えば、ロボットアーム224の先端に取り付けられる。ロボット214は、作業ツール222を取り換えることで、各種の作業に対応することができる。
本実施形態において、ロボットアーム224は、作業ツール222に連結され、作業ツール222の位置及び姿勢を調整する。ロボットアーム224の構造は特に限定されるものではないが、例えば、複数の関節を有する多関節ロボットアームが用いられる。ロボットアーム224は、質量計測センサ、負荷計測センサなどの各種センサを有してよい。負荷計測センサは、ロボットアーム224の各関節を駆動する駆動部240のトルク、電流値又は電圧値を計測するセンサであってよい。
本実施形態において、台座230は、マニピュレータ220を支持する。台座230は、固定式の台座であってもよく、可動式の台座であってもよい。本実施形態において、台座230は、レール232の延伸方向に沿って、レール232の上を移動することができる。これにより、作業ツール222が、対象領域202の任意の位置まで到達し得る。台座230は、その内部に、駆動部240の少なくとも一部を収容してよい。台座230は、その内部に、駆動制御部250の少なくとも一部を収容してよい。
本実施形態において、駆動部240は、マニピュレータ220を駆動する。一実施形態において、駆動部240は、作業ツール222を駆動する。一実施形態において、駆動部240は、作業ツール222に流体を供給したり、作業ツール222から流体を吸引したりする。駆動部240は、ポンプであってよい。駆動部240は、1以上のポンプを有してよい。流体は、溶接用又は溶断用のガスであってもよく、冷却用又は洗浄用の流体であってもよい。他の実施形態において、駆動部240は、作業ツール222に電力を供給してもよい。例えば、駆動部240は、作業ツール222への電力の供給を制御する素子であってよい。
さらに他の実施形態において、駆動部240は、ロボットアーム224を駆動する。例えば、駆動部240は、ロボットアーム224の各関節の角度を調整する。駆動部240は、モータであってよい。駆動部240は、1以上のモータを有してよい。さらに他の実施形態において、駆動部240は、台座230を駆動する。例えば、駆動部240は、ワーク20と、台座230との相対位置を調整する。駆動部240は、モータであってよい。駆動部240は、1以上のモータを有してよい。
駆動制御部250は、駆動部240を制御する。例えば、駆動制御部250は、管理装置140から、ロボット214のワーク20に対する作業を制御するための命令を受信する。駆動制御部250は、管理装置140からの命令に基づいて、駆動部240を制御する。
ワーク20に対する作業を制御するための命令は、作業ツール222の軌道を示す情報であってよい。作業ツール222の軌道を示す情報としては、(i)作業ツール222の初期配置、通過配置及び最終配置、並びに、移動時間を示す情報、(ii)初期配置、通過配置及び最終配置における作業ツール222の各関節の角度、並びに、移動時間を示す情報、(iii)移動時間中の各時刻における作業ツール222の配置を示す情報、(iv)移動時間中の各時刻における作業ツール222の各関節の角度を示す情報などを例示することができる。作業ツール222の配置は、例えば、作業ツール222の位置及び姿勢により特定される。
図3、図4及び図5を用いて、実行装置120の周辺環境の変化、又は、ワーク20の変化に伴う、全体軌道340の変化が説明される。図3は、対象領域202の内部に障害物320が存在する場合における、全体軌道340の一例を概略的に示す。図4は、図3において、対象領域202の内部に障害物420が追加された場合における、全体軌道340の一例を概略的に示す。図5は、図4において、対象領域202の内部から障害物320が除去された場合における、全体軌道340の一例を概略的に示す。
図3に関連して説明される実施形態において、ロボット214は、作業点32、作業点34、作業点36及び作業点38のそれぞれにおいて、ユーザにより指定された一連の作業を実行する。本実施形態において、ロボット214は、作業点32で作業を実行した後、作業ツール222を単位軌道342に沿って作業点34へと移動させる。同様に、ロボット214は、作業点34で作業を実行した後、作業ツール222を単位軌道344に沿って作業点36へと移動させる。また、ロボット214は、作業点36で作業を実行した後、作業ツール222を単位軌道346に沿って作業点38へと移動させる。
単位軌道342、単位軌道344、及び、単位軌道346のそれぞれは、マニピュレータ220と、対象領域202の内部に配置された他の物体との距離が、予め定められた値(干渉マージンと称される場合がある。)よりも大きくなるように計画される。これにより、マニピュレータ220が、上記の他の物体と干渉することが防止される。例えば、本実施形態において、単位軌道344は、障害物320及びワーク20の凸部22と干渉しないように計画される。
作業点32、作業点34、作業点36及び作業点38は、作業ロボットが一連の作業を実行するN個の作業領域(Nは、2以上の整数である。Nは、3以上の整数であってもよく、Nは、4以上の整数であってもよい。)の一例であってよい。作業点32、作業点34、作業点36及び作業点38のそれぞれは、作業領域の一例であってよい。なお、作業の種類によっては、ロボット214は、作業領域の内部で、作業ツール222を規定の経路に沿って移動させる場合がある。この場合、作業点32、作業点34、作業点36及び作業点38のそれぞれは、作業領域内の任意の地点であって、各作業領域における作業が開始されるときに作業ツール222が配される地点であってよい。
単位軌道342、単位軌道344、及び、単位軌道346は、一連の作業を通した作業ツール222の軌道を示す全体軌道340を構成する。単位軌道342、単位軌道344、及び、単位軌道346は、一連の作業が実行されるN個の作業領域を、当該一連の作業の順番に結ぶN−1個又はN個の軌道の一例であってよい。
なお、作業ツール222のホームポジションが設定されている場合、ロボット214は、作業点32における作業を開始する前に、作業ツール222をホームポジションから、作業点32へと移動させてよい。また、作業点38における作業が完了した後、ロボット214は、作業ツール222をホームポジションへと移動させてよい。この場合、作業ツール222の全体軌道340は、ホームポジションと、一連の作業が実行されるN個の作業領域とを当該一連の作業の順番に結ぶ、N個又はN+1個の軌道により構成される。
また、本実施形態においては、作業点32及び作業点38が対象領域202の内部の異なる地点又は領域である場合を例として、作業ツール222の軌道が説明された。しかしながら、作業ツール222の軌道は本実施形態に限定されない。他の実施形態において、作業点32及び作業点38が同一の地点又は領域であってもよい。この場合、作業ツール222の全体軌道340は、(i)単位軌道342、単位軌道344及び単位軌道346と、(ii)作業点38及び作業点32を結ぶ単位軌道とを含む。
図4に関連して説明される実施形態によれば、ロボット214が、作業ツール222を図3に示された全体軌道340に沿って移動させながら、一連の作業を実行している状態において、単位軌道346の近傍に障害物420が追加される。障害物420は、例えば、単位軌道346においてマニピュレータ220と干渉する位置に配される。
本実施形態によれば、ユーザは、入力端末160を操作して、単位軌道346の近傍に障害物420が追加されることを示す情報(変更情報と称される場合がある。)を、管理装置140に送信する。管理装置140は、上記の変更情報を受信すると、まず、新たな全体軌道340を計画する必要があるか否かを判定する。
より具体的には、管理装置140は、単位軌道342、単位軌道344及び単位軌道346のそれぞれについて、障害物420が追加されることにより、当該単位軌道を計画し直す必要性が高いか否かを判定する。管理装置140は、単位軌道342、単位軌道344及び単位軌道346のそれぞれと、障害物420との関連具合に基づいて、当該単位軌道を計画し直す必要性が高いか否かを判定してよい。管理装置140は、軌道を計画し直す必要性の高い単位軌道を抽出してもよい。
特定の単位軌道と、障害物420との関連具合が予め定められた程度よりも大きい場合、管理装置140は、当該特定の単位軌道を計画し直す必要性が高いと判定してよい。特定の単位軌道と、障害物420との関連具合が予め定められた程度よりも小さい場合、管理装置140は、当該特定の単位軌道を計画し直す必要性が高くないと判定してよい。例えば、特定の単位軌道と、障害物420とが干渉する可能性が高い場合、管理装置140は、特定の単位軌道と、障害物420との関連具合が予め定められた程度よりも大きいと判定する。
軌道を計画し直す必要性の高い単位軌道が抽出された場合、管理装置140は、新たな全体軌道340を計画する必要があると判定する。そして、管理装置140は、障害物420の位置、姿勢、形状及び大きさを考慮に入れて、抽出された単位軌道の軌道を計画し直す。また、管理装置140は、その他の単位軌道について、現在の軌道に関する情報を再利用する。一方、軌道を計画し直す必要性の高い単位軌道が1つも抽出されなかった場合、管理装置140は、新たな全体軌道340を計画する必要がないと判定する。
例えば、本実施形態によれば、単位軌道342及び単位軌道344は、軌道を計画し直す必要性の高い単位軌道ではないと判断され、単位軌道346は、軌道を計画し直す必要性の高い単位軌道であると判断される。そこで、管理装置140は、現在の単位軌道342、現在の単位軌道344、及び、変更後の単位軌道346に基づいて、変更後の全体軌道340を計画する。
これにより、対象領域202の内部に障害物420が追加された場合であっても、変更後の全体軌道340を短時間で計画することができる。なお、軌道を計画し直す必要性が高いと判定された単位軌道346のうち、障害物420と干渉する領域のみを計画し直すことで、変更後の全体軌道340を計画するための計算量を削減することも考えられる。
しかしながら、この場合、障害物420の位置によっては、軌道の形状が滑らかではなく、ロボット214が作業を再開した後、マニピュレータ220の関節に過度の負担がかかることも考えられる。また、変更前の単位軌道346は、障害物420が存在しない場合に最適化されている。そのため、単位軌道346のうち障害物420と干渉する領域のみを変更して得られた軌道が、単位軌道346の始点及び終点を結ぶために適切な軌道でるとは限らず、より適切な他の軌道が存在する可能性もある。
一方、本実施形態によれば、単位軌道346を全体的に計画し直す。これにより、単位軌道346のうち障害物420と干渉する領域のみを計画し直す場合と比較して、より適切な軌道を導出することができる。
図5に関連して説明される実施形態によれば、ロボット214が、作業ツール222を図4に示された全体軌道340に沿って移動させながら、一連の作業を実行している状態において、単位軌道344の近傍に配置されていた障害物320が、対象領域202から除去される。なお、障害物320は、対象領域202の内部の地点であって、現在位置と比較して、単位軌道344からより離れた地点へと移動してもよい。
本実施形態によれば、ユーザは、入力端末160を操作して、障害物320が除去されること又は移動することを示す情報(変更情報と称される場合がある。)を、管理装置140に送信する。管理装置140は、上記の変更情報を受信すると、まず、新たな全体軌道340を計画する必要があるか否かを判定する。
より具体的には、管理装置140は、単位軌道342、単位軌道344及び単位軌道346のそれぞれについて、障害物320が除去される又は移動することにより、当該単位軌道を計画し直す必要性が高いか否かを判定する。管理装置140は、単位軌道342、単位軌道344及び単位軌道346のそれぞれと、障害物320との関連具合に基づいて、当該単位軌道を計画し直す必要性が高いか否かを判定してよい。管理装置140は、軌道を計画し直す必要性の高い単位軌道を抽出してもよい。
特定の単位軌道と、障害物320との関連具合が予め定められた程度よりも大きい場合、管理装置140は、当該特定の単位軌道を計画し直す必要性が高いと判定してよい。特定の単位軌道と、障害物320との関連具合が予め定められた程度よりも小さい場合、管理装置140は、当該特定の単位軌道を計画し直す必要性が高くないと判定してよい。例えば、特定の単位軌道につき、現在の軌道が障害物320を回避するように計画されている可能性が高い場合、管理装置140は、特定の単位軌道と、障害物320との関連具合が予め定められた程度よりも大きいと判定する。
軌道を計画し直す必要性の高い単位軌道が抽出された場合、管理装置140は、新たな全体軌道340を計画する必要があると判定する。そして、管理装置140は、障害物320が除去されること、又は、障害物320が移動することを考慮に入れて、抽出された単位軌道の軌道を計画し直す。また、管理装置140は、その他の単位軌道について、現在の軌道に関する情報を再利用する。一方、軌道を計画し直す必要性の高い単位軌道が1つも抽出されなかった場合、管理装置140は、新たな全体軌道340を計画する必要がないと判定する。
例えば、本実施形態によれば、単位軌道342及び単位軌道346は、軌道を計画し直す必要性の高い単位軌道ではないと判断され、単位軌道344は、軌道を計画し直す必要性の高い単位軌道であると判断される。そこで、管理装置140は、現在の単位軌道342、変更後の単位軌道344、及び、現在の単位軌道346に基づいて、変更後の全体軌道340を計画する。
これにより、障害物320が対象領域202の内部から除去されたり、全体軌道340から離れた位置へと移動したりした場合であっても、より適切な全体軌道340を短時間で計画することができる。なお、変更後の全体軌道340を計画するための計算量を削減することを目的として、障害物320が対象領域202の内部から除去されたり、全体軌道340から離れた位置へと移動したりした場合には、軌道を計画し直さないことも考えられる。
しかしながら、現在の軌道は、障害物320の存在を前提として計画されており、障害物320が存在しない場合や、障害物320がより離れた位置に存在する場合には、より適切な他の軌道が存在することも考えられる。一方、本実施形態によれば、障害物320が対象領域202の内部から除去されたり、全体軌道340から離れた位置へと移動したりした場合であっても、障害物320と関連性の高い単位軌道を計画し直すので、軌道を計画し直さない場合と比較して、より適切な軌道を導出することができる。
図6は、管理装置140のシステム構成の一例を概略的に示す。本実施形態において、管理装置140は、通信制御部620と、モデル管理部630と、システム管理部640と、格納部650とを備える。
モデル管理部630は、変更情報取得部及びモデル情報取得部の一例であってよい。システム管理部640は、制御装置の一例であってよい。
本実施形態において、通信制御部620は、実行装置120及び入力端末160の少なくとも一方との間の通信を制御する。通信制御部620は、通信インタフェースであってよい。通信制御部620は、複数の種類の通信方式に対応してよい。
本実施形態において、モデル管理部630は、対象領域202の内部に配置された1以上の物体に関する情報を管理する。対象領域202の内部に配置され得る1以上の物体に関する情報を管理してよい。モデル管理部630は、上記の1以上の物体のそれぞれのシミュレーションモデルを管理してよい。モデル管理部630は、上記の1以上の物体のそれぞれの位置、姿勢、形状及び大きさを示す情報を管理してよい。上記の物体としては、ワーク20、コンベア212、ロボット214、障害物320、障害物420、及び、これらの一部などが例示される。
一実施形態において、ユーザは、入力端末160を操作して、対象領域202の内部に配置される1以上の物体の位置、姿勢、形状及び大きさを示す情報を入力し、当該情報を管理装置140に送信する。管理装置140は、ユーザが入力した情報を取得し、格納部650に格納してよい。
他の実施形態において、ユーザは、入力端末160を操作して、対象領域202の内部に配置された1以上の物体の位置、姿勢、形状及び大きさの少なくとも1つに関する変更の発生を示す情報(変更情報と称される場合がある。)を入力し、当該情報を管理装置140に送信する。上記の変更は、対象領域202の内部から物体が削除されることを含む。上記の変更は、物体の動作に伴い、当該物体の位置、姿勢、形状及び大きさの少なくとも1つが変動することを含む。
変更の発生を示す情報は、変更が発生したことを示す情報であってもよく、将来の近い時期に変更が発生することを示す情報であってもよい。上記の変更情報は、第1変更情報の一例であってよい。管理装置140は、上記の変更情報を取得し、格納部650に格納してよい。
ユーザは、入力端末160を操作して、変更が生じた後の1以上の物体の位置、姿勢、形状及び大きさを示す情報を入力し、当該情報を管理装置140に送信する。変更が生じた後の1以上の物体の位置、姿勢、形状及び大きさを示す情報は、1以上の物体の位置、姿勢、形状及び大きさのうち、変更された事項に関する情報であってもよい。上記の情報は、第1モデル情報の一例であってよい。管理装置140は、上記の情報を取得し、格納部650に格納してよい。
さらに他の実施形態において、ユーザは、入力端末160を操作して、対象領域202の内部に新たな物体が配置されることを示す情報を入力し、当該情報を管理装置140に送信する。上記の情報は、変更情報の一例であってよい。対象領域202の内部に新たな物体が配置されることを示す情報は、対象領域202の内部に新たな物体が配置されたことを示す情報であってもよく、将来の近い時期に、対象領域202の内部に新たな物体が配置されることを示す情報であってもよい。上記の変更情報は、第2変更情報の一例であってよい。管理装置140は、上記の変更情報を取得し、格納部650に格納してよい。
ユーザは、入力端末160を操作して、上記の新たな物体の位置、姿勢、形状及び大きさを示す情報を入力し、当該情報を管理装置140に送信する。上記の情報は、第2モデル情報の一例であってよい。管理装置140は、上記の情報を取得し、格納部650に格納してよい。
本実施形態において、システム管理部640は、実行装置120を管理する。例えば、システム管理部640は、実行装置120の動作を制御する。システム管理部640は、実行装置120の制御パラメータを決定することで、実行装置120の動作を制御してよい。システム管理部640は、実行装置120の動作を制御するための各種の設定情報を管理してよい。システム管理部640の詳細は後述される。
本実施形態において、格納部650は、各種の情報を取得する。一実施形態において、格納部650は、シミュレーションモデルに関する情報を格納する。格納部650は、対象領域202の内部に配置される1以上の物体の位置、姿勢、形状及び大きさを示す情報を格納してよい。格納部650は、対象領域202の内部に配置される1以上の物体のうち、その位置、姿勢、形状及び大きさの少なくとも1つが変更される物体に関する情報であって、変更後の位置、姿勢、形状及び大きさの少なくとも1つを示す情報を格納してよい。格納部650は、対象領域202から削除される物体に関する情報を格納してもよい。格納部650は、対象領域202に新たに追加される物体の位置、姿勢、形状及び大きさを示す情報を格納してよい。
他の実施形態において、格納部650は、ロボット214の作業に関する情報を格納する。格納部650は、作業スケジュールを示す情報を格納する。例えば、格納部650は、1又は複数の作業のそれぞれについて、作業の識別情報と、作業対象の識別情報と、作業が実行される時刻を示す情報と、作業が実行される地点を示す情報と、作業の内容を示す情報とを対応付けて格納する。
格納部650は、一連の作業に関する作業ツール222の軌道を示す情報を格納してよい。格納部650は、作業ツール222の全体軌道を示す情報を格納してもよく、当該全体軌道を構成する複数の単位軌道のそれぞれを示す情報を格納してもよい。作業ツール222の軌道を示す情報は、作業ツール222の位置及び姿勢を示す情報の集合であってよい。作業ツール222の全体軌道又は単位軌道を示す情報は、作業ツール222の移動が開始されてからの経過時間を示す情報と、作業ツール222の位置及び姿勢を示す情報とが対応付けられた情報であってよい。
図7は、システム管理部640の内部構成の一例を概略的に示す。本実施形態において、システム管理部640は、検出部720と、調整部730と、システム制御部740とを備える。
検出部720は、変更情報取得部の一例であってよい。調整部730は、制御装置、分類部、軌道情報取得部、軌道計画部及び軌道決定部の一例であってよい。システム制御部740は、出力部の一例であってよい。
本実施形態において、検出部720は、(i)実行装置120の構造に変更が生じたこと、(ii)実行装置120の設定に変更が生じたこと、(iii)実行装置120の対象物品が変更されたこと、又は、(iv)実行装置120の周辺環境に変更が生じたことを検出する。例えば、検出部720は、モデル管理部630が各種の変更情報を取得した場合に、当該変更情報に対応する事項に変更が発生したこと、又は、将来の近い時期に変更が発生することを検出する。検出部720は、対象領域202の内部に配された各種のセンサの出力を取得することで、上記の変更を検出してよい。検出部720は、各種の変更が検出されたことを示す情報を、調整部730に出力してよい。
実行装置120の構造に関する変更としては、ロボットアーム224の位置、姿勢、形状、大きさ、運動学パラメータ、及び、動力学パラメータの少なくとも1つに関する変更が例示される。実行装置120の設定に関する変更としては、作業ツール222の始点、終点、移動速度及び加速度少なくとも1つに関する変更、干渉マージンに関する変更などが例示される。
本実施形態において、調整部730は、検出部720が各種の変更を検出した場合に、ロボット214の設定を調整する。例えば、調整部730は、検出された変更の内容に応じて、ロボット214の作業ツール222の軌道に関する設定を変更する。調整部730の詳細は後述される。
本実施形態において、システム制御部740は、ロボット214を制御する。例えば、システム制御部740は、マニピュレータ220の動作を制御するための制御情報を出力する。システム制御部740は、調整部730が決定した作業ツール222の軌道に基づいてマニピュレータ220の動作を制御するための制御情報を、ロボット214の駆動制御部250に出力する。
図8は、調整部730の内部構成の一例を概略的に示す。本実施形態において、調整部730は、基本情報取得部820と、シミュレーションモデル生成部830と、抽出部840と、軌道計画部850と、軌道決定部860とを備える。本実施形態において、抽出部840は、判定用モデル生成部842と、判定精度決定部844と、衝突判定部846と、区分判定部848とを有する。
本実施形態において、基本情報取得部820は、ロボット214の設定を調整するために必要な情報(基本情報と称される場合がある。)を取得する。基本情報取得部820は、検出部720から、変更が検出されたことを示す情報と、当該変更の内容を示す情報とを取得してよい。例えば、検出部720が、特定の物体の位置、姿勢、形状及び大きさの少なくとも1つが変更されることを検出した場合、基本情報取得部820は、当該特定の物体の変更後の位置、姿勢、形状及び大きさを示す情報を取得する。
基本情報取得部820は、格納部650を参照して、対象領域202の内部に配置された1以上の物体のぞれぞれの位置、姿勢、形状及び大きさを示す情報を取得してよい。基本情報取得部820は、格納部650を参照して、対象領域202の内部から削除される物体を識別する情報を取得してよい。基本情報取得部820は、格納部650を参照して、対象領域202の内部に追加される新たな物体の位置、姿勢、形状及び大きさを示す情報を取得してよい。基本情報取得部820は、格納部650を参照して、作業ツール222の軌道に関する情報を取得してよい。例えば、最新の全体軌道を構成する1又は複数の単位軌道を示す情報を取得する。
基本情報取得部820は、格納部650を参照して、干渉マージンの大きさを示す情報を取得してよい。基本情報取得部820は、格納部650を参照して、抽出部840における情報処理において使用される各種の設定に関する情報を取得してよい。例えば、基本情報取得部820は、(i)判定用モデル生成部842が、判定用モデルの大きさを決定するためのパラメータ、及び、(ii)判定精度決定部844が、判定精度を決定するためのパラメータの少なくとも一方を取得する。基本情報取得部820は、これらの基本情報を入力端末160から取得してもよい。
本実施形態において、シミュレーションモデル生成部830は、作業ツール222の軌道を計画するためのシミュレーションモデルを生成する。一実施形態において、シミュレーションモデル生成部830は、(i)基本情報取得部820が取得した、対象領域202の内部に配置された1以上の物品のそれぞれのモデルと、(ii)判定用モデル生成部842が生成したマニピュレータ220のモデルとに基づいて、シミュレーションモデルを生成する。上記の1以上の物品は、対象領域202に新たに追加される物品を含んでよい。
他の実施形態において、シミュレーションモデル生成部830は、(i)基本情報取得部820が取得したマニピュレータ220のモデルと、(ii)判定用モデル生成部842が生成した、対象領域202の内部に配置された1以上の物品のそれぞれのモデルとに基づいて、シミュレーションモデルを生成する。上記の1以上の物品は、対象領域202に新たに追加される物品を含んでよい。
さらに他の実施形態において、シミュレーションモデル生成部830は、(i)判定用モデル生成部842が生成したマニピュレータ220のモデルと、(ii)対象領域202の内部に配置された1以上の物品の少なくとも一部に関する、判定用モデル生成部842が生成したモデルと、(iii)対象領域202の内部に配置された1以上の物品の残りの部分に関する、基本情報取得部820が取得したモデルと、に基づいて、シミュレーションモデルを生成する。上記の1以上の物品は、対象領域202に新たに追加される物品を含んでよい。
本実施形態において、抽出部840は、変更前の1又は複数の単位軌道を、(i)検出部720が検出した対象領域202の内部の変更に応じて、修正が必要となる単位軌道と、(ii)検出部720が検出した対象領域202の内部の変更が生じても、修正が必要ではない単位軌道とに分類する。抽出部840は、修正が必要となる単位軌道を示す情報を、軌道計画部850に出力してよい。一方、抽出部840は、修正が必要ではない単位軌道を示す情報を、軌道決定部860に出力してよい。
本実施形態において、判定用モデル生成部842は、基本情報取得部820が取得したモデルの一部を、その形状及び大きさの少なくとも一方をデフォルメした判定用モデルを生成する。判定用モデル生成部842は、生成された判定用モデルの位置、姿勢、形状及び大きさを示す情報を、シミュレーションモデル生成部830に出力してよい。判定用モデルの形状は、基本情報取得部820が取得したモデルの形状よりも簡略化されていてよい。
一実施形態において、判定用モデル生成部842は、マニピュレータ220の大きさを拡大して、マニピュレータ220の判定用モデルを生成する。判定用モデル生成部842は、マニピュレータ220よりも大きく、マニピュレータ220よりも単純な形状を有するモデルを生成し、当該モデルを、マニピュレータ220の判定用モデルとして出力してもよい。
判定用モデル生成部842は、例えば、円柱形状、多角柱形状、球体形状、及び、これらの組み合わせであって、その内部に、マニピュレータ220の全体が収まるようなモデルを、マニピュレータ220の判定用モデルとして出力する。多角柱形としては、三角柱、四角柱、六角柱などが例示される。マニピュレータ220の判定用モデルは、第1拡大モデルの一例であってよい。
判定用モデル生成部842は、例えば、基本情報取得部820から、マニピュレータ220の大きさと、判定用モデルの大きさとの関係を示すパラメータを取得する。上記のパラメータは、マニピュレータ220の大きさに対する判定用モデルの大きさ(拡大率と称される場合がある。)を示すパラメータであってよい。判定用モデル生成部842は、上記のパラメータに基づいて、判定用モデルを生成してよい。上記のパラメータは、マニピュレータ220の外形と、判定用モデルの外形との距離の最小値が、干渉マージンよりも大きくなるように設定される。これにより、例えば、基本情報取得部820が取得したモデルの形状よりも簡略化された形状を有し、基本情報取得部820が取得したモデルよりも大きな判定用モデルが、ほぼリアルタイムに生成される。その結果、衝突判定部846が、少ない計算量で、比較的精度よく、衝突判定処理を実行することができる。
また、上記のパラメータは、任意のタイミングで変更され得る。例えば、判定用モデル生成部842は、検出部720が対象領域202の内部の変更を検出したときに、上記のパラメータを決定する。判定用モデル生成部842は、変更の種類に応じて、上記のパラメータを決定してよい。変更の種類としては、マニピュレータ220の位置の変更、マニピュレータ220の姿勢の変更、マニピュレータ220の形状の変更、マニピュレータ220の大きさの変更、及び、これらの組み合わせが例示される。変更の種類は、対象領域202の内部へのマニピュレータ220の追加、対象領域202の内部からのマニピュレータ220の削除などが例示される。これにより、環境の変化に応じて、判定用モデルの大きさが適切に変更される。その結果、軌道の再計算により、環境の変化に応じた適切な軌道が得られる。
他の実施形態において、判定用モデル生成部842は、対象領域202に配置される1以上の物体の少なくとも一部の大きさを拡大して、当該物体の判定用モデルを生成する。上記の物体は、マニピュレータ220以外の物体であってよい。上記の物体は、変更が検出された物体であってよい。上記の物体は、対象領域202に新たに配置される物体であってよい。上記の物体は、対象領域202から削除される物体であってよい。判定用モデル生成部842は、上記の物体よりも大きく、当該物体よりも単純な形状を有するモデルを生成し、当該モデルを、当該物体の判定用モデルとして出力してもよい。
判定用モデル生成部842は、例えば、円柱形状、多角柱形状、球体形状、及び、これらの組み合わせであって、その内部に、上記の物体の全体が収まるようなモデルを、当該物体の判定用モデルとして出力する。多角柱形としては、三角柱、四角柱、六角柱などが例示される。対象領域202に配置された物体の判定用モデルは、第2拡大モデルの一例であってよい。
判定用モデル生成部842は、例えば、基本情報取得部820から、対象領域202に配置される各物体の大きさと、判定用モデルの大きさとの関係を示すパラメータを取得する。上記のパラメータは、各物体の大きさに対する判定用モデルの大きさ(拡大率と称される場合がある。)を示すパラメータであってよい。判定用モデル生成部842は、上記のパラメータに基づいて、判定用モデルを生成してよい。上記のパラメータは、各物体の外形と、判定用モデルの外形との距離の最小値が、干渉マージンよりも大きくなるように設定される。これにより、例えば、基本情報取得部820が取得したモデルの形状よりも簡略化された形状を有し、基本情報取得部820が取得したモデルよりも大きな判定用モデルが、ほぼリアルタイムに生成される。その結果、衝突判定部846が、少ない計算量で、比較的精度よく、衝突判定処理を実行することができる。
また、上記のパラメータは、任意のタイミングで変更され得る。例えば、判定用モデル生成部842は、検出部720が対象領域202の内部の変更を検出したときに、上記のパラメータを決定する。判定用モデル生成部842は、変更の種類に応じて、上記のパラメータを決定してよい。変更の種類としては、物体の位置の変更、物体の姿勢の変更、物体の形状の変更、物体の大きさの変更、及び、これらの組み合わせが例示される。変更の種類は、対象領域202の内部への物体の追加、対象領域202の内部からの物体の削除などが例示される。これにより、環境の変化に応じて、判定用モデルの大きさが適切に変更される。その結果、軌道の再計算により、環境の変化に応じた適切な軌道が得られる。
本実施形態において、判定精度決定部844は、衝突判定部846における判定精度を示すパラメータの値を決定する。後述のとおり、衝突判定部846は、単位軌道上のM個(Mは、1以上の整数である。)の地点において、衝突判定処理を実行する。つまり、1つの単位軌道について、M回の衝突判定処理が実行される。判定精度を示すパラメータは、各単位軌道について衝突判定処理が実行される間隔であってもよく、各単位軌道について衝突判定処理が実行される回数Mであってもよい。
一実施形態において、判定精度決定部844は、マニピュレータ220の大きさ、及び、マニピュレータ220の判定用モデルの大きさの少なくとも一方に基づいて、判定精度を示すパラメータの値を決定する。判定精度決定部844は、マニピュレータ220の大きさと、判定用モデルの大きさとの関係を示すパラメータの値に基づいて、判定精度を示すパラメータの値を決定してよい。
例えば、判定精度決定部844は、マニピュレータ220の大きさが大きいほど、上記のMの値が大きくなるように、判定精度を示すパラメータの値を決定する。判定精度決定部844は、マニピュレータ220の大きさが大きいほど、上記のMの値が小さくなるように、判定精度を示すパラメータの値を決定してもよい。
例えば、判定精度決定部844は、マニピュレータ220の大きさに対する、マニピュレータ220の判定用モデルの大きさが大きいほど(つまり、判定用モデルの拡大率が大きいほど)、上記のMの値が大きくなるように、判定精度を示すパラメータの値を決定してよい。判定精度決定部844は、マニピュレータ220の大きさに対する、マニピュレータ220の判定用モデルの大きさが大きいほど、上記のMの値が小さくなるように、判定精度を示すパラメータの値を決定してもよい。
他の実施形態において、判定精度決定部844は、対象領域202に配置された物体の大きさ、及び、当該物体の判定用モデルの大きさの少なくとも一方に基づいて、判定精度を示すパラメータの値を決定する。判定精度決定部844は、上記の物体の大きさと、判定用モデルの大きさとの関係を示すパラメータの値に基づいて、判定精度を示すパラメータの値を決定してもよい。
例えば、判定精度決定部844は、上記の物体の大きさが大きいほど、上記のMの値が大きくなるように、判定精度を示すパラメータの値を決定する。判定精度決定部844は、上記の物体の大きさが大きいほど、上記のMの値が小さくなるように、判定精度を示すパラメータの値を決定してもよい。
例えば、判定精度決定部844は、上記の物体の大きさに対する、当該物体の判定用モデルの大きさが大きいほど(つまり、判定用モデルの拡大率が大きいほど)、上記のMの値が大きくなるように、判定精度を示すパラメータの値を決定する。判定精度決定部844は、上記の物体の大きさに対する、当該物体の判定用モデルの大きさが大きいほど(つまり、判定用モデルの拡大率が大きいほど)、上記のMの値が小さくなるように、判定精度を示すパラメータの値を決定してもよい。
他の実施形態において、判定精度決定部844は、関節空間におけるマニピュレータ220の動作と、現実空間におけるマニピュレータ220の動作との対応関係に基づいて、判定精度を示すパラメータの値を決定する。例えば、判定精度決定部844は、マニピュレータ220の自由度が大きいほど、上記のMの値が大きくなるように、判定精度を示すパラメータの値を決定する。判定精度決定部844は、マニピュレータ220の自由度が大きいほど、上記のMの値が小さくなるように、判定精度を示すパラメータの値を決定してもよい。
本実施形態において、衝突判定部846は、シミュレーションモデル生成部830が生成したシミュレーションモデルを利用して、1又は複数の単位軌道のそれぞれについて、衝突判定処理を実行する。衝突判定処理では、いくつかの不等式の成否を判定することで、2つの物体の衝突を判定することができる。これにより、比較的少ない計算量で干渉の有無を判定することができる。
干渉の有無を判定する他の方法としては、2つの物体の最短距離を算出して、当該最短距離に基づいて、干渉の有無を判定することが考えられる(距離判定と称される場合がある)。しかしながら、距離判定においては、一方の物体の外形上の複数の点のそれぞれについて、他方の物体の外形上の複数の点のそれぞれとの距離を計算する必要があり、計算量が膨大になる。
本実施形態によれば、衝突判定部846は、マニピュレータ220、及び、対象領域202の内部に配されたマニピュレータ220以外の物体の少なくとも一方がデフォルメされたモデルを利用して、衝突判定処理を実行する。これにより、マニピュレータ220及び上記の物体との距離を算出して、軌道を計算し直すか否かを決定する場合と比較して、計算量を数百分の一程度に抑制することができる。
例えば、衝突判定部846は、マニピュレータ220又はその一部(例えば、作業ツール222又はロボットアーム224である。)が拡大されたモデルと、ワーク20、障害物320及び障害物420の実寸大のモデルとを利用して、衝突判定処理を実行する。衝突判定部846は、マニピュレータ220及びワーク20の実寸大モデルと、障害物320及び障害物420が拡大されたモデルとを利用して、衝突判定処理を実行してもよい。衝突判定部846は、ワーク20の実寸大モデルと、マニピュレータ220又はその一部(例えば、作業ツール222又はロボットアーム224である。)が拡大されたモデルと、障害物320及び障害物420が拡大されたモデルとを利用して、衝突判定処理を実行してもよい。衝突判定部846は、ワーク20が拡大されたモデルを利用して、衝突判定処理を実行してもよい。
衝突判定部846は、全体軌道を構成する1又は複数の単位軌道のそれぞれについて、各単位軌道上のM個の地点において、(i)対象領域202に配置された1以上の物体のそれぞれのモデル又は判定用モデルと、(ii)マニピュレータ220の判定用モデルとの衝突の有無を判定してよい。衝突判定部846は、全体軌道を構成する1又は複数の単位軌道のそれぞれについて、各単位軌道上のM個の地点において、(i)対象領域202に配置された1以上の物体うち、変更が検出された物体のモデル又は判定用モデルと、(ii)マニピュレータ220の判定用モデルとの衝突の有無を判定してよい。
衝突判定部846は、全体軌道を構成する1又は複数の単位軌道のそれぞれについて、各単位軌道上のM個の地点において、(i)対象領域202に配置された1以上の物体のそれぞれの判定用モデルと、(ii)マニピュレータ220のモデル又は判定用モデルとの衝突の有無を判定してよい。衝突判定部846は、全体軌道を構成する1又は複数の単位軌道のそれぞれについて、各単位軌道上のM個の地点において、(i)対象領域202に配置された1以上の物体うち、変更が検出された物体の判定用モデルと、(ii)マニピュレータ220のモデル又は判定用モデルとの衝突の有無を判定してよい。
上記の対象領域202に配置された1以上の物体には、対象領域202の内部に新たに追加される物体が含まれてよい。上記の対象領域202に配置された1以上の物体には、対象領域202の内部から除去される物体が含まれてよい。これにより、抽出部840は、図5に関連して説明された実施形態において、より適切な単位軌道が存在する可能性の高い単位軌道を抽出することができる。
判定モデルを利用した衝突判定処理により、特定の単位軌道上において、位置、姿勢、形状及び大きさの少なくとも1つに関する変更が検出された物体と、マニピュレータ220とが衝突すると判定された場合、当該単位軌道は、例えば、上記の変更が検出された物体との関連具合が大きな単位軌道であると判定される。上記の単位軌道は、軌道を計画し直す必要性の高い単位軌道であると判定されてもよい。
上記の変更が検出された物体が、対象領域202の内部から削除される物体である場合、当該物体が削除前の位置に存在していると仮定して、上記と同様の手順により、衝突判定処理が実行されてよい。上記の衝突判定処理により、特定の単位軌道上において、削除される物体と、マニピュレータ220とが衝突すると判定された場合、当該単位軌道は、例えば、上記の削除される物体との関連具合が大きな単位軌道であると判定される。上記の単位軌道は、軌道を計画し直す必要性の高い単位軌道であると判定されてもよい。
衝突判定部846は、単位軌道上のM個の地点の全てについて、衝突判定処理を実行しなくてもよい。単位軌道上の1つの地点について、衝突が発生すると判定された場合、衝突判定部846は、上記M個の地点のうち、衝突判定処理が実行されていない地点の衝突判定処理をスキップしてよい。これにより、計算量をさらに削減することができる。
同様にして、衝突判定部846は、1又は複数の単位軌道のそれぞれについて、各軌道上のM個の地点において、(i)対象領域202に配置された1以上の物体の少なくとも1つの判定用モデルと、(ii)マニピュレータ220の判定用モデルとの衝突の有無を判定してよい。衝突判定部846は、1又は複数の単位軌道のそれぞれについて、各軌道上のM個の地点において、(i)対象領域202に配置された1以上の物体のそれぞれの判定用モデルと、(ii)マニピュレータ220の判定用モデルとの衝突の有無を判定してよい。
同様にして、衝突判定部846は、1又は複数の単位軌道のそれぞれについて、各軌道上のM個の地点において、(i)対象領域202に配置された1以上の物体の少なくとも1つの判定用モデルと、(ii)マニピュレータ220のモデルとの衝突の有無を判定してよい。衝突判定部846は、1又は複数の単位軌道のそれぞれについて、各軌道上のM個の地点において、(i)対象領域202に配置された1以上の物体のそれぞれの判定用モデルと、(ii)マニピュレータ220のモデルとの衝突の有無を判定してよい。
本実施形態において、区分判定部848は、全体軌道を構成する1又は複数の単位軌道のそれぞれを、修正が必要となる単位軌道と、修正を必要ではない単位軌道とに区分けする。区分判定部848は、1又は複数の単位軌道のうち、衝突判定部846が当該単位軌道上の少なくとも1つの地点において衝突が発生すると判定した単位軌道を、修正が必要となる軌道であると判定する。衝突判定部846が当該単位軌道上の少なくとも1つの地点において衝突が発生すると判定した単位軌道は、対象領域202に配置された1以上の物体との関連具合の大きな軌道の一例であってよい。
区分判定部848は、1又は複数の単位軌道のうち、衝突判定部846が当該単位軌道上のM個の地点の全てにおいて衝突が発生しないと判定した単位軌道を、修正が必要ではない軌道であると判定してもよい。修正が必要ではない単位軌道は、全体軌道を構成する1又は複数の単位軌道から、修正が必要となる単位軌道を除外することで決定されてもよい。衝突判定部846が当該単位軌道上のM個の地点の全てにおいて衝突が発生しないと判定した単位軌道は、対象領域202に配置された1以上の物体との関連具合の小さな軌道の一例であってよい。
本実施形態において、区分判定部848は、修正が必要となる単位軌道を示す情報を、軌道計画部850に出力する。区分判定部848は、修正が必要ではない単位軌道を示す情報を、軌道決定部860に出力してもよい。
本実施形態において、軌道計画部850は、修正が必要となる単位軌道のそれぞれについて、作業ツール222の軌道を計画する。各単位軌道の軌道を計画する方法は、特に限定されない。例えば、軌道計画部850は、特許第6325174号に記載された手順に従って、各単位軌道の軌道を計画してよい。
軌道計画部850は、マニピュレータ220のモデルと、対象領域202に配置された1以上の物体のモデルとを用いて構築されたシミュレーションモデルを利用して、作業ツール222の軌道を計画してよい。この場合のモデルは、デフォルメされた判定用モデルではなく、現実のマニピュレータ220及び物体を再現したモデルである。また、本実施形態において、上記の1以上の物体のモデルは、対象領域202に新たに追加される物体のモデルを含む。また、上記の1以上の物体のモデルには、対象領域202から除去された物体のモデルは含まれない。
本実施形態において、軌道決定部860は、作業ツール222の全体軌道を決定する。例えば、軌道決定部860は、(i)抽出部840において修正が必要と判定された単位軌道に関して、軌道計画部850が計画し直した単位軌道の軌道を示す情報と、(ii)抽出部840において修正が必要ではないと判定された単位軌道の軌道を示す情報とに基づいて、一連の作業を通した作業ツール222の軌道を決定する。
以上のとおり、本実施形態によれば、調整部730が、変更が検出された物体、及び、マニピュレータ220の少なくとも一方について、現実の寸法よりも大きな判定用モデルを用いてシミュレーションモデルを構築した上で、全体軌道を構成する全ての単位軌道について、両者の衝突判定処理を実行する。その後、調整部730は、上記の衝突判定処理において両者が衝突すると判定された単位軌道を計画し直す。一方、上記の衝突判定処理において両者が衝突しないと判定された単位軌道を再利用する。これにより、極めて短時間で、変更に応じた適切な全体軌道を生成することができる。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。また、技術的に矛盾しない範囲において、特定の実施形態について説明した事項を、他の実施形態に適用することができる。また、各構成要素は、名称が同一で、参照符号が異なる他の構成要素と同様の特徴を有してもよい。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
10 通信ネットワーク、20 ワーク、22 凸部、32 作業点、34 作業点、36 作業点、38 作業点、100 作業システム、120 実行装置、140 管理装置、160 入力端末、202 対象領域、212 コンベア、214 ロボット、220 マニピュレータ、222 作業ツール、224 ロボットアーム、230 台座、232 レール、240 駆動部、250 駆動制御部、320 障害物、340 全体軌道、342 単位軌道、344 単位軌道、346 単位軌道、420 障害物、620 通信制御部、630 モデル管理部、640 システム管理部、650 格納部、720 検出部、730 調整部、740 システム制御部、820 基本情報取得部、830 シミュレーションモデル生成部、840 抽出部、842 判定用モデル生成部、844 判定精度決定部、846 衝突判定部、848 区分判定部、850 軌道計画部、860 軌道決定部

Claims (12)

  1. 対象領域の内部に配置された1以上の物体の少なくとも1つに関する情報であって、前記少なくとも1つの物体の位置、姿勢、形状及び大きさの少なくとも1つに関する変更の発生を示す第1変更情報、及び、(ii)前記対象領域の内部に新たな物体が配置されることを示す第2変更情報の少なくとも一方を取得する変更情報取得部と、
    (i)前記変更が生じた後の、前記対象領域の内部の前記1以上の物体のぞれぞれの位置、姿勢、形状及び大きさを示す第1モデル情報、及び、(ii)前記新たな物体の位置、姿勢、形状及び大きさを示す第2モデル情報の少なくとも一方を取得するモデル情報取得部と、
    N個の作業領域を順番に結ぶN−1個又はN個の軌道のそれぞれを示す、N−1個又はN個の軌道情報を取得する軌道情報取得部と、
    前記N−1個又はN個の軌道を、(i)前記第1変更情報及び前記第2変更情報の少なくとも一方により示される前記対象領域の内部の変更に応じて、修正が必要となる軌道、及び、(ii)前記第1変更情報及び前記第2変更情報の少なくとも一方により示される前記対象領域の内部の変更が生じても、修正が必要ではない軌道に分類する分類部と、
    前記分類部が、前記修正が必要となる軌道に分類した1以上の軌道のそれぞれについて、前記第1モデル情報及び前記第2モデル情報の少なくとも一方に基づいて、各軌道に関連する2個の作業領域の間におけるマニピュレータの先端の軌道を計画する軌道計画部と、
    を備え、
    前記分類部は、
    (i)前記マニピュレータの大きさを拡大したモデル又は(ii)前記マニピュレータよりも大きく、前記マニピュレータよりも単純な形状を有するモデルである、第1拡大モデルを生成する第1拡大モデル生成部と、
    (a)前記N−1個又はN個の軌道のそれぞれについて、(i)前記第1モデル情報及び前記第2モデル情報の少なくとも一方により示される各物体のモデル、並びに、(ii)前記第1拡大モデルの衝突の有無を判定し、(b)(i)前記各物体のモデル及び(ii)前記第1拡大モデルが衝突すると判定された軌道を、修正が必要となる軌道であると判定する、判定部と、
    を有し、
    前記Nは、2以上の整数である、
    制御装置。
  2. (i)前記第1モデル情報及び前記第2モデル情報の少なくとも一方により示される各物体の大きさを拡大したモデル又は(ii)前記各物体よりも大きく、前記各物体よりも単純な形状を有するモデルである、第2拡大モデルを生成する第2拡大モデル生成部をさらに備え、
    前記判定部は、(a)前記N−1個又はN個の軌道のそれぞれについて、(i)前記第2拡大モデル及び(ii)前記第1拡大モデルの衝突の有無を判定し、(b)(i)前記第2拡大モデル及び(ii)前記第1拡大モデルが衝突すると判定された軌道を、修正が必要となる軌道であると判定する、
    請求項1に記載の制御装置。
  3. 対象領域の内部に配置された1以上の物体の少なくとも1つに関する情報であって、前記少なくとも1つの物体の位置、姿勢、形状及び大きさの少なくとも1つに関する変更の発生を示す第1変更情報、及び、(ii)前記対象領域の内部に新たな物体が配置されることを示す第2変更情報の少なくとも一方を取得する変更情報取得部と、
    (i)前記変更が生じた後の、前記対象領域の内部の前記1以上の物体のぞれぞれの位置、姿勢、形状及び大きさを示す第1モデル情報、及び、(ii)前記新たな物体の位置、姿勢、形状及び大きさを示す第2モデル情報の少なくとも一方を取得するモデル情報取得部と、
    N個の作業領域を順番に結ぶN−1個又はN個の軌道のそれぞれを示す、N−1個又はN個の軌道情報を取得する軌道情報取得部と、
    前記N−1個又はN個の軌道を、(i)前記第1変更情報及び前記第2変更情報の少なくとも一方により示される前記対象領域の内部の変更に応じて、修正が必要となる軌道、及び、(ii)前記第1変更情報及び前記第2変更情報の少なくとも一方により示される前記対象領域の内部の変更が生じても、修正が必要ではない軌道に分類する分類部と、
    前記分類部が、前記修正が必要となる軌道に分類した1以上の軌道のそれぞれについて、前記第1モデル情報及び前記第2モデル情報の少なくとも一方に基づいて、各軌道に関連する2個の作業領域の間におけるマニピュレータの先端の軌道を計画する軌道計画部と、
    を備え、
    前記分類部は、
    (i)前記第1モデル情報及び前記第2モデル情報の少なくとも一方により示される各物体の大きさを拡大したモデル又は(ii)前記各物体よりも大きく、前記各物体よりも単純な形状を有するモデルである、第2拡大モデルを生成する第2拡大モデル生成部と、
    (a)前記N−1個又はN個の軌道のそれぞれについて、(i)前記マニピュレータのモデル及び(ii)前記第2拡大モデルの衝突の有無を判定し、(b)(i)前記マニピュレータのモデル及び(ii)前記第2拡大モデルが衝突すると判定された軌道を、修正が必要となる軌道であると判定する、判定部と、
    を有し、
    前記Nは、2以上の整数である、
    制御装置。
  4. 前記分類部は、前記N−1個又はN個の軌道のそれぞれについて、各軌道上のM個の地点において、前記衝突の有無を判定し、
    前記分類部は、前記マニピュレータの大きさ、及び、各拡大モデルの大きさの少なくとも一方に基づいて、前記Mの値を決定する精度決定部をさらに有し、
    前記Mは、1以上の整数である、
    請求項1から請求項3までの何れか一項に記載の制御装置。
  5. 前記分類部は、前記N−1個又はN個の軌道のそれぞれについて、各軌道上のM個の地点において、前記衝突の有無を判定し、
    前記分類部は、関節空間における前記マニピュレータの動作と、現実空間における前記マニピュレータの動作との対応関係に基づいて、前記Mの値を決定する精度決定部をさらに有し、
    前記Mは、1以上の整数である、
    請求項1から請求項3までの何れか一項に記載の制御装置。
  6. (i)前記軌道計画部が計画した前記修正が必要となる軌道における、前記マニピュレータの先端の位置及び姿勢を示す情報と、(ii)前記軌道情報取得部が取得した前記修正が必要ではない軌道における、前記マニピュレータの先端の位置及び姿勢を示す情報とに基づいて、前記マニピュレータの先端の軌道を決定する軌道決定部をさらに備える、
    請求項1から請求項5までの何れか一項に記載の制御装置。
  7. 前記軌道決定部が決定した軌道に基づいて、前記マニピュレータの動作を制御するための制御情報を出力する出力部をさらに備える、
    請求項6に記載の制御装置。
  8. 請求項1から請求項7までの何れか一項に記載の制御装置と、
    前記マニピュレータと、
    を備える、作業ロボット。
  9. 前記マニピュレータの動作を制御する制御部をさらに備え、
    前記制御装置は、前記マニピュレータの動作を制御するための制御情報を出力し、
    前記制御部は、前記制御装置が出力した前記制御情報に基づいて、前記マニピュレータの動作を制御する、
    請求項8に記載の作業ロボット。
  10. コンピュータを、請求項1から請求項7までの何れか一項に記載の制御装置として機能させるためのプログラム。
  11. 対象領域の内部に配置された1以上の物体の少なくとも1つに関する情報であって、前記少なくとも1つの物体の位置、姿勢、形状及び大きさの少なくとも1つに関する変更の発生を示す第1変更情報、及び、(ii)前記対象領域の内部に新たな物体が配置されることを示す第2変更情報の少なくとも一方を取得する変更情報取得段階と、
    (i)前記変更が生じた後の、前記対象領域の内部の前記1以上の物体のぞれぞれの位置、姿勢、形状及び大きさを示す第1モデル情報、及び、(ii)前記新たな物体の位置、姿勢、形状及び大きさを示す第2モデル情報の少なくとも一方を取得するモデル情報取得段階と、
    N個の作業領域を順番に結ぶN−1個又はN個の軌道のそれぞれを示す、N−1個又はN個の軌道情報を取得する軌道情報取得段階と、
    前記N−1個又はN個の軌道を、(i)前記第1変更情報及び前記第2変更情報の少なくとも一方により示される前記対象領域の内部の変更に応じて、修正が必要となる軌道、及び、(ii)前記第1変更情報及び前記第2変更情報の少なくとも一方により示される前記対象領域の内部の変更が生じても、修正が必要ではない軌道に分類する分類段階と、
    前記分類段階において前記修正が必要となる軌道に分類された1以上の軌道のそれぞれについて、前記第1モデル情報及び前記第2モデル情報の少なくとも一方に基づいて、各軌道に関連する2個の作業領域の間におけるマニピュレータの先端の軌道を計画する軌道計画段階と、
    を有し、
    前記分類段階は、
    (i)前記マニピュレータの大きさを拡大したモデル又は(ii)前記マニピュレータよりも大きく、前記マニピュレータよりも単純な形状を有するモデルである、第1拡大モデルを生成する第1拡大モデル生成段階と、
    (a)前記N−1個又はN個の軌道のそれぞれについて、(i)前記第1モデル情報及び前記第2モデル情報の少なくとも一方により示される各物体のモデル、並びに、(ii)前記第1拡大モデルの衝突の有無を判定し、(b)(i)前記各物体のモデル及び(ii)前記第1拡大モデルが衝突すると判定された軌道を、修正が必要となる軌道であると判定する、判定段階と、
    を含み、
    前記Nは、2以上の整数である、
    制御方法。
  12. 対象領域の内部に配置された1以上の物体の少なくとも1つに関する情報であって、前記少なくとも1つの物体の位置、姿勢、形状及び大きさの少なくとも1つに関する変更の発生を示す第1変更情報、及び、(ii)前記対象領域の内部に新たな物体が配置されることを示す第2変更情報の少なくとも一方を取得する変更情報取得段階と、
    (i)前記変更が生じた後の、前記対象領域の内部の前記1以上の物体のぞれぞれの位置、姿勢、形状及び大きさを示す第1モデル情報、及び、(ii)前記新たな物体の位置、姿勢、形状及び大きさを示す第2モデル情報の少なくとも一方を取得するモデル情報取得段階と、
    N個の作業領域を順番に結ぶN−1個又はN個の軌道のそれぞれを示す、N−1個又はN個の軌道情報を取得する軌道情報取得段階と、
    前記N−1個又はN個の軌道を、(i)前記第1変更情報及び前記第2変更情報の少なくとも一方により示される前記対象領域の内部の変更に応じて、修正が必要となる軌道、及び、(ii)前記第1変更情報及び前記第2変更情報の少なくとも一方により示される前記対象領域の内部の変更が生じても、修正が必要ではない軌道に分類する分類段階と、
    前記分類段階において前記修正が必要となる軌道に分類された1以上の軌道のそれぞれについて、前記第1モデル情報及び前記第2モデル情報の少なくとも一方に基づいて、各軌道に関連する2個の作業領域の間におけるマニピュレータの先端の軌道を計画する軌道計画段階と、
    を有し、
    前記分類段階は、
    (i)前記第1モデル情報及び前記第2モデル情報の少なくとも一方により示される各物体の大きさを拡大したモデル又は(ii)前記各物体よりも大きく、前記各物体よりも単純な形状を有するモデルである、第2拡大モデルを生成する第2拡大モデル生成段階と、
    (a)前記N−1個又はN個の軌道のそれぞれについて、(i)前記マニピュレータのモデル及び(ii)前記第2拡大モデルの衝突の有無を判定し、(b)(i)前記マニピュレータのモデル及び(ii)前記第2拡大モデルが衝突すると判定された軌道を、修正が必要となる軌道であると判定する、判定段階と、
    を含み、
    前記Nは、2以上の整数である、
    制御方法。
JP2019103655A 2019-06-03 2019-06-03 制御装置、作業ロボット、プログラム、及び、制御方法 Active JP6560841B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019103655A JP6560841B1 (ja) 2019-06-03 2019-06-03 制御装置、作業ロボット、プログラム、及び、制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019103655A JP6560841B1 (ja) 2019-06-03 2019-06-03 制御装置、作業ロボット、プログラム、及び、制御方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2019026456A Division JP6577686B1 (ja) 2019-02-18 2019-02-18 制御装置、作業ロボット、プログラム、及び、制御方法

Publications (2)

Publication Number Publication Date
JP6560841B1 true JP6560841B1 (ja) 2019-08-14
JP2020062741A JP2020062741A (ja) 2020-04-23

Family

ID=67614928

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019103655A Active JP6560841B1 (ja) 2019-06-03 2019-06-03 制御装置、作業ロボット、プログラム、及び、制御方法

Country Status (1)

Country Link
JP (1) JP6560841B1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113211430A (zh) * 2021-04-12 2021-08-06 北京航天飞行控制中心 一种人机协同的机械臂规划方法和系统
CN114030222A (zh) * 2021-11-04 2022-02-11 温州大学 可视化冲压线多机协调轨迹优化方法及系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11919175B2 (en) * 2020-04-15 2024-03-05 Mujin, Inc. Robotic system with collision avoidance mechanism and method of operation thereof

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08108383A (ja) * 1994-10-05 1996-04-30 Fujitsu Ltd マニピュレータ制御装置
JP2875498B2 (ja) * 1995-07-18 1999-03-31 株式会社神戸製鋼所 ロボットマニピュレータの移動経路の自動生成方法
JPH11347984A (ja) * 1998-06-02 1999-12-21 Nissan Motor Co Ltd ロボット制御装置
JP2010172990A (ja) * 2009-01-28 2010-08-12 Seiko Epson Corp ロボット制御装置、ロボットの制御方法
JP5724919B2 (ja) * 2012-03-22 2015-05-27 トヨタ自動車株式会社 軌道生成装置、移動体、軌道生成方法及びプログラム
JP2014024162A (ja) * 2012-07-27 2014-02-06 Seiko Epson Corp ロボットシステム、ロボット制御装置、ロボット制御方法及びロボット制御プログラム
JP6998660B2 (ja) * 2017-02-21 2022-01-18 株式会社安川電機 ロボットシミュレータ、ロボットシステム及びシミュレーション方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113211430A (zh) * 2021-04-12 2021-08-06 北京航天飞行控制中心 一种人机协同的机械臂规划方法和系统
CN114030222A (zh) * 2021-11-04 2022-02-11 温州大学 可视化冲压线多机协调轨迹优化方法及系统
CN114030222B (zh) * 2021-11-04 2023-12-01 温州大学 可视化冲压线多机协调轨迹优化方法及系统

Also Published As

Publication number Publication date
JP2020062741A (ja) 2020-04-23

Similar Documents

Publication Publication Date Title
JP6508691B1 (ja) 制御装置、作業ロボット、プログラム、及び、制御方法
US11331803B2 (en) Mixed reality assisted spatial programming of robotic systems
US20220402132A1 (en) Trajectory generating method, and trajectory generating apparatus
CN108628595B (zh) 开发用于自动化系统的控制器的控制应用的系统和方法
JP6560841B1 (ja) 制御装置、作業ロボット、プログラム、及び、制御方法
EP3578322A1 (en) Robot path-generating device and robot system
US10525594B2 (en) Teaching system, robot system, and teaching method
JP2019532827A (ja) 衝突回避動作計画のための方法
Erdős et al. Process planning and offline programming for robotic remote laser welding systems
KR101471852B1 (ko) 스마트장치, 로봇정보 제공장치, 로봇 궤적 생성 방법 및 로봇 작업교시 방법
US11518024B2 (en) Extensible underconstrained robotic motion planning
WO2020104864A1 (en) Method and system for predicting motion-outcome data of a robot moving between a given pair of robotic locations
US20200246975A1 (en) Method and system for teaching a robot in reaching a given target in robot manufacturing
JP6577686B1 (ja) 制御装置、作業ロボット、プログラム、及び、制御方法
CN117001663A (zh) 机械臂运动路径规划方法及系统、存储介质
EP3924152A1 (en) Motion distribution in robotic systems
US20220281103A1 (en) Information processing apparatus, robot system, method of manufacturing products, information processing method, and recording medium
CN114603552B (zh) 一种机器人仿真方法、电子设备和存储介质
JP6155570B2 (ja) データ表示装置、方法、プログラム
US20220043455A1 (en) Preparing robotic operating environments for execution of robotic control plans
US11207778B2 (en) Method and system for determining joint values of an external axis in robot manufacturing
US20210187746A1 (en) Task planning accounting for occlusion of sensor observations
WO2022256402A1 (en) Workcell modeling using motion profile matching and swept profile matching
JP2014087875A (ja) 経路探索方法、経路評価方法、経路探索装置、制御装置、ロボット、及び、プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190603

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20190603

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20190621

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: 20190702

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190719

R150 Certificate of patent or registration of utility model

Ref document number: 6560841

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250