JP2017004230A - 自律走行体、自律走行体の狭路判定方法、狭路判定プログラム及びコンピュータ読み取り可能な記録媒体 - Google Patents

自律走行体、自律走行体の狭路判定方法、狭路判定プログラム及びコンピュータ読み取り可能な記録媒体 Download PDF

Info

Publication number
JP2017004230A
JP2017004230A JP2015117031A JP2015117031A JP2017004230A JP 2017004230 A JP2017004230 A JP 2017004230A JP 2015117031 A JP2015117031 A JP 2015117031A JP 2015117031 A JP2015117031 A JP 2015117031A JP 2017004230 A JP2017004230 A JP 2017004230A
Authority
JP
Japan
Prior art keywords
vector
vectors
distance
robot
environment map
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.)
Granted
Application number
JP2015117031A
Other languages
English (en)
Other versions
JP6649704B2 (ja
Inventor
翔貴 吉野
Shoki Yoshino
翔貴 吉野
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 JP2015117031A priority Critical patent/JP6649704B2/ja
Publication of JP2017004230A publication Critical patent/JP2017004230A/ja
Application granted granted Critical
Publication of JP6649704B2 publication Critical patent/JP6649704B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

【課題】自律走行ロボットが安全に通路を進行すると共に、正確に狭路判定を行う自律走行体の狭路判定方法を提供する。
【解決手段】ロボット(自律走行体)1の狭路判定部26は、基準位置から周囲の点まで延びる環境地図ベクトルに基準距離を加味した壁距離ベクトルのうち、X軸方向成分の向きが同じもの同士を合成した右合成壁距離ベクトル及び左合成壁距離ベクトルのX軸方向成分の絶対値の和が、第1の閾値を超えるかを判定する。
【選択図】図1

Description

本発明は自律走行体、自律走行体の狭路判定方法、狭路判定プログラム及びコンピュータ読み取り可能な記録媒体に関する。
近年、建物内部や屋外の限定された領域内を、周囲の環境情報に基づいて自律的に移動可能な自律移動型ロボット等の自律走行ロボットが開発されている。図23を用いて、特許文献1に記載された自律走行ロボットについて説明する。図23は、従来の自律走行ロボットの構成を表す図である。
図23に示すように、複数の自律走行ロボット100が列をなして、壁105と、壁106からなる通路を進行している。図23における紙面左から右へ向かう方向が、自律走行ロボット100の進行方向である。自律走行ロボット100は、それぞれ、自律走行ロボット100が通路に進入したことを検出する前方エッジ検出手段101と、走行中のロボットと両側の壁105・106との距離を検出する距離検出手段102・103と、自律走行ロボット100が通路を通過したことを検出する後方エッジ検出手段104とを有している。また、図示しないが、自律走行ロボット100は、各手段からの検出結果を基に、自律走行ロボット100の走行をコントロールする制御手段をさらに備えている。
前方エッジ検出手段101、距離検出手段102、距離検出手段103、及び後方エッジ検出手段104は、自律走行ロボット100の進行前方側から後方側へかけてこの順に並んで配されており、また、自律走行ロボット100の両側面(壁105と対向する側の側面及び壁106と対向する側の側面)にそれぞれ配されている。
自律走行ロボット100によると、自律走行ロボット100が、壁105と、壁106とからなる狭路に差しかかると、壁105及び壁106との間隔を保ちつつ、壁に当たらないように方向修正しながら、自律的に、壁105と、壁106とからなる通路を通過できるとされている。
特開2000‐242331号公報(2000年9月8日公開)
しかし、自律走行ロボットが通過する通路には、種々の通路が存在する。例えば、図24に示すように、一方が連続して繋がっている壁105であり、壁105と対向する壁106Aが、スリット状に間隔をあけて並んで存在している場合もある。
自律走行ロボット100は、前方エッジ検出手段101により自律走行ロボット100が通路に進入したことを検出し、後方エッジ検出手段104により通路を通過したことを検出しているため、スリット間に存在する壁106Aの長さが、前方エッジ検出手段101と、後方エッジ検出手段104との距離より短い場合、自律走行ロボット100は、適切に、壁105及び壁106からなる通路への進入及び通過を検出することができず、壁105及び壁106空の距離を適切に把握することができない。
また、図25の(a)に示す自律走行ロボット200のように、床など走行する平面に対する投影形状が円形の場合、通路115へ進入可能であれば、図25の(b)に示すように、その通路115内で旋回することも可能である。
しかし、図26に示す自律走行ロボット201のように、床など走行する平面に対する投影形状が円形でない場合、図26の(a)に示すように狭路115へ進入可能であっても、図25の(b)に示すように、旋回時に、自律走行ロボット201のエッジが通路115の壁と接触し、その狭路115内で旋回不可の可能性がある。
自律走行ロボットを自律走行させる確実性の観点からは、自律走行ロボットの車体形状は円形が理想であるが、デザイン等のハードウェアの制約により車体形状を円形にできない場合がある。円形でない車体形状の場合、図26に示したように、狭路115に進入したものの、その通路115内で旋回できないことにより、目的の走行を達成できなくなる。
この課題に対し、自装置の位置と、周囲の障害物の位置とを示す環境地図を用いた事前知識により解決する方法が考えられる。走行前に、予め狭い場所を環境地図に記録しておくことで、自装置が旋回不能である狭路に侵入しないよう走行経路の計画を立てることができる。
しかし、自律走行ロボットが走行中に環境地図に記録がない障害物が存在した場合、当該環境地図に記録がない障害物によって通路が狭くなり、旋回不可能な狭路が発生する可能性がある。そのため、自律走行ロボットは、走行中に、周囲の障害物の位置を計測することで狭路判定を行いながら通路を走行する必要がある。
図27は、従来の自律走行ロボットが走行している通路内に、距離が短いボトルネックが存在している様子を表す図である。図27に示す壁115により挟まれた通路幅H1は、自律走行ロボット201が旋回可能な幅であるとする。この通路内に、自律走行ロボット201の直進方向と平行な長さが短い障害物116が配されているとする。この障害物116間の幅H2は、自律走行ロボット201が通過することはできるものの、旋回することはできない幅であるとする。この通路において、障害物116が配されている領域は、幅が最も狭くなるボトルネック部分である。
自律走行ロボット201は、左右それぞれ一方向のみにレーザ光等を照射することで、左右の壁115との距離を計測している。そして、自律走行ロボット201が、障害物116間に差し掛かると、通路の大部分は自律走行ロボット201が旋回可能な幅H1であるにも関わらず、一時的に通路幅が狭くなっているに過ぎないボトルネック部分の幅H2を計測することにより、自装置が通過している通路は、旋回不可能な狭路であると判定してしまう。この結果、自律走行ロボット201は走行を停止したりするなど、初期の目的が達成されない。
図28は、従来の自律走行ロボットが、動的障害物と壁との間を通過する様子を表す図である。また、壁115の近くに、人等の動的障害物117がたまたま存在している場合がある。動的障害物117における自律走行ロボット201の進行方向と平行な方向の長さZYは、自律走行ロボット201における進行方向の長さと比べて小さい。
自律走行ロボット201が、動的障害物117と壁115間に差し掛かると、自律走行ロボット201進行している通路の大部分は自律走行ロボット201が旋回可能な幅であるにも関わらず、たまたま壁115の近くに存在した動的障害物117により、通路幅が狭くなっているに過ぎない動的障害物117が存在する部分の幅H2を計測することにより、自装置が通過している通路は、旋回不可能な狭路であると判定してしまう。このため、自律走行ロボット201は、必要以上に走行可能範囲が限定されてしまうことになる。
本発明は、上記従来の問題点に鑑みなされたものであって、その目的は、安全に通路を進行すると共に、正確に狭路判定を行うことである。
上記の課題を解決するために、本発明の一態様に係る自律走行体は、複数方向へビームを照射することで、障害物の位置を特定するセンサ部と、自装置の位置を示す自己位置から上記障害物の位置まで延びる複数の第1のベクトルを作成する第1のベクトル作成部と、上記複数の第1のベクトルのうち所定の基準距離より短い各第1のベクトルそれぞれについて、当該第1のベクトルの延伸方向であって、当該第1のベクトルと上記基準距離との差分だけ上記自己位置から離れる向きに延びる第2のベクトルを作成する第2のベクトル作成部と、上記各第2のベクトルのうち、自装置の直進方向に対し直交する左右方向の成分ベクトルの向きが同じ第2のベクトル同士を合成し、互いに向きが異なる第1及び第2の合成ベクトルを作成する合成ベクトル作成部と、上記第1及び第2の合成ベクトルそれぞれの上記左右方向の成分ベクトルの絶対値の和が、所定の第1の閾値を超えるか否かを判定する判定部とを備える。
上記の課題を解決するために、本発明の一態様に係る自律走行体は、複数方向へビームを照射することで、障害物の位置を特定するセンサ部と、自装置が複数の障害物間を通過する場合、当該複数の障害物における自装置の進行方向に平行な距離が、所定の長さを超えるか否かを判定する判定部と、上記複数の障害物における自装置の進行方向に平行な長さが、上記所定の長さを超えると上記判定部が判定すると、自装置の進行を停止する走行制御部とを備える。
上記の課題を解決するために、本発明の一態様に係る自律走行体の狭路判定方法は、複数方向へビームを照射することで、障害物の位置を特定する位置特定ステップと、自装置の位置を示す自己位置から上記障害物の位置まで延びる複数の第1のベクトルを作成する第1のベクトル作成ステップと、上記複数の第1のベクトルのうち所定の基準距離より短い各第1のベクトルそれぞれについて、当該第1のベクトルの延伸方向であって、当該第1のベクトルと上記基準距離との差分だけ上記自己位置から離れる向きに延びる第2のベクトルを作成する第2のベクトル作成ステップと、上記各第2のベクトルのうち、自装置の直進方向に対し直交する左右方向の成分ベクトルの向きが同じ第2のベクトル同士を合成し、互いの向きが異なる第1及び第2の合成ベクトルを作成する合成ベクトルステップと、上記第1及び第2の合成ベクトルそれぞれの上記左右方向の成分ベクトルの絶対値の和が、所定の第1の閾値を超えるか否かを判定する判定ステップとを有する。
本発明の一態様によれば、安全に通路を進行すると共に、正確に狭路判定を行うという効果を奏する。
本発明の実施形態1に係るロボットの構成を表すブロック図である。 本発明の実施形態1に係るロボットの構成を概略的に表す平面図である。 本発明の実施形態1に係るロボットと、周囲の壁との関係を概略的に示した図である。 本発明の実施形態1に係るロボットのLRFがレーザ光を照射している様子を表す図である。 本発明の実施形態1に係るロボットのLRFが周囲の壁の位置を特定している様子を表す図である。 本発明の実施形態1に係るロボットのLRFが検出した距離データを表す図である。 本発明の実施形態1に係るロボットが環境地図ベクトルを作成している様子を表す図である。 本発明の実施形態1に係るロボットが壁距離ベクトルを作成している様子を表す図である。 環境地図ベクトルから壁距離ベクトルを作成するための基準距離を表す図である。 本発明の実施形態1に係るロボットが右合成壁距離ベクトルを作成している様子を表す図である。 本発明の実施形態1に係るロボットが左合成壁距離ベクトルを作成している様子を表す図である。 本発明の実施形態1に係るロボットが狭路判定を行っている様子を表す図である。 一定の長さを有する障害物間をロボットが走行している様子を表す図である。 本発明の実施形態2に係るロボットの構成を表すブロック図である。 本発明の実施形態2に係るロボットが移動している様子を表す図である。 本発明の実施形態2に係るロボットが作成する合成環境地図を表す図である。 本発明の実施形態2に係るロボットが各基準位置毎に合成壁距離ベクトルを作成している様子を表す図である。 本発明の実施形態3に係るロボットの構成を表すブロック図である。 本発明の実施形態3に係るロボットが右合成壁距離ベクトルを作成している様子を表す図である。 本発明の実施形態3に係るロボットが左合成壁距離ベクトルを作成している様子を表す図である。 本発明の実施形態4に係るロボットの構成を表すブロック図である。 本発明の実施形態4に係るロボットが狭路判定を行っている様子を表す図である。 従来の自律走行ロボットの構成を表す図である。 従来の自律走行ロボットの課題を説明する図である。 (a)は、車体形状が円形である自律走行ロボットが狭路に進入した様子を表す図であり、(b)は、自律走行ロボットが進入した狭路内で旋回している様子を表す図である。 (a)は、車体形状が非円形である自律走行ロボットが狭路に進入した様子を表す図であり、(b)は、自律走行ロボットが進入した狭路内で旋回しようとしている様子を表す図である。 壁までの距離を測定しながら狭路内を走行している自律走行ロボットの様子を表す図である。 壁と動的障害物との間を走行している自律走行ロボットの様子を表す図である。
〔実施形態1〕
以下、本発明の実施の形態について、詳細に説明する。
(ロボット1の構成)
まず、図2を用いて、ロボット(自律走行体)1の構成について説明する。図2は、本発明の実施形態1に係るロボット1の構成を概略的に表す平面図である。ロボット1は、車両型の自律走行が可能な装置であり、床上の予め設定された限られた移動領域内を任意に移動する。ロボット1の一例としては清掃用のロボットであるが、これに限定されるものではなく、例えば、空気清浄機器、撮影機器、各種ロボット機器(例えば、警備ロボット、家事支援ロボット、動物型ロボット等)に対しても本発明を適用することができる。
ロボット1は、箱型の本体11と、1対の対向する駆動輪12a・12bと、キャスタ13とを備える対向2輪型の移動装置である。これらの駆動輪12a・12bとキャスタ13とが本体11を水平に支持する。さらに、本体11の内部には、駆動輪12a・12bをそれぞれ駆動するモータ14a・14bと、駆動輪12a・12bの回転数をそれぞれ検出するためのエンコーダ15a・15bと、駆動輪12a・12bを駆動するための制御信号を作成し、モータ14a・14bにその制御信号を送信する演算部20と、これらの構成要素に電力を供給するためのバッテリー17とが備えられている。なお、図示しないが、演算部20内部に備えられた記憶部であるメモリなどの記憶領域には、制御信号に基づいてロボット1の移動速度や移動方向、移動距離などを制御するためのプログラムとともに、移動領域の形状及び大きさがマップ情報として記憶されている。
さらに、本体11の前面には、ロボット1の進行方向の前方及び側方の環境情報を認識するためのLRF(laser range finder:レーザレンジファインダ)2が設けられている。LRF(センサ部)2は、詳細な構造については省略するが、本体11の前方に対して所定の広がり角度でレーザ光(ビーム)を照射するための光源と、光源より照射されたレーザ光の反射光を受光するための受光部とを備えている。そして、レーザ光を照射した角度と、反射するまでに要した時間とに基づいて、レーザ光を反射した障害物の位置を検出するという、いわゆるTOF(Time of flight)の原理による物体検知(センシング)が行われる。
一例として、LRF12の左右方向の視野は、ロボット1の進行方向前方(Y軸上のプラス方向)を0度とすると左右100度であって、LRF2は1度ごとに距離を計測し、各角度毎に距離データの出力が可能である。つまり、LRF2が計測する距離データ1式は−100度(Xマイナス方向)〜0度〜+100度(Xプラス方向)の合計201件の距離データから構成される。LRF12は、計測周期のたびに、距離データ1式を演算部20へ出力する。LRF12の計測周期は、一例として、50msである。なお、上述した、LEF12が距離データを計測する角度や計測周期は一例であり、上述した数値に限定されるものではない。このLRF2が計測する距離データは後述する。
また、ロボット1は、自己の位置を取得するための自己位置取得部を備えている。この自己位置取得部は、前述したエンコーダ15a・15b及び演算部20とから構成されている。すなわち、エンコーダ15a・15bで検知された駆動輪12a・12bの回転数を演算部20において積算することで、ロボット1の移動した速度や距離などの情報を求め、これらの情報から、移動領域内におけるロボット1の自己位置(オドメトリ位置)を算出する。
そして、これらの自己位置取得部より得られた自己位置候補としての自己位置候補情報は、LRF2により得られる距離データに基づいて適宜修正され、演算部20により、距離データに自己位置を反映させた環境地図が作成される。なお、この環境地図の作成方法については後述する。
このように構成されたロボット1は、1対の駆動輪12a・12bの駆動量をそれぞれ独立に制御することで、直進や曲線移動(旋回)、後退、同じ位置での回転(両車輪の中点を中心とした旋回)などの移動動作を行うことができる。そして、ロボット1は、移動場所を指定する外部に設けられたPC(Personal Computer)等(図示せず)からの指令にしたがって、移動領域内の指定された目的地までの移動経路を自律的に作成し、その移動経路に追従するように移動することで、目的地に到達する。なお、移動経路の自律的な作成は演算部20において実行されるが、ここでは説明を省略する。
(ロボット1の動作)
図1は、本発明の実施形態1に係るロボット1の構成を表すブロック図である。なお、図1では、図2に示した一対の、駆動輪12a・12b、モータ14a・14b及びエンコーダ15a・15bを、それぞれ、駆動輪12、モータ14、及びエンコーダ15と表している。
演算部20は、自己位置検出部21と、環境地図作成部(地図作成部)22と、環境地図ベクトル距離計算部(第1のベクトル作成部)23と、壁距離ベクトル距離計算部(第2のベクトル作成部)24と、合成壁距離ベクトル距離計算部(合成ベクトル作成部)25と、狭路判定部(判定部)26と、走行制御部27とを、機能ブロックとして備えている。当該各機能ブロックの詳細な説明は後述する。
図3は、本発明の実施形態1に係るロボット1と、周囲の壁5との関係を概略的に示した図である。ロボット1の動作を説明する前に、図3を用いて、以降の図面おいて用いる座標、LRF2の位置及び基準位置Eについて説明する。
ロボット1の自己位置を表す基準位置E(後述する)と、周囲の壁5の位置とを表す環境地図M(後述する)上において、図3に示すようにXY座標をとる。
ロボット1の直進方向への延伸軸をY軸とし、直進方向のうちロボット1の前進方向をY軸プラス方向、ロボット1の後進方向をY軸マイナス方向とする。平面視したとき、ロボット1の進行方向と垂直な方向をX軸方向とし、ロボット1から右側へ延びる方向をX軸プラス方向、ロボット1から左側へ延びる方向をX軸マイナス方向とする。
また、以降の説明では、ロボット1に、LRF2の位置と、基準位置Eとの両方又は何れか一方を表す場合がある。
LRF2の位置は、ロボット1が周囲の壁5との距離を計測する基準となる位置である。ロボット1は、LRF2から周囲の壁105までの距離を計測し、自己と壁105との距離を距離データとして演算部20へ出力する。
基準位置Eは、ロボット1が環境地図を作成するための基準位置である。ロボット1は、LRF2が計測したLRF2から周囲の壁105までの距離を表す距離データと、LRF2及び基準位置Eの距離とから、基準位置Eから周囲の壁105までの距離を地図状に表す環境地図を作成する。基準位置Eは、一例として、駆動輪12aと、駆動輪12bとの中間点である。X軸とY軸の交点の位置は、この基準位置Eと一致するものとする。
なお、本実施形態では、ロボット1におけるLRF2が設けられている位置と、基準位置Eとは異なる位置であるが、ロボット1は、平面視したときに、LRF2の位置と、基準位置Eとが同じ位置となるようにLRF2が配されていてもよい。
次に、図1に示したロボット1の各構成が行う処理について、ロボット1の動作と共に順に説明する。
<距離データ測定>
図4は、ロボット1のLRF2がレーザ光を照射している様子を表す図である。図5はLRF2が周囲の壁5の位置を特定している様子を表す図である。図6は、LRF2が検出した距離データを表す図である。
図1に示すLRF2は、複数方向へレーザ光を照射することで、ロボット1と、ロボット1の周囲の壁5の位置との距離を計測するものである。これによって、LRF2は、ロボット1の周囲の壁5の位置を特定する。
図4に矢印Aとして示すように、ロボット1のLRF2は、レーザ光を放射状に照射する。そして、図5に示すように、LRF2は、各角度毎に、レーザ光の反射光を受光するまでに要した時間を算出し、点Pに示すように、各角度毎に壁5の位置を検出する。図6に示すように、LRF2は、LRF2の位置から、各点Pに示される各角度毎の壁5の位置までの距離によって、壁5などの障害物の形状が表された距離データを環境地図作成部22へ出力する。
<自己位置候補の算出>
図1に示す自己位置検出部21は、エンコーダ15から、駆動輪12の回転数を示す回転数情報を取得すると、当該回転数情報が示すエンコーダ15の回転数から、オドメトリにより、移動領域内における自己位置を表す候補である自己位置候補を算出する。自己位置検出部21は、算出した自己位置候補を示す自己位置候補情報を環境地図作成部22へ出力する。
<環境地図作成及び環境地図ベクトル距離計算>
図7は、ロボット1が環境地図ベクトルを作成している様子を表す図である。
図1に示す環境地図作成部22は、LRF2から距離データを取得し、自己位置検出部21から自己位置候補情報を取得すると、ロボット1の周囲の壁5の位置と、自己位置である基準位置Eとを示す環境地図Mを作成するものである。
図7に示すように、環境地図作成部22は、LRF2から取得した距離データと、自身が把握しているLRF2の地図(座標)上の位置、及び、自己位置検出部21から取得した自己位置候補情報が示す自己位置から、地図上の基準位置Eを特定する。次に、環境地図作成部22は、LRF2の位置から各点P(各角度毎の壁5の位置)までの距離を示していた距離データから、基準位置Eから、各点P(各角度毎の壁5の位置)までの距離により壁5の形状が表された環境地図Mを作成する。この環境地図Mは、ロボット1の周囲の壁5の形状と、ロボット1の自己位置を表す基準位置Eとが表された地図である。
なお、環境地図Mは、ロボット1の移動を伴って得られる、LRF2の複数の距離データを合成して作成されてもよい。この複数の距離データを合成して環境地図を得る方法は、後述する実施形態2にて説明する。
環境地図作成部22は、作成した環境地図Mを表す環境地図情報を環境地図ベクトル距離計算部23へ出力する。
図1に示す環境地図ベクトル距離計算部23は、環境地図作成部22から取得した環境地図情報が示す環境地図Mに基づき、基準位置Eから壁5の位置である各点Pまで延びる複数の環境地図ベクトル(第1のベクトル)Cを作成するものである。
図7に示すように、環境地図ベクトル距離計算部23は、環境地図情報が示す環境地図Mに基づき、基準位置Eから、各点Pへの方向に向く環境地図ベクトルCを、各方位毎に作成する。当該環境地図ベクトルCの作成によって、各方位毎における基準位置Eから各点Pまでの距離である環境地図ベクトル距離が計算される。環境地図ベクトル距離計算部23は、各点P毎に作成した環境地図ベクトルCを示す環境地図ベクトル情報を壁距離ベクトル距離計算部24へ出力する。
なお、環境地図ベクトル距離計算部23は、全ての点Pにおける環境地図ベクトルCを作成するのではなく、データ量を少なくするために、適宜、間引いて環境地図ベクトルCを作成してもよい。
また、環境地図ベクトル距離計算部23は、ロボット1の前方及び左右方向の全方向における環境地図ベクトルCを作成するのではなく、目的に応じて、環境地図ベクトルCを作成する方向を限定してもよい。例えば、ロボット1の前方の環境地図ベクトルCは、狭路判定に不要である場合、除外することもできる。このロボット1の前方の環境地図ベクトルCの作成を除外した場合を、後述する実施形態3にて説明する。
<壁距離ベクトル距離計算>
図8は、ロボット1が壁距離ベクトルを作成している様子を表す図である。図9は、環境地図ベクトルから壁距離ベクトルを作成するための基準距離を表す図である。図10は、ロボット1が右合成壁距離ベクトルを作成している様子を表す図である。図11は、ロボット1が左合成壁距離ベクトルを作成している様子を表す図である。
図1に示す壁距離ベクトル距離計算部24は、環境地図ベクトル距離計算部23から取得した環境地図ベクトル情報が示す環境地図ベクトルCのうち、所定の基準距離Bより短い環境地図ベクトルCR1〜CR4(図10参照)及び環境地図ベクトルCL1・CL2(図11参照)それぞれについて、環境地図ベクトルCR1〜CR4・CL1・CL2それぞれの延伸方向であって、環境地図ベクトルCR1〜CR4・CL1・CL2と基準距離Bとの差分だけ基準位置Eから離れる向きに延びる壁距離ベクトル(第2のベクトル)Dを作成するものである。
図8及び図9に示すように、壁距離ベクトル距離計算部24は、環境地図ベクトル距離計算部23から環境地図ベクトル情報を取得すると、各点P毎の環境地図ベクトルCに、予め設定された所定の基準距離Bを反映させた壁距離ベクトルDを作成することで、当該壁距離ベクトルDが示す距離である壁距離ベクトル距離を計算する。
基準距離Bは、ロボット1が、周囲の壁5などの障害物と接触せず、確実に、走行したり、旋回したりするために必要な幅を示す安全距離である。基準距離Bは、ロボット1の形状や駆動輪12の位置などを考慮して、予め情報として壁距離ベクトル距離計算部24に記憶しておけばよい。なお、基準距離Bは、ベクトルではなく、方向を持たない長さである。
壁距離ベクトルDが示す距離は、ロボット1から壁5などの周囲の障害物までの距離(環境地図ベクトル距離)に、ロボット1の安全距離(基準距離B)を反映させた距離である。このように、環境地図ベクトルCではなく壁距離ベクトルDを用いて、ロボット1と、周囲の壁5等の障害物との距離を把握することで、ロボット1が通過しようとする通路が、単にロボット1が進入可能な幅を有するか否かの判定だけではなく、進入した通路内で旋回が可能な安全距離の幅を有するか否かも判定することができる。
図9に示すように、壁距離ベクトル距離計算部24は、環境地図ベクトルCから基準距離Bを減算することで、壁距離ベクトルDを作成する。
図8に示すように、ロボット1の基準位置Eと、点Pを考慮すると、壁距離ベクトル距離計算部24は、基準位置Eから、環境地図ベクトルCとは逆向きに、(基準距離B) − (環境地図ベクトル距離)の大きさのベクトルである壁距離ベクトルDを作成する。基準位置Eから点Pまでの距離が遠ければ、環境地図ベクトルCは長くなり、壁距離ベクトルDは短くなる。逆に、基準位置Eから点Pまでの距離が近ければ、環境地図ベクトルCは短くなり、壁距離ベクトルDは長くなる。
ただし、(基準距離B) − (環境地図ベクトル距離) < 0の場合、壁距離ベクトル距離計算部24は、壁距離ベクトルDの大きさを0とする。これについて、図10及び図11を用いて説明する。
図10に、環境地図Mを用いて作成された右側の環境地図ベクトルを示す。図10には、各点Pの例として、基準位置Eを中心に反時計回りに、点P1〜点P13を示している。点P7は、ロボット1の進行方向前方に位置し、Y軸上にある点であるとする。点P1〜点P6はロボット1の右側方及び右前方の壁5の位置(基準位置EよりXプラス方向に位置する点P)を表している。このうち点P5〜点7は、基準位置Eとの距離が、基準距離Bより遠いものとする。
環境地図ベクトル距離計算部23は、基準位置Eから、点P1〜点P6それぞれまでの環境地図ベクトルCである環境地図ベクトルCR1〜CR6を作成する。
壁距離ベクトル距離計算部24は、環境地図ベクトル距離計算部23が作成した環境地図ベクトルCR1〜CR6のうち、長さが基準距離Bより短い環境地図ベクトルCR1〜CR4それぞれについて、基準距離Bを減算した差を演算し、基準位置Eから、当該差分の長さであって、環境地図ベクトルCR1〜CR4とは逆向きの壁距離ベクトルDそれぞれである壁距離ベクトルDR1〜DR4を作成する。
壁距離ベクトルDR1は、環境地図ベクトルCR1とは逆向きに、基準距離Bと環境地図ベクトルCR1との差分だけ、基準位置Eから延びるベクトルである。壁距離ベクトルDR2は、環境地図ベクトルCR2とは逆向きに、基準距離Bと環境地図ベクトルCR2との差分だけ、基準位置Eから延びるベクトルである。壁距離ベクトルDR3は、環境地図ベクトルCR3とは逆向きに、基準距離Bと環境地図ベクトルCR3との差分だけ、基準位置Eから延びるベクトルである。壁距離ベクトルDR4は、環境地図ベクトルCR4とは逆向きに、基準距離Bと環境地図ベクトルCR4との差分だけ、基準位置Eから延びるベクトルである。
壁距離ベクトル距離計算部24は、環境地図ベクトル距離計算部23が作成した環境地図ベクトルCR1〜CR6のうち、基準距離Bより長い環境地図ベクトルCR5・CR6については、壁距離ベクトルDの大きさを0とし、それぞれに対応する壁距離ベクトルDを作成しない。
図11に示すように、環境地図Mを用いて作成された左側の環境地図ベクトルについても同様である。図11に示すように、点P8〜点P13はロボット1の左前方及び左側方の壁5の位置(基準位置EよりXマイナス方向に位置する点P)を表している。このうち点P8〜点11は、基準位置Eとの距離が、基準距離Bより遠いものとする。
環境地図ベクトル距離計算部23は、点P13〜点P8それぞれについての環境地図ベクトルCである環境地図ベクトルCL1〜CL6を作成する。
壁距離ベクトル距離計算部24は、環境地図ベクトル距離計算部23が作成した環境地図ベクトルCL1〜CL6のうち、長さが基準距離Bより短い環境地図ベクトルCL1〜CL2それぞれについて、基準距離Bを減算した差を演算し、基準位置Eから、当該差分の長さであって、環境地図ベクトルCL1〜CL2とは逆向きの壁距離ベクトルDそれぞれである壁距離ベクトルDL1・DL2を作成する。
壁距離ベクトルDL1は、環境地図ベクトルCL1とは逆向きに、基準距離Bと環境地図ベクトルCL1との差分だけ、基準位置Eから延びるベクトルである。壁距離ベクトルDL2は、環境地図ベクトルCL2とは逆向きに、基準距離Bと環境地図ベクトルCL2との差分だけ、基準位置Eから延びるベクトルである。
壁距離ベクトル距離計算部24は、環境地図ベクトル距離計算部23が作成した環境地図ベクトルCL1〜CL6のうち、基準距離Bより長い環境地図ベクトルCL3〜CL6については、壁距離ベクトルDの大きさを0とし、それぞれに対応する壁距離ベクトルDを作成しない。
このように、壁距離ベクトル距離計算部24は、壁距離ベクトルD(ここでは壁距離ベクトルDR1〜DR4・DL1・DL2)を作成することによって、壁距離ベクトルD(ここでは壁距離ベクトルDR1〜DR4・DL1・DL2)の長さである壁距離ベクトル距離をそれぞれ計算する。
壁距離ベクトル距離計算部24は、このように作成した壁距離ベクトルD(ここでは壁距離ベクトルDR1〜DR4・DL1・DL2)を示す情報である壁距離ベクトル情報を合成壁距離ベクトル距離計算部25へ出力する。
なお、本実施形態では、図9に示したように、壁距離ベクトルDの長さを示す壁距離ベクトル距離を、長さが一定である基準距離Bを用いて、(基準距離B) − (環境地図ベクトルCの長さ)により演算したが、壁距離ベクトル距離の演算方法はこれに限定されず、例えば、基準距離Bを方向によって変化させてもよいし、さらに、ロボット1の走行状態に応じて、基準距離Bを動的に変化させてもよい。
<合成壁距離ベクトル距離計算>
図1に示す合成壁距離ベクトル距離計算部25は、壁距離ベクトル情報を壁距離ベクトル距離計算部24から取得すると、壁距離ベクトル情報が示す壁距離ベクトルDのうち、X軸方向(左右方向)の成分ベクトルの向きが同じベクトル同士(図10に示す壁距離ベクトルDR1〜DR4同士と、図11に示す壁距離ベクトルDL1・DL2同士)を合成し、互いの向きが異なる右合成壁距離ベクトル(第1の合成ベクトル)FRと、左合成壁距離ベクトル(第2の合成ベクトル)FLとを作成するものである。
図10及び図11に示すように、合成壁距離ベクトル距離計算部25は、壁距離ベクトル距離計算部24から、壁距離ベクトル情報を取得すると、左右の合成壁距離ベクトルを作成する。
図10に示すように、合成壁距離ベクトル距離計算部25は、壁距離ベクトル距離計算部24から取得した壁距離ベクトル情報のうち、ロボット1の右側の壁距離ベクトルDR1〜DR4を合成することで、右合成壁距離ベクトルFRを作成する。
図11に示すように、合成壁距離ベクトル距離計算部25は、壁距離ベクトル距離計算部24から取得した壁距離ベクトル情報のうち、ロボット1の左側の壁距離ベクトルDL1・DL2を合成することで、左合成壁距離ベクトルFLを作成する。
ここで、合成壁距離ベクトル距離計算部25が行う合成は、壁距離ベクトルDR1〜DR4の代表ベクトル及び壁距離ベクトルDL1・DL2の代表ベクトルを作成することである。合成壁距離ベクトル距離計算部25は、壁距離ベクトルDR1〜DR4及び壁距離ベクトルDL1・DL2それぞれを足し合わせることで、右合成壁距離ベクトルFR及び左合成壁距離ベクトルFLを作成する。
右合成壁距離ベクトルFR及び左合成壁距離ベクトルFLは、ロボット1から左右及び前方の壁までの距離が近いほど長くなる。
そして、合成壁距離ベクトル距離計算部25は、右合成壁距離ベクトルFR及び左合成壁距離ベクトルFLを示す情報である左右合成壁距離ベクトル情報を狭路判定部26へ出力する。
<狭路判定>
図1に示す狭路判定部26は、合成壁距離ベクトル距離計算部25から左右合成壁距離ベクトル情報を取得すると、左右合成壁距離ベクトル情報が示す右合成壁距離ベクトルFR及び左合成壁距離ベクトルFLそれぞれのX軸方向(左右方向)の成分ベクトルである左右方向成分ベクトルFRa及び左右方向成分ベクトルFLaを抽出し、左右方向成分ベクトルFRa及び左右方向成分ベクトルFLaの絶対値の和が、予め設定された所定の第1の閾値を超えるか否かを判定するものである。このようにして、狭路判定部26は、ロボット1が通過しようとする通路が、狭路であるか否かの狭路判定を行う。
図12は、ロボット1が狭路判定を行っている様子を表す図である。図12に示すように、狭路判定部26は、合成壁距離ベクトル距離計算部25から左右合成壁距離ベクトル情報を取得すると、右合成壁距離ベクトルFRを、左右方向成分ベクトルFRaと、前後方向成分ベクトルFRbとに分解する。また、狭路判定部26は、左合成壁距離ベクトルFLを、左右方向成分ベクトルFLaと、前後方向成分ベクトルFLbとに分解する。
そして、狭路判定部26は、左右方向成分ベクトルFRaと、左右方向成分ベクトルFLaとの絶対値の和を演算し、当該絶対値の和が、予め設定された所定の第1の閾値を超えるか否かを判定する。
狭路判定部26は、上記絶対値の和が、上記所定の第1の閾値を超えた場合、ロボット1が走行する通路は狭路であると判定する。一方、狭路判定部26は、上記絶対値の和が、上記所定の第1の閾値以下である場合、ロボット1が走行する通路は狭路ではないと判定する。
狭路判定部26は、狭路であるか否かを判定した判定結果を、走行制御部27へ出力する。これにより、走行制御部27は、ロボット1が適切に走行するように、モータ14の回転速度を制御する。
なお、狭路判定部26は、狭路判定をする際、左右方向成分ベクトルFRaと、左右方向成分ベクトルFLaとのそれぞれの絶対値の和が、上記所定の第1の閾値を超える場合、狭路と判定していたが、これに限定されず、さらに、前後方向成分ベクトルFRb・FLbを狭路判定に含めてもよい。この前後方向成分ベクトルLRb・FLbを狭路判定に含める場合を後述する実施形態4として説明する。
(ロボット1による利点)
ロボット1によると、図27及び図28を用いて説明した、左右それぞれ一方向にのみ障害物との距離を計測した結果から狭路判定をする自律走行ロボット201とは異なり、狭路判定部26は、合成壁距離ベクトル距離計算部25が複数の壁距離ベクトルDを合成することで作成した右合成壁距離ベクトルFR及び左合成壁距離ベクトルFLのX軸方向成分である左右方向成分ベクトルFRa及び左右方向成分ベクトルFLaの絶対値の和が、所定の第1の閾値を超えるか否かを判定している。これによって、狭路判定部26は狭路判定をしている。このため、LRF2が特定した左右方向の壁5の位置(点Pの位置)が平均化される。
これにより、ロボット1が通過する通路幅を計測するに際し、通路中において、ロボット1の直進方向に平行な方向の距離が短く、一時的に通路幅が狭くなっているに過ぎない箇所であるボトルネック部分や、たまたま、通路中に存在することで通路幅が狭くなっているに過ぎない動的障害物などが存在する部分の通路幅を計測したとしても、これら、ボトルネック部分や、動的障害物などが存在する部分によって、通路全体が、自装置が確実に通過や旋回ができない狭路であると判定してしまうことを防止することができる。このため、ロボット1は、正確に狭路判定を行うことができる。
加えて、ロボット1において狭路判定部26は、複数の環境地図ベクトルCを合成した合成ベクトルによって狭路判定をするのではない。
すなわち、壁距離ベクトル距離計算部24が、複数の環境地図ベクトルCのうち所定の基準距離Bより短い環境地図ベクトルCR1〜CR4・DL1・DL2それぞれについて、環境地図ベクトルCR1〜CR4・DL1・DL2の延伸方向であって、環境地図ベクトルCR1〜CR4・DL1・DL2と基準距離Bとの差分だけ基準位置Eから離れる向きに延びる壁距離ベクトルDを作成する。そして、合成壁距離ベクトル距離計算部25は、壁距離ベクトルDのうち、X軸方向の成分ベクトルの向きが同じである、壁距離ベクトルDR1〜DR4同士を合成することで右合成壁距離ベクトルFRを作成し、壁距離ベクトルDL1・DL2同士を合成することで、左合成壁距離ベクトルFLを作成する。
そして、狭路判定部26は、この右合成壁距離ベクトルFRの左右方向成分ベクトルFRaを抽出し、左合成壁距離ベクトルFLの左右方向成分ベクトルFLaを抽出し、左右方向成分ベクトルFRaの絶対値と、左右方向成分ベクトルFLaの絶対値の和が、所定の第1の閾値を超えるか否かを判定する。このようにして、狭路判定部26は、狭路判定を行っている。
基準距離Bを、ロボット1が確実に通過や旋回できる安全距離とすることで、狭路判定部26は、安全距離を確保して狭路判定をすることができる。この結果、ロボット1は、通路を確実に通過したり、通路内で旋回したりすることができるため、より安全に、通路を進行することができる。
図13は、一定の長さLYを有する複数の障害物5A・5B間をロボット1が走行している様子を表す図である。
上述のように、ロボット1は、通路中において、ボトルネック部分や動的障害物が存在する部分など、ロボット1の進行方向に平行な距離が短い障害物によって旋回できない部分が構成されていても狭路と判定しない。
換言すると、狭路判定部26は、ロボット1が障害物5A・5B間を通過する場合、障害物5A・5Bにおけるロボット1の進行方向に平行な長さである長さLYが、所定の長さを超えるか否かを判定する。そして、障害物5A・5Bの長さLYが、所定の長さを超えると狭路判定部26が判定した場合、障害物5A・5B間の通路は、狭路であるため、走行制御部27は、モータ14を停止させることでロボット1の進行を停止させる。
この具体的な処理の一例を説明する。上述した狭路判定部26は、ロボット1が所定距離移動するたびに、右合成壁距離ベクトルFR及び左合成壁距離ベクトルFLそれぞれの左右方向成分ベクトルFRa・FLaの絶対値の和が、上記第1の閾値を超えるか否かを判定する。
このため、狭路判定部26は、右合成壁距離ベクトルFR及び左合成壁距離ベクトルFLそれぞれの左右方向成分ベクトルFRa・FLaの絶対値の和が、所定回数、連続して上記第1の閾値を超えると判定した場合、その旨を走行制御部27へ出力し、走行制御部27がモータ14を停止させることで、ロボット1の走行を停止させる。
これにより、ロボット1が通過する通路幅が狭くなっている部分である障害物5A・5Bの長さLYが、一定の距離以上続いているか否かを正確に判定することができるため、障害物5A・5Bの長さLYが、所定の長さを超えるほど続いている場合にだけ、障害物5A・5B間が狭路であると判定し、ロボット1を安全に停止させることができる。
狭路判定部26は、右合成壁距離ベクトルFR及び左合成壁距離ベクトルFLそれぞれの左右方向成分ベクトルFRa・FLaの絶対値の和が、所定回数、連続して上記第1の閾値を超えないと判定すると、長さLYは一定の距離未満であるとみなし、ロボット1の走行を停止させず、そのまま障害物5A・5B間を通過させる。
〔実施形態2〕
本発明の実施形態2について、図14〜図17に基づいて説明すれば、以下のとおりである。なお、説明の便宜上、上記実施形態1にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
図14は、本発明の実施形態2に係るロボット1Aの構成を表すブロック図である。ロボット1Aは、ロボット1(図1)が備えていた演算部20に換えて演算部20Aを備える点で、ロボット1と相違する。ロボット1Aの他の構成はロボット1と同様である。
演算部20Aは、演算部20が備えていた環境地図ベクトル距離計算部23、壁距離ベクトル距離計算部24、合成壁距離ベクトル距離計算部25及び狭路判定部26に換えて、環境地図ベクトル距離計算部23A、壁距離ベクトル距離計算部24A、合成壁距離ベクトル距離計算部25A及び狭路判定部26Aを備え、さらに、合成環境地図作成部(合成地図作成部)28Aを備えている。演算部20Aの他の構成は演算部20と同様である。
図15は、ロボット1Aが移動している様子を表す図である。図15に示すように、ある時刻t1の位置におけるロボット1AのLRF2及び基準位置Eを、LRF2t1及び基準位置Et1とする。そして、時刻t1から所定時間が経過した時刻t2において、時刻t1の位置から矢印G1だけ移動した位置におけるロボット1AのLRF2及び基準位置Eを、LRF2t2及び基準位置Et2とする。さらに、時刻t2から所定時間が経過した時刻t3において、時刻t2の位置から矢印G2だけ移動した位置におけるロボット1AのLRF2及び基準位置Eを、LRF2t3及び基準位置Et3とする。
図16は、本発明の実施形態2に係るロボット1Aが作成する合成環境地図M0を表す図である。
環境地図作成部22は、逐次、LRF2から距離データを取得すると共に、自己位置検出部21から自己位置候補情報を取得する。環境地図作成部22は、ロボット1が所定の距離を移動する度に、LRF2から取得した距離データと、自己位置検出部21から取得した自己位置候補情報とから、環境地図を作成していく。環境地図作成部22は、ロボット1Aの移動量を、エンコーダ15から取得する回転数から演算する。
図16に示すように、時刻t1のとき、環境地図作成部22は、そのときの基準位置Et1と、LRF2が計測した距離データが示す各角度毎の壁5の位置である点P11〜P18とから、環境地図M1を作成し、作成した環境地図M1を表す環境地図情報を合成環境地図作成部28Aへ出力する。
そして、ロボット1が所定の距離を移動し、時刻t2のとき、環境地図作成部22は、そのときの基準位置Et2と、LRF2が計測した距離データが示す各角度毎の壁5の位置である点P21〜P26とから、環境地図M2を作成し、作成した環境地図M2を表す環境地図情報を合成環境地図作成部28Aへ出力する。
さらに、ロボット1が所定の距離を移動し、時刻t3のとき、環境地図作成部22は、そのときの基準位置Et3と、LRF2が計測した距離データが示す各角度毎の壁5の位置である点P31〜P35とから、環境地図M3を作成し、作成した環境地図M2を表す環境地図情報を合成環境地図作成部28Aへ出力する。
なお、各時刻におけるLRF2が計測する各点の個数は任意で設定すればよい。また、各時刻において環境地図作成部22が環境地図を作成する方法は、実施形態1で説明したものと同様である。
図16に示すように、合成環境地図作成部28Aは、環境地図作成部22から環境地図M1〜M3を取得すると、環境地図M1に示された点P11〜点P18によって表された形状と、環境地図M2に示された点P21〜点P26によって表された形状と、環境地図M3に示された点P31〜点P35によって表された形状とを重ね合せることで、環境地図M1〜M3が合成された合成環境地図M0を作成する。合成環境地図作成部28Aは、作成した合成環境地図M0を表す合成環境地図情報を環境地図ベクトル距離計算部23Aへ出力する。
合成環境地図作成部28Aは、環境地図作成部22から所定の個数の環境地図を取得する度に、合成環境地図を作成する。換言すると、合成環境地図作成部28Aは、ロボット1が所定の距離を移動する度に、複数の環境地図を合成し、合成環境地図(合成地図)M0を作成する。なお、図16の例では、合成環境地図作成部28Aは、3個の環境地図M1〜M3から1つの合成環境地図M0を作成しているが、1つの合成環境地図M0を構成する環境地図の個数は、3個に限定されるものではなく2個であってもよいし、4個以上であってもよい。
環境地図ベクトル距離計算部23Aは、合成環境地図情報が示す合成環境地図M0に基づき、各基準位置Et1・Et2・Et3毎に、所定の個数分の各点への方向に向く環境地図ベクトルを作成する。図16の例では、環境地図ベクトル距離計算部23Aは、基準位置Et1から点P11〜点P18それぞれへ向く環境地図ベクトルを作成し、基準位置Et2から点P21〜点P26それぞれへ向く環境地図ベクトルを作成し、基準位置Et3から点P31〜点P35それぞれの方へ向く環境地図ベクトルを作成している。
環境地図ベクトル距離計算部23Aが、各基準位置Et1〜Et3毎に環境地図ベクトルを作成することによって、基準位置Et1から各点P11〜点P18までの距離である環境地図ベクトル距離、基準位置Et2から各点P21〜点P26までの距離である環境地図ベクトル距離、基準位置Et3から各点P31〜点P35までの距離である環境地図ベクトル距離が計算される。環境地図ベクトル距離計算部23Aは、各基準位置Et1〜Et3毎に作成した環境地図ベクトルを示す環境地図ベクトル情報を壁距離ベクトル距離計算部24Aへ出力する。
壁距離ベクトル距離計算部24Aは、環境地図ベクトル距離計算部23Aから環境地図ベクトル情報を取得すると、各基準位置Et1〜Et3毎に、図8〜図11を用いて説明した方法により、(基準距離B) − (環境地図ベクトル距離)の大きさのベクトルを壁距離ベクトルとして作成する。壁距離ベクトルの向きは、環境地図ベクトルの向きとは逆向きになる。基準位置Et1〜Et3における環境地図ベクトルが長ければ、壁距離ベクトルは短くなる。逆に、基準位置Et1〜Et3における環境地図ベクトルが短ければ、壁距離ベクトルは長くなる。
壁距離ベクトル距離計算部24Aは、各基準位置Et1〜Et3毎に作成した壁距離ベクトルを示す情報である壁距離ベクトル情報を合成壁距離ベクトル距離計算部25Aへ出力する。
図17は、ロボット1Aが各基準位置Et1〜Et3毎に合成壁距離ベクトルを作成している様子を表す図である。なお、図17では、図16で表した点P11〜P18、点P21〜点P26及び点P31〜点P35を、単に点Pとして表している。
合成壁距離ベクトル距離計算部25Aは、壁距離ベクトル距離計算部24Aから、壁距離ベクトル情報を取得すると、各基準位置Et1〜Et3毎に、図10及び図11を用いて説明した方法により、左右の合成壁距離ベクトルを作成する。
基準位置Et1において、合成壁距離ベクトル距離計算部25Aは、図10を用いて説明した方法により、ロボット1Aの右側の壁距離ベクトルを合成することで、右合成壁距離ベクトルFRt1を作成する。また、合成壁距離ベクトル距離計算部25Aは、図11を用いて説明した方法により、ロボット1Aの左側の壁距離ベクトルを合成することで、左合成壁距離ベクトルFLt1を作成する。
さらに、基準位置Et2において、合成壁距離ベクトル距離計算部25Aは、図10を用いて説明した方法により、ロボット1Aの右側の壁距離ベクトルを合成することで、右合成壁距離ベクトルFRt2を作成する。また、合成壁距離ベクトル距離計算部25Aは、図11を用いて説明した方法により、ロボット1Aの左側の壁距離ベクトルを合成することで、左合成壁距離ベクトルFLt2を作成する。
そして、基準位置Et3において、合成壁距離ベクトル距離計算部25Aは、図10を用いて説明した方法により、ロボット1Aの右側の壁距離ベクトルを合成することで、右合成壁距離ベクトルFRt3を作成する。また、合成壁距離ベクトル距離計算部25Aは、図11を用いて説明した方法により、ロボット1Aの左側の壁距離ベクトルを合成することで、左合成壁距離ベクトルFLt3を作成する。
次に、合成壁距離ベクトル距離計算部25Aは、各基準位置Et1〜Et3における右合成壁距離ベクトルFRt1〜FRt3及び左合成壁距離ベクトルFLt1〜FLt3を示す情報である左右合成壁距離ベクトル情報を狭路判定部26Aへ出力する。
狭路判定部26Aは、合成壁距離ベクトル距離計算部25Aから左右合成壁距離ベクトル情報を取得すると、各基準位置Et1〜Et3毎に、右合成壁距離ベクトル及び左合成壁距離ベクトルをそれぞれ、左右方向ベクトルと、前後方向ベクトルとに分解し、各基準位置Et1〜Et3毎に左右方向ベクトルの絶対値の和を演算し、当該絶対値の和が、予め設定された所定の閾値を超えるか否かを判定する。これにより、狭路判定部26Aは、各基準位置Et1〜Et3毎に、ロボット1Aが走行している通路は狭路であるか否かを判定する。
具体的には、狭路判定部26Aは、基準位置Et1において、右合成壁距離ベクトルFRt1を、左右方向成分ベクトルFRt1aと、前後方向成分ベクトルFRt1bとに分解する。また、狭路判定部26Aは、左合成壁距離ベクトルFLt1を、左右方向成分ベクトルFLt1aと、前後方向成分ベクトルFLt1bとに分解する。
そして、狭路判定部26Aは、左右方向成分ベクトルFRt1aと、左右方向成分ベクトルFLt1aとの絶対値の和を演算し、当該絶対値の和が、予め設定された所定の閾値を超えるか否かを判定する。
狭路判定部26Aは、上記絶対値の和が、上記所定の第1の閾値を超えた場合、ロボット1Aが走行している通路は狭路であると判定する。一方、狭路判定部26Aは、上記絶対値の和が、上記所定の第1の閾値以下である場合、ロボット1Aが走行している通路は狭路ではないと判定する。
また、狭路判定部26Aは、基準位置Et2において、右合成壁距離ベクトルFRt2を、左右方向成分ベクトルFRt2aと、前後方向成分ベクトルFRt2bとに分解する。また、狭路判定部26Aは、左合成壁距離ベクトルFLt2を、左右方向成分ベクトルFLt2aと、前後方向成分ベクトルFLt2bとに分解する。
そして、狭路判定部26Aは、左右方向成分ベクトルFRt2aと、左右方向成分ベクトルFLt2aとの絶対値の和を演算し、当該絶対値の和が、予め設定された所定の第1の閾値を超えるか否かを判定する。
狭路判定部26Aは、上記絶対値の和が、上記所定の第1の閾値を超えた場合、ロボット1Aが走行している通路は狭路であると判定する。一方、狭路判定部26Aは、上記絶対値の和が、上記所定の第1の閾値以下である場合、ロボット1Aが走行している通路は狭路ではないと判定する。
さらに、狭路判定部26Aは、基準位置Et3において、右合成壁距離ベクトルFRt3を、左右方向成分ベクトルFRt3aと、前後方向成分ベクトルFRt3bとに分解する。また、狭路判定部26Aは、左合成壁距離ベクトルFLt3を、左右方向成分ベクトルFLt3aと、前後方向成分ベクトルFLt3bとに分解する。
そして、狭路判定部26Aは、左右方向成分ベクトルFRt3aと、左右方向成分ベクトルFLt3aとの絶対値の和を演算し、当該絶対値の和が、予め設定された所定の第1の閾値を超えるか否かを判定する。
狭路判定部26Aは、上記絶対値の和が、上記所定の第1の閾値を超えた場合、ロボット1Aが走行している通路は狭路であると判定する。一方、狭路判定部26Aは、上記絶対値の和が、上記所定の第1の閾値以下である場合、ロボット1Aが走行している通路は狭路ではないと判定する。
狭路判定部26Aは、狭路であるか否かを判定した判定結果を、走行制御部27へ出力する。これにより、走行制御部27は、ロボット1Aが適切に走行するように、モータ14の回転速度を制御する。
このように、ロボット1Aによると、時刻t1〜t3の各基準位置Et1〜Et3(第1の地点〜第3の地点)において、LRF2が周囲の壁5の位置を特定できない死角が存在したとしても、環境地図ベクトル距離計算部23は、環境地図M1が示す壁5の位置である点P11〜P18と、環境地図M2が示す壁5の位置である点P21〜P26と、環境地図M3が示す壁5の位置である点P31〜P35とに基づいて、複数の環境地図ベクトルCをそれぞれ作成するため、より正確に、基準位置Eと、周囲の壁5の位置(各点P)との位置関係を把握することができる。このため、ロボット1Aは、さらに正確に、狭路判定を行うことができる。
ここで、上述のように、基準位置Eの移動量は、駆動輪12の回転数をエンコーダ15が計測した情報が加味されて得られている。駆動輪12の滑り量は計測できないため、ロボット1Aの移動距離が長くなると、ロボット1Aが実際に移動した量と、エンコーダ15が計測した回転数から環境地図作成部22が演算したロボット1Aの移動量との間に誤差が生じる。しかし、滑りが大きい床環境を除いて、単距離であれば累積誤差は小さいため、これを利用して、環境地図を一定距離移動した区間毎にLRF2が計測した距離データに基づいて合成環境地図M0を作成することができる。この合成環境地図M0を利用することによって、各地点においてLRF2に死角があっても、過去のLRF2が計測した距離データによって補うことができる。
〔実施形態3〕
本発明の実施形態3について、図18〜図20に基づいて説明すれば、以下のとおりである。なお、説明の便宜上、上記実施形態1、2にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
図18は、本発明の実施形態3に係るロボット1Bの構成を表すブロック図である。ロボット1Bは、ロボット1(図1)が備えていた演算部20に換えて演算部20Bを備える点で、ロボット1と相違する。ロボット1Bの他の構成はロボット1と同様である。
演算部20Bは、演算部20が備えていた合成壁距離ベクトル距離計算部25に換えて、合成壁距離ベクトル距離計算部25Bを備えている点で、演算部20と相違する。演算部20Bの他の構成は演算部20と同様である。
図19は、ロボット1Bが右合成壁距離ベクトルを作成している様子を表す図である。図20は、ロボット1Bが左合成壁距離ベクトルを作成している様子を表す図である。
図19及び図20に示すように、合成壁距離ベクトル距離計算部25Bは、壁距離ベクトル距離計算部24から、壁距離ベクトル情報を取得すると、左右の合成壁距離ベクトルを作成する。合成壁距離ベクトル距離計算部25Bは、図10及び図11で説明した方法とは異なり、合成壁距離ベクトルを合成する目的に応じて、合成に利用する壁距離ベクトルを選択する。
図19に示すように、合成壁距離ベクトル距離計算部25Bは、ロボット1Bの右側方及右前方に伸びる環境地図ベクトルCR1〜CR5それぞれに基準距離B(図9参照)が考慮されることで作成された壁距離ベクトルDR1〜DR5を合成することで、右合成壁距離ベクトルFRBを作成する。すなわち、合成壁距離ベクトル距離計算部25Bは、ロボット1Bの前方領域Jに含まれる環境地図ベクトルCR6・CR7に対応する壁距離ベクトルは、右合成壁距離ベクトルFRBの合成に利用しない。
また、図20に示すように、合成壁距離ベクトル距離計算部25Bは、ロボット1Bの左側方及左前方に伸びる環境地図ベクトルCL1・CL2それぞれに基準距離B(図9参照)が考慮されることで作成された壁距離ベクトルDL1・DL2を合成することで、左合成壁距離ベクトルFLBを作成する。すなわち、合成壁距離ベクトル距離計算部25Bは、ロボット1Bの前方領域Jに含まれる環境地図ベクトルCL5〜CL7に対応する壁距離ベクトルは、左合成壁距離ベクトルFLBの合成に利用しない。なお、環境地図ベクトルCL3・CL4は、長さが基準距離B以上であるため、それぞれに対応する壁距離ベクトルも左合成壁距離ベクトルFLBの合成に利用しない。
合成壁距離ベクトル距離計算部25Bは、右合成壁距離ベクトルFRB及び左合成壁距離ベクトルFLBを示す情報である左右合成壁距離ベクトル情報を狭路判定部26へ出力する。
狭路判定部26は、合成壁距離ベクトル距離計算部25Bから左右合成壁距離ベクトル情報を取得すると、図19に示すように、右合成壁距離ベクトルFRBを、左右方向成分ベクトルFRBaと、前後方向成分ベクトルFRBbとに分解する。また、狭路判定部26は、図20に示すように、左合成壁距離ベクトルFLBを、左右方向成分ベクトルFLBaと、前後方向成分ベクトルFLBbとに分解する。
そして、狭路判定部26は、左右方向成分ベクトルFRBaと、左右方向成分ベクトルFLBaとの絶対値の和を演算し、当該絶対値の和が、予め設定された所定の閾値を超えるか否かを判定する。
狭路判定部26は、上記絶対値の和が、上記所定の閾値を超えた場合、ロボット1Bが走行している通路は狭路であると判定する。一方、狭路判定部26は、上記絶対値の和が、上記所定の閾値以下である場合、ロボット1Bが走行している通路は狭路ではないと判定する。
狭路判定部26は、狭路であるか否かを判定した判定結果を、走行制御部27へ出力する。これにより、走行制御部27は、ロボット1Bが適切に走行するように、モータ14の回転速度を制御する。
このようにロボット1Bにおいて、合成壁距離ベクトル距離計算部25Bは、壁距離ベクトルDRのうち、前方領域Jに含まれる環境地図ベクトルCR6・CR7に対応する壁距離ベクトルは合成せず、残りの壁距離ベクトルDR1〜DR5を合成することで右合成壁距離ベクトルFRBを作成する。また、合成壁距離ベクトル距離計算部25Bは、壁距離ベクトルDLのうち、前方領域Jに含まれる環境地図ベクトルCL7〜CL9に対応する壁距離ベクトルは合成せず、残りの壁距離ベクトルDL1〜DL2を合成することで左合成壁距離ベクトルFLBRを作成する。
このようにロボット1Bによると、特定の方向に存在する障害物の位置を排除して、狭路判定部26は、右合成壁距離ベクトルFRB及び左合成壁距離ベクトルFLBそれぞれの左右方向成分ベクトルFRBa・FLBaの絶対値の和が、所定の第1の閾値を超えるか否かを判定することができる。
具体的には、ロボット1Bが進行しているとき、進行方向前方(Y軸プラス方向)に壁5などの障害物が表れた場合、狭路ではなく行き止まりであるため、ロボット1Bは進行方向の向きを変化させる必要がある。そこで、上記構成によると、進行方向前方に表れた壁5などの障害物の位置(点P)の影響を除去して狭路判定することができるため、さらに正確に狭路判定することができる。
〔実施形態4〕
本発明の実施形態4について、図21及び図22に基づいて説明すれば、以下のとおりである。なお、説明の便宜上、上記実施形態1〜3にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
図21は、本発明の実施形態4に係るロボット1Cの構成を表すブロック図である。ロボット1Cは、ロボット1(図1)が備えていた演算部20に換えて演算部20Cを備える点で、ロボット1と相違する。ロボット1Cの他の構成はロボット1と同様である。
演算部20Cは、演算部20が備えていた合成壁距離ベクトル距離計算部25及び狭路判定部26に換えて、合成壁距離ベクトル距離計算部25C及び狭路判定部26Cを備えている点で、演算部20と相違する。演算部20Cの他の構成は演算部20と同様である。
図22は、ロボット1Cが狭路判定を行っている様子を表す図である。
図10を用いて説明した方法と同様に、合成壁距離ベクトル距離計算部25は、壁距離ベクトル距離計算部24から取得した壁距離ベクトル情報のうち、ロボット1Cの右側の壁距離ベクトルDR1〜DR4(図10参照)を合成することで、右合成壁距離ベクトルFRを作成する。
また、図11を用いて説明した方法と同様に、合成壁距離ベクトル距離計算部25は、壁距離ベクトル距離計算部24から取得した壁距離ベクトル情報のうち、ロボット1Cの左側の壁距離ベクトルDL1・DL2(図11参照)を合成することで、左合成壁距離ベクトルFLを作成する。右合成壁距離ベクトルFR及び左合成壁距離ベクトルFLは、ロボット1Cから左右及び前方の壁までの距離が近いほど長くなる。
そして、合成壁距離ベクトル距離計算部25は、右合成壁距離ベクトルFR及び左合成壁距離ベクトルFLを示す情報である左右合成壁距離ベクトル情報を狭路判定部26Cへ出力する。
狭路判定部26Cは、合成壁距離ベクトル距離計算部25から左右合成壁距離ベクトル情報を取得すると、右合成壁距離ベクトルFRを、左右方向成分ベクトルFRaと、前後方向成分ベクトルFRbとに分解する。また、狭路判定部26Cは、左合成壁距離ベクトルFLを、左右方向成分ベクトルFLaと、前後方向成分ベクトルFLbとに分解する。
そして、狭路判定部26Cは、左右方向成分ベクトルFRaと、左右方向成分ベクトルFLaとの絶対値の和を演算し、予め設定された第1の所定の閾値を超えるか否かを判定する。狭路判定部26は、左右方向成分ベクトルFRaと左右方向成分ベクトルFLaとの絶対値の和が、上記第1の所定の閾値以下である場合、ロボット1Cが走行している通路は狭路ではないと判定する。
狭路判定部26Cは、左右方向成分ベクトルFRaと左右方向成分ベクトルFLaとの絶対値の和が上記第1の所定の閾値を超えた場合、さらに、前後方向成分ベクトルFRbと、前後方向成分ベクトルFLbとの絶対値の和を演算し、予め設定された第2の所定の閾値を超えるか否かを判定する。狭路判定部26は、前後方向成分ベクトルFRbと前後方向成分ベクトルFLbとの絶対値の和が、上記第2の所定の閾値以下である場合、ロボット1Cが走行している通路は狭路ではないと判定する。
そして、狭路判定部26Cは、前後方向成分ベクトルFRbと前後方向成分ベクトルFLbとの絶対値の和が、上記第2の所定の閾値を超えた場合、ロボット1Cが走行している通路は狭路であると判定する。
狭路判定部26Cは、狭路であるか否かを判定した判定結果を、走行制御部27へ出力する。これにより、走行制御部27は、ロボット1が適切に走行するように、モータ14の回転速度を制御する。
このようにロボット1Cでは、狭路判定部26Cは、右合成壁距離ベクトルFR及び左合成壁距離ベクトルFLそれぞれの左右方向成分ベクトルFRa・FLaの絶対値の和が、上記所定の第1の閾値を超えると判定すると、右合成壁距離ベクトルFR及び左合成壁距離ベクトルFLそれぞれの前後方向成分ベクトルFRb・FLbの絶対値の和が、所定の第2の閾値を超えるか否かを判定する。この前後方向成分ベクトルFRb・FLbの絶対値の和が第2の閾値を超える程大きい場合は、前進するロボット1Bの前方(Y軸プラス方向)又は後方(Y軸マイナス方向)正面に壁2が存在する場合である。ロボット1Bの前方(Y軸プラス方向)又は後方(Y軸マイナス方向)正面に壁2が存在する場合は、狭路ではないため、狭路判定部26Cは、ロボット1Bが進行している通路は狭路ではないと判定することができる。
このように、上記構成によると、狭路判定部26Cは、ロボット1Cの進行方向前後方向に存在する壁5などの障害物の影響を除去して狭路判定することができるため、さらに正確に狭路判定することができる。
〔ソフトウェアによる実現例〕
ロボット1の制御ブロック(特に自己位置検出部21、環境地図作成部22、環境地図ベクトル距離計算部23、壁距離ベクトル距離計算部24、合成壁距離ベクトル距離計算部25及び狭路判定部26)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
後者の場合、ロボット1は、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、上記プログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)または記憶装置(これらを「記録媒体」と称する)、上記プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU)が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
〔まとめ〕
本発明の態様1に係る自律走行体(ロボット1)は、複数方向へビームを照射することで、周囲の障害物(壁5)の位置(点P)を特定するセンサ部(LRF2)と、自装置の位置を示す自己位置(基準位置E)から上記障害物(壁5)の位置(点P)まで延びる複数の第1のベクトル(環境地図ベクトルC)を作成する第1のベクトル作成部(環境地図ベクトル距離計算部23)と、上記複数の第1のベクトル(環境地図ベクトルC)のうち所定の基準距離Bより短い各第1のベクトル(環境地図ベクトルCR1〜CR4・DL1・DL2)それぞれについて、当該第1のベクトル(環境地図ベクトルCR1〜CR4・DL1・DL2)の延伸方向であって、当該第1のベクトル(環境地図ベクトルCR1〜CR4・DL1・DL2)と上記基準距離Bとの差分だけ上記自己位置(基準位置E)から離れる向きに延びる第2のベクトル(壁距離ベクトルD)を作成する第2のベクトル作成部(壁距離ベクトル距離計算部24)と、上記各第2のベクトル(壁距離ベクトルD)のうち、自装置の直進方向(Y軸方向)に対し直交する左右方向(X軸方向)の成分ベクトルの向きが同じ第2のベクトル同士(壁距離ベクトルDR1〜DR4同士と、壁距離ベクトルDL1・DL2同士)を合成し、互いに向きが異なる第1及び第2の合成ベクトル(右合成壁距離ベクトルFR・左合成壁距離ベクトルFL)を作成する合成ベクトル作成部(合成壁距離ベクトル距離計算部25)と、上記第1及び第2の合成ベクトル(右合成壁距離ベクトルFR・左合成壁距離ベクトルFL)それぞれの上記左右方向の成分ベクトル(左右方向成分ベクトルFRa・FLa)の絶対値の和が、所定の第1の閾値を超えるか否かを判定する判定部(狭路判定部26)とを備える。
上記構成によると、左右方向それぞれ一方向のみ障害物との距離を計測した結果から狭路判定をする場合とは異なり、上記判定部(狭路判定部26)は、上記合成ベクトル作成部(合成壁距離ベクトル距離計算部25)が複数の第2のベクトル(壁距離ベクトルD)を合成することで作成された上記第1及び第2の合成ベクトル(右合成壁距離ベクトルFR・左合成壁距離ベクトルFL)の上記左右方向の成分ベクトル(左右方向成分ベクトルFRa・FLa)の絶対値の和が、所定の閾値を超えるか否かを判定している。このため、センサ部(LRF2)が特定した左右方向の障害物(壁5)の位置が平均化される。
これにより、上記自律走行体(ロボット1)が通過する通路幅を計測するに際し、通路中において、上記自律走行体(ロボット1)の直進方向に平行な距離が短く、一時的に通路幅が狭くなっているに過ぎない箇所であるボトルネック部分や、たまたま、通路中に存在することで通路幅が狭くなっているに過ぎない動的障害物などが存在する部分の通路幅を計測したとしても、これら、ボトルネック部分や、動的障害物などが存在する部分によって、通路全体が、自装置が確実に通過や旋回ができない狭路であると判定してしまうことを防止することができる。このため、上記自律走行体(ロボット1)は、正確に狭路判定を行うことができる。
加えて、上記構成によると、上記判定部(狭路判定部26)は、上記複数の第1のベクトル(環境地図ベクトルC)を合成した合成ベクトルによって狭路判定をするのではなく、上記複数の第1のベクトル(環境地図ベクトルC)のうち所定の基準距離Bより短い複数の第1のベクトル(環境地図ベクトルCR1〜CR4・DL1・DL2)それぞれについて、当該第1のベクトル(環境地図ベクトルCR1〜CR4・DL1・DL2)の延伸方向であって、当該第1のベクトル(環境地図ベクトルCR1〜CR4・DL1・DL2)と上記基準距離Bとの差分だけ上記自己位置(基準位置E)から離れる向きに延びる第2のベクトル(壁距離ベクトルD)を作成し、当該複数の第2のベクトル(壁距離ベクトルD)を合成することで作成された上記第1及び第2の合成ベクトル(右合成壁距離ベクトルFR・左合成壁距離ベクトルFL)に基づいて、それぞれの上記左右方向の成分ベクトル(左右方向成分ベクトルFRa・FLa)の絶対値の和が、所定の閾値を超えるか否かを判定する。この所定の基準距離Bを、自装置が確実に通過や旋回できる安全距離とすることで、上記判定部(狭路判定部26)は、安全距離を確保して狭路判定をすることができる。この結果、上記自律走行体(ロボット1)は、通路を確実に通過したり、通路内で旋回したりすることができるため、より安全に、通路を進行することができる。
本発明の態様2に係る自律走行体(ロボット1A)は、上記態様1において、第1の地点において上記センサ部(LRF2)が特定した障害物(壁5)の位置(点P11〜P18)を示す第1の環境地図(環境地図M1)と、上記第1の地点から所定の距離移動した第2の地点において上記センサ部(LRF2)が特定した周囲の障害物(壁5)の位置(壁5)(点P21〜P26)とを示す第2の環境地図(環境地図M2)とを作成する地図作成部(環境地図作成部22)と、上記第1の地点における上記周囲の障害物(壁5)の位置(点P11〜P18)によって表された形状と、上記第2の地点における上記周囲の障害物(壁5)の位置(壁5)によって表された形状とを重ね合せることで、上記第1の環境地図(環境地図M1)と、上記第2の環境地図(環境地図M2)とが合成された合成地図(合成環境地図M0)を作成する合成地図作成部(合成環境地図作成部28A)とを備え、上記第1のベクトル作成部(環境地図ベクトル距離計算部23)は、上記第2の地点における上記自己位置(基準位置Et2)から上記合成地図(合成環境地図M0)に示された上記周囲の障害物(壁5)の位置(点P)まで延びる複数の第1のベクトル(環境地図ベクトルC)を作成してもよい。
上記構成によると、上記第1の地点又は上記第2の地点において、センサ部(LRF2)が周囲の障害物(壁5)の位置を特定できない死角が存在したとしても、上記第1のベクトル作成部(環境地図ベクトル距離計算部23)は、第1の環境地図が示す障害物(壁5)の位置と、第2の環境地図が示す障害物(壁5)の位置とが合成された障害物(壁5)の位置に基づいて、上記複数の第1のベクトル(環境地図ベクトルC)を作成するため、より正確に、自己位置(基準位置E)と、周囲の障害物(壁5)の位置(点P)との位置関係を把握することができる。このため、自律走行体(ロボット1A)は、さらに正確に、狭路判定を行うことができる。
本発明の態様3に係る自律走行体(ロボット1B)は、上記態様1又は2において、
上記合成ベクトル作成部(合成壁距離ベクトル距離計算部25B)は、上記複数の第2のベクトル(壁距離ベクトルDR・DL)のうち、特定方向へ延びる第2のベクトルを除外した残りの複数の第2のベクトル(壁距離ベクトルDR1〜DR5、DL1・DL2)を合成することで、上記第1及び第2の合成ベクトル(右合成壁距離ベクトルFRB・左合成壁距離ベクトルFLB)を作成してもよい。
上記構成によると、特定の方向に存在する障害物の位置を排除して、上記判定部は、上記第1及び第2の合成ベクトル(右合成壁距離ベクトルFRB・左合成壁距離ベクトルFLB)それぞれの上記左右方向の成分ベクトル(左右方向成分ベクトルFRBa・FLBa)の絶対値の和が、所定の第1の閾値を超えるか否かを判定することができる。例えば、進行方向前方に壁5などの障害物が表れた場合、狭路ではなく行き止まりであるため、自律走行体(ロボット1B)は進行方向の向きを変化させる必要がある。そこで上記構成によると、進行方向前方に表れた壁5などの障害物の影響を除去して狭路判定することができるため、さらに正確に狭路判定することができる。
本発明の態様4に係る自律走行体(ロボット1C)は、上記態様1〜3において、上記判定部(狭路判定部26C)は、上記第1及び第2の合成ベクトル(右合成壁距離ベクトルFR・左合成壁距離ベクトルFL)それぞれの上記左右方向の成分ベクトル(左右方向成分ベクトルFRa・FLa)の絶対値の和が、上記所定の第1の閾値を超えると判定すると、上記第1及び第2の合成ベクトル(右合成壁距離ベクトルFR・左合成壁距離ベクトルFL)それぞれの上記自装置の直進方向の成分ベクトル(前後方向成分ベクトルFRb・FLb)の絶対値の和が、所定の第2の閾値を超えるか否かを判定することが好ましい。
上記構成によると、上記判定部(狭路判定部26C)は、自律走行体(ロボット1C)の進行方向前方に表れた壁5などの障害物の影響を除去して狭路判定することができるため、さらに正確に狭路判定することができる。
本発明の態様5に係る自律走行体(ロボット1)は、複数方向へビームを照射することで、障害物の位置を特定するセンサ部と、自装置が複数の障害物間を通過する場合、当該複数の障害物における自装置の進行方向に平行な長さが、所定の長さを超えるか否かを判定する判定部と、上記複数の障害物における自装置の進行方向に平行な長さが、上記所定の長さを超えると上記判定部が判定すると、自装置の進行を停止する走行制御部とを備えることを特徴とする。
上記構成によると、自律走行体(ロボット1)が通過する通路幅が狭くなっている部分が、所定の長さを超えるほど続いている場合にだけ、自律走行体(ロボット1)が通過する通路が狭路であると判定することができるため、自律走行体(ロボット1)を安全に停止させることができる。
本発明の態様6に係る自律走行体(ロボット1)の狭路判定方法は、複数方向へビームを照射することで、障害物(壁5)の位置(点P)を特定する位置特定ステップと、自装置の位置を示す自己位置(基準位置E)から上記障害物(壁5)の位置(点P)まで延びる複数の第1のベクトル(環境地図ベクトルC)を作成する第1のベクトル作成ステップと、上記複数の第1のベクトル(環境地図ベクトルC)のうち所定の基準距離Bより短い各第1のベクトル(環境地図ベクトルCR1〜CR4・DL1・DL2)それぞれについて、当該第1のベクトル(環境地図ベクトルCR1〜CR4・DL1・DL2)の延伸方向であって、当該第1のベクトル(環境地図ベクトルCR1〜CR4・DL1・DL2)と上記基準距離Bとの差分だけ上記自己位置(基準位置E)から離れる向きに延びる第2のベクトル(壁距離ベクトルD)を作成する第2のベクトル作成ステップと、上記各第2のベクトル(壁距離ベクトルD)のうち、自装置の直進方向(Y軸方向)に対し直交する左右方向(X軸方向)の成分ベクトルの向きが同じ第2のベクトル同士(壁距離ベクトルDR1〜DR4同士と、壁距離ベクトルDL1・DL2同士)を合成し、互いに向きが異なる第1及び第2の合成ベクトル(右合成壁距離ベクトルFR・左合成壁距離ベクトルFL)を作成する合成ベクトルステップと、上記第1及び第2の合成ベクトル(右合成壁距離ベクトルFR・左合成壁距離ベクトルFL)それぞれの上記左右方向の成分ベクトル(左右方向成分ベクトルFRa・FLa)の絶対値の和が、所定の第1の閾値を超えるか否かを判定する判定ステップとを有することを特徴とする。
上記構成により、上記自律走行体(ロボット1)を安全に、通路を進行させることができ、また、正確に狭路判定を行うことができる。
本発明の各態様に係る自律走行体は、コンピュータによって実現してもよく、この場合には、コンピュータを上記自律走行体が備える各部(ソフトウェア要素)として動作させることにより上記自律走行体をコンピュータにて実現させる自律走行体の狭路判定プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。さらに、各実施形態にそれぞれ開示された技術的手段を組み合わせることにより、新しい技術的特徴を形成することができる。
本発明は、自律走行体、自律走行体の狭路判定方法、狭路判定プログラム及びコンピュータ読み取り可能な記録媒体に利用することができる。
1・1A〜1C ロボット(自律走行体)
5A・5B 障害物
12・12a・12b 駆動輪
13 キャスタ
14・14a・14b モータ
15・15a・15b エンコーダ
17 バッテリー
20・20A〜20C 演算部
21 自己位置検出部
22 環境地図作成部(地図作成部)
23・23A 環境地図ベクトル距離計算部(第1のベクトル作成部)
24・24A 壁距離ベクトル距離計算部(第2のベクトル作成部)
25・25A〜25C 合成壁距離ベクトル距離計算部(合成ベクトル作成部)
26・26A・26C 狭路判定部(判定部)
27 走行制御部
28A 合成環境地図作成部(合成地図作成部)
C 環境地図ベクトル(第1のベクトル)
CL1〜CL6 環境地図ベクトル(第1のベクトル)
CR1〜CR6 環境地図ベクトル(第1のベクトル)
D 壁距離ベクトル(第2のベクトル)
DL1・DL2 壁距離ベクトル(第2のベクトル)
DR1〜DR4 壁距離ベクトル(第2のベクトル)
E・Et1〜Et3 基準位置(自己位置)
FL 左合成壁距離ベクトル(第2の合成ベクトル)
FLa・FLBa 左右方向成分ベクトル(成分ベクトル)
FLb・FLBb 前後方向成分ベクトル(成分ベクトル)
FLt1 左合成壁距離ベクトル(第2の合成ベクトル)
FLt1a〜FLt3a 左右方向成分ベクトル(成分ベクトル)
FLt1b〜FLt3b 前後方向成分ベクトル(成分ベクトル)
FR 右合成壁距離ベクトル(第1の合成ベクトル)
FRa・FRba 左右方向成分ベクトル(成分ベクトル)
FRb・FRBb 前後方向成分ベクトル(成分ベクトル)
FRt1〜FRt3 右合成壁距離ベクトル(第1の合成ベクトル)
FRt1a〜FRt3a 左右方向成分ベクトル(成分ベクトル)
FRt1b〜FRt3b 前後方向成分ベクトル(成分ベクトル)
G1・G2 矢印
M・M1〜M3 環境地図
M0 合成環境地図(合成地図)
t1〜t3 時刻

