(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-14
(45)【発行日】2024-02-22
(54)【発明の名称】ロボットのプログラム作成支援装置
(51)【国際特許分類】
B25J 9/22 20060101AFI20240215BHJP
G05B 19/42 20060101ALI20240215BHJP
【FI】
B25J9/22 A
G05B19/42 D
(21)【出願番号】P 2019226292
(22)【出願日】2019-12-16
【審査請求日】2022-10-03
(73)【特許権者】
【識別番号】501428545
【氏名又は名称】株式会社デンソーウェーブ
(74)【代理人】
【識別番号】100121821
【氏名又は名称】山田 強
(74)【代理人】
【識別番号】100125575
【氏名又は名称】松田 洋
(72)【発明者】
【氏名】由井 大介
(72)【発明者】
【氏名】鈴木 俊孝
(72)【発明者】
【氏名】三間 優人
(72)【発明者】
【氏名】松堂 杏菜
【審査官】神山 貴行
(56)【参考文献】
【文献】特開2018-051653(JP,A)
【文献】特開2017-228210(JP,A)
【文献】特開2019-188530(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00-21/02
G05B 19/18-19/416
G05B 19/42-19/46
(57)【特許請求の範囲】
【請求項1】
ロボットに対応した位置に前記ロボットの動作軌道を表示する表示部を備え、前記ロボットを移動させる各移動命令、及び条件に応じて前記動作軌道を分岐させる分岐命令を含むプログラムの作成を、前記表示部を用いて支援する支援装置であって、
前記ロボットの各移動元位置から各目標位置までの各動作軌道により、前記各移動命令を表示する第1処理部と、
前記各移動命令を表示する前記各動作軌道に各識別符号を付与し
て前記各識別符号を表示し、
前記分岐命令により前記動作軌道が分岐した後に同一の
目標位置へ移動させる移動命令を表示する異なる複数の前記動作軌道に同一の識別符号を付与する第2処理部と、
を備えるロボットのプログラム作成支援装置。
【請求項2】
前記表示部の所定表示領域において、前記各移動命令及び前記分岐命令を含む命令を、編集可能にフローチャートで表示する第3処理部を備え、
前記第1処理部は、前記各移動命令を表示する前記各動作軌道を編集可能とし、
前記第2処理部は、前記フローチャートにおいて、前記各動作軌道に対応する前記各移動命令に、前記各動作軌道に付与された前記各識別符号と同一の識別符号を付与し、
前記各移動命令を表示する前記各動作軌道が編集された場合に、前記フローチャートにおいて、前記編集された前記各動作軌道に付与された前記各識別符号と同一の識別符号が付与された前記各移動命令に、前記各動作軌道が編集された結果を反映する第4処理部を備える、請求項1に記載のロボットのプログラム作成支援装置。
【請求項3】
前記第4処理部は、前記フローチャートにおいて前記各移動命令が編集された場合に、前記編集された前記各移動命令に付与された前記各識別符号と同一の識別符号が付与された前記各動作軌道に、前記各移動命令が編集された結果を反映する、請求項2に記載のロボットのプログラム作成支援装置。
【請求項4】
前記第3処理部は、前記フローチャートにおいて前記各移動命令を選択可能に表示し、
前記第1処理部は、前記フローチャートにおいていずれかの前記移動命令が選択された場合に、選択された前記移動命令に付与された前記識別符号と同一の識別符号が付与された前記動作軌道を、選択されたことを表す状態で表示する、請求項2又は3に記載のロボットのプログラム作成支援装置。
【請求項5】
前記第1処理部は、前記各動作軌道を選択可能に表示し、
前記第3処理部は、前記各移動命令を表示する前記各動作軌道のいずれかが選択された場合に、選択された前記動作軌道に付与された前記識別符号と同一の識別符号が付与された前記移動命令を、前記フローチャートにおいて選択されたことを表す状態で表示する、請求項2~4のいずれか1項に記載のロボットのプログラム作成支援装置。
【請求項6】
前記第1処理部は、前記各移動命令を表示する前記各動作軌道のいずれかが選択された場合に、選択された前記動作軌道に付与された前記識別符号と同一の識別符号が付与された全ての前記動作軌道を、選択されたことを表す状態で表示する、請求項5に記載のロボットのプログラム作成支援装置。
【請求項7】
前記第2処理部は、前記各動作軌道に付与された前記各識別符号を編集可能とする、請求項1~6のいずれか1項に記載のロボットのプログラム作成支援装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットのプラグラム作成を支援する支援装置に関する。
【背景技術】
【0002】
従来、ロボットの動作を作業者に対して適切に認識させるために、ロボットの動作軌跡、分岐元位置、及び分岐先位置を、視覚的に把握可能な図形で、ロボットと重なるように表示する装置がある(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、特許文献1に記載の装置では、動作軌道が分岐した後、ロボットを同一の目標位置へ移動させる移動命令が、異なる複数の動作軌道として表示される。このため、同一の移動命令が、異なる複数の移動命令であると誤認識されるおそれがある。
【0005】
本発明は、上記課題を解決するためになされたものであり、その主たる目的は、ロボットの各移動命令を各動作軌道により表示するプログラム作成支援装置において、各移動命令の誤認識を抑制することにある。
【課題を解決するための手段】
【0006】
上記課題を解決するための第1の手段は、
ロボットに対応した位置に前記ロボットの動作軌道を表示する表示部を備え、前記ロボットを移動させる各移動命令、及び条件に応じて前記動作軌道を分岐させる分岐命令を含むプログラムの作成を、前記表示部を用いて支援する支援装置であって、
前記ロボットの各移動元位置から各目標位置までの各動作軌道により、前記各移動命令を表示する第1処理部と、
前記各移動命令を表示する前記各動作軌道に各識別符号を付与し、同一の移動命令を表示する異なる複数の前記動作軌道に同一の識別符号を付与する第2処理部と、
を備える。
【0007】
上記構成によれば、表示部は、ロボットに対応した位置にロボットの動作軌道を表示する。ロボットのプログラム作成支援装置は、ロボットを移動させる各移動命令、及び条件に応じて動作軌道を分岐させる分岐命令を含むプログラムの作成を、表示部を用いて支援する。
【0008】
ここで、第1処理部は、ロボットの各移動元位置から各目標位置までの各動作軌道により、各移動命令を表示する。このため、分岐命令により動作軌道が分岐した後の移動命令は、同一の移動命令が異なる複数の動作軌道として表示される。この点、第2処理部は、各移動命令を表示する各動作軌道に各識別符号を付与し、同一の移動命令を表示する異なる複数の動作軌道に同一の識別符号を付与する。このため、ロボットのプログラム作成支援装置は、識別符号に基づいて、同一の移動命令を表示する異なる複数の動作軌道を、同一の移動命令であると認識することができる。したがって、ロボットの各移動命令を各動作軌道により表示するプログラム作成支援装置において、各移動命令の誤認識を抑制することができる。
【0009】
第2の手段では、
前記表示部の所定表示領域において、前記各移動命令及び前記分岐命令を含む命令を、編集可能にフローチャートで表示する第3処理部を備え、
前記第1処理部は、前記各移動命令を表示する前記各動作軌道を編集可能とし、
前記第2処理部は、前記フローチャートにおいて、前記各動作軌道に対応する前記各移動命令に、前記各動作軌道に付与された前記各識別符号と同一の識別符号を付与し、
前記各移動命令を表示する前記各動作軌道が編集された場合に、前記フローチャートにおいて、前記編集された前記各動作軌道に付与された前記各識別符号と同一の識別記号が付与された前記各移動命令に、前記各動作軌道が編集された結果を反映する第4処理部を備える。
【0010】
上記構成によれば、表示部の所定表示領域において、第3処理部は、各移動命令及び分岐命令を含む命令を、編集可能にフローチャートで表示する。このため、作業者は、フローチャートで表示された各移動命令及び分岐命令を含む命令を編集して、プログラムを作成することができる。また、第1処理部は、各移動命令を表示する各動作軌道を編集可能とする。このため、作業者は、各移動命令を表示する各動作軌道を編集して、各動作軌道を調整することができる。
【0011】
第2処理部は、フローチャートにおいて、各動作軌道に対応する各移動命令に、各動作軌道に付与された各識別符号と同一の識別符号を付与する。このため、各移動命令を表示する各動作軌道とフローチャートにおける各移動命令とを、識別符号により対応付けることができる。ここで、第4処理部は、各移動命令を表示する各動作軌道が編集された場合に、フローチャートにおいて、編集された各動作軌道に付与された各識別符号と同一の識別符号が付与された各移動命令に、各動作軌道が編集された結果を反映する。このため、作業者は、各移動命令を表示する各動作軌道を編集することによって、フローチャートにおいて識別符号により対応付けられた各移動命令を編集することができる。さらに、同一の移動命令を表示する異なる複数の動作軌道に同一の識別符号が付与されているため、同一の移動命令を表示する異なる複数の動作軌道のいずれを編集しても、識別符号により対応付けられた移動命令を編集することができる。
【0012】
第3の手段では、前記第4処理部は、前記フローチャートにおいて前記各移動命令が編集された場合に、前記編集された前記各移動命令に付与された前記各識別符号と同一の識別符号が付与された前記各動作軌道に、前記各移動命令が編集された結果を反映する。こうした構成によれば、作業者は、フローチャートにおいて各移動命令を編集することによって、識別符号により対応付けられた各動作軌道を編集することができる。さらに、同一の移動命令を表示する異なる複数の動作軌道に同一の識別符号が付与されているため、フローチャートにおいて各移動命令を編集すれば、識別符号により対応付けられた同一の移動命令を表示する異なる複数の動作軌道を共に編集することができる。
【0013】
第4の手段では、前記第3処理部は、前記フローチャートにおいて前記各移動命令を選択可能に表示し、前記第1処理部は、前記フローチャートにおいていずれかの前記移動命令が選択された場合に、選択された前記移動命令に付与された前記識別符号と同一の識別符号が付与された前記動作軌道を、選択されたことを表す状態で表示する。
【0014】
上記構成によれば、第3処理部は、フローチャートにおいて各移動命令を選択可能に表示する。このため、作業者は、フローチャートにおいて、編集したい移動命令を選択することができる。第1処理部は、フローチャートにおいていずれかの移動命令が選択された場合に、選択された移動命令に付与された識別符号と同一の識別符号が付与された動作軌道を、選択されたことを表す状態で表示する。このため、作業者は、フローチャートにおいて移動命令を選択した場合に、選択した移動命令を表示する動作軌道を把握し易くなる。さらに、同一の移動命令を表示する異なる複数の動作軌道に同一の識別符号が付与されている。このため、複数の動作軌道に対応する移動命令を選択した場合に、選択した移動命令を表示する複数の動作軌道を全て、選択されたことを表す状態で表示することができる。したがって、作業者は、各移動命令と各動作軌道との対応を把握し易くなる。
【0015】
第5の手段では、前記第1処理部は、前記各動作軌道を選択可能に表示し、前記第3処理部は、前記各移動命令を表示する前記各動作軌道のいずれかが選択された場合に、選択された前記動作軌道に付与された前記識別符号と同一の識別符号が付与された前記移動命令を、前記フローチャートにおいて選択されたことを表す状態で表示する。
【0016】
上記構成によれば、第1処理部は、各動作軌道を選択可能に表示する。このため、作業者は、編集したい動作軌道を選択することができる。第3処理部は、各移動命令を表示する各動作軌道のいずれかが選択された場合に、選択された動作軌道に付与された識別符号と同一の識別符号が付与された移動命令を、フローチャートにおいて選択されたことを表す状態で表示する。このため、作業者は、各移動命令を表示する各動作軌道のいずれかを選択した場合に、選択した動作軌道に対応する移動命令をフローチャートにおいて把握し易くなる。さらに、同一の移動命令を表示する異なる複数の動作軌道に同一の識別符号が付与されている。このため、同一の移動命令を表示する異なる複数の動作軌道のいずれを選択しても、選択した動作軌道に識別符号により対応付けられた移動命令を、フローチャートにおいて選択されたことを表す状態で表示することができる。したがって、作業者は、各動作軌道と各移動命令との対応を把握し易くなる。
【0017】
第6の手段では、前記第1処理部は、前記各移動命令を表示する前記各動作軌道のいずれかが選択された場合に、選択された前記動作軌道に付与された前記識別符号と同一の識別符号が付与された全ての前記動作軌道を、選択されたことを表す状態で表示する。こうした構成によれば、同一の移動命令を表示する異なる複数の動作軌道のいずれかを選択した場合に、選択した動作軌道と同一の識別符号が付与された全ての動作軌道を、選択されたことを表す状態で表示することができる。したがって、作業者は、同一の移動命令を表示する全ての動作軌道を把握し易くなる。
【0018】
例えば、共通の目標位置へ移動する異なる複数の動作軌道を、作業者が異なる複数の移動命令にそれぞれ対応させたい場合があり得る。
【0019】
この点、第7の手段では、前記第2処理部は、前記各動作軌道に付与された前記各識別符号を編集可能とする。したがって、作業者は、動作軌道に付与された識別符号を編集することにより、動作軌道と移動命令との対応を変更することができる。
【図面の簡単な説明】
【0020】
【
図2】プログラム完成までの工程を示すフローチャート。
【
図5】
図4に対応する3次元フローチャートを示す模式図。
【
図7】2次元フローチャートにおける移動命令の編集と、3次元フローチャートへの編集結果の反映とを示す模式図。
【
図8】3次元フローチャートにおける動作軌道を表す矢印の編集と、2次元フローチャートへの編集結果の反映とを示す模式図。
【発明を実施するための形態】
【0021】
以下、機械組立工場などで用いられるロボットシステムに具現化した一実施形態について、図面を参照しつつ説明する。
図1に示すように、ロボットシステム100は、ロボット10、コントローラ20、及びティーチングペンダント30等を備えている。
【0022】
ロボット10は、例えば6軸の垂直多関節型ロボットである。ロボット10では、各軸に設けられているモータによって、各軸のアームが駆動される。第6軸アームの先端部に取り付けられたハンド(ツール)等により、作業対象物であるワークに対して作業が行われる。
【0023】
コントローラ20(制御装置)は、ロボット10を制御する主体であり、CPU、ROM、RAM、入出力インターフェース等を有するマイクロコンピュータを備えている。コントローラ20は、例えばROM等の記憶部に記憶しているプログラムを実行することにより、ロボット10を動作させる。コントローラ20は、ティーチングペンダント30から、作業者により作成されたプログラムを記憶部に読み込む。また、コントローラ20は、作業者が操作するティーチングペンダント30からの指示に応じて、ロボット10を動作させる。
【0024】
コントローラ20は、ロボット10の動作状態、例えばロボット10の現時点での目標位置がどこであるか、どのような動作軌跡を描いて目標位置まで到達するか等の動作情報を把握している。また、コントローラ20は、上記プログラムを記憶および実行していることから、現時点で実行されている命令や、その命令の後に実行される命令を把握している。コントローラ20は、ロボット10の動作状態を示す各種の動作情報を、ティーチングペンダント30に出力する。
【0025】
ティーチングペンダント30(教示装置)は、コントローラ20と同様のマイクロコンピュータ、各種のキースイッチ、及びディスプレイ31(
図3参照)等を備えている。作業者は、キースイッチにより種々の入力操作を行う。ディスプレイ31(表示部)には、例えばポインタが表示されており、作業者はポインタを移動させて画面上のアイコン等を選択可能である。また、ディスプレイ31は、作業者の操作を検知可能なタッチパネルになっている。作業者は、タッチパネルをタッチすることにより、画面上のアイコン等を選択可能である。また、作業者は、ディスプレイ31に表示されたポインタをマウスにより移動させてクリック操作を行うことによっても、画面上のアイコン等を選択可能である。
【0026】
作業者は、ティーチングペンダント30(ロボットのプログラム作成支援装置)を操作して、プログラムの作成を行うことができる。ティーチングペンダント30は、作成されたプログラム及びコントローラ20から出力されたロボット10の動作状態に基づいて、ロボット10のシミュレーション画像及び動作軌道を作成し、ディスプレイ31に表示する。ティーチングペンダント30は、第1処理部、第2処理部、第3処理部、及び第4処理部の機能を実現する。
【0027】
図2は、プログラム完成までの工程を示すフローチャートである。この一連の工程は、ティーチングペンダント30を用いて作業者によって行われる。
【0028】
同図に示すように、まずプログラムの作成及び編集を行う。プログラムは、ロボット10を移動させる各移動命令と、各移動命令でない非移動命令とを含んでいる。作業者は、これらの命令を順に設定することでプログラムを作成する。また、作成したプログラムの実行結果等に基づいて、プログラムを編集する。この工程の工数割合は、プログラム完成までの全工数に対して約50%である。
【0029】
続いて、ロボット10に実行させる作業に基づいて、ロボット10の各目標位置を教示する。作業者は、プログラム中の各移動命令の各目標位置を直接記述するか、ロボット10のシミュレーション画像において各目標位置を指示することにより、各目標位置を教示する。この工程の工数割合は、プログラム完成までの全工数に対して約30%である。
【0030】
続いて、プログラムの実行及び確認を行う。作業者は、プログラムを実行させることによりロボット10を実際に動作させるか、シミュレーション画像においてロボット10の動作を確認することにより、プログラムの実行及び確認を行う。この工程の工数割合は、プログラム完成までの全工数に対して約20%である。
【0031】
本実施形態のプログラム作成支援では、これらの全ての工程を支援する。すなわち、ティーチングペンダント30は、ロボット10の動作を認識可能とすることに限らず、プログラムの作成及び編集、目標位置の教示についても支援する。
【0032】
図3は、ディスプレイ31に表示された画像を示す図である。ディスプレイ31の左領域32(所定表示領域)には、ロボット10のプログラムを表す2次元フローチャート(2Dフロー)が表示されている。なお、ロボット10のプログラムは、数千行に及ぶ命令により記述されることがある。
【0033】
「命令」は、ロボット10を移動させる各移動命令や、各移動命令でない非移動命令を含んでいる。移動命令は、ロボット10の制御点(第6軸アームの先端部)を、目標位置まで移動させる命令である。非移動命令は、「Wait」等の待機命令や、IOポートにON又はOFFを出力する出力命令等を含んでいる。「判断」は、各種条件を判断する判断命令である。例えば、判断命令(分岐命令)は、「条件1」を満たす場合に「条件1」の下に記述された移動命令等を実行させ、「条件2」を満たす場合に「条件2」の下に記述された移動命令等を実行させる。すなわち、判断命令は、条件に応じてその後に実行される移動命令を指示することにより、動作軌道を分岐させる。アイコン33,34は、それぞれ判断命令の開始と終了とを示している。すなわち、ティーチングペンダント30(第3処理部)は、ディスプレイ31の左領域32において、各移動命令及び判断命令を含む命令を、編集可能に2次元フローチャート(フローチャート)で表示する。
【0034】
ディスプレイ31において左領域32以外の領域には、ロボット10の画像10Aと共に、各移動命令を表示する各動作軌道L1~L6等が表示されている。表示する動作軌道の範囲は、作業者が指定することができる。例えば丸印P0は、ロボット10の動作開始位置である。丸印P1~P5等は、ロボット10の各移動命令(Move)の各目標位置である。菱印Jは、判断命令を表示している。すなわち、各動作軌道L1~L6、丸印P1~P5、及び菱印J等により、3次元フローチャート(3Dフロー)が構成されている。
【0035】
図4は、2次元フローチャートを示す模式図である。2次元フローチャートで表示される一連の処理は、ティーチングペンダント30により実行される。
【0036】
「条件分岐」は、例えば条件1を満たすか否かに応じて、その後に実行する移動命令(Move P1、又はMove P2)を指示する判断命令である。そして、「条件分岐」において条件1を満たす場合に、「Move P1」を実行する。「Move P1」は、ロボット10の制御点を、目標位置P1まで移動させる移動命令である。
【0037】
一方、「条件分岐」において条件1を満たさない場合に、「Move P2」を実行する。「Move P2」は、ロボット10の制御点を、目標位置P2まで移動させる移動命令である。
【0038】
そして、「Move P1」又は「Move P2」を実行した後に、移動命令(Move P3)を実行する。「Move P3」は、ロボット10の制御点を、目標位置P3まで移動させる移動命令である。
【0039】
ここで、ティーチングペンダント30(第2処理部)は、各移動命令に各ID(各識別符号)を付与する。例えば、「Move P1」,「Move P2」,「Move P3」には、それぞれIDとして「1」,「2」,「3」が付与されている。IDは、各移動命令を特定することのできる符号であればよく、数字、文字等によって構成されている。
【0040】
図5は、
図4に対応する3次元フローチャートを示す模式図である。3次元フローチャートで表示される一連の処理は、ティーチングペンダント30により実行される。
【0041】
「条件分岐」は、
図4の「条件分岐」と同様である。各矢印は、各移動命令を表示している。詳しくは、各矢印の根元位置は、各移動命令の各移動元位置を表示している。各矢印の先端位置は、各移動命令の各目標位置を表示している。各矢印の直線部分(線部分)は、各移動命令によるロボット10の動作軌道を表示している。すなわち、ティーチングペンダント30(第1処理部)は、ロボット10の各移動元位置から各目標位置までの各動作軌道により、各移動命令を表示する。
【0042】
ここで、ティーチングペンダント30(第2処理部)は、各移動命令を表示する各矢印(各動作軌道)に各ID(各識別符号)を付与する。
図4の各移動命令に付与したIDと、
図5の各矢印に付与したIDとは対応している。すなわち、ティーチングペンダント30は、
図4の各移動命令に対応する
図5の各矢印に、各動移動命令に付与された各IDと同一のIDを付与する。そして、ティーチングペンダント30は、同一の移動命令を表示する異なる複数の(別々の)矢印に同一のIDを付与する。例えば、ID「3」の移動命令「Move P3」を表示する破線の矢印A1,A2に、同一のIDである「3」を付与する。なお、ティーチングペンダント30は、
図4の2次元フローチャートにおいて、
図5の各矢印に対応する各移動命令に、
図5の各矢印に付与された各IDと同一のIDを付与するともいえる。
【0043】
図6は、プログラム作成の手順を示す模式図である。ティーチングペンダント30は、作業者によるプログラムの作成を支援する。
【0044】
「1、初期状態」において、2次元フローチャート(2Dフロー)には、処理の開始を表す「Start」と、処理の終了を表す「End」とが表示されている。3次元フローチャート(3Dフロー)には、ロボット10の画像10Aが表示されている。
【0045】
「2、命令追加」において、作業者がマウス操作により、ディスプレイ31に表示された「移動命令追加」のアイコン36にポインタ40を合わせてクリック(実行)する。これにより、2次元フローチャートには、移動命令「Move P1」が追加される。移動命令の目標位置P1は、後述する手順により作業者が入力する。3次元フローチャートには、移動命令「Move P1」を表示する矢印51が追加される。矢印51の先端は、目標位置P1に対応している。
【0046】
ここで、ティーチングペンダント30(第2処理部)は、2次元フローチャートにおける移動命令「Move P1」と、3次元フローチャートにおいて移動命令「Move P1」を表示する矢印51とに、同一のIDを付与する。さらに、
図4,5に示したように、「条件分岐」の後にそれぞれ移動命令「Move P1」,「Move P2」を実行した場合は、同一の移動命令「Move P3」を表示する矢印A1,A2が生じる。その場合、移動命令「Move P3」、及び同一の移動命令「Move P3」を表示する矢印A1,A2に、同一のIDである「3」を付与する。
【0047】
「3、命令追加」において、作業者がマウス操作により、ディスプレイ31に表示された「移動命令追加」のアイコン36にポインタ40を合わせてクリックする。これにより、2次元フローチャートには、移動命令「Move P2」が追加される。3次元フローチャートには、移動命令「Move P2」を表示する矢印52が追加される。矢印52の先端は、目標位置P2に対応している。移動命令及び矢印にIDを付与する方法は、「2、命令追加」と同様であるが、これまでに付与したIDと異なるIDを付与する。
【0048】
図7は、2次元フローチャートにおける移動命令の編集と、3次元フローチャートへの編集結果の反映とを示す模式図である。
【0049】
ティーチングペンダント30(第3処理部)は、2次元フローチャートにおいて各移動命令を選択可能に表示する。ここでは、移動命令「Move P2」が選択された状態になっている。そして、ティーチングペンダント30(第1処理部)は、2次元フローチャートにおいていずれかの移動命令が選択された場合に、3次元フローチャートにおいて、選択された移動命令に付与されたIDと同一のIDが付与された矢印を、選択されたことを表す状態で表示する。
【0050】
例えば、2次元フローチャートにおいて移動命令「Move P2」が選択されており、3次元フローチャートにおいて、選択された移動命令「Move P2」に付与されたIDと同一のIDが付与された矢印52が、他の矢印51,53よりも太い矢印で表示されている。さらに、複数の矢印に対応する移動命令を選択した場合は、選択した移動命令を表示する複数の矢印を全て、選択されたことを表す状態で表示する。なお、矢印52の色を、他の矢印51,53の色と異なる色にしてもよい。
【0051】
ティーチングペンダント30(第4処理部)は、2次元フローチャートにおいて各移動命令が編集された場合に、3次元フローチャートにおいて、編集された各移動命令に付与された各IDと同一のIDが付与された各矢印に、各移動命令が編集された結果を反映する。例えば、2次元フローチャートにおいて移動命令「Move P2」が選択されると、ティーチングペンダント30(第3処理部)は、ディスプレイ31にウインドウW1を表示する。ウインドウW1は、移動命令「Move P2」の目標位置P2の座標X,Y,Zの入力欄と、角度RX,RY,RZの入力欄とを含む。作業者は、これらの入力欄に数字を入力することにより、目標位置P2を変更(設定)する、すなわち移動命令「Move P2」を編集する。
【0052】
そして、作業者が目標位置P2の座標X,Y,Z、角度RX,RY,RZを変更することにより、3次元フローチャートに示すように、ティーチングペンダント30は、移動命令「Move P2」を表示する矢印52の先端位置を変更する。これに伴って、ティーチングペンダント30は、矢印53の根元位置、すなわち移動命令「Move P3」の移動元位置を変更する。なお、移動命令「Move P3」の目標位置P3は変更されていないため、矢印53の先端位置は変更されていない。
【0053】
図8は、3次元フローチャートにおける動作軌道を表す矢印の編集と、2次元フローチャートへの編集結果の反映とを示す模式図である。
【0054】
ティーチングペンダント30(第1処理部)は、3次元フローチャートにおいて各矢印51~53を選択可能及び編集可能に表示する。そして、ティーチングペンダント30(第3処理部)は、各移動命令を表示する各矢印のいずれかが選択された場合に、選択された矢印に付与されたIDと同一のIDが付与された移動命令を、2次元フローチャートにおいて選択されたことを表す状態で表示する。
【0055】
例えば、移動命令「Move P2」を表示する矢印52が選択されており、選択された矢印52に付与されたIDと同一のIDが付与された移動命令「Move P2」が、2次元フローチャートにおいて他の命令を囲む枠よりも太い枠で囲まれて表示されている。なお、「Move P2」を囲む枠の色を、他の命令を囲む枠の色と異なる色にしてもよい。
【0056】
さらに、ティーチングペンダント30は、各移動命令を表示する各矢印のいずれかが選択された場合に、選択された矢印に付与されたIDと同一のIDが付与された全ての矢印を、選択されたことを表す状態で表示する。例えば、
図5において、移動命令「Move P3」を表示する矢印A1が選択された場合に、選択された矢印A1に付与されたIDである「3」と同一のIDである「3」が付与された矢印A2を、選択されたことを表す状態で表示する。
【0057】
ティーチングペンダント30(第4処理部)は、各移動命令を表示する矢印が編集された場合に、2次元フローチャートにおいて、編集された矢印に付与されたIDと同一のIDが付与された各移動命令に、各矢印が編集された結果を反映する。例えば、作業者は、3次元フローチャートにおいて矢印52の先端をドラッグして位置を変更することにより、目標位置P2を変更(設定)する、すなわち移動命令「Move P2」を表示する矢印52を編集する。これに伴って、ティーチングペンダント30は、矢印53の根元位置、すなわち移動命令「Move P3」の移動元位置を変更する。なお、矢印53の先端位置は変更されていない。
【0058】
そして、3次元フローチャートに示すように、作業者が矢印52の先端位置を変更することにより、ティーチングペンダント30は、ウインドウW1において目標位置P2の座標X,Y,Z、角度RX,RY,RZの数字を変更する。すなわち、2次元フローチャートにおいて、矢印52に対応する移動命令「Move P2」を変更する。
【0059】
以上詳述した本実施形態は、以下の利点を有する。
【0060】
・ティーチングペンダント30(第1処理部)は、ロボット10の各移動元位置から各目標位置までの各動作軌道を表す各矢印により、各移動命令を表示する。このため、判断命令により動作軌道を表す矢印が分岐した後の移動命令「Move P3」は、同一の移動命令「Move P3」が異なる複数の矢印A1,A2として表示される。この点、ティーチングペンダント30(第2処理部)は、各移動命令を表示する各矢印に各IDを付与し、同一の移動命令「Move P3」を表示する異なる複数の矢印A1,A2に同一のID「3」を付与する。このため、ティーチングペンダント30(ロボットのプログラム作成支援装置)は、IDに基づいて、同一の移動命令「Move P3」を表示する異なる複数の矢印A1,A2を、同一の移動命令「Move P3」であると認識することができる。したがって、プログラム作成支援装置において、各移動命令の誤認識を抑制することができる。
【0061】
・ディスプレイ31の左領域32において、ティーチングペンダント30(第3処理部)は、各移動命令及び判断命令を含む命令を、編集可能に2次元フローチャートで表示する。このため、作業者は、2次元フローチャートで表示された各移動命令及び判断命令を含む命令を編集して、プログラムを作成することができる。また、ティーチングペンダント30(第1処理部)は、各移動命令を表示する各矢印51~53を編集可能とする。このため、作業者は、各移動命令を表示する各矢印51~53を編集して、各矢印51~53を調整することができる。
【0062】
・ティーチングペンダント30(第2処理部)は、2次元フローチャートにおいて、各矢印に対応する各移動命令に、各矢印に付与された各IDと同一のIDを付与する。このため、各移動命令を表示する各矢印と2次元フローチャートにおける各移動命令とを、IDにより対応付けることができる。ここで、ティーチングペンダント30(第4処理部)は、各移動命令を表示する各矢印51~53が編集された場合に、2次元フローチャートにおいて、編集された各矢印51~53に付与された各IDと同一のIDが付与された各移動命令に、各矢印51~53が編集された結果を反映する。このため、作業者は、各移動命令を表示する各矢印51~53を編集することによって、2次元フローチャートにおいてIDにより対応付けられた各移動命令を編集することができる。
【0063】
・同一の移動命令「Move P3」を表示する異なる複数の矢印A1,A2に同一のID「3」が付与されているため、同一の移動命令「Move P3」を表示する異なる複数の矢印A1,A2のいずれを編集しても、ID「3」により対応付けられた移動命令を編集することができる。
【0064】
・ティーチングペンダント30(第4処理部)は、2次元フローチャートにおいて各移動命令が編集された場合に、編集された各移動命令に付与された各IDと同一のIDが付与された各矢印51~53に、各移動命令が編集された結果を反映する。こうした構成によれば、作業者は、2次元フローチャートにおいて各移動命令を編集することによって、IDにより対応付けられた各矢印51~53を編集することができる。
【0065】
・同一の移動命令「Move P3」を表示する異なる複数の矢印A1,A2に同一のID「3」が付与されているため、2次元フローチャートにおいて各移動命令を編集すれば、ID「3」により対応付けられた同一の移動命令「Move P3」を表示する異なる複数の矢印A1,A2を共に編集することができる。
【0066】
・ティーチングペンダント30(第3処理部)は、2次元フローチャートにおいて各移動命令を選択可能に表示する。このため、作業者は、2次元フローチャートにおいて、編集したい移動命令を選択することができる。ティーチングペンダント30(第1処理部)は、2次元フローチャートにおいて移動命令「Move P2」が選択された場合に、選択された移動命令「Move P2」に付与されたIDと同一のIDが付与された矢印52を、選択されたことを表す状態で表示する。このため、作業者は、2次元フローチャートにおいて移動命令「Move P2」を選択した場合に、選択した移動命令「Move P2」を表示する矢印52を把握し易くなる。
【0067】
・同一の移動命令「Move P3」を表示する異なる複数の矢印A1,A2に同一のID「3」が付与されている。このため、複数の矢印A1,A2に対応する移動命令「Move P3」を選択した場合に、選択した移動命令「Move P3」を表示する複数の矢印A1,A2を全て、選択されたことを表す状態で表示することができる。したがって、作業者は、移動命令「Move P3」と矢印A1,A2との対応を把握し易くなる。
【0068】
・ティーチングペンダント30(第1処理部)は、矢印51~53を選択可能に表示する。このため、作業者は、編集したい矢印51~53を選択することができる。ティーチングペンダント30(第3処理部)は、移動命令「Move P2」を表示する矢印52が選択された場合に、選択された矢印52に付与されたIDと同一のIDが付与された移動命令「Move P2」を、2次元フローチャートにおいて選択されたことを表す状態で表示する。このため、作業者は、移動命令「Move P2」を表示する矢印52を選択した場合に、選択した矢印52に対応する移動命令「Move P2」を2次元フローチャートにおいて把握し易くなる。
【0069】
・同一の移動命令「Move P3」を表示する異なる複数の矢印A1,A2に同一のID「3」が付与されている。このため、同一の移動命令「Move P3」を表示する異なる複数の矢印A1,A2のいずれを選択しても、選択した矢印A1,A2にID「3」により対応付けられた移動命令「Move P3」を、2次元フローチャートにおいて選択されたことを表す状態で表示することができる。したがって、作業者は、矢印A1,A2と各移動命令との対応を把握し易くなる。
【0070】
・ティーチングペンダント30(第1処理部)は、各移動命令を表示する矢印A1,A2のいずれかが選択された場合に、選択された矢印A1,A2に付与されたID「3」と同一のID「3」が付与された全ての矢印A1,A2を、選択されたことを表す状態で表示する。こうした構成によれば、同一の移動命令「Move P3」を表示する異なる複数の矢印A1,A2のいずれかを選択した場合に、選択した矢印A1,A2と同一のID「3」が付与された全ての矢印A1,A2を、選択されたことを表す状態で表示することができる。したがって、作業者は、同一の移動命令「Move P3」を表示する全ての矢印A1,A2を把握し易くなる。
【0071】
なお、上記実施形態を、以下のように変更して実施することもできる。上記実施形態と同一の部分については、同一の符号を付すことにより説明を省略する。
【0072】
・例えば、
図5に示すように、共通の目標位置へ移動する異なる複数の動作軌道を表す矢印A1,A2を、作業者が異なる複数の移動命令にそれぞれ対応させたい場合があり得る。この点、ティーチングペンダント30(第2処理部)は、各矢印(各動作軌道)に付与された各IDを編集可能としてもよい。これにより、作業者は、矢印に付与されたIDを編集することにより、矢印と移動命令との対応を変更することができる。
【0073】
・ティーチングペンダント30(第1処理部)は、各移動命令を表示する矢印A1,A2のいずれかが選択された場合に、選択された矢印A1,A2に付与されたID「3」と同一のID「3」が付与された全ての矢印A1,A2を、選択されたことを表す状態で表示しなくてもよい。
【0074】
・ティーチングペンダント30(第3処理部)は、各移動命令を表示する矢印51~53のいずれかが選択された場合に、選択された矢印52に付与されたIDと同一のIDが付与された移動命令「Move P2」を、2次元フローチャートにおいて選択されたことを表す状態で表示しなくてもよい。例えば、ティーチングペンダント30は、各移動命令を表示する各矢印51~53が編集された場合に、2次元フローチャートにおいて、編集された各矢印51~53に付与された各IDと同一のIDが付与された各移動命令に、各矢印51~53が編集された結果を反映することのみ行ってもよい。
【0075】
・ティーチングペンダント30(第1処理部)は、2次元フローチャートにおいて移動命令「Move P2」が選択された場合に、選択された移動命令「Move P2」に付与されたIDと同一のIDが付与された矢印52を、選択されたことを表す状態で表示しなくてもよい。例えば、ティーチングペンダント30は、2次元フローチャートにおいて各移動命令が編集された場合に、編集された各移動命令に付与された各IDと同一のIDが付与された各矢印51~53に、各移動命令が編集された結果を反映することのみ行ってもよい。
【0076】
・各移動命令を矢印とは別の記号で表示してもよい。例えば、各移動命令を、動作軌道を表す直線(線)と目標位置の番号とで表示してもよい。
【0077】
・上記実施形態では、ティーチングペンダント30によりロボットのプログラム作成支援装置を実現した。これに対して、コントローラ20に接続されたPC(パーソナルコンピュータ)とモニタ(表示部)により、ロボットのプログラム作成支援装置を実現することもできる。
【0078】
・現実の景色に重ねて仮想画像を表示する眼鏡型表示装置において、ロボット10の動作軌道を表す矢印、各目標位置、及び判断命令を表す菱印J等を、ロボット10に対応した位置に表示することもできる。具体的には、ロボットのプログラム作成支援装置は、眼鏡型表示装置から作業者の視点位置を取得し、コントローラ20やティーチングペンダント30あるいは予め設定されているデータ等からロボット10の設置位置および姿勢を取得し、作業者の視点位置、ロボット10の設置位置および姿勢に基づいて、作業者の視野に重なるように仮想画像を表示する。
【0079】
・ロボット10は、垂直多関節型ロボットに限らず、水平多関節型ロボット等であってもよい。
【符号の説明】
【0080】
10…ロボット、20…コントローラ、30…ティーチングペンダント(ロボットのプログラム作成支援装置)、31…ディスプレイ(表示部)。