(57)【要約】  マルチモータシステム（１０３）は複数のモータユニット（１０６Ａ）および（１０６Ｂ）を有する。モータユニット（１０６Ａ）は、モータ（１１６Ａ）と、外部から送信されたコマンド（１２Ａ）を受信する通信回路（１１０Ａ）と、コマンド（１２Ａ）によって指定された制御量でモータを回転させるための制御信号を生成する制御回路（１１２Ａ）と、制御信号に基づいてモータに電流を流すモータ駆動回路（１１４Ａ）とを有する。コマンド（１２Ａ）は、モータの制御量を固定データ長で示す制御データであって、制御量が少なくとも整数で表現された制御データ（Ｃ１）、および制御データの小数点の位置を指定する位置指定データ（Ａ１）を有する。位置指定データ（Ａ１）はモータユニットごとに独立して決定される。
2018117222.tif 000002
【特許請求の範囲】
【請求項１】
複数のモータユニットを有するマルチモータシステムであって、
前記複数のモータユニットの各々は、
モータと、
外部から送信されたコマンドを受信する通信回路と、
前記コマンドによって指定された制御量で前記モータを回転させるための制御信号を生成する制御回路と、
前記制御信号に基づいて前記モータに電流を流すモータ駆動回路と
を備え、
前記コマンドは、
前記モータの制御量を固定データ長で示す制御データであって、前記制御量が少なくとも整数で表現された制御データ、および
前記制御データの小数点の位置を指定する位置指定データ
を有し、
前記位置指定データはモータユニットごとに独立して決定される、マルチモータシステム。
【請求項２】
前記制御量は、前記整数を表す整数部と小数を表す小数部とを用いて表現されている請求項１に記載のマルチモータシステム。
【請求項３】
前記コマンドでは、前記位置指定データ、前記モータの回転方向を指定するデータおよび前記制御データが、順に配列されており、
前記制御回路は、前記位置指定データを用いて前記整数部および前記小数部を抽出し、抽出した前記整数部および前記小数部から構成される前記制御量に従って、前記制御信号を生成する、請求項２に記載のマルチモータシステム。
【請求項４】
前記コマンドは固定長である、請求項１から３のいずれかに記載のマルチモータシステム。
【請求項５】
前記コマンドは５バイトの固定長である、請求項４に記載のマルチモータシステム。
【請求項６】
前記位置指定データは５ビット長であり、前記小数点以下の桁数は１０進数表記で０桁から３１桁までを表現可能である、請求項１から５のいずれかに記載のマルチモータシステム。
【請求項７】
前記コマンドは、前記モータの制御量を絶対量によって指定する制御データを含む、請求項１から６のいずれかに記載のマルチモータシステム。
【請求項８】
前記コマンドは、前記制御データが、前記モータの制御量を絶対量で表していることを示す判定データをさらに含む、請求項７に記載のマルチモータシステム。
【請求項９】
前記コマンドは、前記モータの制御量を、所定の基準からの相対量によって指定する制御データを含む、請求項１から６のいずれかに記載のマルチモータシステム。
【請求項１０】
前記コマンドは、前記制御データが、前記所定の基準からの相対量で表されていることを示す判定データをさらに含む、請求項７に記載のマルチモータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、マルチモータシステムに関する。
【背景技術】
【０００２】
モータの制御量、たとえば目標位置や目標回転速度、を外部から命令する場合、これまでは、外部装置とモータとが、予め定められたモータ制御量の記述規則に従って通信を行っていた。「モータ制御量の記述規則」の具体例は、同一ネットワーク上で送受信されるモータ制御量のデータが、Ｑ表記（Ｑフォーマット）に従って整数部が１６ビットで記述され、小数部が１６ビットで記述される、という規則である。【０００３】
外部の装置とモータとがともに上記記述規則に従って通信を行うため、制御する側である外部装置のモータ制御量の解釈と、制御される側であるモータのモータ制御量の解釈とが相違することはなかった。よって、目標位置および目標回転速度に適切に追従させるモータ制御が実現されていた。【０００４】
たとえば特開２００３−２８５９５４号公報は、プリンタ、ファクシミリ装置等の画像形成装置を開示する。画像形成装置は、画像の記録媒体である用紙を搬送するのに用いられる紙送り装置を有している。紙送り装置の紙送り手段は外部からの指示に従い、所望の位置まで用紙を搬送する。検出手段は、紙送り手段の動作量を検出し、演算手段が、その検出された動作量が外部から指示された動作量と一致するように紙送り手段の駆動源の制御量を演算する。制御手段は、その演算された制御量に基づき、紙送り手段の駆動源を制御する。演算手段は、演算ビット長が一定で、整数部を上位ビットＪ桁で表し、小数部を下位ビットＫ桁で表す固定小数点形式のデータを用いて、駆動源の制御量を演算する。データの整数部及び小数部のビット桁数Ｊ、Ｋについては、設定手段は、紙送り手段の動作量が小さいほど小数部のビット桁数Ｋが多くなるように設定する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−２８５９５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
モータの制御量の単位が異なる複数のモータが同一のネットワークで接続された場合、制御する側の上位装置がある１つの規則にしたがってモータ制御量のデータを送信すると、受信側のモータのいくつかはモータ制御量を誤認識する。そのため、全てのモータを正しく動作させることはできなかった。【０００７】
通信の規則として、モータ制御量の単位をすべてのモータについて同一にすると、受信側のモータがモータ制御量を誤認識することは回避できる。しかしながら、当該モータ制御量は各モータの制御に適した制御量の単位で記述されていないため、モータによっては制御量の精度が粗すぎ、または精度が高すぎる場合が生じる。【０００８】
各モータユニットに応じた精度でモータ制御量の単位を設定する技術が必要とされている。
【課題を解決するための手段】
【０００９】
本開示のマルチモータシステムは、複数のモータユニットを有するマルチモータシステムであって、前記複数のモータユニットの各々は、モータと、外部から送信されたコマンドを受信する通信回路と、前記コマンドによって指定された制御量で前記モータを回転させるための制御信号を生成する制御回路と、前記制御信号に基づいて前記モータに電流を流すモータ駆動回路とを備え、前記コマンドは、前記モータの制御量を固定データ長で示す制御データであって、前記制御量が少なくとも整数で表現された制御データ、および前記制御データの小数点の位置を指定する位置指定データを有し、前記位置指定データはモータユニットごとに独立して決定される。
【発明の効果】
【００１０】
本発明の例示的な実施形態にかかるマルチモータシステムによれば、各モータの制御量の単位が異なる複数のモータユニットが同一のネットワークで接続された場合でも、各モータユニットに応じた精度でモータ制御量の単位が、モータごとに独立して設定される。これにより、各モータの制御量の単位をモータごとに適切に設定してモータの回転を制御することが可能になる。
【図面の簡単な説明】
【００１１】
【図１Ａ】図１Ａは、有線のシリアル通信で利用されるデータフレーム１ａの構造を示す図である。
【図１Ｂ】図１Ｂは、無線通信で利用されるデータフレーム１ｂの構造を示す図である。
【図２】図２は、共通データ構造１２を示す図である。
【図３Ａ】図３Ａは、コミュニケーションロボット３０の外観を示す図である。
【図３Ｂ】図３Ｂは、パワーアシストスーツ３０ｂの外観を示す図である。
【図３Ｃ】図３Ｃは、業務用冷蔵ショーケース３０ｃの外観を示す図である。
【図４】図４は、マルチモータシステム１０３の模式図である。
【図５Ａ】図５Ａは、マルチモータシステム１０３で用いられるコマンド１２Ａの概要を示す図である。
【図５Ｂ】図５Ｂは、マルチモータシステム１０３で用いられるコマンド１２Ｂの概要を示す図である。
【図６】図６は、コミュニケーションロボット３０（図３Ａ）の関節を回転させるモータユニットを含むマルチモータシステム１０３の構成例を示す図である。
【図７】図７は、ＲＳ−４８５規格の通信時のデータフレーム２ａの例を示す。
【図８Ａ】図８Ａは、制御量Ｄ１が相対量で指定される場合のコマンド１２Ｃの例を示す図である。
【図８Ｂ】図８Ｂは、制御量Ｄ１が絶対量で指定される場合のコマンド１２Ｄの例を示す図である。
【図９】図９は、パワーアシストスーツ３０ｂを装着した人物５０と、グリーンハウス６０とを示す図である。
【図１０Ａ】図１０Ａは、人物５０が、グリーンハウス６０の入口６２付近で収穫作業を行っているときに回転速度を高める複数のファンモータユニット６４を示す図である。
【図１０Ｂ】図１０Ｂは、人物５０が移動することによって回転速度を高める、さらに他の複数のファンモータユニット６６を示す図である。
【発明を実施するための形態】
【００１２】
本開示による、複数のモータを有するマルチモータシステムは、上位装置、他のマルチモータシステムまたはモータユニット等の外部から送信されたコマンドを受信して、当該コマンドに従って各モータを制御して回転させる。
【００１３】
以下では、添付の図面を参照しながら、まず外部の機器とマルチモータシステムとの間で送受信される際の通信プロトコルを説明する。その後、マルチモータシステムの構成および動作を説明する。
【００１４】
図１Ａは、有線のシリアル通信で利用されるデータフレーム１ａの構造を示す。シリアル通信の一例はＲＳ−４８５規格の通信を想定している。ＲＳ−４８５規格はＯＳＩ参照モデルでいう物理層の電気的仕様を策定する。
【００１５】
データフレーム１ａは各種のデータを包含している。参考のため、図１Ａの最上段にはＯＳＩ参照モデルの層ごとの区分を示す。また図１Ａの最下段には、各データのデータサイズをバイト単位で表記している。図１Ａの最左欄は凡例である。後述する図１Ｂおよび図２でも同様である。
【００１６】
データフレーム１ａは、たとえば、送信先デバイスＩＤ１０と、送信元デバイスＩＤ１１と、共通データ構造１２とを含む。送信先デバイスＩＤ１０は、送信先のデバイスを識別する識別子である。送信元デバイスＩＤ１１は、送信元のデバイスを識別する識別子である。送信元のデバイスは、上位装置以外にも、他のマルチモータシステムであり得る。識別子は、たとえば製造時に重複することなく機器ごとに付与されたＩＤ（デバイス識別子またはデバイスＩＤ）、ＩＰアドレスである。デバイスＩＤまたはＩＰアドレスは、通信ネットワーク内でモータユニットを一意に示す識別子である。共通データ構造１２は、後述する１または２のコマンドを含むデータ構造である。
【００１７】
これまで、モータを制御するためには、制御対象であるモータを識別する送信先のデバイスＩＤのみが存在していれば十分であった。送信先デバイスＩＤを指定して制御データを送れば、当該モータが当該制御データに従って動作していたからである。
【００１８】
本発明者は、これまで考えられていなかった、複数台のモータが互いに通信し、全体として協働的に動作するマルチモータシステムの構築を検討した。そして、そのためには新たな通信プロトコルが必要であると考え、新たに、送信元デバイスＩＤ１１、および、共通データ構造１２を策定した。
【００１９】
図１Ｂは、無線通信で利用されるデータフレーム１ｂの構造を示す。無線通信の一例はＷｉ−Ｆｉ（登録商標。以下同じ）規格の通信を想定している。Ｗｉ−Ｆｉ規格はＯＳＩ参照モデルでいう物理層およびデータリンク層の仕様を策定する。
【００２０】
データフレーム１ｂは、ＯＳＩ参照モデルの各層のヘッダを複数含んでいる。もともと、ＩＰヘッダには宛先ＩＰアドレス２０と送信元ＩＰアドレス２１とを格納することになっている。本発明者は、送信元ＩＰアドレス２１を、上述の送信元デバイスＩＤ１１に相当する識別子として利用することができると考えた。そこで、Ｗｉ−Ｆｉ規格の共通データ構造１２を利用して行われる通信プロトコルでは、当該送信元ＩＰアドレス２１を活用することとした。
【００２１】
なお、上述した有線通信および無線通信は一例である。他の任意の通信プロトコルを利用することができる。本発明者は、モータ制御のためにモータ間通信を行う通信システムにおいて、送信元を一意に示す識別子を利用することとした。そのため、モータ間通信を行う通信システムにおいて、ヘッダ等に送信元を一意に示す識別子が含まれていれば本開示は適用可能である。すなわち、既存の通信プロトコルであっても、送信元を示す識別子が含まれていれば、送信元デバイスＩＤ１１に相当する識別子としてモータ間通信に利用することができる。
【００２２】
図２は、共通データ構造１２を示す。
【００２３】
共通データ構造１２は、データ長フィールド１２ａと、動作系コマンドフィールド１２ｂと、属性系コマンドフィールド１２ｃと、データフィールド１２ｄとを有する。
【００２４】
データ長フィールド１２ａは、共通データ構造１２の総バイト数を示す。
【００２５】
動作系コマンドフィールド１２ｂは、例えばモータを動作させるための動作系コマンドを示す。動作系コマンドは、当該動作系コマンドに対応する数値（２進数表記）で記述される。動作系コマンドの一例は、ライトデータ（Write Data）、リードデータ（Read Data）、実行（Execution）および接続（Connect）である。ライトデータ、リードデータ等は、モータの動作に関連してモータユニットが行う動作である。つまり、動作系コマンドは、モータユニットが行うべき動作を指定する、他のモータユニットからの要求または他のモータユニットへの要求であると言うことができる。
【００２６】
属性系コマンドフィールド１２ｃは、モータに関する属性を指定する属性系コマンドを示す。属性系コマンドもまた、当該コマンド対応する数値（２進数表記）で記述される。属性系コマンドの一例は、現在の角度（Present Angle）、ターゲット角度（Target Angle）、角度制限（Angle Limit）およびシリアル番号（Serial Number）である。属性系コマンドは、動作系コマンドとともに指定される、モータに関する静的または動的な属性であると言うことができる。
【００２７】
データフィールド１２ｄは、属性系コマンドフィールド１２ｃに対するデータが記述される。データの一例は、角度設定値、回転速度設定値、シリアル番号値である。
【００２８】
上述した共通データ構造は、たとえば３バイトから１３バイトまでの範囲内に収まる、比較的短いデータ長を有する。他の通信プロトコルであるＥｔｈｅｒＣＡＴは３２バイトの大きさであるため、通信時の混在解消および回線の占有を抑制できる。さらに、動作系コマンドと属性系コマンドとを分けて規定したため、利用者（プログラム者）にとって理解しやすい。
【００２９】
なお、動作系コマンドフィールド１２ｂおよび属性系コマンドフィールド１２ｃにどのようなコマンドが格納されるかについては、後の実施形態とともに説明する。
【００３０】
次に、マルチモータシステムの例示的な実施形態を説明する。
【００３１】
１台の製品に、複数台のモータユニットが搭載される例が増えてきた。そのような製品では、あるモータユニットが他のモータユニットと通信する必要性が高まっている。
【００３２】
たとえば図３Ａから図３Ｃは、複数台のモータユニットを搭載する製品の例を示す。
【００３３】
図３Ａは、コミュニケーションロボット３０ａの外観を示す。コミュニケーションロボット３０ａの矢印で示す各位置にモータユニットが搭載されている。１台のコミュニケーションロボット３０ａには約２０個またはそれ以上のモータユニットが装着され得る。これにより、ロボット３０は複雑な動きを実現することが可能になる。
【００３４】
図３Ｂはパワーアシストスーツ３０ｂの外観を示している。パワーアシストスーツ３０ｂは農作業、介護作業等に使用される。図３Ａの例と同様、複数の矢印で示す各位置にモータユニットが搭載されている。なお、矢印は主として右半身側のモータユニットのみを示しているが、右半身に対応する左半身の各位置にも同様にモータユニットが設けられている。たとえば、パワーアシストスーツ３０ｂには腕力・脚力を支えるため２０個以上のモータユニットが使用され得る。なお図３Ｂには、参考のためパワーアシストスーツ３０ｂを装着した人のシルエットが記載されている。
【００３５】
図３Ｃは業務用冷蔵ショーケース３０ｃの外観を示している。矢印で示す各位置にモータユニットが搭載されている。１台の業務用冷蔵ショーケース３０ｃには１０個以上のファンモータユニットが装着され得る。これにより、冷却効率を高めることができる。
【００３６】
本実施形態では、上述した１台の機器に含まれる複数のモータユニットは相互に通信して、自律的かつ協調して動作する。
【００３７】
たとえば、業務用冷蔵ショーケース３０ｃに搭載された複数台のうちの１台のファンモータユニットが故障したとする。故障したファンモータユニットの回転が停止したにもかかわらず、他のファンモータユニットがこれまでと同様の回転状態を維持すると冷却効率が低下する。
【００３８】
そこで、あるモータユニットが故障したことを、そのファンモータユニット（以下「故障ユニット」と略記する。）自身が他のファンモータユニットに通知し、または故障ユニットとの通信ができなくなったことを他のファンモータユニットが検出する。すると、複数台のファンモータユニットのうちの、故障ユニット近傍の２台のファンモータユニットが自身の動作を変化させる。具体的には、当該２台のファンモータユニットは、回転速度の増加および減少を交互に繰り返して故障したファンモータユニットに代わって動作する。これにより、冷却効率を維持し温度ムラの発生を抑止することができる。
【００３９】
本実施形態では、上位装置などの外部の機器からコミュニケーションロボット３０ａの各関節に設けられたモータユニットを回転させるためのコマンドを送信する。
【００４０】
図４は、本実施形態によるマルチモータシステム１０３の模式図である。マルチモータシステム１０３は複数のモータユニット３２ａ〜３２ｅを有する。後述のように、各モータユニットは、モータおよび種々の回路要素を含んでいる。
【００４１】
複数のモータユニット３２ａ〜３２ｅの各々は、上位装置１５０から送信されたデータフレーム中のコマンドに従って動作する。複数のモータユニット３２ａ〜３２ｅは相互に通信してもよい。なお、図４のマルチモータシステム１０３では、通信可能なモータユニット同士が線で結ばれ、データフレームの流れは矢印によって示されているが、記載された線および矢印は一例である。線で結ばれていないモータユニット同士も相互に通信を行うことができる。また、各モータユニットは上位装置１５０にデータフレームを送信してもよい。
【００４２】
図５Ａおよび図５Ｂは、本実施形態にかかるマルチモータシステム１０３で用いられるコマンド１２Ａおよび１２Ｂの概要を示す。コマンド１２Ａおよび１２Ｂは図２に示す共通データ構造１２において定義されるが、図５Ａおよび図５Ｂには全体のうちの一部のみが抜粋されて示されている。
【００４３】
まず図５Ａを参照する。図５Ａには、モータユニット３２ａに送信されるコマンド１２Ａの概略的な構造が示されている。コマンド１２Ａは３種類のデータを含む。具体的には、制御データの小数点の位置を指定する位置指定データＡ１、モータの回転方向を指定する回転方向データＢ１、および、モータの制御量を示す制御データＣ１である。
【００４４】
位置指定データＡ１は、制御データＣ１の小数点の位置を指定する。回転方向データＢ１は、モータユニット３２ａのモータの回転方向を指定する。制御データＣ１は、たとえばモータの回転速度を表す。制御データＣ１には、モータの制御量を示す数値が固定長で記述されている。本例では、モータの制御量を示す数値は４バイトであるとする。すなわち当該数値は、２進数で３２ビット、２桁１組の１６進数を４組用いて表される。図５Ａでは２桁１組の１６進数を４組用いて記載している。図５Ｂも同様である。
【００４５】
図５Ａでは、位置指定データＡ１は、制御データＣ１の下位２組目と３組目の間を指している。つまり、制御データＣ１の上位２組（４桁）はモータの制御量の整数値を示す整数部であり、下位２組（４桁）はモータの制御量の小数値を示す小数部である。図５Ａの例では、目標回転速度として５４００．２５（ｒｐｍ）が指定されている。
【００４６】
一方、図５Ｂには、モータユニット３２ｂに送信されるコマンド１２Ｂの概略的な構造が示されている。図５Ｂのコマンド１２Ｂの構成は、図５Ａのコマンド１２Ａの構成に準じる。以下では、コマンド１２Ｂのうち、図５Ａのコマンド１２Ａと同じデータ構造については説明を省略する。
【００４７】
図５Ｂでは、位置指定データＡ２は、制御データＣ１の下位１組目と２組目の間を指している。上位３組（６桁）はモータの制御量の整数値を示す整数部であり、下位１組（２桁）はモータの制御量の小数値を示す小数部である。図５Ｂの例でも、目標回転速度として５４００．２５（ｒｐｍ）が指定されている。
【００４８】
制御データＣ１およびＣ２は固定長で記述される。しかしながら、小数点の位置が異なることにより、表現可能な数値の範囲が異なる。上述の例では、コマンド１２Ａは、コマンド１２Ｂに比して小数部に割り当てられるデータ量が多い。よってコマンド１２Ａを利用すれば微細なモータ制御を行うことができる。一方、コマンド１２Ｂは、コマンド１２Ａに比して整数部に割り当てられるデータ量が多い。よってコマンド１２Ａを利用すればモータを高速回転させることができる。
【００４９】
同じ性能のモータであれば、位置指定データＡ１と制御データＣ１とを用いて、非常に広い範囲の回転速度でモータの回転を制御することが可能になる。また、性能の異なるモータを有するモータユニットが混在する場合には、位置指定データＡ１と制御データＣ１とを用いて、各モータユニットが必要とする精度の制御データＣ１を提供することができる。
【００５０】
図５Ａおよび図５Ｂにおいて、位置指定データＡ１は、制御データＣ１およびＣ２のすべてが整数部であることを示してもよい。つまり、制御データの最下位の桁までが整数部であることを示してもよい。これにより、制御データを用いて整数値のみを指定することができる。
【００５１】
固定小数点を含む数は、Ｑ表記（Ｑフォーマット）によって小数部分をビット数で示すことがある。整数部のみが存在し小数部の桁数が０（ビット）の場合にはＱ０フォーマット、小数部の桁数が８ビットであればＱ８フォーマット、小数部の桁数が１６ビットであればＱ１６フォーマットである。
【００５２】
ここで、モータユニットに応じた制御データが送信されない場合の問題を具体的に説明する。「整数部が１６ビットおよび小数部が１６ビット」の制御データで動作するモータユニットＡと、「整数部が２４ビットおよび小数部が８ビット」の制御データで動作するモータユニットＢとを想定する。目標回転速度は引き続き５４００．２５（ｒｐｍ）とする。
【００５３】
上記目標回転速度の制御データは、モータユニットＡおよびＢそれぞれについて以下のように表現する必要がある。なお、括弧内の数値は１６進数の表記である。
モータユニットＡ用制御データ：整数部（１５  １８）16、小数部（４０  ００）16
モータユニットＢ用制御データ：整数部（００  １５  １８）16、小数部（４０）16
【００５４】
マルチモータシステム１０３が、モータユニットＡ用の制御データの形式にのみ対応し、モータユニットＢ用の制御データの形式に対応していない場合には、モータユニットＡ用の制御データがモータユニットＢに送信されてしまう。しかしながら、モータユニットＡ用の制御データをモータユニットＢに送信すると、モータユニットＢは、当該制御データを、整数部が（１５  １８  ４０）16、小数部が（００）16であると解釈する。つまりモータユニットＢは、目標回転速度が１３８２４６４．００（ｒｐｍ）であると解釈する。結果として、モータの過回転によって故障が発生し、または、許容値を超えるとしてモータの動作が停止するおそれがある。
【００５５】
そこで本発明者は、制御データ中の小数点の位置を指定する位置指定データを設けて、制御データの整数部と小数部とを抽出できるようにした。これにより、各モータユニットが受け付け可能な形式で制御データを送信できるようになった。
【００５６】
なお、モータの回転方向を示すデータを設けるかどうかは用途に応じて決定することができる。たとえば回転方向が一定であるモータであれば、回転方向を指定しなくてもよい。
【００５７】
また、図５Ａおよび図５Ｂでは、モータの回転速度を示す値を制御データＣ１およびＣ２として記述したが、回転速度は一例である。他のパラメータ、たとえばトルクや回転角度であってもよい。また、トルクや回転速度の最大値を１００％としたときの比（％）を記述してもよい。
【００５８】
上述の例では、小数点の位置が異なることにより、表現可能な数値の範囲が異なる、と述べた。以下、制御データの固定長が１バイトであるときの、Ｑ７フォーマットおよびＱ０フォーマットの違いを説明する。
【００５９】
Ｑ７フォーマットでは、制御データは、整数部が１ビット、小数部が７ビットで記述される。当該制御データが表現可能な範囲は以下のとおりである。
（  ２進数表記）  ０．０００００００〜１．１１１１１１１
（１０進数表記）  ０〜１．９９２１８７５  （変化幅：０．００７８１２５）
【００６０】
一方のＱ０フォーマットでは、制御データは、整数部が８ビット、小数部が０ビットで記述される。当該制御データが表現可能な範囲は以下のとおりである。
（  ２進数表記）  ００００００００〜１１１１１１１１
（１０進数表記）  ０〜２５５  （変化幅：１）
【００６１】
上述の例から明らかなように、どのようなＱフォーマットを採用するかによって、表現可能な値の範囲および変化幅を様々に変化させることができる。
【００６２】
以下、モータユニットの構成と、モータユニット間で行われる通信を説明する。例示的に、図３Ａのコミュニケーションロボット３０ａに搭載されるモータユニットを挙げて説明する。
【００６３】
図６は、本実施形態による、コミュニケーションロボット３０ａ（図３Ａ）の関節を回転させるモータユニットを含むマルチモータシステム１０３の構成例を示す。図６の例では記載の便宜上、２つのモータユニット１０６Ａおよび１０６Ｂが示されているが、図３Ａ〜図３Ｃおよび図４に示すように３以上であってもよい。
【００６４】
マルチモータシステム１０３は、モータユニット１０６Ａおよび１０６Ｂを有している。モータユニット１０６Ａは、通信回路１１０Ａと、プロセッサ１１２Ａと、メモリ１１３Ａと、モータ駆動回路１１４Ａと、関節用モータ１１６Ａと、関節機構１０４Ａとを有する。モータユニット１０６Ｂは、通信回路１１０Ｂと、プロセッサ１１２Ｂと、メモリ１１３Ｂと、モータ駆動回路１１４Ｂと、関節用モータ１１６Ｂと、関節機構１０４Ｂとを有する。モータユニット１０６Ａおよび１０６Ｂは、インテリジェントモータ（登録商標）と呼ばれることがある。なお、上述の説明では、一例として関節機構１０４Ａおよび１０４Ｂはそれぞれモータユニット１０６Ａおよび１０６Ｂに含まれるとしたが、含まれなくてもよい。
【００６５】
本明細書ではモータユニット１０６Ａおよび１０６Ｂは、図６に示す上位装置１５０からコマンドを含むデータフレームを受信する。
【００６６】
通信回路１１０Ａおよび１１０Ｂはそれぞれバッファ１１１Ａおよび１１１Ｂを有している。バッファ１１１Ａおよび１１１Ｂには、予め、モータユニット１０６Ａおよび１０６Ｂをそれぞれ識別するための識別子が格納されている。当該識別子は、通信可能な範囲の通信ネットワーク内で一意に識別可能な文字および／または数字であればよく、たとえばＩＰアドレス、または、上述した、デバイスごとに重複なく付与されたＩＤ（デバイスＩＤ）であり得る。
【００６７】
データフレームを受信したとき、通信回路１１０Ａおよび１１０Ｂは、それぞれ、物理層、データリンク層の処理を行い、データフレームの送信先デバイスＩＤ１０（図１Ａ）がバッファ１１１Ａおよび１１１Ｂに格納されている識別子と自身の識別子と一致するか否かを判定する。一致する場合には、通信回路１１０Ａおよび１１０Ｂは当該データフレームの処理を続行し、一致しない場合には当該データフレームを破棄する。
【００６８】
Ｗｉ−Ｆｉ規格による無線通信が行われる場合には、上述の自身の識別子としてＩＰアドレスを採用し得る。通信回路１１０Ａおよび１１０Ｂは、データフレームの宛先ＩＰアドレス２０（図１Ｂ）が自信のＩＰアドレスと一致するか否かを判定する。その後の処理は上述の処理と同じである。
【００６９】
データフレームの処理を続行する場合には、通信回路１１０Ａおよび１１０Ｂは、データフレームに、さらにＯＳＩ参照モデルにおけるＩＰ層、トランスポート層等毎の処理を順次行い、共通データ構造１２を抽出する。上述のように共通データ構造１２には動作系コマンド１２ｂ等が含まれている。通信回路１１０Ａおよび１１０Ｂは、それぞれ、コマンドを抽出し、プロセッサ１１２Ａおよび１１２Ｂに送信する。
【００７０】
プロセッサ１１２Ａおよび１１２Ｂはいずれも、半導体が集積された信号処理プロセッサである。プロセッサは「信号処理回路」または「制御回路」とも呼ばれる。プロセッサ１１２Ａおよび１１２Ｂは、それぞれ、指定された回転速度でモータ１１６Ａおよび１１６Ｂを回転させるための信号を生成する。当該信号は、たとえばＰＷＭ信号である。またプロセッサ１１２Ａおよび１１２Ｂは、他のモータユニットから送信されたデータフレームに含まれる共通データ構造１２に含まれるコマンドおよびデータ解釈し、コマンドの内容に応じた処理を行う。
【００７１】
メモリ１１３Ａおよび１１３Ｂは、他のモータユニットと、当該モータユニットの識別子とを対応付けたテーブルを予め保持している。つまり、識別子は各モータユニットの通信回路に予め設定され、当該識別子が他のモータユニットのメモリに保持されている。プロセッサ１１２Ａおよび１１２Ｂは、データフレームの送受信を行いたいモータユニットが決まれば、当該モータユニットの識別子を特定し、通信回路１１１Ａおよび１１１Ｂに指示することができる。
【００７２】
モータ駆動回路１１４Ａおよび１１４Ｂはそれぞれ、ＰＷＭ信号に応じた大きさおよび方向で電流をモータ１１６Ａおよび１１６Ｂに流す。これにより、モータ１１６Ａおよび１１６Ｂは時計回りまたは半時計回りに回転する。モータの回転に伴い、モータの回転軸に取り付けられた関節機構１０４Ａおよび１０４Ｂが時計回りまたは半時計回りに駆動される。その結果、モータの回転に応じた方向および角度で、コミュニケーションロボット３０ａ（図３Ａ）の関節が曲がる。
【００７３】
なお、コマンドには、モータ１１６Ａおよび１１６Ｂを回転させる速度および時間等が、属性系コマンド１２ｃおよびデータ１２ｄ（図２）を利用して指定され得る。この時、回転速度を０と指定すれば、モータ１１６Ａおよび１１６Ｂを回転させなくすることもできる。プロセッサ１１２Ａおよび１１２Ｂは、指定された回転速度および回転時間でモータ１１６Ａおよび１１６Ｂが回転するよう、ＰＷＭ信号を生成すればよい。
【００７４】
次に、上位装置１５０から送信されるコマンドを説明する。なお、上位装置１５０以外の外部の機器がコマンドを送信してもよい。
【００７５】
上位装置１５０は、送信先デバイスＩＤにモータユニット１０６Ａの識別子を記述して、モータユニット１０６Ａ宛てに「目標回転速度を設定するリクエスト」を送信する。以下では例として、モータユニット１０６ＡはＱ２０フォーマットに対応し、モータユニット１０６Ａのモータ１１６Ａを時計回り（ＣＷ）方向に目標トルク００９０．００（Ｎ・ｍ）で回転させることを想定する。
【００７６】
図７は、ＲＳ−４８５規格の通信時のデータフレーム２ａの例を示す。データフレーム２ａは図１Ａのデータフレーム１ａに対応する。なお、図１Ｂに示す、無線通信で利用されるデータフレーム１ｂに対応する例の説明は省略するが、当業者であれば、図６の例に基づいて理解することができる。
【００７７】
データフレーム２ａには、送信先デバイスＩＤ１０としてモータユニット１０６Ａを示す１バイトの２進数値"00000001"が記述され、送信元デバイスＩＤ１１として上位装置１５０を示す１バイトの２進数値"00001000"が記述されている。なお２進数値は一例である。
【００７８】
また、共通データ構造１２には、動作系コマンド１２ｂとして、目標回転速度を書き込むための「ライトデータ（Write Data）」コマンドに対応する２進数値"00001011"（0x11）が記述されている。また、属性系コマンド１２ｃとして、下記の２つの属性を示す２進数値"00101001"（0x29）を記述する。
Ｑ２０フォーマット
回転方向：時計回り（ＣＷ）
【００７９】
なお、２進数８ビット値のうちの最下位ビットによって回転方向が表される。時計回り（ＣＷ）の場合には"１"、反時計回り（ＣＣＷ）の場合には"０"が設定される。また、下位２−６ビットによってＱフォーマット（Ｑに続く番号の２進数）が表現される。つまりＱフォーマットは５ビット長で表現される。なお上位２ビットは"００"に予約されている。
【００８０】
Ｑ２０フォーマットは、小数部のビット数が２０存在することを示す。これは次に説明する「データ」に記述された値、すなわち制御データ（目標回転速度）の小数点の位置（整数部と小数部との境界位置）を指定する「位置指定データ」として機能する。
【００８１】
次に、「制御データ」として、下記の属性が固定長の４バイトを用いて記述される。
目標トルク００９０．００（Ｎ・ｍ）
【００８２】
上述の例では、動作系コマンドおよび属性系コマンドおよび制御データを含むコマンド全体は５バイトの固定長で記述される。
【００８３】
プロセッサ１１２Ａは、上位装置１５０が、データの書き込みコマンドを送信したこと、制御データの小数部の桁数が２０であること、時計回り（ＣＷ）に回転すること、および、目標トルク００９０．００（Ｎ・ｍ）であること、を認識する。プロセッサ１１２Ａは、回転方向が時計回り（ＣＷ）であることを示すフラグ、および、目標回転速度の値をメモリ１１３Ａに書き込む。以上の処理により、上位装置１５０はモータユニット１０６Ａに目標回転速度を設定させることができる。
【００８４】
なお、目標トルクに代えて、または目標トルクに追加して、他の制御量を記述してもよい。たとえば目標回転速度、目標回転角度等の大きさである。
【００８５】
上述の説明では、目標トルク等を絶対量で直接指定した。しかしながら、予め定められた所定の基準からの相対量によって制御量を指定してもよい。たとえば、現在の角度を基準とした場合の目標回転角度、回転速度の最大値を１００％としたときの比（％）、トルクの最大値を１００％とした場合の目標トルクの割合（％）、その他種々の制御データを書き込ませることもできる。これらの場合も位置指定データによって、制御データの小数点の位置を記述すればよい。
【００８６】
図８Ａは、制御量Ｄ１が相対量で指定される場合のコマンド１２Ｃの例を示す。図８Ａは図５Ａの記載に準じて作成されている。
【００８７】
図５Ａの例と比較すると、コマンド１２Ｃの先頭には、絶対・相対判定ビットＦが設けられている。絶対・相対判定ビットＦは、コマンド１２Ｃの制御量Ｄ１が絶対量で記述されているか、相対量で記述されているかを示す。たとえば、制御量Ｄ１が絶対量で指定されている場合には当該ビットは「０」に設定され、相対量で指定されている場合には当該ビットは「１」に設定される。なお、小数点位置Ａ１および回転方向Ｂ１の値は相対量を表現する値が設定される。
【００８８】
図８Ｂは、制御量Ｄ１が絶対量で指定される場合のコマンド１２Ｄの例を示す。コマンド１２Ｄでは、小数点位置Ａ１、回転方向Ｂ１および制御量Ｄ１の内容は、図５Ａの例と同じである。しかしながら、コマンド１２Ｄでは、先頭の絶対・相対判定ビットＦは「０」に設定される。
【００８９】
次に、モータユニット間で通信を行うマルチモータシステムの変形例を説明する。
【００９０】
図３Ａの例では、コミュニケーションロボット３０ａ内の複数のモータユニット同士が互いに通信する態様を説明した。また図３Ｂおよび図３Ｃの例では、それぞれパワーアシストスーツ３０ｂ内の複数のモータユニット同士、業務用冷蔵ショーケース３０ｃ内の複数のモータユニット同士が互いに通信する態様を説明した。いずれの例でも、１つの系（１つの製品）の中に含まれる複数台のモータユニット間の通信を想定していた。
【００９１】
しかしながら、異なる系にそれぞれ含まれるモータユニット同士が互いに通信することも可能である。
【００９２】
図９は、パワーアシストスーツ３０ｂを装着した人物５０と、グリーンハウス６０とを示している。グリーンハウス６０には、矢印で示す位置に、空調用ファンを回転させる複数のファンモータユニットが設けられている。
【００９３】
いま、人物５０が、グリーンハウス６０内で野菜の収穫作業を行う例を考える。人物５０は、パワーアシストスーツ３０ｂを装着して、パワーアシストスーツ３０ｂからのアシスト力を得て野菜を収穫し、野菜を収納した収穫かごを運搬する。
【００９４】
本例では、パワーアシストスーツ３０ｂの複数のモータユニットとグリーンハウス６０の複数の空調用ファンとが相互に通信し、連携して動作する。
【００９５】
例えば、人物５０がパワーアシストスーツ３０ｂを利用して作業をしている位置周辺では、熱のこもり等による温度ムラが発生することが想定される。そこで、人が収穫かごを持って収穫作業をしているときは、パワーアシストスーツの１または複数のモータユニットが、グリーンハウス６０の各ファンモータユニットに、現在動作中であることを示す通知を送信する。この通知により、グリーンハウス６０の各ファンモータユニットは、人物５０がパワーアシストスーツ３０ｂを利用して作業中であることを知る。
【００９６】
本実施形態では、グリーンハウス６０の各ファンモータユニットは、パワーアシストスーツ３０ｂの位置を示す情報を取得する。パワーアシストスーツ３０ｂの位置は周知の方法で取得され得る。例えばパワーアシストスーツ３０ｂに無線タグが内蔵されており、無線タグから送信されるビーコン信号を、グリーンハウス６０内の１または複数のアンテナ装置によって受信する。周知の到来方向推定アルゴリズム、例えば最尤推定法、を利用することにより、ビーコン信号の到来方向を推定することができる。これにより、グリーンハウス６０内の無線タグの位置、つまりパワーアシストスーツ３０ｂの位置を推定することができる。
【００９７】
パワーアシストスーツ３０ｂの位置の情報を取得したグリーンハウス６０の各ファンモータユニットは、自律的に自身のモータの回転を制御する。パワーアシストスーツ３０ｂの位置から所定範囲内、例えば１５ｍ以内、に存在するファンモータユニットは、回転速度を通常よりも高める。これにより、パワーアシストスーツ３０ｂの温度ムラの発生を抑制することができる。
【００９８】
または、パワーアシストスーツ３０ｂのいずれかのモータユニットが、グリーンハウス６０の特定のファンモータユニットのモータの回転を指示してもよい。このとき、モータの回転方向および／または回転速度の制御量を上述の方法によって指定することができる。
【００９９】
図１０Ａは、人物５０が、グリーンハウス６０の入口６２付近で収穫作業を行っているときに回転速度を高める複数のファンモータユニット６４を示している。
【０１００】
また、図１０Ｂは、人物５０が移動することによって回転速度を高める、さらに他の複数のファンモータユニット６６を示している。
【０１０１】
図１０Ａおよび図１０Ｂのいずれの例でも、ファンモータユニット６４および６６以外の他のファンモータユニットは通常の回転速度で回転している。
【０１０２】
なお、パワーアシストスーツ３０ｂの総消費電力の大きさから、人物５０の運動量の大きさを推定することができる。パワーアシストスーツ３０ｂの各モータユニットがパケットに消費電力の大きさを示すデータを格納して送信することにより、グリーンハウス６０の各ファンモータユニットは総消費電力の大きさを算出することができる。総消費電力の大きさに応じて、グリーンハウス６０のファンモータユニットはモータの回転速度を増減させればよい。より具体的には、総消費電力の大きさに応じた複数の区分を設け、総消費電力が最も大きい区分に属する場合には、対象となるファンモータユニットは最も速くモータを回転させる。このとき、対象となるファンモータユニットを決定するための「所定範囲」を広げてもよい。一方、総消費電力が最も小さい区分に属する場合には、対象となるファンモータユニットは通常の回転速度よりも高速ではあるが、最速ではない回転速度でモータを回転させる。
【０１０３】
パワーアシストスーツ３０ｂを、人物５０の関節の動きを検出するセンサとして利用することもできる。例えばグリーンハウス６０内に入った人物５０の具合が突然悪くなり、人物５０が倒れたとする。早急な処置が好ましい上に、倒れたままの状態で長時間が経過すると、グリーンハウス６０内の室温によっては人物５０が熱中症になる危険性がある。
【０１０４】
そのような場合を想定して、パワーアシストスーツ３０ｂは、人物５０の動きを一定時間、例えば１５秒、検出できているか否かを監視している。相互に通信することにより、いずれのモータユニットも１５秒以上モータを駆動させていないことが検出されたときは、各モータユニットは緊急信号に相当するパケットを送信する。当該パケットは、例えば動作系コマンドとして、データの書き込みを示す「ライトデータ（Write Data）コマンド」に対応する１バイト値"0x02"を含み、さらに属性系コマンドとして、緊急事態であることを示す２バイト値"0x00"を含む。
【０１０５】
当該パケットを受信した各ファンモータユニットは、「パワーアシストスーツのモータが緊急信号を発信している」ことを示す通知を上位装置１５０に送信する。上位装置１５０は、通知の受信に応答して緊急事態が発生していることを管理者または家族に通報する。通報を受けた管理者または家族は、人物５０の様子を確認しにグリーンハウス６０に向かうことができる。
【０１０６】
なお、上述の実施形態は一例であって本開示によるマルチモータシステムを制限しない。
【産業上の利用可能性】
【０１０７】
本開示による、小数点の位置を指定する位置指定データおよび制御データを含むコマンドは、制御量の単位が異なる種々のモータを含むマルチモータシステムまたはモータ駆動システムに広く適用することができる。
【符号の説明】
【０１０８】
１０３  マルチモータシステム
１０４Ａ  関節機構
１０６Ａ  モータユニット
１１０Ａ  通信回路
１１１Ａ  バッファ
１１２Ａ  プロセッサ（制御回路）
１１３Ａ  メモリ
１１４Ａ  モータ駆動回路
１１６Ａ  関節用モータ
１０４Ｂ  関節機構
１０６Ｂ  モータユニット
１１０Ｂ  通信回路
１１１Ｂ  バッファ
１１２Ｂ  プロセッサ（制御回路）
１１３Ｂ  メモリ
１１４Ｂ  モータ駆動回路
１１６Ｂ  関節用モータ
１５０  上位装置
【図１Ａ】
2018117222.tif 000003
【図１Ｂ】
2018117222.tif 000004
【図２】
2018117222.tif 000005
【図３Ａ】
2018117222.tif 000006
【図３Ｂ】
2018117222.tif 000007
【図３Ｃ】
2018117222.tif 000008
【図４】
2018117222.tif 000009
【図５Ａ】
2018117222.tif 000010
【図５Ｂ】
2018117222.tif 000011
【図６】
2018117222.tif 000012
【図７】
2018117222.tif 000013
【図８Ａ】
2018117222.tif 000014
【図８Ｂ】
2018117222.tif 000015
【図９】
2018117222.tif 000016
【図１０Ａ】
2018117222.tif 000017
【図１０Ｂ】
2018117222.tif 000018
【国際調査報告】
2018117222.tif 000019
2018117222.tif 000020
2018117222.tif 000021
2018117222.tif 000022