JPWO2014122995A1 - 干渉チェック装置 - Google Patents

干渉チェック装置 Download PDF

Info

Publication number
JPWO2014122995A1
JPWO2014122995A1 JP2014560713A JP2014560713A JPWO2014122995A1 JP WO2014122995 A1 JPWO2014122995 A1 JP WO2014122995A1 JP 2014560713 A JP2014560713 A JP 2014560713A JP 2014560713 A JP2014560713 A JP 2014560713A JP WO2014122995 A1 JPWO2014122995 A1 JP WO2014122995A1
Authority
JP
Japan
Prior art keywords
model
upper limit
calculation
unit
modeling
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.)
Granted
Application number
JP2014560713A
Other languages
English (en)
Other versions
JP5872077B2 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2014560713A priority Critical patent/JP5872077B2/ja
Application granted granted Critical
Publication of JP5872077B2 publication Critical patent/JP5872077B2/ja
Publication of JPWO2014122995A1 publication Critical patent/JPWO2014122995A1/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/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones
    • 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
    • B25J9/1666Avoiding collision or forbidden zones
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B17/00Systems involving the use of models or simulators of said systems
    • G05B17/02Systems involving the use of models or simulators of said systems electric
    • 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/39094Interference checking between robot and fixture
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/02Arm motion controller
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/49Protective device

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

干渉チェック装置(1A)において、干渉チェック対象であるモデル化対象に設定する幾何的モデルのモデル上限数が入力されるモデル数上限入力部(12)と、モデル上限数以下の幾何的モデルを用いて、モデル化対象からモデル候補を生成するモデル化処理部(14)と、モデル化対象を制御するコントローラの各処理に要する演算処理量に基づいて、干渉チェックの演算上限量を設定する処理演算量上限設定部(16)と、演算上限量以下で干渉チェックの計算処理を行えるモデル候補の中からモデルの包含体積が最小のモデル候補をモデル化対象のモデルに決定する最小包含体積モデル決定部(18A)と、決定されたモデルを用いてモデル同士の干渉チェックを行う干渉チェック部(20)と、を備える。

Description

