(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-01
(45)【発行日】2024-07-09
(54)【発明の名称】教示方法およびロボットシステム
(51)【国際特許分類】
B25J 9/22 20060101AFI20240702BHJP
G05B 19/42 20060101ALI20240702BHJP
【FI】
B25J9/22 A
G05B19/42 D
(21)【出願番号】P 2020129066
(22)【出願日】2020-07-30
【審査請求日】2023-07-11
(73)【特許権者】
【識別番号】000002369
【氏名又は名称】セイコーエプソン株式会社
(74)【代理人】
【識別番号】100179475
【氏名又は名称】仲井 智至
(74)【代理人】
【識別番号】100216253
【氏名又は名称】松岡 宏紀
(74)【代理人】
【識別番号】100225901
【氏名又は名称】今村 真之
(72)【発明者】
【氏名】平林 裕人
【審査官】樋口 幸太郎
(56)【参考文献】
【文献】特開平07-084632(JP,A)
【文献】米国特許出願公開第2015/0217445(US,A1)
【文献】特開2016-203266(JP,A)
【文献】特開2016-013608(JP,A)
【文献】特開2008-021239(JP,A)
【文献】特開平06-099376(JP,A)
【文献】特開2018-202588(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 9/22
G05B 19/42
(57)【特許請求の範囲】
【請求項1】
ロボットアームを備えるロボットに対し、教示者による動作指示に基づいて前記ロボッ
トアームを駆動しつつ、前記ロボットアームの位置および姿勢を記憶する教示ステップ
と
、
前記教示ステップで記憶した前記ロボットアームの位置および姿勢の記憶データに基づ
いて、前記ロボットアームの位置および姿勢を表示する表示ステップと、を有し、
前記教示ステップは、
前記教示者から教示指示が入力された
と判断した場合に前記ロボットアームの位置およ
び姿勢を記憶する第1記憶モード
を実行することと、
前記教示指示が入力されていないと判断し、前記ロボットアームの制御点の移動速度が
所定速度以下の状態または前記ロボットアームの前記制御点の角速度が所定角速度以下の
状態を、所定時間以上満足した
場合に、前記ロボットアームの位置および姿勢を記憶する
第2記憶モードを
実行することと、を含み、
前記表示ステップは、前記第1記憶モードで記憶した前記ロボットアームの位置および
姿勢と、前記第2記憶モードで記憶した前記ロボットアームの位置および姿勢と、を区別
して表示することを特徴とする教示方法。
【請求項2】
前記教示ステップは、前記ロボットアームの位置および姿勢と、既に記憶されている前
記ロボットアームの位置および姿勢との乖離が、所定値以上になったとき、前記ロボット
アームの位置および姿勢を記憶する第3記憶モードを有する請求項1に記載の教示方法。
【請求項3】
前記教示ステップは、前記ロボットアームに設置されたエンドエフェクターへの動作指
令が入力された場合、前記ロボットアームの位置および姿勢を記憶する第4記憶モードを
有する請求項1または2に記載の教示方法。
【請求項4】
前記教示ステップは、前記ロボットアームの作業対象物を撮像する撮像部への動作指令
が実行された場合、前記ロボットアームの位置および姿勢を記憶する第5記憶モードを有
する請求項1ないし3のいずれか1項に記載の教示方法。
【請求項5】
前記教示ステップは、前記ロボットの電源を切る指令が入力された場合、前記ロボット
アームの位置および姿勢を記憶する第6記憶モードを有する請求項1ないし4のいずれか
1項に記載の教示方法。
【請求項6】
ロボットアームと、
教示者による前記ロボットアームに対する教示指示が入力される入力部と、
前記ロボットアームの位置および姿勢を記憶する記憶部と、
前記ロボットアームの作動を制御する制御部と、
前記記憶部が記憶する前記ロボットアームの位置および姿勢の記憶データに基づいて、
前記ロボットアームの位置および姿勢を表示する表示部と、
を備え、
前記制御部は、
前記教示指示が前記入力部に入力された
と判断した場合に前記ロボットアームの位置お
よび姿勢を前記記憶部に記憶する第1記憶モード
を実行し、
前記教示指示が入力されていないと判断し、前記ロボットアームの制御点の移動速度が
所定速度以下の状態または前記ロボットアームの前記制御点の角速度が所定角速度以下の
状態を、所定時間以上満足した
場合に、前記ロボットアームの位置および姿勢を記憶する
第2記憶モード
を実行し、
前記表示部は、前記第1記憶モードで記憶した前記ロボットアームの位置および姿勢と
、前記第2記憶モードで記憶した前記ロボットアームの位置および姿勢と、を区別して表
示すること、を特徴とするロボットシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、教示方法およびロボットシステムに関するものである。
【背景技術】
【0002】
ロボットが各種作業を行うのに先立って、ロボットに作業の内容を教示するために用いられる教示装置が知られている。特許文献1に記載されている教示装置では、教示者がロボットアームを動作させたい位置に移動させつつ、教示ボタンを押すことにより、そのときのロボットアームの位置および姿勢を記憶する。この作業を繰り返すことにより、複数の位置において、ロボットアームの位置および姿勢を記憶することができる。そして、記憶した位置および姿勢の情報に基づいてロボットアームを駆動することにより、ロボットが作業を行うことができる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、例えば、教示者が教示ボタンを押し忘れたりした場合、本来教示ボタンを押すべきであったタイミングでのロボットアームの位置および姿勢が記憶されない。この場合、正確な教示を行うことができず、ロボットが正確な作業を行うことができない。
【課題を解決するための手段】
【0005】
本発明は、前述した課題の少なくとも一部を解決するためになされたものであり、以下により実現することが可能である。
【0006】
本適用例の教示方法は、ロボットアームを備えるロボットに対し、教示者による動作指示に基づいて前記ロボットアームを駆動しつつ、前記ロボットアームの位置および姿勢を記憶する教示ステップを有し、
前記教示ステップは、
前記教示者から教示指示が入力されたときに前記ロボットアームの位置および姿勢を記憶する第1記憶モードと、
前記ロボットアームの制御点の移動速度が所定速度以下の状態または前記ロボットアームの前記制御点の角速度が所定角速度以下の状態を、所定時間以上満足したときに、前記ロボットアームの位置および姿勢を記憶する第2記憶モードと、を有することを特徴とする。
【0007】
本適用例のロボットシステムは、ロボットアームと、
教示者による前記ロボットアームに対する教示指示が入力される入力部と、
前記ロボットアームの位置および姿勢を記憶する記憶部と、
前記ロボットアームの作動を制御する制御部と、を備え、
前記制御部は、
前記教示指示が前記入力部に入力されたときに前記ロボットアームの位置および姿勢を前記記憶部に記憶する第1記憶モードと、
前記ロボットアームの制御点の移動速度が所定速度以下の状態または前記ロボットアームの前記制御点の角速度が所定角速度以下の状態を、所定時間以上満足したときに、前記ロボットアームの位置および姿勢を記憶する第2記憶モードと、を実行することを特徴とする。
【図面の簡単な説明】
【0008】
【
図1】本発明の教示方法を実行するロボットシステムの第1実施形態の概略構成図である。
【
図2】
図1に示すロボットシステムのブロック図である。
【
図3】
図1に示すロボットシステムが実行する教示方法を説明するための概念図である。
【
図4】
図1に示すロボットシステムが教示を行っている状態を示す図であって、ロボットアームの各軸に沿って見た図である。
【
図5】
図1に示すロボットシステムが教示を行っている状態を示す図であって、ロボットアームの各軸に沿って見た図である。
【
図6】
図1に示すロボットシステムが教示を行っている状態を示す図であって、ロボットアームの各軸に沿って見た図である。
【
図7】
図1に示す教示装置の表示画面を示す図である。
【
図8】本発明の教示方法の一例を説明するためのフローチャートである。
【
図9】本発明の教示方法を実行するロボットシステムの第2実施形態の表示画面を示す図である。
【発明を実施するための形態】
【0009】
以下、本発明の教示方法およびロボットシステムを添付図面に示す好適な実施形態に基づいて詳細に説明する。
【0010】
<第1実施形態>
図1は、本発明の教示方法を実行するロボットシステムの第1実施形態の概略構成図である。
図2は、
図1に示すロボットシステムのブロック図である。
図3は、
図1に示すロボットシステムが実行する教示方法を説明するための概念図である。
図4は、
図1に示すロボットシステムが教示を行っている状態を示す図であって、ロボットアームの各軸に沿って見た図である。
図5は、
図1に示すロボットシステムが教示を行っている状態を示す図であって、ロボットアームの各軸に沿って見た図である。
図6は、
図1に示すロボットシステムが教示を行っている状態を示す図であって、ロボットアームの各軸に沿って見た図である。
図7は、
図1に示す教示装置の表示画面を示す図である。
図8は、本発明の教示方法の一例を説明するためのフローチャートである。
【0011】
また、
図1では、説明の便宜上、互いに直交する3軸として、x軸、y軸およびz軸を図示している。また、以下では、x軸に平行な方向を「x軸方向」とも言い、y軸に平行な方向を「y軸方向」とも言い、z軸に平行な方向を「z軸方向」とも言う。また、以下では、図示された各矢印の先端側を「+(プラス)」、基端側を「-(マイナス)」と言う。また、z軸回りの方向およびz軸に平行な軸回りの方向を「u軸方向」とも言う。
【0012】
また、以下では、説明の便宜上、
図1中の+z軸方向、すなわち、上側を「上」または「上方」、-z軸方向、すなわち、下側を「下」または「下方」とも言う。また、ロボットアーム20については、
図1中の基台21側を「基端」、その反対側、すなわち、エンドエフェクター7側を「先端」と言う。また、
図1中のz軸方向、すなわち、上下方向を「鉛直方向」とし、x軸方向およびy軸方向、すなわち、左右方向を「水平方向」とする。
なお、
図4~
図6では、撮像部9の図示を省略している。
【0013】
図1および
図2に示すロボットシステム100は、例えば、電子部品および電子機器等のワークの保持、搬送、組立ておよび検査等の作業で用いられるシステムである。ロボットシステム100は、ロボット2と、ロボット2に対して動作プログラムを教示する教示装置3と、を備える。また、ロボット2と教示装置3とは、有線または無線により通信可能であり、その通信は、インターネットのようなネットワークを介してなされてもよい。
【0014】
教示とは、ロボット2に対して動作プログラムを指定することを言い、具体的には、ロボットアーム20の位置および姿勢等を制御装置8に入力することを言う。この教示には、直接教示と間接教示とがある。
【0015】
直接教示とは、ロボットアーム20に外力を加えつつロボットアーム20を所定の位置および姿勢に移動させながら、所望のタイミングで受付部4の教示ボタン41を操作することにより、ロボットアーム20の動作を制御装置8または教示装置3に記憶させることを言う。
【0016】
また、間接教示とは、第2実施形態で述べるように、表示部34の表示画面341上で動作プログラムを作成し、作成した動作プログラムを制御装置8または教示装置3に記憶させることを言う。
【0017】
まず、ロボット2について説明する。
ロボット2は、図示の構成では、水平多関節ロボット、すなわち、スカラロボットである。
図1に示すように、ロボット2は、基台21と、基台21に接続されたロボットアーム20と、オペレーターからの所定の操作を受け付ける受付部4と、力検出部5と、エンドエフェクター7と、これら各部の作動を制御する制御装置8と、を有する。
【0018】
基台21は、ロボットアーム20を支持する部分である。基台21には、後述する制御装置8が内蔵されている。また、基台21の任意の部分には、ロボット座標系の原点が設定されている。なお、
図1に示すx軸、y軸およびz軸は、ロボット座標系の軸である。
【0019】
ロボットアーム20は、第1アーム22と、第2アーム23と、作業ヘッドである第3アーム24と、を備えている。なお、ロボット2は、図示の構成に限定されず、アームの数は、1つまたは2つであってもよく、4つ以上であってもよい。
【0020】
また、ロボット2は、第1アーム22を基台21に対して回転させる駆動ユニット25と、第2アーム23を第1アーム22に対して回転させる駆動ユニット26と、第3アーム24のシャフト241を第2アーム23に対して回転させるu駆動ユニット27と、シャフト241を第2アーム23に対してz軸方向に移動させるz駆動ユニット28と、角速度センサー29と、を備えている。
【0021】
図1および
図2に示すように、駆動ユニット25は、第1アーム22の筐体220内に内蔵されており、駆動力を発生するモーター251と、モーター251の駆動力を減速する減速機252と、モーター251または減速機252の回転軸の回転角度を検出する位置センサー253と、を有している。
【0022】
駆動ユニット26は、第2アーム23の筐体230に内蔵されており、駆動力を発生するモーター261と、モーター261の駆動力を減速する減速機262と、モーター261または減速機262の回転軸の回転角度を検出する位置センサー263と、を有している。
【0023】
u駆動ユニット27は、第2アーム23の筐体230に内蔵されており、駆動力を発生するモーター271と、モーター271の駆動力を減速する減速機272と、モーター271または減速機272の回転軸の回転角度を検出する位置センサー273と、を有している。
【0024】
z駆動ユニット28は、第2アーム23の筐体230に内蔵されており、駆動力を発生するモーター281と、モーター281の駆動力を減速する減速機282と、モーター281または減速機282の回転軸の回転角度を検出する位置センサー283と、を有している。
【0025】
モーター251、モーター261、モーター271およびモーター281としては、例えば、ACサーボモーター、DCサーボモーター等のサーボモーターを用いることができる。
【0026】
また、減速機252、減速機262、減速機272および減速機282としては、例えば、遊星ギア型の減速機、波動歯車装置等を用いることができる。また、位置センサー253、位置センサー263、位置センサー273および位置センサー283は、例えば、角度センサーとすることができる。
【0027】
駆動ユニット25、駆動ユニット26、u駆動ユニット27およびz駆動ユニット28は、それぞれ、対応する図示しないモータードライバーに接続されており、モータードライバーを介して制御装置8により制御される。
【0028】
また、角速度センサー29は、
図2に示すように、第2アーム23に内蔵されている。このため、第2アーム23の角速度を検出することができる。この検出した角速度の情報に基づいて、制御装置8は、ロボット2の制御を行う。
【0029】
基台21は、例えば、図示しない床面にボルト等によって固定されている。基台21の上側には第1アーム22が連結されている。第1アーム22は、基台21に対して鉛直方向に沿う第1軸O1回りに回転可能となっている。第1アーム22を回転させる駆動ユニット25が駆動すると、第1アーム22が基台21に対して第1軸O1回りに水平面内で回転する。また、位置センサー253により、基台21に対する第1アーム22の回転量が検出できるようになっている。
【0030】
また、第1アーム22の先端部には、第2アーム23が連結されている。第2アーム23は、第1アーム22に対して鉛直方向に沿う第2軸O2回りに回転可能となっている。第1軸O1の軸方向と第2軸O2の軸方向とは同一である。すなわち、第2軸O2は、第1軸O1と平行である。第2アーム23を回転させる駆動ユニット26が駆動すると、第2アーム23が第1アーム22に対して第2軸O2回りに水平面内で回転する。また、位置センサー263により、第1アーム22に対する第2アーム23の駆動量、具体的には、回転量が検出できるようになっている。
【0031】
また、第2アーム23の先端部には、第3アーム24が設置、支持されている。第3アーム24は、シャフト241を有している。シャフト241は、第2アーム23に対して、鉛直方向に沿う第3軸O3回りに回転可能であり、かつ、上下方向に移動可能となっている。このシャフト241は、ロボットアーム20の最も先端のアームである。
【0032】
シャフト241を回転させるu駆動ユニット27が駆動すると、シャフト241は、z軸回りに回転する。また、位置センサー273により、第2アーム23に対するシャフト241の回転量が検出できるようになっている。
【0033】
また、シャフト241をz軸方向に移動させるz駆動ユニット28が駆動すると、シャフト241は、上下方向、すなわち、z軸方向に移動する。また、位置センサー283により、第2アーム23に対するシャフト241のz軸方向の移動量が検出できるようになっている。
【0034】
また、ロボット2では、シャフト241の先端を制御点TCPとし、この制御点TCPを原点とした先端座標系が設定されている。また、この先端座標系は、前述したロボット座標系とキャリブレーションが済んでおり、先端座標系での位置をロボット座標系に変換することができる。これにより、制御点TCPの位置を、ロボット座標系で特定することができる。なお、制御点TCPの位置はこれに限定されず、ロボット座標系を用いて特定される位置であれば、どこに設定されていてもよい。
【0035】
また、シャフト241の先端部には、各種のエンドエフェクターが着脱可能に連結される。エンドエフェクターとしては、特に限定されず、例えば、被搬送物を把持するもの、被加工物を加工するもの、検査に使用するもの等が挙げられる。本実施形態では、エンドエフェクター7が着脱可能に連結される。
【0036】
なお、エンドエフェクター7は、本実施形態では、ロボット2の構成要素になっていないが、エンドエフェクター7の一部または全部がロボット2の構成要素になっていてもよい。
【0037】
図1に示すように、力検出部5は、ロボット2に加わる力、すなわち、ロボットアーム20および基台21に加わる力を検出するものである。力検出部5は、本実施形態では、基台21の下方、すなわち、-z軸側に設けられており、基台21を下方から支持している。
【0038】
力検出部5は、例えば、水晶等の圧電体で構成され、外力を受けると電荷を出力する複数の素子を有する構成とすることができる。また、制御装置8は、この電荷量に応じて、ロボットアーム20が受けた外力に変換することができる。また、このような圧電体であると、設置する向きに応じて、外力を受けた際に電荷を発生させることができる向きを調整可能である。
【0039】
また、受付部4は、オペレーターの所定の操作を受け付ける部位である。受付部4は、教示ボタン41を有している。この教示ボタン41は、直接教示を行う場合に用いることができる。教示ボタン41は、メカニカルボタンであってもよく、タッチ式のエレクトリックボタンであってもよい。また、教示ボタン41の周囲には、機能が異なるボタンが設置されていてもよい。
【0040】
撮像部9は、例えば、複数の画素を有するCCD(Charge Coupled Device)イメージセンサーで構成された撮像素子と、レンズ等を含む光学系と、を有する構成とすることができる。
図2に示すように、撮像部9は、制御装置8と電気的に接続され、その作動が制御される。すなわち、教示装置3を介して撮像指令が入力された場合、その信号が制御装置8に送信され、制御装置8が撮像部9を駆動し、撮像を行う。
【0041】
撮像部9は、撮像素子が受光した光を電気信号に変換し、その電気信号を制御装置8へと出力する。すなわち、撮像部9は、撮像結果を制御装置8へと送信する。なお、撮像結果は、静止画であってもよく、動画であってもよい。
【0042】
なお、撮像部9は、制御装置8を介さず、直接、教示装置3によって制御される構成であってもよい。
【0043】
また、撮像部9は、第2アーム23の側部に設置され、かつ、下方を向いており、第2アーム23の下方を撮像する。なお、撮像部9の設置位置、向いている方向は、図示の構成に限定されない。
【0044】
次に、制御装置8について説明する。
図1および
図2に示すように、制御装置8は、本実施形態では、基台21に内蔵されている。また、
図2に示すように、制御装置8は、ロボット2の駆動を制御する機能を有し前述したロボット2の各部と電気的に接続されている。制御装置8は、CPU(Central Processing Unit)81と、記憶部82と、通信部83と、を有する。これらの各部は、例えばバスを介して相互に通信可能に接続されている。
【0045】
CPU81は、記憶部82に記憶されている各種プログラム等を読み出し、実行する。CPU81で生成された指令信号は、通信部83を介してロボット2に送信される。これにより、ロボットアーム20が所定の作業を実行することができる。
【0046】
記憶部82は、CPU81が実行可能な各種プログラム等を保存する。記憶部82としては、例えば、RAM(Random Access Memory)等の揮発性メモリー、ROM(Read Only Memory)等の不揮発性メモリー、着脱式の外部記憶装置等が挙げられる。
【0047】
通信部83は、例えば有線LAN(Local Area Network)、無線LAN等の外部インターフェースを用いてロボット2の各部および教示装置3との間でそれぞれ信号の送受信を行う。
【0048】
次に、教示装置3について説明する。
図2に示すように、教示装置3は、CPU31と、記憶部32と、通信部33と、表示部34と、入力部35と、を有する。教示装置3としては、特に限定されず、例えば、タブレット、パソコン、スマートフォン、ティーチングペンダント等が挙げられる。
【0049】
CPU31は、記憶部32に記憶されている各種プログラム等を読み出し、実行してロボットアーム20の作動を制御する。各種プログラムとしては、例えば、後述する教示プログラム等が挙げられる。この教示プログラムは、教示装置3で生成されたものであってもよく、例えばCD-ROM等の外部記録媒体から記憶されたものであってもよく、ネットワーク等を介して記憶されたものであってもよい。
【0050】
CPU31で生成された信号は、通信部33を介してロボット2の制御装置8に送信される。これにより、ロボットアーム20が所定の作業を所定の条件で実行したり、教示を行ったりすることができる。また、CPU31は、
図3~
図8に示す表示部34の駆動を制御する。すなわち、CPU31は、表示部34の作動を制御する表示制御部として機能する。
【0051】
記憶部32は、CPU31が実行可能な各種プログラム等を保存する。記憶部32としては、例えば、RAM(Random Access Memory)等の揮発性メモリー、ROM(Read Only Memory)等の不揮発性メモリー、着脱式の外部記憶装置等が挙げられる。
【0052】
通信部33は、例えば有線LAN(Local Area Network)、無線LAN等の外部インターフェースを用いて制御装置8との間で信号の送受信を行う。
【0053】
表示部34は、表示画面341を有する各種ディスプレイで構成されている。本実施形態では、一例としてタッチパネル式、すなわち、表示部34が表示機能と入力操作機能とを備える構成として説明する。オペレーターが表示画面341を触る、すなわち、タッチすると、CPU31は、所定の表示に切り替えたりする制御を行う。
【0054】
ただし、このような構成に限定されず、別途、入力操作部を備える構成であってもよい。この場合、入力操作部は、例えば、マウス、キーボード等が挙げられる。また、タッチパネルと、マウス、キーボード等を併用する構成であってもよい。すなわち、以下で述べる入力操作は、表示画面341に表示されたカーソルを、マウス、キーボード等を用いて移動、選択する構成であってもよい。
【0055】
入力部35は、制御装置8および表示部34が接続される入力端子である。入力部35には、制御装置8からの各種情報や、表示部34から入力された各種設定等に関する情報が入力される。教示者が教示ボタン41を押すと、その情報が制御装置8を介して入力部35に入力される。すなわち、入力部35は、教示者によるロボットアーム20に対する教示指示が入力される部分である。なお、図示の構成に限定されず、教示ボタン41からの情報が入力部35に直接入力される構成であってもよい。
【0056】
次に、本発明の教示方法について説明する。なお、以下では、
図4に示す位置Aを作業開始位置とし、
図5に示す位置Bを作業終了位置とする作業をロボットアーム20に行わせたい場合について説明する。この場合、
図4に示す位置Aで教示ボタン41を押し、
図5に示す位置Bで教示ボタン41を押すのが正確な教示である。また、以下では、教示者が行う教示は、直接教示として説明する。
【0057】
まず、教示者がロボットアーム20の一部、例えば、第2アーム23を把持してロボットアーム20に力を加え、ロボットアーム20を移動させる。そして、
図4に示す位置P1に制御点TCPを位置させると、教示者は、教示ボタン41を押す。これにより、教示指示が制御装置8および教示装置3に入力され、そのときのロボットアーム20の位置および姿勢に関する情報、すなわち、制御点TCPが位置P1に位置する場合におけるロボットアーム20の位置および姿勢が記憶部32に記憶される。
【0058】
本明細書中において、「ロボットアーム20の位置および姿勢を記憶する」とは、制御点TCPのロボット座標系における3次元座標と、そのときのロボットアーム20の関節角度を記憶することを言う。ロボットアーム20の関節角度は、位置センサー253、位置センサー263、位置センサー273および位置センサー283の検出値のことである。
【0059】
次に、第2アーム23を把持してロボットアーム20に力を加えてロボットアーム20を移動させ、
図5に示す位置P2まで制御点TCPを移動させると、ロボットアーム20に力を加えるのを止めて、教示ボタン41を押す。これにより、制御点TCPが位置P2に位置する場合におけるロボットアーム20の位置および姿勢が記憶部32に記憶される。
【0060】
以上のようにして、作業開始位置および作業終了位置を記憶し、作業開始位置から作業終了位置までロボットアーム20が駆動するよう動作プログラムを作成する。この動作プログラムを実行することにより、ロボットアーム20は、所望の作業を行うことができる。なお、作業開始位置や、作業終了位置や、その間の地点において、エンドエフェクター7や撮像部9に対する動作指示を入力することもできる。エンドエフェクター7や撮像部9に対する動作指示が入力された場合、その動作指示のプログラムが組み込まれて作成される。
【0061】
ここで、例えば、位置Aや位置Bにて、本来、教示ボタン41を押さなければならないが、教示者がボタンを押し忘れてしまうことがある。また、教示中に一旦中断して再開するとき、中断した位置が分からなくなってしまうことがある。このような場合、正確な教示を行うことができず、その結果、所望の作業を行うことができなくなってしまう。
【0062】
このような不具合を防止するために、
図3に示すように、教示装置3は、第1記憶モードと、第2記憶モードと、第3記憶モードと、第4記憶モードと、第5記憶モードと、第6記憶モードと、を有する。そして、各モードに設定された条件を満足したとき、そのときのロボットアーム20の位置および姿勢を記憶部32に記憶する。これにより、教示ボタン41の押し忘れを防止し、正確な教示を行うことができる。
【0063】
第1記憶モードは、教示者から教示指示が入力されたときにロボットアーム20の位置および姿勢を記憶する通常記憶モードである。すなわち、教示者が教示ボタン41を押したら、そのときのロボットアーム20の位置および姿勢を記憶部32に記憶する。これにより、教示者が所望の位置で教示ボタン41を押したときにロボットアーム20の位置および姿勢を記憶することができる。
【0064】
このように、第1記憶モードを実行するトリガーは、教示ボタン41を押されたという情報である。
【0065】
第2記憶モードは、制御点TCPの移動速度が所定速度以下の状態、または、制御点TCPの角速度が所定角速度以下の状態を、所定時間以上満足したときに、ロボットアーム20の位置および姿勢を記憶するモードである。換言すれば、第2記憶モードは、制御点TCPの移動速度が停止しているまたはロボットアーム20の姿勢が変化していないと見做すことができる停止条件を満足したときに、ロボットアーム20の位置および姿勢を記憶するモードである。なお、第2記憶モードでは、「制御点TCPの移動速度が所定速度以下の状態」と、「制御点TCPの角速度が所定角速度以下の状態」の少なくとも一方について所定時間以上満足していれば、ロボットアーム20の位置および姿勢を記憶する。
【0066】
制御点TCPの移動速度は、例えば、各関節の速度から予測したり、撮像部9で制御点TCPを撮像して推定したりすることにより算出することができる。
【0067】
なお、所定速度とは、例えば、1mm/s以上20mm/s以下程度とすることができる。また、所定時間とは、例えば、1秒以上10秒以下程度とすることができる。
【0068】
制御点TCPの移動角速度は、例えば、各関節の速度から予測したり、角速度センサー29によって検出したりすることにより算出することができる。
【0069】
なお、所定角速度とは、例えば、0.1deg/s以上2deg/s以下程度とすることができる。また、所定時間とは、例えば、1秒以上10秒以下程度とすることができる。
【0070】
このような第2記憶モードによれば、ロボットアーム20が停止しているときに自動でロボットアーム20の位置および姿勢を記憶することができる。これにより、例えば、教示者が教示を途中で一旦中断した場合、そのときのロボットアーム20の位置および姿勢を記憶することができ、教示を途中から再開することができる。
【0071】
また、ロボットアーム20が所定時間以上停止している、または、低速で移動しているということは、ロボットアーム20が作業を行うにあたって重要な位置である可能性があるため、その位置を強制的に記憶することにより、教示者が教示ボタン41を押し忘れた場合であっても、その位置および姿勢を記憶しておくことができる。よって、教示ボタン41の押し忘れを防止することができる。
【0072】
第3記憶モードは、ロボットアーム20の位置および姿勢と、既に記憶されているロボットアーム20の位置および姿勢との乖離が、所定値以上になったとき、ロボットアーム20の位置および姿勢を記憶するモードである。「ロボットアーム20の位置および姿勢の乖離が所定値以上になる」とは、ロボット座標系における位置が所定値以上乖離したということである。すなわち、比較的大きくロボットアーム20が移動して姿勢が変形したということである。
【0073】
この場合、ロボットアーム20の位置および姿勢を記憶すべきタイミングであることが多い傾向にあるため、第3記憶モードを有することにより、教示ボタン41の押し忘れを防止することができる。
【0074】
第4記憶モードは、ロボットアーム20に設置されたエンドエフェクター7への動作指令が入力された場合、ロボットアーム20の位置および姿勢を記憶するモードである。エンドエフェクター7への動作指令とは、エンドエフェクター7を上下させたり、エンドエフェクター7を作動させたりする指令のことである。この動作指令は、例えば、教示装置3を介して教示者が入力し、その信号が制御装置8を介してエンドエフェクター7に入力される。
【0075】
エンドエフェクター7に対して動作指令が入力されたということは、ロボットアーム20が作業を行うにあたって重要な位置であるため、その位置を強制的に記憶することにより、教示者が教示ボタン41を押し忘れた場合であっても、その位置および姿勢を記憶しておくことができる。よって、教示ボタン41の押し忘れを防止することができる。
【0076】
第5記憶モードは、ロボットアーム20の作業対象物を撮像する撮像部9への動作指令が実行された場合、ロボットアーム20の位置および姿勢を記憶するモードである。撮像部9への動作指令とは、撮像部9が撮像を行わせる指令のことである。この動作指令は、例えば、教示装置3を介して教示者が入力し、その信号が制御装置8を介して撮像部9に入力される。
【0077】
撮像部9に対して動作指令が入力されたということは、ロボットアーム20が作業を行うにあたって重要な位置であるため、その位置を強制的に記憶することにより、教示者が教示ボタン41を押し忘れた場合であっても、その位置および姿勢を記憶しておくことができる。よって、教示ボタン41の押し忘れを防止することができる。
【0078】
第6記憶モードは、ロボット2の電源を切る指令が入力された場合、ロボットアーム20の位置および姿勢を記憶する。ロボット2の電源を切る指令は、教示者が図示しない電源ボタンを押した際、その情報が例えば教示装置3の入力部35に入力される。
【0079】
教示の途中で、例えば、
図6に示すような位置で電源を切った場合、ロボットアーム20が初期位置に戻るよう設定されていることがある。この場合、どの位置で教示を再開すべきかわからなくなってしまい、最初からやり直す必要がある。このため、ロボット2の電源を切る指令が入力された場合、ロボットアーム20の位置および姿勢を記憶しておくことにより、作業の再開を正確に行うことができる。
【0080】
このように、ロボットシステム100では、通常記憶モードである第1記憶モードを実行しつつ、第2記憶モード~第6記憶モードを実行する。これにより、教示ボタン41の押し忘れによる教示ミスを防止して、教示すべきタイミングで教示を行うことができる。よって、正確な教示を行うことができ、ひいては、ロボット2が正確な作業を行うことができる。
【0081】
なお、上記では、第1記憶モード~第6記憶モードを実行する構成について述べたが、本発明ではこれに限定されず、少なくとも第1記憶モードおよび第2記憶モードを実行する構成であれば、本発明の効果を十分に得ることができる。
【0082】
以上説明したように、ロボットシステム100は、ロボットアーム20と、教示者によるロボットアーム20に対する教示指示が入力される入力部35と、ロボットアーム20の位置および姿勢を記憶する記憶部32と、ロボットアーム20の作動を制御する制御部であるCPU31と、を備える。また、CPU31は、教示指示が入力部35に入力されたときにロボットアーム20の位置および姿勢を記憶部32に記憶する第1記憶モードと、ロボットアーム20の制御点TCPの移動速度が所定速度以下の状態またはロボットアーム20の制御点TCPの角速度が所定角速度以下の状態を、所定時間以上満足したときに、ロボットアーム20の位置および姿勢を記憶する第2記憶モードと、を実行する。これにより、例えば、教示ボタン41の押し忘れによる教示ミスを防止して、教示すべきタイミングで教示を行うことができる。よって、正確な教示を行うことができ、ひいては、ロボット2が正確な作業を行うことができる。
【0083】
また、ロボットシステム100では、教示した記憶データ、すなわち、教示したロボットアーム20の経路を表示部34に表示することができる。例えば、表示部34は、
図7に示すように、表示部34に、位置P1と、位置P2と、それらの間の位置P3とを表示する。位置P1および位置P2は、丸い印で表示し、位置P3は、四角い印で表示する。なお、位置P3は、前述した第2記憶モード~第6記憶モードのいずれかで記憶されたロボットアーム20の教示情報である。
【0084】
なお、図示の構成では、2次元的に制御点TCPの位置を表示しているが、本発明ではこれに限定されず、3次元的にロボットアーム20の位置および姿勢を示す構成であってもよい。
【0085】
また、このような表示ステップは、教示内容の表示指示があった場合に実行する構成であってもよく、教示ステップが完了すると自動で実行される構成であってもよい。なお、表示指示は、例えば、教示装置3から教示者が入力することができる。
【0086】
また、図示のように、印の形状で区別する構成に限定されず、色や大きさ等を異ならせることにより区別する構成であってもよい。
【0087】
このように、第1記憶モードにおける教示情報と、第2記憶モードにおける教示情報と、を区別して表示することにより、教示者は、どの位置で教示ボタンを押し忘れたかや、どの位置で作業を再開すべきかを容易に把握することができる。
【0088】
次に、CPU31が行う制御動作を
図8に示すフローチャートに基づいて説明する。なお、以下で説明するステップは、CPU31とCPU81とが分担して行ってもよい。
【0089】
まず、ステップS101において、動作指示に基づいて、ロボットアーム20を駆動して、教示を開始する。本実施形態では、動作指示は、教示者がロボットアーム20に加える力のことであるが、これに限定されず、教示装置3を介してロボットアーム20を動作させる操作であってもよい。
【0090】
次に、ステップS102において、教示指示が入力されたか否かを判断する。本実施形態では、教示ボタン41が押されたか否かを判断する。ステップS102において、教示指示が入力されたと判断した場合、ステップS108に移行し、そのときのロボットアーム20の位置および姿勢を記憶する。一方、ステップS102において、教示指示が入力されていないと判断した場合、ステップS103に移行する。
【0091】
次に、ステップS103において、制御点TCPの移動速度または角速度が停止条件を所定時間以上満足しているか否かを判断する。ステップS103において、停止条件を所定時間以上満足していると判断した場合、ステップS108に移行し、そのときのロボットアーム20の位置および姿勢を記憶する。一方、ステップS103において、制御点TCPの移動速度が停止条件を満足していないと判断した場合、ステップS104に移行する。
【0092】
次に、ステップS104において、現在のロボットアーム20の位置および姿勢が、前回記憶したロボットアーム20の位置および姿勢と、所定値以上乖離しているか否かを判断する。ステップS104において、所定値以上乖離していると判断した場合、ステップS108に移行し、そのときのロボットアーム20の位置および姿勢を記憶する。一方、ステップS104において、現在のロボットアーム20の位置および姿勢が、前回記憶したロボットアーム20の位置および姿勢と、所定値以上乖離していないと判断した場合、ステップS105に移行する。
【0093】
次に、ステップS105において、エンドエフェクター7への動作指示があったか否かを判断する。エンドエフェクター7への動作指示があったと判断した場合、ステップS108に移行し、そのときのロボットアームの位置および姿勢を記憶する。一方、ステップS105において、エンドエフェクター7への動作指示がないと判断した場合、ステップS106に移行する。
【0094】
次に、ステップS106において、撮像部9への動作指示があったか否かを判断する。撮像部9への動作指示があったと判断した場合、ステップS108に移行し、そのときのロボットアーム20の位置および姿勢を記憶する。一方、ステップS106において、撮像部9への動作指示がないと判断した場合、ステップS107に移行する。
【0095】
次に、ステップS107において、電源をOFFにする指示があったか否かを判断する。電源をOFFにする指示があったと判断した場合、ステップS108に移行し、そのときのロボットアームの位置および姿勢を記憶する。一方、ステップS107において、電源をOFFにする指示がないと判断した場合、ステップS109に移行する。
【0096】
次に、ステップS109において、教示が完了したか否かを判断する。本ステップでは、教示者が教示ボタン41を押したか否に基づいて判断する。ステップS109において、教示が完了したと判断した場合、教示プログラムを終了し、ステップS110に移行する。一方、ステップS109において、教示が完了していないと判断した場合、ステップS101に戻り、以降のステップを順次繰り返す。
【0097】
次に、ステップS110において、表示指示があったか否かを判断する。すなわち、教示装置3の表示部34において、図示しない表示ボタンが押されたか否かを判断する。ステップS110において、表示指示があったと判断した場合、ステップS111において、例えば、
図7に示すように、教示結果を表示する。一方、ステップS110において、表示指示がなかったと判断した場合、全てのプログラムを終了する。
【0098】
このようなステップS101~ステップS111において、ステップS101~ステップS109までが教示ステップであり、ステップS110およびステップS111が表示ステップである。
【0099】
以上説明したように、本発明の教示方法は、ロボットアーム20を備えるロボット2に対し、教示者による動作指示に基づいてロボットアーム20を駆動しつつ、ロボットアーム20の位置および姿勢を記憶する教示ステップを有する。また、教示ステップは、教示者から教示指示が入力されたときにロボットアーム20の位置および姿勢を記憶する第1記憶モードと、ロボットアーム20の制御点TCPの移動速度が所定速度以下の状態またはロボットアーム20の制御点TCPの角速度が所定角速度以下の状態を、所定時間以上満足したときに、ロボットアーム20の位置および姿勢を記憶する第2記憶モードと、を有する。これにより、例えば、教示ボタン41の押し忘れによる教示ミスを防止して、教示すべきタイミングで教示を行うことができる。よって、正確な教示を行うことができ、ひいては、ロボット2が正確な作業を行うことができる。
【0100】
また、教示ステップは、ロボットアーム20の位置および姿勢と、既に記憶されているロボットアーム20の位置および姿勢との乖離が、所定値以上になったとき、ロボットアーム20の位置および姿勢を記憶する第3記憶モードを有する。これにより、教示ボタン41の押し忘れによる教示ミスを防止することができる。
【0101】
また、教示ステップは、ロボットアーム20に設置されたエンドエフェクター7への動作指令が入力された場合、ロボットアーム20の位置および姿勢を記憶する第4記憶モードを有する。これにより、教示ボタン41の押し忘れによる教示ミスを防止することができる。
【0102】
また、教示ステップは、ロボットアーム20の作業対象物を撮像する撮像部9への動作指令が実行された場合、ロボットアーム20の位置および姿勢を記憶する第5記憶モードを有する。これにより、教示ボタン41の押し忘れによる教示ミスを防止することができる。
【0103】
また、教示ステップは、ロボット2の電源を切る指令が入力された場合、ロボットアーム20の位置および姿勢を記憶する第6記憶モードを有する。これにより、教示を再開する際、再開位置を容易に把握することができる。
【0104】
また、本発明の教示方法は、教示ステップで記憶したロボットアーム20の位置および姿勢の記憶データに基づいて、ロボットアーム20の位置および姿勢を表示する表示ステップを有する。
【0105】
また、表示ステップでは、第1記憶モードで記憶したロボットアーム20の位置および姿勢と、第1記憶モード以外の記憶モードで記憶したロボットアーム20の位置および姿勢と、を区別して表示する。これにより、教示者は、どの位置で教示ボタンを押し忘れたかや、どの位置で教示を再開すべきかを容易に把握することができる。
【0106】
<第2実施形態>
図9は、本発明の教示方法を実行するロボットシステムの第2実施形態の表示画面を示す図である。
【0107】
以下、この図を参照しつつ本発明の教示方法およびロボットシステムの第2実施形態について説明するが、以下では、第1実施形態との相違点を説明する。
【0108】
本実施形態では、間接教示について説明する。
図9に示すように本実施形態では、教示装置3の表示部34の表示画面341において教示が行われる。すなわち、表示画面341上で、教示コマンドを並べていくことにより、教示が行われる。
【0109】
図示の構成では、「動かす」というコマンド、「動かす」というコマンド、「自動保存」というコマンド、「ビジョン動作」というコマンド、「自動保存」というコマンド、「ハンド動作」というコマンドと、「自動保存」というコマンドとが上側から並んでいる。
【0110】
これらのコマンドは、図示しないコマンド群から教示者によって選択されたものである。「動かす」というコマンドを選択した際、表示画面341中の図示しない位置設定部から目的位置を設定することができる。
【0111】
なお、図示の例では、「動かす」というコマンドを2回続けて設定した際、ロボットアーム20が停止条件を満足したため、自動保存、すなわち、そのときのロボットアーム20の位置および姿勢の記憶を行っている。
【0112】
そして、その後、「ビジョン動作」のコマンドが選択された、すなわち、撮像部9に対する動作指令が入力されたため、そのときのロボットアーム20の位置および姿勢の記憶を行っている。
【0113】
そして、その後、「ハンド動作」のコマンドが選択された、すなわち、エンドエフェクター7に対する動作指令が入力されたため、そのときのロボットアーム20の位置および姿勢の記憶を行っている。
【0114】
このように、間接教示においても、第1記憶モード~第6記憶モードを実行することができる。よって、例えば、教示ボタン41の押し忘れによる教示ミスを防止して、教示すべきタイミングで教示を行うことができる。その結果、正確な教示を行うことができ、ひいては、ロボット2が正確な作業を行うことができる。
【0115】
以上、本発明の教示方法およびロボットシステムを図示の実施形態に基づいて説明したが、本発明は、これに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、教示方法およびロボットシステムには、それぞれ他の任意の構成物、工程が付加されていてもよい。また、ロボットは、スカラロボットを用いたが、これに限定されず、垂直多関節ロボットや直交ロボットであってもよい。
【符号の説明】
【0116】
2…ロボット、3…教示装置、4…受付部、5…力検出部、7…エンドエフェクター、8…制御装置、9…撮像部、20…ロボットアーム、21…基台、22…第1アーム、23…第2アーム、24…第3アーム、25…駆動ユニット、26…駆動ユニット、27…u駆動ユニット、28…z駆動ユニット、29…角速度センサー、31…CPU、32…記憶部、33…通信部、34…表示部、35…入力部、41…教示ボタン、81…CPU、82…記憶部、83…通信部、100…ロボットシステム、220…筐体、230…筐体、241…シャフト、251…モーター、252…減速機、253…位置センサー、261…モーター、262…減速機、263…位置センサー、271…モーター、272…減速機、273…位置センサー、281…モーター、282…減速機、283…位置センサー、341…表示画面、O1…第1軸、O2…第2軸、O3…第3軸、TCP…制御点、A…位置、B…位置、C…位置