【新規性喪失の例外の表示】特許法第30条第2項適用 平成25年12月18日に第14回 公益社団法人計測自動制御学会 システムインテグレーション部門講演会 SI2013予稿集の第0525頁から第0528頁にて発表 発行者は公益社団法人計測自動制御学会(SICE)
(58)【調査した分野】(Int.Cl.,DB名)
前記(C)において、TCP位置と工具軸方向ベクトルの姿勢から、TCP位置と工具軸方向ベクトルの姿勢を維持したままとりうる、前記7軸ロボットアームの姿勢から構成されるコンフィグレーション空間の各点において、ロボットの特異姿勢又は外部との干渉の有無を数値的に重みづけしたマップを作成し、そのマップ上でロボットアーム軌道を選択することを特徴とする、ことを特徴とする請求項9に記載の加工軌道生成方法。
前記マップにおいて、干渉の有無の重みづけに、ロボットアームの各リンクと外部の物体との最小距離を使用する、ことを特徴とする請求項10に記載の加工軌道生成方法。
前記マップ上でのロボットアーム選定において、ロール角、ピッチ角、又はヨー角のいずれかを一定値という条件下で探索し、ロボットの特異姿勢又は外部との干渉のないロボットアーム軌道を選択する、ことを特徴とする請求項10に記載の加工軌道生成方法。
【発明の概要】
【発明が解決しようとする課題】
【0005】
仕上げ加工とは、切削加工や研削加工等の後に、最終的に求められる形状や粗さに調整する加工であり、バリ取り、面取り、磨き、など多様な加工が含まれる。形状が複雑な部品や精密部品の仕上げ加工は、従来、熟練した作業者の手作業によって実施されており自動化が遅れている。このように人の技能に依存しているため、作業者の熟練度や体調によって品質や作業時間がばらつく可能性があり、自動化が長い間望まれていた。
【0006】
この要望を満たすため、ロボットアームを使用した仕上げ加工の自動化の研究開発が続けられている。ロボットアームは、可動範囲が広く、繰り返し位置決め精度が高い利点があるが、その反面、絶対位置決め精度が低い欠点がある。この欠点を補償するため、受動機構によるアプローチや制御技術の高度化によるアプローチが提案されている。特に、制御技術の高度化によるアプローチは、手先姿勢の変化に対しても工具重力の影響を高精度に除去できる点で、複雑形状の精密仕上げ加工に適している。
【0007】
制御技術の高度化における代表的な制御手段として、位置と力のハイブリッド制御がある。この制御手段は、ロボットの手先を対象物に一定の力で押し付けつつ、形状に倣う動作を可能とする。この技術をベースに、高速化や高精度化が提案されており、グラインダ作業などの比較的粗い仕上げ加工への適用は進んでいるが、精密仕上げ加工への適用事例は少ない。
【0008】
精密仕上げ加工への適用が進まない1つの原因として、軌道生成の問題がある。ロボットアームの軌道は、教示作業で設定するのが一般的であるが、精密仕上げ加工への適用では教示作業が煩雑になることが多いため、オフライン軌道生成が提案されてきた。しかし、オフライン軌道生成は、以下の問題点があり、精密仕上げ加工への汎用的な適用は困難であった。
(1)位置と力のハイブリッド制御の目標軌道に必要な押付け方向が生成されない。
(2)ロボットアームの冗長性の問題や特異姿勢の問題に明確に対処されていない。
(3)工具とワークの形状に制約がある。
【0009】
すなわち、精密仕上げ加工する加工ロボットの加工軌道を設定する手段として、従来、人が予めロボットの加工軌道を教示する教示作業や、ロボット用CAMの利用が知られていた。
しかし、曲面の磨き等、ワークの形状が複雑な場合、円錐型、円柱型などの工具形状に合わせて、(4)工具の工具面(外周面)をワーク表面に平行に設定する教示作業は煩雑であり、手間と時間を要し、ロボットの稼働率が低下する問題点があった。
【0010】
本発明は、上述した問題点を解決するために創案されたものである。すなわち、本発明の第1の目的は、ワークの形状が複雑な場合でも、教示作業なしに、工具形状に合わせて、ハイブリッド制御に必要な工具の押付け方向を含む工具軌道データを生成することができる加工軌道生成装置と方法を提供することにある。また、本発明の第2の目的は、7軸ロボットアームを用いてロボットの特異姿勢回避や外部との干渉を回避することができる加工軌道生成装置と方法を提供することにある。
【課題を解決するための手段】
【0011】
本発明によれば、ワーク表面を研削又は研磨により仕上げ加工する加工ロボットの加工軌道を生成する加工軌道生成装置であって、
ワーク表面の形状データと、
工具軸を回転中心とする回転体の工具面を有し、ワーク表面に接触して加工する加工工具の工具データと、
前記加工工具を3次元空間内で移動する7軸ロボットアームのロボットデータと、を記憶する記憶装置と、
前記加工工具の回転軸上に原点を、回転軸と一致するようにZ軸を設定したTCPの、空間に固定された座標系における位置と加工工具の押付け方向ベクトルを含む工具軌道データを生成する軌道データ生成装置と、を備え、
該軌道データ生成装置により、
(A)前記形状データからワーク表面の加工点位置と、各加工点における加工工具の押付け方向ベクトルとを生成し、
(B)各加工点において、加工工具の工具面がワーク表面と平行になるように、TCP位置と工具軸方向ベクトルを算出し、
(C)各加工点において、TCP位置と工具軸方向ベクトルを維持したままとりうる、前記7軸ロボットアームの複数の姿勢から、特異姿勢や外部との干渉のない姿勢を選択
し、
前記加工工具は、工具軸を回転中心とする球型の工具面を有する球型工具であり、
前記(B)において、加工工具の球型の工具面の中心にTCPの原点を、回転軸と一致するようにTCPのZ軸を設定し、
ワーク表面の加工点を押付け方向ベクトルの逆向きに球型の半径距離をシフトしてTCP位置を算出する、ことを特徴とする加工軌道生成装置が提案される。
【0012】
また、本発明によれば、ワーク表面を研削又は研磨により仕上げ加工する加工ロボットの加工軌道を生成する加工軌道生成装置であって、
ワーク表面の形状データと、
工具軸を回転中心とする回転体の工具面を有し、ワーク表面に接触して加工する加工工具の工具データと、
前記加工工具を3次元空間内で移動する7軸ロボットアームのロボットデータと、を記憶する記憶装置と、
前記加工工具の回転軸上に原点を、回転軸と一致するようにZ軸を設定したTCPの、空間に固定された座標系における位置と加工工具の押付け方向ベクトルを含む工具軌道データを生成する軌道データ生成装置と、を備え、
該軌道データ生成装置により、
(A)前記形状データからワーク表面の加工点位置と、各加工点における加工工具の押付け方向ベクトルとを生成し、
(B)各加工点において、加工工具の工具面がワーク表面と平行になるように、TCP位置と工具軸方向ベクトルを算出し、
(C)各加工点において、TCP位置と工具軸方向ベクトルを維持したままとりうる、前記7軸ロボットアームの複数の姿勢から、特異姿勢や外部との干渉のない姿勢を選択し、
前記加工工具は、工具軸を回転中心とする円柱型の工具面を有する円柱型工具であり、
前記(B)において、加工工具の工具端面の中心にTCPの原点を、回転軸と一致するようにTCPのZ軸を設定し、
工具軸方向ベクトルを、押付け方向ベクトルを送り方向回りに+90度又は−90度回転させた方向に設定し、
ワーク表面の加工点を押付け方向ベクトルの逆向きに円柱型の半径距離をシフトしてTCP位置を算出する、ことを特徴とする加工軌道生成装置が提案される。
【0013】
また本発明によれば、ワーク表面を研削又は研磨により仕上げ加工する加工ロボットの加工軌道を生成する加工軌道生成装置であって、
ワーク表面の形状データと、
工具軸を回転中心とする回転体の工具面を有し、ワーク表面に接触して加工する加工工具の工具データと、
前記加工工具を3次元空間内で移動する7軸ロボットアームのロボットデータと、を記憶する記憶装置と、
前記加工工具の回転軸上に原点を、回転軸と一致するようにZ軸を設定したTCPの、空間に固定された座標系における位置と加工工具の押付け方向ベクトルを含む工具軌道データを生成する軌道データ生成装置と、を備え、
該軌道データ生成装置により、
(A)前記形状データからワーク表面の加工点位置と、各加工点における加工工具の押付け方向ベクトルとを生成し、
(B)各加工点において、加工工具の工具面がワーク表面と平行になるように、TCP位置と工具軸方向ベクトルを算出し、
(C)各加工点において、TCP位置と工具軸方向ベクトルを維持したままとりうる、前記7軸ロボットアームの複数の姿勢から、特異姿勢や外部との干渉のない姿勢を選択し、
前記加工工具は、工具軸を回転中心とし先端角がαの円錐型の工具面を有する円錐型工具であり、
前記(B)において、加工工具の前記円錐型の頂点にTCPの原点を、回転軸と一致するようにTCPのZ軸を設定し、
工具軸方向ベクトルを、押付け方向ベクトルを送り方向回りに(90−α/2)度又は−(90−α/2)度回転させた方向に設定する、ことを特徴とする加工軌道生成装置が提案される。
【0014】
また本発明によれば、ワーク表面を研削又は研磨により仕上げ加工する加工ロボットの加工軌道を生成する加工軌道生成方法であって、
記憶装置に、ワーク表面の形状データと、
工具軸を回転中心とする回転体の工具面を有し、ワーク表面に接触して加工する加工工具の工具データと、
前記加工工具を3次元空間内で移動する7軸ロボットアームのロボットデータと、を記憶する記憶ステップと、
軌道データ生成装置により、前記加工工具の回転軸上に原点を、回転軸と一致するようにZ軸を設定したTCPの、空間に固定された座標系における位置と加工工具の押付け方向ベクトルを含む工具軌道データを生成する軌道データ生成ステップと、を有し、
軌道データ生成ステップは、
(A)前記形状データからワーク表面の加工点位置と、各加工点における加工工具の押付け方向ベクトルとを生成する第1ステップと、
(B)各加工点において、加工工具の工具面がワーク表面と平行になるように、TCP位置と工具軸方向ベクトルを算出する第2ステップと、
(C)各加工点において、TCP位置と工具軸方向ベクトルを維持したままとりうる、前記7軸ロボットアームの複数の姿勢から、特異姿勢や外部との干渉のない姿勢を選択する第3ステップと、を有し、
前記加工工具は、工具軸を回転中心とする球型の工具面を有する球型工具であり、
前記(B)において、加工工具の球型の工具面の中心にTCPの原点を、回転軸と一致するようにTCPのZ軸を設定し、
ワーク表面の加工点を押付け方向ベクトルの逆向きに球型の半径距離をシフトしてTCP位置を算出する、ことを特徴とする加工軌道生成方法が提供される。
【0015】
また本発明によれば、ワーク表面を研削又は研磨により仕上げ加工する加工ロボットの加工軌道を生成する加工軌道生成方法であって、
記憶装置に、ワーク表面の形状データと、
工具軸を回転中心とする回転体の工具面を有し、ワーク表面に接触して加工する加工工具の工具データと、
前記加工工具を3次元空間内で移動する7軸ロボットアームのロボットデータと、を記憶する記憶ステップと、
軌道データ生成装置により、前記加工工具の回転軸上に原点を、回転軸と一致するようにZ軸を設定したTCPの、空間に固定された座標系における位置と加工工具の押付け方向ベクトルを含む工具軌道データを生成する軌道データ生成ステップと、を有し、
軌道データ生成ステップは、
(A)前記形状データからワーク表面の加工点位置と、各加工点における加工工具の押付け方向ベクトルとを生成する第1ステップと、
(B)各加工点において、加工工具の工具面がワーク表面と平行になるように、TCP位置と工具軸方向ベクトルを算出する第2ステップと、
(C)各加工点において、TCP位置と工具軸方向ベクトルを維持したままとりうる、前記7軸ロボットアームの複数の姿勢から、特異姿勢や外部との干渉のない姿勢を選択する第3ステップと、を有し、
前記加工工具は、工具軸を回転中心とする円柱型の工具面を有する円柱型工具であり、
前記(B)において、加工工具の工具端面の中心にTCPの原点を、回転軸と一致するようにTCPのZ軸を設定し、
工具軸方向ベクトルを、押付け方向ベクトルを送り方向回りに+90度又は−90度回転させた方向に設定し、
ワーク表面の加工点を押付け方向ベクトルの逆向きに円柱型の半径距離をシフトしてTCP位置を算出する、ことを特徴とする加工軌道生成方法が提供される。
【0016】
また本発明によれば、ワーク表面を研削又は研磨により仕上げ加工する加工ロボットの加工軌道を生成する加工軌道生成方法であって、
記憶装置に、ワーク表面の形状データと、
工具軸を回転中心とする回転体の工具面を有し、ワーク表面に接触して加工する加工工具の工具データと、
前記加工工具を3次元空間内で移動する7軸ロボットアームのロボットデータと、を記憶する記憶ステップと、
軌道データ生成装置により、前記加工工具の回転軸上に原点を、回転軸と一致するようにZ軸を設定したTCPの、空間に固定された座標系における位置と加工工具の押付け方向ベクトルを含む工具軌道データを生成する軌道データ生成ステップと、を有し、
軌道データ生成ステップは、
(A)前記形状データからワーク表面の加工点位置と、各加工点における加工工具の押付け方向ベクトルとを生成する第1ステップと、
(B)各加工点において、加工工具の工具面がワーク表面と平行になるように、TCP位置と工具軸方向ベクトルを算出する第2ステップと、
(C)各加工点において、TCP位置と工具軸方向ベクトルを維持したままとりうる、前記7軸ロボットアームの複数の姿勢から、特異姿勢や外部との干渉のない姿勢を選択する第3ステップと、を有し、
前記加工工具は、工具軸を回転中心とし先端角がαの円錐型の工具面を有する円錐型工具であり、
前記(B)において、加工工具の前記円錐型の頂点にTCPの原点を、回転軸と一致するようにTCPのZ軸を設定し、
工具軸方向ベクトルを、押付け方向ベクトルを送り方向回りに(90−α/2)度又は−(90−α/2)度回転させた方向に設定する、ことを特徴とする加工軌道生成方法が提供される。
【0017】
前記(B)において、工具形状データを利用して工具軸方向ベクトルを生成する。
【0018】
前記(C)において、7軸ロボットアームの位置と姿勢を、1つの関節角、TCPの位置、TCP座標系のロール角、ピッチ角、及びヨー角で表現し、
1つの前記関節角とロール角、ピッチ角、又はヨー角のいずれかを仮の値に固定して、ロール角、ピッチ角、及びヨー角を算出する。
【0019】
前記(C)において、TCP位置と工具軸方向ベクトルの姿勢から、7軸ロボットアームの各関節角を計算し、
各関節角から、ロボットの特異姿勢又は外部との干渉の有無をチェックする。
【0020】
前記(C)において、TCP位置と工具軸方向ベクトルの姿勢から、TCP位置と工具軸方向ベクトルの姿勢を維持したままとりうる、前記7軸ロボットアームの姿勢から構成されるコンフィグレーション空間の各点において、ロボットの特異姿勢又は外部との干渉の有無を数値的に重みづけしたマップを作成し、そのマップ上でロボットアーム軌道を選択する。
【0021】
前記マップにおいて、干渉の有無の重みづけに、ロボットアームの各リンクと外部の物体との最小距離を使用する、ことが好ましい。
【0022】
前記マップにおいて、特異姿勢の重みづけに、ロボットアームの可操作度を使用する、ことが好ましい。
【0023】
前記マップ上でのロボットアーム選定において、ロール角、ピッチ角、又はヨー角のいずれかを一定値という条件下で探索し、ロボットの特異姿勢又は外部との干渉のないロボットアーム軌道を選択する、ことが好ましい。
【発明の効果】
【0024】
上記本発明によれば、軌道データ生成装置による軌道データ生成ステップの第1ステップにおいて、ワーク表面の加工点位置と、各加工点における加工工具の押付け方向ベクトルを生成する。工具の押付け方向は、押付け方向ベクトルの方向である。
また、第2ステップにおいて、加工工具の工具面がワーク表面と平行になるように、TCP位置と工具軸方向ベクトルを算出する。
【0025】
従って、ワークの形状が複雑な場合でも、教示作業なしに、工具形状に合わせて、工具の工具面をワーク表面に平行に設定し、かつハイブリッド制御に必要なTCPの位置と姿勢と加工工具の押付け方向を含む工具軌道データを生成することができる。
【0026】
また、本発明によれば、軌道データ生成装置によるデータ生成ステップの第3ステップにおいて、TCP位置と工具軸方向ベクトルを維持したままとりうる、前記7軸ロボットアームの複数の姿勢から、特異姿勢や外部との干渉のない姿勢を選択する。
従って、7軸ロボットアームを用いてロボットの特異姿勢回避や外部との干渉を回避することができる。
【0027】
すなわち、本発明によれば、ワーク表面の形状データから工具軌道データを自動生成するため、教示作業の手間が省ける。また、工具面をワークに密着させる軌道を生成しつつ、ロボット特有の問題である特異姿勢の回避もできるため、ロボットの特長である広い可動範囲を最大限に利用した加工が可能となる。
【発明を実施するための形態】
【0029】
以下、本発明の好ましい実施形態を添付図面に基づいて詳細に説明する。なお、各図において共通する部分には同一の符号を付し、重複した説明を省略する。
【0030】
図1は、本発明の加工軌道生成装置20を備えた加工ロボット10の全体構成図である。
この図において、1はワーク(被加工部材)、4は加工工具、10は加工ロボット、20は本発明の加工軌道生成装置である。
加工軌道生成装置20は、ワーク1の表面(以下、ワーク表面1a)を研削又は研磨により仕上げ加工する加工ロボット10の加工軌道を生成する。
この加工軌道には、後述する工具軌道データD4と7軸ロボットアーム12の姿勢(以下、ロボット姿勢と呼ぶ)が含まれる。
【0031】
ワーク1は、加工工具4により、バリ取り、C面取り、又はラウンドエッジ加工される被加工部材であり、例えば鋳鉄等の硬い材質からなる。
ワーク1は図示しないワーク保持装置により所定位置に位置決めされている。
【0032】
加工ロボット10は、加工工具4を3次元空間内で移動する7軸ロボットアーム12を備え、その手先部材14に加工工具4を取り付け、工具軌道データD4の加工経路に沿って動作させてワーク1を加工する。この加工は、ワーク表面1aを研削又は研磨する仕上げ加工である。
【0033】
7軸ロボットアーム12は、この例では、絶対座標系において、ワーク1と同一の固定部に固定されたベースb0と、6つのリンクb6,b5,b4,b3,b2,b1とを有する。
リンクb5は、リンクb5−1とリンクb5−2とからなる。リンクb5−1のリンクb5−2に対する回転角、すなわち制御軸a7の角度を以下「第7関節角θ」と呼ぶ。
ベースb0からリンクb1まで、順に7軸の制御軸a6,a5,a7,a4,a3,a2,a1で連結され、それぞれの制御軸を数値制御するようになっている。
上述した手先部材14は、制御軸a1を中心に回転可能である。
【0034】
加工工具4は、工具軸Zを回転中心とする回転体の工具面5を有し、ワーク表面1aに接触して加工する。また加工工具4は、7軸ロボットアーム12の手先部材14に取り付けられ、駆動装置6(この例では電動スピンドルモータ)により工具軸Zを中心に回転駆動される。
加工工具4は、好ましくは、工具軸Zを回転中心とする球型、円柱型、又は円錐型の工具面5を有する回転工具である。
【0035】
以下、本発明において、加工工具4のTCP(Tool Center Point)を原点とする座標系をTCP座標系と呼ぶ。TCP座標系は工具軸Zをz軸とするx,y,zの直交座標系である。
【0036】
この例において、力覚センサ8は、例えばロードセルであり、3次元的に移動可能な7軸ロボットアーム12の手先部材14に取り付けられ、手先部材14に作用する外力を検出するようになっている。
力覚センサ8で検出される外力は、好ましくは6自由度の外力(3方向の力と、3軸まわりのトルク)であるが、本発明はこれに限定されず、ワーク1に対する押付力が検出できる限りで、その他の力センサであってもよい。
【0037】
加工ロボット10は、さらにロボットコントローラ16を備える。ロボットコントローラ16は、例えば数値制御装置であり、指令信号により7軸ロボットアーム12の手先部材14を6自由度(3次元位置と3軸まわりの回転)に制御する。
【0038】
加工ロボット10によるワーク表面1aの研削又は研磨による仕上げ加工は、後述する工具軌道データD4を目標軌道として加工工具4の移動を位置制御し、同時に加工工具4の押付け力を力制御するハイブリッド制御であるのがよい。
このハイブリッド制御では、加工工具4の押付け方向の力が目標値となるように力制御しながら、押付け方向に直交する方向は、工具軌道データD4に追従するように位置制御する。従って、力制御と位置制御とが干渉しない特徴がある。
【0039】
図1において、本発明の加工軌道生成装置20は、記憶装置22、及び軌道データ生成装置24を備える。
【0040】
記憶装置22は、ワーク表面1aの形状データD1と、加工工具4の工具データD2と、7軸ロボットアーム12のロボットデータD3とを記憶する。
この記憶装置22には、CADシステムとCAMシステムがインストールされているのがよい。以下、CADシステムとCAMシステムを単にCAD(computer aided design)、CAM(computer aided manufacturing)と呼ぶ。
軌道データ生成装置24は、加工工具4のTCP位置P(以下単に、TCP位置Pと呼ぶ)と加工工具4の押付け方向ベクトルvを含む工具軌道データD4を生成する。
【0041】
TCP位置Pは、P=(X,Y,Z)で表される。TCP位置Pは絶対座標系における3次元位置である。
加工工具4の押付け方向ベクトルv(すなわち力制御の方向)は、ワーク表面1aに対する法線方向ベクトルv=(vx,vy,vz)で表される。押付け方向ベクトルv、すなわち法線方向ベクトルvは、単位ベクトルである。
【0042】
なお、本発明は、加工工具4の位置P、工具姿勢Q、及び押付け方向ベクトルvを設定できる限りで、これらの座標系と姿勢パラメータの定義に限定されない。一般に、姿勢表現には多種の定義のパラメータが使用されている。
【0043】
軌道データ生成装置24は、例えば、PC(コンピュータ)であり、工具軌道データD4を演算し、ロボットコントローラ16に出力する。
軌道データ生成装置24は、この例では、ロボットコントローラ16と別個に設けられているが、ロボットコントローラ16と軌道データ生成装置24を同一の制御PCで構成してもよい。
【0044】
図2は、本発明の加工軌道生成方法の全体フロー図である。
上述した装置を用い、本発明の加工軌道生成方法は、記憶ステップS1と軌道データ生成ステップS2とを有する。
【0045】
記憶ステップS1では、記憶装置22に、ワーク表面1aの形状データD1、加工工具4の工具データD2、及び7軸ロボットアーム12のロボットデータD3を記憶する。
【0046】
軌道データ生成ステップS2では、軌道データ生成装置24により、加工工具4の回転軸上に原点を、回転軸と一致するようにZ軸を設定したTCPの、空間に固定された座標系における位置と、加工工具4の押付け方向ベクトルvを含む工具軌道データD4を生成する。
軌道データ生成ステップS2は、S21〜S23の各ステップ(工程)からなる。
【0047】
第1ステップS21では、ワーク表面1aの形状データD1(すなわちCADモデル)からワーク表面1aの加工点P1の位置(加工点位置)と、各加工点における加工工具4の押付け方向ベクトルvとを生成する。
第1ステップS21において、CAMを使用して、ワーク表面1aの法線方向となるように押付け方向ベクトルvを生成するのがよい。
【0048】
第1ステップS21において、CAMシステムによっては、ワーク表面1aの加工点P1の位置と加工主軸の方向ベクトルが出力されるものがあるが、加工主軸がワーク表面1aに垂直となるような設定でCLデータを出力することで、加工主軸の方向ベクトルを押付け方向ベクトルvとして使用して、本発明を適用できる。また、CAMシステムによっては、ワーク表面1aの加工点P1の位置と加工主軸の姿勢角が出力されるものがあるが、加工主軸がワーク表面1aに垂直となるような設定でCLデータを出力し、加工主軸の姿勢角から加工主軸の方向ベクトルを算出することで、本発明を適用できる。
【0049】
第2ステップS22では、第1ステップS21における各加工点P1において、加工工具4の工具面5がワーク表面1aと平行になるように、工具形状データを利用してTCP位置Pと工具軸方向ベクトルwを算出する。工具軸方向ベクトルwは、TCP座標のZ軸方向ベクトルである。
第2ステップS22において、第1ステップS21のデータから、加工工具4の工具面5の形状に応じて、工具軸方向ベクトルw=(wx,wy,wz)を算出する。この算出の詳細は後述する。
【0050】
第3ステップS23では、各加工点P1において、ロボットの特異姿勢と外部との干渉を回避するように、TCP位置Pと工具軸方向ベクトルwを維持したままとりうる、7軸ロボットアーム12の複数の姿勢から、特異姿勢や外部との干渉のない1つの姿勢を選択する。
【0051】
すなわち第3ステップS23では、第2ステップS22の結果に基づき、加工ロボット10の姿勢、すなわち7軸ロボットアーム12の姿勢(ロボット姿勢)を算出する。
第3ステップS23において、加工ロボット10の姿勢を、TCP座標系のロール角A、ピッチ角B、及びヨー角Cで表現し、ロール角A、ピッチ角B、又はヨー角Cのいずれかを仮の値に固定して、ロール角A、ピッチ角B、及びヨー角Cを算出するのがよい。
【0052】
また第3ステップS23において、TCP位置Pと工具軸方向ベクトルwの姿勢から、7軸ロボットアーム12の各関節角を計算し、各関節角から、ロボットの特異姿勢又は外部との干渉の有無をチェックするのがよい。
【0053】
第3ステップS23において、TCP位置Pと工具軸方向ベクトルwの姿勢から、TCP位置Pと工具軸方向ベクトルwの姿勢を維持したままとりうる、7軸ロボットアーム12の姿勢から構成されるコンフィグレーション空間の各点において、ロボットの特異姿勢又は外部との干渉の有無を数値的に重みづけしたマップを作成し、そのマップ上でロボットアーム軌道を選択する、ことが好ましい。
コンフィギュレーション空間とは、ある区切られた空間内で、特定の物体を他の物体と重なることなく置ける場所の有無(findspace)や、指定された場所から他の場所まで他の物体と衝突せずに移動する経路の有無(findpath)を計算機を用いて知るために提案された空間表現法である。
【0054】
また、マップにおいて、干渉の有無の重みづけに、ロボットアームの各リンクと外部の物体との最小距離を使用する、ことが好ましい。
【0055】
また、マップにおいて、特異姿勢の重みづけに、ロボットアームの可操作度を使用する、ことが好ましい。
【0056】
また、マップ上でのロボットアーム選定において、ロール角A、ピッチ角B、又はヨー角Cのいずれかを一定値という条件下で探索し、ロボットの特異姿勢又は外部との干渉の有無のないロボットアーム軌道を選択する、ことが好ましい。
【0057】
以下、ロボット姿勢を算出する第3ステップS23について詳述する。
【0058】
7軸ロボットアーム12の位置と姿勢は、第7関節角θ(度)、TCPの位置X,Y,Z(mm)、TCP座標系のロール角A(度)、ピッチ角B(度)、ヨー角C(度)で表現する。第7関節角θとヨー角Cを仮の値を設定して、ロール角Aとピッチ角Bを以下のように算出する。
【0059】
ロール角A、ピッチ角B、ヨー角Cと回転行列Rの関係は、数1の式(1)で表される。
前提として、TCP座標系のz軸を、工具軸Zと一致させるように設定すると、式(2)となる。式(2)のwx,wy,wzの各値は、第2ステップS22で計算済みである。
【0061】
これらの条件から、ロール角A、ピッチ角B、ヨー角Cを算出する。つまり、数2の式(3)の3列目の関係式である式(4)の連立方程式を解くことで、ロール角A、ピッチ角B、ヨー角Cを算出することができる。
【0063】
式(4)の連立方程式は、変数が1つ多いため解けない。そのため、ロール角Aを仮の値に固定する。
式(4)の1行目にC
A、2行目にS
Aをそれぞれかけて足し合わせると、数3の式(5)(6)となり、ピッチ角Bは、C
C≠0において、式(7)により算出できる。
なお、C
C=0(cosC=0)では解を一意に決めることはできないので、cosC=0(すなわちC=90度)とならない工具の当て方を選んでおく必要がある。ピッチ角Bを式(6)又は(8)に代入してヨー角Cを算出する。
これにより、θ,X,Y,Z,A,B,Cが算出され、7軸ロボットアーム12の姿勢が決定される。
【0065】
以下、第3ステップS23の代替実施例を説明する。
【0066】
<加工ロボット10の軌道生成方法1(衝突回避)>
式(4)の計算後、軌道上のある点において、ロール角Aを−180,−170,−160,・・・160,170,180に、第7関節角θを−180,−170,−160,・・・160,170,180に、仮決めして、式(5)〜(8)でピッチ角B、ヨー角Cを計算する。つまり、ロール角Aと第7関節角θの組み合わせから表1のようなテーブルを作成する。
【0068】
表1のテーブル上の第7関節角θとTCP位置P(X,Y,Z)と工具姿勢Q(A,B,C)から、7軸ロボットアーム12の各関節角を計算する。6軸ロボットアームであれば、この計算方法はPieperの方法が一般的に知られている。7軸ロボットアーム12の場合も、第7関節角θを与えれば、同様に計算することが可能であり、表2のようなテーブルを作成できる。
ただし、J1〜J7は7つの関節軸の関節角であり、
図1の制御軸a1,a2,a3,a4,a5,a6,a7の角度である。
【0070】
7軸ロボットアーム12の各関節角から、周辺物との干渉をチェックすることができる。例えば、7軸ロボットアーム12を円柱の連なった形状に近似し、周辺物が、点、線分、三角形、で表現されるとすると、7軸ロボットアーム12のリンクパラメータ(関節軸と関節軸の相対位置を表現したもの)を使って、例えば、
(1)第1関節軸(制御軸a1)の座標系(Z軸がモータ軸)と第1リンクb1(手先部材14)の長さ、第1リンクb1の直径から、第1リンクb1と周辺物との距離を計算し、その最短距離を記録する。干渉する場合は負の値(−1など)を記録する。
(2)第2関節軸(制御軸a2)の座標系の位置を計算し、第2リンクb2についても、周辺物との干渉を計算する。
同様に第6関節軸(制御軸a6)まで同様の計算を実施し、表3のテーブルを作成する。ただし、D
minは全リンクの最短距離、−1は干渉することを示す。
【0072】
表3のテーブルを使い、ロール角Aと第7関節角θを決定する。決定方法は以下の(1)(2)が考えられる。
【0073】
(1)例えば、ロール角A=−180〜A=180、第7関節角θ=−180〜θ=180の各列ごとに、D
minの最小値を抽出し、その最小値が最大となる列を採用するという方法で、Aの値を選定する。
すなわち、表4の例ではロール角A=180、第7関節角θ=180の列のD
minの最小値が50であるため、ロール角A=180、第7関節角θ=180を採用する。これにより、軌道全体についてロール角Aと第7関節角θを固定した軌道が得られる。
【0075】
(2)例えば、表5のように、点1でD
minが最大のロール角A=180、第7関節角θ=180をスタートし、各点のD
minが最大のロール角Aと第7関節角θをたどって軌道を作成する。ただし、ロール角Aと第7関節角θが急に変化すると、加工ロボット10の動作が振動的になるため、ロール角Aと第7関節角θの変化を一定幅以内として探索する必要がある。
【0077】
<加工ロボット10の軌道生成方法2(可操作度w2=特異姿勢回避)>
加工ロボット10の関節角から、ヤコビ行列Jを計算する。可操作度w2は数4の式(9)で定義される。ヤコビ行列Jとは、加工ロボット10の関節角速度と手先速度との変換行列である。特異姿勢では、ヤコビ行列Jがフルランクでなくなるため、可操作度w2は0に近づく。可操作度w2が大きいということは、手先がどの方向にも動きやすいことを意味するため、加工ロボット10にとって楽な姿勢といえる。
【0079】
この指標を前述のようにテーブルにし、前述の(1)(2)のように探索して、ロール角Aと第7関節角θを決定することができる。
【実施例】
【0080】
本発明では、加工ロボット10を精密仕上げ加工に適用する上での課題を整理し、シンプルで汎用性の高い、加工ロボット10の加工軌道生成装置20と方法を提案する。
【0081】
加工ロボット10を精密仕上げ加工に適用する上での、軌道生成の課題は以下の通り。
(1)形状が複雑なワーク1への対応
形状が複雑なワーク1のエッジ面取りや曲面磨きの軌道を生成するには、ワーク表面1aの形状データD1を数値化又は定式化する必要があるため、複雑形状への対応は一般に難しい。一方、一般のCAMではそれらの処理が行われているが、一般のCAMはロボットアームに対応していない。また、ロボットアームの軌道生成に対応した加工ロボット用のCAMもあるが、位置と力のハイブリッド制御に必要な目標軌道は生成できない。
なお、CAMとは、製品の製造を行うために、CADで作成された形状データD1を入力データとして、加工用のNCプログラム作成などの生産準備全般をコンピュータ上で行うシステムである。
(2)多様な工具形状への対応
精密仕上げ加工では、狭隘部への工具のアクセス等のため、球型、円柱型、円錐型、など、多様な形状の工具を使用する必要がある。
(3)位置と力のハイブリッド制御への対応
ロボットアームの絶対位置の位置決め精度は低いため、オフラインでの軌道生成と位置決め誤差の補償手段とを組み合わせて使用する必要がある。位置と力のハイブリッド制御の使用を前提とすると、目標軌道として、TCP位置Pと姿勢及び加工工具4の押付け方向ベクトルvを含む工具軌道データD4が必要である。
(4)加工ロボット10の特異姿勢や干渉の回避
7軸ロボットアーム12の手先部材14に工具軸Zを回転中心とする工具面5を有する回転工具を設置すると、回転工具の軸対称性により、冗長性が生じる。つまり、同じ加工を実現する加工ロボット10の姿勢が無数に存在し、この中から1つの姿勢を決定する必要がある。逆にこのことは、加工軌道において、7軸ロボットアーム12が特異姿勢をとる、周辺物と干渉する、などが懸念される場合、加工を変えることなく、これらを回避できる可能性を意味する。
なお、7軸ロボットアーム12は、上記冗長性の他にも、冗長軸(第7関節角θ)を有する。
【0082】
(CAMで生成するデータの内容)
多軸工作機械の普及に伴い、CAMの導入が進んでいる。CAMで5軸工作機械の加工プログラムであるNCデータを作成する手順は、およそ以下の通りである。
まず、(1)CLデータ(Cutter Location Data)と呼ばれる中間データを出力する。これは加工形状を実現するために工具が描くべきTCP位置Pの軌道であり、TCP位置Pの座標点列と、各点における工具軸方向ベクトルw(=主軸の姿勢)とから構成される。
次に、(2)CLデータから工作機械を動作させるNCデータに変換する。
最後に、(3)工作機械を動作させながら、NCデータの工具回転速度や送り速度の設定を調整し、加工のNCデータを完成させる。
【0083】
(提案する軌道生成方法)
以下のステップからなる軌道生成方法を提案する。
(1)CAMによるCLデータの作成
図3は、CAMによるCLデータの説明図である。
市販のCAMを使用し、ワーク1の加工エッジや加工面上の点の位置P1(X,Y,Z)と、位置と力のハイブリッド制御で使用する押付け方向ベクトルv(vx,vy,vz)からなる中間データを生成する。押付け方向ベクトルvは、曲面の磨きにおいてはワーク表面1aの法線方向(
図3)、エッジの面取りにおいては角の2等分方向のベクトルとする。
【0084】
ただし、CAMは押付け方向ベクトルvを直接生成するわけではなく、5軸工作機械の工具軸方向ベクトルwを生成するに過ぎない。そこで、工具軸方向ベクトルwが加工面の法線方向やエッジの2等分方向となるようにCAM側を設定することで、位置と力のハイブリッド制御で使用可能な、押付け方向ベクトルvを含んだ工具軌道データD4を出力することができる。
【0085】
(工具形状に対応した工具姿勢Qの計算)
(2)(1)で生成したCLデータと加工工具4の形状と当て方から、中間的な加工ロボット10の工具軌道データD4を生成する。この中間の工具軌道データD4は、加工工具4の工具面5が接するように動作するTCP位置P、工具軸方向ベクトルwの姿勢、加工工具4の押付け方向ベクトルvから構成される。
つまり、ここでは加工工具4の工具面5の形状による幾何学的な制約条件から、工具面5がワーク表面1aに接するような工具軸方向ベクトルwを軌道上の各TCP位置Pについて算出する。なお、これだけでは加工ロボット10の姿勢(ロボット姿勢)は一意に決まらないため、この条件を満たす加工ロボット10の姿勢を仮に1つ算出する。
【0086】
工具面5の形状ごとに、以下のように算出する。なお、加工ロボット10の姿勢はTCP座標系のロール角A、ピッチ角B、ヨー角Cで表現し、TCP座標系のz軸を工具軸Zとする。
【0087】
図4は、工具軸Zを回転中心とする回転体の工具面5を有する加工工具4の具体例を示す図である。なお
図4における加工工具4は、工具軸Zを回転中心とする球型(A)、円柱型(B)(C)、円錐型(D)の工具面5を有する回転工具である。
【0088】
図4(A)は、工具軸Zを回転中心とする球型の工具面5を有する回転工具を示している。以下、かかる回転工具を球型工具と呼ぶ。
TCP座標の原点Pを球型の工具面5の中心に設定する。CLデータの各点P1を押付け方向ベクトルvの逆向きに球型の半径距離rをシフトすると、球型工具の姿勢にかかわらず、球型工具とワーク1とが接する軌道となる。つまり、工具軸方向と加工ロボット10の姿勢の両方に任意の値を設定することができる。
【0089】
すなわち、球型工具では、加工工具4の球型の工具面5の中心にTCPの原点を、回転軸と一致するようにTCPのZ軸を設定し、ワーク表面1aの加工点P1を押付け方向ベクトルvの逆向きに球型の半径距離rをシフトしてTCP位置Pを算出する。
【0090】
ここで、「TCPを設定する」とは、ロボットの手先のフランジ座標系を基準として、工具の球面の中心位置を原点とし、工具軸がZ軸となるようなTCP座標系を設定することを意味する(XYZABCで完全に定義する)。このとき、TCP座標系のX軸、Y軸は任意であるが、どちらかの軸をフランジ座標系の軸と同じにしておいたりする。
また、「TCP位置Pを算出する」とは、空間に固定された座標系(ロボットのベース座標系や、テーブル座標系など)を基準として、TCPの空間上の位置を算出することを意味する。そして空間上のTCPの位置姿勢(XYZABC)とは、TCPをその空間上の位置に移動させることのできるロボットの位置姿勢と同義であるが、ここではまだTCP座標系の位置(XYZ)だけなので、まだロボットの位置姿勢は1つには決まらない。
【0091】
図4(B)は、工具軸Zを回転中心とする円柱型工具の工具端面を使う場合を示している。
TCP座標の原点Pを工具端面の中心に設定する。TCP座標のZ軸方向ベクトルn
Zを押付け方向ベクトルvと一致するように設定する。次に、TCP座標の姿勢を算出するには、上述した式(4)を解いてロール角A、ピッチ角B、ヨー角Cを算出する。
ただし、C
P:cosPの略記(P=A,B,C)、S
P:sinPの略記(P=A,B,C)、である。Z軸方向ベクトルn
Zが与えられてもロール角A、ピッチ角B、ヨー角Cは一意に決まらないため、簡単のため、ロール角Aを(例えば0に)固定して残りのピッチ角B、ヨー角Cを算出することで、TCP座標の仮の姿勢とする。
【0092】
図4(C)は、工具軸Zを回転中心とする円柱型の工具面5を有する回転工具を示している。以下、かかる回転工具を円柱型工具と呼ぶ。
TCP座標の原点Pを
図4(B)と同様に工具端面の中心に設定する。TCP座標のZ軸方向ベクトルn
Zは、押付け方向ベクトルvを送り方向回りに+90度又は−90度回転させた方向に設定する。なお、送り方向は軌道上の次の点に向かう方向を算出して使用する。Z軸方向ベクトルn
Z設定後のTCP座標の仮の姿勢角の算出は
図4(B)と同様である。また、
図4(A)と同様に、CLデータ上の点を円柱型の半径距離rをシフトして、工具とワーク1が接するようにする。
【0093】
図4(D)は、工具軸Zを回転中心とする円錐型の工具面5を有する回転工具を示している。以下、かかる回転工具を円錐型工具と呼ぶ。
円錐型工具では、加工工具4の円錐型の頂点にTCPの原点を、回転軸と一致するようにTCPのZ軸を設定する。
先端角をαとすると、工具軸方向ベクトルwを、押付け方向ベクトルvを送り方向回りに(90−α/2)度又は−(90−α/2)度回転させた方向に設定する。送り方向の算出は
図4(C)と同様であり、TCP座標の仮の姿勢角の算出は
図4(B)と同様である。
【0094】
(加工ロボット10の軌道の生成)
図5は、本発明の第3ステップS23を示す説明図である。
上述した工具の軸対称性による冗長性より、
図5に破線で示すように、工具軸Z(=TCPのZ軸回り)の方向を変えずに加工ロボット10の姿勢を変えることで、加工に影響なく、加工ロボット10の姿勢を選択することができる。
そこで、算出した軌道上の各点のTCP座標の姿勢を工具軸Zを中心に回転させて、特異姿勢の回避や、周辺物との干渉回避を行う。この計算は、パラメータが工具軸Z回りの回転量のみであるため、試行錯誤的に姿勢を選択すればよい。
【0095】
(動作試験)
3次元的な曲面を持つアルミ製ファンをCADでモデリングし、本発明の方法で軌道を生成した。さらに、位置と力のハイブリッド制御でフェルトバフによる磨き加工を行い、本発明の適用性を確認した。
なお、フェルトバフの形状は砲弾型であるが、円錐型工具(
図4(D))の軌道生成方法を適用し、先端角の値を変えることで、バフの当てる位置を調整することができる。3次元CADはSolidWorks
(登録商標)を、軌道生成ソフトウェアは、加工ロボット10のCAMであるRobotWorksを使用した。
【0096】
上述したように精密仕上げ加工は自動化が遅れており、熟練技能に依存している。そこで、本発明では、精密仕上げ加工用の加工ロボット10の前提条件や課題を整理し、CAMとの親和性の高い、シンプルで汎用性の高い軌道生成方法を提案し、磨き加工によって適用性を確認した。
その後、提案する軌道生成方法を使って、多様な形状の工具を使い分けながら、形状が複雑な部品の仕上げに対応するロボットシステムを開発し、精密仕上げ加工に適用できることが確認された。
【0097】
上述した本発明によれば、軌道データ生成装置24による軌道データ生成ステップS2の第1ステップS21において、ワーク表面1aの加工点位置、及び押付け方向ベクトルvを生成する。加工工具4の押付け方向は、押付け方向ベクトルvの方向である。
また、第2ステップS22において、加工工具4の工具面5がワーク表面1aと平行になるように、TCP位置Pと工具軸方向ベクトルwを算出する。
【0098】
従って、ワーク1の形状が複雑な場合でも、教示作業なしに、工具形状に合わせて、加工工具4の工具面5をワーク表面1aに平行に設定することができる。また、位置と力のハイブリッド制御に必要なTCP位置Pと加工工具4の押付け方向を含む工具軌道データD4を生成することができる。
【0099】
また、本発明によれば、軌道データ生成装置24による軌道データ生成ステップS2の第3ステップS23において、TCP位置Pと工具軸方向ベクトルwを維持したままとりうる、7軸ロボットアーム12の複数の姿勢から、特異姿勢や外部との干渉のない姿勢を選択する。
従って、7軸ロボットアーム12を用いてロボットの特異姿勢回避や外部との干渉を回避することができる。
【0100】
すなわち、本発明によれば、ワーク表面1aの形状データD1から工具軌道データD4を自動生成するため、教示作業の手間が省ける。また、工具面5をワーク1に密着させる軌道を生成しつつ、ロボット特有の問題である特異姿勢の回避もできるため、ロボットの可動範囲を最大限に利用した加工が可能となる。
【0101】
なお、本発明は上述した実施形態に限定されず、特許請求の範囲の記載によって示され、さらに特許請求の範囲の記載と均等の意味及び範囲内でのすべての変更を含むものである。