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

自律移動作業車

Info

Publication number
JPH09204223A
JPH09204223A JP8013134A JP1313496A JPH09204223A JP H09204223 A JPH09204223 A JP H09204223A JP 8013134 A JP8013134 A JP 8013134A JP 1313496 A JP1313496 A JP 1313496A JP H09204223 A JPH09204223 A JP H09204223A
Authority
JP
Japan
Prior art keywords
work
obstacle
traveling
autonomous mobile
distance
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.)
Pending
Application number
JP8013134A
Other languages
English (en)
Inventor
Nobukazu Kawagoe
宣和 川越
Yuichi Kawakami
雄一 川上
Kyoko Nakamura
恭子 中村
Yasuhisa Kanefuji
靖尚 金藤
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.)
Minolta Co Ltd
Original Assignee
Minolta Co Ltd
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 Minolta Co Ltd filed Critical Minolta Co Ltd
Priority to JP8013134A priority Critical patent/JPH09204223A/ja
Priority to US08/789,127 priority patent/US6574536B1/en
Publication of JPH09204223A publication Critical patent/JPH09204223A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】 均一な作業品質で作業領域の全範囲を作業す
ることができる自律移動作業車を提供する。 【解決手段】 左右の障害物までの距離を測定し(♯1
01)、測定した距離のうち近い方(作業開始側)の障
害物に向かって進み、壁に沿う(♯102)。次に、遠
い方(作業終了側)の障害物までの距離をもとに、横移
動ピッチP0を計算する(♯104)。計算した横移動
ピッチP0に従って、ジグザグ走行を行なう。

Description

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

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 ジグザグ走行により所定の作業を行なう
    自律移動作業車であって、 作業開始時に横方向の障害物までの距離を測定する測定
    手段と、 前記測定手段により測定された横方向の障害物までの距
    離のうち作業進行方向側の障害物までの距離をもとに、
    ジグザグ走行時の走行レーンの横移動ピッチを算出する
    算出手段とを含み、 前記自律移動作業車は、前記算出手段により算出された
    横移動ピッチに従いジグザグ走行を行なう自律移動作業
    車。
  2. 【請求項2】 前記測定手段により直進走行中に測定さ
    れた作業進行方向側の障害物までの距離のうち最小値を
    記憶する記憶手段をさらに含み、 前記算出手段は、前記記憶手段により記憶されている最
    小値が更新されるごとに、前記記憶手段に記憶されてい
    る最小値に対応する障害物に沿う走行レーンが生ずるよ
    うに前記横移動ピッチを算出し、 前記自律移動作業車は、前記算出手段により算出された
    最新の横移動ピッチに従いジグザグ走行を行なう請求項
    1記載の自律移動作業車。
  3. 【請求項3】 前記自律移動作業車は、前記記憶手段に
    記憶されている最小値に対応する障害物に倣って最終の
    走行レーンを走行しているとき、作業進行方向側の障害
    物までの距離が最小値でなくなった場合、最小値に対応
    する障害物に倣って走行する第1走行レーンと前記最小
    値でない作業進行方向側の障害物に倣って走行する第2
    走行レーンとで挟まれる領域を作業した後、前記第1走
    行レーンに戻って作業を行なう請求項2記載の自律移動
    作業車。
