(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024004550
(43)【公開日】2024-01-17
(54)【発明の名称】プログラム生成装置、プログラム生成方法、およびプログラム
(51)【国際特許分類】
B25J 9/22 20060101AFI20240110BHJP
G05B 19/42 20060101ALI20240110BHJP
【FI】
B25J9/22 A
G05B19/42 D
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2022104172
(22)【出願日】2022-06-29
(71)【出願人】
【識別番号】000232302
【氏名又は名称】ニデック株式会社
(74)【代理人】
【識別番号】110001933
【氏名又は名称】弁理士法人 佐野特許事務所
(72)【発明者】
【氏名】浪越 孝宏
【テーマコード(参考)】
3C269
3C707
【Fターム(参考)】
3C269AB33
3C269BB09
3C269SA17
3C707BS09
3C707JU02
3C707KS38
3C707LS14
3C707LS15
(57)【要約】 (修正有)
【課題】ロボットに指令を行うユーザインタフェースを改善することができるプログラム生成装置、プログラム生成方法、およびブログラムを提供する。
【解決手段】プログラム生成装置は、制御部と、操作に応じて前記制御部に入力する入力信号を生成する入力部と、表示部と、を備え、前記制御部は、ロボットの位置を示す特定位置に関連付けて設定されるエリアを前記表示部に表示させるエリア表示制御部と、前記入力信号に基づき、前記表示部での表示において、前記ロボットへの指令を示す指令ブロックを前記エリアに配置するブロック表示制御部と、前記指令ブロックの配置に応じてロボットプログラムを生成するプログラム生成部と、を有する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ロボットに特定の動作をさせるためのロボットプログラムを生成するプログラム生成装置であって、
制御部と、
操作に応じて前記制御部に入力する入力信号を生成する入力部と、
表示部と、
を備え、
前記制御部は、
前記ロボットの位置を示す特定位置に関連付けて設定されるエリアを前記表示部に表示させるエリア表示制御部と、
前記入力信号に基づき、前記表示部での表示において、前記ロボットへの指令を示す指令ブロックを前記エリアに配置するブロック表示制御部と、
前記指令ブロックの配置に応じて前記ロボットプログラムを生成するプログラム生成部と、
を有する、プログラム生成装置。
【請求項2】
前記指令ブロックには、
配置された前記エリアの前記特定位置からの移動開始を示す移動開始ブロックと、
配置された前記エリアの前記特定位置での移動完了を示す移動完了ブロックと、
が含まれ、
前記移動開始ブロックと前記移動完了ブロックは、関連付けられている、請求項1に記載のプログラム生成装置。
【請求項3】
前記表示部の表示において、前記移動開始ブロックと前記移動完了ブロックは、線によって結合されている、請求項2に記載のプログラム生成装置。
【請求項4】
前記移動開始ブロックの上側に前記指令ブロックを積層して配置可能であり、かつ前記移動完了ブロックの下側に前記指令ブロックを積層して配置可能である、請求項2に記載のプログラム生成装置。
【請求項5】
前記制御部は、前記移動開始ブロックが配置される前記エリアの前記特定位置から前記移動完了ブロックが配置される前記エリアの前記特定位置への直接移動が禁止される場合、前記表示部にエラー表示を表示させるエラー表示制御部を有する、請求項2に記載のプログラム生成装置。
【請求項6】
前記指令ブロックには、前記移動開始ブロックが配置された前記エリアの前記特定位置から前記移動完了ブロックが配置された前記エリアの前記特定位置までの移動の途中で経由する前記特定位置である中継点を指定するための中継点指定ブロックが含まれる、請求項2に記載のプログラム生成装置。
【請求項7】
前記移動開始ブロックと前記中継点指定ブロックの間、および前記中継点指定ブロックと前記移動完了ブロックの間は、それぞれ線によって結合されている、請求項6に記載のプログラム生成装置。
【請求項8】
前記特定位置は、前記ロボットプログラムを実行するロボットコントローラに登録された教示点を含む、請求項1に記載のプログラム生成装置。
【請求項9】
前記制御部は、前記入力信号に基づき、前記教示点を変更して修正位置を生成する位置修正部を有し、
前記特定位置は、前記修正位置を含む、請求項8に記載のプログラム生成装置。
【請求項10】
前記指令ブロックには、動作時間が関連付けられており、
前記エリアには、上限時間が関連付けられており、
前記制御部は、
同一の前記エリアに配置された前記指令ブロックの前記動作時間の合計を算出する算出部と、
前記算出部の算出結果が前記上限時間を上回った場合に通知を行う通知部と、
を有する、請求項1に記載のプログラム生成装置。
【請求項11】
前記制御部は、前記合計、前記上限時間、および前記指令ブロックごとの前記動作時間を前記表示部に表示させる時間表示制御部を有する、請求項10に記載のプログラム生成装置。
【請求項12】
前記制御部は、前記エリアに配置された前記指令ブロックの前記動作時間の合計の前記上限時間に対する割合である充填率に応じて前記表示部における表示を変化させる可変表示制御部を有する、請求項10に記載のプログラム生成装置。
【請求項13】
制御部と、操作に応じて前記制御部に入力する入力信号を生成する入力部と、表示部と、を用いて、ロボットに特定の動作をさせるためのロボットプログラムを生成するプログラム生成方法であって、
前記制御部により前記ロボットの位置を示す特定位置に関連付けて設定されるエリアを前記表示部に表示させるエリア表示ステップと、
前記制御部により前記入力信号に基づき、前記表示部での表示において、前記ロボットへの指令を示す指令ブロックを前記エリアに配置するブロック表示ステップと、
前記指令ブロックの配置に応じて前記ロボットプログラムを生成するプログラム生成ステップと、
を有する、プログラム生成方法。
【請求項14】
制御部と、操作に応じて前記制御部に入力する入力信号を生成する入力部と、表示部と、を備え、ロボットに特定の動作をさせるためのロボットプログラムを生成するプログラム生成装置に用いられるプログラムであって、
前記制御部に、
前記ロボットの位置を示す特定位置に関連付けて設定されるエリアを前記表示部に表示させるエリア表示ステップと、
前記入力信号に基づき、前記表示部での表示において、前記ロボットへの指令を示す指令ブロックを前記エリアに配置するブロック表示ステップと、
前記指令ブロックの配置に応じて前記ロボットプログラムを生成するプログラム生成ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、プログラム生成装置、プログラム生成方法、およびプログラムに関する。
【背景技術】
【0002】
従来、ロボットの動作シーケンスを容易に構築するための情報処理装置が知られている(例えば特許文献1)。このような情報処理装置では、UI(ユーザインタフェース)画面表示制御部により、自然言語で表された処理内容に対応するブロックおよび当該ブロック間の関係に対応するコネクタをユーザによる入力に応じて表示部に表示させる。そして、設定されたブロックおよびコネクタに基づき、処理内容および処理シーケンスを示すロボットプログラムが生成される。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記従来の情報処理装置では、ブロックを用いてロボットに指令を行う場合に、指令の動作を行わせるロボットの位置の把握しやすさの点で改善の余地があった。
【0005】
上記状況に鑑み、本開示は、ロボットに指令を行うユーザインタフェースを改善することができるプログラム生成装置、プログラム生成方法、およびブログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本開示の例示的なプログラム生成装置は、ロボットに特定の動作をさせるためのロボットプログラムを生成するプログラム生成装置であって、制御部と、操作に応じて前記制御部に入力する入力信号を生成する入力部と、表示部と、を備える。前記制御部は、前記ロボットの位置を示す特定位置に関連付けて設定されるエリアを前記表示部に表示させるエリア表示制御部と、前記入力信号に基づき、前記表示部での表示において、前記ロボットへの指令を示す指令ブロックを前記エリアに配置するブロック表示制御部と、前記指令ブロックの配置に応じて前記ロボットプログラムを生成するプログラム生成部と、を有する。
【0007】
本開示の例示的なプログラム生成方法は、制御部と、操作に応じて前記制御部に入力する入力信号を生成する入力部と、表示部と、を用いて、ロボットに特定の動作をさせるためのロボットプログラムを生成するプログラム生成方法であって、前記制御部により前記ロボットの位置を示す特定位置に関連付けて設定されるエリアを前記表示部に表示させるエリア表示ステップと、前記制御部により前記入力信号に基づき、前記表示部での表示において、前記ロボットへの指令を示す指令ブロックを前記エリアに配置するブロック表示ステップと、前記指令ブロックの配置に応じて前記ロボットプログラムを生成するプログラム生成ステップと、を有する。
【0008】
本開示の例示的なプログラムは、制御部と、操作に応じて前記制御部に入力する入力信号を生成する入力部と、表示部と、を備え、ロボットに特定の動作をさせるためのロボットプログラムを生成するプログラム生成装置に用いられるプログラムであって、前記制御部に、前記ロボットの位置を示す特定位置に関連付けて設定されるエリアを前記表示部に表示させるエリア表示ステップと、前記入力信号に基づき、前記表示部での表示において、前記ロボットへの指令を示す指令ブロックを前記エリアに配置するブロック表示ステップと、前記指令ブロックの配置に応じて前記ロボットプログラムを生成するプログラム生成ステップと、を実行させるためのプログラムである。
【発明の効果】
【0009】
本開示の例示的なプログラム生成装置、プログラム生成方法、およびプログラムによれば、ロボットに指令を行うユーザインタフェースを改善することができる。
【図面の簡単な説明】
【0010】
【
図1】
図1は、本開示の例示的な実施形態に係るロボットシステムの構成を示す図である。
【
図2】
図2は、ロボットプログラム生成処理に関するフローチャートである。
【
図4】
図4は、エリアに指令ブロックを配置した例を示す図である。
【
図5】
図5は、移動開始ブロックと移動完了ブロックの対を示す図である。
【
図7】
図7は、移動開始ブロックと中継点指定ブロックと移動完了ブロックの対を示す図である。
【
図8】
図8は、中継点指定ブロックの配置例を示す図である。
【
図9】
図9は、動作時間に関する表示の一例を示す図である。
【発明を実施するための形態】
【0011】
以下に図面を参照して本開示の例示的な実施形態を説明する。
【0012】
<1.ロボットシステム>
図1は、本開示の例示的な実施形態に係るロボットシステム10の構成を示す図である。ロボットシステム10は、ロボット1と、ロボットコントローラ2と、プログラム生成装置3と、を有する。
【0013】
ロボット1は、産業用などの多関節ロボットである。ロボット1は、各関節軸にモータが搭載されており、モータの駆動によりロボット1の先端部は所定の位置・姿勢に制御される。なお、ロボット1は、多関節ロボットに限ることはない。
【0014】
ロボットコントローラ2は、ロボット1を制御するための装置であり、教示点格納部21と、ロボットプログラム格納部22と、制御部23と、を有する。ロボットコントローラ2は、例えばPC(パソコン)により構成される。
【0015】
ロボットコントローラ2には、図示しないペンダントと呼ばれる操作装置が接続される。当該ペンダントを用いて、ロボットコントローラ2にロボット1の位置姿勢を登録することができる。例えば、上記ペンダントにおける操作によりロボット1の関節を制御し、所望の位置姿勢のときに上記ペンダントにおいて登録操作をすると、そのときの位置姿勢がロボットコントローラ2に登録される。このような登録作業をティーチングと呼び、登録された位置姿勢は、教示点と呼ばれる。教示点は、教示点格納部21に登録される。なお、教示点は、ロボット1の先端部の位置姿勢情報である。
【0016】
ロボットプログラム格納部22には、ロボット1に特定の動作をさせるためのロボットプログラムが格納される。ロボットプログラムは、例えばBASICまたはPythonなどのプログラミング言語により構成される。制御部23は、ロボットプログラム格納部22に格納されたロボットプログラムに従ってロボット1を制御する。
【0017】
プログラム生成装置3は、ロボットプログラム格納部22に格納するロボットプログラムを生成するための装置であり、例えばPCにより構成される。
【0018】
プログラム生成装置3は、入力部31と、表示部32と、制御部33と、を備える。入力部31は、操作に応じて制御部33に入力する入力信号を生成するように構成される。入力部31は、例えばマウスおよびキーボードを含む。
【0019】
表示部32は、各種画像を表示するように構成され、例えば液晶表示部により構成される。
【0020】
制御部33は、CPUおよびメモリなどを有する。メモリに格納されたプログラムをCPUが実行することで、
図1に示す制御部33の各種機能ブロック(エリア表示制御部33Aなど)が実現される。
【0021】
<2.ロボットプログラム生成処理>
ここで、プログラム生成装置3におけるロボットプログラムを生成する処理について、
図2に示すフローチャートを参照して説明する。
【0022】
まず、プログラム生成装置3における制御部33は、ロボットコントローラ2における教示点格納部21から教示点を読み出す(ステップS1)。なお、以下、教示点は、位置姿勢情報のうち位置情報であるとする。
【0023】
次に、制御部33におけるエリア表示制御部33Aは、読み出した教示点のそれぞれに対応するエリアを表示部32に表示させる制御を行う(ステップS2)。すなわち、制御部33は、ロボット1の位置を示す特定位置に関連付けて設定されるエリアを表示部32に表示させるエリア表示制御部33Aを有する。
【0024】
図3には、エリア表示の一例を示す。
図3の例では、第1教示点pos1、第2教示点pos2、第3教示点pos3のそれぞれに関連付けて設定される第1エリア41、第2エリア42、第3エリア43が表示されている。ここでのエリア表示は、一例として矩形状の枠で囲まれた領域としている。
【0025】
次に、制御部33におけるブロック表示制御部33Bは、入力部31における操作に基づき、表示部32に表示されたエリア内に指令ブロックを配置する表示制御を行う。指令ブロックは、ロボット1への指令(ロボット1の動作)を示すブロック状の画像である。すなわち、制御部33は、入力信号に基づき、表示部32での表示において、ロボット1への指令を示す指令ブロックをエリアに配置するブロック表示制御部33Bを有する。
【0026】
図4は、
図3に示した各エリア41,42,43への指令ブロックの配置例を示す図である。
図4に示す例では、第1エリア41には、指令A,B,Cをそれぞれ示す指令ブロック5が画面上方から下方へ向かって順に積層されて配置される。このように、指令ブロック5は、積み重ねて配置することができる。積層される順番がロボット1への指令の順番となる。指令ブロックは、例えばマウスによるドラッグによりエリア外からエリア内へ配置することができる。
【0027】
図4に示すように、指令ブロック5には、移動開始ブロック51と、移動完了ブロック52と、が含まれる。移動開始ブロック51は、配置されたエリアの教示点からの移動開始指令を示す。移動完了ブロック52は、配置されたエリアの教示点での移動完了指令を示す。
図5に示すように、移動開始ブロック51と、移動完了ブロック52は、一対の指令ブロック5として扱われる。移動開始ブロック51と、移動完了ブロック52はそれぞれ独立して自由に移動できる。移動開始ブロック51の下辺と移動完了ブロック52の上辺とは、線6によって結合されている。移動開始ブロック51の上辺には、上方に指令ブロック5を積層することができる。移動完了ブロック52の下辺には、下方に指令ブロック5を積層することができる。移動開始ブロック51の移動または移動完了ブロック52の移動に応じて、線6は長さおよび形状が可変である。
【0028】
図4の例では、第1エリア41に移動開始ブロック51が配置され、第2エリア42に移動完了ブロック52が配置される。これにより、第1教示点pos1からの移動開始と第2教示点pos2での移動完了が指令される。
【0029】
すなわち、指令ブロック5には、配置されたエリアの特定位置からの移動開始を示す移動開始ブロック51と、配置されたエリアの特定位置での移動完了を示す移動完了ブロック52と、が含まれる。移動開始ブロック51と移動完了ブロック52は、関連付けられている。このような移動開始ブロック51と移動完了ブロック52をエリアに配置することで、ロボット1の移動開始位置と移動完了位置を直感的に指定できる。
【0030】
また、表示部32の表示において、移動開始ブロック51と移動完了ブロック52は、線6によって結合されている。これにより、移動開始ブロック51と移動完了ブロック52の関連付けを認識しやすくなる。なお、例えば移動開始ブロック51と移動完了ブロック52を同じ色で表示することで関連付けてもよい。
【0031】
また、移動開始ブロック51の上側に指令ブロック5を積層して配置可能であり、かつ移動完了ブロック52の下側に指令ブロック5を積層して配置可能である。これにより、指令の順序を認識しやすくなる。
【0032】
エリアに指令ブロック5が配置された後、制御部33におけるプログラム生成部33Cは、指令ブロック5の配置に応じてロボットプログラムを生成する(ステップS4)。すなわち、制御部33は、指令ブロック5の配置に応じてロボットプログラムを生成するプログラム生成部33Cを有する。
【0033】
次に、制御部33は、生成されたロボットプログラムをロボットコントローラ2に送信する(ステップS5)。送信されたロボットプログラムは、ロボットプログラム格納部22に格納される。制御部23は、ロボットプログラムに従ってロボット1を制御する。これにより、ロボット1は、エリアに配置された指令ブロック5による指令内容に応じた動作を行う。
【0034】
図4の例であれば、ロボット1は、第1教示点pos1において、指令A,B,Cの順の動作を行い、その後、第1教示点pos1から移動を開始し、第2教示点pos2で移動を完了する。そして、第2教示点pos2において、指令D,E,Fの順の動作を行う。その後、第2教示点pos2から移動を開始し、第3教示点pos3で移動を完了する。
【0035】
このように本実施形態によれば、入力部31への操作によって指令ブロック5を特定位置に関連付けて設定されるエリアに視覚的に配置することで、ロボットプログラムが生成される。従って、特定位置ごとの指令を直感的に指定することができる。
【0036】
なお、移動途中に障害物が存在するなどにより、或るエリアの教示点から別の或るエリアの教示点へのロボット1の直接移動が禁止される場合がある。この場合、中継点を経由する必要がある。例えば
図6に示す第1エリア41(第1教示点pos1)から第3エリア43(第3教示点pos3)への直接移動が禁止される場合、移動開始ブロック51を第1エリア41に配置してから移動完了ブロック52を第3エリア43に配置すると、制御部33は、表示部32にエラー表示71を行う。
【0037】
すなわち、制御部33は、移動開始ブロック51が配置されるエリアの特定位置から移動完了ブロック52が配置されるエリアの特定位置への直接移動が禁止される場合、表示部32にエラー表示を表示させるエラー表示制御部33Dを有する。これにより、直接移動が禁止されている旨をユーザに認識させることができる。
【0038】
<3.中継点指定ブロック>
図7に示すように、移動開始ブロック51と移動完了ブロック52に中継点指定ブロック53を加えて1対の指令ブロック5としてもよい。移動開始ブロック51と中継点指定ブロック53との間、中継点指定ブロック53と移動完了ブロック52との間は、それぞれ線61,62により接続される。移動開始ブロック51と移動完了ブロック52と中継点指定ブロック53は、それぞれ独立して移動可能である。線61,62は、移動開始ブロック51と移動完了ブロック52と中継点指定ブロック53の移動に応じて、長さおよび形状が可変である。
【0039】
中継点指定ブロック53は、或る教示点から別の或る教示点への移動の途中で経由する教示点を中継点として指令する。
図8に示す例では、第1エリア41に移動開始ブロック51が配置され、第2エリア42に中継点指定ブロック53が配置され、第3エリア43に移動完了ブロック52が配置される。これにより、第1教示点pos1から第3教示点pos3への移動の途中に経由する第2教示点pos2が中継点に指定される。ロボット1の動作時には、ロボット1は、第1教示点pos1から移動を開始し、途中で第2教示点pos2を停止せずに通過し、第3教示点pos3で移動を完了する。
【0040】
このように、指令ブロック5には、移動開始ブロック51が配置されたエリアの特定位置から移動完了ブロック52が配置されたエリアの特定位置までの移動の途中で経由する特定位置である中継点を指定するための中継点指定ブロック53が含まれる。これにより、中継点を直感的に指定できる。
【0041】
また、移動開始ブロック51と中継点指定ブロック53の間、および中継点指定ブロック53と移動完了ブロック52の間は、それぞれ線61,62によって結合されている。これにより、移動開始ブロックと中継点指定ブロックと移動完了ブロックの関連付けを認識しやすくなる。
【0042】
なお、上記の実施形態では中継点指定ブロック53は1つであったが、2つ以上配置されても良い。すなわち、ロボット1の移動開始から完了までの間には、複数の中継点が設けられても良い。
【0043】
<4.動作時間に関する表示制御>
指令ブロック5には、動作時間が関連付けられていてもよい。当該動作時間は、指令ブロック5による指令の動作をロボット1が行う場合の動作時間である。この場合、エリアには、上限時間が関連付けられている。当該上限時間は、当該エリアにおける動作時間の上限である。
【0044】
制御部33は、同一のエリアに配置された指令ブロック5の動作時間の合計を算出する算出部33Eと、算出部33Eの算出結果が上記上限時間を上回った場合に通知を行う通知部33Fと、を有する。
【0045】
図9に示す例では、第1エリア41の上限時間は1.0sに設定されている。第1エリア41に配置される指令A,B,C,Dを示す指令ブロック5のそれぞれの動作時間は、0.1s、0.1s、0.2s、0.5sに設定されている。算出部33Eは、
図9のときに指令ブロック5の動作時間の合計として、0.9sを算出している。ここで、第1エリア41外から第1エリア41内に新たな指令ブロック5(指令E)を配置したとする。指令Eの指令ブロック5の動作時間は、0.2sに設定されているため、算出部33Eは、動作時間の合計として1.1sを算出する。従って、算出部33Eの算出結果が上限時間1.0sを上回るため、通知部33Fは、
図10に示すように表示部32にエラー表示72を行う。これにより、同じ特定位置における指令ブロック5の動作時間の合計が上限時間を上回ったことをユーザに警告することができる。
【0046】
なお、制御部33は、上記合計、上記上限時間、および指令ブロック5ごとの動作時間を表示部32に表示させる時間表示制御部33Gを有する。これにより、
図9に示す例では、合計0.9s、上限時間1.0s、および指令ブロック5ごとの動作時間(0.1s、0.1s、0.2s、0.5s)が表示される。これにより、動作時間の合計が上限時間を上回らないように指令ブロック5を配置しやすくなる。
【0047】
また、制御部33は、エリアに配置された指令ブロック5の動作時間の合計の上限時間に対する割合である充填率に応じて表示部32における表示を変化させる可変表示制御部33Hを有する。例えば、充填率=0~50%で緑、51%~80%で黄色、81%~95%で橙、96%~100%で赤色にエリアの枠の色を可変させる。これにより、充填率をユーザに認識させることができる。
【0048】
<5.教示点の修正>
先述したように、エリアはロボットの位置を示す特定位置、すなわち教示点に関連付けて設定される。すなわち、上記特定位置は、ロボットプログラムを実行するロボットコントローラ2に登録された教示点を含む。これにより、教示点における指令を直感的に指定できる。
【0049】
制御部33がロボットコントローラ2から読み出した教示点は、入力部31の操作に応じて修正可能としてもよい。すなわち、制御部33は、入力信号に基づき、教示点を変更して修正位置を生成する位置修正部33Iを有する。エリア表示制御部33Aは、位置修正部33Iにより位置修正された教示点に関連付けて設定されるエリアを表示可能である。例えば、読み出した第1教示点pos1を位置修正した教示点に関連付けて設定されるエリアを表示する。新たな教示点は、第1教示点pos1を更新したものでもよいし、第4教示点pos4として追加してもよい。すなわち、上記特定位置は、上記修正位置を含む。これにより、入力部31への操作によって修正した教示点において指令を指定できる。
【0050】
<6.その他>
以上、本開示の実施形態を説明した。なお、本開示の範囲は上述の実施形態に限定されない。本開示は、発明の主旨を逸脱しない範囲で上述の実施形態に種々の変更を加えて実施することができる。また、上述の実施形態で説明した事項は、矛盾を生じない範囲で適宜任意に組み合わせることができる。
【0051】
例えば、指令ブロック5を配置させるエリアは、ロボット1などのレイアウトを示す2次元または3次元のレイアウト画面と重ねて表示してもよい。
【0052】
<7.付記>
以上のように、本開示の一態様に係るプログラム生成装置(3)は、ロボット(1)に特定の動作をさせるためのロボットプログラムを生成するプログラム生成装置であって、制御部(33)と、操作に応じて前記制御部に入力する入力信号を生成する入力部(31)と、表示部(32)と、を備える。前記制御部は、前記ロボットの位置を示す特定位置に関連付けて設定されるエリアを前記表示部に表示させるエリア表示制御部(33A)と、前記入力信号に基づき、前記表示部での表示において、前記ロボットへの指令を示す指令ブロック(5)をエリアに配置するブロック表示制御部(33B)と、前記指令ブロックの配置に応じて前記ロボットプログラムを生成するプログラム生成部(33C)と、を有する(第1の構成)。
【0053】
また、上記第1の構成において、前記指令ブロックには、配置された前記エリアの前記特定位置からの移動開始を示す移動開始ブロック(51)と、配置された前記エリアの前記特定位置での移動完了を示す移動完了ブロック(52)と、が含まれ、前記移動開始ブロックと前記移動完了ブロックは、関連付けられている構成としてもよい(第2の構成)。
【0054】
また、上記第2の構成において、前記表示部の表示において、前記移動開始ブロックと前記移動完了ブロックは、線(6)によって結合されている構成としてもよい(第3の構成)。
【0055】
また、上記第2または第3の構成において、前記移動開始ブロックの上側に前記指令ブロックを積層して配置可能であり、かつ前記移動完了ブロックの下側に前記指令ブロックを積層して配置可能である構成としてもよい(第4の構成)。
【0056】
また、上記第2から第4のいずれかの構成において、前記制御部は、前記移動開始ブロックが配置される前記エリアの前記特定位置から前記移動完了ブロックが配置される前記エリアの前記特定位置への直接移動が禁止される場合、前記表示部にエラー表示を表示させるエラー表示制御部を有する構成としてもよい(第5の構成)。
【0057】
また、上記第2から第5のいずれかの構成において、前記指令ブロックには、前記移動開始ブロックが配置された前記エリアの前記特定位置から前記移動完了ブロックが配置された前記エリアの前記特定位置までの移動の途中で経由する前記特定位置である中継点を指定するための中継点指定ブロック(53)が含まれる構成としてもよい(第6の構成)。
【0058】
また、上記第6の構成において、前記移動開始ブロックと前記中継点指定ブロックの間、および前記中継点指定ブロックと前記移動完了ブロックの間は、それぞれ線によって結合されている構成としてもよい(第7の構成)。
【0059】
また、上記第1から第7のいずれかの構成において、前記特定位置は、前記ロボットプログラムを実行するロボットコントローラ(2)に登録された教示点を含む構成としてもよい(第8の構成)。
【0060】
また、上記第8の構成において、前記制御部は、前記入力信号に基づき、前記教示点を変更して修正位置を生成する位置修正部(33I)を有し、前記特定位置は、前記修正位置を含む構成としてもよい(第9の構成)。
【0061】
また、上記第1から第9のいずれかの構成において、前記指令ブロックには、動作時間が関連付けられており、前記エリアには、上限時間が関連付けられており、前記制御部は、同一の前記エリアに配置された前記指令ブロックの前記動作時間の合計を算出する算出部(33E)と、前記算出部の算出結果が前記上限時間を上回った場合に通知を行う通知部(33F)と、を有する構成としてもよい(第10の構成)。
【0062】
また、上記第10の構成において、前記制御部は、前記合計、前記上限時間、および前記指令ブロックごとの前記動作時間を前記表示部に表示させる時間表示制御部(33G)を有する構成としてもよい(第11の構成)。
【0063】
また、上記第10または第11の構成において、前記制御部は、前記エリアに配置された前記指令ブロックの前記動作時間の合計の前記上限時間に対する割合である充填率に応じて前記表示部における表示を変化させる可変表示制御部(33H)を有する構成としてもよい(第12の構成)。
【0064】
また、本開示の一態様に係るプログラム生成方法は、制御部(33)と、操作に応じて前記制御部に入力する入力信号を生成する入力部(31)と、表示部(32)と、を用いて、ロボット(1)に特定の動作をさせるためのロボットプログラムを生成するプログラム生成方法であって、前記制御部により前記ロボットの位置を示す特定位置に関連付けて設定されるエリアを前記表示部に表示させるエリア表示ステップと、前記制御部により前記入力信号に基づき、前記表示部での表示において、前記ロボットへの指令を示す指令ブロックを前記エリアに配置するブロック表示ステップと、前記指令ブロックの配置に応じて前記ロボットプログラムを生成するプログラム生成ステップと、を有する(第13の構成)。
【0065】
また、本開示の一態様に係るプログラムは、制御部(33)と、操作に応じて前記制御部に入力する入力信号を生成する入力部(31)と、表示部(32)と、を備え、ロボット(1)に特定の動作をさせるためのロボットプログラムを生成するプログラム生成装置(3)に用いられるプログラムであって、前記制御部に、前記ロボットの位置を示す特定位置に関連付けて設定されるエリアを前記表示部に表示させるエリア表示ステップと、前記入力信号に基づき、前記表示部での表示において、前記ロボットへの指令を示す指令ブロックを前記エリアに配置するブロック表示ステップと、前記指令ブロックの配置に応じて前記ロボットプログラムを生成するプログラム生成ステップと、を実行させるためのプログラムである(第14の構成)。
【産業上の利用可能性】
【0066】
本開示の技術は、各種ロボットを含めたシステムに利用することができる。
【符号の説明】
【0067】
1 ロボット
2 ロボットコントローラ
3 プログラム生成装置
5 指令ブロック
6 線
10 ロボットシステム
21 教示点格納部
22 ロボットプログラム格納部
23 制御部
31 入力部
32 表示部
33 制御部
33A エリア表示制御部
33B ブロック表示制御部
33C プログラム生成部
33D エラー表示制御部
33E 算出部
33F 通知部
33G 時間表示制御部
33H 可変表示制御部
33I 位置修正部
41 第1エリア
42 第2エリア
43 第3エリア
51 移動開始ブロック
52 移動完了ブロック
53 中継点指定ブロック
61,62 線
71,72 エラー表示
333A エリア表示制御部