JP2019084649A - 干渉判定方法、干渉判定システム及びコンピュータプログラム - Google Patents

干渉判定方法、干渉判定システム及びコンピュータプログラム Download PDF

Info

Publication number
JP2019084649A
JP2019084649A JP2017216385A JP2017216385A JP2019084649A JP 2019084649 A JP2019084649 A JP 2019084649A JP 2017216385 A JP2017216385 A JP 2017216385A JP 2017216385 A JP2017216385 A JP 2017216385A JP 2019084649 A JP2019084649 A JP 2019084649A
Authority
JP
Japan
Prior art keywords
posture
robot
approximation
combined
approximations
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
JP2017216385A
Other languages
English (en)
Other versions
JP6895082B2 (ja
Inventor
春香 藤井
Haruka Fujii
春香 藤井
茜 中島
Akane Nakajima
茜 中島
岳史 小島
Takeshi Kojima
岳史 小島
剣之介 林
Kennosuke Hayashi
剣之介 林
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.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
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 Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2017216385A priority Critical patent/JP6895082B2/ja
Priority to CN201811059685.1A priority patent/CN109760040B/zh
Priority to EP18194590.8A priority patent/EP3495098B1/en
Priority to US16/136,995 priority patent/US10919154B2/en
Publication of JP2019084649A publication Critical patent/JP2019084649A/ja
Application granted granted Critical
Publication of JP6895082B2 publication Critical patent/JP6895082B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • B25J9/1666Avoiding 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/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1607Calculation of inertia, jacobian matrixes and inverses

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

【課題】動作経路に従って動作するロボットと周辺物との干渉の有無を高速に演算することを可能とする干渉判定方法を提供すること【解決手段】ロボットの第1の姿勢と、第2の姿勢と、中間姿勢を設定し、これらについてロボットの形状を近似した複数のロボット近似体を組み合わせて構成される第1の組み合わせ近似体を生成する。周辺物と干渉すると判定された場合は、隣接する二つのロボット近似体の間隔を示す量に基づいて第1の組み合わせ近似体よりも小さい組み合わせ近似体を生成するか否かを判断する。【選択図】図1

Description

本発明は、干渉判定方法、干渉判定システム及びコンピュータプログラムに関する。
産業用ロボットに所定の作業を行わせる際、作業を実行するロボットアームの動作経路を、プログラミングや、実機を実際に動作させる教示により決定する場合、多くの時間と労力を要する。
これに対し、動作開始点(始点)及び動作終了点(終点)を入力すると、始点と終点間の経路を自動的に生成するアルゴリズムを用いることができれば、産業用ロボットを教示する時間を大幅に短縮することが期待できる。
産業用ロボットのロボットアームの動作を制御する際に周辺物との干渉の有無をチェックする方法として、特許文献1がある。この文献には、始点と終点との間を結ぶロボットの経路について、ロボットがその経路を通過する離散時間毎に区分して、ロボットの占有領域を計算し、隣り合う離散時間同士の占有領域を組み合わせて複数の凸包を計算し、これら凸包と、周辺の障害物を多面体で近似した凸多面体とが共有領域を有するか否かを計算し、共有領域がある場合は干渉が生じている、とする干渉予測方法が開示されている。
このようなアルゴリズムを用いて経路を生成する際に、産業用ロボットが配置される周辺環境、たとえば、ベルトコンベア等の障害物を考慮した経路生成が可能になれば、より実際の環境に適合した経路が生成されることとなり好ましい。
特開2012−223845号公報
そして、このような経路の自動生成に求められる性能の1つとして、経路演算処理の高速化がある。たとえば、ベルトコンベア上を不規則に流れてくる複数の把持対象物をロボットアームでそれぞれ把持しなければならない場合は、把持対象物ごとに経路を演算しなければならないため、演算処理の高速化を図る必要がある。演算時間の長短は、ベルトコンベアの可動速度、ひいては、生産効率に直結するからである。
特許文献1に記載の干渉判定方法では、隣接する離散時間におけるロボットの占有領域を組み合わせた凸包の全てと、ロボット周辺の障害物を近似した凸多面体について共有領域の有無を判定しているため、干渉有無の判定時間が長いという課題があった。
そこで本発明は、動作経路に従って動作するロボットと周辺物との干渉の有無を高速に演算することを可能とする干渉判定方法、干渉判定システム及びコンピュータプログラムを提供することを目的とする。
本開示の一側面に係る干渉判定方法は、取得部、記憶部及び演算部を備える演算装置を用いて、複数の可動軸を有するロボットが初期姿勢から目標姿勢に移動する動作経路上でロボットの周辺に存在する周辺物と干渉する可能性を判定する方法である。そして、演算部は、記憶部にロボットの形状を所定の着目部位について多面体で近似したロボットデータを記憶させるステップと、記憶部に周辺物の形状を近似した周辺物近似体のデータを記憶させるステップと、取得部を用いて初期姿勢及び目標姿勢を取得するステップと、初期姿勢から目標姿勢へと移動する動作経路上におけるロボットの第1の姿勢と、第1の姿勢よりも、相対的に目標姿勢側の動作経路上におけるロボットの第2の姿勢と、第1の姿勢と第2の姿勢との間の中間姿勢と、を設定するステップと、ロボットデータに基づいて、第1の姿勢、第2の姿勢及び中間姿勢におけるロボットの形状を、少なくとも一つの着目部位について多面体で近似した複数のロボット近似体を生成するステップと、このステップで生成されたロボット近似体を組み合わせて構成される第1の組み合わせ近似体を生成するステップと、第1の組み合わせ近似体と、周辺物近似体とが干渉するか判定するステップと、このステップにおいて干渉すると判定された場合は、第1の組み合わせ近似体を構成する複数のロボット近似体のうち、隣接する二つのロボット近似体の間隔を示す量を算出し、所定値と比較するステップと、間隔を示す量と所定値との比較結果に基づいて、第1の組み合わせ近似体よりも小さい組み合わせ近似体を生成するか否かを判断するステップと、を実行する。
この態様によれば、第1の組み合わせ近似体を構成する隣接する二つのロボット近似体の間隔を示す量を算出し、所定値と比較するから、十分に間隔が狭い場合の干渉判定か、そうでない場合か判断することが可能になり、比較結果に応じて後の処理を変更することが可能になる。すなわち、隣接する二つのロボット近似体の間の間隔が相対的に広い場合には、ロボット近似体の間に障害物が存在する可能性があるため、間隔が所定値以上であるか、所定値未満であるか否かに応じて後の処理を変更することで、必要のない干渉判定の処理を省略して高速性を保ちつつ、精度の高い干渉判定が可能になる。
また、演算部は、間隔を示す量が所定値以上と判断された場合は、着目部位について、第1の姿勢、第2の姿勢及び中間姿勢に相当する複数の前記ロボット近似体の少なくとも二つを組み合わせて構成され、第1の組み合わせ近似体よりも小さい第2の組み合わせ近似体を生成するステップと、第2の組み合わせ近似体と、周辺物近似体とが干渉するか判定するステップと、を更に実行することができる。
この態様によれば、第1の組み合わせ近似体よりも小さい第2の組み合わせ近似体を生成し、第2の組み合わせ近似体と、周辺物近似体とが干渉するか判定し、干渉しないと判定された場合はその領域内の干渉判定処理を省略することが可能になるため、干渉判定処理を高速に実現することが可能になる。
また、演算部は、第2の組み合わせ近似体と、周辺物近似体とが干渉するか判定するステップにおいて干渉すると判定され、かつ、第2の組み合わせ近似体を構成する複数の前記ロボット近似体のうち、隣接する二つのロボット近似体の間隔を示す量が所定値以上の場合に、第1の姿勢、第2の姿勢及び中間姿勢に相当する複数のロボット近似体の少なくとも二つを組み合わせて構成され、第(n−1)の組み合わせ近似体よりも小さい第nの組み合わせ近似体を生成するステップと(ただし、nは3以上の整数)、第nの組み合わせ近似体と、周辺物近似体が干渉するか判定するステップを、更に実行してもよい。
この態様によれば、隣接する二つのロボット近似体の間隔を示す量が所定値以上の場合に、第nの組み合わせ近似体よりも小さい第(n+1)の組み合わせ近似体を生成するので、間隔が十分に狭くない場合には、更に小さい第(n+1)の組み合わせ近似体を用いてより詳細な干渉判定が可能になる一方で、間隔が十分に狭い場合には、以降の干渉判定処理を省略することも可能になるので、高速な干渉判定処理を実現することが可能になる。
また、演算部は、第nの組み合わせ近似体を構成する複数のロボット近似体のうち、隣接する二つのロボット近似体の間隔を示す量が、所定値未満となるまで、nを1ずつ増加させながら、第nの組み合わせ近似体を生成するステップと、第nの組み合わせ近似体と周辺物近似体とが干渉するか判定するステップを、繰り返してもよい。
この態様によれば、間隔を示す量が所定値未満となるまで、nを1ずつ増加させながら、第nの組み合わせ近似体を生成するステップと、第nの組み合わせ近似体と周辺物近似体とが干渉するか判定するステップを、繰り返すので、必要に応じて詳細な干渉判定をするとともに、不要な干渉判定処理を省略することが可能になる。
また、演算部は、第nの組み合わせ近似体を構成する隣接する二つのロボット近似体の間隔を示す量が、所定値未満の場合は、第nの組み合わせ近似体を構成する隣接する二つのロボット近似体間の動作経路上で干渉する可能性があると出力することができる。
この態様によれば、間隔が十分に狭く、かつ、干渉可能性がある場合は、同様の干渉判定処理を終了することが可能になる。したがって、必要のない干渉判定の処理を省略して高速性を保ちつつ、干渉判定の精度を向上させることができる。
また、第nの組み合わせ近似体を生成するステップは、第(n−1)の組み合わせ近似体を構成する複数の前記ロボット近似体のうち、隣接する二つのロボット近似体間の動作経路上の中間姿勢と、隣接する二つのロボット近似体を組み合わせて第nの組み合わせ近似体を生成するステップと、を含むことができる。
この態様によれば、隣接する二つのロボット近似体間の動作経路上の中間姿勢と、隣接する二つのロボット近似体を組み合わせて第nの組み合わせ近似体を生成するから、隣接する二つのロボット近似体の動作経路上の中間姿勢を用いた詳細な干渉判定が可能になる。
また、第kの組み合わせ近似体(kは1以上の整数)と、周辺物近似体とが干渉するか判定するステップは、周辺物近似体と、第kの組み合わせ近似体の距離を算出するステップと、距離と第2の所定値とを比較するステップと、を含むことができる。
この態様によれば、周辺物近似体と、第kの組み合わせ近似体の距離に基づいて干渉可能性を判断することができるので、駆動軸の回転運動のために、第kの組み合わせ近似体からはみ出る中間姿勢を取る場合であっても、そのような中間姿勢を加味した干渉判定が可能になる。
また、本開示の他の側面に係る干渉判定方法は、演算部を備える演算装置を用いて、複数の可動軸を有するロボットが初期姿勢から目標姿勢に移動する動作経路上で、ロボットの周辺に存在する周辺物と干渉する可能性を判定する。そして、演算部は、初期姿勢から目標姿勢へと移動する動作経路上におけるロボットの第1の姿勢を特定するための複数の可動軸の回転角度を設定するステップと、第1の姿勢よりも目標姿勢側の動作経路上におけるロボットの第2の姿勢を特定するための複数の可動軸の回転角度であって、第1の姿勢から第2の姿勢に変化する間の回転角度は、可動軸ごとに、単調増加又は単調減少する回転角度を、設定するステップと、第1の姿勢と第2の姿勢との間の少なくとも一つの中間姿勢を特定するために複数の可動軸の回転角度を示す情報を設定するステップと、ロボットの少なくとも一つの着目部位を多面体で近似したロボット近似体であって、第1の姿勢、第2の姿勢及び中間姿勢のそれぞれに対応した複数のロボット近似体を生成するステップと、このステップで生成された複数のロボット近似体を組み合わせて構成される第1の組み合わせ近似体が、周辺物と干渉するか判断するステップと、このステップで干渉すると判断された場合は、複数のロボット近似体を組み合わせて構成され、第1の組み合わせ近似体よりも小さい第2の組み合わせ近似体を生成するステップと、第2の組み合わせ近似体と、周辺物近似体とが干渉するか判定するステップと、を実行する。
この態様によれば、第1の姿勢から第2の姿勢にわたり、可動軸の回転角度は、単調増加又は単調減少に変化するから、所定の可動軸の回転角度が増加及び減少の双方を伴うことがなくなり、より正確な干渉判定が可能になる。また、第1の組み合わせ近似体が、周辺物と干渉すると判断された場合は、第1の組み合わせ近似体よりも小さい第2の組み合わせ近似体を生成して干渉判定するから、必要が無い場合は、第2の組み合わせ近似体を生成することなく、高速な干渉判定を実現することができる。
また、本開示の他の側面に係る干渉判定方法は、演算部を備える演算装置を用いて、複数の可動軸を有するロボットが第1の姿勢から第2の姿勢に移動する動作経路上で、ロボットの周辺に存在する周辺物と干渉する可能性を判定する。
そして、動作経路上におけるロボットの第1の姿勢を取得するステップと、動作経路上におけるロボットの第2の姿勢を取得するステップと、第1の姿勢から第2の姿勢に至る動作経路について、ロボットの所定部位が周辺物と干渉するか第1の分解能で判断するステップと、このステップの結果に基づいて選択される動作経路の一部である第2の動作経路のみについて、ロボットの所定部位が周辺物と干渉するか第1の分解能より高い第2の分解能で判断するステップと、このステップの結果に基づいて選択される第2の動作経路の一部である第3の動作経路のみについて、ロボットの所定部位が周辺物と干渉するか第2の分解能より高い第3の分解能で判断するステップと、を実行する。
この態様によれば、第1の姿勢から第2の姿勢に至る動作経路について、ロボットの所定部位が周辺物と干渉するか第1の分解能で判断し、その結果に基づいて選択される第2の動作経路のみについて、ロボットの所定部位が周辺物と干渉するか第2の分解能で判断し、更に、その結果に基づいて選択される第3の動作経路のみについて、ロボットの所定部位が周辺物と干渉するか第3の分解能で判断するから、少なくとも3つの分解能で干渉判定する際に、低い分解能で干渉判定された結果に基づいて動的に選択される動作経路の一部について高分解能で干渉判定をすることが可能となり、高速な干渉判定処理を実現することが可能になる。
また、本開示の他の側面に係る干渉判定システムは、取得部、記憶部及び演算部を備える演算装置を用いて、複数の可動軸を有するロボットが初期姿勢から目標姿勢に移動する動作経路上で、ロボットの周辺に存在する周辺物と干渉する可能性を判定する。そして、演算部は、記憶部に、ロボットの形状を、所定の着目部位について多面体で近似したロボットデータを記憶させるステップと、記憶部に、周辺物の形状を近似した周辺物近似体のデータを記憶させるステップと、取得部を用いて、初期姿勢及び目標姿勢を取得するステップと、初期姿勢から目標姿勢へと移動する動作経路上におけるロボットの第1の姿勢と、第1の姿勢よりも、相対的に目標姿勢側の動作経路上におけるロボットの第2の姿勢と、第1の姿勢と第2の姿勢との間の中間姿勢と、を設定するステップと、ロボットデータに基づいて、第1の姿勢、第2の姿勢及び中間姿勢におけるロボットの形状を、少なくとも一つの着目部位について多面体で近似した複数のロボット近似体を生成するステップと、このステップで生成された複数のロボット近似体を組み合わせて構成される第1の組み合わせ近似体を生成するステップと、第1の組み合わせ近似体と、周辺物近似体とが干渉するか判定するステップと、このステップにおいて干渉すると判定された場合は、第1の組み合わせ近似体を構成する複数のロボット近似体のうち、隣接する二つのロボット近似体の間隔を示す量を算出し、所定値と比較するステップと、間隔を示す量と所定値との比較結果に基づいて、第1の組み合わせ近似体よりも小さい組み合わせ近似体を生成するか否かを判断するステップを実行する。
この態様によれば、第1の組み合わせ近似体を構成する隣接する二つのロボット近似体の間隔を示す量を算出し、所定値と比較するから、十分に間隔が狭い場合の干渉判定か、そうでない場合か判断することが可能になり、比較結果に応じて後の処理を変更することが可能になる。すなわち、隣接する二つのロボット近似体の間の間隔が相対的に広い場合には、ロボット近似体の間に障害物が存在する可能性があるため、間隔が所定値以上であるか、所定値未満であるか否かに応じて後の処理を変更することで、必要のない干渉判定の処理を省略して高速性を保ちつつ、精度の高い干渉判定が可能になる。
また、本開示の他の側面に係るプログラムは、取得部、記憶部及び演算部を備える演算装置を用いて、複数の可動軸を有するロボットが初期姿勢から目標姿勢に移動する動作経路上で、ロボットの周辺に存在する周辺物と干渉する可能性を判定する干渉判定を演算装置に実行させる。そして、演算部に、記憶部に、ロボットの形状を、所定の着目部位について、多面体で近似したロボットデータを記憶させるステップと、記憶部に、周辺物の形状を近似した周辺物近似体のデータを記憶させるステップと、取得部を用いて、初期姿勢及び目標姿勢を取得するステップと、初期姿勢から目標姿勢へと移動する動作経路上におけるロボットの第1の姿勢と、第1の姿勢よりも、相対的に目標姿勢側の動作経路上におけるロボットの第2の姿勢と、第1の姿勢と第2の姿勢との間の中間姿勢と、を設定するステップと、ロボットデータに基づいて、第1の姿勢、第2の姿勢及び中間姿勢におけるロボットの形状を、少なくとも一つの着目部位について多面体で近似した複数のロボット近似体を生成するステップと、このステップで生成された複数のロボット近似体を組み合わせて構成される第1の組み合わせ近似体を生成するステップと、第1の組み合わせ近似体と、周辺物近似体とが干渉するか判定するステップと、このステップにおいて干渉すると判定された場合は、第1の組み合わせ近似体を構成する複数のロボット近似体のうち、隣接する二つのロボット近似体の間隔を示す量を算出し、所定値と比較するステップと、間隔を示す量と所定値との比較結果に基づいて、第1の組み合わせ近似体よりも小さい組み合わせ近似体を生成するか否かを判断するステップを実行させる。
この態様によれば、第1の組み合わせ近似体を構成する隣接する二つのロボット近似体の間隔を示す量を算出し、所定値と比較するから、十分に間隔が狭い場合の干渉判定か、そうでない場合か判断することが可能になり、比較結果に応じて後の処理を変更することが可能になる。すなわち、隣接する二つのロボット近似体の間の間隔が相対的に広い場合には、ロボット近似体の間に障害物が存在する可能性があるため、間隔が所定値以上であるか、所定値未満であるか否かに応じて後の処理を変更することで、必要のない干渉判定の処理を省略して高速性を保ちつつ、精度の高い干渉判定が可能になる。
なお、「初期姿勢」とは、ロボットの動作開始時における姿勢を含み、たとえば、ロボットの動作経路を演算するときの始点においてロボットがとっている姿勢を含む。
また、「目標姿勢」とは、ロボットの動作終了時における姿勢を含み、たとえば、ロボットの動作経路を演算するときの終点においてロボットがとっている姿勢を含む。
また、「着目部位」とは、メッシュなどにより表現されたロボットの形状のモデルデータの一部または全部であって、OBB(Oriented Bounding Box)等の近似手法によって近似される形状を含む。たとえば、産業用ロボットの各リンク、または、リンクの一部を着目部位として取り扱う場合がある。
また、「ロボットデータ」とは、メッシュなどにより表現されたロボットの形状のモデルデータを所定の近似手法により近似したロボットの形状を示すデータを含む。
また、「周辺物近似体」とは、障害物などの周辺物をメッシュや、AABB(Axis-Aligned Bounding Box)等の近似手法により近似した形状モデルを含む。
また、「第1の姿勢」とは、初期姿勢と目標姿勢とを結ぶ動作経路上の姿勢であって、ロボット近似体を生成する対象となる姿勢を含む。初期姿勢と同一姿勢であってもよい。
また、「第2の姿勢」とは、初期姿勢と目標姿勢とを結ぶ動作経路上の姿勢であって、ロボット近似体を生成する対象となる姿勢を含む。目標姿勢と同一姿勢であってもよい。
また、「中間姿勢」とは、第1の姿勢と第2の姿勢との間の動作経路上の姿勢であって、ロボット近似体を生成する対象となる姿勢を含む。中間姿勢は、第1の姿勢と第2の姿勢との間の動作経路上の中間地点における姿勢に限られない。
また、「ロボット近似体」とは、ロボットデータに基づいて算出される、第1の姿勢、第2の姿勢、中間姿勢のそれぞれに対応したロボットの姿勢(各軸の関節が所定値に定まったロボットの体勢)をOBB等の近似手法によって近似した近似体を含む。
また、「組み合わせ近似体」とは、少なくとも二つのロボット近似体を組み合わせた近似体を含む。少なくとも二つのロボット近似体の大半または全てを包含するようにAABB等の近似手法によって近似した近似体を含む。
本発明によれば、動作経路に従って動作するロボットと周辺物との干渉の有無を高速に演算することを可能とする干渉判定方法、干渉判定システム及びコンピュータプログラムを提供することができる。
第1実施形態及び第2実施形態に係る干渉判定システム10のハードウェアブロック図 ロボットアーム16とそのロボットデータ 第2実施形態に係る干渉判定方法の事前処理のフローチャート コンフィギュレーション空間の概念図 第2実施形態に係る干渉判定方法のフローチャート チェックデータリストDLの変化を示す概念図 ロボットアーム16が姿勢を変化させる様子の模式図 linka、linkb及びlinkcのロボット近似体データ 第1の組み合わせ近似体と周辺物近似体 高分解能な干渉判定の必要性を判断するための条件を示す模式図 第2の組み合わせ近似体と周辺物近似体 異なる第2の組み合わせ近似体と周辺物近似体 第3の組み合わせ近似体と周辺物近似体 第4の組み合わせ近似体と周辺物近似体 第5の組み合わせ近似体と周辺物近似体 異なる第5の組み合わせ近似体と周辺物近似体 第6の組み合わせ近似体と周辺物近似体 異なる第6の組み合わせ近似体と周辺物近似体 最終的に生成された組み合わせ近似体 第3実施形態に係る干渉判定方法のフローチャート
[第1実施形態]
まず、図1を用いて、本発明が適用される実施形態の一例について説明する。
図1は、本発明の第1実施形態に係る干渉判定システム10(「干渉判定システム」の一例)のハードウェアブロック図である。この図に示されるように、この干渉判定システム10は、情報を入力するための入力部12と、情報を処理するための演算装置14(「演算装置」の一例)と、演算結果に基づいて制御されるロボットアーム16(「ロボット」の一例)ならびに結果を表示するためのモニタ18を備える出力部20を有する。
入力部12は、演算装置14に情報を入力するためのインタフェースとして機能し、入力データであるロボットアーム16の初期姿勢、目標姿勢、障害物情報及びロボットアーム16に関するロボット情報等を入力するための手段を備える。
演算装置14は、典型的には計算機22を用いて実現することが可能であり、入力部12等から入力される情報を取得するためのインタフェース28(「取得部」の一例)と、各実施形態に示される種々の演算処理を実施するためのCPU24(「演算部」の一例)と、各実施形態に示される干渉判定等の各処理を規定するプログラム等を不揮発的に記憶する記憶装置26(「記憶部」の一例)を備える。
本実施形態に係る干渉判定システム10を用いて、ロボットアーム16が障害物などの周辺物と干渉する可能性を判定するための干渉判定方法は、以下のようなステップにより実現される。
まず、インタフェース28は、入力部12から入力される初期姿勢及び目標姿勢を取得する。具体的には、ロボットアーム16の姿勢を特定する各駆動軸の回転角度を取得する。なお、初期姿勢及び目標姿勢は、ロボットアーム16の先端の位置の情報を含む初期位置及び目標位置として与えられてもよい。このとき、各駆動軸の回転角度は、演算装置14のCPU24(演算部)を含む所定の演算装置が、先端の位置に基づいてインバースキネマティクス(逆運動学)計算を実行することにより算出される。なお、初期姿勢は、例えば、ロボットアーム16の各駆動軸の現在の回転角度でもよい。また、目標姿勢または目標位置は、例えば、ロボットアーム16の作業対象物の位置示す画像に基づいて算出されてよい。
次いで、CPU24は、初期姿勢から目標姿勢に至る動作経路上における第1の姿勢と、第2の姿勢を設定する。具体的には、ロボットアーム16の姿勢を特定する各駆動軸の回転角度を設定する。
ここで、第1の姿勢から第2の姿勢に変化する間の回転角度は、各可動軸について、単調増加又は単調減少するように第1の姿勢及び第2の姿勢は設定される。たとえば、ある可動軸は、第1の姿勢における回転角度から第2の姿勢における回転角度に至るまで単調に増加する。別の可動軸は、第1の姿勢における回転角度から、第2の姿勢における回転角度に至るまで単調に減少する。このように第1の姿勢及び第2の姿勢を設定し、第1の姿勢と第2の姿勢を包含するような第1直方体(後述)と、周辺物との干渉可能性を判定することにより、第1の姿勢から第2の姿勢に移動する際に、周辺物との干渉可能性の有無を高速に判断することが可能になる。すなわち、所定の可動軸の回転角度が増減を繰り返す場合には、ロボットアーム16の動きが折り返し軌道を描く。一方で、所定の可動軸の回転角度が担当増加または単調に減少する場合には、ロボットアーム16の動きは略円弧軌道で動作するから、当該所定の軌道について干渉有無の判定を実行すればよく干渉可能性の有無を高速に判断することが可能になる。一方で、所定の可動軸について、第1の姿勢における回転角度から、第2の姿勢における回転角度に至るまでに、回転角度が増減する場合は、この二つの姿勢を包含するような第1直方体から中間姿勢が大きくはみでる可能性があるため、周辺物との干渉可能性が無いことを担保することができず、好ましくない。
次いで、中間姿勢が設定される。中間姿勢は、第1の姿勢と第2の姿勢との間の動作経路上の姿勢であり、たとえば、第1の姿勢に相当する各駆動軸の各回転角度と、第2の姿勢に相当する各駆動軸の各回転角度のそれぞれ平均値を算出し、これにフォワードキネマティクス(順運動学)をあてはめることにより設定することができる。
その後、第1の姿勢、第2の姿勢及び中間姿勢の各リンク(「着目部位」の一例)について、第2直方体(後述)で近似したロボット近似体(「ロボット近似体」の一例)が、生成される。
そして、これら第1の姿勢、中間姿勢及び第2の姿勢のロボット近似体を組み合わせ第1直方体で近似した第1の組み合わせ近似体(「第1の組み合わせ近似体」の一例)が生成される。このとき、第1の組み合わせ近似体は、第1の姿勢、中間姿勢及び第2の姿勢のそれぞれのロボット近似体を包含する直方体であることが好ましい。
次いで、第1の組み合わせ近似体と、周辺物を第1直方体で近似した周辺物近似体(「周辺物近似体」の一例)との干渉可能性が判定される。
この判定の結果、両者の干渉可能性がない場合は、第1の姿勢から第2の姿勢に移動する際に、ロボットアーム16は、周辺物と干渉しないと判断することができるため、この間の動作経路について詳細な干渉判定をする必要がないと判断することができる。そのため、CPU24は、第2の姿勢を新たな第1の姿勢として設定し、新たに第2の姿勢を設定し、同様の処理を繰り返すことにより初期姿勢から目標姿勢に至る動作経路の全般について、ロボットアーム16と周辺物との干渉を判定することが可能になる。
一方で、両者の干渉可能性がある場合は、次いで詳細な干渉判定の必要性を判定する。
すなわち、第1の姿勢と第2の姿勢が十分に近接し、十分な分解能をもっている場合に、両者の干渉可能性があると判定された場合は、現実にロボットアーム16と周辺物とが干渉する可能性が高いと考えられるため、それ以上のロボット近似体を新たに生成して、さらに詳細な干渉判定を継続する必要性はないと判断することができる。CPU24は、第1の姿勢から第2の姿勢に移動する際に、ロボットアーム16は周辺物と干渉する可能性が高いと決定し、本実施形態に係る干渉判定方法を終了する。そして、必要に応じて計算量を要する別の方法を用いて精密に干渉有無を判断してもよいし、異なる経路を探索してもよい。
他方で、分解能が十分ではなく、第1の姿勢と第2の姿勢の粗密の度合いが疎な場合、すなわち、第1の姿勢と第2の姿勢との間隔が所定値以上である場合には、第1の姿勢と中間姿勢を第1直方体で近似した第2の組み合わせ近似体(「第2の組み合わせ近似体」の一例)と、中間姿勢と第2の姿勢を第1直方体で近似した第2の組み合わせ近似体(「第2の組み合わせ近似体」の一例)と、を生成し、それぞれ周辺物近似体との干渉可能性が同様に判定される。すなわち、第1の組み合わせ近似体よりも小さい第2の組み合わせ近似体を生成し、第2の組み合わせ近似体のそれぞれと、周辺物近似体との干渉可能性が判定される。以下、中間姿勢と第2の姿勢を包含する第2の組み合わせ近似体に着目して説明する。
この判定の結果、中間姿勢と第2の姿勢を包含する第2の組み合わせ近似体と周辺物近似体の干渉可能性がない場合は、中間姿勢から第2の姿勢に移動する際に、ロボットアーム16は、周辺物と干渉しないと判断することができるため、この間の動作経路について詳細な干渉判定をする必要がないと判断することができる。
一方で、両者の干渉可能性がある場合は、詳細な干渉判定の必要性を判定する。
中間姿勢と第2の姿勢が十分に近接し、十分な分解能をもっている場合は、現実にロボットアーム16と周辺物とが干渉する可能性が高いと考えられるため、それ以上の詳細な干渉判定の必要性はないと判断することができる。したがって、中間姿勢と第2の姿勢を包含する第2の組み合わせ近似体が周辺物と干渉する可能性がある旨を出力する。
他方で、分解能が十分ではなく、中間姿勢と第2の姿勢の粗密の度合いが疎な場合には、中間姿勢と第2の姿勢の間に、さらに新たな中間姿勢を設定し、元の中間姿勢と新たな中間姿勢とを組み合わせて第1直方体で近似した第3の組み合わせ近似体、及び、この新たな中間姿勢と第2の姿勢とを組み合わせて第1直方体で近似した第3の組み合わせ近似体を生成し、それぞれ周辺物近似体との干渉判定が行われる。同様に、干渉可能性があると判定された際の分解能が十分ではない場合は、第4及びそれ以降の組み合わせ近似体の生成ならびにそれを用いた干渉可能性の判定が、所定の分解能に到達するまで繰り返し実行される。
以上のような干渉判定方法によれば、周辺物との干渉可能性がないと判定された動作経路については、以降の詳細な干渉判定を省略する一方で、干渉可能性があると判定された動作経路については、所定の分解能になるまで中間姿勢を生成しながら詳細な干渉判定を繰り返すので、高速な干渉判定処理と干渉可能性のある動作経路の詳細な特定を両立することが可能になる。
なお、第1直方体とは、所定の基準座標系(例えば、水平方向をX軸とY軸、鉛直方向をZ軸、として定義した、互いに直交するXYZ軸を有する絶対座標系)の各軸に平行な線分により構成され、近似する対象となるオブジェクトを包含する直方体のことをいう。所定の基準座標系は、例えば、その原点を、後述するベースリンクBLの接地面に設けることができる。
また、第2直方体とは、所定の基準座標系から所定の角度傾斜した第2の直交座標系に平行な線分により構成され、近似する対象となるオブジェクトを包含する直方体のことをいう。
なお、本実施形態では、各リンクを着目部位として、各リンクについてロボット近似体を生成し、干渉判定を実施することとしたが、これに限られるものではなく、一部のリンクのみ(例えば、干渉可能性が高い手先のリンク又はエンドエフェクタ)についてロボット近似体を生成し、干渉判定を実施することにしてもよい。
また、リンク以外の着目部位(たとえば、エンドエフェクタによって把持される対象物そのものや、エンドエフェクタとこれにより把持される対象物を含む部位)やリンクの一部についてロボット近似体を生成し、干渉判定を実施してもよい。
また、当業者の通常の創作能力の発揮として、発明の要旨を変更しない範囲で、本開示の各実施形態における各ステップの順番を変更することもできる。たとえば、第1の姿勢及び第2の姿勢と同時に複数の中間姿勢を設定してもよい。ただし、必要な場合(すなわち、干渉可能性がある場合)にのみその動作経路間に中間姿勢を設定することにより、一層の高速化を実現することができる。
また、近似の方法は、様々であり、第1直方体や第2直方体などの方法で、対象となるオブジェクトを包含するようなバウンディングボリューム(Bounding Volume)によりオブジェクトを近似してもよいし、いわゆる凸包のようにオブジェクトを包含しない多面体によりオブジェクトを近似してもよい。ただし、バウンディングボリュームを用いて、オブジェクトを包含するように近似することにより、本来は干渉するのに干渉しないと判断される誤判定をなくすことが可能になる。
[第2実施形態]
以下、図面を参照して本発明の第2実施形態について説明する。なお、同一の要素には同一の符号を付し、重複する説明を省略又は簡略化する。
図1は、第2実施形態に係る干渉判定システム10(「干渉判定システム」の一例)のハードウェアブロック図である。
ここで、演算装置14(「演算装置」の一例)のCPU24は、記憶装置26(「記憶部」の一例)に記憶されているプログラム(本開示の各フローチャート等で示される演算処理を規定するプログラムを含む)を読み出し、又は、インタフェース28(「取得部」の一例)を用いて外部からプログラムを取得し、実行する。演算装置14が備える一時記憶装置(不図示)は、SRAM(Static Random Access Memory)等から構成されており、プログラムの一部や、演算データ等を一時的に記憶する。
記憶装置26は、コンピュータを用いて読み取り可能な状態で、プログラム等の情報を、電気的、磁気的、光学的、機械的、化学的又はそれらの組み合わせによって記憶する媒体であり、例えば、CD、DVD、磁気ディスク、MO、半導体メモリ(NORフラッシュメモリ、NANDフラッシュメモリ、MRAM等)を含む。
インタフェース28は、例えば、外部との情報の授受をするための有線又は無線の通信インタフェースである。
また、入力部12は、例えば、マウス、キーボード、タッチパッド、キーパッド、マイク等の情報を入力するための装置である。
図2(a)は、制御対象であるロボットアーム16(「ロボット」の一例)を示している。また、図2(b)は、後述するステップS12に基づいて、ロボットアーム16を構成する複数のリンクLであるリンクBL〜L5(「着目部位」の一例)を第2直方体で近似したロボットデータを示している。
このロボットアーム16は、6軸の垂直多関節型のロボットアーム16であり、各リンクLは、サーボモータ(不図示)により回転駆動される。また、先端のリンクL5には、エンドエフェクタが接続される。
このような干渉判定システム10を用いた干渉判定方法について以下に説明する。
図3は、判定処理に必要なデータを生成するための事前処理のフローチャートである。この事前処理は、障害物等の周辺物や、ロボットアーム16が変更されるたびに実施される。
まず、演算装置14のインタフェース28は、入力部12から障害物情報として、メッシュ等により表現された周辺物等を仮想空間上に表現した障害物モデルを取得する。そして、CPU24は、メッシュにより表現された障害物モデルを、第1直方体、第2直方体またはその他の公知の手法を用いて、周辺物の形状を近似した周辺物近似体(「周辺物近似体」の一例)を生成し、記憶装置26に記憶させる(ステップS11)。本実施形態では、複数の周辺物をそれぞれ第1直方体で近似した周辺物近似体データObsi(ただし、iは、1以上で周辺物の数以下の整数)が、記憶装置26に記憶される。
また、インタフェース28は、入力部12からロボット情報として、ロボットアーム16をメッシュ等により表現したロボットモデルを取得する。そして、CPU24は、メッシュにより表現された障害物モデルをロボットアーム16の各リンクLに区分し、各リンクLを第2直方体で近似したロボットデータを生成し、記憶装置26に記憶させる(ステップS12)。なお、ステップS11とステップS12とは異なる順序で、または、同時に行われてもよい。
次いで、ロボットアーム16の初期姿勢S及び目標姿勢Gが入力部12から入力される。初期姿勢Sは、たとえば、コンテナに置かれている把持対象物であるワークWをロボットアーム16が把持するときの姿勢であり、目標姿勢Gは、ロボットアーム16がコンテナからワークWを取り出し、目的地に載置するときの姿勢である。初期姿勢S及び目標姿勢Gは、それぞれ、ロボットアーム16の各駆動軸の回転角度を指定する6次元の情報であり、ティーチングペンダント等を用いて入力部12から入力することもできる。演算装置14のCPU24は、インタフェース28に初期姿勢S及び目標姿勢Gを特定する各6次元の角度情報を取得させ、記憶装置26に記憶させる。なお、初期姿勢S及び目標姿勢Gは、それぞれ、ロボットアーム16の先端初期位置S’、先端目標位置G’として与えられ、先端初期位置S’、先端目標位置G’に基づいて、インバースキネマティクス(逆運動学)計算を実行することにより算出されてもよい。先端初期位置S’、及び、先端目標位置G’は、例えば、図示しないティーチングペンダントを用いて、作業者が設定することができる。
その後、経路探索を実行し、初期姿勢Sから目標姿勢Gに至る動作経路を探索する。
具体的には、動作経路上におけるある地点におけるロボットアーム16の姿勢qi(「第1の姿勢」の一例)と、その姿勢よりも相対的に目標姿勢G側の動作経路上の地点における姿勢qi+1(「第2の姿勢」の一例)を特定する各駆動軸の角度情報を入力とし、姿勢qiから姿勢qi+1に移動するまでに周辺物と干渉するか否かを出力とする干渉判定方法を、初期姿勢Sから目標姿勢Gに至るまで繰り返して実行することにより、周辺物と干渉しないような動作経路を特定する各姿勢qiのリストを生成する。
ここで、姿勢qiから姿勢qi+1に変化する間の各駆動軸の回転角度は、駆動軸ごとに単調増加、または、単調減少するように姿勢qi+1は設定される。
図4(a)は、たとえば、二つの駆動軸を有するロボットアーム16が、初期姿勢Sから目標姿勢Gに至る動作経路を探索する様子を、各駆動軸の回転角度を座標軸(Joint1及びJoint2)とするコンフィギュレーション空間で示した模式図である。このロボットアーム16の姿勢は、各駆動軸の回転角度に対応する座標で示すことができる。また、周辺の障害物D1及びD2は、ロボットアーム16が衝突する各駆動軸の範囲として、所定の領域を有する空間として示すことができる。
従って、障害物D1及びD2の領域に侵入しないように、初期姿勢Sに相当する座標から目標姿勢Gに相当する座標に至る動作経路を生成することにより、干渉しない動作経路を導くことができる。
図4(b)は、姿勢qiから姿勢qi+1に変化する間の各駆動軸の回転角度を示しており、横軸は、姿勢qiから姿勢qi+1への進捗を示し、縦軸は各駆動軸(Joint1及びJoint2)の回転角度(degree)を示している。両駆動軸とも、等速で単調増加していることが示される。
このように、各駆動軸が単調増加、または、単調減少する範囲内の姿勢を姿勢qi+1として設定し、この間の干渉判定をすることにより干渉判定の精度が向上するとともに干渉判定の演算を高速に実行することができる。なお、姿勢qiから姿勢qi+1に変化する間に回転角度が増減する場合、すなわち、図4(a)に示されるコンフィギュレーション空間で、Joint1軸方向に増加した(右側に進行した)後に、減少する(左側に進行する)姿勢間で干渉判定をすると、干渉判定の精度が低下し、実際には干渉するにもかかわらず干渉しないと判定してしまう可能性が高まるため、本実施形態では採用しない。
図4(c)は、参考として、実空間においてロボットアーム16が姿勢qiから姿勢qi+1に変化する様子を示している。
なお、経路の探索は種々の手法により行うことができる。例えば、ランダムサンプリング法の一つであるRRT(Rapidly-Exploring Random Tree)、ロードマップ法の一つである確率的ロードマップ(Probabilistic Road Map:PRM)、ポテンシャル法(Artificial Potential Method)、軌道最適化(Trajectory Optimization)等を用いることができる。
ランダムサンプリング法の一つであるRRTは、コンフィギュレーション空間内に姿勢qi+1に対応する点を一つ配置し、当該点と、既にコンフィギュレーシ ョン空間内に配置されている姿勢qiに対応する点と、を結ぶ処理を繰り返すことにより経路を生成する手法である。
確率的ロードマップ(Probabilistic Road Map:PRM)は、姿勢qi及び姿勢qi+1に対応する複数の点をコンフィギュレーション空間内にランダムに配置し、これらの点の中から周辺物と干渉が生じない点を抽出し、これらの点を結ぶことにより経路を生成する手法である。
ポテンシャル法(Artificial Potential Method)は、ロボットアーム16及び周辺物が位置し得る領域内のポテンシャルを算出し、ポテンシャルに基づいて経路を生成する手法である。例えば、評価関数を使用することにより、ロボットアーム16及び周辺物が位置し得る領域内のポテンシャルを算出する。
軌道最適化(Trajectory Optimization)は、コンフィギュレーション空間内における姿勢qnに対応する点の配置に関するコスト関数の最適化問題を解くことにより、経路を生成する。コスト関数とは、例えば、ロボットアーム16と対象物と周辺物(障害物)との距離、コンフィギュレーション空間内における経路の滑らかさ、ロボットアーム16が有する複数の駆動軸が発生させるべきトルクの最大値、等に基づいて設定される関数である。
図5は、姿勢qiから姿勢qi+1に移動する動作経路におけるロボットアーム16の所定のリンクLと周辺物との干渉判定方法を示すフローチャートである。図6は、この干渉判定方法で用いられるチェックデータリストDLの変化を示している。ここで、チェックデータリストDLとは、複数のチェックデータDを記憶するスタック型のデータ構造をいい、チェックデータDの後入れ先出し(LIFO)が可能となるように構成されている。また、チェックデータDは、干渉判定の対象となる始点と終点の二つの姿勢を特定するデータである。本実施形態では、このチェックデータDに基づいて、2つの姿勢を結ぶ経路上の中間姿勢が演算され、チェックデータDに含まれるこれら2つの姿勢、及び、中間姿勢の少なくとも3姿勢に相当するロボット近似体データを包含した第1(または第2以降の)組み合わせ近似体が生成される。
まず、演算装置14は、記憶装置26の所定領域に設けられたチェックデータリストDLの末尾に、チェックデータDとして、[linki, linki+1]を記録する(ステップS51、図6(a))。[linki, linki+1]というチェックデータDは、ロボットアーム16の姿勢qi及び姿勢qi+1に対応する所定のリンクL(「着目部位」の一例)の姿勢を特定する。
図7(a)は、ロボットアーム16が姿勢qi及び姿勢qi+1に移動する様子と周囲の障害物を模式的に示しており、図7(b)は、姿勢qi及び姿勢qi+1の際のロボットアーム16の先端のリンクLをそれぞれ第2直方体で近似したロボット近似体と、二つの周辺物に相当する周辺物近似体データObs1とObs2を示している。
次いで、演算装置14は、チェックデータリストDLの末尾のチェックデータDを、[linka, linkb]として取り出す(ステップS52)。ここでは、チェックデータリストDLの末尾のチェックデータDとしてステップS51で記録された[linki, linki+1]が[linka, linkb]として取り出され、チェックデータリストDLから、取り出されたチェックデータDである[linki, linki+1]は削除される。linkaは、粗密探索状態における「着目部位」の「第1の姿勢」の一例であり、linkbは、粗密探索状態における「着目部位」の「第2の姿勢」の一例である。
次いで、演算装置14により、linkaとlinkbの中間リンクを特定するlinkcが生成される(ステップS53)。
図8は、linkaとlinkbの中間リンクであるlinkcが設定される様子を示している。
linkaの際の各駆動軸の回転角度を示すジョイント値(「回転角度」の一例)と、linkbの際の各駆動軸の回転角度を示すジョイント値の平均値に基づいてフォワードキネマティクス(順運動学)を解くことで、中間リンクであるlinkcを設定することができる。この場合、コンフィギュレーション空間上におけるlinkaに対応する座標とlinkbに対応する座標の中点がlinkcに対応する座標となる。すなわち、コンフィギュレーション空間上におけるlinkaに対応する座標Pは、Plinka=(ja1, ja2,・・・ja6)であり(ja1, ja2,・・・ja6は各回転軸の回転角度を示す)、linkbに対応する座標Pは、Plinkb=(jb1, jb2,・・・jb6)である。これら、Plinkaの各座標とPlinkbの各座標の中点がlinkcに対応する座標となる。
中間リンクは、別の方法で設定することもできる。たとえば、ロボットアーム16の各リンクLの回転速度は等速ではなく増減するため、各リンクLの回転速度の変化を考慮して、linkaからlinkbへ移動する中間の時点における各駆動軸の回転角度を求め、求められた各回転角度に基づいてフォワードキネマティクスを解くことによっても、中間リンクであるlinkcをより正確に設定できる。すなわち、linkaからlinkbへ移動する期間において、各駆動軸はすべて一様に動作するわけでは無く、動作の前半の一部分や、動作の後半の一部分にのみ動作する駆動軸も存在する。したがって、linkaからlinkbへ移動する中間の時点における各駆動軸の回転角度を求め、求められた各回転角度に基づいてフォワードキネマティクスを解くことによって中間リンクであるlinkcをより正確に設定できる
次いで、演算装置14により、linka、linkb及びlinkcを近似する近似体と、周辺物の干渉可能性が判定される(ステップS54)。具体的には、linka、linkb及びlinkcに対応するリンクLの形状を第2直方体で近似したロボット近似体(「ロボット近似体」の一例)を生成し、これらを包含する第1直方体で近似した第1の組み合わせ近似体(「第1の組み合わせ近似体」の一例)を生成し、周辺物近似体データObs1及びObs2との干渉可能性を判定する。
linkaに相当するロボット近似体は、姿勢qiの各駆動軸のジョイント値と、各リンクLの長さ、ならびに、ステップS12で記憶されたリンクLのロボットデータに基づいて計算することができ、第2直方体を特定する各頂点の値として算出することができる。なお、第2の直方体は、有効境界ボックス(OBB: Oriented Bounding Box)により生成されてよい。
同様に、linkb及びlinkcについてもロボット近似体が算出される。
次いで、これら3つのロボット近似体の各頂点の座標の最大値及び最小値を座標軸ごとに抽出することにより、これら3つのロボット近似体を組み合わせて構成される第1の組み合わせ近似体が算出される。ここで、ロボット近似体の各頂点に内接するように第1の組み合わせ近似体を生成してもよいし、所定の距離だけロボット近似体と離間するように、これらロボット近似体を包含する第1の組み合わせ近似体を生成してもよい。
そして、第1の組み合わせ近似体と周辺物近似体データObs1及びObs2との干渉可能性が判定される。まず、第1の組み合わせ近似体と周辺物近似体データObsiとの最短距離mがそれぞれ算出される。これは、第1組み合わせ近似体と各周辺物近似体の各座標を比較することにより算出することができる。
次いで、最短距離mを、干渉可能性があるか否かを判定するための閾値と比較する。閾値は、予め設定された値を用いてもよく、また、その他の値を用いることが可能であるが、本実施の形態では以下のように、(L2+L3−L1)を閾値として用いる。すなわち、linka及びlinkcのリンク間距離L2、linkb及びlinkcのリンク間距離L3及びlinka及びlinkcのリンク間距離L1を、各姿勢におけるリンクLの特定位置の座標に基づいて算出し、(L2+L3−L1)を算出する。L1は、現状態のリンク間距離を示し、(L2+L3)は、次状態のリンク間距離を示しているため、仮にリンクLが円弧運動をすると仮定すると、「(L2+L3)>L1」である。このとき、第1の組み合わせ近似体から初期姿勢と目標姿勢とを結ぶ実際の軌道上のある点におけるロボットアーム16のリンクLがはみ出るとしても、多くとも(L2+L3−L1)であると合理的に見積もることができる。従って、(L2+L3−L1)とmを比較し、「(L2+L3−L1)>m」ならば、その周辺物近似体データObsiとリンクLは、linkaからlinkcで干渉可能性があると判定される。
図9は、第1の組み合わせ近似体と周辺物近似体データObs1及びObs2が、それぞれ干渉可能性があると判定された様子を示している。
ステップS54で干渉可能性がある周辺物近似体データObsiがある場合(「YES」)は、続くステップS55において、演算装置14により、linka、linkb及びlinkcを更に細かく(分解能を高めて)干渉判定する必要がある(「YES」)か、あるいは、各姿勢が十分に近接し、十分な分解能をもっているから、それ以上の詳細な分解能で本実施に係る干渉判定の必要性はない(「NO」)か、判定される。
具体的には、以下の2つの条件の双方が満足されない場合は、更に分解能を高めて干渉判定する。
第1の条件は、linkaからlinkcを介してlinkbに至るリンクLの移動軌跡が、実際の移動軌跡を十分に再現できているかを示す。十分に再現されている場合は、それ以上詳細に本実施形態に係る高速な干渉判定の必要性はない(「NO」)と判断される。
図10(a)は、第1の条件を示す模式図である。この図に示されるように、linka、linkb及びlinkcのロボット近似体データに基づいて、各姿勢におけるリンクLの所定頂点Aの次状態のリンク間距離(L2+L3)に対する現状態のリンク間距離L1の比率である「L1/(L2+L3)」を移動軌跡の再現率として計算する。ここで、L1/(L2+L3)≦1であるから、リンク間距離L1と、リンク間距離(L2+L3)の値が近く、再現率が1に近いほど、linkaからlinkcを介してlinkbに至るリンクLの移動軌跡が、実際の移動軌跡を十分に再現できていると考えることができる。
次いで、頂点Aの対角に位置する頂点に相当する頂点Bについても、同様に再現率を計算する。すなわち、第2の直方体を用いて近似された各ロボット近似体のぞれぞれに設定された頂点Aに対し、頂点Aの対角の位置に存在する第2の直方体の各頂点についても、同様に再現率を計算する。
そして、両者のうち大きい方の再現率を所定値と比較して、1つ目の条件が満足されているかどうか決定する。なお、所定値としては、例えば、0.8以上、1.0未満の値を用いることができる
このように対角頂点に相当する2点について再現率をそれぞれ計算することにより、リンクLが一端を基点として動作する場合に、基点付近のほとんど移動しない頂点に対する再現率が異常値を示しても、対角頂点に対する再現率を用いることで正確な判定が可能になる。
第2の条件は、linkaとlinkbとの間隔(「間隔を示す量」の一例)が十分に狭いか否かを示す。linkaとlinkbの間隔が十分に狭いといえる場合は、それ以上詳細に本実施形態に係る高速な干渉判定の必要性はない(「NO」)と判断される。
図10(b)は、リンク間の間隔が十分に狭いか否か判断する様子を示している。具体的には、linka及びlinkbのロボット近似体データを、分離軸AX(たとえば、x軸、y軸及びz軸の各軸のいずれか)に射影し、linka及びlinkbの各中心点ならびに各頂点の座標を取得する。そして、分離軸AX上で、互いに最も近接する頂点同士の距離をLbとし、その頂点と中心点との距離をそれぞれLa及びLcとして、「Lb/(La+Lc)」を所定値と比較する。たとえば、いずれかの軸において「Lb/(La+Lc)>3」であれば、その軸については、間隔が十分に狭いといえないため、第2の条件は不満足である。全ての軸において「Lb/(La+Lc)≦3」であれば、第2の条件を満足する。
両条件を共に満足しない場合は、分解能が低い状態で干渉可能性が示されたに過ぎないから、更に分解能を高めて干渉判定するために(「YES」)、ステップS56以降に進む。
ステップS56に進んだときのチェックデータリストDLは、図6(b)の右側に示される。チェックデータリストDLの末尾に記録されていた[linki, linki+1]は、[linka, linkb]として取り出されたため既に削除済みだが、替りにステップS55において詳細にチェックされる可能性がある姿勢である[linka、linkc](ステップS56)及び[linkc、linkb](ステップS57)が順番に記録される(図6(b))。
そして、ステップS52に戻り、チェックデータリストDLの末尾に記録されている[linkc, linkb]が[linka, linkb]として取り出される。次いで、ステップS53において、中間リンクであるlinkcが設定され、ステップS54において、新たに設定されたlinka、linkb及びlinkcに相当する3つのロボット近似体を組み合わせて構成される第2の組み合わせ近似体(「第2の組み合わせ近似体」の一例)が生成される。
図11は、第2の組み合わせ近似体を示している。この図に示されるとおり、第1の組み合わせ近似体よりも第2の組み合わせ近似体は小さい。ここで、小さいとは、組み合わせ近似体の面積または体積の値が相対的に小さいことをいう。そして、上述したとおり、リンク間距離L2、L3及びL1に基づいて計算される(L2+L3−L1)の値と、第2の組み合わせ近似体と周辺物近似体データObsiとの距離を示すmの値を比較し、両者の干渉判定をする。図11では、「m≧(L2+L3−L1)」のため、干渉可能性がない(「NO」)と判定された様子を示している。
ステップS54において「NO」の場合、演算装置14により、ステップS59においてチェックデータリストDLにチェックデータDが残っているか調べられる。(ステップS59)。チェックデータDが残っておらず、チェックデータリストDLが空の場合(「YES」)は、フローチャートが終了する。空でない場合(「NO」)は、ステップS52に戻る。ここでは、図6(c)に示されるように、ステップS57においてチェックデータリストDLに記録された[linkc, linkb]は取り出されて削除されたが、ステップS56においてチェックデータリストDLに記録された[linka、linkc]が残っているため、ステップS52に戻る。
その後、ステップS52において、[linka、linkc]を、[linka、linkb]として取り出し、中間リンクに相当するlinkcを生成する(ステップS53)。
図12は、新たに設定されたlinka、linkb及びlinkcと、これらに相当する3つのロボット近似体を組み合わせて構成される第2の組み合わせ近似体(「第2の組み合わせ近似体」の一例)を示している。この図に示されるように「m<(L2+L3−L1)」の場合、ステップS55に進む。
ステップS55において、干渉判定の分解能が低い場合は、ステップS56及びS57を経てステップS52に戻る。このときのチェックデータリストDLは、図6(d)に示される。
図13は、ステップS52に戻り、図12におけるlinkcをlinkaとし、linkbをlinkbとして中間リンクに相当するlinkcを生成し、これらに相当する3つのロボット近似体を組み合わせて構成される第3の組み合わせ近似体を示している。この図に示されるように、第3の組み合わせ近似体は、第2の組み合わせ近似体よりも小さい。この図に示されるように「m<(L2+L3−L1)」の場合、再度ステップS55に進む。
ステップS55において、干渉判定の分解能が低い場合は、ステップS56及びS57を経てステップS52に戻る。このときのチェックデータリストDLは、図6(e)に示される。
図14は、ステップS52に戻り、図13におけるlinkcをlinkaとし、linkbをlinkbとして中間リンクに相当するlinkcを生成し、これらに相当する3つのロボット近似体を組み合わせて構成される第4の組み合わせ近似体を示している。この図に示されるように、第4の組み合わせ近似体は、第3の組み合わせ近似体よりも小さい。この図に示されるように「m<(L2+L3−L1)」の場合、再度ステップS55に進む。
ステップS55において、干渉判定の分解能が低い場合は、ステップS56及びS57を経てステップS52に戻る。このときのチェックデータリストDLは、図6(f)に示される。
図15は、ステップS52に戻り、図14におけるlinkcをlinkaとし、linkbをlinkbとして中間リンクに相当するlinkcを生成し、これらに相当する3つのロボット近似体を組み合わせて構成される第5の組み合わせ近似体を示している。この図に示されるように、第5の組み合わせ近似体は、第4の組み合わせ近似体よりも小さい。この図に示されるように「m>(L2+L3−L1)」の場合、ステップS59に進む。
ステップS59において、チェックデータリストDLは空ではない(「NO」)ので、ステップS52に戻り、末尾のチェックデータDが取り出される。
図16は、図14におけるlinkaをlinkaとし、linkcをlinkbとして中間リンクに相当するlinkcを生成し、これらに相当する3つのロボット近似体を組み合わせて構成される第5の組み合わせ近似体を示している。この図に示されるように「m<(L2+L3−L1)」の場合、再度ステップS55に進む。
ステップS55において、干渉判定の分解能が低い場合は、ステップS56及びS57を経てステップS52に戻る。
図17は、図16におけるlinkcをlinkaとし、linkbをlinkbとして中間リンクに相当するlinkcを生成し、これらに相当する3つのロボット近似体を組み合わせて構成される第6の組み合わせ近似体を示している。この図に示されるように「m<(L2+L3−L1)」の場合、再度ステップS55に進む。
そして、ステップS55において、第1の条件または第2の条件を満足する場合は、ステップS58に進む。
ステップS58において、その時のlinka、linkb、linkcならびに周辺物近似体データObsiに相当する周辺物を判定結果Rに記録し、ステップS59に進み、チェックデータリストDLに残っているチェックデータDについて同様の処理を繰り返す。
図18は、図16におけるlinkaをlinkaとし、linkcをlinkbとして中間リンクに相当するlinkcを生成し、これらに相当する3つのロボット近似体を組み合わせて構成される第6の組み合わせ近似体を示している。この図に示されるように「m<(L2+L3−L1)」の場合、再度ステップS55に進み、同様に、第1の条件または第2の条件を満足する場合は、ステップS58に進み、その時のlinka、linkb、linkcならびに周辺物近似体データObsiに相当する周辺物を判定結果Rに記録し、ステップS59に進む。
図19は、図5に示されるフローチャートに従って同様の処理を実行した実行結果を示している。この図に示されるように、linkiからlinki+1に至る経路において、第2の組み合わせ近似体による干渉判定処理で終わっている部分、第4の組み合わせ近似体による干渉判定処理で終わっている部分、第5の組み合わせ近似体による干渉判定処理で終わっている部分、第6の組み合わせ近似体による干渉判定処理で終わっている部分がある。
その後、ロボットアーム16の異なるリンクLについて、図5に示されるフローチャートを順次実行する。なお、図5に示されるフローチャートに示す干渉判定処理は、ロボットアーム16の少なくとも1つの着目部位に対して行われればよい。
なお、図5に示すフローチャートに示す干渉判定処理を実行した後、干渉可能性が有と判定された判定結果Rで示される姿勢間において、より精密に干渉判定をすることができる異なる干渉判定方法を用いて、実際に干渉するか否かを決定する演算処理や、あるいは、干渉する位置を特定するための演算処理などを実行してもよい。
以上のような干渉判定方法によれば、周辺物の干渉可能性がないと判定された部分については、以降の詳細な干渉判定を省略する一方で、干渉可能性があると判定された部分については、所定の分解能に達するまで干渉判定を繰り返すので、高速な干渉判定処理と干渉可能性のある動作経路の詳細な特定を両立することが可能になる。
なお、ステップS54において生成された第1の組み合わせ近似体、または、他の組み合わせ近似体と、周辺物近似体データObsiが重複するか接触する場合は、干渉が確実であることから、その時点で図5に示されるフローチャートを終了し、その旨を出力するようにしてもよい。
また、近似する方法は、本実施形態に限られず、例えば、凸包のような多面体で近似してもよい。また、周辺物については、事前処理において取得された障害物モデルそのものを用いて干渉判定をしてもよい。
また、組み合わせ近似体を所定の距離だけロボット近似体と離間するように、これらロボット近似体を包含する第1の(または第2以降の)組み合わせ近似体を生成し、周辺物近似体と干渉判定してもよい。たとえば、組み合わせ近似体の大きさに応じた距離だけロボット近似体と離間するように、これらロボット近似体を包含する第1(または第2以降)の組み合わせ近似体を生成してもよい。
ステップS55における判断手法は、異なる指標を用いて様々な方法を適用してもよいし、省略することもできる。たとえば、隣接する姿勢間の距離に基づいて、以降の高分解能での干渉判定処理の要否を判断してもよい。
本実施形態に示される干渉判定方法は、様々なロボットに適用可能であり、たとえば、水平多関節型のロボットアームに用いることもできる。
また、ステップS54において、所定の場合は、異なる方法で干渉判定をしてもよい。たとえば、各リンクLのジョイント値の組み合わせによっては、円弧運動ではなく波運動になる場合があるため、例えば、先端のリンクLのジョイント値が大きく変動する場合は、干渉可能性があると判断することにしてもよい。
なお、本明細書において、「部」や「手段」、「手順」とは、単に物理的構成を意味するものではなく、その「部」等が行う処理をソフトウェアによって実現する場合も含む。また、1つの「部」等や、装置が行う処理が2つ以上の物理的構成や装置により実行されても、2つ以上の「部」等や、装置が行う処理が1つの物理的手段や装置により実行されてもよい。また、以上の実施の形態は、本発明を説明するための例示であり、本発明をその実施形態のみに限定する趣旨ではない。
また、本発明は、その要旨を逸脱しない限り、さまざまな変形が可能である。たとえば、当業者の通常の創作能力の範囲内で、ある実施形態における一部の構成要素を、他の実施形態に組み合わせることもできる。また、要旨を逸脱しない範囲で、各フローチャートに示される各ステップの順番を変更することもできる。
[第3実施形態]
以下、図面を参照して本発明の第3実施形態について説明する。なお、同一の要素には同一の符号を付し、重複する説明を省略又は簡略化する。
図20は、第3実施形態に係る干渉判定方法のフローチャートである。第2実施形態に係る干渉判定方法と異なる点は、ステップS55において「NO」と判断された後に、新たなステップS60として対象の姿勢間で詳細な干渉判定を実行し、干渉する場合は、フローチャートを終了する点である。
より具体的には、ステップS54において、linka、linkc及びlinkbからなる組み合わせ近似体が、周辺物近似体データObsiと干渉可能性があると判定され、かつ、ステップS55において、既に十分な分解能に達していると判断された(「NO」)場合は、高精度の干渉判定が可能となる別の干渉判定方法を用いて、linka、linkc 及びlinkbで規定される所定リンクLの姿勢間の動作経路において、周辺物近似体データObsiとの干渉判定を実行する(ステップS60)。例えば、linka、からlinkbの間で、隣接するロボット近似体同士が接触する、すなわち、隣接するロボット近似体の間に隙間が生じない程度の離散幅で、複数の中間姿勢のロボット近似体を生成し、生成された各ロボット近似体と周辺物近似体との干渉の有無を判定することで、詳細な干渉判定を実行する。
その結果、干渉すると判定(「YES」)された場合は、フローチャートを終了する。出力結果としては、干渉することを示す出力でもよいし、干渉すると判定されたリンクL及び姿勢を特定する出力形態でもよい。
干渉しないと判定(「NO」)された場合はステップS58以降に進み、第2実施形態と同様の処理が行われる。
このように、第2実施形態に係る高速な干渉判定処理とは別に、低速で高精度の干渉判定処理アルゴリズムを準備しておき、高速な干渉判定処理で絞り込まれた所定の動作経路の一部についてのみ、高精度の干渉判定処理アルゴリズムを適用するようにしたから、高速で高精度の干渉判定を実現することが可能になる。
なお、第1の姿勢と第2の姿勢の間の姿勢のうち、目標姿勢に近い方から順番に干渉判定をするようにしたが、初期姿勢に近い姿勢から干渉判定を実行して、所定の分解能に達しても、ステップS60の結果、干渉すると判定された時点でその姿勢を出力するとともに以降の干渉判定処理を中止するようにしてもよい。その際に、処理を中止せず、干渉しないと判定されたそれまでの経路に続く新たな経路を探索するように構成してもよい。
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
(付記1)
インタフェース28、記憶装置26及び演算部24を備える演算装置14を用いて、複数の可動軸を有するロボットアーム16が初期姿勢から目標姿勢に移動する動作経路上で、前記ロボットアーム16の周辺に存在する周辺物と干渉する可能性を判定する方法であって、
前記演算部24は、
前記記憶装置26に、前記ロボットアーム16の形状を、所定の着目部位について多面体で近似したロボットデータを記憶させるステップと、
前記記憶装置26に、前記周辺物の形状を近似した周辺物近似体のデータを記憶させるステップと、
前記インタフェース28を用いて、前記初期姿勢及び前記目標姿勢を取得するステップと、
前記初期姿勢から前記目標姿勢へと移動する前記動作経路上における前記ロボットアーム16の第1の姿勢と、前記第1の姿勢よりも、相対的に前記目標姿勢側の前記動作経路上における前記ロボットアーム16の第2の姿勢と、前記第1の姿勢と前記第2の姿勢との間の中間姿勢と、を設定するステップと、
前記ロボットデータに基づいて、前記第1の姿勢、前記第2の姿勢及び前記中間姿勢における前記ロボットアーム16の形状を、少なくとも一つの前記着目部位について前記多面体で近似した複数のロボット近似体を生成するステップと、
このステップで生成された複数の前記ロボット近似体を組み合わせて構成される第1の組み合わせ近似体を生成するステップと、
前記第1の組み合わせ近似体と、前記周辺物近似体とが干渉するか判定するステップと、
このステップにおいて干渉すると判定された場合は、
前記第1の組み合わせ近似体を構成する複数の前記ロボット近似体のうち、隣接する二つの前記ロボット近似体の間隔を示す量を算出し、所定値と比較するステップと、
前記間隔を示す量と前記所定値との比較結果に基づいて、前記第1の組み合わせ近似体よりも小さい組み合わせ近似体を生成するか否かを判断するステップと、
を実行する干渉判定方法。
(付記2)
演算部24を備える演算装置14を用いて、複数の可動軸を有するロボットアーム16が初期姿勢から目標姿勢に移動する動作経路上で、前記ロボットアーム16の周辺に存在する周辺物と干渉する可能性を判定する方法であって、
前記演算部24は、
前記初期姿勢から前記目標姿勢へと移動する前記動作経路上における前記ロボットアーム16の第1の姿勢を特定するための複数の前記可動軸の回転角度を設定するステップと、
前記第1の姿勢よりも前記目標姿勢側の前記動作経路上における前記ロボットアーム16の第2の姿勢を特定するための複数の前記可動軸の回転角度であって、前記第1の姿勢から前記第2の姿勢に変化する間の回転角度は、前記可動軸ごとに、単調増加又は単調減少する回転角度を、設定するステップと、
前記第1の姿勢と前記第2の姿勢との間の少なくとも一つの中間姿勢を特定するために複数の前記可動軸の回転角度を示す情報を設定するステップと、
前記ロボットアーム16の少なくとも一つの着目部位について、前記第1の姿勢、前記第2の姿勢及び前記中間姿勢を多面体で近似した複数のロボット近似体を生成するステップと、
このステップで生成された複数の前記ロボット近似体を組み合わせて構成される第1の組み合わせ近似体が、前記周辺物と干渉するか判断するステップと、
このステップで干渉すると判断された場合は、複数の前記ロボット近似体を組み合わせて構成され、前記第1の組み合わせ近似体よりも小さい第2の組み合わせ近似体を生成するステップと、
前記第2の組み合わせ近似体と、前記周辺物近似体とが干渉するか判定するステップと、
を実行する干渉判定方法。
(付記3)
インタフェース28、記憶装置26及び演算部24を備える演算装置14を用いて、複数の可動軸を有するロボットアーム16が初期姿勢から目標姿勢に移動する動作経路上で、前記ロボットアーム16の周辺に存在する周辺物と干渉する可能性を判定する干渉判定システム10であって、
前記演算部24は、
前記記憶装置26に、前記ロボットアーム16の形状を、所定の着目部位について多面体で近似したロボットデータを記憶させるステップと、
前記記憶装置26に、前記周辺物の形状を近似した周辺物近似体のデータを記憶させるステップと、
前記インタフェース28を用いて、前記初期姿勢及び前記目標姿勢を取得するステップと、
前記初期姿勢から前記目標姿勢へと移動する前記動作経路上における前記ロボットアーム16の第1の姿勢と、前記第1の姿勢よりも、相対的に前記目標姿勢側の前記動作経路上における前記ロボットアーム16の第2の姿勢と、前記第1の姿勢と前記第2の姿勢との間の中間姿勢と、を設定するステップと、
前記ロボットデータに基づいて、前記第1の姿勢、前記第2の姿勢及び前記中間姿勢における前記ロボットアーム16の形状を、少なくとも一つの前記着目部位について前記多面体で近似した複数のロボット近似体を生成するステップと、
このステップで生成された複数の前記ロボット近似体を組み合わせて構成される第1の組み合わせ近似体を生成するステップと、
前記第1の組み合わせ近似体と、前記周辺物近似体とが干渉するか判定するステップと、
このステップにおいて干渉すると判定された場合は、
前記第1の組み合わせ近似体を構成する複数の前記ロボット近似体のうち、隣接する二つの前記ロボット近似体の間隔を示す量を算出し、所定値と比較するステップと、
前記間隔を示す量と前記所定値との比較結果に基づいて、前記第1の組み合わせ近似体よりも小さい組み合わせ近似体を生成するか否かを判断するステップと、
を実行する干渉判定システム。
(付記4)
インタフェース28、記憶装置26及び演算部24を備える演算装置14を用いて、複数の可動軸を有するロボットアーム16が初期姿勢から目標姿勢に移動する動作経路上で、前記ロボットアーム16の周辺に存在する周辺物と干渉する可能性を判定する干渉判定を前記演算装置14に実行させるためのプログラムであって、
前記演算部24に、
前記記憶装置26に、前記ロボットアーム16の形状を、所定の着目部位について多面体で近似したロボットデータを記憶させるステップと、
前記記憶装置26に、前記周辺物の形状を近似した周辺物近似体のデータを記憶させるステップと、
前記インタフェース28を用いて、前記初期姿勢及び前記目標姿勢を取得するステップと、
前記初期姿勢から前記目標姿勢へと移動する前記動作経路上における前記ロボットアーム16の第1の姿勢と、前記第1の姿勢よりも、相対的に前記目標姿勢側の前記動作経路上における前記ロボットの第2の姿勢と、前記第1の姿勢と前記第2の姿勢との間の中間姿勢と、を設定するステップと、
前記ロボットデータに基づいて、前記第1の姿勢、前記第2の姿勢及び前記中間姿勢における前記ロボットの形状を、少なくとも一つの前記着目部位について前記多面体で近似した複数のロボット近似体を生成するステップと、
このステップで生成された複数の前記ロボット近似体を組み合わせて構成される第1の組み合わせ近似体を生成するステップと、
前記第1の組み合わせ近似体と、前記周辺物近似体とが干渉するか判定するステップと、
このステップにおいて干渉すると判定された場合は、
前記第1の組み合わせ近似体を構成する複数の前記ロボット近似体のうち、隣接する二つの前記ロボット近似体の間隔を示す量を算出し、所定値と比較するステップと、
前記間隔を示す量と前記所定値との比較結果に基づいて、前記第1の組み合わせ近似体よりも小さい組み合わせ近似体を生成するか否かを判断するステップと、
を実行させるプログラム。
10…干渉判定システム、12…入力部、14…演算装置、16…ロボットアーム、18…モニタ、20…出力部、22…計算機、24…演算部、26…記憶装置、28…インタフェース、BL-L5、L…リンク、DL…チェックデータリスト、L…リンク

Claims (9)

  1. 取得部、記憶部及び演算部を備える演算装置を用いて、複数の可動軸を有するロボットが、初期姿勢から目標姿勢に移動する動作経路上で、前記ロボットの周辺に存在する周辺物と干渉する可能性を判定する方法であって、
    前記演算部は、
    前記記憶部に、前記ロボットの形状を、所定の着目部位について多面体で近似したロボットデータを記憶させるステップと、
    前記記憶部に、前記周辺物の形状を近似した周辺物近似体のデータを記憶させるステップと、
    前記取得部を用いて、前記初期姿勢及び前記目標姿勢を取得するステップと、
    前記初期姿勢から前記目標姿勢へと移動する前記動作経路上における前記ロボットの第1の姿勢と、前記第1の姿勢よりも、相対的に前記目標姿勢側の前記動作経路上における前記ロボットの第2の姿勢と、前記第1の姿勢と前記第2の姿勢との間の中間姿勢と、を設定するステップと、
    前記ロボットデータに基づいて、前記第1の姿勢、前記第2の姿勢及び前記中間姿勢における前記ロボットの形状を、前記着目部位について前記多面体で近似したロボット近似体を生成するステップと、
    このステップで生成された前記ロボット近似体を組み合わせて構成される第1の組み合わせ近似体を生成するステップと、
    前記第1の組み合わせ近似体と、前記周辺物近似体とが干渉するか判定するステップと、
    このステップにおいて干渉すると判定された場合は、
    前記第1の組み合わせ近似体を構成する複数の前記ロボット近似体のうち、隣接する二つの前記ロボット近似体の間隔を示す量を算出し、第1の所定値と比較するステップと、
    前記間隔を示す量と前記第1の所定値との比較結果に基づいて、前記第1の組み合わせ近似体よりも小さい組み合わせ近似体を生成するか否かを判断するステップと、
    を実行する干渉判定方法。
  2. 前記演算部は、
    前記間隔を示す量が前記第1の所定値以上と判断された場合は、
    前記着目部位について、前記第1の姿勢、前記第2の姿勢及び前記中間姿勢に相当する複数の前記ロボット近似体の少なくとも二つを組み合わせて構成され、前記第1の組み合わせ近似体よりも小さい第2の組み合わせ近似体を生成するステップと、
    前記第2の組み合わせ近似体と、前記周辺物近似体とが干渉するか判定するステップと、
    を更に実行する請求項1に記載の干渉判定方法。
  3. 前記演算部は、
    前記第2の組み合わせ近似体と、前記周辺物近似体とが干渉するか判定するステップにおいて干渉すると判定され、かつ、前記第2の組み合わせ近似体を構成する複数の前記ロボット近似体のうち、隣接する二つの前記ロボット近似体の間隔を示す量が前記第1の所定値以上の場合に、
    前記第1の姿勢、前記第2の姿勢及び前記中間姿勢に相当する複数の前記ロボット近似体の少なくとも二つを組み合わせて構成され、前記第(n−1)の組み合わせ近似体よりも小さい第nの組み合わせ近似体を生成するステップと(ただし、nは3以上の整数)、
    前記第nの組み合わせ近似体と、前記周辺物近似体とが干渉するか判定するステップを、
    更に実行する請求項2に記載の干渉判定方法。
  4. 前記演算部は、
    前記第nの組み合わせ近似体を構成する複数の前記ロボット近似体のうち、隣接する二つの前記ロボット近似体の間隔を示す量が、前記第1の所定値未満となるまで、nを1ずつ増加させながら、
    前記第nの組み合わせ近似体を生成するステップと、前記第nの組み合わせ近似体と前記周辺物近似体とが干渉するか判定するステップとを、 繰り返す請求項3に記載の干渉判定方法。
  5. 前記第nの組み合わせ近似体を生成するステップは、
    前記第(n−1)の組み合わせ近似体を構成する複数の前記ロボット近似体のうち、隣接する二つの前記ロボット近似体を選択するステップと、
    前記隣接する二つの前記ロボット近似体間の動作経路上の中間姿勢を新たに設定するステップと、
    新たに設定された前記中間姿勢に相当する前記ロボット近似体を生成するステップと、
    前記隣接する二つの前記ロボット近似体と、新たに設定された前記中間姿勢に相当する前記ロボット近似体と、を組み合わせて第nの組み合わせ近似体を生成するステップと、
    を含む請求項4に記載の干渉判定方法。
  6. 前記第kの組み合わせ近似体(kは1以上の整数)と、前記周辺物近似体とが干渉するか判定するステップは、
    前記第kの組み合わせ近似体と前記周辺物近似体との距離を算出するステップと、
    前記距離と第2の所定値とを比較するステップと、
    を含む請求項1から5のいずれか一項に記載の干渉判定方法。
  7. 演算部を備える演算装置を用いて、複数の可動軸を有するロボットが初期姿勢から目標姿勢に移動する動作経路上で、前記ロボットの周辺に存在する周辺物と干渉する可能性を判定する方法であって、
    前記演算部は、
    前記初期姿勢から前記目標姿勢へと移動する前記動作経路上における前記ロボットの第1の姿勢を特定するための複数の前記可動軸の回転角度を設定するステップと、
    前記第1の姿勢よりも前記目標姿勢側の前記動作経路上における前記ロボットの第2の姿勢を特定するための複数の前記可動軸の回転角度であって、前記第1の姿勢から前記第2の姿勢に変化する間の回転角度は、前記可動軸ごとに、単調増加又は単調減少する回転角度を、設定するステップと、
    前記第1の姿勢と前記第2の姿勢との間の少なくとも一つの中間姿勢を特定するために複数の前記可動軸の回転角度を示す情報を設定するステップと、
    前記ロボットの少なくとも一つの着目部位を多面体で近似したロボット近似体であって、前記第1の姿勢、前記第2の姿勢及び前記中間姿勢のそれぞれに対応した複数のロボット近似体を生成するステップと、
    このステップで生成された複数の前記ロボット近似体を組み合わせて構成される第1の組み合わせ近似体が、前記周辺物と干渉するか判断するステップと、
    このステップで干渉すると判断された場合は、複数の前記ロボット近似体を組み合わせて構成され、前記第1の組み合わせ近似体よりも小さい第2の組み合わせ近似体を生成するステップと、
    前記第2の組み合わせ近似体と、前記周辺物近似体とが干渉するか判定するステップと、
    を実行する干渉判定方法。
  8. 取得部、記憶部及び演算部を備える演算装置を用いて、複数の可動軸を有するロボットが初期姿勢から目標姿勢に移動する動作経路上で、前記ロボットの周辺に存在する周辺物と干渉する可能性を判定する干渉判定システムであって、
    前記演算部は、
    前記記憶部に、前記ロボットの形状を、所定の着目部位について多面体で近似したロボットデータを記憶させるステップと、
    前記記憶部に、前記周辺物の形状を近似した周辺物近似体のデータを記憶させるステップと、
    前記取得部を用いて、前記初期姿勢及び前記目標姿勢を取得するステップと、
    前記初期姿勢から前記目標姿勢へと移動する前記動作経路上における前記ロボットの第1の姿勢と、前記第1の姿勢よりも、相対的に前記目標姿勢側の前記動作経路上における前記ロボットの第2の姿勢と、前記第1の姿勢と前記第2の姿勢との間の中間姿勢と、を設定するステップと、
    前記ロボットデータに基づいて、前記第1の姿勢、前記第2の姿勢及び前記中間姿勢における前記ロボットの形状を、少なくとも一つの前記着目部位について前記多面体で近似した複数のロボット近似体を生成するステップと、
    このステップで生成された前記ロボット近似体を組み合わせて構成される第1の組み合わせ近似体を生成するステップと、
    前記第1の組み合わせ近似体と、前記周辺物近似体とが干渉するか判定するステップと、
    このステップにおいて干渉すると判定された場合は、
    前記第1の組み合わせ近似体を構成する複数の前記ロボット近似体のうち、隣接する二つの前記ロボット近似体の間隔を示す量を算出し、第1の所定値と比較するステップと、
    前記間隔を示す量と前記第1の所定値との比較結果に基づいて、前記第1の組み合わせ近似体よりも小さい組み合わせ近似体を生成するか否かを判断するステップと、
    を実行する干渉判定システム。
  9. 取得部、記憶部及び演算部を備える演算装置を用いて、複数の可動軸を有するロボットが初期姿勢から目標姿勢に移動する動作経路上で、前記ロボットの周辺に存在する周辺物と干渉する可能性を判定する干渉判定を前記演算装置に実行させるためのプログラムであって、
    前記演算部に、
    前記記憶部に、前記ロボットの形状を、所定の着目部位について、多面体で近似したロボットデータを記憶させるステップと、
    前記記憶部に、前記周辺物の形状を近似した周辺物近似体のデータを記憶させるステップと、
    前記取得部を用いて、前記初期姿勢及び前記目標姿勢を取得するステップと、
    前記初期姿勢から前記目標姿勢へと移動する前記動作経路上における前記ロボットの第1の姿勢と、前記第1の姿勢よりも、相対的に前記目標姿勢側の前記動作経路上における前記ロボットの第2の姿勢と、前記第1の姿勢と前記第2の姿勢との間の中間姿勢と、を設定するステップと、
    前記ロボットデータに基づいて、前記第1の姿勢、前記第2の姿勢及び前記中間姿勢における前記ロボットの形状を、少なくとも一つの前記着目部位について前記多面体で近似した複数のロボット近似体を生成するステップと、
    このステップで生成された前記ロボット近似体を組み合わせて構成される第1の組み合わせ近似体を生成するステップと、
    前記第1の組み合わせ近似体と、前記周辺物近似体とが干渉するか判定するステップと、
    このステップにおいて干渉すると判定された場合は、
    前記第1の組み合わせ近似体を構成する複数の前記ロボット近似体のうち、隣接する二つの前記ロボット近似体の間隔を示す量を算出し、第1の所定値と比較するステップと、
    前記間隔を示す量と前記第1の所定値との比較結果に基づいて、前記第1の組み合わせ近似体よりも小さい組み合わせ近似体を生成するか否かを判断するステップと、
    を実行させるプログラム。
JP2017216385A 2017-11-09 2017-11-09 干渉判定方法、干渉判定システム及びコンピュータプログラム Active JP6895082B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2017216385A JP6895082B2 (ja) 2017-11-09 2017-11-09 干渉判定方法、干渉判定システム及びコンピュータプログラム
CN201811059685.1A CN109760040B (zh) 2017-11-09 2018-09-11 干扰判定方法、干扰判定***以及存储介质
EP18194590.8A EP3495098B1 (en) 2017-11-09 2018-09-14 Interference determination method, interference determination system, and computer program
US16/136,995 US10919154B2 (en) 2017-11-09 2018-09-20 Interference determination method, interference determination system, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017216385A JP6895082B2 (ja) 2017-11-09 2017-11-09 干渉判定方法、干渉判定システム及びコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2019084649A true JP2019084649A (ja) 2019-06-06
JP6895082B2 JP6895082B2 (ja) 2021-06-30

Family

ID=63592630

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017216385A Active JP6895082B2 (ja) 2017-11-09 2017-11-09 干渉判定方法、干渉判定システム及びコンピュータプログラム

Country Status (4)

Country Link
US (1) US10919154B2 (ja)
EP (1) EP3495098B1 (ja)
JP (1) JP6895082B2 (ja)
CN (1) CN109760040B (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2021152843A1 (ja) * 2020-01-31 2021-08-05
WO2022209577A1 (ja) * 2021-03-31 2022-10-06 Johnan株式会社 ロボット制御システム、制御装置、およびロボットの制御方法
WO2023166588A1 (ja) * 2022-03-02 2023-09-07 ファナック株式会社 作業ロボットシステム
WO2024024036A1 (ja) * 2022-07-28 2024-02-01 ファナック株式会社 ロボットのパラメータの設定装置
JP7484254B2 (ja) 2020-03-13 2024-05-16 オムロン株式会社 干渉判定装置、方法、及びプログラム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3725472A1 (de) * 2019-04-16 2020-10-21 Siemens Aktiengesellschaft Verfahren zum ermitteln einer trajektorie eines roboters
CN110181515B (zh) * 2019-06-10 2020-12-01 浙江工业大学 一种双机械臂协同装配作业路径规划方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11328233A (ja) * 1998-05-12 1999-11-30 Fujitsu Ltd 干渉チェック装置および方法
JP2006155559A (ja) * 2004-11-05 2006-06-15 Toyota Motor Corp 経路計画装置
JP2013111696A (ja) * 2011-11-29 2013-06-10 Seiko Epson Corp 把持ロボット、制御装置、制御方法、及びプログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07107648B2 (ja) * 1987-09-09 1995-11-15 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン 物体間衝突検出装置
EP0412619B1 (en) * 1989-08-11 1995-11-29 Koninklijke Philips Electronics N.V. Method and apparatus for determining potential collisions using a swept bubble data hierarchy
US5347459A (en) * 1993-03-17 1994-09-13 National Research Council Of Canada Real time collision detection
JP3715537B2 (ja) * 2001-02-19 2005-11-09 本田技研工業株式会社 多関節ロボットの干渉回避方法およびプログラム
JP4364634B2 (ja) * 2001-07-13 2009-11-18 ブルックス オートメーション インコーポレイテッド 二次元3自由度ロボットアームの軌道プラニング及び移動制御戦略
DE102004062163A1 (de) * 2004-12-20 2006-06-22 Dr. Johannes Heidenhain Gmbh Verfahren zur Ermittlung einer möglichen Kollision mindestens zweier zueinander beweglicher Objekte
EP2342113B1 (en) * 2008-09-30 2013-01-16 Nissan Motor Co., Ltd. Control-operation assisting device and control-operation assisting method
US10109103B2 (en) * 2010-06-30 2018-10-23 Barry L. Jenkins Method of determining occluded ingress and egress routes using nav-cell to nav-cell visibility pre-computation
JP5144785B2 (ja) 2011-04-18 2013-02-13 ファナック株式会社 ロボットの着目部位と周辺物との干渉を予測する方法及び装置
CN103009389B (zh) * 2012-11-30 2015-07-08 北京控制工程研究所 一种冗余空间机械臂在轨抓捕的轨迹规划方法
JP6879464B2 (ja) * 2017-08-02 2021-06-02 オムロン株式会社 干渉判定方法、干渉判定システム及びコンピュータプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11328233A (ja) * 1998-05-12 1999-11-30 Fujitsu Ltd 干渉チェック装置および方法
JP2006155559A (ja) * 2004-11-05 2006-06-15 Toyota Motor Corp 経路計画装置
JP2013111696A (ja) * 2011-11-29 2013-06-10 Seiko Epson Corp 把持ロボット、制御装置、制御方法、及びプログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2021152843A1 (ja) * 2020-01-31 2021-08-05
WO2021152843A1 (ja) * 2020-01-31 2021-08-05 株式会社Fuji ロボット制御装置およびロボット制御方法
JP7484254B2 (ja) 2020-03-13 2024-05-16 オムロン株式会社 干渉判定装置、方法、及びプログラム
WO2022209577A1 (ja) * 2021-03-31 2022-10-06 Johnan株式会社 ロボット制御システム、制御装置、およびロボットの制御方法
WO2023166588A1 (ja) * 2022-03-02 2023-09-07 ファナック株式会社 作業ロボットシステム
WO2024024036A1 (ja) * 2022-07-28 2024-02-01 ファナック株式会社 ロボットのパラメータの設定装置

Also Published As

Publication number Publication date
CN109760040B (zh) 2021-12-28
EP3495098B1 (en) 2020-12-23
CN109760040A (zh) 2019-05-17
US20190134815A1 (en) 2019-05-09
EP3495098A1 (en) 2019-06-12
US10919154B2 (en) 2021-02-16
JP6895082B2 (ja) 2021-06-30

Similar Documents

Publication Publication Date Title
JP2019084649A (ja) 干渉判定方法、干渉判定システム及びコンピュータプログラム
CN109382820B (zh) 干扰判定方法、干扰判定***以及存储介质
CN110914024B (zh) 路径输出方法、路径输出***和路径输出程序
US10671081B1 (en) Generating and utilizing non-uniform volume measures for voxels in robotics applications
WO2018143003A1 (ja) ロボットパス生成装置及びロボットシステム
US20220032461A1 (en) Method to incorporate complex physical constraints in path-constrained trajectory planning for serial-link manipulator
US9827675B2 (en) Collision avoidance method, control device, and program
JP4730440B2 (ja) 軌道計画装置及び軌道計画方法、並びにコンピューター・プログラム
JP6931457B2 (ja) モーション生成方法、モーション生成装置、システム及びコンピュータプログラム
Sundaralingam et al. Geometric in-hand regrasp planning: Alternating optimization of finger gaits and in-grasp manipulation
Xidias et al. Time-optimal task scheduling for articulated manipulators in environments cluttered with obstacles
JP7262373B2 (ja) 軌道計画生成装置、軌道計画生成方法、および軌道計画生成プログラム
Lamb et al. An automation system for industrial 3-D laser digitizing
JP2017131990A (ja) 干渉回避方法
Seyboldt et al. Sampling-based path planning to cartesian goal positions for a mobile manipulator exploiting kinematic redundancy
JP2007313592A (ja) 経路作成装置及び経路作成方法
CN108858162B (zh) 四轴机械臂的位置确定方法和装置
Borangiu et al. Constraints-based motion planning for an automatic, flexible laser scanning robotized platform
US20240246179A1 (en) Scan planning and scan operations for welding an object
US20230264352A1 (en) Robot device for detecting interference of constituent member of robot
Shi et al. Real-time grasp planning with environment constraints
Wang et al. A force control assisted robot path generation system
MISANI Optimal object grasping through Digital Twin representation in a robotic environment
De Maeyer Under-constrained end-effector path following
CN116652972A (zh) 基于双向贪心搜索算法的串联机器人末端轨迹规划方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210308

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210407

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210519

R150 Certificate of patent or registration of utility model

Ref document number: 6895082

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250