JP5676039B1 - 自走式装置、自走式装置の制御方法、および、自走式装置の制御プログラム - Google Patents

自走式装置、自走式装置の制御方法、および、自走式装置の制御プログラム Download PDF

Info

Publication number
JP5676039B1
JP5676039B1 JP2014110059A JP2014110059A JP5676039B1 JP 5676039 B1 JP5676039 B1 JP 5676039B1 JP 2014110059 A JP2014110059 A JP 2014110059A JP 2014110059 A JP2014110059 A JP 2014110059A JP 5676039 B1 JP5676039 B1 JP 5676039B1
Authority
JP
Japan
Prior art keywords
self
propelled device
traveling
route
propelled
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014110059A
Other languages
English (en)
Other versions
JP2015225507A (ja
Inventor
融 空閑
融 空閑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP2014110059A priority Critical patent/JP5676039B1/ja
Priority to PCT/JP2014/072222 priority patent/WO2015181995A1/ja
Application granted granted Critical
Publication of JP5676039B1 publication Critical patent/JP5676039B1/ja
Publication of JP2015225507A publication Critical patent/JP2015225507A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0219Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory ensuring the processing of the whole working surface

Abstract

【課題】走行面に対する作業品質を改善しつつ、互いに隣接する場所の作業間隔を、より短くすることが可能な自走式装置、当該自走式装置の制御方法、および、当該自走式装置の制御プログラムを提供する。【解決手段】走行面に対して作業を行なう自走式装置100は、仮想的に設定された互いに隣接する平行な4本の走行経路のうちの2本目(たとえば、走行経路L2)または3本目(たとえば、走行経路L3)から走行を開始する。自走式装置は、走行中の走行経路から隣接する走行経路に移動しないように4本の走行経路(走行経路L1〜L4)を順に走行する。自走式装置100は、走行経路L1〜L4の4本の走行経路の走行が完了すると、次の4本の走行経路(走行経路L5〜L8)を同様の順序で走行する。【選択図】図4

Description

本開示は、自走式装置の制御に関し、特に、走行面に対して作業を行なう自走式装置の制御に関する。
近年、走行面に対して作業を行なう様々な自走式装置が開発されている。たとえば、特許文献1は、自走式の芝刈り機を開示している。当該芝刈り機は、所定の作業エリアに対し作業を行なう場合に、可能な限り走行距離を少なくすることを目的としている。当該芝刈り機は、所定の作業エリアを複数の平行な直線経路に分割し、これらの経路を順に走行する。当該芝刈り機は、走行中の経路から次の経路に移動するときに、2本以上の間隔を空けることで、余分な旋回動作を抑制する。
特許文献2は、自走式のロボット掃除機を開示している。当該ロボット掃除機は、掃除空間をセルに区画し、これらのセルをらせん状に走行することで、セルに対する掃除能力を向上させることを目的とする。
特開平10−320045号公報 特開2006−302252号公報
ところで、特許文献1が開示する芝刈り機や、特許文献2が開示するロボット掃除機の他に、走行面に散水しながらブラシがけを行なうことが可能な自走式装置がある。当該自走式装置は、ブラシよりも後ろに設けられたスキージを用いて、散水した水を回収する。このような自走式装置においては、旋回するときに生じる内輪差に起因して、散水した水を回収できないという問題がある。
ここで、特許文献2に開示するロボット掃除機は、らせん状に走行するので、内輪差が大きくなってしまう。このため、このロボット掃除機のような走行方法を上記の自走式装置に適用した場合には、水残りが生じてしまう。したがって、水残りが生じない自走式装置が望まれている。
一方で、当該自走式装置は、走行面に対する清掃を均一に仕上げるには、走行面が乾く前に隣接する場所を清掃する必要がある。すなわち、隣接する場所は、時間間隔を空けずに清掃される必要がある。
ここで、特許文献1が開示する芝刈り機は、複数の直線経路に分割された作業エリアを、2本以上の直線経路を飛ばしながら走行し、作業エリアの最後の直線経路まで進んでから、2列目の直線経路に戻る。このため、この芝刈り機のような走行方法では、隣接する直線経路間で清掃の時間間隔が空いてしまい、自走式装置は、走行面の清掃を均一に仕上げることができない。このため、走行面の清掃を均一に仕上げることが可能な自走式装置が望まれている。
本開示は上述のような問題点を解決するためになされたものであって、その目的は、走行面に対する作業品質を改善しつつ、互いに隣接する場所の作業間隔を、より短くすることが可能な自走式装置、当該自走式装置の制御方法、および、当該自走式装置の制御プログラムを提供することである。
一実施の形態に従うと、自走式装置を駆動するための駆動部と、自走式装置の走行中に走行面に対して作業を行なうための作業部と、駆動部を駆動して自走式装置の走行を制御するための走行制御部とを備える自走式装置が提供される。走行制御部は、仮想的に設定された互いに隣接する平行な4本の経路のうちの2本目または3本目から自走式装置の走行を開始させ、自走式装置が走行中の経路から隣接する経路に移動しないように4本の経路を順に走行させる。
好ましくは、自走式装置は、当該自走式装置の進行方向に存在する物体と当該自走式装置との間の距離を検出するための距離検出部をさらに備える。走行制御部は、距離が予め定められた距離よりも短くなった場合に、走行中の経路から次の経路に移動するように自走式装置を制御する。
好ましくは、作業部は、走行面に対して作業を行なうための第1の作業装置および第2の作業装置を含む。第1の作業装置は、第2の作業装置よりも、自走式装置の進行方向側に設けられている。
好ましくは、距離検出部は、経路に対して垂直な方向に存在する物体と自走式装置との間の距離をさらに検出する。自走式装置は、当該自走式装置が4本の経路のうちの4本目の経路に位置する場合に、経路に対して垂直な方向に存在する物体と自走式装置との間の距離を用いて、4本の経路の次に自走式装置が走行する経路の数を算出するための算出部と、経路の数が4本よりも少ない場合に、未走行の経路の走行順序を決定するための決定部とをさらに備える。
好ましくは、決定部は、走行中の経路から隣接する経路に移動しないように、未走行の経路の走行順序を決定する。
好ましくは、自走式装置は、自走式装置の位置を検出するための位置検出部をさらに備える。駆動部は、駆動輪を含む。走行制御部は、自走式装置の位置から特定された作業部の中心位置が、4本の経路の各経路内を通るように駆動輪を制御する。
他の実施の形態に従うと、自走式装置の制御方法が提供される。自走式装置は、自走式装置を駆動するための駆動部と、自走式装置の走行中に走行面に対して作業を行なうための作業部と、駆動部を駆動して自走式装置の走行を制御するための制御装置とを備える。制御方法は、仮想的に設定された互いに隣接する平行な4本の経路のうちの2本目または3本目から自走式装置の走行を開始させるステップと、自走式装置が走行中の経路から隣接する経路に移動しないように4本の経路を順に走行させるステップとを含む。
さらに他の実施の形態に従うと、自走式装置の制御プログラムが提供される。自走式装置は、自走式装置を駆動するための駆動部と、自走式装置の走行中に走行面に対して作業を行なうための作業部と、駆動部を駆動して自走式装置の走行を制御するための制御装置とを備える。制御プログラムは、制御装置に、仮想的に設定された互いに隣接する平行な4本の経路のうちの2本目または3本目から自走式装置の走行を開始させるステップと、自走式装置が走行中の経路から隣接する経路に移動しないように4本の経路を順に走行させるステップとを実行させる。
ある局面において、走行面に対する作業品質を改善しつつ、互いに隣接する場所の作業間隔を、より短くすることができる。
本発明の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解される本発明に関する次の詳細な説明から明らかとなるであろう。
第1の実施の形態に従う自走式装置の外観を概略的に表した図である。 第1の実施の形態に従う自走式装置の上側から見た透視図である。 旋回半径の違いによる、ブラシとスキージとの通過領域の違いを示した図である。 第1の実施の形態に従う自走式装置が作業領域を走行している様子を概略的に示した概念図である。 第1の実施の形態に従う自走式装置の主要なハードウェア構成を示すブロック図である。 第1の実施の形態に従う自走式装置の機能構成を示すブロック図である。 作業マップを中心とした座標系を示した図である。 車体を中心とした座標系を示した図である。 第1の実施の形態に従う自走式装置の平面図である。 第1の実施の形態に従う自走式装置が実行する処理の一部を表わすフローチャートである。 第1の実施の形態に従う自走式装置の清掃開始から終了までの大まかな処理の手順を示すフローチャートである。 第1の実施の形態に従う自走式装置の清掃処理の手順を示すフローチャートである。 第1の実施の形態に従う自走式装置の旋回処理の手順を示すフローチャートである。 残りの経路に対する走行順序の決定処理の手順を示すフローチャートである。
以下、図面を参照しつつ、本実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。なお、以下で説明される各実施の形態、および/または、各変形例は、選択的に組み合わされてもよい。
<第1の実施の形態>
[概要]
図1を参照して、第1の実施の形態に従う自走式装置100の概要について説明する。図1は、自走式装置100の外観を概略的に表した図である。
図1に示されるように、自走式装置100は、駆動輪35R,35Lと、駆動ユニット37と、レーザレンジファインダ39と、キャスタ41と、ブラシ43と、スキージ45と、ボタン47と、LCD(Liquid Crystal Display)49とを有する。
自走式装置100は、走行面に接触させたブラシ43を回転させつつ走行することで、走行面を清掃する。走行面は、たとえば、床面、地面などを含む。自走式装置100は、車体下面の前側(すなわち、進行方向側)に左右2つのキャスタ41を有する。また、自走式装置100は、車体下面の後ろ側(すなわち、進行方向の反対側)に左右2つの駆動輪35L,35Rを有する。2個のキャスタ41と、駆動輪35Lと、駆動輪35Rとの4個の車輪は接地し、自走式装置100を支持する。
自走式装置100は、車体下面にブラシ43、スキージ45、および水散布部(図示しない)を有する。水散布部は、床面に水を散布する。自走式装置100は、ブラシ43を回転させて床を磨き、スキージ45を通して汚水を回収しながら走行する。自走式装置100は、自走式装置100の周囲にある物体との距離を測定するレーザレンジファインダ39を車体の前面に設けられる。
自走式装置100は、内部に充電池(図示しない)を有し、走行、水の散布、ブラシの回転、汚水の回収を電力によって行なう。自走式装置100は、装置内部に洗浄タンクと、汚水タンクとを有する。自走式装置100は、予め洗浄タンクに注入した水を散布し、回収した汚水を汚水タンクに貯める。自走式装置100は、車体上面にボタン47を有し、自走式装置100のユーザのボタン押下を受けると清掃を開始する。また、自走式装置100は、車体上面にLCD49を有し、エラーの発生時などにエラー情報などをユーザに向けて表示する。
以下では、図2を参照して、自走式装置100が有する各構成についてさらに詳細に説明する。図2は、自走式装置100を上側から見た透視図である。図2には、駆動輪35Lと、駆動輪35Rと、ブラシ43と、スキージ45と、レーザレンジファインダ39との位置関係が示される。
駆動ユニット37は、駆動輪35Lを駆動するモータR(図示しない)と、駆動輪35Rを駆動するモータL(図示しない)と、駆動輪35Lの回転量を検出するエンコーダR(図示しない)と、駆動輪35Rの回転量を検出するエンコーダL(図示しない)とを有する。駆動輪35Lおよび駆動輪35Rの回転軸は、同軸上に設けられる。駆動輪35Lは、回転軸に設けられた駆動軸を介してモータLと接続される。当該モータLは、エンコーダLに電気的に接続される。モータLの回転数は、エンコーダLにより読み取られる。同様に、駆動輪35Rは、回転軸に設けられた駆動軸を介してモータRに接続される。当該モータRは、エンコーダRに電気的に接続される。モータRの回転数は、エンコーダRにより読み取られる。
レーザレンジファインダ39は、光学式の距離測定機である。レーザレンジファインダ39は、1軸のレーザ測距計を測距軸に垂直な回転軸に沿って回転させることで、平面内の各方位の距離を測定する。すなわち、レーザレンジファインダ39は、進行方向上に存在する物体と自走式装置100との間の距離(以下、「物体距離」とも称する。)を測定する。より具体的には、レーザレンジファインダ39は、自走式装置100の進行方向を中心とする左右±90度の視野を有し、所定の角度ごと(たとえば、1度ごと)に壁または障害物までの距離を測定する。これにより、レーザレンジファインダ39は、1スキャンで合計180個の距離情報を出力する。
ブラシ43は、水平面内で回転する円形のブラシである。ブラシ43は、ブラシ43の上方に設けられたブラシモータ(図示しない)によって回転駆動される。自走式装置100は、昇降機構(図示しない)を有し、当該昇降機構は、ブラシ43を上下方向(重力方向)に移動する。これにより、自走式装置100は、移動用にブラシを床面から離した状態と、清掃用にブラシを床面に接地させた状態とを切り替えることができる。
スキージ45は、三日月状の形状を有し、汚水を回収する機構を有する。スキージ45の外周は、板上のゴムで形成される。ゴムの下端は、床面に均一に押しつけられる。スキージ45の内部は、中空になっており、スキージ45の上方に設けられた配管と接続される。配管は、汚水タンクに接続され、汚水タンクから吸引ブロア(図示しない)へと接続される。吸引ブロアが稼働すると汚水タンク内が低圧になり、自走式装置100は、スキージ45を通して床面の水とゴミを回収する。スキージ45は、自走式装置100が走行しているときに、ブラシ43と同じ領域を通過するように設けられる。すなわち、ブラシ43とスキージ45とは、それらの中心が進行方向上に位置するように設けられる。
[自走式装置100の走行方法]
図3を参照して、自走式装置100の走行方法の概要について説明する。図3は、旋回半径の違いによる、ブラシ43とスキージ45との通過領域の違いを示した図である。
ブラシ43は、スキージ45よりも、自走式装置100の進行方向側に設けられる。このため、自走式装置100の折り返し時や旋回時に、内輪差が生じ、ブラシ43とスキージ45との間には通過領域に差がでる。すなわち、車体の前側にあるブラシ43に対して後ろ側にあるスキージ45が、内輪差の分だけ内側を通り、外側に水残りが生じる。自走式装置100は、床面を綺麗に清掃できないことになる。水残りの領域は、ブラシ43とスキージ45との前後の距離が大きいほど、自走式装置100の内輪差が大きいほど、旋回半径が小さいほど、大きくなる。
図3(A)および図3(B)には、自走式装置100の折り返し時における水残りの様子が示される。図3(A)および図3(B)の例においては、自走式装置100は、紙面の上方向に進行し、紙面の左側の走行経路に向かって180度旋回している。
図3(A)には、水を散布するブラシ通過領域61と、散布した水を回収するスキージ通過領域63とが示される。図3(A)に示されるように、自走式装置100の折り返し幅が走行経路の幅と同じであると、ブラシ通過領域61がスキージ通過領域63から大きくはみ出し、水が回収されない領域が残る。
図3(B)には、水を散布するブラシ通過領域65と、散布した水を回収するスキージ通過領域67とが示される。図3(B)に示されるように、自走式装置100の折り返し幅が走行経路の幅の2倍にすると、ブラシ通過領域65がスキージ通過領域67に覆われて、自走式装置100は、もれなく水を回収できる。
このように、水残りを少なくするには、旋回半径をなるべく大きくする走行方法が有効である。このため、本実施の形態に従う自走式装置100は、以下で説明するように、走行中の経路から隣接する経路に移動しないように旋回する。これにより、旋回半径が大きくなり、自走式装置100は、水残しを無くすことができる。
[自走式装置100の走行経路]
図4を参照して、自走式装置100の走行経路について説明する。図4は、自走式装置100が作業領域50を走行している様子を概略的に示した概念図である。
図4には、自走式装置100が清掃を行なう作業領域50が示される。自走式装置100は、作業領域50に仮想的な走行経路を設定し、設定した走行経路上を走行する。作業領域50は、たとえば、屋内領域における壁で囲まれた平坦な床である。一例として、作業領域50は、略四角形の形状を有する。
自走式装置100は、仮想的に設定された互いに隣接する平行な4本の走行経路のうちの2本目または3本目から走行を開始し、自走式装置100が走行中の走行経路から隣接する走行経路に移動しないように4本の走行経路を順に走行する。自走式装置100は、その4本の走行経路の走行が完了すると、次の4本の走行経路を同様の順序で走行する。自走式装置100は、4本の走行経路ごとに作業を行なうため、隣接する走行経路の作業時間を短くすることができ、床面が乾く前に隣接する走行経路を清掃することができる。この結果、自走式装置100は、床面の清掃を均一に仕上げることができる。
また、自走式装置100は、走行中の走行経路から隣接する走行経路に移動しないように走行することで、折り返し動作の半径を走行経路の間隔よりも大きくすることができる。これにより、内輪差が小さくなり、水残しが減る。また、自走式装置100は、旋回半径を大きくすることで、旋回可能な最小半径に制限されずに走行することができる。
以下では、自走式装置100が仮想的な8本の走行経路L1〜L8を走行する例について説明する。走行経路L1〜L8は、互いに平行であり、互いに隣接する。なお、以下では、説明を簡単にするために、自走式装置100が設定した走行経路に平行な方向を「経路方向」とも称し、走行経路に垂直な方向を「経路垂直方向」とも称する。
自走式装置100が走行する走行経路の順序は、4本の走行経路ごとに一定である。すなわち、自走式装置100は、4本の走行経路を単位として、走行経路ごとに作業を行なう。
より具体的には、自走式装置100は、まず、走行経路L1〜L4の4本を走行単位52として設定する。自走式装置100は、走行単位52のうちの2本目の走行経路L2から走行を開始する。自走式装置100は、走行経路L2を経路方向に進行し、走行経路L2の終端に到達すると、走行単位52の走行経路のうちの走行経路L2に隣接しない経路に移動する。すなわち、自走式装置100は、走行経路L2から走行経路L4に移動する(図4の(1))。
同様に、自走式装置100は、走行経路L4を経路方向に進行し、走行経路L4の終端に到達すると、走行単位52の走行経路のうちの走行経路L4に隣接しない経路に移動する。すなわち、自走式装置100は、走行経路L4から走行経路L1に移動する(図4の(2))。
同様に、自走式装置100は、走行経路L1を経路方向に進行し、走行経路L1の終端に到達すると、走行単位52の走行経路のうちの走行経路L1に隣接しない経路に移動する。すなわち、自走式装置100は、走行経路L1から走行経路L3に移動する(図4の(3))。
走行単位52に対する清掃作業が完了すると、自走式装置100は、次の走行単位54に移動する。自走式装置100は、走行単位54のうちの2本目の走行経路L6から走行を開始する。自走式装置100は、走行単位52の走行経路L1〜L4に対して行った順序で、走行単位54の走行経路L5〜L8を走行する。
なお、自走式装置100は、走行経路の終端に到達したか否かを、経路方向における物体距離に基づいて判断する。すなわち、自走式装置100は、物体距離が予め定められた距離よりも短くなった場合に、走行中の走行経路から次の走行経路に移動する。これにより、自走式装置100は、障害物を含む未知の地形であっても自動的に走行することができる。
また、上記では、走行単位の2本目の走行経路から走行を開始する例について説明を行なったが、自走式装置100は、走行単位の3本目の走行経路から走行を開始するように構成されてもよい。
[ハードウェア構成]
図5を参照して、第1の実施の形態に従う自走式装置100のハードウェア構成の一例について説明する。図5は、自走式装置100の主要なハードウェア構成を示すブロック図である。図5に示されるように、自走式装置100は、駆動部4と、センサ5と、作業部6と、操作部7と、出力部8と、GPS(Global Positioning System)9と、GPSアンテナ9Aと、コンピュータ20とを備える。コンピュータ20は、ROM(Read Only Memory)1と、CPU(Central Processing Unit)2と、RAM(Random Access Memory)3と、記憶装置10と、I/O(Input/Output)21〜26とを含む。ROM1と、CPU2と、RAM3と、記憶装置10と、I/O21〜26とは、互いにバスで接続されている。
ROM1は、オペレーティングシステム(OS:Operating System)、自走式装置100の起動時に実行される初期プログラム(ブートプログラム)などを格納する。CPU2は、ROM1や記憶装置10などに格納された、オペレーティングシステムや自走式装置100の制御プログラムなどの各種プログラムを実行することで、自走式装置100の動作を制御する。また、CPU2は、後述する制御手順を所定の制御周期ごとに行ない、所定の走行経路に沿って自走式装置100を走行させる。RAM3は、CPU2でプログラムを実行するためのワーキングメモリとして機能し、プログラムの実行に必要な各種データを一時的に格納する。
駆動部4は、I/O21を介してコンピュータ20に接続される。駆動部4は、自走式装置100を駆動する。駆動部4は、たとえば、駆動輪35Lおよび駆動輪35R(図1、2参照)を含む。駆動部4は、当該駆動部4を駆動するモータ(上述のモータL、モータR)と、エンコーダ(上述のエンコーダL、エンコーダR)とに接続される。駆動部4は、モータが指令電圧をCPU2から受けて所望の速度で回転する。CPU2は、エンコーダからの入力により駆動部4の回転量を計測しRAM3に記憶する。なお、駆動部4は、駆動輪ではなく、ロボットの足などで構成されてもよい。これにより、自走式装置100は、二足歩行または四足歩行を行ないながら床面に対する作業を行なう。
センサ5は、I/O22を介してコンピュータ20に接続される。センサ5は、進行方向に存在する物体と自走式装置100との間の距離(すなわち、物体距離)を検出する。センサ5は、たとえば、レーザレンジファインダ39(図1、2参照)を含む。センサ5は、CPU2に接続され、周囲の物体との距離情報をCPU2からの読み出しに応じて出力する。なお、距離の検出は、他の方法で検出されてもよい。たとえば、センサ5は、ステレオ視を行なう2つのカメラによって物体距離を検出してもよい。
作業部6は、I/O23を介してコンピュータ20に接続される。作業部6は、床面に対して予め定められた作業を行なう。たとえば、作業部6は、ブラシ43と、スキージ45(図1、2参照)とを含む。作業部6は、当該作業部6を駆動するモータ、当該作業部6を上下方向に動作させる昇降機構、および、吸引ブロアと接続される。CPU2は、作業部6の回転、停止および昇降を制御する。なお、作業部6は、ブラシ43と、スキージ45との代わりに、以下の第2の実施の形態に従う自走式装置100Aのように農耕機に設けられる農耕用の作業部や、以下の第3の実施の形態に従う自走式装置100Bのように芝刈りユニットを含んでもよい。
操作部7は、I/O24を介してコンピュータ20に接続される。操作部7は、自走式装置100に対するユーザ操作を受け付ける。操作部7は、清掃の開始指示を受け付けるボタン47(図1、2参照)を含む。なお、操作部7は、タッチパネルなどによって構成されてもよい。
出力部8は、I/O25を介してコンピュータ20に接続される。出力部8は、自走式装置100は、車体上面にLCD49を有し、エラーの発生時などにエラー情報などを表示する。なお、出力部8は、音声によりエラー情報を発するように構成されてもよい。
GPS9は、I/O26を介してコンピュータ20に接続される。また、GPS9には、GPSアンテナ9Aが接続される。GPS9は、GPSアンテナ9Aを介して、GPS信号または基地局からの位置信号(測位信号)を受信する。自走式装置100は、受信したGPS信号または位置信号から現在位置を算出する。また自走式装置100は、GPSアンテナ9Aを介して、他の通信機器とデータの送受信を行なう。他の通信機器は、たとえば、スマートフォン、パソコン、サーバ装置、その他通信機能を有する電子機器などである。
記憶装置10は、たとえば、eMMC(Embedded MultiMediaCard)などの記憶媒体を含む。記憶装置10は、本実施の形態に従う各種の処理を実現するためのプログラムなどを格納する。また、記憶装置10は、オペレーティングシステムなどのプログラムを格納していてもよい。また、記憶装置10は、自走式装置100が清掃を行なう範囲を示す作業マップ11を格納する。作業マップ11の詳細については後述する。
[機能構成]
図6を参照して、自走式装置100の機能構成の一例について説明する。図6は、自走式装置100の機能構成を示すブロック図である。自走式装置100のCPU2は、位置検出部210と、距離検出部220と、算出部230と、決定部240と、走行制御部250とを含む。
位置検出部210は、自走式装置100の位置(以下、「現在位置」とも称する。)を検出する。現在位置の推定方法の詳細については後述する。位置検出部210は、検出した現在位置を走行制御部250に出力する。
距離検出部220は、進行方向に存在する物体と自走式装置100との間の距離(すなわち、物体距離)を検出する。より具体的には、距離検出部220は、走行経路の終端を検出するために、走行経路の直進中に、経路方向の物体距離を検出する。距離検出部220は、経路方向の物体距離を走行制御部250に出力する。また、距離検出部220は、残りの経路数を検出するために、走行経路を走行する間、経路垂直方向の物体距離を検出し、その最小値を記憶する。距離検出部220は、記憶している経路垂直方向の物体距離の最小値を算出部230に出力する。
算出部230は、自走式装置100が4本の走行経路のうちの4本目の走行経路に位置する場合に、経路垂直方向に存在する物体と自走式装置100との間の距離を用いて、現在の走行単位(4本の走行経路)の次に走行する経路の経路数を算出する。すなわち、算出部230は、残りの経路数を算出する。残りの経路数は、経路垂直方向の物体距離(残り幅)を経路幅で割ることにより算出される。自走式装置100は、残りの経路数を算出することにより、予め作業領域を決定する必要がなくなり、任意の作業領域を清掃できるようになる。算出部230は、算出した残り経路数を決定部240に出力する。
決定部240は、残りの経路数が4本よりも少ない場合に、未走行の経路の走行順序を決定する。好ましくは、決定部240は、走行中の経路から隣接する経路に移動しないように、未走行の経路の走行順序を決定する。これにより、自走式装置100は、残りの走行経路についても、旋回半径を経路幅以上に保つことができる。この結果、自走式装置100は、作業範囲の合計の経路数が4の倍数では無いときであっても、床面を綺麗に清掃することができる。
走行制御部250は、駆動部4を駆動して自走式装置100の走行を制御する。走行制御部250は、仮想的に設定された互いに隣接する平行な4本の経路のうちの2本目または3本目から自走式装置100の走行を開始させ、自走式装置100が走行中の経路から隣接する経路に移動しないように4本の経路を順に走行させる。好ましくは、走行制御部250は、自走式装置100の現在位置から特定された作業部6の中心位置が、各走行経路の内側を通るように駆動部4を制御する。すなわち、走行制御部250は、作業部6が走行経路内の予め定められた場所(たとえば、走行経路の中心)を通るように駆動部4を制御する。これにより、自走式装置100は、作業部6が作業領域内を均等に通過するため、床面の清掃を綺麗に仕上げることができる。
[作業マップ座標系]
図7を参照して、作業マップ11(図5参照)を中心とした自走式装置100の現在位置の算出方法について説明する。図7は、作業マップ11を中心とした座標系を示した図である。
自走式装置100は、作業を行なう範囲を示した作業マップ11を記憶装置10に記憶している。作業マップ11は、予め定められた記憶されていてもよいし、外部のサーバから配信されてもよいし、自走式装置100が周囲を探索することにより作成されてもよい。自走式装置100は、作業マップ11のy軸に沿って、すなわち四角形の辺に略平行に、往復走行する。作業マップ11は、x、y軸の2次元の格子状で示される。各格子には、作業領域か壁かの種別が設定されている。格子寸法は、たとえば、50mmである。
作業マップ11は、たとえば、座標値で定義される。一例として、自走式装置100は、図7に示されるように、作業マップ11において、作業領域の上端(x軸のプラス方向)をx座標GMXPとして定義する。自走式装置100は、作業マップ11において、作業領域の下端(x軸のマイナス方向)をx座標GMXMとして定義する。自走式装置100は、作業領域の左端(y軸のプラス方向)を作業領域の左端をy座標GMYPとして定義する。自走式装置100は、作業領域の左端(y軸のマイナス方向)をy座標GMYMとして定義する。
位置検出部210(図6参照)は、レーザレンジファインダ39から得られた物体距離と、駆動輪35L,35Rに接続されるエンコーダから得られた駆動輪35L,35Rの回転量とを基にして、自走式装置100の位置を推定処理を行ない、作業マップ11上での現在位置を算出する。現在位置の推定処理の手法としては、たとえば、特開2009−223757号公報に記載されたものが用いられる。他にも、現在位置は、GPSなどを用いて検出されてもよい。
位置検出部210は、自走式装置100の走行中に、所定の制御周期ごとに位置検出処理を行ない、作業マップ11上における自走式装置100の現在位置を逐次更新する。自走式装置100の現在位置GPは、たとえば、座標値(GPX,GPY)と、進行方向GPθとで示される。現在位置GPのx座標(すなわち、GPX)は、作業マップ11上のx軸に対応する。現在位置GPのy座標(すなわち、GPY)は、y軸に対応する。現在位置GPにおける進行方向GPθは、作業マップ11上のx軸と車体の進行方向とによってなされる角度である。進行方向GPθは、反時計回りがプラス方向として定義され、反時計回りがマイナス方向として定義される。進行方向GPθは、たとえば、単位をラジアンとして定義される。
また、位置検出部210は、自走式装置100の現在位置GPを更新するたびに、作業マップ11上におけるブラシ43の現在位置GBを検出する。ブラシ43の現在位置GBは、現在位置GP(GPX,GPY,GPθ)と、後述の車体座標系におけるブラシ43の位置PB(PBX,PBY)とを組み合わせて、ブラシ43の現在位置GBを更新する。ブラシ43の現在位置GBは、以下の式(1)および式(2)から算出される。
GBX=GPX+PBX×cos(GBθ)+PBY×sin(GBθ)・・・(1)
GBY=GPY−PBX×sin(GBθ)+PBY×cos(GBθ)・・・(2)
[車体座標系]
図8を参照して、自走式装置100の車体を中心とした各構成の位置について説明する。図8は、自走式装置100の車体を中心とした座標系を示した図である。
自走式装置100は、予め車体の寸法などを記憶しており、後述の各処理に利用する。自走式装置100は、車体を中心とした車体座標系において、駆動輪35Lの位置PL(PLX,PLY)、駆動輪35Lの位置PR(PRX,PRY)、ブラシ43の位置PB(PBX,PBY)を記憶している。
車体座標系は、図8に示されるように、自走式装置100の上側から見た水平面上の2次元の座標系である。車体座標系の原点は、たとえば、駆動輪35L,35Rの回転軸線と、ブラシ43の回転軸の中央から駆動輪35L,35Rの回転軸線に向かって引いた垂線との交点である。車体座標系のx軸は、駆動輪35L,35Rの回転軸線に垂直な原点を通る線である。x軸は、自走式装置100の進行方向をプラス、進行方向の反対方向をマイナスとする。車体座標系のy軸は、駆動輪35L,35Rの回転軸線と一致し、車体左方向をプラス、右方向をマイナスとする。自走式装置100の回転方向を示す方位角は、x軸のプラス方向(進行方向)を0度とし、反時計回りをプラス、時計回りをマイナスとする。
車体座標系における駆動輪35Lの位置PL(PLX,PLY)は、駆動輪35L,35Rの回転軸上に位置し、駆動輪35Lの中心位置を示す。車体座標系における駆動輪35Rの位置PR(PRX,PRY)は、駆動輪35R、35Rの回転軸上に位置し、駆動輪35Rの中心位置を示す。上記の定義から、PLX=0、PRX=0である。ブラシ43の位置PBは、ブラシ43の回転軸中央の位置である。上記の定義から、PBY=0である。
[変数]
以下、自走式装置100が記憶する変数について説明する。下記の各変数は、たとえば、自走式装置100のRAM3に格納される。
自走式装置100は、変数として、速度計算を行なう周期である制御周期を予め記憶している。当該制御周期は、たとえば、50msである。自走式装置100は、さらに、駆動輪の最高速度VMaxを予め記憶している。
自走式装置100は、さらに、清掃条件を示す変数として、清掃速度PV、走行経路の経路幅PW、経路垂直方向Pφ、清掃終了位置GEを予め記憶している。経路垂直方向Pφは、往復走行において折り返しを繰り返して累積的に進む方向を表わす方位角である。上記の清掃条件は、自走式装置100に対してユーザによって予め入力される。
自走式装置100は、さらに、後述の往復走行のために以下の変数を記憶している。自走式装置100は、真偽の2値で示される最終フラグFFを記憶している。自走式装置100は、経路番号PNを記憶している。経路番号PNは、1以上の整数である。
自走式装置100は、さらに、経路方向Pθ、残り幅PW2、最小残り幅PW3、次経路番号PNN、旋回方向PRD、旋回半径PRRを記憶している。経路方向Pθは、往復走行の直線部分での進行方向を表わす方位角である。経路方向Pθは、単位ラジアンで表現され、走行経路を折り返すたびにπずつ変化する。経路方向Pθは、経路垂直方向Pφと常に直交する。図8において経路垂直方向Pφは、上方向を指す。自走式装置100が走行経路L2(図4参照)を走行するとき、経路方向Pθは、右方向を指す。旋回方向PRDは、回転方向を表す符号値であり、+1または−1のいずれかの値で示される。旋回方向PRDが+1であるとき、自走式装置100は、上面から見て反時計回りに旋回する。旋回方向PRDが−1であるとき、自走式装置100は、上面から視て時計回りに旋回する。自走式装置100の現在位置GP、ブラシ43の現在位置GB、作業開始位置GS、清掃終了位置GE、および後述の旋回中心GRCは、作業マップ11上の座標および方位として示される。経路方向Pθ、経路垂直方向Pφは、作業マップ11上の方位として示される。
自走式装置100は、走行経路の走行順序を示した列順テーブルPTを記憶している。当該列順テーブルPTは、整数を要素とする長さが可変の配列である。自走式装置100は、列順テーブルPTを参照して任意のn番目の要素を読み出す。本説明では、列順テーブルPTは、たとえば、(1,5,3)のように示される。この配列は、1番目の要素が1、2番目の要素が5、3番目の要素が3であり、この配列の要素数は、3である。自走式装置100は、走行経路L1、走行経路L5、走行経路L3の順に走行する。
[自走式装置100の速度の算出方法]
図9および図10を参照して、自走式装置100の速度の算出方法について説明する。図9は、自走式装置100の平面図である。図10は、自走式装置100が実行する処理の一部を表わすフローチャートである。
自走式装置100のCPU2は、各走行経路に沿ってブラシ43の現在位置GBにおける速度がVBLになるように、駆動輪35Lの速度VLと、駆動輪35Rの速度VRを算出する。CPU2は、駆動輪35Lを駆動するモータLに速度VLを出力する。CPU2は、駆動輪35Rを駆動するモータRに算出した速度VRを出力する。ブラシ43の速度VBLは、ブラシ43のx軸方向の速度を示すVBLXと、ブラシ43のy軸方向の速度を示すVBLYとの2値で示される。以下のステップS3〜ステップS13における自走式装置100の速度は、位置検出部210(図6参照)から得られた現在値に基づいて、走行制御部250(図6参照)によって決定される。
ステップS3において、CPU2は、自走式装置100の速度IVと、自走式装置100が進行する方向を示す方位Iθとを、下記の式(3)および式(4)を用いて算出する。下記のVBLX,VBLYは、後述する旋回処理および直進処理により決定され、ステップS68においてCPU2から参照される。
Iθ=Atan2(VBLX,VBLY)・・・(3)
IO=√(VBLX^2 + VBLY^2)・・・(4)
式(3)のAtan2(x,y)は、車体座標系における原点から座標値(x,y)に向かう方位角(単位はラジアン)を算出するアークタンジェント関数である。これにより、図9に示されるIθとIOとが算出される。
ステップS4において、CPU2は、tan(Iθ)の絶対値を算出し、算出した結果が0.1より大きいか否かを判断する。CPU2は、算出した結果が0.1よりも大きい場合(ステップS4においてYES)、制御をステップS5に切り替える。そうでない場合には(ステップS4においてNO)、CPU2は、制御をステップS10に切り替える。
CPU2は、制御をステップS5に切り替えた場合、図9に示される旋回中心PC(PCX,PCY)を算出する。より具体的には、CPU2は、以下の式(5)および式(6)を用いて、旋回中心を算出する。
PCX = 0・・・(5)
PCY = −PBX×tan(Iθ+π/2)・・・(6)
式(5)および式(6)における計算は、以下の幾何計算から得られる結論である。図9に示されるように、旋回中心PCは、ブラシ43の中心である位置PBを通って、方位角Iθ+π/2の直線LRと、駆動輪35R、35Lの駆動軸線である。すなわち、旋回中心PCは、直線LRとy軸との交点である。旋回中心PCは、駆動軸上の点であるので、PCX=0である。したがって、ブラシ43の中心である位置PBと、旋回中心PCの間に以下の関係が成り立つ。
PB+α×(cos(Iθ+π/2)、sin(Iθ+π/2))=PC・・・(7) (PBX、PBY)+RR×(cos(Iθ+π/2)、sin(Iθ+π/2))=(PCX,PCY)・・・(8)
(PBX、0)+α×(cos(Iθ+π/2)、sin(Iθ+π/2))=(0,PCY)・・・(9)
PBX+RR×cos(Iθ+π/2)=0・・・(10)
RR×sin(Iθ+π/2)=PCY・・・(11)
式(7)はベクトル式である。式(9)は、式(7)のx、y成分を記載したものである。式(10)および式(11)は、式(9)のx、y成分単独に分けたものである。また、式(10)および式(11)は、αとPCYの未知数2つを含む連立方程式であり、これらの式からブラシ旋回半径RRを消してPCYについて解くと式(6)が得られる。
ステップS6において、CPU2は、自走式装置100の旋回速度ωを算出する。より具体的には、CPU2は、以下の計算を行なう。まず、CPU2は、ブラシ旋回半径RRを算出する。ブラシ旋回半径RRは、ブラシ43の位置PBと旋回中心PCとの間の距離であり、式(8)に示されるRRと同じ値である。
RR= −PBX/cos(Iθ+π/2)・・・(12)
ω= IV/RR・・・(13)
ステップS7において、CPU2は、走行制御部250として、以下の式(14)および式(15)を用いて駆動輪35Rの速度VRと、駆動輪35Lの速度VLとを算出する。
VL= (PCY−PLY)×ω・・・(14)
VR= (PCY−PRY)×ω・・・(15)
ステップS10において、CPU2は、cos(Iθ)が0より大きいか否かを判断する。CPU2は、cos(Iθ)が0より大きいと判断した場合(ステップS10においてYES)、制御をステップS11に切り替える。そうでない場合には(ステップS10においてNO)、CPU2は、制御をステップS12に切り替える。ステップS11の処理は、自走式装置100の前進に対応する。ステップS12の処理は、自走式装置100の後進に対応する。
ステップS11において、CPU2は、走行制御部250として、以下の式(16)を用いて、駆動輪35Lの速度VLを算出し、式(17)を用いて、駆動輪35Rの速度VRを算出する。
VL=IV・・・(16)
VR=IV・・・(17)
ステップS12において、CPU2は、走行制御部250として、以下の式(18)を用いて、駆動輪35Lの速度VLを算出し、式(19)を用いて、駆動輪35Rの速度VRを算出する。
VL=−IV・・・(18)
VR=−IV・・・(19)
ステップS13において、自走式装置100の速度を算出する処理を終了するか否かを判断する。一例として、自走式装置100は、作業をストップするユーザ操作を受け付けた場合に、処理を終了する。自走式装置100は、自走式装置100の速度を算出する処理を終了する場合に(ステップS13においてYES)、自走式装置100の速度の算出処理を終了する。そうでない場合には(ステップS13においてNO)、CPU2は、制御をステップS3に戻す。以上により、ブラシ43の中心である位置PBを意図する速度VBLで動かすための駆動輪35Lの速度VLと駆動輪35Rの速度VRが算出される。
[清掃開始から終了までの自走式装置100の処理]
図11〜図14を参照して、自走式装置100の制御構造について説明する。図11〜図14において、自走式装置100が実行する処理の一部を表わすフローチャートが示される。図11〜図14の処理は、CPU2がプログラムを実行することにより実現される。他の局面において、処理の一部または全部が、回路素子その他のハードウェアによって実行されてもよい。
(自走式装置100の清掃開始から終了までの大まかな処理の流れ)
まず、図11を参照して、自走式装置100の清掃処理の概要について説明する。図11は、自走式装置100の清掃開始から終了までの大まかな処理手順を示すフローチャートである。
自走式装置100は、作業マップ11(図7参照)上のいずれかの場所に存在するとする。現在位置GPがCPU2の位置検出部210により算出されているとする。水の散布、ブラシの回転、汚水の回収は、停止しているとする。ブラシ43の昇降機構は、ブラシ43を上げて地面から離した状態にあるとする。洗浄水タンクには、洗浄水が補充されているとする。このような初期状態において、ユーザが、自走式装置100の操作を開始するためのボタン47(図1参照)を押下すると、CPU2は、ステップS51〜ステップS56の処理を開始する。
ステップS51において、CPU2は、自走式装置100を初期化する。より具体的には、CPU2は、清掃作業が終了したか否かを示す最終フラグPFを偽に設定する。CPU2は、自走式装置100が走行する経路番号PNを2に設定する。CPU2は、経路垂直方向Pφに基づいて、経路方向PθをPθ=Pφ−π/2に設定する。CPU2は、作業領域の左端を示すGMXMと、作業領域の下端を示すGMYMと、車体座標系におけるブラシ43の位置PBXと、経路幅PWとを以下の式(20)および式(21)に代入して、作業開始位置GS(GSX,GSY)を算出する。これにより、CPU2は、作業開始位置GSを、走行経路L2(図4参照)上の左端(x軸−方向の端部)に設定する。
GSX=GMXM + PBX・・・(20)
GSY=GMYM + PW×1.5・・・(21)
ステップS52において、CPU2は、自走式装置100を往復走行の作業開始位置GSまで移動させる。より具体的には、CPU2は、ブラシ43の現在位置GBと、作業開始位置GSとを結ぶ直線に沿ってブラシ43が最高速度VMaxで動く場合のブラシ移動速度VBを算出する。また、CPU2は、前述の図10の手順で駆動輪35Lの速度と駆動輪35Rの速度とを算出する。CPU2は、算出した速度を、駆動輪のモータ(上述のモータL、R)に算出した速度を出力する。CPU2は、ブラシ43の現在位置GBと作業開始位置GSとの間の距離を監視する。CPU2は、この距離が一定の距離未満(たとえば、100mm未満)になったとき、作業開始位置GSに到達したと判断し、モータL、Rを停止させる。
ステップS53において、CPU2は、清掃作業を開始する。より具体的には、CPU2は、ブラシ43の昇降機構を動作させて、ブラシ43が床に接地するまで下降させた後、ブラシ43の回転と、床面への水の散布と、スキージ45の水吸引とを開始する。
ステップS54において、CPU2は、後述の図12に示す清掃処理を実行する。自走式装置100の清掃処理の詳細については後述する。
ステップS55において、CPU2は、清掃処理を終了する。より具体的には、CPU2は、ブラシ43の回転と、床面への水の散布と、スキージ45の水吸引とを停止した後、ブラシ43の昇降機構を動作させて、ブラシ43を床面から離す。
ステップS56において、CPU2は、自走式装置100を終了位置へ移動させる。より具体的には、CPU2は、ステップS52と同様の処理により、ブラシ43の現在位置GBが、清掃終了位置GEに到達するように駆動輪35LのモータLと駆動輪35RのモータRに速度を出力する。その後、CPU2は、自走式装置100を停止させる。
(自走式装置100の清掃処理の詳細)
次に、図12を参照して、自走式装置100の清掃処理(図11のステップS54)の詳細について説明する。図12は、自走式装置100の清掃処理の手順を示すフローチャートである。
CPU2は、設定された制御周期ごとに図12に示される処理を実行して、自走式装置100を経路方向Pθに対して平行に走行させ、走行経路の終端で経路垂直方向Pφに沿って次の走行経路へと移動するように制御する。
自走式装置100は、真または偽となる直進フラグFSを記憶しており、直進フラグFSに基づいて直進と旋回とを繰り返して自走式装置100を走行させる。すなわち、直進フラグFSが真である場合に、自走式装置100は直進する。直進フラグFSが偽である場合に、自走式装置100は旋回する。直進フラグFSは、初期状態では、真である。
ステップS62において、CPU2は、直進フラグFSを参照して、自走式装置100の動作モードが直進モードであるか否かを判断する。CPU2は、直進フラグFSが真である場合に、自走式装置100の動作モードが直進モードであるとして、ステップS63〜ステップS67の処理を実行する。CPU2は、直進フラグFSが偽の場合に、自走式装置100の動作モードが旋回モードであるとして、ステップS610〜S612の処理を実行する。
ステップS63において、CPU2は、走行制御部250として、経路方向Pθと清掃速度PVと経路番号PNとに基づいて、直進方向のブラシ43の速度VBL(VBLX,VBLY)を算出する。より具体的には、速度VBLは、清掃速度PV、経路方向Pθ、現在位置GPθを用いて、以下の式(22)〜(24)から算出される。
θ1= Pθ −GPθ・・・(22)
VBLX= PV×cos(θ1)・・・(23)
VBLY= PV×sin(θ1)・・・(24)
なお、θ1は、角度を示す一時変数である。
ステップS64において、CPU2は、距離検出部220として、経路方向の幅を測定する。より具体的には、CPU2は、作業マップ11上で現在位置GPから経路垂直方向Pφに沿った壁までの残り幅PW2を測定する。自走式装置100は、最小残り幅PW3を予め記憶しており、測定した残り幅PW2が最小残り幅PW3より小さい場合に、PW3=PW2として更新する。
ステップS65において、CPU2は、走行制御部250として、走行経路の終端に来たか否かを判断する。より具体的には、まずCPU2は、作業マップ11上で現在位置GPから方位Gθに沿って前方の領域を調べて、前方の進入禁止領域までの距離Dを算出する。続いてCPU2は、距離Dが所定値(たとえば、500mm)より短いか否かを判断し、距離Dが所定値よりも短い場合に(ステップS65においてYES)、走行経路の終端に到着したとして、直進を終了し、制御をステップS66に切り替える。そうでない場合には(ステップSステップS66においてNO)、CPU2は、制御をステップS68に切り替える。
ステップS66において、CPU2は、算出部230として、現在の走行経路が最終列であるか否かを判断する。より具体的には、CPU2は、まず、最終フラグFFが真であるか否かを判断し、最終フラグFFが真である場合には、CPU2は、さらに、経路番号PNが、列順テーブルPTの最終要素に等しいか否かを判断する。経路番号PNが列順テーブルPTの最終要素と等しいと判断した場合に(ステップS66においてYES)、CPU2は、清掃処理を終了し、図11のステップS55へ制御を切り替える。そうでない場合には(ステップS66においてNO)、CPU2は、制御をステップS67に切り替える。
ステップS67において、CPU2は、後述する図13における旋回処理を実行し、次経路番号PNN、旋回方向PRD、旋回半径PRR、旋回中心GRCを決定し記憶する。旋回方向PRD、旋回半径PRRは、次の制御周期にステップS610で参照される。CPU2は、直進フラグFSを偽に設定する。自走式装置100の旋回処理の詳細については後述する。
ステップS68において、CPU2は、走行制御部250として、ステップS63またはステップS610で算出されたブラシ43の速度VBLを実現するための各駆動輪の速度VL,VRを、図9の手順で算出する。
ステップS69において、CPU2は、走行制御部250として、駆動輪35Lの速度VLをモータLに出力し、駆動輪35RのVRをモータRに出力する。CPU2は、速度を出力した後、次の制御周期までの時間経過を待ってから、ステップS62に制御を戻す。
ステップS610において、CPU2は、走行制御部250として、予め記憶されている経路方向Pθと清掃速度PVと経路番号PNとに基づいて、ブラシ43の旋回の速度VBLを算出する。より具体的には、CPU2は、ブラシ43の現在位置GB、自走式装置100の旋回中心GRC、自走式装置100の旋回方向PRD、自走式装置100の現在位置GPθを以下の式(25)〜(27)に代入して、速度VBLを算出する。
θ2 = Angle(GB−GRC)+π/2×PRD−GPθ・・・(25)
VBLX = PV×cos(θ2)・・・(26)
VBLY = PV×sin(θ2)・・・(27)
なお、θ2は、計算用の一時変数である。この計算により、ブラシ43が旋回中心GRCを中心とした円弧上を走行するためのブラシ43の速度VBLが算出される。
ステップS611において、CPU2は、自走式装置100の旋回動作が終了したか否かを判断する。より具体的には、CPU2は、自走式装置100が進行方向GPθと経路方向Pθとの差が所定のしきい値以下(たとえば、3度)になると、CPU2は、旋回動作が終了したと判断し(ステップS611においてYES)、制御をステップS612に切り替える。そうでない場合には(ステップS611においてNO)、CPU2は、制御をステップS68に切り替える。
ステップS612において、CPU2は、自走式装置100に直進させる。より具体的には、CPU2は、経路番号PNに次経路番号PNNを代入する。CPU2は、経路方向Pθをπだけ増加させる。経路方向Pθが2πよりも大きくなった場合、CPU2は、経路方向Pθを2π減少させる。これにより、経路方向Pθは、0〜2πの間に保たれる。CPU2は、さらに、最小残り幅PW3に初期値を書き込んで初期化する。初期値は、経路幅PWの4倍とする。
以上の手順を繰り返すことで、自走式装置100は、走行経路を直進し、走行経路の終端に達すると、旋回して次の走行経路に移動するという動作を繰り返し行なうことができる。
(自走式装置100の旋回処理の詳細)
次に、図13を参照して、自走式装置100の清掃処理(図12のステップS54)の詳細について説明する。図13は、自走式装置100の旋回処理の手順を示すフローチャートである。
ステップS72において、CPU2は、自走式装置100の動作モードが最終モードであるか否かを判断する。より具体的には、CPU2は、最終フラグFFが真である場合に、自走式装置100の動作モードが最終モードであると判断する。CPU2は、動作モードが最終モードであると判断した場合(ステップS71においてYES)、制御をステップS714に切り替える。そうでない場合には(ステップS71においてNO)、CPU2は、制御をステップS714に切り替える。
ステップS73において、CPU2は、経路番号PNを4で割った余りによって次に実行する処理を決定する。余りが1である場合、CPU2は、制御をステップS74に切り替える。余りが2である場合、CPU2は、制御をステップS75に切り替える。余りが3である場合、CPU2は、制御をステップS76に切り替える。余りが0である場合、CPU2は、制御をステップS710に切り替える。
ステップS74において、CPU2は、現在走行中の経路番号PNに2を足した値を、次経路番号PNNに設定する。ステップS75において、CPU2は、現在走行中の経路番号PNに2を足した値を、次経路番号PNNに設定する。ステップS76において、CPU2は、現在走行中の経路番号PNに3を足した値を、次経路番号PNNに設定する。
ステップS74、ステップS75、ステップS76、およびステップS714のいずれかの処理の実行後に、CPU2は、ステップS77において、旋回方向PRD、旋回半径PRRを決定する。まず、CPU2は、次経路番号PNN、経路番号PN、経路方向Pθに基づいて、旋回方向PRDを決定する。PNN>PN、かつ、cos(Pθ)>0の条件が満たされれば、CPU2は、旋回方向PRDに1を加える。PNN>PN、かつ、cos(Pθ)≦0の条件が満たされれば、CPU2は、旋回方向PRDから1を引く。PNN≦PN、かつ、cos(Pθ)>0の条件が満たされれば、旋回方向PRDから1を引く。PNN≦PNかつcos(Pθ)≦0の条件が満たされれば、旋回方向PRDに1を加える。
CPU2は、さらに、次経路番号PNNと経路番号PNとを用いて以下の式(28)から旋回半径PRRを決定する。
PRR = abs(PNN−PN)/2・・・(28)
ただしabs()は、絶対値関数である。
ステップS710において、CPU2は、算出部230として、残り走行経路数を算出する。より具体的には、CPU2は、最小残り幅PW3を経路幅PWで割った商を残り経路数PNRとする。CPU2は、残り経路数PNRが4本以上の場合(ステップS710においてYES)、制御をステップS711に切り替える。そうでない場合には(ステップS710においてNO)、制御をステップS712に切り替える。
ステップS711において、CPU2は、現在の経路番号PNから3を引いた値を次経路番号PNNとして設定する。ステップS712において、CPU2は、自走式装置100の動作モードを最終モードに設定する。すなわち、CPU2は、最終フラグFFを真に設定する。ステップS713において、CPU2は、残りの走行経路の走行順序を決定する。CPU2の残りの走行経路の決定順についての詳細は後述する。
ステップS714において、CPU2は、最終モード時における次列決定処理を行なう。すなわち、CPU2は、ステップS713において設定された、残りの経路の走行順序に従って、自走式装置100に残りの走行経路を順に走行させる。より具体的には、CPU2は、ステップS713において、設定済みの列順テーブルPTを参照して、次の要素PTNを読出し、次経路番号PNNをPNN=PTNに設定する。
(残りの経路に対する走行順序の決定方法の詳細)
次に、図14を参照して、残りの経路に対する走行順序の決定方法(図13のステップS713)について説明する。図14は、残りの経路に対する走行順序の決定処理の手順を示すフローチャートである。以下のステップS91〜S94における残りの経路に対する走行順序は、算出部230(図6参照)によって算出された残り経路数に基づいて、決定部240(図6参照)によって決定される。
ステップS91において、CPU2は、決定部240として、算出部230によって算出された残り経路数PNRに応じて次に実行する処理を決定する。残り経路数PNRが1である場合、CPU2は、ステップS92に切り替える。残り経路数PNRが2である場合、CPU2は、ステップS93に切り替える。残り経路数PNRが3である場合、CPU2は、ステップS94に切り替える。
ステップS92において、CPU2は、決定部240として、経路番号PNを参照して列順テーブルPTを以下の式(29)のように決定する。
PT=(PN−3,PN−1,PN+1)・・・(29)
ステップS93において、CPU2は、決定部240として、列順テーブルPTを以下の式(30)を用いて残りの経路の走行順序を決定する。
PT=(PN−3,PN+1,PN−1,PN+2)・・・(30)
ステップS94において、CPU2は、決定部240として、列順テーブルPTを以下の式(31)を用いて残りの経路の走行順序を決定する。
PT=(PN−3,PN+1,PN+3,PN−1,PN+2)・・・(31)
[自走式装置100の動作の具体例]
以下では、上述のCPU2の制御フローに基づく自走式装置100の動作の具体例について説明する。以下の具体例では、自走式装置100の作業領域は、作業マップ11のy軸方向に経路幅PWの11倍の幅を有する。すなわち、走行経路は、計11本となる。
ユーザがボタン47を押下すると、自走式装置100は、清掃動作を開始する。自走式装置100は、走行経路L2の左端を作業開始位置GSとして設定し、作業開始位置GSに移動する。続いて、自走式装置100は、ブラシ43の昇降機構によって、床面に接地するまでブラシ43を下降させ、ブラシ43の回転と、床面に対する水の散布と、スキージ45の水吸引とを開始する。自走式装置100は、走行経路L2に沿って右端(作業マップ11のx軸プラス側)まで清掃を行なう。
自走式装置100は、走行経路L2の終端に達すると、左に旋回して走行経路L4に移動する。自走式装置100は、走行経路L4の左端まで走行する。ここで、自走式装置100は、ステップS710(図13参照)と同じ処理を実行する。すなわち、残り経路数PNR(この時点で11−4=7)を算出する。この場合には、残り経路数PNRは、4以上なので最終モードにならない。続いて、自走式装置100は、左に旋回して走行経路L1の左端に移動する。自走式装置100は、走行経路L1の右端まで走行する。自走式装置100は、走行経路L1の右端に達すると、左に旋回して走行経路L3に移動する。自走式装置100は、走行経路L3の左端まで走行する。自走式装置100は、走行経路L3の左端に達すると、右に旋回して走行経路L6に移動する。自走式装置100は、走行経路L6を右端まで走行する。自走式装置100は、走行経路L6の右端まで走行すると、左に旋回して走行経路L8に移動する。自走式装置100は、走行経路L8の左端まで走行する。
走行経路L8の左端で、CPU2は、再度ステップS710と同じ処理を実行し、残り経路数PNR=11−8=3が4以下であると判断する。したがって、CPU2は、図14の最終モード用の列順決定を行ない、走行順序をPT=(8−3、8+1、8+3、8−1、8+2)=(5,9,11,7,10)と決定する。続いて自走式装置100は、走行経路L5→L9→L11→L7→L10の順に経路を走行して清掃を行なう。自走式装置100は、走行経路L10の終端に到達すると、往復走行を終了する。自走式装置100は、ブラシ43の回転と、水散布と、スキージ45の水吸引とを停止し、ブラシ43の昇降機構を上昇させる。その後、自走式装置100は、作業終了位置へ移動する。自走式装置100は、作業終了位置へ到達すると、作業を完了して停止する。
[自走式装置100の変形例]
(第1の変形例)
なお、上記の手順の一部を以下のように変更してもよい。たとえば、ステップS51(図11参照)において、CPU2は、作業開始位置GSを、走行経路L2の左端ではなく、走行経路L2の右端に設定してもよい。この場合、CPU2は、S77(図13)において算出する旋回方向PRDを全て上記とは逆にする。より具体的には、CPU2は、次経路番号PNN、経路番号PN、経路方向Pθに基づいて、旋回方向PRDを以下のように決定する。PNN>PNかつcos(Pθ)>0の条件を満たせば、PRDから1を引く。CPU2は、PNN>PNかつcos(Pθ)≦0の条件を満たせば、PRDに1を足す。PNN≦PNかつcos(Pθ)>0の条件を満たせば、PRDに1を足す。PNN≦PNかつcos(Pθ)≦0の条件を満たせば、PRDから1を引く。以上により、自走式装置100は、上記の例に対して反対の方向に走行を行ないながら清掃を行なう。
(第2の変形例)
また、CPU2は、上記の例で説明した列順の代わりに、図14の列順テーブルPTを以下のように設定してもよい。より具体的には、ステップS92において、CPU2は、残り経路数PNRが1の場合に、列順テーブルPT(PN−3,PN−1,PN+1)を、代わりに、列順テーブルPT(PN−3,PN+1,PN−1)としてもよい。
残り経路数PNRが2の場合には、ステップS93において、CPU2は、列順テーブルPT(PN−3,PN+1,PN−1,PN+2)を、代わりに、列順テーブルPT(PN−3,PN+2,PN−1,PN+1)、列順テーブルPT(PN+2,PN−3,PN+1,PN−1)、列順テーブルPT(PN+2,PN−3,PN−1,PN+1)、列順テーブルPT(PN+2,PN−1,PN+1,PN−3)、列順テーブルPT(PN+2,PN−1,PN−3,PN+1)のいずれかとしてもよい。
残り経路数PNRが3の場合には、ステップS94において、CPU2は、列順テーブルPT(PN−3,PN+1,PN+3,PN−1,PN+2)の代わりに、列順テーブルPT(PN−3,PN+2,PN−1,PN+1,PN+3)、列順テーブルPT(PN−3,PN+2,PN−1,PN+3,PN+1)、列順テーブルPT(PN−3,PN+3,PN+1,PN−1,PN+2)、列順テーブルPT(PN+2,PN−3,PN−1,PN+1,PN+3)、列順テーブルPT(PN+2,PN−3,PN−1,PN+3,PN+1)、列順テーブルPT(PN+2,PN−3,PN+1,PN−1,PN+3)、列順テーブルPT(PN+2,PN−3,PN+1,PN+3,PN−1)、列順テーブルPT(PN+2,PN−1,PN−3,PN+1,PN+3)、列順テーブルPT(PN+2,PN−1,PN−3,PN+3,PN+1)、列順テーブルPT(PN+2,PN−1,PN+1,PN−3,PN+3)、列順テーブルPT(PN+2,PN−1,PN+1,PN+3,PN−3)、列順テーブルPT(PN+3,PN−3,PN+2,PN−1,PN+1)、列順テーブルPT(PN+3,PN−3,PN+1,PN−1,PN+2)、列順テーブルPT(PN+3,PN−1,PN+1,PN−3,PN+2)、列順テーブルPT(PN+3,PN−1,PN+2,PN−3,PN+1)、列順テーブルPT(PN+3,PN+1,PN−3,PN−1,PN+2)、列順テーブルPT(PN+3,PN+1,PN−3,PN+2,PN−1)、列順テーブルPT(PN+3,PN+1,PN−1,PN−3,PN+2)、列順テーブルPT(PN+3,PN+1,PN−1,PN+2,PN−3)のいずれかとしてもよい。
(第3の変形例)
さらに、自走式装置100の作業を開始する走行経路は、必ずしも走行経路L2から開始する必要はない。たとえば、自走式装置100は、走行経路L3から走行を開始してもよい。そのためには、図11のステップS51において、CPU2は、経路番号をPN=3に設定する。また、CPU2は、走行経路L3のx軸の−方向の端部に作業開始位置GSを設定する。すなわち、作業開始位置GSは、以下の式(32)のように設定される。
GSY= GMYM + PW×2.5・・・(32)
また、図13中のステップS74、ステップS75、ステップS76、ステップS711を以下のように変える。すなわち、ステップS74において、CPU2は、現在走行中の経路番号PNに3を足した値を次経路番号PNNに設定する。ステップS75において、CPU2は、現在走行中の経路番号PNに5を足した値を次経路番号PNNに設定する。ステップS76において、CPU2は、現在走行中の経路番号PNに2を足した値を、次経路番号PNNに設定する。ステップS714において、CPU2は、現在走行中の経路番号PNに2を引いた値を次経路番号PNNに設定する。
(第4の変形例)
また、自走式装置100には、以下のような障害物を回避する機能が備えられてもよい。すなわち、CPU2は、上記ステップS65(図12参照)の代わりに、以下のステップS65Aを実行する。
ステップS65Aでは、まず、CPU2は、作業マップ11上の現在位置から周囲の壁までの距離を仮想距離として算出する。CPU2は、算出した仮想距離とレーザレンジファインダ39から取得した周囲距離とを比較して、車体前方で周囲距離までの距離が、仮想距離よりも、所定値(たとえば、1m)以上短い場合に、障害物が存在すると判断する。CPU2は、障害物があると判断された場合において、レーザレンジファインダ39から得られる前方距離が所定値(たとえば、1m)以下になると、CPU2は、障害物に接近したと判断して、この時の現在位置を記録する。
続いて、CPU2は、直進終了と判断して、以下のステップS620に制御を切り替える。CPU2は、障害物がないと判断した場合に、ステップS65の処理を実行する。ステップS620において、CPU2は、経路番号PNを、現在の経路番号PN以上の最小の4の倍数+3に書き換える。たとえば、経路番号PNが5〜8のいずれかである場合は、CPU2は、経路番号PNをPN=8+3=11に設定する。続いて、CPU2は、ステップS66に制御を切り替える。ステップS620の結果として、ステップS67において、CPU2は、ステップS73からステップS76に進む。この結果、自走式装置100は、4列を単位として、障害物を検出した時点で次の4列に進むことになる。たとえば、図4において走行経路L1〜L4の間に障害物があった場合には、走行経路L6へ移行して、その後、走行経路L5〜L8を順に走行する。最終的に、ステップS56において、自走式装置100は、清掃を完了した際に、記録された障害物の位置をLCD49上に表示する。
以上の動作を取ることにより、障害物があった場合には、走行経路L1〜L4の中にだけ拭き残しが発生し、走行経路L5以降は、通常の清掃が行われる。障害物は、隣接する走行経路をまたぐように存在する場合も多いので、障害物検出時に4本単位で走行経路を飛ばして進むことにより、障害物の存在しない場所へ素早く進むことができる。また、ユーザは、障害物の位置をLCD49上で確認することにより、その位置を含む前後4本以内に拭き残しがあると判断できる。すなわち、ユーザは、拭き残し部分を容易に把握することができ、拭き残し部分を手作業で容易に清掃することができる。
これに対して、上記の特許文献1には、障害物への対処方法が記載されていないが、たとえば、障害物と壁とを区別せずに障害物に接近した時点で、次の走行経路に移動した場合には、走行経路および作業範囲のいずれの場所に拭き残しが発生したのかが分かりづらくなる。たとえば、走行経路L3の途中に障害物が存在すると、走行経路L3の残り部分と次の折り返し先である走行経路L6とに拭き残しが発生し、さらに、障害物が走行経路L3と走行経路L4とにまたがっている場合には、走行経路L3、L4、L6、L7に拭き残しが発生する。このように、拭き残し箇所が分散すると、ユーザは、拭き残し箇所をすぐに理解することができない。
[小括]
以上のようにして、本実施の形態に従う自走式装置100は、走行経路の列幅の1倍以上(1倍または1.5倍)の旋回半径で作業マップ11内を往復走行することができる。この結果、内輪差を小さくすることができ、スキージ45の軌跡がブラシ43の軌跡を覆いやすくなるため、自走式装置100は、水残りを少なくして高品質な清掃を実現することができる。
また、自走式装置100は、旋回半径を大きくすることで、旋回のために減速する必要が少なくなる。この結果、自走式装置100は、高速で走行することができ、効率のよく清掃することができる。さらに、自走式装置100は、4列を単位として清掃作業を進めるので、障害物などにより作業が中断された場合であっても、障害物を含む4列以外の範囲については、作業が完了していることが明確になるので、自走式装置100は、作業状態を管理しやすくなる。
<第2の実施の形態>
以下、第2の実施の形態に従う自走式装置100Aの概要について説明する。本実施の形態に従う自走式装置100Aは、作業マップ11を予め記憶しない点で自走式装置100と異なる。ハードウェア構成などその他の点については第1の実施の形態に従う自走式装置100と同じであるので説明を繰り返さない。
自走式装置100Aは、略四角形の作業領域の四隅のいずれかを作業開始位置として決定する。たとえば、自走式装置100Aは、作業領域の左下を作業開始位置として決定した場合には、車体右側および後ろ側を作業領域の壁に近接して、当該壁と平行に設置される。自走式装置100Aは、駆動輪35Lに接続されたエンコーダLと、駆動輪35Rに接続されたエンコーダRとが出力する駆動軸の回転量を元にオドメトリによって現在位置を更新する。自走式装置100Aは、基本的には、図10〜図14と同様の処理を実行することにより清掃作業を行なうが、以下の点で上述の各制御フローと異なる。以下では、その差異について説明する。
ステップS51(図11参照)において、CPU2は、現在位置GP(GPX,GPY,GPθ)の値を(0,0,0)に初期化する。さらに、CPU2は、作業範囲を示すGMXMおよびGMYMを以下の式(33)および式(34)ように初期化する。
GMXM=−PBX・・・(33)
GMYM=−PW×0.5・・・(34)
さらに、CPU2は、作業開始位置GS(GSX,GSY)を走行経路L2の左端に設定する。作業開始位置GSは、作業マップ11と経路幅PWとに基づいて、以下の式(35)と式(36)とから算出される。
GSX=GMXM+PBX=0・・・(35)
GSY=GMYM+PW×1.5=PW・・・(36)
すなわち、作業開始位置GSは、自走式装置100Aの現在位置から経路幅1列分だけ車体左側に移動した位置になる。
ステップS64において、CPU2は、経路方向の物体距離を検出する際に、経路垂直方向の物体距離も検出する。すなわち、CPU2は、レーザレンジファインダ39からの距離から、経路垂直方向Pφの値を取り出して、残り幅PW2として記憶する。
[小括]
以上のようにして、本実施の形態に従う自走式装置100Aは、作業マップ11を持たずに簡易な構成で、略四角の領域を清掃することができる。自走式装置100Aにおいても、第1の実施の形態に従う自走式装置100と同様に、旋回の半径が、経路幅の1倍以上に保たれるので、水の拭き残しを少なくすることができ、高品質な清掃を実現することができる。
<第3の実施の形態>
以下、第3の実施の形態に従う自走式装置100Bの概要について説明する。本実施の形態に従う自走式装置100Bは、清掃装置ではなく、農耕機として実現される点で自走式装置100と異なる。機能構成などその他の点については第1の実施の形態に従う自走式装置100と同じであるので説明を繰り返さない。
農耕式である自走式装置100Bは、前輪の操舵と後輪の前後進とで走行する。前輪の操舵と前後進とを実行する処理は、自走式装置100Bが搭載するCPU2によって実行される。また、自走式装置100Bは、車体後部に農耕用の作業部6を有する。自走式装置100Bの操舵できる範囲は、左右各60度程度であり、最小旋回時の旋回中心から車体中心までの距離、すなわち旋回半径は、作業部6の左右幅と同程度である。したがって自走式装置100Bは、最小旋回半径で旋回した場合に、往復走行で隣接する走行経路に折り返すと外側に膨らむ軌道となるが、2列以上離れた走行経路に折り返す場合には、膨らみ無しで折り返すことができる。自走式装置100Bは、上述の図10〜14の制御フローに沿って走行するので、常に2列以上の幅を取って旋回する。したがって、自走式装置100Bは、外側に膨らむことなく作業を実施できるので、作業領域を均一に耕作することができる。
<第4の実施の形態>
以下、第4の実施の形態に従う自走式装置100Cの概要について説明する。本実施の形態に従う自走式装置100Cは、清掃装置ではなく、芝刈りロボットとして実現される点で自走式装置100と異なる。機能構成などその他の点については第1の実施の形態に従う自走式装置100と同じであるので説明を繰り返さない。
自走式装置100Cは、芝刈りロボットである。自走式装置100Cは、第1の実施の形態に従う自走式装置100と同様の車輪構成を持ち、後輪の駆動輪35Lおよび駆動輪35Rの前後進の組み合わせによって走行する。自走式装置100Cは、本体下面に略円筒形の芝刈りユニット(作業部6)を有する。芝刈りユニットの配置は、第1の実施の形態に従う自走式装置100のブラシ43と同様である。
自走式装置100Cは、レーザレンジファインダ39を搭載せず、代わりに、本体前面に接触を検出するバンパーセンサを有する。自走式装置100Cは、駆動輪35Lおよび駆動輪WRの回転量に基づいて、現在位置を算出して、現在位置を逐次更新する。自走式装置100Cは、バンパーセンサが作動したときに、障害物に接触したと判断する。
自走式装置100Cは、芝を痛めないように、なるべく片輪を止めた据え切りをせずに、移動しながら旋回することが好ましい。自走式装置100Cは、図10〜図14に示される走行順序で走行すると、旋回半径を経路幅以上にすることができるので、据え切りがなくなり、高品質な作業を実現することができる。
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
1 ROM、2 CPU、3 RAM、4 駆動部、5 センサ、6 作業部、7 操作部、8 出力部、9 GPS、9A GPSアンテナ、10 記憶装置、11 作業マップ、21〜26 I/O、35L,35R 駆動輪、37 駆動ユニット、39 レーザレンジファインダ、41 キャスタ、43 ブラシ、45 スキージ、47 ボタン、50 作業領域、52,54 走行単位、61,65 ブラシ通過領域、63,67 スキージ通過領域、100,100A〜100C 自走式装置、210 位置検出部、220 距離検出部、230 算出部、240 決定部、250 走行制御部、FF,PF 最終フラグ、FS 直進フラグ、GE 清掃終了位置、GPθ 進行方向、GP 現在位置、GRC,PC 旋回中心、GS 作業開始位置、IV,VBL,VL,VR 速度、L1〜L10 走行経路、PN 経路番号、PNN 次経路番号、PNR 残り経路数、PRD 旋回方向、PRR 旋回半径、PTN 要素、PV 清掃速度、PW 経路幅、PW2 残り幅、PW3 最小残り幅、RR ブラシ旋回半径、VB ブラシ移動速度。

Claims (8)

  1. 自走式装置であって、
    前記自走式装置を駆動するための駆動部と、
    前記自走式装置の走行中に走行面に対して作業を行なうための作業部と、
    前記駆動部を駆動して前記自走式装置の走行を制御するための走行制御部とを備え、
    前記走行制御部は、
    仮想的に設定された互いに隣接する平行な4本の経路のうちの2本目または3本目から前記自走式装置の走行を開始させ、
    前記自走式装置が走行中の経路から隣接する経路に移動しないように前記4本の経路を順に走行させる、自走式装置。
  2. 前記自走式装置は、当該自走式装置の進行方向に存在する物体と当該自走式装置との間の距離を検出するための距離検出部をさらに備え、
    前記走行制御部は、前記距離が予め定められた距離よりも短くなった場合に、走行中の経路から次の経路に移動するように前記自走式装置を制御する、請求項1に記載の自走式装置。
  3. 前記作業部は、走行面に対して作業を行なうための第1の作業装置および第2の作業装置を含み、
    前記第1の作業装置は、前記第2の作業装置よりも、前記自走式装置の進行方向側に設けられている、請求項1または2に記載の自走式装置。
  4. 前記距離検出部は、経路に対して垂直な方向に存在する物体と前記自走式装置との間の距離をさらに検出し、
    前記自走式装置は、
    当該自走式装置が前記4本の経路のうちの4本目の経路に位置する場合に、経路に対して垂直な方向に存在する物体と前記自走式装置との間の距離を用いて、前記4本の経路の次に前記自走式装置が走行する経路の数を算出するための算出部と、
    前記経路の数が4本よりも少ない場合に、未走行の経路の走行順序を決定するための決定部とをさらに備える、請求項2に記載の自走式装置。
  5. 前記決定部は、走行中の経路から隣接する経路に移動しないように、前記未走行の経路の走行順序を決定する、請求項4に記載の自走式装置。
  6. 前記自走式装置は、前記自走式装置の位置を検出するための位置検出部をさらに備え、
    前記駆動部は、駆動輪を含み、
    前記走行制御部は、前記自走式装置の位置から特定された前記作業部の中心位置が、前記4本の経路の各経路内を通るように前記駆動輪を制御する、請求項1〜5のいずれか1項に記載の自走式装置。
  7. 自走式装置の制御方法であって、
    前記自走式装置は、
    前記自走式装置を駆動するための駆動部と、
    前記自走式装置の走行中に走行面に対して作業を行なうための作業部と、
    前記駆動部を駆動して前記自走式装置の走行を制御するための制御装置とを備え、
    前記制御方法は、
    仮想的に設定された互いに隣接する平行な4本の経路のうちの2本目または3本目から前記自走式装置の走行を開始させるステップと、
    前記自走式装置が走行中の経路から隣接する経路に移動しないように前記4本の経路を順に走行させるステップとを含む、制御方法。
  8. 自走式装置の制御プログラムであって、
    前記自走式装置は、
    前記自走式装置を駆動するための駆動部と、
    前記自走式装置の走行中に走行面に対して作業を行なうための作業部と、
    前記駆動部を駆動して前記自走式装置の走行を制御するための制御装置とを備え、
    前記制御プログラムは、前記制御装置に、
    仮想的に設定された互いに隣接する平行な4本の経路のうちの2本目または3本目から前記自走式装置の走行を開始させるステップと、
    前記自走式装置が走行中の経路から隣接する経路に移動しないように前記4本の経路を順に走行させるステップとを実行させる、制御プログラム。
JP2014110059A 2014-05-28 2014-05-28 自走式装置、自走式装置の制御方法、および、自走式装置の制御プログラム Active JP5676039B1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014110059A JP5676039B1 (ja) 2014-05-28 2014-05-28 自走式装置、自走式装置の制御方法、および、自走式装置の制御プログラム
PCT/JP2014/072222 WO2015181995A1 (ja) 2014-05-28 2014-08-26 自走式装置、自走式装置の制御方法、および、自走式装置の制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014110059A JP5676039B1 (ja) 2014-05-28 2014-05-28 自走式装置、自走式装置の制御方法、および、自走式装置の制御プログラム

Publications (2)

Publication Number Publication Date
JP5676039B1 true JP5676039B1 (ja) 2015-02-25
JP2015225507A JP2015225507A (ja) 2015-12-14

Family

ID=52672661

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014110059A Active JP5676039B1 (ja) 2014-05-28 2014-05-28 自走式装置、自走式装置の制御方法、および、自走式装置の制御プログラム

Country Status (2)

Country Link
JP (1) JP5676039B1 (ja)
WO (1) WO2015181995A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2018043033A1 (ja) * 2016-08-31 2019-06-24 村田機械株式会社 自律走行式床洗浄機
CN110362069A (zh) * 2018-03-26 2019-10-22 智棋科技股份有限公司 控制机器人的方法
CN113826460A (zh) * 2016-03-09 2021-12-24 洋马动力科技有限公司 作业车辆

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015109775B3 (de) 2015-06-18 2016-09-22 RobArt GmbH Optischer Triangulationssensor zur Entfernungsmessung
DE102015114883A1 (de) 2015-09-04 2017-03-09 RobArt GmbH Identifizierung und Lokalisierung einer Basisstation eines autonomen mobilen Roboters
DE102015119501A1 (de) 2015-11-11 2017-05-11 RobArt GmbH Unterteilung von Karten für die Roboternavigation
DE102015119865B4 (de) 2015-11-17 2023-12-21 RobArt GmbH Robotergestützte Bearbeitung einer Oberfläche mittels eines Roboters
DE102015121666B3 (de) 2015-12-11 2017-05-24 RobArt GmbH Fernsteuerung eines mobilen, autonomen Roboters
DE102016102644A1 (de) 2016-02-15 2017-08-17 RobArt GmbH Verfahren zur Steuerung eines autonomen mobilen Roboters
JP6605364B2 (ja) * 2016-03-09 2019-11-13 ヤンマー株式会社 作業車両の経路生成方法
JP6739227B2 (ja) * 2016-05-10 2020-08-12 ヤンマーパワーテクノロジー株式会社 自律走行経路生成システム
JP6982116B2 (ja) * 2016-09-05 2021-12-17 株式会社クボタ 作業車自動走行システム及び走行経路管理装置
JP6920970B2 (ja) * 2016-12-19 2021-08-18 株式会社クボタ 走行経路決定装置
US11709489B2 (en) 2017-03-02 2023-07-25 RobArt GmbH Method for controlling an autonomous, mobile robot
JP6976088B2 (ja) * 2017-06-27 2021-12-01 株式会社クボタ 走行経路設定システム及び作業車
WO2019093096A1 (ja) 2017-11-10 2019-05-16 パナソニックIpマネジメント株式会社 移動ロボット、及び、移動ロボットの制御方法
DE102018111509A1 (de) * 2018-05-14 2019-11-14 Hako Gmbh Verfahren zur Bestimmung einer Route für eine Bodenreinigungsmaschine
CN109634285B (zh) * 2019-01-14 2022-03-11 傲基科技股份有限公司 割草机器人及其控制方法
CN111506695B (zh) * 2020-04-23 2023-02-28 内蒙古师范大学 Gpx数据处理成面数据时的坐标方向识别方法及系统
CN114680734B (zh) * 2020-12-28 2023-04-07 尚科宁家(中国)科技有限公司 清洁机器人及其清洁方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06202732A (ja) * 1993-01-06 1994-07-22 Amada Metrecs Co Ltd 移動体の運航装置及びその装置を利用したセキュリティロボット
JPH1056817A (ja) * 1996-08-21 1998-03-03 Kubota Corp 移動車の位置検出装置及びそれを用いた誘導制御装置
JPH10320045A (ja) * 1997-05-15 1998-12-04 Hitachi Ltd 自走式作業機械の走行制御方法
JP2004049778A (ja) * 2002-07-24 2004-02-19 Matsushita Electric Ind Co Ltd 自走式掃除機およびそのプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06202732A (ja) * 1993-01-06 1994-07-22 Amada Metrecs Co Ltd 移動体の運航装置及びその装置を利用したセキュリティロボット
JPH1056817A (ja) * 1996-08-21 1998-03-03 Kubota Corp 移動車の位置検出装置及びそれを用いた誘導制御装置
JPH10320045A (ja) * 1997-05-15 1998-12-04 Hitachi Ltd 自走式作業機械の走行制御方法
JP2004049778A (ja) * 2002-07-24 2004-02-19 Matsushita Electric Ind Co Ltd 自走式掃除機およびそのプログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113826460A (zh) * 2016-03-09 2021-12-24 洋马动力科技有限公司 作业车辆
CN113826460B (zh) * 2016-03-09 2023-09-29 洋马动力科技有限公司 作业车辆
JPWO2018043033A1 (ja) * 2016-08-31 2019-06-24 村田機械株式会社 自律走行式床洗浄機
CN110362069A (zh) * 2018-03-26 2019-10-22 智棋科技股份有限公司 控制机器人的方法

Also Published As

Publication number Publication date
JP2015225507A (ja) 2015-12-14
WO2015181995A1 (ja) 2015-12-03

Similar Documents

Publication Publication Date Title
JP5676039B1 (ja) 自走式装置、自走式装置の制御方法、および、自走式装置の制御プログラム
CN109144067B (zh) 一种智能清洁机器人及其路径规划方法
US10500722B2 (en) Localization and mapping using physical features
CN110974091B (zh) 清洁机器人及其控制方法、存储介质
WO2020207390A1 (zh) 探测方法、装置、移动机器人及存储介质
CN109997089B (zh) 地面处理机和地面处理方法
US9844876B2 (en) Robot cleaner and control method thereof
KR101840149B1 (ko) 자율주행체 및 전기청소기
EP3391797A1 (en) Automatic cleaning device and cleaning method
JPH0546239A (ja) 自律走行ロボツト
CN111399516B (zh) 一种机器人路径规划方法、装置以及机器人
JP2003036116A (ja) 自律走行ロボット
KR102306030B1 (ko) 이동로봇과 이동로봇의 제어방법
JP4445210B2 (ja) 自律走行ロボット
CN214484411U (zh) 自主式地板清洁器
EP3738495B1 (en) Robotic vacuum cleaner and control method therefor
KR20210084392A (ko) 이동로봇과 이동로봇의 제어방법
CN114601399A (zh) 清洁设备的控制方法、装置、清洁设备和存储介质
JP4408872B2 (ja) 自走装置およびその制御方法
TW202305534A (zh) 機器人避障方法及其相關裝置、機器人、儲存介質及電子設備
JP2005346477A (ja) 自律走行体
CN114355871A (zh) 一种自行走装置及其控制方法
JPH07253815A (ja) 自律走行作業車
KR950005403B1 (ko) 신경회로망을 이용한 자동 주행 청소기의 주행 제어방법
JP2004139265A (ja) 自律走行ロボット

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141202

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141224

R150 Certificate of patent or registration of utility model

Ref document number: 5676039

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150