(57)【要約】  状態ウィンドウ（５０２）を有する機能アイコン（５）を表示した選択領域（６０２）、及び作成領域（６０３）を有する教示画面（６）を生成する画面生成部（３０６）と、教示画面（６）において、選択領域（６０２）から機能アイコン（５）を選択し、当該機能アイコン（５）を複製した機能アイコン（５）を作成領域（６０３）に配置する機能アイコン表示部（３０７）と、作成領域（６０３）に配置された機能アイコン（５）が表す機能のパラメータを設定する設定部（３０８）と、作成領域（６０３）に配置された機能アイコン（５）及び設定部（３０８）による設定に基づいて、制御プログラムを作成するプログラム作成部（３０９）とを備え、機能アイコン表示部（３０７）は、設定部（３０８）による設定に応じ、作成領域（６０３）に配置した機能アイコン（５）の外観（５０１）を変更する。
2020012558.tif 000002
【特許請求の範囲】
【請求項１】
ロボットに対する制御プログラムを構成する機能を表すアイコンであって、当該機能のパラメータの設定概要を表示する状態ウィンドウを有するアイコンである機能アイコンを表示した第１の領域、及び第２の領域を有する教示画面を生成する画面生成部と、
前記画面生成部により生成された教示画面において、第１の領域から機能アイコンを選択し、当該機能アイコンを複製した機能アイコンを第２の領域に配置する機能アイコン表示部と、
前記機能アイコン表示部により第２の領域に配置された機能アイコンが表す機能のパラメータを設定する設定部と、
前記機能アイコン表示部により第２の領域に配置された機能アイコン及び前記設定部による設定に基づいて、制御プログラムを作成するプログラム作成部とを備え、
前記機能アイコン表示部は、前記設定部による設定に応じ、第２の領域に配置した機能アイコンの外観を変更する
ことを特徴とする教示装置。
【請求項２】
前記画面生成部により第１の領域に表示される機能アイコンは、詳細ボタンを有し、
前記機能アイコン表示部は、第２の領域に配置した機能アイコンにおいてユーザにより詳細ボタンが選択された場合に、当該機能アイコンが表す機能のパラメータを設定可能とするポップアップウィンドウを表示し、
前記設定部は、前記機能アイコン表示部により表示されたポップアップウィンドウに対するユーザによる設定に応じ、前記機能アイコン表示部により第２の領域に配置された機能アイコンが表す機能のパラメータを設定する
ことを特徴とする請求項１記載の教示装置。
【請求項３】
前記画面生成部により第１の領域に表示される機能アイコンは、ロボットの通過点を表す通過点アイコンを含む
ことを特徴とする請求項２記載の教示装置。
【請求項４】
前記機能アイコン表示部は、複数の通過点アイコンを第２の領域に配置した場合に、当該通過点アイコンが有する状態ウィンドウとして、当該通過点アイコンが表す通過点を選択可能とするプルダウンリストを表示し、
前記設定部は、前記機能アイコン表示部により表示されたプルダウンリストに対するユーザによる選択に応じ、前記機能アイコン表示部により第２の領域に配置された通過点アイコンが表す通過点を切換える
ことを特徴とする請求項３記載の教示装置。
【請求項５】
前記機能アイコン表示部は、プルダウンリストに対するユーザによる選択に応じて前記設定部により通過点アイコンが表す通過点が他の通過点アイコンが表す通過点と同一に設定された場合に、当該通過点アイコンに対して表示するポップアップウィンドウに、当該通過点からの距離を入力可能とする入力欄を追加し、
前記設定部は、前記機能アイコン表示部により表示されたポップアップウィンドウの入力欄に対するユーザによる入力に応じ、当該ポップアップウィンドウが表示された通過点アイコンが表す通過点を変更する
ことを特徴とする請求項４記載の教示装置。
【請求項６】
前記画面生成部により第１の領域に表示される機能アイコンは、内部に他の機能アイコンを配置可能な空間を有するアイコンであって、当該空間に配置された他の機能アイコンにより構成される一連のプログラムであるサブルーチンを表すアイコンであるサブルーチンアイコンを含む
ことを特徴とする請求項２記載の教示装置。
【請求項７】
前記機能アイコン表示部は、第２の領域に配置したサブルーチンアイコンに対して他の機能アイコンを既定範囲内に近づけた場合、当該サブルーチンアイコンが有する空間を広げる
ことを特徴とする請求項６記載の教示装置。
【請求項８】
前記機能アイコン表示部は、第２の領域に配置したサブルーチンアイコンの端部がユーザによりドラッグされた場合、当該ドラッグに応じて当該サブルーチンアイコンが有する空間を伸縮させ、当該伸縮方向に応じて、当該端部に隣接し且つ当該空間の外部に存在する機能アイコンの当該空間の内部への取り込み、又は、当該端部に隣接し且つ当該空間の内部に存在する機能アイコンの当該空間の外部への排出を行う
ことを特徴とする請求項６記載の教示装置。
【請求項９】
前記機能アイコン表示部は、第２の領域に配置したサブルーチンアイコンに対して表示するポップアップウィンドウとして、当該サブルーチンアイコンが有する空間の内部に配置した機能アイコンを非表示とする集約、及び当該機能アイコンを表示する展開を選択可能とするプログラムリストを表示する
ことを特徴とする請求項６記載の教示装置。
【請求項１０】
前記機能アイコン表示部は、第２の領域に配置したサブルーチンアイコンに対して表示するポップアップウィンドウとして、当該サブルーチンアイコンが有する空間の内部に配置した機能アイコンを全て外部に排出し、且つ、当該サブルーチンアイコンを削除する解体を選択可能とするプログラムリストを表示する
ことを特徴とする請求項６記載の教示装置。
【請求項１１】
前記画面生成部は、前記機能アイコン表示部により第２の領域に配置されたサブルーチンアイコンが第１の領域に移動された場合に、当該サブルーチンアイコンを複製したサブルーチンアイコンを第１の領域に表示する
ことを特徴とする請求項６記載の教示装置。
【請求項１２】
前記機能アイコン表示部は、複数のサブルーチンアイコンを第２の領域に配置した場合に、当該サブルーチンアイコンが有する状態ウィンドウとして、当該サブルーチンアイコンが表すサブルーチンを選択可能とするプログラムリストを表示し、
前記設定部は、前記機能アイコン表示部により表示されたプログラムリストに対するユーザによる選択に応じ、前記機能アイコン表示部により第２の領域に配置されたサブルーチンアイコンが表すサブルーチンを切換える
ことを特徴とする請求項６記載の教示装置。
【請求項１３】
前記画面生成部は、教示画面に、前記機能アイコン表示部、前記設定部及び前記プログラム作成部による処理状態を示すウィンドウを１つ以上表示する
ことを特徴とする請求項１記載の教示装置。
【請求項１４】
前記画面生成部は、第２の領域に３Ｄプレビューの表示位置を表示し、教示画面に、当該表示位置でのロボットの状態を示す３Ｄプレビューウィンドウを表示する
ことを特徴とする請求項１３記載の教示装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ロボットに対する制御プログラムを作成する教示装置に関する。
【背景技術】
【０００２】
従来から、図２５に示すように、制御プログラムの通りに駆動するアーム１０１を有し、反復運動又は高速運動等の運動を行うロボット１が存在する。なお、制御プログラムは、ロボット１を動作させるためのプログラムであり、通過点、動作順序、動作タイミング又は条件付き動作等のロボット１の駆動に係る指令データを指す。このロボット１に対しては、制御プログラムを作成するロボット教示が必要となる。【０００３】
図２５は、ロボット教示を行うロボット１の動作の一例を示している。図２５に示すロボット１の動作では、末端のアーム１０１にフランジ１０２を介して取付けられたツール１０３が、ワーク４を把持して目的地に移動させる動作を示している。
図２５に示すロボット１の動作では、まず、ツール１０３が、動作を開始する通過点Ｐ０１から通過点Ｐ０２に移動する。次いで、ツール１０３が、ワーク４が存在する通過点Ｐ０３に垂直に降下してワーク４を把持する。次いで、ツール１０３が、通過点Ｐ０２を経由して通過点Ｐ０４に移動する。次いで、ツール１０３が、目的地である通過点Ｐ０５に垂直に降下して把持を開放する。次いで、ツール１０３が、通過点Ｐ０４を経由して通過点Ｐ０１に戻る。【０００４】
従来、教示者は、上記のような動作順序をロボット教示する場合、その動作順序をロボット教示のためのプログラミング言語に翻訳し、それを文字列で記述して制御プログラムを作成する必要がある。よって、教示者は、プログラム言語の知識を要する。【０００５】
また、教示者は、プログラム言語による制御プログラムの内容を把握するためには、プログラム言語を読み解く時間が必要となる。すなわち、例えば図２６に示すように、プログラム言語による文字列で記述された制御プログラムは、全体構成又は詳細情報等の情報の粒度に依らず視覚的に均一であり、教示者はプログラム言語を読み解くことでしか内容を把握できない。例えば、サブルーチン或いは座標又は時間の指定に必要な数値情報等のように、情報の種別の違いも、文字列として全体の記述に埋没してしまうため、直感性が無い。そのため、プログラム言語の知識がある者でも他者が作成した制御プログラムの内容把握には時間を要する。また、自身で作成した制御プログラムでも時間の経過とともに内容を忘れてしまうため、効率的に内容を把握できるよう、制御プログラムに影響を与えない記述方法で覚書のコメントを記載する等の工夫を要する。なお、図２６において、符号２６１はサブルーチンを示し、符号２６２は数値情報を示している。【０００６】
これに対し、組立作業を行う教示システムのプログラミング方法として、アイコンを利用した方法が開示されている（例えば特許文献１参照）。この特許文献１に開示された方法では、プログラミングに必要な情報を少なくとも３段階の階層に分解し、整理して表示している。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平０８−２４９０２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に開示された方法では、アイコンが表す機能のパラメータの設定に依らず、アイコンの表示は固定である。よって、このアイコンを用いたプログラミングでは、教示者はアイコンから機能がどのような設定となっているかを直感的に把握できないという課題がある。【０００９】
この発明は、上記のような課題を解決するためになされたもので、ロボットに対する制御プログラムを作成する教示装置において、ユーザが、当該制御プログラムを構成する機能を表す機能アイコンから当該機能のパラメータの設定状態を直感的に把握可能な教示装置を提供することを目的としている。
【課題を解決するための手段】
【００１０】
この発明に係る教示装置は、ロボットに対する制御プログラムを構成する機能を表すアイコンであって、当該機能のパラメータの設定概要を文字で表示する状態ウィンドウを有するアイコンである機能アイコンを表示した第１の領域、及び第２の領域を有する教示画面を生成する画面生成部と、画面生成部により生成された教示画面において、第１の領域から機能アイコンを選択し、当該機能アイコンを複製した機能アイコンを第２の領域に配置する機能アイコン表示部と、機能アイコン表示部により第２の領域に配置された機能アイコンが表す機能のパラメータを設定する設定部と、機能アイコン表示部により第２の領域に配置された機能アイコン及び設定部による設定に基づいて、制御プログラムを作成するプログラム作成部とを備え、機能アイコン表示部は、設定部による設定に応じ、第２の領域に配置した機能アイコンの外観を変更することを特徴とする。
【発明の効果】
【００１１】
この発明によれば、上記のように構成したので、ユーザが、制御プログラムを構成する機能を表す機能アイコンから当該機能のパラメータの設定状態を直感的に把握可能となる。
【図面の簡単な説明】
【００１２】
【図１】この発明の実施の形態１に係る教示システムの構成例を示す図である。
【図２】図２Ａ〜図２Ｃは、この発明の実施の形態１におけるロボットの構成例を示す図である。
【図３】図３Ａ、図３Ｂは、この発明の実施の形態１におけるツールの構成例を示す図である。
【図４】この発明の実施の形態１におけるプログラム生成部の構成例を示す図である。
【図５】図５Ａ〜図５Ｅは、この発明の実施の形態１に係る教示装置で用いられる機能アイコンの一例を示す図であり、図５Ａは通過点アイコンの一例を示し、図５Ｂは移動アイコンの一例を示し、図５Ｃは一時停止アイコンの一例を示し、図５Ｄはツールアイコンの一例を示し、図５Ｅはサブルーチンアイコンの一例を示す図である。
【図６】この発明の実施の形態１に係る教示装置に表示される初期の教示画面の一例を示す図である。
【図７】この発明の実施の形態１に係る教示装置に表示される教示画面での機能アイコンの操作の一例を説明する図である。
【図８】この発明の実施の形態１に係る教示装置に表示される教示画面での機能アイコンの操作の一例を説明する図である。
【図９】この発明の実施の形態１に係る教示装置に表示される教示画面での機能アイコンの操作の一例を説明する図である。
【図１０】この発明の実施の形態１に係る教示装置に表示される教示画面での機能アイコンの操作の一例を説明する図である。
【図１１】図１１Ａ〜図１１Ｄは、この発明の実施の形態１における教示装置で用いられる通過点アイコンの一例を示す図である。
【図１２】図１２Ａ〜図１２Ｃは、この発明の実施の形態１に係るロボットの通過点でのフランジの角度を説明する図である。
【図１３】図１３Ａ、図１３Ｂは、この発明の実施の形態１に係るロボットの通過点に対する接近距離を説明する図である。
【図１４】図１４Ａ〜図１４Ｄは、この発明の実施の形態１における教示装置で用いられる移動アイコンの一例を示す図である。
【図１５】この発明の実施の形態１における教示装置で用いられる一時停止アイコンの一例を示す図である。
【図１６】図１６Ａ〜図１６Ｃは、この発明の実施の形態１における教示装置で用いられるツールアイコンの一例を示す図である。
【図１７】図１７Ａ〜図１７Ｃは、この発明の実施の形態１における教示装置で用いられるサブルーチンアイコンの一例を示す図である。
【図１８】図１８Ａ、図１８Ｂは、この発明の実施の形態１における教示装置で用いられるサブルーチンアイコンが有する状態ウィンドウの一例を説明する図である。
【図１９】図１９Ａ〜図１９Ｃは、この発明の実施の形態１における教示装置で用いられるサブルーチンアイコンが有する詳細ボタンの一例を説明する図である。
【図２０】この発明の実施の形態１における教示装置に表示されるサブルーチンアイコンの保存の一例を示す図である。
【図２１】この発明の実施の形態２に係る教示装置に表示される教示画面の一例を示す図である。
【図２２】この発明の実施の形態２に係る教示装置に表示される３Ｄプレビューウィンドウの一例を示す図である。
【図２３】この発明の実施の形態２に係る教示装置に表示される３Ｄプレビューウィンドウの一例を示す図である。
【図２４】図２４Ａ、図２４Ｂは、この発明の実施の形態１，２に係る教示装置のハードウェア構成例を示す図である。
【図２５】ロボットの動作の一例を説明する図である。
【図２６】プログラム言語による制御プログラムの一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、この発明の実施の形態について図面を参照しながら詳細に説明する。
実施の形態１．
図１はこの発明の実施の形態１に係る教示システムの構成例を示す図である。図１では、各装置に対する電源供給については図示を省略している。
教示システムは、図１に示すように、ロボット１、ロボット制御装置２及び教示装置３を備えている。
【００１４】
ロボット１は、ロボット制御装置２から出力された動作制御信号に応じて駆動するアーム１０１を有し、反復運動又は高速運動等の運動を行う。
【００１５】
図２に示すように、アーム１０１は、ロボット１の軸と軸とを結ぶ筐体及び末端の軸から延びる筐体を指す。また、軸は、ロボット１が有する回転運動する駆動装置の回転中心を指す。また、軸は、回転運動を直線運動に変える駆動装置の移動軌跡も含む。軸の数は、ロボット１の種別に応じて異なる。図２Ａは６軸（Ｊ１〜Ｊ６）を有するロボット１を示し、図２Ｂは４軸（Ｊ１〜Ｊ４）を有するロボット１を示し、図２Ｃは４軸（Ｊ１〜Ｊ４）を有するロボット１を示している。図２において、Ｊ１はロボット１の据付部に最も近い軸である。
【００１６】
また、図３に示すように、ロボット１には、末端のアーム１０１にフランジ１０２を介してツール１０３が取付けられている。フランジ１０２は、末端のアーム１０１におけるツール１０３を固定する箇所を指す。また、ツール１０３は、フランジ１０２に固定され、組立、搬送又はバリ取り等の作業を行う装置を指す。ツール１０３は、作業に応じて各種存在する。図３Ａはワーク４を把持するタイプのツール１０３であるハンドを示し、図３Ｂは工具１０４を把持するタイプのツール１０３を示している。図３Ｂでは、工具１０４としてグラインダーを示している。また、ツール１０３としては、上記の他にも、例えば、ワーク４を吸引力により保持するタイプのツール１０３であるバキュームが挙げられる。また、工具１０４としては、上記の他にも、例えばスプレーが挙げられる。
【００１７】
なお、ワーク４は、ロボット１の作業対象を指す。ロボット１による作業が組立又は搬送である場合には、ワーク４は、図３Ａのようにハンドが掴む対象を指す。また、ロボット１による作業がバリ取りである場合には、ワーク４は、図３Ｂのようにグラインダーを押し当てる対象を指す。
【００１８】
また、図３における符号１１は、制御点を示している。制御点は、ツール１０３の先端の１点を指す。制御点は、ハンドの場合には把持する点を指し、工具１０４を把持するタイプのツール１０３の場合には工具１０４の加工する点を指す。
【００１９】
ロボット制御装置２は、教示装置３から読出した制御プログラムに基づいて動作制御信号を生成し、当該動作制御信号をロボット１に出力する。制御プログラムは、ロボット１を動作させるためのプログラムであり、通過点、動作順序、動作タイミング又は条件付き動作等のロボット１の駆動に係る指令データを指す。
このロボット制御装置２は、図１に示すように、プログラム読出し部２０１、動作制御信号生成部２０２及び動作制御信号出力部２０３を備えている。
【００２０】
プログラム読出し部２０１は、教示装置３の後述するプログラム保存部３０４から制御プログラムを読出す。
動作制御信号生成部２０２は、プログラム読出し部２０１により読出された制御プログラムに基づいて動作制御信号を生成する。
動作制御信号出力部２０３は、動作制御信号生成部２０２により生成された動作制御信号をロボット１に出力する。
【００２１】
なお、ロボット１及びロボット制御装置２の構成及び動作は、従来から知られているロボット及びロボット制御装置の構成及び動作と同様である。
【００２２】
教示装置３は、ユーザによる操作に応じて制御プログラムを作成する装置である。なお、教示装置３による制御プログラムの作成は、制御プログラムの新規作成又は制御プログラムの修正を意味する。この教示装置３としては、ロボット専用教示装置、ロボット教示ソフトウェアをインストールした汎用パソコン又はタブレット端末等が用いられる。また、ユーザは、教示装置３を操作する教示者である。
この教示装置３は、図１に示すように、表示部３０１、入力部３０２、プログラム生成部３０３及びプログラム保存部３０４を備えている。
【００２３】
表示部３０１は、プログラム生成部３０３により生成された教示画面６を表示する。
入力部３０２は、表示部３０１に表示された教示画面６に対し、ユーザによる操作を受付ける。
【００２４】
プログラム生成部３０３は、表示部３０１に表示させる教示画面６を生成し、入力部３０２により受付けられた操作に応じて教示画面６の更新等の各種処理を行って制御プログラムを作成する。このプログラム生成部３０３は、図４に示すように、データ記憶部３０５、画面生成部３０６、機能アイコン表示部３０７、設定部３０８及びプログラム作成部３０９を有している。
【００２５】
データ記憶部３０５は、機能アイコン５に関するデータを記憶する。
機能アイコン５は、制御プログラムを構成する機能を表すアイコンであり、当該機能を想起させるようにグラフィカルに表現された外観５０１を有するアイコンである。また、機能アイコン５は、ロボット教示に特化したパラメータの設定を可能とする機能を有する。この機能アイコン５の詳細については後述する。機能アイコン５としては、図５に示すように、例えば、通過点アイコン５ａ、移動アイコン５ｂ、一時停止アイコン５ｃ、ツールアイコン５ｄ及びサブルーチンアイコン５ｅが挙げられる。また、機能アイコン５に関するデータとしては、機能アイコン５の外観５０１に用いられる図案、機能アイコン５が表す機能のパラメータ、及び、当該機能をプログラム言語により文字列で記述したプログラム等を示すデータが含まれる。
【００２６】
なお、機能アイコン５及び機能アイコン５の構成を示す符号について、機能アイコン５の種別毎に区別する必要がある場合には接尾記号（ａ，ｂ，・・・，ｅ）を付し、区別する必要がない場合には接尾記号を付さないものとする。
【００２７】
また、データ記憶部３０５は、ロボット１及び周辺環境を示す３Ｄデータを記憶してもよい。なお、周辺環境は、ロボット１が設置される空間、並びに、当該空間における床、柱、台、関連する機器、配線又はワーク４等の物品全てを総称したものを指す。また、３Ｄデータは、ロボット１及び周辺環境の外形、位置又は動きを数値化した仮想三次元空間上の立体データを指す。
【００２８】
画面生成部３０６は、データ記憶部３０５に記憶されているデータを用いて、教示画面６を生成する。実施の形態１における教示画面６は、選択領域（第１の領域）６０２及び作成領域（第２の領域）６０３を有するビジュアルプログラムウィンドウ６０１である。選択領域６０２は、画面生成部３０６によりデータ記憶部３０５に記憶されているデータから作成された基本となる機能アイコン５が表示された領域である。作成領域６０３は、機能アイコン表示部３０７により選択領域６０２で選択された機能アイコン５が複製された機能アイコン５が配置される領域である。
【００２９】
機能アイコン表示部３０７は、入力部３０２により受付けられた操作に応じ、データ記憶部３０５に記憶されているデータを用いて、画面生成部３０６により生成された教示画面６の作成領域６０３に機能アイコン５を配置する。この際、機能アイコン表示部３０７は、選択領域６０２から機能アイコン５を選択し、当該機能アイコン５を複製した機能アイコン５を作成領域６０３に配置する。
また、機能アイコン表示部３０７は、設定部３０８による設定に応じ、データ記憶部３０５に記憶されているデータを用いて、作成領域６０３に配置した機能アイコン５の外観５０１を変更する。
【００３０】
設定部３０８は、入力部３０２による受付けられた操作に応じ、機能アイコン表示部３０７により作成領域６０３に配置された機能アイコン５が表す機能のパラメータを設定する。
【００３１】
プログラム作成部３０９は、データ記憶部３０５に記憶されているデータを用いて、機能アイコン表示部３０７により作成領域６０３に配置された機能アイコン５及び設定部３０８による設定に基づいて、制御プログラムを作成する。
【００３２】
プログラム保存部３０４は、プログラム作成部３０９により作成された制御プログラムを保存する。
【００３３】
なお、プログラム保存部３０４及びデータ記憶部３０５としては、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリ、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  ＥＰＲＯＭ）等の不揮発性又は揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、又はＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）等が該当する。
【００３４】
また、図１，４では、表示部３０１、入力部３０２、プログラム保存部３０４及びデータ記憶部３０５が教示装置３の内部に設けられた場合を示している。しかしながら、これに限らず、表示部３０１、入力部３０２、プログラム保存部３０４及びデータ記憶部３０５は教示装置３の外部に設けられていてもよい。
【００３５】
次に、実施の形態１に係る教示装置３による制御プログラムの作成方法について説明する。
実施の形態１に係る教示装置３は、まず、教示画面６を表示する。そして、教示装置３は、ユーザによる操作に応じ、教示画面６の選択領域６０２から機能アイコン５を選択し、当該機能アイコン５を複製した機能アイコン５を作成領域６０３に並べる。そして、教示装置３は、作成領域６０３に配置した機能アイコン５が表す機能のパラメータを設定し、その設定に応じて機能アイコン５の外観５０１を変更する。そして、教示装置３は、作成領域６０３に配置した機能アイコン５及び当該機能アイコン５が表す機能に対して設定したパラメータから、制御プログラムを作成する。これにより、ユーザは、プログラム言語の文法の知識を必要とせずに、制御プログラムを容易に作成可能となる。
【００３６】
教示装置３に表示される初期の教示画面６の一例を図６に示す。
図６に示すように、画面生成部３０６は、選択領域６０２に、基本となる機能アイコン５を表示する。図６に示す教示画面６では、選択領域６０２に、通過点アイコン５ａ、一時停止アイコン５ｃ、ツールアイコン５ｄ及びサブルーチンアイコン５ｅが表示されている。なお、画面生成部３０６は、選択領域６０２に表示する機能アイコン５の外観５０１として、事前に設定した図案を用いる。例えば、図６に示す教示画面６では、ツールアイコン５ｄの外観５０１ｄとして、ハンドの形状を模した図案が用いられている。また、設定部３０８は、画面生成部３０６により選択領域６０２に表示された機能アイコン５が表す機能のパラメータに対して基準値を設定している。また、初期の教示画面６では、作成領域６０３に機能アイコン５は配置されていない。
【００３７】
また、図６に示す教示画面６では、画面生成部３０６が、選択領域６０２において、機能アイコン５の上部に、当該機能アイコン５の名称を表示している。図６の示す教示画面６では、移動アイコン５ｂの上部に「ＰＯＳＩＴＩＯＮ」の文字が表示されている。また、図６の示す教示画面６では、一時停止アイコン５ｃの上部に「ＤＥＬＡＹ」の文字が表示されている。また、図６の示す教示画面６では、ツールアイコン５ｄの上部に「ＨＡＮＤ」の文字が表示されている。また、図６の示す教示画面６では、サブルーチンアイコン５ｅの上部に「ＳＵＢＲＯＵＴＩＮＥ」の文字が表示されている。
【００３８】
また、図６に示す教示画面６では、画面生成部３０６が、作成領域６０３に、制御プログラムの開始点及び終了点を示す表示を行っている。図６に示す教示画面６では、作成領域６０３において、制御プログラムの開始点の箇所に「ＳＴＡＲＴ」の文字が表示され、制御プログラムの終了点の箇所に「ＥＮＤ」の文字が表示されている。
また、図６に示す教示画面６では、画面生成部３０６が、作成領域６０３において、制御プログラムの開始点と終了点との間に、仕切り線６０４を表示している。
【００３９】
そして、図７に矢印１２で示すように、機能アイコン表示部３０７は、選択領域６０２に表示された機能アイコン５に対するユーザによるドラッグに応じ、当該機能アイコンと同一の機能アイコン５を複製して作成領域６０３に移動させる。
【００４０】
その後、矢印１３で示すように、機能アイコン表示部３０７が、機能アイコン５を、制御プログラムの開始点の表示と終了点の表示との間に対して既定範囲内に近づけたとする。この場合、画面生成部３０６は、開始点の表示と終了点の表示との間の隙間を広げる。図７に示す教示画面６では、画面生成部３０６が、開始点の表示と終了点の表示との間の仕切り線６０４を２つに分割し、その間に隙間を設けている。また、図７に示す教示画面６では、画面生成部３０６が、開始点の表示、終了点の表示及び仕切り線６０４を斜めに傾けている。これらにより、ユーザは、開始点の表示と終了点の表示との間に機能アイコン５をドロップすればよいと理解でき、取扱い説明書が無くても操作可能となる。
その後、機能アイコン表示部３０７は、ユーザにより機能アイコン５が開始点の表示と終了点の表示との間でドロップされると、当該機能アイコン５を開始点の表示と終了点の表示との間に配置する。
【００４１】
また、図８に矢印１４で示すように、機能アイコン表示部３０７が、機能アイコン５を、作成領域６０３に既に配置した機能アイコン５と制御プログラムの終了点の表示との間に対して既定範囲内に近づけたとする。この場合、画面生成部３０６及び機能アイコン表示部３０７は、上記と同様に、既に配置した機能アイコン５と終了点の表示との間の隙間を広げる。図８に示す教示画面６では、画面生成部３０６が、既に配置された機能アイコン５と終了点の表示との間の仕切り線６０４を２つに分割し、その間に隙間を設けている。また、図８に示す教示画面６では、画面生成部３０６及び機能アイコン表示部３０７が、既に配置した機能アイコン５、終了点の表示及び仕切り線６０４を斜めに傾けている。
その後、機能アイコン表示部３０７は、ユーザにより機能アイコン５が既に配置した機能アイコン５と終了点の表示との間でドロップされると、当該機能アイコン５を既に配置した機能アイコン５と終了点の表示との間に配置する。
【００４２】
また、機能アイコン表示部３０７が、機能アイコン５を、制御プログラムの開始点の表示と作成領域６０３に既に配置した機能アイコン５との間に既定範囲内に近づけたとする。この場合についても、画面生成部３０６及び機能アイコン表示部３０７は上記と同様の動作を行う。
また、図９に矢印１５で示すように、機能アイコン表示部３０７が、機能アイコン５を、作成領域６０３に既に配置した２つの機能アイコン５の間に既定範囲内に近づけたとする。この場合についても、機能アイコン表示部３０７は上記と同様に動作を行う。
【００４３】
なお、画面生成部３０６は、作成領域６０３において、制御プログラムとして機能アイコン５を配置可能な位置にのみ、挙動可能とする。また、機能アイコン表示部３０７は、作成領域６０３に既に配置した機能アイコン５のうち、制御プログラムとして機能アイコン５を配置可能な位置の前後に位置する機能アイコン５のみ挙動可能とする。これらにより、ユーザは、機能アイコン５を配置可能な位置を直感的に把握可能となり、また、制御プログラムのエラーを軽減可能となる。
【００４４】
また、図１０に矢印１６で示すように、機能アイコン表示部３０７は、作成領域６０３に既に配置した機能アイコン５を別の位置に移動させることも可能である。この場合についても、画面生成部３０６及び機能アイコン表示部３０７の動作は上記と同様である。これにより、ユーザは、制御プログラムの吟味が可能となる。また、ユーザは、教示装置３の操作に一貫性があるため、取扱い説明書が無くても操作可能となる。
【００４５】
次に、教示装置３で用いられる機能アイコン５について説明する。
図５に示すように、機能アイコン５は、機能を想起させるようにグラフィカルに表現された外観５０１を有する。また、機能アイコン５は、一つ以上の状態ウィンドウ５０２を有する。更に、機能アイコン５は、必要に応じて、詳細ボタン５０３を有する。なお、詳細ボタン５０３は、機能アイコン５の種別に依らず同じ外観でもよい。
【００４６】
状態ウィンドウ５０２は、機能アイコン５が表す機能のパラメータの設定概要を文字又は数値で表示するウィンドウである。この状態ウィンドウ５０２に表示される文字又は数値は、ユーザによる選択又は入力により変更可能である。
そして、設定部３０８は、機能アイコン表示部３０７により表示された状態ウィンドウ５０２に対するユーザによる設定に応じ、機能アイコン表示部３０７により作成領域６０３に配置された機能アイコン５が表す機能のパラメータを設定する。
【００４７】
また、機能アイコン表示部３０７は、作成領域６０３に配置した機能アイコン５においてユーザにより詳細ボタン５０３が選択された場合に、当該機能アイコン５の近傍に、ポップアップウィンドウ５０４を表示する。ポップアップウィンドウ５０４は、機能アイコン５が表す機能のパラメータを設定可能とするウィンドウである。このポップアップウィンドウ５０４に表示されるパラメータは、ユーザによる選択又は入力により変更可能である。
そして、設定部３０８は、機能アイコン表示部３０７により表示されたポップアップウィンドウ５０４に対するユーザによる設定に応じ、機能アイコン表示部３０７により作成領域６０３に配置された機能アイコン５が表す機能のパラメータを設定する。
【００４８】
この機能アイコン５により、ユーザは、プログラム言語の変数名又は変数毎の記述内容の知識を必要とせずに、制御プログラムを作成可能となる。また、機能アイコン５の外観５０１及び状態ウィンドウ５０２の表示によって、ユーザは、制御プログラムの全体構成を直感的に効率的に把握できる。また、教示装置３は、設定部３０８による設定項目を複数の階層に分け、上位の階層については状態ウィンドウ５０２で表示し、下位の階層については詳細ボタン５０３が選択された場合にのみポップアップウィンドウ５０４で表示する。これにより、ユーザは、視覚的な煩雑さが軽減され、制御プログラムの構成を把握し易くなる。
以下、図５に示した機能アイコン５の詳細についてそれぞれ説明する。
【００４９】
まず、通過点アイコン５ａについて、図１１を参照しながら説明する。
通過点アイコン５ａは、ロボット１の制御点が通過する点である通過点を表すアイコンである。図１１Ａに示すように、通過点アイコン５ａの外観５０１ａは、円形等の図案であり、特定の座標の点を示すことを表現する。なお、座標は、ロボット１に対して決定した任意の原点からの、互いに直交する３方向における距離を表したものである。
【００５０】
また、通過点アイコン５ａが有する状態ウィンドウ５０２ａは、通過点の名称を表示する。この状態ウィンドウ５０２ａに表示される通過点の名称は、ユーザによる文字入力により変更可能である。
また、設定部３０８は、機能アイコン表示部３０７により通過点アイコン５ａが作成領域６０３に配置された場合に、通過点の名称を自動的に設定してもよい。例えば、機能アイコン表示部３０７により１つ目の通過点アイコン５ａが作成領域６０３に配置された場合、設定部３０８は、当該通過点アイコン５ａが表す通過点の名称を「Ｐ０１」等としてもよい。その後、機能アイコン表示部３０７により２つ目の通過点アイコン５ａが作成領域６０３に配置された場合、設定部３０８は、当該通過点アイコン５ａが表す通過点の名称を連番で「Ｐ０２」等としてもよい。
【００５１】
また、機能アイコン表示部３０７は、複数の通過点アイコン５ａを作成領域６０３に配置した場合に、図１１Ｂに示すように、当該各通過点アイコン５ａが有する状態ウィンドウ５０２ａとしてプルダウンリストを表示する。このプルダウンリストは、上記各通過点アイコン５ａが表す通過点を選択可能とするリストである。図１１Ｂに示すプルダウンリストでは、通過点として「Ｐ０１」又は「Ｐ０２」が選択可能となっている。これにより、ユーザは、一つの通過点を何度も通過する経路を教示させ易くなる。
【００５２】
また、設定部３０８は、機能アイコン表示部３０７により複数の通過点アイコン５ａが作成領域６０３に配置された場合、当該各通過点アイコン５ａが表す通過点が重ならないようにそれぞれの座標の初期値を自動でずらしてもよい。
【００５３】
また、作成領域６０３において、通過点アイコン５ａが有する詳細ボタン５０３ａがユーザにより選択されると、図１１Ｃに示すように、機能アイコン表示部３０７はポップアップウィンドウ５０４ａを表示する。図１１Ｃに示すポップアップウィンドウ５０４ａにおいて、Ｘ，Ｙ，Ｚの入力欄は、ロボット１の原点に対する通過点の座標を数値入力可能とする欄である。また、図１１Ｃに示すポップアップウィンドウ５０４ａにおいて、Ａ，Ｂ，Ｃの入力欄は、ロボット１の通過点でのフランジ１０２の角度を数値入力可能とする欄である。なお、Ａは、図１２Ａに示すように、通過点を通るＸ軸を回転軸とするフランジ１０２の角度である。また、Ｂは、図１２Ｂに示すように、通過点を通るＹ軸を回転軸とするフランジ１０２の角度である。Ｃは、図１２Ｃに示すように、通過点を通るＺ軸を回転軸とするフランジ１０２の角度である。なお、図１２において符号１７は通過点を示している。これにより、ユーザは、通過点でのツール１０３の向きを指定可能となる。
【００５４】
また、設定部３０８が、プルダウンリストに対するユーザによる選択に応じて、通過点アイコン５ａが表す通過点を他の複数の通過点アイコン５ａが表す通過点と同一に設定したとする。この場合、機能アイコン表示部３０７は、図１１Ｄに示すように、上記通過点アイコン５ａに対して表示するポップアップウィンドウ５０４ａに、接近距離を入力可能とする入力欄を追加する。接近距離は、図１３に示すように、フランジ１０２の面に対して垂直な方向への通過点からの距離である。なお、図１３において符号１８は通過点を示している。また、通過点を中心にフランジ１０２へ近づく方向（図１３に示す矢印１９の方向）の距離はマイナスの数値とし、通過点を中心にフランジ１０２から遠ざかる方向（図１３に示す矢印２０の方向）の距離はプラスの数値とする。接近距離が０の場合には、その点は通過点である。そして、設定部３０８は、機能アイコン表示部３０７により表示されたポップアップウィンドウ５０４ａの入力欄に対するユーザによる入力に応じ、当該ポップアップウィンドウ５０４ａが表示された通過点アイコン５ａが表す通過点を変更する。すなわち、設定部３０８は、上記他の通過点アイコン５ａが表す通過点の座標に、接近距離に対する数値を加味した座標を、上記通過点アイコン５ａが表す通過点の座標とする。
このように、教示装置３が接近距離を用いることで、元となる通過点の座標が変わった場合に、関連する通過点の座標に対してもその変更を自動的に反映できる。よって、ユーザは、元となる通過点の座標が変わった場合でも、関連する通過点に対する座標の変更を個々に行う必要がなくなり、操作が容易となる。
【００５５】
また、機能アイコン表示部３０７は、設定部３０８により接近距離に対する数値が設定された場合、図１１Ｄに示すように、状態ウィンドウ５０２ａに、通過点の名称とともに上記数値を表示してもよい。図１１Ｄでは、設定部３０８が通過点の名称を「Ｐ０１」に設定し且つ接近距離を「−８．００」に設定し、機能アイコン表示部３０７が状態ウィンドウ５０２ａに「Ｐ０１，−８」と表示している。
【００５６】
また、機能アイコン表示部３０７は、設定部３０８により接近距離に対する数値が設定された場合、状態ウィンドウ５０２ａとして表示したプルダウンリストにより、当該接近距離が設定された通過点アイコン５ａが表す通過点も選択可能としてもよい。例えば図１１Ｄに示す例では、機能アイコン表示部３０７は、プルダウンリストにより、通過点として「Ｐ０１，−８」を選択可能としてもよい。
【００５７】
次に、移動アイコン５ｂについて、図１４を参照しながら説明する。
移動アイコン５ｂは、ロボット１の通過点から通過点への移動方式を表すアイコンである。図１４Ａ、図１４Ｂに示すように、移動アイコン５ｂの外観５０１ｂは、矢印等を模した図案であり、移動を表現する。
なお、機能アイコン表示部３０７は、移動アイコン５ｂを作成領域６０３に単独では配置せず、通過点アイコン５ａを配置した際に当該通過点アイコン５ａの１つ前の工程に移動アイコン５ｂを自動的に配置してもよい。これにより、ユーザは、操作が容易となる。
【００５８】
また、移動アイコン５ｂが有する状態ウィンドウ５０２ｂは、移動方式の種別を表示する。また、機能アイコン表示部３０７は、図１４Ｃに示すように、状態ウィンドウ５０２ｂとして、移動方式の種別を選択可能とするプルダウンリストを表示する。移動方式としては、直線補間、関節補間又は円弧補間等が挙げられる。直線補間は、移動の軌跡が直線を保つ方式である。関節補間は、移動の軌跡がロボット１が有する各関節の運動の成り行きに任せて決定される方式である。円弧補間は、移動の軌跡が円弧を保つ方式である。図１４Ｃに示すプルダウンリストでは、移動方式の種別として、直線補間を意味する「直線」又は関節補間を意味する「関節」が選択可能となっている。
【００５９】
また、機能アイコン表示部３０７は、設定部３０８により設定された移動方式に応じて、移動アイコン５ｂの外観５０１ｂを変更する。例えば、設定部３０８により移動方式が直線補間に設定された場合には、機能アイコン表示部３０７は、図１４Ａに示すように、移動アイコン５ｂの外観５０１ｂとして直線の矢印を模した図案を用いる。また、設定部３０８により移動方式が関節補間に設定された場合には、機能アイコン表示部３０７は、図１４Ｂに示すように、移動アイコン５ｂの外観５０１ｂとして波線の矢印を模した図案とする。これにより、ユーザは、移動アイコン５ｂの外観５０１ｂから移動方式を直感的に把握可能となる。
【００６０】
また、作成領域６０３において、移動アイコン５ｂが有する詳細ボタン５０３ｂがユーザにより選択されると、図１４Ｄに示すように、機能アイコン表示部３０７はポップアップウィンドウ５０４ｂを表示する。このポップアップウィンドウ５０４ｂは、移動速度を設定可能とするウィンドウである。図１４Ｃに示すポップアップウィンドウ５０４ｂでは、移動速度を基準速度に対して何％とするかを示す数値を入力可能とする入力欄と、基準速度を示す数値を入力可能とする入力欄とを有している。
【００６１】
また、設定部３０８は、移動アイコン５ｂの移動速度を基準速度以外の速度に設定した場合、機能アイコン表示部３０７により当該移動アイコン５ｂの後工程に配置された移動アイコン５ｂの移動速度も同一の速度に設定する。同様に、設定部３０８は、移動アイコン５ｂの移動速度を更に別の速度又は基準速度に設定した場合、機能アイコン表示部３０７により当該移動アイコン５ｂの後工程に配置された移動アイコン５ｂの移動速度も同一の速度に設定する。ロボット教示では、移動速度は、場所毎での設定が求められる場合もあるが、全体での設定が求められる場合の方が多いと考えられる。そこで、教示装置３は、移動アイコン５ｂに対して設定変更した移動速度を当該移動アイコン５ｂよりも後工程に位置する移動アイコン５ｂに対しても反映する。これにより、ユーザは、操作が容易となる。
【００６２】
次に、一時停止アイコン５ｃについて、図１５を参照しながら説明する。
一時停止アイコン５ｃは、任意の時間だけ次の工程の実施を一時停止することを表すアイコンである。図１５に示すように、一時停止アイコン５ｃの外観５０１ｃは、時計等の図案であり、時間を表現する。また、図１５に示すように、機能アイコン表示部３０７は、一時停止アイコン５ｃ内に、時間の単位を表示してもよい。
【００６３】
また、一時停止アイコン５ｃが有する状態ウィンドウ５０２ｃは、一時停止する時間を表示する。この状態ウィンドウ５０２ｃに表示される時間は、ユーザによる数値入力により変更可能である。
また、設定部３０８は、機能アイコン表示部３０７により一時停止アイコン５ｃが作成領域６０３に配置された場合に、一時停止する時間を基準値に設定してもよい。例えば、機能アイコン表示部３０７により一時停止アイコン５ｃが作成領域６０３に配置された場合に、設定部３０８は一時停止する時間を１．０ｓとし、ユーザは必要に応じて数値を変更する。
なお、一時停止アイコン５ｃでは詳細ボタン５０３は無い。
【００６４】
次に、ツールアイコン５ｄについて、図１６を参照しながら説明する。なお、図１６では、ツール１０３がハンドである場合を示している。
ツールアイコン５ｄは、ツール１０３が動作することを表すアイコンである。図１６Ａ、図１６Ｂに示すように、ツールアイコン５ｄの外観５０１ｄは、ツール１０３の形状及び動作を模した図案であり、各ツール１０３の種別及び動作を表現する。
【００６５】
また、ツールアイコン５ｄが有する状態ウィンドウ５０２ｄは、ツール１０３の名称を表示する。この状態ウィンドウ５０２ｄに表示されるツール１０３の名称は、ユーザによる文字入力により変更可能である。
また、機能アイコン表示部３０７は、ツール１０３の種別が複数存在する場合、状態ウィンドウ５０２ｄとしてプルダウンリストを表示する。このプルダウンリストは、ツール１０３の種別を選択可能とするウィンドウである。
【００６６】
また、機能アイコン表示部３０７は、設定部３０８により設定されたツール１０３の種別に応じて、ツールアイコン５ｄの外観５０１ｄを変更する。例えば、設定部３０８によりツール１０３の種別がハンドに設定された場合には、機能アイコン表示部３０７は、図１６に示すように、ツールアイコン５ｄの外観５０１ｄをハンドの形状を模した図案とする。また、設定部３０８によりツール１０３の種別がグラインダーを把持するタイプのツール１０３に設定された場合には、機能アイコン表示部３０７は、ツールアイコン５ｄの外観５０１ｄをグラインダーの形状を模した図案とする。これにより、ユーザは、ツールアイコン５ｄの外観５０１ｄからツール１０３の種別を直感的に把握可能となる。
【００６７】
また、作成領域６０３において、ツールアイコン５ｄにおける詳細ボタン５０３ｄがユーザにより選択されると、図１６Ｃに示すように、機能アイコン表示部３０７はポップアップウィンドウ５０４ｄを表示する。このポップアップウィンドウ５０４ｄは、ツール１０３の動作、当該動作の速度又は当該動作の強度等を設定可能とするウィンドウである。図１６Ｃに示すポップアップウィンドウ５０４ｄでは、ハンドの開動作を示す「開」又は閉動作を示す「閉」を選択可能とする項目と、ハンドの開閉の速さを基準速度に対して何％とするかを示す数値を入力可能とする入力欄と、ハンドの開閉の強さを基準強度に対して何％とするかを示す数値を入力可能とする入力欄とを有している。
【００６８】
また、機能アイコン表示部３０７は、設定部３０８により設定されたツール１０３の動作に応じて、ツールアイコン５ｄの外観５０１ｄを変更する。例えば、設定部３０８によりハンドの動作が閉動作に設定された場合は、機能アイコン表示部３０７は、図１６Ａに示すように、ツールアイコン５ｄの外観５０１ｄをハンドを閉じた形状を模した図案とする。また、設定部３０８によりハンドの動作が開動作に設定された場合は、機能アイコン表示部３０７は、図１６Ｂに示すように、ツールアイコン５ｄの外観５０１ｄをハンドを開いた形状を模した図案とする。これにより、ユーザは、ツールアイコン５ｄの外観５０１ｄからツール１０３の動作を直感的に把握可能となる。
【００６９】
次に、サブルーチンアイコン５ｅについて、図１７を参照しながら説明する。
サブルーチンアイコン５ｅは、内部に他の機能アイコン５を配置可能な空間５０５ｅを有するアイコンであって、当該空間５０５ｅに配置された他の機能アイコン５により構成される関連性を持った一連のプログラムであるサブルーチンを表すアイコンである。図１７Ａに示すように、サブルーチンアイコン５ｅの外観５０１ｅは、中央に空間５０５ｅを有する囲い等の図案であり、何かを囲うことができることを表現する。すなわち、この外観５０１ｅは、他の機能アイコン５を近づけることで、サブルーチンアイコン５ｅの中に当該機能アイコン５を配置可能であることを想起させる。また、ユーザは、サブルーチンアイコン５ｅが有する空間５０５ｅの内部に配置された機能アイコン５から、どの機能アイコン５までグルーピングできたかを直感的に把握可能となる。
【００７０】
また、図１７Ｂに矢印２１で示すように、機能アイコン表示部３０７が、作成領域６０３に配置したサブルーチンアイコン５ｅに対して他の機能アイコン５を既定範囲内に近づけたとする。この場合、矢印２２で示すように、機能アイコン表示部３０７は、上記サブルーチンアイコン５ｅが有する空間５０５ｅを広げる。これにより、ユーザは、サブルーチンアイコン５ｅの中に機能アイコン５をドロップすればよいと理解でき、取扱い説明書が無くても操作可能となる。
その後、機能アイコン表示部３０７は、ユーザによりサブルーチンアイコン５ｅが有する空間５０５ｅの内部で他の機能アイコン５がドロップされると、当該空間５０５ｅの内部に当該他の機能アイコン５を取り込む。
【００７１】
また、サブルーチンアイコン５ｅは、左右両端部に伸縮ドラッグ領域５０６ｅを有している。
そして、図１７Ｃに矢印２３で示すように、機能アイコン表示部３０７は、作成領域６０３に配置したサブルーチンアイコン５ｅの伸縮ドラッグ領域５０６ｅがユーザにより伸ばす方向にドラッグされた場合、当該伸縮ドラッグ領域５０６ｅ側の空間５０５ｅを伸ばす。この際、機能アイコン表示部３０７は、上記伸縮ドラッグ領域５０６ｅに隣接し且つ上記空間５０５ｅの内部に存在する機能アイコン５を傾けてもよい。そして、機能アイコン表示部３０７は、上記伸縮ドラッグ領域５０６ｅに隣接し且つ上記空間５０５ｅの外部に存在する機能アイコン５を当該空間５０５ｅの内部へ取り込む。
また、機能アイコン表示部３０７は、作成領域６０３に配置したサブルーチンアイコン５ｅの伸縮ドラッグ領域５０６ｅがユーザにより縮める方向にドラッグされた場合、当該伸縮ドラッグ領域５０６ｅ側の空間５０５ｅを縮める。そして、機能アイコン表示部３０７は、上記伸縮ドラッグ領域５０６ｅに隣接し且つ上記空間５０５ｅの内部に存在する機能アイコン５を当該空間５０５ｅの外部へ排出する。
【００７２】
また、サブルーチンアイコン５ｅが有する状態ウィンドウ５０２ｅは、サブルーチンの名称を表示する。この状態ウィンドウ５０２ｅに表示されるサブルーチンの名称は、ユーザによる文字入力により変更可能である。
また、設定部３０８は、機能アイコン表示部３０７によりサブルーチンアイコン５ｅが作成領域６０３に配置された場合に、サブルーチンの名称を自動的に設定してもよい。例えば、機能アイコン表示部３０７により１つ目のサブルーチンアイコン５ｅが作成領域６０３に配置された場合、設定部３０８は、当該サブルーチンアイコン５ｅが表すサブルーチンの名称を「Ｓｕｂ１」等としてもよい。その後、機能アイコン表示部３０７により２つ目のサブルーチンアイコン５ｅが作成領域６０３に配置された場合、設定部３０８は、当該サブルーチンアイコン５ｅが表すサブルーチンの名称を連番で「Ｓｕｂ２」等としてもよい。
【００７３】
また、機能アイコン表示部３０７は、複数のサブルーチンアイコン５ｅを作成領域６０３に配置した場合に、図１８Ａに示すように、当該各サブルーチンアイコン５ｅが有する状態ウィンドウ５０２ｅとしてプルダウンリストを表示する。このプルダウンリストは、上記各サブルーチンアイコン５ｅが表すサブルーチンを選択可能とするリストである。図１８Ａに示すプルダウンリストでは、サブルーチンとして「Ｓｕｂ１」又は「Ｓｕｂ２」が選択可能となっている。そして、設定部３０８がサブルーチンアイコン５ｅが表すサブルーチンを切換えると、機能アイコン表示部３０７は当該サブルーチンアイコン５ｅが有する空間５０５ｅに配置している機能アイコン５を切換える。図１８Ｂでは、設定部３０８により図１８Ａに示すサブルーチンアイコン５ｅが表すサブルーチンが「Ｓｕｂ１」から「Ｓｕｂ２」に切換えられた場合を示している。
これにより、教示装置３は、新規のサブルーチンアイコン５ｅを作成領域６０３に配置した場合でも、既に作成したサブルーチンを指定することで、当該新規のサブルーチンアイコン５ｅに当該サブルーチンを再構築できる。これにより、ユーザは、繰り返し作業の設定又は条件に合わせた作業工程の設定が容易となる。
【００７４】
また、作成領域６０３において、サブルーチンアイコン５ｅが有する詳細ボタン５０３ｅがユーザにより選択されると、図１９Ａに示すように、機能アイコン表示部３０７はポップアップウィンドウ５０４ｅを表示する。図１９Ａに示すポップアップウィンドウ５０４ｅは、サブルーチンの集約、サブルーチンの展開、及び、サブルーチンの解体を選択可能としている。
【００７５】
図１９Ａに示すポップアップウィンドウ５０４ｅにおいてユーザによりサブルーチンの集約が選択されると、機能アイコン表示部３０７は、サブルーチンアイコン５ｅが有する空間５０５ｅの内部に配置している機能アイコン５を、図１９Ｂに示すように非表示とする。これにより、サブルーチンアイコン５ｅの外観５０１ｅは、作成領域６０３に新規に配置された状態と同じとなる。このように、教示装置３がサブルーチンアイコン５ｅにおいてサブルーチンを集約して詳細情報を非表示とすることで、ユーザは、制御プログラム全体を把握する際に直感的で効率的な把握が可能となる。
【００７６】
また、ポップアップウィンドウ５０４ｅにおいてユーザによりサブルーチンの展開が選択されると、機能アイコン表示部３０７は、サブルーチンアイコン５ｅが有する空間５０５ｅの内部に配置している機能アイコン５を、図１９Ａに示すように表示する。
【００７７】
また、ポップアップウィンドウ５０４ｅにおいてユーザによりサブルーチンの解体が選択されると、機能アイコン表示部３０７は、図１９Ｃに示すように、サブルーチンアイコン５ｅが有する空間５０５ｅの内部に配置している機能アイコン５を全て外部に排出し、且つ、当該サブルーチンアイコン５ｅを削除する。
【００７８】
また、図２０に示すようにサブルーチンアイコン５ｅにおいてサブルーチンを集約した状態では、機能アイコン表示部３０７は、ユーザによるドラッグに応じて当該サブルーチンアイコン５ｅの配置を変更可能である。この場合の機能アイコン表示部３０７によるサブルーチンアイコン５ｅの配置方法及び周辺の機能アイコン５の挙動は他の機能アイコン５と同様である。
【００７９】
また、図２０に矢印２４で示すように、機能アイコン表示部３０７は、サブルーチンアイコン５ｅを作成領域６０３から選択領域６０２に移動することも可能である。この場合、画面生成部３０６は、機能アイコン表示部３０７により選択領域６０２に移動されたサブルーチンアイコン５ｅを複製したサブルーチンアイコン５ｅを選択領域６０２に表示する。画面生成部３０６により選択領域６０２に複製されたサブルーチンアイコン５ｅは、機能アイコン表示部３０７により作成領域６０３に再構築可能である。この場合の機能アイコン表示部３０７によるサブルーチンアイコン５ｅの配置方法及び周辺の機能アイコン５の挙動は他の機能アイコン５と同様である。
【００８０】
また、機能アイコン表示部３０７は、画面生成部３０６によりサブルーチンアイコン５ｅが選択領域６０２に複製された場合、作成領域６０３に配置したサブルーチンアイコン５ｅが有する状態ウィンドウ５０２ｅとしてプルダウンリストを表示してもよい。このプルダウンリストは、画面生成部３０６により選択領域６０２に複製されたサブルーチンアイコン５ｅが表すサブルーチンを選択可能とするリストである。例えば図２０に示す例では、機能アイコン表示部３０７は、プルダウンリストにより、サブルーチンとして「Ｓｕｂ２」を選択可能としてもよい。これにより、ユーザは、選択領域６０２にはあるが作成領域６０３にないサブルーチンも容易に利用可能となり、効率化を図ることができる。
【００８１】
以上のように、この実施の形態１によれば、教示装置３は、ロボット１に対する制御プログラムを構成する機能を表すアイコンであって、当該機能のパラメータの設定概要を表示する状態ウィンドウ５０２を有するアイコンである機能アイコン５を表示した選択領域６０２、及び作成領域６０３を有する教示画面６を生成する画面生成部３０６と、画面生成部３０６により生成された教示画面６において、選択領域６０２から機能アイコン５を選択し、当該機能アイコン５を複製した機能アイコン５を作成領域６０３に配置する機能アイコン表示部３０７と、機能アイコン表示部３０７により作成領域６０３に配置された機能アイコン５が表す機能のパラメータを設定する設定部３０８と、機能アイコン表示部３０７により作成領域６０３に配置された機能アイコン５及び設定部３０８による設定に基づいて、制御プログラムを作成するプログラム作成部３０９とを備え、機能アイコン表示部３０７は、設定部３０８による設定に応じ、作成領域６０３に配置した機能アイコン５の外観５０１を変更する。これにより、ユーザは、制御プログラムを構成する機能を表す機能アイコン５から当該機能の設定状態を直感的に把握可能となる。その結果、ユーザは、プログラム言語の知識が無くてもロボット教示が可能となる。また、ユーザは、取扱い説明書がなくてもロボット教示が可能となる。
【００８２】
実施の形態２．
実施の形態１では、画面生成部３０６が教示画面６としてビジュアルプログラムウィンドウ６０１のみを生成する場合を示した。これに対し、実施の形態２では、画面生成部３０６が教示画面６としてビジュアルプログラムウィンドウ６０１を含む複数のウィンドウから成る画面を生成する場合を示す。
なお、実施の形態２に係る教示システムの構成例及びプログラム生成部３０３の構成例は、図１に示す実施の形態１に係る教示システムの構成例及び図４に示す実施の形態１におけるプログラム生成部３０３の構成例と同様である。
【００８３】
実施の形態２における画面生成部３０６は、データ記憶部３０５に記憶されているデータを用いて、ビジュアルプログラムウィンドウ６０１の他、プログラム生成部３０３（機能アイコン表示部３０７、設定部３０８及びプログラム作成部３０９）による処理状態を示す１つ以上のウィンドウから成る教示画面６を生成する。
【００８４】
実施の形態２における画面生成部３０６により生成される教示画面６の一例を図２１に示す。図２１に示す教示画面６は、実施の形態１で示したビジュアルプログラムウィンドウ６０１の他、プログラムリストウィンドウ６０５、プログラムウィンドウ６０６、ポジションウィンドウ６０７及び３Ｄプレビューウィンドウ６０８を有している。
【００８５】
プログラムリストウィンドウ６０５は、プログラム生成部３０３により作成された制御プログラムの名称の一覧を示すウィンドウである。
なお、図２１に示すプログラムリストウィンドウ６０５においてユーザにより制御プログラムの「ＥＸＰＯＲＴ」が選択されると、プログラム生成部３０３は、ビジュアルプログラムウィンドウ６０１に当該制御プログラムを表す機能アイコン５を表示する。また、図２１に示すプログラムリストウィンドウ６０５においてユーザにより制御プログラムの「ＤＥＬＥＴＥ」が選択されると、プログラム生成部３０３は当該制御プログラムを削除する。
【００８６】
また、プログラムウィンドウ６０６は、ビジュアルプログラムウィンドウ６０１においてプログラム生成部３０３により作成された制御プログラム、すなわちプログラム言語により文字列で記述された制御プログラムを示すウィンドウである。
【００８７】
また、ポジションウィンドウ６０７は、ビジュアルプログラムウィンドウ６０１においてプログラム生成部３０３により設定されたロボット１の通過点の座標及びその通過点でのフランジ１０２の角度等の詳細情報を示すウィンドウである。
なお、ポジションウィンドウ６０７により示された詳細情報は、ユーザによる数値入力により変更可能としてもよい。この場合、設定部３０８は、ポジションウィンドウ６０７に対するユーザによる数値入力に応じ、機能アイコン表示部３０７により作成領域６０３に配置された機能アイコン５が表す機能のパラメータを設定する。
【００８８】
また、３Ｄプレビューウィンドウ６０８は、ビジュアルプログラムウィンドウ６０１においてプログラム生成部３０３により作成された制御プログラムの状態を仮想三次元空間上で示すウィンドウである。なお、画面生成部３０６は、ビジュアルプログラムウィンドウ６０１に３Ｄプレビューの表示位置６０９を表示し、３Ｄプレビューウィンドウ６０８に当該表示位置６０９でのロボット１の状態を表示する。また、ビジュアルプログラムウィンドウ６０１に表示された３Ｄプレビューの表示位置６０９は、作成領域６０３に配置された機能アイコン５間で移動可能である。
【００８９】
また、図２１に示す３Ｄプレビューウィンドウ６０８では、画面生成部３０６が、ロボット１の移動経路を示す軌跡を表示している。しかしながら、これに限らず、例えば図２２に示す３Ｄプレビューウィンドウ６０８のように、画面生成部３０６は、ロボット１の移動経路を示す進行方向を矢印で表示してもよい。この場合、図２２に示すように、画面生成部３０６は、ロボット１の移動経路が同一の経路を行き来する場合、矢印が重ならないようにずらして表示する。また図２２に示す３Ｄプレビューウィンドウ６０８では、画面生成部３０６が、上記矢印として、移動方式が直線補間である場合には直線の矢印を用い、移動方式が関節補間である場合には波線の矢印を用いている。
【００９０】
また、図２３に示すように、画面生成部３０６は、３Ｄプレビューウィンドウ６０８において、ユーザにより通過点が選択された場合に、ロボット１の通過点の座標及び通過点でのフランジ１０２の角度を設定可能とするポップアップウィンドウ６１０を表示してもよい。なお、図２３において、符号２３１は、ユーザにより選択された通過点を示している。また、図２３に示すポップアップウィンドウ６１０は、接近距離の入力欄も有している。このポップアップウィンドウ６１０に表示されるパラメータは、ユーザによる数値入力により変更可能である。この場合、設定部３０８は、ポップアップウィンドウ６１０に対するユーザによる数値入力に応じ、機能アイコン表示部３０７により作成領域６０３に配置された機能アイコン５が表す機能のパラメータを設定する。
【００９１】
また、図２３に示すように、画面生成部３０６は、３Ｄプレビューウィンドウ６０８において、ユーザにより移動経路を示す矢印が選択された場合に、移動方式の種別を選択可能とするプルダウンリスト６１１を表示してもよい。なお、図２３において、符号２３２は、ユーザにより選択された矢印を示している。この場合、設定部３０８は、プルダウンリスト６１１に対するユーザによる選択に応じ、機能アイコン表示部３０７により作成領域６０３に配置された機能アイコン５が表す機能のパラメータを設定する。
【００９２】
このように、実施の形態２に係る教示装置３は、画面生成部３０６が、教示画面６として、ビジュアルプログラムウィンドウ６０１に加え、プログラム生成部３０３による処理状態を示すウィンドウを１つ以上表示する。これにより、実施の形態１における効果に加え、ユーザは、制御プログラムの設定状態をより容易に把握可能となる。
【００９３】
最後に、図２４を参照して、実施の形態１，２に係る教示装置３のハードウェア構成例を説明する。以下では、実施の形態１に係る教示装置３のハードウェア構成例について示すが、実施の形態２に係る教示装置３のハードウェア構成例についても同様である。
教示装置３における表示部３０１はディスプレイであり、入力部３０２は入力装置である。教示装置３における画面生成部３０６、機能アイコン表示部３０７、設定部３０８及びプログラム作成部３０９の各機能は、処理回路５１により実現される。処理回路５１は、図２４Ａに示すように、専用のハードウェアであってもよいし、図２４Ｂに示すように、メモリ５３に格納されるプログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサ、又はＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）ともいう）５２であってもよい。
【００９４】
処理回路５１が専用のハードウェアである場合、処理回路５１は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、又はこれらを組み合わせたものが該当する。画面生成部３０６、機能アイコン表示部３０７、設定部３０８及びプログラム作成部３０９の各部の機能それぞれを処理回路５１で実現してもよいし、各部の機能をまとめて処理回路５１で実現してもよい。
【００９５】
処理回路５１がＣＰＵ５２の場合、画面生成部３０６、機能アイコン表示部３０７、設定部３０８及びプログラム作成部３０９の機能は、ソフトウェア、ファームウェア、又はソフトウェアとファームウェアとの組み合わせにより実現される。ソフトウェア及びファームウェアはプログラムとして記述され、メモリ５３に格納される。処理回路５１は、メモリ５３に記憶されているプログラムを読み出して実行することにより、各部の機能を実現する。すなわち、教示装置３は、処理回路５１により実行されるときに、例えば図６〜１１，１４〜２０に示した処理が結果的に実行されることになるプログラムを格納するためのメモリ５３を備える。また、これらのプログラムは、画面生成部３０６、機能アイコン表示部３０７、設定部３０８及びプログラム作成部３０９の手順及び方法をコンピュータに実行させるものであるともいえる。ここで、メモリ５３としては、例えば、ＲＡＭ、ＲＯＭ、フラッシュメモリ、ＥＰＲＯＭ、ＥＥＰＲＯＭ等の不揮発性又は揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、又はＤＶＤ等が該当する。
【００９６】
なお、画面生成部３０６、機能アイコン表示部３０７、設定部３０８及びプログラム作成部３０９の各機能について、一部を専用のハードウェアで実現し、一部をソフトウェア又はファームウェアで実現するようにしてもよい。例えば、画面生成部３０６については専用のハードウェアとしての処理回路５１でその機能を実現し、機能アイコン表示部３０７、設定部３０８及びプログラム作成部３０９については処理回路５１がメモリ５３に格納されたプログラムを読み出して実行することによってその機能を実現することが可能である。
【００９７】
このように、処理回路５１は、ハードウェア、ソフトウェア、ファームウェア、又はこれらの組み合わせによって、上述の各機能を実現することができる。
【００９８】
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【産業上の利用可能性】
【００９９】
この発明に係る教示装置は、ロボットに対する制御プログラムを作成する教示装置において、当該制御プログラムを構成する機能を表す機能アイコンから当該機能の設定状態を直感的に把握可能となり、ロボットに対する制御プログラムを作成する教示装置等に用いるのに適している。
【符号の説明】
【０１００】
１  ロボット、２  ロボット制御装置、３  教示装置、４  ワーク、５  機能アイコン、５ａ  通過点アイコン、５ｂ  移動アイコン、５ｃ  一時停止アイコン、５ｄ  ツールアイコン、５ｅ  サブルーチンアイコン、６  教示画面、５１  処理回路、５２  ＣＰＵ、５３  メモリ、１０１  アーム、１０２  フランジ、１０３  ツール、１０４  工具、２０１  プログラム読出し部、２０２  動作制御信号生成部、２０３  動作制御信号出力部、３０１  表示部、３０２  入力部、３０３  プログラム生成部、３０４  プログラム保存部、３０５  データ記憶部、３０６  画面生成部、３０７  機能アイコン表示部、３０８  設定部、３０９  プログラム作成部、５０１，５０１ａ〜５０１ｅ  外観、５０２，５０２ａ〜５０２ｅ  状態ウィンドウ、５０３，５０３ａ〜５０３ｅ  詳細ボタン、５０４，５０４ａ〜５０４ｅ  ポップアップウィンドウ、５０５e  空間、６０１  ビジュアルプログラムウィンドウ、６０２  選択領域（第１の領域）、６０３  作成領域（第２の領域）、６０４  仕切り線、６０５  プログラムリストウィンドウ、６０６  プログラムウィンドウ、６０７  ポジションウィンドウ、６０８  ３Ｄプレビューウィンドウ、６０９  ３Ｄプレビューの表示位置。
【図１】
2020012558.tif 000003
【図２】
2020012558.tif 000004
【図３】
2020012558.tif 000005
【図４】
2020012558.tif 000006
【図５】
2020012558.tif 000007
【図６】
2020012558.tif 000008
【図７】
2020012558.tif 000009
【図８】
2020012558.tif 000010
【図９】
2020012558.tif 000011
【図１０】
2020012558.tif 000012
【図１１】
2020012558.tif 000013
【図１２】
2020012558.tif 000014
【図１３】
2020012558.tif 000015
【図１４】
2020012558.tif 000016
【図１５】
2020012558.tif 000017
【図１６】
2020012558.tif 000018
【図１７】
2020012558.tif 000019
【図１８】
2020012558.tif 000020
【図１９】
2020012558.tif 000021
【図２０】
2020012558.tif 000022
【図２１】
2020012558.tif 000023
【図２２】
2020012558.tif 000024
【図２３】
2020012558.tif 000025
【図２４】
2020012558.tif 000026
【図２５】
2020012558.tif 000027
【図２６】
2020012558.tif 000028
【国際調査報告】
2020012558.tif 000029
2020012558.tif 000030
2020012558.tif 000031
2020012558.tif 000032