(57)【特許請求の範囲】
【請求項１】
対象物の稜線に沿ってツールを移動させるツール制御方法であって、
稜線は、その接線方向が不連続的に変化する不連続変化点と、不連続変化点から互いに異なる方向に延びている第１稜線部分および第２稜線部分とを有し、
第１稜線部分と第２稜線部分と不連続変化点は、不連続変化点を底点とする凹形状を形成し、
（Ａ）ツールを第１稜線部分に押し付けた状態で、不連続変化点に向かう方向に第１稜線部分に沿ってツールを移動させ、
前記（Ａ）において、前記第１稜線部分に沿って前記ツールが移動する方向と反対方向に、前記第１稜線部分から前記ツールの受ける反作用力が、しきい値より小さい状態となっており、
（Ｂ）前記ツールが不連続変化点近傍で、前記反作用力が前記しきい値以上になったときに前記不連続変化点と判断することにより、前記ツールの移動方向を、前記第２稜線部分に沿った方向に切り換え、
（Ｃ）前記ツールを前記第２稜線部分に押し付けた状態で、前記不連続変化点から離れる方向に前記第２稜線部分に沿って前記ツールを移動させる、ことを特徴とするツール制御方法。
【請求項２】
対象物の稜線に沿ってツールを移動させるツール制御方法であって、
稜線は、その接線方向が不連続的に変化する不連続変化点と、不連続変化点から互いに異なる方向に延びている第１稜線部分および第２稜線部分とを有し、
第１稜線部分と第２稜線部分と不連続変化点は、不連続変化点を頂点とする凸形状を形成し、
（Ａ）ツールを第１稜線部分に押し付けた状態で、不連続変化点に向かう方向に第１稜線部分に沿ってツールを移動させ、
（Ｂ）ツールが不連続変化点に至ったと判断したことにより、ツールの移動方向を、第２稜線部分に沿った方向に切り換え、
（Ｃ）ツールを第２稜線部分に押し付けた状態で、不連続変化点から離れる方向に第２稜線部分に沿ってツールを移動させ、
前記（Ａ）において、第１稜線部分にツールが押し付け方向に押し付けられていることにより、当該押し付け方向におけるツールの変位がしきい値以下である状態となっており、
前記しきい値は、前記（Ａ）におけるツールの変位の最大値以上であり、
この状態から、前記押し付け方向において前記しきい値よりも大きくツールが変位したことを検出した場合に、前記（Ｂ）において、ツールが不連続変化点に至ったと判断する、ことを特徴とするツール制御方法。
【請求項３】
前記（Ａ）と（Ｃ）において、稜線に対する前記ツールの押し付け力が設定値に維持されるように、前記ツールを稜線に押し付ける、ことを特徴とする請求項１又は２に記載のツール制御方法。
【請求項４】
ロボットアームの先端部に取り付けられたツールを、対象物の稜線に沿って移動させるツール制御装置であって、
稜線は、その接線方向が不連続的に変化する不連続変化点と、不連続変化点から互いに異なる方向に延びている第１稜線部分および第２稜線部分とを有し、
第１稜線部分と第２稜線部分と不連続変化点は、不連続変化点を底点とする凹形状を形成し、
対象物からツールの受ける反作用力を検出する力覚センサと、
稜線の形状データに基づいて予め定められたツールの設定軌道を記憶する記憶部と、
ロボットアームを制御することによりツールを制御する制御部と、を備え、
制御部は、
（Ａ）設定軌道に基づいて、ツールを第１稜線部分に押し付けた状態で、不連続変化点に向かう方向に第１稜線部分に沿ってツールを移動させ、
前記（Ａ）において、前記第１稜線部分に沿って前記ツールが移動する方向と反対方向に、前記第１稜線部分から前記ツールの受ける反作用力が、しきい値より小さい状態となっており、
（Ｂ）前記ツールが不連続変化点近傍で、前記反作用力が前記しきい値以上になったときに前記不連続変化点と判断することにより、前記ツールの移動方向を、前記第２稜線部分に沿った方向に切り換え、
（Ｃ）前記ツールを前記第２稜線部分に押し付けた状態で、前記不連続変化点から離れる方向に前記第２稜線部分に沿って前記ツールを移動させる、ことを特徴とするツール制御装置。
【請求項５】
ロボットアームの先端部に取り付けられたツールを、対象物の稜線に沿って移動させるツール制御装置であって、
前記稜線は、その接線方向が不連続的に変化する不連続変化点と、前記不連続変化点から互いに異なる方向に延びている第１稜線部分および第２稜線部分とを有し、
前記第１稜線部分と前記第２稜線部分と前記不連続変化点は、前記不連続変化点を頂点とする凸形状を形成し、
対象物から前記ツールの受ける反作用力を検出する力覚センサと、
前記稜線の形状データに基づいて予め定められた前記ツールの設定軌道を記憶する記憶部と、
前記ロボットアームを制御することにより前記ツールを制御する制御部と、を備え、
前記制御部は、
（Ａ）設定軌道に基づいて、前記不連続変化点に向かう方向に前記第１稜線部分に沿って前記ツールを移動させ、
（Ｂ）前記ツールが前記不連続変化点に至ったと判断したことにより、前記ツールの移動方向を、前記第２稜線部分に沿った方向に切り換え、
（Ｃ）前記設定軌道に基づいて、前記不連続変化点から離れる方向に前記第２稜線部分に沿って前記ツールを移動させ、
前記（Ａ）において、前記第１稜線部分に前記ツールが押し付け方向に押し付けられていることにより、当該押し付け方向における前記ツールの変位がしきい値以下である押し付け状態となっており、
前記しきい値は、前記（Ａ）における前記ツールの前記変位の最大値以上であり、
前記制御部は、前記変位の検出値に基づいて、前記押し付け状態から、前記押し付け方向において前記しきい値よりも大きく前記ツールが変位したことを検出した場合に、前記（Ｂ）において、前記ツールが前記不連続変化点に至ったと判断する、ことを特徴とするツール制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
対象物の稜線の加工や形状計測において、対象物の稜線に沿ってツールを移動させるツール制御方法および装置に関する。特に、本発明は、その接線方向が不連続変化点で不連続的に変化する稜線に沿って、ツールを移動させるツール制御方法および装置に関する。
【背景技術】
【０００２】
対象物の稜線に沿ってツールを移動させることにより、対象物の稜線に対する加工や形状計測を行うことができる。稜線に対する加工では、対象物の稜線に沿ってツールを移動させることにより、この稜線に対して面取り加工やバリ取り加工をする。稜線に対する形状計測では、対象物の稜線に沿ってツールを移動させることにより、ツールの移動軌跡を求め、この移動軌跡に基づいて稜線の形状を求める。
【０００３】
以下において、ツールにより、対象物（被加工物）の稜線に対して加工をする場合について説明する。すなわち、ツールが、面取り加工やバリ取り加工を行う加工具である場合を説明する。
【０００４】
従来のツール制御方法を、図１と図２に基づいて説明する。図１は、対象物１における凹形状の稜線２を加工する場合の説明図であり、図２は、対象物１における凸形状の稜線２を加工する場合の説明図である。図１（Ａ）と図２（Ａ）は、斜視図である。図１（Ｂ）と図２（Ｂ）は、対象物１とツール５の平面図である。すなわち、図１（Ｂ）と図２（Ｂ）は、それぞれ、対象物１の上面１ａを含む平面による図１（Ａ）と図２（Ａ）の断面図である。稜線２は、その接線方向が不連続的に変化する不連続変化点２ｃと、不連続変化点２ｃから異なる方向に延びている第１稜線部分２ａおよび第２稜線部分２ｂとを有する。図１と図２の例では、ツール５は、円筒形の砥石であり、その軸回りに回転しながら移動して対象物１を加工する。
【０００５】
上述の第１稜線部分２ａにツール５を押し付けた状態で、ツール５を、第１稜線部分２ａに沿って、不連続変化点２ｃに向けた矢印Ａ１方向に移動させる。これにより、第１稜線部分２ａを加工する。
ツール５が第１稜線部分２ａの端部まで加工したら、ツール５の姿勢を変更するとともに、ツール５による加工位置を第２稜線部分２ｂの端部に切り換える。
次いで、ツール５を上述の第２稜線部分２ｂに押し付けた状態で、ツール５を、第２稜線部分２ｂに沿って、不連続変化点２ｃから離れる矢印Ａ２方向に移動させる。これにより、第２稜線部分２ｂを加工する。
【０００６】
このような加工は、対象物１の稜線２が三次元曲線である場合は、高価な多軸工作機械が必要であった。そのため、位置決め精度は、多軸工作機械よりも低いが、安価で、可動範囲の広いロボットアームを利用することが行われていた。すなわち、ツール５をロボットアームの先端部に取り付け、ロボットアームの動作を制御することにより、上述のようにツール５の移動や、対象物１へのツール５の押し付けや、ツール５の姿勢変更などを行わせる。
【０００７】
ロボットアームの制御において、対象物の加工または形状計測の精度を高めるために、例えば、ハイブリッド制御を採用することができる。ハイブリッド制御では、位置制御と力制御を、互いに直交する方向に分離して行う。位置制御は、ロボットアームの先端部を、稜線２の接線方向に移動させる制御であり、力制御は、ロボットアームの先端部（ツール５）を対象物１に押し付ける制御である。位置制御による制御方向は、稜線２の接線方向であり、力制御による制御方向は、稜線２の接線方向と直交する方向である。このようなハイブリット制御により、ツール５を対象物１に所望の力で押し付けながら、対象物１の稜線２に沿ってツール５を移動させることができる。
【０００８】
なお、ロボットアームを用いた加工や形状計測は、例えば、下記の特許文献１、２に記載されている。
特許文献１では、ロボットアームの先端部にツールを取り付け、ツールを対象物に押し付けた状態で、対象物の表面に沿ってツールを移動させることにより、対象物の加工または形状計測を行っている。
特許文献２では、ロボットアームの先端部にツールを取り付け、対象物の表面にならってツールを移動させることにより、対象物の形状を計測している。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特許第２８５２８２８号
【特許文献２】特開平４−１２２５４６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
ツール５は、図１（Ｂ）と図２（Ｂ）に示すように、予め定められた設定軌道Ｘ上を移動するように制御される。設定軌道Ｘを、図１（Ｂ）と図２（Ｂ）において太線で示す。ツール５の設定軌道Ｘは、例えば、対象物１の形状データに基づいて定められている。ツール５が、この設定軌道Ｘに沿って移動するように制御されることにより（例えば、設定軌道Ｘに基づいた上述の位置制御により）、ツール５は、第１稜線部分２ａの端部（すなわち不連続変化点２ｃ）まで移動し、次いで、第２稜線部分２ｂに沿って移動する。ツール５は、第１稜線部分２ａに沿って移動している時には、（例えば上述の力制御により）第１稜線部分２ａに押し付けられた状態にある。同様に、ツール５は、第２稜線部分２ｂに沿って移動している時には、（例えば上述の力制御により）第２稜線部分２ｂに押し付けられた状態にある。このようにして、ツール５は、第１稜線部分２ａと第２稜線部分２ｂを加工する。
【００１１】
しかし、ロボットアームの位置決め誤差、対象物１の設置位置の誤差、設定軌道Ｘの誤差などにより、稜線２に対する加工または形状計測において、以下のような問題が生じる。
【００１２】
凹形状の稜線２の加工または形状計測において、上述の誤差により、図３（Ａ）のように、ツール５が実際に移動しようとする移動経路が、太線で示す経路Ｙのようになって、対象物１に対してずれてしまう場合がある。この場合、ツール５が、第２稜線部分２ｂに当たった後も、さらに、第２稜線部分２ｂに向けて駆動されるので、必要以上に深く第２稜線部分２ｂを加工してしまったり、ツール５に作用する応力が過大になったりする。
【００１３】
凹形状の稜線２の加工または形状計測において、上述の誤差により、図３（Ｂ）のように、ツール５が実際に移動しようとする移動経路が、太線で示す経路Ｙのようになって、対象物１に対してずれてしまう場合がある。この場合、ツール５は、不連続変化点２ｃに至る前に、その移動方向が方向Ａ１から方向Ａ２に切り換えられるので、ツール５は、対象物１から離れた状態で、第２稜線部分２ｂに沿って移動を開始してしまう。従って、第２稜線部分２ｂの加工または形状計測が適切に行われなくなってしまう。
【００１４】
凸形状の稜線２の加工または形状計測において、上述の誤差により、図３（Ｃ）のように、ツール５が実際に移動しようとする移動経路が、太線で示す経路Ｙのようになって、対象物１に対してずれてしまう場合がある。この場合、第１稜線部分２ａの端部まで加工する前に、ツール５の移動方向が方向Ａ１から方向Ａ２に切り換えてしまうことがある。従って、必要以上に深く稜線２を加工してしまったり、ツール５に作用する応力が過大になったりする。
【００１５】
凸形状の稜線２の加工または形状計測において、上述の誤差により、図３（Ｄ）のように、ツール５が実際に移動しようとする移動経路が、太線で示す経路Ｙのようになって、対象物１に対してずれてしまう場合がある。この場合、ツール５は、第１稜線部分２ａの端部を通過した後、対象物１から離れた状態で、第２稜線部分２ｂに沿って移動を開始してしまう。従って、第２稜線部分２ｂの加工または形状計測が適切に行われなくなってしまう。
【００１６】
そこで、本発明の目的は、ツール（ロボットアーム）の位置決め誤差、対象物の設置位置の誤差、対象物の形状の誤差があっても、対象物に沿ってツールを高精度に移動させることができるツール制御方法と装置を提供することにある。
【課題を解決するための手段】
【００１７】
上述の目的を達成するため、本発明によると、対象物の稜線に沿ってツールを移動させるツール制御方法であって、
稜線は、その接線方向が不連続的に変化する不連続変化点と、不連続変化点から互いに異なる方向に延びている第１稜線部分および第２稜線部分とを有し、
第１稜線部分と第２稜線部分と不連続変化点は、不連続変化点を底点とする凹形状を形成し、
（Ａ）ツールを第１稜線部分に押し付けた状態で、不連続変化点に向かう方向に第１稜線部分に沿ってツールを移動させ、
前記（Ａ）において、前記第１稜線部分に沿って前記ツールが移動する方向と反対方向に、前記第１稜線部分から前記ツールの受ける反作用力が、しきい値より小さい状態となっており、
（Ｂ）前記ツールが不連続変化点近傍で、前記反作用力が前記しきい値以上になったときに前記不連続変化点と判断することにより、前記ツールの移動方向を、前記第２稜線部分に沿った方向に切り換え、
（Ｃ）前記ツールを前記第２稜線部分に押し付けた状態で、前記不連続変化点から離れる方向に前記第２稜線部分に沿って前記ツールを移動させる、ことを特徴とするツール制御方法が提供される。
【００２０】
また、上述の目的を達成するため、本発明によると、対象物の稜線に沿ってツールを移動させるツール制御方法であって、
稜線は、その接線方向が不連続的に変化する不連続変化点と、不連続変化点から互いに異なる方向に延びている第１稜線部分および第２稜線部分とを有し、
第１稜線部分と第２稜線部分と不連続変化点は、不連続変化点を頂点とする凸形状を形成し、
（Ａ）ツールを第１稜線部分に押し付けた状態で、不連続変化点に向かう方向に第１稜線部分に沿ってツールを移動させ、
（Ｂ）ツールが不連続変化点に至ったと判断したことにより、ツールの移動方向を、第２稜線部分に沿った方向に切り換え、
（Ｃ）ツールを第２稜線部分に押し付けた状態で、不連続変化点から離れる方向に第２稜線部分に沿ってツールを移動させ、
前記（Ａ）において、第１稜線部分にツールが押し付け方向に押し付けられていることにより、当該押し付け方向におけるツールの変位がしきい値以下である状態となっており、
前記しきい値は、前記（Ａ）におけるツールの変位の最大値以上であり、
この状態から、前記押し付け方向において前記しきい値よりも大きくツールが変位したことを検出した場合に、前記（Ｂ）において、ツールが不連続変化点に至ったと判断する、ことを特徴とするツール制御方法が提供される。
【００２１】
上述の目的を達成するため、本発明によると、ロボットアームの先端部に取り付けられたツールを、対象物の稜線に沿って移動させるツール制御装置であって、
稜線は、その接線方向が不連続的に変化する不連続変化点と、不連続変化点から互いに異なる方向に延びている第１稜線部分および第２稜線部分とを有し、
第１稜線部分と第２稜線部分と不連続変化点は、不連続変化点を底点とする凹形状を形成し、
対象物からツールの受ける反作用力を検出する力覚センサと、
稜線の形状データに基づいて予め定められたツールの設定軌道を記憶する記憶部と、
ロボットアームを制御することによりツールを制御する制御部と、を備え、
制御部は、
（Ａ）設定軌道に基づいて、ツールを第１稜線部分に押し付けた状態で、不連続変化点に向かう方向に第１稜線部分に沿ってツールを移動させ、
前記（Ａ）において、前記第１稜線部分に沿って前記ツールが移動する方向と反対方向に、前記第１稜線部分から前記ツールの受ける反作用力が、しきい値より小さい状態となっており、
（Ｂ）前記ツールが不連続変化点近傍で、前記反作用力が前記しきい値以上になったときに前記不連続変化点と判断することにより、前記ツールの移動方向を、前記第２稜線部分に沿った方向に切り換え、
（Ｃ）前記ツールを前記第２稜線部分に押し付けた状態で、前記不連続変化点から離れる方向に前記第２稜線部分に沿って前記ツールを移動させる、ことを特徴とするツール制御装置が提供される。
【００２２】
また、上述の目的を達成するため、本発明によると、ロボットアームの先端部に取り付けられたツールを、対象物の稜線に沿って移動させるツール制御装置であって、
前記稜線は、その接線方向が不連続的に変化する不連続変化点と、前記不連続変化点から互いに異なる方向に延びている第１稜線部分および第２稜線部分とを有し、
前記第１稜線部分と前記第２稜線部分と前記不連続変化点は、前記不連続変化点を頂点とする凸形状を形成し、
対象物から前記ツールの受ける反作用力を検出する力覚センサと、
前記稜線の形状データに基づいて予め定められた前記ツールの設定軌道を記憶する記憶部と、
前記ロボットアームを制御することにより前記ツールを制御する制御部と、を備え、
前記制御部は、
（Ａ）設定軌道に基づいて、前記不連続変化点に向かう方向に前記第１稜線部分に沿って前記ツールを移動させ、
（Ｂ）前記ツールが前記不連続変化点に至ったと判断したことにより、前記ツールの移動方向を、前記第２稜線部分に沿った方向に切り換え、
（Ｃ）前記設定軌道に基づいて、前記不連続変化点から離れる方向に前記第２稜線部分に沿って前記ツールを移動させ、
前記（Ａ）において、前記第１稜線部分に前記ツールが押し付け方向に押し付けられていることにより、当該押し付け方向における前記ツールの変位がしきい値以下である押し付け状態となっており、
前記しきい値は、前記（Ａ）における前記ツールの前記変位の最大値以上であり、
前記制御部は、前記変位の検出値に基づいて、前記押し付け状態から、前記押し付け方向において前記しきい値よりも大きく前記ツールが変位したことを検出した場合に、前記（Ｂ）において、前記ツールが前記不連続変化点に至ったと判断する、ことを特徴とするツール制御装置が提供される。
【発明の効果】
【００２３】
上述のように、本発明によると、ツールを第１稜線部分に接触させた状態で、不連続変化点に向かう方向に第１稜線部分に沿ってツールを移動させることにより、ツールが不連続変化点に至ると、対象物からツールの受ける反作用力、または、第１稜線部分に対するツールの押し付け方向におけるツールの変位が変化する。
本発明によると、ツール制御装置により、この変化を検出した場合に、ツールが不連続変化点に至ったと判断する。従って、ツールの位置決め誤差、対象物の設置位置の誤差、または、ツールの設定軌道の誤差があっても、ツール制御装置により、ツールが不連続変化点に至った時に、ツールの移動方向を、第２稜線部分に沿った方向に切り換えることができる。
よって、対象物の稜線に沿ってツールを高精度に移動させることができる。
【図面の簡単な説明】
【００２４】
【図１】凹形状の稜線に対してツールを制御する従来の方法の説明図である。
【図２】凸形状の稜線に対してツールを制御する従来の方法の説明図である。
【図３】本発明が解決しようとする課題の説明図である。
【図４】本発明の実施形態によるツール制御装置を示す。
【図５】本発明の実施形態によるツール制御方法の説明図であり、稜線が凹形状を有する場合を示す。
【図６】本発明の実施形態によるツール制御方法の説明図であり、稜線が凸形状を有する場合を示す。
【図７】ツールの設定軌道を示す。
【図８】本発明の実施形態によるツール制御方法を示すフローチャートである。
【図９】ツールの経路の説明図である。
【発明を実施するための形態】
【００２５】
本発明の好ましい実施形態を図面に基づいて説明する。なお、各図において共通する部分には同一の符号を付し、重複した説明を省略する。
【００２６】
図４は、本発明の実施形態によるツール制御方法に用いることができるツール制御装置１０を示す。
ツール制御装置１０は、ツール５を、対象物１の稜線２に沿って移動させる装置である。後述する図５や図６に示すように、稜線２は、稜線２上の位置の連続的な変化に対してその接線方向が不連続的に変化する不連続変化点２ｃと、不連続変化点２ｃから互いに異なる方向に延びている第１稜線部分２ａおよび第２稜線部分２ｂとを有する。
【００２７】
ロボットアーム３の先端部には、ツール５と力覚センサ９が設けられている。
【００２８】
ツール５は、ロボットアーム３の先端部に設けられたスピンドルモータ４により、ツール５の軸回りに回転駆動される。本実施形態では、ツール５は、円筒形の砥石である。この場合、本実施形態では、ツール５の側面で、対象物（被加工物）１に対して面取り加工をする。ただし、ツール５は、他の形状を有していてもよい。例えば、ツール５は、対象物１を側面で加工する円錐形の砥石であってもよい。また、ツール５の種類は、砥石に限定されず、超硬カッターでもよい。
【００２９】
力覚センサ９は、対象物１からツール５が受ける反作用力を検出する。すなわち、力覚センサ９は、ツール５と対象物１とが互いに及ぼしあう力を検出する。力覚センサ９は、ツール５に作用する力の各方向成分を検出する。力の各方向成分は、例えば、ロボットアーム３の先端部に固定された互いに直交する３つの軸方向の各々における力の成分である。従って、後述する制御部１１は、力覚センサ９で検出した力の各方向成分に基づいて、検出対象方向にツール５に作用する力を検出できる。検出対象方向が、例えば、ツール５が対象物１に押し付けられる方向と反対の方向である場合には、制御部１１は、ツール５が対象物１に押し付けられたことによりツール５に作用する反作用力を検出する。すなわち、力覚センサ９は、対象物１へのツール５の押し付け力を検出する。図４の例では、力覚センサ９は、ロボットアーム３の先端部に取り付けられる。ただし、力覚センサ９は、ロボットアーム３の先端部に取り付けられている必要はなく、対象物１と、対象物１の設置面との間に配置されていてもよい。この場合、力覚センサ９は、対象物１と対象物１の設置面とが互いに及ぼしあう力を、対象物１からツール５が受ける反作用力として検出する。
【００３０】
ツール制御装置１０は、ロボットアーム３の動作を制御することにより、ツール５の動作を制御する。ツール制御装置１０は、上述の力覚センサ９と、記憶部８と、制御部１１とを有する。
【００３１】
記憶部８は、ツール５の設定軌道を記憶している。設定軌道は、対象物１の稜線２の形状データに基づいて予め定められたものである。形状データは、例えばＣＡＤデータである。代わりに、形状データは、ならい動作により求めてもよい。ならい動作では、稜線２にツール５を接触させながら、第１稜線部分２ａと第２稜線部分２ｂに沿ってツール５を移動させ、この時のツール５の移動軌跡を形状データとして取得する。
【００３２】
制御部１１は、記憶部８に記憶されている設定軌道と、力覚センサ９から入力される力の検出値とに基づいて、ロボットアーム３の先端部（ツール５）が、予め定められた押し付け力で稜線２に押し付けられた状態で、稜線２に沿って移動するように、ロボットアーム３の動作を制御する。
【００３３】
ロボットアーム３は、例えば、垂直多関節型の６自由度アームであるが、その先端部が、対象物１の稜線２に沿って移動できる自由度と可動範囲を有している装置であればどのような構成でもよい。この場合、ロボットアーム３の形態は、直交座標型、スカラ型など、どのような形態であってもよい。なお、ロボットアーム３の形態は、７自由度の垂直多関節型でもよい。
【００３４】
本実施形態によるツール制御方法では、図５と図６に示すように、稜線２の不連続変化点２ｃから互いに異なる方向に延びている対象物１の第１稜線部分２ａおよび第２稜線部分２ｂを面取り加工する。図５と図６は、対象物１を示す斜視図である。図５は、第１稜線部分２ａと第２稜線部分２ｂと不連続変化点２ｃが、不連続変化点２ｃを底点とする凹形状を形成する場合を示し、図６は、第１稜線部分２ａと第２稜線部分２ｂと不連続変化点２ｃが、不連続変化点２ｃを頂点とする凸形状を形成する場合を示す。図５と図６では、第１稜線部分２ａと第２稜線部分２ｂを、ツール５で面取り加工する。図５（Ａ）と図６（Ａ）では、第１稜部１ａは、対象物１における隣接する２つの面１ａ、１ｂの交わり部分（例えば、線分）であり、第２稜部１ｂは、対象物１における隣接する２つの面１ａ、１ｃの交わり部分（例えば、線分）である。第１稜部１ａと第２稜線部分２ｂの各々は、不連続変化点２ｃから線状に延びている。なお、図５（Ｂ）と図６（Ｂ）において、破線は、面取り加工により形成された面を示す。なお、第１稜線部分２ａと第２稜線部分２ｂは、直線状に延びていてもよいし、曲線状に延びていてもよい。
【００３５】
上述の設定軌道は、静止座標系で表現されてよい。静止座標系は、空間上に固定されている座標系であり、対象物１に対して固定されている。
【００３６】
図７（Ａ）（Ｂ）は、設定軌道１７を示す。図７（Ａ）は、図５（Ａ）において、対象物１の面１ａを含む平面による断面図である。図７（Ｂ）は、図６（Ａ）において、対象物１の面１ａを含む平面による断面図である。
設定軌道１７は、図７に示すように、第１稜線部分２ａに沿って延びる第１軌道線１７ａと、第２稜線部分２ｂに沿って延びる第２軌道線１７ｂと、第１軌道線１７ａと第２軌道線１７ｂの交点１７ｃと、第１軌道線１７ａにおいて交点１７ｃと反対側に位置する第１接触開始点１７ｄと、第２軌道線１７ｂにおいて前記交点１７ｃの近傍に位置する第２接触開始点１７ｅとを有する。なお、図７（Ａ）において、この例では、交点１７ｃと第２接触開始点１７ｅは、同じ位置にある。
【００３７】
図８は、本発明の実施形態によるツール制御方法を示すフローチャートである。
【００３８】
ツール制御方法は、ステップＳ１〜Ｓ４を有する。
【００３９】
ステップＳ１において、ツール５が、設定軌道１７において、第１接触開始点１７ｄから交点１７ｃへ第１軌道線１７ａ上を移動するように、制御部１１は、ツール５の動作を制御する。これにより、制御部１１は、不連続変化点２ｃに向かって第１稜線部分２ａに沿ってツール５を移動させながら、ツール５に第１稜線部分２ａを面取り加工させる。
【００４０】
ステップＳ１の開始時に、制御部１１は、ツール５をその軸回りに回転させながら、設定軌道１７に基づいて、ツール５を第１軌道線１７ａと直交する接近方向に移動させることにより、設定軌道１７の第１接触開始点１７ｄにツール５を位置させる。この第１接触開始点１７ｄにツール５が位置しても、この時までに、力覚センサ９が近接方向と反対方向に作用する力を検出しない場合には、ツール５が第１稜線部分２ａに接していないとして、この力を検出するまで、近接方向にツール５を移動させる。この場合、制御部１１は、次のように設定軌道１７を修正して使用する。すなわち、制御部１１は、ステップＳ１の開始時においてツール５が第１稜線部分２ａに接している位置が、第１接触開始点１７ｄに一致するように、設定軌道１７全体を並進させる。ここで、ステップＳ１の開始時においてツール５が第１稜線部分２ａに接している位置は、適宜の手段により検出される。以降において、制御部１１は、このように修正した設定軌道１７（以下、単に設定軌道１７という）を用いる。
【００４１】
また、ステップＳ１では、制御部１１は、ツール５を第１稜線部分２ａに押し付けた状態で、不連続変化点２ｃに向かって第１稜線部分２ａに沿ってツール５を移動させる。力覚センサ９は、ツール５が第１稜線部分２ａに押し付けられることにより、ツール５に作用する反作用力を検出する。この反作用力の検出値を設定値に維持するように、制御部１１は、ロボットアーム３を制御することにより、第１稜線部分２ａに対するツール５の押し付け力を制御する。
【００４２】
ステップＳ１において、ツール５を第１稜線部分２ａに押し付ける方向は、稜線２上の各点ごとに予め設定されている。本実施形態のように、ツール５が、予め定めた目標加工面に稜線２を面取り加工する場合には、押し付ける方向は、目標加工面に垂直な方向であって、稜線２上の各点において稜線２の接線と直交する方向である。このような押し付け方向は、後述のステップＳ４においても同様である。以下、ステップS１、S４において、ツール５を稜線２に押し付ける方向を、単に押し付け方向ともいう。
【００４３】
ステップＳ２は、ステップＳ１の進行中に行われる。ステップＳ２において、制御部１１は、ツール５が不連続変化点２ｃに至ったかを判断する。ここで、ツール５が不連続変化点２ｃに至ったとは、凹形状の稜線２については、ツール５が第２稜線部分２ｂに当たったことを意味し、凸形状の稜線２については、ツール５が第１稜線部分２ａ（対象物１）から離れて、力覚センサ９が第１稜線部分２ａからツール５に作用する反作用力を検出しなくなったことを意味する。ステップＳ１により、ツール５が不連続変化点２ｃに至ると、対象物１からツール５の受ける反作用力が変化する。制御部１１は、この変化を力覚センサ９で検出した場合に、ステップＳ２において、ツール５が不連続変化点２ｃに至ったと判断する。
【００４４】
凹形状の稜線２の面取り加工においては、次のようにステップＳ２の判断をする。ステップＳ１において、第１稜線部分２ａに沿ってツール５が移動する方向（すなわち、第１稜線部分２ａの接線方向）と反対方向に、対象物１からツール５の受ける反作用力が、第１のしきい値より小さくなっている。この状態を、第１の状態（例えば、当該反作用力がほぼゼロの状態）とする。第１の状態から、第１稜線部分２ａに沿ったツール５の移動方向にツール５が第２稜線部分２ｂに当たると、力覚センサ９は、この移動方向と反対方向に前記第１のしきい以上の力を検出する。そこで、この状態を第２の状態として、制御部１１は、第１の状態から第２の状態への変化を力覚センサ９で検出したことにより、ステップＳ２において、ツール５が不連続変化点２ｃに至ったと判断する。
【００４５】
凸形状の稜線２の面取り加工においては、次のようにステップＳ２の判断をする。ステップＳ１において、ツール５と第１稜線部分２ａとの接触が維持されることにより（本実施形態では、ツール５が第１稜線部分２ａに押し付けられることにより）、第２のしきい値より大きいその反作用力がツール５に作用している。この状態を第３の状態とする。第３の状態から、ツール５が不連続変化点２ｃを通過すると、ツール５は、対象物１から離れる。これにより、力覚センサ９は、第３の状態でツール５が受けていた反作用力を検出しなくなる。この状態は反作用力が前記第２のしきい値以下になることで検出でき、この状態を第４の状態として、制御部１１は、第３の状態から第４の状態への変化を力覚センサ９で検出したことにより、ステップＳ２において、ツール５が不連続変化点２ｃに至ったと判断する。
【００４６】
ステップＳ２の判断が、「はい」となったら、ステップＳ３へ進み、そうでない場合には、ステップＳ１を行いながら、ステップＳ２の判断を繰り返す。
なお、第１稜線部分２ａに沿った方向に関して、ツール５が、設定軌道１７の交点１７ｃに至っても、ステップＳ２の判断が、「はい」とならない場合には、制御部１１は、第１軌道線１７ａの延長線上をツール５が移動するようにツール５を制御することにより、ステップＳ１を継続させる。
【００４７】
ステップＳ２の判断が「はい」となった場合には、次のように設定軌道１７を修正する。すなわち、ステップＳ２の判断が「はい」となった時における第１軌道線１７ａ上のツール５の位置と、第２軌道線１７ｂ上の第２接触開始点１７ｅとが一致するように、設定軌道１７全体を静止座標系において並進させる。なお、ここで使用するツール５の位置は、適宜の手段で検出される。以降において、制御部１１は、修正した設定軌道１７（以下、単に設定軌道１７という）を用いる。
【００４８】
ステップＳ３において、制御部１１は、ツール５と対象物１との接触位置を、第１稜線部分２ａから第２稜線部分２ｂに移行させ、ツール５の移動方向を、第２稜線部分２ｂに沿った方向に切り換えるようにツール５を制御する。ステップＳ３における前記接触位置の移行では、制御部１１は、設定軌道１７の第２接触開始点１７ｅにツール５を位置させる。これにより、ツール５が、不連続変化点２ｃの近傍において第２稜線部分２ｂに当てられ、第２稜線部分２ｂの面取り加工を開始した状態になる。次いで、ステップＳ４に進む。
【００４９】
ステップＳ４において、ツール５が、設定軌道１７において、第２接触開始点１７ｅから交点１７ｃから離れる方向に第２軌道線１７ｂ上を移動するように、制御部１１は、ツール５の動作を制御する。これにより、制御部１１は、不連続変化点２ｃから離れる方向に第２稜線部分２ｂに沿ってツール５を移動させながら、ツール５に第２稜線部分２ｂを面取り加工させる。
このステップＳ４では、制御部１１は、ツール５を第２稜線部分２ｂに押し付けた状態で、不連続変化点２ｃから離れる方向に第２稜線部分２ｂに沿ってツール５を移動させる。力覚センサ９は、ツール５が第２稜線部分２ｂに押し付けられることにより、ツール５に作用する反作用力を検出する。この反作用力の検出値を設定値に維持するように、制御部１１は、ロボットアーム３を制御することにより、第２稜線部分２ｂに対するツール５の押し付け力を制御する。
【００５０】
ステップＳ１、Ｓ４は、ツール５をその軸回りに回転させながら行われる。なお、ステップＳ１の開始からステップＳ４の終了まで、ツール５を、その軸回りに回転させた状態に維持してよい。
【００５１】
また、ステップＳ１、Ｓ４において、制御部１１は、ハイブリッド制御によりツール５を制御するのがよい。すなわち、制御部１１は、位置制御により、ロボットアーム３の先端部を、稜線２に沿って移動させ、力制御により、ロボットアーム３の先端部（ツール５）を稜線２に押し付ける。ここで、位置制御の制御方向は、稜線２（設定軌道１７）の接線方向であり、力制御の制御方向は、稜線２（設定軌道１７）の接線方向と直交する方向である。位置制御と力制御は、互いに分離して行われる。
【００５２】
設定軌道１７は、予め定められたツール５の設定姿勢を含む。設定姿勢は、第１稜線部分２ａ上の各点に対して定められた第１の姿勢と、第２稜線部分２ｂ上の各点に対して定められた第２の姿勢と、を含む。第１の姿勢は、第１姿勢条件を満たすように設定され、第２の姿勢は、第２姿勢条件を満たすように設定される。第１姿勢条件は、ツール５と第１稜線部分２ａとの接触位置において、ツール５の外面と接する仮想平面が、押し付け方向と直交することを規定し、第２姿勢条件は、ツール５と第２稜線部分２ｂとの接触位置において、ツール５の外面と接する仮想平面が、押し付け方向と直交することを規定する。制御部１１は、ステップＳ１、Ｓ４において、設定姿勢に基づいてツール５の姿勢を制御する。
【００５３】
凸形状の稜線２を面取り加工する場合、ステップＳ３において、図９（Ａ）または図９（Ｂ）において破線で示す経路上をツール５が移動することにより、第２接触開始点１７ｅにツール５を移動させてもよい。図９（Ａ）の場合には、ステップＳ２での判断が「はい」となった時におけるツール５の位置から、ツール５は、対象物１との接触を避けて第２接触開始点１７ｅへ移動する。図９（Ｂ）の場合には、ツール５は、交点１７ｃから、第１接触開始点１７ｄと反対側に延びる経路２３上を移動し、その後、第２軌道線１７ｂの延長線上の点まで経路２５上を直線移動し、次いで、第２接触開始点１７ｅまで、この延長線である経路２７上を移動する。
【００５４】
上述した本実施形態によると、以下の効果（１）〜（３）が得られる。
【００５５】
（１）ステップＳ１により、ツール５が不連続変化点２ｃに至ると、対象物１からツール５の受ける反作用力が変化する。制御部１１は、この変化を検出した場合に、ツール５が不連続変化点２ｃに至ったと判断する。従って、対象物１の設置位置に誤差があっても、制御部１１は、ツール５が不連続変化点２ｃに至った時に、ツール５の移動方向を第２稜線部分２ｂに沿った方向に切り換え、ツール５による加工位置を第２稜線部分２ｂに切り換えることができる。よって、ツール５の位置決め誤差、対象物１の設置位置の誤差、対象物１の形状の誤差があっても、対象物１を精度よく加工できる。
【００５６】
（２）凹形状の稜線２の加工では、ステップＳ１において、第１稜線部分２ａに沿ってツール５が移動する方向と反対方向に、対象物１からツール５の受ける反作用力が、第１のしきい値より小さい第１の状態となっている。制御部１１は、第１の状態から、第１のしきい以上の当該反作用力をツール５が受けた第２の状態への変化を検出することにより、ステップＳ２において、ツール５が不連続変化点２ｃに至ったことを正確に判断できる。
これについて、従来では、上述の誤差により、ツール５が、凹形状の稜線２において第２稜線部分２ｂに当たった後、ツール５を第２稜線部分２ｂに向けて必要以上に駆動させてしまう可能性があった。この場合、必要以上に深く第２稜線部分２ｂを加工してしまったり、ツール５に作用する応力が過大になったりする。
これに対し、本実施形態では、上述のように、制御部１１は、ツール５が不連続変化点２ｃに至ったことを正確に判断できるので、ツール５が、凹形状の稜線２において第２稜線部分２ｂに当たった後、ツール５を第２稜線部分２ｂに向けて必要以上に駆動させてしまうことを回避できる。
【００５７】
（３）凸形状の稜線２の加工では、ステップＳ１において、ツール５を第１稜線部分２ａに押し付けることにより、第２のしきい値より大きい反作用力がツール５に作用している第３の状態となっている。制御部１１は、第３の状態から、当該反作用力が第２のしきい値以下となった第４の状態への変化を検出したことにより、ステップＳ２において、ツール５が不連続変化点２ｃに至ったこと、すなわち、第１稜線部分２ａの端部を通過したことを正確に判断できる。
これについて、従来では、上述の誤差により、ツール５が不連続変化点２ｃに至る前に、ツール５の移動方向を第２稜線部分２ｂに沿った方向に切り換えて、第１稜線部分２ａに向けてツール５を必要以上に駆動してしまう場合がある。この場合、ツール５が第１稜線部分２ａにさらに押し付けられるので、必要以上に深く稜線２を加工してしまったり、ツール５に作用する応力が過大になったりする。
これに対し、本実施形態では、上述のように、制御部１１は、ツール５が不連続変化点２ｃに至ったことを正確に判断できるので、ツール５が不連続変化点２ｃに至っていないにもかかわらず、ツール５が第１稜線部分２ａに必要以上に押し付けられることを回避できる。
【００５８】
本発明は上述した実施の形態に限定されず、本発明の要旨を逸脱しない範囲で種々変更を加え得ることは勿論である。例えば、以下の変更例１〜４のいずれかを採用してもよいし、変更例１〜４を任意に組み合わせて採用してもよい。この場合、以下で説明しない点は、上述と同じである。
【００５９】
（変更例１）
ツール５が、対象物１の凸形状の稜線２を加工する場合には、制御部１１は、次のようにステップＳ２を行ってもよい。
【００６０】
まず、ステップＳ１において、第１稜線部分２ａにツール５が押し付け方向に押し付けられていることにより、当該押し付け方向におけるツール５の変位がしきい値以下である状態となっている。ここで、ツール制御装置１０は、適宜の手段により、微小時間毎に、押し付け方向におけるツール５の位置を計測する。前記変位は、直前または設定回数だけ前に計測した押し付け方向におけるツール５の位置からの変位であってよい。なお、ツール制御装置１０は、ロボットアーム３の動作量を適宜の手段で計測し、この計測データに基づいて、押し付け方向におけるツール５の位置と変位を検出してよい。
【００６１】
このようにして得た変位の検出値に基づいて、制御部１１は、押し付け方向におけるツール５の変位がしきい値以下である状態から、ツール５が、押し付け方向において前記しきい値よりも大きく変位したことを検出したことにより、ステップＳ２において、ツール５が不連続変化点２ｃに至ったと判断する。
【００６２】
ステップＳ１において、第１稜線部分２ａにツール５が押し付け方向に押し付けられていることにより、当該押し付け方向におけるツール５の変位がしきい値以下である状態となっている。この状態から、ツール５が不連続変化点２ｃに至ったことにより、ツール５が、不連続変化点２ｃを通過して、第１稜線部分２ａの延長線側へ対象物１から離れる。すると、ツール５は、第１軌道線１７ａ上、または、第１軌道線１７ａの延長線上に位置するように制御されているにもかかわらず、押し付け方向に駆動されているので、押し付け方向に、ツール５が、一時的に、前記しきい値より大きく変位する。
そこで、制御部１１は、この変位が、前記しきい値よりも大きくなったことを検出したことにより、ツール５が、ツール５が不連続変化点２ｃに至ったと判断する。従って、対象物１の設置位置に誤差があっても、制御部１１は、第１稜線部分２ａに沿って、ツール５を、不連続変化点２ｃまで正確に移動させ、次いで、加工位置を第２稜線部分２ｂに切り換えることができる。
よって、ツール５の位置決め誤差、対象物１の設置位置の誤差、対象物１の形状の誤差があっても、対象物１を精度よく加工できる。
【００６３】
（変更例２）
上述の実施形態または変更例１においては、ステップＳ１とステップＳ４では、力覚センサ９は、ツール５が第１稜線部分２ａに押し付けられることにより、ツール５に作用する反作用力を検出し、制御部１１は、この反作用力の検出値を設定値に維持するように、ロボットアーム３を制御していた。この制御は、上述のハイブリッド制御における力制御の一例であり、以下、ならい制御という。
変更例２によると、ステップＳ１とステップＳ４において、ツール５に対して、ならい制御を行わずに、位置制御のみを行ってもよい。この位置制御では、制御部１１は、ステップＳ１とステップＳ４において、力覚センサ９の検出値を用いず、他の点では上述と同様に、設定軌道１７に基づいてツール５を制御する。
【００６４】
このような変更例２は、位置制御を高精度に行える場合に採用するのがよい。
【００６５】
変更例２では、以下のようにツール５は動作させられる。
ステップＳ１では、制御部１１は、ツール５を第１稜線部分２ａに接触させた状態で、不連続変化点２ｃに向かう方向に第１稜線部分２ａに沿ってツール５を移動させる。
ステップＳ４では、制御部１１は、ツール５を第２稜線部分２ｂに接触させた状態で、不連続変化点２ｃから離れる方向に第２稜線部分２ｂに沿ってツール５を移動させる。
【００６６】
（変更例３）
本発明によると、ツール５は、加工具ではなく、稜線２の正確な形状計測のために、稜線２に沿って移動する形状計測具であってもよい。この場合、上述のステップＳ１〜Ｓ４により、ツール５が移動した軌跡を求め、この軌跡に基づいて稜線２の形状を求めることができる。
【００６７】
これにより、稜線２の形状を高精度に求めることができる。例えば、設定軌道１７を求めるのに用いた形状データの精度が低い場合に、より精度の高い稜線２の形状を得ることができる。
【００６８】
この変更例３において、ツール５を稜線２に押し付ける押し付け方向は、後述する変更例４のように定められる。
【００６９】
（変更例４）
上述の実施形態または変更例１において、ツール５が面取り加工の代わりにバリ取り加工する場合や、上述の変更例３の場合には、ステップＳ１とステップＳ４で、ツール５を稜線２に押し付ける押し付け方向は、次のように予め定められてもよい。
【００７０】
稜線２上の各点での押し付け方向は、当該点を含み稜線２と直交する平面による対象物１の断面において、第１接平面（以下で定義する）と第２接平面（以下で定義する）とに囲まれる領域を通り、かつ、稜線２を通る直線の方向である。第１接平面は、前記断面において、稜線２に限りなく近い、対象物１の一方の面（前記断面においては線）上の点で、この面に接する平面（前記断面においては直線）であり、第２接平面は、前記断面において、稜線２に限りなく近い、対象物１の他方の面（前記断面においては線）上の点で、この面に接する平面（前記断面においては直線）である。ここで、一方の面と他方の面との境界が稜線２となる。
好ましくは、押し付け方向は、前記断面において、第１接平面と第２接平面のなす角度を２等分する直線の方向である。
【００７１】
ツール５がバリ取り加工をする場合には、ツール５はブラシであってもよい。
【符号の説明】
【００７２】
１  対象物（被加工物）、１ａ，１ｂ，１ｃ  対象物の面、２  稜線、２ａ  第１稜線部分、２ｂ  第２稜線部分、２ｃ  不連続変化点、３  ロボットアーム、４  スピンドルモータ、５  ツール、８  記憶部、９  力覚センサ、１０  ツール制御装置、１１  制御部、１７  設定軌道、１７ａ  第１軌道線、１７ｂ  第２軌道線、１７ｃ  交点、１７ｄ  第１接触開始点、１７ｅ  第２接触開始点、２３，２５，２７  経路
【図１】
0005896123.tif 000002
【図２】
0005896123.tif 000003
【図３】
0005896123.tif 000004
【図４】
0005896123.tif 000005
【図５】
0005896123.tif 000006
【図６】
0005896123.tif 000007
【図７】
0005896123.tif 000008
【図８】
0005896123.tif 000009
【図９】
0005896123.tif 000010