(57)【要約】【課題】  ロボットの制御を妨げることなく、検出手段により取り込んだ検出データをメインメモリに高速に転送するロボット制御装置を提供する。【解決手段】  ロボットの制御を行うと共に、ロボットの環境状態を検知するカメラ３１から取り込まれた検出データの処理を行うプロセッサ２３Ａと、プロセッサ２３Ａがアクセス可能であるメインメモリ２４Ａと、メインメモリ２４Ａに接続する第１のデータバス３７と、第１のデータバス３７より転送速度が遅く、ロボットの制御に使用される制御データを転送する第２のデータバス３８とを備えたロボット制御装置において、検出データが第２のデータバス３８を介さずに第１のデータバス３７を通してメインメモリ２４Ａに直接書き込まれる書き込み手段４を有する。書き込み手段４は、第１のデータバス３７を介してプロセッサ２３Ａに接続するプロセッサ制御用チップ５を備え、プロセッサ制御用チップにカメラ３１を接続する。【選択図】      図１
2006344136.tif 000002
【特許請求の範囲】
【請求項１】
ロボットの制御を行うと共に、該ロボットの環境状態を検知する検出手段から取り込まれた検出データの処理を行うプロセッサと、
該プロセッサがアクセス可能であるメインメモリと、
該メインメモリに接続する第１のデータバスと、
該第１のデータバスより転送速度が遅く、前記ロボットの制御に使用される制御データを転送する第２のデータバスと、を備えたロボット制御装置において、
前記検出データが前記第２のデータバスを介さずに前記第１のデータバスを通して前記メインメモリに直接書き込まれる書き込み手段を有することを特徴とするロボット制御装置。
【請求項２】
前記書き込み手段は、前記第１のデータバスを介して前記プロセッサに接続するプロセッサ制御用チップを備え、該プロセッサ制御用チップに前記検出手段を接続したことを特徴とする請求項１記載のロボット制御装置。
【請求項３】
前記制御データは、サーボ制御用データを含むことを特徴とする請求項１又は２記載のロボット制御装置。
【請求項４】
前記制御データは、周辺機器制御用データを含むことを特徴とする請求項１又は２記載のロボット制御装置。
【請求項５】
前記検出手段がカメラであり、前記検出データが前記カメラにより取り込まれた画像データであることを特徴とする請求項１〜４の何れか１項に記載のロボット制御装置。
【請求項６】
前記検出手段が力センサであり、前記検出データが前記力センサの出力データであることを特徴とする請求項１〜４の何れか１項に記載のロボット制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの環境状態を検出する、カメラや力センサといった検出手段から取り込まれたデータを処理して、ロボットの動作を制御する機能を持ったロボット制御装置に関するものである。
【背景技術】
【０００２】
ロボットの環境状態を検出する、検出手段から取り込まれたデータを処理して、教示されたロボットの動作を修正する機能を持ったロボット制御装置として、画像処理機能を内蔵したロボット制御装置が知られている。
【０００３】
図４は、画像処理機能を内蔵した従来のロボット制御装置の一例である。ロボット制御装置２０は、ロボット制御部２１と、画像処理部２２とを備えている。ロボット制御部２１は、図示しないロボットの位置／姿勢を制御するロボット制御用プロセッサ２３と、プログラムやデータを記憶するメインメモリ２４と、プロセッサ２３からの指令を受け、図示しないサーボアンプを制御するサーボ制御部２７と、イーサネット（登録商標）やデバイスネットといった通信や、図示しない教示操作盤との通信を制御する、通信制御部２８と、Ｉ／Ｏを制御する、周辺機器制御部２９と、プロセッサが実行するシステムプログラムや、教示プログラムなどを格納する不揮発メモリ３０とを備えている。ロボット制御用プロセッサ２３は、メインメモリ２４から動作プログラムを読み込むと共に、メインメモリ２４に対して一時保存するデータやアドレスを書き込む。プロセッサ２３の処理速度を高くするために、プロセッサ２３が使用するメインメモリ２４は、プロセッサ２３から高速にアクセス出来る第１のデータバス３７に接続されている。第１のデータバス３７に接続されるものが多くなると、バスの負荷が増大することにより、動作周波数の上限が低くなり、高速性が失われてしまうため、第１のデータバス３７にはメインメモリ２４のみが接続されている。デバイス２７、・・、３０は、第２のデータバス３８に接続されている。プロセッサ制御用チップ２５は第１のデータバス３７と第２のデータバス３８の両方に接続されている。
【０００４】
ロボット制御用プロセッサ２３から第２のデータバス３８へのアクセスは、プロセッサ制御用チップ２５によって制御されている。通常、第２のデータバス３８を流れるデータの量は、第１のデータバス３７と比べると少ないため、第２のデータバス３８は、第１のデータバス３７より転送速度が遅くても、性能への影響は小さい。そのため、第２のデータバス３８は、第１のデータバス３７より転送速度は遅くし、反面、多くのデバイスを接続することが可能となっている。また、図のような構成をとることで、第１のデータバス３７の動作を止めずに、第２のデータバス３８に接続されているデバイス２７，・・，３０相互間のデータのやり取りが可能となる。例えば、通信制御部２８で、外部機器から受信した入力信号を周辺機器制御部２９に送るといった処理が、第１のデータバス３７を止めずに行うことが出来るため、ロボット制御用プロセッサ２３に負担をかけずにデータの転送を行うことが出来る。
【０００５】
第１のデータバス３７と第２のデータバス３８の転送速度の例として、第１のデータバス３７の転送速度をバス幅６４ｂｉｔ・１００ＭＨｚ動作、第２のデータバス３８をバス幅１６ｂｉｔ・３０ＭＨｚ動作とすると、第１、第２のデータバス３７，３８の転送速度は、それぞれ８００ＭＢｙｔｅ／ｓｅｃ、６０ＭＢｙｔｅ／ｓｅｃとなり、両バス間で１３倍の速度の違いがある。更に、プロセッサ２３が内部にキャッシュメモリを持っている場合は、データをキャッシュメモリに取り込みながら処理するため、処理速度は転送速度の違い以上に高速化が期待できることとなる。
【０００６】
第２のデータバス３８側に接続されている画像処理部２２は、カメラ３１が接続されるカメラインタフェース部３２と、カメラ３１によって検出された画像データを記憶するメモリ３３と、メモリ３３にアクセスして画像データを画像処理し、対象ワークの位置を特定する画像処理用プロセッサ３４と、画像処理部の内部バスと第２のデータバス３８とを隔てるバスバッファ３５とから構成されている。
【０００７】
カメラ３１により対象ワークの画像データが検出され、カメラインタフェース部３２を介して画像データがメモリ３３に送られ、画像処理用プロセッサ３４により画像処理がなされ、その結果が第２のデータバス３８を介してロボット制御用プロセッサ２３に送られる。これによって、対象ワークのプログラム教示点が修正されるなどして、ロボットハンドが対象ワークを確実に把持したりすることができる。このような従来の一例に相当するものとして、例えば、特許文献１に記載のロボット制御装置がある。
【０００８】
上記構成の場合、カメラ３１から取り込まれた画像データは、画像処理部２２内でデータ処理されるため、ロボット制御用プロセッサ２３に負担をかけずに画像処理を行うことができる。また、画像データはデータバス３７，３８を流れないため、画像データの転送によって、ロボット制御が妨げられることは無い。
【０００９】
しかしながら、ロボット制御装置２０に、ロボット制御部２１とは別に画像処理部２２を設けると、ロボット制御装置２０のコストが高くなるという問題がある。
【００１０】
次に、従来のロボット制御装置の他の一例として、ロボット制御部用プロセッサをロボット制御及び画像処理に使用するものがある。図５に示すように、この従来例は、ロボット制御用プロセッサ２３Ａがロボットの制御と同時に画像処理を行うことができるものである。カメラ３１からの画像データは、カメラインタフェース部３２を介して取り込まれ、第２のデータバス３８及び第１のデータバス３７を経由してメインメモリ２４Ａに転送されるようになっている。画像データの転送は、ロボット制御用プロセッサ２３Ａ以外の第２のデータバス３８に接続された別のプロセッサや、ＤＭＡ（Direct Memory Access）によって行うこともできる。ロボット制御用プロセッサ２３Ａは、メインメモリ２４Ａに高速にアクセスして画像処理が行われる。
【００１１】
この従来例では、画像処理用プロセッサ及び画像処理用メモリが不要となるため、ロボット制御装置４０のコストを低減することができるという利点がある。
【００１２】
しかしながら、カメラ３１から取り込まれた画像データは、第２のデータバス３８を経由してメインメモリ２４Ａまで転送されるため、第２のデータバス３８にはデバイス２７，・・，３０のデータに加えて画像データが流れることになり、第２のデータバス３８を流れるデータ量が増大し、第２のデータバス３８にコリージョンやトラフィック混雑が発生し、ロボット制御が妨げられる心配がある。例えば、６４０×４８０ドットの画像を、１ドットあたり８ビットのモノクロデータとして、１秒あたり３０枚の画像を転送する場合を考えると、１秒あたりのデータ量は９ＭＢｙｔｅ／ｓｅｃになり、第２のデータバス３８の速度を６０ＭＢｙｔｅ／ｓｅｃとすると、バスの転送能力の約１５%にも及ぶこととなる。したがって、第２のデータバス３８を流れるデータへの影響は無視できなくなり、データ転送を妨げる可能性が高くなる。このような従来例に相当するものとして、例えば、特許文献２に記載のロボット制御装置がある。特許文献２に記載のロボット制御装置では、プロセッサ及びメモリのほか、サーボ制御部や外部機器接続部などのデバイスの全てが1つのバスに接続されているため、バスの負荷が増大し、バスの高速化が妨げられると共に、大量の画像データがロボット制御用データと同じバスを通って転送されるため、ロボットの制御用のデータの転送が妨げられる心配がある。
【００１３】
【特許文献１】特開２０００−１３５６８９号公報（第４−８頁）
【特許文献２】特開２００１−１９１２８５号公報（第４−６頁）
【発明の開示】
【発明が解決しようとする課題】
【００１４】
従来の例（図４）では、ロボット制御用プロセッサに負担をかけずに画像処理を行うことができるものの、ロボット制御用プロセッサとは別に画像処理用のプロセッサを設けるため、ロボット制御装置全体のコストが高くなるという問題があった。
【００１５】
また、従来の他の例（図５）では、図４の構成と比較して、低コストで、画像処理機能をロボット制御装置に内蔵することができるものの、画像データ転送の転送が、ロボットの制御を妨げる可能性があった。本発明は、ロボットの制御を妨げることなく、検出手段により取り込んだ検出データをメインメモリに高速に転送するロボット制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１６】
上記目的を達成するために、請求項１記載のロボット制御装置は、ロボットの制御を行うと共に、該ロボットの環境状態を検知する検出手段から取り込まれた検出データの処理を行うプロセッサと、該プロセッサがアクセス可能であるメインメモリと、該メインメモリに接続する第１のデータバスと、該第１のデータバスより転送速度が遅く、前記ロボットの制御に使用される制御データを転送する第２のデータバスと、を備えたロボット制御装置において、前記検出データが前記第２のデータバスを介さずに前記第１のデータバスを通して前記メインメモリに直接書き込まれる書き込み手段を有することを特徴とする。
【００１７】
また、請求項２記載の発明は、請求項１記載のロボット制御装置において、前記書き込み手段は、前記第１のデータバスを介して前記プロセッサに接続するプロセッサ制御用チップを備え、該プロセッサ制御用チップに前記検出手段を接続したことを特徴とする。
【００１８】
また、請求項３記載の発明は、請求項１又は２記載のロボット制御装置において、前記制御データは、少なくともサーボ制御用データを含むことを特徴とする。
【００１９】
また、請求項４記載の発明は、請求項１又は２記載のロボット制御装置において、前記制御データは、周辺機器制御用データを含むことを特徴とする。
【００２０】
また、請求項５記載の発明は、請求項１〜４の何れか１項に記載のロボット制御装置において、前記検出手段がカメラであり、前記検出データが前記カメラにより取り込まれた画像データであることを特徴とする。
【００２１】
また、請求項６記載の発明は、請求項１〜４の何れか１項に記載のロボット制御装置において、前記検出手段が力センサであり、前記検出データが前記力センサの出力データであることを特徴とする。
【発明の効果】
【００２２】
以上の如く、請求項１記載の発明によれば、検出手段によって取り込まれた検出データが、書き込み手段により第１のデータバスを経由してメモリに直接書き込まれることで、検出データと第２のデータバスを流れる制御データとがコリージョン（衝突）することが回避され、ロボットの制御を妨げることなく、検出手段により取り込んだ検出データをメインメモリに高速に転送することができる。
【００２３】
また、請求項２記載の発明によれば、書き込み手段に備わるプロセッサ制御用チップに検出手段が接続されることで、検出データをバス制御された第１のデータバス介してメインメモリに直接転送することができる。従って、画像データを高速に処理することができる。
【００２４】
また、請求項３記載の発明によれば、プロセッサの指令を受けてロボットの各関節を制御するサーボ制御用データは、検出データの影響を受けないため、ロボットの各関節の制御が妨げられることを防止することができる。
【００２５】
また、請求項４記載の発明によれば、ロボットハンドの開閉などを制御する周辺機器制御データは、検出データの影響を受けないため、ロボットハンドの開閉などの制御が妨げられることを防止することができる。
【００２６】
また、請求項５記載の発明によれば、カメラから取り込まれたデータ容量の大きい画像データを、第２のデータバスより高速である第１のデータバスを介してメインメモリに直接転送することができる。したがって、データ容量の大きい画像データが低速である第２のデータバスを占有してロボットの制御を妨げることを防止することができる。
【００２７】
また、請求項６記載の発明によれば、力センサから取り込まれた出力データをメインメモリに高速に書き込むことができから、力センサの出力データに基づいて制御データの処理を行うことができ、ロボットの位置／姿勢制御を能率良く行うことができる。
【発明を実施するための最良の形態】
【００２８】
図１は本発明に係るロボット制御装置の一実施形態のブロック図である。ロボット制御装置１は、ロボット制御用プロセッサ２３Ａと、ロボット制御用プロセッサ２３Ａが直接にアクセス可能なメインメモリ２４Ａと、メインメモリ２４Ａに接続するに高速のＣＰＵ外部バス（第１のデータバス）３７と、ＣＰＵ外部バス３７より転送速度が遅く、ロボットの制御に使用される制御データを転送する第２のデータバス３８と、ロボット制御用プロセッサ２３ＡにＣＰＵ外部バス３７を介してバス接続するプロセッサ制御用チップ５とを備えている。プロセッサ制御用チップ５には、ロボット周囲の環境状態を検知又は認識するＣＣＤカメラ（検出手段）３１が接続されている。ロボット周囲の環境状態とは、クランプ前後の対象ワークとロボットの相対位置関係をいう。本実施形態のＣＣＤカメラ３１は、クランプする前の対象ワークの位置を検知するために用いられている。
【００２９】
このロボット制御装置１は、ＣＣＤカメラ３１がプロセッサ制御用チップ５に接続された点を除いて、従来例の図５と略同様の構成である。以下、従来例と重複する構成部分については、同一符号を付して重複した説明は省略することとし、相違点について説明することとする。
【００３０】
ロボット制御用プロセッサ２３Ａは、第２のデータバス３８を流れる制御データに基づいて図示しない多関節型ロボットの位置／姿勢を制御すると共に、ＣＣＤカメラ３１によって取り込まれた対象ワークの画像データを処理する機能を併せ持っている。すなわち、本実施形態のロボット制御用プロセッサ２３Ａは、ロボット制御と画像処理を１つのプロセッサで実行できるようになっている。
【００３１】
ロボット制御用プロセッサ２３Ａが高速にアクセス可能なメインメモリ２４Ａには、例えばＳＤＲＡＭが適用される。メインメモリ２４Ａは、ロボットを動作させる動作プログラムやデータを一時的に記憶すると共に、ＣＣＤカメラ３１によって検出された画像データ（検出データ）を記憶する。記憶された動作プログラムやデータは、ロボット制御用プロセッサ２３Ａのアクセスによって読み出される。読み出された動作プログラムなどが、プロセッサ２３Ａ内のキャッシュメモリに蓄積されることで、より高速に画像処理が行われることとなる。
【００３２】
プロセッサ制御用チップ５には、高速なＣＰＵ外部バス３７と、第２のデータバス３８がそれぞれ接続している。例えば、ＣＰＵ外部バス３７をバス幅６４ｂｉｔ，クロック１００ＭＨｚ、第２のデータバス３８をバス幅１６ｂｉｔ，クロック３０ＭＨｚとした場合、ＣＰＵ外部バス３７の転送速度は８００ＭＢｙｔｅ／ｓｅｃ、第２のデータバス３８の転送速度は６０ＭＢｙｔｅ／ｓｅｃとなる。１ドットあたり８ビットのモノクロデータで、６４０×４８０ドットの画像を１秒当たり３０枚転送する場合には、１秒当たりのデータ量は９ＭＢｙｔｅ／ｓｅｃとなる。
【００３３】
ここで、転送速度９ＭＢｙｔｅ／ｓｅｃでデータを転送する場合に、ＣＰＵ外部バス３７に対するデータ占有率と、第２のデータバス３８に対するデータ占有率とをそれぞれ比較すると、ＣＰＵ外部バス３７に対するデータ占有率は約１％であるのに対し、第２のデータバス３８に対するデータ占有率は約１５％になる。ＣＰＵ外部バス３７では、転送されるデータ量が相対的に小さく、他のデータ転送に与える影響は非常に小さいものとなる。一方、第２のデータバス３８では転送されるデータ量が相対的に大きく、他のデータ転送に与える影響が心配される。本発明では、ＣＣＤカメラ３１によって取り込まれた画像データはバス幅の広いＣＰＵ外部バス３７を流れるようになっているため、他のデータ転送に与える影響は非常に小さく、ロボットの制御が妨害されないようになっている。
【００３４】
図２に示すように、プロセッサ制御用チップ５は、ＣＰＵ外部バスコントローラ７や第２のデータバスコントローラ８などのバスコントローラと、カメラコントローラ６とを備えている。バスコントローラ７，８によって、仕様の異なる各バスを流れるデータが制御されている。
【００３５】
第２のデータバス３８に接続されているデバイスとしては、例えばサーボ制御部２７、通信制御部２８、周辺機器制御部２９、不揮発性メモリ３０、などがある。
【００３６】
サーボ制御部２７は、ロボット制御用プロセッサ２３Ａからの指令を受け、図示しないサーボアンプに指令し、ロボットの各関節を動かすサーボモータの電流を制御する部分である。通信制御部２８は、イーサネット（登録商標）やデバイスネットといったネットワーク通信や、図示しない教示操作盤との通信を制御する部分である。周辺機器制御部２９は、ランプのＯＮ／ＯＦＦ、ロボットハンドの開閉信号の制御などを行う部分である。不揮発性メモリ３０は、ロボットの電源をＯＦＦしても消去されないデータを記憶する部分であり、例えばプロセッサが実行するシステムプログラムや、教示プログラムなどを記憶する部分である。教示制御部は、例えば、キー操作により教示データを入力するキー入力装置と、ロボットの様々なデータを表示する表示部と、それらを制御するＣＰＵなどを備える部分である。
【００３７】
カメラコントローラ６は、ビジョンセンサーとしてのＣＣＤカメラから画像データを取り込むと共に、取り込んだ画像データをＣＰＵ外部バスコントローラ７に送り、メインメモリ２４Ａまで転送する部分であり、インタフェース部６ａとデータストア部６ｂとを備えている。インタフェース部６ａは、カメラ３１から取り込まれる画像データをプロセッサ２３Ａが扱う情報に変換する機能を持っており、アナログデータの場合は、アナログ／デジタルコンバータを含むインタフェース回路となり、他方、デジタルデータの場合はその受信回路となる。たとえば、ＵＳＢ、ＩＥＥＥ１３９４、イーサネット（登録商標）といったインタフェースを使ったカメラは、デジタルデータを転送するため、インタフェース部はそれぞれの通信の受信回路となる。データストア部６ｂは、データ転送のタイミングが取れるまで、データを一時的にストアする部分であり、例えばＦＩＦＯバッファからなっている。カメラ３１で撮影した画像を表示して、カメラの向きやフォーカスを調節するために、図示しない画像表示部を設けることがある。画像信号出力部６ｃは、図示しない画像表示部へ、画像信号を出力する。また、図示しない教示操作部に、調整用の画像を表示することで、専用の画像表示部を持たないこともある。
【００３８】
ＣＣＤカメラ３１は、例えば、図示しないロボットハンドの先端に取り付けられていて、動作プログラムの教示点となる対象ワークの特定位置を計測するためのものである。例えば、ロボットを用いた加工システムが対象ワークのバリ取りを行うものであれば、計測する特定位置は、対象ワークの稜線に生成したバリ生成部位となる。ＣＣＤカメラ３１には、３次元カメラや２次元カメラを任意に用いることができる。３次元カメラを用いた場合は、三角測量の原理でバリ生成部位の位置を撮影する。取り込まれた画像データは、プロセッサ２３Ａにより処理され、対象ワークのバリ生成部位の位置が算出される。このような画像処理機能を有するロボットは、知能ロボットとして実用化されている。
【００３９】
図３は、図１のロボット制御装置１の変形例を示すものである。この変形例は、メインメモリ２４Ａがメモリバス３９を介してプロセッサ制御用チップ５に接続されている点が、上記実施形態と相違している。この構成においても、ＣＣＤカメラ３１によって取り込まれた画像データは、第２のデータバスのデータ転送を妨げることなく高速にメインメモリ２４Ａまで転送される。なお、その他の構成は、上記実施形態と同じであるため、ここでの説明は省略することとする。
【００４０】
以上のように、本実施形態によれば、ＣＣＤカメラ３１によって取り込まれた画像データは高速なＣＰＵ外部バス３７又はメモリバス３９を経由してメインメモリ２４Ａに高速に転送されるから、ロボット制御信号の転送が画像データによって妨害されることを防止することができる。このため、ロボット制御装置の性能を低下させることなく、各種センサからの情報を処理する知能ロボットの制御装置を低コストで実現することができる。
【００４１】
なお、本発明は上記実施形態に限定されるものはなく、本発明の骨子を逸脱しない範囲で種々変形して実施することができる。例えば、本実施形態のＣＣＤカメラ３１に代えて、検出手段の他の例として力センサを用いることもできる。力センサとしては、例えば歪ゲージで構成され発振器により交流駆動される複数のブリッジ回路を内臓した６軸力センサが用いられる。力センサは、ロボット本体のアーム先端部やアームとハンドとの間に設けられ、対象ワークの組み立てなどを柔らかい動作で行うことを可能にする。
【００４２】
また、本実施形態では、ＣＣＤカメラ３１がプロセッサ制御用チップ５に直接に接続されているが、プロセッサ制御用チップとは別体に設けられたカメラインタフェース部を介して、ＣＣＤカメラ３１をプロセッサ制御用チップに接続することも可能であり、ＣＣＤカメラ３１とプロセッサ制御用チップ５との接続形態を制限するものではない。
【図面の簡単な説明】
【００４３】
【図１】本発明に係るロボット制御装置の一実施形態を示すブロック図である。
【図２】図１のプロセッサ制御用チップの詳細図である。
【図３】図１に示すロボット制御装置の変形例を示すブロック図である。
【図４】従来のロボット制御装置の一例を示すブロック図である。
【図５】従来のロボット制御装置の他の一例を示すブロック図である。
【符号の説明】
【００４４】
１，１Ａ    ロボット制御装置
５    プロセッサ制御用チップ
６    カメラインタフェース部
２３Ａ    ロボット制御用プロセッサ
２４Ａ    メインメモリ
３１    カメラ（検出手段）
３７    ＣＰＵ外部バス（第１のデータバス）
３８    第２のデータバス
３９    メモリバス（第１のデータバス）
【図１】
2006344136.tif 000003
【図２】
2006344136.tif 000004
【図３】
2006344136.tif 000005
【図４】
2006344136.tif 000006
【図５】
2006344136.tif 000007