IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本信号株式会社の特許一覧

特開2024-114068清掃方法、清掃装置、及びプログラム
<>
  • 特開-清掃方法、清掃装置、及びプログラム 図1
  • 特開-清掃方法、清掃装置、及びプログラム 図2
  • 特開-清掃方法、清掃装置、及びプログラム 図3
  • 特開-清掃方法、清掃装置、及びプログラム 図4
  • 特開-清掃方法、清掃装置、及びプログラム 図5
  • 特開-清掃方法、清掃装置、及びプログラム 図6
  • 特開-清掃方法、清掃装置、及びプログラム 図7
  • 特開-清掃方法、清掃装置、及びプログラム 図8
  • 特開-清掃方法、清掃装置、及びプログラム 図9
  • 特開-清掃方法、清掃装置、及びプログラム 図10
  • 特開-清掃方法、清掃装置、及びプログラム 図11
  • 特開-清掃方法、清掃装置、及びプログラム 図12
  • 特開-清掃方法、清掃装置、及びプログラム 図13
  • 特開-清掃方法、清掃装置、及びプログラム 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024114068
(43)【公開日】2024-08-23
(54)【発明の名称】清掃方法、清掃装置、及びプログラム
(51)【国際特許分類】
   A47L 9/28 20060101AFI20240816BHJP
   G05D 1/43 20240101ALI20240816BHJP
   A47L 7/00 20060101ALI20240816BHJP
