(57)【特許請求の範囲】
【請求項１】
対象物の稜線に沿ってツールを移動させる稜線ならい方法であって、
稜線は、その接線方向が不連続的に変化する不連続変化点と、不連続変化点から互いに異なる方向に延びている第１稜線部分および第２稜線部分とを有し、
第１稜線部分と第２稜線部分と不連続変化点は、不連続変化点を底点とする凹形状、または、不連続変化点を頂点とする凸形状を形成し、
（Ａ）ツールを第１稜線部分に押し付けた状態で、不連続変化点に向かってツールを移動させ、
（Ｂ）ツールが不連続変化点に至ったら、ツールの移動方向を、第２稜線部分に沿った方向に切り換え、
（Ｃ）ツールを第２稜線部分に押し付けた状態で、不連続変化点から離れる方向にツールを移動させ、
前記（Ａ）では、予め定められた第１押し付け方向に、ツールを、第１稜線部分へ押し付け、前記（Ｃ）では、予め定められた第２押し付け方向に、ツールを、第２稜線部分へ押し付け、
前記（Ａ）では、ツールの姿勢が第１姿勢条件を満たし、前記（Ｃ）では、ツールの姿勢が第２姿勢条件を満たすように、ツールの姿勢を調節し、
第１姿勢条件は、ツールと第１稜線部分との接触位置において、ツールの外面と接する仮想平面が、第１押し付け方向と直交することを規定し、第２姿勢条件は、ツールと第２稜線部分との接触位置において、ツールの外面と接する仮想平面が、第２押し付け方向と直交することを規定し、
ツールが、稜線上であって不連続変化点の近傍に位置する場合に、第１姿勢条件と第２姿勢条件の両方を満たすツールの姿勢を目標姿勢とし、
前記（Ａ）において、ツールが不連続変化点に至るまでに、ツールの姿勢を目標姿勢にすることにより、ツールが不連続変化点に至った時に、ツールが目標姿勢になっているようにする、ことを特徴とする稜線ならい方法。
【請求項２】
前記ツールは、稜線を面取り加工する加工具であり、
第１押し付け方向は、第１稜線部分に対して予め定めた目標加工面に垂直な方向であり、
第２押し付け方向は、第２稜線部分に対して予め定めた目標加工面に垂直な方向である、ことを特徴とする請求項１に記載の稜線ならい方法。
【請求項３】
前記（Ａ）の進行中に、ツールの姿勢を次第に変化させることにより、ツールが不連続変化点に至るまでに、ツールの姿勢を目標姿勢にする、ことを特徴とする請求項１または２に記載の稜線ならい方法。
【請求項４】
ロボットアームの先端部に取り付けられたツールを、対象物の稜線に沿って移動させるならい制御装置であって、
稜線は、その接線方向が不連続的に変化する不連続変化点と、不連続変化点から互いに異なる方向に延びている第１稜線部分および第２稜線部分とを有し、
第１稜線部分と第２稜線部分と不連続変化点は、不連続変化点を底点とする凹形状、または、不連続変化点を頂点とする凸形状を形成し、
ツールが稜線に押し付けられることにより、ツールに作用する反作用力を検出する力覚センサと、
稜線の形状に基づいて予め定められたツールの設定軌道を記憶する記憶部と、
ロボットアームを制御する制御部と、を有し、
制御部は、
（Ａ）力覚センサの検出値と設定軌道に基づいて、ツールを、第１稜線部分に押し付けた状態で、不連続変化点に向かって移動させるようにロボットアームを制御し、
（Ｂ）力覚センサの検出値に基づいて、ツールが不連続変化点に至ったと判断したら、ツールの移動方向を、第２稜線部分に沿った方向に切り換えるようにロボットアームを制御し、
（Ｃ）これにより、次いで、力覚センサの検出値と設定軌道に基づいて、第２稜線部分にツールを押し付けた状態で、不連続変化点から離れる方向にツールを移動させるようにロボットアームを制御し、
制御部は、前記（Ａ）では、予め定められた第１押し付け方向にツールを第１稜線部分へ押し付け、前記（Ｃ）では、予め定められた第２押し付け方向にツールを第２稜線部分へ押し付けるようにロボットアームを制御し、
制御部は、前記（Ａ）では、ツールの姿勢が第１姿勢条件を満たし、前記（Ｃ）では、ツールの姿勢が第２姿勢条件を満たすように、ロボットアームを制御し、
第１姿勢条件は、ツールと第１稜線部分との接触位置において、ツールの外面と接する仮想平面が、第１押し付け方向と直交することを規定し、第２姿勢条件は、ツールと第２稜線部分との接触位置において、ツールの外面と接する仮想平面が、第２押し付け方向と直交することを規定し、
ツールが、稜線上であって不連続変化点の近傍に位置する場合に、第１姿勢条件と第２姿勢条件の両方を満たすツールの姿勢を目標姿勢とし、
前記（Ａ）において、不連続変化点にツールが至るまでに、制御部は、ツールの姿勢が目標姿勢になるようにロボットアームを制御することにより、ツールが不連続変化点に至った時に、ツールが目標姿勢になっているようにする、ことを特徴とするならい制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対象物の稜線の加工や形状計測において、対象物の稜線に沿ってツールを移動させる稜線ならい方法および制御装置に関する。特に、本発明は、その接線方向が不連続変化点で不連続的に変化する稜線に対するならい方法と制御装置に関する。
【背景技術】
【０００２】
ならい制御により、対象物の稜線に対する加工や形状計測を行うことができる。稜線に対する加工では、対象物の稜線に沿ってツールを移動させることにより、この稜線に対して面取り加工やバリ取り加工をする。稜線に対する形状計測では、対象物の稜線に沿ってツールを移動させることにより、ツールの移動軌跡を求め、この移動軌跡に基づいて稜線の形状を求める。
【０００３】
以下において、ならい制御の例として、対象物の稜線に対して加工をする場合について説明する。
【０００４】
図１は、従来のならい制御を説明する図である。図１において、対象物（被加工物）１の稜線２は、その接線方向が不連続的に変化する不連続変化点２ｃと、不連続変化点２ｃから互いに異なる方向に延びている第１稜線部分２ａおよび第２稜線部分２ｂとを有する。
【０００５】
従来のならい制御は、次のように行われていた。
図１（Ａ）のように、加工用のツール５を第１稜線部分２ａに押し付けた状態で、第１稜線部分２ａに沿って、不連続変化点２ｃに向けてツール５を移動させる。これにより、第１稜線部分２ａを加工する。
ツール５が不連続変化点２ｃに至ったら、ツール５の姿勢を変化させる。これにより、ツール５を第２稜線部分２ｂに押し付けた状態にする。
この状態で、図１（Ｂ）のように、第２稜線部分２ｂに沿って、不連続変化点２ｃから離れる方向にツール５を移動させる。これにより、第２稜線部分２ｂを加工する。
【０００６】
上述の加工は、ロボットアームを用いて行われる。ツール５をロボットアームの先端部に取り付ける。このロボットアームの動作を制御することにより、上述のようにツール５の移動や、対象物１へのツール５の押し付けや、ツール５の姿勢変更などを行わせる。
【０００７】
このようなロボットアームの制御において、位置制御と力制御を、互いに直交する方向に分離して行っている。この制御を、以下、ハイブリッド制御という。ハイブリッド制御において、位置制御は、ロボットアームの先端部を、稜線２の接線方向に移動させる制御であり、力制御は、ロボットアームの先端部（ツール５）を対象物１に押し付ける制御である。位置制御による制御方向は、稜線２の接線方向であり、力制御による制御方向は、稜線２の接線方向と直交する方向である。
【０００８】
なお、ロボットアームを用いた加工や形状計測は、例えば、下記の特許文献１、２に記載されている。
特許文献１では、ロボットアームの先端部にツールを取り付け、ツールを被加工物に押し付けた状態で、被加工物の表面に沿ってツールを移動させることにより、被加工物の加工または形状計測を行っている。
特許文献２では、ロボットアームの先端部にツールを取り付け、対象物の表面にならってツールを移動させることにより、対象物の形状を計測している。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特許第２８５２８２８号
【特許文献２】特開平４−１２２５４６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかし、ツール５が稜線２に沿って移動する過程において、不連続変化点２ｃで、ツール５に対して移動方向変更と姿勢変更との両方を行うと、ツール５の連続的な位置変化に対して、ツール５の移動方向と姿勢の両方が不連続的に変化する。その結果、ツール５の動作が不安定になる。特に、ツール５が先端部に取り付けられたロボットアームに対して、位置と力のハイブリッド制御を行う場合には、ロボットアームの位置制御の方向と力制御の方向の両方が不連続的に変化するので、ツール５の動作が不安定になる。
【００１１】
そこで、本発明の目的は、対象物の稜線に対するならい制御で、稜線が、接線方向の不連続変化点と、不連続変化点から互いに異なる方向に延びている第１稜線部分および第２稜線部分とを有する場合に、ツールが、第１稜線部分から不連続変化点に至った時に、ツールの動作を安定させつつ、第２稜線部分に沿って、ツールを速やかに移動させることができるようにすることにある。
【課題を解決するための手段】
【００１２】
上述の目的を達成するため、本発明によると、対象物の稜線に沿ってツールを移動させる稜線ならい方法であって、
稜線は、その接線方向が不連続的に変化する不連続変化点と、不連続変化点から互いに異なる方向に延びている第１稜線部分および第２稜線部分とを有し、
第１稜線部分と第２稜線部分と不連続変化点は、不連続変化点を底点とする凹形状、または、不連続変化点を頂点とする凸形状を形成し、
（Ａ）ツールを第１稜線部分に押し付けた状態で、不連続変化点に向かってツールを移動させ、
（Ｂ）ツールが不連続変化点に至ったら、ツールの移動方向を、第２稜線部分に沿った方向に切り換え、
（Ｃ）ツールを第２稜線部分に押し付けた状態で、不連続変化点から離れる方向にツールを移動させ、
前記（Ａ）では、予め定められた第１押し付け方向に、ツールを、第１稜線部分へ押し付け、前記（Ｃ）では、予め定められた第２押し付け方向に、ツールを、第２稜線部分へ押し付け、
前記（Ａ）では、ツールの姿勢が第１姿勢条件を満たし、前記（Ｃ）では、ツールの姿勢が第２姿勢条件を満たすように、ツールの姿勢を調節し、
第１姿勢条件は、ツールと第１稜線部分との接触位置において、ツールの外面と接する仮想平面が、第１押し付け方向と直交することを規定し、第２姿勢条件は、ツールと第２稜線部分との接触位置において、ツールの外面と接する仮想平面が、第２押し付け方向と直交することを規定し、
ツールが、稜線上であって不連続変化点の近傍に位置する場合に、第１姿勢条件と第２姿勢条件の両方を満たすツールの姿勢を目標姿勢とし、
前記（Ａ）において、ツールが不連続変化点に至るまでに、ツールの姿勢を目標姿勢にすることにより、ツールが不連続変化点に至った時に、ツールが目標姿勢になっているようにする、ことを特徴とする稜線ならい方法が提供される。
【００１３】
本発明の好ましい実施形態によると、前記ツールは、稜線を面取り加工する加工具であり、
第１押し付け方向は、第１稜線部分に対して予め定めた目標加工面に垂直な方向であり、
第２押し付け方向は、第２稜線部分に対して予め定めた目標加工面に垂直な方向である。
【００１４】
また、本発明の好ましい実施形態によると、前記（Ａ）の進行中に、ツールの姿勢を次第に変化させることにより、ツールが不連続変化点に至るまでに、ツールの姿勢を目標姿勢にする。
【００１５】
また、上記目的を達成するため、本発明によると、ロボットアームの先端部に取り付けられたツールを、対象物の稜線に沿って移動させるならい制御装置であって、
稜線は、その接線方向が不連続的に変化する不連続変化点と、不連続変化点から互いに異なる方向に延びている第１稜線部分および第２稜線部分とを有し、
第１稜線部分と第２稜線部分と不連続変化点は、不連続変化点を底点とする凹形状、または、不連続変化点を頂点とする凸形状を形成し、
ツールが稜線に押し付けられることにより、ツールに作用する反作用力を検出する力覚センサと、
稜線の形状に基づいて予め定められたツールの設定軌道を記憶する記憶部と、
ロボットアームを制御する制御部と、を有し、
制御部は、
（Ａ）力覚センサの検出値と設定軌道に基づいて、ツールを、第１稜線部分に押し付けた状態で、不連続変化点に向かって移動させるようにロボットアームを制御し、
（Ｂ）力覚センサの検出値に基づいて、ツールが不連続変化点に至ったと判断したら、ツールの移動方向を、第２稜線部分に沿った方向に切り換えるようにロボットアームを制御し、
（Ｃ）これにより、次いで、力覚センサの検出値と設定軌道に基づいて、第２稜線部分にツールを押し付けた状態で、不連続変化点から離れる方向にツールを移動させるようにロボットアームを制御し、
制御部は、前記（Ａ）では、予め定められた第１押し付け方向にツールを第１稜線部分へ押し付け、前記（Ｃ）では、予め定められた第２押し付け方向にツールを第２稜線部分へ押し付けるようにロボットアームを制御し、
制御部は、前記（Ａ）では、ツールの姿勢が第１姿勢条件を満たし、前記（Ｃ）では、ツールの姿勢が第２姿勢条件を満たすように、ロボットアームを制御し、
第１姿勢条件は、ツールと第１稜線部分との接触位置において、ツールの外面と接する仮想平面が、第１押し付け方向と直交することを規定し、第２姿勢条件は、ツールと第２稜線部分との接触位置において、ツールの外面と接する仮想平面が、第２押し付け方向と直交することを規定し、
ツールが、稜線上であって不連続変化点の近傍に位置する場合に、第１姿勢条件と第２姿勢条件の両方を満たすツールの姿勢を目標姿勢とし、
前記（Ａ）において、不連続変化点にツールが至るまでに、制御部は、ツールの姿勢が目標姿勢になるようにロボットアームを制御することにより、ツールが不連続変化点に至った時に、ツールが目標姿勢になっているようにする、ことを特徴とするならい制御装置が提供される。
【発明の効果】
【００１６】
上述した本発明によると、ツールが不連続変化点に至るまでに、ツールの姿勢を目標姿勢にする。この目標姿勢は、ツールが不連続変化点の近傍に位置する時に、第１稜線部分にも第２稜線部分にも、それぞれ、予め定められた第１押し付け方向と第２押し付け方向にツールを押し付けることができる姿勢である。従って、ツールが、第１稜線部分から不連続変化点に至った時に、ツールの姿勢を変えることなく、ツールの移動方向を第２稜線部分に沿った方向に切り換えることができる。
よって、ツールが、第１稜線部分から不連続変化点に至った時に、ツールの動作を安定させつつ、第２稜線部分に沿って、ツールを速やかに移動させることができる。
【図面の簡単な説明】
【００１７】
【図１】従来における稜線ならい方法の説明図である。
【図２】本発明の実施形態によるならい制御装置を示す。
【図３】本発明の実施形態による稜線ならい方法を示すフローチャートである。
【図４】本発明の実施形態による稜線ならい方法の説明図である。
【図５】円筒形のツールの目標姿勢を定める方法の説明図である。
【図６】各時点のツールの姿勢を示す。
【図７】凸形状を有する稜線に対するならい方法の説明図である。
【図８】本発明の変更例２におけるツールの目標姿勢を定める方法の説明図である。
【図９】円錐形のツールの目標姿勢を定める方法の説明図である。
【発明を実施するための形態】
【００１８】
本発明の好ましい実施形態を図面に基づいて説明する。なお、各図において共通する部分には同一の符号を付し、重複した説明を省略する。
【００１９】
図２は、本発明の実施形態によるならい制御装置１０を示す。ならい制御装置１０は、ロボットアーム３の先端部に取り付けられたツール５を、対象物１の稜線２に沿って移動させる装置である。後述する図４に示すように、稜線２は、稜線２上の位置の連続的な変化に対してその接線方向が不連続的に変化する不連続変化点２ｃと、不連続変化点２ｃから互いに異なる方向に延びている第１稜線部分２ａおよび第２稜線部分２ｂとを有する。
【００２０】
ロボットアーム３の先端部には、ツール５と力覚センサ７が設けられている。
【００２１】
ツール５は、ロボットアーム３の先端部に設けられたスピンドルモータ４により、ツール５の軸回りに回転駆動される。本実施形態では、ツール５は、円筒形の砥石である。
【００２２】
力覚センサ７は、対象物（被加工物）１からツール５に作用する力を検出する。本実施形態では、力覚センサ７は、ツール５が対象物１に押し付けられたことにより、ツール５に作用する反作用力を検出する。すなわち、力覚センサ７は、対象物１へのツール５の押し付け力を検出する。また、力覚センサ７は、複数の検出方向において、ツール５に作用する力を互いに区別して検出することができる。例えば、複数の検出方向は、ロボットアーム３の先端部に固定された３次元座標系で表される方向であってよい。
【００２３】
ならい制御装置１０は、ロボットアーム３の動作を制御する。ならい制御装置１０は、上述の力覚センサ７と、記憶部８と、制御部９とを有する。
【００２４】
記憶部８は、ツール５の設定軌道を記憶している。設定軌道は、対象物１の稜線２の形状に基づいて予め定められたものである。すなわち、設定軌道は、対象物１の既知の形状（例えばＣＡＤデータ）に基づいて予め定められたものである。代わりに、設定軌道は、ならい動作により求めてもよい。ならい動作では、第１稜線部分２ａと第２稜線部分２ｂにツール５を接触させながら、第１稜線部分２ａと第２稜線部分２ｂに沿ってツール５を移動させ、この時のツール５の移動軌跡を得る。この移動軌跡に基づいて、設定軌道を求める。
【００２５】
制御部９は、記憶部８に記憶されている設定軌道と、力覚センサ７から入力される力の検出値とに基づいて、ロボットアーム３の先端部（ツール５）が、予め定められた押し付け力で稜線２に押し付けられた状態で、稜線２に沿って移動するように、ロボットアーム３の動作を制御する。
【００２６】
ロボットアーム３は、例えば、垂直多関節型の６自由度アームであるが、その先端部が、対象物１の稜線２に沿って移動できる自由度と可動範囲を有している装置であればどのような構成でもよい。この場合、ロボットアーム３の形態は、直交座標型、スカラ型など、どのような形態であってもよい。
【００２７】
図３と図４に基づいて、本発明の実施形態による稜線ならい方法を説明する。
【００２８】
図３は、本発明の実施形態による稜線ならい方法を示すフローチャートである。図４は、本発明の実施形態による稜線ならい方法の説明図であり、（Ａ）は、対象物１の斜視図であり、（Ｂ）は、稜線２に対する目標加工面６を示す斜視図であり、（Ｃ）は、（Ｂ）のＣ−Ｃ線断面図であり、（Ｄ）は、（Ｂ）のＤ−Ｄ線断面図である。
【００２９】
この稜線ならい方法では、その接線方向が不連続的に変化する稜線２に沿ってツール５を移動させる。この時、対象物１は一定位置に固定されている。本実施形態では、第１稜線部分２ａと、第２稜線部分２ｂと、不連続変化点２ｃとは、不連続変化点２ｃを底点とする凹形状を形成する。
本実施形態では、ツール５は、面取り加工具である。すなわち、第１稜線部分２ａと第２稜線部分２ｂに対して、ツール５で面取り加工する。第１稜線部分２ａと第２稜線部分２ｂの各々は、対象物１における隣接する２つの面の交わり部分（線分）であって、不連続変化点２ｃから線状に延びている。なお、第１稜線部分２ａと第２稜線部分２ｂは、図４（Ａ）の例のように直線状に延びていてもよいし、曲線状に延びていてもよい。また、第１稜線部分２ａと第２稜線部分２ｂは、ツール５により加工（面取り加工またはバリ取り加工）された状態のものと、ツール５により加工（面取り加工またはバリ取り加工）される前の状態のものとの両方を含む概念である。
【００３０】
稜線ならい方法は、ステップＳ１〜Ｓ４を有する。
【００３１】
ステップＳ１において、制御部９は、力覚センサ７の検出値と設定軌道に基づいて、第１稜線部分２ａにツール５を押し付けた状態で、不連続変化点２ｃに向かってツール５を移動させるようにロボットアーム３を制御する。本実施形態では、これにより、第１稜線部分２ａが面取り加工されて、第１稜線部分２ａに対して目標加工面６（図４（Ｂ）を参照）が形成される。
このステップＳ１では、制御部９は、位置と力のハイブリッド制御により、ツール５を設定力で第１稜線部分２ａに押し付けながら、ツール５が第１稜線部分２ａに沿って移動するようにロボットアーム３を制御する。なお、設定力は、記憶部８に記憶されている。
【００３２】
ステップＳ２は、ステップＳ１の進行中に行われる。ステップＳ２において、制御部９は、力覚センサ７の検出値に基づいて、ツール５が不連続変化点２ｃに至ったかどうかを判断する。ツール５が不連続変化点２ｃに至ると、ツール５が第２稜線部分２ｂに当たる。これによる反作用力がツール５に作用するので、この反作用力を力覚センサ７で検出する。この反作用力（新たな反作用力という）を力覚センサ７が検出する方向は、第１稜線部分２ａからの反作用力を力覚センサ７が検出する方向と異なる。このように異なる検出方向において新たな反作用力が検出されたことに基づいて、制御部９は、ツール５が不連続変化点２ｃに至ったと判断する。これにより、対象物１の設置位置や設定軌道などに誤差があっても、ツール５が不連続変化点２ｃに至ったことを正確に判断できる。なお、本実施形態において、ツール５が不連続変化点２ｃに至ったとは、ツール５が、第２稜線部分２ｂに当たったことを意味する。
【００３３】
ステップＳ２の判断が、「はい」となったら、ステップＳ３へ進み、そうでない場合には、ステップＳ１を行いながら、ステップＳ２の判断を繰り返す。
【００３４】
ステップＳ３において、ツール５の移動方向を、第１稜線部分２ａに沿った方向から、第２稜線部分２ｂに沿った方向に切り換えるようにロボットアーム３を制御する。この時、好ましくは、制御部９は、設定軌道（特に、第２稜線部分２ｂに対応する部分）を平行移動させることにより、ツール５の現在の位置を、設定軌道（特に、第２稜線部分２ｂに対応する部分）に一致させる。この場合、以降において、平行移動させた設定軌道に基づいて、ロボットアーム３の制御が行われる。これにより、制御部９が、ロボットアーム３に対して出力する動作指令値が不連続的に変化することを防止する。ここで、動作指令値は、ロボットアーム３の先端部の位置を指定するものである。
ステップＳ３を終えたら、ステップＳ４に進む。
【００３５】
ステップＳ４において、制御部９は、力覚センサ７の検出値と設定軌道に基づいて、第２稜線部分２ｂにツール５を押し付けた状態で、不連続変化点２ｃから離れる方向にツール５を移動させるようにロボットアーム３を制御する。本実施形態では、これにより、第２稜線部分２ｂが面取り加工されて、第１稜線部分２ａに対して目標加工面６（図４（Ｂ）を参照）が形成される。
このステップＳ４では、ステップＳ１と同様に、制御部９は、位置と力のハイブリッド制御により、ツール５を設定力で第２稜線部分２ｂに押し付けながら、ツール５が第２稜線部分２ｂに沿って移動するようにロボットアーム３を制御する。
【００３６】
本実施形態のステップＳ１、Ｓ４で、第１稜線部分２ａに対して面取り加工することにより形成される目標加工面６を、図４（Ｂ）（Ｃ）（Ｄ）において破線で示している。目標加工面６は、予め定められており、目標加工面６を表す加工面データは、記憶部８に記憶されている。加工面データは、例えば、目標加工面６と設定軌道との位置および向きの関係（例えば、なす角度を含む）であってよい。制御部９は、ステップＳ１またはＳ４において、設定軌道と加工面データに基づいて、ツール５の位置と向きを制御する。これにより、対象物１に目標加工面６を形成することができる。
【００３７】
本実施形態のステップＳ１、Ｓ４は、ツール５をその軸回りに回転させながら行われる。なお、ステップＳ１の開始からステップＳ４の終了まで、ツール５を、その軸回りに回転させた状態に維持してよい。
【００３８】
また、ステップＳ１、Ｓ４において、制御部９は、ロボットアーム３の先端部（すなわち、ツール５）を移動させる位置制御と、ロボットアーム３の先端部を対象物１に押し付ける力制御とを、互いに異なる方向に分離して行う。
【００３９】
以下において、ツール５の姿勢について説明する。
【００４０】
制御部９は、ステップＳ１では、予め定められた第１押し付け方向にツール５を第１稜線部分２ａへ押し付け、ステップＳ４では、予め定められた第２押し付け方向にツール５を第２稜線部分２ｂへ押し付けるようにロボットアーム３を制御する。
【００４１】
制御部９は、ステップＳ１では、ツール５の姿勢が第１姿勢条件を満たし、ステップＳ４では、ツール５の姿勢が第２姿勢条件を満たすように、ロボットアーム３を制御する。第１姿勢条件は、ツール５と第１稜線部分２ａとの接触位置において、ツール５の外面と接する仮想平面が、第１押し付け方向と直交することを規定し、第２姿勢条件は、ツール５と第２稜線部分２ｂとの接触位置において、ツール５の外面と接する仮想平面が、第２押し付け方向と直交することを規定する。
【００４２】
ツール５が、稜線２上であって不連続変化点２ｃの近傍に位置する場合に、第１姿勢条件と第２姿勢条件の両方を満たすツール５の姿勢を目標姿勢とする。ここで、不連続変化点２ｃの近傍とは、ステップＳ１において、ツール５が、第１稜線部分２ａに最後に接する位置と、ステップＳ４の開始時に、ツール５が、第２稜線部分２ｂに接する位置とを意味する。
【００４３】
制御部９は、ステップＳ１において、遅くともツール５が不連続変化点２ｃに至るまでに、記憶されている目標姿勢をツール５がとるようにロボットアーム３を制御する。これにより、ツール５が不連続変化点２ｃに至った時に、ツール５が目標姿勢になっているようにする。
【００４４】
なお、本願において、ツール５の姿勢とは、３次元の静止座標系から見た姿勢（すなわち、ツール５の軸の向き）をいう。この静止座標系に、対象物１が固定されている。また、この座標系に対してロボットアーム３が動作する。
【００４５】
ツール５が、円筒形の砥石であり、その側面で対象物１を加工する場合には、第１姿勢条件は、次の式（１）で表され、第２姿勢条件は、次の式（２）で表される。
ｕ・ｚ＝０  ・・・（１）
ｖ・ｚ＝０  ・・・（２）
ここで、式（１）（２）の各記号を、図５に基づいて説明する。図５（Ａ）は、図４（Ａ）と同様の斜視図である。図５（Ｂ）は、図５（Ａ）のＢ−Ｂ線矢視図である。
ｕは、ステップＳ１でツール５を第１稜線部分２ａに押し付ける第１押し付け方向を示すベクトルである。ｚは、ツール５の軸方向を示すベクトルである。・は、２つのベクトルの内積を示す。ｖは、ステップＳ４でツール５を第２稜線部分２ｂに押し付ける第２押し付け方向を示すベクトルである。なお、押し付け方向を示すベクトルｕ，ｖは、予め定められた目標加工面６に垂直な方向である。
【００４６】
ツール５が不連続変化点２ｃに至った時のツール５の目標姿勢は、式（１）（２）を同時に満たすｚの方向により表される。
【００４７】
ステップＳ１〜Ｓ４において、式（１）（２）により求めた、不連続変化点２ｃに対する目標姿勢と、ツール５の設定軌道とに基づいて、ロボットアーム３の動作を制御する。これにより、ステップＳ１〜Ｓ４のようにツール５が動作する。
【００４８】
一方、ツール５が不連続変化点２ｃ以外の第１稜線部分２ａまたは第２稜線部分２ｂに位置する時におけるツール５の姿勢は、一意に定まらないので、第１姿勢条件または第２姿勢条件を満たす範囲で、自由に定められる。
【００４９】
ツール５の姿勢は、ステップＳ１、Ｓ４において、例えば、以下のように制御されてよい。
【００５０】
ステップＳ１の進行中に、ツール５が不連続変化点２ｃに至るまでの間に、ツール５の姿勢を次第に変化させることにより、ツール５の姿勢を目標姿勢にする。すなわち、ツール５の移動方向を、第１稜線部分２ａに沿った方向から第２稜線部分２ｂに沿った方向に切り換える時に、ツール５の軸が、上述の式（１）（２）の両方を満たすベクトルｚの方向を向くようにする。これにより、ステップＳ３において、ツール５の移動方向を切り換える時に、ツール５の姿勢が一定の目標姿勢に保たれるようにする。また、ステップＳ４の進行中に、ツール５の姿勢を目標姿勢から次第に変化させる。
【００５１】
このようなツール５の姿勢変化を、図６に基づいて説明する。図６は、図４（Ａ）のＶＩ−ＶＩ線矢視図である。図６において、破線は、各時点のツール５を示す。
【００５２】
ステップＳ１の開始時からステップＳ１の途中（第１期間という）まで、円筒形のツール５の姿勢は、上述の第１姿勢条件を満たし、かつ、ツール５の軸が第１稜線部分２ａの接線と直交するように定められているのがよい（この接線は、ツール５の位置におけ接線である）。このように定められた姿勢（第１姿勢という）は記憶部８に記憶されている。
この場合、ステップＳ１において、制御部９は、第１期間においては、ツール５の姿勢が、記憶されている第１姿勢になるようにロボットアーム３を制御する。第１期間以降において、ステップＳ１の進行中に、制御部９は、ツール５の姿勢を次第に変化させることにより、ツール５が不連続変化点２ｃに至る時にツール５の姿勢が目標姿勢になっているようにロボットアーム３を制御する。
【００５３】
ステップＳ４の途中以降（第２期間という）において、円筒形のツール５の姿勢は、上述の第２姿勢条件を満たし、かつ、ツール５の軸が第２稜線部分２ｂの接線と直交するように定められているのがよい（この接線は、ツール５の位置における接線である）。このように定められた姿勢（第２姿勢という）は記憶部８に記憶されている。
この場合、ステップＳ４の進行中に、制御部９は、ステップＳ４の開始時点から第２期間の開始時点までの間に、制御部９は、ツール５の姿勢を次第に変化させることにより、第２期間の開始時点以降において、ツール５の姿勢が第２姿勢になるようにロボットアーム３を制御する。
【００５４】
上述した実施形態によると、以下の効果が得られる。
【００５５】
ツール５が、第１稜線部分２ａから不連続変化点２ｃに至った時に、ツール５の姿勢を変えることなく、ツール５の移動方向を第２稜線部分２ｂに沿った方向に切り換えることができる。よって、ツール５が、第１稜線部分２ａから不連続変化点２ｃに至った時に、ツール５の動作を安定させつつ、第２稜線部分２ｂに沿って、ツール５を速やかに移動させることができる。
【００５６】
本発明は上述した実施の形態に限定されず、本発明の要旨を逸脱しない範囲で種々変更を加え得ることは勿論である。例えば、以下の変更例１〜３のうち、複数の変更例を任意に組み合わせて採用してもよいし、または、変更例１〜３のいずれかを採用してもよい。この場合、以下で説明しない点は、上述と同じであってよい。
【００５７】
（変更例１）
上述の実施形態では、第１稜線部分２ａと第２稜線部分２ｂと不連続変化点２ｃとは、凹形状を形成していたが、本発明によると、図７に示すように、不連続変化点２ｃを頂点とする凸形状を形成してもよい。この場合、以下で説明する点以外は、上述と同じであり、上述の説明が、そのまま、この変更例１に当てはまる。
【００５８】
ステップＳ２は、次のように行われる。
ステップＳ１の進行中において、ツール５が、第１稜線部分２ａに押し付けられることにより、力覚センサ７は、上述のように、ツール５に作用する反作用力を検出する。
これに対し、ツール５が不連続変化点２ｃを通過した直後では、ツール５が第１稜線部分２ａの仮想延長線上に移動することにより、ツール５が対象物１から離れる。その結果、力覚センサ７は、上述の反作用力を検出しなくなる。このように、力覚センサ７により上述の反作用力が検出されなくなることに基づいて、制御部９は、ツール５が不連続変化点２ｃに至ったと判断する。
【００５９】
ステップＳ２の判断が、「はい」となったら、ステップＳ３において、制御部９は、ツール５の姿勢を一定の目標姿勢に保ちながら、ツール５の移動方向を、第１稜線部分２ａに沿った方向から、第２稜線部分２ｂに沿った方向に切り換えるようにロボットアーム３を制御する。
【００６０】
また、ステップＳ３において、制御部９は、ツール５を、第２稜線部分２ｂの加工開始点に位置決めする。加工開始点は、不連続変化点２ｃに近傍にある第２稜線部分２ｂ上の点であってよい。その後、ステップＳ４において、ツール５が第２稜線部分２ｂに押し付けられるのがよい。
【００６１】
なお、この変更例１において、ツール５が不連続変化点２ｃに至ったとは、ツール５が、第１稜線部分２ａ（対象物１）から離れて、力覚センサ７が、第１稜線部分２ａからツール５に作用する反作用力を検出しなくなったことを意味する。
【００６２】
（変更例２）
ツール５は、上述の実施形態では、稜線２に対して面取り加工をする加工具であったが、稜線２に対してバリ取り加工をするバリ取り加工具であってもよい。代わりに、ツール５は、稜線２の形状を計測するために、稜線２に接しながら稜線２に沿って移動する形状計測具であってもよい。なお、形状計測具が、稜線２に接しながら稜線２に沿って移動させられることにより、形状計測具が移動した軌跡に基づいて、稜線２の形状を求めることができる。
【００６３】
このように、ツール５が、バリ取り加工具または形状計測具である場合における押し付け方向を、図８に基づいて説明する。
【００６４】
図８（Ａ）は、対象物１を示す斜視図であり、図８（Ｂ）は、図８（Ａ）のＢ−Ｂ線断面図であり、図８（Ｃ）は、図８（Ａ）のＣ−Ｃ線断面図である。なお、図８の例では、第１稜線部分２ａと第２稜線部分２ｂは線分であり、対象物１の面１ａ，１ｂ，１ｃ，１ｄは平面である。
【００６５】
第１稜線部分２ａにツール５を押しつける第１押し付け方向は、第１稜線部分２ａとツール５との接点を含み第１稜線部分２ａと直交する第１基準平面（この例では、図８（Ｂ）の紙面）において、第１接平面（以下で定義する）と第２接平面（以下で定義する）とに囲まれる領域を通り、かつ、第１稜線部分２ａを通る直線Ｌ１の方向である。ここで、第１接平面は、第１基準平面において、第１稜線部分２ａに限りなく近い対象物１の面１ａ上の点で面１ａに接する平面であり（図８（Ｂ）の例では、この平面は面１ａに一致する）、第２接平面は、第１基準平面において、第１稜線部分２ａに限りなく近い対象物１の面１ｂ上の点で面１ｂに接する平面である（図８（Ｂ）の例では、この平面は面１ｂに一致する）。
【００６６】
上述した直線Ｌ１の方向を、ツール５を第１稜線部分２ａに押し付ける方向として予め定めておく。好ましくは、直線Ｌ１と第１接平面とのなす角度は、第１接平面と第２接平面とのなす角度（図８（Ｂ）のθ１）の半分である。なお、直線Ｌ１は、第１稜線部分２ａと直交する。
【００６７】
同様に、第２稜線部分２ｂにツール５を押しつける第２押し付け方向は、第２稜線部分２ｂとツール５との接点を含み第２稜線部分２ｂと直交する第２基準平面（この例では、図８（Ｃ）の紙面）において、第３接平面（以下で定義する）と第４接平面（以下で定義する）とに囲まれる領域を通り、かつ、第２稜線部分２ｂを通る直線Ｌ２の方向である。ここで、第３接平面は、第２基準平面において、第２稜線部分２ｂに限りなく近い対象物１の面１ｃ上の点で面１ｃに接する平面であり（図８（Ｃ）の例では、この平面は面１ｃに一致する）、第４接平面は、第２基準平面において、第２稜線部分２ｂに限りなく近い対象物１の面１ｄ上の点で面１ｄに接する平面である（図８（Ｂ）の例では、この平面は面１ｄに一致する）。
【００６８】
上述した直線Ｌ２の方向を、ツール５を第２稜線部分２ｂに押し付ける方向として予め定めておく。好ましくは、直線Ｌ２と第３接平面とのなす角度は、第３接平面と第４接平面とのなす角度（図８（Ｃ）のθ２）の半分である。なお、直線Ｌ２は、第２稜線部分２ｂと直交する。
【００６９】
従って、式（１）において、第１押し付け方向を示すuは、直線Ｌ１の方向であり、式（２）において、第２押し付け方向を示すｖは、直線Ｌ２の方向である。
【００７０】
（変更例３）
上述の実施形態、変更例１または変更例２において、ツール５が、円錐形であり、その側面が稜線２に接している状態で、稜線２に沿って移動する場合には、上述の第１姿勢条件は、次の式（３）で表され、第２姿勢条件は、次の式（４）で表される。
ｕ・ｚ＝ｓｉｎ（α／２）  ・・・（３）
ｖ・ｚ＝ｓｉｎ（α／２）  ・・・（４）
ここで、式（３）（４）の各記号を、図９に基づいて説明する。図９（Ａ）は、図４（Ａ）と同様の斜視図である。図９（Ｂ）は、図９（Ａ）のＢ−Ｂ線矢視図である。
ｕは、ステップＳ１でツール５を第１稜線部分２ａに押し付ける第１押し付け方向を示す単位ベクトルである。ｚは、ツール５の軸方向を示す単位ベクトルである。・は、２つのベクトルの内積を示し、ｖは、ステップＳ４でツール５を第１稜線部分２ａに押し付ける第２押し付け方向を示す単位ベクトルである。α／２は、円錐形のツール５の軸と当該円錐の母線とのなす角度（°）である。
目標姿勢は、式（３）（４）を同時に満たすｚの方向により表される。
【符号の説明】
【００７１】
１  対象物（被加工物）、１ａ，１ｂ，１ｃ，１ｄ  対象物の面、２  稜線、２ａ  第１稜線部分、２ｂ  第２稜線部分、２ｃ  不連続変化点、３  ロボットアーム、４  スピンドルモータ、５  ツール（加工具）、６  目標加工面、７  力覚センサ、８  記憶部、９  制御部、１０  ならい制御装置
【図１】
0005896122.tif 000002
【図２】
0005896122.tif 000003
【図３】
0005896122.tif 000004
【図４】
0005896122.tif 000005
【図５】
0005896122.tif 000006
【図６】
0005896122.tif 000007
【図７】
0005896122.tif 000008
【図８】
0005896122.tif 000009
【図９】
0005896122.tif 000010