JP3421172B2 - ロボット制御装置の通信方法 - Google Patents

ロボット制御装置の通信方法

Info

Publication number
JP3421172B2
JP3421172B2 JP14092495A JP14092495A JP3421172B2 JP 3421172 B2 JP3421172 B2 JP 3421172B2 JP 14092495 A JP14092495 A JP 14092495A JP 14092495 A JP14092495 A JP 14092495A JP 3421172 B2 JP3421172 B2 JP 3421172B2
Authority
JP
Japan
Prior art keywords
command value
robot
external device
robot controller
communication
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.)
Expired - Fee Related
Application number
JP14092495A
Other languages
English (en)
Other versions
JPH08336782A (ja
Inventor
裕行 牧田
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 JP14092495A priority Critical patent/JP3421172B2/ja
Publication of JPH08336782A publication Critical patent/JPH08336782A/ja
Application granted granted Critical
Publication of JP3421172B2 publication Critical patent/JP3421172B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、ロボットを制御する
ロボット制御装置がネットワークを介して外部機器と通
信するロボット制御装置の通信方法に関するものであ
る。
【0002】
【従来の技術】図12は例えば、日本ロボット学会誌V
ol.12,No.8,pp1137−1142に示さ
れた、従来のロボット制御装置を示す構成図である。図
において、20はロボット制御装置であり、21はこの
ロボット制御装置20内にあって、ロボットを制御する
ための指令値などを計算する中央演算処理装置(以下C
PUという)、22は後述するネットワークを経由し
て、後述するサーボドライバにその指令値を送るネット
ワークインタフェース、23はCPU21とネットワー
クインタフェース22との間でデータの受け渡しを行う
ためのデータバス、24はロボット制御装置20とサー
ボドライバを結ぶネットワーク、25はロボットのサー
ボモータを駆動するサーボドライバである。26はこの
ように構成されたロボット制御装置によって制御される
ロボット本体である。
【0003】次に動作について説明する。ロボット制御
装置20内のCPU21はロボットの逆キネマティクス
や軌道補間計算を行い、サーボドライバ25への指令値
を生成する。CPU21で生成された指令値は、データ
バス23を通してネットワークインタフェース22に送
られる。ネットワークインタフェース22に送られた指
令値は、ネットワーク24を介してサーボドライバ25
に送られ、サーボドライバ25は指令値の通りにロボッ
ト本体26内のサーボモータを回転させることによって
ロボットが動作する。
【0004】また、図13は例えば特開平6−2625
58号公報に示された、従来のロボット制御装置の通信
方法を示す構成図である。図において、27はロボット
であり、28はこのロボット27を制御するロボット制
御装置、29はこのロボット制御装置28に接続された
外部計算機である。また、30および32はこの外部計
算機29とロボット制御装置28との間で指令値を通信
するパラレルインタフェース、31および33はロボッ
ト制御装置28と外部計算機29の間でコマンドを通信
するシリアルインタフェースである。
【0005】次に動作について説明する。外部計算機2
9はロボット制御装置28に接続されており、ロボット
27の各関節の次の移動点までの速度データ(指令値)
を求める。この速度データは、例えばパラレルインタフ
ェース30、32を通してロボット制御装置28から送
られてくるロボット27の各関節角度に基づいて計算さ
れる。ロボット制御装置28は外部計算機29から出力
された速度データをパラレルインタフェース30、32
を通して受け取った後、それをロボット27に出力して
ロボット27の各関節を速度データによって動作させ
る。
【0006】
【発明が解決しようとする課題】従来のロボット制御装
置は以上のように構成されているので、ロボット制御装
置以外の機器をネットワークにつないで指令値をロボッ
トに与える場合、指令値を生成する機器から直接ネット
ワークを介してサーボドライバに指令値を与えるため、
ロボットの速度オーバーや可動範囲外などのチェックを
指令値を出す機器内で行わなければならず、指令値の生
成が容易でないという問題点があった。
【0007】また、外部機器から指令値を受け取る場
合、パラレルインタフェースなどを用いて通信を行って
いるため、1対1でしか通信ができなかった。
【0008】また、ロボット制御装置内部で生成した指
令値と、ネットワークに接続された他の機器から送られ
てきた指令値を容易に切り替えられないという問題点が
あった。
【0009】また、ネットワークを介して外部機器と通
信する際に、送受信が成功したか否かを判断していない
ため、デッドロックに陥る可能性があるという問題点が
あった。
【0010】また、異常状態が発生した場合に、ネット
ワークにつながった他の機器にアラームを通知していな
いので、ロボットが停止しているにもかかわらず他の機
器が動作するという問題点があった。
【0011】また、ネットワークにつながった機器には
あらかじめ機器固有の番号をつけておかなければならな
いので、機器が多くなると番号の管理が困難になるなど
の問題点があった。
【0012】この発明は上記のような問題点を解消する
ためになされたもので、外部機器からの指令によって自
由にロボットを動作させることが可能であるとともに、
ネットワークを介して他のロボット制御装置、計測制御
装置などと通信することにより、ロボットに高度な作業
をさせることが可能となるロボット制御装置の通信方
提供することを目的とする。
【0013】
【課題を解決するための手段】請求項1の発明に係るロ
ボット制御装置の通信方法は、ロボット制御装置がネッ
トワークを介して、ロボットを制御するための指令値を
与える外部機器とハンドシェークで一定時間毎に通信
し、ロボット制御装置から外部機器に指令値を要求する
一定時間毎の通信が失敗した場合に、ロボット制御装置
は外部機器に対して、次の指令値の要求を本来の要求時
刻からずれた時刻に行うようにしたものである。
【0014】請求項2の発明に係るロボット制御装置の
通信方法は、ロボット制御装置から外部機器に指令値を
要求する一定時間毎の通信が失敗した場合、ロボット制
御装置は外部機器に対して、次の指令値の要求を本来の
要求時刻からずれた時刻に行い、外部機器はその後の指
令値の要求タイミングをロボット制御装置に指示して、
ロボット制御装置は以降の指令値の要求時刻をそれに従
って設定するようにしたものである。
【0015】請求項3の発明に係るロボット制御装置の
通信方法は、ロボット制御装置が外部機器に対して現在
の状況や指令値の送信要求を送信して、その通信が成功
した場合に指令値の受信待ちに入り、その後一定時間内
に指令値の受信が正常に完了したか否かの判定を行うよ
うにしたものである。
【0016】請求項4の発明に係るロボット制御装置の
通信方法は、指令値の送信要求の通信が成功すると否と
にかかわらず、一定時間の指令値の受信待ち状態に入る
ようにしたものである。
【0017】請求項5の発明に係るロボット制御装置の
通信方法は、外部機器よりロボット制御装置に対して通
信の終了を知らせるようにしたものである。
【0018】請求項6の発明に係るロボット制御装置の
通信方法は、ロボット制御装置から外部機器に対して、
現在の状況や指令値の送信要求のデータを送信するとき
に、ロボットの位置・姿勢データとロボットの状態デー
タを送るようにしたものである。
【0019】請求項7の発明に係るロボット制御装置の
通信方法は、ロボットの位置・姿勢データとして、1つ
のデータ領域を用いて直交座標系データ、関節座標系デ
ータ、サーボモータへの指示値の少なくとも1つを送信
するようにしたものである。
【0020】請求項8の発明に係るロボット制御装置の
通信方法は、異常の発生を知らせるデータを、ネットワ
ークにつながる他の全ての機器に対して送信するように
したものである。
【0021】
【0022】
【0023】
【0024】
【0025】
【0026】
【作用】請求項1の発明におけるロボット制御装置の通
信方法は、ロボット制御装置から外部機器に対して一定
時間毎に行った指令値要求の通信に失敗した場合に、ロ
ボット制御装置は外部機器に対して、前記一定時間毎の
本来の要求時刻からずらした時刻に次の指令値の要求を
行うことにより、1台の外部機器にて複数のロボット制
御装置の制御を可能とする。
【0027】請求項2の発明におけるロボット制御装置
の通信方法は、一定時間毎に行われる外部機器への指令
値要求の通信が失敗すると、前記一定時間毎の本来の要
求時刻からずらした時刻に次の指令値の要求を行い、そ
の後の指令値の要求タイミングの指示を外部機器より受
けて、以降の指令値の要求時刻をそれに基づいて設定す
ることにより、同一のタイミングで複数のロボットの制
御を可能とする。
【0028】請求項3の発明におけるロボット制御装置
の通信方法は、ロボット制御装置より現在の状況や指令
値の送信要求を外部機器に送信し、その通信が成功した
場合に外部機器からの指令値の受信待ちに入り、その後
一定時間内に指令値の受信が正常に完了したか否かの判
定を行うことにより、双方が送信状態となるデッドロッ
クに陥ることを回避する。
【0029】請求項4の発明におけるロボット制御装置
の通信方法は、指令値要求の通信が成功しなかった場合
でも、一定時間、外部機器からの指令値の受信待ち状態
に入ることにより、外部機器からの指令値の着信が遅れ
ても、ハンドシェークによる通信の維持を可能とする。
【0030】請求項5の発明におけるロボット制御装置
の通信方法は、通信の終了を外部機器よりロボット制御
装置に通知することにより、外部機器からロボットを容
易に制御可能とする。
【0031】請求項6の発明におけるロボット制御装置
の通信方法は、ロボット制御装置から外部機器に対し
て、ロボットの位置・姿勢データとロボットの状態デー
タを送ることにより、外部機器にてロボットの状態を常
に管理することを可能とする。
【0032】請求項7の発明におけるロボット制御装置
の通信方法は、直交座標系データ、関節座標系データ、
サーボモータへの指示値の単独もしくは組み合わせによ
って設定した位置・姿勢データを、1つのデータ領域を
用いて送信することにより、少ない通信量で多様な種類
のデータの通信を可能とする。
【0033】請求項8の発明におけるロボット制御装置
の通信方法は、ネットワークにつながる他の全ての機器
に対して異常の発生を通知することにより、安全性の高
いシステムを実現する。
【0034】
【0035】
【0036】
【0037】
【0038】
【0039】
【実施例】
実施例1.以下、この発明の一実施例を図について説明
する。図1はこの発明の実施例1によるロボット制御装
置の通信方法が適用されるシステムを示す構成図であ
る。図において、100a、100bはロボット制御装
置であり、1aはロボット制御装置100aによって制
御されるロボット、1bはロボット制御装置100bに
よって制御されるロボットである。2はロボット制御装
置100a、100bと通信し、ロボット制御装置10
0a、100bにロボット1a、1bを制御するための
指令値を与える、外部機器としての外部計算機で、ここ
では、例えばパーソナルコンピュータである。3はこれ
らロボット制御装置100a、100bとパーソナルコ
ンピュータ2を接続して、相互の通信を可能とするネッ
トワークである。
【0040】次に動作について説明する。パーソナルコ
ンピュータ2はネットワーク3を介して複数のロボット
制御装置100a、100bと接続されている。パーソ
ナルコンピュータ2は、ロボット1a、1bの指令値を
計算し、ネットワーク3を介してロボット制御装置10
0aと100bにその指令値を与える。ロボット制御装
置100a、100bは与えられた指令値に基づいてロ
ボット1aおよび1bを動作させる。
【0041】ここで、パーソナルコンピュータ2と2台
のロボット制御装置100a、100bの間の通信の様
子を図2に示す。ロボット制御装置100aおよび10
0bとパーソナルコンピュータ2の通信は、ロボット制
御装置100a、100bからパーソナルコンピュータ
2に対してある一定周期T毎に指令値の要求を行い、そ
の要求に対してパーソナルコンピュータ2が指令値を送
信するという形で行われる。図2ではロボット制御装置
100aは時刻t11にパーソナルコンピュータ2に対し
て指令値の要求を出す。パーソナルコンピュータ2は時
刻t01でロボット制御装置100aからの指令値の要求
を受け取り、時刻t02までに指令値を計算する。なお、
この時刻t01からt02の間はパーソナルコンピュータ2
は他のロボット制御装置100bと通信することはでき
ない。指令値の計算が終わると、時刻t02にロボット制
御装置100aにその指令値を送信し、ロボット制御装
置100aは時刻t12にそれを受信する。以上の過程を
時刻t11から一定時間T毎の時刻t13、t15、t17、・
・・・に行うことにより、ロボット制御装置100aと
パーソナルコンピュータ2の通信が続けられ、ロボット
制御装置100aはこのパーソナルコンピュータ2で生
成された指令値に従って動作し、ロボット1aの制御を
行う。
【0042】一方、ロボット制御装置100bは時刻t
21にパーソナルコンピュータ2に対して指令値の要求を
出すが、パーソナルコンピュータ2はロボット制御装置
100aに対する指令値の計算中であるため、ロボット
制御装置100bの指令値の要求を受け取ることができ
ない。ロボット制御装置100bは指令値要求の送信に
失敗したことにより、本来時刻t21から一定時間T後の
時刻t22に次の指令値要求を送信するはずであったが、
時刻t22には指令値要求の送信は行わず、少しずらして
時刻t23に送信する。このとき送信時刻t23は、例えば
本来の時刻t22からT/3程度遅くすれば良い。時刻t
23に送信された指令値要求は時刻t05にパーソナルコン
ピュータ2に着信し、パーソナルコンピュータ2では時
刻t05から時刻t06の間でロボット制御装置100bの
指令値を計算する。パーソナルコンピュータ2で計算さ
れたロボット制御装置100bの指令値は時刻t06にロ
ボット制御装置100bに送信され、時刻t24にロボッ
ト制御装置100bがそれを受信する。ロボット制御装
置100bは指令値を受信した後、その指令値に従って
動作し、ロボット1bを制御する。ロボット制御装置1
00bは時刻t23に指令値要求の送信に成功した後は、
一定時間T毎に以降の指令値要求を行い、パーソナルコ
ンピュータ2との通信を続ける。
【0043】上記のように、指令値要求の通信に失敗し
た場合は、次の要求時刻をずらすことによって、1台の
パーソナルコンピュータ2と複数のロボット制御装置1
00a、100bの通信が可能となる。したがって、1
台のパーソナルコンピュータ2で複数のロボット1a、
1bを制御することが可能となり、安価にシステムを構
築することができる。
【0044】実施例2.図3はこの発明の実施例2によ
るロボット制御装置の通信方法の通信タイミングを示す
シーケンス図であり、図1に示したシステムにおける2
台のロボット制御装置100a、100bとパーソナル
コンピュータ2との通信の様子を示している。この場合
も実施例1の場合と同様に、ロボット制御装置100a
および100bよりパーソナルコンピュータ2に対し
て、ある一定周期T毎に指令値の要求を行い、その要求
に対してパーソナルコンピュータ2が指令値を送信する
という形で通信が行われる。図3ではロボット制御装置
100aは時刻t11に指令値の要求を送出し、パーソナ
ルコンピュータ2は時刻t01で受け取った要求により、
時刻t02までにロボット制御装置100aの指令値を計
算する。従って、パーソナルコンピュータ2は時刻t01
からt02の間、他のロボット制御装置100bと通信す
ることはできない。算出された指令値は時刻t02にロボ
ット制御装置100aに送信され、ロボット制御装置1
00aはそれを時刻t12に受信する。以上の過程を時刻
11から一定時間T毎の時刻t13、t15、t17、・・・
・に行うことにより、ロボット制御装置100aとパー
ソナルコンピュータ2の通信が続けられ、パーソナルコ
ンピュータ2で生成された指令値に従ってロボット制御
装置100aが動作し、ロボット1aの制御を行う。
【0045】一方、ロボット制御装置100bは時刻t
21にパーソナルコンピュータ2に対して指令値の要求を
出すが、パーソナルコンピュータ2はロボット制御装置
100aに対する指令値の計算中であるため、ロボット
制御装置100bの指令値要求を受け取ることができな
い。ロボット制御装置100bはこの指令値要求の送信
に失敗したことにより、本来時刻t21から一定時間T後
の時刻t22において次の指令値要求を送信するはずであ
ったが、時刻t22には指令値要求の送信は行わず、T/
3程度遅らせて時刻t23に送信する。時刻t23に送信さ
れた指令値要求は時刻t05にパーソナルコンピュータ2
に着信し、パーソナルコンピュータ2では、時刻t05
ら時刻t06の間ロボット制御装置100bの指令値を計
算する。指令値が算出されると、パーソナルコンピュー
タ2は時刻t06において、その指令値とともに、ロボッ
ト制御装置100aとロボット制御装置100bの指令
値要求が同時にパーソナルコンピュータ2に到達するよ
うに、次の指令値を要求するタイミングもロボット制御
装置100bに送信する。この指令値と指令値要求の送
信タイミングの指示は時刻t24にロボット制御装置10
0bが受信する。ロボット制御装置100bはその受信
した指令値に従ってロボット1bの制御動作を実行す
る。
【0046】ここで、実施例1においては、ロボット制
御装置100bは成功した指令値要求を送信した時刻t
23から一定時間Tが経過した時刻t25に次の指令値要求
をパーソナルコンピュータ2に送信しているが、この実
施例2では時刻t24でパーソナルコンピュータ2より指
令値要求の送信タイミングが指示されているので、その
指示に従って時刻t26に次の指令値要求を送信する。
【0047】一方、パーソナルコンピュータ2は時刻t
09にロボット制御装置100aからの指令値要求を受信
した後、時刻t010 までロボット制御装置100bから
の指令値要求を待つ。そして、ロボット制御装置100
bの指令値要求を受信した後、ロボット制御装置100
aおよび100bの指令値を計算し、時刻t011 でロボ
ット制御装置100aに、時刻t012 でロボット制御装
置100bに、それぞれの指令値を送信する。
【0048】上記のように指令値要求に失敗した場合は
次の指令値要求時刻をずらすとともに、パーソナルコン
ピュータ2からそのロボット制御装置に対して次の指令
値要求の送信タイミングを指示することにより、複数の
ロボットを同一タイミングで制御することが可能とな
り、精度の高い同期動作が可能となる。
【0049】なお、上記実施例1、2では、ロボット制
御装置100bにおいて指令値要求に失敗した場合に、
次の指令値の要求を本来の時刻からT/3遅らせれば良
いと述べたが、特にそれにのみ限定されるものではな
く、任意の時間遅らせるようにしても良い。また、一定
時間Tより短かければ早めても良い。
【0050】また、上記実施例1、2では、パーソナル
コンピュータ2が2台のロボット制御装置100a、1
00bと通信して制御する場合について述べたが、ロボ
ット制御装置が3台以上あっても良い。
【0051】また、上記実施例1、2では、パーソナル
コンピュータ2が2台のロボット制御装置100a,1
00bと通信して制御する場合について述べたが、ロボ
ット制御装置以外の機器、例えば、画像処理装置などと
通信してデータを処理しても良い。
【0052】実施例3.図4はこの発明の実施例3によ
るロボット制御装置の通信方法における通信手順を示す
フローチャートで、ロボット制御装置が指令値などを生
成する外部計算機、例えばパーソナルコンピュータに対
して行う通信の様子を示している。
【0053】次に動作について説明する。まずステップ
ST1では、ロボット制御装置内でアラームが発生して
いるか否かチェックする。アラームが発生している場合
にはステップST9に進み、発生していない場合にはス
テップST2に進む。
【0054】ステップST2では、図5に示すようなデ
ータ構造を持つ通信バッファに、送信先となるパーソナ
ルコンピュータのID、ロボット制御装置自体のID、
パーソナルコンピュータへのコマンド、アラーム発生時
のエラー番号、送信するデータの種別、ロボットの位置
や姿勢などを示す位置・姿勢データを設定する。パーソ
ナルコンピュータやロボット制御装置のIDは、つなが
っているネットワークにおいて唯一になるように定め
る。パーソナルコンピュータに送信するコマンドの例と
しては、次の指令値の要求や、ロボットの現在の状態
(停止中、アラーム発生など)などがある。また、デー
タ領域にはロボットの位置・姿勢データがセットされ、
直交座標系での表現X,Y,Z,A,B,Cや、関節座
標系での表現J1,J2,J3,J4,J5,J6、あ
るいはパルスデータによるロボットの各関節のサーボモ
ータへの指令値P1,P2,P3,P4,P5,P6な
ど様々な表現の位置・姿勢データを単独で、あるいはそ
れらをいくつか組み合わせて設定できる。これらの表現
形式の種別がデータ種別の領域に設定される。なお、位
置・姿勢データは表現形式が異なっても同一の領域に設
定されるため、少ない通信量で送信することが可能であ
る。
【0055】ステップST3では、送信バッファに設定
された内容を送信先IDのパーソナルコンピュータに送
信する。そして、ステップST4ではこのコマンドの送
信が成功したか否かを確認する。成功しなかった場合は
ステップST11に進み、送信を始めてから一定時間
(Nミリ秒)が経過したか否かを判定する。その結果、
一定時間が経過していない場合にはもう一度ステップS
T3に戻って再送信を試みる。
【0056】一方、ステップST11で送信を開始して
から一定時間が経過したと判定されたならば、ステップ
ST13において通信が失敗したとみなして処理を終了
する。このように送信が一定時間以内に成功したか否か
を監視することにより、ロボット制御装置が送信状態の
ままになったり、実は送信先に届いているにもかかわら
ず、送信完了が確認できないために双方が送信状態にな
るデッドロックに陥ることを回避することができる。
【0057】ステップST4で送信完了が確認できた場
合にはステップST5に進み、パーソナルコンピュータ
から送られてくるコマンドの受信待ち状態になる。パー
ソナルコンピュータから送られてくるコマンドの例とし
ては、指令値やロボット制御装置のリセットなどがあ
る。また、通信は送信に使ったデータ構造と同様に図5
に示すデータ構造が用いられ、1つのデータ領域を用い
て様々なデータ表現のデータを通信するため、高速に通
信が可能となり、また、送受信のためのバッファのメモ
リも少なくて済む。
【0058】ステップST6では、通信相手のパーソナ
ルコンピュータからのデータを受信したかどうかを確認
し、受信していなければステップST12に進む。ステ
ップST12では、受信状態に入ってから一定時間(N
ミリ秒)が経過したか否かを判定し、一定時間が経過し
ていた場合にはステップST13において通信に失敗し
たと判断して一連の処理を終了する。一方、一定時間が
経過していない場合にはステップST5のコマンド受信
待ちの状態に戻る。このようにして、受信状態の経過時
間を監視することにより、ロボット制御装置がコマンド
の受信待ち状態のままになることを回避することができ
る。
【0059】ステップST6で受信が完了したことが確
認された場合には、ステップST7に進んで受信したコ
マンドを実行する。例えば、位置指令が送信されてきた
場合には、その位置にロボットを動かす。そして、ステ
ップST8に進み、通信成功と判断して一連の処理を終
了する。
【0060】なお、ステップST1でアラームの発生が
検出された場合には、ステップST9で送信バッファに
アラームの種別を設定し、送信先をネットワークにつな
がる全ての機器に設定する。次にステップST10に進
み、送信バッファの内容を設定されたネットワークにつ
ながる全ての機器に送信する。この場合には、ネットワ
ークにつながる全ての機器に送信しているため、ステッ
プST4、ST11のように送信完了の確認はしない。
ステップST10での送信をした後、ステップST5に
進み、コマンド受信待ち状態となる。以下の処理はアラ
ームが発生しない場合とほぼ同様であるが、外部から指
令値を受信した場合でも、安全のためステップST7で
はロボットの動作を行わせない。このようにアラームが
発生した場合にネットワークにつながる全ての機器にア
ラームの発生を通知することにより、事故を防ぐことが
可能となり、安全性の高いシステムを構築することがで
きる。
【0061】上記の通信手順をある一定時間、例えば、
ロボット制御装置がロボットへの指令値を計算する周期
毎に実行することにより、ロボット制御装置とネットワ
ークでつながったパーソナルコンピュータの通信が行え
る。
【0062】また、送受信に失敗した場合でも、1回の
周期で失敗したらすぐに通信をやめるのではなく、数度
の周期で試してみて失敗した場合に、外部との通信がう
まくいかないと判断し、通信を終了してアラームを発生
する。このようにすることによって、通信状態の一時的
な悪化に伴う通信失敗によるアラーム発生を避けること
が可能となる。
【0063】なお、パーソナルコンピュータはロボット
の1つの動作についての制御が完了すると、通信の終了
をネットワークを介してロボット制御装置に通知する。
通知を受けたロボット制御装置はネットワーク経由での
指令値の受信を終了し、次のロボット動作の制御を開始
する。その時、パーソナルコンピュータに対して新たな
指令値の要求を行う。このように、外部機器より当該ロ
ボット制御装置に対して通信の終了を通知するようにす
れば、外部機器から容易にロボットを制御することが可
能となる。
【0064】実施例4.なお、上記実施例3では、コマ
ンドの送信完了の確認が一定時間以内にとれなかった場
合に通信失敗とみなし、処理を終了する場合について説
明したが、コマンドの送信完了の確認が一定時間以内に
とれない場合でも、ロボット制御装置が外部装置からの
指令値を一定時間待つようにしてもよい。図6は実施例
4によるロボット制御装置の通信方法における通信手順
を示すフローチャートであり、ロボット制御装置が指令
値などを生成する外部計算機、例えばパーソナルコンピ
ュータに対して行う通信の様子を示している。なお、図
中の、ステップST1〜ST13は図4に示した実施例
3における各ステップと同一の処理を行うものであり、
この実施例4は、ステップST11で一定時間が経過し
たと判定された場合に、ステップST13ではなく、ス
テップST5に分岐している点で実施例3とは異なって
いる。
【0065】以下、実施例3の場合とは異なる部分を中
心に、その動作を説明する。ステップST3では実施例
3の場合と同様に、送信バッファに設定された内容を送
信先IDのパーソナルコンピュータに対して送信する。
そして、ステップST4においてその送信が成功したか
否かを確認する。成功しなかった場合にはステップST
11に進み、送信を始めてから一定時間(Nミリ秒)が
経過したか否か判定する。その結果、一定時間が経過し
ていない場合にはもう一度ステップST3に戻って再送
信を試みる。
【0066】一方、ステップST11で送信を開始して
から一定時間が経過したと判定されたならば、通信に失
敗したとみなしてステップST5に進み、パーソナルコ
ンピュータからおくられてくるコマンドの受信待ちの状
態になる。
【0067】上記のように送信バッファの内容の送信に
失敗した場合でもコマンドの受信待ち状態になることに
より、通信相手のパーソナルコンピュータの能力不足な
どのために指令値の計算に時間がかかり、前回の通信で
パーソナルコンピュータからロボット制御装置への指令
値の送信に失敗した場合でも、次の通信のときに送信す
ることが可能となる。
【0068】参考例1. 図7は参考例1によるロボット制御装置を示す構成図で
ある。図において、100は当該ロボット制御装置であ
り、1はこのロボット制御装置100によって制御され
るロボットである。2a、2bはロボット1の指令値を
計算してそれをロボット制御装置100に与える、外部
機器としてのパーソナルコンピュータ、3はこのロボッ
ト制御装置100とパーソナルコンピュータ2a、2b
を接続し、通信を可能とするネットワークである。な
お、4はロボット制御のためのプログラムなどを保持し
て、別途ロボット制御装置100に接続されたパーソナ
ルコンピュータである。
【0069】また、ロボット制御装置100内におい
て、101はネットワーク3に接続されて、このロボッ
ト制御装置100がそれを介してパーソナルコンピュー
タ2aおよび2bと通信するための通信手段としてのネ
ットワーク通信部であり、102はロボット1の動作を
記述したプログラムを実行する、プログラム実行手段と
してのプログラム実行部、103はそのプログラムを記
憶しておくプログラム記憶手段としてのプログラム記憶
部である。104はプログラム実行部102からの指示
に従って当該ロボット制御装置100内部の指令値を生
成する、指令値生成手段としての内部指令値生成部であ
り、105はプログラム実行部102からの指示に従っ
て、内部指令値生成部104からの指令値とネットワー
ク通信部101で受け取った指令値を切り替えてその一
方を選択する、切替手段としての指令値選択部である。
106はロボットの現在の位置姿勢を管理したり、指令
値選択部105から出力された指令値を後述するサーボ
ドライバに与えたりするロボット状態チェック部、10
7はロボット1を動作させるサーボドライバであり、こ
れらロボット状態チェック部106およびサーボドライ
バ107は指令値選択部105で選択された指令値に基
づいて動作する制御手段を形成している。
【0070】次に動作について説明する。まず、プログ
ラム実行部102はプログラム記憶部103またはパー
ソナルコンピュータ4からプログラムを読み出してそれ
を実行する。ここでは、例えば次のようなロボット1を
動作させるプログラムが実行される場合を考える。
【0071】 move A com 2a net_on com 2b net_on move B
【0072】ここで、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が生成した指令値を用いるように指
示を出す。このようにして、move Aというコマン
ドを実行している間は、指令値は内部指令値生成部10
4で生成されたものが、指令値選択部105を経由して
ロボット状態チェック部106に渡される。ロボット状
態チェック部106では、現在のロボット1の位置・姿
勢と指令値選択部105から渡された指令値をもとに、
ロボット1の動作速度が適正範囲内であるか、位置・姿
勢が動作範囲内であるかなどのチェックを行う。チェッ
クの結果が正常であればその指令値はサーボドライバ1
07に与えられ、サーボドライバ107がロボット1内
のサーボモータを駆動してロボット1が動作する。
【0073】ロボット1が位置姿勢Aまで移動した後、
プログラム実行部102はcom2aのコマンドを実行
し、通信相手としてパーソナルコンピュータ2aを選択
する。次に、net_onのコマンドが実行され、プロ
グラム実行部102は指令値選択部105に対して、ネ
ットワーク3経由で送られてくる指令値を有効にするよ
うに指示を出す。指令値選択部105はその指示を受け
取ると、内部指令値生成部104で生成された指令値を
使うのをやめ、ネットワーク通信部101を経由して得
られた指令値をロボット状態チェック部106に送り出
す。なお、ネットワーク通信部101はロボット制御装
置100の外部のネットワーク3とつながっており、ネ
ットワーク3とつながったパーソナルコンピュータ2a
と通信を行って、ロボット1を制御するための指令値を
受け取る。
【0074】パーソナルコンピュータ2aから通信終了
のコマンドがネットワーク3経由でネットワーク通信部
101に送られてくると、指令値選択部105はネット
ワーク3経由での指令値の受信を終了するとともに、通
信が終了したことをプログラム実行部102に知らせ
る。
【0075】プログラム実行部102は通信が終了する
と、プログラム記憶部103またはパーソナルコンピュ
ータ4から読み出した次のコマンドcom 2bを実行
し、次の通信相手としてパーソナルコンピュータ2bを
選択する。次にプログラム実行部102はコマンドne
t_onを実行し、パーソナルコンピュータ2bとの通
信を開始し、ネットワーク3経由で指令値を受け取り、
それに基づいてロボット1を動作させる。
【0076】パーソナルコンピュータ2bから通信終了
のコマンドがネットワーク3経由でネットワーク通信部
101に送られてくると、指令値選択部105はネット
ワーク3経由での指令値の受信を終了するとともに、通
信が終了したことをプログラム実行部102に知らせ
る。
【0077】プログラム実行部102は通信が終了する
と、プログラム記憶部103またはパーソナルコンピュ
ータ4から次のコマンドmove Bを読み出して、ロ
ボット1を位置姿勢Bに移動させる。
【0078】上記のようにロボット制御装置100の内
部で生成した指令値と、ネットワーク3経由で送られて
きた指令値とを切り替えてロボット1を動作させるよう
にすることによって、大まかな動作はロボット制御装置
100内部の指令値生成方式によって行い、細かい動作
は外部から指令値を与えて動作させるということが可能
となる。
【0079】また、コマンドによって切り替えられるよ
うにしたことにより、自由に内部指令値と外部指令値の
切り替えが可能となる。
【0080】なお、上記参考例1では、パーソナルコン
ピュータ4またはプログラム記憶部103からコマンド
を読み出すものを示したが、オペレータがコマンドをパ
ーソナルコンピュータ4などから1つずつ入力してゆく
ようにしても良いことはいうまでもない。
【0081】また、上記参考例1では、プログラム記憶
部103やパーソナルコンピュータ4から与えられたコ
マンドによって指令値が切り替えられる場合について説
明したが、ティーチングボックスなど他の外部機器から
の指令によって切り替えるようにしても良い。
【0082】また、上記参考例1では、ネットワーク3
につながったパーソナルコンピュータ2a、2bから外
部指令値を受け取るものとしたが、パーソナルコンピュ
ータ以外の機器、例えば、他のロボット制御装置、ワー
クステーションなどから受け取るようにしても良い。
【0083】参考例2. 図8は参考例2によるロボット制御装置を示す構成図で
ある。図において、図7と相当部分には同一符号を付し
て詳細な説明を省略する。108はプログラム実行部2
からの指示に従って、内部指令値生成部104の生成し
た指令値をそのまま、あるいは内部指令値生成部104
の生成した指令値にネットワーク通信部101で受け取
ったパーソナルコンピュータ2aあるいは2bからの指
令値の補正量を合成して補正したものを、ロボット状態
チェック部106に送出する補正手段としての指令値合
成部である。この参考例2は指令値選択部105をこの
指令値合成部108によって代替した点で参考例1とは
異なっている。
【0084】次に動作について説明する。まず、プログ
ラム実行部102はプログラム記憶部103またはパー
ソナルコンピュータ4からプログラムを読み出してそれ
を実行する。ここでは、例えば次のようなロボット1を
動作させるプログラムが実行される場合を考える。
【0085】 move A com 2a move C with net com 2b move D with net move B
【0086】ここで、move C with ne
t、move D with netは指令値の補正量
をネットワーク3経由でもらうコマンドであり、その他
のコマンドは参考例1のそれらと同様である。このよう
なプログラムを実行する場合、プログラム実行部102
はまず、move Aというコマンドを実行し、ロボッ
ト1を位置姿勢Aまで動作させる。このときプログラム
実行部102は内部指令値生成部104に指令を出し、
内部指令値生成部104はロボットの手先が位置姿勢A
に動くまでの動作の指令値を生成する。また、プログラ
ム実行部102は指令値合成部108に対して、ロボッ
ト1への指令値として内部指令値生成部104が生成し
た指令値のみを用いるように指示を出す。このようにし
て、move Aというコマンドを実行している間、指
令値は内部指令値生成部104で生成されたものがその
まま、指令値合成部108を経由してロボット状態チェ
ック部106に与えられる。
【0087】ロボットが位置姿勢Aまで移動した後、プ
ログラム実行部102はcom 2aのコマンドで通信
相手を選択し、さらに次のコマンドmove C wi
thnetを実行する。このコマンドが実行されると、
内部指令値生成部104は位置姿勢Cにロボット1が動
くように指令値を生成する。また、プログラム実行部1
02は指令値合成部108にネットワーク3経由で送ら
れてくる指令値の補正量を有効にするように指示を出
す。指令値合成部108はこの指示を受け取ると、内部
指令値生成部104で生成された指令値に、ネットワー
ク通信部101を経由して得られた指令値の補正量を合
成して補正し、補正された指令値をロボット状態チェッ
ク部106に送り出す。なお、ネットワーク通信部10
1はロボット制御装置100の外部のネットワーク3と
つながっており、ネットワーク3とつながったパーソナ
ルコンピュータ2aと通信を行って、ロボット1を制御
するための指令値の補正量を受け取る。
【0088】パーソナルコンピュータ2aから通信終了
のコマンドがネットワーク3経由でネットワーク通信部
101に送られてくるか、内部指令値生成部104が位
置姿勢Cの指令値を生成すると、指令値合成部108は
ネットワーク3経由での指令値の補正量の受信を終了す
る。
【0089】内部指令値生成部104が位置姿勢Cの指
令値を出し終わるとプログラム実行部102はプログラ
ム記憶部103またはパーソナルコンピュータ4から次
のコマンドcom 2bを読み出し、次の通信相手とし
てパーソナルコンピュータ2bを選択する。以下の動作
は前述のコマンドmove C with netを実
行する場合と同様に、ネットワーク3経由でパーソナル
コンピュータ2bの送出する指令値の補正量を受け取り
ながらロボット1を位置姿勢Dへ移動させる。
【0090】上記のようにロボット制御装置100の内
部で生成した指令値だけで動作するモードと、ネットワ
ーク3経由で送られてきた指令値の補正量を合成して動
作するモードを持つことにより、大まかな動作はロボッ
ト内部の指令値生成方式によって行い、細かい動作は外
部から指令値の補正量で補正して動作させるということ
が可能となる。
【0091】また、動作の概略の軌道はロボット制御装
置100が生成し、細かい動きだけを外部機器から与え
ればよいので、指令値の生成が容易になる。
【0092】また、コマンドによって切り替えられるよ
うにしたことにより、内部指令値のみで動くモードと外
部から補正量を与えるモードの切り替えが自由かつ容易
になる。
【0093】なお、上記参考例2では、パーソナルコン
ピュータ4またはコマンド記憶部103からコマンドを
読み出すものを示したが、オペレータがコマンドをパー
ソナルコンピュータ4などから1つずつ入力してゆくよ
うにしても良いことはいうまでもない。
【0094】また、上記参考例2では、プログラム記憶
部103やパーソナルコンピュータ4から与えられたコ
マンドによって動作モードが切り替えられる場合につい
て説明したが、ティーチングボックスなど他の外部機器
からの指令によって切り替えられるようにしても良い。
【0095】また、上記参考例2では、ネットワーク3
につながったパーソナルコンピュータ2a、2bから指
令値の補正量を受け取るものとしたが、パーソナルコン
ピュータ以外の機器、例えば、他のロボット制御装置、
ワークステーションなどから受け取るようにしても良
い。
【0096】参考例3. 図9は参考例3によるロボット制御装置の通信方法にお
ける、新規に立ち上がった機器の通信手順を示すフロー
チャート、図10は同じくすでに稼働中の機器の通信手
順を示すフローチャートであり、1つのネットワークに
つながる複数のロボット制御装置、画像計測装置などの
各機器のそれぞれに固有の番号を自動的に割り振る方法
と、各機器につけられた名前と自動的に割り振られた機
器固有の番号との対応をとる方法について示している。
【0097】新たにネットワークにつながれた機器の電
源が投入されたとき、当該機器は次のようにしてネット
ワーク内における自分に固有の番号を決定し、さらに、
ネットワークにつながっている他の機器の名前とそれら
に固有の番号とを対応付けたデータベースを作成する。
【0098】電源が投入されると、図9のステップST
21に示すとおり、まず、自分のID(ネットワーク内
での固有の番号)を1と仮定する。次にステップST2
2において、自分のIDと同じIDを有する他の機器が
存在するかどうかを調べる。同じIDを有する機器が存
在する場合はステップST23に進み、自分のIDを2
にインクリメントしてステップST22に戻り、再び、
同じIDを持つ機器が存在するか否かを調べる。
【0099】ステップST22で同じIDを持った機器
が存在しないことが検出された場合には、ステップST
24においてそのIDを自分のIDに割り当てる。次に
ステップST25に進んで、あらかじめ設定されている
自分の機器名、例えば、“robot_1”という名前
と、ステップST24で割り当てられた自分のIDと
を、ネットワークにつながる全ての機器に対して通知す
る。
【0100】ネットワークにつながった各機器は上記I
Dと機器名を受け取ると、図10に示す手順にしたがっ
て自分のIDと機器名を返信する。すなわち、まずステ
ップST31において、新しくつながった機器からの機
器名とそのIDとを受信し、それを機器名とIDとの対
応を記述したデータベースに追加する。次にステップS
T32に進み、送信元の機器に対して自分の機器名とI
Dを送り返す。
【0101】新しくネットワークにつながった機器は図
9のステップST26において、ネットワーク上の他の
機器から送り返されてきた他の機器の機器名とIDを受
信して、このネットワークにつながっている各機器の名
前とIDの対応を記述したデータベースを作成する。
【0102】以上の手順によって、ネットワーク上の機
器が単なる番号ではなく、“robot_1”などの人
間にもなじみやすい名前を用いて管理できるため、ネッ
トワーク上の機器の識別が容易になる。また、IDが自
動的に割り当てられるため、ネットワークに接続される
機器が増えた場合に、同じIDを重複して割り当てると
いう問題がなくなる。
【0103】参考例4. 図11は参考例4によるロボット制御装置を示す構成図
であり、図7と相当部分には同一符号を付してその説明
を省略する。図において、109はネットワーク3を経
由してネットワーク通信部101が外部機器としてのパ
ーソナルコンピュータ2より受け取った指令値を蓄える
記憶手段としての指令値バッファであり、110はこの
指令値バッファ109に蓄えられている指令値を一定時
間間隔毎に読み出して、その指令値とロボット1の現在
の姿勢に基づいてより細かな指令値を補間して計算し、
それを外部指令値として指令値選択部105に与える、
読出手段としての指令値補間部である。
【0104】次に動作について説明する。まず、プログ
ラム実行部102はプログラム記憶部103またはパー
ソナルコンピュータ4からプログラムを読み出してそれ
を実行する。ここでは、例えば次のようなロボット1を
動作させるプログラムが実行される場合を考える。
【0105】 move A com 2 net_on move B
【0106】ここで、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が生成
した指令値を用いるように指示を出す。このようにし
て、move Aというコマンドを実行している間、指
令値は内部指令値生成部104で生成され、指令値選択
部105を経由してロボット状態チェック部106に渡
される。ロボット状態チェック部106では、現在のロ
ボット1の位置姿勢と指令値選択部105から渡された
指令値をもとに、ロボット1の動作速度が適正範囲内に
あるか、位置姿勢が動作範囲内にあるかなどのチェック
を行う。チェックの結果が適正であればその指令値はサ
ーボドライバ107に与えられ、サーボドライバ107
がロボット1内のサーボモータを駆動してロボット1が
動作する。
【0107】ロボットが位置姿勢Aまで移動した後、プ
ログラム実行部102はcom 2のコマンドを実行
し、指令値をもらう通信相手としてパーソナルコンピュ
ータ2を選択する。次に、net_onというコマンド
を実行し、プログラム実行部102は指令値選択部10
5にネットワーク3経由で送られてくる指令値を有効に
するように指示する。指令値選択部105はその指示を
受け取ると、内部指令値生成部104で生成された指令
値を使うのをやめ、ネットワーク通信部101を経由し
て得られた指令値に基づく外部指令値をロボット状態チ
ェック部106に送り出す。
【0108】すなわち、ネットワーク通信部101はロ
ボット制御装置100の外部のネットワーク3とつなが
っており、ネットワーク3とつながったパーソナルコン
ピュータ2などの外部機器と通信を行って、ロボット1
を制御するための指令値を受け取る。このネットワーク
通信部101で受信されたパーソナルコンピュータ2か
らの指令値は、指令値バッファ109に送られて一旦蓄
えられる。指令値補間部110はこの指令値バッファ1
09に蓄えられた指令値を一定時間間隔毎に読み出し、
その指令値とロボット1の現在の位置姿勢から、より細
かい指令値を補間によって計算し、その指令値を外部指
令値として指令値選択部105に送る。
【0109】パーソナルコンピュータ2から通信終了の
コマンドがネットワーク3経由でネットワーク通信部1
01に送られてくると、指令値選択部105はネットワ
ーク3経由での指令値の受信を終了するとともに、通信
が終了したことをプログラム実行部102に知らせる。
【0110】プログラム実行部102は通信が終了する
と、プログラム記憶部103またはパーソナルコンピュ
ータ4から読み出した次のコマンドmove Bを実行
してロボット1を位置姿勢Bに移動させる。
【0111】ここで、サーボドライバ107への指令値
は、通常非常に短い一定周期毎に与える必要があるが、
上記のように指令値バッファ109と指令値補間部11
0を設けることにより、一定周期毎にネットワーク3経
由で指令値が送られてこなくても、指令値補間部110
にて必要な周期で指令値バッファ109より指令値を読
み出すことによってそれに対応することができ、さら
に、その指令値補間部110が指令値を補間してくれる
ので、より滑らかなロボット1の動作が可能になる。
【0112】なお、上記参考例4では、ネットワーク3
経由の外部指令値と、内部指令値生成手段104で生成
した内部指令値とを、指令値選択部105で切り替えて
ロボット状態チェック部106に与えるものを示した
が、指令値選択部105の代わりに参考例2における指
令値合成部108を用いて、ネットワーク3経由で受信
した指令値の補正量を、外部からの指令値として指令値
バッファ109に蓄え、それを指令値補間部110によ
って一定時間間隔毎に読み出して内部指令値に合成し、
その補正された指令値をロボット状態チェック部106
に与えるようにしても良い。
【0113】
【発明の効果】以上のように、請求項1の発明によれ
ば、ロボット制御装置がネットワークを介して外部の機
器とハンドシェークで一定時間毎に通信するロボット制
御装置の通信方法において、ロボット制御装置から外部
の機器に対して指令値を要求する通信が失敗した場合
に、前記一定時間毎の本来の要求時刻からずらして次の
指令値を要求するように構成したので、1台の外部機器
で複数のロボットを制御することが可能となり、装置が
安価にできる効果がある。
【0114】請求項2の発明によれば、ロボット制御装
置がネットワークを介して外部の機器とハンドシェーク
で一定時間毎に通信するロボット制御装置の通信方法に
おいて、ロボット制御装置から外部機器に対して指令値
を要求する通信が失敗した場合に、前記一定時間毎の本
来の要求時刻からずらして次の指令値を要求し、その後
の指令値を要求する時刻を外部機器からロボット制御装
置に指定して、ロボット制御装置がその外部機器から受
け取った指定にあわせて指令値要求時刻を設定するよう
に構成したので、同じタイミングで複数のロボットを制
御することができ、高精度な制御が可能になる効果があ
る。
【0115】請求項3の発明によれば、ロボット制御装
置から一定周期毎に指令値を生成する外部機器に対し
て、現在の状況や指令値の送信要求を送信し、その送信
データが外部機器に着信したか否かを判断して、その通
信が成功した場合に外部機器からの指令値の受信待ちに
入り、その後一定時間内に指令値の受信が正常に完了し
たか否かの判定を行うように構成したので、通信してい
る双方が送信状態などになって通信不能となる、デッド
ロックに陥ることが避けられる効果がある。
【0116】請求項4の発明によれば、ロボット制御装
置から一定周期毎に指令値を生成する外部機器に対して
送信したデータが外部機器に着信しなくとも、その外部
機器からの指令値の受信をロボット制御装置が一定時間
待つように構成したので、ロボット制御装置からの指令
値の要求に対し、外部機器からの指令値の送信が遅れた
場合でも、ハンドシェークによる通信を維持することが
可能になる効果がある。
【0117】請求項5の発明によれば、ロボット制御装
置に指令値を与える外部機器から通信の終了を知らせる
ように構成したので、外部機器から容易にロボットを制
御できる効果がある。
【0118】請求項6の発明によれば、ロボット制御装
置から外部機器に対して、ロボットの位置・姿勢データ
とロボットの状態データを送るように構成したので、常
にロボットの状態を外部機器で管理することが可能とな
り、安全に外部機器からロボットを制御できる効果があ
る。
【0119】請求項7の発明によれば、ロボットの姿勢
データとして、直交座標系データ、関節座標系データ、
サーボモータへの指示値の単独もしくは組み合わせによ
って設定し、それを1つのデータ領域を用いて送信する
ように構成したので、少ない通信量で多様な種類のデー
タの通信が可能となるため、通信の高速化がはかれ、様
々な座標系におけるロボットの動作が容易に実現できる
効果がある。
【0120】請求項8の発明によれば、非常停止などの
異常が発生すると、その異常の発生をネットワークにつ
ながる全ての機器に対して知らせるように構成したの
で、事故の発生を防止することができ、システムの安全
性を向上させることができる効果がある。
【0121】
【0122】
【0123】
【0124】
【0125】
【図面の簡単な説明】
【図1】 この発明の実施例1、2によるロボット制御
装置の通信方法が適用されるシステムを示す構成図であ
る。
【図2】 この発明の実施例1によるロボット制御装置
の通信方法の通信タイミングを示すシーケンス図であ
る。
【図3】 この発明の実施例2によるロボット制御装置
の通信方法の通信タイミングを示すシーケンス図であ
る。
【図4】 この発明の実施例3によるロボット制御装置
の通信方法の通信手順を示すフローチャートである。
【図5】 上記実施例にてロボット制御装置と外部計算
機の間で通信されるデータ構造を示す説明図である。
【図6】 この発明の実施例4によるロボット制御装置
の通信方法の通信手順を示すフローチャートである。
【図7】 参考例1によるロボット制御装置を示す構成
図である。
【図8】 参考例2によるロボット制御装置を示す構成
図である。
【図9】 参考例3によるロボット制御装置の通信方法
の新たに立ち上がった機器の動作を示すフローチャート
である。
【図10】 参考例3によるロボット制御装置の通信方
法のすでに稼働中の機器の動作を示すフローチャートで
ある。
【図11】 参考例4によるロボット制御装置を示す構
成図である。
【図12】 従来のロボット制御装置を示す構成図であ
る。
【図13】 従来のロボット制御装置の通信方法を示す
構成図である。
【符号の説明】
1,1a,1b ロボット、2,2a,2b パーソナ
ルコンピュータ(外部機器)、3 ネットワーク、10
0,100a,100b ロボット制御装置、101
ネットワーク通信部(通信手段)、102 プログラム
実行部(プログラム実行手段)、103 プログラム記
憶部(プログラム記憶手段)、104内部指令値生成部
(指令値生成手段)、105 指令値選択部(切替手
段)、106 ロボット状態チェック部(制御手段)、
107 サーボドライバ(制御手段)、108 指令値
合成部(補正手段)、109 指令値バッファ(記憶手
段)、110 指令値補間部(読出手段)。
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) B25J 3/00 - 3/04 B25J 9/10 - 9/22 B25J 13/00 - 13/08 B25J 19/02 - 19/06 G05B 19/18 - 19/46

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項1】 ネットワークを介して外部機器と接続さ
    れているロボット制御装置が、前記外部機器とハンドシ
    ェークで一定時間毎に通信するロボット制御装置の通信
    方法において、前記ロボット制御装置から前記外部機器
    に対して一定時間毎に指令値を要求し、前記指令値を要
    求する通信が失敗した場合に、前記ロボット制御装置は
    前記外部機器に対して、前記一定時間毎の本来の要求時
    刻からずらした時刻に次の指令値の要求を行うことを特
    徴とするロボット制御装置の通信方法。
  2. 【請求項2】 ネットワークを介して外部機器と接続さ
    れているロボット制御装置が、前記外部機器とハンドシ
    ェークで一定時間毎に通信するロボット制御装置の通信
    方法において、前記ロボット制御装置から前記外部機器
    に対して一定時間毎に指令値を要求し、前記指令値を要
    求する通信が失敗した場合に、前記ロボット制御装置は
    前記外部機器に対して、前記一定時間毎の本来の要求時
    刻からずらした時刻に次の指令値の要求を行い、前記外
    部機器はその後の指令値の要求タイミングを前記ロボッ
    ト制御装置に対して指示し、前記ロボット制御装置は前
    記外部機器から受け取った要求タイミングに基づいて、
    以降の指令値の要求時刻を設定することを特徴とするロ
    ボット制御装置の通信方法。
  3. 【請求項3】 ロボットを制御するロボット制御装置
    と、前記ロボット制御装置に指令値を与える外部機器と
    がネットワークを介して接続され、前記ロボットの現在
    の位置および姿勢や前記指令値を通信するロボット制御
    装置の通信方法において、前記ロボット制御装置から一
    定の周期毎に指令値を生成する前記外部機器に対して、
    現在の状況や指令値の送信要求のデータを送信し、前記
    ロボット制御装置は前記外部機器への前記データの送信
    が成功したか否かを判断して、前記データの送信に成功
    すれば、前記外部機器から送られてくる指令値の受信待
    ちに入り、一定時間内に前記外部機器からの指令値の受
    信が正常に完了したか否か判定することを特徴とするロ
    ボット制御装置の通信方法。
  4. 【請求項4】 ロボットを制御するロボット制御装置
    と、前記ロボット制御装置に指令値を与える外部機器と
    がネットワークを介して接続され、前記ロボットの現在
    の位置および姿勢や指令値を通信するロボット制御装置
    の通信方法において、前記ロボット制御装置から一定の
    周期毎に指令値を生成する前記外部機器に対して、現在
    の状況や指令値の送信要求のデータを送信し、前記ロボ
    ット制御装置は前記外部機器への前記データの送信が成
    功したか否かを判断して、前記データの送信に成功する
    と否とにかかわらず、前記外部機器から送られてくる位
    置指令などの指令値の受信待ちに入り、一定時間内に前
    記外部機器からの指令値が正常に受信完了したか否か判
    定することを特徴とするロボット制御装置の通信方法。
  5. 【請求項5】 前記ロボット制御装置に対して、それに
    指令値を与える前記外部機器から通信の終了を知らせる
    ことを特徴とする請求項3または請求項4に記載のロボ
    ット制御装置の通信方法。
  6. 【請求項6】 前記ロボット制御装置からそれに指令
    を与える前記外部機器に対して、現在の状況や指令値の
    送信要求のデータを送信する際に、ロボットの位置およ
    び姿勢を示す位置・姿勢データと、前記ロボットの現在
    の状態を示す状態データとを送信することを特徴とする
    請求項3または請求項4に記載のロボット制御装置の通
    信方法。
  7. 【請求項7】 前記位置・姿勢データを、直交座標系デ
    ータ、関節座標系データ、サーボモータへの指示値を単
    独、もしくはそれらを組み合わせることによって設定
    し、それを1つのデータ領域を用いて送信することを特
    徴とする請求項6に記載のロボット制御装置の通信方
    法。
  8. 【請求項8】 異常状態が発生した場合に、前記ネット
    ワークにつながる他の全ての機器に対して異常の発生を
    知らせるデータを送信することを特徴とする請求項3ま
    たは請求項4に記載のロボット制御装置の通信方法
