【実施例】
【0020】
図4は実施例の自律移動体2のブロック図を表す。マップ記憶装置4には、分岐点の座標と、分岐点と分岐点の間が走行可能経路で接続されているかいないかを記述するマップデータが記憶されている。例えば、
図5に例示する場合、分岐点P1・・等の座標と、分岐点P1とP2が接続されていることを示すデータ等を記憶している。分岐点P1とP3が接続されていることを示すデータは記憶されていないことから、分岐点P1とP3の間を直接に接続している経路がないことを示している。マップ記憶装置4は、前記したトポロジカル形式で地図情報を記憶しており、データ量が圧縮されている。
広場Q内を移動する場合、広場Q内を移動する経路を探索して決定する必要がある。そこで、広場内にも分岐点P5・・等が設定されている。広場内の分岐点P5・・は、広場Q内に一様に分布している。広場Q内では、任意の分岐点の間を直接に移動することができる。しかしながら、経路探索のために、分岐点から移動可能な分岐点は、隣接して配置されている8個の分岐点であることを示すデータを記憶している。その条件に従った地図データが記憶されているために、広場Q内を移動する経路を探索すると、隣接する分岐点を辿りながら広場Q内を移動する経路が探索される。以下に説明する実施例では、自律移動体が分岐点P1にいる時に地図データに経路探索処理を実施したために、分岐点P1,P2,P5を辿る経路が探索され、広場Q内の分岐点P5に移動した時点で再度地図データに経路探索処理を実施し、広場Q内を移動して広場Q内の出発点P5から目標点Gに至る経路を探索する場合を説明する。
【0021】
目標点指定装置6は、自律移動体2の使用者が操作する装置であり、マップ記憶装置4に記憶されている分岐点群の中から使用者が選んだ分岐点を指定する操作を許容する。使用者が選んだ目標点が自律移動体2に入力される。使用者が目標点を指定するまでのプロセスには各種の形態がありえる。例えば、施設名称と分岐点を対応づけるデータベースを用意しておき、使用者は施設名称を指定するようにしてもよい。マップ記憶装置4が記憶しているトポロジカルマップを画面表示して使用者が指定するものであってもよい。リンク等の手法を利用するものであってもよい。自律移動体2は、使用者が搭乗するものであってもよいし、使用者が指定した目標点に向けて無人で移動するものであってもよい。
【0022】
エンコーダ32は自律移動体2の移動量を算出する。ジャイロ34は自律移動体2の移動方向を算出する。移動量と移動方向の情報は自律移動体情報取得装置8に送られる。自律移動体情報取得装置8は、移動量と移動方向のデータを積算することによって、自律移動体2の現在位置と現在方位を特定する。また、移動量と経過時間の情報から自律移動体2の速度を特定する。自律移動体情報取得装置8は、例えばGPS機能を使って自律移動体2の位置と速度を特定するものであってもよい。
【0023】
LRF30は、自律移動体2の周囲に存在している移動障害物を検出する。ここで検出される移動障害物の大半は、歩行者または自転車や車椅子やシニアカーに搭乗して移動する人である。LRF30は、レーザー光を射出し、物体で反射して跳ね返ってくるまでの時間を計測することで物体までの距離を測定し、反射光が跳ね返ってくる方位を計測することでLRF30に対する物体の方位を決定する。自律移動体2が広場に入ると、広範囲に亘って移動障害物の存在を検出することが可能となる。LRF30が、自律移動体2から移動障害物までの距離と、自律移動体2に対する移動障害物の方位を検出すると、自律移動体2の現在位置座標と、自律移動体2の現在方位を加味することで、移動障害物の座標を特定することができる。特定された移動障害物の座標は、移動障害物情報取得装置10に記憶される。所定時間毎に移動障害物の座標を特定することで、移動障害物の移動速度と移動方向を特定することができる。
移動障害物情報取得装置10は、かかる方法で移動障害物の位置と速度と移動方向を取得する。移動障害物の位置と速度と方向は、LRF30を用いる方法の他に、自律移動体2に搭載しているカメラを用いてもよいし、広場Qに接地されている防犯カメラなどのインフラから得られる情報を利用するものであってもよい。
【0024】
本実施例の自律移動体2の速度は一定に維持され、無理のない速度で移動し続ける。これに代えて、経路が直線であるか否か、周囲に存在する障害物までの距離等の情報を利用して、速度を制御するアルゴリズムを導入してもよい。
【0025】
自律移動体情報取得装置8で取得した自律移動体2の現在位置と現在速度と、移動障害物情報取得装置10で取得した移動障害物の位置と速度と方向は、経路探索装置12に送られる。
経路探索装置12は、仮に分岐点を選択する装置13を備えている。例えば、経路探索装置12によって、
図5に示す分岐点P8までの経路が探索された場合を想定する。この場合、分岐点P8から移動可能な分岐点は、周囲に存在する8点である。分岐点を仮に選択する装置13は、移動可能な分岐点(この場合8分岐点)を順々に選択していく。以下では、分岐点P7を仮に選択した場合を説明する。なお、この実施例では、自律移動体2が広場内の出発点P5にいるときに、経路探索処理を実施して目標点Gに移動する経路を
探索する。例えば分岐点P7を仮に選択するタイミングは、自律移動体2が分岐点P8に到着したタイミングではない。自律移動体2が広場内の出発点P5にいるときに、下記を計算して経路を探索する。
【0026】
経路探索装置12は、所要時間経過装置14を備えている。所要時間経過装置14は、経路探索処理を実施する際に(この例の場合では自律移動体2が広場内出発点P5にいる時に)、自律移動体2が仮に選択した分岐点に到着するはずの時刻を計算する。
経路探索装置12は、予測装置16を備えている。予測装置16は、自律移動体2が仮に選択した分岐点に到着するはずの時刻における移動障害物の位置と速度を予測する。例示している場合、自律移動体2が広場内出発点P5にいる時に、移動障害物の位置と速度が特定されて移動障害物情報取得装置10に記憶されている。その時点から自律移動体2が仮に選択した分岐点に移動するのに要する時間が所要時間経過装置14で特定される。移動障害物が移動方向と速度を維持すると仮定すれば、予測装置16は、自律移動体2が仮に選択した分岐点に到着するはずの時刻における移動障害物の位置と速度を予測することができる。
【0027】
予測装置12で予測した移動障害物の位置と速度の情報は、仮想粘性力計算装置18と仮想斥力計算装置20に送られる。仮想粘性力計算装置18では、SPH粒子法を用いて仮想粘性力を計算し、仮想斥力計算装置20では、SPH粒子法を用いて仮想斥力を計算する。
【0028】
SPH粒子法は「酒井譲、『SPH粒子法の基礎と応用』」に詳しく説明されている。SPH法では、流体を大量の粒子に近似することで流体運動のシミュレーションを行う。任意の位置rにおける物理量φ(r)は、周囲に存在する粒子jの持つ物理量φ
jの和によって表される。
【0029】
本実施例では、移動障害物のモデル化のために、一人の人(歩行者、自転車・車椅子・シニアカーなどの搭乗者)を粒子なぞらえた。また位置r
jにある物体が位置rに及ぼす物理量φは、位置rと物体の位置r
jの間の距離r-r
jの関数であるとした。すなわち、下記の式1を使ってモデル化した。
【0030】
【数1】
【0031】
式1から導かれる仮想粘性力F
visと仮想斥力F
repは以下の通りである。
【0032】
【数2】
【0033】
【数3】
【0034】
∇W
vis(r-r
j)と、∇W
rep(r-r
j)は、自律移動体2と移動障害物の間の距離の関数である。
仮想粘性力F
visに関与する関数∇W
vis(r-r
j)は、re=r-r
jの距離でゼロあり、距離がそれよりも短くなると増大する。
仮想斥力F
repを決定する関数∇W
rep(r-r
j)も、re=r-r
jの距離でゼロあり、距離がそれよりも短くなると増大する。仮想斥力F
repに関与する関数∇W
rep(r-r
j)は、仮想粘性力F
visに関与する関数∇W
vis(r-r
j)よりも、距離の減少に対して敏感に増大する。
式2より、仮想粘性力F
visは、自律移動体2から移動障害物までの距離r
e=r-r
jで決まる関数∇W
vis(r-r
j)と、自律移動体2と移動障害物との相対速度v-v
jの積であることがわかる。
仮想粘性力F
visと仮想斥力F
repは、自律移動体2と移動障害物の間の距離に対して下記の関係をもつ。ただしrf<reである。また自律移動体2と移動障害物との相対速度v-v
jは過大なものでないとする。
1)距離>reの場合:仮想粘性力F
visも仮想斥力F
repもゼロである。
2)re>距離>rfの場合:仮想粘性力F
visが支配的である。
3)rf>距離の場合:仮想斥力F
repが支配的である。
自律移動体2と移動障害物の間の距離が短くなれば、仮想粘性力F
visが増大する。経路探索技術では、小さな値を持つ経路を探索することから、仮想粘性力F
visを用いて経路探索すると、自律移動体2と移動障害物の間の距離が短くなる経路は探索されづらい。本実施例では、それに加えて、移動障害物との距離が短くなると急激に増大する仮想斥力F
repまで活用するために、移動障害物に接近する経路は探索されない。移動障害物が人である場合に、人が持っているパーソナルスペースに入り込む経路が探索されることはない。
自律移動体2と人の間の距離r-r
jに関するreの値は、人の移動方向によって変化する値とすることができ、人の移動方向の前方には長く、背後方向には短くすることができる。
図2に示すように、人の進行方向におけるreをreFとし、人の進行方向と逆方向におけるreをreBとしたときに、reF>reBとする。この場合、自律移動体2が人の移動方向の前方を移動する場合には、人からの距離が長い経路が優先的に探索される。自律移動体2が人の移動方向の後方を移動する場合には、走行距離が短い経路が優先的に探索される。人が持っているパーソナルスペースによく一致するパーソナルスペースを確保することができる。なお、人の側方向におけるreをreLとした場合、reF>reL>reBとする。あるいはreL=reBとする。
さらにreの値は、自律移動体2と移動障害物の相対速度に応じて増減することが好ましい。
図3に示すように、相対速度v1のときのreをre1とし、相対速度v2のときのreをre2としたとき、v1>v2であれば、re1>re2とすることが好ましい。高速で相対移動する場合に人が感じるパーソナルスペースは長く、停止また低速で移動する場合に人が感じるパーソナルスペースは短いことに対応させるのが好ましい。
本実施例では、仮想粘性力F
visも仮想斥力F
repも、自律移動体2と移動障害物の間の距離がre以上の場合はゼロとなるとしている。それによって、仮想粘性力F
visと仮想斥力F
repの計算量を圧縮している。これに代えて、仮想粘性力F
visがゼロとなる距離と、仮想斥力F
repがゼロとなる距離が相違する関数を利用してもよい。あるいは、距離が増大すると減少するもののゼロにはならない関数を使って、仮想粘性力F
visと仮想斥力F
repを計算してもよい。
【0035】
本実施例では、自律移動体2が
図5の広場Q内の出発点P5に到達した時点で、広場Q内の経路を探索する。
図7は、自律移動体2が出発点P5に到達した時点を図示している。図示の70は、その時点で検出されている移動障害物の位置であり、矢印72は速度と方向を示している。これらは、移動障害物情報記憶装置10に記憶されている。複数個の移動障害物が存在していることもある。
図7では祝数個の移動障害物が存在していることを示している。70,72の数字は、それらのうちの一つのみ付してある。
【0036】
経路探索にはAスターアルゴリズムを用いる。Aスターアルゴリズムでは、移動コスト計算装置22を使って移動コストを計算する。移動コストの計算には、マップ記憶装置4に記憶されているマップ記述データと、目標点指定装置6で指定された目標点情報と、自律移動体情報取得装置8で取得した自律移動体2の位置と速度と、仮想粘性力計算装置18で取得した仮想粘性力と、仮想斥力計算装置20で取得した仮想斥力を用いる。仮想粘性力計算装置18は、自律移動体2の位置と速度と、移動障害物70の位置と速度と、式2に基づいて仮想粘性力を計算する。仮想斥力計算装置20は、自律移動体2の位置と、移動障害物70の位置と、式3に基づいて仮想斥力を計算する。本実施例で用いるAスターアルゴリズムの処理手順を
図6に示した。具体的には以下の通りである。
1.現在の分岐点P5を出発分岐点とする。
2.現在の分岐点から直接移動可能である分岐点Snを全て取得する(ステップS2)。
図7の場合、n=6〜10である。
3.そのうちの一つの分岐点Skを仮に選択する(ステップS4)。kは6〜10の内から選択される。
4.分岐点Skを経由した場合の移動コストの推定値f*(Sk)を、f*(Sk)= g(Sk) + h*(Sk)の式で求める(ステップS6)。g(Sk)は、出発点P5から仮に選択した分岐点Skまで移動するのに要するコストであり、h*(Sk)は仮に選択した分岐点Skから目標点Gまで移動するのに要する移動コストの推定値である。h*(Sk)には、仮に選択した分岐点Skから目標点Gに至る直線経路があるものとしたときのその距離に比例する値を採用することができる。g(Sk)は、出発点P5から仮に選択した分岐点Skまでの距離に比例する値と、自律移動体2が出発点P5にあるときの自律移動体2の位置(P5にある)と速度と、移動障害物70の位置と速度と、式2に基づいて計算した仮想粘性力に比例する値と、自律移動体2が出発点P5にあるとき自律移動体2の位置(P5にある)と、移動障害物70の位置と、式3に基づいて計算した仮想斥力に比例する値を加算したものである。
5.現在の分岐点P5から直接移動可能な全ての分岐点Sn(n=6〜10)を仮に選択して移動コストを計算したか否かを判定する(ステップS8)。移動コストを計算していない分岐点が残っていれば(ステップS8でNo)、移動コストが計算されていない分岐点を仮に選択しなおし(ステップS10)、ステップS6に戻って移動コストを計算する。
6.ステップS8の判定において、選択可能な全ての分岐点Sn(n=6〜10)を経由する場合の移動コストが計算されたと判定されれば(ステップS8のYes)、移動コストの計算値が最小となる分岐点を選択する(ステップS12)。
図7の場合、P8の分岐点を経由するのが最小移動コストであると計算された場合を例示している。
7.移動コストの計算に仮想粘性力を含める。仮想粘性力は、移動障害物の近傍を移動障害物との速度差が大きい状態で自律移動体2が移動する経路については大きな値となることから、そのような経路が選択されないように作動する。すなわち、移動障害物の近傍を通過する際には、移動障害物との速度差が小さい状態で自律移動体2が移動する経路が優先的に選択されるように作動する。自律移動体2が移動障害物に沿って移動する経路が優先的に選択されるように作動する。
8.移動コストの計算に仮想斥力を含める。仮想斥力は、移動障害物に接近する経路については大きな値となることから、そのような経路が選択されないように作動する。すなわち、移動障害物から離れた位置を通過する経路が優先的に選択されるように作動する。移動障害物が人である場合、あるいは自律移動体2に人が搭乗している場合に、他者・他物が侵入すると人が不安を感じるパーソナルスペースに入り込まない経路が優先的に選択されるように作動する。
9.ステップS14では、ステップS12で選択した分岐点が目標点Gかどうかを判定する。選択した分岐点が目標点Gであった場合は(ステップS14のYes)、目標点Gに至る経路が探索されたので処理を終了する。
10.選択した分岐点が目標点Gでない場合は(ステップS14のNo)、ステップS2における現在の分岐点をステップS12で決定した分岐点に置き換えてステップS2以降の処理を繰り返す。
【0037】
図8は、現在位置を分岐点P8に更新した場合に実行する処理内容を例示している。なお、現在位置を分岐点P8に更新して経路探索を続行するタイミングは、移動体2が実際には分岐点P5にいる時点で実行する。移動体2が実際には分岐点P5にいる時点で、目標点Gに至る経路探索処理を完了してしまう。移動体2が実際には分岐点P8に至っていない時点で計算することから、移動体2が分岐点P8に至ったときの移動障害物70の位置と速度を直接的に検出することができない。
【0038】
本実施例では、所要時間計算装置14によって、自律移動体2が分岐点P8に到達する時刻を計算する。そして、その時刻における移動障害物70の位置と速度を推定する。自律移動体2が分岐点P5にいる時点における移動障害物70の位置と速度は検出されていることから、移動障害物70が等速移動を続けると仮定すれば、自律移動体2が分岐点P8に到達する時点における移動障害物70の位置と速度を推定することができる。
ステップS2における現在の分岐点を、実際にいる分岐点P5から、計算上で決定した分岐点(この場合にはP8)に置き換えてステップS6を実行する場合には、上記のようにして推定した移動障害物70の位置と速度を用いて仮想粘性力と仮想斥力を計算し、移動コストを計算する。
【0039】
本実施例で移動コストを計算するのに用いるg(Sk)は、下記の式とする。
g(Sk)= L[S0,Sk] + W
visF
vis + W
repF
rep
ここでL[S0,Sk]は、直前に決定した分岐点S0から仮に選択した分岐点Skまでの距離、F
visは前述の式2による仮想粘性力、F
repは式3の仮想斥力、W
visはF
visの重みパラメータ、W
repはF
repの重みパラメータである。W
visおよびW
repは、Maximum Entropy Inverse Reinforcement Learningなどの学習アルゴリズムにより同定されるパラメータである。詳細は非特許文献1に記載があるため、本明細書での説明は省略する。
【0040】
経路探索装置12は、出発点S0(たとえば広場内出発点P5)にいる間に、出発点S0から目標点Gまでの経路を探索し、その経路に沿って移動する。経路探索では、経路の距離のみならず、仮想粘性力を加味することから、移動障害物の流れに沿った経路が優先的に探索される。また、仮想斥力をも加味することから、人のパーソナルスペースに侵入しない経路が優先的に探索される。また、仮想粘性力と仮想斥力を計算する際には、自律移動体2が経路を進むのに時間を要し、その間に移動障害物の位置も変わってしまうことを加味し、変化した後の移動障害物の位置と速度によって、仮想粘性力と仮想斥力を計算する。実際に即した計算となっており、計算した経路が実際には不適当な経路となる事象が出現する確率が低い。経路を頻繁に再探索する必要はない。自律移動体2は、人のパーソナルスペースに侵入することなく、人の流れに沿った方向に移動する。さらに、進行方向を変更する際には人の前方を横切るのではなく、人の後方において進行方向を変更する。人の移動速度に応じて人との距離を適切に保つことができる。
【0041】
図4に示すように、自律移動体2は局所回避経路探索装置26を備えている。自律移動体2は、探索した経路を移動しながら周囲を検出し、回避する必要がある障害物を検出すれば、局所回避経路探索装置26によって回避経路を生成して回避する。回避した結果、探索ずみの経路に復帰できなくなった場合には、再探索処理を実行する。
【0042】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。