JP3237500B2 - 自律移動作業車 - Google Patents

自律移動作業車

Info

Publication number
JP3237500B2
JP3237500B2 JP01322596A JP1322596A JP3237500B2 JP 3237500 B2 JP3237500 B2 JP 3237500B2 JP 01322596 A JP01322596 A JP 01322596A JP 1322596 A JP1322596 A JP 1322596A JP 3237500 B2 JP3237500 B2 JP 3237500B2
Authority
JP
Japan
Prior art keywords
obstacle
work
traveling
area
autonomous mobile
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.)
Expired - Fee Related
Application number
JP01322596A
Other languages
English (en)
Other versions
JPH09204224A (ja
Inventor
宣和 川越
雄一 川上
恭子 中村
靖尚 金藤
Original Assignee
ミノルタ株式会社
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 ミノルタ株式会社 filed Critical ミノルタ株式会社
Priority to JP01322596A priority Critical patent/JP3237500B2/ja
Priority to US08/789,127 priority patent/US6574536B1/en
Publication of JPH09204224A publication Critical patent/JPH09204224A/ja
Application granted granted Critical
Publication of JP3237500B2 publication Critical patent/JP3237500B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、自律移動作業車に
関し、特に、作業対象範囲をくまなく走行して清掃やワ
ックス塗布などの作業を行なう自律移動作業車に関する
ものである。
【0002】
【従来の技術】従来の自律移動作業車としては、たとえ
ば、特公平5−82601号公報に、回転可能な超音波
測距センサとデッドレコニング機能とを有し、超音波測
距センサによって障害物(壁など)の位置座標Xmi
n、Xmax、Ymin、Ymaxを求め、これらの4
点で囲まれる範囲を走行しながら、超音波測距センサに
よって得られる最新のデータを用いて上記の4点を修正
し、走行範囲を探索する自律移動作業車が開示されてい
る。
【0003】また、特開平5−257533号公報に
は、デッドレコニング機能と非接触障害物センサとを持
つ自律移動作業車が開示されている。この自律移動作業
車では、作業領域の形状等の所定情報は予めキーボード
などから入力されているが、障害物に関する情報を持っ
ていない。したがって、障害物が検知されない領域で
は、所定の移動定型パターンで作業を行ない、障害物が
検知される領域では、障害物を回避可能な領域で上記の
移動定型パターンで作業を行なう。具体的には、障害物
存在領域の直前で障害物を検知せずに所定距離を走行で
きたレーン(第1のスルーパスと呼ぶ)と、障害物存在
領域の直後で障害物を検知せずに所定距離を走行できた
レーン(第2のスルーパスと呼ぶ)とを認識し、その2
つのレーンで囲まれた領域を障害物存在領域として認識
する。そして、障害物存在領域の直後で障害物を検出せ
ずに所定距離を走行できたレーンの終了点から上記の移
動定型パターンにより障害物存在領域内の未作業領域の
作業を行なう。
【0004】
【発明が解決しようとする課題】上記の特公平5−82
601号公報に開示される従来の自律移動作業車では、
Xmin、Xmax、Ymin、Ymaxを用いて清掃
領域を判断するため、清掃領域は実際の作業領域の形状
にかかわらず、すべて長方形の領域であると判断され、
実際の面積よりも広くなり、無駄な演算が必要になると
いう問題点があった。また、未作業領域の検索には、上
記の長方形の領域から既作業領域を除く演算が必要とな
るため、既作業領域を記憶する必要があり、障害物が多
数になったり、作業領域の形状が複雑になると、メモリ
の容量が大きくなったり、演算時間が長くなったりする
という問題点もある。さらに、ジグザグ走行で障害物に
ぶつかるとUターンする走行方法で作業を行ない、障害
物に囲まれそれ以上走行できなくなってから未作業領域
の検索を行ない、未作業領域の作業に移るので、未作業
領域の作業開始地点までの移動距離が長くなったり、既
作業領域を再び走行する必要が生じたりする。したがっ
て、ワックス塗布作業や消毒液による清拭作業などの場
合は、既作業領域を再び走行すると作業品質を劣化させ
るため好ましくないという問題点もあった。
【0005】また、上記の特開平5−257533号公
報に開示される従来の自律移動作業車では、障害物にぶ
つからずに所定距離を走行できたかどうかを認識するこ
とにより、障害物の存在領域および障害物の非存在領域
の認識を行なうものであるため、必ず作業前に作業領域
の形状に関する情報を設定(教示)する必要があった。
したがって、事前に作業領域の寸法を測定する等の面倒
な作業が必要となるという問題点があった。
【0006】また、障害物は実際には自律移動作業車の
走行レーンのピッチにぴったり合っていることは少な
く、スルーパスと障害物との間に作業がされていない作
業残り領域が存在する。したがって、第1のスルーパス
の後および第2のスルーパスの前では、障害物を単純に
回避して作業を行なうのみであるため、この作業残り領
域を作業する配慮がなされておらず、そのため、障害物
の周辺、特に障害物側面の近傍に作業残り領域ができて
しまうという問題点もあった。
【0007】上記のように、床面清掃作業など床面をく
まなく移動しながら作業を行なう従来の自律移動作業車
においては、部屋や廊下の壁面に棚や柱などの障害物が
複数設置されたような作業領域を作業させる場合、地図
入力や教示作業などの作業が必要であったり、測距セン
サにより部屋の大きさを自動判別する自律移動作業車に
おいても、作業領域の検索に長時間を有したり、大きな
記憶容量が必要になる等の問題点があった。
【0008】本発明の目的は、複雑な教示作業や、地図
の入力作業、大容量のメモリ、および複雑な計算を用い
ずに、簡単な処理で未知の障害物を含む作業領域を自動
的にくまなく効率的に作業することかできる自律移動作
業車を提供することである。
【0009】
【課題を解決するための手段】請求項1記載の自律移動
作業車は、障害物を検出するとUターンするジグザグ走
行により所定の作業を行なう自律移動作業車であって、
前方の障害物を検出する検出手段と、自己の位置および
進行方向を計測する計測手段と、障害物を直接検出する
ことなく、現在走行している第1走行レーンでの位置が
以前に走行した同一方向の第2走行レーンでの終了位置
を進行方向側へ所定量以上越えた場合に、第2走行レー
ンには進行方向に障害物があったと認識し、第1走行レ
ーンと横方向の障害物の側面との間に作業を行なってい
ない作業残り領域があると判断する判断手段とを含む。
【0010】上記の構成により、現在走行している第1
走行レーンでの位置が以前に走行した同一方向の第2走
行レーンでの終了位置を進行方向側へ所定量以上越えて
いる場合、第2走行レーンには進行方向に障害物があっ
たと認識し、このまま第1走行レーンを走行し続けた場
合に第1走行レーンと横方向の障害物の側面との間に作
業残り領域があることを判断することができるので、複
雑な教示作業、地図の入力作業、大容量のメモリ、およ
び複雑な計算を行なうことなしに作業残り領域を判断す
ることができ、簡単な操作で未知の障害物を含む作業領
域を自動的にくまなく効率的に作業することが可能とな
る。
【0011】請求項2記載の自律移動作業車は、請求項
1記載の自律移動作業車の構成に加え、判断手段により
作業残り領域があると判断された場合、作業残り領域の
幅を測定する測定手段をさらに含む。
【0012】上記の構成により、作業残り領域の幅を測
定することができるので、測定した作業残り領域の幅に
応じた最適な作業残り領域の作業方法を決定することが
できる。
【0013】請求項3記載の自律移動作業車は、請求項
2記載の自律移動作業車の構成に加え、上記測定手段
は、作業残り領域側に車体を90度方向転換させ、進行
方向に障害物を検出するまで直進して障害物の側面まで
の距離を測定することにより作業残り領域の幅を測定す
る。
【0014】上記の構成により、単に障害物の側面まで
直進するだけで作業残り領域の幅を測定することができ
るので、簡単な構成で作業残り領域の幅を検出すること
ができる。
【0015】請求項4記載の自律移動作業車は、請求項
2記載の自律移動作業車の構成に加え、横方向の障害物
までの距離を測定する測距センサをさらに含み、上記測
定手段は、測距センサを用いて横方向の障害物の側面ま
での距離を測定することにより作業残り領域の幅を測定
する。
【0016】上記の構成により、測距センサを用いて作
業残り領域の幅を測定することができるので、迅速にか
つ正確に作業残り領域の幅を測定することが可能とな
る。
【0017】請求項5記載の自律移動作業車は、請求項
2記載の自律移動作業車の構成に加え、測定手段により
測定された作業残り領域の幅が所定の幅より小さい場
合、横移動することにより横方向の障害物の側面に沿う
ように走行経路を修正して作業残り領域が発生しないよ
うに作業を行なう。
【0018】上記の構成により、作業残り領域の幅に応
じて、作業残り領域の走行経路を修正することができる
ので、重複した作業をできるだけ減らして作業時間を短
縮することが可能となる。また、作業残り領域の幅が小
さい場合には、横移動するだけで作業残り領域の作業を
行なうこともでき、方向転換の必要がなくなり、さらに
効率的に作業を行なうことが可能となる。
【0019】請求項6記載の自律移動作業車は、請求項
2記載の自律移動作業車の構成に加え、測定手段により
測定された作業残り領域の幅をもとに、同一の作業領域
において再度作業を行なう際に作業残り領域が発生しな
いようにジグザグ走行の横移動ピッチを計算する計算手
段と、計算手段により計算された横移動ピッチを記憶す
る記憶手段とをさらに含む。
【0020】上記の構成により、作業残り領域が発生し
ない横移動ピッチを記憶することができるので、この横
移動ピッチを用いて作業を行なうこにとより、同一作業
領域であれば、2回目からは作業残り領域を発生させる
ことなく、作業を行なうことができ、作業の仕上がり品
質の向上(特に、ワックスがけ等の作業の場合)や作業
の効率化を図ることができる。
【0021】請求項7記載の自律移動作業車は、請求項
1記載の自律移動作業車の構成に加え、横方向の障害物
までの距離を測定する測距センサと、第1走行レーンで
の位置が第2走行レーンでの終了位置を越えてさらに進
行方向側に走行する際、測距センサを用いて横方向の障
害物の側面の存在の有無を確認する確認手段とをさらに
含み、上記自律移動作業車は、検出手段により前方の障
害物を検出するか、第1走行レーンでの走行距離が所定
の走行距離に到達するか、または、確認手段により横方
向の障害物の側面がないことを検出するかのいずれかの
場合に、作業残り領域の作業を行なう。
【0022】前方の障害物を検出するか、第1走行レー
ンでの走行距離が所定の走行距離に到達するか、また
は、横方向の障害物の側面がないことを検出するかのい
ずれかの場合に作業残り領域の作業を行なうことができ
るので、作業残り領域の長さを特定することができる。
【0023】請求項8記載の自律移動作業車は、請求項
7記載の自律作業車の構成に加え、上記自律移動作業車
は、確認手段が横方向の障害物の側面がないことを確認
した場合、横方向の障害物の奥側に未作業領域があるこ
とを認識し、作業残り領域の作業を行なった後、未作業
領域の作業を行なう。
【0024】上記の構成により、障害物の奥にある作業
領域を簡単な構成で推定することができ、作業領域を自
動的にくまなく効率的に作業することができる。
【0025】
【発明の実施の形態】以下、本発明の一実施の形態の自
律移動作業車である清掃作業ロボットについて図面を参
照しながら説明する。以下に説明する清掃作業ロボット
は、床面を清掃する清掃作業ロボットであるが、この他
の作業を行なう自律移動作業車であっても本発明を同様
に適用することができる。
【0026】図1は、本発明の一実施の形態の清掃作業
ロボットの構成を示す概略図である。図1を参照して、
清掃作業ロボットは、車体部1、走行部2、前方障害物
センサ3、側方倣いセンサ4、左側駆動車輪5a、右側
駆動車輪5b、左側駆動モータ6a、右側駆動モータ6
b、前側自在キャスタ車輪7a、後側自在キャスタ車輪
7b、清掃作業部8、車体部回転軸9、車体部回転駆動
モータ10、左側測距センサ11a、右側測距センサ1
1bを含む。
【0027】車体部1は、走行部2の上に取付けられ、
走行部2に対して、床面に垂直な車体部回転軸9周りに
回転可能に支持されている。車体部1は、車体部回転駆
動モータ10によって回転駆動される。走行部2は、清
掃作業ロボット本体を移動させるための走行部である。
【0028】前方障害物センサ3は、車体部1の前方に
取付けられ、前方の障害物に接触したことを検知し、障
害物検知信号を走行制御部12(図2参照)へ出力す
る。側方倣いセンサ4は、側方の壁に沿って直進する場
合に、壁までの距離を検出する。車体部1の左右側面に
ポテンショメータが取付けられており、ポテンショメー
タの軸は、垂直軸周りに回転するように取付けられてい
る。ポテンショメータの軸には、横方向に張り出した棒
が取付けられている。棒の先端には、壁を傷つけないよ
うに球体が取付けられている。上記のように構成された
側方倣いセンサ4が、清掃作業ロボットの左右側面それ
ぞれに前後2箇所取付けられている。
【0029】左側駆動車輪5aおよび右側駆動車輪5b
は、左側駆動モータ6aおよび右側駆動モータ6bの駆
動軸に直結され、左右独立に回転可能である。このとき
の回転数は、左側回転数検出エンコーダ13aおよび右
側回転数検出エンコーダ13b(図2参照)によって計
測される。
【0030】左側駆動モータ6aおよび右側駆動モータ
6bは、走行部2の車体台板に固定され、走行制御部1
2によって左右独立に駆動制御され、左側駆動車輪5a
および右側駆動車輪5bを独立に回転駆動することによ
り、前進、後進、回転、またはカーブ走行を行なう。
【0031】前側自在キャスタ車輪7aおよび後側自在
キャスタ車輪7bは、左側駆動車輪5aおよび右側駆動
車輪5bとともに車体を支え、左側駆動車輪5aおよび
右側駆動車輪5bの回転に応じて車輪の向きが回転し、
スムーズな回転走行およびカーブ走行を実現する。
【0032】清掃作業部8は、車体部1に連結され、床
面の清掃作業を行なう。車体部回転軸9の軸周りに車体
部1が走行部2に対して回転する。車体部回転駆動モー
タ10は、車体部1を走行部2に対して回転させるため
のモータである。
【0033】左側測距センサ11aおよび右側測距セン
サ11bは、それぞれ左側方向、右側方向の障害物まで
の距離を測定する測距センサであり、超音波測距センサ
または光学的測距センサが用いられる。
【0034】次に、図1に示す清掃作業ロボットの制御
部の構成について詳細に説明する。図2は、図1に示す
清掃作業ロボットの制御部の構成を示すブロック図であ
る。
【0035】図2を参照して、制御部は、走行制御部1
2、左側回転数検出エンコーダ13a、右側回転数検出
エンコーダ13b、ピッチ記憶部14、操作部15、演
算制御部16を含む。
【0036】走行制御部12には、前方障害物センサ
3、左側測距センサ11a、および右側測距センサ11
bが接続される。また、走行制御部12には、左側駆動
モータ6a、右側駆動モータ6b、左側回転数検出エン
コーダ13a、および右側回転数検出エンコーダ13b
が接続される。さらに、走行制御部12は、演算制御部
16と接続され、演算制御部16は、ピッチ記憶部14
および操作部15と接続される。
【0037】走行制御部12は、左側駆動モータ6aお
よび右側駆動モータ6bの回転数を左側回転数検出エン
コーダ13aおよび右側回転数検出エンコーダ13bか
らの出力をモニタすることにより制御し、前進、後進、
カーブ走行、その場回転等の走行制御を行なう。また、
走行制御部12は、前方障害物センサ3および側方倣い
センサ4の出力に応じて、後述する図4に示すフローチ
ャートに従って走行制御を行なう。
【0038】左側回転数検出エンコーダ13aは、左側
駆動モータ6aの回転数を計測し、走行制御部12へ出
力する。右側回転数検出エンコーダ13bは、右側駆動
モータ6bの回転数を計測し、走行制御部12へ出力す
る。
【0039】ピッチ記憶部14は、横移動ピッチを記憶
し、演算制御部16へ出力する。操作部15は、各種設
定値を入力したり、命令を与えるためのキースイッチと
表示部とから構成される。演算制御部16は、清掃作業
ロボット全体の演算および制御を行なう。
【0040】次に、図1に示す側方倣いセンサ4につい
てさらに詳細に説明する。図3は、側方倣いセンサの使
用状況を説明するための図である。側方の壁に沿って走
行する場合、側方倣いセンサ4の先端部が壁に接触し、
壁との距離に応じてポテンショメータの軸周りに回転
し、その回転角度θ1、θ2をポテンショメータで検出
する。
【0041】走行制御部12は、前後の側方倣いセンサ
4の回転角度θ1、θ2をもとに、壁と清掃作業ロボッ
トとの平行度合と距離とを計算し、清掃作業部8の横側
が壁に接するように所定の距離を保ち、かつ、壁と平行
となるように走行を制御する。
【0042】次に、上記のように構成された清掃作業ロ
ボットの動作について詳細に説明する。図4は、測距し
ながらジグザグ走行の横移動ピッチを計算する処理を示
すフローチャートである。
【0043】まず、置かれた場所で左右の壁までの距離
を測定する(♯101)。次に、左右のどちらか近い方
の壁の方に90度回転しその壁の方へ向かって進み、壁
に接触したら、左の壁なら右に、右の壁なら左に90度
回転し壁に沿う(♯102)。
【0044】次に、清掃作業ロボットの位置座標を示す
変数x、yを0にし、現在の位置を原点とする。また、
作業領域を示す変数x0、y0、x1、y1を初期化す
る。具体的には、x0、y0を現在位置(原点)に設定
し、x1、y1をそれぞれXmax、Ymaxに設定す
る(♯103)。なお、Xmax、Ymaxは作業前に
操作部15から入力されている。
【0045】次に、遠い方(作業進行方向側)の壁まで
の距離をもとに、以下の式により横移動ピッチP0を計
算する(♯104)。この式は、P0を作業の終了行程
で清掃作業ロボットが作業進行方向側の壁に沿って復路
で作業を行なうように設定するものである。
【0046】P0=(W−L/2)/m … (1) P0<L−Dmin … (2) ここで、mは、(2)式を満たす最大の正の偶数。W
は、ロボットの中心から遠い方の壁までの距離であり、
測距センサの測定値をもとに、ロボット上での測距セン
サの取付位置を考慮して、計算により求める。Lは、清
掃作業ロボットの作業幅である。Dminは、ジグザグ
走行の前の走行レーンとの重なり幅の最小値であり、ロ
ボットの直進走行性能に応じて予め決定されている値で
ある。
【0047】次に、現在の作業が通常の作業かまたは作
業残り領域の作業かを示すモードフラグMFを0にする
(♯105)。なお、MF=0のとき、通常作業モード
を示しており、MF=1のとき、作業残り領域作業モー
ドを示している。
【0048】最後に、ジグザグ走行のサブルーチンを実
行し(♯106)、作業を終了する。
【0049】次に、図4に示すジグザグ走行のサブルー
チンについてさらに詳細に説明する。図5および図6
は、再帰呼出をするジグザグ走行のサブルーチンを説明
するフローチャートである。
【0050】まず、直進を開始する(♯201)。次
に、モードフラグMFを判別する(♯202)。ここ
で、MF=0ならば、通常作業モードであり、♯203
へ進み、MF=1ならば、作業残り領域作業モードであ
り、♯205へ進む。
【0051】次に、作業終了側の障害物までの距離Wを
測定し、現在の自己位置xとWからその障害物のx座標
(=x+W)を計算し、その障害物が今までに発見した
どの障害物よりも作業開始側に近ければ(♯203でY
ES)、♯204へ進み、(1)式によりP0を計算し
直し、将来、この障害物に復路で沿って走行するように
する。一方、MF=1で通常領域の作業でない場合は、
♯203、および♯204は行なわない。
【0052】次に、現在位置のy座標がy1よりも所定
量L1以上大きいか否かを判断する(♯205)。L1
は、前方障害物センサの右端と左端を結ぶ直線と、前方
障害物センサの最先端との距離である(図3参照)。本
実施例では前方障害物センサが曲面なので、前進時に前
側障害物が前方障害物センサのどの位置に接触するかに
より、前進距離にL1の差が生じる。前方障害物センサ
に障害物が完全に接触しなかったことを確認する意味で
所定量L1を加えている。y≦y1+L1ならば、♯2
09へ進み、y>y1+L1ならば、♯206へ進む。
【0053】y>y1+L1のとき、その前の走行レー
ンでのy座標の最大値よりも現在のy座標が大きいた
め、前の走行レーンには往路進行方向に障害物があった
と認識し、以降の♯207で、障害物と現在の走行レー
ンとの間の作業残り領域の作業を行なうが、その前に、
現在のモードフラグMFと、横移動ピッチP0と、x1
と、y0とをスタックに保存する(♯206)。これ
は、作業残り領域の走行のサブルーチンの中で、ジグザ
グ走行サブルーチンを再帰的に呼出して使用し、そのと
き、MF、P0、x1、y0を新しい値に書換えるため
である。
【0054】次に、作業残り領域走行サブルーチンで作
業残り領域の作業を行なう(♯207)。作業残り領域
走行サブルーチンについては後述する。
【0055】次に、作業残り領域走行サブルーチンが終
了し、通常走行に戻ったので、スタックに退避していた
MF、P0、x1、y0を復帰させ(♯208)、♯2
10へ進む。
【0056】一方、y≦y1+L1のとき、前方の障害
物に接触したか否かを判断し(#209)、接触してい
なければ♯202へ戻り、接触していれば♯210へ進
む。
【0057】次に、前方の障害物に接触した場合、y1
に現在位置のy座標を代入する(♯210)。
【0058】次に、モードフラグMFが0か1かを判別
する(♯211)。これは、ジグザグ走行サブルーチン
が作業残り領域走行のサブルーチンや終了側レーン走行
のサブルーチンの中でも呼出され、通常走行の場合と若
干異なる動作をする必要があるため、ここで、現在は通
常走行中なのか作業残り領域の走行中なのかを判別する
ためである。
【0059】次に、MF=0のとき、作業進行方向側へ
90度回転し、横移動ピッチP0だけ作業進行方向側へ
直進する。その後、さらに90度回転し、横移動ピッチ
P0でのUターンを完了する(♯212)。
【0060】次に、現在の走行レーンが作業終了側の最
もx座標の小さい障害物に沿う走行レーンか否かを判別
する(♯213)。作業終了側の最もx座標の小さい障
害物に沿う走行レーンの場合、♯214へ進み、そうで
なければ♯215へ進む。
【0061】最もx座標の小さい障害物に沿う走行レー
ンの場合、終了側レーン走行のサブルーチンを実行し
(♯214)、ジグザグ走行サブルーチンを終了しリタ
ーンする。
【0062】一方、最もx座標の小さい障害物に沿う走
行レーンでない場合、y0の位置まで直進する(♯21
5)。これは、復路の走行である。
【0063】次に、現在のy座標が作業領域の最大値x
1以上か否かを判別し(♯216)、最大値x1以上で
あればジグザグ走行サブルーチンを終了しリターンす
る。最大値x1以上でなければ、作業進行方向側へ90
度回転し、横移動ピッチP0だけ作業進行方向側へ直進
し、その後、さらに90度回転し、横移動ピッチP0で
のUターンを完了し(♯217)、♯201へ戻る。
【0064】次に、図5に示す作業残り領域走行のサブ
ルーチンについてさらに詳細に説明する。図7および図
8は、未作業領域に対応したジグザグ走行を行なう作業
残り領域走行のサブルーチンを示すフローチャートであ
る。
【0065】まず、モードフラグMFを1に設定し、作
業領域のy座標の下限値y0にy1を代入し、x座標の
上限値x1に現在のx座標を代入し、y座標の上限値y
1にYmaxを代入する(♯300)。次に、作業開始
側の障害物までの距離Dを測定する(♯301)。Dは
清掃作業部の障害物側の端から障害物までの距離であ
り、測距センサの出力をもとに、ロボット上での測距セ
ンサの取付位置を考慮して、計算により求める。
【0066】次に、Dと所定の値D0とを比較し(♯3
02)、DがD0未満であれば♯303へ進み、D0以
上であれば♯305へ進む。ここで、D0は、それまで
の走行レーン間のオーバーラップ量であり、清掃作業ロ
ボットの作業幅Lと横移動ピッチP0から、 D0=L−P0 …(3) により計算される。
【0067】D≧D0の場合は、ジグザグ走行(1往復
半)で作業残り領域を走行する。そのための横移動ピッ
チP0を下記の式で計算し(♯305)、♯308へ進
む。
【0068】P0=(D−L/2)/3 … (4) 一方、本実施例では、前側障害物センサの幅が清掃作業
部の幅より小さいので、前側障害物センサが前方障害物
を検出しなくても、そのまま前進すると、清掃作業部に
障害物が接触する場合がある。この場合、作業残り領域
の幅Dはマイナスとなる。そしてD<0の場合は、作業
開始側の障害物の反対側へDだけ横移動して障害物に沿
い(♯306)、走行レーン数1で作業する(♯30
7)。
【0069】一方、0<D<D0の場合は、作業残り領
域の幅が小さいので、作業開始側の障害物に向かって横
移動して障害物に沿い(♯304)、走行レーン数1で
作業する(♯307)。このようにしても、横移動量
は、今までの走行レーン間のオーバーラップ量以内とな
るので、この後も作業残りを生じることはない。
【0070】次に、直進を開始する(♯308)。次
に、作業開始側の障害物までの距離Dを測定し、所定の
値Dmaxと比較する(♯309)。Dmaxは、作業
残り領域の最大幅であり、以下の式により計算される。
【0071】Dmax=2×L … (5) DがDmax以上であれば♯310へ進み、Dmax未
満であれば♯312へ進む。
【0072】DがDmax以上であれば、作業開始側の
障害物がなくなったと認識する。そして、作業開始側の
障害物の奥に未作業領域があることを認識し、そのこと
を所定のフラグに記憶する(♯310)。次に、現在位
置のy座標をy1に代入して記憶し(♯311)、♯3
16へ進む。
【0073】一方、DがDmax未満であり、まだ作業
開始側の障害物があるものと認識すると、そのまま直進
する。そして、直進しながら自己中心位置から作業終了
側の障害物までの距離Wを測定し、現在の自己位置xと
Wとからその障害物のx座標(=x+W)を計算し、そ
の障害物が今までに発見したどの障害物よりも作業開始
側に近ければ(♯312)、♯313へ進み、そうでな
ければ♯314へ進む。
【0074】障害物が今までに発見したどの障害物より
も作業開始側に近い場合、(1)式によりP0を計算し
直し(♯313)、将来、この障害物に復路で沿って走
行するようにする。
【0075】次に、前方の障害物に接触したかどうかを
判別する(♯314)。前方の障害物に接触していれ
ば、♯311へ進み、現在位置のy座標をy1に代入し
て記憶する。一方、接触していなければ♯315へ進
む。
【0076】前方の障害物に接触していない場合、現在
位置のy座標がy1よりも所定量L1以上大きいか否か
を判別する(♯315)。y1よりL1以上大きい場合
は♯316へ進み、大きくなければ♯308へ戻る。
【0077】現在位置のy座標がy1よりL1以上大き
いの場合、作業残り領域の走行レーン数(♯305また
は♯307で求めた値)を終了したかどうかを判別する
(♯316)。未終了であれば♯317へ進み、終了し
ていれば♯320へ進む。
【0078】未終了の場合、作業開始方向側へ90度回
転し、横移動ピッチP0だけ作業開始方向側へ直進し、
その後、さらに90度回転し、横移動ピッチP0でのU
ターンを完了する(♯317)。
【0079】次に、y座標がy0になるまで直進する
(♯318)。y0は、♯301で記憶した作業残り領
域の開始位置のy座標である。
【0080】次に、作業開始方向側へ90度回転し、横
移動ピッチP0だけ作業開始方向側へ直進し、その後、
さらに90度回転し、横移動ピッチP0でのUターンを
完了し(♯319)、♯308へ戻る。
【0081】一方、作業残り領域の走行レーン数を終了
していない場合、障害物の奥に未作業領域があったかど
うか(♯310で記録済)を判別し(♯320)、未作
業領域があれば♯322へ進み、なければ♯321へ進
む。
【0082】未作業領域がない場合、作業残り領域の作
業を終了し、作業進行方向側へ90度回転し、x=x1
の位置まで直進し、さらに往路進行方向を向くように
(直前の回転方向と逆の方向に)90度回転し(♯32
1)、作業残り領域の作業を終了しリターンする。
【0083】一方、未作業領域がある場合、現在位置の
y座標をy0に代入し、y1にYmaxを代入する(♯
322)。なお、次の♯325で行なうジグザグ走行サ
ブルーチンにおいて、y0は作業領域の開始位置のy座
標になり、y1は終了位置のy座標の初期値になる。x
1は♯301で設定された値のままであり、作業残り領
域の作業進行方向側端のx座標であって、♯325で行
なうジグザグ走行サブルーチンにおいて、終了位置のx
座標となる。
【0084】次に、横移動可能な位置まで直進した後、
作業開始方向側へ90度回転し、未作業領域の作業開始
方向側の端まで直進し、さらに往路進行方向を向くよう
に(直前の回転方向と逆方向に)90度回転し壁に倣う
(♯323)。
【0085】次に、現在位置のx座標と、x1から未作
業領域の作業幅を求め、走行レーン数mと横移動ピッチ
P0を以下の式により計算する(♯324)。
【0086】P0=(x1−x)/m … (6) P0<L−Dmin … (7) ここで、mは、(7)式を満たす最大の正の偶数であ
り、Lは、清掃作業ロボットの作業幅である。Dmin
は、ジグザグ走行の前の走行レーンとの重なり幅の最小
値であり、清掃作業ロボットの直進走行性能に応じて予
め決定されている値である。
【0087】最後に、ジグザグ走行サブルーチンを実行
した後(♯325)、作業残り領域走行のサブルーチン
を終了してリターンする。このジグザグ走行サブルーチ
ン中に、作業残り領域が発生した場合は、作業残り領域
走行のサブルーチンが再帰的に呼出される。
【0088】次に、上記の各フローチャートに従った清
掃作業ロボットの具体的な動作について説明する。図9
は、図1に示す清掃作業ロボットの第1の動作を説明す
るための図である。
【0089】図9を参照して、まず、a点は、♯103
の作業領域の原点位置を示している。すなわち、最初に
置いた位置が左の壁に近かった場合の例であり、♯10
1〜♯102でこの場所まで移動する。次に、♯104
で、右側の壁までの距離を測定し、横移動ピッチP0を
計算する。
【0090】次に、b点は、♯201〜♯205でジグ
ザグ走行を繰返し、最後に前方の棚に接触する場所を示
している。今後、この位置のy座標がy1である。ジグ
ザグ走行中、♯203〜♯204で周期的に右側の壁ま
での距離を測定するが、まだ最初の壁しか発見しておら
ず、横移動ピッチP0はそのままである。
【0091】次に、ジグザグ走行中初めて前方に壁のな
い領域すなわちc点にきたので、c点の位置は、b点の
位置よりも前方に進んだ位置となる。このとき、♯20
5でそのことを発見し、♯206へ進み、その後作業残
り領域走行のサブルーチンへ進む。そして、少し直進し
て横の棚までの距離を測定できる位置まで進み、左の棚
までの距離を測定する。この場合、横の棚までの距離が
大きいので、1往復半で棚の横を作業することにし、横
移動ピッチP0を計算する。
【0092】次に、♯309で、左の棚までの距離を測
定しつつ直進し、d点の位置で左の障害物までの距離が
大きくなり、左の棚がなくなったことを発見する。そし
て、左の棚の奥に未作業領域があることを記憶する(♯
309〜♯310)。
【0093】次に、作業残り領域をジグザグ走行で作業
し、左の棚の奥に進んで、壁に倣ったところがe点であ
る(♯323)。次に、♯324で横移動ピッチP0を
計算するが、この場合、今の位置は最初の壁と同じ壁な
ので、計算の結果は最初の横移動ピッチと同じになる。
【0094】次に、f点は、ジグザグ走行のサブルーチ
ンを実行して未作業領域の作業を終了した位置である
(♯325)。次に、Uターンして、f点から次の走行
レーンへ移るが、この走行レーンが右側の壁においてあ
る棚に沿う走行レーンなので、♯213で♯214へ進
んで終了側レーン走行のサブルーチンを実行し、右側の
壁まで移動してg点に達し、壁に沿う。
【0095】そして、右と左、前と後を入換え、ジグザ
グ走行を行なって、最終的にh点まで移動し作業を終了
する。
【0096】次に、図1に示す清掃作業ロボットの第2
の動作について説明する。図10は、図1に示す清掃作
業ロボットの第2の動作を説明するための図である。
【0097】図10を参照して、図10に示すa点から
e点までは、図9に示すa点からe点までの動作と同じ
動作であるため、詳細な説明を省略し、以降の動作につ
いて説明する。
【0098】まず、f点は、棚の奥の未作業領域を作業
中に、さらに作業残り領域が発生することを検出したと
ころである。次に、g点は、終了側レーン走行のサブル
ーチンの実行中に作業残り領域を発見し、作業残り領域
の作業を行なっているところである。
【0099】次に、図1に示す清掃作業ロボットの第3
の動作について説明する。図11は、図1に示す清掃作
業ロボットの第3の動作を説明するための図である。
【0100】図9に示すc点の位置で、作業残り領域の
発生を発見した後、作業残り領域の幅と現在位置のx座
標とをもとに、左側の棚で作業残り領域が発生しないよ
うな横移動ピッチPを計算し、ピッチ記憶部14に記憶
する。そして、次回から初期横移動ピッチとして、ピッ
チ記憶部14に記憶された横移動ピッチPを用いること
により、図11に示すように左の棚で作業残り領域が発
生しないように作業することができる。ここで、左側の
棚で作業残り領域が発生しないような横移動ピッチP
は、以下の式により計算される。
【0101】P=(x1−D)/m … (8) P<L−Dmin … (9) ここで、mは、(9)式を満たす最大の正の偶数であ
り、x1は、図9のc点の位置のx座標である。Dは、
図9のc点の位置での作業開始側の障害物と清掃作業ロ
ボットの作業開始方向側端との距離であり、Lは、清掃
作業ロボットの作業幅である。Dminは、ジグザグ走
行の前の走行レーンとの重なり幅の最小値であり、清掃
作業ロボットの直進走行性能に応じて予め決定されてい
る値である。
【0102】なお、ピッチ記憶部14には、複数の横移
動ピッチの値を記憶することもできるので、図10に示
すように作業残り領域が複数回生じる場合でも有効であ
る。
【0103】次に、清掃作業ロボットの第4の動作例に
ついて説明する。図12は、図1に示す清掃作業ロボッ
トの第4の動作例を説明するための図である。
【0104】これまでの説明では、作業残り領域の幅
を、横方向の障害物までの距離を測定する左側測距セン
サ11aまたは右側測距センサ11bにより測定してい
たが、これらの測距センサを用いなくても、作業残り領
域の幅を測定することができる。図12は測距センサを
用いずに作業残り領域の幅を測定する方法を説明するた
めの図である。
【0105】まず、図12のc点の位置で、作業残り領
域の発生を発見後、さらに車体幅の半分の距離だけ直進
し、作業開始方向側に90度回転する。そして、障害物
に接触するまで(図12のd点)作業開始方向に直進す
る。このときの横方向移動距離から作業残り領域の幅を
知ることができる。すなわち、図9では、作業残り領域
の作業は、作業進行方向側から作業開始方向側へ向かっ
て行なわれるが、図12では、作業残り領域の作業は作
業開始方向側から作業終了方向側へ向かって行なわれ
る。上記のように、障害物に接触するまで移動すること
により測距センサを用いなくても作業残り領域の幅を測
定することが可能となる。
【図面の簡単な説明】
【図1】本発明の一実施の形態の清掃作業ロボットの構
成を示す概略図である。
【図2】図1に示す清掃作業ロボットの制御部の構成を
示すブロック図である。
【図3】側方倣いセンサの使用状況を説明するための図
である。
【図4】測距してジグザグ走行の横移動ピッチを計算す
る処理を説明するためのフローチャートである。
【図5】図4に示すジグザグ走行の処理の一部を説明す
るためのフローチャートである。
【図6】図4に示すジグザグ走行の処理の他の一部を説
明するためのフローチャートである。
【図7】図5に示す作業残り領域走行のサブルーチンの
一部を説明するためのフローチャートである。
【図8】図5に示す作業残り領域走行のサブルーチンの
他の一部を説明するためのフローチャートである。
【図9】図1に示す清掃作業ロボットの第1の動作例を
説明するための図である。
【図10】図1に示す清掃作業ロボットの第2の動作例
を説明するための図である。
【図11】図1に示す清掃作業ロボットの第3の動作例
を説明するための図である。
【図12】図1に示す清掃作業ロボットの第4の動作例
を説明するための図である。
【符号の説明】
1 車体部 2 走行部 3 前方障害物センサ 4 側方倣いセンサ 5a 左側駆動車輪 5b 右側駆動車輪 6a 左側駆動モータ 6b 右側駆動モータ 7a 前側自在キャスタ車輪 7b 後側自在キャスタ車輪 8 清掃作業部 9 車体部回転軸 10 車体部回転駆動モータ 11a 左側測距センサ 11b 右側測距センサ 12 走行制御部 13a 左側回転数検出エンコーダ 13b 右側回転数検出エンコーダ 14 ピッチ記憶部 15 操作部 16 演算制御部
フロントページの続き (72)発明者 金藤 靖尚 大阪市中央区安土町二丁目3番13号大阪 国際ビル ミノルタ株式会社内 (56)参考文献 特開 平5−257533(JP,A) 特開 平3−184105(JP,A) 特開 昭62−154008(JP,A) 特開 平5−165517(JP,A) (58)調査した分野(Int.Cl.7,DB名) G05D 1/00 - 1/12

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項1】 障害物を検出するとUターンするジグザ
    グ走行により所定の作業を行なう自律移動作業車であっ
    て、 前方の障害物を検出する検出手段と、 自己の位置および進行方向を計測する計測手段と、前記障害物を直接検出することなく、 現在走行している
    第1走行レーンでの位置が以前に走行した同一方向の第
    2走行レーンでの終了位置を進行方向側へ所定量以上越
    えた場合に、前記第2走行レーンには進行方向に障害物
    があったと認識し、前記第1走行レーンと横方向の障害
    物の側面との間に作業を行なっていない作業残り領域が
    あると判断する判断手段とを含む自律移動作業車。
  2. 【請求項2】 前記判断手段により前記作業残り領域が
    あると判断された場合、前記作業残り領域の幅を測定す
    る測定手段をさらに含む請求項1記載の自律移動作業
    車。
  3. 【請求項3】 前記測定手段は、前記作業残り領域側に
    車体を90度方向転換させ、進行方向に障害物を検出す
    るまで直進して障害物の側面までの距離を測定すること
    により、前記作業残り領域の幅を測定する請求項2記載
    の自律移動作業車。
  4. 【請求項4】 横方向の障害物までの距離を測定する測
    距センサをさらに含み、 前記測定手段は、前記測距センサを用いて障害物の側面
    までの距離を測定することにより前記作業残り領域の幅
    を測定する請求項2記載の自律移動作業車。
  5. 【請求項5】 前記自律移動作業車は、前記測定手段に
    より測定された前記作業残り領域の幅が所定の幅より小
    さい場合、横移動することにより横方向の障害物の側面
    に沿うように走行経路を修正して作業残り領域が発生し
    ないように作業を行なう請求項2記載の自律移動作業
    車。
  6. 【請求項6】 前記測定手段により測定された前記作業
    残り領域の幅をもとに、同一作業領域を再度作業する場
    合に前記作業残り領域が発生しないように横移動ピッチ
    を計算する計算手段と、 前記計算手段により計算された横移動ピッチを記憶する
    記憶手段とをさらに含む請求項2記載の自律移動作業
    車。
  7. 【請求項7】 横方向の障害物までの距離を測定する測
    距センサと、 前記第1走行レーンでの位置が前記第2走行レーンでの
    終了位置を越えてさらに進行方向側に走行する際、前記
    測距センサを用いて横方向の障害物の側面の存在の有無
    を確認する確認手段とをさらに含み、 前記自律移動作業車は、前記検出手段により前方の障害
    物を検出するか、前記第1走行レーンでの走行距離が所
    定の走行距離に到達するか、または、前記確認手段によ
    り横方向の障害物の側面がないことを検出するかのいず
    れかの場合に、前記作業残り領域の作業を行なう請求項
    1記載の自律移動作業車。
  8. 【請求項8】 前記自律移動作業車は、前記確認手段が
    横方向の障害物の側面がないことを確認した場合、横方
    向の障害物の奥側に未作業領域があることを認識し、前
    記作業残り領域の作業を行なった後、前記未作業領域の
    作業を行なう請求項7記載の自律移動作業車。
JP01322596A 1996-01-29 1996-01-29 自律移動作業車 Expired - Fee Related JP3237500B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP01322596A JP3237500B2 (ja) 1996-01-29 1996-01-29 自律移動作業車
US08/789,127 US6574536B1 (en) 1996-01-29 1997-01-27 Moving apparatus for efficiently moving on floor with obstacle

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP01322596A JP3237500B2 (ja) 1996-01-29 1996-01-29 自律移動作業車

Publications (2)

Publication Number Publication Date
JPH09204224A JPH09204224A (ja) 1997-08-05
JP3237500B2 true JP3237500B2 (ja) 2001-12-10

Family

ID=11827245

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01322596A Expired - Fee Related JP3237500B2 (ja) 1996-01-29 1996-01-29 自律移動作業車

Country Status (1)

Country Link
JP (1) JP3237500B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001265437A (ja) * 2000-03-16 2001-09-28 Figla Co Ltd 移動体制御装置
US7663333B2 (en) 2001-06-12 2010-02-16 Irobot Corporation Method and system for multi-mode coverage for an autonomous robot
KR101240732B1 (ko) 2005-02-18 2013-03-07 아이로보트 코퍼레이션 습식 및 건식 청소를 위한 자동 표면 청소 로봇
ES2522926T3 (es) 2005-12-02 2014-11-19 Irobot Corporation Robot Autónomo de Cubrimiento
KR100772907B1 (ko) 2006-05-01 2007-11-05 삼성전자주식회사 장애물 감지 기능을 가지는 로봇 및 그 제어 방법
KR101301834B1 (ko) * 2007-05-09 2013-08-29 아이로보트 코퍼레이션 소형 자율 커버리지 로봇
JP6775228B2 (ja) * 2016-07-25 2020-10-28 国立大学法人豊橋技術科学大学 自律走行装置
DE112020006471T5 (de) * 2020-01-09 2022-10-27 Honda Motor Co., Ltd. Steuervorrichtung und Arbeitsmaschine

Also Published As

Publication number Publication date
JPH09204224A (ja) 1997-08-05

Similar Documents

Publication Publication Date Title
US5896488A (en) Methods and apparatus for enabling a self-propelled robot to create a map of a work area
US6119057A (en) Autonomous vehicle with an easily set work area and easily switched mode
US6574536B1 (en) Moving apparatus for efficiently moving on floor with obstacle
US6124694A (en) Wide area navigation for a robot scrubber
US5548511A (en) Method for controlling self-running cleaning apparatus
EP0142594B1 (en) Control system for mobile robot
JP4533787B2 (ja) 作業ロボット
JPH1055215A (ja) 移動走行車
JPS62120510A (ja) 自動掃除機の制御方法
JP2007213236A (ja) 自律走行ロボットの経路計画方法及び自律走行ロボット
JP2005135400A (ja) 自走式作業ロボット
JPS62154008A (ja) 自走ロボツトの走行制御方法
JP2005309700A (ja) 自走式移動体、移動体制御方法、及びコンピュータプログラム
JP3237500B2 (ja) 自律移動作業車
JPH09204223A (ja) 自律移動作業車
JPH09265319A (ja) 自律走行車
JP3498495B2 (ja) 自律走行車
JPH0884696A (ja) 清掃ロボットの制御方法及びその装置
JPS6093522A (ja) 移動ロボツトの制御装置
CN115500737A (zh) 一种地面介质探测方法、装置及清洁设备
JP2000039918A (ja) 移動ロボット
JP2005346477A (ja) 自律走行体
JP2517240B2 (ja) 無人走行車輌
JP2609890B2 (ja) 自走式作業車
JPH06149364A (ja) 無人走行車の制御装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20010904

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071005

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081005

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091005

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091005

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101005

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111005

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121005

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121005

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131005

Year of fee payment: 12

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees