JP2006088330A - ロボットコントローラ - Google Patents

ロボットコントローラ Download PDF

Info

Publication number
JP2006088330A
JP2006088330A JP2005349515A JP2005349515A JP2006088330A JP 2006088330 A JP2006088330 A JP 2006088330A JP 2005349515 A JP2005349515 A JP 2005349515A JP 2005349515 A JP2005349515 A JP 2005349515A JP 2006088330 A JP2006088330 A JP 2006088330A
Authority
JP
Japan
Prior art keywords
controller
slave
robot
master controller
communication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005349515A
Other languages
English (en)
Inventor
Hideaki Hashimoto
英昭 橋本
Fumio Ozaki
文夫 尾崎
Hirokazu Sato
広和 佐藤
Jiyunji Ooaki
準治 大明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2005349515A priority Critical patent/JP2006088330A/ja
Publication of JP2006088330A publication Critical patent/JP2006088330A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

【課題】ハード的には再構成可能な分散型の構成を採りながら、開発環境は集中型として管理することのできるロボットコントローラを提供する。
【解決手段】マスタコントローラ(102)と、通信手段(106〜108、202a〜202d)でマスタコントローラに接続され、マスタコントローラ側からの情報で再構成可能な機能を持つスレーブコントローラ(201a〜201d)と、マスタコントローラに接続されたソフトウェア開発装置(101)とを備える。ソフトウェア開発装置(101)は、通信手段(106〜108、202a〜202d)を隠蔽することで、スレーブコントローラ(201a〜201d)がバーチャルにマスタコントローラ(102)の一部として認識される。
【選択図】図1

Description

本発明は、マスタコントローラと、マスタコントローラと通信で結ばれ、マスタコントローラからの情報による再構成、又はスレーブコントローラ自身の自律的な判断による再構成が可能なスレーブコントローラと、マスタコントローラに接続されたソフトウェア開発装置とで構成され、スレーブコントローラが、ソフトウェア開発装置からバーチャルにマスタコントローラの一部として扱えるようにしたロボットコントローラに関する。
従来のロボットコントローラは、CPUを1個だけ用いる集中型のものが一般的であったが、最近のロボットシステムの高度化、複雑化、大規模化に伴い、CPUを複数個利用する分散型のロボットコントローラが使われるようになってきた(例えば特許文献1参照)。
また、多様な用途に対応できるようにFPGA(Field Programmable Gate Array)を利用し、用途に応じてコントローラ部を再構成可能にしたものもある(例えば特許文献2参照)。
特開2001−92795号公報 特開2001−322078号公報
しかしながら、こうした分散型のロボットコントローラは、集中型のものに比べて処理能力が向上し、フレキシビリティもアップするが、大規模化に伴い開発時に全体を統一的に管理することが困難になる場合が多い。そのため、システムにトラブルが発生した際、その原因やソフトウェアのバグを見つけるまでに従来の集中型のものより長い時間を必要とするという問題があった。
本発明は、このような点に鑑みてなされたものであり、その目的は、ハード的には再構成可能な分散型の構成を採りながら、開発環境は集中型として管理することのできるロボットコントローラを提供することにある。
本発明は上記課題を解決するものであって、請求項1に係る発明は、マスタコントローラと、通信手段で前記マスタコントローラに接続され、マスタコントローラ側からの情報で再構成可能な機能を持つスレーブコントローラと、前記マスタコントローラに接続されたソフトウェア開発装置とを備え、前記ソフトウェア開発装置は、前記通信手段を隠蔽することで、スレーブコントローラがバーチャルにマスタコントローラの一部として認識されるように構成したロボットコントローラである。
請求項2に係る発明は、請求項1に記載のロボットコントローラにおいて、前記通信手段はルーティング機能を持つため複数個のスレーブコントローラを接続可能であり、この接続はプラグアンドプレイが可能で、前記ソフトウェア開発装置は、スレーブコントローラがプラグアンドプレイで接続された情報により、複数個のスレーブコントローラがバーチャルにマスタコントローラの一部として認識され、集中型のコントローラとして処理できるように構成したロボットコントローラである。
請求項3に係る発明は、請求項1又は請求項2に記載のロボットコントローラにおいて、マスタコントローラとスレーブコントローラ間の通信、およびスレーブコントローラの再構成は、システムで規定された時間間隔内でリアルタイムに実行されるロボットコントローラである。
請求項4に係る発明は、請求項1又は請求項2に記載のロボットコントローラにおいて、マスタコントローラの通信は複数の仕様に対応していて、通信タイプの違う複数のスレーブコントローラが接続可能であり、これら複数のスレーブコントローラがバーチャルにマスタコントローラの一部として認識され、集中型のコントローラとして処理できるように構成したロボットコントローラである。
請求項5に係る発明は、請求項1〜請求項4のいずれかに記載のロボットコントローラにおいて、マスタコントローラを再構成可能としたロボットコントローラである。
請求項6に係る発明は、請求項5に記載のロボットコントローラにおいて、マスタコントローラの通信部分およびスレーブコントローラの通信部分は、マスタコントローラの再構成情報に応じていずれも再構成し、以降の通信ではマスタコントローラ側の通信部分は再構成した状態でデータをシリアライズし、スレーブコントローラ側では再構成した状態でデシリアライズしてデータをスレーブコントローラの処理部に渡すロボットコントローラである。
請求項7に係る発明は、請求項5に記載のロボットコントローラにおいて、スレーブコントローラの再構成結果と同等の再構成がマスタコントローラで実行され、スレーブコントローラの動作をマスタコントローラ内で模擬するロボットコントローラである。
請求項8に係る発明は、請求項1〜請求項7のいずれかに記載のロボットコントローラにおいて、内部回路の再構成で、現構成回路から別の回路に変更する場合、該当コントローラの入出力信号ピンをハイインピーダンスに保ち、又は入力モードに変更してから、内部回路構成を変更するロボットコントローラである。
請求項9に係る発明は、請求項1〜請求項7のいずれかに記載のロボットコントローラにおいて、再構成の単位を、ロボットの構造、モータの種類、センサの種類、通信方法などに最適化されたハード的なブロックから選択するようにしたロボットコントローラである。
請求項10に係る発明は、請求項1〜請求項9のいずれかに記載のロボットコントローラにおいて、スレーブコントローラは、マスタコントローラと通信可能な子コントローラと、再構成可能な孫コントローラとで構成されるロボットコントローラである。
以上詳細に説明したように、本発明によれば、ハード的には再構成可能な分散型の構成を採ることで、ロボットのハードウェアに適した分散コントローラ構成を簡単に実現できるとともに、開発環境は集中型として管理することで、煩雑になる分散コントローラのソフトウェア開発を集中型コントローラと同様の手法で簡単に実現できる。
以下、本発明に係るロボットコントローラについて、図面を参照しながら具体的に説明する。
図4は、本発明のロボットコントローラの実施の対象例である移動ロボット401を示し、この移動ロボット401は、CCDカメラ402、モータで駆動されるカメラ用雲台部403、音声マイク404、超音波センサ405、及び、モータで駆動される移動用車輪406,407で構成されている。
図1は、図4に示す移動ロボット401のコントロールシステムを、本発明のロボットコントローラで構成したときのブロック図である。このロボットコントローラ100は、ソフトウェア開発装置としての開発用PC(すなわちマンマシンインタフェース)101と、マスタコントローラ(すなわちマスタボード又はマスタLSIチップ)102と、スレーブコントローラ(すなわちスレーブボード又はスレーブLSIチップ)201a、201b、201c、201dとで構成される。
開発用PC101は、マスタコントローラ102に設けられた通信部103によってマスタコントローラ102と接続されている。
マスタコントローラ102は、通信部103に繋がるマスタCPUコア104を備えている。マスタCPUコア104には音声信号処理部110が設けられ、この音声信号処理部110は、音声マイク111(移動ロボット401の音声マイク404に相当)から入力される音声信号の信号処理を行う。
マスタコントローラ102は、マスタCPUコア104に繋がるマスタコントローラ内部バス105を備えている。また、マスタコントローラ102は、スレーブコントローラ201a用のIEEE1394通信部106、スレーブコントローラ201b用のCAN通信部107、およびスレーブコントローラ201c、201d用のUSB2.0通信部108を備えていて、これらの通信部106、107、108もマスタコントローラ内部バス105に繋がっている。これにより、通信部106、107、108からマスタコントローラ内部バス105を介してマスタCPUコア104に通信情報が伝達され、さらに、マスタCPUコア104から通信部103を介して開発用PC101に通信情報が伝達される。
スレーブコントローラ201aは、マスタコントローラ102の通信部106と接続されたIEEE1394通信部202aを備えていて、この通信部202aを介してマスタコントローラ102と通信する。また、スレーブコントローラ201aは、通信部202aに繋がるCPUコア付きFPGA部203aを備えていて、CCDカメラ204a(移動ロボット401のCCDカメラ402に相当)の信号は、画像前処理用に再構成されたCPUコア付きFPGA部203aで画像前処理され、その結果がマスタコントローラ102に送られる。
スレーブコントローラ201bは、マスタコントローラ102の通信部107と接続されたCAN通信部202bを備えていて、この通信部202bを介してマスタコントローラ102と通信する。また、スレーブコントローラ201bは、通信部202bに繋がるCPUコア付きFPGA部203bを備えていて、超音波センサ204b(移動ロボット401の超音波センサ405に相当)の信号は、センサ信号処理用に再構成されたCPUコア付きFPGA部203bで信号処理され、その結果がマスタコントローラ102に送られる。
スレーブコントローラ201cは、USB2.0通信バス109を介してマスタコントローラ102の通信部108と接続されたUSB2.0通信部202cを備えていて、この通信部202cを介してマスタコントローラ102と通信する。また、スレーブコントローラ201cは、通信部202cに繋がるCPUコア付きFPGA部203cを備えていて、カメラ雲台204c(移動ロボット401のカメラ用雲台部403に相当)は、雲台制御用に再構成されたCPUコア付きFPGA部203cで制御される。すなわち、スレーブコントローラ201cのCPUコア付きFPGA部203cは、マスタコントローラ102から雲台制御用の目標値を受信してカメラ雲台204cのモータ出力などを制御する一方、コマンド終了や異常状態などの通信をマスタコントローラ102に対して行う。
スレーブコントローラ201dは、USB2.0通信バス109を介してマスタコントローラ102の通信部108と接続されたUSB2.0通信部202dを備えていて、この通信部202dを介してマスタコントローラ102と通信する。また、スレーブコントローラ201dは、通信部202dに繋がるCPUコア付きFPGA部203dを備えていて、車輪駆動機構204d(移動ロボット401のモータで駆動される移動用車輪406,407に相当)は、車輪駆動制御用に再構成されたCPUコア付きFPGA部203dで制御される。すなわち、スレーブコントローラ201cのCPUコア付きFPGA部203dは、マスタコントローラ102から車輪駆動制御用の目標値を受信して車輪駆動機構204dのモータ出力などを制御する一方、コマンド終了や異常状態などの通信をマスタコントローラ102に対して行う。
図2は、図1で示したロボットコントローラ100のハードウェア構成において、全てのスレーブコントローラ201a、201b、201c、201dの機能がバーチャルにマスタコントローラ102上に存在するごとく開発用PC101から見えるようにしたときの仮想ブロック図である。
図2に示すようなブロック構成によれば、仮想的な画像前処理部205a、仮想的なセンサ信号処理部205b、仮想的な雲台制御部205c、および仮想的な車輪駆動制御部205dは、開発用PC101上に構成されたソフトウェア開発環境においては、それぞれがマスタCPUコア104のひとつの処理ルーチンとして扱える。
この方法としては、ソフトウェア的に、IEEE1394通信部106、202a、CAN通信部107、202b、USB2.0通信部108、202c、202dを隠蔽し、開発者に通信部を意識させずに開発環境を構築する方法がある。この方法はソフトウェアのみの対応で良いため、簡便であるというメリットがある。
これに対し、実際のロボットに組み込んだ組込システムではハード的なタイミングが重要になる。そこで、マスタコントローラ102もFPGAなどの再構成可能なものにし、スレーブコントローラ201a、201b、201c、201dと同様のハードウェアをマスタコントローラ102自身に構成するという方法もある。この方法は、スレーブコントローラが未完の場合など、初期のシステム開発時に有効である。
また、開発時には、スレーブコントローラ201a、201b、201c、201dに接続されるデバイス204a、204b、204c、204dなどが未完の場合もある。そこで、スレーブコントローラ201a、201b、201c、201dにおいてこれらのデバイスを模擬するような再構成を行うことも有効である。この場合、デバイス204a、204b、204c、204dそのものを再構成で模擬する方法や、デバイスそのものは模擬せずデータのみを模擬する方法がある。
図1のスレーブコントローラ201a、201b、201c、201dにおいて、予め接続されるデバイス204a、204b、204c、204dが既知の場合は、スレーブコントローラ用のコンフィグレーションファイルは、マスタコントローラ102や開発用PC101などの上位系からシステム立ち上げ時に送られたものを利用できる。または、スレーブコントローラ201a、201b、201c、201dにSRAMなどの記憶部を持たせ、これにコンフィグレーションファイルを保存しておき、立ち上げ時にそこから読み出して再構成することができる。
また、デバイス204a、204b、204c、204d自身と、スレーブコントローラ201a、201b、201c、201dとの間で、PCにおけるUSB機器のようにプラグアンドプレイ的なハードウェア、ソフトウェア構成を持たせるようにすれば、先に示したSRAMなどに保存されているコンフィグレーションファイルから、又は、デバイス情報を基に上位系へ問い合わせ、検索してコンフィグレーションファイルをダウンロードすることで、自律的にスレーブコントローラ201a、201b、201c、201dが再構成可能となる。
ロボットのような組込システムでは、作業の内容によって、実時間で制御則、制御演算を切り換える必要がある。そこで、制御則や制御演算に最適化したスレーブコントローラ201a、201b、201c、201dのコンフィグレーションファイルを、制御則、制御演算実行時に先に示したSRAMなどから持ってきて、実時間で再構成を可能にすることで、演算時間や回路規模を効率化したスレーブコントローラハードウェアを構成できる。
マスタコントローラ102とスレーブコントローラ201a、201b、201c、201d間の通信部において、通信初期化時又は通信内容変更時にマスタ側から以降の通信内容に最適化したスレーブ通信部コンフィグレーションファイルを送り、これによりスレーブ通信部を再構成することで効率的な通信が可能になる。
すなわち、スレーブコントローラ201a、201b、201c、201dの通信部202a、202b、202c、202dを、マスタコントローラ102からの再構成情報に応じて再構成する。これにより、スレーブコントローラ201a、201b、201c、201dの通信部202a、202b、202c、202dは、以降の通信でマスタコントローラ102から送られてくるデータを、再構成した状態でデシリアライズして、CPUコア付きFPGA部203a、203b、203c、203dに渡すことができる。
また、マスタコントローラ102の通信部106、107、108、および、スレーブコントローラ201a、201b、201c、201dの通信部202a、202b、202c、202dを、マスタコントローラ102の再構成情報に応じていずれも再構成する。これにより、以降の通信では、マスタコントローラ102の通信部106、107、108は再構成した状態でデータをシリアライズし、一方、スレーブコントローラ201a、201b、201c、201dの通信部202a、202b、202c、202dは再構成した状態でデータをデシリアライズして、CPUコア付きFPGA部203a、203b、203c、203dに渡すことができる。
図3は、図1に示した車輪駆動制御用のスレーブコントローラ201dを、子コントローラ[すなわち孫コントローラ付きスレーブコントローラ(孫コントローラ付きスレーブボード又はスレーブLSIチップ)]211と、孫コントローラ(すなわち孫ボード又は孫LSIチップ)301a、301bとで構成したブロック図である。
子コントローラ(孫コントローラ付きスレーブコントローラ)211は、USB2.0通信バス109を介してマスタコントローラ102の通信部108と接続された上位系通信部212を備えていて、この上位系通信部212を介してマスタコントローラ102と通信する。また、子コントローラ211は、上位系通信部212に繋がる再構成コア部213を備えている。再構成コア部213はジャイロ信号処理部216を備えていて、このジャイロ信号処理部216でジャイロセンサ217からの信号を処理する。また、再構成コア部213は下位系通信部218を備えていて、この下位系通信部218が、下位系通信バス219を介して孫コントローラ301a、301bと通信する。
孫コントローラ301aは、下位系通信バス219を介して子コントローラ211と通信する通信部302aと、右モータ制御用に再構成された右モータ用制御回路部303aとを備えている。そして、右モータ用制御回路部303aは、右モータ用ドライバ304aおよび右モータ用回転角センサ306aによって右モータ305aを制御する。一方、孫コントローラ301bは、下位系通信バス219を介して子コントローラ211と通信する通信部302bと、左モータ制御用に再構成された左モータ用制御回路部303bとを備えている。そして、左モータ用制御回路部303bは、左モータ用ドライバ304bおよび左モータ用回転角センサ306bによって左モータ305bを制御する。
このように、ロボットシステムの構成によっては、図1に示すマスタコントローラ102およびスレーブコントローラ201a、201b、201c、201dと同様な関係を多層に構成することで、システムのハードウェア製作が一層容易になる場合がある。この場合も、開発用PC101からはマスタコントローラ102上に全てのスレーブ側が存在するような仮想化を行うことで、開発の視認性を上げることができ、開発効率やデバッグ時に有効である。
また、再構成の内容によっては、スレーブコントローラ201a、201b、201c、201dと外部デバイスとの入出力信号が変更されることもある。スレーブコントローラの内部素子を破壊することなくこの入出力方向の切換を実施する方法を図5に示す。すなわち、スレーブコントローラの外部との入出力部(CPU側信号ライン506とデバイス側信号ライン507間)に入出力バッファ部を用意し、そこに内蔵された入出力切換回路504(1チャネル分を示す)を入出力方向制御信号(モードコントロール信号)505によって切り換える。図5において、入出力バッファ部501は、入出力方向制御信号505が出力モードのときの入出力切換回路504の状態を示し、入出力バッファ部502は、入出力方向制御信号505が遷移モードのときの入出力切換回路504の状態を示し、入出力バッファ部503は、入出力方向制御信号505が入力モードのときの入出力切換回路504の状態を示す。このように、入出力バッファ部の入出力切換回路504は、入出力方向制御信号505により切換時でも常にハイインピーダンスが保たれるようにしている。
なお、図1では、スレーブコントローラ201a、201b、201c、201dの再構成部203a、203b、203c、203dはCPUコア付きFPGAの例を示したが、FPGAは通常のカスタムLSIより高価で動作クロックも上げられないという弱点を持つ。そこで、ロボット用のハードIPコアを予め用意しておき、コア間の接続情報のみで再構成させるようにすれば、カスタムLSIと同等の価格と速度を実現できる。
上記のように、このロボットコントローラ100は、マスタコントローラ102と、通信手段でマスタコントローラに接続され、マスタコントローラ側からの情報で再構成可能な機能を持つスレーブコントローラ201a、201b、201c、201dと、マスタコントローラに接続されたソフトウェア開発装置としての開発用PC101とを備え、開発用PC101は、通信手段を隠蔽することで、スレーブコントローラ201a、201b、201c、201dがバーチャルにマスタコントローラ102の一部として認識される。
また、このロボットコントローラ100は、マスタコントローラ102と、通信手段でマスタコントローラに接続され、コントロール対象となる機器の状態に応じて自律的に再構成可能なスレーブコントローラ201a、201b、201c、201dと、マスタコントローラに接続されたソフトウェア開発装置としての開発用PC101とを備え、開発用PC101は、通信手段を隠蔽し、スレーブコントローラ201a、201b、201c、201dが自律的に再構成した結果がマスタコントローラ102を通じて開発用PC101に情報伝達されることで、スレーブコントローラがバーチャルにマスタコントローラ102の一部として認識される。
また、このロボットコントローラ100は、マスタコントローラ102とスレーブコントローラとを繋ぐ通信手段はルーティング機能を持つため、複数個のスレーブコントローラ201a、201b、201c、201dを接続可能であり、この接続はプラグアンドプレイが可能で、開発用PC101は、スレーブコントローラがプラグアンドプレイで接続された情報により、複数個のスレーブコントローラ201a、201b、201c、201dがバーチャルにマスタコントローラ102の一部として認識され、集中型のコントローラとして処理できる。
また、このロボットコントローラ100は、マスタコントローラ102とスレーブコントローラ201a、201b、201c、201d間の通信、およびスレーブコントローラの再構成は、システムで規定された時間間隔内でリアルタイムに実行される。
また、このロボットコントローラ100は、マスタコントローラ102の通信は複数の仕様に対応していて、通信タイプの違う複数のスレーブコントローラ201a、201b、201c、201dが接続可能であり、これら複数のスレーブコントローラがバーチャルにマスタコントローラ102の一部として認識され、集中型のコントローラとして処理できる。
また、このロボットコントローラ100は、マスタコントローラ102が再構成可能である。
また、このロボットコントローラ100は、スレーブコントローラ201a、201b、201c、201dの通信部分はマスタコントローラ102からの再構成情報に応じて再構成し、以降の通信でマスタコントローラ102から送られてくるデータを再構成した状態でデシリアライズしてスレーブコントローラの処理部に渡すことができる。
また、このロボットコントローラ100は、マスタコントローラ102の通信部分およびスレーブコントローラ201a、201b、201c、201dの通信部分は、マスタコントローラ102の再構成情報に応じていずれも再構成し、以降の通信ではマスタコントローラ102側の通信部分は再構成した状態でデータをシリアライズし、スレーブコントローラ201a、201b、201c、201d側では再構成した状態でデシリアライズしてデータをスレーブコントローラの処理部に渡すことができる。
また、このロボットコントローラ100は、マスタコントローラ102とスレーブコントローラ201a、201b、201c、201d間の通信部分はマスタコントローラ102からのリセット信号に応じて再構成し、標準通信構成に復帰できる。
また、このロボットコントローラ100は、スレーブコントローラ201a、201b、201c、201dの再構成結果と同等の再構成がマスタコントローラで実行され、スレーブコントローラ201a、201b、201c、201dの動作をマスタコントローラ102内で模擬することができる。
また、このロボットコントローラ100は、何らかの入出力デバイスを取り扱うスレーブコントローラ201a、201b、201c、201dでは、動作時に実際の入出力デバイスが無いときに入出力動作を模擬的に生成することができる。
また、このロボットコントローラ100は、何らかの入出力デバイスを取り扱うスレーブコントローラ201a、201b、201c、201dでは、動作時に実際の入出力デバイスが無いときに入出力動作のデータ部分のみを模擬的に生成するように再構成することができる。
また、このロボットコントローラ100は、内部回路の再構成で、現構成回路から別の回路に変更する場合、該当コントローラの入出力信号ピンをハイインピーダンスに保ち、又は入力モードに変更してから、内部回路構成を変更することができる。
また、このロボットコントローラ100は、再構成の単位を、ロボットの構造、モータの種類、センサの種類、通信方法などに最適化されたハード的なブロックから選択することができる。
さらに、このロボットコントローラ100は、スレーブコントローラを、マスタコントローラ102と通信可能な子コントローラ211と、再構成可能な孫コントローラ301a、301bとで構成することができる。
本発明によるロボットコントローラのハードウェアの一構成例を示すブロック図である。 図1のロボットコントローラにおける開発装置から見た仮想的なコントローラ構成を示すブロック図である。 図1のロボットコントローラにおけるスレーブコントローラを、子コントローラと孫コントローラとで構成したブロック図である。 図1のロボットコントローラの実施の対象例である移動ロボットを示す概略図である。 入出力の切換方法を示すバッファ回路の動作遷移図である。
符号の説明
100 ロボットコントローラ
101 開発用PC(マンマシンインタフェース)
102 マスタコントローラ(マスタボード又はマスタLSIチップ)
103 通信部
104 マスタCPUコア
105 マスタコントローラの内部バス
106 IEEE1394通信部
107 CAN通信部
108 USB2.0通信部
109 USB2.0通信バス
110 音声信号処理部
111 音声マイク
201a、201b、201c、201d スレーブコントローラ(スレーブボード又はスレーブLSIチップ)
202a IEEE1394通信部
202b CAN通信部
202c、202d USB2.0通信部
203a 画像前処理用に再構成されたCPUコア付きFPGA部
203b センサ信号処理用に再構成されたCPUコア付きFPGA部
203c 雲台制御用に再構成されたCPUコア付きFPGA部
203d 車輪駆動制御用に再構成されたCPUコア付きFPGA部
204a CCDカメラ
204b 超音波センサ
204c カメラ雲台
204d 車輪駆動機構
205a 開発装置からみた仮想的な画像前処理部
205b 開発装置からみた仮想的なセンサ信号処理部
205c 開発装置からみた仮想的な雲台制御部
205d 開発装置からみた仮想的な車輪駆動制御部
211 子コントローラ[孫コントローラ付きスレーブコントローラ(孫コントローラ付きスレーブボード又はスレーブLSIチップ)]
212 上位系通信部
213 再構成コア部
216 ジャイロ信号処理部
217 ジャイロセンサ
218 下位系通信部
219 下位系通信バス
301a、301b 孫コントローラ(孫ボード又は孫LSIチップ)
302a、302b 子コントローラとの通信部
303a 再構成された右モータ用制御回路部
303b 再構成された左モータ用制御回路部
304a 右モータ用ドライバ
304b 左モータ用ドライバ
305a 右モータ
305b 左モータ
306a 右モータ用回転角センサ
306b 左モータ用回転角センサ
401 移動ロボット
402 CCDカメラ
403 カメラ用雲台部
404 音声マイク
405 超音波センサ
406 移動用車輪(右車輪)
407 移動用車輪(左車輪)
501 出力モード時の入出力バッファ部
502 遷移モード時の入出力バッファ部503 入力モード時の入出力バッファ部
504 入出力切換回路
505 入出力方向制御信号(モードコントロール信号)
506 CPU側信号ライン
507 デバイス側信号ライン

