(57)【要約】【課題】  複数のロボットやそれに付随する装置が連携しつつ並行して動作するシステムにおける動作プログラムの動作所要時間を知ることにより、各指令のタイミング調整を容易にし、動作プログラムを効率よく作成することができる動作プログラム作成支援システムを提供する。【解決手段】  動作プログラム作成支援装置１と、ロボットや装置の動作を制御するコントローラ２、３、４と、がネットワーク５で接続され、動作プログラム作成支援装置１に、動作プログラムの指令毎にコントローラに動作所要時間を問合わせる動作所要時間問合せ部１３を備え、コントローラ２、３、４に、動作に要する動作所要時間を算出し動作所要時間問合せ部１３に出力する所要時間算出部２０１、３０１、４０１を備える。【選択図】  図１
2009070181.tif 000002
【特許請求の範囲】
【請求項１】
ロボットや装置への動作指令を表すアイコンを配置することにより、前記ロボットや装置の動作プログラムを作成するプログラム作成部と、
前記動作プログラムを解釈し、動作指令を作成するプログラム解釈部と、
データ入力に使用するキーボードと、マウスと、
データを記憶する記憶部と、
データを表示する表示装置とを有し、グラフィカルユーザインタフェースを使用して前記ロボットや装置への動作指令を表す前記アイコンを配置していくことで前記動作プログラムを作成する動作プログラム作成支援装置と、
前記ロボットや装置の動作を制御する１つ以上のコントローラと、がネットワークで接続された動作プログラム作成支援システムにおいて、
前記動作プログラム作成支援装置に、前記動作プログラムの指令毎に前記コントローラに動作所要時間を問合わせる動作所要時間問合せ部を備え、
前記コントローラに、前記動作所要時間問合せ部からの問合せに対して問合わせられた指令の動作に要する動作所要時間を算出し前記動作所要時間問合せ部に出力する所要時間算出部を備えることを特徴とする動作プログラム作成支援システム。
【請求項２】
前記プログラム作成支援装置に、前記コントローラの前記所要時間算出部から出力されたそれぞれの動作所要時間を用い、前記動作プログラムの実行順に従い時間を軸として各指令の動作所要時間を図示する動作時間表示部を備えることを特徴とする請求項１記載の動作プログラム作成支援システム。
【請求項３】
前記プログラム作成支援装置に、前記コントローラの前記所要時間算出部から出力されたそれぞれの動作所要時間を用い、前記動作プログラムにより前記ロボットや装置が実際に動作可能か否かを評価する動作プログラム評価部を備えることを特徴とする請求項１記載の動作プログラム作成支援システム。
【請求項４】
ロボットや装置への動作指令を表すアイコンを配置することにより、前記ロボットや装置の動作プログラムを作成するプログラム作成部と、
前記動作プログラムを解釈し、動作指令を作成するプログラム解釈部と、
データ入力に使用するキーボードと、マウスと、
データを記憶する記憶部と、
データを表示する表示装置とを有し、グラフィカルユーザインタフェースを使用して前記ロボットや装置への動作指令を表す前記アイコンを配置していくことで前記動作プログラムを作成する動作プログラム作成支援装置と、
前記ロボットや装置の動作を制御する１つ以上のコントローラと、がネットワークで接続された動作プログラム作成支援システムにおいて、
前記動作プログラム作成支援装置に、前記プログラム解釈部において解釈された動作指令が前記コントローラで実行される際の動作所要時間時間を計測する動作所要時間計測部を備えることを特徴とする動作プログラム作成支援システム。
【請求項５】
前記プログラム作成支援装置に、前記動作所要時間計測部が計測した前記コントローラの各動作指令の動作所要時間を用い、動作プログラムの実行順に従い時間を軸として各動作指令の動作所要時間を図示する動作所要時間表示部を備えることを特徴とする請求項４記載の動作プログラム作成支援システム。
【請求項６】
前記プログラム作成支援装置に、前記動作所要時間表示部により図示された動作所要時間の図において、指定した動作指令の開始や終了を指定したタイミングに調整するプログラム調整部を備えることを特徴とする請求項５記載の動作プログラム作成支援システム。
【請求項７】
前記プログラム調整部が、複数の装置を並行して動作させる動作プログラムの前記動作所要時間表示部により図示された動作所要時間の図を用いて指定した複数の動作指令の開始や終了のタイミングを、指定した特定の動作指令と同じになるように動作プログラムを調整することを特徴とする請求項６記載の動作プログラム作成支援システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットやそれに付随する装置からなるシステムの動作プログラムの作成を支援する動作プログラム作成支援システムに関する。
【背景技術】
【０００２】
従来のロボットの動作プログラムの作成は、作成した動作プログラムをシミュレーションにより確認し、動作の不都合が発見された場合、動作プログラムの該当部分を修正、再度シミュレーションにより確認する手順を繰り返し行っている。例えば、特許文献１に開示の「ロボットのシミュレーション装置」はテキストによるロボット言語とシミュレーションによるロボットのモデルを画面に表示するものである。
図９は特許文献１に開示の「ロボットのシミュレーション装置」の表示画面の表示例である。図９において、２１１はＣＲＴディスプレイの左半分、２１２はＣＲＴディスプレイの右半分、２１３はカーソルである。ＣＲＴディスプレイの左半分２１１にはロボットの言語により作成した動作プログラム、右半分２１２にはロボットをシンボル化したグラフィックが表示される。２１３はシミュレーション実行した場合に、次に実行される動作を記述した部分を指示す。
画面の下部に各種コマンドのラベルがあるので、挿入・削除・修正・実行をカーソル２１３で選んでロボットの動作を記述するテキストを作成すると、それが画面の左半分２１１に表示されていく。これと同時に、テキスト管理部がこのテキストを読み込んで、インタプリタ部に送り、インタプリタ部ではテキストを解釈し、ロボットを動作させる内容であれば、その動作のための軌道・ポイントデータを取り出して、ロボット制御部へ送る。ロボット制御部は送られてきた軌道・ポイントデータを基にロボット制御信号を作成し、シミュレータ部に送り、シミュレータ部はＣＲＴディスプレイの右半分２１２にシンボル化したロボットを表示し、かつロボット制御部から送られてきたロボット制御信号に基ずいてアニメーションでロボットの動きを表示する。
このようにして、プログラムの検証および修正を行う。
【０００３】
また、特許文献２に開示の「プログラム作成装置」は、動作プログラムの効率的な作成を目的とするもので、ロボット言語により作成した動作プログラムの行を指定すると、その行の指令が移動指令であった場合、指定されたパラメータに従って位置データの表示やロボットのモデルを表示するものである。
図１０は特許文献２に開示の「プログラム作成装置」の表示画面の表示例であり、図１１は図１０に示す表示画面のロボットモデルを示す図である。
このプログラム作成装置は、命令内容を示す命令文字列及びその命令内容に対応する数値データのパラメータ番号を有する命令データと、数値データとを入力する入力手段、この入力手段により入力された命令データ及び数値データを格納すると共に、予め特定の命令文字列を設定記憶する記憶手段、入力手段により入力された命令文字列が記憶手段に設定記憶されている命令文字列と同一であるか否かを解釈する命令解釈手段、この命令解釈手段により命令文字列が予め設定記憶されている命令文字列と同一であると判断された際に、その命令文字列を有する命令データのパラメータ番号に基づいて、その命令データに対応する数値データを記憶手段から読み出すデータ管理手段、このデータ管理手段により読み出された数値データを表示装置にその命令データと共に表示させる表示制御手段とから構成されており、表示制御手段により表示装置の表示画面上に命令データ及び数値データを表示させる際、その数値データに基づく制御対象物の姿勢をモデル化して表示するものである。
【０００４】
図１０において２３Ａは表示装置が表示する表示画面、２３１は命令データを表示する命令ウインドウ、２３２は位置データを表示する位置ウインドウ、２３１１は操作者が注目している命令データの命令行である。
このようにカーソルにより注目行２３１１を移動指令の行へ移動すると、表示装置上に表示画面２３２が表示され位置データが表示されるようになる。
また、図１１の表示画面２３Ａにおいては、動作プログラム２３１のうちの１つをカーソルで指示すると、その行２３１１が移動命令である際にモデルウインドウ２３４にパラメータに従ったロボットのモデルが表示されるようになる。
また、パラメータがロボットの稼動範囲内にあるかを評価し、問題がある場合は表示により通知するようにしてある。
【特許文献１】特開平１−２５０１０９号公報（第３図）
【特許文献２】特許第３４３５９５４号（図３、図９）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１のように作成した動作プログラムの確認をシミュレーションを実行して行う方法では、シミュレーションと実機での動作所要時間が異なる場合があるため、複数のロボットや装置を並行して動作させる動作プログラムではそれぞれの動作開始や終了タイミングが実機と異なってしまうことがあり、動作の調整で問題となる。
また、特許文献２では指令パラメータをロボットの動作範囲テーブルを用いて評価しており、この方法は、与えられたパラメータの動作範囲の確認を行うものであるため、指令に対する動作時間を確認することができない。
本発明はこのような問題に鑑みてなされたものであり、複数のロボットやそれに付随する装置が連携しつつ並行して動作するシステムにおける動作プログラムの動作所要時間を知ることにより、各指令のタイミング調整を容易にし、動作プログラムを効率よく作成することができる動作プログラム作成支援システムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記問題を解決するため、本発明は、次のように構成したのである。
請求項１に記載の発明は、ロボットや装置への動作指令を表すアイコンを配置することにより、前記ロボットや装置の動作プログラムを作成するプログラム作成部と、前記動作プログラムを解釈し、動作指令を作成するプログラム解釈部と、データ入力に使用するキーボードと、マウスと、データを記憶する記憶部と、データを表示する表示装置とを有し、グラフィカルユーザインタフェースを使用して前記ロボットや装置への動作指令を表す前記アイコンを配置していくことで前記動作プログラムを作成する動作プログラム作成支援装置と、前記ロボットや装置の動作を制御する１つ以上のコントローラと、がネットワークで接続された動作プログラム作成支援システムにおいて、前記動作プログラム作成支援装置に、前記動作プログラムの指令毎に前記コントローラに動作所要時間を問合わせる動作所要時間問合せ部を備え、前記コントローラに、前記動作所要時間問合せ部からの問合せに対して問合わせられた指令の動作に要する動作所要時間を算出し前記動作所要時間問合せ部に出力する所要時間算出部を備えることを特徴としている。
また、請求項２に記載の発明は、請求項１に記載の動作プログラム作成支援システムにおいて、前記プログラム作成支援装置に、前記コントローラの前記所要時間算出部から出力されたそれぞれの動作所要時間を用い、前記動作プログラムの実行順に従い時間を軸として各指令の動作所要時間を図示する動作時間表示部を備えることを特徴としている。
また、請求項３に記載の発明は、請求項１に記載の動作プログラム作成支援システムにおいて、前記プログラム作成支援装置に、前記コントローラの前記所要時間算出部から出力されたそれぞれの動作所要時間を用い、前記動作プログラムにより前記ロボットや装置が実際に動作可能か否かを評価する動作プログラム評価部を備えることを特徴としている。
また、請求項４に記載の発明は、ロボットや装置への動作指令を表すアイコンを配置することにより、前記ロボットや装置の動作プログラムを作成するプログラム作成部と、前記動作プログラムを解釈し、動作指令を作成するプログラム解釈部と、データ入力に使用するキーボードと、マウスと、データを記憶する記憶部と、データを表示する表示装置とを有し、グラフィカルユーザインタフェースを使用して前記ロボットや装置への動作指令を表す前記アイコンを配置していくことで前記動作プログラムを作成する動作プログラム作成支援装置と、前記ロボットや装置の動作を制御する１つ以上のコントローラと、がネットワークで接続された動作プログラム作成支援システムにおいて、前記動作プログラム作成支援装置に、前記プログラム解釈部において解釈された動作指令が前記コントローラで実行される際の動作所要時間時間を計測する動作所要時間計測部を備えることを特徴としている。
また、請求項５に記載の発明は、請求項４に記載の動作プログラム作成支援装置において、前記プログラム作成支援装置に、前記動作所要時間計測部が計測した前記コントローラの各動作指令の動作所要時間を用い、動作プログラムの実行順に従い時間を軸として各動作指令の動作所要時間を図示する動作所要時間表示部を備えることを特徴としている。
また、請求項６に記載の発明は、請求項５に記載の動作プログラム作成支援装置において、前記プログラム作成支援装置に、前記動作所要時間表示部により図示された動作所要時間の図において、指定した動作指令の開始や終了を指定したタイミングに調整するプログラム調整部を備えることを特徴としている。
また、請求項７に記載の発明は、請求項６に記載の動作プログラム作成支援装置において、前記プログラム調整部が、複数の装置を並行して動作させる動作プログラムの前記動作所要時間表示部により図示された動作所要時間の図を用いて指定した複数の動作指令の開始や終了のタイミングを、指定した特定の動作指令と同じになるように動作プログラムを調整することを特徴としている。
【発明の効果】
【０００７】
請求項１、４に記載の発明によると、動作プログラムの各指令の動作に要する動作所要時間を知ることができるため、複数のロボットや装置が並行して動作する動作プログラムにおける各指令の動作時間や開始タイミング、終了タイミング等の調整が容易になり、効率よく動作プログラムの作成や調整を行うことができる。
また、請求項２、５に記載の発明によると、並行して動作するロボットや装置の各指令に対する動作所要時間を時間を軸として図示することで、容易に動作所要時間を確認することができるため、時間調整やタイミング調整が容易になる。
また、請求項３に記載の発明によると、各ロボットや装置に対する動作所要時間を時間を軸として評価するようにすることで、動作中のロボットや装置に対して動作指令を送るといった誤りを容易に発見することができ、動作プログラムの調整が容易になる。
また、請求項６に記載の発明によると、動作指令の開始や終了を指定したタイミングに調整できるので、効率よく動作プログラムの調整が行える。
また、請求項７に記載の発明によると、複数の動作指令の開始や終了のタイミングを、指定した特定の動作指令と同じになるように動作プログラムを調整できるので、効率よく動作プログラムの調整が行える。
【発明を実施するための最良の形態】
【０００８】
以下、本発明の実施の形態について図を参照して説明する。
【実施例１】
【０００９】
図１は本発明の実施例１に係る動作プログラム作成支援システムを示す構成図である。
図１において、１は本発明による動作プログラム作成装置であり、２、３、４はコントローラであり、図示しないロボットやそれに付随する装置を動作プログラム作成装置１からの指令に従って動作させるものである。５はネットワークであり、動作プログラム作成装置１１とコントローラ２、３、４が接続され、情報のやりとりができるようになっている。
動作プログラム作成支援装置１において、１１はプログラム作成部であり、グラフィカルユーザインタフェースを使用してグラフィカルシンボル（以下、アイコンという）を配置することによる動作プログラム作成やキーボード１５、マウス１６を用いたプログラム作成者とのやり取りの全般を制御するものである。１２はプログラム解釈部であり、プログラム作成部１１によって作成された動作プログラムを解釈し、動作所要時間問合せ部１３に指令を通知する。また、プログラム解釈部１２は通知の際に動作指令に対応するアイコンのＩＤを共に通知する。動作所要時間問合せ部１３は、動作プログラムを解釈したプログラム解釈部１２から送られたロボット等の装置に対する指令に、動作所要時間算出指令を付加してコントローラ２、３、４へ指令を送信するものである。また、コントローラ２、３、４から返される動作所要時間を受け取り、受け取った時間をプログラム解釈部１２から通知されたアイコンのＩＤと共に記憶部１４に記録する。記憶部１４は、プログラム作成部１１で作成された動作プログラムや動作プログラム作成支援装置１で使用するデータ、例えばアイコンの形状データや、動作所要時間問合せ部１３で受け取った動作所要時間を記録する。１５はキーボードであり、プログラム作成部１１の操作、例えばパラメータ値の入力等を行うものである。１６はマウスでありキーボード１５と同様にプログラム作成部１１の操作、例えばアイコンの配置等を行うものである。１７は表示装置であり、プログラム作成部１１により作成された動作プログラムや動作所要時間等の情報を表示するものである。表示装置１７は多くはＣＲＴや液晶によるものである。１８は、動作所要時間問合せ部１３により収集され、記憶部１４に記録された動作所要時間を表示装置１７に表示する画面を作成する動作時間表示部である。
コントローラ２、３、４はそれぞれ動作所要時間算出部２０１、３０１、４０１を有している。動作所要時間算出部２０１、３０１、４０１は、動作所要時間問合せ部１３からの動作の指令に対する動作所要時間の問合せに対して、対象となる指令の動作所要時間を算出し動作所要時間問合せ部１３に返すものである。
【００１０】
図２は、プログラム作成部１１で作成された動作プログラムの表示の一例を示す図であり、表示装置１７に表示される。
図２において、線で接続された複数の箱は、動作プログラムの制御やロボットへの指令を表すアイコンである。これらのアイコンは、動作に必要なデータ（例えば、動作速度や移動先の座標、回転の角度、アイコンが対象とする装置等）をパラメータとして有しており、パラメータの値はプログラム作成者がキーボード１５やマウス１６を用いて入力する。入力方法としては、例えば、マウス１６によりアイコンをクリックすることでパラメータ入力ウインドウが表示し、キーボード１５でパラメータを入力する等いくつかの方法がある。
アイコンの例として図２におけるアイコンについて説明する。アイコンＩ１の開始とＩ９の終了と表示されたアイコンは動作プログラムの開始と終了を表すアイコンである。Ｉ２の発話と表示されたアイコンは、パラメータで示された言葉を発話装置で発声させるものである。分岐と表示されたＩ３のアイコンは、動作プログラムの実行を制御するアイコンであり、アイコンＩ３からアイコンＩ７の間にある３本の線上にあるアイコンを並行して実行することを示す。例えば、アイコンＩ４とアイコンＩ１０とアイコンＩ１１は並行して実行される。直進と表示されたアイコンＩ４、Ｉ６は移動体をパラメータで指定された位置まで直進させることを意味し、回転と表示されたアイコンＩ５は移動体をパラメータで指定された角度まで回転させることを意味する。関節と表示されたアイコンＩ１０は、ロボットの腕の各関節をパラメータで指定された角度まで曲げもしくは回転させることを意味している。また、直線と表示されたアイコンＩ１３はロボットの腕の特定の点をパラメータで指定された位置まで直線補間により移動させることを意味する。アイコンＩ１１とアイコンＩ１２は、アイコンＩ２と同様にパラメータで指定された文言を発話装置に発声させるものである。
プログラム解釈部１２は、このような動作プログラムのアイコンを線で接続された順に解釈し、動作指令に変換して動作所要時間問合せ部１３に送信する。
【００１１】
図３は、動作プログラム作成支援装置１における動作所要時間算出を行う要部のフローチャートである。以下、この図を用いて本発明の実施例１の処理を順を追って説明する。
まず、キーボード１５、マウス１６を用いてプログラム作成者がプログラム作成部１１で動作プログラムを作成する（Ｓ１）。
一通り動作プログラムの作成を行った後、プログラム作成者はキーボード１５やマウス１６を用いて、動作所要時間の問合せの開始をプログラム作成部１１に指示する（Ｓ２）。問合せ開始を指示されたプログラム作成部１１は、動作プログラムをプログラム解釈部１２へ送る。この時、プログラム作成部１１はプログラム解釈部１２へ動作所要時間の問合せを行うことを指示する。動作プログラムを受け取ったプログラム解釈部１２は、開始アイコンから動作プログラムの解釈を開始し、線で接続された順に各アイコンの持つパラメータを用いてアイコンから動作指令を作成する（Ｓ３）。次にプログラム解釈部１２は、作成した動作指令を動作所要時間問合せ部１３に送る。動作所要時間問合せ部１３は、受け取った動作指令に動作所要時間の算出を行う指令を付加し（Ｓ４）、動作指令の対象となるロボットや装置のコントローラ２、３、４に送信する（Ｓ５）。動作所要時間の算出指令を付加された動作の指令を受け取ったコントローラ２、３、４は、動作所要時間算出部２０１、３０１、４０１にて動作の指令を実行した場合に要する動作所要時間を算出する（Ｓ６）。
【００１２】
動作所要時間の算出は、動作に要する時間が算出できればどのような方法で行っても良い。例えば、実際に動作の指令を実行し時間計測を行っても良いし、コントローラ２、３、４内でシミュレーションを行って算出しても良い。また、実際に動作させる場合でも、安全のためアクチュエータ類を動作させずに制御部分のみ動作させるようにしても良い。動作所要時間算出部２０１、３０１、４０１において動作所要時間を算出した後、コントローラ２、３、４は、動作の指令に対する結果と算出した動作所要時間を動作プログラム作成支援装置１に送る（Ｓ７）。これを受け取った動作プログラム作成支援装置１の動作所要時間問合せ部１３は、動作指令の結果をプログラム解釈部１２に送り指令動作の完了を通知すると共に、記憶部１４に動作所要時間と指令を識別する情報（例えば、動作プログラム内での位置等）と共に記録する（Ｓ８）。指令の結果を受け取ったプログラム解釈部１２は、次の動作の指令を作成し、動作所要時間問合せ部１３に送る。以上のようにして、作成した動作プログラムのロボットや装置に対する各指令の動作所要時間を収集する。動作プログラムについて、一通り動作所要時間の収集が完了すると、プログラム解釈部１２はプログラム作成部１１に完了を通知する。次に、プログラム作成部１１は動作時間表示部１８に対して、動作所要時間の表示を指示する。動作所要時間の表示通知を受け取った動作時間表示部１８は、記憶部１４に記録された動作所要時間と動作プログラムを用いて、動作所要時間表示画面を作成し、表示装置１７に表示する（Ｓ９）。図４に動作所要時間の表示の一例を示す。
このようにして、各指令の動作所要時間を確認することができるため、動作プログラムの作成や動作速度等の指令パラメータの調整や並列動作させる場合の指令の配置等を効率よく行うことができる。
【実施例２】
【００１３】
次に、実施例２として、動作プログラム作成支援装置内に動作プログラムを評価する動作プログラム評価部を追加した場合を説明する。
図５は本発明の実施例２に係る動作プログラム作成支援装置を示す構成図である。
図５では、実施例１の構成に動作プログラム評価部１９が追加されている。動作プログラム評価部１９は、実施例１と同様にして収集され記憶部１４に記録された各指令の動作所要時間を用いて、動作プログラムが支障なく動作可能であるかを評価するものである。評価の一例としては、並列して動作する動作プログラムにおいて、同じロボットや装置への複数指令の同時送信の有無や動作中のロボットや装置への動作指令送信の有無である。動作プログラム評価部１９は、動作所要時間の取得が完了した後、プログラム作成部１１により呼び出され動作プログラムの評価を行い、その結果を記憶部１４へ記録する。動作プログラムの動作に支障が発生する場合は、問題となる指令を特定できる情報（例えば、動作プログラム内での位置等）を記録する。動作時間表示部１８は、これら評価結果も参照して動作所要時間の表示を行う。この時、評価結果に問題のある指令は色を変える等の表示を行う。
【実施例３】
【００１４】
次に、実施例３として、コントローラ側で時間を計測する場合について説明する。
図６は本発明の実施例３に係る動作プログラム作成システムを示す構成図である。
図６が図１と異なる点は、図１の動作プログラム作成支援装置１内の動作所要時間問合せ部１３に代えて動作所要時間計測部２０を備える点と、図１にあるコントローラ２、３、４内の動作所要時間算出部２０１、３０１、４０１が無い点である。
その他の構成は基本的には図１と同一であるが、プログラム解釈部１２と記憶部１４は一部実施例１の場合と異なる点があるので、その点を含めて図１と異なる点を説明する。
プログラム解釈部１２は、プログラム作成部１１により作成された動作プログラムを解釈し、各装置のコントローラへの動作指令を作成し、各コントローラ２、３、４へ送信する。また、プログラム解釈部１２は、各コントローラ２、３、４へ動作指令を送信する際に計測開始通知を、各コントローラ２、３、４が動作指令に対する動作を完了した際に計測終了通知を動作所要時間計測部２０に通知する。また、プログラム解釈部１２は通知の際に動作指令に対応するアイコンのＩＤを共に通知する。２０は動作所要時間計測部であり、プログラム解釈部１２から通知される計測開始通知と計測完了通知間の時間計測を行うものである。また、動作所要時間計測部２０は計測した時間をプログラム解釈部１２から通知されたアイコンのＩＤと共に記憶部１４に記録する。１４は記憶部であり、プログラム作成部１１で作成された動作プログラムや動作プログラム作成装置１で使用するデータ、例えばアイコンの形状データや、動作所要時間計測部２０で計測された時間データを記録するものである。
【００１５】
図７は、実施例３の動作プログラム作成支援装置において、動作プログラムの各指令の動作所要時間計測を行う要部のフローチャートである。以下、この図を用いて本発明の実施例３の処理を順を追って説明する。
まず、図２に示すような動作プログラム入力画面で、プログラム作成者がプログラム作成部１１でアイコンを配置し、動作プログラムを作成する（Ｓ１）。動作プログラム作成途中や作成後の適当なタイミングで、プログラム作成者が動作所要時間計測をプログラム作成部１１に指示する（Ｓ２）。指示方法には、例えば、画面上に計測開始ボタンを用意しマウス１６を用いてクリックするようにする、メニューから選択するようにする、キーボード１５を用いてコマンドを入力する等いろいろな方法がある。計測開始を指示されたプログラム作成部１１は、プログラム解釈部１２に動作所要時間計測のために動作プログラムを実行することを通知する。通知を受けたプログラム解釈部１２は開始アイコンから動作プログラムの解釈を開始し、線でつながれた順に各アイコンの持つパラメータを用いてアイコンから動作指令を作成する（Ｓ３）。次にプログラム解釈部１２は、動作指令の対象となる装置のコントローラに動作指令を送信する（Ｓ５）が、この時に動作所要時間計測部２０に対して計測開始通知を送る（Ｓ４）。また、通知と共に計測対象の動作指令がどのアイコンに対応するかの情報（例えば、動作プログラム内でユニークなアイコンのＩＤ等）も共に通知する。通知を受けた動作所要時間計測部２０では、アイコンの情報を内部に記録すると共に時間計測用のタイマーの起動や通知を受けた時刻を記録する等して計測を開始する（Ｓ６）。動作指令を送信したプログラム解釈部１２は、各装置のコントローラ２、３、４での動作指令に対する動作の完了を持つ（Ｓ７）。各装置のコントローラ２、３、４ごとに、動作完了時に完了通知を返すものやプログラム解釈部１２が一定周期でコントローラ２、３、４の動作状態を読み込み、プログラム解釈部１２が動作完了したか否かを判定する必要のあるもの等いろいろな種類があるが、プログラム解釈部１２はそれぞれに対応しているものとする。
【００１６】
動作指令が完了したことを認識したプログラム解釈部１２は、計測終了を動作所要時間計測部２０に指示する（Ｓ８）。通知を受けた動作所要時間計測部２０は、タイマーを停止して時間を算出したり、計測開始時刻と計測終了時刻から時間を算出したり、その計測方法に準じた方法で計測開始から終了までの時間を算出する（Ｓ９）。時間を算出した動作所要時間計測部２０は、アイコンの情報と算出した時間を対にして、実行した動作プログラムの情報として記憶部１４に記録する（Ｓ１０）。記憶部１４に記録が完了した後、動作所要時間計測部２０はプログラム解釈部１２に完了を通知し、次の動作指令の処理を行えることを知らせる（Ｓ１１）。通知を受けたプログラム解釈部１２は、次のアイコンの処理を開始する。以上のようにして、動作プログラムの終了アイコンに到達するまでＳ３〜Ｓ１１を繰り返し、各アイコンの動作所要時間を計測する。
動作所要時間計測時に動作指令を受けた各装置のコントローラ２、３、４は、時間計測のために実際にロボット等を駆動しても良いが、安全等を考慮しモータ等を駆動せずに制御部の演算を行うのみにしても良い。この場合、コントローラ側では制御部の演算のみでもモータ等を駆動した場合と同じ動作時間になるようにする。また、この場合では動作指令に動作所要時間計測である事を示す情報を付加したり、各装置のコントローラ２、３、４を予め動作所要時間計測状態のような一種のドライラン状態（速度を実際の指令と異なる値として動作を確認する状態）にするといった処理をプログラム解釈部１２が行う。
動作プログラム中に図２におけるＩ３のような分岐により並行動作するようになっていた場合、プログラム解釈部１２は記述された通りに並行動作して時間計測を行っても良いし、Ｉ４〜Ｉ６、Ｉ１０、Ｉ１３、Ｉ１１、Ｉ１２といった様にひとつずつ時間計測を行っても良い。また、どちらを用いるかプログラム作成者の指示で変更できるようにしても良い。並行して時間計測を行う場合は、動作所要時間計測部２０を複数用いて各アイコンの時間計測を行う、ひとつで複数のアイコンの時間計測を行えるように動作所要時間計測部２０を構成する等の方法が考えられるが、支障なく時間計測が行えるならば、どのような方法を用いても良い。
【００１７】
動作プログラム中の各アイコンの時間計測が終了した後、プログラム解釈部１２は時間計測が終了したことをプログラム作成部１１に通知する。通知を受けたプログラム作成部１１は、動作時間表示部１８に画面作成を行い表示装置１７に表示するように通知する。通知を受けた動作時間表示部１８は、開始アイコンを時刻０として時間を軸として各アイコンの動作所要時間を示す図４のような図を作成する。この時、図２のアイコンＩ３やＩ７の様な動作プログラムの実行制御を行うアイコンは図示されない。
以上のようにして、各指令の動作所要時間を視覚的に確認することができるため、動作プログラムの作成や動作速度等の指令パラメータの調整や並列動作させる場合の指令の配置等を効率よく行うことができる。
【実施例４】
【００１８】
次に、実施例４として、指定したアイコンの開始や終了が指定したタイミングになるように動作プログラムを調整するプログラム調整部を追加した場合を説明する。
図８は本発明の実施例４に係る動作プログラム作成装置を示す構成図である。
図８では、実施例３の構成にプログラム調整部２１が追加されている。プログラム調整部２１は、指定したアイコンの開始や終了が指定したタイミングになるように動作プログラムを調整するものである。調整方法は、例えば、現在よりも開始タイミングを時間的に遅くする場合、指定したアイコンの前にスリープ（一時休止）を示すアイコンを挿入する。この時、スリープアイコンのスリープ時間パラメータは開始を遅らせる時間となる。また、この時、指定のアイコンの前に既に配置されているアイコンがスリープアイコンであった場合は、既にあるスリープアイコンのスリープ時間パラメータに開始を遅らせる時間を加算する。一方、開始タイミングを現在よりも時間的に早める場合、まず、指定したアイコンの前に配置されたアイコンを調べる。前に配置されたアイコンがスリープアイコンである場合、スリープアイコンのスリープ時間とアイコンの開始を早める時間を比較し、等しいかスリープ時間の方が大きい場合、スリープアイコンのスリープ時間をアイコンの開始を早める時間分だけ減じる。スリープ時間の方が小さい場合、変更不可能をプログラム作成者に通知する。この時、変更しないか、早める時間分には足りないが変更を実行するか、をプログラム作成者に選択させる様にしても良い。前に配置されたアイコンがスリープアイコン以外のアイコンであった場合、変更不可能をプログラム作成者に通知する。
開始タイミングの入力は、例えば、動作時間表示部１８によって作成され表示装置１７に表示された動作所要時間の図上で対象のアイコンをマウス１６を用いてクリックすると、変更する時間を入力する入力ウインドウを開くようにする方法や、動作所要時間の図で対象のアイコンをマウス１６を用いて時間軸方向に移動することで変更する時間が入力される方法等が考えられる。
アイコンの終了タイミングを変更する場合も同様な処理を行う。
このようにしてプログラム調整部２１により変更された動作プログラムは、プログラム作成者の指示により、プログラム作成部１１によって記憶部１４に記録される。
以上のようにして、指定したアイコンの開始タイミングが変更できることにより、動作プログラムの調整を効率よく行うことができるようになる。
【実施例５】
【００１９】
本実施例での動作プログラム作成装置の構成は実施例４の場合と同様であるが、プログラム調整部２１が複数のアイコンを同時に取り扱えるようにしており、これらの複数指定したアイコンの開始や終了のタイミングを、指定した特定のアイコンと一致するように、スリープアイコンの挿入やスリープ時間の変更ができるようにしている。また、複数のアイコンの開始と特定アイコンの終了を一致させたり、その逆もできるようにしている。
例として、複数のアイコンの終了タイミングを特定のアイコンの終了タイミングに一致させる場合について説明する。まず、実施例３に示す方法で、動作所要時間を計測し、動作所要時間の図を作成する。次に、プログラム作成者は動作所要時間の図上で、マウス１６を用いて一致のもととなる特定のアイコンを選択する。同様にプログラム作成者は、特定のアイコンと一致させたい複数のアイコンを選択する。次に、プログラム作成者は、特定のアイコンの開始に合わせるか終了に合わせるか、また、複数のアイコンの開始を合わせるか、終了を合わせるかを図示しないメニュー等を用いて指定する。これらの指定を受けたプログラム作成部１１は、上記の一致条件と特定のアイコンや複数のアイコンを示す情報（アイコンのＩＤ等）をプログラム調整部２１に送り調整開始を指示する。調整開始を指示されたプログラム調整部２１は、調整可能かを調査し、実施例４と同様な手法でスリープアイコンの挿入等を行う。調整可能かの調査は、例えば、複数のアイコンのうち、シーケンシャルに実行されるアイコン、つまり、同じ分岐の線上に乗っているアイコンが無いこと等である。
このようにすることで、複数のアイコンの開始や終了を特定のアイコンと一致させることができるため、例えば、発話と連携したロボットの振り付け動作のような並行動作する装置間での動作タイミングの調整が容易に行えるようになる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施例１に係る動作プログラム作成支援システムの構成図
【図２】動作プログラムの一例を示す図
【図３】動作所要時間算出を行う要部のフローチャート
【図４】動作所要時間の表示画面の一例を示す図
【図５】本発明の実施例２に係る動作プログラム作成支援装置の構成図
【図６】本発明の実施例３に係る動作プログラム作成支援装置の構成図
【図７】動作プログラムの各指令の動作所要時間計測を行う要部のフローチャート
【図８】本発明の実施例４に係る動作プログラム作成支援装置の構成図
【図９】従来のロボットシミュレーションの装置の表示画面を示す図
【図１０】従来のプログラム作成装置の表示画面を示す図
【図１１】図１０に示す表示画面のロボットモデルを示す図
【符号の説明】
【００２１】
１  動作プログラム作成支援装置
２、３、４  ロボットまたは付随装置のコントローラ
１１  プログラム作成部
１２  指令解釈部
１３  動作所要時間問合せ部
１４  記憶部
１５  キーボード
１６  マウス
１７  表示装置
１８  動作時間表示部
１９  動作プログラム評価部
２０  動作所要時間計測部
２１  プログラム調整部
２０１、３０１、４０１  動作所要時間算出部
【図１】
2009070181.tif 000003
【図２】
2009070181.tif 000004
【図３】
2009070181.tif 000005
【図４】
2009070181.tif 000006
【図５】
2009070181.tif 000007
【図６】
2009070181.tif 000008
【図７】
2009070181.tif 000009
【図８】
2009070181.tif 000010
【図９】
2009070181.tif 000011
【図１０】
2009070181.tif 000012
【図１１】
2009070181.tif 000013