(57)【要約】      （修正有）【解決手段】ロボット１０は各種センサを含み、温度、湿度、床の汚れ、空気の汚れなどの環境状況を検出する。環境状況を検出した結果が設定した条件（設定温度、設定湿度、汚れ設定値、臭い設定値など）と異なるとき、ロボット１０は、環境状況を調整するための電気機器を制御する。たとえば、検出した温度が設定温度と異なる場合には、エアコンＡを制御して、部屋の温度を調整する。また、検出した床の汚れが汚れ設定値を上回る場合には、全自動掃除機Ｂを制御して、床の汚れを除去（少なく）する。【効果】人間の手を煩わすことなく、人間にとって快適な環境を実現することができる。【選択図】図１
2007147217.tif 000002
【特許請求の範囲】
【請求項１】
環境状況を検出する検出手段、および
前記検出手段の検出結果が所定条件を満たさないとき、前記環境状況を調整する電気機器に、当該所定条件を満足させるための制御信号を送信する送信手段を備える、ロボット。
【請求項２】
前記検出手段は、温度センサ、湿度センサ、汚れセンサおよび臭いセンサの少なくとも１つを含む、請求項１記載のロボット。
【請求項３】
自律移動するための自律移動手段をさらに備える、請求項１または２記載のロボット。
【請求項４】
地図データを記憶する地図記憶手段をさらに備え、
前記検出手段は、前記地図記憶手段に記憶された地図データを参照して、前記自律移動手段によって自律移動するとき、前記環境状況を検出する、請求項３記載のロボット。
【請求項５】
周囲或いは近傍に存在する人間を検知する人間検知手段をさらに備え、
前記人間検出手段によって人間が検知された場合、前記自律移動手段によって当該人間を追従する、請求項１ないし４のいずれかに記載のロボット。
【請求項６】
身体動作および音声の少なくとも一方を用いて人間との間でコミュニケーション行動するコミュニケーション行動実行手段をさらに備える、請求項１ないし５のいずれかに記載のロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はロボットに関し、特にたとえば、温度、湿度、床や空気の汚れのような環境状況を検出する複数のセンサを備える、ロボットに関する。
【背景技術】
【０００２】
従来、携帯電話やコンピュータなどの通信技術を用いて、家庭内のテレビジョン受像機やエアーコンディショナ（以下、単に「エアコン」ということがある。）などの電気機器を、外部から制御する技術が報告されている。たとえば、特許文献１の遠隔制御システムによれば、携帯電話システムにおける携帯端末が有する送受信機能と同じ送受信機能を有し、建物内部を移動することができるロボットが住宅の内部に配置され、ユーザは携帯端末によってロボットを遠隔操作することにより、テレビジョン受像機、ＶＴＲ、エアコンなどの家電製品を遠隔操作する。
【０００３】
また、特許文献２（特許文献３も同様。）の遠隔操作装置によれば、ロボットは、テレビジョン受像機やエアコンなどの電気機器に対してそれぞれの駆動を制御するリモコンとしての機能を備え、携帯電話端末やコンピュータ端末などの指示端末から各電気機器の設定内容を指示することで、ロボットがその各電気機器の近くに移動してこれらの駆動を制御する。
【０００４】
さらに、自走式ロボット掃除機の一例が非特許文献１に開示される。この自走式ロボット掃除機（家庭用掃除ロボット）は、たとえば、自動で部屋内の地図を作成し、自律的に移動しながら掃除を行う。
【特許文献１】特開２００２−２８１５６７号公報［Ｈ０４Ｑ  ９／００］
【特許文献２】特開２００３−１８６６５号公報［Ｈ０４Ｑ  ９／００］
【特許文献３】特開２００３−１８６７０号公報［Ｈ０４Ｑ  ９／００］
【非特許文献１】http://kadenfan.hitachi.co.jp/robot/
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１ないし３の技術では、電気機器を遠隔操作することは可能であるが、あくまでもロボットをリモコンとして用いているだけであり、電気機器を適切に制御するためには、利用者から指示を与える必要がある。つまり、操作が面倒である。
【０００６】
また、非特許文献１の技術では、家庭用掃除ロボットは、ユーザの操作に応じて、部屋全域または部屋内をランダムに掃除するだけであり、ロボット自らが必要に応じて掃除することはできない。
【０００７】
それゆえに、この発明の主たる目的は、人間にとって快適な環境を実現できる、新規なロボットを提供することである。
【課題を解決するための手段】
【０００８】
請求項１の発明は、環境状況を検出する検出手段、および検出手段の検出結果が所定条件を満たさないとき、環境状況を調整する電気機器に、当該所定条件を満足させるための制御信号を送信する送信手段を備える、ロボットである。
【０００９】
請求項１の発明では、ロボット（１０：実施例で相当する参照番号。以下同じ。）は、たとえば、環境状況（たとえば、温度、湿度、床または空気の汚れなど）を調整するための電気機器（たとえば、エアコンＡ、全自動掃除機Ｂ、空気清浄機Ｃ、加湿器Ｄおよび除湿機Ｅ）が設置されたオフィスや家庭などの屋内に配置される。検出手段（７２，１００〜１０６，Ｓ８１）は、たとえば温度や湿度、床の汚れまたは空気の汚れのような環境の状況（環境状況）を検出する。ＣＰＵ（７２）は、検出手段（７２，１００〜１０６，Ｓ８１）が検出した環境状況が、予め設定しておいた環境状況の条件（設定条件）を満たすか否かを判断する。検出した環境状況が設定条件を満たさない場合には、送信手段（７２，９８，Ｓ８５，Ｓ８９，Ｓ９３，Ｓ９７）は、電気機器に対して制御信号を送信し、環境状況が設定条件を満足するように電気機器に調整させる。
【００１０】
請求項１の発明によれば、環境状況を検出し、検出した環境状況が設定条件を満たすように、電気機器を適切に制御するので、人間の手を煩わせることなく、人間にとって快適な空間を実現できる。
【００１１】
請求項２の発明は、請求項１に従属し、検出手段は、温度センサ、湿度センサ、汚れセンサおよび臭いセンサの少なくとも1つを含む。
【００１２】
請求項２の発明では、検出手段（７２，１００〜１０６，Ｓ８１）は、温度センサ（１００）、湿度センサ（１０２）、汚れセンサ（１０４）および臭いセンサ（１０６）の少なくとも１つを含む。ロボット（１０）では、温度センサ（１００）、湿度センサ（１０２）、汚れセンサ（１０４）および臭いセンサ（１０６）の検出結果に基づいて、自身の近傍の環境状況を認識することができる。つまり、ロボット（１０）の現在位置（部屋ないしその一部の領域）における温度や湿度を検出することができ、また、床や空気の汚れを検出することもできる。
【００１３】
請求項２の発明によれば、様々なセンサを備えるので、各センサの出力に基づいて電気機器を制御することにより、温度や湿度を調整したり、床や空気の汚れを浄化したりすることができる。
【００１４】
請求項３の発明は、請求項１または２に従属し、自律移動するための自律移動手段を備える。
【００１５】
請求項３の発明では、ロボット（１０）は、自律移動手段（２４，２６，７２，７８）を備え、屋内を自律移動する。
【００１６】
請求項３の発明によれば、自律移動するので、様々な場所の環境状況を検出することができる。このため、局所的な温度や湿度を調整したり、局所的な床や空気の汚れを浄化したりすることができる。つまり、人間にとって快適な空間を保つ（実現する）ために、より細やかに対応することができる。
【００１７】
請求項４の発明は、請求項３に従属し、地図データを記憶する地図記憶手段をさらに備え、検出手段は、地図記憶手段に記憶された地図データを参照して、自律移動手段によって自律移動するとき、環境状況を検出する。
【００１８】
請求項４の発明では、地図記憶手段（１１０）は、ロボット（１０）を配置する空間についての地図データ（たとえば、或る会社の建物や家庭などの屋内の地図データ）を記憶する。当該地図データは、たとえば、大領域と小領域とに分けて管理される。具体的には、ロボット（１０）の配置される屋内が部屋単位のような大領域に分割され、さらに、各部屋においては、一定範囲毎の小領域に分割される。ロボット（１０）は、地図記憶手段（１１０）が記憶した地図データに基づいて、自立移動手段（２４，２６，７２，７８）により自律移動し、検出手段（７２，１００〜１０６，Ｓ８１）によって環境状況（情報）を検出する。
【００１９】
請求項４の発明によれば、地図を参照して移動するため、全ての領域を探索して、効率的に環境状況を整えることができる。
【００２０】
請求項５の発明は、請求項１ないし４のいずれかに従属し、周囲或いは近傍に存在する人間を検知する人間検知手段をさらに備え、人間検出手段によって人間が検知された場合、自律移動手段によって当該人間を追従する。
【００２１】
請求項５の発明では、人間検知手段（４２，４８，７２，７６，８０，Ｓ１５，Ｓ４１）は、人間（１４）の存在を検知する。自律移動手段（２４，２６，７２，７８）は、人間検知手段（４２，４８，７２，７６，８０，Ｓ１５，Ｓ４１）が人間の存在を検出した場合、当該人間（１４）に追従する。具体的には、人間検知手段（４２，４８，７２，７６，８０，Ｓ１５，Ｓ４１）が人間（１４）の存在を検知すると、モータ制御ボード（７８）はＣＰＵ（７２）からの制御データを受け、車輪モータ（２６）を駆動させ、ロボット（１０）を人間（１４）の近くに移動させる。そして、たとえば超音波距離センサ（３２）により、ロボット（１０）と当該人間との距離を測定し、その距離が、あらかじめ設定しておいた距離（たとえば、１ｍ）より近くなるまで移動する。また、ロボット（１０）は、当該人間（１４）が移動することによりロボット（１０）から離れると（当該人間（１４）とロボット（１０）との距離が、あらかじめ設定した距離より遠くなると）、当該設定した距離より近くなるまで自律移動手段（２４，２６，７２，７８）により移動する。このようにして、ロボット（１０）は人間（１４）との距離を所定の距離以内に保つように移動し、したがって、人間に追従する。
【００２２】
請求項５の発明によれば、検知した人間を追従するので、人間近傍の環境状況を快適に保ったり、整えたりすることができる。
【００２３】
請求項６の発明は、請求項１ないし５のいずれかに従属し、身体動作および音声の少なくとも一方を用いて人間との間でコミュニケーション行動するコミュニケーション行動実行手段をさらに備える。
【００２４】
請求項６の発明では、ロボット（１０）は、身体動作および音声の少なくとも一方を用いて、人間（１４）とコミュニケーション行動することができる。たとえば、検知手段（４２，４８，７２，７６，８０，Ｓ１５，Ｓ４１）が、人間の存在を検知して、当該人間に接近するときに、片手を挙げながら「おはよう」と声をかけることができる。また、たとえば検知した人間（１４）に追従しているときに、人間から「離れて」と声をかけられると、「ばいばい」と声をかけて人間（１４）から離れ、単独で行動することもできる。
【００２５】
請求項６の発明によれば、人間の存在する空間内に自然と解け込むことができ、人間の行動を邪魔することなく、環境状況を検出して、人間の近傍の環境状況を快適に保つことができる。
【発明の効果】
【００２６】
この発明によれば、検出された環境状況に基づいて電気機器を適切に制御するので、人間からの指令がなくても、人間にとって快適な環境を実現することができる。
【００２７】
この発明の上述の目的、その他の目的、特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【００２８】
図１を参照して、この実施例のロボット１０は、たとえば、主として人間１４のようなコミュニケーションの対象とコミュニケーションすることを目的とした相互作用指向のもので、身振り手振りのような身体動作および音声の少なくとも一方を含むコミュニケーション行動を行う機能を備えている。
【００２９】
ロボット１０は、電気機器が設置されたオフィスや家庭などの屋内に配置される。この実施例では、図１に示すように、電気機器としては、エアーコンディショナ（エアコン）Ａ、全自動掃除機Ｂ、空気清浄機Ｃ、加湿器Ｄおよび除湿機Ｅなどが該当する。つまり、電気機器は、その屋内の環境（温度、湿度、空気や床の汚れなど）を調整する。
【００３０】
また、詳細な機構は後述するが、ロボット１０は、自律移動するための機構を備え、配置された空間内（屋内）を自由に自律移動することができる。図１では省略するが、ロボット１０はさらに、各電気機器を制御する制御信号を送信する、赤外線信号送信装置９８（図３参照）を備えている。
【００３１】
なお、図１においては、簡単のため、１人の人間１４が存在するように示してあるが、複数人存在してもよく、また、存在しなくてもよい。
【００３２】
図２は、ロボット１０の外観を示す正面図であり、この図２を参照して、ロボット１０のハードウェアの構成について説明する。ロボット１０は台車２２を含み、この台車２２の下面にはロボット１０を自律移動させる車輪２４が設けられる。車輪２４は車輪モータ２６（図３参照）によって駆動され、台車２２すなわちロボット１０を前後左右任意の方向に動かすことができる。このように、ロボット１０は組織の空間内を移動可能なものであるが、場合によっては空間内の所定位置に固定的に設けられてもよい。
【００３３】
なお、図２においては省略するが、台車２２の前面には、衝突センサ２８（図３参照）が取り付けられ、この衝突センサ２８は台車２２への人や他の障害物の接触を検知する。つまり、ロボット１０の移動中に障害物との接触を検知すると、直ちに車輪２４の駆動を停止してロボット１０の移動を急停止させる。
【００３４】
また、この実施例では、ロボット１０の背の高さは、人、特に子供に威圧感を与えることのないように、１００ｃｍ程度とされる。ただし、この背の高さは変更可能である。
【００３５】
台車２２の上には、多角形柱のセンサ取付パネル３０が設けられ、このセンサ取付パネル３０の各面には、超音波距離センサ３２が取り付けられる。この超音波距離センサ３２は、センサ取付パネル３０すなわちロボット１０の周囲の主として人との距離を計測するものである。
【００３６】
また、台車２２の上には、さらに、その下部がセンサ取付パネル３０に囲まれて、ロボット１０の胴体が直立するように設けられる。この胴体は、下部胴体３４と上部胴体３６とによって構成され、下部胴体３４および上部胴体３６は、連結部３８によって互いに連結される。図示は省略するが、連結部３８には昇降機構が内蔵されていて、この昇降機構を用いることによって、上部胴体３６の高さすなわちロボット１０の背の高さを変化させることができる。昇降機構は、後述するように、腰モータ４０（図３参照）によって駆動される。
【００３７】
なお、上述したロボット１０の背の高さは、上部胴体３６をそれの最下位置にしたときのものである。したがって、ロボット１０の背の高さは、１００ｃｍ以上にすることも可能である。
【００３８】
上部胴体３６のほぼ中央には、１つの全方位カメラ４２と１つのマイク４６とが設けられる。全方位カメラ４２は、ロボット１０の周囲を撮影するものであり、後述する眼カメラ４８とは区別される。この全方位カメラ４２としては、たとえばＣＣＤやＣＭＯＳのような固体撮像素子を用いるカメラを採用することができる。また、マイク４６は、周囲の音、とりわけコミュニケーション対象である人の声を取り込む。なお、これら全方位カメラ４２およびマイク４６の設置位置は上部胴体３６に限られず適宜変更され得る。
【００３９】
上部胴体３６の両肩には、それぞれ、肩関節５０Ｒおよび５０Ｌによって、上腕５２Ｒおよび５２Ｌが設けられる。肩関節５０Ｒおよび５０Ｌは、それぞれ、３軸の自由度を有する。すなわち、肩関節５０Ｒは、Ｘ軸、Ｙ軸およびＺ軸のそれぞれの軸廻りにおいて上腕５２Ｒの角度を制御できる。Ｙ軸は、上腕５２Ｒの長手方向（または軸）に平行な軸であり、Ｘ軸およびＺ軸は、そのＹ軸に対して、それぞれ異なる方向から直交する軸である。他方、肩関節５０Ｌは、Ａ軸、Ｂ軸およびＣ軸のそれぞれの軸廻りにおいて上腕５２Ｌの角度を制御できる。Ｂ軸は、上腕５２Ｌの長手方向（または軸）に平行な軸であり、Ａ軸およびＣ軸は、そのＢ軸に対して、それぞれ異なる方向から直交する軸である。
【００４０】
また、上腕５２Ｒおよび５２Ｌのそれぞれの先端には、肘関節５４Ｒおよび５４Ｌを介して、前腕５６Ｒおよび５６Ｌが設けられる。肘関節５４Ｒおよび５４Ｌは、それぞれ、Ｗ軸およびＤ軸の軸廻りにおいて、前腕５６Ｒおよび５６Ｌの角度を制御できる。
【００４１】
なお、上腕５２Ｒおよび５２Ｌならびに前腕５６Ｒおよび５６Ｌの変位を制御するＸ軸，Ｙ軸，Ｚ軸，Ｗ軸およびＡ軸，Ｂ軸，Ｃ軸，Ｄ軸では、それぞれ、「０度」がホームポジションであり、このホームポジションでは、図２に示すように、上腕５２Ｒおよび５２Ｌならびに前腕５６Ｒおよび５６Ｌは下方に向けられる。
【００４２】
また、図示は省略するが、上部胴体３６の肩関節５０Ｒおよび５０Ｌを含む肩の部分や上述の上腕５２Ｒおよび５２Ｌならびに前腕５６Ｒおよび５６Ｌには、それぞれ、タッチセンサ（図３で包括的に示す。：５８）が設けられていて、これらのタッチセンサ５８は、人がロボット１０の当該各部位に触れたかどうかを検知する。
【００４３】
前腕５６Ｒおよび５６Ｌのそれぞれの先端には、手に相当する球体６０Ｒおよび６０Ｌがそれぞれ固定的に設けられる。ただし、指や掌の機能が必要な場合には、人の手の形をした「手」を用いることも可能である。
【００４４】
なお、ロボット１０の形状・寸法などは適宜設定されるが、他の実施例では、たとえば、上部胴体３６は、前面、背面、右側面、左側面、上面および底面を含み、右側面および左側面は表面が斜め前方に向くように形成してもよい。つまり、前面の横幅が背面の横幅よりも短く、上部胴体３６を上から見た形状が台形になるように形成されてもよい。
【００４５】
このような場合、肩関節５０Ｒおよび５０Ｌは、右側面および左側面に、その表面が左右両側面とそれぞれ平行である左右の支持部を介して設けられる。そして、上腕５２Ｒおよび上腕５２Ｌの回動範囲は、これら左右側面または支持部の表面（取り付け面）によって規制され、上腕５２Ｒおよび５２Ｌは取り付け面を超えて回動することはない。
【００４６】
しかし、左右側面の傾斜角、Ｂ軸とＹ軸との間隔、上腕５２Ｒおよび５２Ｌの長さ、ならびに前腕５６Ｒおよび５６Ｌの長さなどを適宜に設定すれば、上腕５２Ｒおよび５２Ｌは前方を超えてより内側まで回動できるので、たとえＷ軸およびＤ軸による腕の自由度がなくてもロボット１０の腕は前方で交差できる。したがって、腕の自由度が少ない場合でも正面に位置する人と抱き合うなどの密接で親密なコミュニケーション行動を実行することができる。
【００４７】
上部胴体３６の中央上方には、首関節６２を介して頭部６４が設けられる。首関節６２は、３軸の自由度を有し、Ｓ軸、Ｔ軸およびＵ軸の各軸廻りに角度制御可能である。Ｓ軸は首から真上（鉛直上向き）に向かう軸であり、Ｔ軸およびＵ軸は、それぞれ、そのＳ軸に対して異なる方向で直交する軸である。頭部６４には、人の口に相当する位置に、スピーカ６６が設けられる。スピーカ６６は、ロボット１０が、それの周辺の人に対して音声ないし音によってコミュニケーションを取るために用いられる。ただし、スピーカ６６は、ロボット１０の他の部位、たとえば胴体などに設けられてもよい。
【００４８】
また、頭部６４には、目に相当する位置に眼球部６８Ｒおよび６８Ｌが設けられる。眼球部６８Ｒおよび６８Ｌは、それぞれ眼カメラ４８Ｒおよび４８Ｌを含む。以下、右の眼球部６８Ｒと左の眼球部６８Ｌとをまとめて眼球部６８ということがあり、また、右の眼カメラ４８Ｒと左の眼カメラ４８Ｌとをまとめて眼カメラ４８ということもある。
【００４９】
眼カメラ４８は、ロボット１０に接近した人の顔や他の部分ないし物体などを撮影して、それに対応する映像信号を取り込む。眼カメラ４８としては、上述した全方位カメラ４２と同様のカメラを用いることができる。
【００５０】
たとえば、眼カメラ４８は眼球部６８内に固定され、眼球部６８は眼球支持部（図示せず）を介して頭部６４内の所定位置に取り付けられる。眼球支持部は、２軸の自由度を有し、α軸およびβ軸の各軸廻りに角度制御可能である。α軸およびβ軸は頭部６４に対して設けられる軸であり、α軸は頭部６４の上へ向かう方向の軸であり、β軸はα軸に直交しかつ頭部６４の正面側（顔）が向く方向に直交する方向の軸である。この実施例では、頭部６４がホームポジションにあるとき、α軸はＳ軸と平行であり、β軸はＵ軸と平行であるように設定される。このような頭部６４において、眼球支持部がα軸およびβ軸の各軸廻りに回転されることによって、眼球部６８ないし眼カメラ４８の先端（正面）側が変位され、カメラ軸すなわち視線方向が移動される。
【００５１】
なお、眼カメラ４８の変位を制御するα軸およびβ軸では、「０度」がホームポジションであり、このホームポジションでは、図２に示すように、眼カメラ４８のカメラ軸は頭部６４の正面側（顔）が向く方向に向けられ、視線は正視状態となる。
【００５２】
さらに、ロボット１０は、温度センサ１００、湿度センサ１０２、汚れセンサ１０４および臭いセンサ１０６を備える。たとえば、温度センサ１００、湿度センサ１０２および臭いセンサ１０６は肩部に取り付けられる。ただし、厳密には、各センサ１００−１０６の検出部がロボット１０の肩部から露出するように設けられ、検出部以外の他の部分はロボット１０の内部に設けられる。もちろん、これらのセンサ１００、１０２、１０６の取り付け位置は肩に特定されず、実施条件などによって適宜変更可能である。また、これらのセンサ１００、１０２および１０６は、同じ部位（この実施例では、肩）に設ける必要はなく、それぞれ異なる部位に設けるようにしてもよい。また、汚れセンサ１０４は台車２２の下面に取り付けられる。この汚れセンサ１０４の取り付け位置もまた、台車２２の下面に限定される必要はなく、当該汚れセンサ１０４の機能や検出方法などにより適宜変更可能である。
【００５３】
たとえば、汚れセンサ１０４としては、光学的に床面の反射率を測定する光センサなどを用いることができる。また、臭いセンサ１０６としては、熱線型半導体式センサなどを用いることができる。
【００５４】
後で詳細に説明するが、ロボット１０は、これらのセンサ１００−１０６によって、温度、湿度、床の汚れや空気の汚れの度合い、すなわちロボット１０が存在する近傍の環境状況（状態）を検出する。したがって、他の状態を検出したい場合には、その状態を検出するためのセンサを別途設ける必要がある。
【００５５】
図３はロボット１０の電気的な構成を示すブロック図であり、この図３を参照して、ロボット１０は、全体を制御するＣＰＵ７２を含む。ＣＰＵ７２は、マイクロコンピュータ或いはプロセサとも呼ばれ、バス７４を介して、メモリ７６、モータ制御ボード７８、センサ入力／出力ボード８０および音声入力／出力ボード８２に接続される。
【００５６】
メモリ７６は、図示は省略するが、ＲＯＭやＲＡＭを含み、ＲＯＭにはロボット１０の制御プログラムが予め記憶されるとともに、コミュニケーション行動を実行する際にスピーカ６６から発生すべき音声または声の音声データ（音声合成データ）および所定の身振りを提示するための角度データなども記憶される。ＲＡＭは、ワークメモリやバッファメモリとして用いられる。また、メモリ７６には、コミュニケーション行動を実行するための行動制御プログラム、外部コンピュータと通信するための通信プログラム、および環境センサ１００〜１０６の検出した検出条件とあらかじめ設定した設定条件とを比較して、電気機器に制御信号を送信するための電気機器制御プログラムなどが記憶される。
【００５７】
モータ制御ボード７８は、たとえばＤＳＰで構成され、各腕や頭部および眼球部などの各軸モータの駆動を制御する。すなわち、モータ制御ボード７８は、ＣＰＵ７２からの制御データを受け、右眼球部６８Ｒのα軸およびβ軸のそれぞれの角度を制御する２つのモータ（図３では、まとめて「右眼球モータ」と示す。）８４の回転角度を制御する。同様に、モータ制御ボード７８は、ＣＰＵ７２からの制御データを受け、左眼球部６８Ｌのα軸およびβ軸のそれぞれの角度を制御する２つのモータ（図３では、まとめて「左眼球モータ」と示す。）８６の回転角度を制御する。
【００５８】
また、モータ制御ボード７８は、ＣＰＵ７２からの制御データを受け、右肩関節５０ＲのＸ軸、Ｙ軸およびＺ軸のそれぞれの角度を制御する３つのモータと右肘関節５４ＲのＷ軸の角度を制御する１つのモータとの計４つのモータ（図３では、まとめて「右腕モータ」と示す。）８８の回転角度を調節する。同様に、モータ制御ボード７８は、ＣＰＵ７２からの制御データを受け、左肩関節５０ＬのＡ軸、Ｂ軸およびＣ軸のそれぞれの角度を制御する３つのモータと左肘関節５４ＬのＤ軸の角度を制御する１つのモータとの計４つのモータ（図３では、まとめて「左腕モータ」と示す。）９０の回転角度を調整する。
【００５９】
さらに、モータ制御ボード７８は、ＣＰＵ７２からの制御データを受け、頭部６４のＳ軸、Ｔ軸およびＵ軸のそれぞれの角度を制御する３つのモータ（図３では、まとめて「頭部モータ」と示す。）９２の回転角度を制御する。さらにまた、モータ制御ボード７８は、ＣＰＵ７２からの制御データを受け、腰モータ４０および車輪２４を駆動する２つのモータ（図３では、まとめて「車輪モータ」と示す。）２６の回転角度を制御する。
【００６０】
なお、この実施例では、車輪モータ２６を除くモータは、制御を簡素化するために、ステッピングモータ或いはパルスモータを用いるようにしてある。ただし、車輪モータ２６と同様に、直流モータを用いるようにしてもよい。
【００６１】
センサ入力／出力ボード８０もまた、同様に、ＤＳＰで構成され、各センサからの信号を取り込んでＣＰＵ７２に与える。すなわち、超音波距離センサ３２のそれぞれからの反射時間に関するデータがこのセンサ入力／出力ボード８０を通してＣＰＵ７２に入力される。また、全方位カメラ４２からの映像信号が、必要に応じてこのセンサ入力／出力ボード８０で所定の処理を施された後、ＣＰＵ７２に入力される。眼カメラ４８からの映像信号も、同様にして、ＣＰＵ７２に入力される。また、上述した複数のタッチセンサ（図３では、まとめて「タッチセンサ５８」と示す。）、および衝突センサ２８からの信号がセンサ入力／出力ボード８０を介してＣＰＵ７２に与えられる。さらに、上述した、温度センサ１００、湿度センサ１０２、汚れセンサ１０４および臭いセンサ１０６などの各種環境状況を検出する環境センサ１００〜１０６からの信号も、同様にして、ＣＰＵ７２に与えられる。
【００６２】
音声入力／出力ボード８２もまた、同様に、ＤＳＰで構成され、ＣＰＵ７２から与えられる音声合成データに従った音声または声がスピーカ６６から出力される。また、マイク４６からの音声入力が、音声入力／出力ボード８２を介してＣＰＵ７２に取り込まれる。
【００６３】
また、ＣＰＵ７２は、バス７４を介して通信ＬＡＮボード９４に接続される。通信ＬＡＮボード９４は、ＤＳＰで構成され、ＣＰＵ７２から送られる送信データを無線通信装置９６に与え、無線通信装置９６から送信データを、図示は省略するが、たとえば、無線ＬＡＮのようなネットワークを介して外部コンピュータに送信させる。また、通信ＬＡＮボード９４は、無線通信装置９６を介してデータを受信し、受信したデータをＣＰＵ７２に与える。つまり、この通信ＬＡＮボード９４および無線通信装置９６によって、ロボット１０は外部コンピュータなどと無線通信を行うことができる。
【００６４】
赤外線信号送信装置９８は、バス７４を介してＣＰＵ７２に接続される。ＣＰＵ７２は、電気機器を制御するための制御信号を生成し、これを赤外線信号送信装置９８に与える。赤外線信号送信装置（赤外線発光装置）９８は、ＣＰＵ７２から与えられた制御信号を赤外線信号に変換し、各電気機器Ａ−Ｅに送信する。
【００６５】
なお、図示は省略するが、各電気機器は配置位置（高さや方向）が異なるため、赤外線信号を各電気機器に確実に受信させるために、赤外線の送信部（発光部）はロボット１０の複数箇所に設けるようにする必要がある。
【００６６】
さらに、ＣＰＵ７２は、バス７４を介して地図情報データベース（以下、単に「地図ＤＢ」という。）１１０に接続される。地図ＤＢ１１０は、ロボット１０を配置する領域（空間）についての地図のデータ（地図データ）を記憶するためのデータベースである。この実施例では、地図データは、大領域と小領域とに分けて管理される。たとえば、図４（Ａ）に示すように、地図データは、ロボット１０が配置される屋内に設けられる部屋単位のように大領域で分割され、さらに、図４（Ｂ）に示すように、各部屋において、たとえばＸ［ｃｍ］×Ｙ［ｃｍ］の小領域に分割される。具体的には、ロボット１０が配置される屋内には、部屋Ｒｘ（Ｒ１，Ｒ２，…，ＲＮ-１，ＲＮ）が存在し、或る部屋Ｒｘは、複数の小領域ＲｘＡｙ（ＲｘＡ１，ＲｘＡ２，…，ＲｘＡＭ）に分割される。ただし、図４（Ｂ）では、変数ｘがＮの場合について示してある。
【００６７】
なお、この実施例では、ＸおよびＹは同じ値（たとえば、３０）に設定してあるが、ＸおよびＹは異なる値であってもよい。
【００６８】
このような構成のロボット１０は、上述したように、電気機器が設置されたオフィスや家庭などの屋内（３次元空間内）に配置される。ロボット１０は、温度センサ１００、湿度センサ１０２、汚れセンサ１０４および臭いセンサ１０６（これらをまとめて、「環境センサ」と呼ぶことがある。）の検出結果に基づいて、自身の近傍の環境状況（室内の環境）を認識する。つまり、ロボット１０の現在位置（部屋ないしその中の或る領域）における温度や湿度を知ることができ、また、床や空気の汚れを知ることもできる。
【００６９】
ロボット１０は、予め設定された温度（設定温度Ｔｓ）に環境状況（室温）が調整されるように、エアコンＡを制御する。具体的には、ロボット１０は、温度センサ１００で検出された温度（検出温度）Ｔと設定温度Ｔｓとを比較し、その比較結果に基づいて、検出温度Ｔと設定温度Ｔｓとが一致するように、運転／停止（電源をオン／オフ）、運転切換（たとえば、冷房、暖房、除湿など）および温度の設定などについての制御信号をエアコンＡに送信する。
【００７０】
また、ロボット１０は、予め設定された湿度（設定湿度Ｓｓ）に環境状況（部屋の湿度）が調整されるように、加湿器Ｄまたは除湿機Ｅを制御する。具体的には、ロボット１０は、湿度センサ１０２で検出された湿度（検出湿度）Ｓと設定湿度Ｓｓとを比較し、その比較結果に基づいて、検出湿度Ｓと設定湿度Ｓｓとが一致するように、運転／停止（電源をオン／オフ）や強さ（強，中，弱など）などについての制御信号を、加湿器Ｄや除湿機Ｅに送信する。
【００７１】
さらに、ロボット１０は、汚れセンサ１０４で検出された汚れの度合い（汚れ検出値）Ｙと設定された汚れの度合い（汚れ設定値）Ｙｓとを比較し、その比較結果に基づいて、汚れ値Ｙが汚れ設定値Ｙｓよりも小さくなるように、運転／停止（電源をオン／オフ）および掃除する部屋Ｒｘ（領域ＲｘＡｙ）の指定などについての制御信号を全自動掃除機Ｂに送信する。
【００７２】
さらにまた、ロボット１０は、臭いセンサ１０６で検出された臭い（空気の汚れ）の度合い（臭い検出値）Ｎと設定された臭いの強度（臭い設定値）Ｎｓとを比較し、その比較結果に基づいて、臭い検出値Ｎが臭い設定値Ｎｓよりも小さくなるように、運転／停止（電源をオン／オフ）および強度などについての制御信号を空気清浄機Ｃに送信する。
【００７３】
なお、エアコンＡが空気清浄機能を有する場合には、空気清浄機Ｃを設ける必要はなく、かかる場合には、空気清浄機Ｃに代えて、当該エアコンＡを制御すればよい。
【００７４】
また、上述した設定温度Ｔｓ、設定湿度Ｓｓ、汚れ設定値Ｙｓおよび臭い設定値Ｎｓは、人間１４にとって快適な環境となるための値であり、実験などにより経験的に得られる値である。したがって、そのような設定値Ｔｓ，Ｓｓ，Ｙｓ，Ｎｓは、このロボット１０が適用される環境（季節を含む。）に応じて可変的に設定される。
【００７５】
上述したように、ロボット１０は、自律移動（自走）可能であり、また、人間１４との間でコミュニケーション行動を実行することも可能である。したがって、この実施例では、ロボット１０は、人間１４を探索し、探索した結果、人間１４を検出（検知）すれば、当該人間１４に追従し（追従行動）、追従行動しながら環境状況を検出し、必要に応じて、各電気機器を制御する。ただし、探索した結果、複数の人間１４を検知した場合には、所定のルールに従って、いずれか１人の人間１４を追従する。たとえば、所定のルールに従って１人の人間１４を選択する方法としては、たとえば、ランダムに1人の人間１４を選択したり、最初に検出または最後に検出した人間１４を選択したり、各人間１４に対して優先度をつけておき、その優先度が最大または最小の人間１４を選択したりすることが考えられる。また、全ての部屋Ｒｘおよび全ての領域ＲｘＡｙを探索した結果、人間１４を検出しなかった場合や、人間を検出しても当該検出した人間に追従行動を拒否された場合は、ロボット１０は単独で行動（単独行動）しながら環境状況を検出し、必要に応じて、各電気機器を制御する。
【００７６】
また、この実施例では、人間１４を探索する場合や単独行動で自律移動（自走）する場合には、部屋Ｒｘを順番に（Ｒ１，Ｒ２，Ｒ３，…，ＲＮ）回るとともに、各部屋Ｒｘにおいても領域ＲｘＡｙを順番に（ＲｘＡ１，ＲｘＡ２，ＲｘＡ３，…，ＲｘＡＭ）回る。このとき、地図データが参照される。
【００７７】
たとえば、ロボット１０は、部屋Ｒ１の左上の位置（たとえば、入り口の扉付近）に配置され、当該位置を原点（基準位置）として、地図データを参照しながら自律移動する。したがって、ロボット１０は、現在どの領域にいるのかを容易に把握することができ、また、別の領域に容易に移動することもできる。
【００７８】
なお、この実施例では、地図データを予め地図ＤＢ１１０に記憶するようにしてあるが、ロボット１０の各種センサ、たとえば、超音波距離センサ３２や全方位カメラ４２を用いて検出した検出データに基づいて、ロボット１０自らが地図データを作成し、地図ＤＢ１１０に記憶させるようにしてもよい。
【００７９】
また、上述したように、ロボット１０は人間１４を検出する。詳細な説明は省略するが、単に人間１４を検出する場合には、ロボット１０の全方位カメラ４２や眼カメラ４８からの映像に基づいて判断することができる。ただし、映像処理により、人間１４を検出する場合には、処理が膨大になるため、たとえば、人間１４の衣服に特定のマーク（文字、記号、図形など）を付しておき、当該マークに基づいて人間１４を検出することができる。また、人間１４に無線タグを所持ないし装着しておき、ロボット１０に無線タグからの信号を受信する装置を設けておけば、人間１４を簡単に検出することができる。さらに、上述したマークや無線タグの識別情報を各人間１４で異なるようにしておき、その情報をロボット１０内部のデータベースないしはロボット１０がアクセス可能に外部に接続したデータベースに記憶しておくことにより、個別に人間１４を検出することもできる。
【００８０】
具体的には、図３に示したＣＰＵ７２が図５に示すフロー図に従って全体処理を実行する。図５に示すように、ＣＰＵ７２は全体処理を開始すると、まず、ステップＳ１で、初期化を実行する。具体的には、変数ＩｓＲｘに「０」を代入（設定）し、変数ｘに「１」を代入する。ここで、変数ＩｓＲｘは、当該部屋Ｒｘを探索したか否かを判別するための変数（フラグ）である。したがって、部屋Ｒｘを探索していない場合には変数ＩｓＲｘに「０」が設定され、当該部屋Ｒｘを探索した場合には変数ＩｓＲｘに「１」が設定される。また、変数ｘは各部屋を識別するための番号であり、１〜Ｎで設定される。上述したように、この実施例では、各部屋Ｒｘを順番に回るようにしてあるため、初期化する場合には、変数ｘに「１」が代入される。以下、初期化する場合において同じ処理が実行される。
【００８１】
次のステップＳ３では、人間１４からの停止命令があるか否かを判断する。停止命令は、たとえば、音声により入力してもよいし、ロボット１０に停止命令用のボタンを設けておき、これを操作してもよいし、外部コンピュータからロボット１０に停止命令のコマンドを送信するようにしてもよい。ステップＳ３で“ＹＥＳ”であれば、つまり、人間１４からの停止命令が有れば、そのまま一連の動作を終了する。一方、ステップＳ３で“ＮＯ”であれば、つまり、人間１４からの停止命令が無ければ、ステップＳ５で、変数ＩｓＲｘに「０」が設定されているかどうかを判断する。
【００８２】
ステップＳ５で“ＮＯ”であれば、つまり、変数ＩｓＲｘに「１」が設定されていれば、部屋Ｒｘはすでに探索したと判断し、ステップＳ７で、変数ｘをインクリメント（ｘ＝ｘ＋１）して、ステップＳ５に戻る。つまり、次の部屋Ｒｘについての判断を行う。一方、ステップＳ５で“ＹＥＳ”であれば、つまり、変数ＩｓＲｘに「０」が設定されていれば、部屋Ｒｘはまだ探索していないと判断し、ステップＳ９に進む。
【００８３】
ステップＳ９では、変数ｘがＮ以下であるかどうかを判断する。ここで、変数ｘは1からＮまでの整数であり、変数ｘがＮより大きくなるということは、ロボット１０が全ての部屋Ｒｘを探索したことを意味する。以下、ロボット１０が探索する場合において、同様である。変数ｘがＮ以下である場合、つまり探索していない部屋Ｒｘが存在する場合、ステップＳ９で“ＹＥＳ”となり、ステップＳ１１で、部屋Ｒｘへ移動する。具体的には、ステップＳ１１では、ＣＰＵ７２は、車輪モータ２６を駆動制御して、現在位置から部屋Ｒｘに移動する。このとき、ＣＰＵ７２は、地図ＤＢ１１０に記憶された地図データを参照して、移動方向および距離を決定し、これらに応じた制御信号をモータ制御ボード７８に与える。
【００８４】
次に、ステップＳ１３では、変数ＩｓＲｘに「１」を代入する。続いて、ステップＳ１５で、部屋Ｒｘに人間１４が存在するか否かを判断する。人間１４が存在するか否かの判断手法は上述したとおりであるため、重複する説明は省略する。ステップＳ１５で“ＮＯ”であれば、すなわち部屋Ｒｘに人間１４が存在しない場合には、そのままステップＳ７に進む。一方、ステップＳ１５で“ＹＥＳ”であれば、すなわち部屋Ｒｘに人間１４が存在する場合には、ステップＳ１７で、検知した人間１４の近く（たとえば、人間１４との距離が１ｍ程度）まで移動し、ステップＳ１９に進む。
【００８５】
なお、詳細な説明は省略するが、人間１４の近くまで移動する場合には、ＣＰＵ７２は、車輪モータ２６を駆動制御するとともに、超音波距離センサ３２の出力に基づいて人間１４との距離を測定する。以下、人間１４に接近する場合についても同様である。
【００８６】
ステップＳ１９では、ロボット１０は、検知した人間１４から離れる指示があるかどうかを判断する。ここで、離れる指示は、音声により入力されてもよく、当該離れる指示を入力するためのボタンをロボット１０に設けておき、それを操作されてもよい。たとえば、人間１４が“離れて”や“ばいばい”などとロボット１０に向けて発話した場合に、これを認識（音声認識）して、離れる指示が入力されたと判断することができる。また、上述したように、ロボット１０は、複数のタッチセンサ５８を備えているため、たとえば、背中を連続して２度触れられた場合に、ＣＰＵ７２はタッチセンサ５８の出力により、これを検出して、離れる指示が入力されたと判断することもできる。これらは単なる例示であり、いずれか１つの方法を採用すればよく、また、２つ以上の方法を採用するようにしてもよい。
【００８７】
ステップＳ１９で“ＹＥＳ”であれば、すなわち、人間１４から離れる指示が有る場合には、ステップＳ２３に進む。一方、ステップＳ１９で“ＮＯ”であれば、すなわち、人間１４から離れる指示が無い場合には、ステップＳ２１で、当該人間１４への追従行動処理を実行し、ステップＳ１に戻る。なお、追従行動処理（図６参照）については後述する。
【００８８】
また、ステップＳ９で“ＮＯ”であれば、つまり変数ｘがＮを超えれば、全ての部屋Ｒｘについて探索したと判断し、ステップＳ２３で、初期化を実行する。初期化については、ステップＳ１で説明した内容と同じであるため、重複した説明は省略する。そして、ステップＳ２５で、単独行動処理を実行し、ステップＳ１に戻る。なお、単独行動処理（図７参照）については後述する。
【００８９】
図６は、図５に示したステップＳ２１の追従行動処理を示すフロー図である。図６に示すように、ＣＰＵ７２は、追従行動処理を開始すると、ステップＳ３１で、人間による停止命令が有るかどうかを判断する。ステップＳ３１で“ＹＥＳ”であれば、つまり停止命令が有れば、そのまま処理を終了する。一方、ステップＳ３１で“ＮＯ”であれば、つまり停止命令が無ければ、ステップＳ３３で、人間１４から離れる指示が有るかどうかを判断する。ステップＳ３３で“ＹＥＳ”であれば、つまり人間１４から離れる指示が有れば、単独行動処理へ移行する。一方、ステップＳ３３で“ＮＯ”であれば、つまり人間１４から離れる指示が無ければ、ステップＳ３５で、距離Ｄｉｓｔが予め設定された距離（設定距離）ＭａｘＤｉｓｔ未満であるかどうかを判断する。ここで、距離Ｄｉｓｔは、人間１４とロボット１０との距離であり、超音波距離センサ３２で測定される。設定距離ＭａｘＤｉｓｔは、ロボット１０が人間１４を追従するための最大距離（たとえば、１ｍ）である。
【００９０】
ステップＳ３５で“ＮＯ”であれば、つまり距離Ｄｉｓｔが設定距離ＭａｘＤｉｓｔ以上であれば、人間１４から離れ過ぎていると判断し、当該人間１４に追従すべく、ステップＳ３７で、当該人間１４に接近して、ステップＳ３５に戻る。一方、ステップＳ３５で“ＹＥＳ”であれば、つまり距離Ｄｉｓｔが設定距離ＭａｘＤｉｓｔ未満であれば、ステップＳ３９で、後述する環境状況の検出および電気機器の制御（図８参照）を実行して、ステップＳ４１に進む。
【００９１】
ステップＳ４１では、人間１４が存在するかどうか判断する。つまり、追従している人間１４を見失っていないかどうかを判断する。ステップＳ４１で“ＮＯ”であれば、つまり人間１４が存在しなければ、当該人間を見失ったと判断して、追従行動処理をリターンする。一方、ステップＳ４１で“ＹＥＳ”であれば、つまり人間１４が存在すれば、ステップＳ４３で、人間１４が移動したかどうかを判断する。ここでは、超音波距離センサ３２によって検出される距離Ｄｉｓｔに変化があるかどうかを判断する。ステップＳ４３で“ＹＥＳ”であれば、つまり人間１４が移動すれば、これに追従すべく、そのままステップＳ３１に戻る。一方、ステップＳ４３で“ＮＯ”であれば、つまり人間１４が移動していなければ、そこに留まるべく、ステップＳ４５で、一定時間待機行動してから、ステップＳ３１に戻る。たとえば、ステップＳ４５では、一定時間（たとえば、数十秒）同じ位置に留まり、周囲を見渡すように、首（頭部）を左右に回動させる。
【００９２】
このように、追従行動をしながら、環境状況を検出し、必要に応じて電気機器を制御するので、或る特定の場所に固定されたセンサを用いて環境状況を検出する場合と異なり、人間１４が存在する空間の環境を整えたり、快適に保ったりすることができる。
【００９３】
図７は、図５に示したステップＳ２５の単独行動処理を示すフロー図である。図７に示すように、ＣＰＵ７２は単独行動処理を開始すると、ステップＳ５１で、人間１４による停止命令があるかどうかを判断する。ステップＳ５１で“ＹＥＳ”であれば、つまり人間１４による停止命令が有れば、そのまま処理を終了する。一方、ステップＳ５１で“ＮＯ”であれば、つまり停止命令が無ければ、ステップＳ５３で、変数ＩｓＲｘに「０」が設定されているかどうかを判断する。ステップＳ５３で“ＮＯ”であれば、つまり変数ＩｓＲｘに「１」が設定されている場合には、部屋Ｒｘを既に探索したと判断して、ステップＳ５５で、変数ｘをインクリメントして、ステップＳ５１に戻る。一方、ステップＳ５３で“ＹＥＳ”であれば、つまり変数ＩｓＲｘに「０」が設定されている場合には、すなわち、この部屋Ｒｘをまだ探索していないと判断し、ステップＳ５７で、変数ｘがＮ以下であるかどうかを判断する。ステップＳ５７で“ＮＯ”であれば、つまり変数ｘがＮを超えている場合には、全ての部屋Ｒｘを探索したと判断し、ステップＳ５９で、一定時間待機行動し、単独行動処理をリターンする。ここでは、上述した追従行動における待機行動とは異なり、人間１４を追従する必要はないため、比較的長い時間待機することができる。したがって、たとえば、ロボット１０は、一定時間（５〜１０分）同じ位置に留まり、周囲を見渡すように、首（頭部）を左右に回動させる。また、ロボット１０は、「暇だな」のような音声を発することにより、周囲に存在する人間１４に呼びかけたりする。或いは、ロボット１０は、歌を歌ったり、周辺を移動（うろうろ）したりするなどして、一人遊びする。
【００９４】
また、ステップＳ５７で“ＹＥＳ”であれば、つまり変数ｘがＮ以下であれば、ステップＳ６１で、部屋Ｒｘに移動する。そして、ステップＳ６３で、変数ＩｓＲｘＡｙに「０」が設定されているかどうかを判断する。ここで、変数ＩｓＲｘＡｙは、部屋Ｒｘにおける領域ＲｘＡｙを探索したか否かを判断するための変数（フラグ）である。部屋Ｒｘの領域ＲｘＡｙを探索した場合には、変数ＩｓＲｘＡｙには「１」が設定され、まだ探索していない場合には、変数ＩｓＲｘＡｙには「０」が設定される。
【００９５】
ステップＳ６３で“ＮＯ”であれば、つまりＩｓＲｘＡｙに「１」が設定されていれば、部屋Ｒｘの領域ＲｘＡｙを既に探索したと判断して、ステップＳ６５で、変数ｙをインクリメントして、ステップＳ６３に戻る。一方、ステップＳ６３で“ＹＥＳ”であれば、つまり変数ＩｓＲｘＡｙに０が設定されていれば、部屋Ｒｘの領域ＲｘＡｙをまだ探索していないと判断して、ステップＳ６７で、変数ｙがＭ以下であるかどうかを判断する。ここで、変数ｙは1からＭまでの整数であり、変数ｙがＭを超えれば、或る部屋Ｒｘの全ての領域ＲｘＡｙを探索したことを意味する。
【００９６】
ステップＳ６７で“ＮＯ”であれば、つまり変数ｙがＭを超える場合には、或る部屋Ｒｘの全ての領域ＲｘＡｙを探索したと判断して、ステップＳ６９で、変数ＩｓＲｘに「１」を設定し、変数ｘをインクリメントし、変数ｙに初期値「１」を設定して、ステップＳ５１に戻り、次の部屋Ｒｘについて探索を行う。一方、ステップＳ６７で“ＹＥＳ”であれば、つまり変数ｙがＭ以下であれば、或る部屋Ｒｘの領域ＲｘＡｙをまだ探索していないと判断して、ステップＳ７１で、部屋Ｒｘの領域ＲｘＡｙへ移動する。次にステップＳ７３で、環境状況の検出および電気機器の制御処理を実行し、ステップＳ７５で、変数ＩｓＲｘＡｙに「１」を設定し、変数ｙをインクリメントして、ステップＳ６３に戻り、次の領域ＲｘＡｙについて探索を行う。
【００９７】
このように、ロボット１０は、単独行動により、全ての部屋Ｒｘの全ての領域Ｒｙを探索するので、局所的な環境の異常（たとえば、温度や湿度の高低、床や空気の汚れ）を検出することができ、人間１４の手を煩わすことなく、快適な環境に調整したり、快適な環境を保ったりすることができる。
【００９８】
図８は、図６に示したステップＳ３９および図７に示したステップＳ７３の環境状況の検出および電気機器の制御処理を示すフロー図である。図８に示すように、ＣＰＵ７２は環境状況の検出および電気機器の制御処理を開始すると、ステップＳ８１において、環境センサ１００〜１０６の出力を検出する。つまり、ＣＰＵ７２は、検出温度Ｔ、検出湿度Ｓ、汚れ検出値Ｙおよび臭い検出値Ｎを取得する。
【００９９】
続くステップＳ８３では、検出温度Ｔと設定温度Ｔｓとが等しいかどうかを判断する。ステップＳ８３で“ＹＥＳ”であれば、つまり検出温度Ｔと設定温度Ｔｓとが等しければ、人間１４にとって快適な温度であると判断して、そのままステップＳ８７に進む。一方、検出温度Ｔと設定温度Ｔｓとが等しくない場合には、人間１４にとって快適な温度ではないと判断して、ステップＳ８５で、温度調節機にロボット１０の居る領域（ＲｘＡｙ）の温度調整用信号を送信する。具体的には、ＣＰＵ７２は、温度調節機（たとえば、エアコンＡ）の制御信号を、赤外線信号送信装置９８を介して、当該温度調節機に送信する。すると、温度調節機では、電源がオン／オフされたり、設定（目標）温度の設定が変更されたり、風量の強弱の設定が変更されたり、風向などが調節されたりして、人間１４にとって快適な温度（設定温度Ｔｓ）に調整する。
【０１００】
ステップＳ８７では、検出湿度Ｓと設定湿度Ｓｓとが等しいかどうかを判断する。ステップＳ８７で“ＹＥＳ”であれば、つまり検出湿度Ｓと設定湿度Ｓｓとが等しい場合には、人間１４にとって快適な湿度であると判断して、そのままステップＳ９１に進む。一方、ステップＳ８７で“ＮＯ”であれば、つまり検出湿度Ｓと設定湿度Ｓｓとが等しくない場合には、人間１４にとって快適な湿度ではないと判断して、ステップＳ８９において、湿度調節機（たとえば、加湿器Ｄや除湿機Ｅなど）に、ロボット１０の居る領域（ＲｘＡｙ）の湿度を調整する湿度調整用信号を送信する。具体的には、ＣＰＵ７２は、湿度調節機（加湿器Ｄや除湿機Ｅ）の制御信号を、赤外線信号送信装置９８を介して、当該湿度調節機に送信する。すると、湿度調節機では、電源がオン／オフされたり、除湿の強度や蒸気を排出する強度が調節されたりして、人間１４にとって快適な湿度（設定湿度Ｓｓ）に調整する。
【０１０１】
ステップＳ９１では、汚れ検出値Ｙが汚れ設定値Ｙｓ未満であるかどうかを判断する。また、たとえば、台車２２の下面にゴミの吸い込み口を設け、吸い込んだゴミを赤外線センサで検出することにより、床面の汚れを検出するようにしてもよい。ステップＳ９１で“ＹＥＳ”であれば、つまり汚れ検出値Ｙが汚れ設定値Ｙｓ未満であれば、人間１４にとって不快となる汚れ（ごみ）は無い（少ない）と判断して、そのままステップＳ９５に進む。一方、ステップＳ９１で“ＮＯ”であれば、つまり汚れ検出値Ｙが汚れ設定値Ｙｓ以上であれば、すなわち、人間１４にとって不快となる汚れ（ごみ）が有ると判断して、ステップＳ９３において、清掃機に、ロボット１０の居る領域（ＲｘＡｙ）の汚れを除去するための清掃開始用信号を送信する。具体的には、ＣＰＵ７２は、清掃機（たとえば、全自動掃除機Ｂ）の制御信号を、赤外線信号送信装置９８を介して、当該掃除機に送信する。すると、たとえば、全自動掃除機Ｂが駆動され、不快な汚れが除去され、人間１４にとって清潔な環境に調整される。
【０１０２】
なお、ロボット１０が掃除機能を備えるようにして、ロボット１０自身が、当該掃除機能を用いて不快な汚れを除去するようにしてもよい。
【０１０３】
ステップＳ９５では、臭い検出値Ｎが臭い設定値Ｎｓ未満であるかどうかを判断する。ステップＳ９５で“ＹＥＳ”であれば、つまり臭い検出値Ｎが臭い設定値Ｎｓ未満であれば、人間１４にとって不快（健康を害する）となる臭いや空気の汚れは無い（少ない）と判断して、そのまま環境状況の検出および電気機器の制御処理をリターンする。一方、ステップＳ９５で“ＮＯ”であれば、つまり臭い検出値Ｎが臭い設定値Ｎｓ以上であれば、人間１４にとって不快（健康を害する）となる臭いや空気の汚れが有ると判断して、ステップＳ９７で、臭い除去機（たとえば、空気清浄機Ｃや換気扇）に、ロボット１０の居る領域（ＲｘＡｙ）の空気清浄用信号を送信する。具体的には、ＣＰＵ７２は、臭い除去機（たとえば、空気清浄機Ｃや換気扇）の制御信号を、赤外線信号送信装置９８を介して、当該臭い除去機に送信する。すると、臭い除去機が駆動され、不快（健康を害する）となる臭いや空気の汚れが除去され、人間１４にとって清潔で心地良い環境に調整される。
【０１０４】
なお、この実施例では、図４（Ａ）および図４（Ｂ）に示したように、各部屋の大きさおよび形状を同じにしてあるため、すべての部屋において、領域の数はＭであるが、部屋の大きさが異なる場合には、Ｍの値も変化する。たとえば、地図データにおいて、各部屋毎にＭの値を関連付けて記憶しておけば、探索する部屋に応じてＭの値を可変的に設定することができる。
【０１０５】
この実施例によれば、自律移動可能なロボットに環境センサを設けておき、必要に応じて、ロボットが各電気機器を適切に制御するので、人間の手を煩わすことなく、快適な環境を実現することができる。
【０１０６】
なお、この実施例では、温度センサ、湿度センサ、汚れセンサおよび臭いセンサにより、環境状況を検出し、検出した環境状況に応じて各種電気機器を制御するようにした。しかし、センサや電気機器は上述したものに限定されるべきではない。また、電気機器に限らず、リモコンなどにより制御可能な構成にすれば、他の装置であっても制御することができ、これによって、環境状況を整えることも可能である。たとえば、窓を電気的に開閉可能にしておけば、その自動開閉装置をロボットから送信する赤外線信号によって制御することにより、窓を開けたり、閉めたりすることができる。これにより、温度や湿度を調整することも可能である。また、音センサすなわちマイク（実施例では、４６）により周囲の音（騒音）を検出し、その音の大きさに応じて、窓を開閉することもできる。したがって、たとえば、騒音が屋内に入ってきたり、騒音が外に漏れたりすることを防ぐことができる。また、たとえば、照明装置をロボットから送信する赤外線信号によって制御可能にし、ロボットには光センサを設けておく。そして、たとえば、人間に追従してその周辺の明るさを検出し、照明装置をオン／オフしたり、その明るさを調整したりすることにより、人間付近の明るさを一定に保つことができる。
【０１０７】
また、この実施例では、ロボットが人間を検知した場合、離れる指示があるまで、当該検知した人間を追従するようにしたが、これに限定されるべきでない。たとえば、追従行動を開始する前に、全範囲について人間が存在するか否かを探索し、検知した複数の人間から1人の人間を検知した順番に基づいて選択して（たとえば、最初または最後に検知した人間を選択）、追従行動を実行するようにすることもできる。また、各人間を識別可能にするとともに、各人間に優先順位をつけておき、検出した複数の人間から１人の人間を優先順位に従って選択する（たとえば、優先順位が一番高いまたは一番低い人間を選択する）ようにしてもよい。さらには、一度追従を拒否した（離れる指示を出した）人間には、次回以降遭遇した場合であっても、追従行動を実行しないようにしたり、優先順位を低く（高く）したりして選択され難くするようにしてもよい。逆に、人間からロボットに話しかけてきた場合には、当該人間に対して直ぐに追従行動を実行したり、その人間の優先順位を高く（低く）したりして選択され易くするようにしてもよい。また、ロボットが単独行動中であっても、人間に呼ばれた場合や離れる指示をした人間とは違う人間を検出した場合などは、直ぐに単独行動から追従行動に移行するようにしてもよい。
【０１０８】
また、この実施例では、ロボットを配置する領域についての地図データを大領域（部屋毎）と小領域（Ｘ［ｃｍ］×Ｙ［ｃｍ］の領域）とに分けて管理するようにしたが、これに限定されない。たとえば、一部屋が広い場合などは、最大に離れても人間が検出できる程度の広さの中領域（部屋を数個に分けた程度の領域：たとえば数メートル四方）を設け、大領域と中領域と小領域とに分けて管理するようにしてもよい。
【０１０９】
さらに、この実施例では、人間を映像に基づいて検知したり、周波数タグを用いて個人を識別可能に検知したりするようにした。しかし、ロボットが適用される建物の床に床圧力センサを敷き詰めておき、その出力に基づいて人間を検知し、検知した情報を、外部コンピュータを介してロボットに送信するようにしてもよい。
【０１１０】
さらにまた、この実施例では、ロボットが電気機器に赤外線信号を直接送信するようにした。しかし、これに限定される必要はなく、他の方法を採用することもできる。たとえば、各部屋毎に、赤外線信号を受信する受信装置をロボットから赤外線信号を送信し易い位置（場所：高さや方向）に設けておき、当該受信装置と各電気機器とをたとえば有線で接続し、受信装置を介して赤外線信号（制御信号）を各電気機器に送信するようにしてもよい。かかる場合には、受信装置の位置を地図データに含めておくことにより、正確に制御信号（赤外線信号）を送信して、環境状況の調整を確実に行うことができる。或いは、外部コンピュータを各電気機器に接続して、制御信号を送信可能にしておけば、当該外部コンピュータとロボットとを無線ＬＡＮのようなネットワークで接続することにより、ネットワークおよび外部コンピュータを介して、各電気機器に制御信号を送信することもできる。
【図面の簡単な説明】
【０１１１】
【図１】図１はこの発明の一実施例のロボットおよび当該ロボットが存在する現実空間の様子を示す図解図である。
【図２】図２は図１のロボットの外観を正面から見た図解図である。
【図３】図３は図１のロボットの電気的な構成を示すブロック図である。
【図４】図４は図３示す地図ＤＢの内容の一例を説明するための図解図である。
【図５】図５は図３に示すＣＰＵの全体処理を示すフロー図である。
【図６】図６は図３に示すＣＰＵの追従行動処理を示すフロー図である。
【図７】図７は図３に示すＣＰＵの単独行動処理を示すフロー図である。
【図８】図８は図３に示すＣＰＵの環境状況の検出および電気機器の制御処理を示すフロー図である。
【符号の説明】
【０１１２】
１０  …ロボット
４２  …全方位カメラ
４８  …眼カメラ
７２  …ＣＰＵ
７６  …メモリ
９８  …赤外線信号送信装置
１００  …温度センサ
１０２  …湿度センサ
１０４  …汚れセンサ
１０６  …臭いセンサ
１１０  …データベース
【図１】
2007147217.tif 000003
【図２】
2007147217.tif 000004
【図３】
2007147217.tif 000005
【図４】
2007147217.tif 000006
【図５】
2007147217.tif 000007
【図６】
2007147217.tif 000008
【図７】
2007147217.tif 000009
【図８】
2007147217.tif 000010