Claims (10)

  1. マスタコントローラと、通信手段で前記マスタコントローラに接続され、マスタコントローラ側からの情報で再構成可能な機能を持つスレーブコントローラと、前記マスタコントローラに接続されたソフトウェア開発装置とを備え、前記ソフトウェア開発装置は、前記通信手段を隠蔽することで、スレーブコントローラがバーチャルにマスタコントローラの一部として認識されるように構成したことを特徴とするロボットコントローラ。
  2. 請求項1に記載のロボットコントローラにおいて、前記通信手段はルーティング機能を持つため複数個のスレーブコントローラを接続可能であり、この接続はプラグアンドプレイが可能で、前記ソフトウェア開発装置は、スレーブコントローラがプラグアンドプレイで接続された情報により、複数個のスレーブコントローラがバーチャルにマスタコントローラの一部として認識され、集中型のコントローラとして処理できるように構成したことを特徴とするロボットコントローラ。
  3. 請求項1又は請求項2に記載のロボットコントローラにおいて、マスタコントローラとスレーブコントローラ間の通信、およびスレーブコントローラの再構成は、システムで規定された時間間隔内でリアルタイムに実行されることを特徴とするロボットコントローラ。
  4. 請求項1又は請求項2に記載のロボットコントローラにおいて、マスタコントローラの通信は複数の仕様に対応していて、通信タイプの違う複数のスレーブコントローラが接続可能であり、これら複数のスレーブコントローラがバーチャルにマスタコントローラの一部として認識され、集中型のコントローラとして処理できるように構成したことを特徴とするロボットコントローラ。
  5. 請求項1〜請求項4のいずれかに記載のロボットコントローラにおいて、マスタコントローラを再構成可能としたことを特徴とするロボットコントローラ。
  6. 請求項5に記載のロボットコントローラにおいて、マスタコントローラの通信部分およびスレーブコントローラの通信部分は、マスタコントローラの再構成情報に応じていずれも再構成し、以降の通信ではマスタコントローラ側の通信部分は再構成した状態でデータをシリアライズし、スレーブコントローラ側では再構成した状態でデシリアライズしてデータをスレーブコントローラの処理部に渡すことを特徴とするロボットコントローラ。
  7. 請求項5に記載のロボットコントローラにおいて、スレーブコントローラの再構成結果と同等の再構成がマスタコントローラで実行され、スレーブコントローラの動作をマスタコントローラ内で模擬することを特徴とするロボットコントローラ。
  8. 請求項1〜請求項7のいずれかに記載のロボットコントローラにおいて、内部回路の再構成で、現構成回路から別の回路に変更する場合、該当コントローラの入出力信号ピンをハイインピーダンスに保ち、又は入力モードに変更してから、内部回路構成を変更することを特徴とするロボットコントローラ。
  9. 請求項1〜請求項7のいずれかに記載のロボットコントローラにおいて、再構成の単位を、ロボットの構造、モータの種類、センサの種類、通信方法などに最適化されたハード的なブロックから選択するようにしたことを特徴とするロボットコントローラ。
  10. 請求項1〜請求項9のいずれかに記載のロボットコントローラにおいて、スレーブコントローラは、マスタコントローラと通信可能な子コントローラと、再構成可能な孫コントローラとで構成されることを特徴とするロボットコントローラ。
