(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-27
(45)【発行日】2024-03-06
(54)【発明の名称】制御装置
(51)【国際特許分類】
G05B 19/4155 20060101AFI20240228BHJP
G05B 19/18 20060101ALI20240228BHJP
B25J 9/16 20060101ALI20240228BHJP
【FI】
G05B19/4155 N
G05B19/18 C
B25J9/16
(21)【出願番号】P 2019219472
(22)【出願日】2019-12-04
【審査請求日】2022-10-21
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100106002
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100165157
【氏名又は名称】芝 哲央
(74)【代理人】
【識別番号】100160794
【氏名又は名称】星野 寛明
(72)【発明者】
【氏名】大場 雅文
【審査官】増山 慎也
(56)【参考文献】
【文献】特開平10-011120(JP,A)
【文献】特開2004-330206(JP,A)
【文献】国際公開第2008/136110(WO,A1)
【文献】特開2014-188621(JP,A)
【文献】特開平09-282019(JP,A)
【文献】特開2013-025727(JP,A)
【文献】特開2019-113921(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/4155
G05B 19/18
B25J 9/16
(57)【特許請求の範囲】
【請求項1】
少なくとも1つの動作ユニットと、
前記少なくとも1つの動作ユニットに関する複数の動作を規定するプログラムを記憶したプログラム記憶部と
、
前記プログラムに従って前記少なくとも1つの動作ユニットを動作させる動作実行部と、
前記プログラムの制御権を管理する動作ユニット管理部と、
を備え
、
前記動作ユニット管理部は、
前記プログラムに従う前記動作ユニットに対応する複数のグループの制御権を取得し、
前記プログラムのうちの1つのプログラムから別のプログラムを呼び出す際に、呼び出し先に規定されている動作ユニットの
1つのグループの制御権を取得し、当該動作ユニットの
1つのグループ以外の制御権を解放
し、
前記別のプログラムから更に別のサブプログラムをマルチタスクで起動する、
制御装置。
【請求項2】
前記動作ユニットは、少なくとも1つのロボット、少なくとも1つの作業ツール、少なくとも1つの走行軸、少なくとも1つのポジショナ又はそれらの組み合わせである、
請求項1に記載の制御装置。
【請求項3】
前記動作ユニット管理部によって解放された動作ユニットのグループが規定されたプログラムを並列に実行する並列実行部を更に備える、請求項1又は2に記載の制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御装置に関する。
【背景技術】
【0002】
従来より、ロボット及びスポットガンのような複数の制御対象に対して制御信号を用いてプログラム内で制御対象を変更できるようにする技術が提案されている(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、特許文献1に記載の技術では、動作命令ごとにどの動作ユニットを動作させるかを規定する必要があり、プログラムが複雑になり、プログラムの作成に時間が掛かっていた。そのため、複数の制御対象に対してプログラムをより柔軟に管理できる制御装置が望まれていた。
【課題を解決するための手段】
【0005】
本開示の一態様に係る制御装置は、少なくとも1つの動作ユニットと、前記少なくとも1つの動作ユニットに関する複数の動作を規定するプログラムを記憶したプログラム記憶部と、前記プログラムを実行するプログラム実行部と、前記プログラムに従って前記少なくとも1つの動作ユニットを動作させる動作実行部と、前記プログラムの制御権を管理する動作ユニット管理部と、を備え、前記動作ユニット管理部は、前記プログラムのうちの1つのプログラムから別のプログラムを呼び出す際に、呼び出し先に規定されている動作ユニットのグループの制御権を取得し、当該動作ユニットのグループ以外の制御権を解放する。
【発明の効果】
【0006】
本発明によれば、複数の制御対象に対してプログラムをより柔軟に管理できる。
【図面の簡単な説明】
【0007】
【
図3】制御装置の処理を示すフローチャートである。
【
図4】制御装置の処理を示すフローチャートである。
【
図5】制御装置の処理を示すフローチャートである。
【発明を実施するための形態】
【0008】
以下、本発明の実施形態の一例について説明する。
図1は、本実施形態に係る制御装置1の機能を示すブロック図である。
制御装置1は、動作ユニットとしてのロボット11及び動作ユニットとしての定置式サーボガン12をプログラムに従って動作する。
【0009】
図1に示すように、制御装置1は、動作ユニットとしてのロボット11と、動作ユニットとしての定置式サーボガン12と、制御部13と、記憶部14と、を備える。
動作ユニット11及び12は、記憶部14に記憶されるプログラムに従って動作される。
【0010】
動作ユニット(ロボット)11は、例えば多関節ロボットであり、ワークを把持し、所定の位置へ移動する。
動作ユニット(定置式サーボガン)12は、ワークをスポット溶接する。また、定置式サーボガン12は、ワークを溶接した後に、チップ部分の摩耗計測を行う。
【0011】
制御部13は、CPU(Central Processing Unit)等のプロセッサであり、記憶部14に記憶されたプログラムを実行することによってプログラム実行部131、動作実行部132、動作ユニット管理部133及び並列実行部134として機能する。
【0012】
記憶部14は、OS(Operating System)やアプリケーションプログラム等を格納するROM(Read Only Memory)、RAM(Random Access Memory)、その他の各種情報を格納するハードディスクドライブやSSD(Solid State Drive)等の記憶装置である。また、記憶部14は、動作ユニットに関する複数の動作を規定するプログラムを記憶したプログラム記憶部141を備える。
【0013】
プログラム実行部131は、プログラム記憶部141に記憶されたメインプログラム及びサブプログラムを実行する。
動作実行部132は、メインプログラム及びサブプログラムに従って動作ユニット11及び12を動作させる。
【0014】
動作ユニット管理部133は、メインプログラム及びサブプログラムの制御権を管理する。
並列実行部134は、動作ユニット管理部133によって解放された動作ユニットのグループが規定されたプログラムを並列に実行する。
【0015】
図2A及び
図2Bは、動作ユニット11及び12の動作を示す模式図である。
図2Aに示すように、動作ユニットとしてのロボット11は、ワークWを把持し、動作ユニットとしての定置式サーボガン12による溶接位置へ移動する。定置式サーボガン12は、溶接位置においてワークWをスポット溶接する。
【0016】
その後、
図2Bに示すように、ロボット11は、ワークWを払い出し位置へ移動し、定置式サーボガン12は、チップ12aの摩耗計測を行う。
このように本実施形態に係る制御装置1は、プログラムによりロボット11及び定置式サーボガン12のような複数の制御対象の動作を制御する。
【0017】
図3から5は、制御装置1の処理を示すフローチャートである。
図3及び4は、従来の方法を用いた処理を示し、
図5は、本実施形態に係る制御装置1を適用した処理を示す。
【0018】
ここで、制御装置1において、1つの動作ユニットに対して1つの動作グループが割り当てられる。これにより、制御装置1は、動作命令ごとにどの動作ユニットを動作させるかを設定すること必要がなく、プログラムの設定が容易になる。また、この場合、プログラムは、決められた動作ユニットだけを処理すればよいため処理コストの低減できる。
【0019】
しかし、複数の動作ユニットを動作させる場合、制御装置1は、1つのメインプログラムを用いて複数の動作ユニットを制御しつつ、同一の動作ユニットを制御するサブプログラムを並列に実行する場合がある。
【0020】
図3に示すフローチャートでは、制御装置1は、メインプログラムを用いてロボット11及び定置式サーボガン12を制御しつつ、定置式サーボガン12を制御するサブプログラムを並列に実行する。
【0021】
ここで、制御装置1は、ロボット11を動作グループaとし、定置式サーボガン12を動作グループbとする。すなわち、メインプログラムは、動作グループa及び動作グループbを制御し、サブプログラムは、動作グループbを制御する。
【0022】
ステップS1において、プログラム実行部131は、メインプログラムを実行し、動作実行部132は、ロボット11をワークWの位置へ移動させる。
【0023】
ステップS2において、動作実行部132は、ロボット11によりワークWを把持させる。
ステップS3において、動作実行部132は、ロボット11を溶接位置へ移動させる。
【0024】
ステップS4において、動作実行部132は、ロボット11を溶接位置に維持しつつ、
定置式サーボガン12によりワークWをスポット溶接する。
【0025】
ステップS5において、プログラム実行部131は、サブプログラムを実行する。そして、サブプログラムを実行することによって、プログラム実行部131は、ステップS6においてロボット11を払い出し位置へ移動させ、かつステップS7において定置式サーボガン12のチップ12aの摩耗計測を行おうとする。
【0026】
しかし、メインプログラム及びサブプログラムの両方が動作グループbを制御しようとしているため、プログラム実行部131は、サブプログラムにおいて動作グループbの制御を実行できず、エラーが発生する。
【0027】
このようなエラーを防ぐため、
図4に示すフローチャートでは、メインプログラムは、2つ作成され、一方のメインプログラム(メインプログラムA)は、動作グループaを制御し、他方のメインプログラム(メインプログラムB)は、動作グループbを制御する。
【0028】
ステップS11において、プログラム実行部131は、メインプログラムAを実行し、動作実行部132は、ロボット11をワークWの位置へ移動させる。
【0029】
ステップS12において、動作実行部132は、ロボット11によりワークWを把持させる。
ステップS13において、動作実行部132は、ロボット11を溶接位置へ移動させる。
【0030】
ステップS14において、動作実行部132は、ロボット11を溶接位置に維持しつつ、定置式サーボガン12によりワークWをスポット溶接する。その後、メインプログラムAは、処理を終了する。
【0031】
メインプログラムAの終了後、ステップS21において、プログラム実行部131は、メインプログラムBを実行し、更にサブプログラムを並列に実行する。
【0032】
ステップS22において、動作実行部132は、メインプログラムBに従ってロボット11を払い出し位置へ移動させる。
ステップS31において、動作実行部132は、サブプログラムに従って定置式サーボガン12のチップ12aの摩耗計測を行う。
【0033】
このように2つのメインプログラムA及びBを用いることによって、制御装置1は、摩耗計測を行うことができる。しかし、2つのメインプログラムA及びBを作成する必要があるため、プログラムの作成が直感的ではなく、プログラムの作成に時間が掛かる。
【0034】
そこで、
図5に示すフローチャートでは、制御装置1は、メインプログラムからサブプログラムを呼び出す際に、呼び出し先に規定されている定置式サーボガン12の動作グループbの制御権を解放する。そして、制御装置1は、サブプログラムから定置式サーボガン12の摩耗計測を行うためのサブプログラムをマルチタスクで起動する。
【0035】
ステップS41において、プログラム実行部131は、メインプログラムを実行し、動作実行部132は、ロボット11をワークWの位置へ移動させる。ここで、動作ユニット管理部133は、動作グループa及びbの制御権を取得する。
【0036】
ステップS42において、動作実行部132は、ロボット11によりワークWを把持させる。
ステップS43において、動作実行部132は、ロボット11を溶接位置へ移動させる。
【0037】
ステップS44において、動作実行部132は、ロボット11を溶接位置に維持しつつ、定置式サーボガン12によりワークWをスポット溶接する。
【0038】
ステップS45において、プログラム実行部131は、メインプログラムからサブプログラムCを呼び出す。
ステップS46において、動作ユニット管理部133は、動作グループbの制御権を解放する。
【0039】
ステップS51において、並列実行部134は、制御権が解放された動作グループbが規定されたサブプログラムC及びDを並列に実行する。
ステップS52において、動作実行部132は、サブプログラムCに従ってロボット11を払い出し位置へ移動させる。
【0040】
ステップS52において、動作実行部132は、サブプログラムDに従って定置式サーボガン12のチップ12aの摩耗計測を行う。
このように制御装置1は、制御権を解放することによってメインプログラム、サブプログラムC及びサブプログラムDを適切に実行することができる。
【0041】
上述した実施形態では、動作ユニット11及び12としてロボット11及び定置式サーボガン12を用いて説明したが、動作ユニット11及び12は、これらの装置に限定されない。
例えば、動作ユニット11及び12は、少なくとも1つのロボット、少なくとも1つの作業ツール(例えば定置式サーボガン、定置式サーボシーラーガン等)、少なくとも1つの走行軸、少なくとも1つのポジショナ又はそれらの組み合わせであってもよい。
【0042】
例えば、上述した実施形態では、定置式サーボガン12は、スポット溶接の後に、摩耗計測を行ったが、定置式サーボガン12は、摩耗計測に代えて、サーボガンの交換(ガンチェンジ)を行ってもよい。
【0043】
また、ロボット11がワークWを払い出し位置へ移動している間に、別途の動作ユニットとしてのポジショナ(ターンテーブル)は、ワークWを供給する位置まで移動してもよい。
【0044】
また、ロボット11及び定置式サーボガン12に替えて、2つのアームを有するマルチアームシステムにおいて、制御装置1は、一方のロボットを動作ユニット11とし、他方のロボットを動作ユニット12としてもよい。
【0045】
また、動作ユニット12は、定置式サーボガン12に替えて、定置式サーボシーラーガンであってもよい。この場合、動作実行部132は、ロボット11を払い出し位置へ移動させると共に、定置式サーボシーラーガンを充填及び与圧してもよい。
【0046】
また、上述したロボット11及び定置式サーボガン12に替えて、動作ユニット11及び12は、ロボットシステムにおけるロボット及び走行軸であってもよい。例えば、把持位置と払い出し位置が離れており、走行軸によりロボットが各位置に移動するロボットシステムにおいて、動作ユニット11及び12は、走行軸及びロボットであってもよい。この場合、走行軸によってあるロボットが移動している間に、別のロボットが払い出し位置へ移動してもよい。
【0047】
本実施形態によれば、制御装置1は、動作ユニット11及び12と、動作ユニット11及び12に関する複数の動作を規定するプログラムを記憶したプログラム記憶部141と、プログラムを実行するプログラム実行部131と、プログラムに従って動作ユニット11及び12を動作させる動作実行部132と、プログラムの制御権を管理する動作ユニット管理部133と、を備える。動作ユニット管理部133は、プログラムのうちの1つのプログラムから別のプログラムを呼出す際に、呼び出し先に規定されている動作ユニットのグループの制御権を取得し、当該動作ユニットのグループ以外の制御権を解放する。
【0048】
このように制御装置1は、呼び出し先に規定されている動作ユニットのグループの制御権を取得し、当該動作ユニットのグループ以外の制御権を解放することにより、並列に動作する複数の動作ユニットのグループの制御権を柔軟に管理することができる。したがって、例えば、ユーザは、並列に動作する複数の動作ユニット11及び12に対するプログラムを直感的かつ容易に作成することができる。
【0049】
また、動作ユニット11及び12は、少なくとも1つのロボット、少なくとも1つの作業ツール、少なくとも1つの走行軸、少なくとも1つのポジショナ又はそれらの組み合わせであってもよい。これにより、制御装置1は、様々な制御対象に対して動作ユニットのグループの制御権を柔軟に管理することができる。
【0050】
また、制御装置1は、動作ユニット管理部133によって解放された動作ユニットのグループが規定されたプログラムを並列に実行する並列実行部134を更に備える。これにより、制御装置1は、並列に動作するプログラムを好適に実行することができる。
【0051】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。
【符号の説明】
【0052】
1 制御装置
11 動作ユニット
12 動作ユニット
13 制御部
14 記憶部
131 プログラム実行部
132 動作実行部
133 動作ユニット管理部
134 並列実行部
141 プログラム記憶部