(57)【特許請求の範囲】
【請求項１】
教示された清掃条件と走行経路とを再現することにより、自律的に走行し床面の清掃を実行する自律走行式床洗浄機であって、
洗浄液を床面に吐出する洗浄液吐出口と、前記床面上に存在する前記洗浄液を回収するスキージとを有し、前記清掃条件に従って床面を清掃する清掃部と、
操作者の操作又は走行制御指令に従って走行する走行部と、
所定の座標上の、前記走行部の前記走行経路上の位置と姿勢に関する情報とを含む位置情報を推定する位置推定部と、
前記操作者による前記清掃条件の入力を受け付けて、前記清掃部に出力する清掃条件教示部と、
前記操作者による前記走行部の移動操作を受け付ける走行経路教示部と、
前記操作者の操作による前記清掃条件及び前記走行経路を教示する手動操作教示モードの実行時に、前記位置推定部において推定された前記位置情報である教示位置情報と、前記清掃条件教示部において教示されている前記清掃条件である教示清掃条件とを、教示データ取得時間において取得する教示データ取得部と、
前記教示データ取得時間に、前記教示位置情報と、前記教示清掃条件と、を関連付けた清掃スケジュールを作成し記憶する清掃スケジュール作成部と、
前記教示データ取得時間における前記洗浄液吐出口の位置に基づいて算出された前記洗浄液の吐出位置が、当該教示データ取得時間における前記スキージの位置及び幅に基づいて算出されたスキージ軌跡に含まれない場合に、当該洗浄液の吐出位置が前記スキージ軌跡に含まれるよう前記清掃スケジュールを修正する、清掃スケジュール修正部と、
自律的に走行及び清掃を行う自律清掃モードの実行時に、前記清掃スケジュール作成部にて作成された前記清掃スケジュール、又は、前記清掃スケジュール修正部にて修正された前記清掃スケジュールに記憶された前記教示データ取得時間と前記教示清掃条件と前記教示位置情報とに基づいて、前記自律清掃モードの実行開始からの所定の経過時間における再現清掃条件と再現走行制御指令とを算出し、それぞれ、前記清掃部及び前記走行部に出力する清掃再現部と、
を備える自律走行式床洗浄機。
【請求項２】
前記清掃スケジュール修正部は、２点の前記教示データ取得時間における前記スキージの位置及び幅と、当該２点間に仮定した複数の仮想的な前記スキージの位置及び幅と、に基づいて前記スキージ軌跡を算出する、請求項１に記載の自律走行式床洗浄機。
【請求項３】
前記清掃条件は、前記洗浄液吐出口からの前記洗浄液の吐出量を含み、
前記清掃スケジュール修正部は、前記スキージ軌跡に含まれない前記洗浄液の吐出位置における前記洗浄液の吐出量を０とすることで、前記清掃スケジュールを修正する、請求項１又は２に記載の自律走行式床洗浄機。
【請求項４】
前記清掃部は、前記床面上の前記洗浄液を吸引する吸引口をさらに有し、
前記清掃条件は、前記吸引口による前記洗浄液の吸引力を含み、
前記清掃スケジュール修正部は、前記スキージ軌跡に含まれない前記洗浄液の吐出位置における前記洗浄液の吸引力を増加させることで、前記清掃スケジュールを修正する、請求項１〜３のいずれかに記載の自律走行式床洗浄機。
【請求項５】
前記清掃スケジュール修正部は、前記スキージ軌跡に前記洗浄液の吐出位置が存在しているか否かの判定を、現在の教示データ取得時間から、所定時間経過後の前記教示データ取得時間までの範囲内にて実行する、請求項１〜４のいずれかに記載の自律走行式床洗浄機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、教示された清掃条件と走行経路とを再現することにより、自律的に走行し清掃を実行する自律走行式床洗浄機に関する。
【背景技術】
【０００２】
従来、ユーザの操作により教示された走行経路及び清掃条件とを再現することにより、教示された走行経路を自律的に走行し、教示された清掃条件に従った清掃を自律的に実行する自律走行式床洗浄機（以後、洗浄機と呼ぶ）が知られている（例えば、特許文献１を参照）。この洗浄機は、床面に洗浄液を供給して洗浄用ブラシなどで当該床面を洗浄し、その後、洗浄に用いた洗浄液をスキージで回収するとの清掃作業を、床面を走行しながら実行する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−５８１３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に開示された洗浄機において、例えば、ユーザが洗浄機の操作を誤ったり、未熟なユーザが洗浄機の構造（スキージと洗浄液の供給口との位置関係など）を考慮しない操作を行ったりして、再現すると洗浄に用いた洗浄液をスキージにて回収できないような清掃スケジュールが作成されることがあった。その結果、洗浄機が清掃スケジュールに従って自律的に清掃作業をする場合に、使用後の洗浄液が床面に残留して適切な洗浄ができない場合があった。【０００５】
本発明の目的は、ユーザにより教示された洗浄液を用いた清掃作業を自律的に実行する洗浄機において、床面に洗浄液が残留しないような適切な清掃作業を自律的に実行することにある。
【課題を解決するための手段】
【０００６】
以下に、課題を解決するための手段として複数の態様を説明する。これら態様は、必要に応じて任意に組み合せることができる。
本発明の一見地に係る自律走行式床洗浄機は、教示された清掃条件と走行経路とを再現することにより、自律的に走行し清掃を実行する。自律走行式床洗浄機は、清掃部と、走行部と、位置推定部と、清掃条件教示部と、走行経路教示部と、教示データ取得部と、清掃スケジュール作成部と、清掃スケジュール修正部と、清掃再現部と、を備える。
清掃部は、洗浄液を床面に吐出する洗浄液吐出口と、床面上に存在する洗浄液を回収するスキージとを有し、清掃条件に従って床面を清掃する。走行部は、操作者の操作又は走行制御指令に従って走行する。位置推定部は、所定の座標上の、走行部の走行経路上の位置と姿勢に関する情報とを含む位置情報を推定する。清掃条件教示部は、操作者による清掃条件の入力を受け付けて、清掃部に出力する。走行経路教示部は、操作者による走行部の移動操作を受け付ける。【０００７】
教示データ取得部は、手動操作教示モードの実行時に、教示位置情報と教示清掃条件とを、教示データ取得時間において取得する。手動操作教示モードは、操作者の操作による清掃条件及び走行経路を教示するモードである。教示位置情報は、位置推定部において推定された位置情報である。教示清掃条件は、清掃条件教示部において教示されている清掃条件である。
清掃スケジュール作成部は、清掃スケジュールを作成し記憶する。清掃スケジュールは、教示データ取得時間に、教示位置情報と、教示清掃条件と、を関連付けたデータである。【０００８】
清掃スケジュール修正部は、教示データ取得時間における洗浄液の吐出位置が、当該教示データ取得時間におけるスキージ軌跡に含まれない場合に、当該洗浄液の吐出位置がスキージ軌跡に含まれるよう清掃スケジュールを修正する。スキージ軌跡は、教示データ取得時間におけるスキージの位置及び幅に基づいて算出されたスキージの軌跡である。洗浄液の吐出位置は、教示データ取得時間における洗浄液吐出口の位置に基づいて算出される。
清掃再現部は、清掃スケジュール作成部にて作成された清掃スケジュール、又は、清掃スケジュール修正部にて修正された清掃スケジュールに記憶された教示データ取得時間と教示清掃条件と教示位置情報とに基づいて、自律清掃モードの実行開始からの所定の経過時間における再現清掃条件と再現走行制御指令とを算出する。清掃再現部は、当該再現清掃条件及び再現走行制御指令を、それぞれ、清掃部及び走行部に出力する。自律清掃モードは、自律的に走行及び清掃を行うモードである。【０００９】
上記の自律走行式床洗浄機においては、清掃スケジュール修正部が、清掃スケジュール作成部にて作成した清掃スケジュールにおいて、スキージ軌跡に含まれない洗浄液の吐出位置が存在していれば、当該清掃スケジュールを修正して、洗浄液の吐出位置がスキージ軌跡に含まれるよう新たな清掃スケジュールを作成している。
清掃再現部は、修正された新たな清掃スケジュールが作成された場合には、当該新たな清掃スケジュールに基づいて算出した再現清掃条件を清掃部へ、新たな清掃スケジュールに基づいて算出した再現走行制御指令を走行部に出力している。【００１０】
これにより、床面に使用後の洗浄液が残留する清掃作業を実行してしまう清掃スケジュールが手動操作教示モードの実行時に作成された場合であっても、自律走行式床洗浄機は、当該清掃スケジュールを修正して、床面に洗浄液が残留しないような適切な清掃作業を自律的に実行できる。【００１１】
清掃スケジュール修正部は、２点の教示データ取得時間におけるスキージの位置及び幅と、当該２点間に仮定した複数の仮想的なスキージの位置及び幅と、に基づいてスキージ軌跡を算出してもよい。
これにより、より実際的なスキージの移動軌跡を表したスキージ軌跡を算出できる。この結果、スキージ軌跡に洗浄液の吐出位置が含まれるか否かをより精度よく実行できる。【００１２】
清掃条件は、洗浄液吐出口からの洗浄液の吐出量を含んでいてもよい。この場合、清掃スケジュール修正部は、スキージ軌跡に含まれない洗浄液の吐出位置における洗浄液の吐出量を０とすることで、清掃スケジュールを修正する。
スキージ軌跡に含まれないとされている洗浄液の吐出位置において洗浄液を吐出しないよう清掃スケジュールを修正することにより、スキージ軌跡に含まれる洗浄液の吐出位置においてのみ洗浄液を供給することとしている新たな清掃スケジュールを作成できる。【００１３】
清掃部は、床面上の洗浄液を吸引する吸引口をさらに有してもよい。この場合、清掃条件は、吸引口による洗浄液の吸引力を含む。清掃スケジュール修正部は、スキージ軌跡に含まれない洗浄液の吐出位置における洗浄液の吸引力を増加させることで、清掃スケジュールを修正する。
スキージ軌跡に含まれない洗浄液の吐出位置における洗浄液の吸引力を増加させることで、スキージによる洗浄液の回収範囲を拡大させて、修正後の新たな清掃スケジュールにおいて、当該洗浄液の吐出位置をスキージ軌跡内に含めることができる。【００１４】
清掃スケジュール修正部は、スキージ軌跡に洗浄液の吐出位置が存在しているか否かの判定を、現在の教示データ取得時間から所定時間経過後の教示データ取得時間までの範囲内にて実行してもよい。これにより、自律清掃モードの実行時において、ある経過時間に吐出した洗浄液が長時間床面に残存するといった不適切な清掃が実行されることを抑制できる。
【発明の効果】
【００１５】
自律走行式床洗浄機は、不適切な清掃スケジュールが手動操作教示モードにて作成されたとしても、床面に洗浄液が残留しないような適切な清掃作業を自律的に実行できる。
【図面の簡単な説明】
【００１６】
【図１】自律走行式床洗浄機の全体構成を示す図。
【図２】走行経路教示部の構成の一例を示す図。
【図３】設定部の構成を示す図。
【図４】制御部の全体構成を示す図。
【図５】洗浄機の仮想モデルの一例を示す図。
【図６】清掃制御部の詳細構成を示す図。
【図７】走行制御部の詳細構成を示す図。
【図８】制御統括部の詳細構成を示す図。
【図９Ａ】自律走行式床洗浄機の基本的な動作を示すフローチャート。
【図９Ｂ】手動操作教示モードの動作を示すフローチャート。
【図１０】清掃スケジュールの一例を示す図。
【図１１】位置情報が定義される座標系の一例。
【図１２】清掃スケジュールの修正処理を示すフローチャート。
【図１３】移動前後の自律走行式床洗浄機を表した仮想モデルの一例を示す図。
【図１４Ａ】ジョイントが所定角度以上で回転していると判定された場合の処理の一例を模式的に示す図（その１）。
【図１４Ｂ】ジョイントが所定角度以上で回転していると判定された場合の処理の一例を模式的に示す図（その２）。
【図１５】スキージ軌跡の一例を示す図。
【図１６】スキージ軌跡に洗浄液の吐出位置が含まれるか否かの判定方法を模式的に示す図。
【図１７Ａ】移動経路の細分化をしない場合のスキージ軌跡と吐出位置との関係の一例を示す図。
【図１７Ｂ】移動経路を細分化しないで算出したスキージ軌跡には含まれないと判定された吐出位置を、移動経路を細分化して算出したスキージ軌跡には含まれると判定される場合の一例を示す図。
【図１８】自律清掃モードの実行時の自律走行式床洗浄機の動作を示すフローチャート。
【発明を実施するための形態】
【００１７】
１．第１実施形態
（１）自律走行式床洗浄機の全体構成
まず、本実施形態に係る自律走行式床洗浄機の全体構成について、図１を用いて説明する。図１は、自律走行式床洗浄機１００の全体構成を示す図である。図１に示す自律走行式床洗浄機１００（以下、洗浄機１００と略称する）は、教示された清掃条件と走行経路とを忠実に再現することにより、自律的に清掃作業を実行するものである。「教示された清掃条件」とは、洗浄機１００が手動操作可能な状態のときに、操作者による手動操作により実行された清掃の条件（清掃条件）のことを言う。また、「教示された走行経路」とは、操作者による手動操作（移動操作）により洗浄機１００が走行した経路を言う。
【００１８】
洗浄機１００は、走行部１を備える。走行部１は、洗浄機１００を走行させる装置である。走行部１は、本体Ｂの底部の左右端にそれぞれ、走行モータ１１と、走行モータ１１の出力回転軸に取り付けられ、走行モータ１１の回転に従って回転する主輪１３と、を有する。
他の実施形態として、走行部１は、例えば、本体Ｂの底部の左右端に主輪１３よりも後方に、回転可能に取り付けられ補助輪１５を有してもよい。これにより、洗浄機１００をより安定にできる。さらなる他の実施形態として、洗浄機１００の重心位置などを考慮して、補助輪１５を主輪１３よりも前方に取り付けてもよい。
【００１９】
洗浄機１００は、清掃部３を備える。清掃部３は、本体Ｂの底部に設けられ、指定された清掃条件に従って床面Ｆを清掃する装置である。清掃部３の詳細については後ほど説明する。
【００２０】
洗浄機１００は、制御部５を有する。制御部５は、ＣＰＵ、記憶装置（ＲＡＭ、ＲＯＭ、ハードディスクドライブ、ＳＳＤなど）、各種インターフェースなどを備えたコンピュータシステムである。制御部５は、洗浄機１００に関する各種制御を行う。制御部５の構成については後ほど詳しく説明する。
【００２１】
洗浄機１００は、走行経路教示部７を備える。走行経路教示部７は、操作者による走行部１の移動操作を受け付ける装置である。走行経路教示部７は、取付部材８を介して、本体Ｂの上方後側に取り付けられている。これにより、操作者は、走行経路教示部７を操作して走行部１を移動操作できる。走行経路教示部７の詳細については、後ほど説明する。
他の実施形態として、走行経路教示部７は、本体Ｂに取り付けられていなくともよい。この場合、走行経路教示部７は、例えば、ジョイスティックなどのコントローラとできる。これにより、操作者は、洗浄機１００を遠隔操作できる。
【００２２】
洗浄機１００は、設定部９を備える。設定部９は、洗浄機１００に関する各種設定を行うための操作盤であり、本体Ｂの上方後側の表面に取り付けられている。また、設定部９は、走行経路教示部７の近傍に設けられている。これにより、操作者は、走行経路教示部７を操作して走行部１を操作しつつ、設定部９を操作できる。
【００２３】
他の実施形態として、設定部９は、本体Ｂに取り付けられていなくてもよい。この場合、設定部９は、例えば、ポータブル端末などの無線通信可能なコンソールである。これにより、操作者は、洗浄機１００を遠隔にて設定できる。
さらなる他の実施形態として、上記の走行経路教示部７と設定部９とを一体としてもよい。これにより、走行部１と設定部とを同時に操作しやすくできる。
【００２４】
（２）清掃部の構成
次に、清掃部３の構成について、図１を用いて説明する。清掃部３は、清掃条件に従って床面Ｆを洗浄するものである。
清掃部３は、洗浄液吐出口３１を有する。洗浄液吐出口３１は、例えば、その一端から洗浄液を吐出する中空の部材である。例えば、洗浄液吐出口３１を構成する中空の部材の一端は、洗浄用部材３５を固定する固定部材３５１に設けられた空洞Ｏ１に対応する位置に配置される。一方、当該部材の他端は、洗浄液を供給する洗浄液供給ポンプ３１１の出口側に接続される。
【００２５】
洗浄液供給ポンプ３１１の入口側は、本体Ｂの内部に搭載され、その内部に洗浄液を貯蔵する洗浄液供給タンク３１３の出口に接続されている。この構成により、洗浄液供給タンク３１３に貯蔵された洗浄液が、洗浄液供給ポンプ３１１により供給量を調節されて洗浄液吐出口３１に供給され、洗浄液吐出口３１の一端から空洞Ｏ１を介して床面Ｆに吐出される。洗浄液としては、例えば、水を用いることができる。
【００２６】
清掃部３は、スキージ３３を有する。スキージ３３は、スキージ固定部材３３１に固定されて本体Ｂの底面後方に設けられ、床面Ｆ上に残留する洗浄液（床面Ｆの洗浄に使用後の洗浄液）を収集する部材である。スキージ３３は、本体Ｂの幅方向に所定の長さだけ延びており、本体Ｂの移動に伴って移動することにより、本体Ｂの移動軌跡とスキージ３３の幅方向の長さとで決まる領域（スキージ軌跡と呼ぶことにする）を形成する。スキージ３３は、スキージ軌跡内の洗浄液を収集する。
【００２７】
スキージ固定部材３３１は、本体ＢとジョイントＪにより接続され、当該ジョイントＪ回りに、所定の角度範囲（Θとする）（図５）にて回動可能となっている。スキージ固定部材３３１の回動により、スキージ３３の本体Ｂの前後方向（洗浄機１００の移動方向）に対する角度が可変となっている。
【００２８】
他の実施形態において、スキージ固定部材３３１には吸引口Ｏ２が設けられていてもよい。吸引口Ｏ２は、吸引モータ３３３により吸引されて内部が負圧となる回収部材３３５（例えば、空洞を有する容器）に接続されている。これにより、吸引口Ｏ２は、吸引モータ３３３の吸引により回収部材３３５が負圧となると、吸引力Ｐを生じる。その結果、吸引口Ｏ２は、当該吸引力Ｐによりスキージ３３により収集された洗浄液やゴミなどを吸引して、回収部材３３５へと搬送できる。吸引口Ｏ２にて発生する吸引力Ｐは、例えば、吸引モータ３３３の出力を調整することにより、調整できる。
【００２９】
さらなる他の実施形態において、スキージ固定部材３３１は、ジョイントＪを介して、スキージ昇降アクチュエータ３３７に接続され、床面Ｆに対して昇降可能となっていてもよい。これにより、スキージ３３は、床面Ｆ上を接触するか、床面Ｆから離れるかを任意に設定可能となる。この結果、スキージ３３は、必要に応じて、床面Ｆ上の液体（洗浄液）などを、洗浄機１００の後方へ移動するのを抑制できる。
【００３０】
さらなる他の実施形態において、スキージ３３は、洗浄機１００がバック走行するときは、床面Ｆから離れていてもよい。これにより、バック走行時において、床面Ｆ上の液体などが洗浄機１００のさらに後方に移動することを抑制できる。その結果、洗浄機１００は、効率よく床面Ｆを洗浄できる。
【００３１】
清掃部３は、洗浄用部材３５を有する。洗浄用部材３５は、本体Ｂの底面の前方側に設けられた固定部材３５１に固定された、床面Ｆを洗浄するための部材である。固定部材３５１は、洗浄用部材回転モータ３５３の出力回転軸に接続されている。そのため、洗浄用部材３５は、洗浄用部材回転モータ３５３の回転によって洗浄液が存在する床面Ｆ上にて回転することで、床面Ｆを洗浄する。
【００３２】
他の実施形態において、洗浄用部材３５は、押圧部材３５５を介して、洗浄用部材押圧アクチュエータ３５７に接続されていてもよい。これにより、洗浄用部材３５は、床面Ｆに押し付けられて回転しながら床面Ｆを洗浄できる。洗浄用部材回転モータ３５３の回転数及び洗浄用部材押圧アクチュエータ３５７による押圧力を調整することにより、洗浄用部材３５による床面Ｆの洗浄力を調整できる。洗浄用部材３５としては、例えば、床面洗浄用のブラシなどを用いることができる。
【００３３】
清掃部３が上記の構成を有することにより、洗浄機１００は、床面Ｆを洗浄したり床面Ｆの液体（洗浄液）などを回収したりといった、多様な清掃作業を実行できる。
【００３４】
（３）走行経路教示部の構成
次に、本実施形態に係る走行経路教示部７の構成の一例について、図２を用いて説明する。図２は、走行経路教示部の構成の一例を示す図である。
走行経路教示部７は、ハンドル７１ａ、７１ｂを有する。ハンドル７１ａ、７１ｂは、それぞれ、筐体７３の左右側面に取り付けられている。ハンドル７１ａ、７１ｂは、ユーザが洗浄機１００を操作するときに使用される。
【００３５】
例えば、ハンドル７１ａ、７１ｂを把持する操作者は、ハンドル７１ａ、７１ｂを介して、洗浄機１００を操作者の方へ引張る力、又は、洗浄機１００を押し出す力のいずれかを加えることができる。ハンドル７１ａ、７１ｂのそれぞれにかける力を調節することにより、操作者は、洗浄機１００の走行方向を調整できる。例えば、洗浄機１００の前方方向から見て左側のハンドル７１ａに対して、洗浄機１００を引張る力を加えれば、洗浄機１００は左へと方向転換する。
【００３６】
ハンドル７１ａ、７１ｂは、筐体７３に回動可能に取り付けられている。また、ハンドル７１ａ、７１ｂは、走行制御指令算出部７５を介して制御部５に接続されている。走行制御指令算出部７５は、ハンドル７１ａ、７１ｂの回動を電気信号に変換し、制御部５に出力する。これにより、操作者は、ハンドル７１ａ、７１ｂの回動操作によって、洗浄機１００（走行部１）を操作できる。
【００３７】
例えば、ハンドル７１ａ、７１ｂの回動方向を調整することにより、操作者は、洗浄機１００の前進と後進とを切り替え可能となっていてもよい。また、ハンドル７１ａ、７１ｂの回動量を調節することにより、洗浄機１００の走行速度を調整可能となっていてもよい。さらに、ハンドル７１ａの回動量と、ハンドル７１ｂの回動量とを異ならせて、洗浄機１００の進行方向を変更してもよい。
【００３８】
他の実施形態として、ハンドル７１ａを進行方向への走行速度を指示するための入力インターフェースとし、ハンドル７１ｂを操舵角を指示するための入力インターフェースとしてもよい。
【００３９】
（４）設定部の構成
次に、設定部９の構成について、図３を用いて説明する。図３は、設定部の構成を示す図である。
設定部９は、切替部９１を有する。切替部９１は、洗浄機１００の動作モードを選択すし、制御部に出力する。洗浄機１００の動作モードとしては、自律清掃モードと手動操作モードとがある。自律清掃モードは、洗浄機１００が、自律的に走行し床面Ｆを洗浄する動作モードである。一方、手動操作モードは、洗浄機１００が操作者により手動操作可能な状態にある動作モードである。
【００４０】
切替部９１は、例えば、図３に示すような切り替えスイッチにて構成できる。この場合、自律清掃モードの選択は、例えば、切り替えスイッチにて構成された切替部９１を図３に示す「自動」に切り替えることにより可能となる。一方、手動操作モードの選択は、例えば、切替部９１を図３に示す「手動」に切り替えることにより可能となる。
【００４１】
設定部９は、手動操作記憶スイッチ９２を有する。手動操作記憶スイッチ９２は、操作者による洗浄機１００の手動操作の記憶を開始又は終了するためのスイッチである。具体的には、切替部９１により動作モードが手動操作モードに設定された後に手動操作記憶スイッチ９２が切り替わると、操作者の手動操作により実行された清掃条件および走行経路を、洗浄機１００に教示する手動操作教示モードが、手動操作モードのサブ動作モードとして開始される。一方、手動操作教示モードを実行中に手動操作記憶スイッチ９２が切り替わると、手動操作教示モードが停止される。
【００４２】
手動操作記憶スイッチ９２により手動操作教示モードの開始と停止とが可能となることにより、手動操作教示モードを任意のタイミングにて開始又は停止できる。その結果、操作者が所望する清掃スケジュール５００を作成できる。
【００４３】
手動操作記憶スイッチ９２としては、例えば、図３に示すような押ボタンスイッチとすることができる。この場合、手動操作記憶スイッチ９２の切り替えは、当該押ボタンスイッチを押すことにより切り替わる。
【００４４】
他の実施形態において、手動操作教示モードの実行時に手動操作記憶スイッチ９２が切り替わったら、動作モードが手動操作教示モードから手動操作モードに切り替わってもよい。これにより、操作者は、手動操作教示モードが手動操作モードに切り替わっても、継続して洗浄機１００を手動操作できる。
【００４５】
設定部９は、清掃条件教示部９３を有する。清掃条件教示部９３は、操作者による清掃条件の入力を受け付けて、清掃制御指令算出部９４へ出力する。清掃制御指令算出部９４は、清掃条件教示部９３にて受け付けた清掃条件を、制御部５が解読可能な信号に変換する信号変換回路、又は、コンピュータシステムである。
【００４６】
図３に示すように、清掃条件教示部９３は、清掃条件調整部９３１を有する。清掃条件調整部９３１は、洗浄液吐出口３１から吐出される洗浄液の供給量Ｓ（吐出量の一例）を教示清掃条件として設定する供給量調整部９３１ａを有する。供給量調整部９３１ａは、例えば押ボタンスイッチにより構成でき、ボタンを押す回数により供給量Ｓを設定できる。
【００４７】
他の実施形態において、清掃条件調整部９３１は、吸引口Ｏ２による吸引力Ｐを、教示清掃条件として設定する吸引力調整部９３１ｂを有してもよい。吸引力調整部９３１ｂは、例えば押ボタンスイッチであり、ボタンを押す回数により吸引力Ｐを調整できる。これにより、床面Ｆに存在する洗浄液の吸引可能範囲を調節できる。
【００４８】
さらなる他の実施形態において、清掃条件調整部９３１は、洗浄用部材３５による床面Ｆの洗浄力Ｗを教示清掃条件として設定する洗浄力調整部９３１ｃを有してもよい。洗浄力調整部９３１ｃは、例えば押ボタンスイッチであり、ボタンを押す回数により洗浄用部材３５による床面Ｆの洗浄力Ｗを調整できる。
【００４９】
さらなる他の実施形態において、清掃条件調整部９３１は、供給量調整部９３１ａと、吸引力調整部９３１ｂと、洗浄力調整部９３１ｃと、を全て有してもよい。これにより、洗浄液の供給量Ｓ、吸引口Ｏ２による吸引力Ｐ、及び／又は床面Ｆの洗浄力Ｗを、個別に調整した教示清掃条件を設定できる。
【００５０】
清掃条件教示部９３は、運転切替部９３３を有する。運転切替部９３３は、洗浄液吐出口３１からの洗浄液の供給の開始又は停止を指令する供給切替部９３３ａを有する。供給切替部９３３ａは、例えば押ボタンスイッチにより構成でき、ボタンを押すことにより洗浄液の供給開始と供給停止を切り替えることができる。
【００５１】
他の実施形態において、運転切替部９３３は、吸引口Ｏ２による吸引の開始又は停止を指令する吸引切替部９３３ｂを有してもよい。吸引切替部９３３ｂは、例えば押ボタンスイッチであり、ボタンを押すことにより吸引開始と吸引停止とを切り替えることができる。
【００５２】
さらなる他の実施形態において、運転切替部９３３は、洗浄用部材３５による床面Ｆの洗浄の開始又は停止を指令する洗浄切替部９３３ｃを有してもよい。洗浄切替部９３３ｃは、例えば押ボタンスイッチであり、ボタンを押すことにより床面Ｆの洗浄開始と停止とを切り替えることができる。
【００５３】
さらなる他の実施形態において、運転切替部９３３は、供給切替部９３３ａと、吸引切替部９３３ｂと、洗浄切替部９３３ｃと、を有してもよい。これにより、洗浄液の供給、吸引口Ｏ２による吸引、及び／又は、床面Ｆの洗浄の開始と停止を、個別に切り替えることができる。
【００５４】
その結果、例えば、供給切替部９３３ａにより洗浄液の供給を停止後に吸引切替部９３３ｂにより洗浄液の吸引を開始するといった清掃作業、及び／又は、供給切替部９３３ａにより洗浄液の供給を停止した後、床面Ｆに洗浄液がなじむのに必要な程度の時間経過後に洗浄切替部９３３ｃにより床面Ｆの洗浄を開始するといった清掃作業を洗浄機１００に実行させることができる。
【００５５】
設定部９は、清掃制御指令算出部９４を有する。清掃制御指令算出部９４は、清掃条件調整部９３１により設定された教示清掃条件、及び、運転切替部９３３による切替指令を、制御部５が解釈可能な信号に変換して制御部５に出力する、例えば、信号変換回路又はコンピュータシステムである。
【００５６】
設定部９は、設定操作部９５を有する。設定操作部９５は、例えば押圧スイッチなどにより構成され、洗浄機１００に関する各種設定の入力を受け付けて、設定変換部９６を介して、制御部５に出力する。設定操作部９５は、作成後の清掃スケジュール５００を修正する機能の有効又は無効、後述する移動経路の細分化の程度、洗浄機１００の仮想モデルの各パラメータなどを設定する。
設定変換部９６は、設定操作部９５にて受け付けた入力を、制御部５が解読可能な信号に変換する信号変換回路、又は、コンピュータシステムである。
【００５７】
他の実施形態において、設定部９はディスプレイ９７を有してもよい。ディスプレイ９７は、現在設定されている洗浄機１００に関する各種設定情報を表示する。ディスプレイ９７は、例えば、液晶ディスプレイ、有機ＥＬディスプレイなどのディスプレイである。
【００５８】
ディスプレイ９７は、例えば、洗浄液吐出口３１からの洗浄液の供給量Ｓ、洗浄用部材３５による床面Ｆの洗浄力Ｗ、及び／又は、吸引口Ｏ２による吸引力Ｐを、設定された清掃条件として表示する。これにより、操作者は、表示された清掃条件を確認しながら、清掃作業を実行できる。
【００５９】
他の実施形態において、ディスプレイ９７は、現在の動作モード（自律清掃モード／手動操作モード／手動操作教示モード）、運転時間、洗浄機１００を駆動するバッテリー残量などをさらに表示してもよい。さらなる他の実施形態において、ディスプレイ９７は、設定操作部９５により洗浄機１００の各種設定を行う際に、各種設定手順を表示してもよい。これにより、洗浄機１００に関する情報を視覚的にユーザに提供し、ユーザは表示された情報に基づいて、設定部９を操作できる。
【００６０】
他の実施形態において、ディスプレイ９７にはタッチパネルが設けられていてもよい。この場合、上記の切替部９１、手動操作記憶スイッチ９２、清掃条件教示部９３、及び／又は設定操作部９５は、当該タッチパネルにより実現されてもよい。
【００６１】
（５）制御部の構成
（５−１）制御部の全体構成
以下、制御部５の構成について説明する。まず、制御部５の全体構成について、図４を用いて説明する。図４は、制御部の全体構成を示す図である。以下に説明する制御部５の各機能ブロックの全部又は一部は、制御部５を構成するコンピュータシステムにて実行可能なプログラムにより実現されてもよい。この場合、当該プログラムは、メモリ部及び／又は記憶装置に記憶されていてもよい。制御部５の各機能ブロックの全部又は一部は、ＳｏＣ（Ｓｙｓｔｅｍ  ｏｎ  Ｃｈｉｐ）などのカスタムＩＣとして実現されていてもよい。
【００６２】
制御部５は、１つのコンピュータシステムにより構成されていてもよいし、複数のコンピュータシステムにより構成されていてもよい。複数のコンピュータシステムにより制御部５を構成する場合、例えば、制御部５の複数の機能ブロックにて実現される機能を複数のコンピュータシステムに任意の割合で振り分けて実行させることができる。
【００６３】
制御部５は、清掃制御部５１を有する。清掃制御部５１は、洗浄用部材回転モータ３５３と、洗浄液供給ポンプ３１１と、吸引モータ３３３に対して、これらのモータやポンプの回転速度や出力などを制御する電力（清掃部制御量と呼ぶ）を供給する。また、清掃制御部５１は、洗浄用部材押圧アクチュエータ３５７に対し動作量を制御する電力（清掃部制御量）を供給する。
スキージ昇降アクチュエータ３３７が設けられている場合には、清掃制御部５１は、当該アクチュエータに対してスキージ３３を昇降させる駆動信号を出力してもよい。
【００６４】
清掃制御部５１は、清掃制御指令算出部９４を介して清掃条件教示部９３から教示清掃条件を入力し、当該教示清掃条件に基づいて、洗浄用部材回転モータ３５３と、洗浄液供給ポンプ３１１と、吸引モータ３３３と、を制御する。
また、清掃制御部５１は、制御統括部５５から再現清掃条件（後述）を入力し、当該再現清掃条件に基づいて、清掃部３を制御する。
【００６５】
制御部５は、走行制御部５３を有する。走行制御部５３は、走行経路教示部７から入力したハンドル７１ａ、７１ｂの回動量及び回動方向に基づく走行制御指令、又は、制御統括部５５から入力した再現走行制御指令に基づき、走行モータ１１を制御する。
また、走行制御部５３は、走行モータ１１の出力回転軸に取り付けられたエンコーダ１１１から出力されるパルス信号に基づいて、走行モータ１１の回転速度を算出する。これにより、走行制御部５３は、走行モータ１１の回転速度（すなわち、主輪１３の回転速度）をモニターしながら、走行モータ１１を制御できる。
【００６６】
制御部５は、制御統括部５５を有する。制御統括部５５は、洗浄機１００による清掃及び走行を統括する。具体的には、制御統括部５５は、前方検出器５５５１ａ、後方検出器５５５１ｂ、及び／又はエンコーダ１１１にて取得された情報に基づいて、洗浄機１００が床面Ｆのどの位置を移動しているかを示す位置情報を算出する。
【００６７】
制御統括部５５は、手動操作教示モードの実行時においては、清掃制御部５１から清掃条件を教示清掃条件として受信し、上記の位置情報及び教示清掃条件とを用いて清掃スケジュール５００を作成する。
【００６８】
一方、自律清掃モードの実行時においては、制御統括部５５は、清掃スケジュール５００に記憶されたデータに基づいて再現清掃条件及び再現走行制御指令を算出し、再現清掃条件を清掃制御部５１に、再現走行制御指令を走行制御部５３に出力する。
これにより、自律清掃モードの実行時においては、清掃制御部５１は、再現清掃条件に基づいて、洗浄用部材回転モータ３５３、洗浄液供給ポンプ３１１、吸引モータ３３３、及び／又は、洗浄用部材押圧アクチュエータ３５７を制御することで、洗浄機１００に対して自律的に清掃作業を実行させることができる。また、走行制御部５３は、再現走行制御指令に基づいて走行モータ１１を制御することで、洗浄機１００を自律的に移動させることができる。
【００６９】
制御部５は、記憶部５７を有する。記憶部５７は、制御部５を構成するコンピュータシステムの記憶装置の記憶領域の一部又は全部であり、洗浄機１００に関する各種情報を記憶する。具体的には、記憶部５７は、制御統括部５５において作成された清掃スケジュール５００、及び、設定操作部９５や設定変換部９６から入力された洗浄機１００に関する各種設定を記憶する。
【００７０】
記憶部５７は、図５に示すような洗浄機１００の仮想モデルを記憶する。図５は、洗浄機の仮想モデルの一例を示す図である。この仮想モデルは、後述するスキージ軌跡、及び、各教示位置情報に対応する洗浄液の吐出位置を算出するために用いられる。
【００７１】
図５に示す仮想モデルにおいて、点Ｐcは、洗浄機１００の中心位置である。位置推定部５５５５にて推定される位置情報は、点Ｐcの座標値である。点Ｐpは洗浄液吐出口３１の位置であり、点ＰjはジョイントＪの位置である。点Ｐcから点Ｐpまでの長さＬpcと、点Ｐcから点Ｐjまでの長さＬcjは一定であるとする。
【００７２】
点Ｐsは吸引口Ｏ２の位置（スキージ３３の中心位置）である。点Ｐslはスキージ３３の左端（洗浄機１００を前進方向に見た場合）の位置であり、点Ｐsrはスキージ３３の右端の位置である。点Ｐslから点Ｐsrまでの長さＬsは、スキージ３３の幅寸法であり、一定値（ｗ）である。また、点Ｐjから点Ｐsまでの長さＬjs（スキージ固定部材３３１の長さに対応）は一定であるとする。
【００７３】
また、本実施形態の仮想モデルにおいては、洗浄用部材３５よりもわずかに小さな円に内接する八角形の頂点のそれぞれに、洗浄液吐出口３１から供給（吐出）された洗浄液の位置Ｐwを定義する。これにより、仮想モデルにおいて、洗浄液吐出口３１から供給された洗浄液が、洗浄用部材３５の回転により床面Ｆ上で拡散することを考慮できる。
【００７４】
他の実施形態において、洗浄液の位置Ｐwを、洗浄用部材３５よりもわずかに小さな円に内接する八角形以外の多角形（例えば、三角形、四角形、五角形、六角形など）の頂点のそれぞれに定義してもよい。どの多角形の頂点に定義するかは、例えば、清掃スケジュール修正部５５７（制御部５）の処理能力等により、適宜選択できる。
【００７５】
清掃制御部５１、走行制御部５３、及び制御統括部５５は、記憶部５７に記憶された洗浄機１００に関する各種設定、及び／又は、清掃スケジュール５００を必要に応じて読み出して、これらに基づいて各種の調整及び制御を実行できる。
【００７６】
他の実施形態において、制御部５は、記憶部５７に記憶された清掃スケジュール５００などの情報を他の記憶媒体に記憶するためのデータ書き込み装置（図示せず）を有していてもよい。さらなる他の実施形態において、制御部５は、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ポートなどの、データ書き込み装置を接続可能な接続端子を有していてもよい。
これにより、記憶部５７に記憶された清掃スケジュール５００などの情報を、他の記憶媒体に記憶できる。
【００７７】
（５−２）清掃制御部の構成
以下、清掃部３を制御する清掃制御部５１の構成について、図６を用いて詳細に説明する。図６は、清掃制御部の詳細構成を示す図である。
清掃制御部５１は、清掃切替部５１１を有する。清掃切替部５１１は、３つの端子ａ、ｂ、及びｃを有している。端子ａは清掃条件教示部９３に接続され、端子ｂは清掃部制御部５１３及び制御統括部５５に接続され、端子ｃは制御統括部５５に接続されている。設定部９がディスプレイ９７を有する場合には、端子ｂにディスプレイ９７が接続されてもよい。
【００７８】
清掃切替部５１１は、切替部９１により選択されている動作モードに基づいて、端子ｂと端子ａとを接続するか、あるいは、端子ｂと端子ｃとを接続するかのいずれかを選択して、清掃部制御部５１３に対して教示清掃条件を出力するか、再現清掃条件を出力するかを決定する。
【００７９】
具体的には、切替部９１において手動操作モード（手動操作教示モードも含む）が選択されていれば、清掃切替部５１１は、端子ａと端子ｂとを接続することで、清掃条件教示部９３を、清掃部制御部５１３及び制御統括部５５に接続する。これにより、清掃切替部５１１は、手動操作モード又は手動操作教示モードの実行時には、清掃条件教示部９３にて設定された教示清掃条件を、清掃部制御部５１３及び制御統括部５５に送信できる。また、ディスプレイ９７が端子ｂに接続されている場合には、教示清掃条件をディスプレイ９７に表示できる。
【００８０】
一方、切替部９１において自律清掃モードが選択されていれば、清掃切替部５１１は、端子ｂと端子ｃとを接続することで、制御統括部５５を、清掃部制御部５１３に接続する。これにより、清掃切替部５１１は、自律清掃モードの実行時には、制御統括部５５から出力される再現清掃条件を、清掃部制御部５１３に送信できる。また、ディスプレイ９７が端子ｂに接続されている場合には、再現清掃条件をディスプレイ９７に表示できる。
【００８１】
清掃部制御部５１３は、受信した教示清掃条件又は再現清掃条件に基いて、洗浄用部材回転モータ３５３、洗浄用部材押圧アクチュエータ３５７、洗浄液供給ポンプ３１１、及び／又は吸引モータ３３３に出力すべき制御量を算出し、当該制御量に応じた駆動電力を、上述のモータ、ポンプ、及び／又はアクチュエータに出力する。
【００８２】
具体的には、清掃部制御部５１３は、清掃条件としての床面Ｆの洗浄力Ｗに基づいて、洗浄用部材回転モータ３５３の回転数、及び／又は、洗浄用部材押圧アクチュエータ３５７の押圧力を算出して、当該回転数及び押圧力に応じた駆動電力を、それぞれ、洗浄用部材回転モータ３５３及び洗浄用部材押圧アクチュエータ３５７に出力することで、洗浄用部材３５による床面Ｆの洗浄力を制御する。
【００８３】
清掃部制御部５１３は、清掃条件としての洗浄液の供給量Ｓに基づいて洗浄液供給ポンプ３１１の洗浄液流量を算出し、当該流量に応じた駆動電力を洗浄液供給ポンプ３１１に出力することで、洗浄液吐出口３１から吐出される洗浄液の量を制御する。
【００８４】
清掃部制御部５１３は、清掃条件としての吸引力Ｐに基づいて吸引モータ３３３の回転数（及び／又は出力）を算出し、当該回転数（及び／又は出力）に応じた駆動電力を吸引モータ３３３に出力することで、吸引口Ｏ２の吸引力を制御する。
【００８５】
なお、清掃部３がスキージ昇降アクチュエータ３３７を有する場合には、清掃部制御部５１３は、スキージ３３を昇降させる駆動信号を当該アクチュエータに出力することで、スキージ３３を昇降できる。
【００８６】
（５−３）走行制御部の構成
以下、走行部１を制御する走行制御部５３の構成について、図７を用いて詳細に説明する。図７は、走行制御部の詳細構成を示す図である。
走行制御部５３は、走行切替部５３１を有する。走行切替部５３１は、３つの端子ｄ、ｅ、及びｆを有している。端子ｄは走行経路教示部７に接続され、端子ｅはモータ制御部５３３に接続され、端子ｆは制御統括部５５に接続されている。
【００８７】
走行切替部５３１は、切替部９１により選択されている動作モードに基づいて、端子ｅと端子ｄとを接続するか、あるいは、端子ｅと端子ｆとを接続するかのいずれかを選択する。
【００８８】
具体的には、切替部９１において手動操作モード（手動操作教示モードも含む）が選択されていれば、走行切替部５３１は、端子ｅと端子ｄとを接続することで、走行経路教示部７をモータ制御部５３３に接続する。これにより、走行切替部５３１は、手動操作モード又は手動操作教示モードの実行時には、走行経路教示部７のハンドル７１ａ、７１ｂの回動量及び／又は回転方向を示す信号を、モータ制御部５３３に送信できる。
【００８９】
一方、切替部９１において自律清掃モードが選択されていれば、走行切替部５３１は、端子ｅと端子ｆとを接続することで、制御統括部５５をモータ制御部５３３に接続する。これにより、走行切替部５３１は、自律清掃モードの実行時には、制御統括部５５から出力される再現走行制御指令を、モータ制御部５３３に送信できる。
【００９０】
モータ制御部５３３は、入力されたハンドル７１ａ、７１ｂの回動量／回動方向、又は、再現走行制御指令に基づいて、走行モータ１１の目標回転速度を算出し、当該目標回転速度にて走行モータ１１を回転させるための駆動電力を、走行モータ１１に出力する。
モータ制御部５３３は、エンコーダ１１１からのパルス信号に基づいて実際の走行モータ１１の回転速度を算出しフィードバックして、走行モータ１１に出力すべき駆動電力を算出する。従って、モータ制御部５３３は、例えば、ＰＩ（Ｐｒｏｐｏｒｔｉｏｎａｌ  Ｉｎｔｅｇｒａｌ）制御理論や、ＰＩＤ（Ｐｒｏｐｏｒｔｉｏｎａｌ  Ｉｎｔｅｇｒａｌ  Ｄｉｆｆｅｒｅｎｔｉａｌ）制御理論などを用いて走行モータ１１を制御する。
【００９１】
本実施形態においては、本体Ｂの底部の左右端のそれぞれに、走行モータ１１及び主輪１３が設けられている。このような場合、モータ制御部５３３は、左右２つの走行モータ１１のそれぞれの回転速度及び回転方向を独立に制御して、洗浄機１００の進行方向を決定する。
【００９２】
他の実施形態において、制御部５が複数のコンピュータシステムにて構成される場合、モータ制御部５３３は、当該複数のコンピュータシステムのうちの１つであってもよい。すなわち、モータ制御部５３３の機能のみを１つのコンピュータシステムにて実現してもよい。この場合、モータ制御部５３３は、例えば、ＰＩ制御理論又はＰＩＤ制御理論を用いたモータ制御装置である。
【００９３】
（５−４）制御統括部の構成
以下、制御統括部５５の構成について、図８を用いて詳細に説明する。図８は、制御統括部の詳細構成を示す図である。
制御統括部５５は、教示データ取得部５５１を有する。教示データ取得部５５１は、手動操作教示モードの実行時に、教示位置情報と、教示清掃条件とを、教示データ取得時間において取得する。具体的には、教示データ取得部５５１は、ＳＬＡＭ部５５５（後述）から教示データ取得時間と教示位置情報とを入力し、清掃制御部５１から当該教示データ取得時間における教示清掃条件を入力する。教示データの取得時間としては、例えば、制御部５のシステムクロックとできる。
教示データ取得部５５１は、取得した教示データ取得時間、教示位置情報、及び教示清掃条件を、清掃スケジュール作成部５５３に出力する。
【００９４】
清掃スケジュール作成部５５３は、教示データ取得部５５１から取得した教示位置情報と、教示清掃条件と、教示データ取得時間と、を関連付けて清掃スケジュール５００を作成して記憶部５７に記憶する。
【００９５】
ＳＬＡＭ部５５５は、本体Ｂの前方に設けられた前方検出器５５５１ａ（図１）にて取得した洗浄機１００の前方に存在する障害物に関する情報と、本体Ｂの後方に設けられた後方検出器５５５１ｂ（図１）にて取得した洗浄機１００の後方に存在する障害物に関する情報と、エンコーダ１１１にて取得した走行モータ１１の回転量に基づいて、洗浄機１００の所定の座標上の位置に関する情報（位置情報）を推定する。
【００９６】
前方検出器５５５１ａ及び後方検出器５５５１ｂは、例えば、その検出範囲が１８０°以上のレーザーレンジファインダ（Ｌａｓｅｒ  Ｒａｎｇｅ  Ｆｉｎｄｅｒ、ＬＲＦ）である。レーザーレンジファインダを前方検出器５５５１ａ及び後方検出器５５５１ｂとして用いた場合、走行部１と障害物との距離と、当該障害物が存在する方向とが、障害物に関する情報として取得される。
【００９７】
他の実施形態において、前方検出器５５５１ａの検出範囲（検出角度及び／又は検出距離）を、後方検出器５５５１ｂの検出範囲よりも広くしてもよい。これにより、洗浄機１００の前方方向であってより広範囲に存在する障害物に関する情報を取得できる。
【００９８】
制御統括部５５は、清掃スケジュール修正部５５７を有する。清掃スケジュール修正部５５７は、清掃スケジュール５００に記憶された各教示位置情報におけるスキージ３３の位置、及び、スキージ３３の幅寸法に基づいて、清掃スケジュール５００に従って洗浄機１００が移動するときのスキージ３３の軌跡（スキージ軌跡と呼ぶことにする）を算出し、現在の清掃スケジュール５００に記憶されている洗浄液の吐出位置が算出されたスキージ軌跡に含まれているか否かを判定する。
【００９９】
当該判定の結果、算出されたスキージ軌跡に含まれない洗浄液の吐出位置が、現在の清掃スケジュール５００中に存在していれば、清掃スケジュール修正部５５７は、洗浄液の吐出位置がスキージ軌跡に含まれるように現在の清掃スケジュール５００を修正することで、新たな清掃スケジュールを作成し記憶部５７に記憶する。清掃スケジュール修正部５５７による清掃スケジュール５００の修正方法については、後ほど詳しく説明する。
【０１００】
制御統括部５５は、清掃再現部５５９を有する。清掃再現部５５９は、自律清掃モードの実行時に、清掃スケジュール５００に記憶された教示データ取得時間、教示清掃条件、及び教示位置情報に基づいて、自律清掃モードの実行開始からの所定の経過時間における再現清掃条件と再現走行制御指令とを算出し、それぞれ、清掃制御部５１及び走行制御部５３に出力する。
【０１０１】
（５−５）ＳＬＡＭ部の構成
以下、ＳＬＡＭ部５５５の構成の詳細について、図８を用いて説明する。本実施形態に係るＳＬＡＭ部５５５は、ＳＬＡＭ（Ｓｉｍｕｌｔａｎｅｏｕｓ  Ｌｏｃａｌｉｚａｔｉｏｎ  ａｎｄ  Ｍａｐｐｉｎｇ）法にて、洗浄機１００の位置（位置情報）推定と地図情報の作成とを実行する。
ＳＬＡＭ部５５５は、地図作成部５５５３を有する。地図作成部５５５３は、前方検出器５５５１ａにて取得された前方の障害物（例えば、壁など）に関する情報、後方検出器５５５１ｂにて取得された後方の障害物に関する情報と、を用いて地図情報を作成する。地図情報は、位置推定部５５５５において位置情報を推定する際に用いられる。地図情報としては、ローカルマップとグローバルマップとが存在する。
【０１０２】
ローカルマップは、洗浄機１００の周囲に存在する障害物（の存在位置）に関する地図情報である。ローカルマップは、前方検出器５５５１ａにて取得された前方の障害物に関する情報と、後方検出器５５５１ｂにて取得された後方の障害物に関する情報とを、必要に応じて座標変換することにより作成される。
【０１０３】
グローバルマップは、床面Ｆを清掃する際に洗浄機１００が移動する環境（移動環境）に存在する障害物（の存在位置）に関する地図情報である。グローバルマップは、手動操作教示モードの実行時に取得したローカルマップに基づいて生成される。そのため、ローカルマップは、それを取得した時間（例えば、教示データ取得時間）に関連付けられて記憶部５７に記憶されている。
他の実施形態において、ローカルマップは、それを取得したときの洗浄機１００の推定位置に関連付けられて記憶部５７に記憶されてもよい。
さらなる他の実施形態において、グローバルマップは、専用のソフトウェア又はＣＡＤなどを用いて作成されてもよい。この場合、当該ソフトウェアなどで作成したグローバルマップは、洗浄機１００の制御部５が解釈できるようなデータに変換される。
【０１０４】
地図作成部５５５３は、ある経過時間に関連付けられたローカルマップと、当該ある経過時間の近傍の時間に関連付けられたローカルマップとを、各経過時間における洗浄機１００の位置に配置する（ローカルマップの中心を、対応する経過時間における洗浄機１００の位置に配置する）ことで、移動環境のうちの一部（例えば、位置推定に必要な程度の範囲）を表す地図情報を、グローバルマップとして生成する。
また、地図作成部５５５３は、過去に生成したグローバルマップのうち、位置推定に不要となった部分を削除する。
【０１０５】
他の実施形態において、移動環境が環状経路を形成しない場合など、「環状経路問題」（初期段階に生成されたグローバルマップの一部と、最終段階に生成されたグローバルマップに一部が一致しなくなる問題）が発生しない場合には、移動環境の全体を表す地図情報をグローバルマップとして生成してもよい。
【０１０６】
ＳＬＡＭ部５５５は、位置推定部５５５５を有する。位置推定部５５５５は、地図作成部５５５３が生成したグローバルマップと、ローカルマップと、走行モータ１１の回転量と、に基づいて、所定の座標上の洗浄機１００の位置に関する位置情報を推定する。
【０１０７】
具体的には、以下のようにして位置情報が推定される。ここでは、洗浄機１００がある所定の時刻（時刻ｔkとする）における（推定）位置から移動して、次の時刻（時刻ｔk+1とする）にて洗浄機１００が到達する位置を推定する場合を例として考える。
まず、位置推定部５５５５は、時刻ｔkから時刻ｔk+1までの間にエンコーダ１１１から出力されたパルス数から、時刻ｔkから時刻ｔk+1までの間の主輪１３の回転量を算出し、当該回転量に基づいて、主輪１３の回転による洗浄機１００の移動距離を推定する（デッドレコニング）。
【０１０８】
次に、位置推定部５５５５は、時刻ｔkにおける事後確率（洗浄機１００の位置と、時刻ｔkにおいて当該位置に洗浄機１００が存在する確率と、の関係を表した確率分布に対応する）を、主輪１３の回転による洗浄機１００の移動距離分だけ移動させて、時刻ｔk+1における事前確率を算出する。
他の実施形態において、位置推定部５５５５は、主輪１３の回転による移動距離分だけ移動後の事後確率の確率分布の幅（標準偏差）を拡大して、時刻ｔk+1における事前確率としてもよい。これにより、主輪１３と床面Ｆとの滑りを考慮した事前確率を算出できる。
【０１０９】
その後、位置推定部５５５５は、時刻ｔk+1におけるローカルマップとグローバルマップとを地図作成部５５５３から取得し、時刻ｔk+1におけるローカルマップとグローバルマップとをマップマッチングし、時刻ｔk+1における洗浄機１００の位置情報を推定する。
【０１１０】
具体的には、例えば、グローバルマップ上において、主輪１３の回転量に基づいて算出された推定位置の近傍のいくつかの位置に、時刻ｔk+1におけるローカルマップを配置し、必要に応じて（例えば、洗浄機１００の姿勢が変化している場合には）当該ローカルマップをその中心回りに回転させて、マップマッチングを行う。
位置推定部５５５５は、当該マップマッチングの結果に基づいて、尤度（ローカルマップを配置した位置と、当該位置におけるグローバルマップとローカルマップ情報との一致度と、の関係を表すものに対応）を算出する。
【０１１１】
その後、位置推定部５５５５は、尤度と時刻ｔk+1における事前確率とを乗算することにより、時刻ｔk+1における事後確率を算出する。位置推定部５５５５は、時刻ｔk+1における事後確率が最大値となる位置、すなわち、洗浄機１００が存在する可能性が最も高いと推定される位置を、時刻ｔk+1における洗浄機１００の存在位置（位置情報）と推定する。
時刻ｔk+1における事後確率は、次の位置推定において事前確率として使用される。
【０１１２】
上記のように、位置推定部５５５５が、主輪１３の回転量に基づいた移動距離と、前方検出器５５５１ａ及び後方検出器５５５１ｂとを用いて得られた地図情報と、を用いて位置推定を実行することにより、主輪１３の回転量に基づいた移動距離に含まれる誤差（主に、主輪１３と床面Ｆとの間の滑りに起因）と、地図情報に含まれる誤差（主に、前方検出器５５５１ａ及び後方検出器５５５１ｂにて取得した情報に含まれるノイズ成分に起因）とを相補的に減少させて、精度のよい位置推定を実行できる。
【０１１３】
ＳＬＡＭ部５５５は、経過時間決定部５５５７を有する。経過時間決定部５５５７は、教示データ取得時間及び自律清掃モードの実行開始からの経過時間を決定する。本実施形態において、経過時間決定部５５５７は、例えば、制御部５を構成するマイコンシステムなどの時計機能を用いて、教示データ取得時間を決定する。
【０１１４】
一方、自律清掃モードの実行開始からの経過時間は、位置推定部５５５５にて推定された位置情報に基づき決定される。具体的には、例えば、清掃スケジュール５００に記憶されている位置情報のうち、位置推定部５５５５にて推定された洗浄機１００の位置情報に最も近い位置情報に関連付けられている教示データ取得時間を、経過時間とする。
【０１１５】
他の実施形態において、上記の経過時間は、位置推定部５５５５にて推定された位置情報に近い２つの位置情報を清掃スケジュール５００から抽出し、当該２つの位置情報の線形補間により算出されてもよい。これにより、より正確な経過時間を算出できる。
【０１１６】
自律清掃モードの実行開始からの経過時間を、位置推定部５５５５にて推定された位置情報に基づいて決定することにより、洗浄機１００は、自律清掃モードの実行時に、教示された教示清掃条件を実行するタイミングと場所とを正確に把握しながら、自律的に清掃作業を再現できる。
例えば、自律清掃モードの実行時において、障害物回避を目的として、洗浄機１００が清掃スケジュール５００に示されていない移動速度の減少又は移動停止をした場合に、清掃作業が時間の経過と共に進んでしまい、現在位置において本来は行われない清掃作業が自律的に実行されてしまうことを回避できる。
【０１１７】
（６）自律走行式床洗浄機の動作
（６−１）基本動作
以下、洗浄機１００の動作について説明する。まず、洗浄機１００の基本的な動作を、図９Ａを用いて説明する。図９Ａは、洗浄機の基本的な動作を示すフローチャートである。
洗浄機１００が動作を開始すると、制御部５は、切替部９１の状態を確認する（ステップＳ１）。切替部９１が「自動」を選択している場合（ステップＳ１において「自律清掃モード」の場合）、自律清掃モードが実行され（ステップＳ２）、記憶部５７に記憶された清掃スケジュール５００に従って、洗浄機１００は自律的に清掃作業を実行する。
【０１１８】
一方、切替部９１が「手動」を選択している場合（ステップＳ１において「手動操作モード」の場合）、制御部５は、実行すべき動作モードが手動操作モードと判断する。
手動操作モードを実行中に手動操作記憶スイッチ９２が押されたことを検知すると（ステップＳ３において「Ｙｅｓ」の場合）、制御部５は、動作モードを手動操作教示モードに移行させる（ステップＳ４）。その結果、手動操作記憶スイッチ９２が押されたタイミング以降の操作者による清掃作業が、清掃スケジュール５００として記憶される。
【０１１９】
一方、手動操作記憶スイッチ９２が押されない場合（ステップＳ３において「Ｎｏ」の場合）には、操作者の操作による洗浄機１００の清掃作業を記憶しない手動操作モードの実行を維持する（ステップＳ５）。
【０１２０】
上記のステップＳ４において手動操作教示モードを実行中に、制御部５は、手動操作記憶スイッチ９２が押されたか否かをモニターする。手動操作教示モードの実行中に手動操作記憶スイッチ９２が押された場合には、そのタイミングで動作モードが手動操作モードに切り替わり、当該タイミング以降の清掃作業が清掃スケジュール５００に記憶されなくなる。すなわち、手動操作教示モードの実行時に手動操作記憶スイッチ９２を押すことにより、操作者は、清掃作業の途中の任意のタイミングにてその記憶（教示）を停止できる。
【０１２１】
上記のように、本実施形態に係る洗浄機１００は、切替部９１における動作モードの選択、及び、手動操作記憶スイッチ９２が押されたか否かに応じて、自律清掃モード、手動操作モード、及び手動操作教示モードを実行できる。
【０１２２】
（６−２）手動操作教示モードの動作
以下、上記のステップＳ４において実行される手動操作教示モードの動作について、図９Ｂを用いて説明する。図９Ｂは、手動操作教示モードの動作を示すフローチャートである。
例えば、手動操作記憶スイッチ９２が押された後に洗浄機１００の手動操作を開始するか、又は、手動操作中に手動操作記憶スイッチ９２が押されて（ステップＳ４１）、当該手動操作の教示が開始されると、清掃スケジュール５００の作成が開始される。
【０１２３】
具体的には、教示データ取得部５５１が、手動操作記憶スイッチ９２が押されたタイミング（経過時間：０）において、当該タイミングにおける、清掃制御部５１が洗浄液供給ポンプに出力している洗浄液の供給量Ｓ、吸引モータ３３３に出力している吸引力Ｐ、洗浄用部材回転モータ３５３及び洗浄用部材押圧アクチュエータ３５７に出力している洗浄力Ｗを、経過時間０における教示清掃条件として入力する。
また、位置推定部５５５５に対して、経過時間０における洗浄機１００の位置情報を推定するよう指令し、推定された位置情報を教示位置情報として入力する。
【０１２４】
清掃スケジュール作成部５５３は、経過時間０における教示位置情報と教示清掃条件とを教示データ取得部５５１から入力し、当該教示位置情報と教示清掃条件とを経過時間０と関連付けて記憶部５７に記憶し、清掃スケジュール５００とする。
【０１２５】
その後、教示データ取得部５５１は、経過時間決定部５５５７にて決定される経過時間をモニターし、当該経過時間が教示データ取得時間となっていれば（ステップＳ４２において「Ｙｅｓ」の場合）、位置推定部５５５５から教示データ取得時間における位置情報を教示位置情報として、清掃制御部５１から教示データ取得時間における清掃条件を教示清掃条件として入力する（ステップＳ４３）。これにより、教示データ取得時間毎に、教示位置情報と教示清掃条件とを取得できる。
上記の教示データ取得時間は、例えば、手動操作記憶スイッチ９２を押してから所定時間（例えば、５００ｍｓ）毎のタイミングとできる。
【０１２６】
清掃スケジュール作成部５５３は、教示データ取得部５５１にて取得した教示位置情報と教示清掃条件とを、これらを取得した教示データ取得時間に関連付けて清掃スケジュール５００に記憶する（ステップＳ４４）。
上記のステップＳ４１〜Ｓ４４を、操作者による清掃作業が終了するまで（ステップＳ４５において「Ｙｅｓ」となるまで）繰り返し実行することにより、操作者による清掃作業の開始から終了までの教示位置情報と教示清掃条件とを、清掃スケジュール５００として記憶できる。
【０１２７】
清掃作業の（記憶の）終了は、手動操作教示モードの実行中に手動操作記憶スイッチ９２を押すことにより指令できる。他の実施形態において、緊急停止ボタンなどの緊急停止の指令時においても、清掃作業の（記憶の）終了を指令可能となっていてもよい。
【０１２８】
本実施形態においては、清掃スケジュール作成部５５３は、さらに、洗浄機１００が通過した各点における曲率半径ρを算出して、清掃スケジュール５００に記憶する（ステップＳ４６）。
具体的には、清掃スケジュール作成部５５３は、例えば、清掃スケジュール５００において、曲率半径ρを算出する対象の位置と、当該対象の位置に到達するよりも過去に洗浄機１００が到達した位置であって当該対象の位置から所定の距離だけ離れた位置と、当該対象の位置から将来において洗浄機１００が到達する位置であって当該対象の位置から所定の距離だけ離れた位置と、を通る円（例えば、（ｘ−ａ）2＋（ｙ−ｂ）2＝Ｒ2と定義する）の半径（上記の式における「Ｒ」）を、曲率半径ρとして算出する。
【０１２９】
上記のステップＳ４１〜Ｓ４６を実行することで、最終的には図１０に示すような清掃スケジュール５００が作成される。図１０は、清掃スケジュールの一例を示す図である。
図１０に示す清掃スケジュールは、図１１に示すようなｘ−ｙ座標系にて定義されているとする。具体的には、図１１の紙面の横方向にｘ軸を定義し、それに垂直な縦方向にｙ軸を定義する。また、ｘ軸と平行な角度を０として、ｘ軸から反時計回り方向に増加する角度θを定義する。この座標系において、ｘ軸と洗浄機１００の前後方向（直進時の移動方向）とのなす角度を洗浄機１００の「姿勢」と定義する。図１１は、位置情報が定義される座標系の一例である。
【０１３０】
図１０に示す清掃スケジュール５００において、Ｔ0、Ｔ1、・・・Ｔnは、教示データ取得時間である。（ｘ0，ｙ0，θ0）、（ｘ1，ｙ1，θ1）、・・・（ｘn，ｙn，θn）は、対応する教示データ取得時間における教示位置情報である。（ｘ0，ｙ0）、（ｘ1，ｙ1）、・・・（ｘn，ｙn）が、対応する教示データ取得時間におけるｘ−ｙ座標上の洗浄機１００の位置情報（座標値）であり、θ0、θ1、・・・θnが、対応する教示データ取得時間における洗浄機１００の姿勢である。
【０１３１】
清掃スケジュール５００において、Ｓ0、Ｓ1、・・・Ｓnは、対応する教示データ取得時間における洗浄液の供給量である。Ｗ0、Ｗ1、・・・Ｗnは、対応する教示データ取得時間における床面Ｆの洗浄力である。Ｐ0、Ｐ1、・・・Ｐnは、対応する教示データ取得時間における吸引口Ｏ２の吸引力である。ρ1、ρ2、・・・ρnは、対応する教示データ取得時間における移動経路の曲率半径である。
【０１３２】
上記のようにして清掃スケジュール５００を作成後、制御部５は、各種設定において作成後の清掃スケジュール５００を修正する機能が有効になっているかを確認し、有効になっていれば（ステップＳ４７において「Ｙｅｓ」の場合）、清掃スケジュール修正部５５７に対して、清掃スケジュール５００を修正するよう指令する（ステップＳ４８）。
ステップＳ４８において実行される清掃スケジュール５００の修正については、後ほど詳しく説明する。
【０１３３】
一方、清掃スケジュール５００を修正する機能が無効に設定されている場合（ステップＳ４７において「Ｎｏ」の場合）、作成した清掃スケジュール５００をそのまま維持して、手動操作教示モードを終了する。
上記のようにして、教示データ取得時間において取得した位置情報、教示清掃条件、及び曲率半径を、清掃スケジュール５００として洗浄機１００に教示できる。
【０１３４】
（６−３）清掃スケジュールの修正処理
以下、上記のステップＳ４８において実行される清掃スケジュール５００の修正処理について、図１２を用いて説明する。図１２は、清掃スケジュールの修正処理を示すフローチャートである。
【０１３５】
清掃スケジュール５００の修正は、洗浄液吐出口３１から吐出された洗浄液がスキージ３３により回収できなかった場合、すなわち、現在の清掃スケジュール５００を忠実に実行すると床面Ｆに洗浄液が残留する可能性がある場合に実行される。
【０１３６】
従って、清掃スケジュール修正部５５７は、まず、現在記憶部５７に記憶されている清掃スケジュール５００を再現した場合に、床面Ｆに吐出された全ての洗浄液をスキージ３３により回収できるか否かの判定を行う。以下では、当該判定について、教示データ取得時間Ｔmにおいて吐出された洗浄液がスキージ３３にて回収できるか否かの判定を例にとって説明する。
【０１３７】
本実施形態の清掃スケジュール修正部５５７は、教示データ取得時間Ｔmにおいて吐出された洗浄液が、教示データ取得時間Ｔmから所定時間経過後の教示データ取得時間Ｔm+q（ｑ＞０）までの間に回収できるか否かを判定する。
【０１３８】
従って、洗浄液をスキージ３３により回収できるか否かを判定するに当たり、清掃スケジュール修正部５５７は、教示データ取得時間Ｔm〜Ｔm+qの間の洗浄機１００の移動に伴ってスキージ３３がどのような移動軌跡にて移動するかを算出する。その後、教示データ取得時間Ｔmにおいて吐出された洗浄液が当該移動軌跡に含まれるか否かにより、教示データ取得時間Ｔmにおいて吐出された洗浄液を回収できるか否かを判定する。上記のスキージ３３の移動軌跡を、教示データ取得時間Ｔmにおける「スキージ軌跡」と呼ぶことにする。
【０１３９】
教示データ取得時間Ｔmにおけるスキージ軌跡の算出は、具体的には以下のようにして実行される。
清掃スケジュール修正部５５７は、最初に、現在清掃スケジュール５００に記憶されている位置情報（各教示データ取得時間における洗浄機１００の位置）を用いて、スキージ３３の移動経路を細分化する（ステップＳ４８１）。
教示データ取得時間Ｔmにおけるスキージ軌跡は、教示データ取得時間Ｔm〜Ｔm+qの間のスキージ３３の移動軌跡である。従って、清掃スケジュール修正部５５７は、教示データ取得時間Ｔmに関連付けられている位置（ｘm，ｙm）から教示データ取得時間Ｔm+qに関連付けられている位置（ｘm+q，ｙm+q）までの移動経路を細分化する。
【０１４０】
具体的には、例えば、清掃スケジュール修正部５５７は、まず、清掃スケジュール５００において教示データ取得時間Ｔmに関連付けられている位置（ｘm，ｙm）を通り、当該教示データ取得時間Ｔmに関連付けられている曲率半径ρmを有する円弧を、教示データ取得時間Ｔmから教示データ取得時間Ｔm+qまでの洗浄機１００の移動経路とする。そして、当該洗浄機１００の移動経路上に以下のようにして複数の位置を定義する。
【０１４１】
まず、上記の２つの位置を曲率半径ρmにて移動するときの移動経路（弦）の中心角をを算出する。当該中心角は、例えば、教示データ取得時間Ｔmから教示データ取得時間Ｔm+qまでの洗浄機１００の姿勢角の変化（θm+q−θm）として算出できる。
【０１４２】
次に、位置（ｘm，ｙm）から移動経路上に定義された各点まで曲率半径ρmにて移動したときの経路（弦）の中心角を算出する。例えば、ｖ＋１個の位置が定義される場合には、細分化後のｈ番目の点における姿勢角の変化は、｛（θm+q−θm）／ｖ｝＊ｈ（ｈ＝０，１，２，・・・ｖ）と算出できる。
【０１４３】
その後、二輪差動型の走行部１の特性などを考慮して、移動経路に定義されたｈ番目の位置の座標（ｘm（ｈ），ｙm（ｈ））及び姿勢角θm（ｈ）は、以下のように算出できる。
θm（ｈ）＝θm＋｛（θm+q−θm）／ｖ｝＊ｈ
ｘm（ｈ）＝ｘm＋ρm＊（θm（ｈ）−θm）＊ｃｏｓ［θm＋｛（θm（ｈ）−θm）／２｝］
ｙm（ｈ）＝ｙm＋ρm＊（θm（ｈ）−θm）＊ｓｉｎ［θm＋｛（θm（ｈ）−θm）／２｝］
【０１４４】
位置（ｘm，ｙm）から位置（ｘm+q，ｙm+q）までの間の移動経路の細分化の程度（細分化処理において当該連続する２つの位置に定義する通過点の数）は、教示データ取得時間の最大長さ、及び／又は、清掃スケジュール修正部５５７の演算処理能力などを考慮して、適宜決定できる。
【０１４５】
なお、教示データ取得時間Ｔmから教示データ取得時間Ｔm+qまでの間に曲率半径ρが大きく変化する場合には、曲率半径が大きく変化する前後においてそれぞれ上記の細分化を実行してもよい。
【０１４６】
洗浄機１００の移動経路を細分化した後、清掃スケジュール修正部５５７は、細分化処理において定義した各通過点を洗浄機１００が通過することにより形成されるスキージ軌跡を算出する（ステップＳ４８２）。
具体的には、清掃スケジュール修正部５５７は、まず、細分化処理にて定義した各通過点に洗浄機１００の仮想モデルを配置して、各通過点におけるジョイントＪの位置及びスキージ３３の（中心）位置を、図５に示した仮想モデルを用いて、以下のようにして算出する。
【０１４７】
例えば、洗浄機１００が細分化後の位置（ｘi，ｙi）及び姿勢θiから、細分化後の位置（ｘi+1，ｙi+1）及び姿勢θi+1へと移動した場合を仮想モデルで表すと、図１３のようになる。図１３は、移動前後の洗浄機を表した仮想モデルの一例を示す図である。
【０１４８】
上記の場合、移動後の吸引口Ｏ２の位置Ｐs（ｉ＋１）、すなわち、移動後のスキージ３３の中心位置Ｐs（ｉ＋１）は、例えば、移動後のジョイントＪの位置Ｐj（ｉ＋１）と、移動前の吸引口Ｏ２の位置Ｐs（ｉ）とを結ぶ線分（図１３においては、一点鎖線にて示した線分）上であり、かつ、移動後のジョイントＪ（位置Ｐj（ｉ＋１））からの距離が上記のＬjs（ジョイントＪから吸引口Ｏ２までの長さ）である点の座標値として算出できる。なお、移動後のジョイントＪの位置Ｐj（ｉ＋１）のｘ座標値はｘi+1−Ｌcj＊ｃｏｓθi+1、ｙ座標値はｙi+1−Ｌcj＊ｓｉｎθi+1と算出できる。
【０１４９】
上記のように、ジョイントＪの回動角度は、洗浄機１００の前後方向に対して±Θ／２の範囲内に制限されている。従って、移動後のスキージ３３の中心位置Ｐs（ｉ＋１）を算出後、清掃スケジュール作成部５５３は、移動後のジョイントＪの位置Ｐj（ｉ＋１）とスキージ３３の中心位置Ｐs（ｉ＋１）とを結ぶ直線と、移動後の洗浄機１００の前進方向（点Ｐp（ｉ＋１）と点Ｐj（ｉ＋１）とを結ぶ直線）とがなす鋭角側の角度を算出し、当該角度の絶対値がΘ／２よりも大きい場合には、移動後のジョイントＪに位置Ｐj（ｉ＋１）とスキージ３３の中心位置Ｐs（ｉ＋１）とを結ぶ直線と移動後の洗浄機１００の前進方向とがなす角度の絶対値をΘ／２として、移動後のスキージ３３の中心位置Ｐs（ｉ＋１）の座標値を算出し直す。
【０１５０】
具体的には、図１４Ａに示すように、ｘ−ｙ座標において、移動後のジョイントＪの位置Ｐj（ｉ＋１）とスキージ３３の中心位置Ｐs（ｉ＋１）とを結ぶ直線とｘ軸（の正方向）とがなす角度が、θi+1−Θ／２よりも小さい場合、当該角度をθi+1−Θ／２として移動後のスキージ３３の中心位置Ｐs（ｉ＋１）を算出し直す。
一方、図１４Ｂに示すように、移動後のジョイントＪの位置Ｐj（ｉ＋１）とスキージ３３の中心位置Ｐs（ｉ＋１）とを結ぶ直線とｘ軸（の正方向）とがなす角度が、θi+1＋Θ／２よりも大きい場合、当該角度をθi+1＋Θ／２として移動後のスキージ３３の中心位置Ｐs（ｉ＋１）を算出し直す。
【０１５１】
また、位置（ｘi，ｙi）及び姿勢θiから、位置（ｘi+1，ｙi+1）及び姿勢θi+1までの洗浄機１００の移動がわずかである場合（すなわち、ｘi+1−ｘi、ｙi+1−ｙi、及びθi+1−θiの絶対値が所定の値以下の場合）、清掃スケジュール作成部５５３は、ジョイントＪの角度が移動前後で変化していないとする。
これにより、洗浄機１００の移動量が小さい場合には急激にスキージ３３の角度（ジョイントＪの角度）が変化しないことを、スキージ３３の位置の算出の際に考慮できる。
【０１５２】
その後、清掃スケジュール修正部５５７は、例えば、以下のようにして各通過点におけるスキージ３３の右端の位置Ｐsr’及び左端の位置Ｐsl’を算出する。
例えば、教示データ取得時間ＴmからＴm+qまでの間に洗浄機１００が通過した経路に対してｖ＋１個の通過点を有する細分化された経路を作成し、上記に説明した方法を繰り返すことで、細分化された経路の各通過点に対して、スキージ３３のジョイントＪ及び中心位置が、それぞれ、（Ｐj（０），Ｐs（０））、（Ｐj（１），Ｐs（１））、（Ｐj（２），Ｐs（２））、（Ｐj（３），Ｐs（３））、・・・（Ｐj（ｖ），Ｐs（ｖ））と算出されているとする。
【０１５３】
まず、清掃スケジュール修正部５５７は、例えば、最初の通過点に対して算出されたジョイントＪの位置Ｐj（０）とスキージ３３の中心位置Ｐs（０）とを結ぶ線分Ｐj（０）Ｐs（０）に直交し、かつ、位置Ｐs（０）を通る直線を算出する。さらに、清掃スケジュール修正部５５７は、 当該直線上にあり、かつ、位置Ｐs（０）からｗ／２（ｗ：スキージ３３の幅寸法）の距離にある２つの点を、当該各通過点におけるスキージ３３の右端の位置Ｐsr（０）及び左端の位置Ｐsl（０）として算出する。
【０１５４】
上記を繰り返して全ての通過点に対してスキージ３３の右端の位置及び左端の位置を算出後、清掃スケジュール修正部５５７は、図１５に示すように、最初の通過点に対して算出された（教示データ取得時間Ｔmにおける）スキージ３３の左端の位置Ｐsl（０）と、中間の通過点に対して算出されたスキージ３３の左端の位置Ｐsl（１）、Ｐsl（２）、Ｐsl（３）、・・・Ｐsl（ｖ−１）と、最後の通過点に対して算出された（教示データ取得時間Ｔm+qにおける）スキージ３３の左端の位置Ｐsl（ｖ）と、最後の通過点に対して算出された（教示データ取得時間Ｔm+qにおける）スキージ３３の右端の位置Ｐsr（ｖ）と、中間の通過点に対して算出されたスキージ３３の右端の位置Ｐsr（１）、Ｐsr（２）、Ｐsr（３）、・・・Ｐsr（ｖ−１）と、最初の通過点に対して算出された（教示データ取得時間Ｔm）におけるスキージの右端の位置Ｐsr（０）と、を結ぶ。これにより、２点の教示データ取得時間Ｔm、Ｔm+qにおけるスキージ軌跡を算出できる。図１５は、スキージ軌跡の一例を示す図である。
【０１５５】
上記のように、スキージ軌跡を算出する際に、２点の教示データ取得時間Ｔm、Ｔm+qの間に仮定した複数の仮想的なスキージ３３の位置と幅とを定義する、すなわち、洗浄機１００（スキージ３３）の移動経路を細分化することにより、より実際的なスキージ３３の移動軌跡を表したスキージ軌跡を算出できる。この結果、スキージ軌跡に洗浄液の吐出位置が含まれるか否かをより精度よく実行できる。
【０１５６】
また、教示データ取得時間Ｔmから所定時間経過後の教示データ取得時間Ｔm+qまでの範囲内にてスキージ軌跡を算出することにより、自律清掃モードの実行時において、ある経過時間に吐出した洗浄液が長時間床面Ｆに残存するといった不適切な清掃が実行されることを抑制できる。
【０１５７】
スキージ軌跡を算出後、清掃スケジュール修正部５５７は、教示データ取得時間Ｔmにおいて床面Ｆに吐出された洗浄液をスキージ３３により回収できるか否かの判定を行う。具体的には、清掃スケジュール修正部５５７は、教示データ取得時間Ｔmにおいて吐出した洗浄液の吐出位置が、算出したスキージ軌跡に含まれているか否かを判定する（ステップＳ４８３）。
【０１５８】
ステップＳ４８３において、清掃スケジュール修正部５５７は、まず、図５に示すような仮想モデルを用いて、教示データ取得時間Ｔmにおいて吐出した洗浄液の吐出位置Ｐwを算出する。
教示データ取得時間Ｔmにおける洗浄液吐出口３１の位置Ｐp（ｍ）のｘ座標値は、仮想モデルを用いて、ｘm＋Ｌpc＊ｃｏｓθmと算出できる。一方、ｙ座標値は、ｙm＋Ｌpc＊ｓｉｎθmと算出できる。洗浄液の吐出位置Ｐwの各座標値は、例えば、教示データ取得時間Ｔmにおける洗浄液吐出口３１の位置Ｐp（ｍ）を中心とし洗浄用部材３５よりもわずかに小さい直径を有する円（吐出位置Ｐwを定義する多角形が内接する円）の円周と、位置Ｐp（ｍ）から延び傾きがｔａｎ（θm＋（ｕ−１）＊３６０／Ｎ）である線分との交点の座標値として算出できる。
上記の数式のＮは、洗浄液の吐出位置Ｐwを定義するための多角形の頂点の数であり、本実施形態では８である。ｕは、１からＮまで変化する正の整数である。
【０１５９】
次に、清掃スケジュール修正部５５７は、上記のように算出した洗浄液の吐出位置Ｐwの全てが、ステップＳ４８２にて算出したスキージ軌跡に含まれるか否かを判定する。
【０１６０】
スキージ軌跡に洗浄液の吐出位置Ｐwが含まれるか否かは、スキージ軌跡の頂点のうちの１つ（原点となる頂点）から他の頂点に向かうベクトルと、当該原点となる頂点から吐出位置Ｐwに向かうベクトルとの外積を、原点となる頂点を変更して算出し、原点となる頂点を変更しても外積の正負が変化しない場合に、スキージ軌跡に洗浄液の吐出位置Ｐwが含まれると判定する。
【０１６１】
外積の算出結果を用いた、上記のスキージ軌跡に洗浄液の吐出位置Ｐwが含まれているか否かの判定方法を、簡単のため、スキージ軌跡が図１６に示すような四角形となる場合を例にとって具体的に説明する。図１６は、スキージ軌跡に洗浄液の吐出位置が含まれるか否かの判定方法を模式的に示す図である。
【０１６２】
スキージ３３の両端の位置Ｐsl''、Ｐsr''が、洗浄機１００の移動により、それぞれＰsl'''、Ｐsr'''に移動した場合、図１６に示す四角形Ｐsl''Ｐsl'''Ｐsr'''Ｐsr''がスキージ軌跡として形成される。
【０１６３】
外積の演算においては、外積された２つのベクトルのうちの一方を他方と平行になるように回転させるときの回転方向により、その正負（外積が正となるか負となるかは、座標系の定義により変化する）が決定される。
従って、スキージ軌跡の原点となる頂点から他の頂点に向かうベクトルと、当該原点となる頂点から吐出位置Ｐwに向かうベクトルとの外積を算出する際には、２つのベクトルＡとＢの外積を表すＡ×Ｂとの式において、例えば、Ａを原点となる頂点から吐出位置Ｐwに向かうベクトルとし、Ｂを原点となる頂点からスキージ軌跡の他の頂点に向かうベクトルとする。
【０１６４】
図１６に示すスキージ軌跡においては、清掃スケジュール修正部５５７は、例えば、頂点Ｐsl''を原点とする場合については、図１６において実線にて表された２つのベクトルの外積（Ｐsl''Ｐw）×（Ｐsl''Ｐsl'''）を算出する。頂点Ｐsl'''については、図１６において点線にて表された２つのベクトルの外積（Ｐsl'''Ｐw）×（Ｐsl'''Ｐsr'''）を算出する。頂点Ｐsr'''については、図１６において二点鎖線にて表された２つのベクトルの外積（Ｐsr'''Ｐw）×（Ｐsr'''Ｐsr''）を算出する。頂点Ｐsr''については、図１６において一点鎖線にて表された２つのベクトルの外積（Ｐsr''Ｐw）×（Ｐsr''Ｐsl''）を算出する。
【０１６５】
清掃スケジュール修正部５５７は、上記の４つの外積の算出結果が全て正であるか又は全て負であれば、スキージ軌跡に洗浄液の吐出位置Ｐwが含まれると判断する。
【０１６６】
他の実施形態において、上記の２つのベクトルの外積を算出する際に、ベクトルの定義の方法などによっては、例えば、ベクトルが交差したり、スキージ軌跡が凹形状となったりする場合がある。このような場合には、例えば、スキージ軌跡に含まれる三角形を定義して、当該三角形に吐出位置Ｐwが含まれるか否かを判定してもよい。
【０１６７】
さらなる他の実施形態において、清掃スケジュール修正部５５７は、各教示データ取得時間に関連付けられた吸引口Ｏ２による吸引力Ｐを考慮してスキージ軌跡を算出してもよい。例えば、教示データ取得時間Ｔm〜Ｔm+qにおける吸引力Ｐm〜Ｐm+qのうち、吸引力が０に設定されている教示データ取得時間がある場合には、当該教示データ取得時間から次の教示データ取得時間までの間のスキージ軌跡内に吐出位置Ｐwが含まれていたとしても、当該吐出位置Ｐwはスキージ軌跡に含まれないと判定してもよい。
【０１６８】
上記により、洗浄液の吐出位置Ｐwがスキージ軌跡に含まれないと判定された場合（ステップＳ４８３において「Ｎｏ」の場合）、清掃スケジュール修正部５５７は、記憶されている洗浄液の吐出位置の全てがスキージ軌跡に含まれるよう清掃スケジュール５００を修正する（ステップＳ４８４）。
【０１６９】
具体的には、清掃スケジュール修正部５５７は、吐出位置Ｐwがスキージ軌跡に含まれないと判定された教示データ取得時間Ｔmに関連付けられている洗浄液の供給量Ｓmを０と設定する。すなわち、教示データ取得時間Ｔmにおいて洗浄液を供給しないようにする。
これにより、スキージ軌跡に含まれる洗浄液の吐出位置Ｐwにおいてのみ洗浄液を供給することとする新たな清掃スケジュール５００を作成できる。
【０１７０】
他の実施形態において、清掃スケジュール修正部５５７は、スキージ軌跡に含まれない洗浄液の吐出位置Ｐwにおける洗浄液（吸引口Ｏ２）の吸引力を増加させるよう、清掃スケジュール５００を修正してもよい。
具体的には、例えば、清掃スケジュール修正部５５７は、図５の仮想モデルの吐出位置Ｐwが形成する多角形の大きさを、当該仮想モデルのおける大きさよりも若干小さくし、若干小さくした多角形の頂点に存在する吐出位置の全てが算出したスキージ軌跡に含まれている場合に、吸引口Ｏ２の吸引力を増加させるよう、清掃スケジュール５００を修正する。これにより、洗浄機１００は、洗浄液を可能な限り回収できる清掃スケジュール５００を作成し、清掃効率が高い清掃作業を自律的に実行できる。
【０１７１】
さらなる他の実施形態において、清掃スケジュール修正部５５７は、洗浄液の吐出位置Ｐwがスキージ軌跡に含まれている場合には、吐出された洗浄液を回収できるよう吸引力Ｐmを調整するか、及び／又は、設定された吸引力Ｐmで回収できる程度に洗浄液の供給量Ｓmを調整してもよい。吐出された洗浄液量（体積）は、例えば、洗浄液の供給量Ｓmと洗浄機１００の移動速度とから算出できる。
【０１７２】
他の実施形態において、清掃スケジュール修正部５５７は、洗浄液の吐出位置Ｐwがスキージ軌跡に含まれない場合だけでなく、清掃スケジュール５００に記憶されている他の不適切な教示清掃条件を修正してもよい。
【０１７３】
具体的には、例えば、教示データ取得時間Ｔmにおいて洗浄液の供給がなされている場合に、当該洗浄液をスキージ３３にて回収する教示データ取得時間Ｔmから教示データ取得時間Ｔm+qまでの間において、吸引口Ｏ２の吸引力が全て０、又は、いくつかのタイミングの吸引力が０となっている場合に、清掃スケジュール修正部５５７は、当該教示データ取得時間の吸引力を０でない値に修正するか、又は、当該教示データ取得時間における洗浄液の供給量を０としてもよい。
【０１７４】
これにより、例えば、洗浄液の供給をしたにも関わらず吸引口Ｏ２による吸引を実行していないといった不適切な清掃条件が教示清掃条件として清掃スケジュール５００に記憶されている場合に、このような不適切な教示清掃条件を修正して、床面Ｆに洗浄液が残留しないような適切な清掃スケジュール５００を新たに生成できる。
【０１７５】
一方、洗浄液の吐出位置Ｐwがスキージ軌跡に含まれていると判定された場合（ステップＳ４８３において「Ｙｅｓ」の場合）、清掃スケジュール修正部５５７は、教示データ取得時間Ｔmにおける教示清掃条件を修正することなく、現在の清掃スケジュール５００をそのまま維持する。
【０１７６】
その後、清掃スケジュール修正部５５７は、清掃スケジュール５００に記憶されている全ての教示データ取得時間に対してスキージ軌跡に吐出位置Ｐwが含まれるか否かの判定を実行したと判定されるまで（ステップＳ４８５が「Ｎｏ」である限り）、上記のステップＳ４８１〜Ｓ４８４を繰り返し実行した後、清掃スケジュール５００の修正を終了する。
【０１７７】
本実施形態においては、上記のように、清掃スケジュール修正部５５７は、２点の教示データ取得時間Ｔm、Ｔm+qの間に洗浄機１００が移動した経路に複数の仮想的な通過点を配置し（細分化）、上記の２点の教示データ取得時間Ｔm、Ｔm+qにおける通過点を含めた仮想的な各通過点におけるスキージ３３の位置及び幅に基づいてスキージ軌跡を算出している。これにより、より実際の移動軌跡に近いスキージ３３の移動軌跡を表したスキージ軌跡を算出できる。
【０１７８】
この結果、例えば、図１７Ａに示すように、２点の教示データ取得時間Ｔm、Ｔm+qにおけるスキージ３３の位置Ｐsl（ｍ）、Ｐsr（ｍ）、Ｐsl（ｍ＋ｑ）、Ｐsr（ｍ＋ｑ）及び幅ｗのみを用いてスキージ軌跡を定義した場合にはスキージ軌跡に含まれないと判断された洗浄液の吐出位置Ｐwを、移動経路を細分化して算出された実際により近いスキージ３３の移動軌跡に基づいたスキージ軌跡においては、図１７Ｂに示すように、当該吐出位置Ｐwがスキージ軌跡に含まれるとより精度よく判定できる。
図１７Ａは、移動経路の細分化をしない場合のスキージ軌跡と吐出位置との関係の一例を示す図である。図１７Ｂは、移動経路を細分化しないで算出したスキージ軌跡には含まれないと判定された吐出位置を、移動経路を細分化して算出したスキージ軌跡には含まれると判定される場合の一例を示す図である。
【０１７９】
（６−４）自律清掃モードにおける動作
次に、図９ＡのステップＳ２において実行される、教示された清掃作業を再現する自律清掃モードの実行時における洗浄機１００の動作について、図１８を用いて説明する。図１８は、自律清掃モードの実行時の洗浄機の動作を示すフローチャートである。今、自律清掃モードの実行開始からの経過時間ｔn-1までの清掃作業が実行済みであるとする。ここで、ｎは、ｎ番目の自律清掃のための制御を示す。
洗浄機１００が自律清掃モードを開始すると、最初に、ＳＬＡＭ部５５５が、前方検出器５５５１ａ及び後方検出器５５５１ｂから、前方の障害物に関する情報及び後方の障害物に関する情報を取得する（ステップＳ２１）。
【０１８０】
その後、位置推定部５５５５が、エンコーダ１１１にて測定された走行モータ１１の回転量、グローバルマップ、及び上記のステップＳ２１において取得された情報に基づいて得られたローカルマップに基づいて、洗浄機１００のｘ−ｙ座標上の位置を推定する（ステップＳ２２）。例えば、洗浄機１００の位置が、ｘ−ｙ座標上において、（ｘn’，ｙn’、θn’）と推定されたとする。
【０１８１】
洗浄機１００の位置を推定後、経過時間決定部５５５７が、自律清掃モードの実行開始からの経過時間ｔnを決定し（ステップＳ２３）、清掃再現部５５９が、経過時間ｔnにおける再現走行制御指令及び再現清掃条件を、以下のように算出する（ステップＳ２４）。
【０１８２】
今、経過時間ｔnが、教示データ取得時間ＴL（に最も近い）であると決定されたとする。この場合、清掃再現部５５９は、次の教示データ取得時間ＴL+1に関連付けられた位置情報（ｘL+1，ｙL+1，θL+1）を、清掃スケジュール５００から読み出し、経過時間ｔnにおける再現走行制御指令を、推定された位置情報と目標とする位置情報との差分（ｘL+1−ｘn’，ｙL+1−ｙn’，θL+1−θn’）に基づいて算出する。
【０１８３】
一方、清掃再現部５５９は、教示データ取得時間ＴLに関連付けられた清掃条件（ＳL，ＷL，ＰL）を清掃スケジュール５００から読み出し、当該清掃条件（ＳL，ＷL，ＰL）を経過時間ｔnにおける再現清掃条件として決定する。
【０１８４】
再現走行制御指令及び再現清掃条件を算出後、清掃再現部５５９は、再現走行制御指令を走行制御部５３に出力し、再現清掃条件を清掃制御部５１に出力する（ステップＳ２５）。
自律清掃モードの実行時は、走行切替部５３１の端子ｅと端子ｆとが接続されているため、再現走行制御指令は、走行切替部５３１を介して、モータ制御部５３３に送信される。モータ制御部５３３は、受信した再現走行制御指令に基づいて、走行モータ１１を制御する。
一方、清掃切替部５１１においては、端子ｂと端子ｃとが接続されているので、再現清掃条件は、清掃切替部５１１を介して、清掃部制御部５１３に送信される。清掃部制御部５１３は、受信した再現清掃条件に基づいて、清掃部３を制御する。
【０１８５】
走行部１及び清掃部３をそれぞれ再現走行制御指令及び再現清掃条件に基づいて制御後、清掃再現部５５９は、清掃スケジュール５００に記憶された清掃作業が全て実行したかどうかを確認する（ステップＳ２６）。
清掃スケジュール５００に記憶された清掃作業が全て終了したかどうかは、例えば、清掃スケジュール５００の末尾にある識別子（例えば、「エンド・オブ・ファイル」を示す識別子など）を検出することにより確認できる。
【０１８６】
清掃スケジュール５００に記憶された清掃作業が全て実行されていないと判定される限り（ステップＳ２６において「Ｎｏ」である限り）、上記のステップＳ２１〜Ｓ２５が繰り返し実行され、清掃スケジュール５００に記憶された全ての清掃作業が実行されたと判定されたとき（ステップＳ２６において「Ｙｅｓ」の場合）に、再現清掃モードの実行を終了する。これにより、洗浄機１００は、清掃スケジュール５００に記憶された清掃作業を忠実に再現できる。
【０１８７】
他の実施形態において、清掃スケジュール５００に記憶された清掃作業を全て実行した場合のみでなく、例えば、洗浄機１００にて異常が発生した場合、ユーザにより再現清掃モードの実行停止が指令された場合などにおいても、再現清掃モードの実行が停止されてもよい。
【０１８８】
上記のステップＳ２１〜Ｓ２６を実行することにより、清掃再現部５５９は、清掃スケジュール作成部５５３にて作成された清掃スケジュール５００、又は、清掃スケジュール修正部５５７にて修正された清掃スケジュール５００に基づいて、再現清掃条件と再現走行制御指令とを算出し、それぞれ、清掃部３及び走行部１に出力することで、洗浄機１００に対して自律的に清掃作業を実行させることができる。
【０１８９】
上記のように、本実施形態においては、清掃スケジュール修正部５５７が、清掃スケジュール作成部５５３にて作成した清掃スケジュール５００において、スキージ軌跡に含まれない洗浄液の吐出位置Ｐwが存在していれば、当該清掃スケジュール５００を修正して、記憶されている洗浄液の吐出位置Ｐwがスキージ軌跡に含まれるよう新たな清掃スケジュール５００を作成している。
【０１９０】
これにより、床面Ｆに使用後の洗浄液が残留する清掃作業を実行してしまう清掃スケジュール５００が手動操作教示モードの実行時に作成された場合であっても、当該清掃スケジュール５００を修正して、自律清掃モードにおいて、床面Ｆに洗浄液が残留しないような適切な清掃作業を自律的に実行できる。
【０１９１】
２．他の実施形態
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、発明の要旨を逸脱しない範囲で種々の変更が可能である。特に、本明細書に書かれた複数の実施形態及び変形例は必要に応じて任意に組み合せ可能である。また、上記の第１実施形態においてフローチャートにて示した各処理の内容、処理の順番等は、発明の要旨を逸脱しない範囲で変更できる。また、必要に応じてフローチャートにて示した処理のいずれかを省略できる。
【０１９２】
（Ａ）上記の第１実施形態において、清掃スケジュール修正部５５７は、制御統括部５５に含まれていた。しかし、これに限られず、清掃スケジュール修正部５５７は、制御部５を構成するコンピュータシステムとは別のコンピュータシステムであってもよい。
この場合、洗浄機１００は、清掃スケジュール修正部５５７を接続するためのポート、及び／又は、清掃スケジュール修正部５５７と通信するための通信インターフェースを備えていてもよい。
【０１９３】
この場合、清掃スケジュール修正部５５７は、洗浄機１００の記憶部５７に記憶されている清掃スケジュール５００などの情報を、上記のポート及び／又は通信インターフェースを介して受信し、洗浄機１００とは離れた場所にて清掃スケジュール５００を修正できる。その結果、例えば、洗浄機１００が走行中においても、清掃スケジュール５００の修正を実行できる。
【０１９４】
（Ｂ）位置推定部５５５５は、前方検出器５５５１ａ、後方検出器５５５１ｂから得られた情報のみを用いて、レーザーオドメトリによる位置推定により洗浄機１００の位置推定を実行してもよい。レーザオドメトリによる位置推定方法としては、例えば、ＩＣＰ（Ｉｔｅｒａｔｉｖｅ  Ｃｌｏｓｅｓｔ  Ｐｏｉｎｔ）法などがある。
【０１９５】
（Ｃ）例えば、床面Ｆと主輪１３との間の滑りが少ない場合、前方検出器５５５１ａ及び後方検出器５５５１ｂにより得られる情報から十分な地図情報が得られない場合などには、位置推定部５５５５は、走行モータ１１の回転量のみに基づいて、洗浄機１００の位置推定を行ってもよい。
【０１９６】
（Ｄ）第１実施形態にて説明した教示データの取得とは別に実行されていたスキージ３３の位置の算出を、教示データを取得しつつ実行してもよい。例えば、第１実施形態に係る手動操作教示モードの処理を表す図９Ｂのフローチャートにおいて、ステップＳ４４とＳ４５の間に、スキージ３３の位置の算出を実行してもよい。
【０１９７】
（Ｅ）例えば、教示データの取得間隔が短い場合など、清掃スケジュール５００に記憶された位置情報のみでも実際に近い洗浄機１００の移動経路が表現できている場合など、移動経路の細分化を特に必要としない場合には、第１実施形態においてスキージ軌跡の算出に際して実行されていた移動経路の細分化処理を省略してもよい。すなわち、第１実施形態に係る清掃スケジュールの修正処理を示す図１２のフローチャートにおいて、ステップＳ４８１の処理を省略してもよい。
【０１９８】
（Ｆ）清掃スケジュール作成部５５３は、清掃スケジュール５００の作成において、洗浄液の吐出位置Ｐw、スキージ３３の位置、及び／又は、スキージ３３の幅寸法を、教示データ取得時間と関連付けて記憶してもよい。
この場合、清掃スケジュール修正部５５７は、清掃スケジュール５００に示された各通過点におけるスキージ３３の位置及び洗浄液の吐出位置Ｐwの算出を、清掃スケジュール５００に曲率半径ρを記憶後（ステップＳ４６の実行後）に実行する。
【０１９９】
（Ｇ）制御部５は、清掃スケジュール作成部５５３が作成した清掃スケジュール５００を清掃スケジュール修正部５５７がどの程度修正したか（例えば、修正箇所の数）により、当該清掃スケジュール５００が作成されたときの操作者の清掃作業を評価してもよい。制御部５は、当該清掃作業の評価結果を、清掃スケジュール５００の修正後にディスプレイ９７に表示してもよい。
【０２００】
（Ｈ）清掃スケジュール修正部５５７は、スキージ軌跡に洗浄液の吐出位置Ｐwが含まれるか否かの判定を、スキージ軌跡の頂点と吐出位置Ｐwとに基づいて生成される２つのベクトルの外積を算出する以外の方法でも実行できる。具体的には、例えばコンピュータゲームにて使用される「当たり判定」アルゴリズムなど、ある１つの領域（物体）に他の領域が含まれるか否かを判定できるアルゴリズムを使用できる。
【産業上の利用可能性】
【０２０１】
本発明は、教示された清掃条件と走行経路とを再現することにより、自律的に走行し清掃を実行する自律走行式床洗浄機に、広く適用できる。
【符号の説明】
【０２０２】
１００ 自律走行式床洗浄機
１     走行部
１１   走行モータ
１１１ エンコーダ
１３   主輪
１５   補助輪
３     清掃部
３１   洗浄液吐出口
３１１ 洗浄液供給ポンプ
３１３ 洗浄液供給タンク
３３   スキージ
３３１ スキージ固定部材
３３３ 吸引モータ
３３５ 回収部材
３３７ スキージ昇降アクチュエータ
３５   洗浄用部材
３５１ 固定部材
３５３ 洗浄用部材回転モータ
３５５ 押圧部材
３５７ 洗浄用部材押圧アクチュエータ
５     制御部
５１   清掃制御部
５１１ 清掃切替部
５１３ 清掃部制御部
５３   走行制御部
５３１ 走行切替部
５３３ モータ制御部
５５   制御統括部
５５１ 教示データ取得部
５５３ 清掃スケジュール作成部
５５５ ＳＬＡＭ部
５５５１ａ    前方検出器
５５５１ｂ    後方検出器
５５５３      地図作成部
５５５５      位置推定部
５５５７      経過時間決定部
５５７ 清掃スケジュール修正部
５５９ 清掃再現部
５７   記憶部
７     走行経路教示部
７１ａ、７１ｂ       ハンドル
７３   筐体
７５   走行制御指令算出部
８     取付部材
９     設定部
９１   切替部
９２   手動操作記憶スイッチ
９３   清掃条件教示部
９３１ 清掃条件調整部
９３１ａ      供給量調整部
９３１ｂ      吸引力調整部
９３１ｃ      洗浄力調整部
９３３ 運転切替部
９３３ａ      供給切替部
９３３ｂ      吸引切替部
９３３ｃ      洗浄切替部
９４   清掃制御指令算出部
９５   設定操作部
９６   設定変換部
９７   ディスプレイ
５００ 清掃スケジュール
Ｂ     本体
Ｆ     床面
Ｊ     ジョイント
Ｏ１   空洞
Ｏ２   吸引口
【図１】
0006711405.tif 000002
【図２】
0006711405.tif 000003
【図３】
0006711405.tif 000004
【図４】
0006711405.tif 000005
【図５】
0006711405.tif 000006
【図６】
0006711405.tif 000007
【図７】
0006711405.tif 000008
【図８】
0006711405.tif 000009
【図９Ａ】
0006711405.tif 000010
【図９Ｂ】
0006711405.tif 000011
【図１０】
0006711405.tif 000012
【図１１】
0006711405.tif 000013
【図１２】
0006711405.tif 000014
【図１３】
0006711405.tif 000015
【図１４Ａ】
0006711405.tif 000016
【図１４Ｂ】
0006711405.tif 000017
【図１５】
0006711405.tif 000018
【図１６】
0006711405.tif 000019
【図１７Ａ】
0006711405.tif 000020
【図１７Ｂ】
0006711405.tif 000021
【図１８】
0006711405.tif 000022