(57)【要約】【課題】サブシステムの安全性を確認して処理を行うことのできる情報処理システムおよび情報処理方法を提供する。【解決手段】第１サブシステム１０は、任意の時刻に、第２サブシステム２０に所定の作用を及ぼすための作用信号を出力する出力手段１０４を有し、第２サブシステム２０は、作用信号による当該第２サブシステム２０の作用状態を検出する検出手段２０を有し、第１サブシステム１０は、検出手段２０により検出された作用状態を取得する作用状態取得手段１２０と、作用状態取得手段１２０が取得した作用状態に基づいて、当該情報処理システム１が正常に動作しているか否かを監視する管理手段１２２とを有する。【選択図】        図１
2007272464.tif 000002
【特許請求の範囲】
【請求項１】
互いに独立に動作可能な複数のサブシステムにより処理を行う情報処理システムであって、
第１サブシステムと当該第１サブシステムからの情報を利用して処理を行う第２サブシステムとを有し、
前記第１サブシステムは、
任意の時刻に、前記第２サブシステムに所定の作用を及ぼすための作用信号を出力する出力手段を有し、
前記第２サブシステムは、
前記出力手段により出力された前記作用信号による当該第２サブシステムの作用状態を検出する検出手段を有し、
前記第１サブシステムは、
前記検出手段により検出された前記作用状態を取得する作用状態取得手段と、
前記作用状態取得手段が取得した前記作用状態に基づいて、当該情報処理システムが正常に動作しているか否かを監視する管理手段と
さらに有することを特徴とする情報処理システム。
【請求項２】
前記出力手段は、前記検出手段が所定の作用状態を検出するような作用信号を出力し、
前記管理手段は、前記作用信号の状態と前記作用状態とが一致する場合に、当該サブシステムが正常に動作していると判断することを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記出力手段は、前記検出手段が所定の作用状態を検出するような作用信号を出力し、
前記管理手段は、前記作用信号の状態と前記作用状態とが一致しない場合に、当該サブシステムが正常に動作していないと判断することを特徴とする請求項１または２に記載の情報処理システム。
【請求項４】
前記第１サブシステムは、
前記出力手段が前記作用信号を出力した出力時刻と、前記作用信号に対し検出されるべき作用状態とを対応付けて保持する出力信号保持手段と、
前記作用状態取得手段が前記作用状態を取得した時刻を特定する取得時刻特定手段と、  前記出力信号保持手段において、前記作用状態取得手段が取得した前記作用状態に対応付けられている前記出力時刻と、前記取得時刻取得手段が取得した前記取得時刻との差分を遅延時間として算出する遅延時間算出手段と
をさらに有し、
前記管理手段は、前記遅延時間算出手段により算出された前記遅延時間に基づいて、当該システムが正常に動作しているか否かを監視することを特徴とする請求項１から３のいずれか一項に記載の情報処理システム。
【請求項５】
前記第１サブシステムの前記出力手段は、前記第２サブシステムの前記作用状態取得手段による前記作用状態の取得周期よりも短い出力周期で前記作用信号を出力し、
前記第１サブシステムの前記管理手段は、前記作用状態に基づいて、前記第２サブシステムが正常に動作しているか否かを監視することを特徴とする請求項１から４のいずれか一項に記載の情報処理システム。
【請求項６】
前記第１サブシステムの前記出力手段は、前記第２サブシステムの前記作用状態取得手段による前記作用状態の取得周期よりも短い出力周期で前記作用信号を出力し、
前記第１サブシステムの前記管理手段は、前記作用状態に基づいて、前記第１サブシステムが正常に動作しているか否かを監視することを特徴とする請求項１から５のいずれか一項に記載の情報処理システム。
【請求項７】
前記第１サブシステムの前記出力手段は、前記第２サブシステムの前記作用状態取得手段による前記作用状態の取得周期よりも長い出力周期で前記作用信号を出力し、
前記第１サブシステムの前記管理手段は、前記作用状態に基づいて、前記第１サブシステムが正常に動作しているか否かを監視することを特徴とする請求項１から６のいずれか一項に記載の情報処理システム。
【請求項８】
前記第１サブシステムの前記出力手段は、前記第２サブシステムの前記作用状態取得手段による前記作用状態の取得周期よりも長い出力周期で前記作用信号を出力し、
前記第１サブシステムの前記管理手段は、前記作用状態に基づいて、前記第２サブシステムが正常に動作しているか否かを監視することを特徴とする請求項１から７のいずれか一項に記載の情報処理システム。
【請求項９】
前記第１サブシステムの出力手段は、前記第２サブシステムの前記作用状態取得手段による前記作用状態の取得周期よりも短い出力周期で第１の作用信号を出力するとともに前記取得周期よりも長い出力周期で第２の作用信号を出力し、
前記第２サブシステムの前記管理手段は、前記作用状態に基づいて、前記第１サブシステムおよび前記第２サブシステムが正常に動作しているか否かを監視することを特徴とする請求項１から８のいずれか一項に記載の情報処理システム。
【請求項１０】
前記第１サブシステムの前記出力手段は、発光体を含む発光手段であって、
前記第２サブシステムの前記検出手段は、前記発光体を含む画像を撮影する撮影手段であって、
前記第１サブシステムの前記管理手段は、前記撮影手段により撮影された前記画像に基づいて、当該情報処理システムが正常に動作しているか否かを監視することを特徴とする請求項１から９のいずれか一項に記載の情報処理システム。
【請求項１１】
前記発光体は、前記撮像手段の撮影範囲の縁部に配置されていることを特徴とする請求項１０に記載の情報処理システム。
【請求項１２】
前記発光体は、前記第２サブシステムの筐体内部に配置され、前記撮影手段から被写体への方向と逆の方向が発光方向となるように配置されていることを特徴とする請求項１０または１１に記載の情報処理システム。
【請求項１３】
前記第１サブシステムの前記発光手段は、複数の発光体を含み、前記複数の発光体のうち第１グループに属する発光体は、前記第２サブシステムの前記作用状態手段による前記作用状態の取得周期よりも長い出力周期で発光し、前記複数の発光体のうち第２グループに属する発光体は、前記取得周期よりも早い前記出力周期で発光することを特徴とする請求項１０から１２のいずれか一項に記載の情報処理システム。
【請求項１４】
前記第２サブシステムの前記出力手段は、撮影手段であって、
前記第１サブシステムの前記検出手段は、前記撮影手段により撮影された画像中に任意の値を書き込む付加手段であって、
前記第１サブシステムの前記管理手段は、前記撮影手段により撮影された画像に基づいて、当該情報処理システムが正常に動作しているか否かを監視することを特徴とする請求項１から９のいずれか一項に記載の情報処理システム。
【請求項１５】
前記第２サブシステムの前記出力手段は、撮影手段であって、
前記第１サブシステムの前記検出手段は、前記撮影手段により撮影された画像に任意の値を対応付ける付加手段であって、
前記第１サブシステムの前記管理手段は、前記撮影手段により撮影された画像に基づいて、当該情報処理システムが正常に動作しているか否かを監視することを特徴とする請求項１から９のいずれか一項に記載の情報処理システム。
【請求項１６】
互いに独立に動作可能な複数のサブシステムにより処理を行う情報処理システムにおける情報処理方法であって、
前記情報処理システムは、第１サブシステムと当該第１サブシステムからの情報を利用して処理を行う第２サブシステムとを有し、
前記第１サブシステムが、任意の時刻に、前記第２サブシステムに所定の作用を及ぼすための作用信号を出力する出力ステップと、
前記第２サブシステムが、前記出力ステップにおいて出力された前記作用信号による当該第２サブシステムの作用状態を検出する検出ステップと、
前記第１サブシステムが、前記検出ステップにおいて検出された前記作用状態を取得する作用状態取得ステップと、
前記第１サブシステムが、前記作用状態取得ステップにおいて取得した前記作用状態に基づいて、当該情報処理システムが正常に動作しているか否かを監視する管理ステップと
を有することを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、互いに独立に動作可能な複数のサブシステムにより所定の処理を行う情報処理システムおよび情報処理方法に関するものである。
【背景技術】
【０００２】
システムが大規模化するにつれ、作業の分担化・モジュール化が進み、ひとつの機能を実現するために幾つかの計算機や処理装置を介するようになった。これらのモジュール間は専用もしくは汎用のネットワークにより結合されており、データ通信により必要な情報の受け渡しを行っている。
【０００３】
例えば、頭部にカメラを備えた監視・追尾機能を持つ移動ロボットは、カメラ撮像部、画像処理・認識部、行動決定部、動作実行部のような機能モジュール（サブシステム）に分解することができる。これらの動作は、同一装置の中で同一ＣＰＵを使用して順番に処理されるものもあれば、別ＣＰＵにて独立して処理されるものもある。得に、負荷のかかる計算や、安定性が要求される計算には独立した計算システムを割り当て、他にリソースを取られないよう配慮される場合が多い。そしてそれぞれのサブシステム間には、取込み画像データ、画像処理結果（抽出対象の認識結果や距離・方位情報など）、動作命令といった形で処理結果のみが伝達されることになる。
【０００４】
このようにサブシステムが複数存在すると、あるひとつのサブシステムから見て自身の制御管理下にない箇所において処理が行われるような状況になり、各サブシステムは他のサブシステムやシステム全体の動作状況を把握しにくくなる。上述の移動ロボットの例においては、最終的な動作出力を行うモータ制御部にまで情報が伝達されてきたとき、モータ制御部ではその情報はどれだけ遅延時間を含んだカメラ画像をもとに計算された結果なのかを知ることは難しい。
【０００５】
このような問題を解決する方法として、各種センサによる検出時刻を特定し、各検出時刻の違いに起因して生じていた誤差を低減するものが知られている（例えば、「特許文献１」参照）。これ以外にも、各サブシステムでの演算時間を通信情報に付加することで処理に要した時間を知ることができる。
【０００６】
【特許文献１】特開平９−３００２６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述の例においては、通信時の遅れの程度を把握することができない。また時間の遅延だけでなく、送られてきたデータの真偽を確認する手段にも乏しい。仮に他のサブシステムで不具合が発生し、異常な処理結果を出力していたとしても、それを受ける側はその結果が正しいものか否かを判断することができず、正しいと信じて動作するしかない。これは安全面から考えると非常に危険である。
【０００８】
また、送られてくるデータが監視用途のカメラ画像に関するものであれば、画像自体の真偽も重要な判別対象となる。これらの問題に対し、同期信号を使用してカメラの取込みを別システムから直接制御することで正確な時刻を把握する手法がある。しかし、同期信号による画像取込みで時刻管理を行う場合、基本的にはトリガをかけて取得した画像情報が同期信号を制御しているサブシステムまで到達して、はじめて次の取込みのトリガをかけられるようになる。このため、待ち時間の多い不連続的な処理になってしまう。
【０００９】
また画像に対してタイムスタンプを付加する手法がしばしば用いられるが、複数のＣＰＵが使用され、時間管理が一元化されていないような場合には、そもそも最初の時間同期をとることが困難である。また、カメラセンサから出力された画像に対し、内臓タイマーやタイムサーバ等から取得した時刻や日付を付加した場合には、元画像の真偽を保証する手がかりとしては不十分である。
【００１０】
本発明は、上記に鑑みてなされたものであって、サブシステムの安全性を確認して処理を行うことのできる情報処理システムおよび情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決し、目的を達成するために、本発明は、互いに独立に動作可能な複数のサブシステムにより処理を行う情報処理システムであって、第１サブシステムと当該第１サブシステムからの情報を利用して処理を行う第２サブシステムとを有し、前記第１サブシステムは、任意の時刻に、前記第２サブシステムに所定の作用を及ぼすための作用信号を出力する出力手段を有し、前記第２サブシステムは、前記出力手段により出力された前記作用信号による当該第２サブシステムの作用状態を検出する検出手段を有し、前記第１サブシステムは、前記検出手段により検出された前記作用状態を取得する作用状態取得手段と、前記作用状態取得手段が取得した前記作用状態に基づいて、当該情報処理システムが正常に動作しているか否かを監視する管理手段とさらに有することを特徴とする。
【００１２】
また、本発明の他の形態は、互いに独立に動作可能な複数のサブシステムにより処理を行う情報処理システムにおける情報処理方法であって、前記情報処理システムは、第１サブシステムと当該第１サブシステムからの情報を利用して処理を行う第２サブシステムとを有し、前記第１サブシステムが、任意の時刻に、前記第２サブシステムに所定の作用を及ぼすための作用信号を出力する出力ステップと、前記第２サブシステムが、前記出力ステップにおいて出力された前記作用信号による当該第２サブシステムの作用状態を検出する検出ステップと、前記第１サブシステムが、前記検出ステップにおいて検出された前記作用状態を取得する作用状態取得ステップと、前記第１サブシステムが、前記作用状態取得ステップにおいて取得した前記作用状態に基づいて、当該情報処理システムが正常に動作しているか否かを監視する管理ステップとを有することを特徴とする。
【発明の効果】
【００１３】
本発明にかかる情報処理システムによれば、第１サブシステムの出力手段が、任意の時刻に、第２サブシステムに所定の作用を及ぼすための作用信号を出力し、第２サブシステムの検出手段が、出力手段により出力された作用信号による当該第２サブシステムの作用状態を検出するし、第１サブシステムの作用状態取得手段が、検出手段により検出された作用状態を取得し、第１サブシステムの管理手段が、作用状態取得手段が取得した作用状態に基づいて、当該情報処理システムが正常に動作しているか否かを監視するので、サブシステムの安全性を確認して処理を行うことのできるという効果を奏する。
【００１４】
また、本発明にかかる情報処理方法によれば、出力ステップにおいて、第１サブシステムが、任意の時刻に、第２サブシステムに所定の作用を及ぼすための作用信号を出力し、検出ステップにおいて、第２サブシステムが、出力ステップにおいて出力された作用信号による当該第２サブシステムの作用状態を検出し、作用状態取得ステップにおいて、第１サブシステムが、検出ステップにおいて検出された作用状態を取得し、管理ステップにおいて、第１サブシステムが、作用状態取得ステップにおいて取得した作用状態に基づいて、当該情報処理システムが正常に動作しているか否かを監視するので、サブシステムの安全性を確認して処理を行うことのできるという効果を奏する。
【発明を実施するための最良の形態】
【００１５】
以下に、本発明にかかる情報処理システムおよび情報処理方法の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１６】
図１は、実施の形態にかかる情報処理システムとしての移動ロボット１に特徴的な構成を示す図である。移動ロボット１は、発光制御部１０と、カメラ２０とを主に備えている。発光制御部１０は、タイマ１０２と、出力部１０４と、作用信号保持部１０６と、１６個のＬＥＤからなるＬＥＤアレイ１１０と、作用状態取得部１２０と、管理部１２２とを有している。
【００１７】
出力部１０４は、タイマ１０２のカウントにしたがい、作用信号を出力する。作用信号は、１６個のＬＥＤそれぞれの点灯／消灯を指示する情報である。なお、タイマ１０２は、具体的には、例えばＣＰＵカウンタなど発光制御部１０内部で管理されているものである。すなわち、作用信号テーブル１００の作用信号出力のタイミングは、発光制御部１０独自のタイマにより制御されている。
【００１８】
出力部１０４から出力される作用信号は、一定時間ごとに更新される。すなわち、一定時間ごとに各ＬＥＤの点灯状態の異なる作用信号が出力される。作用信号保持部１０６は、出力部１０４により出力された作用信号とその出力時刻とを対応付けて保持する。ＬＥＤアレイ１１０は、作用信号にしたがい点滅する。
【００１９】
作用状態取得部１２０は、カメラ２０により撮影された画像を取得する。なお、この画像には、ＬＥＤアレイ１１０の点灯状態である作用状態を示す画像が含まれている。作用状態取得部１２０はさらに画像を取得した取得時刻を特定する。
【００２０】
管理部１２２は、作用状態取得部１２０が取得した画像と作用信号保持部１０６が保持する情報とに基づいて、カメラ２０から画像が到達するまでの遅延時間を算出する。そして、遅延時間等に基づいて、移動ロボット１が正常に動作しているか否かを判定する。正常に動作していないと判断した場合には、緊急停止などの異常処理を行う。
【００２１】
図２は、作用信号保持部１０６のデータ構成を模式的に示す図である。作用信号保持部１０６は、１６個のＬＥＤの点灯／消灯をそれぞれ「１」および「０」とする２進数表記による１６ビットの情報を作用信号として記憶する。さらに、作用信号には出力時刻が対応付けられている。なお、図２においては、作用信号は、１６進数で表記されている。
【００２２】
なお、１６個のＬＥＤすべてが消灯している場合の作用信号は、「０，０，０，０，０，０，０，０，０，０，０，０，０，０，０，０」となり、すべてが点灯している場合の作用信号は、「１，１，１，１，１，１，１，１，１，１，１，１，１，１，１，１」となる。
【００２３】
図２に示すように、作用信号更新時には、１ビット加算された状態の作用信号が出力される。例えば、１６進数表記において「０００１」で示される作用信号の次には「０００２」が出力される。同様に、２進数表記において「０，１，０，１，１，１，０，１，１，０，０，０，１，１，０，１」で示される作用信号の次には、１を加えた「０，１，０，１，１，１，０，１，１，０，０，０，１，１，１，０」で示される作用信号が出力される。なお、１６進数表記において「ＦＦＦＦ」で示される作用信号の次には、「００００」が出力される。
【００２４】
図３は、移動ロボット１の外観構成を示す図である。移動ロボット１は、図３に示すように胴体部２と、胴体部２と独立して上下左右に稼動する頭部３と、胴体部２に設けられた２つの車輪４Ａ，４Ｂとを備えている。
【００２５】
頭部３の眼球部に２台のカメラ２０Ａ，２０Ｂが配置されている。移動ロボット１は、車輪４Ａ，４Ｂにより平面上を自由に移動できる。さらに、カメラ２０Ａ，２０Ｂにより周囲環境の画像を取得する。取得した画像中から予め定められた対象物を抽出する画像処理機能も備えている。画像処理により抽出した対象物までの距離とカメラ座標での方位を計測することもできる。移動ロボット１は、撮影された対象物の画像に基づいて、対象物の現在位置を推定し、頭部３と胴体部２の運動それぞれを制御することにより、対象物をカメラ視野内に常に収めつつ、対象物の動きにあわせて追従動作する機能を備えている。
【００２６】
図４は、頭部３の詳細な構成を示す図である。カメラ２０は、全面がアイシールド状の外殻で覆われている。また、ＬＥＤアレイ１１０は、この外殻の内側に設けられている。このように、ＬＥＤアレイ１１０は、外界に露出していないので、故障の可能性を低減することができる。また、ＬＥＤアレイ１１０は、発光方向がカメラ２０から被写体への方向と逆の方向、すなわち内向きになる状態に配置されている。このため、ＬＥＤアレイ１１０の発光が対象物の撮影に影響するのを避けることができる。
【００２７】
図５は、カメラ２０により得られた撮影画像を示す図である。このように、ＬＥＤアレイ１１０は、撮影画像中縁部付近に配置されている。本例においては、撮影画像中上辺に横一列に並んでいる。このように、撮影画像の縁部分に配置されている。これにより、追従対象である人物を探索し、トラッキングするための画像処理を妨げることがない。なお、撮影画像中に配置されるＬＥＤのうち左側のＬＥＤほど上位のビットに対応している。
【００２８】
図６は、移動ロボット１の詳細な機能構成を示す図である。移動ロボット１は、画像取込部３１と、画像処理部３２と、特徴量抽出部３３と、行動管理部３４と、動作生成部３５と、モータ制御部３６とを備えている。なお、発光制御部１０は、動作生成部３５とモータ制御部３６に設けられている。
【００２９】
画像取込部３１は、カメラ２０を含み、カメラ２０に入る光情報を一定解像度のディジタルな画像情報として取り込む処理を行う。この画像情報は専用通信線を介して画像処理プログラムが動作する画像処理部３２へ送信される。画像処理部３２は、色補正や歪み補正などのフィルタ処理やエッジ・色・オプティカルフロー検出などを行い、画像情報から特定の対象物を検出する。そして、検出の成否や検出された対象物の存在領域情報などの情報を特徴量抽出部３３へ送る。
【００３０】
特徴量抽出部３３は、検出された対象物に対して、移動ロボット１において必要となる対象物に関する特徴量を抽出する。より具体的には、対象物の位置情報（カメラ正面からのＰａｎ，Ｔｉｌｔ角）と、２基のカメラ２０Ａ，２０Ｂの視差を利用したカメラから対象物までの距離情報とを対象特徴量として算出する。そして、対象特徴量を行動管理部３４へ送る。行動管理部３４は、追従移動、移動停止および周囲探索など移動ロボット１の大まかな行動を決定する。決定動作が追従動作である場合、得られた対象特徴量とともに追従動作命令をコマンドベースで動作生成部３５に送る。
【００３１】
動作生成部３５は、追従動作指令を受けると、移動ロボット１の現在位置や過去の状態量履歴を参照して対象物に追従動作するための車輪４Ａ，４Ｂおよび頭部３の動作軌道を計算する。動作生成部３５により計算された動作軌道はモータ制御部３６に送られる。モータ制御部３６は、取得した動作軌道を実現するために必要な右車輪・左車輪、首Ｐａｎ軸・Ｔｉｌｔ軸の軸回転量を計算し、エンコーダ等のセンサ情報を用いたフィードバック制御を行い、実際に各サーボモータ軸を動かすための制御電流値を出力する。
【００３２】
移動ロボット１は、モータの動作出力にあわせて動作し、このときカメラ視野に入っている景色がカメラ２０により撮影され、同様の手順でロボット動作に反映される。なお、画像取込部３１は、別モジュールとして形成されており、独自の制御周期で常に画像を取り込んでいる。画像処理部３２は、現在の処理が終了次第、新たな画像情報として最新の取込み画像を読み込み、同様の処理を実行する。行動管理部３４は、対象特徴量が新たに更新された場合にその値を追従命令とともに動作生成部３５に送る。
【００３３】
図７は、発光制御部１０のハードウェア構成を示すブロック図である。発光制御部１０は、ＣＰＵ１１と、メモリ１２と、ＤＯポート１３とを有している。ＣＰＵ１１は、ＤＯポート１３からＨｉｇｈ／Ｌｏｗ信号を出力させる。Ｈｉｇｈ／Ｌｏｗ信号は、ＬＥＤアレイ１１０の点灯／消灯を制御する信号である。この信号は、作用信号に相当する。すなわち、ＤＯポート１３は、出力部１０４に相当する。ＤＯポート１３は、１６個設けられており、ＬＥＤアレイ１１０の各ＬＥＤと１対１に接続している。また、メモリ１２は、図１に示す作用信号保持部１０６に相当する。ＣＰＵ１１は、発光制御部１０の主な機能を実現する。
【００３４】
図８は、発光制御部１０による作用信号出力処理を示すフローチャートである。出力部１０４は、タイマ１０２をチェックし（ステップＳ１００）、一定期間経過すると（ステップＳ１０２，Ｙｅｓ）、出力すべき作用信号を更新する（ステップＳ１０４）。次に、更新後の作用信号を出力する（ステップＳ１０６）。次に、出力した作用信号と、出力時刻とを作用信号保持部１０６に記憶する（ステップＳ１０８）。以上で、発光制御部１０による作用信号出力処理が完了する。
【００３５】
この処理により出力された作用信号にしたがい、ＬＥＤアレイ１１０が点灯／消灯する。そして、カメラ２０は、ＬＥＤアレイ１１０を含む画像を撮影する。画像処理部３２は、撮影された画像に対し、メインタスクである追跡対象人物を検出するための画像処理や画像認識を行う。
【００３６】
画像処理部３２は、さらに画像中よりＬＥＤの点灯状況を読み取る。ＬＥＤの点灯する色と点灯位置は既知である。そこで、特定の画像領域に、特定の色を際立たせる画像処理をかけ、特定の色が検出されるか否かにより、その位置のＬＥＤの点灯／消灯状態を認識する。認識したＬＥＤの点灯／消灯状態を１，０のビット情報に対応させ記号化する。
【００３７】
このようにして認識されたＬＥＤ点灯状態を示す作用状態は、主情報（ここでは人物認識情報やそれより計算された特徴量情報）とともにシステム下流へ伝達される。このようにして作用状態が、システムの稼動状態を確認する必要があるサブシステムである発光制御部１０までループ状に伝達される。すなわち、移動ロボット１において、複数のサブシステムを経由する情報伝達経路が形成されている。
【００３８】
図９は、発光制御部１０による動作制御処理を示すフローチャートである。作用状態取得部１２０は、カメラ２０により撮影された画像を作用状態として取得すると（ステップＳ２００，Ｙｅｓ）、タイマ１０２により画像を取得した取得時刻を特定する（ステップＳ２０２）。次に、取得した画像や取得時刻に基づいて動作制御を行う（ステップＳ２０４）。以上で、発光制御部１０による動作制御処理が完了する。
【００３９】
図１０は、図９を参照しつつ説明した動作制御処理（ステップＳ２０４）における管理部１２２の詳細な処理を示すフローチャートである。作用状態取得部１２０が取得した画像が前回取得した画像と異なる場合、すなわち画像が更新された場合には（ステップＳ２１０，Ｙｅｓ）、出力部１０４による画像の更新がなされたと判断し、ステップＳ２２０へ進む。画像が更新されず（ステップＳ２１０，Ｎｏ）、かつ予め定めた一定期間経過していない場合は（ステップＳ２１２，Ｎｏ）、ステップＳ２１０に戻る。一方、画像が更新されず（ステップＳ２１０，Ｎｏ）、かつ予め定められた一定期間が経過している場合には（ステップＳ２１２，Ｙｅｓ）、出力部１０４から出力された画像が更新されたにもかかわらず、作用状態取得部１２０は更新後の画像を取得していない状態であり、正常な動作が行われていなと判断し、緊急停止などの異常時動作を行う（ステップＳ２３４）。
【００４０】
ステップＳ２２０において、出力部１０４による出力周期がカメラ２０による撮影周期よりも短く設定されている場合（ステップＳ２２０，Ｙｅｓ）、遅延時間を算出する（ステップＳ２２２）。出力周期が撮影周期よりも短い場合には、カメラ２０の撮影タイミングを正確に測定することができる。すなわち、カメラ２０の動作異常を検知することができる。
【００４１】
遅延時間算出では、まず、所定の作用状態を示す画像を取得した取得時刻を特定する。続いて画像に含まれる作用状態、すなわちＬＥＤの点灯状態を特定する。この作用状態と作用信号保持部１０６に保持されている作用状態とを照合し、合致する作用状態に対応付けられている出力時刻を特定する。取得時刻と出力時刻との差を遅延時間として算出する。
【００４２】
遅延時間が予め定められた閾値よりも小さい場合には（ステップＳ２２４，Ｙｅｓ）、カメラ２０および発光制御部１０を含む移動ロボット１全体が正常に動作していると判断し、通常動作を継続する（ステップＳ２２６）。
【００４３】
ステップＳ２２４において遅延時間が閾値以上であって、（ステップＳ２２４，Ｎｏ）、かつ遅延が予め定められた期間継続している場合には（ステップＳ２３０，Ｙｅｓ）、カメラ２０から画像が到達するまでの時間が遅く、この画像に基づいて動作指示を出したのでは遅い可能性があるため、異常時動作を行う（ステップＳ２３４）。一方、遅延が一定期間継続していない場合には（ステップＳ２３０，Ｎｏ）、ゲインを通常より下げて徐行動作を行う（ステップＳ２３２）。
【００４４】
また、出力周期が撮影周期よりも長い場合には（ステップＳ２２０，Ｎｏ）、取得した画像中の作用状態を特定する。出力周期が撮影周期よりも長い場合には、発光制御部１０により出力される作用信号の更新タイミングを正確に測定することができる。すなわち、発光制御部１０の動作異常を検知することができる。
【００４５】
取得した画像に期待した作用状態が含まれている場合には（ステップＳ２４０，Ｙｅｓ）、正常に動作が行われていると判断し、通常動作を行う（ステップＳ２４２）。作用信号保持部１０６に対応付けられている出力時刻から、出力した作用信号に対応する作用状態を含む画像を取得する時刻を推測することができる。所定の出力時刻から推測された取得時刻に取得した画像中の作用状態と作用信号保持部１０６においてこの出力時刻に対応付けられている作用信号とが対応する場合に期待した作用状態が含まれていると判断する。
【００４６】
一方、取得した画像に期待した作用状態が含まれていない場合には（ステップＳ２４０，Ｎｏ）、出力部１０４が正常に作用状態を出力していないと判断し、異常時動作を行う（ステップＳ２３４）。
【００４７】
以上のように、出力周期が撮影周期に比べて短い場合には、作用信号保持部１０６に記憶されている作用信号のうち離散的な作用信号に対応する画像しか撮影されない。このため、出力時刻を検索する際には、取得した画像中の作用状態が正しい、すなわち発光制御部１０は正常に動作しているという前提で、この画像を利用することになる。
【００４８】
したがって、ＤＯポート１３の一部が断線している場合や、ＬＥＤが破損して、いかなる入力にも点灯しない状態が発生した場合には、出力部１０４における作用信号に対応するＬＥＤの点灯状態が実現されない。しかし、作用状態取得部１２０では、このような異常を把握することができない。
【００４９】
そこで、上述のように、出力周期を撮影周期に比べて長くすることにより、カメラ２０から送られてくる画像中の作用状態の次に得られるであろう作用状態を一意に定めることが可能となる。これにより、出力部１０４が正常に動作しているか、すなわちＬＥＤが正常に点灯し、作用信号がカメラ２０により正常に撮影されているかを確認することができる。
【００５０】
なお、本実施の形態においては、前述のように作用信号は、１６ビットの値が順に１ずつ加算されるように更新されている。すなわち、点灯消灯の変化にしたがい下位ビットから順に変更されていくというような規則性があり、下位ビットから上位ビットにいくにつれてより長い周期でＬＥＤの点灯消灯が変更されている。したがって、本実施の形態においては、下位ビットのみを対象として出力周期が撮影周期よりも短い場合の処理を行い、上位ビットのみを対象として出力周期が撮影周期よりも長い場合の処理を行うことができる。これにより、同時に発光制御部１０およびカメラ２０の動作を監視することができる。
【００５１】
動作生成部３５においては、ロボットを実際に追従動作させるための動作軌道を生成している。このとき、行動管理部３４から送られてきた追従対象状態量を参考にし、追従対象現在位置を推定し、ロボットの現在自己位置と比較して追従動作軌道を計算している。そのため追従対象状態量が実際のいつの時刻のものであるかが重要な問題となる。
【００５２】
追従対象状態量を算出するために使用したカメラ画像が取込まれた時刻が、動作生成部３５で受信した時刻と大きく食い違う場合、移動ロボット１は目的の動作を達成することが困難になる。例えば１〜２秒前の画像から求められた追従対象情報が送られてきた場合、移動ロボット１は今現在の追従対象者の動きではなく１〜２秒前の動作を現在の動作とみなして追従することになる。そうなると実際には対象人物が停止していても移動ロボット１はまだ動き続けていると判断してそのまま進み続け、衝突してしまうおそれがある。
【００５３】
システムが正常に動作しているときには情報の伝達ループは十分な速度が確保されるよう設計されているので、通常時に追従対象の動作に遅れをとることはない。しかし、システムに異常な負荷がかかり、瞬間的に一部のサブシステムの処理が重くなってしまった場合には、通常以上の処理時間がかかってしまい、情報の伝達に遅延が生じてしまう。また各サブシステム間の通信時にふくそうが発生し遅延が発生する場合がある。
【００５４】
またシステムの一部に不具合があり、一部のサブシステムが異常動作していても、他のサブシステムはそれに気付かず通常通りの動作を行ってしまう場合がある。例えば画像取込部３１にバグがあり、ある特定の条件が揃うと画像取込み時に画像を更新せず、いつまでも同じ画像を出力し続けるような不具合があったとする。このとき追跡対象者が指定追従間隔より遠く離れた状態で画像が止まってしまっていた場合、画像処理部以降では対象物は依然遠くにあるとみなし、いつまでも前進を続けてしまう。
【００５５】
実施の形態にかかる移動ロボット１においては、サブシステムにおいて正常に動作が行われているかどうかを判断することができるので、このような問題を解決することができる。
【００５６】
以上、本発明を実施の形態を用いて説明したが、上記実施の形態に多様な変更または改良を加えることができる。
【００５７】
そうした第１の変更例としては、出力周期を取得周期よりも長くした場合には、取得画像が不正に操作されていないかを確認する用途で使用することもできる。セキュリティ用途の監視カメラなどではその画像が撮影された時刻だけでなく、撮影された画像に何か細工がされていないかといった画像自体の真偽も重要な確認対象となる。
【００５８】
例えば夜間、誰もいなくなった部屋や廊下を監視するためにカメラを設置し、そのカメラ画像にリアルタイムで画像処理をかけ、画面内を何か移動する物体が検出された場合には異常状態とみなし、所定の場所に通報するような監視システムがある。このようなシステムでは、カメラの出力信号が取込み前に不正に切替えられ、代わりに別の時間に撮影された平常時の出力信号を延々と送り続けられても下流のシステムではこれを異常と判断することができない。
【００５９】
このとき、システムの稼働状況を確認する必要があるサブシステム（本実施の形態における発光制御部１０が相当する）が例えばカメラ視野内に収められたＬＥＤの点灯状態をコントロールできれば、その点灯状態を自身の記憶する出力状態と比較することで、撮影された画像が確かに所定の時刻に所定の場所において撮影されたものであり、不正がないものであるということを確認することができる。
【００６０】
また、第２の変更例としては、本実施の形態においては、発光制御部１０は、ＬＥＤアレイ１１０の点灯状態を制御したが、これに替えて例えばカメラ自体を動かし、これにより得られる画像のぶれを検出することとしてもよい。この場合には、出力部１０４は、カメラを動かすための動作信号を出力する。さらに、動かし方を変更することにより異なる画像を得ることとしてもよい。
【００６１】
また、第３の変更例としては、本実施の形態においては、発光制御部１０は、ＬＥＤアレイ１１０の点灯状態を制御したが、これに替えて画像取込部３１において撮影された画像中に所定の画像を埋め込んでもよい。
【００６２】
図１１は、第３の変更例にかかる移動ロボット１の全体構成を示す図である。この場合には、ＤＯポート１３はカメラ２０のＤＩポート２２に直接接続している。なお、本例においても同様に１６画素に対応する１６ビットのＤＩポートとする。ＤＯポート１３が出力する作用信号は、撮影された画像中の所定の１６画素を書き換えるための信号である。
【００６３】
図１２は、第３の変更例にかかる処理を説明するための図である。例えば、ＤＩ信号が０のとき、対応する画素は「黒色」にあたる信号（（Ｒ，Ｇ，Ｂ）＝（２５６，２５６，２５６））を、ＤＩ信号が１のときには「白色」にあたる信号（（Ｒ，Ｇ，Ｂ）＝（２５６，２５６，２５６））を必ず出力するようなロジックを構成している。黒色か白色の二値に変更する場合について説明したが、他の色を利用してもよい。また、階調を増やすことにより情報密度を増してもよい。
【００６４】
また、第４の変更例としては、画像処理部３２のビデオキャプチャにおいて画像中の所定の１６ビットを書き換えてもよい。図１３は、第４の変更例にかかる移動ロボット１の全体構成を示す図である。この場合には、ＤＯポート１３は、画像処理部３２のＤＩポート３８に直接接続している。本例においても、１６画素に対応する１６ビットのＤＩポートとする。また、ＤＯポート１３が出力する作用信号は、キャプチャされた画像中の所定の１６画素を書き換えるための信号である。図１４は、第４の変更例にかかる処理を説明するための図である。画像処理部３２において、キャプチャされた画像中にＤＩポート３８の信号が上書きされる。
【００６５】
さらに、第３の変更例および第４の変更例においては、ＤＩポートの信号を画像中に上書きするのに替えて、ＤＩポート専用の領域を設けてもよい。この場合には、ＤＩポート専用の領域中の画素の信号がシステム下流に伝達される。これにより、画像処理において、データ抽出記号化などの処理が不要になる。
【００６６】
また、第５の変更例としては、移動ロボット１の他のシステムがＤＯポート１３により出力される信号を参照するためのＤＩポートを有してもよい。図１５は、第５の変更例にかかる移動ロボット１の全体構成を示す図である。カメラ２０、画像処理部３２および行動管理部３４は、それぞれＤＩポート２２，３８，３９を有している。他サブシステムにて発光制御部１０から出力された作用信号と出力時刻とを記憶しておく。そして、発光制御部１０と同様の処理により途中のサブシステム中までの遅延時刻を計測する。これにより異常発生時に詳細な異常個所を特定することができる。なお、このときカメラ２０、画像処理部３２および行動管理部３４などのサブシステムの制御周期は、発光制御部１０の出力周期と同等またはそれより長いのが望ましい。
【図面の簡単な説明】
【００６７】
【図１】実施の形態にかかる情報処理システムとしての移動ロボット１に特徴的な構成を示す図である。
【図２】作用信号保持部１０６のデータ構成を模式的に示す図である。
【図３】移動ロボット１の外観構成を示す図である。
【図４】頭部３の詳細な構成を示す図である。
【図５】カメラ２０により得られた撮影画像を示す図である。
【図６】移動ロボット１の詳細な機能構成を示す図である。
【図７】発光制御部１０のハードウェア構成を示すブロック図である。
【図８】発光制御部１０による作用信号出力処理を示すフローチャートである。
【図９】発光制御部１０による動作制御処理を示すフローチャートである。
【図１０】図９を参照しつつ説明した動作制御処理（ステップＳ２０４）における管理部１２２の詳細な処理を示すフローチャートである。
【図１１】第３の変更例にかかる移動ロボット１の全体構成を示す図である。
【図１２】第３の変更例にかかる処理を説明するための図である。
【図１３】第４の変更例にかかる移動ロボット１の全体構成を示す図である。
【図１４】第４の変更例にかかる処理を説明するための図である。
【図１５】第５の変更例にかかる移動ロボット１の全体構成を示す図である。
【符号の説明】
【００６８】
１  移動ロボット
２  胴体部
３  頭部
１０  発光制御部
１１  ＣＰＵ
１２  メモリ
１３  ＤＯポート
２０  カメラ
２２，３８，３９  ＤＩポート
３１  画像取込部
３２  画像処理部
３３  特徴量抽出部
３４  行動管理部
３５  動作生成部
３６  モータ制御部
１００  作用信号テーブル
１０２  タイマ
１０４  出力部
１０６  作用信号保持部
１１０  ＬＥＤアレイ
１２０  作用状態取得部
１２２  管理部
【図１】
2007272464.tif 000003
【図２】
2007272464.tif 000004
【図３】
2007272464.tif 000005
【図４】
2007272464.tif 000006
【図５】
2007272464.tif 000007
【図６】
2007272464.tif 000008
【図７】
2007272464.tif 000009
【図８】
2007272464.tif 000010
【図９】
2007272464.tif 000011
【図１０】
2007272464.tif 000012
【図１１】
2007272464.tif 000013
【図１２】
2007272464.tif 000014
【図１３】
2007272464.tif 000015
【図１４】
2007272464.tif 000016
【図１５】
2007272464.tif 000017