(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-14
(45)【発行日】2023-12-22
(54)【発明の名称】動作装置
(51)【国際特許分類】
H04L 61/00 20220101AFI20231215BHJP
B25J 9/08 20060101ALI20231215BHJP
【FI】
H04L61/00
B25J9/08
(21)【出願番号】P 2020011410
(22)【出願日】2020-01-28
【審査請求日】2022-11-28
(73)【特許権者】
【識別番号】000005326
【氏名又は名称】本田技研工業株式会社
(74)【代理人】
【識別番号】110000800
【氏名又は名称】デロイトトーマツ弁理士法人
(72)【発明者】
【氏名】石▲崎▼ 隆介
(72)【発明者】
【氏名】下村 保貴
(72)【発明者】
【氏名】斉藤 杏実
(72)【発明者】
【氏名】荻原 俊
(72)【発明者】
【氏名】前澤 良樹
(72)【発明者】
【氏名】茶木 智大
【審査官】和平 悠希
(56)【参考文献】
【文献】特開2019-042856(JP,A)
【文献】米国特許出願公開第2010/0280786(US,A1)
【文献】特開2016-134879(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/00-12/66
H04L 41/00-101/695
B25J 9/08
(57)【特許請求の範囲】
【請求項1】
複数のモジュールを直列かつ着脱自在に連結し、当該直列に連結した複数のモジュールの一端側のモジュールを指令モジュールに着脱自在に連結することによって組み立てられ、当該指令モジュールからの制御指令によって動作が制御されるとともに、前記一端側のモジュールが前記指令モジュールに連結された際、データを一方向に送信可能なリングネットワークが構成されるモジュール型の動作装置であって、
前記指令モジュールは、
書き換え可能なデータ領域を有する確認データを生成する確認データ生成部と、
前記確認データを前記リングネットワークの前記一方向の下流側の前記モジュールに送信可能であるとともに、前記リングネットワークの前記一方向の上流側の前記モジュールから各種のデータを受信可能なデータ送受信部と、を備え、
前記複数のモジュールの各々は、
前記確認データ及び当該確認データ以外のデータを前記リングネットワークの前記一方向の上流側の前記各モジュール及び前記指令モジュールの一方から受信可能なデータ受信部と、
前記確認データが当該受信部で受信されたときに、当該確認データの前記データ領域に含まれる中継数を値1インクリメントした値に書き換える中継数書換部と、
前記各モジュールの種類を表す識別情報
と、当該各モジュールの物性及び動作特性の少なくとも一方を表す機構情報とを記憶する記憶部と、
前記受信部で受信された前記確認データの前記中継数と、前記記憶部に記憶された前記各モジュールの前記識別情報とに基づき、前記各モジュールの連結順及び前記種類を表すように、前記各モジュールの新たな識別情報である新識別情報を作成する新識別情報作成部と、
前記中継数書換部によって前記中継数が書き換えられた前記確認データと、前記新識別情報を含む新識別情報データと
、前記機構情報を含む機構情報データとを、前記リングネットワークの前記一方向の下流側の前記各モジュール及び前記指令モジュールの一方に送信可能なデータ送信部と、
を備え
、
前記指令モジュールは、前記複数の前記モジュールからの前記機構情報及び前記新識別情報に応じて、前記動作装置の重心位置及び慣性モーメントを演算する演算部をさらに備えることを特徴とする動作装置。
【請求項2】
請求項1に記載の動作装置において、
前記モジュールの前記種類は、アクチュエータを有する能動モジュールと、当該アクチュエータを有しない受動モジュールの2種類であることを特徴とする動作装置。
【請求項3】
請求項1又は2に記載の動作装置において、
前記モジュールは、当該モジュール内を流れる信号の方向に応じて、当該モジュールの連結方向を取得することを特徴とする動作装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のモジュールを指令モジュールに直列に連結することによって動作可能に組み立てられるモジュール型の動作装置に関する。
【背景技術】
【0002】
従来、動作装置として、特許文献1に記載されたロボットが知られている。このロボットは、多関節アームロボットタイプのものであり、構成ユニットとして、1つの制御ユニット、2つの回転ユニット、3つの曲げユニット及びエンドエフェクタを備えている。このロボットの場合、上述した各構成ユニットを直列に連結することによって組み立てられるとともに、組み立て後は、各構成ユニット間がデイジーチェーン接続された状態になる。
【0003】
そして、ロボットの組み立て後、各構成ユニットが所定の順序で組み立てられているか否かを確認するために、リクエスト信号が制御ユニットから構成ユニットに対してブロードキャスト送信される。それに伴い、構成ユニットにおいて、下位から上位に向かって順に、構成データがそれらの構成要素の接続番号及び識別コードを含むように生成された後、制御ユニットに送信される。
【0004】
次いで、制御ユニットは、自身の接続番号及び識別コードを含むように、構成データを生成し、これを携帯端末に送信する。そして、携帯端末では、制御ユニットからの構成データと照合データを比較し、制御ユニット及び各構成ユニットが所定の順序で組み立てられているか否かが確認される。その結果、制御ユニット及び各構成ユニットが所定の順序で組み立てられている場合には、制御ユニットによってロボットの動作を制御することが可能になる。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
上記従来のロボットによれば、制御ユニット及び各構成ユニットが所定の順序で組み立てられていない場合、所定の順序になるようにロボットの組み立て作業をやり直さない限り、制御ユニットがロボットの動作を制御することができないという問題がある。この問題は、ロボットに限らず、複数のモジュールを直列に連結することによって動作可能に組み立てられるモジュール型の動作装置においても同様に発生する。
【0007】
本発明は、上記課題を解決するためになされたもので、複数のモジュールの組み立て順序にかかわらず、組み立て後に動作を制御することが可能になるモジュール型の動作装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するために、請求項1に係る発明は、複数のモジュール(能動モジュール3、受動モジュール4)を直列かつ着脱自在に連結し、直列に連結した複数のモジュールの一端側のモジュール(能動モジュール3)を指令モジュール(ベース2)に着脱自在に連結することによって組み立てられ、指令モジュールからの制御指令によって動作が制御されるとともに、一端側のモジュールが指令モジュールに連結された際、データを一方向に送信可能なリングネットワークRNが構成されるモジュール型の動作装置1であって、指令モジュールは、書き換え可能なデータ領域を有する確認データ(ID変更要求信号)を生成する確認データ生成部(コントローラ2a、STEP4)と、確認データをリングネットワークRNの一方向の下流側のモジュール(能動モジュール3)に送信可能であるとともに、リングネットワークRNの一方向の上流側のモジュール(受動モジュール4)から各種のデータを受信可能なデータ送受信部(コントローラ2a、STEP4,5)と、を備え、複数のモジュールの各々は、確認データ及び確認データ以外のデータをリングネットワークRNの一方向の上流側の各モジュール及び指令モジュールの一方から受信可能なデータ受信部(コントローラ3a,4a、STEP11,14,23)と、確認データが受信部で受信されたときに、確認データのデータ領域に含まれる中継数(HOP)を値1インクリメントした値に書き換える中継数書換部(コントローラ3a,4a、STEP13)と、各モジュールの種類を表す識別情報と、各モジュールの物性及び動作特性の少なくとも一方を表す機構情報とを記憶する記憶部(メモリ3b,4b)と、受信部で受信された確認データの中継数(HOP)と、記憶部に記憶された各モジュールの識別情報(物理ID)とに基づき、各モジュールの連結順及び種類を表すように、各モジュールの新たな識別情報である新識別情報(新ID)を作成する新識別情報作成部(コントローラ3a,4a、STEP22)と、中継数書換部によって中継数が書き換えられた確認データと、新識別情報を含む新識別情報データと、機構情報とを、リングネットワークRNの一方向の下流側の各モジュール及び指令モジュールの一方に送信可能なデータ送信部(コントローラ3a,4a、STEP14,23)と、を備え、指令モジュールは、複数のモジュールからの機構情報及び新識別情報に応じて、動作装置の重心位置及び慣性モーメントを演算する演算部をさらに備えることを特徴とする。
【0009】
この動作装置によれば、確認データが指令モジュールのデータ送受信部からリングネットワークの一方向の下流側のモジュールに送信された場合、確認データがそのモジュールのデータ受信部で受信される。それに伴い、そのモジュールの中継数書換部では、受信した確認データのデータ領域に含まれる中継数が値1インクリメントした値に書き換えられ、中継数が変更された確認データがデータ送信部からリングネットワークの一方向の下流側のモジュール及び指令モジュールの一方に送信される。そして、中継数が変更された確認データが下流側のモジュールのデータ受信部で受信された場合には、そのモジュールの中継数書換部及びデータ送信部において、上記と同様の動作が実行される。
【0010】
さらに、モジュールの新識別情報作成部では、受信部で受信された確認データの中継数と、記憶部に記憶された各モジュールの識別情報とに基づき、各モジュールの連結順及び種類を表すように、各モジュールの新たな識別情報である新識別情報が作成される。この場合、上述したように、確認データの送受信に伴い、各モジュールにおける中継数は、値1ずつインクリメントされるので、確認データの中継数は、直列に連結された複数のモジュールにおける各モジュールの連結順を表すものとなる。それにより、確認データの中継数と、記憶部に記憶された各モジュールの識別情報とに基づき、新識別情報を作成することによって、この新識別情報を、各モジュールの連結順及び種類を適切に表すように作成することができる。
【0011】
そして、この新識別情報を含む新識別情報データ及び機構情報がリングネットワークの一方向の下流側のモジュール及び指令モジュールの一方に送信されるので、これらの新識別情報データ及び機構情報はリングネットワーク及びモジュールを介して、最終的に指令モジュールまで到達することになる。それにより、指令モジュールは、動作装置の組み立て後、各モジュールからの新識別情報に基づき、どのような種類のモジュールがどのような順番で連結されているかという連結状態を適切に取得することができる。これに加えて、指令モジュールでは、複数のモジュールからの機構情報及び新識別情報に応じて、動作装置の重心位置及び慣性モーメントが演算される。その結果、動作装置の組み立て後、指令モジュールは、それらの連結状態、動作装置の重心位置及び慣性モーメントに応じて、制御指令を適切に決定することができ、この制御指令によって、動作装置を適切に制御することができる。
【0012】
請求項2に係る発明は、請求項1に記載の動作装置において、モジュールの種類は、アクチュエータ3cを有する能動モジュール3と、アクチュエータを有しない受動モジュール4の2種類であることを特徴とする。
【0013】
この動作装置によれば、新識別情報が、能動モジュール及び受動モジュールの種類を表す情報を含んでいるので、指令モジュールは、これらの能動モジュール及び受動モジュールがどのような順番で連結されているかという情報を適切に取得することができる。その結果、動作装置の組み立て後、指令モジュールの制御指令によって、動作装置を最適に制御することができる。
【0014】
請求項3に係る発明は、請求項1又は2に記載の動作装置において、モジュールは、モジュール内を流れる信号の方向に応じて、モジュールの連結方向を取得することを特徴とする。
【0015】
この動作装置によれば、動作装置の組み立て後におけるモジュールの連結方向を取得することができる。
【図面の簡単な説明】
【0016】
【
図1】本発明の一実施形態に係る動作装置としてのロボットの組立状態の一例を示す図である。
【
図2】ロボットの全体構成を模式的に示す分解図である。
【
図3】能動モジュールの構成を模式的に示す図である。
【
図4】受動モジュールの構成を模式的に示す図である。
【
図5】第1初期通信処理を示すフローチャートである。
【
図6】第2初期通信処理を示すフローチャートである。
【
図7】第3初期通信処理を示すフローチャートである。
【
図8】第4初期通信処理を示すフローチャートである。
【
図9】ロボットの動作制御処理を示すフローチャートである。
【
図11】新IDの作成手法を説明するための図である。
【
図12】ロボットの組立状態の一例を示す図である。
【
図13】ロボットの組立状態の他の一例を示す図である。
【発明を実施するための形態】
【0017】
以下、図面を参照しながら、本発明の一実施形態に係る動作装置について説明する。
図1に示すように、本実施形態の動作装置としてのロボット1は、アームロボットタイプのものであり、ベース2、3つの能動モジュール3、3つの受動モジュール4及びエンドエフェクタ5を備えている。
【0018】
このロボット1は、モジュール型ロボットであり、これらの要素2~5を直列に連結することによって組み立てられているとともに、これらの要素2~5は互いに着脱自在に構成されている。なお、本実施形態では、ベース2が指令モジュールに相当し、能動モジュール3及び受動モジュール4がモジュールに相当する。
【0019】
このロボット1では、ベース2とエンドエフェクタ5との間に、能動モジュール3及び受動モジュール4が交互に配置されており、一端側の能動モジュール3がベース2に連結されている。また、他端側の受動モジュール4には、エンドエフェクタ5及びセンサ6などが連結されている。
【0020】
図2に示すように、ベース2には、コントローラ2aが内蔵されている。このコントローラ2aは、マイクロコンピュータで構成されており、CPU、メモリ(RAM、E2PROM、ROMなど)及び通信回路などを備えている(いずれも図示せず)。このコントローラ2aは、後述するように、第1初期通信処理などを実行する。
【0021】
このコントローラ2aは、ベース2に連結された能動モジュール3に対して、矢印Yeで示すように、電力供給線(図示せず)を介して電力を供給するとともに、2本の矢印Ysで示すように、信号線(図示せず)を介して能動モジュール3との間でデータの送受信を実行する。なお、本実施形態では、コントローラ2aが確認データ生成部、データ送受信部及び制御指令決定部に相当する。
【0022】
次に、能動モジュール3について説明する。この能動モジュール3は、ロボット1の能動関節を構成するものであり、
図3に示すように、コントローラ3a、メモリ3b、アクチュエータ3c、電磁ブレーキ3d、減速ギヤ機構3e、2つの電源回路3f,3f及び2つの通信回路3g,3gなどを備えている。なお、以下の能動モジュール3の説明では、ベース2に近い方の構成を「ベース側」と呼び、ベース2から遠い方の構成を「反ベース側」と呼ぶ。この点は、受動モジュール4の説明においても同様である。
【0023】
コントローラ3aは、ベース2のコントローラ2aと同様に、マイクロコンピュータで構成されており、アクチュエータ3c及び電磁ブレーキ3dの動作状態を制御するとともに、後述するように、第2及び第3初期通信処理などを実行する。なお、本実施形態では、コントローラ3aがデータ受信部、中継数書換部、新識別情報作成部及びデータ送信部に相当する。
【0024】
また、メモリ3b(記憶部)は、RAM、E2PROM及びROM(いずれも図示せず)などで構成されており、このROM内には、能動モジュール3の物理ID及び論理IDを表すID情報と機構情報が記憶されている。本実施形態の場合、3つの能動モジュール3の各々において、物理IDは「0x0」に、論理IDは「0x3F」にそれぞれ設定されている(後述する
図11参照)。
【0025】
また、機構情報としては、能動モジュール3の形状、重量、重心、慣性モーメント、関節角度リミット、速度リミット及び電流リミットなどの情報が含まれている。3つの能動モジュール3は、互いに異なるように構成されており、それにより、これらの能動モジュール3の機構情報は、互いに異なる値に設定されている。
【0026】
また、能動モジュール3の連結方向としては2方向が考えられる関係上、そのように異なる方向で連結された場合、能動モジュール3の重心及び慣性モーメントなどが変化することになる。そのため、各能動モジュール3の機構情報には、各能動モジュール3の2つの連結方向に対応する2種類の値が含まれている。
【0027】
さらに、アクチュエータ3cは、センサ内蔵型の電動機で構成されており、このセンサは、アクチュエータ3cの回転角度、回転速度及び電流を検出して、コントローラ3aに出力する。また、このアクチュエータ3cでは、その出力トルクが、回転軸3hを介して減速ギヤ機構3eに伝達されるとともに、電磁ブレーキ3dにより、アクチュエータ3cの回転が制動される。この減速ギヤ機構3eの出力トルクは、能動モジュール3の反ベース側に連結された受動モジュール4に伝達される。
【0028】
この能動モジュール3では、ベース2又は受動モジュール4からの電力供給がベース側の電源回路3fを介して実行されるとともに、受動モジュール4への電力供給が反ベース側の電源回路3fを介して実行される。また、ベース側の通信回路3fは、ベース2の通信回路又は受動モジュール4の後述する通信回路4dとの間でデータの送受信を実行し、反ベース側の通信回路3fは、受動モジュール4の後述する通信回路4dとの間でデータの送受信を実行する。
【0029】
次に、受動モジュール4について説明する。この受動モジュール4は、ロボット1のリンクを構成するものであり、
図4に示すように、コントローラ4a、メモリ4b、2つの電源回路4c,4c、2つの通信回路4d,4d、内界センサ4e及び外界センサ4fなどを備えている。
【0030】
コントローラ4aは、能動モジュール3のコントローラ3aと同様に、マイクロコンピュータで構成されており、後述するように、第2及び第3初期通信処理などを実行する。なお、本実施形態では、コントローラ4aが、データ受信部、中継数書換部、新識別情報作成部及びデータ送信部に相当する。
【0031】
また、メモリ4b(記憶部)は、上述したメモリ3bと同様に、RAM、E2PROM及びROM(いずれも図示せず)などで構成されており、このROM内には、受動モジュール4の物理ID及び論理IDを表すID情報と、受動モジュール4の形状、重量、重心及び慣性モーメントなどを表す機構情報が記憶されている。この場合、3つの受動モジュール4の物理ID及び論理IDは、互いに同じ値に設定されている。
【0032】
また、3つの受動モジュール4は、互いに異なる形状、重量、重心及び慣性モーメントなどを有している関係上、機構情報は互いに異なる値に設定されている。さらに、受動モジュール4も、能動モジュール3と同様に、その連結方向としては2方向が考えられる関係上、そのように異なる方向で連結された際、受動モジュール4の重心及び慣性モーメントなどが変化することになる。そのため、各受動モジュール4の機構情報には、各受動モジュール4の2つの連結方向に対応する2種類の値が含まれている。
【0033】
さらに、受動モジュール4では、能動モジュール3からの電力供給がベース側の電源回路4cを介して実行されるとともに、能動モジュール3又はエンドエフェクタ5への電力供給が、反ベース側の電源回路4cを介して実行される。また、ベース側の通信回路4cは、能動モジュール3の通信回路3fとの間でデータの送受信を実行し、反ベース側の通信回路4cは、能動モジュール3の通信回路3f又はエンドエフェクタ5の通信回路(図示せず)との間でデータの送受信を実行する。
【0034】
一方、内界センサ4eは、ロボット1の動作状態などを検出して、その検出信号をコントローラ4aに送信するものであり、能動モジュール3などとの距離及び接触を検出するセンサ及び位置センサなどで構成されている。また、外界センサ4fは、ロボット1の外部環境を検出して、その検出信号をコントローラ4aに送信するものであり、CCDイメージセンサなどで構成されている。
【0035】
次に、以上のように構成されたロボット1において実行される第1~第4初期通信処理について説明する。これらの第1~第4初期通信処理は、ロボット1が組み立てられた際、その組立状態の情報(例えば、3つの能動モジュール3及び3つの受動モジュール4の連結順の情報など)を、ベース2が取得するためのものである。なお、以下の説明では、適宜、能動モジュール3及び受動モジュール4をまとめて「モジュール3,4」と呼ぶ。
【0036】
まず、
図5を参照しながら、第1初期通信処理について説明する。この第1初期通信処理は、後述するID変更要求信号(確認データ)を、ベース2からリングネットワークRN(後述する
図10参照)を介してモジュール3,4に送信した後、ベース2で受信するものであり、ロボット1の組立後におけるロボット1の電源の投入時、ベース2のコントローラ2aによって実行される。
【0037】
同
図5に示すように、まず、第1初期通信実行済みフラグF_DONE1が「1」であるか否かを判定する(
図5/STEP1)。この第1初期通信実行済みフラグF_DONE1は、ロボット1の電源が投入されたタイミングで値「0」に設定される。この点は、後述する各種のフラグにおいても同様である。
【0038】
この判定が肯定(
図5/STEP1…YES)で、ベース2がリングネットワークRNの下流側の能動モジュール3X(
図10参照)に対してID変更要求信号を送信済みであるときには、そのまま本処理を終了する。
【0039】
一方、この判定が否定(
図5/STEP1…NO)で、ID変更要求信号を送信済みでないときには、第1送信条件が成立しているか否かを判定する(
図5/STEP2)。この第1送信条件は、ID変更要求信号の送信条件であり、具体的には、ロボット1の組立後におけるベース2の電源投入後、ベース2と、3つの能動モジュール3及び3つの受動モジュール4との間でリングネットワークが形成されたときには、第1送信条件が成立していると判定され、それ以外のときには、不成立であると判定される。
【0040】
この場合、リングネットワークは、ロボット1の組立後、コントローラ2aが全てのモジュール3,4からのネットワーク加入要求データを受信することによって形成される。そのため、リングネットワークが形成された時点では、コントローラ2aは、リングネットワーク内のモジュール3,4の全連結数を認識している状態となる。また、本実施形態では、「送信条件が成立する」とは、送信可能な状態が成立することを意味する。
【0041】
さらに、本実施形態の場合、リングネットワークとしては、
図10に示すようなリングネットワークRNが形成される。このリングネットワークRNにおいては、便宜上、エンドエフェクタ5が省略されている。
【0042】
また、このリングネットワークRNの場合、ID変更要求信号などの各種の信号は、矢印Y1~Y7で示すように、ベース2⇒能動モジュール3X⇒受動モジュール4X⇒能動モジュール3Y⇒受動モジュール4Y⇒能動モジュール3Z⇒受動モジュール4Z⇒ベース2の順で一方向にのみ流れる状態となる。
【0043】
図5に戻り、上記の判定が否定(
図5/STEP2…NO)で、第1送信条件が不成立であるときには、そのまま本処理を終了する。一方、この判定が肯定(
図5/STEP2…YES)で、第1送信条件が成立しているときには、ID変更要求信号をリングネットワークRNの下流側の能動モジュール3Xに送信する(
図5/STEP3)。
【0044】
この場合、ID変更要求信号は、図示しないが、ヘッダ、トレーラ及びCRCを含むパケットとして構成され、ブロードキャストによって送信される。また、パケットのヘッダには、HOP(中継数)及びSID(送信元ID)が含まれており、HOPは初期値として値0に設定される。このヘッダは、書き換え可能なデータ領域に相当する。
【0045】
また、ベース2のSIDは、所定値に設定される。本実施形態の場合、ベース2の物理IDが「0x3」に、論理IDが「0x0」にそれぞれ設定されており、8ビットのSIDにおける上位2ビットに物理IDを割り当て、残りの下位6ビットに論理IDを割り当てることにより、ベース2のSIDは16進数表記の「0xC0」に設定される。
【0046】
次いで、ID変更要求信号を送信済みであることを表すために、第1初期通信実行済みフラグF_DONE1を「1」に設定して(
図5/STEP4)、本処理を終了する。
【0047】
次に、
図6を参照しながら、第2初期通信処理について説明する。この第2初期通信処理は、前述したID変更要求信号を、リングネットワークRNの6つのモジュール3X~3Z,4X~4Zを経由して、ベース2まで送信するためのものであり、能動モジュール3X~3Zのコントローラ3a及び受動モジュール4X~4Zのコントローラ4aによって実行される。
【0048】
なお、以下の説明では、この第2初期通信処理及び後述する第3初期通信処理を実行中のモジュール3,4の一方を「該当モジュール」といい、リングネットワークRNにおいて、この該当モジュールの上流側及び下流側に位置するモジュール3,4の他方を「上流側モジュール」及び「下流側モジュール」という。
【0049】
同
図6に示すように、まず、第2初期通信実行済みフラグF_DONE2が「1」であるか否かを判定する(
図6/STEP10)。この判定が肯定(
図6/STEP10…YES)で、該当モジュールがID変更要求信号を送信済みであるときには、そのまま本処理を終了する。
【0050】
一方、この判定が否定(
図6/STEP10…NO)のときには、該当モジュールが前述したID変更要求信号を上流側モジュール又はベース2から受信したか否かを判定する(
図6/STEP11)。この判定が否定(
図6/STEP11…NO)で、ID変更要求信号を受信していないときには、そのまま本処理を終了する。
【0051】
一方、この判定が肯定(
図6/STEP11…YES)で、該当モジュールがID変更要求信号を受信したときには、ID変更要求信号に含まれているHOPの値を該当モジュールのメモリ内に記憶する(
図6/STEP12)。以下、この該当モジュールのメモリに記憶されたHOPの値を「HOP記憶値」という。
【0052】
次いで、ID変更要求信号を更新する(
図6/STEP13)。具体的には、ID変更要求信号に含まれているHOPを値1インクリメントした値に書き換えることにより、ID変更要求信号を更新する。
【0053】
次に、以上のように更新したID変更要求信号を、該当モジュールから下流側モジュール又はベース2に送信する(
図6/STEP14)。この場合、ID変更要求信号は、該当モジュールが能動モジュール3X~3Zのいずれかであるときには、その下流側の受動モジュール4X~4Zのいずれかに送信され、該当モジュールが受動モジュール4X,4Yの一方であるときには、その下流側の能動モジュール3Y,3Zの一方に送信される。さらに、該当モジュールが受動モジュール4Zであるときには、ID変更要求信号は、その下流側のベース2に送信される。
【0054】
次いで、該当モジュールが第2初期通信処理を実行済みであることを表すために、第2初期通信実行済みフラグF_DONE2を「1」に設定して(
図6/STEP15)、本処理を終了する。
【0055】
次に、
図7を参照しながら、第3初期通信処理について説明する。この第3初期通信処理は、以下に述べるように、該当モジュールの新IDを作成し、この新IDなどを含むモジュール情報信号を、リングネットワークRNを介して下流側モジュール又はベース2に送信するためのものであり、該当モジュールのコントローラによって実行される。
【0056】
同
図7に示すように、まず、第3初期通信実行済みフラグF_DONE3が「1」であるか否かを判定する(
図6/STEP20)。この判定が肯定(
図7/STEP20…YES)で、該当モジュールがモジュール情報信号を送信済みであるときには、後述するSTEP25に進む。
【0057】
一方、この判定が否定(
図7/STEP20…NO)のときには、前述した第2初期通信実行済みフラグF_DONE2が「1」であるか否かを判定する(
図7/STEP21)。この判定が否定(
図7/STEP21…NO)で、該当モジュールがID変更要求信号を送信済みでないときには、後述するSTEP25に進む。
【0058】
一方、この判定が肯定(
図7/STEP21…YES)で、該当モジュールがID変更要求信号を送信済みであるときには、該当モジュールの新IDを作成する(
図7/STEP22)。以下、
図11を参照しながら、この新IDの作成手法について説明する。
【0059】
図11に示すように、本実施形態の場合、能動モジュール3X~3Zでは、物理ID及び論理IDが共通の値「0x0」,「0x3F」に設定され、受動モジュール4X~4Zでは、物理ID及び論理IDが共通の値「0x1」,「0x3F」に設定されている。そのため、これらのIDを参照しても、能動モジュール3及び受動モジュール4の一方であることしか認識できない。
【0060】
そこで、
図11に示すように、6つのモジュール3X,4X,3Y,4Y,3Z,4Zにおいて、メモリ3b,4b内のHOP記憶値0~5に基づき、それらの暫定的な論理IDである暫定IDが、16進数表記の「0x00」~「0x05」として作成される。次いで、6つのモジュール3X,4X,3Y,4Y,3Z,4Zにおいて、その物理IDを8ビットの新IDにおける上位2ビットに割り当て、残りの下位6ビットに暫定IDを割り当てることにより、新IDが16進数表記の値として作成される。
【0061】
例えば、該当モジュールが能動モジュール3Xである場合、その物理IDが「0x0」で、暫定IDが「0x00」であることにより、新IDは16進数表記の「0x00」となる。また、該当モジュールが受動モジュール4Xである場合、その物理IDが「0x1」で、暫定IDが「0x01」であることにより、新IDは16進数表記の「0x41」となる。以上と同じ手法により、該当モジュールが残りの4つのモジュール3Y,4Y,3Z,4Zのいずれかである場合にも、その新IDが作成される。
【0062】
図7に戻り、以上のように、該当モジュールの新IDを作成した後、該当モジュールのモジュール情報信号を送信する(
図7/STEP23)。このモジュール情報信号は、該当モジュールの新ID、HOP及び機構情報をモジュール情報として含むように作成されるとともに、そのHOPは、値0に設定される。
【0063】
また、機構情報は、前述したような、該当モジュールの形状、重量、重心、慣性モーメントなどの情報に加えて、該当モジュール内を流れる電流の方向に基づき、該当モジュールの連結方向を含むように構成される。なお、本実施形態では、物理IDが識別情報に相当し、新IDが新識別情報に相当するとともに、モジュール情報信号が新識別情報データ及び機構情報データに相当する。
【0064】
次いで、該当モジュールがモジュール情報信号を送信済みであることを表すために、第3初期通信実行済みフラグF_DONE3を「1」に設定する(
図7/STEP24)。
【0065】
次に、モジュール情報信号を上流側モジュールから受信したか否かを判定する(
図7/STEP25)。この判定が否定(
図7/STEP25…NO)のときには、そのまま本処理を終了する。
【0066】
一方、この判定が肯定(
図7/STEP25…YES)で、モジュール情報信号を上流側モジュールから受信したときには、モジュール情報信号を更新する(
図7/STEP26)。具体的には、モジュール情報信号に含まれているHOPを値1インクリメントした値に書き換えることにより、モジュール情報信号を更新する。
【0067】
次いで、更新したモジュール情報信号を下流側モジュール又はベース2に送信して(
図7/STEP27)、本処理を終了する。
【0068】
次に、
図8を参照しながら、第4初期通信処理について説明する。この第4初期通信処理は、前述した第1初期通信処理の実行後、全てのモジュール3,4からのモジュール情報信号を受信するためのものであり、ベース2のコントローラ2aによって実行される。
【0069】
同
図8に示すように、まず、第4初期通信実行済みフラグF_DONE4が「1」であるか否かを判定する(
図8/STEP30)。この判定が肯定(
図8/STEP30…YES)で、ベース2が全てのモジュール3,4からのモジュール情報信号を受信済みであるときには、そのまま本処理を終了する。
【0070】
一方、この判定が否定(
図8/STEP30…NO)のときには、前述した第1初期通信実行済みフラグF_DONE1が「1」であるか否かを判定する(
図8/STEP31)。この判定が否定(
図8/STEP31…NO)のとき、すなわち、ベース2がID変更要求信号を送信済みでないときには、そのまま本処理を終了する。
【0071】
一方、この判定が肯定(
図8/STEP31…YES)で、ベース2がID変更要求信号を送信済みであるときには、前述したモジュール情報信号をモジュール3,4のいずれかから受信したか否かを判定する(
図8/STEP32)。この判定が否定(
図8/STEP32…NO)で、モジュール情報信号を受信してないときには、そのまま本処理を終了する。
【0072】
一方、この判定が肯定(
図8/STEP32…YES)で、前述したモジュール情報信号を受信したときには、モジュール情報信号に含まれるモジュール情報を記憶する(
図8/STEP33)。具体的には、モジュール情報における、能動モジュール3又は受動モジュール4の新IDとHOPと機構情報をコントローラ2a内のメモリに記憶する。
【0073】
次いで、全モジュール情報信号、すなわち全てのモジュール3,4からのモジュール情報信号を受信したか否かを判定する(
図8/STEP34)。具体的には、値0~5のHOPを含むモジュール情報がすべて、コントローラ2a内のメモリ内に記憶されたときに、全モジュール情報信号を受信したと判定され、それ以外のときには、モジュール情報信号を受信していないと判定される。この判定が否定(STEP34…NO)のときには、そのまま本処理を終了する。
【0074】
一方、この判定が肯定(
図8/STEP34…YES)で、全てのモジュール3,4からのモジュール情報信号を受信済みであるときには、それを表すために、第4初期通信実行済みフラグF_DONE4を「1」に設定して(
図8/STEP35)、本処理を終了する。
【0075】
以上のように、第4初期通信処理が実行され、全てのモジュール3,4からのモジュール情報信号がベース2で受信された場合、ベース2は、各モジュール情報信号におけるHOP及び新IDに基づき、能動モジュール3と受動モジュール4の連結順を取得することができるとともに、モジュール3,4内を流れる信号の方向により、モジュール3,4の連結方向を取得することができる。
【0076】
その結果、ベース2は、以上の情報とモジュール3,4の機構情報とに基づき、組立後のロボット1において、ロボット1全体の重心位置及び慣性モーメントなどを演算することができるとともに、ロボット1の可動範囲及び最大荷重などの性能を取得することができる。
【0077】
このような手法を用いるのは以下の理由による。例えば、ベース2に対して、6つのモジュール3X,4X,3Y,4Y,3Z,4Zが、
図12に示すように連結されている状態と、
図13に示すように連結されている状態と比較した場合、両者のモジュール連結順及び連結方向が異なることに起因して、重心位置及び慣性モーメントなどの力学的変化と、連結方向の差異による運動学(キネマティクス)的な変化とが生じる結果、ロボット1の可動範囲及び最大荷重などの性能において差異が生じてしまうことになる。
【0078】
したがって、本実施形態では、このようなロボット1の組立状態(すなわちモジュール3,4の連結順及び連結方向)に起因する、ロボット1の可動範囲及び最大荷重などの性能の変化を適切に取得するために、前述した第1~第4初期通信処理が実行される。
【0079】
次に、
図9を参照しながら、ロボット1の動作制御処理について説明する。この制御処理は、ロボット1の動作を制御するためのものであり、ベース2のコントローラ2aによって実行される。
【0080】
同
図9に示すように、まず、前述した第4初期通信実行済みフラグF_DONE4が「1」であるか否かを判定する(
図9/STEP40)。この判定が否定(
図9/STEP40…NO)で、全てのモジュール3,4からのモジュール情報信号を受信済みでないときには、そのまま本処理を終了する。
【0081】
一方、この判定が肯定(
図9/STEP40…YES)であるときには、制御実行条件が成立したか否かを判定する(
図9/STEP41)。この場合、ロボット1のユーザからユーザ指令が入力されたときには、制御実行条件が成立したと判定され、それ以外のときには、制御実行条件が不成立であると判定される。
【0082】
この判定が否定(
図9/STEP41…NO)のときには、そのまま本処理を終了する。一方、この判定が肯定(
図9/STEP41…YES)で、制御実行条件が成立しているときには、制御指令を決定する(
図9/STEP42)。この場合、3つの制御指令がそれぞれ3つの能動モジュール3に対して決定され、1つの制御指令がエンドエフェクタ5に対して決定される。また、これらの制御指令は、ユーザ指令と、センサ情報と、前述したモジュール3,4の連結数、連結方向及び機構情報とに基づいて決定される。
【0083】
次いで、4つの制御指令をそれぞれ含む4つの制御指令信号を、3つの能動モジュール3及びエンドエフェクタ5に出力して(
図9/STEP43)、本処理を終了する。
【0084】
以上のように、本実施形態のロボット1によれば、HOPが値0に設定されたID変更要求信号がベース2のコントローラ2aからリングネットワークRNの下流側の能動モジュール3に送信される。そして、その能動モジュール3のコントローラ3aでは、ID変更要求信号に含まれているHOPの値がメモリ3bに記憶されるとともに、ID変更要求信号のHOPを値1インクリメントした値に書き換えることにより、ID変更要求信号が更新される。次いで、更新されたID変更要求信号は、下流側の受動モジュール4に送信されるとともに、以上と同じ処理が、受動モジュール4で実行される。
【0085】
また、モジュール3,4の各々では、メモリ3b,4b内に記憶されたHOP記憶値から暫定IDが作成され、この暫定IDとメモリ3b,4b内に記憶された物理IDとに基づき、各モジュールの連結順及び種類を表すように、各モジュールの新IDが作成される。そして、この新ID、HOP及び各モジュールの機構情報を含むモジュール情報信号は、リングネットワークRNのモジュール3,4で中継されながら、最終的にベース2まで送信される。
【0086】
それにより、ベース2は、ロボット1の組み立て後、各モジュールからのモジュール情報信号の新ID、HOP及び機構情報に基づき、能動モジュール3及び受動モジュール4の連結順及び連結方向を適切に取得することができる。これに加えて、能動モジュール3の機構情報は、形状、重量、重心、慣性モーメント、関節角度リミット、速度リミット及び電流リミットなどの情報を含み、受動モジュール4の機構情報は、形状、重量、重心及び慣性モーメントなどの情報を含んでいる。
【0087】
したがって、ベース2は、能動モジュール3及び受動モジュール4の連結順及び連結方向と、モジュール3,4の機構情報とに基づき、組立後のロボット1において、ロボット1全体の重心位置及び慣性モーメントなどを演算することができるとともに、ロボット1の可動範囲及び最大荷重などの性能を取得することができる。その結果、ロボット1の組み立て後、ベース2は、以上の情報に基づき、モジュール3,4及びエンドエフェクタ5への制御指令を適切に決定することができ、この制御指令によって、ロボット1を最適に制御することができる。
【0088】
なお、実施形態は、動作装置として、ロボット1を用いた例であるが、本発明の動作装置は、これに限らず、複数のモジュールを直列かつ着脱自在に連結し、直列に連結した複数のモジュールの一端側のモジュールを指令モジュールに着脱自在に連結することによって組み立てられ、指令モジュールからの制御指令によって動作が制御されるとともに、一端側のモジュールが指令モジュールに連結された際、データを一方向に送信可能なリングネットワークが構成されるモジュール型のものであればよい。例えば、動作装置として、列車などの移動体を用いてもよい。
【0089】
また、実施形態は、指令モジュールとして、ベース2を用いた例であるが、本発明の指令モジュールは、これに限らず、指令モジュールからの制御指令によって動作装置の動作が制御されるものであればよい。例えば、指令モジュールとして、能動モジュール3又は受動モジュール4を用いてもよい。
【0090】
さらに、実施形態は、3つの能動モジュール3を用いた例であるが、能動モジュール3の数はこれに限らず、1つ以上であればよい。これと同様に、受動モジュール4の数も、実施形態の3つに限らず、1つ以上であればよい。
【0091】
さらに、実施形態は、各能動モジュール3の機構情報がメモリ3bに記憶され、各受動モジュール4の機構情報がメモリ4bに記憶されているように構成した例であるが、全ての能動モジュール3及び受動モジュール4の機構情報がベース2のコントローラ2a内のメモリに予め記憶されているように構成してもよい。
【0092】
一方、実施形態は、モジュール3,4の各々において、ID変更要求信号を送信した後、モジュール情報信号を送信した例であるが、ID変更要求信号及びモジュール情報信号を同時に送信するように構成してもよい。
【0093】
また、実施形態は、3つの能動モジュール3が互いに異なるように構成するとともに、3つの受動モジュール4が互いに異なるように構成した例であるが、これに代えて、能動モジュール3及び受動モジュール4の少なくとも一方として、標準化したものを用いてもよい。その場合には、モジュール情報信号を、能動モジュール3及び受動モジュール4の少なくとも一方の機構情報を含まないように構成してもよい。
【0094】
また、実施形態は、能動モジュール3と受動モジュール4を交互に連結した例であるが、これに代えて、複数の能動モジュール3を直列に連結したり、複数の受動モジュール4を直列に連結したりしてもよい。
【0095】
また、実施形態は、能動モジュール3の機構情報は、形状、重量、重心、慣性モーメント、関節角度リミット、速度リミット及び電流リミットなどの情報を含み、受動モジュール4の機構情報は、形状、重量、重心及び慣性モーメントなどの情報を含むように構成した例であるが、本発明の機構情報は、これに限らず、モジュールの物性及び動作特性の少なくとも一方を表すものであればよい。例えば、能動モジュール3の機構情報が、形状、重量、重心及び慣性モーメントの情報と、関節角度リミット、速度リミット及び電流リミットなどの情報との一方を含むように構成してもよい。
【0096】
一方、実施形態は、ロボット1において、能動モジュール3をベース2に連結した例であるが、受動モジュール4をベース2に連結するように構成してもよい。
【0097】
また、実施形態は、便宜上、リングネットワークRNをエンドエフェクタ5を含まないように構成した例であるが、リングネットワークをエンドエフェクタ5を含むように構成してもよい。
【符号の説明】
【0098】
1 動作装置、ロボット
2 ベース(指令モジュール)
2a コントローラ(確認データ生成部、データ送受信部、制御指令決定部)
3 能動モジュール(モジュール)
3a コントローラ(データ受信部、中継数書換部、新識別情報作成部、データ送信部)
3b メモリ(記憶部)
3c アクチュエータ
3X~3Z 能動モジュール
4 受動モジュール(モジュール)
4a コントローラ(データ受信部、中継数書換部、新識別情報作成部、データ送信部)
4b メモリ(記憶部)
4X~4Z 受動モジュール
RN リングネットワーク
HOP 中継数