(57)【要約】【課題】ロボットの姿勢の推察がしやすい多関節ロボットを制御するためのユーザインターフェース装置を提供する。【解決手段】ユーザインターフェース装置は、多関節ロボットを構成する各軸の回転角により多関節ロボットを制御し、各軸の回転角を数値で出力するユーザインターフェース装置であって、軸の内の少なくとも１つの軸の回転角を示す回転角度情報を取得する取得部と、取得部が取得した回転角度情報で示される回転角の基準値からの変動量を算出する算出部と、回転角を示す数値に対応付けて、変動量を表現したグラフ画像を出力する出力部とを備える。【選択図】図１
2018192552.tif 000002
【特許請求の範囲】
【請求項１】
多関節ロボットを構成する各軸の回転角により前記多関節ロボットを制御し、各軸の回転角を数値で出力するユーザインターフェース装置であって、
前記軸の内の少なくとも１つの軸の回転角を示す回転角度情報を取得する取得部と、
前記取得部が取得した回転角度情報で示される回転角の基準値からの変動量を算出する算出部と、
前記回転角を示す数値に対応付けて、前記変動量を表現したグラフ画像を出力する出力部とを備える
ユーザインターフェース装置。
【請求項２】
前記多関節ロボットは、６軸ロボットであり、
前記取得部は、前記６軸ロボットの先端側の３軸の回転角を取得し、
前記出力部は、前記３軸の回転角各々に対応する変動量を並列にしたグラフ画像を出力する
ことを特徴とする請求項１に記載のユーザインターフェース装置。
【請求項３】
前記出力部は、前記３軸の変動量をそれぞれ異なる色で示した棒グラフを出力する
ことを特徴とする請求項２に記載のユーザインターフェース装置。
【請求項４】
前記ユーザインターフェース装置は、前記多関節ロボットの各軸の回転角を示す数値を経時的に羅列して出力するものであり、
第１のタイミングにおける各軸の回転角と同じ回転角を有する他のタイミングをグループ化するグループ化部を備え、
前記出力部は、前記グループ化部がグループ化したタイミングが同じ回転角を有することが識別可能な態様で出力する
ことを特徴とする請求項１〜３のいずれか一項に記載のユーザインターフェース装置。
【請求項５】
前記出力部は、前記グループ化部がグループ化した各グループを、他のグループとは異なるグループであることが識別可能な態様で出力する
ことを特徴とする請求項４に記載のユーザインターフェース装置。
【請求項６】
前記ユーザインターフェース装置は、さらに、
教示内容と、当該教示内容を教示するために満たされるべき条件を示す条件情報を記憶する記憶部と、
前記条件情報に示される条件を満たしていると判断したときに、満たした条件に対応付けられた教示内容を教示する教示部を備える
ことを特徴とする請求項１〜５のいずれか一項に記載のユーザインターフェース装置。
【請求項７】
多関節ロボットを構成する各軸の回転角により前記多関節ロボットを制御し、各軸の回転角を数値で出力するユーザインターフェース装置によるユーザインターフェース出力方法であって、
前記多関節の内の少なくとも１つの軸の回転角を示す回転角度情報を取得する取得ステップと、
前記取得ステップにおいて取得した回転角度情報で示される回転角の基準値からの変動量を算出する算出ステップと、
前記回転角を示す数値に対応付けて、前記変動量を表現したグラフ画像を出力する出力ステップとを含むユーザインターフェース出力方法。
【請求項８】
多関節ロボットを構成する各軸の回転角により前記多関節ロボットを制御し、各軸の回転角を数値で出力するユーザインターフェースを出力するユーザインターフェースプログラムであって、
コンピュータに、
前記軸の内の少なくとも１つの軸の回転角を示す回転角度情報を取得する取得機能と、
前記取得機能が取得した回転角度情報で示される回転角の基準値からの変動量を算出する算出機能と、
前記回転角を示す数値に対応付けて、前記変動量を表現したグラフ画像を出力する出力機能とを実現させるユーザインターフェースプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多関節ロボットを制御するためのユーザインターフェースを提供するユーザインターフェース装置、ユーザインターフェース出力方法及びユーザインターフェースプログラムに関する。
【背景技術】
【０００２】
近年、各種のロボットの制御において、様々なインターフェースが公開されている。その中には、多関節ロボットの制御を行うものもあり、多関節ロボットを構成する回転軸の回転角により制御するインターフェースもある。特許文献１には、多関節ロボットの制御用のインターフェースであって、各軸の角度で制御するインターフェースが開示されている。図１０には、特許文献１の多関節ロボットの制御用のインターフェースを簡略化した画面例１０００を示している。制御用のインターフェースは、制御の段階を示すステップ情報１００１と、その時の各軸の回転角を示す数値である軸角度情報１００２とが対応付けられた態様となっている。また、その他には、そのようなロボットの制御において、多関節ロボットの制御において所定条件の場合にエラー表示をする技術なども知られている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−１４４５３８号公報
【特許文献２】特開２００５−３２９５２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、多関節ロボットの制御において、所望の姿勢に至る制御方法として、およそ８〜７２通りの解が算出できると言われている。その中から最適解を選択するにあたって、図１０に示すインターフェースでは、ロボットの姿勢がわからず困難であるという問題があった。この場合、実際にシミュレータや実機で動作させてロボットの姿勢を確認することも考えられるが、多数ある解それぞれを確認するのはオペレータにとって非常に煩雑であるという問題があった。
【０００５】
そこで、本発明は上記問題に鑑みてなされたものであり、多関節ロボットを軸の回転角で制御するユーザインターフェースにおいて、オペレータが多関節ロボットの姿勢を推察しやすいユーザインターフェースを出力するユーザインターフェース装置、ユーザインターフェース出力方法、ユーザインターフェースプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一態様に係るユーザインターフェース装置は、多関節ロボットを構成する各軸の回転角により多関節ロボットを制御し、各軸の回転角を数値で出力するユーザインターフェース装置であって、軸の内の少なくとも１つの軸の回転角を示す回転角度情報を取得する取得部と、取得部が取得した回転角度情報で示される回転角の基準値からの変動量を算出する算出部と、回転角を示す数値に対応付けて、変動量を表現したグラフ画像を出力する出力部とを備える。
【０００７】
また、本発明の一態様に係るユーザインターフェース出力方法は、多関節ロボットを構成する各軸の回転角により多関節ロボットを制御し、各軸の回転角を数値で出力するユーザインターフェース装置によるユーザインターフェース出力方法であって、多関節の内の少なくとも１つの軸の回転角を示す回転角度情報を取得する取得ステップと、取得ステップにおいて取得した回転角度情報で示される回転角の基準値からの変動量を算出する算出ステップと、回転角を示す数値に対応付けて、変動量を表現したグラフ画像を出力する出力ステップとを含む。
【０００８】
また、本発明の一態様に係るユーザインターフェースプログラムは、多関節ロボットを構成する各軸の回転角により多関節ロボットを制御し、各軸の回転角を数値で出力するユーザインターフェースを出力するユーザインターフェースプログラムであって、コンピュータに、軸の内の少なくとも１つの軸の回転角を示す回転角度情報を取得する取得機能と、取得機能が取得した回転角度情報で示される回転角の基準値からの変動量を算出する算出機能と、回転角を示す数値に対応付けて、変動量を表現したグラフ画像を出力する出力機能とを実現させる。
【０００９】
また、上記ユーザインターフェース装置において、多関節ロボットは、６軸ロボットであり、取得部は、６軸ロボットの先端側の３軸の回転角を取得し、出力部は、３軸の回転角各々に対応する変動量を並列にしたグラフ画像を出力することとしてもよい。
【００１０】
また、上記ユーザインターフェース装置において、出力部は、３軸の変動量をそれぞれ異なる色で示した棒グラフを出力することとしてもよい。
【００１１】
また、上記ユーザインターフェース装置において、ユーザインターフェース装置は、多関節ロボットの各軸の回転角を示す数値を経時的に羅列して出力するものであり、第１のタイミングにおける各軸の回転角と同じ回転角を有する他のタイミングをグループ化するグループ化部を備え、出力部は、グループ化部がグループ化したタイミングが同じ回転角を有することが識別可能な態様で出力することとしてもよい。
【００１２】
また、上記ユーザインターフェース装置において、出力部は、グループ化部がグループ化した各グループを、他のグループとは異なるグループであることが識別可能な態様で出力することとしてもよい。
【００１３】
また、上記ユーザインターフェース装置において、ユーザインターフェース装置は、さらに、教示内容と、当該教示内容を教示するために満たされるべき条件を示す条件情報を記憶する記憶部と、条件情報に示される条件を満たしていると判断したときに、満たした条件に対応付けられた教示内容を教示する教示部を備えることとしてもよい。
【発明の効果】
【００１４】
ユーザインターフェース装置は、多関節ロボットを構成する軸の回転角をグラフにより表現することにより、オペレータが多関節ロボットの姿勢を推察しやすい情報を提供することができる。
【図面の簡単な説明】
【００１５】
【図１】ユーザインターフェース装置の構成例を示すブロック図である。
【図２】多関節ロボットの一例を示す外観図である。
【図３】ユーザインターフェース装置のグラフ表示処理の動作例を示すフローチャートである。
【図４】ユーザインターフェース装置のグループ表示処理の動作例を示すフローチャートである。
【図５】ユーザインターフェース画面の一例である。
【図６】チェック表の一例を示すデータ概念図である。
【図７】ユーザインターフェース装置のティーチング処理の動作例を示すフローチャートである。
【図８】ユーザインターフェース画面の一例である。
【図９】ユーザインターフェース画面の構成例を示すブロック図である。
【図１０】従来のユーザインターフェース画面の一例である。
【発明を実施するための形態】
【００１６】
以下、本発明の一実施態様に係るユーザインターフェース装置について、図面を参照しながら詳細に説明する。
【００１７】
＜実施形態１＞
＜構成＞
図１に示すように本発明に係るユーザインターフェース装置１００は、取得部１１０と、算出部１３１と、出力部１４０とを備える。ユーザインターフェース装置１００は、多関節ロボットを構成する各軸の回転角により多関節ロボットを制御し、各軸の回転角を数値で出力する。多関節ロボットは、複数の軸が回動自在に接続されたロボットであり、例えば、工業用マニピュレータなどが該当し、更に具体的に言うならば、例えば、溶接ロボットなどである。
【００１８】
図２は、多関節ロボット１の一例であって、６軸ロボットであって溶接ロボットである例を示している。本実施の形態における多関節ロボット１は、６軸ロボットであるとして説明するが、多関節ロボット１が６軸ロボットに限定されるものではないことは言うまでもない。６軸ロボットは、図２に示すように、第１軸Ａ１が、矢印Ｒ１で示される方向に回動し、第１軸Ａ１に接続された第２軸Ａ２が、矢印Ｒ２で示される方向に回動する。第２軸Ａ２に接続されたアームＭ１が第２軸Ａ２を中心に回動することで、当該アームＭ１の先に接続された第３軸Ａ３も移動する。第３軸Ａ３は、矢印Ｒ３で示される方向に回動する。第３軸Ａ３に接続されたアームＭ２は、第３軸Ａ３の回動に伴って、第３軸Ａを中心に回動することで、当該アームＭ２の先に接続された第５軸Ａ５も移動する。また、アームＭ２は、第４軸Ａ４を中心に矢印Ｒ４で示される方向に回動する。これに伴い、第５軸Ａ５もまた、第４軸Ａ４を中心に回動することになる。第５軸Ａ５は、矢印Ｒ５で示される方向に回動する軸であり、これに伴って、第５軸Ａ５の先に接続されているアームＭ３も回動する。アームＭ３は、第６軸Ａ６を中心に、矢印Ｒ６で示される方向に回動し、これに伴って、多関節ロボット１の先端部の溶接打点も回動する。なお、多関節ロボット１は、従来のものと同様であるとして、詳細な構成についての説明は割愛する。
【００１９】
これらの第１軸Ａ１〜第６軸Ａ６の各軸の回動により、多関節ロボット１は、先端の溶接点を任意の位置に移動させることができる。ユーザインターフェース装置１００は、図１に示すように多関節ロボット１と有線または無線により通信可能に接続され、多関節ロボット１を制御することが可能なユーザインターフェースとして機能する制御用のコンピュータである。
【００２０】
図１に戻って、取得部１１０は、多関節ロボットの内の少なくとも１つの軸の回転角を示す回転角度情報を取得する。ここでいう回転角度情報とは、各軸の基準となる基準位置からの回動角を示す数値の情報である。
【００２１】
また、算出部１３１は、取得部１１０が取得した回転角度情報で示される回転角の基準値からの変動量を算出する。ここでいう、変動量は、回転角そのものであってもよいし、後述するグラフを表現するための数値に変換したものであってもよい。
【００２２】
そして、出力部１４０は、回転角を示す数値に対応付けて、変動量をグラフで表現したグラフ画像を、出力する。これによって、ユーザインターフェース装置１００は、数値以外の表現で多関節ロボット１の状態を表現することができるので、これを視認したオペレータは、当該グラフを確認すれば、多関節ロボット１を動作させることなく、多関節ロボット１の状態を推測することができる。このとき、グラフを表示するのは、先端側の３軸（第４軸Ａ４、第５軸Ａ５、第６軸Ａ６）であることが望ましいが、これに限定されるものではない。
以下、更に詳細に説明する。
【００２３】
図１に示すように、ユーザインターフェース装置１００は、取得部１１０と、記憶部１２０と、制御部１３０と、出力部１４０とを備える。ユーザインターフェース装置１００の各部は、バスを介して互いに接続されている。ユーザインターフェース装置１００は、多関節ロボット１を構成する各軸の回転角により多関節ロボット１を制御し、各軸の回転角を数値で出力するユーザインターフェースとして機能するコンピュータである。
【００２４】
取得部１１０は、多関節ロボット１の軸の回転角度情報を取得する機能を有する。取得部１１０は、多関節ロボット１の回転角度情報としては、多関節ロボット１に対して出力する前の制御値としての回転角を取得するものであってもよいし、実際に多関節ロボット１が動作した結果としての回転角を取得するものであってもよい。取得部１１０は、制御部１３０から多関節ロボット１用の制御値としての回転角度情報を取得する。この場合には、取得部１１０は、プロセッサにより実現することができる。また、あるいは、取得部１１０は、多関節ロボット１と通信して多関節ロボット１を構成する各軸の回転角センサから回転角を取得する。この場合には、取得部１１０は、通信インターフェースにより実現することができる。取得部１１０は、基本的には第４軸Ａ４、第５軸Ａ５、第６軸Ａ６の３つの軸の軸角度を取得する。これは、多関節ロボット１の先端側の３つの軸の角度情報がオペレータの目に見える形で表現できれば、オペレータには多関節ロボット１のおおよその姿勢を推測できるためである。なお、その他の軸の軸角度も取得してグラフで表現してもよいことは言うまでもない。
【００２５】
記憶部１２０は、ユーザインターフェース装置１００が動作上必要とする各種プログラム及び各種データを記憶する機能を有する。記憶部１２０は、各種の記録媒体により実現され、例えば、ＨＤＤ（Hard Disc Drive）、ＳＳＤ（Solid State Drive）、フラッシュメモリなどにより実現できる。記憶部１２０は、多関節ロボット１の制御用インターフェースとして機能するインターフェースプログラムを記憶するとともに、多関節ロボット１の各種制御値（信号値、パラメータ値など）を記憶する。
【００２６】
制御部１３０は、ユーザインターフェース装置１００の各部を制御する機能を有する。制御部１３０は、記憶部１２０に記憶されているインターフェースプログラムを読み出して実行することにより、ユーザインターフェース装置１００としての機能を実行するプロセッサとして実現することができる。制御部１３０は、多関節ロボット１を制御するためのユーザインターフェースをオペレータに提供するものであり、生成したＵＩ画面を出力部１４０に出力させる。また、制御部１３０は、ＵＩ画面の出力にあたって、第４軸Ａ４から第６軸Ａ６の軸角度をグラフ画像（例えば、棒グラフ）で表現する画像を生成する（グラフ表示処理）。また、制御部１３０は、複数あるステップのうち、同一の姿勢になっているステップ同士を一つのグループにグルーピングするグループ化部として機能してもよい（グループ表示処理）。また、制御部１３０は、提供しているユーザインターフェースを介してオペレータが多関節ロボット１を制御する際のティーチングを行う教示部として機能してもよい（ティーチング処理）。グラフ表示処理や、グループ表示処理、ティーチング処理の詳細については後述する。
【００２７】
また、制御部１３０は、棒グラフの生成にあたって算出部１３１としても機能する。算出部１３１は、上述の通り、取得部１１０が取得した回転角度情報で示される回転角の基準値からの変動量を算出する。具体的には、算出部１３１は、回転角度情報で示される角度を棒グラフとして表示するための表示幅を示す変動量に変換する処理を行う。
【００２８】
出力部１４０は、制御部１３０から出力されたインターフェース画面を出力する機能を有する。出力部１４０は、ユーザインターフェース装置１００に設けられたモニターとして実現されてもよいし、ユーザインターフェース装置１００に接続されたモニターに出力する出力ポートとして実現されることとしてもよい。また、あるいは、スピーカによる音声で報知するという態様で実現されることとしてもよい。
【００２９】
以上が、ユーザインターフェース装置１００の構成の説明である。なお、図１には示していないが、ユーザインターフェース装置１００は、その他に、オペレータからの入力を受け付ける入力部を備えてよく、当該入力部は、例えば、キーボードやマウス等のデバイスにより実現することができる。
【００３０】
＜動作＞
図３は、ユーザインターフェース装置１００によるグラフ表示処理における動作例を示すフローチャートである。
【００３１】
（ステップＳ３０１）
ステップＳ３０１において、制御部１３０は、処理対象のステップを示す変数ｉを１に設定する。その後に、制御部１３０は、ステップＳ３０２の処理に移行する。
【００３２】
（ステップＳ３０２）
ステップＳ３０２において、制御部１３０は、ステップｉが、ユーザインターフェース装置１００に回転角度情報が設定されている最後のステップであるか否かを判定する。即ち、図５に示す軸角度情報５０４が入力されているステップ（図５の各行が一つのステップに相当する）の最終行であるかを判定する。ステップｉが最終行である場合（ＹＥＳ）、即ち、全てのステップについて、棒グラフを表示している場合には、処理を終了する。一方、ステップｉが最終行でない場合（ＮＯ）には、制御部１３０は、ステップＳ３０３の処理に移行する。
【００３３】
（ステップＳ３０３）
ステップＳ３０３において、取得部１１０は、ステップｉの第４軸Ａ４、第５軸Ａ５、第６軸Ａ６、各々の回転角を示す回転角度情報を取得する。取得部１１０は、取得した回転角度情報を、制御部１３０に伝達する。その後に、ステップＳ３０４の処理に移行する。
【００３４】
（ステップＳ３０４）
ステップＳ３０４において、制御部１３０の算出部１３１は、取得部１１０から伝達された回転角度情報を、棒グラフとして出力可能なように、表示幅を示す変動量に変換する。その後に、ステップＳ３０５の処理に移行する。
【００３５】
（ステップＳ３０５）
ステップＳ３０５において、制御部１３０は、算出部１３１が算出した変動量で示される棒グラフを当該変動量の算出に用いた回転角度情報を示す数値に対応づけて（ステップｉに対応付けて）表示するＵＩ画面を、出力部１４０に出力させる。出力部１４０は、制御部１３０からの指示に従って、伝達されたＵＩ画面を表示して、ステップＳ３０６の処理に移行する。
【００３６】
（ステップＳ３０６）
ステップＳ３０６において、制御部１３０は、変数ｉをインクリメントし、ステップＳ３０２の処理に移行する。
【００３７】
図３に示す処理によって、ＵＩ画面には、第４軸Ａ４から第６軸Ａ６の回転角度を示す棒グラフが表示されることになり、オペレータに多関節ロボット１の姿勢の推定をしやすくさせることができる。
【００３８】
図４は、ユーザインターフェース装置１００によるグループ表示処理における動作例を示すフローチャートである。
【００３９】
（ステップＳ４０１）
ステップＳ４０１において、ユーザインターフェース装置１００の制御部１３０は、処理対象のステップを示す変数ｋを１に設定する。その後に、制御部１３０は、ステップＳ４０２の処理に移行する。
【００４０】
（ステップＳ４０２）
ステップＳ４０２において、次に、制御部１３０は、ステップｋが処理済みであるか否かを判定する。ステップｋが処理済みである場合には（ＹＥＳ）、ステップＳ４０６の処理に移行する。ステップｋが処理済みでない場合には（ＮＯ）、ステップＳ４０３の処理に移行する。
【００４１】
（ステップＳ４０３）
ステップＳ４０３において、取得部１１０は、ステップｋの第１軸Ａ１、第２軸Ａ２、第３軸Ａ３、第４軸Ａ４、第５軸Ａ５、第６軸Ａ６の各角度を取得する。その後に、ステップＳ４０４の処理に移行する。
【００４２】
（ステップＳ４０４）
ステップＳ４０４において、制御部１３０は、ステップｋ＋１番目以降のステップで全ての軸の角度情報を一致する他のステップがあるか否かを判定する。全ての軸の角度情報が一致する他のステップがあった場合には（ＹＥＳ）、制御部１３０は、ステップＳ４０５の処理に移行する。全ての軸の角度情報が一致する他のステップがなかった場合には（ＮＯ）、ステップＳ４０６の処理に移行する。
【００４３】
（ステップＳ４０５）
ステップＳ４０５において、制御部１３０は、全ての軸の角度情報が一致する他のステップを、ステップｋと同一グループとして、グルーピングする。そして、同一グループに含まれるステップ全てを、処理済みのステップとする。
【００４４】
（ステップＳ４０６）
ステップＳ４０６において、制御部１３０は、ステップｋが軸角度情報が存在する最後のステップであるか否かを判定する。ステップｋが最終ステップではない場合には（ＮＯ）、ステップＳ４０７の処理に移行し、ステップｋが最終ステップであった場合には（ＹＥＳ）、ステップＳ４０８の処理に移行する。
【００４５】
（ステップＳ４０７）
ステップＳ４０７において、制御部１３０は、ｋをインクリメントし（ステップＳ４０７）、ステップＳ４０２の処理に戻る。
【００４６】
（ステップＳ４０８）
ステップＳ４０８において、制御部１３０は、同一グループとしてグルーピングした各グループを同一色でマーキングして表示する。このとき、制御部１３０は、他のグループとは区別可能なように、他のグループには異なる色でマーキングする。
【００４７】
図４に示す処理によって、ユーザインターフェース装置１００は、各軸の角度が全て同一であるステップ同士が区別可能なＵＩ画面を提供することができる。したがって、オペレータは、どのステップとどのステップとが同一の打点に到達しているのかを一目で確認することができる。
【００４８】
＜表示例＞
図３、図４における処理の結果、出力部１４０は、図５に示すようなインターフェース画面５００を出力する。ユーザインターフェース装置１００は、多関節ロボットの各軸の回転角を示す数値を経時的に羅列したインターフェース画面５００を出力する。
【００４９】
図５に示すようにインターフェース画面５００は、グループ情報５０１と、ステップ情報５０２と、角度グラフ５０３と、軸角度情報５０４とが対応付けられたインターフェース画面である。
【００５０】
グループ情報５０１は、図４に示すグループ表示処理により生成される情報であって、ステップ同士で各軸が、同一の数値を有するものについて同一のグループであることを示す情報であると同時に、他のグループと区別するための情報である。ここでは、グループの色は、ハッチングにより示している。
【００５１】
ステップ情報５０２は、多関節ロボット１の制御に係る処理の一ステップ、一ステップを示す情報であり、多関節ロボットの制御において、どのステップ（タイミング）の制御であるかを一意に特定可能な情報である。
【００５２】
角度グラフ５０３は、図３に示すグラフ表示処理により生成される情報であって、各ステップの第４軸Ａ４〜第６軸Ａ６の角度を棒グラフで示した情報である。このグラフにおいては、グラフの中心が回転の基準位置（初期位置）であり、当該基準位置から、いずれの方向（正回転、逆回転のいずれか）に向かって、どの程度軸が回転しているかを棒グラフの長さによって示している。図５においては、第４軸Ａ４を黒塗りの棒グラフで、第５軸Ａ５を白塗りの棒グラフで、第６軸Ａ６を点描の棒グラフで、各々の回転角（回転の度合）を示している。
【００５３】
軸角度情報５０４は、第１軸Ａ１、第２軸Ａ２、第３軸Ａ３、第４軸Ａ４、第５軸Ａ５、第６軸Ａ６各々の回転角度を数値により示す情報である。
【００５４】
図５の例でいえば、「step1_29」は、第１軸Ａ１が、「５．１５１４１」、第２軸Ａ２が、「１０．４４４６１７」、第３軸Ａ３が、「−５．２９５５５５」、第４軸Ａ４が、「２２９．２８０２０２」、第５軸Ａ５が、「９０．２４８５３１」、第６軸Ａ６が、「−３７．３８５７２１」となっており、「step1_32」と同一のグループに属していることが理解できる。また、図示はしていないが、「step1_30」には、軸角度情報５０４が同一の角度である他のステップが存在することが理解できる。
【００５５】
このように、ユーザインターフェース装置１００は、各ステップにおける多関節ロボット１の姿勢を一目で推察可能な情報を提供するとともに、制御の過程で、全く同じ姿勢（軸角度）になったタイミングも一目で認識可能な情報を提供することができる。従来は、図１０に示すように、各軸の角度を示す数値しか表示されないため、多関節ロボット１の姿勢の推察が困難であるとともに、どのステップが同一姿勢になっているかの判別も困難であったところ、ユーザインターフェース装置１００は、これらの問題を解決できる。
【００５６】
＜ティーチング処理＞
ここから、ユーザインターフェース装置１００によるティーチング処理について説明する。ここでティーチングとは、ユーザインターフェース装置１００が、ユーザインターフェースに対する入力内容（制御内容）に誤りがあったり、出力が異常であったりする場合に、その旨をオペレータに教示したり、解決方法を教示したりすることをいう。
【００５７】
図６は、ティーチング処理を行うために、ユーザインターフェース装置１００の記憶部１２０が記憶しているチェック表６００の一例を示すデータ概念図である。チェック表６００は、ユーザインターフェース装置１００の制御部１３０が自動でオペレータに対して、誤りやエラーの原因を教示（ティーチング）するために参照する情報であって、制御部１３０がユーザインターフェース上でどのような条件（例えば、入力についての条件、パラメータ変動についての条件、出力についての条件など）が発生しているかを発見したときに、どのようなティーチングを行うのかを示す情報である。
【００５８】
図６に示すように、チェック表６００は、パラメータ情報６０１と、チェック項目６０２と、ステップ条件６０３と、ティーチング内容６０４とが対応付けられた情報である。
【００５９】
パラメータ情報６０１は、チェックの対象となる信号やパラメータを示す情報である。
【００６０】
チェック項目６０２は、対応するパラメータ情報６０１に対して、何をチェックするのかを示す情報である。
【００６１】
ステップ条件６０３は、対応するチェック項目６０２の条件を満たしているときに、ステップについての条件を示す情報である。ステップ数とは、対応するチェック項目がどのステップにおいて満たされているか否かを検出するための条件である。図６において、「最初」及び「最後」との情報は、複数のステップの組み合わせで多関節ロボット１を制御する場合の一連の処理における最初、最後を示している。入力条件とは、満たすべき更なる条件を示している。「前後」とは、どのステップにおいてチェック項目６０２の条件が満たされているかを検出するための条件である。ステップ条件６０３は、ない場合もあり、その場合には、図６においては、「−」で示している。
【００６２】
ティーチング内容６０４は、対応するパラメータ情報６０１が、チェック項目６０２、ステップ条件６０３を満たした場合に、オペレータに対して、教示する（ティーチングする）内容を示す情報である。
【００６３】
図６に示すチェック表６００を記憶部１２０が保持していることにより、ユーザインターフェース装置１００は、オペレータが入力した制御内容について、誤りを指摘したり、不正動作を指摘したりなどのティーチングが行える。
【００６４】
なお、図６に示したチェック例は一例であり、ロボットに応じて、チェックすべき項目は異なってくるものであり、それに応じて、ティーチング内容も異なってくることは言うまでもない。
【００６５】
図７は、ユーザインターフェース装置１００がティーチング処理を行う際の動作例を示すフローチャートである。
【００６６】
（ステップＳ７０１）
ステップＳ７０１において、制御部１３０は、ユーザインターフェースに対して入力された各種のパラメータや、当該入力により実行された結果得られるパラメータなど、全てのパラメータを取得する。その後に、ステップＳ７０２の処理に移行する。
【００６７】
（ステップＳ７０２）
ステップＳ７０２において、制御部１３０は、取得したパラメータについて、チェック表６００において、チェック対象の条件を満たすパラメータがあるか否かを判定する。条件を満たすパラメータがない場合には（ＮＯ）、制御部１３０は、処理を終了する。条件を満たすパラメータがある場合には（ＹＥＳ）、ステップＳ７０３の処理に移行する。
【００６８】
（ステップＳ７０３）
ステップＳ７０３において、制御部１３０は、条件を満たしているパラメータに対応付けられているティーチング内容６０４を特定する。その後に、ステップＳ７０４の処理に移行する。
【００６９】
（ステップＳ７０４）
ステップＳ７０４において、制御部１３０は、特定したティーチング内容を、条件を満たしているパラメータ部分に対応付けて、表示するＵＩ画面を出力部１４０に出力させる。
【００７０】
当該処理により、ユーザインターフェース装置１００は、自動で実行可能な、オフラインティーチングを実現することができる。
【００７１】
図７に示すティーチング処理の結果、ユーザインターフェース装置１００は、例えば、図８に示すような、ＵＩ画面を出力する。図８に示すＵＩ画面では、図５に示したＵＩ画面に更に、信号５０５を対応付けた状態を示している。信号５０５は、多関節ロボットに対して行った入力した値、又は、出力された値の例を示している。
【００７２】
ユーザインターフェース装置１００の制御部１３０は、図６に示すチェック表６００を参照して、図７に示すティーチング処理を行った結果、オペレータに対して、誤りを指摘するための文言を付加した、ＵＩ画面を出力する。例えば、図８では、出力信号が間違っている場合に、「出力信号が間違っています。」とティーチングを行った例を示している。また、図８では、「step1_31」において、第６軸Ａ６の軸値が突然変化（以下、「突変」と呼称する。）したことを検出して、「軸値が突変しています。」とティーチングを行った例を示している。このとき、制御部１３０は、ティーチング内容を、誤り等が発見されたステップに対応付けて表示することで、オペレータにどこを間違えているかを理解しやすくさせることができる。
【００７３】
このように、ユーザインターフェース装置１００は、更に、多関節ロボット１の制御において、オフラインティーチングが可能な装置としても機能することができる。
【００７４】
＜補足＞
上記実施形態に係るユーザインターフェース装置は、上記実施形態に限定されるものではなく、他の手法により実現されてもよいことは言うまでもない。以下、各種変形例について説明する。
【００７５】
（１）上記実施の形態においては、ユーザインターフェース装置１００は、グラフ表示処理と、グループ表示処理と、ティーチング処理とを実現できることとしたが、ユーザインターフェース装置１００は、これらの処理のうち、一部のみを実行することとし、他の機能を実行しないこととしてもよい。また、ユーザインターフェース装置１００は、これらの処理のうち、いずれの処理を実行するかをオペレータが設定できる設定部を備えてもよい。
【００７６】
（２）上記実施の形態においては、棒グラフにより、第４軸Ａ４〜第６軸Ａ６の角度を表現することとしたが、これはその限りではない。オペレータが、多関節ロボット１の姿勢を推測できる表示態様になっていれば、それ以外の表示態様であってよく、例えば、折れ線グラフの態様で表現することとしてもよいし、あるいは、多関節ロボット１の姿勢を示すイラストや３次元ＣＡＤによる３Ｄ画像などにより表現することとしてもよい。
【００７７】
（３）上記実施の形態においては、多関節ロボット１の制御におけるステップのうち同一グループの見分けがつくように、グループ情報５０１の欄を設けて色分けすることにより確認できるようにしたが、これはその限りではない。グループの識別方法は、他の態様により実現されてもよい。例えば、制御部１３０は、グループ情報５０１の欄を設けることなく、各ステップの背景色をグループごとに色分けすることで同一グループを表現することとしてもよい。あるいは、色以外にマークで表現してもよいし、文字や数字により表現することとしてもよい。
【００７８】
（４）上記実施形態においては、ユーザインターフェース装置が実際にロボットを動作させることなく、多関節ロボット１の姿勢を推察可能なユーザインターフェース画面を出力するユーザインターフェース装置１００を構成する各機能部として機能するプロセッサがユーザインターフェースプログラム等を実行することにより、ユーザインターフェースを出力することとしているが、これは装置に集積回路（ＩＣ（Integrated Circuit）チップ、ＬＳＩ（Large Scale Integration））等に形成された論理回路（ハードウェア）や専用回路によって実現してもよい。また、これらの回路は、１または複数の集積回路により実現されてよく、上記実施形態に示した複数の機能部の機能を１つの集積回路により実現されることとしてもよい。ＬＳＩは、集積度の違いにより、ＶＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩなどと呼称されることもある。すなわち、図９に示すように、ユーザインターフェース装置１００を構成する各機能部は、物理的な回路により実現されてもよい。図９に示すように、ユーザインターフェース装置１００は、取得回路１１０ａと、記憶回路１２０ａと、制御回路１３０ａ（算出回路１３１ａ）と、出力回路１４０ａとを備え、各回路は、上述の同名の機能部と同様の機能を有する。
【００７９】
また、上記ユーザインターフェースプログラムは、プロセッサが読み取り可能な記録媒体に記録されていてよく、記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記ユーザインターフェースプログラムは、当該ユーザインターフェースプログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記プロセッサに供給されてもよい。本発明は、上記ユーザインターフェースプログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【００８０】
なお、上記ユーザインターフェースプログラムは、例えば、ActionScript、JavaScript（登録商標）などのスクリプト言語、Objective-C、Java（登録商標）などのオブジェクト指向プログラミング言語、HTML5などのマークアップ言語などを用いて実装できる。
【００８１】
（５）上記実施形態及び各補足に示した構成は、適宜組み合わせることとしてもよい。
【符号の説明】
【００８２】
１  多関節ロボット
１００  ユーザインターフェース装置
１１０  取得部
１２０  記憶部
１３０  制御部
１３１  算出部
１４０  出力部
【図１】
2018192552.tif 000003
【図２】
2018192552.tif 000004
【図３】
2018192552.tif 000005
【図４】
2018192552.tif 000006
【図５】
2018192552.tif 000007
【図６】
2018192552.tif 000008
【図７】
2018192552.tif 000009
【図８】
2018192552.tif 000010
【図９】
2018192552.tif 000011
【図１０】
2018192552.tif 000012