(57)【特許請求の範囲】
【請求項１】
コンピュータに実行させて作成し、被洗浄物の空洞部に開口部から洗浄ランスを洗浄軸線に沿って挿入し前記空洞部に設定された洗浄目標に対して噴流を噴出して前記空洞部内を洗浄する洗浄ランスの制御プログラムの作成方法であって、
前記コンピュータの演算処理装置が、
前記コンピュータの記憶装置に格納された前記被洗浄物および前記空洞部を表す被洗浄物モデル、前記洗浄目標の位置を示す衝突位置データ、前記洗浄ランスの形状を表す洗浄ランスモデル、並びに前記洗浄ランスから噴出する噴流を表す噴流モデルを参照して、
前記噴流が衝突位置に衝突する、前記洗浄軸線上における前記洗浄ランスの目標位置座標Ｐiを下記の式１によって演算する洗浄目標位置演算ステップと、
前記洗浄ランスが前記開口部を通って前記目標位置座標Ｐiまで進入するように当該洗浄ランスの移動経路を作成する制御プログラム作成ステップと、
を実行することを特徴とする制御プログラムの作成方法。
Ｐi＝Ｚi＋Ｒi／ｔａｎθ                                ・・・式１
ここで、Ｚi：前記被洗浄モデルにおける前記洗浄目標の衝突位置座標
Ｒi：前記洗浄軸線から前記洗浄目標までの距離
θ：前記噴流モデルにおける前記洗浄軸線と前記噴流とのなす噴出角度
【請求項２】
前記洗浄軸線において、前記目標位置座標Ｐiから所定長さ（Ｌ３）だけ前記空洞部内にさらに進入した位置を挿入折り返し位置として設定する挿入折り返し位置設定ステップを含み、
前記制御プログラム作成ステップにおいて、前記洗浄ランスが前記開口部を通って前記挿入折り返し位置まで前記空洞部に進入し、当該挿入折り返し位置から前記開口部の方へ引戻すように当該洗浄ランスの移動経路を作成すること、
を特徴とする請求項１に記載の制御プログラムの作成方法。
【請求項３】
請求項１に記載の制御プログラムの作成方法であって、
前記洗浄軸線を設定する洗浄軸線設定ステップをさらに含み、
前記洗浄軸線設定ステップでは、前記演算処理装置が、前記洗浄軸線方向から見た前記空洞部を表す図心を通過するように前記洗浄軸線を設定すること、
を特徴とする制御プログラムの作成方法。
【請求項４】
請求項２に記載の制御プログラムの作成方法であって、
前記洗浄軸線を設定する洗浄軸線設定ステップをさらに含み、
前記洗浄軸線設定ステップでは、前記演算処理装置が、前記洗浄軸線方向から見た前記空洞部を表す図心を通過するように前記洗浄軸線を設定すること、
を特徴とする制御プログラムの作成方法。
【請求項５】
請求項４に記載の制御プログラムの作成方法であって、
前記洗浄軸線設定ステップでは、前記図心は、前記開口部から前記挿入折り返し位置までの間における前記空洞部の最も狭い当該空洞部を表す図心を通過するように前記洗浄軸線を設定すること、
を特徴とする制御プログラムの作成方法。
【請求項６】
請求項２に記載の制御プログラムの作成方法であって、
前記空洞部は、予め設定された空洞終端部を有し、
前記演算処理装置は、
前記洗浄軸線において前記空洞終端部の位置と前記洗浄ランスモデルに基づいて前記洗浄ランスの挿入限界位置を演算する挿入限界位置演算ステップと、
前記挿入折り返し位置と前記挿入限界位置とを比較する折り返し位置比較ステップと、
前記折り返し位置比較ステップにおいて前記挿入折り返し位置が前記挿入限界位置よりも前記空洞終端部に近い場合には、当該挿入折り返し位置を前記挿入限界位置と同じ位置または当該挿入限界位置と前記洗浄ランスの目標位置座標Ｐiとの間の位置に変更する折り返し位置変更ステップと、
をさらに含んで実行することを特徴とする制御プログラムの作成方法。
【請求項７】
請求項１ないし請求項６のいずれか１項に記載の制御プログラムの作成方法であって、
前記演算処理装置は、
前記空洞部が、前記洗浄軸線を中心として回転させて得られる回転形状である場合には、
前記洗浄軸線から前記洗浄目標までの距離Ｒiを式２によって演算することを特徴とする制御プログラムの作成方法。
Ｒi＝Ｒ2＋（Ｚi−Ｚ2）／ｔａｎφ      ・・・式２
ここで、Ｒ2：前記開口部の半径
Ｚ2：前記開口部の位置座標
Ｚi：前記衝突位置座標
φ：前記空洞部の壁面のテーパ角度
【請求項８】
請求項２、請求項４、請求項５または請求項６に記載の制御プログラムの作成方法であって、
前記被洗浄物モデルは、前記洗浄目標を含むように設定された特定範囲を有し、
前記演算処理装置は、前記制御プログラム作成ステップにおいて、前記特定範囲に対しては、前記洗浄ランスの前記開口部から前記挿入折り返し位置までの移動経路における他の範囲よりも前記洗浄ランスを低速で移動または一時停止させる制御プログラムを作成すること、
を特徴とする制御プログラムの作成方法。
【請求項９】
請求項８に記載の制御プログラムの作成方法であって、
前記演算処理装置は、前記制御プログラム作成ステップにおいて、前記特定範囲の前記開口部側の限界点に対する前記洗浄ランスの前記目標位置座標Ｐiである上限位置と、前記特定範囲の前記開口部とは反対側の限界点に対する前記洗浄ランスの前記目標位置座標Ｐiである下限位置と、を求め、前記上限位置と前記下限位置との間の区間では、前記洗浄ランスを前記低速で移動させる制御プログラムを作成すること、
を特徴とする制御プログラムの作成方法。
【請求項１０】
ＣＡＭシステムであって、
請求項１に記載の制御プログラムの作成方法を実行させるための命令を記憶する命令記憶手段と、
前記被洗浄物および前記空洞部を表す被洗浄物モデルを記憶する被洗浄物モデル記憶手段と、前記洗浄目標の位置を示す衝突位置データを記憶する衝突位置データ記憶手段と、前記洗浄ランスの形状を表す洗浄ランスモデルを記憶する洗浄ランスモデル記憶手段と、前記洗浄ランスから噴出する噴流を表す噴流モデルを記憶する噴流モデル記憶手段と、を有するデータ記憶手段と、
前記洗浄目標位置演算ステップを実行する洗浄目標位置演算手段と、
前記制御プログラム作成ステップを実行する制御プログラム作成手段と、
前記演算処理装置に結合され、前記命令記憶手段およびデータ記憶手段にアクセス可能なグラフィカルユーザインターフェースを有する表示装置と、
前記命令記憶手段およびデータ記憶手段に結合された入力装置と、
を備えたことを特徴とするＣＡＭシステム。
【請求項１１】
請求項１０に記載のＣＡＭシステムであって、
前記洗浄軸線において、前記目標位置座標Ｐiから所定長さ（Ｌ３）だけ前記空洞部内にさらに進入した位置を挿入折り返し位置として設定する挿入折り返し位置設定ステップを実行する挿入折り返し位置設定手段をさらに備え、
前記制御プログラム作成手段は、前記洗浄ランスが前記開口部を通って前記挿入折り返し位置まで前記空洞部に進入し、当該挿入折り返し位置から前記開口部の方へ引戻すように当該洗浄ランスの移動経路を作成すること、
を特徴とするＣＡＭシステム。
【請求項１２】
請求項１０または請求項１１に記載のＣＡＭシステムであって、
前記洗浄軸線を設定する洗浄軸線設定手段をさらに含み、
前記洗浄軸線設定手段は、前記洗浄軸線方向から見た前記空洞部を表す図心を通過するように前記洗浄軸線を設定すること、
を特徴とするＣＡＭシステム。
【請求項１３】
プログラムであって、請求項１ないし請求項９のいずれか１項に記載の制御プログラムの作成方法を前記コンピュータに実行させるためのプログラム。
【請求項１４】
記録媒体であって、請求項１３に記載のプログラムが記憶されているコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御プログラムの作成方法、ＣＡＭシステム、制御プログラム、および記録媒体に関し、特に、洗浄ランスの移動経路を作成する制御プログラムの作成方法、ＣＡＭシステム、制御プログラム、および記録媒体に関する。
【背景技術】
【０００２】
液体を高圧に昇圧し、被加工物に対向するノズルから噴出する洗浄装置がある。この種の洗浄装置において、ノズルをＸＹＺ軸を持つ移動装置に配設し、被洗浄物をジグに固定し、移動装置がノズルを被加工物のねじ穴、交差穴、フライス切削部のエッジ（以下、「洗浄対象部位」という。）に沿って移動させることで、洗浄対象部位に残存するバリ、切りくずその他の異物を除去することが開示されている（例えば特許文献１）。
液体の噴流が被加工物表面に接触すると、噴流は、被洗浄物表面のうち、接触した部位の表面に沿って、流れの方向を変化させる。このとき、噴流と被洗浄物表面の接触した部位に残存するバリ、切りくずその他の異物は、噴流の動圧を受けて除去される。
【０００３】
上述の洗浄装置では、被加工物の全面に液体噴流を当てることが望ましい。しかし、一般的には、洗浄時間が限られているため、得られるべき洗浄効果に基づいて、洗浄対象部位を選別する。そして、選別した結果に応じて移動装置の移動プログラムを作成する。このような洗浄装置においては、ノズルの軌跡の選択が加工結果及び洗浄バリ取り効果に大きな影響を及ぼす。
【０００４】
ノズルの軌跡は、被洗浄物に対して、洗浄装置をハンドル等により移動させて位置座標を記憶するか、又は被洗浄物の基準点からのノズルの座標を手計算して、プログラムを作成する方法が取られてきた。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平８−９０３６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、洗浄装置をハンドル等により移動させて位置座標を記憶する方法によれば、ノズル位置の割り出しは不正確にならざるを得ない。また、ノズル座標の計算は、噴流の噴出方向を図示し、幾何学に基づいて行うため、困難であった。
特に、被洗浄物の空洞部（洗浄ランス挿入部）に、洗浄ランスを挿入する場合の位置座標の演算が難しかった。洗浄ランスが、軸体から斜めに洗浄液を噴出する場合や、挿入される空洞部が鋳抜き穴等の不定形穴である場合に、洗浄ランスの挿入プログラムを作成することが難しかった。本発明は、コンピュータを用いて、洗浄ランスを被洗浄物の空洞部に挿入する制御プログラムを容易に作成することを課題とする。
【課題を解決するための手段】
【０００７】
上記課題に鑑みて、本発明の制御プログラムの作成方法は、コンピュータに実行させて作成し、被洗浄物の空洞部に開口部から洗浄ランスを洗浄軸線に沿って挿入し前記空洞部に設定された洗浄目標に対して噴流を噴出して洗浄する洗浄ランスの制御プログラムの作成方法であって、前記コンピュータの演算処理装置が、前記コンピュータの記憶装置に格納された前記被洗浄物および前記空洞部を表す被洗浄物モデル、前記洗浄目標の位置を示す衝突位置データ、前記洗浄ランスの形状を表す洗浄ランスモデル、並びに前記洗浄ランスから噴出する噴流を表す噴流モデルを参照して、前記洗浄目標に対する前記洗浄軸線上における前記洗浄ランスの目標位置座標Ｐｉを下記の式１によって演算する洗浄目標位置演算ステップと、前記洗浄ランスが前記開口部を通って前記目標位置座標Ｐｉまで進入するように当該洗浄ランスの移動経路を作成する制御プログラム作成ステップと、を実行することを特徴とする制御プログラムの作成方法。
Ｐｉ＝Ｚｉ＋Ｒｉ／ｔａｎθ                                ・・・式１
ここで、Ｚｉ：前記被洗浄モデルにおける前記洗浄目標の位置座標
Ｒｉ：前記洗浄軸線から前記洗浄目標までの距離
θ：前記噴流モデルにおける前記洗浄軸線と前記噴流とのなす噴出角度
【０００８】
ここで、「洗浄」とは、噴流による洗浄又は噴流によるバリ取り等の加工を包括する意味で用いる。
上記構成によれば、演算処理装置は、空洞部の洗浄対象箇所を、噴流の中心軸が通過するように、洗浄軸線上における洗浄ランスの目標位置座標（高さ）を決定できる。したがって、上記構成では、ユーザが指定した洗浄対象箇所に噴流を当てるための制御プログラムを、コンピュータを用いて容易に、正確に作成できる。
【０００９】
本発明の制御プログラムの作成方法は、前記洗浄軸線において、前記目標位置座標Ｐｉから所定長さ（Ｌ３）だけ前記空洞部内にさらに進入した位置を挿入折り返し位置として設定する挿入折り返し位置設定ステップを含み、前記制御プログラム作成ステップにおいて、前記洗浄ランスが前記開口部を通って前記挿入折り返し位置まで前記空洞部に進入し、当該挿入折り返し位置から前記開口部の方へ引戻すように当該洗浄ランスの移動経路を作成することが好ましい。
【００１１】
本発明の制御プログラムの作成方法において、前記洗浄軸線を設定する洗浄軸線設定ステップをさらに含み、前記洗浄軸線設定ステップでは、前記演算処理装置が、前記洗浄軸線方向から見た前記空洞部を表す図心を通過するように前記洗浄軸線を設定すること、が好ましい。
【００１２】
上記構成によれば、演算処理装置が、記憶装置に記憶された被洗浄物の形状データの開口部の形状から、容易に、洗浄軸線を決定できる。このため、ユーザが洗浄軸線を通過する基準点を設定する必要がない。洗浄ランスが挿入される洗浄軸線が、空洞部を表す図心を通過するため、洗浄ランスの挿入姿勢における軸部が空洞部の軸方向とほぼ一致していれば、洗浄ランスは、空洞部のほぼ中央を通って挿入される。
【００１３】
本発明の制御プログラムの作成方法において、前記洗浄軸線設定ステップでは、前記図心は、前記開口部から前記挿入折り返し位置までの間における前記空洞部の最も狭い当該空洞部を表す図心を通過するように前記洗浄軸線を設定すること、が好ましい。
【００１４】
かかる構成によれば、例えば円錐形状等のように開口部又は底面が狭くなっている場合に、洗浄軸線は、開口部又は底面のいずれか狭い方の形状に合わせて適切に設定される。
例えば、空洞部が機械加工又は抜型を用いた鋳造により製作されている場合、空洞部は、開口部から底面に向けて、同一の断面をもつか、開口部からほぼ一定の抜き勾配で底面に向けて徐々に断面が狭くなっている。このような場合に、底面の図心を基準点とすれば、洗浄ランスは、空洞部のほぼ中央を通って挿入される。
【００１５】
本発明の制御プログラムの作成方法において、前記空洞部は、予め設定された空洞終端部を有し、前記演算処理装置は、前記洗浄軸線において前記空洞終端部の位置と前記洗浄ランスモデルに基づいて前記洗浄ランスの挿入限界位置を演算する挿入限界位置演算ステップと、前記挿入折り返し位置と前記挿入限界位置とを比較する折り返し位置比較ステップと、前記折り返し位置比較ステップにおいて前記挿入折り返し位置が前記挿入限界位置よりも前記空洞終端部に近い場合には、当該挿入折り返し位置を前記挿入限界位置と同じ位置または当該挿入限界位置と前記洗浄ランスの目標位置座標Ｐｉとの間の位置に変更する折り返し位置変更ステップと、をさらに含んで実行すること、が好ましい。
【００１６】
上記構成によれば、予め、洗浄ランスが挿入可能な位置を挿入限界位置として演算し、挿入深さが挿入限界位置を超えないよう、演算される。そのため、ユーザが指定し、記憶装置に収納された洗浄箇所を洗浄できるように洗浄ランスの挿入位置を演算したときに、挿入した洗浄ランスが底面に衝突することを防止できる。
【００１７】
記憶装置が洗浄対象部位を記憶し、演算処理装置が記憶装置に収納された洗浄対象物の３次元形状モデルの洗浄対象部位の形状に基づいて目標位置座標Ｐｉを算出し、洗浄対象部位の全域に対応する目標位置座標Ｐｉの範囲を算出するときには、式１に基づいて、洗浄対象部位の周囲の多数の点に対応する座標を演算し、その集合の限界値を求める必要がある。このような演算方法は、演算装置に高い負荷をかける。洗浄対象部位の全周に対する目標位置座標Ｐｉの限界値を容易に求める課題が新たに生ずる。
【００１８】
そこで、本発明の制御プログラムの作成方法において、前記演算処理装置は、前記空洞部が、前記洗浄軸線を中心として回転させて得られる回転形状である場合には、前記洗浄軸線から前記洗浄目標までの距離Ｒｉを式２によって演算することが好ましい。
Ｒｉ＝Ｒ２＋（Ｚｉ−Ｚ２）／ｔａｎφ      ・・・式２
ここで、Ｒ２：前記開口部の半径
Ｚ２：前記衝突位置座標
Ｚｉ：被洗浄物の洗浄目標の位置座標
φ：前記空洞部の壁面のテーパ角度
【００１９】
上記構成によれば、演算処理装置は、空洞部を円筒又は円錐台とみなし、空洞部の開口部の位置及び半径並びに空洞部の壁面のテーパ角度を特定し、洗浄対象部位の存在する範囲の上限位置及び下限位置を決定するだけで、容易に洗浄目標に対する洗浄ランスの目標位置座標Ｐｉを演算できる。
【００２０】
本発明の制御プログラムの作成方法において、前記被洗浄物モデルは、前記洗浄目標を含むように設定された特定範囲を有し、前記演算処理装置は、前記制御プログラム作成ステップにおいて、前記特定範囲に対しては、前記洗浄ランスの前記開口部から前記挿入折り返し位置までの移動経路における他の範囲よりも前記洗浄ランスを低速で移動または一時停止させる制御プログラムを作成すること、が好ましい。
かかる構成によれば、洗浄目標に対して適切な洗浄作業を行うことができる。
【００２１】
本発明の制御プログラムの作成方法において、前記演算処理装置は、前記制御プログラム作成ステップにおいて、前記特定範囲の前記開口部側の限界点に対する前記洗浄ランスの前記目標位置座標Ｐiである上限位置と、前記特定範囲の前記開口部とは反対側の限界点に対する前記洗浄ランスの前記目標位置座標Ｐiである下限位置と、を求め、前記上限位置と前記下限位置との間の区間では、前記洗浄ランスを前記低速で移動させる制御プログラムを作成すること、が好ましい。
【００２２】
本発明は、ＣＡＭシステムであって、請求項１に記載の制御プログラムの作成方法を実行させるための命令を記憶する命令記憶手段と、前記被洗浄物および前記空洞部を表す被洗浄物モデルを記憶する被洗浄物モデル記憶手段と、前記洗浄目標の位置を示す衝突位置データを記憶する衝突位置データ記憶手段と、前記洗浄ランスの形状を表す洗浄ランスモデルを記憶する洗浄ランスモデル記憶手段と、前記洗浄ランスから噴出する噴流を表す噴流モデルを記憶する噴流モデル記憶手段と、を有するデータ記憶手段と、前記洗浄目標位置演算ステップを実行する洗浄目標位置演算手段と、前記制御プログラム作成ステップを実行する制御プログラム作成手段と、前記演算処理装置に結合され、前記命令記憶手段およびデータ記憶手段にアクセス可能なグラフィカルユーザインターフェースを有する表示装置と、前記命令記憶手段およびデータ記憶手段に結合された入力装置と、を備えたＣＡＭシステムとすることが好ましい。
【００２３】
また、前記ＣＡＭシステムは、前記洗浄軸線において、前記目標位置座標Ｐiから所定長さ（Ｌ３）だけ前記空洞部内にさらに進入した位置を挿入折り返し位置として設定する挿入折り返し位置設定ステップを実行する挿入折り返し位置設定手段をさらに備え、前記制御プログラム作成手段は、前記洗浄ランスが前記開口部を通って前記挿入折り返し位置まで前記空洞部に進入し、当該挿入折り返し位置から前記開口部の方へ引戻すように当該洗浄ランスの移動経路を作成すること、が好ましい。
【００２４】
また、前記ＣＡＭシステムにおいて、前記洗浄軸線を設定する洗浄軸線設定手段をさらに含み、前記洗浄軸線設定手段は、前記洗浄軸線方向から見た前記空洞部を表す図心を通過するように前記洗浄軸線を設定すること、が好ましい。
【発明の効果】
【００２５】
本発明によれば、洗浄ランスを被洗浄物の空洞部に挿入する制御プログラムを容易に作成できる。
【図面の簡単な説明】
【００２６】
【図１】本発明の第１実施形態の洗浄装置を表す斜視図である。
【図２】本発明の第１実施形態の洗浄ランスを表す斜視図である。
【図３】本発明の第１実施形態における、洗浄ランスを空洞部に挿入する模式図である。
【図４】本発明の第１実施形態のＣＡＭシステムの装置構成を示すブロック図である。
【図５】本発明の第１実施形態の表示装置の代表的なＧＵＩを示す。
【図６】本発明の第１実施形態の洗浄プログラムの作成手順を表すフローチャートである。
【図７】本発明の第１実施形態の洗浄洗浄ランスの位置座標の算出方法を表す模式図である。
【図８】本発明の第２実施形態における、洗浄ランスを空洞部に挿入する模式図である。
【図９】本発明の第２実施形態の洗浄ランスの位置座標の算出方法を示す模式図である。
【図１０】本発明の第３実施形態における、洗浄ランスの位置座標の算出方法を示す模式図である。
【発明を実施するための形態】
【００２７】
「第１実施形態」
〈制御プログラムの制御対象装置〉
図１を参照して、本発明の実施形態に係る洗浄ランスの制御プログラムが使用される制御対象となる洗浄装置１０について説明する。
洗浄装置１０は、本発明の実施形態に係る制御プログラムを使用して洗浄ランス２５を移動経路に沿って移動させながら被洗浄物１７を洗浄する装置である。
洗浄装置１０は、数値制御されてＸＹＺ方向に自在に移動できるクイル１１と、クイル１１に設けられるタレット１２と、タレット１２のタレット面にそれぞれスピンドル部１３と共に取り付けられるノズル２１、２３、２５を備えている。ノズル２１、２３、２５の内、下向きに割出した一つの洗浄ランス２５は、Ｃ軸方向に連続回転でき、その回転角度を位置決めできる。また、洗浄装置１０は、被洗浄物１７を戴置する戴置台１６を備えている。戴置台１６は、被洗浄物１７を戴置した状態でＡ軸方向に自在に回転角度を位置決めできる。
【００２８】
洗浄装置１０は、クイル１１の位置座標、戴置台１６の回転角度、ノズル２１、２３、２５の割出角度、又はノズル２１、２３、２５の回転速度をコンピュータ制御することにより、ノズル２１、２３、２５の内、下向きに割出したノズル（図１では洗浄ランス２５）を被洗浄物１７に対向させる。そして、下向きに割出したノズルから被洗浄物１７に向けて洗浄液を噴射することで、被洗浄物１７に洗浄液の噴流３１を当てる。被洗浄物１７の、洗浄が必要な個所に噴流３１が当たることで、その箇所に付着した異物やバリを除去する。
【００２９】
なお、ノズルの取付け個数、タレット面に取り付けられるノズルの種類は適宜変更できる。また、一つのタレット面に複数のノズルを回転又は回転角度の割り出しができるように取付けても良い。
【００３０】
図２を参照して、洗浄ランス２５について説明する。洗浄ランス２５は、スピンドル部１３の先端に回転可能に取り付けられる。洗浄ランス２５は、スピンドル部１３から洗浄液を供給される。洗浄ランス２５は、フランジ２９と、Ｚ方向に延びる軸部２５ａと、を備えている。軸部２５ａの噴孔２７から、噴射する方向が軸方向からθ１の角度をもって棒状の噴流３５を噴出する。角度θ１は、０°から１５０°までが主に利用される。軸部２５ａは、複数の噴流３５によるＸＹ方向の反力を打ち消すように噴口を備えることができる。洗浄ランス２５は、スピンドル部１３を回転させることで回転軸１４を中心に回転できる。洗浄ランス２５の移動経路である経路５３を作成する際の、洗浄ランス２５の位置座標の基準点２６は、回転軸１４と、噴流３５の中心軸１５との交点で与えられる。ここで、基準点２６と先端点２５ｃとの距離を距離Ｌとする。基準点２６を、上述のように決定することで、洗浄ランス２５の座標演算が容易になる。
【００３１】
図３を参照して、洗浄装置１０で洗浄される被洗浄物１７および洗浄ランス２５の使用方法について、被洗浄物１７に形成された空洞部（洗浄ランス挿入部）５４を対象として説明する。
空洞部５４は、一般的には、ドリル加工やボーリング加工等の切削加工によって形成された円柱形状をなした穴（貫通穴や有底穴）、又は鋳造によって形成された円錐台形状の穴（有底のテーパ穴）である。本実施形態においては円形の開口部５６に対して、空洞終端部である底面５７が同軸に形成された有底のテーパ穴の空洞部５４を対象として説明する。
なお、本実施形態においては、底面５７を有する空洞部５４について説明するが、底面５７に限定されるものではなく、空洞部５４の軸方向における中間位置に形成されたテラス状の段部、開口部５６の反対側の開口部等であってもよい。
【００３２】
空洞部５４は、被洗浄物１７の表面５５に広がる開口部５６から内面に向かって延在している。空洞部５４に対して、横方向から交差するように孔５８が貫通している。空洞部５４及び孔５８が切削加工等によって形成されるときに、空洞部５４と孔５８との交差部にバリが生じ、孔５８、空洞部５４内に切りくず、油汚れ、搬送時に付着した繊維その他の異物が残留する。この交差部等の、洗浄が必要となる部位を、洗浄目標である洗浄対象部位６１と呼ぶ。洗浄装置１０は、噴流３５を噴出し、回転している洗浄ランス２５を、空洞部５４内に挿入して、空洞部５４内のバリ又は異物を除去する。
【００３３】
洗浄ランス２５は、空洞部５４内では洗浄軸線６２に沿って移動する。洗浄軸線６２に沿う方向の洗浄ランス２５の移動経路を経路５３という。洗浄ランス２５は、空洞部５４の上空まで早送り移動し、空洞部５４の上空から空洞部５４内を洗浄軸線６２に沿って経路５３を進み、所定の折り返し位置６５Ｂ（図７参照）から引き戻すように移動する。
【００３４】
洗浄ランス２５の用途について説明する。洗浄ランス２５が回転しながら空洞部５４内を洗浄軸線６２に沿って移動すると、噴流３５が空洞部５４の壁面に沿って衝突する軌跡は、螺旋状に描かれる。描かれる螺旋８３のピッチは、送り速度が大きくなれば広く、小さくなれば狭くなる。洗浄対象部位６１に対応する壁面の範囲（以後、「洗浄範囲５１」という。）を低速に制御送りすることで、噴流３５が空洞部５４の壁面に密に衝突する。このため、洗浄対象部位６１に付着した異物又はバリがむらなく除去される。洗浄軸線６２に沿って移動する経路５３において、低速の制御送りを波線（経路５３ｂ）で表す。それ以外の部分は実線（経路５３ａ）で表す。
【００３５】
なお、洗浄ランス２５は、回転軸１４（図２参照）に沿って回転せずに挿入されても良い。この場合、洗浄範囲５１において、洗浄ランス２５の送り速度を適切な速度（割り当て速度）に制御する。具体的には、洗浄範囲５１以外の部分については、洗浄ランス２５は、早い送り速度で制御送りされる。そして、洗浄範囲５１については、洗浄ランス２５は、それ以外の部位に比較して遅い速度で制御送りされる。
なお、以下の説明において、洗浄ランス２５の移動経路である経路５３において洗浄範囲５１等に対してそれぞれ適切に設定された送り速度を「割り当て速度」という。
【００３６】
洗浄範囲５１は、通常、洗浄ランス２５を挿入する洗浄軸線６２の方向に沿う所定の範囲を備えている。洗浄範囲５１の開口部５６寄りの限界位置を上限位置６０、底面５７寄りの限界位置を下限位置５９と呼ぶ。上限位置６０、下限位置５９は、洗浄範囲５１を画定するための限界点であり、噴流が衝突すべき位置であるから、上限位置６０、下限位置５９、を衝突位置６７と呼ぶ。
なお、本実施形態においては、洗浄範囲５１に対して低速の制御送りとしたが、洗浄範囲５１を含むように第３の所定長さＬ３（図７参照）だけ上下方向に洗浄範囲５１を拡大した特定範囲を設定して低速の制御送りをしてもよく、この特定範囲については後記する。
【００３７】
（ＣＡＭシステムの構成）
図４を参照して、コンピュータであるＣＡＭシステム４０の構成について説明する。
ＣＡＭシステムは、演算処理装置４１、入力装置４２、表示装置４３、出力装置４５、記憶装置４７がバス４８で接続されている。入力装置４２は、キーボードの他、タッチパネル、マウスその他のポインティングデバイスを含む。表示装置４３は、ＧＵＩを備えている。入力装置４２、出力装置４５はＵＳＢポート、光学ドライブ、ＬＡＮ接続ポートその他の入出力装置を含む。
【００３８】
記憶装置４７は、ＲＡＭ（Ｒａｎｄａｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）その他の主記憶装置、磁気ドライブ、フラッシュメモリその他の補助記憶装置を含む。
記憶装置４７は、制御プログラムの作成方法を実行させるための命令や命令セットを記憶する命令記憶手段４７１と、目標位置座標Ｐｉ等の演算処理装置４１で求めた演算結果、並びに種々のデータや設定条件およびパラメータを記憶するデータ記憶手段４７２と、を備えている。
【００３９】
データ記憶手段４７２は、被洗浄物１７および空洞部５４を表す被洗浄物モデルを記憶する被洗浄物モデル記憶手段４７２ａと、洗浄目標の位置を示す衝突位置データを記憶する衝突位置データ記憶手段４７２ｂと、洗浄ランスの形状を表す洗浄ランスモデルを記憶する洗浄ランスモデル記憶手段４７２ｃと、洗浄ランスから噴出する噴流を表す噴流モデルを記憶する噴流モデル記憶手段４７２ｄと、洗浄装置１０の軸構成や洗浄装置１０を駆動するパラメータ等の洗浄装置データ記憶手段４７２ｅと、開口部挿入時の洗浄ランス２５の姿勢及び挿入時の被洗浄物１７の姿勢を記憶する姿勢記憶手段４７２ｆと、演算処理装置４１が演算に用いる各種パラメータを記憶するパラメータ記憶手段４７２ｇと、を備えている。
【００４０】
被洗浄物モデル記憶手段４７２ａは、被洗浄物１７の形状データを記憶する。
衝突位置データ記憶手段４７２ｂは、被洗浄物１７の衝突位置６７を記憶する。
洗浄ランスモデル記憶手段４７２ｃは、洗浄ランス２５の形状データ、具体的には洗浄ランス２５の基準点２６、開口部挿入時の洗浄ランス２５の姿勢を記憶する。
噴流モデル記憶手段４７２ｄは、噴流３５に対する基準点（本実施形態においては洗浄ランス２５の基準点２６と同じ）、軸部２５ａの回転軸１４に対する噴流の噴出方向を表す角度θ１を記憶する。
パラメータ記憶手段４７２ｇは、第１の所定長さＬ１、第２の所定長さＬ２、第３の所定長さＬ３、並びに洗浄ランス２５の移動経路である経路５３における割り当て速度等の予め設定された各種のパラメータを記憶する。
【００４１】
演算処理装置４１は、記憶装置４７に格納された被洗浄物１７および空洞部５４を表す被洗浄物モデル、洗浄目標の位置を示す衝突位置データ、洗浄ランス２５の形状を表す洗浄ランスモデル、並びに洗浄ランス２５から噴出する噴流３５を表す噴流モデルを参照して、洗浄軸線設定ステップと、挿入開始位置演算ステップと、洗浄目標位置演算ステップと、挿入限界位置演算ステップと、挿入折り返し位置設定ステップと、折り返し位置比較ステップと、折り返し位置変更ステップと、制御プログラム作成ステップと、を実行する。
【００４２】
演算処理装置４１は、（１）洗浄ランス２５を空洞部５４内に挿入する洗浄軸線６２を演算する洗浄軸線設定手段４１ａと、（２）洗浄ランス２５の挿入開始位置６３を演算する挿入開始位置演算手段４１ｂと、（３）衝突位置６７に対する目標位置座標Ｐｉを演算する洗浄目標位置演算手段４１ｃと、（４）洗浄ランス２５の挿入限界位置６４を演算する挿入限界位置演算手段４１ｄと、（５）挿入折り返し位置６５Ｂを設定する挿入折り返し位置設定手段４１ｅと、目標位置座標Ｐｉと挿入限界位置６４とを比較する挿入折り返し位置比較演算手段４１ｆと、洗浄ランス２５の制御プログラムを作成する制御プログラム作成手段４１ｇと、を備えている。
【００４３】
制御プログラム作成手段４１ｇは、洗浄ランス２５の移動経路である経路５３を作成する経路作成手段４１ｇ１と、洗浄ランス２５の経路５３から数値制御プログラムを作成する洗浄プログラム作成手段４１ｇ２と、を備えている。
【００４４】
図５は、表示装置４３が備えるグラフィカルユーザインターフェース（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ、以下、ＧＵＩ）が表示する、代表的な表示画面４９を示している。表示画面４９は、被洗浄物１７の３次元形状モデルを表示している。ユーザは、表示画面４９に表示された３次元形状モデル上で洗浄の対象となる空洞部５４の開口部５６、底面５７、洗浄範囲５１等を入力装置４２を介して入力する。
【００４５】
衝突位置データ記憶手段４７２ｂは、ユーザが指定した衝突位置６７を記憶する。また、ユーザは、画面を切り替え、洗浄装置１０のストローク、被洗浄物１７の配置、洗浄ランス２５及び噴流３５の設定をＧＵＩ上で行い得る。ユーザの入力内容は、記憶装置４７のデータ記憶手段４７２に記憶される。
【００４６】
（制御プログラムの作成）
図３、図４及び図６を参照して、ＣＡＭシステム４０による、洗浄ランス２５の制御プログラムの作成方法について説明する。ユーザは、入力装置４２を介して、洗浄ランス２５が被洗浄物１７に挿入されるときの、洗浄ランス２５の姿勢、及び被洗浄物１７の姿勢を入力する。姿勢記憶手段４７２ｆは、洗浄ランス２５、被洗浄物１７の姿勢を収納する（Ｓ１）。ユーザは、表示装置４３上のＧＵＩ上に表示された被洗浄物の３Ｄ立体モデルにおいて、空洞部５４の開口部５６および底面５７を、入力装置４２を介して入力する。衝突位置データ記憶手段４７２ｂは、開口部５６及び底面５７の形状及び位置を記憶する（Ｓ２）。ユーザは、入力装置４２を介して、表示装置４３上のＧＵＩ上に表示された被洗浄物の３Ｄ立体モデルにおいて、空洞部５４の洗浄範囲５１の上限位置６０及び下限位置５９を入力する。衝突データ記憶手段４７２ｂは、上限位置６０および下限位置５９を格納する（Ｓ３）。
【００４７】
洗浄軸線設定手段４１ａは、開口部５６の形状及び位置に基づいて基準点６９を演算し、データ記憶手段４７２に格納する。洗浄軸線設定手段４１ａは、データ記憶手段４７２に格納された基準点６９及び洗浄ランス２５の姿勢に基づいて、洗浄ランス２５を挿入する洗浄軸線６２を決定する洗浄軸線設定ステップを実行する（Ｓ４）。
【００４８】
データ記憶手段４７２は、洗浄軸線６２を記憶する。次いで、挿入開始位置演算手段４１ｂは、開口部５６から空洞部５４の外側に洗浄軸線６２に沿って、パラメータ記憶手段４７２ｇに記憶された第１の所定長さＬ１離間した位置を、挿入開始位置６３の座標として演算する（Ｓ５）。データ記憶手段４７２は、演算された挿入開始位置６３の座標を記憶する。洗浄目標位置演算手段４１ｃは、洗浄ランス２５から噴出した噴流３５が上限位置６０及び下限位置５９に命中する洗浄ランス２５の位置６５，６６の目標位置座標Ｐｉを演算する（Ｓ６）。挿入限界位置演算手段４１ｄは、洗浄軸線６２に沿って、底面５７から、第２の距離Ｌ２離間した位置を、挿入限界位置６４の座標として演算する（Ｓ７）。折り返し位置比較演算手段４１ｆは、それぞれの目標位置座標Ｐｉが、挿入限界位置６４よりも底面５７寄りか否かを比較演算する（Ｓ８）。
【００４９】
経路作成手段４１ｇ１は、挿入限界位置６４よりも底面５７寄りの目標位置座標Ｐｉを、挿入限界位置６４に変更する（Ｓ９）。経路作成手段４１ｇ１は、記憶した目標位置座標Ｐｉに基づき、洗浄ランス２５の通過する経路５３を作成する（Ｓ１０）。洗浄プログラム作成手段４１ｇ２は、それぞれ演算した挿入開始位置６３、挿入限界位置６４、位置６５、６６に基づいて制御プログラムを作成する（Ｓ１１）。
【００５０】
〈洗浄軸線設定ステップ〉
図３、図４を参照して、洗浄軸線６２を演算する洗浄軸線設定ステップＳ４について詳細に説明する。
空洞部５４は、開口部５６と底面５７が同軸上にあるテーパ形状をなしているため、洗浄軸線設定手段４１ａは、開口部５６の図心を基準点６９として演算する。
【００５１】
洗浄軸線設定手段４１ａは、被洗浄物モデル記憶手段４７２ａが収納している被洗浄物１７の３次元形状モデル、姿勢記憶手段４７２ｆが収納している空洞部５４内に挿入されるときの洗浄ランス２５の姿勢および被洗浄物１７の姿勢、及びデータ記憶手段４７２が収納する基準点６９に基づいて、洗浄軸線６２を演算する。洗浄ランス２５、被洗浄物１７が、それぞれ洗浄ランス２５が空洞部５４内に挿入される姿勢を取るときに、洗浄軸線６２は、軸部２５ａと平行であり、かつ、洗浄軸線６２が基準点６９を通過するように演算される。
【００５２】
洗浄軸線設定手段４１ａは、空洞部５４の開口部５６と底面５７が同軸上にあるような場合には、開口部５６の図心から求めた基準点６９に基づいて、一義的に洗浄軸線６２を演算できる。空洞部５４が、挿入姿勢における洗浄ランス２５の軸線２５ｂに沿って延びており、空洞部５４の内部空間に大きな凹凸がない場合には、上記のように決定された洗浄軸線６２は、ほぼ空洞部５４の中央部を通る。洗浄ランス２５が、洗浄軸線６２に沿って挿入されるため、洗浄ランス２５は、空洞部５４の中央を抜差しされるように挿入され、空洞部５４の壁面と洗浄ランス２５とが干渉しにくいように、洗浄軸線６２が合理的に設定される。
【００５３】
なお、洗浄軸線設定手段４１ａが、開口部５６の図心を基準点６９として演算することに替えて、洗浄軸線設定手段４１ａは、洗浄ランス２５の軸部２５ａの回転軸１４の方向へ底面５７を開口部５６に投影させたときの投影面積が重なる図形の図心を、基準点６９として演算しえる。空洞部５４が、開口部５６又は底面５７において、最も面積の小さい横断面を備えるときは、上述の方法で決定された洗浄軸線６２は、横断面の最も小さい面で、横断面の広がりについてほぼ中央に位置するように決定される。このため、洗浄ランス２５を空洞部５４内に挿入したときに洗浄ランス２５と空洞部５４との干渉を避けやすい位置に洗浄軸線６２を演算できる。
【００５４】
洗浄軸線設定手段４１ａは、基準点６９が開口部５６の図心として演算することに替えて、基準点６９を底面５７の図心とするよう演算し得る。
【００５５】
基準点６９はユーザが任意に入力装置４２を介して、入力することもできる。入力された基準点６９は、演算処理装置４１によってパラメータ記憶手段４７２ｇに格納される。この場合には、開口部５６又は底面５７の形状によらずユーザが決定する。このように構成すれば、洗浄ランス２５が回転を伴わず挿入される場合や、空洞部５４が複雑な形状を備える場合に、プログラム作成の自由度を向上できる。
【００５６】
〈挿入開始位置演算ステップ〉
図７を参照して、洗浄ランス２５の移動の挿入開始位置６３を演算する挿入開始位置演算ステップＳ５について詳細に説明する。図７は、図３の模式図の洗浄軸線６２を通過し、ＸＺ平面に平行な断面で切断したときの断面図を示す。洗浄軸線６２がＸ＝Ｘ１、Ｙ＝Ｙ１を通り、Ｚ軸に平行に設けられている。
【００５７】
挿入開始位置６３は、洗浄軸線６２上で、かつ、基準点６９から、空洞部５４の外側に第１の所定長さＬ１だけ離間した地点として、挿入開始位置演算手段４１ｂによって演算される。ここでは、開口部５６の位置がＺ＝Ｚ５６であるため、挿入開始位置６３は、（Ｘ１，Ｙ１，Ｚ５６＋Ｌ１）と演算される。演算された挿入開始位置６３は、データ記憶手段４７２に記憶される。
【００５８】
第１の所定長さは、被洗浄物１７の形状、戴置台（不図示）の形状、距離Ｌ（図２参照）、及び位置決め精度により定められ、空洞部５４への洗浄ランス２５の挿入前に、洗浄ランス２５を早送りして位置決めするときに、洗浄ランス２５が被洗浄物１７、戴置台（不図示）と干渉しないために必要な長さとして、空洞部５４毎にユーザーによって任意に定められる。
【００５９】
なお、ユーザは、第１の所定長さＬ１を入力装置４２を介して入力することに替えて、ユーザは、先端点２５ｃから開口部５６との距離Ｌ１１を入力し得る。このとき、パラメータ記憶手段４７２ｇは、Ｌ１に替えてＬ１１を記憶する。挿入開始位置演算手段４１ｂは、Ｌ１１及び距離Ｌ（図２参照）に基づいて、挿入開始位置６３を演算する。
【００６０】
〈洗浄目標位置演算ステップ〉
図７を参照して、衝突位置６７に対する目標位置座標Ｐｉを演算する洗浄目標位置演算ステップＳ６について詳細に説明する。洗浄目標位置演算手段４１ｃは、衝突位置データ記憶手段４７２ｂに格納された衝突位置６７である下限位置５９、データ記憶手段４７２に格納された洗浄軸線６２、洗浄ランスモデル記憶手段４７２ｃに記憶された角度θに基づいて、洗浄ランス２５の目標位置座標Ｐｉを演算する。底面５７から数えてｉ番目の衝突位置６７（ここでは下限位置５９）に対する、洗浄ランス２５の位置のＺ座標ＰＺｉは洗浄軸線６２上に、式３に基づいて演算される。位置６５ＡのＺ軸座標ＰＺｉは、衝突位置５９のＺ座標Ｚｉ、衝突位置５９と洗浄軸線６２との最短距離Ｒｉ、及び洗浄ランス２５の軸部２５ａと噴流３５とのなす角度θにより、下式で演算される。
ＰＺｉ＝Ｚｉ＋Ｒｉ／ｔａｎθ        ・・・式３
洗浄軸線６２はＸ＝Ｘ１，Ｙ＝Ｙ１を通るため、下限位置５９に対応する位置座標は、（Ｘ１，Ｙ１，ＰＺｉ）となる。
【００６１】
〈特定範囲の設定〉
洗浄目標位置演算手段４１ｃは、洗浄目標である洗浄対象部位６１を画定する衝突位置６７（上限位置６０から下限位置５９まで）を含むように特定範囲を設定する。
具体的には、ユーザは第３の所定長さＬ３を入力装置４２を介して、ＣＡＭシステム４０に入力する。パラメータ記憶手段４７２ｇは、第３の所定長さＬ３を記憶する。洗浄目標位置演算手段４１ｃは、上限位置６０に対しては、洗浄軸線６２に沿って開口部５６寄りに第３の所定長さＬ３分だけ移動した位置６６Ｂを特定範囲の上限位置として設定する。即ち、位置６６Ｂの目標位置座標Ｐｊ１は、（Ｘ１，Ｙ１，ＰＺｊ＋Ｌ３）となる。データ記憶手段４７２は、衝突位置６７に対応する位置座標として、変更前のＰｊに加えて、Ｐｊ１を記憶する。
【００６２】
洗浄目標位置演算手段４１ｃは、下限位置５９に対応する位置６５Ａ（Ｘ１，Ｙ１，ＰＺｉ）に対しては、底面５７寄りに第３の所定長さＬ３だけ移動した位置６５Ｂを特定範囲の下限位置として設定する。即ち、位置６５Ｂの位置座標Ｐｉ１は、（Ｘ１，Ｙ１，ＰＺｉ−Ｌ３）となる。データ記憶手段４７２は、下限位置５９に対応する目標位置座標Ｐｉとして、変更前の位置６５Ａに加えて、位置６５Ｂを記憶する。
【００６３】
第３の所定長さＬ３は、洗浄目標を含むように特定範囲を設定するためのパラメータ（いわば余裕長さ）である。洗浄ランス２５は、回転しながら挿入されるため、噴流３５の空洞部５４内面における軌跡は螺旋８３（図３参照）を描く。洗浄ランス２５の回転方向と送り速度によっては、噴流が十分に洗浄対象部位６１に衝突しない場合がある。第３の所定長さＬ３は、その不確実性を補償するために設けられる。第３の所定長さＬ３は、大きすぎると動作時間が過大になるので、洗浄ランス２５の噴口径（不図示）、および洗浄装置１０における洗浄ランス２５の移動動作に基づく位置決め精度、サーボゲイン等を考慮して適宜設定する。第３の所定長さＬ３は、好ましくは、噴口径（不図示）の１倍ないし３倍として設定される。
なお、本実施形態においては、ユーザが任意に設定することとしたが、洗浄目標位置演算手段４１ｃが予め設定された余裕長さを加算して設定してもよい。
【００６４】
なお、第３の所定長さＬ３は０としても良い。この場合には、特定範囲は、洗浄範囲５１と合致する。
また、洗浄対象部位６１が、洗浄軸線６２に沿って幅を持たない場合（上限位置６０と下限位置５９が略一致するような場合）であっても、同様に演算され得る。この場合において、第３の指定長さＬ３を０にすると、位置６５Ｂ、６６Ｂは同一点となる。経路作成手段４１ｇ１は、位置６５Ｂと位置６６Ｂが同一の場合、その位置６５Ｂにおいて洗浄ランスが一時停止するように制御プログラムを作成できる。
【００６５】
また、データ記憶手段４７２は、変更前の位置６５Ａ、６６Ａに加えて、変更後の位置６５Ｂ、６６Ｂの座標を記憶することに替えて、変更前の位置６５Ａ、６６Ａを位置６５Ｂ、６６Ｂに上書きして記憶しても良い。
【００６６】
〈挿入限界位置演算ステップ〉
図７を参照して、挿入限界位置６４の演算に係る挿入限界位置演算ステップＳ７について詳細に説明する。
挿入限界位置６４は、洗浄軸線６２と底面５７との交点から、洗浄軸線６２に沿って開口部５６寄りに第２の所定の長さＬ２だけ離間した地点として、挿入限界位置演算手段４１ｄによって演算される。挿入限界位置６４の座標Ｚ６４は、底面のＺ座標をＺ５７とすると、（Ｘ１，Ｙ１，Ｚ５７＋Ｌ２）となる。演算された挿入限界位置６４は、データ記憶手段４７２に収納される。
【００６７】
第２の所定長さＬ２は、洗浄ランス２５の基準点２６から洗浄ランス２５の先端点２５ｃまでの距離Ｌ（図２参照）に対して、さらに干渉余裕長さを加算して定める。洗浄ランス２５の基準点２６から洗浄ランス２５の先端点２５ｃまでの距離は、洗浄ランス２５の形状から設定する。干渉余裕長さは、底面５７及び洗浄ランス２５の寸法精度、洗浄装置１０における洗浄ランス２５の位置決め精度、洗浄ランス２５の振れ、サーボゲイン等を考慮して設定する。第２の所定長さＬ２は、小さすぎると干渉を十分に防止できず、大きすぎると洗浄可能範囲が過剰に制限される。好ましくは、干渉余裕長さは、１〜３ｍｍとして設定される。
【００６８】
なお、本実施形態においては、第２の所定長さＬ２を洗浄ランス２５の基準点２６を基準として設定したが、洗浄ランス２５の先端点２５ｃを基準として設定してもよい。
このとき、ユーザは、第２の所定長さＬ２を入力装置４２を介して入力することに替えて、ユーザは、先端点２５ｃから底面５７との距離Ｌ２１を入力し得る。パラメータ記憶手段４７２ｇは、第２の所定の長さＬ２に替えてＬ２１を記憶する。挿入限界位置演算手段４１ｄは、距離Ｌ２１及び距離Ｌに基づいて、挿入限界位置６４を演算する。
【００６９】
〈挿入折り返し位置設定ステップ〉
挿入折り返し位置設定手段４１ｅは、洗浄軸線６２において、噴流３５が洗浄目標に対する目標位置座標Ｐｉから第３の所定長さＬ３（Ｌ３＝０も含む）だけ空洞部５４内に進入した位置を挿入折り返し位置６５Ｂとして設定する挿入折り返し位置設定ステップを実行する。
【００７０】
〈挿入折り返し位置比較ステップ〉
図７を参照して、比較演算である挿入折り返し位置比較ステップＳ８について詳細に説明する。
挿入折り返し位置比較演算手段４１ｇは、衝突位置データ記憶手段４７２ｂに収納されている衝突位置６７（上限位置６０、下限位置５９、衝突位置８１）に噴流３５が衝突する時のそれぞれの目標位置座標Ｐｉ（位置６６、位置６５、位置８２）について、挿入限界位置６４よりも底面５７側にあるか否かを比較する。データ記憶手段４７２は、比較の結果、挿入限界位置６４よりも底面５７寄りにある位置８２の目標位置座標Ｐｉｆについて、その旨をフラグを立てることによって記憶する。
【００７１】
〈折り返し位置変更ステップ〉
折り返し位置変更ステップＳ９について詳細に説明する。
データ記憶手段４７２は、位置８１に対応する洗浄ランスの目標位置として、目標位置座標Ｐｉｆの座標に加えて、挿入限界位置６４の座標を収納する。
【００７２】
なお、目標位置座標Ｐｉｆについて、データ記憶手段４７２がフラグを立てて記憶し、経路作成手段４１ｇ１がフラグの有無に基づいて洗浄ランス２５の移動経路である経路５３（図３参照）を作成することに替えて、折り返し位置比較演算手段４１ｆが、比較に引き続き、目標位置座標Ｐｉｆを挿入限界位置６４に変更できる。このときにおいては、データ記憶手段４７２は、挿入限界位置６４に変更された目標位置座標Ｐｉｆを記憶する。
【００７３】
〈制御プログラム作成ステップ〉
図３と図７を参照して、経路５３及び制御プログラムを作成する制御プログラム作成ステップＳ１０、Ｓ１１について詳細に説明する。
制御プログラム作成ステップは、経路作成手段４１ｇ１によって、洗浄ランス２５が開口部５６を通って挿入折り返し位置まで空洞部５４に進入し、挿入折り返し位置６５Ｂから開口部５６の方へ引戻すように洗浄ランス２５の経路５３を作成する経路作成ステップＳ１０と、経路作成手段４１ｇ１が作成した洗浄ランス２５の経路５３から、洗浄プログラム作成手段４１ｇ２によって、数値制御プログラムを作成する洗浄プログラム作成ステップＳ１１と、を含んでいる。
【００７４】
経路作成手段４１ｇ１は、上述のように演算された挿入開始位置６３、目標位置座標Ｐｉ，Ｐｊを、底面５７から遠い順に並べる。そして、経路作成手段４１ｇ１は、挿入開始位置６３から、中間的な位置Ｐｉを底面５７から遠い順に通過し、最も底面５７に近い目標位置座標Ｐ１で折り返し、挿入開始位置６３に戻るように、洗浄ランス２５の経路５３を作成する。洗浄ランス２５は、空洞部５４の外側の挿入開始位置６３から、空洞部５４内部に挿入され、挿入開始位置６３へ引戻されるため、空洞部５４の壁面に干渉しない経路をたどる。
【００７５】
経路作成手段４１ｇ１は、下限位置５９、上限位置６０に対応する目標位置座標Ｐｉは、第３の所定長さＬ３オフセットした位置６５Ｂ、６６Ｂの位置座標を用いて経路５３を作成する。ここで、目標位置座標Ｐｉのうち、フラグが立てられた目標位置座標Ｐｉｆについては、経路作成手段４１ｇ１は、目標位置座標Ｐｉを挿入限界位置６４に変更して、経路５３を作成する。
【００７６】
経路作成手段４１ｇ１が、挿入限界位置６４よりも底面５７に近い目標位置座標Ｐｉｆを、挿入限界位置６４に変更するため、洗浄ランス２５と底面５７との干渉が予防される。
【００７７】
経路作成手段４１ｇ１が、目標位置座標Ｐｉｆを書換えることなく、経路作成段階において挿入限界位置６４を使用するため、経路作成手段４１ｇ１が経路５３を一旦作成した後に挿入限界位置６４が変更されたときにも、再度目標位置座標Ｐｉｆを演算し直す必要がない。
【００７８】
経路作成手段４１ｇ１は、特定範囲の経路５１ｂについては、位置６６Ｂと位置６５Ｂとを結ぶ直線補間移動を割り当てる。経路作成手段４１ｇ１は、パラメータ記憶手段４７２ｇに格納された割当て速度Ｆを、それぞれの洗浄範囲５１に対応する洗浄軸線６２に沿った経路５３ｂに割り当てる。経路５３ｂに割当てる速度Ｆ［ｍｍ／ｓ］は、式４で算出される。
Ｆ＝ＣｎｄＳ                                ・・・（式４）
ここで、Ｃ［−］は定数、ｎは洗浄ランスに配置される噴口の個数、ｄ［ｍｍ］は噴口の孔径ｄ［ｍｍ］（不図示）、Ｓは洗浄ランスの回転速度［ｓ−１］を表す。定数Ｃは、軌跡のピッチに対する孔径ｄの倍率を示し、好ましくは０．２〜２０、より好ましくは、０．５〜５が選択される。
【００７９】
経路作成手段４１ｇ１は、洗浄範囲５１に対応しない経路５３の区間５３ａ（折り返し後の区間を含む。）については、洗浄範囲に対応する区間５３ｂに比較して早い速度による直線補間移動又は、早送り移動を割当てることができる。早い送り速度による直線補間移動を割当てる場合には、好ましくは、洗浄範囲に対応する区間５３ｂに割当てた速度の２〜５００倍を割当てる。
【００８０】
経路作成手段４１ｇ１を上述のように構成することで、一つ一つの洗浄目標をそれぞれ洗浄１回と挿入または抜き取りの１回の合計２回のみ通過し、折り返しが１度のみの無駄のない経路５３を作成できる。１つの洗浄範囲５１につき、洗浄ランス２５が３回以上通過しないため、それぞれの洗浄範囲５１に対する噴流３５の衝突密度を容易に設定できる。
【００８１】
なお、経路作成手段４１ｇ１は、上述の経路５３を作成する事に替えて、挿入開始位置６３から、挿入限界位置６４に挿入し、最も底面５７に近い目標位置座標Ｐ１で折り返し、目標位置座標Ｐｉを底面５７から近い順に通過し、挿入開始位置６３に戻るように、洗浄ランス２５の経路を作成できる。
【００８２】
洗浄プログラムを作成するステップＳ１１について詳細に説明する。
洗浄プログラム作成手段４１ｇ２は、経路作成手段４１ｇ１が作成した経路５３から、数値制御プログラムを作成する。洗浄プログラム作成手段４１ｇ２は、命令記憶手段４７１に記憶された挿入方法に従って、洗浄装置１０の軸速度、軸座標などの定義を制御プログラムに挿入する。洗浄プログラム作成手段４１ｇ２は、洗浄ランス２５が空洞部５４へ挿入される前、かつ、挿入開始位置６３に到達する前に噴流３５を噴射する命令を挿入する。そして、洗浄ランス２５が空洞部５４から抜き出され、挿入開始位置６３へ到達した後に噴流３５を停止する命令を挿入する。
【００８３】
「第２実施形態」
図８、図９を参照して、本発明の第２実施形態について説明する。本実施形態では、洗浄ランス２５が、回転軸１４を中心として自在に回転方向に位置決めされる場合に対する、洗浄ランス２５の制御プログラム作成を取り上げる。ここで、第１実施形態と同一の箇所については、第１実施形態と同一の符号を付し、その詳細な説明を省略する。
【００８４】
〈制御対象〉
図８に示すように、洗浄装置１００は、制御プログラムを実行する装置である。スピンドル部１３は、回転可能にホルダ２７を軸支する。洗浄ランス２５は、回転軸１４に垂直に、ホルダ２７に固定されている。ホルダ２７は、洗浄ランス２５と一体となって、回転軸１４を中心として自在に回転方向に位置決めされる。洗浄ランス２５の回転方向の姿勢は、Ｃ軸座標α（°）として与えられる。洗浄ランス２５は、軸２８と直角に取り付けられている。軸部２５ａの先端部から、軸部２５ａの正面から見てβ（°）傾いた平面上で、軸部２５ａの中心軸線からθ２°の傾きで噴流３５が噴出する。
【００８５】
本実施形態の構成の洗浄ランス２５は、洗浄装置１００がＸＹＺ方向と、Ｘ軸周りに回転するＡ軸方向に被洗浄物１７が回転し、Ｚ軸周りに回転するＣ軸方向にノズル又はノズルホルダが回転できる、５自由度を備えている点に鑑みて設けられている。即ち、Ｙ軸周りに回転するＢ軸に垂直な方向に設けられている空洞部５４であれば、Ｂ軸方向に位置決めすることで、空洞部５４の長手方向をＺ軸方向に平行にできる。この場合には、第１実施形態の制御プログラム作成方法が、被洗浄物１７に良く適合する。しかし、空洞部５４の長手方向がＢ軸方向に垂直ではないとき、例えばＢ軸に平行なときに、洗浄ランス２５を挿入する場合がある。本実施形態は、このような場合によく適合する。
【００８６】
洗浄ランス２５、ホルダ２７は、被洗浄物１７、及び洗浄ランス２５の姿勢が、特定の姿勢を取ったときに、予め定められた空洞部５４に挿入可能に製作されている。
【００８７】
〈洗浄プログラムの作成方法〉
ユーザは、洗浄ランス２５を挿入する際のＢ軸座標およびＣ軸座標を、表示装置４３のＧＵＩ及び入力装置４２を介して、ＣＡＭシステム４０に入力する。記憶装置４７の姿勢記憶手段４７２ｆ（図４参照）は、Ｂ軸座標及びＣ軸座標αを記憶する。
【００８８】
なお、空洞部５４の形状が、円筒形又は円錐台等の回転体形状である場合、次の代替方法を使用できる。洗浄軸線設定手段４１ａが空洞部５４の中心軸のＸＹ平面上のＸ方向からの角度を取得する。洗浄軸線設定手段４１ａは、洗浄ランス２５の軸部２５ａが、取得したＸＹ方向の傾きと平行になるように、Ｃ軸座標αを演算する。姿勢記憶手段４７２ｆは、演算されたＣ軸座標α（°）を格納する。
【００８９】
図８を参照して、洗浄軸線設定手段４１ａは、第１実施形態と同様に、開口部５６の基準点６９及び洗浄軸線６２を演算する。
ここで、Ｖ軸は、基準点６９を原点として、演算した洗浄軸線６２に沿って被洗浄物１７の外側に向かう方向を正方向とする座標軸とする。Ｗ軸は、Ｖ軸と噴流３５の中心とを通る平面７３上に、基準点６９を原点として、Ｖ軸に垂直でかつ噴流３５の噴射方向を正として与えられる。基準点６９を原点として、Ｖ軸、Ｗ軸のそれぞれに垂直な方向をＵ軸とする。
【００９０】
図９を参照して、挿入開始位置演算手段４１ｂは、挿入開始位置６３を、ＶＷ平面上で演算する。洗浄目標位置演算手段４１ｃは、目標位置Ｐｉを、Ｗ−Ｖ平面上で演算する。挿入限界位置演算手段４１ｄは、挿入限界位置６４をＷ−Ｖ平面上で演算する。経路作成手段４１ｇ１は、ＵＶＷ空間における目標位置座標Ｐｉに基づいて経路５３を作成する。各演算方法は第１実施形態と同様である。
【００９１】
洗浄プログラム作成手段４１ｇ２は、経路作成手段４１ｇ１が作成した経路５３に基づいて、制御プログラムを作成する。制御プログラムは、適用される洗浄装置１０の制御装置に適合するように作成される。例えば、制御プログラムがＸＹＺＡＣ軸に基づき数値制御される場合には、洗浄プログラム作成手段４１ｇ２は、作成した経路のＵ軸座標値、Ｖ軸座標値、Ｗ軸座標値を一次変換により、Ｘ軸座標値、Ｙ軸座標値、Ｚ軸座標値に変換する。洗浄プログラム作成手段４１ｇ２は、ＸＹＺ各座標値に基づいて制御プログラムを作成する。
【００９２】
「第３実施形態」
図１０を参照して、本発明の第３実施形態について説明する。本実施形態では、空洞部５４が円筒形状、又は円錐台形状である場合に、洗浄特定部位の距離Ｒを演算し、目標位置座標Ｐｉの演算を簡略化する。なお、上述の第１実施形態と同一の箇所については、同一の符号を付し、その詳細な説明を省略する。
【００９３】
ユーザは、表示装置４３のＧＵＩ、入力装置４２を介して、被洗浄物１７の３次元モデル上において、開口部５６、及び底面５７を指定する。衝突位置データ記憶手段４７２ｂは、開口部５６、及び底面５７の形状及び位置を記憶する。洗浄軸線設定手段４１ａは、開口部５６の図心を基準点６９として、演算する。洗浄軸線設定手段４１ａは、基準点６９を通過し、Ｚ軸に平行に洗浄軸線６２を演算する。データ記憶手段４７２は、これらを記憶する。
【００９４】
洗浄目標位置演算手段４１ｃは、底面５７の形状および開口部５６の形状から、底面５７の半径Ｒ１、開口部５６の半径Ｒ２をそれぞれ演算する。洗浄目標位置演算手段４１ｃは、底面５７の位置および開口部５６の位置から、底面５７の高さ座標Ｚ１、開口部５６の高さ座標Ｚ２をそれぞれ演算する。
【００９５】
式３を適用するに当たり、洗浄目標位置演算手段４１ｃは、衝突位置の高さ座標Ｚｉにおける、壁面と洗浄軸線６２との距離Ｒｉを式５に基づいて演算する。
Ｒｉ＝Ｒ２＋（Ｚｉ−Ｚ２）ｔａｎφ            ・・・式５
ここで、Ｒ２は開口部５６の半径、Ｚ２は被洗浄物１７の基準点から見た開口部５６の高さ、Ｚｉは被洗浄物の洗浄目標の位置座標、φは前記空洞部の壁面のテーパ角度を示す。
テーパ角度φは、式６に基づいて演算できる。
φ＝ｔａｎ−１（（Ｒ２−Ｒ１）／（Ｚ２−Ｚ１））  ・・・式６
ここで、Ｒ１は底面形状の半径、Ｒ２は開口部５６の半径、Ｚ１は被洗浄物１７の基準点から見た底面５７の高さ、Ｚ２は被洗浄物１７の基準点から見た開口部５６の高さを表す。
【００９６】
上述のように演算すれば、洗浄目標位置演算手段４１ｃは、容易に目標位置座標Ｐｉを演算できる。
【００９７】
なお、式５、式６は、距離Ｒｉを、開口部５６の半径及び衝突位置の高さに基づいて演算したが、底面５７の半径及び衝突位置の高さに基づいて演算しても構わない。式５、式６をまとめてＲ１、Ｒ２、Ｚ１、Ｚ２、Ｚｉから直接Ｒｉを求めても良い。
図１０及び式４は、空洞部５４が円錐台である場合について説明したが、φ＝０として、空洞部５４が円筒形である場合にも適用できる。また、Ｒ１＝０として、空洞部５４が円錐形である場合にも適用できる。もちろん、洗浄軸線６２がＺ軸以外の軸に沿っている場合や、洗浄軸線６２が各軸から傾斜している場合についても、他の実施形態と同様に適用できる。
【００９８】
〈代替手段〉
以上の実施形態では、数値制御されるタレット式の洗浄装置１０、１００を例に説明したが、洗浄ランス２５を用いたあらゆる洗浄機に適用できる。例えば、軸制御が、数値制御ではなく、特定のプログラム言語によって制御される場合には、演算された座標値を利用して、制御される言語によって記述される制御プログラムを作成できる。洗浄ランス２５の回転が、Ｃ軸に沿って座標値及び移動速度で指令される場合には、挿入開始位置、中間位置、挿入限界位置、の座標には、ＸＹＺ軸およびＣ軸座標を演算して与えうる。もちろん、制御プログラムが回転座標系で指示される場合には、上述の実施形態に基づいて演算して得られた直交座標系における目標位置座標を回転座標系へ一次変換した後に、制御プログラムを作成できる。
【００９９】
本発明は、タレットを備えない洗浄装置、垂直多関節ロボット、水平多関節ロボット等、あらゆる形態の洗浄装置に適応できる。例えば、垂直多関節ロボットが被洗浄物を把持し、固定された回転軸に洗浄ランスが回転可能に軸支され、垂直多関節ロボットが把持した被洗浄物を、洗浄ランスに差し込む場合が想定される。
【符号の説明】
【０１００】
１０    洗浄装置
１７    被洗浄物
２１    ノズル
２５    洗浄ランス
２６    基準点
３５    噴流
４０    ＣＡＭシステム
４１    演算処理装置
４１ａ  洗浄軸線設定手段
４１ｂ  挿入開始位置演算手段
４１ｃ  洗浄目標位置演算手段
４１ｄ  挿入限界位置演算手段
４１ｅ  挿入折り返し位置設定手段
４１ｆ  挿入折り返し位置比較演算手段
４１ｇ  制御プログラム作成手段
４１ｇ１  経路作成手段
４１ｇ２  洗浄プログラム作成手段
４２    入力装置
４３    表示装置
４５    出力装置
４７    記憶装置
４９    表示画面
５１    洗浄範囲
５３    経路（移動経路）
５３ａ，５３ｂ  区間（移動経路）
５４    空洞部
５５    表面
５６    開口部
５７    底面（空洞終端部）
５９    下限位置（衝突位置）
６０    上限位置（衝突位置）
６１    洗浄対象部位
６２    洗浄軸線
６３    挿入開始位置
６４    挿入限界位置
６７    衝突位置
６９    基準点
４７１  命令記憶手段
４７２  データ記憶手段
４７２ａ  被洗浄物モデル記憶手段
４７２ｂ  衝突位置データ記憶手段
４７２ｃ  洗浄ランスモデル記憶手段
４７２ｄ  噴流モデル記憶手段
４７２ｅ  洗浄装置データ記憶手段
４７２ｆ  姿勢記憶手段
４７２ｇ  パラメータ記憶手段
Ｌ１    第１の所定長さ
Ｌ２    第２の所定長さ
Ｌ３    第３の所定長さ
Ｐi    目標位置座標
Ｒi    洗浄軸線から洗浄目標までの距離
Ｚi    洗浄目標の位置座標
【図１】
0006529849.tif 000002
【図２】
0006529849.tif 000003
【図３】
0006529849.tif 000004
【図４】
0006529849.tif 000005
【図５】
0006529849.tif 000006
【図６】
0006529849.tif 000007
【図７】
0006529849.tif 000008
【図８】
0006529849.tif 000009
【図９】
0006529849.tif 000010
【図１０】
0006529849.tif 000011