(57)【要約】【課題】本発明は、ネットワーク型アクチュエータモジュールを提供するためのものである。【解決手段】本発明は、駆動部、センサ部、ネットワーク部、及び制御部が一つのモジュール内に一体型で構成されたアクチュエータモジュールがマルチドロップ方式により連結されて一つのアクチュエータモジュールネットワークを構成し、効果的なネットワーク通信のためにアクチュエータモジュールに内蔵された制御テーブルのデータ読取り及び書込み過程を通じてアクチュエータモジュールが制御されるネットワーク型アクチュエータモジュールに関するものである。【選択図】図１
2008167644.tif 000002
【特許請求の範囲】
【請求項１】
モータ、減速機、制御器、通信部、駆動状態フィードバックのためのセンサ部、過温、過電圧等の異常の有無を感知するユニットが全て一体型で構成されているアクチュエータモジュールであって、
駆動モータ及び前記駆動モータを駆動及び制御するためのモータ駆動部を含むモータ部と、
前記アクチュエータモジュールの動作状況を感知するための少なくとも一つのセンサから構成されるセンサ部と、
前記モータ部とセンサ部に連結されて前記モータ部とセンサ部の動作を認識及び制御する制御部と、
前記制御部と外部コントローラとのインタフェースのためのネットワーク部と、
を含むことを特徴とするネットワーク型アクチュエータモジュール。
【請求項２】
前記センサ部は、前記駆動モータの回転速度、過電流発生の可否、外部負荷、及び前記アクチュエータモジュールの内部温度を感知して、異常発生時にこれを前記制御部に通知し、前記制御部は前記異常発生を前記外部コントローラに通知すると共に、前記モータ部の動作を中止させることを特徴とする請求項１記載のネットワーク型アクチュエータモジュール。
【請求項３】
前記アクチュエータモジュールは、一回のパケット命令転送により複数のアクチュエータモジュールが同時に制御されるマルチドロップ方式により動作することを特徴とする請求項１または２記載のネットワーク型アクチュエータモジュール。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク型アクチュエータモジュールに関し、より詳しくは、駆動部、センサ部、ネットワーク部、及び制御部が一つのモジュール内に一体型で構成されたアクチュエータモジュールがマルチドロップ方式により連結されて一つのアクチュエータモジュールネットワークを構成し、効果的なネットワーク通信のためにアクチュエータモジュールに内蔵された制御テーブルのデータ読取り及び書込み過程を通じてアクチュエータモジュールが制御されるネットワーク型アクチュエータモジュールに関する。
【背景技術】
【０００２】
最近、ロボット工学が発達するにつれて、従来産業用に利用されていたロボット工学メカニズムが他産業分野に結ばれており、これによって、家庭用掃除ロボット、プログラミング教育用ロボット、及び玩具用ロボットのように、家庭用、教育用、及びエンタテインメント用等、多様な用途のロボットが生産されている。
【０００３】
このようなロボット分野の発展をなすことになる核心技術中の一つがロボットに採択された駆動用モータ、即ち、アクチュエータを制御する技術である。一つのロボットに数個から数十個のアクチュエータが装着された形態のロボットの場合、各々のアクチュエータを正確に制御すると共に、全アクチュエータを相互連関性あるように有機的に制御するためには高度な制御メカニズムが必要である。
【０００４】
特に、複数のアクチュエータを一つの中央制御器にて制御する場合、図１に示すように、各アクチュエータ毎にアクチュエータの状態を感知するセンサ部（即ち、エンコーダ１、・・・、ｎ；２２）と、アクチュエータに駆動電圧を提供するための駆動部（即ち、モータ１、・・・、ｎ；２１）を含むので、アクチュエータ制御部（即ち、モータ制御器）２０と駆動部２１との間に４個の配線が必要であり、アクチュエータ制御部（即ち、モータ制御器）２０とセンサ部２２との間に別途に６個の配線が必要となる。したがって、ｎ個のアクチュエータがアクチュエータ制御部２０に連結された場合、総１０ｎ個の配線が必要であるので、ロボットを構成するアクチュエータの数が多くなるほど配線処理の困難性によりロボットの構造を多様化することに制限が多かった。また、ロボットの設計変形によりアクチュエータ数を増感しなければならない場合、これによって、アクチュエータ制御器２０、センサ部２２、及び駆動部２１を全て変更しなければならないという問題点が発生した。
【０００５】
一方、従来にはアクチュエータセンサ部でフィードバックできる情報の種類がモータの回転速度と位置などに限定されているので、過電流の発生、内部の過熱など、アクチュエータ動作に問題が発生する場合を直接把握して、これに対処する自動制御メカニズムを具現することが困難であった。
【０００６】
また、複数のアクチュエータが各々アクチュエータ制御部と直接連結された方式においては、複数のアクチュエータを相互連関性あるように制御するためには、複数個のアクチュエータが同時に、または順次に、非常に正確に制御されなければならないが、このような制御プロセスに従う信号処理の負荷が全て一つのアクチュエータ制御部に集中することによって、複数のアクチュエータで構成されたロボットの円滑な動作を期待することが困難であった。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、センサ部、駆動部、制御部、及びネットワーク部が全て内蔵されて配線処理の困難性及びアクチュエータの増減に従う設計変更上の不便が解消されたアクチュエータモジュールを提供することにある。
【０００８】
本発明の他の目的は、モータの回転速度や位置だけでなく、過電流発生の可否、アクチュエータの内部温度、アクチュエータの機械的負荷などを感知して異常発生時にこれを外部に表示し、自体的にモータの動作を中止させる等の方式により異常状況に対処する内蔵型プロセッサを具備したアクチュエータモジュールを提供することにある。
【０００９】
本発明の更に他の目的は、アクチュエータに付加される機械的負荷の大きさをフィードバックできる強制フィードバック（force feedback）機能を具備して、アクチュエーティングシステムの慢性的な突発状況に対処することができ、仮想現実状況で用いられる場合、外力測定のための別途の荷重測定手段を必要としないし、外力の機械的負荷の大きさによってモータのトルクを適切に制御できるアクチュエータモジュールを提供することにある。
【００１０】
本発明の更なる他の目的は、複数のアクチュエータモジュールの相互間、及び複数のアクチュエータモジュールとメインコントローラとの間の信号伝送が可能であるように、内部にネットワーク機能を含むネットワーク型アクチュエータモジュールを提供することにある。
【００１１】
本発明の更にまた他の目的は、複数のアクチュエータモジュールがマルチドロップ方式により連結されて、複数のアクチュエータモジュールが同一な物理的リンクを共有することで、ネットワークトポロジー（topology）が単純化でき、複数のアクチュエータモジュールの相互間及び複数のアクチュエータモジュールとメインコントローラとの間に同時に並列的な信号伝送が可能であるので、複数のアクチュエータモジュールで構成されたロボットシステム、仮想現実システム、ハプティック（Haptic）システム、工場自動化システムなどに適合したネットワーク型アクチュエータモジュールを提供することにある。
【００１２】
本発明の更なる他の目的は、マルチドロップ方式により連結された複数のアクチュエータモジュールの相互間及び複数のアクチュエータモジュールとメインコントローラとの間の信号伝送が簡単で、かつ効率的な方式でなされて、プロトコルのオーバーヘッドが最小化すると共に、アクチュエータモジュールの拡張性が増加できるように、アクチュエータモジュールに内蔵された制御テーブルのデータ読取り及び書込み過程を通じてアクチュエータモジュールが制御されるネットワーク型アクチュエータモジュールを提供することにある。
【００１３】
本発明の更なる他の目的は、複数のアクチュエータモジュールの各バッファーに所定の命令を予め登録して置いて、適当な時点で同時に各命令を実行させることによって、複数のアクチュエータモジュールの動作時点に時間差が発生する問題点を改善したネットワーク型アクチュエータモジュールを提供することにある。
【００１４】
本発明の更なる他の目的は、一回のパケット命令転送により複数のアクチュエータモジュールを同時に制御できるマルチドロップ方式のネットワーク型アクチュエータモジュールを提供することにある。
【課題を解決するための手段】
【００１５】
本発明のネットワーク型アクチュエータモジュールを具現するためには、ネットワークの根幹技術としてホストとスレーブとの間のマルチドロップを仮定したネットワーク用プロトコル技術（ＣＡＮ、ＲＳ４８５、Ｅｔｈｅｒｎｅｔ等）、モータ制御技術として適応制御アルゴリズムの搭載及びこれのためのＲＩＳＣベースハードウェアプラットフォーム構成と分散制御技術、そしてギアボックス設計技術として多段ギア設計及びハウジング設計のためのシミュレーションと３次元リアルタイム設計システムが必要である。
【発明の効果】
【００１６】
本発明によると、センサ部、駆動部、制御部、ネットワーク部が全て内蔵されて、配線処理の困難性及びアクチュエータの増減に従う設計変更上の不便が解消されたアクチュエータモジュールが提供される。
【００１７】
本発明によると、モータの回転速度や位置だけでなく、過電流発生の可否、アクチュエータの内部温度、アクチュエータの機械的負荷などを感知して、異常発生時、これを外部に表示し、自体的にモータの動作を中止させる等の方式により異常状況に対処する内蔵型プロセッサを具備したアクチュエータモジュールが提供される。
【００１８】
本発明によると、アクチュエータに付加される機械的負荷の大きさをフィードバックできる強制フィードバック（force feedback）機能を具備して、アクチュエーティングシステムの慢性的な突発状況に対処することができ、仮想現実状況で用いられる場合、外力測定のための別途の荷重測定手段を必要としないし、外力の機械的負荷の大きさによってモータのトルクを適切に制御できるアクチュエータモジュールが提供される。
【００１９】
本発明によると、複数のアクチュエータモジュールの相互間及び複数のアクチュエータモジュールとメインコントローラとの間の信号伝送が可能であるように、内部にネットワーク機能を含むネットワーク型アクチュエータモジュールが提供される。
【００２０】
本発明によると、複数のアクチュエータモジュールがマルチドロップ方式により連結されて、複数のアクチュエータモジュールが同一な物理的リンクを共有することで、ネットワークトポロジー（topology）が単純化でき、複数のアクチュエータモジュールの相互間及び複数のアクチュエータモジュールとメインコントローラとの間に、同時に並列的な信号伝送が可能であるので、複数のアクチュエータモジュールから構成されたロボットシステム、仮想現実システム、ハップティック（Haptic）システム、工場自動化システムなどに適合したネットワーク型アクチュエータモジュールが提供される。
【００２１】
本発明によると、マルチドロップ方式により連結された複数のアクチュエータモジュールの相互間及び複数のアクチュエータモジュールとメインコントローラとの間の信号伝送が簡単で、かつ効率的な方式でなされて、プロトコルのオーバーヘッドが最小化されると共に、アクチュエータモジュールの拡張性が増加できるように、アクチュエータモジュールに内蔵された制御テーブルのデータ読取り及び書込み過程を通じてアクチュエータモジュールが制御されるネットワーク型アクチュエータモジュールが提供される。
【００２２】
本発明によると、複数のアクチュエータモジュールの各バッファーに所定の命令を予め登録して置いて、適当な時点で同時に各命令を実行させることによって、複数のアクチュエータモジュールの動作時点に時間差が発生することになる問題点を改善したネットワーク型アクチュエータモジュールが提供される。
【００２３】
本発明によると、一回のパケット命令転送により複数のアクチュエータモジュールを同時に制御できるマルチドロップ方式のネットワーク型アクチュエータモジュールが提供される。
【発明を実施するための最良の形態】
【００２４】
以下、本発明の構成を添付された図面を参照しつつ説明する。
【００２５】
本発明のネットワーク型アクチュエータモジュールは、図２のように、モータ制御部と、これをホストとインターフェースするためのネットワーク部から構成される。また、本発明のアクチュエータモジュールは、内部に位置検出センサ、温度センサ、そして電源用センサから構成されたセンサ部が搭載されているので、各種状況に能動的な対処することができ、したがってパーソナルロボット構成に適合した形態で具現される。
【００２６】
図２において、モータと減速ギアにモータ駆動部が内蔵型プロセッサに連結されて適応型制御アルゴリズムに従って動作する。また、センサ部は電圧センサと位置センサの他に、アクチュエータモジュールの内部温度を感知するための温度センサ、モータにかかる外部機械負荷を測定するためのセンサを具備している。
【００２７】
センサ部で感知された各種情報は、リアルタイムに内蔵型メインプロセッサに入力される。入力されたセンシング値が許容値を超過するか、予定された値に達する場合、内蔵型プロセッサは、ＬＥＤ、ブザーのような状態指示器を通じてユーザにこれを通知することができ、またモータ駆動部に制御信号を送って動作を中止させたり異常状態を緩和する方向に動作するようにすることができる。
【００２８】
内蔵型プロセッサは、送受信ポート（ＴＸ／ＲＸ）、アナログ／ディジタル変換のためのＡＤコンバーター、アナログ信号の大きさによってディジタル信号のデューレーションを調節するためのＰＷＭ変調器、ディジタルパルスを計数するためのカウンター、及びフラッシュＩＳＰを具備している。
【００２９】
また、アクチュエータモジュールは、メインコントローラと内蔵型プロセッサとの間の通信インターフェースのためのネットワーク部をさらに具備しているので、複数のアクチュエータモジュールからなるアクチュエータネットワークを利用する場合にもリアルタイムに並列制御可能なネットワーキング機能を提供している。
【００３０】
本発明のアクチュエータモジュールは、ホスト、即ち、メインコントローラとスレーブ、即ち、アクチュエータモジュールの間にマルチドロップ方式により連結された物理的ネットワークに適用されたものであるが、このようなネットワークとしては、ＣＡＮ、ＲＳ４８５、Ｅｔｈｅｒｎｅｔなどがある。
【００３１】
本発明のアクチュエータモジュールは、望ましくは、一つのノードに複数個のターミナルが連結されているマルチドロップ方式であるＲＳ４８５［ＩＥＥＥ４８５］を利用する。ＲＳ４８５は、直列通信で使われる物理規格の一つであって、複数のターミナルが一つのラインにバス形態で連結されて運営される方式である。従って、送信と受信を同時に発生することができないし、一つのターミナルが送信する間、その他のターミナルは全て入力状態でなければならない。このために、アクチュエータモジュールを制御するメインコントローラは、ＲＳ４８５通信方向を入力に設定してから命令パケットを転送する間のみ通信方向を出力に設定する。
【００３２】
ＲＳ４８５規格はプロトコルに対して別に規定してはいないが、ＲＳ４８５通信規格を効率よく活用するためには使用するプロトコルが必ず複数個のターミナルに対してアドレッシングとバス制御機能を提供しなければならない。ＲＳ４８５通信規格の最も大きい長所の一つは、全ての装置が同一なラインでデータを転送及び受信することができるということである。但し、ＲＳ４８５通信規格で用いられるプロトコルはデータを転送できる権限が一回に一つのターミナルのみに与えられるように構成されなければならない。
【００３３】
即ち、ＲＳ４８５ネットワークでは、複数の箇所から同時にデータを送信しないようにプロトコルが運営されなければならない。複数個のアクチュエータモジュールが同時にパケットを転送すると、パケット衝突により通信に問題が発生する。したがって、ネットワークノードの中にＩＤが同一なアクチュエータモジュールが存在しないように各アクチュエータモジュールのＩＤ設定がなされなければならない。
【００３４】
図３は、ＲＳ４８５通信方式に関して示している。
【００３５】
ＲＳ４８５では、送信が終わるタイミングをよく合せて方向を受信モードに変えなければならない。メインコントローラのＣＰＵでは、一般的に汎用非同期化送受信機状態（UART_STATUS）を表示してくれるレジストの内に、転送データをバッファーに積載できる状態であることを知らせてくれるTXD_BUFFER_READY_BITと転送データが全てＣＰＵの外部に排出された時に設定されるTXD_SHIFT_REGISTER_EMPTY_BITがある。ＲＳ４８５の送信モードと受信モードとの間で、本発明のアクチュエータモジュールが命令パケット（Instruction Packet）を受けた後、状態パケット（Status Packet）をリターンすることにかかる時間をリターン遅延時間（Return Delay Time）という。デフォルト値は１６０μsであり、制御テーブルを利用してリターン遅延時間を変更することができる。
【００３６】
一方、図４は、バイト間隔（byte-to-byte time）を示しているが、これは命令パケットを転送する際、バイトとバイトとの間の遅延時間を意味する。この時間が１００msが超える場合、アクチュエータモジュールは転送障害が発生したことと見なして、またパケットのヘッダ［Ｏｘｆｆ Ｏｘｆｆ］を待つ。命令パケット、状態パケット、制御テーブル、及びヘッダなどについては後述する。
【００３７】
図５は、上記のような条件を満たすように設定されたネックワークシステムにおけるネットワーク型アクチュエータモジュールの制御方式を示している。
【００３８】
図５では、Ｎ個のアクチュエータモジュールがマルチドロップ方式により一つのメインコントローラに連結されている。メインコントローラとアクチュエータモジュールは、パケットをやりとりして通信する。パケットの種類としては、メインコントローラからアクチュエータモジュールへ転送される命令パケットと、アクチュエータモジュールからメインコントローラへ転送される状態パケットがある。メインコントローラがＩＤ＝Ｎに設定された命令パケットを転送する場合、複数個のモータのうち、ＩＤがＮであるモータのみ状態パケットをリターンし、その命令を遂行する。
【００３９】
図５に示すように、一つのバスにＮ個のアクチュエータモジュールが連結されており、メインコントローラからの制御信号、即ち、命令信号は制御の対象となるアクチュエータモジュールのＩＤを含んでいるので、該当ＩＤを備えたアクチュエータのみに作用することになり、アクチュエータの応答は状態信号としてメインコントローラへ伝えられる。
【００４０】
一方、図６によると、本発明のアクチュエータは、メインコントローラからの命令により制御され、また、メインコントローラは、また、ＰＣ、有無線リモコンの如きユーザ端末機に連結される。ユーザがロボットの動作を制御するために各アクチュエータを制御するためのプログラムをユーザ端末を通じて入力することになれば、ユーザ端末からの制御信号は、例えばＲＳ２３２方式のバスを通じてアクチュエータ制御用メインコントローラへ転送され、メインコントローラは、上記制御信号をアクチュエータ制御に適合したＲＳ４８５方式の命令パケットに変換してマルチドロップ方式により各々の、または全体アクチュエータモジュールへ転送する。
【００４１】
メインコントローラに複数のアクチュエータモジュールが連結された本発明のマルチドロップ方式のネットワークでは、複数のアクチュエータモジュールの相互間及び複数のアクチュエータモジュールとメインコントローラとの間の信号伝送が簡単で、かつ効率的な方式でなされるように、制御信号とデータ信号の入出力及び転送のための通信プロトコルが支援されなければならない。
【００４２】
＜制御テーブル＞
本発明のアクチュエータモジュールは、アクチュエータモジュールを制御するための制御テーブルを利用する。制御テーブルは、アクチュエータモジュールの状態と駆動に関するデータから構成されている。制御テーブルに値を書込み（Writing）することで、アクチュエータモジュールを駆動させ、制御テーブルの値を読取り（Reading）することで、アクチュエータモジュールの状態を把握することになる。例示的な制御テーブルは、図７に図示されている。以下、図７を参照して説明する。
【００４３】
制御テーブルはＲＡＭ領域とＥＥＰＲＯＭ領域から構成されるが、ＲＡＭ領域のデータは電源が印加される度に初期値に設定されるが、ＥＥＰＲＯＭ領域のデータは設定された値が電源のオフ時にも保存される。制御テーブルは、アドレス（Address）、アイテム（Item）、アクセス方式（Access）、初期値（Initial Value）のような項目を含んでいる。
【００４４】
アドレスは、値を書込み、読取ることになるメモリのアドレスを意味する。
【００４５】
アイテムは、各アドレスに指定されたデータの種類を意味する。
【００４６】
アクセス方式は、該当アイテムに対する書込み、読取り可能の可否を表示する。
【００４７】
初期値は、ＥＥＰＲＯＭ領域のデータの場合は工場デフォルト値であり、ＲＡＭ領域のデータの場合は電源印加時に有する初期値を意味する。
【００４８】
以下、各アドレスに指定されたデータの意味を説明する。まず、ＥＥＰＲＯＭ領域である。
【００４９】
０Ｘ００、０Ｘ０１：モデル番号
【００５０】
０Ｘ０２：ファームウェアバージョン
【００５１】
０Ｘ０３：アクチュエータモジュール識別のための固有番号（ＩＤ）である。リンクされた各アクチュエータモジュールには互いに異なるＩＤが割り当てられなければならない。
【００５２】
０Ｘ０４：通信速度を決定するボード率であって、算出公式は“Speed[BPS]=2000000/[Address4+1]”である。例示的に、主要ボード率別データ値は次の通りである。ＵＡＲＴ（Universal Asynchronous Receiver / Transmitter、汎用非同期化送受信機）の場合、ボード率の誤差が３％以内であれば通信に支障がない。
【００５３】
【表１】
2008167644.tif 000003
【００５４】
０Ｘ０５：リターン遅延時間、即ち、命令パケット転送後、状態パケットがリターンされるまでかかる遅延時間を意味する。
【００５５】
０Ｘ０６、０Ｘ０７、０Ｘ０８、０Ｘ０９：動作角度制限。アクチュエータモジュールの動作が許される角度区間を設定する。
【００５６】
０Ｘ０Ｂ：最大制限温度。アクチュエータモジュールの動作制限温度を意味する。
【００５７】
０Ｘ０Ｃ、０Ｘ０Ｄ：最低／最高制限電圧。アクチュエータモジュールの動作電圧範囲の上限線と下限線を意味する。
【００５８】
０Ｘ０Ｅ、０Ｘ０Ｆ：最大トルク。アクチュエータモジュールの最大トルク出力値である。この値を‘０’に設定する場合、トルクがないフリーラン（Free Run）状態となる。最大トルク（Max Torque / Torque Limit）はＥＥＰＲＯＭ領域（０Ｘ０Ｅ、０Ｘ０Ｆ）とＲＡＭ領域（０Ｘ２２、０Ｘ２３）の２箇所に割り当てられているが、電源がオンされる時、ＥＥＰＲＯＭ領域の値がＲＡＭに複写される。アクチュエータモジュールのトルクはＲＡＭに位置した値（０Ｘ２２、０Ｘ２３）により制限される。
【００５９】
０Ｘ１０：状態リターンレベル。命令パケットが転送された後、アクチュエータモジュールが状態パケットをリターンしてくれるか否かを決定するものであって、下記のような値を有する。一方、ブロードキャストＩＤ（ＯＸＦＥ）の命令パケットの場合には、状態リターンレベル値に関わらず、状態パケットがリターンされない。
【００６０】
【表２】
2008167644.tif 000004
【００６１】
０Ｘ１１：アラームＬＥＤ。エラーが発生した時、各命令に対する該当エラービットが１に設定されていると、ＬＥＤが瞬く。各命令に対する該当エラー対応表は次の通りである。
【００６２】
【表３】
2008167644.tif 000005
【００６３】
各ビットの機能は、‘ＯＲ’論理で作動される。即ち、０Ｘ０５に設定された場合、入力電圧エラーが発生してもＬＥＤは瞬き、オーバーヒーティングエラーが発生してもＬＥＤは瞬くことになる。エラーが発生した後、正常状況に復帰すると２秒後にＬＥＤは瞬きを止める。
【００６４】
０Ｘ１２：アラームシャットダウン。エラーが発生した時、各命令に対する該当エラービットが１に設定されている場合、アクチュエータモジュールがトルクオフ、即ち、動作中止される。各命令に対する該当エラー対応表は次の通りである。
【００６５】
【表４】
2008167644.tif 000006
【００６６】
各ビットの機能は、‘ＯＲ’論理で作動される。しかしながら、アラームＬＥＤとは異なり、エラーが発生した後、正常状況に復帰してもトルクオフ状態は続く。したがって、シャットダウン状態から抜け出るには、トルクイネーブル［０Ｘ１８］を１に再設定しなければならない。
【００６７】
０Ｘ１４、０Ｘ１５、０Ｘ１６、０Ｘ１７：較正（Calibration）。ポテンショメータ製品間の偏差を補償するためのデータであって、ユーザが変更することができない。
【００６８】
以下のアドレスはＲＡＭ領域である。
【００６９】
０Ｘ１８：トルクイネーブル。ディジタルモードでアクチュエータモジュールに電源を印加すると、トルクが発生しないフリーラン状態となる。この際、０Ｘ１８アドレスに１を設定すればトルクイネーブル状態となる。
【００７０】
０Ｘ１９：ＬＥＤ。１に設定されているとＬＥＤが付き、０に設定されているとＬＥＤが消える。
【００７１】
０Ｘ１Ａ、０Ｘ１Ｂ、０Ｘ１Ｃ、０Ｘ１Ｄ：コンプライアンスマージン（compliance margin）及びスロープ。マージンとスロープを設定してアクチュエータのコンプライアンスを調節する。コンプライアンスをよく活用すると、衝撃吸収効果が得られる。図８の位置エラーに従う出力曲線において、Ａ、Ｂ、Ｃ、Ｄの長さがコンプライアンス値である。
【００７２】
０Ｘ１Ｅ、０Ｘ１Ｆ：目標位置。アクチュエータモジュールが移動しようとする位置を意味する。図９で、値を最大値である０Ｘ３ｆｆに設定すれば、３００゜に移動する。
【００７３】
０Ｘ２０、０Ｘ２１：移動速度。目標位置に移動する速度を意味する。最大値である０Ｘ３ｆｆに設定すれば、７０ｒｐｍの速度で動く。参考に、速度が１に設定される場合が最低速度であり、０に設定された場合は、現在印加電圧上で出すことができる最大速度で動くことになる。即ち、速度制御をしないものである。
【００７４】
０Ｘ２２、０Ｘ２３：最大トルク。アクチュエータモジュールの最大トルク出力値である。この値を‘０’に設定する場合、トルクがないフリーラン（Free Run）状態となる。最大トルク（Max Torque / Torque Limit）は、ＥＥＰＲＯＭ領域（０Ｘ０Ｅ、０Ｘ０Ｆ）とＲＡＭ領域（０Ｘ２２、０Ｘ２３）の２箇所に割り当てられているが、電源がオンされる時、ＥＥＰＲＯＭ領域の値がＲＡＭに複写される。アクチュエータモジュールのトルクは、ＲＡＭに位置した値（０Ｘ２２、０Ｘ２３）により制限される。
【００７５】
０Ｘ２４、０Ｘ２５：現在位置。アクチュエータモジュールの現在位置
【００７６】
０Ｘ２６、０Ｘ２７：現在速度。アクチュエータモジュールの現在速度
【００７７】
０Ｘ２８、０Ｘ２９：現在負荷。アクチュエータモジュールの現在駆動する負荷の大きさ。
【００７８】
下記の表において、ビット１０は負荷がかかっている方向である。
【００７９】
【表５】
2008167644.tif 000007
【００８０】
０Ｘ２Ａ：現在電圧。アクチュエータモジュールに現在印加されている電圧。この値は実際電圧の１０倍である。即ち、１０Ｖの場合、０［０Ｘ６４］が読取られる。
【００８１】
０Ｘ２Ｂ：現在温度。アクチュエータモジュールの内部の摂氏温度。
【００８２】
０Ｘ２Ｃ：登録命令。REG_WRITE命令により命令が登録されている時に１に設定され、ACTION命令により登録された命令が遂行完了された後には０になる。
【００８３】
０Ｘ２Ｅ：移動。アクチュエータモジュールが自体動力による移動状態の時に１に設定される。
【００８４】
０Ｘ２Ｆ：ロック（Lock）。１に設定されれば０Ｘ１８〜０Ｘ２３アドレスの値のみ書込みでき、残りの領域は書込みが禁止される。一回ロックされれば、電源オフによらないと解除できない。
【００８５】
０Ｘ３０、０Ｘ３１：パンチ（Punch）。駆動時にモータに供給される最小電流量。初期値は０Ｘ２０であり、最高０Ｘ３ＦＦまで設定することができる。
【００８６】
＜データ有効領域（Range）＞
各データは有効な範囲が決まっている。これを抜け出した書込み（WRITE）命令が転送される場合、エラーがリターンされる。図１０の表にユーザが書込みできるデータの長さと範囲が整理されている。１６ビットデータは［Ｌ］と［Ｈ］、２つのバイトで表示される。この２つのバイトは一つの命令パケットで同時に書込まれなければならない。
【００８７】
＜パケット構造＞
本発明で用いられる命令パケット（INSTRUCTION PACKET）は、メインコントローラがアクチュエータモジュールに動作を指示するパケットであって、その構造は次の通りである。
【００８８】
2008167644.tif 000008
【００８９】
命令パケットをなす各バイトの意味は、次の通りである。
【００９０】
０ＸＦＦ ０ＸＦＦ：最も先頭に位置した２つの０ＸＦＦはパケットの開始を知らせる信号である。
【００９１】
ＩＤ：命令パケットにより制御されるアクチュエータモジュールのＩＤである。アクチュエータモジュールのＩＤは０Ｘ００〜０ＸＦＤまで２５４個が可能である。
【００９２】
ブロードキャスティング（Broadcasting）ＩＤ：連結されているアクチュエータモジュールの全体を指定するＩＤである。ＩＤを０ＸＦＥに設定したブロードキャスティングＩＤパケットは、連結された全てのアクチュエータモジュールに有効である。したがって、ブロードキャスティングＩＤに伝えられたパケットの場合は状態パケットがリターンされない。
【００９３】
LENGTH（長さ）：命令パケットの長さであって、その値は“パラメータ個数［Ｎ］＋２”である。
【００９４】
INSTRUCTION（命令）：アクチュエータモジュールに遂行しろと指示する命令である。
【００９５】
PARAMETER 0. . . N：INSTRUCTIONの他に追加情報がさらに必要な場合に使われる。
【００９６】
CHECK SUM（チェックサム）：チェックサムの計算方法は、次の通りである。
【００９７】
CHECK SUM=~{ID+LENGTH+INSTRUCTION+PRAMETER 1 + . . . +PRAMETER N}、チェックサムで計算された値が２５５より大きい場合、結果値の下位バイトがCHECKSUMである。“〜”はNot Bit演算子である。
【００９８】
本発明で用いられる状態パケット（STATUS PACKET）はアクチュエータモジュールが命令パケットの転送を受けた後、その応答としてメインコントローラへリターンするパケットであり、その構造は次の通りである。
【００９９】
2008167644.tif 000009
【０１００】
状態パケットをなす各バイトの意味は、次の通りである。
【０１０１】
０ＸＦＦ  ０ＸＦＦ：最も先頭に位置した２つの０ＸＦＦはパケットの開始を知らせる信号である。
【０１０２】
ＩＤ：状態パケットをリターンするアクチュエータモジュールのＩＤである。アクチュエータモジュールのＩＤは０Ｘ００〜０ＸＦＤまで２５４個が可能である。
【０１０３】
LENGTH（長さ）：状態パケットの長さであって、その値は“パラメータ個数［Ｎ］＋２”である。
【０１０４】
ERROR（エラー）：アクチュエータモジュールの動作中に発生されたエラー状態を表すものであって、各ビット別意味は、次の表の通りである。
【０１０５】
【表６】
2008167644.tif 000010
【０１０６】
PARAMETER 0 . . . N：ERRORの他に追加情報がさらに必要な場合に使われる。
【０１０７】
CHECK SUM（チェックサム）：チェックサムの計算方法は、次の通りである。
【０１０８】
CHECK SUM=~{ID+LENGTH+ERROR+PRAMETER１+ . . . +PARAMETER N}、チェックサムで計算された値が２５５より大きい場合、結果値の下位バイトがCHECKSUMである。“〜”はNot Bit演算子である。
【０１０９】
＜命令セット＞
本発明のアクチュエータモジュールで使われる命令セットには、次のような種類がある。
【０１１０】
【表７】
2008167644.tif 000011
【０１１１】
１．WRITE_DATA
機能：アクチュエータモジュールの内部の制御テーブルにデータを書込む命令である。
長さ：書込もうとするデータがＮ個の場合、長さはＮ＋３である。
命令：０Ｘ０３
パラメータ１：データを書込む箇所の開始アドレス
パラメータ２：書込もうとする一番目のデータ
パラメータ３：書込もうとする２番目のデータ
パラメータＮ＋１：書込もうとするＮ番目のデータ
【０１１２】
例えば、連結されたアクチュエータモジュールのＩＤを１に設定する場合、制御テーブルのアドレス３に１を書込む命令を転送すればよい。これをブロードキャスティングＩＤ（０ＸＦＥ）へ転送する場合の命令パケットは、次の通りである。 
【０１１３】
2008167644.tif 000012
【０１１４】
上記のような場合、ブロードキャスティングＩＤで転送されたので、状態パケットはリターンされない。
【０１１５】
２．ＲＥＡＤ＿ＤＡＴＡ
機能：アクチュエータモジュールの内部の制御テーブルのデータを読取る命令
長さ：０Ｘ０４
命令：０Ｘ０２
パラメータ１：読取ろうとするデータの開始アドレス
パラメータ２：読取ろうとするデータの長さ
【０１１６】
例えば、ＩＤが１のアクチュエータモジュールの現在の内部温度を読取ろうとする場合、制御テーブルのアドレス０Ｘ２Ｂ値で１バイトを読取ればよい。この場合の命令パケットは、次の通りである。
【０１１７】
2008167644.tif 000013
【０１１８】
これに対し、リターンされる状態パケットは、次の通りである。
【０１１９】
2008167644.tif 000014
【０１２０】
読取られたデータ値は０Ｘ２０であり、現在アクチュエータモジュールの内部温度がほぼ３２℃［０Ｘ２０］であることが分かる。
【０１２１】
３．REG_WRITE
機能：REG_WRITE命令はWRITE_DATA命令と似ているか、命令が遂行される時点が違う。REG_WRITE命令パケットが到着すれば、その値はバッファーに格納され、WRITE動作は待機状態に残っていることになる。この際、Registered Instruction[0X2C]が１に設定される。以後、ACTION命令パケットが到着すれば、始めて登録されていたREG_WRITE命令が実行される。
長さ：Ｎ＋３
命令：０Ｘ０４
パラメータ１：データを書込もうとする箇所の開始アドレス
パラメータ２：書込もうとする一番目のデータ
パラメータ３：書込もうとする２番目のデータ
パラメータＮ＋１：書込もうとするＮ番目のデータ
【０１２２】
４．ACTION
機能：REG_WRITE命令で登録されたWRITE動作を遂行せよとの命令
長さ：０Ｘ０２
命令：０Ｘ０５
パラメータ：無し
【０１２３】
ここで、ACTION命令は複数のアクチュエータモジュールを同時に正確に動作させるべき場合に有用である。複数のアクチュエータモジュールを命令パケットで制御する際、 最初に命令を受けるアクチュエータモジュールと最後に命令を受けるアクチュエータモジュールは、動作時点に若干の時間差が発生する。しかしながら、REG_WRITEとACTION命令を使用することになれば、このような問題が解決される。一方、２つ以上のアクチュエータモジュールにACTION命令を転送する場合、ブロードキャスティングＩＤ（０ＸＦＥ）を使用しなければならないが、この際、状態パケットはリターンされない。
【０１２４】
５．PING
機能：PING命令は何にも指示しない。但し、状態パケットを受けようとする時や特定ＩＤを有するアクチュエータモジュールの存在を確認するために使われる。
長さ：０Ｘ０２
命令：０Ｘ０１
パラメータ：無し
【０１２５】
例えば、ＩＤが１のアクチュエータモジュールの状態パケットを得たい時、次の通りPING命令を利用することができる。
【０１２６】
2008167644.tif 000015
【０１２７】
これに対応してリターンされる状態パケットは、次の通りである。
【０１２８】
2008167644.tif 000016
【０１２９】
ブロードキャスティングＩＤが指定されたり状態リターンレベル［０Ｘ１０］が０であっても、PING命令に対しては状態パケットがリターンされる。
【０１３０】
６．RESET
機能：アクチュエータモジュールの制御テーブルを工場デフォルト状態に戻す。
長さ：０Ｘ０２
命令：０Ｘ０６
パラメータ：無し
【０１３１】
例えば、ＩＤが０のアクチュエータモジュールをリセットしようとする場合の命令パケットは、次の通りである。
【０１３２】
2008167644.tif 000017
【０１３３】
上記のようなRESET命令に対してリターンされる状態パケットは、次の通りである。
【０１３４】
2008167644.tif 000018
【０１３５】
ここで、RESET命令遂行の後にはＩＤが１に変わることになる。
【０１３６】
７．SYNC_WRITE
機能：一回の命令パケット転送により複数のアクチュエータモジュールを同時に制御しようとする時に使われる命令である。Sync Write命令を使用すれば、複数の命令を一度に伝達するので、複数のアクチュエータモジュールを制御する時、通信時間が減る。但し、各々のアクチュエータモジュールに書込もうとする制御テーブルのアドレスと長さが全て同一でなければならないし、ＩＤはブロードキャスティングＩＤへ転送されなければならない。
ＩＤ：０ＸＦＥ
長さ：［Ｌ+１］＊Ｎ＋４、ここでＬはアクチュエータモジュールのデータ長さであり、Ｎはアクチュエータモジュールの個数である。
命令：０Ｘ８３
パラメータ１：データを書込もうとする箇所の開始アドレス
パラメータ２：書込もうとするデータの長さ［Ｌ］
パラメータ３：一番目のアクチュエータモジュールのＩＤ
パラメータ４：一番目のアクチュエータモジュールの一番目のデータ
パラメータ５：一番の目アクチュエータモジュールの２番目のデータ
・    ・・
パラメータＬ＋３：一番目のアクチュエータモジュールのＬ番目のデータ
パラメータＬ＋４：２番目のアクチュエータモジュールのＩＤ
パラメータＬ＋５：２番目のアクチュエータモジュールの一番目のデータ
パラメータＬ＋６：２番目のアクチュエータモジュールの２番目のデータ
・    ・・
パラメータ２Ｌ＋４：２番目のアクチュエータモジュールのＬ番目のデータ
・    ・・
【０１３７】
例えば、４個のアクチュエータモジュールに対し、各々下記のように位置と速度を定めるとする。
【０１３８】
ＩＤ０のアクチュエータモジュール：０Ｘ０１０位置に、速度０Ｘ１５０で移動
ＩＤ１のアクチュエータモジュール：０Ｘ２２０位置に、速度０Ｘ３６０で移動
ＩＤ２のアクチュエータモジュール：０Ｘ０３０位置に、速度０Ｘ１７０で移動
ＩＤ３インアクチュエータモジュール：０Ｘ２２０位置に、速度０Ｘ３８０で移動
このような動作を指示するための命令パケットは、次のようになされる。
【０１３９】
０ＸＦＦ ０ＸＦＦ ０ＸＦＥ ０Ｘ１８ ０Ｘ８３ ０Ｘ１Ｅ ０Ｘ０４ ０Ｘ００
０Ｘ１Ｏ ０Ｘ００ ０Ｘ５０ ０Ｘ０１ ０Ｘ０１ ０Ｘ２０ ０Ｘ０２ ０Ｘ６０ ０Ｘ０３ ０Ｘ０２ ０Ｘ３０ ０Ｘ００ ０Ｘ７０ ０Ｘ０１ ０Ｘ０３ ０Ｘ２０ ０Ｘ０２ ０Ｘ８０ ０Ｘ０３ ０Ｘ１２
【０１４０】
この際、ブロードキャスティングＩＤで転送されるため、状態パケットはリターンされない。
【図面の簡単な説明】
【０１４１】
【図１】従来のネットワーク型アクチュエータモジュールの制御方式を示している。
【図２】本発明のネットワーク型アクチュエータモジュールの内部構造を示している。
【図３】本発明で用いられるＲＳ４８５通信方式でのリターン遅延時間を示している。
【図４】本発明で用いられるＲＳ４８５通信方式でのバイト間隔を示している。
【図５】本発明のネットワーク型アクチュエータモジュールの制御方式を示している。
【図６】ユーザが本発明のネットワーク型アクチュエータモジュールを制御するためのシステム構成を示している。
【図７】本発明のネットワーク型アクチュエータモジュールを制御するための制御テーブルを示している。
【図８】本発明の位置エラーに従う出力曲線を示している。
【図９】本発明のネットワーク型アクチュエータモジュールが移動しようとする目標位置を示している。
【図１０】本発明において、ユーザが記録できるデータの有効領域を示している。
【符号の説明】
【０１４２】
１０    中央制御器
２０    モータ制御器
２１    駆動部
２２    センサ部
【図１】
2008167644.tif 000019
【図２】
2008167644.tif 000020
【図３】
2008167644.tif 000021
【図４】
2008167644.tif 000022
【図５】
2008167644.tif 000023
【図６】
2008167644.tif 000024
【図７】
2008167644.tif 000025
【図８】
2008167644.tif 000026
【図９】
2008167644.tif 000027
【図１０】
2008167644.tif 000028