JP2020166630A - 地図提供システムおよび地図提供方法 - Google Patents
地図提供システムおよび地図提供方法 Download PDFInfo
- Publication number
- JP2020166630A JP2020166630A JP2019067296A JP2019067296A JP2020166630A JP 2020166630 A JP2020166630 A JP 2020166630A JP 2019067296 A JP2019067296 A JP 2019067296A JP 2019067296 A JP2019067296 A JP 2019067296A JP 2020166630 A JP2020166630 A JP 2020166630A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- map
- transmitter
- robot
- information
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 61
- 230000009471 action Effects 0.000 claims abstract description 22
- 230000005540 biological transmission Effects 0.000 claims description 70
- 238000004364 calculation method Methods 0.000 claims description 59
- 238000001514 detection method Methods 0.000 claims description 40
- 230000004044 response Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 description 103
- 238000007726 management method Methods 0.000 description 75
- 238000004891 communication Methods 0.000 description 44
- 230000008569 process Effects 0.000 description 40
- 238000010586 diagram Methods 0.000 description 25
- 238000013500 data storage Methods 0.000 description 18
- 238000009434 installation Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 239000000284 extract Substances 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 6
- 230000000630 rising effect Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 238000012937 correction Methods 0.000 description 3
- 238000005286 illumination Methods 0.000 description 3
- 238000003384 imaging method Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 101100447482 Fusarium sp g431 gene Proteins 0.000 description 1
- 101100447484 Fusarium sp g433 gene Proteins 0.000 description 1
- 108010076504 Protein Sorting Signals Proteins 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Landscapes
- Instructional Devices (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
【課題】衛星からの電波が受信できない場所においてもロボットが自律移動を行うために用いる地図データを提供する。【解決手段】送信機は、自送信機を識別する送信機識別情報を発光部の点灯および消灯を制御することにより送信する。ロボットは、送信機を撮影した画像に基づいて検出された送信機識別情報を地図管理装置に送信し、地図管理装置から送信機識別情報に対応した地図データを受信する。ロボットは、受信した地図データを用いて作成した自律行動計画に基づいて、ロボットの移動させる駆動部の駆動を制御する。地図管理装置は、送信機識別情報と地図データとを対応付けて記憶する記憶部を有しており、ロボットから通知された送信機識別情報に対応した地図データを記憶部から読み出して送信する。【選択図】図20
Description
本発明は、地図提供システムおよび地図提供方法に関する。
ロボットが、空間内を自在に自律的に移動する為には、地図と自己位置の情報が必要である。従来は、ロボットが空間を移動しながら地図を作成している(例えば、特許文献1参照)。
ロボットが処理可能な地図の作成には、ロボットの移動空間を測量する必要があるため、多くの時間を要する。また、ロボットが屋内を移動する場合には、GNSS(Global Navigation Satellite System;全球測位衛星システム)が使用できないため、ロボットが自己位置を検出するためのセンサ等を実装する必要がある。
本発明は、上記の問題点に鑑みてなされたものであって、衛星からの電波が受信できない場所においてもロボットが自律移動を行うために用いる地図データを提供することができる地図提供システムおよび地図提供方法を提供することを目的とする。
(1)上記目的を達成するため、本発明の一態様に係る地図提供システム(500)は、送信機(800)とロボット(600)と地図管理装置(700)とを有する地図提供システムであって、前記送信機は、発光部(24)と、自送信機を識別する送信機識別情報を前記発光部の点灯および消灯を制御することにより送信する送信部(23)とを備え、前記ロボットは、前記ロボットを移動させる駆動部(660)と、前記送信機を撮影した画像に基づいて検出された前記送信機識別情報を前記地図管理装置に送信する送信機情報送信部(632)と、前記送信機情報送信部が送信した前記送信機識別情報に対応して前記地図管理装置から地図データを受信する地図受信部(633)と、前記地図受信部が受信した前記地図データを用いて作成した自律行動計画に基づいて前記駆動部の駆動を制御する駆動制御部(637)とを備え、前記地図管理装置は、前記送信機識別情報と地図データとを対応付けて記憶する記憶部(710)と、前記ロボットから通知された前記送信機識別情報に対応した前記地図データを前記記憶部から読み出して送信する送信部(733)とを備える。
(2)また、本発明の一態様に係る地図提供システムにおいて、前記ロボットは、前記送信機を撮影した画像に基づいて検出された前記送信機識別情報と、前記画像における前記送信機の位置と、検出された前記送信機識別情報により特定される前記送信機の三次元座標系における位置の情報とを用いて、前記三次元座標系における当該ロボットの位置を同定する位置同定部(610)と、前記位置同定部が同定した前記位置を前記地図管理装置に通知する位置通知部(634)とをさらに備え、前記地図管理装置は、前記ロボットから受信した前記位置を前記記憶部に書き込む情報更新部(734)をさらに備える、ようにしてもよい。
(3)また、本発明の一態様に係る地図提供システムにおいて、前記ロボットは、前記自律行動計画に基づく移動中の経路における経路障害を検出する検出部(638)をさらに備え、前記位置通知部は、前記検出部による前記経路障害の検出時に前記位置同定部が同定した前記位置を設定した経路障害発生情報を前記地図管理装置に通知し、前記情報更新部は、前記位置通知部が受信した前記経路障害発生情報を前記記憶部に書き込み、前記送信部は、前記ロボットに、他の前記ロボットから送信された前記経路障害発生情報を送信する、ようにしてもよい。
(4)また、本発明の一態様に係る地図提供システムにおいて、前記ロボットは、前記地図管理装置から受信した地図データを用いて、前記位置同定部が同定した前記位置から目標位置までの移動の経路を計算する移動経路計算部(635)と、前記移動経路計算部が計算した前記経路に従って、前記自律行動計画を生成する自律行動計画生成部(636)とをさらに備える、ようにしてもよい。
(5)また、本発明の一態様に係る地図提供システムにおいて、前記送信部は、前記ロボットから通知された前記位置に対応したエリアの前記地図データを前記記憶部から読み出して送信する、ようにしてもよい。
(6)また、本発明の一態様に係る地図提供システムにおいて、前記記憶部は、前記送信機識別情報と対応付けて、エリアが異なる複数の前記地図データを記憶しており、前記送信部は、前記送信機識別情報に対応した前記地図データのうち、前記送信機識別情報を送信した前記ロボットに許可される前記エリアの前記地図データを送信する、ようにしてもよい。
(7)また、本発明の一態様に係る地図提供方法は、送信機(800)とロボット(600)と地図管理装置(700)とを有する地図提供システムにおける地図提供方法であって、前記送信機が、自送信機を識別する送信機識別情報を発光部の点灯および消灯を制御することにより送信する送信ステップと、前記ロボットが、前記送信機を撮影した画像に基づいて検出された前記送信機識別情報を前記地図管理装置に送信する送信機情報送信ステップと、前記送信機情報送信ステップにおいて送信した前記送信機識別情報に対応して前記地図管理装置から地図データを受信する地図受信ステップと、前記地図受信ステップが受信した前記地図データを用いて作成した自律行動計画に基づいて、前記ロボットを移動させる駆動部の駆動を制御する駆動制御ステップと、前記地図管理装置が、前記ロボットから通知された前記送信機識別情報に対応した地図データを記憶部から読み出して送信する送信ステップと、を有する。
上述した(1)、および(7)によれば、衛星からの電波が受信できない場所においてもロボットが自律移動を行うために用いる地図データを提供することができる。
また、上述した(2)によれば、衛星からの電波が受信できない場所においてもロボットの位置を検出し、検出した位置を記録することができる。よって、稼働しているロボットの台数や、移動の履歴を得ることができる。
また、上述した(3)によれば、複数のロボットが検出した経路障害の情報を集約し、各ロボットに配信する地図データに併せて提供することができる。よって、ロボットは経路障害を避けるように自律制御を行うことができる。
また、上述した(4)によれば、ロボットは、同定した自己位置を用いて目的地に至る経路を計算することができる。
また、上述した(5)によれば、ロボットの位置に応じた地図データを提供することができる。
また、上述した(6)によれば、各ロボットを許可されたエリア内で稼働させることができる。
以下、本発明の実施の形態について図面を参照しながら説明する。なお、以下の説明に用いる図面では、各部材を認識可能な大きさとするため、各部材の縮尺を適宜変更している。
まず、本実施形態に適用される位置同定システムについて説明する。
[位置同定システムの構成]
まず、位置同定システムの構成例を説明する。
図1は、本実施形態に適用される位置同定システム1の構成例を示す図である。図1に示すように、位置同定システム1は、送信機2a,2b,2c,…と受信機3を備える。なお、以下の説明において、送信機2a,2b,2c,…のうちの1つを特定しない場合は送信機2という。送信機2は、固有のビーコン信号(g1a、g1b、g1c、…)を発光と消灯によって送信する。また、受信機3は、撮影部31と処理部32を備える。後述するように、ビーコン信号には、各送信機2を識別するための識別情報(ID)が含まれている。
[位置同定システムの構成]
まず、位置同定システムの構成例を説明する。
図1は、本実施形態に適用される位置同定システム1の構成例を示す図である。図1に示すように、位置同定システム1は、送信機2a,2b,2c,…と受信機3を備える。なお、以下の説明において、送信機2a,2b,2c,…のうちの1つを特定しない場合は送信機2という。送信機2は、固有のビーコン信号(g1a、g1b、g1c、…)を発光と消灯によって送信する。また、受信機3は、撮影部31と処理部32を備える。後述するように、ビーコン信号には、各送信機2を識別するための識別情報(ID)が含まれている。
次に、送信機2と受信機3それぞれの構成例を説明する。なお、以下の説明では、図1に示した送信機2a,2b,2c,…の構成が同じ場合を説明する。なお、送信機2a,2b,2c,…の構成は、異なっていてもよい。
図2は、位置同定システム1の構成例を示すブロック図である。図2に示すように、位置同定システム1は、送信機2と受信機3を備える。
送信機2は、送信情報生成部21、エンコーダ22、送信部23、および発光部24を備える。
受信機3は、撮影部31、および処理部32を備える。処理部32は、露光制御部321、画像処理部322、記憶部323、判定部324、デコーダ325、CALデータ記憶部326、方向演算部327、地図データ記憶部328、自己位置演算部329、および出力部330を備える。
送信機2は、送信情報生成部21、エンコーダ22、送信部23、および発光部24を備える。
受信機3は、撮影部31、および処理部32を備える。処理部32は、露光制御部321、画像処理部322、記憶部323、判定部324、デコーダ325、CALデータ記憶部326、方向演算部327、地図データ記憶部328、自己位置演算部329、および出力部330を備える。
図2に示す位置同定システム1において、送信機2は互いに非同期であり、かつ受信機3とも非同期である。このため、位置同定システム1は、送信機2同士は、互いに同期信号の送受信を行わない。また、位置同定システム1は、送信機2と受信機3も、互いに同期信号の送受信を行わない。
送信機2は、固有のビーコン信号(符号g1)を発光と消灯によって送信する。なお、送信機2は互いに非同期であり、かつ受信機3とも非同期である。このため、送信機2同士は、互いに同期信号の送受信を行わない。また、送信機2と受信機3も、互いに同期信号の送受信を行わない。なお、送信機2が取り付けられているワールド座標系における位置(以下、ビーコン座標ともいう)は既知である。
送信情報生成部21は、送信情報を生成して、生成した送信情報をエンコーダ22に出力する。なお、送信情報には、送信機2を識別するための識別情報(ID)が含まれている。また、送信情報には、ビーコン座標を示す情報が含まれていてもよい。
エンコーダ22は、送信情報生成部21が出力する送信情報を、後述するようにエンコード処理して送信データを生成する。エンコーダ22は、生成した送信データを送信部23に出力する。なお、後述するように、送信データにおける1ビットは、例えば6単位(6つの所定時間)のH(ハイ)レベルとL(ロー)レベルによって構成されている。また、1セットのメインデータには、後述するようにスタートビットと、データビットと、パリティビットが含まれている。なお、単位および送信データの構成等については後述する。
送信部23は、エンコーダ22が出力する送信データに基づいて、Hレベルの信号に対して発光部24を点灯するように制御し、Lレベルの信号に対して発光部24を消灯するように制御することで、ビーコン信号を送信するように制御する。なお、送信部23は、発光部24に供給する電流値または電圧値を制御することで点灯と消灯を制御する。
発光部24は、例えばLED(発光ダイオード)であり、送信部23の制御に応じて点灯と消灯を行うことで、ビーコン信号を送信する。なお、光源の波長は、例えば赤外線(IR(Infrared Rays))である。なお、光源の波長は赤外線に限らない。
受信機3は、受信したビーコン信号から送信情報を抽出する。また、受信機3は、複数の送信機2から受信したビーコン信号に基づいて、自己位置を求める。なお、受信機3は、各送信機2の位置情報を、ビーコン信号から取得してもよく、外部装置(不図示)から取得してもよく、予め地図データ記憶部328に記憶させておいてもよい。
撮影部31は、露光制御部321の制御に応じて送信データを1単位のフレームレートで撮影を行い、撮影した画像を処理部32に出力する。撮影部31は、慣性センサ(不図示)、距離センサ(不図示)等を備えている。撮影部31は、センサが検出した検出結果を自己位置演算部329に出力する。
処理部32は、撮影された画像に対して画像処理を行って送信情報を抽出する。
処理部32は、撮影された画像に対して画像処理を行って送信情報を抽出する。
露光制御部321は、撮影部31の露光タイミングを制御する。なお、露光タイミングについては後述する。
画像処理部322は、撮影部31が撮影した画像を取得し、取得した画像を記憶部323に記憶させる。画像処理部322は、取得した画像に対して画像処理を行う。なお、画像処理については後述する。画像処理部322は、画像処理した結果を判定部324と方向演算部327に出力する。画像処理部322が出力する結果には、カメラ座標におけるビーコン信号による輝点の座標(u,v)が含まれている。なお、撮影された画像等については後述する。
記憶部323は、撮影された画像を記憶する。記憶部323は、撮影された画像に含まれる各信号に対応する画素領域がHレベルであるかLレベルであるかを判定するための画像に対する閾値を記憶する。記憶部323は、送信情報のビットの判定に用いられる判定基準を記憶する。なお、判定基準については後述する。記憶部323は、画像処理に必要な情報を記憶する。記憶部323は、デコードに必要な情報を記憶する。
判定部324は、画像処理部322が出力する画像処理された画像に対して、記憶部323が記憶する閾値に基づいて、撮影された画像に含まれる各信号に対応する画素領域がHレベルであるのかLレベルであるのか判定する。判定部324は、判定した判定結果をデコーダ325に出力する。
デコーダ325は、記憶部323が記憶する判定基準に基づいて、ビットが“0”の発光パターンであるのか、“1”の発光パターンであるのか判定する。なお、“0”の発光パターンと“1”の発光パターンについては後述する。デコーダ325は、判定した結果に基づいて、ビーコン信号から情報を抽出する(デコードする)。デコーダ325は、抽出した情報を自己位置演算部329と出力部330に出力する。
CALデータ記憶部326は、撮影部31が有するレンズや撮像素子等の組み合わせに固有のキャリブレーションデータを記憶する。
方向演算部327は、CALデータ記憶部326が記憶するキャリブレーションデータを用いて、画像処理部322が出力する画像処理された画像に基づいて、ビーコン信号が送信された方向を演算する。なお、方向の演算方法については後述する。方向演算部327は、演算した方向を示す方向情報を自己位置演算部329に出力する。なお、方向演算部327が出力する方向情報には、撮影部31に対するビーコン信号の方向(方位角ω、仰角θ)が含まれている。
地図データ記憶部328は、例えば位置同定システム1が使用される領域の地図データを記憶する。
自己位置演算部329は、撮影部31が出力する検出結果と、方向演算部327が出力する方向情報を取得する。自己位置演算部329は、検出結果と、方向情報と、地図データ記憶部328が記憶する地図データを用いて、送信機2の自己位置を演算する。自己位置演算部329は、演算した位置を示す位置情報を出力部330に出力する。自己位置演算部329が出力する位置情報には、ワールド座標系における自己位置(x,y,z,θz)が含まれている。なお、位置の演算方法については後述する。
出力部330は、デコーダ325が出力する情報と、自己位置演算部329が出力する位置情報とを外部装置(例えば表示装置、信号処理装置等)(不図示)に出力する。
[送信データの構成]
次に、送信データの構成について、図3〜図4を用いて説明する。
まず、送信機2によるビーコン信号の発光パターンを説明する。
図3は、ビーコン信号の“0”と“1”の発光パターンを示す図である。図3において、横軸は経過時間であり、縦軸は信号のレベル(Hレベル、Lレベル)である。なお、“0”と“1”は、ビーコン信号におけるビットである。位置同定システム1においては、図3に示すようにビットを発光部24の発光時間の長短(光信号)で表現する。また、以下の説明では、1ビットは6単位の通信時間である。なお、1単位は、所定時間であり、図3においてtn(nは1以上の整数)〜tn+1の期間である。
次に、送信データの構成について、図3〜図4を用いて説明する。
まず、送信機2によるビーコン信号の発光パターンを説明する。
図3は、ビーコン信号の“0”と“1”の発光パターンを示す図である。図3において、横軸は経過時間であり、縦軸は信号のレベル(Hレベル、Lレベル)である。なお、“0”と“1”は、ビーコン信号におけるビットである。位置同定システム1においては、図3に示すようにビットを発光部24の発光時間の長短(光信号)で表現する。また、以下の説明では、1ビットは6単位の通信時間である。なお、1単位は、所定時間であり、図3においてtn(nは1以上の整数)〜tn+1の期間である。
時刻t1〜t7の期間の信号が“0”の発光パターンである。“0”の発光パターンは、時刻t1〜t3の期間が点灯(Hレベル)であり、時刻t3〜t7の期間が消灯(Lレベル)である。すなわち、“0”の発光パターンは、2単位時間が点灯であり、4単位時間が消灯である。
また、時刻t11〜t17の期間の信号が“1”の発光パターンである。“1”の発光パターンは、時刻t11〜t15の期間が点灯(Hレベル)であり、時刻t15〜t17の期間が消灯(Lレベル)である。すなわち、“1”の発光パターンは、4単位時間が点灯であり、2単位時間が消灯である。
このように、送信機2のエンコーダ22は、“0”に対して“HHLLLL”に変換(エンコード)し、“1”に対して“HHHHLL”に変換(エンコード)する。そして、送信機2の送信部23は、Hレベルに対して発光部24を点灯するように制御し、Lレベルに対して発光部24を消灯するように制御する。
なお、図3に示した例では、“0”と“1”の発光パターンがHレベルから開始される例を説明したが、これに限らない。例えば、“0”の発光パターンがLレベルから開始され、4単位の消灯後に2単位の点灯であってもよく、“1”の発光パターンがLレベルから開始され、2単位の消灯後に4単位の点灯であってもよい。また、Hレベルが消灯であり、Lレベルが点灯であってもよい。
次に、ビーコン信号の構成例を説明する。
図4は、ビーコン信号の構成例を示す図である。図4において、符号g5が示す図は、ビーコン信号に対する発光部24への制御電圧の測定値例を示している。また、符号g7が示す図は、符号g5のビーコン信号のうち、メインデータセットを示している。なお、図4において、横軸は経過時間であり、符号g5の縦軸は信号レベル[V]であり、符号g7の縦軸は信号レベル(HレベルとLレベル)である。
図4は、ビーコン信号の構成例を示す図である。図4において、符号g5が示す図は、ビーコン信号に対する発光部24への制御電圧の測定値例を示している。また、符号g7が示す図は、符号g5のビーコン信号のうち、メインデータセットを示している。なお、図4において、横軸は経過時間であり、符号g5の縦軸は信号レベル[V]であり、符号g7の縦軸は信号レベル(HレベルとLレベル)である。
図4に示すように、ビーコン信号のメインデータセットは、スタートビット(Start,S)と、データビット(Data)と、パリティビット(Parity,P)とで構成されている。図3のルールで作成されたデータビットは、“1”、“0”、“1”、“1”、“0”、“0”、“0”、“1”であり、パリティビットが“1”である。
スタートビットは、1ビット(6単位)であり、データビットの前に設けられている。また、スタートビットは、連続した消灯信号であり、図4に示す例では6単位の消灯である。
データビットは、スタートビットの後に連続して設けられ、例えば8ビット以上の情報を有する。なお、データビットには、エラー検出符号や、エラー訂正符号が含まれていてもよい。
パリティビットは、1ビット(6単位)であり、データビットに連続して設けられ、例えば奇数パリティである。パリティビットは、パリティ自身を含め、ビット全体で“1”の個数が奇数となるように設定されている。
なお、図4に示した例では、1ビットが6単位の例を示したが、1ビットは例えば6単位以下であってもよく、6単位以上であってもよい。
データビットは、スタートビットの後に連続して設けられ、例えば8ビット以上の情報を有する。なお、データビットには、エラー検出符号や、エラー訂正符号が含まれていてもよい。
パリティビットは、1ビット(6単位)であり、データビットに連続して設けられ、例えば奇数パリティである。パリティビットは、パリティ自身を含め、ビット全体で“1”の個数が奇数となるように設定されている。
なお、図4に示した例では、1ビットが6単位の例を示したが、1ビットは例えば6単位以下であってもよく、6単位以上であってもよい。
[サブデータセット]
次に、サブデータセットの例を説明する。
ビーコン信号は、図4に示したメインデータセットに加え、さらにメインデータセットに重畳されるサブデータセットを有していてもよい。図5は、メインデータセットに重畳されるサブデータセットの例を示す図である。なお、図5に示す例では、メインデータの1ビット(6単位)に対し、サブデータは1ビット(60単位)とする例である。
次に、サブデータセットの例を説明する。
ビーコン信号は、図4に示したメインデータセットに加え、さらにメインデータセットに重畳されるサブデータセットを有していてもよい。図5は、メインデータセットに重畳されるサブデータセットの例を示す図である。なお、図5に示す例では、メインデータの1ビット(6単位)に対し、サブデータは1ビット(60単位)とする例である。
図5に示す例では、メインデータセットは、スタートビット(1ビット)、データビット(48ビット)およびパリティビット(1ビット)の計50ビットである。そして、データビットとパリティビットにサブデータが重畳されている。符号g11は、2ビット目のデータビットを拡大して示した図である。また、図5の例は、サブデータセットの重畳に、メインデータセットの正転=1、反転=0を用いた場合である。
まず、スタートビットは、1ビット=サブデータの60単位が全て点灯状態である。
次に、サブデータビットは、データビットが“1”の発光パターンである符号g12が正転であり、データビットが“0”の発光パターンである符号g13が逆転である。
そして、パリティビットは“0”の発光パターンであるので逆転である。
なお、スタートビットの60単位の間は、メインデータの送信を不可とする。
次に、サブデータビットは、データビットが“1”の発光パターンである符号g12が正転であり、データビットが“0”の発光パターンである符号g13が逆転である。
そして、パリティビットは“0”の発光パターンであるので逆転である。
なお、スタートビットの60単位の間は、メインデータの送信を不可とする。
図5に示したように、メインデータセットの正転と反転を繰り返し送信することで、メインデータにサブデータを重畳して連続送信するこができる。このサブデータセットに、例えば処理頻度の低い情報を割り当てることで、常時処理が必要な情報を、より高速に取得することが可能である。
なお、図5に示したデータビットのビット数や、サブデータの単位数は一例であり、これに限らない。また、サブデータセットの重畳は、メインデータセットの正転=0、反転=1であってもよい。また、サブデータの1ビットは、50単位以下であってもよく、50単位以上であってもよい。
[送信機の送信処理]
次に、送信機2が行う送信処理手順例を説明する。
図6は、送信機2が行う送信処理手順のフローチャートである。
次に、送信機2が行う送信処理手順例を説明する。
図6は、送信機2が行う送信処理手順のフローチャートである。
(ステップS1)送信情報生成部21は、送信情報を生成する。
(ステップS2)エンコーダ22は、送信情報生成部21が出力する送信情報をエンコード処理して送信データを生成する。なお、エンコーダ22は、サブデータが含まれている場合、サブデータも含めてエンコード処理を行う。また、上述したように、送信データには、スタートビットとデータビットとパリティビットが含まれる。このため、エンコーダ22は、エンコード処理の際、スタートビットをデータビットの前に付与し、さらにパリティビットを計算して、計算したパリティビットをデータビットの後に付与する。
(ステップS3)送信部23は、エンコーダ22が出力する送信データを基づいて、Hレベルのデータに対して発光部24を点灯するように制御し、Lレベルのデータに対して発光部24を消灯するように制御することで、ビーコン信号を送信するように制御する。
[受信機の画像処理]
次に、受信機3が行う画像処理について説明する。
図7は、送信機2からの光を含む画像を撮影部の全感度領域で撮影した画像例を示す図である。図7において、符号g101は、ビーコン信号の輝点の画像であり、符号g102とg103はダウンライト照明による光の画像である。このように、受信機3が撮影した画像には、送信機2以外の他の光源による画像が撮影される場合がある。なお、図7では、説明のために白と黒とを反転させている。
次に、受信機3が行う画像処理について説明する。
図7は、送信機2からの光を含む画像を撮影部の全感度領域で撮影した画像例を示す図である。図7において、符号g101は、ビーコン信号の輝点の画像であり、符号g102とg103はダウンライト照明による光の画像である。このように、受信機3が撮影した画像には、送信機2以外の他の光源による画像が撮影される場合がある。なお、図7では、説明のために白と黒とを反転させている。
図8は、受信機3が光学系にフィルタ処理を行った後撮影した画像例を示す図である。なお、図8に示す例は、図7に示した撮影された画像に対して、IR帯域を通過させるBPF(バンドパスフィルタ)を用いた後の画像である。すなわち、撮影部31が有する撮像素子の前段の光学系でBPFをかけている。この理由は、撮影部31が白黒の撮影装置の場合は、撮影後に輝度情報となってしまうためである。また、図8では、説明のために白と黒とを反転させている。符号g121は、ビーコン信号の輝点の画像であり、符号g122とg123はダウンライト照明による光の画像である。このように、BPFを用いることで、不要な可視光照明による画像を除去または減衰させることができ検出精度を向上させることができる。なお、処理部32は、さらに例えばクラスタリング処理等を行って、面積が閾値以上の白領域の画像を抽出することで、符号g122やg123の領域の画像を除去するようにしてもよい。
[受信機側の点灯と消灯の判定]
次に、消灯と点灯の判定例について、図9〜図11を用いて説明する。
図9は、“0”の発光パターンにおける消灯と点灯の判定例を示す図である。図10は、“1”の発光パターンにおける消灯と点灯の判定例を示す図である。図11は、判定基準例を示す図である。図9と図10において、横軸は経過時間であり、縦軸は信号レベル(HレベルとLレベル)である。
次に、消灯と点灯の判定例について、図9〜図11を用いて説明する。
図9は、“0”の発光パターンにおける消灯と点灯の判定例を示す図である。図10は、“1”の発光パターンにおける消灯と点灯の判定例を示す図である。図11は、判定基準例を示す図である。図9と図10において、横軸は経過時間であり、縦軸は信号レベル(HレベルとLレベル)である。
また、図9と図10において、符号g201とg221は、発光部24の点灯と消灯を表す。符号g202とg222は、第1ケースにおける撮影装置の露光タイミングである。符号g203とg223は、第2ケースにおける撮影装置の露光タイミングである。符号g204とg224は、第3ケースにおける撮影装置の露光タイミングである。符号g209と符号229が示す範囲は、HレベルとLレベルの判定結果を示す。
なお、図9と図10は、露光時間が5/6単位の例である。この露光時間および露光タイミングは、受信機3の露光制御部321が制御する。また、発光部24と撮影部31のフレームレートの周波数のズレは、撮影部のレートを100とすると98.33〜101.66(±1.66%)が許容される。ただし、図9と図10は、発光部24と撮影部31のフレームレートの周波数完全一致した場合の図である。
図9と図10の第1ケース〜第3ケースでは、5/6単位の露光時間のうち、1/6単位以上の入光があったらHと判定する。
符号g202とg222の第1ケースの場合は、発光部24の立ち上がりタイミングと、露光時間の立ち上がりタイミングが一致している例である。符号g202のように、第1ケースでは、“0”の発光パターンに対して、点灯(Hレベル)が2個であり、消灯(Lレベル)が4個であると判定される。符号g222のように、第1ケースでは、“1”の発光パターンに対して、点灯(Hレベル)が4個であり、消灯(Lレベル)が2個であると判定される。
符号g203とg223の第2ケースの場合は、発光部24の立ち上がりタイミングと、露光時間の立ち上がりタイミングが2/6単位(120[deg])進んでいる例である。符号g203のように、第2ケースでは、“0”の発光パターンに対して、点灯(Hレベル)が3個であり、消灯(Lレベル)が3個であると判定される。符号g223のように、第2ケースでは、“1”の発光パターンに対して、点灯(Hレベル)が5個であり、消灯(Lレベル)が1個であると判定される。
符号g204とg224の第3ケースの場合は、発光部24の立ち上がりタイミングと、露光時間の立ち上がりタイミングが4/6単位(240[deg])進んでいる例である。符号g204のように、第3ケースでは、“0”の発光パターンに対して、点灯(Hレベル)が3個であり、消灯(Lレベル)が3個であると判定される。符号g224のように、第3ケースでは、“1”の発光パターンに対して、点灯(Hレベル)が5個であり、消灯(Lレベル)が1個であると判定される。
次に、記憶部323が記憶する判定基準について説明する。
なお、ここでは、説明が煩雑になることを避けるため、上述したサブデータ処理を除外してメインデータのデコード処理について説明する。
図11に示すようにHレベルの個数が0個の場合、受信機3のデコーダ325は、スタートビット(Start bit)と見なす、または光量不足等によりID(識別情報)読み取りができない(不可)とみなす。Hレベルの個数が1個の場合、デコーダ325は、光量不足等によりID(識別情報)読み取りができない(不可)とみなす。また、Hレベルの個数が2個以上、3個以下の場合、デコーダ325は、“0”とみなす。Hレベルの個数が4個以上、5個以下の場合、デコーダ325は、“1”とみなす。Hレベルの個数が6個の場合、デコーダ325は、光量過剰等によりID(識別情報)読み取りができない(不可)とみなす、または発光部24以外の光源であるとみなす。これらの判定基準は、受信機3の記憶部323が記憶している。なお、図11に示した判定基準は、1ビットが6単位の場合である。このため、判定基準は、1ビットが6単位以外の場合、1ビットの単位数に合わせて設定される。
なお、ここでは、説明が煩雑になることを避けるため、上述したサブデータ処理を除外してメインデータのデコード処理について説明する。
図11に示すようにHレベルの個数が0個の場合、受信機3のデコーダ325は、スタートビット(Start bit)と見なす、または光量不足等によりID(識別情報)読み取りができない(不可)とみなす。Hレベルの個数が1個の場合、デコーダ325は、光量不足等によりID(識別情報)読み取りができない(不可)とみなす。また、Hレベルの個数が2個以上、3個以下の場合、デコーダ325は、“0”とみなす。Hレベルの個数が4個以上、5個以下の場合、デコーダ325は、“1”とみなす。Hレベルの個数が6個の場合、デコーダ325は、光量過剰等によりID(識別情報)読み取りができない(不可)とみなす、または発光部24以外の光源であるとみなす。これらの判定基準は、受信機3の記憶部323が記憶している。なお、図11に示した判定基準は、1ビットが6単位の場合である。このため、判定基準は、1ビットが6単位以外の場合、1ビットの単位数に合わせて設定される。
このように、第1ケース〜第3ケースの“0”の発光パターンと“1”の発光パターンは、図11に示した判定基準に基づいて、“0”または“1”が適切に判定される。
次に、受信機3が撮影した画像に対して行う処理例を説明する。
図12は、撮影された画像に対して受信機3が行う処理を説明するための図である。なお、図12に示す例では、データビットが8ビットの例である。受信機3の撮影部31は、発光パターンを、1ビットあたり6枚、10(=1+8+1)ビットに対して計60枚撮影する。なお、図12は白と黒とを反転してある。
また、符号g301が示す領域の画像(01〜06)は、スタートビットの発光パターンを撮影した画像である。符号g302〜g309が示す領域の画像(07〜12、13〜18、19〜24、25〜30、31〜36、37〜42、43〜48、49〜54、55〜60)は、1ビット目〜8ビット目の発光パターンを撮影した画像である。
図12は、撮影された画像に対して受信機3が行う処理を説明するための図である。なお、図12に示す例では、データビットが8ビットの例である。受信機3の撮影部31は、発光パターンを、1ビットあたり6枚、10(=1+8+1)ビットに対して計60枚撮影する。なお、図12は白と黒とを反転してある。
また、符号g301が示す領域の画像(01〜06)は、スタートビットの発光パターンを撮影した画像である。符号g302〜g309が示す領域の画像(07〜12、13〜18、19〜24、25〜30、31〜36、37〜42、43〜48、49〜54、55〜60)は、1ビット目〜8ビット目の発光パターンを撮影した画像である。
1単位目(01)がL、2単位目(02)がL、…、6単位目(06)がLである。このため、受信機3の判定部324は、1〜6単位をスタートビットであると判定する。
続けて、判定部324は、データビットの1ビット目の1単位目(07)〜6単位目(12)の順に判定する。判定部324は、HHHHLL、すなわちHが4個のため“1”と判定する。
続けて、判定部324は、データビットの2ビット目の1単位目(08)〜6単位目(18)の順に判定する。判定部324は、HHLLLL、すなわちHが2個のため“0”と判定する。
続けて、判定部324は、データビットの2ビット目の1単位目(08)〜6単位目(18)の順に判定する。判定部324は、HHLLLL、すなわちHが2個のため“0”と判定する。
以下、判定部324は、3ビット目、…、8ビット目を順に判定する。
続けて、判定部324は、符号g310の1単位目(55)〜6単位目(60)の順に判定する。判定部324は、HHHHLL、すなわちHが4個のため“1”と判定する。なお、判定部324は、符号g310に続いて、符号g301のLLLLLLの発光パターン、すなわちスタートビットを受信した際、そのスタートビットの前のビットをパリティビットであると判定する。または、データビット長が予め決められている場合、判定部324は、所定のデータビットの後に付与されているビットをスタートビットであると判定する。
続けて、判定部324は、符号g310の1単位目(55)〜6単位目(60)の順に判定する。判定部324は、HHHHLL、すなわちHが4個のため“1”と判定する。なお、判定部324は、符号g310に続いて、符号g301のLLLLLLの発光パターン、すなわちスタートビットを受信した際、そのスタートビットの前のビットをパリティビットであると判定する。または、データビット長が予め決められている場合、判定部324は、所定のデータビットの後に付与されているビットをスタートビットであると判定する。
図12に示したように、発光パターンが輝点(図12では黒点)として連続画像に撮影されるため、処理部32は、これらの画像に対してHかLかを判定した後、ビット毎に“0”か“1”を判定する。そして、受信機3の処理部32は、判定結果を用いて、ビーコン信号に含まれるデータに対してデコードを行うことができる。
なお、上述したように、送信機2は、送信機2のタイミングでビーコン信号を送信する。そして、受信機3は、送信機2からの同期信号を用いずに画像から送信データに対してデコードを行う。このように、受信機3が、送信機2からの同期信号を用いずに画像に対してデコードを行える理由は、上述したようにビーコン信号の信号列(メインデータセット)の構成を、1ビットを複数単位で構成し、HレベルとLレベルの発光の組み合わせ(“0”の発光パターンをHHLLLL、“1”の発光パターンをHHHHLL)で定義したためである。また、受信機3が、送信機2からの同期信号を用いずに画像に対してデコードを行える理由は、データnビットと、スタートビット(1ビット)とパリティビット(1ビット)で構成したためである。
なお、位置同定システム1の位置同定精度は、送信機2の設置数と受信機3の撮影部31の画素数に依存するが、例えば20cm以下が可能である。
なお、位置同定システム1の位置同定精度は、送信機2の設置数と受信機3の撮影部31の画素数に依存するが、例えば20cm以下が可能である。
[画像処理手順]
次に、受信機3の処理部32が行う画像処理手順例を説明する。
図13は、受信機3の処理部32が行う画像処理手順のフローチャートである。
次に、受信機3の処理部32が行う画像処理手順例を説明する。
図13は、受信機3の処理部32が行う画像処理手順のフローチャートである。
(ステップS101)撮影部31は、露光制御部321の制御に基づいて撮影する。
(ステップS102)画像処理部322は、撮影された多値(例えばグレースケール、256階調)の画像を2値化する。
(ステップS103)画像処理部322は、2値化された画像に対してクラスタリング処理を行う。なお、画像処理部322は、クラスタリング処理を行うクラスタごとに画素数、縦横比および充填率等の属性を付加する。なお、画像処理部322は、例えば記憶部323が記憶する閾値以上の画素に対してクラスタリング処理を行う。
(ステップS104)画像処理部322は、クラスタリング処理を行った結果に基づいて、光源候補の領域の画像を抽出する。なお、画像処理部322は、ステップS103で付加した属性に基づいて光源候補を抽出する。
(ステップS105)画像処理部322は、系列で光源候補が蓄積されたら光源候補を追跡する。なお、画像処理部322は、追跡に必要なデータを記憶部323に記憶させる。例えば、画像処理部322は、例えば6フレーム後を探して近傍(例えば5画素×5画素)に類似の光源があれば同一の光源と仮定してその間の信号強度を抽出する。画像処理部322は、HレベルとLレベルに不適切な強度であれば信号候補から外す。画像処理部322は、現時刻から後の時刻に見つかった光源を基準にしてその後の光源を探すことを光源が見つからなくなるまで繰り返す。
以下、判定部324は、画像処理された結果に基づいてHレベルとLレベルを判定する。そして、判定部324は、1ビットにおけるHレベルの個数に基づいて“0”の発光パターンであるか“1”の発光パターンであるか判定する。続けて、デコーダ325は、画像処理部322が追跡した信号列について信号列の長さを検証し、必要に応じてエラー訂正もしくはエラー検出信号を利用して信号を補正して、送信情報を得る。
なお、上述した画像処理手順は一例であり、これに限らない。画像処理部322は、画像処理において、例えばエッジ検出、特徴量検出等の処理を行ってもよい。
[方向の演算方法]
次に、受信機3が行うビーコン信号の方向の演算方法について、図14と図15を用いて説明する。
図14は、受信機3により撮影された画像における座標を示す図である。図14において、水平方向をU軸方向、垂直方向をV軸方向とする。符号g401は、撮影された画像内のビーコン信号の輝点を表す。ビーコン信号の輝点の座標(u,v)を、以下、輝点座標という。
次に、受信機3が行うビーコン信号の方向の演算方法について、図14と図15を用いて説明する。
図14は、受信機3により撮影された画像における座標を示す図である。図14において、水平方向をU軸方向、垂直方向をV軸方向とする。符号g401は、撮影された画像内のビーコン信号の輝点を表す。ビーコン信号の輝点の座標(u,v)を、以下、輝点座標という。
受信機3の処理部32は、輝点座標(u,v)からビーコン信号が送信された方向(方位角ω,仰角θ)を演算する。なお、方向演算部327は、ビーコン信号の方向を計算する際に、CALデータ記憶部326が記憶するキャリブレーションデータを使用する。
図15は、カメラ座標系を示す図である。
図15に示すように、カメラ座標系の原点をカメラ光学中心とする。例として,複数のレンズからなる光学系においては物側主点とする。さらに、カメラ座標軸をXc,Yc,Zcとする。また、カメラ座標系は、−Yc方向を撮影部31前方とし且つ移動体前方とし、+Zc方向を天井方向とする左手系とする。
図15に示すように、カメラ座標系の原点をカメラ光学中心とする。例として,複数のレンズからなる光学系においては物側主点とする。さらに、カメラ座標軸をXc,Yc,Zcとする。また、カメラ座標系は、−Yc方向を撮影部31前方とし且つ移動体前方とし、+Zc方向を天井方向とする左手系とする。
輝点座標(u,v)(図14)に対し、内部パラメータならびにレンズ歪みの補正データを使用することで,カメラ座標系の点に変換する。
ビーコン信号の輝点座標(u,v)と、ビーコン信号のカメラ座標系での座標(Xc,Yc,Zc)(以下、ビーコン座標ともいう)との関係は次式(1)で表される。
ビーコン信号の輝点座標(u,v)と、ビーコン信号のカメラ座標系での座標(Xc,Yc,Zc)(以下、ビーコン座標ともいう)との関係は次式(1)で表される。
ただし、式(1)において、(fx,fy)はピクセル単位の焦点距離であり、(Cx,Cy)はピクセル単位の光学的中心(主点)であり、Sはスケールファクタである。カメラレンズの半径方向と円周方向の歪みが、このXc,Yc,Zcに反映されている。
半径方向の歪み係数kと円周方向の歪み係数pを用いて、カメラ座標系における拡張表記すると次式(2)のように表すことができる。
半径方向の歪み係数kと円周方向の歪み係数pを用いて、カメラ座標系における拡張表記すると次式(2)のように表すことができる。
式(2)において、Xcにおけるx’(1+k1r2+k2r4+k3r6)の項と、Ycにおけるy’(1+k1r2+k2r4+k3r6)の項は、撮影部31が有するレンズによる歪み成分の内、半径方向の歪みを表している。また、Xcにおける{2p1x’y’+p2(r2+2x’2)}の項と、Ycにおける{p1(r2+2y’2)+2p2x’y’}の項は、撮影部31が有するレンズによる歪み成分の内、円周方向の歪みを表している。
方向演算部327は、例えば規定画像や送信機2の配置パターンを用いたキャリブレーションターゲットによるカメラキャリブレーションを行う。そして、方向演算部327は、既知の座標に対応する理論上の撮像内座標と実際に撮影された座標とを比較してk値とp値を決定する。これにより、受信機3は、レンズの歪みが算出されるカメラ座標系に与える影響を除去することができるので、以降の自己位置算出を精度良く行うことができる。
カメラ座標系におけるビーコン信号の方向(方位角ω,仰角θ)は、次式(3)のように表すことができる。
[自己位置の演算方法]
次に、受信機3が行う自己位置の演算方法について、図16〜図18を用いて説明する。
図16は、カメラ座標系とワールド座標系におけるビーコン座標を示す図である。図16では、2つの送信機2a,2bを用いて説明する。(Xw,Yw,Zw)がワールド座標系であり、(Xc,Yc,Zc)がカメラ座標系である。符号g421は、カメラ座標系における送信機2aの座標(X1c,Y1c,Z1c)、ワールド座標系における送信機2aの座標(X1w,Y1w,Z1w)を表している。符号g422は、カメラ座標系における送信機2bの座標(X2c,Y2c,Z2c)、ワールド座標系における送信機2bの座標(X2w,Y2w,Z2w)を表している。また、ワールド座標系におけるカメラ座標系の原点Ocの座標を(t1,t2,t3)とする。
次に、受信機3が行う自己位置の演算方法について、図16〜図18を用いて説明する。
図16は、カメラ座標系とワールド座標系におけるビーコン座標を示す図である。図16では、2つの送信機2a,2bを用いて説明する。(Xw,Yw,Zw)がワールド座標系であり、(Xc,Yc,Zc)がカメラ座標系である。符号g421は、カメラ座標系における送信機2aの座標(X1c,Y1c,Z1c)、ワールド座標系における送信機2aの座標(X1w,Y1w,Z1w)を表している。符号g422は、カメラ座標系における送信機2bの座標(X2c,Y2c,Z2c)、ワールド座標系における送信機2bの座標(X2w,Y2w,Z2w)を表している。また、ワールド座標系におけるカメラ座標系の原点Ocの座標を(t1,t2,t3)とする。
式(1)で演算したカメラ座標系におけるビーコン座標と、既知のワールド座標系におけるビーコン座標を複数使用すると、回転行列と併進行列を求められる。従って、ワールド座標系を使用した既知の地図上での自己位置を算出することができる。
ここで、カメラ座標系からワールド座標系への変換は、3次元アフィン変換により行う。この変換に使用される変換行列の各値は、参照するビーコン信号を必要数確保すれば算出可能である。しかしながら、ここでは位置同定に必要な,X,Y,θzのみに限定し、他のパラメータはセンサからの入手や固定値とした。
ワールド座標とカメラ座標との関係は、要素rnmからなる回転行列と、要素tnからなる併進行列を用いて、次式(4)のように表すことができる。
ワールド座標とカメラ座標との関係は、要素rnmからなる回転行列と、要素tnからなる併進行列を用いて、次式(4)のように表すことができる。
回転行列要素であるr11〜r33は、カメラ座標系がワールド座標系に対して,Xw軸周りにα、Yw軸周りにβ、Zw軸周りにγ回転しているとした場合の変数であるとする。ここでαとβは、例えば移動体や撮影部31に内蔵された慣性センサの、重力に対する値を用いて取得することができる。また、t3も、床面との距離センサより取得可能である。この結果、位置同定のために求めなければならない変数は、t1(X),t2(Y)と、Zw軸周りの回転角度γ(θZ)となる。
ここで、ワールド座標系におけるビーコン座標は既知であるため、複数の送信機2を用いて連立方程式を解き,撮影部31の撮影位置と方向を得ることができる(自己位置と方向の同定)。
ここで、ワールド座標系におけるビーコン座標は既知であるため、複数の送信機2を用いて連立方程式を解き,撮影部31の撮影位置と方向を得ることができる(自己位置と方向の同定)。
図17は、天井に取り付けられている複数の送信機2からの光を撮影した際の画像のイメージ図である。符号g431が示す領域は、撮影部31によって撮影された画像である。符号g433が示す領域は、送信機2が天井に取り付けられている部屋の外形を示している。また、符号g441〜g445は、各送信機2が送信したビーコン信号を示している。また、受信機3は、受信した送信データに対してデコードを行い、符号g441の送信機2のID(識別情報)がID1、符号g442の送信機2のIDがID2、符号g443の送信機2のIDがID3、符号g444の送信機2のIDがID4を得る。図17の例では、撮影範囲以外であったため、受信機3は、符号g445のIDを取得できていない。
上述したように、各送信機2のワールド座標系における位置は既知である。そして、受信機3は、ビーコン信号を受信できた送信機2のIDを送信データから取得し、かつ方向を演算して求める。さらに、複数の送信機2の位置から、自己位置を同定する。この結果、図17に示すように、ワールド座標系における受信機3の位置が同定される。なお、図17において、紙面の上側を受信機3の後方(REAR)とし、紙面の下側を受信機3の前方(FRONT)とする。
受信機3は、図18に示すように、同定した自己位置を地図上の座標に変換する。図18は、地図上の自己位置を示す図である。図18において、横軸はX軸であり、縦軸はY軸である。また、図18に示す例は、4つの送信機2を撮影して、IDを取得できた場合の例である。なお、IDが5の送信機2(図17の符号g445)は、撮影範囲外であったため撮影できていない。図18に示す例の自己位置は、例えばXw=2855、Yw=3140、θz=303度である。
このように、位置同定システム1によれば、受信機3を起動して画像を撮影すれば即時に自己位置の座標と向きが得られる。また、位置同定システム1によれば、図18に示すように送信機2のIDに紐付けた地図を得ることができる。
[位置同定の処理手順]
次に、受信機3が行う位置同定の処理手順例を説明する。
図19は、受信機3が行う位置同定の処理手順のフローチャートである。
次に、受信機3が行う位置同定の処理手順例を説明する。
図19は、受信機3が行う位置同定の処理手順のフローチャートである。
(ステップS201)撮影部31は、露光制御部321の制御に応じて撮影する。
(ステップS202)画像処理部322は、撮影された画像に対して画像処理(図13のステップS102〜S105)の処理を行う。
(ステップS202)画像処理部322は、撮影された画像に対して画像処理(図13のステップS102〜S105)の処理を行う。
(ステップS203)判定部324は、画像処理部が出力する情報に基づいて、判定処理を行って、ビーコン信号による画像を確定する。続けて、デコーダ325は、ビーコン信号からIDを含む送信データを抽出する。これにより、デコーダ325は、ビーコン信号のIDを確定する。
(ステップS204)方向演算部327は、画像処理部が出力する情報と、CALデータ記憶部326が記憶するキャリブレーション情報と、上述した式(1)、式(2)を用いて、カメラ座標系におけるビーコン信号の位置(ビーコン座標)を確定する。続けて、方向演算部327は、画像処理部が出力する情報を用いて、上述した式(3)によってビーコン信号の方向(撮影部31から見た送信機2の方向)を演算する。
(ステップS205)自己位置演算部329は、デコーダ325が出力する送信データを取得する。続けて、自己位置演算部329は、IDを2つ以上検出できたか否かを判別する。自己位置演算部329は、IDを2つ以上検出できたと判別した場合(ステップS205;YES)、ステップS206の処理に進める。自己位置演算部329は、IDを2つ以上検出できていないと判別した場合(ステップS205;NO)、ステップS201の処理に戻る。
(ステップS206)自己位置演算部329は、撮影部31が出力する検出結果と、方向演算部327が出力する方向情報を取得する。続けて、自己位置演算部329は、検出結果と、方向情報と、地図データ記憶部328が記憶する地図データを用いて、上述した式(4)によって送信機2の自己位置を演算して同定する。
なお、上述した例において、撮影部31は、広角または魚眼レンズを有していてもよい。これにより、位置同定システム1によれば、より広範囲に設置されたビーコン情報が取得できることにより、送信機2の設置数の削減による設置コストの低減ができる。
また、角または魚眼レンズを用いた場合は、より多方位のビーコンを捉えることが出来るため、遮蔽物が存在した場合のロバスト性が向上する。
また、角または魚眼レンズを用いた場合は、より多方位のビーコンを捉えることが出来るため、遮蔽物が存在した場合のロバスト性が向上する。
また、上述した例において、撮影部31の代わりに直線上、または平面上に複数並べた受光素子(フォトトランジスタ等)アレイを使用してもよい。撮影部31のカメラの代わりに受光素子を用いることで、受信機3を小型化でき、さらに受信機のコストを下げることができる。
また、位置同定システム1によれば、ビーコンに光を使用することにより、鏡面以外では電波のようなマルチパスの影響がないため、設置後の設置環境個別のキャリブレーションが不要である。また、位置同定システム1によれば、電波の様に他の機器との干渉やノイズの影響を受けにくい。
[本発明の実施形態による地図提供システムの説明]
次に、本発明の実施形態による地図提供システムについて説明する。本実施形態による地図提供システムは、ロボットと、ロボットを使用する建物とに、屋内自己位置認識システムを搭載する。屋内自己位置認識システムとして、上述した位置同定システム1を用いる。すなわち、建物の天井や壁などに位置同定システム1の送信機2を設け、ロボットに位置同定システム1の受信機3を設ける。
次に、本発明の実施形態による地図提供システムについて説明する。本実施形態による地図提供システムは、ロボットと、ロボットを使用する建物とに、屋内自己位置認識システムを搭載する。屋内自己位置認識システムとして、上述した位置同定システム1を用いる。すなわち、建物の天井や壁などに位置同定システム1の送信機2を設け、ロボットに位置同定システム1の受信機3を設ける。
実施形態の地図提供システムは、統一規格の地図データと、その地図データを利用する上で用いる屋内自己位置認識システムの利用権を、その空間で運行するロボットそれぞれに提供する。地図データは、データベース上で一元管理される。例えば、地図提供システムは、自己位置認識システムの送信機800のビーコンIDと地図データとがリンクされたデータベースを有する。ロボットは、運行する空間において取得したビーコンIDを用いてデータベースを照会することにより、容易に、地図データとその中での自己位置を得ることができる。なお、ビーコンIDは、送信機800を一意に識別する送信機識別情報であり、上述の送信機2が送信するビーコン信号に含まれるIDに相当する。ビーコンIDは、全世界においてユニークな識別情報とすることが望ましい。
本実施形態では、ロボットが自動的に、運行する空間の地図データと、その地図データが示す地図上の自己位置の情報を取得する。これにより、事前の地図作成や、初期位置情報の入力等を必要とせずに、ロボットは、起動した時点から、空間内の自在な自律移動が可能となる。
図20は、本実施形態の地図提供システム500の構成例を示す図である。地図提供システム500は、ロボット600と、地図管理装置700と、送信機800と、無線装置900とを有する。図20では、M台(Mは1以上の整数)のロボット600のうちm台目(mは1以上M以下の整数)のロボット600を、ロボット600−mと記載している。ロボット600は、任意の形状とすることができるが、自律的に目的地までの移動を行うものとする。ロボット600は、位置同定システム1の受信機3に相当する機能部を有している。送信機800は、位置同定システム1の送信機2に相当する。送信機800は、ロボット600が使用される屋内の空間A1〜An(nは1以上の整数)に設置される。例えば、送信機800は、空間A1〜Anそれぞれの入口、天井、壁などに設置される。空間A1〜Anのいずれの場所においても、ロボット600から異なる位置に設置された送信機800が複数見通せるように、送信機800を設置することが望ましい。
ロボット600は、各空間A1〜Anに設置されている無線装置900と、無線通信する。各無線装置900は、地図管理装置700とインターネットなどのネットワークにより接続される。ロボット600と地図管理装置700とは、無線装置900を介して通信を行う。地図管理装置700には、施工時などに予め各空間A1〜Anにおいて各ロボット600が移動可能な範囲の地図を示す地図データが登録される。各地図データには、その地図データが示す移動可能範囲に設置されている各送信機800のビーコンIDと位置の情報(ID,X,Y,Z)が付加されている。このように、送信機800の位置は、三次元座標系における座標(X,Y,Z)で表される。三次元座標系は、例えば、ワールド座標系である。
ロボット600は、起動後に、いずれかの送信機800から送信されるビーコン信号によりビーコンIDを検出し、ビーコンIDとロボットIDを地図管理装置700に送信する。地図管理装置700は、ロボットIDにより特定されるロボット600にシステムの利用を許可する場合、パスキーを割り当てる。地図管理装置700は、受信したビーコンIDにより特定される地図データのうち、ロボットIDにより特定されるロボット600が移動可能な範囲の地図データを選択し、パスキーと選択した地図データをロボット600に返送する。これにより、各ロボット600の移動範囲を制限することができる。
ロボット600は、受信した地図データと、自分がいる空間Ai(iは1以上n以下の整数)を撮影した画像を用いて、地図上の自己位置を特定する。ロボット600は、これらの情報を用いて、目的地までの移動経路を計算することができる。一方で、各ロボット600は、実装しているセンサ等により移動経路において障害物や混雑などのために通行が困難であることを検出した場合、障害物があることや混雑が発生していることを示す経路障害発生情報を地図管理装置700に送信する。ロボット600は、経路障害発生情報に、検出時の自己位置に基づく経路障害発生位置を設定する。地図管理装置700は、各ロボット600から受信した経路障害発生情報を蓄積する。地図管理装置700は、ロボット600に地図データを配信する際には、その地図データに含まれるエリアの経路障害発生情報を付加する。地図データ自体では通行が可能である場所であっても、障害物があったり、混雑が発生したりしている場所は通行ができない。各ロボット600は、実際にセンサで検出する前に、このような個所を避けるように移動経路を計算して行動計画を生成し、自律行動を行うことができる。
図21は、ロボット600の構成を示すブロック図である。ロボット600は、位置同定部610、無線通信部620、処理部630、記憶部640、センサ650−1〜650−K(Kは1以上の整数)、および駆動部660を備える。
位置同定部610は、位置同定システム1の受信機3に相当する。位置同定部610は、送信機800から送信されるビーコン信号のビーコンIDを検出し、自己位置を算出する。ビーコンIDは、送信機800を一意に識別する送信機識別情報であり、上述の送信機2が送信するビーコン信号に含まれるIDに相当する。位置同定部610は、撮影部611、および演算部612を有する。撮影部611は受信機3の撮影部31に、演算部612は受信機3の処理部32に相当する。撮影部611は、ロボット600が稼働する屋内の空間に設置された送信機800を撮影する。演算部612は、撮影部611により撮影された画像に基づいて検出されたビーコンIDと、撮影された画像における送信機800の位置と、検出されたビーコンIDにより特定される送信機800の三次元座標系における位置の情報とを用いて、三次元座標系における座標および向きを表す自己位置を同定する。三次元座標系は、例えば、ワールド座標系である。無線通信部620は、無線通信を行う。
処理部630は、通信制御部631、送信機情報送信部632、地図受信部633、位置通知部634、移動経路計算部635、自律行動計画生成部636、駆動制御部637、検出部638、および電源制御部639を有する。通信制御部631は、無線通信部620を制御する。送信機情報送信部632は、位置同定部610が検出したビーコンIDを地図管理装置700に通知する。地図受信部633は、地図管理装置700から地図データや経路障害発生情報などの情報を受信する。位置通知部634は、位置同定部610が同定した自己位置を地図管理装置700に通知する。移動経路計算部635は、大局移動経路計算部6351および局所移動経路計算部6352を有する。大局移動経路計算部6351は、地図データおよび移動目標の位置と、位置同定部610が同定した現在の自己位置である現在地とを用いて、現在地から目標位置に至る地図上の大局移動経路を計算する。局所移動経路計算部6352は、大局移動経路における局所移動経路を算出する。自律行動計画生成部636は、局所移動経路に基づいて自律行動の計画を生成する。駆動制御部637は、自律行動計画に従って駆動部660を制御する。検出部638は、センサ650−1〜650−Kの少なくとも一部が検出した状態により障害物や混雑を検出する。電源制御部639は、ロボット600の電源を制御する。
記憶部640は、各部の処理に必要な各種情報を記憶する。記憶部640が、受信機3の地図データ記憶部328として用いられてもよい。センサ650−1〜650−Kは、各種センサである。各種センサには、ロボット600の内部状態に関するセンサ、ロボット600の外部状態に関するセンサがある。検出対象の内部状態は、例えば、ロボット600の姿勢、傾斜、移動速度、撮影部611(カメラ)の高さ、バッテリー(図示せず)の残量などである。また、検出対象の外部状態は、例えば、ロボット600の周囲の障害物、人、他のロボット600の稼働状態などである。なお、撮影した画像によりこれらの内部状態や外部状態の一部を検出する場合、位置同定に用いる撮影部611とは別にカメラをロボット600に設けてもよい。センサ650−1〜650−Kを総称してセンサ650と記載する。駆動部660は、ロボット600の移動を含む各種動作を行う。駆動部660は、ロボット600が床面や地面を移動するための脚部、タイヤ、ローラなどを含む。駆動部660はさらに、ロボットアームなどを含んでもよい。
図22は、地図管理装置700の構成を示すブロック図である。地図管理装置700は、記憶部710、通信部720、および処理部730を備える。記憶部710は、各種情報を記憶する。記憶部710は、許可情報記憶部711、地図データ記憶部712、および経路障害発生情報記憶部713を備える。
許可情報記憶部711は、許可DB(データベース)を記憶する。許可DBは、各ロボット600の許可種別およびパスキーを示す。地図データ記憶部712は、地図DBを記憶する。許可種別は、ロボット600に移動を許可する範囲の種別である。地図DBは、ビーコンIDと、許可種別ごとの地図データとを対応付けた情報である。地図データには、送信機位置情報が含まれるか、付加される。送信機位置情報は、地図データが示すエリア内の送信機800のビーコンIDおよび位置を示す。経路障害発生情報記憶部713は、経路障害DBを記憶する。経路障害DBは、各ロボット600から通知された経路障害発生情報を含む。
通信部720は、無線装置900を介してロボット600と通信する。処理部730は、照合部731、検索部732、送信部733、および情報更新部734を備える。照合部731は、ロボット600から受信したロボットIDと許可DBとを照合して、ロボット600にシステムの利用を許可するか判断する。照合部731は、許可する場合には、許可DBから許可種別を得る。検索部732は、ロボット600から受信したビーコンIDと、そのロボット600の許可種別とを用いて地図DBを検索し、ロボット600に配信する地図データを読み出す。また、検索部732は、経路障害DBからロボット600に配信する経路障害発生情報を読み出す。送信部733は、ロボット600にパスキー、地図データ、経路障害発生情報などを送信する。情報更新部734は、ロボット600から受信した自己位置と、その自己位置の受信時刻とを記憶部710に書き込む。
なお、地図管理装置700は、1台以上のコンピュータ装置で実現することができる。地図管理装置700をネットワークに接続された複数台のコンピュータ装置により実現する場合、いずれのコンピュータ装置によりいずれの機能部を実現するかは任意とすることができる。また、一つの機能部を複数台のコンピュータ装置により実現してもよい。
続いて地図管理装置700の記憶部710に記憶される各種データを説明する。
図23は、許可DBの例を示す図である。許可DBは、許可種別と、ロボットIDと、パスキーとを対応付けた情報である。ロボット600にパスキーが割り当てられたとき、そのロボット600のロボットIDに対応付けて、割り当てられたパスキーが許可DBに設定される。また、割り当てが解除されたパスキーは、許可DBから削除される。
図23は、許可DBの例を示す図である。許可DBは、許可種別と、ロボットIDと、パスキーとを対応付けた情報である。ロボット600にパスキーが割り当てられたとき、そのロボット600のロボットIDに対応付けて、割り当てられたパスキーが許可DBに設定される。また、割り当てが解除されたパスキーは、許可DBから削除される。
図24は、地図DBの例を示す図である。地図DBは、検出ビーコンIDと、許可種別と、地図データと、送信機位置情報とを対応付けた情報である。検出ビーコンIDは、ロボット600により検出されたビーコンIDである。許可種別は、ロボット600に移動を許可する範囲の種別である。地図データは、検出ビーコンIDの送信機800が設置されている空間内において、対応する許可種別のロボット600へ移動を許可する範囲の地図を示す。送信機位置情報は、対応する地図データが示すエリア内又はそのエリア内から見通せる位置に設置されている各送信機800のビーコンIDと、それら送信機800のワールド座標系におけるビーコン位置(座標)を示す設置位置情報とを対応付けた情報である。
続いて、地図提供システム500の動作を説明する。
図25〜図27は、地図提供システム500の処理を示すフロー図である。一台のロボット600ごとに、図25〜図27の処理が行われる。
図25〜図27は、地図提供システム500の処理を示すフロー図である。一台のロボット600ごとに、図25〜図27の処理が行われる。
図25および図26のフロー図は、ロボット600が地図管理装置700から供給される地図データを用いて自律行動するときの地図提供システム500の処理を示す。まず、図25に示すロボット600の処理を説明する。
(ステップS1010)ロボット600の電源が起動されると、電源制御部639は、ロボット600内の各部への電源供給を開始する。位置同定部610は、ロボット600周囲のいずれかの送信機800から送信されるビーコンIDを検出する。この検出は、図19に示す送信機2のステップS201〜ステップS203の処理により行われる。位置同定部610の演算部612は、検出したビーコンIDを処理部630に出力する。
(ステップS1015)通信制御部631は、無線装置900を介した地図管理装置700との通信を確立するよう無線通信部620を制御する。
(ステップS1020)通信制御部631は、無線通信部620が無線装置900を介して地図管理装置700と通信を確立できたか否かを判別する。通信制御部631が、通信を確立できたと判別した場合(ステップS1020;YES)、ロボット600は後述する図26に示す処理に進む。通信の確立後、ロボット600と地図管理装置700との間の情報の送受信は、ロボット600の無線通信部620と、無線装置900と、地図管理装置700の通信部720とを介した通信により行われるが、その通信の処理については記載を省略する。一方、通信制御部631は、通信を確立できなかったと判別した場合(ステップS1020;NO)、ステップS1025の処理に進める。
(ステップS1025)通信制御部631は、接続リトライ回数が閾値N未満であるか否かを判別する。通信制御部631は、接続リトライ回数が閾値N未満であると判別した場合(ステップS1025;YES)、ステップS1030の処理に進める。一方、通信制御部631は、接続リトライ回数が閾値Nに達したと判別した場合(ステップS1025;NO)、ステップS1035の処理に進める。
(ステップS1030)通信制御部631は、接続リトライを行い、地図管理装置700との通信を確立するよう無線通信部620を制御する。接続リトライ後、通信制御部631は、ステップS1020の処理に戻る。
(ステップS1035)通信制御部631は、任意のエラー処理を行う。例えば、ロボット600のディスプレイ(図示せず)に接続不可を表示したり、ロボット600のエラー発生を表すランプ(図示せず)を点灯したりする。
続いて、図26に示す処理を説明する。まず、ロボット600の処理を説明する。
(ステップS1110)無線通信部620が地図管理装置700との無線通信を確立すると、送信機情報送信部632は、図25のステップS1010において演算部612から出力されたビーコンIDと、予め記憶部640に記憶されていたロボットIDとを地図管理装置700へ送信する。
(ステップS1110)無線通信部620が地図管理装置700との無線通信を確立すると、送信機情報送信部632は、図25のステップS1010において演算部612から出力されたビーコンIDと、予め記憶部640に記憶されていたロボットIDとを地図管理装置700へ送信する。
(ステップS1115)地図受信部633は、地図管理装置700から許可情報および地図データを受信したか否かを判別する。許可情報は、ロボット600がシステムの利用を許可された場合に割り当てられるパスキーを含む。地図データには、送信機800の設置位置情報と、地図データが表すエリアにおける経路障害発生情報とが付加されている。なお、地図管理装置700は、地図データとは異なるタイミングで送信機800の設置位置情報および経路障害発生情報をロボット600に送信してもよい。またロボット600の位置同定部610は、送信機800が送信する情報からその送信機800の設置位置情報を取得してもよい。
地図受信部633は、許可情報および地図データを受信したと判別した場合(ステップS1115;YES)、受信したそれらの情報を記憶部640に書き込む。さらに、地図受信部633は、地図データを位置同定部610に出力する。これにより、演算部612は、地図管理装置700から受信した地図データを、上述した位置同定システム1の受信機3が用いる地図データとする。その後、地図受信部633は、ステップS1120の処理に進める。なお、ロボット600の処理部630は、許可情報の受信後、電源断まで、地図管理装置700に情報を送信するときに、ロボットIDと許可情報が示すパスキーとを付加する。一方、地図受信部633は、許可情報および地図データを受信していないと判別した場合(ステップS1115;NO)、ステップS1165の処理に進める。
(ステップS1120)位置同定部610は、例えば周期的に図19の処理を行うことにより、送信機800から送信されるビーコンIDを用いて、屋内自己位置と、地図データが示す地図上の位置および方向とを同定し、処理部630に出力する。屋内自己位置は、屋内におけるロボット600の現在地を表す座標である。
(ステップS1125)位置通知部634は、ロボットID及びパスキーと、ステップS1125において位置同定部610が同定した屋内自己位置を示す情報とを地図管理装置700に送信する。位置通知部634は、位置同定部610が検出したビーコンIDをさらに地図管理装置700に送信してもよい。
(ステップS1130)地図受信部633は、地図管理装置700から地図データを受信したか否かを判別する。地図受信部633は、受信したと判別した場合(ステップS1130;YES)、受信した地図データを記憶部640に書き込み、さらに、位置同定部610に出力する。地図受信部633は、ステップS1120の処理に戻る。地図受信部633は、受信しないと判別した場合(ステップS1130;NO)、ステップS1135の処理に進む。
(ステップS1135)大局移動経路計算部6351は、位置同定部610が同定した屋内自己位置および方向と、地図データとに基づいて、現在地から目標位置に至る地図上の大局移動経路を計画する。大局移動経路計算部6351は、地図データに付加される経路障害発生情報をさらに用いて、障害や混雑をさけながら現在地から目標位置に至る地図上の大局移動経路を計画してもよい。なお、ロボット600は、目標位置を任意の方法で取得する。また、この大局移動経路の計画に、センサ650が検出したロボット600の内部状態(ロボット600の姿勢、傾斜、移動速度、カメラの高さ、バッテリーの残量など)および外部状態(ロボット600の周囲の障害物、人、他のロボット600の稼働状態など)を表すセンサ情報を用いてもよい。駆動制御部637は、この大局移動経路に従って移動するように、駆動部660を駆動する。
(ステップS1140)局所移動経路算出部6352は、地図データと、地図データに付加される経路障害発生情報とを用いて、ステップS1135において計画された大局移動経路を移動するときに障害や混雑をさけるような中継ポイントを生成し、生成した中継ポイントをつなげて局所移動経路を計画する。この局所移動経路の計画には、センサ650が検出したロボット600の内部状態および外部状態を表すセンサ情報を用いてもよい。
(ステップS1145)自律行動計画生成部636は、ステップS1140において計画された局所移動経路と、センサ650が検出したロボット600の内部状態および外部状態とを用いて、ロボット600の自律行動計画を生成する。
(ステップS1150)駆動制御部637は、ステップS1145において作成された自律行動計画に従って駆動部660を駆動して、ロボット600の自律行動を制御する。
(ステップS1155)電源制御部639は、電源断の要求が入力されたか否かを判別する。電源制御部639は、電源断の要求が入力されていないと判別した場合(ステップS1155;NO)、ステップS1120の処理に戻る。電源制御部639は、電源断の要求が入力されたと判断した場合(ステップS1155;YES)、ステップS1160の処理に進める。
(ステップS1160)電源制御部639は、ロボット600の各部への電源供給を停止する。
(ステップS1165)地図受信部633は、任意のエラー処理を行う。例えば、ロボット600のディスプレイ(図示せず)やスピーカー(図示せず)により情報受信不可を出力したり、ロボット600のエラー発生を表すランプ(図示せず)を点灯したりする。
続いて、地図管理装置700の処理を説明する。
(ステップS2110)照合部731は、ロボット600からビーコンIDおよびロボットIDを受信すると、ロボット600からの電源投入後の最初の情報の受信であるか否かを判別する。照合部731は、受信したロボットIDに対応してパスキーが許可DBに設定されていない場合に、電源投入後の最初の情報の受信であると判別し(ステップS2110;YES)、ステップS2115の処理に進める。照合部731は、電源投入後の最初の情報の受信ではないと判別した場合(ステップS2110;NO)、ステップS2130の処理に進める。
(ステップS2110)照合部731は、ロボット600からビーコンIDおよびロボットIDを受信すると、ロボット600からの電源投入後の最初の情報の受信であるか否かを判別する。照合部731は、受信したロボットIDに対応してパスキーが許可DBに設定されていない場合に、電源投入後の最初の情報の受信であると判別し(ステップS2110;YES)、ステップS2115の処理に進める。照合部731は、電源投入後の最初の情報の受信ではないと判別した場合(ステップS2110;NO)、ステップS2130の処理に進める。
(ステップS2115)処理部730は、許可DBの照合と、地図DBの検索を行う。具体的には、照合部731は、ロボット600から受信したロボットIDが許可DBに登録されていればシステムの利用を許可すると判断し、パスキーを割り当て、ロボットIDと対応付けて許可DBに書き込む。検索部732は、ロボットIDに対応した許可種別を許可DBから読み出す。検索部732は、受信したビーコンIDを示す検出ビーコンIDと読み出した許可種別とに対応付けられた地図データを、地図データ記憶部712が記憶する地図DBから読み出す。この地図データは、ロボット600に対する稼働範囲制限付きの地図データに相当し、経路障害発生情報が付加されている。
(ステップS2120)送信部733は、ステップS2115において照合部731が割り当てたパスキーを設定した許可情報と、検索部732が読み出した地図データとをロボット600に送信する。
(ステップS2125)照合部731は、ロボット600からの情報受信待ちの状態である。地図管理装置700は、ロボット600から情報を受信した場合(ステップS2110:NO)、ステップS2130に進む。
(ステップS2130)ロボット600からの2回目以降の情報の受信の場合、検索部732は、ロボット600に新たな地図データの送信が必要か否かを判別する。例えば、屋内自己位置が、ロボット600に送信済みの地図データが示すエリアの外又はエリアの外周から所定以内の距離である場合に、新たな地図データが必要と判断する。あるいは、検索部732は、ロボット600から屋内自己位置と併せて受信したいずれかのビーコンIDが地図DBの検出ビーコンIDに含まれる場合に新たな屋内地図データが必要と判断する。検索部732は、新たな地図データが必要と判別した場合(ステップS2130:YES)、ステップS2135の処理に進める。検索部732は、新たな地図データが不要と判別した場合(ステップS2130:NO)、ステップS2125の処理に進める。
(ステップS2135)検索部732は、受信したパスキーに対応した許可種別を許可DBから読み出す。検索部732は、許可種別に対応付けられた地図データのうち、屋内自己位置がエリアに含まれている地図データを地図データ記憶部712が記憶する地図DBから読み出す。あるいは、検索部732は、ロボット600から受信したビーコンIDが設定された検出ビーコンIDと、許可種別とに対応付けられた地図データを地図DBから読み出す。この地図データは、ロボット600に対する稼働範囲制限付きの地図データに相当し、経路障害発生情報が付加されている。
(ステップS2140)送信部733は、ステップS2135において検索部732が読み出した地図データをロボット600に送信し、ステップS2125の処理に進める。また、情報更新部734は、受信したロボットID、パスキーおよび屋内自己位置と、受信時刻とを対応付けて記憶部710に書き込む。
なお、ロボット600は、記憶している地図データが示すエリア外に出てしまったなどの理由により、自己位置を算出できない場合、ステップS1125において屋内自己位置を送信せず、自己位置を算出できなくなってから最初に検出したビーコンIDを送信してもよい。この場合、ステップS2135において、地図管理装置700の検索部732は、受信したビーコンIDを示す検出ビーコンIDと、許可種別とに対応付けられた地図データを地図DBから読み出す。あるいは、地図管理装置700は、ステップS2115の処理に戻ってもよい。
また、電源断の要求があったときにロボット600が電源断の通知を地図管理装置700に送信する場合、地図管理装置700の情報更新部734は、その電源断の通知に設定されているパスキーを許可DBから削除してもよい。また、地図管理装置700の情報更新部734は、一定時間ロボット600から情報を受信しない場合に、そのロボット600に割り当てたパスキーを無効とし、許可DBから削除してもよい。
図27のフロー図は、ロボット600が自律制御を行って移動中の経路において障害や混雑を検出したときの地図提供システム500の処理を示す。図27に示す処理は、ロボット600が、図26のステップS1120〜ステップS1155の処理を行っているときに実行される。
(ステップS1210)ロボット600の検出部638は、センサ650が検出した外部状態に基づいて障害物や混雑の有無を判別する。検出部638は、障害物や混雑を検出しなかったと判別した場合(ステップS1210:NO)、ステップS1210の処理に戻る。検出部638は、障害物又は混雑を検出したと判別した場合(ステップS1210:YES)、ステップS1215の処理に進める。
(ステップS1215)位置同定部610は、送信機800から送信されるビーコンIDを用いて、屋内自己位置と、地図データが示す地図上の位置および方向とを同定し、処理部630に出力する。このステップS1215の処理は、図26におけるステップS1120の処理であってもよい。
(ステップS1220)検出部638は、経路障害種別及び経路障害発生位置を設定した経路障害発生情報を生成する。経路障害種別は、障害物、混雑発生などである。経路障害発生位置は、障害物や混雑発生場所の位置である。センサ650が検出した情報に基づいて、ロボット600の位置から障害物又は混雑発生場所までの距離及び方向を検出可能な場合、屋内自己位置と検出した距離や方向とに基づいてワールド座標系における障害物又は混雑発生場所の座標を算出し、経路障害発生位置とする。検出部638が、ロボット600の位置から障害物又は混雑発生場所までの距離や方向を検出できない場合、屋内自己位置を経路障害発生位置とする。
(ステップS1225)検出部638は、ステップS1220において生成した経路障害発生情報を地図管理装置700に送信する。
(ステップS1230)検出部638は、電源断の要求が入力されたか否かを判別する。検出部638は、電源断の要求が入力されていないと判別した場合(ステップS1230;NO)、ステップS1210の処理に戻る。検出部638は、電源断の要求が入力されたと判断した場合(ステップS1230;YES)、図27の処理を終了する。
(ステップS2210)地図管理装置700の情報更新部734は、ロボット600から経路障害発生情報を受信する。情報更新部734は、地図DB内の地図データのうち、経路障害発生情報に設定されている経路障害発生位置が含まれるエリアの地図データに対応付けて、経路障害発生情報を書き込む。
(ステップS2220)送信部733は、ステップS2210において経路障害発生情報を対応付ける対象となった地図データを送信済みのロボット600に、経路障害発生情報を送信する。
上記では、ロボット600は、地図管理装置700からパスキーを受信した後、地図管理装置700に送信する情報にパスキーを付加しているが、地図管理装置700と送受信する情報を、パスキーを用いて暗号化および復号化してもよい。また、パスキーが、ロボット600において図26のステップS1115以降の処理を実行可能とさせる情報であってもよい。この場合、ロボット600はパスキーを地図管理装置700に送信しなくてもよい。
上述した実施形態によれば、地図提供システム500は、各ロボット600の特性に合った地図データを提供することができる。例えば、ロボット600別に稼働を許可する範囲の地図データを提供することにより、個別に移動を制限することができる。また、ロボット600が最大移動速度で移動可能な範囲の地図データを提供することにより、移動速度を制限することもできる。
また、地図管理装置700は、同一空間内で稼動する複数のロボット600が収集した障害物や、混雑の情報を反映した地図データを任意の装置に送信してもよい。
また、地図管理装置700は、各ロボット600から受信した自己位置とその自己位置の受信時刻とを対応付けて記憶部710に記憶している。地図管理装置700は、各ロボットの種類等をさらに記憶しておくことにより、稼働中のロボット600の種類、台数、各ロボットの移動経路、現在地などの管理し、管理者等に提示してもよい。
また、地図管理装置700は、屋外におけるGNSSと連携してもよい。この場合、ロボット600にGNSSの受信装置を実装しておく。また、ビーコンIDは、世界でユニークの識別情報とする。ロボット600は、屋外ではGNSSにより自己位置を検出し、検出した自己位置に対応した地図データをインターネット網などから取得する。ロボット600は、屋内に入りGNSSが使用できない場合は、位置同定部610を起動して図25からの処理を開始する。なお、地図管理装置700は、建物の出入り口に設置されている送信機800のビーコンIDと対応づけて地図データを記憶しておいてもよい。ロボット600は、屋内自己位置に加えて、検出したビーコンIDを地図管理装置700に送信する。地図管理装置700は、ロボット600から入り口を表すビーコンIDを受信した場合、ロボット600が屋内に入る前に、そのビーコンに対応した地図データを配信する。これにより、地図提供システム500は、地図データをロボット600にシームレスに提供することができる。
ロボットが空間内を、自在に自律的に移動する為には、地図と自己位置情報が必要である。このようなロボット用の地図には、現在統一された規格が無い。よって、種類(メーカー)の異なるロボットを稼動させるに、それぞれ独自の地図を作成する必要がある。さらには、ロボットが自己位置を認識するためのインフラシステムも共通のものは無い。よって、ロボットが搭載しているセンサのみで処理する場合を除いて、独自のインフラシステムをそれぞれ準備している。
本実施形態の地図提供システムは、統一規格の地図データと、その地図データを利用する上で用いられる屋内用の自己位置認識システムの利用権を、その空間で運行するロボットそれぞれに提供する。地図情報はデータベース上で一元管理されており、例えば自己位置認識システムの送信機のIDと屋内地図とがリンクされている。ロボットは、運行している空間において取得した送信機のIDを用いて照会を行うことで、容易に、地図データとその中での自己位置を得る事ができる。また、ロボットは、運行する空間の地図情報と、その地図上の自己位置情報を自動的に取得する。これにより、事前の地図作成や、初期位置情報の入力等を必要とせず、ロボットは、起動した時点からその空間内の自在な自律移動が可能となる。
なお、本発明における送信機2の送信情報生成部21、エンコーダ22および送信部23、ロボット600の演算部612、処理部630および記憶部640、並びに、地図管理装置700の記憶部710および処理部730の機能の全てまたは一部を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより送信機2の送信情報生成部21、エンコーダ22および送信部23、ロボット600の演算部612、処理部630および記憶部640、並びに、地図管理装置700の記憶部710および処理部730が行う処理の全てまたは一部を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形および置換を加えることができる。
1…位置同定システム、2,2a,2b,2c,・・・…送信機、3…受信機、21,21a,21b,21c,・・・…送信情報生成部、22,22a,22b,22c,・・・…エンコーダ、23,23a,23b,23c,・・・…送信部、24,24a,24b,24c,・・・…発光部、31…撮影部、32…処理部、321…露光制御部、322…画像処理部、323…記憶部、324…判定部、325…デコーダ、326…、CALデータ記憶部、327…方向演算部、328…地図データ記憶部、329…自己位置演算部、330…出力部、500…地図提供システム、600…ロボット、610…位置同定部、611…撮影部、612…演算部、620…無線通信部、630…処理部、631…通信制御部、632…送信機情報送信部、633…地図受信部、634…位置通知部、635…移動経路計算部、636…自律行動計画生成部、637…駆動制御部、638…検出部、639…電源制御部、640…記憶部、650−1〜650−K…センサ、660…駆動部、700…地図管理装置、710…記憶部、711…許可情報記憶部、712…地図データ記憶部、713…経路障害発生情報記憶部、720…通信部、730…処理部、731…照合部、732…検索部、733…送信部、734…情報更新部、800…送信機、900…無線装置、6351…大局移動経路計算部、6352…局所移動経路計算部
Claims (7)
- 送信機とロボットと地図管理装置とを有する地図提供システムであって、
前記送信機は、
発光部と、
自送信機を識別する送信機識別情報を前記発光部の点灯および消灯を制御することにより送信する送信部とを備え、
前記ロボットは、
前記ロボットを移動させる駆動部と、
前記送信機を撮影した画像に基づいて検出された前記送信機識別情報を前記地図管理装置に送信する送信機情報送信部と、
前記送信機情報送信部が送信した前記送信機識別情報に対応して前記地図管理装置から地図データを受信する地図受信部と、
前記地図受信部が受信した前記地図データを用いて作成した自律行動計画に基づいて前記駆動部の駆動を制御する駆動制御部とを備え、
前記地図管理装置は、
前記送信機識別情報と地図データとを対応付けて記憶する記憶部と、
前記ロボットから通知された前記送信機識別情報に対応した前記地図データを前記記憶部から読み出して送信する送信部とを備える、
地図提供システム。 - 前記ロボットは、
前記送信機を撮影した画像に基づいて検出された前記送信機識別情報と、前記画像における前記送信機の位置と、検出された前記送信機識別情報により特定される前記送信機の三次元座標系における位置の情報とを用いて、前記三次元座標系における当該ロボットの位置を同定する位置同定部と、
前記位置同定部が同定した前記位置を前記地図管理装置に通知する位置通知部とをさらに備え、
前記地図管理装置は、
前記ロボットから受信した前記位置を前記記憶部に書き込む情報更新部をさらに備える、
請求項1に記載の地図提供システム。 - 前記ロボットは、前記自律行動計画に基づく移動中の経路における経路障害を検出する検出部をさらに備え、
前記位置通知部は、前記検出部による前記経路障害の検出時に前記位置同定部が同定した前記位置を設定した経路障害発生情報を前記地図管理装置に通知し、
前記情報更新部は、前記位置通知部が受信した前記経路障害発生情報を前記記憶部に書き込み、
前記送信部は、前記ロボットに、他の前記ロボットから送信された前記経路障害発生情報を送信する、
請求項2に記載の地図提供システム。 - 前記ロボットは、
前記地図管理装置から受信した地図データを用いて、前記位置同定部が同定した前記位置から目標位置までの移動の経路を計算する移動経路計算部と、
前記移動経路計算部が計算した前記経路に従って、前記自律行動計画を生成する自律行動計画生成部とをさらに備える、
請求項2又は請求項3に記載の地図提供システム。 - 前記送信部は、前記ロボットから通知された前記位置に対応したエリアの前記地図データを前記記憶部から読み出して送信する、
請求項2から請求項4のいずれか一項に記載の地図提供システム。 - 前記記憶部は、前記送信機識別情報と対応付けて、エリアが異なる複数の前記地図データを記憶しており、
前記送信部は、前記送信機識別情報に対応した前記地図データのうち、前記送信機識別情報を送信した前記ロボットに許可される前記エリアの前記地図データを送信する、
請求項1から請求項5のいずれか一項に記載の地図提供システム。 - 送信機とロボットと地図管理装置とを有する地図提供システムにおける地図提供方法であって、
前記送信機が、
自送信機を識別する送信機識別情報を発光部の点灯および消灯を制御することにより送信する送信ステップと、
前記ロボットが、
前記送信機を撮影した画像に基づいて検出された前記送信機識別情報を前記地図管理装置に送信する送信機情報送信ステップと、
前記送信機情報送信ステップにおいて送信した前記送信機識別情報に対応して前記地図管理装置から地図データを受信する地図受信ステップと、
前記地図受信ステップが受信した前記地図データを用いて作成した自律行動計画に基づいて、前記ロボットを移動させる駆動部の駆動を制御する駆動制御ステップと、
前記地図管理装置が、
前記ロボットから通知された前記送信機識別情報に対応した地図データを記憶部から読み出して送信する送信ステップと、
を有する地図提供方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019067296A JP2020166630A (ja) | 2019-03-29 | 2019-03-29 | 地図提供システムおよび地図提供方法 |
US16/821,978 US10979145B2 (en) | 2019-03-28 | 2020-03-17 | Optical transmitter and optical transmission method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019067296A JP2020166630A (ja) | 2019-03-29 | 2019-03-29 | 地図提供システムおよび地図提供方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020166630A true JP2020166630A (ja) | 2020-10-08 |
Family
ID=72715225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019067296A Pending JP2020166630A (ja) | 2019-03-28 | 2019-03-29 | 地図提供システムおよび地図提供方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2020166630A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114532898A (zh) * | 2020-11-24 | 2022-05-27 | 追创科技(苏州)有限公司 | 机器人的建图方法、机器人、存储介质、电子装置 |
-
2019
- 2019-03-29 JP JP2019067296A patent/JP2020166630A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114532898A (zh) * | 2020-11-24 | 2022-05-27 | 追创科技(苏州)有限公司 | 机器人的建图方法、机器人、存储介质、电子装置 |
CN114532898B (zh) * | 2020-11-24 | 2023-06-23 | 追觅创新科技(苏州)有限公司 | 机器人的建图方法、机器人、存储介质、电子装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6948325B2 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
US7769203B2 (en) | Target object detection apparatus and robot provided with the same | |
JP4262196B2 (ja) | 自律移動ロボット | |
JP5079703B2 (ja) | リアルタイムに位置を算出するためのシステムおよび方法 | |
JP7356566B2 (ja) | 移動ロボット及びその制御方法 | |
JP4115946B2 (ja) | 移動ロボットとその自律走行システム及び方法 | |
JP6685234B2 (ja) | 符号化光に基づく携帯装置の位置特定 | |
CN109669457B (zh) | 一种基于视觉标识的机器人回充方法及芯片 | |
EP1983397A2 (en) | Landmark navigation for vehicles using blinking optical beacons | |
EP1335338A2 (en) | A system and process for controlling electronic components in a computing environment | |
CN106292657A (zh) | 可移动机器人及其巡逻路径设置方法 | |
EP2049308A1 (en) | System and method for calculating location using a combination of odometry and landmarks | |
GB2527207A (en) | Mobile human interface robot | |
JP5348215B2 (ja) | 情報取得装置、情報取得方法、情報取得プログラム、及び、情報取得システム | |
WO2019214640A1 (zh) | 基于光标签网络的导航方法和相应的计算设备 | |
JP4056777B2 (ja) | 自律移動体巡回システムおよび自律移動体の位置補正方法 | |
JP2020166630A (ja) | 地図提供システムおよび地図提供方法 | |
JP7147142B2 (ja) | 制御装置、および制御方法、プログラム、並びに移動体 | |
JP2020166458A (ja) | 無人搬送車、無人搬送車システムおよび無人搬送車の制御方法 | |
JP2005003445A (ja) | 移動体装置の位置同定システムおよびその位置同定方法 | |
JP2020166459A (ja) | 車両誘導システムおよび車両誘導方法 | |
JP2021035002A (ja) | 画像特定システムおよび画像特定方法 | |
JP2020166143A (ja) | 地図表示システム、および地図表示方法 | |
JP2020159997A (ja) | 位置同定装置および位置同定方法 | |
JP7371496B2 (ja) | 信号処理装置、および信号処理方法、プログラム、並びに移動体 |