JP2005349515A 2005-12-02 2005-12-02 ロボットコントローラ Pending JP2006088330A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005349515A JP2006088330A (ja) 2005-12-02 2005-12-02 ロボットコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005349515A JP2006088330A (ja) 2005-12-02 2005-12-02 ロボットコントローラ

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2003072725A Division JP3764150B2 (ja) 2003-03-17 2003-03-17 ロボットコントローラ

Publications (1)

Publication Number Publication Date
JP2006088330A true JP2006088330A (ja) 2006-04-06

Family

ID=36229776

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005349515A Pending JP2006088330A (ja) 2005-12-02 2005-12-02 ロボットコントローラ

Country Status (1)

Country Link
JP (1) JP2006088330A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008071141A (ja) * 2006-09-14 2008-03-27 Nst:Kk 制御装置
US7904182B2 (en) 2005-06-08 2011-03-08 Brooks Automation, Inc. Scalable motion control system
CN111937296A (zh) * 2018-05-14 2020-11-13 欧姆龙株式会社 马达控制装置以及设定装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7904182B2 (en) 2005-06-08 2011-03-08 Brooks Automation, Inc. Scalable motion control system
US9020617B2 (en) 2005-06-08 2015-04-28 Brooks Automation, Inc. Scalable motion control system
JP2008071141A (ja) * 2006-09-14 2008-03-27 Nst:Kk 制御装置
CN111937296A (zh) * 2018-05-14 2020-11-13 欧姆龙株式会社 马达控制装置以及设定装置

