(57)【特許請求の範囲】
【請求項１】
ロボット制御装置と、
前記ロボット制御装置に接続された第１のシリアル通信線と、
前記ロボット制御装置に接続された第２のシリアル通信線と、
前記ロボット制御装置との間でデータ通信を行う機器である複数の第１の接続機器と、
前記ロボット制御装置との間でデータ通信を行う機器である第２の接続機器と、
を備え、
前記第１の接続機器のそれぞれは、前記第１のシリアル通信線または前記第２のシリアル通信線の何れかに接続されることにより、前記ロボット制御装置との間で半二重化通信を行い、
前記第２の接続機器は、前記第１のシリアル通信線および前記第２のシリアル通信線に接続されることにより、前記ロボット制御装置との間で全二重化通信を行う、
ことを特徴とするロボット。
【請求項２】
前記第１の接続機器のそれぞれは、前記第１のシリアル通信線での通信負荷と、前記第２のシリアル通信線での通信負荷との差が最小となるよう、前記第１のシリアル通信線または前記第２のシリアル通信線の何れかに接続されている、
ことを特徴とする請求項１に記載のロボット。
【請求項３】
ロボット制御装置と、
前記ロボット制御装置に接続された第１のシリアル通信線と、
前記ロボット制御装置に接続された第２のシリアル通信線と、
前記ロボット制御装置との間でデータ通信を行う機器である複数の第１の接続機器と、
前記ロボット制御装置との間でデータ通信を行う機器である第２の接続機器と、
を備え、
前記第１の接続機器および前記第２の接続機器は、前記第１のシリアル通信線および前記第２のシリアル通信線に接続されており、
前記第１の接続機器のそれぞれは、前記ロボット制御装置からの指示があった場合には、前記指示に従って前記第１のシリアル通信線および前記第２のシリアル通信線の何れかを用いて前記ロボット制御装置との間で半二重化通信を行い、
前記第２の接続機器は、前記ロボット制御装置との間で全二重化通信を行う、
ことを特徴とするロボット。
【請求項４】
前記ロボット制御装置は、前記第１の接続機器および前記第２の接続機器のそれぞれに、各接続機器の識別情報を要求するコマンドを送信し、
前記第１の接続機器および前記第２の接続機器のそれぞれは、それぞれが格納している識別情報を前記ロボット制御装置に送信し、
前記ロボット制御装置は、前記識別情報に基づいて前記ロボット制御装置に接続されている前記第１の接続機器および前記第２の接続機器の個数を特定し、特定結果に基づいて、前記第１の接続機器に前記半二重化通信および前記全二重化通信の何れを行わせるかを判定し、前記半二重化通信を行わせる場合には、前記第１の接続機器のそれぞれに対し、前記第１のシリアル通信線または前記第２のシリアル通信線の何れかを指定したコマンドを送信し、
前記第１の接続機器は、指定された前記第１のシリアル通信線または指定された前記第２のシリアル通信線を用いて、前記ロボット制御装置との間で前記半二重化通信を行う、
ことを特徴とする請求項３に記載のロボット。
【請求項５】
前記ロボット制御装置は、前記第１のシリアル通信線での通信負荷と、前記第２のシリアル通信線での通信負荷との差が最小となるよう、前記第１の接続機器のそれぞれに対し、前記第１のシリアル通信線または前記第２のシリアル通信線の何れかを設定する、
ことを特徴とする請求項４に記載のロボット。
【請求項６】
前記ロボット制御装置から前記第２の接続機器へのデータ通信の伝送周期あたりのデータ送信量は、前記ロボット制御装置から前記第１の接続機器のそれぞれへのデータ通信の伝送周期あたりのデータ送信量よりも多い、
ことを特徴とする請求項１から５の何れか１つに記載のロボット。
【請求項７】
前記ロボット制御装置は、ロボットアームの各動作軸を駆動するサーボモータと、前記ロボットアームのハンドを駆動するアクチュエータとを制御し、
前記第１の接続機器は、前記サーボモータの回転位置を検出する位置検出器であり、
前記第２の接続機器は、前記アクチュエータである、
ことを特徴とする請求項１から６の何れか１つに記載のロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットアームの動作を検出するロボットに関する。
【背景技術】
【０００２】
ロボットは、ロボットアームと、ロボットアームを制御するロボット制御装置とで構成されており、ロボットアーム内には、ロボットアームの各動作軸の動作を制御するサーボモータと、サーボモータの回転位置を検出する位置検出器とが配置されている。【０００３】
ロボット制御装置と位置検出器との間の通信は、１対１で通信する方法と、１つのシリアル伝送路に複数の位置検出器を接続して、１対多で通信する方法とがある。１対１で通信する場合、位置検出器の数分のシリアル伝送路が必要になり、ロボットアーム内の配線が増えるので、ロボットの動作によって断線する場合がある。【０００４】
特許文献１に記載のロボットは、複数の位置検出器を双方向通信が可能な半二重シリアル伝送路に並列接続し、１つのシリアル伝送路を介して駆動制御装置から位置検出器にリクエスト信号を出力することで、１対多の通信を行っている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−２６０５８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記特許文献１の技術では、位置検出器の数が増えると伝送周期分だけ通信速度に遅れが生じるので通信性能が低下する。駆動制御装置に接続されて駆動制御装置との間でデータ通信を行うアクチュエータ等の接続機器は、位置検出器と異なり伝送路を介したデータの送受信量が多いので、通信性能が低下すると所望の動作を実行することができない。このため、データの送受信量が多い接続機器は、駆動制御装置との間で全二重化通信を行うことが望まれる。特許文献１の技術に対して、全二重化通信を行うための配線を追加すると、全二重化通信を行うための配線と、半二重化通信を行うための配線とを別々に設ける必要があり、配線数が増加するという問題があった。【０００７】
本発明は、上記に鑑みてなされたものであって、配線数の増加を抑制しつつ、半二重化通信を行う接続機器と、全二重化通信を行う接続機器とをロボット制御装置に接続することができるロボットを得ることを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明のロボットは、ロボット制御装置と、ロボット制御装置に接続された第１のシリアル通信線と、ロボット制御装置に接続された第２のシリアル通信線と、を備えている。また、本発明のロボットは、ロボット制御装置との間でデータ通信を行う機器である複数の第１の接続機器と、ロボット制御装置との間でデータ通信を行う機器である第２の接続機器と、を備えている。第１の接続機器のそれぞれは、第１のシリアル通信線または第２のシリアル通信線の何れかに接続されることにより、ロボット制御装置との間で半二重化通信を行い、第２の接続機器は、第１のシリアル通信線および第２のシリアル通信線に接続されることにより、ロボット制御装置との間で全二重化通信を行う。
【発明の効果】
【０００９】
本発明にかかるロボットは、配線数の増加を抑制しつつ、半二重化通信を行う接続機器と、全二重化通信を行う接続機器とをロボット制御装置に接続することができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１にかかるロボットの構成を示す図
【図２】実施の形態１にかかるロボット内の接続構成を示す図
【図３】実施の形態１にかかるロボット内での伝送周期を説明するための図
【図４】実施の形態２にかかるロボット内の接続構成を示す図
【図５】実施の形態２にかかる制御回路のハードウェア構成例を示す図
【発明を実施するための形態】
【００１１】
以下に、本発明の実施の形態にかかるロボットを図面に基づいて詳細に説明する。なお、これらの実施の形態によりこの発明が限定されるものではない。
【００１２】
実施の形態１．
図１は、実施の形態１にかかるロボットの構成を示す図である。ロボット１００は、ロボットアーム２０と、ロボットアーム２０を制御するロボット制御装置１１とを備えている。
【００１３】
ロボットアーム２０は、複数のサーボモータ１３と、複数の位置検出器１４と、シリアル通信線群１２と、センサ１６と、電動アクチュエータであるアクチュエータ１７と、ハンド１８とを備えている。位置検出器１４、センサ１６、およびアクチュエータ１７は、ロボット制御装置１１との間でデータ通信を行う。
【００１４】
ロボットアーム２０は、動作軸毎にサーボモータ１３を備えている。また、ロボットアーム２０は、サーボモータ１３毎に位置検出器１４を備えている。図１では、ロボットアーム２０が、６軸の動作軸を有し、６つのサーボモータ１３と、６つの位置検出器１４とを備えている場合を示している。
【００１５】
各サーボモータ１３は、ロボット制御装置１１からの指示に従って各動作軸を駆動する。位置検出器１４は、サーボモータ１３の位置を検出し、検出した位置を示す位置データをロボット制御装置１１に送信する。位置検出器１４の例は、エンコーダである。
【００１６】
ハンド１８は、物を掴む機能を有している。アクチュエータ１７は、ロボット制御装置１１との間でデータ通信を行う接続機器の一例である。アクチュエータ１７は、ロボット制御装置１１からの指示に従ってハンド１８を駆動させ、アクチュエータ１７の動作状態のデータをロボット制御装置１１に送信する。以下の説明では、アクチュエータ１７が、ロボット制御装置１１との間で送受信するデータをアクチュエータデータという。センサ１６の例は、圧力センサである。センサ１６が圧力センサである場合、センサ１６は、ロボットアーム２０が、他の機器等に接触したか否かを検出する。センサ１６は、検出したデータであるセンサデータをロボット制御装置１１に送信する。
【００１７】
位置検出器１４およびセンサ１６が、第１の接続機器であり、アクチュエータ１７が第２の接続機器である。各位置検出器１４、センサ１６、およびアクチュエータ１７は、シリアル通信線群１２を介して、ロボット制御装置１１に接続されている。各位置検出器１４、センサ１６、およびアクチュエータ１７は、シリアル通信線群１２を介して、ロボット制御装置１１との間でデータ通信を行う。実施の形態１では、各位置検出器１４およびセンサ１６は、アクチュエータ１７よりも、通信性能の低下が許容されるものとする。すなわち、各位置検出器１４およびセンサ１６は、通信性能が低下した場合であっても、所望の動作が可能であるものとする。換言すると、ロボット制御装置１１から第２の接続機器（アクチュエータ１７）へのデータ通信の伝送周期あたりのデータ送信量は、ロボット制御装置１１から第１の接続機器（位置検出器１４およびセンサ１６）のそれぞれへのデータ通信の伝送周期あたりのデータ送信量（第１の接続機器の個別のデータ送信量）よりも多い。また、第２の接続機器からロボット制御装置１１へのデータ通信の伝送周期あたりのデータ送信量は、第１の接続機器からロボット制御装置１１へのそれぞれへのデータ通信の伝送周期あたりのデータ送信量よりも多い。シリアル通信線群１２は、シリアル通信を行うための通信線の集まりである。
【００１８】
つぎに、各位置検出器１４、センサ１６、およびアクチュエータ１７と、ロボット制御装置１１との接続構成について説明する。図２は、実施の形態１にかかるロボット内の接続構成を示す図である。図２では、ロボット１００に配置される位置検出器１４が、位置検出器１４Ａ，１４Ｂ，１４Ｃ，１４Ｄの４つである場合を示している。
【００１９】
シリアル通信線群１２は、４本のシリアル通信線を有している。シリアル通信線群１２は、２本の組のシリアル通信線ＡＸと、２本の組のシリアル通信線ＢＸとを有している。第１のシリアル通信線であるシリアル通信線ＡＸは、差動通信を行うために、２本のシリアル通信線ＡＸ（Ａ＋，Ａ−）で構成されており、第２のシリアル通信線であるシリアル通信線ＢＸは、差動通信を行うために、２本のシリアル通信線ＢＸ（Ｂ＋，Ｂ−）で構成されている。
【００２０】
ロボット１００では、シリアル通信線ＡＸ（Ａ＋，Ａ−），ＢＸ（Ｂ＋，Ｂ−）で、それぞれ半二重化通信を行うことができ、またシリアル通信線ＡＸ（Ａ＋，Ａ−）およびシリアル通信線ＢＸ（Ｂ＋，Ｂ−）の４本の通信線を使用して全二重化通信を行うことができる。
【００２１】
以下、シリアル通信線ＡＸのうちの、Ａ＋（非反転）の通信線をシリアル通信線Ａ＋といい、Ａ−（反転）の通信線をシリアル通信線Ａ−という場合がある。また、シリアル通信線ＢＸのうちの、Ｂ＋（非反転）の通信線をシリアル通信線Ｂ＋といい、Ｂ−（反転）の通信線をシリアル通信線Ｂ−という場合がある。
【００２２】
位置検出器１４Ｃおよびセンサ１６は、それぞれシリアル通信線Ａ＋，Ａ−の２本の通信線に接続されている。また、位置検出器１４Ａ，１４Ｂ，１４Ｄは、それぞれシリアル通信線Ｂ＋，Ｂ−の２本の通信線に接続されている。そして、アクチュエータ１７は、シリアル通信線Ａ＋，Ａ−，Ｂ＋，Ｂ−の４本の通信線に接続されている。
【００２３】
また、ロボット制御装置１１は、シリアル通信線Ａ＋，Ａ−，Ｂ＋，Ｂ−の４本の通信線に接続されている。この構成により、位置検出器１４Ａ〜１４Ｄおよびセンサ１６は、ロボット制御装置１１との間で半二重化通信を行い、アクチュエータ１７は、ロボット制御装置１１との間で全二重化通信を行う。これにより、半二重化通信で使用される位置検出器１４Ａ〜１４Ｄおよびセンサ１６、全二重化通信で使用するアクチュエータ１７を、それぞれ通信速度を落とすことなく、ロボット制御装置１１との間で通信させることができる。
【００２４】
ロボット制御装置１１は、制御回路３０と、差動ドライブ３２，３４と、差動レシーバ３１，３３とを備えている。差動レシーバ３１は、出力端子が制御回路３０に接続され、非反転入力端子がシリアル通信線Ａ＋に接続され、反転入力端子がシリアル通信線Ａ−に接続されている。
【００２５】
また、差動レシーバ３３は、出力端子が制御回路３０に接続され、非反転入力端子がシリアル通信線Ｂ＋に接続され、反転入力端子がシリアル通信線Ｂ−に接続されている。
【００２６】
また、差動ドライブ３２は、入力端子が制御回路３０に接続され、非反転出力端子がシリアル通信線Ａ＋に接続され、反転出力端子がシリアル通信線Ａ−に接続されている。
【００２７】
また、差動ドライブ３４は、入力端子が制御回路３０に接続され、非反転出力端子がシリアル通信線Ｂ＋に接続され、反転出力端子がシリアル通信線Ｂ−に接続されている。
【００２８】
差動ドライブ３２，３４および差動レシーバ３１，３３は、イネーブル信号の入力端子を有している。イネーブル信号の入力端子は、制御回路３０から送られてくるイネーブル信号を受け付ける。制御回路３０の例は、マイクロコンピュータである。
【００２９】
位置検出器１４Ａは、制御回路４０Ａ、差動ドライブ４１Ａ、および差動レシーバ４２Ａを備えている。差動ドライブ４１Ａは、入力端子が制御回路４０Ａに接続され、非反転出力端子がシリアル通信線Ｂ＋に接続され、反転出力端子がシリアル通信線Ｂ−に接続されている。差動レシーバ４２Ａは、出力端子が制御回路４０Ａに接続され、非反転入力端子がシリアル通信線Ｂ＋に接続され、反転入力端子がシリアル通信線Ｂ−に接続されている。
【００３０】
位置検出器１４Ｂは、制御回路４０Ｂ、差動ドライブ４１Ｂ、および差動レシーバ４２Ｂを備えている。差動ドライブ４１Ｂは、入力端子が制御回路４０Ｂに接続され、非反転出力端子がシリアル通信線Ｂ＋に接続され、反転出力端子がシリアル通信線Ｂ−に接続されている。差動レシーバ４２Ｂは、出力端子が制御回路４０Ｂに接続され、非反転入力端子がシリアル通信線Ｂ＋に接続され、反転入力端子がシリアル通信線Ｂ−に接続されている。
【００３１】
位置検出器１４Ｄは、制御回路４０Ｄ、差動ドライブ４１Ｄ、および差動レシーバ４２Ｄを備えている。差動ドライブ４１Ｄは、入力端子が制御回路４０Ｄに接続され、非反転出力端子がシリアル通信線Ｂ＋に接続され、反転出力端子がシリアル通信線Ｂ−に接続されている。差動レシーバ４２Ｄは、出力端子が制御回路４０Ｄに接続され、非反転入力端子がシリアル通信線Ｂ＋に接続され、反転入力端子がシリアル通信線Ｂ−に接続されている。
【００３２】
位置検出器１４Ｃは、制御回路４０Ｃ、差動ドライブ４１Ｃ、および差動レシーバ４２Ｃを備えている。差動ドライブ４１Ｃは、入力端子が制御回路４０Ｃに接続され、非反転出力端子がシリアル通信線Ａ＋に接続され、反転出力端子がシリアル通信線Ａ−に接続されている。差動レシーバ４２Ｃは、出力端子が制御回路４０Ｃに接続され、非反転入力端子がシリアル通信線Ａ＋に接続され、反転入力端子がシリアル通信線Ａ−に接続されている。
【００３３】
センサ１６は、制御回路６０、差動ドライブ６１、および差動レシーバ６２を備えている。差動ドライブ６１は、入力端子が制御回路６０に接続され、非反転出力端子がシリアル通信線Ａ＋に接続され、反転出力端子がシリアル通信線Ａ−に接続されている。差動レシーバ６２は、出力端子が制御回路６０に接続され、非反転入力端子がシリアル通信線Ａ＋に接続され、反転入力端子がシリアル通信線Ａ−に接続されている。
【００３４】
アクチュエータ１７は、制御回路７０、差動ドライブ７１、および差動レシーバ７２を備えている。差動ドライブ７１は、入力端子が制御回路７０に接続され、非反転出力端子がシリアル通信線Ｂ＋に接続され、反転出力端子がシリアル通信線Ｂ−に接続されている。差動レシーバ７２は、出力端子が制御回路７０に接続され、非反転入力端子がシリアル通信線Ｂ＋に接続され、反転入力端子がシリアル通信線Ｂ−に接続されている。
【００３５】
ロボット制御装置１１は、位置検出器１４Ａ〜１４Ｄ、センサ１６、およびアクチュエータ１７に対し、リクエストコマンドを送信する。位置検出器１４Ａ〜１４Ｄ、センサ１６、およびアクチュエータ１７は、ロボット制御装置１１からリクエストコマンドを受信すると、リクエストコマンドの内容に対応するデータをロボット制御装置１１に送信する。
【００３６】
位置検出器１４Ａ〜１４Ｄは、位置データをロボット制御装置１１に送信する。なお、以下の説明では、位置検出器１４Ａが送信する位置データを位置データ＃１といい、位置検出器１４Ｂが送信する位置データを位置データ＃２といい、位置検出器１４Ｃが送信する位置データを位置データ＃３といい、位置検出器１４Ｄが送信する位置データを位置データ＃４という場合がある。センサ１６は、センサデータをロボット制御装置１１に送信し、アクチュエータ１７は、ロボット制御装置１１との間で、アクチュエータデータを送受信する。
【００３７】
このように、ロボット制御装置１１は、位置検出器１４Ａ，１４Ｂ，１４Ｄとの間では、シリアル通信線Ｂ＋，Ｂ−を用いて半二重化通信を行い、位置検出器１４Ｃおよびセンサ１６との間ではシリアル通信線Ａ＋，Ａ−を用いて半二重化通信を行う。そして、ロボット制御装置１１は、アクチュエータ１７との間ではシリアル通信線Ａ＋，Ａ−，Ｂ＋，Ｂ−を用いて全二重化通信を行う。
【００３８】
これにより、全二重化通信が不要な装置（位置検出器１４Ａ〜１４Ｄ、センサ１６）に対しては、半二重化通信を行うことができ、全二重化通信が必要な装置（アクチュエータ１７）に対しては、全二重化通信を行うことができる。したがって、ロボット制御装置１１は、ロボットアーム２０との間で通信速度を確保することができるので、適切な速さでロボットアーム２０と通信することができる。例えば、ロボット制御装置１１に接続される位置検出器１４の数を増やした場合であっても、ロボット制御装置１１は、アクチュエータ１７とは全二重化通信を行うことができるので、アクチュエータ１７との間の通信速度を確保できる。また、センサ１６またはアクチュエータ１７を拡張（追加）した場合であっても、位置検出器１４Ａ，１４Ｂ，１４Ｃ，１４Ｄの配線をシリアル通信線ＡＸまたはシリアル通信線ＢＸに適切に配分することによって、適切な伝送周期を設定することができる。
【００３９】
図３は、実施の形態１にかかるロボット内での伝送周期を説明するための図である。図３の横軸は時間である。図３の上段は、ロボット制御装置１１が、シリアル通信線Ａ＋，Ａ−を用いて送受信する信号を示し、図３の下段は、ロボット制御装置１１が、シリアル通信線Ｂ＋，Ｂ−を用いて送受信する信号を示している。
【００４０】
ロボット制御装置１１は、シリアル通信線ＡＸにリクエストコマンドをコマンド送信すると（Ｔ１）、このリクエストコマンドを、位置検出器１４Ｃ、センサ１６、およびアクチュエータ１７が受信する。位置検出器１４Ｃ、センサ１６、およびアクチュエータ１７は、リクエストコマンドを受信すると、ロボット制御装置１１に送信するデータを準備する。
【００４１】
この後、位置検出器１４Ｃ、センサ１６、およびアクチュエータ１７は、ロボット制御装置１１から個別にデータ要求指示が送られてくると、データ要求指示に対応するデータをロボット制御装置１１に送信する。すなわち、ロボット制御装置１１は、位置検出器１４Ｃおよびセンサ１６に対し、データのリードを行い、アクチュエータ１７に対し、データのリードおよびライトを行う。
【００４２】
具体的には、センサ１６は、シリアル通信線ＡＸにセンサデータを送信し、ロボット制御装置１１がセンサデータを受信する（Ｔ２）。位置検出器１４Ｃは、シリアル通信線ＡＸに位置データ＃３を送信し、ロボット制御装置１１が位置データ＃３を受信する（Ｔ３）。また、ロボット制御装置１１は、シリアル通信線ＡＸにアクチュエータデータを送信し（Ｔ４）、アクチュエータ１７が、アクチュエータデータを受信する。ロボット制御装置１１がアクチュエータ１７に送信するアクチュエータデータは、例えば、ハンド１８のグリップをオンまたはオフにさせる制御信号である。
【００４３】
ロボット制御装置１１は、シリアル通信線ＢＸにリクエストコマンドをコマンド送信すると（Ｔ１１）、このリクエストコマンドを、位置検出器１４Ａ，１４Ｂ，１４Ｄ、およびアクチュエータ１７が受信する。位置検出器１４Ａ，１４Ｂ，１４Ｄ、およびアクチュエータ１７は、リクエストコマンドを受信すると、ロボット制御装置１１に送信するデータを準備する。
【００４４】
この後、位置検出器１４Ａ，１４Ｂ，１４Ｄ、およびアクチュエータ１７は、ロボット制御装置１１から個別にデータ要求指示が送られてくると、データ要求指示に対応するデータをロボット制御装置１１に送信する。すなわち、ロボット制御装置１１は、位置検出器１４Ａ，１４Ｂ，１４Ｄに対し、データのリードを行い、アクチュエータ１７に対し、データのリードおよびライトを行う。
【００４５】
具体的には、位置検出器１４Ａは、シリアル通信線ＢＸに位置データ＃１を送信し、ロボット制御装置１１が位置データ＃１を受信する（Ｔ１２）。位置検出器１４Ｂは、シリアル通信線ＢＸに位置データ＃２を送信し、ロボット制御装置１１が位置データ＃２を受信する（Ｔ１３）。位置検出器１４Ｄは、シリアル通信線ＢＸに位置データ＃４を送信し、ロボット制御装置１１が位置データ＃４を受信する（Ｔ１４）。アクチュエータ１７は、シリアル通信線ＢＸにアクチュエータデータを送信し、ロボット制御装置１１がアクチュエータデータを受信する（Ｔ１５）。ロボット制御装置１１がアクチュエータ１７から受信するアクチュエータデータは、例えば、ハンド１８のグリップのオン状態またはオフ状態を示す信号である。
【００４６】
ロボット１００では、Ｔ１からＴ４のデータ伝送と、Ｔ１１からＴ１５のデータ伝送とが並行して実行される。
【００４７】
ロボット制御装置１１が、シリアル通信線ＡＸおよびシリアル通信線ＢＸにリクエストコマンドのコマンド送信を開始してから、Ｔ１からＴ４のデータ伝送およびＴ１１からＴ１５のデータ伝送の両方が完了するまでの期間がロボット１００の伝送周期である。ロボット制御装置１１は、シリアル通信線ＡＸ上におけるデータ送受信のタイミングを制御するため、シリアル通信線ＡＸに接続されている接続機器と順番にデータ通信を行う。例えば、ロボット制御装置１１は、センサ１６にデータ要求指示を送り、センサ１６からセンサデータを受信し、その後、位置検出器１４Ｃにデータ要求指示を送り、位置検出器１４Ｃから位置データ＃３を受信する。その後、ロボット制御装置１１は、アクチュエータ１７にアクチュエータデータを送信する。これにより、ロボット制御装置１１は、シリアル通信線ＡＸでの半二重化通信の受信と、全二重化通信の送信とを調停する。なお、ロボット制御装置１１は、位置検出器１４Ｃおよびセンサ１６のそれぞれに特定のタイミングでデータ要求指示を送り、アクチュエータ１７に特定のタイミングでアクチュエータデータを送信してもよい。すなわち、ロボット制御装置１１は、特定の周期毎に、シリアル通信線ＡＸに接続されている接続機器とデータ通信を実行してもよい。
【００４８】
なお、実施の形態１では、ロボット１００が差動通信を行う場合について説明したが、ロボット１００は、差動通信以外の通信を用いてもよい。また、半二重化通信を行う接続機器は、５つに限らず、４つ以下であってもよいし、６つ以上であってもよい。また、全二重化通信を行う接続機器は、１つに限らず、２つ以上であってもよい。また、半二重化通信を行う接続機器は、位置検出器１４Ａ〜１４Ｄおよびセンサ１６以外の別種類の接続機器であってもよい。また、全二重化通信を行う接続機器は、オン信号およびオフ信号の入出力を行う入出力装置（ＩＯ（Input  Output）装置とも呼ばれる）といったアクチュエータ１７以外の別種類の接続機器であってもよい。
【００４９】
このように、実施の形態１によれば、シリアル通信線ＡＸ，ＢＸを用いて、位置検出器１４Ａ〜１４Ｄおよびセンサ１６が半二重化通信を行うとともに、シリアル通信線ＡＸ，ＢＸを用いて、アクチュエータ１７が全二重化通信を行うので、１対多の伝送路に、全二重化通信が望まれるアクチュエータ１７を接続することができる。
【００５０】
実施の形態２．
つぎに、図４を用いてこの発明の実施の形態２について説明する。実施の形態２では、位置検出器およびアクチュエータを、シリアル通信線ＡＸ，ＢＸの両方に接続しておき、ロボット制御装置１１によって、半二重化通信と全二重化通信とを切替える。
【００５１】
図４は、実施の形態２にかかるロボット内の接続構成を示す図である。図４の各構成要素のうち図２に示す実施の形態１のロボット１００と同一機能を達成する構成要素については同一符号を付しており、重複する説明は省略する。
【００５２】
ロボット１００Ｘは、ロボット１００の別構成例である。ロボット１００Ｘでは、ロボット制御装置１１Ｘに、複数の位置検出器１４とアクチュエータ１７Ｘとが接続されている。図４では、ロボット１００Ｘに配置される位置検出器１４が、位置検出器１４Ｐ，１４Ｑ，１４Ｒの３つである場合を示している。
【００５３】
ロボット制御装置１１Ｘは、制御回路３０Ｘと、差動ドライブ３２，３４と、差動レシーバ３１，３３とを備えている。制御回路３０Ｘは、制御回路３０の機能に加えて、位置検出器１４Ｐ〜１４Ｒに対して半二重化通信と全二重化通信とを切替えさせる機能を有している。
【００５４】
位置検出器１４Ｐは、制御回路４０Ｐ、差動ドライブ４２Ｐ，４４Ｐ、および差動レシーバ４１Ｐ，４３Ｐを備えている。位置検出器１４Ｑは、制御回路４０Ｑ、差動ドライブ４２Ｑ，４４Ｑ、および差動レシーバ４１Ｑ，４３Ｑを備えている。位置検出器１４Ｒは、制御回路４０Ｒ、差動ドライブ４２Ｒ，４４Ｒ、および差動レシーバ４１Ｒ，４３Ｒを備えている。
【００５５】
差動レシーバ４１Ｐ，４１Ｑ，４１Ｒは、非反転入力端子がシリアル通信線Ａ＋に接続され、反転入力端子がシリアル通信線Ａ−に接続されている。差動ドライブ４２Ｐ，４２Ｑ，４２Ｒは、非反転出力端子がシリアル通信線Ａ＋に接続され、反転出力端子がシリアル通信線Ａ−に接続されている。差動レシーバ４３Ｐ，４３Ｑ，４３Ｒは、非反転入力端子がシリアル通信線Ｂ＋に接続され、反転入力端子がシリアル通信線Ｂ−に接続されている。差動ドライブ４４Ｐ，４４Ｑ，４４Ｒは、非反転出力端子がシリアル通信線Ｂ＋に接続され、反転出力端子がシリアル通信線Ｂ−に接続されている。
【００５６】
差動レシーバ４１Ｐ，４３Ｐの出力端子は、制御回路４０Ｐに接続され、差動ドライブ４２Ｐ，４４Ｐの入力端子は、制御回路４０Ｐに接続されている。差動レシーバ４１Ｑ，４３Ｑの出力端子は、制御回路４０Ｑに接続され、差動ドライブ４２Ｑ，４４Ｑの入力端子は、制御回路４０Ｑに接続されている。差動レシーバ４１Ｒ，４３Ｒの出力端子は、制御回路４０Ｒに接続され、差動ドライブ４２Ｒ，４４Ｒの入力端子は、制御回路４０Ｒに接続されている。
【００５７】
差動ドライブ４２Ｐ，４４Ｐおよび差動レシーバ４１Ｐ，４３Ｐは、イネーブル信号の入力端子を有している。イネーブル信号の入力端子は、制御回路４０Ｐから送られてくるイネーブル信号を受け付ける。
【００５８】
差動ドライブ４２Ｑ，４４Ｑおよび差動レシーバ４１Ｑ，４３Ｑは、イネーブル信号の入力端子を有している。イネーブル信号の入力端子は、制御回路４０Ｑから送られてくるイネーブル信号を受け付ける。
【００５９】
差動ドライブ４２Ｒ，４４Ｒおよび差動レシーバ４１Ｒ，４３Ｒは、イネーブル信号の入力端子を有している。イネーブル信号の入力端子は、制御回路４０Ｒから送られてくるイネーブル信号を受け付ける。
【００６０】
なお、制御回路４０Ｐ〜４０Ｒは、同様の機能を有し、同様の動作を実行するので、以下では、制御回路４０Ｐの機能および動作について説明する。制御回路４０Ｐは、制御回路４０Ａ〜４０Ｄの機能に加えて、全二重化通信と半二重化通信とを切替える機能を有している。具体的には、制御回路４０Ｐは、ロボット制御装置１１Ｘからの指示に従って、差動ドライブ４２Ｐ，４４Ｐおよび差動レシーバ４１Ｐ，４３Ｐにイネーブル信号を送信する機能を有している。
【００６１】
また、位置検出器１４Ｐは、位置検出器１４Ｐの機器ＩＤ（IDentification）をロボット制御装置１１Ｘに送信する機能を備えている。また、アクチュエータ１７Ｘは、アクチュエータ１７と比較して、制御回路７０の代わりに、制御回路７０Ｘを備えている。制御回路７０Ｘは、制御回路７０の機能に加えて、アクチュエータ１７Ｘの機器ＩＤをロボット制御装置１１Ｘに送信する機能を備えている。すなわち、ロボット１００Ｘでは、ロボット制御装置１１Ｘに接続されている接続機器が、自らの接続機器の機器ＩＤをロボット制御装置１１Ｘに送信する機能を有している。機器ＩＤは、接続機器に固有の識別情報である。機器ＩＤの例は、接続機器の製品ＩＤである。
【００６２】
ロボット制御装置１１Ｘの制御回路３０Ｘは、通信初期化時に、ロボット制御装置１１Ｘに接続されている接続機器の個数および種類に基づいて、各接続機器に、半二重化通信と全二重化通信との何れを行わせるかを決定する。また、制御回路３０Ｘは、半二重化通信を行わせる接続機器に対しては、シリアル通信線ＡＸおよびシリアル通信線ＢＸの何れで半二重化通信を行わせるかを選択して設定する。実施の形態２では、制御回路３０Ｘが、位置検出器１４Ｐ〜１４Ｒに半二重化通信を行わせ、アクチュエータ１７Ｘに全二重化通信を行わせる場合について説明する。
【００６３】
通信初期化時には、制御回路３０Ｘが、接続機器に対して、機器ＩＤを要求するコマンドを送信する。各接続機器は、各接続機器が格納している機器ＩＤをロボット制御装置１１Ｘに送信する。制御回路３０Ｘは、各接続機器から各機器ＩＤを受信すると、受信した機器ＩＤに基づいて、接続機器の個数および種類を特定し、特定結果に基づいて、シリアル通信線ＡＸ，ＢＸの全体の通信負荷を判定する。なお、制御回路３０Ｘは、位置検出器１４の個数に基づいて、通信負荷を判定してもよい。すなわち、制御回路３０Ｘは、全二重化通信が不要な接続機器（位置検出器１４、センサ１６等）の個数に基づいて、通信負荷を判定してもよい。通信負荷は、接続機器の種類毎に異なるものであるので、ロボット制御装置１１Ｘには、接続機器の機器ＩＤ毎の通信負荷の情報（以下、負荷情報という）を格納しておく。
【００６４】
また、ロボット制御装置１１Ｘには、全二重化通信が不要な接続機器である第１の接続機器と、全二重化通信が必要な接続機器である第２の接続機器とが接続されている。これらの接続機器を識別するため、ロボット制御装置１１Ｘには、半二重化通信を行わせてもよい接続機器の機器ＩＤと、半二重化通信を行わせない接続機器の機器ＩＤとを指定した情報（以下、指定情報という）を格納しておく。全二重化通信が不要な接続機器の例は、位置検出器１４Ｐ〜１４Ｒであり、全二重化通信が必要な接続機器の例は、アクチュエータ１７Ｘである。全二重化通信が必要な接続機器は、全二重化通信が不要な接続機器よりも、速い通信速度が要求される。
【００６５】
制御回路３０Ｘは、接続機器の個数および種類と、負荷情報とに基づいて、シリアル通信線ＡＸ，ＢＸの全体の通信負荷を判定し、判定結果に基づいて、各接続機器に全二重化通信および半二重化通信の何れを行わせるかを判定する。制御回路３０Ｘは、例えば、接続機器の個数が閾値よりも大きくなると、全二重化通信が不要な接続機器に半二重化通信を行わせると判定する。
【００６６】
制御回路３０Ｘは、接続機器に半二重化通信を行わせる場合、指定情報に基づいて、何れの接続機器に半二重化通信を行わせるかを判定する。実施の形態２では、制御回路３０Ｘは、位置検出器１４Ｐ〜１４Ｒに半二重化通信を行わせると判定する。
【００６７】
制御回路３０Ｘは、負荷情報に基づいて、位置検出器１４Ｐ〜１４Ｒのそれぞれに対して、シリアル通信線ＡＸまたはシリアル通信線ＢＸを選択する。制御回路３０Ｘは、シリアル通信線ＡＸでの通信負荷およびシリアル通信線ＢＸでの通信負荷の差が最小となるよう、位置検出器１４Ｐ〜１４Ｒのそれぞれに対し、シリアル通信線ＡＸまたはシリアル通信線ＢＸを設定する。制御回路３０Ｘは、シリアル通信線ＡＸまたはシリアル通信線ＢＸを使わせる位置検出器１４Ｐ〜１４Ｒの個数（局数）を、適切に分配することによって、伝送遅延を抑制することが可能となる。また、制御回路３０Ｘは、アクチュエータ１７Ｘに対しては、全二重化通信を実行させると判定する。
【００６８】
制御回路３０Ｘは、半二重化通信を行わせると判定した接続機器に対しては、シリアル通信線ＡＸまたはシリアル通信線ＢＸを指定したコマンドを送信する。これにより、シリアル通信線ＡＸが指定されたコマンドを受信した接続機器は、シリアル通信線ＡＸを有効にし、シリアル通信線ＢＸを無効にする。同様に、シリアル通信線ＢＸが指定されたコマンドを受信した接続機器は、シリアル通信線ＢＸを有効にし、シリアル通信線ＡＸを無効にする。これにより、位置検出器１４Ｐ〜１４Ｒが、指定されたシリアル通信線ＡＸまたはシリアル通信線ＢＸを用いて、ロボット制御装置１１との間で半二重化通信を行う。
【００６９】
各位置検出器の各制御回路は、イネーブル信号を差動ドライブおよび差動レシーバに入力することによって、シリアル通信線ＡＸ，ＢＸの有効と無効とを切替える。例えば、位置検出器１４Ｐの制御回路４０Ｐは、制御回路３０Ｘからシリアル通信線ＡＸが指定されたコマンドを受信すると、差動レシーバ４１Ｐおよび差動ドライブ４２Ｐにイネーブル信号のオンを入力し、差動レシーバ４３Ｐおよび差動ドライブ４４Ｐにイネーブル信号のオフを入力する。
【００７０】
このような処理により、位置検出器１４Ｐ〜１４Ｒは、半二重化通信を行うこととなり、アクチュエータ１７Ｘは全二重化通信を行うこととなる。ロボット１００Ｘは、例えば、新たな接続機器がシリアル通信線ＡＸ，ＢＸに接続された際に、各接続機器に対し、半二重化通信を行わせるか否かを判定する。また、ロボット１００Ｘは、接続機器がシリアル通信線ＡＸ，ＢＸから取り外された際に、各接続機器に対し、半二重化通信を行わせるか否かを判定する。
【００７１】
なお、実施の形態２では、ロボット１００Ｘが差動通信を行う場合について説明したが、ロボット１００Ｘは、差動通信以外の通信を用いてもよい。また、ロボット制御装置１１Ｘに接続される接続機器は、４つに限らず、３つ以下であってもよいし、５つ以上であってもよい。また、ロボット制御装置１１Ｘには、センサ１６といった別種類の接続機器を接続してもよい。この場合、別種類の接続機器の制御回路は、位置検出器１４Ｐ〜１４Ｒと同様に、機器ＩＤをロボット制御装置１１Ｘに送信する機能およびイネーブル信号を出力する機能を備えている。ロボット制御装置１１Ｘは、位置検出器１４Ｐ〜１４Ｒへの処理と同様の処理によって、別種類の接続機器への半二重化通信と全二重化通信とを切替える。
【００７２】
このように、ロボット制御装置１１Ｘは、接続機器の個数および種類に基づいて、全二重化通信が不要な接続機器に半二重化通信を設定する。また、ロボット制御装置１１Ｘは、シリアル通信線ＡＸでの通信負荷とシリアル通信線ＢＸでの通信負荷との差が小さくなるよう、半二重化通信を設定する接続機器にシリアル通信線ＡＸまたはシリアル通信線ＢＸを設定する。すなわち、ロボット制御装置１１Ｘは、位置検出器１４Ｐ〜１４Ｒのそれぞれを、シリアル通信線ＡＸまたはシリアル通信線ＢＸに分配する。これにより、ロボット制御装置１１Ｘは、ロボットアーム２０との間で通信速度を確保することができるので、適切な速さでロボットアーム２０と通信することができる。また、通信速度を確保できるので、位置検出器１４だけでなく、センサまたはアクチュエータを拡張することができる。
【００７３】
このように、実施の形態２では、位置検出器１４Ｐ〜１４Ｒが、シリアル通信線ＡＸおよびシリアル通信線ＢＸに接続されている。そして、ロボット制御装置１１Ｘは、位置検出器１４の個数が閾値よりも大きい場合には、位置検出器１４Ｐ〜１４Ｒに、シリアル通信線ＡＸまたはシリアル通信線ＢＸを用いた半二重化通信を行わせる。これにより、ロボット１００Ｘは、位置検出器１４の個数が閾値よりも大きい場合には、シリアル通信線ＡＸ，ＢＸにおける通信負荷を低減することができる。
【００７４】
ここで、制御回路３０，３０Ｘ，４０Ａ〜４０Ｄ，４０Ｐ〜４０Ｒ，６０，７０，７０Ｘのハードウェア構成について説明する。なお、制御回路３０，３０Ｘ，４０Ａ〜４０Ｄ，４０Ｐ〜４０Ｒ，６０，７０，７０Ｘは、同様のハードウェア構成を有しているので、ここでは制御回路３０Ｘのハードウェア構成について説明する。
【００７５】
図５は、実施の形態２にかかる制御回路のハードウェア構成例を示す図である。制御回路３０Ｘは、図５に示したプロセッサ３０１およびメモリ３０２により実現することができる。プロセッサ３０１の例は、ＣＰＵ（Central  Processing  Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサ、ＤＳＰ（Digital  Signal  Processor）ともいう）またはシステムＬＳＩ（Large  Scale  Integration）である。メモリ３０２の例は、ＲＡＭ（Random  Access  Memory）またはＲＯＭ（Read  Only  Memory）である。
【００７６】
制御回路３０Ｘは、プロセッサ３０１が、メモリ３０２で記憶されている、制御回路３０Ｘの動作を実行するためのプログラムを読み出して実行することにより実現される。また、このプログラムは、制御回路３０Ｘの手順または方法をコンピュータに実行させるものであるともいえる。メモリ３０２は、プロセッサ３０１が各種処理を実行する際の一時メモリにも使用される。
【００７７】
プロセッサ３０１が実行するプログラムは、コンピュータで実行可能な、データ処理を行うための複数の命令を含むコンピュータ読取り可能かつ非遷移的な（non-transitory）記録媒体を有するコンピュータプログラムプロダクトであってもよい。プロセッサ３０１が実行するプログラムは、複数の命令がデータ処理を行うことをコンピュータに実行させる。
【００７８】
また、制御回路３０Ｘを専用のハードウェアで実現してもよい。また、制御回路３０Ｘの機能について、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。
【００７９】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【００８０】
１１，１１Ｘ  ロボット制御装置、１２  シリアル通信線群、１３  サーボモータ、１４，１４Ａ，１４Ｂ，１４Ｃ，１４Ｄ，１４Ｐ，１４Ｑ，１４Ｒ  位置検出器、１６  センサ、１７，１７Ｘ  アクチュエータ、１８  ハンド、２０  ロボットアーム、３０，３０Ｘ，４０Ａ〜４０Ｄ，４０Ｐ〜４０Ｒ，６０，７０，７０Ｘ  制御回路、３１，３３，４１Ｐ〜４１Ｒ，４２Ａ〜４２Ｄ，４３Ｐ〜４３Ｒ，６２，７２  差動レシーバ、３２，３４，４１Ａ〜４１Ｄ，４２Ｐ〜４２Ｒ，４４Ｐ〜４４Ｒ，６１，７１  差動ドライブ、１００，１００Ｘ  ロボット、ＡＸ，ＢＸ  シリアル通信線。
【要約】
ロボット（１００）が、ロボット制御装置（１１）と、シリアル通信線（ＡＸ）と、シリアル通信線（ＢＸ）と、ロボット制御装置（１１）との間でデータ通信を行う位置検出器（１４Ａ〜１４Ｄ）と、ロボット制御装置（１１）との間でデータ通信を行うアクチュエータ（１７）と、を備え、位置検出器（１４Ａ〜１４Ｄ）のそれぞれは、シリアル通信線（ＡＸ）またはシリアル通信線（ＢＸ）の何れかに接続されることにより、ロボット制御装置（１１）との間で半二重化通信を行い、アクチュエータ（１７）は、シリアル通信線（ＡＸ）およびシリアル通信線（ＢＸ）に接続されることにより、ロボット制御装置（１１）との間で全二重化通信を行う。【図１】
0006837621.tif 000002
【図２】
0006837621.tif 000003
【図３】
0006837621.tif 000004
【図４】
0006837621.tif 000005
【図５】
0006837621.tif 000006