(57)【要約】【課題】マップ情報の精度が低い場合や誤差にあまり影響を受けずに、広い走行空間であっても少ない計算量でくまなく走行することができる自走式機器を提供する。【解決手段】機器本体１００の移動手段１０３と、走行のコントロール手段１０１ａと、電池１０５と、障害物検出手段１０２と、機器本体が到達していない領域を検出する未到達領域検出手段１０１ｂとを備え、障害物検出手段１０２の情報を利用して走行しながら、未到達領域検出手段１０１ｂによって走行位置付近の移動可能な未到達領域を検出し、未到達領域まで移動して機器本体の移動可能な空間をくまなく走行する。これによって、例えば、地図に誤差が含まれていた場合でもあまり影響を受けずに、また、例えば、広い空間であっても走行位置付近の移動可能な未到達領域のみを検索するために、少ない計算量で、機器本体の移動可能な空間をくまなく走行可能である。【選択図】図１
2008027267.tif 000002
【特許請求の範囲】
【請求項１】
機器本体を移動させる移動手段と、前記移動手段を操作して機器本体の走行をコントロールするコントロール手段と、機器本体に電力を供給する電池と、機器本体の周辺に存在する障害物を検出する障害物検出手段と、機器本体の移動した位置から機器本体が到達していない領域を検出する未到達領域検出手段とを備え、前記障害物検出手段の情報を利用して境界壁を沿うように走行しながら、前記未到達領域検出手段によって走行位置付近の移動可能な未到達領域を検出し、未到達領域まで移動して機器本体の移動可能な空間をくまなく走行する自走式機器。
【請求項２】
未到達領域検出手段によって検出する移動可能な未到達領域は、境界壁に対して垂直な方向に存在する障害物までの領域内である請求項１に記載の自走式機器。
【請求項３】
コントロール手段は、走行開始段階で機器本体を境界壁に沿いながら一周させ、未到達領域検出手段により検出に利用する走行空間の地図を作成する請求項１または２に記載の自走式機器。
【請求項４】
未到達領域への移動は、対面側の境界壁まで直進で移動する請求項１〜３のいずれか１項に記載の自走式機器。
【請求項５】
未到達領域への移動は、対面側の境界壁まで直進で移動した後さらに元の境界壁の位置まで直進移動する請求項４に記載の自走式機器。
【請求項６】
未到達領域への移動は、未到達領域を中心とした広めの領域へ移動する請求項１〜５のいずれか１項に記載の自走式機器。
【請求項７】
未到達領域検出手段の未到達領域を検出しなくなるまで、境界壁を沿うように移動しながら、未到達領域への移動を繰り返す請求項１〜６のいずれか１項に記載の自走式機器。
【請求項８】
境界壁を沿うように移動しながら境界壁を一周するまで、未到達領域への移動を繰り返す請求項１〜７のいずれか１項に記載の自走式機器。
【請求項９】
請求項１〜８のいずれか１項に記載の自走式機器における機能の少なくとも一部をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動的に屋内あるいは屋外を移動して清掃や巡回などの作業を行う自走式機器およびそのプログラムに関するものである。
【背景技術】
【０００２】
従来、この種の自走式機器は、自律走行する機器本体と、前記機器本体を任意の走行空間の境界壁に沿って周回走行させる走行制御手段と、前記機器本体が周回走行するときに、前記走行空間の大きさと形状を示すマップを作成するマッピング手段を備え、掃除対象となる部屋の内部をまず自らが周回し、事前に走行空間の大きさと形状を示すマップを作成し、このマップにしたがってジグザグ走行や螺旋走行を行って部屋全体の清掃を行っていた（例えば、特許文献１参照）。
【０００３】
また、従来、未到達領域を特定して未到達領域の中から適当な経路を探索するためには、グラフ理論的な方法や人工ポテンシャル法などが知られている（例えば、特許文献２参照）。
【特許文献１】特開平５−４６２３９号公報
【特許文献２】特開２００１−１５４７０６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、前記特許文献１参照の構成では、ジグザグ走行や螺旋走行を行った場合に、部屋の形状や障害物などの存在によっては未到達領域が生じ、障害物を移動させたり、取り除いて清掃し直したりする必要があった。さらに、センサの誤検知などにより作成したマップに多くの誤差が含まれる場合に、例えば、機器本体の位置が大幅にずれて到達目標位置まで移動できない場合に目標位置を探し続けるなど、機器本体の走行に影響を受けて誤動作する可能性があった。
【０００５】
また、前記特許文献２参照の構成では、未到達領域までの経路計算に多くの計算量を必要としていたため、多くの計算を処理する必要があり、地図が大きくなるに伴い計算量が莫大に増加することで、処理しきれなくなるという課題があった。
【０００６】
本発明は、前記従来の課題を解決するもので、マップ情報の精度が低い場合や誤差にあまり影響を受けずに、広い走行空間であっても少ない計算量でくまなく走行することができる自走式機器およびそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
前記従来の課題を解決するために、本発明の自走式機器は、機器本体を移動させる移動手段と、前記移動手段を操作して機器本体の走行をコントロールするコントロール手段と、機器本体に電力を供給する電池と、機器本体の周辺に存在する障害物を検出する障害物検出手段と、機器本体の移動した位置から機器本体が到達していない領域を検出する未到達領域検出手段とを備え、前記障害物検出手段の情報を利用して境界壁を沿うように走行しながら、前記未到達領域検出手段によって走行位置付近の移動可能な未到達領域を検出し、未到達領域まで移動して機器本体の移動可能な空間をくまなく走行するようにしたものである。
【０００８】
これによって、例えば、地図に誤差が含まれていた場合であってもあまり影響を受けずに、また、例えば、広い空間であっても走行位置付近の移動可能な未到達領域のみを検索するために、少ない計算量で、機器本体の移動可能な空間をくまなく走行させることができる。
【０００９】
また、本発明の自走式機器のプログラムは、自走式機器における機能の少なくとも一部をコンピュータに実行させるためのものであり、汎用的なコンピュータを用いて自走式機器の全てもしくは一部を容易に実現することができる。
【発明の効果】
【００１０】
本発明の自走式機器およびそのプログラムは、マップ情報の精度が低い場合や誤差にあまり影響を受けずに、広い走行空間であっても少ない計算量でくまなく走行することができる。
【発明を実施するための最良の形態】
【００１１】
第１の発明は、機器本体を移動させる移動手段と、前記移動手段を操作して機器本体の走行をコントロールするコントロール手段と、機器本体に電力を供給する電池と、機器本体の周辺に存在する障害物を検出する障害物検出手段と、機器本体の移動した位置から機器本体が到達していない領域を検出する未到達領域検出手段とを備え、前記障害物検出手段の情報を利用して境界壁を沿うように走行しながら、前記未到達領域検出手段によって走行位置付近の移動可能な未到達領域を検出し、未到達領域まで移動して機器本体の移動可能な空間をくまなく走行する自走式機器とすることにより、例えば、地図に誤差が含まれていた場合であってもあまり影響を受けずに、また、例えば、広い空間であっても走行位置付近の移動可能な未到達領域のみを検索するために、少ない計算量で、機器本体の移動可能な空間をくまなく走行させることができる。
【００１２】
第２の発明は、特に、第１の発明において、未到達領域検出手段によって検出する移動可能な未到達領域は、境界壁に対して垂直な方向に存在する障害物までの領域内であることにより、さらに単純な検索が行えるのでより少ない計算量で、移動可能な未到達領域を見つけることができる。
【００１３】
第３の発明は、特に、第１または第２の発明において、コントロール手段は、走行開始段階で機器本体を境界壁に沿いながら一周させ、未到達領域検出手段により検出に利用する走行空間の地図を作成することにより、境界壁沿いに一周した境界壁側は全て到達不可能な領域として考えることができるので、未到達な領域の探索範囲を絞り込むことができる。また、走行空間全体が把握できるので、どれだけ移動したのかを把握することができる。
【００１４】
第４の発明は、特に、第１〜第３のいずれか１つの発明において、未到達領域への移動は、対面側の境界壁まで直進で移動することにより、例えば、誤差のために地図と異なる場所を移動していたとしても、動作を完了させることができる。また、壁沿いから、壁に垂直な方向への直進移動を行うことで、ユーザは一目で未到達な領域への移動を行っていることを理解することができる。
【００１５】
第５の発明は、特に、第４の発明において、未到達領域への移動は、対面側の境界壁まで直進で移動した後さらに元の境界壁の位置まで直進移動することにより、例えば、誤差のために地図と異なる場所を移動していたとしても、スムーズに次の未到達領域まで壁沿い走行を継続することができる。
【００１６】
第６の発明は、特に、第１〜第５のいずれか１つの発明において、未到達領域への移動は、未到達領域を中心とした広めの領域へ移動することにより、例えば、地図と機器本体の実際の位置が誤差のため少しずれていたとしても、未到達領域へ移動することができる。
【００１７】
第７の発明は、特に、第１〜第６のいずれか１つの発明において、未到達領域検出手段の未到達領域を検出しなくなるまで、境界壁を沿うように移動しながら、未到達領域への移動を繰り返すことにより、走行空間内の未到達領域へくまなく移動させることができる。
【００１８】
第８の発明は、特に、第１〜第６のいずれか１つの発明において、境界壁を沿うように移動しながら境界壁を一周するまで、未到達領域への移動を繰り返すことにより、例えば、走行空間内の入り組んだ到達が困難な箇所以外の大半の領域を移動させることができ、適当な時間内に走行を終了させることができる。
【００１９】
第９の発明は、特に、第１〜第８のいずれか１つの発明における自走式機器の機能の少なくとも一部をコンピュータに実行させるためのプログラムにすることで、汎用的なコンピュータを用いて自走式機器の全てもしくは一部を容易に実現することができる。また、プログラムであるので、電気・情報機器、コンピュータ、サーバーなどのハードリソースを協働させて自走式機器の少なくとも一部を容易に実現することができる。また、記録媒体に記録したり通信回線を用いてプログラムを配信したりすることで、プログラムの配布・更新やそのインストール作業が簡単にできる。
【００２０】
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、この実施の形態によって本発明が限定されるものではない。
【００２１】
（実施の形態１）
図１〜図５は、本発明の実施の形態１における自走式機器を示している。
【００２２】
図１に示すように、機器本体１００は、少なくとも機器本体の走行制御および機器本体の移動した位置から未到達領域の検出を行うマイクロ・コンピュータ部１０１、機器本体の周辺に存在する障害物を検出する障害物検出手段１０２、機器本体を移動させる移動手段１０３、機器本体の位置や障害物の有無などの機器本体が走行する環境の情報であるマップ情報を記憶する記憶手段１０４、機器本体の駆動に必要な電力を供給する電池１０５により構成されている。
【００２３】
例えば、マイクロ・コンピュータ部１０１によって、移動手段１０３を制御することにより境界壁を沿うように周回走行を行い、機器本体の通過した位置の情報を記憶手段１０４に記憶しておくことで、境界壁を一周走行した後に引き続き境界壁を沿うように走行しながら、記憶手段１０４に記憶している位置情報から、走行位置付近の移動可能な未到達領域をマイクロ・コンピュータ部１０１で検出することで、未到達領域まで移動を行い機器本体の移動可能な空間をくまなく移動することができる。
【００２４】
以下に各構成部の詳細について説明する。
【００２５】
マイクロ・コンピュータ部１０１は、移動手段１０３を操作して機器本体１００の走行をコントロールするコントロール手段１０１ａと、機器本体１００の移動した位置から走行位置付近の移動可能な未到達領域を検出する未到達領域検出手段１０ｂとを備えている。このマイクロ・コンピュータ部１０１は、例えば、ＣＰＵ、メモリで構成されており、機器本体の動作をコントロールするために、移動手段１０３への制御信号を生成するものである。例えば、障害物検出手段１０２の情報を使って障害物との接触を回避するように駆動させることや、記憶手段１０４に蓄積しているマップ情報や位置情報と現在地点との相対関係から、目的の場所まで移動するための制御信号を生成する。
【００２６】
構成としては、他にも、ＣＰＵ、メモリを１つにした１チップマイコンや、ＦＰＧＡ、ＤＳＰなどの他の演算可能なものであっても構わない。また、ＨＤＤやＤＶＤやフラッシュメモリなどの記録装置と一緒に構成することで、メモリ容量を大量に利用するような複雑な処理をすることも可能にすることができる。さらに、無線ＬＡＮなどの通信装置と一緒に構成することで、機器本体１００と外部機器との通信が可能になり、蓄積しているデータの送信や、新たな制御パターンの受信など、さらに高度な処理を可能にすることができる。マイクロ・コンピュータ部１０１とすることで、移動手段１０３のコントロールには、移動手段として利用する装置にあわせて、ＰＷＭなどによる制御やシリアル通信による移動量の設定などのさまざまな形態の制御をさせることが可能である。
【００２７】
また、未到達領域の検出方法としては、例えば、記憶手段１０４に機器本体１００の到達位置および障害物検出手段１０２で検出した障害物の位置を記憶しておくことで、記憶していない位置を未到達の位置とすることができる。さらに、障害物で囲まれた空間は到達できない領域として処理することで、移動可能な未到達領域を絞り込むことができる。
【００２８】
また、機器本体１００の走行位置の算出方法については、移動手段１０３への命令から移動量を算出して求めることが可能であり、例えば、左右２輪の移動手段１０３を持つ機器本体１００の場合は、左右の駆動輪の速度設定と、設定経過時間から移動した距離と回転角度を算出することができる。さらに、移動手段１０３からのエンコーダパルスのように、駆動後の結果を受信することで、移動量の精度を高めることができる。さらに、加速度センサやジャイロのような他の装置と組み合わせることで、移動量の算出精度を高めることができる。
【００２９】
ここで、本実施の形態のマップ情報とは、例えば、図４に示しているセルと呼ぶＸ、Ｙ（縦横）座標上の四角形の位置毎に、機器本体到達の有無の情報や障害物の有無の情報やその他のセル位置毎に保存しておきたい情報を蓄えているセルの集合体である。また、位置情報とは、例えば、Ｘ、Ｙ（縦横）座標の情報や、セル位置の情報である。なお、本例ではマップ情報の例として、Ｘ、Ｙ軸として定義しているが、Ｘ、Ｙ、Ｚ（縦横高さ）座標による３次元系や、Ｒ、Θ（半径、角度）座標による角座標系や、ラプラス空間など他の空間座標系を利用しても構わない。さらに、ここでは未到達領域の検出方法として、マップ情報を利用した方法について説明を行ったが、他にも外部から未到達領域の位置を指定することや、走行空間に無線通信タグのような目印になるものを備え付けておくことで、目印から未到達の位置を検出することも可能である。
【００３０】
障害物検出手段１０２は、例えば、光の反射を利用して、障害物との距離を計測することが可能な測距センサや、超音波の反射を利用して、障害物との距離を計測することが可能な超音波センサや、障害物が機器本体に接触したときのスイッチ作動、あるいは電圧の変化を検出することで、接触を検出するバンパの役割をする接触センサなどによって構成することが可能である。なお、これらのセンサを機器本体に複数個組み込んでおくことで、各センサの特性上検出が困難な状態などであっても検出能力の相互補間を行うことができるので、検出精度を上げることが可能になる。他にも、ＣＣＤカメラなどの映像を取り込むセンサや、レーザ、電磁波、磁力などの性質を利用したセンサを障害物の検出を行う機能として利用することが可能である。
【００３１】
移動手段１０３は、例えば、２つのモータと２つの駆動輪を左右に水平に配置するように構成することで、マイクロ・コンピュータ部１０１からの制御信号によって、左右のモータの回転数を変化させることにより、駆動輪が動作して、機器本体１００が移動する。また、駆動輪に回転を検出するエンコーダを備えることで、左右の駆動輪のエンコーダで検出したパルス数をマイクロ・コンピュータ部１０１に伝えることで、移動量の算出精度を高めることができる。移動手段１０３は、モータと駆動輪の組み合わせ以外にも、複数のサーボモータを組み合わせた関節型のアクチュエータを組み合わせた２本足や４本足などの多足移動可能なものや、ホバークラフトのように風力を利用して移動するものや、リニアモータなど物理的な動作が可能なものであれば構わない。
【００３２】
記憶手段１０４は、情報を記憶する機能を有するものであり、例えば、ＳＤカードなどに代表されるフラッシュメモリや、ＣＰＵと組み合わせて利用するＤＤＲメモリやＳＲＡＭメモリや、ハードディスクや、光ディスクである。また、マイクロ・コンピュータ部１０１内に内蔵されているメモリを利用しても構わない。さらに、これらのメモリを複数組み合わせることで、例えば、機器本体１００から距離が近いマップ情報は、読み出し書き込み速度が速いメモリを使い、機器本体１００から距離が遠いマップ情報は、大容量のメモリを使うことで、高速性と大容量性を両立させる構成にすることも可能である。また、無線ＬＡＮや、Ｂｌｕｅｔｏｏｔｈなどの無線技術を利用することで、機器本体の外部に設けたメモリを利用することができる。さらに、メモリを複数の機器本体や、他の装置と共有して利用することで、共通のマップ情報を利用する構成にすることも可能である。
【００３３】
また、本実施の形態では、記憶手段１０４にマップ情報を記憶しておくことで、未到達領域の検出を行っているが、走行位置を記憶せずにセンサによる検知などの他の方法で未到達領域を検出する場合は、記憶手段１０４は無くても構わない。
【００３４】
電池１０５は、例えば、ニッケル水素２次電池にすることで、機器本体１００への電力の供給が可能である。他にも、機器本体１００への電力が供給可能なものであれば、アルカリ乾電池やオキシライド乾電池などの１次電池や、ニッケルカドミウム２次電池、リチウムイオン２次電池、リチウムポリマー２次電池、燃料電池などでも構わない。さらに、有線の電線を使って外部のＡＣ電源から電力を供給することや、マイクロウェーブを利用して外部から電力を供給するなど、機器本体が動作中に電力を供給できるものであれば構わない。
【００３５】
次に、図２の境界壁を沿うように走行して未到達領域へ移動するフローチャートおよび図４のマップ情報を用いた未到達領域への移動例に基づき、境界壁を沿うように走行しながらマップ情報を用いて走行位置付近の未到達領域を検出し、未到達領域へ移動する流れについて説明する。
【００３６】
ステップＳ２０１から動作が開始する。ステップＳ２０１では、障害物検出手段１０２で検出している障害物との距離を機器本体１００の左側面あるいは右側面から一定に保つようにマイクロ・コンピュータ部１０１で移動手段１０３の制御を行う。このように障害物との距離を一定に保ちながら走行することで、境界壁を沿うように走行することができる。境界壁を沿う走行を行いながらステップＳ２０２に動作を移行する。ステップＳ２０２では、マイクロ・コンピュータ部１０１で走行位置付近に未到達領域が存在するか判断する。例えば、図４に示すように、記憶手段１０４に記憶しているマップ情報ａから、現在の機器本体位置から半径１メートル以内の領域について未到達領域を検索ｃすることで、機器本体付近の未到達領域ｂを検出することができる。図４の例では（Ｘ３、Ｙ６）のセルが未到達であることを検出することができる。
【００３７】
このように、機器本体付近のみを検索することで、走行空間が広くマップ情報が大きい場合であっても、少ない計算量でかつ短時間で検索を完了させることが可能である。次に、未到達領域ｂを検出した場合は、ステップＳ２０３に動作を移行し、検出していない場合は、ステップＳ２０１へ動作を戻し境界壁を沿う走行を継続する。ステップＳ２０３では、マイクロ・コンピュータ部１０１にて移動手段１０３の制御を行い検出した未到達領域ｂへ移動する。例えば、未到達領域ｂまでまっすぐに直進を行う移動や、検出した実際の領域よりも広めの領域を走行するように蛇行するような移動など、移動可能な形態であればどのような移動であっても構わない。未到達領域ｂまで移動すると動作を完了させ、引き続きステップＳ２０１の境界壁を沿うように走行を行うことで、他の未到達領域へ移動することができる。
【００３８】
このように、境界壁を沿うように走行しながら、走行位置付近の未到達領域を移動することで、マップ情報に誤差が多く含まれていても、マップ情報を付近の未到達領域の検出のみに利用するため、走行にあまり影響を受けずに動作を継続することができる。さらに、マップ情報の機器本体位置の補正をコーナ位置や、タグ情報などを利用して行うことで、累積誤差を減らすこともできるので、より正確に未到達領域へ移動させることができる。また、未到達領域の検出は、機器本体位置付近のみの検索で済むため、少ない計算量で想定時間内に処理を終わらせることができる。さらに、機器本体の計算処理能力に合わせて未到達領域の検索範囲を広げたり狭めたりすることも可能である。
【００３９】
次に、図３の境界壁に対して垂直な方向の未到達領域へ移動するフローチャートおよび図５の境界壁に対して垂直な方向に検索する例に基づき、走行位置の境界壁に対して垂直な方向の未到達領域を検出することで、未到達領域へ移動する流れについて説明する。
【００４０】
ステップＳ３０１では、前記ステップＳ２０１と同様に、障害物検出手段１０２で検出している障害物との距離を一定に保つようにマイクロ・コンピュータ部１０１で移動手段１０３の制御を行う。境界壁を沿う走行を行いながらステップＳ３０２に動作を移行する。ステップＳ３０２では、走行位置の境界壁に対して垂直な方向に未到達領域が存在するか検索を行う。例えば、図５に示すように左側に境界壁が存在する場合、記憶手段１０４に記憶しているマップ情報ａを利用することで、機器本体の右側に存在するセルを１づつ調べて障害物ｄを検出するまで検索を行うことで、未到達領域ｂを検出することができる。
【００４１】
図５の例では、Ｙ６軸上のＸ２からＸ５の４つのセルを検索ｃすることで、Ｘ３とＸ４が未到達領域であることを検出することができる。次に、未到達領域ｂを検出した場合は、ステップＳ３０３に動作を移行し、検出していない場合は、ステップＳ３０１へ動作を戻し境界壁を沿う走行を継続する。ステップＳ３０３では、前記ステップＳ２０３同様にマイクロ・コンピュータ部１０１にて移動手段１０３の制御を行い検出した未到達領域ｂへ移動する。未到達領域ｂの検出範囲を境界壁に対して垂直な方向に絞り込むことで、より少ない計算量で検索を済ませることができる。また、図５に示したように、検索する方向に対して障害物を検出したところで検索を止めることで、実際に到達可能な未到達領域ｂのみを検出することができる。
【００４２】
また、本実施の形態の説明では、検索方向に障害物ｄを検出したところまで検索するとしているが、例えば、走行位置から１ｍ以内など一定距離まで境界壁に対して垂直に検索を行うことで、誤差を多く含む可能性の高い遠くに存在する未到達領域を省くことも可能である。
【００４３】
（実施の形態２）
図６は、本発明の実施の形態２における自走式機器が境界壁を一周したときの地図の例を示している。自走式機器の構成については、実施の形態１で説明した内容と同様であるので説明を省略する。
【００４４】
図に示すように、例えば、右下の走行開始点Ｓから右側に境界壁が存在した状態で、矢印の走行経路を走行した場合に、機器本体の位置を算出しながら境界壁を沿うように走行して同じＳの位置に戻ってきたところで、一周したことを検出することができる。また、境界壁を一周した後の状態において、内側（右壁沿いの場合は機器本体の進行方向に対して左側）はすべて未到達領域ｂであり、外側（右壁沿いの場合は機器本体の進行方向に対して右側）はすべて障害物ｄ（到達不可能な領域）であると判断することができる。
【００４５】
このように、走行開始段階に走行空間を一周しておくことで、未到達領域ｂを絞り込むことができる。実際は到達できないような空間へ移動しようとする動作を少なくすることができるため、より効率的に走行を行うことが可能となる。さらに、走行空間および未到達領域ｂの面積をおおよそ求めることができるので、進捗状況を把握することができる。例えば、走行空間の面積が１００平方メートルで、未清掃の面積が５０平方メートルであったとすると、現時点での未到達領域ｂの残量として５０％であることをユーザに知らせることが可能である。
【００４６】
（実施の形態３）
図７〜図９は、本発明の実施の形態３における自走式機器の移動例を示している。自走式機器の構成については、実施の形態１で説明した内容と同様であるので説明を省略する。
【００４７】
機器本体１００の未到達領域の方向へ直進移動する動作の流れは、図７のステップＳ７０１から開始する。ステップＳ７０１は、実施の形態１のステップＳ２０１と同様、障害物検出手段１０２で検出している障害物との距離を一定に保つようにマイクロ・コンピュータ部１０１で移動手段１０３の制御を行う。境界壁を沿う走行を行いながらステップＳ７０２に動作を移行する。
【００４８】
ステップＳ７０２では、実施の形態１のステップＳ３０２と同様、走行位置の境界壁に対して垂直な方向に未到達領域が存在するか検索を行う。未到達領域を検出した場合は、ステップＳ７０３に動作を移行し、検出していない場合は、ステップＳ７０１へ動作を戻し境界壁を沿う走行を継続する。
【００４９】
ステップＳ７０３では、図９のＡの矢印に示すように、ステップＳ７０２で検出した境界壁に対して垂直な方向に直進しステップＳ７０４に動作を移行する。ステップＳ７０４では、前方付近に直進を妨げる障害物ｄを検知しない場合は、ステップＳ７０３に動作を移行し前進走行を継続させる。障害物ｄを検出した場合は、ステップＳ７０１に動作を移行し次ぎの未到達領域を検出するまで、境界壁を沿うように走行を行う。
【００５０】
このように、前方付近に直進を妨げる障害物ｄを検知するまで前進することで、地図の誤差が大きい状態であっても、対面の境界壁や障害物ｄまで移動することができるので、最小限のマップ情報で動作を継続することが可能となる。また、境界壁を沿う走行と直進の走行は、簡単に見分けることができるため、ユーザが機器本体の動作が一目でどのような状態であるか理解することが可能である。
【００５１】
次に、機器本体１００の未到達領域への移動は対面側の境界壁まで直進で移動した後、さらに元の境界壁の位置まで直進移動する動作の流れは図８のステップＳ８０１から開始する。ステップＳ８０１は、実施の形態１のステップＳ２０１と同様、障害物検出手段１０２で検出している障害物との距離を一定に保つようにマイクロ・コンピュータ部１０１で移動手段１０３の制御を行う。境界壁を沿う走行を行いながらステップＳ８０２に動作を移行する。ステップＳ８０２では、実施の形態１のステップＳ３０２と同様、走行位置の境界壁に対して垂直な方向に未到達領域が存在するか検索を行う。未到達領域を検出した場合は、ステップＳ８０３に動作を移行し、検出していない場合は、ステップＳ８０１へ動作を戻し境界壁を沿う走行を継続する。
【００５２】
ステップＳ８０３では、図９のＡの矢印に示すように、ステップＳ８０２で検出した境界壁に対して垂直な方向に直進しステップＳ８０４に動作を移行する。ステップＳ８０４では、前方付近に直進を妨げる障害物ｄを検知しない場合は、ステップＳ８０３に動作を移行し前進走行を継続させる。障害物ｄを検出した場合は、ステップＳ８０５に動作を移行する。
【００５３】
ステップＳ８０５では、図９のＢの矢印に示すように、元の未到達領域を検知した位置の境界壁の方向へ１８０度反転し直進移動を行いステップＳ８０６へ動作を移行する。ステップＳ８０６では、ステップＳ８０４と同様、前方付近に直進を妨げる障害物を検知しない場合は、ステップＳ８０５に動作を移行し前進走行を継続させる。障害物を検出した場合は、ステップＳ８０１へ移行し、次ぎの未到達領域を検出するまで、境界壁を沿うように走行を行う。
【００５４】
このように、前方付近に直進を妨げる障害物を検知後にさらに元の位置まで直進で移動することで、同じ境界壁から沿う走行を継続することができるので、効率的に未到達領域へ順番に移動させることができる。また、前記同様にユーザが機器本体の動作を見るだけで現在の状況を簡単に把握しやすくできるという利点がある。
【００５５】
（実施の形態４）
図１０は、本発明の実施の形態４における自走式機器の移動例を示している。自走式機器の構成については、実施の形態１で説明した内容と同様であるので説明を省略する。
【００５６】
機器本体１００の未到達領域への移動は、未到達領域を中心とした広めの領域へ移動する。その移動後に元の境界壁まで戻る場合は図１０のＡの矢印に示すように未到達領域ｂの方向へ直進した後、図１０のＢの矢印に示すように進行方向へ移動を行い、図１０のＣの矢印に示すように元の境界壁まで戻る走行を行う。
【００５７】
このように、往復の走行位置をずらすことで、マップ情報に誤差が含まれていたとしても、往路あるいは復路でリカバリーできる確率を高めることが可能となる。他にも、未到達領域に到達した時点で、螺旋を描くように旋回走行を行うことや、未到達領域近傍から蛇行走行を行うことで、未到達付近の領域をより多く走行することができるので、未到達領域がマップ情報と実際の位置がずれていたとしても、カバーできる確率を高めることが可能となる。
【００５８】
（実施の形態５）
図１１は、本発明の実施の形態５における自走式機器の走行例を示している。自走式機器の構成については、実施の形態１で説明した内容と同様であるので説明を省略する。
【００５９】
本実施の形態における自走式機器は、未到達領域を検出しなくなるまで、境界壁を沿うように移動しながら、未到達領域への移動を繰り返すものである。
【００６０】
図に示すように、動作の流れはステップＳ１１０１から開始する。ステップＳ１１０１は、実施の形態１のステップＳ２０１と同様、障害物検出手段１０２で検出している障害物との距離を一定に保つようにマイクロ・コンピュータ部１０１で移動手段１０３の制御を行う。境界壁を沿う走行を行いながらステップＳ１１０２に動作を移行する。ステップＳ１１０２では、記憶手段１０４のマップ情報内に未到達領域が存在するか確認する。未到達領域が存在する場合は、ステップＳ１１０３へ動作を移行させ、未到達領域への移動を続ける。未到達領域が存在しない場合は、走行を完了させる。
【００６１】
ステップＳ１１０３では、実施の形態１のステップＳ２０２と同様、走行位置付近に未到達領域が存在するか検索を行う。未到達領域を検出した場合は、ステップＳ１１０４に動作を移行し、検出していない場合は、ステップＳ１１０１へ動作を戻し境界壁を沿う走行を継続する。ステップＳ１１０４では、実施の形態１のステップＳ２０３と同様、未到達領域へ移動を行い、ステップＳ１１０１へ動作を移行する。
【００６２】
このように、マップ情報内の未到達部分が無くなるまで境界壁を沿うように移動しながら未到達領域への移動を繰り返すことで、くまなく走行空間を移動することができるようになる。また、本実施の形態の説明では、マップ情報内に未到達領域が無くなるまでとしたが、さらに、例えば、机などで周囲を囲まれた未到達領域については、機器本体の位置と未到達の位置の間に障害物が必ず存在するので、到達可能であるかの判断を行うことで、到達不可能な未到達領域を除外することでより、スムーズにくまなく未到達領域へ移動することが可能となる。
【００６３】
（実施の形態６）
図１２は、本発明の実施の形態６における自走式機器の走行例を示している。自走式機器の構成については、実施の形態１で説明した内容と同様であるので説明を省略する。
【００６４】
本実施の形態における自走式機器は、機器本体１００が境界壁を沿うように移動しながら境界壁を一周するまで、未到達領域へ移動を繰り返すものである。
【００６５】
動作の流れは図のステップＳ１２０１から開始する。ステップＳ１２０１は、実施の形態１のステップＳ２０１と同様、障害物検出手段１０２で検出している障害物との距離を一定に保つようにマイクロ・コンピュータ部１０１で移動手段１０３の制御を行う。境界壁を沿う走行を行いながらステップＳ１２０２に動作を移行する。ステップＳ１２０２では、例えば、実施の形態２で説明したように、走行開始位置から境界壁沿いに一周したことを検知することで、一周を検知していない場合はステップＳ１２０３へ動作を移行させ、一周を検知した場合は、走行を完了させる。
【００６６】
ステップＳ１２０３では、実施の形態１のステップＳ２０２と同様、走行位置付近に未到達領域が存在するか検索を行う。未到達領域を検出した場合は、ステップＳ１２０４に動作を移行し、検出していない場合は、ステップＳ１２０１へ動作を戻し境界壁を沿う走行を継続する。ステップＳ１２０４では、実施の形態１のステップＳ２０３と同様、未到達領域へ移動を行い、ステップＳ１２０１へ動作を移行する。
【００６７】
このように、未到達領域への移動を行いながら、境界壁を沿うように一周したことを検知して走行を完了させることで、例えば、マップ情報が大きな誤差を含んで到達できない未到達領域が多く存在する場合であっても、ある程度の未到達領域への移動を行いながら、走行を完了させることが可能となる。また、残りの未到達領域へ実際に到達可能な箇所であるか判断する必要が無いため、より少ない計算量で動作を行うことが可能となる。
【００６８】
（実施の形態７）
次に、本発明の実施の形態７における自走式機器のプログラムについて説明する。
【００６９】
本実施の形態では、各実施の形態１〜６のいずれか１つ自走式機器における機能の少なくとも一部をコンピュータに実行させるためのプログラムとするものである。コンピュータを自走式機器の全てもしくは一部として機能させるためのプログラムにすることで、容易に汎用的なコンピュータを利用することができるようになり、さまざまな自走式機器のプラットフォームに対応させることが容易に可能となる。また、例えば、一部を汎用コンピュータで利用可能なプログラムにすることで、無線ＬＡＮなどの通信機能を用いて、汎用コンピュータと自走式機器を通信させて、マイクロ・コンピュータ部の走行の制御や、マップ情報の記憶手段を汎用のコンピュータ側で行うことにより、機器本体のＣＰＵやメモリといった機能の能力を削減することができるので、より安価に本機器を提供することが可能となる。さらに、汎用コンピュータに接続されているインターネットなどの外部との通信機能を介して、外出先からユーザが機器本体を操作することを可能にすることも容易に実現が可能となる。また、プログラムの形態であれば、磁気メディアや光メディアなどの記録媒体に記録したりインターネットなどの通信回路を用いて配信したりすることで新しい機能の配布・更新やそのインストール作業が簡単にできる。
【産業上の利用可能性】
【００７０】
以上のように、本発明にかかる自走式機器およびそのプログラムは、マップ情報の精度が低い場合や誤差にあまり影響を受けずに、広い走行空間であっても少ない計算量でくまなく走行することができるので、掃除ロボットや、監視ロボットや、コミュニケーションロボットや、家事ロボットや、草刈ロボットや、探索ロボットなどの自動的に目的の位置へ移動する機器に有用である。
【図面の簡単な説明】
【００７１】
【図１】本発明の実施の形態１における自走式機器の構成図
【図２】同自走式機器が境界壁を沿うように走行して未到達領域へ移動するフローチャート
【図３】同自走式機器が境界壁に対して垂直な方向の未到達領域へ移動するフローチャート
【図４】同自走式機器のマップ情報を用いた未到達領域への移動例を示す図
【図５】同自走式機器の境界壁に対して垂直な方向に検索する例を示す図
【図６】本発明の実施の形態２における自走式機器の境界壁を一周したときの地図の例を示す図
【図７】本発明の実施の形態３における自走式機器の未到達領域の方向へ直進移動する場合のフローチャート
【図８】同自走式機器の未到達領域の方向へ直進移動後さらに元の境界壁まで移動する場合のフローチャート
【図９】同自走式機器の未到達領域の方向へ直進移動後さらに元の境界壁まで移動する場合の例を示す図
【図１０】本発明の実施の形態４における自走式機器の進行方向へ移動後に元の境界壁まで戻る場合の例を示す図
【図１１】本発明の実施の形態５における自走式機器の未到達領域が無くなるまで走行するフローチャート
【図１２】本発明の実施の形態６における自走式機器の境界壁を一周するまで走行するフローチャート
【符号の説明】
【００７２】
１００  機器本体
１０１  マイクロ・コンピュータ部
１０１ａ  コントロール手段
１０１ｂ  未到達領域検出手段
１０２  障害物検出手段
１０３  移動手段
１０４  記憶手段
１０５  電池
【図１】
2008027267.tif 000003
【図２】
2008027267.tif 000004
【図３】
2008027267.tif 000005
【図４】
2008027267.tif 000006
【図５】
2008027267.tif 000007
【図６】
2008027267.tif 000008
【図７】
2008027267.tif 000009
【図８】
2008027267.tif 000010
【図９】
2008027267.tif 000011
【図１０】
2008027267.tif 000012
【図１１】
2008027267.tif 000013
【図１２】
2008027267.tif 000014