Similar Documents

Publication Publication Date Title
JP5568502B2 (ja) プログラマブル回路、関連計算マシン、並びに、方法
EP2188953B1 (en) Real-time industrial ethernet ethercat communication control
KR970703560A (ko) 응용 특정 프로세서 및 그 설계 방법(application specific processor and design method for same)
KR102012120B1 (ko) 소프트 프로세서 기반의 이미지 신호 소스 및 이미지 신호 처리 방법
JP2003532165A (ja) 入出力デバイスを動的に再構成する装置及び方法
WO2002077835A1 (fr) Dispositif a semi-conducteurs de commande de communication et systeme d'interface
EP2860640B1 (en) Systems and methods of using an SPI controller
JP2014500644A (ja) 動作中に再構成可能な制御システム及びその方法
EP2946253A1 (en) Motion controller and robot control system using the same
JP2006088330A (ja) ロボットコントローラ
JP2007034398A (ja) 制御システム及び通信方法
CN112207829A (zh) 机器人的控制方法及装置、可读存储介质
JP3764150B2 (ja) ロボットコントローラ
JPS60256860A (ja) 論理集積回路
CN102126222A (zh) 遥控型机器人控制系统
JP2008530893A (ja) 通信プロトコル・エミュレーションを持つ機器
Velamala et al. Development of ROS-based GUI for control of an autonomous surface vehicle
CN112446117B (zh) 一种直流电机虚拟机及其实现方法
Rios-Navarro et al. A 20Mevps/32Mev event-based USB framework for neuromorphic systems debugging
CN104750638B (zh) 一种接口适配器及与Wishbone兼容的裁剪方法
JP2003127080A (ja) 組込み型制御用計算機
JP2007508620A5 (ja)
JP2001092517A (ja) Faネットワーク及びロボットコントローラ
EP3895771A1 (en) Information processing system
EP1080410A1 (en) Vlsi emulator comprising processors and reconfigurable circuits

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090106

A02 Decision of refusal

Effective date: 20090512

Free format text: JAPANESE INTERMEDIATE CODE: A02