本発明は、ロボット同士あるいはロボットと周辺機器との間の干渉をチェックする干渉チェック装置に関するものである。
干渉チェック装置は、産業用ロボットやその周辺機器が衝突するのを未然に防ぐ目的で、衝突する可能性をチェックする装置である。干渉チェック装置は、衝突の可能性をチェックしておくことによって、衝突する可能性がある場合には、ロボットなどに適切な指令値(停止あるいは動作軌道を修正する指令値)を出し、これにより、衝突を未然に防いでいる。特に、ロボットが稼働中の場合もオンラインで実行する干渉チェック装置においては、産業用ロボットやその周辺機器をそのままの詳細な形状ではなく、一旦、干渉チェックを高速に計算処理しやすいモデル(例えば、球体や円筒体など)に置き換えて、そのモデル同士の干渉チェックを実施している。
干渉チェック装置は、ロボット本体などのモデル化対象(物体)をモデルに置き換える際には、関節の可動軸数など(機構の自由度)を考慮してモデル化対象を複数個の領域にあらかじめ分割する。そして、干渉チェック装置は、それぞれの領域がプリミティブと呼ばれる簡単な幾何モデル(球体・円筒体・直方体・多面体など)によって包含されるようにモデルを配置する。さらに、干渉チェック装置は、それぞれのプリミティブ間の最短距離を計算し、最短距離が0あるいは予め設定した所定距離より小さくなる場合に、「干渉が発生する」と判定し、停止指令を出力し停止動作を開始していた。
ここで、モデル化対象の具体的なモデルの生成方法について述べる。モデル化には、「モデル化する対象よりもモデルの方が大きい状態で、対象を包含していること」が必要となる。対象の包含について、仮に、過剰に余裕をもって包含してしまい、モデル設定が大きすぎる場合には、対象同士は干渉の可能性が無いのにもかかわらず「干渉をしている」と誤判定を発生させる要因になる。このため、モデル化する場合には、対象全体をいかに効率良く余剰領域が小さいモデルを使って包含するかということが重要となる。
干渉チェック用のモデルとして、単位判定計算コストが有利な球体を用いる方式が古くから用いられている。このような、球体同士の判定を利用する場合でも、存在する全てのモデル同士を判定すると、モデル数の組み合わせ分だけ計算処理コストが増大してしまう。計算処理の効率を上げるために、常に全てのモデル同士を判定するのではなく、干渉する可能性のある部位のみ詳細に判定する方法が提案されている。
この方法では、例えば、ロボットに対して半径を大きくし少数のモデルで粗くモデル化したモデルと、半径を小さくし多数のモデルで詳細にモデル化したモデルと、が階層的に用意される。そして、まず粗いモデル同士を判定させ、干渉している可能性があれば、詳細なモデルでも判定を行うという方法を取ることで、精度良く計算処理コストを減らしている(例えば、特許文献1参照)。
ロボットなどのオフラインあるいはオンラインでの干渉チェックを必要とする現場においては、このように精度良くモデル化されたモデルを使って干渉チェックすることが望まれている。
特許第3612781号公報
しかしながら、上記従来の技術では、全てのモデル同士を判定することは避けられる一方で、モデル同士が接近状態にある場合には、判定の必要なモデル数は結局多くなることになる。この結果、単位あたりの計算コストが小さい球体を利用して詳細なモデル化を行う場合には、大きな計算コストが発生しうるという問題点があった。
また、単一の種類のプリミティブをモデルに適用する場合にも、モデル数をN個から1個増やすことで、包含する体積の余剰分が増加する場合がある。さらに、この場合、モデルの包含余剰分にほとんど変化がないにもかかわらず、判定のための計算処理コストが増加してしまうこともある。
このため、常に安定した計算処理コストを実現しつつ、包含体積も小さくするためには、単一のモデルではなく、形状に有効な包含モデルを選択する必要がある。また、計算処理コストに上限があるような場合には、トータル計算処理コストが上限よりも大きくならないかを考慮しなくてはならない。
たとえば、包含するモデルとして球体以外の円筒体を用いることで、1モデル単位あたりの干渉チェック処理時間は増加するものの、球体よりも少ないモデル数でモデル化対象を包含できる。このため、トータルで効率的なモデル選定・配置を検討することが望まれる。ところが、現実には、モデルの追加をする作業は、干渉チェック装置を搭載したロボットのユーザが行うことになり、ユーザの調整で上記要件を考慮したモデル配置を実施することは困難であった。
本発明は、上記に鑑みてなされたものであって、制限された計算コスト内でモデルの包含体積を最小にしたモデルを容易に生成することができる干渉チェック装置を得ることを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、干渉チェック装置が、干渉チェックの対象であるモデル化対象に設定する幾何的モデルの上限数が、入力されるモデル数上限入力部と、前記モデル化対象を包含できる直方体が、干渉チェック用のモデルとして前記モデル化対象に設定されると、単位距離計算あたりの計算コストが前記直方体よりも小さい新たな幾何的モデルを前記モデル上限数以下の数だけ用いて、前記直方体を前記新たな幾何的モデルに置き換えることによって、前記モデル化対象をモデル化するモデル化処理部と、前記新たな幾何的モデルを用いたモデルを、モデル候補として記憶しておくモデル候補記憶部と、前記モデル化対象を制御するコントローラが行う各処理に要する演算処理量に関する情報に基づいて、干渉チェックを行う際の計算処理演算量の上限である演算上限量を設定する演算量上限設定部と、前記モデル候補の中から、前記演算上限量以下で前記干渉チェックの計算処理を実行できるモデル候補を抽出するとともに、抽出したモデル候補の中からモデルの包含体積が最も小さいモデル候補を前記モデル化対象のモデルに決定する体積モデル決定部と、前記体積モデル決定部によって決定されたモデルを用いてモデル同士の干渉チェックを行うとともに、干渉する可能性があれば動作停止指令を出力し、干渉する可能性がなければ動作継続指令を出力する干渉チェック部と、を備えることを特徴とする。
本発明によれば、制限された計算コスト内でモデルの包含体積を最小にしたモデルを容易に生成することが可能になるという効果を奏する。
図1は、実施の形態1に係る干渉チェック装置を備えた干渉チェックシステムの構成を示す図である。 図2は、実施の形態1に係る干渉チェック装置の構成を示すブロック図である。 図3は、球体モデル判定を行う際の単位距離計算あたりの計算コストを説明するための図である。 図4は、単位距離計算の他の対象例を示す図である。 図5は、モデル化処理を説明するための図である。 図6は、モデル上限数を1つとした場合のモデル例を示す図である。 図7は、モデル上限数を2つとした場合のモデル例を示す図である。 図8は、モデル数と余剰包含体積比との関係を示す図である。 図9は、干渉チェックシステムの他の構成例を示す図である。 図10は、実施の形態2に係る干渉チェック装置の構成を示すブロック図である。 図11は、CAD/CAMシステムを用いた、アセンブリごとの分割処理を説明するための図である。 図12は、実施の形態3に係る干渉チェック装置の構成を示すブロック図である。 図13は、干渉チェック装置のハードウェア構成を示す図である。 図14は、実施の形態4に係る干渉チェック装置の構成を示すブロック図である。
以下に、本発明の実施の形態に係る干渉チェック装置を図面に基づいて詳細に説明する。なお、これらの実施の形態によりこの発明が限定されるものではない。
実施の形態1.
図1は、実施の形態1に係る干渉チェック装置を備えた干渉チェックシステムの構成を示す図である。干渉チェックシステム100Aは、ロボット生産システムと、ロボット生産システムの機器間を接続する通信機器3と、ロボット生産システムが備える各コントローラの設定を変更するコンピュータ9と、を含んで構成されるシステムである。なお、干渉チェックシステム100Aは、通信機器3の代わりに、通信機能と、各機器に指令値や信号を送る機能とを備えたPLC(プログラマブル・ロジック・コントローラ)などの制御装置を備えていてもよい。
通信機器3は、Ethernet(登録商標)などを用いて、干渉チェックシステム100A内の通信を行う。具体的には、通信機器3は、ロボットコントローラ2、周辺機器コントローラ4およびコンピュータ9と通信を行う。
コンピュータ9は、PC(Personal computer)などの情報処理を行う機器である。コンピュータ9は、各コントローラ(ロボットコントローラ2や周辺機器コントローラ4など)の設定を、通信機器3を介して変更する。なお、コンピュータ9以外にも、各コントローラに対して直接設定を変更するデバイスがある場合、これらのデバイスを干渉チェックシステム100Aの構成に含めてもよい。
ロボット生産システムは、ロボット10と、ハンド装置6と、ビジョンセンサ7と、周辺機器5と、周辺機器コントローラ4と、ロボットコントローラ(ロボット制御装置)2と、を含んで構成されている。
ロボット10は、ロボットコントローラ2に接続されており、ロボットコントローラ2からの指示に従って動作する。また、ロボット10は、ロボットコントローラ2からの指示に従ってハンド装置6などを動作させる。
ハンド装置6は、ロボット10によって動作させられる装置である。ハンド装置6は、周辺機器5などに衝突しないように移動する。ビジョンセンサ7は、ハンド装置6や周辺機器5などの近傍を撮像する画像センサである。ビジョンセンサ7は、たとえば、ハンド装置6の近傍に配置されており、ハンド装置6と一緒に移動する。ビジョンセンサ7は、周辺機器5などに衝突しないように移動する。
周辺機器コントローラ4は、周辺機器5に接続されており、コンピュータ9からの指示に従って、周辺機器5を制御する。周辺機器5は、ロボット10の周辺に配置される機器である。周辺機器5は、周辺機器コントローラ4に接続されており、周辺機器コントローラ4からの指示に従って動作する。
ロボットコントローラ2は、ロボット10、ハンド装置6、ビジョンセンサ7に接続されており、コンピュータ9からの指示に従って、ロボット10、ハンド装置6、ビジョンセンサ7を制御する。
また、ロボットコントローラ2は、干渉チェック装置1Xを有している。干渉チェック装置1Xは、干渉チェック処理(衝突予想)を実施する装置であり、ハンド装置6と周辺機器5との衝突の可能性や、ビジョンセンサ7と周辺機器5との衝突の可能性を、実際に衝突が発生する前にチェックする。干渉チェック装置1Xは、衝突する可能性がある場合には、ロボット10またはハンド装置6に衝突を回避させるための指令値(停止または動作軌道を修正する指令値)を出す。なお、干渉チェック装置1Xは、周辺機器5に衝突を回避させるための指令値を出してもよい。
なお、干渉チェックシステム100Aは、1つのロボットコントローラ2を備えていてもよいし、複数のロボットコントローラ2を備えていてもよい。また、干渉チェックシステム100Aは、1つの周辺機器コントローラ4を備えていてもよいし、複数の周辺機器コントローラ4を備えていてもよい。また、ロボット生産システムは、ビジョンセンサ7を備えていなくてもよい。
本実施の形態の干渉チェック装置1Xは、干渉チェック対象(ロボット10、ハンド装置6、ビジョンセンサ7、周辺機器5)をそれぞれモデル化して、干渉の可能性があれば停止信号を出し、干渉を生ずることなく安全に干渉チェック対象を停止させる。なお、干渉チェック装置1Xはアルゴリズム自体をロボットコントローラ2以外に適用することも可能であるので、ロボットコントローラ2以外の演算処理装置を用いて干渉チェック装置を構成してもよい。例えば、干渉チェック装置1Xは、周辺機器コントローラ4内に配置しておいてもよい。
ここで、本実施の形態において行われる干渉チェック処理について説明する。本実施の形態では、ロボット10の可動範囲によって形成される、ロボット10が通過しうる空間を動作領域と表現する。2台以上のロボット10同士で動作領域が交差する場合はロボット10同士の衝突の可能性が出てくる。このようなロボット10同士の衝突を表す表現として、ある時刻にロボット10の占めている空間同士が交差している状態に干渉という表現を用いる。
また、ロボット10を複数のモデルで表現したとき、各モデルが占める領域を干渉判定領域と呼び、干渉判定領域同士が交差する状態にも干渉という表現を用いる。また、このような干渉が生じるか否かを確認することを干渉チェックと呼ぶ。干渉チェックを行うためには、各ロボット10を複数の球体、円筒体、直方体などを用いてモデル化しておくことが必要である。
例えば、ロボットハンドをユーザが設計して生産システムに適用する場合には、干渉チェックを行う前に、ロボットハンドを球体などのモデルでモデル化し、モデルのタイプ(球体・円筒体・直方体)、モデルの寸法、モデルの配置(どの物体に拘束されるのか)などを予め全て設定しておく。
ロボット10本体については、出荷時に既にロボットメーカー側で設定されているモデルの値を適用することが可能であるが、ユーザ側で設計・選定されるハンド装置6、ビジョンセンサ7および周辺機器5については、ユーザ側で新規に設定することとなる。
このため、ユーザは実際に演算に適用するモデルを1つ1つ試行錯誤しながら、モデルサイズやモデル位置を決定する必要がある。このようなモデル条件の設定には、2つの制約を考慮しながら設定する必要がある。
1つ目の制約は、ロボットコントローラ2間の通信速度上あるいは記憶領域の記憶許容量の制約から自モデルとして管理可能なモデル数に上限があることである。2つ目の制約は、処理可能なモデル数に上限があることである。この2つ目の制約は、ロボットコントローラ2の演算処理装置が通常複数のタスクを処理しているので、計算リソースを干渉チェック処理のためだけに大きく取ることができないことに起因している。
これらを考慮しつつ包含するモデルのタイプの体積をなるべく小さくしながら計算処理量が他の演算処理(例えば、軌道計算や加減速指令生成など)に影響がない程度にモデルを設定することは従来困難であった。
本実施の形態に係る干渉チェック装置1Xは、モデル化したい領域の外形が直方体で指定されると、計算処理量として他の演算処理に影響を及ぼさないモデル候補の中で包含体積が最小のものを自動抽出する。
次に、干渉チェック装置1Xの構成について説明する。図2は、実施の形態1に係る干渉チェック装置の構成を示すブロック図である。ここでは、干渉チェック装置1Xの一例である干渉チェック装置1Aの構成について説明する。
干渉チェック装置1Aは、直方体設定入力部11と、モデル数上限入力部12と、包含体積比較部13と、モデル化処理部14と、モデル候補記憶部17と、処理演算量上限設定部16と、最小包含体積モデル決定部18Aと、設定後モデル記憶部19と、ロボット制御装置設定記憶部15と、干渉チェック部20と、駆動制御部21と、を備えている。
直方体設定入力部11は、ハンド装置6やビジョンセンサ7などのモデル化対象を直方体に置き換えるための指示(モデル化指示101)を入力するインタフェースである。モデル化指示101は、ユーザがマウスやキーボードなどを用いることによって直方体設定入力部11に入力される。
直方体設定入力部11に入力されるモデル化指示101には、例えば、直方体寸法や拘束条件などが含まれている。直方体寸法は、例えば、直方体の3辺の長さである、L[mm]、a[mm]、b[mm](L≧a≧b)である。また、拘束条件は、モデルが拘束される位置および姿勢である。
拘束条件は、例えば、ロボット10における、フランジ位置などの取り付けの基準となる位置、取り付けの基準となる位置からモデルの取り付け位置までのオフセット量(X,Y,Z,A,B,C)などが指定された情報である。ここでのAは、X軸周りの回転量、Bは、Y軸周りの回転量、Cは、Z軸周りの回転量を表している。
なお、それぞれの回転量やオフセット量については、指定した座標系に基づいて定義することとなる。また、前記座標系については、予めロボット軸ごとに定義されており、例えばベース座標系、1軸目座標系、2軸目座標系、3軸目座標系、4軸目座標系、5軸目座標系、6軸目座標系、フランジ位置座標系、という形で定義されているものとする。直方体設定入力部11は、モデル化指示101を包含体積比較部13およびモデル化処理部14に送る。
モデル数上限入力部12は、モデル数の上限値であるモデル上限数102を入力するインタフェースである。モデル上限数102は、ユーザがマウスやキーボードなどを用いることによってモデル数上限入力部12に入力される。モデル上限数102は、モデル化対象に設定するモデルの上限許容数である。モデル上限数102は、1以上の整数であり、上限はない。モデル数上限入力部12は、モデル上限数102を、モデル化処理部14に送る。
モデル化対象を直方体で指定するのは、FA(Factory Automation)における各種の形状は方形で簡単に包含できるものが多く、設定が容易であるからである。方形を用いたモデル間距離および衝突判定の計算コストは、情報処理量が多いので、リアルタイム計算に用いることは困難である。このため、干渉チェック装置1Aのモデル化処理部14は、直方体モデルを球体や円筒体(円柱)などの単位計算コストが低く、リアルタイム計算で情報処理が可能なモデルに置き換える。
モデル化処理部14は、ユーザからの指示であるモデル化指示101に基づいて、モデル化対象を球体や円筒体などのモデルに置き換えることにより、モデル化処理を実行する。モデル化処理部14は、モデル化対象を、単位距離計算あたりの計算コストが直方体よりも小さい新たな幾何的モデル(球体モデル、円筒体モデルなど)に置き換えてモデル化する。モデル化処理部14は、複数種類の幾何的モデル品種の各品種に対して、ユーザに指定された幾何的モデル数の上限(モデル数N)(モデル上限数102)以下のモデルを使ってモデルを生成する。
ここで、「単位距離計算あたりの計算コスト」について具体的な事例を用いて示す。この処理は、「距離計算」の1回分に関する計算コストを示している。図3は、球体モデル判定を行う際の単位距離計算あたりの計算コストを説明するための図である。例えば、図3に示すように、球と球との判定(球体モデル判定)であれば「点と点との距離計算」が1回分の計算コストになる。あるモデルiの中心点をP1、別のモデルjの中心点をP2とし、P1=(X1,Y1,Z1)、P2=(X2,Y2,Z2)とすると、P1,P2間の距離Lijは下記の数式で求めることができる。
ij=|P1−P2|=√((X1−X2)^2+(Y1−Y2)^2+(Z1−Z2)^2)
図4は、単位距離計算の他の対象例を示す図である。単位距離計算の対象としては、図4の(a)に示す円筒301(線分から一定距離で定義される包体、両端は半球形状)、図4の(b)に示す円柱302、図4の(c)、(d)に示す有限平面(三角形303B、四角形303Aなどの多角形)が考えられる。また、単位距離計算の対象としては、錐体(円すい、図4の(d)に示す三角錐305など)、多面体(4面体、図4の(c)に示す6面体304、8面体・・・)、図4の(e)、(f)に示す包体306A,306B(曲線から一定距離の曲面で包含された閉領域)が考えられる。
図5は、モデル化処理を説明するための図である。図5では、ハンド装置6の一部であるロボットハンド30を、ユーザが設計して生産システムに適用する場合の、モデル化処理を示している。モデル化処理部14は、モデル化指示101に基づいて、ロボットハンド30を所定のモデルでモデル化するとともに、ロボット10の手先側に拘束されている拘束条件をモデルに設定する。図5では、球体モデル31、円筒体モデル32、直方体モデル33でモデル化した場合の、各モデル図を示している。
モデル化処理部14は、干渉チェックを行う前に、モデル化指示101に基づいて、モデルのタイプ(球体・円筒体・直方体など)、モデルの寸法、モデルの配置(どの物体に拘束されるのか)を設定しておく。モデル化処理部14は、モデル化指示101で指定されている、モデルのタイプ、モデルの寸法およびモデルの配置に基づいて、モデル化対象を球体や円筒体などのモデルに置き換える。モデル化処理部14は、球体や円筒体などのモデルに置き換えたモデル化対象(モデル候補)を、モデル情報103としてモデル候補記憶部17に記憶させる。モデル情報103は、モデル候補に関する情報であり、モデル候補自体、各モデルの個数、各モデルのタイプ、各モデルの寸法、各モデルの配置などを含んでいる。モデル化処理部14は、複数のモデル候補を生成し、各モデル候補をモデル候補記憶部17に記憶させる。
包含体積比較部13は、モデル化指示101内の直方体寸法と、モデル情報103と、に基づいて、モデル化対象に対するモデルの余剰包含体積比を算出する。余剰包含体積比は、モデルがモデル化対象に対して余分に包含している体積を、モデル化対象の体積で割った値である。包含体積比較部13は、モデル化対象の体積を、モデル化指示101内の直方体寸法に基づいて算出し、モデルの体積をモデル情報103から算出する。包含体積比較部13は、算出した余剰包含体積比を、モデル化余剰量104としてモデル候補記憶部17に記憶させる。なお、包含体積比較部13は、余剰包含体積比の代わりに、モデルの体積の制限値(許容値)をモデル化余剰量104としてモデル候補記憶部17に記憶させてもよい。モデルの体積の制限値は、モデル化対象の体積に対する比であってもよいし差であってもよい。
モデル候補記憶部17は、モデル情報103、モデル化余剰量104を記憶しておくメモリなどである。モデル候補記憶部17は、モデル情報103とモデル化余剰量104とを対応付けて記憶しておく。
ロボット制御装置設定記憶部15は、各コントローラが実行する各処理に要する演算処理量に関する情報を処理情報105として記憶しておくメモリなどである。処理情報105は、例えば、各コントローラで有効となっているオプション処理機能情報、各処理機能の演算処理時間、1制御周期の演算処理時間などである。
また、ロボット制御装置設定記憶部15は、各ロボットコントローラ2において処理する単位モデル毎の干渉チェック判定時間(各モデル単位に要する演算量)を、モデル単位演算量108として記憶しておく。
処理演算量上限設定部16は、ロボット制御装置設定記憶部15から処理情報105を読み出すとともに、処理情報105に基づいて、ロボットコントローラ2が干渉チェックに使うことができる演算処理時間106(演算上限量)を算出する。処理演算量上限設定部16は、算出した演算処理時間106を最小包含体積モデル決定部18Aに出力する。
設定後モデル記憶部19は、ロボットアーム(ロボット10、ハンド装置6)、ビジョンセンサ7、周辺機器5に設定されている各モデルのタイプ、各モデルの個数、各モデルの寸法および各モデルの配置情報などモデル情報103に含まれる干渉チェック用のモデル配置に必要な情報を記憶している。
新たなモデルを設定する際には、設定後モデル記憶部19の最小包含体積モデル109が、設定後モデル情報110として読み出される。設定後モデル情報110は、ロボットアーム(ロボット10、ハンド装置6)に設定されているモデルの、モデルタイプおよびそのモデル個数の情報などである。また、干渉チェックが行われる際には、設定後モデル記憶部19の最小包含体積モデル109が、そのまま読み出される。
最小包含体積モデル決定部18Aは、モデル情報103とモデル化余剰量104とをモデル候補情報107としてモデル候補記憶部17から読み出す。また、最小包含体積モデル決定部18Aは、ロボット制御装置設定記憶部15からモデル単位演算量108を読み出し、設定後モデル記憶部19から設定後モデル情報110を読み出す。
最小包含体積モデル決定部18Aは、モデル候補の中から処理演算量の閾値制限を満たすモデル候補を抽出する。具体的には、最小包含体積モデル決定部18Aは、設定後モデル情報110およびモデル候補情報107に基づいて、各モデル候補に対して、1回の干渉チェックに必要な計算処理回数を算出する。さらに、最小包含体積モデル決定部18Aは、算出した計算処理回数とモデル単位演算量108と、に基づいて、円筒体と球体との組み合わせ毎に、1回の干渉チェックに要する計算処理時間を算出する。最小包含体積モデル決定部18Aは、この算出処理を、モデルタイプ数×モデル数の数だけ繰り返す。
最小包含体積モデル決定部18Aは、各干渉チェックの計算処理時間と、干渉チェックに使うことのできる演算処理時間106と、を比較する。最小包含体積モデル決定部18Aは、モデル候補の中から、干渉チェックに使うことのできる演算処理時間106よりも小さい計算処理時間で干渉チェックを行なうことができるモデル候補のみを抽出する。最小包含体積モデル決定部18Aは、抽出したモデル候補の中から、モデル化余剰量104が最も小さいモデル候補を選択し、選択したモデル候補を最小包含体積モデル109として設定後モデル記憶部19に記憶させる。このとき、最小包含体積モデル決定部18Aは、1つのモデル化対象に対して古い最小包含体積モデル109が設定後モデル記憶部19内に存在する場合には、新たな最小包含体積モデル109で上書きする。
干渉チェック部20は、設定後モデル記憶部19が記憶している最小包含体積モデル109を用いて、干渉チェックを実行する。このとき、干渉チェック部20は、最小包含体積モデル109に設定されているモデル寸法およびモデル位置拘束条件111を用いて、干渉チェックを実行する。モデル位置拘束条件111は、モデルが拘束される位置および姿勢に関する条件であり、モデル化指示101に含まれているものである。
干渉チェック部20は、干渉する可能性があると判断した場合には、動作停止指令を駆動制御部21に出力する。干渉チェック部20は、干渉する可能性がないと判断した場合には、動作継続指令を駆動制御部21に出力する。干渉チェック部20は、動作停止指令や動作継続指令を、動作変更指令値112として駆動制御部21に出力する。駆動制御部21は、ロボット10やハンド装置6に対して、動作変更指令値112に応じた駆動制御を行う。
次に、干渉チェック装置1Aによる干渉チェック処理の処理手順について説明する。直方体設定入力部11へは、予めユーザによってモデル化指示101が入力される。直方体設定入力部11は、モデル化指示101を包含体積比較部13およびモデル化処理部14に送る。また、モデル数上限入力部12へは、予めユーザによってモデル上限数102が入力される。モデル数上限入力部12は、モデル上限数102を、モデル化処理部14に送る。
モデル化処理部14は、モデル化指示101に従って、モデル化処理を実行する際に用いるモデル情報103(各モデルの個数、各モデルのタイプ、各モデルの寸法、各モデルの配置)をモデル候補記憶部17に記憶させておく。モデル化処理部14は、モデル情報103を、包含体積比較部13に送る。
また、モデル化処理部14は、モデル化指示101およびモデル上限数102に基づいて、モデル化対象を直方体から球体や円筒体などのモデルに置き換える。これにより、モデル化処理部14は、モデル化対象にモデル化処理を実行し、複数のモデル候補を生成する。モデル化処理部14は、モデル候補を、モデル情報103内に入れて、モデル候補記憶部17に記憶させる。
ここで、モデル数と余剰包含体積比について説明する。一般的には、モデルの数を増やすほどモデルが包含する誤差量(モデルとモデル化対象との間の誤差量)が低減する。なお、誤差量は、単純に低減するわけではない。図6は、モデル上限数を1つとした場合のモデル例を示す図であり、図7は、モデル上限数を2つとした場合のモデル例を示す図である。
図6では、1つのモデルを使用可能という制限で、直方体形状(細長く薄い物体)50を球体でモデル化した場合のモデル51と、直方体形状50を円筒体でモデル化した場合のモデル60,61とを示している。ここでの円筒体は、球体を掃引した形状であり、包含方向は長手方向が長い順に2パターンある。図6では、直方体形状50の長手方向と長手方向が同じ円筒体でモデル化した場合のモデルをモデル61で示し、直方体形状50の長手方向と長手方向が垂直な円筒体でモデル化した場合のモデルをモデル60で示している。
モデル上限数を1つとした場合に、直方体形状50を球体でモデル化する際には、球体を用いたモデルが最小体積となるようにモデル化されるので、モデル51が設定される。また、モデル上限数を1つとした場合に、直方体形状50を円筒体でモデル化する際には、円筒体を用いたモデルが最小体積となるようにモデル化されるので、モデル61が設定される。
図7では、2つまでのモデルを使用可能という制限で、直方体形状50を球体でモデル化した場合のモデル52A,52Bと、直方体形状50を円筒体でモデル化した場合のモデル62A,62Bおよびモデル63A,63Bと、を示している。なお、モデル上限数を2つとした場合、1つの球体または1つの円筒体で直方体形状50をモデル化してもよいが、図6と同様のモデルになるので、図7では、図示省略している。
図7では、直方体形状50の長手方向と長手方向が同じ円筒体でモデル化した場合のモデルをモデル63A,63Bで示し、直方体形状50の長手方向と長手方向が垂直な円筒体でモデル化した場合のモデルをモデル62A,62Bで示している。
モデル上限数を2つとした場合に、直方体形状50を球体でモデル化する際には、球体を用いたモデルが最小体積となるようにモデル化されるので、モデル52A,52Bが設定される。また、モデル上限数を2つとした場合に、直方体形状50を円筒体でモデル化する際には、円筒体を用いたモデルが最小体積となるようにモデル化されるので、モデル63A,63Bが設定される。
図6や図7に示すように、円筒体モデルを用いてモデル化すると、モデル化(包含体積)の無駄が少ないことが分かる。このことは、人間の試行錯誤によって推測できるが、球体と球体との間の干渉チェック、円筒体と円筒体との間の干渉チェックに必要な計算量は、球体の場合よりも数倍大きくなる。このため、モデル構成によっては計算量が大きくなりすぎることで、ロボットコントローラ2の処理全体に占める干渉チェック処理の処理量が大きくなりすぎることがある。
図8は、モデル数と余剰包含体積比との関係を示す図である。図8では、球体モデル(sphere)を用いた場合の、モデル数と余剰包含体積比との関係を、関係71で示している。また、円筒体モデル(cylinder)を用いた場合の、モデル数と余剰包含体積比との関係を、関係72,73で示している。関係72は、円筒体モデルにおける長手方向をLとした場合の関係であり、関係73は、長手方向をaとした場合の関係である。
図8における横軸が、モデル個数であり、縦軸が余剰包含体積比である。ここでの余剰包含体積比は、直方体(モデル化対象)のモデルをちょうど包み込んだ場合を0とし、直方体のモデルを余分に包含している体積を、直方体のモデルの体積で割った量を示したものである。換言すると、余剰包含体積比は、余剰包含している量を表す比率である。
図8に示すように、使用可能なモデル数がある程度大きい場合にモデル数を単純に増やしたような配置をすると、モデル数を増やすことで包含の余剰量が増えることがわかっている。
このような状況に対して、モデル化処理部14は、予めユーザが指定した2つの情報(モデル化指示101およびモデル上限数102)を用いて、モデルタイプ数M×モデル数Nだけ、モデル化処理を実行する。なお、ここでのN,Mは自然数である。また、モデル数Nは、モデル上限数102で決められるものである。また、モデルタイプが「球体」、「円筒体」および「球体と円筒体」の場合、モデルタイプ数M=3である。つまり、モデルタイプ数とは、使用するモデル数とモデルタイプとから計算できる全ての組み合わせの数である。この場合、モデル化処理部14は、球体モデルを適用した場合について、N回のモデル化処理を実行し、円筒体モデルを適用した場合にN回のモデル化処理を実行し、球体および円筒体を適用した場合にN回のモデル化処理を実行する。これにより、モデル化処理部14は、M×N回のモデル化処理を実行する。
モデル化処理部14は、モデルタイプ毎のモデル化処理において、モデル数上限入力部12から得られる上限数をNとして、まずモデル自体をk個(k=1〜N)の直方体に分割する処理を実施する。k分割の方法については、モデルタイプごとに異なる。これについては、それぞれのモデルタイプ別のモデル化ルールについて一例を以下に説明する。
モデルタイプに球体を用いる場合は、与えられたモデル化指示101に対して、できるだけ立方体に近い直方体に分割することで、効率の良い包含ができる。このため、分割の目標は、なるべく立方体に近いものを多く作るというルールとなる。球体モデルの場合、分割後の第ki番目(i=1...,N)の直方体の端点P1ki,P2ki,P3ki,P4ki,P5ki,P6ki,P7ki,P8kiを用いて、中心位置Pcnt_kiを以下の式(1)で求めることができ、半径Rを以下の式(2)で求めることができる。なお、norm(*)は、*のベクトルのノルムを計算する関数である。
Pcnt_ki=(P1ki+P2ki+P3ki+P4ki+P5ki+P6ki+P7ki+P8ki)/8・・・(1)
R=norm(Pcnt_ki−P1ki)・・・(2)
球体の場合については、使用可能なモデル数k(k=1〜N)の条件下で、指定されたモデルタイプのモデル(球体あるいは円筒体)で最小包含体積を実現する配置が自動的に計算される。配置の方法としては、モデル化指示101で与えられる直方体を以下に示す指定した方向に指定した分割回数だけ分割し、分割された直方体に対して最小包含可能な球体が定義される。
以下、前述の直方体の3辺の長さである、L[mm]、a[mm]、b[mm](L≧a≧b)を用いて説明する。分割方向および分割数については、L[mm]の定義方向の分割数がk_L[回]、a[mm]の定義方向の分割数がk_a[回]、b[mm]の定義方向の分割数がk_b[回]と定義され、それぞれ、k_L=0、k_a=0、k_b=0から開始する。まず、k_Lを増加させていき、後述の手順に従いk_Lが所定の条件を満たす場合にはk_aを増加させ、同様にk_aが所定の条件を満たす場合にはk_bを増加させる手順で分割を実施する。k_L、k_a、k_bはそれぞれの方向の分割数が増加するたびに1増加する。そして、モデル化指示101で与えられる直方体分割数をk_tot=k_L+k_a+k_bで定義して、分割後の直方体の数(k_tot+1)が、使用可能なモデル数kに達するまで、モデル化指示101で与えられる直方体を分割する。
なお、各方向の分割にあたっては、1回の分割では、1つの直方体を2つの直方体に分割するという手順で実施する。また、後述のように使用可能なモデル数kが決定されると、モデル化処理部14は、モデル化処理において、k_totがkに達するまで所定の分割処理を行う。これにより、k_totがkに達し、分割された直方体が一意に決定されることとなる。
この場合の最小包含球体は、式(2)で表されるように分割された直方体の対角線を直径とする球体となる。以下、モデル化処理部14におけるモデル化処理の所定の分割処理について説明する。まず、k_L分割した場合に、以下の条件(式(3))が成立しているか否かが確認される。成立していれば、引き続きk_Lが1つ増加して分割処理が実施される。
L/(k_L+1)≧a・・・(3)
式(3)が成立していない場合、分割する長手方向がa[mm]の定義方向に変更されて分割される。なお、分割方向を変更する場合は、L/(k_L+1)<aが成立する初めのk_Lをk_L0とし、今回のkとの差を差Δk=k−(k_L0+1)とする。そして、Δk>0である場合に、以下の条件(式(4))が成立しているか否かが確認される。
a≧L/(k_L0+1)・・・(4)
式(4)の条件が成立している場合、長手方向をa[mm]の定義方向とした2分割が実施される。なお、分割方法については、(k_L0+1)≧Δkである場合は、(k_L0+1)個の直方体のうちΔk個だけ、長手方向aの方向に2分割を実施して分割完了となる。分割対象とするものは例えば手先に近い側からモデル化する。(k_L0+1)<Δkである場合は、k0回分だけ長手方向aの方向に直方体を2分割する処理が実施された後に、次の条件(式(5))が成立しているか否かが確認される。
L/(k_L0+1)≧a/2・・・(5)
式(5)が成立する場合は、分割方向が変更され、長手方向L[mm]の定義方向がk_L0+1分割される。式(5)が成立しない場合は、長手方向a[mm]の定義方向の分割が継続される。式(5)までの処理をb方向の分割もあわせて一般化するために、それぞれの条件として各辺L,a,bを現在の各軸方向に対して分割する回数をk_Ln[回]、k_an[回]、k_bn[回](ただし、n=0,1,2,…)とするとき、k_L0の定義のように、各段階において別の長手方向が生じた際の各軸方向(L方向、a方向、b方向)で見た場合の最大の分割数をk_Ln、k_an、k_bnとして定義する。これらは、それぞれ各段階において定義され、長さ、L/k_Ln、a/k_an、b/k_bnが各方向の分割数k_L、k_a、k_bが増える毎に比較される。この場合において、まずLが分割され、以下の式(6)が成立した時点で分割方向がaに切り替えられる。そして、以下に示す式(7)が成立した時点で、以下の式(8)が成立しているか否かが確認される。
L/(k_Ln+1)<a/(k_an+1)・・・(6)
L/(k_Ln+1)≧a/(k_an+1)・・・(7)
L/(k_Ln+1)<a/(k_bn+1)・・・(8)
式(8)が成立している場合は、b方向の分割数が1増やされる。一方で、式(8)が成立しない場合は、再びLの分割数が1増やされる。なお、分割数が増やされる場合には、k_tot=k_L+k_a+k_bがk−1に達した場合には、そこで分割が終了され、球体モデルが式(1)、式(2)に従って定義される。この処理を通してk=1〜Nのそれぞれの場合に対して、分割したことによって定義される直方体とそれに対応する球体モデルの位置および寸法を得る。
モデルタイプに円筒体が用いられる場合は、正方形を端面にもつ長い形状の物体が生成されることで、効率的な包含が実現できる。このため、L方向の分割は実行されず、a方向あるいはb方向の分割が実行され、できるだけ分割後のL方向に垂直な断面が正方形に近づくように分割が続けられる。分割完了時の円筒体の求め方は、分割後の第ki番目(i=1,...,N)の直方体の端点P1ki,P2ki,P3ki,P4ki,P5ki,P6ki,P7ki,P8kiを用いて求められる。具体的には、中心位置(基準点)Pcnt_kiは、以下の式(9)で求められ、モデルの長さL、半径Rは、以下の式(10)で求められる。
L方向に垂直な面に沿った点で拘束する座標系の中心位置Pcnt_kiに近い方を、P1ki,P2ki,P3ki,P4kiとし、遠い方をP5ki,P6ki,P7ki,P8kiとすると、以下の式(9)および式(10)が成立する。
Pcnt_ki=(P1ki+P2ki+P3ki+P4ki)/4・・・(9)
R=norm(Pcnt_ki−P1ki)・・・(10)
なお、実際のk回の分割のルールについては、a,b方向しか分割しないという条件以外は、球体方向と同様のルールで分割が続けられる。そして、分割が完了した時点で分割完了となり、式(9)および式(10)に基づいて、各直方体をモデル化する円筒体が求められる。
次に、モデルタイプに球体と円筒体を混合した場合のモデル化について説明する。分割方法については、球体と同様の分割方法で分割が実行される。分割の結果として、モデルタイプを分割後のk個(k=1〜N)のモデルに割り当てるルールのみが球体モデルの場合と異なる。基本的な方法として、各直方体に対して、球体と円筒体とをそれぞれ割り当てた後に、余剰体積比が最も小さいモデルを採用する方法が実行される。以上の処理を経る事で、最終的にM×N個のモデル候補が算出される。
次に、このM×N個のモデル候補に対して、包含体積比較部13は、それぞれのモデル候補のk個のモデル位置およびモデル寸法と、各ユーザが設定した直方体の寸法と、に基づいて、モデル化余剰量104を算出する。
具体的には、包含体積比較部13は、モデル情報103内からモデル候補のモデル位置およびモデル寸法を抽出するとともに、モデル化指示101内から直方体(モデル化対象)の寸法を抽出する。そして、包含体積比較部13は、モデル位置およびモデル寸法からモデル候補の体積を算出し、モデル化対象の寸法からモデル化対象の体積を算出する。さらに、包含体積比較部13は、モデル化対象の体積を基準として、モデル候補の体積に関するモデル化余剰量104(余剰包含体積比)を算出する。なお、モデル化余剰量としては、余剰包含体積比以外の値を定義してもよい。
ここで、余剰包含体積比の算出方法について説明する。余剰包含体積比をWst、ユーザが定義した直方体の体積をVblock[mm^3]、分割後のモデルの体積の総和をVmdl[mm^3]、Vmdlの中でユーザが定義した直方体と重複しない空間分の体積をVwst[mm^3]、分割後のモデル同士が重複している領域の体積をVovrp[mm^3]とすると、WstとVwstは、それぞれ以下の式(11)と式(12)で定義できる。
Wst=Vwst/Vblock・・・(11)
Vwst=Vmdl−Vovrp−Vblock・・・(12)
換言すると、モデル化による余剰体積は、(余剰体積)=(ユーザが定義した直方体を基にして、球・円筒でモデル化された総体積)−(球・円筒でモデル化された体積のうちの重なり部分の体積)−(ユーザが定義した直方体の体積)によって、算出することができる。
包含体積比較部13は、式(11)および式(12)に基づいて余剰包含体積比を算出し、モデル化余剰量104としてモデル候補記憶部17に記憶させる。なお、モデル化余剰量としては、余剰包含体積比以外にも、ユーザが定義した直方体の面上の点から鉛直方向に向かって伸びる直線と、生成したモデルの領域と、に基づいて算出される値を適用してもよい。この場合、直方体の面上の点から鉛直方向に向かって伸びる直線と、生成したモデルの表面の交点(2点)が導出され、交点間の距離が余剰半径Rwstとして定義され、余剰半径Rwstがモデル化余剰量104として評価される。
モデル候補記憶部17は、M×N個のモデル候補のモデル情報103と、各モデル候補のモデル化余剰量104と、を対応付けて蓄積しておく。M×N個の全てのモデル候補に関する情報がモデル候補記憶部17に蓄積された後、最小包含体積モデル決定部18Aは、モデル情報103(M×N個のモデル候補の、各モデルタイプ、各モデル位置、各モデル寸法およびそれぞれのモデル個数)と、各モデル候補のモデル化余剰量104と、をモデル候補情報107としてモデル候補記憶部17から読み出す。
また、処理演算量上限設定部16は、ロボット制御装置設定記憶部15から、各コントローラで有効となっているオプション処理機能情報、各処理機能の演算処理時間および1制御周期の演算処理時間とを、処理情報105として読み出す。
そして、処理演算量上限設定部16は、処理情報105に基づいて、ロボットコントローラ2が干渉チェックに使うことができる演算処理時間106を算出し、算出結果を最小包含体積モデル決定部18Aに出力する。
最小包含体積モデル決定部18Aは、ロボット制御装置設定記憶部15から、各ロボットコントローラ2において処理する単位モデル毎の干渉チェック判定時間(球体と球体、円筒体と球体、円筒体と円筒体)を、モデル単位演算量108として読み出す。モデル単位演算量108は、各モデル単位の干渉チェックに要する演算量であり、モデル単位毎に設定されている。モデル単位演算量108は、例えば、円筒体と球体との組み合わせ毎(球体と球体、円筒体と球体、円筒体と円筒体)に設定されている。
また、最小包含体積モデル決定部18Aは、設定後モデル記憶部19から、既に設定されているロボットアームに対するモデルタイプおよびそのモデル個数の情報を、設定後モデル情報110として読み出す。
最小包含体積モデル決定部18Aは、設定後モデル情報110と、モデル候補情報107の中のモデルタイプおよびモデル個数と、から1回の干渉チェックに必要な計算処理回数を算出する。最小包含体積モデル決定部18Aは、球体と球体、円筒体と球体、円筒体と円筒体に対し、各計算処理回数をそれぞれ算出する。
さらに、最小包含体積モデル決定部18Aは、算出した計算処理回数とモデル単位演算量108と、に基づいて、円筒体と球体との組み合わせ毎に、1回の干渉チェックに要する計算処理時間を算出する。最小包含体積モデル決定部18Aは、この算出処理を、モデルタイプ数×モデル数(M×N)回繰り返す。
最小包含体積モデル決定部18Aは、M×N個の干渉チェックの計算処理時間と、干渉チェックに使うことのできる演算処理時間106と、を比較する。そして、最小包含体積モデル決定部18Aは、モデル候補の中から、演算処理時間106よりも小さい計算処理時間で干渉チェックを行なうことができるモデル候補のみを抽出する。
そして、最小包含体積モデル決定部18Aは、抽出したモデル候補の中から、モデル化余剰量104が最も小さいモデル候補を選択し、選択したモデル候補を最小包含体積モデル109として設定後モデル記憶部19に記憶させる。なお、最小包含体積モデル決定部18Aは、モデル候補を抽出できなかった場合には、表示装置(図示せず)などに、エラーなどを表示させる。
干渉チェック部20は、設定後モデル記憶部19が記憶している最小包含体積モデル109を用いて、干渉チェックを実行する。具体的には、干渉チェック部20は、最小包含体積モデル109に設定されているモデル寸法およびモデル位置拘束条件111を用いて、干渉チェックを実行する。
干渉チェック部20は、例えば、ロボット10の関節角度に関する情報(ロボット関節角度情報)を用いてモデルの現在位置を更新する。そして、干渉チェック部20は、モデル間の距離が0または所定距離以下になった場合に、ロボット10などを停止させるための動作停止指令を駆動制御部21に出力する。また、干渉チェック部20は、干渉する可能性がない場合は、動作継続指令を駆動制御部21に出力する。これにより、駆動制御部21は、ロボット10やハンド装置6に対して、動作変更指令値112に応じた駆動制御を行う。
なお、干渉チェックシステム100Aの構成は、図1のような構成に限らず、他の構成であってもよい。図9は、干渉チェックシステムの他の構成例を示す図である。干渉チェックシステム100Bは、ロボット生産システムと、コンピュータ9と、を含んで構成されている。そして、干渉チェックシステム100Bのロボット生産システムは、ロボット10と、ハンド装置6と、ロボットコントローラ2と、を含んで構成されている。
このような、干渉チェックシステム100Bに示すような構成であっても、ユーザはロボットコントローラ2にアクセスしてモデル設定を変更することができる。また、干渉チェックシステム100Aにおいて、干渉チェック装置1Aの処理演算量上限設定部16、干渉チェック部20、駆動制御部21などを別装置に配置してもよい。
このように、ユーザがモデル化対象を包含する直方体形状(直方体寸法)およびモデル上限数102を指定すれば、モデル上限数102の範囲内で、計算コストを考慮したうえで最も包含体積が小さいモデルの品種選択を自動的に取得することができる。したがって、モデル化に対する知識が無い作業者でも、ユーザインターフェースを用いて容易に効率の良い干渉チェックを行うことが可能となる。
このように実施の形態1によれば、モデル化指示101およびモデル上限数102に基づいて、モデルを設定するので、制限された計算コスト内でモデルの包含体積を最小にしたモデルを容易に生成することが可能になる。また、複数個のハンド装置6などをモデル化する場合には、許容するモデル上限数102を設定しておくことで、各ハンド装置6にどの程度詳細なモデル化を行うかをユーザが容易に振り分けることが可能となる。
実施の形態2.
次に、図10を用いてこの発明の実施の形態2について説明する。実施の形態2では、干渉チェック装置において、モデル数上限入力部12からモデル上限数102を入力する代わりに、モデル化余剰量104に対する制限値(許容モデル化余剰量113)に基づいて、モデル上限数102を導出する。
図10は、実施の形態2に係る干渉チェック装置の構成を示すブロック図である。ここでは、干渉チェック装置1Xの一例である干渉チェック装置1Bの構成について説明する。図10の各構成要素のうち図2に示す実施の形態1の干渉チェック装置1Aと同一機能を達成する構成要素については同一符号を付しており、重複する説明は省略する。
干渉チェック装置1Bは、直方体設定入力部11と、包含体積比較部13と、モデル化処理部14と、モデル候補記憶部17と、処理演算量上限設定部16と、最小包含体積モデル決定部18Bと、設定後モデル記憶部19と、ロボット制御装置設定記憶部15と、干渉チェック部20と、駆動制御部21と、許容モデル化余剰量入力部23と、を備えている。
許容モデル化余剰量入力部(制限値入力部)23は、モデル化余剰量104に対する制限値(許容モデル化余剰量113)を入力するインタフェースである。許容モデル化余剰量113は、ユーザがマウスやキーボードなどを用いることによって許容モデル化余剰量入力部23に入力される。許容モデル化余剰量入力部23は、許容モデル化余剰量113を最小包含体積モデル決定部18Bに送る。
なお、本実施の形態では、許容モデル化余剰量113を設定しているので、モデル数の上限値(モデル上限数102)は設けなくてもよい。図10では、干渉チェック装置1Bが、モデル数上限入力部12を備えていない場合の構成を示している。
モデル上限数102を設けない場合、最小包含体積モデル決定部18Bは、演算処理時間106、モデル単位演算量108、設定後情報モデル110を用いて、モデル上限数102を導出する。具体的には、最小包含体積モデル決定部18Bは、ロボットアーム間の干渉チェックに必要な判定処理時間Tarm[s]を、既に設定されている設定後モデル情報110およびモデル単位演算量108から求める。そして、最小包含体積モデル決定部18Bは、演算処理時間106からTarmを引き算する。
さらに、最小包含体積モデル決定部18Bは、引き算結果(時間)を満たす上限まで、設定後モデル情報110に加えて増やすことができる球体のモデルの個数を、モデル単位演算量108を用いて求め、その個数を上限のモデル数Nmax(モデル上限数102)として定義する。換言すると、最小包含体積モデル決定部18Bは、引き算結果の上限時間となるまで、設定後情報モデル110に球体モデルの個数を追加していき、引き算結果の上限時間となる、球体モデルの追加数を求める。これにより、干渉チェック装置1Bは、ロボットコントローラ2で処理可能な最大のモデル数Nmaxを算出することが可能となる。
最小包含体積モデル決定部18Bは、導出したモデル上限数102をモデル化処理部14に送る。モデル化処理部14は、実施の形態1と同様の処理によってモデル候補を生成し、モデル情報103としてモデル候補記憶部17に記憶させる。また、包含体積比較部13は、実施の形態1と同様の処理によって、モデル化余剰量104をモデル候補記憶部17に記憶させる。
そして、最小包含体積モデル決定部18Bは、許容モデル化余剰量113とモデル化余剰量104とを比較する。そして、最小包含体積モデル決定部18Bは、M×Nmax個のモデル候補のうち、許容モデル化余剰量113よりも大きいモデル候補を選択肢から除去する。最小包含体積モデル決定部18Bは、全てのモデル候補を除去してしまった場合には、表示装置(図示せず)などに、エラーなどを表示させる。
この後、最小包含体積モデル決定部18Bは、実施の形態1と同様の処理によって、モデル候補の中から、モデル化余剰量104が最も小さいモデル候補を選択し、選択したモデル候補を最小包含体積モデル109として設定後モデル記憶部19に記憶させる。
実施の形態1では、ハンド装置6などをモデル化する場合に、許容するモデル化個数(モデル上限数102)を設定しておくことで、各ハンド装置6にどの程度詳細なモデル化を行うかを決めた。本実施の形態では、モデル化余剰量104に対する制限値として許容モデル化余剰量113を設定しておくことで、各ハンド装置6にどの程度詳細なモデル化を行うかを決めている。
このように実施の形態2によれば、演算処理時間106、モデル単位演算量108を用いて、最大のモデル上限数102を設定し、許容モデル化余剰量113に基づいて、モデル候補を選択している。そして、全てのモデルをモデル化対象に適用する前提でモデル候補を設定し、モデル化余剰量104が最も小さいモデル候補を選択している。このため、ロボットコントローラ2に残っているリソースを、モデルに対して最大限に活用できるとともに、最も小さな包含体積でのモデル化を実現することができる。
実施の形態3.
次に、図11〜図13を用いてこの発明の実施の形態3について説明する。実施の形態3では、ユーザがモデル化処理を実行する際に用いた直方体の生成部(モデル化処理部14の一部)を、3次元CAD(Computer Aided Design)情報を用いることで自動化する。
図11は、CAD/CAMシステムを用いた、アセンブリ(ブロック)ごとの分割処理を説明するための図である。本実施の形態のモデル化処理部14は、CAD/CAM(CAD/CAE)システムを備えている。モデル化処理部14は、予め作成された3次元モデルを複数のアセンブリに分割し、アセンブリごとに直方体モデルに自動的に変換する。図11では、変換前の3次元モデル(モデル化対象)を3次元モデル81で示し、アセンブリごとに直方体モデルに変換した後の3次元モデルを3次元モデル82で示している。
図12は、実施の形態3に係る干渉チェック装置の構成を示すブロック図である。ここでは、干渉チェック装置1Xの一例である干渉チェック装置1Cの構成について説明する。図12の各構成要素のうち図2に示す実施の形態1の干渉チェック装置1Aと同一機能を達成する構成要素については同一符号を付しており、重複する説明は省略する。
干渉チェック装置1Cは、干渉チェック装置1Aの各構成要素に加えて、アセンブリ外形抽出部(変換部)82と、直方体記憶部83と、を備えている。なお、干渉チェック装置1Cは、干渉チェック装置1Bの各構成要素に加えて、アセンブリ外形抽出部82と、直方体記憶部83と、を備える構成としてもよい。
3次元形状データ入力部22は、モデル化対象の3次元形状データ201を入力するインタフェースである。3次元形状データ入力部22は、モデル化対象としての3次元形状データ201をアセンブリ外形抽出部82に送る。アセンブリ外形抽出部82は、種々の寸法の直方体によってモデル化対象を複数のアセンブリに分割し、分割後の各アセンブリ外形を抽出する。アセンブリ外形抽出部82は、各アセンブリ外形(直方体)を直方体記憶部83に記憶させる。直方体記憶部83は、各アセンブリ外形(直方体)を記憶するメモリなどである。本実施の形態のモデル化処理部14は、直方体記憶部83が記憶している各アセンブリ外形を用いて、モデル化対象へのモデル化処理を実行する。
なお、モデル化対象の体積Vcadを取得可能な場合は、干渉チェック装置1Cが、体積Vcadを用いて余剰包含体積比Wstを算出してもよい。例えば、3次元形状データ入力部22に3次元形状データ201が入力されると、3次元形状データ入力部22は、3次元形状データ201を包含体積比較部13に入力する。包含体積比較部13は、余剰包含体積比を計算する際に、ユーザが定義した直方体の体積Vblockの代わりに、3次元形状データ201が保有している又は3次元形状データ201から計算が可能な体積Vcadを用いて、余剰包含体積比Wstを算出する。余剰包含体積比Wstは、以下の式(13)のように表されるので、包含体積比較部13は、式(13)を用いて余剰包含体積比Wstを算出する。
Vwst=Vmdl−Vovrp−Vcad・・・(13)
換言すると、3次元形状データ201の体積Vcadを得ることができる場合には、包含体積比較部13が、(余剰体積)=(ユーザが定義した直方体を元にして、球・円筒でモデル化された総体積)−(球・円筒でモデル化された体積のうちの重なり部分の体積)−(3次元CADで算出される体積)によって、余剰包含体積比Wstを算出することができる。
このように、3次元形状データ入力部22から3次元形状データ201の体積Vcadが入力される場合には、干渉チェック装置1Cが、アセンブリ外形抽出部82、直方体記憶部83を有していなくてもよい。なお、式(13)で表される定義は、3次元形状データ入力部22から3次元形状データ201を利用できる場合に、式(13)で表される定義に切り替えてもよい。また、干渉チェック装置1A,1Bが、3次元形状データ入力部22を備える構成としてもよい。
つぎに、干渉チェック装置1A〜1Cのハードウェア構成について説明する。なお、干渉チェック装置1A〜1Cは、同様の構成を有しているので、ここでは干渉チェック装置1Aの構成について説明する。
図13は、干渉チェック装置のハードウェア構成を示す図である。干渉チェック装置1Aは、CPU(Central Processing Unit)91、ROM(Read Only Memory)92、RAM(Random Access Memory)93、表示部94、入力部95を有している。干渉チェック装置1Aでは、これらのCPU91、ROM92、RAM93、表示部94、入力部95がバスラインBを介して接続されている。
CPU91は、コンピュータプログラムである干渉チェックプログラム90を用いて干渉チェックを行う。表示部94は、液晶モニタなどの表示装置であり、CPU91からの指示に基づいて、モデル化対象、モデル候補、モデルなどを表示する。入力部95は、マウスやキーボードを備えて構成され、使用者から外部入力される指示情報(干渉チェックに必要なパラメータ等)を入力する。入力部95へ入力された指示情報は、CPU91へ送られる。
干渉チェックプログラム90は、ROM92内に格納されており、バスラインBを介してRAM93へロードされる。CPU91はRAM93内にロードされた干渉チェックプログラム90を実行する。具体的には、干渉チェック装置1Aでは、使用者による入力部95からの指示入力に従って、CPU91がROM92内から干渉チェックプログラム90を読み出してRAM93内のプログラム格納領域に展開して各種処理を実行する。CPU91は、この各種処理に際して生じる各種データをRAM93内に形成されるデータ格納領域に一時的に記憶させておく。
干渉チェック装置1Aで実行される干渉チェックプログラム90は、包含体積比較部13、モデル化処理部14、処理演算量上限設定部16、最小包含体積モデル決定部18A、干渉チェック部20、駆動制御部21、を含むモジュール構成となっており、これらが主記憶装置上にロードされ、これらが主記憶装置上に生成される。
このように実施の形態3によれば、ユーザがモデルの寸法を調べることなく、モデル体積の大きさを抑制しつつ、ロボットコントローラ2が許容可能なモデル数以下のモデルを用いて容易に干渉チェックを行うことが可能となる。
実施の形態4.
次に、図14を用いてこの発明の実施の形態4について説明する。実施の形態4では、予め干渉チェック装置の外部装置によってモデル上限数102が演算されたうえで、モデル上限数102が干渉チェック装置内に入力される。すなわち、ユーザが図2に示したモデル数上限入力部12からモデル上限数102を入力するのではなく、外部装置で演算されたモデル上限数102が、干渉チェック装置内に入力される。
モデル上限数102を演算する外部装置は、例えば、ロボットコントローラ2内の干渉チェック装置以外の装置、ロボットコントローラ2と通信可能なPLC内の制御装置、またはコンピュータ9である。コンピュータ9は、例えば、ロボット設定用ソフトウェアを用いてモデル上限数102を演算する。なお、以下では、モデル上限数102を演算する外部装置が、コンピュータ9である場合について説明する。
図14は、実施の形態4に係る干渉チェック装置の構成を示すブロック図である。ここでは、干渉チェック装置1Xの一例である干渉チェック装置1Dの構成について説明する。図14の各構成要素のうち図2に示す実施の形態1の干渉チェック装置1Aと同一機能を達成する構成要素については同一符号を付しており、重複する説明は省略する。
本実施の形態の干渉チェックシステム100Aは、モデル数上限算出装置24を備えている。なお、モデル数上限算出装置24は、干渉チェックシステム100B内に配置してもよい。
モデル数上限算出装置24へは、干渉チェック対象として配置するハンドや周辺機器などの1つの装置単位をオブジェクトとした場合のオブジェクト数202がユーザによって入力される。モデル数上限算出装置24は、図14に示すようにモデル数上限入力部12の前段に配置されている。モデル数上限算出装置24は、オブジェクト数202に基づいて、モデル上限数102を演算する。
本実施の形態では、オブジェクトは、直方体1つで定義され、定義された直方体をオブジェクト1つと数えることとする。例えば、1つのハンドに対して1つの直方体を定義する場合、1つのハンドのオブジェクトは1つである。また、2つのハンドと1つのビジョンセンサとの合計3つの部位のそれぞれに直方体を当てはめる場合、オブジェクトは3つである。
ユーザは、配置予定の装置全てのオブジェクト数202と、各オブジェクトの名称と、をオブジェクト情報として予めモデル数上限算出装置24へ入力しておく。すなわち、各オブジェクト情報は、オブジェクトの全数量と、オブジェクトの付随情報としてオブジェクトに割り当てられているモデル数と、を含んでいる。
モデル数上限算出装置24は、直方体設定入力部11に入力された設定で定義される、直方体を包含するために使えるモデル上限数102を、自動的に演算する。モデル数上限算出装置24は、全モデル数から各オブジェクトに割り当てるモデル数を差し引いたモデル数(モデル上限数102)を算出する処理を実行する。この処理は、ロボットコントローラ2、上述したPLCなどの制御装置またはコンピュータ9などが自動的に演算する。
このモデル上限数102は、今回直方体設定入力部11に入力された直方体を包含するモデルの上限値である。モデル上限数102は、例えば以下のように決定する。モデル数上限算出装置24は、最低1つ以上は各オブジェクトにモデルが割り当てられるような演算を実施する。したがって、初期値は、1つのオブジェクトに対して1つのモデルが割り当てられている状態である。全てのオブジェクトのうち、既に複数のオブジェクトに対して1つ以上のモデルが割り当てられている場合は、その情報を設定後モデル記憶部19から取得しておく。
モデル数上限算出装置24は、予め処理演算量上限設定部16から処理演算量上限106を取得しておき、処理演算量上限106から許容されるモデル数上限を演算しておく。そして、モデル数上限算出装置24は、許容されるモデル数上限からオブジェクトに割り当てられているモデル数の総和を減算し、減算した値から今回適用可能なモデル上限数102を決定する。
ただし、モデル数上限102は、処理演算量の上限と関連しているので、ユーザによって一度設定されたオブジェクト数上限が、オブジェクト数の設定後に変更(増減)される場合、各オブジェクトに割り当て可能なモデル数が変動する。このため、処理演算量の上限を満たす最小包含体積のモデル割り当になっていないことがある。そこで、既にモデル化している物体に対して、モデル数上限102を変化させる処理が必要になる。
このため、オブジェクト数を変化させた場合は、コンピュータ9上のロボット設定用ソフトウェアなどが、再度モデル設定計算を行う。これにより、モデル数上限算出装置24は、各オブジェクトのモデル数上限102を、全体の包含体積が最小になるように再設定する。
また、モデル上限数102は、上記のような枠組みでモデル数上限算出装置24によって決定されているが、ロボットコントローラ2内の他の外部装置などが予め初期値として指定してもよい。換言すると、ユーザがオブジェクト数を指定していなくても、事前設定値(初期値)としてメーカー側が想定したオブジェクト数を設定してもよい。例えば、オブジェクト数は1つのように予め設定しておく。なお、モデル上限数102自体をロボットコントローラ2内の他の外部装置などが予め指定してもよい。この場合、例えば、モデル数は20個のように予め設定しておく。
また図14に示すオブジェクト数202は、3D−CADの取り込み時に自動的に判断してもよい。この場合、例えば、オブジェクトをアセンブリ単位で1つの直方体とみなしたうえで、オブジェクト数が自動的にカウントされる。
このように実施の形態4によれば、モデル数上限算出装置24を用いて、最大のモデル上限数102を設定し、このモデル上限数102に基づいて、モデル候補を選択している。そして、モデル上限数で使用可能な全てのモデルをモデル化対象に適用する前提でモデル候補を設定し、モデル化余剰量104が最も小さいモデル候補を選択している。このため、ロボットコントローラ2に残っているリソースを、モデルに対して最大限に活用できるとともに、最も小さな包含体積でのモデル化を実現することができる。特に、実施の形態1と比べると、個別のモデル上限数102の設定ではなく、全体のオブジェクト数を予め入力している。このため、全てのオブジェクトを考慮したうえで、現在のモデル化対象全体に対してモデル化余剰量104の合計が最も小さい構成を設定することができる。
以上のように、本発明に係る干渉チェック装置は、ロボット同士あるいはロボットと周辺機器との間の干渉チェックに適している。
1X,1A〜1D 干渉チェック装置、2 ロボットコントローラ、5 周辺機器、6 ハンド装置、7 ビジョンセンサ、9 コンピュータ、10 ロボット、11 直方体設定入力部、12 モデル数上限入力部、13 包含体積比較部、14 モデル化処理部、15 ロボット制御装置設定記憶部、16 処理演算量上限設定部、17 モデル候補記憶部、18A,18B 最小包含体積モデル決定部、19 設定後モデル記憶部、20 干渉チェック部、21 駆動制御部、22 3次元形状データ入力部、23 許容モデル化余剰量入力部、24 モデル数上限算出装置、82 アセンブリ外形抽出部、83 直方体記憶部、100A,100B 干渉チェックシステム。

