(57)【要約】      （修正有）【課題】ネットワークが一時的に切断されても動作を継続することができる複数ロボットの同期および協調制御システムを提供する。【解決手段】複数のロボット103a、103bと、それぞれに対応したコントローラ部102a、102bと、各コントローラ部を接続する通信ネットワーク媒体部101とを有し、各コントローラ部は、位置フィードバックループを構成する位置制御部102a1、102b1と、位置制御部に目標指令値を払い出す目標指令生成部102a2、102b2と、動作プログラムを解釈し目標指令生成部に動作命令を与えるインタプリタ部102a3、102b3とを備え、各コントローラ部は、目標指令生成部の指令払い出し周期を各コントローラ間で同期させるタイマ同期制御部102a6、102b6と、指令払い出し周期に同期して他のロボットの動作を模擬するシミュレータエージェント部102a5、102b5と、自身のロボットの動作を模擬するシミュレータ部102a4、102b4とを備える。【選択図】図１
2005014150.tif 000002
【特許請求の範囲】
【請求項１】
複数のロボットと、前記複数ロボットそれぞれに対応したコントローラ部と、前記各コントローラ部を接続する通信ネットワーク媒体部とを有し、前記各コントローラ部は、一定周期毎に位置フィードバックループを構成する位置制御部と、一定周期毎に前記位置制御部に目標指令値を払い出す目標指令生成部と、動作プログラムを解釈し前記目標指令生成部に動作命令を与えるインタプリタ部とを備え、複数ロボットを同期および協調動作させて所望の作業を行うロボットシステムにおいて、
前記各コントローラ部は、前記目標指令生成部の指令払い出し周期を各コントローラ間で同期させるタイマ同期制御部と、
前記指令払い出し周期に同期して他のロボットの動作を模擬するシミュレータエージェント部と、
自身のロボットの動作を模擬するシミュレータ部と、
を備えることを特徴とするロボットシステム。
【請求項２】
前記目標指令生成部は、前記シミュレータエージェント部が模擬した動作に同期または協調するように目標指令を生成することを特徴とする請求項１記載のロボットシステム。
【請求項３】
前記各タイマ同期制御部のうち１つをマスタ、その他をスレーブとし、前記マスタから前記各スレーブに対して同期開始トリガ信号を一斉送信し、前記各スレーブでは前記トリガ信号を受信した次の周期を基点として前記目標指令生成部の動作周期を決定するタイマを作動させ、前記マスタでは前記トリガ信号を一斉送信した次の周期を基点として前記目標指令生成部の動作周期を決定するタイマを作動させることを特徴とする請求項１乃至２記載のロボットシステム。
【請求項４】
前記インタプリタ部は、同期または協調動作の開始あるいは終了のトリガ信号を同一コントローラ内部の目標指令生成部と他のコントローラ内部の該当するシミュレータエージェント部とへ、前記通信ネットワーク媒体部を介して送信し、目標指令生成部と前記シミュレータエージェント部は、お互いに次の指令払い出し周期から、同期または協調動作を開始あるいは終了することを特徴とする請求項３記載のロボットシステム。
【請求項５】
前記インタプリタ部は、前記シミュレータエージェント部に前記トリガ信号を送信する際、インタプリタ部と同一コントローラ部内の目標指令生成部のタイマカウント値をトリガ信号に付随させて送信し、
シミュレータエージェント部は、同一コントローラ部内の目標指令生成部のタイマカウント値と受信したタイマカウント値を比較して通信遅れ時間を算出し、前記通信遅れ時間分だけシミュレータエージェント部の模擬動作周期を進めることを特徴とする請求項４記載のロボットシステム。
【請求項６】
前記各コントローラ部は、異常を検出した場合、同期または協調動作を解除するトリガ信号を同一コントローラ内部の目標指令生成部と他のコントローラ内部の該当するシミュレータエージェント部とへ、前記通信ネットワーク媒体部を介して送信し、
目標指令生成部と該当するシミュレータエージェント部は、同期または協調動作を停止することを特徴とする請求項２乃至５記載のロボットシステム。
【請求項７】
前記各シミュレータ部は、該当ロボットの位置制御部の特性とロボットダイナミクスモデルの特性に基づいて該当ロボットの動作を模擬し、
前記各シミュレータエージェント部は、該当ロボットのシミュレータ部と同じ構造を有し、前記シミュレータ部の特性と該当ロボットの目標指令生成部の特性に基づいて動作を模擬することを特徴とする請求項２乃至６記載のロボットシステム。
【請求項８】
前記各シミュレータ部は、特性が変更された際に該当するシミュレータエージェント部に特性変更値を送信し、
該当するシミュレータエージェント部は、受信した特性変更値にしたがってシミュレータエージェント部の該当する特性を変更することを特徴とする請求項７記載のロボットシステム。
【請求項９】
前記各シミュレータ部とコントローラ内部の該当するシミュレータエージェント部は、一定周期毎にその内部状態と模擬動作値のデータを送受信し、一定期間前記データが受信できない、または受信した前記データの整合性が取れない場合、シミュレータ部は同一コントローラ部内の目標指令生成部に対して同期または協調動作の解除を指示し、模擬動作を停止することを特徴とする請求項２乃至８記載のロボットシステム。
【請求項１０】
前記タイマ同期制御部は、タイマの基準となる水晶発振器の周期の個体間誤差から算出された同期保証期間ごとに起動され、目標指令生成部の前記タイマ起動処理を行うことを特徴とする請求項２乃至９記載のロボットシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のロボット機構部をそれぞれの制御装置が制御し、通信ネットワークに接続された各制御装置がロボット機構部を同期あるいは協調させて所望の作業を実現するロボットシステムに関する。
【０００２】
【従来の技術】
従来、ネットワークに接続された複数の制御装置によってそれぞれのロボット機構部を同期又は協調制御するには、まず、少なくとも１台の制御装置をマスタ制御装置とし、ネットワークに接続された他の制御装置の一部をスレーブ制御装置とし、マスタ制御装置からスレーブ制御装置に位置補間点の生成周期毎にマスタの位置データを送信し、スレーブ制御装置ではそのロボット機構部を受信したマスタ位置データに対して同期又は協調動作するように制御していた（特許文献１および非特許文献１参照）。
【０００３】
【特許文献１】
特開２００１−１５０３７２号公報
【非特許文献１】
小坂、大神田、高橋、加藤著「ロボットネットワーク機能  ロボットリンク」，ＦＡＮＵＣ  Ｔｅｃｈ  Ｒｅｖ，  Ｖｏｌ．１３，  Ｎｏ．１，  ｐｐ．４７−６０，  Ｏｃｔ  ２０００
【０００４】
【発明が解決しようとする課題】
従来の複数ロボットの同期および協調制御装置では、位置補間点の生成周期毎にマスタ制御装置からスレーブ制御装置にマスタ位置データを送信しているため、非常に短い時間間隔でデータを送受信する必要があり、ネットワークの通信負荷を増大させ、他の要因により通信負荷がさらに大きくなった場合には安定した同期又は協調動作を実現できないという問題があった。また、ネットワークが一時的に切断され、すぐに復旧する場合にも動作を継続できないという問題があった。
本発明はこのような問題点に鑑みてなされたものであり、ネットワークの通信負荷を増大させず、他の要因によりネットワークの通信負荷がさらに大きくなった場合でも安定した同期又は協調動作を実現するとともに、ネットワークが一時的に切断されても動作を継続することができる複数ロボットの同期および協調制御システムを提供することを目的とする。
【０００５】
【課題を解決するための手段】
上記問題を解決するため、本発明は、次のように構成したのである。
本発明の請求項１記載のロボットシステムは、複数のロボットと、前記複数ロボットそれぞれに対応したコントローラ部と、前記各コントローラ部を接続する通信ネットワーク媒体部とを有し、前記各コントローラ部は、一定周期毎に位置フィードバックループを構成する位置制御部と、一定周期毎に前記位置制御部に目標指令値を払い出す目標指令生成部と、動作プログラムを解釈し前記目標指令生成部に動作命令を与えるインタプリタ部とを備え、複数ロボットを同期および協調動作させて所望の作業を行うロボットシステムにおいて、前記各コントローラ部は、前記目標指令生成部の指令払い出し周期を各コントローラ間で同期させるタイマ同期制御部と、前記指令払い出し周期に同期して他のロボットの動作を模擬するシミュレータエージェント部と、自身のロボットの動作を模擬するシミュレータ部と、を備えることを特徴とするものである。
【０００６】
本発明の請求項２記載のロボットシステムは、前記目標指令生成部は、前記シミュレータエージェント部が模擬した動作に同期または協調するように目標指令を生成することを特徴とするものである。
【０００７】
本発明の請求項３記載のロボットシステムは、前記各タイマ同期制御部のうち１つをマスタ、その他をスレーブとし、前記マスタから前記各スレーブに対して同期開始トリガ信号を一斉送信し、前記各スレーブでは前記トリガ信号を受信した次の周期を基点として前記目標指令生成部の動作周期を決定するタイマを作動させ、前記マスタでは前記トリガ信号を一斉送信した次の周期を基点として前記目標指令生成部の動作周期を決定するタイマを作動させることを特徴とするものである。
【０００８】
本発明の請求項４記載のロボットシステムは、前記インタプリタ部は、同期または協調動作の開始あるいは終了のトリガ信号を同一コントローラ内部の目標指令生成部と他のコントローラ内部の該当するシミュレータエージェント部とへ、前記通信ネットワーク媒体部を介して送信し、目標指令生成部と前記シミュレータエージェント部は、お互いに次の指令払い出し周期から、同期または協調動作を開始あるいは終了することを特徴とするものである。
【０００９】
本発明の請求項５記載のロボットシステムは、前記インタプリタ部は、前記シミュレータエージェント部に前記トリガ信号を送信する際、インタプリタ部と同一コントローラ部内の目標指令生成部のタイマカウント値をトリガ信号に付随させて送信し、シミュレータエージェント部は、同一コントローラ部内の目標指令生成部のタイマカウント値と受信したタイマカウント値を比較して通信遅れ時間を算出し、前記通信遅れ時間分だけシミュレータエージェント部の模擬動作周期を進めることを特徴とするものである。
【００１０】
本発明の請求項６記載のロボットシステムは、前記各コントローラ部は、異常を検出した場合、同期または協調動作を解除するトリガ信号を同一コントローラ内部の目標指令生成部と他のコントローラ内部の該当するシミュレータエージェント部とへ、前記通信ネットワーク媒体部を介して送信し、目標指令生成部と該当するシミュレータエージェント部は、同期または協調動作を停止することを特徴とするものである。
【００１１】
本発明の請求項７記載のロボットシステムは、前記各シミュレータ部は、該当ロボットの位置制御部の特性とロボットダイナミクスモデルの特性に基づいて該当ロボットの動作を模擬し、前記各シミュレータエージェント部は、該当ロボットのシミュレータ部と同じ構造を有し、前記シミュレータ部の特性と該当ロボットの目標指令生成部の特性に基づいて動作を模擬することを特徴とするものである。
【００１２】
本発明の請求項８記載のロボットシステムは、前記各シミュレータ部は、特性が変更された際に該当するシミュレータエージェント部に特性変更値を送信し、該当するシミュレータエージェント部は、受信した特性変更値にしたがってシミュレータエージェント部の該当する特性を変更することを特徴とするものである。
【００１３】
本発明の請求項９記載のロボットシステムは、前記各シミュレータ部とコントローラ内部の該当するシミュレータエージェント部は、一定周期毎にその内部状態と模擬動作値のデータを送受信し、一定期間前記データが受信できない、または受信した前記データの整合性が取れない場合、シミュレータ部は同一コントローラ部内の目標指令生成部に対して同期または協調動作の解除を指示し、模擬動作を停止することを特徴とするものである。
【００１４】
本発明の請求項１０記載のロボットシステムは、前記タイマ同期制御部は、タイマの基準となる水晶発振器の周期の個体間誤差から算出された同期保証期間ごとに起動され、目標指令生成部の前記タイマ起動処理を行うことを特徴とするものである。
【００１５】
【発明の実施の形態】
以下、本発明の具体的実施例を図に基づいて説明する。
（第１実施例）
図１は、本発明の複数ロボットの同期または協調制御装置の構成図である。図において、１０１はＥｔｈｅｒｎｅｔ（富士ゼロックス社の登録商標）などの通信ネットワーク媒体部である。１０２ａおよび１０２ｂはそれぞれロボットＡ、ロボットＢを制御するコントローラ部である。１０３ａおよび１０３ｂはそれぞれロボットＡ機構部とロボットＢ機構部である。
つぎにコントローラ部の構成について説明する。コントローラ部の基本構成はロボットによらず同じなので、ロボットＡのコントローラ部１０２ａを例に説明し、ロボットＢについては説明を省略する（ａをｂに、ＡをＢに入れ替えればロボットＢについて同様の説明が成り立つ）。
【００１６】
コントローラ部１０２ａの内部において、１０２ａ１は一定周期毎に位置フィードバックループを構成する位置制御部であり、ロボットＡ機構部１０３ａの各アクチュエータに対してパワーを供給してロボットを駆動する。１０２ａ２は一定周期毎に前記位置制御部１０２ａ１に目標指令値を払い出す目標指令生成部である。１０２ａ３はロボットＡに教示された動作プログラムを解釈し、前記目標指令生成部１０２ａ２に動作命令を与えるインタプリタ部である。これら、位置制御部１０２ａ１、目標指令生成部１０２ａ２、インタプリタ部１０２ａ３はコントローラ部１０２ａに実装されたリアルタイムＯＳ上のプロセス（タスク）として動作し、リアルタイムＯＳが管理するタイマ割り込みによって、予め定められた一定周期間隔で動作する。１０２ａ４はシミュレータ部であり、ロボットＡの機械的および電気的ダイナミクスと前記位置制御部１０２ａ１のモデルを有している。目標指令生成部１０２ａ２が位置制御部１０２ａ１だけでなく、シミュレータ部１０２ａ４にも同じ目標指令値を同じタイミングで払い出すことによって、シミュレータ部１０２ａ４はロボットＡの動作をリアルタイムに模擬する。
【００１７】
１０２ａ５はロボットＡと同期または協調動作する他のロボット（図１の例ではロボットＢ）のシミュレータエージェント部である。シミュレータエージェント部１０２ａ５は、ロボットＢの動作を模擬するシミュレータ部１０２ｂ４の代理人（エージェント）として振る舞う。そのため、シミュレータエージェント部１０２ａ５は、ロボットＢのシミュレータ部１０２ｂ４と等価なオブジェクトを内包しており、ロボットＢの目標指令生成部１０２ｂ２の特性を含めてロボットＢの動作を模擬する。また、シミュレータエージェント部１０２ａ５は、実装されているコントローラ部１０２ａの目標指令払い出し周期（目標指令生成部１０２ａ２の動作周期）に同期して動作する。
目標指令生成部１０２ａ２は、シミュレータエージェント部１０２ａ５が生成する他のロボットの動作（位置または速度）に対して同期または協調するように各自の位置制御部に対する目標指令値を計算する。例えば、ロボットＡのＴＣＰ位置を、ロボットＢのＴＣＰ位置に対して一定の相対位置関係（相対速度ゼロ）が成り立つようにシミュレータエージェント部１０２ａ５からロボットＢのＴＣＰ位置フィードバック値を取得してロボットＡのＴＣＰのあるべき位置（目標指令）を一定周期間隔で算出する。
位置制御部１０２ａ１は、目標指令生成部１０２ａ２が計算した協調位置指令に従ってロボットＡ機構部１０３ａが動作するように位置フィードバック制御する。以上説明した各部の動作により、ロボットＡ機構部１０３ａとロボットＢ機構部１０３ｂとの協調動作が実現される。
【００１８】
このように、同期または協調したい他のロボットのシミュレータエージェント部をコントローラ部に実装し、シミュレータエージェント部が模擬する動作を利用して目標指令値を生成するので、ロボットコントローラ間で頻繁に（短い時間間隔で）データ通信することなく、複数ロボット間の同期または協調動作が実現できる。
精度の良い同期または協調動作を実現するためには、シミュレータエージェント部と該当ロボットのシミュレータ部（実際のロボット）の動作が同期する必要がある。図１の１０２ａ６，  １０２ｂ６は、複数のロボットコントローラ部の間で目標指令生成部の同期を取るタイマ制御部である。シミュレータ部とシミュレータエージェント部は目標指令生成部の動作周期に同期して動作するので、目標指令生成部間で同期が保証されれば良い。
【００１９】
図２は、タイマ同期制御部１０２ａ６，  １０２ｂ６が目標指令生成部１０２ａ２，  １０２ｂ２間の同期を取る（動作周期とタイミングを可能な限り合わせる）過程を説明している。
コントローラ部１０２ａ，  １０２ｂが起動され、それぞれでサーボオンされると、位置制御部１０２ａ１，  １０２ｂ１が起動する。図２の２０１ａ，  ２０１ｂは、それぞれ位置制御部１０２ａ１，  １０２ｂ１の動作周期を割り込みにより制御するタイマ（ＣＬＫ）の挙動を示している。タイマの周期は同じであるがその動作タイミング（位相）はずれている。位置制御部が起動されると、タイマ同期制御部１０２ａ６，  １０２ｂ６が起動され、位置制御周期の整数倍の周期で動作を開始する。図２の２０２ａ，  ２０２ｂは、それぞれタイマ同期制御部１０２ａ６，  １０２ｂ６のタイマの挙動を示している。複数のタイマ同期制御部のうち、１つがマスタとなり、残りがスレーブとなる。図２では、ロボットＡのタイマ同期制御部１０２ａ６がマスタとして、マスタスレーブ間の挙動を示している。タイマ同期動作制御部マスタは、タイマ同期制御部スレーブに対して、同期開始トリガ信号２０４を一斉送信する。同期開始トリガ信号を受信したタイマ同期制御部スレーブは、受信したトリガ信号に対するＡＣＫ信号２０５をマスタに対して返信し、次の動作周期を基点として目標指令生成部のタイマを開始させる。一方、タイマ同期制御部マスタでは、同期開始トリガ信号２０４を送信した次の動作周期を基点として目標指令生成部のタイマを開始させる。図２の２０３ａ，  ２０３ｂは開始された目標指令生成部のタイマの挙動を示している。付記された数字の０，１はタイマのカウンタを示している。
【００２０】
また、タイマ同期制御部マスタは、トリガ信号２０４を送信した後、スレーブからのＡＣＫ信号２０５の受信待ちの状態になる。トリガ信号２０４を送信してから、一定周期以内に全てのスレーブからＡＣＫ信号２０５を受信したら、目標指令生成部のタイマ同期が確立したと判断し、タイマ同期制御部は活動を停止する。受信待ちをする期間は、スレーブの数とタイマ同期制御部の動作周期に応じて決定する。また、１つのマスタから複数のスレーブに対して一斉にトリガ信号を送信するには、ＵＤＰマルチキャストなどの通信プロトコルを使用する。
【００２１】
以上説明したようにタイマ同期制御部が動作することによって、目標指令生成部間の動作タイミングのズレを通信ネットワーク媒体部でのデータ送信遅れ以内に納めることができる。同期開始トリガ信号２０４のデータ量は少ない、また、ネットワーク通信負荷の少ない時にタイマ同期制御部を動作させることが可能なので、最小限の遅れ時間を保証することができる。
このようなタイマ同期制御部の働きにより、目標指令生成部間で同期が取れるので、複数ロボット間で同期または協調動作を開始するタイミング（時刻）を合わせることができれば、精度の良い複数ロボット間の同期または協調動作が実現される。
【００２２】
図１に示したインタプリタ部は、教示された動作プログラム内の同期または協調動作命令の開始トリガ信号を同じコントローラ部内の目標指令生成部だけではなく、通信ネットワーク媒体部を介して該当ロボットのシミュレータエージェント部にも同時に送信する。目標指令生成部、シミュレータエージェント部ともに開始トリガ信号を受け取った次の指令払い出し周期から同期または協調動作を開始させる。図３は、この開始トリガ信号の送受信の過程を示している。図３において、２０３ａ，  ２０３ｂは、図２で説明した通り、それぞれコントローラ部１０２ａ，  １０２ｂ（ロボットＡおよびロボットＢ）における目標指令生成部のタイマの挙動を示している。３０１ａ〜３０１ｃの矢印は開始トリガ信号を示している。
【００２３】
ここで、矢印の始点が開始トリガ信号の送信時刻、矢印の終点が開始トリガ信号の受信時刻を示している。また、３０１ａ〜３０１ｃはトリガ信号の転送時間の相違を表している。図３において、３０２はコントローラ部１０２ａの目標指令生成部１０２ａ２が同期・協調動作を開始する時刻を示している。３０３ａ〜３０３ｃは、開始トリガ信号３０１ａ〜３０１ｃのそれぞれに対応したシミュレータエージェント部１０２ｂ５の同期・協調動作開始時刻を示している。３０１ｃに示したように開始トリガ信号の受信が遅れた場合、図２に示した形で目標指令生成部のタイマを同期させた意味がなくなる。そこで、開始トリガ信号に目標指令生成部の送信時のタイマカウント値を付随させる。
【００２４】
図３の例では、タイマカウント値９０が付随される。開始トリガ信号を通信ネットワーク媒体部経由で受信したシミュレータエージェント部では、付随されたタイマカウント値と受信時点でのタイマカウント値を比較し、開始トリガ信号の到着遅れを検出する。例えば、３０１ｃの開始トリガ信号では、開始トリガ信号に付随されたタイマカウント値９０に対して、受信時点での同カウント値は９１であり、１周期分遅れが発生したことが分かる。そして、検出された遅れ分だけシミュレータエージェント部の動作模擬を早めることによって、この通信遅れを相殺する。
【００２５】
このように、実際のロボットの動作ではなく、シミュレータエージェントの模擬動作に対して同期・協調制御を実施するので、通信遅れの相殺が可能になり、通信ネットワーク媒体部の負荷状態によらず、常に安定した同期または協調動作が実現できる。
ホールドボタンや非常停止ボタンが押された、サーボアンプ部のエラーなどコントローラ部に何らかの異常が発生した場合、コントローラ部は、直ちに同一コントローラ内部の目標指令生成部と、他コントローラ内部の該当するシミュレータエージェント部に対して、同期・協調動作の解除トリガ信号を送信し、解除トリガ信号を受信した目標指令生成部は同期・協調制御を解除し、同じく解除トリガ信号を受信したシミュレータエージェント部は動作模擬を停止する。
【００２６】
（第２実施例）
各コントローラ部内のシミュレータ部（図１の１０２ａ４，  １０２ｂ４）が出力する模擬動作データと実機ロボット機構から得られる実機動作データを比較することによって、位置制御部の内部パラメータやシミュレータ内部のモデルパラメータを適応的に調整することができる。このようなシミュレータ部を利用した適用制御を実施する場合、内部パラメータが変更されたシミュレータ部は、他コントローラ内部の該当するシミュレータエージェント部に対して、変更されたパラメータ種類とその変更値を送信する。一方、パラメータ変更値を受信した該当シミュレータエージェント部では、該当するパラメータを受信した値に変更する。
このようにシミュレータ部とそのエージェント部が内部状態の整合性を保つことによって、常に高精度な同期または協調動作を実現できる。
【００２７】
（第３実施例）
第１の実施例で説明したように、本発明では、各ロボットはシミュレータエージェント部が模擬する動作に対して同期または協調制御を実施するので、一度、同期・協調制御状態になれば、ロボットコントローラ間で位置情報などのデータの送受信をすることなく、同期・協調動作を継続できる。したがって、通信ネットワークが一時的に切断された場合でも、動作を継続できる。しかし、あまりにも長時間ネットワークの切断状態を許容すると、一部のロボットが非常停止した場合に対応できなくなる。
そこで、シミュレータ部と該当するシミュレータエージェント部は、一定時間ごとに通信ネットワーク媒体部を介して通信を行い、ネットワークの接続状況を確認する。一定期間、通信ができない場合は、シミュレータ部は同一コントローラ部内の目標指令生成部に対して同期・協調制御の解除を指示し、シミュレータエージェント部は自身の模擬動作を停止する。
【００２８】
また、シミュレータ部とシミュレータエージェント部が通信を行う際、シミュレータの内部状態や計算（模擬）したロボット動作などのデータを送受信し、お互いの整合性をチェックする。内部状態や計算したロボット動作が大きく食い違っている場合は、どちらかのコントローラ部に何らかの不具合が発生したと考えられるので、このような場合も上述したように同期・協調動作の解除と模擬動作の停止を行う。
このように、シミュレータ部とシミュレータエージェント部が一定時間ごとにデータ通信を行うことにより、システム（通信ネットワーク媒体部とコントローラ部）の異常を検出して同期・協調動作を安全に解除することができる。
【００２９】
（第４実施例）
図２に示したタイマ同期制御部の働きにより、複数ロボット間で目標指令生成部の同期が取られ、この同期が取れている限り、精度の良い同期・協調制御が実現される。しかしながら、各コントローラ部のタイマの基準となる水晶発振器には、個体間で振動周期に誤差があるため、長時間経過すると同期が次第にずれてくる。そこで、水晶発振器の振動周期誤差から同期が保証される期間を算出し、その期間毎に上述したタイマ同期制御部を起動し、タイマ同期処理を行う。
このようにすることによって、長時間経過しても安定した複数ロボット間の同期・協調動作を実現できる。
【００３０】
【発明の効果】
以上述べたように、本発明の複数ロボットの同期または協調制御装置によれば、
同期または協調させる他のロボットのシミュレータエージェント部をコントローラ部に実装し、シミュレータエージェント部が模擬する動作を利用して目標指令値を生成するので、ロボットコントローラ間で頻繁にデータ通信することない。したがって、ネットワークの通信負荷を増大させることがなく、また、他の要因により通信負荷が増大した場合でも安定した複数ロボット間の同期または協調動作が実現できるという効果がある。
また、本発明では、同期・協調制御を開始する前にタイマ同期制御部が複数コントローラ間でタイマの同期を取っておくので、精度の良い複数ロボット間の同期または協調動作が実現できるという効果がある。
また、本発明では、実際のロボットの動作ではなく、シミュレータエージェント部の模擬動作に対して同期・協調制御するので、同期・協調制御の開始トリガの通信遅れを相殺でき、通信ネットワークの負荷状態によらず、常に安定した同期または協調動作が実現できるという効果がある。
また、本発明では、シミュレータ部とシミュレータエージェント部が一定時間ごとにデータ通信を行い、内部状態の整合性を保つので、常に高精度な同期または協調動作を実現でき、同時に内部状態の極端な不一致からシステム（通信ネットワーク媒体とコントローラ）の異常を検出して同期・協調動作を安全に解除することができるという効果がある。
さらに、本発明では、水晶発振器の振動周期誤差から同期が保証される期間を算出し、その期間毎にタイマ同期制御を行うので、長時間経過しても安定した複数ロボット間の同期・協調動作を実現できるという効果もある。
【図面の簡単な説明】
【図１】本発明の複数ロボットの同期または協調制御システムの構成図
【図２】本発明のタイマ同期制御の動作過程を説明する図
【図３】本発明の同期または協調制御の開始処理を説明する図
【符号の説明】
１０１    通信ネットワーク媒体部
１０２ａ，  １０２ｂ  コントローラ部
１０２ａ１，  １０２ｂ１  位置制御部
１０２ａ２，  １０２ｂ２  目標指令生成部
１０２ａ３，  １０２ｂ３  インタプリタ部
１０２ａ４，  １０２ｂ４  シミュレータ部
１０２ａ５，  １０２ｂ５  シミュレータエージェント部
１０２ａ６，  １０２ｂ６  タイマ同期制御部
１０３ａ，  １０３ｂ  ロボット機構部
２０１ａ，  ２０１ｂ  位置制御部のタイマ
２０２ａ，  ２０２ｂ  タイマ同期制御部のタイマ
２０３ａ，  ２０３ｂ  目標指令生成部のタイマ
２０４同期開始トリガ信号
２０５    ＡＣＫ信号
３０１ａ，  ３０１ｂ，  ３０１ｃ  開始トリガ信号
３０２ロボットＡでの同期・協調動作開始時刻
３０３ａ，  ３０３ｂ，  ３０３ｃ  ロボットＢでの同期・協調動作開始時刻
【図１】
2005014150.tif 000003
【図２】
2005014150.tif 000004
【図３】
2005014150.tif 000005