JPH08336782A - ロボット制御装置の通信方法およびロボット制御装置 - Google Patents

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

Info

Publication number
JPH08336782A
JPH08336782A JP14092495A JP14092495A JPH08336782A JP H08336782 A JPH08336782 A JP H08336782A JP 14092495 A JP14092495 A JP 14092495A JP 14092495 A JP14092495 A JP 14092495A JP H08336782 A JPH08336782 A JP H08336782A
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.)
Granted
Application number
JP14092495A
Other languages
English (en)
Other versions
JP3421172B2 (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 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

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

(57)【要約】 【目的】 高度な作業の制御を可能とするロボット制御
装置の通信方法およびロボット制御装置を得る。 【構成】 ロボット制御装置100a、100bがネッ
トワーク3を介して外部機器2とハンドシェークで一定
時間毎に通信し、ロボット制御装置から外部機器に対し
て指令値を要求する通信が失敗した場合には、前記一定
時間毎の本来の要求時刻からずらした時刻で次の指令値
の要求を行うようにしたもの。 【効果】 1台の外部機器で複数のロボットを制御する
ことが可能となり、装置が安価にできる。

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】請求項9の発明に係るロボット制御装置
は、外部機器との通信手段と、プログラム記憶手段に記
憶されているロボットの動作を記述したプログラムを実
行するプログラム実行手段からの指示に従って、当該ロ
ボット制御装置内部で指令値を生成する指令値生成手段
と、この指令値生成手段からの指令値と通信手段で外部
機器より受け取った指令値とを切り替えて、選択した指
令値を制御手段に伝達する切替手段を設けたものであ
る。
【0022】請求項10の発明に係るロボット制御装置
は、指令値生成手段の生成した指令値を直接、あるいは
その指令値を通信手段が外部機器より受け取った指令値
の補正量で補正して、制御手段に供給する補正手段で代
替したものである。
【0023】請求項11の発明に係るロボット制御装置
の通信方法は、ネットワークにつながる各機器毎に固有
の番号の割り当てを自動的に行い、各機器に自由に付与
される名前として自機器に付与された名前と、自機器に
割り当てられた固有の番号とを、ネットワークにつなが
った各機器に通知するようにしたものである。
【0024】請求項12の発明に係るロボット制御装置
は、通信手段が外部機器より受け取った指令値を蓄えて
おく記憶手段と、この記憶手段から一定の時間間隔毎に
指令値の読み出しを行う読出手段を設けたものである。
【0025】請求項13の発明に係るロボット制御装置
は、記憶手段から読み出した指令値の補間機能を読出手
段に持たせたものである。
【0026】
【作用】請求項1の発明におけるロボット制御装置の通
信方法は、ロボット制御装置から外部機器に対して一定
時間毎に行った指令値要求の通信に失敗した場合に、ロ
ボット制御装置は外部機器に対して、前記一定時間毎の
本来の要求時刻からずらした時刻に次の指令値の要求を
行うことにより、1台の外部機器にて複数のロボット制
御装置の制御を可能とする。
【0027】請求項2の発明におけるロボット制御装置
の通信方法は、一定時間毎に行われる外部機器への指令
値要求の通信が失敗すると、前記一定時間毎の本来の要
求時刻からずらした時刻に次の指令値の要求を行い、そ
の後の指令値の要求タイミングの指示を外部機器より受
けて、以降の指令値の要求時刻をそれに基づいて設定す
ることにより、同一のタイミングで複数のロボットの制
御を可能とする。
【0028】請求項3の発明におけるロボット制御装置
の通信方法は、ロボット制御装置より現在の状況や指令
値の送信要求を外部機器に送信し、その通信が成功した
場合に外部機器からの指令値の受信待ちに入り、その後
一定時間内に指令値の受信が正常に完了したか否かの判
定を行うことにより、双方が送信状態となるデッドロッ
クに陥ることを回避する。
【0029】請求項4の発明におけるロボット制御装置
の通信方法は、指令値要求の通信が成功しなかった場合
でも、一定時間、外部機器からの指令値の受信待ち状態
に入ることにより、外部機器からの指令値の着信が遅れ
ても、ハンドシェークによる通信の維持を可能とする。
【0030】請求項5の発明におけるロボット制御装置
の通信方法は、通信の終了を外部機器よりロボット制御
装置に通知することにより、外部機器からロボットを容
易に制御可能とする。
【0031】請求項6の発明におけるロボット制御装置
の通信方法は、ロボット制御装置から外部機器に対し
て、ロボットの位置・姿勢データとロボットの状態デー
タを送ることにより、外部機器にてロボットの状態を常
に管理することを可能とする。
【0032】請求項7の発明におけるロボット制御装置
の通信方法は、直交座標系データ、関節座標系データ、
サーボモータへの指示値の単独もしくは組み合わせによ
って設定した位置・姿勢データを、1つのデータ領域を
用いて送信することにより、少ない通信量で多様な種類
のデータの通信を可能とする。
【0033】請求項8の発明におけるロボット制御装置
の通信方法は、ネットワークにつながる他の全ての機器
に対して異常の発生を通知することにより、安全性の高
いシステムを実現する。
【0034】請求項9の発明における切替手段は、ロボ
ット制御装置内部の指令値生成手段で生成した指令値
と、通信手段で外部機器より受け取った指令値とを切り
替えて、選択した指令値を制御手段に供給することによ
り、ロボットの大まかな動作については内部で生成した
指令値に従って、細かな動作については外部から与えら
れる指令値に従って、それぞれ制御可能とする。
【0035】請求項10の発明における補正手段は、ロ
ボット制御装置内部の指令値生成手段で生成した指令値
をそのまま、あるいはそれを通信手段が外部機器より受
け取った指令値の補正量にて補正したものを制御手段に
供給することにより、ロボットの大まかな動作について
は内部で生成した指令値に従って、細かな動作について
は内部で生成した指令値を外部から与えられる補正量で
補正した指令値に従って、それぞれ制御可能とする。
【0036】請求項11の発明におけるロボット制御装
置の通信方法は、ネットワークにつながる機器毎に固有
の番号を自動的に割り当て、その番号とは別に各機器に
自由に名前を付けて、その名前と番号との対応を自動的
にとることにより、各機器にそれぞれわかりやすい名前
を自由に付けられるようにする。
【0037】請求項12の発明における読出装置は、外
部機器から受け取って記憶手段に蓄えられている指令値
を、一定時間間隔毎に読み出してロボットの制御に供す
ることにより、外部機器からロボット制御装置への一定
時間毎の指令値の送信を不要とする。
【0038】請求項13の発明における読出手段は、記
憶手段から読み出した指令値の補間を行ってロボットの
制御に供することにより、ロボットのより滑らかな動作
を可能とする。
【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】実施例5.図7はこの発明の実施例5によ
るロボット制御装置を示す構成図である。図において、
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】なお、上記実施例5では、パーソナルコン
ピュータ4またはプログラム記憶部103からコマンド
を読み出すものを示したが、オペレータがコマンドをパ
ーソナルコンピュータ4などから1つずつ入力してゆく
ようにしても良いことはいうまでもない。
【0081】また、上記実施例5では、プログラム記憶
部103やパーソナルコンピュータ4から与えられたコ
マンドによって指令値が切り替えられる場合について説
明したが、ティーチングボックスなど他の外部機器から
の指令によって切り替えるようにしても良い。
【0082】また、上記実施例5では、ネットワーク3
につながったパーソナルコンピュータ2a、2bから外
部指令値を受け取るものとしたが、パーソナルコンピュ
ータ以外の機器、例えば、他のロボット制御装置、ワー
クステーションなどから受け取るようにしても良い。
【0083】実施例6.図8はこの発明の実施例6によ
るロボット制御装置を示す構成図である。図において、
図7と相当部分には同一符号を付して詳細な説明を省略
する。108はプログラム実行部2からの指示に従っ
て、内部指令値生成部104の生成した指令値をそのま
ま、あるいは内部指令値生成部104の生成した指令値
にネットワーク通信部101で受け取ったパーソナルコ
ンピュータ2aあるいは2bからの指令値の補正量を合
成して補正したものを、ロボット状態チェック部106
に送出する補正手段としての指令値合成部である。この
実施例6は指令値選択部105をこの指令値合成部10
8によって代替した点で実施例5とは異なっている。
【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経由でもらうコマンドであり、その他
のコマンドは実施例5のそれらと同様である。このよう
なプログラムを実行する場合、プログラム実行部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】なお、上記実施例6では、パーソナルコン
ピュータ4またはコマンド記憶部103からコマンドを
読み出すものを示したが、オペレータがコマンドをパー
ソナルコンピュータ4などから1つずつ入力してゆくよ
うにしても良いことはいうまでもない。
【0094】また、上記実施例6では、プログラム記憶
部103やパーソナルコンピュータ4から与えられたコ
マンドによって動作モードが切り替えられる場合につい
て説明したが、ティーチングボックスなど他の外部機器
からの指令によって切り替えられるようにしても良い。
【0095】また、上記実施例6では、ネットワーク3
につながったパーソナルコンピュータ2a、2bから指
令値の補正量を受け取るものとしたが、パーソナルコン
ピュータ以外の機器、例えば、他のロボット制御装置、
ワークステーションなどから受け取るようにしても良
い。
【0096】実施例7.図9はこの発明の実施例7によ
るロボット制御装置の通信方法における、新規に立ち上
がった機器の通信手順を示すフローチャート、図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】実施例8.図11はこの発明の実施例8よ
るロボット制御装置を示す構成図であり、図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】なお、上記実施例8では、ネットワーク3
経由の外部指令値と、内部指令値生成手段104で生成
した内部指令値とを、指令値選択部105で切り替えて
ロボット状態チェック部106に与えるものを示した
が、指令値選択部105の代わりに実施例6における指
令値合成部108を用いて、ネットワーク3経由で受信
した指令値の補正量を、外部からの指令値として指令値
バッファ109に蓄え、それを指令値補間部110によ
って一定時間間隔毎に読み出して内部指令値に合成し、
その補正された指令値をロボット状態チェック部106
に与えるようにしても良い。
【0113】
【発明の効果】以上のように、請求項1の発明によれ
ば、ロボット制御装置がネットワークを介して外部の機
器とハンドシェークで一定時間毎に通信するロボット制
御装置の通信方法において、ロボット制御装置から外部
の機器に対して指令値を要求する通信が失敗した場合
に、前記一定時間毎の本来の要求時刻からずらして次の
指令値を要求するように構成したので、1台の外部機器
で複数のロボットを制御することが可能となり、装置が
安価にできる効果がある。
【0114】請求項2の発明によれば、ロボット制御装
置がネットワークを介して外部の機器とハンドシェーク
で一定時間毎に通信するロボット制御装置の通信方法に
おいて、ロボット制御装置から外部機器に対して指令値
を要求する通信が失敗した場合に、前記一定時間毎の本
来の要求時刻からずらして次の指令値を要求し、その後
の指令値を要求する時刻を外部機器からロボット制御装
置に指定して、ロボット制御装置がその外部機器から受
け取った指定にあわせて指令値要求時刻を設定するよう
に構成したので、同じタイミングで複数のロボットを制
御することができ、高精度な制御が可能になる効果があ
る。
【0115】請求項3の発明によれば、ロボット制御装
置から一定周期毎に指令値を生成する外部機器に対し
て、現在の状況や指令値の送信要求を送信し、その送信
データが外部機器に着信したか否かを判断して、その通
信が成功した場合に外部機器からの指令値の受信待ちに
入り、その後一定時間内に指令値の受信が正常に完了し
たか否かの判定を行うように構成したので、通信してい
る双方が送信状態などになって通信不能となる、デッド
ロックに陥ることが避けられる効果がある。
【0116】請求項4の発明によれば、ロボット制御装
置から一定周期毎に指令値を生成する外部機器に対して
送信したデータが外部機器に着信しなくとも、その外部
機器からの指令値の受信をロボット制御装置が一定時間
待つように構成したので、ロボット制御装置からの指令
値の要求に対し、外部機器からの指令値の送信が遅れた
場合でも、ハンドシェークによる通信を維持することが
可能になる効果がある。
【0117】請求項5の発明によれば、ロボット制御装
置に指令値を与える外部機器から通信の終了を知らせる
ように構成したので、外部機器から容易にロボットを制
御できる効果がある。
【0118】請求項6の発明によれば、ロボット制御装
置から外部機器に対して、ロボットの位置・姿勢データ
とロボットの状態データを送るように構成したので、常
にロボットの状態を外部機器で管理することが可能とな
り、安全に外部機器からロボットを制御できる効果があ
る。
【0119】請求項7の発明によれば、ロボットの姿勢
データとして、直交座標系データ、関節座標系データ、
サーボモータへの指示値の単独もしくは組み合わせによ
って設定し、それを1つのデータ領域を用いて送信する
ように構成したので、少ない通信量で多様な種類のデー
タの通信が可能となるため、通信の高速化がはかれ、様
々な座標系におけるロボットの動作が容易に実現できる
効果がある。
【0120】請求項8の発明によれば、非常停止などの
異常が発生すると、その異常の発生をネットワークにつ
ながる全ての機器に対して知らせるように構成したの
で、事故の発生を防止することができ、システムの安全
性を向上させることができる効果がある。
【0121】請求項9の発明によれば、切替手段によっ
て、ロボット制御装置内部の指令値生成手段で生成した
指令値と、通信手段で外部機器より受け取った指令値と
の切替・選択を行い、選択された指令値でロボットの制
御・駆動を行うように構成したので、ロボットの大まか
な動作については内部で生成した指令値に従って、細か
な動作については外部から与えられる指令値に従って、
それぞれ制御することができ、多様な動作が可能となる
効果がある。
【0122】請求項10の発明によれば、補正手段を設
けて、ロボット制御装置内部の指令値生成手段で生成し
た指令値のみで動作するモードと、その指令値を外部機
器より通信手段が受け取った指令値の補正量で補正した
指令値で動作するモードのいずれかで動作するように構
成したので、ロボットの大まかな動作については内部で
生成した指令値に従って、細かな動作については内部で
生成した指令値を外部から与えられる補正量で補正した
指令値に従って、それぞれ制御することができ、多様な
動作が可能となる効果がある。
【0123】請求項11の発明によれば、ネットワーク
につながる各機器毎に固有の番号の割当を自動的に行
い、当該番号と、それとは別に自由に付けられた自機器
の名前をネットワークにつながる他の機器に通知するよ
うに構成したので、それぞれの機器には人間になじみや
すい名前を自由につけることが可能となって、機器の管
理を容易化できる効果がある。
【0124】請求項12の発明によれば、通信手段を介
して外部機器より受け取った指令値を記憶手段に蓄えて
おき、読出手段によって一定の時間間隔毎にこの記憶手
段に蓄えられている指令値を読み出して、ロボットの制
御に用いるように構成したので、一定時間毎に外部機器
からロボット制御装置に指令値を送信する必要がなくな
り、通信の自由度が高くなる効果がある。
【0125】請求項13の発明によれば、その読出手段
が記憶手段から読み出した指令値の補間を行うように構
成したので、ロボットをより滑らかに動作させることが
可能になる効果がある。
【図面の簡単な説明】
【図1】 この発明の実施例1、2によるロボット制御
装置の通信方法が適用されるシステムを示す構成図であ
る。
【図2】 この発明の実施例1によるロボット制御装置
の通信方法の通信タイミングを示すシーケンス図であ
る。
【図3】 この発明の実施例2によるロボット制御装置
の通信方法の通信タイミングを示すシーケンス図であ
る。
【図4】 この発明の実施例3によるロボット制御装置
の通信方法の通信手順を示すフローチャートである。
【図5】 上記実施例にてロボット制御装置と外部計算
機の間で通信されるデータ構造を示す説明図である。
【図6】 この発明の実施例4によるロボット制御装置
の通信方法の通信手順を示すフローチャートである。
【図7】 この発明の実施例5によるロボット制御装置
を示す構成図である。
【図8】 この発明の実施例6によるロボット制御装置
を示す構成図である。
【図9】 この発明の実施例7によるロボット制御装置
の通信方法の新たに立ち上がった機器の動作を示すフロ
ーチャートである。
【図10】 この発明の実施例7によるロボット制御装
置の通信方法のすでに稼働中の機器の動作を示すフロー
チャートである。
【図11】 この発明の実施例8によるロボット制御装
置を示す構成図である。
【図12】 従来のロボット制御装置を示す構成図であ
る。
【図13】 従来のロボット制御装置の通信方法を示す
構成図である。
【符号の説明】
1,1a,1b ロボット、2,2a,2b パーソナ
ルコンピュータ(外部機器)、3 ネットワーク、10
0,100a,100b ロボット制御装置、101
ネットワーク通信部(通信手段)、102 プログラム
実行部(プログラム実行手段)、103 プログラム記
憶部(プログラム記憶手段)、104内部指令値生成部
(指令値生成手段)、105 指令値選択部(切替手
段)、106 ロボット状態チェック部(制御手段)、
107 サーボドライバ(制御手段)、108 指令値
合成部(補正手段)、109 指令値バッファ(記憶手
段)、110 指令値補間部(読出手段)。

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】 ネットワークを介して外部機器と接続さ
    れているロボット制御装置が、前記外部機器とハンドシ
    ェークで一定時間毎に通信するロボット制御装置の通信
    方法において、前記ロボット制御装置から前記外部機器
    に対して一定時間毎に指令値を要求し、前記指令値を要
    求する通信が失敗した場合に、前記ロボット制御装置は
    前記外部機器に対して、前記一定時間毎の本来の要求時
    刻からずらした時刻に次の指令値の要求を行うことを特
    徴とするロボット制御装置の通信方法。
  2. 【請求項2】 ネットワークを介して外部機器と接続さ
    れているロボット制御装置が、前記外部機器とハンドシ
    ェークで一定時間毎に通信するロボット制御装置の通信
    方法において、前記ロボット制御装置から前記外部機器
    に対して一定時間毎に指令値を要求し、前記指令値を要
    求する通信が失敗した場合に、前記ロボット制御装置は
    前記外部機器に対して、前記一定時間毎の本来の要求時
    刻からずらした時刻に次の指令値の要求を行い、前記外
    部機器はその後の指令値の要求タイミングを前記ロボッ
    ト制御装置に対して指示し、前記ロボット制御装置は前
    記外部機器から受け取った要求タイミングに基づいて、
    以降の指令値の要求時刻を設定することを特徴とするロ
    ボット制御装置の通信方法。
  3. 【請求項3】 ロボットを制御するロボット制御装置
    と、前記ロボット制御装置に指令値を与える外部機器と
    がネットワークを介して接続され、前記ロボットの現在
    の位置および姿勢や前記指令値を通信するロボット制御
    装置の通信方法において、前記ロボット制御装置から一
    定の周期毎に指令値を生成する前記外部機器に対して、
    現在の状況や指令値の送信要求のデータを送信し、前記
    ロボット制御装置は前記外部機器への前記データの送信
    が成功したか否かを判断して、前記データの送信に成功
    すれば、前記外部機器から送られてくる指令値の受信待
    ちに入り、一定時間内に前記外部機器からの指令値の受
    信が正常に完了したか否か判定することを特徴とするロ
    ボット制御装置の通信方法。
  4. 【請求項4】 ロボットを制御するロボット制御装置
    と、前記ロボット制御装置に指令値を与える外部機器と
    がネットワークを介して接続され、前記ロボットの現在
    の位置および姿勢や指令値を通信するロボット制御装置
    の通信方法において、前記ロボット制御装置から一定の
    周期毎に指令値を生成する前記外部機器に対して、現在
    の状況や指令値の送信要求のデータを送信し、前記ロボ
    ット制御装置は前記外部機器への前記データの送信が成
    功したか否かを判断して、前記データの送信に成功する
    と否とにかかわらず、前記外部機器から送られてくる位
    置指令などの指令値の受信待ちに入り、一定時間内に前
    記外部機器からの指令値が正常に受信完了したか否か判
    定することを特徴とするロボット制御装置の通信方法。
  5. 【請求項5】 前記ロボット制御装置に対して、それに
    指令値を与える前記外部機器から通信の終了を知らせる
    ことを特徴とする請求項3または請求項4に記載のロボ
    ット制御装置の通信方法。
  6. 【請求項6】 前記ロボット制御装置からそれに指令地
    を与える前記外部機器に対して、現在の状況や指令値の
    送信要求のデータを送信する際に、ロボットの位置およ
    び姿勢を示す位置・姿勢データと、前記ロボットの現在
    の状態を示す状態データとを送信することを特徴とする
    請求項3または請求項4に記載のロボット制御装置の通
    信方法。
  7. 【請求項7】 前記位置・姿勢データを、直交座標系デ
    ータ、関節座標系データ、サーボモータへの指示値を単
    独、もしくはそれらを組み合わせることによって設定
    し、それを1つのデータ領域を用いて送信することを特
    徴とする請求項6に記載のロボット制御装置の通信方
    法。
  8. 【請求項8】 異常状態が発生した場合に、前記ネット
    ワークにつながる他の全ての機器に対して異常の発生を
    知らせるデータを送信することを特徴とする請求項3ま
    たは請求項4に記載のロボット制御装置の通信方法。
  9. 【請求項9】 ロボットを制御するための指令値を与え
    る外部機器と、ネットワークを介して通信するための通
    信手段と、前記ロボットの動作を記述したプログラムを
    記憶しておくプログラム記憶手段と、前記プログラム記
    憶手段に記憶されたプログラムを実行するプログラム実
    行手段と、前記プログラム実行手段からの指示に従って
    当該ロボット制御装置内部で指令値を生成する指令値生
    成手段と、前記指令値生成手段の生成した指令値と前記
    通信手段で外部機器より受け取った指令値の選択・切替
    を行う切替手段と、前記切替手段によって選択された指
    令値に基づいて動作する制御手段とを備えたロボット制
    御装置。
  10. 【請求項10】 ロボットを制御するための指令値を与
    える外部機器と、ネットワークを介して通信するための
    通信手段と、前記ロボットの動作を記述したプログラム
    を記憶しておくプログラム記憶手段と、前記プログラム
    記憶手段に記憶されたプログラムを実行するプログラム
    実行手段と、前記プログラム実行手段からの指示に従っ
    て当該ロボット制御装置内部で指令値を生成する指令値
    生成手段と、前記指令値生成手段の生成した指令値を前
    記通信手段で外部機器より受け取った指令値の補正量で
    補正する補正手段と、前記指令値生成手段で生成された
    指令値、および前記補正手段によって補正された指令値
    のいずれかに基づいて動作する制御手段とを備えたロボ
    ット制御装置。
  11. 【請求項11】 ロボットを制御するロボット制御装置
    と、前記ロボット制御装置に指令値を与える外部機器と
    がネットワークを介して接続され、前記ロボットの現在
    の位置および姿勢や前記指令値を通信するロボット制御
    装置の通信方法において、前記ネットワークにつながる
    各機器毎に固有に割り当てられる番号で、他の機器に割
    り当てられていないものを選定して、それを自機器に固
    有の番号として割り当て、それぞれの機器に対して自由
    に付与される名前として自機器に付与された名前と、前
    記割り当てられた固有の番号とを、前記ネットワークに
    つながる他の機器に通知することを特徴とするロボット
    制御装置の通信方法。
  12. 【請求項12】 ロボットを制御するための指令値を与
    える外部機器とネットワークを介して接続された、通信
    機能を有するロボット制御装置において、前記外部機器
    に対してロボットの現在の状態を通知する通信手段と、
    前記外部機器から送られてきた指令値を蓄えておく記憶
    手段と、前記ロボットに指令を与えるために、前記記憶
    手段に蓄えられている指令値を一定の時間間隔毎に読み
    出す読出手段とを備えたことを特徴とするロボット制御
    装置。
  13. 【請求項13】 前記読出手段が、前記記憶手段から読
    み出した指令値の補間機能を有することを特徴とする請
    求項12に記載のロボット制御装置。
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 true JPH08336782A (ja) 1996-12-24
JP3421172B2 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)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005346144A (ja) * 2004-05-31 2005-12-15 Fuji Electric Fa Components & Systems Co Ltd サーボ制御装置の支援装置
JP2006500228A (ja) * 2002-06-07 2006-01-05 アーベーベー・アーベー 1つまたは複数のマニプレータを制御する制御システムおよび方法
CN106502194A (zh) * 2016-11-18 2017-03-15 珠海格力智能装备有限公司 一种机器人通信控制装置、方法和机器人系统
WO2020066302A1 (ja) * 2018-09-26 2020-04-02 パナソニックIpマネジメント株式会社 多軸モータ駆動装置
JP2020146766A (ja) * 2019-03-11 2020-09-17 株式会社デンソーウェーブ ロボットシステム、ロボットの制御装置
CN113793492A (zh) * 2021-08-20 2021-12-14 深圳市创客工场科技有限公司 一种通信方法及赛事场控装置

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006500228A (ja) * 2002-06-07 2006-01-05 アーベーベー・アーベー 1つまたは複数のマニプレータを制御する制御システムおよび方法
JP2005346144A (ja) * 2004-05-31 2005-12-15 Fuji Electric Fa Components & Systems Co Ltd サーボ制御装置の支援装置
CN106502194A (zh) * 2016-11-18 2017-03-15 珠海格力智能装备有限公司 一种机器人通信控制装置、方法和机器人系统
CN106502194B (zh) * 2016-11-18 2024-01-12 珠海格力智能装备有限公司 一种机器人通信控制装置、方法和机器人系统
WO2020066302A1 (ja) * 2018-09-26 2020-04-02 パナソニックIpマネジメント株式会社 多軸モータ駆動装置
CN112106289A (zh) * 2018-09-26 2020-12-18 松下知识产权经营株式会社 多轴电动机驱动装置
JPWO2020066302A1 (ja) * 2018-09-26 2021-08-30 パナソニックIpマネジメント株式会社 多軸モータ駆動装置
JP2020146766A (ja) * 2019-03-11 2020-09-17 株式会社デンソーウェーブ ロボットシステム、ロボットの制御装置
CN113793492A (zh) * 2021-08-20 2021-12-14 深圳市创客工场科技有限公司 一种通信方法及赛事场控装置
CN113793492B (zh) * 2021-08-20 2024-05-03 深圳市创客工场科技有限公司 一种通信方法及赛事场控装置

