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