IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 杉山 肇の特許一覧

特許7463596周囲データ取得装置、周囲データ取得システム、自己位置推定装置、自己位置推定システム、周囲データ取得方法、周囲データ取得プログラム、自己位置推定プログラム
<>
  • 特許-周囲データ取得装置、周囲データ取得システム、自己位置推定装置、自己位置推定システム、周囲データ取得方法、周囲データ取得プログラム、自己位置推定プログラム 図1
  • 特許-周囲データ取得装置、周囲データ取得システム、自己位置推定装置、自己位置推定システム、周囲データ取得方法、周囲データ取得プログラム、自己位置推定プログラム 図2
  • 特許-周囲データ取得装置、周囲データ取得システム、自己位置推定装置、自己位置推定システム、周囲データ取得方法、周囲データ取得プログラム、自己位置推定プログラム 図3
  • 特許-周囲データ取得装置、周囲データ取得システム、自己位置推定装置、自己位置推定システム、周囲データ取得方法、周囲データ取得プログラム、自己位置推定プログラム 図4
  • 特許-周囲データ取得装置、周囲データ取得システム、自己位置推定装置、自己位置推定システム、周囲データ取得方法、周囲データ取得プログラム、自己位置推定プログラム 図5
  • 特許-周囲データ取得装置、周囲データ取得システム、自己位置推定装置、自己位置推定システム、周囲データ取得方法、周囲データ取得プログラム、自己位置推定プログラム 図6
  • 特許-周囲データ取得装置、周囲データ取得システム、自己位置推定装置、自己位置推定システム、周囲データ取得方法、周囲データ取得プログラム、自己位置推定プログラム 図7
  • 特許-周囲データ取得装置、周囲データ取得システム、自己位置推定装置、自己位置推定システム、周囲データ取得方法、周囲データ取得プログラム、自己位置推定プログラム 図8
  • 特許-周囲データ取得装置、周囲データ取得システム、自己位置推定装置、自己位置推定システム、周囲データ取得方法、周囲データ取得プログラム、自己位置推定プログラム 図9
  • 特許-周囲データ取得装置、周囲データ取得システム、自己位置推定装置、自己位置推定システム、周囲データ取得方法、周囲データ取得プログラム、自己位置推定プログラム 図10
  • 特許-周囲データ取得装置、周囲データ取得システム、自己位置推定装置、自己位置推定システム、周囲データ取得方法、周囲データ取得プログラム、自己位置推定プログラム 図11
  • 特許-周囲データ取得装置、周囲データ取得システム、自己位置推定装置、自己位置推定システム、周囲データ取得方法、周囲データ取得プログラム、自己位置推定プログラム 図12
  • 特許-周囲データ取得装置、周囲データ取得システム、自己位置推定装置、自己位置推定システム、周囲データ取得方法、周囲データ取得プログラム、自己位置推定プログラム 図13
  • 特許-周囲データ取得装置、周囲データ取得システム、自己位置推定装置、自己位置推定システム、周囲データ取得方法、周囲データ取得プログラム、自己位置推定プログラム 図14
  • 特許-周囲データ取得装置、周囲データ取得システム、自己位置推定装置、自己位置推定システム、周囲データ取得方法、周囲データ取得プログラム、自己位置推定プログラム 図15
  • 特許-周囲データ取得装置、周囲データ取得システム、自己位置推定装置、自己位置推定システム、周囲データ取得方法、周囲データ取得プログラム、自己位置推定プログラム 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-03-29
(45)【発行日】2024-04-08
(54)【発明の名称】周囲データ取得装置、周囲データ取得システム、自己位置推定装置、自己位置推定システム、周囲データ取得方法、周囲データ取得プログラム、自己位置推定プログラム
(51)【国際特許分類】
   G06V 10/44 20220101AFI20240401BHJP
   G05D 1/24 20240101ALI20240401BHJP
   G05D 1/43 20240101ALI20240401BHJP
   G06T 7/32 20170101ALI20240401BHJP
   G06T 7/60 20170101ALI20240401BHJP
   G06T 7/70 20170101ALI20240401BHJP
   G01S 17/89 20200101ALN20240401BHJP
【FI】
G06V10/44
G05D1/24
G05D1/43
G06T7/32
G06T7/60 180A
G06T7/60 200G
G06T7/70 Z
G01S17/89
【請求項の数】 17
(21)【出願番号】P 2023074423
(22)【出願日】2023-04-28
【審査請求日】2023-04-28
(73)【特許権者】
【識別番号】523161871
【氏名又は名称】杉山 肇
(74)【代理人】
【識別番号】100121706
【弁理士】
【氏名又は名称】中尾 直樹
(74)【代理人】
【識別番号】100128705
【弁理士】
【氏名又は名称】中村 幸雄
(74)【代理人】
【識別番号】100147773
【弁理士】
【氏名又は名称】義村 宗洋
(72)【発明者】
【氏名】杉山 肇
(72)【発明者】
【氏名】田中 聡
【審査官】千葉 久博
(56)【参考文献】
【文献】特開2023-5387(JP,A)
【文献】特開2013-205175(JP,A)
【文献】中国特許出願公開第110274602(CN,A)
【文献】和泉伸星, 外1名,“屋内環境におけるLiDARを用いた複数の壁からの角度推定”,第37回日本ロボット学会学術講演会,2019年09月03日
(58)【調査した分野】(Int.Cl.,DB名)
G06V 10/44
G05D 1/24
G05D 1/43
G06T 7/32
G06T 7/60
G06T 7/70
G01S 17/89
(57)【特許請求の範囲】
【請求項1】
あらかじめ定めた角度基準に基づいて周囲の物体との距離を計測した複数の測距点からなる測距データを取得する測距データ取得部と、
前記測距データの各測距点を、取得した角度だけ回転させ、回転測距データを求める測距データ回転部と、
XY座標におけるあらかじめ定めた距離間隔ごとの前記回転測距データの測距点の度数分布を得る度数分布取得部と、
あらかじめ定めた角度範囲から複数の角度を選択して選択角度とし、前記選択角度ごとに、前記測距データ回転部に前記選択角度を指示し、前記度数分布取得部から前記選択角度での度数分布を取得する角度指示部と、
前記選択角度ごとの度数分布を入力とし、測距点が特定の前記距離間隔に集中している前記選択角度を求め、補正角度とする補正角度決定部と、
前記補正角度だけ前記角度基準を補正したときの複数の測距点からなる補正後測距データを取得する角度補正部と、
前記補正後測距データに基づいて、測距点があらかじめ定めた間隔以下で並ぶ範囲を線分として抽出する線分抽出部と
を備える周囲データ取得装置。
【請求項2】
請求項1記載の周囲データ取得装置であって、
2つの線分の交点を角として抽出する角抽出部
も備える周囲データ取得装置。
【請求項3】
部屋の壁等に関する情報を線分のデータとして取得するための請求項1記載の周囲データ取得装置であって、
前記線分抽出部が抽出した線分が存在するX軸に平行な線とY軸に平行な線で囲まれた長方形の範囲を計測範囲とする計測範囲設定部と、
あらかじめ定めた計算方法で、存在する前記線分全体の中心となるXY座標における位置を基準点として求める基準点算出部と、
あらかじめ定めた選択方法で、長く、かつ前記基準点に近い線分を選択線分とする線分選択部と、
前記選択線分の一方の端点に最も近い他の線分の端点を検出して端点同士を関連付け、端点同士の間に隙間がある場合は当該隙間に補助線を配置する第1端点関連部と、
前記選択線分以外の線分であって、一方の端点が他の線分の端点と関連付けられた線分の他方の端点に最も近い他の線分の端点を検出して端点同士を関連付け、端点同士の間に隙間がある場合は当該隙間に補助線を配置する処理を、前記の最も近い他の線分の端点が前記選択線分の他方の端点となるまで繰り返す第2端点関連部と、
配置された補助線のX方向またはY方向の長さが、あらかじめ定めた出入口幅より長いときに、当該補助線の位置が出入口であると判断し、出入口の情報を取得する出入口判断部と
を備え、
前記第2端点関連部の処理では、2回目までの繰り返しでは、前記選択線分を処理の対象に含めない
ことを特徴とする周囲データ取得装置。
【請求項4】
請求項3記載の周囲データ取得装置であって、
前記計測範囲の外周からあらかじめ定めた長さまで内側の領域を境界領域とする境界領域設定部と、
前記境界領域に線分全体が存在し、線分内のいずれの点も他の線分から、あらかじめ定めた距離よりも離れている線分を孤立線分と判断する孤立線分判断部、
も備え、
前記線分選択部、前記第1端点関連部、前記第2端点関連部の処理では、前記孤立線分を処理の対象に含めない
ことを特徴とする周囲データ取得装置。
【請求項5】
請求項3または4記載の周囲データ取得装置であって、
少なくとも取得した複数の部屋に対する線分のデータと出入口の情報に基づいて、前記複数の部屋の線分のデータと出入口の情報とを結合した辞書データを生成もしくは更新する辞書データ部と、
出入口でつながっている部屋同士の関係を示す情報である隣接部屋対応情報を生成する隣接部屋登録部
も備える周囲データ取得装置。
【請求項6】
請求項3または4記載の周囲データ取得装置を複数有し、
少なくとも各周囲データ取得装置で取得した複数の部屋に対する線分のデータと出入口の情報に基づいて、前記複数の部屋の線分のデータと出入口の情報とを結合した辞書データを生成もしくは更新する辞書データ部と、
出入口でつながっている部屋同士の関係を示す情報である隣接部屋対応情報を生成する隣接部屋登録部
も備える周囲データ取得システム。
【請求項7】
複数の部屋の壁等に関する情報を線分のデータとして含む辞書データを記録する記録部と、
請求項1記載の周囲データ取得装置で抽出した線分のデータを取得するデータ取得部と、
前記辞書データの壁等に関する線分のデータと前記データ取得部が取得した線分のデータとを対比し、自己位置を推定する推定部と
を備える自己位置推定装置。
【請求項8】
複数の部屋の壁等に関する情報を線分のデータとして含み、角に関する情報も含む辞書データを記録する記録部と、
請求項2記載の周囲データ取得装置で抽出した線分と角のデータを取得するデータ取得部と、
前記辞書データの壁等に関する線分のデータと前記データ取得部が取得した線分のデータとを対比し、前記辞書データの角に関する情報と前記角のデータとを対比し、自己位置を推定する推定部と
を備える自己位置推定装置。
【請求項9】
請求項7または8記載の自己位置推定装置であって、
前記推定部は、
前記辞書データ内の部屋ごとに前記線分のデータを取得し、
前記データ取得部が取得した線分のデータを0度、90度、180度、270度回転させた回転角ごとに、
X軸に平行な線分のY軸方向の配置パターン、Y軸に平行な線分のX軸方向の配置パターンが最も一致する状態を求め、
すべての部屋とすべての回転角の中から、最も一致する部屋と回転角を求め、
最も一致する部屋における位置を推定する
ことを特徴とする自己位置推定装置。
【請求項10】
複数の部屋の壁等に関する情報である線分のデータと出入口の情報を含む辞書データを記録する記録部と、
請求項3記載の周囲データ取得装置で抽出した線分のデータおよび取得した出入口の情報を取得するデータ取得部と、
前記辞書データの壁等に関する線分のデータと前記データ取得部が取得した線分のデータとの対比、および前記辞書データの出入口の情報と前記データ取得部が取得した出入口の情報との対比を実行し、自己位置を推定する推定部と
を備える自己位置推定装置。
【請求項11】
請求項10記載の自己位置推定装置であって、
前記辞書データは、角のデータも含んでおり、
前記周囲データ取得装置は、2つの線分の交点を角として抽出する角抽出部も備え、
前記データ取得部は、前記周囲データ取得装置で抽出した角のデータも取得し、
前記推定部は、前記辞書データの角のデータと前記データ取得部が取得した角のデータとの対比も実行し、自己位置を推定する
ことを特徴とする自己位置推定装置。
【請求項12】
請求項10または11記載の自己位置推定装置であって、
前記推定部は、
前記データ取得部が取得した線分のデータおよび取得した出入口の情報を0度、90度、180度、270度回転させた回転角ごとに、
X軸に平行な線分のY軸方向の配置パターン、Y軸に平行な線分のX軸方向の配置パターン、出入口の位置が最も一致する状態を求め、
すべての部屋とすべての回転角の中から、最も一致する部屋と回転角を求め、
最も一致する部屋における位置を推定する
ことを特徴とする自己位置推定装置。
【請求項13】
請求項7,8,10,11のいずれかに記載の自己位置推定装置であって、
前記記録部は、出入口でつながっている部屋同士の関係を示す情報である隣接部屋対応情報も記録しており、
当該自己位置推定装置に入力された目的地点までの経路を、前記隣接部屋対応情報に基づいて探索する経路探索部
も備える自己位置推定装置。
【請求項14】
請求項7,8,10,11のいずれかに記載の自己位置推定装置を複数有し、
少なくとも各自己位置推定装置で取得した複数の部屋に対する線分のデータと推定した自己位置の情報に基づいて、前記複数の部屋の線分のデータと出入口の情報とを結合した辞書データを生成もしくは更新する辞書データ部と、
出入口でつながっている部屋同士の関係を示す情報である隣接部屋対応情報を生成する隣接部屋登録部
も備える自己位置推定システム。
【請求項15】
あらかじめ定めた角度基準に基づいて周囲の物体との距離を計測した複数の測距点からなる測距データを取得する測距データ取得ステップと、
前記測距データの各測距点を、取得した角度だけ回転させ、回転測距データを求める測距データ回転ステップと、
XY座標におけるあらかじめ定めた距離間隔ごとの前記回転測距データの測距点の度数分布を得る度数分布取得ステップと、
あらかじめ定めた角度範囲から複数の角度を選択して選択角度とし、前記選択角度ごとに、前記測距データ回転ステップに前記選択角度を指示し、前記度数分布取得ステップから前記選択角度での度数分布を取得する角度指示ステップと、
前記選択角度ごとの度数分布を入力とし、測距点が特定の前記距離間隔に集中している前記選択角度を求め、補正角度とする補正角度決定ステップと、
前記補正角度だけ前記角度基準を補正したときの複数の測距点からなる補正後測距データを取得する角度補正ステップと
前記補正後測距データに基づいて、測距点があらかじめ定めた間隔以下で並ぶ範囲を線分として抽出する線分抽出ステップと
を有する周囲データ取得方法。
【請求項16】
請求項1から4のいずれかに記載の周囲データ取得装置としてコンピュータを機能させるための周囲データ取得プログラム。
【請求項17】
請求項7,8,10,11のいずれかに記載の自己位置推定装置としてコンピュータを機能させるための自己位置推定プログラム。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、移動可能な装置に搭載される周囲データ取得装置、周囲データ取得システム、自己位置推定装置、自己位置推定システム、周囲データ取得方法、周囲データ取得プログラム、自己位置推定プログラムに関する。
【背景技術】
【0002】
特許文献1には、高精度な地図作成が可能な情報処理装置などが示されている。特許文献1には、LiDAR(Light Detection and Ranging)をセンサ部として使用することが示されている。また、地図とは、予め用意されたマップ情報、及びSLAM(Simultaneous Localization and Mapping)等の移動体により生成された周囲のマップ情報を含むと示されている。特許文献2には、車両の周囲に存在する物と車両との間の距離を検出し、自己位置を推定する技術が示されている。特許文献2では、車両移動量の推定にはSLAM等のさまざまな方法を用いてもよいと示されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2022-12540号公報
【文献】特開2018-84492号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1では、少ない計算量で高精度な地図を作成することを目的としているが、自己位置を推定するための大幅な計算量低減に関する説明はない。特許文献2でも計算量低減についての記載はない。しかしながら、例えば、老人ホーム内で使用する自律走行可能もしくは走行支援可能な老人介護用の車いすのように、環境が限定的である一方、装置の低価格化への要求が非常に強い場合がある。また、車いすのような小型の移動体においては、バッテリ電源などを搭載する必要がある場合が多い。そこで、電池の消耗を抑えるため機器の低消費電力の要求がある場合がある。小型ゆえ機器の積載スペースも限られる場合がある。このような低価格化への要求が非常に強い装置においては、使用するマイコンのビット数、クロック周波数、メモリの容量、消費電力などへの制限が強い。
本発明は、LiDARのような周囲の物体との距離を計測するセンサでの測距データを入力とする周囲データ取得装置、自己位置推定装置の低価格化を目的とする。
【課題を解決するための手段】
【0005】
本発明の周囲データ取得装置は、測距データ取得部、測距データ回転部、度数分布取得部、角度指示部、補正角度決定部、角度補正部、線分抽出部を備える。測距データ取得部は、あらかじめ定めた角度基準に基づいて周囲の物体との距離を計測した複数の測距点からなる測距データを取得する。測距データ回転部は、測距データの各測距点を、取得した角度だけ回転させ、回転測距データを求める。度数分布取得部は、XY座標におけるあらかじめ定めた距離間隔ごとの回転測距データの測距点の度数分布を得る。角度指示部は、あらかじめ定めた角度範囲から複数の角度を選択して選択角度とし、選択角度ごとに、測距データ回転部に選択角度を指示し、度数分布取得部から選択角度での度数分布を取得する。補正角度決定部は、選択角度ごとの度数分布を入力とし、測距点が特定の距離間隔に集中している選択角度を求め、補正角度とする。角度補正部は、補正角度だけ角度基準を補正したときの複数の測距点からなる補正後測距データを取得する。線分抽出部は、補正後測距データに基づいて、測距点があらかじめ定めた間隔以下で並ぶ範囲を線分として抽出する。
【発明の効果】
【0006】
本発明の周囲データ取得装置によれば、計測された多数の測距点からなる測距データを、多くの測距点がX軸もしくはY軸に平行になる角度に回転させたうえで、線分を抽出する。周囲データ取得装置は、測距データを格子状のグリッドマップ等で扱う場合に比べ、複数の点の情報を、線分の2つの端点の位置データに集約できるため、測距データのデータ量に比べると大幅にデータ量を少なくできる。また、辞書データとの比較においてもデータ量が少ないため、演算や比較の回数を大幅に少なくできる。また、線分をX軸もしくはY軸にほぼ平行な線分に層別するため、比較するのはX軸もしくはY軸に平行な線分同士となるため、比較の組合せが少なくなる。自己位置を推定する際に壁等に関する情報を含む辞書データとの対比において、平行な線分同士について、並び順序、間隔、線分の中心位置、長さ等の線分の特徴量での比較ができるようになり、辞書データとの対比が容易になる。一般的に、SLAM(Simultaneous Localization and Mapping)等で用いられる点群のスキャンマッチングに比べても、大幅に演算が軽減される。よって、周囲データ取得装置、自己位置推定装置の低価格化を実現できる。
【図面の簡単な説明】
【0007】
図1】実施例1の周囲データ取得装置および自己位置推定装置の機能構成例を示す図。
図2】実施例1の周囲データ取得装置が測距データを処理する処理フロー例を示す図。
図3】測距データ取得部が取得した測距データをXY座標に表示した例を示す図。
図4図3の場合のX軸方向の度数分布とY軸方向の度数分布を示す図。
図5】回転測距データの1つをXY座標に表示した例を示す図。
図6図5の場合のX軸方向の度数分布とY軸方向の度数分布を示す図。
図7図5に示した回転測距データを補正後測距データとし、線分と角を抽出した例を示す図。
図8】実施例1の自己位置推定装置の処理フロー例を示す図。
図9】実施例2の周囲データ取得装置および自己位置推定装置の機能構成例を示す図。
図10】実施例2の周囲データ取得装置が抽出した線分のデータを処理する処理フロー例を示す図。
図11】部屋の壁等を特定する線分と出入口を判断する処理のイメージを示す図。
図12】辞書データの例と経路探索の結果を示す図。
図13】隣接部屋対応情報の例を示す図。
図14】実施例2の自己位置推定装置の処理フロー例を示す図。
図15】経路探索のイメージを示す図。
図16】コンピュータの機能構成例を示す図。
【発明を実施するための形態】
【0008】
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【実施例1】
【0009】
図1に実施例1の周囲データ取得装置および自己位置推定装置の機能構成例を示す。図2は、実施例1の周囲データ取得装置が測距データを処理する処理フロー例を示す図である。周囲データ取得装置100は、少なくとも測距データ取得部110、測距データ回転部120、度数分布取得部130、角度指示部140、補正角度決定部150、角度補正部160、線分抽出部170を備える。周囲データ取得装置100は、角抽出部180と記録部190も備えてもよい。
【0010】
測距データ取得部110は、あらかじめ定めた角度基準に基づいて周囲の物体との距離を計測した複数の測距点からなる測距データを取得する(S110)。測距データ取得部110は、LiDAR(Light Detection and Ranging)などの計測装置から出力される複数の測距点からなる測距データを取得すればよい。測距データ取得部110は、LiDARなどの計測装置を含んでいても構わないし、外部の計測装置から測距データを受信しても構わない。複数の測距点とは、例えば、水平方向に1度ごとに360度分計測した360個の測距点としてもよいし、0.5度ごとに360度分計測した720個の測距点としてもよい。また、計測できる距離は用途に応じて適宜定めればよい。例えば、5m,8m,10m,20mなどの計測距離とすればよい。ただし、本発明は、環境が限定的である一方で装置の低価格化への要求が強い用途に適した発明を目指している。よって、老人ホームなどの施設や部屋の大きさを考慮して計測装置の仕様を決め、できるだけ低価格にすることが望まれる。なお、測距点が示す座標は、一般的には極座標系であり、計測装置に設定された基準となる方向との角度と距離で表現される。「あらかじめ定めた角度基準」とは、計測装置に設定された方向の基準を意味している。
【0011】
測距データ回転部120は、測距データの各測距点を、取得した角度だけ回転させ、回転測距データを求める(S120)。度数分布取得部130は、XY座標におけるあらかじめ定めた距離間隔ごとの回転測距データの測距点の度数分布を得る(S130)。なお、XY座標におけるあらかじめ定めた距離間隔で区切られた1つの単位区画に、複数の測距点があっても、度数は1として扱えばよい。角度指示部140は、あらかじめ定めた角度範囲から複数の角度を選択して選択角度とし、選択角度ごとに、測距データ回転部120に選択角度を指示し(S141)、度数分布取得部130から選択角度での度数分布を取得する。角度指示部140は、すべての選択角度を測距データ回転部120に指示するまで、ステップS141,S120,S130を繰り返す(S142)。「あらかじめ定めた距離間隔」は、例えば2cm、5cm、もしくは10cmなどが考えられる。測距点の精度、周囲の物の特徴を考慮して決めればよい。例えば、部屋の場合は、周囲には壁、家具、カーテンなどが存在すると考えられる。カーテンがあることを前提にすると、カーテンの凹凸も考慮する必要があるので、「あらかじめ定めた距離間隔」を5cm程度にするのは適切な選択の一つである。また、一般的には長方形の部屋が多いので、「あらかじめ定めた角度範囲」は、例えば-45度から+45度、もしくは0度から90度のように、90度分の範囲に設定すればよい。
【0012】
図3は、測距データ取得部が取得した測距データをXY座標に表示した例である。図4は、図3の場合のX軸方向の度数分布とY軸方向の度数分布を示す図である。X軸のデータとY軸のデータは、濃淡の違いで表現している。測距データ回転部120は、図3に示した測距データの各測距点を、選択角度だけ回転させた回転測距データを求める。図5は、回転測距データの1つをXY座標に表示した例である。図6は、図5の場合のX軸方向の度数分布とY軸方向の度数分布を示す図である。
【0013】
「あらかじめ定めた角度範囲」を90度の範囲にすれば、一般的な長方形の部屋であれば、いずれかの選択角度のときに、図5のように測距点が特定の距離間隔に集中する。補正角度決定部150は、選択角度ごとの度数分布を入力とし、測距点が特定の距離間隔に集中している選択角度を求め、補正角度とする(S150)。例えば、X座標およびY座標それぞれの測距点の度数の最大値の和が最大となる選択角度を求めることで、「集中している選択角度」を求めればよい。ただし、長方形の部屋の壁のように2つの平行な面が想定される場合は、X座標およびY座標それぞれの測距点の最大の度数と2番目に大きい度数の4つの度数の和で選択角度を求めてもよい。また、他の方法で「集中」の程度を評価してもよい。90度の範囲においては、多くの測距点がX軸もしくはY軸に平行になる角度で、度数が極大となる角度が1つ存在するので、二分探索法や三分探索法などの探索法を用いて補正角度を求めてもよい。角度補正部160は、補正角度だけ角度基準を補正したときの複数の測距点からなる補正後測距データを取得する(S160)。つまり、補正角度決定部150は、図5,6のように、測距点が特定の距離間隔に集中している選択角度を求め、補正角度とする。そして、角度補正部160は、図5に示した回転測距データを、補正後測距データとする。
【0014】
線分抽出部170は、補正後測距データに基づいて、測距点があらかじめ定めた間隔以下で並ぶ範囲を線分として抽出する(S170)。「あらかじめ定めた間隔で並ぶ範囲」は、測距データ取得部110が取得する測距点同士の間隔、周囲の物と特性を考慮して決めればよい。例えば、周囲にカーテンがあることも前提にする場合、測距点は多少の揺らぎを含みながら並ぶ可能性がある。そこで、2つの測距点の関係だけでなく、3点以上の測距点の関係から「あらかじめ定めた間隔で並ぶ範囲」を決めればよい。図7は、図5に示した回転測距データを補正後測距データとし、線分と角を抽出した例を示している。
【0015】
また、中途半端に離れた測距点は無視するように「あらかじめ定めた間隔で並ぶ範囲」を定めてもよい。例えば、家具を配置したときに壁との間に20cm程度の隙間ができることはあり得る。移動可能な装置が車いすならば、そのような20cm程度の隙間を検出する必要はない。一方、移動可能な装置が自走式の掃除機ならば、そのような20cm程度の隙間も検出すべきである。「あらかじめ定めた間隔で並ぶ範囲」は、移動可能な装置の目的を考慮して決めてもよい。
【0016】
線分抽出部170は、線分の抽出に使用した測距点を削除し、線分のデータと線分抽出には使用できなかった測距点を記録部190に記録すればよい。線分抽出には使用できなかった測距点は、障害物の情報として使用できる可能性がある。また、壁、家具、カーテンなどのデータが得られれば十分な場合は、線分抽出部170は、線分のデータのみを記録してもよい。
【0017】
周囲データ取得装置100が角抽出部180も備える場合は、角抽出部180は、2つの線分の交点を角として抽出する(S180)。図7に示した角は、線分同士が交わる部分である。角抽出部180を備えている場合は、角のデータも記録部190に記録してもよい。
【0018】
図1に示す自己位置推定装置300は、周囲データ取得装置100に加え、データ取得部310、推定部320、記録部390を備える。記録部390は、複数の部屋の壁等に関する情報を線分のデータとして含む辞書データを記録する。「壁等」とは、壁、家具、カーテンなど、移動可能な装置が認識しなければならない部屋の境界を形成する物を意味する。記録部390が記録する線分は、XY座標において、X軸もしくはY軸に平行な線分である。「辞書データ」とは部屋に関する地図データを意味しており、複数の部屋の壁等もしくは角の情報および出入口に関する情報などを含んでいる。図8は、自己位置推定装置300の処理フロー例を示す図である。
【0019】
周囲データ取得装置100が角抽出部180を備えていない場合は、周囲データ取得装置100では、少なくとも線分のデータを抽出する(S100)。データ取得部310は、周囲データ取得装置100で抽出した線分のデータを取得する(S310)。推定部320は、辞書データの壁等に関する線分のデータとデータ取得部310が取得した線分のデータとを対比し、自己位置を推定する(S320)。周囲データ取得装置100が抽出する線分は、X軸もしくはY軸に平行なので、辞書データの線分との対比は、抽出した線分の状態(0度回転)、抽出した線分を90度回転させた状態、抽出した線分を180度回転させた状態、抽出した線分を270度回転させた状態の4つの状態で対比すればよい。その上で、最もマッチングする部屋と角度を選択することで、どの部屋のどの位置に存在するのかを推定し、回転させた角度と周囲データ取得装置で決定した補正角度から、どの方向を向いているのかを推定すればよい。対比においては、抽出した線分のデータを辞書データと重ね合わせる際の基準となる点を決めるなどの処理が行われる。X軸またはY軸に平行な複数の線分それぞれのY軸またはX軸方向の配置間隔、順序などのパターンを、辞書データと比較し、X軸、Y軸の辞書データの座標の原点(辞書座標原点)に相当する点を推測して、基準となる点を選べば良い。X軸、Y軸いずれかの辞書座標原点に相当する点の推測ができない場合は、X軸に平行な線分とY軸に平行な線分を外挿するなどして求めた交点の中から、基準となる点を選べばよい。なお、通り抜けの廊下や一面が開放型の部屋などで、X軸に平行な線分やY軸に平行な線分のどちらかが検出できない場合は、検出された線分の端点となる点の中から基準となる点を選べば良い。
【0020】
例えば、推定部320は、辞書データ内の部屋ごとに線分のデータを取得する。推定部320は、データ取得部310が取得した線分のデータを0度、90度、180度、270度回転させた回転角ごとに、X軸に平行な線分のY軸方向の配置パターンが最も一致する状態を求める。そして、推定部320は、すべての部屋とすべての回転角の中から、最も一致する部屋と回転角を求め、最も一致する部屋における位置を推定する(S320)。
【0021】
より具体的には、以下のように自己位置を推定すればよい。推定部320は、データ取得部310が取得した線分のデータと対比するため、辞書データからひとつの部屋の壁等に関する線分のデータとを取り出す。ただし、辞書データから取り出すひとつの部屋の壁等に関する線分のデータには、出入口等から計測される隣の部屋や廊下の壁の線分データも含んだ方が望ましい。X軸に平行な線分に関して、データ取得部310が取得した線分のY軸方向の配置パターン(配置順序と間隔)を、対比する部屋の辞書データのX軸に平行な線分のY軸方向の配置パターンと比較する。そして、配置パターンが最も一致するようにデータ取得部310が取得した線分の座標を平行移動し、辞書データの線分の座標のX軸の原点にあたる座標を、データ取得部310が取得した座標上の位置として推定し、新たな原点を設定する。Y軸に平行な線分に関しても、同様の操作を行い、データ取得部310の座標原点(基準となる点)と辞書データの座標原点(基準となる点)を揃える。次に、新たな原点(基準となる点)へ座標変換を行ったのち、データ取得部310が取得した壁等のデータを、辞書の該当部屋の壁等に関する線分のデータと対比する。対比にあたっては、計測誤差やデータの一部欠損を考慮し、一致を評価し、記録する。上述のとおり、辞書データの線分との対比は、抽出した線分の状態(0度回転)、抽出した線分を90度回転させた状態、抽出した線分を180度回転させた状態、抽出した線分を270度回転させた状態の4つの状態で対比すればよい。また、辞書データ内のすべての部屋に対して対比を行い、最も一致する部屋と方向を推定し、当該部屋における位置を推定すればよい。部屋における計測装置の座標(辞書データの原点を基準とする座標)は、平行移動量より求める。なお、辞書データに方位の情報も含まれている場合は、自己位置推定装置300が向いている方位は、推定で得た部屋の方位と補正角度から求めればよい。データ取得部310が取得した情報量が少なく、X軸、Y軸いずれかの原点(基準となる点)の推測ができない場合は、X軸に平行な線分とY軸に平行な線分を外挿するなどして求めた交点の中から、原点となる点を推測すればよい。
【0022】
なお、周囲データ取得装置100が角抽出部180を備える場合は、記録部390は、複数の部屋の壁等に関する情報を線分のデータとして含み、角に関する情報も含む辞書データを記録する。データ取得部310は、周囲データ取得装置で抽出した線分と角のデータを取得する(S310)。そして、推定部320は、辞書データの壁等に関する線分のデータとデータ取得部が取得した線分のデータとを対比し、辞書データの角に関する情報と角のデータとを対比し、自己位置を推定すればよい(S320)。なお、辞書データが出入口に関するデータも有している場合であって、出入口が開いた状態で線分を抽出したときには、出入口のデータも自己位置推定に利用すればよい。また、詳細は実施例2で示すが、記録部390が出入口でつながっている部屋同士の関係を示す情報である隣接部屋対応情報も記録している場合は、自己位置推定装置に入力された目的地点までの経路を、前記隣接部屋対応情報に基づいて探索する経路探索部330も備えてもよい。
【0023】
周囲データ取得装置100によれば、計測された多数の測距点からなる測距データを、多くの測距点がX軸もしくはY軸に平行になる角度に回転させたうえで、線分を抽出する。周囲データ取得装置100は、測距データを格子状のグリッドマップ等で扱う場合に比べ、複数の点の情報を、線分の2つの端点の位置データに集約できるため、大幅にデータ量を少なくできる。それにより、確保するメモリが少なくてすむ。また、辞書データとの比較においてもデータ量が少ないため、演算や比較の回数を大幅に少なくできる。また、線分はX軸もしくはY軸にほぼ平行な線分となるため、自己位置を推定する際に壁等に関する情報を含む辞書データとの対比では、平行な線分同士について、並び順序、間隔、線分の中心位置、長さ等の線分の特徴量での比較ができるようになり、辞書データとの対比が容易になる。一般的に、SLAM等で用いられる点群のスキャンマッチングに比べても、大幅に演算が軽減される。よって、メモリ使用量が少なくすみ、演算速度が低減できるので、周囲データ取得装置、自己位置推定装置の低価格化、消費電力の低減、発熱の低減を実現できる。また、ROMやRAM、一部の周辺装置を1つのICチップに内蔵したワンチップマイコンが利用できるので、周囲データ取得装置、自己位置推定装置の小型化、軽量化も実現できる。上述の周囲データ取得装置100および自己位置推定装置300であれば、例えば、アキュムレータとして16bit、クロック周波数が数10MHz、使用メモリが数kbit~数10kbit程度のマイクロコンピュータで実現可能である。
【実施例2】
【0024】
図9に実施例2の周囲データ取得装置および自己位置推定装置の機能構成例を示す。図10は、実施例2の周囲データ取得装置が抽出した線分のデータを処理する処理フロー例を示す図である。図11に、部屋の壁等を特定する線分と出入口を判断する処理のイメージを示す。また、図12に、辞書データの例と経路探索の結果を示す。図13は、隣接部屋対応情報の例である。周囲データ取得装置200は、周囲データ取得装置100と同様に、少なくとも測距データ取得部110、測距データ回転部120、度数分布取得部130、角度指示部140、補正角度決定部150、角度補正部160、線分抽出部170を備える。周囲データ取得装置200は、角抽出部180と記録部190も備えてもよい。これらの構成部の処理は、実施例1と同じである。
【0025】
周囲データ取得装置200は、さらに、計測範囲設定部210、基準点算出部220、線分選択部250、第1端点関連部260、第2端点関連部270、出入口判断部280、辞書データ部290、隣接部屋登録部295を備える。周囲データ取得装置200は、境界領域設定部230と孤立線分判断部240も備えてもよい。周囲データ取得装置200は、部屋の壁等に関する情報を線分のデータとして取得するために使用される。「壁等」とは、壁、家具、カーテンなど、移動可能な装置が認識しなければならない部屋の境界を形成する物を意味する。
【0026】
計測範囲設定部210は、線分抽出部170が抽出した線分が存在するX軸に平行な線とY軸に平行な線で囲まれた長方形の範囲を計測範囲とする(S210)。線分抽出部170が抽出した線分のデータは、1つの部屋についての壁等に関する情報である。ただし、出入口が開いている場合は、出入り口から見える廊下もしくは隣の部屋の壁等の情報も含まれている。図11に示されている線分901,…,908が、線分抽出部170が抽出した線分である。これらのすべての線分を含むようにX軸に平行な線とY軸に平行な線で囲まれた長方形の範囲を計測範囲としている。
【0027】
基準点算出部220は、あらかじめ定めた計算方法で、存在する線分全体の中心となるXY座標における位置を基準点として求める(S220)。基準点は、部屋の内部に配置し、後述の「あらかじめ定めた選択方法」で、部屋の壁等に該当する線分を選択できれはよい。例えば、「あらかじめ定めた計算方法」は、線分の単位長さあたりに重みを付して重心となる点を基準点としてもよいし、各線分の中点に線分の長さに応じた重みを付して重心となる点を基準点としてもよいし、各線分の中点のXY座標の平均を基準点としてもよい。
【0028】
線分選択部250は、あらかじめ定めた選択方法で、長く、かつ基準点に近い線分を選択線分とする(S250)。「あらかじめ定めた選択方法」としては、例えば、線分ごとに線分の長さから線分の中点と基準点との距離を引いた値を求め、その値が最も大きい線分を選択線分とすればよい。同様に、長い線分であって、基準点に近い線分が選ばれやすいように選択方法を適宜定めればよい。このように選択すれば、部屋の壁等に該当する線分を選択しやすい。図11の例では、線分901が選択線分である。
【0029】
第1端点関連部260は、選択線分の一方の端点に最も近い他の線分の端点を検出して端点同士を関連付け、端点同士の間に隙間がある場合は当該隙間に補助線を配置する(S260)。線分901の右側の端点を「選択線分の一方の端点」とすると、「最も近い他の線分の端点」は線分902の上側の端点である。これらの端点同士を関連付ける。端点同士の間に隙間はないので、補助線は配置しない。
【0030】
第2端点関連部270は、選択線分以外の線分であって、一方の端点が他の線分の端点と関連付けられた線分の他方の端点に最も近い他の線分の端点を検出して端点同士を関連付け、端点同士の間に隙間がある場合は当該隙間に補助線を配置する処理を、前記の最も近い他の線分の端点が選択線分の他方の端点となるまで繰り返す(S270)。図11を参照しながら説明する。第1端点関連部260の処理(S260)が終了したときの「選択線分以外の線分であって、一方の端点が他の線分の端点と関連付けられた線分の他方の端点」は、線分902の下側の端点である。この端点に「最も近い他の線分の端点」は、線分903の左側の端点である。したがって、線分902の下側の端点と線分903の左側の端点を関連付ける。端点同士の間に隙間はないので、補助線は配置しない。次の繰り返し処理においては、「選択線分以外の線分であって、一方の端点が他の線分の端点と関連付けられた線分の他方の端点」は、線分903の右側の端点である。この端点に「最も近い他の線分の端点」は、線分904の上側の端点である。したがって、線分903の右側の端点と線分904の上側の端点を関連付ける。端点同士の間に隙間があるので、補助線801が配置される。
【0031】
なお、第2端点関連部270の処理(ステップS270)では、2回目までの繰り返しでは、選択線分を処理の対象に含めない。本発明の処理では部屋の形状として長方形を前提としている。第1端点関連部260の処理(ステップS260)と第2端点関連部270の処理(ステップS270)の2回目の繰り返しまででは、選択線分の端点が「最も近い他の線分の端点」に該当することを想定していないからである。ただし、一面が開放されている部屋などで、壁数が少ない場合は、それを考慮し、回数を低減する。第2端点関連部270の処理(ステップS270)を繰り返すことで、補助線801,…,804が配置される。
【0032】
補助線804が配置される処理まで終了すると、次の処理では「選択線分以外の線分であって、一方の端点が他の線分の端点と関連付けられた線分の他方の端点」が線分907の上側の端点である。この端点に「最も近い他の線分の端点」は、線分901(選択線分)の左側の端点である。したがって、線分907の上側の端点と線分901の左側の端点を関連付ける。端点同士の間に隙間はないので、補助線は配置しない。この処理では、「前記の最も近い他の線分の端点が選択線分の他方の端点」なので、繰り返し処理を終了する。第1端点関連部260の処理(ステップS260)と第2端点関連部270の処理(ステップS270)によって、線分と補助線で囲まれた範囲が部屋に相当する。
【0033】
出入口判断部280は、配置された補助線のX方向またはY方向の長さが、あらかじめ定めた出入口幅より長いときに、当該補助線の位置が出入口であると判断し、出入口の情報を取得する(S280)。「あらかじめ定めた出入口幅」は、適宜定めればよい。例えば、50cmとしてもよいし、70cmとしてもよい。移動可能な装置の種類、部屋の特徴などから、適宜決めればよい。図11の例では、補助線802と補助線804の部分を出入口と判断している。
【0034】
なお、基準点算出部220と線分選択部250の説明では、選択線分として部屋の壁等に該当する線分を選択することを説明した。線分選択部250の処理(ステップS250)で確実に部屋の壁等に該当する線分を選択し、かつ、第1端点関連部260の処理(ステップS260)と第2端点関連部270の処理(ステップS270)でも部屋の壁等に該当する線分同士を関連付けていくことが望ましい。そこで、廊下の壁など、出入口が開いていることによって得られた線分を、これらの処理から除外した方が望ましい場合もある。その場合は、境界領域設定部230と孤立線分判断部240も備えればよい。
【0035】
基準点算出部220の処理(ステップS220)が終了すると、境界領域設定部230は、計測範囲の外周からあらかじめ定めた長さまで内側の領域を境界領域とする(S230)。「計測範囲の外周からあらかじめ定めた長さ」は、例えば、75cmのように、廊下の幅などを考慮して定めればよい。孤立線分判断部240は、境界領域に線分全体が存在し、線分内のいずれの点も他の線分から、あらかじめ定めた距離よりも離れている線分を孤立線分と判断する(S240)。「あらかじめ定めた距離」も、75cmのように、廊下の幅などを考慮して定めればよい。廊下の壁などに該当する線分は、線分全体が境界領域に存在し、廊下の幅だけ離れた位置に存在するからである。図11では、線分908が孤立線分である。境界領域設定部230と孤立線分判断部240を備えるときは、線分選択部250、第1端点関連部260、第2端点関連部270の処理(ステップS250,S260,S270)では、孤立線分を処理の対象に含めない。
【0036】
1つの部屋に対して出入口判断部280の処理(ステップS280)が終了した後は、周囲データ取得装置200は、計測対象のすべての部屋に対してステップS210~S280の処理を行ったかを確認し、繰り返し処理を行う。この処理においては、廊下も1つの部屋として扱えばよい。例えば、図12に示した辞書データでは、廊下を部屋3としている。
【0037】
辞書データ部290は、少なくとも取得した複数の部屋に対する線分のデータと出入口の情報に基づいて、複数の部屋の線分のデータと出入口の情報とを結合した辞書データを生成もしくは更新する(S290)。辞書データ部290は、必要な場合は、周囲データ取得装置200への操作入力にも基づいて、複数の部屋の線分のデータと出入口の情報とを結合した辞書データを生成もしくは更新してもよい。なお、角抽出部180も備える場合は、辞書データ部290は、角のデータも辞書データに含めればよい。操作者は、目視もしくは間取り図などで部屋の形状と配置、出入口の位置を確認できるので操作入力が可能である。また、他の装置が、自動的に間取り図などで部屋の形状と配置、出入口の位置を確認して操作入力を行ってもよい。取得した線分データを回転させ、出入口を隣接する部屋同士で結合することで、複数の部屋の線分のデータと出入口の情報とを結合した辞書データを生成できる。既に辞書データが存在する場合は、より精度よく取得できた線分のデータに更新してもよい。また、部屋の模様替えを行い、家具の位置が変わった場合などにも線分のデータを更新すればよい。図12では、それぞれの部屋は壁等で囲まれ、出入口で結合している。
【0038】
隣接部屋登録部295は、出入口でつながっている部屋同士の関係を示す情報である隣接部屋対応情報を生成する(S295)。図13の隣接部屋対応情報の例では、部屋1の出入口1-1,1-2がそれぞれ、どの部屋につながっているかが示されている。同様に、部屋3の出入口3-1,3-2,3-3がそれぞれ、どの部屋につながっているかも示されている。隣接部屋登録部295の処理は、周囲データ取得装置200が辞書データに基づいて自動で行ってもよいし、周囲データ取得装置200への操作入力に基づいて行ってもよい。隣接部屋対応情報を自動で生成する場合の例としては、自己位置推定装置400を搭載した移動体が、対象となる部屋と出入口すべてを周回することで、出入口と隣接部屋間の対応情報を生成すればよい。
【0039】
周囲データ取得装置200によれば、周囲データ取得装置100,200と同じ線分のデータを抽出する装置で辞書データと隣接部屋対応情報を生成もしくは更新できる。したがって、自己位置推定装置300,400が自己位置を推定する際に対比する辞書データとして、より適した辞書データを生成、更新できる。なお、周囲データ取得装置200が同一環境内に複数存在する場合も考えられる。このような場合は、辞書データ部290と隣接部屋登録部295と辞書データを記録する記録部は、複数の周囲データ取得装置200で共用してもよい。例えば、辞書データ部290と隣接部屋登録部295と辞書データを記録する記録部を別体として配置し、複数の周囲データ取得装置200とネットワークを介して通信可能にすればよい。このように辞書データを共有すれば、辞書データを最新の状態に維持しやすい。言い換えると、複数の周囲データ取得装置200と辞書データ部290と隣接部屋登録部295と辞書データを記録する記録部とを備える周囲データ取得システムとしてもよい。
【0040】
図9に示す自己位置推定装置400は、周囲データ取得装置200に加え、データ取得部310、推定部320、経路探索部330、記録部390を備える。記録部390は、複数の部屋の壁等に関する情報を線分のデータとして含む辞書データ、および出入口でつながっている部屋同士の関係を示す情報である隣接部屋対応情報を記録する。記録部390は、角のデータおよび出入口の情報も記録してもよい。記録部390が記録する線分は、XY座標において、X軸もしくはY軸に平行な線分である。「辞書データ」とは部屋に関する地図データを意味しており、複数の部屋の壁等もしくは角の情報および出入口に関する情報などを含んでいる。図14は、自己位置推定装置400の処理フロー例を示す図である。図15は、経路探索のイメージを示す図である。
【0041】
データ取得部310と推定部320は、実施例1と同じでよい。ただし、出入口判断部280で取得できる出入口の情報も自己位置推定に利用したい場合は、データ取得部310は、周囲データ取得装置200で抽出した線分のデータおよび取得した出入口の情報を取得する(S310)。この場合は、辞書データは、複数の部屋の壁等に関する情報である線分のデータと出入口の情報を含む。そして、推定部320は、辞書データの壁等に関する線分のデータとデータ取得部310が取得した線分のデータとの対比、および辞書データの出入口の情報とデータ取得部310が取得した出入口の情報との対比を実行し、自己位置を推定する(S320)。
【0042】
さらに、周囲データ取得装置200が角抽出部180も有する場合は、辞書データは角のデータも含んでいる。そして、データ取得部310は、周囲データ取得装置200で抽出した角のデータも取得する(S310)。そして、推定部320は、辞書データの角のデータとデータ取得部310が取得した角のデータとの対比も実行し、自己位置を推定する(S320)。このように、出入口判断部280が取得した出入口の情報も自己位置推定に利用してもよい。
【0043】
また、自己位置推定装置400が同一環境内に複数存在する場合もあり得る。このような場合は、辞書データ部290と隣接部屋登録部295と辞書データを記録する記録部は、複数の周囲データ取得装置200で共用してもよい。例えば、辞書データ部290と隣接部屋登録部295と辞書データを記録する記録部を別体として配置し、複数の周囲データ取得装置200とネットワークを介して通信可能にすればよい。そして、各自己位置推定装置400は、周囲データ取得装置200で取得された線分のデータおよび推定した自己位置の情報を通信により辞書データ部290と隣接部屋登録部295に送信し、辞書データを更新してもよい。このように辞書データを共有すれば、辞書データを最新の状態に維持しやすい。言い換えると、複数の自己位置推定装置400と辞書データ部290と隣接部屋登録部295と辞書データを記録する記録部とを備える自己位置推定システムとしてもよい。
【0044】
経路探索部330は、自己位置推定装置400に入力された目的地点までの経路を、隣接部屋対応情報に基づいて探索する(S330)。図12に示すように、自己位置推定装置400は推定部320の処理(ステップS320)で、部屋1の「現在地」に存在すると推定したとする。そして、目的地点として部屋4が入力されたとする。図12の部屋4に示された目的地点までの経路探索を、図13図15を参照しながら説明する。
【0045】
部屋1には、出入口1-1と出入口1-2が存在し、それぞれ部屋3、部屋2につながっている。そこで、経路候補1として出入口1-1を選択すると部屋3に行くことになり、部屋3の出入口3-3を選択すると目的地点の部屋4に到達する。経路候補2として出入口1-2を選択すると部屋2に行くことになり、出入口2-2を選択すると部屋3に行き、さらに部屋3の出入口3-3を選択すると目的地点の部屋4に到達する。この例では、図15に示すように、2つの経路候補が存在する。どちらの経路候補を選択するかは、出入口の数が少ない方を選んでもよいし、移動距離が短い方を選んでもよい。図12の例では、出入口の数に基づいても移動距離に基づいても経路候補1が望ましいと考えられる。
【0046】
周囲データ取得装置200によれば、計測された多数の測距点からなる測距データを、多くの測距点がX軸もしくはY軸に平行になる角度に回転させたうえで、線分を抽出する。周囲データ取得装置200は、測距データを格子状のグリッドマップ等で扱う場合に比べ、複数の点の情報を、線分の2つの端点の位置データに集約できるため、大幅にデータ量を少なくできる。それにより、確保するメモリが少なくてすむ。また、辞書データとの比較においてもデータ量が少ないため、演算や比較の回数を大幅に少なくできる。また、線分はX軸もしくはY軸にほぼ平行な線分となるため、自己位置を推定する際に壁等に関する情報を含む辞書データとの対比では、平行な線分同士について、並び順序、間隔、線分の中心位置、長さ等の線分の特徴量での比較ができるようになり、辞書データとの対比が容易になる。一般的に、SLAM等で用いられる点群のスキャンマッチングに比べても、大幅に演算が軽減される。さらに、周囲データ取得装置200であれば、抽出した線分で辞書データ部290が辞書データを生成するので、さらに対比が容易になる。よって、メモリ使用量が少なくすみ、演算速度が低減できるので、周囲データ取得装置、自己位置推定装置の低価格化、消費電力の低減、発熱の低減を実現できる。また、ROMやRAM、一部の周辺装置を1つのICチップに内蔵したワンチップマイコンが利用できるので、周囲データ取得装置、自己位置推定装置の小型化、軽量化も実現できる。上述の周囲データ取得装置200および自己位置推定装置400であれば、例えば、アキュムレータとして16bit、クロック周波数が数10MHz、使用メモリが数kbit~数10kbit程度のマイクロコンピュータで実現可能である。
【0047】
[プログラム、記録媒体]
上述の各種の処理は、図16に示すコンピュータ2000の記録部2020に、上記方法の各ステップを実行させるプログラムを読み込ませ、制御部2010、入力部2030、出力部2040、表示部2050などを動作させることで実施できる。
【0048】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【0049】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【0050】
このようなプログラムを実行するコンピュータは、例えば、ひとつのICチップ上にCPUからRAM、ROM、各種入出力装置などを搭載したワンチップマイコンとしてもよい。そのため、プログラムは電子回路基板製造前や製造時にROMに書込まれ、処理の実行時に、ROMのプログラムをCPUが随時実行すればよい。また、病院のように部屋が非常に多い施設等に対応するなどで、記憶容量や推定処理が非常に多くなる場合は、記憶装置や演算処理装置を備えたコンピュータを別途設置し、移動体に搭載されたコンピュータと無線通信を通じて連携し、記憶場所や処理の実行を分担するシステムとしてもよい。複数の自己位置推定装置300,400で辞書データを共有すれば、新たな自己位置推定装置300,400を搭載した移動体を導入したときに、すぐに実用走行ができる。また、部屋の模様替えなどで家具や、キャビネット、パーティションなどの配置が変わっても、複数の自己位置推定装置300,400(周囲データ取得装置100,200)で変更を検出するため、辞書データの変更が検出しやすくなる。このような用途に使用する場合は、自己位置推定装置300も辞書データ部290、隣接部屋登録部295を備えればよい。1台の自己位置推定装置300,400(周囲データ取得装置100,200)のデータ更新により複数の自己位置推定装置に辞書データの変更を反映できるので、変更に対して複数の自己位置推定装置が迅速に対応できる。さらに、別途設置したコンピュータが複数の自己位置推定装置300,400の位置を把握できるので、自己位置推定装置300,400が搭載された移動体間の軌道を調整し、移動体同士の衝突を回避できるだけでなく、効率の良い運行を調整することができる。自己位置推定装置300,400が搭載された移動体は、目的地を部屋に設定するのに加え、他の移動体(自己位置推定装置300,400)を目的地に設定することができる。
【0051】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【符号の説明】
【0052】
100,200 周囲データ取得装置 110 測距データ取得部
120 測距データ回転部 130 度数分布取得部
140 角度指示部 150 補正角度決定部
160 角度補正部 170 線分抽出部
180 角抽出部 190,390 記録部
210 計測範囲設定部 220 基準点算出部
230 境界領域設定部 240 孤立線分判断部
250 線分選択部 260 第1端点関連部
270 第2端点関連部 280 出入口判断部
290 辞書データ部 295 隣接部屋登録部
300,400 自己位置推定装置 310 データ取得部
320 推定部 330 経路探索部
【要約】
【課題】周囲データ取得装置、自己位置推定装置の低価格化を図る。
【解決手段】周囲データ取得装置は、測距データ取得部、測距データ回転部、度数分布取得部、角度指示部、補正角度決定部、角度補正部、線分抽出部を備える。測距データ取得部は、周囲の物体との距離を計測した複数の測距点からなる測距データを取得する。測距データ回転部は、測距データの各測距点を回転させ、回転測距データを求める。度数分布取得部は、XY座標における測距点の度数分布を得る。角度指示部は、測距データ回転部に選択角度を指示し、度数分布取得部から選択角度での度数分布を取得する。補正角度決定部は、測距点が特定の距離間隔に集中している選択角度を求め、補正角度とする。角度補正部は、補正角度だけ角度基準を補正したときの補正後測距データを取得する。線分抽出部は、補正後測距データに基づいて、測距点が並ぶ範囲を線分として抽出する。
【選択図】図1
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16