【FI】
A47L9/28 E
G05D1/02 H
A47L7/00 A
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2023019457
(22)【出願日】2023-02-10
(71)【出願人】
【識別番号】000004651
【氏名又は名称】日本信号株式会社
(74)【代理人】
【識別番号】110000752
【氏名又は名称】弁理士法人朝日特許事務所
(72)【発明者】
【氏名】小川 千隼
(72)【発明者】
【氏名】北島 武
【テーマコード(参考)】
3B057
5H301
【Fターム(参考)】
3B057DA00
5H301AA01
5H301AA10
5H301BB11
5H301CC03
5H301CC06
5H301CC10
5H301DD01
5H301DD06
5H301DD15
5H301GG08
5H301GG10
5H301HH18
5H301LL01
5H301LL06
5H301LL14
(57)【要約】
【課題】清掃装置が清掃領域の清掃を完了するまでに要する時間、移動する距離、旋回する回数のいずれかの推算結果に基づいて、清掃の効率を向上させる。
【解決手段】取得部111は、地図DB121からいずれかの地図IDと対応付けられた地図データを取得する。推算部112は、取得した地図データが示す地図において、条件表122に列挙された条件のそれぞれを変化させ、それぞれの条件で清掃装置1に清掃を行わせた場合の時間、移動距離、旋回回数等を推算する。選択部113は、推算結果DB123から推算部112によって推算された情報を取得し、この情報に基づいて、清掃装置1による清掃が最も効率的になる条件を選択する。指示部114は、選択部113によって選択された条件で上述した地図IDで識別される形状の清掃領域を清掃するように清掃部17に対して指示をする。
【選択図】図9
【特許請求の範囲】
【請求項1】
清掃領域の形状の情報を取得するステップと、
前記清掃領域を移動する清掃装置の前記清掃領域における清掃開始位置の情報を取得するステップと、
前記清掃装置が前記清掃領域の清掃開始時に進む方向、及び清掃中の旋回規則、のいずれかの条件を変化させ、該条件ごとに前記清掃装置が前記清掃領域の清掃を完了するまでに要する時間、移動する距離、旋回する回数のいずれかを推算するステップと、
推算の結果に基づき前記条件を選択するステップと、
選択された前記条件に従って前記清掃をするように前記清掃装置に指示するステップと、
をコンピュータに実行させる清掃方法。
【請求項2】
前記コンピュータが、
使用可能な計算資源の量に応じて前記条件を変化させる
請求項1に記載の清掃方法。
【請求項3】
前記コンピュータが、
変化させた条件ごとに前記清掃装置が前記清掃を完了するまでに要する時間を推算し、
前記条件のうち2以上の条件で推算された時間の差が閾値を超えない場合に、該2以上の条件で前記距離、又は前記回数をそれぞれ推算して、推算の結果に基づき前記条件を選択する
請求項1又は2に記載の清掃方法。
【請求項4】
清掃領域の形状、及び、前記清掃領域の清掃開始位置の各情報を取得する取得部と、
前記清掃領域の清掃開始時に進む方向、及び清掃中の旋回規則、のいずれかの条件を変化させ、該条件ごとに前記清掃領域の清掃を完了するまでに要する時間、移動する距離、旋回する回数のいずれかを推算する推算部と、
推算の結果に基づき前記条件を選択する選択部と、
選択された条件に従って前記清掃領域を移動して清掃する清掃部と、
を有する清掃装置。
【請求項5】
コンピュータに、
清掃領域の形状の情報を取得するステップと、
前記清掃領域を移動する清掃装置の前記清掃領域における清掃開始位置の情報を取得するステップと、
前記清掃装置が前記清掃領域の清掃開始時に進む方向、及び、清掃中の旋回規則、のいずれかの条件を変化させ、該条件ごとに前記清掃装置が前記清掃領域の清掃を完了するまでに要する時間、移動する距離、及び旋回する回数のいずれかを推算するステップと、
推算の結果に基づき前記条件を選択するステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、清掃領域を移動して清掃する清掃装置の進む方向、及び旋回規則等の条件によって決まる清掃の経路を選択する技術に関する。
【背景技術】
【0002】
清掃領域を移動して清掃する清掃装置として、例えば、自走清掃ロボットが挙げられる。自走清掃ロボットは、例えば部屋を格子状に動き回り、自動で清掃するロボットである。自走清掃ロボットには、未清掃のまま放置される領域が無いこと、及び、同じ場所を過剰に清掃しないこと(すなわち、効率的に移動して清掃すること)が求められる。
【0003】
清掃装置による清掃の効率を向上させるための技術には、清掃装置を移動させる経路を指示するものがある。例えば、特許文献1は、走行環境を表す環境地図を複数のセルの集合体として作成し、この走行環境において自律走行装置が走行する領域を表す走行領域を、環境地図上に画定し、この走行領域を矩形領域に分割し、各矩形領域内における自律走行装置の走行経路である矩形領域内経路の始点である始点セルを決定し、自律走行装置の直進に対応する直進経路と、自律走行装置の右折又は左折に対応する方向転換経路と、を組み合わせることにより、始点セルから開始し矩形領域に含まれる全てのセルを通過する走行経路を矩形領域内経路として作成し、矩形領域内経路の終点に対応する終点セルと、矩形領域内経路を作成した矩形領域に隣接し次に走行すべき矩形領域内の始点セルと、を接続経路にて接続することで、走行領域内の自律走行装置の走行経路である走行領域内経路を作成する走行経路作成方法を開示する。この走行経路作成方法は、自律走行装置に一定の領域をまんべんなく走行させるための経路を作成する技術である。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】WO2018/043180号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、自走清掃ロボット等の清掃装置は、直進よりも旋回に時間を要するのが一般的である。そのため、清掃装置に移動を指示する経路は、なるべく直進距離を長くし、かつ旋回及びUターンの回数を減らした方が、清掃に要する時間の短縮が期待される。
【0006】
本発明の目的の一つは、清掃装置が清掃領域の清掃を完了するまでに要する時間、移動する距離、旋回する回数のいずれかの推算結果に基づいて、清掃の効率を向上させることである。
【課題を解決するための手段】
【0007】
本発明は、清掃領域の形状の情報を取得するステップと、前記清掃領域を移動する清掃装置の前記清掃領域における清掃開始位置の情報を取得するステップと、前記清掃装置が前記清掃領域の清掃開始時に進む方向、及び清掃中の旋回規則、のいずれかの条件を変化させ、該条件ごとに前記清掃装置が前記清掃領域の清掃を完了するまでに要する時間、移動する距離、旋回する回数のいずれかを推算するステップと、推算の結果に基づき前記条件を選択するステップと、選択された前記条件に従って前記清掃をするように前記清掃装置に指示するステップと、をコンピュータに実行させる清掃方法、を第1の態様として提供する。
【0008】
第1の態様の清掃方法によれば、清掃装置が清掃領域の清掃を完了するまでに要する時間、移動する距離、旋回する回数のいずれかの推算結果に基づいて、清掃の効率を向上させることができる。
【0009】
第1の態様の清掃方法において、前記コンピュータが、使用可能な計算資源の量に応じて前記条件を変化させる、という構成が第2の態様として採用されてもよい。
【0010】
第2の態様の清掃方法によれば、使用可能な計算資源の量に応じて清掃に関する推算の程度を変えることができる。
【0011】
第1又は第2の態様の清掃方法において、前記コンピュータが、変化させた条件ごとに前記清掃装置が前記清掃を完了するまでに要する時間を推算し、前記条件のうち2以上の条件で推算された時間の差が閾値を超えない場合に、該2以上の条件で前記距離、又は前記回数をそれぞれ推算して、推算の結果に基づき前記条件を選択する、という構成が第3の態様として採用されてもよい。
【0012】
第3の態様の清掃方法によれば、清掃を完了するまでに要する時間が同程度であるときに、清掃を完了するまでに移動した距離又は旋回回数で各条件を選択することができる。
【0013】
本発明は、清掃領域の形状、及び、前記清掃領域の清掃開始位置の各情報を取得する取得部と、前記清掃領域の清掃開始時に進む方向、及び清掃中の旋回規則、のいずれかの条件を変化させ、該条件ごとに前記清掃領域の清掃を完了するまでに要する時間、移動する距離、旋回する回数のいずれかを推算する推算部と、推算の結果に基づき前記条件を選択する選択部と、選択された条件に従って前記清掃領域を移動して清掃する清掃部と、を有する清掃装置、を第4の態様として提供する。
【0014】
第4の態様の清掃装置によれば、清掃装置が清掃領域の清掃を完了するまでに要する時間、移動する距離、旋回する回数のいずれかの推算結果に基づいて、清掃の効率を向上させることができる。
【0015】
本発明は、コンピュータに、清掃領域の形状の情報を取得するステップと、前記清掃領域を移動する清掃装置の前記清掃領域における清掃開始位置の情報を取得するステップと、前記清掃装置が前記清掃領域の清掃開始時に進む方向、及び、清掃中の旋回規則、のいずれかの条件を変化させ、該条件ごとに前記清掃装置が前記清掃領域の清掃を完了するまでに要する時間、移動する距離、及び旋回する回数のいずれかを推算するステップと、推算の結果に基づき前記条件を選択するステップと、を実行させるためのプログラム、を第5の態様として提供する。
【0016】
第5の態様のプログラムによれば、清掃装置が清掃領域の清掃を完了するまでに要する時間、移動する距離、旋回する回数のいずれかの推算結果に基づいて、清掃の効率を向上させることができる。
【図面の簡単な説明】
【0017】
図1】本発明の実施形態に係る清掃装置1の構成を示すブロック図。
図2】清掃装置1の外観の例を示す概略図。
図3】地図DB121の構成の例を示す図。
図4】条件表122の構成の例を示す図。
図5】地図における開始位置、及び初期方向を説明するための図。
図6】旋回規則を説明するための図。
図7】設定速度の例を示す図。
図8】推算結果DB123の構成の例を示す図。
図9】清掃装置1の機能的構成の例を示す図。
図10】清掃装置1の動作の流れの例を示すフロー図。
図11】地図、開始位置、及び初期方向の例を示す図。
図12】初期方向を0度、旋回規則を牛耕と定めた条件下での清掃装置1の移動経路の例を示す図。
図13】初期方向を45度、旋回規則を牛耕と定めた条件下での清掃装置1の移動経路の例を示す図。
図14】変形例における清掃装置1の動作の流れの例を示すフロー図。
【発明を実施するための形態】
【0018】
<実施形態>
<清掃装置の構成>
図1は、本発明の実施形態に係る清掃装置1の構成を示すブロック図である。図1に示す清掃装置1は、プロセッサ11、メモリ12、通信部13、操作部14、表示部15、測定部16、及び清掃部17を有する。これらは、バスにより相互に通信可能に接続されている。この清掃装置1は、例えば自走清掃ロボットである。
【0019】
メモリ12は、RAM(Random Access Memory)、ROM(Read Only Memory)、ソリッドステートドライブ、ハードディスクドライブ等を有し、コンピュータプログラム(以下、単にプログラムという)を記憶する。
【0020】
また、図1に示すメモリ12は、地図DB121、条件表122、及び推算結果DB123を記憶する。これらはプロセッサ11が処理を実行する際に用いられる。
【0021】
プロセッサ11は、メモリ12からプログラムを読出して実行することにより清掃装置1を制御する。また、プロセッサ11は、通信部13を介して図示しないカメラ等の各種機器を制御する。このカメラは、例えば清掃装置1の進行方向側に設置される。プロセッサ11は、例えばCPU(Central Processing Unit)である。また、プロセッサ11は、例えば、FPGA(Field Programmable Gate Array)であってもよいし、FPGAを含んでもよい。また、このプロセッサは、ASIC(Application Specific Integrated Circuit)、又は他のプログラマブル論理デバイスを有し、これらによって制御を行ってもよい。
【0022】
通信部13は、上述した各種機器のインタフェースであり、かつ、有線又は無線により清掃装置1を、他の外部装置等に接続する通信回路である。この通信部13は、例えばイントラネット、インターネット等の通信回線を経由して、清掃装置1を各種の外部装置と通信可能に接続してもよい。
【0023】
操作部14は、各種の指示をするための操作ボタン、キーボード、タッチパネル、マウス等の操作子を備えており、操作を受付けてその操作内容に応じた信号をプロセッサ11に送る。この操作は、例えば、キーボードに対する押下、タッチパネルに対するジェスチャー等である。
【0024】
表示部15は、液晶ディスプレイ等の表示画面を有しており、プロセッサ11の制御の下、画像を表示する。表示画面の上には、操作部14の透明のタッチパネルが重ねて配置されてもよい。なお、清掃装置1は、操作部14及び表示部15を有しなくてもよい。清掃装置1は、通信部13を介して外部の装置から操作され、又は外部の装置に情報を提示してもよい。また、清掃装置1は、通信部13を有しなくてもよい。
【0025】
測定部16は、清掃装置1の周囲の環境を測定する機器群である。図1に示す測定部16は、障害物センサ161、及び距離センサ162を有する。
【0026】
障害物センサ161は、清掃装置1の周囲に存在し、清掃装置1が移動する際に障害となる物体(障害物という)を感知するためのセンサである。障害物センサ161は、例えば、赤外線、超音波等を用いたセンサであってもよい。
【0027】
距離センサ162は、障害物までの距離を測定するセンサである。距離センサ162は、例えば、いわゆるTOF(Time of Flight)方式により障害物までの距離を測定するレーダ、LiDAR(Light Detection and Ranging)等である。TOF方式は、照射した電波、光が対象物に当たって反射し、その反射波、反射光が戻るまでの時間を用いて対象物までの距離を測定する方式である。なお、距離センサ162が距離を測定する方式は、TOF方式に限らない。距離センサ162は、例えば、ステレオカメラ等によって撮影された複数の画像の視差を用いた三角測量等によって障害物までの距離を測定してもよい。
【0028】
清掃部17は、清掃を行う機器群である。図1に示す清掃部17は、移動機構171、パッド172、及びスクイージ173を有する。
【0029】
移動機構171は、プロセッサ11の制御の下で清掃装置1を移動させる機構であり、例えば車輪と、この車輪の移動方向を制御するステアリングと、この車輪を回転可能に支持する車軸と、この車軸を回転させるモータ等で構成される。なお、移動機構171は、タイヤ、キャタピラ、車輪等を有するものに限らず、例えば、一以上の関節を有する複数の脚にそれぞれ接地と離地とを繰り返させて歩行する機構であってもよい。
【0030】
パッド172は、清掃装置1の直下の床面を磨いて清掃する清掃部材である。パッド172は、床面に接触してその床面を研磨する樹脂等の部材のほか、洗浄液を貯留するタンクや、このタンクから床面に洗浄液を床面に供給するポンプ等を有してもよい。
【0031】
スクイージ173は、パッド172が洗浄したことにより床面から浮き出た汚れを拭い取る部材である。スクイージ173は、パッド172で供給されて汚れを含んだ洗浄液を堰き止めて集める樹脂等の部材と、集められた洗浄液を吸い取る吸引ポンプ等を有してもよい。
【0032】
図2は、清掃装置1の外観の例を示す概略図である。図2に示す清掃装置1は、筐体10を有する。この筐体10の上面には、操作部14、及び表示部15が設けられている。また、この筐体10の前後の側面には、測定部16が設けられている。そして、この筐体10の下面には、清掃部17が設けられている。
【0033】
この清掃装置1は、移動機構171によって方向Dに移動する。障害物センサ161、及び距離センサ162は、方向Dにおける前方に向けて取り付けられている。これにより、障害物センサ161、及び距離センサ162は、清掃装置1が方向Dに進む際に、その前方の障害物を感知し、その障害物までの距離を測定する。なお、図2に示す障害物センサ161は、方向Dにおける後方に向けても取り付けられているが、検知したい対象、状況に応じて、側方に取り付けられてもよい。
【0034】
清掃装置1のプロセッサ11は、例えば、距離センサ162が測定した障害物までの距離の情報に基づいて、いわゆるSLAM(Simultaneous Localization and Mapping)を行う。これにより、清掃装置1は、自装置の位置を推定するとともに、周囲の地図を作成する。プロセッサ11により作成された地図の情報はメモリ12において地図DB121に記憶される。
【0035】
<地図DBの構成>
図3は、地図DB121の構成の例を示す図である。この地図DB121は、清掃の対象となる部屋等の清掃領域ごとに作成された地図の情報を記憶するデータベースである。図3に示す地図DB121は、地図ID、及び地図データの項目を有する。地図IDは、清掃領域の形状を示す地図を識別する識別情報である。
【0036】
地図データは、対応する地図IDで識別される清掃領域の形状、すなわち地図を示すデータである。地図データは、例えば、東西方向に伸びて経度に対応づけられたx軸上の位置を示すx座標値と、南北方向に伸びて緯度に対応付けられたy軸上の位置を示すy座標値とをそれぞれ有する複数の点の羅列で構成される。地図データに列挙された複数の点を結ぶ線は地図の輪郭を示す。この輪郭の外側は、清掃装置1が移動できない領域である。
【0037】
<条件表の構成>
図4は、条件表122の構成の例を示す図である。この条件表122は、清掃を行わせる際に清掃装置1に移動を指示する経路を決めるための複数の条件を記憶する表である。図4に示す条件表122は、条件ID、開始位置、初期方向、旋回規則、及び設定速度の項目を有する。
【0038】
条件IDは、上述した経路を決める条件のそれぞれを識別する識別情報である。開始位置は、対応する条件IDで識別される条件において、清掃装置1が清掃を開始する位置を示す情報である。この開始位置は、例えば、上述した地図データにおけるx座標、及びy座標で示される。
【0039】
初期方向は、清掃装置1が清掃を開始するときに移動する方向である。この初期方向は、例えば、東を0度とし、北を90度とする方位角等で示される。
【0040】
旋回規則は、清掃装置1が旋回をする際の規則である。例えば、図4に示す旋回規則には、少なくとも「渦巻」及び「牛耕」の2種類の規則が記載されている。
【0041】
設定速度は、清掃装置1に予め設定された移動速度に関する情報である。設定速度は、例えば、清掃装置1に許可された最高速度、加速度の情報を含む。また、設定速度は、例えば、右折、左折、逆転等の旋回の際に必要な時間の情報を含んでもよい。
【0042】
図5は、地図における開始位置、及び初期方向を説明するための図である。図5に示す地図データは障害物を示す線Be、線Bw、線Bs、線Bn、及び線Bcを含む。線Be、線Bw、線Bs、線Bnは、それぞれ東、西、南、北に設けられた壁であって、清掃領域と外界とを区画する壁を示している。線Bcは、清掃領域の中央付近にあって清掃装置1が通過できない柱、壁等を示している。
【0043】
また、図5に示す点Psは、条件表122に記載された開始位置に対応する点である。図5に示す方向Dsは、条件表122に記載された初期方向である。
【0044】
図6は、旋回規則を説明するための図である。清掃装置1は、直進を指示されると方向を変えずに直進する。そして、清掃装置1は、障害物に到達して物理的にそれ以上、先に進めなくなったとき旋回する。また、清掃装置1は、直進しているとき所定の条件下で前方にすでに清掃した領域がある場合、旋回するように決められていてもよい。また、清掃装置1は、左右いずれかに旋回した後、自装置の清掃の幅だけ移動したら、更に旋回するように決められていてもよい。これらの旋回に関する規則を定めたアルゴリズムを旋回規則という。
【0045】
図6の(a)には、旋回規則として「渦巻」が採用されたときの清掃装置1の移動経路が示されている。旋回規則「渦巻」は、例えば、以下の規則ア~ウを含む複数の規則等によって構成される。
【0046】
(規則ア)前方に障害物又は清掃済領域があり、左右のいずれかに障害物及び清掃済領域のいずれもない方向がある場合、障害物及び清掃済領域がないその方向に旋回する。
(規則イ)前方に障害物がなく、かつ、清掃済領域があり、左右いずれにも障害物又は清掃済領域がある場合、直進を続ける。
(規則ウ)前方に障害物があり、左右いずれにも清掃済領域がある場合、左右のうち、最も近い未清掃領域がある方に旋回する。
【0047】
したがって、この「渦巻」を旋回規則として採用すると、清掃装置1は、内側から外側へ、又は外側から内側へ、順に移動して清掃を行う。「渦巻」を採用した場合、清掃装置1は、一般に人の掃除の感覚に近い軌跡に沿って移動するが、後述する牛耕式よりも、袋小路が生じることが多いため、例えば、図6の(a)に破線で示すように、既に通過した経路を二度以上通過しなければならない場合がある。
【0048】
図6の(b)には、旋回規則として「牛耕」が採用されたときの清掃装置1の移動経路が示されている。旋回規則「牛耕」は、例えば、以下の規則エ~カを含む複数の規則等によって構成される。
【0049】
(規則エ)初期方向又はその逆方向に直進している場合、障害物に到達するまで直進し続ける。
(規則オ)初期方向又はその逆方向に直進して前方の障害物に到達し、かつ、左右のいずれかに少なくとも自装置のパッド172の幅(直径)以下の距離まで障害物及び清掃済領域がない場合、障害物及び清掃済領域がないその方向に旋回した後、その幅相当の距離だけ移動し、さらに旋回して直進時の逆方向に直進する。
(規則カ)前方に障害物があり、左右いずれにも清掃済領域がある場合、左右のうち、最も近い未清掃領域がある方に旋回する。
【0050】
したがって、この「牛耕」を旋回規則として採用すると、清掃装置1は、部屋等の端から端までを往復移動して清掃を行う。「牛耕」を採用した場合、清掃装置1は、牛が畑を耕すときのように移動する。このときの移動経路は、清掃領域のうち、初期方向に沿った直線が長い場合に有利な経路である。
【0051】
図7は、設定速度の例を示す図である。条件表122に記載された設定速度は、最高速度vmax、及び加速度aを含む。最高速度vmaxは、清掃装置1が直進するときに許可された最高の速度を示す。加速度aは、例えば、最高速度vmaxに到達するまで等加速度直線運動をするように定められている場合において、その等加速度直線運動の際の加速度を示す。なお、この設定速度は、静止までの減速時においても等加速度直線運動をするように定められている場合、減速時における加速度を含んでもよい。設定速度は、加速時、及び減速時のそれぞれの加速度の絶対値を含んでもよい。
【0052】
図7に示す通り、設定速度に最高速度vmax、及び加速度aが定められていると、清掃装置1は、まず、静止した状態(つまり、初速が0)から最高速度vmaxに到達するまで加速度aで等加速度直線運動をする。これにより静止状態から最高速度vmaxに到達するまでにかかる時間t1は、以下の式(1)により求まる。
【0053】
[数1]
t1=vmax/a ……(1)
【0054】
次に、清掃装置1は、最高速度vmaxを維持したまま一定の距離を等速直進運動で移動する。この一定の距離を例えば距離dとした場合、この移動にかかる時間t2は、以下の式(2)により求まる。
【0055】
[数2]
t2=d/vmax ……(2)
【0056】
次に、清掃装置1は、ブレーキをかけて静止するまで加速度-aで等加速度直線運動をする。これにより清掃装置1が最高速度vmaxから静止するまでにかかる時間t3は、以下の式(3)により求まる。
【0057】
[数3]
t3=vmax/a ……(3)
【0058】
なお、条件表122に記載された設定速度は、最高速度vmax、及び加速度aのほか、90度旋回するのにかかる時間tt、180度旋回するのにかかる時間tsを含んでもよい。例えば、時間ttは2秒、時間tsは4秒等である。この場合、清掃装置1は、この設定速度により、少なくとも90度、及び180度のそれぞれの旋回にかかる時間が求まる。
【0059】
また、この設定速度は、旋回の際の最高角速度、角加速度、及び動作の規則等を含んでもよい。ここでいう動作の規則は、例えば、静止状態、つまり角速度の初速が0のときから旋回を開始して、最高角速度に到達するまで、一定の角速度で等角加速度回転運動をし、最高角速度を維持したまま所定の角度に到るまで等角速度回転運動をし、その後、再び静止するまで、一定の角速度で等角加速度回転運動により回転を減速させる、といった内容である。この場合、清掃装置1は、任意の方位に旋回する場合に、それに必要な旋回角度を求めることができ、かつ、その旋回に必要な時間を求めることができる。
【0060】
<推算結果DBの構成>
図8は、推算結果DB123の構成の例を示す図である。この推算結果DB123は、地図、及び条件の組合せごとに、その地図にその条件を適用した場合の、清掃装置1による清掃の動作を推測した結果を記憶するデータベースである。図8に示す推算結果DB123は、地図IDリスト1231、条件IDリスト1232、及び推算結果表1233を有する。
【0061】
図IDリスト1231は、地図IDを列挙したリストである。この地図IDリスト1231は、地図DB121に記載された地図IDと共通の情報で構成される。
【0062】
条件IDリスト1232は、推算に用いる条件を識別する条件IDを列挙したリストである。この条件IDリスト1232は、上述した条件表122に記載された条件IDと共通の情報で構成される。
【0063】
推算結果表1233は、地図IDリスト1231に記載された地図ID、及び、条件IDリスト1232に記載された条件IDの組合せごとに、清掃装置1による清掃を推算した結果を記述した表である。図8に示す推算結果表1233は、経路ID、直線距離、加減速距離、最高速距離、及び時間の項目を有する。
【0064】
経路IDは、対応する地図IDで識別される地図データが示す形状の清掃領域を、対応する条件IDで識別される条件で清掃装置1に清掃させたときの移動経路に含まれる直線経路ごとに割り当てられた識別情報である。
【0065】
直線距離は、経路IDで識別される直線経路の距離である。加減速距離は、経路IDで識別される直線経路を清掃装置1が加速又は減速しながら移動する距離である。最高速距離は、経路IDで識別される直線経路を清掃装置1が最高速度で移動する距離である。時間は、経路IDで識別される直線経路を清掃装置1が移動するのに費やす時間である。この時間は、上述した直線経路の始点、又は終点で旋回する時間を含んでもよい。
【0066】
例えば、図8に示す推算結果DB123は「M01」で識別される地図が示す清掃領域を、「C01」で識別される条件で清掃装置1に清掃させると、清掃装置1が移動する直線距離の合計が8800となる。また、この清掃領域をこの条件で清掃装置1に清掃させると、清掃装置1が加減速しながら移動する距離の合計は2700となり、最高速度で移動する距離の合計は6100となる。
【0067】
<清掃装置の機能的構成>
図9は、清掃装置1の機能的構成の例を示す図である。清掃装置1のプロセッサ11は、メモリ12に記憶されたプログラムを読み込んで実行することにより、取得部111、推算部112、選択部113、及び指示部114として機能する。なお、図9において、通信部13、操作部14、及び表示部15は図示されていない。
【0068】
取得部111は、地図DB121からいずれかの地図IDと対応付けられた地図データを取得する。この地図データは、清掃領域の形状の情報を示すデータである。取得部111は、図9に示す通り、測定部16を制御してSLAMを実行させ、その結果により地図データを取得してもよい。取得した地図データは、新たに生成した地図IDと対応付けて地図DB121に記憶されてもよい。したがって、この取得部111は、清掃領域の形状を取得する取得部の例である。
【0069】
推算部112は、地図DB121からいずれかの地図IDで識別される地図データを読み出す。そして、推算部112は、その地図データが示す地図において、条件表122に列挙された条件のそれぞれを変化させ、それぞれの条件で清掃装置1に清掃を行わせた場合にその清掃が完了するまでに要する時間、移動する距離(移動距離ともいう)、旋回する回数(旋回回数ともいう)等を推算する。条件表122は、初期方向、旋回規則を含んでおり、条件IDが変わるとこれらそれぞれの内容も変わる。そのため、推算部112は、複数の条件で上述した推算を行うと、初期方向、及び旋回規則のいずれかが変化した推算結果が得られる。推算部112は、得られた推算結果を推算結果DB123に記憶する。
【0070】
したがって、この推算部112は、清掃領域の清掃開始時に進む方向、及び清掃中の旋回規則、のいずれかの条件を変化させ、条件ごとに清掃領域の清掃を完了するまでに要する時間、移動する距離、旋回する回数のいずれかを推算する推算部の例である。
【0071】
なお、この推算部112は、条件表122から開始位置を取得している。この開始位置は、清掃領域において清掃装置1が清掃を開始する位置(清掃開始位置ともいう)を示している。したがって、この推算部112は、清掃領域の清掃開始位置の情報を取得する取得部の例でもある。
【0072】
そして、開始位置は、地図DB121において地図IDごとに対応付けて記憶されてもよい。この場合、上述した取得部111は、地図DB121から開始位置を取得し、これを推算部112に供給する。つまり、この場合の取得部111は、清掃領域の形状、及び、清掃領域の清掃開始位置の各情報を取得する取得部の例である。
【0073】
選択部113は、推算結果DB123から推算部112によって推算された情報を取得する。この情報とは、推算結果DB123の推算結果表1233に記述された内容である。そして、選択部113は、取得したこの情報に基づいて、清掃装置1による清掃が最も効率的になる条件を選択する。
【0074】
この「最も効率的になる条件」は、例えば、清掃装置1が清掃を完了するまでに要する時間が最も短い場合の条件でもよい。また、この「最も効率的になる条件」は、清掃装置1が清掃を完了するまでの移動距離が最も短い場合の条件でもよい。また、この「最も効率的になる条件」は、清掃装置1が清掃を完了するまでの旋回回数が最も少ない場合の条件でもよい。したがって、この選択部113は、推算の結果に基づき条件を選択する選択部の例である。
【0075】
指示部114は、選択部113によって選択された条件で上述した地図IDで識別される形状の清掃領域を清掃するように清掃部17に対して指示をする。清掃部17は、指示部114の指示に沿って、指示された条件で清掃領域を移動し、その清掃を行う。したがって、この指示部114に指示される清掃部17は、選択された条件に従って清掃領域を移動して清掃する清掃部の例である。
【0076】
<表示装置の動作>
図10は、清掃装置1の動作の流れの例を示すフロー図である。図10に示す通り、清掃装置1のプロセッサ11は、地図DB121から地図、すなわち、清掃領域の形状の情報を取得する(ステップS101)。したがって、このステップS101は、清掃領域の形状の情報を取得するステップの例である。
【0077】
また、プロセッサ11は、地図DB121、又は条件表122から清掃開始位置の情報を取得する(ステップS102)。したがって、このステップS102は、清掃領域を移動する清掃装置の清掃領域における清掃開始位置の情報を取得するステップの例である。
【0078】
次に、プロセッサ11は、条件表122から複数の条件を取得する(ステップS103)。そして、プロセッサ11は、取得した複数の条件の中に未採用の条件があるか否かを判断する(ステップS104)。
【0079】
未採用の条件がある、と判断する場合(ステップS104;YES)、プロセッサ11は、未採用の条件のいずれかを採用し(ステップS105)、採用したその条件で推算を行った後(ステップS106)、処理をステップS104に戻す。
【0080】
条件表122に記載された条件は、条件IDごとに初期方向、又は旋回規則が互いに異なっている場合がある。したがって、条件表122に記載された複数の条件を順次採用していくことで、プロセッサ11は、初期方向、及び旋回規則のいずれかの条件を変化させることになる。また、このプロセッサ11は、このステップS106において、上述した推算結果表1233に記載される項目を推算する。この推算結果表1233に記載される項目は、採用した条件で清掃装置1に清掃させたときにその清掃を完了するまでに要する時間、移動距離、及び旋回回数のいずれかを含む。
【0081】
したがって、このステップS104からステップS106までは、清掃装置が清掃領域の清掃開始時に進む方向、及び清掃中の旋回規則、のいずれかの条件を変化させ、それら条件ごとに清掃装置が清掃領域の清掃を完了するまでに要する時間、移動する距離、旋回する回数のいずれかを推算するステップの例である。
【0082】
図11は、地図、開始位置、及び初期方向の例を示す図である。図11に示す地図は、壁B1、B2、B3、B4、B5で構成される。この図において上は北を示し、右は東を示す。壁B1は東西に、壁B5は南北に伸びる壁である。一方、壁B2、B3、B4は、いずれも東西方向、又は南北方向に対して例えば45度等の傾斜した方向に伸びている。
【0083】
ここで、清掃装置1は、図11に示す通り、清掃開始位置として点Psを与えられ、初期方向として東に向かう方向Ds1、北東に向かう方向Ds2、及び北に向かう方向Ds3を与えられる。したがって、条件表122の初期方向として、方向Ds1は「0度」と、方向Ds2は「45度」と、方向Ds3は「90度」と、それぞれ記述される。
【0084】
図12は、初期方向を0度、旋回規則を牛耕と定めた条件下での清掃装置1の移動経路の例を示す図である。この場合、移動経路は経路IDが「R1」から「R27」までの直線経路に分割される。清掃装置1のプロセッサ11は、この27本の直線経路のそれぞれについて、直線距離、加減速距離、最高速距離、及び時間を推算し、これらの合計をそれぞれ算出する。
【0085】
図13は、初期方向を45度、旋回規則を牛耕と定めた条件下での清掃装置1の移動経路の例を示す図である。この場合、移動経路は経路IDが「R1」から「R26」までの直線経路に分割される。清掃装置1のプロセッサ11は、この26本の直線経路のそれぞれについて、直線距離、加減速距離、最高速距離、及び時間を推算し、これらの合計をそれぞれ算出する。
【0086】
図12に示す場合に比べて、図13に示す場合は、直線経路が1本だけ少ない。これは、初期方向が45度であるところ、この方向が図11に示す壁B2、B3、B4に沿っているため、直線距離が長く取れ、右折、左折、又はUターンの回数が減ったからと考えられる。このように、移動経路の形は、清掃領域の形状、清掃開始位置、初期方向、及び旋回規則等の条件に応じて変わるため、プロセッサ11は、これらの条件ごとに清掃をシミュレートして、それぞれの条件下で必要な時間等を推算する。
【0087】
一方、図10のフロー図に示すステップS104において、未採用の条件がない、と判断する場合(ステップS104;NO)、プロセッサ11は、新たな条件の採用と、その条件下における推算のステップを終了し、推算結果の評価に処理を進める。すなわち、この場合、プロセッサ11は、複数の条件下でそれぞれ推算した結果を参照し、そのうち、清掃が完了するまでにかかる時間、つまり総時間が最短になる条件を選択する(ステップS107)。
【0088】
例えば、図12に示す条件下で、清掃装置1が清掃の完了までに係る時間は約134秒と推算される。一方、図13に示す条件下で、清掃装置1が清掃の完了までに係る時間は約120秒と推算される。したがって、旋回規則を牛耕と定めたときに、清掃に係る総時間で比較した場合、清掃装置1のプロセッサ11は、初期方向を45度と定めた方が初期方向を0度と定めた場合よりも有利であると判断する。
【0089】
ここで時間の分解能によっては、複数の条件下で推算された時間が完全に一致する場合がある。また、推算された時間を比較する際に、同値と見なす範囲が定められていてもよい。例えば、同値と見なす範囲が10秒に定められている場合、総時間が1時間の条件と、1時間9秒の条件と、59分51秒の条件とは、いずれも同値と見なされる総時間が推算される条件であるため、その全てが「最短」と評価される。したがって、「最短」と評価される条件は複数ある場合がある。
【0090】
プロセッサ11は、総時間が最短になる条件が複数あるか否かを判断する(ステップS108)。そして、総時間が最短になる条件が複数ある、と判断する場合(ステップS108;YES)、プロセッサ11は、それら複数の条件のうち、清掃が完了するまでの清掃装置1の移動距離が最短になる条件を選択し(ステップS109)、処理をステップS110に進める。
【0091】
なお、総時間が最短になる条件が複数あると判断する場合、プロセッサ11は、上述した距離が最短になる条件を選択するが、選択する条件はこれに限らない。例えば、プロセッサ11は、総時間が最短になる条件が複数あると判断する場合、清掃が完了するまでの清掃装置1の旋回回数を評価し、これら複数の条件のうち、その旋回回数が最小になる条件を選択してもよい。
【0092】
したがって、このステップS107からステップS109までは、変化させた条件ごとに清掃装置が清掃を完了するまでに要する時間を推算し、それらの条件のうち2以上の条件で推算された時間の差が閾値を超えない場合に、それら2以上の条件で距離、又は旋回回数をそれぞれ推算して、推算の結果に基づき前記条件を選択するステップの例である。
【0093】
また、ステップS107及びステップS109は、推算の結果に基づき条件を選択するステップの例である。
【0094】
総時間が最短になる条件が複数ない、と判断する場合(ステップS108;NO)、プロセッサ11は、ステップS109を実行せずに処理をステップS110に進める。そして、プロセッサ11は、選択された条件で清掃するように清掃部17に指示を出す(ステップS110)。このステップS110は、選択された条件に従って清掃をするように清掃装置に指示するステップの例である。
【0095】
以上、説明した処理を実行することにより、清掃装置1は、清掃装置が清掃領域の清掃を完了するまでに要する時間、移動距離、旋回回数のいずれかの推算結果を得る。そして、この清掃装置1は、これらの推算結果に基づいて条件を選択することにより、清掃の効率を向上させることができる。
【0096】
なお、清掃装置1はプロセッサ11及びメモリ12を有するコンピュータである。したがって、本発明は、上述した図10に示す各ステップをそれぞれコンピュータに実行させる清掃方法として観念される。
【0097】
また、本発明は、図10に示す各ステップをコンピュータに実行させるように記述されたプログラムとしても観念され得る。
【0098】
以上の実施形態で説明された構成、形状、大きさ及び配置関係については本発明が理解・実施できる程度に概略的に示したものにすぎない。したがって、本発明は、説明された実施形態に限定されるものではなく、特許請求の範囲に示される技術的思想の範囲を逸脱しない限り様々な形態に変更することができる。
【0099】
<変形例>
以上が実施形態の説明であるが、この実施形態の内容は以下のように変形し得る。また、以下の変形例は組み合わされてもよい。
【0100】
<1>
上述した実施形態において、プロセッサ11は、図10に示したステップS108の判断を行っていたが、この判断を行わなくてもよい。この場合、プロセッサ11は、初期方向、及び旋回規則のいずれかの条件を変化させて、少なくとも清掃完了までの時間、移動距離、旋回回数のいずれかを推算すればよい。そして、プロセッサ11は、推算された時間、移動距離、旋回回数のいずれかに基づいて条件を選択すればよい。
【0101】
要するに、本発明に係る清掃方法は、清掃領域の形状の情報を取得するステップと、清掃領域を移動する清掃装置の清掃領域における清掃開始位置の情報を取得するステップと、清掃装置が清掃領域の清掃開始時に進む方向、及び清掃中の旋回規則、のいずれかの条件を変化させ、それらの条件ごとに清掃装置が清掃領域の清掃を完了するまでに要する時間、移動する距離、旋回する回数のいずれかを推算するステップと、推算の結果に基づき条件を選択するステップと、選択された条件に従って清掃をするように清掃装置に指示するステップと、をコンピュータに実行させるものであればよい。
【0102】
また、本発明に係るプログラムは、コンピュータに、清掃領域の形状の情報を取得するステップと、清掃領域を移動する清掃装置の清掃領域における清掃開始位置の情報を取得するステップと、清掃装置が清掃領域の清掃開始時に進む方向、及び、清掃中の旋回規則、のいずれかの条件を変化させ、それらの条件ごとに清掃装置が清掃領域の清掃を完了するまでに要する時間、移動する距離、及び旋回する回数のいずれかを推算するステップと、推算の結果に基づき条件を選択するステップと、を実行させるためのプログラムであればよい。
【0103】
<2>
上述した実施形態において、条件表122は、予め与えられていたが、プロセッサ11が生成してもよい。また、プロセッサ11は、周囲の環境等の制約に応じて生成する条件の種類、数等を変えてもよい。例えば、プロセッサ11は、使用可能な計算資源の量を確認し、この量に応じて条件を変化させてもよい。
【0104】
図14は、変形例における清掃装置1の動作の流れの例を示すフロー図である。この変形例において清掃装置1のプロセッサ11は、図10に示すステップS103に代えて、図14に示すステップS201、ステップS202、及びステップS203を行う。
【0105】
例えば、この清掃装置1は、通信部13を介して外部の情報処理装置と接続し、その情報処理装置が有するCPU、GPU等のプロセッサの演算能力を利用する。なお、プロセッサ11がプログラムを実行することで実現する、上述した取得部111、推算部112、選択部113、及び指示部114のいずれかは、この外部の情報処理装置によって実現されてもよい。この場合であっても、清掃装置1と、この清掃装置1に通信可能に接続された外部の情報処理装置とは、組合せることで、本発明に係る清掃装置になる。また、この清掃装置1と、外部の情報処理装置とは、協同して本発明に係る清掃方法を行う。
【0106】
この場合、清掃装置1が利用できる情報処理装置は、タイミングによって異なっているため、プロセッサ11は、これら外部の情報処理装置の演算能力、記憶容量等の計算資源の量を、推算の度に確認する必要がある。そこで、プロセッサ11は、自身も含めた計算資源の量を示す「計算資源情報」を取得する(ステップS201)。
【0107】
次に、プロセッサ11は、取得した計算資源情報に応じた条件数を決定する(ステップS202)。例えば、清掃装置1が利用できる計算資源が通常に比べて豊富にある場合、プロセッサ11は、決められた数よりも条件を多くする。一方、清掃装置1が利用できる計算資源が通常に比べて少ない場合、プロセッサ11は、決められた数よりも条件を少なくする。
【0108】
次に、プロセッサ11は、決定した数の条件を生成して、条件表122に記述する。プロセッサ11は、新たに生成された条件を記述した条件表122に基づいて、推算を行うので、例えば、計算資源が通常よりも豊富に利用可能な場合には、予め定められた数よりも多くの条件を採用して、そのそれぞれの条件下での推算結果を評価する。また、例えば、計算資源が通常よりも利用できない制約がある場合、プロセッサ11は、その制約に応じて予め定められた数よりも絞られた条件を採用し、そのそれぞれの条件下での推算結果を評価する。したがって、この変形例において、この清掃装置1が行う清掃方法は、コンピュータが、使用可能な計算資源の量に応じて条件を変化させる清掃方法の例である。
【0109】
この変形例では、清掃装置1は、利用可能な計算資源の量に応じて条件を変化させるので、計算資源が通常よりも豊富に利用可能なときに、通常よりも精度が高い条件を選択することができる。
【符号の説明】
【0110】
1…清掃装置、10…筐体、11…プロセッサ、111…取得部、112…推算部、113…選択部、114…指示部、12…メモリ、121…地図DB、122…条件表、123…推算結果DB、1231…地図IDリスト、1232…条件IDリスト、1233…推算結果表、13…通信部、14…操作部、15…表示部、16…測定部、161…障害物センサ、162…距離センサ、17…清掃部、171…移動機構、172…パッド、173…スクイージ、B1…壁、B2…壁、B3…壁、B4…壁、B5…壁、Bc…壁、Be…壁、Bw…壁、Bn…壁、Bs…壁、Ds…方向、Ds1…方向、Ds2…方向、Ds3…方向、Ps…点。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14