(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0008】
工作機械のCNCの多軸制御機能を使用してロボットを制御する場合では、ロボットと工作機械のリアルタイム干渉確認を、特許文献1に記載されているようなCAD/CAMシステムを用いて実施できる。しかし従来は、工作機械のCNCで直接ロボットを制御しない場合では、工作機械とロボットを協調させて運用する場合、I/O信号で作業単位の同期をとり、干渉が発生しないように構成されていた。ロボットについては制御装置内部にリアルタイム干渉確認を行う処理部を持ち、ロボットとその他の物体が干渉しそうな場合に即時に対応する機能が知られている。
【0009】
工作機械のCNCの多軸制御機能を使用してロボットを制御する場合を除き、工作機械とロボットを協調させる場合、工作機械に接続されているリアルタイム干渉確認CAD/CAMシステムとロボットを接続して、CAD/CAMシステムで干渉を確認することができないという問題があった。
【0010】
工作機械、及びロボットの各通信部のインターフェースに関しては、リアルタイム干渉確認CAD/CAMシステムと接続することに適した物理接続インターフェースがあっても、リアルタイム干渉確認CAD/CAMシステムを一方の装置に接続し、さらに別の装置と接続しようとしても実際にはその接続口が不足する場合があった。通信用の接続口が残っていても、その通信はリアルタイム性に劣る仕様という場合があった。この場合、一方からリアルタイム干渉確認CAD/CAMシステムに送信されるデータに対し、他方からリアルタイム干渉確認CAD/CAMシステムに送信されるデータを補正し、時刻に対して補正する必要があるが、その手段がないという問題があった。
【0011】
また、ロボット自身がリアルタイム干渉確認の機能を有していても、工作機械の機構部の動作をリアルタイムに取り込み、それらとロボット及び周辺機器と干渉確認するための手段がないという問題があった。
【0012】
上記特許文献に記載の発明はいずれも、上述の課題を解決するものではない。例えば、特許文献2に記載の発明は、1つの通信制御装置で複数の機構部(制御装置)を制御するためのモーションコントロール向け通信システムに係るものと解されるが、この発明は、通信制御装置と各制御装置との通信はリアルタイム性が確保されていることを前提としており、リアルタイム性が確保されていない場合には適切な対処ができないと解される。
【0013】
特許文献3は、マスター局からロボットやサーボモータ等のスレーブ局に対して、モーションコントロールを無線通信で実現する技術を開示しているが、通信システムに異種の通信プロトコルが混在する場合については言及されていない。
【0014】
特許文献4には、非リアルタイムOSを搭載し、IEEE1394インターフェースを備えた汎用のパソコンを用いてサーボモータ群を同期制御できる旨を記載している。しかし、特許文献4に記載の発明の目的はモーションコントロールであり、本発明のように干渉確認とは異なる。
【0015】
また特許文献5には、干渉確認のための情報をモニタに表示する旨の記載はあるが、実際に干渉確認を行うのは作業者であり、リアルタイムで干渉確認を行う旨の記載はない。
【0016】
そこで本発明は、工作機械及びロボットを含むシステムにおいてデータ通信のリアルタイム性が確保されていない場合であっても、工作機械とロボットとの干渉をリアルタイムで適切に確認できる干渉確認システムを提供することを目的とする。
【課題を解決するための手段】
【0017】
上記目的を達成するために、本願第1の発明は、工作機械を制御する工作機械制御装置と、
前記工作機械制御装置にオンラインで接続され、ロボットを制御するロボット制御装置と、前記工作機械の制御軸又は前記ロボットの制御軸の位置データを補正・補間する位置データ補正・補間部と、前記工作機械の機構部及び前記ロボットの機構部の形状モデルデータを保持するとともに、前記工作機械の機構部と前記ロボットの機構部との間の干渉確認を行う干渉確認実行部とを備える干渉確認システムであって、前記
位置データ補正・補間部は、
前記工作機械と前記ロボットとの間のデータ通信のリアルタイム性が確保されている場合は、前記ロボットと前記工作機械の運転中に、前記ロボット制御装置により生成される前記ロボットの動作時刻及び該ロボットの動作時刻に対応する前記ロボットの制御軸の位置の組と、前記工作機械制御装置により順次生成される、工作機械の動作時刻及び該工作機械の動作時刻に対応する前記工作機械の制御軸の位置の組とを統合し、干渉確認の対象となる時刻及び該干渉確認の対象となる時刻に対応する前記ロボット及び前記工作機械の制御軸の位置の組を順次生成し、前記位置データ補正・補間部は、前記工作機械と前記ロボットとの間のデータ通信のリアルタイム性が確保されていない場合は、過去に蓄積し
た前記ロボットの制御軸の位置データに基づいて、又
は前記ロボットの数理モデルに基づいて
、前記ロボットの制御軸の位置を推定し、
前記ロボットと前記工作機械の運転中に、前記ロボット制御装置により生成される前記ロボットの動作時刻及び該ロボットの動作時刻に対応する前記ロボットの制御軸の推定された位置の組と、前記工作機械制御装置により順次生成される、工作機械の動作時刻及び該工作機械の動作時刻に対応する前記工作機械の制御軸の位置の組とを統合し、干渉確認の対象となる時刻及び該干渉確認の対象となる時刻に対応する前記ロボット及び前記工作機械の制御軸の位置の組を順次生成するか、過去に蓄積した前記工作機械の制御軸の位置データに基づいて、又は前記工作機械の数理モデルに基づいて、前記工作機械の制御軸の位置を推定し、前記ロボットと前記工作機械の運転中に、前記ロボット制御装置により生成される前記ロボットの動作時刻及び該ロボットの動作時刻に対応する前記ロボットの制御軸の位置の組と、前記工作機械制御装置により順次生成される、工作機械の動作時刻及び該工作機械の動作時刻に対応する前記工作機械の制御軸の推定された位置の組とを統合し、干渉確認の対象となる時刻及び該干渉確認の対象となる時刻に対応する前記ロボット及び前記工作機械の制御軸の位置の組を順次生成し、前記干渉確認実行部は、前記工作機械と前記ロボットの機構部の形状モデルと、順次生成された干渉確認の対象となる時刻、該干渉確認の対象となる時刻に対応するロボット及び工作機械の制御軸の位置の組とに基づいて、前記工作機械の機構部と前記ロボットの機構部との間の干渉をリアルタイムで確認する、干渉確認システムを提供する。
【0018】
第2の発明は、第1の発明において、前記干渉確認の対象となる時刻が前記工作機械の動作時刻と同一である、干渉確認システムを提供する。
【0019】
第3の発明は、第1の発明において、前記干渉確認の対象となる時刻が、前記ロボットの動作時刻と同一である、干渉確認システムを提供する。
【0020】
第4の発明は、第1〜第3のいずれか1つの発明において、前記干渉確認実行部がCAD/CAMシステムである、干渉確認システムを提供する。
【0021】
第5の発明は、第1又は第2の発明において、前記干渉確認実行部が、前記工作機械制御装置に内蔵されている、干渉確認システムを提供する。
【0022】
第6の発明は、第1又は第3の発明において、前記干渉確認実行部が、前記ロボット制御装置に内蔵されている、干渉確認システムを提供する。
【発明の効果】
【0023】
本発明によれば、工作機械及びロボットのそれぞれの制御軸の位置データを時系列データとして統合するので、リアルタイムで干渉確認を行う際に、リアルタイム通信向け物理接続インターフェースを増設する等の設備変更を行うことなく、工作機械とロボットとの間の干渉確認をリアルタイムで行うことができる。
【発明を実施するための形態】
【0025】
図1は、本発明の第1の実施形態に係る干渉確認システム10の概略構成を示す図である。干渉確認システム10は、工作機械12を制御する工作機械制御装置14と、ロボット16を制御するロボット制御装置18と、工作機械12の機構部20及びロボット16の機構部22の形状モデルデータやそれらのレイアウト情報を保持する干渉確認実行部24とを備える。工作機械12及びロボット16は、例えばロボット16が供給した未加工ワークを工作機械12で加工し、加工済ワークをロボット16が工作機械12から取出す等の、協調作業を行うように構成されている。干渉確認実行部24は、工作機械の機構部20とロボットの機構部22との間の干渉確認を行うように構成されており、例えばリアルタイムCAD/CAMシステムであってもよいし、或いは工作機械制御装置14に内蔵されていてもよい。
【0026】
工作機械制御装置14は、工作機械12の制御軸の位置データを所定周期で出力する制御軸位置データ出力部26と、位置データ出力部26から出力された位置データを補正・補間する位置データ補正補間部28と、ロボット制御装置18及び干渉確認実行部24とデータ通信を行う通信部30とを有し、通信部30は具体的には、ロボット制御装置18からの位置データを受信する受信部32と、位置データ補正補間部28からの位置データを干渉確認実行部24にリアルタイムで送信するリアルタイム送信部34とを有する。
【0027】
一方、ロボット制御装置18は、ロボット16の制御軸の位置データを所定周期で出力する制御軸位置データ出力部36と、工作機械制御装置14とデータ通信を行う通信部38とを有し、通信部38は具体的には、位置データ出力部36からの位置データを工作機械制御装置14の受信部32に送信する送信部40を有する。
【0028】
工作機械制御装置14のリアルタイム送信部34と干渉確認実行部24とは、無線又は有線のインターフェースI
αによって接続されており、インターフェースI
αによって工作機械の制御軸の位置データ(時系列データ)が、干渉確認実行部24にサイクリック伝送される。インターフェースI
αにおける通信プロトコルをC
αとし、インターフェースI
αでのデータ送受信はリアルタイム性が確保されているものとする。
【0029】
干渉確認実行部24は、工作機械制御装置14から送信される位置の時系列データを、サイクリック伝送の1周期又は数周期以内で、工作機械の機構部20とロボットの機構部22との干渉の有無を確認する処理を実行し、干渉がある場合は工作機械制御装置14に対して、メッセージ伝送によって運転停止指示等の指示を送信することができる。
【0030】
一方、工作機械制御装置14の受信部32とロボット制御装置18の送信部40とは、無線又は有線のインターフェースI
βによって接続されており、インターフェースI
βによってロボット16の制御軸の位置データが、工作機械制御装置14の受信部32にサイクリック伝送される。インターフェースI
βにおける通信プロトコルをC
βとするが、インターフェースI
βでのデータ送受信はリアルタイム性が確保されていなくてもよく、サイクリック伝送の送信周期にバラつきがあってもよいものとする。
【0031】
なお本願明細書では、「(通信の)リアルタイム性」とは、ある時間内にあるデータが必ず受信先に到達することを意味し、「リアルタイム性を有する(リアルタイム性が確保されている)」場合、受信先が短い周期でデータが確実に受信することで即時に適切な対応をすることができる。また「サイクリック伝送」とは、短い周期で特定種類のデータを送受信し続け、通信のリアルタイム性を有する通信を意味する。一方、「メッセージ伝送」とは、周期的でなく、非同期にデータを送受信する通信を意味する。
【0032】
次に、
図2−
図6を参照しつつ、干渉確認システム10における処理について説明する。なお
図2のフローチャートは主に工作機械制御装置14での処理を示し、
図3のフローチャートは主に干渉確認実行部24での処理を示す。
【0033】
先ず、工作機械12及びロボット16による生産運転(協調作業)が開始されると(
図2のステップS1)、干渉確認実行部24において工作機械の機構部20とロボットの機構部22とのリアルタイムでの干渉確認処理が実行される(ステップS2)。この処理については後述する。
【0034】
次のステップS3では、工作機械制御装置14が、ロボット制御装置18により順次生成される、ロボット16の動作時刻(ロボット時刻)とロボット時刻に対応するロボット16の制御軸の位置の組(データセット)を、リアルタイム性を有しつつ取得できているか否か、より具体的には、ロボット制御装置18の送信部40から工作機械制御装置14の受信部32へのデータ通信のリアルタイム性が確保されているか否かを判定する。
図4は、通信のリアルタイム性が確保されている場合、すなわち、工作機械12とロボット16との間の送信時間遅れdが補正・補間の計算に必要な時間に比べて十分に小さく、かつロボット(制御装置)からの通信周期f
1が比較的短い場合を示している。この場合、工作機械制御装置14の位置データ補正・補間部28は、ロボット制御装置18からのデータセットと、工作機械制御装置14により順次生成される、工作機械12の動作時刻(工作機械時刻)と工作機械時刻に対応する工作機械12の制御軸の位置の組(データセット)とを統合する。具体的には、位置データ補正・補間部28は、工作機械12の制御軸の位置(時系列データ)と、各工作機械時刻に対応するロボット16の制御軸の位置を得るために補正計算することで、時刻に関して補間し、新たにロボット16の制御軸の位置(時系列データ)を得て、両データセットを結合する(ステップS4)。
【0035】
一方、
図5に示すように、通信のリアルタイム性が確保されていない場合、すなわちロボット(制御装置)からの通信周期f
2が比較的長い場合やバラつきがある場合を示している。また、通信のリアルタイム性が確保されていない場合には、工作機械12とロボット16との間の送信時間遅れdが補正・補間の計算に必要な時間に比べて無視できないほど大きい場合も含まれる。この場合、
図4の場合に比べ、補間が必要な各工作機械時刻に近いロボット16の制御軸の時刻と位置が未到達の状態で、各工作機械時刻に対応したロボット16の制御軸の位置を得る必要がある。そのため、すでに位置データ補正・補間部28で過去に蓄積したロボット16の制御軸の位置(時系列データ)を使用して、必要な各工作機械時刻に対応したロボット16の制御軸の位置を推定する処理を追加する(ステップS5)。
【0036】
この推定する処理としては、過去に蓄積したロボット16の制御軸の位置(時系列データ)を使用し、適当な線形関数や平滑化関数などで時刻に関して外挿(Extrapolation)し、補正された位置を得る方法や、位置データ補正・補間部28に、生産運転前から予め適当なロボット16の数理モデルを計算する機能を保持させることで、アンサンブルカルマンフィルタを用いた推定計算を行う方法がある。さらに、生産運転実行後、ロボット16の制御装置から送信されたすべての過去の制御軸の位置(時系列データ)を位置データ補正・補間部28に保持できるようにしている場合には、並行してそのデータより位置の時間変化に周期性が現れているかどうかを統計的に抽出する処理を行い、計算する必要がある各工作機械時刻が周期的に繰り返されていた過去のロボット16の位置(時系列データ)の一部であると判断できるとき、過去の周期変化のデータを選択して取り出し、最適内挿法を適用する方法がある。
【0037】
ステップS4又はS5の処理によって、補間後のロボットの位置と工作機械の位置とが統合され、1つの位置の時系列データとなる。この統合(結合)された時系列データが、工作機械制御装置14から干渉確認実行部24(例えばリアルタイムCAD/CAMシステム)に送信される(ステップS6)。ステップS3〜S6の処理は、生産運転が終了するまで繰り返される(ステップS7)。
【0038】
図2のステップS6と関連し、干渉確認実行部24は、工作機械制御装置14から、工作機械12及びロボット16の統合された(時系列)位置データを受信する(
図3のステップS8)。次に干渉確認実行部24は、予め記憶・保持していた工作機械の機構部20及びロボットの機構部22の形状モデルと、統合された時系列データ(具体的には、該時系列データに含まれる各時刻(干渉確認の対象となる時刻)及び各時刻に対応する工作機械及びロボットの制御軸の位置)とに基づいて、工作機械の機構部20とロボットの機構部22との干渉の有無(具体的には、2つの形状モデル間の接触又は重なりの有無)を確認する(ステップS9)。なお第1の実施形態では、干渉確認の対象となる時刻は、工作機械12の動作時刻と同一である。
【0039】
ステップS9での処理の結果、干渉が発生すると予測された場合は、干渉確認実行部24から工作機械制御装置14に対して制動停止指令がメッセージ伝送によって送られる(ステップS11)。ステップS8以降のリアルタイムでの干渉確認は、生産運転が終了するまで繰り返される(ステップS12、
図2のステップS7)。
【0040】
なお干渉確認処理は、生産運転中のみ行うようにしてもよいし、生産運転中でなくとも工作機械12及びロボット16に電力供給されている間は行うようにしてもよい。或いは、生産運転中でなくても、工作機械のオペレータが手動で工作機械の主軸や加工テーブルなどの可動部を動作させる場合、プログラムで工作機械を動作させる場合、又はロボットをジョグする場合等でも、リアルタイムに干渉確認を実行し、干渉が予測されたときは、オペレータの操作を無効にするようにしてもよい。
【0041】
図6は、
図2及び
図3のフローチャートを用いて説明した処理の流れをタイムチャート式に説明する図である。先ず、時刻t
1に対応するロボット制御軸の位置データが、送信時間遅れd後に工作機械に送られると、工作機械では上述のステップS4又はS5の処理を行う。この処理は通常、1ミリ秒〜10ミリ秒の周期f
3で行われる。次に、統合された位置データの時系列が干渉確認実行部24に送られ(時刻t
2)、上述のステップS8の処理を行う。この処理は通常、0.25ミリ秒〜40ミリ秒の周期f
4で行われる。
【0042】
ここで、干渉予測時刻t
3において干渉が発生すると予測された場合(
図3のステップS9)、干渉確認実行部24から工作機械制御装置14に対して、制動停止指令がメッセージ伝送によって送られ(ステップS10)、工作機械12は制動停止時間f
5の経過後に停止する。また工作機械制御装置14は、制動停止指令を受けたら直ちにロボット制御装置18に制動停止指令をメッセージ伝送によって送り、ロボット16は制動停止時間f
6の経過後に停止する。
【0043】
なお
図6に示すように、干渉予測時刻t
3は、干渉確認処理が終了した時刻(工作機械に制動停止指令を送信する時刻)t
4から、工作機械12及びロボット16を含む協働システムの最小制動停止時間f
7及び所定の余裕時間t
8が経過した時刻となるように設定されることが好ましい。なおシステムの最小制動停止時間f
7は、時刻t
4から、工作機械12の制動停止時刻又はロボット16の制動停止時刻のいずれか遅い方までの時間である。
【0044】
ここで、干渉確認実行部24による干渉確認処理の具体例を説明する。第1の具体例は、工作機械の機構部20及びロボットの機構部22の形状モデルデータのそれぞれに適当な厚さの膜を付加し、それらの膜が接触したら(接触が予測されたら)制動停止指令を出力する、というものである。ここで膜の厚さは、工作機械及びロボットの機構部のそれぞれについて、制動停止指令を受信してから実際に停止するまでに移動してしまう距離の最大値として設定されることが好ましい。
【0045】
第2の具体例は、工作機械の機構部20とロボットの機構部22のそれぞれの位置の時系列データにより、未来の時刻の位置を常に推定し、その未来の時刻の位置において干渉が発生する(すなわち2つの形状モデルデータが接触するか又は重なる)場合、制動停止指令を出力する、というものである。ここでは、工作機械及びロボットのそれぞれについて制動時間が既知であることを前提とし、干渉確認完了時点の時刻から制動停止時間を経過した後の未来の時刻の位置を推定する。この時刻を干渉確認必要未来時刻と称する。その干渉確認必要未来時刻に対応する位置データに基づいて干渉確認を行う。
【0046】
なお制御装置の補間指令値情報の時系列において、干渉確認完了時点より未来に相当する時刻情報があり、その最も先の未来の時刻と位置のデータが、干渉確認必要未来時刻であるか、その干渉確認必要未来時刻より先の時刻である場合は、位置を補間して取得する。制御装置の補間指令値情報の時系列において、その最も先の未来の時刻よりも、干渉確認必要未来時刻が先にある場合、干渉確認必要未来時刻に対応する各機構部の位置を推定する。
【0047】
各機構部の位置の推定方法としては、さらに以下の2通りが挙げられる。第1の方法は、位置の時系列のみで推定する方法であり、線形関数や平滑化関数などの適当な関数で外挿(Extrapolation)する。生産運転において生産運転プログラムが繰り返されている場合は、その時系列を常に記録し、その記録を参照して適切な予測を行うための最適内挿法などを適用する。また生産運転プログラムが繰り返されているかどうかの情報が未知の場合は、アンサンブルカルマンフィルタなどの予測モデルで位置データを推定することができる。
【0048】
第2の方法は、生産運転プログラムのすべてか一部が使用できる場合に、時系列データ以外にプログラムの進行状態の情報も取得し、プログラムの進行の時間進展型のシミュレーションを逐次実施し、時系列データとそのシミュレーションのデータを比較し、位置データを推定するという方法である。
【0049】
図7は、本発明の第2の実施形態に係る干渉確認システム10aの概略構成を示す図である。干渉確認システム10aは、工作機械12を制御する工作機械制御装置14と、ロボット16を制御するロボット制御装置18と、工作機械12の機構部20及びロボット16の機構部22の形状モデルデータやそれらのレイアウト情報を保持する干渉確認実行部24とを備える。工作機械12及びロボット16は、例えばロボット16が供給した未加工ワークを工作機械12で加工し、加工済ワークをロボット16が工作機械12から取出す等の、協調作業を行うように構成されている。干渉確認実行部24は、工作機械の機構部20とロボットの機構部22との間の干渉確認を行うように構成されており、例えばリアルタイムCAD/CAMシステムであってもよいし、或いはロボット制御装置18に内蔵されていてもよい。
【0050】
ロボット制御装置18は、ロボット16の制御軸の位置データを所定周期で出力する制御軸位置データ出力部26と、位置データ出力部26から出力された位置データを補正・補間する位置データ補正補間部28と、工作機械制御装置14及び干渉確認実行部24とデータ通信を行う通信部30とを有し、通信部30は具体的には、工作機械1制御装置14からの位置データを受信する受信部32と、位置データ補正補間部28からの位置データを干渉確認実行部24にリアルタイムで送信するリアルタイム送信部34とを有する。
【0051】
一方、工作機械制御装置14は、工作機械12の制御軸の位置データを所定周期で出力する制御軸位置データ出力部36と、ロボット制御装置18とデータ通信を行う通信部38とを有し、通信部38は具体的には、位置データ出力部36からの位置データをロボット制御装置18の受信部32に送信する送信部40を有する。
【0052】
図1と
図7の比較からわかるように、干渉確認システム10aは、制御軸の位置データの通信元が工作機械制御装置14であり、通信先がロボット制御装置18である点で、第1の実施形態に係る干渉確認システム10と相違し、他の構成要素やそれらの機能については第1の実施形態と同様でよい。従って
図7において第1の実施形態と同等の構成要素については同一の参照符号を付与し、詳細な説明は省略する。
【0053】
図8及び
図9は、
図2及び
図3にそれぞれ類似し、干渉確認システム10aにおける処理の流れを説明するフローチャートである。なお
図8のフローチャートは主にロボット制御装置18での処理を示し、
図9のフローチャートは主に干渉確認実行部24での処理を示す。
【0054】
先ず、工作機械12及びロボット16による生産運転(協調作業)が開始されると(
図8のステップS21)、干渉確認実行部24において工作機械の機構部20とロボットの機構部22とのリアルタイムでの干渉確認処理が実行される(ステップS22)。この処理は、第1の実施形態のものと同様でよい。
【0055】
次のステップS23では、ロボット制御装置18が、工作機械制御装置14により順次生成される、工作機械12の動作時刻(工作機械時刻)と工作機械時刻に対応する工作機械12の制御軸の位置の組(データセット)を、リアルタイム性を有しつつ取得できているか否か、より具体的には、工作機械制御装置14の送信部40からロボット制御装置18の受信部32へのデータ通信のリアルタイム性が確保されているか否かを判定する。通信のリアルタイム性が確保されている場合は、ロボット制御装置18の位置データ補正・補間部28は、工作機械制御装置14からのデータセットと、ロボット制御装置18により順次生成される、ロボット16の動作時刻(ロボット時刻)とロボット時刻に対応するロボット16の制御軸の位置の組(データセット)とを統合する。具体的には、位置データ補正・補間部28は、ロボット16の制御軸の位置(時系列データ)と、各ロボット時刻に対応する工作機械12の制御軸の位置を得るために補正計算することで、時刻に関して補間し、新たに工作機械12の制御軸の位置(時系列データ)を得て、両データセットを結合する(ステップS24)。
【0056】
一方、通信のリアルタイム性が確保されていない場合は、位置データ補正・補間部28において、補間が必要な各ロボット時刻に近い工作機械12の制御軸の時刻と位置が未到達の状態で、各ロボット時刻に対応した工作機械12の制御軸の位置を得る必要がある。そのため、すでに位置データ補正・補間部28で過去に蓄積した工作機械12の制御軸の位置(時系列データ)を使用して、必要な各ロボット時刻に対応した工作機械12の制御軸の位置を推定する処理を追加する(ステップS25)。なおこの推定する処理としては、第1の実施形態と同様の方法が適用可能である。
【0057】
ステップS24又はS25の処理によって、補間後の工作機械の位置とロボットの位置とが統合され、1つの位置の時系列データとなる。この統合(結合)された時系列データが、ロボット制御装置18から干渉確認実行部24(例えばリアルタイムCAD/CAMシステム)に送信される(ステップS26)。ステップS23〜S26の処理は、生産運転が終了するまで繰り返される(ステップS27)。なおステップS23〜S27の補正処理は通常、1ミリ秒〜10ミリ秒の周期で行われる。
【0058】
図8のステップS26と関連し、干渉確認実行部24は、ロボット制御装置18から、工作機械12及びロボット16の統合された(時系列)位置データを受信する(
図9のステップS28)。次に干渉確認実行部24は、予め記憶・保持していた工作機械の機構部20及びロボットの機構部22の形状モデルと、統合された時系列データ(具体的には、該時系列データに含まれる各時刻(干渉確認の対象となる時刻)及び各時刻に対応する工作機械及びロボットの制御軸の位置)とに基づいて、工作機械の機構部20とロボットの機構部22との干渉の有無(具体的には、2つの形状モデル間の接触又は重なりの有無)を確認する(ステップS29)。なお第2の実施形態では、干渉確認の対象となる時刻は、ロボット16の動作時刻と同一である。
【0059】
ステップS29での処理の結果、干渉が発生すると予測された場合は、干渉確認実行部24からロボット制御装置18に対して制動停止指令がメッセージ伝送によって送られる(ステップS31)。ステップS28以降のリアルタイムでの干渉確認は、生産運転が終了するまで繰り返される(ステップS32、
図8のステップS27)。なおステップS28〜S32の干渉確認処理は通常、0.25ミリ秒〜40ミリ秒の周期で行われる。
【0060】
なお干渉確認処理は、生産運転中のみ行うようにしてもよいし、生産運転中でなくとも工作機械12及びロボット16に電力供給されている間は行うようにしてもよい。或いは、生産運転中でなくても、工作機械のオペレータが手動で工作機械の主軸や加工テーブルなどの可動部を動作させる場合、プログラムで工作機械を動作させる場合、又はロボットをジョグする場合等でも、リアルタイムに干渉確認を実行し、干渉が予測されたときは、オペレータの操作を無効にするようにしてもよい。
【0061】
第2の実施形態では、工作機械12側に干渉確認実行部24が設けられていない場合でも、ロボット向けのリアルタイム干渉確認機能を有するロボットを使用することによって、第1の実施形態と概ね同等のリアルタイム干渉機能を、工作機械及びロボットを含む協働システムに付与することができる。
【0062】
図10は、本発明の第3の実施形態に係る干渉確認システム10bの概略構成を示す図である。干渉確認システム10bは、ロボット制御装置18が、運動学パラメータ出力部42と、生産運転計画情報出力部44とを有する点で、第1の実施形態に係る干渉確認システム10と相違し、他の構成要素やそれらの機能については第1の実施形態と同様でよい。従って
図10において第1の実施形態と同等の構成要素については同一の参照符号を付与し、詳細な説明は省略する。
【0063】
運動学パラメータ出力部42は、ロボット16の制御軸の運動学パラメータを通信部38に出力するように構成されており、生産運転計画情報出力部44は、生産運転の計画情報を通信部38に出力するように構成されている。従って干渉確認システム10bでは、ロボット制御装置18の送信部40から、工作機械制御装置14の受信部32に対し、ロボット16の制御軸の運動学パラメータ及び実行されているプログラムの情報を、インターフェースI
βを介して送ることができる。
【0064】
第3の実施形態に係る干渉確認システム10bは、インターフェースI
βによるロボット制御装置18と工作機械制御装置14との間のデータ通信のリアルタイム性が期待できない場合に特に適している。以下、干渉確認システム10bでの処理の流れについて、
図11のフローチャートを参照しつつ説明する。
【0065】
先ず、工作機械12及びロボット16による生産運転(協調作業)が開始されると(ステップS41)、工作機械制御装置14がロボット制御装置18から、ロボット16の制御軸の運動学パラメータ及び実行プログラムの情報を受信する(ステップS42)。次に、干渉確認実行部24において工作機械の機構部20とロボットの機構部22とのリアルタイムでの干渉確認処理が実行される(ステップS43)。この処理は、第1の実施形態と同様でよい。
【0066】
次のステップS44では、工作機械制御装置14がロボット制御装置18から、ロボット16の動作時刻(ロボット時刻)とそれに対応するロボット16の制御軸の位置のデータ(データセット)と、実行プログラムの状態(情報)とを、リアルタイム性を有しつつ取得できているか否か、より具体的には、ロボット制御装置18の送信部40から工作機械制御装置14の受信部32へのデータ通信のリアルタイム性が確保されているか否かを判定する。通信のリアルタイム性が確保されている場合は、工作機械制御装置14はロボット16の時刻、(制御軸の)位置及びプログラムの実行状態を取得し(ステップS45)、工作機械制御装置14の位置データ補正・補間部28は、ロボット制御装置18からのデータセットと、工作機械12の動作時刻(工作機械時刻)とそれに対応する工作機械12の制御軸の位置のデータ(データセット)とを統合する。具体的には、位置データ補正・補間部28は、工作機械12の制御軸の位置(時系列データ)と、各工作機械時刻に対応するロボット16の制御軸の位置を得るために、各時点でのプログラム実行状態に基づいて運動学パラメータを反映したロボットの動作位置を得るように補正計算することで時刻に関して補間し、新たにロボット16の制御軸の位置(時系列データ)を得て、両データセットを結合する(ステップS46)。
【0067】
但し、第3の実施形態では、インターフェースI
βにおけるリアルタイム性が確保されていない(S44において殆どの場合に「No」に進む)ことを想定している。この場合、ロボット16のプログラムの実行状態を、経過時間から予測する(ステップS47)。より具体的には、ステップS47では、最後にロボットからプログラムの実行状態を取得した時刻からの経過時間から、現在のロボットのプログラムの実行状態を推定し、さらに、該経過時間とプログラムの内容とに基づき、プログラムの実行命令の進行状態の詳細を予測する。
【0068】
次にステップS48では、ロボット16の運動学計算パラメータからロボット16(の制御軸)の位置を補間計算する(ステップS48)。より具体的には、ロボットのプログラムの実行命令により軸制御が行われていなかった場合は、最後にプログラムの実行状態を取得した時刻に対応するロボットの位置を採用する。一方、ロボットのプログラムの実行命令により軸制御が行われていると判断される場合は、ロボットの機構部の運動学計算を行い、ロボットの現在の軸位置を推定する。
【0069】
次にステップS49では、各工作機械時刻に対応するロボットの制御軸の位置(時系列データ)と、工作機械の制御軸の位置(時系列データ)の両データセットを結合して、1つの時系列データを生成する。
【0070】
ステップS46又はS49の処理によって、補間後の工作機械の位置とロボットの位置とが統合され、1つの位置の時系列データとなる。この統合(結合)された時系列データが、工作機械制御装置14から干渉確認実行部24(例えばリアルタイムCAD/CAMシステム)に送信される(ステップS50)。なお
図11には示されていないが、干渉が発生すると予測された場合は、干渉確認実行部24から工作機械制御装置14に対して制動停止指令がメッセージ伝送によって送られる。リアルタイムでの干渉確認は、生産運転が終了するまで繰り返される(ステップS51、S52)。なおステップS44〜S51の補正処理は通常、1ミリ秒〜10ミリ秒の周期で行われる。
【0071】
第3の実施形態では、工作機械とロボットとの間で、リアルタイム性が確保された通信接続ができないという制限があっても、リアルタイムでの干渉確認処理を実行することができる。またロボットの外部通信機能や通信ハードウェアの仕様にリアルタイム通信が含まれていない場合でも、協調システム全体としてはリアルタイム干渉確認処理を実行することができる。
【0072】
なお第1の実施形態と第2の実施形態との関係と同様に、第3の実施形態を、制御軸の位置データの通信元を工作機械制御装置14とし、通信先をロボット制御装置18とした実施形態ももちろん可能である。
【0073】
以上、説明したように、本発明に係る干渉確認システムでは、工作機械の制御装置(CNC)とロボットの制御装置をオンラインで接続し、一方の位置データを他方に送信し、工作機械及びロボットのそれぞれの機構部の位置データと統合するための計算処理を行う。従って、制御装置間の位置データの送信プロトコル及びインターフェースが、制御装置と干渉確認実行部との間の位置データの送受信のための送信プロトコル及びインターフェースと異なっている場合にも、リアルタイムでの適切な干渉確認が可能である。さらに、送信側の制御装置で正確な位置データを送信できる一方、通信のリアルタイム性が確保できない場合にも、データセットの統合を行う制御装置で位置データを適宜、予測し、工作機械及びロボットのそれぞれの機構部の位置データを統合することができる。
【0074】
工作機械とロボットの間で位置データを統合するため、リアルタイム干渉確認CAD/CAMシステムに対し、リアルタイム通信向け物理接続インターフェースを増設することや、リアルタイム干渉確認CAD/CAMシステムから送信側の制御装置への通信用機材を追加するなどの変更を行わずに、工作機械とロボットとの間の干渉確認をリアルタイムで行うことができる。
【0075】
ロボットと工作機械との間の通信のリアルタイム性が確保できなくてもリアルタイム干渉確認に必要な位置データを補間することにより、1つのリアルタイム干渉確認CAD/CAMシステムで全体のリアルタイム干渉確認を行うことができる。また、単体の工作機械向けのリアルタイム干渉確認CAD/CAMシステム、またはロボット向けのリアルタイム干渉確認機能により、工作機械及びロボットを含むシステム全体の干渉確認ができるので、システム立ち上げ時の作業の安全性を高め、結果としてシステム完成の納期を短縮することができる。
【0076】
さらに、工作機械とリアルタイム干渉確認CAD/CAMシステムで構成され、オペレータが運用することを前提に設計された生産セルに対し、オペレータの作業負担の軽減のために後からロボットを導入する場合、ロボットの導入コストを減らすことができる。また工作機械にリアルタイム干渉確認システムが備わっていない場合でも、リアルタイム干渉確認機能を有したロボット制御装置でシステムを構成することで、工作機械内部の機構部でのリアルタイム干渉確認機能をロボットに付与することができる。