Claims (6)

  1. 干渉チェックの対象であるモデル化対象に設定する幾何的モデルの上限数が、入力されるモデル数上限入力部と、
    前記モデル化対象を包含できる直方体が、干渉チェック用のモデルとして前記モデル化対象に設定されると、単位距離計算あたりの計算コストが前記直方体よりも小さい新たな幾何的モデルを前記モデル上限数以下の数だけ用いて、前記直方体を前記新たな幾何的モデルに置き換えることによって、前記モデル化対象をモデル化するモデル化処理部と、
    前記新たな幾何的モデルを用いたモデルを、モデル候補として記憶しておくモデル候補記憶部と、
    前記モデル化対象を制御するコントローラが行う各処理に要する演算処理量に関する情報に基づいて、干渉チェックを行う際の計算処理演算量の上限である演算上限量を設定する演算量上限設定部と、
    前記モデル候補の中から、前記演算上限量以下で前記干渉チェックの計算処理を実行できるモデル候補を抽出するとともに、抽出したモデル候補の中からモデルの包含体積が最も小さいモデル候補を前記モデル化対象のモデルに決定する体積モデル決定部と、
    前記体積モデル決定部によって決定されたモデルを用いてモデル同士の干渉チェックを行うとともに、干渉する可能性があれば動作停止指令を出力し、干渉する可能性がなければ動作継続指令を出力する干渉チェック部と、
    を備えることを特徴とする干渉チェック装置。
  2. 干渉チェックの対象であるモデル化対象の体積に対して前記モデル化対象に設定するモデルに許容する体積の体積上限値が、入力される制限値入力部と、
    前記モデル化対象を制御するコントローラが行う各処理に要する演算処理量に関する情報に基づいて、干渉チェックを行う際の計算処理演算量の上限である演算上限量を設定する演算量上限設定部と、
    前記コントローラで処理可能な幾何的モデルの上限数であるモデル上限数を、前記演算上限量に基づいて算出するモデル数算出部と、
    前記モデル化対象を包含できる直方体が、干渉チェック用のモデルとして前記モデル化対象に設定されると、単位距離計算あたりの計算コストが前記直方体よりも小さい新たな幾何的モデルを前記モデル上限数以下の数だけ用いて、前記直方体を前記新たな幾何的モデルに置き換えることによって、前記モデル化対象をモデル化するモデル化処理部と、
    前記新たな幾何的モデルを用いたモデルを、モデル候補として記憶しておくモデル候補記憶部と、
    前記モデル候補の中から、前記演算上限量以下で前記干渉チェックの計算処理を実行できるモデル候補を抽出するとともに、抽出したモデル候補の中から前記体積上限値以下のモデルが存在する場合には、前記モデル候補の中からモデルの包含体積が最も小さいモデル候補を前記モデル化対象のモデルに決定する体積モデル決定部と、
    前記体積モデル決定部によって決定されたモデルを用いてモデル同士の干渉チェックを行うとともに、干渉する可能性があれば動作停止指令を出力し、干渉する可能性がなければ動作継続指令を出力する干渉チェック部と、
    を備えることを特徴とする干渉チェック装置。
  3. 前記モデル化対象を包含できる直方体の寸法に関する情報が、入力される直方体設定入力部をさらに備え、
    前記モデル化処理部は、前記直方体の寸法に関する情報に基づいて、前記直方体を前記新たな幾何的モデルに置き換えることを特徴とする請求項1または2に記載の干渉チェック装置。
  4. 前記体積モデル決定部は、前記コントローラが干渉チェックに要する単位モデル毎の計算処理演算量に関する情報に基づいて、前記演算上限量以下で前記干渉チェックの計算処理を実行できるモデル候補を抽出し、抽出したモデル候補の中からモデルの包含体積が最も小さいモデル候補を前記モデル化対象のモデルに決定することを特徴とする請求項1から3のいずれか1つに記載の干渉チェック装置。
  5. 予めCAD/CAMシステムを用いて作成されたモデル化対象としての3次元モデルが入力されると、CAD/CAMシステムを用いて前記3次元モデルを複数のアセンブリに分割し、前記3次元モデルをアセンブリごとに直方体モデルに変換する変換部をさらに備え、
    前記モデル化処理部は、アセンブリごとに直方体モデルに変換された3次元モデルを用いて、前記モデル化対象をモデル化することを特徴とする請求項1から4のいずれか1つに記載の干渉チェック装置。
  6. 前記新たな幾何的モデルは、球体モデルの組み合わせ、円筒体モデルの組み合わせ、および球体モデルと円筒体モデルとの組み合わせ、の何れかであることを特徴とする請求項1から5のいずれか1つに記載の干渉チェック装置。
