(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0012】
以下、添付図面を参照して、本願の開示するロボット教示補助装置、ロボットシステムおよびロボット教示方法の実施形態を詳細に説明する。なお、以下に示す実施形態によりこの発明が限定されるものではない。
【0013】
また、以下では、ロボットに教示する所定の作業の作業内容が、ワーク同士を嵌合する嵌合作業である場合を例に挙げて説明を行う。また、以下では、エンドエフェクタを「ハンド」と記載する。また、プログラミングペンダントについては「PP」と記載する場合がある。
【0014】
図1は、実施形態に係るロボットシステム1の全体構成を示す模式図である。
図1に示すように、ロボットシステム1は、制御装置10と、ロボット教示補助装置となるPC(Personal Computer)20と、ロボット30と、ロボット30へ動作態様を教示する教示装置となるプログラミングペンダント40とを備える。
【0015】
制御装置10は、演算処理装置や記憶装置等を含んで構成されるコントローラである。かかる制御装置10は、PC20、ロボット30、プログラミングペンダント40をはじめとするロボットシステム1の各種装置と情報伝達可能に接続される。ここで、接続形態は問わない。したがって、有線接続であっても、無線接続であってもよい。
【0016】
また、制御装置10は、力条件ファイル12aと、動作条件パラメータ12bと、ジョブ情報12cとを備える。力条件ファイル12aは、後述する力制御に用いられる力制御パラメータを含む情報である。
【0017】
動作条件パラメータ12bは、嵌合作業を構成する「接触動作」、「探り動作」、「挿入動作」の各動作において用いられるパラメータを含む情報である。かかる各動作の詳細については
図3A〜
図3C等を用いて後述する。ジョブ情報12cは、教示結果として生成されるジョブを含む情報である。ジョブとは制御装置10により制御されるロボット30等の装置の動作命令が定義されたプログラムであり、後述するように制御装置10により解釈実行されることによりロボット30及びハンド32が動作するようになっている。
【0018】
なお、
図1では、1筐体の制御装置10を示しているが、これに限られるものではなく、たとえば、制御対象となる各種装置のそれぞれに対応付けられ、相互に情報伝達可能に接続された複数個の筐体で構成されてもよい。
【0019】
ロボット30は、アーム31と、ハンド32と、力センサ33とを備える。アーム31は、複数の構造部材と各構造部材を可動とするサーボモータを有する複数の関節とを有している。ハンド32は、アーム31の終端可動部に取り付けられるエンドエフェクタである。
【0020】
力センサ33は、アーム31とハンド32との間、いわばロボット30の手首部に装着される力覚センサである。かかる力センサ33は、3次元の3方向の力とねじれを計測可能な6軸センサであることが好ましい。
【0021】
なお、以下では、力センサ33が計測し、出力する値については、「計測値」と総称する場合がある。力センサ33の計測値は、制御装置10へ送られて力条件ファイル12aに格納された後、PC20によって読み出されて、後述の力条件調整処理、および、動作条件調整処理において用いられる。
【0022】
プログラミングペンダント40は、教示者によって入力される各種パラメータを制御装置10へ出力することによってロボット30へ種々の動作態様を教示する教示装置として機能する。制御装置10は、プログラミングペンダント40から入力される各種パラメータ等に基づいてジョブを生成し、生成したジョブをロボット30に実行させる動作指示をロボット30へ出力することによって、ロボット30の動作を制御する。
【0023】
PC20は、教示者に対してプログラミングペンダント40への各種パラメータの入力に関するガイダンス情報を提供することにより、教示者によるロボット30への動作態様の教示を補助するロボット教示補助装置として機能する。なお、PC20および制御装置10の構成の一例については、
図2を参照して後述する。
【0024】
かかるPC20は、力センサ33の計測値に基づいてロボット30の動作態様を修正することを含むジョブ(動作命令)を定義するための指定値の入力操作を受け付ける。続いて、PC20は、入力された指定値と力センサ33の計測値とに基づいて、ロボット30の動作態様を修正するパラメータを調整する。
【0025】
さらに、PC20は、調整したパラメータのプログラミングペンダント40への入力に関するガイダンス情報を含む教示操作画面を生成して表示させることにより、教示者へプログラミングペンダント40の操作手順等を案内する。
【0026】
これにより、教示者は、PC20によって提供されるガイダンス情報に従ってプログラミングペンダント40へ各種パラメータを入力することにより、ロボット30に対して、熟練度に関係なく誤りの少ない精度の高い教示を行うことができる。
【0027】
なお、ここでは、ロボット教示補助装置として、PC20を例に挙げているが、ロボット教示補助装置は、PC20と同様の機能を備え、教示者による操作の受け付けや、各種情報の表示が可能なデバイスであれば、たとえばタブレット端末等であってもよい。
【0028】
また、本実施形態における「嵌合作業」は、
図1に示すように、ロボット30が、ハンド32でオス型のワークW1(第1のワーク)を把持し、メス型のワークW2(第2のワーク)へ嵌合するものであることとする。また、以下では、ワークW1およびワークW2を総称する場合、ワークWと記載する。
【0029】
また、
図1では、ロボット30が、一本の腕を有する単腕ロボットである例を示しているが、腕の数を問うものではなく、ロボットシステム1に適用されるロボットは、2本以上の腕を備える複腕ロボットであってもよい。
【0030】
次に、実施形態に係るロボットシステム1のブロック構成について、
図2を用いて説明する。
図2は、実施形態に係るロボットシステム1のブロック図である。なお、
図2では、ロボットシステム1の説明に必要な構成要素のみを示しており、一般的な構成要素についての記載を省略している。
【0031】
まず、制御装置10から説明する。
図2に示すように、制御装置10は、制御部11と、記憶部12とを備える。制御部11は、制御装置10の全体制御を行う処理部であり、ジョブ生成部11aと、動作指示部11bとをさらに備える。記憶部12は、ハードディスクドライブや不揮発性メモリといった記憶デバイスであり、力条件ファイル12aと、動作条件パラメータ12bと、ジョブ情報12cとを記憶する。
【0032】
ここで、力条件ファイル12aには、後述の力条件調整処理用の動作をロボット30に実行させるために必要な各種パラメータ等が含まれている。かかる力条件ファイル12aには、初期状態では既定値が書き込まれている。
【0033】
また、教示者は、プログラミングペンダント40を操作して所望のパラメータを入力し、力条件ファイル12aへ上書きすることにより、ロボット30による力条件調整処理用の動作態様を修正することができる。
【0034】
なお、力条件ファイル12aには、ロボット30の動作時に力センサ33によって計測される計測値や、ロボット30に設けられる他のセンサ(図示略)によって計測される計測値のフィードバック値等も書き込まれる。なお、ここでの他のセンサは、例えば、アーム31やハンド32を駆動するサーボモータの回転位置を検出する位置センサ等である。
【0035】
また、動作条件パラメータ12bには、後述の接触動作、探り動作、および挿入動作といった動作条件調整処理用の動作をロボット30に実行させるために必要な各種パラメータ等が含まれる。また、教示者は、プログラミングペンダント40を操作して所望のパラメータを入力し、かかる動作条件パラメータ12bへ上書きすることにより、ロボット30による動作条件調整処理用の動作態様を修正することができる。
【0036】
ジョブ生成部11aは、力条件ファイル12aに含まれる各種パラメータに基づき、ロボット30に力条件調整処理用の動作を実行させるためのジョブを定義するジョブ情報12cを生成して記憶部12に記憶させる。
【0037】
また、ジョブ生成部11aは、力条件ファイル12aに含まれる各種パラメータ、および、動作条件パラメータ12bに基づき、ロボット30に動作条件調整処理用の動作を実行させるためのジョブを定義するジョブ情報12cを生成して記憶部12に記憶させる。
【0038】
動作指示部11bは、プログラミングペンダント40から教示者の操作に応じた所定の動作を開始させる制御信号が入力された場合に、ジョブ生成部11aを介して記憶部12からジョブ情報12cを読み出す。
【0039】
そして、動作指示部11bは、読み出したジョブ情報12cを解釈してロボット30の各関節(サーボモータ)に対する動作命令を生成し、ロボット30へ出力することにより、ロボット30に力条件調整処理用の動作や動作条件調整処理用の動作等を実行させる。
【0040】
プログラミングペンダント40は、教示者がロボット30に対して、動作態様の教示や動作態様の修正、および動作の開始を行うために操作する端末装置である。教示者は、かかるプログラミングペンダント40を操作して、前述した各種パラメータ等を入力することにより、ロボット30に対して動作態様の教示や修正等を行うことができる。
【0041】
ただし、プログラミングペンダント40を操作する教示者には、一定の熟練度が要求される。つまり、プログラミングペンダント40は、ロボット30の動作態様の教示や修正に関する操作を誰もが簡単に行えるものではない。
【0042】
そこで、ロボットシステム1では、PC20によって、プログラミングペンダント40の操作方法の案内や、プログラミングペンダント40へ入力すべき適切なパラメータの提案を行うことによって、教示者によるプログラミングペンダント40の操作を補助する。
【0043】
PC20は、プログラミングペンダント40へ入力すべき項目や指定値等を教示者へ提案し、教示者に対して、PC20およびプログラミングペンダント40へ例えばパラメータの既定値等の入力を促す。そして、PC20は、教示者に対して、プログラミングペンダント40の操作によってロボット30の動作を開始させるよう促す。
【0044】
その後、PC20は、かかるロボット30が動作することによって得られる力センサ33の計測値や、ロボット30に設けられる他のセンサ(図示略)によって計測される計測値のフィードバック値に基づいて各種パラメータの調整を行う。
【0045】
そして、PC20は、調整後のパラメータを教示者によってPC20およびプログラミングペンダント40へ入力させ、再びプログラミングペンダント40の操作によってロボット30を動作させて動作結果に基づくパラメータの調整を行うという動作を繰り返す。
【0046】
かかるPC20は、制御部21と、記憶部22と、操作部23と、表示部24とを備える。記憶部22は、ハードディスクドライブや不揮発性メモリといった記憶デバイスであり、後述のガイダンス情報22aや調整結果情報22b等を記憶する。
【0047】
操作部23は、キーボードやマウスといった操作デバイスであり、教示者の操作を受け付け、その内容を制御部21へ出力する。例えば、操作部23は、力センサ33の計測値に基づいてロボット30の動作態様を修正することを含む動作命令を定義するための指定値等の入力操作を受け付け、その内容を制御部21へ出力する。
【0048】
制御部21は、PC20の全体制御を行う処理部であり、力条件調整部21aと、動作条件調整部21bと、画面生成部21cとを備える。
【0049】
力条件調整部21aは、操作部23から入力される操作内容、制御装置10の記憶部12から読み出す力条件ファイル12a中の力制御パラメータ、前述のフィードバック値に基づき、力制御パラメータを調整する力条件調整処理を行う。
【0050】
そして、力条件調整部21aは、調整後の力制御パラメータを動作条件調整部21bおよび画面生成部21cへ出力する。なお、力条件調整処理の具体例については、
図4A〜
図5Bを参照して後述する。
【0051】
動作条件調整部21bは、操作部23から入力される操作内容、調整後の力制御パラメータ、制御装置10の記憶部12から読み出す動作条件パラメータ12b、前述のフィードバック値に基づき、動作条件パラメータ12bを調整する動作条件調整処理を行う。ここで調整される動作条件パラメータ12bは、嵌合作業における「接触動作」、「探り動作」、「挿入動作」の動作条件を規定するパラメータである。
【0052】
そして、力条件調整部21aは、調整後の動作条件パラメータ12bを画面生成部21cへ出力する。なお、ロボット30が行う嵌合動作の具体例については、
図3A〜
図3Cを参照して後述し、動作条件調整処理の具体例については、
図6A〜
図9Bを参照して後述する。
【0053】
画面生成部21cは、力条件調整部21aおよび動作条件調整部21bから入力される各種パラメータと、記憶部22から読み出すガイダンス情報22aとに基づいて、プログラミングペンダント40の操作を補助する表示画面を生成し、表示部24へ出力する。
【0054】
このとき、画面生成部21cは、力条件ファイル12aや動作条件パラメータ12bの直近の状況や、ガイダンス情報22aに含まれる教示者へのガイダンスメッセージ等を適宜反映させた表示画面を生成し、表示部24へ出力する。表示部24は、ディスプレイ等の表示デバイスであり、画面生成部21cから入力される表示画面を表示する。
【0055】
また、画面生成部21cは、力条件調整部21aによる力条件調整処理が完了した場合の表示画面、および、動作条件調整部21bによる動作条件調整処理が完了した場合の表示画面を調整結果情報22bとして記憶部22に記憶させる。
【0056】
これにより、PC20は、例えば、次回、他の教示者がロボットシステム1を使用する場合に、調査結果情報22bを表示部24に表示させることにより、教示者へ始めから調整済みの適切なパラメータを提案することができる。
【0057】
次に、
図3A〜
図3Cを参照して、ロボット30が行う嵌合作業について説明する。
図3A〜
図3Cは、嵌合作業を構成する各種動作を示す模式図(その1)〜(その3)である。
図3Aに示すように、「接触動作」は、ハンド32で把持したワークW1をワークW2の穴に入らない位置でワークW2に接触させる動作である(図中の矢印301参照)。これにより、後述する接触距離を取得することとなる。
【0058】
また、
図3Bに示すように、「探り動作」は、ワークW1をワークW2に押し当てつつ(図中の矢印302参照)、ワークW1をワークW2の穴の周囲で揺動させる動作である(図中の矢印303参照)。これにより、後述する探り周期を取得することとなる。
【0059】
また、
図3Cに示すように、「挿入動作」は、ワークW1をワークW2の穴に挿入させる動作である。これにより、後述する挿入量の上下限閾値を取得することとなる。
【0060】
本実施形態に係るロボットシステム1は、嵌合作業をこの
図3A〜
図3Cに示す3つの工程に分割し、個別に動作条件パラメータ12bを調整することによって、嵌合作業を精度よくロボット30に教示することを可能にしている。
【0061】
そして、ロボットシステム1では、教示者によってプログラミングペンダント40を操作させることによって、「接触動作」、「探り動作」および「挿入動作」をロボット30に行わせ、これによって得られる力フィードバック値を力センサ33から取得する。
【0062】
なお、動作条件パラメータ12bには、「接触動作」、「探り動作」および「挿入動作」それぞれの既定の動作条件があらかじめ既定パラメータとして含まれている。そして、PC20は、最初にかかる既定パラメータを教示者によってプログラミングペンダント40から入力するよう促して、動作指示部11bにロボット30を動作させる。
【0063】
続いて、PC20は、取得した力フィードバック値に基づいて動作条件パラメータ12bを調整する。このとき、取得した力フィードバック値や状態遷移の状況は逐次PC20の表示部24によって表示される。
【0064】
教示者は、かかるPC20の表示に従って再調整値の入力が可能であり、PC20は、教示者から再調整値が入力された場合には、入力された再調整値をプログラミングペンダント40へ入力するよう促し、ロボット30を動作させる。
【0065】
そして、PC20は、その結果取得するフィードバック値に基づき、動作条件パラメータ12bを再調整する。この繰り返しにより、動作条件パラメータ12bが最適化されてゆくこととなる。
【0066】
次に、力条件調整処理の詳細について説明する。まず、
図4A〜
図4Dを用いて力条件調整処理の内容について説明した後、
図5Aおよび
図5Bを用いて具体的な操作手順の一例について説明する。
【0067】
図4A〜
図4Dは、力条件調整処理の説明図(その1)〜(その4)である。また、
図5Aおよび
図5Bは、力条件調整処理の操作手順の一例を示す模式図(その1)および(その2)である。
【0068】
本実施形態の力条件調整処理は、力制御のモデルとして、下記の式(1)に示すインピーダンス制御を用いている。
【数1】
【0069】
インピーダンス制御パラメータ、すなわち力制御パラメータには、
図4Aに示すように慣性係数M、粘性係数Dおよびバネ係数Kがあり、力条件調整処理では、このうち慣性係数Mとバネ係数Kとを固定で使用する。
【0070】
すなわち、力条件調整処理では、一定の力指令を与えたときにその指令に早く追従するように粘性係数Dを自動的に調整する。なお、上記の式(1)における括弧内の単位は、前者が並進方向、後者が回転方向を示している。
【0071】
そして、力条件調整処理は、第1の調整ステップと、第2の調整ステップとからなる。第1の調整ステップでは、所定時間の間、微力でワークW1をワークW2へ押し付け、発散せずに接触安定を保てる粘性限界値を求める。
【0072】
なお、
図4Bには、粘性初期値から開始後、力波形が発散していない、すなわち接触安定が保てている状態を示している。また、
図4Cには、力波形が発散した、接触不安定な状態を示している。すなわち、力条件調整処理の第1の調整ステップでは、
図4Bに示す力波形となるような粘性限界値が求められる。
【0073】
また、
図4Dに示すように、第2の調整ステップでは、力指令を与えて繰り返しワークWを接触させ、そのときの力フィードバック値F
fbの応答性が良好となる粘性値を求める。すなわち、力応答が力指令(図中の矩形波参照)に対し、条件Aのようにハンチングを起こさず、また、条件Cのように遅延せずに、条件Bのように早く追従するよう粘性値を調整する。
【0074】
そして、かかる力条件調整処理は、たとえば、
図5Aに示すような、PC20の表示部24に表示される力条件調整画面に従って、教示者がPC20およびプログラミングペンダント40を操作することによって実現される。なお、
図5Aを含め、以下の説明で用いるすべての表示画面例は、PC20の表示部24へ表示されるものである。
【0075】
また、かかるすべての表示画面例は、「教示操作画面」と総称する場合がある。また、かかる「教示操作画面」に従って、教示者がPC20およびプログラミングペンダント40へ入力する入力値については、「指定値」と総称する場合がある。
【0076】
図5Aに示すように、力条件調整画面は、ガイダンス画面を含んで構成される。ガイダンス画面は、教示者への教示支援情報を出力する領域であり、たとえば、
図5Aに示すように、「1.ロボットを選択してください。」といった操作手順を示すガイダンスメッセージが表示される。
【0077】
また、
図5Aに示すように、ガイダンス画面にはあわせて、教示者の理解を助けるためのガイド図を表示することができる。一例として、
図5Aでは、教示対象となるロボットのロボット名称や座標系の名称が表示された例を示している。
【0078】
教示者は、かかるガイダンス画面およびガイド図を参考にしながら、PC20およびプログラミングペンダント40に対して力制御パラメータの調整に必要となる操作を行うことにより、熟練度に関わりなく、誤りの少ない、精度の高い教示を行うことができる。
【0079】
たとえば、
図5Aの力条件調整画面には、右側上段の領域に入力項目が設けられている。そして、教示者がガイダンス画面を参考にして、PC20を操作し、力条件ファイル12aの「ファイル番号」、教示対象となる「ロボット」、「座標系」、「ツール番号」、「嵌合方向」等の指定値を入力すると、入力項目に入力結果が表示される。
【0080】
なお、
図5Aに示す「調整対象パラメータ」である粘性係数Dの「X」、「Y」、「Z」は並進3軸分であり、「Rx」、「Ry」、「Rz」は回転3軸分である。そして、これらは、調整前は順に「a」、「b」、「c」、「d」、「e」、「f」であるものとする。
【0081】
また、力条件調整画面の右側下段の領域には、調整対象となる力制御パラメータが「調整対象パラメータ」として表示されており、教示者はかかる表示により力制御パラメータの現在値を知ることができる。
【0082】
教示者は、PC20の表示部24に表示される条件調整画面を参照しながら、プログラミングペンダント40を操作して調整前の粘性係数Dを入力し、プログラミングペンダント40の「開始」ボタンを操作して、力条件調整処理用の動作をロボット30に実行させる。
【0083】
ロボット30による力条件調整処理用の動作時に力センサ33によって計測された計測値は、制御装置10へ送られ、力条件ファイル12aに記録される。かかる計測値は、PC20の力条件調整部21aによる力条件調整処理に用いられる。
【0084】
その後、教示者は、力条件調整画面の右側下段に配置された「調整実行」ボタンを押下することによって、力条件調整処理を実行させる。つづく
図5Bには、
図5Aの「調整実行」ボタンが押下され、力条件調整処理が1回実行された後の力条件調整画面の一例を示している。
【0085】
図5Bに示すように、処理実行後の力条件調整画面においてもガイダンス画面が表示され、教示者の次なる操作を支援する。一例として、
図5Bには、「モニタを確認して、警告であればPPから再調整してください。エラーであれば処理をキャンセルしてください。」とガイダンス表示された例を示している。
【0086】
かかるガイダンス表示にあるように、処理実行後の力条件調整画面には、たとえば、「正常」、「警告」、「エラー」で示される状態モニタを表示することができる。なお、ここでは、点灯ランプ状の状態モニタを例示しているが、無論これに限られるものではない。教示者は、ガイダンス画面とかかる状態モニタの表示内容とに応じて次なる操作を選択することができる。
【0087】
また、たとえば、
図5Bに示すように、力センサ33の計測値による力波形を、波形モニタとして表示させてもよい。これら状態モニタや波形モニタのようなモニタ表示を行うことによって、教示者の熟練度に関わりなく、教示者が、誤りの少ない精度の高い教示を行えるよう支援することができる。
【0088】
さらに、処理実行後の力条件調整画面には、下段の領域に調整結果が表示される。ここでは、先ほど入力した「座標系」、「嵌合方向」、「指定値」等の入力項目に対応する粘性係数Dとして、上から順に、「a’」、「b’」、「c’」、「d’」、「e’」、「f’」と調整された例を示している(図中の閉曲線601参照)。
【0089】
教示者は、かかる調整結果を参照しながらプログラミングペンダント40を操作して、調整後の粘性係数Dを入力し、プログラミングペンダント40の「開始」ボタンを操作して、力条件調整処理用の動作をロボット30に実行させる。
【0090】
その後、教示者は、力条件調整画面の左側下段に配置された「調整実行」ボタンを押下することによって、力条件調整処理を再度実行させる。そして、教示者は、
図5Bに示すように状態モニタの「正常」が点灯していれば、調整結果を確認して「終了」ボタンを押下し、調整結果をPC20に保存させる。また、状態モニタが「エラー」であれば、「キャンセル」ボタンを押下して力条件調整処理をキャンセルする。
【0091】
次に、動作条件調整処理の詳細について説明する。
図6A〜
図6Cは、動作条件調整処理の説明図(その1)〜(その3)である。なお、
図6A〜
図6Cに示す構成要素のうち、
図3A〜
図3Cに示す構成要素と同一の構成要素については、
図3A〜
図3Cに示す符号と同一の符号を付している。
【0092】
本実施形態の動作条件調整処理は、力条件調整処理において調整された力制御パラメータと教示者の操作とに基づき、嵌合作業における上述の「接触動作」、「探り動作」、「挿入動作」それぞれの動作条件を規定する動作条件パラメータ12bを調整する。
【0093】
ここで、動作条件パラメータ12bとしては、
図6Aに示すように、接触動作については、ワークW1からワークW2までの「接触距離」等が調整される。また、
図6Bに示すように、探り動作については、「探り周期」(探り量)等が調整される。また、
図6Cに示すように、挿入動作については、「挿入量閾値下限」や「挿入量閾値上限」等が調整される。
【0094】
これら「接触距離」、「探り周期」、「挿入量閾値下限」および「挿入量閾値上限」等は、ワークWの形状に適した設定値へと調整される必要がある。したがって、動作条件調整処理では、ガイダンスに則した教示者によるプログラミングペンダント40の操作に基づいてロボット30を動作させる。
【0095】
そして、かかるロボット30の動作によって得られる力センサ33からの計測値のフィードバック値およびロボット30(各サーボモータの位置センサ)からの位置のフィードバック値からワークWの形状を計測しつつ、動作条件パラメータ12bを調整してゆく。
【0096】
次に、かかる動作条件調整処理の具体的な操作手順の一例について
図7A〜
図9Bを用いて説明する。
図7Aおよび
図7Bは、接触動作調整処理の操作手順の一例を示す模式図(その1)および(その2)である。
【0097】
また、
図8Aおよび
図8Bは、探り動作調整処理の操作手順の一例を示す模式図(その1)および(その2)である。また、
図9Aおよび
図9Bは、挿入動作調整処理の操作手順の一例を示す模式図(その1)および(その2)である。
【0098】
まず、接触動作の場合から説明する。
図7Aに示すように、接触動作調整画面は、力条件調整画面(
図5Aおよび
図5B)と同様に、ガイダンス画面を含んで構成される。
【0099】
ここで、ガイダンス画面には、たとえば、
図7Aに示すように、「1.嵌合開始位置P1(穴から数mm真上)をPPで教示してください。」や「2.P1から水平方向に数mmずらした位置P2(穴に入らない位置)をPPで教示してください。」といった操作手順を示すガイダンスメッセージが表示される。
【0100】
また、
図7Aに示すように、ガイダンス画面には、かかるガイダンスメッセージに応じたガイド図をあわせて表示することができる。
【0101】
これにより、教示者の熟練度に関わりなく、教示者が、誤りの少ない、精度の高い教示を行えるよう支援することができる。そして、教示者は、かかるガイダンス画面の内容に従い、接触動作に関する動作条件パラメータ12bの調整に必要な操作を行う。
【0102】
たとえば、
図7Aの接触動作調整画面は、左側下段の領域に操作画面を有しており、教示者はかかる操作画面の入力項目に、たとえば、「接触距離」等の指定値を入力することとなる。なお、教示者の入力操作前においては、操作画面の入力項目には、動作条件パラメータ12bに含まれる既定値が表示される。
【0103】
また、たとえば、接触動作調整画面の右側には、力条件調整画面(
図5B参照)と同様の状態モニタや波形モニタといったモニタ表示領域が設けられる。
【0104】
かかるモニタ表示領域には、接触動作調整処理においてロボット30を接触動作させることによって得られる力波形(図中の波形モニタ(力)参照)や状態遷移波形(図中の波形モニタ(状態遷移)参照)、位置波形(図中の波形モニタ(位置)参照)等が表示される。
【0105】
教示者は、ガイダンスメッセージに従い、PC20を操作して「接触距離」等の指定値を入力し、さらに、プログラミングペンダント40を操作して「接触距離」等の指定値を入力することにより、ロボット30に対して動作態様の教示を行う。そして、教示者がプログラミングペンダント40の「開始」ボタンを操作すると、ロボット30が接触動作を開始する。
【0106】
ロボット30による接触動作時に力センサ33によって計測された計測値およびロボット30(各サーボモータ)からの位置のフィードバック値は、制御装置10へ送られ、力条件ファイル12aに記録される。かかる計測値及びロボット30(各サーボモータの位置センサ)からの位置のフィードバック値は、PC20の動作条件調整部21bによる接触動作調整処理に用いられる。
【0107】
その後、教示者は、接触動作調整画面の左側下段に配置された「調整実行」ボタンを押下することによって、接触動作調整処理を実行させる。つづく
図7Bには、
図7Aの「調整実行」ボタンが押下され、接触動作調整処理が1回実行された後の接触動作調整画面の一例を示している。
図7Bに示すように、処理実行後の接触動作調整画面においてもガイダンス画面が表示され、教示者の次なる操作を支援する。
【0108】
一例として、
図7Bには、
図5Bと同様に、「モニタを確認して、警告であればPPから再調整してください。エラーであれば処理をキャンセルしてください。」とガイダンス表示された例を示している。
【0109】
また、たとえば、ガイダンス画面の下段には、計測結果である接触距離が表示される(図中の閉曲線801参照)。教示者は、この計測結果によって、計測値を確認することができる。
【0110】
そして、たとえば、処理実行後の接触動作調整画面の左側下段の領域には、「接触距離」等の指定値の調整結果が表示される。
図7Bに示すガイダンス画面の指示に沿えば、状態モニタが「警告」であれば、教示者は、プログラミングペンダント40を操作して、調整後の指定値を入力することにより、ロボット30に対して接触動作の再教示を行うことができる。
【0111】
そして、教示者がプログラミングペンダント40の「開始」ボタンを操作すると、ロボット30が再び接触動作を開始する。その後、教示者は、接触動作調整画面の左側下段に配置された「調整実行」ボタンを押下することによって、接触動作調整処理を実行させる。
【0112】
そして、教示者は、
図7Bに示すように状態モニタの「正常」が点灯していれば、各波形モニタや計測結果を確認して「終了」ボタンを押下し、調整結果をPC20に保存させる。また、状態モニタが「エラー」であれば、「キャンセル」ボタンを押下して接触動作調整処理をキャンセルする。
【0113】
つづいて、探り動作の場合について説明する。
図8Aに示すように、探り動作調整画面は、基本的に接触動作調整画面(
図7Aおよび
図7B)と同様の画面レイアウトで構成される。
【0114】
すなわち、ガイダンス画面には、たとえば、
図8Aに示すように、「1.P1から水平方向にずらした位置P3(2mm以内)をPPで教示してください。」や「2.移動完了後、設定完了ボタンを押してください。」といった操作手順を示すガイダンスメッセージが表示される。
【0115】
また、ガイダンス画面には、かかるガイダンスメッセージに応じたガイド図があわせて表示される。
【0116】
これにより、教示者の熟練度に関わりなく、教示者が、誤りの少ない、精度の高い教示を行えるよう支援することができる。そして、教示者は、かかるガイダンス画面の内容に従い、探り動作に関する動作条件パラメータ12bの調整に必要な操作を行う。
【0117】
たとえば、教示者は、左側下段の操作画面の入力項目から、「探り周期」や位置P3の「指定値」等を入力することとなる。ここで、入力される「探り周期」も教示者によって入力される指定値の一種である。なお、教示者の入力操作前においては、操作画面の入力項目には、動作条件パラメータ12bに含まれる既定値や前工程から引き継がれた現在値が表示される。
【0118】
そして、教示者は、プログラミングペンダント40(PP)を操作し、「探り周期」等を入力してロボット30へ探り動作の教示を行う。さらに、教示者がプログラミングペンダント40の「開始」ボタンを押下すると、ロボット30が探り動作を開始する。
【0119】
ロボット30による探り動作時に力センサ33によって計測された計測値及びロボット30(各サーボモータの位置センサ)からの位置のフィードバック値は、制御装置10へ送られ、力条件ファイル12aに記録される。かかる計測値及びロボット30(各サーボモータの位置センサ)からの位置のフィードバック値は、PC20の動作条件調整部21bによる探り動作調整処理に用いられる。
【0120】
その後、教示者は、探り動作調整画面の左側下段に配置された「調整実行」ボタンを押下することによって、探り動作調整処理を実行させる。つづく
図8Bには、
図8Aの「調整実行」ボタンが押下され、探り動作調整処理が1回実行された後の探り動作調整画面の一例を示している。
図8Bに示すように、処理実行後の探り動作調整画面においてもガイダンス画面が表示され、教示者の次なる操作を支援する。
【0121】
一例として、
図8Bには、「モニタを確認して、警告であれば、PPから適切に穴に入るように探り周期を再調整してください。エラーであれば処理をキャンセルしてください。」とガイダンス表示された例を示している。
【0122】
そして、たとえば、処理実行後の探り動作調整画面の左側下段の領域には、「探り周期」等の調整結果が表示される。
図8Bに示すガイダンス画面の指示に沿えば、状態モニタが「警告」であれば、教示者は、プログラミングペンダント40を操作して、調整後の探り周期を入力することにより、ロボット30に対して探り動作の再教示を行うことができる。
【0123】
そして、教示者がプログラミングペンダント40の「開始」ボタンを押下すると、ロボット30が再び探り動作を開始する。その後、教示者は、探り動作調整画面の左側下段に配置された「調整実行」ボタンを押下することによって、探り動作調整処理を実行させる。
【0124】
そして、教示者は、
図8Bに示すように状態モニタの「正常」が点灯していれば、各波形モニタや計測結果を確認して「終了」ボタンを押下し、調整結果をPC20に保存させる。また、状態モニタが「エラー」であれば、「キャンセル」ボタンを押下して探り動作調整処理をキャンセルする。
【0125】
つづいて、挿入動作の場合について説明する。
図9Aに示すように、挿入動作調整画面は、基本的に接触動作調整画面(
図7Aおよび
図7B)と同様の画面レイアウトで構成される。
【0126】
すなわち、ガイダンス画面には、たとえば、
図9Aに示すように、「1.位置P3へ移動させてから設定完了ボタンを押してください。」や「2.穴底に挿入され、挿入量が計測されるのを確認してください。」といった操作手順を示すガイダンスメッセージが表示される。また、ガイダンス画面には、かかるガイダンスメッセージに応じたガイド図があわせて表示される。
【0127】
これにより、教示者の熟練度に関わりなく、教示者が、誤りの少ない、精度の高い教示を行えるよう支援することができる。そして、教示者は、かかるガイダンス画面の内容に従い、挿入動作に関する動作条件パラメータ12bの調整に必要な操作を行う。
【0128】
たとえば、教示者は、左側下段の操作画面の入力項目から、「閾値1」や「閾値2」、「挿入量」、位置P3の「指定値」等を入力することとなる。ここで、入力される「閾値1」や「閾値2」も教示者によって入力される指定値の一種である。なお、教示者の入力操作前においては、操作画面の入力項目には、動作条件パラメータ12bに含まれる既定値や前工程から引き継がれた現在値が表示される。
【0129】
そして、教示者は、プログラミングペンダント40(PP)を操作し、「閾値1」や「閾値2」、「挿入量」、位置P3の「指定値」等を入力してロボット30へ挿入動作の教示を行う。さらに、教示者がプログラミングペンダント40の「開始」ボタンを押下すると、ロボット30が挿入動作を開始する。
【0130】
ロボット30による挿入動作時に力センサ33によって計測された計測値及びロボット30(各サーボモータの位置センサ)からの位置のフィードバック値は、制御装置10へ送られ、力条件ファイル12aに記録される。かかる計測値及びロボット30(各サーボモータの位置センサ)からの位置のフィードバック値は、PC20の動作条件調整部21bによる挿入動作調整処理に用いられる。
【0131】
その後、教示者は、挿入動作調整画面の左側下段に配置された「調整実行」ボタンを押下することによって、挿入動作調整処理を実行させる。つづく
図9Bには、
図9Aの「調整実行」ボタンが押下され、挿入動作調整処理が1回実行された後の挿入動作調整画面の一例を示している。
図9Bに示すように、処理実行後の挿入動作調整画面においてもガイダンス画面が表示され、教示者の次なる操作を支援する。
【0132】
一例として、
図9Bには、「モニタを確認して、警告であれば、PPから挿入量が閾値1、2の範囲内に収まるように閾値1、2を調整してください。エラーであれば処理をキャンセルしてください。」とガイダンス表示された例を示している。また、たとえば、ガイダンス画面の下方における調整結果を表示する領域には、挿入量の計測値、「指定値」、調整処理後の「閾値1」および「閾値2」が表示される。
【0133】
図9Bに示すガイダンス画面の指示に沿えば、状態モニタが「警告」であれば、教示者は、プログラミングペンダント40を操作して、「閾値1」や「閾値2」を再入力することにより、ロボット30に対して挿入動作の再教示を行うことができる。
【0134】
そして、教示者がプログラミングペンダント40の「開始」ボタンを操作すると、ロボット30が再び挿入動作を開始する。その後、教示者は、挿入動作調整画面の左側下段に配置された「調整実行」ボタンを押下することによって、挿入動作調整処理を実行させる。
【0135】
そして、教示者は、
図9Bに示すように状態モニタの「正常」が点灯していれば、各波形モニタや計測結果を確認して「終了」ボタンを押下し、調整結果をPC20に保存させる。また、状態モニタが「エラー」であれば、「キャンセル」ボタンを押下して挿入動作調整処理をキャンセルする。
【0136】
次に、実施形態に係るPC20が実行する処理手順について、
図10を用いて説明する。
図10は、実施形態に係るPC20が実行する処理手順を示すフローチャートである。PC20は、制御装置10に接続され、教示者によって力条件調整処理または動作条件調整処理を行う操作を受け付けた場合に、
図10に示すフローチャートに示す処理を実行する。
【0137】
具体的には、PC20は、
図10に示すように、表示部24によって教示操作画面を表示させる(ステップS101)。このとき、PC20は、教示者による操作に応じて、力条件調整画面、接触動作調整画面、探り動作調整画面、挿入動作調整画面のうち、いずれかの教示操作画面を表示させる。
【0138】
続いて、PC20は、教示者によってパラメータが入力されたか否かを判定する(ステップS102)。ここで、PC20は、パラメータが入力されない場合(ステップS102,No)、パラメータが入力されるまで、ステップS102の判定処理を繰り返す。そして、PC20は、パラメータが入力されると(ステップS102,Yes)、制御装置10からロボット30の動作に伴うフィードバック値を取得する(ステップS103)。
【0139】
続いて、PC20は、調整実行操作があるか否かを判定する(ステップS104)。ここで、PC20は、調整実行操作がない場合(ステップS104,No)、調整実行操作があるまで、ステップS104の判定処理を繰り返す。そして、PC20は、調整実行操作があった場合(ステップS104,Yes)、パラメータの調整を行って表示部24に調整結果を表示させる(ステップS105)。
【0140】
続いて、PC20は、教示操作画面の状態モニタが「正常」であるか否かを判定し(ステップS106)、状態モニタが「正常」であった場合(ステップS106,Yes)、終了操作があるか否かを判定する(ステップS107)。ここで、PC20は、終了操作がない場合(ステップS107,No)、終了操作があるまで、ステップS107の判定処理を繰り返す。そして、PC20は、終了操作があった場合(ステップS107,Yes)、調整結果情報22bを記憶して(ステップS108)、処理を終了する。
【0141】
一方、ステップS106において、状態モニタが「正常」でなかった場合(ステップS106,No)、PC20は、状態モニタが「警告」であるか否かを判定する(ステップS109)。そして、PC20は、状態モニタが「警告」であった場合(ステップS109,Yes)、処理をステップS102へ移す。
【0142】
一方、状態モニタが「警告」でなかった場合(ステップS109,No)、PC20は、状態モニタが「エラー」であると判断し、キャンセル操作があるか否かを判定する(ステップS110)。ここで、PC20は、キャンセル操作がない場合(ステップS110,No)、キャンセル操作があるまで、ステップS110の判定処理を繰り返す。そして、PC20は、キャンセル操作があった場合(ステップS110,Yes)、処理を終了する。
【0143】
上述してきたように、実施形態に係るロボットシステムにおいてロボット教示補助装置として機能するPCは、操作部と、調整部と、画面生成部とを備える。かかるPCの操作部は、センサの計測値に基づいてロボットの動作態様を修正することを含む動作命令を定義するための指定値の入力操作を受け付ける。
【0144】
そして、PCの調整部は、入力された指定値、および、センサの計測値に基づいて、ロボットの動作態様を修正するパラメータを調整する。さらに、PCの画面生成部は、ロボットへ動作態様を教示する教示装置へのパラメータの入力に関するガイダンス情報を含む教示操作画面を生成する。
【0145】
したがって、実施形態に係るロボットシステムによれば、教示者は、教示操作画面のガイダンス情報に従ってプログラミングペンダントを操作することにより、熟練度に関わりなく、簡易な操作で効率的かつ高精度な教示を行うことができる。
【0146】
なお、上述した実施形態では、力条件調整部、動作条件調整部がPCに設けられる場合について説明したが、力条件調整部、動作条件調整部は、制御装置に設けられてもよい。かかる場合、PCは、制御装置から調整後の各種パラメータを取得し、取得した調整後のパラメータとガイダンス情報とを含む教示操作画面を表示させる構成とする。
【0147】
かかる構成によっても、教示者は、教示操作画面のガイダンス情報に従ってプログラミングペンダントを操作することにより、熟練度に関わりなく、簡易な操作で効率的かつ高精度な教示を行うことができる。
【0148】
また、上述した実施形態では、操作部と表示部とを別体として構成したが、たとえば、マルチタッチ対応のタッチパネル等で操作部と表示部とを一体化する構成としてもよい。また、上述した実施形態では、ロボットが、腕を有するいわゆる人型ロボットである場合を例に挙げて説明したが、ロボットが人型でなくともよい。
【0149】
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細および代表的な実施形態に限定されるものではない。したがって、添付の特許請求の範囲およびその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。