Claims (8)

  1. 複数方向へビームを照射することで、障害物の位置を特定するセンサ部と、
    自装置の位置を示す自己位置から上記障害物の位置まで延びる複数の第1のベクトルを作成する第1のベクトル作成部と、
    上記複数の第1のベクトルのうち所定の基準距離より短い各第1のベクトルそれぞれについて、当該第1のベクトルの延伸方向であって、当該第1のベクトルと上記基準距離との差分だけ上記自己位置から離れる向きに延びる第2のベクトルを作成する第2のベクトル作成部と、
    上記各第2のベクトルのうち、自装置の直進方向に対し直交する左右方向の成分ベクトルの向きが同じ第2のベクトル同士を合成し、互いに向きが異なる第1及び第2の合成ベクトルを作成する合成ベクトル作成部と、
    上記第1及び第2の合成ベクトルそれぞれの上記左右方向の成分ベクトルの絶対値の和が、所定の第1の閾値を超えるか否かを判定する判定部とを備えることを特徴とする自律走行体。
  2. 第1の地点において上記センサ部が特定した障害物の位置を示す第1の環境地図と、上記第1の地点から所定の距離移動した第2の地点において上記センサ部が特定した周囲の障害物の位置とを示す第2の環境地図とを作成する地図作成部と、
    上記第1の地点における上記周囲の障害物の位置によって表された形状と、上記第2の地点における上記周囲の障害物の位置によって表された形状とを重ね合せることで、上記第1の環境地図と、上記第2の環境地図とが合成された合成地図を作成する合成地図作成部とを備え、
    上記第1のベクトル作成部は、上記第2の地点における上記自己位置から上記合成地図に示された上記障害物の位置まで延びる複数の第1のベクトルを作成することを特徴とする請求項1に記載の自律走行体。
  3. 上記合成ベクトル作成部は、上記複数の第2のベクトルのうち、特定方向へ延びる第2のベクトルを除外した残りの複数の第2のベクトルを合成することで、上記第1及び第2の合成ベクトルを作成することを特徴とする請求項1又は2に記載の自律走行体。
  4. 上記判定部は、上記第1及び第2の合成ベクトルそれぞれの上記左右方向の成分ベクトルの絶対値の和が、上記所定の第1の閾値を超えると判定すると、
    上記第1及び第2の合成ベクトルそれぞれの上記自装置の直進方向の成分ベクトル絶対値の和が、所定の第2の閾値を超えるか否かを判定することを特徴とする請求項1〜3の何れか1項に記載の自律走行体。
  5. 複数方向へビームを照射することで、障害物の位置を特定するセンサ部と、
    自装置が複数の障害物間を通過する場合、当該複数の障害物における自装置の進行方向に平行な長さが、所定の長さを超えるか否かを判定する判定部と、
    上記複数の障害物における自装置の進行方向に平行な長さが、上記所定の長さを超えると上記判定部が判定すると、自装置の進行を停止する走行制御部とを備えることを特徴とする自律走行体。
  6. 複数方向へビームを照射することで、障害物の位置を特定する位置特定ステップと、
    自装置の位置を示す自己位置から上記障害物の位置まで延びる複数の第1のベクトルを作成する第1のベクトル作成ステップと、
    上記複数の第1のベクトルのうち所定の基準距離より短い各第1のベクトルそれぞれについて、当該第1のベクトルの延伸方向であって、当該第1のベクトルと上記基準距離との差分だけ上記自己位置から離れる向きに延びる第2のベクトルを作成する第2のベクトル作成ステップと、
    上記各第2のベクトルのうち、自装置の直進方向に対し直交する左右方向の成分ベクトルの向きが同じ第2のベクトル同士を合成し、互いの向きが異なる第1及び第2の合成ベクトルを作成する合成ベクトルステップと、
    上記第1及び第2の合成ベクトルそれぞれの上記左右方向の成分ベクトルの絶対値の和が、所定の第1の閾値を超えるか否かを判定する判定ステップとを有することを特徴とする自律走行体の狭路判定方法。
  7. 請求項1に記載の自律走行体としてコンピュータを機能させるための狭路判定プログラムであって、上記第1のベクトル作成部、上記第2のベクトル作成部、上記合成ベクトル作成部および上記判定部としてコンピュータを機能させるための狭路判定プログラム。
  8. 請求項7に記載の狭路判定プログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2015117031A 2015-06-09 2015-06-09 自律走行体、自律走行体の狭路判定方法、狭路判定プログラム及びコンピュータ読み取り可能な記録媒体 Active JP6649704B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015117031A JP6649704B2 (ja) 2015-06-09 2015-06-09 自律走行体、自律走行体の狭路判定方法、狭路判定プログラム及びコンピュータ読み取り可能な記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015117031A JP6649704B2 (ja) 2015-06-09 2015-06-09 自律走行体、自律走行体の狭路判定方法、狭路判定プログラム及びコンピュータ読み取り可能な記録媒体

