(57)【要約】【課題】衛星からの電波が受信できない場所においてもロボットが自律移動を行うために用いる地図データを提供する。【解決手段】送信機は、自送信機を識別する送信機識別情報を発光部の点灯および消灯を制御することにより送信する。ロボットは、送信機を撮影した画像に基づいて検出された送信機識別情報を地図管理装置に送信し、地図管理装置から送信機識別情報に対応した地図データを受信する。ロボットは、受信した地図データを用いて作成した自律行動計画に基づいて、ロボットの移動させる駆動部の駆動を制御する。地図管理装置は、送信機識別情報と地図データとを対応付けて記憶する記憶部を有しており、ロボットから通知された送信機識別情報に対応した地図データを記憶部から読み出して送信する。【選択図】図２０
2020166630.tif 000002
【特許請求の範囲】
【請求項１】
送信機とロボットと地図管理装置とを有する地図提供システムであって、
前記送信機は、
発光部と、
自送信機を識別する送信機識別情報を前記発光部の点灯および消灯を制御することにより送信する送信部とを備え、
前記ロボットは、
前記ロボットを移動させる駆動部と、
前記送信機を撮影した画像に基づいて検出された前記送信機識別情報を前記地図管理装置に送信する送信機情報送信部と、
前記送信機情報送信部が送信した前記送信機識別情報に対応して前記地図管理装置から地図データを受信する地図受信部と、
前記地図受信部が受信した前記地図データを用いて作成した自律行動計画に基づいて前記駆動部の駆動を制御する駆動制御部とを備え、
前記地図管理装置は、
前記送信機識別情報と地図データとを対応付けて記憶する記憶部と、
前記ロボットから通知された前記送信機識別情報に対応した前記地図データを前記記憶部から読み出して送信する送信部とを備える、
地図提供システム。
【請求項２】
前記ロボットは、
前記送信機を撮影した画像に基づいて検出された前記送信機識別情報と、前記画像における前記送信機の位置と、検出された前記送信機識別情報により特定される前記送信機の三次元座標系における位置の情報とを用いて、前記三次元座標系における当該ロボットの位置を同定する位置同定部と、
前記位置同定部が同定した前記位置を前記地図管理装置に通知する位置通知部とをさらに備え、
前記地図管理装置は、
前記ロボットから受信した前記位置を前記記憶部に書き込む情報更新部をさらに備える、
請求項１に記載の地図提供システム。
【請求項３】
前記ロボットは、前記自律行動計画に基づく移動中の経路における経路障害を検出する検出部をさらに備え、
前記位置通知部は、前記検出部による前記経路障害の検出時に前記位置同定部が同定した前記位置を設定した経路障害発生情報を前記地図管理装置に通知し、
前記情報更新部は、前記位置通知部が受信した前記経路障害発生情報を前記記憶部に書き込み、
前記送信部は、前記ロボットに、他の前記ロボットから送信された前記経路障害発生情報を送信する、
請求項２に記載の地図提供システム。
【請求項４】
前記ロボットは、
前記地図管理装置から受信した地図データを用いて、前記位置同定部が同定した前記位置から目標位置までの移動の経路を計算する移動経路計算部と、
前記移動経路計算部が計算した前記経路に従って、前記自律行動計画を生成する自律行動計画生成部とをさらに備える、
請求項２又は請求項３に記載の地図提供システム。
【請求項５】
前記送信部は、前記ロボットから通知された前記位置に対応したエリアの前記地図データを前記記憶部から読み出して送信する、
請求項２から請求項４のいずれか一項に記載の地図提供システム。
【請求項６】
前記記憶部は、前記送信機識別情報と対応付けて、エリアが異なる複数の前記地図データを記憶しており、
前記送信部は、前記送信機識別情報に対応した前記地図データのうち、前記送信機識別情報を送信した前記ロボットに許可される前記エリアの前記地図データを送信する、
請求項１から請求項５のいずれか一項に記載の地図提供システム。
【請求項７】
送信機とロボットと地図管理装置とを有する地図提供システムにおける地図提供方法であって、
前記送信機が、
自送信機を識別する送信機識別情報を発光部の点灯および消灯を制御することにより送信する送信ステップと、
前記ロボットが、
前記送信機を撮影した画像に基づいて検出された前記送信機識別情報を前記地図管理装置に送信する送信機情報送信ステップと、
前記送信機情報送信ステップにおいて送信した前記送信機識別情報に対応して前記地図管理装置から地図データを受信する地図受信ステップと、
前記地図受信ステップが受信した前記地図データを用いて作成した自律行動計画に基づいて、前記ロボットを移動させる駆動部の駆動を制御する駆動制御ステップと、
前記地図管理装置が、
前記ロボットから通知された前記送信機識別情報に対応した地図データを記憶部から読み出して送信する送信ステップと、
を有する地図提供方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、地図提供システムおよび地図提供方法に関する。
【背景技術】
【０００２】
ロボットが、空間内を自在に自律的に移動する為には、地図と自己位置の情報が必要である。従来は、ロボットが空間を移動しながら地図を作成している（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−０９７４０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ロボットが処理可能な地図の作成には、ロボットの移動空間を測量する必要があるため、多くの時間を要する。また、ロボットが屋内を移動する場合には、ＧＮＳＳ（Global Navigation Satellite System；全球測位衛星システム）が使用できないため、ロボットが自己位置を検出するためのセンサ等を実装する必要がある。
【０００５】
本発明は、上記の問題点に鑑みてなされたものであって、衛星からの電波が受信できない場所においてもロボットが自律移動を行うために用いる地図データを提供することができる地図提供システムおよび地図提供方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
（１）上記目的を達成するため、本発明の一態様に係る地図提供システム（５００）は、送信機（８００）とロボット（６００）と地図管理装置（７００）とを有する地図提供システムであって、前記送信機は、発光部（２４）と、自送信機を識別する送信機識別情報を前記発光部の点灯および消灯を制御することにより送信する送信部（２３）とを備え、前記ロボットは、前記ロボットを移動させる駆動部（６６０）と、前記送信機を撮影した画像に基づいて検出された前記送信機識別情報を前記地図管理装置に送信する送信機情報送信部（６３２）と、前記送信機情報送信部が送信した前記送信機識別情報に対応して前記地図管理装置から地図データを受信する地図受信部（６３３）と、前記地図受信部が受信した前記地図データを用いて作成した自律行動計画に基づいて前記駆動部の駆動を制御する駆動制御部（６３７）とを備え、前記地図管理装置は、前記送信機識別情報と地図データとを対応付けて記憶する記憶部（７１０）と、前記ロボットから通知された前記送信機識別情報に対応した前記地図データを前記記憶部から読み出して送信する送信部（７３３）とを備える。
【０００７】
（２）また、本発明の一態様に係る地図提供システムにおいて、前記ロボットは、前記送信機を撮影した画像に基づいて検出された前記送信機識別情報と、前記画像における前記送信機の位置と、検出された前記送信機識別情報により特定される前記送信機の三次元座標系における位置の情報とを用いて、前記三次元座標系における当該ロボットの位置を同定する位置同定部（６１０）と、前記位置同定部が同定した前記位置を前記地図管理装置に通知する位置通知部（６３４）とをさらに備え、前記地図管理装置は、前記ロボットから受信した前記位置を前記記憶部に書き込む情報更新部（７３４）をさらに備える、ようにしてもよい。
【０００８】
（３）また、本発明の一態様に係る地図提供システムにおいて、前記ロボットは、前記自律行動計画に基づく移動中の経路における経路障害を検出する検出部（６３８）をさらに備え、前記位置通知部は、前記検出部による前記経路障害の検出時に前記位置同定部が同定した前記位置を設定した経路障害発生情報を前記地図管理装置に通知し、前記情報更新部は、前記位置通知部が受信した前記経路障害発生情報を前記記憶部に書き込み、前記送信部は、前記ロボットに、他の前記ロボットから送信された前記経路障害発生情報を送信する、ようにしてもよい。
【０００９】
（４）また、本発明の一態様に係る地図提供システムにおいて、前記ロボットは、前記地図管理装置から受信した地図データを用いて、前記位置同定部が同定した前記位置から目標位置までの移動の経路を計算する移動経路計算部（６３５）と、前記移動経路計算部が計算した前記経路に従って、前記自律行動計画を生成する自律行動計画生成部（６３６）とをさらに備える、ようにしてもよい。
【００１０】
（５）また、本発明の一態様に係る地図提供システムにおいて、前記送信部は、前記ロボットから通知された前記位置に対応したエリアの前記地図データを前記記憶部から読み出して送信する、ようにしてもよい。
【００１１】
（６）また、本発明の一態様に係る地図提供システムにおいて、前記記憶部は、前記送信機識別情報と対応付けて、エリアが異なる複数の前記地図データを記憶しており、前記送信部は、前記送信機識別情報に対応した前記地図データのうち、前記送信機識別情報を送信した前記ロボットに許可される前記エリアの前記地図データを送信する、ようにしてもよい。
【００１２】
（７）また、本発明の一態様に係る地図提供方法は、送信機（８００）とロボット（６００）と地図管理装置（７００）とを有する地図提供システムにおける地図提供方法であって、前記送信機が、自送信機を識別する送信機識別情報を発光部の点灯および消灯を制御することにより送信する送信ステップと、前記ロボットが、前記送信機を撮影した画像に基づいて検出された前記送信機識別情報を前記地図管理装置に送信する送信機情報送信ステップと、前記送信機情報送信ステップにおいて送信した前記送信機識別情報に対応して前記地図管理装置から地図データを受信する地図受信ステップと、前記地図受信ステップが受信した前記地図データを用いて作成した自律行動計画に基づいて、前記ロボットを移動させる駆動部の駆動を制御する駆動制御ステップと、前記地図管理装置が、前記ロボットから通知された前記送信機識別情報に対応した地図データを記憶部から読み出して送信する送信ステップと、を有する。
【発明の効果】
【００１３】
上述した（１）、および（７）によれば、衛星からの電波が受信できない場所においてもロボットが自律移動を行うために用いる地図データを提供することができる。
【００１４】
また、上述した（２）によれば、衛星からの電波が受信できない場所においてもロボットの位置を検出し、検出した位置を記録することができる。よって、稼働しているロボットの台数や、移動の履歴を得ることができる。
【００１５】
また、上述した（３）によれば、複数のロボットが検出した経路障害の情報を集約し、各ロボットに配信する地図データに併せて提供することができる。よって、ロボットは経路障害を避けるように自律制御を行うことができる。
【００１６】
また、上述した（４）によれば、ロボットは、同定した自己位置を用いて目的地に至る経路を計算することができる。
【００１７】
また、上述した（５）によれば、ロボットの位置に応じた地図データを提供することができる。
【００１８】
また、上述した（６）によれば、各ロボットを許可されたエリア内で稼働させることができる。
【図面の簡単な説明】
【００１９】
【図１】位置同定システムの構成例を示す図である。
【図２】位置同定システムの構成例を示すブロック図である。
【図３】ビーコン信号の“０”と“１”の発光パターンを示す図である。
【図４】ビーコン信号の構成例を示す図である。
【図５】メインデータセットに重畳されるサブデータセットの例を示す図である。
【図６】送信機が行う送信処理手順のフローチャートである。
【図７】送信機からの光を含む画像を撮影部の全感度領域で撮影した画像例を示す図である。
【図８】光学系にフィルタ処理を行った後撮影した画像例を示す図である。
【図９】“０”の発光パターンにおける消灯と点灯の判定例を示す図である。
【図１０】“１”の発光パターンにおける消灯と点灯の判定例を示す図である。
【図１１】判定基準例を示す図である。
【図１２】撮影された画像に対して行う処理を説明するための図である。
【図１３】受信機の処理部が行う画像処理手順のフローチャートである。
【図１４】撮影された画像における座標を示す図である。
【図１５】カメラ座標を示す図である。
【図１６】カメラ座標とワールド座標を示す図である。
【図１７】天井に取り付けられている複数の送信機からの光を撮影した際の画像のイメージ図である。
【図１８】地図上の自己位置を示す図である。
【図１９】受信機が行う位置同定の処理手順のフローチャートである。
【図２０】本発明の実施形態による地図提供システムの構成例を示す図である。
【図２１】同実施形態によるロボットの構成例を示すブロック図である。
【図２２】同実施形態による地図管理装置の構成を示すブロック図である。
【図２３】同実施形態による許可ＤＢの例を示す図である。
【図２４】同実施形態による地図ＤＢの例を示す図である。
【図２５】同実施形態による地図提供システムの処理を示すフロー図である。
【図２６】同実施形態による地図提供システムの処理を示すフロー図である。
【図２７】同実施形態による地図提供システムの処理を示すフロー図である。
【発明を実施するための形態】
【００２０】
以下、本発明の実施の形態について図面を参照しながら説明する。なお、以下の説明に用いる図面では、各部材を認識可能な大きさとするため、各部材の縮尺を適宜変更している。
【００２１】
まず、本実施形態に適用される位置同定システムについて説明する。
［位置同定システムの構成］
まず、位置同定システムの構成例を説明する。
図１は、本実施形態に適用される位置同定システム１の構成例を示す図である。図１に示すように、位置同定システム１は、送信機２ａ，２ｂ，２ｃ，…と受信機３を備える。なお、以下の説明において、送信機２ａ，２ｂ，２ｃ，…のうちの１つを特定しない場合は送信機２という。送信機２は、固有のビーコン信号（ｇ１ａ、ｇ１ｂ、ｇ１ｃ、…）を発光と消灯によって送信する。また、受信機３は、撮影部３１と処理部３２を備える。後述するように、ビーコン信号には、各送信機２を識別するための識別情報（ＩＤ）が含まれている。
【００２２】
次に、送信機２と受信機３それぞれの構成例を説明する。なお、以下の説明では、図１に示した送信機２ａ，２ｂ，２ｃ，…の構成が同じ場合を説明する。なお、送信機２ａ，２ｂ，２ｃ，…の構成は、異なっていてもよい。
【００２３】
図２は、位置同定システム１の構成例を示すブロック図である。図２に示すように、位置同定システム１は、送信機２と受信機３を備える。
送信機２は、送信情報生成部２１、エンコーダ２２、送信部２３、および発光部２４を備える。
受信機３は、撮影部３１、および処理部３２を備える。処理部３２は、露光制御部３２１、画像処理部３２２、記憶部３２３、判定部３２４、デコーダ３２５、ＣＡＬデータ記憶部３２６、方向演算部３２７、地図データ記憶部３２８、自己位置演算部３２９、および出力部３３０を備える。
【００２４】
図２に示す位置同定システム１において、送信機２は互いに非同期であり、かつ受信機３とも非同期である。このため、位置同定システム１は、送信機２同士は、互いに同期信号の送受信を行わない。また、位置同定システム１は、送信機２と受信機３も、互いに同期信号の送受信を行わない。
【００２５】
送信機２は、固有のビーコン信号（符号ｇ１）を発光と消灯によって送信する。なお、送信機２は互いに非同期であり、かつ受信機３とも非同期である。このため、送信機２同士は、互いに同期信号の送受信を行わない。また、送信機２と受信機３も、互いに同期信号の送受信を行わない。なお、送信機２が取り付けられているワールド座標系における位置（以下、ビーコン座標ともいう）は既知である。
【００２６】
送信情報生成部２１は、送信情報を生成して、生成した送信情報をエンコーダ２２に出力する。なお、送信情報には、送信機２を識別するための識別情報（ＩＤ）が含まれている。また、送信情報には、ビーコン座標を示す情報が含まれていてもよい。
【００２７】
エンコーダ２２は、送信情報生成部２１が出力する送信情報を、後述するようにエンコード処理して送信データを生成する。エンコーダ２２は、生成した送信データを送信部２３に出力する。なお、後述するように、送信データにおける１ビットは、例えば６単位（６つの所定時間）のＨ（ハイ）レベルとＬ（ロー）レベルによって構成されている。また、１セットのメインデータには、後述するようにスタートビットと、データビットと、パリティビットが含まれている。なお、単位および送信データの構成等については後述する。
【００２８】
送信部２３は、エンコーダ２２が出力する送信データに基づいて、Ｈレベルの信号に対して発光部２４を点灯するように制御し、Ｌレベルの信号に対して発光部２４を消灯するように制御することで、ビーコン信号を送信するように制御する。なお、送信部２３は、発光部２４に供給する電流値または電圧値を制御することで点灯と消灯を制御する。
【００２９】
発光部２４は、例えばＬＥＤ（発光ダイオード）であり、送信部２３の制御に応じて点灯と消灯を行うことで、ビーコン信号を送信する。なお、光源の波長は、例えば赤外線（ＩＲ（Ｉｎｆｒａｒｅｄ  Ｒａｙｓ））である。なお、光源の波長は赤外線に限らない。
【００３０】
受信機３は、受信したビーコン信号から送信情報を抽出する。また、受信機３は、複数の送信機２から受信したビーコン信号に基づいて、自己位置を求める。なお、受信機３は、各送信機２の位置情報を、ビーコン信号から取得してもよく、外部装置（不図示）から取得してもよく、予め地図データ記憶部３２８に記憶させておいてもよい。
【００３１】
撮影部３１は、露光制御部３２１の制御に応じて送信データを１単位のフレームレートで撮影を行い、撮影した画像を処理部３２に出力する。撮影部３１は、慣性センサ（不図示）、距離センサ（不図示）等を備えている。撮影部３１は、センサが検出した検出結果を自己位置演算部３２９に出力する。
処理部３２は、撮影された画像に対して画像処理を行って送信情報を抽出する。
【００３２】
露光制御部３２１は、撮影部３１の露光タイミングを制御する。なお、露光タイミングについては後述する。
【００３３】
画像処理部３２２は、撮影部３１が撮影した画像を取得し、取得した画像を記憶部３２３に記憶させる。画像処理部３２２は、取得した画像に対して画像処理を行う。なお、画像処理については後述する。画像処理部３２２は、画像処理した結果を判定部３２４と方向演算部３２７に出力する。画像処理部３２２が出力する結果には、カメラ座標におけるビーコン信号による輝点の座標（ｕ，ｖ）が含まれている。なお、撮影された画像等については後述する。
【００３４】
記憶部３２３は、撮影された画像を記憶する。記憶部３２３は、撮影された画像に含まれる各信号に対応する画素領域がＨレベルであるかＬレベルであるかを判定するための画像に対する閾値を記憶する。記憶部３２３は、送信情報のビットの判定に用いられる判定基準を記憶する。なお、判定基準については後述する。記憶部３２３は、画像処理に必要な情報を記憶する。記憶部３２３は、デコードに必要な情報を記憶する。
【００３５】
判定部３２４は、画像処理部３２２が出力する画像処理された画像に対して、記憶部３２３が記憶する閾値に基づいて、撮影された画像に含まれる各信号に対応する画素領域がＨレベルであるのかＬレベルであるのか判定する。判定部３２４は、判定した判定結果をデコーダ３２５に出力する。
【００３６】
デコーダ３２５は、記憶部３２３が記憶する判定基準に基づいて、ビットが“０”の発光パターンであるのか、“１”の発光パターンであるのか判定する。なお、“０”の発光パターンと“１”の発光パターンについては後述する。デコーダ３２５は、判定した結果に基づいて、ビーコン信号から情報を抽出する（デコードする）。デコーダ３２５は、抽出した情報を自己位置演算部３２９と出力部３３０に出力する。
【００３７】
ＣＡＬデータ記憶部３２６は、撮影部３１が有するレンズや撮像素子等の組み合わせに固有のキャリブレーションデータを記憶する。
【００３８】
方向演算部３２７は、ＣＡＬデータ記憶部３２６が記憶するキャリブレーションデータを用いて、画像処理部３２２が出力する画像処理された画像に基づいて、ビーコン信号が送信された方向を演算する。なお、方向の演算方法については後述する。方向演算部３２７は、演算した方向を示す方向情報を自己位置演算部３２９に出力する。なお、方向演算部３２７が出力する方向情報には、撮影部３１に対するビーコン信号の方向（方位角ω、仰角θ）が含まれている。
【００３９】
地図データ記憶部３２８は、例えば位置同定システム１が使用される領域の地図データを記憶する。
【００４０】
自己位置演算部３２９は、撮影部３１が出力する検出結果と、方向演算部３２７が出力する方向情報を取得する。自己位置演算部３２９は、検出結果と、方向情報と、地図データ記憶部３２８が記憶する地図データを用いて、送信機２の自己位置を演算する。自己位置演算部３２９は、演算した位置を示す位置情報を出力部３３０に出力する。自己位置演算部３２９が出力する位置情報には、ワールド座標系における自己位置（ｘ，ｙ，ｚ，θｚ）が含まれている。なお、位置の演算方法については後述する。
【００４１】
出力部３３０は、デコーダ３２５が出力する情報と、自己位置演算部３２９が出力する位置情報とを外部装置（例えば表示装置、信号処理装置等）（不図示）に出力する。
【００４２】
［送信データの構成］
次に、送信データの構成について、図３〜図４を用いて説明する。
まず、送信機２によるビーコン信号の発光パターンを説明する。
図３は、ビーコン信号の“０”と“１”の発光パターンを示す図である。図３において、横軸は経過時間であり、縦軸は信号のレベル（Ｈレベル、Ｌレベル）である。なお、“０”と“１”は、ビーコン信号におけるビットである。位置同定システム１においては、図３に示すようにビットを発光部２４の発光時間の長短（光信号）で表現する。また、以下の説明では、１ビットは６単位の通信時間である。なお、１単位は、所定時間であり、図３においてｔｎ（ｎは１以上の整数）〜ｔｎ＋１の期間である。
【００４３】
時刻ｔ１〜ｔ７の期間の信号が“０”の発光パターンである。“０”の発光パターンは、時刻ｔ１〜ｔ３の期間が点灯（Ｈレベル）であり、時刻ｔ３〜ｔ７の期間が消灯（Ｌレベル）である。すなわち、“０”の発光パターンは、２単位時間が点灯であり、４単位時間が消灯である。
【００４４】
また、時刻ｔ１１〜ｔ１７の期間の信号が“１”の発光パターンである。“１”の発光パターンは、時刻ｔ１１〜ｔ１５の期間が点灯（Ｈレベル）であり、時刻ｔ１５〜ｔ１７の期間が消灯（Ｌレベル）である。すなわち、“１”の発光パターンは、４単位時間が点灯であり、２単位時間が消灯である。
【００４５】
このように、送信機２のエンコーダ２２は、“０”に対して“ＨＨＬＬＬＬ”に変換（エンコード）し、“１”に対して“ＨＨＨＨＬＬ”に変換（エンコード）する。そして、送信機２の送信部２３は、Ｈレベルに対して発光部２４を点灯するように制御し、Ｌレベルに対して発光部２４を消灯するように制御する。
【００４６】
なお、図３に示した例では、“０”と“１”の発光パターンがＨレベルから開始される例を説明したが、これに限らない。例えば、“０”の発光パターンがＬレベルから開始され、４単位の消灯後に２単位の点灯であってもよく、“１”の発光パターンがＬレベルから開始され、２単位の消灯後に４単位の点灯であってもよい。また、Ｈレベルが消灯であり、Ｌレベルが点灯であってもよい。
【００４７】
次に、ビーコン信号の構成例を説明する。
図４は、ビーコン信号の構成例を示す図である。図４において、符号ｇ５が示す図は、ビーコン信号に対する発光部２４への制御電圧の測定値例を示している。また、符号ｇ７が示す図は、符号ｇ５のビーコン信号のうち、メインデータセットを示している。なお、図４において、横軸は経過時間であり、符号ｇ５の縦軸は信号レベル［Ｖ］であり、符号ｇ７の縦軸は信号レベル（ＨレベルとＬレベル）である。
【００４８】
図４に示すように、ビーコン信号のメインデータセットは、スタートビット（Ｓｔａｒｔ，Ｓ）と、データビット（Ｄａｔａ）と、パリティビット（Ｐａｒｉｔｙ，Ｐ）とで構成されている。図３のルールで作成されたデータビットは、“１”、“０”、“１”、“１”、“０”、“０”、“０”、“１”であり、パリティビットが“１”である。
【００４９】
スタートビットは、１ビット（６単位）であり、データビットの前に設けられている。また、スタートビットは、連続した消灯信号であり、図４に示す例では６単位の消灯である。
データビットは、スタートビットの後に連続して設けられ、例えば８ビット以上の情報を有する。なお、データビットには、エラー検出符号や、エラー訂正符号が含まれていてもよい。
パリティビットは、１ビット（６単位）であり、データビットに連続して設けられ、例えば奇数パリティである。パリティビットは、パリティ自身を含め、ビット全体で“１”の個数が奇数となるように設定されている。
なお、図４に示した例では、１ビットが６単位の例を示したが、１ビットは例えば６単位以下であってもよく、６単位以上であってもよい。
【００５０】
［サブデータセット］
次に、サブデータセットの例を説明する。
ビーコン信号は、図４に示したメインデータセットに加え、さらにメインデータセットに重畳されるサブデータセットを有していてもよい。図５は、メインデータセットに重畳されるサブデータセットの例を示す図である。なお、図５に示す例では、メインデータの１ビット（６単位）に対し、サブデータは１ビット（６０単位）とする例である。
【００５１】
図５に示す例では、メインデータセットは、スタートビット（１ビット）、データビット（４８ビット）およびパリティビット（１ビット）の計５０ビットである。そして、データビットとパリティビットにサブデータが重畳されている。符号ｇ１１は、２ビット目のデータビットを拡大して示した図である。また、図５の例は、サブデータセットの重畳に、メインデータセットの正転＝１、反転＝０を用いた場合である。
【００５２】
まず、スタートビットは、１ビット＝サブデータの６０単位が全て点灯状態である。
次に、サブデータビットは、データビットが“１”の発光パターンである符号ｇ１２が正転であり、データビットが“０”の発光パターンである符号ｇ１３が逆転である。
そして、パリティビットは“０”の発光パターンであるので逆転である。
なお、スタートビットの６０単位の間は、メインデータの送信を不可とする。
【００５３】
図５に示したように、メインデータセットの正転と反転を繰り返し送信することで、メインデータにサブデータを重畳して連続送信するこができる。このサブデータセットに、例えば処理頻度の低い情報を割り当てることで、常時処理が必要な情報を、より高速に取得することが可能である。
【００５４】
なお、図５に示したデータビットのビット数や、サブデータの単位数は一例であり、これに限らない。また、サブデータセットの重畳は、メインデータセットの正転＝０、反転＝１であってもよい。また、サブデータの１ビットは、５０単位以下であってもよく、５０単位以上であってもよい。
【００５５】
［送信機の送信処理］
次に、送信機２が行う送信処理手順例を説明する。
図６は、送信機２が行う送信処理手順のフローチャートである。
【００５６】
（ステップＳ１）送信情報生成部２１は、送信情報を生成する。
【００５７】
（ステップＳ２）エンコーダ２２は、送信情報生成部２１が出力する送信情報をエンコード処理して送信データを生成する。なお、エンコーダ２２は、サブデータが含まれている場合、サブデータも含めてエンコード処理を行う。また、上述したように、送信データには、スタートビットとデータビットとパリティビットが含まれる。このため、エンコーダ２２は、エンコード処理の際、スタートビットをデータビットの前に付与し、さらにパリティビットを計算して、計算したパリティビットをデータビットの後に付与する。
【００５８】
（ステップＳ３）送信部２３は、エンコーダ２２が出力する送信データを基づいて、Ｈレベルのデータに対して発光部２４を点灯するように制御し、Ｌレベルのデータに対して発光部２４を消灯するように制御することで、ビーコン信号を送信するように制御する。
【００５９】
［受信機の画像処理］
次に、受信機３が行う画像処理について説明する。
図７は、送信機２からの光を含む画像を撮影部の全感度領域で撮影した画像例を示す図である。図７において、符号ｇ１０１は、ビーコン信号の輝点の画像であり、符号ｇ１０２とｇ１０３はダウンライト照明による光の画像である。このように、受信機３が撮影した画像には、送信機２以外の他の光源による画像が撮影される場合がある。なお、図７では、説明のために白と黒とを反転させている。
【００６０】
図８は、受信機３が光学系にフィルタ処理を行った後撮影した画像例を示す図である。なお、図８に示す例は、図７に示した撮影された画像に対して、ＩＲ帯域を通過させるＢＰＦ（バンドパスフィルタ）を用いた後の画像である。すなわち、撮影部３１が有する撮像素子の前段の光学系でＢＰＦをかけている。この理由は、撮影部３１が白黒の撮影装置の場合は、撮影後に輝度情報となってしまうためである。また、図８では、説明のために白と黒とを反転させている。符号ｇ１２１は、ビーコン信号の輝点の画像であり、符号ｇ１２２とｇ１２３はダウンライト照明による光の画像である。このように、ＢＰＦを用いることで、不要な可視光照明による画像を除去または減衰させることができ検出精度を向上させることができる。なお、処理部３２は、さらに例えばクラスタリング処理等を行って、面積が閾値以上の白領域の画像を抽出することで、符号ｇ１２２やｇ１２３の領域の画像を除去するようにしてもよい。
【００６１】
［受信機側の点灯と消灯の判定］
次に、消灯と点灯の判定例について、図９〜図１１を用いて説明する。
図９は、“０”の発光パターンにおける消灯と点灯の判定例を示す図である。図１０は、“１”の発光パターンにおける消灯と点灯の判定例を示す図である。図１１は、判定基準例を示す図である。図９と図１０において、横軸は経過時間であり、縦軸は信号レベル（ＨレベルとＬレベル）である。
【００６２】
また、図９と図１０において、符号ｇ２０１とｇ２２１は、発光部２４の点灯と消灯を表す。符号ｇ２０２とｇ２２２は、第１ケースにおける撮影装置の露光タイミングである。符号ｇ２０３とｇ２２３は、第２ケースにおける撮影装置の露光タイミングである。符号ｇ２０４とｇ２２４は、第３ケースにおける撮影装置の露光タイミングである。符号ｇ２０９と符号２２９が示す範囲は、ＨレベルとＬレベルの判定結果を示す。
【００６３】
なお、図９と図１０は、露光時間が５／６単位の例である。この露光時間および露光タイミングは、受信機３の露光制御部３２１が制御する。また、発光部２４と撮影部３１のフレームレートの周波数のズレは、撮影部のレートを１００とすると９８．３３〜１０１．６６（±１．６６％）が許容される。ただし、図９と図１０は、発光部２４と撮影部３１のフレームレートの周波数完全一致した場合の図である。
【００６４】
図９と図１０の第１ケース〜第３ケースでは、５／６単位の露光時間のうち、１／６単位以上の入光があったらＨと判定する。
【００６５】
符号ｇ２０２とｇ２２２の第１ケースの場合は、発光部２４の立ち上がりタイミングと、露光時間の立ち上がりタイミングが一致している例である。符号ｇ２０２のように、第１ケースでは、“０”の発光パターンに対して、点灯（Ｈレベル）が２個であり、消灯（Ｌレベル）が４個であると判定される。符号ｇ２２２のように、第１ケースでは、“１”の発光パターンに対して、点灯（Ｈレベル）が４個であり、消灯（Ｌレベル）が２個であると判定される。
【００６６】
符号ｇ２０３とｇ２２３の第２ケースの場合は、発光部２４の立ち上がりタイミングと、露光時間の立ち上がりタイミングが２／６単位（１２０［ｄｅｇ］）進んでいる例である。符号ｇ２０３のように、第２ケースでは、“０”の発光パターンに対して、点灯（Ｈレベル）が３個であり、消灯（Ｌレベル）が３個であると判定される。符号ｇ２２３のように、第２ケースでは、“１”の発光パターンに対して、点灯（Ｈレベル）が５個であり、消灯（Ｌレベル）が１個であると判定される。
【００６７】
符号ｇ２０４とｇ２２４の第３ケースの場合は、発光部２４の立ち上がりタイミングと、露光時間の立ち上がりタイミングが４／６単位（２４０［ｄｅｇ］）進んでいる例である。符号ｇ２０４のように、第３ケースでは、“０”の発光パターンに対して、点灯（Ｈレベル）が３個であり、消灯（Ｌレベル）が３個であると判定される。符号ｇ２２４のように、第３ケースでは、“１”の発光パターンに対して、点灯（Ｈレベル）が５個であり、消灯（Ｌレベル）が１個であると判定される。
【００６８】
次に、記憶部３２３が記憶する判定基準について説明する。
なお、ここでは、説明が煩雑になることを避けるため、上述したサブデータ処理を除外してメインデータのデコード処理について説明する。
図１１に示すようにＨレベルの個数が０個の場合、受信機３のデコーダ３２５は、スタートビット（Ｓｔａｒｔ  ｂｉｔ）と見なす、または光量不足等によりＩＤ（識別情報）読み取りができない（不可）とみなす。Ｈレベルの個数が１個の場合、デコーダ３２５は、光量不足等によりＩＤ（識別情報）読み取りができない（不可）とみなす。また、Ｈレベルの個数が２個以上、３個以下の場合、デコーダ３２５は、“０”とみなす。Ｈレベルの個数が４個以上、５個以下の場合、デコーダ３２５は、“１”とみなす。Ｈレベルの個数が６個の場合、デコーダ３２５は、光量過剰等によりＩＤ（識別情報）読み取りができない（不可）とみなす、または発光部２４以外の光源であるとみなす。これらの判定基準は、受信機３の記憶部３２３が記憶している。なお、図１１に示した判定基準は、１ビットが６単位の場合である。このため、判定基準は、１ビットが６単位以外の場合、１ビットの単位数に合わせて設定される。
【００６９】
このように、第１ケース〜第３ケースの“０”の発光パターンと“１”の発光パターンは、図１１に示した判定基準に基づいて、“０”または“１”が適切に判定される。
【００７０】
次に、受信機３が撮影した画像に対して行う処理例を説明する。
図１２は、撮影された画像に対して受信機３が行う処理を説明するための図である。なお、図１２に示す例では、データビットが８ビットの例である。受信機３の撮影部３１は、発光パターンを、１ビットあたり６枚、１０（＝１＋８＋１）ビットに対して計６０枚撮影する。なお、図１２は白と黒とを反転してある。
また、符号ｇ３０１が示す領域の画像（０１〜０６）は、スタートビットの発光パターンを撮影した画像である。符号ｇ３０２〜ｇ３０９が示す領域の画像（０７〜１２、１３〜１８、１９〜２４、２５〜３０、３１〜３６、３７〜４２、４３〜４８、４９〜５４、５５〜６０）は、１ビット目〜８ビット目の発光パターンを撮影した画像である。
【００７１】
１単位目（０１）がＬ、２単位目（０２）がＬ、…、６単位目（０６）がＬである。このため、受信機３の判定部３２４は、１〜６単位をスタートビットであると判定する。
【００７２】
続けて、判定部３２４は、データビットの１ビット目の１単位目（０７）〜６単位目（１２）の順に判定する。判定部３２４は、ＨＨＨＨＬＬ、すなわちＨが４個のため“１”と判定する。
続けて、判定部３２４は、データビットの２ビット目の１単位目（０８）〜６単位目（１８）の順に判定する。判定部３２４は、ＨＨＬＬＬＬ、すなわちＨが２個のため“０”と判定する。
【００７３】
以下、判定部３２４は、３ビット目、…、８ビット目を順に判定する。
続けて、判定部３２４は、符号ｇ３１０の１単位目（５５）〜６単位目（６０）の順に判定する。判定部３２４は、ＨＨＨＨＬＬ、すなわちＨが４個のため“１”と判定する。なお、判定部３２４は、符号ｇ３１０に続いて、符号ｇ３０１のＬＬＬＬＬＬの発光パターン、すなわちスタートビットを受信した際、そのスタートビットの前のビットをパリティビットであると判定する。または、データビット長が予め決められている場合、判定部３２４は、所定のデータビットの後に付与されているビットをスタートビットであると判定する。
【００７４】
図１２に示したように、発光パターンが輝点（図１２では黒点）として連続画像に撮影されるため、処理部３２は、これらの画像に対してＨかＬかを判定した後、ビット毎に“０”か“１”を判定する。そして、受信機３の処理部３２は、判定結果を用いて、ビーコン信号に含まれるデータに対してデコードを行うことができる。
【００７５】
なお、上述したように、送信機２は、送信機２のタイミングでビーコン信号を送信する。そして、受信機３は、送信機２からの同期信号を用いずに画像から送信データに対してデコードを行う。このように、受信機３が、送信機２からの同期信号を用いずに画像に対してデコードを行える理由は、上述したようにビーコン信号の信号列（メインデータセット）の構成を、１ビットを複数単位で構成し、ＨレベルとＬレベルの発光の組み合わせ（“０”の発光パターンをＨＨＬＬＬＬ、“１”の発光パターンをＨＨＨＨＬＬ）で定義したためである。また、受信機３が、送信機２からの同期信号を用いずに画像に対してデコードを行える理由は、データｎビットと、スタートビット（１ビット）とパリティビット（１ビット）で構成したためである。
なお、位置同定システム１の位置同定精度は、送信機２の設置数と受信機３の撮影部３１の画素数に依存するが、例えば２０ｃｍ以下が可能である。
【００７６】
［画像処理手順］
次に、受信機３の処理部３２が行う画像処理手順例を説明する。
図１３は、受信機３の処理部３２が行う画像処理手順のフローチャートである。
【００７７】
（ステップＳ１０１）撮影部３１は、露光制御部３２１の制御に基づいて撮影する。
【００７８】
（ステップＳ１０２）画像処理部３２２は、撮影された多値（例えばグレースケール、２５６階調）の画像を２値化する。
【００７９】
（ステップＳ１０３）画像処理部３２２は、２値化された画像に対してクラスタリング処理を行う。なお、画像処理部３２２は、クラスタリング処理を行うクラスタごとに画素数、縦横比および充填率等の属性を付加する。なお、画像処理部３２２は、例えば記憶部３２３が記憶する閾値以上の画素に対してクラスタリング処理を行う。
【００８０】
（ステップＳ１０４）画像処理部３２２は、クラスタリング処理を行った結果に基づいて、光源候補の領域の画像を抽出する。なお、画像処理部３２２は、ステップＳ１０３で付加した属性に基づいて光源候補を抽出する。
【００８１】
（ステップＳ１０５）画像処理部３２２は、系列で光源候補が蓄積されたら光源候補を追跡する。なお、画像処理部３２２は、追跡に必要なデータを記憶部３２３に記憶させる。例えば、画像処理部３２２は、例えば６フレーム後を探して近傍（例えば５画素×５画素）に類似の光源があれば同一の光源と仮定してその間の信号強度を抽出する。画像処理部３２２は、ＨレベルとＬレベルに不適切な強度であれば信号候補から外す。画像処理部３２２は、現時刻から後の時刻に見つかった光源を基準にしてその後の光源を探すことを光源が見つからなくなるまで繰り返す。
【００８２】
以下、判定部３２４は、画像処理された結果に基づいてＨレベルとＬレベルを判定する。そして、判定部３２４は、１ビットにおけるＨレベルの個数に基づいて“０”の発光パターンであるか“１”の発光パターンであるか判定する。続けて、デコーダ３２５は、画像処理部３２２が追跡した信号列について信号列の長さを検証し、必要に応じてエラー訂正もしくはエラー検出信号を利用して信号を補正して、送信情報を得る。
【００８３】
なお、上述した画像処理手順は一例であり、これに限らない。画像処理部３２２は、画像処理において、例えばエッジ検出、特徴量検出等の処理を行ってもよい。
【００８４】
［方向の演算方法］
次に、受信機３が行うビーコン信号の方向の演算方法について、図１４と図１５を用いて説明する。
図１４は、受信機３により撮影された画像における座標を示す図である。図１４において、水平方向をＵ軸方向、垂直方向をＶ軸方向とする。符号ｇ４０１は、撮影された画像内のビーコン信号の輝点を表す。ビーコン信号の輝点の座標（ｕ，ｖ）を、以下、輝点座標という。
【００８５】
受信機３の処理部３２は、輝点座標（ｕ，ｖ）からビーコン信号が送信された方向（方位角ω，仰角θ）を演算する。なお、方向演算部３２７は、ビーコン信号の方向を計算する際に、ＣＡＬデータ記憶部３２６が記憶するキャリブレーションデータを使用する。
【００８６】
図１５は、カメラ座標系を示す図である。
図１５に示すように、カメラ座標系の原点をカメラ光学中心とする。例として，複数のレンズからなる光学系においては物側主点とする。さらに、カメラ座標軸をＸｃ，Ｙｃ，Ｚｃとする。また、カメラ座標系は、−Ｙｃ方向を撮影部３１前方とし且つ移動体前方とし、＋Ｚｃ方向を天井方向とする左手系とする。
【００８７】
輝点座標（ｕ，ｖ）（図１４）に対し、内部パラメータならびにレンズ歪みの補正データを使用することで，カメラ座標系の点に変換する。
ビーコン信号の輝点座標（ｕ，ｖ）と、ビーコン信号のカメラ座標系での座標（Ｘｃ，Ｙｃ，Ｚｃ）（以下、ビーコン座標ともいう）との関係は次式（１）で表される。
【００８８】
【数１】
2020166630.tif 000003
【００８９】
ただし、式（１）において、（ｆｘ，ｆｙ）はピクセル単位の焦点距離であり、（Ｃｘ，Ｃｙ）はピクセル単位の光学的中心（主点）であり、Ｓはスケールファクタである。カメラレンズの半径方向と円周方向の歪みが、このＸｃ，Ｙｃ，Ｚｃに反映されている。
半径方向の歪み係数ｋと円周方向の歪み係数ｐを用いて、カメラ座標系における拡張表記すると次式（２）のように表すことができる。
【００９０】
【数２】
2020166630.tif 000004
【００９１】
式（２）において、Ｘｃにおけるｘ’（１＋ｋ１ｒ２＋ｋ２ｒ４＋ｋ３ｒ６）の項と、Ｙｃにおけるｙ’（１＋ｋ１ｒ２＋ｋ２ｒ４＋ｋ３ｒ６）の項は、撮影部３１が有するレンズによる歪み成分の内、半径方向の歪みを表している。また、Ｘｃにおける｛２ｐ１ｘ’ｙ’＋ｐ２（ｒ２＋２ｘ’２）｝の項と、Ｙｃにおける｛ｐ１（ｒ２＋２ｙ’２）＋２ｐ２ｘ’ｙ’｝の項は、撮影部３１が有するレンズによる歪み成分の内、円周方向の歪みを表している。
【００９２】
方向演算部３２７は、例えば規定画像や送信機２の配置パターンを用いたキャリブレーションターゲットによるカメラキャリブレーションを行う。そして、方向演算部３２７は、既知の座標に対応する理論上の撮像内座標と実際に撮影された座標とを比較してｋ値とｐ値を決定する。これにより、受信機３は、レンズの歪みが算出されるカメラ座標系に与える影響を除去することができるので、以降の自己位置算出を精度良く行うことができる。
【００９３】
カメラ座標系におけるビーコン信号の方向（方位角ω，仰角θ）は、次式（３）のように表すことができる。
【００９４】
【数３】
2020166630.tif 000005
【００９５】
［自己位置の演算方法］
次に、受信機３が行う自己位置の演算方法について、図１６〜図１８を用いて説明する。
図１６は、カメラ座標系とワールド座標系におけるビーコン座標を示す図である。図１６では、２つの送信機２ａ，２ｂを用いて説明する。（Ｘｗ，Ｙｗ，Ｚｗ）がワールド座標系であり、（Ｘｃ，Ｙｃ，Ｚｃ）がカメラ座標系である。符号ｇ４２１は、カメラ座標系における送信機２ａの座標（Ｘ１ｃ，Ｙ１ｃ，Ｚ１ｃ）、ワールド座標系における送信機２ａの座標（Ｘ１ｗ，Ｙ１ｗ，Ｚ１ｗ）を表している。符号ｇ４２２は、カメラ座標系における送信機２ｂの座標（Ｘ２ｃ，Ｙ２ｃ，Ｚ２ｃ）、ワールド座標系における送信機２ｂの座標（Ｘ２ｗ，Ｙ２ｗ，Ｚ２ｗ）を表している。また、ワールド座標系におけるカメラ座標系の原点Ｏｃの座標を（ｔ１，ｔ２，ｔ３）とする。
【００９６】
式（１）で演算したカメラ座標系におけるビーコン座標と、既知のワールド座標系におけるビーコン座標を複数使用すると、回転行列と併進行列を求められる。従って、ワールド座標系を使用した既知の地図上での自己位置を算出することができる。
【００９７】
ここで、カメラ座標系からワールド座標系への変換は、３次元アフィン変換により行う。この変換に使用される変換行列の各値は、参照するビーコン信号を必要数確保すれば算出可能である。しかしながら、ここでは位置同定に必要な，Ｘ，Ｙ，θｚのみに限定し、他のパラメータはセンサからの入手や固定値とした。
ワールド座標とカメラ座標との関係は、要素ｒｎｍからなる回転行列と、要素ｔｎからなる併進行列を用いて、次式（４）のように表すことができる。
【００９８】
【数４】
2020166630.tif 000006
【００９９】
回転行列要素であるｒ１１〜ｒ３３は、カメラ座標系がワールド座標系に対して，Ｘｗ軸周りにα、Ｙｗ軸周りにβ、Ｚｗ軸周りにγ回転しているとした場合の変数であるとする。ここでαとβは、例えば移動体や撮影部３１に内蔵された慣性センサの、重力に対する値を用いて取得することができる。また、ｔ３も、床面との距離センサより取得可能である。この結果、位置同定のために求めなければならない変数は、ｔ１（Ｘ），ｔ２（Ｙ）と、Ｚｗ軸周りの回転角度γ（θＺ）となる。
ここで、ワールド座標系におけるビーコン座標は既知であるため、複数の送信機２を用いて連立方程式を解き，撮影部３１の撮影位置と方向を得ることができる（自己位置と方向の同定）。
【０１００】
図１７は、天井に取り付けられている複数の送信機２からの光を撮影した際の画像のイメージ図である。符号ｇ４３１が示す領域は、撮影部３１によって撮影された画像である。符号ｇ４３３が示す領域は、送信機２が天井に取り付けられている部屋の外形を示している。また、符号ｇ４４１〜ｇ４４５は、各送信機２が送信したビーコン信号を示している。また、受信機３は、受信した送信データに対してデコードを行い、符号ｇ４４１の送信機２のＩＤ（識別情報）がＩＤ１、符号ｇ４４２の送信機２のＩＤがＩＤ２、符号ｇ４４３の送信機２のＩＤがＩＤ３、符号ｇ４４４の送信機２のＩＤがＩＤ４を得る。図１７の例では、撮影範囲以外であったため、受信機３は、符号ｇ４４５のＩＤを取得できていない。
【０１０１】
上述したように、各送信機２のワールド座標系における位置は既知である。そして、受信機３は、ビーコン信号を受信できた送信機２のＩＤを送信データから取得し、かつ方向を演算して求める。さらに、複数の送信機２の位置から、自己位置を同定する。この結果、図１７に示すように、ワールド座標系における受信機３の位置が同定される。なお、図１７において、紙面の上側を受信機３の後方（ＲＥＡＲ）とし、紙面の下側を受信機３の前方（ＦＲＯＮＴ）とする。
【０１０２】
受信機３は、図１８に示すように、同定した自己位置を地図上の座標に変換する。図１８は、地図上の自己位置を示す図である。図１８において、横軸はＸ軸であり、縦軸はＹ軸である。また、図１８に示す例は、４つの送信機２を撮影して、ＩＤを取得できた場合の例である。なお、ＩＤが５の送信機２（図１７の符号ｇ４４５）は、撮影範囲外であったため撮影できていない。図１８に示す例の自己位置は、例えばＸｗ＝２８５５、Ｙｗ＝３１４０、θｚ＝３０３度である。
【０１０３】
このように、位置同定システム１によれば、受信機３を起動して画像を撮影すれば即時に自己位置の座標と向きが得られる。また、位置同定システム１によれば、図１８に示すように送信機２のＩＤに紐付けた地図を得ることができる。
【０１０４】
［位置同定の処理手順］
次に、受信機３が行う位置同定の処理手順例を説明する。
図１９は、受信機３が行う位置同定の処理手順のフローチャートである。
【０１０５】
（ステップＳ２０１）撮影部３１は、露光制御部３２１の制御に応じて撮影する。
（ステップＳ２０２）画像処理部３２２は、撮影された画像に対して画像処理（図１３のステップＳ１０２〜Ｓ１０５）の処理を行う。
【０１０６】
（ステップＳ２０３）判定部３２４は、画像処理部が出力する情報に基づいて、判定処理を行って、ビーコン信号による画像を確定する。続けて、デコーダ３２５は、ビーコン信号からＩＤを含む送信データを抽出する。これにより、デコーダ３２５は、ビーコン信号のＩＤを確定する。
【０１０７】
（ステップＳ２０４）方向演算部３２７は、画像処理部が出力する情報と、ＣＡＬデータ記憶部３２６が記憶するキャリブレーション情報と、上述した式（１）、式（２）を用いて、カメラ座標系におけるビーコン信号の位置（ビーコン座標）を確定する。続けて、方向演算部３２７は、画像処理部が出力する情報を用いて、上述した式（３）によってビーコン信号の方向（撮影部３１から見た送信機２の方向）を演算する。
【０１０８】
（ステップＳ２０５）自己位置演算部３２９は、デコーダ３２５が出力する送信データを取得する。続けて、自己位置演算部３２９は、ＩＤを２つ以上検出できたか否かを判別する。自己位置演算部３２９は、ＩＤを２つ以上検出できたと判別した場合（ステップＳ２０５；ＹＥＳ）、ステップＳ２０６の処理に進める。自己位置演算部３２９は、ＩＤを２つ以上検出できていないと判別した場合（ステップＳ２０５；ＮＯ）、ステップＳ２０１の処理に戻る。
【０１０９】
（ステップＳ２０６）自己位置演算部３２９は、撮影部３１が出力する検出結果と、方向演算部３２７が出力する方向情報を取得する。続けて、自己位置演算部３２９は、検出結果と、方向情報と、地図データ記憶部３２８が記憶する地図データを用いて、上述した式（４）によって送信機２の自己位置を演算して同定する。
【０１１０】
なお、上述した例において、撮影部３１は、広角または魚眼レンズを有していてもよい。これにより、位置同定システム１によれば、より広範囲に設置されたビーコン情報が取得できることにより、送信機２の設置数の削減による設置コストの低減ができる。
また、角または魚眼レンズを用いた場合は、より多方位のビーコンを捉えることが出来るため、遮蔽物が存在した場合のロバスト性が向上する。
【０１１１】
また、上述した例において、撮影部３１の代わりに直線上、または平面上に複数並べた受光素子（フォトトランジスタ等）アレイを使用してもよい。撮影部３１のカメラの代わりに受光素子を用いることで、受信機３を小型化でき、さらに受信機のコストを下げることができる。
【０１１２】
また、位置同定システム１によれば、ビーコンに光を使用することにより、鏡面以外では電波のようなマルチパスの影響がないため、設置後の設置環境個別のキャリブレーションが不要である。また、位置同定システム１によれば、電波の様に他の機器との干渉やノイズの影響を受けにくい。
【０１１３】
［本発明の実施形態による地図提供システムの説明］
次に、本発明の実施形態による地図提供システムについて説明する。本実施形態による地図提供システムは、ロボットと、ロボットを使用する建物とに、屋内自己位置認識システムを搭載する。屋内自己位置認識システムとして、上述した位置同定システム１を用いる。すなわち、建物の天井や壁などに位置同定システム１の送信機２を設け、ロボットに位置同定システム１の受信機３を設ける。
【０１１４】
実施形態の地図提供システムは、統一規格の地図データと、その地図データを利用する上で用いる屋内自己位置認識システムの利用権を、その空間で運行するロボットそれぞれに提供する。地図データは、データベース上で一元管理される。例えば、地図提供システムは、自己位置認識システムの送信機８００のビーコンＩＤと地図データとがリンクされたデータベースを有する。ロボットは、運行する空間において取得したビーコンＩＤを用いてデータベースを照会することにより、容易に、地図データとその中での自己位置を得ることができる。なお、ビーコンＩＤは、送信機８００を一意に識別する送信機識別情報であり、上述の送信機２が送信するビーコン信号に含まれるＩＤに相当する。ビーコンＩＤは、全世界においてユニークな識別情報とすることが望ましい。
【０１１５】
本実施形態では、ロボットが自動的に、運行する空間の地図データと、その地図データが示す地図上の自己位置の情報を取得する。これにより、事前の地図作成や、初期位置情報の入力等を必要とせずに、ロボットは、起動した時点から、空間内の自在な自律移動が可能となる。
【０１１６】
図２０は、本実施形態の地図提供システム５００の構成例を示す図である。地図提供システム５００は、ロボット６００と、地図管理装置７００と、送信機８００と、無線装置９００とを有する。図２０では、Ｍ台（Ｍは１以上の整数）のロボット６００のうちｍ台目（ｍは１以上Ｍ以下の整数）のロボット６００を、ロボット６００−ｍと記載している。ロボット６００は、任意の形状とすることができるが、自律的に目的地までの移動を行うものとする。ロボット６００は、位置同定システム１の受信機３に相当する機能部を有している。送信機８００は、位置同定システム１の送信機２に相当する。送信機８００は、ロボット６００が使用される屋内の空間Ａ１〜Ａｎ（ｎは１以上の整数）に設置される。例えば、送信機８００は、空間Ａ１〜Ａｎそれぞれの入口、天井、壁などに設置される。空間Ａ１〜Ａｎのいずれの場所においても、ロボット６００から異なる位置に設置された送信機８００が複数見通せるように、送信機８００を設置することが望ましい。
【０１１７】
ロボット６００は、各空間Ａ１〜Ａｎに設置されている無線装置９００と、無線通信する。各無線装置９００は、地図管理装置７００とインターネットなどのネットワークにより接続される。ロボット６００と地図管理装置７００とは、無線装置９００を介して通信を行う。地図管理装置７００には、施工時などに予め各空間Ａ１〜Ａｎにおいて各ロボット６００が移動可能な範囲の地図を示す地図データが登録される。各地図データには、その地図データが示す移動可能範囲に設置されている各送信機８００のビーコンＩＤと位置の情報（ＩＤ，Ｘ，Ｙ，Ｚ）が付加されている。このように、送信機８００の位置は、三次元座標系における座標（Ｘ，Ｙ，Ｚ）で表される。三次元座標系は、例えば、ワールド座標系である。
【０１１８】
ロボット６００は、起動後に、いずれかの送信機８００から送信されるビーコン信号によりビーコンＩＤを検出し、ビーコンＩＤとロボットＩＤを地図管理装置７００に送信する。地図管理装置７００は、ロボットＩＤにより特定されるロボット６００にシステムの利用を許可する場合、パスキーを割り当てる。地図管理装置７００は、受信したビーコンＩＤにより特定される地図データのうち、ロボットＩＤにより特定されるロボット６００が移動可能な範囲の地図データを選択し、パスキーと選択した地図データをロボット６００に返送する。これにより、各ロボット６００の移動範囲を制限することができる。
【０１１９】
ロボット６００は、受信した地図データと、自分がいる空間Ａｉ（ｉは１以上ｎ以下の整数）を撮影した画像を用いて、地図上の自己位置を特定する。ロボット６００は、これらの情報を用いて、目的地までの移動経路を計算することができる。一方で、各ロボット６００は、実装しているセンサ等により移動経路において障害物や混雑などのために通行が困難であることを検出した場合、障害物があることや混雑が発生していることを示す経路障害発生情報を地図管理装置７００に送信する。ロボット６００は、経路障害発生情報に、検出時の自己位置に基づく経路障害発生位置を設定する。地図管理装置７００は、各ロボット６００から受信した経路障害発生情報を蓄積する。地図管理装置７００は、ロボット６００に地図データを配信する際には、その地図データに含まれるエリアの経路障害発生情報を付加する。地図データ自体では通行が可能である場所であっても、障害物があったり、混雑が発生したりしている場所は通行ができない。各ロボット６００は、実際にセンサで検出する前に、このような個所を避けるように移動経路を計算して行動計画を生成し、自律行動を行うことができる。
【０１２０】
図２１は、ロボット６００の構成を示すブロック図である。ロボット６００は、位置同定部６１０、無線通信部６２０、処理部６３０、記憶部６４０、センサ６５０−１〜６５０−Ｋ（Ｋは１以上の整数）、および駆動部６６０を備える。
【０１２１】
位置同定部６１０は、位置同定システム１の受信機３に相当する。位置同定部６１０は、送信機８００から送信されるビーコン信号のビーコンＩＤを検出し、自己位置を算出する。ビーコンＩＤは、送信機８００を一意に識別する送信機識別情報であり、上述の送信機２が送信するビーコン信号に含まれるＩＤに相当する。位置同定部６１０は、撮影部６１１、および演算部６１２を有する。撮影部６１１は受信機３の撮影部３１に、演算部６１２は受信機３の処理部３２に相当する。撮影部６１１は、ロボット６００が稼働する屋内の空間に設置された送信機８００を撮影する。演算部６１２は、撮影部６１１により撮影された画像に基づいて検出されたビーコンＩＤと、撮影された画像における送信機８００の位置と、検出されたビーコンＩＤにより特定される送信機８００の三次元座標系における位置の情報とを用いて、三次元座標系における座標および向きを表す自己位置を同定する。三次元座標系は、例えば、ワールド座標系である。無線通信部６２０は、無線通信を行う。
【０１２２】
処理部６３０は、通信制御部６３１、送信機情報送信部６３２、地図受信部６３３、位置通知部６３４、移動経路計算部６３５、自律行動計画生成部６３６、駆動制御部６３７、検出部６３８、および電源制御部６３９を有する。通信制御部６３１は、無線通信部６２０を制御する。送信機情報送信部６３２は、位置同定部６１０が検出したビーコンＩＤを地図管理装置７００に通知する。地図受信部６３３は、地図管理装置７００から地図データや経路障害発生情報などの情報を受信する。位置通知部６３４は、位置同定部６１０が同定した自己位置を地図管理装置７００に通知する。移動経路計算部６３５は、大局移動経路計算部６３５１および局所移動経路計算部６３５２を有する。大局移動経路計算部６３５１は、地図データおよび移動目標の位置と、位置同定部６１０が同定した現在の自己位置である現在地とを用いて、現在地から目標位置に至る地図上の大局移動経路を計算する。局所移動経路計算部６３５２は、大局移動経路における局所移動経路を算出する。自律行動計画生成部６３６は、局所移動経路に基づいて自律行動の計画を生成する。駆動制御部６３７は、自律行動計画に従って駆動部６６０を制御する。検出部６３８は、センサ６５０−１〜６５０−Ｋの少なくとも一部が検出した状態により障害物や混雑を検出する。電源制御部６３９は、ロボット６００の電源を制御する。
【０１２３】
記憶部６４０は、各部の処理に必要な各種情報を記憶する。記憶部６４０が、受信機３の地図データ記憶部３２８として用いられてもよい。センサ６５０−１〜６５０−Ｋは、各種センサである。各種センサには、ロボット６００の内部状態に関するセンサ、ロボット６００の外部状態に関するセンサがある。検出対象の内部状態は、例えば、ロボット６００の姿勢、傾斜、移動速度、撮影部６１１（カメラ）の高さ、バッテリー（図示せず）の残量などである。また、検出対象の外部状態は、例えば、ロボット６００の周囲の障害物、人、他のロボット６００の稼働状態などである。なお、撮影した画像によりこれらの内部状態や外部状態の一部を検出する場合、位置同定に用いる撮影部６１１とは別にカメラをロボット６００に設けてもよい。センサ６５０−１〜６５０−Ｋを総称してセンサ６５０と記載する。駆動部６６０は、ロボット６００の移動を含む各種動作を行う。駆動部６６０は、ロボット６００が床面や地面を移動するための脚部、タイヤ、ローラなどを含む。駆動部６６０はさらに、ロボットアームなどを含んでもよい。
【０１２４】
図２２は、地図管理装置７００の構成を示すブロック図である。地図管理装置７００は、記憶部７１０、通信部７２０、および処理部７３０を備える。記憶部７１０は、各種情報を記憶する。記憶部７１０は、許可情報記憶部７１１、地図データ記憶部７１２、および経路障害発生情報記憶部７１３を備える。
【０１２５】
許可情報記憶部７１１は、許可ＤＢ（データベース）を記憶する。許可ＤＢは、各ロボット６００の許可種別およびパスキーを示す。地図データ記憶部７１２は、地図ＤＢを記憶する。許可種別は、ロボット６００に移動を許可する範囲の種別である。地図ＤＢは、ビーコンＩＤと、許可種別ごとの地図データとを対応付けた情報である。地図データには、送信機位置情報が含まれるか、付加される。送信機位置情報は、地図データが示すエリア内の送信機８００のビーコンＩＤおよび位置を示す。経路障害発生情報記憶部７１３は、経路障害ＤＢを記憶する。経路障害ＤＢは、各ロボット６００から通知された経路障害発生情報を含む。
【０１２６】
通信部７２０は、無線装置９００を介してロボット６００と通信する。処理部７３０は、照合部７３１、検索部７３２、送信部７３３、および情報更新部７３４を備える。照合部７３１は、ロボット６００から受信したロボットＩＤと許可ＤＢとを照合して、ロボット６００にシステムの利用を許可するか判断する。照合部７３１は、許可する場合には、許可ＤＢから許可種別を得る。検索部７３２は、ロボット６００から受信したビーコンＩＤと、そのロボット６００の許可種別とを用いて地図ＤＢを検索し、ロボット６００に配信する地図データを読み出す。また、検索部７３２は、経路障害ＤＢからロボット６００に配信する経路障害発生情報を読み出す。送信部７３３は、ロボット６００にパスキー、地図データ、経路障害発生情報などを送信する。情報更新部７３４は、ロボット６００から受信した自己位置と、その自己位置の受信時刻とを記憶部７１０に書き込む。
【０１２７】
なお、地図管理装置７００は、１台以上のコンピュータ装置で実現することができる。地図管理装置７００をネットワークに接続された複数台のコンピュータ装置により実現する場合、いずれのコンピュータ装置によりいずれの機能部を実現するかは任意とすることができる。また、一つの機能部を複数台のコンピュータ装置により実現してもよい。
【０１２８】
続いて地図管理装置７００の記憶部７１０に記憶される各種データを説明する。
図２３は、許可ＤＢの例を示す図である。許可ＤＢは、許可種別と、ロボットＩＤと、パスキーとを対応付けた情報である。ロボット６００にパスキーが割り当てられたとき、そのロボット６００のロボットＩＤに対応付けて、割り当てられたパスキーが許可ＤＢに設定される。また、割り当てが解除されたパスキーは、許可ＤＢから削除される。
【０１２９】
図２４は、地図ＤＢの例を示す図である。地図ＤＢは、検出ビーコンＩＤと、許可種別と、地図データと、送信機位置情報とを対応付けた情報である。検出ビーコンＩＤは、ロボット６００により検出されたビーコンＩＤである。許可種別は、ロボット６００に移動を許可する範囲の種別である。地図データは、検出ビーコンＩＤの送信機８００が設置されている空間内において、対応する許可種別のロボット６００へ移動を許可する範囲の地図を示す。送信機位置情報は、対応する地図データが示すエリア内又はそのエリア内から見通せる位置に設置されている各送信機８００のビーコンＩＤと、それら送信機８００のワールド座標系におけるビーコン位置（座標）を示す設置位置情報とを対応付けた情報である。
【０１３０】
続いて、地図提供システム５００の動作を説明する。
図２５〜図２７は、地図提供システム５００の処理を示すフロー図である。一台のロボット６００ごとに、図２５〜図２７の処理が行われる。
【０１３１】
図２５および図２６のフロー図は、ロボット６００が地図管理装置７００から供給される地図データを用いて自律行動するときの地図提供システム５００の処理を示す。まず、図２５に示すロボット６００の処理を説明する。
【０１３２】
（ステップＳ１０１０）ロボット６００の電源が起動されると、電源制御部６３９は、ロボット６００内の各部への電源供給を開始する。位置同定部６１０は、ロボット６００周囲のいずれかの送信機８００から送信されるビーコンＩＤを検出する。この検出は、図１９に示す送信機２のステップＳ２０１〜ステップＳ２０３の処理により行われる。位置同定部６１０の演算部６１２は、検出したビーコンＩＤを処理部６３０に出力する。
【０１３３】
（ステップＳ１０１５）通信制御部６３１は、無線装置９００を介した地図管理装置７００との通信を確立するよう無線通信部６２０を制御する。
【０１３４】
（ステップＳ１０２０）通信制御部６３１は、無線通信部６２０が無線装置９００を介して地図管理装置７００と通信を確立できたか否かを判別する。通信制御部６３１が、通信を確立できたと判別した場合（ステップＳ１０２０；ＹＥＳ）、ロボット６００は後述する図２６に示す処理に進む。通信の確立後、ロボット６００と地図管理装置７００との間の情報の送受信は、ロボット６００の無線通信部６２０と、無線装置９００と、地図管理装置７００の通信部７２０とを介した通信により行われるが、その通信の処理については記載を省略する。一方、通信制御部６３１は、通信を確立できなかったと判別した場合（ステップＳ１０２０；ＮＯ）、ステップＳ１０２５の処理に進める。
【０１３５】
（ステップＳ１０２５）通信制御部６３１は、接続リトライ回数が閾値Ｎ未満であるか否かを判別する。通信制御部６３１は、接続リトライ回数が閾値Ｎ未満であると判別した場合（ステップＳ１０２５；ＹＥＳ）、ステップＳ１０３０の処理に進める。一方、通信制御部６３１は、接続リトライ回数が閾値Ｎに達したと判別した場合（ステップＳ１０２５；ＮＯ）、ステップＳ１０３５の処理に進める。
【０１３６】
（ステップＳ１０３０）通信制御部６３１は、接続リトライを行い、地図管理装置７００との通信を確立するよう無線通信部６２０を制御する。接続リトライ後、通信制御部６３１は、ステップＳ１０２０の処理に戻る。
【０１３７】
（ステップＳ１０３５）通信制御部６３１は、任意のエラー処理を行う。例えば、ロボット６００のディスプレイ（図示せず）に接続不可を表示したり、ロボット６００のエラー発生を表すランプ（図示せず）を点灯したりする。
【０１３８】
続いて、図２６に示す処理を説明する。まず、ロボット６００の処理を説明する。
（ステップＳ１１１０）無線通信部６２０が地図管理装置７００との無線通信を確立すると、送信機情報送信部６３２は、図２５のステップＳ１０１０において演算部６１２から出力されたビーコンＩＤと、予め記憶部６４０に記憶されていたロボットＩＤとを地図管理装置７００へ送信する。
【０１３９】
（ステップＳ１１１５）地図受信部６３３は、地図管理装置７００から許可情報および地図データを受信したか否かを判別する。許可情報は、ロボット６００がシステムの利用を許可された場合に割り当てられるパスキーを含む。地図データには、送信機８００の設置位置情報と、地図データが表すエリアにおける経路障害発生情報とが付加されている。なお、地図管理装置７００は、地図データとは異なるタイミングで送信機８００の設置位置情報および経路障害発生情報をロボット６００に送信してもよい。またロボット６００の位置同定部６１０は、送信機８００が送信する情報からその送信機８００の設置位置情報を取得してもよい。
【０１４０】
地図受信部６３３は、許可情報および地図データを受信したと判別した場合（ステップＳ１１１５；ＹＥＳ）、受信したそれらの情報を記憶部６４０に書き込む。さらに、地図受信部６３３は、地図データを位置同定部６１０に出力する。これにより、演算部６１２は、地図管理装置７００から受信した地図データを、上述した位置同定システム１の受信機３が用いる地図データとする。その後、地図受信部６３３は、ステップＳ１１２０の処理に進める。なお、ロボット６００の処理部６３０は、許可情報の受信後、電源断まで、地図管理装置７００に情報を送信するときに、ロボットＩＤと許可情報が示すパスキーとを付加する。一方、地図受信部６３３は、許可情報および地図データを受信していないと判別した場合（ステップＳ１１１５；ＮＯ）、ステップＳ１１６５の処理に進める。
【０１４１】
（ステップＳ１１２０）位置同定部６１０は、例えば周期的に図１９の処理を行うことにより、送信機８００から送信されるビーコンＩＤを用いて、屋内自己位置と、地図データが示す地図上の位置および方向とを同定し、処理部６３０に出力する。屋内自己位置は、屋内におけるロボット６００の現在地を表す座標である。
【０１４２】
（ステップＳ１１２５）位置通知部６３４は、ロボットＩＤ及びパスキーと、ステップＳ１１２５において位置同定部６１０が同定した屋内自己位置を示す情報とを地図管理装置７００に送信する。位置通知部６３４は、位置同定部６１０が検出したビーコンＩＤをさらに地図管理装置７００に送信してもよい。
【０１４３】
（ステップＳ１１３０）地図受信部６３３は、地図管理装置７００から地図データを受信したか否かを判別する。地図受信部６３３は、受信したと判別した場合（ステップＳ１１３０；ＹＥＳ）、受信した地図データを記憶部６４０に書き込み、さらに、位置同定部６１０に出力する。地図受信部６３３は、ステップＳ１１２０の処理に戻る。地図受信部６３３は、受信しないと判別した場合（ステップＳ１１３０；ＮＯ）、ステップＳ１１３５の処理に進む。
【０１４４】
（ステップＳ１１３５）大局移動経路計算部６３５１は、位置同定部６１０が同定した屋内自己位置および方向と、地図データとに基づいて、現在地から目標位置に至る地図上の大局移動経路を計画する。大局移動経路計算部６３５１は、地図データに付加される経路障害発生情報をさらに用いて、障害や混雑をさけながら現在地から目標位置に至る地図上の大局移動経路を計画してもよい。なお、ロボット６００は、目標位置を任意の方法で取得する。また、この大局移動経路の計画に、センサ６５０が検出したロボット６００の内部状態（ロボット６００の姿勢、傾斜、移動速度、カメラの高さ、バッテリーの残量など）および外部状態（ロボット６００の周囲の障害物、人、他のロボット６００の稼働状態など）を表すセンサ情報を用いてもよい。駆動制御部６３７は、この大局移動経路に従って移動するように、駆動部６６０を駆動する。
【０１４５】
（ステップＳ１１４０）局所移動経路算出部６３５２は、地図データと、地図データに付加される経路障害発生情報とを用いて、ステップＳ１１３５において計画された大局移動経路を移動するときに障害や混雑をさけるような中継ポイントを生成し、生成した中継ポイントをつなげて局所移動経路を計画する。この局所移動経路の計画には、センサ６５０が検出したロボット６００の内部状態および外部状態を表すセンサ情報を用いてもよい。
【０１４６】
（ステップＳ１１４５）自律行動計画生成部６３６は、ステップＳ１１４０において計画された局所移動経路と、センサ６５０が検出したロボット６００の内部状態および外部状態とを用いて、ロボット６００の自律行動計画を生成する。
【０１４７】
（ステップＳ１１５０）駆動制御部６３７は、ステップＳ１１４５において作成された自律行動計画に従って駆動部６６０を駆動して、ロボット６００の自律行動を制御する。
【０１４８】
（ステップＳ１１５５）電源制御部６３９は、電源断の要求が入力されたか否かを判別する。電源制御部６３９は、電源断の要求が入力されていないと判別した場合（ステップＳ１１５５；ＮＯ）、ステップＳ１１２０の処理に戻る。電源制御部６３９は、電源断の要求が入力されたと判断した場合（ステップＳ１１５５；ＹＥＳ）、ステップＳ１１６０の処理に進める。
【０１４９】
（ステップＳ１１６０）電源制御部６３９は、ロボット６００の各部への電源供給を停止する。
【０１５０】
（ステップＳ１１６５）地図受信部６３３は、任意のエラー処理を行う。例えば、ロボット６００のディスプレイ（図示せず）やスピーカー（図示せず）により情報受信不可を出力したり、ロボット６００のエラー発生を表すランプ（図示せず）を点灯したりする。
【０１５１】
続いて、地図管理装置７００の処理を説明する。
（ステップＳ２１１０）照合部７３１は、ロボット６００からビーコンＩＤおよびロボットＩＤを受信すると、ロボット６００からの電源投入後の最初の情報の受信であるか否かを判別する。照合部７３１は、受信したロボットＩＤに対応してパスキーが許可ＤＢに設定されていない場合に、電源投入後の最初の情報の受信であると判別し（ステップＳ２１１０；ＹＥＳ）、ステップＳ２１１５の処理に進める。照合部７３１は、電源投入後の最初の情報の受信ではないと判別した場合（ステップＳ２１１０；ＮＯ）、ステップＳ２１３０の処理に進める。
【０１５２】
（ステップＳ２１１５）処理部７３０は、許可ＤＢの照合と、地図ＤＢの検索を行う。具体的には、照合部７３１は、ロボット６００から受信したロボットＩＤが許可ＤＢに登録されていればシステムの利用を許可すると判断し、パスキーを割り当て、ロボットＩＤと対応付けて許可ＤＢに書き込む。検索部７３２は、ロボットＩＤに対応した許可種別を許可ＤＢから読み出す。検索部７３２は、受信したビーコンＩＤを示す検出ビーコンＩＤと読み出した許可種別とに対応付けられた地図データを、地図データ記憶部７１２が記憶する地図ＤＢから読み出す。この地図データは、ロボット６００に対する稼働範囲制限付きの地図データに相当し、経路障害発生情報が付加されている。
【０１５３】
（ステップＳ２１２０）送信部７３３は、ステップＳ２１１５において照合部７３１が割り当てたパスキーを設定した許可情報と、検索部７３２が読み出した地図データとをロボット６００に送信する。
【０１５４】
（ステップＳ２１２５）照合部７３１は、ロボット６００からの情報受信待ちの状態である。地図管理装置７００は、ロボット６００から情報を受信した場合（ステップＳ２１１０：ＮＯ）、ステップＳ２１３０に進む。
【０１５５】
（ステップＳ２１３０）ロボット６００からの２回目以降の情報の受信の場合、検索部７３２は、ロボット６００に新たな地図データの送信が必要か否かを判別する。例えば、屋内自己位置が、ロボット６００に送信済みの地図データが示すエリアの外又はエリアの外周から所定以内の距離である場合に、新たな地図データが必要と判断する。あるいは、検索部７３２は、ロボット６００から屋内自己位置と併せて受信したいずれかのビーコンＩＤが地図ＤＢの検出ビーコンＩＤに含まれる場合に新たな屋内地図データが必要と判断する。検索部７３２は、新たな地図データが必要と判別した場合（ステップＳ２１３０：ＹＥＳ）、ステップＳ２１３５の処理に進める。検索部７３２は、新たな地図データが不要と判別した場合（ステップＳ２１３０：ＮＯ）、ステップＳ２１２５の処理に進める。
【０１５６】
（ステップＳ２１３５）検索部７３２は、受信したパスキーに対応した許可種別を許可ＤＢから読み出す。検索部７３２は、許可種別に対応付けられた地図データのうち、屋内自己位置がエリアに含まれている地図データを地図データ記憶部７１２が記憶する地図ＤＢから読み出す。あるいは、検索部７３２は、ロボット６００から受信したビーコンＩＤが設定された検出ビーコンＩＤと、許可種別とに対応付けられた地図データを地図ＤＢから読み出す。この地図データは、ロボット６００に対する稼働範囲制限付きの地図データに相当し、経路障害発生情報が付加されている。
【０１５７】
（ステップＳ２１４０）送信部７３３は、ステップＳ２１３５において検索部７３２が読み出した地図データをロボット６００に送信し、ステップＳ２１２５の処理に進める。また、情報更新部７３４は、受信したロボットＩＤ、パスキーおよび屋内自己位置と、受信時刻とを対応付けて記憶部７１０に書き込む。
【０１５８】
なお、ロボット６００は、記憶している地図データが示すエリア外に出てしまったなどの理由により、自己位置を算出できない場合、ステップＳ１１２５において屋内自己位置を送信せず、自己位置を算出できなくなってから最初に検出したビーコンＩＤを送信してもよい。この場合、ステップＳ２１３５において、地図管理装置７００の検索部７３２は、受信したビーコンＩＤを示す検出ビーコンＩＤと、許可種別とに対応付けられた地図データを地図ＤＢから読み出す。あるいは、地図管理装置７００は、ステップＳ２１１５の処理に戻ってもよい。
【０１５９】
また、電源断の要求があったときにロボット６００が電源断の通知を地図管理装置７００に送信する場合、地図管理装置７００の情報更新部７３４は、その電源断の通知に設定されているパスキーを許可ＤＢから削除してもよい。また、地図管理装置７００の情報更新部７３４は、一定時間ロボット６００から情報を受信しない場合に、そのロボット６００に割り当てたパスキーを無効とし、許可ＤＢから削除してもよい。
【０１６０】
図２７のフロー図は、ロボット６００が自律制御を行って移動中の経路において障害や混雑を検出したときの地図提供システム５００の処理を示す。図２７に示す処理は、ロボット６００が、図２６のステップＳ１１２０〜ステップＳ１１５５の処理を行っているときに実行される。
【０１６１】
（ステップＳ１２１０）ロボット６００の検出部６３８は、センサ６５０が検出した外部状態に基づいて障害物や混雑の有無を判別する。検出部６３８は、障害物や混雑を検出しなかったと判別した場合（ステップＳ１２１０：ＮＯ）、ステップＳ１２１０の処理に戻る。検出部６３８は、障害物又は混雑を検出したと判別した場合（ステップＳ１２１０：ＹＥＳ）、ステップＳ１２１５の処理に進める。
【０１６２】
（ステップＳ１２１５）位置同定部６１０は、送信機８００から送信されるビーコンＩＤを用いて、屋内自己位置と、地図データが示す地図上の位置および方向とを同定し、処理部６３０に出力する。このステップＳ１２１５の処理は、図２６におけるステップＳ１１２０の処理であってもよい。
【０１６３】
（ステップＳ１２２０）検出部６３８は、経路障害種別及び経路障害発生位置を設定した経路障害発生情報を生成する。経路障害種別は、障害物、混雑発生などである。経路障害発生位置は、障害物や混雑発生場所の位置である。センサ６５０が検出した情報に基づいて、ロボット６００の位置から障害物又は混雑発生場所までの距離及び方向を検出可能な場合、屋内自己位置と検出した距離や方向とに基づいてワールド座標系における障害物又は混雑発生場所の座標を算出し、経路障害発生位置とする。検出部６３８が、ロボット６００の位置から障害物又は混雑発生場所までの距離や方向を検出できない場合、屋内自己位置を経路障害発生位置とする。
【０１６４】
（ステップＳ１２２５）検出部６３８は、ステップＳ１２２０において生成した経路障害発生情報を地図管理装置７００に送信する。
【０１６５】
（ステップＳ１２３０）検出部６３８は、電源断の要求が入力されたか否かを判別する。検出部６３８は、電源断の要求が入力されていないと判別した場合（ステップＳ１２３０；ＮＯ）、ステップＳ１２１０の処理に戻る。検出部６３８は、電源断の要求が入力されたと判断した場合（ステップＳ１２３０；ＹＥＳ）、図２７の処理を終了する。
【０１６６】
（ステップＳ２２１０）地図管理装置７００の情報更新部７３４は、ロボット６００から経路障害発生情報を受信する。情報更新部７３４は、地図ＤＢ内の地図データのうち、経路障害発生情報に設定されている経路障害発生位置が含まれるエリアの地図データに対応付けて、経路障害発生情報を書き込む。
【０１６７】
（ステップＳ２２２０）送信部７３３は、ステップＳ２２１０において経路障害発生情報を対応付ける対象となった地図データを送信済みのロボット６００に、経路障害発生情報を送信する。
【０１６８】
上記では、ロボット６００は、地図管理装置７００からパスキーを受信した後、地図管理装置７００に送信する情報にパスキーを付加しているが、地図管理装置７００と送受信する情報を、パスキーを用いて暗号化および復号化してもよい。また、パスキーが、ロボット６００において図２６のステップＳ１１１５以降の処理を実行可能とさせる情報であってもよい。この場合、ロボット６００はパスキーを地図管理装置７００に送信しなくてもよい。
【０１６９】
上述した実施形態によれば、地図提供システム５００は、各ロボット６００の特性に合った地図データを提供することができる。例えば、ロボット６００別に稼働を許可する範囲の地図データを提供することにより、個別に移動を制限することができる。また、ロボット６００が最大移動速度で移動可能な範囲の地図データを提供することにより、移動速度を制限することもできる。
【０１７０】
また、地図管理装置７００は、同一空間内で稼動する複数のロボット６００が収集した障害物や、混雑の情報を反映した地図データを任意の装置に送信してもよい。
【０１７１】
また、地図管理装置７００は、各ロボット６００から受信した自己位置とその自己位置の受信時刻とを対応付けて記憶部７１０に記憶している。地図管理装置７００は、各ロボットの種類等をさらに記憶しておくことにより、稼働中のロボット６００の種類、台数、各ロボットの移動経路、現在地などの管理し、管理者等に提示してもよい。
【０１７２】
また、地図管理装置７００は、屋外におけるＧＮＳＳと連携してもよい。この場合、ロボット６００にＧＮＳＳの受信装置を実装しておく。また、ビーコンＩＤは、世界でユニークの識別情報とする。ロボット６００は、屋外ではＧＮＳＳにより自己位置を検出し、検出した自己位置に対応した地図データをインターネット網などから取得する。ロボット６００は、屋内に入りＧＮＳＳが使用できない場合は、位置同定部６１０を起動して図２５からの処理を開始する。なお、地図管理装置７００は、建物の出入り口に設置されている送信機８００のビーコンＩＤと対応づけて地図データを記憶しておいてもよい。ロボット６００は、屋内自己位置に加えて、検出したビーコンＩＤを地図管理装置７００に送信する。地図管理装置７００は、ロボット６００から入り口を表すビーコンＩＤを受信した場合、ロボット６００が屋内に入る前に、そのビーコンに対応した地図データを配信する。これにより、地図提供システム５００は、地図データをロボット６００にシームレスに提供することができる。
【０１７３】
ロボットが空間内を、自在に自律的に移動する為には、地図と自己位置情報が必要である。このようなロボット用の地図には、現在統一された規格が無い。よって、種類（メーカー）の異なるロボットを稼動させるに、それぞれ独自の地図を作成する必要がある。さらには、ロボットが自己位置を認識するためのインフラシステムも共通のものは無い。よって、ロボットが搭載しているセンサのみで処理する場合を除いて、独自のインフラシステムをそれぞれ準備している。
【０１７４】
本実施形態の地図提供システムは、統一規格の地図データと、その地図データを利用する上で用いられる屋内用の自己位置認識システムの利用権を、その空間で運行するロボットそれぞれに提供する。地図情報はデータベース上で一元管理されており、例えば自己位置認識システムの送信機のＩＤと屋内地図とがリンクされている。ロボットは、運行している空間において取得した送信機のＩＤを用いて照会を行うことで、容易に、地図データとその中での自己位置を得る事ができる。また、ロボットは、運行する空間の地図情報と、その地図上の自己位置情報を自動的に取得する。これにより、事前の地図作成や、初期位置情報の入力等を必要とせず、ロボットは、起動した時点からその空間内の自在な自律移動が可能となる。
【０１７５】
なお、本発明における送信機２の送信情報生成部２１、エンコーダ２２および送信部２３、ロボット６００の演算部６１２、処理部６３０および記憶部６４０、並びに、地図管理装置７００の記憶部７１０および処理部７３０の機能の全てまたは一部を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより送信機２の送信情報生成部２１、エンコーダ２２および送信部２３、ロボット６００の演算部６１２、処理部６３０および記憶部６４０、並びに、地図管理装置７００の記憶部７１０および処理部７３０が行う処理の全てまたは一部を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境（あるいは表示環境）を備えたＷＷＷシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【０１７６】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【０１７７】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形および置換を加えることができる。
【符号の説明】
【０１７８】
１…位置同定システム、２，２ａ，２ｂ，２ｃ，・・・…送信機、３…受信機、２１，２１ａ，２１ｂ，２１ｃ，・・・…送信情報生成部、２２，２２ａ，２２ｂ，２２ｃ，・・・…エンコーダ、２３，２３ａ，２３ｂ，２３ｃ，・・・…送信部、２４，２４ａ，２４ｂ，２４ｃ，・・・…発光部、３１…撮影部、３２…処理部、３２１…露光制御部、３２２…画像処理部、３２３…記憶部、３２４…判定部、３２５…デコーダ、３２６…、ＣＡＬデータ記憶部、３２７…方向演算部、３２８…地図データ記憶部、３２９…自己位置演算部、３３０…出力部、５００…地図提供システム、６００…ロボット、６１０…位置同定部、６１１…撮影部、６１２…演算部、６２０…無線通信部、６３０…処理部、６３１…通信制御部、６３２…送信機情報送信部、６３３…地図受信部、６３４…位置通知部、６３５…移動経路計算部、６３６…自律行動計画生成部、６３７…駆動制御部、６３８…検出部、６３９…電源制御部、６４０…記憶部、６５０−１〜６５０−Ｋ…センサ、６６０…駆動部、７００…地図管理装置、７１０…記憶部、７１１…許可情報記憶部、７１２…地図データ記憶部、７１３…経路障害発生情報記憶部、７２０…通信部、７３０…処理部、７３１…照合部、７３２…検索部、７３３…送信部、７３４…情報更新部、８００…送信機、９００…無線装置、６３５１…大局移動経路計算部、６３５２…局所移動経路計算部
【図１】
2020166630.tif 000007
【図２】
2020166630.tif 000008
【図３】
2020166630.tif 000009
【図４】
2020166630.tif 000010
【図５】
2020166630.tif 000011
【図６】
2020166630.tif 000012
【図７】
2020166630.tif 000013
【図８】
2020166630.tif 000014
【図９】
2020166630.tif 000015
【図１０】
2020166630.tif 000016
【図１１】
2020166630.tif 000017
【図１２】
2020166630.tif 000018
【図１３】
2020166630.tif 000019
【図１４】
2020166630.tif 000020
【図１５】
2020166630.tif 000021
【図１６】
2020166630.tif 000022
【図１７】
2020166630.tif 000023
【図１８】
2020166630.tif 000024
【図１９】
2020166630.tif 000025
【図２０】
2020166630.tif 000026
【図２１】
2020166630.tif 000027
【図２２】
2020166630.tif 000028
【図２３】
2020166630.tif 000029
【図２４】
2020166630.tif 000030
【図２５】
2020166630.tif 000031
【図２６】
2020166630.tif 000032
【図２７】
2020166630.tif 000033