JP2006255797A - ロボット装置 - Google Patents
ロボット装置 Download PDFInfo
- Publication number
- JP2006255797A JP2006255797A JP2005072681A JP2005072681A JP2006255797A JP 2006255797 A JP2006255797 A JP 2006255797A JP 2005072681 A JP2005072681 A JP 2005072681A JP 2005072681 A JP2005072681 A JP 2005072681A JP 2006255797 A JP2006255797 A JP 2006255797A
- Authority
- JP
- Japan
- Prior art keywords
- control unit
- control
- sub
- iam
- signal
- 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.)
- Withdrawn
Links
Images
Landscapes
- Manipulator (AREA)
Abstract
【課題】 分散制御型ロボット装置において、電線量、特に信号線の電線量を削減して、ロボット装置全体の重量を軽減するようにしたロボット装置を提供する。
【解決手段】 ロボット装置10に被制御機器群37、42、47と制御部Cとを搭載し、搭載した制御部Cにより被制御機器群37、42、47を制御することにより自律制御を行うロボット装置10であって、制御部Cは、1つの主制御部Mと、各被制御機器の近傍に分散配置される複数の副制御部Sと、主制御部Mと副制御部Sとの間で信号の送受信を行う非有線の送受信手段32、33、38、43とからなり、各副制御部Sは、主制御部Mから送受信手段32、33、38、43により送信される制御信号を受信して担当する被制御機器37、42、47の制御を行う。
【選択図】図3
【解決手段】 ロボット装置10に被制御機器群37、42、47と制御部Cとを搭載し、搭載した制御部Cにより被制御機器群37、42、47を制御することにより自律制御を行うロボット装置10であって、制御部Cは、1つの主制御部Mと、各被制御機器の近傍に分散配置される複数の副制御部Sと、主制御部Mと副制御部Sとの間で信号の送受信を行う非有線の送受信手段32、33、38、43とからなり、各副制御部Sは、主制御部Mから送受信手段32、33、38、43により送信される制御信号を受信して担当する被制御機器37、42、47の制御を行う。
【選択図】図3
Description
本発明は、種々の機能・動作を実行するロボット装置に関する。具体的には、脚機構による歩行ロボット、あるいはアーム機構による組立ロボットや搬送ロボット、あるいは、人感センサ、温度センサ、音センサ、匂いセンサ、光センサ等によりロボット周辺の外部情報を検知する監視ロボット、あるいは、これらのいくつかの機能を複合して実行するロボット装置に関する。
近年、組立ロボット、作業ロボット、監視ロボット、掃除ロボット、ペットロボット等のような種々の作業、動作を行うロボット装置が利用されている。一般に、このようなロボット装置は、バッテリ又は商用電源を動力源とし、内蔵する制御系によりロボット装置に取り付けられたモータ、センサ、出力機器等の搭載機器群を制御して、各種の動作や機能を実現するようにしている。
例えば、図8は、センサ群による監視機能を有する歩行型ロボットの制御系を説明するブロック図である。
このロボット装置は、ロボット装置全体の動作および機能を実現するための制御を行う制御部51と、人が接近したことを検知する人感センサ、臭気を検知するにおいセンサ、障害物に接近したことを検知する障害物センサ等のアナログ信号を出力するアナログセンサ群52、ロボット装置の胴体に人が接触したことを検知するタッチセンサ等の2値信号を出力するデジタルセンサ群53、スピーカ等のアナログ出力機器群54、眼に取り付けて点灯したり表示器に取り付けて点灯することにより注意を喚起するLEDランプ、あるいはスイッチ等のロボットに搭載された各機器を動作させるデジタル出力機器群55、脚部を構成する各関節を動かすモータ群56(電動アクチュエータ群)を有している。
このロボット装置は、ロボット装置全体の動作および機能を実現するための制御を行う制御部51と、人が接近したことを検知する人感センサ、臭気を検知するにおいセンサ、障害物に接近したことを検知する障害物センサ等のアナログ信号を出力するアナログセンサ群52、ロボット装置の胴体に人が接触したことを検知するタッチセンサ等の2値信号を出力するデジタルセンサ群53、スピーカ等のアナログ出力機器群54、眼に取り付けて点灯したり表示器に取り付けて点灯することにより注意を喚起するLEDランプ、あるいはスイッチ等のロボットに搭載された各機器を動作させるデジタル出力機器群55、脚部を構成する各関節を動かすモータ群56(電動アクチュエータ群)を有している。
アナログセンサ群52は、アナログ信号を伝送する信号線によりADコンバータ57を介して制御部51に接続される。アナログ出力機器群54は、アナログ信号を伝送する信号線によりDAコンバータ58を介して制御部51に接続される。デジタルセンサ群53、およびデジタル出力機器群14、およびモータ群15は、デジタル信号を送る信号線によりデジタルI/Oインタフェース59〜61を介して制御部11と接続される。
また、これらの信号線とは別に、動力源を必要とするアナログセンサ群52、デジタルセンサ群53、アナログ出力機器群54、デジタル出力機器群55、モータ群56の各機器は、それぞれに、バッテリからの電力を供給するための図示しない電源ラインが接続されている。
また、これらの信号線とは別に、動力源を必要とするアナログセンサ群52、デジタルセンサ群53、アナログ出力機器群54、デジタル出力機器群55、モータ群56の各機器は、それぞれに、バッテリからの電力を供給するための図示しない電源ラインが接続されている。
上述したような多数のセンサ群およびモータ群(アクチュエータ群)を用いるロボット装置の制御を、単一の制御部51で実現しようとすると、その制御部51への負荷が過大になる。また、制御部51から各関節部に位置するモータまでの配線作業、あるいは装置内の各所に配置されるセンサへの配線作業が煩雑となり、多大な組立配線工数を要する。さらに、ロボット装置の部品配置を変更したり、部品を追加、変更、削除したりする際に、配線をやり直さなければならず、柔軟性に欠けることになる。
このような問題を解決するための対策として、ロボットの胴体部(中心部分)に設けられた主制御部と、各駆動機構やセンサに隣接して設けられた複数の副制御部とからなる分散制御型の動作制御装置が使用され、さらに、副制御部の副CPUと主制御部の主CPUとが、ネットワーク接続されるようにしたロボットが開示されている(特許文献1参照)。
また、胴体部に設けられた主制御部と各駆動手段に隣接して分散配置された複数の副制御部とから構成されている二脚歩行式人型ロボットであって、各副制御部が主制御部に対してそれぞれLAN接続されていると共に、各副制御部が主制御部からの駆動制御信号に基づいて少なくとも一つの対応する駆動手段のための制御信号を演算するプロセッサ部とプロセッサ部からの制御信号に基づいて対応する駆動手段を駆動するドライバ部とを含む構成が開示されている(特許文献2参照)。
特開2004−303842号公報
特開2003−145456号公報
上述した従来の分散制御型ロボット装置は、いずれも副制御部をロボット装置の各部に分散配置し、主制御部と副制御部とをLAN等の有線ネットワークで接続している。そのため、制御部と被制御機器との間には、信号線となるネットワーク構築用の電線が張り巡らしてある。
この信号線の重量は、ロボット装置内の各機器への電力供給線の電線重量とともに相当な重量であり、ロボット装置全体の重量のうちの大きな割合を占めている。ロボット装置の軽量化は、ロボット制御性向上の観点からも大きな課題である。特に、歩行型ロボット装置やアーム駆動型ロボット装置では、装置重量の軽量化により、バッテリやアクチュエータに求められる容量やパワーを小さくすることができるので、装置のコンパクト化の点で大変有利になる。また、電線量(ハーネス本数)が削減できれば、それだけロボットの配線工数が削減でき、大幅なコストダウンにもなる。このことは歩行ロボット装置のような移動型ロボット装置に限られず、その他のロボット装置についても同様のメリットがある。
そこで、本発明は、分散制御型のロボット装置において、電線量、特に信号線の電線量を削減して、ロボット装置全体の重量を軽減するようにしたロボット装置を提供することを目的とする。
また、本発明の他の目的は、主制御部と副制御部とを用いて分散制御するロボット装置の場合に、たとえ、通信不良が生じた場合であっても、安全な制御を行うことができるロボット装置を提供することを目的とする。
また、本発明の他の目的は、主制御部と副制御部とを用いて分散制御するロボット装置の場合に、たとえ、通信不良が生じた場合であっても、安全な制御を行うことができるロボット装置を提供することを目的とする。
上記課題を解決するためになされた本発明のロボット装置は、ロボット装置に被制御機器群と制御部とを搭載し、搭載した制御部により被制御機器群を制御することにより自律制御を行うロボット装置であって、制御部は、1つの主制御部と、各被制御機器の近傍に分散配置される複数の副制御部と、主制御部と副制御部との間で信号の伝送を行う非有線の送受信手段とからなり、各副制御部は、主制御部から前記送受信手段により送信される制御信号を受信して担当する被制御機器の制御を行うようにしている。
この発明によれば、ロボット装置は制御部を搭載し、この制御部が1つの主制御部と、各被制御機器の近傍に分散配置された複数の副制御部と、主制御部と各副制御部との間で信号を伝達する非有線の送受信手段とから構成される。各副制御部は、担当する被制御機器の近傍に分散配置されることにより、副制御部と被制御機器との間の配線を完全になくすことができ、あるいは、わずかな配線だけで済ませることができる。また、主制御部と副制御部とは、非有線の送受信手段を用いることにより、配線を完全になくすことができる。非有線の送受信手段には、例えば、無線LAN接続、ブルーツース規格の通信等を用いることができる。
ここで、被制御機器としては、脚部やアーム部の各関節を駆動するモータ群(アクチュエータ群)、センサ群、出力機器群が含まれる。
この発明によれば、ロボット装置は制御部を搭載し、この制御部が1つの主制御部と、各被制御機器の近傍に分散配置された複数の副制御部と、主制御部と各副制御部との間で信号を伝達する非有線の送受信手段とから構成される。各副制御部は、担当する被制御機器の近傍に分散配置されることにより、副制御部と被制御機器との間の配線を完全になくすことができ、あるいは、わずかな配線だけで済ませることができる。また、主制御部と副制御部とは、非有線の送受信手段を用いることにより、配線を完全になくすことができる。非有線の送受信手段には、例えば、無線LAN接続、ブルーツース規格の通信等を用いることができる。
ここで、被制御機器としては、脚部やアーム部の各関節を駆動するモータ群(アクチュエータ群)、センサ群、出力機器群が含まれる。
本発明によれば、主制御部と副制御部との間の信号線を完全になくすことができるので、ロボット内には電源供給用の電線だけ、あるいは、これに加えて副制御部と被制御機器とを接続する短い信号線の電線だけとなり、これまでに比して使用する電線量を大幅に削減することができ、ロボット装置を軽量化することができる。
(その他の課題を解決するための手段及び効果)
また、上記発明において、いずれかの副制御部が主制御部と通信ができないときに、その副制御部が単独で生成する制御信号で強制的に各被制御機器が安全な状態に移行する制御を行うようにしてもよい。
これによれば、非有線の送受信手段を介しての信号が主制御部から副制御部へ伝達できない障害が発生しているときに、副制御部が主制御部に代替して制御信号を生成し、被制御機器に発する。この制御信号は、各副制御部が担当する被制御機器を、安全な状態にならしめる最小限必要の制御信号である。例えば、駆動機構に対しては現在の位置で停止させ、センサ群については、センサが故障しないように安全に停止させる。
これにより、主制御部と副制御部との間で通信不良が生じても、ロボット装置を損傷することなく、また、ロボット装置が暴走して外部に危害を及ぼすことなく安全な状態にすることができる。
また、上記発明において、いずれかの副制御部が主制御部と通信ができないときに、その副制御部が単独で生成する制御信号で強制的に各被制御機器が安全な状態に移行する制御を行うようにしてもよい。
これによれば、非有線の送受信手段を介しての信号が主制御部から副制御部へ伝達できない障害が発生しているときに、副制御部が主制御部に代替して制御信号を生成し、被制御機器に発する。この制御信号は、各副制御部が担当する被制御機器を、安全な状態にならしめる最小限必要の制御信号である。例えば、駆動機構に対しては現在の位置で停止させ、センサ群については、センサが故障しないように安全に停止させる。
これにより、主制御部と副制御部との間で通信不良が生じても、ロボット装置を損傷することなく、また、ロボット装置が暴走して外部に危害を及ぼすことなく安全な状態にすることができる。
また、いずれかの副制御部が主制御部と通信できないときに、副制御部のいずれか1つが本来の副制御部として担当する被制御機器の制御を行うとともに、代替的に主制御部としての制御を兼ねるようにしてもよい。
これにより、主制御部と副制御部との間で通信不良が生じても、通信可能な副制御部があればその副制御部に、代替的に主制御部として制御を行わせることにより、それまでと同様の制御を続けることができる。
これにより、主制御部と副制御部との間で通信不良が生じても、通信可能な副制御部があればその副制御部に、代替的に主制御部として制御を行わせることにより、それまでと同様の制御を続けることができる。
以下、本発明の実施形態について図面を用いて説明する。図1は本発明の一実施形態である4足歩行型ロボット装置の外観を示す概略構成図である。
図1に示すように、ロボット装置10は、頭部1、首部2、胴部3、脚部4により構成され、人が近づいたことを検知する人感センサ11、音声情報を取得するマイク12(音センサ)、映像情報を取得するカメラ13(視覚センサ、光センサ)、臭気情報を検出するにおいセンサ14、障害物に接近したことを検知する障害物センサ15、デジタル信号から音声信号を合成して出力するスピーカ16、文字や画像をデジタル信号として出力する表示器17、何かがロボット装置に接触したことを検出するタッチセンサ20、脚部4を駆動する脚駆動機構18a〜18d(アクチュエータ)、首を回転する首回転機構19(アクチュエータ)を備えている。
図2は、図1に示したロボット装置の各部と制御系の配置を示すブロック図である。このロボット装置10の制御系は複数の制御モジュールにより構成されており、各制御モジュールはロボット装置内に分散配置される。制御モジュールを分類すると、主制御部Mとして機能するインテリジェントコントロールモジュール(以下ICMと略す)、副制御部Sとして機能し担当するアクチュエータの制御を行うインテリジェントアクチュエータモジュール(以下IAMと略す)、副制御部Sとして機能し担当するセンサの制御を行うインテリジェントセンサモジュール(以下ISMと略す)、副制御部Sとして機能し担当する出力機器の制御を行うインテリジェントドライブモジュール(以下IDMと略す)に分類される。
具体的には、頭部1にはカメラ13を制御するISM1が配置される。首部2には首回転機構19を制御するIAM13が配置される。胴部3には、主制御部Mとして機能するICMと、人感センサ11を制御するISM2、マイク12を制御するISM3、においセンサ14を制御するISM4、タッチセンサ15を制御するISM5と、スピーカ16を制御するIDM1、表示器17を制御するIDM2が配置される。脚部4のうち右前脚部18aは、前後、上下、左右方向に移動する3つの関節をそれぞれ制御するIAM1、IAM2、IAM3が配置される。同様に左前脚部18bには3つの関節に対応してIAM4、IAM5、IAM6が配置され、同様に右後脚部18cにはIAM7、IAM8、IAM9が配置され、左前脚部18dにはIAM10、IAM11、IAM12が配置される。
ICMと各ISM間、ICMと各IAM間、ICMと各IDM間には、信号線は接続されておらず、図示しない電力供給用の電線のみが配線接続されている。
ICMと各ISM間、ICMと各IAM間、ICMと各IDM間には、信号線は接続されておらず、図示しない電力供給用の電線のみが配線接続されている。
図3は、ロボット装置10内に分散配置されるICM、IAM(1〜13)、ISM(1〜5)、IDM(1〜2)の構成と制御部との関係を示す図である。図に示すように、制御部Cは、主制御部Mと、副制御部Sと、これらの間で通信を行う無線LAN機器により構成されている。主制御部MはICMで構成され、副制御部Sは、IAMやISMやIDMの一部(後述するローカルCPU)により構成される。
ICMは、メインCPU30とメモリ31と無線LANカード32とからなる。メインCPU30は、主制御部Mとして機能するものであり、メモリ31に格納される制御プログラムや設定パラメータに基づいて、ロボット装置10全体の制御を行うための制御信号(要求信号)を生成する。無線LANカード32は、生成された制御信号(要求信号)をIAM、ISM、IDM側に無線送信するとともに、応答信号を受信する。メインCPU30で生成される制御信号には、送信先の制御モジュール(IAM、ISM、IDM)のアドレス情報と、対応する被制御機器を制御するために必要な動作目標値となる制御信号値とが含まれる。なお、被制御機器を駆動するための制御コマンドは、IAM、ISM、IDM側で生成する。これにより、必要最小限のデータのみを伝送するようにして、無線通信に必要な時間を短縮している。
各IAM(1〜13)は、無線LANカード33とメモリ34とローカルCPU35とドライバ回路36と被制御機器であるアクチュエータ37とからなる。これらのうち、無線LANカード33、メモリ34、ローカルCPU35、ドライバ回路36はプリント基板上に配置してある。プリント基板とアクチュエータ37との接続は、コネクタにより直接接続するか、あるいはプリント基板をアクチュエータ37近傍に配置させて、短い電線で接続するようにして、電線重量を軽減している。
無線LANカード33は、ICMの無線LANカード32との間で無線通信により制御信号を送受する。ローカルCPU35は、ICMからの制御信号(要求信号)を受信すると、受信したことを知らせるために応答信号を生成して、無線LANカード33から送信する。また、受信した制御信号(要求信号)に含まれる制御信号値(動作目標値)を抽出し、メモリ34に格納される制御プログラムや設定パラメータに基づいて、その制御信号値(動作目標値)に近づけるための処理を実行し、ドライブ回路36に必要な制御信号を送り、ドライブ回路36によってアクチュエータ37を駆動する。
各ISM(1〜5)は、無線LANカード38とメモリ39とローカルCPU40と入出力回路41とセンサ42とからなる。これらのうち、無線LANカード38、メモリ39、ローカルCPU40、入出力回路41はプリント基板上に配置してある。プリント基板とセンサ42との接続は、コネクタにより直接接続するか、あるいはプリント基板をセンサ42近傍に配置して短い電線で接続するようにして、電線重量を軽減している。
無線LANカード38は、ICMの無線LANカード32との間で無線通信により制御信号を送受する。ローカルCPU40は、ICMからの制御信号(要求信号)を受信すると、受信したことを知らせるために応答信号を生成し、無線LANカード38から送信する。それとともにローカルCPU40が、センサ42による検出動作を実行し、得られた検出信号を、入出力回路41によりデジタル信号にし(センサからの信号がもともとデジタル信号のときはそのままでよい)、無線LANカード38からICMの無線LANカード32に無線送信する。
また、センサ42の種類によっては、ローカルCPU40が、ICMからの制御信号を受けることなく、メモリ39に格納されたプログラムおよび設定パラメータに基づいて、逐次、計測を行い続け、予め設定された閾値を超えたときに、無線LANカード38からICMの無線LANカード32に無線送信する。
また、センサ42の種類によっては、ローカルCPU40が、ICMからの制御信号を受けることなく、メモリ39に格納されたプログラムおよび設定パラメータに基づいて、逐次、計測を行い続け、予め設定された閾値を超えたときに、無線LANカード38からICMの無線LANカード32に無線送信する。
各IDM(1〜2)は、無線LANカード43とメモリ44とローカルCPU45と入出力回路46と出力機器47とからなる。これらのうち、無線LANカード43、メモリ44、ローカルCPU45、入出力回路46はプリント基板上に配置してある。プリント基板と出力機器47との接続は、コネクタにより直接接続するか、あるいはプリント基板を出力機器47近傍に配置して短い電線で接続するようにして、電線重量を軽減している。
無線LANカード43は、ICMの無線LANカード32との間で無線通信により制御信号を送受する。ローカルCPU45は、ICMからの制御信号(要求信号)を受信すると、受信したことを知らせるために応答信号を生成し、無線LANカード43から送信する。それとともにローカルCPU45が受信した制御信号に含まれる制御信号値を、入出力回路46を経て出力機器47に送る。出力機器47がアナログ出力機器である場合には、入出力回路46によりアナログ信号に変換して出力機器47に送る。
このように、ロボット装置10内において、ICMと分散配置されるIAM、ISM、IDMとの間で無線LANによるデータ送受信を行うことにより、ロボット装置10内での電線重量を軽減することにより、ロボット装置全体の重量を軽減している。
(通信不良処理1)
次に、通信不良が生じた場合の動作について説明する。
主制御部Mと副制御部Sとの間を非有線で通信する場合に、何らかの原因(例えば電磁的ノイズの影響)で通信不良が生じる場合がある。
その場合は、ローカルCPU35、40、45が、メインCPU30からの制御信号(要求信号)を受けることなく、ローカルCPU単独の制御にて、担当する被制御機器であるアクチュエータ37、センサ42、出力機器47の制御を行うようにする。
次に、通信不良が生じた場合の動作について説明する。
主制御部Mと副制御部Sとの間を非有線で通信する場合に、何らかの原因(例えば電磁的ノイズの影響)で通信不良が生じる場合がある。
その場合は、ローカルCPU35、40、45が、メインCPU30からの制御信号(要求信号)を受けることなく、ローカルCPU単独の制御にて、担当する被制御機器であるアクチュエータ37、センサ42、出力機器47の制御を行うようにする。
すなわち、正常動作中は、一定の時間間隔でメインCPU30から制御信号(要求信号)が送信されてくるので、これを受信して、ローカルCPU35、40、45側で、受信した制御信号に応じた制御を行う。しかしながら、予め設定された待ち時間(Ta)が経過しても、メインCPU30からの制御信号(要求信号)が受信できない場合は、ローカルCPU35、40、45は、通信不良状態になったと判断する。メモリ34、39、44には、予め、被制御機器を安全な状態にするための最小限の制御プログラムおよび制御信号のデータが格納してある。したがって、予めメモリ34、39、44に格納された異常時に用いるこれらデータを読み出して、この制御プログラムおよび制御信号に基づいて被制御機器を制御する。
例えば脚部4については、IAM1〜IAM12のそれぞれのメモリ34には、図1に示す最も安定した脚状態に移行するための制御プログラムおよび制御信号が格納されているので、ローカルCPU35がこれを読み込んで実行することにより、図1の状態に移行する。
例えば脚部4については、IAM1〜IAM12のそれぞれのメモリ34には、図1に示す最も安定した脚状態に移行するための制御プログラムおよび制御信号が格納されているので、ローカルCPU35がこれを読み込んで実行することにより、図1の状態に移行する。
このときの動作手順の例を説明する。図4はICMの動作フロー、図5はIAMの動作フローを示す図である。ここでは、IAMのみについて説明するが、ISMやIDMも同様の処理を行う。ここではIAMは、IAM(1)からIAM(Nmax)まで存在するものとする。そして、処理の際の引数としてNを用いるものとする。
まず、ICMの処理について説明する。処理が開始すると、引数Nに1を初期設定する(s101)。
続いてIAM(N)(したがって初回はIAM(1))にデータ送信を行う。このデータには送信先ののアドレス情報(IAM(N)のアドレス情報)と制御信号値(目標信号値)とが含まれる(s102)。
IAM(N)との通信が可能であるかを、IAM(N)からの応答信号を受信することにより判断する(S103)。もし、応答信号を受信しないときは、受信できなかったことを記憶して、そのIAM(N)へのデータ送信をスキップし(s104)、s105に進む。
続いて、これまでの引数Nに1を加算したN+1を新しい引数Nにする(s105)。
続いて更新された引数NがNmaxであるかを確認し、Nmaxより小さいときはs102に戻り、Nmaxになるまで同様の処理を繰り返す(s106)。これにより、(通信が成功したか失敗したかの結果を問わなければ)すべてのIAMに対するデータ送信が行われたことになる。
続いて、引数Nを1に戻し(s107)、IAM(1)からIAM(Nmax)のすべてにデータ送信が成功したかをs104での記憶データから確認する(s108)。
s108で、すべてのIAMへの送信に成功したときはs102に戻り、同様の動作を繰り返す。s108で、いずれかのIAMへの送信ができなかったときは、ICMは以後の処理を行わず、スリープ状態にする(s109)。
続いてIAM(N)(したがって初回はIAM(1))にデータ送信を行う。このデータには送信先ののアドレス情報(IAM(N)のアドレス情報)と制御信号値(目標信号値)とが含まれる(s102)。
IAM(N)との通信が可能であるかを、IAM(N)からの応答信号を受信することにより判断する(S103)。もし、応答信号を受信しないときは、受信できなかったことを記憶して、そのIAM(N)へのデータ送信をスキップし(s104)、s105に進む。
続いて、これまでの引数Nに1を加算したN+1を新しい引数Nにする(s105)。
続いて更新された引数NがNmaxであるかを確認し、Nmaxより小さいときはs102に戻り、Nmaxになるまで同様の処理を繰り返す(s106)。これにより、(通信が成功したか失敗したかの結果を問わなければ)すべてのIAMに対するデータ送信が行われたことになる。
続いて、引数Nを1に戻し(s107)、IAM(1)からIAM(Nmax)のすべてにデータ送信が成功したかをs104での記憶データから確認する(s108)。
s108で、すべてのIAMへの送信に成功したときはs102に戻り、同様の動作を繰り返す。s108で、いずれかのIAMへの送信ができなかったときは、ICMは以後の処理を行わず、スリープ状態にする(s109)。
続いて、上述したICMの動作と並行して実行されるIAM1の動作について説明する。
待ち時間としてTaを初期設定する(s201)。
待ち時間Taが経過したかを計測し(s202)、経過していないときはs203、経過したときはs207に進む。
Taが経過していないときは、メインCPU30からIAM(1)へのデータ送信があることを確認し(s203)、データ送信が確認できないときはs202に戻り、同様の処理を繰り返す。確認できたときはs204に進む。
s203でデータ送信が確認できたときは、IAMからICMへ応答信号を送信し(s204)、さらに送信された制御信号のデータを受信し(s205)、受信した制御信号に基づいて制御を実行する(s206)。その後、s201に戻って同様の処理を繰り返す。
待ち時間としてTaを初期設定する(s201)。
待ち時間Taが経過したかを計測し(s202)、経過していないときはs203、経過したときはs207に進む。
Taが経過していないときは、メインCPU30からIAM(1)へのデータ送信があることを確認し(s203)、データ送信が確認できないときはs202に戻り、同様の処理を繰り返す。確認できたときはs204に進む。
s203でデータ送信が確認できたときは、IAMからICMへ応答信号を送信し(s204)、さらに送信された制御信号のデータを受信し(s205)、受信した制御信号に基づいて制御を実行する(s206)。その後、s201に戻って同様の処理を繰り返す。
s202で、待ち時間Taが経過したとき(すなわちTa時間内にメインCPU30からのデータの送信があったことが確認できないとき)、IAM(1)のローカルCPU35が、メモリ34に格納してある異常時に安全な状態に移行するための制御プログラムや制御信号を読み取る(s207)。
s207で読み取った制御信号に基づいて、制御を実行し、装置を安全な状態に移行する(s208)。
s207で読み取った制御信号に基づいて、制御を実行し、装置を安全な状態に移行する(s208)。
ICMとIAMとが、以上の動作フローによる処理を実行することにより、ロボット装置10は、通信不良が発生しても、IAMによる制御のみにより、安全な状態に移行させることができる。
(通信不良処理2)
また、通信不良が生じた場合の他の処理手法として、ローカルCPU35、40、45のいずれかがメインCPU30に代替するようにしてもよい。
この場合も、正常動作中は、一定の時間間隔でメインCPU30から各ローカルCPUに向けて制御信号(要求信号)が送信されてくるので、これを受信して、各ローカルCPU35、40、45側で、受信した制御信号に応じた制御を行う。しかしながら、予め設定された待ち時間(Ta)が経過しても、メインCPU30からの制御信号(要求信号)が受信できない場合は、各ローカルCPU35、40、45は、通信不良状態になったと判断する。
IAM、ISM、IDMのうち、少なくとも1つのローカルCPUには、予め、メインCPUの処理を実行できるように、そのローカルCPUに付設されるメモリに、メインCPUが実行する制御プログラムおよび制御信号が記憶してある。
そして、この代替的にメインCPUの処理を実行することになっているローカルCPUは、予め設定した待ち時間(Ta)が経過しても、メインCPU30からの制御信号(要求信号)が受信できない場合は、待ち時間(Ta)経過後に、メモリからメインCPUが実行する制御プログラムおよび制御信号を読み取り、その後、メインCPUが処理するフローとともに、本来のローカルCPUとして処理するフローとを実行する。
また、通信不良が生じた場合の他の処理手法として、ローカルCPU35、40、45のいずれかがメインCPU30に代替するようにしてもよい。
この場合も、正常動作中は、一定の時間間隔でメインCPU30から各ローカルCPUに向けて制御信号(要求信号)が送信されてくるので、これを受信して、各ローカルCPU35、40、45側で、受信した制御信号に応じた制御を行う。しかしながら、予め設定された待ち時間(Ta)が経過しても、メインCPU30からの制御信号(要求信号)が受信できない場合は、各ローカルCPU35、40、45は、通信不良状態になったと判断する。
IAM、ISM、IDMのうち、少なくとも1つのローカルCPUには、予め、メインCPUの処理を実行できるように、そのローカルCPUに付設されるメモリに、メインCPUが実行する制御プログラムおよび制御信号が記憶してある。
そして、この代替的にメインCPUの処理を実行することになっているローカルCPUは、予め設定した待ち時間(Ta)が経過しても、メインCPU30からの制御信号(要求信号)が受信できない場合は、待ち時間(Ta)経過後に、メモリからメインCPUが実行する制御プログラムおよび制御信号を読み取り、その後、メインCPUが処理するフローとともに、本来のローカルCPUとして処理するフローとを実行する。
このときの動作手順の例を説明する。図6は本来のICMの動作フロー、図7はIAM(代替的にICMの処理を行うIAM)の動作フローを示す図である。ここでは、IAM(1)が代替的にICMとなって、メインCPU30が処理するフローを実行するものとする。したがって、IAM(1)に付設するメモリ34には、IAM(1)として処理する制御プログラムや制御信号とともに、ICMとして処理する制御プログラムや制御信号が格納されている。
IAMは、IAM(1)からIAM(Nmax)まで存在するものとする。そして、処理の際の引数としてNを用いるものとする。
IAMは、IAM(1)からIAM(Nmax)まで存在するものとする。そして、処理の際の引数としてNを用いるものとする。
まず、本来のICMの処理について説明する。処理が開始すると、引数Nに1を初期設定する(s301)。
続いてIAM(N)(したがって初回はIAM(1))にデータ送信を行う。このデータには送信先ののアドレス情報(IAM(N)のアドレス情報)と制御信号値(目標信号値)とが含まれる(s302)。
IAM(N)との通信が可能であるかを、IAM(N)からの応答信号を受信することにより判断する(S303)。もし、応答信号を受信しないときは、受信できなかったことを記憶して、そのIAM(N)へのデータ送信をスキップし(s304)、s305に進む。
続いて、これまでの引数Nに1を加算したN+1を新しい引数Nにする(s305)。
続いて更新された引数NがNmaxであるかを確認し、Nmaxより小さいときはs302に戻り、Nmaxになるまで同様の処理を繰り返す(s306)。これにより、(通信が成功したか失敗したかの結果を問わなければ)すべてのIAMに対するデータ送信が行われたことになる。
続いて、引数Nを1に戻し(s307)、IAM(1)からIAM(Nmax)のすべてにデータ送信が成功したかをs304での記憶データから確認する(s308)。
s308で、すべてのIAMへの送信に成功したときはs302に戻り、同様の動作を繰り返す。s308で、いずれかのIAMへの送信ができなかったときは、このICMは以後の処理を行わず、スリープ状態にする(s309)。
続いてIAM(N)(したがって初回はIAM(1))にデータ送信を行う。このデータには送信先ののアドレス情報(IAM(N)のアドレス情報)と制御信号値(目標信号値)とが含まれる(s302)。
IAM(N)との通信が可能であるかを、IAM(N)からの応答信号を受信することにより判断する(S303)。もし、応答信号を受信しないときは、受信できなかったことを記憶して、そのIAM(N)へのデータ送信をスキップし(s304)、s305に進む。
続いて、これまでの引数Nに1を加算したN+1を新しい引数Nにする(s305)。
続いて更新された引数NがNmaxであるかを確認し、Nmaxより小さいときはs302に戻り、Nmaxになるまで同様の処理を繰り返す(s306)。これにより、(通信が成功したか失敗したかの結果を問わなければ)すべてのIAMに対するデータ送信が行われたことになる。
続いて、引数Nを1に戻し(s307)、IAM(1)からIAM(Nmax)のすべてにデータ送信が成功したかをs304での記憶データから確認する(s308)。
s308で、すべてのIAMへの送信に成功したときはs302に戻り、同様の動作を繰り返す。s308で、いずれかのIAMへの送信ができなかったときは、このICMは以後の処理を行わず、スリープ状態にする(s309)。
続いて、上述した本来のICMの動作と並行して実行されるIAM(1)の動作について図7を用いて説明する。
待ち時間としてTaを初期設定する(s401)。
待ち時間Taが経過したかを計測し(s402)、経過していないときはs403、経過したときはs407に進む。
待ち時間Taが経過していないときは、メインCPU30からIAM(1)へのデータ送信があるかを確認し(s403)、データ送信が確認できないときはs402に戻り、待ち時間Taが経過するまで同様の処理を繰り返す。その間にデータ送信があったことを確認できたときはs404に進む。
s403でデータ送信があることを確認できたときは、IAM(1)からICMへ応答信号を送信し(s404)、さらにメインCPU30から送信された制御信号のデータを受信し(s405)、受信した制御信号に基づいて制御を実行する(s406)。その後、s401に戻って同様の処理を繰り返す。
待ち時間としてTaを初期設定する(s401)。
待ち時間Taが経過したかを計測し(s402)、経過していないときはs403、経過したときはs407に進む。
待ち時間Taが経過していないときは、メインCPU30からIAM(1)へのデータ送信があるかを確認し(s403)、データ送信が確認できないときはs402に戻り、待ち時間Taが経過するまで同様の処理を繰り返す。その間にデータ送信があったことを確認できたときはs404に進む。
s403でデータ送信があることを確認できたときは、IAM(1)からICMへ応答信号を送信し(s404)、さらにメインCPU30から送信された制御信号のデータを受信し(s405)、受信した制御信号に基づいて制御を実行する(s406)。その後、s401に戻って同様の処理を繰り返す。
s402で、待ち時間Taが経過したとき(すなわちTa時間内にメインCPU30からのデータの送信があったことが確認できないとき)、IAM(1)のローカルCPU35が、メモリ34に格納してあるメインCPUが実行する制御プログラムおよび制御信号を読み取る(s407)。
IAM(1)は、s407で読み取った制御プログラムおよび制御信号に基づいて、これまでICMが処理していたフローと同様のフロー(すなわち図6の処理フロー)を代替的に実行する(s408)。
s408において、本来のICMからIAM(1)へ送信するデータが、(代替ICMとしての)IAM(1)から(本来の)IAM(1)へ送信されたときは、IAM(1)としてのフローを実行する(s409)。
IAM(1)は、s407で読み取った制御プログラムおよび制御信号に基づいて、これまでICMが処理していたフローと同様のフロー(すなわち図6の処理フロー)を代替的に実行する(s408)。
s408において、本来のICMからIAM(1)へ送信するデータが、(代替ICMとしての)IAM(1)から(本来の)IAM(1)へ送信されたときは、IAM(1)としてのフローを実行する(s409)。
以上の処理を行うことにより、通信不良が発生した場合でも、IAM(1)が代替ICMとして処理を実行することにより、それまでとほとんど同様の処理を続行することができる。
なお、上記例では代替ICMはIAM(1)としたが、複数のIAMに代替ICMとなる機能を持たしておき、それらに優先順位を付けておいてもよい。この場合は、優先順位が低くなるものほど、待ち時間(Ta)を長く設定しておき、優先順位の高いものがICMとして代替機能を果たさないとき(すなわち待ち時間を経過しても優先順位の高い代替ICMから制御信号の送信がないとき)に、順次、次のIAMが代替ICMの処理を実行する。
本発明は、種々の作業、動作を行うロボット装置に利用することができる。
C 制御部
M 主制御部
S 副制御部
ICM インテリジェントコントロールモジュール
IAM インテリジェントアクチュエータモジュール
ISM インテリジェントセンサモジュール
IDM インテリジェントドライブモジュール
30 メインCPU
31、34、39、44 メモリ
32 無線LANカード(主制御部側送受信手段)
33、38、43 無線LANカード(副制御部側送受信手段)
35、40、45 ローカルCPU
37 アクチュエータ(被制御機器)
42 センサ(被制御機器)
47 出力機器(被制御機器)
M 主制御部
S 副制御部
ICM インテリジェントコントロールモジュール
IAM インテリジェントアクチュエータモジュール
ISM インテリジェントセンサモジュール
IDM インテリジェントドライブモジュール
30 メインCPU
31、34、39、44 メモリ
32 無線LANカード(主制御部側送受信手段)
33、38、43 無線LANカード(副制御部側送受信手段)
35、40、45 ローカルCPU
37 アクチュエータ(被制御機器)
42 センサ(被制御機器)
47 出力機器(被制御機器)
Claims (3)
- ロボット装置に被制御機器群と制御部とを搭載し、搭載した制御部により被制御機器群を制御することにより自律制御を行うロボット装置であって、
制御部は、1つの主制御部と、各被制御機器の近傍に分散配置される複数の副制御部と、主制御部と副制御部との間で信号の伝送を行う非有線の送受信手段とからなり、
各副制御部は、主制御部から前記送受信手段により送信される制御信号を受信して担当する被制御機器の制御を行うことを特徴とするロボット装置。 - いずれかの副制御部が主制御部と通信ができないときに、その副制御部が単独で生成する制御信号で強制的に各被制御機器が安全な状態に移行する制御を行うことを特徴とする請求項1に記載のロボット装置。
- いずれかの副制御部が主制御部と通信できないときに、副制御部のいずれか1つが本来の副制御部として担当する被制御機器の制御を行うとともに、代替的に主制御部としての制御を兼ねることを特徴とする請求項1に記載のロボット装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005072681A JP2006255797A (ja) | 2005-03-15 | 2005-03-15 | ロボット装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005072681A JP2006255797A (ja) | 2005-03-15 | 2005-03-15 | ロボット装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006255797A true JP2006255797A (ja) | 2006-09-28 |
Family
ID=37095557
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005072681A Withdrawn JP2006255797A (ja) | 2005-03-15 | 2005-03-15 | ロボット装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006255797A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010046742A (ja) * | 2008-08-21 | 2010-03-04 | Burubon Denshi Kk | ロボット犬 |
KR101099207B1 (ko) * | 2009-06-29 | 2011-12-27 | 대덕대학산학협력단 | 블루투스 기반의 멀티로봇 제어 방법 |
JP2018530443A (ja) * | 2015-09-21 | 2018-10-18 | レインボー ロボティックスRainbow Robotics | リアルタイム制御システム、リアルタイム制御装置及びシステムの制御方法 |
US10792808B2 (en) | 2016-11-21 | 2020-10-06 | Seiko Epson Corporation | Robot and robot system |
-
2005
- 2005-03-15 JP JP2005072681A patent/JP2006255797A/ja not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010046742A (ja) * | 2008-08-21 | 2010-03-04 | Burubon Denshi Kk | ロボット犬 |
KR101099207B1 (ko) * | 2009-06-29 | 2011-12-27 | 대덕대학산학협력단 | 블루투스 기반의 멀티로봇 제어 방법 |
JP2018530443A (ja) * | 2015-09-21 | 2018-10-18 | レインボー ロボティックスRainbow Robotics | リアルタイム制御システム、リアルタイム制御装置及びシステムの制御方法 |
US11135719B2 (en) | 2015-09-21 | 2021-10-05 | Rainbow Robotics | Real-time control system, real-time control device and system control method |
US10792808B2 (en) | 2016-11-21 | 2020-10-06 | Seiko Epson Corporation | Robot and robot system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7894941B2 (en) | Sound detection and associated indicators for an autonomous moving robot | |
CN109968336B (zh) | 驱动装置、驱动方法以及记录介质 | |
JP4126291B2 (ja) | ロボットの制御プログラム更新方法及び該システム | |
JP6677198B2 (ja) | ロボットの故障診断支援システム及び故障診断支援方法 | |
US10140676B2 (en) | Operation advance indication apparatus | |
JP2006255797A (ja) | ロボット装置 | |
KR20190107075A (ko) | 로봇시스템과 로봇의 제어장치 | |
JP2006244489A (ja) | モジュール式数値制御装置 | |
JP2016149354A (ja) | データブリッジ機能を有する電気エネルギー供給装置及びワイヤレス照明制御システム | |
JP5142516B2 (ja) | モータ制御用シリアル通信装置 | |
KR101021694B1 (ko) | 휴대 단말 기반의 이동 로봇 제어 시스템 및 방법 | |
CN101381044B (zh) | 电梯系统的传送控制装置 | |
KR101291660B1 (ko) | 분산 제어 시스템 및 분산 제어 시스템의 자동 구성 방법 | |
JP2009028811A (ja) | ロボット制御装置 | |
US20080294821A1 (en) | Series-Connected Control System | |
JP2014036400A (ja) | 車載カメラシステム | |
WO2021005824A1 (ja) | 信号処理装置 | |
US10935959B2 (en) | Motor control device, control system, and motor control method | |
US20170291300A1 (en) | Control system to which control cpu is addable | |
JP4953997B2 (ja) | 多軸駆動用ドライバ | |
JP6537239B2 (ja) | ナースコールシステム | |
JP6319520B2 (ja) | エレベータの信号送信装置、及びエレベータの信号送信方法 | |
JP2020019351A (ja) | 電子ミラー制御装置 | |
WO2020203968A1 (ja) | 制御ユニット | |
JP7006910B2 (ja) | ロボットシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Effective date: 20070810 Free format text: JAPANESE INTERMEDIATE CODE: A621 |
|
A761 | Written withdrawal of application |
Effective date: 20080116 Free format text: JAPANESE INTERMEDIATE CODE: A761 |