(57)【要約】【課題】目標位置と実際の動作位置との対応関係を把握しやすいロボット制御装置の提供。【解決手段】マニピュレーターと、前記マニピュレーターに設けられる力検出器と、目標位置に基づいて前記マニピュレーターを駆動するアクチュエーターと、を備えるロボットを制御するロボット制御装置において、目標力と前記力検出器の出力とに基づいて導出される前記マニピュレーターの動作位置と、前記目標位置とを画面に表示する表示制御部、を備える。【選択図】図４
2016221653.tif 000002
【特許請求の範囲】
【請求項１】
マニピュレーターと、
前記マニピュレーターに設けられる力検出器と、
目標位置に基づいて前記マニピュレーターを駆動するアクチュエーターと、
を備えるロボットを制御するロボット制御装置において、
目標力と前記力検出器の出力とに基づいて導出される前記マニピュレーターの動作位置と、前記目標位置とを画面に表示する表示制御部、
を備えるロボット制御装置。
【請求項２】
前記表示制御部は、前記目標位置と前記動作位置とを同一座標平面に表示する、
請求項１に記載のロボット制御装置。
【請求項３】
前記表示制御部は、３次元の前記目標位置と３次元の前記動作位置とを２次元座標平面に投影した軌跡を表示する、
請求項２に記載のロボット制御装置。
【請求項４】
前記表示制御部は、前記目標位置と前記動作位置とを時間の関数として表示する、
請求項１から３のいずれか一項に記載のロボット制御装置。
【請求項５】
前記表示制御部は、表示区間を取得し、前記表示区間に対応する前記目標位置と前記動作位置を表示する、
請求項１から４のいずれか一項に記載のロボット制御装置。
【請求項６】
前記表示区間は、前記マニピュレーターを制御するコマンドの識別子によって特定される、
請求項５に記載のロボット制御装置。
【請求項７】
前記表示区間は、時間によって特定される、
請求項５または６に記載のロボット制御装置。
【請求項８】
前記表示制御部は、前記目標位置と前記動作位置の変化方向を表示する、
請求項１から７のいずれか一項に記載のロボット制御装置。
【請求項９】
前記表示制御部は、前記目標位置と前記動作位置をリアルタイムに表示する、
請求項１から８のいずれか一項に記載のロボット制御装置。
【請求項１０】
表示された前記目標位置と前記動作位置とに基づく教示者の教示を受け付ける教示部をさらに備える、
請求項１から９のいずれか一項に記載のロボット制御装置。
【請求項１１】
請求項１に記載の前記ロボットと前記ロボット制御装置とを備える、
ロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット制御装置およびロボットシステムに関する。
【背景技術】
【０００２】
近年、ロボットの分野において、マニュピレーターに加わる力に応じて動作位置を制御するために力検出器が用いられるようになっている。ここで動作位置とは、能動インピーダンス制御における目標力とマニュピレーターに実際に加わる力とに基づいて導出される位置である。特許文献１には、マニュピレーターに加わる力の時間変化を表示したり、マニュピレーターの動作位置の時間変化を表示したりすることにより教示を容易にする技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１２８８５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示された技術では、ロボットに設定した目標軌跡と実際の動作軌跡との対応関係が分かり難い。例えば、教示者は、ロボットに設定した目標軌跡に対して実際の動作軌跡がどのようになるかを踏まえて、トライアンドエラーで初期位置や目標位置を更新しながら教示する必要があるが、目標軌跡と実際の動作軌跡との対応関係が分かり難い場合に、教示が最適であったのか判断するのに長時間を要するという問題がある。
【０００５】
本発明は、これらの問題を解決するために創作されたものであって、目標軌跡と実際の動作軌跡との対応関係を把握しやすい技術の提供を目的とする。
【課題を解決するための手段】
【０００６】
前記目的を達成するためのロボット制御装置は、マニピュレーターと、前記マニピュレーターに設けられる力検出器と、目標位置に基づいて前記マニピュレーターを駆動するアクチュエーターと、を備えるロボットを制御するロボット制御装置において、目標力と力検出器の出力とに基づいて導出されるマニピュレーターの動作軌跡と、前記目標位置の軌跡とを画面に表示する表示制御部を備える。
【０００７】
この構成を採用することにより、目標位置および軌跡と実際の動作位置および軌跡とを教示者が容易に把握できるようになる。
【０００８】
なお請求項に記載された各手段の機能は、構成自体で機能が特定されるハードウェア資源、プログラムにより機能が特定されるハードウェア資源、又はそれらの組み合わせにより実現される。また、これら各手段の機能は、各々が物理的に互いに独立したハードウェア資源で実現されるものに限定されない。
【図面の簡単な説明】
【０００９】
【図１】ロボットシステムの模式図である。
【図２】ロボットシステムのブロック図である。
【図３】モニター画面の画面構成図である。
【図４】ｘｙモニターの画面構成である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態を以下の順序にしたがって添付図面を参照しながら説明する。なお、各図において対応する構成要素には同一の符号が付され、重複する説明は省略される。
（１）第１実施形態
本発明の第一実施例としてのロボットシステムは、図１に示すように、ロボット１と、エンドエフェクター２と、制御装置３（コントローラー）と、教示端末４とティーチングペンダント５と、を備えている。制御装置３と教示端末４とは、本発明のロボット制御装置の構成例である。制御装置３は図示しないケーブルによりロボット１と通信可能に接続される。制御装置３は、ロボット１に駆動電力を供給する電源部３１とロボット１を制御するための制御部３２とを備える。教示端末４は、本発明の教示部の構成例である。制御装置３と教示端末４とは有線ケーブルで、または無線通信可能に接続される。教示端末４は、専用のコンピューターであってもよいし、ロボット１のためのプログラムがインストールされた汎用のコンピューターであってもよい。例えばロボット１を教示するための専用装置であるティーチングペンダント５を教示装置４の代わりに用いても良い。さらに、制御装置３と教示端末４とは、図１に示すように別々の筐体を備えていてもよいし、一体に構成されていてもよい。
【００１１】
ロボット１は、アームＡに各種のエンドエフェクター２を装着して使用される単腕ロボットである。アームＡは６つの関節Ｊ１、Ｊ２、Ｊ３、Ｊ４、Ｊ５、Ｊ６を備える。関節Ｊ１、Ｊ２、Ｊ３、Ｊ４、Ｊ５、Ｊ６によって６個のアーム部材Ａ１〜Ａ６が連結される。関節Ｊ２、Ｊ３、Ｊ５は曲げ関節であり、関節Ｊ１、Ｊ４、Ｊ６はねじり関節である。関節Ｊ６には、ワークに対して把持や加工等を行うための各種のエンドエフェクター２が装着される。先端の関節Ｊ６の回転軸上の所定位置をツールセンターポイント（ＴＣＰ）と表す。アームＡとエンドエフェクター２は本発明のマニュピレーターの構成例である。ＴＣＰの位置は各種のエンドエフェクター２の位置の基準となる。本実施例では、ワークＷを把持するエンドエフェクター２が関節Ｊ６の先端に装着されているものとして説明する。
【００１２】
関節Ｊ６には力覚センサーＦＳが備えられている。力覚センサーＦＳは、６軸の力検出器である。力覚センサーＦＳは、固有の座標系であるセンサー座標系において互いに直交する３個の検出軸と平行な力の大きさと、当該３個の検出軸まわりのトルクの大きさとを検出する。なお、力覚センサーＦＳは本発明の力検出器の構成例であるが、関節Ｊ６以外の関節Ｊ１〜Ｊ５のいずれか１つ以上に力検出器としての力覚センサーを備えても良い。
【００１３】
ロボット１が設置された空間を規定する座標系をロボット座標系というとき、ロボット座標系は、水平面上において互いに直交するＸ軸とＹ軸と、鉛直上向きを正方向とするＺ軸とによって規定される３次元の直交座標系である。Ｚ軸における負の方向は概ね重力方向と一致する。またＸ軸周りの回転角をＲＸで表し、Ｙ軸周りの回転角をＲＹで表し、Ｚ軸周りの回転角をＲＺで表す。Ｘ，Ｙ，Ｚ方向の位置により３次元空間における任意の位置を表現でき、ＲＸ，ＲＹ，ＲＺ方向の回転角により３次元空間における任意の姿勢を表現できる。以下、位置と表記した場合、姿勢も意味し得ることとする。また、力と表記した場合、トルクも意味し得ることとする。制御装置３は、アームＡを駆動することによって、ロボット座標系においてＴＣＰの位置を制御する。
【００１４】
図２は、ロボットシステムのブロック図である。制御部３２はロボット１の制御を行うための制御プログラムがインストールされたコンピューターである。制御部３２は、プロセッサーやＲＡＭやＲＯＭを備え、これらのハードウェア資源が制御プログラムと協働する。
【００１５】
ロボット１は、図１に図示した構成のほかに、アクチュエーターとしてのモーターＭ１〜Ｍ６と、センサーとしてのエンコーダーＥ１〜Ｅ６とを備える。モーターＭ１〜Ｍ６を制御することはアームＡを制御することを意味する。モーターＭ１〜Ｍ６とエンコーダーＥ１〜Ｅ６とは、関節Ｊ１〜Ｊ６のそれぞれに対応して備えられており、エンコーダーＥ１〜Ｅ６はモーターＭ１〜Ｍ６の回転角度を検出する。制御装置３は、モーターＭ１〜Ｍ６の駆動位置の組み合わせと、ロボット座標系におけるＴＣＰの位置との対応関係Ｕ１を記憶している。また、制御装置３は、ロボット１が行う作業の工程ごとに目標位置Ｓtと目標力ｆStとをコマンドとして記憶する。目標位置Ｓtと目標力ｆStを定めるコマンドはロボット１が行う作業の工程ごとに教示によって設定される。したがって、目標位置は教示位置と言い換えることもでき、目標力は教示力と言い換えることもできる。
【００１６】
制御装置３は、例えばユーザーによる教示によって設定された目標位置と目標力とがＴＣＰにて実現されるようにアームＡを制御する。目標力とは、アームＡの動作に応じて力覚センサーＦＳが検出すべき力である。ここでＳの文字は、ロボット座標系を規定する軸の方向（Ｘ，Ｙ，Ｚ，ＲＸ，ＲＹ，ＲＺ）のなかのいずれか１個の方向を表すこととする。また、Ｓは、Ｓ方向の位置も表すこととする。例えば、Ｓ＝Ｘの場合、ロボット座標系にて設定された目標位置のＸ方向成分がＳt＝Ｘtと表記され、目標力のＸ方向成分がｆSt＝ｆXtと表記される。
【００１７】
制御装置３は、モーターＭ１〜Ｍ６の回転角度Ｄaを取得すると、対応関係Ｕ１に基づいて、当該回転角度Ｄaをロボット座標系におけるＴＣＰの位置Ｓ（Ｘ，Ｙ，Ｚ，ＲＸ，ＲＹ，ＲＺ）に変換する。制御装置３は、ＴＣＰの位置Ｓと、力覚センサーＦＳの検出値とに基づいて、力覚センサーＦＳに現実に作用している作用力ｆSをロボット座標系において特定する。制御装置３は、ロボット座標系におけるＴＣＰの位置Ｓごとに、力覚センサーＦＳのセンサー座標系における検出軸の方向を規定した対応関係Ｕ２を記憶している。従って、制御装置３は、ロボット座標系におけるＴＣＰの位置Ｓと対応関係Ｕ２とに基づいて、ロボット座標系における作用力ｆSを特定できる。制御装置３は、作用力ｆSに対して重力補償を行う。重力補償とは、作用力ｆSから重力に起因する力やトルクの成分を除去することである。重力補償を行った作用力ｆSは、エンドエフェクター２に作用している重力以外の力と見なすことができる。
【００１８】
本実施例のインピーダンス制御は、仮想の機械的インピーダンスをモーターＭ１〜Ｍ６によって実現する能動インピーダンス制御である。制御装置３は、このようなインピーダンス制御を、ワークの嵌合作業、研磨作業など、エンドエフェクター２がワークから力を受ける接触状態の工程で適用する。制御装置３は、エンドエフェクター２がワークから力を受けない非接触状態の工程では、インピーダンス制御を適用せず、目標位置から線形演算で導出する回転角度でモーターＭ１〜Ｍ６を制御する。目標位置から線形演算で導出する回転角度でモーターＭ１〜Ｍ６を制御するモードを位置制御モードといい、モーターＭ１〜Ｍ６をインピーダンス制御するモードを力制御モードというものとする。制御装置３は、位置制御モードと力制御モードとを力覚センサーＦＳの出力に基づいて自律的に切り替えても良いし、コマンドに応じて位置制御モードと力制御モードとを切り替えても良い。
【００１９】
制御装置３は、目標力ｆStと作用力ｆSとをインピーダンス制御の運動方程式に代入することにより、力由来補正量ΔＳを特定する。力由来補正量ΔＳとは、ＴＣＰが機械的インピーダンスを受けた場合に、目標力ｆStとの力偏差ΔｆS（ｔ）を解消するために、ＴＣＰが移動すべき位置Ｓの大きさを意味する。下記の（１）式は、インピーダンス制御の運動方程式である。
【数１】
2016221653.tif 000003
【００２０】
（１）式の左辺は、ＴＣＰの位置Ｓの２階微分値に仮想慣性係数ｍを乗算した第１項と、ＴＣＰの位置Ｓの微分値に仮想粘性係数ｄを乗算した第２項と、ＴＣＰの位置Ｓに仮想弾性係数ｋを乗算した第３項とによって構成される。（１）式の右辺は、目標力ｆStから現実の力ｆを減算した力偏差ΔｆS（ｔ）によって構成される。（１）式における微分とは、時間による微分を意味する。ロボット１が行う工程において、目標力ｆStとして一定値が設定される場合もあるし、目標力ｆStとして時間の関数が設定される場合もある。
【００２１】
仮想慣性係数ｍはＴＣＰが仮想的に有する質量を意味し、仮想粘性係数ｄはＴＣＰが仮想的に受ける粘性抵抗を意味し、仮想弾性係数ｋはＴＣＰが仮想的に受ける弾性力のバネ定数を意味する。各係数ｍ，ｄ，ｋは方向ごとに異なる値に設定されてもよいし、方向に拘わらず共通の値に設定されてもよい。制御装置３は、目標位置Ｓtに、力由来補正量ΔＳを加算することにより、インピーダンス制御を考慮した動作位置（Ｓt＋ΔＳ）を特定する。
【００２２】
そして、制御装置３は、対応関係Ｕ１に基づいて、ロボット座標系を規定する各軸の方向の動作位置（Ｓt＋ΔＳ）を、各モーターＭ１〜Ｍ６の目標の回転角度である目標角度Ｄtに変換する。そして、制御装置３は、目標角度ＤtからモーターＭ１〜Ｍ６の現実の回転角度であるエンコーダーＥ１〜Ｅ６の出力Ｄaを減算することにより、駆動位置偏差Ｄe（＝Ｄt−Ｄa）を算出する。そして、制御装置３は、駆動位置偏差Ｄeに位置制御ゲインＫpを乗算した値と、現実の回転角度Ｄaの時間微分値である駆動速度との差である駆動速度偏差に、速度制御ゲインＫvを乗算した値とを加算することにより、制御量Ｄcを導出する。なお、位置制御ゲインＫpおよび速度制御ゲインＫvは、比例成分だけでなく微分成分や積分成分にかかる制御ゲインを含んでもよい。制御量Ｄcは、モーターＭ１〜Ｍ６のそれぞれについて特定される。以上説明した構成により、制御装置３は、目標位置Ｓtと目標力ｆStとに基づいてアームＡをインピーダンス制御することができる。
【００２３】
教示端末４には、制御装置３に目標位置Ｓtと目標力ｆStとを教示するための教示プログラムがインストールされている。教示端末４は、ディスプレイ４３やプロセッサーやＲＡＭやＲＯＭを備え、これらのハードウェア資源が制御プログラムと協働する。これにより、図２に示すように、教示端末４は、表示制御部４１と教示部４２として機能する。
【００２４】
教示部４２は、教示者の操作に応じて目標力ｆｓｔと目標位置Ｓｔを指定するコマンドを生成して制御装置３に出力する。教示部４２はコマンド生成指示を受け付けるための教示画面をディスプレイ４３に表示する。教示部４２は工程毎にコマンドを生成し、ロボット１による一連の作業、すなわちマニュピレーターの一連の動作を複数のコマンドによって定義する。このコマンドは、例えば「Move P30 FC1 ! D50; g_StepID = 9 ! 」のように表記される。この表記例では、ＴＣＰの移動を指示するコマンド「Move」に対して、目標パラメーターとして「P30 FC1」が設定されている。「P30」はＴＣＰについて別途定められた目標位置Ｓtを示す関数である。「FC1」はＴＣＰまたは力制御座標原点について別途定められた目標力ｆStを示す関数である。またこのコマンドにおいては、「D50」が表すコマンド実行開始から、Moveコマンドで予定された時間の５０パーセントを経過した位置について、「g_StepID = 9」が工程ＩＤとして「９」を定義している。工程ＩＤはコマンドで区切られる工程の識別子であるが、このように工程中の特定の期間についての識別子として用いてもよい。教示者は、教示部４２が表示する教示画面を介して教示端末４を操作し、このようなコマンドを制御装置３に出力させることによって、目標位置Ｓｔと目標力Ｆｓｔとを制御装置３に記憶させることができる。目標位置Ｓｔと目標力Ｆｓｔとを指定するコマンド群は、実行順に記述され、一連の複数のコマンドを含む教示ファイルとして制御装置３に記憶される。本実施例の教示とは、このようにして目標位置Ｓｔと目標力Ｆｓｔとをロボット１に記憶させることである。
【００２５】
表示制御部４１は、教示者が設定する目標位置Ｓｔと目標力Ｆｓｔとを教示部４２から取得し、制御装置３から力由来補正量ΔＳと作用力ｆｓとを取得する。表示制御部４１は、目標位置Ｓｔと力由来補正量ΔＳとに基づいて動作位置を導出し、動作位置、目標位置等をモニター画面に表示する。
【００２６】
教示端末４は、表示制御部４１が表示するモニター画面と、教示部４２がコマンドの入力操作を受け付ける教示画面とを、ディプレイ４３の一画面に表示することもできるし、教示者の要求に応じてモニター画面と教示画面とを切り換えることもできる。従って教示端末４はモニター画面に表示された目標軌跡と動作軌跡とに基づく教示者からの指示を、教示画面を介して受け付けることができる。
【００２７】
ここで表示制御部４１が動作位置、目標位置等を表示するモニター画面の構成例について説明する。表示制御部４１は、図３に示すモニター画面に、ＸＹモニター１０１、ＸＺモニター１０２、ＹＺモニター１０３、Ｆｘモニター１１１、Ｆｙモニター１１２、Ｆｚモニター１１３、Ｔｘモニター１１４、Ｔｙモニター１１５、Ｔｚモニター１１６、ステップモニター１２１、表示区間設定ボックス１２２ａ、１２２ｂ、１２２ｃ、ｘモニター１３１、ｙモニター１３２、ｚモニター１３３、Ｒｚモニター１３４、Ｒｙモニター１３６、Ｒｘモニター１３７、工程表１２５、速度計１４１−１４６を配置する。教示者が教示ファイルを指定してモニター画面の表示を教示端末４に要求すると、表示制御部４１は、教示ファイルに記述された一連のコマンドの開始から終了までの期間（区間）について、モニター画面に目標位置、動作位置、作用力、力由来補正量ΔＳ、速度等を以下のように表示する。
【００２８】
表示制御部４１は教示部４２から取得する目標位置Ｓｔと制御装置３の制御部３２から動作位置を取得する。そして表示制御部４１は、３次元の目標位置と３次元の動作位置とを同一の２次元座標平面に投影した軌跡をＸＹモニター１０１、ＸＺモニター１０２、ＹＺモニター１０３に表示する。ＸＹモニター１０１、ＸＺモニター１０２、ＹＺモニター１０３の縦軸および横軸は位置（ｍｍ）である。具体的には、ＸＹモニター１０１は、３次元の目標位置と３次元の動作位置とをＸＹ座標平面に投影した軌跡を表示する領域である。ＸＺモニター１０２は、３次元の目標位置と３次元の動作位置とをＸＺ座標平面に投影した軌跡を表示する領域である。ＹＺモニター１０３は、３次元の目標位置と３次元の動作位置とをＹＺ座標平面に投影した軌跡を表示する領域である。なお、目標位置の軌跡と動作位置の軌跡をどのような形態で表示するかについては、軌跡の表示色を変えるなど、２つの軌跡が識別可能であれば良いが、図３においては目標位置の軌跡は点線で表示し、動作位置の軌跡は実線で表示している。また目標位置と動作位置が一致している部分については、動作位置の軌跡を実線で表示している。このようにして目標位置と動作位置とが同一座標平面に表示されることによって、教示者はインピーダンス制御が行われる場合に生ずる目標位置と動作位置と、これらの差とを容易に把握することができる。
【００２９】
Ｆｘモニター１１１は、力覚センサーＦＳの検出値から座標変換された作用力ｆＸを時間の関数として折れ線グラフで表示する領域である。Ｆｙモニター１１２は、力覚センサーＦＳの検出値から座標変換された作用力ｆＹを時間の関数として折れ線グラフで表示する領域である。Ｆｚモニター１１３は、力覚センサーＦＳの検出値から座標変換された作用力ｆＺを時間の関数として折れ線グラフで表示する領域である。Ｆｘモニター１１１、Ｆｙモニター１１２、Ｆｚモニター１１３の横軸は時間（秒）、縦軸は力（Ｎ）である。Ｔｘモニター１１４は、力覚センサーＦＳの検出値から座標変換された作用力ｆＲＸを時間の関数として折れ線グラフで表示する領域である。Ｔｙモニター１１４は、力覚センサーＦＳの検出値から座標変換された作用力ｆＲＹを時間の関数として折れ線グラフで表示する領域である。Ｔｚモニター１１４は、力覚センサーＦＳの検出値から座標変換された作用力ｆＲＺを時間の関数として折れ線グラフで表示する領域である。Ｔｘモニター１１４、Ｔｙモニター１１５、Ｔｚモニター１１６の横軸は時間（秒）、縦軸はトルク（Ｎｍ）である。
【００３０】
ステップモニター１２１は、経過時間と工程の対応関係を表示する領域である。ステップモニター１２１の横軸は時間（秒）、縦軸は工程ＩＤである。工程ＩＤによって識別される作業内容は工程表１２５に表示される。表示区間設定ボックス１２２ａは、ＸＹモニター１０１、ＸＺモニター１０２、ＹＺモニター１０３、Ｆｘモニター１１１、Ｆｙモニター１１２、Ｆｚモニター１１３、Ｔｘモニター１１４、Ｔｙモニター１１５、Ｔｚモニター１１６、ｘモニター１３１、ｙモニター１３２、ｚモニター１３３、Ｒｚモニター１３４、Ｒｙモニター１３６、Ｒｘモニター１３７に目標位置、動作位置等を表示する工程の工程ＩＤを入力するためのドロップダウンテキストボックスである。表示区間設定ボックス１２２ｂは、ＸＹモニター１０１、ＸＺモニター１０２、ＹＺモニター１０３、Ｆｘモニター１１１、Ｆｙモニター１１２、Ｆｚモニター１１３、Ｔｘモニター１１４、Ｔｙモニター１１５、Ｔｚモニター１１６、ｘモニター１３１、ｙモニター１３２、ｚモニター１３３、Ｒｚモニター１３４、Ｒｙモニター１３６、Ｒｘモニター１３７に目標位置、動作位置等を表示する開始時間を入力するためのドロップダウンテキストボックスである。表示区間設定ボックス１２２ｃは、ＸＹモニター１０１、ＸＺモニター１０２、ＹＺモニター１０３、Ｆｘモニター１１１、Ｆｙモニター１１２、Ｆｚモニター１１３、Ｔｘモニター１１４、Ｔｙモニター１１５、Ｔｚモニター１１６、ｘモニター１３１、ｙモニター１３２、ｚモニター１３３、Ｒｚモニター１３４、Ｒｙモニター１３６、Ｒｘモニター１３７、ｘモニター１３１、ｙモニター１３２、ｚモニター１３３、Ｒｚモニター１３４、Ｒｙモニター１３６、Ｒｘモニター１３７に目標位置、動作位置等を表示する終了時間を入力するためのドロップダウンテキストボックスである。教示者は、表示区間設定ボックス１２２ａ、１２２ｂ、１２２ｃに工程ＩＤ、もしくは、開始時間及び終了時間を入力することによって、教示ファイルに記述された一連のコマンドによって実行される作業の一部の区間について、モニター画面に動作位置、作用力、力由来補正量ΔＳ、動作位置速度等を表示させることができる。また、工程ＩＤと、開始時間及び終了時間とを組み合わせて区間指定できるようにしてもよい。この場合、入力された工程ＩＤのコマンドの実行開始からの経過時間に対して開始時間と終了時間が入力されることになる。
【００３１】
ｘモニター１３１は、力由来補正量ΔＳのＸ成分を時間の関数として折れ線グラフで表示する領域である。ｙモニター１３１は、力由来補正量ΔＳのＹ成分を時間の関数として折れ線グラフで表示する領域である。ｚモニターは、力由来補正量ΔＳのＺ成分を時間の関数として折れ線グラフで表示する領域である。ｘモニター１３１、ｙモニター１３２、ｚモニター１３３の横軸は時間（秒）、縦軸は（ｍｍ）である。Ｒｚモニター１３４は、力由来補正量ΔＳのＲｚ成分を時間の関数として折れ線グラフで表示する領域である。Ｒｙモニター１３４は、力由来補正量ΔＳのＲｙ成分を時間の関数として折れ線グラフで表示する領域である。Ｒｚモニター１３４は、力由来補正量ΔＳのＲｚ成分を時間の関数として折れ線グラフで表示する領域である。Ｒｚモニター１３４、Ｒｙモニター１３６、Ｒｘモニター１３７の横軸は時間（秒）、縦軸は（度）である。
【００３２】
速度計１４１は、動作位置の速度のＸ成分を回転針で表示する領域である。速度計１４２は、動作位置の速度のＹ成分を回転針で表示する領域である。速度計１４３は、動作位置の速度のＺ成分を回転針で表示する領域である。速度計１４１−１４３の単位はｍｍ／秒である。速度計１４４は、動作位置の速度のＲＺ成分を回転針で表示する領域である。速度計１４５は、動作位置の速度のＲＹ成分を回転針で表示する領域である。速度計１４６は、動作位置の速度のＲＸ成分を回転針で表示する領域である。速度計１４４−１４６の単位は度／秒である。
【００３３】
表示制御部４１は、モードに応じてモニター画面の表示形態を次のように切り換える。リアルタイムモードでは、コマンド実行によるロボット１の動作結果としての動作位置、作用力、力由来補正量ΔＳ、動作位置速度等がロボット１の動作中にリアルタイムで、すなわちハードウェア性能による不可避的な遅延を除けばロボット１の動作と同期して、モニター画面に表示される。したがってリアルタイムモードでは、表示制御部４１は、制御装置３から力由来補正量および作用力を取得しながら動作位置を導出して動作位置の軌跡を描画する。再生モードでは、コマンド実行によるロボット１の動作結果としての動作位置、作用力、力由来補正量ΔＳ、動作位置速度等がログに基づいてモニター画面に動画表示される。このようなログは、コマンド実行中に教示部４２または表示制御部４１が制御装置３から取得してＲＡＭに記憶する。
【００３４】
また表示制御部４１は、教示者の要求に応じて目標位置と動作位置の軌跡をｘｙモニター１０１、ｘｚモニター１０２、ｙｚモニター１０３に表示する対象領域と表示倍率を変更する。具体的には例えば、図３に示すようにｘｙモニター１０１が表示されている状態において教示者から表示倍率変更要求を取得すると、表示制御部４１は、図４Ａに示すように目標位置と動作位置の軌跡をｘｙモニター１０１に表示する対象領域を縮小し、軌跡の表示倍率を大きくすればよい。また、図４Ａに示すようにｘｙモニター１０１が表示されている状態において教示者から表示領域変更要求を取得すると、表示制御部４１は、図４Ｂに示すように目標位置と動作位置の軌跡をｘｙモニター１０１に表示する対象領域を、表示倍率を維持して変更すればよい。表示制御部４１は、表示倍率変更要求や表示領域変更要求を、キーボードやマウスやタッチパネルを用いて教示者から取得することができる。
【００３５】
また表示制御部４１は、図４Ａに示すように目標位置と動作位置の軌跡にＴＣＰの進行方向（目標位置と動作位置の変化方向）を表示しても良い。例えば、工程毎に軌跡上に進行方向を矢印で表示しても良いし、２以上の所定数の連続する工程毎に１つの矢印で進行方向を表示しても良いし、全行程を通じた目標位置の軌跡と動作位置の軌跡に１つずつの矢印で進行方向を表示しても良い。進行方向を示す形態は、三角形等の図形でも良い。
【００３６】
以上説明した実施形態によると、目標位置と動作位置とが比較可能に画面表示されるため、教示者は、力制御モードにおける目標位置と動作位置とを検証しながらコマンドのパラメーター（目標位置と目標力）を設定することができる。したがって、コマンドのパラメーターを最適化する作業が容易になり、教示に要する時間を短縮することができる。そして目標位置と動作位置とが同一座標系に表示されることで、目標位置と動作位置との比較はさらに容易になる。また目標位置と動作位置の軌跡を表示したり、目標位置と動作位置を動画表示したり、目標位置と動作位置の変化方向を表示したり、目標位置と動作位置の表示区間を設定できるため、目標位置と動作位置との比較はさらに容易である。
【００３７】
（２）他の実施形態
上記実施形態では、制御装置３の制御部３２が力由来補正量ΔＳを導出し、力由来補正量ΔＳと目標位置Ｓｔとに基づいて教示端末４の表示制御部４１が動作位置を導出する例を説明したが、教示端末４が作用力ｆｓと目標力ｆｓｔとに基づいて力由来補正量ΔＳを導出しても良いし、また、教示端末４は、動作位置を導出する代わりに、制御装置３の制御部３２から取得しても良い。
【００３８】
また上記実施形態では、力由来補正量ΔＳを含む動作位置と目標位置との軌跡表示を示したが、目標位置とエンコーダーの検出値が示す位置とを示してもよい。また本発明は、ロボット１を教示する段階で教示端末４に目標位置と動作位置とを表示する形態に限らず、教示後にロボット１が稼働している段階に教示端末４やティーチングペンダント５や制御装置３の画面に目標位置と動作位置とを表示する形態にも適用できる。
【００３９】
また上記実施形態では、目標位置と動作位置とを２成分ずつ二次元座標系に表示したが、目標位置と動作位置とを１成分ずつ時間の関数として表示しても良い。例えば、上述した目標位置と動作位置のＸ成分をｘモニター１３１と同様に時間の関数として表示しても良い。また、目標位置のＸＹＺ成分と動作位置のＸＹＺ成分とを３次元コンピューターグラフィックスで表示しても良い。
【００４０】
また上記実施形態では、６軸単腕ロボットの制御装置に本発明を適用した例を説明したが、本発明が５軸以下のロボットに適用できることも、７軸以上のロボットに適用できることも、双腕ロボットに適用できることも、いうまでもない。
【符号の説明】
【００４１】
１…ロボット、２…エンドエフェクター、３…制御装置、４…教示端末、４１…姿勢設定部、４２…導出部、５…ティーチングペンダント、Ａ１〜Ａ６…アーム部材、Ｅ１〜Ｅ６…エンコーダー、ＦＳ…力覚センサー、ＧＰ…重心位置、Ｊ１〜Ｊ６…関節、Ｍ１〜Ｍ６…モーター、Ｗ…ワーク、ｄ…仮想粘性係数、ｋ…仮想弾性係数、ｍ…仮想慣性係数
【図１】
2016221653.tif 000004
【図２】
2016221653.tif 000005
【図３】
2016221653.tif 000006
【図４】
2016221653.tif 000007