(57)【要約】  ロボットが斜面（３００）上を走行する過程において所定直線ルートからずれたことに気付きにくく、タイムリーに補正することができず、直線走行を確保することが困難であるという技術問題を解決するために、Ｘ軸方向における重力加速度（ｇ）のリアルタイムサブベクトル（ｇｘｍ１）と標準サブベクトル（ｇｘｍ０）とが一致するか否かを判定することにより、ロボット（１００）が所定直線ルートからずれたか否かを判定する、斜面（３００）上におけるロボット（１００）の直線走行の判定方法及び制御方法が提供される。【選択図】  図７
2019530094.tif 000002
【特許請求の範囲】
【請求項１】
斜面上におけるロボットの直線走行の判定方法であって、
前記ロボットの走行方向をＹ軸正方向とし、前記斜面に垂直な方向をＺ軸方向とし、Ｘ軸と前記Ｙ軸が所在する平面が前記斜面に平行となるように、前記ロボットに三次元座標系を定義するステップＳ１と、
前記ロボットの走行方向をＴｓとすると、前記三次元座標系の三方向における重力加速度ｇの標準サブベクトルをｇｘｓ０、ｇｙｓ０、ｇｚｓ０とするステップＳ２と、
標準方向パラメータライブラリを生成するステップＳ３と、
前記斜面上を所定の直線ルートに沿って任意方向Ｔｍに直線走行するように前記ロボットを制御するステップＳ４と、
前記標準方向パラメータライブラリから前記走行方向Ｔｍに対応する標準サブベクトルｇｘｍ０、ｇｙｍ０、ｇｚｍ０データを取得するステップＳ５と、
一定の時間間隔ｔ毎に、前記三次元座標系の三方向における重力加速度ｇのリアルタイムサブベクトルｇｘｍ１、ｇｙｍ１、ｇｚｍ１を含む一セットのリアルタイム方向パラメータをリアルタイムで収集するステップＳ６と、
前記Ｘ軸方向における重力加速度ｇのリアルタイムサブベクトルと標準サブベクトルとのサブベクトル差分値ｇｘｄ＝ｇｘｍ１−ｇｘｍ０を計算するステップＳ７と、
前記ロボットが所定の直線ルートに沿って走行しているか否かを判定するステップＳ８と、を含み、
ステップＳ８において、ｇｘｄが０である場合、前記ロボットが所定の直線ルートに沿って走行していると判定し、ステップＳ６に戻り、  ｇｘｄが０ではない場合、前記ロボットが所定の直線ルートからずれたと判定する、判定方法。
【請求項２】
前記標準方向パラメータライブラリを生成するステップＳ３は、
前記斜面上を所定の円環ルートに沿って等速円運動するように前記ロボットを制御するステップＳ３１と、
前記ロボットが円運動している過程において、一定の時間間隔ｔ０毎に、前記ロボットの走行方向Ｔｓ及び前記走行方向Ｔｓに対応する標準サブベクトルｇｘｓ０、ｇｙｓ０、ｇｚｓ０を含む少なくとも一セットの標準方向パラメータをリアルタイムで収集して記録するステップＳ３２と、
少なくとも一セットの標準方向パラメータに基づいて前記標準方向パラメータライブラリを生成するステップＳ３３と、
を含む、請求項１に記載の判定方法。
【請求項３】
ステップＳ３１において、前記等速円運動の角速度は０．１〜１．０度／秒である、請求項２に記載の判定方法。
【請求項４】
ステップＳ３２において、前記時間間隔ｔ０は０．１〜１．０秒である、請求項３に記載の判定方法。
【請求項５】
ステップＳ６において、前記時間間隔ｔは０．１〜１．０秒である、請求項１に記載の判定方法。
【請求項６】
ステップＳ８の後に、
磁気センサによりリアルタイム走行方向Ｔｍ１を取得するステップＳ９と、
前記リアルタイム走行方向Ｔｍ１と前記走行方向Ｔｍとを対比するステップＳ１０と、をさらに含み、
ステップＳ１０において、両者が一致する場合、前記ロボットが所定の直線ルートに沿って走行していると判定し、ステップＳ６に戻り、両者が一致しない場合、前記ロボットが所定の直線ルートからずれたと判定する、請求項１に記載の判定方法。
【請求項７】
斜面上におけるロボットの直線走行の制御方法であって、
請求項１から６のいずれか１項に記載の判定方法に基づいて、前記ロボットが所定の直線ルートに沿って走行しているか否かを判定し、前記ロボットが所定の直線ルートからずれた場合、ステップＳ１２を実行するステップＳ１１と、
走行過程においてＴｍ方向に転向するように前記ロボットを制御するステップＳ１２と、
前記斜面上を前記Ｔｍ方向に沿って直線走行するように前記ロボットを制御し、ステップＳ１１に戻るステップＳ１３と、
を含む、制御方法。
【請求項８】
走行過程において前記Ｔｍ方向に転向するように前記ロボットを制御するステップＳ１２は、
標準方向パラメータライブラリから前記リアルタイム方向パラメータに対応する実際走行方向Ｔｎを取得するステップＳ１２１と、
前記ロボットの調整を必要とする転向方向及び前記実際走行方向Ｔｎと所定走行方向Ｔｍとがなす転向角度を計算するステップＳ１２２と、
前記ロボットの調整を必要とする転向方向及び転向角度に基いて、ＰＩＤアルゴリズムにより前記ロボットの左右への転向を制御するステップＳ１２３と、
を含む、請求項７に記載の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット応用分野、特に斜面上におけるロボットの直線走行の判定方法及び制御方法に関する。
【背景技術】
【０００２】
化石燃料が日々減少している中で、新型の再生可能エネルギとしての太陽エネルギは、人類が用いるエネルギの重要部分となる。直近１０年間、太陽エネルギ応用技術は、全世界で急速な発展を遂げてきた。ソーラパネルとは、光照射により半導体材料に発生した光起電力効果（ｐｈｏｔｏｖｏｌｔａｉｃ）を利用して太陽エネルギを電気エネルギに直接変換するデバイスを指す。ソーラパネルは、日当たりの場所であれば発電することができるため、大型発電所から小型ポータブル充電器までの多くの領域に適用され、近年、急速に発展している。
【０００３】
ソーラパネルは、戸外でしか使用できず、その作動に最も影響を与えるのは、悪天候ではなく、長年蓄積されてきた粉塵である。ソーラパネルに粉塵又は他の付着物が付着すると、パネルの光透過率に影響し、光電効率を低下させてしまう。そのため、パネルが太陽光を直接取得する効率には大きな影響を与え、パネルのエネルギ吸収及び変換効率が低下し、発電効率が低下してしまう。従来のソーラパネルを使用する際に、人による定期的な清掃に頼り、ソーラパネルの面積が大きく、大型発電所で同時に使用されるパネルが多くなることに加えて、粉塵が繰り返し蓄積されて清掃を繰り返す必要があるため、人件費が高く、清掃効率が低く、清掃効果が悪い。また、多くの場合おいては、空間の利用率を高めるためにフレームによりソーラパネルが高い場所に配置されるので、清掃作業により大きな困難及びリスクを与えてしまう。また、多くのユーザは、清掃コストを抑えるためにソーラパネルを清掃していない。そうすると、粉塵による電気エネルギの損失が大きくなってしまう。そこで、ソーラパネルを自動清掃できる新型の自動清掃装置が必要とされている。
【０００４】
従来の清掃ロボットは、水平面上の清掃のみに適用しており、ソーラパネルのような斜面に適用していない。従来の清掃ロボットをそのままソーラパネルに適用すると、以下の問題が発生するおそれがある。
【０００５】
（１清掃ロボットは、駆動力が足りておらず、自由に走行できず、清掃効果が悪くなる。ソーラパネルの傾斜角度が一般に１０度〜４０度であるため、従来の清掃ロボットは、このような斜面を自由に走行できず、無理矢理に走行しても、電力があっという間に尽きてしまう。
（２清掃ロボットは、ソーラパネルから滑り落ちるおそれがある。ソーラパネルが比較的滑りやすく、且つ従来の清掃ロボットの重量及び車輪の摩擦係数が小さくて、摩擦力も小さいため、清掃ロボットは、その走行が困難で、滑り落ちやすくなる。
（３清掃ロボットは、所定ルートに従って走行できず、走行による清掃の面積が小さく、ソーラパネルのエッジから転落するおそれがある。従来の清掃ロボットは、一般に、障害物に衝突するとその方向が自動的に転向されるように設定されている。しかし、ソーラパネルには障害物が全くないため、清掃ロボットは、単一のルートのみに沿って走行し、走行による清掃の面積が小さく、必ずソーラパネルのエッジから転落する。予めルートが設定されたとしても、走行中に重力及びパネルの付着物の影響により従来の清掃ロボットがルートからずれやすくなるため、直線走行を確保することが困難であり、且つ清掃ロボットその自体がルートずれに気づかないので、満遍なくパネル上を走行できず、清掃されないスペースが多く残ってしまう。
（４清掃ロボットを充電することが困難である。ソーラパネルの高度が高く、且つ面積が大きいため、清掃ロボットをソーラパネル上に置いてから、回収しにくくなる。従来技術において、清掃ロボットを人力で現場から回収したり、電池を取り出したりして充電する必要があるため、現場作業を長時間に亘り継続的に行うことができない。さらに、ソーラパネルが一般にフレームで高い場所に配置されるため、充電操作が非常に面倒で、多くの労力が必要とされている。
（５清掃ロボットの作業状態を監視するのが困難である。ソーラパネルが高い場所に配置されるので、地面上にいる作業員がその作業工程を常時に監視することができず、清掃ロボットが故障することでその動作が停止したり、ルートからずれたりするとき、作業員が迅速に対応することができない。
【発明の概要】
【０００６】
本発明は、従来技術のロボットが斜面上を走行しているとき所定直線ルートからずれたことに気付きにくくなるという技術問題を解決するために、斜面上におけるロボットの直線走行の判定方法を提供することを目的とする。
【０００７】
上記問題を解決するために、本発明によれば、斜面上におけるロボットの直線走行の判定方法であって、前記ロボットの走行方向をＹ軸正方向とし、前記斜面に垂直な方向をＺ軸方向とし、Ｘ軸と前記Ｙ軸が所在する平面が前記斜面に平行となるように、前記ロボットに三次元座標系を定義するステップＳ１と、前記ロボットの走行方向をＴｓとすると、前記三次元座標系の三方向における重力加速度ｇの標準サブベクトルをｇｘｓ０、ｇｙｓ０、ｇｚｓ０とするステップＳ２と、標準方向パラメータライブラリを生成するステップＳ３と、前記斜面上を所定の直線ルートに沿って任意方向Ｔｍに直線走行するように前記ロボットを制御するステップＳ４と、前記標準方向パラメータライブラリから前記走行方向Ｔｍに対応する標準サブベクトルｇｘｍ０、ｇｙｍ０、ｇｚｍ０データを取得するステップＳ５と、一定の時間間隔ｔ毎に、前記三次元座標系の三方向における重力加速度ｇのリアルタイムサブベクトルｇｘｍ１、ｇｙｍ１、ｇｚｍ１を含む一セットのリアルタイム方向パラメータを収集するステップＳ６と、前記Ｘ軸方向における重力加速度ｇのリアルタイムサブベクトルと標準サブベクトルとのサブベクトル差分値ｇｘｄ＝ｇｘｍ１−ｇｘｍ０を計算するステップＳ７と、前記ロボットが所定の直線ルートに沿って走行しているか否かを判定するステップＳ８と、を含み、ステップＳ８において、ｇｘｄが０である場合、前記ロボットが所定の直線ルートに沿って走行していると判定し、ステップＳ６に戻り、ｇｘｄが０ではない場合、前記ロボットが所定の直線ルートからずれたと判定する、判定方法が提供される。
【０００８】
また、ステップＳ６とステップＳ７との間に、磁気センサによりリアルタイム走行方向Ｔｍ１を取得するステップＳ９と、前記リアルタイム走行方向Ｔｍ１に基づいて前記三次元座標系の三方向における重力加速度ｇのリアルタイムサブベクトルｇｘｍ１、ｇｙｍ１、ｇｚｍ１のずれ補正処理を行うステップＳ１０と、をさらに含む。
【０００９】
また、標準方向パラメータライブラリを生成するステップＳ３は、前記斜面上を所定の円環ルートに沿って等速円運動するように前記ロボットを制御するステップＳ３１と、前記ロボットが円運動している過程において、一定の時間間隔ｔ０毎に、前記ロボットの走行方向Ｔｓ及び前記走行方向Ｔｓに対応する標準サブベクトルｇｘｓ０、ｇｙｓ０、ｇｚｓ０を含む少なくとも一セットの標準方向パラメータをリアルタイムで収集して記録するステップＳ３２と、少なくとも一セットの標準方向パラメータに基づいて標準方向パラメータライブラリを生成するステップＳ３３と、を含む。
【００１０】
また、ステップＳ３１において、前記等速円運動の角速度は０．１〜１．０度／秒である。ステップＳ３２において、前記時間間隔ｔ０は０．１〜１．０秒である。ステップＳ６において、前記時間間隔ｔは０．１〜１．０秒である。
【００１１】
本発明は、従来技術のロボットが斜面上を走行する過程において所定直線ルートからずれた後、タイムリーに補正することができず、直線走行を確保することが困難であるという技術問題を解決するために、斜面上におけるロボットの直線走行の制御方法を提供することを他の目的とする。
【００１２】
上記問題を解決するために、本発明によれば、斜面上におけるロボットの直線走行の制御方法であって、斜面上におけるロボットの直線走行の判定方法に基づいて、ロボットが所定の直線ルートに沿って走行しているか否かを判定し、前記ロボットが所定の直線ルートからずれた場合、ステップＳ１２を実行するステップＳ１１と、走行過程において前記Ｔｍ方向に転向するように前記ロボットを制御するステップＳ１２と、前記斜面上をＴｍ方向に沿って直線走行するように前記ロボットを制御し、ステップＳ１１に戻るステップＳ１３と、を含む、制御方法が提供される。
【００１３】
また、走行過程において前記Ｔｍ方向に転向するように前記ロボットを制御するステップＳ１２は、標準方向パラメータライブラリから前記リアルタイム方向パラメータに対応する実際走行方向Ｔｎを取得するステップＳ１２１と、前記ロボットの調整を必要とする転向方向及び前記実際走行方向Ｔｎと所定走行方向Ｔｍとがなす転向角度を計算するステップＳ１２２と、前記ロボットの調整を必要とする転向方向及び転向角度に基いて、ＰＩＤアルゴリズムにより前記ロボットの左右への転向を制御するステップＳ１２３と、を含む。
【００１４】
本発明は、斜面上におけるロボットの直線走行の判定方法及び制御方法を提供し、ロボットの走行方向及び姿勢をリアルタイムで監視することができ、走行ルートに僅かなずれが発生したことが発見されると、当該ロボットの走行方向を直接補正し、ロボットを所定方向に戻して継続的に直線走行させることができる。ソーラパネル清掃ロボットは本発明の判定方法及び制御方法を採用することにより、ロボットは、所定の最適ルートに従って走行し、重複せずにパネルを満遍なく清掃することができるので、作業効率が向上する。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施例に係る清掃ロボットの全体外観模式図である。
【図２】本発明の実施例に係る清掃ロボットの内部構造模式図である。
【図３】本発明の実施例に係る清掃ロボットの分解構造模式図である。
【図４】本発明の実施例に係る動力システムの全体外観模式図である。
【図５】本発明の実施例に係る除履帯のハウジングを取り外した後の動力システムの構造模式図である。
【図６】本発明の実施例に係る制御システムの構造のブロック図である。
【図７】本発明の実施例に係るロボットに三次元座標系を定義する模式図である。
【図８】ロボットが第１ルートナビゲーション方法により矩形斜面上を走行する走行ルート模式図である。
【図９】ロボットが第１ルートナビゲーション方法により矩形斜面上を走行する他の走行ルート模式図である。
【図１０】ロボットが第２ルートナビゲーション方法により矩形斜面上を走行する走行ルート模式図である。
【図１１】ロボットが第２ルートナビゲーション方法により矩形斜面上を走行する他の走行ルート模式図である。
【図１２】ロボットが第３ルートナビゲーション方法により矩形斜面上を走行する走行ルート模式図である。
【図１３】ロボットが第３ルートナビゲーション方法により矩形斜面上を走行する他の走行ルート模式図である。
【図１４】ロボットが第４ルートナビゲーション方法により矩形斜面上を走行する走行ルート模式図である。
【図１５】ロボットが第４ルートナビゲーション方法により矩形斜面上を走行する他の走行ルート模式図である。
【符号の説明】
【００１６】
１００ソーラパネル清掃ロボット／清掃ロボット／ロボット、３００斜面、４００サーバ、１車体、２清掃装置、３動力システム、４制御システム、５電力システム、１１ケーシング、３１左前輪、３２右前輪、３３左後輪、３４右後輪、３５左駆動モータ、３６右駆動モータ、３７履帯、３８輪ハブ輪歯、４１データ収集ユニット、４２プロセッサ、４３記憶ユニット、４４アラームユニット、４５無線通信ユニット、５１電池ボックス、３１１左前輪ハブ、３１２左前輪軸、３２１右前輪ハブ、３２２右前輪軸、３３１左後輪ハブ、３４１右後輪ハブ、４１１加速度センサ、４１２磁気センサ、４１３距離センサ、４１４カウンタ、４１５映像センサ
【発明を実施するための形態】
【００１７】
以下、図面を参照しながら本発明の好適実施例を三つ説明することで、本発明が実施可能なものであることが証明される。実施例は、当業者に本発明を紹介している。本発明は、様々な実施例により具体的に表現されることができるため、本発明の保護範囲は、以下の実施例に限定されない。
【００１８】
図面において、同一構造の部品を同一の数字で示し、構造又は機能が類似する部品を類似する数字で示す。図面に示す各部品のサイズ及び厚さが任意であるため、本発明は、各部品の寸法及び厚さを限定していない。図示をより明確にするために、部品の一部を拡大して示すことがある。
【００１９】
本発明において使用される方向用語、例えば、「上」、「下」、「前」、「後」、「左」、「右」、「内」、「外」、「側面」等は、図面における方向で、本発明を解釈及び説明するものに過ぎず、本発明の保護範囲を限定するものではない。
【００２０】
一方の部品が他方の部品「上」に位置するとは、前記一方の部品を前記他方の部品に直接位置させてもよいし、前記一方の部品を中間部品に位置させるとともに前記中間部品を前記他方の部品に位置させてもよい。一方の部品を他方の部品に「取付ける」又は「接続する」とは、直接「取付け」又は「接続」してもよいし、中間部品を介して一方の部品を他方の部品に間接「取付け」又は「接続」してもよい。
【００２１】
図１から図３に示すように、本実施例によれば、ソーラパネル清掃ロボット１００（以下、単に「清掃ロボット」又は「ロボット」と称する）が提供される。前記ソーラパネル清掃ロボット１００は、車体１を含む。車体１は、少なくとも一つのソーラパネル上を走行することができる。車体１の内部又は外部には、清掃装置２、動力システム３、制御システム４及び電力システム５が設けられる。
【００２２】
清掃装置２は、車体の走行過程においてソーラパネル２００を清掃する。動力システム３は、ソーラパネル２００上における車体１の走行方向及び走行速度を調整し、車体１の走行、停止又は転向を制御する。制御システム４は、それぞれ動力システム３及び清掃装置２に接続され、動力システム３及び清掃装置２に様々な制御信号を送信する。電力システム５は、それぞれ動力システム３、清掃装置２及び制御システム４に接続され、動力システム３、清掃装置２及び制御システム４に電力を供給する。
【００２３】
本実施例に係るソーラパネル清掃ロボット１００がソーラパネル上で正常に作業している状態において、電力システム５が起動したとき、制御システム４は少なくとも一つの走行制御指令及び少なくとも一つの清掃制御指令を送信し、動力システム３は前記走行制御指令に基づいて所定ルートに沿って走行するように車体１を制御する。同時に、清掃装置２は前記清掃制御指令に基づいて清掃装置２を起動し、ソーラパネル２００の清掃作業を開始する。車体１の走行過程において、制御システム４は、動力システム３に複数の走行制御指令（例えば、ずれ補正指令、転向指令、折り返し指令等）を送信することにより、直進ルートからずれたとき元のルートに戻るように車体１を命令し（すなわち、ずれ補正処理）、又は、一定の条件若しくは一定の位置で転向又はＵターン（折り返し）するように車体１を命令することにより、車体１は所定の最適ルートに沿って走行することができる。ナビゲーション方法、ずれ補正方法、車体の転向制御方法又はＵターン（折り返し）制御方法の詳細については、後述する。走行過程において、車体１の走行方式（例えば、直行、シフト、ずれ補正、転向又はＵターン）にかかわらず、清掃装置２は作業状態を常に保持することができる。制御システム４は、特定の作業パラメータ（例えば、所定ルートの走行完了又は電力システム５のバッテリ不足を示すパラメータ）に基づいて、走行停止の走行制御指令を送信したとき、車体１は走行を停止すると同時に、制御システム４は清掃制御指令を送信して清掃装置２をオフにし、清掃を停止させることができる。
【００２４】
図４及び図５に示すように、本実施例において、動力システム３は、車体１の底部に設けられ、車体１の走行を駆動する。動力システム３は、左前輪３１、右前輪３２、左後輪３３、右後輪３４、左駆動モータ３５、右駆動モータ３６及び二つの履帯３７を含む。
【００２５】
左前輪３１は、前記車体底面の前部の左側に取り付けられ、左前輪ハブ３１１及び左前輪軸３１２を含む。左前輪軸３１２は、左前輪ハブ３１１の中心に設けられる。右前輪３２は、前記車体底面の前部の右側に取り付けられ、右前輪ハブ３２１及び右前輪軸３２２を含む。右前輪軸３２２は、右前輪ハブ３２１の中心に設けられる。左後輪３３は、前記車体底面の後部の左側に取り付けられ、左後輪ハブ３３１及び左後輪軸３３２（図示せず）を含む。左後輪ハブ３３１は、左前輪ハブ３１１と同一の直線に設けられ、前記左後輪軸は、左後輪ハブ３３１の中心に設けられる。右後輪３４は、前記車体底面の後部の右側に取り付けられ、右後輪ハブ３４１及び右後輪軸（図示せず）を含む。右後輪ハブ３４１は、右前輪ハブ３２１と同一の直線に設けられる。前記右後輪軸は、右後輪ハブ３４１の中心に設けられる。前記右後輪軸は、直接又は伝動装置（図示せず）を介して前記左後輪軸に接続される。左駆動モータ３５及び右駆動モータ３６は、固定装置により車体１に固定接続され、少なくとも一つの導線により電力システム５に接続され、少なくとも一つの信号線により制御システム４に接続される。左駆動モータ３５は、直接又は伝達装置（図示せず）を介して左前輪軸３１２に接続され、右駆動モータ３６は、直接又は伝達装置（図示せず）を介して右前輪軸３２２に接続される。二つの履帯３７は、共にフレキシブルチェーンリンクである。一方の履帯３７は、左前輪ハブ３１１、左後輪ハブ３３１の環状側壁の外部に被覆され、他方の履帯３７は、右前輪ハブ３２１、右後輪ハブ３４１の環状側壁の外部に被覆される。各履帯３７の外部に履帯ハウジング３７１を設けることにより、履帯及び輪ハブが保護されるので、履帯又は輪ハブへのゴミの進入による車体１の正常走行に対する影響が防止される。
【００２６】
本実施例において、制御システム４は、所定の最適ルートに基づいて左駆動モータ３５、右駆動モータ３６に少なくとも一つの走行制御信号を送信し、左駆動モータ３５及び右駆動モータ３６に左前輪３１、右前輪３２の回転速度及び回転方向を同期調整させる。車体１の走行方向及び走行速度が調整されると、車体の直行、ずれ補正、９０度転向、Ｕターン等の動作が実現される。
【００２７】
車体が直線走行する必要がある場合、制御システム４は、左駆動モータ３５、右駆動モータ３６に直線走行制御指令を同時に送信する。制御指令には、同一のモータ回転速度（例えば、左駆動モータ及び右駆動モータの回転速度が共に６０回転／分間である）、駆動モータ回転軸の回転方向（例えば、左駆動モータが時計回りに回転する、右駆動モータが反時計回りに回転する）が含まれる。これにより、左前輪３１、右前輪３２を同期に前方に回転させる。左後輪３３及び右後輪３４は、従動輪であり、履帯３７の駆動により左前輪３１、右前輪３２と前方に同期回転する。これにより、車体１全体が前方に走行する。
【００２８】
車体１が右に転向する必要がある場合、制御システム４は、左駆動モータ３５、右駆動モータ３６にずれ補正走行制御指令を同時に送信する。左駆動モータ３５が受信した制御指令におけるモータ回転速度は、右駆動モータ３６が受信した制御指令におけるモータ回転速度よりも大きくなる。回転速度の差分値は、調整すべき偏差角度に依存し、偏差角度が小さいほと、回転速度の差分値が小さくなる。同様に、車体１が左に転向する必要がある場合、左駆動モータ３５が受信した制御指令におけるモータ回転速度は、右駆動モータ３６が受信した制御指令におけるモータ回転速度より小さくなる。車体１が元の所定走行方向に戻った後、制御システム４は、直線走行制御指令を再度送信することにより、左駆動モータ３５と右駆動モータ３６の回転速度が再度同一になり、車体１が直線走行し続ける。
【００２９】
車体が９０度転向する必要がある場合、制御システム４は、所定の転向半径の大きさに基づいて左駆動モータ３５、右駆動モータ３６の回転速度及び回転方向を算出する。転向半径が比較的大きい場合、駆動モータの回転方向が反対となり（一方が時計回り、他方が反時計回り）、左前輪３１及び右前輪３２は、前方に同期回転し、又はいずれか一方の車輪の回転が停止されるように設定される。これにより、走行しながら転向する効果は実現される。転向半径が比較的小さい、又は走行せずに転向する場合、左駆動モータ３５と右駆動モータ３６の回転方向を同一（共に時計回りまたは反時計回り）にすることができる。これにより、左前輪３１及び右前輪３２のうちのいずれか一方が前方に回転し、いずれか他方が後方に回転するので、車体１の一側が前進し、他側が後退することにより、小半径の転向又は走行せずに転向する効果が実現される。
【００３０】
車体がＵターン（「折り返し」とも称する）をする必要がある場合、車体は、１８０度転向した後、元の車道に隣接する車道まで走行する必要がある。この場合、単一Ｕターン又は段階的なＵターンを含む。制御システム４は、所定の転向半径の大きさに基づいて左駆動モータ３５、右駆動モータ３６の回転速度及び回転方向を算出する。単一Ｕターンにおいて、転向半径が車体幅の半分と等しくなり、転向の内側の前輪が回転を停止し、又は極めて遅い速度で前方に回転し（左にＵターンするとき、左前輪が回転を停止し、右にＵターンするとき、右前輪が回転を停止し）、転向の外側の前輪が高速で前方に回転するこれにより、左右へのＵターンが実現される。段階的なＵターンにおいて、具体的な状況に応じて異なる方法を決定することができる。本実施例において、まず、車体１を走行せず左又は向に９０度転向させ、そして、車体が前方にケーシングの幅分だけの距離を走行させ、最後に、車体を走行せず左又は右向に９０度転向させることが好ましい。これにより、車体の左右へのＵターンが実現される。そして、車体は、Ｕターンした後、ちょうど前の車道に隣接する車道を走行することができる。ことにより、本実施例のロボットは、重複せず、満遍なく走行する効果が実現される。
【００３１】
動力システム３は、少なくとも一つの輪ハブ輪歯３８及び少なくとも一つの履帯内歯３７２をさらに含む。輪ハブ輪歯３８は、左前輪ハブ３１１、左後輪ハブ３３１、右前輪ハブ３２１及び右後輪ハブ３４１の環状側壁の外部表面に均等に設けられる。履帯内歯３７２は、輪ハブ輪歯３８と噛み合うように履帯３７の内側壁の表面に均等に設けられる。これにより、二つの前輪３１、３２が回転するとき、履帯３７は二つの輪ハブと協働して正常に作動することが確保される。
【００３２】
ソーラパネルは、相対的に滑らかであり、且つ一定の傾斜度を有するため、清掃ロボット車体が走行する過程において滑り落ちやすくなる。この問題を解決するために、図４に示すように、動力システム３は、少なくとも一つの滑り止めブロック３７３をさらに含む。滑り止めブロック３７３は、二つの履帯３７の外側壁に突出しており、規則的なアレイに配列され、履帯３７全体に均一に分布される。本実施例の車体１は、履帯構造を採用し、且つ履帯の外壁に滑り止めブロック３７３を配置することにより、摩擦係数が増大され、トラクションが増強され、車体１の走行過程における滑り落ちが防止される。同様に、本実施例の履帯３７には、少なくとも一つの滑り止めパターン（図示せず）が設けられてもよい。滑り止めパターンは、二つの履帯の外側壁に凹んでおり、履帯全体に均一に分布される。その効果は滑り止めブロックと同様である。
【００３３】
本実施例において、動力システム３の技術的効果は、以下の通りである。履帯及び滑り止めブロック構造を採用することにより、清掃ロボットの車体が滑り落ちることがなくソーラパネル上を自由に走行することができる。左右の前輪は、ダブルモータにより別々に駆動されることにより、車体の走行状況を正確に制御でき、必要に応じて車体の走行方向をより柔軟に調整することができる。そして、車体は走行せずに転向することが実現され、走行ルートの範囲をできるだけ増大することができる。
【００３４】
図６に示すように、本実施例において、制御システム４は、データ収集ユニット４１、プロセッサ４２及び少なくとも一つのメモリユニット４３を含む。データ収集ユニット４１は、複数種類のセンサを含み、車体１の走行過程における少なくとも一つの作業パラメータを収集する。プロセッサ４２は、データ収集ユニット４１に接続され、前記作業パラメータに基づいて動力システム３及び清掃装置２にそれぞれ少なくとも一つの走行制御指令及び少なくとも一つの清掃制御指令を送信する。メモリユニット４３は、プロセッサ４２に接続され、車体１の走行過程における作業パラメータ、及び予め算出又は設定された他のパラメータを記憶する。前記作業パラメータは、車体１のリアルタイム加速度データ、リアルタイム走行方向データ、各距離センサとソーラパネルとの距離及び車体前方の映像等のパラメータを含む。予め算出又は設定された他のパラメータは、作業員が予め設定した種々の作業データ、例えば、予め算出又は計画された清掃ロボット走行ルート（最適ルート）等を含む。
【００３５】
清掃ロボット車体にルートナビゲーションを提供するために、作業員は、計画された最適ルートを制御システム４に予め記録しておく。制御システム４は、前記最適ルートに基づいて計算及び計画を行い、起動のタイミング、停止のタイミング、直線走行のタイミング、９０度左折又は右折のタイミング、Ｕターンのタイミング等の制御情報を、様々な制御指令として動力システムに送信し、車体の走行中の動作を制御する。
【００３６】
車体制御技術では、ロボットが斜面上を直線走行するか否かを如何に判定するか、及び斜面上における車体の直線走行を如何に制御するかは、最も基本的な問題である。車体が直線走行する過程において監視が欠如する場合、車体がある原因（例えば、路面が平坦ではないか、又は路面に障害物がある等）によりずれると、走行すればするほど、ずれが大きくなる現象が発生する。本発明の場合、ロボットが既存のナビゲーションルートからずれ、最短時間内で斜面全体を満遍なく走行することができないおそれがある。本実施例において、清掃ロボットが作業を完了した後、ソーラパネルには、まだ清掃されていない場所が多く存在する。
【００３７】
本実施例のロボットが斜面上を直線走行するか否かを如何に判定するかという問題を解決するために、本実施例によれば以下の技術案が提供される。
【００３８】
制御システム４において、データ収集ユニット４１は、少なくとも一つの加速度センサ４１１を含み、ロボット１００（又は車体１の加速度データをリアルタイムで収集する。加速度センサ４１１は、プロセッサ４２に接続され、車体１の加速度データをプロセッサ４２に伝送し、プロセッサ４２が動的加速度データを分析することにより、車体の走行過程における車体の受力方向及び走行方向等を取得することができる。プロセッサ４２は、ロボット１００の加速度データに基づいて三次元座標系を構築し分解計算する。ここで、ロボット１００の走行方向をＹ軸正方向、前記斜面に垂直な方向をＺ軸方向とし、Ｘ軸及び前記Ｙ軸が所在する平面が前記斜面に平行となる。加速度データのＸ軸方向におけるベクトルに基づいて、車体１が左右にずれるか否かが判定される。車体１がずれる場合、前記プロセッサは、動力システム３に少なくとも一つの方向調整指令を送信して、車体１を元の直線ルートに戻す。一方、車１体がずれていない場合、プロセッサ４２は、車体１が直線走行していると判定する。
【００３９】
さらに、直線走行判定の正確性を保証するために、加速度センサによる判定に加えて、磁気センサ技術により、加速度センサが判定したルートずれの状況を再度判定（即ち、磁気センサによる二次判定）してもよい。そのため、制御システム４において、データ収集ユニット４１は、プロセッサ４２に接続された磁気センサ４１２をさらに含んでもよい。磁気センサ４１２は、磁場強度を検出することにより電流、位置、方向等の物理的パラメータを測定する。本実施例において、磁気センサ４１２は、走行方向データをリアルタイムで収集し、最適ルートデータに基づいて所定の標準走行方向と比較して判定することにより、車体が直線走行しているか否かを確認する。これにより、車体の直線走行の判定はより正確になる。
【００４０】
本実施例の前記ソーラパネル清掃ロボット（以下、単に「ロボット」と称する）が直線走行しているか否かを如何に判定するかという技術問題を解決するために、本実施例によれば、斜面３００上における清掃ロボット１００の直線走行の判定方法が提供される。ソーラパネルが斜面であるため、前記判定方法は、ソーラパネル清掃ロボットが直線走行しているか否かの判定に適用できる。前記判定方法は、以下のステップＳ１〜ステップＳ８を含む。
【００４１】
ステップＳ１において、図７に示すように、前記ロボットの走行方向をＹ軸正方向とし、前記斜面に垂直な方向をＺ軸方向とし、Ｘ軸及び前記Ｙ軸が所在する平面が前記斜面に平行となるように、前記ロボットに三次元座標系を定義する。
【００４２】
ステップＳ２において、前記ロボットの走行方向をＴｓとすると、前記三次元座標系の三方向における重力加速度ｇの標準サブベクトルを、ｇｘｓ０、ｇｙｓ０、ｇｚｓ０とする。
【００４３】
ステップＳ３において、標準方向パラメータライブラリを生成する。具体的には、以下のステップＳ３１、ステップＳ３２及びステップＳ３３を含む。ステップＳ３１において、前記斜面上を所定の円環ルートに沿って０．１〜１．０度／秒の角速度で等速円運動するように前記ロボットを制御する。ステップＳ３２において、前記ロボットの円運動の過程において、一定の時間間隔ｔ０（０．１〜５．０秒）毎に、少なくとも１セットの標準方向パラメータをリアルタイムで収集して記録する。なお、各セットの標準方向パラメータは、前記ロボットの走行方向Ｔｓ及び前記走行方向に対応する標準サブベクトルｇｘｓ０、ｇｙｓ０、ｇｚｓ０を含む。ステップＳ３３において、少なくとも１セットの標準方向パラメータに基づいて標準方向パラメータライブラリを生成する。角速度：０．１度／秒、時間間隔：ｔ０＝１秒を一例とすると、ロボット１００が斜面３００上で１回の等速円運動を完成するのに約３６００秒がかかる。そして、１秒毎にロボットの走行方向Ｔｓ及び対応する加速度標準サブベクトルｇｘｓ０、ｇｙｓ０、ｇｚｓ０を収集することにより、３６００セットの異なる方向のパラメータが得られ、３６００セットの標準方向パラメータとして記録される。
【００４４】
ステップＳ４において、前記斜面上を所定の直線ルートに沿って任意の方向Ｔｍに直線走行するように前記ロボットを制御する。
【００４５】
ステップＳ５において、前記標準方向パラメータライブラリから前記走行方向Ｔｍに対応する標準サブベクトルｇｘｍ０、ｇｙｍ０、ｇｚｍ０のデータを取得する。
【００４６】
ステップＳ６において、一定の時間間隔ｔ毎に、１セットのリアルタイム方向パラメータをリアルタイムで収集する。前記リアルタイム方向パラメータは、前記三次元座標系の三方向における重力加速度ｇのリアルタイムサブベクトルｇｘｍ１、ｇｙｍ１、ｇｚｍ１を含み、前記時間間隔ｔは、０．１〜１．０秒である。
【００４７】
ステップＳ７において、前記Ｘ軸方向における重力加速度ｇのリアルタイムサブベクトルと標準サブベクトルのサブベクトルとの差分値ｇｘｄ＝ｇｘｍ１−ｇｘｍ０を算出する。
【００４８】
ステップＳ８において、差分値ｇｘｄに基づいて前記ロボットが所定の直線ルートに沿って走行しているか否かを判定する。具体的には、ｇｘｄが０である場合、前記ロボットが所定の直線ルートに沿って走行していると判定し、ステップＳ６に戻る。一方、ｇｘｄが０ではない場合、前記ロボットが所定の直線ルートからずれたと判定する。
【００４９】
ロボット１００の斜面３００における重力加速度ｇが固定値であるため、ロボット１００が斜面３００上で作業する際に、走行方向Ｔｓ及び前記方向の加速度サブベクトルデータｇｘｓ、ｇｙｓ、ｇｚｓは、標準データライブラリにおける標準方向パラメータと一致すべきである。本実施例において、ロボットが直線走行しているか否かを判定することは、本質的に、ロボットには直進ルートから左右への僅かなずれが発生したか否かを判定することである。したがって、前記Ｘ軸方向上における重力加速度ｇのリアルタイムサブベクトルが標準サブベクトルと一致するか否かを判定すればよい。両者が一致する場合、ずれが発生していないことを示し、一方、両者が一致しない場合、ずれが発生したことを示す。さらに、サブベクトルの差分値ｇｘｄ＝ｇｘｍ１−ｇｘｍ０の正負に基づいて左又は右へのずれを判定することができる。
【００５０】
また、本実施例によれば、斜面上におけるロボットの直線走行の他の判定方法がさらに提供される。前記ステップＳ８において、前記ロボットが所定の直線ルートからずれたと判定した後、以下のステップＳ９及びステップＳ１０を含んでもよい。ステップＳ９において、磁気センサによりリアルタイム走行方向Ｔｎを取得する。ステップＳ１０において、前記リアルタイム走行方向Ｔｎと前記走行方向Ｔｍとを比較し、両者が一致する場合、前記ロボットが所定の直線ルートに沿って走行していると判定し、ステップＳ６に戻る。一方、両者が一致しない場合、前記ロボットが所定の直線ルートからずれたと判定する。ロボットが直線ルートからずれたと判定した場合、二次判定を行うことにより、判定結果の正確さが確保される。
【００５１】
制御システム４は、ロボットが走行ルートからずれたことを発見した場合、迅速にずれ補正処理によりロボットを所定ルートに戻さなければならない。斜面上における前記ロボットの直線走行を如何に制御するかという技術問題を解決するために、本実施例によれば、斜面におけるロボットの直線走行の制御方法が提供される。前記制御方法は、以下のステップＳ１１〜ステップＳ１３を含む。
【００５２】
ステップＳ１１において、ステップＳ１〜Ｓ８又はステップＳ１〜Ｓ１０に記載の判定方法に基づいて、ロボットが所定の直線ルートに沿って走行しているか否かを判定する。前記ロボットが所定の直線ルートからずれた場合、ステップＳ１２を実行する。
【００５３】
ステップＳ１２において、走行過程において前記Ｔｍ方向に転向するように前記ロボットを制御する。具体的には、ステップＳ１２は、以下のステップＳ１２１、ステップＳ１２２及びステップＳ１２３を含む。ステップＳ１２１において、標準方向パラメータライブラリから前記リアルタイム方向パラメータに対応する実際走行方向Ｔｎを取得する。ステップＳ１２２において、前記ロボットの調整を必要とする転向方向及び転向角度を算出する。前記転向角度は、前記実際走行方向Ｔｎと所定の走行方向Ｔｍとがなす角度である。ステップＳ１２３において、前記ロボットの調整を必要とする転向方向及び転向角度に基づいて、動力システム３に方向調整指令を送信し、前記ロボットを左又は右に転向させる。
【００５４】
ステップＳ１３において、前記斜面上をＴｍ方向に沿って直線走行するように前記ロボットを制御し、ステップＳ１１に戻る。
【００５５】
前記斜面におけるロボットの直線走行の判定方法では、ステップＳ１〜Ｓ８又はステップＳ１〜Ｓ１０に示す通り、極めて短い時間内で１セットの加速度データ（及び磁気センサデータ）に基づいて車体が斜面上を直線走行しているか否かを迅速に判定することができる。加速度センサは、データをリアルタイムで収集することができ、且つ一定の時間間隔毎に１セットのデータを収集するため、前記の判定過程は一定の時間間隔毎に行われる。これにより、ロボット（車体）が斜面上を走行する過程において直線ルートからずれたことが発見されると、ロボットがずれたと判定することができる。
【００５６】
前記斜面におけるロボットの直線走行の制御方法では、ステップＳ１１〜ステップＳ１３に示す通り、前記斜面におけるロボットの直線走行の判定技術に基づいて、ロボットがずれたと確認した場合、迅速にロボットの走行方向を調整し、ロボットを元の方向のルートに戻す。
【００５７】
本発明において、前記斜面におけるロボットの直線走行の判定方法と前記斜面におけるロボットの直線走行の制御方法とを組合せることにより、清掃ロボットが直線走行する過程においてずれが生じることなく、清掃ロボットが所定の最適なナビゲーションルートに沿って、最短時間内でソーラパネル全体を満遍なく走行し、ソーラパネル全体を速くてクリーンに清掃することが確保される。
【００５８】
最短時間、最短ルートの原則に基づいて、矩形斜面におけるロボットの最適ナビゲーションルートを容易に計画又は算出することができる。如何にロボットを所定の最適ナビゲーションルートに沿って走行させるかについては、本実施例によれば、一連の制御方法及びナビゲーション方法が提供される。ナビゲーション方法とは、ロボットをナビゲーションルートに沿って走行させる制御方法を指す。
【００５９】
本実施例において、データ収集ユニット４１は、少なくとも一つの距離センサ４１３をさらに含んでもよい。距離センサ４１３は、超音波センサ及び光パルスセンサを含むが、これらに制限されない。距離センサ４１３は、ロボット１００（車体１）の外縁に設けられる。具体的には、車体１（ケーシング１１）の四隅に設けられてもよい。図２に示すように、ロボット１００が矩形斜面上を走行するとき、距離センサ４１３の前端は矩形斜面の方向を向く。距離センサ４１３は、プロセッサ４２に接続され、距離センサ４１３と矩形斜面との距離データをリアルタイムで収集する。プロセッサ４２は、距離センサ４１３と前記矩形斜面との距離データに基づいて、車体１が前記矩形斜面のエッジ又は隅にあるか否かを判定する。
【００６０】
本実施例において、四つの距離センサ４１３は、それぞれロボット（車体）の四隅に設けられる。二つの距離センサ４１３のみが前記距離データを収集した場合、プロセッサ４２は、ロボット（車体）が矩形斜面３００のエッジに位置すると判定し、動力システム３に少なくとも一つの転向指令（Ｕターン）を送信する。一つの距離センサのみが前記距離データを収集した場合、プロセッサ４２は、ロボット（車体）が矩形斜面３００の一つの隅に位置すると判定し、動力システム３に少なくとも一つの転向指令（９０度転向又はＵターン）を送信する。また、四つの距離センサ４１３は、それぞれ車体１の各側辺の中間部に設けられてもよい。ある側辺の距離センサ４１３が距離データを収集できない場合、プロセッサは、前記側辺が矩形斜面のエッジに位置すると判定することができる。二つの隣接する側辺が共に矩形斜面のエッジに位置する場合、車体１がソーラパネル２００の一つの隅に位置すると判定することができる。なお、八つの距離センサ４１３は、それぞれ車体１の四隅又は車体１の四つの側辺の中間部に設けられてもよい。
【００６１】
制御システム４は、車体１が斜面上を走行する間に経過した隅の数をカウントするカウンタ４１４をさらに含んでもよい。ロボットの１回の作業において、プロセッサ４２は、車体がある隅に到達したと判定する度に、カウンタに１を追加する。プロセッサ４２は、カウンタ４１４がフィードバックした結果に基づいて、車体１が到達した隅の順序（何番目の隅）を明確に把握することができる。
【００６２】
作業員が予め計画された最適ルートを制御システム４のメモリに記録する。前記プロセッサは、前記ナビゲーションルート及びロボット（車体）のリアルタイム位置に基づいて動力システム３に制御指令、例えば、起動、停止、直行、左右への９０度転向、左右へのＵターン（隣接する車道への１８０度転向）を送信し、ナビゲーションルートに従って走行するように車体を制御する。
【００６３】
本実施例によれば、矩形斜面上におけるロボットの走行の４種類のルートナビゲーション方法が提供される。なお、前記方法の詳細については後述する。ソーラパネルが矩形斜面であるため、ソーラパネルにおける清掃ロボットの走行ルートナビゲーション方法は、後述の矩形斜面上におけるロボットの走行のルートナビゲーション方法にも適用される。
【００６４】
本実施例に開示される矩形斜面上におけるロボットの走行の第１ルートナビゲーション方法は、以下のステップＳ１０１〜ステップＳ１０９を含む。ステップＳ１０１において、前記矩形斜面の左下角をナビゲーション開始点として設定する。ステップＳ１０２において、前記ナビゲーション開始点から前記矩形斜面の左上角へ直線走行するように前記ロボットを制御する。ステップＳ１０３において、前記ロボットが前記矩形斜面の第１隅まで走行したか否かをリアルタイムで検出する。そして、前記ロボットが前記第１隅に到達していない場合、ステップＳ１０２に戻る。一方、前記第１隅に到達した場合、前記ロボットが右へ９０度転向するように前記ロボットを制御する。ステップＳ１０４において、直線走行するように前記ロボットを制御する。ステップＳ１０５において、前記ロボットが前記矩形斜面の第２隅まで走行したか否かをリアルタイムで検出する。そして、前記ロボットが前記第２隅に到達していない場合、ステップＳ１０４に戻る。一方、前記ロボットが前記第２隅に到達した場合、右へＵターンするように前記ロボットを制御する。ステップＳ１０６において、前記ロボットが前記矩形斜面の第３隅まで走行したか否かをリアルタイムで検出する。そして、前記ロボットが前記第３隅に到達していない場合、直線走行するように前記ロボットを制御する。一方、前記ロボットが前記第３隅に到達した場合、直線走行するように前記ロボットを制御する。さらに、前記ロボットが前記矩形斜面の第４隅まで走行したか否かをリアルタイムで検出する。そして、前記ロボットが前記第４隅に到達していない場合、直線走行するように前記ロボットを制御する。一方、前記ロボットが前記第４隅に到達した場合、走行を停止するように前記ロボットを制御する。ステップＳ１０７において、前記ロボットが前記矩形斜面のエッジまで走行したか否かをリアルタイムで検出する。そして、前記ロボットが前記矩形斜面のエッジに到達した場合、左へＵターンするように前記ロボットを制御する。ステップＳ１０８において、前記ロボットが前記矩形斜面の第３隅まで走行したか否かをリアルタイムで検出する。そして、前記ロボットが前記第３隅に到達していない場合、直線走行するように前記ロボットを制御する。一方、前記ロボットが前記第３隅に到達した場合、前記ロボットが前記矩形斜面の第４隅まで走行したか否かをリアルタイムで検出する。そして、前記ロボットが前記第４隅に到達していない場合、直線走行するように前記ロボットを制御する。一方、前記ロボットが前記第４隅に到達した場合、走行を停止するように前記ロボットを制御する。ステップＳ１０９において、前記ロボットが前記矩形斜面のエッジまで走行したか否かをリアルタイムで検出する。そして、前記ロボットが前記矩形斜面のエッジに到達した場合、右へＵターンするように前記ロボットを制御し、ステップＳ１０６に戻る。
【００６５】
第１ルートナビゲーション方法を採用する矩形斜面上におけるロボットの走行ルートが数多くあり、矩形斜面の長さ及び幅とロボットの長さ及び幅との比例が異なるため、ロボットの走行ルートの長さが異なり、ロボットの走行停止位置も異なる（左下角又は右下角に停止する）。図８、９は、ロボット１００が第１ルートナビゲーション方法を採用して矩形斜面３００を走行する二つの可能な走行ルートを示している。
【００６６】
本実施例に開示される矩形斜面上におけるロボットの走行の第２ルートナビゲーション方法は、以下のステップＳ２０１〜ステップＳ２０９を含む。ステップＳ２０１において、前記矩形斜面の右下角をナビゲーション開始点として設定する。ステップＳ２０２において、前記ナビゲーション開始点から前記矩形斜面の右上角へ直線走行するように前記ロボットを制御する。ステップＳ２０３において、前記ロボットが前記矩形斜面の第１隅まで走行したか否かをリアルタイムで検出する。そして、前記ロボットが前記第１隅に到達していない場合、ステップＳ２０２に戻る。一方、前記ロボットが前記第１隅に到達した場合、左へ９０度転向するように前記ロボットを制御する。ステップＳ２０４において、直線走行するように前記ロボットを制御する。ステップＳ２０５において、前記ロボットが前記矩形斜面の第２隅まで走行したか否かをリアルタイムで検出する。そして、前記ロボットが前記第２隅に到達していない場合、ステップＳ２０４に戻る。前記ロボットが前記第２隅に到達した場合、左へＵターンするように前記ロボットを制御する。ステップＳ２０６において、前記ロボットが前記矩形斜面の第３隅まで走行したか否かをリアルタイムで検出する。そして、前記ロボットが前記第３隅に到達していない場合、直線走行するように前記ロボットを制御する。一方、前記ロボットが前記第３隅に到達した場合、直線走行するように前記ロボットを制御する、さらに、前記ロボットが前記矩形斜面の第４隅まで走行したか否かをリアルタイムで検出する。そして、前記ロボットが前記第４隅に到達していない場合、直線走行するように前記ロボットを制御する。一方、前記ロボットが前記第４隅に到達した場合、走行を停止するように前記ロボットを制御する。ステップＳ２０９において、前記ロボットが前記矩形斜面のエッジまで走行したか否かをリアルタイムで検出する。そして、前記ロボットが前記矩形斜面のエッジに到達した場合、右へＵターンするように前記ロボットを制御し、ステップＳ２０６に戻る。
【００６７】
第２ルートナビゲーション方法を採用する矩形斜面上におけるロボットの走行ルートが数多くあり、矩形斜面の長さ及び幅とロボットの長さ及び幅との比例が異なるため、ロボットの走行ルートの長さが異なり、ロボットの走行停止位置も異なる（左下角又は右下角に停止する）。図１０、１１は、ロボット１００が第２ルートナビゲーション方法を採用して矩形斜面３００を走行する二つの可能な走行ルートを示している。
【００６８】
本実施例に開示される矩形斜面上におけるロボットの走行の第３ルートナビゲーション方法は、以下のステップＳ３０１〜ステップＳ３０７を含む。ステップＳ３０１において、前記矩形斜面の左下角をナビゲーション開始点として設定する。ステップＳ３０２において、前記ナビゲーション開始点から前記矩形斜面の左上角へ直線走行するように前記ロボットを制御する。ステップＳ３０３において、前記ロボットが前記矩形斜面の第１隅まで走行したか否かをリアルタイムで検出する。そして、前記ロボットが前記第１隅に到達していない場合、ステップＳ３０２に戻る。一方、前記ロボットが前記第１隅に到達した場合、右へＵターンするように前記ロボットを制御する。ステップＳ３０４において、前記ロボットが前記矩形斜面の第２隅まで走行したか否かをリアルタイムで検出しする。そして、前記ロボットが前記第２隅に到達していない場合、直線走行するように前記ロボットを制御する。一方、前記ロボットが前記第２隅に到達した場合、直線走行するように前記ロボットを制御する。さらに、前記ロボットが前記矩形斜面の第３隅まで走行したか否かをリアルタイムで検出する。そして、前記ロボットが前記第３隅に到達していない場合、直線走行するように前記ロボットを制御する。一方、前記ロボットが前記第３隅に到達した場合、走行を停止するように前記ロボットを制御する。ステップＳ３０５において、前記ロボットが前記矩形斜面のエッジまで走行したか否かをリアルタイムで検出する。そして、前記ロボットが前記矩形斜面のエッジに到達した場合、左へＵターンするように前記ロボットを制御する。ステップＳ３０６において、前記ロボットが前記矩形斜面の第２隅まで走行したか否かをリアルタイムで検出する。そして、前記ロボットが前記第２隅に到達していない場合、直線走行するように前記ロボットを制御する。一方、前記ロボットが前記第２隅に到達した場合、直線走行するように前記ロボットを制御する。さらに、前記ロボットが前記矩形斜面の第３隅まで走行したか否かをリアルタイムで検出する。そして、前記ロボットが前記第３隅に到達していない場合、直線走行するように前記ロボットを制御する。一方、前記ロボットが前記第３隅に到達した場合、走行を停止するように前記ロボットを制御する。ステップＳ３０７において、前記ロボットが前記矩形斜面のエッジまで走行したか否かをリアルタイムで検出する。そして、前記ロボットが前記矩形斜面のエッジに到達した場合、右へＵターンするように前記ロボットを制御し、ステップＳ３０４に戻る。
【００６９】
第３ルートナビゲーション方法を採用する矩形斜面上におけるロボットの走行ルートが多くあり、矩形斜面の長さ及び幅とロボットの長さ及び幅との比例が異なるため、ロボットの走行ルートの長さが異なり、ロボットの走行停止位置も異なる（左下角又は右下角に停止する）。図１２、１３は、ロボット１００が第３ルートナビゲーション方法を採用して矩形斜面３００上を走行する二つの可能な走行ルートを示している。
【００７０】
本実施例に開示される矩形斜面上におけるロボットの走行の第４ルートナビゲーション方法は、以下のステップＳ４０１〜ステップＳ４０７を含む。ステップＳ４０１において、前記矩形斜面の右下角をナビゲーション開始点として設定する。ステップＳ４０２において、前記ナビゲーション開始点から前記矩形斜面の右上角へ直線走行するように前記ロボットを制御する。ステップＳ４０３において、前記ロボットが前記矩形斜面の第１隅まで走行したか否かをリアルタイムで検出する。そして、前記ロボットが前記第１隅に到達していない場合、ステップＳ４０２に戻る。一方、前記ロボットが前記第１隅に到達した場合、左へＵターンするように前記ロボットを制御する。ステップＳ４０４において、前記ロボットが前記矩形斜面の第２隅まで走行したか否かをリアルタイムで検出する。そして、前記ロボットが前記第２隅に到達していない場合、直線走行するように前記ロボットを制御する一方、前記ロボットが前記第２隅に到達した場合、直線走行するように前記ロボットを制御する。さらに、前記ロボットが前記矩形斜面の第３隅まで走行したか否かをリアルタイムで検出する。そして、前記ロボットが前記第３隅に到達していない場合、直線走行するように前記ロボットを制御する。一方、前記ロボットが前記第３隅に到達した場合、走行を停止するように前記ロボットを制御する。ステップＳ４０５において、前記ロボットが前記矩形斜面のエッジまで走行したか否かをリアルタイムで検出する。そして、前記ロボットが前記矩形斜面のエッジに到達した場合、右へＵターンするように前記ロボットを制御する。ステップＳ４０６において、前記ロボットが前記矩形斜面の第２隅まで走行したか否かをリアルタイムで検出する。そして、前記ロボットが前記第２隅に到達していない場合、直線走行するように前記ロボットを制御する。一方、前記ロボットが前記第２隅に到達した場合、直線走行するように前記ロボットを制御する。さらに、前記ロボットが前記矩形斜面の第３隅まで走行したか否かをリアルタイムで検出する。前記ロボットが前記第３隅に到達していない場合、直線走行するように前記ロボットを制御する。一方、前記ロボットが前記第３隅に到達した場合、走行を停止するように前記ロボットを制御する。ステップＳ４０７において、前記ロボットが前記矩形斜面のエッジまで走行したか否かをリアルタイムで検出する。そして、前記ロボットが前記矩形斜面のエッジに到達した場合、左へＵターンするように前記ロボットを制御し、ステップＳ４０４に戻る。
【００７１】
第４ルートナビゲーション方法を採用する矩形斜面上におけるロボットの走行ルートが多くあり、矩形斜面の長さ及び幅とロボットの長さ及び幅との比例が異なるため、ロボットの走行ルートの長さが異なり、ロボットの走行停止位置も異なる（左下角又は右下角に停止する）。図１４、１５は、ロボット１００が第４ルートナビゲーション方法を採用して矩形斜面３００上を走行する二つの可能な走行ルートを示している。
【００７２】
矩形斜面上におけるロボットの走行の前記４種類のルートナビゲーション方法では、前記ロボットの直線走行の判定方法、又は、前記ロボットの直線走行の制御方法について、以上で詳細に説明したため、説明を省略する。前記ロボットが左又は右へ９０度転向するように制御することは、上述した動力システムに詳しく記載されたため、説明を省略する。
【００７３】
矩形斜面上におけるロボットの走行の前記４種類のルートナビゲーション方法では、前記ロボットが前記矩形斜面の隅又はエッジまで走行したか否かをリアルタイムで検出することは、具体的に以下のステップＳ１０１１〜ステップＳ１０１４を含む。ステップＳ１０１１において、前記ロボットの左前部、右前部、左後部、及び右後部にそれぞれ距離センサ４１３を設ける。距離センサ４１３は、前記ロボットの外部に延伸し、ソーラパネル２００を向くように設けられる。ステップＳ１０１２において、四つの距離センサ４１３のそれぞれに番号を付し、前記ロボットの左前部、右前部、左後部、及び右後部に設けられた距離センサ４１３をそれぞれセンサＮ１、センサＮ２、センサＮ３、及びセンサＮ４として定義する。ステップＳ１０１３において、前記ロボットは、任意時点に同時に受信したセンサ信号に基づいて前記ロボットの位置を判定する。そして、前記ロボットがセンサＮ３信号及びセンサＮ４信号を同時に受信した場合、前記ロボットが前記矩形斜面のエッジに到達したと判定し、前記ロボットがセンサＮ４信号のみを受信した場合、前記ロボットが前記矩形斜面の第１隅又は第２隅に到達したと判定し、前記ロボットがセンサＮ３信号のみを受信した場合、前記ロボットが前記矩形斜面の第３隅又は第４隅に到達したと判定する。ステップＳ１０１４において、前記ロボットが前記矩形斜面の隅に到達したと判定した場合、カウンタの結果を読取り、前記隅の順序（何番目の隅）を判定する。
【００７４】
矩形斜面上におけるロボットの走行の前記４種類のルートナビゲーション方法では、左へＵターンするように前記ロボットを制御することは、具体的に以下のステップＳ１０３１〜ステップＳ１０３３を含む。ステップＳ１０３１において、走行せずに左へ９０度転向するように前記ロボットを制御する。ステップＳ１０３２において、一定の距離（前記ロボットの幅）直線走行するように前記ロボットを制御する。ステップＳ１０３３において、走行せずに左へ９０度転向するように前記ロボットを制御する。
【００７５】
矩形斜面上におけるロボットの走行の前記４種類のルートナビゲーション方法では、右へＵターンするように前記ロボットを制御することは、具体的に以下のステップＳ１０４１〜ステップＳ１０４３を含む。ステップＳ１０４１において、走行せずに右へ９０度転向するように前記ロボットを制御する。ステップＳ１０４２において、一定の距離（前記ロボットの幅）直線走行するように前記ロボットを制御する。ステップＳ１０４３において、走行せずに右へ９０度転向するように前記ロボットを制御する。
【００７６】
矩形斜面上におけるロボットの走行の前記４種類のルートナビゲーション方法は、以下の技術的効果を有する。ロボットは、最短時間内で、かつ、休むことなくて重複せず、最短ルートで矩形斜面を満遍なく走行することができる。本実施例において、前記４種類のナビゲーション方法のいずれを採用する場合も、清掃ロボットは、短時間内でソーラパネルを満遍なく走行し、効果的に清掃することができる。清掃過程において汚水が発生し、ソーラパネルに沿って滑り落ちることがあるため、第３、４ナビゲーション方法の清掃効果が比較的悪いおそれがあるので、第１、２ナビゲーション方法が好ましい。
【００７７】
制御システム４は、プロセッサ４２に接続される少なくとも一つのアラームユニット４４をさらに含む。アラームユニット４４は、車体の外部に設けられた赤灯又はブザーであってもよい。ある作業パラメータが閾値を超える場合、前記アラームユニットは、アラーム信号を送信する。例えば、電力システム５が電力不足のとき、又は、前記清掃ロボットが故障したとき、アラームユニット４４は、アラーム信号を送信してユーザに通知することができる。
【００７８】
データ収集ユニット４１は、プロセッサ４２に接続された少なくとも一つの映像センサ４１５又はカメラをさらに含む。映像センサ４１５又はカメラは、車体１の前端（図２、３を参照）に設けられ、車体１の走行過程中の車体１前方の映像を収集する。これらの映像は、前記メモリユニットに記憶される。これにより、作業員がロボットの作業状態を調査することができる。
【００７９】
本実施例において、制御システム４の技術的効果は、ソーラパネルにおける清掃ロボットの走行の最適ルート及び斜面におけるロボットの直線走行の制御方法を複数提供し、ロボットは重複せずにソーラパネル全体を走行することが確保される。清掃面積が大きく、ソーラパネルのエッジから転落することがなく、清掃効果と作業効率の両方が保証される。
【００８０】
ソーラパネル清掃ロボット１００は、少なくとも一つの無線通信ユニット４５をさらに含んでもよい。無線通信ユニット４５は、サーバ４００に無線接続され、ソーラパネル清掃ロボット１００とサーバ４００との間に通信を構築する。車体１前方の映像はサーバ４００にリアルタイムで送信することができる。これにより、作業員は清掃ロボットの作業過程において効果的に監視することができるので、従来技術においてソーラパネルが高い位置にあるとき、パネル上における清掃ロボットの作業状態を監視しにくくなるという技術問題を効果的に解決することができる。
【００８１】
本実施例において、図３に示すように、電力システム５は、電池ボックス５１内に設けられた一つ又は１セットの使い捨て電池又は充電可能な電池（図示せず）である。作業員は、定期的に前記清掃ロボットをソーラパネルから取外して電池交換処理又は充電処理を行う必要がある。
【００８２】
実施例によれば、ソーラパネル上で自由に作業することができ、パネル上の粉塵及び他の付着物を効果的に除去することができ、ゴミ除去効果が良好であるソーラパネル清掃ロボットが提供される。本発明の清掃ロボットは、ソーラパネル上における作業過程において、所定の最適ルートに従って走行し、重複せずにパネル全体を満遍なく清掃することができ、作業効率が向上する。本発明の清掃ロボットは、プログラムに基づいて自動的に転向し又は折り返し、自動制御を実現することができ、操作性に優れている。
【００８３】
以上は本発明の好ましい実施形態に過ぎない。本発明の属する技術分野における当業者であれば、本発明の原理を逸脱しない限り、種々の変更及び修飾が可能であり、これらの変更及び修飾は、本発明の保護範囲に含まれる。
【図１】
2019530094.tif 000003
【図２】
2019530094.tif 000004
【図３】
2019530094.tif 000005
【図４】
2019530094.tif 000006
【図５】
2019530094.tif 000007
【図６】
2019530094.tif 000008
【図７】
2019530094.tif 000009
【図８】
2019530094.tif 000010
【図９】
2019530094.tif 000011
【図１０】
2019530094.tif 000012
【図１１】
2019530094.tif 000013
【図１２】
2019530094.tif 000014
【図１３】
2019530094.tif 000015
【図１４】
2019530094.tif 000016
【図１５】
2019530094.tif 000017
【国際調査報告】
2019530094.tif 000018
2019530094.tif 000019
2019530094.tif 000020
2019530094.tif 000021
2019530094.tif 000022
2019530094.tif 000023