JP2004025428A - Communication method of robot control device, and robot control device - Google Patents
Communication method of robot control device, and robot control device Download PDFInfo
- Publication number
- JP2004025428A JP2004025428A JP2003035300A JP2003035300A JP2004025428A JP 2004025428 A JP2004025428 A JP 2004025428A JP 2003035300 A JP2003035300 A JP 2003035300A JP 2003035300 A JP2003035300 A JP 2003035300A JP 2004025428 A JP2004025428 A JP 2004025428A
- Authority
- JP
- Japan
- Prior art keywords
- command value
- robot
- control device
- network
- unit
- 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.)
- Pending
Links
Images
Abstract
Description
【0001】
【発明の属する技術分野】
この発明は、ロボットを制御するロボット制御装置がネットワークを介して外部機器と通信するロボット制御装置の通信方法およびそのロボット制御装置に関するものである。
【0002】
【従来の技術】
図6は例えば、日本ロボット学会誌Vol.12,No.8,pp1137−1142に示された、従来のロボット制御装置を示す構成図である。図において、20はロボット制御装置であり、21はこのロボット制御装置20内にあって、ロボットを制御するための指令値などを計算する中央演算処理装置(以下CPUという)、22は後述するネットワークを経由して、後述するサーボドライバにその指令値を送るネットワークインタフェース、23はCPU21とネットワークインタフェース22との間でデータの受け渡しを行うためのデータバス、24はロボット制御装置20とサーボドライバを結ぶネットワーク、25はロボットのサーボモータを駆動するサーボドライバである。26はこのように構成されたロボット制御装置によって制御されるロボット本体である。
【0003】
次に動作について説明する。
ロボット制御装置20内のCPU21は、ロボットの逆キネマティクスや軌道補間計算を行い、サーボドライバ25への指令値を生成する。CPU21で生成された指令値は、データバス23を通してネットワークインタフェース22に送られる。ネットワークインタフェース22に送られた指令値は、ネットワーク24を介してサーボドライバ25に送られ、サーボドライバ25は指令値の通りにロボット本体26内のサーボモータを回転させることによってロボットが動作する。
【0004】
また、図7は例えば特開平6−262558号公報に示された、従来のロボット制御装置の通信方法を示す構成図である。図において、27はロボットであり、28はこのロボット27を制御するロボット制御装置、29はこのロボット制御装置28に接続された外部計算機である。また、30および32はこの外部計算機29とロボット制御装置28との間で指令値を通信するパラレルインタフェース、31および33はロボット制御装置28と外部計算機29の間でコマンドを通信するシリアルインタフェースである。
【0005】
次に動作について説明する。
外部計算機29は、ロボット制御装置28に接続されており、ロボット27の各関節の次の移動点までの速度データ(指令値)を求める。この速度データは、例えばパラレルインタフェース30、32を通してロボット制御装置28から送られてくるロボット27の各関節角度に基づいて計算される。ロボット制御装置28は外部計算機29から出力された速度データをパラレルインタフェース30、32を通して受け取った後、それをロボット27に出力してロボット27の各関節を速度データによって動作させる。
【0006】
【発明が解決しようとする課題】
従来のロボット制御装置は以上のように構成されているので、ロボット制御装置以外の機器をネットワークにつないで指令値をロボットに与える場合、指令値を生成する機器から直接ネットワークを介してサーボドライバに指令値を与えるため、ロボットの速度オーバーや可動範囲外などのチェックを指令値を出す機器内で行わなければならず、指令値の生成が容易でないという問題点があった。
【0007】
また、外部機器から指令値を受け取る場合、パラレルインタフェースなどを用いて通信を行っているため、1対1でしか通信ができなかった。
【0008】
また、ロボット制御装置内部で生成した指令値と、ネットワークに接続された他の機器から送られてきた指令値を容易に切り替えられないという問題点があった。
【0009】
また、ネットワークにつながった機器にはあらかじめ機器固有の番号をつけておかなければならないので、機器が多くなると番号の管理が困難になるなどの問題点があった。
【0010】
この発明は上記のような問題点を解消するためになされたもので、外部機器からの指令によって自由にロボットを動作させることが可能であるとともに、ネットワークを介して他のロボット制御装置、計測制御装置などと通信することにより、ロボットに高度な作業をさせることが可能となるロボット制御装置の通信方法およびロボット制御装置を提供することを目的とする。
【0011】
【課題を解決するための手段】
この発明に係るロボット制御装置は、外部機器との通信手段と、プログラム記憶手段に記憶されているロボットの動作を記述したプログラムを実行するプログラム実行手段からの指示に従って、当該ロボット制御装置内部で指令値を生成する指令値生成手段と、この指令値生成手段からの指令値と通信手段で外部機器より受け取った指令値とを切り替えて、選択した指令値を制御手段に伝達する切替手段を設けたものである。
【0012】
この発明に係るロボット制御装置は、指令値生成手段の生成した指令値を直接、あるいはその指令値を通信手段が外部機器より受け取った指令値の補正量で補正して、制御手段に供給する補正手段で代替したものである。
【0013】
この発明に係るロボット制御装置の通信方法は、ネットワークにつながる各機器毎に固有の番号の割り当てを自動的に行い、各機器に自由に付与される名前として自機器に付与された名前と、自機器に割り当てられた固有の番号とを、ネットワークにつながった各機器に通知するようにしたものである。
【0014】
この発明に係るロボット制御装置は、通信手段が外部機器より受け取った指令値を蓄えておく記憶手段と、この記憶手段から一定の時間間隔毎に指令値の読み出しを行う読出手段を設けたものである。
【0015】
この発明に係るロボット制御装置は、記憶手段から読み出した指令値の補間機能を読出手段に持たせたものである。
【0016】
【発明の実施の形態】
実施の形態1.
図1はこの発明の実施の形態1によるロボット制御装置を示す構成図である。図において、100は当該ロボット制御装置であり、1はこのロボット制御装置100によって制御されるロボットである。2a、2bはロボット1の指令値を計算してそれをロボット制御装置100に与える、外部機器としてのパーソナルコンピュータ、3はこのロボット制御装置100とパーソナルコンピュータ2a、2bを接続し、通信を可能とするネットワークである。なお、4はロボット制御のためのプログラムなどを保持して、別途ロボット制御装置100に接続されたパーソナルコンピュータである。
【0017】
また、ロボット制御装置100内において、101はネットワーク3に接続されて、このロボット制御装置100がそれを介してパーソナルコンピュータ2aおよび2bと通信するための通信手段としてのネットワーク通信部であり、102はロボット1の動作を記述したプログラムを実行する、プログラム実行手段としてのプログラム実行部、103はそのプログラムを記憶しておくプログラム記憶手段としてのプログラム記憶部である。104はプログラム実行部102からの指示に従って当該ロボット制御装置100内部の指令値を生成する、指令値生成手段としての内部指令値生成部であり、105はプログラム実行部102からの指示に従って、内部指令値生成部104からの指令値とネットワーク通信部101で受け取った指令値を切り替えてその一方を選択する、切替手段としての指令値選択部である。106はロボットの現在の位置姿勢を管理したり、指令値選択部105から出力された指令値を後述するサーボドライバに与えたりするロボット状態チェック部、107はロボット1を動作させるサーボドライバであり、これらロボット状態チェック部106およびサーボドライバ107は指令値選択部105で選択された指令値に基づいて動作する制御手段を形成している。
【0018】
次に動作について説明する。
まず、プログラム実行部102はプログラム記憶部103またはパーソナルコンピュータ4からプログラムを読み出してそれを実行する。ここでは、例えば次のようなロボット1を動作させるプログラムが実行される場合を考える。
【0019】
move A
com 2a
net_on
com 2b
net_on
move B
【0020】
ここで、move A、move Bはロボット1の位置および姿勢を位置姿勢AまたはBに移動させるコマンド、comは通信相手を選択するコマンド、net_onはコマンドcomで選択した通信相手から指令値をネットワーク3経由でもらうコマンドである。このようなプログラムを実行する場合、プログラム実行部102はまず、move Aというコマンドを実行し、ロボット1を位置姿勢Aまで動作させる。このときプログラム実行部102は内部指令値生成部104に指令値の生成を指示し、内部指令値生成部104はロボット1が位置姿勢Aに動くまでの動作のための指令値を生成する。また、プログラム実行部102は指令値選択部105に対しても、ロボット1への指令値として内部指令値生成部104が生成した指令値を用いるように指示を出す。
【0021】
このようにして、move Aというコマンドを実行している間は、指令値は内部指令値生成部104で生成されたものが、指令値選択部105を経由してロボット状態チェック部106に渡される。ロボット状態チェック部106では、現在のロボット1の位置・姿勢と指令値選択部105から渡された指令値をもとに、ロボット1の動作速度が適正範囲内であるか、位置・姿勢が動作範囲内であるかなどのチェックを行う。チェックの結果が正常であればその指令値はサーボドライバ107に与えられ、サーボドライバ107がロボット1内のサーボモータを駆動してロボット1が動作する。
【0022】
ロボット1が位置姿勢Aまで移動した後、プログラム実行部102はcom 2aのコマンドを実行し、通信相手としてパーソナルコンピュータ2aを選択する。次に、net_onのコマンドが実行され、プログラム実行部102は指令値選択部105に対して、ネットワーク3経由で送られてくる指令値を有効にするように指示を出す。指令値選択部105はその指示を受け取ると、内部指令値生成部104で生成された指令値を使うのをやめ、ネットワーク通信部101を経由して得られた指令値をロボット状態チェック部106に送り出す。なお、ネットワーク通信部101はロボット制御装置100の外部のネットワーク3とつながっており、ネットワーク3とつながったパーソナルコンピュータ2aと通信を行って、ロボット1を制御するための指令値を受け取る。
【0023】
パーソナルコンピュータ2aから通信終了のコマンドがネットワーク3経由でネットワーク通信部101に送られてくると、指令値選択部105はネットワーク3経由での指令値の受信を終了するとともに、通信が終了したことをプログラム実行部102に知らせる。
【0024】
プログラム実行部102は通信が終了すると、プログラム記憶部103またはパーソナルコンピュータ4から読み出した次のコマンドcom 2bを実行し、次の通信相手としてパーソナルコンピュータ2bを選択する。次にプログラム実行部102はコマンドnet_onを実行し、パーソナルコンピュータ2bとの通信を開始し、ネットワーク3経由で指令値を受け取り、それに基づいてロボット1を動作させる。
【0025】
パーソナルコンピュータ2bから通信終了のコマンドがネットワーク3経由でネットワーク通信部101に送られてくると、指令値選択部105はネットワーク3経由での指令値の受信を終了するとともに、通信が終了したことをプログラム実行部102に知らせる。
【0026】
プログラム実行部102は通信が終了すると、プログラム記憶部103またはパーソナルコンピュータ4から次のコマンドmove Bを読み出して、ロボット1を位置姿勢Bに移動させる。
【0027】
上記のようにロボット制御装置100の内部で生成した指令値と、ネットワーク3経由で送られてきた指令値とを切り替えてロボット1を動作させるようにすることによって、大まかな動作はロボット制御装置100内部の指令値生成方式によって行い、細かい動作は外部から指令値を与えて動作させるということが可能となる。
【0028】
また、コマンドによって切り替えられるようにしたことにより、自由に内部指令値と外部指令値の切り替えが可能となる。
【0029】
なお、上記実施の形態1では、パーソナルコンピュータ4またはプログラム記憶部103からコマンドを読み出すものを示したが、オペレータがコマンドをパーソナルコンピュータ4などから1つずつ入力してゆくようにしても良いことはいうまでもない。
【0030】
また、上記実施の形態1では、プログラム記憶部103やパーソナルコンピュータ4から与えられたコマンドによって指令値が切り替えられる場合について説明したが、ティーチングボックスなど他の外部機器からの指令によって切り替えるようにしても良い。
【0031】
また、上記実施の形態1では、ネットワーク3につながったパーソナルコンピュータ2a、2bから外部指令値を受け取るものとしたが、パーソナルコンピュータ以外の機器、例えば、他のロボット制御装置、ワークステーションなどから受け取るようにしても良い。
【0032】
実施の形態2.
図2はこの発明の実施の形態2によるロボット制御装置を示す構成図である。図において、図1と相当部分には同一符号を付して詳細な説明を省略する。108はプログラム実行部102からの指示に従って、内部指令値生成部104の生成した指令値をそのまま、あるいは内部指令値生成部104の生成した指令値にネットワーク通信部101で受け取ったパーソナルコンピュータ2aあるいは2bからの指令値の補正量を合成して補正したものを、ロボット状態チェック部106に送出する補正手段としての指令値合成部である。この実施の形態2は指令値選択部105をこの指令値合成部108によって代替した点で実施の形態1とは異なっている。
【0033】
次に動作について説明する。
まず、プログラム実行部102はプログラム記憶部103またはパーソナルコンピュータ4からプログラムを読み出してそれを実行する。ここでは、例えば次のようなロボット1を動作させるプログラムが実行される場合を考える。
【0034】
move A
com 2a
move C with net
com 2b
move D with net
move B
【0035】
ここで、move C with net、move D with netは指令値の補正量をネットワーク3経由でもらうコマンドであり、その他のコマンドは実施の形態1のそれらと同様である。このようなプログラムを実行する場合、プログラム実行部102はまず、move Aというコマンドを実行し、ロボット1を位置姿勢Aまで動作させる。このときプログラム実行部102は内部指令値生成部104に指令を出し、内部指令値生成部104はロボットの手先が位置姿勢Aに動くまでの動作の指令値を生成する。また、プログラム実行部102は指令値合成部108に対して、ロボット1への指令値として内部指令値生成部104が生成した指令値のみを用いるように指示を出す。このようにして、move Aというコマンドを実行している間、指令値は内部指令値生成部104で生成されたものがそのまま、指令値合成部108を経由してロボット状態チェック部106に与えられる。
【0036】
ロボットが位置姿勢Aまで移動した後、プログラム実行部102はcom 2aのコマンドで通信相手を選択し、さらに次のコマンドmove C withnetを実行する。このコマンドが実行されると、内部指令値生成部104は位置姿勢Cにロボット1が動くように指令値を生成する。また、プログラム実行部102は指令値合成部108にネットワーク3経由で送られてくる指令値の補正量を有効にするように指示を出す。指令値合成部108はこの指示を受け取ると、内部指令値生成部104で生成された指令値に、ネットワーク通信部101を経由して得られた指令値の補正量を合成して補正し、補正された指令値をロボット状態チェック部106に送り出す。なお、ネットワーク通信部101はロボット制御装置100の外部のネットワーク3とつながっており、ネットワーク3とつながったパーソナルコンピュータ2aと通信を行って、ロボット1を制御するための指令値の補正量を受け取る。
【0037】
パーソナルコンピュータ2aから通信終了のコマンドがネットワーク3経由でネットワーク通信部101に送られてくるか、内部指令値生成部104が位置姿勢Cの指令値を生成すると、指令値合成部108はネットワーク3経由での指令値の補正量の受信を終了する。
【0038】
内部指令値生成部104が位置姿勢Cの指令値を出し終わるとプログラム実行部102はプログラム記憶部103またはパーソナルコンピュータ4から次のコマンドcom 2bを読み出し、次の通信相手としてパーソナルコンピュータ2bを選択する。以下の動作は前述のコマンドmove C with netを実行する場合と同様に、ネットワーク3経由でパーソナルコンピュータ2bの送出する指令値の補正量を受け取りながらロボット1を位置姿勢Dへ移動させる。
【0039】
上記のようにロボット制御装置100の内部で生成した指令値だけで動作するモードと、ネットワーク3経由で送られてきた指令値の補正量を合成して動作するモードを持つことにより、大まかな動作はロボット内部の指令値生成方式によって行い、細かい動作は外部から指令値の補正量で補正して動作させるということが可能となる。
【0040】
また、動作の概略の軌道はロボット制御装置100が生成し、細かい動きだけを外部機器から与えればよいので、指令値の生成が容易になる。
【0041】
また、コマンドによって切り替えられるようにしたことにより、内部指令値のみで動くモードと外部から補正量を与えるモードの切り替えが自由かつ容易になる。
【0042】
なお、上記実施の形態2では、パーソナルコンピュータ4またはプログラム記憶部103からコマンドを読み出すものを示したが、オペレータがコマンドをパーソナルコンピュータ4などから1つずつ入力してゆくようにしても良いことはいうまでもない。
【0043】
また、上記実施の形態2では、プログラム記憶部103やパーソナルコンピュータ4から与えられたコマンドによって動作モードが切り替えられる場合について説明したが、ティーチングボックスなど他の外部機器からの指令によって切り替えられるようにしても良い。
【0044】
また、上記実施の形態2では、ネットワーク3につながったパーソナルコンピュータ2a、2bから指令値の補正量を受け取るものとしたが、パーソナルコンピュータ以外の機器、例えば、他のロボット制御装置、ワークステーションなどから受け取るようにしても良い。
【0045】
実施の形態3.
図3はこの発明の実施の形態3によるロボット制御装置の通信方法における、新規に立ち上がった機器の通信手順を示すフローチャート、図4は同じくすでに稼働中の機器の通信手順を示すフローチャートであり、1つのネットワークにつながる複数のロボット制御装置、画像計測装置などの各機器のそれぞれに固有の番号を自動的に割り振る方法と、各機器につけられた名前と自動的に割り振られた機器固有の番号との対応をとる方法について示している。
【0046】
新たにネットワークにつながれた機器の電源が投入されたとき、当該機器は次のようにしてネットワーク内における自分に固有の番号を決定し、さらに、ネットワークにつながっている他の機器の名前とそれらに固有の番号とを対応付けたデータベースを作成する。
【0047】
電源が投入されると、図3のステップST21に示すとおり、まず、自分のID(ネットワーク内での固有の番号)を1と仮定する。次にステップST22において、自分のIDと同じIDを有する他の機器が存在するかどうかを調べる。同じIDを有する機器が存在する場合はステップST23に進み、自分のIDを2にインクリメントしてステップST22に戻り、再び、同じIDを持つ機器が存在するか否かを調べる。
【0048】
ステップST22で同じIDを持った機器が存在しないことが検出された場合には、ステップST24においてそのIDを自分のIDに割り当てる。次にステップST25に進んで、あらかじめ設定されている自分の機器名、例えば、”robot_1”という名前と、ステップST24で割り当てられた自分のIDとを、ネットワークにつながる全ての機器に対して通知する。
【0049】
ネットワークにつながった各機器は上記IDと機器名を受け取ると、図4に示す手順にしたがって自分のIDと機器名を返信する。すなわち、まずステップST31において、新しくつながった機器からの機器名とそのIDとを受信し、それを機器名とIDとの対応を記述したデータベースに追加する。次にステップST32に進み、送信元の機器に対して自分の機器名とIDを送り返す。
【0050】
新しくネットワークにつながった機器は図3のステップST26において、ネットワーク上の他の機器から送り返されてきた他の機器の機器名とIDを受信して、このネットワークにつながっている各機器の名前とIDの対応を記述したデータベースを作成する。
【0051】
以上の手順によって、ネットワーク上の機器が単なる番号ではなく、”robot_1”などの人間にもなじみやすい名前を用いて管理できるため、ネットワーク上の機器の識別が容易になる。また、IDが自動的に割り当てられるため、ネットワークに接続される機器が増えた場合に、同じIDを重複して割り当てるという問題がなくなる。
【0052】
実施の形態4.
図5はこの発明の実施の形態4よるロボット制御装置を示す構成図であり、図1と相当部分には同一符号を付してその説明を省略する。図において、109はネットワーク3を経由してネットワーク通信部101が外部機器としてのパーソナルコンピュータ2より受け取った指令値を蓄える記憶手段としての指令値バッファであり、110はこの指令値バッファ109に蓄えられている指令値を一定時間間隔毎に読み出して、その指令値とロボット1の現在の姿勢に基づいてより細かな指令値を補間して計算し、それを外部指令値として指令値選択部105に与える、読出手段としての指令値補間部である。
【0053】
次に動作について説明する。
まず、プログラム実行部102はプログラム記憶部103またはパーソナルコンピュータ4からプログラムを読み出してそれを実行する。ここでは、例えば次のようなロボット1を動作させるプログラムが実行される場合を考える。
【0054】
move A
com 2
net_on
move B
【0055】
ここで、move A、move Bはロボット1の位置及び姿勢を位置姿勢AまたはBに移動させるコマンド、comは通信相手を選択するコマンド、net_onはコマンドcomで選択した通信相手から指令値をネットワーク3経由でもらうコマンドである。このようなプログラムを実行する場合、プログラム実行部102はまず、move Aというコマンドを実行し、ロボット1を位置姿勢Aまで動作させる。このとき、プログラム実行部102は内部指令値生成部104に指令を出し、内部指令値生成部104はロボット1が位置姿勢Aに動くまでの動作の指令値を生成する。また、プログラム実行部102は指令値選択部105にも、ロボット1への指令値として内部指令値生成部104が生成した指令値を用いるように指示を出す。
【0056】
このようにして、move Aというコマンドを実行している間、指令値は内部指令値生成部104で生成され、指令値選択部105を経由してロボット状態チェック部106に渡される。ロボット状態チェック部106では、現在のロボット1の位置姿勢と指令値選択部105から渡された指令値をもとに、ロボット1の動作速度が適正範囲内にあるか、位置姿勢が動作範囲内にあるかなどのチェックを行う。チェックの結果が適正であればその指令値はサーボドライバ107に与えられ、サーボドライバ107がロボット1内のサーボモータを駆動してロボット1が動作する。
【0057】
ロボットが位置姿勢Aまで移動した後、プログラム実行部102はcom 2のコマンドを実行し、指令値をもらう通信相手としてパーソナルコンピュータ2を選択する。次に、net_onというコマンドを実行し、プログラム実行部102は指令値選択部105にネットワーク3経由で送られてくる指令値を有効にするように指示する。指令値選択部105はその指示を受け取ると、内部指令値生成部104で生成された指令値を使うのをやめ、ネットワーク通信部101を経由して得られた指令値に基づく外部指令値をロボット状態チェック部106に送り出す。
【0058】
すなわち、ネットワーク通信部101はロボット制御装置100の外部のネットワーク3とつながっており、ネットワーク3とつながったパーソナルコンピュータ2などの外部機器と通信を行って、ロボット1を制御するための指令値を受け取る。このネットワーク通信部101で受信されたパーソナルコンピュータ2からの指令値は、指令値バッファ109に送られて一旦蓄えられる。指令値補間部110はこの指令値バッファ109に蓄えられた指令値を一定時間間隔毎に読み出し、その指令値とロボット1の現在の位置姿勢から、より細かい指令値を補間によって計算し、その指令値を外部指令値として指令値選択部105に送る。
【0059】
パーソナルコンピュータ2から通信終了のコマンドがネットワーク3経由でネットワーク通信部101に送られてくると、指令値選択部105はネットワーク3経由での指令値の受信を終了するとともに、通信が終了したことをプログラム実行部102に知らせる。
【0060】
プログラム実行部102は通信が終了すると、プログラム記憶部103またはパーソナルコンピュータ4から読み出した次のコマンドmove Bを実行してロボット1を位置姿勢Bに移動させる。
【0061】
ここで、サーボドライバ107への指令値は、通常非常に短い一定周期毎に与える必要があるが、上記のように指令値バッファ109と指令値補間部110を設けることにより、一定周期毎にネットワーク3経由で指令値が送られてこなくても、指令値補間部110にて必要な周期で指令値バッファ109より指令値を読み出すことによってそれに対応することができ、さらに、その指令値補間部110が指令値を補間してくれるので、より滑らかなロボット1の動作が可能になる。
【0062】
なお、上記実施の形態4では、ネットワーク3経由の外部指令値と、内部指令値生成手段104で生成した内部指令値とを、指令値選択部105で切り替えてロボット状態チェック部106に与えるものを示したが、指令値選択部105の代わりに実施の形態2における指令値合成部108を用いて、ネットワーク3経由で受信した指令値の補正量を、外部からの指令値として指令値バッファ109に蓄え、それを指令値補間部110によって一定時間間隔毎に読み出して内部指令値に合成し、その補正された指令値をロボット状態チェック部106に与えるようにしても良い。
【0063】
【発明の効果】
以上のように、この発明によれば、切替手段によって、ロボット制御装置内部の指令値生成手段で生成した指令値と、通信手段で外部機器より受け取った指令値との切替・選択を行い、選択された指令値でロボットの制御・駆動を行うように構成したので、ロボットの大まかな動作については内部で生成した指令値に従って、細かな動作については外部から与えられる指令値に従って、それぞれ制御することができ、多様な動作が可能となる効果がある。
【0064】
この発明によれば、補正手段を設けて、ロボット制御装置内部の指令値生成手段で生成した指令値のみで動作するモードと、その指令値を外部機器より通信手段が受け取った指令値の補正量で補正した指令値で動作するモードのいずれかで動作するように構成したので、ロボットの大まかな動作については内部で生成した指令値に従って、細かな動作については内部で生成した指令値を外部から与えられる補正量で補正した指令値に従って、それぞれ制御することができ、多様な動作が可能となる効果がある。
【0065】
この発明によれば、ネットワークにつながる各機器毎に固有の番号の割当を自動的に行い、当該番号と、それとは別に自由に付けられた自機器の名前をネットワークにつながる他の機器に通知するように構成したので、それぞれの機器には人間になじみやすい名前を自由につけることが可能となって、機器の管理を容易化できる効果がある。
【0066】
この発明によれば、通信手段を介して外部機器より受け取った指令値を記憶手段に蓄えておき、読出手段によって一定の時間間隔毎にこの記憶手段に蓄えられている指令値を読み出して、ロボットの制御に用いるように構成したので、一定時間毎に外部機器からロボット制御装置に指令値を送信する必要がなくなり、通信の自由度が高くなる効果がある。
【0067】
この発明によれば、その読出手段が記憶手段から読み出した指令値の補間を行うように構成したので、ロボットをより滑らかに動作させることが可能になる効果がある。
【図面の簡単な説明】
【図1】この発明の実施の形態1によるロボット制御装置を示す構成図である。
【図2】この発明の実施の形態2によるロボット制御装置を示す構成図である。
【図3】この発明の実施の形態3によるロボット制御装置の通信方法の新たに立ち上がった機器の動作を示すフローチャートである。
【図4】この発明の実施の形態3によるロボット制御装置の通信方法のすでに稼働中の機器の動作を示すフローチャートである。
【図5】この発明の実施の形態4によるロボット制御装置を示す構成図である。
【図6】従来のロボット制御装置を示す構成図である。
【図7】従来のロボット制御装置の通信方法を示す構成図である。
【符号の説明】
1 ロボット、2,2a,2b パーソナルコンピュータ(外部機器)、3 ネットワーク、100 ロボット制御装置、101 ネットワーク通信部(通信手段)、102 プログラム実行部(プログラム実行手段)、103 プログラム記憶部(プログラム記憶手段)、104 内部指令値生成部(指令値生成手段)、105 指令値選択部(切替手段)、106 ロボット状態チェック部(制御手段)、107 サーボドライバ(制御手段)、108 指令値合成部(補正手段)、109 指令値バッファ(記憶手段)、110 指令値補間部(読出手段)。[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a communication method of a robot control device in which a robot control device that controls a robot communicates with an external device via a network, and to the robot control device.
[0002]
[Prior art]
FIG. 6 shows, for example, the Journal of the Robotics Society of Japan, Vol. 12, no. FIG. 8 is a configuration diagram showing a conventional robot control device shown in pp1137-1142. In the figure,
[0003]
Next, the operation will be described.
The
[0004]
FIG. 7 is a block diagram showing a communication method of a conventional robot control device disclosed in, for example, JP-A-6-262558. In the figure,
[0005]
Next, the operation will be described.
The
[0006]
[Problems to be solved by the invention]
The conventional robot controller is configured as described above, so when connecting a device other than the robot controller to the network and giving a command value to the robot, the device that generates the command value directly sends the command value to the servo driver via the network. In order to give a command value, the robot must be checked for over speed or out of the movable range in a device that issues the command value, and there is a problem that it is not easy to generate the command value.
[0007]
When a command value is received from an external device, communication is performed using a parallel interface or the like, so that communication can be performed only on a one-to-one basis.
[0008]
Further, there is a problem that it is not easy to switch between a command value generated inside the robot control device and a command value sent from another device connected to the network.
[0009]
Further, since a device-specific number must be assigned to a device connected to the network in advance, there is a problem that it becomes difficult to manage the number as the number of devices increases.
[0010]
The present invention has been made in order to solve the above-described problems, and it is possible to operate a robot freely by a command from an external device, and to control other robot control devices and measurement control via a network. An object of the present invention is to provide a communication method of a robot control device and a robot control device that enable a robot to perform advanced work by communicating with a device or the like.
[0011]
[Means for Solving the Problems]
According to the robot control device of the present invention, a command is issued within the robot control device in accordance with an instruction from a communication unit for communicating with an external device and a program execution unit for executing a program describing the operation of the robot stored in the program storage unit. Command value generating means for generating a value, and switching means for switching between the command value from the command value generating means and the command value received from an external device by the communication means, and transmitting the selected command value to the control means. Things.
[0012]
The robot control device according to the present invention corrects the command value generated by the command value generation means directly, or corrects the command value with the correction amount of the command value received from the external device by the communication means, and supplies the correction value to the control means. It has been replaced by means.
[0013]
The communication method of the robot control device according to the present invention automatically assigns a unique number to each device connected to the network, and automatically assigns a unique name to each device as a name freely assigned to each device. The unique number assigned to the device is notified to each device connected to the network.
[0014]
The robot control device according to the present invention includes a storage unit that stores a command value received from an external device by the communication unit, and a reading unit that reads the command value from the storage unit at regular time intervals. is there.
[0015]
The robot control device according to the present invention is such that the reading means has a function of interpolating the command value read from the storage means.
[0016]
BEST MODE FOR CARRYING OUT THE INVENTION
FIG. 1 is a configuration diagram showing a robot control device according to
[0017]
In the
[0018]
Next, the operation will be described.
First, the
[0019]
move A
net_on
net_on
move B
[0020]
Here, move A and move B are commands for moving the position and orientation of the
[0021]
As described above, while the command “move A” is being executed, the command value generated by the internal command
[0022]
After the
[0023]
When a communication end command is sent from the
[0024]
When the communication is completed, the
[0025]
When a communication end command is sent from the
[0026]
When the communication is completed, the
[0027]
By switching the command value generated inside the
[0028]
Further, since the switching is performed by the command, the switching between the internal command value and the external command value can be freely performed.
[0029]
In the first embodiment, the command is read from the personal computer 4 or the
[0030]
In the first embodiment, the case where the command value is switched by a command given from the
[0031]
In the first embodiment, the external command values are received from the
[0032]
Embodiment 2 FIG.
FIG. 2 is a configuration diagram showing a robot control device according to Embodiment 2 of the present invention. In the figure, parts corresponding to those in FIG. In accordance with an instruction from the
[0033]
Next, the operation will be described.
First, the
[0034]
move A
move C with net
move D with net
move B
[0035]
Here, move C with net and move D with net are commands for requesting the correction amount of the command value via the network 3, and the other commands are the same as those of the first embodiment. When executing such a program, the
[0036]
After the robot has moved to the position and orientation A, the
[0037]
When a communication end command is sent from the
[0038]
When the internal command
[0039]
By providing a mode in which only the command value generated inside the
[0040]
In addition, since an approximate trajectory of the operation is generated by the
[0041]
In addition, since switching can be performed by a command, switching between a mode in which only an internal command value is used and a mode in which a correction amount is externally provided can be freely and easily performed.
[0042]
In the second embodiment, the command is read from the personal computer 4 or the
[0043]
In the second embodiment, the case where the operation mode is switched by a command given from the
[0044]
In the second embodiment, the correction value of the command value is received from the
[0045]
Embodiment 3 FIG.
FIG. 3 is a flowchart showing a communication procedure of a newly started device in the communication method of the robot control device according to the third embodiment of the present invention, and FIG. 4 is a flowchart showing a communication procedure of an already operating device. A method of automatically assigning a unique number to each device such as a plurality of robot control devices and image measurement devices connected to one network, and a method of automatically assigning a unique name to each device and the name assigned to each device It shows how to respond.
[0046]
When a newly connected device is powered on, it determines its own unique number in the network as follows, and then names the other devices connected to the network along with their names. Create a database that associates unique numbers.
[0047]
When the power is turned on, it is first assumed that its own ID (a unique number in the network) is 1, as shown in step ST21 of FIG. Next, in step ST22, it is checked whether or not there is another device having the same ID as its own ID. If there is a device having the same ID, the process proceeds to step ST23, increments its own ID to 2, returns to step ST22, and checks again whether a device having the same ID exists.
[0048]
If it is detected in step ST22 that a device having the same ID does not exist, the ID is assigned to its own ID in step ST24. Next, the process proceeds to step ST25, in which all the devices connected to the network are notified of their own device name, for example, the name “robot_1” and their own ID assigned in step ST24. .
[0049]
When each device connected to the network receives the ID and the device name, it returns its own ID and device name according to the procedure shown in FIG. That is, first, in step ST31, the device name and its ID from the newly connected device are received, and are added to the database describing the correspondence between the device name and the ID. Next, the process proceeds to step ST32, and sends back its own device name and ID to the transmission source device.
[0050]
The device newly connected to the network receives the device names and IDs of the other devices sent back from the other devices on the network in step ST26 of FIG. 3, and the names and IDs of the devices connected to this network. Create a database describing the correspondence of
[0051]
According to the above procedure, devices on the network can be managed using names that are easily understood by humans, such as “robot — 1”, rather than numbers, so that devices on the network can be easily identified. In addition, since IDs are automatically assigned, the problem of duplicate assignment of the same ID when the number of devices connected to the network increases is eliminated.
[0052]
Embodiment 4 FIG.
FIG. 5 is a configuration diagram showing a robot control apparatus according to Embodiment 4 of the present invention, and the same reference numerals are given to portions corresponding to those in FIG. 1 and description thereof is omitted. In the figure,
[0053]
Next, the operation will be described.
First, the
[0054]
move A
com 2
net_on
move B
[0055]
Here, move A and move B are commands for moving the position and orientation of the
[0056]
In this way, while the command “move A” is being executed, the command value is generated by the internal command
[0057]
After the robot has moved to position / posture A, the
[0058]
That is, the
[0059]
When a communication end command is sent from the personal computer 2 to the
[0060]
When the communication ends, the
[0061]
Here, the command value to the
[0062]
In the fourth embodiment, the external command value via the network 3 and the internal command value generated by the internal command value generating means 104 are switched by the command
[0063]
【The invention's effect】
As described above, according to the present invention, the switching unit switches and selects between the command value generated by the command value generation unit inside the robot control device and the command value received from the external device by the communication unit. The robot is controlled and driven with the specified command values, so the rough operation of the robot should be controlled according to the internally generated command values, and the detailed operation should be controlled according to the externally provided command values. Thus, there is an effect that various operations can be performed.
[0064]
According to the present invention, a mode in which the correction means is provided to operate only with the command value generated by the command value generation means in the robot control device, and the correction value of the command value received by the communication means from the external device by the command value Since the robot is configured to operate in one of the modes that operate with the command value corrected in step 2, the robot generates the command value generated internally from the outside for the rough motion according to the command value generated internally. According to the command value corrected by the given correction amount, each can be controlled, and there is an effect that various operations can be performed.
[0065]
According to the present invention, a unique number is automatically assigned to each device connected to the network, and the number and the name of the own device freely assigned separately from the number are notified to other devices connected to the network. With such a configuration, it is possible to freely assign a name that is easily understood by humans to each device, and there is an effect that management of the device can be facilitated.
[0066]
According to this invention, the command value received from the external device via the communication means is stored in the storage means, and the command value stored in the storage means is read out at regular time intervals by the reading means, and the robot reads the command value. , It is not necessary to transmit a command value from an external device to the robot control device at regular time intervals, so that the degree of freedom in communication is increased.
[0067]
According to the present invention, since the reading means is configured to interpolate the command value read from the storage means, there is an effect that the robot can be operated more smoothly.
[Brief description of the drawings]
FIG. 1 is a configuration diagram showing a robot control device according to a first embodiment of the present invention.
FIG. 2 is a configuration diagram illustrating a robot control device according to a second embodiment of the present invention.
FIG. 3 is a flowchart showing an operation of a newly started device in a communication method of a robot control device according to a third embodiment of the present invention.
FIG. 4 is a flowchart illustrating an operation of a device that is already operating in a communication method of a robot control device according to a third embodiment of the present invention.
FIG. 5 is a configuration diagram illustrating a robot control device according to a fourth embodiment of the present invention.
FIG. 6 is a configuration diagram showing a conventional robot control device.
FIG. 7 is a configuration diagram illustrating a communication method of a conventional robot control device.
[Explanation of symbols]
Claims (5)
ネットワークを介して通信するための通信手段と、
前記ロボットの動作を記述したプログラムを記憶しておくプログラム記憶手段と、
前記プログラム記憶手段に記憶されたプログラムを実行するプログラム実行手段と、
前記プログラム実行手段からの指示に従って当該ロボット制御装置内部で指令値を生成する指令値生成手段と、
前記指令値生成手段の生成した指令値と前記通信手段で外部機器より受け取った指令値の選択・切替を行う切替手段と、
前記切替手段によって選択された指令値に基づいて動作する制御手段と
を備えたロボット制御装置。An external device for giving a command value for controlling the robot,
A communication means for communicating via a network;
Program storage means for storing a program describing the operation of the robot,
Program execution means for executing a program stored in the program storage means;
Command value generation means for generating a command value inside the robot control device according to an instruction from the program execution means,
Switching means for selecting / switching a command value generated by the command value generating means and a command value received from an external device by the communication means,
A control unit that operates based on the command value selected by the switching unit.
ネットワークを介して通信するための通信手段と、
前記ロボットの動作を記述したプログラムを記憶しておくプログラム記憶手段と、
前記プログラム記憶手段に記憶されたプログラムを実行するプログラム実行手段と、
前記プログラム実行手段からの指示に従って当該ロボット制御装置内部で指令値を生成する指令値生成手段と、
前記指令値生成手段の生成した指令値を前記通信手段で外部機器より受け取った指令値の補正量で補正する補正手段と、
前記指令値生成手段で生成された指令値、および前記補正手段によって補正された指令値のいずれかに基づいて動作する制御手段と
を備えたロボット制御装置。An external device for giving a command value for controlling the robot,
A communication means for communicating via a network;
Program storage means for storing a program describing the operation of the robot,
Program execution means for executing a program stored in the program storage means;
Command value generation means for generating a command value inside the robot control device according to an instruction from the program execution means,
Correction means for correcting the command value generated by the command value generation means with a correction amount of the command value received from an external device by the communication means,
A robot control device comprising: a control unit that operates based on one of a command value generated by the command value generation unit and a command value corrected by the correction unit.
前記ネットワークにつながる各機器毎に固有に割り当てられる番号で、他の機器に割り当てられていないものを選定して、それを自機器に固有の番号として割り当て、それぞれの機器に対して自由に付与される名前として自機器に付与された名前と、前記割り当てられた固有の番号とを、前記ネットワークにつながる他の機器に通知することを特徴とするロボット制御装置の通信方法。A robot control device that controls a robot, and an external device that supplies a command value to the robot control device are connected via a network, and a communication method of the robot control device that communicates a current position and posture of the robot and the command value. At
Select a number that is uniquely assigned to each device connected to the network and that is not assigned to another device, assign it as a unique number to its own device, and freely assign it to each device. A communication method for a robot control device, comprising: notifying another device connected to the network of a name given to the device itself as a name to be transmitted and the assigned unique number.
前記外部機器に対してロボットの現在の状態を通知する通信手段と、
前記外部機器から送られてきた指令値を蓄えておく記憶手段と、
前記ロボットに指令を与えるために、前記記憶手段に蓄えられている指令値を一定の時間間隔毎に読み出す読出手段と
を備えたことを特徴とするロボット制御装置。In a robot control device having a communication function, which is connected to an external device that gives a command value for controlling the robot via a network,
Communication means for notifying the external device of the current state of the robot,
Storage means for storing a command value sent from the external device,
A robot control device comprising: a reading unit that reads a command value stored in the storage unit at regular time intervals in order to give a command to the robot.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003035300A JP2004025428A (en) | 2003-02-13 | 2003-02-13 | Communication method of robot control device, and robot control device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003035300A JP2004025428A (en) | 2003-02-13 | 2003-02-13 | Communication method of robot control device, and robot control device |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP14092495A Division JP3421172B2 (en) | 1995-06-07 | 1995-06-07 | Communication method of robot controller |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004025428A true JP2004025428A (en) | 2004-01-29 |
Family
ID=31185303
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003035300A Pending JP2004025428A (en) | 2003-02-13 | 2003-02-13 | Communication method of robot control device, and robot control device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004025428A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008513867A (en) * | 2004-09-22 | 2008-05-01 | シーメンス アクチエンゲゼルシヤフト | Method for operating an automatic device and device for carrying out the method |
JP2008531320A (en) * | 2005-03-04 | 2008-08-14 | ファナック ロボティクス アメリカ,インコーポレイティド | Flexible connection of teaching device to programmable control device |
JP2011083834A (en) * | 2009-10-13 | 2011-04-28 | Seiko Epson Corp | Robot control system, and robot control method |
JP2011083835A (en) * | 2009-10-13 | 2011-04-28 | Seiko Epson Corp | Robot control device, and robot control method |
JP2018072926A (en) * | 2016-10-25 | 2018-05-10 | 株式会社ソディック | Control apparatus of metal working machinery |
-
2003
- 2003-02-13 JP JP2003035300A patent/JP2004025428A/en active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008513867A (en) * | 2004-09-22 | 2008-05-01 | シーメンス アクチエンゲゼルシヤフト | Method for operating an automatic device and device for carrying out the method |
JP4934041B2 (en) * | 2004-09-22 | 2012-05-16 | シーメンス アクチエンゲゼルシヤフト | Method for operating automation device and device, programming system and program for implementing method for operating automation device |
US8948902B2 (en) | 2004-09-22 | 2015-02-03 | Siemens Aktiengesellschaft | Method for operation of an automation device and apparatus for carrying out the method |
JP2008531320A (en) * | 2005-03-04 | 2008-08-14 | ファナック ロボティクス アメリカ,インコーポレイティド | Flexible connection of teaching device to programmable control device |
JP2011083834A (en) * | 2009-10-13 | 2011-04-28 | Seiko Epson Corp | Robot control system, and robot control method |
JP2011083835A (en) * | 2009-10-13 | 2011-04-28 | Seiko Epson Corp | Robot control device, and robot control method |
JP2018072926A (en) * | 2016-10-25 | 2018-05-10 | 株式会社ソディック | Control apparatus of metal working machinery |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107363812B (en) | Wireless control six-degree-of-freedom mechanical arm demonstration system | |
JP3751309B2 (en) | Robot controller | |
CN101878459B (en) | Embedded robot control system | |
EP2085847B1 (en) | Servo motor control system | |
JP7184595B2 (en) | machine tool system | |
JPS6329810A (en) | Arm control device | |
JP2018153883A (en) | Control system, controller, and control method | |
JP2004025428A (en) | Communication method of robot control device, and robot control device | |
JP2001150372A (en) | Synchronous or cooperative motion control device for plural robots | |
CN114654446A (en) | Robot teaching method, device, equipment and medium | |
JP2007515003A (en) | Method and apparatus for operating different devices operating in conjunction | |
JP3421172B2 (en) | Communication method of robot controller | |
JPH1083208A (en) | Arithmetic mechanism for inter-robot relative position | |
JP3421191B2 (en) | Robot control device and data communication method thereof | |
US8572291B2 (en) | Electronic board and system comprising a plurality of such boards | |
KR100520779B1 (en) | Multi joints position control device uning fpga | |
JP2006285885A (en) | Parallel processing method of distributed motion control system and motion controller | |
Cortesao et al. | Haptic control design for robotic-assisted minimally invasive surgery | |
JP2005219147A (en) | Robot system | |
WO2023281805A1 (en) | Communication system, control system, and communication method | |
JPS63289606A (en) | Redundancy freedom type robot | |
JP3208467B2 (en) | Robot control device | |
WO1993017375A1 (en) | Attitude control system for robots with redundant degree of freedom | |
JP7398686B1 (en) | Robot control device, robot control method, and program | |
JP2005246543A (en) | Robot system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Effective date: 20050614 Free format text: JAPANESE INTERMEDIATE CODE: A131 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050812 |
|
A02 | Decision of refusal |
Effective date: 20060221 Free format text: JAPANESE INTERMEDIATE CODE: A02 |