Publications (2)

Publication Number Publication Date
JP2017004230A true JP2017004230A (ja) 2017-01-05
JP6649704B2 JP6649704B2 (ja) 2020-02-19

Family

ID=57754307

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015117031A Active JP6649704B2 (ja) 2015-06-09 2015-06-09 自律走行体、自律走行体の狭路判定方法、狭路判定プログラム及びコンピュータ読み取り可能な記録媒体

Country Status (1)

Country Link
JP (1) JP6649704B2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019053507A (ja) * 2017-09-14 2019-04-04 東芝映像ソリューション株式会社 走行経路計画装置、方法、プログラム及び移動体
US10353400B2 (en) * 2016-05-23 2019-07-16 Asustek Computer Inc. Navigation system and navigation method
CN111433697A (zh) * 2017-09-01 2020-07-17 罗博艾特有限责任公司 用于自主移动机器人的运动规划
CN111624991A (zh) * 2019-11-11 2020-09-04 深圳市荣盛智能装备有限公司 一种消防机器人在窄巷中行驶的方法
JPWO2021059437A1 (ja) * 2019-09-26 2021-04-01
JP2021105963A (ja) * 2019-12-27 2021-07-26 アマノ株式会社 自律走行作業装置
CN113885506A (zh) * 2021-10-18 2022-01-04 武汉联影智融医疗科技有限公司 机器人避障方法、装置、电子设备及存储介质
WO2024114682A1 (zh) * 2022-12-02 2024-06-06 北京极智嘉科技股份有限公司 定位方法、装置、计算设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009169802A (ja) * 2008-01-18 2009-07-30 Panasonic Corp 自律走行装置およびプログラム
JP2012003365A (ja) * 2010-06-15 2012-01-05 Ihi Aerospace Co Ltd 無人移動車の走行経路計画方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009169802A (ja) * 2008-01-18 2009-07-30 Panasonic Corp 自律走行装置およびプログラム
JP2012003365A (ja) * 2010-06-15 2012-01-05 Ihi Aerospace Co Ltd 無人移動車の走行経路計画方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10353400B2 (en) * 2016-05-23 2019-07-16 Asustek Computer Inc. Navigation system and navigation method
JP2020532018A (ja) * 2017-09-01 2020-11-05 ロブアート ゲーエムベーハーROBART GmbH 自律移動ロボットの移動計画
CN111433697A (zh) * 2017-09-01 2020-07-17 罗博艾特有限责任公司 用于自主移动机器人的运动规划
JP2019053507A (ja) * 2017-09-14 2019-04-04 東芝映像ソリューション株式会社 走行経路計画装置、方法、プログラム及び移動体
US20220276659A1 (en) * 2019-09-26 2022-09-01 Yamaha Hatsudoki Kabushiki Kaisha Environment map creation device and method, local position estimation device, and autonomous moving body
JPWO2021059437A1 (ja) * 2019-09-26 2021-04-01
WO2021059437A1 (ja) * 2019-09-26 2021-04-01 ヤマハ発動機株式会社 環境地図作成装置および該方法、ならびに、自己位置推定装置、自律移動体
JP7214881B2 (ja) 2019-09-26 2023-01-30 ヤマハ発動機株式会社 環境地図作成装置および該方法、ならびに、自己位置推定装置、自律移動体
CN111624991A (zh) * 2019-11-11 2020-09-04 深圳市荣盛智能装备有限公司 一种消防机器人在窄巷中行驶的方法
JP2021105963A (ja) * 2019-12-27 2021-07-26 アマノ株式会社 自律走行作業装置
JP7462416B2 (ja) 2019-12-27 2024-04-05 アマノ株式会社 自律走行作業装置
CN113885506A (zh) * 2021-10-18 2022-01-04 武汉联影智融医疗科技有限公司 机器人避障方法、装置、电子设备及存储介质
WO2024114682A1 (zh) * 2022-12-02 2024-06-06 北京极智嘉科技股份有限公司 定位方法、装置、计算设备和存储介质

