(57)【特許請求の範囲】
【請求項１】
工作機械を制御する工作機械制御装置と、前記工作機械制御装置にオンラインで接続され、ロボットを制御するロボット制御装置と、前記工作機械の制御軸又は前記ロボットの制御軸の位置データを補正・補間する位置データ補正・補間部と、前記工作機械の機構部及び前記ロボットの機構部の形状モデルデータを保持するとともに、前記工作機械の機構部と前記ロボットの機構部との間の干渉確認を行う干渉確認実行部とを備える干渉確認システムであって、
前記位置データ補正・補間部は、前記工作機械と前記ロボットとの間のデータ通信のリアルタイム性が確保されている場合は、前記ロボットと前記工作機械の運転中に、前記ロボット制御装置により生成される前記ロボットの動作時刻及び該ロボットの動作時刻に対応する前記ロボットの制御軸の位置の組と、前記工作機械制御装置により順次生成される、工作機械の動作時刻及び該工作機械の動作時刻に対応する前記工作機械の制御軸の位置の組とを統合し、干渉確認の対象となる時刻及び該干渉確認の対象となる時刻に対応する前記ロボット及び前記工作機械の制御軸の位置の組を順次生成し、
前記位置データ補正・補間部は、前記工作機械と前記ロボットとの間のデータ通信のリアルタイム性が確保されていない場合は、過去に蓄積した前記ロボットの制御軸の位置データに基づいて、又は前記ロボットの数理モデルに基づいて、前記ロボットの制御軸の位置を推定し、前記ロボットと前記工作機械の運転中に、前記ロボット制御装置により生成される前記ロボットの動作時刻及び該ロボットの動作時刻に対応する前記ロボットの制御軸の推定された位置の組と、前記工作機械制御装置により順次生成される、工作機械の動作時刻及び該工作機械の動作時刻に対応する前記工作機械の制御軸の位置の組とを統合し、干渉確認の対象となる時刻及び該干渉確認の対象となる時刻に対応する前記ロボット及び前記工作機械の制御軸の位置の組を順次生成するか、過去に蓄積した前記工作機械の制御軸の位置データに基づいて、又は前記工作機械の数理モデルに基づいて、前記工作機械の制御軸の位置を推定し、前記ロボットと前記工作機械の運転中に、前記ロボット制御装置により生成される前記ロボットの動作時刻及び該ロボットの動作時刻に対応する前記ロボットの制御軸の位置の組と、前記工作機械制御装置により順次生成される、工作機械の動作時刻及び該工作機械の動作時刻に対応する前記工作機械の制御軸の推定された位置の組とを統合し、干渉確認の対象となる時刻及び該干渉確認の対象となる時刻に対応する前記ロボット及び前記工作機械の制御軸の位置の組を順次生成し、
前記干渉確認実行部は、前記工作機械と前記ロボットの機構部の形状モデルと、順次生成された干渉確認の対象となる時刻、該干渉確認の対象となる時刻に対応するロボット及び工作機械の制御軸の位置の組とに基づいて、前記工作機械の機構部と前記ロボットの機構部との間の干渉をリアルタイムで確認する、干渉確認システム。
【請求項２】
前記干渉確認の対象となる時刻が前記工作機械の動作時刻と同一である、請求項１に記載の干渉確認システム。
【請求項３】
前記干渉確認の対象となる時刻が、前記ロボットの動作時刻と同一である、請求項１に記載の干渉確認システム。
【請求項４】
前記干渉確認実行部がＣＡＤ／ＣＡＭシステムである、請求項１〜３のいずれか１項に記載の干渉確認システム。
【請求項５】
前記干渉確認実行部が、前記工作機械制御装置に内蔵されている、請求項１又は２に記載の干渉確認システム。
【請求項６】
前記干渉確認実行部が、前記ロボット制御装置に内蔵されている、請求項１又は３に記載の干渉確認システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械とロボットとの干渉をリアルタイムで確認する干渉確認システムに関する。
【背景技術】
【０００２】
現在、工作機械の加工プログラムを作成するためのＣＡＤ／ＣＡＭシステムが広く普及している。例えば特許文献１には、ＣＡＤ／ＣＡＭシステムと工作機械とをオンラインで接続し、工作機械側で検出されるクロック信号をベースとした制御対象に関する位置、速度の検出データをＣＡＤ／ＣＡＭにフィードバックさせて、ＮＣデータと比較演算処理し、このＮＣデータを補正するクローズドループにより補正制御を行う技術が記載されている。
【０００３】
特許文献２には、通信制御装置と、アクチュエータを有して制御対象を操作する複数の制御装置とが、ネットワークを介して接続された通信・制御システムが記載されている。
【０００４】
特許文献３には、複数の装置を一定周期で協調して動作させるための無線通信システム及び無線通信方法が記載されている。
【０００５】
特許文献４には、コントローラから絶対時間を付与しない制御指令を非同期通信方式で送信し、複数のモータを同期制御させる分散型モーション制御システムが記載されている。
【０００６】
さらに特許文献５には、ＮＣシミュレータの第１通信モジュールと通信回線により接続され、第１通信モジュールと情報の通信を行う第２通信モジュールと、該情報に基づいてロボットのシミュレーションを行うロボットシミュレータと、該ロボットシミュレータでのシミュレーション結果を用いてオフラインで教示プログラムを作成するプログラム作成装置と、を有するオフラインプログラミング装置が記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特公平０７−０５０４０７号公報
【特許文献２】特開２０１２−０６０２０７号公報
【特許文献３】国際公開第２０１０／０９５７１３号
【特許文献４】特開２００９−０２０５４７号公報
【特許文献５】特開２０１０−２１８０３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
工作機械のＣＮＣの多軸制御機能を使用してロボットを制御する場合では、ロボットと工作機械のリアルタイム干渉確認を、特許文献１に記載されているようなＣＡＤ／ＣＡＭシステムを用いて実施できる。しかし従来は、工作機械のＣＮＣで直接ロボットを制御しない場合では、工作機械とロボットを協調させて運用する場合、Ｉ／Ｏ信号で作業単位の同期をとり、干渉が発生しないように構成されていた。ロボットについては制御装置内部にリアルタイム干渉確認を行う処理部を持ち、ロボットとその他の物体が干渉しそうな場合に即時に対応する機能が知られている。
【０００９】
工作機械のＣＮＣの多軸制御機能を使用してロボットを制御する場合を除き、工作機械とロボットを協調させる場合、工作機械に接続されているリアルタイム干渉確認ＣＡＤ／ＣＡＭシステムとロボットを接続して、ＣＡＤ／ＣＡＭシステムで干渉を確認することができないという問題があった。
【００１０】
工作機械、及びロボットの各通信部のインターフェースに関しては、リアルタイム干渉確認ＣＡＤ／ＣＡＭシステムと接続することに適した物理接続インターフェースがあっても、リアルタイム干渉確認ＣＡＤ／ＣＡＭシステムを一方の装置に接続し、さらに別の装置と接続しようとしても実際にはその接続口が不足する場合があった。通信用の接続口が残っていても、その通信はリアルタイム性に劣る仕様という場合があった。この場合、一方からリアルタイム干渉確認ＣＡＤ／ＣＡＭシステムに送信されるデータに対し、他方からリアルタイム干渉確認ＣＡＤ／ＣＡＭシステムに送信されるデータを補正し、時刻に対して補正する必要があるが、その手段がないという問題があった。
【００１１】
また、ロボット自身がリアルタイム干渉確認の機能を有していても、工作機械の機構部の動作をリアルタイムに取り込み、それらとロボット及び周辺機器と干渉確認するための手段がないという問題があった。
【００１２】
上記特許文献に記載の発明はいずれも、上述の課題を解決するものではない。例えば、特許文献２に記載の発明は、１つの通信制御装置で複数の機構部（制御装置）を制御するためのモーションコントロール向け通信システムに係るものと解されるが、この発明は、通信制御装置と各制御装置との通信はリアルタイム性が確保されていることを前提としており、リアルタイム性が確保されていない場合には適切な対処ができないと解される。
【００１３】
特許文献３は、マスター局からロボットやサーボモータ等のスレーブ局に対して、モーションコントロールを無線通信で実現する技術を開示しているが、通信システムに異種の通信プロトコルが混在する場合については言及されていない。
【００１４】
特許文献４には、非リアルタイムＯＳを搭載し、ＩＥＥＥ１３９４インターフェースを備えた汎用のパソコンを用いてサーボモータ群を同期制御できる旨を記載している。しかし、特許文献４に記載の発明の目的はモーションコントロールであり、本発明のように干渉確認とは異なる。
【００１５】
また特許文献５には、干渉確認のための情報をモニタに表示する旨の記載はあるが、実際に干渉確認を行うのは作業者であり、リアルタイムで干渉確認を行う旨の記載はない。
【００１６】
そこで本発明は、工作機械及びロボットを含むシステムにおいてデータ通信のリアルタイム性が確保されていない場合であっても、工作機械とロボットとの干渉をリアルタイムで適切に確認できる干渉確認システムを提供することを目的とする。
【課題を解決するための手段】
【００１７】
上記目的を達成するために、本願第１の発明は、工作機械を制御する工作機械制御装置と、前記工作機械制御装置にオンラインで接続され、ロボットを制御するロボット制御装置と、前記工作機械の制御軸又は前記ロボットの制御軸の位置データを補正・補間する位置データ補正・補間部と、前記工作機械の機構部及び前記ロボットの機構部の形状モデルデータを保持するとともに、前記工作機械の機構部と前記ロボットの機構部との間の干渉確認を行う干渉確認実行部とを備える干渉確認システムであって、前記位置データ補正・補間部は、前記工作機械と前記ロボットとの間のデータ通信のリアルタイム性が確保されている場合は、前記ロボットと前記工作機械の運転中に、前記ロボット制御装置により生成される前記ロボットの動作時刻及び該ロボットの動作時刻に対応する前記ロボットの制御軸の位置の組と、前記工作機械制御装置により順次生成される、工作機械の動作時刻及び該工作機械の動作時刻に対応する前記工作機械の制御軸の位置の組とを統合し、干渉確認の対象となる時刻及び該干渉確認の対象となる時刻に対応する前記ロボット及び前記工作機械の制御軸の位置の組を順次生成し、前記位置データ補正・補間部は、前記工作機械と前記ロボットとの間のデータ通信のリアルタイム性が確保されていない場合は、過去に蓄積した前記ロボットの制御軸の位置データに基づいて、又は前記ロボットの数理モデルに基づいて、前記ロボットの制御軸の位置を推定し、前記ロボットと前記工作機械の運転中に、前記ロボット制御装置により生成される前記ロボットの動作時刻及び該ロボットの動作時刻に対応する前記ロボットの制御軸の推定された位置の組と、前記工作機械制御装置により順次生成される、工作機械の動作時刻及び該工作機械の動作時刻に対応する前記工作機械の制御軸の位置の組とを統合し、干渉確認の対象となる時刻及び該干渉確認の対象となる時刻に対応する前記ロボット及び前記工作機械の制御軸の位置の組を順次生成するか、過去に蓄積した前記工作機械の制御軸の位置データに基づいて、又は前記工作機械の数理モデルに基づいて、前記工作機械の制御軸の位置を推定し、前記ロボットと前記工作機械の運転中に、前記ロボット制御装置により生成される前記ロボットの動作時刻及び該ロボットの動作時刻に対応する前記ロボットの制御軸の位置の組と、前記工作機械制御装置により順次生成される、工作機械の動作時刻及び該工作機械の動作時刻に対応する前記工作機械の制御軸の推定された位置の組とを統合し、干渉確認の対象となる時刻及び該干渉確認の対象となる時刻に対応する前記ロボット及び前記工作機械の制御軸の位置の組を順次生成し、前記干渉確認実行部は、前記工作機械と前記ロボットの機構部の形状モデルと、順次生成された干渉確認の対象となる時刻、該干渉確認の対象となる時刻に対応するロボット及び工作機械の制御軸の位置の組とに基づいて、前記工作機械の機構部と前記ロボットの機構部との間の干渉をリアルタイムで確認する、干渉確認システムを提供する。
【００１８】
第２の発明は、第１の発明において、前記干渉確認の対象となる時刻が前記工作機械の動作時刻と同一である、干渉確認システムを提供する。
【００１９】
第３の発明は、第１の発明において、前記干渉確認の対象となる時刻が、前記ロボットの動作時刻と同一である、干渉確認システムを提供する。
【００２０】
第４の発明は、第１〜第３のいずれか１つの発明において、前記干渉確認実行部がＣＡＤ／ＣＡＭシステムである、干渉確認システムを提供する。
【００２１】
第５の発明は、第１又は第２の発明において、前記干渉確認実行部が、前記工作機械制御装置に内蔵されている、干渉確認システムを提供する。
【００２２】
第６の発明は、第１又は第３の発明において、前記干渉確認実行部が、前記ロボット制御装置に内蔵されている、干渉確認システムを提供する。
【発明の効果】
【００２３】
本発明によれば、工作機械及びロボットのそれぞれの制御軸の位置データを時系列データとして統合するので、リアルタイムで干渉確認を行う際に、リアルタイム通信向け物理接続インターフェースを増設する等の設備変更を行うことなく、工作機械とロボットとの間の干渉確認をリアルタイムで行うことができる。
【図面の簡単な説明】
【００２４】
【図１】本発明の第１の実施形態に係る干渉確認システムの概略構成を示す図である。
【図２】第１の実施形態において、主に工作機械制御装置の処理の流れを示すフローチャートである。
【図３】第１の実施形態において、主に干渉確認実行部の処理の流れを示すフローチャートである。
【図４】ロボットから工作機械へのデータ通信のリアルタイム性が確保されている状態を説明する図である。
【図５】ロボットから工作機械へのデータ通信のリアルタイム性が確保されていない状態を説明する図である。
【図６】ロボット、工作機械及び干渉確認実行部間での、時系列データの送受信の例をタイムチャート式に説明する図である。
【図７】本発明の第２の実施形態に係る干渉確認システムの概略構成を示す図である。
【図８】第２の実施形態において、主にロボット制御装置の処理の流れを示すフローチャートである。
【図９】第２の実施形態において、主に干渉確認実行部の処理の流れを示すフローチャートである。
【図１０】本発明の第３の実施形態に係る干渉確認システムの概略構成を示す図である。
【図１１】第３の実施形態における処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００２５】
図１は、本発明の第１の実施形態に係る干渉確認システム１０の概略構成を示す図である。干渉確認システム１０は、工作機械１２を制御する工作機械制御装置１４と、ロボット１６を制御するロボット制御装置１８と、工作機械１２の機構部２０及びロボット１６の機構部２２の形状モデルデータやそれらのレイアウト情報を保持する干渉確認実行部２４とを備える。工作機械１２及びロボット１６は、例えばロボット１６が供給した未加工ワークを工作機械１２で加工し、加工済ワークをロボット１６が工作機械１２から取出す等の、協調作業を行うように構成されている。干渉確認実行部２４は、工作機械の機構部２０とロボットの機構部２２との間の干渉確認を行うように構成されており、例えばリアルタイムＣＡＤ／ＣＡＭシステムであってもよいし、或いは工作機械制御装置１４に内蔵されていてもよい。
【００２６】
工作機械制御装置１４は、工作機械１２の制御軸の位置データを所定周期で出力する制御軸位置データ出力部２６と、位置データ出力部２６から出力された位置データを補正・補間する位置データ補正補間部２８と、ロボット制御装置１８及び干渉確認実行部２４とデータ通信を行う通信部３０とを有し、通信部３０は具体的には、ロボット制御装置１８からの位置データを受信する受信部３２と、位置データ補正補間部２８からの位置データを干渉確認実行部２４にリアルタイムで送信するリアルタイム送信部３４とを有する。
【００２７】
一方、ロボット制御装置１８は、ロボット１６の制御軸の位置データを所定周期で出力する制御軸位置データ出力部３６と、工作機械制御装置１４とデータ通信を行う通信部３８とを有し、通信部３８は具体的には、位置データ出力部３６からの位置データを工作機械制御装置１４の受信部３２に送信する送信部４０を有する。
【００２８】
工作機械制御装置１４のリアルタイム送信部３４と干渉確認実行部２４とは、無線又は有線のインターフェースＩαによって接続されており、インターフェースＩαによって工作機械の制御軸の位置データ（時系列データ）が、干渉確認実行部２４にサイクリック伝送される。インターフェースＩαにおける通信プロトコルをＣαとし、インターフェースＩαでのデータ送受信はリアルタイム性が確保されているものとする。
【００２９】
干渉確認実行部２４は、工作機械制御装置１４から送信される位置の時系列データを、サイクリック伝送の１周期又は数周期以内で、工作機械の機構部２０とロボットの機構部２２との干渉の有無を確認する処理を実行し、干渉がある場合は工作機械制御装置１４に対して、メッセージ伝送によって運転停止指示等の指示を送信することができる。
【００３０】
一方、工作機械制御装置１４の受信部３２とロボット制御装置１８の送信部４０とは、無線又は有線のインターフェースＩβによって接続されており、インターフェースＩβによってロボット１６の制御軸の位置データが、工作機械制御装置１４の受信部３２にサイクリック伝送される。インターフェースＩβにおける通信プロトコルをＣβとするが、インターフェースＩβでのデータ送受信はリアルタイム性が確保されていなくてもよく、サイクリック伝送の送信周期にバラつきがあってもよいものとする。
【００３１】
なお本願明細書では、「（通信の）リアルタイム性」とは、ある時間内にあるデータが必ず受信先に到達することを意味し、「リアルタイム性を有する（リアルタイム性が確保されている）」場合、受信先が短い周期でデータが確実に受信することで即時に適切な対応をすることができる。また「サイクリック伝送」とは、短い周期で特定種類のデータを送受信し続け、通信のリアルタイム性を有する通信を意味する。一方、「メッセージ伝送」とは、周期的でなく、非同期にデータを送受信する通信を意味する。
【００３２】
次に、図２−図６を参照しつつ、干渉確認システム１０における処理について説明する。なお図２のフローチャートは主に工作機械制御装置１４での処理を示し、図３のフローチャートは主に干渉確認実行部２４での処理を示す。
【００３３】
先ず、工作機械１２及びロボット１６による生産運転（協調作業）が開始されると（図２のステップＳ１）、干渉確認実行部２４において工作機械の機構部２０とロボットの機構部２２とのリアルタイムでの干渉確認処理が実行される（ステップＳ２）。この処理については後述する。
【００３４】
次のステップＳ３では、工作機械制御装置１４が、ロボット制御装置１８により順次生成される、ロボット１６の動作時刻（ロボット時刻）とロボット時刻に対応するロボット１６の制御軸の位置の組（データセット）を、リアルタイム性を有しつつ取得できているか否か、より具体的には、ロボット制御装置１８の送信部４０から工作機械制御装置１４の受信部３２へのデータ通信のリアルタイム性が確保されているか否かを判定する。図４は、通信のリアルタイム性が確保されている場合、すなわち、工作機械１２とロボット１６との間の送信時間遅れｄが補正・補間の計算に必要な時間に比べて十分に小さく、かつロボット（制御装置）からの通信周期ｆ１が比較的短い場合を示している。この場合、工作機械制御装置１４の位置データ補正・補間部２８は、ロボット制御装置１８からのデータセットと、工作機械制御装置１４により順次生成される、工作機械１２の動作時刻（工作機械時刻）と工作機械時刻に対応する工作機械１２の制御軸の位置の組（データセット）とを統合する。具体的には、位置データ補正・補間部２８は、工作機械１２の制御軸の位置（時系列データ）と、各工作機械時刻に対応するロボット１６の制御軸の位置を得るために補正計算することで、時刻に関して補間し、新たにロボット１６の制御軸の位置（時系列データ）を得て、両データセットを結合する（ステップＳ４）。
【００３５】
一方、図５に示すように、通信のリアルタイム性が確保されていない場合、すなわちロボット（制御装置）からの通信周期ｆ２が比較的長い場合やバラつきがある場合を示している。また、通信のリアルタイム性が確保されていない場合には、工作機械１２とロボット１６との間の送信時間遅れｄが補正・補間の計算に必要な時間に比べて無視できないほど大きい場合も含まれる。この場合、図４の場合に比べ、補間が必要な各工作機械時刻に近いロボット１６の制御軸の時刻と位置が未到達の状態で、各工作機械時刻に対応したロボット１６の制御軸の位置を得る必要がある。そのため、すでに位置データ補正・補間部２８で過去に蓄積したロボット１６の制御軸の位置（時系列データ）を使用して、必要な各工作機械時刻に対応したロボット１６の制御軸の位置を推定する処理を追加する（ステップＳ５）。
【００３６】
この推定する処理としては、過去に蓄積したロボット１６の制御軸の位置（時系列データ）を使用し、適当な線形関数や平滑化関数などで時刻に関して外挿（Extrapolation）し、補正された位置を得る方法や、位置データ補正・補間部２８に、生産運転前から予め適当なロボット１６の数理モデルを計算する機能を保持させることで、アンサンブルカルマンフィルタを用いた推定計算を行う方法がある。さらに、生産運転実行後、ロボット１６の制御装置から送信されたすべての過去の制御軸の位置（時系列データ）を位置データ補正・補間部２８に保持できるようにしている場合には、並行してそのデータより位置の時間変化に周期性が現れているかどうかを統計的に抽出する処理を行い、計算する必要がある各工作機械時刻が周期的に繰り返されていた過去のロボット１６の位置（時系列データ）の一部であると判断できるとき、過去の周期変化のデータを選択して取り出し、最適内挿法を適用する方法がある。
【００３７】
ステップＳ４又はＳ５の処理によって、補間後のロボットの位置と工作機械の位置とが統合され、１つの位置の時系列データとなる。この統合（結合）された時系列データが、工作機械制御装置１４から干渉確認実行部２４（例えばリアルタイムＣＡＤ／ＣＡＭシステム）に送信される（ステップＳ６）。ステップＳ３〜Ｓ６の処理は、生産運転が終了するまで繰り返される（ステップＳ７）。
【００３８】
図２のステップＳ６と関連し、干渉確認実行部２４は、工作機械制御装置１４から、工作機械１２及びロボット１６の統合された（時系列）位置データを受信する（図３のステップＳ８）。次に干渉確認実行部２４は、予め記憶・保持していた工作機械の機構部２０及びロボットの機構部２２の形状モデルと、統合された時系列データ（具体的には、該時系列データに含まれる各時刻（干渉確認の対象となる時刻）及び各時刻に対応する工作機械及びロボットの制御軸の位置）とに基づいて、工作機械の機構部２０とロボットの機構部２２との干渉の有無（具体的には、２つの形状モデル間の接触又は重なりの有無）を確認する（ステップＳ９）。なお第１の実施形態では、干渉確認の対象となる時刻は、工作機械１２の動作時刻と同一である。
【００３９】
ステップＳ９での処理の結果、干渉が発生すると予測された場合は、干渉確認実行部２４から工作機械制御装置１４に対して制動停止指令がメッセージ伝送によって送られる（ステップＳ１１）。ステップＳ８以降のリアルタイムでの干渉確認は、生産運転が終了するまで繰り返される（ステップＳ１２、図２のステップＳ７）。
【００４０】
なお干渉確認処理は、生産運転中のみ行うようにしてもよいし、生産運転中でなくとも工作機械１２及びロボット１６に電力供給されている間は行うようにしてもよい。或いは、生産運転中でなくても、工作機械のオペレータが手動で工作機械の主軸や加工テーブルなどの可動部を動作させる場合、プログラムで工作機械を動作させる場合、又はロボットをジョグする場合等でも、リアルタイムに干渉確認を実行し、干渉が予測されたときは、オペレータの操作を無効にするようにしてもよい。
【００４１】
図６は、図２及び図３のフローチャートを用いて説明した処理の流れをタイムチャート式に説明する図である。先ず、時刻ｔ１に対応するロボット制御軸の位置データが、送信時間遅れｄ後に工作機械に送られると、工作機械では上述のステップＳ４又はＳ５の処理を行う。この処理は通常、１ミリ秒〜１０ミリ秒の周期ｆ３で行われる。次に、統合された位置データの時系列が干渉確認実行部２４に送られ（時刻ｔ２）、上述のステップＳ８の処理を行う。この処理は通常、０．２５ミリ秒〜４０ミリ秒の周期ｆ４で行われる。
【００４２】
ここで、干渉予測時刻ｔ３において干渉が発生すると予測された場合（図３のステップＳ９）、干渉確認実行部２４から工作機械制御装置１４に対して、制動停止指令がメッセージ伝送によって送られ（ステップＳ１０）、工作機械１２は制動停止時間ｆ５の経過後に停止する。また工作機械制御装置１４は、制動停止指令を受けたら直ちにロボット制御装置１８に制動停止指令をメッセージ伝送によって送り、ロボット１６は制動停止時間ｆ６の経過後に停止する。
【００４３】
なお図６に示すように、干渉予測時刻ｔ３は、干渉確認処理が終了した時刻（工作機械に制動停止指令を送信する時刻）ｔ４から、工作機械１２及びロボット１６を含む協働システムの最小制動停止時間ｆ７及び所定の余裕時間ｔ８が経過した時刻となるように設定されることが好ましい。なおシステムの最小制動停止時間ｆ７は、時刻ｔ４から、工作機械１２の制動停止時刻又はロボット１６の制動停止時刻のいずれか遅い方までの時間である。
【００４４】
ここで、干渉確認実行部２４による干渉確認処理の具体例を説明する。第１の具体例は、工作機械の機構部２０及びロボットの機構部２２の形状モデルデータのそれぞれに適当な厚さの膜を付加し、それらの膜が接触したら（接触が予測されたら）制動停止指令を出力する、というものである。ここで膜の厚さは、工作機械及びロボットの機構部のそれぞれについて、制動停止指令を受信してから実際に停止するまでに移動してしまう距離の最大値として設定されることが好ましい。
【００４５】
第２の具体例は、工作機械の機構部２０とロボットの機構部２２のそれぞれの位置の時系列データにより、未来の時刻の位置を常に推定し、その未来の時刻の位置において干渉が発生する（すなわち２つの形状モデルデータが接触するか又は重なる）場合、制動停止指令を出力する、というものである。ここでは、工作機械及びロボットのそれぞれについて制動時間が既知であることを前提とし、干渉確認完了時点の時刻から制動停止時間を経過した後の未来の時刻の位置を推定する。この時刻を干渉確認必要未来時刻と称する。その干渉確認必要未来時刻に対応する位置データに基づいて干渉確認を行う。
【００４６】
なお制御装置の補間指令値情報の時系列において、干渉確認完了時点より未来に相当する時刻情報があり、その最も先の未来の時刻と位置のデータが、干渉確認必要未来時刻であるか、その干渉確認必要未来時刻より先の時刻である場合は、位置を補間して取得する。制御装置の補間指令値情報の時系列において、その最も先の未来の時刻よりも、干渉確認必要未来時刻が先にある場合、干渉確認必要未来時刻に対応する各機構部の位置を推定する。
【００４７】
各機構部の位置の推定方法としては、さらに以下の２通りが挙げられる。第１の方法は、位置の時系列のみで推定する方法であり、線形関数や平滑化関数などの適当な関数で外挿（Extrapolation）する。生産運転において生産運転プログラムが繰り返されている場合は、その時系列を常に記録し、その記録を参照して適切な予測を行うための最適内挿法などを適用する。また生産運転プログラムが繰り返されているかどうかの情報が未知の場合は、アンサンブルカルマンフィルタなどの予測モデルで位置データを推定することができる。
【００４８】
第２の方法は、生産運転プログラムのすべてか一部が使用できる場合に、時系列データ以外にプログラムの進行状態の情報も取得し、プログラムの進行の時間進展型のシミュレーションを逐次実施し、時系列データとそのシミュレーションのデータを比較し、位置データを推定するという方法である。
【００４９】
図７は、本発明の第２の実施形態に係る干渉確認システム１０ａの概略構成を示す図である。干渉確認システム１０ａは、工作機械１２を制御する工作機械制御装置１４と、ロボット１６を制御するロボット制御装置１８と、工作機械１２の機構部２０及びロボット１６の機構部２２の形状モデルデータやそれらのレイアウト情報を保持する干渉確認実行部２４とを備える。工作機械１２及びロボット１６は、例えばロボット１６が供給した未加工ワークを工作機械１２で加工し、加工済ワークをロボット１６が工作機械１２から取出す等の、協調作業を行うように構成されている。干渉確認実行部２４は、工作機械の機構部２０とロボットの機構部２２との間の干渉確認を行うように構成されており、例えばリアルタイムＣＡＤ／ＣＡＭシステムであってもよいし、或いはロボット制御装置１８に内蔵されていてもよい。
【００５０】
ロボット制御装置１８は、ロボット１６の制御軸の位置データを所定周期で出力する制御軸位置データ出力部２６と、位置データ出力部２６から出力された位置データを補正・補間する位置データ補正補間部２８と、工作機械制御装置１４及び干渉確認実行部２４とデータ通信を行う通信部３０とを有し、通信部３０は具体的には、工作機械1制御装置１４からの位置データを受信する受信部３２と、位置データ補正補間部２８からの位置データを干渉確認実行部２４にリアルタイムで送信するリアルタイム送信部３４とを有する。
【００５１】
一方、工作機械制御装置１４は、工作機械１２の制御軸の位置データを所定周期で出力する制御軸位置データ出力部３６と、ロボット制御装置１８とデータ通信を行う通信部３８とを有し、通信部３８は具体的には、位置データ出力部３６からの位置データをロボット制御装置１８の受信部３２に送信する送信部４０を有する。
【００５２】
図１と図７の比較からわかるように、干渉確認システム１０ａは、制御軸の位置データの通信元が工作機械制御装置１４であり、通信先がロボット制御装置１８である点で、第１の実施形態に係る干渉確認システム１０と相違し、他の構成要素やそれらの機能については第１の実施形態と同様でよい。従って図７において第１の実施形態と同等の構成要素については同一の参照符号を付与し、詳細な説明は省略する。
【００５３】
図８及び図９は、図２及び図３にそれぞれ類似し、干渉確認システム１０ａにおける処理の流れを説明するフローチャートである。なお図８のフローチャートは主にロボット制御装置１８での処理を示し、図９のフローチャートは主に干渉確認実行部２４での処理を示す。
【００５４】
先ず、工作機械１２及びロボット１６による生産運転（協調作業）が開始されると（図８のステップＳ２１）、干渉確認実行部２４において工作機械の機構部２０とロボットの機構部２２とのリアルタイムでの干渉確認処理が実行される（ステップＳ２２）。この処理は、第１の実施形態のものと同様でよい。
【００５５】
次のステップＳ２３では、ロボット制御装置１８が、工作機械制御装置１４により順次生成される、工作機械１２の動作時刻（工作機械時刻）と工作機械時刻に対応する工作機械１２の制御軸の位置の組（データセット）を、リアルタイム性を有しつつ取得できているか否か、より具体的には、工作機械制御装置１４の送信部４０からロボット制御装置１８の受信部３２へのデータ通信のリアルタイム性が確保されているか否かを判定する。通信のリアルタイム性が確保されている場合は、ロボット制御装置１８の位置データ補正・補間部２８は、工作機械制御装置１４からのデータセットと、ロボット制御装置１８により順次生成される、ロボット１６の動作時刻（ロボット時刻）とロボット時刻に対応するロボット１６の制御軸の位置の組（データセット）とを統合する。具体的には、位置データ補正・補間部２８は、ロボット１６の制御軸の位置（時系列データ）と、各ロボット時刻に対応する工作機械１２の制御軸の位置を得るために補正計算することで、時刻に関して補間し、新たに工作機械１２の制御軸の位置（時系列データ）を得て、両データセットを結合する（ステップＳ２４）。
【００５６】
一方、通信のリアルタイム性が確保されていない場合は、位置データ補正・補間部２８において、補間が必要な各ロボット時刻に近い工作機械１２の制御軸の時刻と位置が未到達の状態で、各ロボット時刻に対応した工作機械１２の制御軸の位置を得る必要がある。そのため、すでに位置データ補正・補間部２８で過去に蓄積した工作機械１２の制御軸の位置（時系列データ）を使用して、必要な各ロボット時刻に対応した工作機械１２の制御軸の位置を推定する処理を追加する（ステップＳ２５）。なおこの推定する処理としては、第１の実施形態と同様の方法が適用可能である。
【００５７】
ステップＳ２４又はＳ２５の処理によって、補間後の工作機械の位置とロボットの位置とが統合され、１つの位置の時系列データとなる。この統合（結合）された時系列データが、ロボット制御装置１８から干渉確認実行部２４（例えばリアルタイムＣＡＤ／ＣＡＭシステム）に送信される（ステップＳ２６）。ステップＳ２３〜Ｓ２６の処理は、生産運転が終了するまで繰り返される（ステップＳ２７）。なおステップＳ２３〜Ｓ２７の補正処理は通常、１ミリ秒〜１０ミリ秒の周期で行われる。
【００５８】
図８のステップＳ２６と関連し、干渉確認実行部２４は、ロボット制御装置１８から、工作機械１２及びロボット１６の統合された（時系列）位置データを受信する（図９のステップＳ２８）。次に干渉確認実行部２４は、予め記憶・保持していた工作機械の機構部２０及びロボットの機構部２２の形状モデルと、統合された時系列データ（具体的には、該時系列データに含まれる各時刻（干渉確認の対象となる時刻）及び各時刻に対応する工作機械及びロボットの制御軸の位置）とに基づいて、工作機械の機構部２０とロボットの機構部２２との干渉の有無（具体的には、２つの形状モデル間の接触又は重なりの有無）を確認する（ステップＳ２９）。なお第２の実施形態では、干渉確認の対象となる時刻は、ロボット１６の動作時刻と同一である。
【００５９】
ステップＳ２９での処理の結果、干渉が発生すると予測された場合は、干渉確認実行部２４からロボット制御装置１８に対して制動停止指令がメッセージ伝送によって送られる（ステップＳ３１）。ステップＳ２８以降のリアルタイムでの干渉確認は、生産運転が終了するまで繰り返される（ステップＳ３２、図８のステップＳ２７）。なおステップＳ２８〜Ｓ３２の干渉確認処理は通常、０．２５ミリ秒〜４０ミリ秒の周期で行われる。
【００６０】
なお干渉確認処理は、生産運転中のみ行うようにしてもよいし、生産運転中でなくとも工作機械１２及びロボット１６に電力供給されている間は行うようにしてもよい。或いは、生産運転中でなくても、工作機械のオペレータが手動で工作機械の主軸や加工テーブルなどの可動部を動作させる場合、プログラムで工作機械を動作させる場合、又はロボットをジョグする場合等でも、リアルタイムに干渉確認を実行し、干渉が予測されたときは、オペレータの操作を無効にするようにしてもよい。
【００６１】
第２の実施形態では、工作機械１２側に干渉確認実行部２４が設けられていない場合でも、ロボット向けのリアルタイム干渉確認機能を有するロボットを使用することによって、第１の実施形態と概ね同等のリアルタイム干渉機能を、工作機械及びロボットを含む協働システムに付与することができる。
【００６２】
図１０は、本発明の第３の実施形態に係る干渉確認システム１０ｂの概略構成を示す図である。干渉確認システム１０ｂは、ロボット制御装置１８が、運動学パラメータ出力部４２と、生産運転計画情報出力部４４とを有する点で、第１の実施形態に係る干渉確認システム１０と相違し、他の構成要素やそれらの機能については第１の実施形態と同様でよい。従って図１０において第１の実施形態と同等の構成要素については同一の参照符号を付与し、詳細な説明は省略する。
【００６３】
運動学パラメータ出力部４２は、ロボット１６の制御軸の運動学パラメータを通信部３８に出力するように構成されており、生産運転計画情報出力部４４は、生産運転の計画情報を通信部３８に出力するように構成されている。従って干渉確認システム１０ｂでは、ロボット制御装置１８の送信部４０から、工作機械制御装置１４の受信部３２に対し、ロボット１６の制御軸の運動学パラメータ及び実行されているプログラムの情報を、インターフェースＩβを介して送ることができる。
【００６４】
第３の実施形態に係る干渉確認システム１０ｂは、インターフェースＩβによるロボット制御装置１８と工作機械制御装置１４との間のデータ通信のリアルタイム性が期待できない場合に特に適している。以下、干渉確認システム１０ｂでの処理の流れについて、図１１のフローチャートを参照しつつ説明する。
【００６５】
先ず、工作機械１２及びロボット１６による生産運転（協調作業）が開始されると（ステップＳ４１）、工作機械制御装置１４がロボット制御装置１８から、ロボット１６の制御軸の運動学パラメータ及び実行プログラムの情報を受信する（ステップＳ４２）。次に、干渉確認実行部２４において工作機械の機構部２０とロボットの機構部２２とのリアルタイムでの干渉確認処理が実行される（ステップＳ４３）。この処理は、第１の実施形態と同様でよい。
【００６６】
次のステップＳ４４では、工作機械制御装置１４がロボット制御装置１８から、ロボット１６の動作時刻（ロボット時刻）とそれに対応するロボット１６の制御軸の位置のデータ（データセット）と、実行プログラムの状態（情報）とを、リアルタイム性を有しつつ取得できているか否か、より具体的には、ロボット制御装置１８の送信部４０から工作機械制御装置１４の受信部３２へのデータ通信のリアルタイム性が確保されているか否かを判定する。通信のリアルタイム性が確保されている場合は、工作機械制御装置１４はロボット１６の時刻、（制御軸の）位置及びプログラムの実行状態を取得し（ステップＳ４５）、工作機械制御装置１４の位置データ補正・補間部２８は、ロボット制御装置１８からのデータセットと、工作機械１２の動作時刻（工作機械時刻）とそれに対応する工作機械１２の制御軸の位置のデータ（データセット）とを統合する。具体的には、位置データ補正・補間部２８は、工作機械１２の制御軸の位置（時系列データ）と、各工作機械時刻に対応するロボット１６の制御軸の位置を得るために、各時点でのプログラム実行状態に基づいて運動学パラメータを反映したロボットの動作位置を得るように補正計算することで時刻に関して補間し、新たにロボット１６の制御軸の位置（時系列データ）を得て、両データセットを結合する（ステップＳ４６）。
【００６７】
但し、第３の実施形態では、インターフェースＩβにおけるリアルタイム性が確保されていない（Ｓ４４において殆どの場合に「Ｎｏ」に進む）ことを想定している。この場合、ロボット１６のプログラムの実行状態を、経過時間から予測する（ステップＳ４７）。より具体的には、ステップＳ４７では、最後にロボットからプログラムの実行状態を取得した時刻からの経過時間から、現在のロボットのプログラムの実行状態を推定し、さらに、該経過時間とプログラムの内容とに基づき、プログラムの実行命令の進行状態の詳細を予測する。
【００６８】
次にステップＳ４８では、ロボット１６の運動学計算パラメータからロボット１６（の制御軸）の位置を補間計算する（ステップＳ４８）。より具体的には、ロボットのプログラムの実行命令により軸制御が行われていなかった場合は、最後にプログラムの実行状態を取得した時刻に対応するロボットの位置を採用する。一方、ロボットのプログラムの実行命令により軸制御が行われていると判断される場合は、ロボットの機構部の運動学計算を行い、ロボットの現在の軸位置を推定する。
【００６９】
次にステップＳ４９では、各工作機械時刻に対応するロボットの制御軸の位置（時系列データ）と、工作機械の制御軸の位置（時系列データ）の両データセットを結合して、１つの時系列データを生成する。
【００７０】
ステップＳ４６又はＳ４９の処理によって、補間後の工作機械の位置とロボットの位置とが統合され、１つの位置の時系列データとなる。この統合（結合）された時系列データが、工作機械制御装置１４から干渉確認実行部２４（例えばリアルタイムＣＡＤ／ＣＡＭシステム）に送信される（ステップＳ５０）。なお図１１には示されていないが、干渉が発生すると予測された場合は、干渉確認実行部２４から工作機械制御装置１４に対して制動停止指令がメッセージ伝送によって送られる。リアルタイムでの干渉確認は、生産運転が終了するまで繰り返される（ステップＳ５１、Ｓ５２）。なおステップＳ４４〜Ｓ５１の補正処理は通常、１ミリ秒〜１０ミリ秒の周期で行われる。
【００７１】
第３の実施形態では、工作機械とロボットとの間で、リアルタイム性が確保された通信接続ができないという制限があっても、リアルタイムでの干渉確認処理を実行することができる。またロボットの外部通信機能や通信ハードウェアの仕様にリアルタイム通信が含まれていない場合でも、協調システム全体としてはリアルタイム干渉確認処理を実行することができる。
【００７２】
なお第１の実施形態と第２の実施形態との関係と同様に、第３の実施形態を、制御軸の位置データの通信元を工作機械制御装置１４とし、通信先をロボット制御装置１８とした実施形態ももちろん可能である。
【００７３】
以上、説明したように、本発明に係る干渉確認システムでは、工作機械の制御装置（ＣＮＣ）とロボットの制御装置をオンラインで接続し、一方の位置データを他方に送信し、工作機械及びロボットのそれぞれの機構部の位置データと統合するための計算処理を行う。従って、制御装置間の位置データの送信プロトコル及びインターフェースが、制御装置と干渉確認実行部との間の位置データの送受信のための送信プロトコル及びインターフェースと異なっている場合にも、リアルタイムでの適切な干渉確認が可能である。さらに、送信側の制御装置で正確な位置データを送信できる一方、通信のリアルタイム性が確保できない場合にも、データセットの統合を行う制御装置で位置データを適宜、予測し、工作機械及びロボットのそれぞれの機構部の位置データを統合することができる。
【００７４】
工作機械とロボットの間で位置データを統合するため、リアルタイム干渉確認ＣＡＤ／ＣＡＭシステムに対し、リアルタイム通信向け物理接続インターフェースを増設することや、リアルタイム干渉確認ＣＡＤ／ＣＡＭシステムから送信側の制御装置への通信用機材を追加するなどの変更を行わずに、工作機械とロボットとの間の干渉確認をリアルタイムで行うことができる。
【００７５】
ロボットと工作機械との間の通信のリアルタイム性が確保できなくてもリアルタイム干渉確認に必要な位置データを補間することにより、１つのリアルタイム干渉確認ＣＡＤ／ＣＡＭシステムで全体のリアルタイム干渉確認を行うことができる。また、単体の工作機械向けのリアルタイム干渉確認ＣＡＤ／ＣＡＭシステム、またはロボット向けのリアルタイム干渉確認機能により、工作機械及びロボットを含むシステム全体の干渉確認ができるので、システム立ち上げ時の作業の安全性を高め、結果としてシステム完成の納期を短縮することができる。
【００７６】
さらに、工作機械とリアルタイム干渉確認ＣＡＤ／ＣＡＭシステムで構成され、オペレータが運用することを前提に設計された生産セルに対し、オペレータの作業負担の軽減のために後からロボットを導入する場合、ロボットの導入コストを減らすことができる。また工作機械にリアルタイム干渉確認システムが備わっていない場合でも、リアルタイム干渉確認機能を有したロボット制御装置でシステムを構成することで、工作機械内部の機構部でのリアルタイム干渉確認機能をロボットに付与することができる。
【符号の説明】
【００７７】
１０    干渉確認システム
１２    工作機械
１４    工作機械制御装置
１６    ロボット
１８    ロボット制御装置
２０    工作機械機構部
２２    ロボット機構部
２４    干渉確認実行部
２６、３６    制御軸位置データ出力部
２８    位置データ補正・補間部
３０、３８    通信部
３２    受信部
３４    リアルタイム送信部
４０    送信部
４２    運動学パラメータ出力部
４４    生産運転計画情報出力部
【図１】
0006411964.tif 000002
【図２】
0006411964.tif 000003
【図３】
0006411964.tif 000004
【図４】
0006411964.tif 000005
【図５】
0006411964.tif 000006
【図６】
0006411964.tif 000007
【図７】
0006411964.tif 000008
【図８】
0006411964.tif 000009
【図９】
0006411964.tif 000010
【図１０】
0006411964.tif 000011
【図１１】
0006411964.tif 000012