トップ :: G 物理学 :: G05 制御;調整




【発明の名称】 移動体制御装置
【発明者】 【氏名】川越 宣和

【要約】 【課題】清掃、ワックス掛け等の作業を行う移動体を指定された範囲で移動させるための制御装置であって、低コストで構成でき、あらかじめ作業範囲を実測する必要が無く、ユーザーの目的に応じて、最も効率の良い往復間隔を自動的に算出する機能を有する移動体制御装置を提供すること。

【解決手段】所定の作業を行う移動体が指定された範囲を隈なく作業できるように、当該移動体を適切な間隔をおいて往復させる制御を行う移動体制御装置であって、前記移動体の走行を操作し当該移動体の位置と向きとを変更させる位置・方向制御手段と、移動領域の設定を開始する領域設定手段と、移動領域の設定を終了する設定終了手段と、移動領域設定開始時における移動体の位置と向きを記憶する開始状態記憶手段と、領域設定終了時の移動体の位置と向きを記憶する終了状態記憶手段と、領域設定開始時の移動体の位置と向きと、領域設定終了時の移動体の位置と向きとの関係に基づいて作業領域と移動体の往復の間隔を決定する往復間隔決定手段とを設けた。
【特許請求の範囲】
【請求項1】 所定の作業を行う移動体が指定された範囲を隈なく作業できるように、当該移動体を適切な間隔をおいて往復させる制御を行う移動体制御装置であって、前記移動体の走行を操作し当該移動体の位置と向きとを変更させる位置・方向制御手段と、移動領域の設定を開始する領域設定手段と、移動領域の設定を終了する設定終了手段と、移動領域設定開始時における移動体の位置と向きを記憶する開始状態記憶手段と、領域設定終了時の移動体の位置と向きを記憶する終了状態記憶手段と、領域設定開始時の移動体の位置と向きと、領域設定終了時の移動体の位置と向きとの関係に基づいて作業領域と移動体の往復の間隔を決定する往復間隔決定手段とを備えることを特徴とする移動体制御装置。
【請求項2】 前記往復間隔決定手段は、領域設定開始時の移動体の向きと領域設定終了時の移動体の向きとが同じ場合は走行レーン数が奇数になるように往復間隔を決定し、領域設定開始時の移動体の向きと領域設定終了時の移動体の向きとが反対の場合は走行レーン数が偶数になるように往復間隔を決定する請求項1に記載の移動体制御装置。
【請求項3】 前記往復間隔決定手段は、領域設定開始時の移動体の向きと領域設定終了時の移動体の向きとの角度差がおよそ90度である場合は、走行レーン数が奇数になるか偶数になるかに関わらず、作業残りが生じない範囲で出来るだけ往復間隔を大きくすることにより、走行レーン数が最小になるように往復間隔を決定する請求項1に記載の移動体制御装置。
【発明の詳細な説明】【0001】
【発明の属する技術分野】この発明は、所定の作業領域を走行し清掃やワックス塗布等の作業を隈なく行う自律走行作業車(移動体)の移動制御装置に関するものである。
【0002】
【従来の技術】特定の作業を行う移動体が指定された範囲を隈なく作業するために、前記移動体を所望の間隔をおいて往復させる制御を行う移動体制御装置であって、移動体が移動する範囲を指定する手段と、前記移動体が移動を終了する位置に関する情報を入力する手段と、指定された範囲と終了位置に関する情報に基づいて往復間隔を決定する決定手段とを備えた移動体制御装置が開発されている(特開平9−269824号参照)。この公報には、実施形態例として、液晶表示部を備えたリモートコントローラで移動範囲の縦距離と横距離を数値入力し移動範囲の指定を行う装置が記載されている。このリモートコントローラには、終了位置情報として、往路で終わるか復路で終わるかを指定するスイッチが設けられていて、移動範囲のデータ―と、往路で終わるか復路で終わるかの情報を基に、作業残りの生じない範囲で条件を満たす最大の往復間隔を算出するようになっている。
【0003】しかしながら、上記公知の装置は、データ入力のため入力装置に表示部が必要であるので、入力装置は高価なものとなるほか、移動範囲を数値入力しなければならないため、作業領域の寸法をあらかじめ実測しておく必要があり、簡便さに欠けるという問題点がある。さらに、ユーザーのニーズとしては、終了の位置は問題でなく作業効率のみが問題となる場合もあるが、上記実施例の装置では、終了位置を往路か復路かどちらかに必ず指定する必要があるため、ユーザーが自分自身で最も往復間隔が大きくなる終了位置を、移動範囲の情報と移動体の作業幅の情報を基に計算する必要があり、簡便さの点で問題がある。
【0004】
【発明が解決しようとする課題】本発明は、入力装置に領域設定時のデータ入力に関わる表示部を不要として低コストで構成でき、移動範囲の設定に際して、あらかじめ作業範囲を実測する必要が無く、ユーザーの目的に応じて、最も効率の良い往復間隔を自動的に算出する機能を有する移動体制御装置を提供することを課題としている。
【0005】
【課題を解決するための手段】上記課題を解決するため、本発明は次のような構成とした。すなわち、本発明に係る移動体制御装置は、所定の作業を行う移動体が指定された範囲を隈なく作業できるように、当該移動体を適切な間隔をおいて往復させる制御を行う移動体制御装置であって、前記移動体の走行を操作し当該移動体の位置と向きとを変更させる位置・方向制御手段と、移動領域の設定を開始する領域設定手段と、移動領域の設定を終了する設定終了手段と、移動領域設定開始時における移動体の位置と向きを記憶する開始状態記憶手段と、領域設定終了時の移動体の位置と向きを記憶する終了状態記憶手段と、領域設定開始時の移動体の位置と向きと、領域設定終了時の移動体の位置と向きとの関係に基づいて作業領域と移動体の往復の間隔を決定する往復間隔決定手段とを備えることを特徴としている。
【0006】本発明の移動体制御装置は、領域設定開始時の移動体の位置と向きと領域設定終了時の移動体の位置と向きとの関係を基に、作業領域と前記往復の間隔を決定する決定手段とを備えているので、ユーザーが実際の移動体の位置によって移動範囲を確認することが出来、また実際の移動体の向きによって終了位置を確認することが出来る。このため、入力装置に領域設定時のデータ入力に関わる表示部が不要となりコスト削減が可能である。
【0007】さらに、領域設定開始時の移動体の向きと領域設定終了時の移動体の向きとが同じ場合は、走行レーン数が奇数になるように、すなわち移動終了時が往路になるように往復間隔を決定し、領域設定開始時の移動体の向きと領域設定終了時の移動体の向きとが反対の場合は、走行レーン数が偶数になるように、すなわち移動終了時が復路になるように往復間隔を決定することにより、領域設定終了時の移動体の向きと、移動終了時の移動体の向きとが同じ向きになるので、ユーザーは直感的にわかりやすく移動終了時の方向を設定することが可能になる。
【0008】また、領域設定開始時の移動体の向きと領域設定終了時の移動体の向きとがおよそ90度異なる場合は、走行レーン数が奇数になるか偶数になるかに関わらず、作業残りが生じない範囲で出来るだけ往復間隔を大きくして、走行レーン数が最小になるように往復間隔を決定することにより、ユーザーのニーズとして移動終了時の位置は問題でなく作業効率のみが間題となる場合にも、自動的に最も効率の良い走行レーン数が設定されるので、ユーザーに面倒な計算を強いることが無くなる。
【0009】
【発明の実施の形態】以下、本発明の実施形態に基づいてより具体的に説明する。図1は本発明の移動体制御装置を備えた移動体の1例を表すもので、この移動体1は自走しつつ床面の清掃又はワックス掛けを行う自走式ワックス塗布ロボットであり、コントロ―ラ2によって制御される。
【0010】図1乃至図3において、この移動体(以下「清掃ロボット」と呼ぶ)1は、障害物との距離を測定する複数の超音波センサと、床面に対してワックス塗布を行う作業部5と、走行装置6とを備えている。走行装置6は、左右の車輪6a,6bと該車輪を回転駆動する走行モータ7a,7bと、車輪の回転数を計測する走行エンコーダ8a,8bと、自在キャスタ9とを備えている。
【0011】図2はコントロ―ラの平面図であり、このコントロ―ラ2は移動体である清掃ロボット1を遠隔操作したり、作業領域や走行経路を設定するために用いられる。コントロ―ラ2の入力部として、作業領域や走行経路の設定を開始するための設定開始ボタン21と、設定を終了するための設定終了ボタン22と、設定された作業工程の実行を指示するための実行ボタン23と清掃ロボットを緊急停止させるための緊急停止ボタン24と、清掃ロボットを前進させる前進ボタン25と、清掃ロボットを後退させる後退ボタン26と、清掃ロボット1が停止中には左90度旋回を行わせ、前進もしくは後退中には左カーブを行わせる左ボタン27と、清掃ロボット1が停止中には右90度旋回を行わせ、前進もしくは後退中には右カーブを行わせる右ボタン28と、前進動作、後退動作を停止させる停止ボタン29とが設けられている。
【0012】図3、図4は移動体である清掃ロボット1の構成を表すもので、この清掃ロボットには、上記のとおり、清掃作業部5と走行装置6が設けられ、センサとして前方の障害物までの距離を測定するための前方超音波センサ3a,3bと、左側方の障害物までの距離を測定するための左側超音波センサ3cと、右側方の障害物までの距離を測定するための右側超音波センサ3dと、清掃ロボット1 の向きを測定するためのジャイロセンサ4とが設けられている。
【0013】また、この清掃ロボット1には、上記センサ、エンコーダ等の検出信号が入力される制御装置10と、電池11と、電源部12と、リモコン受信部13と記憶部14とが設けられている。清掃ロボット1の走行、作業等は上記制御装置10によって制御される。
【0014】左右の車輪6a,6bは、それぞれ走行モータ7a,7bによって独立に駆動される。この走行モータ7a,7bは、制御部10により走行エンコ―ダ8a,8bの出力に基づき、回転方向と回転速度が制御される。左右の車輪が同じ方向に回転すれば前進、もしくは後退を行い、左右の回転スピードの差によりカーブ走行を行う。左右の車輪を互いに逆向きに回転させることにより、その場での旋回動作を行う。さらに制御部10は左右走行エンコ―ダの出力の累積値を計算することにより走行距離を計算し、ジャイロセンサ4の出力に基づき、清掃ロボット1の方向を算出して、該清掃ロボットの位置を計算するとともに、停止位置及び方向の制御を行う。
【0015】また、制御部10は、前方超音波センサ3a,3bの検出値を基に前方の障害物を検知し、走行停止やUターンなどの走行制御を行う。また左右超音波センサ3c,3dの検出値を基に、前進もしくは後退時に側方の平らな壁までの距離が―定になるようにカ―ブ走行の制御を行う壁倣い走行制御を行う。さらに、リモコン受信部13からの入力に従い、前進、後退、カーブ、旋回の各動作の制御を行うとともに、領域設定時においては、走行距離や方向の計算値を基に、作業実行時に必要な作業用パラメーターを算出し、記憶部14に記憶する。作業実行時においては、記憶部14に記憶された作業用パラメータに基づき、走行の制御と作業部の制御を行う。
【0016】次に、本実施形態における清掃ロボット(移動体)1の制御方法について説明する。図5、図6に例示するように、走行経路として、指定された範囲内を所定の間隔をおいて往復走行する、いわゆるジグザグ走行を用いる。図5は左側から右側へ所定間隔ずつ横移動しながら往復走行する場合で、最終走行レーンが復路の場合であり、図6は同じく左側から右側へ所定間隔ずつ横移動しながら往復走行する場合で、最終走行レーンが往路の場合である。この他、右側から左側へ所定間隔ずつ横移動しながら往復走行する場合もある。
【0017】記憶部14に記憶されるジグザグ走行作業用パラメータとして下記の4つのパラメータがある。
■ 作業領域の長さL■ 作業領域の幅W■ 横移動方向■ 横移動間隔P■ 最終走行レーンの走行方向これらのパラメータは、ユーザーがリモートコントロ―ラ2の設定開始ボタン21を押して、設定開始命令を清掃ロボット1に送信した後、ユーザーがリモートコントローラ2を用いて走行を操作し、設定終了ボタン22を押すまでの間の走行履歴に従って決定される。
【0018】ア) パラメータを指定しない場合まず、本実施形態における、最も簡単な設定手順として、パラメータを何も指定しない場合について説明する。この場合は、ユーザーはジグザク定行の開始レーンのスタート位置に清掃ロボット1を進行方向に向けて置き、設定開始ボタン21を押す。そして、そのまま何もせずに設定終了ボタン22を押すと、下記のようにパラメータが設定される。
■作業領域の長さL=進行方向の障害物の直前まで■作業領域の幅W =横移動方向の障害物の直前まで(超音波センサで測定した距離データをもとに算出)
■横移動方向 =左右の壁のうち、近い方の壁側から遠い方の壁側に向かう■横移動間隔P =W÷n(但し、nは走行レーン数であり、正の整数)で、Pmax以下の範囲で最大となる値■最終走行レーンの走行方向=nが奇数のとき往路、nが偶数のとき復路上記において、障害物や壁との距離は、作業実行時に超音波センサ3a,3b,3c,3dによって測定される。従って、上記パラメータは作業実行時に決定される。
【0019】上記■の横移動間隔のPmaxは、横移動間隔の最大値であり、清掃ロボット1の作業部の幅より所定量少ない値とし、往復走行作業において、往路と復路で隙間が出来ないように若干のオーバーラップ分を考慮している。また、上記■の最終走行レーンの走行方向は、作業実行時の壁の位置によって決まり、設定時には不定である。
【0020】図7に上記の設定における作業実行例を示す。清掃ロボット1を開始位置へ置いて実行ボタン28を押すと、清掃ロボット1は、まず超音波センサー3c,3dによって左右の壁までの距離を測定し、近い方の壁から遠い方の壁に向かってジグザグ走行を行う。図7(a)はロボットを左側の壁の近くに置いて、実行ボタンを押し、作業を実行させた場合の走行経路であり、近い方の壁である左側の壁から、遠い方の壁である右側の壁に向かってジグザグ走行を行う。また、作業開始位置と遠い方の壁との位置関係から、走行レーン数が奇数となり、最終走行レーンが往路となる場合である。図7(b)は図7(a)と同じく、清掃ロボットを左側の壁の近くに置いて、実行ボタンを押し、作業を実行させた場合の走行経路であり、近い方の壁である左側の壁から、遠い方の壁である右側の壁に向かってジグザグ走行を行うが、作業開始位置と遠い方の壁との位置関係から、走行レーン数が偶数となり、最終走行レーンが復路となる場合である。
【0021】イ)ジグザグ走行の横移動方向のみを指定する場合次に、ジグザグ走行の横移動方向のみを指定する場合について説明する。通路などでワックス塗布を行う場合、作業中の通行領域を確保するため、通路の中央で2つの領域に分け、片側ずつ作業する場合があり、このような場合には、作業開始位置を通路の中央にし、壁側に向かってジグザグ走行するように設定できれば便利である。これを行うには、ア) に示した近い方の壁から遠い方の壁に向かって作業する方法だけでは不十分であり、ジグザグ走行の横移動方向を指定する必要がある。本例では、ジグザグ走行の横移動方向を、設定終了時点の清掃ロボットの向きによって指定することにより、視覚的にわかりやすい方式を用いている。
【0022】まず、図8(a)に示すように、ユーザーは、清掃ロボット1をジグザグ走行の開始レーンのスタート位置に作業開始時の進行方向に向けて置き、設定開始ボタン21を押す。次に、右ボタン26、もしくは左ボタン25を用いて、清掃ロボット1を90度旋回させ、ジグザグ走行横移動方向に向けた後、設定終了ボタン22を押す。図8(b)は設定終了時に清掃ロボット1を右に向けた場合である。清掃ロボット1は、走行履歴から設定終了時点の方向を算出し、設定開始時点の向きに対し、横を向いていることを認識することにより、設定終了時点の清掃ロボットの向きを、ジグザグ走行の横移動方向として設定する。この場合、設定終了時の清掃ロボットの向きが設定開始時と同じか、又は180度反対の向きの場合は、何も設定されていないア) の状態と見なし、近い方の壁から遠い方の壁に向かっての設定を行う。
【0023】作業の実行は、図8(b)の場合は、設定終了時に清掃ロボットを右に向けているので、図8(c)に示すように、ジグザグ走行の横移動方向は左から右へ向かう。図示はしないが、逆に設定終了時に清掃ロボットを左に向けた場合は、ジグザグ走行の横移動方向は右から左へ向かう。
【0024】各種パラメータは下記のように設定される。
■作業領域の長さL =進行方向の障害物の直前まで■作業領域の幅W =横移動方向の障害物の直前まで(超音波センサで測定した距離データをもとに算出)
■横移動方向 =設定終了時に、清掃ロボットが向いている方向■横移動間隔P =W÷n(但し、nは走行レーン数であり、正の整数)で、Pmax以下の範囲で、最大となる値■最終走行レーンの走行方向=nが奇数のとき往路、nが偶数のとき復路【0025】ウ)作業領域の長さのみを指定する場合次に、作業領域の長さのみを指定する場合について説明する。この実行例においては、ユーザーは作業領域長さの数値情報を入力する必要は無く、リモートコントローラを用いて、実際に清掃ロボット1を走行させることにより、その移動距離を清掃ロボットに認識させ、作業領域長さデータとすることが出来る。まず、図9aに示すように、ユーザーは、ジグザグ走行の開始レーンのスタート位置に清掃ロボット1を進行方向に向けて置き、設定開始ボタン21を押す。そして、前進ボタンや後退ボタンを用いて、ロボットを作業領域の長さ方向の最終位置まで移動させ、設定終了ボタン22を押す。この場合、清掃ロボットの走行には旋回動作を含まず、清掃ロボットの向きは終始設定開始時の向きと同じである。
【0026】清掃ロボット1は、走行履歴から、自分の向きが走行開始時の向きと同じであることを判別し、その移動距離を作業領域長さの設定情報として認識する( 後述するが、設定開始から設定終了の間に、90度旋回動作が行われ、設定開始時の向きと設定終了時の向きが垂直の場合は、作業領域幅の設定情報として認識する) 。具体的には、清掃ロボット1が走行エンコーダ8a,8bの出力を基に、設定開始位置から設定終了位置までの移動距離を算出し、作業領域の長さとして設定する。各種パラメータは下記のように設定される。
■作業領域の長さL=設定開始位置から設定終了位置までの距離■作業領域の幅W =横移動方向の障害物の直前まで(超音波センサで測定した距離データをもとに算出)
■横移動方向 =左右の壁のうち、近い方の壁側から遠い方の壁側に向かう■横移動間隔P =W÷n(但し、nは走行レーン数であり、正の整数)で、Pmax以下の範囲で、最大となる値■最終走行レーンの走行方向=nが奇数のとき往路、nが偶数のとき復路【0027】作業実行にあたっては、作業開始位置に清掃ロボット1を置き実行ボタン28を押すと、清掃ロボットはまず超音波センサによって左右の壁までの距離を測定し、図9(a)、9(b)に示すように、近い方の壁から遠い方の壁に向かってジグザグ走行を行う。図示は省略するが、この場合も作業開始位置と遠い方の壁との位置関係によって、最終走行レーンの走行方向が往路になる場合と復路になる場合がある。
【0028】エ) 作業領域の長さとジグザグ走行の横移動方向を指定する場合次に、作業領域の長さと、ジグザグ走行の横移動方向を指定する場合について説明する。まず、図10(a)、11(a)に示すように、ユーザーは、清掃ロボットをジグザグ走行の開始レーンのスタート位置に作業開始時の進行方向に向けて置き、設定開始ボタン21を押す。そして、前進ボタン23や後退ボタン24を用いて、清掃ロボットを作業領域の長さ方向の最終位置まで移動させ、次に、右ボタン26、もしくは左ボタン25を用いて、清掃ロボットを90度旋回させ、ジグザグ走行横移動方向に向けた後、設定終了ボタン22を押す。図10(a)は設定終了時に清掃ロボットを左に向けた場合であり、図11(a)は設定終了時に清掃ロボットを右に向けた場合である。
【0029】清掃ロボット1は、走行履歴から、前進や後退中の清掃ロボットの向きが設定開始時の清掃ロボットの向きと同じであり、領域寸法の指定が幅の指定はされておらず、長さのみの指定であることを判別し、かつ設定終了時点の方向を算出し、設定開始時点の向きに対し、横を向いていることを認識することにより、設定終了時点の清掃ロボットの向きをジグザグ走行の横移動方向として設定する( 設定終了時の清掃ロボットの向きが設定開始時と同じか、180度反対の向きの場合は、作業領域の長さのみが指定されたと見なし、近い方の壁から遠い方の壁に向かっての設定を行う) 。
【0030】作業の実行は、図10(a)の場合は、設定終了時に清掃ロボット1を左に向けているので、図10(b)に示すように、ジグザグ走行の横移動方向は右から左へ向かい、図11(a)の場合は、設定終了時に清掃ロボット1を右に向けているので、図11(b)に示すように、ジグザグ走行の横移動方向は左から右へ向かう。
【0031】各種パラメータは下記のように設定される。
■作業領域の長さL=設定開始位置から設定終了位置までの距離■作業領域の幅W =横移動方向の障害物の直前まで(超音波センサで測定した距離データをもとに算出)
■横移動方向 =設定終了時点に、清掃ロボットが向いている方向■横移動間隔P =W÷n(但し、nは走行レーン数であり、正の整数)で、Pmax以下の範囲で、最大となる値■最終走行レーンの走行方向= nが奇数のとき往路、nが偶数のとき復路【0032】オ)作業領域の幅のみを指定する場合次に、作業領域の幅のみを指定する場合について説明する。この場合も、作業領域長さの設定の場合と同様に、ユーザーは作業領域幅の数値情報を入力する必要は無く、実際に清掃ロボットを走行させ、その移動距離を作業領域幅データとすることが出来る。まず、図12(a)、図13(a)に示すように、ユーザーは、ジグザグ走行の開始レーンのスタート位置に清掃ロボット1を進行方向に向けて置き、設定開始ボタン21を押す。そして、右ボタン26もしくは左ボタン25を押して清掃ロボットを旋回させ、作業領域幅の終端方向へ清掃ロボットを向ける。次に前進ボタン23や後退ボタン24を用いて、清掃ロボットを作業領域の幅方向の終端位置まで移動させ、設定終了ボタン22を押す。
【0033】清掃ロボット1は、走行履歴から移動中の清掃ロボットの向きが走行開始時の向きの右向きか左向きであることを判別し、その移動距離を作業領域幅の設定情報として認識する。ジグザグ走行の横移動方向は、設定時の移動方向が右から左の場合は右から左に、設定時の移動方向が左から右の場合は左から右に設定される。
【0034】各種パラメータは下記のように設定される。
■作業領域の長さL =進行方向の障害物の直前まで■作業領域の幅W =設定開始から設定終了までの移動距離+清掃作業部の幅■横移動方向 =設定開始位置から設定終了位置へ向かう方向■横移動間隔P =W÷n (但し、nは走行レーン数であり、正の整数)で、Pmax以下の範囲で、最大となる値■最終走行レーンの走行方向=nが奇数のとき往路、nが偶数のとき復路上記において、■の横移動間隔は、作業領域幅と走行レーン数から定まる値であるが、横移動間隔がPmaxを超えない範囲で最大となるように、走行レーン数nとともに、清掃ロボット1の制御部10により算出される。■の最終走行レーンの走行方向は、横移動間隔の算出とともに算出された走行レーン数に従って決定される。
【0035】作業実行にあたっては、作業開始位置に清掃ロボット1を置き実行ボタン28を押すと、清掃ロボット1は図12(b)、図13(b)に示すように、設定開始位置から設定終了位置に向かってジグザグ走行を行う。図12(a)の場合、設定終了位置は設定開始位置の左側になっているので、作業の実行は図12(b)に示す如く、右側から左側に向かってジグザグ走行を行う。図13(a)の場合、設定終了位置は設定開始位置の右側になっているので、作業の実行は図13(b)に示す如く、左側から右側へ向かってジグザグ走行を行う。また、図12(b)は最終走行レーンが往路になる場合の例を示し、図13(b)は最終走行レーンが復路になる場合の例を示している。
【0036】カ) 作業領域の幅と最終走行レーンの走行方向を指定する場合次に、作業領域の幅と最終走行レーンの走行方向を指定する場合について説明する。作業によっては、次の作業領域との連続性を確保するためや、作業終了後に清掃ロボットを回収するためなどの理由で、終了位置を作業領域長さ方向の作業開始側と同じ側にするか、作業開始側と反対側にするかを指定したい場合があり、作業領域の幅のみを指定したオ) の例では、最終走行レーンの走行方向は作業領域幅によって変わり、ユーザーが作業実行前に最終走行レーンの走行方向を知ろうとすれば、あらかじめ面倒な計算をする必要があり、また作業領域の幅も自由に設定することが出来ないため、最終走行レーンの走行方向を指定する機能があれば便利である。
【0037】本実行例では、最終走行レーンの走行方向を、設定終了時点の清掃ロボットの向きによって指定することにより、視覚的にわかりやすい方式を用いている。まず、図14(a)、15(a)に示すように、ユーザーは、清掃ロボット1をジグザグ走行の開始レーンのスタート位置に作業開始時の進行方向に向けて置き、設定開始ボタン21を押す。そして、オ) の場合と同様に、右ボタン26もしくは左ボタン25を押して、作業領域幅の終端方向へ清掃ロボットを向け、前進ボタン23や後退ボタン24を用いて、清掃ロボットを作業領域の幅方向の終端位置まで移動させる。ここまではオ) の場合と同様であるが、次に、右ボタン26もしくは左ボタン25を用いて、清掃ロボットを90度右旋回、もしくは、90度左旋回させ、清掃ロボットを設定開始時と同じ向きか、180度反対の向きかに向け、設定終了ボタン22を押す。
【0038】図14(a)は設定終了時に清掃ロボット1を設定開始時と同じ向きに向けた場合であり、図15(a)は設定終了時に清掃ロボット1を設定開始時の180度反対側に向けた場合である。清掃ロボットは、走行履歴から、前進や後退中の清掃ロボットの向きが設定開始時の清掃ロボットの向きに対して垂直であり、領域寸法の指定が、長さは指定されておらず幅のみの指定であることを判別し、かつ設定終了時点の方向を算出し、設定開始時点の向きに対し、同じ向きか180度反対の向きを向いていることを認識することにより、設定終了時点の清掃ロボットの向きを最終走行レーンの走行方向として設定する。
【0039】作業の実行は、図14(a)の場合は、設定終了時に清掃ロボット1を設定開始時と同じ向きに向けているので、図14(b)に示すように最終走行レーンの走行方向は往路となり、図15(a)の場合は、設定終了時に清掃ロボット1を設定開始時の180度反対側に向けているので、図15(b)に示すように最終走行レーンの走行方向は復路となる。
【0040】各種パラメータは下記のように設定される。
■作業領域の長さL =進行方向の障害物の直前まで■作業領域の幅W =設定開始から設定終了までの移動距離+清掃作業部の幅■横移動方向 =設定開始位置から設定終了位置へ向かう方向■横移動間隔P =W÷n■最終走行レーンの走行方向=設定終了時のロボットの向きによる【0041】上記で、横移動間隔Pは、作業領域の幅Wを走行レーン数nで割った値であるが、この場合、最終走行レーンの走行方向が指定されるので、最終走行レーンの走行方向に応じて、走行レーン数は奇数もしくは偶数に限定される。つまり、最終走行レーンの走行方向が往路の場合は、走行レーン数nは奇数に限定され、最終走行レーンの走行方向が復路の場合は偶数に限定される。前者の場合、横移動ピッチPは、nが奇数の正の整数であるという条件の下で、Pmax以下の範囲で最大となる値に設定され、後者の場合は、nが偶数の正の整数であるという条件の下で、Pmax以下の範囲で最大となる値に設定される。図14、図15は、ともにジグザグ走行の横移動方向が右から左である場合について示したが、ジグザグ走行の横移動方向が左から右の場合についても同様である。
【0042】キ) 作業領域の長さと幅を指定し、最終走行レーンの走行方向を指定しない場合。
まず、図16(a)に示すように、ユーザーは、ジグザグ走行の開始レーンのスタート位置に清掃ロボット1を進行方向に向けて置き、設定開始ボタン21を押す。そして、前進ボタン23、後退ボタン24、右ボタン26、左ボタン25を用いて、清掃ロボット1を前進、後退、右90度旋回、左90度旋回させながら作業領域の対角位置まで移動させ、設定終了ボタン22を押す。清掃ロボット1は走行履歴を基に算出される清掃ロボットの向きと、走行エンコーダー8a、8bの出力とに基づき、設定開始位置から設定終了位置までの横移動距離と縦移動距離を算出し、作業領域の長さと幅を設定する。この場合、最終走行レーンの走行方向を指定しないようにするため、設定終了時の清掃ロボットの向きは、設定開始時の向きに対して垂直な向き、すなわち右向きか左向きかのどちらかにする。
【0043】各種パラメータは下記のように設定される。
■ 作業領域の長さL =設定開始から設定終了までの縦移動距離■ 作業領域の幅W =設定開始から設定終了までの横移動距離+清掃作業部の幅■ 横移動方向 =設定開始位置から設定終了位置へ向かう方向■ 横移動間隔P =W÷n (但し、nは走行レーン数であり、正の整数) で、Pmax以下の範囲で、最大となる値■ 最終走行レーンの走行方向=nが奇数のとき往路、nが偶数のとき復路【0044】ク) 作業領域の長さと幅と、最終走行レーンの走行方向を指定する場合次に、作業領域の長さと幅と最終走行レーンの方向を指定する場合について説明する。まず、キ) の場合と同様にして、図17(a)、18(a)に示すように、ユーザーは、ジグザグ走行の開始レーンのスタート位置に清掃ロボット1を進行方向に向けて置き、設定開始ボタン21を押す。そして、前進ボタン23、後退ボタン24、右ボタン26、左ボタン25を用いて、清掃ロボット1を前進、後退、右90度旋回、左90度旋回させながら作業領域の対角位置まで移動させ、設定終了ボタン22を押す。清掃ロボット1は走行履歴を基に算出される清掃ロボットの向きと、走行エンコーダ―8a,8bの出力とに基づき、設定開始位置から設定終了位置までの横移動距離と縦移動距離距離を算出し、作業領域の長さと幅を設定する。ここまではキ) の場合と同じであるが、設定終了時の清掃ロボットの向きが異なり、最終走行レーンの走行方向を指定するため、設定終了時のロボットの向きを、設定開始時の向きと同じ向きか、180度反対の向きかにして設定終了ボタン22を押す。
【0045】各種パラメータは下記のように設定される。
■ 作業領域の長さL =設定開始から設定終了までの縦移動距離■ 作業領域の幅W =設定開始から設定終了までの横移動距離+清掃作業部の幅■ 横移動方向 =設定開始位置から設定終了位置へ向かう方向■ 横移動間隔P =W÷n■ 最終走行レーンの走行方向=設定終了時の清掃ロボットの向きによる【0046】上記で、カ) の場合と同様、最終走行レーンの走行方向が往路の場合は、横移動ピッチPは、nが奇数の正の整数であるという条件の下で、Pmax以下の範囲で最大となる値に設定され、最終走行レーンの走行方向が復路の場合は、nが偶数の正の整数であるという条件の下で、Pmax以下の範囲で最大となる値に設定される。
【0047】図17(a)は、設定終了時の清掃ロボットの向きを、設定開始時と同じにした場合であり、図17(b)に示す如く、最終走行レーンの走行方向は往路となる。図18(a)は、設定終了時の清掃ロボットの向きを設定開始時と180度反対の向きにした場合であり、図18(b)に示す如く、最終走行レーンの走行方向は復路となる。
【0048】以上、ア) 〜ク) に示したように、作業領域の長さ、幅、作業開始時の走行方向、作業終了時の走行方向が、設定開始時、及び設定終了時の清掃ロボットの位置と方向に対応しているため、ユーザーは視覚的にわかりやすく、作業領域及び走行パターンを設定することが出来る。
【0049】次に、図19(a)、(b)、(c)に示すフローチャートに基づいて、本実施形態における作業領域設定の動作を説明する。このフローチャートにおいてS:領域設定の進行状況を示す変数0:領域設定作業中でない状態1:設定開始命令を受信した後、前進命令と後退命令のどちらも実行していない状態2:設定開始命令を受信した後、前進命令か後退命令を実行した状態3:Sが2となった後、右旋回か左旋回を実行し、その後は前進・後退命令を実行していない状態4:Sが3となった後、前進命令か後退命令を実行した状態L:作業領域の長さW:作業領域の幅P:横移動間隔XD:移動方向0:左右方向の近い方の壁から遠い方の壁に向かう。
1:左→右2:左右方向の近い方の壁から遠い方の壁に向かう。
3:右→左YD:最終レーンの走行方向0:往路1:走行レーン数が少なくなる向き2:復路3:走行レーン数が少なくなる向きRD:清掃ロボットの向き0:設定開始時の清掃ロボットの向き1:設定開始時に対して右に90度2:設定開始時に対して180度3:設定開始時に対して左に90度RM:清掃ロボットの走行状態0:停止中1:前進中2:後退中3:左旋回中4:右旋回中X:作業領域幅方向(X軸)の清掃ロボットの位置座標。X座表値。
設定開始時の清掃ロボットの向きに対して右方向を正とする。
Y:作業領域長さ方向(Y軸)の清掃ロボットの位置座標。Y座標値。
設定開始時の清掃ロボットの向きを正とする。
C:前進もしくは後退開始時からの走行距離。走行エンコ―ダの出力を基に算出する。
【0050】清掃ロボットの電源がONになると、#1で、S=0として、領域設定作業が行われていない状態とする。#2で、赤外線リモコンからのコマンド待ち状態となり、コマンドを受信すれば#3ヘ進む。#3でコマンドが設定開始命令かどうかを判別し、設定開始命令でなければ#4へ進み、設定開始命令であれば#12に進む。#12では、Sを1に設定し、L、W、P、XD、YD、RD、X、Yをデフオルトの値に設定して#1へ戻る。
【0051】#4では、コマンドが設定終了命令かどうかを判別し設定終了命令でなければ#5へ進み、設定終了命令であれば#13に進む。#13では、Sの値が0かどうかを判別し、0であれば、設定開始命令がまだ受信されていない状態なので何もせずに#1へ戻り、0でなければ、#100の設定終了処理へ進む。
【0052】#5では、コマンドが前進命令かどうかを判別し、前進命令でなければ#6へ進み、前進命令であれば#14へ進む。#14では清掃ロボットの走行状態が停止中かどうかを判別し、停止中でなければ何もせずに#1へ戻り、停止中であれば#15に進み、RMを1に設定し、#16で前進を開始する。#17、#18、#19で領域設定の進行状況を判別し、Sが1の時は、#18でSを2に設定し、Sが3の時は#20でSを4に設定し、それ以外の時はSの値を変更せずに#1へ戻る。
【0053】#6では、コマンドが後退命令かどうかを判別し、後退命令でなければ#7へ進み、後退命令であれば#21へ進む。#21では清掃ロボットの走行状態が停止中かどうかを判別し、停止中で無ければ何もせずに#1へ戻り、停止中であれば#22に進み、RMを2に設定し、#23で後退を開始して#17へ進む。#17、#18、#19で領域設定の進行状況を判別し、Sが1の時は、#18でSを2に設定し、Sが3の時は#20でSを4に設定し、それ以外の時はSの値を変更せずに#1へ戻る。
【0054】#7では、コマンドが左命令かどうかを判別し、左命令でなければ#8へ進み、左命令であれば#24へ進む。#24では清掃ロボットの走行状態が停止中かどうかを判別し、停止中で無ければ前進中か、もしくは後退中なので、#25で左カーブ処理を行って#1へ戻り、#24で停止中であれば#26へ進み、RMを3に設定し、#27で左90度旋回動作を実行し停止状態に戻る。そして#28へ進み、清掃ロボットの向きを示す変数RDを1だけ減算し、#29でRDの減算結果が負になったかどうかを判別して、RDが負でなければそのまま#31へ進み、RDが負であれば、清掃ロボットが設定開始時の向きに対して左を向いていることを示しているので、#30でRDを3に設定して#31へ進む。#31では、RMを0にして、清掃ロボットが停止中であることを示し、#32でSの値が2であるかどうかを判別して、2である場合のみ#33でSを3に設定して#1へ戻る。
【0055】#8では、コマンドが右命令かどうかを判別し、右命令でなければ#9へ進み、右命令であれば#34へ進む。#34では清掃ロボットの走行状態が停止中かどうかを判別し、停止中で無ければ前進中か、もしくは後退中なので、#35で右カーブ処理を行って#1へ戻り、#34で停止中であれば#36へ進み、RMを4に設定し、#37で右90度旋回動作を実行し停止状態に戻る。そして#38へ進み、清掃ロボットの向きを示す変数RDに1だけ加算し、#39でRDの加算結果が4になったかどうかを判別して、RDが4でなければそのまま#31へ進み、RDが4であれば清掃ロボットが設定開始時の向きと同じ向きに戻ったことを示すので、#40でRDを0に設定して#31へ進む。#31では、RMを0にして、清掃ロボットが停止中であることを示し、#32でSの値が2であるかどうかを判別して、2である場合のみ#33でSを3に設定して#1へ戻る。
【0056】#9では、コマンドが停止命令かどうかを判別し、停止命令でなければ#10へ進み、停止命令であれば#200へ進んで、清掃ロボットの位置座標算出処理に進む。#201、#202、#213で走行状態を判別し、前進中か、もしくは後退中で無い場合は何もせずに#1へ戻る。
【0057】#202で、前進中(RM=1)であれば、#203で走行停止動作を実行し、清掃ロボットの走行を停止する。#204で清掃ロボットの向きを判別し、清掃ロボットの向きが設定開始時と同じ向き(RD=0)であれば、Y軸の正の向きに走行したことになるので#205へ進み、清掃ロボットのY座標値に、前進開始時から走行停止するまでの走行距離値Cを加えて、現在のY座標値を算出して、#211へ進む。
【0058】#204でRD=0でなければ、#206に進み、さらに清掃ロボットの向きを判別し、清掃ロボットの向きが設定開始時の向きに対し180度(RD=2)であれば、Y軸の負の向きに走行したことになるので、#207へ進み、清掃ロボットのY座標値から、前進開始時から走行停止するまでの走行距離値Cを減算して、現在のY座標値を算出し、#211へ進む。
【0059】#206でRD=2でなければ、#208に進み、さらに清掃ロボットの向きを判別し、清掃ロボットの向きが設定開始時の向きに対し右90度(RD=1)であれば、X軸の正の向きに走行したことになるので、#209へ進み、清掃ロボットのX座標値に、前進開始時から走行停止するまでの走行距離値Cを加算して、現在のX座標値を算出して、#211へ進む。
【0060】#208でRD=1でなければ、清掃ロボットの向きが設定開始時の向きに対し左90度(RD=3)であることになり、X軸の負の向きに走行したことになるので、#210へ進み、清掃ロボットのX座標値から、前進開始時から走行停止するまでの走行距離値Cを減算して、現在のX座標値を算出して#211へ進む。
【0061】#202で、前進中(IRM=1)でなければ#213へ進み、後退中(RM=2)かどうかを判別し、後退中であれば、#214で走行停止動作を実行し、清掃ロボットの走行を停止する。#215で清掃ロボットの向きを判別し、清掃ロボットの向きが設定開始時と同じ向き(RD=0)であれば、Y軸の負の向きに走行したことになるので#216へ進み、清掃ロボットのY座標値から、後退開始時から走行停止するまでの走行距離値Cを減算して、現在のY座標値を算出して、#211へ進む。
【0062】#215でRD=0でなければ、#217に進み、さらに清掃ロボットの向きを判別し、清掃ロボットの向きが設定開始時の向きに対し180度(RD=2)であれば、Y軸の正の向きに走行したことになるので、#218へ進み、清掃ロボットのY座標値に、前進開始時から走行停止するまでの走行距離値Cを加算して、現在のY座標値を算出し、#211へ進む。
【0063】#217でRD=2でなければ、#219に進み、さらに清掃ロボットの向きを判別し、清掃ロボットの向きが設定開始時の向きに対し右90度(RD=1)であれば、X軸の負の向きに走行したことになるので、#220へ進み、清掃ロボットのX座標値から、前進開始時から走行停止するまでの走行距離値Cを減算して、現在のX座標値を算出して、#211へ進む。
【0064】#219でRD=1でなければ、清掃ロボットの向きが設定開始時の向きに対し左90度(RD=3)であることになり、X軸の正の向きに走行したことになるので、#221へ進み、清掃ロボットのX座標値に、前進開始時から走行停止するまでの走行距離値Cを加算して、現在のX座標値を算出して、#211へ進む。
【0065】#211では、C=0として走行距離を初期値に戻し、RM=0として走行状態が停止中であることを示し、#1へ戻る。
【0066】#10では、コマンドが実行命令かどうかを判別し、実行命令でなければ#11へ進み、実行命令であれば#41へ進んでSの値を判別し、設定終了状態(S=0)であれば、各種領域設定値に基づいて、作業を実行して#1へ戻り、領域設定中(S≠0)であれば、何もせずに#1へ戻る。
【0067】#11ではコマンドが緊急停止命令かどうかを判別し、緊急停止命令であれば、作業停止処理を実行して#1へ戻り、緊急停止命令でなければ何もせずに#1へ戻る。
【0068】次に#100から始まる設定終了処理について説明する。#101でSが1かどうかを判別し、1でなければ#107へ進み、1であれば#102へ進む。S=1の状態は、設定開始後、旋回動作以外の動作が行われていないことを示すので、作業領域の幅も長さもデフオルトの値とし、ジグザグ走行の横移動方向のみを設定することになる。#102〜#105では清掃ロボットの向きを判別し、設定開始時に対して右90度(RD=1)であれば、ジグザグ走行の横移動方向を左から右(XD=1)に設定し、左90度(RD=3)であれば、ジグザグ走行の横移動方向を右から左(XD=3)に設定する。清掃ロボットの向きがそれ以外の場合は、XDの値は変更せず、#12で設定したXD=0のままである。そして#106へ進み、設定が終了したことを示すためS=0として、#1へ戻る。
【0069】#107ではSが2かどうかを判別し、2でなければ#114へ進み、2ならば#108へ進む。S=2の状態は、設定開始後、前進・後退命令が実行された後、旋回動作が行われていないことを示し、作業領域の長さ方向か幅方向かのどちらか一方の方向にのみ前進・後退動作を行った状態であることを示しているので、この設定終了処理では「作業領域の長さ」か、もしくは「作業領域の幅とジグザグ走行の横移動方向」かどちらか一方のみを設定することになる。#108で清掃ロボットの向きを判別し、清掃ロボットの向きが設定開始時の向きと平行(RD=0またはRD=2)であれば、作業領域の長さ方向に前進・後退が行われたことを示すので、#122に進んで、現在のY座標値を作業領域の長さLとして設定する。そして#106へ進み、設定が終了したことを示すためS=0として、#1へ戻る。
【0070】#108で、清掃ロボットの向きが設定開始時の向きと平行(RD=0またはRD=2)でなければ、作業領域の幅方向に前進、後退が行われたことを示すので、#109に進み、現在のX 座標の値に応じてジグザグ走行の横移動方向を設定する。つまり、X座標が負の場合は、設定開始時から左方向に進んだことになるので、#110でジグザグ走行の横移動方向を右から左(XD=3)に設定し、X座標が正の場合は、設定開始時から右方向に進んだことになるので、#111でジグザク走行の横移動方向を左から右(XD=1)に設定する。そして、#112で、現在のX座標の絶対値に作業部の幅W0 を加えた値を作業領域の幅Wとして設定する。そして#113で、横移動間隔Pを計算し、#106へ進み、設定が終了したことを示すためS=0として、#1へ戻る。
【0071】#114ではSが3かどうかを判別し、3でなければ#123へ進み、3ならば#115へ進む。S=3の状態は、設定開始後、前進・後退命令が実行された後、旋回動作が行われ、その後は、前進・後退命令が行われていないことを示すので、この設定終了処理では、「作業領域の長さとジグザグ走行の横移動方向」の組み合わせか、「作業領域の幅とジグザグ走行の横移動方向と最終レーンの走行方向」の組み合わせかの、どちらか―方を設定することになる。#115で清掃ロボットの向きを判別し、設定開始時の清掃ロボットの向きと同じ(RD=0)である場合は116で最終レーンの走行方向を往路(YD=0)に設定し、#109へ進む。
【0072】#117で、清掃ロボットの向きが設定開始時の清掃ロボットの向きに対し、180度(RD=2)である場合は#118で最終レーンの走行方向を復路(YD=2)に設定し、#109へ進む。#109以降では前述の通り、現在のX座標の値に応じてジグザグ走行の横移動方向XDと作業領域の幅Wと横移動間隔Pを計算し、#106へ進み、設定が終了したことを示すためS=0として、#1へ戻る。#119で、清掃ロボットの向きが設定開始時の清掃ロボットの向きに対し、右90度(RD=1)である場合は#120でジグザグ走行の横移動方向を左から右(XD=1)に設定し#122に進む。
【0073】#119で清掃ロボットの向きが設定開始時の清掃ロボットの向きに対し、右90度(RD=1)でない場合は、設定開始時の清掃ロボットの向きに対し左90度であることになるので、#121でジグザグ走行の横移動方向を右から左(XD=3)に設定し#122に進む。#122では、現在のY座標値を作業領域の長さLとして設定する。そして#106へ進み、設定が終了したことを示すためS=0として、#1へ戻る。
【0074】#123は、S=4の状態である。S=4の状態は、設定開始後、前進・後退命令が実行された後、旋回動作が行われ、その後、再び前進・後退命令が行われたことを示すので、この設定終了処理では、作業領域の幅と長さ、ジグザグ走行の横移動方向、最終レーンの走行方向を設定することになる。#123では、最終レーンの走行方向を示す変数YDに清掃ロボットの向きを示す変数RDの値を代入する。従って、清掃ロボットの向きが設定開始時の清掃ロボットの向きと同じ場合(RD=0)は、最終レーンの走行方向は往路となり、清掃ロボットの向きが設定開始時の清掃ロボットの向きに対し180度である場合は、最終レーンの走行方向は復路となり、清掃ロボットの向きが設定開始時の清掃ロボットの向きと平行でない場合(RD=1またはRD=3)は、最終レーンの走行方向は走行レーン数が少なくなる方の向きとなる。
【0075】次に#124から#128で、#109から#113と同様にして現在のX座標の値に応じてジグザグ走行の横移動方向XDと作業領域の幅Wと横移動間隔Pを計算し、#122へ進んで現在のY座標値を作業領域の長さLとして設定する。そして#106へ進み、設定が終了したことを示すためS=0として、#1へ戻る。
【0076】さらに、図19dに示すフローチャートを用いて、#113、#128で行ったジグザグ走行の横移動間隔Pの計算処理サブルーチンの動作について説明する。ここで、Nは、走行レーン数を示す変数である。
【0077】Pの計算方法は、最終走行レーンの走行方向によって異なるので、まず#300、#301において、最終走行レーンの走行方向を判別し、往路(YD=0)であれば、走行レーン数は奇数なので、#302で走行レーン数Nの初期値として1を設定し、復路(YD=2)であれば、走行レーン数は偶数なので、#303で走行レーン数Nの初期値として2を設定して#304へ進む。#304では、作業領域の幅Wを走行レーン数Nで割った値を横移動間隔Pに代入する。#305でPの値が横移動間隔の最大値Pmaxより小さいかどうかを判別し、小さければ現在のPの値を採用することにし、Pの計算処理サブルーチンを終えてリターンする。小さくなければ、#306で走行レーン数に一往復分の走行レーン数である2を加え、#304へ戻り、以後、PmaxよりPが小さくなるまで、#304から#306を繰り返す。このようにすることにより、最終走行レーンが往路の場合は、走行レーン数が奇数の条件の下で、Pmaxより小さい範囲で最大のPの値を算出することができ、最終走行レーンが復路の場合は、走行レーン数が偶数の条件の下で、Pmaxより小さい範囲で最大のPの値を算出することができる。
【0078】さて、#300、#301において、最終走行レーンの走行方向が往路でも復路でもない場合(YD=1またはYD=3)は、往路か復路かに関係無く、最も走行レーン数が少なくなるPを計算する必要があるので、#307において、Nを1に設定し、#308から#310で、Nを1ずつ増やしながら、作業領域の幅Wを走行レーン数Nで割った値が最大値Pmaxより小さくなるNを求めて、Pmaxより小さい範囲で最大のPの値を算出する。
【0079】
【発明の効果】以上の説明から明らかなように、本発明にかかる移動体制御装置は、ユーザーが実際の移動体の位置と向きによって移動範囲と終了位置を確認することができるので、入力装置に領域設定時のデータ入力に関する表示部が不要となり、低コストで制御装置を構成できる。また、移動範囲の設定に際しては、あらかじめ作業範囲を実測する必要がなく、ユーザーの使用目的と条件に応じて最も効率の良い往復間隔を自動的に算出することが可能であり、効率よく作業を行うことができるようになった。なお、以上の説明では、床面にワックス掛けを行う清掃ロボットを例に取って説明したが、この移動体制御装置を、塗装、清掃その他種々の作業を行う移動体の制御に適用できることは言うまでもない。
【出願人】 【識別番号】000223986
【氏名又は名称】フィグラ株式会社
【出願日】 平成12年3月16日(2000.3.16)
【代理人】 【識別番号】100083611
【弁理士】
【氏名又は名称】菅原 弘志
【公開番号】 特開2001−265437(P2001−265437A)
【公開日】 平成13年9月28日(2001.9.28)
【出願番号】 特願2000−74626(P2000−74626)