(57)【要約】【課題】  ロボットシステム等のハードウェアに依存した制御を行う装置をコンポーネント化することによって、それに要求される実時間性等の問題を解決しつつ、相互接続性、再利用性の高い制御システムを構築する。【解決手段】  制御対象となる装置のコントローラとの間で通信を行うコマンドインターフェイス２、入力インターフェイス３、及び、出力インターフェイス４をそれぞれモジュール化し、これらのモジュールのうち、コマンドインターフェイス機能を有するモジュールは、制御対象となる装置のコントローラ１との間でコマンド通信を行い、入力インターフェイス機能を有するモジュールならびに出力インターフェイス機能を有するモジュールは前記コントローラとの間でデータ通信を行う。【選択図】  図１
2005196427.tif 000002
【特許請求の範囲】
【請求項１】
制御対象となる装置のコントローラとの間で通信を行うコマンドインターフェイス、入力インターフェイス、及び、出力インターフェイスをそれぞれモジュール化し、
これらのモジュールのうち、コマンドインターフェイス機能を有するモジュールは、制御対象となる装置のコントローラとの間でコマンド通信を行い、入力インターフェイス機能を有するモジュールならびに出力インターフェイス機能を有するモジュールは前記コントローラとの間でデータ通信を行うことを特徴とするコンポーネント化制御システム。
【請求項２】
各モジュールは分散オブジェクトによって構成され、それぞれの機能がコンピュータ上で実現されることを特徴とする請求項１記載のコンポーネント化制御システム。
【請求項３】
制御対象となる装置のコントローラ、ならびに各モジュールの少なくとも１つは他のものとは異なるネットワーク上に設けられ、ネットワーク間に介在される中継装置を経由して相互に通信を行うことを特徴とする請求項１又は２記載のコンポーネント化制御システム。
【請求項４】
入力インターフェイス機能を有するモジュールと出力インターフェイス機能を有するモジュールの少なくとも一方が複数存在することを特徴とする請求項１乃至３の何れかに記載のコンポーネント化制御システム。
【請求項５】
出力インターフェイス機能を有するモジュールから、予め登録した入力インターフェイス機能を有するモジュールへ、登録時に指定したタイミングでデータ送信を行うようにしたことを特徴とする請求項１乃至４の何れかに記載のコンポーネント化制御システム。
【請求項６】
データ送信を並列的に行うようにしたことを特徴とする請求項５記載のコンポーネント化制御システム。
【請求項７】
各モジュールが設けられているネットワークと中継装置を介して接続されている異なるネットワーク上に設けられている複数の制御対象となる装置のコントローラ間の通信を、該ネットワーク上で直接可能としたことを特徴とする請求項１乃至６の何れかに記載のコンポーネント化制御システム。
【請求項８】
出力インターフェイス機能を有するモジュールは、データ送信を行う入力インターフェイス機能を有するモジュールを登録する際に、ネットワーク情報を付加登録することで最適なデータ通信経路を自動的に選択できるようにしたことを特徴とする請求項５乃至７の何れかに記載のコンポーネント化制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット等の制御対象となる装置のコントローラを制御するための各要素を互換性、再利用性を有するようにソフトウェア的あるいはハードウェア的にモジュール化し、各モジュールを用途に応じて組み合わせて様々な機能を容易に実現できるようにしたコンポーネント化制御システムに関する。
【０００２】
ここで、ロボットという用語は、マニピュレータや産業用ロボットのような動作手順をプログラム可能な多自由度の作業機械のみでなく、外界の状況を検出するセンサや、外界に対して何らかの働きを行うアクチュエータのような外界とのインターフェイスを有し、センサ部分から入力される情報をもとに、アクチュエータ部分の知的制御を行うもの全般を意味している。
【背景技術】
【０００３】
従来より、通信プロトコルが異なる複数のロボットコントローラと通信するために、メーカーやバージョンの違いに拘わらず共通なアプリケーションソフトを利用可能なロボットの情報処理システムが提案されている。  
【特許文献１】特開２００１−３０６４１６号公報
【０００４】
前記特許文献１に記載されているものにおいては、カーネル部と呼ばれるソフトウェアがロボットコントローラとアプリケーションソフトの仲介を行うことで、ロボットコントローラ間の違いを吸収して共通のアプリケーションソフトを開発できるようにしている。
【０００５】
一方、ロボットに限らず、種々の装置のコンポーネント化、及び、これらの各コンポーネント間のネットワーク接続におけるインターフェイス開発は、一般的にハードウェアレベルから積み上げる形で行われることが多い。
【０００６】
すなわち、1977年にISO（国際標準化機構）が発表したネットワーク・システムの通信プロトコルに関する規格モデルであるＯＳＩ（Open Systems Interconnection）参照モデルのアーキテクチャにおいては、ネットワーク・システムを機能別に、物理層、データリンク層、ネットワーク層、トランスポート層、セッション層、プレゼンテーション層、アプリケーション層の７層に分けており、これらの各層毎にインターフェイス開発が行われている。
【０００７】
実際に個々の装置を組み合わせてシステムを構築する場合には、電気的なインターフェイス（物理層）のみならず、機械的なハードウェアレベルにおいても整合性がとれている必要があるので、このようなハードウェアレベルから積み上げていくインターフェイス開発は、妥当であると考えられる。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、このようにして開発されたインターフェイスは、実際のハードウェアに強く依存したものになるため、各コンポーネントの互換性や再利用性が低くなってしまう問題がある。
【０００９】
一方、ソフトウェアの世界では、ＣＯＲＢＡ（Ｃｏｍｍｏｎ  Ｏｂｊｅｃｔ  Ｒｅｑｕｅｓｔ  Ｂｒｏｋｅｒ  Ａｒｃｈｉｔｅｃｔｕｒｅ）、ＤＣＯＭ（Ｄｉｓｔｒｉｂｕｔｅｄ  Ｃｏｍｐｏｎｅｎｔ ＯｂｊｅｃｔＭｏｄｅｌ）といった分散型オブジェクト技術が開発されており、これらは通信の物理層に依存しない論理的なネットワーク層に構築されるため、高いネットワーク透過性を有し、また、プログラムとして作成されるソフトウェアであるため、高い汎用性も実現している。
【００１０】
しかしながら、これらの分散型オブジェクト技術では、特にコンポーネント間の通信の実時間性を問題にするロボットシステムのようなハードウェアの動作を含むシステムを取り扱うことが困難である。
【００１１】
そこで、本発明は、前述したような従来技術における問題を解消し、ロボットシステム等のハードウェアに依存した制御を行う装置をコンポーネント化することによって、それに要求される実時間性等の問題を解決しつつ、相互接続性、再利用性の高い制御システムを構築することを目的とする。
【課題を解決するための手段】
【００１２】
上記のような目的を達成するために、本発明のコンポーネント化制御システムは、制御対象となる装置のコントローラとの間で通信を行うコマンドインターフェイス、入力インターフェイス、及び、出力インターフェイスをそれぞれモジュール化し、これらのモジュールのうち、コマンドインターフェイス機能を有するモジュールは、制御対象となる装置のコントローラとの間でコマンド通信を行い、入力インターフェイス機能を有するモジュールならびに出力インターフェイス機能を有するモジュールは前記コントローラとの間でデータ通信を行うものである。
【００１３】
本発明のコンポーネント化制御システムにおいては、前記各モジュールは分散オブジェクトによって構成され、それぞれの機能がコンピュータ上で実現されることが望ましい。
【００１４】
また、本発明のコンポーネント化制御システムにおいては、制御対象となる装置のコントローラ、ならびに各モジュールの少なくとも１つは他のものとは異なるネットワーク上に設けられ、ネットワーク間に介在される中継装置を経由して相互に通信を行うことが望ましい。
【００１５】
また、本発明のコンポーネント化制御システムにおいては、入力インターフェイス機能を有するモジュールと出力インターフェイス機能を有するモジュールの少なくとも一方が複数存在することが望ましい。
【００１６】
また、本発明のコンポーネント化制御システムにおいては、出力インターフェイス機能を有するモジュールから、予め登録した入力インターフェイス機能を有するモジュールへ、登録時に指定したタイミングでデータ送信を行うようにすることが望ましく、この場合、データ送信を並列的に行うことがさらに望ましい。
【００１７】
また、本発明のコンポーネント化制御システムにおいては、各モジュールが設けられているネットワークと中継装置を介して接続されている異なるネットワーク上に設けられている複数の制御対象となる装置のコントローラ間の通信を、該ネットワーク上で直接可能としてあることが望ましい。
【００１８】
出力インターフェイス機能を有するモジュールは、データ送信を行う入力インターフェイス機能を有するモジュールを登録する際に、ネットワーク情報を付加登録することで最適なデータ通信経路を自動的に選択できるようにしてあることが望ましい。
【発明の効果】
【００１９】
請求項１記載の本発明によれば、ロボット等の知能的装置のコントローラのようにハードウェア依存性が強いコントローラとの間で通信を行うコマンドインターフェイス、入力インターフェイス、及び、出力インターフェイスのそれぞれをモジュール化することにより、従来困難であった制御システムの互換性、再利用性を高めることができ、様々な用途のロボット等の制御システムを高い自由度で容易且つ短期間に構築することが可能となる。
【００２０】
また、コマンド通信と行う部分とデータ通信を行う部分とをそれぞれ分離してモジュール化しているため、通信の高速性が要求されるハードウェア依存性の高いデータ通信に様々な工夫を凝らすことが可能となり、有用性の高いコンポーネント化が可能となる。
【００２１】
また、請求項２記載の発明によれば、コマンド入出力、データ入力、データ出力の各インターフェイス機能を有する各モジュールを分散オブジェクトとして、それぞれの機能がコンピュータ上で実現されるようにしたため、極めてネットワーク透過性の高い汎用的なコンポーネント化を可能とすることができる。
【００２２】
また、請求項３記載の発明によれば、コントローラや各モジュールの少なくとも１つが他のものとは異なるネットワーク上に配置されている場合でも中継装置を経由してネットワーク間の通信をおこなうことで、これらが見かけ上１つのネットワーク上に配置されているかのように扱うことが可能となる。
【００２３】
また、請求項４記載の発明によれば、入力インターフェイス機能を有するモジュールと出力インターフェイス機能を有するモジュールの少なくとも一方が複数存在するようにしているため、制御システムをより高い自由度で構築することができる。
【００２４】
また、請求項５記載の発明によれば、データ送信を行う際に送信先にデータ取得コマンドを送信する必要がなく、高速なデータ通信を行うことが可能となる。
【００２５】
また、請求項６記載の発明によれば、通信をデータ送信先に応じて並列化することで、複数のデータを同時に送出して、同時にこれらの返りを待つことができるので、信号伝送に要する時間の大幅な短縮が可能となる。
【００２６】
請求項７記載の発明によれば、複数のコントローラ間の通信を高速のネットワーク上で直接行うようにしたため、高速なデータ通信を可能とすることができる。
【００２７】
請求項８記載の発明によれば、ネットワーク情報の付加により、最適なデータ通信経路を自動的に選択することができるので、各々のモジュールやコントローラがどのネットワーク上に存在するかといった物理的な配置にかかわらず、優れたネットワーク透過性が得られ、ひいては各モジュールの互換性、再利用性を高めることができる。
【発明を実施するための最良の形態】
【００２８】
以下、本発明を実施する場合の形態について図面を参照して説明する。図１は、本発明の一実施形態としてのコンポーネントの基本構造を示す概念図であって、ここでは、本発明の制御システムにおける制御対象となる装置はロボットであり、このロボットは、コントローラ１によってその動作を制御される。
【００２９】
ここで、コントローラ１は、ロボットに組み込まれて種々の動作を行う駆動源となるモータや、アクチュエータの動きを制御するものであって、センサデータ処理、モータ等の駆動源への出力処理、サーボ制御、その他、様々な動作・制御アルゴリズム等を含む、ロボットの要素機能を実現するためのハードウェアやソフトウェアを意味している。
【００３０】
コントローラ１には、モジュール化されたコマンドインターフェイス２が接続されており、ロボットに所望の動作を行わせるための指令信号はこのコマンドインターフェイス２を介してコントローラ１に送られる。
【００３１】
また、コントローラ１には、モジュール化されたデータ入力インターフェイス３が接続されている。データ入力インターフェイス３は、制御対象となる装置であるロボットに設けられていたり、あるいは、このロボットが動作する環境中に設置されている様々なセンサ、例えば荷重センサや視覚センサ等から送られてくるセンサデータを、コントローラ１に送るためのインターフェイスである。このデータ入力インターフェイス３は複数配置することもできる。
【００３２】
また、コントローラ１には、モジュール化されたデータ出力インターフェイス４が接続されている。データ出力インターフェイス４は、ロボットの駆動部から出力される、例えばモータの回転量等のデータをデータ入力インターフェイス３へ送信する機能を有する。
【００３３】
コマンドインターフェイス２、入力インターフェイス３、出力インターフェイス４の各モジュールの集合体によって、本発明の制御システム５が構成されている。さらに、この制御システム５をコントローラ１に組み合わせて、ロボットの基本要素となるコンポーネント６が構成されている。
【００３４】
（分散オブジェクト）
モジュール化された、コマンド入出力、データ入力、データ出力等の各インターフェイスは、通信ネットワークに接続されている。この通信ネットワークにおける通信プロトコルとして、ＣＯＲＳＡ、ＤＣＯＭ等の分散オブジェクトの通信プロトコルを採用することにより、ネットワーク透過性を保証することができる。
【００３５】
この基本となる通信ネットワークを以下、ＲＴネットワーク（Robot Technology Network）と呼ぶことにする。ＲＴネットワークは論理的なネットワークであり、分散オブジェクトの通信プロトコルを通過させるものならどのような物理的なネットワークでもよい。
【００３６】
すなわち、コマンドの入出力、データ入力、データ出力などの各インターフェイスは、分散オブジェクトとして実現されることになる。前記分散オブジェクトは、プログラムでソフトウェア的に、あるいは、ＩＣチップなどでハードウェア的に実現することができる。
【００３７】
コマンドインターフェイス２は、ＲＴネットワークを介してＯＮ／ＯＦＦ、パラメータ変更、状態取得等の操作コマンドを受け付け、それに従ってコントローラ１を操作する。なお、ここでの操作は、論理的なＲＴネットワーク上での通信速度で十分足りるものを割り当てる。
【００３８】
（コンポーネントのプロキシ機能）
前述した図１に示すものにおいては、コンポーネント６を構成しているコントローラ１及びコマンドインターフェイス２、データ入力インターフェイス３、データ出力インターフェイス４の各モジュールの全てをＲＴネットワーク上に配置しているが、コントローラ１は、コンポーネント化の対象となるロボットの要素機能を実現する装置であり、強くハードウェアに依存している場合がある。
【００３９】
図２は、このような場合に対応した本発明の別の実施形態としての、プロキシ化されたコンポーネントの基本構造を示す概念図であって、同図のものにおいては、コントローラ１をＲＴネットワーク７とは異なる外部ネットワーク８上に配置し、中継装置９を介してＲＴネットワーク７上のコマンドインターフェイス２、データ入力インターフェイス３、データ出力インターフェイス４と通信することで、中継装置９が有するプロキシ機能（代理機能）により、コントローラ１が見かけ上、ＲＴネットワーク７上にあるかのように取り扱うことができるようにしている。
【００４０】
なお、ここで、ＲＴネットワーク７とは異なる外部ネットワーク８という意味は、外部ネットワーク８がＲＴネットワーク７と物理的に異なっている場合と、物理的には同じであるが論理的に異なっている場合の両方を含んでいる。
【００４１】
また、図３は、コンポーネント６が直接中継装置９を介してコントローラ１が配置されている外部ネットワーク８に接続されているプロキシ化された、本発明のさらに別の実施形態としての、コンポーネントの基本構造の例を示す概念図である。
【００４２】
また、図４は、本発明のさらに別の実施形態を示すものであって、同図において、コンポーネント１１、１２、１３、１４は何れもＲＴネットワーク７上に配置されたものであり、コンポーネント１５、１６は、ＲＴネットワーク７とは異なる外部ネットワーク８上に配置された装置（コントローラ）である。
【００４３】
同図に示すものにおいては、コンポーネント１１は、中継装置９を介して装置１５とプロキシ通信１７を行い、また、コンポーネント１４は、中継装置９を介して装置１６とプロキシ通信１８を行っているが、ＲＴネットワーク７上に配置された各コンポーネント１１、１２、１３、１４どうしは、それを意識することなく通信が可能となっている。
【００４４】
（ｐｕｓｈ型通信の採用）
図１に示すものにおいては、データ入力インターフェイス３とデータ出力インターフェイス４は高速でデータの送受信を行うためのものである。ここでのデータ通信は、データ出力インターフェイス４からデータ入力インターフェイス３へｐｕｓｈ型通信を採用することができる。なお、ここで、ｐｕｓｈ型通信とは以下の手順でデータをやりとりするものを示す。
【００４５】
（１）データ通信に先立ち、データ出力インターフェイス４に、複数のデータ入力インターフェイス３の中からデータを受け取らせたいデータ入力インターフェイス３を登録しておく。なお、この手順は、ＲＴネットワーク７を通して行う。
【００４６】
（２）データ通信時には、データ出力インターフェイス４から登録されているデータ入力インターフェイス３に、登録時に指定されたタイミングでデータを送り出す。なお、この手順は、図１に示すものにおいては、ＲＴネットワーク７を通して行うが、他の高速な外部ネットワークを通すことにより高速通信が可能となる。
【００４７】
一般に、分散オブジェクトでデータ取得コマンドを用いてデータ通信を行うｐｕｌｌ型通信の場合には、データを受け取ろうとする度にデータ取得コマンドを送出して、その返値としてデータを受け取ることなるため、ネットワーク上を信号が往復する遅延時間が生じる問題があるが、ｐｕｓｈ型通信の場合には、片道のみの信号伝送となるため遅延時間を半分に減らすことができる利点がある。
【００４８】
（複数のデータ入出力インターフェイスの利用ならびに、ｐｕｓｈ型通信の並列化）
前述したデータ入力インターフェイス３やデータ出力インターフェイス４は必要に応じて複数用いてもよい。
【００４９】
さらに、データ出力インターフェイス４は、複数のｐｕｓｈ型通信を並列化することにより、より高速なデータ通信が可能となる。一般に、分散オブジェクトにおいては、データを送出する際に、不要であってもその返りを待たなくてはならない。
【００５０】
データ送出先が一箇所の場合にはそれほど問題にならないが、複数箇所へ送出する場合には、データ送出を逐次行うと、前のデータ送出コマンドの返りが来るまで次のデータの送出ができなくなり、多大な遅延が生じる問題がある。
【００５１】
そこで、この通信をデータ送出先に応じて並列化することで、複数のデータを同時に送出して、同時にこれらの返りを待つことが可能となる。物理的に信号路が１つしかない場合には、データ送出は逐次的に行われるが、前に送出したデータの返りを待たずに次のデータを送出することができるので、信号伝送に要する時間の大幅な短縮が可能となる。
【００５２】
（データ通信のショートカット）
図５は、本発明のさらに別の実施形態としての、データ通信のショートカットを行う場合の概念図であって、同図に示すものにおいては通信方式にｐｕｓｈ型通信を採用し、データ出力インターフェイスにデータ入力インターフェイスを登録して信号路を確保するフェイズと、実際に通信を行うフェイズとを分離したもので、同図に示すように、プロキシされたコントローラ１５、１６間のデータ通信を、ＲＴネットワーク７と異なる外部ネットワーク８上で直接データ通信のショートカット１９として行えるようにしたものである。
【００５３】
（データ通信経路の自動選択）
また、上記のようにデータ通信のショートカットを許すと、各々のコントローラが実際にどのネットワーク上にあるかといった物理的な配置、すなわち、ハードウェア依存性が強くなり、ネットワークの透過性、ひいては、各コンポーネントの互換性、再利用性が低下してしまう問題がある。
【００５４】
図６は、この問題を解消するための、本発明のさらに別の実施形態を示す概念図であって、データ出力インターフェイスにデータ入力インターフェイスを登録する際に、ネットワーク情報２５を付加し、データ通信経路を自動的に選択するようにしたものである。
【００５５】
同図に示す例では、ＲＴネットワーク７とは異なる２つの外部ネットワーク８、２１にそれぞれコントローラ１６、１５が配置されており、コントローラ１５をプロキシしているコンポーネント１１と、コントローラ１６をプロキシしているコンポーネント１４間でデータ通信を行う場合には、中継装置２０をを介するプロキシ通信２２の経路、中継装置９を介するプロキシ通信２３の経路、及び、ＲＴネットワーク７上のデータ通信２４の経路がそれぞれ選択される。
【産業上の利用可能性】
【００５６】
本発明のコンポーネント化制御システムは、定位置で作業を行うロボットや移動式のロボットの他、センサ情報等により、照明、空調などの種々の制御を自動的に行うロボットハウス等の知的制御を行う装置全般に広く利用可能である。
【図面の簡単な説明】
【００５７】
【図１】本発明の１実施形態としてのコンポーネントの基本構造を示す概念図である。
【図２】本発明の別の実施形態としての、プロキシ化されたコンポーネント構造を示す概念図である。
【図３】本発明のさらに別の実施形態としての、プロキシ化されたコンポーネント構造を示す概念図ある。
【図４】本発明のさらに別の実施形態としての、プロキシ化されたコンポーネント構造を含むネットワークの概念図である。
【図５】本発明のさらに別の実施形態としての、データ通信のショートカットを行う場合の概念図である。
【図６】本発明のさらに別の実施形態としての、データ通信経路の自動選択を行う場合の概念図である。
【符号の説明】
【００５８】
１  コントローラ
２  コマンドインタフェース
３  データ入力インタフェース
４  データ出力インタフェース
５  制御システム
６  コンポーネント
７  ＲＴネットワーク
８  外部ネットワーク
９  ネットワーク中継装置
１１、１２、１３、１４  コンポーネント
１５、１６  コントローラ  
１７  コンポーネント１１のプロキシ通信
１８  コンポーネント１４のプロキシ通信
１９  データ通信のショートカット
２０  ネットワーク中継装置
２１  外部ネットワーク
２２  コンポーネント１１のプロキシ通信
２３  コンポーネント１４のプロキシ通信
２４  ＲＴネットワーク上のデータ通信
２５  ネットワーク情報を付加したデータ入力インターフェースの登録
【図１】
2005196427.tif 000003
【図２】
2005196427.tif 000004
【図３】
2005196427.tif 000005
【図４】
2005196427.tif 000006
【図５】
2005196427.tif 000007
【図６】
2005196427.tif 000008