Also Published As

Publication number Publication date
JP6649704B2 (ja) 2020-02-19

Similar Documents

Publication Publication Date Title
JP6649704B2 (ja) 自律走行体、自律走行体の狭路判定方法、狭路判定プログラム及びコンピュータ読み取り可能な記録媒体
TWI485538B (zh) Avoidance Interference Method of Traveling Trolley System and Traveling Trolley
JP5803054B2 (ja) 自律移動装置
JP2007310866A (ja) 絶対方位角を利用したロボット及びこれを利用したマップ作成方法
JP5553220B2 (ja) 移動体
JP5805841B1 (ja) 自律移動体及び自律移動体システム
JP7180219B2 (ja) 自律走行体
CN105074602A (zh) 位置识别装置和具有该位置识别装置的移动机器人
JP2001515237A (ja) 誘導ビームを使用した自律型運動ユニットのドッキング方法
JP5152898B2 (ja) 障害認識装置及びこれを有する自律走行移動体並びにその制御方法
KR102178992B1 (ko) 차량 동작 계획방법 및 그를 위한 장치
JP7257257B2 (ja) 路面検出システム、パーソナルモビリティ及び障害物検出方法
JP2009237851A (ja) 移動体制御システム
WO2016067640A1 (ja) 自律移動装置
JP2020004095A (ja) 自律移動体制御装置及び自律移動体
Tsai et al. Use of ultrasonic sensors to enable wheeled mobile robots to avoid obstacles
JP2020004342A (ja) 移動体制御装置
Aman et al. A sensor fusion methodology for obstacle avoidance robot
CN109839930A (zh) 一种避障装置、系统及方法
JPS6234784A (ja) 移動体の移動制御方法
WO2016009585A1 (ja) 自律移動体とその制御方法
JP2023063149A (ja) 処理装置、移動ロボット、移動制御システム、処理方法及びプログラム
JP7399725B2 (ja) 走行体、走行システム、及び走行制御方法
JP2022190425A (ja) 自走装置および自走装置の走行システム
JP6751469B2 (ja) 地図作成システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180323

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190418

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190903

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190920

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: 20200107

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200117

R150 Certificate of patent or registration of utility model

Ref document number: 6649704

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150