JP2014560713A 2013-02-06 2014-01-22 干渉チェック装置 Active JP5872077B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014560713A JP5872077B2 (ja) 2013-02-06 2014-01-22 干渉チェック装置

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2013021515 2013-02-06
JP2013021515 2013-02-06
PCT/JP2014/051283 WO2014122995A1 (ja) 2013-02-06 2014-01-22 干渉チェック装置
JP2014560713A JP5872077B2 (ja) 2013-02-06 2014-01-22 干渉チェック装置

Publications (2)

Publication Number Publication Date
JP5872077B2 JP5872077B2 (ja) 2016-03-01
JPWO2014122995A1 true JPWO2014122995A1 (ja) 2017-02-02

Family

ID=51299592

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014560713A Active JP5872077B2 (ja) 2013-02-06 2014-01-22 干渉チェック装置

Country Status (6)

Country Link
US (1) US9550295B2 (ja)
JP (1) JP5872077B2 (ja)
KR (1) KR101781709B1 (ja)
CN (1) CN104969134B (ja)
DE (1) DE112014000700B4 (ja)
WO (1) WO2014122995A1 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3102144B1 (en) * 2014-02-05 2019-09-18 Intuitive Surgical Operations, Inc. System and method for dynamic virtual collision objects
DE102015009048B3 (de) * 2015-07-13 2016-08-18 Kuka Roboter Gmbh Steuern eines nachgiebig geregelten Roboters
WO2017051485A1 (ja) * 2015-09-25 2017-03-30 株式会社牧野フライス製作所 3dモデル生成方法および3dモデルを生成する工作機械
JP6328599B2 (ja) * 2015-11-20 2018-05-23 ファナック株式会社 ロボットの動作可能範囲を算出するロボットの手動送り装置
JP6654926B2 (ja) * 2016-02-24 2020-02-26 本田技研工業株式会社 処理時間の予測方法
DE102016004836B3 (de) * 2016-04-24 2017-05-18 Haddadin Beteiligungs UG (haftungsbeschränkt) Steuerung eines Robotersystems
EP3323565B1 (de) * 2016-11-21 2021-06-30 Siemens Aktiengesellschaft Verfahren und vorrichtung zur inbetriebnahme eines mehrachssystems
WO2018146740A1 (ja) * 2017-02-08 2018-08-16 株式会社Fuji 作業機
JP6998660B2 (ja) 2017-02-21 2022-01-18 株式会社安川電機 ロボットシミュレータ、ロボットシステム及びシミュレーション方法
EP3518059B1 (de) * 2018-01-24 2020-04-01 Siemens Aktiengesellschaft Verfahren zur rechnergestützten benutzerassistenz bei der in-betriebnahme eines bewegungsplaners für eine maschine
JP6836543B2 (ja) * 2018-04-27 2021-03-03 ファナック株式会社 干渉監視装置
CN108858162B (zh) * 2018-06-28 2020-10-30 广州视源电子科技股份有限公司 四轴机械臂的位置确定方法和装置
JP7172399B2 (ja) 2018-10-03 2022-11-16 カシオ計算機株式会社 制御装置、ロボット、制御方法及びプログラム
DE102019103349B3 (de) * 2019-02-11 2020-06-18 Beckhoff Automation Gmbh Industrierobotersystem und Verfahren zur Steuerung eines Industrieroboters
JP2021065940A (ja) * 2019-10-17 2021-04-30 オムロン株式会社 干渉評価装置、方法、及びプログラム
DE102020104359B4 (de) 2020-02-19 2022-04-14 Franka Emika Gmbh Arbeitsraumbegrenzung für einen Robotermanipulator
CN112245014B (zh) * 2020-10-30 2023-06-02 上海微创医疗机器人(集团)股份有限公司 一种医疗机器人、检测机械臂碰撞的方法及存储介质
US11878424B2 (en) 2021-12-06 2024-01-23 Fanuc Corporation Point set interference check
WO2024004042A1 (ja) * 2022-06-28 2024-01-04 ファナック株式会社 ロボット制御装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04236676A (ja) * 1991-01-21 1992-08-25 Hitachi Ltd 多関節構造体の干渉チェック方法
JPH06238581A (ja) * 1993-02-10 1994-08-30 Daikin Ind Ltd 対象物のモデル化方法、対象物間の干渉判別方法およびこれらの装置
JPH11254379A (ja) * 1998-03-11 1999-09-21 Kawasaki Heavy Ind Ltd ロボットの干渉チェック方法
JP2001315087A (ja) * 2000-05-09 2001-11-13 Toshiba Mach Co Ltd ロボットアームのリアルタイム干渉チェック方法
JP2004295255A (ja) * 2003-03-25 2004-10-21 Hokkaido Univ 干渉判定システム及び干渉判定プログラム
JP2010052114A (ja) * 2008-08-29 2010-03-11 Mitsubishi Electric Corp 干渉チェック制御装置および干渉チェック制御方法
JP2012216151A (ja) * 2011-04-01 2012-11-08 Mitsubishi Electric Corp 干渉回避制御装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6426981A (en) 1987-07-23 1989-01-30 Toshiba Corp Recognizing method for collision of objects
JP2895672B2 (ja) * 1992-01-28 1999-05-24 ファナック株式会社 複数ロボット制御方法
US5347459A (en) * 1993-03-17 1994-09-13 National Research Council Of Canada Real time collision detection
JP3612781B2 (ja) 1995-04-17 2005-01-19 ダイキン工業株式会社 階層球体モデル生成方法、干渉チェック方法およびこれらの装置
JP2003271687A (ja) 2002-01-11 2003-09-26 Ricoh Co Ltd 干渉モデル検出装置、方法及び記憶媒体
US6678582B2 (en) * 2002-05-30 2004-01-13 Kuka Roboter Gmbh Method and control device for avoiding collisions between cooperating robots
JP4159577B2 (ja) * 2005-12-13 2008-10-01 ファナック株式会社 複数のロボット間のインターロック自動設定装置及び自動設定方法
US8315738B2 (en) * 2008-05-21 2012-11-20 Fanuc Robotics America, Inc. Multi-arm robot system interference check via three dimensional automatic zones
US9144904B2 (en) * 2008-05-21 2015-09-29 Fanuc Robotics America Corporation Method and system for automatically preventing deadlock in multi-robot systems
JP5275967B2 (ja) 2009-12-22 2013-08-28 本田技研工業株式会社 干渉チェック装置
DE102012103830B4 (de) * 2011-05-05 2022-05-25 Fanuc Robotics America Corp. Verfahren und computerlesbare Medien zur automatischen Verbindung von gegenseitiger Blockierung in Mehrfachrobotersytemen
JP5878750B2 (ja) 2011-12-21 2016-03-08 川崎重工業株式会社 ロボットの動作規制方法及び装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04236676A (ja) * 1991-01-21 1992-08-25 Hitachi Ltd 多関節構造体の干渉チェック方法
JPH06238581A (ja) * 1993-02-10 1994-08-30 Daikin Ind Ltd 対象物のモデル化方法、対象物間の干渉判別方法およびこれらの装置
JPH11254379A (ja) * 1998-03-11 1999-09-21 Kawasaki Heavy Ind Ltd ロボットの干渉チェック方法
JP2001315087A (ja) * 2000-05-09 2001-11-13 Toshiba Mach Co Ltd ロボットアームのリアルタイム干渉チェック方法
JP2004295255A (ja) * 2003-03-25 2004-10-21 Hokkaido Univ 干渉判定システム及び干渉判定プログラム
JP2010052114A (ja) * 2008-08-29 2010-03-11 Mitsubishi Electric Corp 干渉チェック制御装置および干渉チェック制御方法
JP2012216151A (ja) * 2011-04-01 2012-11-08 Mitsubishi Electric Corp 干渉回避制御装置

