(57)【要約】【課題】  制御ユニット間で直接に障害発生通知を授受するとともに、障害発生通知を元にホストコントローラにて決定した制御ユニット全体での障害対応を各制御ユニットで実施することができる、柔軟性の高い協調制御が可能なロボット及びユニットコントローラ及び制御ユニット間協調制御方法を提供する。【解決手段】  ユニットコントローラ１３１に、障害パラメータと、他の制御ユニットからの障害発生通知と、ホストコントローラからの障害対応指令に基づき、自身の制御ユニット１３０の障害への対応を決め処理を実行する障害対応手段判定部１３７を備える。【選択図】図１
2010214503.tif 000002
【特許請求の範囲】
【請求項１】
アクチュエータを制御するユニットコントローラを備える制御ユニットの複数が、互いにネットワークで接続されて構成されるロボットにおいて、
前記ユニットコントローラに、他の前記制御ユニットから受信する障害発生通知に対する対応手段を示す障害対応パラメータと、
他の前記制御ユニットへ障害発生通知を送信する通信処理部と、
他の前記制御ユニットから受信した前記障害発生通知、及び前記障害対応パラメータの値により自身の前記制御ユニットの障害対応手段を決定する障害対応手段判定部を備えることを特徴とするロボット。
【請求項２】
前記ロボットに前記制御ユニット全体を制御するホストコントローラを備え、
前記ユニットコントローラに、前記ホストコントローラへ前記障害発生通知を送信する前記通信処理部を備え、
前記ホストコントローラに、前記障害発生通知に基づき、前記制御ユニットに対する障害対応指令を作成する障害対応指令作成部と、
前記障害対応指令を前記制御ユニットに送信する通信処理部を備え、
前記ユニットコントローラが、前記障害発生通知、前記障害対応パラメータ及び前記障害対応指令に基づき、障害への対応を決め処理を実行することを特徴とする請求項１記載のロボット。
【請求項３】
前記ホストコントローラは、前記ユニットコントローラに対する動作指令を作成する動作指令作成部と、前記障害対応パラメータを作成する障害対応パラメータ作成部とを備え、
前記ユニットコントローラは、前記障害対応パラメータを更新する障害対応パラメータ更新部を備え、
前記ホストコントローラが、前記動作指令に応じた前記障害対応パラメータを作成し、前記ユニットコントローラへ送信し、
前記ユニットコントローラが、前記ホストコントローラから受信した前記障害対応パラメータをもって、自身の前記障害対応パラメータを更新することを特徴とする請求項２記載のロボット。
【請求項４】
前記障害対応パラメータは、前記障害発生通知を受信後の前記制御ユニットの速度変更値、及び前記障害対応動作の継続時間を含むことを特徴とする請求項１乃至請求項２乃至請求項３に記載のロボット。
【請求項５】
前記障害発生通知は、発生した障害に関わる情報を含むことを特徴とする請求項１乃至請求項２乃至請求項３乃至請求項４に記載のロボット。
【請求項６】
前記障害対応指令生成部は、前記障害発生通知を受信後、発生した障害の重要度を判別して、重要度に応じた障害への対応を決めて処理を実行することを特徴とする請求項１乃至請求項２乃至請求項３乃至請求項４乃至請求項５に記載のロボット。
【請求項７】
アクチュエータを制御するユニットコントローラを備える制御ユニットの複数が、互いにネットワークで接続されて構成されるロボットのユニットコントローラにおいて、
他の前記制御ユニットからの障害発生通知への対応を示す障害対応パラメータと、
他の前記制御ユニットへ前記障害発生通知を送信する通信処理部と、
他の前記制御ユニットから受信した前記障害発生通知、前記障害対応パラメータに基づき障害への対応を決め処理を実行する障害対応手段判定部を備えることを特徴とするユニットコントローラ。
【請求項８】
前記ロボットに前記制御ユニット全体を制御するホストコントローラを備え、
前記ユニットコントローラに、前記ホストコントローラから受信した障害対応指令を処理する前記障害対応手段判定部を備え、
前記ユニットコントローラが、他の前記制御ユニットから受信した前記障害発生通知、前記障害対応パラメータ及び前記障害対応指令に基づき自身の前記制御ユニットの障害への対応を決め処理を実行することを特徴とする請求項７記載のユニットコントローラ。
【請求項９】
前記ホストコントローラは、前記ユニットコントローラに対する動作指令を作成する動作指令作成部と、前記障害対応パラメータを作成する障害対応パラメータ作成部とを備え、
前記ユニットコントローラは、前記障害対応パラメータを更新する障害対応パラメータ更新部を備え、
前記ホストコントローラが、前記動作指令に応じた前記障害対応パラメータを作成し、前記ユニットコントローラへ送信し、
前記ユニットコントローラが、前記ホストコントローラから受信した前記障害対応パラメータをもって、自身の前記障害対応パラメータを更新することを特徴とする請求項８記載のユニットコントローラ。
【請求項１０】
前記障害対応パラメータは、前記障害発生通知を受信後の前記制御ユニットの速度変更値、及び前記障害対応動作の継続時間を含むことを特徴とする請求項７乃至請求項８乃至請求項９に記載のユニットコントローラ。
【請求項１１】
前記障害発生通知は、発生した障害に関わる情報を含むことを特徴とする請求項７乃至請求項８乃至請求項９乃至請求項１０に記載のユニットコントローラ。
【請求項１２】
前記障害対応指令生成部は、前記障害発生通知を受信後、発生した障害の重要度を判別して、重要度に応じた障害への対応を決めて処理を実行することを特徴とする請求項７乃至請求項８乃至請求項９乃至請求項１０乃至請求項１１に記載のユニットコントローラ。
【請求項１３】
アクチュエータを制御するユニットコントローラを備える制御ユニットの複数が、互いにネットワークで接続されて構成されるロボットの制御ユニット間協調制御方法において、
前記ユニットコントローラは、他の前記制御ユニットからの障害発生通知に対する対応を示す障害対応パラメータを保持し、
前記制御ユニットで障害が発生した場合に、前記制御ユニットは他の前記制御ユニットへ前記障害発生通知を送信し、
前記ユニットコントローラは、他の前記制御ユニットから受信した前記障害発生通知、及び前記障害発生パラメータの値により自身の前記制御ユニットの障害への対応を決め処理を実行する、という手順で処理することを特徴とする制御ユニット間協調制御方法。
【請求項１４】
前記ロボットに前記制御ユニット全体を制御するホストコントローラを備え、
前記ユニットコントローラが、他の前記制御ユニット及び前記ホストコントローラへ前記障害発生通知を送信し、
前記ホストコントローラが、受信した前記障害発生通知に基づき障害対応指令を作成し、前記制御ユニットに送信し、
前記制御ユニットの前記ユニットコントローラが、他の前記制御ユニットから受信した前記障害発生通知、前記障害対応パラメータ及び前記障害対応指令に基づき自身の前記制御ユニットの障害への対応を決めることを特徴とする請求項１３記載の制御ユニット間協調制御方法。
【請求項１５】
前記ホストコントローラは、前記ユニットコントローラに対する動作指令を作成する動作指令作成部と、前記障害対応パラメータを作成する障害対応パラメータ作成部とを備え、
前記ユニットコントローラは、前記障害対応パラメータを更新する障害対応パラメータ更新部を備え、
前記ホストコントローラが、前記動作指令に応じた前記障害対応パラメータを作成し、前記ユニットコントローラへ送信し、
前記ユニットコントローラが、前記ホストコントローラから受信した前記障害対応パラメータをもって、自身の前記障害対応パラメータを更新することを特徴とする請求項１４記載の制御ユニット間協調制御方法。
【請求項１６】
前記障害発生パラメータは、前記障害発生通知を受信後の前記制御ユニットの速度変更値、及び前記障害対応動作の継続時間を含むことを特徴とする請求項１３乃至請求項１４乃至請求項１５に記載の制御ユニット間協調制御方法。
【請求項１７】
前記障害発生通知は、発生した障害に関わる情報を含むことを特徴とする請求項１３乃至請求項１４乃至請求項１５乃至請求項１６に記載の制御ユニット間協調制御方法。
【請求項１８】
前記障害対応指令生成部は、前記障害発生通知を受信後、発生した障害の重要度を判別して、重要度に応じた障害への対応を決めて処理を実行することを特徴とする請求項１３乃至請求項１４乃至請求項１５乃至請求項１６乃至請求項１７に記載の制御ユニット間協調制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットを構成する複数の制御ユニットを協調制御する方法に関する。
【背景技術】
【０００２】
今日、ロボットはその制御の高度化、大規模化などの要因により、複数の制御ユニットへ分割され、各制御ユニットとそれらを統括制御するホストコントローラとが互いにネットワークで接続されたいわゆる分散システムへと構成が変化してきている。
例えば、移動手段を持った双腕ロボットの場合、移動手段を担う移動ユニットおよび右腕ユニット、左腕ユニットの合計３つの制御ユニットへと分割される。そしてそれぞれの制御ユニットには、制御ユニット内のアクチュエータやセンサ、各種ＩＯを制御するユニットコントローラが備えられている。これら３つのユニットコントローラと、各制御ユニットを統括制御するホストコントローラとが互いにネットワークで接続される。
このようなロボットにおいては、ロボット全体の動きはホストコントローラによって管理される。何かある作業を実施するために同期を取りながら両腕を同時に制御する必要がある場合、ホストコントローラは右腕ユニットコントローラと左腕ユニットコントローラへ同期を取りながら所望の動作を実現する移動指令を送信する。
ところで、分散型の制御装置に限らず、一般的に、制御装置で何らかの障害が発生した場合に、いかに迅速に障害への対応手段を決定し、いかにシステム全体の動作を停止させずに作業効率を向上させるかといった課題が存在する。
そして、特に上述したような分散型の制御装置においては、分散された制御ユニットにて障害が発生したことを他の制御ユニットに伝達し、各制御ユニット間で効果的に協調して障害に対応させる方法について検討する必要がある。
例えば、上述した移動手段を持った双腕ロボットで障害が発生した場合を考えてみる。右腕ユニットと左腕ユニットが同期を取りながら物体をつかみ、移動ユニットが前進している際に、右腕ユニットにて障害が発生した場合、右腕ユニット及び左腕ユニットがつかんだ物体を落とすことなく、しかも、発生した障害情報に応じて双腕ロボット全体として最適な障害対応動作を決定し、各制御ユニットへ伝達することが、双腕ロボット自身の作業効率を向上させることとなる。
【０００３】
このような課題に対して、従来ではユニットコントローラによって制御されている制御ユニット内のアクチュエータの駆動装置にて障害が発生した場合に、ユニットコントローラを介さずに、他の駆動装置へ直接障害発生を通知し、各駆動装置を非常停止させているものがある（例えば、特許文献１参照）。
図７は特許文献１の方法をロボットに適用した場合のロボットの構成を示すブロック図である。図７において、４００はホストコントローラ、４０３はイーサネット(登録商標）、４１０は制御ユニットの右腕ユニット、４１１は右腕ユニットのユニットコントローラ、４２０は制御ユニットの左腕ユニット、４２１は左腕ユニットのユニットコントローラ、４３０は制御ユニットの移動ユニット、４３１は移動ユニットのユニットコントローラである。４０１はホストコントローラ４００のモーション指令作成部、４０２は通信処理部である。また、４３２はユニットコントローラ４３１の通信処理部、４３３はモーション制御部、４３４は自身の障害発生を監視し、障害が発生したとき他の制御ユニットに通知する障害発生監視部、４３５は他の制御ユニットの状態情報を処理する状態情報処理部、４３６は非常停止処理部、４３７はサーボネットワーク、４３８はサーボドライブである。なお、この図において、右腕ユニット４１０および左腕ユニット４２０の構成要素はすべて、移動ユニット４３０と同じであるので説明は省略する。
この構成では、特許文献１に記載のコントローラと駆動装置の関係は、ホストコントローラ４００と制御ユニット４１０〜４３０の関係に相当する。
この構成において、例えば右腕ユニット４１０に障害が発生した場合、まず右腕ユニット４１０は他の制御ユニット、つまり、左腕ユニット４２０と移動ユニット４３０へ障害発生通知を送信する。各制御ユニット４２０および４３０は、右腕ユニット４１０からの障害発生通知を受信し、右腕ユニット４１０の状態情報処理部４３５にて非常停止することを選択し、非常停止処理部４３６を経由してモーション制御手段４３３にて非常停止を実行する。
このように、特許文献１に係る従来の制御システムでは、制御ユニットで発生した障害を直接他の制御ユニットへ送信し、各制御ユニットは障害が発生した制御ユニットの状態情報から非常停止手段を判定して、実行する、という手順がとられていた。
【０００４】
また、障害の発生した制御ユニットがまず自らをリセットし、その後ホストコントローラへ障害発生通知を送信して、ホストコントローラからの指令により制御ユニットの障害に対応させているものもある（例えば、特許文献２参照）。
図８は、特許文献２の方法をロボットに適用した場合のロボットの構成を示すブロック図である。図８において、５００はホストコントローラ、５０４はイーサネット、５１０は制御ユニットで、ロボットの右腕を制御する右腕ユニット、５１１は右腕ユニットのユニットコントローラ、５２０は制御ユニットで、ロボットの左腕を制御する左腕ユニット、５２１は左腕ユニットのユニットコントローラ、５３０は制御ユニットで、ロボット全体の移動制御を行なう移動ユニット、５３１は移動ユニットのユニットコントローラである。５０１はホストコントローラ５００の中にあり、モーション指令を作成するモーション指令作成部、５０２は通信制御を行なう通信処理部、５０３は障害時の復旧を処理する障害復旧処理部である。また、５３２はユニットコントローラ５３１の通信処理部、５３３はモーション制御を行なうモーション制御部、５３４は障害発生を監視し、障害が発生したときホストコントローラに通知する障害発生監視部、５３５はサーボネットワーク、５３６はサーボドライブである。なお、図８において、右腕ユニット５１０および左腕ユニット５２０の構成要素はすべて、移動ユニット５３０と同じであるので説明は省略する。
この構成では、特許文献２に記載のホストコンピュータとＮＣ装置の関係は、ホストコントローラ５００と制御ユニット５１０〜５３０の関係に相当する。
この構成において、例えば右腕ユニット５１０に障害が発生した場合、まず右腕ユニット５１０は、自らに対してリセット処理を実施し、その後、ホストコントローラ５００へ障害発生通知を送信する。ホストコントローラ５００は、右腕ユニット５１０からの障害発生通知を受信し、障害復旧処理部５０３にて各制御ユニットに対する障害復旧手段を選択し、各制御ユニットへ通知する。各制御ユニットはホストコントローラ５００からの障害復旧手段を受信し、モーション制御手段５３３にて実行する。
このように、特許文献２に係る従来の制御システムでは、制御ユニットで発生した障害に対してまず自らをリセットし、その後ホストコントローラへ障害発生通知を送信し、ホストコントローラから他の制御ユニットへ通知して障害へ対応する、という手順がとられていた。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−１７６４９３号公報（請求項１、第４―５頁、図１）
【特許文献２】特許第２８２０１９０号公報（請求項４、第７―８頁、図１２）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１における従来の協調制御方法をロボットに適用すると、他の制御ユニットも非常停止動作を開始するため、右腕ユニットにて発生した障害の程度がいかなるものであっても、左腕ユニットも移動ユニットも同様に非常停止動作を開始することとなる。しかしこの場合、移動ユニットは右腕ユニットのみの状態に従って対応することとなり、ロボット全体としては最適な対応ではないかもしれず、作業効率を低下させてしまうといった問題もあった。
一方、この問題の解決策として特許文献２における従来の協調制御方法を前述した双腕ロボットに適用するならば、障害が発生した制御ユニットは、まず自らをリセットし、その後ホストコントローラへ障害発生を通知し、ホストコントローラで障害対応手段が決定され、制御ユニットへ伝達されるというという手順をとることになる。この場合、ユニット全体を統括制御しているホストコントローラがロボット全体の状態に基づいて障害対応手段を決定できるため、ロボットとして最適な手段を選択することが可能となる。
しかし、一方で、制御ユニットがまず自らをリセットするため、リセットが不要なほど軽微な障害であっても、リセットによりユニットが停止することとなり、ロボット全体として作業効率を低下させてしまうという問題がある。しかも、制御ユニットがホストコントローラからの障害対応手段を受信するまで待つ必要があるため、障害対応作業を開始するまでの時間が、ホストコントローラにおける障害発生通知を受信してから障害対応手段の送信までの処理時間に影響を受けるという問題があった。特に近年、ホストコントローラには、豊富なユーザインタフェースを特徴とするMicrosoft社製Windows（登録商標）オペレーティングシステムを採用するものもあり、このようなリアルタイム処理には対応していないオペレーティングシステム上にて、前述した障害対応手段判定処理を実行しようとした場合、Windowsオペレーティングシステム上の他のタスク処理が優先されて、障害対応手段を送信するまでの時間が延びてしまい、制御ユニットがリセット状態のまま停止してしまい、最適な障害対応動作を開始できないという問題があった。
本発明はこのような問題点に鑑みてなされたものであり、発生した障害に対してより迅速かつ最適な協調制御が可能なロボット及びユニットコントローラ及び制御ユニット間協調制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記問題を解決するため、本発明は、次のようにしたのである。
請求項１に記載の発明は、アクチュエータを制御するユニットコントローラを備える制御ユニットの複数が、互いにネットワークで接続されて構成されるロボットにおいて、
前記ユニットコントローラに、他の前記制御ユニットから受信する障害発生通知に対する対応手段を示す障害対応パラメータと、
他の前記制御ユニットへ障害発生通知を送信する通信処理部と、
他の前記制御ユニットから受信した前記障害発生通知、及び前記障害対応パラメータの値により自身の前記制御ユニットの障害対応手段を決定する障害対応手段判定部を備えることを特徴とするものである。
また、請求項２に記載の発明は、請求項１に記載のロボットにおいて、前記ロボットに前記制御ユニット全体を制御するホストコントローラを備え、
前記ユニットコントローラに、前記ホストコントローラへ前記障害発生通知を送信する前記通信処理部を備え、
前記ホストコントローラに、前記障害発生通知に基づき、前記制御ユニットに対する障害対応指令を作成する障害対応指令作成部と、
前記障害対応指令を前記制御ユニットに送信する通信処理部を備え、
前記ユニットコントローラが、前記障害発生通知、前記障害対応パラメータ及び前記障害対応指令に基づき、障害への対応を決め処理を実行することを特徴とするものである。
また、請求項３に記載の発明は、請求項２に記載のロボットにおいて、前記ホストコントローラに、前記ユニットコントローラに対する制御指令を処理する制御指令処理部を備え、
前記ユニットコントローラに、前記ユニットコントローラに対する動作指令を作成する動作指令作成部と、前記障害対応パラメータを更新する障害対応パラメータ更新部を備え、
前記ホストコントローラが、前記障害対応パラメータの設定を含む前記制御指令を処理し、前記ユニットコントローラへ送信し、
前記ユニットコントローラが、前記ホストコントローラから受信した前記障害対応パラメータをもって、自身の前記障害対応パラメータを更新することを特徴とするものである。
また、請求項４に記載の発明は、請求項１乃至請求項２乃至請求項３に記載のロボットにおいて、前記障害対応パラメータは、前記障害発生通知を受信後の前記制御ユニットの速度変更値、及び前記障害対応動作の継続時間を含むことを特徴とするものである。
また、請求項５に記載の発明は、請求項１乃至請求項２乃至請求項３乃至請求項４に記載のロボットにおいて、前記障害発生通知は、発生した障害に関わる情報を含むことを特徴とするものである。
また、請求項６に記載の発明は、請求項１乃至請求項２乃至請求項３乃至請求項４乃至請求項５に記載のロボットにおいて、前記障害対応指令生成部は、前記障害発生通知を受信後、発生した障害の重要度を判別して、重要度に応じた障害への対応を決めて処理を実行することを特徴とする。
【０００８】
また、請求項７に記載の発明は、アクチュエータを制御するユニットコントローラを備える制御ユニットの複数が、互いにネットワークで接続されて構成されるロボットのユニットコントローラにおいて、
他の前記制御ユニットからの障害発生通知への対応を示す障害対応パラメータと、
他の前記制御ユニットへ前記障害発生通知を送信する通信処理部と、
他の前記制御ユニットから受信した前記障害発生通知、前記障害対応パラメータに基づき障害への対応を決め処理を実行する障害対応手段判定部を備えることを特徴とするものである。
また、請求項８に記載の発明は、請求項７に記載のユニットコントローラにおいて、前記ロボットに前記制御ユニット全体を制御するホストコントローラを備え、
前記ユニットコントローラに、前記ホストコントローラから受信した障害対応指令を処理する前記障害対応手段判定部を備え、
前記ユニットコントローラが、他の前記制御ユニットから受信した前記障害発生通知、前記障害対応パラメータ及び前記障害対応指令に基づき自身の前記制御ユニットの障害への対応を決め処理を実行することを特徴とするものである。
また、請求項９に記載の発明は、請求項７に記載のユニットコントローラにおいて、前記ホストコントローラに、前記ユニットコントローラに対する制御指令を処理する制御指令処理部とを備え、
前記ユニットコントローラに、前記障害対応パラメータを更新する障害対応パラメータ更新部を備え、
前記ホストコントローラが、前記障害対応パラメータの設定を含む前記制御指令を処理し、前記ユニットコントローラへ送信し、
前記ユニットコントローラが、前記ホストコントローラから受信した前記障害対応パラメータをもって、自身の前記障害対応パラメータを更新することを特徴とするものである。
また、請求項１０に記載の発明は、請求項７乃至請求項８乃至請求項９に記載のユニットコントローラにおいて、前記障害対応パラメータは、前記障害発生通知を受信後の前記制御ユニットの速度変更値、及び前記障害対応動作の継続時間を含むことを特徴とするものである。
また、請求項１１に記載の発明は、請求項７乃至請求項８乃至請求項９乃至請求項１０に記載のユニットコントローラにおいて、前記障害発生通知は、発生した障害に関わる情報を含むことを特徴とするものである。
また、請求項１２に記載の発明は、請求項７乃至請求項８乃至請求項９乃至請求項１０乃至請求項１１に記載のユニットコントローラにおいて、前記障害対応指令生成部は、前記障害発生通知を受信後、発生した障害の重要度を判別して、重要度に応じた障害への対応を決めて処理を実行することを特徴とするものである。
【０００９】
また、請求項１３に記載の発明は、アクチュエータを制御するユニットコントローラを備える制御ユニットの複数が、互いにネットワークで接続されて構成されるロボットの制御ユニット間協調制御方法において、
前記ユニットコントローラは、他の前記制御ユニットからの障害発生通知に対する対応を示す障害対応パラメータを保持し、
前記制御ユニットで障害が発生した場合に、前記制御ユニットは他の前記制御ユニットへ前記障害発生通知を送信し、
前記ユニットコントローラは、他の前記制御ユニットから受信した前記障害発生通知、及び前記障害発生パラメータの値により自身の前記制御ユニットの障害への対応を決め処理を実行する、という手順で処理することを特徴とするものである。
また、請求項１４に記載の発明は、請求項１３に記載の制御ユニット間協調制御方法において、前記ロボットに前記制御ユニット全体を制御するホストコントローラを備え、
前記ユニットコントローラが、他の前記制御ユニット及び前記ホストコントローラへ前記障害発生通知を送信し、
前記ホストコントローラが、受信した前記障害発生通知に基づき障害対応指令を作成し、前記制御ユニットに送信し、
前記制御ユニットの前記ユニットコントローラが、他の前記制御ユニットから受信した前記障害発生通知、前記障害対応パラメータ及び前記障害対応指令に基づき自身の前記制御ユニットの障害への対応を決めることを特徴とするものである。
また、請求項１５に記載の発明は、請求項１４に記載の制御ユニット間協調制御方法において、前記ホストコントローラに、前記ユニットコントローラに対する制御指令を処理する制御指令処理部を備え、
前記ユニットコントローラに、前記障害対応パラメータを更新する障害対応パラメータ更新部を備え、
前記ホストコントローラが、前記障害対応パラメータの設定を含む前記制御指令を処理し、前記ユニットコントローラへ送信し、
前記ユニットコントローラが、前記ホストコントローラから受信した前記障害対応パラメータをもって、自身の前記障害対応パラメータを更新することを特徴とするものである。
また、請求項１６に記載の発明は、請求項１３乃至請求項１４乃至請求項１５に記載の制御ユニット間協調制御方法において、前記障害発生パラメータは、前記障害発生通知を受信後の前記制御ユニットの速度変更値、及び前記障害対応動作の継続時間を含むことを特徴とするものである。
また、請求項１７に記載の発明は、請求項１３乃至請求項１４乃至請求項１５乃至請求項１６に記載の制御ユニット間協調制御方法において、記障害発生通知は、発生した障害に関わる情報を含むことを特徴とするものである。
また、請求項１８に記載の発明は、請求項１３乃至請求項１４乃至請求項１５乃至請求項１６乃至請求項１７に記載の制御ユニット間協調制御方法において、前記障害対応指令生成部は、前記障害発生通知を受信後、発生した障害の重要度を判別して、重要度に応じた障害への対応を決めて処理を実行することを特徴とするものである。
【発明の効果】
【００１０】
請求項１、７、１３に記載の発明によると、各制御ユニットはそれぞれ、他の制御ユニットにて発生した障害発生通知を受信したとき、障害対応パラメータの障害対応動作に従って即座に動作を開始できるので、迅速な協調制御が可能となる。
さらに、請求項２、８、１４に記載の発明によると、各制御ユニットは、他の制御ユニットからの障害発生通知に加えて、ホストコントローラからロボット全体として最適な障害対応指令を受信するため、発生した障害に対して迅速かつ最適な協調制御が可能となる。
さらに、請求項３、９、１５に記載の発明によると、各制御ユニットは、他の制御ユニットからの障害発生通知及び、ホストコントローラからロボット全体として最適な障害対応指令に加えて、与えられた制御指令プログラムに記述された障害対応パラメータ更新指令をホストコントローラから受信し障害対応パラメータを更新するため、動作指令ごとに適切な障害対応パラメータを設定することが可能となり、発生した障害に対して迅速かつ柔軟な協調制御が可能となる。さらに、請求項４、１０、１６に記載の発明によると、障害対応パラメータは速度変更値、及び対応動作の継続時間を含むので、制御ユニットは、他の制御ユニットからの障害発生通知に対しては即座に指定された速度変更値で動作すると共に、障害対応パラメータに記述された動作継続時間を限度として、ホストコントローラからロボット全体にとって最適な対応指令を受信するまで待つことが可能となるので、迅速かつ最適な協調制御が可能となる。さらに、請求項５、６、１１、１２、１７、１８に記載の発明によると、障害発生通知には、他の制御ユニットで発生した障害に関わる情報を含んでいるので、障害発生通知を受信した制御ユニットは他の制御ユニットで発生した障害に応じて対応を決めて処理を実行することが可能となるので、発生した障害に対して柔軟で最適な協調制御が可能となる。
【図面の簡単な説明】
【００１１】
【図１】本発明のロボットの構成を示すブロック図
【図２】各制御ユニットにおいて保存される障害対応パラメータを示す図
【図３】本発明のロボットにおけるユニットコントローラの通信処理部および障害対応手段判定部の処理手順を示すフローチャート
【図４】ホストコントローラに与えられる動作指令プログラム例
【図５】障害発生時に他の制御ユニットに送信する障害コード例
【図６】ユニットコントローラが保持する障害コードテーブル例
【図７】従来の特許文献１の方法をロボットに適用した場合のロボットの構成を示すブロック図
【図８】従来の特許文献２の方法をロボットに適用した場合のロボットの構成を示すブロック図
【発明を実施するための形態】
【００１２】
以下、本発明の方法の具体的実施例について、図に基づいて説明する。
【実施例１】
【００１３】
図１は、本発明のロボットの構成を示すブロック図である。図１においてロボットはホストコントローラ１００と、制御ユニットで、ロボットの右腕を制御する右腕ユニット１１０と、制御ユニットで、ロボットの左腕を制御する左腕ユニット１２０と、制御ユニットで、ロボット全体の移動制御を行なう移動ユニット１３０と、それらを接続するイーサネット１０５から構成されている。ホストコントローラ１００は、制御ユニットからの障害発生通知を受け障害対応指令を作成する障害対応指令作成部１０１と、通信制御を行なう通信処理部１０２と、各ユニットコントローラへの制御指令を処理する制御指令処理部１０３を備えている。右腕ユニット１１０、左腕ユニット１２０および移動ユニット１３０は、それぞれユニットコントローラ１１１、１２１、１３１を内蔵し、各ユニットコントローラはユニットコントローラ１３１を例に挙げると、通信処理部１３２と、モーション制御を行なうモーション制御部１３３と、障害発生を監視し、障害が発生したとき他の制御ユニットに通知する障害発生監視部１３４と、障害対応パラメータ１３６と、ホストコントローラ１００から受信した障害対応パラメータで、自身の障害対応パラメータ１３６を更新する障害対応パラメータ更新部１３５と、障害への対応手段を判定する障害対応手段判定部１３７とを備え、サーボネットワーク１３８に接続されている複数のサーボドライブ１３９を制御している。なお、この図において、右腕ユニット１１０および左腕ユニット１２０の構成要素はすべて、移動ユニット１３０と同じであるので説明は省略する。
このようなシステムにおいて、ホストコントローラ１００は、図４に示すような動作指令プログラムを処理して、各動作指令をそれぞれの制御ユニットへ送信する。
それぞれの制御ユニットは、ホストコントローラ１００から受信した制御指令が障害対応パラメータ更新であれば、障害対応パラメータ更新部にて実行し、モーション指令であればモーション制御部にて実行する。
また、右腕ユニット１１０にて障害発生監視部が何らかの障害を検出した場合、通信処理部を通じて障害発生通知が送信される。このとき右腕ユニット１１０は障害発生通知と同時に図５に示すような自身の制御ユニットタイプと障害の内容を表す障害コードを記載した障害情報データを併せて左腕ユニット１２０および移動ユニット１３０に送信する。
一方、左腕ユニット１２０や移動ユニット１３０の通信処理部１３２は、図６に示すような制御ユニットごとの障害コードに対する重要度を記載した障害コードテーブルを予め保持している。本実施例では、図６の重要度欄のレベルAとは、自身の制御ユニットにとって深刻な障害であり、直ちに停止させる必要がある障害、レベルBとは、自身の制御ユニットにとって軽微な障害であり、障害対応パラメータに応じた動作で継続可能な障害、レベルCとは、自身の制御ユニットにとって無視できるほどの軽微な障害であり、実行中の動作で継続可能な障害の意味とする。
左腕ユニット１２０や移動ユニット１３０の通信処理部１３２は、障害発生通知を受信した後、障害対応手段判定部１３７で障害情報データを読み出して、ユニットタイプと障害コードから重要度の判定を行い、モーション制御部１３３に所定の障害対応動作を指示することとなる。その後、すべての制御ユニットである、右腕ユニット１１０、左腕ユニット１２０や移動ユニット１３０は、ホストコントローラ１００より障害対応指令を受信した後、その障害対応指令に応じて最終的な障害対応動作を実施する。
【００１４】
図２は、各制御ユニットにおいて保存される障害対応パラメータを示す図である。ここでは右腕ユニット１１０及び左腕ユニット１２０がある物体を掴むといった協調動作を実施している一方で、移動ユニット１３０は両腕ユニットと協調することなくゆっくりと前進している場合を想定している。
各ユニットの障害対応パラメータはそれぞれ、右腕ユニット１１０が「速度変更値：0%、継続時間：0秒」、左腕ユニット１２０が「速度変更値：0%、継続時間：0秒」、移動ユニット１３０が「速度変更値：75%、継続時間：5秒」となっている。
この場合のそれぞれの制御ユニットの対応動作は、何らかの障害が発生した場合、物体を掴んでいる右腕ユニット１１０及び左腕ユニット１２０は、他の前記制御ユニットから障害発生通知を受信した時点から即時に停止する必要があるが、それ以外の移動ユニット１３０は、同じく他の前記制御ユニットから障害発生通知を受信した時点から移動速度を75%に減速して動作を継続しても構わないことを示している。他方、減速動作の継続時間は、右腕ユニット１１０及び左腕ユニット１２０はホストコントローラからの障害対応指令を待つまでもなく非常停止するため、他の前記制御ユニットから障害発生通知を受信した時点からの減速継続時間は０となり、協調していない移動ユニット１３０の場合は、他の前記制御ユニットから障害発生通知を受信した時点からの減速継続時間は５秒となる。
【００１５】
図３は、本発明のロボットにおけるユニットコントローラの通信処理部および障害対応手段判定部の処理手順を示すフローチャートである。
この図を用いて本発明の方法を順を追って説明する。
はじめにステップＳ３０でデータの受信待ちとなる。何かのデータを受信すると、ステップＳ３１で受信データの種別を判定する。もし、受信データが制御ユニットに対する動作指令であるならば、ステップＳ３２で受信データに含まれる動作指令を実行する動作指令実行タスクを起動し、タスクの完了を待つことなく再び受信データ待ちとなる。この動作指令実行タスクは図１のモーション制御部１３３で実行される。
ステップ３１で、受信データが障害対応パラメータ更新要求データであるならば、ステップＳ３３で障害対応パラメータ更新部１３５にて、障害対応パラメータを更新し、更新完了後再び受信データ待ちとなる。
ステップＳ３１で、受信データが障害発生通知であるならば、ステップＳ３４で受信データに含まれる図５の障害コードを読み込み、ステップＳ３５で読み込んだ障害コードと図６の自身が保持する障害コードテーブルとを照合して、障害の重要度の判定を実行する。重要度がレベルAの場合は、直ちに動作を停止させる必要があるため、ステップ３７で非常停止の処理を実行する。重要度がレベルCの場合は、自身の制御ユニットにとって無視できる軽微な障害のため、実行中の動作を継続する。重要度がレベルBの場合は、障害対応パラメータの速度変更値に基づき、モーション制御部１３３に対して速度変更を指示し、障害対応パラメータの継続時間を限度とした、障害対応指令の受信待ちとなる。
その後、障害対応パラメータの継続時間以内にステップＳ３０にて障害対応指令データを受信した場合、ステップＳ３２においてモーション制御１３３はその障害対応指令に従い動作を変更するが、ステップＳ３８において障害対応パラメータの継続時間以内に障害対応指令データを受信しなかった場合、ステップＳ３７で非常停止を実行し、データ受信待ちとなる。
【００１６】
以上に述べたような機能を持つホストコントローラ１００及び制御ユニット１１０〜１３０から構成されるロボットにおいては、ある制御ユニットに障害が発生しても、他のユニットに障害発生を直接通知し、各制御ユニットで障害に対する初期対応をシステム全体を停止させることなく開始できることに加えて、ホストコントローラからの最適な障害対応指令を可能な限り待つことにより、出来るだけシステム全体を停止させることなく、効果的に動作を継続させることが可能となり、作業効率を向上させることができる。
【産業上の利用可能性】
【００１７】
本発明は、ネットワークで接続されたホストコントローラと、ホストコントローラにより協調制御される制御ユニットという構成をとるため、適用対象はロボットに限らず、モーションコントローラとネットワークサーボから構成されるモーションコントロールシステム全般に適用できる。
【符号の説明】
【００１８】
１００、４００、５００  ホストコントローラ
１０１、４０１、５０１  モーション指令作成部
１０２、４０２、４３２、５０２、５３２  通信処理部
１０３  動作指令処理部
１０５、４０３、５０４  イーサネット
１１０、４１０、５１０  制御ユニット（右腕ユニット）
１１１、４１１、５１１  ユニットコントローラ
１２０、４２０、５２０  制御ユニット（左腕ユニット）
１２１、４２１、５２１  ユニットコントローラ
１３０、４３０、５３０  制御ユニット（移動ユニット）
１３１、４３１、５３１  ユニットコントローラ
１３３、４３３、５３３  モーション制御部
１３４、４３４、５３４  障害発生監視部
１３５  障害対応パラメータ更新部
１３６  障害対応パラメータ
１３７  障害対応手段判定部
５０３  障害復旧処理部
１３８、４３７、５３５  サーボネットワーク
１３９、４３８、５３６  サーボドライブ
【図１】
2010214503.tif 000003
【図２】
2010214503.tif 000004
【図３】
2010214503.tif 000005
【図４】
2010214503.tif 000006
【図５】
2010214503.tif 000007
【図６】
2010214503.tif 000008
【図７】
2010214503.tif 000009
【図８】
2010214503.tif 000010