(57)【要約】【課題】ユーザーが行うプログラムの編集作業を容易にすることができる教示装置を提供すること。【解決手段】教示装置は、ロボット制御装置にロボットの動作を教示する教示装置であって、ロボットの動作に関するプログラムを編集可能な入力画面を表示する表示部を備え、表示部は、プログラムへの入力語が言語解析された結果に基づく情報を表示する。【選択図】図３
2017016231.tif 000002
【特許請求の範囲】
【請求項１】
ロボットを制御するロボット制御装置に、ロボットの動作を教示する教示装置であって
、
前記ロボットの動作に関するプログラムを編集可能な入力画面を表示する表示部を備え
、
前記表示部は、
前記プログラムへの入力語が言語解析された結果に基づく情報を表示する、
教示装置。
【請求項２】
前記表示部は、
前記入力語の文字列が予約語の文字列を構成する１以上の文字の大文字と小文字を入れ
替えた文字列である場合、当該予約語と一致する語を前記情報として表示する、
請求項１に記載の教示装置。
【請求項３】
前記表示部は、
前記入力語の文字列が予約語の文字列と一致する場合に、前記入力語の文字色と背景色
のうちの一方又は両方を所定の色とした語及び背景を前記情報として表示する、
請求項１又は２に記載の教示装置。
【請求項４】
前記表示部は、
前記入力語の文字列が予約語の文字列と一致する場合に、前記予約語により構成される
命令文の予め決められた書式を表示する、
請求項１から３のうちいずれか一項に記載の教示装置。
【請求項５】
前記入力語の文字列が予約語の文字列と一致する場合に、前記予約語に対応するロボッ
トの動作に関するパラメーターのリストを表示する、
請求項１から４のうちいずれか一項に記載の教示装置。
【請求項６】
前記教示装置と前記ロボット制御装置の両方が前記入力語を言語解析する言語解析機能
を有し、
前記表示部は、
前記教示装置が有する前記言語解析機能と、前記ロボット制御装置が有する前記言語解
析機能とのうちバージョンが新しい前記言語解析機能の方を用いて前記情報を表示する、
請求項１から５のうちいずれか一項に記載の教示装置。
【請求項７】
第１閾値以下の動作速度で前記ロボットを動作させる第１モードと、前記第１閾値より
も高い動作速度で前記ロボットを動作させる第２モードとを選択可能であり、前記第２モ
ードを選択した場合、前記表示部に認証画面が表示される、
請求項１から６のうちいずれか一項に記載の教示装置。
【請求項８】
前記第２モードを選択した場合に前記表示部に表示される画面は、前記第１モードを選
択した場合に前記表示部に表示される画面と異なる、
請求項７に記載の教示装置。
【請求項９】
前記第２モードを選択した場合に前記表示部に表示される画面は、前記第１モードを選
択した場合に前記表示部に表示される画面と配色、形状、配置、表示情報のうち少なくと
も１つが異なる、
請求項８に記載の教示装置。
【請求項１０】
イネーブルスイッチを備え、
前記イネーブルスイッチが押下されている時のみ、前記第２モードによって前記ロボッ
トを動作させることが可能である、
請求項７から９のうちいずれか一項に記載の教示装置。
【請求項１１】
前記第２モードによって前記ロボットを動作させている際に前記イネーブルスイッチの
押下を解除した場合、前記ロボットの動作速度を前記第１閾値以下に変更する、
請求項１０に記載の教示装置。
【請求項１２】
前記第２モードが選択されている際に、所定時間操作が行われない場合、前記ロボット
の動作速度を前記第１閾値以下に変更する、
請求項７から１１のうちいずれか一項に記載の教示装置。
【請求項１３】
請求項１から１２のうちいずれか一項に記載の教示装置により教示される、
ロボット。
【請求項１４】
請求項１から１２のうちいずれか一項に記載の教示装置と、
請求項１３に記載のロボットと、
前記ロボット制御装置と、を備える、
ロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、教示装置、ロボット、及びロボットシステムに関する。
【背景技術】
【０００２】
ロボットに動作を教示する作業を容易にする技術の研究や開発が行われている。
【０００３】
これに関し、動作機械の操作器が備える表示部に表示された作成中のプログラムにおい
て、カーソルが配置された行の前の行の文字列を取得し、記憶部に記憶されているプログ
ラム中から、取得した当該文字列を検索し、記憶部に記憶されているプログラム中から、
検索した文字列を含む行の後の行の文字列を取得し、表示部に表示された作成中のプログ
ラムにおいて、取得した当該文字列をカーソルの配置された行に挿入するプログラム作成
支援方法が知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−２０６０８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のプログラム作成支援方法では、所定の役割が対応付けられた文字
列である予約語の検索及び挿入を行うことができたが、作成したい命令語の書式の表示や
入力語の色付け等を行うことができなかった。すなわち、当該プログラム支援方法は、教
示装置を用いたプログラムの編集を十分に支援することができなかった。
【課題を解決するための手段】
【０００６】
上記課題の少なくとも一つを解決するために本発明の一態様は、ロボット制御装置にロ
ボットの動作を教示する教示装置であって、前記ロボットの動作に関するプログラムを編
集可能な入力画面を表示する表示部を備え、前記表示部は、前記プログラムへの入力語が
言語解析された結果に基づく情報を表示する、教示装置である。
この構成により、教示装置は、プログラムへの入力語が言語解析された結果に基づく情
報を表示する。これにより、教示装置は、ユーザーが行うプログラムの編集作業を容易に
することができる。
【０００７】
また、本発明の他の態様は、教示装置において、前記表示部は、前記入力語の文字列が
予約語の文字列を構成する１以上の文字の大文字と小文字を入れ替えた文字列である場合
、当該予約語と一致する語を前記情報として表示する、構成が用いられてもよい。
この構成により、教示装置は、入力語の文字列が予約語の文字列を構成する１以上の文
字の大文字と小文字を入れ替えた文字列である場合、当該予約語と一致する語を、プログ
ラムへの入力語が言語解析された結果に基づく情報として表示する。これにより、教示装
置は、予約語と一致する語の大文字と小文字の誤入力を抑制することができる。
【０００８】
また、本発明の他の態様は、教示装置において、前記表示部は、前記入力語の文字列が
予約語の文字列と一致する場合に、前記入力語の文字色と背景色のうちの一方又は両方を
所定の色とした語及び背景を前記情報として表示する、構成が用いられてもよい。
この構成により、教示装置は、入力語の文字列が予約語の文字列と一致する場合に、入
力語の文字色と背景色のうちの一方又は両方を所定の色とした語及び背景を、プログラム
への入力語が言語解析された結果に基づく情報として表示する。これにより、教示装置は
、予約語と一致する語を強調することができる。
【０００９】
また、本発明の他の態様は、教示装置において、前記表示部は、前記入力語の文字列が
予約語の文字列と一致する場合に、前記予約語により構成される命令文の予め決められた
書式を表示する、構成が用いられてもよい。
この構成により、教示装置は、入力語の文字列が予約語の文字列と一致する場合に、当
該予約語により構成される命令文の予め決められた書式を表示する。これにより、教示装
置は、命令文の書式をユーザーが誤入力してしまうことを抑制することができる。
【００１０】
また、本発明の他の態様は、教示装置において、前記入力語の文字列が予約語の文字列
と一致する場合に、前記予約語に対応するロボットの動作に関するパラメーターのリスト
を表示する、構成が用いられてもよい。
この構成により、教示装置は、入力語の文字列が予約語の文字列と一致する場合に、当
該予約語に対応するロボットの動作に関するパラメーターのリストを表示する。これによ
り、教示装置は、入力された予約語に対応するロボットの動作に関するパラメーターをユ
ーザーが誤入力してしまうことを抑制することができる。
【００１１】
また、本発明の他の態様は、教示装置において、前記教示装置と前記ロボット制御装置
の両方が前記入力語を言語解析する言語解析機能を有し、前記表示部は、前記教示装置が
有する前記言語解析機能と、前記ロボット制御装置が有する前記言語解析機能とのうちバ
ージョンが新しい前記言語解析機能の方を用いて前記情報を表示する。
この構成により、教示装置は、教示装置が有する言語解析機能と、ロボット制御装置が
有する言語解析機能とのうちバージョンが新しい言語解析機能の方を用いて、入力語が言
語解析された結果に基づく情報を表示する。これにより、教示装置は、新しい言語解析機
能によって、プログラムの編集を容易にすることができる。
【００１２】
また、本発明の他の態様は、教示装置において、第１閾値以下の動作速度でロボットを
動作させる第１モードと、第１閾値よりも高い動作速度でロボットを動作させる第２モー
ドとを選択可能であり、第２モードを選択した場合、表示部に認証画面が表示される、構
成が用いられてもよい。
この構成により、教示装置は、第２モードを選択した場合、表示部に認証画面が表示さ
れる。これにより、教示装置は、意図せずに高い動作速度によってロボットが動作させら
れてしまうことを抑制することができる。
【００１３】
また、本発明の他の態様は、教示装置において、前記第２モードを選択した場合に前記
表示部に表示される画面は、前記第１モードを選択した場合に前記表示部に表示される画
面と異なる、構成が用いられてもよい。
この構成により、教示装置は、第２モードを選択した場合、第１モードを選択した場合
に表示部に表示される画面とは異なる画面を表示部に表示させる。これにより、教示装置
は、意図せずに高い動作速度によってロボットを動作させてしまうことを抑制することが
できる。
【００１４】
また、本発明の他の態様は、教示装置において、前記第２モードを選択した場合に前記
表示部に表示される画面は、前記第１モードを選択した場合に前記表示部に表示される画
面と配色、形状、配置、表示情報のうち少なくともいずれか１つが異なる、構成が用いら
れてもよい。
この構成により、教示装置は、第２モードを選択した場合、第１モードを選択した場合
に表示部に表示される画面とは、配色、形状、配置、表示情報のうち少なくともいずれか
１つが異なる画面を表示部に表示させる。これにより、教示装置は、ユーザーに対して、
配色、形状、配置、表示情報のうち少なくともいずれか１つによって現在の動作モードが
第２モードであることを認識させることができる。
【００１５】
また、本発明の他の態様は、教示装置において、イネーブルスイッチを備え、イネーブ
ルスイッチが押下されている時のみ、前記第２モードによって前記ロボットを動作させる
ことが可能である、構成が用いられてもよい。
この構成により、教示装置は、イネーブルスイッチが押下されている時のみ、第２モー
ドによってロボットを動作させることが可能である。これにより、教示装置は、ユーザー
が意図的にイネーブルスイッチを押下している状態でのみ、第２モードによってロボット
を動作させることができる。
【００１６】
また、本発明の他の態様は、教示装置において、前記第２モードによって前記ロボット
を動作させている際に前記イネーブルスイッチの押下を解除した場合、前記ロボットの動
作速度を前記第１閾値以下に変更する、構成が用いられてもよい。
この構成により、教示装置は、第２モードによってロボットを動作させている際にイネ
ーブルスイッチの押下を解除した場合、ロボットの動作速度を第１閾値以下に変更する。
これにより、教示装置は、イネーブルスイッチの押下を解除することにより、ロボットの
動作速度を遅くすることができる。
【００１７】
また、本発明の他の態様は、教示装置において、前記第２モードが選択されている際に
、所定時間操作が行われない場合、前記ロボットの動作速度を前記第１閾値以下に変更す
る、構成が用いられてもよい。
この構成により、教示装置は、第２モードが選択されている際に、所定時間操作が行わ
れない場合、ロボットの動作速度を第１閾値以下に変更する。これにより、教示装置は、
ロボットの動作速度が高い動作速度に設定されていたことをユーザーが忘れてロボットを
動作させてしまうことを抑制することができる。
【００１８】
また、本発明の他の態様は、上記のいずれかに記載の教示装置により教示されるロボッ
トである。
この構成により、ロボットは、プログラムへの入力語が言語解析された結果に基づく情
報を表示する教示装置により教示される。これにより、ロボットは、ユーザーが行うプロ
グラムの編集作業を容易にすることができる。
【００１９】
また、本発明の他の態様は、上記のいずれかに記載の教示装置と、上記に記載のロボッ
トと、前記ロボット制御装置と、を備える、ロボットシステムである。
この構成により、ロボットシステムは、プログラムへの入力語が言語解析された結果に
基づく情報を表示する。これにより、ロボットシステムは、ユーザーが行うプログラムの
編集作業を容易にすることができる。
【００２０】
以上により、教示装置、ロボット、及びロボットシステムは、プログラムへの入力語が
言語解析された結果に基づく情報を表示する。これにより、教示装置、ロボット、及びロ
ボットシステムは、ユーザーが行うプログラムの編集作業を容易にすることができる。
【図面の簡単な説明】
【００２１】
【図１】本実施形態に係るロボットシステム１の一例を示す構成図である。
【図２】教示装置１０のハードウェア構成の一例を示す図である。
【図３】教示装置１０の機能構成の一例を示す図である。
【図４】制御装置３０の機能構成の一例を示す図である。
【図５】ユーザーにより行われるプログラムエディターＥＳを介した動作プログラムの作成を制御部１８が支援する処理の流れの一例を示すフローチャートである。
【図６】ステップＳ１１０における言語解析処理の流れの一例を示すフローチャートである。
【図７】ステップＳ２００からステップＳ２３０までの処理を模式的に表した図である。
【図８】表示制御部２０が、命令語により構成される命令文の規定書式を示す情報が表示されたプログラムエディターＥＳを含む編集画面の一例を示す図である。
【図９】表示制御部２０が、命令語により構成される命令文の規定書式を示す情報、及び命令語の後に入力される可能性のある変数のリストが表示されたプログラムエディターＥＳを含む編集画面の一例を示す図である。
【図１０】表示制御部２０が、命令語により構成される命令文の規定書式を示す情報、及び命令語の後に入力される可能性のある変数のリストが表示されたプログラムエディターＥＳを含む編集画面の他の例を示す図である。
【図１１】教示装置１０の動作モードが第２モードに切り替えられた際の制御部１８の処理の流れの一例を示すフローチャートである。
【図１２】教示装置１０の動作モードが第１モードである場合に表示制御部２０が表示部１５に表示する試験画面の一例を示す図である。
【図１３】教示装置１０の動作モードが第２モードである場合に表示制御部２０が表示部１５に表示する試験画面の一例を示す図である。
【図１４】所定の条件が満たされることにより動作モード切替部２３が教示装置１０の動作モードを第２モードから第１モードに切り替える処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【００２２】
＜実施形態＞
以下、本発明の実施形態について、図面を参照して説明する。図１は、本実施形態に係
るロボットシステム１の一例を示す構成図である。ロボットシステム１は、教示装置１０
と、制御装置３０と、ロボット５０を備える。
まず、ロボットシステム１が備える各構成について説明する。
【００２３】
教示装置１０は、制御装置３０にロボット５０の動作を示す情報を教示する。また、教
示装置１０は、プログラムを編集可能な入力画面であるプログラムエディターＥＳを含む
ＧＵＩ（Graphical  User  Interface）を表示する。以下では、説明の便宜上、プログラ
ムエディターＥＳを含むＧＵＩを編集画面と称して説明する。ユーザーは、編集画面に含
まれるプログラムエディターＥＳを介して、ロボット５０の動作に関する（例えば、ロボ
ット５０を動作させる）プログラムである動作プログラムを作成することができる。
【００２４】
すなわち、プログラムエディターＥＳに表示された動作プログラムは、入力受付部１３
を介して編集が可能である。動作プログラムは、例えば、命令文、関数、コメント文等の
プログラムの構成要素を含む。命令文には少なくとも、ロボット５０を動作させるための
１以上の命令文と、ロボット５０の動作速度、座標系の原点、座標軸の方向等のロボット
５０の動作に関するパラメーターであってロボット５０に設定可能なパラメーターを設定
するための１以上の命令文とが含まれる。
【００２５】
ロボット５０を動作させるための命令文は、ロボット５０の動作を示す命令語と、当該
動作によってロボット５０のＴＣＰ（Tool  Center  Point）を移動させる目標位置を示
す情報である引数や変数とを含んで構成される。ロボット５０に設定可能なパラメーター
を設定するための命令文は、ロボット５０の設定可能なパラメーターを設定するための命
令語と、当該命令語によってパラメーターとして設定する値を示す引数や変数とを含んで
構成される。引数や変数は、ロボットの動作に関するパラメーターの一例である。なお、
これらの命令文は、引数や変数が省略され、命令語のみで構成される場合もある。
【００２６】
また、これらの命令文の書式は、動作プログラムを作成するためのプログラム言語であ
るロボット言語によって予め決められている。命令文の書式とは、命令文の作成（記述）
形式であり、命令文を構成する文字列や数字、記号の並び順や、並び順以外の他の配置の
ことである。以下では、説明の便宜上、ロボット言語によって予め決められている書式を
、規定書式と称して説明する。また、以下では、ユーザーによりプログラムエディターＥ
Ｓ上に入力された命令文の書式を、規定書式に対して入力書式と称して説明する。例えば
、プログラムエディターＥＳに入力されたある命令文の入力書式が規定書式と一致してい
ない場合において、当該命令文を含む動作プログラムがコンパイルされた場合、当該動作
プログラムをコンパイルしたコンパイラーは、動作プログラムにエラーが含まれているこ
とを示す情報を出力する。
【００２７】
関数は、動作プログラムの中に含まれる部分プログラムである。関数は、関数自体が１
つの動作プログラムとして機能する。例えば、関数Ｘ０に命令文Ｘ１と命令文Ｘ２が含ま
れている場合、関数Ｘ０が実行されると、命令文Ｘ１と命令文Ｘ２が実行される。また、
関数には、ロボット５０を動作させるために必要な情報を生成、算出、取得するプログラ
ムが含まれる場合もある。当該プログラムは、例えば、ロボット５０の動作に関する画像
処理を行うプログラム等のことである。コメント文は、制御装置３０が動作プログラムを
実行する際に無視される文であり、動作プログラムの作成者や編集者が動作プログラム中
に記載するメモである。
【００２８】
また、教示装置１０は、ユーザーにより作成された動作プログラムや、他の装置から取
得した動作プログラムを制御装置３０に出力して実行させることができる。また、教示装
置１０は、プログラムエディターＥＳを介して行われる動作プログラムの作成を支援する
。教示装置１０は、プログラムエディターＥＳを介して入力された動作プログラムへの入
力語が言語解析された結果を示す言語解析結果情報に基づく情報を表示する。これにより
、教示装置１０は、例えば、入力語が言語解析された結果に基づく情報として、入力語が
プログラム言語において予め決められた記述形式（上述の規定書式）と一致しているか否
かをユーザーに知らせることや、予約語と一致している入力語に色を付けることによりプ
ログラムを見やすくすること等のプログラムの作成を支援することができる。その結果、
教示装置１０は、ユーザーが行うプログラムの編集作業を容易にすることができる。
【００２９】
動作プログラムへの入力語は、入力受付部１３を介してプログラムエディターＥＳに入
力された語のことである。この際、プログラムエディターＥＳは、動作プログラムに含ま
れる１以上の文字列や数字、記号等が表示されている状態であってもよく、何も表示され
ていない状態であってもよい。動作プログラムに含まれる１以上の文字列や数字、記号等
がプログラムエディターＥＳに表示されている状態では、動作プログラムへの入力語は、
他の語が表示されているプログラムエディターＥＳに新たに追加された語のことである。
プログラムエディターＥＳに何も表示されていない状態では、動作プログラムへの入力語
は、プログラムエディターＥＳに新規で入力された語のことである。
【００３０】
教示装置１０は、入力語の言語解析を、教示装置１０又は制御装置３０の言語解析機能
のうちのバージョンが新しい方の言語解析機能によって行う。なお、ロボットシステム１
では、入力語の言語解析を行う言語解析機能を教示装置１０と制御装置３０のうちのいず
れか一方にのみ備える構成であってもよい。
【００３１】
教示装置１０の言語解析機能のバージョンが制御装置３０の言語解析機能のバージョン
よりも古い場合、教示装置１０は、編集情報とともに言語解析の要求を制御装置３０に出
力する。編集情報には、少なくとも入力語を示す情報が含まれる。以下では、一例として
、編集情報が、入力語を示す情報の他に、プログラムエディターＥＳにおいて当該入力語
を含む行に入力されている他の語を示す情報を含む場合について説明する。なお、当該他
の語がプログラムエディターＥＳに入力されていない場合、当該他の語を示す情報は、編
集情報に含まれない。教示装置１０は、編集情報に含まれる入力語に対する言語解析の結
果を示す言語解析結果情報を、言語解析の要求に対する応答として制御装置３０から取得
する。
【００３２】
教示装置１０の言語解析機能のバージョンが制御装置３０の言語解析機能のバージョン
よりも古くない場合、教示装置１０は、教示装置１０の言語解析機能を用いて入力語の言
語解析を行う。教示装置１０の言語解析機能のバージョンが制御装置３０の言語解析機能
のバージョンよりも古くない場合には、教示装置１０の言語解析機能のバージョンと、制
御装置３０の言語解析機能のバージョンが同じバージョンであった場合と、教示装置１０
の言語解析機能のバージョンが制御装置３０の言語解析機能のバージョンよりも新しい場
合とが含まれる。
【００３３】
また、教示装置１０は、作成した動作プログラムがロボット５０を意図通りに動作させ
ることができるか否かを検査する試験である動作試験を行うための２つの動作モードを有
する。１つ目の動作モードは、第１閾値以下の動作速度である通常動作速度でロボット５
０を動作させることにより動作試験を行うことが可能な第１モードである。第１閾値は、
例えば、秒速２５０ミリメートルである。なお、この秒速２５０ミリメートルという値は
、あくまでも一例に過ぎない。そのため、第１閾値は、秒速２５０ミリメートル未満の値
であってもよく、秒速２５０ミリメートルより高い他の値であってもよい。以下では、一
例として通常動作速度が秒速１００ミリメートルである場合について説明する。２つ目の
動作モードは、第１閾値よりも高い動作速度である高速動作速度でロボット５０を動作さ
せることにより動作試験を行うことが可能な第２モードである。以下では、一例として、
高速動作速度が秒速２６０ミリメートルである場合について説明する。
【００３４】
教示装置１０は、ユーザーから受け付けた操作に基づいて、動作モードを第１モードと
第２モードのうちのいずれかに切り替える。動作モードが第１モードに切り替えられた場
合、教示装置１０は、ロボット５０の動作速度を通常動作速度に設定し、ユーザーから受
け付けた操作に基づいて動作試験を行う。また、動作モードが第２モードに切り替えられ
た場合、教示装置１０は、ロボット５０の動作速度を高速動作速度に設定し、ユーザーか
ら受け付けた操作に基づいて動作試験を行う。
【００３５】
教示装置１０は、第１モード又は第２モードによって動作試験を行う際、制御装置３０
に動作プログラムの一部又は全部を実行させ、制御装置３０にロボット５０を動作させる
。このように、教示装置１０は、第２モードにおいてロボット５０を高速動作速度で動作
させることにより、動作試験の時間を短縮することができる。また、教示装置１０は、動
作モードが第２モードに切り替えられた場合、ユーザー認証を行うための画面を含むＧＵ
Ｉを表示する。これにより、教示装置１０は、高速動作速度による動作試験が意図せずに
行われることを抑制することができる。以下では、説明の便宜上、ユーザー認証を行うた
めの画面を含むＧＵＩを認証画面と称して説明する。
【００３６】
制御装置３０は、教示装置１０に教示されたロボット５０の動作を示す情報に基づいて
、ロボット５０を動作させる。また、制御装置３０は、教示装置１０から取得した動作プ
ログラムの一部又は全部を実行することによりロボット５０を動作させる。制御装置３０
は、ロボット５０を動作させる際、ロボット５０が備える各機能部のそれぞれに制御信号
を送信する。これにより、制御装置３０は、ロボット５０を動作させる。
【００３７】
また、制御装置３０は、教示装置１０から編集情報とともに言語解析の要求を取得した
場合、編集情報に含まれる入力語の言語解析を行う。そして、制御装置３０は、前述の言
語解析結果情報を教示装置１０に出力する。制御装置３０は、ロボット制御装置の一例で
ある。
【００３８】
ロボット５０は、１本のアーム（腕）を備える単腕ロボットである。なお、ロボット５
０は、単腕ロボットに代えて、２本のアームを備える双腕ロボットであってもよく、パラ
レルリンクロボットであってもよく、直交軸ロボットであってもよく、単軸ロボットであ
ってもよく、スカラロボットであってもよい。
【００３９】
アームは、エンドエフェクターＥと、マニピュレーターＭと、図示しない複数のアクチ
ュエーターによって構成される。アームは、７軸垂直多関節型のアームである。具体的に
は、アームは、支持台と、エンドエフェクターＥと、マニピュレーターＭとがアクチュエ
ーターによる連携した動作によって７軸の自由度の動作を行う。なお、アームは、７軸垂
直多関節型のアームに限らない。例えば、アームは、６軸以下の垂直多関節型のアームで
あってもよく、８軸以上の垂直多関節型のアームであってもよい。
【００４０】
各アクチュエーターは、ケーブルによって制御装置３０と通信可能に接続されている。
これにより、アクチュエーターは、制御装置３０から取得される制御信号に基づいて、エ
ンドエフェクターＥとマニピュレーターＭを動作させることができる。なお、ケーブルを
介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ（Universal  Serial  B
us）等の規格によって行われる。また、アクチュエーターのうちの一部又は全部は、Ｗｉ
−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって制御装置３０と接続さ
れる構成であってもよい。
【００４１】
上記で説明したロボット５０が備える各アクチュエーターは、制御装置３０から制御信
号を取得する。そして、これらの各機能部は、取得した制御信号に基づいた動作を行う。
すなわち、ロボット５０は、ロボット５０の外部に設置された制御装置３０により制御さ
れる。なお、ロボット５０は、これに代えて、ロボット５０に内蔵された制御装置３０に
より制御される構成であってもよい。
【００４２】
次に、図２を参照し、教示装置１０のハードウェア構成について説明する。図２は、教
示装置１０のハードウェア構成の一例を示す図である。教示装置１０は、例えば、ＣＰＵ
（Central  Processing  Unit）１１と、記憶部１２と、入力受付部１３と、通信部１４
と、表示部１５と、第１操作部１６と、第２操作部１７を備える。また、教示装置１０は
、通信部１４を介して制御装置３０と通信を行う。これらの構成要素は、バスＢｕｓを介
して相互に通信可能に接続されている。
【００４３】
ＣＰＵ１１は、記憶部１２に格納された各種プログラムを実行する。
記憶部１２は、例えば、ＨＤＤ（Hard  Disk  Drive）やＳＳＤ（Solid  State  Drive
）、ＥＥＰＲＯＭ（Electrically  Erasable  Programmable  Read−Only  Memory）、Ｒ
ＯＭ（Read−Only  Memory）、ＲＡＭ（Random  Access  Memory）などを含む。記憶部１
２は、教示装置１０が処理する各種情報やプログラム等を格納する。なお、記憶部１２は
、教示装置１０に内蔵されるものに代えて、ＵＳＢ等のデジタル入出力ポート等によって
接続された外付け型の記憶装置でもよい。
【００４４】
入力受付部１３は、例えば、キーボードやマウス、タッチパッド等の入力装置である。
この一例において、入力受付部１３は、タッチパネルとして表示部１５と一体に構成され
ている。
通信部１４は、例えば、ＵＳＢ等のデジタル入出力ポートやイーサネット（登録商標）
ポート等を含んで構成される。
表示部１５は、例えば、液晶ディスプレイパネル、あるいは、有機ＥＬ（ElectroLumin
escence）ディスプレイパネルである。
【００４５】
第１操作部１６は、教示装置１０の動作モードを切り替えるスイッチである。この一例
において、第１操作部１６は、専用の鍵を用いて回転させることができるロータリースイ
ッチである。ユーザーは、当該鍵を用いて第１操作部１６を回転させることにより、教示
装置１０の動作モードを第１モードと第２モードのいずれかに切り替えることができる。
第２操作部１７は、教示装置１０のイネーブルスイッチである。
【００４６】
次に、図３を参照し、教示装置１０の機能構成について説明する。図３は、教示装置１
０の機能構成の一例を示す図である。教示装置１０は、記憶部１２と、入力受付部１３と
、通信部１４と、表示部１５と、第１操作部１６と、第２操作部１７と、制御部１８を備
える。
【００４７】
制御部１８は、教示装置１０の全体を制御する。制御部１８は、表示制御部２０と、言
語解析部２１と、通信制御部２２と、動作モード切替部２３と、認証部２４と、動作速度
設定部２５と、ロボット制御部２６と、判定部２７を備える。制御部１８が備えるこれら
の機能部は、例えば、ＣＰＵ１１が、記憶部１２に記憶された各種プログラムを実行する
ことで実現される。なお、制御部１８が備えるこれらの機能部のうち一部または全部は、
ＬＳＩ（Large  Scale  Integration）やＡＳＩＣ（Application  Specific  Integrated
Circuit）等のハードウェア機能部であってもよい。
【００４８】
表示制御部２０は、入力受付部１３を介してユーザーから受け付けた操作に基づいて、
ユーザーが制御装置３０に教示するロボット５０の動作を示す情報を入力するための１以
上のＧＵＩを生成する。これらのＧＵＩの少なくとも一部には、プログラムエディターＥ
Ｓを含むＧＵＩである前述した編集画面や、ユーザーが制御装置３０に教示するロボット
５０の動作を示す情報を入力するための１以上のＧＵＩである教示画面、ユーザーが動作
試験を行うためのＧＵＩである試験画面、動作モード切替部２３が教示装置１０の動作モ
ードを第２モードに切り替えた場合に表示される認証画面が含まれる。
【００４９】
表示制御部２０は、生成したこれらの画面（編集画面、認証画面、教示画面、試験画面
）を表示部１５に表示させる。また、表示制御部２０は、ユーザーによりプログラムエデ
ィターＥＳを介して入力された動作プログラムへの入力語が言語解析された結果を示す言
語解析結果情報に基づく情報を、プログラムエディターＥＳを介して表示部１５に表示さ
せる。
【００５０】
言語解析部２１は、表示制御部２０が表示部１５に表示させた編集画面に含まれるプロ
グラムエディターＥＳを介して入力された入力語の言語解析を行う。言語解析部２１は、
当該入力語を言語解析した結果を示す言語解析結果情報を表示制御部２０に出力する。
通信制御部２２は、教示装置１０が備える言語解析部２１の言語解析機能のバージョン
が、制御装置３０の言語解析機能のバージョンよりも古いと判定部２７が判定した場合、
編集情報とともに言語解析の要求を通信部１４に制御装置３０へ出力させる。
【００５１】
動作モード切替部２３は、第１操作部１６により受け付けられた操作に基づいて、教示
装置１０の動作モードを第１モードと第２モードのいずれかに切り替える。また、動作モ
ード切替部２３は、教示装置１０の動作モードが第２モードであり、且つ１以上の所定の
条件のうちのいずれかが満たされた場合、教示装置１０の動作モードを第１モードに切り
替える。所定の条件は、この一例において、ロボット５０が動作していない場合、以下に
示す条件１）、条件２）である。
【００５２】
条件１）第１操作部１６により教示装置１０の動作モードを第１モードに切り替える操作
を受け付けること
条件２）所定時間が経過するまで教示装置１０が操作を受け付けないこと
【００５３】
所定時間は、例えば、３分である。なお、所定時間は、３分に代えて、他の時間であっ
てもよい。条件２において教示装置１０が受け付ける操作には、入力受付部１３、第１操
作部１６、及び第２操作部１７のそれぞれに対する操作を含む構成であってもよく、入力
受付部１３、及び第１操作部１６のそれぞれに対する操作を含み、第２操作部１７に対す
る操作を含まない構成であってもよい。
【００５４】
また、所定の条件は、この一例において、ロボット５０が動作している場合、以下に示
す条件３）である。
条件３）第２操作部１７の押下が解除されること
【００５５】
認証部２４は、表示部１５に表示された認証画面を介して入力された認証情報に基づい
てユーザー認証を行う。認証情報は、この一例において、ユーザーＩＤとパスワードの組
み合わせであるが、他の情報であってもよい。
動作速度設定部２５は、動作モード切替部２３が切り替えた動作モードに応じてロボッ
ト制御部２６に設定されるロボット５０の動作速度を、通常動作速度と高速動作速度のい
ずれかに設定する。
【００５６】
ロボット制御部２６は、表示部１５に表示されたＧＵＩ（例えば、教示画面や試験画面
）を介して入力受付部１３から受け付けられたユーザーによる操作に基づいて、制御装置
３０にロボット５０を動作させる。また、ロボット制御部２６は、プログラムエディター
ＥＳを介して入力された動作プログラムに基づいて、制御装置３０にロボット５０を動作
させる。
判定部２７は、言語解析部２１の言語解析機能のバージョンが、制御装置３０の言語解
析機能のバージョンよりも古いか否かを判定する。
【００５７】
次に、図４を参照し、制御装置３０の機能構成について説明する。図４は、制御装置３
０の機能構成の一例を示す図である。制御装置３０は、通信部３４と、制御部３８を備え
る。
【００５８】
通信部３４は、例えば、ＵＳＢ等のデジタル入出力ポートやイーサネット（登録商標）
ポート等を含んで構成される。
制御部３８は、制御装置３０の全体を制御する。制御部３８は、言語解析部４１と、通
信制御部４２と、ロボット制御部４６を備える。制御部３８が備えるこれらの機能部のう
ち一部又は全部は、例えば、図示しないＣＰＵが、図示しない記憶部に記憶された各種プ
ログラムを実行することで実現される。また、これらの機能部のうち一部または全部は、
ＬＳＩ（Large  Scale  Integration）やＡＳＩＣ（Application  Specific  Integrated
Circuit）等のハードウェア機能部であってもよい。
【００５９】
言語解析部４１は、教示装置１０から通信部３４を介して編集情報とともに言語解析の
要求を取得すると、編集情報に含まれる入力語の言語解析を行う。
通信制御部４２は、言語解析部４１が言語解析した結果を示す言語解析結果情報を通信
部３４に教示装置１０へ送信させる。
ロボット制御部４６は、教示装置１０から通信部３４を介して取得したロボット５０の
動作を示す情報に応じてロボット５０を動作させる。また、ロボット制御部４６は、教示
装置１０から通信部３４を介して取得した動作プログラムの一部又は全部に基づいてロボ
ット５０を動作させる。
【００６０】
以下、図５を参照し、ユーザーにより行われるプログラムエディターＥＳを介した動作
プログラムの作成を制御部１８が支援する処理について説明する。図５は、ユーザーによ
り行われるプログラムエディターＥＳを介した動作プログラムの作成を制御部１８が支援
する処理の流れの一例を示すフローチャートである。図５に示したフローチャートにおい
て、表示部１５には、表示制御部２０が生成した編集画面がすでに表示されている場合に
ついて説明する。
【００６１】
制御部１８は、編集画面に含まれるプログラムエディターＥＳを介して入力語が入力さ
れるまで待機する（ステップＳ１００）。プログラムエディターＥＳを介して入力語が入
力された場合（ステップＳ１００−Ｙｅｓ）、言語解析部２１及び判定部２７は、当該入
力語に対して言語解析処理を行う（ステップＳ１１０）。ここで、図６を参照し、ステッ
プＳ１１０における言語解析処理について説明する。図６は、ステップＳ１１０における
言語解析処理の流れの一例を示すフローチャートである。
【００６２】
判定部２７は、言語解析部２１の言語解析機能のバージョンが、制御装置３０が備える
言語解析部４１の言語解析機能のバージョンよりも古いか否かを判定する（ステップＳ２
００）。より具体的には、判定部２７は、制御装置３０に言語解析部４１の言語解析機能
のバージョンを示す情報取得の要求を送信する。判定部２７は、当該要求の応答として言
語解析部４１の言語解析機能のバージョンを示す情報を制御装置３０から取得する。判定
部２７は、取得した言語解析部４１の言語解析機能のバージョンと、言語解析部２１の言
語解析機能のバージョンとを比較し、言語解析部２１のバージョンが言語解析部４１のバ
ージョンよりも古いか否かを判定する。
【００６３】
なお、ロボットシステム１では、判定部２７が、言語解析部２１のバージョンが言語解
析部４１のバージョンよりも古いか否かを判定する構成に代えて、制御装置３０が、言語
解析部２１のバージョンが言語解析部４１のバージョンよりも古いか否かを判定する構成
であってもよい。この場合、判定部２７は、制御装置３０に言語解析部２１の言語解析機
能のバージョンを示す情報を送信する。そして、判定部２７は、当該情報の送信に対する
応答として、言語解析部２１のバージョンが言語解析部４１のバージョンよりも古いか否
かの判定結果を示す情報を制御装置３０から取得する。
【００６４】
言語解析部２１の言語解析機能のバージョンが言語解析部４１の言語解析機能のバージ
ョンよりも古くないと判定部２７が判定した場合（ステップＳ２００−Ｎｏ）、言語解析
部２１は、ステップＳ１００において入力された入力語の言語解析を行い（ステップＳ２
３０）、当該言語解析の結果を示す言語解析結果情報を表示制御部２０に出力して処理を
終了する。ここで、ステップＳ２３０における言語解析部２１が行う言語解析について説
明する。
【００６５】
言語解析部２１は、プログラムエディターＥＳを介して入力された入力語が、記憶部１
２に予め記憶された１以上の予約語のうちのいずれかの予約語に一致するか否かを判定す
る。この一例において、予約語に一致する入力語は、予約語の文字列と文字列が一致する
入力語のことである。また、入力語に一致する予約語とは、入力語の文字列に文字列が一
致する予約語のことである。ここで、文字列Ａ１と文字列Ａ２が一致するとは、文字列Ａ
１を構成する１以上の文字及び当該文字の並び順と、文字列Ａ２を構成する１以上の文字
及び当該文字の並び順とが一致し、且つ文字列Ａ２が文字列Ａ１の文字列を構成する１以
上の文字の大文字と小文字を入れ替わっていない文字列であることを示す。なお、予約語
は、所定の役割が対応付けられた文字列のことである。例えば、予約語は、動作プログラ
ムを作成する言語であるロボット言語において予め用意されている命令語や関数名、クラ
ス名等のことである。なお、予約語には、すでに使用している関数名やクラス名等が含ま
れてもよい。
【００６６】
また、言語解析部２１は、プログラムエディターＥＳを介して入力された入力語が、１
以上の予約語のうちのいずれかの予約語に対応する入力語であるか否かを判定（解析）す
る。この一例において、予約語に対応する入力語とは、１以上の予約語のうちのいずれか
の予約語の文字列を構成する１以上の文字の大文字と小文字を入れ替えた文字列を有する
入力語のことである。また、入力語に対応する予約語とは、１以上の予約語のうち、入力
語の文字列を構成する１以上の文字の大文字と小文字を入れ替えた文字列を有する予約語
のことである。
【００６７】
また、言語解析部２１は、プログラムエディターＥＳを介して入力された入力語が、記
憶部１２に予め記憶された１以上の予約語のうちの命令語を示す１以上の予約語のいずれ
かに一致した場合、入力語と一致した命令語により構成される命令文の予め記憶された規
定書式と、プログラムエディターＥＳに入力された入力語により構成される命令文の入力
書式とが一致するか否かを判定（解析）する。すなわち、言語解析部２１は、プログラム
エディターＥＳに入力された入力語により構成される命令文の入力書式に、規定書式と異
なる記述（誤り）が含まれているか否かを判定する。
【００６８】
また、言語解析部２１は、プログラムエディターＥＳを介して入力された入力語が、コ
メント文中の入力語であるか否かを判定（解析）する。この一例において、コメント文は
、制御装置３０が動作プログラムを実行する際、制御装置３０に無視される文のことであ
る。なお、言語解析部２１は、これらの言語解析に加えて、他の言語解析を行う構成であ
ってもよく、これらの言語解析の一部又は全部に代えて、他の言語解析を行う構成であっ
てもよい。
【００６９】
一方、ステップＳ２００において言語解析部２１の言語解析機能のバージョンが言語解
析部４１の言語解析機能のバージョンよりも古いと判定部２７が判定した場合（ステップ
Ｓ２００−Ｙｅｓ）、通信制御部２２は、ステップＳ１００において入力された入力語を
含む編集情報とともに、当該入力語の言語解析の要求を通信部１４に制御装置３０へ出力
させる（ステップＳ２１０）。
【００７０】
次に、制御部１８は、ステップＳ２１０において制御装置３０に出力した要求に対する
応答として、制御装置３０の言語解析部４１が行った言語解析の結果を示す言語解析結果
情報を制御装置３０から通信部１４を介して取得し（ステップＳ２２０）、当該言語解析
結果情報を表示制御部２０に出力して処理を終了する。なお、言語解析部４１による言語
解析は、言語解析部２１による言語解析と同じ言語解析を行うため、説明を省略する。
【００７１】
このように、ステップＳ２００からステップＳ２３０までの処理によって、教示装置１
０は、プログラムエディターＥＳを介して入力された入力語を言語解析した結果を示す言
語解析結果情報を取得する。図７は、ステップＳ２００からステップＳ２３０までの処理
を模式的に表した図である。図７において、言語解析部２１の言語解析機能のバージョン
が言語解析部４１の言語解析機能のバージョンよりも古い場合、プログラムエディターＥ
Ｓに入力された入力語は、制御装置３０の言語解析部４１によって言語解析される。一方
、図７において、言語解析部２１の言語解析機能のバージョンが言語解析部４１の言語解
析機能のバージョンよりも古くない場合、プログラムエディターＥＳに入力された入力語
は、教示装置１０の言語解析部２１によって言語解析される。
【００７２】
ステップＳ１１０における言語解析処理が実行された後、表示制御部２０は、プログラ
ムエディターＥＳを介して入力された入力語が言語解析部２１又は言語解析部４１により
言語解析された結果を示す言語解析結果情報に基づく情報を、プログラムエディターＥＳ
を介して表示部１５に表示させる（ステップＳ１２０）。ここで、ステップＳ１２０にお
いて表示制御部２０が表示部１５に表示させる言語解析結果情報に基づく情報について説
明する。
【００７３】
表示制御部２０は、言語解析結果情報に基づいて、記憶部１２に予め記憶された１以上
の予約語のうちのいずれかの予約語と一致する入力語の文字色を所定の第１色に変更する
。所定の第１色は、例えば、青色である。なお、所定の第１色は、これに代えて、青色以
外の他の色であってもよい。また、表示制御部２０は、当該入力語の文字色を所定の第１
色に変更する構成に代えて、当該入力語の背景色を所定の第２色に変更する構成であって
もよく、当該入力語の文字色を所定の第１色に変更するとともに当該入力語の背景色を所
定の第２色に変更する構成であってもよい。所定の第２色は、例えば、赤色である。なお
、所定の第２色は、これに代えて、赤色以外の他の色であってもよい。
【００７４】
また、表示制御部２０は、言語解析結果情報に基づいて、プログラムエディターＥＳを
介して入力された入力語が、記憶部１２に予め記憶された１以上の予約語のうちのいずれ
かの予約語と一致した場合、入力語と一致した予約語の後に入力される可能性のある引数
や変数、他の予約語等のリストを表示部１５に表示させる。これにより、教示装置１０は
、入力された予約語の後に入力される可能性のある引数や変数、他の予約語等をユーザー
が誤入力してしまうことを抑制することができる。なお、表示制御部２０は、入力語と一
致した予約語の後に入力される可能性のある引数や変数、他の予約語等を、入力語と一致
した予約語により構成される文の規定書式に基づいて特定する。
【００７５】
また、表示制御部２０は、言語解析結果情報に基づいて、プログラムエディターＥＳを
介して入力された入力語が、記憶部１２に予め記憶された１以上の予約語のうちの命令語
である１以上の予約語のいずれかと一致した場合、入力語と一致した予約語（命令語）に
より構成される命令文の規定書式を表示部１５に表示させる。これにより、教示装置１０
は、命令文の書式をユーザーが誤入力してしまうことを抑制することができる。表示制御
部２０は、この一例において、所定の表示時間が経過した後、表示部１５に表示された当
該規定書式を削除する。所定の表示時間は、例えば、３秒であるが、これに代えて、他の
時間であってもよい。表示制御部２０は、所定の表示時間が経過した後、表示部１５に表
示された当該規定書式を削除する。なお、表示制御部２０は、所定の表示時間が経過して
も、表示部１５に表示された当該規定書式を削除しない構成であってもよい。この場合、
表示制御部２０は、例えば、入力受付部１３を介してプログラムエディターＥＳに新しい
文字が入力された際に当該規定書式を削除する。
【００７６】
また、表示制御部２０は、言語解析結果情報に基づいて、コメント文中の入力語の文字
色を所定の第３色に変更する。所定の第３色は、例えば、緑色である。なお、所定の第３
色は、緑色に代えて、緑色以外の他の色であってもよい。また、表示制御部２０は、コメ
ント文中の入力語の文字色を所定の第３色に変更する構成に代えて、コメント文中の入力
語の背景色を所定の第４色に変更する構成であってもよく、当該入力語の文字色を所定の
第３色に変更するとともに当該入力語の背景色を所定の第４色に変更する構成であっても
よい。所定の第４色は、例えば、橙色である。なお、所定の第４色は、これに代えて、橙
色以外の他の色であってもよい。
【００７７】
また、表示制御部２０は、言語解析結果情報に基づいて、プログラムエディターＥＳを
介して入力された入力語が、記憶部１２に予め記憶された１以上の予約語のうちの命令語
を示す１以上の予約語のいずれかに一致した場合であり、且つ一致した命令語により構成
される命令文の規定書式と、当該入力語により構成される命令文の入力書式とが一致しな
い場合、当該命令語により構成される命令文の規定書式を示す情報を表示部１５に表示さ
せる。この際、表示制御部２０は、例えば、当該入力語を含む行に含まれる一部又は全部
の語の文字色を所定の第５色に変更する。
【００７８】
所定の第５色は、例えば、黄色である。なお、所定の第５色は、黄色以外の他の色であ
ってもよい。また、表示制御部２０は、当該入力語を含む行に含まれる一部又は全部の語
の文字色を所定の第５色に変更する構成に代えて、当該入力語を含む行に含まれる一部又
は全部の語の背景色を所定の第６色に変更する構成であってもよく、当該入力語を含む行
に含まれる一部又は全部の語の文字色を所定の第５色に変更するとともに、当該入力語を
含む行に含まれる一部又は全部の語の背景色を所定の第６色に変更する構成であってもよ
い。所定の第５色は、例えば、紫色である。なお、所定の第５色は、紫色以外の他の色で
あってもよい。
【００７９】
また、表示制御部２０は、言語解析結果情報に基づいて、１以上の予約語のうちのいず
れかの予約語に対応する入力語を、当該入力語に対応する予約語と一致する語に変更する
。なお、表示制御部２０は、言語解析結果情報に基づく情報として、上記に示した例以外
の情報を表示する構成であってもよい。
【００８０】
ここで、図８〜図１０を参照し、ステップＳ１２０において表示制御部２０が言語解析
結果情報に基づく情報を表示部１５に表示させる処理の一部について視覚的に説明する。
図８は、表示制御部２０が、命令語により構成される命令文の規定書式を示す情報が表示
されたプログラムエディターＥＳを含む編集画面の一例を示す図である。図８において、
プログラムエディターＥＳを含む編集画面Ｐ１には、プログラムエディターＥＳと、エク
スプローラーＥＸと、ボタンＢ１〜ボタンＢ５のそれぞれが含まれている。エクスプロー
ラーＥＸは、プログラムエディターＥＳにおいて表示している動作プログラムを含むファ
イルのＯＳ（Operating  System）上における格納位置や、ビルド（コンパイル）された
場合に当該プログラムにリンクされるファイルのＯＳ上における格納位置等を示す画像で
ある。
【００８１】
ボタンＢ１は、プログラムエディターＥＳ上において編集中のプログラムを保存するボ
タンである。教示装置１０は、入力受付部１３を介してボタンＢ１がクリックされた場合
、プログラムエディターＥＳ上に表示されている編集中のプログラムを記憶部１２に記憶
する。
【００８２】
ボタンＢ２は、プログラムエディターＥＳを終了させるボタンである。教示装置１０は
、入力受付部１３を介してボタンＢ２がクリックされた場合、プログラムエディターＥＳ
を終了させる（閉じる）。
【００８３】
ボタンＢ３は、プログラムエディターＥＳ上において編集中のプログラムをビルド（又
はコンパイル）するビルドボタンである。教示装置１０は、入力受付部１３を介してボタ
ンＢ３がクリックされた場合、プログラムエディターＥＳ上において編集中のプログラム
をビルド（又はコンパイル）する。
【００８４】
ボタンＢ４は、プログラムエディターＥＳ上において編集中のプログラムに含まれる１
以上の行のうち、指定した行を表示させるためのボタンである。教示装置１０は、入力受
付部１３を介してボタンＢ４がクリックされた場合、例えば、ユーザーが指定したい行番
号を示す情報を入力する欄を表示する。そして、教示装置１０は、当該欄に入力された行
番号が示す行をプログラムエディターＥＳに表示する。
【００８５】
ボタンＢ５は、文字列の検索処理を開始する検索ボタンである。教示装置１０は、入力
受付部１３を介してボタンＢ５がクリックされた場合、例えば、ユーザーが検索したい文
字列を示す情報を入力する欄を表示する。そして、教示装置１０は、当該欄に入力された
文字列の検索結果をプログラムエディターＥＳに表示する。
【００８６】
図８に示したプログラムエディターＥＳには、入力語Ｗ１として、「ｐｒｉｎｔ」とい
う文字列が入力されている。この場合、表示制御部２０は、入力語Ｗ１を、記憶部１２に
予め記憶された予約語であって入力語Ｗ１に対応する予約語である「Ｐｒｉｎｔ」に変更
する。図８では、入力語Ｗ１が予約語「Ｐｒｉｎｔ」に変更される前の状態が示されてい
る。
【００８７】
また、図８に示した状態では、入力語Ｗ１が、記憶部１２に予め記憶された１以上の予
約語のうちの命令語である「Ｐｒｉｎｔ」と一致しているため、一致した予約語「Ｐｒｉ
ｎｔ」により構成される命令文の規定書式Ｆ１がプログラムエディターＥＳ上に表示され
ている。なお、プログラムエディターＥＳ上において数字が縦に並んでいる欄ＲＮは、プ
ログラムエディターＥＳの行番号を表示している。
【００８８】
図９は、表示制御部２０が、命令語により構成される命令文の規定書式を示す情報、及
び命令語の後に入力される可能性のある変数のリストが表示されたプログラムエディター
ＥＳを含む編集画面の一例を示す図である。ここで、リストは、表のように予約語や引数
、変数等が縦や横に並べられたＧＵＩである。ユーザーは、入力受付部１３を介してリス
トに並べられた予約語や引数、変数を選択してプログラムエディターＥＳに表示させる（
入力する）ことができる。図９に示したプログラムエディターＥＳには、入力語Ｗ２とし
て、「Ｇｏ」という文字列が入力されている。この場合、入力語Ｗ２が、記憶部１２に予
め記憶された１以上の予約語のうちの命令語である「Ｇｏ」と一致しているため、一致し
た予約語「Ｇｏ」により構成される命令文の規定書式Ｆ２がプログラムエディターＥＳ上
に表示されている。また、この場合、入力語Ｗ２が、予約語「Ｇｏ」と一致しているため
、予約語「Ｇｏ」の後に入力される可能性のある変数のリストＦ３がプログラムエディタ
ーＥＳ上に表示されている。
【００８９】
図１０は、表示制御部２０が、命令語により構成される命令文の規定書式を示す情報、
及び命令語の後に入力される可能性のある変数のリストが表示されたプログラムエディタ
ーＥＳを含む編集画面の他の例を示す図である。図１０に示したプログラムエディターＥ
Ｓには、入力語Ｗ３として、「Ｍｏｔｏｒ」という文字列が入力されている。この場合、
入力語Ｗ３が、記憶部１２に予め記憶された１以上の予約語のうちの命令語である「Ｍｏ
ｔｏｒ」と一致しているため、一致した予約語「Ｍｏｔｏｒ」により構成される命令文の
規定書式Ｆ４がプログラムエディターＥＳ上に表示されている。また、この場合、入力語
Ｗ３が、予約語「Ｍｏｔｏｒ」と一致しているため、予約語「Ｍｏｔｏｒ」の後に入力さ
れる可能性のある変数のリストＦ５がプログラムエディターＥＳ上に表示されている。
【００９０】
以上のように、表示制御部２０は、ステップＳ１２０において、言語解析結果情報に基
づく情報を表示部１５に表示させる。そして、表示制御部２０は、ステップＳ１２０の処
理を実行した後、ステップＳ１００に遷移し、再びプログラムエディターＥＳを介して入
力語が入力されるまで待機する。
【００９１】
以下、図１１を参照し、教示装置１０の動作モードが第２モードに切り替えられた際の
制御部１８の処理について説明する。図１１は、教示装置１０の動作モードが第２モード
に切り替えられた際の制御部１８の処理の流れの一例を示すフローチャートである。なお
、図１１に示したフローチャートでは、教示装置１０の動作モードが予め第１モードであ
る場合について説明する。また、当該フローチャートでは、表示部１５には、第１モード
において表示制御部２０が生成した試験画面がすでに表示されている場合について説明す
る。また、以下で説明するステップＳ３０５の処理と、ステップＳ３１０の処理と、ステ
ップＳ３２０の処理と、ステップＳ３３０からステップＳ３５０までの処理とが行われる
順番は、図１１に示した順番と異なる順番であってもよい。
【００９２】
動作モード切替部２３は、第１操作部１６により教示装置１０の動作モードを第２モー
ドに切り替える操作が受け付けられるまで待機する（ステップＳ３００）。第１操作部１
６により教示装置１０の動作モードを第２モードに切り替える操作が受け付けられた場合
（ステップＳ３００−Ｙｅｓ）、動作モード切替部２３は、教示装置１０の動作モードを
第２モードへ切り替える（ステップＳ３０５）。次に、表示制御部２０は、表示部１５に
表示されている試験画面の背景色の一部又は全部を、試験画面の第１モードにおける背景
色とは異なる所定の第６色に変更する（ステップＳ３１０）。所定の第６色は、例えば、
赤色である。なお、所定の第６色は、赤色以外の他の色であってもよい。なお、試験画面
の第１モードにおける背景色は、この一例において、灰色である。
【００９３】
次に、動作速度設定部２５は、ロボット制御部２６に設定されるロボット５０の動作速
度を高速動作速度に設定する（ステップＳ３２０）。次に、表示制御部２０は、認証画面
を生成する。そして、表示制御部２０は、生成した認証画面を表示部１５に表示させる（
ステップＳ３３０）。次に、認証部２４は、入力受付部１３により認証画面を介して認証
情報が受け付けられるまで待機する（ステップＳ３４０）。入力受付部１３により認証画
面を介して認証情報が受け付けられた場合（ステップＳ３４０−Ｙｅｓ）、認証部２４は
、当該認証情報が示すユーザーが第２モードによる動作試験を行うことができるユーザー
であるか否かを判定する（ステップＳ３５０）。
【００９４】
ステップＳ３４０において入力された認証情報が示すユーザーが第２モードによる動作
試験を行うことができるユーザーではないと判定した場合（ステップＳ３５０−Ｎｏ）、
認証部２４は、例えば、ステップＳ３４０に遷移し、再び入力受付部１３により認証画面
を介して認証情報が受け付けられるまで待機する。一方、ステップＳ３４０において入力
された認証情報が示すユーザーが第２モードによる動作試験を行うことができるユーザー
であると判定した場合（ステップＳ３５０−Ｙｅｓ）、認証部２４は、認証画面を終了さ
せ、処理を終了する。
【００９５】
ここで、図１２及び図１３を参照し、ステップＳ３１０からステップＳ３４０までの処
理について視覚的に説明する。図１２は、教示装置１０の動作モードが第１モードである
場合に表示制御部２０が表示部１５に表示する試験画面の一例を示す図である。図１２に
おいて、教示装置１０の動作モードが第１モードである場合に表示制御部２０が表示部１
５に表示する試験画面Ｐ２には、プログラムエディターＥＳと、メニューリストＭ０と、
動作モードを示す情報ＭＤと、ロボット５０の動作速度を示す情報ＳＰと、ボタンＢ６〜
ボタンＢ１１とが含まれている。
【００９６】
メニューリストＭ０には、メニューボタンＭ１〜Ｍ６が含まれている。メニューボタン
Ｍ１は、教示装置１０の動作を制御するための制御画面を表示するボタンである。表示制
御部２０は、入力受付部１３を介してメニューボタンＭ１がクリックされた場合、当該制
御画面を表示する。メニューボタンＭ２は、ジョグキーを用いた教示を行うための教示画
面を表示するボタンである。表示制御部２０は、入力受付部１３を介してメニューボタン
Ｍ２がクリックされた場合、教示画面を表示する。
【００９７】
メニューボタンＭ３は、ダイレクトティーチングによって教示を行うための教示画面を
表示するボタンである。表示制御部２０は、入力受付部１３を介してメニューボタンＭ３
がクリックされた場合、当該教示画面を表示する。メニューボタンＭ４は、編集画面を表
示するボタンである。表示制御部２０は、入力受付部１３を介してメニューボタンＭ４が
クリックされた場合、編集画面を表示する。
【００９８】
メニューボタンＭ５は、試験画面を表示するボタンである。表示制御部２０は、入力受
付部１３を介してメニューボタンＭ５がクリックされた場合、試験画面を表示する。メニ
ューボタンＭ６は、ロボット５０を動作させるために必要なパラメーターを設定するため
のパラメーター設定画面を表示するボタンである。表示制御部２０は、入力受付部１３を
介してメニューボタンＭ６がクリックされた場合、パラメーター設定画面を表示する。
【００９９】
動作モードを示す情報ＭＤは、教示装置１０の現在の動作モードを示す。図１２では、
教示装置１０の動作モードが第１モードであるため、動作モードを示す情報ＭＤには、第
１モードを示す情報「Ｓｉｎｇｌｅ」が表示されている。ロボット５０の動作速度を示す
情報ＳＰは、ロボット制御部２６に設定されているロボット５０の現在の動作速度を示す
。図１２では、教示装置１０の動作モードが第１モードであるため、ロボット５０の動作
速度を示す情報ＳＰには、通常動作速度を示す情報「Ｍｉｄｄｌｅ」が表示されている。
【０１００】
ボタンＢ６は、プログラムエディターＥＳ上において編集中の動作プログラムを試験モ
ードにより制御装置３０に実行させるボタンである。この一例において、試験モードは、
プログラムエディターＥＳ上に入力されたプログラムの最初から最初のブレーク文までの
区間、ブレーク文から次のブレーク文までの区間、最後のブレーク文からプログラムの最
後までの区間のそれぞれの区間に入力されている命令文を順に実行するモードである。た
だし、試験モードでは、ブレーク文が挿入された直後の関数は、ボタンＢ９がクリックさ
れることにより実行される。また、試験モードでは、ブレーク文が挿入された直後の関数
は、ボタンＢ１０がクリックされることにより無視される。ロボット制御部２６は、入力
受付部１３を介してボタンＢ６がクリックされた場合、プログラムエディターＥＳ上にお
いて編集中の動作プログラムを制御装置３０に出力して実行させる。
【０１０１】
ボタンＢ７は、ボタンＢ６のクリックによる動作プログラムの実行を一時停止（一時中
断）するボタンである。ロボット制御部２６は、入力受付部１３を介してボタンＢ７がク
リックされた場合、制御装置３０による動作プログラムの実行を制御装置３０に一時停止
（一時中断）させる。ボタンＢ８は、ボタンＢ７のクリックによって一時停止されている
動作プログラムの実行を再開するボタンである。ロボット制御部２６は、入力受付部１３
を介してボタンＢ８がクリックされた場合、ボタンＢ７のクリックによって一時停止され
ている動作プログラムの実行を制御装置３０に再開させる。ボタンＢ９は、ブレーク文が
挿入された直後の関数を実行するボタンである。ロボット制御部２６は、入力受付部１３
を介してボタンＢ９がクリックされた場合、ブレーク文が挿入された直後の関数を制御装
置３０に実行させる。
【０１０２】
ボタンＢ１０は、ブレーク文が挿入された直後の関数を無視するボタンである。ロボッ
ト制御部２６は、入力受付部１３を介してボタンＢ１０がクリックされた場合、ブレーク
文が挿入された直後の関数を制御装置３０に無視させる。ボタンＢ１１は、プログラムエ
ディターＥＳ上において編集中の動作プログラムを上から順に１行ずつ実行させるボタン
である。すなわち、ロボット制御部２６は、１回のボタンＢ１１の押下毎に、当該動作プ
ログラムのうちの１行を制御装置３０実行させる。
【０１０３】
表示制御部２０は、このような試験画面Ｐ２を、ステップＳ３１０〜ステップＳ３３０
までの処理によって、図１３に示した試験画面Ｐ３のように変更する。図１３は、教示装
置１０の動作モードが第２モードである場合に表示制御部２０が表示部１５に表示する試
験画面の一例を示す図である。図１３において、教示装置１０の動作モードが第２モード
である場合に表示制御部２０が表示部１５に表示する試験画面Ｐ３には、試験画面Ｐ２と
同様に、プログラムエディターＥＳと、メニューリストＭ０と、動作モードを示す情報Ｍ
Ｄと、ロボット５０の動作速度を示す情報ＳＰと、ボタンＢ６〜ボタンＢ１１とが含まれ
ている。試験画面Ｐ３が試験画面Ｐ２と異なる点は、背景色である。
【０１０４】
すなわち、表示制御部２０は、ステップＳ３１０において試験画面Ｐ２の背景色の少な
くとも一部を所定の第６色（この一例において、赤色）に変更することにより試験画面Ｐ
３を生成する。図１３において、所定の第６色を、ハッチングによって示した。なお、表
示制御部２０は、ステップＳ３１０において、試験画面Ｐ２の背景色を変えることにより
試験画面Ｐ３を生成する構成に代えて、試験画面Ｐ２の形状、配置、表示情報のうち少な
くとも１つを変えて試験画面Ｐ３を生成する構成であってもよい。
【０１０５】
また、表示制御部２０は、図１３に示したようにステップＳ３２０において、動作モー
ドを示す情報ＭＤとして、動作モードが第２モードであることを示す「Ｄｏｕｂｌｅ」を
表示する。また、表示制御部２０は、ロボット５０の動作速度を示す情報ＳＰとして、高
速動作速度を示す情報「Ｈｉｇｈ」を表示する。また、表示制御部２０は、図１３に示し
たようにステップＳ３３０において、認証画面ＡＰを表示する。認証画面ＡＰには、認証
情報を入力する欄として、ユーザーＩＤを入力する欄と、パスワードを入力する欄とを含
む。
【０１０６】
このように、教示装置１０は、動作モードが第２モードに切り替えられた場合、試験画
面の背景色を変える。また、教示装置１０は、この場合、認証画面を表示してユーザー認
証を行う。これらにより、教示装置１０は、高速動作速度による動作試験が意図せずに行
われることを抑制することができる。
【０１０７】
以下、図１４を参照し、所定の条件が満たされることにより動作モード切替部２３が教
示装置１０の動作モードを第２モードから第１モードに切り替える処理について説明する
。図１４は、所定の条件が満たされることにより動作モード切替部２３が教示装置１０の
動作モードを第２モードから第１モードに切り替える処理の流れの一例を示すフローチャ
ートである。なお、図１４に示したフローチャートでは、教示装置１０の動作モードが予
め第２モードである場合について説明する。
【０１０８】
動作モード切替部２３は、所定の条件が満たされるまで待機する（ステップＳ４００）
。所定の条件が満たされた場合（ステップＳ４００−Ｙｅｓ）、動作モード切替部２３は
、教示装置１０の動作モードを第２モードから第１モードに切り替え（ステップＳ４１０
）、処理を終了する。
【０１０９】
このように、動作モードが第２モードである教示装置１０は、所定の条件が満たされた
場合、動作モードを第２モードから第１モードに切り替える。これにより、教示装置１０
は、高速動作速度による動作試験を意図せずして行ってしまうことを抑制することができ
る。
【０１１０】
なお、教示装置１０は、図５〜図１０において説明したユーザーにより行われるプログ
ラムエディターＥＳを介した動作プログラムの作成を制御部１８が支援する処理と、図１
１〜図１４において説明した教示装置１０の動作モードが第２モードに切り替えられた際
の制御部１８の処理、及び所定の条件が満たされることにより動作モード切替部２３が教
示装置１０の動作モードを第２モードから第１モードに切り替える処理とのうちいずれか
一方を行う構成であってもよい。
【０１１１】
教示装置１０が、図５〜図１０において説明したユーザーにより行われるプログラムエ
ディターＥＳを介した動作プログラムの作成を制御部１８が支援する処理を行い、図１１
〜図１４において説明した教示装置１０の動作モードが第２モードに切り替えられた際の
制御部１８の処理、及び所定の条件が満たされることにより動作モード切替部２３が教示
装置１０の動作モードを第２モードから第１モードに切り替える処理を行わない場合、制
御部１８は、例えば、図３に示した機能部のうち、表示制御部２０と、言語解析部２１と
、通信制御部２２と、ロボット制御部２６と、判定部２７を備える。
【０１１２】
一方、教示装置１０が、図５〜図１０において説明したユーザーにより行われるプログ
ラムエディターＥＳを介した動作プログラムの作成を制御部１８が支援する処理を行わず
、図１１〜図１４において説明した教示装置１０の動作モードが第２モードに切り替えら
れた際の制御部１８の処理、及び所定の条件が満たされることにより動作モード切替部２
３が教示装置１０の動作モードを第２モードから第１モードに切り替える処理を行う場合
、制御部１８は、例えば、図３に示した機能部のうち、表示制御部２０と、動作モード切
替部２３と、認証部２４と、動作速度設定部２５と、ロボット制御部２６を備える。
【０１１３】
以上説明したように、実施形態における教示装置１０（又は、教示装置１０を備えるロ
ボットシステム１）は、動作プログラムへの入力語が言語解析された結果に基づく情報を
表示する。これにより、教示装置１０は、ユーザーが行うプログラムの編集作業を容易に
することができる。
【０１１４】
また、教示装置１０は、入力語が予約語の文字列を構成する１以上の文字の大文字と小
文字を入れ替えた語である場合、当該予約語と一致する語を、動作プログラムへの入力語
が言語解析された結果に基づく情報として表示する。これにより、教示装置１０は、例え
ば、ユーザーが予約語に一致する入力語を入力しようとした場合であり、且つ大文字と小
文字を誤入力してしまった場合であっても、入力語を予約語に一致させることができる。
その結果、教示装置１０は、予約語と一致する語の大文字と小文字の誤入力を抑制するこ
とができる。
【０１１５】
また、教示装置１０は、入力語が予約語の文字列と一致する場合に、入力語の文字色と
背景色のうちの一方又は両方を所定の色とした語及び背景を、プログラムへの入力語が言
語解析された結果に基づく情報として表示する。これにより、教示装置１０は、例えば、
予約語と一致する語を強調することができる。その結果、教示装置１０は、プログラムを
見やすくすること等のプログラムの作成を支援することができる。
【０１１６】
また、教示装置１０は、入力語の文字列が予約語の文字列と一致する場合に、当該予約
語により構成される命令文の規定書式を表示する。これにより、教示装置１０は、命令文
の書式をユーザーが誤入力してしまうことを抑制することができる。
【０１１７】
また、教示装置１０は、入力語の文字列が予約語の文字列と一致する場合に、当該予約
語に対応するロボットの動作に関するパラメーター（この一例において、引数や変数）の
リストを表示する。これにより、教示装置１０は、入力された予約語に対応するロボット
の動作に関するパラメーターをユーザーが誤入力してしまうことを抑制することができる
。
【０１１８】
また、教示装置１０は、教示装置１０が有する言語解析機能と、ロボット制御装置が有
する言語解析機能とのうちバージョンが新しい言語解析機能の方を用いて、入力語が言語
解析された結果に基づく情報を表示する。これにより、教示装置１０は、常に新しい言語
解析機能によって、プログラムの編集を容易にすることができる。
【０１１９】
また、教示装置１０は、第２モードを選択した場合、表示部１５に認証画面が表示され
る。これにより、教示装置１０は、第２モードによる動作試験を行うことができないユー
ザーが第２モードによる動作試験を行ってしまうことを抑制することができる。その結果
、教示装置１０は、意図せずに高速動作速度によってロボット５０が動作させられてしま
うことを抑制することができる。
【０１２０】
また、教示装置１０は、第２モードを選択した場合、第１モードを選択した場合に表示
部に表示される試験画面（この一例において、試験画面Ｐ２）とは異なる試験画面（この
一例において、試験画面Ｐ３）を表示部１５に表示させる。これにより、教示装置１０は
、意図せずに高速動作速度によってロボット５０を動作させてしまうことを抑制すること
ができる。
【０１２１】
また、教示装置１０は、第２モードを選択した場合、第１モードを選択した場合に表示
部に表示される画面とは、配色、形状、配置、表示情報のうち少なくともいずれか１つが
異なる画面を表示部に表示させる。これにより、教示装置１０は、ユーザーに対して、配
色、形状、配置、表示情報のうち少なくともいずれか１つによって現在の動作モードが第
２モードであることを認識させることができる。
【０１２２】
また、教示装置１０は、第２操作部１７が押下されている時のみ、第２モードによって
ロボット５０を動作させることが可能である。これにより、教示装置１０は、ユーザーが
意図的に第２操作部１７を押下している状態でのみ、第２モードによってロボットを動作
させることができる。
【０１２３】
また、教示装置１０は、第２モードによってロボット５０を動作させている際に第２操
作部１７の押下を解除した場合、ロボット５０の動作速度を第１閾値以下である通常動作
速度に変更する。これにより、教示装置１０は、第２操作部１７の押下を解除することに
より、ロボット５０の動作速度を遅くすることができる。
【０１２４】
また、教示装置１０は、第２モードが選択されている際に、所定時間（この一例におい
て、所定の待機時間）操作が行われない場合、ロボット５０の動作速度を第１閾値以下に
変更する。これにより、教示装置１０は、ロボット５０の動作速度が高速動作速度に設定
されていたことをユーザーが忘れてロボット５０を動作させてしまうことを抑制すること
ができる。
【０１２５】
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実
施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等
されてもよい。
【０１２６】
また、以上に説明した装置（例えば、教示装置１０や制御装置３０）における任意の構
成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記
録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよ
い。なお、ここでいう「コンピューターシステム」とは、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓ
ｙｓｔｅｍ）や周辺機器等のハードウェアを含むものとする。また、「コンピューター読
み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ（Ｒｅａ
ｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ）−ＲＯＭ等の可搬媒
体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さ
らに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワーク
や電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアント
となるコンピューターシステム内部の揮発性メモリー（ＲＡＭ：Ｒａｎｄｏｍ  Ａｃｃｅ
ｓｓ  Ｍｅｍｏｒｙ）のように、一定時間プログラムを保持しているものも含むものとす
る。
【０１２７】
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシ
ステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータ
ーシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インタ
ーネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を
伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい
。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録さ
れているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プロ
グラム）であってもよい。
【符号の説明】
【０１２８】
１  ロボットシステム、１０  教示装置、１１  ＣＰＵ、１２  記憶部、１３  入力受付
部、１４、３４  通信部、１５  表示部、１６  第１操作部、１７  第２操作部、１８、
３８  制御部、２０  表示制御部、２１、４１  言語解析部、２２、４２  通信制御部、
２３  動作モード切替部、２４  認証部、２５  動作速度設定部、２６、４６  ロボット
制御部、２７  判定部
【図１】
2017016231.tif 000003
【図２】
2017016231.tif 000004
【図３】
2017016231.tif 000005
【図４】
2017016231.tif 000006
【図５】
2017016231.tif 000007
【図６】
2017016231.tif 000008
【図７】
2017016231.tif 000009
【図８】
2017016231.tif 000010
【図９】
2017016231.tif 000011
【図１０】
2017016231.tif 000012
【図１１】
2017016231.tif 000013
【図１２】
2017016231.tif 000014
【図１３】
2017016231.tif 000015
【図１４】
2017016231.tif 000016