(57)【要約】  【課題】  移動途上に遭遇した障害物からの離脱成功例を発展的に学習し、かつ学習した離脱成功例を移動に反映することが可能な移動ロボットを提供する。  【解決手段】  障害物を検出するセンサとを備えた移動ロボットであって、移動途上（Ｓ１１）に障害物が検出されると（Ｓ１２：Ｙｅｓ）、検出された障害物の方向に関する成功パラメータを検索し、検索されれば、検出されている間だけ検索された成功パラメータを移動パラメータに付加して移動し（Ｓ１３：Ｙｅｓ，Ｓ１４）、障害物が検出されない状態へと変わったとき、そのときの合成パラメータを新たな成功パラメータとして、障害物が最後に検出された方向と関連付けて蓄積する（Ｓ１５：Ｙｅｓ，Ｓ１６）。【選択図】  図３
2007048081.tif 000002
【特許請求の範囲】
【請求項１】
移動手段を備えた移動ロボットであって、
障害物を検出するセンサと、
移動ロボットの移動に関する制御の基になる移動パラメータと障害物からの個々の離脱成功に対応する成功パラメータとを記憶する記憶手段と、
障害物が検出されない状態では、前記移動パラメータに基づいて移動を制御し、
障害物が検出された状態では、前記成功パラメータが記憶されていない場合に、前記移動パラメータに基づく移動の制御を継続させ、前記成功パラメータが記憶されている場合には、前記移動パラメータに前記成功パラメータを付加した合成パラメータに基づいて移動を制御する制御手段と、
障害物が検出された状態から、検出されない状態へと変わったときに、そのときの制御の基になっている合成パラメータまたは移動パラメータを、新たな成功パラメータとして前記記憶手段に蓄積する蓄積手段と、を有すること
を特徴とする移動ロボット。
【請求項２】
請求項１に記載の移動ロボットの制御状態を表示する表示手段を備えた移動ロボットの制御状態表示方法であって、
前記表示手段は、前記センサ、前記成功パラメータを、それぞれ、センサニューロン、成功パラメータニューロンとしてニューロンの形で表示し、
前記障害物が検出されている間、当該障害物を検出しているセンサニューロンと当該障害物の方向に関連付けられた成功パラメータとの間を線で結んで表示すること
を特徴とする移動ロボットの制御状態表示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動ロボットに関し、特に、移動途上に遭遇した障害物に応じて移動をさせる技術に関する。
【背景技術】
【０００２】
近年、移動途上に遭遇した障害物に応じて移動する移動ロボットが開発されている。
特許文献１，２では、移動ロボットの一例として掃除用の移動ロボットが開示されており、これらの文献では、移動ロボットは障害物である部屋の壁を検出すると、壁にしばらくの間追従移動した後、壁から離間する制御が行われており、これによって床面を重複することなくしかも部屋の隅々まで清掃できるとしている。
【特許文献１】特表2004-522231号公報
【特許文献２】米国特許第6,594,844号
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記した従来の移動ロボットは、部屋内の空間を重複することなく効率的に移動するため掃除用の分野には適しているものの、反面、規律的であり、面白みに欠く動きをするので、ペット用や学習教材用には適していない。
ペット用や学習教材用の移動ロボットにおいては、飼い主や学生に、愛着や興味を持たせるため、生物（生命体）のように周囲の環境を発展的に学習可能な移動ロボットが求められている。
【０００４】
本発明は、上述の問題に鑑みてなされたものであって、移動途上に遭遇した障害物からの離脱成功例を発展的に学習し、かつ学習した離脱成功例を移動に反映することが可能なペット用や学習教材用に適した移動ロボット等を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明に係る移動ロボットは、移動手段を備えた移動ロボットであって、障害物を検出するセンサと、移動ロボットの移動に関する制御の基になる移動パラメータと障害物からの個々の離脱成功に対応する成功パラメータとを記憶する記憶手段と、障害物が検出されない状態では、前記移動パラメータに基づいて移動を制御し、障害物が検出された状態では、前記成功パラメータが記憶されていない場合に、前記移動パラメータに基づく移動の制御を継続させ、前記成功パラメータが記憶されている場合には、前記移動パラメータに前記成功パラメータを付加した合成パラメータに基づいて移動を制御する制御手段と、障害物が検出された状態から、検出されない状態へと変わったときに、そのときの制御の基になっている合成パラメータまたは移動パラメータを、新たな成功パラメータとして前記記憶手段に蓄積する蓄積手段と、を有することを特徴としている。
【発明の効果】
【０００６】
この構成によれば、障害物が検出された状態から検出されない状態へと変わる（離脱すると）と、上記蓄積手段は、その度に、そのときの合成パラメータを成功パラメータと見なして蓄積する。このため、障害物から離脱回数が多い程、より多くの成功パラメータが蓄積され、障害物が検出された場合には、上記成功パラメータを移動パラメータに付加して移動が制御されるので、離脱成功例を発展的に学習し、かつ学習した離脱成功例を移動に反映することが可能となる。
【０００７】
また本発明に係る移動ロボットの制御状態表示方法は、前記移動ロボットの制御状態を表示する表示手段を備えた移動ロボットの制御状態表示方法であって、前記表示手段は、前記センサ、前記成功パラメータを、それぞれ、センサニューロン、成功パラメータニューロンとしてニューロンの形で表示し、前記障害物が検出されている間、当該障害物を検出しているセンサニューロンと当該障害物の方向に関連付けられた成功パラメータとの間を線で結んで表示することを特徴としている。
【０００８】
この構成によれば、障害物を検出している間（センサが刺激されている間）、上記センサニューロンと上記成功パラメータとの間を線で結んで表示するので、神経細胞（ニューロン）を模した表示を実現できる。例えば、神経細胞の基本的な学習教材として有用である。
【発明を実施するための最良の形態】
【０００９】
（実施の形態）
以下、本発明の実施の形態について図面を用いて詳細に説明する。
図１は、移動ロボット１の外観図である。
同図に示すように、移動ロボット１は卵形をした筐体（装置本体）１０を備えている。
筐体１０の中央右部には右車輪１２、中央左部には左車輪１４、中央後部には補助輪１１が設けられている。
【００１０】
右車輪１２は、右車輪１２を回すモータやモータドライブからなる右駆動ユニット１３により駆動される。左車輪１４も同様の構成をした左駆動ユニット１５により駆動される。
筐体１０の前方には、３本の触角センサ１６，１８，２０が設けられている。触角センサ１６，１８，２０は、障害物との接触を感知するタッチセンサであり、触角センサ１６は右方に、触角センサ１８は前方（正面）に、触角センサ２０は左方に対応している。なお、タッチセンサに限らず赤外線センサを用いてもよい。
【００１１】
筐体１０の背中には、リセットボタン２２、移動ロボット１の動作を切り替えるOn/Offボタン２４が設けられている。
図２は、移動ロボット１の機能ブロック図である。
移動ロボット１は、センサ部３０、ニューラル制御部３２、駆動部３８の機能ブロックを備えている。
【００１２】
センサ部３０は、３本の触角センサ１６，１８，２０（図１参照）を含んでおり、移動ロボット１の外界の障害物を検出する。
ニューラル制御部３２は、ＣＰＵ３４、ＲＡＭ３５、ＲＯＭ３６を備えている。ＲＡＭ３５は、揮発性メモリであり、ＣＰＵ３４が実行する演算処理のための作業領域を提供すると共に、後述する走行履歴情報を一時的に蓄積する。ＲＯＭ３６は、不揮発性メモリであり、制御プログラムを記憶している。
【００１３】
駆動部３８は、制御部３２から受け取った命令に従って、駆動ユニット１３，１５を介して両車輪１２，１４を回転させる。
（制御プログラムの説明）
図３は、ＲＯＭ３６（図２参照）に記憶された制御プログラムが実行する移動に関する処理の基本的な内容を示すフローチャートである。
【００１４】
まず、ランダムな移動パラメータに基づいて移動ロボット１をランダムに移動させる（Ｓ１１：ランダム移動モード）。このようにランダムに移動させるのは、意外性のある動きをさせてユーザに飽きさせないようにするためである。
移動途上に障害物が検出されると（障害物に遭遇すると）、検出された方向に関する成功パラメータを検索し、検索されれば（Ｓ１２：Ｙｅｓ，Ｓ１３：Ｙｅｓ）、ランダムな移動パラメータに、成功パラメータを付加した合成パラメータに基づいて移動させる（Ｓ１４：障害物離脱モード）。検索された成功パラメータがない場合には（Ｓ１２：Ｙｅｓ，Ｓ１３：Ｎｏ）、ランダムな移動パラメータに基づく移動を継続させる。
【００１５】
障害物が検出された状態から、障害物を検出されない状態へと変わると（Ｓ１５：Ｙｅｓ）、ランダムな移動パラメータに基づく移動状態である場合には、そのときのランダムな移動パラメータを離脱に成功した方向（最後に障害物が検出された方向）に対応する成功パラメータとすると共に、合成パラメータに基づく移動状態である場合には、そのときの合成パラメータを同じく離脱に成功した方向に対応する成功パラメータとしてＲＡＭ３５に蓄積する（Ｓ１６）。
【００１６】
図４は、移動ロボット１の移動に関する信号の入出力関係を示す図である。
ＳＮＤ(Smart Neural Driver)は、センサ（Ｈ）、リセット入力信号（reset)と、ランダム信号生成部（Ｒ）から信号が入力されており、モータユニット（Ｍ）へモータの回転数に関する信号を出力する。
リセット入力信号（reset)は、記憶された走行履歴情報をリセットする信号であり、リセットボタン２２の押下により入力される。
【００１７】
ランダム信号生成部（Ｒ）は、数十秒に１回の割合でビットを立てる。ビットを立てた後は、時間減衰するように扱われることとなる。
モータユニットは、上述の右駆動ユニット１３と左駆動ユニット１５とから構成されており、車輪１２，１４を回転させる。
図５は、制御プログラムで扱う数式の定義を示す図である。図６は、制御プログラムで扱う式と値を示し、図６（ａ）の（設定１）〜（設定８）は、初期状態（動作開始時）における変数の初期設定値を示し、図６（ｂ）は、ＳＮＤ内のセルの状態式を示し、図６（ｃ）は、障害物からの離脱に成功を示す（条件式）と、条件を満たしたときに実行される（セル生成式）を示す。IF以下の条件を満たすと、then以下の式が実行される。
【００１８】
図６（ａ）における集合Ｈの要素｛１｝は右方の触角センサ１６に、要素｛２｝は前方の触角センサ１８に、要素｛３｝は左方の触角センサ２０に対応している。
集合Ｒの要素は、ＳＮＤに入力されるランダムな信号に対応している。
集合Ｍの要素の内、要素｛８，９｝は左車輪１４の回転数に、要素｛１０，１１｝は右車輪１２の回転数に対応している。
【００１９】
図６（ｂ）の（セル状態式）の、
【００２０】
【数１】
2007048081.tif 000003
【００２１】
の分母は、ｊ番目のセルが受信する信号の集合の要素の数であり、分子は、ｊ番目のセルにコネクションを有しているｉ番目のセルの総和となっている。例えばｊ番目のセルに、ランダムパラメータセル１つと成功パラメータセル１つと、２つのコネクションがあれば、２つのコネクションが相加平均されることとなる。
図６（ｃ）の（条件式）は、時間ｔ-１において、いずれかの触角セルの集合Ｈに含まれる要素が１であり、かつ、時間ｔにおいて、触角セルの集合Ｈに含まれる全ての要素が０である条件を示している。本実施の形態では、触角セルが検出されると０から１にビットを立てる構成である。この条件式は、右方、前方、左方のいずれかに検出されていた障害物からの離脱に成功した場合に条件を満たすこととなる。
【００２２】
この条件式の条件が満たされると（図３におけるＳ１５：Ｙｅｓに対応している。）、then以下のセル生成式が実行されて、離脱成功時の合成パラメータまたは移動パラメータが成功パラメータとして生成される。
（動作の具体例）
次に図７〜図９を参照して、移動ロボットの動作の具体的な例について説明する。
【００２３】
図７は、時間ｔ＝０からｔ＝ｔ2＋２までの、移動ロボットの走行履歴情報の遷移を示す表である。
走行履歴情報は、触角センサのon/offを示すセンサ（Ｈ）、移動に影響を与えるパラメータであるランダムな移動パラメータ（Ｒ）、モータに出力され、移動ロボット１の動作状態を作出するパラメータである出力パラメータ（Ｍ）、離脱成功の度に生成される成功パラメータ（Ｓ）を含んでいる。
【００２４】
また、図４，図５で示したように、センサ（Ｈ）及びランダムな移動パラメータ（Ｒ）は、ＳＮＤ外部からの入力信号としてｕtjを含んでいる。本実施の形態ではセンサ（Ｈ）における入力信号ｕtjと出力信号ｙtjは常に等しい。また、ランダムな移動パラメータ（Ｒ）は、数十秒に１回の割合でビットを立て、ビットを立てた後は、０．９倍ずつ時間減衰する。
【００２５】
また、出力パラメータ（Ｍ）のｙt8，ｙt9は左車輪１４の回転速度に対応し、ｙt10，ｙt11は右車輪１２の回転速度に対応している。
図８、図９は、時間ｔ＝０〜ｔ＝ｔ2＋１までの、部屋内を走行する移動ロボットを示す平面図であり、障害物である部屋の壁を斜線で示している。
本具体例での走行状況の遷移は次の（１）〜（７）の通りである。
【００２６】
（１）図８（ａ）、ｔ＝０・・・部屋内の走行を開始
（２）図８（ｂ）、ｔ＝ｔ1・・・右の触角センサ１６が壁を検出
（３）図８（ｃ）、ｔ＝ｔ1＋１・・・右と前方の触角センサ１６，１８が壁を検出
（４）図８（ｄ）、ｔ＝ｔ1＋２・・・右に回転し、左の触角センサ２０が壁を検出
（５）図９（ｅ）、ｔ＝ｔ1＋３・・・壁からの離脱に成功
（６）図９（ｆ）、ｔ＝ｔ2・・・再び左の触角センサ２０が壁を検出
（７）図９（ｇ）、ｔ＝ｔ2＋２・・・再び壁からの離脱に成功
（１）ｔ＝０においては、Ｃ3＝｛φ｝，Ｓ8＝｛４｝，Ｓ9＝｛５｝，Ｓ10＝｛６｝，Ｓ11＝｛７｝である。
【００２７】
（５）離脱に成功したｔ＝ｔ1＋３においては、上記（条件式）の条件を満たし、（セル生成式）の計算が実行され、３つの成功パラメータｙt12，ｙt13，ｙt14が生成され、離脱に成功した左の方向に関連付けて記憶されることとなる。
具体的には、最後に壁を検出していたのは左方向であるから、図６（ａ）の（条件式）においてｉ＝３となり、次に示すようにセル生成式が実行される。
【００２８】
ＮΩ＋１→ｊ  は、１１＋１＝１２→ｊ、
ＣiＵ｛ｊ｝→Ｃi  は、φＵ｛１２｝＝｛１２｝→Ｃ3
１→αj,i  は、１→α12,3
この３行の式は、１２番目のセルが生成され（ＮΩ＝１２となる。）、３番目のセルから１２番目のセルへのコネクション係数は１であることを示す。
【００２９】
そして、ｔ＝ｔ1＋３より１秒前のｔ＝ｔ1＋２においては、ｙt1+29＞０，ｙt1+211＞０であるから、for all〜 such that以下の式にｋ＝９，１１が代入され実行される。
すなわち、ｋ＝９が代入されて、
ＮΩ＋１→ｊ*  は、１２＋１＝１３→ｊ*
ＳkＵ｛ｊ*｝→Ｓk  は、Ｓ9Ｕ｛１３｝＝｛５，１３｝→Ｓ9
ｙt-1k→αj*,j  は、ｙt1+29＝０．９→α13,12
１→αk,j*  は、１→α9,13
この４行の式は、１３番目のセルが生成され（ＮΩ＝１３となる。）、１２番目のセルから１３番目のセルへのコネクション係数は０．９、１３番目のセルから９番目のセルへのコネクション係数は１であることを示す。
【００３０】
また、ｋ＝１１が代入されて、
ＮΩ＋１→ｊ*  は、１３＋１＝１４→ｊ*
ＳkＵ｛ｊ*｝→Ｓk  は、Ｓ11Ｕ｛１４｝＝｛７，１４｝→Ｓ11
ｙt-1k→αj*,j  は、ｙt1+211＝０．３９→α14,12
１→αk,j*  は、１→α11,14
このようにして、１４番目のセルが生成される（ＮΩ＝１４となる。）。
【００３１】
生成された３つのセルのコネクション係数（α）は再び左に壁を検出するまでは一旦無効化される。
（６）再び左の触角センサ２０に壁を検出したｔ＝ｔ2においては、上記コネクション係数が有効化され、出力パラメータ（Ｍ）は、ランダムな移動パラメータからのコネクション係数に、成功パラメータからのコネクション係数を付加した合成パラメータとなる。具体的には、セル状態式｛図６（ｂ）｝に従い、コネクション係数が相加平均されることとなる。
【００３２】
具体的には、
ｙt29＝（ｙt5×α9,5＋ｙt13×α9,13）／２＝（０．２３×１＋０．９×１）／２＝０．５７
ｙt211＝（ｙt7×α11,7＋ｙt14×α11,14）／２＝（０．１２×１＋０．３９×１）／２＝０．２６
となる。
【００３３】
（７）再び壁からの離脱に成功したｔ2＋２においては、（条件式）の条件を満たすので、（セル生成式）の計算が実行され、さらに３つの成功パラメータｙt15，ｙt16，ｙt17が生成され、離脱に成功した左の方向に関連付けて記憶されることとなる。
（制御状態の表示）
次に、移動ロボット１の制御状態の表示について説明する。この表示は、ＰＣ（personal computer）で動作する制御状態表示プログラムの実行によって、ＰＣに接続されたモニタの画面に表示して行われる。
【００３４】
図１０は、制御状態表示プログラムが実行する表示処理の処理内容を示すフローチャートである。図１１〜図１４は、制御状態の表示画面を示す図である。これらの図中に表示している時間ｔは、上述の具体例の時間に対応している。
図１１〜図１４にでは、上記ＳＮＤ内のセルを丸で表示しており、１番から３番がセンサセル、４番から７番までがランダムな移動パラメータセル、８番から１１番までのセルが出力パラメータセル、１２番以降の番号のセルが成功パラメータセルを示している。
【００３５】
図１０のフローチャートは大まかに言うと、図３に示した制御プログラムが実行する処理の視覚化を実現するためのフローである。
動作開始の初期状態においては、ランダムな移動パラメータセルと出力パラメータセルとの間のコネクションだけを線で結んで表示する（図１１参照）。
障害物が検出され、検出した方向に対応する成功パラメータセルが有れば（Ｓ２１：Ｙｅｓ，Ｓ２２：Ｙｅｓ）、コネクション係数に従って、検出した方向に対応するセンサセルと成功パラメータセルとの間、及び成功パラメータセルと出力パラメータセルとの間を線で結んで表示する（Ｓ２３，図１３参照）。
【００３６】
障害物からの離脱に成功すると（Ｓ２４：Ｙｅｓ）、結線を無効表示する。また、障害物に検出した方向（本具体例では左方）に対応する成功パラメータセル（１５番から１７番のセル）を新たに表示し、成功パラメータセルのコネクションを仮結線して表示する（Ｓ２５，図１２と図１４参照）。
以上説明した制御状態表示プログラムは、制御状態を視覚化するので制御プログラムの開発において用いることができる。また、特に障害物を検出している間、検出した方向に対応するセンサセルと、その方向に対応する成功パラメータセルを線で結んで表示するので、成功パラメータセル等のセルがニューロン（神経細胞）であるかの如き表示を実現することができる。
（その他）
１．発展的な学習形態について
本実施の形態では、壁からの離脱に成功すると、その度、新たに成功パラメータが生成されることとなる。
【００３７】
図６（ｂ）の（セル状態式）では、出力パラメータのコネクションが相加平均される。すなわち、成功パラメータセルの数が多くなるにつれて、コネクションを結んでいる出力パラメータに与える影響が大きくなる（出力パラメータに関する成功パラメータの重み付けが大きくなる。）。
このため、図１５（ａ）に示すように、初期状態における移動ロボットは壁に衝突した後、離脱するまで時間を要するが、それから所定時間経過すると、図１５（ｂ）に示すように、多数蓄積された成功パラメータを生かして、素早く壁から離脱する動きを実現することが可能となる。
２．成功パラメータについて
本実施の形態では、障害物からの離脱成功直前（ｔ＝ｔ1＋２）におけるパラメータを成功パラメータとしている。これは、成功直前のパラメータは成功の要因となったものと考えられるからである。もっとも、成功した瞬間（ｔ＝ｔ1＋３）におけるパラメータや、成功直前の所定時間のパラメータを平均化したものを成功パラメータとするようにしても構わない。
【００３８】
また、本実施の形態では、成功パラメータを離脱に成功した障害物の方向と関連付けて蓄積するようにしている。これは、方向と関連付けて蓄積すれば、次回以降、障害物を検出した場合に、より素早く離脱できると考えられるからである。もっとも、これに限らず、障害物の特徴と関連付けて蓄積してもよく、例えばセンサとして色センサーを用いて、成功パラメータを障害物の色と関連付けて蓄積するようにしても構わない。
【産業上の利用可能性】
【００３９】
本発明に係る移動ロボットは、移動途上に遭遇した障害物からの離脱成功例を発展的に学習し、かつ学習した離脱成功例を移動に反映することが可能であるので、ペット用や学習教材用の移動ロボットの用途に有用である。
【図面の簡単な説明】
【００４０】
【図１】移動ロボット１の外観図である。
【図２】移動ロボット１の機能ブロック図である。
【図３】制御プログラムが実行する移動に関する処理の基本的な内容を示すフローチャートである。
【図４】移動ロボット１の移動に関する信号の入出力関係を示す図である。
【図５】制御プログラムで扱う数式の定義を示す図である。
【図６】制御プログラムで扱う式と値を示す図であり、図６（ａ）は、初期状態（動作開始時）における変数の初期設定値を示し、図６（ｂ）は、ＳＮＤ内のセルの状態式を示し、図６（ｃ）は、障害物からの離脱に成功を示す（条件式）と、条件を満たしたときに実行される（セル生成式）を示す。
【図７】ｔ＝０からｔ＝ｔ2＋２までの、移動ロボットの走行履歴情報の遷移を示す表である。
【図８】ｔ＝０〜ｔ＝ｔ1＋２までの、部屋内を走行する移動ロボットを示す平面図である。
【図９】ｔ＝ｔ1＋３〜ｔ＝ｔ2＋２までの、部屋内を走行する移動ロボットを示す平面図である。
【図１０】制御状態表示プログラムが実行する表示処理の処理内容を示すフローチャートである。
【図１１】ｔ＝０に対応する制御状態の表示画面を示す図である。
【図１２】ｔ＝ｔ1＋３に対応する制御状態の表示画面を示す図である。
【図１３】ｔ＝ｔ2に対応する制御状態の表示画面を示す図である。
【図１４】ｔ＝ｔ2＋３に対応する制御状態の表示画面を示す図である。
【図１５】移動ロボットが発展して学習する様子を示す図であり、図１５（ａ）は初期状態を、図１５（ｂ）は初期状態から所定時間経過後の状態を示している。
【符号の説明】
【００４１】
１    移動ロボット
１０  筐体
１２  右車輪
１４  左車輪
１６  触角センサ（右方）
１８  触角センサ（前方）
２０  触角センサ（左方）
【図１】
2007048081.tif 000004
【図２】
2007048081.tif 000005
【図３】
2007048081.tif 000006
【図４】
2007048081.tif 000007
【図５】
2007048081.tif 000008
【図６】
2007048081.tif 000009
【図７】
2007048081.tif 000010
【図８】
2007048081.tif 000011
【図９】
2007048081.tif 000012
【図１０】
2007048081.tif 000013
【図１１】
2007048081.tif 000014
【図１２】
2007048081.tif 000015
【図１３】
2007048081.tif 000016
【図１４】
2007048081.tif 000017
【図１５】
2007048081.tif 000018