JP14092495A 1995-06-07 1995-06-07 ロボット制御装置の通信方法 Expired - Fee Related JP3421172B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14092495A JP3421172B2 (ja) 1995-06-07 1995-06-07 ロボット制御装置の通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14092495A JP3421172B2 (ja) 1995-06-07 1995-06-07 ロボット制御装置の通信方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2003035300A Division JP2004025428A (ja) 2003-02-13 2003-02-13 ロボット制御装置の通信方法およびロボット制御装置

Publications (2)

Publication Number Publication Date
JPH08336782A JPH08336782A (ja) 1996-12-24
JP3421172B2 true JP3421172B2 (ja) 2003-06-30

Family

ID=15279987

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14092495A Expired - Fee Related JP3421172B2 (ja) 1995-06-07 1995-06-07 ロボット制御装置の通信方法

Country Status (1)

Country Link
JP (1) JP3421172B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE524929C2 (sv) * 2002-06-07 2004-10-26 Abb Ab Ett styrsystem med fysiskt åtskilda moduler för styrning av en eller flera manipulatorer
JP4774683B2 (ja) * 2004-05-31 2011-09-14 富士電機株式会社 サーボ制御装置の支援装置
CN106502194B (zh) * 2016-11-18 2024-01-12 珠海格力智能装备有限公司 一种机器人通信控制装置、方法和机器人系统
JP7429879B2 (ja) * 2018-09-26 2024-02-09 パナソニックIpマネジメント株式会社 多軸モータ駆動装置
JP7225946B2 (ja) * 2019-03-11 2023-02-21 株式会社デンソーウェーブ ロボットシステム、ロボットの制御装置

