JP2010172990A - ロボット制御装置、ロボットの制御方法 - Google Patents
ロボット制御装置、ロボットの制御方法 Download PDFInfo
- Publication number
- JP2010172990A JP2010172990A JP2009016306A JP2009016306A JP2010172990A JP 2010172990 A JP2010172990 A JP 2010172990A JP 2009016306 A JP2009016306 A JP 2009016306A JP 2009016306 A JP2009016306 A JP 2009016306A JP 2010172990 A JP2010172990 A JP 2010172990A
- Authority
- JP
- Japan
- Prior art keywords
- robot
- program
- driving
- simulation
- drive
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Landscapes
- Manipulator (AREA)
Abstract
【課題】ロボットの衝突等を回避し、安全性を確保する。
【解決手段】駆動プログラムに従ってロボットを駆動させるロボット制御装置であって、前記駆動プログラムのロボットの駆動時点よりも先行させた時点における前記駆動プログラムのシミュレーションを行わせ、前記シミュレーションの結果および前記駆動プログラムに基づいて、前記ロボットを制御する制御部を備えた。
【選択図】図2
【解決手段】駆動プログラムに従ってロボットを駆動させるロボット制御装置であって、前記駆動プログラムのロボットの駆動時点よりも先行させた時点における前記駆動プログラムのシミュレーションを行わせ、前記シミュレーションの結果および前記駆動プログラムに基づいて、前記ロボットを制御する制御部を備えた。
【選択図】図2
Description
本発明は、ロボット制御装置、ロボットの制御方法に関する。
ロボット等の運動体を駆動させるにあたっては、運動体の駆動に関する安全性を十分に考慮する必要がある。運動体が他の運動体等の障害物と干渉や衝突した場合には、運動体の故障等を招き、たいへんな被害が発生するからである。そこで、運動体の未来位置を算出するとともに、障害物等の未来位置情報に基づいて、運動体と障害物等との距離を算出し、算出した距離の値が所定の基準値よりも小さい場合には、衝突回避プログラムにしたがって運動体を駆動させる運動体制御方法が知られている(例えば、特許文献1参照)。
しかしながら、上記の運動体制御方法では、近年の高速かつ複雑に駆動されるロボット等に対しては対応することができない、という問題がある。例えば、複数のロボットを配置したような場合にあっては、それらの未来位置を予測することが困難となり、これに追従できずにロボット同士が衝突してしまう、という課題があった。
本発明は、上記課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現することが可能である。
[適用例1]本適用例にかかるロボット制御装置は、駆動プログラムに従ってロボットを駆動させるロボット制御装置であって、前記駆動プログラムのロボットの駆動時点よりも先行させた時点における前記駆動プログラムのシミュレーションを行わせ、前記シミュレーションの結果および前記駆動プログラムに基づいて、前記ロボットを制御する制御部を備えたことを特徴とする。
この構成によれば、制御部によって、ロボットが、駆動プログラムに従って駆動している最中に、ロボットの駆動時点に対して時間的に先行して駆動プログラムのシミュレーションが行われる。すなわち、ロボットを駆動させながら、未来のロボットの駆動に関するシミュレーションが行われる。このように、近未来におけるロボットの駆動状況をシミュレートすることにより、例えば、シミュレーション中に不都合が発見された場合であっても、その情報をロボットの制御部へ伝えることにより、実ロボットの駆動においては当該不都合を回避でき、ロボットの安全性を確保することができる。
[適用例2]上記適用例にかかるロボット制御装置の前記制御部は、前記駆動プログラムを記憶するプログラム記憶部と、前記プログラム記憶部から前記駆動プログラムを読み出す第1プログラム読出し部と、前記プログラム記憶部から前記第1プログラム読出し部から読み出された前記駆動プログラムに基づく、前記ロボットの駆動時点よりも先行させた期間の前記駆動プログラムを読み出す第2プログラム読出し部と、前記第2プログラム読出し部から読み出された前記駆動プログラムに基づいてシミュレーションを行うシミュレーション実行部と、前記駆動プログラムおよび前記シミュレーション結果に基づいて、前記ロボットに制御信号を出力する制御処理部と、を備えたことを特徴とする。
この構成によれば、プログラム記憶部から駆動プログラムを読み出す第1プログラム読出し部と第2プログラム読出し部が備えられている。第1プログラム読出し部は、ある時点でのロボット駆動のための駆動プログラムを読出す。一方、第2プログラム読出し部では、第1プログラム読出し部の駆動時点よりも時間的に先行した駆動プログラムを読出す。シミュレーション実行部は、第2プログラム読出し部により読み出された駆動プログラムに基づいてシミュレーションを行う。制御処理部は、前記シミュレーション結果および前記第1プログラム読出し部により読み出された駆動プログラムに基づいてロボットを制御する。従って、第2プログラム読出し部において、先行して読み出された駆動プログラムをシミュレーションするので、例えば、近未来に衝突等の不都合が発見された場合に、当該不都合を回避でき、ロボットの安全性を確保することができる。
[適用例3]上記適用例にかかるロボット制御装置の前記シミュレーション実行部では、前記ロボットが停止可能な時間を先行させて前記駆動プログラムのシミュレーションを行うことを特徴とする。
この構成によれば、不具合、例えば、ロボットの衝突等を考慮して、緊急停止できる範囲において駆動プログラムを先行させてシミュレーションさせることにより、さらに、安全性を確保することができる。
[適用例4]上記適用例にかかるロボット制御装置は、前記ロボットの動作環境を検出する検出装置を備えたことを特徴とする。
この構成によれば、例えば、ロボットの動作環境に変化が生じたような場合には、検出されたデータを加味してシミュレーションを行うことにより、より安全な回避駆動を行うことができる。
[適用例5]上記適用例にかかるロボット制御装置は、複数の前記ロボット制御装置間において、前記シミュレーションの結果を共有することを特徴とする。
この構成によれば、例えば、複数のロボットが駆動する場合において、他のロボットの駆動領域を把握することができるので、未来の駆動時におけるロボット同士の接触や衝突等の不具合の発生を防止することができる。
[適用例6]本適用例にかかるロボットの制御方法は、駆動プログラムに従ってロボットを駆動させるロボットの制御方法であって、前記駆動プログラムのロボットの駆動時点よりも先行させた時点における前記駆動プログラムのシミュレーションを行わせ、前記シミュレーションの結果および前記駆動プログラムに基づいて、前記ロボットを制御することを特徴とする。
この構成によれば、制御部によって、ロボットが、駆動プログラムに従って駆動している最中に、ロボットの駆動時点に対して時間的に先行して駆動プログラムのシミュレーションが行われる。すなわち、ロボットを駆動させながら、未来のロボットの駆動に関するシミュレーションが行われる。このように、近未来におけるロボットの駆動状況をシミュレートすることにより、例えば、駆動中に不都合が発見された場合であっても、当該不都合を回避でき、ロボットの安全性を確保することができる。
[第1実施形態]
以下、本発明を具体化した第1実施形態について図面に従って説明する。
以下、本発明を具体化した第1実施形態について図面に従って説明する。
(ロボット制御装置の構成)
まず、ロボット制御装置の構成について説明する。図1は、ロボット制御装置の一例を示す外観図である。本実施形態では、ロボット20a,20bを示している。こられのロボット20a,20bは、多関節駆動部を備え、駆動プログラムに従って各駆動部が駆動するように構成されている。このようなロボット20a,20bを、例えば、産業用に利用するにあたっては、ロボット20a,20b間における干渉や衝突等を防止し、十分な安全性を確保する必要がある。本発明は、衝突等を回避し、安全性を確保することを目的としており、以下、具体的に説明する。
まず、ロボット制御装置の構成について説明する。図1は、ロボット制御装置の一例を示す外観図である。本実施形態では、ロボット20a,20bを示している。こられのロボット20a,20bは、多関節駆動部を備え、駆動プログラムに従って各駆動部が駆動するように構成されている。このようなロボット20a,20bを、例えば、産業用に利用するにあたっては、ロボット20a,20b間における干渉や衝突等を防止し、十分な安全性を確保する必要がある。本発明は、衝突等を回避し、安全性を確保することを目的としており、以下、具体的に説明する。
図2は、本実施形態にかかるロボット制御装置の構成を示すブロック図である。ロボット制御装置1は、制御部10からロボット20の駆動部に駆動信号を送信することにより、ロボット20の駆動を制御している。
制御部10は、ロボット20の駆動を制御するためのものであり、プログラム記憶部11と、第1プログラム読出し部12と、第2プログラム読出し部13と、シミュレーション実行部14と、制御処理部15とを備えている。
プログラム記憶部11は、ロボット20を駆動させるための駆動プログラムが記憶されている。第1プログラム読出し部12は、プログラム記憶部に記憶された駆動プログラムを読み出す機能を有するものである。制御処理部15は、前記駆動プログラムに基づいて駆動信号を生成し、当該駆動信号をロボット20に送信する機能を有する。そして、ロボット20は、当該駆動信号に従って駆動制御される。
さらに、制御部10は、第2プログラム読出し部13とシミュレーション実行部14を備えている。第2プログラム読出し部13も、プログラム記憶部に記憶された駆動プログラムを読み出す機能を有するものであるが、第2プログラム読出し部13によって読み出された駆動プログラムは、第1プログラム読出し部12から読み出された駆動プログラムに基づくロボット20の駆動時点に対して時間的に先行するように駆動プログラムを読み出す機能を有する。すなわち、ロボット20の駆動に関する近未来の部分を先行して読み出す。シミュレーション実行部14は、前記第2プログラム読出し部により読み出された駆動プログラムに基づいてロボット20の駆動に関するシミュレーションを行う。制御処理部15は、シミュレーションの結果および前記第1のプログラム読出し部により読み出された駆動プログラムに基づいて駆動信号を生成し、当該駆動信号をロボット20に送信するように構成されている。
従って、本実施形態のロボット制御装置では、駆動プログラムに従ってロボット20を駆動させながら、ロボット20の駆動時点よりも時間的に先行させた駆動プログラムのシミュレーションを行わせ、シミュレーションの結果および駆動プログラムに基づいて、ロボット20を制御するように構成されている。
検出装置30は、ロボット20の動作環境を検出する装置である。検出装置30は、ロボット20の動作環境を検出して、ロボット20の動作環境の変化、例えば、障害物の進入等の外的状況変化を検出するために設けられている。検出装置30としては、例えば、カメラやセンサー等である。そして、ロボット20を含むロボット20の駆動領域の全体を検出するように配置されている。本実施形態では、図1に示すように、ロボット20a,20bに対して側方(正面側)及び上方のそれぞれに検出装置30a,30bが配置されている。なお、検出装置30は、1台或いは3台以上を配置してもよい。また、配置場所においても、ロボット20に対して背面側や下方に配置してもよい。検出装置30によって検出されたロボットの動作環境情報は、シミュレーション実行部14に入力される。シミュレーション実行部14では、第2プログラム読出し部13から読み出された駆動プログラムと検出装置30によって検出された動作環境情報を基にしてシミュレーションが行われる。
ここで、ロボット制御装置1の動作について具体例を挙げて説明する。図3は、ロボット制御装置1の動作例を示す説明図である。なお、説明を容易とするため、ロボット20a,20bの駆動にかかるある期間T1,T2に限定して説明を行う。またロボットの動作を模式的に1次元的な点の動きとして説明を行う。
図3では、時間tにおけるロボット20a,20bのそれぞれの駆動軌跡(曲線部分)を示している。ここで、時間t0〜t1の期間T1は、ロボット20a,20bが駆動プログラムに従って駆動された期間であり、ロボットの現駆動時点はt1であるとする。
そして、シミュレーション実行部14では、時間t1〜t3までの所定期間T2を先行したシミュレーションを行う。T2はシミュレーションされた期間であり、現シミュレーション時点はt3であるとする。当該シミュレーションは、第2プログラム読出し部13から読み出された駆動プログラムと、検出装置30からのロボット20の動作環境情報に基づいて行われる。先行させる所定期間T2は、ロボット20や駆動状況に応じて適宜設定することができる。例えば、ロボット20が緊急時に停止できる範囲において設定することができる。例えばロボット20が低速で駆動されている場合には、100〜200msec.を先行してシミュレーションを行わせても良い。また、ロボット20が高速で駆動されている場合、或いは比較的に重い物を移動させたり、或いは、柔らかい物を移動させたりするような場合には、1〜2sec.を先行してシミュレーションを行わせても良い。
図3に示すように、シミュレーションにおいて、所定期間T2におけるロボット20aとロボット20bの仮想軌跡(点線部分)が作成される。そして、この例ではロボット20aとロボット20bとが所定期間T2内であって、時間t2時点(ポイントP1)で衝突することが推定される。制御処理部は、このシミュレーションの結果および駆動プログラムに基づいて駆動信号を生成する。従って、図3に示したように、シミュレーションによってロボット20a,20bが衝突すると推定できた場合には、実際に衝突する前に、衝突を回避する手段を講ずることができる。衝突回避手段としては、例えば、ロボット20a,20bを停止させる、或いは、ロボット20a,20bの軌道を変更する等の処置を施すことができる。
(ロボットの制御方法)
次に、第1実施形態にかかるロボットの制御方法について説明する。図4は、ロボットの制御方法を示すフローチャートである。
次に、第1実施形態にかかるロボットの制御方法について説明する。図4は、ロボットの制御方法を示すフローチャートである。
図4において、ステップS10aでは、駆動プログラムを読み出す。また、同時期にステップS10bでは、先行して駆動プログラムを読み出す。具体的には、ステップS10aでは、第1プログラム読出し部12によって、駆動プログラムが記憶されたプログラム記憶部11から駆動プログラムが読み出される。また、ステップS10bでは、第2プログラム読出し部13によって、駆動プログラムが記憶されたプログラム記憶部11から駆動プログラムが読み出される。なお、第2プログラム読出し部13によって読み出された駆動プログラムは、ロボット20の駆動時点よりも所定時間を先行させた駆動プログラムが読み出される。そして、ステップS10aにおいて駆動プログラムが読み出されると、ステップS30に移行する。一方、ステップS10bにおいて駆動プラグラムが読み出されると、ステップS11bに移行し、以降、シミュレーションが実行される。
ここで、まず、ステップS11b〜ステップS16bのシミュレーションの処理方法について説明する。
ステップS11bでは、動作環境情報を取得する。具体的には、検出装置30によって検出されたロボット20の動作環境情報を取得する。
ステップS12bでは、取得した動作環境情報に基づいて、動作環境に変化が生じたか否かを判断する。例えば、障害物の進入等があったか否かを判断する。そして、環境変化があった場合には、ステップS13bに移行し、環境変化がなかった場合には、ステップS14bに移行する。
ステップS13bでは、動作環境情報を入力する。例えば、障害物の進入等の情報を入力する。
ステップS14bでは、シミュレーションを実行する。当該ステップでは、実駆動しているロボット20の駆動時点よりも時間的に所定時間先のロボット20の駆動に関するシミュレーションが行われる。なお、ステップS12bにおいて、環境変化が生じた場合には、入力された環境変化情報(ステップS13b)を加味してシミュレーションが行われる。
ステップS15bでは、シミュレーションが行われた結果、ロボット20の駆動に関して異常が発生するか否かを判断する。すなわち、近い将来におけるロボット20の駆動において不具合が生じると推測されるか否かが判断される。異常が発生すると判断された場合には、ステップS16bに移行し、異常が発生しないと判断された場合には、ステップS32に移行する。
ステップS16bでは、異常情報が設定され、ステップS30の制御信号生成ステップに割り込み処理がなされる。
ステップS30では、制御信号を生成する。具体的には、制御処理部15において、ステップS10aで読み出された駆動プログラムおよびシミュレーション結果で得られた異常情報に基づいて、駆動信号が生成される。シミュレーション結果において異常情報が設定されていない場合は、ステップS10aで読み出された駆動プログラムに基づいて駆動信号が生成される。一方、異常情報が設定されている場合には、ステップS10aにより読み出された駆動プログラムを変更し、異常処理用の駆動信号、例えば、ロボット20の駆動を停止する等の駆動信号が生成される。
ステップS31では、生成された駆動信号に基づいてロボット20が駆動実行される。すなわち、シミュレーションにおいて異常が検出されていない場合は、ステップS10aで読み出された駆動プログラムに基づいた駆動が実行される。すなわち、正常な駆動が実行される。一方、異常情報に基づく駆動信号の場合には、異常発生を回避する駆動が実行される。例えば、ロボット20の駆動を停止する等の実行が行われる。
ステップS32では、駆動プログラムが終了か否かを判断する。駆動プログラムが終了する場合には、一連の制御動作が終了する。駆動プログラムが終了しない(継続する)場合には、ステップS10a,S10bに移行する。
従って、上記の第1実施形態によれば、以下に示す効果がある。
(1)ロボット20の駆動を実行させながら、ロボット20の駆動する時点よりも先行した所定期間のシミュレーションを行うことにより、未来のロボット20の駆動状況を推定することができる。そして、当該シミュレーションの結果をロボット20の駆動に反映させることにより、ロボット20の安全性を図り、衝突等の不具合を回避することができる。
(2)検出装置30によって検出したロボット20の動作環境情報をシミュレーションに反映することにより、さらに、安全性が確保され、ロボット20の衝突を防止することができる。
[第2実施形態]
次に、第2実施形態について説明する。
次に、第2実施形態について説明する。
(ロボット制御装置の構成)
まず、ロボット制御装置の構成について説明する。図5は、本実施形態にかかるロボット制御装置の構成を示すブロック図である。
まず、ロボット制御装置の構成について説明する。図5は、本実施形態にかかるロボット制御装置の構成を示すブロック図である。
各ロボット制御装置1a,1bは、各制御部10a,10bから各ロボット20a,20bの駆動部に駆動信号を送信することにより、ロボット20a,20bの駆動を制御している。
ロボット制御装置1aの制御部10aは、プログラム記憶部11aと、第1プログラム読出し部12aと、第2プログラム読出し部13aと、シミュレーション実行部14aと、制御処理部15aと、シミュレーション結果出力部16aと、シミュレーション結果入力部17aとを備えている。
ロボット制御装置1bの制御部10bは、プログラム記憶部11bと、第1プログラム読出し部12bと、第2プログラム読出し部13bと、シミュレーション実行部14bと、制御処理部15bと、シミュレーション結果出力部16bと、シミュレーション結果入力部17bとを備えている。
プログラム記憶部11a,11bと、第1プログラム読出し部12a,12bと、第2プログラム読出し部13a,13bと、シミュレーション実行部14a,14bと、制御処理部15a,15b及び検出装置30a,30bの機能等については、第1実施形態と同様なので、説明を省略する。
ここで、ロボット制御装置1a,1bの各制御部10a,10bには、シミュレーション結果出力部16a,16bと、シミュレーション結果入力部17a,17bを備えている。シミュレーション結果出力部16a,16bは、シミュレーション実行部14a,14bにおいてシミュレーションを行った情報を出力する機能を有している。シミュレーション結果入力部17a,17bは、他のロボット20a,20bから出力されたシミュレーション結果を入力する機能を有している。
本実施形態では、ロボット制御装置1aにおけるシミュレーションの結果をシミュレーション結果出力部16aからロボット制御装置1bに出力し、当該出力されたシミュレーションの結果は、ロボット制御装置1bのシミュレーション結果入力部17bに入力される。同様にして、ロボット制御装置1bにおけるシミュレーションの結果をシミュレーション結果出力部16bからロボット制御装置1aに出力し、当該出力されたシミュレーションの結果は、ロボット制御装置1aのシミュレーション結果入力部17aに入力される。従って、ロボット制御装置1a,1b間において、それぞれに行われたシミュレーション結果を共有することになる。
各シミュレーション結果入力部17a,17bにおいて入力された他のロボットのシミュレーション結果は、シミュレーション実行部14a,14bに送信される。従って、シミュレーション実行部14a,14bでは、第2プログラム読出し部13a,13bから送信された駆動プログラムと、検出装置30a,30bから検出されたロボット20a,20bの動作環境情報と、他のロボットのシミュレーション結果に基づいてシミュレーションが行われる。
ここで、ロボット制御装置1の動作について具体例を挙げて説明する。図6は、ロボット制御装置1a,1bの動作を示す説明図である。なお、説明を容易とするため、ロボット20a,20bの駆動にかかるある期間T1,T2に限定して説明を行う。またロボットの動作を模式的に1次元的な点の動きとして説明を行う。
図6では、時間tにおけるロボット20a,20bのそれぞれの駆動軌跡(曲線部分)を示している。ここで、時間t0〜t1の期間T1は、ロボット20a,20bが駆動プログラムに従って駆動された期間であり、ロボットの現駆動時点はt1であるとする。
そして、シミュレーション実行部14では、時間t1〜t3までの所定期間T2を先行したシミュレーションを行う。T2はシミュレーションされた期間であり、現シミュレーション時点はt3であるとする。当該シミュレーションは、第2プログラム読出し部13から読み出された駆動プログラムと、検出装置30からのロボット20の動作環境情報に基づいて行われる。先行させる所定期間T2は、ロボット20や駆動状況に応じて適宜設定することができる。例えば、ロボット20が緊急時に停止できる範囲において設定することができる。例えばロボット20が低速で駆動されている場合には、100〜200msec.を先行してシミュレーションを行わせても良い。また、ロボット20が高速で駆動されている場合、或いは比較的に重い物を移動させたり、或いは、柔らかい物を移動させたりするような場合には、1〜2sec.を先行してシミュレーションを行わせても良い。
図6(a)に示すように、シミュレーションにおいて、所定期間T2におけるロボット20aとロボット20bの仮想軌跡(点線部分)が作成される。そして、この例ではロボット20aとロボット20bとが所定期間T2内であって、時間t2時点(ポイントP2)で衝突することが推定される。こうした各ロボット制御装置1a,1bのシミュレーション結果は、ロボット制御装置1aとロボット制御装置1bとの間で共有される。従って、相手方となるロボット制御装置1のシミュレーション結果を加味した駆動制御が可能となる。例えば、図6(a)の例では、シミュレーションによってロボット20a,20bが衝突すると推定できた場合には、実際に衝突する前に、ロボット20a,20bを停止させる、或いは、一方のロボット20を停止させる、或いは、ロボット20a,20bの軌道を変更する等の処置を施すことができる。
図6(b)は、他の動作例を示す説明図である。シミュレーション実行部14の動作及びシミュレーション結果の共有機能については上記内容と同様である。図6(b)に示すように、シミュレーションにおいて、所定期間T2におけるロボット20aとロボット20bの仮想軌跡(点線部分)が作成される。そして、ロボット20aとロボット20bとが所定期間T2内であって、時間t2時点において最接近するが、その後、ロボット20a,20bの互いの距離は離れて行くことが推定される。こうした場合には、衝突回避策を講じる必要が無く、ロボット20a,20bを停止させることなく、通常駆動を行うことができる。すなわち、無駄な衝突回避処理を省くことができる。一方、特許文献1に示したような手法においては、ロボットそれぞれが他のロボットの将来の動きを知ることが出来ないために、接近軌道に入った時点で安全のための衝突回避処理を行わなければならいことになる。
なお、本実施形態では、2台のロボット制御装置1a,1bを例に挙げて説明したが、もちろん、3台以上のロボット制御装置1であっても適用することができる。
(ロボットの制御方法)
次に、第2実施形態にかかるロボットの制御方法について説明する。図7は、ロボットの制御方法を示すフローチャートである。
次に、第2実施形態にかかるロボットの制御方法について説明する。図7は、ロボットの制御方法を示すフローチャートである。
図7において、ステップS100aでは、駆動プログラムを読み出す。また、同時期にステップS100bでは、先行して駆動プログラムを読み出す。具体的には、ステップS100aでは、第1プログラム読出し部12によって、駆動プログラムが記憶されたプログラム記憶部11から駆動プログラムが読み出される。また、ステップS100bでは、第2プログラム読出し部13によって、駆動プログラムが記憶されたプログラム記憶部11から駆動プログラムが読み出される。なお、第2プログラム読出し部13によって読み出された駆動プログラムは、ロボット20の駆動時点よりも所定時間を先行させた駆動プログラムが読み出される。そして、ステップS100aにおいて駆動プログラムが読み出されると、ステップS300に移行する。一方、ステップS100bにおいて駆動プログラムが読み出されると、ステップS110bに移行し、以降、シミュレーションが実行される。
ここで、まず、ステップS110b〜ステップS170bのシミュレーションの処理方法について説明する。
ステップS110bでは、動作環境情報を取得する。具体的には、検出装置30によって検出されたロボット20の動作環境情報を取得する。
ステップS120bでは、取得した動作環境情報に基づいて、動作環境に変化が生じたか否かを判断する。例えば、障害物の進入等があったか否かを判断する。そして、環境変化があった場合には、ステップS130bに移行し、環境変化がなかった場合には、ステップS140bに移行する。
ステップS130bでは、環境変化情報を入力する。例えば、障害物の進入等の情報を入力する。
ステップS140bでは、シミュレーションを実行する。当該ステップでは、実機で駆動しているロボット20の駆動時点よりも時間的に所定時間先のロボット20の駆動に関するシミュレーションが行われる。なお、ステップS120bにおいて、環境変化が生じた場合には、入力された環境変化情報(ステップS130b)を加味してシミュレーションが行われる。
ステップS150bでは、シミュレーション結果を他のロボット制御装置1と共有する。本実施形態では、ロボット制御装置1aは、ロボット制御装置1aにおけるシミュレーション結果を他のロボット制御装置1bに出力するとともに、ロボット制御装置1bから出力されたシミュレーション結果を入力する。同様にして、ロボット制御装置1bは、ロボット制御装置1bにおけるシミュレーション結果を他のロボット制御装置1aに出力するとともに、ロボット制御装置1aから出力されたシミュレーション結果を入力する。
ステップS160bでは、ステップS140bで実行されたシミュレーション結果と、ステップS150bで他のロボット制御装置1から取得したシミュレーション結果に基づいて、ロボット20の駆動に関して異常が発生するか否かを判断する。すなわち、近い将来におけるロボット20の駆動において不具合が生じると推測されるか否かが判断される。異常が発生すると判断された場合には、ステップS170bに移行し、異常が発生しないと判断された場合には、ステップS320に移行する。
ステップS170bでは、異常情報が設定され、ステップS300の制御信号生成ステップに割り込み処理がなされる。
ステップS300では、制御信号を生成する。具体的には、制御処理部15において、ステップS100aで読み出された駆動プログラムおよびシミュレーション結果で得られた異常情報に基づいて、駆動信号が生成される。シミュレーション結果において異常情報が設定されていない場合は、ステップS100aで読み出された駆動プログラムに基づいて駆動信号が生成されることになる。一方、異常情報が設定されて場合には、ステップS100aで読み出された駆動プログラムを変更し、異常処理用の駆動信号、例えば、ロボット20の駆動を停止する等の駆動信号が生成されることになる。
ステップS310では、生成された駆動信号に基づいてロボット20が駆動実行される。すなわち、シミュレーションにおいて異常が検出されていない場合は、ステップS100aで読み出された駆動プログラムに基づいた駆動が実行される。すなわち、正常な駆動が実行される。一方、異常情報に基づく駆動信号の場合には、異常発生を回避する駆動が実行される。例えば、ロボット20の駆動を停止する等の実行が行われる。
ステップS320では、駆動プログラムが終了か否かを判断する。駆動プログラムが終了する場合には、一連の制御動作が終了する。駆動プログラムが終了しない(継続する)場合には、ステップS100a,S100bに移行する。
従って、上記の第2実施形態によれば、第1実施形態における効果に加え、以下に示す効果がある。
(1)各ロボット制御装置1a,1bは、シミュレーション実行部14a,14bで行われたシミュレーション結果を他のロボット制御装置1a,1bとの間で共有するためのシミュレーション結果出力部16a,16bとシミュレーション結果入力部17a,17bを備えた。これにより、他のロボット20a,20bの駆動軌跡を推定することができるとともに、共有したシミュレーション結果に基づいて、制御信号を生成することにより、より安全性を確保し、衝突を回避することができる。
なお、上記の実施形態に限定されるものではなく、以下のような変形例が挙げられる。
(変形例1)上記第1及び第2実施形態では、シミュレーションの結果に基づいて、異常情報を設定し、制御信号を生成したが、異常情報を設定した後に、ロボット20の駆動を異常停止するようにしてもよい。このようにすれば、処理時間が短縮され、より早く衝突等を回避することがきる。
(変形例2)上記第2実施形態では、自己のシミュレーション結果(ステップS140b)と他のシミュレーション結果(S150b)とを比較して異常があるか否か(ステップS160b)を判断したが、シミュレーション結果を共有した後に、自己のシミュレーション結果と他のシミュレーション結果に基づいて、さらに、シミュレーションを実行してもよい。このようにすれば、双方のロボット20a,20b動作を考慮した最適なシミュレーションを行うことができる。
(変形例3)上記第1及び第2実施形態では、主に、産業用ロボットを例に説明したが、これに限定されない。例えば、他の運動体や玩具等にも適用することができる。このようにしても、上記同様の効果を得ることができる。
1,1a,1b…ロボット制御装置、10,10a,10b…制御部、11,11a,11b…プログラム記憶部、12,12a,12b…第1プログラム読出し部、13,13a,13b…第2プログラム読出し部、14,14a,14b…シミュレーション実行部、15,15a,15b…制御処理部、16a,16b…シミュレーション結果出力部、17a,17b…シミュレーション結果入力部、20,20a,20b…ロボット、30,30a,30b…検出装置、T1…期間、T2…所定期間。
Claims (6)
- 駆動プログラムに従ってロボットを駆動させるロボット制御装置であって、
前記駆動プログラムのロボットの駆動時点よりも先行させた時点における前記駆動プログラムのシミュレーションを行わせ、前記シミュレーションの結果および前記駆動プログラムに基づいて、前記ロボットを制御する制御部を備えたことを特徴とするロボット制御装置。 - 請求項1に記載のロボット制御装置において、
前記制御部は、
前記駆動プログラムを記憶するプログラム記憶部と、
前記プログラム記憶部から前記駆動プログラムを読み出す第1プログラム読出し部と、
前記プログラム記憶部から前記第1プログラム読出し部から読み出された前記駆動プログラムに基づく、前記ロボットの駆動時点よりも先行させた時点の前記駆動プログラムを読み出す第2プログラム読出し部と、
前記第2プログラム読出し部から読み出された前記駆動プログラムに基づいてシミュレーションを行うシミュレーション実行部と、
前記駆動プログラムおよび前記シミュレーション結果に基づいて、前記ロボットに制御信号を出力する制御処理部と、を備えたことを特徴とするロボット制御装置。 - 請求項2に記載のロボット制御装置において、
前記シミュレーション実行部では、
前記ロボットが停止可能な時間を先行させて前記駆動プログラムのシミュレーションを行うことを特徴とするロボット制御装置。 - 請求項1〜3のいずれか一項に記載のロボット制御装置において、
前記ロボットの動作環境を検出する検出装置を備えたことを特徴とするロボット制御装置。 - 請求項1〜4のいずれか一項に記載のロボット制御装置において、
複数の前記ロボット制御装置間において、前記シミュレーションの結果を共有することを特徴とするロボット制御装置。 - 駆動プログラムに従ってロボットを駆動させるロボットの制御方法であって、
前記駆動プログラムのロボットの駆動時点よりも先行させた時点における前記駆動プログラムのシミュレーションを行わせ、前記シミュレーションの結果および前記駆動プログラムに基づいて、前記ロボットを制御することを特徴とするロボットの制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009016306A JP2010172990A (ja) | 2009-01-28 | 2009-01-28 | ロボット制御装置、ロボットの制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009016306A JP2010172990A (ja) | 2009-01-28 | 2009-01-28 | ロボット制御装置、ロボットの制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010172990A true JP2010172990A (ja) | 2010-08-12 |
Family
ID=42704433
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009016306A Withdrawn JP2010172990A (ja) | 2009-01-28 | 2009-01-28 | ロボット制御装置、ロボットの制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010172990A (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013136123A (ja) * | 2011-12-28 | 2013-07-11 | Kawasaki Heavy Ind Ltd | ロボット動作教示支援装置及び方法 |
JP2014121759A (ja) * | 2012-12-21 | 2014-07-03 | Kawasaki Heavy Ind Ltd | ロボット制御装置およびロボット制御方法 |
KR101484911B1 (ko) * | 2013-11-20 | 2015-01-20 | 레드원테크놀러지 주식회사 | 안전성을 높인 로봇 제어 시스템 및 방법 |
KR20190036685A (ko) * | 2017-09-28 | 2019-04-05 | 세메스 주식회사 | 기판 처리 방법 및 기판 처리 장치 |
JP2020062690A (ja) * | 2018-10-15 | 2020-04-23 | 株式会社Mujin | 制御装置、作業ロボット、プログラム、及び、制御方法 |
JP2020062741A (ja) * | 2019-06-03 | 2020-04-23 | 株式会社Mujin | 制御装置、作業ロボット、プログラム、及び、制御方法 |
JP2020086569A (ja) * | 2018-11-16 | 2020-06-04 | 株式会社MinD in a Device | デバイス制御システム |
WO2023095546A1 (ja) * | 2021-11-25 | 2023-06-01 | 株式会社日立製作所 | ロボットシステム及びロボット制御装置 |
-
2009
- 2009-01-28 JP JP2009016306A patent/JP2010172990A/ja not_active Withdrawn
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013136123A (ja) * | 2011-12-28 | 2013-07-11 | Kawasaki Heavy Ind Ltd | ロボット動作教示支援装置及び方法 |
JP2014121759A (ja) * | 2012-12-21 | 2014-07-03 | Kawasaki Heavy Ind Ltd | ロボット制御装置およびロボット制御方法 |
KR101484911B1 (ko) * | 2013-11-20 | 2015-01-20 | 레드원테크놀러지 주식회사 | 안전성을 높인 로봇 제어 시스템 및 방법 |
KR20190036685A (ko) * | 2017-09-28 | 2019-04-05 | 세메스 주식회사 | 기판 처리 방법 및 기판 처리 장치 |
KR102291815B1 (ko) * | 2017-09-28 | 2021-08-24 | 세메스 주식회사 | 기판 처리 방법 및 기판 처리 장치 |
JP2020062690A (ja) * | 2018-10-15 | 2020-04-23 | 株式会社Mujin | 制御装置、作業ロボット、プログラム、及び、制御方法 |
US11045948B2 (en) | 2018-10-15 | 2021-06-29 | Mujin, Inc. | Control apparatus, work robot, non-transitory computer-readable medium, and control method |
US11839977B2 (en) | 2018-10-15 | 2023-12-12 | Mujin, Inc. | Control apparatus, work robot, non-transitory computer-readable medium, and control method |
JP2020086569A (ja) * | 2018-11-16 | 2020-06-04 | 株式会社MinD in a Device | デバイス制御システム |
JP2020062741A (ja) * | 2019-06-03 | 2020-04-23 | 株式会社Mujin | 制御装置、作業ロボット、プログラム、及び、制御方法 |
WO2023095546A1 (ja) * | 2021-11-25 | 2023-06-01 | 株式会社日立製作所 | ロボットシステム及びロボット制御装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2010172990A (ja) | ロボット制御装置、ロボットの制御方法 | |
CN107107349B (zh) | 机械臂系统 | |
JP5872894B2 (ja) | ロボット動作教示支援装置及び方法 | |
JP5375062B2 (ja) | ロボットシステムおよび制御方法 | |
JP6920210B2 (ja) | ロボットシステム及びその運転方法 | |
US10514667B2 (en) | Machine tool and machine learning device | |
JP2008229800A (ja) | アーム搭載移動ロボットとその制御方法 | |
JP2014108515A (ja) | マルチアームロボットによる塗装プロセスの同期 | |
CN105717872B (zh) | 在轨迹上有条件地停止至少一个操纵器的方法和操纵器组 | |
JP2018062026A (ja) | ロボットの速度や加速度を制限する機能を備えたロボット制御装置 | |
JP2009146039A (ja) | セーフティ・コントロール・システム | |
JP2012216151A (ja) | 干渉回避制御装置 | |
KR101129617B1 (ko) | 다축 로봇장치의 비상정지 장치 | |
JP4668251B2 (ja) | ロボットシステムの制御装置、制御方法およびそのプログラム | |
JP5030628B2 (ja) | 干渉チェックシステム | |
JP2010240782A (ja) | ロボット制御システム、制御装置および制御方法 | |
JP3911258B2 (ja) | 制御装置による駆動装置の制御方法および制御装置 | |
JP2016221659A (ja) | ロボットシステム、ロボットシステムの制御方法、プログラム、記録媒体及び物品の製造方法 | |
CN105320075A (zh) | 具有重叠控制的速度控制功能的数值控制装置 | |
JP7078174B2 (ja) | ロボット制御装置、方法、及びプログラム | |
JP6476635B2 (ja) | ロボットの制御装置及び制御方法 | |
JP3327205B2 (ja) | ロボットの制御方法および装置 | |
KR20140102765A (ko) | 지령 생성 장치 및 지령 생성 방법 | |
JP2011014029A (ja) | 工作機械の衝突防止方法 | |
KR102371544B1 (ko) | 이송 로봇의 티칭 방법 및 이를 이용한 티칭 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20120403 |