(57)【特許請求の範囲】
【請求項１】
ワーク表面を研削又は研磨により仕上げ加工する加工ロボットの加工軌道を生成する加工軌道生成装置であって、
ワーク表面の形状データと、
工具軸を回転中心とする回転体の工具面を有し、ワーク表面に接触して加工する加工工具の工具データと、
前記加工工具を３次元空間内で移動する７軸ロボットアームのロボットデータと、を記憶する記憶装置と、
前記加工工具の回転軸上に原点を、回転軸と一致するようにＺ軸を設定したＴＣＰの、空間に固定された座標系における位置と加工工具の押付け方向ベクトルを含む工具軌道データを生成する軌道データ生成装置と、を備え、
該軌道データ生成装置により、
（Ａ）前記形状データからワーク表面の加工点位置と、各加工点における加工工具の押付け方向ベクトルとを生成し、
（Ｂ）各加工点において、加工工具の工具面がワーク表面と平行になるように、ＴＣＰ位置と工具軸方向ベクトルを算出し、
（Ｃ）各加工点において、ＴＣＰ位置と工具軸方向ベクトルを維持したままとりうる、前記７軸ロボットアームの複数の姿勢から、特異姿勢や外部との干渉のない姿勢を選択し、
前記加工工具は、工具軸を回転中心とする球型の工具面を有する球型工具であり、
前記（Ｂ）において、加工工具の球型の工具面の中心にＴＣＰの原点を、回転軸と一致するようにＴＣＰのＺ軸を設定し、
ワーク表面の加工点を押付け方向ベクトルの逆向きに球型の半径距離をシフトしてＴＣＰ位置を算出する、ことを特徴とする加工軌道生成装置。
【請求項２】
ワーク表面を研削又は研磨により仕上げ加工する加工ロボットの加工軌道を生成する加工軌道生成装置であって、
ワーク表面の形状データと、
工具軸を回転中心とする回転体の工具面を有し、ワーク表面に接触して加工する加工工具の工具データと、
前記加工工具を３次元空間内で移動する７軸ロボットアームのロボットデータと、を記憶する記憶装置と、
前記加工工具の回転軸上に原点を、回転軸と一致するようにＺ軸を設定したＴＣＰの、空間に固定された座標系における位置と加工工具の押付け方向ベクトルを含む工具軌道データを生成する軌道データ生成装置と、を備え、
該軌道データ生成装置により、
（Ａ）前記形状データからワーク表面の加工点位置と、各加工点における加工工具の押付け方向ベクトルとを生成し、
（Ｂ）各加工点において、加工工具の工具面がワーク表面と平行になるように、ＴＣＰ位置と工具軸方向ベクトルを算出し、
（Ｃ）各加工点において、ＴＣＰ位置と工具軸方向ベクトルを維持したままとりうる、前記７軸ロボットアームの複数の姿勢から、特異姿勢や外部との干渉のない姿勢を選択し、
前記加工工具は、工具軸を回転中心とする円柱型の工具面を有する円柱型工具であり、
前記（Ｂ）において、加工工具の工具端面の中心にＴＣＰの原点を、回転軸と一致するようにＴＣＰのＺ軸を設定し、
工具軸方向ベクトルを、押付け方向ベクトルを送り方向回りに＋９０度又は−９０度回転させた方向に設定し、
ワーク表面の加工点を押付け方向ベクトルの逆向きに円柱型の半径距離をシフトしてＴＣＰ位置を算出する、ことを特徴とする加工軌道生成装置。
【請求項３】
ワーク表面を研削又は研磨により仕上げ加工する加工ロボットの加工軌道を生成する加工軌道生成装置であって、
ワーク表面の形状データと、
工具軸を回転中心とする回転体の工具面を有し、ワーク表面に接触して加工する加工工具の工具データと、
前記加工工具を３次元空間内で移動する７軸ロボットアームのロボットデータと、を記憶する記憶装置と、
前記加工工具の回転軸上に原点を、回転軸と一致するようにＺ軸を設定したＴＣＰの、空間に固定された座標系における位置と加工工具の押付け方向ベクトルを含む工具軌道データを生成する軌道データ生成装置と、を備え、
該軌道データ生成装置により、
（Ａ）前記形状データからワーク表面の加工点位置と、各加工点における加工工具の押付け方向ベクトルとを生成し、
（Ｂ）各加工点において、加工工具の工具面がワーク表面と平行になるように、ＴＣＰ位置と工具軸方向ベクトルを算出し、
（Ｃ）各加工点において、ＴＣＰ位置と工具軸方向ベクトルを維持したままとりうる、前記７軸ロボットアームの複数の姿勢から、特異姿勢や外部との干渉のない姿勢を選択し、
前記加工工具は、工具軸を回転中心とし先端角がαの円錐型の工具面を有する円錐型工具であり、
前記（Ｂ）において、加工工具の前記円錐型の頂点にＴＣＰの原点を、回転軸と一致するようにＴＣＰのＺ軸を設定し、
工具軸方向ベクトルを、押付け方向ベクトルを送り方向回りに（９０−α／２）度又は−（９０−α／２）度回転させた方向に設定する、ことを特徴とする加工軌道生成装置。
【請求項４】
ワーク表面を研削又は研磨により仕上げ加工する加工ロボットの加工軌道を生成する加工軌道生成方法であって、
記憶装置に、ワーク表面の形状データと、
工具軸を回転中心とする回転体の工具面を有し、ワーク表面に接触して加工する加工工具の工具データと、
前記加工工具を３次元空間内で移動する７軸ロボットアームのロボットデータと、を記憶する記憶ステップと、
軌道データ生成装置により、前記加工工具の回転軸上に原点を、回転軸と一致するようにＺ軸を設定したＴＣＰの、空間に固定された座標系における位置と加工工具の押付け方向ベクトルを含む工具軌道データを生成する軌道データ生成ステップと、を有し、
軌道データ生成ステップは、
（Ａ）前記形状データからワーク表面の加工点位置と、各加工点における加工工具の押付け方向ベクトルとを生成する第１ステップと、
（Ｂ）各加工点において、加工工具の工具面がワーク表面と平行になるように、ＴＣＰ位置と工具軸方向ベクトルを算出する第２ステップと、
（Ｃ）各加工点において、ＴＣＰ位置と工具軸方向ベクトルを維持したままとりうる、前記７軸ロボットアームの複数の姿勢から、特異姿勢や外部との干渉のない姿勢を選択する第３ステップと、を有し、
前記加工工具は、工具軸を回転中心とする球型の工具面を有する球型工具であり、
前記（Ｂ）において、加工工具の球型の工具面の中心にＴＣＰの原点を、回転軸と一致するようにＴＣＰのＺ軸を設定し、
ワーク表面の加工点を押付け方向ベクトルの逆向きに球型の半径距離をシフトしてＴＣＰ位置を算出する、ことを特徴とする加工軌道生成方法。
【請求項５】
ワーク表面を研削又は研磨により仕上げ加工する加工ロボットの加工軌道を生成する加工軌道生成方法であって、
記憶装置に、ワーク表面の形状データと、
工具軸を回転中心とする回転体の工具面を有し、ワーク表面に接触して加工する加工工具の工具データと、
前記加工工具を３次元空間内で移動する７軸ロボットアームのロボットデータと、を記憶する記憶ステップと、
軌道データ生成装置により、前記加工工具の回転軸上に原点を、回転軸と一致するようにＺ軸を設定したＴＣＰの、空間に固定された座標系における位置と加工工具の押付け方向ベクトルを含む工具軌道データを生成する軌道データ生成ステップと、を有し、
軌道データ生成ステップは、
（Ａ）前記形状データからワーク表面の加工点位置と、各加工点における加工工具の押付け方向ベクトルとを生成する第１ステップと、
（Ｂ）各加工点において、加工工具の工具面がワーク表面と平行になるように、ＴＣＰ位置と工具軸方向ベクトルを算出する第２ステップと、
（Ｃ）各加工点において、ＴＣＰ位置と工具軸方向ベクトルを維持したままとりうる、前記７軸ロボットアームの複数の姿勢から、特異姿勢や外部との干渉のない姿勢を選択する第３ステップと、を有し、
前記加工工具は、工具軸を回転中心とする円柱型の工具面を有する円柱型工具であり、
前記（Ｂ）において、加工工具の工具端面の中心にＴＣＰの原点を、回転軸と一致するようにＴＣＰのＺ軸を設定し、
工具軸方向ベクトルを、押付け方向ベクトルを送り方向回りに＋９０度又は−９０度回転させた方向に設定し、
ワーク表面の加工点を押付け方向ベクトルの逆向きに円柱型の半径距離をシフトしてＴＣＰ位置を算出する、ことを特徴とする加工軌道生成方法。
【請求項６】
ワーク表面を研削又は研磨により仕上げ加工する加工ロボットの加工軌道を生成する加工軌道生成方法であって、
記憶装置に、ワーク表面の形状データと、
工具軸を回転中心とする回転体の工具面を有し、ワーク表面に接触して加工する加工工具の工具データと、
前記加工工具を３次元空間内で移動する７軸ロボットアームのロボットデータと、を記憶する記憶ステップと、
軌道データ生成装置により、前記加工工具の回転軸上に原点を、回転軸と一致するようにＺ軸を設定したＴＣＰの、空間に固定された座標系における位置と加工工具の押付け方向ベクトルを含む工具軌道データを生成する軌道データ生成ステップと、を有し、
軌道データ生成ステップは、
（Ａ）前記形状データからワーク表面の加工点位置と、各加工点における加工工具の押付け方向ベクトルとを生成する第１ステップと、
（Ｂ）各加工点において、加工工具の工具面がワーク表面と平行になるように、ＴＣＰ位置と工具軸方向ベクトルを算出する第２ステップと、
（Ｃ）各加工点において、ＴＣＰ位置と工具軸方向ベクトルを維持したままとりうる、前記７軸ロボットアームの複数の姿勢から、特異姿勢や外部との干渉のない姿勢を選択する第３ステップと、を有し、
前記加工工具は、工具軸を回転中心とし先端角がαの円錐型の工具面を有する円錐型工具であり、
前記（Ｂ）において、加工工具の前記円錐型の頂点にＴＣＰの原点を、回転軸と一致するようにＴＣＰのＺ軸を設定し、
工具軸方向ベクトルを、押付け方向ベクトルを送り方向回りに（９０−α／２）度又は−（９０−α／２）度回転させた方向に設定する、ことを特徴とする加工軌道生成方法。
【請求項７】
前記（Ｂ）において、工具形状データを利用して工具軸方向ベクトルを生成する、ことを特徴とする請求項４乃至６のいずれか一項に記載の加工軌道生成方法。
【請求項８】
前記（Ｃ）において、７軸ロボットアームの位置と姿勢を、１つの関節角、ＴＣＰの位置、ＴＣＰ座標系のロール角、ピッチ角、及びヨー角で表現し、
１つの前記関節角とロール角、ピッチ角、又はヨー角のいずれかを仮の値に固定して、ロール角、ピッチ角、及びヨー角を算出する、ことを特徴とする請求項４乃至６のいずれか一項に記載の加工軌道生成方法。
【請求項９】
前記（Ｃ）において、ＴＣＰ位置と工具軸方向ベクトルの姿勢から、７軸ロボットアームの各関節角を計算し、
各関節角から、ロボットの特異姿勢又は外部との干渉の有無をチェックする、とを特徴とする請求項４乃至６のいずれか一項に記載の加工軌道生成方法。
【請求項１０】
前記（Ｃ）において、ＴＣＰ位置と工具軸方向ベクトルの姿勢から、ＴＣＰ位置と工具軸方向ベクトルの姿勢を維持したままとりうる、前記７軸ロボットアームの姿勢から構成されるコンフィグレーション空間の各点において、ロボットの特異姿勢又は外部との干渉の有無を数値的に重みづけしたマップを作成し、そのマップ上でロボットアーム軌道を選択することを特徴とする、ことを特徴とする請求項９に記載の加工軌道生成方法。
【請求項１１】
前記マップにおいて、干渉の有無の重みづけに、ロボットアームの各リンクと外部の物体との最小距離を使用する、ことを特徴とする請求項１０に記載の加工軌道生成方法。
【請求項１２】
前記マップにおいて、特異姿勢の重みづけに、ロボットアームの可操作度を使用する、ことを特徴とする請求項１０に記載の加工軌道生成方法。
【請求項１３】
前記マップ上でのロボットアーム選定において、ロール角、ピッチ角、又はヨー角のいずれかを一定値という条件下で探索し、ロボットの特異姿勢又は外部との干渉のないロボットアーム軌道を選択する、ことを特徴とする請求項１０に記載の加工軌道生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワークを仕上げ加工する加工ロボットの加工軌道生成装置と方法に関する。
【背景技術】
【０００２】
ロボットアームの手先に工具を取り付け、加工経路に沿って動作させてワークを加工する加工ロボットにおいて、位置決め精度が低いロボットアームを使って、高精度な加工を実現するための技術として、例えば特許文献１〜７が既に提案されている。
【０００３】
特許文献１、２は、位置と力のハイブリッド制御を開示している。
特許文献３は、工具押付け力をフィードバック制御する力制御型マニピュレータを開示している。
特許文献１〜４は、ワークのＣＡＤモデルから軌道を自動生成する手段を開示している。
特許文献５〜７は、冗長軸を有するロボットの動作範囲を制限する手段を開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１７６４７７号公報
【特許文献２】特開２０１２−１７６４７８号公報
【特許文献３】特開平６−２１４６３３号公報
【特許文献４】特開２００２−２３８１４号公報
【特許文献５】特開平９−３１４４８７号公報
【特許文献６】特開平５−３４５２９１号公報
【特許文献７】特開２００９−１２５８９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
仕上げ加工とは、切削加工や研削加工等の後に、最終的に求められる形状や粗さに調整する加工であり、バリ取り、面取り、磨き、など多様な加工が含まれる。形状が複雑な部品や精密部品の仕上げ加工は、従来、熟練した作業者の手作業によって実施されており自動化が遅れている。このように人の技能に依存しているため、作業者の熟練度や体調によって品質や作業時間がばらつく可能性があり、自動化が長い間望まれていた。
【０００６】
この要望を満たすため、ロボットアームを使用した仕上げ加工の自動化の研究開発が続けられている。ロボットアームは、可動範囲が広く、繰り返し位置決め精度が高い利点があるが、その反面、絶対位置決め精度が低い欠点がある。この欠点を補償するため、受動機構によるアプローチや制御技術の高度化によるアプローチが提案されている。特に、制御技術の高度化によるアプローチは、手先姿勢の変化に対しても工具重力の影響を高精度に除去できる点で、複雑形状の精密仕上げ加工に適している。
【０００７】
制御技術の高度化における代表的な制御手段として、位置と力のハイブリッド制御がある。この制御手段は、ロボットの手先を対象物に一定の力で押し付けつつ、形状に倣う動作を可能とする。この技術をベースに、高速化や高精度化が提案されており、グラインダ作業などの比較的粗い仕上げ加工への適用は進んでいるが、精密仕上げ加工への適用事例は少ない。
【０００８】
精密仕上げ加工への適用が進まない１つの原因として、軌道生成の問題がある。ロボットアームの軌道は、教示作業で設定するのが一般的であるが、精密仕上げ加工への適用では教示作業が煩雑になることが多いため、オフライン軌道生成が提案されてきた。しかし、オフライン軌道生成は、以下の問題点があり、精密仕上げ加工への汎用的な適用は困難であった。
（１）位置と力のハイブリッド制御の目標軌道に必要な押付け方向が生成されない。
（２）ロボットアームの冗長性の問題や特異姿勢の問題に明確に対処されていない。
（３）工具とワークの形状に制約がある。
【０００９】
すなわち、精密仕上げ加工する加工ロボットの加工軌道を設定する手段として、従来、人が予めロボットの加工軌道を教示する教示作業や、ロボット用ＣＡＭの利用が知られていた。
しかし、曲面の磨き等、ワークの形状が複雑な場合、円錐型、円柱型などの工具形状に合わせて、（４）工具の工具面（外周面）をワーク表面に平行に設定する教示作業は煩雑であり、手間と時間を要し、ロボットの稼働率が低下する問題点があった。
【００１０】
本発明は、上述した問題点を解決するために創案されたものである。すなわち、本発明の第１の目的は、ワークの形状が複雑な場合でも、教示作業なしに、工具形状に合わせて、ハイブリッド制御に必要な工具の押付け方向を含む工具軌道データを生成することができる加工軌道生成装置と方法を提供することにある。また、本発明の第２の目的は、７軸ロボットアームを用いてロボットの特異姿勢回避や外部との干渉を回避することができる加工軌道生成装置と方法を提供することにある。
【課題を解決するための手段】
【００１１】
本発明によれば、ワーク表面を研削又は研磨により仕上げ加工する加工ロボットの加工軌道を生成する加工軌道生成装置であって、
ワーク表面の形状データと、
工具軸を回転中心とする回転体の工具面を有し、ワーク表面に接触して加工する加工工具の工具データと、
前記加工工具を３次元空間内で移動する７軸ロボットアームのロボットデータと、を記憶する記憶装置と、
前記加工工具の回転軸上に原点を、回転軸と一致するようにＺ軸を設定したＴＣＰの、空間に固定された座標系における位置と加工工具の押付け方向ベクトルを含む工具軌道データを生成する軌道データ生成装置と、を備え、
該軌道データ生成装置により、
（Ａ）前記形状データからワーク表面の加工点位置と、各加工点における加工工具の押付け方向ベクトルとを生成し、
（Ｂ）各加工点において、加工工具の工具面がワーク表面と平行になるように、ＴＣＰ位置と工具軸方向ベクトルを算出し、
（Ｃ）各加工点において、ＴＣＰ位置と工具軸方向ベクトルを維持したままとりうる、前記７軸ロボットアームの複数の姿勢から、特異姿勢や外部との干渉のない姿勢を選択し、
前記加工工具は、工具軸を回転中心とする球型の工具面を有する球型工具であり、
前記（Ｂ）において、加工工具の球型の工具面の中心にＴＣＰの原点を、回転軸と一致するようにＴＣＰのＺ軸を設定し、
ワーク表面の加工点を押付け方向ベクトルの逆向きに球型の半径距離をシフトしてＴＣＰ位置を算出する、ことを特徴とする加工軌道生成装置が提案される。
【００１２】
また、本発明によれば、ワーク表面を研削又は研磨により仕上げ加工する加工ロボットの加工軌道を生成する加工軌道生成装置であって、
ワーク表面の形状データと、
工具軸を回転中心とする回転体の工具面を有し、ワーク表面に接触して加工する加工工具の工具データと、
前記加工工具を３次元空間内で移動する７軸ロボットアームのロボットデータと、を記憶する記憶装置と、
前記加工工具の回転軸上に原点を、回転軸と一致するようにＺ軸を設定したＴＣＰの、空間に固定された座標系における位置と加工工具の押付け方向ベクトルを含む工具軌道データを生成する軌道データ生成装置と、を備え、
該軌道データ生成装置により、
（Ａ）前記形状データからワーク表面の加工点位置と、各加工点における加工工具の押付け方向ベクトルとを生成し、
（Ｂ）各加工点において、加工工具の工具面がワーク表面と平行になるように、ＴＣＰ位置と工具軸方向ベクトルを算出し、
（Ｃ）各加工点において、ＴＣＰ位置と工具軸方向ベクトルを維持したままとりうる、前記７軸ロボットアームの複数の姿勢から、特異姿勢や外部との干渉のない姿勢を選択し、
前記加工工具は、工具軸を回転中心とする円柱型の工具面を有する円柱型工具であり、
前記（Ｂ）において、加工工具の工具端面の中心にＴＣＰの原点を、回転軸と一致するようにＴＣＰのＺ軸を設定し、
工具軸方向ベクトルを、押付け方向ベクトルを送り方向回りに＋９０度又は−９０度回転させた方向に設定し、
ワーク表面の加工点を押付け方向ベクトルの逆向きに円柱型の半径距離をシフトしてＴＣＰ位置を算出する、ことを特徴とする加工軌道生成装置が提案される。
【００１３】
また本発明によれば、ワーク表面を研削又は研磨により仕上げ加工する加工ロボットの加工軌道を生成する加工軌道生成装置であって、
ワーク表面の形状データと、
工具軸を回転中心とする回転体の工具面を有し、ワーク表面に接触して加工する加工工具の工具データと、
前記加工工具を３次元空間内で移動する７軸ロボットアームのロボットデータと、を記憶する記憶装置と、
前記加工工具の回転軸上に原点を、回転軸と一致するようにＺ軸を設定したＴＣＰの、空間に固定された座標系における位置と加工工具の押付け方向ベクトルを含む工具軌道データを生成する軌道データ生成装置と、を備え、
該軌道データ生成装置により、
（Ａ）前記形状データからワーク表面の加工点位置と、各加工点における加工工具の押付け方向ベクトルとを生成し、
（Ｂ）各加工点において、加工工具の工具面がワーク表面と平行になるように、ＴＣＰ位置と工具軸方向ベクトルを算出し、
（Ｃ）各加工点において、ＴＣＰ位置と工具軸方向ベクトルを維持したままとりうる、前記７軸ロボットアームの複数の姿勢から、特異姿勢や外部との干渉のない姿勢を選択し、
前記加工工具は、工具軸を回転中心とし先端角がαの円錐型の工具面を有する円錐型工具であり、
前記（Ｂ）において、加工工具の前記円錐型の頂点にＴＣＰの原点を、回転軸と一致するようにＴＣＰのＺ軸を設定し、
工具軸方向ベクトルを、押付け方向ベクトルを送り方向回りに（９０−α／２）度又は−（９０−α／２）度回転させた方向に設定する、ことを特徴とする加工軌道生成装置が提案される。
【００１４】
また本発明によれば、ワーク表面を研削又は研磨により仕上げ加工する加工ロボットの加工軌道を生成する加工軌道生成方法であって、
記憶装置に、ワーク表面の形状データと、
工具軸を回転中心とする回転体の工具面を有し、ワーク表面に接触して加工する加工工具の工具データと、
前記加工工具を３次元空間内で移動する７軸ロボットアームのロボットデータと、を記憶する記憶ステップと、
軌道データ生成装置により、前記加工工具の回転軸上に原点を、回転軸と一致するようにＺ軸を設定したＴＣＰの、空間に固定された座標系における位置と加工工具の押付け方向ベクトルを含む工具軌道データを生成する軌道データ生成ステップと、を有し、
軌道データ生成ステップは、
（Ａ）前記形状データからワーク表面の加工点位置と、各加工点における加工工具の押付け方向ベクトルとを生成する第１ステップと、
（Ｂ）各加工点において、加工工具の工具面がワーク表面と平行になるように、ＴＣＰ位置と工具軸方向ベクトルを算出する第２ステップと、
（Ｃ）各加工点において、ＴＣＰ位置と工具軸方向ベクトルを維持したままとりうる、前記７軸ロボットアームの複数の姿勢から、特異姿勢や外部との干渉のない姿勢を選択する第３ステップと、を有し、
前記加工工具は、工具軸を回転中心とする球型の工具面を有する球型工具であり、
前記（Ｂ）において、加工工具の球型の工具面の中心にＴＣＰの原点を、回転軸と一致するようにＴＣＰのＺ軸を設定し、
ワーク表面の加工点を押付け方向ベクトルの逆向きに球型の半径距離をシフトしてＴＣＰ位置を算出する、ことを特徴とする加工軌道生成方法が提供される。
【００１５】
また本発明によれば、ワーク表面を研削又は研磨により仕上げ加工する加工ロボットの加工軌道を生成する加工軌道生成方法であって、
記憶装置に、ワーク表面の形状データと、
工具軸を回転中心とする回転体の工具面を有し、ワーク表面に接触して加工する加工工具の工具データと、
前記加工工具を３次元空間内で移動する７軸ロボットアームのロボットデータと、を記憶する記憶ステップと、
軌道データ生成装置により、前記加工工具の回転軸上に原点を、回転軸と一致するようにＺ軸を設定したＴＣＰの、空間に固定された座標系における位置と加工工具の押付け方向ベクトルを含む工具軌道データを生成する軌道データ生成ステップと、を有し、
軌道データ生成ステップは、
（Ａ）前記形状データからワーク表面の加工点位置と、各加工点における加工工具の押付け方向ベクトルとを生成する第１ステップと、
（Ｂ）各加工点において、加工工具の工具面がワーク表面と平行になるように、ＴＣＰ位置と工具軸方向ベクトルを算出する第２ステップと、
（Ｃ）各加工点において、ＴＣＰ位置と工具軸方向ベクトルを維持したままとりうる、前記７軸ロボットアームの複数の姿勢から、特異姿勢や外部との干渉のない姿勢を選択する第３ステップと、を有し、
前記加工工具は、工具軸を回転中心とする円柱型の工具面を有する円柱型工具であり、
前記（Ｂ）において、加工工具の工具端面の中心にＴＣＰの原点を、回転軸と一致するようにＴＣＰのＺ軸を設定し、
工具軸方向ベクトルを、押付け方向ベクトルを送り方向回りに＋９０度又は−９０度回転させた方向に設定し、
ワーク表面の加工点を押付け方向ベクトルの逆向きに円柱型の半径距離をシフトしてＴＣＰ位置を算出する、ことを特徴とする加工軌道生成方法が提供される。
【００１６】
また本発明によれば、ワーク表面を研削又は研磨により仕上げ加工する加工ロボットの加工軌道を生成する加工軌道生成方法であって、
記憶装置に、ワーク表面の形状データと、
工具軸を回転中心とする回転体の工具面を有し、ワーク表面に接触して加工する加工工具の工具データと、
前記加工工具を３次元空間内で移動する７軸ロボットアームのロボットデータと、を記憶する記憶ステップと、
軌道データ生成装置により、前記加工工具の回転軸上に原点を、回転軸と一致するようにＺ軸を設定したＴＣＰの、空間に固定された座標系における位置と加工工具の押付け方向ベクトルを含む工具軌道データを生成する軌道データ生成ステップと、を有し、
軌道データ生成ステップは、
（Ａ）前記形状データからワーク表面の加工点位置と、各加工点における加工工具の押付け方向ベクトルとを生成する第１ステップと、
（Ｂ）各加工点において、加工工具の工具面がワーク表面と平行になるように、ＴＣＰ位置と工具軸方向ベクトルを算出する第２ステップと、
（Ｃ）各加工点において、ＴＣＰ位置と工具軸方向ベクトルを維持したままとりうる、前記７軸ロボットアームの複数の姿勢から、特異姿勢や外部との干渉のない姿勢を選択する第３ステップと、を有し、
前記加工工具は、工具軸を回転中心とし先端角がαの円錐型の工具面を有する円錐型工具であり、
前記（Ｂ）において、加工工具の前記円錐型の頂点にＴＣＰの原点を、回転軸と一致するようにＴＣＰのＺ軸を設定し、
工具軸方向ベクトルを、押付け方向ベクトルを送り方向回りに（９０−α／２）度又は−（９０−α／２）度回転させた方向に設定する、ことを特徴とする加工軌道生成方法が提供される。
【００１７】
前記（Ｂ）において、工具形状データを利用して工具軸方向ベクトルを生成する。
【００１８】
前記（Ｃ）において、７軸ロボットアームの位置と姿勢を、１つの関節角、ＴＣＰの位置、ＴＣＰ座標系のロール角、ピッチ角、及びヨー角で表現し、
１つの前記関節角とロール角、ピッチ角、又はヨー角のいずれかを仮の値に固定して、ロール角、ピッチ角、及びヨー角を算出する。
【００１９】
前記（Ｃ）において、ＴＣＰ位置と工具軸方向ベクトルの姿勢から、７軸ロボットアームの各関節角を計算し、
各関節角から、ロボットの特異姿勢又は外部との干渉の有無をチェックする。
【００２０】
前記（Ｃ）において、ＴＣＰ位置と工具軸方向ベクトルの姿勢から、ＴＣＰ位置と工具軸方向ベクトルの姿勢を維持したままとりうる、前記７軸ロボットアームの姿勢から構成されるコンフィグレーション空間の各点において、ロボットの特異姿勢又は外部との干渉の有無を数値的に重みづけしたマップを作成し、そのマップ上でロボットアーム軌道を選択する。
【００２１】
前記マップにおいて、干渉の有無の重みづけに、ロボットアームの各リンクと外部の物体との最小距離を使用する、ことが好ましい。
【００２２】
前記マップにおいて、特異姿勢の重みづけに、ロボットアームの可操作度を使用する、ことが好ましい。
【００２３】
前記マップ上でのロボットアーム選定において、ロール角、ピッチ角、又はヨー角のいずれかを一定値という条件下で探索し、ロボットの特異姿勢又は外部との干渉のないロボットアーム軌道を選択する、ことが好ましい。
【発明の効果】
【００２４】
上記本発明によれば、軌道データ生成装置による軌道データ生成ステップの第１ステップにおいて、ワーク表面の加工点位置と、各加工点における加工工具の押付け方向ベクトルを生成する。工具の押付け方向は、押付け方向ベクトルの方向である。
また、第２ステップにおいて、加工工具の工具面がワーク表面と平行になるように、ＴＣＰ位置と工具軸方向ベクトルを算出する。
【００２５】
従って、ワークの形状が複雑な場合でも、教示作業なしに、工具形状に合わせて、工具の工具面をワーク表面に平行に設定し、かつハイブリッド制御に必要なＴＣＰの位置と姿勢と加工工具の押付け方向を含む工具軌道データを生成することができる。
【００２６】
また、本発明によれば、軌道データ生成装置によるデータ生成ステップの第３ステップにおいて、ＴＣＰ位置と工具軸方向ベクトルを維持したままとりうる、前記７軸ロボットアームの複数の姿勢から、特異姿勢や外部との干渉のない姿勢を選択する。
従って、７軸ロボットアームを用いてロボットの特異姿勢回避や外部との干渉を回避することができる。
【００２７】
すなわち、本発明によれば、ワーク表面の形状データから工具軌道データを自動生成するため、教示作業の手間が省ける。また、工具面をワークに密着させる軌道を生成しつつ、ロボット特有の問題である特異姿勢の回避もできるため、ロボットの特長である広い可動範囲を最大限に利用した加工が可能となる。
【図面の簡単な説明】
【００２８】
【図１】本発明の加工軌道生成装置を備えた加工ロボットの全体構成図である。
【図２】本発明の加工軌道生成方法の全体フロー図である。
【図３】ＣＡＭによるＣＬデータの説明図である。
【図４】工具軸を回転中心とする回転体の工具面を有する加工工具の具体例を示す図である。
【図５】本発明の第３ステップを示す説明図である。
【発明を実施するための形態】
【００２９】
以下、本発明の好ましい実施形態を添付図面に基づいて詳細に説明する。なお、各図において共通する部分には同一の符号を付し、重複した説明を省略する。
【００３０】
図１は、本発明の加工軌道生成装置２０を備えた加工ロボット１０の全体構成図である。
この図において、１はワーク（被加工部材）、４は加工工具、１０は加工ロボット、２０は本発明の加工軌道生成装置である。
加工軌道生成装置２０は、ワーク１の表面（以下、ワーク表面１ａ）を研削又は研磨により仕上げ加工する加工ロボット１０の加工軌道を生成する。
この加工軌道には、後述する工具軌道データＤ４と７軸ロボットアーム１２の姿勢（以下、ロボット姿勢と呼ぶ）が含まれる。
【００３１】
ワーク１は、加工工具４により、バリ取り、Ｃ面取り、又はラウンドエッジ加工される被加工部材であり、例えば鋳鉄等の硬い材質からなる。
ワーク１は図示しないワーク保持装置により所定位置に位置決めされている。
【００３２】
加工ロボット１０は、加工工具４を３次元空間内で移動する７軸ロボットアーム１２を備え、その手先部材１４に加工工具４を取り付け、工具軌道データＤ４の加工経路に沿って動作させてワーク１を加工する。この加工は、ワーク表面１ａを研削又は研磨する仕上げ加工である。
【００３３】
７軸ロボットアーム１２は、この例では、絶対座標系において、ワーク１と同一の固定部に固定されたベースｂ０と、６つのリンクｂ６，ｂ５，ｂ４，ｂ３，ｂ２，ｂ１とを有する。
リンクｂ５は、リンクｂ５−１とリンクｂ５−２とからなる。リンクｂ５−１のリンクｂ５−２に対する回転角、すなわち制御軸ａ７の角度を以下「第７関節角θ」と呼ぶ。
ベースｂ０からリンクｂ１まで、順に７軸の制御軸ａ６，ａ５，ａ７，ａ４，ａ３，ａ２，ａ１で連結され、それぞれの制御軸を数値制御するようになっている。
上述した手先部材１４は、制御軸ａ１を中心に回転可能である。
【００３４】
加工工具４は、工具軸Ｚを回転中心とする回転体の工具面５を有し、ワーク表面１ａに接触して加工する。また加工工具４は、７軸ロボットアーム１２の手先部材１４に取り付けられ、駆動装置６（この例では電動スピンドルモータ）により工具軸Ｚを中心に回転駆動される。
加工工具４は、好ましくは、工具軸Ｚを回転中心とする球型、円柱型、又は円錐型の工具面５を有する回転工具である。
【００３５】
以下、本発明において、加工工具４のＴＣＰ（Ｔｏｏｌ  Ｃｅｎｔｅｒ  Ｐｏｉｎｔ）を原点とする座標系をＴＣＰ座標系と呼ぶ。ＴＣＰ座標系は工具軸Ｚをｚ軸とするｘ，ｙ，ｚの直交座標系である。
【００３６】
この例において、力覚センサ８は、例えばロードセルであり、３次元的に移動可能な７軸ロボットアーム１２の手先部材１４に取り付けられ、手先部材１４に作用する外力を検出するようになっている。
力覚センサ８で検出される外力は、好ましくは６自由度の外力（３方向の力と、３軸まわりのトルク）であるが、本発明はこれに限定されず、ワーク１に対する押付力が検出できる限りで、その他の力センサであってもよい。
【００３７】
加工ロボット１０は、さらにロボットコントローラ１６を備える。ロボットコントローラ１６は、例えば数値制御装置であり、指令信号により７軸ロボットアーム１２の手先部材１４を６自由度（３次元位置と３軸まわりの回転）に制御する。
【００３８】
加工ロボット１０によるワーク表面１ａの研削又は研磨による仕上げ加工は、後述する工具軌道データＤ４を目標軌道として加工工具４の移動を位置制御し、同時に加工工具４の押付け力を力制御するハイブリッド制御であるのがよい。
このハイブリッド制御では、加工工具４の押付け方向の力が目標値となるように力制御しながら、押付け方向に直交する方向は、工具軌道データＤ４に追従するように位置制御する。従って、力制御と位置制御とが干渉しない特徴がある。
【００３９】
図１において、本発明の加工軌道生成装置２０は、記憶装置２２、及び軌道データ生成装置２４を備える。
【００４０】
記憶装置２２は、ワーク表面１ａの形状データＤ１と、加工工具４の工具データＤ２と、７軸ロボットアーム１２のロボットデータＤ３とを記憶する。
この記憶装置２２には、ＣＡＤシステムとＣＡＭシステムがインストールされているのがよい。以下、ＣＡＤシステムとＣＡＭシステムを単にＣＡＤ（ｃｏｍｐｕｔｅｒ  ａｉｄｅｄ  ｄｅｓｉｇｎ）、ＣＡＭ（ｃｏｍｐｕｔｅｒ  ａｉｄｅｄ  ｍａｎｕｆａｃｔｕｒｉｎｇ）と呼ぶ。
軌道データ生成装置２４は、加工工具４のＴＣＰ位置Ｐ（以下単に、ＴＣＰ位置Ｐと呼ぶ）と加工工具４の押付け方向ベクトルｖを含む工具軌道データＤ４を生成する。
【００４１】
ＴＣＰ位置Ｐは、Ｐ＝（Ｘ，Ｙ，Ｚ）で表される。ＴＣＰ位置Ｐは絶対座標系における３次元位置である。
加工工具４の押付け方向ベクトルｖ（すなわち力制御の方向）は、ワーク表面１ａに対する法線方向ベクトルｖ＝（ｖｘ，ｖｙ，ｖｚ）で表される。押付け方向ベクトルｖ、すなわち法線方向ベクトルｖは、単位ベクトルである。
【００４２】
なお、本発明は、加工工具４の位置Ｐ、工具姿勢Ｑ、及び押付け方向ベクトルｖを設定できる限りで、これらの座標系と姿勢パラメータの定義に限定されない。一般に、姿勢表現には多種の定義のパラメータが使用されている。
【００４３】
軌道データ生成装置２４は、例えば、ＰＣ（コンピュータ）であり、工具軌道データＤ４を演算し、ロボットコントローラ１６に出力する。
軌道データ生成装置２４は、この例では、ロボットコントローラ１６と別個に設けられているが、ロボットコントローラ１６と軌道データ生成装置２４を同一の制御ＰＣで構成してもよい。
【００４４】
図２は、本発明の加工軌道生成方法の全体フロー図である。
上述した装置を用い、本発明の加工軌道生成方法は、記憶ステップＳ１と軌道データ生成ステップＳ２とを有する。
【００４５】
記憶ステップＳ１では、記憶装置２２に、ワーク表面１ａの形状データＤ１、加工工具４の工具データＤ２、及び７軸ロボットアーム１２のロボットデータＤ３を記憶する。
【００４６】
軌道データ生成ステップＳ２では、軌道データ生成装置２４により、加工工具４の回転軸上に原点を、回転軸と一致するようにＺ軸を設定したＴＣＰの、空間に固定された座標系における位置と、加工工具４の押付け方向ベクトルｖを含む工具軌道データＤ４を生成する。
軌道データ生成ステップＳ２は、Ｓ２１〜Ｓ２３の各ステップ（工程）からなる。
【００４７】
第１ステップＳ２１では、ワーク表面１ａの形状データＤ１（すなわちＣＡＤモデル）からワーク表面１ａの加工点Ｐ１の位置（加工点位置）と、各加工点における加工工具４の押付け方向ベクトルｖとを生成する。
第１ステップＳ２１において、ＣＡＭを使用して、ワーク表面１ａの法線方向となるように押付け方向ベクトルｖを生成するのがよい。
【００４８】
第１ステップＳ２１において、ＣＡＭシステムによっては、ワーク表面１ａの加工点Ｐ１の位置と加工主軸の方向ベクトルが出力されるものがあるが、加工主軸がワーク表面１ａに垂直となるような設定でＣＬデータを出力することで、加工主軸の方向ベクトルを押付け方向ベクトルｖとして使用して、本発明を適用できる。また、ＣＡＭシステムによっては、ワーク表面１ａの加工点Ｐ１の位置と加工主軸の姿勢角が出力されるものがあるが、加工主軸がワーク表面１ａに垂直となるような設定でＣＬデータを出力し、加工主軸の姿勢角から加工主軸の方向ベクトルを算出することで、本発明を適用できる。
【００４９】
第２ステップＳ２２では、第１ステップＳ２１における各加工点Ｐ１において、加工工具４の工具面５がワーク表面１ａと平行になるように、工具形状データを利用してＴＣＰ位置Ｐと工具軸方向ベクトルｗを算出する。工具軸方向ベクトルｗは、ＴＣＰ座標のＺ軸方向ベクトルである。
第２ステップＳ２２において、第１ステップＳ２１のデータから、加工工具４の工具面５の形状に応じて、工具軸方向ベクトルｗ＝（ｗｘ，ｗｙ，ｗｚ）を算出する。この算出の詳細は後述する。
【００５０】
第３ステップＳ２３では、各加工点Ｐ１において、ロボットの特異姿勢と外部との干渉を回避するように、ＴＣＰ位置Ｐと工具軸方向ベクトルｗを維持したままとりうる、７軸ロボットアーム１２の複数の姿勢から、特異姿勢や外部との干渉のない１つの姿勢を選択する。
【００５１】
すなわち第３ステップＳ２３では、第２ステップＳ２２の結果に基づき、加工ロボット１０の姿勢、すなわち７軸ロボットアーム１２の姿勢（ロボット姿勢）を算出する。
第３ステップＳ２３において、加工ロボット１０の姿勢を、ＴＣＰ座標系のロール角Ａ、ピッチ角Ｂ、及びヨー角Ｃで表現し、ロール角Ａ、ピッチ角Ｂ、又はヨー角Ｃのいずれかを仮の値に固定して、ロール角Ａ、ピッチ角Ｂ、及びヨー角Ｃを算出するのがよい。
【００５２】
また第３ステップＳ２３において、ＴＣＰ位置Ｐと工具軸方向ベクトルｗの姿勢から、７軸ロボットアーム１２の各関節角を計算し、各関節角から、ロボットの特異姿勢又は外部との干渉の有無をチェックするのがよい。
【００５３】
第３ステップＳ２３において、ＴＣＰ位置Ｐと工具軸方向ベクトルｗの姿勢から、ＴＣＰ位置Ｐと工具軸方向ベクトルｗの姿勢を維持したままとりうる、７軸ロボットアーム１２の姿勢から構成されるコンフィグレーション空間の各点において、ロボットの特異姿勢又は外部との干渉の有無を数値的に重みづけしたマップを作成し、そのマップ上でロボットアーム軌道を選択する、ことが好ましい。
コンフィギュレーション空間とは、ある区切られた空間内で、特定の物体を他の物体と重なることなく置ける場所の有無（ｆｉｎｄｓｐａｃｅ）や、指定された場所から他の場所まで他の物体と衝突せずに移動する経路の有無（ｆｉｎｄｐａｔｈ）を計算機を用いて知るために提案された空間表現法である。
【００５４】
また、マップにおいて、干渉の有無の重みづけに、ロボットアームの各リンクと外部の物体との最小距離を使用する、ことが好ましい。
【００５５】
また、マップにおいて、特異姿勢の重みづけに、ロボットアームの可操作度を使用する、ことが好ましい。
【００５６】
また、マップ上でのロボットアーム選定において、ロール角Ａ、ピッチ角Ｂ、又はヨー角Ｃのいずれかを一定値という条件下で探索し、ロボットの特異姿勢又は外部との干渉の有無のないロボットアーム軌道を選択する、ことが好ましい。
【００５７】
以下、ロボット姿勢を算出する第３ステップＳ２３について詳述する。
【００５８】
７軸ロボットアーム１２の位置と姿勢は、第７関節角θ（度）、ＴＣＰの位置Ｘ，Ｙ，Ｚ（ｍｍ）、ＴＣＰ座標系のロール角Ａ（度）、ピッチ角Ｂ（度）、ヨー角Ｃ（度）で表現する。第７関節角θとヨー角Ｃを仮の値を設定して、ロール角Ａとピッチ角Ｂを以下のように算出する。
【００５９】
ロール角Ａ、ピッチ角Ｂ、ヨー角Ｃと回転行列Ｒの関係は、数１の式（１）で表される。
前提として、ＴＣＰ座標系のｚ軸を、工具軸Ｚと一致させるように設定すると、式（２）となる。式（２）のｗｘ，ｗｙ，ｗｚの各値は、第２ステップＳ２２で計算済みである。
【００６０】
【数１】
0006390832.tif 000002
【００６１】
これらの条件から、ロール角Ａ、ピッチ角Ｂ、ヨー角Ｃを算出する。つまり、数２の式（３）の３列目の関係式である式（４）の連立方程式を解くことで、ロール角Ａ、ピッチ角Ｂ、ヨー角Ｃを算出することができる。
【００６２】
【数２】
0006390832.tif 000003
【００６３】
式（４）の連立方程式は、変数が１つ多いため解けない。そのため、ロール角Ａを仮の値に固定する。
式（４）の１行目にＣＡ、２行目にＳＡをそれぞれかけて足し合わせると、数３の式（５）（６）となり、ピッチ角Ｂは、ＣＣ≠０において、式（７）により算出できる。
なお、ＣＣ＝０（ｃｏｓＣ＝０）では解を一意に決めることはできないので、ｃｏｓＣ＝０（すなわちＣ＝９０度）とならない工具の当て方を選んでおく必要がある。ピッチ角Ｂを式（６）又は（８）に代入してヨー角Ｃを算出する。
これにより、θ，Ｘ，Ｙ，Ｚ，Ａ，Ｂ，Ｃが算出され、７軸ロボットアーム１２の姿勢が決定される。
【００６４】
【数３】
0006390832.tif 000004
【００６５】
以下、第３ステップＳ２３の代替実施例を説明する。
【００６６】
＜加工ロボット１０の軌道生成方法１（衝突回避）＞
式（４）の計算後、軌道上のある点において、ロール角Ａを−１８０，−１７０，−１６０，・・・１６０，１７０，１８０に、第７関節角θを−１８０，−１７０，−１６０，・・・１６０，１７０，１８０に、仮決めして、式（５）〜（８）でピッチ角Ｂ、ヨー角Ｃを計算する。つまり、ロール角Ａと第７関節角θの組み合わせから表１のようなテーブルを作成する。
【００６７】
【表１】
0006390832.tif 000005
【００６８】
表１のテーブル上の第７関節角θとＴＣＰ位置Ｐ（Ｘ，Ｙ，Ｚ）と工具姿勢Ｑ（Ａ，Ｂ，Ｃ）から、７軸ロボットアーム１２の各関節角を計算する。６軸ロボットアームであれば、この計算方法はＰｉｅｐｅｒの方法が一般的に知られている。７軸ロボットアーム１２の場合も、第７関節角θを与えれば、同様に計算することが可能であり、表２のようなテーブルを作成できる。
ただし、Ｊ１〜Ｊ７は７つの関節軸の関節角であり、図１の制御軸ａ１，ａ２，ａ３，ａ４，ａ５，ａ６，ａ７の角度である。
【００６９】
【表２】
0006390832.tif 000006
【００７０】
７軸ロボットアーム１２の各関節角から、周辺物との干渉をチェックすることができる。例えば、７軸ロボットアーム１２を円柱の連なった形状に近似し、周辺物が、点、線分、三角形、で表現されるとすると、７軸ロボットアーム１２のリンクパラメータ（関節軸と関節軸の相対位置を表現したもの）を使って、例えば、
（１）第１関節軸（制御軸ａ１）の座標系（Ｚ軸がモータ軸）と第１リンクｂ１（手先部材１４）の長さ、第１リンクｂ１の直径から、第１リンクｂ１と周辺物との距離を計算し、その最短距離を記録する。干渉する場合は負の値（−１など）を記録する。
（２）第２関節軸（制御軸ａ２）の座標系の位置を計算し、第２リンクｂ２についても、周辺物との干渉を計算する。
同様に第６関節軸（制御軸ａ６）まで同様の計算を実施し、表３のテーブルを作成する。ただし、Ｄｍｉｎは全リンクの最短距離、−１は干渉することを示す。
【００７１】
【表３】
0006390832.tif 000007
【００７２】
表３のテーブルを使い、ロール角Ａと第７関節角θを決定する。決定方法は以下の（１）（２）が考えられる。
【００７３】
（１）例えば、ロール角Ａ＝−１８０〜Ａ＝１８０、第７関節角θ＝−１８０〜θ＝１８０の各列ごとに、Ｄｍｉｎの最小値を抽出し、その最小値が最大となる列を採用するという方法で、Ａの値を選定する。
すなわち、表４の例ではロール角Ａ＝１８０、第７関節角θ＝１８０の列のＤｍｉｎの最小値が５０であるため、ロール角Ａ＝１８０、第７関節角θ＝１８０を採用する。これにより、軌道全体についてロール角Ａと第７関節角θを固定した軌道が得られる。
【００７４】
【表４】
0006390832.tif 000008
【００７５】
（２）例えば、表５のように、点１でＤｍｉｎが最大のロール角Ａ＝１８０、第７関節角θ＝１８０をスタートし、各点のＤｍｉｎが最大のロール角Ａと第７関節角θをたどって軌道を作成する。ただし、ロール角Ａと第７関節角θが急に変化すると、加工ロボット１０の動作が振動的になるため、ロール角Ａと第７関節角θの変化を一定幅以内として探索する必要がある。
【００７６】
【表５】
0006390832.tif 000009
【００７７】
＜加工ロボット１０の軌道生成方法２（可操作度ｗ２＝特異姿勢回避）＞
加工ロボット１０の関節角から、ヤコビ行列Ｊを計算する。可操作度ｗ２は数４の式（９）で定義される。ヤコビ行列Ｊとは、加工ロボット１０の関節角速度と手先速度との変換行列である。特異姿勢では、ヤコビ行列Ｊがフルランクでなくなるため、可操作度ｗ２は０に近づく。可操作度ｗ２が大きいということは、手先がどの方向にも動きやすいことを意味するため、加工ロボット１０にとって楽な姿勢といえる。
【００７８】
【数４】
0006390832.tif 000010
【００７９】
この指標を前述のようにテーブルにし、前述の（１）（２）のように探索して、ロール角Ａと第７関節角θを決定することができる。
【実施例】
【００８０】
本発明では、加工ロボット１０を精密仕上げ加工に適用する上での課題を整理し、シンプルで汎用性の高い、加工ロボット１０の加工軌道生成装置２０と方法を提案する。
【００８１】
加工ロボット１０を精密仕上げ加工に適用する上での、軌道生成の課題は以下の通り。
（１）形状が複雑なワーク１への対応
形状が複雑なワーク１のエッジ面取りや曲面磨きの軌道を生成するには、ワーク表面１ａの形状データＤ１を数値化又は定式化する必要があるため、複雑形状への対応は一般に難しい。一方、一般のＣＡＭではそれらの処理が行われているが、一般のＣＡＭはロボットアームに対応していない。また、ロボットアームの軌道生成に対応した加工ロボット用のＣＡＭもあるが、位置と力のハイブリッド制御に必要な目標軌道は生成できない。
なお、ＣＡＭとは、製品の製造を行うために、ＣＡＤで作成された形状データＤ１を入力データとして、加工用のＮＣプログラム作成などの生産準備全般をコンピュータ上で行うシステムである。
（２）多様な工具形状への対応
精密仕上げ加工では、狭隘部への工具のアクセス等のため、球型、円柱型、円錐型、など、多様な形状の工具を使用する必要がある。
（３）位置と力のハイブリッド制御への対応
ロボットアームの絶対位置の位置決め精度は低いため、オフラインでの軌道生成と位置決め誤差の補償手段とを組み合わせて使用する必要がある。位置と力のハイブリッド制御の使用を前提とすると、目標軌道として、ＴＣＰ位置Ｐと姿勢及び加工工具４の押付け方向ベクトルｖを含む工具軌道データＤ４が必要である。
（４）加工ロボット１０の特異姿勢や干渉の回避
７軸ロボットアーム１２の手先部材１４に工具軸Ｚを回転中心とする工具面５を有する回転工具を設置すると、回転工具の軸対称性により、冗長性が生じる。つまり、同じ加工を実現する加工ロボット１０の姿勢が無数に存在し、この中から１つの姿勢を決定する必要がある。逆にこのことは、加工軌道において、７軸ロボットアーム１２が特異姿勢をとる、周辺物と干渉する、などが懸念される場合、加工を変えることなく、これらを回避できる可能性を意味する。
なお、７軸ロボットアーム１２は、上記冗長性の他にも、冗長軸（第７関節角θ）を有する。
【００８２】
（ＣＡＭで生成するデータの内容）
多軸工作機械の普及に伴い、ＣＡＭの導入が進んでいる。ＣＡＭで５軸工作機械の加工プログラムであるＮＣデータを作成する手順は、およそ以下の通りである。
まず、（１）ＣＬデータ（Ｃｕｔｔｅｒ  Ｌｏｃａｔｉｏｎ  Ｄａｔａ）と呼ばれる中間データを出力する。これは加工形状を実現するために工具が描くべきＴＣＰ位置Ｐの軌道であり、ＴＣＰ位置Ｐの座標点列と、各点における工具軸方向ベクトルｗ（＝主軸の姿勢）とから構成される。
次に、（２）ＣＬデータから工作機械を動作させるＮＣデータに変換する。
最後に、（３）工作機械を動作させながら、ＮＣデータの工具回転速度や送り速度の設定を調整し、加工のＮＣデータを完成させる。
【００８３】
（提案する軌道生成方法）
以下のステップからなる軌道生成方法を提案する。
（１）ＣＡＭによるＣＬデータの作成
図３は、ＣＡＭによるＣＬデータの説明図である。
市販のＣＡＭを使用し、ワーク１の加工エッジや加工面上の点の位置Ｐ１（Ｘ，Ｙ，Ｚ）と、位置と力のハイブリッド制御で使用する押付け方向ベクトルｖ（ｖｘ，ｖｙ，ｖｚ）からなる中間データを生成する。押付け方向ベクトルｖは、曲面の磨きにおいてはワーク表面１ａの法線方向（図３）、エッジの面取りにおいては角の２等分方向のベクトルとする。
【００８４】
ただし、ＣＡＭは押付け方向ベクトルｖを直接生成するわけではなく、５軸工作機械の工具軸方向ベクトルｗを生成するに過ぎない。そこで、工具軸方向ベクトルｗが加工面の法線方向やエッジの２等分方向となるようにＣＡＭ側を設定することで、位置と力のハイブリッド制御で使用可能な、押付け方向ベクトルｖを含んだ工具軌道データＤ４を出力することができる。
【００８５】
（工具形状に対応した工具姿勢Ｑの計算）
（２）（１）で生成したＣＬデータと加工工具４の形状と当て方から、中間的な加工ロボット１０の工具軌道データＤ４を生成する。この中間の工具軌道データＤ４は、加工工具４の工具面５が接するように動作するＴＣＰ位置Ｐ、工具軸方向ベクトルｗの姿勢、加工工具４の押付け方向ベクトルｖから構成される。
つまり、ここでは加工工具４の工具面５の形状による幾何学的な制約条件から、工具面５がワーク表面１ａに接するような工具軸方向ベクトルｗを軌道上の各ＴＣＰ位置Ｐについて算出する。なお、これだけでは加工ロボット１０の姿勢（ロボット姿勢）は一意に決まらないため、この条件を満たす加工ロボット１０の姿勢を仮に１つ算出する。
【００８６】
工具面５の形状ごとに、以下のように算出する。なお、加工ロボット１０の姿勢はＴＣＰ座標系のロール角Ａ、ピッチ角Ｂ、ヨー角Ｃで表現し、ＴＣＰ座標系のｚ軸を工具軸Ｚとする。
【００８７】
図４は、工具軸Ｚを回転中心とする回転体の工具面５を有する加工工具４の具体例を示す図である。なお図４における加工工具４は、工具軸Ｚを回転中心とする球型（Ａ）、円柱型（Ｂ）（Ｃ）、円錐型（Ｄ）の工具面５を有する回転工具である。
【００８８】
図４（Ａ）は、工具軸Ｚを回転中心とする球型の工具面５を有する回転工具を示している。以下、かかる回転工具を球型工具と呼ぶ。
ＴＣＰ座標の原点Ｐを球型の工具面５の中心に設定する。ＣＬデータの各点Ｐ１を押付け方向ベクトルｖの逆向きに球型の半径距離ｒをシフトすると、球型工具の姿勢にかかわらず、球型工具とワーク１とが接する軌道となる。つまり、工具軸方向と加工ロボット１０の姿勢の両方に任意の値を設定することができる。
【００８９】
すなわち、球型工具では、加工工具４の球型の工具面５の中心にＴＣＰの原点を、回転軸と一致するようにＴＣＰのＺ軸を設定し、ワーク表面１ａの加工点Ｐ１を押付け方向ベクトルｖの逆向きに球型の半径距離ｒをシフトしてＴＣＰ位置Ｐを算出する。
【００９０】
ここで、「ＴＣＰを設定する」とは、ロボットの手先のフランジ座標系を基準として、工具の球面の中心位置を原点とし、工具軸がＺ軸となるようなＴＣＰ座標系を設定することを意味する（ＸＹＺＡＢＣで完全に定義する）。このとき、ＴＣＰ座標系のＸ軸、Ｙ軸は任意であるが、どちらかの軸をフランジ座標系の軸と同じにしておいたりする。
また、「ＴＣＰ位置Ｐを算出する」とは、空間に固定された座標系（ロボットのベース座標系や、テーブル座標系など）を基準として、ＴＣＰの空間上の位置を算出することを意味する。そして空間上のＴＣＰの位置姿勢（ＸＹＺＡＢＣ）とは、ＴＣＰをその空間上の位置に移動させることのできるロボットの位置姿勢と同義であるが、ここではまだＴＣＰ座標系の位置（ＸＹＺ）だけなので、まだロボットの位置姿勢は１つには決まらない。
【００９１】
図４（Ｂ）は、工具軸Ｚを回転中心とする円柱型工具の工具端面を使う場合を示している。
ＴＣＰ座標の原点Ｐを工具端面の中心に設定する。ＴＣＰ座標のＺ軸方向ベクトルｎＺを押付け方向ベクトルｖと一致するように設定する。次に、ＴＣＰ座標の姿勢を算出するには、上述した式（４）を解いてロール角Ａ、ピッチ角Ｂ、ヨー角Ｃを算出する。
ただし、ＣＰ：ｃｏｓＰの略記（Ｐ＝Ａ，Ｂ，Ｃ）、ＳＰ：ｓｉｎＰの略記（Ｐ＝Ａ，Ｂ，Ｃ）、である。Ｚ軸方向ベクトルｎＺが与えられてもロール角Ａ、ピッチ角Ｂ、ヨー角Ｃは一意に決まらないため、簡単のため、ロール角Ａを（例えば０に）固定して残りのピッチ角Ｂ、ヨー角Ｃを算出することで、ＴＣＰ座標の仮の姿勢とする。
【００９２】
図４（Ｃ）は、工具軸Ｚを回転中心とする円柱型の工具面５を有する回転工具を示している。以下、かかる回転工具を円柱型工具と呼ぶ。
ＴＣＰ座標の原点Ｐを図４（Ｂ）と同様に工具端面の中心に設定する。ＴＣＰ座標のＺ軸方向ベクトルｎＺは、押付け方向ベクトルｖを送り方向回りに＋９０度又は−９０度回転させた方向に設定する。なお、送り方向は軌道上の次の点に向かう方向を算出して使用する。Ｚ軸方向ベクトルｎＺ設定後のＴＣＰ座標の仮の姿勢角の算出は図４（Ｂ）と同様である。また、図４（Ａ）と同様に、ＣＬデータ上の点を円柱型の半径距離ｒをシフトして、工具とワーク１が接するようにする。
【００９３】
図４（Ｄ）は、工具軸Ｚを回転中心とする円錐型の工具面５を有する回転工具を示している。以下、かかる回転工具を円錐型工具と呼ぶ。
円錐型工具では、加工工具４の円錐型の頂点にＴＣＰの原点を、回転軸と一致するようにＴＣＰのＺ軸を設定する。
先端角をαとすると、工具軸方向ベクトルｗを、押付け方向ベクトルｖを送り方向回りに（９０−α／２）度又は−（９０−α／２）度回転させた方向に設定する。送り方向の算出は図４（Ｃ）と同様であり、ＴＣＰ座標の仮の姿勢角の算出は図４（Ｂ）と同様である。
【００９４】
（加工ロボット１０の軌道の生成）
図５は、本発明の第３ステップＳ２３を示す説明図である。
上述した工具の軸対称性による冗長性より、図５に破線で示すように、工具軸Ｚ（＝ＴＣＰのＺ軸回り）の方向を変えずに加工ロボット１０の姿勢を変えることで、加工に影響なく、加工ロボット１０の姿勢を選択することができる。
そこで、算出した軌道上の各点のＴＣＰ座標の姿勢を工具軸Ｚを中心に回転させて、特異姿勢の回避や、周辺物との干渉回避を行う。この計算は、パラメータが工具軸Ｚ回りの回転量のみであるため、試行錯誤的に姿勢を選択すればよい。
【００９５】（動作試験）  ３次元的な曲面を持つアルミ製ファンをＣＡＤでモデリングし、本発明の方法で軌道を生成した。さらに、位置と力のハイブリッド制御でフェルトバフによる磨き加工を行い、本発明の適用性を確認した。  なお、フェルトバフの形状は砲弾型であるが、円錐型工具（図４（Ｄ））の軌道生成方法を適用し、先端角の値を変えることで、バフの当てる位置を調整することができる。３次元ＣＡＤはＳｏｌｉｄＷｏｒｋｓ（登録商標）を、軌道生成ソフトウェアは、加工ロボット１０のＣＡＭであるＲｏｂｏｔＷｏｒｋｓを使用した。【００９６】
上述したように精密仕上げ加工は自動化が遅れており、熟練技能に依存している。そこで、本発明では、精密仕上げ加工用の加工ロボット１０の前提条件や課題を整理し、ＣＡＭとの親和性の高い、シンプルで汎用性の高い軌道生成方法を提案し、磨き加工によって適用性を確認した。
その後、提案する軌道生成方法を使って、多様な形状の工具を使い分けながら、形状が複雑な部品の仕上げに対応するロボットシステムを開発し、精密仕上げ加工に適用できることが確認された。
【００９７】
上述した本発明によれば、軌道データ生成装置２４による軌道データ生成ステップＳ２の第１ステップＳ２１において、ワーク表面１ａの加工点位置、及び押付け方向ベクトルｖを生成する。加工工具４の押付け方向は、押付け方向ベクトルｖの方向である。
また、第２ステップＳ２２において、加工工具４の工具面５がワーク表面１ａと平行になるように、ＴＣＰ位置Ｐと工具軸方向ベクトルｗを算出する。
【００９８】
従って、ワーク１の形状が複雑な場合でも、教示作業なしに、工具形状に合わせて、加工工具４の工具面５をワーク表面１ａに平行に設定することができる。また、位置と力のハイブリッド制御に必要なＴＣＰ位置Ｐと加工工具４の押付け方向を含む工具軌道データＤ４を生成することができる。
【００９９】
また、本発明によれば、軌道データ生成装置２４による軌道データ生成ステップＳ２の第３ステップＳ２３において、ＴＣＰ位置Ｐと工具軸方向ベクトルｗを維持したままとりうる、７軸ロボットアーム１２の複数の姿勢から、特異姿勢や外部との干渉のない姿勢を選択する。
従って、７軸ロボットアーム１２を用いてロボットの特異姿勢回避や外部との干渉を回避することができる。
【０１００】
すなわち、本発明によれば、ワーク表面１ａの形状データＤ１から工具軌道データＤ４を自動生成するため、教示作業の手間が省ける。また、工具面５をワーク１に密着させる軌道を生成しつつ、ロボット特有の問題である特異姿勢の回避もできるため、ロボットの可動範囲を最大限に利用した加工が可能となる。
【０１０１】
なお、本発明は上述した実施形態に限定されず、特許請求の範囲の記載によって示され、さらに特許請求の範囲の記載と均等の意味及び範囲内でのすべての変更を含むものである。
【符号の説明】
【０１０２】
Ａ  ロール角、Ｂ  ピッチ角、Ｃ  ヨー角、θ  第７関節角、
ａ１、ａ２、ａ３、ａ４、ａ５、ａ６、ａ７  制御軸、ｂ０  ベース、
ｂ１、ｂ２、ｂ３、ｂ４、ｂ５、ｂ５−１、ｂ５−２、ｂ６  リンク、
Ｄ１  形状データ、Ｄ２  工具データ、Ｄ３  ロボットデータ、
Ｄ４  工具軌道データ、Ｄｍｉｎ  全リンクの最短距離、Ｊ  ヤコビ行列、
Ｊ１、Ｊ２、Ｊ３、Ｊ４、Ｊ５、Ｊ６、Ｊ７  関節軸の関節角、
Ｐ  ＴＣＰ位置、Ｐ１  加工点、Ｑ  工具姿勢、ｒ  半径距離、
ｖ  押付け方向ベクトル（法線方向ベクトル）、ｗ  工具軸方向ベクトル、
ｗ２  可操作度、Ｚ  工具軸、１  ワーク（被加工部材）、１ａ  ワーク表面、
４  加工工具、５  工具面、６  駆動装置、８  力覚センサ、
１０  加工ロボット、１２  ７軸ロボットアーム、１４  手先部材、
１６  ロボットコントローラ、２０  加工軌道生成装置、２２  記憶装置、
２４  軌道データ生成装置
【図１】
0006390832.tif 000011
【図２】
0006390832.tif 000012
【図３】
0006390832.tif 000013
【図４】
0006390832.tif 000014
【図５】
0006390832.tif 000015