(57)【特許請求の範囲】
【請求項１】
負荷駆動のための複数の負荷駆動要素のそれぞれを駆動制御するために、該複数の負荷駆動要素に対応して設けられる複数のドライバを含む負荷制御システムであって、
前記複数のドライバのそれぞれは、自ドライバに直接関連付けられた前記負荷駆動要素を制御する制御部を有し、
前記複数のドライバのそれぞれは、前記負荷制御システムにおいて、自ドライバの前記制御部から該自ドライバを除く他のドライバの全部または一部の対象ドライバの前記制御部に対して、該対象ドライバに直接関連付けられた負荷駆動要素の駆動制御を行うための指令信号の送信が可能となる相互制御通信状態が形成されるように、互いに電気的に接続され、
前記負荷制御システムに含まれる前記複数のドライバのそれぞれが有する前記制御部は、
前記複数のドライバのうち一のドライバが、別のドライバに交換された場合、該複数のドライバのうち該交換前の一のドライバを除く他のドライバから、該交換前の一のドライバに対する指令信号と同一の指令信号が、該交換後の別のドライバに対して出されても、該交換後の別のドライバに直接関連付けられた前記負荷駆動要素が、該交換前の一のドライバに直接関連付けられた前記負荷駆動要素の場合と同じ所定動作を実行するように、形成される、
負荷制御システム。
【請求項２】
前記負荷制御システムにおいて、前記複数のドライバの相互の接続形態にかかわらず、前記相互制御通信状態は維持される、
請求項１に記載の負荷制御システム。
【請求項３】
前記負荷制御システムにおいて、前記複数のドライバのそれぞれが全て直列に接続され、又は該複数のドライバの一部が、該複数のドライバに含まれる一のドライバに対して並列に接続される、
請求項１又は請求項２に記載の負荷制御システム。
【請求項４】
請求項１から請求項３の何れか一項に記載の負荷制御システムと、
前記負荷制御システムに含まれる複数のドライバに対応する前記複数の負荷駆動要素と、
前記複数の負荷駆動要素に電力を供給する電源装置と、
を備える、負荷駆動システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、負荷駆動のための負荷駆動要素を制御する負荷制御システムに関する。
【背景技術】
【０００２】
負荷駆動のためのアクチュエータを制御するためには、コントローラから、該アクチュエータに対応するドライバに対して駆動指令を送信し、該ドライバがその指令に従ってアクチュエータを駆動制御する形態が一般的である。しかし、このようなアクチュエータの駆動形態では、アクチュエータごとにコントローラを配置し、各コントローラに該アクチュエータ用の制御プログラムが設定されるため、駆動対象となるアクチュエータの数が増加するほど、その制御システムの構築に多くの労力を要することになる。
【０００３】
そこで、複数のアクチュエータの駆動制御を行うシステム構築のための技術が開発されている。例えば、特許文献１に開示されているシステムでは、インテリジェントモータ（コントローラが一体化されたモータ）が直列接続されて、その最上流のインテリジェントモータが、外部ネットワークに接続可能なコントロールユニットと接続されている。この最上流インテリジェントモータは、マスターモータとしてコントロールユニットから自己およびその他のモータの制御情報を受け取り、その他のモータに対しては、直列接続された信号線を経由して制御情報を伝えることが可能なようにシステムが構成される。そして、当該システムには、コントロールユニットが、直接的にマスターモータを制御し、且つマスターモータを介してその他のモータを間接的に制御する「ユニット制御モード」と、コントロールユニットがマスターモータから切り離された状態で、マスターモータ以外の各モータがマスターモータによって動作する「自立制御モード」が存在する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−７２８７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の複数のアクチュエータを駆動制御するシステムでは、アクチュエータ制御のためのコントローラをアクチュエータであるモータのドライバとともに、該モータと一体でインテリジェントモータを形成し、各インテリジェントモータが直列に接続されている。このように構成されるシステムでは、直列の接続形態の中で最上流に位置するインテリジェントモータが、全体を制御するためのコントローラとして、換言すればマスターコントローラとして位置づけられている。したがって、アクチュエータごとにコントローラが配置される構成ではないにしても、このマスターコントローラが実質的に配置される構成であることにより、該マスターコントローラ内に設定されるシステム全体の制御プログラムは、複雑且つ膨大なものとならざるを得ない。そのため、アクチュエータの制御的な側面に立てば、システム構築に要する労力は従来と変わらず多大なものに変わりはない。
【０００６】
また、複数のアクチュエータを駆動制御する場合、その駆動目的に応じてシステム構成を柔軟に変更することが求められる場合がある。しかし、従来の制御システムでは、システム全体を制御するマスターコントローラが有するプログラムを変更する必要があるため、その変更に要する労力も少ないものではなく、柔軟性に欠くものと言わざるを得ない。
【０００７】
本発明は、上記した問題点に鑑みてなされたものであり、負荷駆動のためのアクチュエータ等の負荷駆動要素を複数制御する場合、その制御システム構築が容易となる負荷制御
システムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明において、上記課題を解決するために、負荷駆動要素の駆動ドライバのそれぞれに制御部が設けられるとともに、制御部間の相互通信において、各ドライバにそれぞれ直接関連付けられた負荷駆動要素の駆動制御が、別の制御部からの指令信号でも実行可能となるように相互制御通信状態が形成される。このシステム構成により、負荷駆動要素の駆動制御を各ドライバに分散化できるため、システム構成を簡素化することが可能となる。
【０００９】
詳細には、本発明は、負荷駆動のための複数の負荷駆動要素のそれぞれを駆動制御するために、該複数の負荷駆動要素に対応して設けられる複数のドライバを含む負荷制御システムであって、前記複数のドライバのそれぞれは、自ドライバに直接関連付けられた前記負荷駆動要素を制御する制御部を有する。そして、前記複数のドライバのそれぞれは、前記負荷制御システムにおいて、自ドライバの前記制御部から該自ドライバを除く他のドライバの全部または一部の対象ドライバの前記制御部に対して、該対象ドライバに直接関連付けられた負荷駆動要素の駆動制御を行うための指令信号の送信が可能となる相互制御通信状態が形成されるように、互いに電気的に接続される。
【００１０】
本発明に係る負荷制御システムでは、複数の負荷駆動要素に対応して複数のドライバが設けられ、それぞれのドライバには、該ドライバに直接関連付けられた負荷駆動要素の制御のための制御部が設けられている。ここで言う負荷駆動要素は、負荷駆動のために電気的に接続された制御対象物であり、制御されることで負荷に対して直接、力を作用させるモータ等のアクチュエータや、制御のために必要な情報を取得するセンサ等を含む。また、「直接関連付けられた」とは、一のドライバと一の負荷駆動要素との間において、当該ドライバが当該負荷駆動要素を駆動制御するために第一に割り当てられるが、当該負荷駆動要素は他のドライバからの指令にも従って制御され得ることを意味するものであって、当該ドライバが当該負荷駆動要素の駆動制御に専用的に使用されることを意味するものではない。すなわち、上記相互制御通信状態における対象ドライバによる当該一の負荷駆動要素の駆動制御を踏まえた上で、当該一のドライバによる当該一の負荷駆動要素の駆動制御を「直接」的と表現したものである。
【００１１】
ここで上記負荷制御システムでは、複数のドライバの相互間において、相互制御通信状態が形成される。この相互制御通信状態では、複数のドライバのそれぞれについて、自ドライバに直接関連付けられた負荷駆動要素に対して、それ以外の対象ドライバから駆動制御のための指令信号が送信され、受信した当該自ドライバでその指令内容従った負荷駆動要素の駆動制御が実行される。すなわち、直接の駆動制御は自ドライバによって行われるが、その制御内容に関する指令信号は、自ドライバ以外の対象ドライバから出されることになる。この結果、負荷制御システムにおいて、一か所にシステム全体の駆動制御を集中することなく、自ドライバと対象ドライバを含むドライバ群にて分散されることになるため、システム全体の駆動制御に関するプログラムが過度に大きくなるのを抑制でき、以て、プログラムの編集等のシステム構築が容易となる。
【発明の効果】
【００１２】
負荷駆動のためのアクチュエータ等の負荷駆動要素を複数制御する場合、その制御システム構築が容易となる負荷制御システムを提供することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施例に係る負荷制御システム、負荷駆動システムの概略構成を示す図である。
【図２Ａ】図１に示す負荷制御システムに含まれるドライバに関する機能ブロック図である。
【図２Ｂ】図１に示す負荷制御システムに含まれるスクリプト書換装置に関する機能ブロック図である。
【図３】図１に示す負荷制御システムで行われるアクチュエータの制御のフローを示す図である。
【図４】図１に示す負荷制御システムに含まれるスクリプト書換装置に表示される、スクリプトの編集用インターフェースとなる編集画面を示す図である。
【図５】図１に示す負荷制御システムに含まれるスクリプト書換装置に表示される、ポイントテーブルの編集用インターフェースとなる編集画面を示す図である。
【図６】本発明の実施例に係る負荷制御システムが適用されたロボットの概略構成を示す図である。
【図７】図６に示すロボットにおける、ドライバ間の接続状態を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明の具体的な実施形態について図面に基づいて説明する。本実施例に記載されている構成部品の寸法、材質、形状、その相対配置等は、特に記載がない限りは発明の技術的範囲をそれらのみに限定する趣旨のものではない。
【実施例１】
【００１５】
本発明に係る負荷制御システムの実施例について、本願明細書に添付された図に基づいて説明する。当該負荷制御システムは、負荷駆動のための複数のアクチュエータやセンサを制御するためのシステムである。本実施例に係る負荷制御システム１は、図１に示すようにＡ１〜Ａ６までの６台のアクチュエータを駆動するためのドライバＤ１〜Ｄ６を含むシステムである。アクチュエータＡ１〜Ａ６のそれぞれは、ユーザが所望する所定の負荷駆動を実現するために適宜選択し得るものであり、例えば、多関節を有するロボットの各関節を駆動するモータ等が挙げられる。図１に示す負荷制御システム１では、アクチュエータＡ１〜Ａ６のそれぞれに、各アクチュエータを駆動するためのドライバＤ１〜Ｄ６が直接関連付けられるように配置されており、更には、アクチュエータＡ１、Ａ２に対しては二軸対応の電源ＰＳ１がドライバＤ１、Ｄ２からの指令に従い電力を供給し、アクチュエータＡ３、Ａ４に対しては二軸対応の電源ＰＳ２がドライバＤ３、Ｄ４からの指令に従い電力を供給し、アクチュエータＡ５、Ａ６に対しては二軸対応の電源ＰＳ３がドライバＤ５、Ｄ６からの指令に従い電力を供給する構成となっている。このように、ドライバＤ１〜Ｄ６を含む負荷制御システム１と、アクチュエータＡ１〜Ａ６と、電源ＰＳ１〜ＰＳ３によって、本発明に係る負荷駆動システム２が実現される。なお、図１に示す実施例では、負荷駆動システム２の電源装置としては電源ＰＳ１〜ＰＳ３が備えられているが、各アクチュエータごとに電源を備えてもよく、また、全アクチュエータへの電力供給を一台の電源装置で賄ってもよい。
【００１６】
ここで、負荷制御システム１では、そこに含まれるドライバＤ１〜Ｄ６のそれぞれには、アクチュエータＡ１〜Ａ６を駆動制御するための制御部が一体的に設けられている。当該制御部は、専用のプロセッサやそこで実行されるプログラム等により形成されるものである。負荷制御システム１では、図１に示すように、これらのドライバに搭載されている制御部が直列にデイジーチェイン接続されており、制御部間でＣＡＮ(Controller Area Network)通信が可能となっている。そして、ドライバＤ１〜Ｄ６のそれぞれには、各ドラ
イバを識別するためのＩＤが設定され、該ドライバが有する制御部に当該ＩＤが格納されている。本実施例では、ドライバＤ１〜Ｄ６のそれぞれのＩＤは、ＩＤ０１〜ＩＤ０６に設定されている。なお、図１に示す実施例では、ドライバＤ１〜Ｄ６の順にデイジーチェイン接続され、その最上流はドライバＤ１とされ、最下流のドライバＤ６には接続の末端であることを意味するターミネータが設けられている。
【００１７】
また、負荷制御システム１に対して、その外部からスクリプト書換装置３がＣＡＮ通信が可能となるように接続可能である。スクリプト書換装置３は、上記デイジーチェイン接続におけるＣＡＮ通信ラインに接続され、当該接続により、デイジーチェイン接続されている複数のドライバＤ１〜Ｄ６が有するアクチュエータ駆動のための制御スクリプト（プログラム）を書き換えることが可能である。したがって、スクリプトの書き換えが必要ではないときは、スクリプト書換装置３と負荷制御システム１との間のＣＡＮ通信接続を確立する必要はない。なお、スクリプト書換装置３は、上記スクリプト書換のためのプログラムが実行されるパーソナルコンピュータやマイコンとして形成される。
【００１８】
ここで、図２Ａに、ドライバＤ１〜Ｄ６を代表してドライバＤ１が有する制御部において発揮される機能をイメージ化した機能ブロック図を示す。当該機能ブロックで表わされる機能は、ドライバ上に設けられたプロセッサや入出力ポート、メモリ等のハードウェアを用いて、制御部で実行されるプログラムによって実現される。また、図２Ｂには、スクリプト書換装置３で実行される制御を機能ブロックで表示しイメージ化したものである。この機能ブロックの果たす制御内容も、スクリプト書換装置３が有するプロセッサやそこで実行されるプログラム等、様々な手法により実現されるものである。
【００１９】
ドライバＤ１の制御部には、入力部１１、出力部１２、ＩＤ保持部１３、座標データ保持部１４、スクリプト保持部１５、スクリプト書換受付部１６、プログラム実行部１７が形成されている。入力部１１は、ドライバＤ１の入力ポートを介して、ドライバＤ１が直接対応するアクチュエータＡ１の駆動制御に必要なデータが入力される機能部である。特に、後述するようにドライバＤ１以外のドライバ（すなわちドライバＤ２〜Ｄ５）から、アクチュエータＡ１用の指令信号が入力される機能部である。出力部１２は、入力部１１とは反対に、ドライバＤ１の出力ポートを介して、ドライバＤ１を除くドライバ（すなわちドライバＤ２〜Ｄ５）に直接関連付けられた、それぞれのアクチュエータを駆動するための指令信号を、各ドライバが有する制御部へと出力する機能部である。したがって、ドライバＤ１の制御部が有する出力部１２から出力された指令信号は、出力先の他のドライバの制御部が有する入力部１１に入力されることになる。ＩＤ保持部１３は、上記のとおりドライバ毎に設定されている識別用のＩＤを保持する機能部である。具体的には、ドライバＤ１上のメモリに当該識別用ＩＤ（ドライバＤ１の場合はＩＤ０１）が保持されている。座標データ保持部１４は、アクチュエータＡ１の駆動に関して該アクチュエータが取り得る可動範囲に属する座標データを格納する機能部である。後述するスクリプト保持部１５内のプログラムには、アクチュエータＡ１の移動先の座標を直接指定するコマンドが準備されており、当該コマンドの引数として座標データ保持部１４に保持されている座標データが利用される。なお、本実施例では、座標データ保持部１４には最大で２５６個の座標データが保持され得る。
【００２０】
次にスクリプト保持部１５は、ドライバＤ１が直接関連付けられたアクチュエータＡ１の駆動制御に関するプログラムや自ドライバ以外のドライバが直接関連付けられたアクチュエータ（すなわちアクチュエータＡ２〜Ａ５）の駆動制御に関するプログラムを含むスクリプトを、ドライバＤ１内のメモリに保持する機能部である。スクリプトの詳細については後述するが、本実施例で特筆すべきは、ドライバＤ１は、自ドライバ以外のドライバが直接関連付けられたアクチュエータに対しても駆動指令を出すことができる構成となっている。スクリプト書換受付部１６は、負荷制御システム１の外部からスクリプト書換装置３によってスクリプトの書き換えが行われるとき、その書換指示を受け付ける機能部である。したがって、後述するようにスクリプト書換装置３側で編集されたスクリプトが書換指令とともにスクリプト書換受付部１６によって受け付けられることで、スクリプト保持部１５が保持する駆動制御用のプログラム（スクリプト）が書き換えられることになる。プログラム実行部１７は、スクリプト保持部１５が保持する駆動制御用のプログラム（スクリプト）を実行し、実際にアクチュエータの駆動制御を行う。当該プログラムでは駆
動対象となるアクチュエータをドライバの識別ＩＤで指定することが可能となるように構成されており、これによりプログラム実行部１７による駆動制御の対象となるアクチュエータは、デイジーチェイン接続されている全てのアクチュエータＡ１〜Ａ６となる。
【００２１】
なお、図２ＡにはドライバＤ１に関する機能ブロックを示しているが、他のドライバＤ２〜Ｄ６や後述する本発明に係るドライバについても実質的に同様の機能ブロックを有している。したがって、負荷制御システム１全体としては、それぞれのドライバの制御部が有する入力部と出力部を介して、自ドライバが直接関連付けられたアクチュエータだけではなく、自ドライバを除く他のドライバの全部または一部の対象ドライバに対して、該対象ドライバが直接関連付けられたアクチュエータの駆動制御を行うための指令信号の送信が可能となる相互制御通信状態が形成されていることになる。なお、この相互制御通信状態は、負荷制御システム１に含まれる複数のドライバの相互の接続形態（たとえば、複数のドライバのそれぞれが全て直列に接続される形態、又は該複数のドライバの一部が、該複数のドライバに含まれる一のドライバに対して並列に接続される形態等）にかかわらず維持される。したがって、ユーザは、ドライバ間の接続順序等を気にすることなく、相互制御通信状態を形成することが可能となり、容易なシステム構築を実現できる。
【００２２】
次に、スクリプト書換装置３に形成される機能部について図２Ｂに基づいて説明する。スクリプト書換装置３には、ドライバ認識部３１、スクリプト編集部３２、スクリプト書換部３３が形成されている。ドライバ認識部３１は、スクリプト書換装置３がＣＡＮ通信接続を介して負荷制御システム１に接続された状態において、負荷制御システム１内に含まれるドライバを認識する機能部である。ドライバ認識部３１によって認識されたドライバが、スクリプト書換装置３によるスクリプトの編集や書き換えの対象となる。スクリプト編集部３２は、負荷制御システム１に含まれるドライバの制御部が保持するスクリプトに対して追加、変更、削除等の編集処理を行う機能部である。スクリプトの編集の詳細については後述する。スクリプト書換部３３は、スクリプト編集部３２で行われたスクリプト編集を、ドライバ側のスクリプト保持部によって保持されているスクリプトに反映させて、スクリプトの書き換えを行う機能部である。当該スクリプトの書き換えは、スクリプト書換装置３と負荷制御システム１間のＣＡＮ通信接続および各ドライバの入出力ポートおよびドライバ間のデイジーチェイン接続を介して行われる。
【００２３】
ここで、負荷制御システム１によるアクチュエータの駆動制御について、図３に基づいて説明する。なお、説明を簡便にするために、図３ではアクチュエータＡ１およびＡ２の駆動制御に関して言及している。図３は、ドライバＤ１、Ｄ２それぞれの制御部が有するスクリプト、およびドライバＤ２、Ｄ３それぞれの制御部が有するポイントテーブルを図式化したものである。なお、図３では、ドライバＤ１についてはポイントテーブルが示されておらず、ドライバＤ３についてはスクリプトが示されてはいないが、これは本実施例の説明の都合によるものであり、各ドライバは、必要に応じてスクリプト、ポイントテーブルのそれぞれを備えればよい。スクリプトは、アクチュエータを駆動するための制御プログラムを複数行にわって記載したプログラム群であり、本願発明の実施例では、一つのドライバの制御部には、スクリプトが最大で８つ格納され、各スクリプトは最大で９９行の制御プログラムを含んで構成される。また、ポイントテーブルは、アクチュエータを駆動させる際の、移動位置とその移動に要する移動時間との組み合わせからなる表であり、本願発明の実施例では、ポイントテーブルに最大で２５６個の移動位置と移動時間の組み合わせを含めることができる。当該スクリプトは、上記スクリプト保持部１５が保持しており、当該ポイントテーブルは、上記座標データ保持部１４が保持している。
【００２４】
図３に示されるドライバＤ１の制御部が有するスクリプトＳｃ１は、Ｓ１１〜Ｓ１７までの７行の制御プログラムからなるスクリプトであり、ドライバＤ２の制御部が有するスクリプトＳｃ２は、Ｓ２１〜Ｓ２５までの５行の制御プログラムからなるスクリプトであ
る。スクリプトＳｃ１が実行されると、先ず、ステップＳ１１で、励磁処理が行われる。この励磁処理は、処理が行われるドライバＤ１に対して直接関連付けられているアクチュエータＡ１に対してのみ行われる処理である。そのため、励磁処理では、処理の対象となるアクチュエータもしくはそれに直接関連付けられたドライバの自軸のＩＤ情報を指定する。したがって、ステップＳ１１によって、アクチュエータＡ１が励磁起動される。次にステップＳ１２では、時間・相対位置移動の処理が行われる。ここで言う相対位置移動とは、現時点の位置を基準として行う相対的な移動を意味する。当該処理も、上記励磁処理と同様に、ドライバＤ１に対して直接関連付けられているアクチュエータＡ１に対してのみ行われる処理である。そこで、当該処理の引数には、相対位置移動に関する時間と移動距離（パルス数）が設定される。図３に示す実施例では、ステップＳ１２では、アクチュエータＡ１に対して、２００ｍｓの時間で１０００ｐ（パルス）の相対移動を行う処理が行われることになる。
【００２５】
次に、ステップＳ１３では、スクリプト実行処理が行われる。当該処理は、自ドライバ（本実施例の場合はドライバＤ１）だけでなくそれ以外のドライバの制御部が有するスクリプトを実行させるための処理である。そのため、当該処理の引数としては、実行されるスクリプトが保持されているドライバのＩＤと、当該ＩＤによって指定されたドライバが有する実行されるべきスクリプトの番号が設定される。図３に示す実施例では、ステップＳ１３では、ＩＤ０２で特定されるドライバＤ２の制御部が有するスクリプトＳｃ２の実行が行われることになる。なお、次のステップＳ１４は、動作完了待ちの処理を行うステップである。この動作完了待ち処理は、それまでに行われている処理（この場合はステップＳ１３の処理）が完了するまで、次のステップには進まず待機する処理である。したがって、ステップＳ１３によって、スクリプトＳｃ２が実行され、それが完了するまでは、ステップＳ１５以降の処理は行われない。
【００２６】
ここで、スクリプトＳｃ２について簡潔に説明する。図３の右側に示すように、スクリプトＳｃ２は、Ｓ２１〜Ｓ２５までの５行の制御プログラムからなるスクリプトである。ステップＳ２１では、ドライバＤ２に対して直接関連付けられているアクチュエータＡ２の励磁起動処理が行われる。そして、ステップＳ２２では、同様にアクチュエータＡ２の時間・相対位置移動処理（１０００ｍｓの時間で５０００ｐの相対移動）が行われる。次に、ステップＳ２３では、「ポイントＧｏ」と称される処理が行われる。当該「ポイントＧｏ」処理は、指定されたＩＤを有するドライバに関連付けられたアクチュエータにおいて、指定されたポイントテーブルに従って、当該アクチュエータの移動処理を行う。当該処理では、自ドライバ以外のドライバをＩＤで指定することが可能であるため、自ドライバ以外のドライバに直接関連付けられたアクチュエータについても、ポイントテーブルに従った駆動処理が可能である。このポイントテーブルは、各ドライバごとに設定されているため、ユーザは、該ドライバに直接関連付けられたアクチュエータの駆動状況を把握しやすく、当該アクチュエータの駆動制御が容易となる。ステップＳ２３では、「ポイントＧｏ」処理の引数として、ドライバＤ１のＩＤであるＩＤ０３と、ドライバＤ３が有するポイントテーブルを指定するＰＴ１が設定されている。これにより、ドライバＤ２側から、ドライバＤ１に直接関連付けられているアクチュエータＡ１が、指定されたポイントテーブルＰＴ１に従って駆動制御されることになる。なお、ポイントテーブルの詳細な形態については、後述する。
【００２７】
次に、ステップＳ２４では、ステップＳ２３による「ポイントＧｏ」処理が完了するまでの待機処理が行われ、当該「ポイントＧｏ」処理が完了するとステップＳ２５に移行し、アクチュエータＡ２の励磁遮断処理が行われる。以上までの一連の処理によって、スクリプトＳｃ２で特定されるアクチュエータの駆動制御が完了する。上記のとおり、このＳｃ２の実行は、ドライバＤ１側でのスクリプトＳｃ１に含まれるステップＳ１３によって起動されたものであるから、上記スクリプトＳｃ２による一連の処理が完了すると、ステ
ップＳ１４での動作完了確認の後にステップＳ１５の処理が行われる。
【００２８】
ステップＳ１５では、上述した「ポイントＧｏ」と称される処理が行われる。ここでは、「ポイントＧｏ」処理の引数として、ドライバＤ２のＩＤであるＩＤ０２と、ドライバＤ２が有するポイントテーブルを指定するＰＴ２が設定されている。これにより、ドライバＤ１側から、ドライバＤ２に直接関連付けられているアクチュエータＡ２が、ポイントテーブルＰＴ２に従って駆動制御されることになる。
【００２９】
ステップＳ１５の次は、ステップＳ１６にて動作完了待ちの処理が行われる。したがって、ステップＳ１５での「ポイントＧｏ」処理が完了するまでＳ１７以降の処理が行われない。ドライバＤ２からアクチュエータＡ２の「ポイントＧｏ」処理が完了したことがドライバＤ１へ伝えられると、ステップＳ１６で動作完了の判断を行い、ステップＳ１７の処理が行われることになる。ステップＳ１７では、アクチュエータＡ１の励磁遮断処理が行われる。
【００３０】
このように負荷制御システム１によるアクチュエータの駆動制御では、ドライバＤ１は、自ドライバに直接関連付けられているアクチュエータＡ１の駆動制御だけではなく、ステップＳ１３やステップＳ１５の処理に示すように、デイジーチェイン接続で接続されているドライバＤ２を介してアクチュエータＡ２の駆動も制御可能となっている。一方で、ドライバＤ２においても、自ドライバに直接関連付けられているアクチュエータＡ２の駆動制御だけではなく、ステップＳ２３の処理に示すように、デイジーチェイン接続で接続されているドライバＤ１を介してアクチュエータＡ１の駆動も制御可能となっている。すなわち、負荷制御システム１では、自ドライバを除く他のドライバに対して、該他のドライバが有する制御部によるアクチュエータの駆動制御を行うための指令信号の送信が可能となる相互制御通信状態が形成されている。これにより、負荷制御システム１に含まれるドライバのそれぞれが、全てのアクチュエータに対してその駆動制御が可能となるようにシステム構築が為されている。換言すれば、負荷制御システム１においては、システム全体の制御を担うマスタードライバが存在せず、システム全体の制御が各ドライバに分散して割り当てられることになる。そのため、一つのドライバにシステム全体の制御が集中することを避けることができ、ドライバごとに割り当てられる制御プログラムを比較的小さくできるため、制御プログラムの変更等のメンテナンスが容易となり、柔軟性を有した制御プログラムの構築が図られる。
【００３１】
なお、図３には説明を簡便にするために、ドライバＤ１、Ｄ２、Ｄ３に関して言及したが、デイジーチェインで接続されている全てのドライバにおいて相互制御通信状態を形成可能であり、例えば、ドライバＤ１からドライバＤ４やＤ６等を介して、これらのドライバに直接関連付けられているアクチュエータＡ４やＡ６の駆動制御を行ってもよく、逆に、ドライバＤ４からドライバＤ１に直接関連付けられたアクチュエータＡ１の駆動制御を行うようにしてもよい。
【００３２】
次に、図４および図５に基づいて、スクリプト書換装置３によるドライバ内に保持されているスクリプトの編集処理および書換処理について説明する。図４は、スクリプト書換装置３が有するディスプレイに表示される、スクリプト編集のためのインターフェース画面のイメージである。また、図５は、図３で示したポイントテーブルを編集するためのインターフェース画面のイメージである。図１に示すようにスクリプト書換装置３が「デイジーチェイン」を介して物理的に負荷制御システム１に接続された状態で、スクリプト書換装置３内のプログラムが実行されると、図４に示す編集画面が表示される。そして、ユーザが「ＣＡＮ  接続／遮断」ボタンＢ１を押すと、ドライバ認識部３１によってスクリプト書換装置３に接続されているドライバの認識が実行される。その結果、スクリプト書換装置３は、電気的に負荷制御システム１と接続された状態となる。一方で、この電気的
な接続状態が保持された状態でボタンＢ１を押すと、その接続状態が解除され、スクリプト書換装置３から負荷制御システム１に対して電気的な処理を施すことができない状態となる。
【００３３】
ここで、上記電気的な接続状態が保持された状態を前提として、スクリプト書換装置３によるスクリプトの編集、書換の処理について説明する。ここで、領域Ｂ２は、負荷制御システム１に含まれるドライバに付与されているＩＤを選択する領域である。したがって、本実施例では、ＩＤ０１〜ＩＤ０６が設定可能となる。そして、領域Ｂ３は、領域Ｂ２で選択したドライバが有するスクリプトを選択する領域である。本実施例では、上記のとおり、各ドライバは最大で８つのスクリプトを保持しているため、領域Ｂ３では、１〜８のスクリプトを選択可能である。そして、ボタンＢ４が押されると、領域Ｂ２、Ｂ３で選択したドライバとスクリプトに対応するスクリプト情報が、そのドライバの制御部が有するスクリプト保持部１５から読み込まれる。この読み込まれたスクリプト情報は、スクリプト表示領域Ｂ７に表示される。このスクリプト表示領域Ｂ７は、スクリプト情報をユーザに分かりやすいように表示するとともに、その内容を編集可能とする領域である。したがって、このスクリプト表示領域Ｂ７におけるスクリプト情報の編集処理は、スクリプト編集部３２による編集処理に相当する。また、スクリプト表示領域Ｂ７において、後述するように編集されたスクリプトを、所定のドライバの制御部が有するスクリプト保持部１５に書き込むために、ボタンＢ５の押下が必要となる。このボタンＢ５の押下によるスクリプトの書き込みは、書き込みが指定されたドライバ（領域Ｂ２で選択されているドライバ）のスクリプト書換受付部１６を介して、スクリプト保持部１５に従前から保持されていたスクリプトに対して上書きされるため、スクリプト書換部３３による書換処理に相当する。
【００３４】
また、スクリプト表示領域Ｂ７の上方に、領域Ｂ２で選択されたドライバに直接関連付けられたアクチュエータの、動作速度や出力電流等の動作状況をモニターするためのモニター領域が設けられている。このモニター領域は、編集したスクリプトによってアクチュエータを想定通りに駆動できているかモニターするために有用である。スクリプトの動作確認については、領域Ｂ１１に設けられたスクリプト動作ボタンを押下することで可能である。当該スクリプト動作ボタンに表示されている数字は、各ドライバが保持しているスクリプトの番号１〜８に対応している。
【００３５】
次に、スクリプト表示領域Ｂ７について詳細に説明する。スクリプト表示領域Ｂ７は、選択されたスクリプトの情報を、行番号領域Ｂ８、動作種別領域Ｂ９、動作データ領域Ｂ１０で表示する。そして、ユーザは、選択した行において、アクチュエータに実行させる動作種別を動作種別領域Ｂ９で選択し、その選択された動作種別に必要なデータ（引数）を動作データ領域Ｂ１０に入力することができる。動作種別領域Ｂ９で選択できる動作種別は、例えば、図３に示した励磁処理、時間・相対位置移動処理、スクリプト実行処理、動作完了待ち処理、ポイントＧｏ処理が挙げられ、その他、アクチュエータの駆動に有用な様々な処理が選択できる。また、動作データ領域Ｂ１０で入力されるデータは、動作種別領域Ｂ９で選択された動作種別に応じて異なるが、例えば、スクリプト実行処理が選択されている場合には、当該処理に必要な引数として、実行すべきスクリプトを有するドライバのＩＤと、そのドライバに保持されているスクリプトを特定するためのスクリプト番号が入力される。また、動作種別領域Ｂ９で励磁処理や動作完了待ち処理が選択されている場合には、この動作データ領域Ｂ１０にはデータを入力する必要はない。このように、図４に示す編集・書換画面を通して、ユーザがアクチュエータに求める駆動状態を、その処理順にスクリプト表示領域Ｂ７に入力し、そのスクリプト情報を、上記のボタンＢ５によって指定されたドライバのスクリプトとして容易に書き込むことができる。
【００３６】
ここで、図４に示す画面の右上に、「ポイントデータ」ボタンＢ１２が設けられている
。ボタンＢ１２が押下されると、領域Ｂ２で選択されているドライバが有する、「ポイントＧｏ」処理で使用されるポイントテーブルの情報が表示される（図５参照）。図５には、ＩＤ０１のドライバＤ１が有するポイントテーブル編集のためのインターフェース画面が例示され、当該画面は、読み取りボタンＣ１、書き込みボタンＣ２、ポイント選択領域Ｃ３、テーブル表示領域Ｃ４を有する。読み取りボタンＣ１は、押下されることで改めて指定されているドライバが有するポイントテーブルの情報（移動位置と移動に要する時間）をテーブル表示領域Ｃ４に表示する。書き込みボタンＣ２は、押下されることで、テーブル表示領域Ｃ４で表示とともに編集されたポイントテーブルの情報を、指定されたドライバの制御部が有する座標データ保持部１４内に上書きする。ポイント選択領域Ｃ３を介して、テーブル表示領域Ｃ４においてフォーカスされるポイントが選択され、その選択されたポイントは、テーブル表示領域Ｃ４で編集可能となる。本実施例では、ポイントテーブルの最大ポイント数は２５６であるから、ポイント選択領域では１〜２５６のポイントを選択できる。このようにドライバが有するポイントテーブルも、スクリプトと同様に、スクリプト書換装置３側で編集、書き換えが可能とされる。
【００３７】
上記のとおり、本実施例に係る負荷制御システム１では、各ドライバに、全軸のアクチュエータに対して制御が可能となるように、スクリプトおよびポイントテーブルが保持されている。そして、このような構成を有するドライバに対して、図４、図５に示す、編集および書き換えのためのインターフェースがスクリプト書換装置３に用意されることで、ユーザは、スクリプトおよびポイントテーブルの編集、書き換え作業を容易に行い得る。
【実施例２】
【００３８】
次に、本発明の第２の実施例について、図６および図７に基づいて説明する。本実施例は、本発明に係る負荷制御システムにおいて、当該システムに含まれる複数のドライバのそれぞれが有する制御部が、該複数のドライバのうち一のドライバが、別のドライバに交換された場合、該複数のドライバのうち該交換前の一のドライバを除く他のドライバから、該交換前の一のドライバに対する指令信号と同一の指令信号が、該交換後の別のドライバに対して出されても、該交換後の別のドライバに直接関連付けられた負荷駆動要素が、該交換前の一のドライバに直接関連付けられた負荷駆動要素の場合と同じ所定動作を実行するように、形成されるものである。
【００３９】
具体的には、上記第１の実施例を、エンドエフェクタを有するロボットに適用したケースである。図６は、本実施例に係るロボット２０の概略的な構成を示す図である。ロボット２０は、アーム部材Ｌ１、Ｌ２、Ｌ３が、順に関節部Ｐ１、Ｐ２によって連結されており、アーム部材Ｌ３の先端においては更に関節部Ｐ３を介してエンドエフェクタＥ１が取り付けられている。そして、関節部Ｐ１、Ｐ２、Ｐ３には、各関節部を駆動するためのアクチュエータＡ１、Ａ２、Ａ３が取り付けられており、またエンドエフェクタＥ１にはその開閉動作のためのアクチュエータＡ４が取り付けられている。各アクチュエータによるアーム部材やエンドエフェクタへの駆動力伝達のための具体的な構造については、従来技術であるから説明を割愛する。このように構成されるロボット２０に対して、アクチュエータＡ１〜Ａ４を制御するために、本発明に係る負荷制御システムが適用可能であり、適用した場合の各アクチュエータに直接関連付けられたドライバの接続状態を図７に示す。
【００４０】
図７は、アクチュエータＡ１〜Ａ４に直接関連付けられたドライバＤ１〜Ｄ４がＣＡＮ通信可能となるようにデイジーチェインで接続された状態を示している。本発明に係る負荷制御システムがロボット２０に適用されることで、上記第１の実施例で示したように、ロボット２０の全体を制御するためのマスターコントローラに位置付けられる、いわば集中制御装置を設ける必要はなく、ロボット２０の制御に関するスクリプト（プログラム）を、各ドライバＤ１〜Ｄ４に分散的に配置させることが可能となる。例えば、ドライバＤ１には、アクチュエータＡ１を制御するためのスクリプトを配置させ、ドライバＤ４には
アクチュエータＡ４によるエンドエフェクタＥ１の開閉を制御するためのスクリプトを配置させる。そして、ドライバＤ１には、更に、図３に関して説明したスクリプト実行処理を利用して、ドライバＤ４が有するエンドエフェクタＥ１の開閉制御のためのスクリプトを実行するスクリプトが配置される。また、その他のドライバＤ２、Ｄ３からもエンドエフェクタＥ１やその他のアクチュエータの駆動に関する指令信号を送信するようにしてもよい。このように構成することで、上記第１の実施例で示した分散制御を実現できる。
【００４１】
ここで、本実施例のドライバに付与されているＩＤは、ドライバＤ１〜Ｄ３については先の実施例と同様にＩＤ０１〜ＩＤ０３とされ、ドライバＤ４についてはＩＤ１０とする。そして、ロボット２０では、関節部Ｐ３に取り付けられるエンドエフェクタを、その用途に応じて取り換えることが可能とする。すなわち、図６に示す実施例では、エンドエフェクタＥ１はエンドエフェクタＥ２と交換可能である。このエンドエフェクタＥ２は、対象物の把持の観点ではエンドエフェクタＥ１と同じ把持のための開閉構造を有しているが、より精細な把持制御を可能とするためにカメラＣ１が搭載されている。そして、カメラＣ１に直接関連付けられた該カメラＣ１のドライバが、ドライバＤ６として、開閉構造の開閉のためのアクチュエータＡ５に直接関連付けられたドライバＤ５に対してＣＡＮ通信可能となるようにデイジーチェインで接続されている。そして、ドライバＤ５に付与されたＩＤはドライバＤ４と同じＩＤ１０とされ、ドライバＤ６に付与されたＩＤはＩＤ１１とされる。また、ドライバＤ５には、ドライバＤ４と同様にアクチュエータＡ５によるエンドエフェクタＥ２の開閉を制御するためのスクリプトが配置されている。更にドライバＤ６には、カメラＣ１からの入力を通して、エンドエフェクタＥ２の位置決めを精密に制御するためのスクリプトが配置されていることで、例えば、ドライバＤ１〜Ｄ３からの指令信号に基づいてエンドエフェクタＥ２の粗い位置決めが実行され、その後、ドライバＤ６からの指令信号に基づいてエンドエフェクタＥ２の精密な位置決めが実行され得る。
【００４２】
このようにエンドエフェクタの用途に応じて、使用されるエンドエフェクタをＥ１とＥ２で切り換えることが可能である。そして、エンドエフェクタＥ１をＥ２に交換するとともに、ドライバＤ３につながれていたドライバＤ４をドライバＤ５、Ｄ６にすれば、Ｄ４とＤ５に対しては共通のＩＤが付与されていることもあり、エンドエフェクタＥ２による対象物の把持のための制御スクリプトを大きく変更することなく、ロボット２０の操作が可能となる。すなわち、エンドエフェクタＥ２の開閉を指示するスクリプトは、ドライバＤ１に配置されているため、そのスクリプトを利用して、交換後のドライバＤ５に配置されている開閉制御のためのスクリプトを実行させることができる。また、上述したエンドエフェクタＥ２の精密な位置決めのためのスクリプトは、ドライバＤ６に配置されているため、上記交換が行われることで精密位置決め制御は実行可能となり、ドライバＤ１〜Ｄ３上のスクリプトを実質的に編集等する必要はない。
【００４３】
このように本発明に係る負荷制御システムをロボット２０に適用することで、エンドエフェクタを交換した場合でも、対象物の把持制御に関する制御スクリプトを大きく編集等する必要が無くなり、ユーザの利便性が高まる。これは、上記のとおり、把持制御に関する制御スクリプトを適切に、各ドライバ上に分散的に配置させていることによる。
【００４４】
＜その他の実施例＞
上記の実施例は、ロボットへの本発明に係る負荷制御システムの適用例を示すものであるが、その他の実施例として、住宅にも適用することが可能である。住宅の設備として、シャッター、ブラインド、窓、施錠装置等が挙げられるが、これらの開閉や施錠・解錠をモータ等のアクチュエータで行うことで、住宅の安全性や利便性の向上が図られる。このようなケースにおいても、各アクチュエータのドライバをデイジーチェインで接続し、各ドライバの制御部に、制御スクリプトを分散的に配置することで第１、第２の実施例で示した効果と同様の効果を享受することができる。すなわち、いわゆる住宅のインテリジェ
ント化（電動機器による自動制御化）を、メンテナンス容易に実現することが可能となる。
【符号の説明】
【００４５】
１・・・・負荷制御システム
２・・・・負荷駆動システム
３・・・・スクリプト書換装置
Ａ１〜Ａ６・・・・アクチュエータ
Ｄ１〜Ｄ６・・・・ドライバ
ＰＳ１〜ＰＳ３・・・・電源
２０・・・・ロボット
【図１】
0005243580.tif 000002
【図２Ａ】
0005243580.tif 000003
【図２Ｂ】
0005243580.tif 000004
【図３】
0005243580.tif 000005
【図４】
0005243580.tif 000006
【図５】
0005243580.tif 000007
【図６】
0005243580.tif 000008
【図７】
0005243580.tif 000009