(57)【要約】  教示プログラムは、ロボット（２）のアーム（１１）に設けられた工具（１３）を移動させる教示プログラムであって、コンピュータに、ｎ番目の教示位置を示す位置情報とｎ＋１番目の教示位置を示す位置情報とを取得するステップと、ｎ番目の教示位置からｎ＋１番目の教示位置に向かう工具（１３）の進行方向に基づいて進行方向と異なるオフセット方向を取得するステップと、工具（１３）に加わる圧力を示す圧力情報を取得するステップと、圧力が閾値圧力を超えないようにオフセット方向に工具（１３）を押し付けながらｎ番目の教示位置からｎ＋１番目の教示位置に向かって工具（１３）を移動させる移動指示を送出するステップと、を実行させる。
2018173165.tif 000002
【特許請求の範囲】
【請求項１】
ロボットのアームに設けられた工具を移動させる教示プログラムであって、
コンピュータに、
ｎ番目の教示位置を示す位置情報とｎ＋１番目の教示位置を示す位置情報とを取得するステップと、
前記ｎ番目の教示位置から前記ｎ＋１番目の教示位置に向かう前記工具の進行方向に基づいて前記進行方向と異なるオフセット方向を取得するステップと、
前記工具に加わる圧力を示す圧力情報を取得するステップと、
前記圧力が閾値圧力を超えないように前記オフセット方向に前記工具を押し付けながら前記ｎ番目の教示位置から前記ｎ＋１番目の教示位置に向かって前記工具を移動させる移動指示を送出するステップと、を実行させ、ｎは１以上の整数であることを特徴とする教示プログラム。
【請求項２】
ロボットのアームに設けられた工具を移動させる教示プログラムであって、
コンピュータに、
ｎ番目の教示位置を示す位置情報とｎ＋１番目の教示位置を示す位置情報とを取得するステップと、
前記ｎ番目の教示位置から前記ｎ＋１番目の教示位置に向かう進行方向ベクトルと前記工具の中心軸方向ベクトルとの外積計算によって法線ベクトルを算出するステップと、
前記法線ベクトルの単位ベクトルに規定の距離を掛け合わせた第１の足し込み値を、前記ｎ番目の教示位置と前記ｎ＋１番目の教示位置に足し込み、ｎ番目の足し込み位置とｎ＋１番目の足し込み位置とを算出するステップと、
前記工具に加わる圧力を示す圧力情報を取得するステップと、
前記圧力が閾値圧力を超えないように前記ｎ番目の足し込み位置から前記ｎ＋１番目の足し込み位置に向かって前記工具を移動させる移動指示を送出するステップと、を実行させ、ｎは１以上の整数であることを特徴とする教示プログラム。
【請求項３】
前記第１の足し込み値を負数とすることを特徴とする請求項２に記載の教示プログラム。
【請求項４】
ロボットのアームに設けられた工具を移動させる教示プログラムであって、
コンピュータに、
ｎ番目の教示位置を示す位置情報とｎ＋１番目の教示位置を示す位置情報とｎ＋２番目の教示位置を取得するステップと、
前記ｎ番目の教示位置から前記ｎ＋１番目の教示位置に向かう進行方向ベクトルと前記工具の中心軸方向ベクトルとの外積計算によって第１の法線ベクトルを算出するステップと、
前記第１の法線ベクトルの単位ベクトルに規定の距離を掛け合わせた第１の足し込み値を、前記ｎ番目の教示位置に足し込み、ｎ番目の足し込み位置を算出するステップと、
前記ｎ＋１番目の教示位置から前記ｎ＋２番目の教示位置に向かう進行方向ベクトルと前記工具の中心軸方向ベクトルとの外積計算によって第２の法線ベクトルを算出するステップと、
前記第１の法線ベクトルと前記第２の法線ベクトルとの平均ベクトルを算出するステップと、
前記平均ベクトルの単位ベクトルに規定の距離を掛け合わせた第２の足し込み値を、前記ｎ＋１番目の教示位置に足し込んでｎ＋１番目の足し込み位置を算出するステップと、
前記工具に加わる圧力を示す圧力情報を取得するステップと、
前記圧力が閾値圧力を超えないように前記ｎ番目の足し込み位置から前記ｎ＋１番目の足し込み位置に向かって前記工具を移動させる移動指示を送出するステップと、を実行させ、ｎは１以上の整数であることを特徴とする教示プログラム。
【請求項５】
前記コンピュータに、
前記移動指示に基づく前記工具の移動経路をサンプリングして加工経路を生成するステップをさらに実行させることを特徴とする請求項１から請求項４のいずれか１つに記載の教示プログラム。
【請求項６】
前記コンピュータに、
前記加工経路のうち前記ｎ番目の足し込み位置から前記ｎ＋１番目の足し込み位置に向かう経路で得られた加工経路に、前記第１の足し込み値を足し込んで実加工経路とするステップをさらに実行させることを特徴とする請求項５に記載の教示プログラム。
【請求項７】
前記コンピュータに、
前記加工経路に応じて前記工具の姿勢を変化させる姿勢指示を送出するステップをさらに実行させることを特徴とする請求項５に記載の教示プログラム。
【請求項８】
ロボットのアームに設けられた工具を移動させる教示方法であって、
エンジニアリングツールが、
ｎ番目の教示位置を示す位置情報とｎ＋１番目の教示位置を示す位置情報とを取得するステップと、
前記ｎ番目の教示位置から前記ｎ＋１番目の教示位置に向かう前記工具の進行方向に基づいて前記進行方向と異なるオフセット方向を取得するステップと、
前記工具に加わる圧力を示す圧力情報を取得するステップと、
前記圧力が閾値圧力を超えないように前記オフセット方向に前記工具を押し付けながら前記ｎ番目の教示位置から前記ｎ＋１番目の教示位置に向かって前記工具を移動させる移動指示を送出するステップと、を含み、ｎは１以上の整数であることを特徴とする教示方法。
【請求項９】
ロボットのアームに設けられた工具を移動させる教示方法であって、
エンジニアリングツールが、
ｎ番目の教示位置を示す位置情報とｎ＋１番目の教示位置を示す位置情報とを取得するステップと、
前記ｎ番目の教示位置から前記ｎ＋１番目の教示位置に向かう進行方向ベクトルと前記工具の中心軸方向ベクトルとの外積計算に基づいて法線ベクトルを算出するステップと、
前記法線ベクトルの単位ベクトルに規定の距離を掛け合わせた第１の足し込み値を、前記ｎ番目の教示位置と前記ｎ＋１番目の教示位置に足し込み、ｎ番目の足し込み位置とｎ＋１番目の足し込み位置とを算出するステップと、
前記工具に加わる圧力を示す圧力情報を取得するステップと、
前記圧力が閾値圧力を超えないように前記ｎ番目の足し込み位置から前記ｎ＋１番目の足し込み位置に向かって前記工具を移動させる移動指示を送出するステップと、を含み、ｎは１以上の整数であることを特徴とする教示方法。
【請求項１０】
ロボットのアームに設けられた工具を移動させる教示方法であって、
エンジニアリングツールが、
ｎ番目の教示位置を示す位置情報とｎ＋１番目の教示位置を示す位置情報とｎ＋２番目の教示位置を取得するステップと、
前記ｎ番目の教示位置から前記ｎ＋１番目の教示位置に向かう進行方向ベクトルと前記工具の中心軸方向ベクトルとの外積計算に基づいて第１の法線ベクトルを算出するステップと、
前記第１の法線ベクトルの単位ベクトルに規定の距離を掛け合わせた第１の足し込み値を、前記ｎ番目の教示位置に足し込み、ｎ番目の足し込み位置を算出するステップと、
前記ｎ＋１番目の教示位置から前記ｎ＋２番目の教示位置に向かう進行方向ベクトルと前記工具の中心軸方向ベクトルとの外積計算に基づいて第２の法線ベクトルを算出するステップと、
前記第１の法線ベクトルと前記第２の法線ベクトルとの平均ベクトルを算出するステップと、
前記平均ベクトルの単位ベクトルに規定の距離を掛け合わせた第２の足し込み値を、前記ｎ＋１番目の教示位置に足し込んでｎ＋１番目の足し込み位置を算出するステップと、
前記工具に加わる圧力を示す圧力情報を取得するステップと、
前記圧力が閾値圧力を超えないように前記ｎ番目の足し込み位置から前記ｎ＋１番目の足し込み位置に向かって前記工具を移動させる移動指示を送出するステップと、を含み、ｎは１以上の整数であることを特徴とする教示方法。
【請求項１１】
アームに工具が設けられたロボットと、
前記工具に加わる圧力を検出する力覚センサと、
ｎ番目の教示位置を示す位置情報とｎ＋１番目の教示位置を示す位置情報とを取得し、前記ｎ番目の教示位置から前記ｎ＋１番目の教示位置に向かう前記工具の進行方向に基づいて前記進行方向と異なるオフセット方向を取得し、前記工具に加わる圧力が閾値圧力を超えないように前記オフセット方向に前記工具を押し付けながら前記ｎ番目の教示位置から前記ｎ＋１番目の教示位置に向かって前記工具を移動させる移動指示を送出するエンジニアリングツールと、を備え、ｎは１以上の整数であることを特徴とするロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットのアームに設けられた工具の加工経路を教示する教示プログラム、教示方法およびロボットシステムに関する。
【背景技術】
【０００２】
ロボットシステムにおいて、ロボットのアームに設けられた工具でワークを加工する場合に、予め工具の経路をロボットに教示して加工経路を作成しておき、その加工経路に沿って工具を移動させてワークを加工する場合がある。なお、以下の説明において、工具の経路を教示して加工経路を作成する工程を単に教示工程ともいう。【０００３】
教示工程では、特許文献１に示すように、加工後の形状となっているマスターワークの外周面に対して、アームに設けられた工具を常に接触するように倣いながら移動させて、倣いながらの移動の過程での工具の位置をサンプリングすることが行われる場合がある。なお、以下の説明において、マスターワークに倣いながら工具が移動することを単に倣い動作ともいう。【０００４】
教示工程で倣い動作を行わせる場合には、作業者がマスターワークの外周面に工具が接触する複数の位置をティーチングしておく。なお、以下の説明において、ティーチングされた位置を単に教示位置ともいう。ティーチングされた教示位置間をマスターワークに押し付けながら工具を移動させることで倣い動作が行われる。ここで、教示位置間の移動において、工具が押し付けられる方向は、教示位置でのロボットの姿勢に応じて定まるのが一般的である。工具が押し付けられる方向にマスターワークがない場合には、マスターワークから工具が離れてしまい、倣い動作を行うことができない。また、マスターワークの外周面に対して垂直に近い方向で工具が押し付けられない場合には、外周面上を工具がすべってしまい適切なサンプリングができない場合がある。そのため、ティーチングを行う際には、押し付け方向がマスターワークの存在する適切な方向となるように、ロボットの姿勢も考慮する必要がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−０５８９６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記従来の技術によれば、教示工程において教示位置の選択に加えて教示位置でロボットの姿勢も作業者が設定する必要があり、作業者の技量によって教示工程で得られる加工経路の精度にバラつきが生じやすかった。また、教示位置において押し付け方向によってロボットの姿勢がある程度定まってしまうため、ロボットがとることのできる姿勢によって加工範囲が限定されてしまう場合がある。【０００７】
本発明は、上記に鑑みてなされたものであって、教示工程での作業の容易化およびロボットの加工範囲の拡大を図ることができる教示プログラムを得ることを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明は、ロボットのアームに設けられた工具を移動させる教示プログラムであって、コンピュータに、ｎ番目の教示位置を示す位置情報とｎ＋１番目の教示位置を示す位置情報とを取得するステップと、ｎ番目の教示位置からｎ＋１番目の教示位置に向かう工具の進行方向に基づいて進行方向と異なるオフセット方向を取得するステップと、工具に加わる圧力を示す圧力情報を取得するステップと、圧力が閾値圧力を超えないようにオフセット方向に工具を押し付けながらｎ番目の教示位置からｎ＋１番目の教示位置に向かって工具を移動させる移動指示を送出するステップと、を実行させ、ｎは１以上の整数であることを特徴とする。
【発明の効果】
【０００９】
本発明にかかる教示プログラムは、教示工程での作業の容易化およびロボットの加工範囲の拡大を図ることができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態１にかかる教示プログラムが適用されたロボットシステムの概略構成を示す図
【図２】実施の形態１における工具とワークとの関係を示す図
【図３】実施の形態１におけるロボットシステムの機能構成を示すブロック図
【図４】実施の形態１における教示工程の手順を示すフローチャート
【図５】実施の形態１における教示位置のティーチングについて説明する図
【図６】比較例として示すロボットにおける教示位置のティーチングについて示す図
【図７】実施の形態１における教示工程の手順の変形例１を示すフローチャート
【図８】単位法線ベクトルの算出方法を示す図
【図９】足し込み位置を示す図
【図１０】既定の距離を負数とした場合の足し込み位置を示す図
【図１１】加工の際に方向性のある工具を用いた例を示す図
【図１２】オフセット方向の算出方法の他の例を示す図
【図１３】実施の形態１におけるロボットコントローラおよびエンジニアリングツールのハードウェア構成を示す図
【発明を実施するための形態】
【００１１】
以下に、本発明の実施の形態にかかる教示プログラム、教示方法およびロボットシステムを図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１２】
実施の形態１．
図１は、本発明の実施の形態１にかかる教示プログラムが適用されたロボットシステムの概略構成を示す図である。ロボットシステム１は、ロボット２、ロボットコントーラ３、力覚センサ４、エンジニアリングツール５を備える。
【００１３】
ロボット２は、多関節で駆動するアーム１１を備える。アーム１１の先端には工具１３を取り付け可能なハンド１２が設けられている。ハンド１２とアーム１１の間には力覚センサ４が設けられている。ロボット２は、工具１３を移動させてワーク６を加工する。ロボット２が行うワーク６の加工には、切断、切削、ばり取りが挙げられる。本実施の形態１では、ハンド１２に取り付けられた工具１３が、ばり取りに用いられるスピンドル回転工具である例を挙げて説明する。図２は、実施の形態１における工具１３とワーク６との関係を示す図である。スピンドル回転工具である工具１３は、中心軸である回転軸１３ａを中心に回転して、ワーク６の外周面６ａのばり取りを行う工具である。なお、以下の説明において、回転軸１３ａに平行なＺ軸と、Ｚ軸に垂直かつ互いに垂直なＸ軸およびＹ軸とを設定して説明する。
【００１４】
ロボットシステム１では、工具１３を用いた加工後の外周面６ａ形状を持つワーク６であるマスターワークの外周面６ａに沿って工具１３を移動させて、そのときの工具１３の移動経路を加工経路として取得する教示工程が行われる。教示工程で得られた加工経路に沿って工具１３を移動させて加工前のワーク６を加工することで、マスターワークの外周面と同じ形状の外周面６ａを持つ製品を得ることができる。
【００１５】
図３は、実施の形態１にかかるロボットシステムの機能構成を示すブロック図である。ロボットコントローラ３は、制御部３１、演算部３２、および記憶部３３を備えるコンピュータである。制御部３１は、ロボット２の動作を制御して、工具１３を移動させる。制御部３１は、教示工程においては、ロボット２の動作を制御して、１の教示位置から他の教示位置に向けて工具１３を移動させる。演算部３２は、教示工程においてロボット２から得られた情報に基づいて、工具１３の位置情報およびロボット２の姿勢情報を取得して、加工経路を生成する。生成された加工経路は記憶部３３に記憶される。演算部３２は、実際にワーク６を加工する加工工程においては、記憶部３３に記憶された加工経路に沿って工具１３を移動させる。これにより、ワーク６が工具１３によって加工される。
【００１６】
力覚センサ４は、図示を省略したインターフェースユニットを介してロボットコントローラ３に接続されている。力覚センサ４は、ロボット２のアーム１１とハンド１２との間に設けられている。力覚センサ４は、工具１３がワーク６に押し付けられた際の圧力を検出する。力覚センサ４は、Ｘ−Ｙ平面に平行なすべての方向から加わる圧力を検出して、工具１３がワーク６に押し付けられる押し付け力を検出する。力覚センサ４は、検出した圧力を示す圧力情報をロボットコントローラ３の制御部３１に送信する。ロボットコントローラ３の制御部３１は、工具１３がワーク６に押し付けられた際の圧力が閾値圧力を超えた場合に、工具１３をそれ以上押し付けない制御、いわゆるスティフネス制御を行う。
【００１７】
エンジニアリングツール５は、ロボットコントローラ３を制御して、ロボット２に教示工程を行わせる。エンジニアリングツール５は、ロボットコントローラ３に接続されたＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）である。エンジニアリングツール５は、制御部５１および記憶部５２を備える。記憶部５２には、ロボット２に教示工程を行わせる教示プログラムが記憶されている。制御部５１は、記憶部５２から読み込んだ教示プログラムにしたがって、ロボットコントローラ３を制御して、ロボット２に教示工程を行わせる。
【００１８】
図４は、実施の形態１における教示工程の手順を示すフローチャートである。まず、教示工程では、教示位置およびロボット２の姿勢を示す姿勢情報の取得が行われる（ステップＳ１）。図５は、実施の形態１における教示位置のティーチングについて説明する図である。図５に示すように、作業者がロボット２に設けられた工具１３を、実際に移動させてワーク６の外周面６ａに当接させることで、ｎ番目の教示位置６１、ｎ＋１番目の教示位置６２、ｎ＋２番目の教示位置６３・・・と順番に複数の教示位置をティーチングする。ここで、ｎは１以上の整数である。エンジニアリングツール５の制御部５１は、ロボットコントローラ３に、各教示位置６１，６２，６３での工具１３の位置を示す位置情報を取得させる。この際、各教示位置６１，６２，６３での姿勢情報も取得させる。ここで、ｎ番目の教示位置６１から順番にｎ＋１番目の教示位置６２、ｎ＋２番目の教示位置６３と工具１３を移動させる経路を第１の経路７１とする。
【００１９】
次に、エンジニアリングツール５の制御部５１は、ロボットコントローラ３にオフセット方向を取得させる（ステップＳ２）。オフセット方向は、第１の経路７１に沿って工具１３が移動する際に工具１３を押し付ける方向である。ここで、オフセット方向は、各教示位置６１，６２，６３のティーチングを行った作業者によってエンジニアリングツール５を通じて入力されてもよいし、記憶部３３または記憶部５２に予め記憶されていてもよい。オフセット方向が作業者によってエンジニアリングツール５を通じて入力されるのであれば、エンジニアリングツール５の制御部５１は入力されたオフセット方向を示す情報をロボットコントローラ３に送信する。オフセット方向が記憶部３３または記憶部５２に予め記憶されているのであれば、エンジニアリングツール５の制御部５１はロボットコントローラ３の制御部３１にオフセット方向を示す情報を記憶部３３または記憶部５２から読み出させる。
【００２０】
例えば、図５に示す例では、Ｘ−Ｙ平面に平行に進む工具１３の進行方向に対して右側となる方向をオフセット方向８１としている。ｎ番目の教示位置６１からｎ＋１の教示位置６２に向かう第１の経路７１と、ｎ＋１の教示位置６２からｎ＋２番目の教示位置６３に向かう第１の経路７１とでは、進行方向が異なっているので、そのオフセット方向８１も異なる。
【００２１】
エンジニアリングツール５の制御部５１は、オフセット方向８１に押し付けながら第１の経路７１に沿って工具１３を移動させる移動指示を送出して（ステップＳ３）、ロボットコントローラ３に倣い動作を行わせる。上述したスティフネス制御によって、オフセット方向８１に押し付けられながら工具１３が移動する際に、閾値圧力を超えて工具１３はワーク６に押し付けられない。スティフネス制御は、力覚センサ４が検出した圧力を、ロボットコントローラ３が取得し、検出した圧力が閾値圧力を超えないようにロボットコントローラ３がロボット２を制御する指示を送出することで実現される。オフセット方向８１に押し付けられている工具１３は、ワーク６の外周面６ａに沿って移動する。エンジニアリングツール５の制御部５１は、予め定められたサンプリング周期で工具１３の位置を示す位置情報およびロボット２の姿勢を示す姿勢情報を取得する（ステップＳ４）。これにより、教示位置間での位置情報および姿勢情報が補完される。
【００２２】
このサンプリングを行う工程では、エンジニアリングツール５によって設定されたサンプリングパラメータが適用される。サンプリングパラメータには、上述したサンプリング周期、力覚センサ４の閾値圧力、および工具１３の移動速度が含まれる。
【００２３】
エンジニアリングツール５の制御部５１は、取得された工具１３の位置を示す位置情報およびロボット２の姿勢を示す姿勢情報に基づいて、ロボットコントローラ３に加工経路を生成させる（ステップＳ５）。すなわち、生成された加工経路には、工具１３の位置情報に加えて、その位置情報が示す工具１３の位置でのロボット２の姿勢情報も含まれる。ここで生成された加工経路は、ロボットコントローラ３の記憶部３３に記憶される。
【００２４】
実際にワーク６を加工する工程では、加工経路に沿って工具１３を移動させることでマスターワークの外周面と同じ形状にワーク６を加工することができる。
【００２５】
本実施の形態１では、サンプリングを行う際に工具１３の進行方向に基づいてオフセット方向８１、すなわち工具１３を押し付ける方向を決定している。そのため、教示位置をティーチングする作業者は、押し付け方向を考慮したロボット２の姿勢を設定する必要がない。したがって、教示位置のティーチングにおいて工具１３を教示位置に配置することに集中することができるためティーチング作業の容易化が図られる。また、工具１３の進行方向に基づいてオフセット方向８１が決定されるので、サンプリングにおいて工具１３を確実にワーク６の外周面６ａに押し付けることができる。
【００２６】
また、工具１３の押し付け方向に関わらずロボット２に自由な姿勢を取らせることができるので、ロボット２の加工範囲の拡大を図ることができる。図６は、比較例として示すロボットにおける教示位置のティーチングについて示す図である。比較例として示すロボット１０２では、サンプリングを行う場合の工具１３の押し付け方向１８１が、工具１３と取り付けられたアーム１１１の長手方向に沿った方向となっている。そのため、各教示位置１６１，１６２，１６３をティーチングする際に、アーム１１１の姿勢を大きく変化させなければならない。特に教示位置１６１に工具１３を持っていった状態では、図５に示す場合に比べてアーム１１１の根元をＸ軸に沿った負の方向側に大きく振らなければならず、比較例にかかるロボット１０２では加工範囲が縮小してしまう。一方、本実施の形態１では、図５に示すようにアーム１１の姿勢の変化が少なくて済むため、加工範囲の拡大を図ることができる。
【００２７】
次に、実施の形態１にかかるロボットシステム１における教示工程の変形例を示す。図７は、実施の形態１における教示工程の手順の変形例１を示すフローチャートである。本変形例１では、図４に示したステップＳ２に代えて、第１の経路７１に沿った工具１３の進行方向を示すベクトルａと工具１３の回転軸に沿ったベクトルｂとの外積計算によって単位法線ベクトルｓを得る（ステップＳ２Ａ）。
【００２８】
図８は、単位法線ベクトルの算出方法を示す図である。単位法線ベクトルｓは、以下の数式（１）によって得られる。
ｓ＝ａ×ｂ／｜ａ×ｂ｜          （１）
【００２９】
また、単位法線ベクトルｓに予め定められた規定の距離を掛け合わせた第１の足し込み値が得られる（ステップＳ２Ｂ）。単位法線ベクトルｓに掛け合わせる規定の距離は、ティーチングを行った作業者によってエンジニアリングツール５を通じて入力されてもよいし、記憶部３３または記憶部５２に予め記憶されていてもよい。
【００３０】
次に、各教示位置６１，６２，６３に第１の足し込み値を足し込んで、ｎ番目の足し込み位置９１、ｎ＋１番目の足し込み位置９２、ｎ＋２番目の足し込み位置９３を得る（ステップＳ２Ｃ）。図９は、足し込み位置を示す図である。図４のステップＳ３に代えて、各足し込み位置９１，９２，９３を結ぶ経路を第２の経路７２にして、第２の経路７２に沿って工具１３を移動させる（ステップＳ３Ａ）。ステップＳ４およびステップＳ５は、図４に示した例と同様の手順で行うことで、加工経路を生成する。
【００３１】
本変形例１に示す手順では、第２の経路７２がワーク６に重なる経路となる。したがって、第２の経路７２に沿って工具１３を移動させてサンプリングを行うことで、より確実に工具１３をワーク６に押し付けることができる。
【００３２】
なお、ステップＳ２Ｂにおいて単位法線ベクトルｓに掛け合わされる規定の距離を負数としてもよい。図１０は、既定の距離を負数とした場合の足し込み位置を示す図である。この場合、図１０に示すように、ｎ番目の足し込み位置９１、ｎ＋１番目の足し込み位置９２、ｎ＋２番目の足し込み位置９３は、ワーク６から離間した位置となり、第２の経路７２もワーク６と重ならない。ワーク６から離間した各足し込み位置９１，９２，９３は、例えばサンプリングを行う前後に工具１３を待機させる位置とすることができる。
【００３３】
さらに、エンジニアリングツール５の制御部５１は、得られた加工経路に対して第１の足し込み値を足し込んで、実加工経路を算出してもよい。第１の足し込み値が足し込まれて得られた実加工経路は、ワーク６と重なる経路となる。したがって、実加工経路に沿って工具１３を移動させてワーク６を加工させる場合には、工具１３はワーク６の外周面６ａに押し付けられることになる。これによって、工具１３を用いたばり取りに適切な押し付け力を得ることができる場合がある。
【００３４】
さらに、エンジニアリングツール５の制御部５１は、得られた加工経路に対して足し込む第１の足し込み値を負数にして、実加工経路を算出してもよい。負数である第１の足し込み値が足し込まれて得られた実加工経路は、ワーク６と重ならない経路となる。例えば、実加工経路に沿って工具１３を移動させる場合には、実際にワーク６を加工する前のテスト動作を行う場合が例示される。
【００３５】
図１１は、加工の際に方向性のある工具１３を用いた例を示す図である。さらに、エンジニアンリングツール５の制御部５１は、ナイフ工具に例示される加工の際に方向性のある工具１３を用いた場合に、加工経路または実加工経路から得られる工具１３の進行方向に基づいて、ワーク６の加工に適した工具１３の姿勢を算出し、それに合わせてロボット２の姿勢をロボットコントローラ３に変化させる。
【００３６】
図１２は、オフセット方向の算出方法の他の例を示す図である。図１２に示す例では、ｎ番目の教示位置６１に足し込まれる第１の足し込み値の基準となるオフセット方向は、ｎ番目の教示位置６１からｎ＋１番目の教示位置６２に向かうベクトルａ１と工具１３の中心軸方向ベクトルｂ（図８も参照）との外積に基づいて算出される法線ベクトルｓ１が示す方向とされる。
【００３７】
また、ｎ＋１番目の教示位置６２に足し込まれる第２の足し込み値の基準となるオフセット方向は、ｎ＋１番目の教示位置６２からｎ＋２番目の教示位置６３に向かうベクトルａ２と工具１３の中心軸方向ベクトルｂ（図８も参照）との外積に基づいて算出される法線ベクトルｓ２と、法線ベクトルｓ１の平均ベクトルｓ１．５が示す方向とされる。
【００３８】
また、ｎ＋２番目の教示位置６３に足し込まれる第３の足し込み値の基準となるオフセット方向は、ｎ＋２番目の教示位置６３からｎ＋３番目の教示位置６４に向かうベクトルａ３と工具１３の中心軸方向ベクトルｂ（図８も参照）との外積に基づいて算出される法線ベクトルｓ３と、法線ベクトルｓ２の平均ベクトルｓ２．５が示す方向とされる。
【００３９】
このように各足し込み値を算出して各教示位置６１，６２，６３に足し込んで第２の経路７２を生成し、第２の経路７２に沿って工具１３を移動させることで、ワーク６の外周面６ａの曲率が高くなった場合であっても、ワーク６の外周面６ａに対して垂直に近い方向から工具１３を押し付けることができ、倣い動作の安定化を図ることができる。
【００４０】
ここで、実施の形態１にかかる教示プログラムが実行可能な状態になるまでのエンジニアリングツール５の動作例について説明する。上述した構成をとるエンジニアリングツール５には、たとえば、ＣＤ（Compact  Disc）−ＲＯＭ／ＤＶＤ（Digital  Versatile  Disc）−ＲＯＭドライブ（図示せず）にセットされたＣＤ−ＲＯＭ／ＤＶＤ−ＲＯＭから、教示プログラムが記憶部５２にインストールされる。そして、教示プログラムの実行時に、記憶部５２から読み出された教示プログラムが記憶部３３の所定の場所に格納される。この状態で、制御部５１は、記憶部３３に格納されたプログラムにしたがって、ロボットコントローラ３およびロボット２に教示工程を実行させる。
【００４１】
なお、本実施の係蹄においては、ＣＤ−ＲＯＭ／ＤＶＤ−ＲＯＭを記録媒体として、教示プログラムを提供しているが、これに限らず、エンジニアリングツール５の構成、提供するプログラムの容量などに応じて、たとえば、インターネットなどの伝送媒体により提供されたプログラムを用いることとしてもよい。
【００４２】
図１３は、実施の形態１におけるロボットコントローラ３およびエンジニアリングツール５のハードウェア構成を示す図である。上述した制御部３１、演算部３２、制御部５１の機能はＣＰＵ７によって実現される。上述した記憶部３３、記憶部５２の機能はメモリ８によって実現される。メモリ８には、半導体メモリ、磁気ディスク、光ディスクが例示される。
【００４３】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【００４４】
１  ロボットシステム、２  ロボット、３  ロボットコントローラ、４  力覚センサ、５  エンジニアリングツール、６  ワーク、１１  アーム、１２  ハンド、１３  工具、１３ａ  回転軸、３１  制御部、３２  演算部、３３  記憶部、５１  制御部、５２  記憶部、７１  第１の経路、７２  第２の経路、８１  オフセット方向。
【図１】
2018173165.tif 000003
【図２】
2018173165.tif 000004
【図３】
2018173165.tif 000005
【図４】
2018173165.tif 000006
【図５】
2018173165.tif 000007
【図６】
2018173165.tif 000008
【図７】
2018173165.tif 000009
【図８】
2018173165.tif 000010
【図９】
2018173165.tif 000011
【図１０】
2018173165.tif 000012
【図１１】
2018173165.tif 000013
【図１２】
2018173165.tif 000014
【図１３】
2018173165.tif 000015
【手続補正書】
【提出日】平成29年10月25日(2017.10.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ロボットのアームに設けられた工具を移動させる教示プログラムであって、
コンピュータに、
ｎ番目の教示位置を示す位置情報とｎ＋１番目の教示位置を示す位置情報とを取得するステップと、
前記ｎ番目の教示位置から前記ｎ＋１番目の教示位置に向かう前記工具の進行方向に基づいて前記進行方向と異なるオフセット方向を取得するステップと、
前記工具に加わる圧力を示す圧力情報を取得するステップと、
前記圧力が閾値圧力を超えないように前記オフセット方向に前記工具を押し付けながら前記ｎ番目の教示位置から前記ｎ＋１番目の教示位置に向かって前記工具を移動させる移動指示を送出するステップと、を実行させ、ｎは１以上の整数であることを特徴とする教示プログラム。
【請求項２】
ロボットのアームに設けられた工具を移動させる教示プログラムであって、
コンピュータに、
ｎ番目の教示位置を示す位置情報とｎ＋１番目の教示位置を示す位置情報とを取得するステップと、
前記ｎ番目の教示位置から前記ｎ＋１番目の教示位置に向かう進行方向ベクトルと前記工具の中心軸方向ベクトルとの外積計算によって法線ベクトルを算出するステップと、
前記法線ベクトルの単位ベクトルに規定の距離を掛け合わせた第１の足し込み値を、前記ｎ番目の教示位置と前記ｎ＋１番目の教示位置に足し込み、ｎ番目の足し込み位置とｎ＋１番目の足し込み位置とを算出するステップと、
前記工具に加わる圧力を示す圧力情報を取得するステップと、
前記圧力が閾値圧力を超えないように前記ｎ番目の足し込み位置から前記ｎ＋１番目の足し込み位置に向かって前記工具を移動させる移動指示を送出するステップと、を実行させ、ｎは１以上の整数であることを特徴とする教示プログラム。
【請求項３】
前記第１の足し込み値を負数とすることを特徴とする請求項２に記載の教示プログラム。
【請求項４】
ロボットのアームに設けられた工具を移動させる教示プログラムであって、
コンピュータに、
ｎ番目の教示位置を示す位置情報とｎ＋１番目の教示位置を示す位置情報とｎ＋２番目の教示位置を取得するステップと、
前記ｎ番目の教示位置から前記ｎ＋１番目の教示位置に向かう進行方向ベクトルと前記工具の中心軸方向ベクトルとの外積計算によって第１の法線ベクトルを算出するステップと、
前記第１の法線ベクトルの単位ベクトルに規定の距離を掛け合わせた第１の足し込み値を、前記ｎ番目の教示位置に足し込み、ｎ番目の足し込み位置を算出するステップと、
前記ｎ＋１番目の教示位置から前記ｎ＋２番目の教示位置に向かう進行方向ベクトルと前記工具の中心軸方向ベクトルとの外積計算によって第２の法線ベクトルを算出するステップと、
前記第１の法線ベクトルと前記第２の法線ベクトルとの平均ベクトルを算出するステップと、
前記平均ベクトルの単位ベクトルに規定の距離を掛け合わせた第２の足し込み値を、前記ｎ＋１番目の教示位置に足し込んでｎ＋１番目の足し込み位置を算出するステップと、
前記工具に加わる圧力を示す圧力情報を取得するステップと、
前記圧力が閾値圧力を超えないように前記ｎ番目の足し込み位置から前記ｎ＋１番目の足し込み位置に向かって前記工具を移動させる移動指示を送出するステップと、を実行させ、ｎは１以上の整数であることを特徴とする教示プログラム。
【請求項５】
前記コンピュータに、
前記移動指示に基づく前記工具の移動経路をサンプリングして加工経路を生成するステップをさらに実行させることを特徴とする請求項１から請求項４のいずれか１つに記載の教示プログラム。
【請求項６】
前記コンピュータに、
前記移動指示に基づく前記工具の移動経路をサンプリングして加工経路を生成するステップと、
前記加工経路のうち前記ｎ番目の足し込み位置から前記ｎ＋１番目の足し込み位置に向かう経路で得られた加工経路に、前記第１の足し込み値を足し込んで実加工経路とするステップをさらに実行させることを特徴とする請求項２から４のいずれか１つに記載の教示プログラム。
【請求項７】
前記コンピュータに、
前記加工経路に応じて前記工具の姿勢を変化させる姿勢指示を送出するステップをさらに実行させることを特徴とする請求項５に記載の教示プログラム。
【請求項８】
ロボットのアームに設けられた工具を移動させる教示方法であって、
エンジニアリングツールが、
ｎ番目の教示位置を示す位置情報とｎ＋１番目の教示位置を示す位置情報とを取得するステップと、
前記ｎ番目の教示位置から前記ｎ＋１番目の教示位置に向かう前記工具の進行方向に基づいて前記進行方向と異なるオフセット方向を取得するステップと、
前記工具に加わる圧力を示す圧力情報を取得するステップと、
前記圧力が閾値圧力を超えないように前記オフセット方向に前記工具を押し付けながら前記ｎ番目の教示位置から前記ｎ＋１番目の教示位置に向かって前記工具を移動させる移動指示を送出するステップと、を含み、ｎは１以上の整数であることを特徴とする教示方法。
【請求項９】
ロボットのアームに設けられた工具を移動させる教示方法であって、
エンジニアリングツールが、
ｎ番目の教示位置を示す位置情報とｎ＋１番目の教示位置を示す位置情報とを取得するステップと、
前記ｎ番目の教示位置から前記ｎ＋１番目の教示位置に向かう進行方向ベクトルと前記工具の中心軸方向ベクトルとの外積計算に基づいて法線ベクトルを算出するステップと、
前記法線ベクトルの単位ベクトルに規定の距離を掛け合わせた第１の足し込み値を、前記ｎ番目の教示位置と前記ｎ＋１番目の教示位置に足し込み、ｎ番目の足し込み位置とｎ＋１番目の足し込み位置とを算出するステップと、
前記工具に加わる圧力を示す圧力情報を取得するステップと、
前記圧力が閾値圧力を超えないように前記ｎ番目の足し込み位置から前記ｎ＋１番目の足し込み位置に向かって前記工具を移動させる移動指示を送出するステップと、を含み、ｎは１以上の整数であることを特徴とする教示方法。
【請求項１０】
ロボットのアームに設けられた工具を移動させる教示方法であって、
エンジニアリングツールが、
ｎ番目の教示位置を示す位置情報とｎ＋１番目の教示位置を示す位置情報とｎ＋２番目の教示位置を取得するステップと、
前記ｎ番目の教示位置から前記ｎ＋１番目の教示位置に向かう進行方向ベクトルと前記工具の中心軸方向ベクトルとの外積計算に基づいて第１の法線ベクトルを算出するステップと、
前記第１の法線ベクトルの単位ベクトルに規定の距離を掛け合わせた第１の足し込み値を、前記ｎ番目の教示位置に足し込み、ｎ番目の足し込み位置を算出するステップと、
前記ｎ＋１番目の教示位置から前記ｎ＋２番目の教示位置に向かう進行方向ベクトルと前記工具の中心軸方向ベクトルとの外積計算に基づいて第２の法線ベクトルを算出するステップと、
前記第１の法線ベクトルと前記第２の法線ベクトルとの平均ベクトルを算出するステップと、
前記平均ベクトルの単位ベクトルに規定の距離を掛け合わせた第２の足し込み値を、前記ｎ＋１番目の教示位置に足し込んでｎ＋１番目の足し込み位置を算出するステップと、
前記工具に加わる圧力を示す圧力情報を取得するステップと、
前記圧力が閾値圧力を超えないように前記ｎ番目の足し込み位置から前記ｎ＋１番目の足し込み位置に向かって前記工具を移動させる移動指示を送出するステップと、を含み、ｎは１以上の整数であることを特徴とする教示方法。
【請求項１１】
アームに工具が設けられたロボットと、
前記工具に加わる圧力を検出する力覚センサと、
ｎ番目の教示位置を示す位置情報とｎ＋１番目の教示位置を示す位置情報とを取得し、前記ｎ番目の教示位置から前記ｎ＋１番目の教示位置に向かう前記工具の進行方向に基づいて前記進行方向と異なるオフセット方向を取得し、前記工具に加わる圧力が閾値圧力を超えないように前記オフセット方向に前記工具を押し付けながら前記ｎ番目の教示位置から前記ｎ＋１番目の教示位置に向かって前記工具を移動させる移動指示を送出するエンジニアリングツールと、を備え、ｎは１以上の整数であることを特徴とするロボットシステム。
【国際調査報告】
2018173165.tif 000016
2018173165.tif 000017
2018173165.tif 000018
2018173165.tif 000019