(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-18
(45)【発行日】2024-09-27
(54)【発明の名称】清掃ロボット
(51)【国際特許分類】
G05D 1/43 20240101AFI20240919BHJP
A47L 9/28 20060101ALI20240919BHJP
A47L 11/28 20060101ALI20240919BHJP
A47L 11/24 20060101ALI20240919BHJP
【FI】
G05D1/43
A47L9/28 E
A47L11/28
A47L11/24
(21)【出願番号】P 2020148847
(22)【出願日】2020-09-04
【審査請求日】2023-06-28
(73)【特許権者】
【識別番号】000004651
【氏名又は名称】日本信号株式会社
(74)【代理人】
【識別番号】100181146
【氏名又は名称】山川 啓
(74)【代理人】
【識別番号】100109221
【氏名又は名称】福田 充広
(72)【発明者】
【氏名】箱守 大典
(72)【発明者】
【氏名】小林 慎平
【審査官】岩▲崎▼ 優
(56)【参考文献】
【文献】米国特許出願公開第2019/0223677(US,A1)
【文献】特開2013-045298(JP,A)
【文献】特開平06-095733(JP,A)
【文献】特開平06-098418(JP,A)
【文献】特開2006-313455(JP,A)
【文献】国際公開第2021/020930(WO,A1)
【文献】特開平08-095638(JP,A)
【文献】特開2018-122092(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/00- 1/87
(57)【特許請求の範囲】
【請求項1】
各々独立して駆動する第1及び第2走行部を有する走行装置と、
走行における斜行の発生を検知する斜行検知部と、
前記斜行検知部での検知結果に基づいて、前記第1走行部側と前記第2走行部側とでの駆動状態の差に応じた走行制御をする走行制御部と、
前記走行装置と別体であって、床面に接した状態で面内方向に回転動作する円盤状の清掃パッドと
を備え、
前記斜行検知部は、前記清掃パッドにおける負荷トルクの値に基づき斜行の発生を検知する、清掃ロボット。
【請求項2】
前記斜行検知部は、自己位置推定に基づいて、教示走行経路と自律走行経路とにおける経路差の有無を検知する、請求項1に記載の清掃ロボット。
【請求項3】
前記斜行検知部は、オドメトリ測定値を生成する第1センサー部と、自己位置検知のために自己の周囲について測定する第2センサー部とにより、自己位置推定から前記自律走行経路を算出し、地図情報として記憶部に予め記憶された前記教示走行経路との差から斜行の発生を検知する、請求項2に記載の清掃ロボット。
【請求項4】
前記斜行検知部は、前記第1走行部と前記第2走行部との間での駆動輪の回転数の差を検知し、
前記走行制御部は、前記第1走行部と前記第2走行部との間において、駆動輪の回転数を相対的に変更する、請求項1~3のいずれか一項に記載の清掃ロボット。
【請求項5】
前記走行装置は、前記第1走行部と前記第2走行部とにおいて、加速度を検知する加速度センサーを有する、請求項4に記載の清掃ロボット。
【請求項6】
前記走行装置は、前記第1走行部と前記第2走行部とにおいて、駆動輪のひずみを検知するひずみセンサーを有する、請求項4及び5のいずれか一項に記載の清掃ロボット。
【請求項7】
前記斜行検知部は、清掃に際して、前記清掃パッドにおける負荷トルクの値が予め定めた規定値よりも高いか否かに基づき斜行の発生の有無を判断する、請求項1~6のいずれか一項に記載の清掃ロボット。
【請求項8】
前記走行制御部は、前記斜行検知部で検知された斜行の度合いに応じて前記走行装置の駆動を変更する駆動変更部と、前記駆動変更部による変更後における前記斜行検知部での検知結果に基づいて走行状態を確認する走行状態確認部とを有する、請求項1~7のいずれか一項に記載の清掃ロボット。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自律走行しながら清掃を行う清掃ロボットに関する。
【背景技術】
【0002】
自律走行型の清掃ロボットに関して、カーペットドリフトの発生の程度をオドメトリやカメラの視野により予測するものが知られている(特許文献1参照)。
【0003】
しかしながら、上記特許文献1に示される自律型の清掃ロボット走行において、例えばカーペットドリフト以外の種々の原因で斜行が発生している、といった場合に、これによる経路差を捉えて差分を補填する、といった的確な対応できるかは不明である。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【0005】
本発明は上記した点に鑑みてなされたものであり、例えば、清掃ロボットが回転しながら床面を掃除する清掃パッドを有しており、当該清掃パッドと床面との摩擦の状況によって負荷が変化して斜行が発生する、といった場合のように、走行時における種々の要因に基づく斜行発生に際して、経路差を確実に補填できる清掃ロボットを提供することを目的とする。
【0006】
上記目的を達成するための清掃ロボットは、各々独立して駆動する第1及び第2走行部を有する走行装置と、走行における斜行の発生を検知する斜行検知部と、斜行検知部での検知結果に基づいて、第1走行部側と第2走行部側とでの駆動状態の差に応じた走行制御をする走行制御部とを備える。
【0007】
上記清掃ロボットでは、斜行検知部での斜行の発生についての検知結果に基づいて、走行制御部において第1及び第2走行部の駆動を駆動状態の差に応じて制御することで、斜行に起因して生じる本来進むべき経路と実際の経路との間での経路差を、確実に補填できる。
【0008】
本発明の具体的な側面では、斜行検知部は、自己位置推定に基づいて、教示走行経路と自律走行経路とにおける経路差の有無を検知する。この場合、教示走行経路を本来進むべき経路の基準として、斜行の発生を検知できる。
【0009】
本発明の別の側面では、斜行検知部は、オドメトリ測定値を生成する第1センサー部と、自己位置検知のために自己の周囲について測定する第2センサー部とにより、自己位置推定から自律走行経路を算出し、地図情報として記憶部に予め記憶された教示走行経路との差から斜行の発生を検知する。この場合、第1センサー部及び第2センサー部での検知結果を利用して、教示走行経路との差から斜行の発生を検知できる。
【0010】
本発明のさらに別の側面では、斜行検知部は、第1走行部と第2走行部との間での駆動輪の回転数の差を検知し、走行制御部は、第1走行部と第2走行部との間において、駆動輪の回転数を相対的に変更する。この場合、駆動輪の回転数調整により、経路差を補填できる。
【0011】
本発明のさらに別の側面では、走行装置は、第1走行部と第2走行部とにおいて、加速度を検知する加速度センサーを有する。この場合、第1走行部側と第2走行部側とでの加速度の差から斜行の発生を検知できる。
【0012】
本発明のさらに別の側面では、走行装置は、第1走行部と第2走行部とにおいて、駆動輪のひずみを検知するひずみセンサーを有する。この場合、第1走行部側と第2走行部側とでの駆動輪のひずみの差から斜行の発生を検知できる。
【0013】
本発明のさらに別の側面では、清掃に際して床面に接した状態で回転動作する清掃パッドを備え、斜行検知部は、清掃パッドにおける負荷トルクを検知する。この場合、清掃パッドにおける負荷トルクの変化から斜行の発生を検知できる。
【0014】
本発明のさらに別の側面では、走行制御部は、斜行検知部で検知された斜行の度合いに応じて走行装置の駆動を変更する駆動変更部と、駆動変更部による変更後における斜行検知部での検知結果に基づいて走行状態を確認する走行状態確認部とを有する。この場合、走行装置の駆動変更後の走行状態を確認することで、発生した斜行に対する適切な補填ができているかを検証できる。
【図面の簡単な説明】
【0015】
【
図1】(A)~(D)は、第1実施形態に係る清掃ロボットの外観形状について一例を示す斜視図及び底面図である。
【
図2】(A)は、第1実施形態に係る清掃ロボットの一構成例について説明するための概念的な側方図であり、(B)は、概念的な底面図である。
【
図3】清掃ロボットの一構成例を説明するためのブロック図である。
【
図4】清掃ロボットにおける斜行検知とその補填に関する一連の処理を説明するためのフローチャートである。
【
図5】第2実施形態に係る清掃ロボットの一構成例を説明するためのブロック図である。
【
図6】清掃ロボットにおける斜行検知とその補填に関する一連の処理を説明するためのフローチャートである。
【
図7】(A)は、第3実施形態に係る清掃ロボットの一構成例について説明するための概念的な側方図であり、(B)は、概念的な底面図である。
【
図8】清掃ロボットの一構成例を説明するためのブロック図である。
【
図9】清掃ロボットにおける斜行検知とその補填に関する一連の処理を説明するためのフローチャートである。
【
図10】第4実施形態に係る清掃ロボットの一構成例を説明するためのブロック図である。
【
図11】清掃ロボットにおける斜行検知とその補填に関する一連の処理を説明するためのフローチャートである。
【発明を実施するための形態】
【0016】
〔第1実施形態〕
以下、
図1等を参照して、第1実施形態に係る清掃ロボットについて一例を説明する。
【0017】
本実施形態に係る清掃ロボット100は、例えばSLAM(Simultaneously Localization and Mapping)と呼ばれる自己位置推定と地図作成とを同時に行えるシステムを搭載した自律移動ロボットで構成され、予め定めた走行範囲内での走行経過について、自己位置推定をしながら、清掃を行うことができる。
【0018】
具体的な一構成例として、清掃ロボット100は、例えば
図1(A)~
図1(D)に示す斜視図及び底面図のような外観形状を有しており、駆動輪を有することで自律走行による清掃が可能であり、また、人による手押しでの走行も可能となっている。さらに、例えば手押しによる走行に際して走行経路を事前に記憶させることで、清掃ルートを予め設定しておくことも可能である。また、清掃ロボット100は、清掃パッドによる床面清掃が可能であり、さらに、例えば散水しながらの清掃も可能とすべく、貯水タンクや散水設備、さらには排水回収設備等を備える。
【0019】
特に、本実施形態では、清掃ロボット100は、走行における斜行の発生を検知し、検知結果に基づいて走行経路の補正を可能にしている。つまり、清掃ロボット100では、例えば予定通りの走行ができているかを自身で確認しながら走行を継続する、といったことが可能になっている。
【0020】
以下、
図2及び
図3を参照して、清掃ロボット100を構成する各部のうち、清掃ロボット100の走行における斜行の発生検知や、検知後の経路補正の動作に関与する部分についての一例を、その動作内容とともに説明する。
【0021】
まず、
図2(A)に示す概念的な側方図及び
図2(B)に示す概念的な底面図にあるように、清掃ロボット100は、走行装置10と、斜行検知部20と、走行制御部30と、測距部40と、清掃パッド50とを備える。また、このほか、清掃ロボット100は、清掃パッド駆動制御部PDを備える。
【0022】
走行装置10は、左右一対の後輪部RWのうち右車輪の回転駆動を担う駆動部としての第1走行部10Aと、後輪部RWのうち左車輪の回転駆動を担う駆動部としての第2走行部10Bとを備える。そのほか、走行制御部30は、前輪部FWとして設けられた従動輪10Cとを備える。走行装置10において、第1走行部10Aと第2走行部10Bとは、各々独立して駆動することで、清掃ロボット100の前進や自転(旋回)を可能にしている。つまり、第1走行部10Aと第2走行部10Bとにより、左右一対の後輪部RWが同一方向に回転することで清掃ロボット100の前進が可能となっており、左右一対の後輪部が互いに逆方向に回転することで、清掃ロボット100の自転が可能となっている。なお、走行装置10による回転方向を適宜変更可能とすることで、上述した清掃ロボット100の前進に加え、さらに後退が可能となっていてもよく、清掃ロボット100の自転(旋回)の方向についても、左右双方向について回転可能となっていてもよい。
【0023】
斜行検知部20は、例えば各種回路基板等で構成され、走行装置10での走行に際して、斜行が発生したか否かを検知する。ここでは、斜行検知部20は、走行装置10に設けたセンサー(
図3の第1センサー部SE1)やセンサーとして機能する測距部40(
図3の第2センサー部SE2)等の各種センサーでの検知結果を利用して走行状態を把握することで、斜行の発生を検知する。
【0024】
走行制御部30は、例えば各種回路基板等で構成され、走行装置10に接続され、駆動信号等の各種指令信号を走行装置10に対して出力することで、走行装置10による走行の制御をする。特に、本実施形態では、斜行検知部20での検知結果に基づいて、発生した斜行量に応じた走行の修正をすべく、走行制御部30が、独立して駆動する第1走行部10Aと第2走行部10Bとにおける回転駆動の調整を行う。
【0025】
測距部40は、例えば、ライダー等のレーザーレンジスキャナーによって測距を行う測距センサー等の自己位置推定のために周囲環境を把握可能にする。測距部40で取得される測距データすなわち自己位置推定を可能にするための測距結果の情報は、地図情報に基づく自己位置の検知や障害物検知に利用されるが、ここでは特に、測距部40は、既述のように、斜行検知部20に接続されており、当該情報を、斜行検知部20に出力する。
【0026】
清掃パッド50は、清掃の対象となる床面に接する円盤状の部材であり、清掃に際して床面に接した状態で回転動作する。ここでの一例では、清掃パッド50は、例えば図中矢印A1に示すように、軸部XAを中心に一方向に回転駆動して、床面を磨く。この場合、清掃パッド50とこれに接触する床面との間で摩擦が生じ、清掃パッド50から回転駆動の方向に応じた床面への作用に対する床面から清掃パッド50への反作用を、清掃ロボット100が受けることになり、この反作用が走行に際しての斜行の一因となる可能性がある。すなわち、上記態様では、斜行検知部20において、上記のような清掃パッド50と床面との摩擦の状況によって生じる負荷(作用・反作用)の度合いが変化して、清掃ロボット100の走行に与える影響の度合い、すなわち発生する斜行の度合いについても、汚れ具合等床面の状況に応じて刻々変化することになる。これに対して、本実施形態では、斜行検知部20による斜行検知結果に基づき、走行経路の修正を行うことで、所望の走行状態を維持可能にしている。なお、斜行の発生はこれに限らず、例えば走行装置10における左右一対の車輪と床面との接触状況や床面の平坦度、素材等種々の態様によって変化する。また、この場合、右車輪と左車輪とでの状況の差異が原因となる可能性もある。
【0027】
なお、上記のほか、清掃ロボット100は、清掃パッド50の駆動制御を行う清掃パッド駆動制御部PDを備える。清掃パッド駆動制御部PDは、例えば各種回路基板等で構成され、清掃パッド50に接続されて清掃パッド50の駆動制御を行うとともに、必要に応じて他の各部とも接続して、必要な信号の授受を行うものとなっている。
【0028】
また、以上において、斜行検知部20や走行制御部30、あるいは、清掃パッド駆動制御部PDについては、例えば各種回路基板等で構成され、図示において破線で示すように、清掃ロボット100の筐体CSに収納されて構成されるものとしてもよい。ここでは、これらをまとめたものを制御部CRとする。すなわち、制御部CRは、例えば単数または複数の各種回路基板で構成され、清掃ロボット100における各種動作の制御を行う。具体的には、制御部CRは、清掃ロボット100の自律走行における走行制御に加え、清掃動作のための各部の駆動制御、さらには、障害物検知や斜行検知等の各種検知動作処理を行う。なお、制御部CRは、例えばCPUや、各種プログラム・データを格納するストレージデバイス等で構成されるものとしてもよい。
【0029】
以下、
図3として示すブロック図を参照して、清掃ロボット100の一構成例を説明する。特にここでは、清掃ロボット100のうち、制御部CRにおける走行制御動作に関係する部分について説明する。なお、図示の一例では、制御部CRのうち、CPU等で構成されて清掃ロボット100の各部の動作制御全般を担う本体部分である主制御部MPを、走行制御部30に設けてものとしている。つまり、走行制御部30が、清掃ロボット100の各部と直接的または間接的に接続され、走行制御をはじめとする各種動作処理の全般を行う。
【0030】
まず、清掃ロボット100を構成する走行装置10のうち、走行制御に関する部分について説明する。走行装置10のうち、左右一対の後輪部RWの右側の駆動回転を担う第1走行部10Aは、右車輪(駆動輪)WRと、右車輪(駆動輪)WRを駆動させるためのモーター等で構成される右車輪駆動部RDとを有する。さらに、第1走行部10Aは、右車輪WRの回転について計測するエンコーダを備える。ここでは、このエンコーダを右エンコーダREとする。また、同様に、走行装置10のうち、後輪部RWの左側の駆動回転を担う第2走行部10Bは、左車輪WLと、左車輪駆動部LDと、左エンコーダLEとを備える。
【0031】
右エンコーダREと左エンコーダLEとは、斜行検知部20にそれぞれ接続されており、各計測結果を斜行検知部20に対して出力し、斜行検知部20は、右エンコーダRE及び左エンコーダLEからの計測結果を、斜行発生の有無を判断するために利用する。すなわち、斜行検知部20は、清掃ロボット100における車輪WR,WLの回転角度の計算から、それぞれの移動量を求め、その累積計算からロボットの位置を推定することができ、右エンコーダRE及び左エンコーダLEは、オドメトリ測定値を生成するためのセンサーとして機能している。ここでは、右エンコーダRE及び左エンコーダLEのように、オドメトリ測定値を生成するものを、第1センサー部SE1とする。
【0032】
一方、ライダー等で構成される測距部40は、既述のように、清掃ロボット100の周辺について測距を行うことで、自己位置検知のために自己の周囲について測定するためのセンサーとして機能し、かつ、計測結果を斜行検知部20に対して出力する。ここでは、測距部40のように、自己位置検知のために自己の周囲について測定するものを、第2センサー部SE2とする。
【0033】
次に、清掃ロボット100のうち、斜行検知部20について説明する。ここでの一例では、斜行検知部20は、地図情報格納部MSと、位置推定部PEと、比較判定部JDとを備える。
【0034】
地図情報格納部MSは、清掃を行う上で必要となる清掃の対象範囲に関する各種地図情報(地図データ)を、予め格納している記憶部であるものとする。ここでは、一例として、地図情報格納部MSには、教示走行経路情報TRと、現在地情報PPとが含まれているものとする。教示走行経路情報TRとは、例えば、SLAM機能の利用や手押しによる経路確認の結果として取得され、清掃を行うために予め設定した走行経路のデータを意味し、清掃ロボット100が自己位置検知を行いながら清掃をする際に予定通りの走行をしているか否かの判断基準となる。現在地情報PPとは、位置推定部PEによる自己位置推定の結果に関する情報を意味する。
【0035】
位置推定部PEは、第1センサー部SE1と第2センサー部SE2とから測定結果を逐次受け付け、これらに基づいて、自己位置推定すなわち現在地の推定を行い、推定結果を、現在地情報PPとして格納する。つまり、位置推定部PEは、第1センサー部SE1での測定結果に基づく移動量や、第2センサー部SE2での測定結果に基づく周囲の物との相対的位置関係から、自己の位置を推定する。
【0036】
比較判定部JDは、位置推定部PEにおける推定結果としての現在地情報PPを、教示走行経路情報TRと比較して、斜行が発生しているか否かを判定する。すなわち、斜行に起因して生じる本来進むべき経路と実際の経路との間での経路差が生じているか否かを、上記比較から判定する。以上のように、斜行検知部20は、自己位置推定に基づいて、教示走行経路と自律走行経路とにおける経路差の有無を検知する。より具体的には、斜行検知部20は、第1センサー部SE1と第2センサー部SE2からの情報を利用した自己位置推定から自律走行経路を算出し、その一方で地図情報として記憶部としての地図情報格納部MSのうち教示走行経路情報TRとして予め教示走行経路が記憶されており、算出された自律走行経路と予め記憶された教示走行経路との差から斜行の発生を検知する。
【0037】
また、斜行検知部20は、上記各部により取得された各種情報や、検知結果等を、走行制御部30に出力する。
【0038】
次に、清掃ロボット100のうち、走行制御部30について説明する。走行制御部30は、既述のように、走行装置10による走行の制御を行うが、この際に、斜行検知部20での検知結果に基づいて、走行状態の調整を行う。このため、走行制御部30は、走行装置10や斜行検知部20に接続され、各種指令信号の出力や、各部からの信号受付が可能な態様となっている。
【0039】
特に、図示の例では、走行制御部30は、清掃ロボット100の各部の動作制御を担う主制御部MPとして機能すべく、走行装置10や斜行検知部20のみならず、例えば清掃パッド駆動制御部PDを介して清掃パッド50に接続されて駆動制御を行い、また、各部と各種信号の授受を行う。図示の例では、走行制御部30は、全体動作の統括制御を行う主制御部MPと、主制御部MPからの指令に従って走行装置10の駆動調整(駆動変更)を行う駆動変更部DAとを備えており、主制御部MPには、斜行検知部20での検知結果の確認等を行う走行状態確認部DCが含まれ、駆動変更部DAには、走行装置10の左右の車輪(駆動輪)WR,WLの回転数を変更(調整)するための回転数変更部RCが含まれている。
【0040】
主制御部MPは、斜行検知部20に斜行検知を行わせるとともに、検知結果の出力を要求する。また、主制御部MPは、斜行検知部20から出力された斜行の発生の有無や斜行の度合い等の各種検知結果に応じて、走行装置10による走行の補正を行うか否かの判断や、補正量(補正の度合い)の決定をし、補正が必要と判断した場合、駆動変更部DAに対して駆動変更を行うための各種指令信号を出力する。
【0041】
駆動変更部DAは、主制御部MPからの指令信号に従って走行装置10の駆動調整を行う。すなわち、駆動変更部DAは、第1及び第2走行部10A,10Bの各車輪駆動部RD,LDに対して、主制御部MPからの指令に応じた駆動信号を出力することで、斜行検知部20で検知された斜行の度合いに応じて走行装置10の駆動を変更する。すなわち、駆動変更部DAは、第1及び第2走行部10A,10Bの駆動を、左右間での駆動状態の差に応じて制御すべく、第1走行部10A側と第2走行部10B側とでの相対的な駆動力のバランスを変化させる。ここでは、具体的一例として、回転数変更部RCにおいて、走行装置10における左右の回転駆動を担う第1及び第2走行部10A,10Bの単位時間当たりの回転数(回転速度)を変更(調整)することで、走行状態の変更すなわち走行方向の補正を行う。さらに言い換えると、斜行検知部20は、第1走行部10Aと第2走行部10Bとの間での駆動輪WR,WLの回転数の差を検知し、走行制御部30の回転数変更部RCは、左右一対の第1走行部10Aと第2走行部10Bとの間において、駆動輪WR,WLの回転数を相対的に変更する。この場合、駆動輪WR,WLの回転数調整により、経路差を補填できる。
【0042】
走行状態確認部DCは、駆動変更部DAによる変更後における斜行検知部20での検知結果に基づいて走行状態を確認する。ここでの確認において、所望の状態に補正されていない場合、走行状態確認部DCは、再度補正量を算出して算出結果に基づく各種駆動信号を駆動変更部DAに対して新たに出力し、駆動変更部DAの回転数変更部RCは、新たな出力信号に応じた回転数で第1及び第2走行部10A,10Bを回転駆動させる。
【0043】
以上のように、清掃ロボット100において各部が連携することで、自身の走行における斜行の発生検知や、検知後の経路補正の動作がなされる。
【0044】
以下、
図4に示すフローチャートを参照して、清掃ロボット100における斜行検知とその補填に関する一連の処理を説明する。
【0045】
清掃ロボット100の開始スイッチ(例えば主電源等を含む各種操作スイッチ)が押されてオンの状態となり、清掃ロボット100が経路に沿った走行を開始する(ステップS101)、すなわち、走行制御部30の主制御部MPは、走行装置10の駆動を開始させるとともに、斜行検知部20や清掃パッド50等の各部の動作を開始させる。主制御部MPは、例えば第1センサー部SE1での検知結果に基づいて、所定量の走行がなされるごとに、斜行となる事象が発生しているか否かを確認する(ステップS102,S103)。すなわち、主制御部MPは、斜行検知部20に斜行の検知を行わせ、斜行についての検知結果に基づき、斜行の発生の有無を判断する。
【0046】
ステップS103において、斜行となる事象が発生していないと判断された場合(ステップS103:No)、主制御部MPの走行状態確認部DCは、現状の走行状態を継続する、すなわち駆動変更部DAにおいて駆動輪回転数の変更はなされず、そのままの状態に維持される(ステップS104)。
【0047】
一方、ステップS103において、斜行となる事象が発生していると判断された場合(ステップS103:Yes)、主制御部MPは、発生した斜行の度合いに応じて、回転数変更部RCにおいて第1及び第2走行部10A,10Bの回転数を変更させることで、走行の補正を行う(ステップS105,S106)。ここでは、一例として、発生した斜行の度合いに応じた第1走行部10A側と第2走行部10B側とでの相対的な駆動力のバランス変化の手法として、第1及び第2走行部10A,10Bのうち片側の駆動輪の回転数を変更し、これにより、清掃ロボット100の走行方向を調整する(ステップS105)。さらに、主制御部MPは、ステップS105による回転数の変更後経路に沿ったものとなっているかを、走行状態確認部DCにおいて確認し(ステップS106)、ステップS106において、経路に沿って走行されていることが確認されるまで(ステップS106:Yes)、上記ステップS105及びステップS106の動作を繰り返す。主制御部MPは、ステップS106で適切な走行状態にあることが確認されると、当該走行状態を継続すべく、ステップS105における変更後の回転数を維持する(ステップS104)。
【0048】
ステップS104での走行状態が継続されると、主制御部MPは、清掃ロボット100が終了地点に到達したか否か、すなわち目的の清掃が完了したか否かを確認し(ステップS107)、終了地点に到達していなければ(ステップS107:No)、ステップS102からの走行しながらの斜行検知の動作を継続する。一方、終了地点に到達していれば(ステップS107:Yes)、清掃ロボット100の走行を停止し、動作を完了する(ステップS108)。
【0049】
以上のように、本実施形態に係る清掃ロボット100は、各々独立して駆動する第1及び第2走行部10A,10Bを有する走行装置10と、走行における斜行の発生を検知する斜行検知部20と、斜行検知部20での検知結果に基づいて、第1走行部10A側と第2走行部10B側とでの駆動状態の差に応じた走行制御をする走行制御部30とを備える。上記構成により、清掃ロボット100は、斜行検知部20での斜行の発生についての検知結果に基づいて、走行制御部30において第1及び第2走行部10A,10Bの駆動状態の差に応じた制御をすることで、斜行に起因して生じる本来進むべき経路と実際の経路との間での経路差を、確実に補填できる。なお、上記構成の場合、清掃パッド50と床面との摩擦によって生じる斜行のほか、第1及び第2走行部10A,10Bの状況等、清掃ロボット100の走行時における種々の要因に基づく斜行発生に際して、経路差を確実に補填できる。
【0050】
〔第2実施形態〕
以下、
図5等を参照しつつ、第2実施形態に係る清掃ロボット100について一例を説明する。第1実施形態で参照した
図3のブロック図に対応する
図5に示すように、本実施形態では、第1実施形態の場合と比較して、走行装置10の第1走行部10Aと第2走行部10Bとにおいて、加速度を検知する加速度センサーを有する点が、第1実施形態の清掃ロボット100と異なっている。なお、図示の例では、第1及び第2走行部10A,10Bが、加速度センサーを含むIMU(inertial measurement unit:慣性計測装置)を備えている。すなわち、第1走行部10Aには、右IMU10IRが設けられており、第2走行部10Bには、左IMU10ILが設けられている。なお、図示において、右エンコーダRE及び左エンコーダLEを省略しているが、エンコーダを設けないものとするほか、右IMU10IR及び左IMU10ILが、各エンコーダに相当する機能を有しているものとしてもよく、IMU10IR,10ILとは別途にエンコーダを設けてもよい。
【0051】
また、以上の加速度センサーを含むIMU等の構造を除いて、本実施形態に係る清掃ロボット100は、第1実施形態の清掃ロボット100と同様であるので、全体の構成について、共通する構成要素については同じ符号を付し、詳しい説明については省略する。
【0052】
本実施形態では、右IMU10IR及び左IMU10ILが、斜行検知部20に接続され、斜行検知部20において、右IMU10IR及び左IMU10ILで計測された第1走行部10A側と第2走行部10B側とでの加速度の値の差から斜行の発生が検知される。すなわち、本実施形態では、右IMU10IR及び左IMU10ILで計測される値の差が、駆動状態の差として検知されることで、当該値の差に基づいて斜行の発生を検知する態様となっている。
【0053】
以下、
図4に対応する
図6に示すフローチャートを参照して、清掃ロボット100における斜行検知とその補填に関する一連の処理を説明する。
【0054】
図4に一例を示した場合と同様に、清掃ロボット100が経路に沿った走行を開始すると(ステップS201)、主制御部MPは、所定量の走行がなされるごとに、斜行となる事象が発生しているか否かを確認する(ステップS202,S203)。本実施形態では、ステップS203での確認に際して、右IMU10IRと左IMU10ILとにおいて測定される値に差があるか否か、すなわち左右の駆動輪WR,WLで加速度に関する値に差が生じているか否かによって、斜行の発生の有無を判断する。
【0055】
ステップS203において、左右のIMUの値に差がないと判断された場合(ステップS203:No)、現状の走行状態が継続される(ステップS204)一方、ステップS203において、左右のIMUの値に差があると判断された場合(ステップS203:Yes)、当該値の差に応じて、回転数変更部RCにおいて駆動輪WR,WLの回転数を変更し(ステップS205)、走行状態確認部DCにおいて経路に沿って走行されていることが確認されるまで(ステップS206:Yes)回転数の変更を繰り返す。主制御部MPは、ステップS206において適切な走行状態にあることが確認されると、当該走行状態を継続すべく、ステップS205における変更後の回転数を維持する(ステップS204)。
【0056】
ステップS204で走行状態が継続されると、主制御部MPは、清掃ロボット100が終了地点に到達したことが確認されるまでステップS202からの走行しながらの斜行検知の動作を継続し(ステップS207:No)、終了地点に到達すると(ステップS207:Yes)、清掃ロボット100の走行を停止し、動作を完了する(ステップS208)。
【0057】
以上のように、本実施形態に係る清掃ロボット100においても、左右のIMUの値の差に応じて制御することで、斜行に起因して生じる本来進むべき経路と実際の経路との間での経路差を、確実に補填できる。
【0058】
〔第3実施形態〕
以下、
図7等を参照しつつ、第3実施形態に係る清掃ロボット100について一例を説明する。第1実施形態で参照した
図2(A)及び
図2(B)に対応する
図7(A)及び
図7(B)や、
図3等に対応する
図8に示すように、本実施形態では、第1実施形態の場合と比較して、走行装置10が、第1走行部10Aと第2走行部10Bとにおいて、駆動輪WR,WLのひずみを検知するひずみセンサーDSを有する点が、第1実施形態等の清掃ロボット100と異なっている。なお、ひずみセンサーDSを有することを除いて、本実施形態に係る清掃ロボット100は、第1実施形態等の清掃ロボット100と同様であるので、全体の構成について、共通する構成要素については同じ符号を付し、詳しい説明については省略する。
【0059】
図示の一例におけるひずみセンサーDSは、左右一対のひずみゲージGR,GLと、ひずみゲージGR,GLに接続されるひずみ検知部DDとを備える。
【0060】
ひずみゲージGR,GLは、左右の駆動輪WR,WLの車軸XR,XLにそれぞれ設けられて駆動輪WR,WLで発生する歪みの度合いを計測する。ひずみゲージGR,GLは、例えばブリッジ回路等で構成され、可動部である駆動輪WR,WLで生じるひずみに伴って変化する電気抵抗値を計測する。
【0061】
ひずみ検知部DDは、左右一対のひずみゲージGR,GLの計測結果からそれぞれで生じる歪みの度合いやその差異を検知する。
【0062】
本実施形態では、ひずみセンサーDSで検知される第1走行部10A側と第2走行部10B側とでの駆動輪WR,WLのひずみの差から、斜行の発生を検知できる。すなわち、ひずみセンサーDSのひずみ検知部DDが、斜行検知部20に接続され、斜行検知部20において、ひずみゲージGR,GLで計測された第1走行部10A側と第2走行部10B側とでのひずみの値(ひずみゲージの値)の差から斜行の発生が検知される。
【0063】
以下、
図4等に対応する
図9に示すフローチャートを参照して、清掃ロボット100における斜行検知とその補填に関する一連の処理を説明する。
【0064】
図4等に一例を示した場合と同様に、清掃ロボット100が経路に沿った走行を開始すると(ステップS301)、主制御部MPは、所定量の走行がなされるごとに、斜行となる事象が発生しているか否かを確認する(ステップS302,S303)。本実施形態では、ステップS303での確認に際して、左右のひずみゲージGR,GLの値に差があるか否かによって、斜行の発生の有無を判断する。
【0065】
ステップS303において、左右のひずみゲージの値に差がないと判断された場合(ステップS303:No)、現状の走行状態が継続される(ステップS304)一方、ステップS303において、左右のひずみゲージの値に差があると判断された場合(ステップS303:Yes)、当該値の差に応じて、回転数変更部RCにおいて駆動輪WR,WLの回転数を変更し(ステップS305)、走行状態確認部DCにおいて経路に沿って走行されていることが確認されるまで(ステップS306:Yes)回転数の変更を繰り返す。主制御部MPは、ステップS306において適切な走行状態にあることが確認されると、当該走行状態を継続すべく、ステップS305における変更後の回転数を維持する(ステップS304)。
【0066】
ステップS304で走行状態が継続されると、主制御部MPは、清掃ロボット100が終了地点に到達したことが確認されるまでステップS302からの走行しながらの斜行検知の動作を継続し(ステップS307:No)、終了地点に到達すると(ステップS307:Yes)、清掃ロボット100の走行を停止し、動作を完了する(ステップS308)。
【0067】
以上のように、本実施形態に係る清掃ロボット100においても、左右のひずみゲージの値の差に応じて制御することで、斜行に起因して生じる本来進むべき経路と実際の経路との間での経路差を、確実に補填できる。
【0068】
〔第4実施形態〕
以下、
図10等を参照しつつ、第4実施形態に係る清掃ロボット100について一例を説明する。第1実施形態で参照した
図3のブロック図に対応する
図10に示すように、本実施形態では、第1実施形態の場合と比較して、清掃パッド駆動制御部PDが、清掃パッド50における負荷トルクを測定するトルク負荷測定部TLとして機能し、測定結果を斜行検知部20に対して出力する点が、第1実施形態等の清掃ロボット100と異なっている。すなわち、本実施形態では、既述のように、清掃パッド50とこれに接触する床面との間で生じる摩擦が斜行発生の大きな要因の1つであることを鑑み、斜行検知部20が、トルク負荷測定部TLで計測された負荷トルクの変化から斜行の発生を検知する構成となっている。負荷トルクの測定対象としては、例えば、清掃パッド50を駆動させるための清掃モーター(図示略)とすることが考えられる。例えば清掃パッド50の回転動作時における清掃モーターの負荷トルクについて、通常の動作時における規定値の範囲(閾値)を予め定めておき、測定された負荷トルクの値がその規定値よりも高いか否かによって斜行の発生の有無を検知する。なお、清掃パッド50における負荷トルクを測定することを除いて、本実施形態に係る清掃ロボット100は、第1実施形態等の清掃ロボット100と同様であるので、全体の構成について、共通する構成要素については同じ符号を付し、詳しい説明については省略する。
【0069】
以下、
図4等に対応する
図11に示すフローチャートを参照して、清掃ロボット100における斜行検知とその補填に関する一連の処理を説明する。
【0070】
図4等に一例を示した場合と同様に、清掃ロボット100が経路に沿った走行を開始すると(ステップS401)、主制御部MPは、所定量の走行がなされるごとに、斜行となる事象が発生しているか否かを確認する(ステップS402,S403)。本実施形態では、ステップS403での確認に際して、トルク負荷測定部TLで測定された清掃モーターの負荷トルクの値が規定値よりも高いか否かによって、斜行の発生の有無を判断する。
【0071】
ステップS403において、負荷トルクの値が高くないと判断された場合(ステップS403:No)、現状の走行状態が継続される(ステップS404)一方、ステップS403において、負荷トルクの値が高いと判断された場合(ステップS403:Yes)、当該値に応じて、回転数変更部RCにおいて駆動輪WR,WLの回転数を変更し(ステップS405)、走行状態確認部DCにおいて経路に沿って走行されていることが確認されるまで(ステップS406:Yes)回転数の変更を繰り返す。主制御部MPは、ステップS406において適切な走行状態にあることが確認されると、当該走行状態を継続すべく、ステップS405における変更後の回転数を維持する(ステップS404)。
【0072】
ステップS404で走行状態が継続されると、主制御部MPは、清掃ロボット100が終了地点に到達したことが確認されるまでステップS402からの走行しながらの斜行検知の動作を継続し(ステップS407:No)、終了地点に到達すると(ステップS407:Yes)、清掃ロボット100の走行を停止し、動作を完了する(ステップS408)。
【0073】
以上のように、本実施形態に係る清掃ロボット100においても、清掃パッド50を駆動するための清掃モーターの負荷トルクの値に応じて制御することで、斜行に起因して生じる本来進むべき経路と実際の経路との間での経路差を、確実に補填できる。
【0074】
〔その他〕
この発明は、上記の実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様で実施することが可能である。
【0075】
まず、上記各実施形態について、適宜組み合わせて清掃ロボットにおいて発生する斜行に対する補填処理を行うものとしてもよい。
【0076】
また、上記のうち、経路差を補填するための駆動輪の回転制御に際して、第1及び第2走行部10A,10Bのうち片側の駆動輪の回転数を変更することで、第1走行部10A側と第2走行部10B側とでの相対的な駆動力のバランスを変化させているが、これに限らず、例えば一方の回転数を増やすとともに他方を減らす、といった双方向について変更を行う態様とすることも可能である。また、例えば第4実施形態において典型例として示したように、清掃パッド50の回転が斜行発生の大きな要因の1つである場合、清掃パッド50の回転方向(
図2(B)の矢印A1の方向)に応じて、発生する斜行の方向についても特定の方向となる。これに対応して、例えば斜行の発生しやすい方向について、特に大きな調整幅を有する、すなわち回転数の変更範囲を、他の方向よりも大きくするように構成してもよい。
【0077】
また、上記の例では、経路に沿って所定量走行するごとに斜行の発生の有無を確認するものとしているが、斜行発生の確認動作については、種々の態様が考えられ、例えば所定時間ごとに行う態様とすること等も可能であり、求める精度や、各種センサーの性能等に応じて種々の態様にできる。
【0078】
また、各種センサー部SE1,SE2等の種類についても、種々の態様とすることが可能であり、例えば第2センサー部SE2について、複数のセンサーを組み合わせて構成することも考えられる。
【0079】
また、
図1(A)~
図1(D)に一例を示した外観形状に限らず、種々の形状や構成の清掃ロボットにおいて、本願を適用することができ、例えばもっと小型・薄型のものにおいて本願を適用することも可能であり、貯水タンク等を有しない乾式の清掃ロボットにおいて本願を適用することも可能である。
【0080】
また、上記では、走行位置を計測しながら移動する清掃ロボット(掃除ロボット)について説明しているが、上記清掃ロボットと同様精密な移動を必要とする種々の移動体(移動型ロボット、搬送ロボット)において、本願を適用することも考えられる。
【0081】
また、移動体の平面上の走行態様についても、直進及び回転のみに限らず、さらに種々の動作が可能な態様としてもよい。
【符号の説明】
【0082】
10…走行装置、10A…第1走行部、10B…第2走行部、10C…従動輪、10IL…左IMU、10IR…右IMU、20…斜行検知部、30…走行制御部、40…測距部、50…清掃パッド、100…清掃ロボット、A1…矢印、CR…制御部、CS…筐体、DA…駆動変更部、DC…走行状態確認部、DD…ひずみ検知部、DS…ひずみセンサー、FW…前輪部(従動輪)、GR,GL…ひずみゲージ、JD…比較判定部、LD…左車輪駆動部、LE…左エンコーダ、MP…主制御部、MS…地図情報格納部、PD…清掃パッド駆動制御部、PE…位置推定部、PP…現在地情報、RC…回転数変更部、RD…右車輪駆動部、RE…右エンコーダ、RW…後輪部(駆動輪)、SE1…第1センサー部、SE2…第2センサー部、TL…トルク負荷測定部、TR…教示走行経路情報、WL…左車輪(駆動輪)、WR…右車輪(駆動輪)、XA…軸部、XR,XL…車軸