JP8013134A 1996-01-29 1996-01-29 自律移動作業車 Pending JPH09204223A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP8013134A JPH09204223A (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
JP8013134A JPH09204223A (ja) 1996-01-29 1996-01-29 自律移動作業車

Publications (1)

Publication Number Publication Date
JPH09204223A true JPH09204223A (ja) 1997-08-05

Family

ID=11824699

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JPH09204223A (ja)

Cited By (10)

* 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 移動体制御装置
JP2008296900A (ja) * 2008-05-19 2008-12-11 Panasonic Electric Works Co Ltd 動力車
US8380350B2 (en) 2005-12-02 2013-02-19 Irobot Corporation Autonomous coverage robot navigation system
US8387193B2 (en) 2005-02-18 2013-03-05 Irobot Corporation Autonomous surface cleaning robot for wet and dry cleaning
US8838274B2 (en) 2001-06-12 2014-09-16 Irobot Corporation Method and system for multi-mode coverage for an autonomous robot
US9949608B2 (en) 2002-09-13 2018-04-24 Irobot Corporation Navigational control system for a robotic device
US9955841B2 (en) 2006-05-19 2018-05-01 Irobot Corporation Removing debris from cleaning robots
US10070764B2 (en) 2007-05-09 2018-09-11 Irobot Corporation Compact autonomous coverage robot
US10314449B2 (en) 2010-02-16 2019-06-11 Irobot Corporation Vacuum brush
CN111061263A (zh) * 2019-11-27 2020-04-24 小狗电器互联网科技(北京)股份有限公司 机器人清扫绕障的方法和扫地机器人

Cited By (15)

* 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 移動体制御装置
US8838274B2 (en) 2001-06-12 2014-09-16 Irobot Corporation Method and system for multi-mode coverage for an autonomous robot
US9949608B2 (en) 2002-09-13 2018-04-24 Irobot Corporation Navigational control system for a robotic device
US8387193B2 (en) 2005-02-18 2013-03-05 Irobot Corporation Autonomous surface cleaning robot for wet and dry cleaning
US8380350B2 (en) 2005-12-02 2013-02-19 Irobot Corporation Autonomous coverage robot navigation system
US9955841B2 (en) 2006-05-19 2018-05-01 Irobot Corporation Removing debris from cleaning robots
US10070764B2 (en) 2007-05-09 2018-09-11 Irobot Corporation Compact autonomous coverage robot
US10299652B2 (en) 2007-05-09 2019-05-28 Irobot Corporation Autonomous coverage robot
US11072250B2 (en) 2007-05-09 2021-07-27 Irobot Corporation Autonomous coverage robot sensing
US11498438B2 (en) 2007-05-09 2022-11-15 Irobot Corporation Autonomous coverage robot
JP2008296900A (ja) * 2008-05-19 2008-12-11 Panasonic Electric Works Co Ltd 動力車
US10314449B2 (en) 2010-02-16 2019-06-11 Irobot Corporation Vacuum brush
US11058271B2 (en) 2010-02-16 2021-07-13 Irobot Corporation Vacuum brush
CN111061263A (zh) * 2019-11-27 2020-04-24 小狗电器互联网科技(北京)股份有限公司 机器人清扫绕障的方法和扫地机器人
CN111061263B (zh) * 2019-11-27 2023-11-28 小狗电器互联网科技(北京)股份有限公司 机器人清扫绕障的方法和扫地机器人

Similar Documents

Publication Publication Date Title
US6574536B1 (en) Moving apparatus for efficiently moving on floor with obstacle
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
JP2017107563A (ja) 自律走行装置及び測距装置
JP2005135400A (ja) 自走式作業ロボット
JPH1055215A (ja) 移動走行車
JP2009037378A (ja) 自律走行装置およびプログラム
JPS62154008A (ja) 自走ロボツトの走行制御方法
JP2005309700A (ja) 自走式移動体、移動体制御方法、及びコンピュータプログラム
JPH09265319A (ja) 自律走行車
JPH0884696A (ja) 清掃ロボットの制御方法及びその装置
JP3237500B2 (ja) 自律移動作業車
JP5212939B2 (ja) 自律移動装置
CN115500737A (zh) 一种地面介质探测方法、装置及清洁设备
CN119744375B (zh) 机器人及机器人行进方法、机器人系统及计算机存储介质
JPH10105233A (ja) 自律走行車
JPS6093522A (ja) 移動ロボツトの制御装置
JP2011138386A (ja) 走行支援装置および走行支援方法
JP5251862B2 (ja) 走行支援装置および走行支援方法
JP2005346477A (ja) 自律走行体
JP6863325B2 (ja) 清掃ロボットの走行経路生成装置
JP3401023B2 (ja) 無人作業車の制御方法
JP2000222035A (ja) 自動走行装置
JPH03292513A (ja) 移動ロボット
JPH0816242A (ja) 無人走行車およびその走行制御方法

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20010904