図1に一実施形態として説明するシステム(以下、サービス提供システム1と称する。)の概略的な構成を示している。同図に示すように、サービス提供システム1は、サービスの提供対象となるエリア(以下、サービス提供エリアとも称する。)を移動し後述する位置標定システムの基地局20を備える一台以上のロボット10(移動体)、サービス提供可能エリア内の所定位置に設けられる複数の無線装置30、及びサービス提供システム1の管理センタ等に設けられるサーバ装置40を含む。尚、本実施形態においては、ロボット10は、サービス提供エリア内の平らな床面6を移動するものとし、またサービス提供エリアの床面6の上方に床面6と平行に設けられた天井面7には、適宜な間隔をあけて複数の無線装置30が設けられているものとする。またロボット10、無線装置30、及びサーバ装置40は、無線又は有線の通信手段(無線LAN、微弱無線、専用線、公衆回線、インターネット等)を介して互いに通信することができる。
サービス提供システム1は、例えば、病院や工場、博物館等の施設において、人の業務の補助、案内、誘導、巡回監視、物品搬送、警備等の様々なサービスを提供する。ロボット10は、オドメトリ(odometry)等の仕組みによって生成する自身の現在位置に基づき、サービス提供エリア内を自律的に移動して各種サービスの提供を行う。
ロボット10に備えられた基地局20は、無線装置30から送られてくる後述の位置標定信号を受信し、これに基づき自身(ロボット10)の現在位置を標定する。ロボット10は、基地局20によって標定された現在位置を用い、オドメトリ等に基づき把握している現在位置を示す情報(以下、推定現在位置とも称する。)に累積している誤差を補正する。
図2にロボット10が備える主なハードウエアを示している。同図に示すように、ロボット10は、基地局20のほか、中央処理装置11(CPU、MPU等)、記憶装置12(RAM、ROM、NVRAM、ハードディスク装置等)、入出力装置13(テンキー、タッチパネル、液晶ディスプレイ、音声認識装置、音声出力装置等)、計時装置14(RTC(Real Time Clock)、HPET(High Precision Event Timer)等)、無線通信インタフェース15、制御装置16、走行装置17、及び各種センサ18を備える。尚、基地局20のハードウエアの詳細については後述する。
中央処理装置11は、記憶装置12に格納されているプログラムを読み出して実行することにより、ロボット10の各種の機能を実現する。無線通信インタフェース15は、サーバ装置40との間で無線通信を行う。
制御装置16は、例えば、アーム等の機械式駆動部の制御機構(サーボモータ、アクチュエータ)を含む。走行装置17は、例えば、動力モータ、モータ制御装置(アンプ)、変速機構、旋回制御機構等を含み、ロボット10の移動や方向/姿勢の制御(前進、後進、左右旋回、加減速、傾き等の制御)を行う。
各種センサ18は、ロボット10の現在位置、ロボット10の状態(姿勢、動き等)を取得するセンサ(回転センサ(ロータリーエンコーダ、レゾルバ等)、角速度センサ、角加速度センサ、速度センサ、加速度センサ等)を含む。
図3にロボット10が備える主な機能を示している。同図に示すように、ロボット10は、自律移動制御部101、サービス提供処理部102、無線装置情報記憶部103、無線装置捕捉部104、現在位置取得部105、誤差補正処理部106、及び情報送受信部107を備える。これらの機能は、ロボット10が備えるハードウエアによって、もしくは、ロボット10の中央処理装置11が記憶装置12に格納されているプログラムを読み出して実行することにより実現される。尚、基地局20の機能の詳細については後述する。
自律移動制御部101は、オドメトリによって生成したロボット10の推定現在位置や各種センサ18の信号に基づき走行装置17を制御することにより、ロボット10を自律的に移動させる。
サービス提供処理部102は、入出力装置13や走行装置16を制御してロボット10が提供する各種サービスを実現する。
無線装置情報記憶部103は、無線装置30に関する情報(無線装置30の設置位置(サービス提供エリアに設定された座標系で示される位置(以下、絶対位置とも称する))、無線装置30間の距離等。以下、無線装置情報とも称する。)を記憶する。尚、無線装置情報は、予めロボット10に格納しておいてもよいし、ロボット10が無線装置30又はサーバ装置40と通信することにより、ロボット10が能動的又は受動的に取得するようにしてもよい。
無線装置捕捉部104は、後述するアンテナ配列方向の近傍に無線装置30を捕捉するようにロボット10もしくはアンテナ群25の向きや位置を制御する。
現在位置取得部105は、無線装置情報や無線装置30を捕捉することにより取得される情報に基づき、自身(ロボット10)の現在位置(サービス提供エリアに設定された座標軸で示される絶対位置)を算出する。尚、現在位置を算出する詳細な仕組みについては後述する。
誤差補正処理部106は、現在位置取得部105によって取得された自身の正確な現在位置に基づき、推定現在位置に累積している誤差を補正する。
情報送受信部107は、サーバ装置40と通信することにより各種情報を送受信する。
図4にロボット10に備えられる基地局20の主なハードウエアを示している。同図に示すように、基地局20は、中央処理装置21(CPU、MPU等)、記憶装置22(RAM、ROM、NVRAM、ハードディスク装置等)、無線通信インタフェース23、アンテナ群25、及びアンテナ切替スイッチ26を備える。
中央処理装置21は、記憶装置22に格納されているプログラムを読み出して実行することにより、基地局20の様々な機能を実現する。無線通信インタフェース23は、アンテナ群25によって受信される、無線装置30から送られてくる位置標定信号を復調する。尚、後述するように、無線装置30は、例えば、パッシブ型のRFIDタグ等の受動型の装置として構成することもできる。その場合、無線通信インタフェース23は、無線装置30に位置標定信号の送信を促す応答誘導信号(質問信号)を送信し、その応答として無線装置30から送られてくる位置標定信号を受信する。
アンテナ群25は、少なくとも4つのアンテナ251を含む。アンテナ切替スイッチ26は、アンテナ群25を構成しているいずれかのアンテナ251を、例えば、時分割方式で選択して無線通信インタフェース23に接続する。アンテナ251は、例えば、指向性アンテナや円偏波指向性アンテナである。尚、壁等の障害物が存在する屋内等でサービス提供システム1が実施される場合はアンテナ251として円偏波指向性アンテナを用いることが好ましい。円偏波の反射波(又は定在波)の偏波面は壁等での反射時に反転するため、円偏波指向性アンテナを用いることで反射波(又は定在波)を効果的に減衰させることができるからである。
図5に基地局20が備える主な機能を示している。同図に示すように、基地局20は、位置標定信号受信部201並びに位置標定処理部202を備える。尚、これらの機能は、基地局20が備えるハードウエアによって、もしくは、基地局20の中央処理装置21が記憶装置22に格納されているプログラムを読み出して実行することにより実現される。
上記機能のうち、位置標定信号受信部201は、無線通信インタフェース23及びアンテナ切替スイッチ26を制御しつつ、無線装置30から送られてくる位置標定信号を受信する。尚、無線装置30が受動型の装置として構成されている場合には、基地局20は応答誘導信号を送信する機能を更に備える。位置標定処理部202は、無線装置30から受信した位置標定信号に基づき無線装置30の位置(自身(基地局20)から見た無線装置30の相対位置)を標定する。
図6に無線装置30の主なハードウエアを示している。同図に示すように、無線装置30は、中央処理装置31(CPU、MPU等)、記憶装置32(RAM、ROM、NVRAM等)、通信インタフェース33、位置標定信号送信回路34、及びアンテナ35を備える。尚、無線装置30は、例えば、基地局20から送られてくる無線信号の電力を利用して動作する、いわゆるパッシブ型のRFIDタグ等の受動型の装置として構成することもできる。
位置標定信号送信回路34は、アンテナ35から位置標定信号を送信する。無線装置30が受動型の装置である場合、位置標定信号送信回路34は、基地局20から応答誘導信号を受信したのに応じて位置標定信号を送信する。尚、ロボット10を壁等の障害物が存在する屋内等で用いる場合には、アンテナ35は円偏波指向性アンテナであることが好ましい。円偏波の反射波(又は定在波)の偏波面は、壁等の障害物で反射した際に反転するため、円偏波指向性アンテナを用いることで、反射波や定在波を効果的に減衰させることができるからである。
アンテナ35は、その指向方向が下方(床面6の方向)を向くように設けられている。通信インタフェース33は、ロボット10やサーバ装置40と通信(無線通信又は有線通信)を行う。尚、ロボット10と無線装置30との間の通信は、後述する位置標定信号に情報を含ませることによっても行うことができる。
図7に無線装置30が備える主な機能を示している。同図に示すように、無線装置30は、位置標定信号送信部301、情報記憶部302、及び情報送受信部303を備える。尚、これらの機能は、無線装置30が備えるハードウエアによって、もしくは、無線装置30の中央処理装置31が記憶装置32に格納されているプログラムを読み出して実行することにより実現される。
位置標定信号送信部301は、ロボット10に備えられた基地局20に受信させる位置標定信号を位置標定信号送信回路34から送信する。尚、位置標定信号送信部101は、例えば、予め設定されたタイミング(例えば、一定時間ごと、ユーザによって登録された時間等)が到来すると位置標定信号を自動的に送信する。無線装置30がRFIDタグ等の受動型の装置として構成されている場合、位置標定信号送信部301は、基地局20から送られてくる応答誘導信号に対する応答として位置標定信号を送信する。
情報記憶部302は、各種情報(例えば、前述した無線装置情報)を記憶する。情報送受信部303は、ロボット10やサーバ装置40と通信し、各種情報を送受信する。
図8にサーバ装置40のハードウエアを示している。同図に示すように、サーバ装置40は、中央処理装置41(CPU、MPU等)、記憶装置42(RAM、ROM、NVRAM、ハードディスク装置等)、入力装置43(キーボード、マウス等)、出力装置44(液晶ディスプレイ、プリンタ等)、及び通信インタフェース45を備える。
中央処理装置41は、記憶装置32に格納されているプログラムを読み出して実行することによりサーバ装置40の様々な機能を実現する。出力装置44には、例えば、ロボット10の現在位置、ロボット10が現在向いている方向、ロボット10の姿勢、ロボット10が提供するサービスに関する情報が出力される。通信インタフェース45は、ロボット10や無線装置30との間で通信(無線通信又は有線通信)を行う。
図9にサーバ装置40が備える主な機能を示している。同図に示すように、サーバ装置40は、情報収集部401、情報提供部402、及び設定情報記憶部403を備える。尚、これらの機能は、サーバ装置40が備えるハードウエアによって、もしくは、サーバ装置40の中央処理装置41が記憶装置42に格納されているプログラムを読み出して実行することにより実現される。
情報収集部401は、ロボット10からロボット10に関する情報を随時収集する。情報提供部402は、例えば、ロボット10に対し、目的地までの誘導に関する情報、他のロボット10に関する情報(他のロボット10の現在位置、他のロボット10の移動方向等)、ロボット10の現在地周辺の情報などの情報を提供する。設定情報記憶部403は、例えば、サービス提供エリアに設けられている各無線装置30の前述した無線装置情報を記憶する。
<位置標定システム>
続いて位置標定システムについて説明する。位置標定システムによる位置標定に際しては、無線装置30が、アンテナ35からスペクトル拡散された無線信号である位置標定信号を送信する。またロボット10に備えられた基地局20は、アンテナ群25を構成している複数のアンテナ251を周期的に切り換えつつ、無線装置30から送られてくる位置標定信号を受信する。
図10に無線装置30から送信される位置標定信号1000のデータフォーマットを示している。同図に示すように、位置標定信号1000は、制御信号1011、測定信号1012、及び装置情報1013を含む。
このうち制御信号1011は、変調波や各種の制御信号を含む。測定信号1012は、数m秒程度の無変調波(例えば、基地局20に対する無線装置30の存在する方向や基地局20から無線装置30までの相対距離の検出に用いる信号(例えば2048チップの拡散符号))を含む。装置情報1013は、その位置標定信号1000を送信した無線装置30の設置位置を示す情報(前述した無線装置情報)や当該位置標定信号1000を送信した無線装置30を識別するための情報(以下、無線装置IDと称する。)を含む。
図11は基地局20が備えるアンテナ群25を構成している複数のアンテナ251と無線装置30が備えるアンテナ35との関係を説明する図である。同図に示すように、アンテナ群25は、位置標定信号1000の1波長(例えば、位置標定信号1000として2.4GHz帯の電波を用いた場合は波長λ=12.5cm)以下の間隔をあけて平面的に矩形状(略正方形状)に等間隔で隣接配置された4つの円偏波指向性アンテナ(以下、アンテナ251a〜251dと称する。)を含む。尚、各アンテナ251a〜251dは、例えば、指向方向が上方(天井面7の方向)もしくは斜め上方向を向くように設けられている。
ここで同図において、アンテナ群25の高さ位置における水平方向とアンテナ群25に対する無線装置30の方向とのなす角をα(基地局20から見た無線装置30が存在する方向)とすれば、
α=arcTan(D(m)/L(m))=arcSin(ΔL(cm)/3(cm))
の関係がある。尚、D(m)は無線装置30のアンテナ35の設置高さとロボット10の基地局20のアンテナ群25(4つのアンテナ251a〜251dで囲まれた領域の中央部分)の高さとの差であり、L(m)は無線装置30のアンテナ35から下ろした垂線がロボット10が移動する平面と交わる点とアンテナ群25の中心とを結ぶ線分の長さであり、ΔL(cm)はアンテナ群25を構成しているアンテナ251のうち特定の2つのアンテナ251についての、夫々の無線装置30のアンテナ35との間の伝搬路長の差(以下、経路差とも称する。)である。
ここでアンテナ群25を構成している特定の2つのアンテナ251の夫々が受信する位置標定信号1000の位相差をΔθとすれば、
ΔL(cm)=Δθ/(2π/λ(cm))
の関係がある。また位置標定信号1000として2.4GHz帯の電波を用いる場合はλ=12.5(cm)であるので、
α=arcSin(Δθ/π)
の関係がある。測定可能範囲(−π/2<Δθ<π/2)内では、αはΔθ(ラジアン)から算出できるので、上式から無線装置30が存在する方向αを取得することができる。
図12に示すように、無線装置30のアンテナ35の地上高をH(m)、基地局20のアンテナ群25の地上高をh(m)、無線装置30(のアンテナ35)から下ろした垂線とロボット10が移動する平面との交点を原点として三次元直交座標系(x,y,z)を設定した場合における、方向αのxz平面への射影をΔΦ(x)、方向αのyz平面への射影をΔΦ(y)とすれば、原点に対するロボット10(基地局20のアンテナ群25)の相対座標は次式から求めることができる。
Δd(x)=(H−h)×tan(ΔΦ(x))
Δd(y)=(H−h)×tan(ΔΦ(y))
そして例えば原点の絶対座標を(X1,Y1,0)とすれば、ロボット10の絶対座標(Xx,Yy,0)は次式から求めることができる。
Xx=X1+Δd(x)
Yy=Y1+Δd(y)
尚、以上に説明した位置標定の基本原理については、例えば、特開2004−184078号公報、特開2005−351877号公報、特開2005−351878号公報、特開2006−23261号公報などにも詳述されている。
ところで、以上に説明した方法で行われる位置標定に際しては、無線装置30やロボット10に備えられた基地局20が備える水晶発振器に生じる周波数偏差に起因する誤差が問題となる。例えば、水晶発振器の周波数安定度が±0.5ppmである場合、無線装置30と基地局20との間には最大1ppmの周波数偏差(2400Hz)が生じ、基地局20のアンテナ切替スイッチ26の切替周期が32μsである場合は2400Hz×32μs×360°=27.65°の位相差(誤差)が生じることになる。そこで位置標定システムでは、このような周波数偏差に起因する誤差を次のようにして相殺することにより、測定精度の向上を図っている。
まず基地局20のアンテナ群25の第1のアンテナ対(第1アンテナ251a及び第2アンテナ251b)が受信する位置標定信号1000の位相差Δθ1(第1アンテナ251aを基準として第2アンテナ251bの位相を測定した結果(=測定値))は、無線装置30のアンテナ35から第1アンテナ251aまでの位置標定信号1000の伝搬経路と、無線装置30のアンテナ35から第2アンテナ251bまでの位置標定信号1000の伝搬経路との差(経路差)によって生じる位相差の真値をΔθt1とし、上述の測定誤差をF1とすれば、次式で表すことができる。
Δθ1=Δθt1+F1 ・・・式1
一方、基地局20のアンテナ群25の第2のアンテナ対(第3アンテナ251c及び第4アンテナ251d)が受信する位置標定信号1000の位相差Δθ2(第3アンテナ251cを基準として第4アンテナ251dの位相を測定した結果(=測定値))は、無線装置30のアンテナ35から第3アンテナ251cまでの位置標定信号1000の伝搬経路と、無線装置30のアンテナ35から第4アンテナ251dまでの位置標定信号1000の伝搬経路との差(経路差)によって生じる位相差の真値をΔθt2とし、測定誤差をF2とすれば、次式で表すことができる。
Δθ2=−Δθt2+F2 ・・・式2
また式1と式2の両辺の差を取ると、次のようになる。
Δθ1−Δθ2=(Δθt1−(−Δθt2))+(F1−F2) ・・・式3
ここで第1のアンテナ対と第2のアンテナ対とは、第1のアンテナ対の各アンテナ251a,251bによって受信される位置標定信号1000の経路差と第2のアンテナ対の各アンテナ251c,251dによって受信される位置標定信号1000の経路差とが一致するように、即ち位相差Δθt1と位相差Δθt2とが一致するように設けられており、この一致する値をθt=Δθt1=Δθt2とすれば、右辺の(Δθt1−(−Δθt2))の値は2θtとなる。
一方、誤差F1,F2は、第1のアンテナ対の測定時と第2のアンテナ対の測定時とで通常はほぼ一致しており、右辺の(F1−F2)の値は限りなく0に近くなる。以上より、式3は次のようになる。
θt=(Δθ1−Δθ2)/2 ・・・式4
式4から理解されるように、第1のアンテナ対と第2のアンテナ対の夫々によって位相差を測定することにより、式1、式2における測定誤差F1,F2を相殺することができる。このため、第1のアンテナ対と第2のアンテナ対の夫々によって位相差を測定することにより、位相差θtを高い精度で取得することができる。
尚、位相を測定する側(本実施形態では基地局20側)に、例えば、AGC(Automatic Gain Controller)を設けて周波数偏差を減少させるようにすれば、右辺の(F1−F2)の値をさらに0に近づけることができ、位相差θtの測定精度を更に向上させることができる。
<標定精度>
ところで、基地局20によって行われる位置標定の精度は、位置標定部205によって位置標定を行うことが可能なエリア(以下、標定可能エリアとも称する。)の全体において必ずしも一様でなく、通常は基地局20と移動端末10との距離が短い(相対位置が近い)程、標定精度が高くなる。
また標定精度は、基地局20の各アンテナ251の配列方向、即ち、図13Aに示すように、正方形状に配置された4つのアンテナ251a〜251dの中心(各アンテナ251a〜251dの夫々の中心から等距離にある点)を原点Oとして正方形の一辺の方向に設定したX軸の方向、もしくは、上記正方形の中心を原点OとしてX軸と直角な方向(上記一辺に隣接する他の一辺の方向)に設定したY軸の方向(以下、上記X軸又はY軸のことをアンテナ配列軸とも称する。)と、無線装置30(のアンテナ35)との相対的な位置関係によっても変化する。
例えば、基地局20側のアンテナ群25が図13Aに示すような状態で配列している場合、図13Bに示すように、アンテナ配列軸の近傍(上記X軸を含むXY平面に垂直な平面の近傍、もしくは上記Y軸を含むXY平面に垂直な平面の近傍)にロボット10のアンテナ14が存在するときに比較的高い標定精度が得られることが知見されている。またアンテナ配列軸の近傍では、標定可能エリアの境界付近や標定可能エリア外の基地局20から所定範囲においても比較的高い標定精度が得られることが知見されている。尚、このような特性になることは、例えば、次のように理解することができる。
今、基地局20の各アンテナ251a〜251dと無線装置30(のアンテナ35)とが図14Aに示す位置関係にある場合を考える。尚、同図において、無線装置30(のアンテナ35)は、X軸を含むXY平面に垂直な平面近傍に存在する。また図中、一点鎖線で示す弧線77,78は、無線装置30から送信された位置標定信号1000の波面である。
同図から理解されるように、アンテナ251bとアンテナ251cとの間では無線装置30から送信された位置標定信号1000の到達時間に差がなく、またアンテナ251aとアンテナ251dとの間でも位置標定信号1000の到達時間に差がなく、従ってY軸方向の位相差は0である。
一方、アンテナ251aとアンテナ251bとの間では、無線装置30から送信された位置標定信号1000の到達時間に差があり、またアンテナ251cとアンテナ251dとの間についても位置標定信号1000の到達時間に差がある。
図14Bは、基地局20のアンテナ群25と無線装置30(のアンテナ35)とが図14Aの状態であるときに、これらをY軸の負の方向から眺めた図である。同図において、符号81、82で示す実線は、夫々、無線装置30から送信される位置標定信号1000のうち、直接波として基地局20のアンテナ群25に到達する位置標定信号1000である。また符号91、92で示す破線は、夫々、無線装置30から送信される位置標定信号1000のうち、間接波(マルチパス、反射波等)として基地局20のアンテナ群25に到達する位置標定信号1000である。このように、基地局20のアンテナ群25には、無線装置30から送信された位置標定信号1000が、間接波と直接波とが合成された形で到達する。
ここで間接波91及び間接波92に着目すると、これらはアンテナ251b及びアンテナ251cへの到達時間とアンテナ251a及びアンテナ251dへの到達時間との間に差がある。従って、間接波91がアンテナ251b及びアンテナ251cが受信する位置標定信号1000に与える影響(アンテナ251b及びアンテナ251cが受信する直接波に与える影響)と、間接波92がアンテナ251a及びアンテナ251dが受信する位置標定信号1000に与える影響(アンテナ251a及びアンテナ251dが受信する直接波に与える影響)とは異なる。このため、間接波が存在する場合には、X軸方向の位相差の測定精度に影響が生じることになる。
一方、アンテナ251bとアンテナ251cとの間では、間接波91と間接波92との間で到達時間に差がなく、間接波91及び間接波92がアンテナ251bとアンテナ251cの夫々が受信する位置標定信号1000に与える影響(直接波に与える影響)は同じである。またアンテナ251aとアンテナ251dとの間でも、間接波91と間接波92との間で到達時間に差がなく、間接波91及び間接波92がアンテナ251aとアンテナ251dの夫々が受信する位置標定信号1000に与える影響(直接波に与える影響)は同じである。従ってY軸方向の位相差の測定精度に与える影響は小さくなる。標定精度が上記の特性となることは、以上のように理解することができる。尚、以上によれば、間接波のみが到達するような状況においても、アンテナ配列軸の近傍では方向について比較的高い標定精度が得られることも理解される。
<現在位置取得処理>
以上に説明した位置標定システムの特性を利用すれば、ロボット10の現在位置を効率よく正確に取得仕組みを実現することができる。またこの仕組みによって取得した正確な現在位置を用いて、例えば、ロボット10がオドメトリにより推定している推定現在位置に累積している誤差を補正することもできる。以下、この仕組みについて具体例とともに説明する。
図15は、ロボット10が、上記仕組みによって自身の現在位置を取得する処理(以下、現在位置取得処理S1500と称する。)の一例を説明するフローチャートである。以下、同図とともに現在位置取得処理S1500について説明する。尚、現在位置取得処理S1500が実行されている間、サービス提供エリア内に設けられている各無線装置30は、十分に短い時間間隔(ロボット10の移動速度に対して十分に短い時間間隔)で能動的又は受動的に繰り返し位置標定信号1000を送信しているものとする。
ロボット10は、例えば、オドメトリによって求めた推定現在位置に基づきサービス提供エリアを自律的に移動しつつ、各種のサービスを提供する(S1501)。またロボット10は、自律移動やサービスの提供を行いつつ、自身の現在位置を取得するタイミングの到来をリアルタイムに監視している(S1502)。尚、上記タイミングは、例えば、予め設定された時間が到来した場合や一定時間ごと(周期的)に到来する。またロボット10は、例えば、オドメトリにより推定している現在位置に累積される誤差を補正する目的で自身の現在位置を取得しようとし、この場合、上記タイミングは、例えば、推定現在位置、もしくは推定現在方向に所定の閾値を超えた誤差が累積していることが確認されるなどの所定の条件が満たされた場合に到来する。
自身の現在位置を取得するタイミングが到来すると(S1502:YES)、ロボット10は、自身の基地局20のいずれかのアンテナ配列軸上(アンテナ配列軸の近傍)に少なくとも3つの無線装置30を捕捉すべく、そのための動作を開始する(S1503)。ここでアンテナ配列軸上に無線装置30を捕捉するとは、無線装置30から送られてくる位置標定信号1000に基づき無線装置30の位置標定を行うことにより、無線装置30をアンテナ配列軸上に位置させて、その時の自身の機体の向きもしくはアンテナ群25の指向方向を取得することをいう。
具体的には、ロボット10は、自身の機体をまるごと旋回させるか、もしくはアンテナ群25の基台等を旋回させてアンテナ群25の指向方向を旋回させることにより、自身のアンテナ群25のアンテナ配列軸上に無線装置30を捕捉する(S1504、S1505)。
ここで図13Bに示すように、アンテナ群25が4つのアンテナ配列軸を有している場合を考える。この場合、ロボット10は、アンテナ群25の指向方向を左右いずれかの方向に90°だけ旋回させれば自身を中心として360°全方位をカバー(スキャン)することができる。尚、例えば、複数のアンテナ群25を組み合わせるか、もしくは、図13Aの対角線方向のアンテナ対(アンテナ251aとアンテナ251cの対とアンテナ251bとアンテナ251dの対)により前述した誤差の相殺を図り対角線方向にもアンテナ配列軸を構成するなどしてアンテナ配列軸の数を増やすことで、より少ない旋回角で効率よく全方位をカバーすることができる。
前者の場合の一態様を図16に示す。同図に示すように、この例では、4つのアンテナ251a〜251dからなるアンテナ群25(以下、第1のアンテナ群とも称する。)と、4つのアンテナ251a’〜251d’からなるアンテナ群25(以下、第2のアンテナ群とも称する。)とを、2つのアンテナ群25の夫々の正方形の中心を原点Oに一致させて組み合わせることにより、原点から45°ずつ8方向(+X,+Y,−X,−Y,+X’,+Y’,−X’,−Y’)に延びるアンテナ配列軸が構成されるようにしている。尚、同様にして3つ以上のアンテナ群25を組み合わせることでアンテナ配列軸の数をさらに増やすこともできる。
一方、後者の場合における上記誤差の相殺は、例えば、次のようにして行う。ここでは図13Aに示したアンテナ群25において、対角に位置している第2アンテナ251bと第4アンテナ251dの組み合わせを例として説明する。まず第2アンテナ251bと第4アンテナ251dの夫々が受信する位置標定信号1000の位相差Δθ1(第2アンテナ251bを基準として第4アンテナ251dの位相を測定した結果(=測定値))は、位置標定信号1000を送信する無線装置30のアンテナ35から基地局20の各アンテナ(第2アンテナ251b及び第4アンテナ251d)までの位置標定信号1000の伝搬経路の差(経路差)によって生じる位相差の真値をΔθt1とし、上述の測定誤差をF1とし、間接波(マルチパス、反射波等)の影響をαとすれば、次式で表すことができる。
Δθ1=Δθt1+F1+α ・・・式5
一方、第4アンテナ251dを基準として第2アンテナ251bの位相を測定した場合の位相差Δθ2は、位置標定信号1000を送信する無線装置30のアンテナ35から基地局20の各アンテナ(第2アンテナ251b及び第4アンテナ251d)までの位置標定信号1000の伝搬経路の差(経路差)によって生じる位相差の真値をΔθt2とし、上述の測定誤差をF2とすれば、次式で表すことができる。
Δθ2=−Δθt2+F2−α ・・・式6
式5と式6の両辺の差を取れば次のようになる。
(Δθ1−Δθ2)/2=((Δθt1+F+α)−(−Δθt2+F−α))/2
=((Δθt1+Δθt2)+2・α)/2
・・・式7
ここでΔθt1とΔθt2とが等しくなるように第2アンテナ251bと第4アンテナ251dとが設けられているとすれば、θt=Δθt1=Δθt2となり、式7の右辺の(Δθt1−(−Δθt2))の値は2θtとなり、式7は次のようになる。
(Δθ1−Δθ2)/2=(2・Δθt+2・α)/2
=Δθt+α ・・・式8
尚、上式には間接波の間接波の影響αが残るが、位置標定の目的が限定される場合(例えば、Δθt=0か否か(無線装置30が基地局20のアンテナ配列軸の近傍に存在するか否か))、図14A及び図14Bとともに説明したように、間接波の影響はとくに問題にならない。
ところで、ロボット10の現在位置を中心とした全方位をカバーするように、自身もしくはアンテナ群25を旋回させても、3つ以上の無線装置30を捕捉することができない場合は、例えば、ロボット10が現在位置から所定距離移動した後、捕捉できるか否かを再度試みるようにしてもよい。また後述する絶対位置を捕捉する原理の説明(図17)から理解されるように、捕捉した無線装置30が同一直線上に並ぶような場合には位置標定が困難になるかもしくは誤差が著しく増大してしまう可能性がある。そこで捕捉した3つの無線装置30が同一直線上に並ぶかこれに近い状況である場合には、ロボット10が現在位置から他の場所に移動して再度無線装置30の捕捉を試みるようにしてもよい。また所定時間内に3つ以上の無線装置30を捕捉できない場合には、ロボット10がエラー情報を出力するようにしてもよい。
図15に戻り、自身のアンテナ配列軸上に少なくとも3つの無線装置30を捕捉すると(S1504:YES)、続いてロボット10は、捕捉した各無線装置30が存在する方向(自身から見た各無線装置30の方向)と、各無線装置30の無線装置情報とに基づき、自身の現在位置を算出する(S1506)。尚、ロボット10は、各無線装置30の無線装置情報を、例えば、位置標定信号1000から取得する(予めロボット10が各無線装置30の無線装置情報を無線装置IDに対応づけて記憶しておき、受信した位置標定信号1000に設定されている無線装置IDに基づき、該当の無線装置情報を検索するようにしてもよい。)。
図17とともに、ロボット10が自身の現在位置を算出する方法について説明する。同図はロボット10が、3つの無線装置30(無線装置30a,無線装置30b,無線装置30c)を自身のアンテナ群25のアンテナ配列軸上に捕捉している場合である。
同図において、θ12はロボット10から見た、無線装置30aの方向と無線装置30bの方向とがなす角であり、またθ23はロボット10から見た、無線装置30bの方向と無線装置30cの方向とがなす角である。尚、これら(ロボット10から見た各無線装置30の相対方向)の値はいずれもロボット10がアンテナ配列軸上に各無線装置30を捕捉することにより取得することができる。
また同図において、L12は無線装置30aと無線装置30bとの間の距離であり、L23は無線装置30bと無線装置30cとの間の距離である。尚、これらはいずれも無線装置情報から取得することができる。
ここで無線装置30aから見た、ロボット10の方向と無線装置30bの方向とがなす角をθA、無線装置30bから見た、無線装置30aの方向とロボット10の方向とがなす角をθB、無線装置30bから見た、ロボット10の方向と無線装置30cの方向とがなす角をθC、無線装置30cから見た、無線装置30bの方向とロボット10の方向とがなす角をθDとすれば、次の連立方程式が成立する。
θA+θB+θ12=180°(三角形の内角の和) ・・・式9
θC+θD+θ23=180°(三角形の内角の和) ・・・式10
θA+(θB+θC)+θD+θ12+θ23=360°(四角形の内角の和)
・・・式11
ここで式11におけるθB+θCは、無線装置30bから見た、無線装置30aの方向と無線装置30cの方向とがなす角であり、これは無線装置情報から取得することができる(例えば、無線装置30が天井面7に格子状に設けられている場合にはθB+θC=90°となる。)。また式9と式10とを辺々加えれば、
θA+(θB+θC)+θD+θ23=360° ・・・式12
となり、これと式11とからθAとθDを求めることができる。
ここで無線装置30a、無線装置30b、無線装置30cの夫々の絶対位置は、各無線装置30の無線装置情報から取得することができる。このため、各無線装置30の絶対位置と、算出したθA、θDとによってロボット10の絶対位置を求めることができる。また算出したθA、θDと無線装置情報とを用いることでθBやθCも求めることができる。
図15に戻り、自身の現在位置を算出すると、続いてロボット10は、算出した現在位置(絶対位置)を用いた処理、例えば、オドメトリによって推定している推定現在位置に累積している誤差の補正を行う(S1507)。またロボット10は、例えば、算出した自身の現在位置をサーバ装置40に通知する。その後、処理はS1501に戻り、ロボット10は誤差を補正した後、自律走行を開始して各種サービスの提供を再開する。
以上に説明したように、本実施形態のサービス提供システム1では、基地局20のアンテナ群25のアンテナ配列軸の近傍では比較的高い標定精度が得られるという位置標定システムの特性に着目し、ロボット10側に設けた基地局20のアンテナ配列軸の近傍に3つ以上の無線装置30を捕捉させることにより、ロボット10から見た無線装置30の夫々が存在する方向である相対方向を取得し、これと予め記憶しておいたもしくは各無線装置30から取得した無線装置情報とに基づき、サービス提供エリアにおける自身の現在位置(絶対位置)を取得する。そしてアンテナ配列軸の近傍では、他のエリア(通常の標定可能エリア)に比べて基地局20からより離れた位置においても比較的高い標定精度が得られ、同じ基地局20により各無線装置30が存在する方向を広範囲に亘って高い精度で標定することができるので、例えば、無線装置30の設置間隔が広い場合(無線装置30を疎な状態で設置した場合)でも、高い精度でロボット10の現在位置を標定することができる。このため、サービス提供システム1によれば、無線装置30等の設備の設置やメンテナンスに要する負荷やコストを抑えつつ、高い標定精度でロボット10の現在位置(絶対位置)を取得する仕組みを実現することができる。
尚、以上の説明は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明はその趣旨を逸脱することなく、変更、改良され得ると共に本発明にはその等価物が含まれることは勿論である。
例えば、以上の実施形態では、捕捉した無線装置30が3つである場合を例として説明したが、捕捉した無線装置30が4つ以上である場合においても幾何学的な計算を行うことによってロボット10の正確な現在位置を算出することができる。
また例えば、ロボット10が、自身の機体の方向(自身に設定された基準軸(機軸)の方向)とアンテナ配列軸の方向(図13Bにおける+X,−X,+Y,−Yのいずれかの方向)とがなす角θKとを、例えば、予め記憶しているか、もしくは、アンテナ群25を旋回させる制御機構などから取得して把握している場合には、算出した値(θA,θB,θC,θD)のいずれかに基づき、自身の機体の絶対方向(サービス提供エリアに設定された座標系で示される方向)を算出することができる。具体的には、例えば、図18に示すように、自身の機体の絶対方向をθC+(180°−θK)(同図に示す破線の方向を0°とした場合)として算出することができる。
また以上の実施形態では、アンテナ群25の各アンテナ251a〜251dが正方形状に配列している場合について説明したが、各アンテナ251a〜251dが長方形状に配列している場合でも同様の効果を得ることができる。
本実施形態では移動体の具体例としてロボット10について説明したが、移動体は、人、荷物、運搬車両等の他の種類のものであってもよい。