(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-13
(45)【発行日】2024-08-21
(54)【発明の名称】システム及び制御装置
(51)【国際特許分類】
G05B 19/18 20060101AFI20240814BHJP
B25J 13/00 20060101ALI20240814BHJP
【FI】
G05B19/18 C
B25J13/00 Z
(21)【出願番号】P 2023522156
(86)(22)【出願日】2021-05-21
(86)【国際出願番号】 JP2021019346
(87)【国際公開番号】W WO2022244231
(87)【国際公開日】2022-11-24
【審査請求日】2023-12-08
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100106002
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100165157
【氏名又は名称】芝 哲央
(74)【代理人】
【識別番号】100160794
【氏名又は名称】星野 寛明
(72)【発明者】
【氏名】山本 知之
(72)【発明者】
【氏名】鈴木 元
(72)【発明者】
【氏名】寺本 貴一
【審査官】野口 絢子
(56)【参考文献】
【文献】特開2005-18605(JP,A)
【文献】特開平6-67715(JP,A)
【文献】特開2001-27904(JP,A)
【文献】特開2009-279608(JP,A)
【文献】特開2004-337710(JP,A)
【文献】国際公開第2022/168337(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G05B19/18-19/416
G05B19/42-19/46
B25J 1/00-21/02
(57)【特許請求の範囲】
【請求項1】
互いに協働するロボットと、工作機械又は他のロボットのいずれかと、を含むシステムであって、
時刻を周期的に更新する基準時計を備え、
前記ロボット及び/又は前記工作機械若しくは他のロボットのいずれかは、それぞれ
内部時計と、
作成された動作プログラムを前記内部時計に基づいて予め実行させることで、前記動作プログラムの同期開始命令から同期終了命令までの位置と時刻とのデータを保存する保存部と、
前記動作プログラムの同期動作時に、前記基準時計及び前記保存部により保存された、前記動作プログラムの位置と時刻とのデータに基づいて、前記ロボット及び/又は前記工作機械若しくは他のロボットのいずれかを前記基準時計に同期して動作させる動作部と、を備えるシステム。
【請求項2】
互いに協働するロボットと、工作機械又は他のロボットのいずれかと、を含むシステムにおいて、
時刻を周期的に更新する基準時計を備え、
前記ロボット及び/又は前記工作機械若しくは他のロボットのいずれかは、それぞれ
内部時計と、
作成された動作プログラムを前記ロボット及び/又は前記工作機械若しくは他のロボットのいずれかをシミュレートするシミュレーション装置上で予め実行させることで、前記動作プログラムの同期開始命令から同期終了命令までの位置と時刻とのデータを保存する保存部と、
前記動作プログラムの同期動作時に、前記基準時計及び前記保存部により保存された、前記動作プログラムの位置と時刻とのデータに基づいて、前記ロボット及び/又は前記工作機械若しくは他のロボットのいずれかを前記基準時計に同期して動作させる動作部と、を備えるシステム。
【請求項3】
前記動作プログラムの位置と時刻とのデータは、前記動作プログラムを実行した時の補間周期毎の位置と時刻のデータである、請求項1又は請求項2に記載のシステム。
【請求項4】
前記ロボット及び/又は前記工作機械若しくは他のロボットのいずれかは、それぞれ
同期開始位置又は同期開始時刻を任意に指定する指定部をさらに備え、
前記動作部は、同期動作の開始時に、指定された、前記同期開始位置又は同期開始時刻に対応する前記保存部により保存された前記動作プログラムの位置と時刻とのデータ上の位置又は時刻で待機し、前記基準時計の時刻が指定した前記同期開始時刻に一致した場合、前記基準時計と前記保存部により保存された前記動作プログラムの位置と時刻とのデータとに基づいて、前記ロボット及び/又は前記工作機械又は他のロボットのいずれかを同期動作させる、請求項1から請求項3のいずれか1項に記載のシステム。
【請求項5】
前記ロボット及び/又は前記工作機械若しくは他のロボットのいずれかは、それぞれ
前記指定部により前記ロボット及び/又は前記工作機械若しくは他のロボットのいずれかを一時停止あるいは同期終了させる位置又は時刻が指定された場合、前記保存部により保存された前記動作プログラムの位置と時刻とのデータに基づいて、減速開始すべき位置又は時刻を算出する減速開始タイミング算出部を備える、請求項4に記載のシステム。
【請求項6】
前記ロボット及び/又は前記工作機械若しくは他のロボットのいずれかは、それぞれ
一時停止後の動作の再開において、前記保存部により保存された前記動作プログラムの位置と時刻とのデータに基づいて再開処理を行う再開処理部を備える、請求項5に記載のシステム。
【請求項7】
前記ロボット及び/又は前記工作機械若しくは他のロボットのいずれかは、それぞれ
前記同期開始位置又は同期開始時刻の指定を受け付けるユーザインタフェースを表示する表示部をさらに備える、請求項4から請求項6のいずれか1項に記載のシステム。
【請求項8】
前記ロボット及び/又は前記工作機械若しくは他のロボットのいずれかは、それぞれ
前記保存部により保存された前記動作プログラムの位置と時刻とのデータの図示、あるいは前記保存部により保存された前記動作プログラムの位置と時刻とのデータの位置と時刻との一覧の出力を受け付けるユーザインタフェースをさらに備える、請求項4から請求項6のいずれか1項に記載のシステム。
【請求項9】
請求項1から請求項8のいずれか1項に記載のシステムにおいて使用される前記ロボットの制御装置。
【請求項10】
請求項1から請求項8のいずれか1項に記載のシステムにおいて使用される前記工作機械又は他のロボットのいずれかの制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、システム及び制御装置に関する。
【背景技術】
【0002】
ロボットと、工作機械と、が互いに協働して作業を行うことがある。このような場合には、ロボットと、工作機械と、(以下、これらを適宜「機器」ともいう)が互いに干渉しないようにインターロック信号が設置される。そして、1つの機器における作業が終了したら、インターロック信号に基づいて他の機器が作業エリアに進入するようにしていた。これにより、機器同士が互いに干渉するのを防止することができる。
近年では、さらに作業効率を向上させるために、システム全体に1つのシステムクロック(基準時計)を導入し、機器同士を同期させる技術が提案されている。例えば、特許文献1~特許文献3参照。いずれも機器それぞれが内部時計と、各機器の位置と内部時計が対応した動作プログラムを有し、システムクロック(基準時計)に従って各機器が自身の内部時計を調整、又は各機器の内部時計の調整に合わせて基準時計を調整することにより、システム内の各機器の同期を取っている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開平3-60990号公報
【文献】特公平8-381号公報
【文献】特開2009-279608号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来、ロボットの同期動作のプログラムを動作文による教示により同期位置を指定する場合、その同期位置は、プログラム内のある動作文の教示点でなければならない。しかしながら、例えば、
図11Aに示すようなプレス間ハンドリング動作を行う
図11Bに示す動作プログラムでは、例えば同期開始/終了したい位置(例えば、ロボットの正面の位置等)が、教示されているとは限られず、不都合が生じてしまう。
なお、
図11Aの番号「1」から「6」の位置は、
図11Bの動作プログラムの教示位置P(1)~P(6)に対応する。
【0005】
そこで、ロボットの同期動作のプログラムを動作文による教示により予め同期位置を指定することに換えて、同期位置を、ロボットの動作軌跡上の任意の位置又は時刻に基づいて指定することを可能とする技術が望まれている。
【課題を解決するための手段】
【0006】
(1)本開示のシステムの一態様は、互いに協働するロボットと、工作機械又は他のロボットのいずれかと、を含むシステムであって、時刻を周期的に更新する基準時計を備え、前記ロボット及び/又は前記工作機械若しくは他のロボットのいずれかは、それぞれ内部時計と、作成された動作プログラムを前記内部時計に基づいて予め実行させることで、前記動作プログラムの同期開始命令から同期終了命令までの位置と時刻とのデータを保存する保存部と、前記動作プログラムの同期動作時に、前記基準時計及び前記保存部により保存された、前記動作プログラムの位置と時刻とのデータに基づいて、前記ロボット及び/又は前記工作機械若しくは他のロボットのいずれかを前記基準時計に同期して動作させる動作部と、を備える。
【0007】
(2)本開示のシステムの一態様は、互いに協働するロボットと、工作機械又は他のロボットのいずれかと、を含むシステムにおいて、時刻を周期的に更新する基準時計を備え、前記ロボット及び/又は前記工作機械若しくは他のロボットのいずれかは、それぞれ内部時計と、作成された動作プログラムを前記ロボット及び/又は前記工作機械若しくは他のロボットのいずれかをシミュレートするシミュレーション装置上で予め実行させることで、前記動作プログラムの同期開始命令から同期終了命令までの位置と時刻とのデータを保存する保存部と、前記動作プログラムの同期動作時に、前記基準時計及び前記保存部により保存された、前記動作プログラムの位置と時刻とのデータに基づいて、前記ロボット及び/又は前記工作機械若しくは他のロボットのいずれかを前記基準時計に同期して動作させる動作部と、を備える。
【0008】
(3)本開示の制御装置の一態様は、(1)又は(2)のシステムにおいて使用される前記ロボットの制御装置。
【0009】
(4)本開示の制御装置の一態様は、(1)又は(2)のシステムにおいて使用される前記工作機械又は他のロボットのいずれかの制御装置。
【発明の効果】
【0010】
一態様によれば、ロボットの同期動作のプログラムを動作文による教示により予め同期位置を指定することに換えて、同期位置を、ロボットの動作軌跡上の任意の位置又は時刻に基づいて指定することが可能となる。
【図面の簡単な説明】
【0011】
【
図1】一実施形態に係るシステムの構成の一例を示す図である。
【
図2】制御装置の機能的構成例を示す機能ブロック図である。
【
図3】一実施形態に係る動作プログラムの一例を示す図である。
【
図4】一実施形態に係る補間データの一例を示す図である。
【
図5A】補間データの表示画面の一例を示す図である。
【
図5B】補間データの表示画面の一例を示す図である。
【
図6】減速開始タイミング算出部の動作を説明する一例を示す図である。
【
図7】内部時計の増分時間に対するフィルタリング処理の一例を示す図である。
【
図8】制御装置の保存処理について説明するフローチャートである。
【
図9】制御装置の同期動作処理について説明するフローチャートである。
【
図10】一時停止位置を設定する表示画面の一例を示す図である。
【
図11A】プレス間ハンドリング動作の軌道の一例を示す図である。
【
図11B】
図11Aに示すプレス間ハンドリング動作を行う動作プログラムの一例を示す図である。
【発明を実施するための形態】
【0012】
まず、本実施形態の概略を説明する。本実施形態では、システムは、互いに協働するロボットと工作機械又は他のロボットのいずれかとを含み、ロボット及び/又は工作機械若しくは他のロボットのいずれかは、それぞれ、作成された動作プログラムを予め実行させることで、内部時計に基づいて動作プログラムの同期開始命令から同期終了命令までの位置と時刻とのデータを保存する。システムのロボット及び/又は工作機械若しくは他のロボットのいずれかは、動作プログラムの同期動作時に、基準時計及び保存された動作プログラムの位置と時刻とのデータに基づいて、ロボット及び/又は工作機械若しくは他のロボットのいずれかを基準時計に同期して動作する。
【0013】
これにより、本実施形態によれば、[発明が解決しようとする課題]の欄で述べた「ロボットの同期動作のプログラムを動作文による教示により予め同期位置を指定することに換えて、同期位置を、ロボットの動作軌跡上の任意の位置又は時刻に基づいて指定する」という課題を解決することができる。
以上が本実施形態の概略である。
【0014】
次に、本実施形態の構成について図面を用いて詳細に説明する。ここでは、工作機械として2台のプレス機械の場合を例示する。なお、本発明は、工作機械がプレス機械以外の機械や他のロボット等の場合に対しても適用可能である。
図1は、一実施形態に係るシステムの構成の一例を示す図である。
図1に示すように、システム1は、プレス機械10a、10b、プレス機械10a、10bを制御する制御装置100a、100b、ロボットRa、ロボットRaを制御する制御装置100c、及びPLC20を有する。
図1に示すシステム1では、例えば、ロボットRaは、プレス機械10aによりプレスされたワーク(図示しない)を取り出してプレス機械10bに設置し、プレス機械10bは、設置されたワーク(図示しない)をプレスする。プレス機械10bによりプレスされたワーク(図示しない)は、例えば、図示しないロボットにより取り出される。
【0015】
制御装置100a~100c、及びPLC20は、図示しない接続インタフェースを介して互いに直接接続されてもよい。また、制御装置100a~100c、及びPLC20は、LAN(Local Area Network)やインターネット等の図示しないネットワークを介して相互に接続されていてもよい。この場合、制御装置100a~100c、及びPLC20は、かかる接続によって相互に通信を行うための図示しない通信部を備えている。
【0016】
PLC20は、当業者にとって公知のプログラマブルロジックコントローラであり、プレス機械10a、10bを制御する制御装置100a、100b、及びロボットRaを制御する制御装置100cの上位制御装置として動作する。
また、PLC20は、時刻を周期的に更新する基準時計201を含む。
【0017】
プレス機械10a、10bは、当業者にとって公知のプレス機械であり、制御装置100a、100bそれぞれからの動作指令に基づいて動作する。
【0018】
ロボットRaは、例えば、6軸の垂直多関節ロボット等であり、制御装置100cからの駆動指令に基づいて、ロボットRaに含まれる各関節軸に配置される図示しないサーボモータを駆動することにより、プレス機械10aによりプレスされたワーク(図示しない)を取り出してプレス機械10bに設置する。また、ロボットRaの先端部には、例えば、ワーク(図示しない)を取り出すための把持ハンド等のエンドエフェクタが取り付けられる。
【0019】
制御装置100a、100bは、例えば当業者にとって公知の数値制御装置であり、後述する内部時計111a、111bを含み、制御情報と内部時計111a、111bとに基づいて動作指令を生成し、生成した動作指令をプレス機械10a、10bそれぞれに送信する。これにより、制御装置100a、100bは、プレス機械10a、10bそれぞれの動作を制御する。
なお、プレス機械10a、10bがロボット等の場合、制御装置100a、100bは、ロボット制御装置等でもよい。
また、制御装置100a、100bの制御対象の装置はプレス機械10a、10bやロボットに限定されず、産業機械全般に広く適用することができる。産業機械とは、例えば、工作機械、産業用ロボット、サービス用ロボット、鍛圧機械及び射出成形機といった様々なアクチュエータで駆動される機械を含む。
本実施形態では、制御装置100a、100bとして、数値制御装置を例示する。
【0020】
制御装置100cは、後述する内部時計111cを含み、動作プログラム及び内部時計111cに基づいてロボットRaに対して駆動指令を出力し、ロボットRaの動作を制御するロボット制御装置(「ロボットコントローラ」とも呼ばれる)である。
以下、制御装置100a~100cのそれぞれを個々に区別する必要がない場合、これらをまとめて「制御装置100」という。また、内部時計111a~111cのそれぞれを個々に区別する必要がない場合、これらをまとめて「内部時計111」という。
【0021】
制御装置100は、制御する機器自体の内部時計111の時刻をPLC20の基準時計201の時刻に一致させるために、基準時計201の時刻を常時監視する。そして、基準時計201の時刻と内部時計111の時刻に差が存在する場合には、制御装置100は、公知の手法(例えば、特許文献3等)を用いて、基準時計201に一致するように機器自体の内部時計111の進む割合(以下、「増分時間」ともいう)を変更する補正計算(以下「内部時計補正計算」ともいう)を補間周期毎に行う。これにより、ある時間の経過後には基準時計201の時刻と内部時計111の時刻とが一致するようになる。
【0022】
なお、システム1内の機器の中で、内部時計補正計算を行っても基準時計201と内部時計111との間の時間差が減少せず、一定の時間差を生じたまま時間が経過する機器が存在する場合がある。そのような場合には、当該機器の制御装置100は内部時計補正計算によって基準時計201の時刻と内部時計111の時刻とを一致させることは不可能であり、基準時計201の増分時間がその機器の内部時計111の増分時間よりも大きいと判断する。この場合、当該機器の制御装置100は、公知の手法(例えば、特許文献3等)を用いて、当該機器自体の内部時計111が基準時計201に同期可能な基準時計201の増分時間を再計算(以下、「基準時計補正計算」ともいう)して、増分時間を基準時計201に出力する。
【0023】
これにより、基準時計201の増分時間を変更させた機器は基準時計に同期することができる。その後、他の機器の制御装置100は、増分時間変更後の基準時計201と他の機器の内部時計111の時刻を一致させるように内部時計補正計算を行う。したがって、各機器が基準時計201と同期し、その結果、システム1内の機器同士が同期して動作することができる。
【0024】
図2は、制御装置100の機能的構成例を示す機能ブロック図である。
図2に示すように、制御装置100は、制御部110、記憶部130、入力部150、及び表示部170を有する。また、制御部110は、内部時計111、内部時計補正部112、基準時計補正部113、保存部114、動作部115、減速開始タイミング算出部116、及び再開処理部117を有する。
【0025】
<記憶部130>
記憶部130は、例えば、ROM(Read Only Memory)やHDD(Hard Disk Drive)等であり、後述する制御部110が実行するシステムプログラム及びアプリケーションプログラム等を格納する。また、記憶部130は、プログラム記憶部131、及び補間データ記憶部132を備える。
【0026】
プログラム記憶部131は、例えば、機器を動作させるための動作毎の動作プログラム(教示プログラム)を格納する。
図3は、一実施形態に係る動作プログラムの一例を示す図である。なお、
図3では、ロボットRaの動作ブログラムを示すが、プレス機械10a、10bについても同様である。
図3に示す動作プログラムは、
図11Aに示した教示位置P(1)~P(6)を通過するようにロボットRaの動作を制御する。
図11Bの従来の動作プログラムは、基準時計201と同期させたい2行目から7行目の動作文に時計命令(例えば、「トケイ200」等)を付加したのに対して、
図3の動作プログラムは、同期させたい3行目から8行目の動作文を、2行目の同期開始命令(「ドウキカイシ トケイ100」)及び9行目の同期終了命令(「ドウキシュウリョウ」)で囲む点で相違する。
なお、以下の説明では、プログラム記憶部131に格納される動作プログラムは、他の機器と衝突等の干渉が起きないように、同期開始時刻等が予め調整されているものとする。
【0027】
補間データ記憶部132は、例えば、後述する保存部114により、例えば
図3の動作プログラムを基準時計201に同期しないモードで予め実行させることで、内部時計111に基づいて動作プログラムの同期開始命令から同期終了命令までの補間周期(例えば、1ms等)毎の機器の位置と時刻とのデータを、補間データとして機器及び動作プログラム毎に格納する。なお、機器の位置とは、例えば、プレス機械10a、10bの場合にはスライドの位置を示し、ロボットRaの場合にはエンドエフェクタの位置を示す。
図4は、一実施形態に係る補間データの一例を示す図である。なお、
図4では、ロボットRaの補間データを示すが、プレス機械10a、10bについても同様である。また、
図4の補間データでは、補間周期が1msの場合を示すが、任意の値の補間周期の場合でも同様である。
【0028】
<入力部150>
入力部150は、例えば、キーボードや後述する表示部170に配置されたタッチパネル等であり、ユーザの入力を受け付ける。入力部150は、例えば、作業者等のユーザの入力操作に基づいて、
図3に示すように、動作プログラムの2行目に示す100ms等の同期開始時刻(又は同期開始位置)を任意に指定する指定部として機能してもよい。
【0029】
<表示部170>
表示部170は、例えば、液晶ディスプレイ等であり、補間データ記憶部132に格納された補間データを表示したり、指定部としての入力部150を介して同期開始時刻や同期開始位置の指定を受け付けるユーザインタフェースを表示したりする。
図5A及び
図5Bは、補間データの表示画面の一例を示す図である。
図5Aの表示画面では、番号「1」から「6」は教示位置P(1)~P(6)を示し、「0」、「100」、「200」、「300」、「400」、「500」、「600」、及び「700」は、各時刻における位置を示す。
図5Aでは、教示位置P(1)~P(6)それぞれは、時刻「200」、「300」、「400」、「500」、「600」、「700」、「0」それぞれに対応する。
なお、制御装置100は、
図5Aの表示画面において、入力部150を介してユーザにより軌跡上の位置がタッチ等の入力を受け付けた場合、入力された位置の時刻を表示するようにしてもよい。
また、制御装置100は、
図5Aの表示画面をユーザインタフェースとして表示し、入力部150を介してユーザにより軌跡上の位置がタッチ等の入力を受け付けた場合、入力された位置又は時刻を、同期開始位置、同期開始時刻、又は一時停止位置等の指定として受け付けてもよい。
また、
図5Aの表示画面のユーザインタフェースは、出力ボタン(図示しない)を有してもよい。この場合、入力部150を介してユーザにより出力ボタン(図示しない)が押下された場合、補間データの時刻と位置の一覧が所定の形式で出力されてもよい。
【0030】
また、表示部170は、
図5Bの表示画面をユーザインタフェースとして表示し、入力部150を介してユーザにより「100ms」等の同期動作開始位置としての時刻が入力された場合、当該時刻に対する位置を表示するようにしてもよい。なお、
図5Bの「外部時計」とは、基準時計201を示す。
【0031】
<制御部110>
制御部110は、CPU、ROM、RAM、CMOS(Complementary Metal-Oxide-Semiconductor)メモリ等を有し、これらはバスを介して相互に通信可能に構成される、当業者にとって公知のものである。
CPUは制御装置100を全体的に制御するプロセッサである。CPUは、ROMに格納されたシステムプログラム及びアプリケーションプログラムを、バスを介して読み出し、システムプログラム及びアプリケーションプログラムに従って制御装置100全体を制御する。これにより、
図2に示すように、制御部110が、内部時計111、内部時計補正部112、基準時計補正部113、保存部114、動作部115、減速開始タイミング算出部116、及び再開処理部117の機能を実現するように構成される。RAMには一時的な計算データや表示データ等の各種データが格納される。また、CMOSメモリは図示しないバッテリでバックアップされ、制御装置100の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。
【0032】
内部時計111は、制御部110内で補間周期(例えば、1ms等)毎に任意の増分時間が加算されることにより時刻を更新する。
具体的には、内部時計111の増分時間Δtcは、制御装置100で固定値の補間周期ITPと、現在設定されているオーバライドOVRDとを用いて(式1)から算出される。
Δtc=ITP×OVRD (式1)
(式1)が示すように、オーバライドOVRDが100%の場合には内部時計111の増分時間Δtcと補間周期ITPとが等しくなり、オーバライドOVRDの値を変更することにより内部時計111の増分時間Δtcを変更することができる。
ここで、オーバライドOVRDとは動作プログラムに記載されたロボットRaの動作速度に対する割合である。例えば、オーバライドOVRDが100%に設定され、
図3に示すように、動作プログラムに2000mm/secの動作速度が設定されている場合には、ロボットRaは2000mm/secの速度で動作し、オーバライドOVRDが50%の場合には、ロボットは1000mm/secの速度で動作する。ここで、オーバライドOVRDの最大値は100%であり、オーバライドを「1.0」として計算し、オーバライドOVRDが50%の場合、オーバライドを「0.5」として計算する。
【0033】
内部時計補正部112は、例えば、公知の手法(例えば、特許文献3等)を用いて、内部時計111の時刻が基準時計201の時刻に一致するように内部時計111の時刻を補正する。
【0034】
基準時計補正部113は、例えば、公知の手法(例えば、特許文献3等)を用いて、内部時計111が、内部時計111の補正計算をしても基準時計201に同期して動作できないと判断した場合、内部時計111が基準時計201に同期可能な基準時計201の増分時間を計算する。基準時計補正部113は、計算した増分時間のデータを基準時計201に送信し、基準時計201の増分時間を変更する。
そうすることで、作業遅れが生じた機器の内部時計111は基準時計201に同期するようになる。そして、作業遅れが生じていない他の機器の内部時計補正部112は補正後の基準時計201に同期するように、当該機器における内部時計111の増分時間を補正する。最終的に、システム1内の全機器は、遅れが発生した機器の内部時計111の時刻に同期するようになる。
【0035】
保存部114は、例えば、他の機器と同期動作を行うにあたり、作成された
図3の動作プログラム等を基準時計201に同期しないモード、すなわち内部時計111の時刻に基づいて予め実行させることで、
図4に示すように、動作プログラムの同期開始命令から同期終了命令までのロボットRaのエンドエフェクタ等の機器の位置と時刻とのデータ(補間データ)を補間データ記憶部132に保存する。
【0036】
動作部115は、動作プログラムの同期動作時に、基準時計201及び補間データ記憶部132に保存された位置と時刻とのデータ(補間データ)に基づいて、各機器を基準時計201に同期して動作させる。
具体的には、動作部115は、例えば、入力部150を介してユーザから基準時計201に同期するモードでの実行指示を受け付けた場合、
図4の補間データに基づいて、
図3の動作プログラムの2行目の時計命令が示す「100ms」に対応する位置(x,y,z)=(2500,0,1000)にロボットRaのエンドエフェクタを移動させ、内部時計111の時刻が「100ms」になるまで待機する。動作部115は、
図4の補間データに基づいて、100ms以降における補間周期(1ms)毎、すなわち101ms、102ms等の時刻に対応する位置に移動させる動作指令を算出する。動作部115は、算出した動作指令に基づいて、ロボットRaを基準時計201に同期して動作させる。
なお、プレス機械10a、10bの動作部115は、ロボットRaの場合と同様に、プレス機械10a、10bを同期動作させる。
【0037】
減速開始タイミング算出部116は、指定部としての入力部150により機器を一時停止あるいは同期終了させる位置又は時刻が指定された場合、保存部114により保存された動作プログラムの補間データに基づいて減速開始すべき位置又は時刻を算出する。
図6は、減速開始タイミング算出部116の動作を説明する一例を示す図である。
図6では、ある期間におけるロボットRaの軌道を実線で示す。当該軌道上の各点は、補間データに保存されている補間周期(例えば、1ms)毎の位置を例示する。また、丸印は、例えば、入力部150を介して指定された一時停止の位置を示す。
なお、例えば、ロボットRaのエンドエフェクタが
図6に示す丸印の一時停止位置に来たときに、(式1)のオーバライドOVRDを「0」に設定、すなわち内部時計111の増分時間Δtcを瞬時に「0」に変更した場合、動作速度も急激に変化するのでロボットRaに衝撃を与えることになり、ロボットRaが損傷する場合がある。また、プレス機械10a、10bについても同様である。
そこで、減速開始タイミング算出部116は、公知の手法(例えば、特許文献3等)を用いて、内部時計111の増分時間Δtcにフィルタリング処理を施すことで、機器を安全に停止させることができるように、補間データに基づいて減速開始すべき位置又は時刻を算出する。
【0038】
図7は、内部時計111の増分時間Δtcに対するフィルタリング処理の一例を示す図である。
図7に示すように、減速開始タイミング算出部116におけるフィルタリングは、1補間周期で出力すべき増分時間Δtcを、フィルタの時定数分の平均値として出力する(以下、「平均化」ともいう)。具体的には、減速開始タイミング算出部116は、1段目時定数が8補間分、2段目時定数が4補間分のフィルタリング、すなわち平均化を2回行う。
減速開始タイミング算出部116は、例えば、増分時間Δtcの入力を「50」から「0」に変化させる場合、
図7に示すように、例えば1補間目の増分時間Δtcは、1段目の平均化で「44」になり、2段目の平均化で「49」となって出力される。減速開始タイミング算出部116は、このような処理を12補間分実行することにより、増分時間Δtcを「50」から「0」に滑らかに変化させ、機器を安全に停止させることができる。
換言すれば、減速開始タイミング算出部116は、
図7に示すフィルタリングを行うことで、入力部150を介して一時停止位置(あるいは同期終了位置)が指定された場合、補間データに基づいて指定された一時停止位置(あるいは同期終了位置)から12補間周期前の位置又は時刻を、減速開始すべき位置又は時刻として算出することができる。
【0039】
再開処理部117は、例えば、一時停止後の動作の再開において、入力部150を介してユーザにより機器の同期動作の再開指示を受け付けた場合、保存部114により補間データ記憶部132に保存された、動作プログラムの位置と時刻とのデータ(補間データ)に基づいて再開処理を行う。
具体的には、再開処理部117は、例えば、
図6に示す一時停止位置から動作を再開する場合、一時停止位置(再開位置)と教示位置P(5)との間で再度補間処理を行うことなく、補間データに格納される各点の位置と時刻とに基づいて機器の動作を再開させる。これにより、制御装置100は、補間データを使うことで、機器の位置と時刻との関係を崩すことなく再開させることができる。
なお、再開処理部117は、再開するにあたり、減速開始タイミング算出部116と同様に、内部時計111の増分時間Δtcに対するフィルタリング処理を行うようにしてもよい。
【0040】
<制御装置100の保存処理>
次に、制御装置100の保存処理に係る動作について説明する。
図8は、制御装置100の保存処理について説明するフローチャートである。ここで示すフローは、入力部150を介してユーザにより動作プログラムが作成される度に実行される。
【0041】
ステップS1において、制御部110は、入力部150を介してユーザの入力操作に基づいて、教示位置P(1)~P(6)に基づく動作指令を含む動作プログラムを作成する。
【0042】
ステップS2において、制御部110は、入力部150を介してユーザにより入力された同期開始時刻に基づいて、
図3に示すように、同期開始命令及び同期終了命令をステップS1で作成した動作プログラムに追加する。
【0043】
ステップS3において、保存部114は、他の機器と同期動作を行うにあたり、ステップS2で作成された動作プログラムを基準時計201に同期しないモードで内部時計111に基づいて予め実行させることで、動作プログラムの同期開始命令から同期終了命令までの位置と時刻とのデータを補間データとして補間データ記憶部132に保存する。
【0044】
<制御装置100の同期動作処理>
次に、制御装置100の同期動作処理に係る動作について説明する。
図9は、制御装置100の同期動作処理について説明するフローチャートである。ここで示すフローは、制御装置100の内部時計補正部112及び基準時計補正部113により、内部時計111の時刻と基準時計201の時刻との同期が行われるうえで実行され、入力部150を介してユーザから基準時計201に同期するモード(同期動作)の実行指示を受け付ける度に繰り返し実行される。
【0045】
ステップS11において、動作部115は、入力部150を介してユーザから基準時計201に同期するモード(同期動作)での動作プログラムの実行指示を受け付けた場合、補間データ記憶部132から指示された、動作プログラムの補間データを読み出す。
【0046】
ステップS12において、動作部115は、入力部150を介してユーザから同期開始時刻の指定を受け付ける。
【0047】
ステップS13において、動作部115は、ステップS12で指定された同期開始時刻に対応する補間データ上の位置で待機し、基準時計201の時刻が同期開始時刻に一致した場合、基準時計201とステップS11で読み出した補間データとに基づいて、基準時計201に同期して機器を動作させる。
【0048】
ステップS14において、動作部115は、入力部150を介してユーザにより一時停止位置が指定されたか否かを判定する。一時停止位置が指定された場合、処理はステップS15に進む。一方、一時停止位置が指定されなかった場合、処理はステップS19に進む。
【0049】
ステップS15において、減速開始タイミング算出部116は、ステップS14で指定された一時停止させる位置又は時刻と、補間データと、に基づいて減速開始すべき位置又は時刻を算出する。
【0050】
ステップS16において、動作部115は、ステップS15で算出された減速開始すべき位置又は時刻で機器の減速を開始し、ステップS14で指定された位置又は時刻で機器を一時停止させる。
【0051】
ステップS17において、再開処理部117は、入力部150を介してユーザにより機器の同期動作の再開指示を受け付けたか否かを判定する。同期動作の再開指示を受け付けた場合、処理はステップS18に進む。一方、同期動作の再開指示を受け付けていない場合、処理はステップS17で待機する。
【0052】
ステップS18において、再開処理部117は、補間データに基づいて再開処理を行う。
【0053】
ステップS19において、動作部115は、入力部150を介してユーザにより機器の同期動作の終了指示を受け付けたか否かを判定する。同期動作の終了指示を受け付けた場合、処理はステップS20に進む。一方、同期動作の終了指示を受け付けていない場合、処理はステップS14に戻る。
【0054】
ステップS20において、減速開始タイミング算出部116は、ステップS19で指定された同期終了させる位置又は時刻と、補間データと、に基づいて減速開始すべき位置又は時刻を算出する。
【0055】
ステップS21において、動作部115は、ステップS20で算出された減速開始すべき位置又は時刻で機器の減速を開始し、ステップS19で指定された位置又は時刻で機器を停止させる。
【0056】
以上により、一実施形態に係る制御装置100は、動作プログラム全体の補間データを有することで、ロボットRaの同期動作のプログラムを動作文による教示により予め同期位置を指定することに換えて、同期位置を、ロボットRaの動作軌跡上の任意の位置又は時刻に基づいて指定することが可能となる。また、補間データに基づいて時刻から位置が一意に定まるので、制御装置100は、対応する時刻のみ設定すればよく、同期開始位置の教示も容易となる。
また、制御装置100は、動作プログラム全体の補間データを有することで、任意の指定位置で一時停止、又は同期終了させる場合、動作文を先読みして補間データを計算することなく、どの位置から減速開始すればよいかが容易に分かる。
また、制御装置100は、一時停止後の再開においても、補間データを再計算することがないので、位置と基準時計の時刻の関係が崩れることがない。
また、保存する補間データは、実際に動作プログラムを実行した時の指令位置とするため、モータの性能やロボットRaの慣性のために、計算した指令通りに機器を動作させられず位置と時刻の関係が保てない、という問題を回避することができる。
【0057】
以上、一実施形態について説明したが、システム1及び制御装置100は、上述の実施形態に限定されるものではなく、目的を達成できる範囲での変形、改良等を含む。
【0058】
<変形例1>
一実施形態では、制御装置100は、
図5Aに示す表示画面をユーザインタフェースとして表示し、入力部150を介してユーザにより軌跡上の位置がタッチ等されることにより、同期開始位置、同期開始時刻、又は一時停止位置等の指定を受け付けたが、これに限定されない。例えば、制御装置100は、
図10に示す表示画面のユーザインタフェースを表示し、入力部150を介してユーザにより一時停止させたい一時停止位置として複数の時刻の入力を受け付けるようにしてもよい。
【0059】
<変形例2>
また例えば、上述の実施形態では、制御装置100は、指定された同期開始時刻として
図3の動作プログラムの時計命令の設定値としたが、これに限定されない。例えば、制御装置100は、入力部150を介してユーザにより指定された同期開始位置を受け付けてもよい。この場合、動作部115は、同期動作の開始時に、指定された同期開始位置に対応する補間データ上の位置(又は指定された同期開始位置に最も近い補間データ上の位置)で、対応する時刻である同期開始時刻まで待機し、基準時計201の時刻が同期開始時刻に一致した場合、基準時計201と補間データとに基づいて、機器を同期動作させるようにしてもよい。
【0060】
<変形例3>
また例えば、上述の実施形態では、制御装置100は、作成された動作プログラムを内部時計111の時刻に基づいて予め実行させることで、動作プログラムの同期開始命令から同期終了命令までの機器の補間データを補間データ記憶部132に保存したが、これに限定されない。例えば、制御装置100は、作成された動作プログラムを予めシミュレーション装置(図示しない)上で実行させることで、動作プログラムの同期開始命令から同期終了命令までの位置と時刻とのデータを補間データとして補間データ記憶部132に保存してもよい。
【0061】
なお、一実施形態に係るシステム1及び制御装置100に含まれる各機能は、ハードウェア、ソフトウェア又はこれらの組み合わせによりそれぞれ実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
【0062】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(Non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(Tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(Transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は、無線通信路を介して、プログラムをコンピュータに供給できる。
【0063】
なお、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0064】
以上を換言すると、本開示のシステム及び制御装置は、次のような構成を有する各種各様の実施形態を取ることができる。
【0065】
(1)本開示のシステム1は、互いに協働するロボットRaと工作機械としてのプレス機械10a、10bとを含むシステムであって、時刻を周期的に更新する基準時計201を備え、ロボットRa及び/又はプレス機械10a、10bは、それぞれ内部時計111と、作成された動作プログラムを内部時計111に基づいて予め実行させることで、動作プログラムの同期開始命令から同期終了命令までの位置と時刻とのデータを保存する保存部114と、動作プログラムの同期動作時に、基準時計201及び保存部114により保存された、動作プログラムの位置と時刻とのデータに基づいて、ロボットRa及び/又はプレス機械10a、10bを基準時計201に同期して動作させる動作部115と、を備える。
このシステム1によれば、動作プログラム全体の補間データを有することで、ロボットRaの同期動作のプログラムを動作文による教示により予め同期位置を指定することに換えて、同期位置を、ロボットRaの動作軌跡上の任意の位置又は時刻に基づいて指定することが可能となる。また、補間データに基づいて時刻から位置が一意に定まるので、システム1は、対応する時刻のみ設定すればよく、同期開始位置の教示も容易となる。
【0066】
(2)本開示のシステム1は、互いに協働するロボットRaと工作機械としてのプレス機械10a、10bとを含むシステムにおいて、時刻を周期的に更新する基準時計201を備え、ロボットRa及び/又はプレス機械10a、10bは、それぞれ内部時計111と、作成された動作プログラムをロボットRa及び/又はプレス機械10a、10bのいずれかをシミュレートするシミュレーション装置(図示しない)上で予め実行させることで、動作プログラムの同期開始命令から同期終了命令までの位置と時刻とのデータを保存する保存部114と、動作プログラムの同期動作時に、基準時計201及び保存部114により保存された、動作プログラムの位置と時刻とのデータに基づいて、ロボットRa及び/又はプレス機械10a、10bのいずれかを基準時計201に同期して動作させる動作部115と、を備える。
このシステム1によれば、(1)と同様の効果を奏することができる。
【0067】
(3) (1)又は(2)に記載のシステム1において、動作プログラムの位置と時刻とのデータは、動作プログラムを実行した時の補間周期毎の位置と時刻のデータであってもよい。
そうすることで、保存する補間データは、実際に動作プログラムを実行した時の指令位置とするため、モータの性能やロボットRaの慣性のために、計算した指令通りに機器を動作させられず位置と時刻の関係が保てない、という問題を回避することができる。
【0068】
(4) (1)から(3)のいずれかに記載のシステム1において、ロボットRa及び/又は工作機械としてのプレス機械10a、10bは、それぞれ同期開始位置又は同期開始時刻を任意に指定する入力部150をさらに備え、動作部115は、同期動作の開始時に、指定された、同期開始位置又は同期開始時刻に対応する保存部114により保存された動作プログラムの位置と時刻とのデータ上の位置又は時刻で待機し、基準時計201の時刻が指定した同期開始時刻に一致した場合、基準時計201と保存部114により保存された動作プログラムの位置と時刻とのデータとに基づいて、ロボットRa及び/又はプレス機械10a、10bを同期動作させてもよい。
そうすることで、システム1は、任意の時刻で同期動作を開始することができる。
【0069】
(5) (4)に記載のシステム1において、ロボットRa及び/又は工作機械としてのプレス機械10a、10bは、それぞれ入力部150によりロボットRa及び/又はプレス機械10a、10bを一時停止あるいは同期終了させる位置又は時刻が指定された場合、保存部114により保存された動作プログラムの位置と時刻とのデータに基づいて、減速開始すべき位置又は時刻を算出する減速開始タイミング算出部116を備えてもよい。
そうすることで、システム1は、動作プログラム全体の補間データを有することで、任意の指定位置で一時停止、又は同期終了させる場合、動作文を先読みして補間データを計算することなく、どの位置から減速開始すればよいかが容易に分かる。
【0070】
(6) (5)に記載のシステム1において、ロボットRa及び/又は工作機械としてのプレス機械10a、10bは、それぞれ一時停止後の動作の再開において、保存部114により保存された動作プログラムの位置と時刻とのデータに基づいて再開処理を行う再開処理部117を備えてもよい。
そうすることで、システム1は、一時停止後の再開においても、補間データを再計算することがないので、位置と基準時計の時刻の関係が崩れることがない。
【0071】
(7) (4)から(6)のいずれかに記載のシステム1において、ロボットRa及び/又は工作機械としてのプレス機械10a、10bは、それぞれ同期開始位置又は同期開始時刻の指定を受け付けるユーザインタフェースを表示する表示部170をさらに備えてもよい。
そうすることで、ユーザは、同期開始位置又は同期開始時刻を容易に指定することができる。
【0072】
(8) (4)から(6)のいずれかに記載のシステム1において、ロボットRa及び/又は工作機械としてのプレス機械10a、10bは、それぞれ保存部114により保存された動作プログラムの位置と時刻とのデータの図示、あるいは保存部114により保存された動作プログラムの位置と時刻とのデータの位置と時刻との一覧の出力を受け付けるユーザインタフェースをさらに備えてもよい。
そうすることで、ユーザは、動作プログラムの位置と時刻と関係を容易に把握することができる。
【0073】
(9)本開示の制御装置100cは、(1)から(8)のいずれかに記載のシステム1において使用されるロボットRaの制御装置である。
この制御装置100cによれば、(1)から(8)のいずれかと同様の効果を奏することができる。
【0074】
(10)本開示の制御装置100a、100bは、(1)から(8)のいずれかに記載のシステム1において使用される工作機械としてのプレス機械10a、10bの制御装置である。
この制御装置100a、100bによれば、(1)から(8)のいずれかと同様の効果を奏することができる。
【符号の説明】
【0075】
1 システム
10a、10b プレス機械
100a~100c 制御装置
110 制御部
111 内部時計
112 内部時計補正部
113 基準時計補正部
114 保存部
115 動作部
116 減速開始タイミング算出部
117 再開処理部
130 記憶部
131 プログラム記憶部
132 補間データ記憶部
150 入力部
170 表示部
20 PLC
201 基準時計
Ra ロボット