(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-15
(45)【発行日】2024-05-23
(54)【発明の名称】経路生成装置および工作機械
(51)【国際特許分類】
B25J 9/10 20060101AFI20240516BHJP
G05B 19/4093 20060101ALI20240516BHJP
G05B 19/4069 20060101ALN20240516BHJP
【FI】
B25J9/10 A
G05B19/4093 E
G05B19/4069
(21)【出願番号】P 2020069261
(22)【出願日】2020-04-07
【審査請求日】2023-02-28
(73)【特許権者】
【識別番号】000149066
【氏名又は名称】オークマ株式会社
(74)【代理人】
【識別番号】110001210
【氏名又は名称】弁理士法人YKI国際特許事務所
(72)【発明者】
【氏名】安藤 雅幸
【審査官】稲垣 浩司
(56)【参考文献】
【文献】特開2017-27501(JP,A)
【文献】特開2019-67153(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 - 21/02
G05B 19/18 - 19/416
G05B 19/42 - 19/46
(57)【特許請求の範囲】
【請求項1】
工作機械の加工室内に及ぶ動作範囲を有したロボットの経路生成装置であって、
予め設定された物体の位置条件に基づいて前記ロボットの経路計画を生成するロボット経路計画手段と、
前記物体の位置条件と前記経路計画とに基づいて前記物体と前記ロボットとの干渉の有無を仮想的に判断する干渉シミュレータと、
前記干渉シミュレータでの判断結果に基づいて、前記経路計画の成否を判断するとともに、経路計画が失敗した場合には、失敗要因と、前記ロボットに干渉する物体である干渉物体と、を推定する計画失敗要因推定手段と、
前記経路計画が失敗した場合に、前記計画失敗要因推定手段で推定された前記失敗要因および前記干渉物体をオペレータまたは外部機器に出力する通知手段と、
を備える、ことを特徴とする経路生成装置。
【請求項2】
請求項1に記載の経路生成装置であって、
前記計画失敗要因推定手段は、前記失敗要因が、前記ロボットの移動の開始点における干渉発生、前記ロボットの移動の目標点が前記ロボットの可動域外、前記目標点における干渉発生、および、前記開始点と前記目標点の間における干渉発生のいずれであるかを判断する、
ことを特徴とする経路生成装置。
【請求項3】
請求項1または2に記載の経路生成装置であって、
前記ロボットが前記工作機械の1以上の可動部に干渉する場合、前記位置条件を、前記1以上の可動部を規定の退避位置に退避させた条件に変更したうえで、前記経路計画の再生成と前記経路計画の成否の再判断を行う、
ことを特徴とする経路生成装置。
【請求項4】
請求項3に記載の経路生成装置であって、
前記ロボットが2以上の可動部に干渉する場合、前記経路計画が成功するまで、前記経路計画の再生成と前記経路計画の成否の再判断を、前記位置条件において退避させる前記可動部を一つずつ増やしながら、繰り返し実行し、
前記計画失敗要因推定手段は、前記経路計画が成功した際の前記位置条件に基づいて、退避させるべき可動部を推定する、
ことを特徴とする経路生成装置。
【請求項5】
請求項4に記載の経路生成装置であって、
前記位置条件における2以上の前記可動部の退避の順序が、前記ロボットの移動の開始点および目標点を通る直線と、前記可動部と、の距離に基づいて決定される、ことを特徴とする経路生成装置。
【請求項6】
請求項
3または4に記載の経路生成装置と、
前記経路計画が失敗した際に前記通知手段が出力した失敗要因のメッセージを表示するメッセージ表示手段と、
を備える、ことを特徴とする工作機械。
【請求項7】
請求項6に記載の工作機械であって、
前記経路計画が成功した際の前記位置条件に従って、前記可動部を現実的に退避させる工作機械制御手段と、
前記ロボットを計画された経路に従って動作させるロボット制御手段と、
を備える、ことを特徴とする工作機械。
【請求項8】
請求項7に記載の工作機械であって、
前記工作機械制御手段は、前記ロボットが計画された経路に従って動作した後に、前記可動部を退避前の状態に戻す、ことを特徴とする工作機械。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットの動作範囲が工作機械の加工室内に及ぶ場合のロボットの経路生成装置および経路生成装置を備えた工作機械に関する。
【背景技術】
【0002】
近年、生産工程の自動化の需要が高まる中で、工作機械の加工室内に備え付けるロボットが提案されている。
【0003】
加工室内に備え付けるロボットは、少スペースでワークの供給と排出ができる。また、加工室内にいることから、クーラントやエアーを用いて、加工室内の清掃が可能である。
【0004】
さらに工作機械のユニットの一つとして組立時に加工室内に備え付けられるため、一般的なロボットセルで必要となるユーザ先でのキャリブレーション工程が簡易化され、システムの立上げにかかるコストが減少する。
【0005】
一方で、加工室内に備え付けるロボットは、刃物台や主軸台、心押し台、前面扉といった工作機械可動部と同じ加工室内で動作したり、加工の度に工具や治具が変更されたりするため、ロボットの動作時の環境と、ロボットプログラム作成時の環境が異なるという問題が生じる。
【0006】
従って、上記のように頻繁に変更される環境下で動作するロボットでは、シミュレータを用いて、干渉物を回避しながら開始点と目標点の経路を自動的に計画・生成し移動できる制御装置を求められる場合がある。経路を自動で計画することで、動作時の環境が多少異なっていても、ロボットは干渉無く移動できる。
【0007】
しかし、教示時点と環境が大きく異なる場合、ロボット移動経路が見つからず、エラーとなり、工作機械全体を含めた加工サイクルが停止するおそれがある。
【0008】
特許文献1では、複数ロボットが逐次的に動作するシステムにおいて、ロボットの経路上の干渉計算を行い、経路上で他のロボットに干渉する場合には、干渉するロボットを退避させる手段を提供している。しかし特許文献1でロボットが移動する経路は自動的に計画された経路ではない。
【先行技術文献】
【特許文献】
【0009】
【発明の概要】
【発明が解決しようとする課題】
【0010】
制御装置が自動的にロボットの経路計画を行う場合、開始点から目標点への経路は複数取りうるため、経路計画が失敗した場合に、加工室内の取り除くべき物体を判断することは容易ではない。従って特許文献1の方法ではロボットを動作させることができない。
【0011】
また、ロボットの経路が計画できずプログラムの進行が止まった際に、現状ではその要因をオペレータに通知できないため、オペレータがプログラムの内容を分析して解決するか、工作機械を教示時点の状態に戻す必要がある。
【0012】
本発明は上記事情を鑑みてなされたもので、その目的は、加工室内のロボットにおいて自動的な経路計画が失敗した場合に、その要因を推定してオペレータに通知し、可能であれば工作機械の可動部を自動的に退避させ、ロボット動作を継続させることにある。
【課題を解決するための手段】
【0013】
本明細書で開示する経路生成装置は、工作機械の加工室内に及ぶ動作範囲を有したロボットの経路生成装置であって、予め設定された物体の位置条件に基づいて前記ロボットの経路計画を生成するロボット経路計画手段と、前記物体の位置条件と前記経路計画とに基づいて前記物体と前記ロボットとの干渉の有無を仮想的に判断する干渉シミュレータと、前記干渉シミュレータでの判断結果に基づいて、前記経路計画の成否を判断するとともに、経路計画が失敗した場合には、失敗要因と、前記ロボットに干渉する物体である干渉物体と、を推定する計画失敗要因推定手段と、前記経路計画が失敗した場合に、前記計画失敗要因推定手段で推定された前記失敗要因および前記干渉物体をオペレータまたは外部機器に出力する通知手段と、を備える、ことを特徴とする。
【0014】
この場合、前記計画失敗要因推定手段は、前記失敗要因が、前記ロボットの移動の開始点における干渉発生、前記ロボットの移動の目標点が前記ロボットの可動域外、前記目標点における干渉発生、および、前記開始点と前記目標点の間における干渉発生のいずれであるかを判断してもよい。
【0015】
また、前記ロボットが前記工作機械の1以上の可動部に干渉する場合、前記位置条件を、前記1以上の可動部を規定の退避位置に退避させた条件に変更したうえで、前記経路計画の再生成と前記経路計画の成否の再判断を行ってもよい。
【0016】
この場合、前記ロボットが2以上の可動部に干渉する場合、前記経路計画が成功するまで、前記経路計画の再生成と前記経路計画の成否の再判断を、前記位置条件において退避させる前記可動部を一つずつ増やしながら、繰り返し実行し、前記計画失敗要因推定手段は、前記経路計画が成功した際の前記位置条件に基づいて、退避させるべき可動部を推定してもよい。
【0017】
この場合、前記位置条件における2以上の前記可動部の退避の順序が、前記ロボットの移動の開始点および目標点を通る直線と、前記可動部と、の距離に基づいて決定されてもよい。
【0018】
また、本明細書で開示する工作機械は、上述した経路生成装置と、前記経路計画が失敗した際に前記通知手段が出力した失敗要因のメッセージを表示するメッセージ表示手段と、を備える、ことを特徴とする。
【0019】
この場合、工作機械は、さらに、前記経路計画が成功した際の前記位置条件に従って、前記可動部を現実的に退避させる工作機械制御手段と、前記ロボットを計画された経路に従って動作させるロボット制御手段と、を備えてもよい。
【0020】
また、前記工作機械制御手段は、前記ロボットが計画された経路に従って動作した後に、前記可動部を退避前の状態に戻してもよい。
【発明の効果】
【0021】
本明細書で開示する経路生成装置によれば、工作機械の加工室内を動作するロボットの経路計画に失敗した際に、その失敗要因が特定される。また、ロボットが工作機械の1以上の可動部に干渉する場合には、1以上の可動部を規定の退避位置に退避させた条件に変更したうえで、経路計画の再生成と前記経路計画の成否の再判断を行うため、オペレータの作業コストを低減できる。
【0022】
本明細書で開示する工作機械によれば、推定された経路生成の失敗要因を画面上に表示するメッセージ表示手段を備えるため、オペレータが失敗の要因を容易に認識できる。さらに、工作機械制御手段と、ロボット制御手段と、を備える場合、自動で工作機械の可動部が退避するため、継続したロボット動作が可能となる。結果、ロボットプログラムの内容を考慮せずに加工プログラムを作成できるようになりオペレータの作業コストが削減される。
【図面の簡単な説明】
【0023】
【
図1】第一の実施例における経路生成装置の構成例を示すブロック図である。
【
図2】第二の実施例における経路生成装置の構成例を示すブロック図である。
【
図3】第三の実施例における経路生成装置の構成例を示すブロック図である。
【
図4】第一の実施例の処理を説明するフローチャートである。
【
図5】第二の実施例の処理を説明するフローチャートである。
【
図6】第三の実施例の処理を説明するフローチャートである。
【発明を実施するための形態】
【0024】
まず本装置で取り扱う経路計画が失敗するケースについて述べる。
【0025】
第一のケースは、目標点がロボットの可動域でない場合である。ロボットのアームが伸びきってしまう場合や、関節角度の制限によって目標点に到達できない場合が第一のケースにあたる。
【0026】
第二のケースは、目標点でのロボット姿勢において、環境中の物体とロボットが干渉する場合である。
【0027】
第三のケースは、移動の開始点と目標点においてロボットは干渉しない姿勢を取れるが、いずれの経路においても干渉を避けられない場合である。
【0028】
第四のケースは、ロボットの移動の開始点において、既に干渉しており動けない場合である。これは例えば、ワークを把持した直後の退避動作をプログラムし忘れた際に、次のロボット動作で発生する場合がある。
【0029】
実施例では上記4つのケースを対象とする。
【0030】
次に、本発明による制御装置の実施例を図面に基づいて説明する。制御装置は、物理的には、例えば、プロセッサとメモリを有するコンピュータである。この「コンピュータ」には、コンピュータシステムを一つの集積回路に組み込んだマイクロコントローラも含まれる。また、プロセッサとは、広義的なプロセッサを指し、汎用的なプロセッサ(例えばCPU:Central Processing Unit、等)や、専用のプロセッサ(例えばGPU:Graphics Processing Unit、ASIC:Application Specific Integrated Circuit、FPGA:Field Programmable Gate Array、プログラマブル論理デバイス、等)を含むものである。また、メモリは、半導体メモリ(例えばRAM、ROM、ソリッドステートドライブ等)および磁気ディスク(例えば、ハードディスクドライブ等)の少なくとも一つを含んでもよい。また、制御装置は、物理的に分離された複数のコンピュータで構成されてもよい。また、制御装置は、外部の他の電子機器と有線または無線で通信するための通信I/Fを有してもよい。
図1は、本発明の第一の実施例における制御装置の機能的な構成を説明する図である。以下、
図1の各構成要素の詳細を説明する。
【0031】
干渉シミュレータ3は、ロボットや工作機械、治具や周辺装置を含む状態を、3Dオブジェクト(以下、オブジェクト)を用いてシミュレーションする。
【0032】
また、干渉シミュレータ3はオブジェクト毎に干渉計算を行うか否かを設定することで、任意の状態においてオブジェクト同士の干渉、非干渉を判断する。
さらにそれぞれのオブジェクトは、可動部であるか、可動部である場合に退避位置はどこか、自動的に退避して良いかの情報を持つ。干渉シミュレータ3で使用される各オブジェクトの位置やサイズに関する情報は、位置条件としてメモリに記憶されている。
【0033】
ロボット経路計画手段4は、干渉シミュレータ3が有する状態(すなわち位置条件)や、ロボットの逆運動学計算を用いて、開始点から目標点へのロボットの移動経路を自動的に生成する手段である。
【0034】
状態記憶手段1は、干渉シミュレータ3のある時点での状態を保存しておく手段である。干渉シミュレータ3の状態は、状態記憶手段1に保存された状態にすることができる。
【0035】
計画失敗要因推定手段2は、干渉シミュレータ3やロボット経路計画手段4の結果に基づいて、ロボットの経路計画の失敗要因を推定する手段である。
【0036】
通知手段5は、計画失敗要因推定手段2の推定に基づいて、ロボットの経路計画の失敗要因を外部装置等に通知するか、経路計画が成功した場合は、生成された経路を送信する手段である。
【0037】
図4は、本発明の第一の実施例の処理を説明するフローチャートである。以下、
図4に基づいて実施例を説明する。
【0038】
初めにロボット経路計画手段4が、ロボットの移動開始点におけるロボットの姿勢を計算する(S10)。計算した結果、開始点においてロボットが他のオブジェクトに干渉すると判断された場合(S12でNo)、通知手段5によって開始点でロボットが干渉することと、干渉するオブジェクト名を通知する(S14)。
【0039】
また、フローチャートに図示していないが、開始点においてロボットが動作領域から外れている場合は、その旨を通知しても良い。
【0040】
次に、ロボット経路計画手段4が、目標点における逆運動計算を行う(S16)。計算した結果、ロボットの動作範囲外であった場合(S18でNo)、通知手段5によって目標点がロボットの動作範囲外であることを通知する(S20)。
【0041】
または、逆運動学計算の結果、目標点においてロボットと干渉するオブジェクトがあり(S22でYes)、それら干渉するオブジェクトが全て可動部であった場合(S24でYes)、干渉シミュレータ上で干渉するオブジェクトを予め設定された退避位置に移動させ(S28)、再度逆運動学計算を行う(S16)。
【0042】
上記の逆運動学計算の結果として、再度ロボットが干渉すると判断された場合(S26でYes)、干渉するオブジェクト名を通知するとともに、退避させても干渉する可能性があることを通知する(S32)。
【0043】
逆に、逆運動学計算の結果、目標点においてロボットが干渉するオブジェクトに工作機械可動部でないオブジェクトが含まれる場合(S24でNo)、干渉するオブジェクト名を即座に通知する(S30)。
【0044】
開始点と目標点においてロボットが干渉しない姿勢を取れる場合(S22でNo)、経路計画を実施する(S34~S52)。
【0045】
ここで、経路計画の成功と失敗を定義する。経路計画が成功した、とは開始点と目標点を結ぶロボットが干渉しない経路を見つけられたことである。また、経路計画が失敗した、とは経路計画が成功しなかったことである。
【0046】
もし、経路が見つかるまで無限ループするアルゴリズムの場合は、反復が規定回数行われた場合やタイムアウトした場合を失敗とすれば、経路計画アルゴリズムは最終的に必ず失敗か成功の二つの状態をとる。従って、経路計画は成功か失敗の状態のみを考える。
【0047】
開始点と目標点においてロボットが他のオブジェクトに干渉しない姿勢が取れるにもかかわらず、経路計画が失敗する場合(S42でYes)、可動部をそれぞれ順序付ける(S46)。順序付けられた工作機械可動部オブジェクトを順番に干渉シミュレータ上で退避させ、その都度経路計画を行う(S50,S52,S40)。
【0048】
可動部を順序付ける方法はさまざまに考えられるが、本実施例では、開始点と目標点の組と、工作機械可動部の間に距離dを定義し、距離dが小さい順に、オブジェクトを順序付ける。
【0049】
距離dは、例えば、R
3空間上において、目標点がx
e、開始点がx
b、あるオブジェクトの重心がx
gであるとき、次のように定義する等が考えられる。
【数1】
【0050】
ここで、記号<・,・>は、内積であり、||・||は、内積ノルムである。上記距離dは、オブジェクトの重心から、開始点と目標点を通る直線に対して引かれた垂線の長さに等しい。このように距離dを定義することで、開始点と目標点を結ぶ直線に近いオブジェクトから順に退避させることができる。
【0051】
距離dは、重心からの距離に限定されず、例えば、オブジェクト表面からの最小距離等でも良い。
【0052】
距離dが同一となるオブジェクトが二つ以上ある場合は、距離dが同一であるオブジェクト内でそれぞれのオブジェクト名称を用いて辞書順に順序付ければよい。
【0053】
シミュレータ上で可動部を退避させたうえで、経路計画が成功した場合(S42でNo、S54でYes)、当該可動部の退避を通知する(S56)。
【0054】
また、全ての可動部を退避させているにも関わらず、経路計画が失敗した場合(S48でNo)、経路が見つからない旨の通知を行う(S58)。
【0055】
ここで、可動部は、退避状態とそうでない状態(現在状態)で2つの状態を取るとするとn個の工作機械可動部の状態の組み合わせは2nとなり、試行回数が非常に多くなる。よって順序付けられた工作機械可動部オブジェクトを順に退避状態とする場合のみを考えることで、経路計画の試行回数を最大でn回に制限することができる。
【0056】
第一の実施例が、オンラインで実行されている場合、失敗要因の推定時にプログラムの進行を一時停止しても良いし、アラームとして終了させても良い。
【0057】
図2は、本発明の第二の実施例における制御装置の構成を説明する図である。以下、第二の実施例のうち、第一の実施例と異なる構成要素の詳細を説明する。
【0058】
メッセージ表示手段6は、第一の実施例に記載の経路生成装置10から通知された失敗要因を、NC装置等の画面上に表示する手段である。
【0059】
図5は第二の実施例を説明するフローチャートである。
図4に示した第一の実施例におけるフローチャートと比較し、異なる点のみ説明する。
【0060】
経路生成装置10は、第一の実施例に記載の装置である。
図5において、ステップS70では、経路生成装置10による経路生成と失敗要因の推定、具体的には、
図4に示したフローが実行される。経路生成装置10の通知に従い、経路計画を実行した初期状態においてロボットの経路計画が成功した場合(S72でYes)は、メッセージ表示手段6を用いて、NC装置等の画面に経路計画が成功した旨を表示する(S74)。また、経路計画が失敗した場合は(S72でNo)、経路生成装置10の通知に基づいて、画面上に失敗要因を表示する(S76)。
【0061】
図3は、本発明の第三の実施例における制御装置の構成を説明する図である。以下、第三の実施例のうち、第二の実施例と異なる構成要素の詳細を説明する。
【0062】
工作機械制御手段7は、経路生成装置10の推定に基づいて、工作機械の可動部を退避させる手段である。
【0063】
ロボット制御手段8は、ロボットの経路計画が成功した場合に、ロボットを実際に動作させる手段である。
【0064】
図6は、第三の実施例の処理を説明するフローチャートである。
図5に示した第
二の実施例におけるフローチャートと比較し、異なる点のみ説明する
。第三の実施例では、まず、経路生成装置10による経路生成と失敗要因の推定、具体的には、
図4に示したフローが実行される(S80)。経路生成が成功した場合(S82でYes)、退避対象が通知されているか否かを確認する(S84)。確認の結果、退避対象が、通知されている場合(
図4におけるS54でYes、
図6におけるS84でYes)、シミュレータ上で退避させた可動部に自動退避可能な設定がなされているか確認する(S86)。
【0065】
全てのシミュレータ上で退避させた可動部に自動退避可能な設定がなされていた場合(S86でYes)、自動的に当該可動部を退避させ(S88)、ロボット動作を実行する(S90)。
【0066】
シミュレータ上で退避させた可動部に、自動退避可能な設定がなされていない可動部がある場合は(S86でNo)、プログラムの進行を一時停止し、退避すべき可動部が何であるかを失敗要因として画面上に表示する(S92)。また、経路生成が失敗した場合(S82でNo)にも、プログラムの進行を一時停止し、失敗要因を画面上に表示する(S92)。
【0067】
以上の実施例によれば、経路計画の失敗要因の多くが特定され、オペレータにその要因が通知されるとともに、自動的に工作機械の可動部が退避し、ロボット動作を継続できるため、オペレータの作業コストが削減される。
【0068】
第三の実施例では、自動的に退避させた工作機械の可動部を元の状態に戻していないが、状態記憶手段1に保存された状態に基づいて、ロボットの動作後に、退避された工作機械の可動部を元の位置に戻しても良い。
【符号の説明】
【0069】
1 状態記憶手段、2 計画失敗要因推定手段、3 干渉シミュレータ、4 ロボット経路計画手段、5 通知手段、6 メッセージ表示手段、7 工作機械制御手段、8 ロボット制御手段、10 経路生成装置。