Also Published As

Publication number Publication date
JP3421172B2 (ja) 2003-06-30

Similar Documents

Publication Publication Date Title
JP3504222B2 (ja) ロボット制御装置
US7558646B2 (en) Cooperative control system of robots
US6330493B1 (en) Control system for synchronously cooperative operation of plurality of robots
US9254567B2 (en) System for commanding a robot
JP7068059B2 (ja) 遠隔操作方法及び遠隔操作システム
JP2574983B2 (ja) マルチタスク制御システム
JP2006187826A (ja) ロボットコントローラ
KR20130095189A (ko) 자동화 워크셀 제어 방법
KR20130027523A (ko) 자동화 워크셀 제어 방법
KR20170100028A (ko) 적어도 2개의 매니퓰레이터의 협력된 제어를 위한 매니퓰레이터 시스템
JP3538362B2 (ja) 複数ロボットの同期又は協調動作制御装置
JPH0789293B2 (ja) ア−ム制御装置
JP3421172B2 (ja) ロボット制御装置の通信方法
JP2018153883A (ja) コントロールシステム、コントローラ及び制御方法
JP3421191B2 (ja) ロボット制御装置およびそのデータ通信方法
JP2006285885A (ja) 分散型モーションコントロールシステムの並列処理方法およびモーションコントローラ
US8572291B2 (en) Electronic board and system comprising a plurality of such boards
JP2004025428A (ja) ロボット制御装置の通信方法およびロボット制御装置
CN113874177A (zh) 机器人系统、恢复程序生成装置、控制辅助装置、控制装置、程序、恢复程序的生成方法以及恢复程序的输出方法
CN110161972B (zh) 多机同步协同控制方法及系统
JPH09267283A (ja) ロボット制御装置およびその通信方法
US20220331951A1 (en) Robot control system, lower-level control apparatus, and control method for robot
WO2023281805A1 (ja) 通信システム、コントロールシステム、及び通信方法
US20230128011A1 (en) Robot Control Method, Robot Control System, And Robot Control Program
JPH10301608A (ja) 作業機械の制御装置

Legal Events

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

Free format text: PAYMENT UNTIL: 20080418

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090418

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100418

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100418

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110418

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120418

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120418

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130418

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20130418

Year of fee payment: 10

FPAY Renewal fee payment (prs 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