(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-04
(45)【発行日】2023-12-12
(54)【発明の名称】教示装置、制御方法および教示プログラム
(51)【国際特許分類】
B25J 9/22 20060101AFI20231205BHJP
G05B 19/42 20060101ALI20231205BHJP
【FI】
B25J9/22 A
G05B19/42 J
(21)【出願番号】P 2019212397
(22)【出願日】2019-11-25
【審査請求日】2022-09-29
(73)【特許権者】
【識別番号】000002369
【氏名又は名称】セイコーエプソン株式会社
(74)【代理人】
【識別番号】100091292
【氏名又は名称】増田 達哉
(74)【代理人】
【識別番号】100091627
【氏名又は名称】朝比 一夫
(72)【発明者】
【氏名】国分 優地
【審査官】樋口 幸太郎
(56)【参考文献】
【文献】特開2007-334551(JP,A)
【文献】特開2018-015857(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 9/22
G05B 19/42
(57)【特許請求の範囲】
【請求項1】
ロボットのシミュレーションモデルである仮想ロボットに対する視点を変更可能に表示するシミュレーション領域と、前記仮想ロボットの姿勢を変更して前記仮想ロボットの制御点を移動させる複数の操作標識が表示される操作領域と、を有する表示部と、
前記表示部の作動を制御する表示制御部と、を備え、
前記シミュレーション領域には、各前記操作標識に対応する表示標識が表示されており、
前記表示制御部は、前記シミュレーション領域における前記仮想ロボットに対する前記視点の変更に連動して、前記操作領域における各前記操作標識の向きを変更
し、
前記表示制御部は、前記仮想ロボットに対する前記視点の変更に連動して、前記表示標識の向きを変更するよう前記表示部を制御することを特徴とする教示装置。
【請求項2】
前記仮想ロボットの座標系として、互いに交わるx軸およびy軸を設定したとき、
前記複数の操作標識は、前記仮想ロボットの制御点をx軸正方向に移動させる第1x操作部と、前記仮想ロボットの制御点をx軸負方向に移動させる第2x操作部と、前記仮想ロボットの制御点をy軸正方向に移動させる第1y操作部と、前記仮想ロボットの制御点をy軸負方向に移動させる第2y操作部と、を含み、
前記操作標識は、前記第1x操作部、前記第1y操作部、前記第2x操作部および前記第2y操作部、の順で反時計回りに配置されている請求項
1に記載の教示装置。
【請求項3】
前記表示制御部は、各前記表示標識の向きの変更に連動して、前記第1x操作部、前記第2x操作部、前記第1y操作部および前記第2y操作部の相対的な位置関係を維持したまま、前記第1x操作部、前記第2x操作部、前記第1y操作部および前記第2y操作部を円の周方向に沿って回転させる請求項
2に記載の教示装置。
【請求項4】
ロボットのシミュレーションモデルである仮想ロボットに対する視点を変更可能に表示するシミュレーション領域と、前記仮想ロボットの姿勢を変更して前記仮想ロボットの制御点を移動させる複数の操作標識が表示される操作領域と、を有する表示部と、
前記表示部の作動を制御する表示制御部と、を備え、
前記表示制御部は、前記シミュレーション領域における前記仮想ロボットに対する前記視点の変更に連動して、前記操作領域における各前記操作標識の向きを変更
し、
各前記操作標識の絶対的な位置を固定する固定操作部を有することを特徴とする教示装置。
【請求項5】
前記表示部は、前記仮想ロボットに対する前記視点を変更する操作を行う視点操作部を有する請求項1ないし
4のいずれか1項に記載の教示装置。
【請求項6】
前記表示部は、前記仮想ロボットに対する前記視点を変更した後に、初期視点に戻すリセット操作部を有する請求項1ないし
5のいずれか1項に記載の教示装置。
【請求項7】
教示装置が有する表示部の表示を制御する制御方法であって、
ロボットのシミュレーションモデルである仮想ロボットを含むシミュレーション領域と、前記仮想ロボットの姿勢を変更して前記仮想ロボットの制御点を移動させる複数の操作標識を含む操作領域と、を表示し、
前記シミュレーション領域には、各前記操作標識に対応する表示標識を表示し、
前記シミュレーション領域において、前記仮想ロボットに対す
る視点を変更し、
前記仮想ロボットに対する前記視点の変更に連動して、前記操作領域において各前記操作標識の向きを変更
し、
前記仮想ロボットに対する前記視点の変更に連動して、前記表示標識の向きを変更する、ことを特徴とする制御方法。
【請求項8】
教示装置が有する表示部の表示を制御する制御方法であって、
ロボットのシミュレーションモデルである仮想ロボットを含むシミュレーション領域と、前記仮想ロボットの姿勢を変更して前記仮想ロボットの制御点を移動させる複数の操作標識を含む操作領域と、を表示し、
前記シミュレーション領域において、前記仮想ロボットに対す
る視点を変更し、
前記仮想ロボットに対する前記視点の変更に連動して、前記操作領域において各前記操作標識の向きを変更
し、
固定操作部が操作されると、各前記操作標識の絶対的な位置を固定する、ことを特徴とする制御方法。
【請求項9】
請求項
7または8に記載の制御方法を実行するための教示プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、教示装置、制御方法および教示プログラムに関するものである。
【背景技術】
【0002】
ロボットが各種作業を行うのに先立って、ロボットに作業の内容を教示するために用いられる教示装置が知られている。特許文献1に記載されている教示装置は、ロボットのシミュレーションモデルを表示する表示部と、シミュレーションモデルの姿勢を変更する操作ボタンと、を有する。
【0003】
特許文献1の教示装置では、オペレーターが、シミュレーションモデルを見ながら操作ボタンを操作してシミュレーションモデルの姿勢を変更しつつ、ロボットの操作内容を教示することができる。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、シミュレーションモデルの姿勢やシミュレーションモデルに対する視点によっては、シミュレーションモデルの姿勢を変更させたい向きと操作ボタンの方向とが一致せず、教示が難しい場合がある。
【課題を解決するための手段】
【0006】
本発明は、前述した課題の少なくとも一部を解決するためになされたものであり、以下により実現することが可能である。
【0007】
本適用例の教示装置は、ロボットのシミュレーションモデルである仮想ロボットに対する視点を変更可能に表示するシミュレーション領域と、前記仮想ロボットの姿勢を変更して前記仮想ロボットの制御点を移動させる複数の操作標識が表示される操作領域と、を有する表示部と、
前記表示部の作動を制御する表示制御部と、を備え、
前記表示制御部は、前記シミュレーション領域における前記仮想ロボットに対する前記視点の変更に連動して、前記操作領域における各前記操作標識の向きを変更することを特徴とする。
【0008】
本適用例の制御方法は、教示装置が有する表示部の表示を制御する制御方法であって、
ロボットのシミュレーションモデルである仮想ロボットを含むシミュレーション領域と、前記仮想ロボットの姿勢を変更して前記仮想ロボットの制御点を移動させる複数の操作標識を含む操作領域と、を表示し、
前記シミュレーション領域において、前記仮想ロボットに対する前記視点を変更し、
前記仮想ロボットに対する前記視点の変更に連動して、前記操作領域において各前記操作標識の向きを変更する、ことを特徴とする。
【0009】
本適用例の教示プログラムは、本発明の制御方法を実行するためのものである。
【図面の簡単な説明】
【0010】
【
図1】本発明の教示装置を備えるロボットシステムの概略構成図である。
【
図2】
図1に示すロボットシステムのブロック図である。
【
図3】
図1に示す教示装置が備える表示部の表示画面を示す図である。
【
図4】
図1に示す教示装置が備える表示部の表示画面を示す図である。
【
図5】
図1に示す教示装置が備える表示部の表示画面を示す図である。
【
図6】
図1に示す教示装置が備える表示部の表示画面を示す図である。
【
図7】
図1に示す教示装置が備える表示部の表示画面を示す図である。
【
図8】
図1に示す教示装置が備える表示部の表示画面を示す図である。
【
図9】
図1に示す教示装置が備える表示部の表示画面を示す図である。
【
図10】
図1に示す教示装置の制御方法を説明するためのフローチャートである。
【発明を実施するための形態】
【0011】
以下、本発明の教示装置、制御方法および教示プログラムを添付図面に示す好適な実施形態に基づいて詳細に説明する。
【0012】
<第1実施形態>
図1は、本発明の教示装置を備えるロボットシステムの概略構成図である。
図2は、
図1に示すロボットシステムのブロック図である。
図3は、
図1に示す教示装置が備える表示部の表示画面を示す図である。
図4は、
図1に示す教示装置が備える表示部の表示画面を示す図である。
図5は、
図1に示す教示装置が備える表示部の表示画面を示す図である。
図6は、
図1に示す教示装置が備える表示部の表示画面を示す図である。
図7は、
図1に示す教示装置が備える表示部の表示画面を示す図である。
図8は、
図1に示す教示装置が備える表示部の表示画面を示す図である。
図9は、
図1に示す教示装置が備える表示部の表示画面を示す図である。
図10は、
図1に示す教示装置の制御方法を説明するためのフローチャートである。
【0013】
また、
図1では、説明の便宜上、互いに直交する3軸として、x軸、y軸およびz軸を図示している。また、以下では、x軸に平行な方向を「x軸方向」、y軸に平行な方向を「y軸方向」、z軸に平行な方向を「z軸方向」とも言う。また、以下では、図示された各矢印の先端側を「+(プラス)」、基端側を「-(マイナス)」と言い、また、z軸回りの方向およびz軸に平行な軸回りの方向を「u軸方向」とも言う。また、「x軸方向」のうち、矢印の先端側に向かう方向を「x軸正方向」、矢印の基端側に向かう方向を「x軸負方向」とも言う。また、「y軸方向」のうち、矢印の先端側に向かう方向を「y軸正方向」、矢印の基端側に向かう方向を「y軸負方向」とも言う。また、「z軸方向」のうち、矢印の先端側に向かう方向を「z軸正方向」、矢印の基端側に向かう方向を「z軸負方向」とも言う。また、「u軸方向」のうち、z軸負方向に見て、反時計回りの方向を「u軸正方向」、z軸負方向に見て、時計周りの方向を「u軸負方向」とも言う。
【0014】
また、以下では、説明の便宜上、
図2中のz軸正方向、すなわち、上側を「上」または「上方」、z軸負方向、すなわち、下側を「下」または「下方」とも言う。また、ロボットアーム20については、
図1中の基台21側を「基端」、その反対側、すなわち、エンドエフェクター7側を「先端」と言う。また、
図1中のz軸方向、すなわち、上下方向を「鉛直方向」とし、x軸方向およびy軸方向、すなわち、左右方向を「水平方向」とする。
【0015】
図1および
図2に示すロボットシステム100は、例えば、電子部品および電子機器等のワークの保持、搬送、組立ておよび検査等の作業で用いられる装置である。ロボットシステム100は、ロボット2と、ロボット2に対して動作プログラムを教示する教示装置3と、を備える。また、ロボット2と教示装置3とは、有線または無線により通信可能とされ、その通信は、インターネットのようなネットワークを介してなされてもよい。
【0016】
教示とは、ロボット2に対して動作プログラムを指定することを言い、具体的には、ロボットアーム20の位置、姿勢を制御装置8に入力することを言う。この教示には、直接教示と間接教示とがあり、本発明は、教示装置3を用いた間接教示に関する。
【0017】
直接教示とは、ロボットアーム20に外力を加えつつロボットアーム20を所定の位置、姿勢に移動させながら、所望のタイミングで受付部4の教示ボタンを操作することにより、ロボットアーム20の動作を制御装置8または教示装置3に記憶することを言う。
【0018】
また、間接教示とは、後述する表示部34に表示される仮想ロボット2Aの位置、姿勢を変更しつつ所望のタイミングで表示部34の教示ボタンを操作することにより、ロボットアーム20の動作を制御装置8または教示装置3に記憶することを言う。
【0019】
まず、ロボット2について説明する。
ロボット2は、図示の構成では、水平多関節ロボット、すなわち、スカラロボットである。
図1に示すように、ロボット2は、基台21と、基台21に接続されたロボットアーム20と、オペレーターからの所定の操作を受け付ける受付部4と、力検出部5と、エンドエフェクター7と、これら各部の作動を制御する制御装置8と、を有する。
【0020】
基台21は、ロボットアーム20を支持する部分である。基台21には、後述する制御装置8が内蔵されている。また、基台21の任意の部分には、ロボット座標系の原点が設定されている。なお、
図1に示すx軸、y軸およびz軸は、ロボット座標系の軸である。
【0021】
ロボットアーム20は、第1アーム22と、第2アーム23と、作業ヘッドである第3アーム24と、を備えている。
【0022】
なお、ロボット2は、図示の構成に限定されず、アームの数は、1つまたは2つであってもよく、4つ以上であってもよい。
【0023】
また、ロボット2は、第1アーム22を基台21に対して回転させる駆動ユニット25と、第2アーム23を第1アーム22に対して回転させる駆動ユニット26と、第3アーム24のシャフト241を第2アーム23に対して回転させるu駆動ユニット27と、シャフト241を第2アーム23に対してz軸方向に移動させるz駆動ユニット28と、角速度センサー29とを備えている。
【0024】
図1および
図2に示すように、駆動ユニット25は、第1アーム22の筐体220内に内蔵されており、駆動力を発生するモーター251と、モーター251の駆動力を減速する減速機252と、モーター251または減速機252の回転軸の回転角度を検出する位置センサー253とを有している。
【0025】
駆動ユニット26は、第2アーム23の筐体230に内蔵されており、駆動力を発生するモーター261と、モーター261の駆動力を減速する減速機262と、モーター261または減速機262の回転軸の回転角度を検出する位置センサー263とを有している。
【0026】
u駆動ユニット27は、第2アーム23の筐体230に内蔵されており、駆動力を発生するモーター271と、モーター271の駆動力を減速する減速機272と、モーター271または減速機272の回転軸の回転角度を検出する位置センサー273とを有している。
【0027】
z駆動ユニット28は、第2アーム23の筐体230に内蔵されており、駆動力を発生するモーター281と、モーター281の駆動力を減速する減速機282と、モーター281または減速機282の回転軸の回転角度を検出する位置センサー283とを有している。
【0028】
モーター251、モーター261、モーター271およびモーター281としては、例えば、ACサーボモーター、DCサーボモーター等のサーボモーターを用いることができる。
【0029】
また、減速機252、減速機262、減速機272および減速機282としては、例えば、遊星ギア型の減速機、波動歯車装置等を用いることができる。また、位置センサー253、位置センサー263、位置センサー273および位置センサー283は、例えば、角度センサーとすることができる。
【0030】
駆動ユニット25、駆動ユニット26、u駆動ユニット27およびz駆動ユニット28は、それぞれ、対応する図示しないモータードライバーに接続されており、モータードライバーを介して制御装置8により制御される。
【0031】
また、角速度センサー29は、
図1に示すように、第2アーム23に内蔵されている。このため、第2アーム23の角速度を検出することができる。この検出した角速度の情報に基づいて、制御装置8は、ロボット2の制御を行う。
【0032】
基台21は、例えば、図示しない床面にボルト等によって固定されている。基台21の上端部には第1アーム22が連結されている。第1アーム22は、基台21に対して鉛直方向に沿う第1軸O1回りに回転可能となっている。第1アーム22を回転させる駆動ユニット25が駆動すると、第1アーム22が基台21に対して第1軸O1回りに水平面内で回転する。また、位置センサー253により、基台21に対する第1アーム22の回転量が検出できるようになっている。
【0033】
また、第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の駆動量、具体的には、回転量が検出できるようになっている。
【0034】
また、第2アーム23の先端部には、第3アーム24が設置、支持されている。第3アーム24は、シャフト241を有している。シャフト241は、第2アーム23に対して、鉛直方向に沿う第3軸O3回りに回転可能であり、かつ、上下方向に移動可能となっている。このシャフト241は、ロボットアーム20の最も先端のアームである。
【0035】
シャフト241を回転させるu駆動ユニット27が駆動すると、シャフト241は、z軸回りに回転する。また、位置センサー273により、第2アーム23に対するシャフト241の回転量が検出できるようになっている。
【0036】
また、シャフト241をz軸方向に移動させるz駆動ユニット28が駆動すると、シャフト241は、上下方向、すなわち、z軸方向に移動する。また、位置センサー283により、第2アーム23に対するシャフト241のz軸方向の移動量が検出できるようになっている。
【0037】
また、ロボット2では、シャフト241の先端を制御点TCPとし、この制御点TCPを原点とした先端座標系が設定されている。また、この先端座標系は、前述したロボット座標系とキャリブレーションが済んでおり、先端座標系での位置をロボット座標系に変換することができる。これにより、制御点TCPの位置を、ロボット座標系で特定することができる。
【0038】
また、シャフト241の先端部には、各種のエンドエフェクターが着脱可能に連結される。エンドエフェクターとしては、特に限定されず、例えば、被搬送物を把持するもの、被加工物を加工するもの、検査に使用するもの等が挙げられる。本実施形態では、エンドエフェクター7が着脱可能に連結される。
【0039】
なお、エンドエフェクター7は、本実施形態では、ロボット2の構成要素になっていないが、エンドエフェクター7の一部または全部がロボット2の構成要素になっていてもよい。
【0040】
図1に示すように、力検出部5は、ロボット2に加わる力、すなわち、ロボットアーム20および基台21に加わる力を検出するものである。力検出部5は、本実施形態では、基台21の下方、すなわち、z軸負方向に設けられており、基台21を下方から支持している。
【0041】
力検出部5は、例えば、水晶等の圧電体で構成され、外力を受けると電荷を出力する複数の素子を有する構成とすることができる。また、制御装置8は、この電荷量に応じて、ロボットアーム20が受けた外力に変換することができる。また、このような圧電体であると、設置する向きに応じて、外力を受けた際に電荷を発生させることができる向きを調整可能である。
【0042】
また、受付部4は、オペレーターの所定の操作を受け付ける部位である。受付部4は、図示はしないが教示ボタンを有している。この教示ボタンは、直接教示を行う場合に用いることができる。教示ボタンは、メカニカルボタンであってもよく、タッチ式のエレクトリックボタンであってもよい。また、操作ボタンの周囲には、機能が異なるボタンが設置されていてもよい。
【0043】
次に、制御装置8について説明する。
図1および
図2に示すように、制御装置8は、本実施形態では、基台21に内蔵されている。また、
図5に示すように、制御装置8は、ロボット2の駆動を制御する機能を有し前述したロボット2の各部と電気的に接続されている。制御装置8は、CPU(Central Processing Unit)81と、記憶部82と、通信部83と、を有する。これらの各部は、例えばバスを介して相互に通信可能に接続されている。
【0044】
CPU81は、記憶部82に記憶されている各種プログラム等を読み出し、実行する。CPU81で生成された指令信号は、通信部83を介してロボット2に送信される。これにより、ロボットアーム20が所定の作業を実行することができる。
【0045】
記憶部82は、CPU81が実行可能な各種プログラム等を保存する。記憶部82としては、例えば、RAM(Random Access Memory)等の揮発性メモリー、ROM(Read Only Memory)等の不揮発性メモリー、着脱式の外部記憶装置等が挙げられる。
【0046】
通信部83は、例えば有線LAN(Local Area Network)、無線LAN等の外部インターフェースを用いてロボット2の各部および教示装置3との間でそれぞれ信号の送受信を行う。
【0047】
次に、教示装置3について説明する。
図2に示すように、教示装置3は、ロボットアーム20の作動を制御する機能を有し、
図2に示すように、CPU(Central Processing Unit)31と、記憶部32と、通信部33と、表示部34とを有する。教示装置3としては、特に限定されず、例えば、タブレット、パソコン、スマートフォン等が挙げられる。
【0048】
CPU31は、記憶部32に記憶されている各種プログラム等を読み出し、実行する。
各種プログラムとしては、例えば、後述する本発明の教示プログラム等が挙げられる。この教示プログラムは、教示装置3で生成されたものであってもよく、例えばCD-ROM等の外部記録媒体から記憶されたものであってもよく、ネットワーク等を介して記憶されたものであってもよい。
【0049】
CPU31で生成された信号は、通信部33を介してロボット2の制御装置8に送信される。これにより、ロボットアーム20が所定の作業を所定の条件で実行したりすることができる。また、CPU31は、
図3~
図9に示す表示部34の駆動を制御する。すなわち、CPU31は、表示部34の作動を制御する表示制御部として機能する。
【0050】
記憶部32は、CPU31が実行可能な各種プログラム等を保存する。記憶部32としては、例えば、RAM(Random Access Memory)等の揮発性メモリー、ROM(Read Only Memory)等の不揮発性メモリー、着脱式の外部記憶装置等が挙げられる。
【0051】
通信部33は、例えば有線LAN(Local Area Network)、無線LAN等の外部インターフェースを用いて制御装置8との間で信号の送受信を行う。
【0052】
表示部34は、表示画面6を有する各種ディスプレイで構成されている。本実施形態では、一例としてタッチパネル式、すなわち、表示部34が表示機能と入力操作機能とを備える構成として説明する。オペレーターが表示画面6を触ると、CPU31は、所定の表示に切り替えたりする制御を行う。
【0053】
ただし、このような構成に限定されず、別途、入力操作部を備える構成であってもよい。この場合、入力操作部は、例えば、マウス、キーボード等が挙げられる。また、タッチパネルと、マウス、キーボードを併用する構成であってもよい。
【0054】
間接教示中(以下、単に「教示中」と言う)、表示部34は、表示画面6に、
図3~
図9に示すようなウインドウを表示する。このウインドウは、シミュレーション領域6Aと、操作領域6Bと、状態表示領域6Cと、速度調整部6Dと、を有する。シミュレーション領域6Aと状態表示領域6Cとは、この順で上側から並んで表示される。操作領域6Bと速度調整部6Dとは、この順で上側から並んで表示される。また、シミュレーション領域6Aと操作領域6Bとは、図示の構成では、この順で左側からこの順で並んで表示される。
【0055】
ただし、本発明では、図示のような配置に限定されない。また、シミュレーション領域6A、操作領域6B、状態表示領域6Cおよび速度調整部6Dが、異なるディスプレイにそれぞれ表示される構成であってもよい。
【0056】
シミュレーション領域6Aは、教示中のロボット2のシミュレーションモデルである仮想ロボット2Aを表示する。仮想ロボット2Aは、ロボット2に基づいて生成された3DCGであってもよく、ロボット2をリアルタイムで撮像した映像であってもよい。
【0057】
また、仮想ロボット2Aと前述したロボット2は、同じ構成であり、仮想ロボット2Aの各部には、
図1に示すロボット2の各部と同じ符号が入るが、説明の都合上、
図3~
図9では、符号を省略している。
【0058】
また、仮想ロボット2Aには、前述したロボット座標系に対応する仮想ロボット座標系が設定されており、シミュレーション領域6Aには、この仮想ロボット座標系におけるx軸方向、y軸方向、z軸方向およびu軸方向を示す複数の表示標識61Aが表示されている。
【0059】
表示標識61Aは、「+x」の文字が付された矢印611Aと、「-x」の文字が付された矢印612Aと、「+y」の文字が付された矢印613Aと、「-y」の文字が付された矢印614Aと、「+u」の文字が付された矢印615Aと、「-u」の文字が付された矢印616Aとを含む。これらの矢印611A~矢印616Aは、各軸の方向を示す表示標識であり、仮想ロボット2Aのツールセンターポイントに対応する位置に表示されている。また、これらの矢印611A~矢印616Aが指す方向は、仮想ロボット座標系におけるx軸正方向、x軸負方向、y軸正方向、y軸負方向、z軸正方向、z軸負方向、u軸正方向およびu軸負方向とそれぞれ一致している。
【0060】
また、表示画面6のシミュレーション領域6Aに対応する領域をスワイプすると、すなわち、指で触れたまま指を移動させると、その方向に応じて視点が変更されて見え方が変わる。これにより、オペレーターは、所望の視点に変更することができ、仮想ロボット2Aを所望の方向から見ることができる。すなわち、本実施形態では、タッチ式の表示画面6が視点操作部として機能する。なお、本明細書において、視点とは視線の向きのことを言い、仮想ロボットに対する視点とは、シミュレーションモデルを見る向きのことを言う。
【0061】
このように表示部34は、仮想ロボット2Aに対する視点を変更する操作を行う視点操作部としての表示画面6を有する。これにより、オペレーターは、所望の視点に変更することができ、仮想ロボット2Aを所望の方向から見ることができる。
【0062】
なお、視点操作部としては、上記に限定されず、例えば、表示画面6に表示されたボタン等であってもよい。この場合、ボタンが視点操作部として機能する。また、表示画面6がタッチ式ではない場合、例えば、マウスを用いて表示画面6上のカーソルを移動させつつ操作を行ってもよい。
【0063】
例えば、表示画面6のシミュレーション領域6Aに表示される「Front」の文字が付された操作ボタン601Aに対応する位置に触れると、初期視点に戻るよう構成されていてもよく、「Top」の文字が付された操作ボタン602Aに対応する位置に触れると、仮想ロボット2Aをz軸負方向に見る視点に戻るように構成されていてもよい。すなわち、本実施形態では、操作ボタン601A、操作ボタン602Aがリセット操作部603Aとして機能する。
【0064】
このように表示部34は、仮想ロボット2Aに対する視点を変更した後に、初期視点に戻すリセット操作部603Aを有する。これにより、操作中に初期視点に戻したい場合、即座に初期視点に戻すことができ、利便性に優れる。
なお、後述する連動モードの場合、矢印611B~矢印616Bも初期位置に戻る。
【0065】
また、視点の変更に応じて、矢印611A~矢印616Aも移動するが、どの位置においても、矢印611A~矢印616Aが指す方向は、仮想ロボット座標系におけるx軸正方向、x軸負方向、y軸正方向、y軸負方向、z軸正方向、z軸負方向、u軸正方向およびu軸負方向とそれぞれ一致している。換言すれば、視点変更の際、矢印611A~矢印616Aは、各々が指す方向が仮想ロボット座標系におけるx軸正方向、x軸負方向、y軸正方向、y軸負方向、z軸正方向、z軸負方向、u軸正方向およびu軸負方向とそれぞれ一致するように、移動する。
【0066】
このように、シミュレーション領域6Aには、操作標識61Bに対応する表示標識61Aとしての矢印611A~矢印616Aが表示されている。また、表示制御部としてのCPU31は、仮想ロボット2Aに対する視点の変更に連動して、矢印611A~矢印616Aの向きを変更するよう表示部34を制御する。これにより、視点を変更したとしても、仮想ロボット2Aの姿勢を把握しやすくすることができる。
【0067】
また、状態表示領域6Cは、座標表示部61Cと、回転量表示部62Cと、腕モード表示部63Cとを有する。
【0068】
座標表示部61Cは、仮想ロボット2Aの各アームの仮想ロボット座標系における位置、すなわち座標を表示する。回転量表示部62Cは、仮想ロボット2Aの各関節の回転量を表示する。腕モード表示部63Cは、左腕モードであるか右腕モードであるかを表示する。なお、左腕モードおよび右腕モードは、第1アームおよび第2アームの接続部の関節の角度で決まる。
【0069】
このような状態表示領域6Cの表示内容、すなわち、数値、文字は、仮想ロボット2Aの姿勢の変更に伴って変化する。これにより、オペレーターは、仮想ロボット2Aの姿勢をより正確に把握しやすくなり、教示操作をより簡単に行うことができる。
【0070】
また、操作領域6Bは、複数の操作標識61Bと、第1モード切替部62Bと、第2モード切替部63Bとを有する。
【0071】
複数の操作標識61Bは、「+x」の文字が付された矢印611Bと、「-x」の文字が付された矢印612Bと、「+y」の文字が付された矢印613Bと、「-y」の文字が付された矢印614Bと、「+u」の文字が付された矢印615Bと、「-u」の文字が付された矢印616Bと、「+z」の文字が付された矢印617Bと、「-z」の文字が付された矢印618Bと、を含む。
【0072】
矢印611Bと矢印612Bとは、互いに反対側を指しており、矢印613Bと矢印614Bとは、互いに反対側を指している。また、矢印611B~矢印614Bは、円Sの周方向に沿って等間隔で配置されている。また、後述するように、矢印611B~矢印614Bは、円Sの周方向に沿って回転移動するが、矢印611B~矢印614Bの相対的な位置は変化しない。
【0073】
矢印615Bおよび矢印616Bは、円弧状をなしており、円Sの内側に配置されている。また、矢印615Bおよび矢印616Bは、互いに反対方向を指している。すなわち、矢印615Bは、反時計回りの方向を指し、矢印616Bは、時計回りの方向を指している。
【0074】
また、後述するように、矢印615Bおよび矢印616Bは、円Sの周方向に沿って回転移動するが、矢印615Bおよび矢印616Bの相対的な位置は変化しない。また、矢印615Bおよび矢印616Bは、矢印611B~矢印614Bに対する相対的な位置も変化しない。すなわち、矢印611B~矢印616Bは、互いの相対的な位置関係を維持しつつ回転する。
【0075】
矢印617Bおよび矢印618Bは、互いに反対方向を指しており、矢印617Bは、上側を指し、矢印618Bは下側を指している。なお、矢印617Bおよび矢印618Bは、矢印611B~矢印616Bの回転に連動しない。すなわち、矢印611B~矢印616Bが回転しても、矢印617Bおよび矢印618Bの位置は固定されたままである。ただし、これに限定されず、矢印617Bおよび矢印618Bは、矢印611B~矢印616Bの回転に伴って、反転したり、回転したりしてもよい。
【0076】
矢印611Bは、仮想ロボット2Aの制御点をx軸正方向に移動させる第1x操作部である。オペレーターが表示画面6の矢印611Bに対応する位置に触れると、仮想ロボット2Aは、制御点がx軸正方向、すなわち、+x軸側に移動するように姿勢を変更する。
【0077】
矢印612Bは、仮想ロボット2Aの制御点をx軸負方向に移動させる第2x操作部である。オペレーターが表示画面6の矢印612Bに対応する位置に触れると、仮想ロボット2Aは、制御点がx軸負方向、すなわち、-x軸側に移動するように姿勢を変更する。
【0078】
矢印613Bは、仮想ロボット2Aの制御点をy軸正方向に移動させる第1y操作部である。オペレーターが表示画面6の矢印613Bに対応する位置に触れると、仮想ロボット2Aは、制御点がy軸正方向、すなわち、+y軸側に移動するように姿勢を変更する。
【0079】
矢印614Bは、仮想ロボット2Aの制御点をy軸負方向に移動させる第2y操作部である。オペレーターが表示画面6の矢印614Bに対応する位置に触れると、仮想ロボット2Aは、制御点がy軸負方向、すなわち、-y軸側に移動するように姿勢を変更する。
【0080】
矢印615Bは、仮想ロボット2Aのシャフトをu軸正方向に回転させる第1u操作部である。オペレーターが表示画面6の矢印615Bに対応する位置に触れると、仮想ロボット2Aは、制御点がu軸正方向、すなわち、+u軸側に移動するように姿勢を変更する。
【0081】
矢印616Bは、仮想ロボット2Aのシャフトをu軸負方向に回転させる第2u操作部である。オペレーターが表示画面6の矢印616Bに対応する位置に触れると、仮想ロボット2Aは、制御点がu軸負方向、すなわち、-u軸側に移動するように姿勢を変更する。
【0082】
矢印617Bは、仮想ロボット2Aの制御点をz軸正方向に移動させる第1z操作部である。オペレーターが表示画面6の矢印617Bに対応する位置に触れると、仮想ロボット2Aは、制御点がz軸正方向、すなわち、+z軸側に移動するように姿勢を変更する。
【0083】
矢印618Bは、仮想ロボット2Aの制御点をz軸負方向に移動させる第2z操作部である。オペレーターが表示画面6の矢印618Bに対応する位置に触れると、仮想ロボット2Aは、制御点がz軸負方向、すなわち、-z軸側に移動するように姿勢を変更する。
【0084】
このような矢印611B~矢印618Bを操作することにより、仮想ロボット2Aの姿勢を変更することができる。また、速度調整部6Dを操作することにより、矢印611B~矢印618Bを操作したときの仮想ロボット2Aの動作速度を調整することができる。オペレーターは、矢印611B~矢印618Bを操作して仮想ロボット2Aの姿勢を変更しつつ、所望のタイミングで図示しない教示ボタンを押すことにより、仮想ロボット2Aに対応するロボット2の教示を行うことができる。
【0085】
なお、仮想ロボット2Aの姿勢の変更に伴い、ロボット2の姿勢を実際に変更してもよく、ロボット2を動作させなくてもよい。
【0086】
このように、仮想ロボット2Aの座標系として、互いに交わるx軸およびy軸を設定したとき、複数の操作標識61Bは、仮想ロボット2Aの制御点をx軸正方向、すなわち、+x軸側に移動させる第1x操作部である矢印611Bと、仮想ロボット2Aの制御点をx軸負方向、すなわち、-x軸側に移動させる第2x操作部である矢印612Bと、仮想ロボット2Aの制御点をy軸正方向、すなわち、+y軸側に移動させる第1y操作部である矢印613Bと、仮想ロボット2Aの制御点をy軸負方向、すなわち、-y軸側に移動させる第2y操作部である矢印614Bと、を含む。また、各操作標識61Bは、矢印611B~矢印614Bの順で反時計回りで配置されている。これにより、仮想ロボット2Aの姿勢を変更するという操作を、容易に行うことができる。
【0087】
ここで、前述したように、シミュレーション領域6Aは、スワイプ操作により、仮想ロボット2Aに対する視点が変更可能である。この視点の変更に伴って、シミュレーション領域6Aに表示されている矢印611A~矢印616Aの指す方向が変化する。本発明では、矢印611A~矢印616Aの指す方向の変化に連動して、操作領域6Bに表示されている矢印611B~矢印616Bも連動することができる。すなわち、
図3~
図6に示すように、矢印611A~矢印616Aの回転に伴って、矢印611B~矢印616Bも同方向に回転する。これにより、仮想ロボット2Aの姿勢に関わらず、オペレーターは、シミュレーション領域6Aに表示されている矢印611A~矢印616Aの方向と、操作領域6Bに表示されている矢印611B~矢印616Bの方向とを容易に関連付けることができ、教示を容易かつ正確に行うことができる。
【0088】
なお、矢印611A~矢印616Aがそれぞれ指す方向と、矢印611B~矢印616Bがそれぞれ指す方向とは、一致していてもよく、完全に一致していなくてもよい。
【0089】
このように、表示制御部であるCPU31は、表示標識61Aとしての矢印611A~矢印614Aの向きの変更に連動して、第1x操作部である矢印611B、第2x操作部である矢印612B、第1y操作部である矢印613Bおよび第2y操作部である矢印614Bの相対的な位置関係を維持したまま、矢印611B~矢印614Bを円Sの周方向に沿って回転させる。これにより、シミュレーション領域6Aの矢印611A~矢印614Aの各々の方向と、操作領域6Bの矢印611B~矢印614Bの各々の方向とを関連付けることができ、教示を容易かつ正確に行うことができる。
【0090】
第1モード切替部62Bは、「固定」と表示された固定ボタン621Bと、「回転」と表示された回転ボタン622Bと、「拘束」と表示された拘束ボタン623Bと、を有する。固定ボタン621B、回転ボタン622Bおよび拘束ボタン623Bは、左側からこの順で配置されている。
【0091】
固定ボタン621Bは、矢印611A~矢印616Aに矢印611B~矢印616Bが連動しない非連動モードを選択する非連動モード選択部である。表示画面6において、固定ボタン621に対応する位置を触ると、
図7に示すように、非連動モードとなる。この非連動モードを有することにより、非連動モードの方が操作しやすいオペレーターには、便利である。
【0092】
回転ボタン622Bは、前述したような矢印611A~矢印616Aと矢印611B~矢印616Bとが連動するモードを選択する連動モード選択部である。表示画面6において、回転ボタン622Bに対応する位置を触ると、
図5および
図6に示すように、矢印611A~矢印616Aと矢印611B~矢印616Bとが連動するモードとなり、前述したような効果を得ることができる。
【0093】
拘束ボタン623Bは、連動モードを選択した後に、所望のタイミングで矢印611B~矢印616Bの絶対的な位置を固定し、回転しないようにする、すなわち、矢印611A~矢印616Aに連動しないようにする拘束モードを選択する拘束モード選択部である。
図6に示すように、表示画面6において、拘束ボタン623Bに対応する位置を触ると、拘束モードとなり、触ったときの状態のまま矢印611B~矢印614Bが固定される。
【0094】
このような拘束ボタン623Bは、矢印611B~矢印616Bの絶対的な位置を固定する固定操作部として機能する。換言すれば、教示装置3は、各操作標識61B、すなわち、矢印611B~矢印616Bの絶対的な位置を固定する固定操作部としての拘束ボタン623Bを有する。これにより、非連動モードおよび連動モードの双方の利点を得ることが可能となる。
【0095】
第2モード切替部63Bは、「World」と表示された座標教示ボタン631と、「Joint」と表示されたジョイント教示ボタン632と、を有する。表示画面6において、座標教示ボタン631に対応する位置を触ると、
図3~
図7に示すような仮想ロボット座標系のx軸、y軸、z軸およびu軸に対応する矢印611B~矢印616Bを用いて仮想ロボット2Aの姿勢を変更する座標教示モードとなる。この座標教示モードは、前述した通りである。
【0096】
一方、表示画面6において、座標教示ボタン631に対応する位置を触ると、
図8および
図9に示すジョイント教示モードに移行する。ジョイント教示モードは、ジョイント、すなわち、仮想ロボット2Aの各関節の回転方向を示す矢印を用いて、仮想ロボット2Aの姿勢の変更を行うモードである。ジョイント教示モードでは、操作領域6Bには、複数の操作部61Eとしての矢印611E、矢印612E、矢印613E、矢印614E、矢印615E、矢印616E、矢印617Eおよび矢印618Eが表示される。
【0097】
矢印611Eには、「+J1」と表示されており、矢印612Eには、「-J1」と表示されている。矢印611Eおよび矢印612Eは、同一円上に位置する円弧状をなしており、互いに反対方向を指している。すなわち、
図8に示す状態では、矢印611Eは、反時計回りの方向を指す矢印であり、矢印612Eは、時計回りの方向を指す矢印である。
【0098】
表示画面6において、矢印611Eに対応する位置を触ると、仮想ロボット2Aの第1アーム22Aがu軸正方向に回転する。一方、表示画面6において、矢印612Eに対応する位置を触ると、仮想ロボット2Aの第1アーム22Aがu軸負方向に回転する。
【0099】
矢印613Eには、「+J2」と表示されており、矢印614Eには、「-J2」と表示されている。矢印613Eおよび矢印614Eは、同一円上に位置する円弧状をなしており、互いに反対方向を指している。すなわち、
図8に示す状態では、矢印613Eは、反時計回りの方向を指す矢印であり、矢印614Eは、時計回りの方向を指す矢印である。
【0100】
表示画面6において、矢印613Eに対応する位置を触ると、仮想ロボット2Aの第2アーム23Aがu軸正方向に回転する。一方、表示画面6において、矢印614Eに対応する位置を触ると、仮想ロボット2Aの第2アーム23Aがu軸負方向に回転する。
【0101】
矢印615Eには、「+J4」と表示されており、矢印616Eには、「-J4」と表示されている。矢印615Eおよび矢印616Eは、同一円上に位置する円弧状をなしており、互いに反対方向を指している。すなわち、
図8に示す状態では、矢印615Eは、反時計回りの方向を指す矢印であり、矢印616Eは、時計回りの方向を指す矢印である。
【0102】
表示画面6において、矢印615Eに対応する位置を触ると、仮想ロボット2Aの第3アーム24Aがu軸正方向に回転する。一方、表示画面6において、矢印615Eに対応する位置を触ると、仮想ロボット2Aの第3アーム24Aがu軸負方向に回転する。
【0103】
矢印617Eには、「+J3」と表示されており、矢印618Eには、「-J3」と表示されている。矢印617Eおよび矢印618Eは、上下方向に延在する直線上に位置しており、互いに反対方向を指している。すなわち、
図8に示す状態では、矢印617Eは、上側を指しており、矢印618Eは、下側を指している。
【0104】
表示画面6において、矢印617Eに対応する位置を触ると、仮想ロボット2Aの第3アーム24Aがz軸正方向に移動する。一方、表示画面6において、矢印618Eに対応する位置を触ると、仮想ロボット2Aの第3アーム24Aがz軸負方向に移動する。
【0105】
教示装置3では、このようなジョイント教示モードにおいても、シミュレーション領域6Aにおいて、
図8に示す視点から
図9に示す視点に変更すると、矢印611E~矢印616Eが、上下反転する連動モードとすることができる。すなわち、仮想ロボット2Aをz軸負方向に見た視点のときは、
図8に示すように、矢印611E~矢印616Eの先端が上側に位置し、仮想ロボット2Aをz軸正方向に見た視点のときは、
図9に示すように、矢印611E~矢印616Eの先端が下側に位置する。これにより、ジョイント教示モードにおいても、シミュレーション領域6Aの矢印611A~矢印616Aの各々の方向と、操作領域6Bの矢印611E~矢印616Eの各々の方向とを関連付けることができ、教示を容易かつ正確に行うことができる。
【0106】
なお、ジョイント教示モードにおいても、固定ボタン621B、回転ボタン622Bおよび拘束ボタン623Bは、前述した座標教示モードにおける機能と同様であるため、説明を省略する。
【0107】
以上説明したように、教示装置3は、ロボット2のシミュレーションモデルである仮想ロボット2Aに対する視点を変更可能に表示するシミュレーション領域6Aと、仮想ロボット2Aの姿勢を変更して仮想ロボット2Aの制御点を移動させる複数の操作標識61Bが表示される操作領域6Bと、を有する表示部34と、表示部34の作動を制御する表示制御部としてのCPU31と、を備える。そして、CPU31は、シミュレーション領域6Aにおける仮想ロボット2Aに対する視点の変更に連動して、操作領域6Bにおける各操作標識61Bの向きを変更する。これにより、シミュレーション領域6Aの仮想ロボット2Aの姿勢と、操作領域6Bの操作標識61Bの向きとを関連付けることができ、教示を容易かつ正確に行うことができる。
【0108】
なお、本実施形態では、シミュレーション領域6Aにおける仮想ロボット2Aに対する視点の変更は、オペレーターの操作によるものであったが、本発明ではこれに限定されず、予め定められたプログラムに基づいて、視点が自動で変更される構成であってもよい。
【0109】
次に、本発明の制御方法、すなわち、CPU31が行う制御動作を
図10に示すフローチャートに基づいて説明する。
【0110】
まず、ステップS100において、表示部34にシミュレーション領域6A、操作領域6Bおよび状態表示領域6Cを含む表示画面6を表示する。
【0111】
次いで、ステップS101において、操作領域6Bが操作されたか否かを判断する。すなわち、操作領域6Bのどのボタンが操作されたかを特定する。ステップS101において、操作領域6Bが操作されたと判断した場合、ステップS102において、操作されたボタンに応じて、上述したような制御を行う。
【0112】
ステップS101において、操作領域6Bが操作されていないと判断した場合、ステップS103に移行する。ステップS103では、シミュレーション領域6Aにおいて、仮想ロボット2Aに対する視点変更操作が行われたか否かを判断する。
【0113】
ステップS103において、視点変更操作が行われたと判断した場合、ステップS104において、仮想ロボット2Aに対する視点を変更する。例えば、視点変更操作が行われた場合、シミュレーション領域6Aにおける仮想ロボット2Aに対する視点の変更に連動するように、操作領域6Bにおける各操作標識61B、すなわち、矢印611B~矢印616Bの向きを変更する。これにより、シミュレーション領域6Aの仮想ロボット2Aの姿勢と、操作領域6Bの操作標識61Bの向きとを関連付けることができ、教示を容易かつ正確に行うことができる。
【0114】
なお、ステップS103において、視点変更操作が行われていないと判断した場合、ステップS101に戻る。
【0115】
次いで、ステップS105において、図示しない教示完了ボタンが押されたか否かを判断する。教示完了ボタンが押されたと判断した場合、教示を終了する。なお、教示完了ボタンが押されていないと判断した場合、ステップS101に戻り、以降のステップを順次実行する。
【0116】
以上説明したように、本発明の制御方法は、教示装置3が有する表示部34の表示を制御する制御方法であって、ロボット2のシミュレーションモデルである仮想ロボット2Aを含むシミュレーション領域6Aと、仮想ロボット2Aの姿勢を変更して仮想ロボット2Aの制御点を移動させる複数の操作標識61Bとしての矢印611B~矢印616Bを含む操作領域6Bと、を表示し、シミュレーション領域6Aにおいて、仮想ロボット2Aに対する視点を変更し、仮想ロボット2Aに対する視点の変更に連動して、操作領域6Bにおいて矢印611B~矢印616Bの向きを変更する。これにより、シミュレーション領域6Aの仮想ロボット2Aの姿勢と、操作領域6Bの操作標識61Bの向きとを関連付けることができ、教示を容易かつ正確に行うことができる。
【0117】
また、本発明の教示プログラムは、上記本発明の制御方法を実行するためのものである。これにより、上記効果を発揮する教示プログラムを得ることができる。
【0118】
なお、本発明の教示プログラムは、記憶部32に記憶されたものであってもよいし、例えばCD-ROM等の記録媒体に格納されていてもよく、ネットワーク等を介して接続可能な記憶装置に記憶されたものであってもよい。
【0119】
以上、本発明の教示装置、制御方法および教示プログラムを図示の実施形態に基づいて説明したが、本発明は、これに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、教示装置、制御方法および教示プログラムには、それぞれ他の任意の構成物、工程が付加されていてもよい。
【符号の説明】
【0120】
2…ロボット、2A…仮想ロボット、3…教示装置、4…受付部、5…力検出部、6…表示画面、6A…シミュレーション領域、6B…操作領域、6C…状態表示領域、6D…速度調整部、7…エンドエフェクター、8…制御装置、20…ロボットアーム、21…基台、22…第1アーム、22A…第1アーム、23…第2アーム、23A…第2アーム、24…第3アーム、24A…第3アーム、25…駆動ユニット、26…駆動ユニット、27…u駆動ユニット、28…z駆動ユニット、29…角速度センサー、31…CPU、32…記憶部、33…通信部、34…表示部、61A…表示標識、61B…操作標識、61C…座標表示部、61E…操作部、62B…第1モード切替部、62C…回転量表示部、63B…第2モード切替部、63C…腕モード表示部、81…CPU、82…記憶部、83…通信部、100…ロボットシステム、220…筐体、230…筐体、241…シャフト、251…モーター、252…減速機、253…位置センサー、261…モーター、262…減速機、263…位置センサー、271…モーター、272…減速機、273…位置センサー、281…モーター、282…減速機、283…位置センサー、601A…操作ボタン、602A…操作ボタン、603A…操作ボタン、611A…矢印、611B…矢印、611E…矢印、612A…矢印、612B…矢印、612E…矢印、613A…矢印、613B…矢印、613E…矢印、614A…矢印、614B…矢印、614E…矢印、615A…矢印、615B…矢印、615E…矢印、616A…矢印、616B…矢印、616E…矢印、617B…矢印、617E…矢印、618B…矢印、618E…矢印、621…固定ボタン、621B…固定ボタン、622B…回転ボタン、623B…拘束ボタン、631…座標教示ボタン、632…ジョイント教示ボタン、O1…第1軸、O2…第2軸、O3…第3軸、S…円、TCP…制御点