(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024165407
(43)【公開日】2024-11-28
(54)【発明の名称】走行計画作成装置、自律走行型ロボット、走行計画作成方法、及び、プログラム
(51)【国際特許分類】
G05D 1/43 20240101AFI20241121BHJP
A47L 9/28 20060101ALI20241121BHJP
【FI】
G05D1/02 H
A47L9/28 E
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023081582
(22)【出願日】2023-05-17
(71)【出願人】
【識別番号】314012076
【氏名又は名称】パナソニックIPマネジメント株式会社
(74)【代理人】
【識別番号】100109210
【弁理士】
【氏名又は名称】新居 広守
(74)【代理人】
【識別番号】100137235
【弁理士】
【氏名又は名称】寺谷 英作
(74)【代理人】
【識別番号】100131417
【弁理士】
【氏名又は名称】道坂 伸一
(72)【発明者】
【氏名】本山 裕之
(72)【発明者】
【氏名】本田 廉治
【テーマコード(参考)】
3B057
5H301
【Fターム(参考)】
3B057DA00
5H301AA02
5H301AA10
5H301BB10
5H301BB11
5H301BB12
5H301BB14
5H301CC03
5H301CC06
5H301CC10
5H301DD06
5H301DD07
5H301DD17
5H301GG08
5H301GG09
5H301GG10
5H301GG12
5H301GG17
(57)【要約】
【課題】絨毯目を起因とした位置ずれを抑制可能な走行計画作成装置等を提供する。
【解決手段】走行計画作成装置100のデータベース更新部126は、主走査方向での自律走行型ロボットの走行中に算出されたずれ量が第一閾値以上に切り替わる第一地点をずれ発生開始位置としてデータベースに保存し、ずれ量が第一閾値以上となった後に、第一閾値よりも小さい第二閾値未満に切り替わる第二地点をずれ発生終了位置としてデータベースに保存し、ジグザグ走行の走行範囲を、ずれ発生開始位置からずれ発生終了位置までの第一範囲と第二範囲とに分類し、第一範囲での主走査方向を第二範囲での主走査方向とは90度異ならせ、第二範囲の長辺方向が第二範囲の主走査方向に一致していない場合、第二範囲の主走査方向を長辺方向に一致させることで、次回の走行計画の作成に使用するジグザグ走行の走行範囲と走行方向とを第一走行候補としてデータベースに保存する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
自律走行型ロボットの走行計画を作成する走行計画作成装置であって、
前記自律走行型ロボットが走行するエリアの地図を取得する地図情報取得部と、
前記自律走行型ロボットの本体の周囲の物体と前記本体との位置関係を取得する取得部と、
前記地図及び前記位置関係に基づいて、前記地図上での前記自律走行型ロボットの現在位置を算出する現在位置算出部と、
前記地図と、前記現在位置と、データベースに保存された、前記エリアにおける前記自律走行型ロボットのジグザグ走行の走行範囲及び走行方向とに基づいて、前記自律走行型ロボットの前記エリアにおける走行経路を含む走行計画を作成する走行計画作成部と、
前記現在位置及び前記走行経路に基づいて、前記エリアの次回の走行計画の作成に使用する前記ジグザグ走行の走行範囲と走行方向とを前記データベースに保存するデータベース更新部と、
前記現在位置が前記走行経路から外れたときのずれ量を算出するずれ量算出部と備え、
前記ジグザグ走行の走行方向は、主走査方向と、当該主走査方向に交差する副走査方向とを含み、
前記データベース更新部は、
前記主走査方向での前記自律走行型ロボットの走行中に算出されたずれ量が第一閾値以上に切り替わる第一地点を、ずれ発生開始位置として前記データベースに保存し、
前記自律走行型ロボットの走行中に算出されたずれ量が第一閾値以上となった後に、前記第一閾値よりも小さい第二閾値未満に切り替わる第二地点を、ずれ発生終了位置として前記データベースに保存し、
前記ジグザグ走行の走行範囲のうち、前記ずれ発生開始位置から前記ずれ発生終了位置までの第一範囲と、当該第一範囲を含まない第二範囲とに分類してから、前記第一範囲での前記主走査方向を前記第二範囲での前記主走査方向とは90度異ならせるとともに、前記第二範囲の長辺方向が前記第二範囲の前記主走査方向に一致していない場合には前記第二範囲の前記主走査方向を前記長辺方向に一致させることで、次回の走行計画の作成に使用する前記ジグザグ走行の走行範囲と走行方向とを第一走行候補として前記データベースに保存する、
走行計画作成装置。
【請求項2】
前記データベース更新部は、
前記ずれ量が前記第二閾値を下回った後に、前記エリア内の絨毯目に対する補正の向きが反転した場合には、反転した第三地点を新たな前記ずれ発生終了位置として前記データベースに保存する、
請求項1に記載の走行計画作成装置。
【請求項3】
前記データベース更新部は、
前記自律走行型ロボットの走行中に算出されたずれ量が最大となった場合、当該ずれ量を最大ずれ量として前記データベースに保存し、
前記最大ずれ量に基づいて算出された前記ジグザグ走行の折り返し幅を含む、前記エリアの次回の走行計画の作成に使用する前記ジグザグ走行の走行範囲と前記走行方向とを第二走行候補として前記データベースに保存し、
前記走行計画作成部は、前記第一走行候補に基づく第一走行計画と、前記第二走行候補に基づく第二走行計画とを作成し、前記第一走行計画での第一実行時間と、前記第二走行計画での第二実行時間とのうち、短い方を選択する、
請求項1または2に記載の走行計画作成装置。
【請求項4】
本体と、
前記本体に配置され、前記本体を走行自在とする走行部と、
前記本体が走行するエリアの地図を取得する地図情報取得部と、
前記本体と前記本体の周囲の物体との位置関係を取得する位置センサと、
前記地図及び前記位置関係に基づいて、前記地図上での前記本体の現在位置である自己位置を算出する自己位置算出部と、
請求項1または2に記載の走行計画作成装置で作成された前記走行計画を取得する取得部と、
前記走行計画に基づいて前記走行部を制御する走行制御部と、
を備える、
自律走行型ロボット。
【請求項5】
自律走行型ロボットの走行計画を作成する走行計画作成方法であって、
前記自律走行型ロボットが走行するエリアの地図を取得する地図情報取得ステップと、
前記自律走行型ロボットの本体の周囲の物体と前記本体との位置関係を取得する位置関係取得ステップと、
前記地図及び前記位置関係に基づいて、前記地図上での前記自律走行型ロボットの現在位置を算出する現在位置算出ステップと、
前記地図と、前記現在位置と、データベースに保存された前記エリアにおける前記自律走行型ロボットのジグザグ走行の走行範囲及び走行方向とに基づいて、前記自律走行型ロボットの前記エリアにおける走行経路を含む走行計画を作成する走行計画作成ステップと、
前記現在位置及び前記走行経路に基づいて、前記エリアの次回の走行計画の作成に使用する前記ジグザグ走行の走行範囲と走行方向とを前記データベースに保存するデータベース更新ステップと、
前記現在位置が前記走行経路から外れたときのずれ量を算出するずれ量算出ステップと備え、
前記ジグザグ走行の走行方向は、主走査方向と、当該主走査方向に交差する副走査方向とを含み、
前記データベース更新ステップは、
前記主走査方向での前記自律走行型ロボットの走行中に算出されたずれ量が第一閾値以上に切り替わる第一地点を、ずれ発生開始位置として前記データベースに保存し、
前記自律走行型ロボットの走行中に算出されたずれ量が第一閾値以上となった後に、前記第一閾値よりも小さい第二閾値未満に切り替わる第二地点を、ずれ発生終了位置として前記データベースに保存し、
前記ジグザグ走行の走行範囲のうち、前記ずれ発生開始位置から前記ずれ発生終了位置までの第一範囲と、当該第一範囲を含まない第二範囲とに分類してから、前記第一範囲での前記主走査方向を前記第二範囲での前記主走査方向とは90度異ならせるとともに、前記第二範囲の長辺方向が前記第二範囲の前記主走査方向に一致していない場合には前記第二範囲の前記主走査方向を前記長辺方向に一致させることで、次回の走行計画の作成に使用する前記ジグザグ走行の走行範囲と走行方向とを第一走行候補として前記データベースに保存する、
走行計画作成方法。
【請求項6】
請求項5に記載の走行計画作成方法をコンピュータに実行させるための
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、走行計画作成装置、自律走行型ロボット、走行計画作成方法、及び、プログラムに関する。
【背景技術】
【0002】
例えば、特許文献1には、外周壁から離れるに従い走行ルート間の間隔を狭めるように駆動ユニットを制御する自律走行型掃除機が開示されている。
【0003】
また、例えば、特許文献2には、回転軸の回転数と傾きとを制御して、設定ルートに沿って、均し作業を行いながら自動的に移動する自動均し作業ロボットが開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2020-009338号公報
【特許文献2】特開2020-060021号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、自律走行型ロボットでは、床面に敷き詰められたタイルカーペットの絨毯目により目的のルートから位置ズレしてしまうおそれがある。
【0006】
本開示の目的は、絨毯目を起因とした位置ズレを抑制可能な走行計画作成装置等を提供することである。
【課題を解決するための手段】
【0007】
本開示の一態様に係る走行計画作成装置は、自律走行型ロボットの走行計画を作成する走行計画作成装置であって、前記自律走行型ロボットが走行するエリアの地図を取得する地図情報取得部と、前記自律走行型ロボットの本体の周囲の物体と前記本体との位置関係を取得する取得部と、前記地図及び前記位置関係に基づいて、前記地図上での前記自律走行型ロボットの現在位置を算出する現在位置算出部と、前記地図と、前記現在位置と、データベースに保存された、前記エリアにおける前記自律走行型ロボットのジグザグ走行の走行範囲及び走行方向とに基づいて、前記自律走行型ロボットの前記エリアにおける走行経路を含む走行計画を作成する走行計画作成部と、前記現在位置及び前記走行経路に基づいて、前記エリアの次回の走行計画の作成に使用する前記ジグザグ走行の走行範囲と走行方向とを前記データベースに保存するデータベース更新部と、前記現在位置が前記走行経路から外れたときのずれ量を算出するずれ量算出部と備え、前記ジグザグ走行の走行方向は、主走査方向と、当該主走査方向に交差する副走査方向とを含み、前記データベース更新部は、前記主走査方向での前記自律走行型ロボットの走行中に算出されたずれ量が第一閾値以上に切り替わる第一地点を、ずれ発生開始位置として前記データベースに保存し、前記自律走行型ロボットの走行中に算出されたずれ量が第一閾値以上となった後に、前記第一閾値よりも小さい第二閾値未満に切り替わる第二地点を、ずれ発生終了位置として前記データベースに保存し、前記ジグザグ走行の走行範囲のうち、前記ずれ発生開始位置から前記ずれ発生終了位置までの第一範囲と、当該第一範囲を含まない第二範囲とに分類してから、前記第一範囲での前記主走査方向を前記第二範囲での前記主走査方向とは90度異ならせるとともに、前記第二範囲の長辺方向が前記第二範囲の前記主走査方向に一致していない場合には前記第二範囲の前記主走査方向を前記長辺方向に一致させることで、次回の走行計画の作成に使用する前記ジグザグ走行の走行範囲と走行方向とを第一走行候補として前記データベースに保存する。
【0008】
本開示の一態様に係る自律走行型ロボットは、本体と、前記本体に配置され、前記本体を走行自在とする走行部と、前記本体が走行するエリアの地図を取得する地図情報取得部と、前記本体と前記本体の周囲の物体との位置関係を取得する位置センサと、前記地図及び前記位置関係に基づいて、前記地図上での前記本体の現在位置である自己位置を算出する自己位置算出部と、上記走行計画作成装置で作成された前記走行計画を取得する取得部と、前記走行計画に基づいて前記走行部を制御する走行制御部と、を備える。
【0009】
本開示の一態様に係る掃除計画作成方法は、自律走行型ロボットの走行計画を作成する走行計画作成方法であって、前記自律走行型ロボットが走行するエリアの地図を取得する地図情報取得ステップと、前記自律走行型ロボットの本体の周囲の物体と前記本体との位置関係を取得する位置関係取得ステップと、前記地図及び前記位置関係に基づいて、前記地図上での前記自律走行型ロボットの現在位置を算出する現在位置算出ステップと、前記地図と、前記現在位置と、データベースに保存された前記エリアにおける前記自律走行型ロボットのジグザグ走行の走行範囲及び走行方向とに基づいて、前記自律走行型ロボットの前記エリアにおける走行経路を含む走行計画を作成する走行計画作成ステップと、前記現在位置及び前記走行経路に基づいて、前記エリアの次回の走行計画の作成に使用する前記ジグザグ走行の走行範囲と走行方向とを前記データベースに保存するデータベース更新ステップと、前記現在位置が前記走行経路から外れたときのずれ量を算出するずれ量算出ステップと備え、前記ジグザグ走行の走行方向は、主走査方向と、当該主走査方向に交差する副走査方向とを含み、前記データベース更新ステップは、前記主走査方向での前記自律走行型ロボットの走行中に算出されたずれ量が第一閾値以上に切り替わる第一地点を、ずれ発生開始位置として前記データベースに保存し、前記自律走行型ロボットの走行中に算出されたずれ量が第一閾値以上となった後に、前記第一閾値よりも小さい第二閾値未満に切り替わる第二地点を、ずれ発生終了位置として前記データベースに保存し、前記ジグザグ走行の走行範囲のうち、前記ずれ発生開始位置から前記ずれ発生終了位置までの第一範囲と、当該第一範囲を含まない第二範囲とに分類してから、前記第一範囲での前記主走査方向を前記第二範囲での前記主走査方向とは90度異ならせるとともに、前記第二範囲の長辺方向が前記第二範囲の前記主走査方向に一致していない場合には前記第二範囲の前記主走査方向を前記長辺方向に一致させることで、次回の走行計画の作成に使用する前記ジグザグ走行の走行範囲と走行方向とを第一走行候補として前記データベースに保存する。
【0010】
なお、本開示は、前記走行計画作成方法をコンピュータに実施させるためのプログラムとして実現されてもよい。また、上記プログラムを記録したコンピュータによって読み取り可能なCD-ROM等の非一時的な記録媒体として実現されてもよい。また、本開示は、そのプログラムを示す情報、データ又は信号として実現されてもよい。そして、それらプログラム、情報、データ及び信号は、インターネット等の通信ネットワークを介して配信されてもよい。
【発明の効果】
【0011】
本開示によれば、絨毯目を起因とした位置ズレを抑制できる。
【図面の簡単な説明】
【0012】
【
図1】
図1は、実施の形態における自律走行型ロボットシステムの機能構成の一例を示すブロック図である。
【
図2】
図2は、実施の形態における自律走行型ロボットシステムの機能構成の他の例を示すブロック図である。
【
図3】
図3は、実施の形態に係る自律走行型ロボットを斜め上方から見た斜視図である。
【
図4】
図4は、実施の形態に係る自律走行型ロボットを裏面方向から見た外観を示す底面図である。
【
図5】
図5は、実施の形態における自律走行型ロボットシステムの動作例1を示すフローチャートである。
【
図6】
図6は、実施の形態に係るエリアの一例を示す説明図である。
【
図7】
図7は、実施の形態に係るデータベース更新ステップの流れを示すフローチャートである。
【
図8】
図8は、実施の形態に係る目標ラインと、自律走行型ロボットが走行計画に基づいて走行した実走行経路とを示す説明図である。
【
図9】
図9は、実施の形態に係る位置ずれ対策を示す説明図である。
【
図10】
図10は、実施の形態に係る位置ズレ範囲の一例を示す説明図である。
【
図11】
図11は、実施の形態に係る位置ズレ範囲を拡大して示す説明図である。
【
図12】
図12は、動作例1でエリアを第一範囲及び第二範囲に分類した結果と、第一走行候補とを示す説明図である。
【
図13】
図13は、実施の形態に係る複数の位置ズレ範囲の一例を示す説明図である。
【
図14】
図14は、動作例2でエリアを結合範囲及び第二範囲に分類した結果と、第一走行候補とを示す説明図である。
【
図15】
図15は、動作例2に係る結合範囲の他の例を示す説明図である。
【
図16】
図16は、実施の形態に係る複数の位置ズレ範囲の一例を示す説明図である。
【
図17】
図17は、実施の形態に係る動作例3でエリアを第一範囲及び第二範囲に分類した結果と、第一走行候補とを示す説明図である。
【
図18】
図18は、実施の形態に係る第二走行候補の一例を示す説明図である。
【
図19】
図19は、実施の形態に係る第三地点の一例を示す説明図である。
【発明を実施するための形態】
【0013】
以下では、本開示に係る走行計画作成装置等の実施の形態について、図面を用いて詳細に説明する。なお、以下に説明する実施の形態は、いずれも本開示の好ましい一具体例を示すものである。したがって、以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置及び接続形態、ステップ、ステップの順序等は、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【0014】
なお、当業者が本開示を十分に理解するために添付図面及び以下の説明を提供するのであって、これらによって特許請求の範囲に記載の主題を限定することを意図するものではない。
【0015】
また、各図は、模式図であり、必ずしも厳密に図示されたものではない。また、各図において、実質的に同一の構成に対しては同一の符号を付しており、重複する説明は省略又は簡略化される場合がある。
【0016】
また、以下の実施の形態においては、エリアを走行する自律走行型ロボットを鉛直上方側から見た場合を上面視とし、鉛直下方側から見た場合を底面視として記載する場合がある。
【0017】
(実施の形態)
[自律走行型ロボットシステム]
[1.構成]
まず、実施の形態における自律走行型ロボットシステムの概要について説明する。
図1は、実施の形態における自律走行型ロボットシステム400の機能構成の一例を示すブロック図である。
【0018】
自律走行型ロボットシステム400は、自律走行型ロボット300がエリアの床面の状態によらず効率的に走行可能な走行計画を作成し、作成された走行計画に基づいて自律走行型ロボット300が上記エリアを走行するシステムである。走行計画は、エリアにおける自律走行型ロボット300の走行経路を含み、走行時の速度なども含む。また、例えば、自律走行型ロボット300が複数のエリアを走行する場合は、走行計画は、各エリアを走行する順番、各エリアにおける走行経路、及び、走行時の速度などを含む。走行経路は、エリアにおいて自律走行型ロボット300が行うジグザグ走行の経路を含んでいる。
【0019】
ジグザグ走行とは、例えば、自律走行型ロボット300がエリアの一端から他端に向けて直線的に走行し、他端に沿って所定の折り返し幅で折り返し、他端から一端に向けて直線的に走行し、一端に沿って所定の折り返し幅で折り返す、規則的な折り返し走行をいう。つまり、ジグザグ走行は、交互に隣り合う複数の往路及び複数の復路からなる規則的な折り返し走行である。ジグザグ走行は、エリア内を走査する走行とも言え、往路及び復路の方向が主走査方向であり、折り返し時の方向が副走査方向である。
【0020】
エリアは、自律走行型ロボット300が走行するエリア(いわゆる、走行エリア)であり、例えば、壁、窓、又は、パーティションなどで区画された空間であってもよいし、当該空間の一部の範囲であってもよい。また、エリアは、建物の中に限られず、屋外に存在してもよい。
【0021】
図1に示されるように、自律走行型ロボットシステム400は、例えば、走行計画作成装置100と、情報端末200と、自律走行型ロボット300とを備えている。以下、各構成について説明する。
【0022】
なお、本実施の形態では、自律走行型ロボット300は、掃除機能を備える掃除ロボットであるが、掃除ロボットに限られない。自律走行型ロボット300は、エリア(つまり、特定の範囲の床面又は地面)をジグザグ走行するロボットであればよく、例えば、床面を拭き掃除する拭き掃除ロボット、床均しロボット、芝刈りロボット、紫外線もしくは消毒剤などで床面を消毒する消毒ロボット、打音検査ロボット、又は、地表もしくは地中の物体などを探査する探査ロボットなどであってもよい。
【0023】
[1-1.走行計画作成装置]
まず、走行計画作成装置100について
図1を参照しながら説明する。
【0024】
走行計画作成装置100は、自律走行型ロボット300の走行計画を作成する装置である。具体的には、走行計画作成装置100は、エリアにおけるジグザグ走行の折り返し幅をデータベースから読み出して、当該折り返し幅でジグザグ走行する走行経路を含む走行計画を作成する。
【0025】
なお、走行計画作成装置100の機能を自律走行型ロボット300に搭載してもよい。
図2は、実施の形態における自律走行型ロボットシステム400の機能構成の他の例を示すブロック図である。
図2に示されるように、自律走行型ロボット300は、例えば、ずれ量算出部325、走行計画作成部326、データベース更新部327、データベース332を備えてもよい。つまり、
図2の自律走行型ロボット300は、走行計画作成装置100と同等の機能を有している。これにより、自律走行型ロボット300は、ネットワーク10を介して走行計画を取得する必要がないため、通信障害などの影響を受けにくく、通信で情報を取得する場合に比べて、よりスムーズに処理を行うことが可能となる。
【0026】
図1の例では、位置センサ20は、例えば、エリアの壁又は天井に設置された距離画像カメラであり、走行計画作成装置100は、例えば、位置センサ20と通信接続されたサーバ又は情報端末である。なお、
図2に示されるように、自律走行型ロボット300が位置センサ302を備えている場合には、走行計画作成装置100は、自律走行型ロボット300の位置センサ302で計測されたデータを取得して、自律走行型ロボット300の本体301の現在位置を算出する。
【0027】
なお、
図1の例では、自律走行型ロボット300が備える走行計画作成部326は、エリアの走行中に検知された障害物を回避する動作を走行計画に追加する機能を有する。つまり、
図1の例では、自律走行型ロボット300の走行計画作成部326は、走行計画に含まれる走行経路に従いつつ、障害物回避などエリアを安全に走行するために機能する。
【0028】
図1に示されるように、走行計画作成装置100は、例えば、通信部110と、制御部120と、記憶部130と、受付部140と、通知部150とを備える。以下、各構成について説明する。
【0029】
[通信部]
通信部110は、走行計画作成装置100がネットワーク10を介して情報端末200及び自律走行型ロボット300と通信を行うための通信回路である。例えば、通信部110は、エリアの走行計画を自律走行型ロボット300に送信してもよい。通信部110は、広域通信ネットワークを介して通信を行うための通信回路と、局所通信ネットワークを介して通信を行うための通信回路とを備えてもよい。通信部110は、例えば、無線通信を行う無線通信回路である。通信部110が行う通信の通信規格については特に限定されない。
【0030】
なお、通信部110は、情報端末200とは近距離無線通信を行ってもよく、この場合、通信部110には、近距離無線通信を行う通信回路が含まれる。近距離無線通信の通信規格は、BLE(Blutooth(登録商標) Low Energy)またはWi-Fi(登録商標)などであるが、特に限定されない。
【0031】
[制御部]
制御部120は、位置センサ20により取得された自律走行型ロボット300の本体301の周囲の物体と本体301との位置関係、及び、自律走行型ロボット300が走行するエリアの地図を作成し、各種演算を行う。制御部120は、具体的には、プロセッサ、マイクロコンピュータ、又は、専用回路によって実現される。また、制御部120は、プロセッサ、マイクロコンピュータ、又は、専用回路のうちの2つ以上の組み合わせによって実現されてもよい。また、制御部120の機能は、制御部120を構成するマイクロコンピュータ又はプロセッサなどのハードウェアが記憶部130に記憶されたコンピュータプログラム(ソフトウェア)を実行することによって実現される。
【0032】
制御部120は、機能的な構成要素として、地図情報取得部121と、取得部122と、現在位置算出部123と、走行計画作成部124と、ずれ量算出部125と、データベース更新部126とを備える。これらの機能については、動作例にて説明する。
【0033】
[記憶部]
記憶部130は、制御部120が実行するコンピュータプログラムなどが記憶される記憶装置である。また、記憶部130は、通信部110及び制御部120で行われる情報処理により記憶する必要が生じた情報を一時的に記憶できる。記憶部130は、例えば、HDD(Hard Disk Drive)によって実現されるが、半導体メモリによって実現されてもよい。
【0034】
データベース132は、エリア毎にデータを紐づけて保存している。例えば、データベースは、自律走行型ロボット300の走行履歴に関する履歴情報、及び、エリアの次回の走行計画などをエリア毎に保存している。履歴情報は、例えば、走行計画に使用された折り返し幅と、走行計画に含まれる走行経路(以下では、目標ラインともいう)と、自律走行型ロボット300が実際に走行した走行経路(以下では、実際のラインともいう)と、自律走行型ロボット300の走行中に算出された最大ずれ量とを含む。最大ずれ量は、例えば、エリア毎又はエリアにおけるジグザグ走行の路(ラインともいう)毎に保存される。
【0035】
受付部140は、ユーザの指示(より詳細には、ユーザによる指示の入力操作)を受け付ける。受付部140は、例えば、タッチパネル、表示パネル、ハードウェアボタン、又は、マイクロフォンなどによって実現されてもよい。タッチパネルは、例えば、静電容量方式のタッチパネルであってもよく、抵抗膜方式のタッチパネルであってもよい。表示パネルは、画像の表示機能、及び、ユーザの手動入力を受け付ける機能を有し、液晶パネル又は有機ELパネルなどの表示パネルに表示されるテンキー画像などへの入力操作を受け付ける。マイクロフォンは、ユーザの音声入力を受け付ける。
【0036】
通知部150は、ユーザに走行計画に関する情報を通知する。走行計画に関する情報は、例えば、走行計画に基づいて自律走行型ロボット300がエリアを走行した走行結果に関する情報、及び、データベース132に保存された情報の少なくともいずれかである。具体的な通知例については、後述する。通知部150は、例えば、スピーカ、ランプ、及び、表示パネルの少なくともいずれかで実現される。スピーカは、音又は音声を出力する。ランプは、点灯又は点滅する。表示パネルは、液晶パネル又は有機ELパネルなどであり、画像を表示する。なお、通知部150は、ユーザが使用する情報端末200に走行計画に関する情報を通知してもよい。
【0037】
[1-2.情報端末]
続いて、情報端末200について説明する。情報端末200は、例えば、ユーザが使用するスマートフォン又はタブレット端末などの携帯型の情報端末(いわゆる、携帯型の情報端末)であるが、パーソナルコンピュータなどの据え置き型の情報端末であってもよい。また、情報端末200は、自律走行型ロボットシステム400の専用端末であってもよい。
【0038】
なお、
図1の例では、情報端末200は、走行計画作成装置100の機能を備えていないが、情報端末200が走行計画作成装置100の機能を備えてもよい。この場合、情報端末200は、アプリケーションプログラムを実行することにより、走行計画作成装置100の機能を実現してもよい。
【0039】
図1に示されるように、情報端末200は、通信部210と、制御部220と、記憶部230と、受付部240と、表示部250とを備える。以下、各構成について説明する。
【0040】
[通信部]
通信部210は、情報端末200がネットワーク10を介して走行計画作成装置100及び自律走行型ロボット300と通信を行うための通信回路である。通信部210は、広域通信ネットワークを介して通信を行うための通信回路と、局所通信ネットワークを介して通信を行うための通信回路とを備えてもよい。通信部210は、例えば、無線通信を行う無線通信回路である。通信部210が行う通信の通信規格については特に限定されない。
【0041】
[制御部]
制御部220は、受付部240への画像の表示制御、及び、ユーザにより入力された指
示の識別処理(例えば、音声による入力であれば、音声の認識処理)などを行う。制御部220は、例えば、マイクロコンピュータによって実現されてもよく、プロセッサによって実現されてもよい。
【0042】
[記憶部]
記憶部230は、制御部220が実行するための専用のアプリケーションプログラムなどが記憶される記憶装置である。記憶部230は、例えば、半導体メモリなどによって実現される。
【0043】
[受付部]
受付部240は、ユーザの指示(より詳細には、ユーザによる指示の入力操作)を受け付ける。より具体的には、受付部240は、ユーザの指示を走行計画作成装置100に送信するために行う入力操作を受け付ける。
【0044】
受付部240は、例えば、タッチパネル、表示パネル、ハードウェアボタン、又は、マイクロフォンなどによって実現されてもよい。タッチパネルは、例えば、静電容量方式のタッチパネルであってもよく、抵抗膜方式のタッチパネルであってもよい。表示パネルは、画像の表示機能、及び、ユーザの手動入力を受け付ける機能を有し、液晶パネル又は有機ELパネルなどの表示パネルに表示されるテンキー画像などへの入力操作を受け付ける。マイクロフォンは、ユーザの音声入力を受け付ける。
【0045】
[表示部]
表示部250は、走行計画作成装置100により出力された通知、及び、作成した走行計画などを表示する。表示情報は、例えば、ユーザへの通知、ユーザからの要求に応じて表示される情報などである。表示部250は、例えば、表示パネルで実現されてもよく、表示パネル及びスピーカで実現されてもよい。表示パネルは、例えば、液晶パネル又は有機ELパネルなどである。スピーカは、音又は音声を出力する。
【0046】
[1-3.自律走行型ロボット]
続いて、自律走行型ロボット300について説明する。
図3は、実施の形態に係る自律走行型ロボット300を斜め上方から見た斜視図である。
図4は、実施の形態に係る自律走行型ロボット300を裏面方向から見た外観を示す底面図である。以下では、自律走行型ロボット300が掃除ロボットである例を説明するが、あくまでも一例であり、この例に限られない。また、主として
図1の例を説明し、
図2の例については、
図1の例との差分を説明する。
【0047】
自律走行型ロボット300は、自律的に走行するロボットである。
図1に示される例では、自律走行型ロボット300は、走行するエリアの地図と、走行計画作成装置100で作成された走行計画とを取得し、取得した走行計画に基づいてエリアを自律的に走行する。
図2に示される例では、自律走行型ロボット300が走行計画作成装置100の機能を備えており、自機で作成した走行計画に基づいてエリアを自律的に走行する点で、
図1の例と異なる。
【0048】
図1~
図4に示されるように、自律走行型ロボット300は、例えば、各種の構成要素が搭載される本体301と、位置センサ302と、通信部310と、制御部320と、記憶部330と、センサ部340と、通知部350と、走行部360と、掃除部370とを備える。走行部360は、例えば、本体301を移動させる車輪361を有する。掃除部370は、例えば、エリアに存在するごみを掃除するサイドブラシ371及びメインブラシ372を有する。制御部320は、自律走行型ロボット300の動作に関する各種情報処理を行う。制御部320は、走行部360を制御する走行制御部328と、掃除部370を制御する掃除制御部329とを有する。本体301は、走行部360、掃除部370、及び、制御部320などを収容する筐体である。
【0049】
[走行部]
走行部360は、走行制御部328からの指示に基づき自律走行型ロボット300を走行させる。走行部360は、フロア上を走行する車輪361、車輪361にトルクを与える走行用モータ(不図示)及び走行用モータを収容するハウジング(不図示)などを有する。また、自律走行型ロボット300は、キャスタ362を補助輪として備えた対向二輪型であってもよい。この場合、走行部360は、一対の走行ユニットのそれぞれの車輪361の回転を独立して制御することで、前進、後退、左回転及び右回転など自律走行型ロボット300を自在に走行させることができる。
【0050】
[掃除部]
掃除部370は、掃除制御部329からの指示に基づき、フロア上の塵埃を吸引口373(
図4参照)から吸引し、本体301の内部に吸引した塵埃を本体301内に収容する。掃除部370は、サイドブラシ371及びメインブラシ372を回転させるブラシ回転モータ(不図示)、吸引口373からごみを吸引する吸引モータ(不図示)、これらのモータに電力を伝達する動力伝達部(不図示)、及び、吸引したごみを収容する収容部(不図示)などを備えている。
【0051】
[位置センサ]
位置センサ302は、自律走行型ロボット300の本体301の周囲の物体と本体301との位置関係を取得する。例えば、位置センサ302は、本体301の上面の中央に配置されており、自律走行型ロボット300と、自律走行型ロボット300の周囲に存在する壁などを含む物体との距離及び方向を含む位置関係を取得する。位置センサ302は、例えば、光を放射し障害物により反射して返ってきた光に基づいて位置関係(例えば、自己から物体までの距離及び方向)を取得するLiDAR(Light Detection And Ranging)、又は、レーザレンジファインダであってもよい。また、位置センサ302は、光の走査軸を1軸又は2軸有することにより、自律走行型ロボット300の周囲の所定の領域の二次元計測、又は、三次元計測を行ってもよい。なお、エリア内を自律走行型ロボット300で網羅的に走行させ、その際、位置センサ302が取得した前記距離及び前記位置関係に基づいてエリアの地図を作成することも可能である。このエリアの地図は、通信部310を介して走行計画作成装置100の地図情報取得部121に出力されてもよい。
【0052】
[センサ部]
センサ部340は、自律走行型ロボット300の周囲の物体を検知し、検知された物体に関するセンシングデータを取得する。例えば、
図3及び
図4に示されるように、センサ部340は、カメラ341と、障害物センサ342と、床面センサ343とを備える。
【0053】
カメラ341は、例えば、自律走行型ロボット300の周囲を撮像する撮像装置である。カメラ341は、画像を撮像してもよいし、動画像を撮像してもよい。カメラ341は、RGBカメラであってもよく、RGB-Dカメラであってもよい。
【0054】
障害物センサ342は、本体301の前方に(具体的には、進行方向側に)存在する障害物を検知するセンサである。障害物は、エリアを区画する壁以外の物体であり、自律走行型ロボット300の走行方向に位置し、自律走行型ロボット300の走行を妨げる物体である。本実施の形態では、障害物センサ342には、例えば、超音波センサが用いられる。障害物センサ342は、本体301の前側面の中央に配置される発信部342a、及び、発信部342aの両側にそれぞれ配置される受信部342bを有し、発信部342aから発信されて障害物によって反射して返ってきた超音波を受信部342bがそれぞれ受信することで、障害物までの距離、及び、障害物の位置等を検知することができる。なお、障害物センサ342として赤外線センサ等を用いてもよい。
【0055】
なお、自律走行型ロボット300は、上記のセンサ以外のセンサを備えていてもよい。例えば、本体301の底面の複数箇所に配置され、フロアとしての床面が存在するか否かを検出する床面センサ343を備えてもよい。また、走行部360に備えられ、走行用モータによって回転する一対の車輪361のそれぞれの回転角を検出するエンコーダを備えてもよい。また、自律走行型ロボット300が走行する際の加速度を検出する加速度センサ、自律走行型ロボット300が旋回する際の角速度を検出する角速度センサを備えてもよい。また、床面に堆積している塵埃の量を測定する塵埃量センサを備えてもよい。バンパ(不図示)の変位を検出して障害物が衝突したことを検出する接触センサを備えてもよい。
【0056】
[通信部]
図1に示されるように、通信部310は、自律走行型ロボット300がネットワーク10を介して走行計画作成装置100及び情報端末200と通信を行うための通信回路である。通信部310は、広域通信ネットワークを介して通信を行うための通信回路と、局所通信ネットワークを介して通信を行うための通信回路とを備えてもよい。通信部310は、例えば、無線通信を行う無線通信回路である。通信部310が行う通信の通信規格については特に限定されない。
【0057】
[制御部]
制御部320は、位置センサ302、及び、センサ部340によりセンシングして得られたセンサ情報と、エリアの地図とに基づいて各種演算を行う。制御部320は、具体的には、プロセッサ、マイクロコンピュータ、又は、専用回路によって実現される。また、制御部320は、プロセッサ、マイクロコンピュータ、又は、専用回路のうちの2つ以上の組み合わせによって実現されてもよい。また、制御部320の機能は、制御部320を構成するマイクロコンピュータ又はプロセッサなどのハードウェアが記憶部330に記憶されたコンピュータプログラム(ソフトウェア)を実行することによって実現される。
【0058】
制御部320は、機能的な構成要素として、取得部321と、自己位置算出部322と、地図情報取得部323と、障害物位置算出部324と、走行計画作成部326と、走行制御部328と、掃除制御部329とを備える。これらの機能については、動作例にて説明する場合がある。
【0059】
なお、
図2に示されるように、自律走行型ロボット300が走行計画作成装置100の機能を備える場合、制御部320は、さらに、ずれ量算出部325と、データベース更新部327を備える。ずれ量算出部325は、走行計画作成装置100のずれ量算出部125に対応し、データベース更新部327は、走行計画作成装置100のデータベース更新部126に対応する。
【0060】
[記憶部]
記憶部330は、制御部320が実行するコンピュータプログラムなどが記憶される記憶装置である。また、記憶部330は、通信部310及び制御部320で行われる情報処理により記憶する必要が生じた情報を一時的に記憶できる。記憶部330は、例えば、HDD(Hard Disk Drive)によって実現されるが、半導体メモリによって実現されてもよい。
【0061】
[通知部]
通知部350は、ユーザが使用する情報端末200に走行計画に関する情報を通知する。走行計画に関する情報については、通知部150で説明したため、ここでの説明を省略する。
【0062】
走行計画作成部326は、エリアの地図及び自己位置に基づいて、エリアの走行計画を作成する。例えば、自律走行型ロボット300が掃除ロボットである場合、走行計画作成部326は、さらに、掃除計画を作成してもよい。掃除計画には、エリア内の複数の掃除エリアを掃除する掃除順序、各掃除エリアにおける走行経路及び掃除態様などが含まれる。掃除態様は、例えば、自律走行型ロボット300の走行速度、床面上のごみを吸引する吸引強度、及び、ブラシの回転速度などの組み合わせである。
【0063】
なお、走行計画作成部326は、自律走行型ロボット300が走行計画に従って走行しているときに、障害物センサ342により障害物が検出されると、障害物位置算出部324により算出された障害物の位置に基づいて走行計画を変更してもよい。このとき、走行計画作成部326は、掃除計画も変更してもよい。
【0064】
障害物位置算出部324は、障害物センサ342により検知された障害物に関する情報(例えば、障害物の距離、及び、位置等)を取得し、取得された情報と、自己位置算出部322により算出された自己位置とに基づいて、フロア地図上での障害物の位置を算出する。
【0065】
走行制御部328は、自律走行型ロボット300が走行計画に従って走行するように、走行部360を制御する。より具体的には、走行制御部328は、走行計画に基づいて、走行部360の動作を制御するための情報処理を行う。例えば、走行制御部328は、走行計画に加え、地図(いわゆる、走行用の地図)及び自己位置などの情報に基づいて、走行部360の制御条件を導出し、制御条件に基づいて、走行部360の動作を制御するための制御信号を生成する。走行制御部328は、生成した制御信号を走行部360に出力する。なお、走行部360の制御条件の導出などの詳細については、従来の自律走行型ロボットと同様であるため、説明を省略する。
【0066】
掃除制御部329は、自律走行型ロボット300が掃除計画に従って掃除を行うように、掃除部370を制御する。より具体的には、掃除制御部329は、掃除計画に基づいて、掃除部370の動作を制御するための情報処理を行う。例えば、掃除制御部329は、掃除計画に加え、走行用の地図及び自己位置などの情報に基づいて、掃除部370の制御条件を導出し、制御条件に基づいて、掃除部370の動作を制御するための制御信号を生成する。掃除制御部329は、生成した制御信号を掃除部370に出力する。なお、掃除部370の制御条件の導出などの詳細については、従来の自律走行型掃除ロボットと同様であるため、説明を省略する。
【0067】
[2.動作]
続いて、実施の形態に係る走行計画作成装置100及び自律走行型ロボット300の動作について図面を参照しながら説明する。以下では、
図1に示される走行計画作成装置100及び自律走行型ロボット300の動作について説明する。
【0068】
[動作例1]
まず、実施の形態における自律走行型ロボットシステム400での動作例1について説明する。
図5は、実施の形態における自律走行型ロボットシステム400の動作例1を示すフローチャートである。このフローチャートは、本開示に係る走行計画作成方法を示しているとも言える。
【0069】
走行計画作成装置100の受付部140が、ユーザによる動作開始の指示の入力を受け付けると(不図示)、地図情報取得部121は、自律走行型ロボット300が走行するエリアの地図を制御部120から取得する(地図情報取得ステップS01)。このとき、自律走行型ロボット300の地図情報取得部323は、エリアAの地図を取得する。
【0070】
図6は、実施の形態に係るエリアの一例を示す説明図である。
図6では、1つのエリアAのみを自律走行型ロボット300が走行する場合を例示している。ステップS01では、走行計画作成装置100の地図情報取得部121は、例えば、
図6に示すエリアAの地図を取得する。なお、自律走行型ロボット300が複数のエリア(走行エリア)を走行する場合、地図情報取得ステップS01では、走行計画作成装置100の地図情報取得部121は、例えば、複数の走行エリアを含むエリアの地図を取得する。このように地図は、自律走行型ロボット300の走行用の地図であり、1つ以上の走行エリアの地図を含むものとする。
【0071】
次に、走行計画作成装置100の取得部122は、位置センサ20により取得された自律走行型ロボット300の本体301の周囲の物体と本体301との位置関係を取得する(位置関係取得ステップS02)。
図1では、走行計画作成装置100の取得部122は、位置センサ20から位置関係を取得する例を示しているが、取得部122は、自律走行型ロボット300の位置センサ302から位置関係を取得してもよい。このとき、自律走行型ロボット300の取得部321は、自律走行型ロボット300の本体301の周囲の物体と本体301との位置関係を位置センサ302から取得する。
【0072】
次に、走行計画作成装置100の現在位置算出部123は、地図及び位置関係に基づいて、地図上での自律走行型ロボット300の現在位置を算出する(現在位置算出ステップS03)。このとき、自律走行型ロボット300の自己位置算出部322は、地図及び位置関係に基づいて、地図上の本体301の現在位置である自己位置を算出する。
【0073】
次に、走行計画作成装置100の走行計画作成部124は、地図と、現在位置と、データベース132に保存された、エリアにおける自律走行型ロボット300のジグザグ走行の折り返し幅H1(
図6参照)とに基づいて、自律走行型ロボット300のエリアにおける走行経路を含む走行計画を作成する(走行計画作成ステップS04)。なお、複数のエリアを走行する場合には、走行計画作成部326は、各エリアの走行順序も含めて走行計画を作成する。
【0074】
走行計画作成ステップS04では、走行計画作成部124は、走行計画を作成すると、作成した走行計画を自律走行型ロボット300へ送信する。なお、自律走行型ロボット300が走行計画作成装置100の機能を備える場合(
図2参照)、走行計画作成部326は、走行計画を作成し、作成した走行計画を走行制御部328へ出力する。この場合においては、走行計画を取得する取得部は走行制御部328である。
【0075】
走行計画作成ステップS04では、走行計画作成部124は、エリアAにおける走行経路を含む走行計画を作成する。例えば、走行計画作成部124は、自律走行型ロボット300のジグザグ走行の折り返し幅H1をデータベース132から読み出す。走行計画作成部124は、読み出した折り返し幅H1と、エリアAの地図とから、エリアAにおける走行経路を作成する。具体的には、走行計画作成部124は、エリアAの地図から、当該エリアAの長手方向及び短手方向を取得する。
図6に示されるように本実施の形態では、エリアAの長手方向はX軸方向であり、短手方向はY軸方向である。走行計画作成部124は、長手方向(X軸方向)をジグザグ走行の主走査方向とし、短手方向(Y軸方向)をジグザグ走行の副走査方向として決定する。走行計画作成部124は、主走査方向のエリアAの長さに基づいて、ジグザグ走行の往路及び復路の長さを決定する。走行計画作成部124は、副走査方向のエリアAの長さと、折り返し幅H1とに基づいて、ジグザグ走行の折り返し回数を決定する。走行計画作成部124は、ジグザグ走行の往路及び復路の長さと、折り返し回数とに基づいて走行経路を作成する。例えば、
図6で示されるように走行計画に含まれる走行経路は、破線矢印で示された目標ラインL1である。
【0076】
図5のデータベース更新ステップS05では、走行計画作成装置100のデータベース更新部126は、現在位置及び走行経路に基づいて、エリアAの次回の走行計画の作成に使用するジグザグ走行の走行範囲と走行方向とをデータベース132に保存する。
【0077】
以降、データベース更新ステップS05の詳細について説明する。
図7は、実施の形態に係るデータベース更新ステップS05の流れを示すフローチャートである。
【0078】
図7に示されるように、データベース更新ステップS05では、走行計画作成装置100から送信された走行計画を自律走行型ロボット300が取得すると、当該走行計画に基づいて制御部320が走行部360を制御し、目標ラインL1に対応したジグザグ走行を開始する(ステップS11)。
【0079】
図8は、実施の形態に係る目標ラインL1と、自律走行型ロボット300が走行計画に基づいて走行した実走行経路L2とを示す説明図である。
図8では、実走行経路L2が実線矢印で示されている。
図8では、目標ラインL1の復路L12に対する実走行経路L2のみが図示されており、その他の実走行経路は、目標ラインL1に重なっているものとする。
【0080】
ここで、
図8に示されるエリアAの床面には、複数のタイルカーペットTがマトリクス状に敷き詰められている。
図8では、各タイルカーペットTの絨毯目が白抜きの矢印で図示されている。各タイルカーペットTは、それぞれの絨毯目が同じ方向を向くように配置される場合がある。
図8に示す目標ラインL1の往路L11では、いずれのタイルカーペットTの絨毯目がY軸プラス方向を向いているので、自律走行型ロボット300が単純にX軸プラス方向に進もうとすると、絨毯目の影響を受けて徐々に往路L11からずれてしまう。このずれを抑制すべく、自律走行型ロボット300の走行制御部328は、走行計画に加え、地図(いわゆる、走行用の地図)及び自己位置などの情報に基づいて、絨毯目に逆らいつつX軸方向に平行に走行するように、走行部360の動作を補正(第一補正)する。
【0081】
ところで、施工ミスが生じると絨毯目が反対方向を向くタイルカーペットT1も出現する。
図8に示す目標ラインL1の復路L12の中間部には、絨毯目が反対を向く2つタイルカーペットT1が並んで配置されている。この場合、復路L12の中間部までは、走行制御部328は、Y軸プラス方向を向く絨毯目に逆らいつつX軸方向に平行に走行するように、走行部360の動作を補正(第一補正)している。しかし、自律走行型ロボット300がタイルカーペットT1に進入すると、Y軸プラス方向を向く絨毯目に逆らう走行制御が、当該タイルカーペットT1のY軸マイナス方向を向く絨毯目により増幅されてしまい、実走行経路L2が復路L12から大きく位置ずれしてしまう(
図8の矢印Y1参照)。このように絨毯目を起因とした位置ずれが生じてしまうと、掃除が実行されない掃除残し箇所Rが発生しうる。なお、自律走行型ロボット300がタイルカーペットT1内に進入し、一定距離だけ進むと、走行制御部328は、当該タイルカーペットT1の絨毯目に逆らいつつX軸方向に平行に走行するように、走行部360の動作を補正(第二補正)する。第二補正は、第一補正とは逆方向の補正である。
【0082】
このため、絨毯目が反転したタイルカーペットT1がある場合においては、掃除残し箇所Rを低減させるべく、位置ずれ対策が必要である。
図9は、実施の形態に係る位置ずれ対策を示す説明図である。
【0083】
図9に示されるように、2つのタイルカーペットT1とともに、Y軸方向に並ぶ他のタイルカーペットTとからなる範囲では、ジグザグ走行の主走査方向をY軸方向にすればよい。当該範囲内では、絨毯目が反転するタイルカーペットT1が混在しているが、いずれの絨毯目もY軸方向に沿っている。このため、ジグザグ走行の主走査方向をY軸方向にすることで、絨毯目を起因とした位置ずれが生じにくくなり、掃除残し箇所も抑制される。この位置ずれ対策を次回の走行時に行うべく、ステップS11で開始された走行計画に基づく走行中に、位置ずれ対策を実行する第一範囲a11を決定する。
【0084】
図10は、実施の形態に係る位置ズレ範囲a20の一例を示す説明図である。
図10では、エリアAに対して折り返し回数が三回のジグザグ走行が行われる目標ラインL1が破線矢印で示されている。実線矢印は、走行計画に基づく実走行経路L2である。二点鎖線で囲まれた領域が、ずれ発生開始位置t1からずれ発生終了位置t2までの位置ズレ範囲a20である。つまり、位置ズレ範囲a20は、タイルカーペットT1が存在する範囲であり、位置ズレ範囲a20以外の範囲は、タイルカーペットTが存在する範囲であると言える。位置ズレ範囲a20をエリアAのY軸方向の全長に伸ばすことで、第一範囲a11が決定される。以降のステップでは、位置ズレ範囲a20が検出され、それに基づき第一範囲a11が決定される。
【0085】
図7のステップS12では、走行計画作成装置100の取得部122は、自律走行型ロボット300の本体301の周囲の物体と本体301との位置関係を取得し、現在位置算出部123は、地図及び位置関係に基づいて、地図上での自律走行型ロボット300の現在位置を算出する。このとき、走行計画作成装置100のずれ量算出部125は、自律走行型ロボット300の走行中に現在位置が目標ラインL1から外れたときのずれ量を算出する。
【0086】
ステップS13では、走行計画作成装置100のデータベース更新部126は、自律走行型ロボット300の走行中に算出されたずれ量が第二閾値以上であるか否かを判断する。第二閾値は第一閾値(後述)よりも小さい閾値である。データベース更新部126は、ずれ量が第二閾値以上である場合にはステップS14に移行し、ずれ量が第二閾値未満である場合にはステップS18に移行する。
【0087】
ステップS14では、データベース更新部126は、走行中のずれ量が第一閾値以上に切り替わる地点(第一地点)であるか否かを判断する。データベース更新部126は、ずれ量が第一閾値以上に切り替わった地点である場合にはステップS15に移行し、ずれ量が第一閾値未満のままである場合にはステップS16に移行する。
【0088】
ステップS15では、データベース更新部126は、ずれ量が第一閾値以上に切り替わる第一地点をずれ発生開始位置t1としてデータベース132に保存し、ステップS18に移行する。
【0089】
ステップS16では、データベース更新部126は、走行中のずれ量が第二閾値未満に切り替わる地点(第二地点)か否かを判断する。データベース更新部126は、ずれ量が第二閾値未満に切り替わる第二地点である場合にはステップS17に移行し、ずれ量が第二閾値以上のままである場合にはステップS18に移行する。
【0090】
ステップS17では、データベース更新部126は、ずれ量が第二閾値未満に切り替わる第二地点をずれ発生終了位置t2としてデータベース132に保存し、ステップS18に移行する。
【0091】
ステップS12~ステップS17でのずれ量の遷移について
図11に基づき説明する。
図11は、実施の形態に係る位置ズレ範囲a20を拡大して示す説明図である。白抜き矢印は絨毯目を示している。この
図11に示されるように、実走行経路L2の矢印Y21では、自律走行型ロボット300は第一補正が施されているので、目標ラインL1に対して位置ずれが生じていない。その後、自律走行型ロボット300は第一補正が施されたままタイルカーペットT1内に進入するため、目標ラインL1に対してY軸マイナス方向に位置ずれする(矢印Y22)。この移動時において、データベース更新部126は、ずれ量が第一閾値以上に切り替わる第一地点をずれ発生開始位置t1としてデータベース132に保存する。
【0092】
次いで、自律走行型ロボット300に対する補正が第一補正から第二補正へと切り替わると、自律走行型ロボット300はX軸マイナス方向に進行しながら目標ラインL1に徐々に復帰しようとする(矢印Y23)。
【0093】
次いで、自律走行型ロボット300は第二補正が施されたままタイルカーペットT内に進入するため、目標ラインL1に対してY軸プラス方向に位置ずれする(矢印Y24)。この移動時において、データベース更新部126は、ずれ量が第二閾値未満に切り替わる第二地点をずれ発生終了位置t2としてデータベース132に保存する。次いで、自律走行型ロボット300に対する補正が第二補正から第一補正へと切り替わると、自律走行型ロボット300はX軸マイナス方向に進行しながら目標ラインL1に徐々に復帰しようとする(矢印Y25)。
【0094】
図7のステップS18では、データベース更新部126は、エリアAに対するジグザグ走行が終了したか否かを判断する。データベース更新部126は、ジグザグ走行が終了していない場合にはステップS12に移行し、ジグザグ走行が終了した場合にはステップS19に移行する。
【0095】
ステップS19では、データベース更新部126は、エリアAを第一範囲及び第二範囲に分類する。
図12は、動作例1でエリアAを第一範囲a11及び第二範囲a12に分類した結果と、第一走行候補とを示す説明図である。
図12では、第一走行候補は実線の矢印で図示している。
【0096】
図12に示されるように、データベース更新部126は、ずれ発生開始位置t1からずれ発生終了位置t2までの位置ズレ範囲a20を、エリアAのY軸方向の全長に伸ばすことで、第一範囲a11を決定する。データベース更新部126は、エリアAのうち、第一範囲a11を含まない部分を第二範囲a12と決定する。
【0097】
ステップS20では、データベース更新部126は、第一範囲a11でのジグザグ走行の主走査方向を、第二範囲a12でのジグザグ走行の主走査方向とは90度異ならせる。
図12に示されるように、第二範囲a12でのジグザグ走行の主走査方向はX軸方向のままであるが、第一範囲a11でのジグザグ走行の主走査方向はY軸方向となる。
【0098】
ステップS21では、データベース更新部126は、第一走行候補をデータベース132に保存する。第一走行候補とは、次回の走行計画の作成の際に使用するジグザグ走行の走行範囲及び走行方向のことである。当該走行範囲は、ステップS19で分類した第一範囲a11及び第二範囲a12である。当該走行方向は、第一範囲a11での主走査方向及び第二範囲a12での主走査方向である。次回の走行計画を作成する際には、走行計画作成部124は、第一走行候補に基づきエリアAの走行計画を作成する。
【0099】
以上のように、動作例1によれば、ジグザグ走行の走行範囲が、ずれ発生開始位置t1からずれ発生終了位置t2までの第一範囲a11と、当該第一範囲a11を含まない第二範囲a12とに分類されている。これにより、位置ずれ対策が必要な第一範囲a11を特定できる。第一範囲a11での主走査方向は、第二範囲a12の主走査方向とは90度異なっていることで、第一範囲a11での位置ずれ対策が可能である。つまり、次回の走行計画の作成時には、位置ずれ対策が施された第一走行候補を用いることができるので、絨毯目を起因とした位置ずれを抑制できる。
【0100】
[動作例2]
動作例1では、エリアA内に位置ズレ範囲a20が1つのみ発生した場合を例示した。この動作例2では、エリアA内に位置ズレ範囲が複数発生する場合について説明する。
【0101】
図13は、実施の形態に係る複数の位置ズレ範囲a22、a23の一例を示す説明図である。
図13は、
図10に対応する図である。
図13では、位置ズレ範囲a22、a23内の実走行経路の図示を省略している。
図13に示されるように、動作例2では、データベース更新部126によって、位置ズレ範囲a22と、位置ズレ範囲a23との2つが検出され、それぞれのずれ発生開始位置t1とずれ発生終了位置t2とがデータベース132に保存される。
【0102】
この保存後においては、データベース更新部126は、エリアAを第一範囲a13及び第二範囲a14に分類する。この分類では、データベース更新部126は、位置ズレ範囲a22、a23のそれぞれを、エリアAのY軸方向の全長に伸ばすことで複数の第一範囲a13を決定する。データベース更新部126は、エリアAのうち、複数の第一範囲a13を含まない部分を複数の第二範囲a14と決定する。
【0103】
その後、データベース更新部126は、隣り合う2つの第一範囲a13の間隔Hが所定長さ以下であるか否かを判断し、所定長さよりも長い場合には、各第一範囲a13での主走査方向を、第二範囲a14での主走査方向とは90度異ならせる。一方、データベース更新部126は、隣り合う2つの第一範囲a13の間隔Hが所定長さ以下である場合には、当該2つの第一範囲a13が結合された結合範囲a30を作成する。なお、所定長さとしては、例えば、自律走行型ロボット300の幅(上面視において直進方向に直交する方向(左右方向)での長さ)、1つのタイルカーペットTの一辺の長さなどが挙げられる。
【0104】
図14は、動作例2でエリアAを結合範囲a30及び第二範囲a14に分類した結果と、第一走行候補とを示す説明図である。
図14は
図12に対応する図である。
図14に示されるように結合範囲a30は、隣り合う2つの第一範囲a13が結合された範囲である。厳密には、結合範囲a30は、隣り合う2つの第一範囲a13と、その間にある1つの第二範囲a14とが結合された範囲である。
【0105】
データベース更新部126は、結合範囲a30でのジグザグ走行の主走査方向を、第二範囲a14でのジグザグ走行の主走査方向とは90度異ならせる。
図14に示されるように、第二範囲a14でのジグザグ走行の主走査方向はX軸方向のままであるが、結合範囲a30でのジグザグ走行の主走査方向はY軸方向となる。その後、データベース更新部126は、結合範囲a30、第二範囲a14及びそれぞれの主走査方向を、第一走行候補としてデータベース132に保存する。次回の走行計画を作成する際には、走行計画作成部124は、第一走行候補に基づきエリアAの走行計画を作成する。
【0106】
以上のように、動作例2によれば、隣り合う2つの第一範囲a13の間隔Hが所定長さ以下であると当該2つの第一範囲a13が結合され結合範囲a30が作成される。結合範囲a30での主走査方向は、第二範囲a14での主走査方向とは90度異なっているので、結合範囲a30での位置ずれ対策が可能である。つまり、次回の走行計画の作成時には、位置ずれ対策が施された第一走行候補を用いることができるので、絨毯目を起因とした位置ずれを抑制できる。
【0107】
特に、動作例2では、隣り合う2つの第一範囲a13が結合範囲a30に含まれているので、位置ずれ対策が施された同一のジグザグ走行が一括して行われる。つまり、エリアA全体においては、ジグザグ走行の主走査方向の切り替え回数を抑制できるので、エリアA全体に対する走行時間を短縮化できる。
【0108】
ここで、
図15は、動作例2に係る結合範囲a30の他の例を示す説明図である。
図15は、
図14に対応する図である。
図15に示されるように、位置ズレ範囲a22、a23の一部同士が重複している場合には、これらの位置ズレ範囲a22、a23に対応した第一範囲a13も重複することになる。この場合においても、データベース更新部126は、隣り合う2つの第一範囲a13の間隔Hが所定長さ以下であると判定し、当該2つの第一範囲a13が結合された結合範囲a30を作成する。
【0109】
[動作例3]
動作例1では、第二範囲a12でのジグザグ走行の主走査方向を変更しない場合を例示した。動作例3では、第二範囲でのジグザグ走行の主走査方向を変更する場合について説明する。
【0110】
図16は、実施の形態に係る複数の位置ズレ範囲a24、a25の一例を示す説明図である。
図16は、
図10に対応する図である。
図16では、位置ズレ範囲a24、a25内の実走行経路の図示を省略している。
図16に示されるように、動作例3では、データベース更新部126によって、位置ズレ範囲a24と、位置ズレ範囲a25との2つが検出され、それぞれのずれ発生開始位置t1とずれ発生終了位置t2とがデータベース132に保存される。
【0111】
この保存後においては、データベース更新部126は、エリアAを第一範囲a15及び第二範囲a16に分類する。この分類では、データベース更新部126は、位置ズレ範囲a24、a25のそれぞれを、エリアAのY軸方向の全長に伸ばすことで複数の第一範囲a15を決定する。データベース更新部126は、エリアAのうち、複数の第一範囲a15を含まない部分を複数の第二範囲a16と決定する。その後、データベース更新部126は、各第一範囲a15での主走査方向を第二範囲a16での主走査方向とは90度異ならせる。
【0112】
その後、データベース更新部126は、第二範囲a16の長辺方向と、当該第二範囲a16での主走査方向とを比較し、一致している場合には、主走査方向を変更しない。一方、データベース更新部126は、第二範囲a16の長辺方向と、当該第二範囲a16での主走査方向とが異なっている場合には、当該第二範囲a16の主走査方向を長辺方向に一致させる。例えば、
図16の場合では、最もX軸マイナス方向に位置する第二範囲a16では、長辺方向(X軸方向)と主走査方向(X軸方向)とが一致しているので、当該第二範囲a16での主走査方向が変更されない。残り2つの第二範囲a16では、長辺方向(Y軸方向)と主走査方向(X軸方向)とが一致していないので、当該第二範囲a16での主走査方向が変更されて、長辺方向に一致される。
【0113】
図17は、実施の形態に係る動作例3でエリアAを第一範囲a15及び第二範囲a16に分類した結果と、第一走行候補とを示す説明図である。
図17は、
図12に対応する図である。
【0114】
図17に示されるように、最もX軸マイナス方向に位置する第二範囲a16での主走査方向はX軸方向であるが、その他の範囲(2つの第一範囲a15及び残り2つの第二範囲a16)での主走査方向はY軸方向である。その後、データベース更新部126は、第一範囲a15及び第二範囲a16のそれぞれの主走査方向を、第一走行候補としてデータベース132に保存する。次回の走行計画を作成する際には、走行計画作成部124は、第一走行候補に基づきエリアAの走行計画を作成する。
【0115】
以上のように、動作例3によれば、第一範囲a15での主走査方向を第二範囲a12の主走査方向とは90度異ならせることで、第一範囲a15での位置ずれ対策が可能である。つまり、次回の走行計画の作成時には、位置ずれ対策が施された第一走行候補を用いることができるので、絨毯目を起因とした位置ずれを抑制できる。
【0116】
これに加えて、第二範囲a16の長辺方向が第二範囲a16の主走査方向に一致していない場合には第二範囲a16の主走査方向が変更されて、長辺方向に一致されるので、当該第二範囲a16と、これに隣り合う第一範囲a15とのジグザグ走行が一括して行われる。つまり、エリアA全体においては、ジグザグ走行の主走査方向の切り替え回数を抑制できるので、エリアA全体に対する走行時間を短縮化できる。
【0117】
[動作例4]
動作例4では、第一走行候補に加えて、当該第一走行候補とは異なる第二走行候補も作成する場合について説明する。第二走行候補の作成時においては、データベース更新部126は、走行中のずれ量が最大となった場合に、当該ずれ量を最大ずれ量としてデータベース132に保存する。その後、データベース更新部126は、最大ずれ量に基づいてジグザグ走行の折り返し幅を算出する。具体的には、最大ずれ量があったとしても、その最大ずれ量が生じた箇所を自律走行型ロボット300が掃除残しなく走査しうる折り返し幅をデータベース更新部126が算出する。ここで算出される折り返し幅は、目標ラインL1での折り返し幅H1よりも小さくなる。つまり、第二走行候補では、ジグザグ走行の往路及び復路が目標ラインL1よりも密になる。
【0118】
図18は、実施の形態に係る第二走行候補の一例を示す説明図である。
図18では、第二走行候補を実線の矢印L20で示しており、目標ラインL1を破線の矢印で示している。このように、第二走行候補は、目標ラインL1よりも密なジグザグ走行となっている。
【0119】
データベース更新部126は、最大ずれ量に基づいて算出されたジグザグ走行の折り返し幅を含む、エリアAの次回の走行計画の作成に使用するジグザグ走行の走行範囲と走行方向とを第二走行候補としてデータベース132に保存する。
【0120】
走行計画作成部124は、データベース132から第一走行候補と第二走行候補とを読み出して、第一走行候補に基づく第一走行計画と、第二走行候補に基づく第二走行計画とを作成し、第一走行計画での第一実行時間と、第二走行計画での第二実行時間とのうち、短い方を選択する。第一実行時間と第二実行時間との取得は、具体的には、実際に自律走行型ロボット300を第一走行計画で走行させて第一実行時間を計測するとともに、自律走行型ロボット300を第二走行計画で走行させて第二実行時間を計測することで行ってもよい。また、第一走行計画及び第二走行計画のそれぞれをシミュ―レーションすることで第一実行時間及び第二実行時間を取得してもよい。
【0121】
このように、動作例4では、第一走行候補に基づく第一走行計画での第一実行時間と、第二走行候補に基づく第二走行計画での第一実行時間とのうち短い方が選択されるので、次回の走行については、位置ずれ対策をしつつも短時間な走行計画を図ることが可能である。
【0122】
なお、動作例1での第一走行候補、動作例2での第一走行候補、動作例3での第一走行候補のそれぞれについても、シミュレーションまたは実際に自律走行型ロボット300を走行させて、その走行時間を比較して、最短のものを採用してもよい。
【0123】
[動作例5]
動作例1では、ずれ量が第二閾値未満に切り替わる第二地点をずれ発生終了位置t2とする場合を例示した。動作例5では、ずれ量が第二閾値を下回った後に、エリアA内の絨毯目に対する補正の向きが反転した場合には、当該反転した第三地点を新たなずれ発生終了位置t2とする場合について説明する。
【0124】
図19は、実施の形態に係る第三地点の一例を示す説明図である。
図19は、
図11に対応する図である。
図19に示されるように、絨毯目が反転しているタイルカーペットT1は、4枚連続して配置されている。このような場合、動作例1のように第二地点をずれ発生終了位置t2としてしまうと、全てのタイルカーペットT1が位置ズレ範囲a20内に収まらない。これを防止すべく、動作例5では、第三地点を新たなずれ発生終了位置t2としている。
【0125】
具体的には、実走行経路L3の矢印Y31では、自律走行型ロボット300は第一補正が施されているので、目標ラインL1に対して位置ずれが生じていない。その後、自律走行型ロボット300は第一補正が施されたままタイルカーペットT1内に進入するため、目標ラインL1に対してY軸マイナス方向に位置ずれする(矢印Y32)。この移動時において、データベース更新部126は、ずれ量が第一閾値以上となる第一地点をずれ発生開始位置t1としてデータベース132に保存する。
【0126】
次いで、自律走行型ロボット300に対する補正が第一補正から第二補正へと切り替わると、自律走行型ロボット300はX軸マイナス方向に進行しながら目標ラインL1に徐々に復帰しようとする(矢印Y33)。この移動時において、データベース更新部126は、ずれ量が第二閾値未満に切り替わる第二地点をずれ発生終了位置t2としてデータベース132に保存する。
【0127】
その後、自律走行型ロボット300は目標ラインL1上でX軸マイナス方向に移動する(矢印Y34)。自律走行型ロボット300は第二補正が施されたままタイルカーペットT内に進入するため、目標ラインL1に対してY軸プラス方向に位置ずれする(矢印Y35)。自律走行型ロボット300に対する補正が第二補正から第三補正へと切り替わると、自律走行型ロボット300はX軸マイナス方向に進行しながら目標ラインL1に徐々に復帰しようとする(矢印Y36)。矢印Y35と矢印Y36とが切り替わる地点が第三地点であり、データベース更新部126は、この第三地点を新たなずれ発生終了位置t2としてデータベース132に保存する。これにより、全てのタイルカーペットT1に対応した位置ズレ範囲a40(ずれ発生開始位置t1(第一地点)から新たなずれ発生終了位置t2(第三地点)までの範囲)を設定できる。
【0128】
なお、第一補正と第二補正との切り替わりタイミングについては、自律走行型ロボット300自体で取得できるので、当該切り替わりタイミングを自律走行型ロボット300から走行計画作成装置100に出力すればよい。これにより、データベース更新部126は、ずれ量が第二閾値を下回った後に、エリアA内の絨毯目に対する補正の向きが反転したタイミング(切り替わりタイミング)を取得できる。
【0129】
[3.効果等]
以下、本明細書の開示内容から得られる技術を例示し、当該技術から得られる効果等について説明する。
【0130】
技術1は、自律走行型ロボットの走行計画を作成する走行計画作成装置であって、前記自律走行型ロボットが走行するエリアの地図を取得する地図情報取得部と、前記自律走行型ロボットの本体の周囲の物体と前記本体との位置関係を取得する取得部と、前記地図及び前記位置関係に基づいて、前記地図上での前記自律走行型ロボットの現在位置を算出する現在位置算出部と、前記地図と、前記現在位置と、データベースに保存された、前記エリアにおける前記自律走行型ロボットのジグザグ走行の走行範囲及び走行方向とに基づいて、前記自律走行型ロボットの前記エリアにおける走行経路を含む走行計画を作成する走行計画作成部と、前記現在位置及び前記走行経路に基づいて、前記エリアの次回の走行計画の作成に使用する前記ジグザグ走行の走行範囲と走行方向とを前記データベースに保存するデータベース更新部と、前記現在位置が前記走行経路から外れたときのずれ量を算出するずれ量算出部と備え、前記ジグザグ走行の走行方向は、主走査方向と、当該主走査方向に交差する副走査方向とを含み、前記データベース更新部は、前記主走査方向での前記自律走行型ロボットの走行中に算出されたずれ量が第一閾値以上に切り替わる第一地点を、ずれ発生開始位置として前記データベースに保存し、前記自律走行型ロボットの走行中に算出されたずれ量が第一閾値以上となった後に、前記第一閾値よりも小さい第二閾値未満に切り替わる第二地点を、ずれ発生終了位置として前記データベースに保存し、前記ジグザグ走行の走行範囲のうち、前記ずれ発生開始位置から前記ずれ発生終了位置までの第一範囲と、当該第一範囲を含まない第二範囲とに分類してから、前記第一範囲での前記主走査方向を前記第二範囲での前記主走査方向とは90度異ならせるとともに、前記第二範囲の長辺方向が前記第二範囲の前記主走査方向に一致していない場合には前記第二範囲の前記主走査方向を前記長辺方向に一致させることで、次回の走行計画の作成に使用する前記ジグザグ走行の走行範囲と走行方向とを第一走行候補として前記データベースに保存する。
【0131】
このような走行計画作成装置では、第一範囲での主走査方向を二範囲の主走査方向とは90度異ならせることで、第一範囲での位置ずれ対策が可能である。つまり、次回の走行計画の作成時には、位置ずれ対策が施された第一走行候補を用いることができるので、絨毯目を起因とした位置ずれを抑制できる。
【0132】
これに加えて、第二範囲の長辺方向が第二範囲の主走査方向に一致していない場合には第二範囲の主走査方向が変更されて、長辺方向に一致されるので、当該第二範囲と、これに隣り合う第一範囲とのジグザグ走行が一括して行われる。つまり、エリア全体においては、ジグザグ走行の主走査方向の切り替え回数を抑制できるので、エリア全体に対する走行時間を短縮化できる。
【0133】
技術2は、技術1の走行計画作成装置であって、前記データベース更新部は、前記ずれ量が前記第二閾値を下回った後に、前記エリア内の絨毯目に対する補正の向きが反転した場合には、反転した第三地点を新たなずれ発生終了位置として前記データベースに保存する。
【0134】
このような走行計画作成装置では、データベース更新部が、第三地点を新たなずれ発生終了位置としてデータベースに保存する。これにより、全てのタイルカーペットに対応した位置ズレ範囲(ずれ発生開始位置から新たなずれ発生終了位置までの範囲)をより確実に設定できる。
【0135】
技術3は、技術1または技術2に記載の走行計画作成装置であって、前記データベース更新部は、前記自律走行型ロボットの走行中に算出されたずれ量が最大となった場合、当該ずれ量を最大ずれ量として前記データベースに保存し、前記最大ずれ量に基づいて算出された前記ジグザグ走行の折り返し幅を含む、前記エリアの次回の走行計画の作成に使用する前記ジグザグ走行の走行範囲と前記走行方向とを第二走行候補として前記データベースに保存し、前記走行計画作成部は、前記第一走行候補に基づく第一走行計画と、前記第二走行候補に基づく第二走行計画とを作成し、前記第一走行計画での第一実行時間と、前記第二走行計画での第二実行時間とのうち、短い方を選択する。
【0136】
このような走行計画作成装置では、第一走行候補に基づく第一走行計画での第一実行時間と、第二走行候補に基づく第二走行計画での第一実行時間とのうち短い方が選択されるので、次回の走行については、位置ずれ対策をしつつも短時間な走行計画を図ることが可能である。
【0137】
技術4に係る自律走行型ロボットは、本体と、前記本体に配置され、前記本体を走行自在とする走行部と、前記本体が走行するエリアの地図を取得する地図情報取得部と、前記本体と前記本体の周囲の物体との位置関係を取得する位置センサと、前記地図及び前記位置関係に基づいて、前記地図上での前記本体の現在位置である自己位置を算出する自己位置算出部と、技術1~技術3のいずれか1つに記載の走行計画作成装置で作成された前記走行計画を取得する取得部と、前記走行計画に基づいて前記走行部を制御する走行制御部と、を備える。
【0138】
このような自律走行型ロボットでは、技術1~技術3のいずれかひとつと同様の効果を奏することができる。
【0139】
技術5は、自律走行型ロボットの走行計画を作成する走行計画作成方法であって、前記自律走行型ロボットが走行するエリアの地図を取得する地図情報取得ステップと、前記自律走行型ロボットの本体の周囲の物体と前記本体との位置関係を取得する位置関係取得ステップと、前記地図及び前記位置関係に基づいて、前記地図上での前記自律走行型ロボットの現在位置を算出する現在位置算出ステップと、前記地図と、前記現在位置と、データベースに保存された前記エリアにおける前記自律走行型ロボットのジグザグ走行の走行範囲及び走行方向とに基づいて、前記自律走行型ロボットの前記エリアにおける走行経路を含む走行計画を作成する走行計画作成ステップと、前記現在位置及び前記走行経路に基づいて、前記エリアの次回の走行計画の作成に使用する前記ジグザグ走行の走行範囲と走行方向とを前記データベースに保存するデータベース更新ステップと、前記現在位置が前記走行経路から外れたときのずれ量を算出するずれ量算出ステップと備え、前記ジグザグ走行の走行方向は、主走査方向と、当該主走査方向に交差する副走査方向とを含み、前記データベース更新ステップは、前記主走査方向での前記自律走行型ロボットの走行中に算出されたずれ量が第一閾値以上に切り替わる第一地点を、ずれ発生開始位置として前記データベースに保存し、前記自律走行型ロボットの走行中に算出されたずれ量が第一閾値を超えた後に、前記第一閾値よりも小さい第二閾値未満に切り替わる第二地点を、ずれ発生終了位置として前記データベースに保存し、前記ジグザグ走行の走行範囲のうち、前記ずれ発生開始位置から前記ずれ発生終了位置までの第一範囲と、当該第一範囲を含まない第二範囲とに分類してから、前記第一範囲での前記主走査方向を前記第二範囲での前記主走査方向とは90度異ならせるとともに、前記第二範囲の長辺方向が前記第二範囲の前記主走査方向に一致していない場合には前記第二範囲の前記主走査方向を前記長辺方向に一致させることで、次回の走行計画の作成に使用する前記ジグザグ走行の走行範囲と走行方向とを第一走行候補として前記データベースに保存する。
【0140】
このような走行計画作成方法では、第一範囲での主走査方向を二範囲の主走査方向とは90度異ならせることで、第一範囲での位置ずれ対策が可能である。つまり、次回の走行計画の作成時には、位置ずれ対策が施された第一走行候補を用いることができるので、絨毯目を起因とした位置ずれを抑制できる。
【0141】
これに加えて、第二範囲の長辺方向が第二範囲の主走査方向に一致していない場合には第二範囲の主走査方向が変更されて、長辺方向に一致されるので、当該第二範囲と、これに隣り合う第一範囲とのジグザグ走行が一括して行われる。つまり、エリア全体においては、ジグザグ走行の主走査方向の切り替え回数を抑制できるので、エリア全体に対する走行時間を短縮化できる。
【0142】
技術6は、技術5に記載の走行計画作成方法をコンピュータに実行させるためのプログラムである。
【0143】
このようなプログラムは、上記走行計画作成方法と同様の効果を奏する。
【0144】
(その他の実施の形態)
以上、実施の形態について説明したが、本開示は、上記実施の形態に限定されるものではない。
【0145】
例えば、上記実施の形態において、自律走行型ロボットシステム400は、単一の装置によって実現されてもよいし、複数の装置によって実現されてもよい。例えば、自律走行型ロボットシステム400は、自律走行型ロボット300に相当する単一の装置として実現されてもよい。自律走行型ロボットシステム400が複数の装置によって実現される場合、自律走行型ロボットシステム400が備える構成要素(特に、機能的な構成要素)は、複数の装置にどのように振り分けられてもよい。例えば、上記実施の形態において、走行計画作成装置100が備える機能的な構成要素(ずれ量算出部125及びデータベース更新部126)が自律走行型ロボット300によって備えられてもよい。
【0146】
例えば、走行計画作成装置100、及び、走行用地図作成機能を備える自律走行型ロボット300は、自律走行型ロボット300が走行するエリアの地図を取得して、エリアの走行用の地図の作成と、走行計画の作成とを並行して行ってもよい。
【0147】
例えば、走行計画作成機能を備える情報端末200は、例えばLiDAR SLAMを搭載したタブレット端末などの携帯型のコンピュータ装置を自律走行型ロボット300に載置して自律走行型ロボット300がエリアを走行することで、走行計画の作成と走行計画の修正とを並行して行ってもよい。
【0148】
例えば、実施の形態では、走行計画作成装置100により生成された走行計画は、ネットワーク10を介して、自律走行型ロボット300に送信される例を説明したが、これに限られない。例えば、走行計画作成装置100がネットワーク10を介して走行計画を情報端末200に送信し、情報端末200が取得した走行計画を、ネットワーク10を介して自律走行型ロボット300に送信してもよい。なお、ネットワーク10は、インターネットなどの広域通信ネットワークであるが、Wi-Fi(登録商標)などの局所通信ネットワークであってもよい。
【0149】
また、例えば、自律走行型ロボット300は、走行計画作成装置100により生成された走行計画が保存されたUSB(Universal Serial Bus)メモリなどを介して、走行計画を取得してもよい。
【0150】
また、上記実施の形態における装置間の通信方法については特に限定されるものではない。また、装置間の通信においては、図示されない中継装置が介在してもよい。
【0151】
また、上記実施の形態において、特定の処理部が実行する処理を別の処理部が実行してもよい。また、複数の処理の順序が変更されてもよいし、複数の処理が並行して実行されてもよい。
【0152】
また、上記実施の形態において、各構成要素は、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPU又はプロセッサなどのプログラム実行部が、ハードディスク又は半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
【0153】
また、各構成要素は、ハードウェアによって実現されてもよい。例えば、各構成要素は、回路(または集積回路)でもよい。これらの回路は、全体として1つの回路を構成してもよいし、それぞれ別々の回路でもよい。また、これらの回路は、それぞれ、汎用的な回路でもよいし、専用の回路でもよい。
【0154】
また、本発明の全般的または具体的な態様は、システム、装置、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよい。また、システム、装置、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
【0155】
例えば、本開示は、上記実施の形態に係る走行計画作成装置100、又は、自律走行型
自律走行型ロボット300として実現されてもよい。また、本開示は、自律走行型ロボットシステム400などのコンピュータが実行する走行計画作成方法として実現されてもよいし、このような走行計画作成方法をコンピュータに実行させるためのプログラムとして実現されてもよい。本開示は、このようなプログラムが記録されたコンピュータ読み取り可能な非一時的な記録媒体として実現されてもよい。
【0156】
その他、各実施の形態に対して当業者が思いつく各種変形を施して得られる形態、または、本開示の趣旨を逸脱しない範囲で各実施の形態における構成要素及び機能を任意に組み合わせることで実現される形態も本開示に含まれる。
【産業上の利用可能性】
【0157】
本開示は、自律的に走行するロボットに広く利用可能である。
【符号の説明】
【0158】
10 ネットワーク
20 位置センサ
100 走行計画作成装置
110 通信部
120 制御部
121 地図情報取得部
122 取得部
123 現在位置算出部
124 走行計画作成部
125 ずれ量算出部
126 データベース更新部
130 記憶部
132 データベース
140 受付部
150 通知部
200 情報端末
210 通信部
220 制御部
230 記憶部
240 受付部
250 表示部
300 自律走行型ロボット
301 本体
302 位置センサ
310 通信部
320 制御部
321 取得部
322 自己位置算出部
323 地図情報取得部
324 障害物位置算出部
325 ずれ量算出部
326 走行計画作成部
327 データベース更新部
328 走行制御部
329 掃除制御部
330 記憶部
332 データベース
340 センサ部
341 カメラ
342 障害物センサ
342a 発信部
342b 受信部
343 床面センサ
350 通知部
360 走行部
361 車輪
362 キャスタ
370 掃除部
371 サイドブラシ
372 メインブラシ
373 吸引口
400 自律走行型ロボットシステム
A エリア
a11、a13、a15 第一範囲
a12、a14、a16 第二範囲
a20、a22、a23、a24、a25、a40 位置ズレ範囲
a30 結合範囲
H 間隔
H1 幅
L1 目標ライン
L2、L3 実走行経路
L11 往路
L12 復路
R 箇所
S01 地図情報取得ステップ
S02 位置関係取得ステップ
S03 現在位置算出ステップ
S04 走行計画作成ステップ
S05 データベース更新ステップ
T、T1 タイルカーペット
t1 ずれ発生開始位置
t2 ずれ発生終了位置