JP2004025428A - Communication method of robot control device, and robot control device - Google Patents

Communication method of robot control device, and robot control device Download PDF

Info

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
Application number
JP2003035300A
Other languages
Japanese (ja)
Inventor
Hiroyuki Makita
牧田 裕行
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2003035300A priority Critical patent/JP2004025428A/en
Publication of JP2004025428A publication Critical patent/JP2004025428A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a communication method of a robot control device and a robot control device for freely operating the robot by the command from an external apparatus, and for making the robot perform advanced work by communicating with other robot control devices and a measurement control device or the like through a network. <P>SOLUTION: The control device is equipped with: a communication means 3 to communicate with the external apparatus 2a, 2b; a command value generating means 104 generating the command value inside the robot control device 100 according to the command from the program execution means 102 to execute the program describing the operation of the robot memorized in the program memory means 103; and a switching means 105 transmitting the selected value to the control means 106, 107 by switching the command value from the command value generating means 104 to the command value received from the external apparatuses 2a, 2b with the communication means 3. <P>COPYRIGHT: (C)2004,JPO

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, reference numeral 20 denotes a robot control device, reference numeral 21 denotes a central processing unit (hereinafter referred to as CPU) in the robot control device 20 for calculating command values for controlling the robot, and reference numeral 22 denotes a network to be described later. , A network interface for sending the command value to a servo driver, which will be described later, a data bus 23 for transferring data between the CPU 21 and the network interface 22, and a link 24 connecting the robot controller 20 and the servo driver. A network 25 is a servo driver for driving a servo motor of the robot. Reference numeral 26 denotes a robot main body controlled by the robot controller configured as described above.
[0003]
Next, the operation will be described.
The CPU 21 in the robot control device 20 performs reverse kinematics and trajectory interpolation calculation of the robot, and generates a command value to the servo driver 25. The command value generated by the CPU 21 is sent to the network interface 22 through the data bus 23. The command value sent to the network interface 22 is sent to the servo driver 25 via the network 24, and the servo driver 25 rotates the servo motor in the robot main body 26 according to the command value to operate the robot.
[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, reference numeral 27 denotes a robot, 28 denotes a robot controller for controlling the robot 27, and 29 denotes an external computer connected to the robot controller 28. 30 and 32 are parallel interfaces for communicating command values between the external computer 29 and the robot controller 28, and 31 and 33 are serial interfaces for communicating commands between the robot controller 28 and the external computer 29. .
[0005]
Next, the operation will be described.
The external computer 29 is connected to the robot controller 28, and obtains speed data (command value) up to the next moving point of each joint of the robot 27. The velocity data is calculated based on the joint angles of the robot 27 sent from the robot controller 28 through the parallel interfaces 30 and 32, for example. After receiving the speed data output from the external computer 29 through the parallel interfaces 30 and 32, the robot control device 28 outputs the speed data to the robot 27 and operates each joint of the robot 27 according to the speed data.
[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
Embodiment 1 FIG.
FIG. 1 is a configuration diagram showing a robot control device according to Embodiment 1 of the present invention. In the figure, reference numeral 100 denotes the robot control device, and reference numeral 1 denotes a robot controlled by the robot control device 100. 2a and 2b calculate a command value of the robot 1 and give it to the robot controller 100. A personal computer as an external device, 3 connects the robot controller 100 and the personal computers 2a and 2b to enable communication. Network. Reference numeral 4 denotes a personal computer that holds a program for controlling the robot and is separately connected to the robot control device 100.
[0017]
In the robot controller 100, a network communication unit 101 is connected to the network 3 and serves as communication means for the robot controller 100 to communicate with the personal computers 2a and 2b via the network 3. A program execution unit as a program execution unit that executes a program describing the operation of the robot 1, and a program storage unit 103 is a program storage unit that stores the program. Reference numeral 104 denotes an internal command value generation unit as command value generation means for generating a command value inside the robot control device 100 according to an instruction from the program execution unit 102, and 105 denotes an internal command according to an instruction from the program execution unit 102. A command value selection unit as a switching unit that switches between the command value from the value generation unit 104 and the command value received by the network communication unit 101 and selects one of them. Reference numeral 106 denotes a robot status check unit that manages the current position and orientation of the robot, and gives a command value output from the command value selection unit 105 to a servo driver described below, and 107 denotes a servo driver that operates the robot 1. The robot state check unit 106 and the servo driver 107 form a control unit that operates based on the command value selected by the command value selection unit 105.
[0018]
Next, the operation will be described.
First, the program execution unit 102 reads a program from the program storage unit 103 or the personal computer 4 and executes it. Here, it is assumed that a program for operating the robot 1 described below is executed, for example.
[0019]
move A
com 2a
net_on
com 2b
net_on
move B
[0020]
Here, move A and move B are commands for moving the position and orientation of the robot 1 to the position and orientation A or B, com is a command for selecting a communication partner, and net_on is a command value from the communication partner selected by the command com. This is a command to get via. When executing such a program, the program execution unit 102 first executes a command called move A to move the robot 1 to the position and orientation A. At this time, the program execution unit 102 instructs the internal command value generation unit 104 to generate a command value, and the internal command value generation unit 104 generates a command value for an operation until the robot 1 moves to the position and orientation A. The program execution unit 102 also instructs the command value selection unit 105 to use the command value generated by the internal command value generation unit 104 as a command value for the robot 1.
[0021]
As described above, while the command “move A” is being executed, the command value generated by the internal command value generation unit 104 is passed to the robot status check unit 106 via the command value selection unit 105. . In the robot state check unit 106, based on the current position / posture of the robot 1 and the command value passed from the command value selection unit 105, whether the operation speed of the robot 1 is within an appropriate range or the position / posture Check whether it is within the range. If the check result is normal, the command value is given to the servo driver 107, and the servo driver 107 drives a servo motor in the robot 1 to operate the robot 1.
[0022]
After the robot 1 has moved to the position and orientation A, the program execution unit 102 executes the command of com2a and selects the personal computer 2a as the communication partner. Next, the command net_on is executed, and the program execution unit 102 instructs the command value selection unit 105 to validate the command value sent via the network 3. Upon receiving the instruction, the command value selection unit 105 stops using the command value generated by the internal command value generation unit 104 and sends the command value obtained via the network communication unit 101 to the robot status check unit 106. Send out. The network communication unit 101 is connected to the network 3 outside the robot control device 100, communicates with the personal computer 2a connected to the network 3, and receives a command value for controlling the robot 1.
[0023]
When a communication end command is sent from the personal computer 2a to the network communication unit 101 via the network 3, the command value selection unit 105 ends reception of the command value via the network 3 and notifies that the communication has ended. The program execution unit 102 is notified.
[0024]
When the communication is completed, the program execution unit 102 executes the next command com 2b read from the program storage unit 103 or the personal computer 4, and selects the personal computer 2b as the next communication partner. Next, the program execution unit 102 executes the command net_on, starts communication with the personal computer 2b, receives a command value via the network 3, and operates the robot 1 based on the command value.
[0025]
When a communication end command is sent from the personal computer 2b to the network communication unit 101 via the network 3, the command value selection unit 105 ends reception of the command value via the network 3 and notifies that the communication has ended. The program execution unit 102 is notified.
[0026]
When the communication is completed, the program execution unit 102 reads the next command move B from the program storage unit 103 or the personal computer 4, and moves the robot 1 to the position and orientation B.
[0027]
By switching the command value generated inside the robot control device 100 and the command value sent via the network 3 as described above to operate the robot 1, the rough operation is performed by the robot control device 100. The operation is performed by an internal command value generation method, and the detailed operation can be performed by giving a command value from the outside.
[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 program storage unit 103. However, the operator may input the commands one by one from the personal computer 4 or the like. Needless to say.
[0030]
In the first embodiment, the case where the command value is switched by a command given from the program storage unit 103 or the personal computer 4 has been described. However, the switching may be performed by a command from another external device such as a teaching box. good.
[0031]
In the first embodiment, the external command values are received from the personal computers 2a and 2b connected to the network 3. However, the external command values may be received from devices other than the personal computers, for example, other robot controllers and workstations. You may do it.
[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 program execution unit 102, the personal computer 2a or 2b receives the command value generated by the internal command value generation unit 104 as it is or the command value generated by the internal command value generation unit 104 via the network communication unit 101. A command value synthesizing unit as a correction unit that sends a result obtained by synthesizing the correction amount of the command value from the robot to the robot state checking unit 106. The second embodiment is different from the first embodiment in that the command value selecting unit 105 is replaced by the command value combining unit 108.
[0033]
Next, the operation will be described.
First, the program execution unit 102 reads a program from the program storage unit 103 or the personal computer 4 and executes it. Here, it is assumed that a program for operating the robot 1 described below is executed, for example.
[0034]
move A
com 2a
move C with net
com 2b
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 program execution unit 102 first executes a command called move A to move the robot 1 to the position and orientation A. At this time, the program execution unit 102 issues a command to the internal command value generation unit 104, and the internal command value generation unit 104 generates a command value for an operation until the hand of the robot moves to the position and orientation A. Further, the program execution unit 102 instructs the command value synthesis unit 108 to use only the command value generated by the internal command value generation unit 104 as a command value to the robot 1. As described above, while the command “move A” is being executed, the command value generated by the internal command value generation unit 104 is directly provided to the robot status check unit 106 via the command value synthesis unit 108. .
[0036]
After the robot has moved to the position and orientation A, the program execution unit 102 selects a communication partner using the command of com2a, and executes the next command move C withnet. When this command is executed, the internal command value generation unit 104 generates a command value so that the robot 1 moves to the position and orientation C. Further, the program execution unit 102 instructs the command value synthesizing unit 108 to make the correction amount of the command value sent via the network 3 effective. Upon receiving this instruction, the command value synthesizing unit 108 synthesizes and corrects the command value generated by the internal command value generating unit 104 with the correction amount of the command value obtained via the network communication unit 101, and corrects the correction. The command value is sent to the robot status check unit 106. The network communication unit 101 is connected to the network 3 outside the robot control device 100, communicates with the personal computer 2a connected to the network 3, and receives a correction value of a command value for controlling the robot 1.
[0037]
When a communication end command is sent from the personal computer 2a to the network communication unit 101 via the network 3 or the internal command value generation unit 104 generates a command value of the position and orientation C, the command value synthesis unit 108 The reception of the correction value of the command value in is terminated.
[0038]
When the internal command value generation unit 104 finishes issuing the command value of the position and orientation C, the program execution unit 102 reads the next command com 2b from the program storage unit 103 or the personal computer 4, and selects the personal computer 2b as the next communication partner. . The following operation moves the robot 1 to the position / posture D while receiving the correction amount of the command value sent from the personal computer 2b via the network 3, as in the case of executing the above-mentioned command move C with net.
[0039]
By providing a mode in which only the command value generated inside the robot control device 100 operates as described above and a mode in which the correction amount of the command value sent via the network 3 is combined to operate, a rough operation is performed. Is performed by a command value generation method inside the robot, and a detailed operation can be performed by correcting the command value from the outside with a correction amount of the command value.
[0040]
In addition, since an approximate trajectory of the operation is generated by the robot control device 100 and only a fine movement needs to be given from an external device, generation of a command value becomes easy.
[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 program storage unit 103. However, the operator may input commands one by one from the personal computer 4 or the like. Needless to say.
[0043]
In the second embodiment, the case where the operation mode is switched by a command given from the program storage unit 103 or the personal computer 4 has been described. However, the operation mode is switched by a command from another external device such as a teaching box. Is also good.
[0044]
In the second embodiment, the correction value of the command value is received from the personal computers 2a and 2b connected to the network 3. However, the correction value is received from devices other than the personal computer, for example, other robot control devices, workstations, and the like. You may receive it.
[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, reference numeral 109 denotes a command value buffer as storage means for storing a command value received from the personal computer 2 as an external device by the network communication unit 101 via the network 3, and 110 is stored in the command value buffer 109. The command value is read out at regular time intervals, and the command value is interpolated and calculated based on the command value and the current posture of the robot 1, and the calculated command value is output to the command value selection unit 105 as an external command value. This is a command value interpolating unit as a reading means.
[0053]
Next, the operation will be described.
First, the program execution unit 102 reads a program from the program storage unit 103 or the personal computer 4 and executes it. Here, it is assumed that a program for operating the robot 1 described below is executed, for example.
[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 robot 1 to the position and orientation A or B, com is a command for selecting a communication partner, and net_on is a command value from the communication partner selected by the command com. This is a command to get via. When executing such a program, the program execution unit 102 first executes a command called move A to move the robot 1 to the position and orientation A. At this time, the program execution unit 102 issues a command to the internal command value generation unit 104, and the internal command value generation unit 104 generates a command value for an operation until the robot 1 moves to the position and orientation A. The program execution unit 102 also instructs the command value selection unit 105 to use the command value generated by the internal command value generation unit 104 as a command value for the robot 1.
[0056]
In this way, while the command “move A” is being executed, the command value is generated by the internal command value generation unit 104 and passed to the robot status check unit 106 via the command value selection unit 105. In the robot state check unit 106, based on the current position and orientation of the robot 1 and the command value passed from the command value selection unit 105, the operation speed of the robot 1 is within an appropriate range, or the position and orientation is within the operation range. Check if there is any. If the check result is proper, the command value is given to the servo driver 107, and the servo driver 107 drives a servo motor in the robot 1 to operate the robot 1.
[0057]
After the robot has moved to position / posture A, the program execution unit 102 executes the command of com2 and selects the personal computer 2 as the communication partner to receive the command value. Next, a command “net_on” is executed, and the program execution unit 102 instructs the command value selection unit 105 to validate the command value sent via the network 3. Upon receiving the instruction, the command value selection unit 105 stops using the command value generated by the internal command value generation unit 104 and outputs the external command value based on the command value obtained via the network communication unit 101 to the robot. The state is sent to the state check unit 106.
[0058]
That is, the network communication unit 101 is connected to the network 3 outside the robot control device 100, communicates with an external device such as a personal computer 2 connected to the network 3, and receives a command value for controlling the robot 1. . The command value from the personal computer 2 received by the network communication unit 101 is sent to the command value buffer 109 and temporarily stored. The command value interpolating unit 110 reads the command values stored in the command value buffer 109 at regular time intervals, calculates a finer command value from the command value and the current position and orientation of the robot 1 by interpolation, and calculates the command value. The value is sent to the command value selection unit 105 as an external command value.
[0059]
When a communication end command is sent from the personal computer 2 to the network communication unit 101 via the network 3, the command value selection unit 105 ends the reception of the command value via the network 3 and notifies that the communication has ended. The program execution unit 102 is notified.
[0060]
When the communication ends, the program execution unit 102 executes the next command move B read from the program storage unit 103 or the personal computer 4 to move the robot 1 to the position and orientation B.
[0061]
Here, the command value to the servo driver 107 usually needs to be given at a very short fixed period, but by providing the command value buffer 109 and the command value interpolating unit 110 as described above, the network Even if the command value is not sent via the command line 3, the command value can be dealt with by reading the command value from the command value buffer 109 at a necessary period in the command value interpolating unit 110. Interpolates the command value, so that the robot 1 can operate more smoothly.
[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 value selecting unit 105 and provided to the robot state checking unit 106. As shown, the command value synthesizing unit 108 according to the second embodiment is used instead of the command value selecting unit 105, and the correction amount of the command value received via the network 3 is stored in the command value buffer 109 as an external command value. The stored command value may be read out by the command value interpolating unit 110 at regular time intervals and combined with the internal command value, and the corrected command value may be provided to the robot state checking unit 106.
[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]
Reference Signs List 1 robot, 2, 2a, 2b personal computer (external device), 3 network, 100 robot controller, 101 network communication unit (communication unit), 102 program execution unit (program execution unit), 103 program storage unit (program storage unit) ), 104 internal command value generator (command value generator), 105 command value selector (switcher), 106 robot status checker (controller), 107 servo driver (controller), 108 command value synthesizer (correction) Means, 109 command value buffer (storage means), 110 command value interpolator (reading means).

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.
前記読出手段が、前記記憶手段から読み出した指令値の補間機能を有することを特徴とする請求項4記載のロボット制御装置。5. The robot control device according to claim 4, wherein the reading means has a function of interpolating a command value read from the storage means.
JP2003035300A 2003-02-13 2003-02-13 Communication method of robot control device, and robot control device Pending JP2004025428A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (7)

* Cited by examiner, † Cited by third party
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