Also Published As

Publication number Publication date
KR101781709B1 (ko) 2017-10-23
US9550295B2 (en) 2017-01-24
DE112014000700B4 (de) 2023-03-02
JP5872077B2 (ja) 2016-03-01
KR20150103257A (ko) 2015-09-09
US20150328776A1 (en) 2015-11-19
WO2014122995A1 (ja) 2014-08-14
CN104969134B (zh) 2017-06-09
DE112014000700T5 (de) 2015-10-22
CN104969134A (zh) 2015-10-07

Similar Documents

Publication Publication Date Title
JP5872077B2 (ja) 干渉チェック装置
JP6879464B2 (ja) 干渉判定方法、干渉判定システム及びコンピュータプログラム
US9827675B2 (en) Collision avoidance method, control device, and program
JP6069923B2 (ja) ロボットシステム、ロボット、ロボット制御装置
JP7009051B2 (ja) レイアウト設定方法、制御プログラム、記録媒体、制御装置、部品の製造方法、ロボットシステム、ロボット制御装置、情報処理方法、情報処理装置
US10831172B2 (en) Designing a part manufacturable by milling operations
KR101850410B1 (ko) 가상 현실 기반 로봇 교시를 위한 시뮬레이션 장치 및 방법
JP5855469B2 (ja) 搬入経路計画システム
US7084869B2 (en) Methods and apparatus for detecting and correcting penetration between objects
US9569568B2 (en) Robot simulation system which simulates takeout process of workpiece
US20180036883A1 (en) Simulation apparatus, robot control apparatus and robot
WO2014141928A1 (ja) 搬入経路計画システム
Aras et al. Extracting cutter/workpiece engagements in five-axis milling using solid modeler
RU2308764C2 (ru) Перемещение виртуального сочлененного объекта в виртуальном пространстве с предотвращением столкновений сочлененного объекта с элементами окружающего пространства
US20220035352A1 (en) Virtualized Cable Modeling For Manufacturing Resource Simulation
CN112395660A (zh) 使用虚拟模型和基于图形的模拟为制造资源的操作区建模
CN114555302A (zh) 干涉评价装置、方法以及程序
US11380058B2 (en) Method and apparatus for continuity based smoothing
CN115099025A (zh) 在流体模型中计算流体流速的方法、电子设备及存储介质
JP6025615B2 (ja) 画像描画装置
JPH01292474A (ja) 立体干渉演算装置
Foit et al. Automatic programming and generation of collision-free paths for the Mitsubishi Movemaster RV-M1 robot
CN117729988A (zh) 干扰检查装置
CN117036606A (zh) 一种三维模型生成方法、装置、电子设备及存储介质
CN115952616A (zh) 一种基于vtk的六关节工业机器人参数化建模仿真方法

Legal Events

Date Code Title Description
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: 20151215

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160112

R150 Certificate of patent or registration of utility model

Ref document number: 5872077

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250