(58)【調査した分野】(Int.Cl.,DB名)
【背景技術】
【0002】
対象物の稜線に沿ってツールを移動させることにより、対象物の稜線に対する加工や形状計測を行うことができる。稜線に対する加工では、対象物の稜線に沿ってツールを移動させることにより、この稜線に対して面取り加工やバリ取り加工をする。稜線に対する形状計測では、対象物の稜線に沿ってツールを移動させることにより、ツールの移動軌跡を求め、この移動軌跡に基づいて稜線の形状を求める。
【0003】
以下において、ツールにより、対象物(被加工物)の稜線に対して加工をする場合について説明する。すなわち、ツールが、面取り加工やバリ取り加工を行う加工具である場合を説明する。
【0004】
従来のツール制御方法を、
図1と
図2に基づいて説明する。
図1は、対象物1における凹形状の稜線2を加工する場合の説明図であり、
図2は、対象物1における凸形状の稜線2を加工する場合の説明図である。
図1(A)と
図2(A)は、斜視図である。
図1(B)と
図2(B)は、対象物1とツール5の平面図である。すなわち、
図1(B)と
図2(B)は、それぞれ、対象物1の上面1aを含む平面による
図1(A)と
図2(A)の断面図である。稜線2は、その接線方向が不連続的に変化する不連続変化点2cと、不連続変化点2cから異なる方向に延びている第1稜線部分2aおよび第2稜線部分2bとを有する。
図1と
図2の例では、ツール5は、円筒形の砥石であり、その軸回りに回転しながら移動して対象物1を加工する。
【0005】
上述の第1稜線部分2aにツール5を押し付けた状態で、ツール5を、第1稜線部分2aに沿って、不連続変化点2cに向けた矢印A1方向に移動させる。これにより、第1稜線部分2aを加工する。
ツール5が第1稜線部分2aの端部まで加工したら、ツール5の姿勢を変更するとともに、ツール5による加工位置を第2稜線部分2bの端部に切り換える。
次いで、ツール5を上述の第2稜線部分2bに押し付けた状態で、ツール5を、第2稜線部分2bに沿って、不連続変化点2cから離れる矢印A2方向に移動させる。これにより、第2稜線部分2bを加工する。
【0006】
このような加工は、対象物1の稜線2が三次元曲線である場合は、高価な多軸工作機械が必要であった。そのため、位置決め精度は、多軸工作機械よりも低いが、安価で、可動範囲の広いロボットアームを利用することが行われていた。すなわち、ツール5をロボットアームの先端部に取り付け、ロボットアームの動作を制御することにより、上述のようにツール5の移動や、対象物1へのツール5の押し付けや、ツール5の姿勢変更などを行わせる。
【0007】
ロボットアームの制御において、対象物の加工または形状計測の精度を高めるために、例えば、ハイブリッド制御を採用することができる。ハイブリッド制御では、位置制御と力制御を、互いに直交する方向に分離して行う。位置制御は、ロボットアームの先端部を、稜線2の接線方向に移動させる制御であり、力制御は、ロボットアームの先端部(ツール5)を対象物1に押し付ける制御である。位置制御による制御方向は、稜線2の接線方向であり、力制御による制御方向は、稜線2の接線方向と直交する方向である。このようなハイブリット制御により、ツール5を対象物1に所望の力で押し付けながら、対象物1の稜線2に沿ってツール5を移動させることができる。
【0008】
なお、ロボットアームを用いた加工や形状計測は、例えば、下記の特許文献1、2に記載されている。
特許文献1では、ロボットアームの先端部にツールを取り付け、ツールを対象物に押し付けた状態で、対象物の表面に沿ってツールを移動させることにより、対象物の加工または形状計測を行っている。
特許文献2では、ロボットアームの先端部にツールを取り付け、対象物の表面にならってツールを移動させることにより、対象物の形状を計測している。
【発明の概要】
【発明が解決しようとする課題】
【0010】
ツール5は、
図1(B)と
図2(B)に示すように、予め定められた設定軌道X上を移動するように制御される。設定軌道Xを、
図1(B)と
図2(B)において太線で示す。ツール5の設定軌道Xは、例えば、対象物1の形状データに基づいて定められている。ツール5が、この設定軌道Xに沿って移動するように制御されることにより(例えば、設定軌道Xに基づいた上述の位置制御により)、ツール5は、第1稜線部分2aの端部(すなわち不連続変化点2c)まで移動し、次いで、第2稜線部分2bに沿って移動する。ツール5は、第1稜線部分2aに沿って移動している時には、(例えば上述の力制御により)第1稜線部分2aに押し付けられた状態にある。同様に、ツール5は、第2稜線部分2bに沿って移動している時には、(例えば上述の力制御により)第2稜線部分2bに押し付けられた状態にある。このようにして、ツール5は、第1稜線部分2aと第2稜線部分2bを加工する。
【0011】
しかし、ロボットアームの位置決め誤差、対象物1の設置位置の誤差、設定軌道Xの誤差などにより、稜線2に対する加工または形状計測において、以下のような問題が生じる。
【0012】
凹形状の稜線2の加工または形状計測において、上述の誤差により、
図3(A)のように、ツール5が実際に移動しようとする移動経路が、太線で示す経路Yのようになって、対象物1に対してずれてしまう場合がある。この場合、ツール5が、第2稜線部分2bに当たった後も、さらに、第2稜線部分2bに向けて駆動されるので、必要以上に深く第2稜線部分2bを加工してしまったり、ツール5に作用する応力が過大になったりする。
【0013】
凹形状の稜線2の加工または形状計測において、上述の誤差により、
図3(B)のように、ツール5が実際に移動しようとする移動経路が、太線で示す経路Yのようになって、対象物1に対してずれてしまう場合がある。この場合、ツール5は、不連続変化点2cに至る前に、その移動方向が方向A1から方向A2に切り換えられるので、ツール5は、対象物1から離れた状態で、第2稜線部分2bに沿って移動を開始してしまう。従って、第2稜線部分2bの加工または形状計測が適切に行われなくなってしまう。
【0014】
凸形状の稜線2の加工または形状計測において、上述の誤差により、
図3(C)のように、ツール5が実際に移動しようとする移動経路が、太線で示す経路Yのようになって、対象物1に対してずれてしまう場合がある。この場合、第1稜線部分2aの端部まで加工する前に、ツール5の移動方向が方向A1から方向A2に切り換えてしまうことがある。従って、必要以上に深く稜線2を加工してしまったり、ツール5に作用する応力が過大になったりする。
【0015】
凸形状の稜線2の加工または形状計測において、上述の誤差により、
図3(D)のように、ツール5が実際に移動しようとする移動経路が、太線で示す経路Yのようになって、対象物1に対してずれてしまう場合がある。この場合、ツール5は、第1稜線部分2aの端部を通過した後、対象物1から離れた状態で、第2稜線部分2bに沿って移動を開始してしまう。従って、第2稜線部分2bの加工または形状計測が適切に行われなくなってしまう。
【0016】
そこで、本発明の目的は、ツール(ロボットアーム)の位置決め誤差、対象物の設置位置の誤差、対象物の形状の誤差があっても、対象物に沿ってツールを高精度に移動させることができるツール制御方法と装置を提供することにある。
【課題を解決するための手段】
【0017】
上述の目的を達成するため、本発明によると、対象物の稜線に沿ってツールを移動させるツール制御方法であって、
稜線は、その接線方向が不連続的に変化する不連続変化点と、不連続変化点から互いに異なる方向に延びている第1稜線部分および第2稜線部分とを有し、
第1稜線部分と第2稜線部分と不連続変化点は、不連続変化点を底点とする凹形状
を形成し、
(A)ツールを第1稜線部分に
押し付けた状態で、不連続変化点に向かう方向に第1稜線部分に沿ってツールを移動させ、
前記(A)において、前記第1稜線部分に沿って前記ツールが移動する方向と反対方向に、前記第1稜線部分から前記ツールの受ける反作用力が、しきい値より小さい状態となっており、
(B)
前記ツールが不連続変化点
近傍で、前記反作用力が前記しきい値以上になったときに前記
不連続変化点と判断
することにより、
前記ツールの移動方向を、
前記第2稜線部分に沿った方向に切り換え、
(C)
前記ツールを
前記第2稜線部分に
押し付けた状態で、
前記不連続変化点から離れる方向に
前記第2稜線部分に沿って
前記ツールを移動させ
る、ことを特徴とするツール制御方法が提供される。
【0020】
また、上述の目的を達成するため、本発明によると、対象物の稜線に沿ってツールを移動させるツール制御方法であって、
稜線は、その接線方向が不連続的に変化する不連続変化点と、不連続変化点から互いに異なる方向に延びている第1稜線部分および第2稜線部分とを有し、
第1稜線部分と第2稜線部分と不連続変化点は、不連続変化点を頂点とする凸形状を形成し、
(A)ツールを第1稜線部分に押し付けた状態で、不連続変化点に向かう方向に第1稜線部分に沿ってツールを移動させ、
(B)ツールが不連続変化点に至ったと判断したことにより、ツールの移動方向を、第2稜線部分に沿った方向に切り換え、
(C)ツールを第2稜線部分に押し付けた状態で、不連続変化点から離れる方向に第2稜線部分に沿ってツールを移動させ、
前記(A)において、第1稜線部分にツールが押し付け方向に押し付けられていることにより、当該押し付け方向におけるツールの変位がしきい値以下である状態となっており、
前記しきい値は、前記(A)におけるツールの変位の最大値以上であり、
この状態から、前記押し付け方向において前記しきい値よりも大きくツールが変位したことを検出した場合に、前記(B)において、ツールが不連続変化点に至ったと判断する、ことを特徴とするツール制御方法が提供される。
【0021】
上述の目的を達成するため、本発明によると、ロボットアームの先端部に取り付けられたツールを、対象物の稜線に沿って移動させるツール制御装置であって、
稜線は、その接線方向が不連続的に変化する不連続変化点と、不連続変化点から互いに異なる方向に延びている第1稜線部分および第2稜線部分とを有し、
第1稜線部分と第2稜線部分と不連続変化点は、不連続変化点を底点とする凹形状
を形成し、
対象物からツールの受ける反作用力を検出する力覚センサと、
稜線の形状データに基づいて予め定められたツールの設定軌道を記憶する記憶部と、
ロボットアームを制御することによりツールを制御する制御部と、を備え、
制御部は、
(A)設定軌道に基づいて、ツールを第1稜線部分に
押し付けた状態で、不連続変化点に向かう方向に第1稜線部分に沿ってツールを移動させ、
前記(A)において、前記第1稜線部分に沿って前記ツールが移動する方向と反対方向に、前記第1稜線部分から前記ツールの受ける反作用力が、しきい値より小さい状態となっており、
(B)
前記ツールが不連続変化点
近傍で、前記反作用力が前記しきい値以上になったときに前記
不連続変化点と判断
することにより、
前記ツールの移動方向を、
前記第2稜線部分に沿った方向に切り換え、
(C)
前記ツールを
前記第2稜線部分に
押し付けた状態で、
前記不連続変化点から離れる方向に
前記第2稜線部分に沿って
前記ツールを移動させ
る、ことを特徴とするツール制御装置が提供される。
【0022】
また、上述の目的を達成するため、本発明によると、ロボットアームの先端部に取り付けられたツールを、対象物の稜線に沿って移動させるツール制御装置であって、
前記稜線は、その接線方向が不連続的に変化する不連続変化点と、
前記不連続変化点から互いに異なる方向に延びている第1稜線部分および第2稜線部分とを有し、
前記第1稜線部分と
前記第2稜線部分と
前記不連続変化点は、
前記不連続変化点を頂点とする凸形状を形成し、
対象物から
前記ツールの受ける反作用力を検出する力覚センサと、
前記稜線の形状データに基づいて予め定められた
前記ツールの設定軌道を記憶する記憶部と、
前記ロボットアームを制御することにより
前記ツールを制御する制御部と、を備え、
前記制御部は、
(A)設定軌道に基づいて、
前記不連続変化点に向かう方向に
前記第1稜線部分に沿って
前記ツールを移動させ、
(B)
前記ツールが
前記不連続変化点に至ったと判断したことにより、
前記ツールの移動方向を、
前記第2稜線部分に沿った方向に切り換え、
(C)
前記設定軌道に基づいて、
前記不連続変化点から離れる方向に
前記第2稜線部分に沿って
前記ツールを移動させ、
前記(A)において、
前記第1稜線部分に
前記ツールが押し付け方向に押し付けられていることにより、当該押し付け方向における
前記ツールの変位がしきい値以下である押し付け状態となっており、
前記しきい値は、前記(A)における前記ツールの前記変位の最大値以上であり、
前記制御部は、前記変位の検出値に基づいて、前記押し付け状態から、前記押し付け方向において前記しきい値よりも大きく
前記ツールが変位したことを検出した場合に、前記(B)において、
前記ツールが
前記不連続変化点に至ったと判断する、ことを特徴とするツール制御装置が提供される。
【発明の効果】
【0023】
上述のように、本発明によると、ツールを第1稜線部分に接触させた状態で、不連続変化点に向かう方向に第1稜線部分に沿ってツールを移動させることにより、ツールが不連続変化点に至ると、対象物からツールの受ける反作用力、または、第1稜線部分に対するツールの押し付け方向におけるツールの変位が変化する。
本発明によると、ツール制御装置により、この変化を検出した場合に、ツールが不連続変化点に至ったと判断する。従って、ツールの位置決め誤差、対象物の設置位置の誤差、または、ツールの設定軌道の誤差があっても、ツール制御装置により、ツールが不連続変化点に至った時に、ツールの移動方向を、第2稜線部分に沿った方向に切り換えることができる。
よって、対象物の稜線に沿ってツールを高精度に移動させることができる。
【発明を実施するための形態】
【0025】
本発明の好ましい実施形態を図面に基づいて説明する。なお、各図において共通する部分には同一の符号を付し、重複した説明を省略する。
【0026】
図4は、本発明の実施形態によるツール制御方法に用いることができるツール制御装置10を示す。
ツール制御装置10は、ツール5を、対象物1の稜線2に沿って移動させる装置である。後述する
図5や
図6に示すように、稜線2は、稜線2上の位置の連続的な変化に対してその接線方向が不連続的に変化する不連続変化点2cと、不連続変化点2cから互いに異なる方向に延びている第1稜線部分2aおよび第2稜線部分2bとを有する。
【0027】
ロボットアーム3の先端部には、ツール5と力覚センサ9が設けられている。
【0028】
ツール5は、ロボットアーム3の先端部に設けられたスピンドルモータ4により、ツール5の軸回りに回転駆動される。本実施形態では、ツール5は、円筒形の砥石である。この場合、本実施形態では、ツール5の側面で、対象物(被加工物)1に対して面取り加工をする。ただし、ツール5は、他の形状を有していてもよい。例えば、ツール5は、対象物1を側面で加工する円錐形の砥石であってもよい。また、ツール5の種類は、砥石に限定されず、超硬カッターでもよい。
【0029】
力覚センサ9は、対象物1からツール5が受ける反作用力を検出する。すなわち、力覚センサ9は、ツール5と対象物1とが互いに及ぼしあう力を検出する。力覚センサ9は、ツール5に作用する力の各方向成分を検出する。力の各方向成分は、例えば、ロボットアーム3の先端部に固定された互いに直交する3つの軸方向の各々における力の成分である。従って、後述する制御部11は、力覚センサ9で検出した力の各方向成分に基づいて、検出対象方向にツール5に作用する力を検出できる。検出対象方向が、例えば、ツール5が対象物1に押し付けられる方向と反対の方向である場合には、制御部11は、ツール5が対象物1に押し付けられたことによりツール5に作用する反作用力を検出する。すなわち、力覚センサ9は、対象物1へのツール5の押し付け力を検出する。
図4の例では、力覚センサ9は、ロボットアーム3の先端部に取り付けられる。ただし、力覚センサ9は、ロボットアーム3の先端部に取り付けられている必要はなく、対象物1と、対象物1の設置面との間に配置されていてもよい。この場合、力覚センサ9は、対象物1と対象物1の設置面とが互いに及ぼしあう力を、対象物1からツール5が受ける反作用力として検出する。
【0030】
ツール制御装置10は、ロボットアーム3の動作を制御することにより、ツール5の動作を制御する。ツール制御装置10は、上述の力覚センサ9と、記憶部8と、制御部11とを有する。
【0031】
記憶部8は、ツール5の設定軌道を記憶している。設定軌道は、対象物1の稜線2の形状データに基づいて予め定められたものである。形状データは、例えばCADデータである。代わりに、形状データは、ならい動作により求めてもよい。ならい動作では、稜線2にツール5を接触させながら、第1稜線部分2aと第2稜線部分2bに沿ってツール5を移動させ、この時のツール5の移動軌跡を形状データとして取得する。
【0032】
制御部11は、記憶部8に記憶されている設定軌道と、力覚センサ9から入力される力の検出値とに基づいて、ロボットアーム3の先端部(ツール5)が、予め定められた押し付け力で稜線2に押し付けられた状態で、稜線2に沿って移動するように、ロボットアーム3の動作を制御する。
【0033】
ロボットアーム3は、例えば、垂直多関節型の6自由度アームであるが、その先端部が、対象物1の稜線2に沿って移動できる自由度と可動範囲を有している装置であればどのような構成でもよい。この場合、ロボットアーム3の形態は、直交座標型、スカラ型など、どのような形態であってもよい。なお、ロボットアーム3の形態は、7自由度の垂直多関節型でもよい。
【0034】
本実施形態によるツール制御方法では、
図5と
図6に示すように、稜線2の不連続変化点2cから互いに異なる方向に延びている対象物1の第1稜線部分2aおよび第2稜線部分2bを面取り加工する。
図5と
図6は、対象物1を示す斜視図である。
図5は、第1稜線部分2aと第2稜線部分2bと不連続変化点2cが、不連続変化点2cを底点とする凹形状を形成する場合を示し、
図6は、第1稜線部分2aと第2稜線部分2bと不連続変化点2cが、不連続変化点2cを頂点とする凸形状を形成する場合を示す。
図5と
図6では、第1稜線部分2aと第2稜線部分2bを、ツール5で面取り加工する。
図5(A)と
図6(A)では、第1稜部1aは、対象物1における隣接する2つの面1a、1bの交わり部分(例えば、線分)であり、第2稜部1bは、対象物1における隣接する2つの面1a、1cの交わり部分(例えば、線分)である。第1稜部1aと第2稜線部分2bの各々は、不連続変化点2cから線状に延びている。なお、
図5(B)と
図6(B)において、破線は、面取り加工により形成された面を示す。なお、第1稜線部分2aと第2稜線部分2bは、直線状に延びていてもよいし、曲線状に延びていてもよい。
【0035】
上述の設定軌道は、静止座標系で表現されてよい。静止座標系は、空間上に固定されている座標系であり、対象物1に対して固定されている。
【0036】
図7(A)(B)は、設定軌道17を示す。
図7(A)は、
図5(A)において、対象物1の面1aを含む平面による断面図である。
図7(B)は、
図6(A)において、対象物1の面1aを含む平面による断面図である。
設定軌道17は、
図7に示すように、第1稜線部分2aに沿って延びる第1軌道線17aと、第2稜線部分2bに沿って延びる第2軌道線17bと、第1軌道線17aと第2軌道線17bの交点17cと、第1軌道線17aにおいて交点17cと反対側に位置する第1接触開始点17dと、第2軌道線17bにおいて前記交点17cの近傍に位置する第2接触開始点17eとを有する。なお、
図7(A)において、この例では、交点17cと第2接触開始点17eは、同じ位置にある。
【0037】
図8は、本発明の実施形態によるツール制御方法を示すフローチャートである。
【0038】
ツール制御方法は、ステップS1〜S4を有する。
【0039】
ステップS1において、ツール5が、設定軌道17において、第1接触開始点17dから交点17cへ第1軌道線17a上を移動するように、制御部11は、ツール5の動作を制御する。これにより、制御部11は、不連続変化点2cに向かって第1稜線部分2aに沿ってツール5を移動させながら、ツール5に第1稜線部分2aを面取り加工させる。
【0040】
ステップS1の開始時に、制御部11は、ツール5をその軸回りに回転させながら、設定軌道17に基づいて、ツール5を第1軌道線17aと直交する接近方向に移動させることにより、設定軌道17の第1接触開始点17dにツール5を位置させる。この第1接触開始点17dにツール5が位置しても、この時までに、力覚センサ9が近接方向と反対方向に作用する力を検出しない場合には、ツール5が第1稜線部分2aに接していないとして、この力を検出するまで、近接方向にツール5を移動させる。この場合、制御部11は、次のように設定軌道17を修正して使用する。すなわち、制御部11は、ステップS1の開始時においてツール5が第1稜線部分2aに接している位置が、第1接触開始点17dに一致するように、設定軌道17全体を並進させる。ここで、ステップS1の開始時においてツール5が第1稜線部分2aに接している位置は、適宜の手段により検出される。以降において、制御部11は、このように修正した設定軌道17(以下、単に設定軌道17という)を用いる。
【0041】
また、ステップS1では、制御部11は、ツール5を第1稜線部分2aに押し付けた状態で、不連続変化点2cに向かって第1稜線部分2aに沿ってツール5を移動させる。力覚センサ9は、ツール5が第1稜線部分2aに押し付けられることにより、ツール5に作用する反作用力を検出する。この反作用力の検出値を設定値に維持するように、制御部11は、ロボットアーム3を制御することにより、第1稜線部分2aに対するツール5の押し付け力を制御する。
【0042】
ステップS1において、ツール5を第1稜線部分2aに押し付ける方向は、稜線2上の各点ごとに予め設定されている。本実施形態のように、ツール5が、予め定めた目標加工面に稜線2を面取り加工する場合には、押し付ける方向は、目標加工面に垂直な方向であって、稜線2上の各点において稜線2の接線と直交する方向である。このような押し付け方向は、後述のステップS4においても同様である。以下、ステップS1、S4において、ツール5を稜線2に押し付ける方向を、単に押し付け方向ともいう。
【0043】
ステップS2は、ステップS1の進行中に行われる。ステップS2において、制御部11は、ツール5が不連続変化点2cに至ったかを判断する。ここで、ツール5が不連続変化点2cに至ったとは、凹形状の稜線2については、ツール5が第2稜線部分2bに当たったことを意味し、凸形状の稜線2については、ツール5が第1稜線部分2a(対象物1)から離れて、力覚センサ9が第1稜線部分2aからツール5に作用する反作用力を検出しなくなったことを意味する。ステップS1により、ツール5が不連続変化点2cに至ると、対象物1からツール5の受ける反作用力が変化する。制御部11は、この変化を力覚センサ9で検出した場合に、ステップS2において、ツール5が不連続変化点2cに至ったと判断する。
【0044】
凹形状の稜線2の面取り加工においては、次のようにステップS2の判断をする。ステップS1において、第1稜線部分2aに沿ってツール5が移動する方向(すなわち、第1稜線部分2aの接線方向)と反対方向に、対象物1からツール5の受ける反作用力が、第1のしきい値より小さくなっている。この状態を、第1の状態(例えば、当該反作用力がほぼゼロの状態)とする。第1の状態から、第1稜線部分2aに沿ったツール5の移動方向にツール5が第2稜線部分2bに当たると、力覚センサ9は、この移動方向と反対方向に前記第1のしきい以上の力を検出する。そこで、この状態を第2の状態として、制御部11は、第1の状態から第2の状態への変化を力覚センサ9で検出したことにより、ステップS2において、ツール5が不連続変化点2cに至ったと判断する。
【0045】
凸形状の稜線2の面取り加工においては、次のようにステップS2の判断をする。ステップS1において、ツール5と第1稜線部分2aとの接触が維持されることにより(本実施形態では、ツール5が第1稜線部分2aに押し付けられることにより)、第2のしきい値より大きいその反作用力がツール5に作用している。この状態を第3の状態とする。第3の状態から、ツール5が不連続変化点2cを通過すると、ツール5は、対象物1から離れる。これにより、力覚センサ9は、第3の状態でツール5が受けていた反作用力を検出しなくなる。この状態は反作用力が前記第2のしきい値以下になることで検出でき、この状態を第4の状態として、制御部11は、第3の状態から第4の状態への変化を力覚センサ9で検出したことにより、ステップS2において、ツール5が不連続変化点2cに至ったと判断する。
【0046】
ステップS2の判断が、「はい」となったら、ステップS3へ進み、そうでない場合には、ステップS1を行いながら、ステップS2の判断を繰り返す。
なお、第1稜線部分2aに沿った方向に関して、ツール5が、設定軌道17の交点17cに至っても、ステップS2の判断が、「はい」とならない場合には、制御部11は、第1軌道線17aの延長線上をツール5が移動するようにツール5を制御することにより、ステップS1を継続させる。
【0047】
ステップS2の判断が「はい」となった場合には、次のように設定軌道17を修正する。すなわち、ステップS2の判断が「はい」となった時における第1軌道線17a上のツール5の位置と、第2軌道線17b上の第2接触開始点17eとが一致するように、設定軌道17全体を静止座標系において並進させる。なお、ここで使用するツール5の位置は、適宜の手段で検出される。以降において、制御部11は、修正した設定軌道17(以下、単に設定軌道17という)を用いる。
【0048】
ステップS3において、制御部11は、ツール5と対象物1との接触位置を、第1稜線部分2aから第2稜線部分2bに移行させ、ツール5の移動方向を、第2稜線部分2bに沿った方向に切り換えるようにツール5を制御する。ステップS3における前記接触位置の移行では、制御部11は、設定軌道17の第2接触開始点17eにツール5を位置させる。これにより、ツール5が、不連続変化点2cの近傍において第2稜線部分2bに当てられ、第2稜線部分2bの面取り加工を開始した状態になる。次いで、ステップS4に進む。
【0049】
ステップS4において、ツール5が、設定軌道17において、第2接触開始点17eから交点17cから離れる方向に第2軌道線17b上を移動するように、制御部11は、ツール5の動作を制御する。これにより、制御部11は、不連続変化点2cから離れる方向に第2稜線部分2bに沿ってツール5を移動させながら、ツール5に第2稜線部分2bを面取り加工させる。
このステップS4では、制御部11は、ツール5を第2稜線部分2bに押し付けた状態で、不連続変化点2cから離れる方向に第2稜線部分2bに沿ってツール5を移動させる。力覚センサ9は、ツール5が第2稜線部分2bに押し付けられることにより、ツール5に作用する反作用力を検出する。この反作用力の検出値を設定値に維持するように、制御部11は、ロボットアーム3を制御することにより、第2稜線部分2bに対するツール5の押し付け力を制御する。
【0050】
ステップS1、S4は、ツール5をその軸回りに回転させながら行われる。なお、ステップS1の開始からステップS4の終了まで、ツール5を、その軸回りに回転させた状態に維持してよい。
【0051】
また、ステップS1、S4において、制御部11は、ハイブリッド制御によりツール5を制御するのがよい。すなわち、制御部11は、位置制御により、ロボットアーム3の先端部を、稜線2に沿って移動させ、力制御により、ロボットアーム3の先端部(ツール5)を稜線2に押し付ける。ここで、位置制御の制御方向は、稜線2(設定軌道17)の接線方向であり、力制御の制御方向は、稜線2(設定軌道17)の接線方向と直交する方向である。位置制御と力制御は、互いに分離して行われる。
【0052】
設定軌道17は、予め定められたツール5の設定姿勢を含む。設定姿勢は、第1稜線部分2a上の各点に対して定められた第1の姿勢と、第2稜線部分2b上の各点に対して定められた第2の姿勢と、を含む。第1の姿勢は、第1姿勢条件を満たすように設定され、第2の姿勢は、第2姿勢条件を満たすように設定される。第1姿勢条件は、ツール5と第1稜線部分2aとの接触位置において、ツール5の外面と接する仮想平面が、押し付け方向と直交することを規定し、第2姿勢条件は、ツール5と第2稜線部分2bとの接触位置において、ツール5の外面と接する仮想平面が、押し付け方向と直交することを規定する。制御部11は、ステップS1、S4において、設定姿勢に基づいてツール5の姿勢を制御する。
【0053】
凸形状の稜線2を面取り加工する場合、ステップS3において、
図9(A)または
図9(B)において破線で示す経路上をツール5が移動することにより、第2接触開始点17eにツール5を移動させてもよい。
図9(A)の場合には、ステップS2での判断が「はい」となった時におけるツール5の位置から、ツール5は、対象物1との接触を避けて第2接触開始点17eへ移動する。
図9(B)の場合には、ツール5は、交点17cから、第1接触開始点17dと反対側に延びる経路23上を移動し、その後、第2軌道線17bの延長線上の点まで経路25上を直線移動し、次いで、第2接触開始点17eまで、この延長線である経路27上を移動する。
【0054】
上述した本実施形態によると、以下の効果(1)〜(3)が得られる。
【0055】
(1)ステップS1により、ツール5が不連続変化点2cに至ると、対象物1からツール5の受ける反作用力が変化する。制御部11は、この変化を検出した場合に、ツール5が不連続変化点2cに至ったと判断する。従って、対象物1の設置位置に誤差があっても、制御部11は、ツール5が不連続変化点2cに至った時に、ツール5の移動方向を第2稜線部分2bに沿った方向に切り換え、ツール5による加工位置を第2稜線部分2bに切り換えることができる。よって、ツール5の位置決め誤差、対象物1の設置位置の誤差、対象物1の形状の誤差があっても、対象物1を精度よく加工できる。
【0056】
(2)凹形状の稜線2の加工では、ステップS1において、第1稜線部分2aに沿ってツール5が移動する方向と反対方向に、対象物1からツール5の受ける反作用力が、第1のしきい値より小さい第1の状態となっている。制御部11は、第1の状態から、第1のしきい以上の当該反作用力をツール5が受けた第2の状態への変化を検出することにより、ステップS2において、ツール5が不連続変化点2cに至ったことを正確に判断できる。
これについて、従来では、上述の誤差により、ツール5が、凹形状の稜線2において第2稜線部分2bに当たった後、ツール5を第2稜線部分2bに向けて必要以上に駆動させてしまう可能性があった。この場合、必要以上に深く第2稜線部分2bを加工してしまったり、ツール5に作用する応力が過大になったりする。
これに対し、本実施形態では、上述のように、制御部11は、ツール5が不連続変化点2cに至ったことを正確に判断できるので、ツール5が、凹形状の稜線2において第2稜線部分2bに当たった後、ツール5を第2稜線部分2bに向けて必要以上に駆動させてしまうことを回避できる。
【0057】
(3)凸形状の稜線2の加工では、ステップS1において、ツール5を第1稜線部分2aに押し付けることにより、第2のしきい値より大きい反作用力がツール5に作用している第3の状態となっている。制御部11は、第3の状態から、当該反作用力が第2のしきい値以下となった第4の状態への変化を検出したことにより、ステップS2において、ツール5が不連続変化点2cに至ったこと、すなわち、第1稜線部分2aの端部を通過したことを正確に判断できる。
これについて、従来では、上述の誤差により、ツール5が不連続変化点2cに至る前に、ツール5の移動方向を第2稜線部分2bに沿った方向に切り換えて、第1稜線部分2aに向けてツール5を必要以上に駆動してしまう場合がある。この場合、ツール5が第1稜線部分2aにさらに押し付けられるので、必要以上に深く稜線2を加工してしまったり、ツール5に作用する応力が過大になったりする。
これに対し、本実施形態では、上述のように、制御部11は、ツール5が不連続変化点2cに至ったことを正確に判断できるので、ツール5が不連続変化点2cに至っていないにもかかわらず、ツール5が第1稜線部分2aに必要以上に押し付けられることを回避できる。
【0058】
本発明は上述した実施の形態に限定されず、本発明の要旨を逸脱しない範囲で種々変更を加え得ることは勿論である。例えば、以下の変更例1〜4のいずれかを採用してもよいし、変更例1〜4を任意に組み合わせて採用してもよい。この場合、以下で説明しない点は、上述と同じである。
【0059】
(変更例1)
ツール5が、対象物1の凸形状の稜線2を加工する場合には、制御部11は、次のようにステップS2を行ってもよい。
【0060】
まず、ステップS1において、第1稜線部分2aにツール5が押し付け方向に押し付けられていることにより、当該押し付け方向におけるツール5の変位がしきい値以下である状態となっている。ここで、ツール制御装置10は、適宜の手段により、微小時間毎に、押し付け方向におけるツール5の位置を計測する。前記変位は、直前または設定回数だけ前に計測した押し付け方向におけるツール5の位置からの変位であってよい。なお、ツール制御装置10は、ロボットアーム3の動作量を適宜の手段で計測し、この計測データに基づいて、押し付け方向におけるツール5の位置と変位を検出してよい。
【0061】
このようにして得た変位の検出値に基づいて、制御部11は、押し付け方向におけるツール5の変位がしきい値以下である状態から、ツール5が、押し付け方向において前記しきい値よりも大きく変位したことを検出したことにより、ステップS2において、ツール5が不連続変化点2cに至ったと判断する。
【0062】
ステップS1において、第1稜線部分2aにツール5が押し付け方向に押し付けられていることにより、当該押し付け方向におけるツール5の変位がしきい値以下である状態となっている。この状態から、ツール5が不連続変化点2cに至ったことにより、ツール5が、不連続変化点2cを通過して、第1稜線部分2aの延長線側へ対象物1から離れる。すると、ツール5は、第1軌道線17a上、または、第1軌道線17aの延長線上に位置するように制御されているにもかかわらず、押し付け方向に駆動されているので、押し付け方向に、ツール5が、一時的に、前記しきい値より大きく変位する。
そこで、制御部11は、この変位が、前記しきい値よりも大きくなったことを検出したことにより、ツール5が、ツール5が不連続変化点2cに至ったと判断する。従って、対象物1の設置位置に誤差があっても、制御部11は、第1稜線部分2aに沿って、ツール5を、不連続変化点2cまで正確に移動させ、次いで、加工位置を第2稜線部分2bに切り換えることができる。
よって、ツール5の位置決め誤差、対象物1の設置位置の誤差、対象物1の形状の誤差があっても、対象物1を精度よく加工できる。
【0063】
(変更例2)
上述の実施形態または変更例1においては、ステップS1とステップS4では、力覚センサ9は、ツール5が第1稜線部分2aに押し付けられることにより、ツール5に作用する反作用力を検出し、制御部11は、この反作用力の検出値を設定値に維持するように、ロボットアーム3を制御していた。この制御は、上述のハイブリッド制御における力制御の一例であり、以下、ならい制御という。
変更例2によると、ステップS1とステップS4において、ツール5に対して、ならい制御を行わずに、位置制御のみを行ってもよい。この位置制御では、制御部11は、ステップS1とステップS4において、力覚センサ9の検出値を用いず、他の点では上述と同様に、設定軌道17に基づいてツール5を制御する。
【0064】
このような変更例2は、位置制御を高精度に行える場合に採用するのがよい。
【0065】
変更例2では、以下のようにツール5は動作させられる。
ステップS1では、制御部11は、ツール5を第1稜線部分2aに接触させた状態で、不連続変化点2cに向かう方向に第1稜線部分2aに沿ってツール5を移動させる。
ステップS4では、制御部11は、ツール5を第2稜線部分2bに接触させた状態で、不連続変化点2cから離れる方向に第2稜線部分2bに沿ってツール5を移動させる。
【0066】
(変更例3)
本発明によると、ツール5は、加工具ではなく、稜線2の正確な形状計測のために、稜線2に沿って移動する形状計測具であってもよい。この場合、上述のステップS1〜S4により、ツール5が移動した軌跡を求め、この軌跡に基づいて稜線2の形状を求めることができる。
【0067】
これにより、稜線2の形状を高精度に求めることができる。例えば、設定軌道17を求めるのに用いた形状データの精度が低い場合に、より精度の高い稜線2の形状を得ることができる。
【0068】
この変更例3において、ツール5を稜線2に押し付ける押し付け方向は、後述する変更例4のように定められる。
【0069】
(変更例4)
上述の実施形態または変更例1において、ツール5が面取り加工の代わりにバリ取り加工する場合や、上述の変更例3の場合には、ステップS1とステップS4で、ツール5を稜線2に押し付ける押し付け方向は、次のように予め定められてもよい。
【0070】
稜線2上の各点での押し付け方向は、当該点を含み稜線2と直交する平面による対象物1の断面において、第1接平面(以下で定義する)と第2接平面(以下で定義する)とに囲まれる領域を通り、かつ、稜線2を通る直線の方向である。第1接平面は、前記断面において、稜線2に限りなく近い、対象物1の一方の面(前記断面においては線)上の点で、この面に接する平面(前記断面においては直線)であり、第2接平面は、前記断面において、稜線2に限りなく近い、対象物1の他方の面(前記断面においては線)上の点で、この面に接する平面(前記断面においては直線)である。ここで、一方の面と他方の面との境界が稜線2となる。
好ましくは、押し付け方向は、前記断面において、第1接平面と第2接平面のなす角度を2等分する直線の方向である。
【0071】
ツール5がバリ取り加工をする場合には、ツール5はブラシであってもよい。