(57)【特許請求の範囲】
【請求項１】
ロボットに所望の動作を行なわせる動作制御装置と、前記ロボットに動作指示を行う動作指示装置とが所定の接続手段で接続されているロボットコントロール装置において、
前記動作制御装置は、
前記ロボットの動作制御を行う動作制御ユニットと、前記動作制御ユニットの機能を拡張する拡張ユニットと、
を備え、
前記動作制御ユニットは、
前記拡張ユニットを接続し、前記拡張ユニットとデータの入出力を行う拡張部と、
前記拡張部に接続されている前記拡張ユニットを判別する拡張ユニット判別部と、
前記拡張部に接続された前記拡張ユニットが出力するデータに基づき制御信号を生成する実行部と、
前記実行部が生成した制御信号に基づき前記ロボットの制御を行うロボット制御部と、
を備え、
前記拡張ユニットは、
前記動作指示装置とデータ送受信を行う通信部、又は、前記動作指示装置とデータの送受信を行い、受け取ったデータに基づき制御指示を生成する制御部のいずれか一方を備え、
実行部は、
前記拡張ユニット判別部が、前記通信部を備える拡張ユニットと判別した場合、
前記判別結果に基づき、前記動作制御装置が前記動作指示装置からの指示で前記ロボット制御を行う動作モードに切り替え、
前記拡張ユニット判別部が、前記制御部を備える拡張ユニットと判別した場合、
前記判別結果に基づき、前記動作制御装置単独で前記ロボット制御を行う動作モードに切り替え、
切り替えた動作モードに応じて前記制御信号を生成する、
ことを特徴とするロボットコントロール装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットコントロール装置に関する。
【背景技術】
【０００２】
機器の組み立てや部品搬送用途向け等に用いるロボットをコントロールするロボットコントロール装置は、一般的に動作制御装置（サブ・ロボットコントローラーまたは、スレーブ・ロボットコントローラー）と動作指示装置（主ロボットコントローラー）を備えている。動作指示装置は、例えば、外部ネットワークとのインターフェース、汎用アプリケーション、ロボット動作に必要な制御プログラムなどを備え、動作制御装置と動作指示装置とが所定の通信規格に基づいて接続されている。また、動作制御装置は、例えば、ロボットの各軸のモーターを制御し、ロボットが所望の動作をするように制御し、外部ネットワークとのインターフェース、プログラムを実行するＣＰＵ（中央演算装置）などを備えている（例えば、特許文献１参照）。
【０００３】
また、別の構成のロボットコントロール装置において、動作指示装置は、外部ネットワークとのインターフェース、汎用アプリケーション、ロボット動作に必要な制御プログラムなどを備え、動作制御装置と動作指示装置とが所定の通信規格に基づいて接続されている。動作制御装置は、ロボットの各軸のモーターを制御し、ロボットが所望の動作をするように制御し、外部ネットワークとのインターフェース、ロボットの動作を制御する制御部を備えている。このようなロボットコントロール装置の動作制御装置はＣＰＵを備えず、動作指示装置からの制御プログラムに基づき動作制御装置の制御部がロボットの動作制御を行う（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平７−２９５６２２号公報
【特許文献２】特開平１０−２２３５９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
近年、機器の組み立て等に用いるロボットにおいても、コスト低減の要求が高い。このため、動作制御装置は、特許文献１のように内部にＣＰＵ（中央演算装置）を備え、ＣＰＵが制御プログラムに基づき制御する用途と、特許文献２のようにＣＰＵを備えず動作指示装置からの制御プログラムに基づき動作制御装置の制御部がロボットの動作制御する用途の両方の使い方ができることが望ましい。また、このようなロボット制御を行うために使用するＣＰＵは、汎用的なＣＰＵと比較して高価である。
しかしながら、動作制御装置のＣＰＵを使用せずに動作制御する用途では、特許文献１の構成の場合、動作制御装置のＣＰＵを用いずに動作指示装置からの制御プログラムに基づき動作制御装置の制御部がロボットの動作制御することも可能ではあるが、動作制御装置の高価なＣＰＵのコストが余計にかかってしまうという問題点があった。また、特許文献２の構成においては、動作制御装置にＣＰＵを備えていないため、ＣＰＵが単独でロボットを制御する用途で使用できず、別のＣＰＵを備える動作制御装置を購入する必要があるという問題点があった。
【０００６】
本発明は、上記の問題点に鑑みてなされたものであって、ＣＰＵが動作制御装置を単独で制御する用途、および、ＣＰＵを備えず動作指示装置からの指示に基づきロボットの動作制御する用途の両方の使い方を可能にするロボットコントロール装置、ロボットコントロール方法を提供することを課題とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明にかかるロボットに所望の動作を行なわせる動作制御装置と、前記ロボットに動作指示を行う動作指示装置とが所定の接続手段で接続されているロボットコントロール装置において、前記動作制御装置は、前記ロボットの動作制御を行う動作制御ユニットと、前記動作制御ユニットの機能を拡張する拡張ユニットとを備え、前記動作制御ユニットは、前記拡張ユニットを接続し、前記拡張ユニットとデータの入出力を行う拡張部と、前記拡張部に接続された前記拡張ユニットが出力するデータに基づき制御信号を生成する実行部と、前記実行部が生成した制御信号に基づき前記ロボットの制御を行うロボット制御部とを備えることを特徴としている。
【０００８】
また、本発明にかかるロボットコントロール装置において、前記拡張部に接続されている前記拡張ユニットを判別する拡張ユニット判別部とをさらに備え、実行部は、前記拡張ユニット判別部が判別した前記拡張ユニットに基づいて動作モードを切り替え、切り替えた動作モードに応じて制御信号を生成することを特徴としている。
【０００９】
また、本発明にかかるロボットコントロール装置において、前記拡張ユニットは、前記動作指示装置とデータ送受信を行う通信部と、前記通信部が前記動作指示装置から受信したデータを前記動作制御ユニットに出力し、さらに前記動作制御ユニットと接続する第２拡張部とを備えることを特徴としている。
【００１０】
また、本発明にかかるロボットコントロール装置において、前記拡張ユニットは、前記動作指示装置とデータの送受信を行い、受け取ったデータに基づき制御指示を生成する制御部と、前記制御部が生成した制御指示を前記動作制御ユニットに出力し、さらに前記動作制御ユニットと接続する第３拡張部とを備えることを特徴としている。
【００１１】
また、本発明にかかるロボットコントロール装置において、前記実行部は、前記拡張ユニット判別部が、前記通信部を備える拡張ユニットと判別した場合、前記判別結果に基づき、前記動作制御装置は前記動作指示装置からの指示で前記ロボット制御を行う動作モードを切り替えることを特徴としている。
【００１２】
また、本発明にかかるロボットコントロール装置において、前記実行部は、前記拡張ユニット判別部が、前記制御部を備える拡張ユニットと判別した場合、前記判別結果に基づき、前記動作制御装置単独で前記ロボット制御を行う動作モードを切り替えることを特徴としている。
【００１３】
また、本発明にかかるロボットに所望の動作を行なわせる動作制御装置と、前記ロボットに動作指示を行う動作指示装置とが所定の接続手段で接続され、前記動作制御装置は動作制御ユニットの機能を拡張する拡張ユニットと前記ロボットの動作制御を行う動作制御ユニットとを備えるロボットコントロール装置のロボットコントロール方法において、前記動作制御ユニットの拡張部は、前記拡張ユニットとデータの入出力を行う拡張工程と、前記動作制御ユニットの実行部は、前記拡張部に接続された前記拡張ユニットが出力するデータに基づき制御信号を生成する実行工程と、前記動作制御ユニットのロボット制御部は、前記実行工程が生成した制御信号に基づき前記ロボットの制御を行うロボット制御工程と、を備えることを特徴としている。
【００１４】
本発明によれば、動作制御装置を拡張部を用いて接続した拡張ユニットと動作制御ユニットとで構成し、動作制御ユニットの拡張ユニット判別部で接続されている拡張ユニットを判別し、判別結果に基づき動作制御装置の動作モードを切り替えるようにした。この結果、ＣＰＵが動作制御装置を単独で制御する用途、および、ＣＰＵを備えず動作指示装置からの指示に基づきロボットの動作制御する用途の両方の使い方に対応できるロボットコントロール装置、ロボットコントロール方法を提供することが可能になる。
【図面の簡単な説明】
【００１５】
【図１】本発明の第一実施形態に係るロボットコントロール装置のブロック図の一例を示す図である。
【図２】第一または第三の実施形態に係るロボットコントロール装置の動作手順のフローチャートである。
【図３】第二実施形態に係るロボットコントロール装置のブロック図の一例を示す図である。
【図４】第二実施形態に係るロボットコントロール装置の動作手順のフローチャートである。
【図５】第三実施形態に係るロボットコントロール装置のブロック図の一例を示す図である。
【図６】動作制御ユニットと拡張ユニットの接続の一例を説明する図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態について、図１〜図６を用いて説明する。なお、本発明は係る実施形態の構成に限定されず、本発明の技術思想の範囲内で種々の変更が可能である。
【００１７】
［第一実施形態］
図１は、第一の実施形態におけるロボットコントロール装置の構成の一例を示すブロック図である。ロボットコントロール装置１は、動作指示装置２と動作制御装置３とを備え、動作指示装置２と動作制御装置３は信号線５を介して接続されている。動作制御装置３は、ロボット４が接続されている。また、ロボット４は、例えば、産業用のスカラロボットや多軸ロボット等であり、ロボットコントロール・システム１により動作が制御される。
【００１８】
次に、動作指示装置２の構成について説明する。動作指示装置２は、通信部２０１と、演算部２０２と、ＲＯＭ２０３と、ＲＡＭ２０４と、第１記憶部２０５とを備えている。
【００１９】
通信部２０１は、信号線５を介して動作制御装置３と接続する。また、通信部２０１は、演算部２０２が出力する制御装置３のコントローラープログラムを受け取り、動作制御装置３とのロボット４の制御に関わる各種データや各種指示等の送受信、および、受け取った制御装置３のコントローラープログラム等の送信を行う。
【００２０】
演算部２０２は、ＲＯＭ２０３に記憶されている動作指示装置２の制御プログラムや各種データを読み出し、読み出した制御プログラムや各種データをＲＡＭ２０４に書き込んで記憶させる。また、演算部２０２は、ＲＡＭ２０４に記憶されている制御プログラムや各種データを読み出し、読み出した制御プログラムや各種データに基づき動作指示装置２の動作を開始する。さらに、演算部２０２は、通信部２０１が出力する各種データや各種指示等を受け取り、受け取った各種データをＲＡＭ２０４に書き込んで記憶させ、または、
受け取った各種指示に基づき適時ＲＯＭ２０３に記憶されているデータを読み出し、読み出したデータを通信部２０１に出力する。
ＲＯＭ２０３は、例えば、ＯＳ（オペレーティング・システム）や動作指示に関するアプリケーション、ロボット４へ指示する座標等の動作指示に関する各種データが記憶されている。ＲＡＭ２０４は、制御プログラムや各種データが書き込まれて記憶されている。さらにまた、演算部２０２は、第１記憶部２０５に記憶されている制御装置３のコントローラープログラムを読み出し、読み出した制御装置３のコントローラープログラムを通信部２０１に出力する。
【００２１】
第１記憶部２０５は、制御装置３のコントローラープログラムが記憶されている。
【００２２】
次に、動作制御装置３の構成について説明する。動作制御装置３は、通信ユニット３００と動作制御ユニット４００を備えている。また、通信ユニット３００と動作制御ユニット４００とは、ＢＵＳ端子３０２とＢＵＳ端子４０１を用いて、所定のデータ送受信の手法で電気的に接続されている。また、通信ユニット３００は、通信部３０１と、ＢＵＳ端子３０２とを備え、動作制御ユニット４００は、ＢＵＳ端子４０１と、拡張ユニット判別部４０２と、実行部４０３と、第１記憶部４０４と、第２記憶部４０５と、ロボット制御部４０６とを備えている。
【００２３】
通信部３０１は、信号線５を介して動作指示装置２と接続し、動作指示装置２との各種データや各種指示、コントローラープログラム等を受信する。また、通信部３０１は、受信した各種データや各種指示、コントローラープログラムを、ＢＵＳ端子３０２を介して動作制御ユニットに出力する。さらに、通信部３０１は、ＢＵＳ端子３０２を介して動作制御ユニットから、各種データや各種指示に対する応答等を受け取り、受け取った各種データや各種指示に対する応答等を、信号線５を介して動作指示装置２に送信する。さらにまた、通信部３０１は、例えば、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）である。さらに、通信部３０１は、通信ユニットであることを示す拡張ユニット識別信号を、ＢＵＳ端子３０２を介して、動作制御ユニット４００に出力する。
【００２４】
ＢＵＳ端子３０２（第２拡張部）とＢＵＳ端子４０１（拡張部）は、例えば、汎用的な基板間コネクタやＤ−ｓｕｂ等のコネクタであり、一方が雄端子で他方が雌端子である。また、ＢＵＳ端子４０１は、例えば、動作制御ユニット４００の筐体内にあり、通信ユニット３００をスロットに挿入して拡張する。
【００２５】
拡張ユニット判別部４０２は、ＢＵＳ端子４０１を介して接続されているユニットから拡張ユニット識別信号を受け取り、受け取った拡張ユニット識別信号を用いて動作制御ユニット４００に接続されているユニットの種類を判別する。なお、ユニットの種類は、例えば、通信ユニット３００、ＣＰＵユニット等である。また、拡張ユニット判別部４０２は、判定したユニット種類情報を実行部４０３に出力する。
【００２６】
実行部４０３は、第１記憶部４０４に記憶されている制御プログラムを読み出し、読み出した制御プログラムに基づいて動作を行う。また、実行部４０３は、拡張ユニット判別部４０２が出力するユニット種類情報を受け取り、受け取ったユニット種類情報に応じて通信ユニット３００接続時の動作モードに切り替える。さらに、実行部４０３は、ＢＵＳ端子４０１を介して通信部３０１が出力する各種データや各種指示、コントローラープログラム等を受け取り、受け取った各種データや各種指示、コントローラープログラム等を第２記憶部４０５に書き込んで記憶させる。さらに、実行部４０３は、受け取った各種指示に対する応答や、各種データを、ＢＵＳ端子４０１を介して通信ユニット３００に出力する。さらに、実行部４０３は、第２記憶部４０５に記憶されているコントローラープログラムに基づき、ロボット４への動作指示やロボット４を制御するために必要な各種データ（座標など）を、ロボット制御部４０６に出力する。また、動作制御ユニット４００の実行部４０３と第２記憶部４０５は、例えばＤＳＰで構成しても良い。
【００２７】
第１記憶部４０４は、ＲＯＭであり、実行部４０３の制御プログラムを記憶している。また、ＲＡＭ第２記憶部４０５は、ＲＡＭであり、コントローラープログラムや各種データを記憶している。
【００２８】
ロボット制御部４０６は、実行部４０３が出力するロボット４の各種制御コマンドを受け取り、受け取った制御コマンドに基づいてロボット４を制御する。
【００２９】
次に、図２のフローチャートを用いて、ロボットコントロール装置１の動作手順を説明する。本実施形態では、動作制御ユニット４００に、通信ユニット３００が接続されている例を説明する。まず、実行部４０３は、第１記憶部４０４に記憶されている制御プログラムを読み出し（ステップＳ１）、動作制御ユニット４００の動作を開始する。次に、通信部３０１は、ＢＵＳ端子３０２を介して動作制御ユニット４００に通信ユニットを示す拡張ユニット識別信号を出力する。
【００３０】
次に、拡張ユニット判別部４０２は、ＢＵＳ端子４０１を介して通信ユニット３００が出力する拡張ユニット識別信号を受け取り、受け取った拡張ユニット識別信号を用いて動作制御ユニット４００に接続されているユニットを判別する（ステップＳ２）。具体的には、拡張機器識判定部４０２は、接続されているユニットを拡張ユニット識別信号に基づき通信ユニット３００と判別する。接続ユニットを判別した後、拡張ユニット判別部４０２は、判別したユニット種類情報を実行部４０３に出力する。
【００３１】
次に、実行部４０３は、拡張ユニット判別部４０２が出力するユニット種類情報を受け取り、受け取ったユニット種類情報に基づき動作制御ユニット４００の動作モードを切り替える（ステップＳ３）。具体的には、実行部４０３は、受け取ったユニット判定信号に基づき、動作制御装置は動作指示装置２の指示で制御する動作モードに切り替える。
【００３２】
次に、演算部２０２は、第３記憶部２０５に記憶されているコントローラープログラムや各種データ等を読み出し（ステップＳ４）、読み出したコントローラープログラムや各種データ等を通信部２０１に出力する。次に、通信部２０１は、演算部２０２が出力するコントローラープログラムや各種データ等を受け取り、受け取ったコントローラープログラムや各種データ等を、信号線５を介して動作制御装置３に送信する（ステップＳ５）。
【００３３】
次に、通信部３０１は、信号線５を介して動作指示装置２が出力するコントローラープログラムや各種データ等を受信し（ステップＳ６）、受け取ったコントローラープログラムや各種データ等を、ＢＵＳ端子３０２を介して動作制御ユニット４００に出力する（ステップＳ７）。
【００３４】
次に、実行部４０３は、ＢＵＳ端子４０１を介して通信ユニット３００が出力するコントローラープログラムや各種データ等を受け取り（ステップＳ８）、受け取ったコントローラープログラムや各種データ等を第２記憶部４０５に書き込んで記憶させる（ステップＳ９）。次に、実行部４０３は、第２記憶部４０５に記憶されているコントローラープログラムや各種データ等を読み出し、読み出したコントローラープログラムや各種データ等に基づきロボット４の制御指示等をロボット制御部４０６に出力する。また、ロボット制御部４０６は、実行部４０３が出力するロボット制御指示等に基づきロボット４を制御する（ステップＳ１０）。
以後、動作指示装置２が出力する動作制御指示を動作制御装置３が受け取り、受け取った動作指示に基づきロボット４の制御を行う。このように、動作制御ユニット４００に通信ユニット３００を組み合わせて動作制御装置１を構成して使用する場合、動作制御装置は、動作指示装置２（主ロボットコントローラー）に対しスレーブ・ロボットコントローラーとして機能する。
【００３５】
以上のように、動作制御装置をベースとなる動作制御ユニット４００と通信ユニット３００とで構成した。また、動作制御ユニット４００は、ＢＵＳ端子４０１を介して拡張機器である通信ユニット３００が接続され、接続されているユニットを拡張ユニット判別部４０２で判定した後、動作制御ユニット４００の動作モードを切り替えるようにした。また、動作モード切替後、実行部４０４が、動作指示装置２が出力するコントロールプログラムや各種データ、各種動作指示等を受け取り、受け取ったコントロールプログラムや各種データ、各種動作指示等に基づきロボット４の制御指示を行うようにした。この結果、従来のように、動作制御装置３に高価なＣＰＵを備えず、利用者の利用目的に合わせた動作指示装置２と通信ユニット３００を組み合わせてコストを抑えた動作制御ユニットを構成することができる。
また、本実施形態では、１台の動作制御装置３が、動作指示装置２に信号線５を介して接続されている例を説明したが、動作制御装置２に対して複数台の動作制御装置３をデイジーチェーンで接続しても良い。この場合、動作制御装置３同士を通信部３０１に接続されている信号線５を介してデイジーチェーンで接続する。
【００３６】
［第二実施形態］
次に、第二の実施形態について図３と図４を用いて説明する。図３は、第二の実施形態におけるロボットコントロール装置の構成の一例を示すブロック図である。なお、第一の実施形態と同じ機能部については、図１と同じ番号を用い、説明は省略する。第一の実施形態との相違点は、動作制御ユニット４００に接続されている拡張機器がＣＰＵユニット７００であり、さらに動作制御蔵置３には、オペレーションパネル６が接続されている。
【００３７】
オペレーションパネル６は、パネル部６０１と、通信部６０２とを備えている。
パネル部６０１は、機械式スイッチやタッチパネル式の表示部等を備え、ロボット４の動作指示や各種データの入力等を行う操作パネルである。また、パネル部６０１は、パネルで設定された指示を読み取り、読み取った指示を通信部６０２に出力する。
通信部６０２は、パネル部６０１が出力する指示を受け取り、受け取った指示を、信号線５を介して動作制御装置３に送信する。
【００３８】
ＣＰＵユニット７００は、ＣＰＵ７０１と、ＢＵＳ端子７０２を備えている。
ＣＰＵ７０１は、中央演算装置でありリアルタイム処理を行う必要があるため、一般的には高価なＣＰＵである。また、ＣＰＵ（制御部）７０１は、例えば、パラレル通信端子を備え、このパラレル通信端子を介して信号線５と接続している。すなわち、ＣＰＵ７０１は、オペレーションパネル６と信号線５を介して、このパラレル通信端子を用いてロボット指示を受け取る。また、ＣＰＵ７０１は、受け取った指示を、ＢＵＳ端子（第３拡張部）７０２を介して動作制御ユニット４００に出力する。また、ＢＵＳ端子７０２は、例えば、汎用的な基板間コネクタやＤ−ｓｕｂ等のコネクタである。
【００３９】
次に、図４のフローチャートを用いて、ロボットコントロール装置１の動作手順を説明する。本実施形態では、動作制御ユニット４００に、ＣＰＵユニット７００が接続されている例を説明する。また、第一の実施形態と同じ手順については図２と同じ番号を用い、説明を省略する。
まず、実行部４０３は、第１記憶部４０４に記憶されている制御プログラムを読み出し（ステップＳ１）、動作制御ユニット４００の動作を開始する。次に、ＣＰＵ７０１は、ＢＵＳ端子７０２を介して動作制御ユニット４００に通信ユニットを示す拡張ユニット識別信号を出力する。
【００４０】
次に、拡張ユニット判別部４０２は、ＢＵＳ端子４０１を介してＣＰＵユニット７００が出力する拡張ユニット識別信号を受け取り、受け取った拡張ユニット識別信号を用いて動作制御ユニット４００に接続されているユニットを判別する（ステップＳ２）。具体的には、拡張機器識判定部４０２は、接続されているユニットを拡張ユニット識別信号に基づきＣＰＵユニット７００と判別する。接続ユニット判別後、拡張ユニット判別部４０２は、判別したユニット種類情報を実行部４０３に出力する。
【００４１】
次に、実行部４０３は、拡張ユニット判別部４０２が出力するユニット種類情報を受け取り、受け取ったユニット種類情報に基づき動作制御ユニット４００の動作モードを切り替える（ステップＳ３）。具体的には、実行部４０３は、受け取ったユニット判定信号に基づきＣＰＵ７０１が単独で動作制御装置３を制御する動作モードに切り替える。
【００４２】
次に、パネル部６０１は、パネルで設定されたロボット４の指示等を読み取り（ステップＳ１０１）、読み取った指示を通信部６０２に出力し、通信部６０２は受け取った指示を、信号線５を介して動作制御装置３に出力する（ステップＳ１０２）。
【００４３】
次に、ＣＰＵ７０１は、オペレーションパネル６が出力する指示を受け取り（ステップＳ１０３）、受け取った指示に応じて、ロボット４の制御指示を生成し、生成した制御指示を、ＢＵＳ端子７０２を介して動作制御ユニット４００に出力する（ステップＳ１０４）。
【００４４】
実行部４０３は、ＣＰＵユニット７００が出力する制御指示を受け取り、受け取った制御指示に応じて、ロボット制御部４０５にロボット４にロボット制御指示を出力する。また、ロボット制御部４０６は、実行部４０３が出力するロボット制御指示に基づきロボット４を制御する（ステップＳ１０５）。
以後、オペレーションパネル６が出力する指示を動作制御装置３が受け取り、受け取った指示に基づきＣＰＵ７０１が制御指示を生成し、生成した制御指示を実行部４０３に出力する。そして、実行部４０３は、受け取った制御指示に基づきロボット制御部４０５の制御を行う。すなわち、第二の実施形態は、動作制御装置３はコントロールプログラムを備えず、オペレーションパネルからの指示ごとにロボット４の制御をＣＰＵユニット７００の制御指示に基づいて行う。このように、動作制御ユニット４００にＣＰＵユニット７００を組み合わせて動作制御装置１を構成して使用する場合、動作制御装置は、ロボットコントローラーとして機能する。
【００４５】
以上のように、動作制御装置をベースとなる動作制御ユニット４００とＣＰＵユニット７００とで構成した。また、動作制御ユニット４００は、ＢＵＳ端子４０１を介して拡張機器であるＣＰＵユニット７００が接続され、接続されているユニットを拡張ユニット判別部４０２で判定した後、動作制御ユニット４００の動作モードを切り替えるようにした。また、動作モード切替後、ＣＰＵユニット７００は、オペレーションパネル６が出力するロボット４の指示等を受け取り、受け取ったロボット４の指示等に基づいてロボット４の制御信号を生成し、生成した生成した制御指示を実行部４０３に出力する。そして、実行部４０３は、受け取った制御指示に基づきロボット制御部４０５の制御を行うようにした。この結果、ＣＰＵ７０１が単独で動作制御装置を制御し、かつ従来のように、動作制御装置３に通信部を備えず、利用者の利用目的に合わせた動作指示装置２とＣＰＵユニット７００を組み合わせてコストを抑えた動作制御ユニットを構成することができる。
【００４６】
［第三実施形態］
次に、第三の実施形態について図５と図６を用いて説明する。図５は、第三の実施形態におけるロボットコントロール装置の構成の一例を示すブロック図である。なお、第二の実施形態と同じ機能部については、図３と同じ番号を用い、説明は省略する。第二の実施形態との相違点は、動作制御蔵置３には、ＰＣ８が一般的なネットワーク９を介して接続されている。また、ネットワーク９は、例えば、一般的なＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）規格によるものでも良い。
【００４７】
ＰＣ８は、一般的なパーソナルコンピュータであり、通信部８０１と、演算部８０２と、ＲＯＭ８０３と、ＲＡＭ８０４と、第４記憶部８０５とを備えている。
【００４８】
通信部８０１は、通信部８０１は、ネットワーク９を介して動作制御装置３と接続する。また、通信部８０１は、演算部８０２が出力する制御装置３のコントローラープログラムを受け取り、動作制御装置３とのロボット４の制御に関わる各種データや各種指示等の送受信、および、受け取った制御装置３のコントローラープログラム等の送信を行う。
【００４９】
演算部８０２は、例えば、ＲＯＭ８０３に記憶されているＯＳ（オペレーティング・システム）を読み出し、ＰＣ８の動作を行う。また、演算部８０２は、通信部８０１が出力する各種データや各種指示等を受け取り、受け取ったデータをＲＡＭ８０４に書き込んで記憶させ、受け取った各種指示に基づきＲＯＭ８０３に記憶されているデータを適時読み出して、読み出したデータを通信部８０１に出力する。ＲＯＭ８０３は、例えば、ＯＳ（オペレーティング・システム）や動作指示に関するアプリケーション、ロボット４へ指示する座標等の動作指示に関する各種データが記憶されている。ＲＡＭ８０４は、制御プログラムや各種データが書き込まれて記憶されている。さらにまた、演算部８０２は、第４記憶部８０５に記憶されているコントローラープログラムを読み出し、読み出したコントローラープログラムを通信部８０１に出力する。
【００５０】
第４記憶部８０５は、制御装置３のコントローラープログラムが記憶されている。
【００５１】
次に、図２のフローチャートを用いて、ロボットコントロール装置１の動作手順を説明する。本実施形態では、動作制御ユニット４００に、ＣＰＵユニット７００が接続されている例を説明する。また、第一の実施形態と同じ手順については図２と同じ番号を用い、説明を省略する。
【００５２】
ステップＳ１終了後、ＣＰＵ７０１は、ＢＵＳ端子７０２を介して動作制御ユニット４００に通信ユニットを示す拡張ユニット識別信号を出力する。
【００５３】
次に、拡張ユニット判別部４０２は、ＢＵＳ端子４０１を介してＣＰＵユニット７００が出力する拡張ユニット識別信号を受け取り、受け取った拡張ユニット識別信号を用いて動作制御ユニット４００に接続されているユニットを判別する（ステップＳ２）。具体的には、拡張機器識判定部４０２は、接続されているユニットを拡張ユニット識別信号に基づきＣＰＵユニット７００と判別する。接続ユニット判別後、拡張ユニット判別部４０２は、判別したユニット種類情報を実行部４０３に出力する。
【００５４】
次に、実行部４０３は、拡張ユニット判別部４０２が出力するユニット種類情報を受け取り、受け取ったユニット種類情報に基づき動作制御ユニット４００の動作モードを切り替える（ステップＳ３）。具体的には、実行部４０３は、受け取ったユニット判定信号に基づき、ＣＰＵ７０１が単独で動作制御装置３を制御する動作モードに切り替える。
以後、第一の実施形態の動作手順と同様にステップＳ４〜ステップＳ１０を行う。このように、動作制御ユニット４００にＣＰＵユニット７００を組み合わせて動作制御装置１を構成して使用する場合、動作制御装置は、ロボットコントローラーとして機能する。
【００５５】
以上のように、動作制御装置をベースとなる動作制御ユニット４００とＣＰＵユニット７００とで構成した。また、動作制御ユニット４００は、ＢＵＳ端子４０１を介して拡張機器であるＣＰＵユニット７００が接続され、接続されているユニットを拡張ユニット判別部４０２で判定した後、動作制御ユニット４００の動作モードを切り替えるようにした。また、動作モード切替後、ＣＰＵユニット７００は、実行部４０４が、ＰＣ８が出力するコントロールプログラムや各種データ、各種動作指示等を受け取り、受け取ったコントロールプログラムや各種データ、各種動作指示等に基づきロボット４の制御指示を行うようにした。この結果、従来のように、動作制御装置３に通信部を備えず、利用者の利用目的に合わせた動作指示装置２とＣＰＵユニット７００を組み合わせてコストを抑えた動作制御ユニットを構成することができる。
【００５６】
以上のように、第一の実施形態〜第三の実施形態のようにロボットコントロール装置を構成したので、動作制御装置３は、利用者の利用目的に応じて拡張機器として通信ユニット３００やＣＰＵユニット７００等を選択してベースとなる動作制御ユニット４００と組み合わせて利用することができる。すなわち、第一の実施形態のように動作指示装置２と組み合わせて利用したい場合、動作制御ユニット４００と拡張機器の通信ユニット３００を組み合わせて動作制御装置３を構成する。このように動作制御ユニット４００にＣＰＵユニット７００を組み合わせて動作制御装置１を構成して使用する場合、動作制御装置は、スレーブ・コントローラーとして機能する。
また、第二の実施形態のようにオペレーションパネル６を用いてロボット４の制御を行う場合、および、第三の実施形態のようにＰＣ８を用いてロボット４の制御を行う場合、動作制御ユニット４００と拡張機器のＣＰＵユニット７００を組み合わせて動作制御装置３を構成する。このように、動作制御ユニット４００にＣＰＵユニット７００を組み合わせて動作制御装置１を構成して使用する場合、動作制御装置は、ロボットコントローラーとして機能する。
この結果、ＣＰＵが制御プログラムに基づき制御する用途、および、ＣＰＵを備えず動作指示装置からの制御プログラムに基づき制御部がロボットの動作制御する用途の両方の使い方を可能にし、かつコスト的に有利なロボットコントロール装置を構成することができる。
【００５７】
また、本実施形態では、ＢＵＳ端子４０１が動作制御ユニット４００内にあり、スロットに通信ユニット３００等を挿入して拡張する例を説明したが、ＢＵＳ端子４０１は、図６のように動作制御ユニット４００の筐体の露出した部分に拡張端子であるＢＵＳ端子４０１を設けるようにしても良い。図６は、動作制御ユニットと拡張ユニットの接続の一例を説明する図である。この構成によれば、既成の動作制御装置１の筐体を大きくしたりして作り直さなくても本実施形態の構成に対応可能であり、さらに、動作制御装置１を開けて内部に各拡張ユニット（通信ユニット３００等）を取り付ける手間が省けるので作業性が良い。以上のような点においてもコスト的に有利なロボットコントロール装置を構成することができる。
【００５８】
また、第三の実施形態ではＰＣ８を用いて動作制御装置３に指示を行う例を説明したが、一般的なＰＬＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｃｏｎｔｒｏｌｌｅｒ）を用いて動作制御装置３に指示を行うようにしても良い。
【００５９】
また、本実施形態では、拡張機器判別部４０２が、受け取った拡張ユニット識別信号を用いて接続ユニット種類を判別する例を説明したが、拡張機器判別部４０２がユニット識別を行う拡張機器識識別信号を接続されている通信ユニット３００に出力し、この拡張機器識識別信号に対する応答信号を用いてユニットの判別を行っても良い。
【００６０】
また、本実施形態では、動作制御ユニット４００に通信ユニット３００とＣＰＵユニット７００を拡張機器として接続して動作制御装置を構成する例を説明したが、拡張機器は他のユニットでも良い。他のユニットは、例えば、画像表示出力機能を有するユニットや、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）  Ｉ／Ｆ（インターフェース）を備えるユニットなどでも良い。
【００６１】
また、本実施形態ではまた、ＢＵＳ端子３０２とＢＵＳ端子４０１、およびＢＵＳ端子７０２は、端子を用いる例を説明したが、例えば、光通信や赤外線等を用いて接続するようにしても良い。
【００６２】
また、本実施形態では、拡張ユニット判別部４０２が動作制御ユニット４００に接続されたユニットを判別する例を説明したが、動作制御ユニット４００の実行部４０３が通信ユニット３００またはＣＰＵユニットのどちらが接続されても接続された拡張ユニットが出力するプログラムやデータを受け取り、受け取ったプログラムやデータに基づいて制御するようにしても良い。この場合、拡張ユニット判別部４０２無しで動作制御ユニットを構成できるので、さらにコストダウンを実現できる。
【００６３】
なお、実施形態の図１の各部の機能を実現するためのプログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピューターシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピューターシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
また、「コンピューターシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピューターシステム内部の揮発性メモリーのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【符号の説明】
【００６４】
１・・・ロボットコントロール装置
２・・・動作指示装置
３・・・動作制御装置
４・・・ロボット
５・・・信号線
３００・・・通信ユニット
４００・・・動作制御ユニット
３０１・・・通信部
３０２、４０１・・・ＢＵＳ端子
４０２・・・拡張ユニット判別部
４０３・・・実行部
４０４・・・第１記憶部
４０５・・・第２記憶部
４０６・・・ロボット制御部
【図１】
0005446883.tif 000002
【図２】
0005446883.tif 000003
【図３】
0005446883.tif 000004
【図４】
0005446883.tif 000005
【図５】
0005446883.tif 000006
【図６】
0005446883.tif 000007