IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ファナック株式会社の特許一覧

特許7469487キサゲ加工を行うロボットシステム、方法、及びコンピュータプログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-08
(45)【発行日】2024-04-16
(54)【発明の名称】キサゲ加工を行うロボットシステム、方法、及びコンピュータプログラム
(51)【国際特許分類】
   B25J 9/10 20060101AFI20240409BHJP
   B25J 13/08 20060101ALI20240409BHJP
【FI】
B25J9/10 A
B25J13/08 Z
【請求項の数】 10
(21)【出願番号】P 2022547531
(86)(22)【出願日】2021-09-01
(86)【国際出願番号】 JP2021032167
(87)【国際公開番号】W WO2022054674
(87)【国際公開日】2022-03-17
【審査請求日】2023-04-05
(31)【優先権主張番号】P 2020150703
(32)【優先日】2020-09-08
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100112357
【弁理士】
【氏名又は名称】廣瀬 繁樹
(72)【発明者】
【氏名】鈴木 忠則
【審査官】杉山 悟史
(56)【参考文献】
【文献】特許第6723623(JP,B1)
【文献】特開2016-137551(JP,A)
【文献】特開2010-240809(JP,A)
【文献】特開平5-123921(JP,A)
【文献】特開2004-042164(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 ~ 21/02
(57)【特許請求の範囲】
【請求項1】
ワークの表面を平坦にするために削るキサゲ加工を行うロボットシステムであって、
前記表面を削るスクレーパを移動させるロボットと、
前記ロボットを制御する制御装置と、を備え、
前記制御装置は、
前記ロボットによって前記スクレーパを、前記表面に沿う方向へ移動させるとともに該表面へ向かう方向へ移動させることによって、該スクレーパを該表面に対して鋭角を形成するように傾斜した軌道で当接させ、
前記スクレーパが前記表面に当接している間、前記ロボットが前記スクレーパを前記表面に押し付ける押付力が予め定めた大きさとなるように該ロボットの位置を制御するとともに、該ロボットによって該スクレーパを前記沿う方向へ移動させることで、前記キサゲ加工を実行する、ロボットシステム。
【請求項2】
前記押付力を検出する力センサをさらに備え、
前記制御装置は、前記スクレーパが前記表面に当接している間、前記力センサの検出データに基づいて、前記押付力を、前記予め定めた大きさに対応する目標値に制御する力制御を実行することによって、前記ロボットの前記位置を制御する、請求項1に記載のロボットシステム。
【請求項3】
前記制御装置は、
前記表面に沿って予め定められた複数の教示点へ前記スクレーパを順に移動させるための位置制御指令を生成し、
前記スクレーパを、前記表面から離隔する第1の前記教示点に移動させたときに、前記力制御を開始して該スクレーパを前記向かう方向へ移動させるための力制御指令を生成し、
前記位置制御指令に従って前記スクレーパを前記第1の教示点から第2の前記教示点へ移動させるとともに、前記力制御指令に従って前記スクレーパを前記向かう方向へ移動させることによって、該スクレーパを前記傾斜した軌道で前記表面に当接させる、請求項2に記載のロボットシステム。
【請求項4】
前記位置制御指令は、前記スクレーパを前記第1の教示点から前記第2の教示点まで移動させるときの速度を規定する第1速度指令を有し、
前記力制御指令は、前記スクレーパを前記向かう方向へ移動させる速度を規定する第2速度指令を有し、
前記制御装置は、前記鋭角が予め定めた範囲内となるように、前記第1速度指令及び前記第2速度指令を生成する、請求項3に記載のロボットシステム。
【請求項5】
前記制御装置は、前記力制御の実行中に前記押付力が前記目標値に到達した時点又は到達する前に、前記スクレーパを前記表面から離れる方向へ移動させて前記キサゲ加工を終了する、請求項2~4のいずれか1項に記載のロボットシステム。
【請求項6】
前記制御装置は、前記力制御によって前記押付力が前記目標値に到達した後に該押付力を該目標値に継続して維持するように、前記キサゲ加工を継続して実行する、請求項2~4のいずれか1項に記載のロボットシステム。
【請求項7】
前記制御装置は、前記キサゲ加工を実行しているときに、前記ロボットによって前記スクレーパを、前記表面に対して鋭角を形成するように傾斜した軌道で該表面から離反させて、前記キサゲ加工を終了する、請求項1~6のいずれか1項に記載のロボットシステム。
【請求項8】
前記スクレーパは、
前記ロボットの手先部に連結された可撓性の柄部と、
前記柄部の先端に固定され、前記表面を削る刃部と、を有し、
前記キサゲ加工の実行中に前記刃部が前記表面に押し付けられたときに前記柄部が撓むように、前記押付力の前記大きさが定められる、請求項1~7のいずれか1項に記載のロボットシステム。
【請求項9】
ワークの表面を削るスクレーパを移動させるロボットを用いて、該表面を平坦にするために削るキサゲ加工を行う方法であって、
前記ロボットによって前記スクレーパを、前記表面に沿う方向へ移動させるとともに該表面へ向かう方向へ移動させることによって、該スクレーパを該表面に対して鋭角を形成するように傾斜した軌道で当接させ、
前記スクレーパが前記表面に当接している間、前記ロボットが前記スクレーパを前記表面に押し付ける押付力が予め定めた大きさとなるように該ロボットの位置を制御するとともに、該ロボットによって該スクレーパを前記沿う方向へ移動させることで、前記キサゲ加工を実行する、方法。
【請求項10】
請求項9に記載の方法をプロセッサに実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、キサゲ加工を行うロボットシステム、方法、及びコンピュータプログラムに関する。
【背景技術】
【0002】
キサゲ加工を行うロボットが知られている(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2004-042164号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ロボットによって高品質のキサゲ加工を実行する技術が求められている。
【課題を解決するための手段】
【0005】
本開示の一態様において、ワークの表面を平坦にするために削るキサゲ加工を行うロボットシステムは、表面を削るスクレーパを移動させるロボットと、ロボットを制御する制御装置とを備え、該制御装置は、ロボットによってスクレーパを、表面に沿う方向へ移動させるとともに該表面へ向かう方向へ移動させることによって、該スクレーパを該表面に対して鋭角を形成するように傾斜した軌道で当接させ、スクレーパが表面に当接している間、ロボットがスクレーパを表面に押し付ける押付力が予め定めた大きさとなるように該ロボットの位置を制御するとともに、該ロボットによって該スクレーパを沿う方向へ移動させることで、キサゲ加工を実行する。
【0006】
本開示の他の態様において、ワークの表面を削るスクレーパを移動させるロボットを用いて、該表面を平坦にするために削るキサゲ加工を行う方法は、ロボットによってスクレーパを、表面に沿う方向へ移動させるとともに該表面へ向かう方向へ移動させることによって、該スクレーパを該表面に対して鋭角を形成するように傾斜した軌道で当接させ、スクレーパが表面に当接している間、ロボットがスクレーパを表面に押し付ける押付力が予め定めた大きさとなるように該ロボットの位置を制御するとともに、該ロボットによって該スクレーパを沿う方向へ移動させることで、キサゲ加工を実行する。
【発明の効果】
【0007】
本開示によれば、ロボットによって、熟練者と同等の品質でキサゲ加工を実行することができる。
【図面の簡単な説明】
【0008】
図1】一実施形態に係るロボットシステムの概略図である。
図2図1に示すロボットシステムのブロック図である。
図3図1に示すスクレーパを、図1中の矢印Bから見た拡大図である。
図4図3に示すスクレーパを、図3中の矢印Dから見た拡大図である。
図5図1に示すスクレーパをワークの表面に押し付けた状態を示す。
図6】ワークの表面に対して設定された教示点の一例を示す。
図7】位置制御指令としての速度指令と、力制御指令としての速度指令を説明するための図である。
図8】キサゲ加工中にスクレーパが実際に移動する軌道を示す。
図9】キサゲ加工中のスクレーパの柄部の状態を模式的に示す。
図10】キサゲ加工により形成された凹部を模式的に示す。
図11】キサゲ加工により形成された凹部を模式的に示す。
図12】熟練者がキサゲ加工を実行しているときにスクレーパをワークの表面に押し付ける押付力の時間変化特性を示す。
図13図1に示すロボットシステムがキサゲ加工を実行したときにロボットがスクレーパをワークの表面に押し付ける押付力の時間変化特性を示す。
図14図1に示すロボットシステムの動作フローの一例を示す。
図15図14中のステップS5のフローの一例を示す。
図16図1に示すロボットシステムがキサゲ加工を実行したときにロボットがスクレーパをワークの表面に押し付ける押付力の時間変化特性の他の例を示す。
図17】ワークの表面に対して設定された教示点の他の例を示す。
図18図14中のステップS5のフローの他の例を示す。
図19】キサゲ加工中にスクレーパが実際に移動する軌道を示す。
図20図1に示すロボットシステムがキサゲ加工を実行したときにロボットがスクレーパをワークの表面に押し付ける押付力の時間変化特性のさらに他の例を示す。
図21】厚みが比較的薄いワークに対してキサゲ加工を実行したときにスクレーパが実際に移動する軌道を示す。
図22図21に示すワークに対してキサゲ加工を実行したときにロボットがスクレーパをワークの表面に押し付ける押付力の時間変化特性を示す。
図23図21に示すワークに対してキサゲ加工を実行したときにロボットがスクレーパをワークの表面に押し付ける押付力の時間変化特性を示す。
図24】厚みが比較的薄いワークに対してキサゲ加工を実行したときにスクレーパが実際に移動する軌道を示す。
図25図24に示すワークに対してキサゲ加工を実行したときにロボットがスクレーパをワークの表面に押し付ける押付力の時間変化特性を示す。
図26】ワークの表面に対して設定された教示点のさらに他の例を示す。
【発明を実施するための形態】
【0009】
以下、本開示の実施の形態を図面に基づいて詳細に説明する。なお、以下に説明する種々の実施形態において、同様の要素には同じ符号を付し、重複する説明を省略する。また、以下の説明においては、図中のロボット座標系C1のx軸プラス方向を右方、y軸プラス方向を前方、z軸プラス方向を上方として言及することがある。
【0010】
まず、図1を参照して、一実施形態に係るロボットシステム10について説明する。ロボットシステム10は、ワークの表面を平坦にするために削るキサゲ加工を行うシステムである。キサゲ加工とは、ワークの表面に形成された微小凹凸の、該ワークの厚さ方向の寸法を予め定めた範囲内(例えば、μmオーダー)にするために、該表面を削る加工である。
【0011】
この微小凹凸は、潤滑油を溜めるためのいわゆる「油溜り」として機能する。ここで、キサゲ加工は、ワークの表面をフライス盤等で加工したときに形成される微小凹凸を第1の寸法(例えば、10μm)以下とするための粗加工と、該粗加工の後に該微小凹凸を、第1の寸法よりも小さい第2の寸法(例えば、5μm)以下にする仕上げ加工とを含む。
【0012】
ロボットシステム10は、ロボット12、力センサ14、スクレーパ16、及び制御装置18を備える。本実施形態においては、ロボット12は、垂直多関節ロボットであって、ロボットベース20、旋回胴22、下腕部24、上腕部26、及び手首部28を有する。ロボットベース20は、作業セルの床の上に固定されている。旋回胴22は、鉛直軸周りに旋回可能となるように、ロボットベース20に設けられている。
【0013】
下腕部24は、旋回胴22に水平軸周りに回動可能に設けられ、上腕部26は、下腕部24の先端部に回動可能に設けられている。手首部28は、上腕部26の先端部に回動可能に設けられた手首ベース28aと、手首軸A1周りに回動可能となるように該手首ベース28aに設けられた手首フランジ28bとを有する。本実施形態においては、手首フランジ28bは、ロボット12の手先部を構成する。
【0014】
ロボット12の各構成要素(ロボットベース20、旋回胴22、下腕部24、上腕部26、手首部28)には、サーボモータ34(図2)が設けられている。これらサーボモータ34は、制御装置18からの指令に応じて、ロボット12の各可動要素(旋回胴22、下腕部24、上腕部26、手首部28、手先部28b)を駆動軸周りに回動させる。その結果、ロボット12は、スクレーパ16を移動させて任意の位置及び姿勢に配置することができる。
【0015】
力センサ14は、ロボット12がスクレーパ16をワークの表面に押し付ける押付力Fを検出する。例えば、力センサ14は、円筒状の本体部と、該本体部に設けられた複数の歪ゲージとを有する6軸力覚センサであって、手先部28bとスクレーパ16との間に介挿されている。本実施形態においては、力センサ14は、その中心軸が手首軸A1と一致するように配置されている。
【0016】
スクレーパ16は、力センサ14の先端部に固定され、キサゲ加工のためにワークの表面を削る。具体的には、スクレーパ16は、可撓性の柄部30と、該柄部30の先端部に固定された刃部32とを有する。柄部30は、その基端部が力センサ14の先端部に固定され、該力センサ14を介して、ロボット12の手先部28bに連結されている。柄部30は、力センサ14の先端部から軸線A2に沿って直線状に延びている。刃部32は、その基端32bから先端32aまで軸線A2に沿って延在している。なお、軸線A2は、手首軸A1と略直交してもよい。
【0017】
図3に示すように、刃部32の先端32aは、上側(図1中の矢印Bの方向)から見た場合に、その幅方向両端から中央に向かうにつれて外方へ膨出するように湾曲している。また、図4に示すように、刃部32の先端32aは、前側(図3中の矢印Dの方向)から見た場合に、略矩形の外形を有している。スクレーパ16は、その刃部32の先端32aを、ワークの表面に押し当てて、該先端32aで該表面を削る。
【0018】
制御装置18は、ロボット12の動作を制御する。具体的には、制御装置18は、プロセッサ40、メモリ42、I/Oインターフェース44、入力装置46、及び表示装置48を有するコンピュータである。プロセッサ40は、メモリ42、I/Oインターフェース44、入力装置46、及び表示装置48と、バス50を介して通信可能に接続されており、これらコンポーネントと通信しつつ、キサゲ加工を実行するための演算処理を行う。
【0019】
メモリ42は、RAM又はROM等を有し、各種データを一時的又は恒久的に記憶する。I/Oインターフェース44は、例えば、イーサネット(登録商標)ポート、USBポート、光ファイバコネクタ、又はHDMI(登録商標)端子を有し、プロセッサ40からの指令の下、外部機器との間でデータを有線又は無線で通信する。本実施形態においては、ロボット12の各サーボモータ34及び力センサ14は、I/Oインターフェース44に通信可能に接続されている。
【0020】
入力装置46は、キーボード、マウス、又はタッチパネル等を有し、オペレータからデータ入力を受け付ける。表示装置48は、液晶ディスプレイ又は有機ELディスプレイ等を有し、プロセッサ40からの指令の下、各種データを視認可能に表示する。なお、入力装置46又は表示装置48は、制御装置18の筐体に一体に組み込まれてもよいし、又は、制御装置18の筐体とは別体として該筐体に外付けされてもよい。
【0021】
図1に示すように、ロボット12には、ロボット座標系C1が設定されている。ロボット座標系C1は、ロボット12の各可動要素の動作を制御するための座標系であって、ロボットベース20に対して固定されている。本実施形態においては、ロボット座標系C1は、その原点が、ロボットベース20の中心に配置され、そのz軸が、旋回胴22の旋回軸に一致するように、ロボット12に対して設定されている。
【0022】
一方、スクレーパ16には、ツール座標系C2が設定されている。ツール座標系C2は、ロボット座標系C1におけるスクレーパ16(又は、手先部28b)の位置及び姿勢を規定する座標系である。本実施形態においては、ツール座標系C2は、その原点(いわゆる、TCP)が、柄部30が撓んでいない状態における刃部32の先端32aの中心に配置され、そのz軸が、軸線A2(又は、先端32aの中心における、該先端32aの曲面の法線方向)と平行となるように、スクレーパ16に対して設定されている。
【0023】
スクレーパ16を移動させるとき、制御装置18のプロセッサ40は、ロボット座標系C1においてツール座標系C2を設定し、設定したツール座標系C2によって表される位置及び姿勢にスクレーパ16を配置させるように、ロボット12の各サーボモータ34への指令を生成する。こうして、プロセッサ40は、ロボット座標系C1における任意の位置及び姿勢にスクレーパ16を位置決めできる。
【0024】
一方、力センサ14には、センサ座標系C3が設定されている。センサ座標系C3は、力センサ14に作用する力の方向を定義する座標系である。本実施形態においては、センサ座標系C3は、その原点が力センサ14の中心に配置され、そのz軸が手首軸A1に一致する(又は、そのx軸がツール座標系C2のz軸と平行となる)ように、力センサ14に対して設定されている。
【0025】
図5に、ロボット12がスクレーパ16の刃部32の先端32aをワークW1の表面Q1に当接させた状態を示す。ロボット12がスクレーパ16の先端32aを表面Q1に対し、該表面Q1と直交する方向へ押付力Fで押し付けた場合、該押付力Fの反力F’が、該表面Q1からスクレーパ16を介して力センサ14に加えられる。
【0026】
力センサ14の歪ゲージの各々は、このときに力センサ14に作用する力に応じた検出データを制御装置18に送信する。プロセッサ40は、I/Oインターフェース44を通して力センサ14から受信した検出データに基づいて、このときに力センサ14に作用する、センサ座標系C3のx軸、y軸及びz軸の方向の力fと、x軸周り、y軸周り及びz軸周りの方向のトルクτとを求める。プロセッサ40は、力f及びトルクτと、このときのスクレーパ16の状態データCDとに基づいて、刃部32の先端32aに対し、表面Q1と直交する方向に作用する反力F’の大きさを演算する。
【0027】
状態データCDは、例えば、軸線A2と表面Q1との角度θ1、手首軸A1(又は、センサ座標系C3の原点)から刃部32の先端32aまでの距離d、ロボット座標系C1におけるツール座標系C2(又はセンサ座標系C3)の位置及び姿勢を示すデータ、並びに、柄部30の撓みデータ(例えば、柄部30の撓み量又は弾性率)の少なくとも1つを含む。このように、力センサ14は、反力F’を押付力Fとして検出し、制御装置18は、力センサ14の検出データに基づいて押付力F(反力F’)の大きさを求めることができる。
【0028】
次に、図6図8を参照して、ロボットシステム10が実行するキサゲ加工について説明する。図6に示すように、キサゲ加工を実行するためにスクレーパ16の先端32a(つまり、TCP)を位置決めすべき複数の教示点TP、TP、TP、及びTPが、ワークW1の表面Q1に沿って予め設定される。
【0029】
本実施形態においては、教示点TPは、教示点TPよりも右下方に離隔した位置に設定され、教示点TPは、教示点TPの右方に離隔した位置に設定されている。教示点TP及びTPのロボット座標系C1のz軸方向の位置は、互いに略同じである。また、教示点TPは、教示点TPよりも右上方に離隔した位置に設定されている。これら教示点TP(n=1,2,3,4)は、ロボット座標系C1の座標として表され、ロボット12を動作させるためのコンピュータプログラムCPに規定されている。
【0030】
キサゲ加工を行うとき、プロセッサ40は、位置制御を開始する。具体的には、プロセッサ40は、位置制御の開始後、ロボット12によってスクレーパ16を複数の教示点TPへ順に移動させるための位置制御指令PCを生成する。具体的には、プロセッサ40は、スクレーパ16の先端32aを教示点TPから教示点TPn+1へ移動させるための位置制御指令PCを生成する。
【0031】
プロセッサ40は、この位置制御指令PCに従ってロボット12の各サーボモータ34を動作させることによって、スクレーパ16を、教示点TP→TP→TP→TPの順に位置決めする。この位置制御により、プロセッサ40は、スクレーパ16(具体的には、先端32a)を、複数の教示点TPによって規定される移動経路MPに沿って移動させる。
【0032】
なお、本実施形態においては、理解の容易のために、ワークW1の表面Q1は、ロボット座標系C1のx-y平面と略平行であり、移動経路MPの方向MDは、ロボット座標系C1のx-z平面と略平行であるとする。位置制御指令PCは、スクレーパ16(つまり、ロボット12の手先部28b)を、教示点TPから教示点TPn+1まで移動させるときの速度VP_nを規定する速度指令PCV_n(第1速度指令)を有する。
【0033】
位置制御の開始後、スクレーパ16が図6中の教示点TPに到達したとき、プロセッサ40は、力制御を開始する。なお、本実施形態においては、教示点TPは、スクレーパ16の先端32aが該教示点TPに配置されたときに該先端32aが表面Q1から上方へ離隔するように、設定されている。力制御の開始後、プロセッサ40は、力センサ14の検出データに基づいて、ロボット12がスクレーパ16をワークW1の表面Q1に押し付ける押付力Fを目標値Fに制御するように、ロボット12の手先部28b(又は、TCP)の位置を制御する。
【0034】
具体的には、プロセッサ40は、力制御において、力センサ14の検出データに基づいて取得した押付力F(具体的には、反力F’)を目標値Fに制御すべく、ロボット12の手先部28b(TCP)の位置を制御するための力制御指令FCを生成する。そして、プロセッサ40は、該力制御指令FCを位置制御指令PCに加えて、ロボット12のサーボモータ34を動作させる。
【0035】
これにより、プロセッサ40は、位置制御指令PCに従ってスクレーパ16(又は、手先部28b)を方向MDに移動させるとともに、力制御指令FCに従ってスクレーパ16をワークW1の表面Q1に対して接近又は離反する方向(すなわち、ロボット座標系C1のz軸方向)へ移動させる。力制御指令FCは、スクレーパ16をロボット座標系C1のz軸方向へ移動させる速度を規定する速度指令FC(第2速度指令)を有する。
【0036】
スクレーパ16が教示点TPに到達したとき、プロセッサ40は、スクレーパ16を教示点TPから教示点TPへ移動させるための位置制御指令PCとして速度指令PCV_2を生成するともに、力制御指令FCとして速度指令FCV_0を生成する。図7に、スクレーパ16が教示点TPに到達したときにプロセッサ40が生成する速度指令PCV_2及び速度指令FCV_0を模式的に示す。
【0037】
スクレーパ16が教示点TPに到達した後、プロセッサ40は、速度指令PCV_2に従ってロボット12を動作させて、スクレーパ16を教示点TPから教示点TPへ、速度指令PCV_2に対応する(具体的には、一致する)速度VP_2で、方向MDへ移動させる。
【0038】
これとともに、プロセッサ40は、速度指令FCV_0を生成し、サーボモータ34への速度指令PCV_2に加えることで、スクレーパ16を表面Q1へ向かう方向(すなわち、下方)へ、該速度指令FCV_0に対応する速度VF_0で移動させる。その結果、ロボット12は、スクレーパ16を、教示点TPを通過した後、図7中の方向MD’へ移動させることになる。
【0039】
図8に、キサゲ加工においてスクレーパ16(具体的には、先端32a)が実際に辿る軌道TRを実線で示す。スクレーパ16は、教示点TPを通過した後、表面Q1に対して鋭角θ2を形成するように傾斜した軌道TRで表面Q1へ向かって移動し、位置P1で該表面Q1に当接する。スクレーパ16が表面Q1に当接している間、プロセッサ40は、位置制御指令PCに従ってスクレーパ16を、表面Q1に沿う方向MD(すなわち、右方)へ移動させるとともに、力制御によって押付力Fを目標値Fに制御するための力制御指令FCとして速度指令FCV_1を生成する。
【0040】
この速度指令FCV_1により、ロボット12の手先部28bの位置を、ロボット座標系C1のz軸方向に、速度指令FCV_1に対応する速度VF_1で、変位させる。ここで、スクレーパ16が表面Q1に当接している間に生成する速度指令FCV_1(すなわち、速度VF_1)の最大値は、スクレーパ16が表面Q1に当接する前に生成する速度指令FCV_0(すなわち、速度VF_0)よりも、大きく設定され得る。
【0041】
こうして、スクレーパ16が、目標値Fに対応する大きさの押付力Fで押し付けられながら表面Q1に沿って右方へ移動され、これにより、スクレーパ16の先端32aで表面Q1を削るキサゲ加工が実行される。キサゲ加工中のスクレーパ16の状態を図9に示す。図9に示すように、キサゲ加工中、ロボット12は、スクレーパ16の先端32aを押付力Fで表面Q1に押し付け、これにより、スクレーパ16の柄部30は、下方へ膨出するように湾曲して撓む。換言すれば、力制御の目標値Fは、キサゲ加工中に柄部30を撓ませることができる値として、設定される。
【0042】
再度、図8を参照して、スクレーパ16(又は手先部28b)が教示点TPに対応する位置に到達すると、プロセッサ40は、スクレーパ16を教示点TPへ移動させるための位置制御指令PCを生成する。プロセッサ40は、位置制御指令PCに従ってロボット12を動作させることで、手先部28bを右上方へ移動させる。その結果、スクレーパ16は、ワークW1の表面Q1に対して鋭角θ3を形成するように傾斜した軌道TRで右上方へ移動し、該スクレーパ16の先端32aが、位置P2で表面Q1から離反する。こうして、キサゲ加工が終了する。
【0043】
このように実行されたキサゲ加工によって、図10及び図11に示すように、表面Q1に、湾曲状に凹む凹部Rが、位置P1から位置P2まで右方へ延在するように、形成される。図10及び図11に示す例では、凹部Rは、ロボット座標系C1のx軸方向の長さxとz軸方向の深さEとを有する。なお、図10及び図11では、理解の容易のために、凹部Rの深さEを拡大して図示しているが、実際の凹部Rの深さEは、約10μm以下であることを理解されたい。
【0044】
本実施形態においては、プロセッサ40は、上述の鋭角θ2が予め定めた範囲内となるように、速度指令PCV_2及びFCV_0を生成する。ここで、本発明者は、キサゲ加工の熟練者がスクレーパ16の刃部32をワークW1の表面Q1に対して15°~35°の角度の軌道で移動させて該表面Q1に当接させているという知見を得た。
【0045】
また、本発明者は、熟練者がキサゲ加工を連続して実行しているときにスクレーパ16の刃部32をワークW1の表面Q1に押し付ける押付力Fの時間変化特性のデータを取得した。この時間変化特性を図12に示す。図12に示す時間変化特性から、本発明者は、1回の(つまり、1個の凹部Rを形成する)キサゲ加工において熟練者が刃部32を表面Q1に対して押し付ける押付力Fの大きさ(時間変化特性のピーク値)を取得するとともに、熟練者がキサゲ加工中に刃部32を移動させている速度が約100[mm/sec]であることを突き止めた。
【0046】
ここで、図8中の教示点TPと位置P1との間の、ロボット座標系C1のx軸及びz軸方向の距離を、それぞれ、距離x及びzとすると、該距離x及びz、速度指令PCV_2(速度VP_2)、及び速度指令FCV_0(速度VF_0)は、以下の式(1)を満たす。
/x=FCV_0/PCV_2=VF_0/VP_2 …(1)
【0047】
また、鋭角θ2、距離x及びz、速度指令PCV_2(速度VP_2)、及び速度指令FCV_0(速度VF_0)は、以下の式(2)を満たす。
θ2=tan-1(z/x)=tan-1(FCV_0/PCV_2)=tan-1(VF_0/VP_2) …(2)
【0048】
よって、仮に、キサゲ加工の加工条件MCとして、x=10[mm]、z=5[mm]に設定すると、式(2)より、鋭角θ2≒26.6°として決定できる。この場合において、加工条件MCとして、速度VP_2(すなわち、速度指令PCV_2)を、上述の熟練者によるスクレーパ16の移動速度と同様に100[mm/sec]に設定した場合、式(1)より、速度VF_0(すなわち、速度指令FCV_0)を、50[mm/sec]として決定できる。
【0049】
代替的には、加工条件MCとして、θ2=25°、速度指令PCV_2(速度VP_2)=100[mm/sec]に設定した場合、式(2)より、FCV_0(速度VF_0)≒46.6[mm/sec]として決定できる。この場合において、z=10[mm]に設定すると、式(1)より、x≒21.4[mm]として決定できる。
【0050】
また、加工条件MCとして、目標値Fは、ワークW1の材質と凹部Rの目標深さEに応じた値(例えば100[N])に設定される。このように、加工条件MCは、距離x、距離z、鋭角θ2、速度VF_0(速度指令FCV_0)、及び、速度VP_2(速度指令PCV_2)を含む。
【0051】
本発明者は、熟練者によるキサゲ加工を観察し、鋭意検討の結果、加工条件MCを適切に設定すれば、上述の鋭角θ2を、例えば15°~35°の範囲内となるように制御することができるとともに、図12と同様の時間変化特性となるように押付力Fを制御でき、以って、ロボット12によって熟練者と同等の品質でキサゲ加工を実行できることを見出した。
【0052】
図13に、プロセッサ40が所定の加工条件MCに従ってロボット12を動作させてキサゲ加工を連続して実行した(つまり、複数の凹部Rを形成した)ときにスクレーパ16の刃部32をワークW1の表面Q1に押し付ける押付力Fの時間変化特性を示す。図13に示すように、適切に設定した加工条件MCに従ってロボット12にキサゲ加工を実行させることで、1回のキサゲ加工における押付力Fを、図12と類似する時間変化特性の大きさとなるように、制御することができる。
【0053】
以下、図8及び図13を参照して、ロボット12によるキサゲ加工中の押付力Fの時間変化について、詳細に説明する。スクレーパ16の先端32aが位置P1でワークW1の表面Q1に当接した後、プロセッサ40は、力制御指令FC(速度指令FCV_1)を生成することで、ロボット12の手先部28bの位置を速度VF_1で下方へ変位させ、これにより、押付力Fは急激に増大する。
【0054】
一方、プロセッサ40は、上述したようにスクレーパ16を教示点TPから教示点TPへ移動させるための位置制御指令PC(速度指令PCV_2)を生成しているが、教示点TPに近づくにつれて位置制御指令PCが力制御指令FCよりも優勢となり、プロセッサ40は、スクレーパ16(手先部28b)を、教示点TPに対応する位置に到達させる前に、ワークW1の表面Q1から離れる方向(すなわち、上方)へ移動させることになる。その結果、押付力Fの大きさは、図13に示すピーク値Fとなった後に急激に減少する。
【0055】
ここで、本実施形態においては、キサゲ加工によって形成する凹部Rの長さxを比較的短くすべく、教示点TPと教示点TPとの間のロボット座標系C1のx軸方向の距離xが、比較的短く設定されている。この場合、プロセッサ40は、押付力Fが力制御の目標値Fに到達する前に、スクレーパ16を上方へ移動させることになる。したがって、本実施形態においては、ピーク値Fは、目標値Fよりも小さくなる。
【0056】
その後、プロセッサ40は、位置制御指令PC及びPCに従ってロボット12を動作させることで、スクレーパ16を、鋭角θ3を形成するように傾斜した軌道TRに沿って右上方へ移動させ、スクレーパ16が位置P2で表面Q1から離反した時点で、押付力Fがゼロになる。このようにして、プロセッサ40は、キサゲ加工における押付力Fを、図13に示す特性として予め定めた大きさとなるように、制御している。
【0057】
なお、押付力Fの「予め定めた大きさ」とは、ピーク値Fのみならず、図13に示す時間変化特性も含む。また、上述したように、本実施形態においては、押付力Fのピーク値Fは、力制御の目標値Fよりも小さくなっている。このピーク値Fは、目標値Fに対応し、該目標値Fに依存して変化する。換言すれば、ピーク値Fは、目標値Fによって制御可能である。
【0058】
次に、図14を参照して、ロボットシステム10の動作フローの一例について説明する。プロセッサ40は、メモリ42に予め格納されたコンピュータプログラムCPに従って、図14に示すフローを実行する。図14に示すフローは、例えば、制御装置18が起動されたときに、開始される。
【0059】
ステップS1において、プロセッサ40は、加工条件MCの入力を受け付けたか否かを判定する。例えば、プロセッサ40は、加工条件MCとして、上述の距離x、距離z、鋭角θ2、速度VF_0(速度指令FCV_0)、速度VP_2(速度指令PCV_2)、及び目標値Fを入力するための入力画面の画像データを生成し、制御装置18の表示装置48に表示させる。
【0060】
オペレータは、表示装置48に表示された入力画面を視認しつつ、制御装置18の入力装置46を操作して、加工条件MCとして、距離x、距離z、鋭角θ2、速度VF_0(速度指令FCV_0)、及び速度VP_2(速度指令PCV_2)のうちの少なくとも3つのデータを入力するとともに、目標値Fを入力する。プロセッサ40は、入力装置46から加工条件MCの入力データを受け付けた場合にYESと判定し、ステップS2へ進む一方、加工条件MCの入力データを受け付けていない場合はNOと判定し、ステップS3へ進む。
【0061】
ステップS2において、プロセッサ40は、加工条件MCを決定する。例えば、オペレータが、ステップS1において、加工条件MCとしてx=10[mm]、z=5[mm]、VP_2(PCV_2)=100[mm/sec]と入力したとする。この場合、プロセッサ40は、加工条件MCの入力データと、上述の式(1)及び(2)とから、加工条件MCとして、θ2=26.6°、及び、VF_0(FCV_0)=50[mm/sec]として自動で決定する。
【0062】
このように、本実施形態においては、プロセッサ40は、オペレータから入力を受け付けた加工条件MCのうちの一部のパラメータに応じて、加工条件MCのうちの他のパラメータを自動で決定する。そして、プロセッサ40は、これらx=10[mm]、z=5[mm]、VP_2(PCV_2)=100[mm/sec]、θ2=26.6°、及びVF_0(FCV_0)=50[mm/sec]、及び目標値Fを、加工条件MCとして設定する。
【0063】
ステップS3において、プロセッサ40は、オペレータ、上位コントローラ、又はコンピュータCPから、キサゲ加工開始指令を受け付けたか否かを判定する。プロセッサ40は、キサゲ加工開始指令を受け付けた場合にYESと判定し、ステップS4へ進む一方、キサゲ加工開始指令を受け付けていない場合にNOと判定し、ステップS6へ進む。
【0064】
ステップS4において、プロセッサ40は、全ての加工条件MCが設定済みであるか否かを判定する。具体的には、プロセッサ40は、加工条件MCとして距離x、距離z、鋭角θ2、速度VF_0(速度指令FCV_0)、及び速度VP_2(速度指令PCV_2)の全てが設定済みである場合はYESと判定し、ステップS5へ進む。一方、プロセッサ40は、加工条件MCとして距離x、距離z、鋭角θ2、速度VF_0(速度指令FCV_0)、及び速度VP_2(速度指令PCV_2)の少なくとも1つが未設定である場合はNOと判定し、ステップS7へ進む。
【0065】
ステップS5において、プロセッサ40は、キサゲ加工を実行する。このステップS5について、図15を参照して説明する。ステップS11において、プロセッサ40は、位置制御を開始する。具体的には、プロセッサ40は、上述の位置制御指令PCを生成する動作を開始し、ロボット12によってスクレーパ16の先端32aを、教示点TP→TP→TP→TPの順に移動させる動作を開始する。
【0066】
ステップS12において、プロセッサ40は、スクレーパ16が教示点TPに到達したか否かを判定する。例えば、ロボット12のサーボモータ34には、該サーボモータ34の回転(具体的には、回転角度又は回転位置)を検出する回転検出器(エンコーダ、又はホール素子等)が設けられる。
【0067】
プロセッサ40は、回転検出器からのフィードバックに基づいて、ロボット座標系C1におけるスクレーパ16(具体的には、TCP)の位置データを取得し、該位置データから、該スクレーパ16が教示点TPに到達したか否かを判定できる。プロセッサ40は、スクレーパ16が教示点TPに到達した(すなわち、YES)と判定した場合は、ステップS13へ進む一方、スクレーパ16が教示点TPに到達していない(すなわち、NO)と判定した場合は、ステップS12をループする。
【0068】
ステップS13において、プロセッサ40は、力制御を開始する。具体的には、プロセッサ40は、上述の力制御指令FCを生成する動作を開始し、位置制御指令PCに力制御指令FCを加えてロボット12を動作させる。ここで、上述のステップS2において、加工条件MCとして、速度指令PCV_2=100[mm/sec]、及び、速度指令FCV_0=50[mm/sec]に設定されている。
【0069】
したがって、プロセッサ40は、位置制御指令PCとして速度指令PCV_2=100[mm/sec]を生成するともに、力制御指令FCとして速度指令FCV_0=50[mm/sec]を生成する。該速度指令PCV_2及びFCV_0でロボット12を動作させることで、プロセッサ40は、スクレーパ16を、速度VP_2=100[mm/sec]で方向MDへ移動させるとともに、速度VF_0=50[mm/sec]で下方へ移動させる。その結果、スクレーパ16は、鋭角θ2≒26.6°で傾斜する軌道TR(図8)に沿ってワークW1の表面Q1へ向かって移動する。こうして、鋭角θ2を所定の範囲内(例えば15°~35°)に制御できる。
【0070】
ステップS14において、プロセッサ40は、力センサ14の検出データに基づいて取得した押付力Fが、予め定めた閾値Fth以上(F≧Fth)となったか否かを判定する。この閾値Fthは、スクレーパ16の先端32aがワークW1の表面Q1に当接したことを示す値として、オペレータによって予め定められる。プロセッサ40は、F≧Fthとなった場合にYESと判定し、ステップS15へ進む一方、F<Fthである場合はNOと判定し、ステップS14をループする。
【0071】
ステップS15において、プロセッサ40は、力制御指令FCを切り換える。具体的には、プロセッサ40は、生成する力制御指令FCを、速度指令FCV_0から速度指令FCV_1に切り換える。速度指令FCV_1への切り換え後、プロセッサ40は、該速度指令FCV_1を生成し、押付力Fを目標値Fに制御すべく、ロボット12の手先部28bの位置を、ロボット座標系C1のz軸方向に、該速度指令FCV_1に対応する速度VF_1で変位させる。上述したように、速度VF_1(速度指令FCV_1)の最大値は、速度VF_0(速度指令FCV_0)よりも大きくなり得る。
【0072】
ステップS16において、プロセッサ40は、スクレーパ16(又は、手先部28b)が教示点TPに対応する位置に到達したか否かを判定する。ここで、ステップS13の開始後は、プロセッサ40が位置制御と力制御を並行して実行するので、スクレーパ16の先端32aは、図8に示す軌道TRに沿って移動することで、教示点TP及びTPの下方を通過することになる。
【0073】
プロセッサ40は、このステップS16において、上述の回転検出器からのフィードバックに基づいて、先端32a(又は、手先部28b)のロボット座標系C1のx座標が教示点TPのx座標と一致したか否かを判定する。プロセッサ40は、YESと判定した場合は、ステップS17へ進む一方、NOと判定した場合は、ステップS16をループする。
【0074】
ステップS16でYESと判定する前に、スクレーパ16の先端32aは、上述したように、位置P2でワークW1の表面Q1から離反する。そして、ステップS17において、プロセッサ40は、力制御と位置制御を終了する。こうして、1回のキサゲ加工が終了し、図10及び図11に示すような凹部RがワークW1の表面Q1に形成される。
【0075】
再度、図14を参照して、プロセッサ40は、ステップS6において、オペレータ、上位コントローラ、又はコンピュータプログラムCPから動作終了指令を受け付けたか否かを判定する。プロセッサ40は、動作終了指令を受け付けた場合にYESと判定し、図14に示すフローを終了する一方、動作終了指令を受け付けていない場合はNOと判定し、ステップS1へ戻る。
【0076】
一方、ステップS4でNOと判定した場合、ステップS7において、プロセッサ40は、警告信号を発信する。例えば、プロセッサ40は、「加工条件を設定してください」という音声又は画像の警告信号を生成し、制御装置18に設けられたスピーカ(図示せず)又は表示装置48を通して、オペレータに出力する。そして、プロセッサ40は、ステップS1へ戻る。
【0077】
以上のように、本実施形態においては、プロセッサ40は、ロボット12によってスクレーパ16を、鋭角θ2で傾斜した軌道TRでワークW1の表面Q1に当接させている。そして、プロセッサ40は、スクレーパ16が表面Q1に当接している間、押付力Fを予め定めた大きさ(図13)に制御するとともに、スクレーパ16を表面Wに沿って右方へ移動させることで、キサゲ加工を実行している。この構成によれば、ロボット12によって、熟練者と同等の品質でキサゲ加工を実行することができる。
【0078】
また、本実施形態においては、プロセッサ40は、スクレーパ16がワークW1の表面Q1に当接している間、力センサ14の検出データに基づいて力制御を実行することによって、ロボット12の手先部28bの位置を、ロボット座標系C1のz軸方向へ制御している。この構成によれば、キサゲ加工中に、押付力Fを、図13に示す特性として予め定めた大きさとなるように、高精度に制御することが可能となる。
【0079】
これにより、ロボット12がキサゲ加工を実行しているときの押付力Fの時間変化特性を、熟練者による押付力Fの時間変化特性(図12)に近づけることができるので、ロボット12が実行するキサゲ加工の品質を、熟練者の品質に、より効果的に近づけることが可能となる。
【0080】
また、本実施形態においては、プロセッサ40は、位置制御指令PC(具体的には、速度指令PCV_2)に従ってスクレーパ16を教示点TPから教示点TPへ移動させるとともに、力制御指令FC(具体的には、速度指令FCV_0)に従ってスクレーパ16を下方へ移動させることによって、該スクレーパ16を、鋭角θ2だけ傾斜した軌道TRでワークW1の表面Q1に当接させている。
【0081】
そして、プロセッサ40は、鋭角θ2が予め定めた範囲内(例えば、15°~35°)となるように、速度指令PCV_2及びFCV_0を生成している。この構成によれば、位置制御指令PC(速度指令PCV_2)及び力制御指令FC(速度指令FCV_0)によって、軌道TRの鋭角θ2を、所望の範囲内となるように高精度に制御できる。これにより、ロボット12が実行するキサゲ加工の品質を、熟練者の品質に、さらに効果的に近づけることが可能となる。
【0082】
また、本実施形態においては、プロセッサ40は、力制御の実行中に押付力Fが目標値Fに到達する前に、スクレーパ16をワークW1の表面Q1から離れる方向(すなわち、上方)へ移動させて、キサゲ加工を終了している。この構成によれば、1回のキサゲ加工における押付力Fの時間変化特性(図13)を、熟練者による押付力Fの時間変化特性(図12)に効果的に近づけることができる。また、凹部Rを、図9に示すように、その中央部分が凹む湾曲状に形成できる。これにより、キサゲ加工の品質を向上させることができる。
【0083】
また、本実施形態においては、プロセッサ40、キサゲ加工を実行しているときに、スクレーパ16を、ワークW1の表面Q1に対して鋭角θ3を形成するように傾斜した軌道TRで該表面Q1から離反させて、キサゲ加工を終了している。この構成によれば、凹部Rを湾曲状に形成することができるので、キサゲ加工の品質を向上させることができる。
【0084】
なお、この鋭角θ3は、教示点TP及びTPの位置、又は、教示点TPから教示点TPまでの移動経路MPと、教示点TPから教示点TPまでの移動経路MPとの角度を調整することによって、制御可能である。一例として、この鋭角θ3は、14°~20°の角度となるように制御される。
【0085】
また、本実施形態においては、図9に示すように、キサゲ加工の実行中に刃部32がワークW1の表面Q1に押し付けられたときに柄部30が撓むように、力制御の目標値F(すなわち、押付力Fの大きさ)が定められている。この構成によれば、柄部30の撓みによってキサゲ加工中に生じた刃部32の微小振動が吸収されるとともに、刃部32から表面Q1へ押付力Fを均等に作用させることができる。その結果、形成する凹部Rの表面が波状となってしまうのを防止できるので、キサゲ加工の品質を向上させることができる。
【0086】
なお、プロセッサ40は、キサゲ加工中に、スクレーパ16の軸線A2が、図7中の方向MD’(つまり、教示点TPから位置P1までの軌道TR)と平行(すなわち、θ1=θ2)となるように、手首部の姿勢を制御してもよい。又は、プロセッサ40は、θ1<θ2(又は、θ1>θ2)を満たす(つまり、軸線A2と方向MD’とが非平行となる)ように、手首部の姿勢を制御してもよい。
【0087】
上述の実施形態においては、プロセッサ40が、力制御の実行中に押付力Fが目標値Fに到達する前にスクレーパ16を上方へ移動させる場合について述べた。しかしながら、これに限らず、プロセッサ40は、力制御の実行中に押付力Fが目標値Fに到達した時点でスクレーパ16を上方へ移動させてもよい。この場合、押付力Fの時間変化特性は、図13と同様となる一方、ピーク値Fは、目標値Fと同じとなる。
【0088】
一例として、教示点TPと教示点TPとの間の距離xを、上述の実施形態よりも長くすることによって、ピーク値Fが目標値Fと同じとなるように押付力Fを制御することができる。代替的には、プロセッサ40は、刃部32がワークW1の表面Q1と当接した(上述のステップS14でYESと判定)後の力制御で生成する速度指令FCV_1を増大させることによって、ピーク値Fが目標値Fと同じとなるように押付力Fを制御することもできる。
【0089】
また、プロセッサ40は、力制御によって押付力Fが目標値Fに到達した後に該押付力Fを該目標値Fに継続して維持するように、キサゲ加工を継続して実行してもよい。例えば、教示点TPと教示点TPとの間の距離xを長く設定し、プロセッサ40が図14及び図15のフローを実行した場合、押付力Fを該目標値Fに継続して維持するようにキサゲ加工を継続させることになる。
【0090】
このようなキサゲ加工における押圧力Fの時間変化特性を図16に示す。スクレーパ16が教示点TPを通過した後に位置P1でワークW1の表面Q1に当接した後、押付力Fが急激に上昇し、目標値Fに略一致する。その後、プロセッサ40は、位置制御指令PCに従ってスクレーパ16を教示点TPへ向かって右方へ移動させる間、押付力Fを該目標値Fに継続して維持させるように力制御指令FC(具体的には、速度指令FCV_1)を生成し、ロボット12の手先部28bの位置を制御する。
【0091】
次いで、プロセッサ40は、上述の実施形態と同様に、スクレーパ16を教示点TPに対応する位置(具体的には、教示点TPの下方位置)に到達させる前に、スクレーパ16を上方へ移動させる。その結果、押付力Fが急激に減少し、スクレーパ16の刃部32が位置P2でワークW1の表面Q1から離反したときに、押付力Fはゼロとなる。
【0092】
こうして、プロセッサ40は、キサゲ加工における押付力Fを、図16に示す特性として予め定めた大きさとなるように、制御している。本実施形態によれば、ロボット12によって、比較的長い長さxを有する凹部Rを、熟練者と同等の品質で形成することができる。
【0093】
なお、教示点TPは、図6に示す形態に限らず、如何なる数の教示点がワークWに対して設定されてもよい。図17に、教示点TPの他の形態を示す。図17に示す形態においては、ワークW1の表面Q1に沿って、教示点TP、TP、TP、TP、及びTPが設定されている。ここで、教示点TPは、教示点TPの右方に配置され、教示点TP、TP及びTPの、ロボット座標系C1のz軸方向の位置は、互いに略同じである。そして、教示点TPは、教示点TPの右上方に配置されている。
【0094】
次に、図14図18、及び図19を参照して、図17に示すように教示点TPが設定された場合のロボットシステム10の動作フローについて説明する。本実施形態においても、プロセッサ40は、図14に示すフローを実行するが、本実施形態に係るフローは、上述の実施形態と、ステップS5において相違する。以下、図18を参照して、本実施形態に係るステップS5について説明する。
【0095】
ステップS5の開始後、プロセッサ40は、上述の実施形態と同様に、ステップS11~S16を実行する。これにより、スクレーパ16は、図19に示すように、教示点TPから教示点TPへ移動した後、鋭角θ2で傾斜する軌道TRでワークW1の表面Q1へ向かって移動し、位置P1で表面Q1に当接する。
【0096】
スクレーパ16が表面Q1に当接している間、プロセッサ40は、位置制御指令PC及びPCに従ってスクレーパ16を方向MD(右方)へ移動させるとともに、力制御によって押付力Fを目標値Fに制御するための速度指令FCV_1を生成する。図20に、本実施形態においてプロセッサ40が力制御を実行したときの押付力Fの時間変化特性を示す。力制御によってスクレーパ16が位置P1で表面Q1に当接した時点tから、押付力Fは、急激に増大する。
【0097】
ここで、本実施形態においては、プロセッサ40は、スクレーパ16が教示点TPに対応する位置に到達した時点tで押付力Fがピーク値Fに達し、その後、スクレーパ16(具体的には、先端32a)が教示点TPに対応する位置(具体的には、教示点TPの下方位置)に到達した時点t(すなわち、ステップS16でYESと判定した時点)で押付力Fがゼロとなるように、力制御指令FC(具体的には、速度指令FCV_1)を生成してロボット12の手先部28bの位置を制御する。また、プロセッサ40は、スクレーパ16が時点tでワークW1の表面Q1に当接した状態となるように、位置制御指令PC及び力制御指令FCを生成する。
【0098】
再度、図18を参照して、ステップS16でYESと判定したとき(時点t)、ステップS21において、プロセッサ40は、力制御を終了する。ステップS21の後、プロセッサ40は、位置制御指令PCに従ってロボット12を動作させることにより、スクレーパ16を、図19に示すように鋭角θ3で傾斜する軌道TRに沿って右上方へ移動させ、その結果、スクレーパ16は、位置P2でワークW1の表面Q1から離反してキサゲ加工が終了する。
【0099】
ステップS22において、プロセッサ40は、スクレーパ16が教示点TPに対応する位置に到達したか否かを判定する。プロセッサ40は、YESと判定した場合はステップS23へ進む一方、NOと判定した場合はステップS22をループする。そして、ステップS23において、プロセッサ40は位置制御を終了する。
【0100】
以上のように、本実施形態においては、スクレーパ16が教示点TPに到達した時点tで押付力Fがピーク値Fに達し、スクレーパ16が教示点TPに到達した時点tで押付力Fがゼロとなるように、力制御を実行している。この構成によれば、図20に示す押付力Fの時間変化特性を、より詳細に制御可能となるので、熟練者がキサゲ加工を実行しているときの押付力Fの時間変化に効果的に近づけることができる。
【0101】
なお、上述の実施形態において、プロセッサ40は、ロボット座標系C1のz軸方向におけるワークWの厚さHに応じて、力制御指令を変更してもよい。以下、この機能について説明する。図21に、図8に示すワークW1よりも薄い厚さHを有するワークW2に対してプロセッサ40が図14に示すフローを実行したときのスクレーパ16の実際の軌跡TR’を示す。なお、図21においては、比較のために、図8に示すワークW1を点線、軌跡TRを二点鎖線で、それぞれ重ねて図示している。
【0102】
また、図21に示す形態においては、教示点TP(n=1~4)は、図8の形態と同じロボット座標系C1の位置に設定されているとする。図21に示すように、ワークW1は、ロボット座標系C1のz軸方向の厚さHを有する一方、ワークW2は、厚さHよりも薄い厚さH(<H)を有している。
【0103】
このワークW2に対してプロセッサ40がキサゲ加工を実行した場合、スクレーパ16の先端32aは、位置P1を通過して、該位置P1の右下方に位置する位置P1’でワークW2の表面Q2と当接することになる。そして、プロセッサ40は、上述の実施形態と同様に、教示点TPに到達する前にロボット12の手先部28bを上方へ移動させる動作を開始し、スクレーパ16は、位置P2の下方に位置する位置P2’で表面Q2から離反することになる。
【0104】
このようにキサゲ加工を実行した場合の押付力Fの時間変化特性を図22に実線として示す。なお、図22においては、比較のために、図8に示すワークW1に対してキサゲ加工を実行したときの押付力Fの時間変化特性(図13に対応)を破線で重ねて示している。図22に示すように、厚さが薄いワークW2をキサゲ加工した場合、押付力Fのピーク値F’が、ワークW1をキサゲ加工したときのピーク値Fよりも小さくなってしまう。この場合、ワークW2の表面Q2へのスクレーパ16の押付けが不十分となり、形成される凹部Rの深さEが、所望の大きさに満たない可能性がある。
【0105】
そこで、本実施形態においては、プロセッサ40は、ワークWの厚さHに応じて、力制御時に生成する速度指令FCV_1(速度VF_1)を変更する。速度指令FCV_1は、速度指令FCV_1を生成するためのゲインG、サーボモータ34の最大回転数VMAX又は時定数Tを変更することで、変更可能である。
【0106】
ここで、速度指令FCV_1は、力センサ14の検出データ(又は、押付力F)にゲインGをかけることで生成され、該ゲインGは、力制御によってサーボモータ34を動作させるときの応答速さを規定するパラメータとなる。また、時定数Tは、サーボモータ34の速度Vを、ゼロと最大回転数VMAXとの間で加減速させるのに要する時間を規定する。
【0107】
ゲインG及び最大回転数VMAXを大きくする程、又は、時定数Tを小さくする程、速度指令FCV_1を増大させることができ、これにより、図22に示す押付力Fの時間変化特性の勾配(微分値)を大きくすることができる。押付力Fの時間変化特性の勾配を大きくすることで、力制御中に押付力Fを、より短時間でピーク値F(又は目標値F)に到達させることができる。
【0108】
一例として、制御装置18のメモリ42は、ワークWの厚さHと、ゲインG、最大回転数VMAX、及び時定数Tとの関係性を示すデータテーブルDT1を予め格納する。このデータテーブルDT1においては、力制御実行時に十分な大きさのピーク値Fを確保できるゲインG、最大回転数VMAX、及び時定数Tが、厚さHに関連付けられて格納されている。データテーブルDT1は、例えば、実験的手法又はシミュレーションによって、ゲインG、最大回転数VMAX、及び時定数Tと、厚さHとのデータセットを蓄積することで、作成され得る。
【0109】
一方、オペレータは、プロセッサ40が図14に示すフローを実行する前に、ワークWの厚さHを測定する。そして、プロセッサ40が図14に示すフローを開始した後、オペレータは、加工条件MCとして、上述の距離x、距離z、鋭角θ2、速度VF_0(速度指令FCV_0)、速度VP_2(速度指令PCV_2)、及び目標値Fに加えて、測定したワークWの厚さHを入力する。
【0110】
そうすると、プロセッサ40は、厚さHの入力を受け付けて、ステップS1でYESと判定する。次いで、ステップS2において、プロセッサ40は、入力された厚さHに対応するゲインG、最大回転数VMAX、及び時定数TをデータテーブルDT1から検索し、該厚さHと、該ゲインG、該最大回転数VMAX、及び該時定数Tとを、加工条件MCとして設定する。すなわち、本実施形態においては、加工条件MCは、距離x、距離z、鋭角θ2、速度VF_0(速度指令FCV_0)、速度VP_2(速度指令PCV_2)、及び目標値Fに加えて、厚さH、ゲインG、最大回転数VMAX、及び時定数Tをさらに有する。
【0111】
そして、ステップS5中のステップS14でYESと判定した後、プロセッサ40は、ステップS2で設定したゲインG、最大回転数VMAX、及び時定数Tを用いることで、ワークWの厚さHに応じた速度指令FCV_1を生成し、これにより力制御を実行する。図23に、本実施形態に係る動作フローをワークW2に対して実行した場合の押付力Fの時間変化特性を示す。
【0112】
図23に示すように、本実施形態によれば、ワークW2の厚さHに応じて速度指令FCV_1を増大させることにより、押付力Fの変化の勾配が、図22の特性と比べて大きくなり、その結果、押圧力Fが、短時間でピーク値Fへ到達している。したがって、ワークW2の表面Q2へスクレーパ16を十分な押付力Fで押し付けることができるので、凹部Rの深さEを所望の値とすることができる。
【0113】
なお、本実施形態においては、速度指令FCV_1を変更するためのパラメータとして、ゲインG、最大回転数VMAX、及び時定数Tを例示した。しかしながら、これに限らず、速度指令FCV_1を変更可能な如何なるパラメータを用いてもよい。また、速度指令FCV_1に限らず、プロセッサ40は、力制御時に押付力Fをピーク値Fへ迅速に到達させるために、ワークWの厚さHに応じて、サーボモータ34へのトルク指令を変更してもよい。
【0114】
なお、プロセッサ40は、力制御時に十分な大きさのピーク値Fを確保するために、速度指令FCV_1を変更する代わりに、ワークWの厚さHに応じて教示点TP及びTPの位置を変更してもよい。以下、図24を参照して、この機能について説明する。一例として、制御装置18のメモリ42は、ワークWの厚さHと、教示点TPのずらし量δ、及び教示点TPのずらし量δとの関係性を示すデータテーブルDT2を予め格納する。なお、ずらし量δ及びδは、互いに同じであってもよいし、又は、異なってもよい。
【0115】
このデータテーブルDT2においては、力制御実行時に十分な大きさのピーク値Fを確保できるずらし量δ及びδが、厚さHに関連付けられて格納されている。データテーブルDT2は、例えば、実験的手法、又はシミュレーションによって、ずらし量δ及びδと厚さHとのデータセットを蓄積することで、作成され得る。
【0116】
一方、図21及び図23を参照して上述した形態と同様に、オペレータは、ワークWの厚さHを予め測定し、図14中のステップS1において、加工条件MCとしてワークWの厚さHを入力する。ステップS2において、プロセッサ40は、入力された厚さHに対応するずらし量δ及びδをデータテーブルDT2から検索する。
【0117】
そして、プロセッサ40は、予め定められた教示点TPを、ずらし量δだけ右方へずらした新たな教示点TP’(図24)の位置データ(具体的には、ロボット座標系C1の座標)と、予め定められた教示点TPを、ずらし量δだけ右方へずらした新たな教示点TP’の位置データとを取得する。
【0118】
その後、プロセッサ40は、ステップS3~S7を順次実行することで、キサゲ加工を実行する。図24に、本実施形態に係る動作フローをワークW2に対して実行した場合のスクレーパ16の軌道TR”を実線で示す。図24に示すように、本実施形態においては、スクレーパ16は、軌道TR”に沿って移動して、位置P1’でワークW1の表面Q1と当接し、該表面Q1に沿って右方へ移動した後、位置P2”で表面Q1から離反する。図25に、このときの押付力Fの時間変化特性を示す。なお、図25においては、比較のために、ワークW1に対してキサゲ加工を実行したときの押付力Fの時間変化特性(図13に対応)を破線で示す。
【0119】
図25に示すように、本実施形態によれば、押付力Fは、ワークW1に対してキサゲ加工を実行したときと比べて、スクレーパ16が図24中の位置P1から位置P1’まで移動するのに要した時間Δtだけ遅れて増加し始めているが、ピーク値Fに到達している。したがって、ワークW2の表面Q2へスクレーパ16を十分な押付力Fで押し付けることができるので、凹部Rの深さEを所望の値とすることができる。
【0120】
なお、上述の実施形態においては、オペレータが、ワークWの厚さHを測定する場合について述べた。しかしながら、これに限らず、プロセッサ40は、ワークWに対して1回目のキサゲ加工を実行したときに、厚さHを取得してもよい。具体的には、プロセッサ40は、ステップS14でYESと判定したときに、サーボモータ34の回転検出器からのフィードバックに基づいて、スクレーパ16の先端32a(TCP)のロボット座標系C1のz軸座標zを取得する。
【0121】
一方、ワークWが載置された載置面(図示せず)の、ロボット座標系C1のz軸座標zは、既知であって、メモリ42に予め記憶される。プロセッサ40は、ワークWの厚さHを、H=z-zなる式から求めることができる。そして、プロセッサ40は、ワークWに対して2回目のキサゲ加工する場合に、図23又は図25を参照して説明した方法により、押付力Fをピーク値Fに到達させるように力制御を実行してもよい。
【0122】
なお、上述の実施形態において、プロセッサ40は、凹部Rの目標深さEに応じて、力制御の目標値Fを自動で決定してもよい。以下、この機能について説明する。ここで、キサゲ加工によって形成される凹部Rの深さEと、キサゲ加工中に実行する力制御の目標値Fとは、高度に相関する。具体的には、目標値Fを高く設定する程、キサゲ加工中の押付力Fのピーク値Fが高くなり、これにより、形成される凹部Rの深さEが深くなる。
【0123】
一例として、制御装置18のメモリ42は、深さEと目標値F(又はピーク値F)とが互いに関連付けられて格納されたデータテーブルDT3を予め格納する。このデータテーブルDT3は、例えば、実験的手法、又はシミュレーションによって、深さEと目標値Fとのデータセットを蓄積することで、作成され得る。
【0124】
プロセッサ40が図14に示すフローを開始した後、オペレータは、加工条件MCとして、目標深さEを入力する。そうすると、プロセッサ40は、目標深さEの入力を受け付けて、ステップS1でYESと判定する。次いで、ステップS2において、プロセッサ40は、入力された目標深さEに対応する目標値FをデータテーブルDT3から検索し、加工条件MCとして設定する。
【0125】
そして、プロセッサ40は、ステップS13の開始後、設定した目標値Fで力制御を実行することで、目標深さEを有する凹部Rが形成される。このように、本実施形態においては、プロセッサ40は、オペレータが入力した目標深さEに応じて、該目標深さEを実現可能な目標値Fを自動で決定し、力制御を実行している。この構成によれば、キサゲ加工によって形成する凹部Rの深さEを、所望の値に制御することができる。
【0126】
なお、上述の実施形態において、プロセッサ40は、凹部Rの目標深さEに応じて、入射角θ2を自動で決定してもよい。以下、この機能について説明する。ここで、キサゲ加工によって形成される凹部Rの深さEと入射角θ2とは、高度に相関する。例えば、入射角θ2を小さく設定する程、形成される凹部Rの深さEが浅くなり得る。
【0127】
一例として、制御装置18のメモリ42は、深さEと入射角θ2とが互いに関連付けられて格納されたデータテーブルDT4を予め格納する。このデータテーブルDT4は、例えば、実験的手法、又はシミュレーションによって、深さEと入射角θ2とのデータセットを蓄積することで、作成され得る。
【0128】
プロセッサ40が図14に示すフローを開始した後、例えば、オペレータは、加工条件MCとして、目標深さEと、上述の式(2)中の速度指令FCV_0及びPCV_2(又は、距離x及びz)のうちの一方とを入力する。そうすると、プロセッサ40は、加工条件MCの入力を受け付けてステップS1でYESと判定する。
【0129】
次いで、ステップS2において、プロセッサ40は、入力された目標深さEに対応する入射角θ2をデータテーブルDT4から検索し、加工条件MCとして設定する。また、プロセッサ40は、上述の式(1)より、速度指令FCV_0及びPCV_2(又は、距離x及びz)のうちの他方を自動で設定する。
【0130】
このように、本実施形態においては、プロセッサ40は、オペレータが入力した目標深さEに応じて、該目標深さEを実現可能な入射角θ2を自動で決定し、加工条件MCとして自動で設定している。この構成によれば、キサゲ加工によって形成する凹部Rの深さEを、所望の値に制御することができる。
【0131】
なお、データテーブルDT4は、入射角θ2の代わりに、上述の角度θ1を目標深さEに関連付けて格納してもよい。この角度θ1も、凹部Rの深さEと高度に相関する。この場合、プロセッサ40は、ステップS2において、入力された目標深さEに対応する角度θ1をデータテーブルDT4から検索し、加工条件MCとして設定する。
【0132】
なお、上述の実施形態においては、プロセッサ40が、位置制御とともに力制御を実行することによって、キサゲ加工中に押付力Fを予め定めた大きさ(図13図20図23図25)に制御する場合について述べた。しかしながら、これに限らず、プロセッサ40は、位置制御のみを実行することによって、押付力Fを予め定めた大きさに制御し、キサゲ加工を実行することもできる。この機能について、図26を参照して説明する。
【0133】
図26に示す形態においては、ワークW1の表面Q1に沿って、教示点TP11、TP12、TP13、TP14、TP15、TP16、及びTP17が設定されている。ここで、教示点TP12及び教示点TP16は、ロボット座標系C1における表面Q1と同じz軸方向の位置に配置され、教示点TP13、TP14及びTP15は、ロボット座標系C1における表面Q1の下方の位置に配置されている。また、これら教示点TP(n=11~17)の中で、教示点TP14が、ロボット座標系C1の最も下側に配置されている。
【0134】
この形態の場合、プロセッサ40は、位置制御を実行して、スクレーパ16を、教示点TP11→TP12→TP13→TP14→TP15→TP16→TP17の順で移動させる。具体的には、プロセッサ40は、ロボット12によってスクレーパ16を教示点TP11から教示点TP12へ向かって移動させる。
【0135】
これにより、スクレーパ16は、ワークWの表面Q1に沿う方向(右方)へ移動するとともに該表面Q1へ向かう方向(下方)へ移動し、入射角θ2で傾斜する軌道でワークWの表面Q1に教示点TP12にて当接する。本実施形態においては、入射角θ2は、教示点TP11から教示点TP12までの移動経路MPによって規定される。
【0136】
その後、プロセッサ40は、ロボット12の手先部28bを、教示点TP13及びTP14に対応する位置へ向かって右下方へさらに移動させ、次いで、教示点TP15及びTP16に対応する位置へ向かって右上方へ移動させる。この間、プロセッサ40は、スクレーパ16の先端32aを押付力FでワークWの表面Q1に押し付けつつ、右方へ移動させる。
【0137】
そして、プロセッサ40は、スクレーパ16を教示点TP16から教示点TP17へ向かって移動させ、これにより、スクレーパ16は、表面Q1に対して鋭角θ3を形成するように傾斜した軌道で該表面Q1から離反する。こうして、教示点TP12からTP16までの長さを有する凹部Rが表面Q1に形成される。
【0138】
ここで、教示点TPの位置を適切に選択することによって、キサゲ加工を実行しているときの押付力Fを、図13に示す時間変化特性となるように、制御することができる。一例として、メモリ42は、教示点TPの位置データ(ロボット座標系C1の座標)と、押付力Fの大きさ(又は時間変化特性)とを互いに関連付けて格納したデータテーブルDT5を予め格納する。
【0139】
このデータテーブルDT5により、キサゲ加工実行時の押付力Fを所望の大きさに制御可能な教示点TPの位置データを設定することができる。このように設定した教示点TPに従って位置制御を実行することにより、プロセッサ40は、キサゲ加工における押付力Fを、データテーブルDT5に予め格納した大きさ(時間変化特性)となるように、制御できる。
【0140】
なお、上述の実施形態においては、ワークWの表面Qに対して、1回のキサゲ加工を実行する場合について述べた。しかしながら、プロセッサ40は、ワークWの表面Qに並ぶ複数の凹部Rを形成するために、キサゲ加工を複数回に亘って繰り返し実行してもよい。この場合、形成する複数の凹部Rの各々に対して、図6図17又は図26に示す一群の教示点TPがそれぞれ設定される。
【0141】
例えば、複数の凹部Rの各々に対して図6に示す一群の教示点TP(n=1~4)が設定された場合、プロセッサ40は、図14に示すフローにおいて、第1の凹部Rを形成するために設定された第1群の教示点TPに関して、1回目のステップS5を実行し、次いで、第2の凹部Rを形成するために設定された第2群の教示点TPに関して、2回目のステップS5を実行する。このようにして、プロセッサ40は、第mの凹部Rを形成するために設定された第m群の教示点TPに関して、m回目のステップS5を実行する(m=1,2,3,・・・)ことでキサゲ加工を繰り返し実行し、複数の凹部Rを形成できる。
【0142】
なお、メモリ42は、上述の距離x又はzと凹部Rの深さEとのデータテーブルDT6を予め格納してもよい。そして、プロセッサ40は、上述のステップS2において、入力された目標深さEに対応する距離x又はzをデータテーブルDT6から検索し、加工条件MCとして設定してもよい。距離x又はzも、形成される凹部Rの深さEと相関する。
【0143】
上述の実施形態においては、教示点TPが、スクレーパ16の先端32aが表面Q1から上方へ離隔するように設定される場合について述べた。しかしながら、これに限らず、教示点TPは、ロボット座標系C1における表面Q1と同じ位置(又は下方)に配置されてもよい。この場合、上述の入射角θ2は、教示点TPから教示点TPまでの移動経路MPによって規定される。
【0144】
力センサ14は、例えば、作業セルとロボットベース20との間に介挿されてもよいし、又は、ロボット12の如何なる部位に設けられてもよい。また、力センサ14は、ロボット12に限らず、ワークWの側に設けられてもよい。例えば、力センサ14を、ワークWと、該ワークWが載置される載置面との間に介挿することによって、押付力Fを検出できる。また、力センサ14は、6軸力覚センサに限らず、例えば、1軸又は3軸力センサであってもよいし、押付力Fを検出可能な如何なるセンサであってもよい。
【0145】
また、上述の実施形態においては、ツール座標系C2の原点がスクレーパ16の先端32aに配置される場合について述べた。しかしながら、これに限らず、ツール座標系C2の原点は、例えば、手先部28b(手首フランジ)の中心に配置されてもよいし、手先部28bに対する位置が既知であれば如何なる位置に配置されてもよい。
【0146】
また、センサ座標系C3の原点は、力センサ14の中心に限らず、力センサ14に対して既知である如何なる位置に配置されてもよいし、その各軸は如何なる方向に定義されてもよい。また、ロボット座標系C1の原点は、ロボットベース20の中心に限らず、ロボット12に対して既知である如何なる位置に配置されてもよいし、その各軸は如何なる方向に定義されてもよい。以上、実施形態を通じて本開示を説明したが、上述の実施形態は、特許請求の範囲に係る発明を限定するものではない。
【符号の説明】
【0147】
10 ロボットシステム
12 ロボット
14 力センサ
16 スクレーパ
18 制御装置
40 プロセッサ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26