(57)【要約】【課題】構造物の形状に関わらずその底を満遍なく清掃し、かつ、電力供給用の電線のねじれを自動的に解消する。【解決手段】水中塵芥掃除機１０は、走行部２０と、吸引部２２と、フロート付電線３０と、制御部２８とを備える。制御部２８は、走行制御部８０と、変化度検出部８２と、ねじれ解消制御部８４とを有する。走行制御部８０は、予め定められた規則に従って走行部２０を制御する。変化度検出部８２は、走行制御部８０が、走行部２０を、進行方向が変化するように制御すると、方向変化度を検出する。方向変化度は、走行部２０が走行を開始した後における方向変化量の累積値を示す。ねじれ解消制御部８４は、走行部２０を、方向変化度が閾値を超えたときフロート付電線３０のねじれを解消する方向へ旋回するように、制御する。【選択図】図３
2010167019.tif 000002
【特許請求の範囲】
【請求項１】
走行部と、
塵芥を含む水を吸引する吸引部と、
前記走行部および前記吸引部の少なくとも一方に電力を供給するフロート付電線と、
前記走行部に接続され、前記走行部を制御する制御部とを備える水中塵芥掃除機であって、
前記フロート付電線は、前記走行部に対し、直接または間接に固定されており、
前記制御部が、
予め定められた規則に従って前記走行部を制御するための走行制御部と、
前記走行制御部が、前記走行部を、進行方向が変化するように制御すると、前記走行部が走行を開始した後における方向変化量の累積値を示す方向変化度を検出するための変化度検出部と、
前記走行部を、前記方向変化度が閾値を超えたとき前記フロート付電線のねじれを解消する方向へ旋回するように制御するための、ねじれ解消制御部とを有することを特徴とする、水中塵芥掃除機。
【請求項２】
前記走行制御部は、前記進行方向を変化させる際、変化前の進行方向と変化後の進行方向とがなす角度の絶対値が一定となるように、前記走行部を制御し、
前記変化度検出部が、
前記進行方向が変化した回数を前記方向変化度として記憶するための回数記憶部と、
前記走行制御部が、前記走行部を、進行方向が変化するように制御すると、前記進行方向が変化した方向に基づいて前記回数記憶部が記憶する前記方向変化度を変更させるための回数変更部とを有することを特徴とする、請求項１に記載の水中塵芥掃除機。
【請求項３】
前記変化度検出部が、
前記進行方向を検知するための方向検知部と、
前記走行部が走行を開始した後の所定の時点の進行方向と前記方向検知部が検知する進行方向とがなす角度を前記方向変化度として記憶するための角度記憶部と、
前記走行制御部が、前記走行部を、前記進行方向が変化するように制御すると、前記角度記憶部が記憶する前記角度を変更するための角度変更部とを有することを特徴とする、請求項１に記載の水中塵芥掃除機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、壁で囲われ、かつ、水が湛えられる構造物の内部を移動しながら清掃作業を行うための水中塵芥清掃機に関し、特にプールの底面の清掃に好適に用いることができる水中塵芥清掃機に関する。
【背景技術】
【０００２】
特許文献１は、プール内をＶ字状の走行軌跡で移動しながらその底面を満遍なく清掃する清掃機を開示する。特許文献１に記載されている清掃機によれば、水底を満遍なく清掃できる。
【０００３】
特許文献２は、プールなどの清掃機を開示する。この清掃機は、台車の左または右への水流をひきおこすようにされている。特許文献２に記載されている清掃機によれば、台車に給電するための地上からの電線がねじれても、そのねじれを解消できる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０８−００４３３７号公報
【特許文献２】特開昭５３−１０１８６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に開示された清掃機には、プールその他の構造物の形状によっては、上述した電線がねじれる可能性があるという問題がある。個人の邸宅に設置されるような複雑な形状のプールにおいては、清掃機の走行経路が複雑化することが多い。水底を満遍なく清掃するためにはそれが必要となるためである。このような場合に、電線がねじれないよう走行経路を設定することは困難である。特に、プールの形状に関わらず水底を満遍なく清掃するよう予め定められたアルゴリズムに従って清掃機が走行する場合において、その困難性が高い。
【０００６】
特許文献２に開示された清掃機は、台車の右または左に水流を生じさせることで台車を回転させ、その回転によって電線のねじれを解消する。この場合、電線がどのようにねじれているか検知してそれを解消するように水流の向きを設定するのは人である。水流の向きを設定するのが人であるということは、電線のねじれを自動的に解消できる訳ではないことを示す。
【０００７】
本発明は、このような問題を解消するためになされたものであり、その目的とするところは、水が湛えられる構造物においてその形状に関わらず水底を清掃するよう予め定められた規則に従って走行でき、かつ、電力供給用の電線のねじれを自動的に解消できる、水中塵芥清掃機を提供することにある。
【課題を解決するための手段】
【０００８】
図面を参照して本発明の水中塵芥掃除機を説明する。なお、この欄で図中の符号を使用したのは、発明の内容の理解を助けるためであって、内容を図示した範囲に限定する意図ではない。
【０００９】
上記課題を解決するために、本発明のある局面に従うと、水中塵芥掃除機１０，１２は、走行部２０と、塵芥を含む水を吸引する吸引部２２と、フロート付電線３０と、制御部２８，４０とを備える。フロート付電線３０は、走行部２０および吸引部２２の少なくとも一方に電力を供給する。制御部２８，４０は、走行部２０に接続され、走行部２０を制御する。フロート付電線３０は、走行部２０に対し、直接または間接に固定されている。制御部２８，４０が、走行制御部８０と、変化度検出部８２，９４と、ねじれ解消制御部８４とを有する。走行制御部８０は、予め定められた規則に従って走行部２０を制御する。変化度検出部８２，９４は、走行制御部８０が、走行部２０を、進行方向が変化するように制御すると、方向変化度を検出する。方向変化度は、走行部２０が走行を開始した後における方向変化量の累積値を示す。ねじれ解消制御部８４は、走行部２０を、方向変化度が閾値を超えたときフロート付電線３０のねじれを解消する方向へ旋回するように、制御する。
【００１０】
また、上述した走行制御部８０は、進行方向を変化させる際、変化前の進行方向と変化後の進行方向とがなす角度の絶対値が一定となるように、走行部２０を制御することが望ましい。この場合、変化度検出部８２が、回数記憶部１０２と、回数変更部１００とを有することが望ましい。回数記憶部１０２は、進行方向が変化した回数を方向変化度として記憶する。回数変更部１００は、走行制御部８０が、走行部２０を、進行方向が変化するように制御すると、進行方向が変化した方向に基づいて回数記憶部１０２が記憶する方向変化度を変更させる。
【００１１】
また、上述した変化度検出部９４が、方向検知部１１０と、角度記憶部１１４と、角度変更部１１２とを有することが望ましい。方向検知部１１０は、進行方向を検知する。角度記憶部１１４は、走行部２０が走行を開始した後の所定の時点の進行方向と方向検知部１１０が検知する進行方向とがなす角度を方向変化度として記憶する。角度変更部１１２は、走行制御部８０が、走行部２０を、進行方向が変化するように制御すると、角度記憶部１１４が記憶する方向変化度を変更する。
【発明の効果】
【００１２】
以上のように、本発明にかかる水中塵芥清掃機によれば、水が湛えられる構造物においてその形状に関わらず水底を清掃するよう予め定められた規則に従って走行でき、かつ、電力供給用の電線のねじれを自動的に解消できる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１実施形態にかかる作業車の構成を示す図である。
【図２】本発明の第１実施形態にかかる作業車の全体側面図である。
【図３】本発明の第１実施形態にかかる制御部の機能ブロック図である。
【図４】本発明の第１実施形態にかかる走行処理の制御の手順を示す第１のフローチャートである。
【図５】本発明の第１実施形態にかかる走行処理の制御の手順を示す第２のフローチャートである。
【図６】本発明の第１実施形態にかかる進行方向の変更についての規則を示す概念図である。
【図７】本発明の第２実施形態にかかる作業車の構成を示す図である。
【図８】本発明の第２実施形態にかかる制御部の機能ブロック図である。
【図９】本発明の第２実施形態にかかる走行処理の制御の手順を示す第１のフローチャートである。
【図１０】本発明の第２実施形態にかかる走行処理の制御の手順を示す第２のフローチャートである。
【発明を実施するための形態】
【００１４】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同一である。したがって、それらについての詳細な説明は繰返さない。
【００１５】
<第１実施形態>
以下、本発明の第１実施形態について説明する。
図１は本実施形態にかかる作業車１０の構成を示す図である。図２は本実施形態にかかる作業車１０を示す全体側面図である。図３は本実施形態にかかる制御部２８の機能ブロック図である。
【００１６】
図１を参照しつつ、本実施形態にかかる作業車１０の構成を説明する。本実施形態にかかる作業車１０は、プールの底面を清掃する水中塵芥清掃機を構成している。図１に示す通り、作業車１０は、走行部２０と、吸引部２２と、検知部２４と、ＬＥＤ（Light Emitting Diode）２６と、制御部２８とを備える。走行部２０は、作業車１０が走行するためのユニットである。吸引部２２は、プール内の塵芥を含んだ水を吸引し、その水から塵芥を除去するユニットである。検知部２４は、作業車１０がプールの内壁に接触したことを検知するユニットである。ＬＥＤ２６は、点灯することによって、検知部２４が故障したという情報を出力する。制御部２８は、走行部２０と吸引部２２とに接続され、これらを制御するユニットである。制御部２８は、図２に示す走行部用ケーブル３０から電力の供給を受け、図示しない電線によって、ＬＥＤ２６にその電力を供給するユニットでもある。
【００１７】
走行部２０に対しては、走行部用ケーブル３０から直接電力が供給される。吸引部２２に対しては、図示しない吸引部用ケーブルを介して電力が供給される。本実施形態において、走行部用ケーブル３０は吸引部用ケーブルと共に束ねられている。もちろん、走行部用ケーブル３０が吸引部２２に対しても電力を供給してもよい。ちなみに、本実施形態において、走行部用ケーブル３０は、制御部２８に対し、回転できないように固定されている。制御部２８は後述する箱１４２内に収容されている。これにより、走行部用ケーブル３０は、走行部２０に対して間接的に固定されていることとなる。もちろん、走行部用ケーブル３０は、後述するモータ１４４に直接接続されることで、走行部２０に対して直接固定されてもよい。
【００１８】
本実施形態にかかる走行部用ケーブル３０と吸引部用ケーブルとは、フロート付電線の一種である。本実施形態における『フロート付電線』とは、浮きの役割を果たすものが取付けられている電線を意味する。『浮きの役割を果たすもの』の具体的な形態は特に限定されない。たとえば、本実施形態にかかる走行部用ケーブル３０と吸引部用ケーブルとは、公知のキャブタイヤケーブルの表面が発泡ポリエチレンで被覆されたものである。この発泡ポリエチレンがキャブタイヤケーブルに取付けられた浮きの役割をするので、本実施形態にかかる走行部用ケーブル３０と吸引部用ケーブルとは水に浮く。もちろん、水中塵芥清掃機に取付けられる電線は、このような形態のものに限られない。たとえば、浮きの役割をする部分の材質は発泡ポリエチレンに限られない。ケーブルの表層に浮きの役割を果たさせることに代え、公知のケーブルのところどころにブイ(buoy)を取付けてもよい。
【００１９】
図２を参照しつつ、走行部２０について説明する。走行部２０は、枠状の車体フレーム１４０と、箱１４２と、モータ１４４と、駆動車軸１４６と、図示しない減速用伝動歯車と、一対の駆動プーリ１５２と、支軸１５４と、一対の従動プーリ１５６と、一対のゴムベルト１５８と、一対のテンションローラ１６０とを有する。車体フレーム１４０は、吸引部２２や、走行部２０を構成する部品のうち車体フレーム１４０以外のものを搭載する。箱１４２は、車体フレーム１４０の後部（図２の右側）に搭載されている。箱１４２は、モータ１４４や減速用伝動歯車などを収容し、それらが水に濡れることを防ぐ。モータ１４４は、箱１４２に収容され、制御部２８から電力の供給を受けてトルクを生成する。駆動車軸１４６は、箱１４２を貫通しており、箱１４２内でモータ１４４の軸と減速用伝動歯車を介して連結されている。駆動プーリ１５２は駆動車軸１４６の左右両端部に取付けられる。駆動プーリ１５２は駆動車軸１４６と一体となって回転する。これにより、駆動プーリ１５２は左右の駆動輪として動作する。従動プーリ１５６は、支軸１５４の左右両端部に取付けられ、左右の従動輪として動作する。ゴムベルト１５８は、車体フレーム１４０の左右両外側にそれぞれ配置される。ゴムベルト１５８は、駆動プーリ１５２とその前方に並ぶ従動プーリ１５６とに巻掛けられる。ゴムベルト１５８は左右の軌道帯として動作する。テンションローラ１６０は、駆動プーリ１５２とその前方に並ぶ従動プーリ１５６との間に配置される。テンションローラ１６０は、ゴムベルト１５８の非接地側を上方から下方に押さえつける。これにより、ゴムベルト１５８の張り具合が調整される。
【００２０】
図２を参照しつつ、吸引部２２について説明する。吸引部２２は、吸込口１８０と、可撓管１８２と、水中ポンプ１８４と、ろ過器１８６とを有する。吸込口１８０はプールの底面に対向する。吸込口１８０は可撓管１８２に接続される。可撓管１８２は水中ポンプ１８４の吸い込み口に接続される。ろ過器１８６は、水中ポンプ１８４の吐出側に接続される。本実施形態において、ろ過器１８６は、水は通して塵埃は通さないナイロン布からなり、袋状である。本実施形態において、ろ過器１８６は、着脱できるように接続される。これにより、プール内の塵芥を含んだ水は、吸込口１８０から吸い込まれ、ろ過器１８６の中へ吐出される。その水の中の塵芥は、ろ過器１８６によってろ過される。
【００２１】
図１および図２を参照しつつ、検知部２４について説明する。検知部２４は、左後センサ２００と、右後センサ２０２と、左前センサ２０４と、右前センサ２０６とを備える。左後センサ２００と右後センサ２０２とは、車体フレーム１４０の後端から後方に向かって突出している。左後センサ２００と右後センサ２０２とは、プールの内壁に接触すると、制御部２８に信号を出力する。左前センサ２０４と右前センサ２０６とは、車体フレーム１４０の前端から前方に向かって突出している。左前センサ２０４と右前センサ２０６とは、プールの内壁に接触すると制御部２８に信号を出力する。これらの信号は、作業車１０のどの部分がプールの内壁に接触したかを示す情報となる。
【００２２】
図１および図２を参照しつつ、制御部２８について説明する。制御部２８は、モータ１４４や減速用伝動歯車と共に、箱１４２内に収納されている。上述したように、制御部２８には、走行部用ケーブル３０が接続されている。制御部２８が走行部２０を制御するための電力には、走行部用ケーブル３０から供給される電力を用いている。制御部２８は、走行部２０とＬＥＤ２６とにこの電力を供給する。制御部２８は、第１Ｉ／Ｏ（Input/Output）５０と、第２Ｉ／Ｏ５２と、第３Ｉ／Ｏ５４と、第４Ｉ／Ｏ５６と、ＲＯＭ（Read Only Memory）５８と、ＲＡＭ（Random Access Memory）６０と、ＣＰＵ（Central Processing Unit）６２とを有する。第１Ｉ／Ｏ５０は、走行部２０に制御信号を出力する。第２Ｉ／Ｏ５２は、吸引部２２に制御信号を出力する。第３Ｉ／Ｏ５４は、ＬＥＤ２６に制御信号を出力する。第４Ｉ／Ｏ５６は、検知部２４が制御部２８に入力する信号を受け付ける。ＲＯＭ５８は、走行部２０や吸引部２２を制御部２８が制御するために必要な情報を記憶する。その情報の一種として、プログラムがある。ＲＡＭ６０は、データを一時的に記憶する。ＣＰＵ６２は、ＲＯＭ５８から読出したプログラムを実行することにより、予め定められた規則に従って走行部２０と吸引部２２とを制御する。
【００２３】
図１および図３を参照しつつ、制御部２８の機能を説明する。第１Ｉ／Ｏ５０と、第２Ｉ／Ｏ５２と、第３Ｉ／Ｏ５４と、第４Ｉ／Ｏ５６と、ＲＯＭ５８と、ＲＡＭ６０と、ＣＰＵ６２とは、走行制御部８０と、変化度検出部８２と、ねじれ解消制御部８４と、吸引制御部８６と、エラー処理部８８とを構成する。これらの構成は、ＲＯＭ５８から読出したプログラムをＣＰＵ６２が実行することにより実現される。なお、第１Ｉ／Ｏ５０と、第２Ｉ／Ｏ５２と、第３Ｉ／Ｏ５４と、第４Ｉ／Ｏ５６と、ＲＯＭ５８と、ＲＡＭ６０と、ＣＰＵ６２とは、走行制御部８０と、変化度検出部８２と、ねじれ解消制御部８４と、吸引制御部８６と、エラー処理部８８とに加え、その他のユニットを構成してもよい。また、制御部２８が吸引部２２の制御を行わない場合、吸引制御部８６は構成されなくてもよい。また、エラーを検知する必要がなければ、エラー処理部８８は構成されなくてもよい。
【００２４】
走行制御部８０は、予め定められた規則に従って走行部２０を制御する。本実施形態においては、この予め定められた規則は、プログラムとして制御部２８に記憶されている。ちなみに、本実施形態において、走行制御部８０が制御するのは、駆動プーリ１５２それぞれの回転方向と、それらの起動および停止とに関するもののみである。駆動プーリ１５２の回転速度に関する制御は行わない。変化度検出部８２は、走行制御部８０が、走行部２０を、進行方向が変化するように制御すると、方向変化度を検出する。上述したように、方向変化度は、走行部２０が走行を開始した後における方向変化量の累積値を示す。この方向変化量は、走行部２０の進行方向がどの方向からどの方向へどの程度変化したかを示す。本実施形態における方向変化度の具体的な内容については後述する。ねじれ解消制御部８４は、走行部２０を、方向変化度が閾値を超えたとき、走行部用ケーブル３０のねじれを解消するように、制御する。方向変化度が閾値を超えたことは、走行部２０が走行を開始した後において、走行部２０の方向変化がある方向へ偏ったことを意味する。本実施形態において、この方向を「ねじれ方向」と称する。このように称するのは、本実施形態の場合のように走行部用ケーブル３０が固定されている場合、走行部用ケーブル３０がねじられる方向と方向変化度が示す方向との間に対応関係があるためである。走行部用ケーブル３０のねじれを解消するためには、ねじれ方向とは逆の方向に作業車１０を自転させればよい。ねじれ方向とは逆の方向がどの方向かということは、方向変化度を参照すれば明らかである。このため、走行部用ケーブル３０のねじれを解消するようにねじれ解消制御部８４が走行部２０を制御することは容易である。吸引制御部８６は、水中ポンプ１８４を制御する。エラー処理部８８は、後述する方法により検知部２４などにおける故障の有無を判断し、故障が生じたときにはＬＥＤ２６を点灯させる。
【００２５】
変化度検出部８２は、回数変更部１００と、回数記憶部１０２とを有する。回数変更部１００は、走行制御部８０の制御内容に基づいて、回数記憶部１０２が記憶する方向変化度の内容を変化させる。本実施形態においては、作業車１０が進行方向を変えた回数（本実施形態において、この回数は「旋回数」と称される。）を方向変化度として扱う。本実施形態において、進行方向を変える場合、変更前の進行方向と変更後の進行方向とがなす角度が一定であるからである。これにより、回数記憶部１０２には旋回数を示す値が記憶される。ただし、本実施形態において、この値は、作業車１０が時計周りに進行方向を変えたとき「１」増加し、この値は、作業車１０が反時計周りに進行方向を変えたとき「１」減少する。このため、走行直後、作業車１０が反時計周りに進行方向を変えたとき、方向変化度は「−１」となる。
【００２６】
回数変更部１００は、判断部１２０と、情報変更部１２２とを有する。判断部１２０は、進行方向が変化するにように走行制御部８０が走行部２０を制御すると、進行方向が時計回りと反時計回りとのうちどちらに変化したかに基づき、回数記憶部１０２が記憶する方向変化度すなわち旋回数を示す値について、増加させるか減少させるかを判断する。情報変更部１２２は、判断部１２０の判断に従って、回数記憶部１０２が記憶する情報（すなわち方向変化度）を変更する。
【００２７】
図４，５に示すように、制御部２８で実行されるプログラムは、走行に関し、以下のような制御を実行する。
【００２８】
Ｓ３００にて、走行制御部８０は、初期設定を実施する。本実施形態にかかる初期設定とは、各種のパラメータを初期値に設定することである。このとき初期値が設定されるパラメータには、上述した方向変化度を示すものと、作業車１０が１回転するよう走行部２０が動作する時間（本実施形態において、この時間は「自転時間」と称される。）を示すものと、プールその他の構造物の壁面（以下、単に「壁面」と称する。）に作業車１０が接触した直後、作業車１０がそこから離れるよう進む期間（本実施形態において、この時間は「退避期間」と称される。）を示すものとがある。本実施形態において、方向変化度の初期値は「０」に設定される。上述したように、本実施形態において、駆動プーリ１５２の回転速度が制御されないため、誤差を考慮しなければ、作業車１０が１回転するよう走行部２０が動作する時間は、走行部２０の仕様に基づいて自ずと定まる。
【００２９】
Ｓ３０２にて、走行制御部８０は、方向変化度の最大値を示すパラメータの値を設定する。走行制御部８０は、作業車１０に取付けられた図示しないディップスイッチがオンかオフかを調べることにより、ユーザによって設定された旋回数の最大値がいくつなのかを把握する。本実施形態において、方向変化度の最大値を示すパラメータは、ユーザによって設定された旋回数の最大値に等しくなるよう設定される。ちなみに、本実施形態では、旋回数の最大値を示すパラメータが「８」に設定されたこととする。
【００３０】
Ｓ３０４にて、走行制御部８０は、標準旋回時間を示すパラメータの値を設定する。本実施形態において、標準旋回時間とは、作業車１０が進行方向を１回変えるよう走行部２０が動作する時間の標準値を意味する。本実施形態においては、この時間が長ければ長いほど、作業車１０は大きく向きを変えることとなる。上述したように、本実施形態において、駆動プーリ１５２の回転速度が制御されないためである。走行制御部８０は、作業車１０に取付けられた図示しないディップスイッチがオンかオフかを調べることにより、この時間をいくらにするようユーザが希望しているのか把握する。本実施形態において、標準旋回時間を示すパラメータは、ユーザの希望に合致するよう設定される。ちなみに、本実施形態において、標準旋回時間を示すパラメータの値は、作業車１０が「π／４」ラジアン旋回できる長さに設定されていることとする。
【００３１】
Ｓ３０６にて、ねじれ解消制御部８４は、回数記憶部１０２から方向変化度を読出す。方向変化度が読出されると、ねじれ解消制御部８４は、読出された方向変化度が、方向変化度の最大値×「−１」以下か否かを判断する。本実施形態の場合についてより具体的に言えば、ねじれ解消制御部８４は、読出された旋回数が「−８」以下か否かを判断する。読出された方向変化度が、その最大値×「−１」以下と判断した場合に（Ｓ３０６にてＹＥＳ）、処理はＳ３０８へと移される。そうでないと（Ｓ３０６にてＮＯ）、処理はＳ３１２へと移される。
【００３２】
Ｓ３０８にて、ねじれ解消制御部８４は、回転制御を実施する。具体的に述べると、ねじれ解消制御部８４は、作業車１０が２πラジアン自転するよう走行部２０を制御する。自転の方向は反時計回りである。ねじれ解消制御部８４が走行部２０を制御する時間の長さは、自転時間に等しい。
【００３３】
Ｓ３１０にて、情報変更部１２２は、回数記憶部１０２が記憶する方向変化度を「０」に変更する。これにより、回数記憶部１０２が記憶する方向変化度がリセットされる。
【００３４】
Ｓ３１２にて、ねじれ解消制御部８４は、回数記憶部１０２から方向変化度を読出す。方向変化度が読出されると、ねじれ解消制御部８４は、読出された方向変化度が、方向変化度の最大値×「＋１」以上か否かを判断する。本実施形態の場合についてより具体的に言えば、ねじれ解消制御部８４は、読出された旋回数が「＋８」以下か否かを判断する。読出された方向変化度が、その最大値×「＋１」以上と判断した場合（Ｓ３１２にてＹＥＳ）、処理はＳ３１４へと移される。もしそうでないと（Ｓ３１２にてＮＯ）、処理はＳ３１６へと移される。
【００３５】
Ｓ３１４にて、ねじれ解消制御部８４は、回転制御を実施する。具体的に述べると、ねじれ解消制御部８４は、作業車１０が２πラジアン自転するよう走行部２０を制御する。自転の方向は時計回りである。ねじれ解消制御部８４が走行部２０を制御する時間の長さは、自転時間に等しい。
【００３６】
Ｓ３１６にて、走行制御部８０は、検知部２４から新たに信号が入力されるまで作業車１０が前進するように、走行部２０を制御する。作業車１０が前進するのと同時に、エラー処理部８８は、走行時間の計測を開始する。Ｓ３１８にて、走行制御部８０は、擬似乱数を生成する。擬似乱数が生成されると、走行制御部８０は、補正値を示すパラメータをその擬似乱数に設定する。
【００３７】
Ｓ３２０にて、エラー処理部８８は、作業車１０に取付けられた図示しないセンサが出力した信号に基づいて、制御部２８内に水が侵入してきたか否かを判断する。水が侵入してきたと判断した場合には（Ｓ３２０にてＹＥＳ）、処理はＳ３２２へと移される。もしそうでないと（Ｓ３２０にてＮＯ）、処理はＳ３２６へと移される。
【００３８】
Ｓ３２２にて、走行制御部８０は、モータ１４４をストップさせる。Ｓ３２４にて、エラー処理部８８は、ＬＥＤ２６を点灯させる。
【００３９】
Ｓ３２６にて、エラー処理部８８は、検知部２４が入力した信号にエラーがあるか否かを判断する。検知部２４が入力した信号にエラーがあるか否かは、エラー処理部８８が計測中の走行時間が閾値を越えたか否かに基づいて判断される。検知部２４が入力した信号にエラーがある場合、走行時間がかなり長くなっているにも関わらず検知部２４から信号が入力されないと考えられるためである。検知部２４が入力した信号にエラーがあると判断した場合（Ｓ３２６にてＹＥＳ）、処理はＳ３３２へと移される。もしそうでないと（Ｓ３２６にてＮＯ）、処理はＳ３２８へと移される。
【００４０】
Ｓ３２８にて、走行制御部８０は、壁面に接触したことを示す信号を右前センサ２０６が入力したか否かを判断する。右前センサ２０６がその信号を入力したと判断した場合（Ｓ３２８にてＹＥＳ）、処理はＳ３３０へと移される。もしそうでないと（Ｓ３２８にてＮＯ）、処理はＳ３５０と移される。
【００４１】
Ｓ３３０にて、エラー処理部８８は、走行時間の計測をいったん終了する。走行時間の値はリセットされる。続いて、走行制御部８０は、退避期間の間、作業車１０が後進するように走行部２０を制御する。作業車１０が後進すると同時に、エラー処理部８８は走行時間の計測を開始する。Ｓ３３２にて、走行制御部８０は、Ｓ３０４にて設定した値とＳ３１８にて設定した値との和を算出する。この和は、作業車１０が旋回するよう走行部２０が動作する時間を示す。その和が算出されると、走行制御部８０は、その和が示す時間、作業車１０が反時計回り（すなわち左回り）に旋回するように走行部２０を制御する。Ｓ３３４にて、情報変更部１２２は、回数記憶部１０２から方向変化度を読出す。方向変化度が読出されると、情報変更部１２２は、その値と「−１」との和を算出する。その和が算出されると、情報変更部１２２は、算出された和を方向変化度として回数記憶部１０２に記憶させる。これにより、回数記憶部１０２が記憶する方向変化度が「１」小さくなるよう変更されたことになる。
【００４２】
Ｓ３５０にて、エラー処理部８８は、検知部２４が入力した信号にエラーがあるか否かを判断する。Ｓ３２６と同様の理由により、検知部２４が入力した信号にエラーがあるか否かは、エラー処理部８８が計測中の走行時間が閾値を越えたか否かに基づいて判断される。検知部２４が入力した信号にエラーがあると判断した場合（Ｓ３５０にてＹＥＳ）、処理はＳ３５４へと移される。もしそうでないと（Ｓ３５０にてＮＯ）、処理はＳ３５２へと移される。
【００４３】
Ｓ３５２にて、走行制御部８０は、壁面に接触したことを示す信号を左前センサ２０４が入力したか否かを判断する。左前センサ２０４がその信号を入力したと判断した場合（Ｓ３５２にてＹＥＳ）、処理はＳ３５４へと移される。もしそうでないと（Ｓ３５２にてＮＯ）、処理はＳ３１８へと移される。
【００４４】
Ｓ３５４にて、走行制御部８０は、エラー処理部８８は、走行時間の計測をいったん終了する。走行時間の値はリセットされる。続いて、走行制御部８０は、作業車１０が、退避期間の間、後進するように、走行部２０を制御する。作業車１０が前進するのと同時に、エラー処理部８８は、走行時間の計測を開始する。Ｓ３５６にて、走行制御部８０は、Ｓ３０４にて設定した値とＳ３１８にて設定した値との和を算出する。この和は、作業車１０が旋回するよう走行部２０が動作する時間を示す。その和が算出されると、走行制御部８０は、その和が示す時間、作業車１０が時計回り（すなわち右回り）に旋回するように、走行部２０を制御する。Ｓ３５８にて、情報変更部１２２は、回数記憶部１０２から方向変化度を読出す。方向変化度が読出されると、情報変更部１２２は、その値と「１」との和を算出する。その和が算出されると、情報変更部１２２は、算出された和を方向変化度として回数記憶部１０２に記憶させる。これにより、回数記憶部１０２が記憶する方向変化度が「１」大きくなるよう変更されたことになる。
【００４５】
Ｓ３６０にて、ねじれ解消制御部８４は、回数記憶部１０２から方向変化度を読出す。方向変化度が読出されると、ねじれ解消制御部８４は、読出された方向変化度が、方向変化度の最大値×「＋１」以上か否かを判断する。読出された方向変化度が、その最大値×「＋１」以上と判断した場合（Ｓ３６０にてＹＥＳ）、処理はＳ３６２へと移される。もしそうでないと（Ｓ３６０にてＮＯ）、処理はＳ３６６へと移される。
【００４６】
Ｓ３６２にて、ねじれ解消制御部８４は、回転制御を実施する。具体的に述べると、ねじれ解消制御部８４は、作業車１０が２πラジアン自転するよう走行部２０を制御する。自転の方向は時計回りである。
【００４７】
Ｓ３６４にて、情報変更部１２２は、回数記憶部１０２が記憶する方向変化度を「０」に変更する。これにより、回数記憶部１０２が記憶する方向変化度はリセットされる。
【００４８】
Ｓ３６６にて、ねじれ解消制御部８４は、回数記憶部１０２から方向変化度を読出す。方向変化度が読出されると、ねじれ解消制御部８４は、読出された方向変化度が、方向変化度の最大値×「−１」以下か否かを判断する。読出された方向変化度が、その最大値×「−１」以下と判断した場合に（Ｓ３６６にてＹＥＳ）、処理はＳ３６８へと移される。もしそうでないと（Ｓ３６６にてＮＯ）、処理はＳ３７０へと移される。
【００４９】
Ｓ３６８にて、ねじれ解消制御部８４は、回転制御を実施する。具体的に述べると、ねじれ解消制御部８４は、作業車１０が２πラジアン自転するよう走行部２０を制御する。自転の方向は反時計回りである。
【００５０】
Ｓ３７０にて、走行制御部８０は、検知部２４から新たに信号が入力されるまで作業車１０が後進するように、走行部２０を制御する。作業車１０が後進するのと同時に、エラー処理部８８は、走行時間の計測を開始する。Ｓ３７２にて、走行制御部８０は、擬似乱数を生成する。擬似乱数が生成されると、走行制御部８０は、補正値を示すパラメータをその擬似乱数に設定する。
【００５１】
Ｓ３７４にて、エラー処理部８８は、作業車１０に取付けられた図示しないセンサが出力した信号に基づいて、制御部２８内に水が侵入してきたか否かを判断する。水が侵入してきたと判断した場合には（Ｓ３７４にてＹＥＳ）、処理はＳ３２２へと移される。もしそうでないと（Ｓ３７４にてＮＯ）、処理はＳ３７６へと移される。
【００５２】
Ｓ３７６にて、エラー処理部８８は、Ｓ３２６と同様の処理により、検知部２４が入力した信号にエラーがあるか否かを判断する。検知部２４が入力した信号にエラーがあると判断した場合（Ｓ３７６にてＹＥＳ）、処理はＳ３８０へと移される。もしそうでないと（Ｓ３７６にてＮＯ）、処理はＳ３７８へと移される。
【００５３】
Ｓ３７８にて、走行制御部８０は、壁面に接触したことを示す信号を左後センサ２００が入力したか否かを判断する。壁面に接触したことを示す信号を左後センサ２００が入力したと判断した場合には（Ｓ３７８にてＹＥＳ）、処理はＳ３８０へと移される。もしそうでないと（Ｓ３７８にてＮＯ）、処理はＳ３８６へと移される。
【００５４】
Ｓ３８０にて、エラー処理部８８は、走行時間の計測をいったん終了する。走行時間の値はリセットされる。続いて、走行制御部８０は、作業車１０が、退避期間の間、前進するように、走行部２０を制御する。作業車１０が前進するのと同時に、エラー処理部８８は、走行時間の計測を開始する。Ｓ３８２にて、走行制御部８０は、Ｓ３０４にて設定した値とＳ３７２にて設定した値との和を算出する。この和は、作業車１０が旋回するよう走行部２０が動作する時間を示す。その和が算出されると、走行制御部８０は、その和が示す時間、作業車１０が反時計回り（すなわち左回り）に旋回するように、走行部２０を制御する。Ｓ３８４にて、情報変更部１２２は、回数記憶部１０２から方向変化度を読出す。方向変化度が読出されると、情報変更部１２２は、その値と「−１」との和を算出する。その和が算出されると、情報変更部１２２は、算出された和を方向変化度として回数記憶部１０２に記憶させる。これにより、回数記憶部１０２が記憶する方向変化度が「１」小さくなるよう変更されたことになる。
【００５５】
Ｓ３８６にて、エラー処理部８８は、検知部２４が入力した信号にエラーがあるか否かを判断する。Ｓ３２６と同様の理由により、検知部２４が入力した信号にエラーがあるか否かは、エラー処理部８８が計測中の走行時間が閾値を越えたか否かに基づいて判断される。検知部２４が入力した信号にエラーがあると判断した場合（Ｓ３８６にてＹＥＳ）、処理はＳ３９０へと移される。もしそうでないと（Ｓ３８６にてＮＯ）、処理はＳ３８８へと移される。
【００５６】
Ｓ３８８にて、走行制御部８０は、壁面に接触したことを示す信号を右後センサ２０２が入力したか否かを判断する。右後センサ２０２がその信号を入力したと判断した場合（Ｓ３８８にてＹＥＳ）、処理はＳ３９０へと移される。もしそうでないと（Ｓ３８８にてＮＯ）、処理はＳ３７２へと移される。
【００５７】
Ｓ３９０にて、エラー処理部８８は、走行時間の計測をいったん終了する。走行時間の値はリセットされる。続いて、走行制御部８０は、作業車１０が、退避期間の間、前進するように、走行部２０を制御する。作業車１０が前進するのと同時に、エラー処理部８８は、走行時間の計測を開始する。Ｓ３９２にて、走行制御部８０は、Ｓ３０４にて設定した値とＳ３７２にて設定した値との和を算出する。この和は、作業車１０が旋回するよう走行部２０が動作する時間を示す。その和が算出されると、走行制御部８０は、その和が示す時間、作業車１０が時計回り（すなわち右回り）に旋回するように、走行部２０を制御する。Ｓ３９４にて、情報変更部１２２は、回数記憶部１０２から方向変化度を読出す。方向変化度が読出されると、情報変更部１２２は、その値と「１」との和を算出する。その和が算出されると、情報変更部１２２は、算出された和を方向変化度として回数記憶部１０２に記憶させる。これにより、回数記憶部１０２が記憶する方向変化度が「１」大きくなるよう変更されたことになる。
【００５８】
図６を参照しつつ、以上のような構造およびフローチャートに基づく、作業車１０の動作について説明する。
【００５９】
［右前センサ２０６が壁面に接触する場合］
起動開始直後であることとする。このため、方向変化度は「０」である。また、制御部２８内への浸水や検知部２４の異常はないこととする。まず、Ｓ３１２までの処理を経て、走行制御部８０は、作業車１０が前進するように走行部２０を制御する（Ｓ３１６）。作業車１０が前進すると、Ｓ３１８〜Ｓ３２６の処理を経て、走行制御部８０は、壁面に接触したことを示す信号を右前センサ２０６が入力したか否かを判断する（Ｓ３２８）。この場合、右前センサ２０６が信号を入力するので（Ｓ３２８にてＹＥＳ）、走行制御部８０は、退避期間の間、作業車１０が後進するように、走行部２０を制御する（Ｓ３３０）。作業車１０が後進した後、走行制御部８０は、作業車１０が反時計回りに旋回するように、走行部２０を制御する（Ｓ３３２）。作業車１０が旋回すると、回数記憶部１０２が記憶する方向変化度が変更される。これにより、回数記憶部１０２が記憶する方向変化度は「−１」となる（Ｓ３３４）。方向変化度が変更されると、Ｓ３６０〜Ｓ３６６の処理を経て、走行制御部８０は、作業車１０が後進するように、走行部２０を制御する（Ｓ３７０）。これにより、図６の（Ａ）に示すように、作業車１０は、プールの壁面に接触した後、いったんまっすぐ後進し、その後、時計周りに旋回し、そのまま後進することとなる。
【００６０】
［左前センサ２０４が壁面に接触した後、一回転する場合］
方向変化度が「７」であることとする。また、制御部２８内への浸水や検知部２４の異常はないこととする。Ｓ３５０までの処理を経て、走行制御部８０は、壁面に接触したことを示す信号を左前センサ２０４が入力したか否かを判断する（Ｓ３５２）。この場合、壁面に接触したことを示す信号を左前センサ２０４が入力したので（Ｓ３５２にてＹＥＳ）、走行制御部８０は、退避期間の間、作業車１０が後進するように、走行部２０を制御する（Ｓ３５４）。作業車１０が後進した後、走行制御部８０は、作業車１０が時計回りに旋回するように、走行部２０を制御する（Ｓ３５６）。作業車１０が旋回すると、回数記憶部１０２が記憶する方向変化度が変更される。これにより、回数記憶部１０２が記憶する方向変化度は「１」増加し、「８」となる（Ｓ３５８）。方向変化度が変更されると、ねじれ解消制御部８４は、方向変化度が「８」以上か否かを判断する（Ｓ３６０）。この場合、方向変化度は「８」なので（Ｓ３６０にてＹＥＳ）、ねじれ解消制御部８４は、回転制御を実施する（Ｓ３６２）。回転処理の後、回数記憶部１０２が記憶する方向変化度はリセットされる（Ｓ３６４）。方向変化度がリセットされた後、走行制御部８０は、作業車１０が後進するように、走行部２０を制御する（Ｓ３７０）。これにより、図６の（Ｂ）に示すように、作業車１０は、プールの壁面に接触した後、いったんまっすぐ後進し、その後、一回転してから、反時計周りに旋回し、そのまま後進することとなる。
【００６１】
［左後センサ２００が壁面に接触した後、一回転する場合］
Ｓ３７０までの処理を経た結果、方向変化度が「−７」であることとする。また、制御部２８内への浸水や検知部２４の異常はないこととする。Ｓ３７０までの処理の後、Ｓ３７６までの処理をさらに経て、走行制御部８０は、壁面に接触したことを示す信号を左後センサ２００が入力したか否かを判断する（Ｓ３７８）。この場合、左後センサ２００がそのような信号を入力したので（Ｓ３７８にてＹＥＳ）、走行制御部８０は、作業車１０が所定期間前進するように、走行部２０を制御する（Ｓ３８０）。作業車１０が所定期間前進した後、走行制御部８０は、作業車１０が反時計回り（すなわち左回り）に旋回するように、走行部２０を制御する（Ｓ３８２）。作業車１０が旋回すると、回数記憶部１０２が記憶する方向変化度が「１」小さくなるよう変更され、「−８」となる（Ｓ３８４）。方向変化度が変更されると、ねじれ解消制御部８４は、読出された方向変化度が「−８」以下か否かを判断する（Ｓ３０６）。この場合、読出された方向変化度が「−８」なので（Ｓ３０６にてＹＥＳ）、ねじれ解消制御部８４は、回転制御を実施する（Ｓ３０８）。回転処理が実施されると、Ｓ３１０の処理を経て、走行制御部８０は、作業車１０が前進するように走行部２０を制御する（Ｓ３１６）。これにより、図６の（Ｃ）に示すように、作業車１０は、プールの壁面に接触した後、いったんまっすぐ前進し（プールの壁面から離れ）、その後、一回転してから、時計周りに旋回し、そのまま前進することとなる。
【００６２】
［右後センサ２０２が壁面に接触する場合］
方向変化度が「＋１」であることとする。また、制御部２８内への浸水や検知部２４の異常はないこととする。Ｓ３８６までの処理を経て、走行制御部８０は、壁面に接触したことを示す信号を右後センサ２０２が入力したか否かを判断する（Ｓ３８８）。この場合、右後センサ２０２が信号を入力するので（Ｓ３８８にてＹＥＳ）、走行制御部８０は、作業車１０が所定期間前進するように走行部２０を制御する（Ｓ３９０）。作業車１０が前進した後、走行制御部８０は、作業車１０が時計回りに旋回するように走行部２０を制御する（Ｓ３９２）。作業車１０が旋回すると、回数記憶部１０２が記憶する方向変化度が変更される。その結果、回数記憶部１０２が記憶する方向変化度は「２」となる（Ｓ３９４）。方向変化度が変更されると、ねじれ解消制御部８４は、方向変化度が「−８」以下か否かを判断する（Ｓ３０６）。この場合、方向変化度が「２」とすると（Ｓ３０６にてＮＯ）、ねじれ解消制御部８４は、方向変化度が「＋８」以上か否かを判断する（Ｓ３１２）。この場合、方向変化度は「＋１」なので（Ｓ３１２にてＮＯ）、走行制御部８０は、作業車１０が前進するように走行部２０を制御する（Ｓ３１６）。これにより、図６の（Ｄ）に示すように、作業車１０は、プールの壁面に接触した後、いったんまっすぐ前進し（プールの壁面から離れ）、その後、反時計周りに旋回し、そのまま前進する。
【００６３】
以上のようにして、本実施形態にかかる作業車１０は、走行中、プールの壁面に接触すると、そこから離れた後、ケーブルのねじれを解消するように旋回する。これにより、ケーブルのねじれが自動的に解消される。しかも、本実施形態にかかる作業車１０はプールの底を満遍なく清掃できる。
【００６４】
本実施形態にかかる作業車１０のように、プールその他の構造物の外からケーブルその他の電線によって電力が供給される水中塵芥清掃機にとって、その電線のねじれは大きな問題となる。電線が一度ねじられると、その電線を元通りの形態に戻すことはかなり難しい。仮に戻せたとしても、電線の寿命は低下する。これに対し、水中塵芥清掃機の走行にともなってその電線がねじれることは、実に頻繁に起こる。それは、一度の清掃中にも数えきれないほど起こる。水中塵芥清掃機がフロート付電線によって電力の供給を受けている場合、ねじれはさらに起きやすくなる。場合によっては、何度もねじられた電線が塊を形成することもある。このようになると、電線の塊をほどくこと自体に余分な労力がかかることもある。これでは、水中塵芥清掃機が自動走行可能になっているメリットが失われてしまう。陸上で活動する装置のようにスイベルによってねじれを自動的に解消するという対策は、水中塵芥清掃機にとってあまり好ましい対策とは言えない。スイベルの隙間から水が浸入するためである。スイベルを採用することは水中塵芥清掃機の寿命を大幅に低下させる。これに対し、本実施形態にかかる作業車１０は、スイベルを用いずに電線のねじれを解消しているので、寿命の低下を大幅に抑えることができる。
【００６５】
<第２実施形態>
以下、本発明の第２実施形態について説明する。
図７は本実施形態にかかる作業車１２の構成を示す図である。図８は本実施形態にかかる制御部２８の機能ブロック図である。
【００６６】
図７を参照しつつ、本実施形態にかかる作業車１２の構成を説明する。本実施形態にかかる作業車１２は、第１実施形態にかかる制御部２８に代え、制御部４０を備える。制御部４０も、第１実施形態にかかる制御部２８と同様、走行部２０と吸引部２２とに接続され、これらを制御する。制御部４０のハードウェア構成は、方位センサ６４を有する点を除けば、第１実施形態にかかる制御部２８と同様である。方位センサ６４は、地磁気の大きさを方位別に検出することにより、作業車１２がどの方位を向いているかを検出するセンサである。本実施形態において、作業車１２がどの方位を向いているかは、作業車１２が向いている方位と所定の方位（本実施形態においては、作業車１２が作業を開始した時点の進行方向とする）とがなす角度によって示される。
【００６７】
図７および図８を参照しつつ、制御部４０の機能を説明する。第１Ｉ／Ｏ５０と、第２Ｉ／Ｏ５２と、第３Ｉ／Ｏ５４と、第４Ｉ／Ｏ５６と、ＲＯＭ５８と、ＲＡＭ６０と、ＣＰＵ６２と、方位センサ６４とは、走行制御部８０と、変化度検出部９４と、ねじれ解消制御部８４と、吸引制御部８６と、エラー処理部８８とを構成する。これらは、ＲＯＭ５８から読出したプログラムをＣＰＵ６２が実行することにより実現される。なお、第１実施形態と同様、第１Ｉ／Ｏ５０と、第２Ｉ／Ｏ５２と、第３Ｉ／Ｏ５４と、第４Ｉ／Ｏ５６と、ＲＯＭ５８と、ＲＡＭ６０と、ＣＰＵ６２と、方位センサ６４とは、走行制御部８０と、変化度検出部９４と、ねじれ解消制御部８４と、吸引制御部８６と、エラー処理部８８とに加え、その他のユニットを構成してもよい。
【００６８】
変化度検出部９４は、進行方向が変化するにように走行制御部８０が走行部２０を制御すると、方向変化度を検出する。変化度検出部９４は、方向検知部１１０と、角度変更部１１２と、角度記憶部１１４とを有する。方向検知部１１０は、作業車１２がどの方位を向いているかを検出する。角度変更部１１２は、作業車１２が向きを変えたとき、変化前の向きと変化後の向きとがなす角度に応じて、角度記憶部１１４が記憶する方向変化度を変更する。角度記憶部１１４は、作業車１２が向いている方位を示す方位値、および、方向変化度を記憶する。本実施形態においては、作業車１２が向いている方位と所定の方位（上述したように、本実施形態における「所定の方位」は、作業車１２が作業を開始した時点の進行方向である。）とがなす角度を方向変化度として扱う。これにより、角度記憶部１１４には角度を示す値が記憶される。ただし、本実施形態において、この角度は、作業車１２が時計周りに一回転したとき「２π」ラジアンとなる。この状態において、作業車１２が時計周りに向きを変えたとき、この角度は「２π」ラジアンを超える。また、この角度は、作業車１２が反時計周りに一回転したとき「−２π」ラジアンとなる。この状態において、作業車１２が反時計周りに向きを変えたとき、この角度は「−２π」ラジアンを下回る。
【００６９】
角度変更部１１２は、角度算出部１３０と、記憶制御部１３２とを有する。角度算出部１３０は、作業車１２が向きを変えたとき、向きを変える前に作業車１２が向いている方位と向きを変えた後に作業車１２が向いている方位とがなす角を算出する。記憶制御部１３２は、角度算出部１３０が算出した値を方向変化度として記憶するよう、角度記憶部１１４を制御する。
【００７０】
図９，１０に示すように、制御部４０で実行されるプログラムは、走行に関し、以下のような制御を実行する。
【００７１】
Ｓ４５０にて、走行制御部８０は、初期設定を実施する。本実施形態において初期値が設定されるパラメータには、上述した方向変化度を示すものと、初期設定の時点で方位センサ６４が検知した方位を示すものと、作業車１０が壁面に接触した直後に後進する期間を示すものとがある。本実施形態において、方向変化度（すなわち作業車１２が向いている方位と北とがなす角度）は、「０」ラジアンに設定される。
【００７２】
Ｓ４５２にて、走行制御部８０は、単位旋回角度を示すパラメータの値を設定する。本実施形態において、単位旋回角度とは、作業車１２が１回向きを変えるとき、向きの変化量を角度で示した値を意味する。走行制御部８０は、作業車１２に取付けられた図示しないディップスイッチがオンかオフかを調べることにより、この角度をいくらにするようユーザが希望しているのか把握する。本実施形態において、単位旋回角度を示すパラメータの値は、ユーザの希望に合致するよう設定される。
【００７３】
Ｓ４５４にて、記憶制御部１３２は、角度記憶部１１４が記憶する方向変化度を「０」に変更する。これにより、角度記憶部１１４が記憶する方向変化度がリセットされる。
【００７４】
Ｓ４５６にて、走行制御部８０は、作業車１２が反時計回り（すなわち左回り）に旋回するよう、走行部２０を制御する。旋回前の向きと旋回後の向きとがなす角度が単位旋回角度に等しくなると、走行制御部８０は走行部２０を停止させる。このような制御を実施するため、走行制御部８０は、作業車１２の旋回中、方向検知部１１０が検知する方位を監視し続けている。Ｓ４５８にて、角度算出部１３０は、角度記憶部１１４から方向変化度を読出す。方向変化度が読出されると、角度算出部１３０は、その値から単位旋回角度を差し引き、差を算出する。その差が算出されると、記憶制御部１３２は、算出された差を方向変化度として角度記憶部１１４に記憶させる。これにより、角度記憶部１１４が記憶する方向変化度が、単位旋回角度の分、小さくなるよう変更されたことになる。
【００７５】
Ｓ４６０にて、走行制御部８０は、作業車１２が時計回り（すなわち右回り）に旋回するよう、走行部２０を制御する。旋回前の向きと旋回後の向きとがなす角度が単位旋回角度に等しくなると、走行制御部８０は走行部２０を停止させる。このような制御を実施するため、走行制御部８０は、作業車１２の旋回中、方向検知部１１０が検知する方位を監視し続けている。Ｓ４６２にて、角度算出部１３０は、角度記憶部１１４から方向変化度を読出す。方向変化度が読出されると、角度算出部１３０は、その値と単位旋回角度との和を算出する。その和が算出されると、記憶制御部１３２は、算出された和を方向変化度として角度記憶部１１４に記憶させる。これにより、角度記憶部１１４が記憶する方向変化度が、単位旋回角度の分、大きくなるよう変更されたことになる。
【００７６】
Ｓ４６４にて、記憶制御部１３２は、角度記憶部１１４が記憶する方向変化度を「０」に変更する。これにより、角度記憶部１１４が記憶する方向変化度はリセットされる。
【００７７】
Ｓ４６６にて、走行制御部８０は、作業車１０が反時計回り（すなわち左回り）に旋回するよう、走行部２０を制御する。旋回前の向きと旋回後の向きとがなす角度が単位旋回角度に等しくなると、走行制御部８０は走行部２０を停止させる。このような制御を実施するため、走行制御部８０は、作業車１２の旋回中、方向検知部１１０が検知する方位を監視し続けている。Ｓ４６８にて、角度算出部１３０は、角度記憶部１１４から方向変化度を読出す。方向変化度が読出されると、角度算出部１３０は、その値から単位旋回角度を差し引き、差を算出する。その差が算出されると、記憶制御部１３２は、算出された差を方向変化度として角度記憶部１１４に記憶させる。これにより、角度記憶部１１４が記憶する方向変化度が、単位旋回角度の分、小さくなるよう変更されたことになる。
【００７８】
Ｓ４７０にて、走行制御部８０は、作業車１０が時計回り（すなわち右回り）に旋回するよう、走行部２０を制御する。旋回前の向きと旋回後の向きとがなす角度が単位旋回角度に等しくなると、走行制御部８０は走行部２０を停止させる。この制御を実施するため、走行制御部８０は、作業車１２の旋回中、方向検知部１１０が検知する方位を監視し続けている。Ｓ４７２にて、角度算出部１３０は、角度記憶部１１４から方向変化度を読出す。方向変化度が読出されると、角度算出部１３０は、その値と単位旋回角度との和を算出する。その和が算出されると、記憶制御部１３２は、算出された和を方向変化度として角度記憶部１１４に記憶させる。これにより、角度記憶部１１４が記憶する方向変化度が、単位旋回角度の分、大きくなるよう変更されたことになる。
【００７９】
なお、その他の処理については、第１実施形態と同様である。したがって、ここではその詳細を説明しない。
【００８０】
以上のようにして、本実施形態にかかる作業車１２は、方位センサ６４が検出した方位に基づき、ケーブルのねじれを解消するように旋回する。これにより、ケーブルのねじれが自動的に解消される。しかも、第１実施形態と同様に、本実施形態にかかる作業車１２は、プールの底を満遍なく清掃できる。
【００８１】
第１実施形態の説明において述べたように、水中塵芥清掃機にとって、電線のねじれは大きな問題となる。電線のねじれを防止することにより、余分な労力が費やされることや、水中塵芥清掃機の寿命が低下する事態は避けられる。
【００８２】
今回開示された実施形態はすべての点で例示である。本発明の範囲は上述した実施形態に基づいて制限されるものではなく、本発明の趣旨を逸脱しない範囲で種々の設計変更をしてもよいのはもちろんである。
【００８３】
例えば、第１実施形態において、旋回数ではなく、作業車１２が向いている方位と所定の方位とがなす角度が、方向変化度として扱われても良い。この場合、作業車１２が向いている方位と所定の方位とがなす角度が閾値を越えたか否かに基づいて処理が実施されることとなる。また、第２実施形態において、作業車１２が向いている方位は、方位センサ６４が検知したものではなく、作業車１２が向きを変えた回数などに基づいて算出された推定値であってもよい。この場合、作業車１２が向いている方位は、第１実施形態において採用された方法により推定されることが好ましい。
【符号の説明】
【００８４】
１０，１２  作業車
２０  走行部
２２  吸引部
２４  検知部
２８，４０  制御部
３０  走行部用ケーブル
８０  走行制御部
８２，９４  変化度検出部
８４  ねじれ解消制御部
８６  吸引制御部
１００      回数変更部
１０２      回数記憶部
１１０      方向検知部
１１２      角度変更部
１１４      角度記憶部
【図１】
2010167019.tif 000003
【図２】
2010167019.tif 000004
【図３】
2010167019.tif 000005
【図４】
2010167019.tif 000006
【図５】
2010167019.tif 000007
【図６】
2010167019.tif 000008
【図７】
2010167019.tif 000009
【図８】
2010167019.tif 000010
【図９】
2010167019.tif 000011
【図１０】
2010167019.tif 000012