以下に、本発明をその実施形態を示す図面に基づいて詳述する。
(実施形態1)
図1は実施形態1に係るイオン発生装置の構成例を示す模式的平面図であり、図1(a)に上面を、図1(b)に下面をそれぞれ示している。
実施形態1に係るイオン発生装置1は、板状の基板上にイオン発生装置1を構成するハードウェア各部を搭載した装置本体10と、装置本体10の両側面に回転自在に対向して支持された車輪16,18と、車輪16,18を補助すべく装置本体10の下面に配置された補助輪19とを備えている。車輪16,18の回転軸は、図1における上下方向の軸であるため、イオン発生装置1は図1中の左側を前方として移動する。なお、以下では、図1(a),(b)中の左側を前方とし、図1(a)中の上側及び下側をそれぞれ右側及び左側として説明する。
装置本体10の前面は左右の角が切り欠かれており、左側の切欠面、前面及び右側の切欠面のそれぞれに、接触センサ(検出手段)12l,12f,12rが取り付けられている。また、装置本体10の前面の適宜箇所には2つのスプリング11a,11aが設けられており、これらを介してバンパ11が取り付けられている。これにより、イオン発生装置1が前進中に障害物に接触した場合、障害物に接触したバンパ11の接触位置の近傍に設けてある接触センサ12l(又は12f,12r)によりバンパ11が障害物から受けた荷重を検出することができる。
装置本体10の上面には、車輪16,18の回転軸上に車輪16,18のそれぞれを回転させるための駆動モータ15,17が搭載されており、駆動モータ15,17のそれぞれが車輪16,18を制御することにより車輪16,18を各別に回転させることができる。また、装置本体10の上面には、CPU又はMPU等からなる制御部を備えた主制御ユニット13、主制御ユニット13からの指示に従って駆動モータ15,17を制御する駆動制御ユニット14、バッテリ20、イオン発生装置1を構成するハードウェア各部にバッテリ20からの電源を供給し、バッテリ20への充電を制御する電源制御ユニット21、正イオン及び/又は負イオンを発生するイオン発生ユニット22等が搭載されている。
主制御ユニット13は、イオン発生装置1を本発明のイオン発生装置として動作させるために必要な各種の制御プログラムを予め格納してあるROM、RAM等を有しており、制御部がROMに格納されている制御プログラムをRAMに読み出して順次実行することにより、本発明のイオン発生装置としての動作を実現する。また、主制御ユニット13は、コンパクトフラッシュ(登録商標)カード(以下、CFカードという)13aへのアクセスが可能なリーダ・ライタを備えており、所定の挿入口から装着されたCFカード13aとの間でデータの読出し及び書込みを行なうことができる。
主制御ユニット13は、接触センサ12l,12f,12rと接続されており、接触センサ12l,12f,12rが検出したバンパ11に加えられた荷重を示す検出信号を取得し、取得した検出信号に基づいてイオン発生装置1の移動方向及び移動速度等を決定する。また、主制御ユニット13は、決定した移動方向及び移動速度等に従って駆動制御ユニット14を制御する。駆動制御ユニット(制御手段)14は、主制御ユニット13からの指示に従って駆動モータ15,17のそれぞれの回転速度及び回転方向等を制御する2つのモータドライバ(図示せず)を備えており、それぞれの駆動モータ15,17を適切に駆動させることによって車輪16,18を各別に適切な回転速度及び回転方向に回転させることができる。
イオン発生ユニット22は、図示していないが、例えば、一方の端部が閉じられた円筒状の誘電体であるガラス管の外周面に沿って接地電極が配置され、内周面に沿って印加電極が配置されて構成されている。印加電極には高周波回路が接続されており、接地電極を接地電位として印加電極には高周波回路により交流電圧が印加される。印加電極に交流高電圧が印加されると、メッシュ状の接地電極の端面が強電界になり、接地電極からプラズマ放電が生じ、これが空気中の酸素及び水蒸気を電離してイオンを発生させる。
上述した構成のイオン発生装置1において、ハードウェア各部は電源制御ユニット21から供給されるバッテリ20からの電力によって動作しており、主制御ユニット13が、接触センサ12l,12f,12rから出力される検出信号に従ってイオン発生装置1の移動方向及び移動速度を決定し、決定した移動方向及び移動速度に従って駆動制御ユニット14を制御する。また、駆動制御ユニット14が、主制御ユニット13からの指示に従って駆動モータ15,17を適切に駆動させて車輪16,18を適切な回転速度及び回転方向に回転させることにより、イオン発生装置1が障害物を回避しながら適切に移動することができる。
以下に、上述した構成のイオン発生装置1による室内での移動動作について説明する。図2は実施形態1に係るイオン発生装置1による移動動作の際の主制御ユニット13による処理の手順を示すフローチャートである。なお、以下の処理は、主制御ユニット13に内蔵されたROMに格納されている制御プログラムに従って主制御ユニット13が上述したようなハードウェア各部を制御することにより実行される。
イオン発生装置1は、図示しないスタートボタンをユーザが操作することにより電源制御ユニット21によってバッテリ20からの電力がハードウェア各部へ供給されて動作を開始する。動作を開始したイオン発生装置1において、主制御ユニット13は、イオン発生ユニット22によるイオンの発生処理を開始させると共に、接触センサ12l,12f,12rからの検出信号の取得を開始する。
主制御ユニット13は、接触センサ12fからの検出信号に基づいて前方に障害物が有るか否かを判断する(S1)。主制御ユニット13は、前方に障害物が無いと判断した場合(S1:NO)、駆動制御ユニット14によって駆動モータ15,17を介して車輪16,18の回転方向を適切に制御することによりイオン発生装置1を進行方向に前進させる(S2)。
主制御ユニット13は、前方に障害物が有ると判断した場合(S1:YES)、接触センサ12rからの検出信号に基づいて右側に障害物が有るか否かを判断する(S3)。主制御ユニット13は、右側に障害物が無いと判断した場合(S3:NO)、駆動制御ユニット14によって駆動モータ15,17を介して車輪16,18の回転方向を適切に制御することによりイオン発生装置1を右へ方向転換(右折)させ、更に右折した後に前進させる(S4)。
主制御ユニット13は、ステップS1へ処理を戻し、前方及び右側に障害物が有ると判断した場合(S3:YES)、接触センサ12lからの検出信号に基づいて左側に障害物が有るか否かを判断する(S5)。主制御ユニット13は、左側に障害物が無いと判断した場合(S5:NO)、駆動制御ユニット14によって駆動モータ15,17を介して車輪16,18の回転方向を適切に制御することによりイオン発生装置1を左へ方向転換(左折)させ、更に左折した後に前進させる(S6)。
主制御ユニット13は、ステップS1へ処理を戻し、前方、右側及び左側に障害物が有ると判断した場合(S5:YES)、駆動制御ユニット14によって駆動モータ15,17を介して車輪16,18の回転方向を適切に制御することによりイオン発生装置1を後方へ後退させる(S7)。主制御ユニット13は、接触センサ12rからの検出信号に基づいて右側に障害物が有るか否かを判断し(S8)、右側に障害物が無くなるまで後退を継続する。即ち、主制御ユニット13は、右側に障害物が有ると判断した場合(S8:YES)、後退を継続し(S7)、右側に障害物が無いと判断した場合(S8:NO)、駆動制御ユニット14によって駆動モータ15,17を介して車輪16,18の回転方向を適切に制御することによりイオン発生装置1を右折させ、更に右折した後に前進させる(S9)。
主制御ユニット13は、図示しないストップボタンをユーザが操作することにより電源制御ユニット21によるハードウェア各部への電力供給の終了等によって、上述した処理の終了が指示されたか否かを判断しており(S10)、終了が指示されていない場合(S10:NO)、ステップS1へ処理を戻し、上述したステップS1〜S9までの処理を繰り返す。主制御ユニット13は、上述した処理の終了が指示されたと判断した場合(S10:YES)、処理を終了してイオン発生装置1を停止させる。
上述したように、主制御ユニット13は、接触センサ12l,12f,12rからの検出信号に基づいて前方の障害物との接触を検出しているので、前方の障害物と接触した場合にイオン発生装置1を障害物の無い方向へ方向転換させて周囲の障害物を回避しながら室内の隅まで移動させることができる。これにより、イオン発生ユニット22のイオン放出口から室内の隅までの距離が短くなり、室内の空気を清浄化するために必要な量のイオンを室内の隅々に散布することができる。また、イオン発生装置1は、例えばベッドの下のように従来の固定式のイオン発生装置ではイオンが到達できなかった空間にも入り込めるので、家具の隙間にも効率よくイオンを散布することができる。
上述した実施形態1では、イオン発生装置1を移動させる構成として2つの車輪16,18と補助輪19とを備えた構成について説明したが、装置本体10に取り付けられる車輪の数は3つに限定されるものではなく、イオン発生装置1の使用が想定される室内の状況を考慮した数の車輪を備えればよい。また、車輪に限られず、例えばクローラを用いて移動する構成とすることもできる。
(実施形態2)
以下に、実施形態2におけるイオン発生装置について詳述する。なお、本実施形態2のイオン発生装置1は、上述した実施形態1のイオン発生装置1と同様の構成を有しており、同様の構成については同一の符号を付して説明を省略する。図3は実施形態2に係るイオン発生装置の構成例を示す模式的平面図であり、図3(a)に上面を、図3(b)に下面をそれぞれ示している。
実施形態2に係るイオン発生装置1は、図1で示す各構成のほかに、装置本体10の左側面に左側の障害物までの距離を検出する超音波センサ23lと、装置本体10の上面に前方の障害物までの距離を検出する超音波センサ23fと、装置本体10の右側面に右側の障害物までの距離を検出する超音波センサ23rと、装置本体10の下面に移動軌跡を追跡する光学式路面センサ(追跡手段)24とを備えている。
主制御ユニット13は、超音波センサ(検出手段)23l,23f,23rと接続されており、超音波センサ23l,23f,23rがそれぞれ検出したイオン発生装置1の左側、前方及び右側の障害物までの距離を示す検出信号と、接触センサ12l,12f,12rからの検出信号とに基づいてイオン発生装置1の移動方向及び移動速度等を決定する。
また、主制御ユニット13は、光学式路面センサ24と接続されており、光学式路面センサ24が検出した移動軌跡を示す検出信号と、超音波センサ23l,23f,23rが検出した障害物までの距離を示す検出信号とに基づいて、障害物を回避した移動経路(走行路)を作成する作成手段として動作する。従って、主制御ユニット13は、作成した走行路上を走行するように駆動制御ユニット14を制御し、駆動制御ユニット14は、主制御ユニット13からの指示に従って駆動モータ15,17のそれぞれの回転速度及び回転方向等を制御する。
具体的には、主制御ユニット13は、イオン発生装置1が未知の環境で移動を行なう場合、即ち、室内において障害物を回避した走行路を作成する場合、接触センサ12l,12f,12rからの検出信号及び超音波センサ23l,23f,23rからの検出信号に基づいて、周囲の障害物から例えば20cm程度の距離を隔てて走行するように駆動制御ユニット14を制御する。そして、障害物に対して例えば15cm以下まで接近した場合には障害物から離れる方向へ走行し、障害物に対して例えば25cm以上離れた場合には障害物に近付く方向へ走行するように駆動制御ユニット14を制御する。
このような主制御ユニット13からの制御に従って駆動制御ユニット14が駆動モータ15,17を適切に駆動させることにより、イオン発生装置1は、障害物からの距離を15cm〜25cmに維持しつつ室内の隅々まで移動することができる。従って、障害物からの距離を15cm〜25cmに維持しつつ移動するイオン発生装置1において、主制御ユニット13は、光学式路面センサ24が検出する移動軌跡上の各位置を原点(現在位置)として、超音波センサ23l,23f,23rからのサンプリングデータをアフィン変換することにより角度データを反映させ、ワールド座標系での障害物の位置、形状情報を示す障害物情報を作成する。
図4は障害物情報を示す模式図である。図4中x又はyで示す方向をそれぞれ主制御ユニット13が作成した障害物情報におけるx軸又はy軸として示す。図4においては、中央位置に光学式路面センサ24が検出した移動軌跡に従った走行路Rが示されており、走行路Rの周囲を取り囲むように障害物S1,S2,S3,S4が存在することが分かる。このような障害物情報によって、走行路Rだけでなく室内における家具の配置及び壁面の正確な位置情報を取得することができる。
なお、主制御ユニット13は、光学式路面センサ24からの検出信号に基づいて、車輪16,18のスリップによる走行位置のずれを検出する位置ずれ検出手段としても動作しており、走行位置のずれを検出した場合、検出したずれを補正した障害物情報を生成する。これにより、より正確な障害物の位置情報を生成することができるので、より確実に障害物を回避した走行路を作成することができる。
ここで、光学式路面センサ24は0.01秒毎(100Hz)にサンプリングデータを取得し、超音波センサ23l,23f,23rは光学式路面センサ24のサンプリングのタイミングに同期して0.05秒毎(20Hz)にサンプリングデータを取得する。主制御ユニット13は、これらのセンサから取得した検出信号を平滑化して0.1秒毎(10Hz)の基準時間サンプリングデータを生成する。このとき、イオン発生装置1の移動速度を10cm/秒とすると、10Hzのサンプリングにより得られる障害物のサンプリング精度は1mmとなる。
従って、主制御ユニット13は、1mm精度で得られた図4に示す障害物情報に対して、10cm角の升目に圧縮する処理を行なって各10cm角の升目を基準セルとした障害物情報を生成し、図5に示すような障害物情報を取得する。なお、図5は室内を20×20セルに分割して各セル上に障害物が有るか否かを示している。また、イオン発生装置1は、各セル単位で移動するように制御される。
図5に示すような障害物情報を取得した主制御ユニット13は、障害物情報が示す家具及び壁面等の障害物を回避した走行路を作成する。具体的には、主制御ユニット13は、図5に示す障害物情報が示す障害物から所定数のセルを隔てた位置を走行路として選択する。本実施形態では、主制御ユニット13は、障害物から2セルを隔てた位置のセルを選択していき、図6に示すような走行路情報Rを取得する。なお、障害物から隔てるセルの数は2に限られず1つであってもよく、図4に示すように各センサからの検出信号に基づいて生成された障害物情報に対して行なう圧縮処理の圧縮率に応じて変更すればよい。
図6に示す走行路情報Rは、主制御ユニット13に内蔵されたRAM内では、図7に示すような走行路テーブルとして記憶される。図7に示す走行路テーブルでは、x座標及びy座標で示される各セルに対応して、各セル上に到達した場合の次の進行方向が登録されている。なお、進行方向は、現在の進行方向に対して直進を“0”とし、右折を“2”とし、後退を“4”とし、左折を“6”として表現してある。
このような走行路テーブルを有する主制御ユニット13は、イオン発生装置1が位置するセルの座標に基づいて、進行方向を変更すべきか否かを判断し、必要に応じて進行方向を変更することによって障害物を回避しつつ室内の隅々まで移動することができる。
以下に、上述した構成のイオン発生装置1による走行路情報Rの作成処理について説明する。イオン発生装置1が未知の室内環境で起動された場合、主制御ユニット13は、まず、室内における障害物を回避した走行路を作成するために、接触センサ12l,12f,12rからの検出信号及び超音波センサ23l,23f,23rからの検出信号に基づいて、周囲の障害物から20cm程度の距離を隔てて走行するように駆動制御ユニット14を制御する。
図8は実施形態2に係るイオン発生装置1による移動動作の際の主制御ユニット13による処理の手順を示すフローチャートである。なお、以下の処理は、主制御ユニット13に内蔵されたROMに格納されている制御プログラムに従って主制御ユニット13が上述したようなハードウェア各部を制御することにより実行される。また、ここでは、イオン発生装置1は障害物に対して15cm以上の間隔を維持して移動することとし、以下のような移動処理と並行して、主制御ユニット13は各センサからの検出信号を取得する。
イオン発生装置1は、図示しないスタートボタンをユーザが操作することにより電源制御ユニット21によってバッテリ20からの電力がハードウェア各部へ供給されて動作を開始する。動作を開始したイオン発生装置1において、主制御ユニット13は、イオン発生ユニット22によるイオンの発生処理を開始させると共に、超音波センサ23l,23f,23r及び接触センサ12l,12f,12rからの検出信号の取得を開始する。なお、以下では、主制御ユニット13が超音波センサ23l,23f,23rからの検出信号に基づいて周囲の障害物との距離を計測する構成について説明するが、接触センサ12l,12f,12rからの検出信号に基づいて周囲の障害物との接触状況も検出することにより、高速な移動体との接触も検知することができる。
主制御ユニット13は、超音波センサ23fからの検出信号に基づいて前方の障害物との距離を計測しており、前方の障害物との距離が15cm以下であるか否かを判断する(S11)。主制御ユニット13は、前方の障害物との距離が15cm以下でないと判断した場合(S11:NO)、駆動制御ユニット14によって駆動モータ15,17を介して車輪16,18の回転方向を適切に制御することによりイオン発生装置1を進行方向に前進させる(S12)。
主制御ユニット13は、前方の障害物との距離が15cm以下であると判断した場合(S11:YES)、超音波センサ23rからの検出信号に基づいて右側の障害物との距離が15cm以下であるか否かを判断する(S13)。主制御ユニット13は、右側の障害物との距離が15cm以下でないと判断した場合(S13:NO)、駆動制御ユニット14によって駆動モータ15,17を介して車輪16,18の回転方向を適切に制御することによりイオン発生装置1を右折させ、更に右折した後に前進させる(S14)。
主制御ユニット13は、ステップS11へ処理を戻し、前方及び右側の障害物との距離が15cm以下であると判断した場合(S13:YES)、超音波センサ23lからの検出信号に基づいて左側の障害物との距離が15cm以下であるか否かを判断する(S15)。主制御ユニット13は、左側の障害物との距離が15cm以下でないと判断した場合(S15:NO)、駆動制御ユニット14によって駆動モータ15,17を介して車輪16,18の回転方向を適切に制御することによりイオン発生装置1を左折させ、更に左折した後に前進させる(S16)。
主制御ユニット13は、ステップS11へ処理を戻し、前方、右側及び左側の障害物との距離が15cm以下であると判断した場合(S15:YES)、駆動制御ユニット14によって駆動モータ15,17を介して車輪16,18の回転方向を適切に制御することによりイオン発生装置1を後方へ後退させる(S17)。主制御ユニット13は、超音波センサ23rからの検出信号に基づいて右側の障害物との距離が15cm以下であるか否かを判断し(S18)、右側の障害物との距離が15cm以下でなくなるまで後退を継続する。即ち、主制御ユニット13は、右側の障害物との距離が15cm以下であると判断した場合(S18:YES)、後退を継続し(S17)、右側の障害物との距離が15cm以下でないと判断した場合(S18:NO)、駆動制御ユニット14によって駆動モータ15,17を介して車輪16,18の回転方向を適切に制御することによりイオン発生装置1を右折させ、更に右折した後に前進させる(S19)。
主制御ユニット13は、図示しないストップボタンをユーザが操作することにより電源制御ユニット21によるハードウェア各部への電力供給の終了等によって、上述した処理の終了が指示されたか否かを判断しており(S20)、終了が指示されていない場合(S20:NO)、ステップS11へ処理を戻し、上述したステップS11〜S19までの処理を繰り返す。主制御ユニット13は、上述した処理の終了が指示されたと判断した場合(S20:YES)、処理を終了してイオン発生装置1を停止させる。
上述したように、障害物から15cm以上の距離を維持した走行を行なうイオン発生装置1において、主制御ユニット13は、光学式路面センサ24及び超音波センサ23l,23f,23rからの検出信号を順次取得し、取得した検出信号に基づいて、図4に示すような障害物情報を作成する。そして、主制御ユニット13は、図4に示す障害物情報に所定の圧縮率の圧縮処理を行ない、図5に示すように、室内を20×20セルに分割して各セル上に障害物が有るか否かを示す障害物情報を作成する。
以下に、図5に示す障害物情報を取得したイオン発生装置1による走行路情報Rの生成処理について説明する。図9乃至図11はイオン発生装置1による走行路情報Rの生成処理の手順を示すフローチャートである。なお、以下の処理は、主制御ユニット13に内蔵されたROMに格納されている制御プログラムに従って主制御ユニット13が上述したようなハードウェア各部を制御することにより実行される。また、ここでは、障害物から2セルを隔てた位置のセルを走行路とする。
主制御ユニット13は、障害物情報に基づいて走行路情報Rを生成する場合、制御部内のx座標レジスタ及びy座標レジスタの値を0に初期化する(S21)。なお、図9乃至図11のフローチャートにおいてはx座標レジスタの値を“x”、y座標レジスタの値を“y”、各セルを“セル(x,y)”として表示してある。また、各セル(x,y)のセル状況は、障害物が有る場合はセル(x,y)=2、障害物が無い場合はセル(x,y)=0、走行路として設定された場合はセル(x,y)=1として主制御ユニット13に内蔵されたRAMに格納される。
主制御ユニット13は、セル(x,y)上に障害物が有るか否か、即ちセル(x,y)=2であるか否かを判断する(S22)。ここでは、x=0、y=0であるのでセル(0,0)=2であるか否かを判断する。主制御ユニット13は、セル(x,y)=2でないと判断した場合(S22:NO)、ステップS45まで処理をスキップし、セル(x,y)=2であると判断した場合(S22:YES)、セル(x+3,y)上に障害物が有るか否か、即ちセル(x+3,y)=2であるか否かを判断する(S23)。主制御ユニット13は、セル(x+3,y)=2でないと判断した場合(S23:NO)、セル(x+3,y)を走行路に指定し(S24)、セル(x+3,y)=1をRAMに格納する。
主制御ユニット13は、セル(x+3,y)=2であると判断した場合(S23:YES)、ステップS24の処理をスキップし、セル(x+3,y+1)上に障害物が有るか否か、即ちセル(x+3,y+1)=2であるか否かを判断する(S25)。主制御ユニット13は、セル(x+3,y+1)=2でないと判断した場合(S25:NO)、セル(x+3,y+1)を走行路に指定し(S26)、セル(x+3,y+1)=1をRAMに格納し、セル(x+3,y+1)=2であると判断した場合(S25:YES)、ステップS26の処理をスキップする。
主制御ユニット13は、セル(x,y+3)上に障害物が有るか否か、即ちセル(x,y+3)=2であるか否かを判断し(S27)、セル(x,y+3)=2でないと判断した場合(S27:NO)、セル(x,y+3)を走行路に指定し(S28)、セル(x,y+3)=1をRAMに格納する。また、主制御ユニット13は、セル(x,y+3)=2であると判断した場合(S27:YES)、ステップS28の処理をスキップし、セル(x+1,y+3)上に障害物が有るか否か、即ちセル(x+1,y+3)=2であるか否かを判断する(S29)。
主制御ユニット13は、セル(x+1,y+3)=2でないと判断した場合(S29:NO)、セル(x+1,y+3)を走行路に指定し(S30)、セル(x+1,y+3)=1をRAMに格納し、セル(x+1,y+3)=2であると判断した場合(S29:YES)、ステップS30の処理をスキップする。
次に主制御ユニット13は、セル(x+1,y)が走行路に指定されているか否か、即ちセル(x+1,y)=1であるか否かを判断し(S31)、セル(x+1,y)=1であると判断した場合(S31:YES)、セル(x+1,y)を走行路から除去し(S32)、セル(x+1,y)=0をRAMに格納する。主制御ユニット13は、セル(x+1,y)=1でないと判断した場合(S31:NO)、ステップS32の処理をスキップし、セル(x,y+1)が走行路に指定されているか否か、即ちセル(x,y+1)=1であるか否かを判断する(S33)。
主制御ユニット13は、セル(x,y+1)=1であると判断した場合(S33:YES)、セル(x,y+1)を走行路から除去し(S34)、セル(x,y+1)=0をRAMに格納し、セル(x,y+1)=1でないと判断した場合(S33:NO)、ステップS34の処理をスキップする。また主制御ユニット13は、セル(x+1,y+1)が走行路に指定されているか否か、即ちセル(x+1,y+1)=1であるか否かを判断し(S35)、セル(x+1,y+1)=1であると判断した場合(S35:YES)、セル(x+1,y+1)を走行路から除去し(S36)、セル(x+1,y+1)=0をRAMに格納する。
主制御ユニット13は、セル(x+1,y+1)=1でないと判断した場合(S35:NO)、ステップS36の処理をスキップし、セル(x+2,y)が走行路に指定されているか否か、即ちセル(x+2,y)=1であるか否かを判断する(S37)。主制御ユニット13は、セル(x+2,y)=1であると判断した場合(S37:YES)、セル(x+2,y)を走行路から除去し(S38)、セル(x+2,y)=0をRAMに格納し、セル(x+2,y)=1でないと判断した場合(S37:NO)、ステップS38の処理をスキップする。
更に主制御ユニット13は、セル(x+2,y+1)が走行路に指定されているか否か、即ちセル(x+2,y+1)=1であるか否かを判断し(S39)、セル(x+2,y+1)=1であると判断した場合(S39:YES)、セル(x+2,y+1)を走行路から除去し(S40)、セル(x+2,y+1)=0をRAMに格納する。主制御ユニット13は、セル(x+2,y+1)=1でないと判断した場合(S39:NO)、ステップS40の処理をスキップし、セル(x,y+2)が走行路に指定されているか否か、即ちセル(x,y+2)=1であるか否かを判断する(S41)。
主制御ユニット13は、セル(x,y+2)=1であると判断した場合(S41:YES)、セル(x,y+2)を走行路から除去し(S42)、セル(x,y+2)=0をRAMに格納し、セル(x,y+2)=1でないと判断した場合(S41:NO)、ステップS42の処理をスキップする。また主制御ユニット13は、セル(x+1,y+2)が走行路に指定されているか否か、即ちセル(x+1,y+2)=1であるか否かを判断し(S43)、セル(x+1,y+2)=1であると判断した場合(S43:YES)、セル(x+1,y+2)を走行路から除去し(S44)、セル(x+1,y+2)=0をRAMに格納する。
主制御ユニット13は、セル(x+1,y+2)=1でないと判断した場合(S43:NO)、ステップS44の処理をスキップし、x座標レジスタの値を1だけインクリメントし(S45)、x座標レジスタの値が20より大きいか否かを判断する(S46)。主制御ユニット13は、x座標レジスタの値が20より大きくないと判断した場合(S46:NO)、ステップS22へ処理を戻し、ステップS22〜S45の処理を繰り返す。また、主制御ユニット13は、x座標レジスタの値が20より大きいと判断した場合(S46:YES)、x座標レジスタの値を0に初期化すると共にy座標レジスタの値を1だけインクリメントし(S47)、y座標レジスタの値が20より大きいか否かを判断する(S48)。
主制御ユニット13は、y座標レジスタの値が20より大きくないと判断した場合(S48:NO)、ステップS22へ処理を戻し、ステップS22〜S47の処理を繰り返し、y座標レジスタの値が20より大きいと判断した場合(S48:YES)、上述した処理を終了する。
上述したように、障害物が存在する各セルから隣接する2セルを隔てた位置の各セルを走行路として選択することにより、イオン発生装置1が確実に障害物を回避しつつ室内の隅々まで移動することができる走行路を決定することができる。また、主制御ユニット13はRAMに記憶された各セル(x,y)のセル状況に基づいて、図7に示す走行路テーブルを作成し、作成した走行路テーブルを参照しながら、光学式路面センサ24及び超音波センサ23l,23f,23rからの検出信号から算出した現在位置に基づいて、イオン発生装置1が障害物を回避しつつ室内を移動するように制御する。
以下に、走行路テーブルに従ったイオン発生装置1の移動動作について説明する。図12はイオン発生装置1による移動動作の際の主制御ユニット13による処理の手順を示すフローチャートである。なお、以下の処理は、主制御ユニット13に内蔵されたROMに格納されている制御プログラムに従って主制御ユニット13が上述したようなハードウェア各部を制御することにより実行される。
イオン発生装置1において、上述したような走行路テーブルを作成した場合、又は図示しないスタートボタンがユーザによって操作された場合、主制御ユニット13は、光学式路面センサ24及び超音波センサ23l,23f,23rからの検出信号に基づいて、室内における現在位置を検出する(S51)。なお、主制御ユニット13は、室内を20×20セルに分割したセル単位で現在位置を特定する。
主制御ユニット13は、検出した現在位置を示す座標が走行路テーブルに登録されているか否かを判断し(S52)、登録されていない場合(S52:NO)、超音波センサ23fからの検出信号に基づいて前方の障害物との距離を計測しており、前方の障害物との距離が15cm以下であるか否かを判断する(S53)。主制御ユニット13は、前方の障害物との距離が15cm以下でないと判断した場合(S53:NO)、駆動制御ユニット14によって駆動モータ15,17を介して車輪16,18の回転方向を適切に制御することによりイオン発生装置1を進行方向に前進させ(S54)、ステップS51へ処理を戻す。
主制御ユニット13は、前方の障害物との距離が15cm以下であると判断した場合(S53:YES)、超音波センサ23rからの検出信号に基づいて右側の障害物との距離が15cm以下であるか否かを判断する(S55)。主制御ユニット13は、右側の障害物との距離が15cm以下でないと判断した場合(S55:NO)、駆動制御ユニット14によって駆動モータ15,17を介して車輪16,18の回転方向を適切に制御することによりイオン発生装置1を右折させ、更に右折した後に前進させ(S56)、ステップS51へ処理を戻す。
主制御ユニット13は、前方及び右側の障害物との距離が15cm以下であると判断した場合(S55:YES)、超音波センサ23lからの検出信号に基づいて左側の障害物との距離が15cm以下であるか否かを判断する(S57)。主制御ユニット13は、左側の障害物との距離が15cm以下でないと判断した場合(S57:NO)、駆動制御ユニット14によって駆動モータ15,17を介して車輪16,18の回転方向を適切に制御することによりイオン発生装置1を左折させ、更に左折した後に前進させ(S58)、ステップS51へ処理を戻す。
主制御ユニット13は、前方、右側及び左側の障害物との距離が15cm以下であると判断した場合(S57:YES)、駆動制御ユニット14によって駆動モータ15,17を介して車輪16,18の回転方向を適切に制御することによりイオン発生装置1を後方へ後退させて(S59)、ステップS51へ処理を戻し、検出した現在位置を示す座標が走行路テーブルに登録されると判断するまで上述したステップS51〜S59の処理を繰り返す。
主制御ユニット13は、検出した現在位置を示す座標が走行路テーブルに登録されていると判断した場合(S52:YES)、走行路テーブルに登録された対応する進行方向へイオン発生装置1を1セル分だけ移動させる(S60)。主制御ユニット13は、図示しないストップボタンがユーザによって操作される等によって、上述した処理の終了が指示されたか否かを判断しており(S61)、終了が指示されていない場合(S61:NO)、ステップS51へ処理を戻し、上述したステップS51〜S60までの処理を繰り返し、上述した処理の終了が指示されたと判断した場合(S61:YES)、処理を終了してイオン発生装置1を停止させる。
上述したように、障害物を回避するように作成した走行路に従ってイオン発生装置1が移動を行なうことにより、周囲の障害物との接触をも回避しながら室内の隅まで効率よく移動することができる。これにより、イオン発生ユニット22から発生するイオンを効率よく室内の隅々まで散布することができる。
上述した実施形態2では、イオン発生装置1の周囲の障害物までの距離を検出するために超音波センサ23l,23f,23rを備えた構成について説明したが、超音波センサに限られず、例えば赤外線センサを用いる構成であってもよい。また、装置本体10の下面から床面までの距離を検出する段差センサを備えることにより、周囲の障害物だけでなく、床面上の段差も回避するように構成することもできる。
(実施形態3)
以下に、実施形態3におけるイオン発生装置について詳述する。図13は実施形態3に係るイオン発生装置の構成例を示す模式的平面図である。なお、本実施形態3のイオン発生装置1は、上述した実施形態2のイオン発生装置1と同様の構成を有しており、同様の構成については同一の符号を付して説明を省略する。また、本実施形態3のイオン発生装置1の下面に設けられた構成は、実施形態2のイオン発生装置1と同様であり、図3(b)と同様であるので、図13にはイオン発生装置1の上面のみを示している。
実施形態3に係るイオン発生装置1には、図3で示す各構成のほかに、装置本体10の上面にイオン発生ユニット22によって発生されたイオンをより広い範囲へ散布するための送風ファン25が設けられている。これにより、室内の床面上を移動するイオン発生装置1から放出されるイオンを天井方向へ吹き出すことができ、室内のより隅々までイオンを散布することができる。