(57)【要約】【課題】  被加工体の加工精度を向上させ得るロボットシステム及びロボットの制御方法を提案する。【解決手段】  ロボット制御部が、ロボットの動作軌道を教示するティーチングモード時に、エンドエフェクタの先端部の位置を一定時間間隔で記憶し、ティーチングモード時に一定時間間隔で記憶したエンドエフェクタの各位置をそれぞれ教示点として、各教示点における被加工体の表面の法線方向をそれぞれ算出し、算出した教示点ごとの法線方向に基づいて、被加工体を加工する加工モード時におけるロボットの動作軌道を制御するようにした。【選択図】        図６
2017177279.tif 000002
【特許請求の範囲】
【請求項１】
ロボットアームを有し、前記ロボットアームの先端部に軌道教示用のエンドエフェクタが取り付けられるロボットと、
前記ロボットの動作を制御するロボット制御部と
を備え、
前記ロボット制御部は、
教示者が前記ロボットアームを動かすようにして前記ロボットの動作軌道を教示するティーチングモード時に、前記エンドエフェクタの先端部の位置を一定時間間隔で記憶し、
前記ティーチングモード時に一定時間間隔で記憶した前記エンドエフェクタの各位置をそれぞれ教示点として、各前記教示点における被加工体の表面の法線方向をそれぞれ算出し、
算出した前記教示点ごとの前記法線方向に基づいて、前記被加工体を加工する加工モード時における前記ロボットの動作軌道を制御する
ことを特徴とするロボットシステム。
【請求項２】
前記ロボット制御部は、
前記教示点ごとに、当該教示点及び当該教示点の周辺の第１又は第２の教示点をそれぞれ通る２つの直線がなす角の二等分線を含む第１の平面と、当該教示点及び当該教示点の周辺の第３又は第４の教示点をそれぞれ通る２つの直線がなす角の二等分線を含む第２の平面との交線と平行な方向を、当該教示点における前記法線方向としてそれぞれ算出する
ことを特徴とする請求項１に記載のロボットシステム。
【請求項３】
前記ロボットは、
前記ティーチングモード時に前記教示者が前記ロボットアームを動かす際に把持するハンドルと、
前記教示者が前記ハンドルに与える操作力と、前記エンドエフェクタが前記被加工体の表面から受ける反力との合力を計測する第１の力覚センサと、
前記教示者が前記ハンドルに与える前記操作力を計測する第２の力覚センサと
を備え、
前記エンドエフェクタは、前記被加工体と接触する先端部がボールローラからなり、
前記ロボット制御部は、
前記ティーチングモード時、各前記教示点における前記第１及び第２の力覚センサの計測値をそれぞれ記憶し、
記憶した前記教示点ごとの前記第１及び第２の力覚センサの計測値に基づいて、各前記教示点における前記被加工体の表面の前記法線方向をそれぞれ算出する
ことを特徴とする請求項１に記載のロボットシステム。
【請求項４】
前記ロボット制御部は、
前記ティーチングモード時に得られた各前記教示点において前記エンドエフェクタが記被加工体の表面から受けた前記反力の大きさをそれぞれ算出し、
算出した前記反力の大きさが閾値よりも大きい各前記教示点について、当該教示点における前記被加工体の表面の前記法線方向をそれぞれ算出する
ことを特徴とする請求項３に記載のロボットシステム。
【請求項５】
ロボットアームを有し、前記ロボットアームの先端部に軌道教示用のエンドエフェクタが取り付けられるロボットと、前記ロボットの動作を制御するロボット制御部とを有するロボットシステムにおいて、前記ロボット制御部により実行されるロボットの制御方法であって、
教示者が前記ロボットアームを動かすようにして前記ロボットの動作軌道を教示するティーチングモード時に、前記エンドエフェクタの先端部の位置を一定時間間隔で記憶する第１のステップと、
前記ティーチングモード時に一定時間間隔で記憶した前記エンドエフェクタの各位置をそれぞれ教示点として、各前記教示点における被加工体の表面の法線方向をそれぞれ算出する第２のステップと、
算出した前記教示点ごとの前記法線方向に基づいて、前記被加工体を加工する加工モード時における前記ロボットの動作軌道を制御する第３のステップと
を備えることを特徴とするロボットの制御方法。
【請求項６】
前記第２のステップでは、
前記教示点ごとに、当該教示点及び当該教示点の周辺の第１又は第２の教示点をそれぞれ通る２つの直線がなす角の二等分線を含む第１の平面と、当該教示点及び当該教示点の周辺の第３又は第４の教示点をそれぞれ通る２つの直線がなす角の二等分線を含む第２の平面との交線と平行な方向を、当該教示点における前記法線方向としてそれぞれ算出する
ことを特徴とする請求項５に記載のロボットの制御方法。
【請求項７】
前記ロボットは、
前記ティーチングモード時に前記教示者が前記ロボットアームを動かす際に把持するハンドルと、
前記教示者が前記ハンドルに与える操作力と、前記エンドエフェクタが前記被加工体の表面から受ける反力との合力を計測する第１の力覚センサと、
前記教示者が前記ハンドルに与える前記操作力を計測する第２の力覚センサと
を有し、
前記エンドエフェクタは、前記被加工体と接触する先端部がボールローラからなり、
前記第２のステップにおいて、前記ロボット制御部は、
前記ティーチングモード時、各前記教示点における前記第１及び第２の力覚センサの計測値をそれぞれ記憶し、
記憶した前記教示点ごとの前記第１及び第２の力覚センサの計測値に基づいて、各前記教示点における前記被加工体の表面の前記法線方向をそれぞれ算出する
ことを特徴とする請求項５に記載のロボットの制御方法。
【請求項８】
前記第２のステップにおいて、前記ロボット制御部は、
前記ティーチングモード時に得られた各前記教示点において前記エンドエフェクタが記被加工体の表面から受けた前記反力の大きさをそれぞれ算出し、
算出した前記反力の大きさが閾値よりも大きい各前記教示点について、当該教示点における前記被加工体の表面の前記法線方向をそれぞれ算出する
ことを特徴とする請求項７に記載のロボットの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットシステム及びロボットの制御方法に関し、例えば、面取りなどの仕上げ加工を行うロボットシステムに適用して好適なものである。
【背景技術】
【０００２】
仕上げ加工とは、切削加工や研削加工等の後、部品の形状や粗さを最終的に求められる形状や粗さに調整する作業である。バリ取り、面取り及び磨きなど、加工の多様性もさることながら、求められる品質レベルも多様である。
【０００３】
複雑な形状の部品や精密部品については高品質な仕上げ加工が求められているが、このような精密な仕上げ加工は人間の手作業により行われているのが実情である。しかしながら高度な技能を持つ作業者の育成に時間を要するため、ロボットを利用した仕上げ加工の自動化が望まれている。
【０００４】
このような状況のもと、従来、ロボットの動作軌道をオフラインで生成し、生成した動作軌道に沿ってロボットを動作させることにより、被加工体（以下、これをワークと呼ぶ）に対して所定の仕上げ加工を施すロボットシステムの研究開発が広く行われ、実用化されている。
【０００５】
また近年では、教示者がロボットアームの手先を所望する軌道に沿って移動させるようにロボットアームを動かすことで、ロボットに動作軌道を教示するダイレクトティーチング機能が搭載されたロボットシステムの実用化も進められている。このようなダイレクトティーチング機能によれば、プログラミング等の専門知識を有しない教示者が直感的にロボットに動作軌道を教示できるという利点がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１１−２３１９２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、ダイレクトティーチング機能が搭載された従来のロボットシステムでは、教示者がロボットに動作軌道を教示するティーチングモード時にロボットアームの手先の位置を一定の時間間隔で記憶し、記憶した位置をワークの加工時に再現するようにして、教示されたロボットの動作軌道を再現している。なお、以下においては、ティーチングモード時におけるロボットアームの手先の移動軌道上であって、当該ロボットアームの手先の位置が記憶された各点を教示点と呼ぶ。
【０００８】
この場合において、ワークの加工時に位置制御と力制御のハイブリッド制御を利用する場合、法線方向は力制御、それ以外の方向は位置制御するため、各教示点におけるワーク表面の法線方向を精度良く検出する必要がある。また各教示点におけるワーク表面の法線方向は、位置制御の加工において、軌道をずらして切り込む深さを調整するのにも必要となる。
【０００９】
このため、ダイレクトティーチング機能が搭載された従来のロボットシステムでは、図９に示すように、ティーチングモード時に教示されたロボットアームの手先の移動軌道上の教示点Ｐごとに、その教示点Ｐと当該教示点Ｐ近傍の他の２つの教示点Ｐとを通る平面ＰＬ１０を算出してその平面の法線方向Ｎ１０を求め、ワークの加工時には、かかる教示点Ｐ上で上述のようにして求めた法線方向Ｎ１０と平行に手先工具を接触させ得るようにロボットの姿勢を制御している。
【００１０】
しかしながら、上述のようにして求められる法線方向Ｎ１０は、対応する教示点Ｐにおける法線方向と必ずしも一致しないため、ワークの加工時に手先工具を精度良くワークに垂直に接触させることができない場合があり、このような場合に高精度の仕上げ加工を行い難い問題があった。
【００１１】
本発明は以上の点を考慮してなされたもので、被加工体の加工精度を向上させ得るロボットシステム及びロボットの制御方法を提案しようとするものである。
【課題を解決するための手段】
【００１２】
かかる課題を解決するため本発明においては、ロボットアームを有し、前記ロボットアームの先端部に軌道教示用のエンドエフェクタが取り付けられるロボットと、前記ロボットの動作を制御するロボット制御部とを設け、前記ロボット制御部は、前記ロボットアームに取り付けられた前記エンドエフェクタの先端部を目標軌道に沿って動かすようにして前記ロボットの動作軌道を教示するティーチングモード時に、前記エンドエフェクタの先端部の位置を一定時間間隔で記憶し、前記ティーチングモード時に一定時間間隔で記憶した前記エンドエフェクタの各位置をそれぞれ教示点として、各前記教示点における被加工体の表面の法線方向をそれぞれ算出し、算出した前記教示点ごとの前記法線方向に基づいて、前記被加工体を加工する加工モード時における前記ロボットの動作軌道を制御するようにした。
【００１３】
また本発明においては、ロボットアームを有し、前記ロボットアームの先端部に軌道教示用のエンドエフェクタが取り付けられるロボットと、前記ロボットの動作を制御するロボット制御部とを有するロボットシステムにおいて、前記ロボット制御部により実行されるロボットの制御方法であって、前記ロボットアームに取り付けられた前記エンドエフェクタの先端部を目標軌道に沿って動かすようにして前記ロボットの動作軌道を教示するティーチングモード時に、前記エンドエフェクタの先端部の位置を一定時間間隔で記憶する第１のステップと、前記ティーチングモード時に一定時間間隔で記憶した前記エンドエフェクタの各位置をそれぞれ教示点として、各前記教示点における被加工体の表面の法線方向をそれぞれ算出する第２のステップと、算出した前記教示点ごとの前記法線方向に基づいて、前記被加工体を加工する加工モード時における前記ロボットの動作軌道を制御する第３のステップとを設けるようにした。
【発明の効果】
【００１４】
本発明によれば、被加工体の加工時に手先工具を精度良く被加工体に垂直に接触させることができ、かくして被加工体の加工を高精度に行い得るロボットシステム及びロボットの制御方法を実現できる。すなわち、並進３自由度の位置（Ｘ，Ｙ，Ｚ）と、回転３自由度の姿勢（Ａ，Ｂ，Ｃ）を記憶し、この６自由度の情報によって、各点でのロボットの位置・姿勢を決定することができる。
【図面の簡単な説明】
【００１５】
【図１】第１の実施の形態によるロボットシステムの概略構成を示す略線図である。
【図２】エンドエフェクタの先端構造を示す斜視図である。
【図３】反力の説明に供する側面図である。
【図４】ロボット動作軌道学習処理の処理手順を示すフローチャートである。
【図５】第１の実施の形態によるロボット軌道生成処理の処理手順を示すフローチャートである。
【図６】（Ａ）〜（Ｄ）は、第１の実施の形態によるロボット軌道生成処理の説明に供する概念図である。
【図７】第２の実施の形態によるロボットシステムの概略構成を示す略線図である。
【図８】第１の実施の形態によるロボット軌道生成処理の処理手順を示すフローチャートである。
【図９】従来のロボットシステムにおける各教示点の法線方向の算出手法の説明に供する概念図である。
【発明を実施するための形態】
【００１６】
以下図面について、本発明の一実施の形態を詳述する。
【００１７】
（１）第１の実施の形態
（１−１）本実施の形態によるロボットシステムの構成
図１において、１は全体として本実施の形態によるロボットシステムを示す。このロボットシステム１は、テーブル２に固定されたワーク３に対して面取り等の所定の仕上げ加工を施すロボット４と、当該ロボット４の動作を制御するロボット制御部５とから構成される。
【００１８】
ロボット４は、基台１０上に設置された多関節のロボットアーム１１を備え、当該ロボットアーム１１の先端にフランジ部１２を介して力覚センサ１３が取り付けられている。本実施の形態の場合、力覚センサ１３としては、ｘ軸、ｙ軸及びｚ軸の並進３軸方向の力成分と、これら３軸回りのモーメント成分の６成分を同時に検出できる６軸力センサが適用される。
【００１９】
力覚センサ１３には連結板１４を介してスピンドルモータ１５が取り付けられており、スピンドルモータ１５の先端側に、ダイレクトティーチング用のエンドエフェクタ１６や、実際にワーク３を加工する際に使用する手先工具（図示せず）を、スピンドルモータ１５と同軸にかつ交換自在に取り付け得るようになされている。
【００２０】
またスピンドルモータ１５の後端側には、直接教示用ハンドル１７が取り付けられている。これによりスピンドルモータ１５の先端に軌道教示用のエンドエフェクタ１６を取り付けた上で、教示者が直接教示用ハンドル１７を把持してエンドエフェクタ１６の先端をワーク３に押し付けながらロボットアーム１１を動かすことによって、ワーク３の加工時におけるロボット４の動作軌道をロボットシステム１に教示（ダイレクトティーチング）し得るようになされている。
【００２１】
なお本実施の形態の場合、エンドエフェクタ１６としては、図２に示すように、球状剛体でなるボール２０がホルダ２１より回転自在に保持されたボールローラ２２が軸体２３の先端部に取り付けられたものが用いられる。これにより、教示者が直接教示用ハンドル１７を介してエンドエフェクタ１６の先端部に与える３軸方向の力及びこれら軸回りのトルク（以下、これらをまとめて操作力と呼ぶ）と、そのときエンドエフェクタ１６の先端が図３のようにワーク３の表面から受ける法線方向の反力Ｆとの合力を力覚センサ１３により計測することができるようにされている。
【００２２】
また図示していないが、直接教示用ハンドル１７には、かかるダイレクトティーチングの開始時に押圧操作する第１のボタン（以下、これをティーチング開始ボタンと呼ぶ）と、当該ダイレクトティーチングの終了時に押圧操作する第２のボタン（以下、これをティーチング終了ボタンと呼ぶ）とが設けられている。そして、これらティーチング開始ボタンやティーチング終了ボタンが操作された場合、その操作内容がロボット制御部５に通知される。これにより、かかる通知に基づいてロボット制御部５がダイレクトティーチングの開始及び終了を認識することができる。
【００２３】
一方、ロボット制御部５は、制御装置６及びコントローラ７から構成される。制御装置６は、ＣＰＵ（Central Processing Unit）３０及びメモリ３１等の情報処理資源を備えるコンピュータ装置であり、例えばパーソナルコンピュータから構成される。
【００２４】
制御装置６は、上述のように教示者から教示されたロボット４の動作軌道に基づいて、各教示点におけるワーク３の表面の法線方向をそれぞれ算出し、算出したこれらの法線方向に基づいてロボット４の動作軌道を生成する。また制御装置６は、この後実行されるワーク３の加工モード時、生成したロボット４の動作軌道と、力覚センサ１３から与えられる当該力覚センサ１３の計測値と、コントローラ７から与えられるロボット４の位置及び姿勢を表す位置・姿勢データとに基づいて手先工具のＴＣＰ（Tool Center Point）の目標軌道を計算し、計算により得られた目標軌道に沿って手先工具のＴＣＰを移動させるための指令値（以下、これを位置・姿勢指令値と呼ぶ）をコントローラ７に送信する。
【００２５】
コントローラ７は、制御装置６と同様に、ＣＰＵ３２及びメモリ３３等の情報処理資源を備えるコンピュータ装置であり、例えばパーソナルコンピュータから構成される。コントローラ７は、制御装置６から送信される位置・姿勢指令値に基づいてロボット４内のモータ等の各マニュピレータをそれぞれ制御することにより、制御装置６により算出された目標軌道上を手先工具のＴＣＰが移動するようにロボット４を駆動する。
【００２６】
（１−２）ロボット動作軌道学習処理
図４は、上述したティーチングモード時に制御装置６のＣＰＵ３０により実行されるロボット動作軌道学習処理の処理内容を示す。ＣＰＵ３０は、メモリ３１に格納された図示しないプログラムを実行することにより、この図４に示す処理手順に従って、教示者により教示されたロボット４の動作軌道を学習する。
【００２７】
実際上、ＣＰＵ３０は、直接教示用ハンドル１７に設けられた上述のティーチング開始ボタンから押圧されたことが通知されて、ダイレクトティーチングが開始されたことを認識すると、この図４に示すロボット動作軌道学習処理を開始し、まず、教示者が直接教示用ハンドル１７に与える上述の操作力と、ワーク３に押し付けられたエンドエフェクタ１６の先端が当該ワーク３から受ける反力Ｆ（図３）との合力の大きさを「０」とするような力制御処理を開始する（Ｓ１）。この力制御処理は、力覚センサ１３から与えられる測定値を「０」とするような位置・姿勢指令値を所定の制御周期で生成してコントローラ７に与える処理である。
【００２８】
続いて、ＣＰＵ３０は、そのときコントローラ７から与えられるロボット４のエンドエフェクタ１６の位置を表す位置データと、そのとき力覚センサ１３から与えられる計測値とをそれぞれ取得し、取得したこれらの情報をメモリ３１（図１）に格納する（Ｓ２）。
【００２９】
次いで、ＣＰＵ３０は、ステップＳ２を実行してから上述の位置データ及び計測値を取得する間隔である一定時間（例えば0.01秒）が経過するのを待ち受ける（Ｓ３）。そしてＣＰＵ３０は、やがてステップＳ２を実行してから一定時間が経過すると、ティーチング終了ボタンが押圧操作されたか否かを判断する（Ｓ４）。
【００３０】
ＣＰＵ３０は、この判断で否定結果を得るとステップＳ２に戻り、この後、ステップＳ４において肯定結果を得るまでステップＳ２〜ステップＳ４の処理を繰り返す。これにより、かかる一定時間ごとの位置データ及び計測値が順次取得されて、取得されたこれら一定時間ごとの位置データ及び計測値がメモリ３１に順次格納される。
【００３１】
そしてＣＰＵ３０は、やがてティーチング終了ボタンが押圧操作されることによりステップＳ４で肯定結果を得ると、そのときメモリ３１に格納されている一定時間ごとの位置データ及び計測値に基づいて、教示された動作をロボット４に実行させるための動作軌道を生成するロボット軌道生成処理を実行する（Ｓ５）。そしてＣＰＵ３０は、このロボット軌道生成処理を生成し終えると、このロボット動作軌道学習処理を終了する。
【００３２】
図５は、かかるロボット動作軌道学習処理のステップＳ５においてＣＰＵ３０により実行されるロボット軌道生成処理の具体的な処理内容を示す。ＣＰＵ３０は、ロボット動作軌道学習処理のステップＳ５に進むと、この図５に示すロボット軌道生成処理を開始し、まず、上述のようにして位置データ及び計測値を取得した複数の教示点からなる教示点群について、スムージング、平均、外挿及び又は内挿などの手法を用いて教示点の間隔を調整する（Ｓ１０）。
【００３３】
次いで、ＣＰＵ３０は、間隔調整後の各教示点の中から１つの教示点を選択し（Ｓ１１）、選択したそのとき対象とする教示点（以下、これを対象教示点と呼ぶ）について、近傍の教示点の位置データを用いて対象教示点における法線方向を算出する（Ｓ１２）。本実施の形態の場合、ＣＰＵ３０は、例えば図６（Ａ）において着色表示した教示点Ｐｎを対象教示点とする場合、図６（Ｂ）に示すように、対象教示点Ｐｎ及び１つ前の教示点Ｐｎ−１を結ぶ直線ｌ１と、対象教示点Ｐｎ及び１つ後の教示点Ｐｎ＋１を結ぶ直線ｌ２とがなす角の二等分線ｌ３を含む第１の平面ＰＬ１を算出すると共に、図６（Ｃ）に示すように、対象教示点Ｐｎ及び左隣りの教示点Ｐｎｌを結ぶ直線ｌ４と、対象教示点Ｐｎ及び右隣りの教示点Ｐｎｒを結ぶ直線ｌ５とがなす角の二等分線ｌ６を含む第２の平面ＰＬ２を算出し、図６（Ｄ）に示すように、第１及び第２の平面ＰＬ１，ＰＬ２の交線ｌ７と平行な方向を法線方向Ｎ１として算出する。
【００３４】
この後、ＣＰＵ３０は、ステップＳ１０の処理により得られた間隔調整後のすべての教示点についてその法線方向を算出し終えたか否かを判断する（Ｓ１３）。そしてＣＰＵ３０は、この判断で否定結果を得るとステップＳ１１に戻り、この後、ステップＳ１１で選択する教示点を未処理の他の教示点に順次切り替えながら、ステップＳ１１〜ステップＳ１３の処理を繰り返す。
【００３５】
そしてＣＰＵ３０は、やがてステップＳ１０の処理により得られた間隔調整後のすべての教示点についてその法線方向を算出し終えることによりステップＳ１３で肯定結果を得ると、ロボット動作軌道学習処理（図４）のステップＳ２で取得した間隔調整後の各教示点の位置と、ステップＳ１２で取得したこれら教示点の法線方向とに基づいて、各教示点において手先工具をワーク３の表面の法線方向と反対の方向から押し付け得るように、ロボット４の動作軌道を生成し、生成した動作起動を記憶する（Ｓ１４）。具体的に、ＣＰＵ３０は、このステップＳ１４において、各教示点の位置（並進３自由度の位置（Ｘ，Ｙ，Ｚ））と、各教示点における回転３自由度の姿勢（Ａ，Ｂ，Ｃ）とを記憶する。この６自由度の情報によって、この後実行される加工モード時における各教示点でのロボットの姿勢が一意に決まることになる。
【００３６】
そしてＣＰＵ３０は、この後、このロボット軌道生成処理を終了する。
【００３７】
（１−３）本実施の形態の効果
以上の構成を有する本実施の形態のロボットシステム１によれば、ティーチングモード時に教示者により教示されたエンドエフェクタ１６の目標軌道上の各教示点におけるワーク３の表面の法線方向を精度良く算出することができる。
【００３８】
従って、本ロボットシステム１によれば、ワーク３の加工モード時に手先工具を精度良くワーク３に垂直に接触させることができ、かくしてワーク３の仕上げ加工を高精度に行うことができる。
【００３９】
（２）第２の実施の形態
図１との対応部分に同一符号を付して示す図７は第２の実施の形態によるロボットシステム４０を示す。本実施の形態のロボットシステム４０は、ロボット４１の直接教示用ハンドル１７が力覚センサ４２を介してスピンドルモータ１５の後端側に取り付けられている点が第１の実施の形態のロボットシステム１と相違し、これ以外のハードウェア構成は第１の実施の形態のロボットシステム１と同様に構成されている。
【００４０】
この場合、力覚センサ４２（以下、これを第２の力覚センサ４２と呼ぶ）としては、力覚センサ１３（以下、これを第１の力覚センサ１３と呼ぶ）と同様に、ｘ軸、ｙ軸及びｚ軸の並進３軸方向の力成分と、これら３軸回りのモーメント成分の６成分を同時に検出できる６軸力センサが適用される。
【００４１】
これにより本実施の形態のロボットシステム４０においては、教示者が直接教示用ハンドル１７に与える操作力と、このときエンドエフェクタ１６がワーク３の表面から受ける反力との合力を第１の力覚センサ１３によって計測することができ、また、かかる操作力を第２の力覚センサ４２により検出できる。よって、本ロボットシステム４０では、第１の力覚センサ１３の計測値から第２の力覚センサ４２の計測値を引くことによって、ティーチングモード時にエンドエフェクタ１６がワーク３から受ける反力の大きさを得ることができる。
【００４２】
この場合、この反力は、図３について上述したように、エンドエフェクタ１６がワーク３の表面から受ける当該表面の法線方向の力（反力Ｆ）である。そこで、本実施の形態のロボットシステム４０では、図４について上述したロボット動作軌道学習処理のステップＳ２では、一定時間間隔でそのときのエンドエフェクタ１６の先端の位置を表す位置データと、そのときの第１及び第２の力覚センサ１３，４２のそれぞれの測定値とを記憶し、ロボット動作軌道学習処理のステップＳ５では、これらの教示点ごとの位置データ及び２つの測定値に基づいてロボット４１の動作軌道を生成する。
【００４３】
図８は、かかるロボット動作軌道学習処理のステップＳ５において、メモリ３１に格納された図示しないプログラムに基づいて、本実施の形態のロボットシステム４０の制御装置４３のＣＰＵ３０により実行される本実施の形態のロボット軌道生成処理の具体的な処理内容を示す。
【００４４】
ＣＰＵ３０は、上述したロボット動作軌道学習処理（図４）のステップＳ５に進むと、この図８に示す本実施の形態のロボット軌道生成処理を開始し、まず、不要な教示点を間引く間引き処理を実行する（Ｓ２０）。実際上、ＣＰＵ３０は、メモリ３１に位置データ及び２つの計測値が格納されている各教示点について、その教示点におけるワーク３からの反力Ｆを第１の力覚センサ１３の計測値から第２の力覚センサ４２の計測値を減算するようにして算出し、その反力Ｆが予め設定された閾値（例えば、１Ｎ）未満の教示点の位置データ及び２つの計測値を削除する。
【００４５】
これは、ティーチング開始ボタンが押圧操作されてからエンドエフェクタ１６の先端がワーク３に押し付けられるまでの間や、教示者によるロボット４１の動作軌道の教示が完了してエンドエフェクタ１６の先端がワーク３から離されてからティーチング終了ボタンが押圧されるまでの間に取得された位置データ及び計測値を取り除くための処理である。
【００４６】
続いて、ＣＰＵ３０は、図５のステップＳ１０及びステップＳ１１と同様にステップＳ２１及びステップＳ２２を処理し、この後、ステップＳ２２で選択した教示点（対象教示点）において得られた第１及び第２の力覚センサ１３，４２の計測値をメモリ３１から読み出し、第１の力覚センサ１３の計測値から第２の力覚センサ４２の計測値を減算するようにしてその教示点におけるワーク３の表面の法線方向を算出し、この法線方向の単位ベクトルを算出する（Ｓ２３）。
【００４７】
この後、ＣＰＵ３０は、ステップＳ２１の処理により得られた間隔調整後のすべての教示点についてその法線方向の単位ベクトルを算出し終えたか否かを判断する（Ｓ２４）。そしてＣＰＵ３０は、この判断で否定結果を得るとステップＳ２２に戻り、この後、ステップＳ２２で選択する教示点を未処理の他の教示点に順次切り替えながら、ステップＳ２２〜ステップＳ２４の処理を繰り返す。
【００４８】
そしてＣＰＵ３０は、やがてステップＳ２１の処理により得られた間隔調整後のすべての教示点についてその法線方向の単位ベクトルを算出し終えることによりステップＳ２４で肯定結果を得ると、ロボット動作軌道学習処理（図４）のステップＳ２で取得した間隔調整後の各教示点の位置と、ステップＳ２３で取得したこれら教示点の法線方向の単位ベクトルとに基づいて、各教示点において、手先工具をその教示点におけるワーク３の表面の法線方向と反対の方向から押し付け得るように、ロボット４の動作軌道を生成する（Ｓ２５）。
【００４９】
そしてＣＰＵ３０は、この後、このロボット軌道生成処理を終了する。
【００５０】
以上の構成を有する本実施の形態のロボットシステム４０によれば、エンドエフェクタ１６の目標軌道上の各教示点におけるワーク３の表面の法線方向を精度良く算出することができる。従って、本ロボットシステム４０によれば、第１の実施の形態と同様に、ワーク３の加工モード時に手先工具を精度良くワーク３に垂直に接触させることができ、かくしてワーク３の仕上げ加工を高精度に行うことができる。
【００５１】
（３）他の実施の形態
なお上述の第１及び第２の実施の形態においては、制御装置６，４３及びコントローラ７を別装置として構成するようにした場合について述べたが、本発明はこれに限らず、これら制御装置６，４３及びコントローラ７を同一装置として構成するようにしても良い。
【００５２】
また上述の第１の実施の形態においては、エンドエフェクタ１６として、図２について上述したボールローラが先端に設けられたものを適用するようにした場合について述べたが、本発明はこれに限らず、要は、制御装置６がその先端位置を一定時間間隔で取得可能な構成であれば、これ以外の構成の治具を広く適用することができる。
【００５３】
さらに上述の第１の実施の形態においては、図５について上述したロボット軌道生成処理において第２の実施の形態のロボット軌道生成処理（図８）のステップＳＰ２０と同様の計測値の間引き処理を実行しない場合について述べたが、本発明はこれに限らず、第１の実施の形態においてもかかる計測値の間引き処理を実行するようにしても良い。具体的には、例えば第１の実施の形態のロボット４についても第２の実施の形態と同様にスピンドルモータ１５及び直接教示用ハンドル１７間に第２の力覚センサを設け、第２の実施の形態と同様にしてエンドエフェクタ１６がワーク３の表面から受ける反力を算出し、算出結果に基づいてロボット軌道生成処理（図５）を実行する際に第２の実施の形態のロボット軌道生成処理（図８）のステップＳＰ２０と同様の処理を実行するようにロボットシステム１を構築すれば良い。
【産業上の利用可能性】
【００５４】
本発明は、教示者によりロボットの動作軌道を教示するダイレクトティーチング機能が搭載された種々の構成のロボットシステムに広く適用することができる。
【符号の説明】
【００５５】
１，４０……ロボットシステム
３……ワーク
４，４１……ロボット
５……ロボット制御部
６，４３……制御装置
７……コントローラ
１１……ロボットアーム
１３，４２……力覚センサ
１６……エンドエフェクタ
１７……直接教示用ハンドル
３０……ＣＰＵ
３１……メモリ
２２……ボールローラ
Ｆ……反力
Ｎ１、Ｎ１０……法線方向
【図１】
2017177279.tif 000003
【図２】
2017177279.tif 000004
【図３】
2017177279.tif 000005
【図４】
2017177279.tif 000006
【図５】
2017177279.tif 000007
【図６】
2017177279.tif 000008
【図７】
2017177279.tif 000009
【図８】
2017177279.tif 000010
【図９】
2017177279.tif 000011