(57)【特許請求の範囲】
【請求項１】
入力された３次元自由曲面形状を有する研削対象物の設計データに基づいて研削対象物の３次元モデルを作成し、該作成された研削対象物の３次元モデルに対して、研削方向と交わる方向のピッチＣｐを、目的の研削量に対する砥石の形状、研削加工面に対する砥石の接触状態及び前記３次元モデルから算出される研削加工面の曲面の状態に応じて決定した格子点列で分割した格子点列データを作成し、該作成された格子点列データの各格子点に対して前記研削工具を近似した立体図形を、前記３次元モデルから算出される各格子点における法線ベクトルＮ及び研削方向を示す研削ベクトルＶ並びに各格子点における砥石と研削加工面の曲面の接線との成す角度である研削工具の接触角αop’で付与される研削工具の姿勢で位置付けしながら移動させていって前記各立体図形が前記格子点列に含まれていないことによって前記研削対象物に対する前記研削工具の非干渉領域を算出し、該算出された研削工具の非干渉領域において、前記格子点列データと前記各格子点における前記研削工具の姿勢とに基づいて前記研削工具が前記研削対象物に対して研削加工するロボット機構の動作経路を算出するロボット機構の動作経路算出工程と、
該ロボット機構の動作経路算出工程で算出されたロボット機構の動作経路に基づいてロボット機構の駆動部を駆動制御し、手先部に取付けられた力検出手段から検出される研削工具の押付け力信号を用いた研削加工運動モデルに基づくコンプライアンス制御により前記切削工具が前記各格子点において前記研削工具の姿勢を取りながら前記研削対象物に対して倣って研削加工を施すロボット機構駆動制御工程とを有することをロボット機構制御方法。
【請求項２】
前記ロボット機構駆動制御工程において、前記研削加工運動モデルに基づくコンプライアンス制御により、前記切削工具が前記研削対象物の研削加工面を倣う倣い速度ｖｆが、研削対象物に対する接線方向の切削工具の送り速度ｖが得られるような前記切削工具が前記研削対象物に接触する接触点における研削対象物のベクトルである曲率半径ｓに応じた速度であることを特徴とする請求項１記載のロボット機構制御方法。
【請求項３】
前記ロボット機構の動作経路算出工程において、更に、前記格子点列データ及び前記各格子点における研削工具の姿勢をロボット座標系に変換し、該変換されたロボット座標系での格子点列データ及び該ロボット座標系での各格子点における研削工具の姿勢に基づいてロボット機構の稼動できる範囲において少なくとも手先部について研削対象物に対する干渉チェックを行って、前記研削工具が前記研削対象物に対して研削加工するロボット機構の動作経路を算出することを特徴とする請求項１記載のロボット機構制御方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、羽根車等の３次元自由曲面を有する作業対象物に対して研削、研磨等の倣い作業を産業用ロボット機構を中心にして実現するロボット機構制御方法及びその装置（システム）に関するものである。
【０００２】
【従来の技術】
ロボットによって倣い作業を行うロボット機構制御装置の従来技術としては、「グラインダ作業ロボット」日本ロボット学会誌 Vol.9, No.6, pp.790−793、 1991（従来技術１）、”Model Based Control for a Deburring Robot”Proceedings of the 1992 IEEE/RSJ International Conference on Intelligent Robots and Systems July 7-10 1992 pp.2055-2059（従来技術２）、特開平０３−２３９４６３号公報（従来技術３）及び特開平０１−３２１１５８号公報（従来技術４）が知られている。
【０００３】
即ち、従来技術１には、位置と力のハイブリッド制御をソフトウエアで行う６軸円筒座標型ロボットと、立体視覚操作装置を組み合わせたグラインダ作業用ロボットが記載されている。
従来技術２には、ロボットによってバリ取り作業を行わせるコンプライアンス制御について記載されている。
従来技術３には、研削対象物の表面の凹凸の状態を計測し、この計測された凹凸の状態に基づいて研削対象となる表面の被研削形状を認識し、この認識された被研削形状に基づいて被研削形状の種類と関連づけて予め設定された加工パターンの中から対応する加工パターンを選択し、この選択された加工パターンに基づいて研削対象物の対応する部分をロボットによって研削する技術が記載されている。
従来技術４には、狭隘部を含む被研削面を予め計測して仕上げ面形状と比較することにより研削量を推定し、仕上げ面形状に対して計画された研削経路を修正して研削するロボットの制御技術が記載されている。
【０００４】
【発明が解決しようとする課題】
上記何れの従来技術においても、狭隘部を有する３次元自由曲面形状の作業対象物に対して、狭隘部も含めてロボット機構の手先部に取り付けた工具により支障なく作業できるように予め作業計画を立てておこうとする課題について考慮されていなかった。また何れの従来技術においても、狭隘部を有する３次元自由曲面形状の作業対象物に対して、ロボット機構の手先部に取り付けた工具により支障なく、円滑に、且つ高精度に倣い等の作業をさせようとする課題についても考慮されていなかった。
【０００５】
本発明の目的は、上記課題を解決するために、狭隘部を有する３次元自由曲面形状の作業対象物に対してロボット機構の手先部も含め該手先部に取り付けた工具の動作経路等の作業計画を予め立てて、前記工具により作業対象物に対して所望の作業範囲で干渉等支障が発生することなく倣い等の作業ができるようにしたロボット機構制御方法及びその装置を提供することにある。
また本発明の他の目的は、３次元自由曲面形状の作業対象物に対してロボット機構の手先部に取り付けた工具により倣い作業をする場合、力検出手段の能力に応じて倣い動作ができる工具の適切な送り速度を算出して前記作業対象物に対して前記工具が非常に能率よく倣い作業ができるようにしたロボット機構制御方法及びその装置を提供することにある。
また本発明の他の目的は、３次元自由曲面形状の作業対象物とロボット機構の手先部との間における相対的位置・姿勢ずれを補正し、設計データに基づく数値モデルと実際の作業対象物との間において大きく位置誤差や形状誤差が存在してもロボット機構の手先部に取り付けた工具により前記作業対象物に対して高精度の倣い等の作業ができるようにしたロボット機構制御方法及びその装置を提供することにある。
【０００６】
また本発明の他の目的は、３次元自由曲面形状の作業対象物に対してロボット機構の手先部に取り付けた工具により作業をしていて何らかの要因で途中で作業を停止させなければならなくなっても、ロボット機構の手先部を支障が生じることなく円滑に、且つ短時間で初期位置に退避でき、また再開する場合においてもロボット機構の手先部を支障が生じることなく円滑に、且つ短時間で、作業対象物へ復帰できるようにしたロボット機構制御方法及びその装置を提供することにある。
また本発明の他の目的は、３次元自由曲面形状の作業対象物における面の方向が大きく変わる狭隘部に対して、ロボット機構の手先部に取り付けた工具により作業する場合においても、前記手先部が干渉することなく、倣い作業ができるようにしたロボット機構制御方法及びその装置を提供することにある。
また本発明の他の目的は、３次元自由曲面形状の作業対象物に対してロボット機構の手先部に取り付けた研削工具または研磨工具により倣い加工作業する場合において、前記工具による加工面の焼き付きを防止して加工精度を向上するようにしたロボット機構制御方法及びその装置を提供することにある。
【０００７】
また本発明の他の目的は、３次元自由曲面形状の作業対象物に対してロボット機構の手先部に取り付けた研削工具または研磨工具により倣い加工作業する場合において、研削傷または研磨傷を残さないようにして加工精度を向上するようにしたロボット機構制御方法を提供することにある。
【０００８】
【課題を解決するための手段】
上記目的を達成するために、本発明は、入力された３次元自由曲面形状を有する作業対象物の設計データに基づいて作業対象物の３次元モデルを作成して記憶手段に記憶し、該記憶手段に記憶された作業対象物の３次元モデルに基づいて、ロボット機構の手先部に取り付けられた工具が前記作業対象物に対して作業するロボット機構の少なくとも動作経路を算出するロボット機構の動作経路算出工程又はその手段と、該ロボット機構の動作経路算出工程又はその手段で算出されたロボット機構の動作経路に基づいてロボット機構の駆動部を駆動制御しながら、手先部に取り付けられた力検出手段から検出される力信号を用いてコンプライアンス制御により前記工具が３次元自由曲面形状を有する作業対象物に対して作業するようにロボット機構を駆動制御するロボット機構駆動制御工程又はその手段とを備えたことを特徴とするロボット機構制御方法及びその装置である。
【０００９】
また本発明は、入力された３次元自由曲面形状を有する作業対象物の設計データに基づいて作業対象物の３次元モデルを作成して記憶手段に記憶し、該記憶手段に記憶された作業対象物の３次元モデルに対して格子点列（近似した要素面）で分割した格子点列データを作成し、該作成された格子点列データに基づいてロボット機構の手先部に取り付けられた工具が前記作業対象物に対して作業するロボット機構の少なくとも動作経路を算出するロボット機構の動作経路算出工程又はその手段と、該ロボット機構の動作経路算出工程又はその手段で算出されたロボット機構の動作経路に基づいてロボット機構の駆動部を駆動制御しながら、手先部に取り付けられた力検出手段から検出される力信号を用いてコンプライアンス制御により前記工具が３次元自由曲面形状を有する作業対象物に対して作業するようにロボット機構を駆動制御するロボット機構駆動制御工程又はその手段とを備えたことを特徴とするロボット機構制御方法及びその装置である。
【００１０】
また本発明は、入力された３次元自由曲面形状を有する作業対象物の設計データに基づいて作業対象物の３次元モデルを作成し、該作成された作業対象物の３次元モデルに対して格子点列で分割した格子点列データを作成し、前記作業対象物に対して、ロボット機構の手先部に取付けられる工具による作業の相対的位置・姿勢関係情報を設定し、入力された前記工具の形状を示す情報に基づいて該工具に対して近似的に設定される立体情報と前記作成された格子点列データとの間において前記設定された相対的位置・姿勢関係を付与して、前記格子点列データ上において前記工具の立体情報を逐次移動させて該立体情報の領域内に前記格子点列が含まれないことにより前記作業対象物に対する工具の非干渉領域を算出し、該算出された工具の非干渉領域において、前記格子点列データに基づいて工具が作業対象物に対して作業するロボット機構の少なくとも動作経路を算出するロボット機構の動作経路算出工程と、該ロボット機構の動作経路算出工程で算出されたロボット機構の動作経路に基づいてロボット機構の駆動部を駆動制御して前記工具が作業対象物に対して作業を施すロボット機構駆動制御工程とを備えたことを特徴とするロボット機構制御方法である。
【００１１】
また本発明は、入力された３次元自由曲面形状を有する作業対象物の設計データに基づいて作業対象物の３次元モデルを作成し、該作成された作業対象物の３次元モデルに対して格子点列（近似した要素面）で分割した格子点列データを作成し、前記作業対象物に対して、ロボット機構の手先部に取り付けられる工具による作業の相対的位置・姿勢関係情報を設定し、入力された前記工具の形状を示す情報に基づいて該工具に対して近似的に設定される立体情報と前記作成された格子点列データとの間において前記設定された相対的位置・姿勢関係を付与して、前記格子点列データ上において前記工具の立体情報を逐次移動させて前記３次元自由曲面形状を有する作業対象物に対する前記工具の非干渉領域を算出し、前記作業対象物に対して、前記工具をロボット機構の手先部に取り付けた状態におけるロボット機構の相対的位置・姿勢関係情報を該ロボット機構が稼働できるように設定し、前記算出された工具の非干渉領域において、入力された前記ロボット機構の手先部の形状を示す情報に基づいて該手先部に対して設定される近似的に立体情報と前記作成された格子点列データとの間において前記設定されたロボット機構の少なくとも手先部の相対的位置・姿勢関係を付与して、前記格子点列データ上において前記手先部の立体情報を逐次移動させて３次元自由曲面形状を有する作業対象物に対してロボットの手先部が干渉しないことを確認して工具が作業対象物に対して作業するロボット機構の少なくとも動作経路を算出するロボット機構の動作経路算出工程と、該ロボット機構の動作経路算出工程で算出されたロボット機構の動作経路に基づいてロボット機構の駆動部を駆動制御して前記工具が前記作業対象物に対して作業を施すロボット機構駆動制御工程とを備えたことを特徴とするロボット機構制御方法である。
【００１２】
また本発明は、入力された３次元自由曲面形状を有する作業対象物の設計データに基づいて作業対象物の３次元モデルを作成し、該作成された作業対象物の３次元モデルに対して格子点列（近似した要素面）で分割した格子点列データを作成し、入力されたロボット機構の手先部に取り付けられる工具の形状を示す情報に基づいて該工具に対して近似的に設定された立体情報を、前記作成された格子点列データ上において該格子点列データに対する工具による作業の相対的位置・姿勢関係を付与して逐次移動させて前記作業対象物に対する前記工具の非干渉領域を算出し、該算出された工具の非干渉領域において、入力された前記ロボット機構の少なくとも手先部の形状を示す情報に基づいて該手先部の形状に対して設定される近似的に立体情報を、前記作成された格子点列データ上において、工具を手先部に取り付けた状態においてロボット機構が稼働するように設定されたロボット機構の少なくとも手先部の相対的位置・姿勢関係を付与して、逐次移動させて３次元自由曲面形状を有する作業対象物に対するロボットの手先部が干渉しないことを確認して工具が作業対象物に対して作業するロボット機構の少なくとも動作経路を算出するロボット機構の動作経路算出工程と、該ロボット機構の動作経路算出工程で算出されたロボット機構の動作経路に基づいてロボット機構の駆動部を駆動制御して前記工具が前記作業対象物に対して作業するようにロボット機構を駆動制御するロボット機構駆動制御工程とを備えたことを特徴とするロボット機構制御方法である。
【００１３】
また本発明は、入力された３次元自由曲面形状を有する作業対象物の設計データに基づいて作業対象物の３次元モデルを作成して記憶手段に記憶し、該記憶手段で記憶された作業対象物の３次元モデルに基づいて、ロボット機構の手先部に取り付けられる工具と前記ロボット機構の少なくとも手先部との干渉チェックを別々に行って、前記記憶手段で記憶された作業対象物の３次元モデルに基づいて、前記工具が前記作業対象物に対して作業するロボット機構の少なくとも動作経路を算出するロボット機構の動作経路算出工程又はその手段と、該ロボット機構の動作経路算出工程又はその手段で算出されたロボット機構の動作経路に基づいてロボット機構を駆動制御しながら、手先部に取り付けられた力検出手段から検出される力信号を用いてコンプライアンス制御により前記工具が作業対象物に対して作業するようにロボット機構を駆動制御するロボット機構駆動制御工程又はその手段とを備えたことを特徴とするロボット機構制御方法及びその装置である。
【００１４】
また本発明は、３次元自由曲面形状を有する作業対象物の設計データ、ロボット機構の手先部の形状を示す情報及び該ロボット機構の手先部に取り付けられる工具の形状を示す情報を入力する入力手段と、前記作業対象物に対してロボット機構の手先部に取り付けられる工具による作業の相対的位置・姿勢関係情報を設定し、前記作業対象物に対して前記工具をロボット機構の手先部に取り付けた状態におけるロボット機構の相対的位置・姿勢関係情報を該ロボット機構が稼働できるように設定する設定手段と、前記入力手段で入力された３次元自由曲面形状を有する作業対象物の設計データに基づいて作業対象物の３次元モデルを作成し、該作成された作業対象物の３次元モデルに対して格子点列（近似した要素面）で分割した格子点列データを作成し、前記入力手段で入力された前記工具の形状を示す情報に基づいて該工具に対して近似的に設定される立体情報と前記作成された格子点列データとの間において前記設定手段で設定された相対的位置・姿勢関係を付与して、前記格子点列データ上において前記工具の立体情報を逐次移動させて前記３次元自由曲面形状を有する作業対象物に対する前記工具の非干渉領域を算出し、前記算出された工具の非干渉領域において、前記入力手段で入力された前記ロボットの手先部の形状を示す情報に基づいて該手先部に対して設定される近似的に立体情報と前記作成された格子点列データとの間において前記設定手段で設定されたロボット機構の少なくとも手先部の相対的位置・姿勢関係を付与して、前記格子点列データ上において前記手先部の立体情報を逐次移動させて３次元自由曲面形状を有する作業対象物に対してロボットの手先部が干渉しないことを確認して工具が作業対象物に対して作業するロボット機構の少なくとも動作経路を算出する計算手段とを備えたロボット機構の動作経路算出装置を設け、該ロボット機構の動作経路算出装置の計算手段で算出されたロボット機構の動作経路に基づいてロボット機構を駆動制御して前記工具が前記作業対象物に対して作業を施すロボット機構駆動制御装置を設けたことを特徴とするロボット機構制御装置である。
【００１５】
また本発明は、３次元自由曲面形状を有する作業対象物の設計データ、ロボット機構の手先部の形状を示す情報及び該ロボット機構の手先部に取り付けられる工具の形状を示す情報を入力する入力手段と、該入力手段で入力された３次元自由曲面形状を有する作業対象物の設計データに基づいて作業対象物の３次元モデルを作成して記憶手段に記憶し、該記憶手段に記憶された作業対象物の３次元モデルに対して格子点列（近似した要素面）で分割した格子点列データを作成し、前記入力手段で入力されたロボット機構の手先部に取り付けられる工具の形状を示す情報に基づいて該工具に対して近似的に設定された立体情報を、前記作成された格子点列データにおいて該格子点列データに対する工具による作業の相対的位置・姿勢関係を付与して逐次移動させて前記３次元自由曲面形状を有する作業対象物に対する前記工具の非干渉領域を算出し、該算出された工具の非干渉領域において、前記入力手段で入力された前記ロボットの手先部の形状を示す情報に基づいて該手先部の形状に対して設定される近似的に立体情報を、前記作成された格子点列データにおいて該格子点列データに対して工具を手先部に取り付けた状態においてロボット機構が稼働するように設定されたロボット機構の少なくとも手先部の相対的位置・姿勢関係を付与して逐次移動させて３次元自由曲面形状を有する作業対象物に対するロボットの手先部が干渉しないことを確認して工具が作業対象物に対して作業するロボット機構の少なくとも動作経路を算出する計算手段とを備えたロボット機構の動作経路算出装置を設け、該ロボット機構の動作経路算出装置の計算手段で算出されたロボット機構の動作経路に基づいてロボット機構を駆動制御して前記工具が前記作業対象物に対して作業を施すロボット機構駆動制御装置を設けたことを特徴とするロボット機構制御装置である。
【００１６】
また本発明は、ロボット機構の手先部に取り付けられた力検出手段に印加できる許容力ｆs または許容モーメントｍs を入力し、前記力検出手段の先に取り付けられた工具を作業対象物に対して押し付る押付力ｆR とロボット機構の駆動部を駆動制御することによって前記工具を含めた手先部に対してコンプライアンス制御を行わせる運動モデル（工具を含めた手先部の仮想質量〔Ｍ〕、ロボット機構の仮想粘性係数〔Ｃ〕、力検出手段における基準点を原点として工具が作業対象物に対して接触する接触点までの距離ベクトルｒR、力検出手段における基準点を原点として工具を含めた手先部の重心までの距離ベクトルｒG ）とを設定し、３次元自由曲面形状を有する作業対象物の設計データに基づいて作業対象物の３次元モデルを作成して記憶手段に記憶し、、得られる前記接触点における作業対象物の曲率半径ｓに応じて前記設定された押付力ｆR 及び運動モデルに従って算出される力検出手段に印加される力またはモーメントが前記入力された許容力ｆs または許容モーメントｍs 以下になるように作業対象物に対する接線方向の工具の送り速度ｖを算出する工具の送り速度算出工程と、該工具の送り速度算出工程で算出された工具の送り速度ｖに基づいて前記力検出手段から検出される工具の作業対象物に対する押付力に応じて前記運動モデルに従ってロボット機構の駆動部を駆動制御して工具を含めた手先部を作業対象物に対してコンプライアンス制御による動作させるロボット機構動作制御工程又はその装置とを備えたことを特徴とするロボット機構制御方法である。
【００１７】
また本発明は、ロボット機構の手先部に取り付けられた力検出手段に印加できる許容力ｆs または許容モーメントｍs と３次元自由曲面形状を有する作業対象物の設計データとを入力する入力手段と、前記力検出手段の先に取り付けられた工具を作業対象物に対して押し付る押付力ｆR とロボット機構の駆動部を駆動制御することによって前記工具を含めた手先部に対してコンプライアンス制御を行わせる運動モデル（工具を含めた手先部の仮想質量〔Ｍ〕、ロボット機構の仮想粘性係数〔Ｃ〕、力検出手段における基準点を原点として工具が作業対象物に対して接触する接触点までの距離ベクトルｒR、力検出手段における基準点を原点として工具を含めた手先部の重心までの距離ベクトルｒG ）とを設定する設定手段と、前記入力手段で入力された３次元自由曲面形状を有する作業対象物の設計データに基づいて作業対象物の３次元モデルを作成して記憶手段に記憶し、、得られる前記接触点における作業対象物の曲率半径ｓに応じて前記設定手段で設定された押付力ｆR 及び運動モデルに従って算出される力検出手段に印加される力またはモーメントが前記入力手段で入力された許容力ｆs または許容モーメントｍs 以下になるように作業対象物に対する接線方向の工具の送り速度ｖを算出する計算手段とを備えた工具の送り速度算出装置を設け、該工具の送り速度算出装置における計算手段で算出された工具の送り速度ｖに基づいて前記力検出手段から検出される工具の作業対象物に対する押付力に応じて前記運動モデルに従ってロボット機構の駆動部を駆動制御して工具を含めた手先部に対してコンプライアンス制御させて工具を作業対象物に対して動作させるロボット機構動作制御装置を設けたことを特徴とするロボット機構制御装置である。
【００１８】
また本発明は、３次元自由曲面形状を有する作業対象物をロボット機構に対して粗位置決めし、ロボット機構の動作経路の所望の点において、前記粗位置決めされた作業対象物上の基準となる点におけるロボット機構からの距離を測定し、該測定された距離の基準値とのずれ量を算出して該ずれ量に基づいてロボット機構（ロボット機構に対して設定された座標系）に対する作業対象物の相対的位置・姿勢のずれ量を（例えば上記ロボット機構に対して設定された座標系に対して）補正し、前記ロボット機構の動作経路の所望の複数の点の各々において、前記補正されたロボット機構に対する作業対象物上の所望の複数の点の各々におけるロボット機構からの距離を測定し、該測定された距離の基準値とのずれ量を算出して該ずれ量に基づいて前記工具の動作経路を補正し、該補正された工具の動作経路に基づいてロボット機構の駆動部を駆動制御してロボット機構の手先部に取付けられた力検出手段から検出される工具の作業対象物に対する押付力をフィードバックして運動モデルに従ってロボット機構の駆動部を駆動制御して工具を含めた手先部に対してコンプライアンス制御させて工具を作業対象物に対して動作させることを特徴とするロボット機構制御方法である。
【００１９】
また本発明は、３次元自由曲面形状を有する作業対象物をロボット機構に対して粗位置決めする粗位置決め手段と、ロボット機構の動作経路の所望の点において、前記粗位置決めされた作業対象物上の基準となる点におけるロボット機構からの距離を測定し、該測定された距離の基準値とのずれ量を算出して該ずれ量に基づいてロボット機構（ロボット機構に対して設定された座標系）に対する作業対象物の相対的位置・姿勢のずれ量を（例えば上記ロボット機構に対して設定された座標系に対して）補正する作業対象物の相対的位置・姿勢補正手段と、前記ロボット機構の動作経路の所望の複数の点の各々において、前記補正されたロボット機構に対する作業対象物上の所望の複数の点の各々におけるロボット機構からの距離を測定し、該測定された距離の基準値とのずれ量を算出して該ずれ量に基づいて前記工具の動作経路を補正する工具の動作経路補正手段と、該工具の動作経路補正手段によって補正された工具の動作経路に基づいてロボット機構の駆動部を駆動制御してロボット機構の手先部に取付けられた力検出手段から検出される工具の作業対象物に対する押付力をフィードバックして運動モデルに従ってロボット機構の駆動部を駆動制御して工具を含めた手先部に対してコンプライアンス制御させて工具を作業対象物に対して動作させるロボット機構駆動制御手段とを備えたことを特徴とするロボット機構制御装置である。
【００２０】
また本発明は、入力された３次元自由曲面形状を有する作業対象物の設計データに基づいて作業対象物の３次元モデルを作成して記憶手段に記憶し、該記憶手段に記憶された作業対象物の３次元モデルに対して格子点列（近似した要素面）で分割した格子点列データを作成し、該作成された格子点列データに基づいてロボット機構の手先部に取付けられた工具が前記作業対象物に対して作業するロボット機構の少なくとも動作経路を算出し、更に該算出された動作経路の内、選択された動作の経路点若しくは教示点を用いて前記工具を前記作業対象物と初期位置との間で退避又は復帰させるロボット機構の退避軌道又は復帰軌道を算出するロボット機構の経路算出工程と、該ロボット機構の経路算出工程で算出されたロボット機構の動作経路に基づいてロボット機構の駆動部を駆動制御して、手先部に取付けられた力検出手段から検出される力信号を用いてコンプライアンス制御により前記工具が３次元自由曲面形状を有する作業対象物に対して作業を施し、該作業の途中において前記ロボット機構の経路算出工程で算出されたロボット機構の退避軌道又は復帰軌道に基づいてロボット機構の駆動部を駆動制御して前記ロボット機構の動作経路と初期位置との間において前記工具を退避又は復帰させるロボット機構駆動制御工程とを備えたことを特徴とするロボット機構制御方法である。
【００２１】
また本発明は、入力された３次元自由曲面形状を有する作業対象物の設計データに基づいて作業対象物の３次元モデルを作成して記憶手段に記憶し、該記憶手段に記憶された作業対象物の３次元モデルに対して格子点列（近似した要素面）で分割した格子点列データを作成し、該作成された格子点列データに基づいてロボット機構の手先部に取付けられた工具が前記作業対象物に対して作業するロボット機構の少なくとも動作経路と前記工具を前記作業対象物と初期位置との間で退避又は復帰させるロボット機構の退避軌道又は復帰軌道とを算出するロボット機構の経路算出工程と、該ロボット機構の経路算出工程で算出されたロボット機構の動作経路に基づいてロボット機構の駆動部を駆動制御して、手先部に取付けられた力検出手段から検出される力信号を用いてコンプライアンス制御により前記工具が３次元自由曲面形状を有する作業対象物に対して作業を施し、該作業の途中において前記ロボット機構の経路算出工程で算出されたロボット機構の退避軌道又は復帰軌道に基づいてロボット機構の駆動部を駆動制御して前記ロボット機構の動作経路と初期位置との間において前記工具を退避又は復帰させるロボット機構駆動制御工程とを備えたことを特徴とするロボット機構制御方法である。
【００２２】
また本発明は、入力された３次元自由曲面形状を有する作業対象物の設計データに基づいて作業対象物の３次元モデルを作成して記憶手段に記憶し、該記憶手段に記憶された作業対象物の３次元モデルに対して格子点列（近似した要素面）で分割した格子点列データを作成し、該作成された格子点列データに基づいてロボット機構の手先部に取付けられた工具が前記作業対象物に対して作業するロボット機構の少なくとも動作経路を算出し、更に該算出された動作経路の内、選択された動作の経路点若しくは教示点を用いて前記工具を前記作業対象物と初期位置との間で退避又は復帰させるロボット機構の退避軌道又は復帰軌道を算出するロボット機構の経路算出手段と、該ロボット機構の経路算出手段で算出されたロボット機構の動作経路に基づいてロボット機構の駆動部を駆動制御して、手先部に取付けられた力検出手段から検出される力信号を用いてコンプライアンス制御により前記工具が３次元自由曲面形状を有する作業対象物に対して作業を施し、該作業の途中において前記ロボット機構の経路算出手段で算出されたロボット機構の退避軌道又は復帰軌道に基づいてロボット機構の駆動部を駆動制御して前記ロボット機構の動作経路と初期位置との間において前記工具を退避又は復帰させるロボット機構駆動制御手段とを備えたことを特徴とするロボット機構制御装置である。
【００２３】
また本発明は、入力された３次元自由曲面形状を有する作業対象物の設計データに基づいて作業対象物の３次元モデルを作成して記憶手段に記憶し、該記憶手段に記憶された作業対象物の３次元モデルに対して格子点列（近似した要素面）で分割した格子点列データを作成し、該作成された格子点列データに基づいてロボット機構の手先部に取付けられた工具が前記作業対象物に対して作業するロボット機構の少なくとも動作経路と前記工具を前記作業対象物と初期位置との間で退避又は復帰させるロボット機構の退避軌道又は復帰軌道とを算出するロボット機構の経路算出手段と、該ロボット機構の経路算出手段で算出されたロボット機構の動作経路に基づいてロボット機構の駆動部を駆動制御して、手先部に取付けられた力検出手段から検出される力信号を用いてコンプライアンス制御により前記工具が３次元自由曲面形状を有する作業対象物に対して作業を施し、該作業の途中において前記ロボット機構の経路算出手段で算出されたロボット機構の退避軌道又は復帰軌道に基づいてロボット機構の駆動部を駆動制御して前記ロボット機構の動作経路と初期位置との間において前記工具を退避又は復帰させるロボット機構駆動制御手段とを備えたことを特徴とするロボット機構制御装置である。
【００２４】
また本発明は、３次元自由曲面形状を有する作業対象物の設計データ及びロボット機構の手先部に取付けられる工具の形状を示す情報を入力する入力手段と、前記作業対象物に対してロボット機構の手先部に取付けられる工具による作業の相対的位置・姿勢関係情報を設定する設定手段と、前記入力手段で入力された３次元自由曲面形状を有する作業対象物の設計データに基づいて作業対象物の３次元モデルを作成して記憶手段に記憶させ、該記憶手段に記憶された作業対象物の３次元モデルに対して格子点列で分割した格子点列データを作成し、前記入力手段で入力された前記工具の形状を示す情報に基づいて該工具に対して近似的に設定される立体情報と前記作成された格子点列データとの間において前記設定手段で設定された相対的位置・姿勢関係を付与して、前記格子点列データ上において前記工具の立体情報を逐次移動させて該立体情報の領域内に前記格子点列が含まれないことにより前記作業対象物に対する前記工具の非干渉領域を算出し、該算出された工具の非干渉領域において、前記格子点列データに基づいて工具が作業対象物に対して作業するロボット機構の少なくとも動作経路を算出する計算手段とを備えたロボット機構の動作経路算出装置を設け、該ロボット機構の動作経路算出装置の計算手段で算出されたロボット機構の動作経路に基づいてロボット機構を駆動制御して前記工具が作業対象物に対して作業を施すロボット機構駆動制御装置を設けたことを特徴とするロボット機構制御装置である。
【００２５】
また本発明は、入力された３次元自由曲面形状を有する作業対象物の設計データに基づいて作業対象物の３次元モデルを作成して記憶手段に記憶し、該記憶手段に記憶された作業対象物の３次元モデルに対して格子点列（近似した要素面）で分割した格子点列データを作成し、入力されたロボット機構の手先部に取付けられた工具が前記作業対象物に対して接触して作業する作業条件と前記作成された格子点列データとに基づいて、ロボット機構の手先部の少なくとも動作経路を算出するロボット機構の動作経路算出工程と、該ロボット機構の動作経路算出工程で算出されたロボット機構の手先部の動作経路に基づいてロボット機構の駆動部を駆動制御しながら、手先部に取付けられた力検出手段から検出される力信号を用いてコンプライアンス制御により前記工具が３次元自由曲面形状を有する作業対象物に対して作業するようにロボット機構を駆動制御するロボット機構駆動制御工程とを備えたことを特徴とするロボット機構制御方法である。また本発明は、前記ロボット機構制御方法における前記ロボット機構の動作経路算出工程において、前記作業条件として、前記工具が前記作業対象物の所望の点において接触する前記所望の点における接平面または法線に対する角度で示す接触角を含むことを特徴とする。また本発明は、前記ロボット機構制御方法における前記ロボット機構の動作経路算出工程において、前記作業条件として、前記工具が前記作業対象物の所望の点において接触する前記所望の点における接平面または法線に対する角度で示す接触角と前記前記所望の点における法線方向の工具の押付力とを含むことを特徴とする。また本発明は、前記ロボット機構制御方法における前記ロボット機構の動作経路算出工程において、前記作業条件として、前記工具が前記作業対象物の所望の点において接触する前記所望の点における接平面または法線に対する角度で示す接触角と前記所望の点における法線方向の工具の押付力と前記所望の点において作用する工具の押付力の前記接平面または法線に対する角度で示す方向とを含むことを特徴とする。
【００２６】
また本発明は、入力された３次元自由曲面形状を有する作業対象物における狭隘部または角部の設計データに基づいて狭隘部または角部の３次元モデルを作成して記憶手段に記憶し、該記憶手段に記憶された狭隘部または角部の３次元モデルに対して格子点列（近似した要素面）で分割した格子点列データを作成し、ロボット機構の手先部に取付けられた工具が前記作業対象物の狭隘部または角部に対して接触して作業する作業条件の内前記狭隘部または角部の所望の点において作用する工具の押付力の方向を前記所望の点における接平面に対して摩擦の条件を満足する範囲内に設定し、前記作成された格子点列データと前記設定された工具の押付力の方向とに基づいて、ロボット機構の手先部の位置・姿勢を補正して非干渉にして前記工具が前記作業対象物の狭隘部または角部に対して作業するロボット機構の少なくとも動作経路を算出するロボット機構の動作経路算出工程と、該ロボット機構の動作経路算出工程で算出されたロボット機構の手先部の動作経路に基づいてロボット機構の駆動部を駆動制御しながら、手先部に取付けられた力検出手段から検出される力信号を用いてコンプライアンス制御により前記工具が３次元自由曲面形状を有する作業対象物の狭隘部または角部に対して作業するようにロボット機構を駆動制御するロボット機構駆動制御工程とを備えたことを特徴とするロボット機構制御方法である。
【００２７】
また本発明は、３次元自由曲面形状を有する作業対象物の設計データとロボット機構の手先部に取付けられた工具が前記作業対象物に対して接触して作業する作業条件とを入力する入力手段を有し、該入力手段で入力された前記作業対象物の設計データに基づいて作業対象物の３次元モデルを作成して記憶手段に記憶させ、該記憶手段に記憶した作業対象物の３次元モデルに対して格子点列（近似した要素面）で分割した格子点列データを作成し、該作成された格子点列データと前記入力手段で入力された前記作業条件とに基づいてロボット機構の手先部の少なくとも動作経路を算出するロボット機構の動作経路算出手段と、該ロボット機構の動作経路算出手段で算出されたロボット機構の手先部の動作経路に基づいてロボット機構の駆動部を駆動制御しながら、手先部に取付けられた力検出手段から検出される力信号を用いてコンプライアンス制御により前記工具が３次元自由曲面形状を有する作業対象物に対して作業するようにロボット機構を駆動制御するロボット機構駆動制御手段とを備えたことを特徴とするロボット機構制御装置である。
【００２８】
また本発明は、３次元自由曲面形状を有する作業対象物における狭隘部または角部の設計データを入力し、ロボット機構の手先部に取付けられた工具が前記作業対象物の狭隘部または角部に対して接触して作業する作業条件の内前記狭隘部または角部の所望の点において作用する工具の押付力の方向を前記所望の点における接平面に対して摩擦の条件を満足する範囲内に設定する入力手段を有し、該入力手段で入力された狭隘部または角部の設計データに基づいて狭隘部または角部の３次元モデルを作成して記憶手段に記憶させ、該記憶手段に記憶された狭隘部または角部の３次元モデルに対して格子点列（近似した要素面）で分割した格子点列データを作成し、該作成された格子点列データと前記入力手段で設定された工具の押付力の方向とに基づいて、ロボット機構の手先部の位置・姿勢を補正して非干渉にして前記工具が前記作業対象物の狭隘部または角部に対して作業するロボット機構の少なくとも動作経路を算出するロボット機構の動作経路算出手段と、該ロボット機構の動作経路算出手段で算出されたロボット機構の手先部の動作経路に基づいてロボット機構の駆動部を駆動制御しながら、手先部に取付けられた力検出手段から検出される力信号を用いてコンプライアンス制御により前記工具が３次元自由曲面形状を有する作業対象物の狭隘部または角部に対して作業するようにロボット機構を駆動制御するロボット機構駆動制御手段とを備えたことを特徴とするロボット機構制御装置である。
また本発明は、入力された３次元自由曲面形状の加工対象物の設計データに基づいて加工対象物の３次元モデルを作成して記憶手段に記憶させ、該記憶手段に記憶された加工対象物の３次元モデルに基づいて、ロボット機構の手先部に取付けられた研削工具若しくは研磨工具が前記加工対象物に対して研削加工若しくは研磨加工を施すロボット機構の少なくとも動作経路を算出するロボット機構の動作経路算出工程又はその手段と、該ロボット機構の動作経路算出工程又はその手段で算出されたロボット機構の動作経路に基づいてロボット機構の駆動部を駆動制御して、手先部に取付けた力検出手段から検出される押付力と研削工具若しくは研磨工具を含めて手先部に対して設定された運動モデルとに基づいてロボット機構の駆動部をコンプライアンス制御して前記研削工具若しくは研磨工具により前記加工対象物に対して研削加工若しくは研磨加工するロボット機構駆動制御工程又はその手段とを有することを特徴とするロボット機構制御方法及びその装置である。
【００２９】
また本発明は、入力された３次元自由曲面形状の加工対象物の設計データに基づいて加工対象物の３次元モデルを作成して記憶手段に記憶させ、該記憶手段に記憶された加工対象物の３次元モデルに基づいて、ロボット機構の手先部に取付けられた研削工具若しくは研磨工具が前記加工対象物に対して研削加工若しくは研磨加工を施すロボット機構の少なくとも動作経路を算出するロボット機構の動作経路算出工程又はその手段と、該ロボット機構の動作経路算出工程又はその手段で算出されたロボット機構の動作経路に基づいてロボット機構の駆動部を駆動制御して、手先部に取付けた力検出手段から検出される押付力と研削工具若しくは研磨工具を含めて手先部に対して設定された運動モデルとに基づいてロボット機構の駆動部をコンプライアンス制御して前記研削工具若しくは研磨工具により前記加工対象物に対して研削加工若しくは研磨加工する際発生する温度を温度測定手段で測定し、該測定された温度に基づいて前記ロボット機構の駆動部に対するコンプライアンス制御の制御変数または前記加工対象物に対する研削工具若しくは研磨工具の加工速度を制御して研削工具若しくは研磨工具による加工対象物への焼き付きを防止するロボット機構駆動制御工程又はその手段とを有することを特徴とするロボット機構制御方法及びその装置である。
また本発明は、研削部材若しくは研磨部材を回転駆動するように構成した研削工具若しくは研磨工具を手先部に取付けたロボット機構の駆動部を、ロボット機構の動作経路に基づいて駆動制御して、前記研削部材若しくは研磨部材における加工対象物の被加工面との接触部の回転接線方向を前記研削工具若しくは研磨工具の前記動作経路に沿った送り方向に対して傾斜させた状態で前記加工対象物の被加工面に対して回転駆動される研削部材若しくは研磨部材を接触させてロボット機構の手先部に取付けた力検出手段から検出される押付力と前記研削工具若しくは研磨工具を含めて手先部に対して設定された運動モデルとに基づいてロボット機構の駆動部をコンプライアンス制御して前記回転駆動される研削部材若しくは研磨部材により前記加工対象物の被加工面を研削加工若しくは研磨加工することを特徴とするロボット機構制御方法である。
【００３０】
また本発明は、外力を検出する手段と速度または位置を検出する手段とを備え３次元自由曲面形状の作業対象物に倣って作業する多自由度ロボットの制御方法であって、前記外力を検出する手段の検出能力から前記ロボットの動作速度を設定して前記ロボットを動作させることを特徴とするロボットの制御方法である。
【００３１】
また本発明は、外力を検出する手段と速度または位置を検出する手段とを備え３次元自由曲面形状の作業対象物に倣って作業する多自由度ロボットの制御方法にであって、前記ロボットの動作経路のみならず、前記倣い作業に必要な押しつけ力、ＴＣＰ（Tool Center Point ）データ、前記倣い作業をコンプライアンス制御方法で実現する場合は、コンプライアンス制御変数など、前記ロボットの制御変数の一部または全てを前記ロボットの制御装置の外部に個別にまたは組み合わせて記憶して、前記ロボットの外部からの指令や前記ロボットの内部状態からの判断または前記ロボットの外部にあるセンサからの判断または前記ロボットの内部にあるセンサからの判断によってロボットの制御装置にオンラインで自動に転送することを特徴とする。
【００３２】
また本発明は、外力を検出する手段と速度または位置を検出する手段を備える多自由度ロボットが、３次元自由曲面形状の作業対象物に対して倣って作業するか周期的に接触して作業する場合の前記ロボットの動作経路生成方法であって、前記作業対象物の加工面上までの前記切削または研削する手段に取り付けたツールの加工深さと加工幅が、前記作業対象物が平面であるときの加工深さと加工幅と同等になるように、前記作業対象物に対する前記切削または研削する手段に取り付けた前記ツールの接触角を決めることを特徴とする。
また本発明は、外力を検出する手段と速度または位置を検出する手段を備える多自由度ロボットが、３次元自由曲面形状の作業対象物に対して倣って作業するか周期的に接触して作業する場合のロボットの動作経路生成方法であって、直方体に前記作業対象物の表面上の点列が含まれるかどうかを調べることで作業対象物の表面上と物体（作業工具やロボットの手先部）の干渉の有無を判断して衝突のない経路を作成することを特徴とする。
また本発明は、外力を検出する手段と速度または位置を検出する手段を備える多自由度ロボットが、３次元自由曲面形状の作業対象物に対して倣って作業するか周期的に接触して作業する場合のロボットの動作経路生成方法であって、円柱に前記作業対象物の表面上の任意の点が含まれるかどうかを調べることで作業対象物の表面上と物体（作業工具やロボットの手先部）の干渉の有無を判断して衝突のない経路を作成することを特徴とする。
【００３３】
また本発明は、外力を検出する手段と速度または位置を検出する手段を備える多自由度ロボットが、３次元自由曲面形状の作業対象物に対して倣って作業するか周期的に接触して作業する場合のロボットの動作経路生成方法であって、前記ロボットの手先部に取り付けられる作業工具や前記ロボットの手先部を直方体または円柱あるいはそれぞれの組み合せに近似して、前記作業対象物の表面上の点列または前記作業対象物の表面上の任意の点が含まれるかどうかを調べることで、前記作業工具や前記ロボットの手先部と前記作業対象物の表面上の干渉の有無を判断して衝突のない経路を作成することを特徴とする。また本発明は、前記ロボットの動作経路生成方法であって、前記作業工具や前記ロボットの手先部を直方体または円柱あるいはそれぞれの組み合わせに近似したものを一定の寸法で大きくしていくことを特徴とする。また本発明は、前記ロボットの動作経路生成方法であって、前記作業対象物の表面上に、粗い間隔で点列を設定する場合に、最終の細かい間隔の点列をそれに一番近く、それより小さな２の指数乗に設定し、粗い間隔の点列を前記２の指数乗の半分に設定または更にそれの半分またはそれの繰り返しの値に設定して、前記点列の個々と作業工具やロボットの手先部との干渉の有無を判断し、前記粗い間隔の点列において干渉する領域と干渉しない領域の境界部分だけを改めて細かい点列を設定して干渉の有無を判断して衝突のない経路を作成することを特徴とする。
【００３４】
また本発明は、３次元自由曲面形状の作業対象物に対して倣って作業するか周期的に接触して作業するロボットの動作経路生成方法であって、前記作業対象物の表面上に、まず粗い間隔で点列を設定し、前記点列の個々と前記ロボットの手先効果器や前記ロボットとの干渉の有無を判断し、前記粗い間隔の点列において干渉する領域と干渉しない領域の境界部分だけ改めて細かい点列を設定して干渉の有無を判断して衝突のない経路を作成することを特徴とする。
また本発明は、３次元自由曲面形状の作業対象物に対して倣って作業するか周期的に接触して作業するロボットの動作経路生成方法であって、前記ロボットの位置や姿勢に関係なく作業工具と前記作業対象物の表面上だけの干渉を調べ、干渉のない前記作業対象物の表面上の点列についてだけ前記ロボットの手先部との干渉の有無を判断して衝突のない経路を作成することを特徴とする。
また本発明は、３次元自由曲面形状の作業対象物に対して倣って作業するか周期的に接触して作業するロボットの動作経路生成方法であって、前記３次元自由曲面形状の外形線上の点列の間隔を曲面上の点列の間隔よりも狭くして前記ロボットの手先効果器との干渉を調べ、干渉のない前記作業対象物の表面上の点列についてだけ前記ロボットとの干渉の有無を判断して衝突のない経路を作成することを特徴とする。
また本発明は、３次元自由曲面形状の作業対象物に対して倣って作業するか周期的に接触して作業するロボットの動作経路生成方法において、作業経路途中に存在する周辺装置との干渉を周辺装置を点列で表し、前記点列の個々と作業工具やロボットの手先部との干渉の有無を判断して衝突のない経路を作成することを特徴とする。
また本発明は、３次元自由曲面形状の作業対象物を研削するロボットの動作経路生成方法であって、研削する砥石の回転軸と前記砥石の接触点を含む平面と異なる平面にロボットの基準軸（偏差角β）を設定することを特徴とする。
また本発明は、周辺装置を含め冗長自由度を持つロボットシステムであって、ロボットの手先部と３次元自由曲面形状の作業対象物との干渉が少なく、前記ロボットの稼働範囲内に前記作業対象物の表面上の点列を多く含むものから前記ロボットと前記作業対象物の表面上との干渉の有無を判断し、干渉しないで最も多く作業できる値を前記冗長自由度の値として使用することを特徴とする。
【００３５】
【作用】
前記構成により、３次元自由曲面形状の作業対象物に対してロボット機構に力制御機能（コンプライアンス制御機能）をもたせてロボット機構の手先部に取付けられた作業工具により倣い作業または周期的に接触して作業する場合における作業計画（特に動作経路及び接触角、その他コンプライアンス制御変数（押付力、倣い速度、運動モデル））を、作業工具及びロボット機構の手先部が作業対象物と干渉することなく、容易に、効率良く作成することができ、その結果前記作業対象物に対してロボット機構に対して最適なコンプライアンス制御を行って作業工具による高精度の加工等の作業を実現することができる。
また前記構成により、３次元自由曲面形状の作業対象物に対してロボット機構に力制御機能（コンプライアンス制御機能）をもたせてロボット機構の手先部に取付けられた作業工具により倣い作業または周期的に接触して作業する場合における作業計画の内、最適倣い速度ｖを、力検出手段に印加できる許容力ｆs または許容モーメントｍs や作業対象物の曲率などを用いて設定できるようにして、工具の作業対象物に対する効率の良い倣い作業を実現することができる。
また前記構成により３次元自由曲面形状の作業対象物に対してロボット機構に力制御機能（コンプライアンス制御機能）をもたせてロボット機構の手先部に取付けられた作業工具により倣い作業または周期的に接触して作業する場合において、前記作業対象物とロボット機構との間において高精度の相対的位置決めを実現し、更に作業対象物に位置誤差や形状誤差がある場合においても工具を作業対象物に適切な状態で倣わせて加工等の作業を実現することができる。
また前記構成により、３次元自由曲面形状の作業対象物に対してロボット機構に力制御機能（コンプライアンス制御機能）をもたせてロボット機構の手先部に取付けられた作業工具により倣い作業または周期的に接触して作業する場合において、任意の時点において作業を中断し、任意の時点において作業を再開することができ、しかも非常停止状態からの復帰動作（ロボット機構の手先部を自動で退避して初期状態に戻す機能が不可欠である。）を自動で行うことができる。
【００３６】
また前記構成により、３次元自由曲面形状の作業対象物の狭隘部または角部に対してロボット機構に力制御機能（コンプライアンス制御機能）をもたせてロボット機構の手先部に取付けられた作業工具により倣い作業または周期的に接触して作業する場合において、ロボット機構の姿勢変化を小さく抑えて作業計画をたてることにより、作業工具が作業対象物に干渉することなく、より広範囲に亘って円滑な作業を実現することができる。
また前記構成により、３次元自由曲面形状の加工対象物に対してロボット機構に力制御機能（コンプライアンス制御機能）をもたせてロボット機構の手先部に取付けられた研削又は研磨工具により倣い研削又は研磨加工する場合において、研削又は研磨工具の加工対象物へに焼き付きを防止して高精度の加工を実現することができる。
また前記構成により、３次元自由曲面形状の加工対象物に対してロボット機構に力制御機能（コンプライアンス制御機能）をもたせてロボット機構の手先部に取付けられた研削又は研磨工具により倣い研削又は研磨加工する場合において、研削傷または研磨傷、即ち砥石目の跡を残さないようにして高精度の研削または研磨加工を実現することができる。
【００３７】
【実施例】
以下、本発明の実施例を図１から図２２を参照して説明する。
図１は、本発明を実施する装置の構成例である。本図は、鋳造された羽根車を、研削等の加工作業を行う３次元自由曲面形状を有する作業対象物１の例としている。研削等の作業を行う作業対象物１は、ポンプの羽根車やタービンブレード、船舶用スクリュなどがある。この他、研削等の加工作業を行う３次元自由曲面形状を有する作業対象物には、形状として、管状部品、線状部品、棒状部品、板状部品などがあり、材質または製造方法として、鋳造品、引き抜き加工品、圧延加工品、焼結加工品などがある。コンプライアンス制御を実現するため、手首部分（手首の座標系をα，β，γとする。）に例えば６自由度の力（ｆα，ｆβ，ｆγ）とトルク（ｍα，ｍβ，ｍγ）を検出する力センサ２を設置した例えば６自由度多関節型ロボット機構３を用いる。ロボット機構３の各関節には、各関節を回転駆動するモータ等の駆動手段３ａと、各関節の回転角及び回転角速度を検出するセンサ３ｂが設置されている。ロボット機構３の手先部（手先効果器）４には、測定用の触針５や研削等の作業を行うツール（作業工具：グラインダ）６等を交換着脱できるツール交換装置用電磁弁１４を内蔵したツール交換装置４ａが設置されている。測定用の触針５や研削等の作業を行うツール（作業工具：グラインダ）６等を交換できるようにする。ツール（作業工具）６は、回転駆動されるオフセット砥石３９が備えられている。ロボット機構３の各関節に設けられた駆動手段は、ロボットコントローラ７により制御され、ツール６に任意の機械コンプライアンスを与えて研削を行う。コンプライアンス制御については、具体的には特開昭６０−１０８２８５号公報に記載されている。研削等の加工対象物（羽根車）１を載置するポジショナ（位置決め装置）８は、エンコーダを備えたモータ等の駆動手段８ａによる傾斜ε方向の回転駆動によって研削等の加工対象物１の姿勢を変化させて位置決めすることができ、更にエンコーダを備えたモータ等の駆動手段８ｂによる回転φ方向の回転駆動によって研削等の加工対象物１の回転位置を変化させて位置決めすることができように構成されている。このポジショナ８によって研削等の加工対象物１の回転φ方向の回転位置及び傾斜ε方向の姿勢を様々とることができるため、ロボット機構３は加工対象物１に対して研削等の加工作業領域の拡大を図ることができる。更にロボット機構３は、走行レール９ａに沿って走行できる走行駆動手段（エンコーダも備えている。）９ｂを備えた走行ユニット（走査軸）９上に取り付けられ、走行軸方向に走行可能に構成している。１３は、ツール交換装置用台座である。
【００３８】
シーケンサ１０は、研削作業の手順の管理と現場作業者との通信を行う。コンピュータ１１は、ロボット機構３の動作プログラムの生成とロボット機構３の動作の監視を行う。コンピュータ１１には、「図８に示すように、力センサ２の許容力ｆs と許容モーメントｍs 、ツール６の研削等の加工対象物１への押しつけ力ｆR とモーメントｍR 、研削等の加工速度ｖ、力センサ２の計測基準点Ｏs を原点としたＴＣＰ（Tool Center Point）の位置ベクトルと重心の位置ベクトル、仮想係数、（但し、これらの内、自動的にコントローラ７から取得できる場合は入力する必要がないことは明らかである。）」等を入力するミーボードやマウスなどの入力手段４１が設置されている。ホストコンピュータ３３は、ロボット機構３の動作経路の計画とポジショナ８や走査軸（走行ユニット）９の位置決め計画とを行う。そのために、ホストコンピュータ３３には、「図２１、図２３及び図２６に示すように、多数の種類のワーク（研削等の加工対象物）１の各々の設計データ２６１、ロボット機構３、ポジショナ８及び走行ユニット９の設計データ（幾何学的情報）並びに各種研削に用いられる各種ツール６の各々設計データ２６４（２１１）」、「図１１（ａ）（ｂ）に示すように、各種ツールにおいて各種ワークの材質に応じた平坦な面に試験的に（実験により）研削等の加工をして図１４に示すデータをとり、研削等の加工深さΔｔや面の仕上がり精度に基づいて決定される例えば最適な砥石接触角（ワーク接触角）αopと最適な研削等の加工幅Ｋop、及びロボット機構８とワーク１との間の相対的位置関係のデータ２１２」、「ワーク１上において研削等の加工しない領域のデータ２１７」、「ポジショナ８に載置するワークの代表となる種類（羽根車の設計変数）の指定２５１（図２５に示す。）」等を入力するマウスやキーボードやディスク等の入力手段４０を備えている。
【００３９】
図２は、制御系のブロックダイアグラムである。制御装置は、シーケンサ１０とコンピュータ１１とロボットコントローラ７を中心に構成される。シーケンサ１０は、作業手順の管理、作業者とのインターフェースのための操作盤１２、ポジショナ８・走行ユニット９・ツール（グラインダ）６・ツール交換装置用台座１３の制御を行う。コンピュータ１１は、作業内容の管理、ロボット３の動作プログラムの生成、力センサ２によるロボットの押しつけ力の管理を行う。ロボットコントローラ７は、ロボット機構３の各関節の駆動座標系とロボット機構３全体の座標系との間の速度も含めた座標変換プログラム、コンプライアンス制御プログラム等のロボット機構３の動作制御プログラムが格納されて、該格納されたロボット機構３の動作制御プログラムに基づいたロボット機構３の動作制御と、ツール交換装置用電磁弁１４の制御とを行う。
研削等の加工作業の計画を行うホストコンピュータ３３は、ネットワーク３１を介してコンピュータ１１に接続されている。ネットワーク３１は、例えばイーサネットケーブルによる通信や無線による通信や電話回線による通信や光ファイバによる通信などがある。各装置間には、指令を伝える通信回線１６が敷設される。通信回線１６は、例えばイーサネットケーブルによる通信や光ファイバによる通信やフラットケーブルによるパラレル通信や複数の入出力部をもつメモリＩＣによる通信がある。更に力センサ２の計測値をコンピュータ１１で常に監視するために、Ａ／Ｄ変換器１５が設置される。
特にコンピュータ１１とロボットコントローラ７の間の通信回線１６は、ロボットの動作プログラムなど大きなサイズのデータを高速に転送する必要があるために、コンピュータ１１のデータバスとロボットコントローラ７のデータバスを直接接続する。直接に接続する方法としては、例えば、図２４に示すように、２つの入出力部を持つメモリＩＣによる方法などがある。
【００４０】
ホストコンピュータ３３とコンピュータ１１は、例えばホストコンピュータ３３は事務所に設置し、コンピュータ１１は生産現場に設置するなどして作業効率を上げる構成とする。しかしコンピュータ１１の能力が十分であれば、ホストコンピュータ３３とデータベース３２の機能をコンピュータ１１が有して、ホストコンピュータ３３とデータベース３２とネットワーク３１を廃止しても良い。
【００４１】
次にホストコンピュータ３３による研削等の加工対象物１に対するロボット機構３による動作経路等を作成する作業計画について説明する。まずホストコンピュータ３３がロボット機構３による動作経路等の作業計画を作成する前に、予め入力手段４０を用いて、図２１、図２３及び図２６に示すように、多数の種類のワーク（研削等の対象物）１の各々の設計データ２６１、ロボット機構３、ポジショナ８及び走行ユニット９の設計データ（幾何学的情報）並びに各種研削等の加工に用いられる各種ツール６の各々設計データ２６４（２１１）」、「図１１（ａ）（ｂ）に示すように、各種ツールにおいて各種ワークの材質に応じた平坦な面に試験的に（実験により）研削等の加工をして図１４に示すデータをとり、研削等の加工深さ（以降研削深さと称す。）Δｔや面の仕上がり精度に基づいて決定される例えば最適な砥石接触角（ワーク接触角）αopと最適な研削等の加工幅（以後研削幅と称す。）Ｋop、及びロボット機構８とワーク１との間の相対的位置関係のデータ２１２」、「ワーク１上において研削等の加工しない領域のデータ２１７」等を入力して、図２及び図２９に示すハードディスク３２に格納または記憶しておくことが必要である。
【００４２】
そして、図２１、図２３及び図２６に示すように、図２９に示すＣＰＵ３０１は、メモリ３０２に記憶されたプログラムに基づいて、前記ハードディスク３２に格納された多数の種類のワーク（研削等の加工対象物）１の各々の設計データ２６１（２１１）から、種類毎に、図９に示すようなワーク（研削等の加工対象物：羽根車）１の３次元モデル２６２（２１２）を作成し、ハードディスク３２に記憶させる。またＣＰＵ３０１は、メモリ３０２に記憶されたプログラムに基づいて、前記ハードディスク３２に格納されたロボット機構３、ポジショナ８及び走行ユニット９の設計データ（幾何学的情報）並びに各種研削等の加工に用いられる各種ツール６の各々設計データ２６４（２１１）から、図１６に示すようなロボット機構３、ポジショナ８及び走行ユニット９（ポジショナ８及び走行ユニット９は必ずしも３次元モデルを作成する必要はない。即ち、ポジショナ８及び走行ユニット９の設計データ（幾何学的情報）をそのまま利用することもできる。）並びに各種ツール６の３次元モデル２６５（２１３）を作成し、ハードディスク３２に記憶させる。
【００４３】
次に、作業者は、まずホストコンピュータ３３において研削等の加工の作業計画を行うために、各種ワーク（研削等の加工対象物）１から代表する種類（羽根車の設計変数）の指定２５１（図２５に示す。）を入力手段４０で行うことにより、ＣＰＵ３０１は、予めデータベース３２に保存してある本研削等の加工システムの３次元数値モデル（ロボット機構８とワーク１との間の相対的位置関係のデータ２１２も含む）２６２、２６５（２１３）と例えば最適な砥石接触角（ワーク接触角）αopと最適な研削幅Ｋop２６７とを呼び出し、ロボット機構３の動作経路等を自動で短時間で計画する。計画された動作経路データは、データベース３２に保存される。保存される動作経路データは、非干渉で、研削する領域におけるロボット機構の座標系で表現された教示点（格子点）の位置や姿勢からなる教示点列データ、ＴＣＰ(Tool Center Point)の位置や姿勢からなるＴＣＰ列データ、加工対象物の種類及びツールの種類の情報などがある。
【００４４】
次にＣＰＵ３０１によるロボット機構３の動作経路等の生成計画について説明する。ところで、狭隘な部分を含む複雑な３次元自由曲面形状を有する作業対象物の一つとして例えば図１に示すような羽根車１がある。羽根車１には羽根が複数枚ついており、鋳物で一体製作されている。この羽根面１を倣い研削等の加工をする場合を例にしてロボット機構３の動作経路等を生成することについて説明する。
まず、ＣＰＵ３０１が行う羽根面上に定義する点の設定方法について説明する。羽根車１の回転軸を含む平面で複数切断してできる羽根の断面上で、羽根面を表す曲線を、例えば、等間隔に分割する点列を定義する。羽根の断面は、例えば図３の羽根断面の一部１９が対応し、羽根面を表す曲線は、例えば図３の羽根表面１８が対応する。そして、各断面同志同じ順番の分割点を結んでできる曲線を定義する。特にこの分割点を結んでできる曲線をこれより流線と呼ぶことにする。このようにして、羽根断面上の羽根を表す曲線と流線を羽根全体に亘って定義すると、図９に示すように、羽根を格子状に表すことができる。
格子点は、研削等の加工作業（以降研削作業と称す。）におけるロボット機構３の動作経路に用いる教示点に利用する。図１０に示すように、ある格子点Ｐ０に対して、周囲の４点Ｐ１，Ｐ２，Ｐ３，Ｐ４の位置情報から格子点Ｐ０における羽根の法線成分ＮをＣＰＵ３０１で近似計算できるので、ロボット機構３の研削等の加工方向（以降研削方向と称す。）Ｖを流線方向に定義し、ツール（グラインダ）６の姿勢をこの研削方向Ｖと羽根の法線成分Ｎとから定義すれば、格子点Ｐ０における教示点を算出することができる。
【００４５】
即ち、羽根車の場合、複数枚の羽根の表面、裏面及びハブ面を研削等の加工をする必要がある。この表面、裏面及びハブ面を研削加工をするために、ＣＰＵ３０１は、図９に示すように、データベース３２に保存されている研削対象物１の３次元モデル２６２に対して、例えば、外形線にほぼ平行に面を等分割して（研削等の加工方向に格子点間隔を設定２６３して）、研削等の加工経路を設定する。そしてプログラムによって研削加工部位（表面、裏面、ハブ面のいずれか）の指定２６８が行われる。ロボット機構３の経路は３次元自由曲線を点列で近似するのが一般的である。そこで、それぞれの研削加工経路を曲線に沿って等分割する。すると図９に示すメッシュ状の格子の交点からなる格子点列データが得られ、メモリ３０２に記憶される。以降この点列を格子点列データと呼ぶ。
ところで羽根は複雑な３次元曲面形状をなし、更に図１に示すように隣接する羽根同志の隙間は狭いため、図９に示す膨大な数の格子点をロボット機構の教示点として、図１や図２に示すロボット機構３に付属した教示ペンダント３０を使用して人手で教示することは困難である。そこで前記したようにホストコンピュータ３３において、羽根車の設計データをもとに羽根の表面、裏面及びハブ面上に格子点列データを作成し、メモリ３０２に記憶する。しかし、この格子点列データをそのままロボット機構３の教示点として研削加工をすると、羽根車１の狭隘部などを研削加工をするときに、ロボット機構３の研削加工ツールであるグラインダ６が羽根車１に衝突したり、ロボット機構３の手先部やアームが羽根車１に衝突する問題がある。このように作業対象物とロボット機構やツールが衝突する状態を干渉と呼ぶ。よって、ロボット機構３で羽根車１を研削加工をするには、必要があればツール６も選択してこの干渉が発生しない状態を作りだし、それでもなお干渉が発生する場合は干渉しない羽根の領域を最大限研削加工をする必要がある。そこで、図９に示す膨大な数の格子点列の中から干渉しない領域をホストコンピュータ３３で短時間に求める必要がある。
【００４６】
膨大な数の格子点列の中から干渉しない領域を求めるには、２つの課題がある。１つは、ロボット機構３やツール６が羽根車（研削等の加工対象物）１と干渉する状態をどのように定義するかである。３次元形状の羽根車１と３次元形状のロボット機構３やツール６が、互いに接触したり、重なり合う状態を数式で表さなければならない。もう１つは、膨大な数の格子点列から、如何に短時間に干渉しない領域を求めるかである。実際の羽根車１に教示する格子点は数千点にたっするため、ロボット機構３が研削等の加工ができる干渉しない羽根の最大領域を、図１に示すポジショナ８や走行ユニット９の最適な状態を探して求めなければならない。
【００４７】
次にホストコンピュータ３３において、ツール６やロボット機構３と羽根車（研削加工対象物）１が干渉しない、研削加工用の動作経路の作成手順を図２１〜図２３、図２６〜図２８を参照して説明する。
まず、上記のように、ポジショナ８や走行ユニット９の最適な状態を探すために、メモリ３０２に記憶されたプログラムの中に、ポジショナと走行ユニットの値の組合せ（必要に応じて砥石軸の値も設定する。）の設定２６９が行われている。即ち、ロボット機構３の羽根車１に対する姿勢は、様々な状態をとることができるため、最適な状態を探す必要がある。何故なら、図１に示す研削システムにおいては、回転φと傾斜εが可能なポジショナ８と走行ユニット９とツール６に取り付けられた砥石３９の回転軸の合計４軸が冗長な自由度をとるために、ある研削点に対して４自由度の位置及び姿勢を決めることが必要となる。そこで、この４軸の値を適当な間隔で刻み、４軸全ての組合せにおいてＣＰＵ３０１は、図２８に示す２９１において非干渉領域における研削可能領域が最も大きい（ロボット機構３の手先部の動作範囲が最も大きいことを示す。）ところのポジショナと走行ユニットとがとる位置及び姿勢の値の組み合わせを選出することになる。そこでポジショナと走行ユニットの値の組合せの設定２６９として、例えば、ポジショナ８の２軸は、回転φと傾斜εとのそれぞれについて回転基準から角度６０度毎６通り、走行ユニット９の走行軸は基準位置から０．５ｍ毎５通り、砥石回転軸は、回転基準から４５度毎の８通りとして刻む。この組み合わせは、６＊６＊５＊８で１４４０の組み合わせとなり、図２６及び図２８に示すポジショナと走行軸の組み合わせ終了２９０のｎｏ２９０１が上記組み合わせが繰り返されることになる。その結果、ＣＰＵ３０１は、２９１において、非干渉領域における研削可能領域が最も大きいポジショナと走行ユニットとがとる位置及び姿勢の値の組み合わせが選出されることになる。そして選出された組み合わせが、ネットワーク３１を介してコンピュータ１１に送信されることになる。
【００４８】
次に、図２６に示す２７０において、ＣＰＵ３０１は、研削方向の格子点間隔の設定２６３に基づいて、生成された羽根車の３次元モデルの指定された研削部位（表面、裏面、ハブ面）に対して格子点列データ２７０１を図９に示すように生成し、メモリ３０２に格納する。必要に応じて、研削部位毎に生成された格子点列データ２７０１をディスプレイＩ／Ｆ３０４を介してディスプレイ３０５上に表示をすることができる。図９における格子点の間隔は、目的の研削量に対するツール（グラインダ）６の砥石３９の形状（２６４において入力された研削ツールの設計データ（モデル用データ）または２６５において生成された研削ツールの３次元モデルからＣＰＵ３０１は知ることができる。）と被研削面に対する砥石３９の接触の状態（例えば２６７で入力される平面研削時の最適な研削幅Ｋ）と被研削面の曲面の状態（２６２で生成される羽根車の３次元モデルからＣＰＵ３０１が算出する曲率中心と曲率半径ｓ）とによってＣＰＵ３０１は決定する。
以下ＣＰＵ３０１が２７０において格子点列データ２７０１を生成する前に、ＣＰＵ３０１が行う格子点の間隔の決定方法について詳しく説明する。まず、羽根面上の格子点に対して、図２０に示すように研削方向と交わる方向の並び具合を、研削ピッチＣｐと呼ぶことにする。２６３にて行う研削方向の格子点の間隔は、被研削面の曲面の凹凸、即ち２６２で生成される羽根車の３次元モデルからＣＰＵ３０１が算出する曲率中心と曲率半径Ｓとの具合によって決定される。羽根の縁など、被研削面の曲面の状態が急激に変化している部分は、多くの格子点を与えて大きな曲面の変化に対応できるように多くの格子点を与える。一方、平坦な面など、被研削面の曲面の状態がそれほど変化していない部分は、少ない格子点でも対応することができる。一方、研削ピッチＣｐは、被研削面を１回で研削するときの最適な研削幅Ｋop（２６７において入力される。）の大きさによって決定する。最適な研削幅Ｋopは、図１１に示す最適な砥石の接触角αopによって決定される。ツール（グラインダ）６の被研削面への押しつけ力が一定で、接触角αが大きくなると、図１２に示すように研削幅Ｋが小さくなり、研削深さΔｔが大きくなる関係にある。これらの関係の中で、要求される被研削面の仕上げ度合いを最も満たす条件を選ぶことにより最適な研削幅Ｋopが求められる。
【００４９】
次にＣＰＵ３０１が行うワーク（研削加工対象物：羽根車）１と研削ツール６との非干渉領域の算出２１４について説明する。
まず、ＣＰＵ３０１は、メモリ３０２に記憶された格子点列データ２７０１から、図２７に示す２７１において、各格子点Ｐの座標データを読み出して、各格子点Ｐの座標において２６２において生成された羽根車の３次元モデルから算出される曲率中心及び曲率半径ｓと指定する研削方向から法線ベクトルＮと研削方向ベクトルＶとを算出し、メモリ３０２に記憶する。
次にＣＰＵ３０１は、図２７に示す２７３において、各格子点Ｐにおける研削ツールの接触角αop’を算出し、２７４において、各格子点Ｐにおける研削ツールの姿勢を算出する。この３次元自由曲面上の各格子点Ｐにおける研削ツールの接触角αop’の算出２７３と各格子点Ｐにおける研削ツールの姿勢の算出について具体的に説明する。即ち、各格子点Ｐにおける研削ツールの接触角αop’が算出されると、２７２において算出された各格子点Ｐにおける法線ベクトルＮと研削ベクトルＶとから研削ツールの姿勢を算出することができる。
【００５０】
ツール接触角とは、図１１に示すように、ツール（グラインダ）６におけるオフセット砥石３９と研削加工面の成す角度のことである。曲面を研削加工するには、その曲面を研削加工するのに適した研削速度Ｖや押し付け力ｆR、オフセット砥石３９の接触角αop’がある。そこで、まず３次元自由曲面を削るための砥石の最適な接触角αop’を得る方法について説明する。図１１に示すように、予め、試験的に実験により、各種ツール（グラインダ）において、各種材質の平面を有する被加工物に対して研削速度および押しつけ力を変えながら付与し、接触角αを変えて研削加工して、加工精度（仕上がり精度）から最適な研削速度Ｖopと、最適な押し付け力ｆRop と、最適な接触角αopを決める。なお、最適な研削速度Ｖopや押し付け力ｆRop を決めた状態で、接触角αを変えると図１２に示すように研削幅Ｋと研削深さΔｔとの関係が得られる。即ち、被加工物の加工面が平面の場合、接触角αを大きくすると、研削深さΔｔが大きくなって加工精度（仕上がり精度）が悪くなると共に研削幅Ｋも小さくなり、接触角αを小さくすると研削深さが小さくなって加工精度が向上すると共に研削幅Ｋは大きくなる関係を有している。従って、要求される加工精度（仕上がり精度）から、最適な接触角αopが決定され、この最適な接触角αopから最適な研削幅Ｋopも求まる。そこで、このように決定された最適な砥石接触角（ワーク接触角）αopと最適な研削幅Ｋop２６７とが前記した通り、入力手段４０によりハードディスク３２に格納されることになる。なお、加工精度も含めて図１２に示すようなデータを予め入力手段４０を用いてハードディスク３２にデータテーブルとして格納しておき、ワークの種類および加工対象物の材質等を入力手段４０で指定すると、ＣＰＵ３０１が最適な砥石接触角（ワーク接触角）αopと最適な研削幅Ｋop２６７とを求めることができる。
【００５１】
このようにして、ハードディスク３２には、加工対象物が平面で形成された場合において、ワークの種類および加工対象物の材質に対応した最適な砥石接触角（ワーク接触角）αopと最適な研削幅Ｋop２６７（必要に応じて最適研削深さΔｔopも含む）とが格納されていることになる。しかし、図１３に示すように、加工対象物が羽根車のように３次元自由曲面の場合には、ハードディスク３２に格納された最適な砥石接触角αopをそのまま使用することはできない。即ち、ある曲面（２６２で生成される羽根車の３次元モデルからＣＰＵ３０１が算出する曲率半径ｓ）においては、平面を研削するときとほぼ同じ関係（例えば最適な研削幅及び／又は最適な研削深さ）となるようにワークの接触角を求めて変える必要がある。具体的には、曲面が砥石３９に対して凸のときには、研削幅Ｋが小さくなるので接触各α’を最適な接触角αopより小さくし、凹のときには、研削幅Ｋが大きくなるので接触角α’を最適な接触角αopより大きくする必要がある。ここで、曲面の凹凸は、例えば図１４に示すように、砥石３９の被研削面との接触点（格子点Ｐ）に対して一定の開き角ψにある砥石の円周上の点を高さの測定点として定め、この測定点から被研削面に鉛直方向（法線方向）に直線を降ろしてその降ろした足の長さＨによってＣＰＵ３０１は知ることができる。つまり、接触角が一定であれば、図１４（ｂ）を拡大して図１５に示すように、平面における測定点からの足の長さＨ０よりも凸図における測定点からの足の長さＨ１のほうが大きい。そこで測定点からの足の長さＨ１をＨ０とほぼ等しくなるように接触角αop’を算出すれば、平面を研削するのとほぼ同じ最適な研削幅Ｋopを得ることができる。即ち、このようにＣＰＵ３０１は、２６２で生成される羽根車の３次元モデルから算出される各格子点Ｐにおける曲率半径ｓと２６７において入力される平面研削時の最適な接触角αopから、各格子点Ｐにおける接触角αop’を算出することができる。
【００５２】
次に前記実施例においては、２７４において、研削ツールの姿勢として、図６（ｂ）に示すように法線ベクトルＮ方向を向かして、最適な接触角αopを取るように算出することについて説明したが、研削加工対象物１において、図６（ｂ）（ｃ）に示す狭隘部又は角部を研削するとき、押しつけ力３８が被研削面の法線方向に発生させるように面の法線方向に対して軸付き砥石グラインダ３４などの研削ツールが一定の姿勢（接触角αop’）になるように算出したのでは、研削ツール３４の姿勢が被研削面の法線方向と一致して９０度程度大きく変化することになり、ロボット機構を構成する部材の内手先部近傍が上記研削加工対象物１に干渉する危険性が増加して、上記狭隘部又は角部において、後述する図２１に示す２１６（具体的には図２２に示す２２６）で算出される非干渉の格子点からなる非干渉領域を得ることができなくなってくる。
【００５３】
ところで、実際研削するとき、図６（ａ）に示すように研削ツール３４が被研削面に押しつけ力３８を加えることになる。しかし、押しつけ力３８の方向を、法線方向に正確でなくても、研削面の仕上げ精度においては殆ど変化がないことが確認された。そこで、研削ツール３４の接触点において、摩擦円錐（研削ツールと被研削面との間において接触点で押しつけ力によって所望以上の値の摩擦が生じる法線を中心とした角度範囲）３７を定義する。この定義された摩擦円錐３７のデータを入力手段４０により入力してハードディスク３２に記憶させる。そこで、ＣＰＵ３０１は、研削加工対象物１の３次元モデルにより、狭隘部又は角部と判定したとき、その狭隘部又は角において設定された格子点Ｐに対して、研削ツールの姿勢を法線方向に対して上記定義された摩擦円錐の範囲内で図６（ｃ）に示すように変化させるように算出する。これにより、ＣＰＵ３０１は、研削加工対象物１の狭隘部又は角部において、後述する図２１に示す２１６（具体的には図２２に示す２２６）で算出されるロボット機構による非干渉の格子点からなる非干渉領域を作り、又は拡大することができ、その結果、ロボット機構を構成する部材の内手先部近傍を研削加工対象物１の狭隘部又は角部に対して干渉しない動作経路データを算出することができる。その結果、実際の研削等の加工作業においても、研削加工対象物１の狭隘部又は角部に対して研削等の加工作業を実行することができる。
【００５４】
また前記実施例においては、２７４において、研削ツール３４の姿勢として、研削ツールの軸心を、図５（ｂ）に示すように研削等の加工方向ベクトルＶ方向に対して９０度を向かして（偏差角β＝０°にして）、最適な接触角αop’を取るように算出することについて説明したが、ＣＰＵ３０１が、研削ツール３４が軸付き砥石グラインダのような場合、研削ツール３４の姿勢として、βが所望の傾斜角になるように算出すれば、実際の研削等の加工作業を研削加工対象物１に対して実行する際、仕上げ精度を著しく向上することができる。即ち、軸付き砥石グラインダ３４は、グラインダの長手方向に砥石の回転軸があり、グラインダの先に円筒型の軸付き砥石が設置されているので、狭隘部など比較的細かい部分を研削する場合に適した研削ツールである。このような研削ツール３４を用いて偏差角βがほぼ０度にして被研削面を研削加工した場合、図５（ａ）に示すように、研削加工方向Ｖ４３に砥石目の跡が線状に残り、仕上げ精度を低下させることになる。しかし、２７４において、研削ツール３４の姿勢として、この偏差角βを０度より大きく、９０度より小さい適当な１０〜３０度の角度に設定すれば、実際研削作業する際、研削ツールの回転軸の方向４２と研削の送り方向Ｖ４３が一致しなくなり、砥石目の跡が残らない仕上げ精度の良い研削面を得ることができる。
【００５５】
次にこの研削ツール６と研削対象物（羽根車）１の干渉チェックについて説明する。まず干渉の状態の定義について説明する。前もってＣＰＵ３０１は、図２６に示す２６６において、２６５において生成された研削ツール（ロボット機構３の手先部（手首フランジ）４及び手先部４に取り付けた力センサ２も含む）６の３次元モデルに基づいて、図１６に示すように立体（直方体または円柱）図形の集合に近似してメモリ３０２に格納する。即ち、前もってＣＰＵ３０１は、２６６において、２６５において生成された研削ツール６やロボット機構３等の３次元モデルに基づいて、図１６に示すように、研削ツール（砥石３９（円柱図形近似）、グラインダ本体６ａ（円柱図形近似）、グラインダホルダ６ｂ（直方体図形近似）、ツール交換装置４ａ（円柱図形近似）、６軸力センサ２（円柱図形近似）））及びロボット機構３の手先部（手首フランジ）４（直方体近似）を、それぞれを包含する最小の直方体や円柱などの立体図形の集合に近似してメモリ３０２に格納する。そしてディスプレイ３０５は、この研削ツール６に対して近似された立体（直方体または円柱）図形をメモリ３０２から読み出してディスプレイＩ／Ｆ３０４を介して表示できるように構成されている。
【００５６】
次に、ＣＰＵ３０１は、図２７に示す２７４において図１０に示すように算出された各格子点Ｐにおける研削ツールの姿勢（各格子点Ｐにおける法線ベクトルＮと研削方向ベクトルＶ、及び研削ツールの最適接触角αop’に基づいて算出される。）を算出する。そしてＣＰＵ３０１は、２７１において設定された各格子点Ｐに対して、図９に示すように、研削ツールを近似した立体図形を移動させていって、順次２７４において算出された研削ツールの姿勢で位置付けして（研削ツールの接触点を格子点にする）、２７５において前記研削ツールを近似した立体図形を各格子点の位置と姿勢に変換する。そしてＣＰＵ３０１は、各格子点Ｐにおいて順次移動して位置付けされた研削ツールを近似した立体図形の例えば中心を基準（原点）にして、２７０において生成された各研削部位（表面、裏面、ハブ面）毎の羽根面の目的とする格子点列が各立体図形に含まれていないこと、即ち非干渉であることを２７６においてチェックする。即ち、図１７に示すように、ＣＰＵ３０１は、研削ツールに近似されて設定された直方体については、直方体の中心を基準点（原点）として、直方体の寸法を、Ｘ方向についてＤ、Ｙ方向についてＷ、Ｚ方向についてＨ’とする（２６６において決定される。）。そしてＣＰＵ３０１は、直方体座標系で表される格子点列の任意の格子点の座標をＰ(ｐx,ｐy,ｐz)を次に示す（数１）式の関係を満たすか否かの演算を行い、各研削部位における研削対象物面（３次元自由曲面）上の任意の点Ｐは、（数１）式の関係を満たさないときはｎｏとなり、非干渉点２７７を示す演算結果を出力し、（数１）式の関係を満たすときは直方体に含まれる干渉点２７８を示す演算結果を出力することになる。
【００５７】
【数１】
0003670700.tif 000002
【００５８】
また図１８に示すように、研削ツールに近似されて設定された円柱については、ＣＰＵ３０１は、円柱の中心を基準点（原点）として、円柱の寸法を直径についてＲ、Ｚ方向についてＨ”とする（２６６において決定される。）。そしてＣＰＵ３０１は、円柱座標系で表される格子点列の任意の格子点の座標をＰ(ｐx,ｐy,ｐz)を次に示す（数２）式の関係を満たすか否かの演算を行い、各研削部位における研削対象物面（３次元自由曲面）上の任意の点Ｐは、（数２）式の関係を満たさないときはｎｏとなり、非干渉点２７７を示す演算結果を出力し、（数２）式の関係を満たすときは円柱に含まれる干渉点２７８を示す演算結果を出力することになる。
【００５９】
【数２】
0003670700.tif 000003
【００６０】
ＣＰＵ３０１は、図２７に示す２７１〜２７６の演算操作を、研削加工対象物の面（３次元自由曲面）上の全ての格子点に施して、（数１）及び（数２）式を満たす干渉点と満たさない非干渉点とが算出される。
しかし、研削加工対象物上に生成される格子点列は、膨大な数になり、しかも複数の研削部位が存在するため、干渉しない領域を短時間で算出するためには、次に説明する方法ととるのが良い。これは、図９にしめすように、研削加工対象物の面（羽目面）上の格子点の格子間隔を調整しながら干渉の演算処理を行う方法である。即ち、図１９に示すように、図２７に示す２７１で設定する格子点Ｐを、最初に研削加工対象物の面（羽目面）上に研削経路を定義する教示点Ｔの間隔より大きな間隔で設定し、ＣＰＵ３０１は、２７９において大きな間隔で設定された全ての格子点について干渉チェックの演算処理を行う。ここで、研削ツールに対して近似した立体図形（直方体、円柱等）の大きさが、最初に設定した格子点間隔より小さい場合には、実際には研削ツールと被研削面（羽根面）とが干渉していても、格子点が研削ツールに対して近似した立体図形に含まれず、干渉を検出することができなくなってしまう。従って、ＣＰＵ３０１は、干渉しそうな領域については、図２７に示す２８０〜２８２の演算処理を行う必要がある。即ち、干渉しそうな領域は、十分に格子間隔を細かく取って干渉のチェックを行わなければならない。そこで、ＣＰＵ３０１は、干渉しそうな領域（干渉する境界）として、図１９に示すようにある領域内で周りの４つの格子点を調べて４つの格子点に干渉点と非干渉点の両方を含む場合を、干渉しそうな領域（干渉する境界）として抽出する。図１９において、干渉しそうな領域（干渉する境界）は網掛けの領域で表される。そして、ＣＰＵ３０１は、２８２において、この網掛けの部分（干渉する境界）に２７０において生成された格子点列データに基づいて更に細かい格子点を設定する。該設定された細かい格子点において、ＣＰＵ３０１は、前記したのと同様に２７２〜２７６において干渉チェックが行われる。以上のようなＣＰＵ３０１による干渉チェック処理を、研削経路を定義する教示点Ｔの間隔や近似した立体図形の大きさに対して十分に細かい格子点間隔になるまで、２７２〜２８２において実行される。
【００６１】
この処理を行えば、最初から細かい均一の格子間隔で格子点を設定して干渉チェックを行うことよりも、干渉チェックする格子点の数を大幅に減らすことが可能となり、ＣＰＵ３０１によるロボット機構の動作経路の生成の計算時間を大幅に短縮することができる。なお、これらの干渉チェックの状態を、ディスプレイ３０５上に表示することができるので、ディスプレイ３０５の画面を見ながら、干渉チェックについて目視により確認することができる。
以上格子点間隔が十分に細かい？２８０からｙｅｓの信号２８０１が出力されると、ＣＰＵ３０１は、図２８に示す２８３において、非干渉点を集めて非干渉領域をメモリ３０２に記憶して設定する。以上までが、図２１及び図２３に示すワークと研削ツールの非干渉領域の算出２１４である。
【００６２】
次にＣＰＵ３０１が演算処理する図２１に示すロボット稼働領域の算出２１５とワークとロボットの非干渉領域の算出２１６とについて、図２２、図２３及び図２８等を参照して説明する。まずＣＰＵ３０１は、２６９において、ポジショナと走行ユニットの値の組み合わせが設定されているので、研削加工対象物の面（羽根面）に設定された格子点の座標を、２６５におけるロボット機構とポジショナとの相対的位置ベクトル情報を用いてロボット機構３の座標系に変換することができる。また、ＣＰＵ３０１は、２７２において算出されていた法線ベクトルＮと研削方向ベクトルＶ並びに２７４において算出された研削ツールの姿勢を、２６５におけるロボット機構とポジショナとの相対的位置ベクトル情報を用いてロボット機構３の座標系に変換することができる。また２６５において、ロボット機構３及び研削ツール６の幾何学的情報も知ることができる。そこで、ＣＰＵ３０１は、２８３においてメモリ３０２に記憶して設定された非干渉領域の中から２８４において各格子点を設定すると、該設定された格子点の座標からロボット機構３の座標系に変換することによって、ロボット機構３の手先部４の基準点の位置、及び姿勢をロボット機構の座標系で算出する。そしてＣＰＵ３０１は、この算出されたロボット機構３の手先部４の基準点の位置、及び姿勢から、ロボット機構３を構成する各部材（肩、上腕、前腕、手首等）の関節角度を、２６５においてハードディスク３２に格納されたロボット機構３及び研削ツール６の幾何学的情報に基づいてロボットの逆運動学を解くことによって演算して求め、更に２２３においてロボット機構３を構成する各部材毎の座標も計算し、これら計算に基づいて２８６においてロボット機構の作業範囲（稼働できる範囲、ロボット機構を構成する全ての部材が稼働できる範囲）をチェックし、ロボットの作業範囲（稼働できる範囲）である場合には、非干渉領域中の格子点は研削可能な点（稼働できる点）２８８として出力し、ロボットの作業範囲（稼働できる範囲）でない場合には、非干渉領域中の格子点は研削不可能な点（稼働できる点）２８８として出力する。これを非干渉領域中の全格子点の終了２２８がｙｅｓになるまで、繰返し、ロボット機構の作業範囲（稼働できる範囲）がチェックされる。
【００６３】
もし、ロボット機構の作業範囲（稼働できる範囲）をチェックする際に、ロボット機構を構成する全ての部材（肩、上腕、前腕、手首等の内、特に手先部４の近傍）が加工対象物（羽根車）１に干渉する可能性がある場合には、研削可能領域と研削不可能領域との境界において、前記研削ツール６と同様に干渉チェックが行われる。即ち、ＣＰＵ３０１は、２２４においてＣＰＵ３０１は、全ての格子点をロボット機構３の各部材（肩、上腕、前腕、手首）毎の座標系へ変換し、２２５においてこの変換された全ての格子点の座標が、研削可能領域と研削不可能領域との境界近傍において、ロボット機構の各部材に対して近似された立体図形（直方体、円柱）に含まれているかをチェックし、含まれている場合にはロボット機構における干渉領域の格子点２２７とし、含まれていない場合はロボット機構における非干渉領域の格子点２２６とする。上記ロボット機構に対する干渉チェックは、ロボット機構を構成する全ての部材（肩、上腕、前腕、手先）について行う必要はなく、干渉しそうな少なくとも手先部４の近傍（前腕の先端部）について実行すれば良い。
【００６４】
更にＣＰＵ３０１は、ポジショナと走行ユニットの値の組み合わせ終了２９０がｎｏの場合、２９０１によりポジショナと走行ユニットの値の組み合わせの設定２６９に戻し、研削ツールの干渉チェック及びロボット機構の作業範囲（稼働範囲）のチェックを行い、ポジショナと走行ユニットの値の組み合わせがすべて終了したとき２９０をｙｅｓとする。このように加工対象物のある部位（例えば、表面、裏面、ハブ面）について、ポジショナと走行ユニットの値の各組み合わせ毎に、２８８に研削可能な点で形成される研削可能領域が算出され、ポジショナと走行ユニットの値の組み合わせが２９０において終了すると、ＣＰＵ３０１は、２９１において、２８８に算出されたポジショナと走行ユニットの値の各組み合わせにおける研削可能領域を比較して最も大きい研削可能領域を示すポジショナと走行ユニットの値の組合せを選出する。そして、ＣＰＵ３０１は、加工対象物の全ての部位（例えば、表面、裏面、ハブ面、又は異なる加工対象物でも良い。）について、２９２１により戻して全部位が終了するまで２６８〜２９１を繰り返して実行し、２９１において最後まで残ったポジショナと走行ユニットの値の組合せによって、最適なポジショナの回転φ方向の回転位置と傾斜ε方向の姿勢及び最適な走行ユニットの走行軸位置が決定される。
【００６５】
またワーク（加工対象物）とロボット機構との間における非干渉領域が最大となるポジショナと走行ユニットの値の組合せ２９１を図２３に示す２３４〜２３８により決定しても良い。即ち、最適なポジショナと走行ユニットの値の組合せは、ロボット機構の稼働範囲（研削可能範囲）が最大になるように決定した場合、ロボット機構を構成する部材（特に手先部の近傍の部材、手首及び前腕の先端部）が加工対象物（羽根車）と干渉する場合がある。そのため、ロボット機構を構成する部材が加工対象物に干渉しない条件で、ロボット機構の稼働範囲をできるだけ大きくして、最適なポジショナと走行ユニットの値の組合せ２９１を決定することにある。そこで、まずＣＰＵ３０１は、図２３に示す「走行ユニット、ポジショナの値の各組合せでの各ワーク毎又はワークの各部位毎のロボット機構の稼働領域（研削可能領域）の算出２３４」を、図２８に示す２８８において、ポジショナと走行ユニットの値の各組み合わせにおいて、研削可能な点で形成される研削可能領域（稼働領域）が算出される（２８８において算出された研削可能点及び該研削可能点で形成される研削可能領域（稼働領域）はメモリ３０２に記憶され、これらのデータをディスプレイ３０５において表示することもできる。）。そしてＣＰＵ３０１は、図２３に示す「走行ユニット、ポジショナの値の各組合せでの全ワーク毎又はワークの各部位毎のロボット機構の稼働領域（研削可能領域）の算出２３５」を、図２８に示す２９２において全ての部位について終了するまで、ポジショナと走行ユニットの値の各組合せ毎の２８８において残られる（いずれかの部位において研削不可能点として算出されたら研削可能点から除外される。即ち、論理積が取られる。）研削可能点で形成された研削可能領域（稼働領域）を算出する。そしてＣＰＵ３０１は、図２３に示す２３６において、この算出された研削可能領域（稼働領域）の大きさに基づいて、走行ユニット、ポジショナの値の各組合せを、研削可能領域（稼働領域）の大きい順に並び換える。
【００６６】
次に研削可能領域（稼働領域）の大きい方の走行ユニット、ポジショナの値の組合せから、ＣＰＵ３０１は、図２３に示す２３７において、図２２に示す内容と同様な演算処理によって加工対象物（ワーク）とロボット機構との間の干渉チェックを行って非干渉領域の格子点で形成された非干渉領域を算出する。そして、ＣＰＵ３０１は、図２３に示す２３８において、２３７において算出された非干渉領域が最大になった、研削可能領域（稼働領域）の大きい走行ユニット、ポジショナの値の組合せを、最適な走行ユニットとポジショナ（必要に応じて砥石軸）の値の組合せとして決定する。
なお、前記実施例においては、研削ツールが１種類の場合について説明したが、一つの加工対象物に対して複数種類の研削ツールを使用して研削等の加工を行う場合がある。その場合には、図２６に示すフローにおいて「研削部位を指定２６８」の前、又はその後に「研削ツールの種類の指定」を挿入し、図２８に示すフローにおいて「全部位終了？２９２」の後、又はその前に「研削ツール全種類終了？」を挿入し、研削ツール全種類終了がｎｏの場合、研削ツールの種類の指定に戻して繰返し演算処理を行うようにすれば良いことは明らかである。このように研削ツールの種類を換えることによって、益々、加工対象物に対する研削ツールによる非干渉領域の拡大を図ることができると共に、加工対象物の形状に適合させて高精度な加工も実現することができる。
以上により、ＣＰＵ３０１は、加工対象物における全て部位（例えば、羽根車の表面、裏面、ハブ面）又は全ての加工対象物に対して、研削ツール及びロボット機構による非干渉領域の格子点列データを算出し、更に最適なポジショナの回転φ方向の回転位置及び傾斜ε方向の姿勢並びに走行ユニットの走行軸の位置（更に必要に応じて砥石軸の回転位置）を決定し、これらのデータを例えばモメリ３０２またはハードディスク３２に記憶する。
また、加工対象物１において、研削しない領域がある場合には、図２１に示す２１７において、入力手段４０により研削しない領域を入力してハードディスク３２に格納することが必要となる。するとＣＰＵ３０１は、入力された研削しない領域に基づいて研削しない領域の格子点列データを生成し、前記算出された非干渉領域の格子点列データから研削しない領域の格子点列データを削除することによって非干渉で、研削する領域の格子点列データが生成され、例えばモメリ３０２またはハードディスク３２に記憶する。
【００６７】
次に、図２１に示す研削経路データ生成２１９について説明する。即ち、ホストコンピュータ３３において、ＣＰＵ３０１は、２１９において、ハードディスク３２及びメモリ３０２に記憶された非干渉で、研削する領域の格子点列データ（教示点列データ）（２７０において生成される格子点列データの内、非干渉で、研削する領域のものを用いても良い。）、最適なポジショナの回転φ方向の回転位置及び傾斜ε方向の姿勢並びに走行ユニットの走行軸の位置（更に必要に応じて砥石軸の回転位置）（２６９において設定されるポジショナと走行ユニットの値の組合せから最適なものを抽出しても良い。）、２７２において算出される加工対象物の各格子点における法線ベクトルＮと研削等の加工方向ベクトルＶ、２７４において算出される各格子点における研削等のツールの姿勢に基づいて、ロボット機構によるツールを取り付ける手先部の動作経路データ（研削経路データ）、即ち作業計画を作成する。即ち、２６５におけるロボット機構とポジショナとの相対的位置ベクトル情報を用いて加工対象物に対するデータを、ロボット機構３の座標系に変換することによって、ロボット機構による動作経路データ（研削経路データ）（非干渉で、研削する領域におけるロボット機構の座標系で表現された教示点（格子点）の位置や姿勢からなる教示点列データ（教示点列情報）、ＴＣＰ（Tool Center Point）の位置や姿勢からなるＴＣＰ列データ（ＴＣＰ列情報）、加工対象物の種類及びツールの種類の情報など）、即ち該動作経路データからなる作業計画を作成し、ハードディスク３２に記憶格納する。
【００６８】
以上が予めホストコンピュータ３３が行うロボット機構による動作経路データ（研削経路データ）、即ち作業計画である。なお、この作業計画は、ホストコンピュータ３３で行う実施例について説明したが、コンピュータ１１で行っても良いことは明らかである。
【００６９】
次に、コンピュータ１１、ロボットコントローラ７及びシーケンサ１０による処理及び制御によって、実際の研削等の加工対象物（羽根車）に対してロボット機構３の手先部４のツール交換装置４ａに装着されたツール（グラインダ）６によって研削等の加工作業を行うこと（図３０に示す３１２）について説明する。まず、コンピュータ１１は、受信指示を上記ホストコンピュータ３３に出して、図３０に３１１で示すように、ホストコンピュータ３３において計画され、データベース３２に格納されたロボット機構の動作経路データ（非干渉で、研削する領域におけるロボット機構の座標系で表現された教示点（格子点）の位置や姿勢からなる教示点列データ、ＴＣＰ（Tool Center Point）の位置や姿勢からなるＴＣＰ列データ、指定された加工対象物の種類及びツールの種類のデータ等）をネットワーク３１を介して受信する。
また、コンピュータ１１には、入力手段４１により、「図８に示すように、力センサ２の許容力ｆs と許容モーメントｍs 、ツール６の加工対象物１への押しつけ力ｆR とモーメントｍR 、加工速度ｖ（ホストコンピュータ３３から得ても良い。）、力センサ２の計測基準点Ｏs を原点としたＴＣＰ（Tool Center Point）の位置ベクトルと重心の位置ベクトル（ホストコンピュータ３３から得ても良い。）、ツール（手先部も含む）の仮想係数（仮想質量［Ｍ］、仮想粘性係数［Ｃ］）、（但し、これらの内、自動的にコントローラ７又はホストコンピュータ３３から取得できる場合は入力する必要がないことは明らかである。）」等が入力されて、メモリ（図示せず）に記憶される。また、コンピュータ１１は、入力手段４１またはホストコンピュータ３３から、加工対象物１の３次元モデルデータ（ベクトルを有する曲率半径ｓ）が入力または送信されてメモリに記憶される。
【００７０】
次に加工対象物である羽根車１をポジショナ８の上に図１に示すように搭載する。しかし、羽根車１をポジショナ８に搭載する際、少なくとも羽根車の回転φ方向には、搭載誤差（設置誤差）が生じるものとする。そこで、コンピュータ１１は、ホストコンピュータ３３から受信した最適なポジショナの回転φ方向の回転位置と傾斜ε方向の姿勢及び走行ユニットの走行軸位置をシーケンサ１０に送信し、シーケンサ１０は、ポジショナ８の駆動手段８ａ，８ｂをエンコーダから検出される回転位置情報に基づいて制御してポジショナ８を位置決めし、即ちポジショナ８に対して搭載誤差（設置誤差）を有する羽根車１が粗位置決めされ、走行ユニット９の駆動手段９ｂをエンコーダから検出される走行軸位置情報に基づいて走行ユニット９を位置決めし、即ち走行ユニット９上に設けられたロボット機構３を位置決めする。
ついで、コンピュータ１１、ロボットコントローラ７及びシーケンサ１０が行う加工対象物１のロボット機構３に対する高精度の相対的位置決め（図３０に示す３１３）について説明する。まず、触針５をロボット機構３のツール交換装置４ａに装着する。そして、コンピュータ１１は、ロボットコントローラ７に指令して羽根車１の羽根面上に定義されている複数の加工基準点に上記触針５を当てて力センサ２から検出される力が所望の値になるようにロボット機構３を構成している所望の関節の駆動手段３ａを駆動し、センサ３ｂで検出される各関節の回転角を基にロボット機構３の座標系に基づく触針５の位置座標を算出し、これをポジショナ８の座標系に変換することによって本来あるべき複数の加工基準点の位置座標との搭載誤差（設置誤差）を算出し、この搭載誤差（設置誤差）をシーケンサ１０に送信し、シーケンサ１０は、この搭載誤差をポジショナ８にフィードバックしてポジショナ８の回転位置を補正することによって、加工対象物（羽根車）１は、ロボット機構３に対して高精度に位置決めされたことになる。
【００７１】
なお、加工対象物（羽根車）１のロボット機構３に対する高精度な位置決めは、上記のように、ポジショナ８の回転位置をハードで補正する以外に、コンピュータ１１においてロボット機構３に対して設定されるロボット基準座標系を上記搭載誤差分補正することによって行うことができる。即ち、ロボット機構３に対して設定されるロボット基準座標系と加工対象物（羽根車）１上に設定される基準座標との間において、機械またはソフトにおいて、高精度に位置決めされれば良いことは明らかである。また、上記実施例においては、加工対象物（羽根車）１とロボット機構３との間の相対的誤差を、ロボット機構３の手先部４に触針５を取り付けて測定したが、該触針５の代わりに、レーザ測長器や超音波センサなどの非接触式の測定手段をロボット機構３の手先部４に取り付けて上記相対的誤差を測定することができる。なお、走行ユニット９も含めてロボット機構３に設置誤差が発生しないとした場合には、ポジショナ８のベースにレーザ測長器や超音波センサなどの非接触式の測定手段を設置して、加工対象物（羽根車）１上の複数の基準点を直接測定することによって、ポジショナ８も含めて加工対象物（羽根車）１の設置誤差を測定することができる。
【００７２】
次に、図３０に示す加工対象物の形状誤差に基づくロボット機構の動作経路補正（修正）３１４について説明する。即ち、触針５をロボット機構３のツール交換装置４ａに装着する。そして、コンピュータ１１は、ホストコンピュータ３３から受信したロボット機構の動作経路データから、加工対象物（羽根車）１の羽根面上の複数の教示点（格子点）の位置座標を抽出し、更にロボットコントローラ７に指令して羽根車１の羽根面上の前記複数の教示点（格子点）に対応する点に上記触針５を当てて力センサ２から検出される力が所望の値になるようにロボット機構３を構成している所望の関節の駆動手段３ａを駆動し、センサ３ｂで検出される各関節の回転角を基にロボット機構３の座標系に基づく触針５の先端の位置座標を算出し、前記抽出された複数の教示点（格子点）の位置座標と前記算出された触針の先端の位置座標との相違によって羽根車の羽根の捻じれや大きなうねり等の羽根の製作誤差を算出し（測定し）、該算出（測定）された羽根の製作誤差について、ホストコンピュータ３３から受信したロボット機構の動作経路データに対して補正を加えて修正する。なお、測定点が教示点と異なる場合には、製作誤差を、周囲の教示点Ｔの位置座標に対して逆の直線または曲線補間によってロボット機構の動作経路データに対して補正を加えて修正する必要がある。即ち、触針５を取り付けたロボット機構３により、ロボットコントローラ７からのコンプライアンス制御による倣い動作を利用して、ロボット機構３の座標系で図３に示すように羽根面１８の位置座標を測定する。測定は時間を節約するために、実際の加工経路を用いず、コンピュータ１１が羽根面１８に３本の測定線を設定し、コンピュータ１１からの設定指令に基づいて、この測定線上の数点を触針５がコンプライアンス制御による倣い動作するようにロボットコントローラ７がロボット機構３に対して制御することにより、これら測定線上の数点の位置座標を測定する。羽根車断面１９では、測定線は２０、２１、２２の点で表わされている。次にこの測定データを用いて、コンピュータ１１は、周囲の教示点Ｔの位置座標を基に、補間処理を行って、ホストコンピュータ３３から計画されたロボット機構の加工経路１７と比較して算出される製作誤差を該ロボット機構の加工経路１７に対して補正修正して、羽根表面１８に教示された加工経路２３を得る。なお、上記実施例においては、羽根車１の製作誤差を、ロボット機構３の手先部４に触針５を取り付けて測定したが、該触針５の代わりに、レーザ測長器や超音波センサなどの非接触式の測定手段をロボット機構３の手先部４に取り付けて上記製作誤差を測定することができる。なお、走行ユニット９も含めてロボット機構３に設置誤差が発生しないとした場合には、ポジショナ８のベースにレーザ測長器や超音波センサなどの非接触式の測定手段を設置して、羽根車の羽根表面の複数の測定点を直接測定することによって、羽根車１の羽根の製作誤差を測定することができる。但し、この場合、この羽根車１の羽根の製作誤差を、ロボット機構３の座標系に変換する必要がある。
【００７３】
以上説明したように、ホストコンピュータ３３で計画されたロボット機構の動作経路データには、羽根車等の加工対象物１の製作誤差や設置誤差等については、図３に示す実際研削等の加工する加工対象物１の表面１８に対しては教示されていない。そうすると、ロボット機構３の手先部４にツール６を取り付けて実際コンプライアンス制御による被加工面への倣い動作によって加工する際、倣い動作において修正しきれないような大きな誤差がある場合には、加工残りや焼き付きなどの弊害が生じてしまうことになる。そこで、被加工面１８をロボット機構３で測定することによってこの誤差を低減し、ホストコンピュータ３３で計画されたロボット機構の加工経路（動作経路）１８を補正することによって、加工残しや焼き付き等のない安定した研削等の加工を実現することができる。
次に、図３に示す研削ツールのコンプライアンス制御による倣い動作における最適倣い速度ｖf の設定３１５について説明する。即ち、ロボット３の動作速度を、外力を検出する手段（力センサ２）の検出能力から設定することについて、ツール（グラインダ）６の作業モデルを用いて図８を参照して説明する。コンプライアンス制御で被加工面への押しつけ力制御をして研削等の加工を行うためには、ツール６で押し付けている力を力センサ２で計測して適切な押しつけ力になるように制御する。このとき、ある動作速度に対して被加工面に倣うための倣い速度が発生する。この倣い速度は、作業モデルとの関係から決まる範囲があるために作業者が自由に設定することはできない。このことを図７に示すツール６の作業モデルを用いて述べる。なお、力センサ２から手先の全ての部分をツールと呼ぶことにする。この作業モデルには以下の仮定を設ける。
【００７４】
(ａ)押しつけ力方向の位置偏差を考慮せず、被加工面上の接線を移動方向とする動作を倣い動作とする。
(ｂ)ツール（手先部を含む。）６の運動をツール重心２５の質点の運動と近似し、仮想質量［Ｍ］をツールの質量Ｍに設定する。
(ｃ)コンプライアンス制御による倣い動作は、ＴＣＰ(Tool Center Point)に対し行う。
(ｄ)ツール６と被加工面は、唯一ＴＣＰ(Tool Center Point)で点接触する。
【００７５】
(ｅ)研削等の加工により発生する力・モーメントは無視する。
上記仮定(ａ)より、コンプライアンス制御の運動モデルを定義する式は（数３）式のようになる。
【００７６】
【数３】
0003670700.tif 000004
【００７７】
ｑ：ツールに加わる外力と設定値との偏差
ｖ：ツールの速度
［Ｍ］：仮想質量
［Ｃ］：仮想粘性係数
なお以降では、仮想質量［Ｍ］と仮想粘性係数［Ｃ］をまとめて仮想係数と呼ぶことにする。
【００７８】
力センサ２の力の許容入力（力センサ２に印加可能な力の許容値）ｆs とモーメントの許容入力（力センサ２に印加可能なモーメントの許容値）ｍs における制約条件は、次の（数４）式及び（数５）式によって表せる。
【００７９】
【数４】
0003670700.tif 000005
【００８０】
【数５】
0003670700.tif 000006
【００８１】
但し、ｆR ：押しつけ力の力設定値
ｍR ：押しつけ力のモーメント設定値
ｆd ：押しつけ力の力設定値ｆR からの偏差、（ｆd ＝−ｑ）
ｍd ：押しつけ力のモーメント設定値ｍR からの偏差
ｒR ：計測基準点（力センサ２の基準点）を原点としたＴＣＰ（Tool Center Point）の位置
ｒG ：計測基準点（力センサ２の基準点）を原点としたツール重心２５の位置
ｖG ：ツール重心２５における速度
ｇ  ：重力加速度
ｘ  ：外積演算子
曲率半径ｓの被加工面上の点を速度ｖで運動するとき、瞬間の角速度ｗは、次に示す（数６）式よって表せる。ここで曲率半径ｓを、曲率の中心を起点とし、被加工面上の点を表す大きさ｜ｓ｜のベクトルとする。
【００８２】
【数６】
0003670700.tif 000007
【００８３】
ＴＣＰ(Tool Center Point)でのツールの速度ｖと、重心でのツールの速度ｖG との関係は、次に示す（数７）式によって表せる。
【００８４】
【数７】
0003670700.tif 000008
【００８５】
よって（数４）式及び（数５）式によって力センサ２の力の許容入力（力センサ２に印加可能な力の許容値）ｆs と力センサ２のモーメントの許容入力（力センサ２に印加可能なモーメントの許容値）ｍs における制約条件は、各々（数４）式、（数５）式から最終的に次に示す（数８）式、（数９）によって表せる。
【００８６】
【数８】
0003670700.tif 000009
【００８７】
【数９】
0003670700.tif 000010
【００８８】
ここで、ベクトルＡは、次に示す（数１０）式によって表せる。
【００８９】
【数１０】
0003670700.tif 000011
【００９０】
また、倣い速度ｖf は、次に示す（数１１）式で表せる。
【００９１】
【数１１】
0003670700.tif 000012
【００９２】
・：内積演算子
従って、倣い速度ｖf は、（数３）式で表されるコンプライアンス制御で決まるものであるが、（数８）式、（数９）式で表されるように、被加工面の３次元自由曲面形状（ベクトルである曲率半径ｓ）、力センサ２の許容入力（力センサ２に印加可能な許容値）ｆs ，ｍs 、ツールの仮想係数（仮想質量［Ｍ］、仮想粘性係数［Ｃ］）、ツール重心及びＴＣＰ（Tool Center Point）の位置ベクトル（力センサ２の基準点を原点としたＴＣＰ（Tool Center Point）の位置ｒR 及び力センサ２の基準点を原点としたツール重心２５の位置ｒG ）、押しつけ力（押しつけ力の力設定値ｆR ）、加工速度ｖといった多くの要因から決まる範囲に含まれていなければならない。
【００９３】
そこで、予め、被加工面の３次元自由曲面形状（曲率半径ｓ）、力センサ２に印加できる許容値ｆs ，ｍs 、ツールの仮想質量［Ｍ］、ツール重心及びＴＣＰ（Tool Center Point）の位置ベクトル（ｒR ，ｒG ）を設定し、設定仮想粘性係数［Ｃ］、設定押しつけ力ｆR 、設定加工速度ｖも独立した変数とみなして試行錯誤により設定したのでは、目的の加工作業（特に被加工面の形状（曲率半径ｓ）が多く、大きく変化する３次元自由曲面を有する場合）に対して適切な倣い速度を得ることができない。
【００９４】
これに対し、コンピュータ１１は、入力手段４１またはロボットコントローラ７またはホストコンピュータ３３から得られる被加工面の３次元自由曲面形状（ベクトルである曲率半径ｓ）、力センサ２の許容入力（力センサ２に印加可能な許容値）ｆs ，ｍs 、ツールの仮想係数（仮想質量［Ｍ］、仮想粘性係数［Ｃ］）、ツール重心及びＴＣＰ（Tool Center Point）の位置ベクトル（力センサ２の基準点を原点としたＴＣＰ（Tool Center Point）の位置ｒR 及び力センサ２の基準点を原点としたツール重心２５の位置ｒG ）、押しつけ力（押しつけ力の力設定値ｆR ）、加工速度ｖに基づいて、（数３）式、（数８）式及び（数９）式で表される加工作業モデル（コンプライアンス制御モデル）を用いることによって、適切な倣い速度ｖf を得るための指針を得ることができる。即ち、コンピュータ１１は、仕上げ精度、ワーク材質、砥石組成、グラインダ回転数などの要因から決まる押しつけ力ｆR と加工速度ｖと、仮想係数（仮想質量［Ｍ］、仮想粘性係数［Ｃ］）とを、加工作業モデル（（数３）式、（数８）式及び（数９）の関係からなるコンプライアンス制御モデル）を満たすように算出すれば、力センサ２に印加可能な許容値ｆs ，ｍs 及び被加工面の３次元自由曲面形状に応じた適切な倣い速度ｖf を得ることが可能となる。また、コンピュータ１１は、ＴＣＰ(Tool Center Point)の位置ベクトル（力センサ２の基準点を原点としたＴＣＰ（Tool Center Point）の位置ｒR ）を、前記加工作業モデル（（数３）式、（数８）式及び（数９）の関係からなるコンプライアンス制御モデル）を満たすように調節設定することにより、適切な倣い速度ｖf を得ることが可能となる。さらに、コンピュータ１１は、適切な倣い速度ｖf を得るために前記加工作業モデルを満たすようにツール重心やツール質量を決定してそれを出力手段（印刷装置）（図示せず）または表示手段（ディスプレイ）（図示せず）に出力または表示するようにすれば、使用者は、前記決定されたツール重心やツール質量に適応したツールの種類を選択することができ、更に決定されたツール重心やツール質量に適応したツールを設計することができる。
【００９５】
以上説明したように、コンピュータ１１は、ホストコンピュータ３３で計画されたロボット機構の動作経路データ（加工経路データ）（このデータが教示点列データからなる場合において、その途中の経路データも必要な場合には、その教示点の間を周囲の教示点の座標データに基づいて直線または曲線補間演算を施すこすことによって算出することができる。）と、該動作経路に応じて算出された研削等の加工速度ｖ及び適切な倣い速度ｖf 及びＴＣＰ(Tool Center Point)の位置ベクトル（力センサ２の基準点を原点としたＴＣＰ（Tool Center Point）の位置ｒR ）と、入力されて設定された押しつけ力ｆR 等及び仮想係数（仮想質量［Ｍ］、仮想粘性係数［Ｃ］）とをロボットコントローラ７へ送信する。
次に、羽根車等の加工対象物物１に対して実際の研削等の加工作業を行うことについて説明する。作業者は、まずポジショナ８に羽根車等の加工対象物１を搭載する。そして、入力手段４１からコンピュータ１１に対して、例えば加工対象物の種類を入力する。すると、コンピュータ１１は、ネットワーク３１を介してホストコンピュータ３３から目的とする加工対象物の種類に対応したロボット機構の動作経路データを選び出し、ネットワーク３１を介して転送を受ける。そして、コンピュータ１１は、この選びだされたロボット機構の動作経路に基づいて、経路補間（直線または曲線補間）演算を施すと共に、加工速度ｖ及び最適倣い速度ｖf 等を算出してロボット機構の動作プログラムを生成する。
【００９６】
その後、作業者は、運転開始・停止の指令を操作盤１２を通してシーケンサ１０に対して指令する。予め作業手順を記憶しているシーケンサ１０は、コンピュータ１１に対して作業を指令する。作業指令を受けたコンピュータ１１は、作業内容に応じてポジショナ８や走行軸９の位置決めデータをシーケンサ１０に転送する。位置決めデータを受けたシーケンサ１０は、前記に説明したように、ポジショナ８や走行軸９の位置決めや、ツール６やツール交換装置用台座１３の制御を行い、コンピュータ１１に対して、まず前記に説明したように、加工対象物の形状誤差に基づくロボット機構の動作経路補正３１４についての指令を出す。そして、コンピュータ１１は、加工対象物の形状誤差に基づくロボット機構の動作経路補正３１４を行って、最終のロボット機構の動作プログラムを生成する。即ち、このロボット機構の動作経路補正は、基になるホストコンピュータ３３で計画されたロボット機構の動作経路に対して行っても良いし、生成されたロボット機構の動作プログラムに対して行っても良いことは明らかである。このように、コンピュータ１１は最終のロボット機構の動作プログラムの生成が終了すると、この最終のロボット機構の動作プログラムをロボットコントローラ７にデータバスが直結されている通信回線１６を介して高速に転送する。更にコンピュータ１１は、予め管理し、前記した如く得られるＴＣＰデータやコンプライアンス制御変数などの加工動作の制御に必要な変数もロボットコントローラ７にデータバスが直結されている通信回線１６を介して高速に転送する。これら最終のロボット機構の動作プログラムや制御変数を転送されたロボットコントローラ７は、最終のロボット機構の動作プログラムや制御変数に基づいてロボット機構の手先部に装着されたツール６の押しつけ力が設定値になるようにロボット機構の各関節の駆動手段を駆動制御してツールをコンプライアンス制御させて３次元自由曲面を有する加工対象物１に対して加工を施して、ツール及び手先部が３次元自由曲面を有する加工対象物と干渉することなく、しかも加工すべき全ての領域に亘って非常に能率良く、しかも非常に高精度に仕上げ加工を施すことができる。
【００９７】
次に、ロボット機構３が研削等の加工作業を途中で中断・中止し、その後再開する場合について説明する。即ち、作業者がこの加工システムに対して作業を中断させたい場合は、加工作業の中断の命令を操作盤１２を通してシーケンサ１０に対して指令する。するとシーケンサ１０は、コンピュータ１１に対して作業の中断を指令する。そしてコンピュータ１１は、ロボット機構３が現在羽根車などの加工対象物１のどの部分を研削等の加工をしているのかの座標を、ロボット機構の各関節に設けられたセンサ３ｂから検出される各関節の回転角度等をロボット座標系に座標変換することによってロボットコントローラ７から検知し、その部分から、退避するのに最も適した教示点を、いままで加工していた教示点Ｔ（格子点Ｐ）の列（ホストコンピュータ３３で計画されて転送を受けたロボット機構の動作経路データ（教示点Ｔの列データ））の中から選び出し、退避軌道の計画を行う。同時に、作業を再開するときのために同じような方法で復帰軌道の計画を行う。その後、コンピュータ１１は、ロボットコントローラ７にロボット機構３の停止を指令し、新たな動作軌道として先ほど計画した退避軌道を転送する。そしてロボットコントローラ７に退避軌道の実行を指令し、ロボット機構３が退避する。一方、加工中非常停止状態になった場合、コンピュータ１１がシーケンサ１０やロボットコントローラ７から非常停止原因を検知し、作業者に非常停止原因を報告する。非常停止原因が除去された後、作業者は、操作盤１２を介してシーケンサに復帰を指令する。するとシーケンサ１０は、コンピュータ１１に対してロボット機構の復帰を指令する。そしてコンピュータ１１は、ロボット機構がどのような状態で停止しているのかをロボットコントローラ７から検知し、退避するのに最も適した教示点をいままで加工していた教示点Ｔ（格子点Ｐ）の列（ホストコンピュータ３３で計画されて転送を受けたロボット機構の動作経路データ（教示点Ｔの列データ））の中から選び出し、退避軌道の計画を行う。同時に、作業を再開するときのために同じような方法で復帰軌道の計画を行う。その後、コンピュータ１１は、新たな動作軌道として先ほど計画した退避軌道をロボットコントローラ７に転送する。そしてコンピュータ１１は、ロボットコントローラ７に退避軌道の実行を指令し、ロボットコントローラ７がロボット機構３を退避する。図４は、加工作業を中断させたい場合や非常停止状態からロボット機構３を復帰させたい場合の退避軌道と復帰軌道の計画の方法を説明した図である。ロボット機構３の研削等の動作経路の教示点Ｔは、ホストコンピュータ３３によって干渉チェックが行われて非干渉の格子点Ｐとして、加工対象物の被加工面（羽根車１の羽根面）上に定義されている。図中のＴｏは初期状態の教示点、Ｔａは３次元自由曲面を有する被加工面の上空に定義された点、Ｔ１からＴ１２までは、被加工面上の点である。被加工面が特に狭隘部または角部の中にあるときは、ロボット機構が被加工面に到達するときに不用意に接触しないように複数の点を適切に教示することが必要である。通常、ロボット機構３の手先部（ツール）は、ＴｏからＴａを通り、Ｔ１から順番にＴ１２までを移動して加工を行った後、Ｔ１２−Ｔ１１−Ｔ１０−Ｔ９−Ｔ８−Ｔ１と通り、Ｔａを通ってＴｏに戻る。ここで、Ｔ６付近を加工しているときに作業中断要求があったとする。すると、ロボット機構３は、Ｔ７で加工を中断し、ホストコンピュータ３３で計画されて転送を受けたロボット機構の動作経路データ（教示点Ｔの列データ）に基づいてコンピュータ１１によって独自に計画されたＴ７−Ｔ８−Ｔ１−Ｔａ−Ｔｏを通る退避軌道に沿ってロボットコントローラ７からの制御によって動作を行う。その後作業を再開するときには、ロボット機構３は、前記コンピュータ１１によって独自に計画したＴｏ−Ｔａ−Ｔ１−Ｔ８−Ｔ７を通る復帰軌道に沿ってロボットコントローラ７からの制御によって実行した後、加工作業を再開する。非常停止からの退避軌道や復帰軌道も同様にしてホストコンピュータ３３で計画されて転送を受けたロボット機構の動作経路データ（教示点Ｔの列データ）に基づいてコンピュータ１１によって計画される。例えばこのとき、Ｔ１１付近で退避軌道を計画しなければならないとき、コンピュータ１１は、Ｔ１１−Ｔ７−Ｔ１−Ｔａ−Ｔｏなど、何らかの法則によりホストコンピュータ３３において干渉チェックが行われた教示点Ｔの列の中から選択して軌道を計画すればよい。特に干渉チェックが行われていない点を使用したい場合には、コンピュータ１１は、なんらかの形でロボット機構３が加工対象物１と干渉しないことを確認することが必要である。以上説明したように、コンピュータ１１は、ロボット機構３が加工対象物１と干渉しない範囲で、再短距離の退避軌道や復帰軌道を自動的に計画するので、操作盤１２によるロボット機構３に対する作業の中断、作業の再開を指示、または非常時の作業の中止、作業の再開を非常に円滑に行うことができる。
【００９８】
次に加工対象物１へのツール６の焼き付きを防止するための実施例について説明する。即ち、図７は、研削等の被加工面の温度を検出してコンプライアンス制御手法の制御変数を調整することを羽根断面上で説明した図である。３次元自由曲面を有する被加工面の温度を検出するセンサ（例えば、赤外線温度計、放射温度計等）２４を手先部４（例えばツール６の先）に設置して被加工面の温度を計測し、温度計測値をコンピュータ１１に転送する。コンピュータ１１は、温度計測値を解析して焼き付きが発生しそうな温度であると判断した場合には、押しつけ力が小さくなるようにコンプライアンス制御における制御変数の修正値を算出し、該制御変数の修正値を、ロボットコントローラ７に転送する。ロボットコントローラ７は修正された制御変数により直ちにロボット機構３のツール６に対してコンプライアンス制御を行い、ツール６による被加工面の焼き付きを防ぐ。なお、被加工面の温度を測定するセンサ２４をロボット機構の手先部４に設置したのは、ツール６の加工経路に追従させて、ツールと加工対象物との間の接触点近傍の温度を比較的正確に計測してツール６による被加工面の焼き付きを防止して仕上がり精度の優れた加工を実現することができる。
次にロボットシステム作業計画部２４０とロボットシステム制御部２４２の間にメモリを共有する手段２４１を設置して、大量のデータを高速に転送する実施例について図２１を参照して説明する。加工対象物が羽根車のように、３次元自由曲面を有して複雑な形状した多数の羽根に対して、ロボット機構３による研削等の加工作業を行う場合、溶接作業やバリ取り作業と異なり、作業対象の加工する経路を、線ではなく面で計画しなければならないため、ロボットシステム制御部（ロボットコントローラ７）２４０で大量のデータを高速に処理する必要がある。よって、今までの、ロボットシステム制御部（ロボットコントローラ７）２４２の内部の限られた容量の記憶手段や、ロボットシステム作業計画部（ホストコンピュータ３３またはコンピュータ１１）２４０からシリアル通信でデータをロボットシステム制御部２４２に転送するのでは、能力に不足する問題があった。よって本発明では、入出力手段が２回線設置された読み書き可能な半導体メモリ（ＤｕａｌＰｏｒｔＲＡＭ）２４１を設置することによって、ロボットシステム作業計画部２４０からもロボットシステム制御部２４２からも自らの半導体メモリに読み書きするのと同じ速度でＤｕａｌＰｏｒｔＲＡＭ２４１に読み書きできるようにして、ロボットシステムの動作データ（動作経路データ）２４１１やロボットシステムの制御変数（被加工面の形状に応じた加工速度ｖ及び最適倣い速度ｖf と、設定された押しつけ力ｆR と、仮想係数（仮想質量［Ｍ］、仮想粘性係数［Ｃ］）、ｒG ,ｒR 等）２４１２などの大量のデータを高速に転送することを実現している。具体的には、ロボットシステム作業計画部２４０は、図１や図２に示されるホストコンピュータ３３またはコンピュータ１１に、ロボットシステム制御部２４２は図１や図２に示されるロボットコントローラ７に、ロボットシステムは図１や図２に示される、ロボット機構３、力センサ２、ツール６、走行ユニット９、ポジショナ８、ツール交換装置用台座１３、ツール交換装置用電磁弁１４に対応する。
【００９９】
図２２は、ロボット機構３による羽根車１の加工手順を説明した図である。羽根車１は、気体または液体または固体またはそれらを組み合わせたものに使用される羽根を１枚か複数枚有したものを対象とするものである。羽根車１は、複雑な３次元自由曲面形状の羽根が重なり合うように構成されている。よって、切削や研削の加工を行うためには、羽根表面上に適切に倣い、羽根同士が重なりあった部分に潜り込んで加工しなければならない。そこで、本発明は、ロボット機構３でこれらの切削や研削の加工を行うために、羽根車１の設計変数（羽根車の種類）を入力手段４０で入力することにより、ホストコンピュータ３３またはコンピュータ１１において、羽根車の種類毎の羽根車の設計モデル（３次元モデル）に基づいて、ツール及びロボット機構の手先部近傍の干渉チェックとロボット機構の稼働範囲のチェックとを行ってポジショナと走行ユニットとによって羽根車とロボット機構との間の相対的位置・姿勢関係を決定しながら、ロボットシステムの動作用データ（動作経路データ等）を自動で作成して計画し、更にコンピュータ１１において、実際の羽根車１の位置誤差（設置誤差）や形状誤差を測定して該測定された位置誤差（設置誤差）や形状誤差を上記羽根車の設計モデルまたはロボットシステムの動作用データ（動作経路データ等）に対して補正して、最終のロボットシステムの動作用データ（動作経路データ等）を作成して計画することにある。そして、本発明は、ロボットコントローラ７は、計画された最終のロボットシステムの動作用データ（動作経路データ等）に基づいて、例えば、外力を検出する手段と速度または位置を検出する手段と備えたロボット機構３の手先部に取り付けたツール６をコンプライアンス制御させることによって、実際の羽根車１を、干渉させることなく、仕上がり精度が優れた研削加工を実現することにある。また、本実施例によれば、羽根車１のみならず、３次元自由曲面をした、鋳造品、引き抜き加工品、圧延加工品、焼結加工品などの切削等の加工作業に適用することができる。
【０１００】
【発明の効果】
本発明によれば、３次元自由曲面形状の作業対象物に対してロボット機構に力制御機能（コンプライアンス制御機能）をもたせてロボット機構の手先部に取付けられた作業工具により倣い作業または周期的に接触して作業する場合における作業計画（特に動作経路及び接触角、その他コンプライアンス制御変数（押付力、倣い速度、運動モデル））を、作業工具及びロボット機構の手先部が作業対象物と干渉することなく、容易に、効率良く作成することができ、その結果前記作業対象物に対してロボット機構に対して最適なコンプライアンス制御を行って作業工具による高精度の加工等の作業を実現することができる効果を奏する。
【０１０１】
また本発明によれば、３次元自由曲面形状の作業対象物に対してロボット機構に力制御機能（コンプライアンス制御機能）をもたせてロボット機構の手先部に取付けられた作業工具により倣い作業または周期的に接触して作業する場合における作業計画の内、最適倣い速度ｖを、力検出手段に印加できる許容力ｆs または許容モーメントｍs や作業対象物の曲率などを用いて設定できるようにして、工具の作業対象物に対する効率の良い倣い作業を実現することができる効果を奏する。
また本発明によれば、３次元自由曲面形状の作業対象物に対してロボット機構に力制御機能（コンプライアンス制御機能）をもたせてロボット機構の手先部に取付けられた作業工具により倣い作業または周期的に接触して作業する場合において、前記作業対象物とロボット機構との間において高精度の相対的位置決めを実現し、更に作業対象物に位置誤差や形状誤差がある場合においても工具を作業対象物に適切な状態で倣わせて加工等の作業を実現することができる効果を奏する。
【０１０２】
また本発明によれば、３次元自由曲面形状の作業対象物に対してロボット機構に力制御機能（コンプライアンス制御機能）をもたせてロボット機構の手先部に取付けられた作業工具により倣い作業または周期的に接触して作業する場合において、任意の時点において作業を中断し、任意の時点において作業を再開することができ、しかも非常停止状態からの復帰動作（ロボット機構の手先部を自動で退避して初期状態に戻す機能が不可欠である。）を自動で行うことができる効果を奏する。
また本発明によれば、３次元自由曲面形状の作業対象物の狭隘部または角部に対してロボット機構に力制御機能（コンプライアンス制御機能）をもたせてロボット機構の手先部に取付けられた作業工具により倣い作業または周期的に接触して作業する場合において、ロボット機構の姿勢変化を小さく抑えて作業計画をたてることにより、作業工具が作業対象物に干渉することなく、より広範囲に亘って円滑な作業を実現することができる効果を奏する。
【０１０３】
また本発明によれば、３次元自由曲面形状の加工対象物に対してロボット機構に力制御機能（コンプライアンス制御機能）をもたせてロボット機構の手先部に取付けられた研削又は研磨工具により倣い研削又は研磨加工する場合において、研削又は研磨工具の加工対象物へに焼き付きを防止して高精度の加工を実現することができる効果を奏する。
また本発明によれば、３次元自由曲面形状の加工対象物に対してロボット機構に力制御機能（コンプライアンス制御機能）をもたせてロボット機構の手先部に取付けられた研削又は研磨工具により倣い研削又は研磨加工する場合において、研削傷または研磨傷、即ち砥石目の跡を残さないようにして高精度の研削または研磨加工を実現することができる効果を奏する。
【図面の簡単な説明】
【図１】本発明に係わるロボットシステム、その作業計画部及びその制御部からなる全体の概略構成を示した図である。
【図２】本発明に係わるロボットシステムの制御系のブロックダイアグラムである。
【図３】本発明に係わるロボット機構の動作経路補正について説明するために加工対象物である羽根の断面を示した図である。
【図４】本発明に係わる研削等の加工作業を中断させたい場合や非常停止状態からロボットを復帰させたい場合において、ロボット機構の動作軌道の計画方法を説明するための図である。
【図５】本発明に係わる加工対象物をロボット機構により研削等の加工を行うためのツールの姿勢を設定する方法を説明するための図である。
【図６】本発明に係わる加工対象物の狭隘部または角部をロボット機構により研削等の加工をするときロボット機構と加工対象物が干渉しにくいツールの姿勢を設定する方法を説明した図である。
【図７】本発明に係わるツールによる被加工面への焼き付きを防ぐ実施例を羽根車断面で示した図である。
【図８】本発明に係わる力センサの検出能力からロボット機構の動作速度を設定することについて、ツールの作業モデルを用いて説明した図である。
【図９】本発明に係わるロボット機構の動作経路データを作成する方法について、羽根車の３次元モデルを分割した格子点列とロボット機構のツールとの位置関係を示した図である。
【図１０】本発明に係わる格子点Ｐ０における羽根法線ベクトルＮと研削方向ベクトルＶとを示した図である。
【図１１】本発明に係わるロボット機構の動作経路を作成する際、砥石の最適な接触角を算出するために、実験により平面から形成された研削面を砥石によって研削する状態を示した側面図である。
【図１２】図１１に示す実験研削によって得られる砥石接触角αと研削幅Ｋと研削深さΔｔとの関係を示す図である。
【図１３】本発明に係わるロボット機構の動作経路を作成する際、砥石の最適な接触角を算出するための、３次元自由曲面で形成された研削面に対して砥石を接触させる状態を示した側面図である。
【図１４】図１３と同様に平面で形成された研削面と３次元自由曲面で形成された研削面との間において、研削面と砥石との間の接触状態を示す図である。
【図１５】図１４（ｂ）を拡大して示した図である。
【図１６】本発明に係わるロボット機構の動作経路を作成する際、研削ツール及びロボット手首に対して近似して設定される直方体と円柱の集合からなる立体図形を示す図である。
【図１７】本発明に係わるロボット機構の動作経路を作成する際、直方体に近似されたロボット機構のモデルまたは研削ツールの一部のモデルと加工対象物の３次元モデルとの間において行う干渉チェックを説明するための図である。
【図１８】本発明に係わるロボット機構の動作経路を作成する際、円柱（円筒体）に近似されたロボット機構のモデルまたは研削ツールの一部のモデルと加工対象物の３次元モデルとの間において行う干渉チェックを説明するための図である。
【図１９】本発明に係わるロボット機構の動作経路を作成する際、加工対象物の３次元モデル上において、非干渉領域と干渉領域との境界において、格子点間隔を細かくして詳細に干渉チェックを行うことを説明するための図である。
【図２０】本発明に係わるロボット機構の動作経路を作成する際、加工対象物の３次元モデル上に格子点間隔を設定することを示す図である。
【図２１】本発明に係わるコンピュータにおいてロボット機構の動作経路を作成する手順をフローチャートで示した図である。
【図２２】本発明に係わるコンピュータにおいてロボット機構の動作経路を作成する際、ロボット機構のモデルと加工対象物の３次元モデルとの間で行われる干渉チェックの手順をフローチャートで示した図である。
【図２３】本発明に係わるコンピュータにおいてロボット機構の動作経路を作成する際、ポジショナと走行ユニットの値の組合せを決定する手順をフローチャートで示した図である。
【図２４】本発明に係わるデータ転送において作業計画部と制御部の間にメモリを共有する手段を設置して大量のデータを高速に転送することを説明するための図である。
【図２５】本発明に係わるコンピュータにおいて羽根車の設計変数（種類）を指定するところからロボット機構の動作経路を作成する手順を簡単に示したフローチャート図である。
【図２６】本発明に係わるコンピュータにおいてロボット機構の動作経路を作成する手順の内、初めの部分を詳細に示したフローチャート図である。
【図２７】本発明に係わるコンピュータにおいてロボット機構の動作経路を作成する手順の内、中間の部分を詳細に示したフローチャート図である。
【図２８】本発明に係わるコンピュータにおいてロボット機構の動作経路を作成する手順の内、終りの部分を詳細に示したフローチャート図である。
【図２９】本発明に係わるホストコンピュータの構成を示す図である。
【図３０】本発明に係わるコンピュータ、ロボットコントローラ及びシーケンサの処理、制御に基づく加工作業の準備とその後のコンプライアンス制御に基づく加工作業の流れを簡単に示したフローチャート図である。
【符号の説明】
１…羽根車（加工対象物）、２…力センサ、３…ロボット機構
４…ツール交換装置、５…触針、６…ツール（グラインダ）
７…ロボットコントローラ、８…ポジショナ、９…走行ユニット（走行軸）
１０…シーケンサ、１１…コンピュータ、１２…操作盤
１５…Ａ／Ｄ変換器
２４…温度センサ、２５…ツール重心、３１…ネットワーク
３２…ハードディスク（データベース）、３３…ホストコンピュータ
４０、４１…入力手段、３０１…ＣＰＵ、３０２…メモリ
３０５…ディスプレイ
２４０…ロボットシステム計画部、２４１…Ｄｕａｌ  Ｐｏｒｔ  ＲＡＭ
２４２…ロボットシステム制御部
【図１】
0003670700.tif 000013
【図２】
0003670700.tif 000014
【図３】
0003670700.tif 000015
【図４】
0003670700.tif 000016
【図５】
0003670700.tif 000017
【図６】
0003670700.tif 000018
【図７】
0003670700.tif 000019
【図８】
0003670700.tif 000020
【図９】
0003670700.tif 000021
【図１０】
0003670700.tif 000022
【図１１】
0003670700.tif 000023
【図１２】
0003670700.tif 000024
【図１３】
0003670700.tif 000025
【図１４】
0003670700.tif 000026
【図１５】
0003670700.tif 000027
【図１６】
0003670700.tif 000028
【図１７】
0003670700.tif 000029
【図１８】
0003670700.tif 000030
【図１９】
0003670700.tif 000031
【図２０】
0003670700.tif 000032
【図２１】
0003670700.tif 000033
【図２２】
0003670700.tif 000034
【図２３】
0003670700.tif 000035
【図２４】
0003670700.tif 000036
【図２５】
0003670700.tif 000037
【図２６】
0003670700.tif 000038
【図２７】
0003670700.tif 000039
【図２８】
0003670700.tif 000040
【図２９】
0003670700.tif 000041
【図３０】
0003670700.tif 000042