Also Published As

Publication number Publication date
JPH08336782A (ja) 1996-12-24

Similar Documents

Publication Publication Date Title
JP3504222B2 (ja) ロボット制御装置
US6330493B1 (en) Control system for synchronously cooperative operation of plurality of robots
US7558646B2 (en) Cooperative control system of robots
EP0400624B1 (en) Distribution control apparatus
US9254567B2 (en) System for commanding a robot
JP2574983B2 (ja) マルチタスク制御システム
KR20130095189A (ko) 자동화 워크셀 제어 방법
KR20130027523A (ko) 자동화 워크셀 제어 방법
JPS5871087A (ja) ロボツトア−ムを非プログラム径路に沿って自動的に動かす装置
JPS6329810A (ja) ア−ム制御装置
CN111360795B (zh) 一种六自由度并联机器人的控制系统及其控制方法
JP3538362B2 (ja) 複数ロボットの同期又は協調動作制御装置
JP3421172B2 (ja) ロボット制御装置の通信方法
JP2018153883A (ja) コントロールシステム、コントローラ及び制御方法
JP3421191B2 (ja) ロボット制御装置およびそのデータ通信方法
US8572291B2 (en) Electronic board and system comprising a plurality of such boards
CN110161972B (zh) 多机同步协同控制方法及系统
JP2006285885A (ja) 分散型モーションコントロールシステムの並列処理方法およびモーションコントローラ
JP2004025428A (ja) ロボット制御装置の通信方法およびロボット制御装置
JP2820185B2 (ja) 複数モータの制御方法および制御システム
US20220331951A1 (en) Robot control system, lower-level control apparatus, and control method for robot
JPH09267283A (ja) ロボット制御装置およびその通信方法
US20230128011A1 (en) Robot Control Method, Robot Control System, And Robot Control Program
WO2023281805A1 (ja) 通信システム、コントロールシステム、及び通信方法
JPH08106320A (ja) 自動機械及び自動機械の制御方法

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080418

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090418

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100418

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100418

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110418

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120418

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120418

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130418

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130418

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140418

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees