歩行ロボット装置及びその制御プログラム
【課題】環境地図の作成と自己位置推定を、求められる精度を確保しつつ、安価に実現することのできる歩行ロボット装置及びその制御プログラムを提供する。
【解決手段】環境地図を作成する機能は、2ヶ所において撮影した地図作成用環境画像から撮影対象物を示す代表点を抽出し、代表点の位置と撮影した位置座標とから撮影対象物の位置座標を求め、撮影した地図作成用環境画像、代表点の位置及び前記撮影対象物の位置座標とを関連付けた環境地図を作成する。自己位置を推定する機能は、任意の位置座標において撮影した位置推定用環境画像中の撮影対象物の代表点に、対応する地図作成用環境画像中の撮影対象物の位置座標を対応させ、交会法によって前記歩行ロボット装置の自己位置を算出する。
【解決手段】環境地図を作成する機能は、2ヶ所において撮影した地図作成用環境画像から撮影対象物を示す代表点を抽出し、代表点の位置と撮影した位置座標とから撮影対象物の位置座標を求め、撮影した地図作成用環境画像、代表点の位置及び前記撮影対象物の位置座標とを関連付けた環境地図を作成する。自己位置を推定する機能は、任意の位置座標において撮影した位置推定用環境画像中の撮影対象物の代表点に、対応する地図作成用環境画像中の撮影対象物の位置座標を対応させ、交会法によって前記歩行ロボット装置の自己位置を算出する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、歩行ロボット装置及びその制御プログラムに関する。
【背景技術】
【0002】
自律移動する歩行ロボットは、障害物や段差を自律的に回避しながら移動する。そのため歩行ロボットは、移動環境を記述した環境地図を用いて、常に正確な自己位置を算出する必要がある。従来の歩行ロボットでは、移動環境内を正確に移動することが求められていることから、環境地図は高い精度で作成されなければならない。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2007−322138号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、家庭内での使用を目的としたホームロボットには、必ずしも高性能・高精度であることが求められているわけではなく、必要最低限の機能を備え、必要十分な性能・精度を満たしていれば良い場合もある。
しかしながら、従来の環境地図の作成と自己位置推定では、歩行ロボットに高価なセンサ、測定器を搭載し、負荷の大きい演算処理を行なう必要があったため、小型化や多機能同時処理や低価格化には制限があった。
【0005】
本発明は、このような従来の状況に鑑みて提案されたものであり、環境地図の作成と自己位置推定を、求められる精度を確保しつつ、簡易に実現することのできる歩行ロボット装置及びその制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するための本発明は、搭載した一台の撮像装置を用いて撮影した画像に基づいて環境地図を生成し、生成した環境地図を用いて自己位置を推定して、所定領域内を2足歩行する歩行ロボット装置であって、環境地図を作成する機能は、2ヶ所において撮影した地図作成用環境画像から撮影対象物毎に当該撮影対象物を示す代表点を抽出する代表点抽出部と、2ヶ所において撮影した地図作成用環境画像のそれぞれの代表点の位置と、撮影した歩行ロボット装置の位置座標とから前記撮影対象物の位置座標を求める位置座標取得部と、前記撮影した地図作成用環境画像、代表点の位置及び前記撮影対象物の位置座標とを関連付けた環境地図を作成する環境地図作成部とを有し、自己位置を推定する機能は、任意の位置座標において撮影した位置推定用環境画像中の撮影対象物と、前記環境地図に含まれる地図作成用環境画像中の撮影対象物とを対応させる撮影対象物対応部と、位置推定用環境画像中の撮影対象物の代表点に、対応する地図作成用環境画像中の撮影対象物の位置座標を対応させる位置座標対応部と、位置座標が対応した位置推定用環境画像中の撮影対象物の代表点を用いた交会法によって前記歩行ロボット装置の自己位置を算出する自己位置算出部とを有する。
【発明の効果】
【0007】
この発明によれば、環境地図の作成と自己位置推定を、求められる精度を確保しつつ、安価あるいは小型化や多機能化を実現することのできる歩行ロボット装置及びその制御プログラムを提供することができる。
【図面の簡単な説明】
【0008】
【図1】ロボット装置の外観構成を示す図。
【図2】ロボット装置の環境地図の作成と自己位置推定を制御する制御ブロックの構成と、制御ブロック間の信号のフローを示す図。
【図3】環境地図を作成する手順を示すフロー図。
【図4】環境地図を作成する方法を説明するための図。
【図5】特徴点関数を撮影画像をXY平面とする三次元直交座標で表した模式図。
【図6】ランドマーク候補領域を説明する図。
【図7】特徴点が重複した場合の処理方法を説明する図。
【図8】ランドマークの重心位置座標を算出する方法を示す図。
【図9】自己位置を推定する手順を示すフロー図。
【図10】自己位置を推定する方法を説明するための図。
【図11】現在位置を求める方法を説明するための図。
【発明を実施するための形態】
【0009】
[第1の実施の形態]
本実施の形態の歩行ロボット装置(以下、ロボット装置という)は、主として人に毎日の生活を楽しんでもらいながら情報やサービスの提供を行うパーソナルホームコンシェルジュとしての働きを担っている。このために、ロボット装置には、「コミュニケーション知能」による自然なコミュニケーションと共に「移動知能」による生活空間内の自由な移動が求められる。従って、生活空間における家具などが複数存在する環境下において目的地まで自律的に移動できなければならない。
【0010】
図1は、ロボット装置1の外観構成を示す図である。
このロボット装置1は、視覚、聴覚、会話及び2足歩行の機能を備えたヒューマノイド型として構成されている。このような機能を安価に実現するために、複数の汎用技術を組み合わせて高度・高性能な技術を実現するマルチプレックス方式を採用している。例えば、マザーボード、アクチュエータ等ハードウエアには汎用部品を採用し、ソフトウエアで機能を補完するなどの設計思想が採用されている。
【0011】
ロボット装置1には、カメラ10が搭載され、ロボット装置1の周囲の環境を撮影する。ロボット装置1は、カメラ10で撮影された周囲の環境映像に基づいて環境地図の作成と自己位置推定を実行する。さらにロボット装置1は、図1に示すように、複数の圧力センサ、ジャイロ、加速度センサなどを搭載し、各関節軸の動きを制御して安定した2足歩行動作を実現するが、その詳細の説明は省略する。以下の説明においては、このロボット装置1が、制御装置(不図示)の指令に基づいて任意の姿勢をとることができること、また任意の方向に安定した2足歩行動作を行い得ることに留意されたい。
【0012】
次に、以下の説明において使用される用語を定義する。
*ランドマーク:環境地図上において目標物として扱われる撮影画像上の領域。
*撮影対象物:撮影画像内にある物体。
*ランドマーク対象物:ランドマークに対応する撮影対象物。
*撮影情報:撮影画像、撮影角度、撮影したロボット位置などを含む情報。
*特徴情報:撮影画像上の特徴ある点(特徴点)の位置、特徴点の特徴量、特徴点の数学的なパラメータ(特徴点量)などを含む情報。
*ランドマーク情報:ランドマークごとの撮影情報、特徴情報、領域を表す座標、領域の重心座標などを含む情報。
【0013】
図2は、ロボット装置1の環境地図の作成と自己位置推定を制御する制御ブロックの構成と、制御ブロック間の信号のフローを示す図である。
【0014】
ロボット装置1には制御ブロックとして、環境画像撮影部21、環境画像連結部22、特徴情報生成部23、歩行処理部24、現在位置座標算出部25、撮影情報生成部26、ランドマーク候補生成部27、対応点抽出部30、ランドマーク生成部31及びランドマーク対象物重心位置座標算出部32が備わっている。
【0015】
また、ロボット装置1には記憶装置40が設けられている。この記憶装置40には、環境地図が格納される。環境地図には、詳細は後述するが、生活空間における家具などのランドマークの存在する位置情報、そのランドマークの特徴情報などが記載される。
【0016】
図2では、環境地図作成機能を実現するためのブロックを開示している、位置Aとして表される枠内は移動前の位置における制御ブロック間の信号フローを表し、位置Bとして表される枠内は移動後の位置における制御ブロック間の信号フローを表している。なお、同一の機能を備えた制御ブロックは同一の参照符号を付している。
【0017】
位置Aとして表した枠内において、環境画像撮影部21は、カメラ10を用いて撮影した周囲の環境画像を取得する。環境画像連結部22は、複数の環境画像を連結処理して1枚の画像にする。特徴情報生成部23は、連結処理された画像から特徴となる情報を抽出する。歩行処理部24は、歩幅、歩数、旋回角を積算する。現在位置座標算出部25は、積算された歩幅、歩数、旋回角から現在位置を表す座標値を算出する。
撮影情報生成部26は、撮影画像、撮影位置、撮影方向などを関連付けた撮影情報を生成する。ランドマーク候補生成部27は、撮影情報と特徴情報とからランドマーク候補を抽出し、ランドマーク候補情報を出力する。
【0018】
位置Bとして表した枠内において、上述と同様に周囲環境の撮影が行なわれ撮影情報と特徴情報とが生成される。但し、位置Bにおいてはランドマーク候補情報は生成されない。ランドマーク候補情報は、移動前の状態において生成される。
【0019】
対応点抽出部30は、移動前と移動後との異なる位置で撮影した座標から取得した情報を比較してそれぞれの情報の対応付けを行なう。ランドマーク生成部31は、互いの情報から類似した特徴を有する領域(ランドマーク)を抽出する。ランドマーク対象物重心位置座標算出部32は、ランドマークに対応する撮影対象物(ランドマーク対象物)の重心位置座標を算出する。そして、これらのランドマーク情報、ランドマーク対象物重心位置座標は環境地図として記憶部40に格納される。
【0020】
図3は、環境地図を作成する手順を示すフロー図である。図4は、環境地図を作成する方法を説明するための図である。図3及び図4を参照しつつ環境地図作成動作について説明する。
ユーザが、ロボット装置1に対して環境地図作成を指示することによって、ロボット装置1は、環境地図作成動作を開始する。ここで、歩行空間内の座標は、所定位置を基準(原点)とした世界座標系で表されている。この座標系では、ロボット装置1の位置は、X座標、Y座標、ロボット装置1の向きを表す角度情報をパラメータとして(x、y、θ)で表される。ロボット装置1は、自律で移動する。そして、ロボット装置1は、歩数、歩幅、旋回角を積算することにより、現在位置の座標(x、y、θ)を算出する。従って、環境地図作成を指示された時点において、ロボット装置1は、現在位置の座標(x、y、θ)を把握しているものとして以下の手順を説明する。
【0021】
図3のステップS01において、ロボット装置1は、現在位置の周囲を撮影して特徴のある対象物をランドマーク候補として抽出する。このステップS01の処理は次のように実施する。
【0022】
(100)現在位置座標算出部25が、ロボット装置1の現在位置A(X1、Y1、θ1)を取得する。
(101)環境画像撮影部21は、ロボット装置1の頭部のカメラ10で、現在位置Aの周囲を撮影する。撮影枚数には特に制限がなく、カメラの回動する範囲、画角等から定められる。全周囲を撮影することが望ましいが、進行方向を中心にして左右側にそれぞれ2枚、合計で4枚撮影でも十分である。図4では、移動方向を基準線として、左側1枚(θα)、右側2枚(θβ、θγ)の3枚が撮影されている。
(102)撮影情報生成部26は、撮影した画像、撮影位置の座標、撮影方向を関連付けて撮影情報として記憶部40に格納する。
【0023】
(103)環境画像連結部22は、撮影範囲が連続している画像同士を水平方向につなぎ合わせて1枚の画像とする。
【0024】
(104)特徴情報生成部23は、撮影した画像から特徴点を探索する。特徴点とは、照明などの環境変化や物体の見え方の違いなど様々な不確定要素に対して不変である特徴量を持つ点あって、対象物の特徴の抽出に適した点のことである。なお、特徴量として一般的に知られているものには、形状やテクスチャ(物の表面の質感)などに基づく特徴量や、画像から特徴点を抽出してその点での特徴ベクトルを特徴量として抽出したSIFT特徴量やSURF特徴量などがある。
特徴情報生成部23は、探索した特徴点毎に特徴量と特徴点量とを算出し、特徴情報として記憶部40に記憶する。SURFによる特徴量抽出では、特徴量として64次元あるいは128次元のパラメータをもつ特徴ベクトルを得る。また、特徴点量として、画像内の特徴点の座標(X,Y)、Laplacian(その点におけるラプラシアンの符号)、Size(特徴のサイズ)、Dir(特徴の方向)、Hessian(ヘシアンの値:特徴の強さを推定できる。)を得る。
【0025】
(105)ランドマーク候補生成部27は、記憶部40に格納されている撮影情報及び特徴情報に基いて、ランドマーク候補となる対象物の領域を抽出する。ランドマーク候補の領域を抽出する処理は次のように実施される。
【0026】
(105−1)それぞれの特徴点iに対して式(1)で表される特徴点関数Z(i)を定義する。
【数1】
【0027】
なお、撮影画像内に設定した座標系での特徴点iの座標を(Xi,Yi,0)、特徴点iにおける特徴のサイズをS(i)、特徴点iにおける特徴のヘシアンをH(i)としている。
【0028】
図5は、特徴点関数を撮影画像をXY平面とする三次元直交座標で表した模式図である。特徴点関数は、XY平面上では、特徴点を中心として直径がSizeの円に投影される立体形状である。特徴点関数の値は、特徴点において最大値(=ヘシアンの値)となり、特徴点から離れるにつれて余弦関数に従って減少し、円領域の境界点において最小値(=0)となる。なお、特徴点から円領域の境界点へ向かって減少するカーブは、余弦関数に限られない。単調に減少する関数であれば良い。
【0029】
(105−2)全特徴点関数の値を加算し、その加算された値が所定の閾値(T)以上の領域を撮影画像内のXY平面に投影する。この領域を「ランドマーク候補領域」という。
図6は、ランドマーク候補領域を説明する図である。図6(1)は、XY平面上の1つの直線上にある特徴点関数の値を加算して閾値以上となる範囲を示す図である。図6(1)では、L1からL2の範囲が求められる。またこの範囲に属する特徴点も求められる。図6(2)は、特徴点関数の値を加算した値が閾値以上となる範囲をXY平面に表した図である。
【0030】
(105−3)ランドマーク候補領域に外接し、X軸、Y軸と平行な長方形Fを求める。この長方形Fで囲まれる領域を「ランドマーク候補」という。また、この長方形Fで囲まれる領域に対応する撮影対象物を「ランドマーク候補対象物」という。次に、この長方形Fの重心座標、即ち、対角線の交点座標を求める。
【0031】
(105−4)長方形で囲まれる領域に含まれる少なくとも一つの特徴点の特徴量と特徴点量、長方形の頂点座標、重心座標、撮影情報を対応付けて、ランドマーク候補情報として記憶部40に格納する。
【0032】
図3のステップS02において、ロボット装置1は、環境地図作成領域内の異なる位置(以下、「位置B」という。)へ移動する。現在位置座標算出部25は、歩数、歩幅、旋回角の積算(オドメトリ)により現在位置Bの座標(x2、y2、θ2)を算出して取得する。
【0033】
ステップS03において、ロボット装置1の頭部のカメラ10で、現在位置Bの周囲を撮影する。撮影枚数には特に制限がなく、カメラの回動する範囲、画角等から定められる。例えば、進行方向を中心にして左右側にそれぞれ2枚、合計で4枚撮影する。図4では、移動方向に対して、左側1枚(θδ)、右側2枚(θε、θζ)の3枚が撮影されている。
そして、ロボット装置1は撮影した画像より特徴量、特徴点量を抽出するが、この処理は、ステップ01の処理(104)と同じであるため詳細の説明は省略する。
【0034】
ステップS04において、対応点抽出部30は、移動前後の撮影画像から同じ対象物を対応付ける。このステップS04の処理は次のように実施する。なお、以下の説明では、ロボット装置1が位置Aで撮影した画像を画像Aと呼び、位置Bで撮影した画像を画像Bと呼ぶ。
【0035】
(200)画像Aの長方形で囲まれた領域から特徴点を任意に1点選択する。また画像Bから特徴点を任意に1点選択する。この画像Bの特徴点を選択する際には、それぞれの特徴点の特徴点量Laplacianが同一のものを選択する。Laplacianが異なる特徴同士はマッチしないためである。
【0036】
(201)選択された2つの特徴点について、特徴量の全パラメータに基づいてユークリッド距離を式(2)で算出する。
【数2】
【0037】
(202)ユークリッド距離が閾値以下の場合、それら特徴点の組み合わせと算出したユークリッド距離とを関連付けて記憶部40に記憶する。
(203)画像Bにある全ての特徴点について、処理(201)、(202)を実行し、最小のユークリッド距離を与える特徴点の組み合わせを求める。
【0038】
(204)画像Aの長方形の内部にある特徴点すべてに対して処理(201)〜(203)を実行し、最小のユークリッド距離を与える特徴点の組み合わせを求める。この際、画像B上の特徴点が重複して関連付けられることを回避する。
【0039】
図7は、特徴点が重複した場合の処理方法を説明する図である。
画像A上の特徴点a1と画像B上の特徴点b1とがユークリッド距離=100で対応付けられていたとする。対応付け処理において、画像A上の特徴点a2と画像B上の特徴点b1とがユークリッド距離=120で対応付けられた場合、特徴点b1が重複して対応付けられる。このときは、ユークリッド距離が小さいほうの組み合わせが採用され、ユークリッド距離が大きい組み合わせが棄却される。その結果、画像A上の特徴点a2は、ユークリッド距離が2番目に小さい組み合わせである、画像B上の特徴点b2と対応付けられる。
【0040】
図3のステップS05において、ランドマーク生成部31は、ランドマークを抽出する。このステップS05の処理は次のように実施する。
(300)画像B上にXY直交座標系を設定し、画像B上の対応付けられた特徴点の座標を決定する。
【0041】
(301)画像A上と画像B上の対応付けられた特徴点を任意に4組選択し、その4組を用いて画像Aと画像Bとを一致させるための仮の射影変換行列を求める。
(302)画像A上の特徴点の座標を仮の射影変換行列を用いて、画像B上の座標に変換し、対応する特徴点の座標との距離を求める。そして、距離が所定値以下の組数を、前記仮の射影変換行列のスコアとする。
【0042】
(303)画像A上と画像B上の対応付けられた特徴点の4組を選択する全ての組み合わせについて、処理(301)〜(302)を実行して仮の射影変換行列のスコアを求める。
(304)最もスコアが高い仮の変換行列を、画像Aの座標系と画像Bの座標系とを一致させるための真の変換行列とする。
【0043】
(305)真の変換行列を用いて画像Aの長方形を画像B上に射影する。画像B上では長方形は四辺形として射影される。
画像A上の現在選択されている長方形で囲まれる領域、及び、これに対応する画像B上の四辺形で囲まれる領域をランドマークという。
前記長方形で囲まれる領域に対応する撮影対象物と前記四辺形で囲まれる領域に対応する撮影対象物は、それぞれ位置A、位置Bから撮影した同一の撮影対象物であって、この撮影対象物をランドマーク対象物という。
【0044】
(306)現在選択されている長方形で囲まれる領域に含まれる特徴点の特徴量と特徴点量、前記長方形の画像Aの座標系での頂点座標と重心位置座標、撮影情報A、前記長方形に対応する四辺形で囲まれる領域に含まれる特徴点の特徴量と特徴点量、前記四辺形の画像Bの座標系での頂点座標と重心座標、撮影情報Bを関連付けてランドマーク情報として記憶部40に記憶する。
【0045】
図3のステップS06において、ランドマーク対象物重心位置座標算出部32は、ランドマークの重心位置座標を算出する。このステップS06の処理は次のように実施する。
図8は、ランドマークの重心位置座標を算出する方法を示す図である。
【0046】
(400)撮影情報Aと撮影情報Bを基に、位置Aと位置Bを結ぶ線分(以下、「線分AB」という。)の長さを算出する。
【0047】
(401)現在選択されているランドマーク対象物をLMαとし、位置Aからの撮影により設定されたLMαの重心位置を位置α‘としたとき、そのランドマーク情報を基に、位置Aと位置α‘を結ぶ線分(以下、「直線Aα‘」という。)と、線分ABとのなす角θαを算出する。
【0048】
(402)位置Bからの撮影により設定されたLMαの重心位置を位置α“としたとき、そのランドマーク情報を基に、位置Bと位置α“を結ぶ線分(以下、「直線Bα“」という。)と、線分ABとのなす角θδを算出する。
【0049】
(403)三角測量法に基づき、直線Aα‘と直線Bα“の交点の位置座標を、現在選択されているランドマーク対象物の重心位置の仮の座標として算出する。
【0050】
(404)現在選択されているランドマーク対象物の重心位置の仮の座標が、位置A及び位置B以外の位置での環境地図作成においても算出され、既に記憶されている場合は、全ての仮の座標の相加平均を、現在選択されているランドマーク対象物の重心位置の新たな仮の座標として算出する。なお、当該ランドマーク対象物が同一か否かは、ランドマーク対象物の重心位置の差(距離)が所定値以内であるかどうかで判断する。
【0051】
図3のステップS07において、ランドマーク対象物重心位置座標算出部32は、算出されたランドマーク対象物の重心位置の仮の座標を記憶部40に記憶する。
【0052】
ステップS08において、更なる移動先(ロボット位置)が規定されている場合(ステップS08 No)は、ステップS09において、当該移動先において、ステップS01からの処理を繰り返して実行する。そして、規定されている所定の位置において、処理を実行した後は、ランドマーク対象物の重心位置の最終的な仮の座標を、そのランドマーク対象物の重心位置の真の座標として、そのランドマーク情報と関連付けて環境地図に保存する。
【0053】
なお、上述の形態では、2点のロボット位置で環境地図を作成したが、L字型(又は逆L字型)に移動して3点のロボット位置で環境地図を作成してもよく、コの字型(又は逆コの字型)に移動して4点のロボット位置で環境地図を作成してもよい。更に、これらの動作を任意の数組み合わせた複数点のロボット位置で環境地図を作成してもよい。移動経路は、ロボット装置1が適用される環境に合わせて設定しても良い。また、ステップS09において、ロボット装置1は移動せずに、位置Bその場において向きを変え位置Bを新たな位置Aとしてこれら手順を繰り返して周囲全体の地図を作成しても良い。結果として、L字型、コの字型に移動したものと同様の情報を得ることができる。ステップS09の移動はこのような動作も含んだ概念として記載している。
【0054】
また、上述の形態では、ロボット位置Aで長方形を形成し、ロボット位置Bで四辺形を形成した。即ち、ロボット位置Aで撮影した画像を基準として、ロボット位置Bで撮影した画像との比較でランドマークを抽出した。そのため、ロボット位置Aでは撮影されておらず、ロボット位置Bで初めて撮影された対象物のランドマークは抽出されない。
従って、例えば、ロボット位置A→B→C→Dと移動する場合において、ロボット位置Aを基準としてロボット位置Bとの比較でランドマークを抽出したあとは、ロボット位置Bを基準としてロボット位置Cとの比較でランドマークを抽出し、ロボット位置Cを基準としてロボット位置Dとの比較でランドマークを抽出しても良い。
【0055】
続いて、上述のようにして作成した環境地図を用いて自己位置を推定する方法を説明する。
図9は、自己位置を推定する手順を示すフロー図である。図10は、自己位置を推定する方法を説明するための図である。図9及び図10を参照しつつ自己位置を推定する動作について説明する。
ロボット装置1は、ユーザによって移動空間内の任意の位置に設置され動作開始を指示されたときに現在自身が存在する位置(自己位置)を推定する。更に、ロボット装置1は、所定距離移動したときに自己位置を推定する。従って、ロボットが自己位置を推定する際には、オドメトリにより自己位置が把握できる場合と、自己位置がまったく不明である場合の2つの場合が存在する。図9、図10に示す自己位置を推定する方法では、この2つの場合における自己位置推定方法を開示する。
【0056】
ステップT01において、ロボット装置1は、位置認識フラグをセットして、自己位置推定動作を開始する。オドメトリにより自己位置が把握できる場合には位置認識フラグをオンとし、自己位置がまったく不明である場合には位置認識フラグをオフとする。
【0057】
ステップT02において、ロボット装置1は、周囲を撮影して環境地図にあるランドマークと同一のランドマークを抽出する。このステップST02の処理は次のように実施する。
【0058】
(500)環境画像撮影部21は、ロボット装置1の頭部のカメラ10で、現在位置(位置C)の周囲を撮影する。撮影枚数には制限が設けられない。撮影された複数枚の画像を撮影範囲の重複が生じないように水平方向につなぎ合わせて、1枚の画像(画像C)を生成する。
【0059】
(501)画像Cから特徴点を探索し、特徴点毎に特徴量と特徴点量(特徴情報C)を算出する。この処理は、ステップ01の処理(104)と同じであるため詳細の説明は省略する。
【0060】
(502)特徴情報Cを参照して、対応点抽出部30は、算出した特徴点の内、環境地図に保存されているランドマーク上の特徴点と対応する特徴点(対応点)を対応付ける。この処理は、図3のステップS04の処理(200)〜(204)と同じであるため詳細の説明は省略する。
【0061】
(503)なお、対応点が存在していない場合は、現在の位置が不適当な場合であるため、位置を変更する。例えば、特徴点が画像の端部に存在している場合は、向きをその端部の方向に変更する。また特徴点が存在していない場合は、向きを後方に変更する。そして、処理(500)〜(502)を実行する。
【0062】
(504)抽出された対応点を基にして、環境地図に保存されているランドマークと類似した特徴を有する領域を、画像Cから抽出する。この処理は、ステップS05の処理(300)〜(306)と同じであるため詳細の説明は省略する。
ここで抽出された領域は、環境地図に保存されているランドマークを画像Cの座標系へ射影変換した形状である。つまり、抽出された領域に対応する撮影対象物は、環境地図を作成する際に設定されたランドマーク対象物と同一であり、抽出された領域に対応する撮影対象物は、位置Cから撮影したランドマーク対象物である。実際は、対応点抽出や射影変換などの誤差により、抽出された領域に対応する撮影対象物の位置と設定されたランドマーク対象物の位置とは若干異なることがある。
【0063】
図9のステップT03において、環境地図から前記領域に対応する撮影対象物の重心の位置座標を得る。このようにして、画像C中に存在するランドマークの座標を環境地図から得る。
【0064】
図9のステップT04において、ロボット装置1の現在位置Cを平板測量でよく用いられる交会法の応用によって求める。このステップT04の処理は次のように実施する。
図11は、現在位置を求める方法を説明するための図である。
【0065】
(600)抽出されたランドマークを任意に2個選択する。図11に示すように選択した2個のランドマークに対応するランドマーク対象物をLMδ、LMεとし、その重心位置をそれぞれ位置δ、位置εとする。環境地図に保存されているランドマーク情報を基に、∠δCε(=∠θα)を算出する。
【0066】
(601)位置δ、位置ε及び位置Cを通る円の中心座標Oαと半径R1とを求める。∠θαは円の円周角であるため、中心角は2×∠θαとして求められる。従って、この円の中心座標は、位置δ、位置εより等距離(=R1)にある頂角が2×∠θαの二等辺三角形の頂点座標として求めることができる。
【0067】
(602)抽出されたn個のランドマークの内、2個のランドマークを選択する全組合せ(nC2通り)について円の中心座標と半径とを求める。
【0068】
(603)2個の円を選択すれば、位置Cはその交点座標で表すことができる。そこで、2個の円を選択する全組合せについて位置Cの交点座標を求める。そして、これらの相加平均を現在位置Cの座標として算出する。
【0069】
図9のステップT05において、位置認識フラグがONか否かを判断する。
位置認識フラグがOFFの場合(ステップT05 No)、即ち自己位置がまったく不明である場合には、ステップT06において、交会法を応用して求めた現在位置Cをロボット装置1の自己位置とする。
そして、自己位置推定処理を終了する。
【0070】
位置認識フラグがONの場合(ステップT05 No)、即ちオドメトリにより自己位置が把握できる場合には、ステップT07において、オドメトリによる現在位置を算出する。
そして、ステップT08において、オドメトリにより算出された位置座標と交会法で算出された位置座標とを融合して新たに位置座標を算出し、この座標を現在位置Cの真の座標とする。
【0071】
ここで融合とは、オドメトリによる誤差と交会法による誤差をお互いに相殺するように、オドメトリと交会法の両者の値を処理して、より真実に近い値を算出する手法である。融合については、例えば、POEM(Position Estimation module)や、「日本ロボット学会誌 Vol.15 No.8,PP.1180〜1187,1997」などを参考にして行うことができる。
【0072】
以上、説明した実施の形態によれば、種々の効果を得ることができる。
【0073】
本実施の形態のロボット装置では、従来のロボットにおいて標準的に装備されていたレーザレンジファインダなどの測距手段は搭載していない。また、周囲環境を撮影するカメラも1台である。従って、ロボット装置のコストを低減することができる。
また、このような低廉なハードウエア構成において、所要の精度を確保するために、環境地図は、ランドマークを表す特徴量、ランドマークを表す重心位置座標などのランドマーク情報の集合で構成している。この結果、画像処理などの処理時間と処理データが少なくなり、負荷の大きい演算処理を排除することが可能となっている。
【0074】
また、ランドマークの位置をランドマークの特徴量分布から求めた四辺形の重心位置として一点の座標位置で規定している。この結果、自己位置推定処理が簡便化され効率的に処理することが可能となった。
【0075】
このように、本実施の形態のロボット装置は、ホームユースに求められる精度を確保しつつ安価に実現することのできる歩行ロボット装置として構成されている。
【0076】
なお、上述の各実施の形態で説明した機能は、ハードウェアを用いて構成するに留まらず、ソフトウェアを用いて各機能を記載したプログラムをコンピュータに読み込ませて実現することもできる。また、各機能は、適宜ソフトウェア、ハードウェアのいずれかを選択して構成するものであっても良い。
【0077】
尚、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。
上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【0078】
1…ロボット装置、10…カメラ、21…環境画像撮影部、22…環境画像連結部、23…特徴情報生成部、24…歩行処理部、25…現在位置座標算出部、26…撮影情報生成部、27…ランドマーク候補生成部、30…対応点抽出部、31…ランドマーク生成部、32…ランドマーク対象物重心位置座標算出部、40…記憶部。
【技術分野】
【0001】
本発明は、歩行ロボット装置及びその制御プログラムに関する。
【背景技術】
【0002】
自律移動する歩行ロボットは、障害物や段差を自律的に回避しながら移動する。そのため歩行ロボットは、移動環境を記述した環境地図を用いて、常に正確な自己位置を算出する必要がある。従来の歩行ロボットでは、移動環境内を正確に移動することが求められていることから、環境地図は高い精度で作成されなければならない。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2007−322138号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、家庭内での使用を目的としたホームロボットには、必ずしも高性能・高精度であることが求められているわけではなく、必要最低限の機能を備え、必要十分な性能・精度を満たしていれば良い場合もある。
しかしながら、従来の環境地図の作成と自己位置推定では、歩行ロボットに高価なセンサ、測定器を搭載し、負荷の大きい演算処理を行なう必要があったため、小型化や多機能同時処理や低価格化には制限があった。
【0005】
本発明は、このような従来の状況に鑑みて提案されたものであり、環境地図の作成と自己位置推定を、求められる精度を確保しつつ、簡易に実現することのできる歩行ロボット装置及びその制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するための本発明は、搭載した一台の撮像装置を用いて撮影した画像に基づいて環境地図を生成し、生成した環境地図を用いて自己位置を推定して、所定領域内を2足歩行する歩行ロボット装置であって、環境地図を作成する機能は、2ヶ所において撮影した地図作成用環境画像から撮影対象物毎に当該撮影対象物を示す代表点を抽出する代表点抽出部と、2ヶ所において撮影した地図作成用環境画像のそれぞれの代表点の位置と、撮影した歩行ロボット装置の位置座標とから前記撮影対象物の位置座標を求める位置座標取得部と、前記撮影した地図作成用環境画像、代表点の位置及び前記撮影対象物の位置座標とを関連付けた環境地図を作成する環境地図作成部とを有し、自己位置を推定する機能は、任意の位置座標において撮影した位置推定用環境画像中の撮影対象物と、前記環境地図に含まれる地図作成用環境画像中の撮影対象物とを対応させる撮影対象物対応部と、位置推定用環境画像中の撮影対象物の代表点に、対応する地図作成用環境画像中の撮影対象物の位置座標を対応させる位置座標対応部と、位置座標が対応した位置推定用環境画像中の撮影対象物の代表点を用いた交会法によって前記歩行ロボット装置の自己位置を算出する自己位置算出部とを有する。
【発明の効果】
【0007】
この発明によれば、環境地図の作成と自己位置推定を、求められる精度を確保しつつ、安価あるいは小型化や多機能化を実現することのできる歩行ロボット装置及びその制御プログラムを提供することができる。
【図面の簡単な説明】
【0008】
【図1】ロボット装置の外観構成を示す図。
【図2】ロボット装置の環境地図の作成と自己位置推定を制御する制御ブロックの構成と、制御ブロック間の信号のフローを示す図。
【図3】環境地図を作成する手順を示すフロー図。
【図4】環境地図を作成する方法を説明するための図。
【図5】特徴点関数を撮影画像をXY平面とする三次元直交座標で表した模式図。
【図6】ランドマーク候補領域を説明する図。
【図7】特徴点が重複した場合の処理方法を説明する図。
【図8】ランドマークの重心位置座標を算出する方法を示す図。
【図9】自己位置を推定する手順を示すフロー図。
【図10】自己位置を推定する方法を説明するための図。
【図11】現在位置を求める方法を説明するための図。
【発明を実施するための形態】
【0009】
[第1の実施の形態]
本実施の形態の歩行ロボット装置(以下、ロボット装置という)は、主として人に毎日の生活を楽しんでもらいながら情報やサービスの提供を行うパーソナルホームコンシェルジュとしての働きを担っている。このために、ロボット装置には、「コミュニケーション知能」による自然なコミュニケーションと共に「移動知能」による生活空間内の自由な移動が求められる。従って、生活空間における家具などが複数存在する環境下において目的地まで自律的に移動できなければならない。
【0010】
図1は、ロボット装置1の外観構成を示す図である。
このロボット装置1は、視覚、聴覚、会話及び2足歩行の機能を備えたヒューマノイド型として構成されている。このような機能を安価に実現するために、複数の汎用技術を組み合わせて高度・高性能な技術を実現するマルチプレックス方式を採用している。例えば、マザーボード、アクチュエータ等ハードウエアには汎用部品を採用し、ソフトウエアで機能を補完するなどの設計思想が採用されている。
【0011】
ロボット装置1には、カメラ10が搭載され、ロボット装置1の周囲の環境を撮影する。ロボット装置1は、カメラ10で撮影された周囲の環境映像に基づいて環境地図の作成と自己位置推定を実行する。さらにロボット装置1は、図1に示すように、複数の圧力センサ、ジャイロ、加速度センサなどを搭載し、各関節軸の動きを制御して安定した2足歩行動作を実現するが、その詳細の説明は省略する。以下の説明においては、このロボット装置1が、制御装置(不図示)の指令に基づいて任意の姿勢をとることができること、また任意の方向に安定した2足歩行動作を行い得ることに留意されたい。
【0012】
次に、以下の説明において使用される用語を定義する。
*ランドマーク:環境地図上において目標物として扱われる撮影画像上の領域。
*撮影対象物:撮影画像内にある物体。
*ランドマーク対象物:ランドマークに対応する撮影対象物。
*撮影情報:撮影画像、撮影角度、撮影したロボット位置などを含む情報。
*特徴情報:撮影画像上の特徴ある点(特徴点)の位置、特徴点の特徴量、特徴点の数学的なパラメータ(特徴点量)などを含む情報。
*ランドマーク情報:ランドマークごとの撮影情報、特徴情報、領域を表す座標、領域の重心座標などを含む情報。
【0013】
図2は、ロボット装置1の環境地図の作成と自己位置推定を制御する制御ブロックの構成と、制御ブロック間の信号のフローを示す図である。
【0014】
ロボット装置1には制御ブロックとして、環境画像撮影部21、環境画像連結部22、特徴情報生成部23、歩行処理部24、現在位置座標算出部25、撮影情報生成部26、ランドマーク候補生成部27、対応点抽出部30、ランドマーク生成部31及びランドマーク対象物重心位置座標算出部32が備わっている。
【0015】
また、ロボット装置1には記憶装置40が設けられている。この記憶装置40には、環境地図が格納される。環境地図には、詳細は後述するが、生活空間における家具などのランドマークの存在する位置情報、そのランドマークの特徴情報などが記載される。
【0016】
図2では、環境地図作成機能を実現するためのブロックを開示している、位置Aとして表される枠内は移動前の位置における制御ブロック間の信号フローを表し、位置Bとして表される枠内は移動後の位置における制御ブロック間の信号フローを表している。なお、同一の機能を備えた制御ブロックは同一の参照符号を付している。
【0017】
位置Aとして表した枠内において、環境画像撮影部21は、カメラ10を用いて撮影した周囲の環境画像を取得する。環境画像連結部22は、複数の環境画像を連結処理して1枚の画像にする。特徴情報生成部23は、連結処理された画像から特徴となる情報を抽出する。歩行処理部24は、歩幅、歩数、旋回角を積算する。現在位置座標算出部25は、積算された歩幅、歩数、旋回角から現在位置を表す座標値を算出する。
撮影情報生成部26は、撮影画像、撮影位置、撮影方向などを関連付けた撮影情報を生成する。ランドマーク候補生成部27は、撮影情報と特徴情報とからランドマーク候補を抽出し、ランドマーク候補情報を出力する。
【0018】
位置Bとして表した枠内において、上述と同様に周囲環境の撮影が行なわれ撮影情報と特徴情報とが生成される。但し、位置Bにおいてはランドマーク候補情報は生成されない。ランドマーク候補情報は、移動前の状態において生成される。
【0019】
対応点抽出部30は、移動前と移動後との異なる位置で撮影した座標から取得した情報を比較してそれぞれの情報の対応付けを行なう。ランドマーク生成部31は、互いの情報から類似した特徴を有する領域(ランドマーク)を抽出する。ランドマーク対象物重心位置座標算出部32は、ランドマークに対応する撮影対象物(ランドマーク対象物)の重心位置座標を算出する。そして、これらのランドマーク情報、ランドマーク対象物重心位置座標は環境地図として記憶部40に格納される。
【0020】
図3は、環境地図を作成する手順を示すフロー図である。図4は、環境地図を作成する方法を説明するための図である。図3及び図4を参照しつつ環境地図作成動作について説明する。
ユーザが、ロボット装置1に対して環境地図作成を指示することによって、ロボット装置1は、環境地図作成動作を開始する。ここで、歩行空間内の座標は、所定位置を基準(原点)とした世界座標系で表されている。この座標系では、ロボット装置1の位置は、X座標、Y座標、ロボット装置1の向きを表す角度情報をパラメータとして(x、y、θ)で表される。ロボット装置1は、自律で移動する。そして、ロボット装置1は、歩数、歩幅、旋回角を積算することにより、現在位置の座標(x、y、θ)を算出する。従って、環境地図作成を指示された時点において、ロボット装置1は、現在位置の座標(x、y、θ)を把握しているものとして以下の手順を説明する。
【0021】
図3のステップS01において、ロボット装置1は、現在位置の周囲を撮影して特徴のある対象物をランドマーク候補として抽出する。このステップS01の処理は次のように実施する。
【0022】
(100)現在位置座標算出部25が、ロボット装置1の現在位置A(X1、Y1、θ1)を取得する。
(101)環境画像撮影部21は、ロボット装置1の頭部のカメラ10で、現在位置Aの周囲を撮影する。撮影枚数には特に制限がなく、カメラの回動する範囲、画角等から定められる。全周囲を撮影することが望ましいが、進行方向を中心にして左右側にそれぞれ2枚、合計で4枚撮影でも十分である。図4では、移動方向を基準線として、左側1枚(θα)、右側2枚(θβ、θγ)の3枚が撮影されている。
(102)撮影情報生成部26は、撮影した画像、撮影位置の座標、撮影方向を関連付けて撮影情報として記憶部40に格納する。
【0023】
(103)環境画像連結部22は、撮影範囲が連続している画像同士を水平方向につなぎ合わせて1枚の画像とする。
【0024】
(104)特徴情報生成部23は、撮影した画像から特徴点を探索する。特徴点とは、照明などの環境変化や物体の見え方の違いなど様々な不確定要素に対して不変である特徴量を持つ点あって、対象物の特徴の抽出に適した点のことである。なお、特徴量として一般的に知られているものには、形状やテクスチャ(物の表面の質感)などに基づく特徴量や、画像から特徴点を抽出してその点での特徴ベクトルを特徴量として抽出したSIFT特徴量やSURF特徴量などがある。
特徴情報生成部23は、探索した特徴点毎に特徴量と特徴点量とを算出し、特徴情報として記憶部40に記憶する。SURFによる特徴量抽出では、特徴量として64次元あるいは128次元のパラメータをもつ特徴ベクトルを得る。また、特徴点量として、画像内の特徴点の座標(X,Y)、Laplacian(その点におけるラプラシアンの符号)、Size(特徴のサイズ)、Dir(特徴の方向)、Hessian(ヘシアンの値:特徴の強さを推定できる。)を得る。
【0025】
(105)ランドマーク候補生成部27は、記憶部40に格納されている撮影情報及び特徴情報に基いて、ランドマーク候補となる対象物の領域を抽出する。ランドマーク候補の領域を抽出する処理は次のように実施される。
【0026】
(105−1)それぞれの特徴点iに対して式(1)で表される特徴点関数Z(i)を定義する。
【数1】
【0027】
なお、撮影画像内に設定した座標系での特徴点iの座標を(Xi,Yi,0)、特徴点iにおける特徴のサイズをS(i)、特徴点iにおける特徴のヘシアンをH(i)としている。
【0028】
図5は、特徴点関数を撮影画像をXY平面とする三次元直交座標で表した模式図である。特徴点関数は、XY平面上では、特徴点を中心として直径がSizeの円に投影される立体形状である。特徴点関数の値は、特徴点において最大値(=ヘシアンの値)となり、特徴点から離れるにつれて余弦関数に従って減少し、円領域の境界点において最小値(=0)となる。なお、特徴点から円領域の境界点へ向かって減少するカーブは、余弦関数に限られない。単調に減少する関数であれば良い。
【0029】
(105−2)全特徴点関数の値を加算し、その加算された値が所定の閾値(T)以上の領域を撮影画像内のXY平面に投影する。この領域を「ランドマーク候補領域」という。
図6は、ランドマーク候補領域を説明する図である。図6(1)は、XY平面上の1つの直線上にある特徴点関数の値を加算して閾値以上となる範囲を示す図である。図6(1)では、L1からL2の範囲が求められる。またこの範囲に属する特徴点も求められる。図6(2)は、特徴点関数の値を加算した値が閾値以上となる範囲をXY平面に表した図である。
【0030】
(105−3)ランドマーク候補領域に外接し、X軸、Y軸と平行な長方形Fを求める。この長方形Fで囲まれる領域を「ランドマーク候補」という。また、この長方形Fで囲まれる領域に対応する撮影対象物を「ランドマーク候補対象物」という。次に、この長方形Fの重心座標、即ち、対角線の交点座標を求める。
【0031】
(105−4)長方形で囲まれる領域に含まれる少なくとも一つの特徴点の特徴量と特徴点量、長方形の頂点座標、重心座標、撮影情報を対応付けて、ランドマーク候補情報として記憶部40に格納する。
【0032】
図3のステップS02において、ロボット装置1は、環境地図作成領域内の異なる位置(以下、「位置B」という。)へ移動する。現在位置座標算出部25は、歩数、歩幅、旋回角の積算(オドメトリ)により現在位置Bの座標(x2、y2、θ2)を算出して取得する。
【0033】
ステップS03において、ロボット装置1の頭部のカメラ10で、現在位置Bの周囲を撮影する。撮影枚数には特に制限がなく、カメラの回動する範囲、画角等から定められる。例えば、進行方向を中心にして左右側にそれぞれ2枚、合計で4枚撮影する。図4では、移動方向に対して、左側1枚(θδ)、右側2枚(θε、θζ)の3枚が撮影されている。
そして、ロボット装置1は撮影した画像より特徴量、特徴点量を抽出するが、この処理は、ステップ01の処理(104)と同じであるため詳細の説明は省略する。
【0034】
ステップS04において、対応点抽出部30は、移動前後の撮影画像から同じ対象物を対応付ける。このステップS04の処理は次のように実施する。なお、以下の説明では、ロボット装置1が位置Aで撮影した画像を画像Aと呼び、位置Bで撮影した画像を画像Bと呼ぶ。
【0035】
(200)画像Aの長方形で囲まれた領域から特徴点を任意に1点選択する。また画像Bから特徴点を任意に1点選択する。この画像Bの特徴点を選択する際には、それぞれの特徴点の特徴点量Laplacianが同一のものを選択する。Laplacianが異なる特徴同士はマッチしないためである。
【0036】
(201)選択された2つの特徴点について、特徴量の全パラメータに基づいてユークリッド距離を式(2)で算出する。
【数2】
【0037】
(202)ユークリッド距離が閾値以下の場合、それら特徴点の組み合わせと算出したユークリッド距離とを関連付けて記憶部40に記憶する。
(203)画像Bにある全ての特徴点について、処理(201)、(202)を実行し、最小のユークリッド距離を与える特徴点の組み合わせを求める。
【0038】
(204)画像Aの長方形の内部にある特徴点すべてに対して処理(201)〜(203)を実行し、最小のユークリッド距離を与える特徴点の組み合わせを求める。この際、画像B上の特徴点が重複して関連付けられることを回避する。
【0039】
図7は、特徴点が重複した場合の処理方法を説明する図である。
画像A上の特徴点a1と画像B上の特徴点b1とがユークリッド距離=100で対応付けられていたとする。対応付け処理において、画像A上の特徴点a2と画像B上の特徴点b1とがユークリッド距離=120で対応付けられた場合、特徴点b1が重複して対応付けられる。このときは、ユークリッド距離が小さいほうの組み合わせが採用され、ユークリッド距離が大きい組み合わせが棄却される。その結果、画像A上の特徴点a2は、ユークリッド距離が2番目に小さい組み合わせである、画像B上の特徴点b2と対応付けられる。
【0040】
図3のステップS05において、ランドマーク生成部31は、ランドマークを抽出する。このステップS05の処理は次のように実施する。
(300)画像B上にXY直交座標系を設定し、画像B上の対応付けられた特徴点の座標を決定する。
【0041】
(301)画像A上と画像B上の対応付けられた特徴点を任意に4組選択し、その4組を用いて画像Aと画像Bとを一致させるための仮の射影変換行列を求める。
(302)画像A上の特徴点の座標を仮の射影変換行列を用いて、画像B上の座標に変換し、対応する特徴点の座標との距離を求める。そして、距離が所定値以下の組数を、前記仮の射影変換行列のスコアとする。
【0042】
(303)画像A上と画像B上の対応付けられた特徴点の4組を選択する全ての組み合わせについて、処理(301)〜(302)を実行して仮の射影変換行列のスコアを求める。
(304)最もスコアが高い仮の変換行列を、画像Aの座標系と画像Bの座標系とを一致させるための真の変換行列とする。
【0043】
(305)真の変換行列を用いて画像Aの長方形を画像B上に射影する。画像B上では長方形は四辺形として射影される。
画像A上の現在選択されている長方形で囲まれる領域、及び、これに対応する画像B上の四辺形で囲まれる領域をランドマークという。
前記長方形で囲まれる領域に対応する撮影対象物と前記四辺形で囲まれる領域に対応する撮影対象物は、それぞれ位置A、位置Bから撮影した同一の撮影対象物であって、この撮影対象物をランドマーク対象物という。
【0044】
(306)現在選択されている長方形で囲まれる領域に含まれる特徴点の特徴量と特徴点量、前記長方形の画像Aの座標系での頂点座標と重心位置座標、撮影情報A、前記長方形に対応する四辺形で囲まれる領域に含まれる特徴点の特徴量と特徴点量、前記四辺形の画像Bの座標系での頂点座標と重心座標、撮影情報Bを関連付けてランドマーク情報として記憶部40に記憶する。
【0045】
図3のステップS06において、ランドマーク対象物重心位置座標算出部32は、ランドマークの重心位置座標を算出する。このステップS06の処理は次のように実施する。
図8は、ランドマークの重心位置座標を算出する方法を示す図である。
【0046】
(400)撮影情報Aと撮影情報Bを基に、位置Aと位置Bを結ぶ線分(以下、「線分AB」という。)の長さを算出する。
【0047】
(401)現在選択されているランドマーク対象物をLMαとし、位置Aからの撮影により設定されたLMαの重心位置を位置α‘としたとき、そのランドマーク情報を基に、位置Aと位置α‘を結ぶ線分(以下、「直線Aα‘」という。)と、線分ABとのなす角θαを算出する。
【0048】
(402)位置Bからの撮影により設定されたLMαの重心位置を位置α“としたとき、そのランドマーク情報を基に、位置Bと位置α“を結ぶ線分(以下、「直線Bα“」という。)と、線分ABとのなす角θδを算出する。
【0049】
(403)三角測量法に基づき、直線Aα‘と直線Bα“の交点の位置座標を、現在選択されているランドマーク対象物の重心位置の仮の座標として算出する。
【0050】
(404)現在選択されているランドマーク対象物の重心位置の仮の座標が、位置A及び位置B以外の位置での環境地図作成においても算出され、既に記憶されている場合は、全ての仮の座標の相加平均を、現在選択されているランドマーク対象物の重心位置の新たな仮の座標として算出する。なお、当該ランドマーク対象物が同一か否かは、ランドマーク対象物の重心位置の差(距離)が所定値以内であるかどうかで判断する。
【0051】
図3のステップS07において、ランドマーク対象物重心位置座標算出部32は、算出されたランドマーク対象物の重心位置の仮の座標を記憶部40に記憶する。
【0052】
ステップS08において、更なる移動先(ロボット位置)が規定されている場合(ステップS08 No)は、ステップS09において、当該移動先において、ステップS01からの処理を繰り返して実行する。そして、規定されている所定の位置において、処理を実行した後は、ランドマーク対象物の重心位置の最終的な仮の座標を、そのランドマーク対象物の重心位置の真の座標として、そのランドマーク情報と関連付けて環境地図に保存する。
【0053】
なお、上述の形態では、2点のロボット位置で環境地図を作成したが、L字型(又は逆L字型)に移動して3点のロボット位置で環境地図を作成してもよく、コの字型(又は逆コの字型)に移動して4点のロボット位置で環境地図を作成してもよい。更に、これらの動作を任意の数組み合わせた複数点のロボット位置で環境地図を作成してもよい。移動経路は、ロボット装置1が適用される環境に合わせて設定しても良い。また、ステップS09において、ロボット装置1は移動せずに、位置Bその場において向きを変え位置Bを新たな位置Aとしてこれら手順を繰り返して周囲全体の地図を作成しても良い。結果として、L字型、コの字型に移動したものと同様の情報を得ることができる。ステップS09の移動はこのような動作も含んだ概念として記載している。
【0054】
また、上述の形態では、ロボット位置Aで長方形を形成し、ロボット位置Bで四辺形を形成した。即ち、ロボット位置Aで撮影した画像を基準として、ロボット位置Bで撮影した画像との比較でランドマークを抽出した。そのため、ロボット位置Aでは撮影されておらず、ロボット位置Bで初めて撮影された対象物のランドマークは抽出されない。
従って、例えば、ロボット位置A→B→C→Dと移動する場合において、ロボット位置Aを基準としてロボット位置Bとの比較でランドマークを抽出したあとは、ロボット位置Bを基準としてロボット位置Cとの比較でランドマークを抽出し、ロボット位置Cを基準としてロボット位置Dとの比較でランドマークを抽出しても良い。
【0055】
続いて、上述のようにして作成した環境地図を用いて自己位置を推定する方法を説明する。
図9は、自己位置を推定する手順を示すフロー図である。図10は、自己位置を推定する方法を説明するための図である。図9及び図10を参照しつつ自己位置を推定する動作について説明する。
ロボット装置1は、ユーザによって移動空間内の任意の位置に設置され動作開始を指示されたときに現在自身が存在する位置(自己位置)を推定する。更に、ロボット装置1は、所定距離移動したときに自己位置を推定する。従って、ロボットが自己位置を推定する際には、オドメトリにより自己位置が把握できる場合と、自己位置がまったく不明である場合の2つの場合が存在する。図9、図10に示す自己位置を推定する方法では、この2つの場合における自己位置推定方法を開示する。
【0056】
ステップT01において、ロボット装置1は、位置認識フラグをセットして、自己位置推定動作を開始する。オドメトリにより自己位置が把握できる場合には位置認識フラグをオンとし、自己位置がまったく不明である場合には位置認識フラグをオフとする。
【0057】
ステップT02において、ロボット装置1は、周囲を撮影して環境地図にあるランドマークと同一のランドマークを抽出する。このステップST02の処理は次のように実施する。
【0058】
(500)環境画像撮影部21は、ロボット装置1の頭部のカメラ10で、現在位置(位置C)の周囲を撮影する。撮影枚数には制限が設けられない。撮影された複数枚の画像を撮影範囲の重複が生じないように水平方向につなぎ合わせて、1枚の画像(画像C)を生成する。
【0059】
(501)画像Cから特徴点を探索し、特徴点毎に特徴量と特徴点量(特徴情報C)を算出する。この処理は、ステップ01の処理(104)と同じであるため詳細の説明は省略する。
【0060】
(502)特徴情報Cを参照して、対応点抽出部30は、算出した特徴点の内、環境地図に保存されているランドマーク上の特徴点と対応する特徴点(対応点)を対応付ける。この処理は、図3のステップS04の処理(200)〜(204)と同じであるため詳細の説明は省略する。
【0061】
(503)なお、対応点が存在していない場合は、現在の位置が不適当な場合であるため、位置を変更する。例えば、特徴点が画像の端部に存在している場合は、向きをその端部の方向に変更する。また特徴点が存在していない場合は、向きを後方に変更する。そして、処理(500)〜(502)を実行する。
【0062】
(504)抽出された対応点を基にして、環境地図に保存されているランドマークと類似した特徴を有する領域を、画像Cから抽出する。この処理は、ステップS05の処理(300)〜(306)と同じであるため詳細の説明は省略する。
ここで抽出された領域は、環境地図に保存されているランドマークを画像Cの座標系へ射影変換した形状である。つまり、抽出された領域に対応する撮影対象物は、環境地図を作成する際に設定されたランドマーク対象物と同一であり、抽出された領域に対応する撮影対象物は、位置Cから撮影したランドマーク対象物である。実際は、対応点抽出や射影変換などの誤差により、抽出された領域に対応する撮影対象物の位置と設定されたランドマーク対象物の位置とは若干異なることがある。
【0063】
図9のステップT03において、環境地図から前記領域に対応する撮影対象物の重心の位置座標を得る。このようにして、画像C中に存在するランドマークの座標を環境地図から得る。
【0064】
図9のステップT04において、ロボット装置1の現在位置Cを平板測量でよく用いられる交会法の応用によって求める。このステップT04の処理は次のように実施する。
図11は、現在位置を求める方法を説明するための図である。
【0065】
(600)抽出されたランドマークを任意に2個選択する。図11に示すように選択した2個のランドマークに対応するランドマーク対象物をLMδ、LMεとし、その重心位置をそれぞれ位置δ、位置εとする。環境地図に保存されているランドマーク情報を基に、∠δCε(=∠θα)を算出する。
【0066】
(601)位置δ、位置ε及び位置Cを通る円の中心座標Oαと半径R1とを求める。∠θαは円の円周角であるため、中心角は2×∠θαとして求められる。従って、この円の中心座標は、位置δ、位置εより等距離(=R1)にある頂角が2×∠θαの二等辺三角形の頂点座標として求めることができる。
【0067】
(602)抽出されたn個のランドマークの内、2個のランドマークを選択する全組合せ(nC2通り)について円の中心座標と半径とを求める。
【0068】
(603)2個の円を選択すれば、位置Cはその交点座標で表すことができる。そこで、2個の円を選択する全組合せについて位置Cの交点座標を求める。そして、これらの相加平均を現在位置Cの座標として算出する。
【0069】
図9のステップT05において、位置認識フラグがONか否かを判断する。
位置認識フラグがOFFの場合(ステップT05 No)、即ち自己位置がまったく不明である場合には、ステップT06において、交会法を応用して求めた現在位置Cをロボット装置1の自己位置とする。
そして、自己位置推定処理を終了する。
【0070】
位置認識フラグがONの場合(ステップT05 No)、即ちオドメトリにより自己位置が把握できる場合には、ステップT07において、オドメトリによる現在位置を算出する。
そして、ステップT08において、オドメトリにより算出された位置座標と交会法で算出された位置座標とを融合して新たに位置座標を算出し、この座標を現在位置Cの真の座標とする。
【0071】
ここで融合とは、オドメトリによる誤差と交会法による誤差をお互いに相殺するように、オドメトリと交会法の両者の値を処理して、より真実に近い値を算出する手法である。融合については、例えば、POEM(Position Estimation module)や、「日本ロボット学会誌 Vol.15 No.8,PP.1180〜1187,1997」などを参考にして行うことができる。
【0072】
以上、説明した実施の形態によれば、種々の効果を得ることができる。
【0073】
本実施の形態のロボット装置では、従来のロボットにおいて標準的に装備されていたレーザレンジファインダなどの測距手段は搭載していない。また、周囲環境を撮影するカメラも1台である。従って、ロボット装置のコストを低減することができる。
また、このような低廉なハードウエア構成において、所要の精度を確保するために、環境地図は、ランドマークを表す特徴量、ランドマークを表す重心位置座標などのランドマーク情報の集合で構成している。この結果、画像処理などの処理時間と処理データが少なくなり、負荷の大きい演算処理を排除することが可能となっている。
【0074】
また、ランドマークの位置をランドマークの特徴量分布から求めた四辺形の重心位置として一点の座標位置で規定している。この結果、自己位置推定処理が簡便化され効率的に処理することが可能となった。
【0075】
このように、本実施の形態のロボット装置は、ホームユースに求められる精度を確保しつつ安価に実現することのできる歩行ロボット装置として構成されている。
【0076】
なお、上述の各実施の形態で説明した機能は、ハードウェアを用いて構成するに留まらず、ソフトウェアを用いて各機能を記載したプログラムをコンピュータに読み込ませて実現することもできる。また、各機能は、適宜ソフトウェア、ハードウェアのいずれかを選択して構成するものであっても良い。
【0077】
尚、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。
上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【0078】
1…ロボット装置、10…カメラ、21…環境画像撮影部、22…環境画像連結部、23…特徴情報生成部、24…歩行処理部、25…現在位置座標算出部、26…撮影情報生成部、27…ランドマーク候補生成部、30…対応点抽出部、31…ランドマーク生成部、32…ランドマーク対象物重心位置座標算出部、40…記憶部。
【特許請求の範囲】
【請求項1】
搭載した一台の撮像装置を用いて撮影した画像に基づいて環境地図を生成し、生成した環境地図を用いて自己位置を推定して、所定領域内を2足歩行する歩行ロボット装置であって、
環境地図を作成する機能は、
2ヶ所において撮影した地図作成用環境画像から撮影対象物毎に当該撮影対象物を示す代表点を抽出する代表点抽出部と、
2ヶ所において撮影した地図作成用環境画像のそれぞれの代表点の位置と、撮影した歩行ロボット装置の位置座標とから前記撮影対象物の位置座標を求める位置座標取得部と、
前記撮影した地図作成用環境画像、代表点の位置及び前記撮影対象物の位置座標とを関連付けた環境地図を作成する環境地図作成部とを有し、
自己位置を推定する機能は、
任意の位置座標において撮影した位置推定用環境画像中の撮影対象物と、前記環境地図に含まれる地図作成用環境画像中の撮影対象物とを対応させる撮影対象物対応部と、
位置推定用環境画像中の撮影対象物の代表点に、対応する地図作成用環境画像中の撮影対象物の位置座標を対応させる位置座標対応部と、
位置座標が対応した位置推定用環境画像中の撮影対象物の代表点を用いた交会法によって前記歩行ロボット装置の自己位置を算出する自己位置算出部とを有すること
を特徴とする歩行ロボット装置。
【請求項2】
自己位置を推定する機能は、
歩行ロボット装置の移動において、歩数、歩幅、旋回角を積算して自己位置を算出するオドメトリ部と、
前記自己位置算出部が算出した自己位置と前記オドメトリ部が算出した自己位置とを融合して新たな自己位置を算出する融合部とを更に備えること
を特徴とする請求項1に記載の歩行ロボット装置。
【請求項3】
前記撮像装置を設けた頭部を回動して撮影した複数の画像を連結して前記地図作成用環境画像及び位置推定用環境画像を生成する連結部を更に備えることを特徴とする請求項2に記載の歩行ロボット装置。
【請求項4】
環境地図を作成する機能は、環境地図を作成するために歩行と停止とを繰り返して移動する際、停止する毎に地図作成用環境画像を撮影する撮影部を更に備えたことを特徴とする請求項3に記載の歩行ロボット装置。
【請求項5】
搭載した一台の撮像装置を用いて撮影した画像に基づいて環境地図を生成し、生成した環境地図を用いて自己位置を推定して、所定領域内を2足歩行する歩行ロボット装置を制御するプログラムであって、
環境地図を作成する際は、
2ヶ所において撮影した地図作成用環境画像から撮影対象物毎に当該撮影対象物を示す代表点を抽出するステップと、
2ヶ所において撮影した地図作成用環境画像のそれぞれの代表点の位置と、撮影した歩行ロボット装置の位置座標とから前記撮影対象物の位置座標を求めるステップと、
前記撮影した地図作成用環境画像、代表点の位置及び前記撮影対象物の位置座標とを関連付けた環境地図を作成するステップと
を前記歩行ロボットに搭載した制御用コンピュータに実行させ、
自己位置を推定する際は、
任意の位置座標において撮影した位置推定用環境画像中の撮影対象物と、前記環境地図に含まれる地図作成用環境画像中の撮影対象物とを対応させるステップと、
位置推定用環境画像中の撮影対象物の代表点に、対応する地図作成用環境画像中の撮影対象物の位置座標を対応させるステップと、
位置座標が対応した位置推定用環境画像中の撮影対象物の代表点を用いた交会法によって前記歩行ロボット装置の自己位置を算出するステップと
を前記歩行ロボットに搭載した制御用コンピュータに実行させるプログラム。
【請求項1】
搭載した一台の撮像装置を用いて撮影した画像に基づいて環境地図を生成し、生成した環境地図を用いて自己位置を推定して、所定領域内を2足歩行する歩行ロボット装置であって、
環境地図を作成する機能は、
2ヶ所において撮影した地図作成用環境画像から撮影対象物毎に当該撮影対象物を示す代表点を抽出する代表点抽出部と、
2ヶ所において撮影した地図作成用環境画像のそれぞれの代表点の位置と、撮影した歩行ロボット装置の位置座標とから前記撮影対象物の位置座標を求める位置座標取得部と、
前記撮影した地図作成用環境画像、代表点の位置及び前記撮影対象物の位置座標とを関連付けた環境地図を作成する環境地図作成部とを有し、
自己位置を推定する機能は、
任意の位置座標において撮影した位置推定用環境画像中の撮影対象物と、前記環境地図に含まれる地図作成用環境画像中の撮影対象物とを対応させる撮影対象物対応部と、
位置推定用環境画像中の撮影対象物の代表点に、対応する地図作成用環境画像中の撮影対象物の位置座標を対応させる位置座標対応部と、
位置座標が対応した位置推定用環境画像中の撮影対象物の代表点を用いた交会法によって前記歩行ロボット装置の自己位置を算出する自己位置算出部とを有すること
を特徴とする歩行ロボット装置。
【請求項2】
自己位置を推定する機能は、
歩行ロボット装置の移動において、歩数、歩幅、旋回角を積算して自己位置を算出するオドメトリ部と、
前記自己位置算出部が算出した自己位置と前記オドメトリ部が算出した自己位置とを融合して新たな自己位置を算出する融合部とを更に備えること
を特徴とする請求項1に記載の歩行ロボット装置。
【請求項3】
前記撮像装置を設けた頭部を回動して撮影した複数の画像を連結して前記地図作成用環境画像及び位置推定用環境画像を生成する連結部を更に備えることを特徴とする請求項2に記載の歩行ロボット装置。
【請求項4】
環境地図を作成する機能は、環境地図を作成するために歩行と停止とを繰り返して移動する際、停止する毎に地図作成用環境画像を撮影する撮影部を更に備えたことを特徴とする請求項3に記載の歩行ロボット装置。
【請求項5】
搭載した一台の撮像装置を用いて撮影した画像に基づいて環境地図を生成し、生成した環境地図を用いて自己位置を推定して、所定領域内を2足歩行する歩行ロボット装置を制御するプログラムであって、
環境地図を作成する際は、
2ヶ所において撮影した地図作成用環境画像から撮影対象物毎に当該撮影対象物を示す代表点を抽出するステップと、
2ヶ所において撮影した地図作成用環境画像のそれぞれの代表点の位置と、撮影した歩行ロボット装置の位置座標とから前記撮影対象物の位置座標を求めるステップと、
前記撮影した地図作成用環境画像、代表点の位置及び前記撮影対象物の位置座標とを関連付けた環境地図を作成するステップと
を前記歩行ロボットに搭載した制御用コンピュータに実行させ、
自己位置を推定する際は、
任意の位置座標において撮影した位置推定用環境画像中の撮影対象物と、前記環境地図に含まれる地図作成用環境画像中の撮影対象物とを対応させるステップと、
位置推定用環境画像中の撮影対象物の代表点に、対応する地図作成用環境画像中の撮影対象物の位置座標を対応させるステップと、
位置座標が対応した位置推定用環境画像中の撮影対象物の代表点を用いた交会法によって前記歩行ロボット装置の自己位置を算出するステップと
を前記歩行ロボットに搭載した制御用コンピュータに実行させるプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2012−216051(P2012−216051A)
【公開日】平成24年11月8日(2012.11.8)
【国際特許分類】
【出願番号】特願2011−80577(P2011−80577)
【出願日】平成23年3月31日(2011.3.31)
【出願人】(593059773)富士ソフト株式会社 (28)
【Fターム(参考)】
【公開日】平成24年11月8日(2012.11.8)
【国際特許分類】
【出願日】平成23年3月31日(2011.3.31)
【出願人】(593059773)富士ソフト株式会社 (28)
【Fターム(参考)】
[ Back to top ]