(57)【要約】    【課題】カメラの画像を利用して簡単且つ正確に移動ロボットの現在の走行位置を推定可能とする。    【解決手段】  経路計画部２４は推定された現在の走行位置に基づいて目的地までの走行経路を計画して走行指令を走行制御部２６に出力し、走行経路に追従するように走行制御する。走行位置予測部３４は、推定された現在の走行位置に、車輪回転角センサ３２により検出した走行距離を累積して現在の走行位置を予測する。予測画像生成部３６は、予測された現在の走行位置及びその周辺の候補位置にカメラ１８を仮想的に配置して撮像されるエッジ情報からなる予測エッジ画像を環境のレイアウト情報に基づいて複数生成し、エッジ画像生成部４４はカメラ１８で撮影した実画像から実エッジ画像を生成する。位置推定部４０はエッジ画像と複数の予測エッジ画像を比較して類似度が最大となる予測エッジ画像の候補位置を走行位置と推定して経路計画部２４及び走行位置予測部３４の走行位置を更新する。    【選択図】      図３
2007316966.tif 000002
【特許請求の範囲】
【請求項１】
施設等の環境を走行する移動ロボットに於いて、
推定された現在の走行位置に基づいて目的地までの走行経路を計画して走行指令を出力する経路計画部と、
前記経路計画部の走行指令に基づき前記走行経路に追従するように走行制御する走行制御部と、
推定された現在の走行位置に、車輪の回転角センサにより検出した走行距離を累積して現在の走行位置を予測する位置予測部と、
前記位置予測部で予測された現在の走行位置及びその周辺の候補位置に前記撮像部を仮想的に配置して撮像されるエッジ情報からなる予測エッジ画像を前記環境のレイアウト情報に基づいて複数生成する予測画像生成部と、
撮像部で撮影された走行方向の実画像からエッジ情報を抽出して実エッジ画像を生成するエッジ画像生成部と、
前記実エッジ画像と前記複数の予測エッジ画像を比較して類似度が最大となる予測エッジ画像の候補位置を走行位置と推定して前記経路計画部及び前記位置予測部の走行位置を更新する位置推定部と、
を備えたことを特徴とする移動ロボット。
【請求項２】
請求項１記載の移動ロボットに於いて、前記位置推定部は、前記実画像の微分処理により生成した実エッジ画像と各予測エッジ画像との相関を演算し、相関が最大となる予測エッジ画像の候補位置を走行位置と推定することを特徴とする移動ロボット。
【請求項３】
請求項１記載の移動ロボットに於いて、前記位置推定部は、前記実画像の微分処理により生成した実エッジ画像と各予測エッジ画像との重なり画素数を演算し、重なり画素数が最大となる予測エッジ画像の候補位置を走行位置と推定することを特徴とする移動ロボット。
【請求項４】
施設等の環境を走行する移動ロボット制御方法に於いて、
推定された現在の走行位置に基づいて目的地までの走行経路を計画して走行指令を出力する経路計画ステップと、
前記経路計画ステップの走行指令に基づき前記走行経路に追従するように走行制御する走行制御ステップと、
推定された現在の走行位置に、車輪の回転角センサにより検出した走行距離を累積して現在の走行位置を予測する位置予測ステップと、
前記位置予測ステップで予測された現在の走行位置及びその周辺の候補位置に撮像部を仮想的に配置して撮像されるエッジ情報からなる予測エッジ画像を前記環境のレイアウト情報に基づいて複数生成する予測画像生成ステップと、
撮像部で撮影された走行方向の実画像からエッジ情報を抽出して実エッジ画像を生成するエッジ画像生成ステップと、
前記実エッジ画像と前記複数の予測エッジ画像を比較して類似度が最大となる予測エッジ画像の候補位置を走行位置と推定して前記経路計画ステップ及び前記位置予測ステップの走行位置を更新する位置推定ステップと、
を備えたことを特徴とする移動ロボット制御方法。
【請求項５】
施設等の環境を走行する移動ロボットのコンピュータに、
推定された現在の走行位置に基づいて目的地までの走行経路を計画して走行指令を出力する経路計画ステップと、
前記経路計画ステップの走行指令に基づき前記走行経路に追従するように走行制御する走行制御ステップと、
推定された現在の走行位置に、車輪の回転角センサにより検出した走行距離を累積して現在の走行位置を予測する位置予測ステップと、
前記位置予測ステップで予測された現在の走行位置及びその周辺の候補位置に撮像部を仮想的に配置して撮像されるエッジ情報からなる予測エッジ画像を前記環境のレイアウト情報に基づいて複数生成する予測画像生成ステップと、
撮像部で撮影された走行方向の実画像からエッジ情報を抽出して実エッジ画像を生成するエッジ画像生成ステップと、
前記実エッジ画像と前記複数の予測エッジ画像を比較して類似度が最大となる予測エッジ画像の候補位置を走行位置と推定して前記経路計画ステップ及び前記位置予測ステップの走行位置を更新する位置推定ステップと、
を実行させるとを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、人の案内や誘導、物の搬送、巡回や見回りなどの多用途な活動ができる移動ロボット、その制御方法及びプログラムに関し、特に、カメラの撮影画像から現在の走行位置を推定しながら目的位置に走行する移動ロボット、その制御方法及びプログラムに関する。
【背景技術】
【０００２】
近年、製造現場で作業している産業用ロボット以外に、家庭、福祉、医療、公共といったパーソナル用途に対応できる移動ロボット開発が進められている。
【０００３】
このような移動ロボットには、センサを用いて走行中の自己位置を推定して、目的の軌道（経路）に追従するように制御する自己位置推定法による自律移動機能が必要である。移動ロボットの自己位置推定法としては、回転角センサで得られる車輪の回転角から移動ロボットのモデルを用いて走行位置を推定するデッドレコニングが多く用いられている。
【０００４】
また、環境に移動ロボットが位置を認識するための特別なマーク、例えば白線等のガイド、磁気レール、コーナーキューブを利用する方法も用いられる。
【０００５】
更に、特別なマークを用いない方法としては、カメラで得られる画像から壁や床のエッジの位置と方向を計測してロボットの位置と姿勢を推定する方法も提案されている（特許文献１）。
【特許文献１】特開平９−０５３９３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、このような従来の移動ロボットの自己位置推定法は次のような問題がある。
【０００７】
まず車輪の回転角から移動ロボットの走行位置を推定するデッドレコニングは、車輪のスリップ等による誤差の蓄積に問題がある。このためデッドレコニングとジャイロセンサを組み合わせる方法も多く用いられているが、スリップ等の影響を排除できる反面、ジャイロのドリフトによる誤差の蓄積に問題が残る。
【０００８】
また、環境にロボットが位置を認識するための特別なマークを利用する方法は、環境側に特別なマークを敷設しなければならず、コストアップになるという問題がある。
【０００９】
更に、カメラの画像から壁や床のエッジの位置と方向を計測してロボットの位置と姿勢を推定する方法は、実空間における複数種類の既定の画像特徴の位置を予め登録する必要があり、現状では、この登録作業は、現場で目視で特徴を判別してその位置を逐一計測して登録する等の人為的な作業であり、膨大な手間と時間を要するという問題がある。
【００１０】
本発明は、カメラの画像を利用して簡単且つ正確に走行位置を推定できる移動ロボット、その制御方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明は移動ロボットを提供する。本発明は、施設等の環境を走行する移動ロボットに於いて、
推定された現在の走行位置に基づいて目的地までの走行経路を計画して走行指令を出力する経路計画部と、
経路計画部の走行指令に基づき走行経路に追従するように走行制御する走行制御部と、
推定された現在の走行位置に、車輪の回転角センサにより検出した走行距離を累積して現在の走行位置を予測する位置予測部と、
位置予測部で予測された現在の走行位置及びその周辺の候補位置に撮像部を仮想的に配置して撮像されるエッジ情報からなる予測エッジ画像を環境のレイアウト情報に基づいて複数生成する予測画像生成部と、
撮像部で撮影された走行方向の実画像からエッジ情報を抽出して実エッジ画像を生成するエッジ画像生成部と、
実エッジ画像と複数の予測エッジ画像を比較して類似度が最大となる予測エッジ画像の候補位置を走行位置と推定して経路計画部及び位置予測部の走行位置を更新する位置推定部と、
を備えたことを特徴とする。
【００１２】
ここで、位置推定部は、実画像の微分処理により生成した実エッジ画像と各予測エッジ画像との相関を演算し、相関が最大となる予測エッジ画像の候補位置を走行位置と推定する。
【００１３】
また位置推定部は、実画像の微分処理により生成した実エッジ画像と各予測エッジ画像との重なり画素数を演算し、重なり画素数が最大となる予測エッジ画像の候補位置を走行位置と推定するようにしても良い。
【００１４】
予測画像生成部は、候補位置ごとに前記撮像部の撮像方向を変化させて複数の予測エッジ画像を生成する。
【００１５】
予測画像生成部は、撮像部のカメラパラメータとレイアウト情報の３次元座標に基づいて予測エッジ画像を生成する。
【００１６】
本発明の移動ロボットは、所定走行距離又は所定移動時間ごとに、実エッジ画像と複数の予測エッジ画像に基づく現在の走行位置の推定処理を繰り返す。
【００１７】
（方法）
本発明は移動ロボット制御方法を提供する。本発明は、施設等の環境を走行する移動ロボット制御方法に於いて、
推定された現在の走行位置に基づいて目的地までの走行経路を計画して走行指令を出力する経路計画ステップと、
経路計画ステップの走行指令に基づき走行経路に追従するように走行制御する走行制御ステップと、
推定された現在の走行位置に、車輪の回転角センサにより検出した走行距離を累積して現在の走行位置を予測する位置予測ステップと、
位置予測ステップで予測された現在の走行位置及びその周辺の候補位置に撮像部を仮想的に配置して撮像されるエッジ情報からなる予測エッジ画像を環境のレイアウト情報に基づいて複数生成する予測画像生成ステップと、
撮像部で撮影された走行方向の実画像からエッジ情報を抽出して実エッジ画像を生成するエッジ画像生成ステップと、
実エッジ画像と複数の予測エッジ画像を比較して類似度が最大となる予測エッジ画像の候補位置を走行位置と推定して経路計画ステップ及び位置予測ステップの走行位置を更新する位置推定ステップと、
を備えたことを特徴とする。
【００１８】
（プログラム）
本発明は移動ロボットを制御するプログラムを提供する。本発明のプログラムは、施設等の環境を走行する移動ロボットのコンピュータに、
推定された現在の走行位置に基づいて目的地までの走行経路を計画して走行指令を出力する経路計画ステップと、
経路計画ステップの走行指令に基づき走行経路に追従するように走行制御する走行制御ステップと、
推定された現在の走行位置に、車輪の回転角センサにより検出した走行距離を累積して現在の走行位置を予測する位置予測ステップと、
位置予測ステップで予測された現在の走行位置及びその周辺の候補位置に撮像部を仮想的に配置して撮像されるエッジ情報からなる予測エッジ画像を環境のレイアウト情報に基づいて複数生成する予測画像生成ステップと、
撮像部で撮影された走行方向の実画像からエッジ情報を抽出して実エッジ画像を生成するエッジ画像生成ステップと、
実エッジ画像と複数の予測エッジ画像を比較して類似度が最大となる予測エッジ画像の候補位置を走行位置と推定して経路計画ステップ及び位置予測ステップの走行位置を更新する位置推定ステップと、
を実行させるとを特徴とする。
【発明の効果】
【００１９】
本発明によれば、車輪の回転角センサを用いたデッドレコニングにより予測した移動ロボットの現在の走行位置の周辺に複数の候補位置を設定し、柱や壁の位置や高さなどの環境のレイアウト情報に基づいて、各候補位置に撮像部を仮想的に配置して撮像されるエッジ情報からなる予測エッジ画像を生成し、これらの候補位置における予測エッジ画像と実画像からエッジ情報を抽出した実エッジ画像とを比較し、最も類似する予測エッジ画像の候補位置をロボットの現在の走行位置と推定しているため、壁、柱位置などを記述した比較的単純な環境のレイアウト情報を移動ロボットに予め記憶しておくだけで予測エッジ画像を容易に生成でき、実空間における複数種類の既定の画像特徴の位置を予め登録する作業を必要とせず、カメラ画像を利用した自己位置推定を簡単且つ正確に行うことができる。
【００２０】
また予測エッジ画像の実エッジ画像の比較による類似度の判断を、画像の相関値により評価し、相関値が最大となる予測エッジ画像の候補位置を走行位置と推定することで、予測エッジ画像と実エッジ画像の細部の違いの影響を排除し、安定な比較処理を実現することができ、更にエッジ情報の相関計算で済むことから計算量が低減し、小規模な装置で実現できる。
【００２１】
また、予測エッジ画像の実エッジ画像の比較による類似度の判断を、エッジ画像の重なり画素数により評価し、重なり画素数が最大となる予測エッジ画像の候補位置を走行位置と推定することで、画像相関に比べ更に安定な比較処理を実現でき、加えて一致するエッジ画素の総数の計算であることから、相関計算に比べ更に少ない計算量で実現できる。
【００２２】
また候補位置ごとに撮像部の撮像方向を変化させて複数の予測エッジ画像を生成しているため、同じ候補位置で撮像方向の異なる複数の予測エッジ画像を生成して実エッジ画像と比較することとなり、実画像の撮影方向が計画した走行方向からずれていたとしても、最大類似度の予測エッジ画像が得られれば正しい走行位置と推定し、走行位置の推定精度を更に高めることができる。
【００２３】
また候補位置に仮想的に撮像部を配置して生成する予測エッジ画像の生成は、撮像部のカメラパラメータとレイアウト情報の３次元座標に基づいて簡単且つ正確に生成できる。
【００２４】
更に、所定走行距離又は所定移動時間の処理周期で、実エッジ画像と複数の予測エッジ画像に基づく現在の走行位置の推定処理を繰り返しているため、処理周期を短くすることで、推定精度を高めることができる。
【発明を実施するための最良の形態】
【００２５】
図１は本発明による移動ロボットの実施形態の説明図である。図１において、本実施形態の移動ロボット１０は、頭部１２、ボディ１４、移動部１６、左アーム２０−１及び右アーム２０−２の５つのユニットで構成される。移動ロボット１０のサイズは、平面的に見た直径が約６０ｃｍ、高さが１３０ｃｍ程度である。
【００２６】
頭部１２はボディ１４に対し水平回りに回転することができ、頭部１２には前方に向けてＣＣＤなどの撮像素子を用いたカメラ１８が装着されている。カメラ１８の視線方向は頭部１２を回転することで調整できる。また頭部１２に視線方向の異なる複数のカメラを搭載していれば、カメラ切替えを行うことで、パン・チルト機構を使用することなく瞬時に視線方向を変更することが可能である。
【００２７】
左アーム２０−１及び右アーム２０−２は、任意の位置に手先が移動可能な４自由度間接、及び保持作業に必要なグリッパーを設けている。ボディ１４にはタッチパネル付ＬＣＤ２２が搭載されており、移動ロボット１０における各種の表示や必要な操作ができるようにしている。移動部１６には左右の駆動輪と補助輪が設けられており、左右の駆動輪の独立駆動により、直進、後退、旋回を行うことができる。
【００２８】
図２は本実施形態の移動ロボットに組み込まれるハードウエア構成のブロック図である。図２において、移動ロボット１０には、移動ロボット制御装置として、ＣＰＵボード４６、ＤＳＰボード４８及び画像処理ボード５０が組み込まれ、それぞれネットワークバス５２により接続されている。ＣＰＵボード４６にはタッチパネル付ＬＣＤ２２やスピーカ５４が接続され、ＣＰＵボード４６はユーザインタフェースや作業指示などの処理を行う。
【００２９】
ＤＳＰボード４８にはセンサボード５６を介して各種のセンサ３２−１〜３２−ｎが接続され、またモータ制御ボード５８を介して各種駆動に使用するモータ２８−１〜２８−ｎが接続されている。ＤＳＰボード４８は、移動ロボットの走行制御などを含む主にリアルタイム処理を実行する。
【００３０】
画像処理ボード５０には、カメラ切替ボード６０を介して、移動ロボットに搭載されている複数のカメラ１８−１〜１８−ｎが接続されている。画像処理ボード５０は、カメラ切替ボード６０により画像処理を必要とするカメラ１８−１〜１８−ｎの中のいずれか１つを切替選択し、選択したカメラから読み込んだ画像情報を画像処理ボード５０により画像処理して、必要なロボット操作を行う。
【００３１】
図３は本発明による移動ロボット制御装置の実施形態を示した機能構成のブロック図であり、図２に示した移動ロボットのハードウエア構成による環境で実現される。
【００３２】
図３において、本実施形態の移動ロボット制御装置は、経路計画部２４、走行制御部２６、走行位置予測部３４、予測画像生成部３６、環境レイアウト情報データベース３８、位置推定部４０、画像入力部４２及びエッジ画像生成部４４で構成される。
【００３３】
経路計画部２４は、位置推定部４０で決定された現在の走行位置をもとに、予め設定した目的地までの走行経路を計画し、走行制御部２６に走行指令を発行する。この走行指令を受けて走行制御部２６は、モータ２８−１，２８−２の駆動により左右の駆動輪３０−１，３０−２を独立に駆動し、目的地までの予定経路に沿って移動ロボットを走行させる。
【００３４】
走行制御部２６は制御負荷としてモータ２８−１，２８−２を接続しており、モータ２８−１，２８−２は図１の移動部２６に設けている左右の駆動輪３０−１，３０−２を独立に駆動する。また補助輪３０−３，３０−４に対しては車輪角センサ３２が設けられており、駆動輪３０−１，３０−２の移動に伴う補助輪３０−３，３０−４の回転に応じたパルス信号を出力する。なお、補助輪は１つでも良い。
【００３５】
計画経路に従った移動ロボットの走行制御は、例えば図４のレイアウト環境を例にとると次のようになる。経路計画部２４は、現在の移動ロボット１０の位置に対し任意の目的地６２を設定すると、目的地６２に至る部屋６６−１〜６６−４で囲まれた廊下６８を通る例えば最短ルートを予定経路６４として計画する。
【００３６】
予定経路６４が計画されると、位置推定部４０から得られる現在の走行位置と予定経路６４とを比較し、予定経路６４に追従するように走行指令を走行制御部２６に出力する。走行制御部２６はモータ２８−１，２８−２の駆動による駆動輪３０−１，３０−２の駆動で移動ロボットを予定経路６４によって走行させる。
【００３７】
経路計画部２４による走行指令は、予定経路６４における直進移動距離Ｌ１，Ｌ２，Ｌ３と、進路変更点Ｐ１，Ｐ２における進路変更情報を利用し、走行中に車輪回転角センサ３２から検出されるパルスをカウントして１パルス当たりの走行距離を掛け合わせて累積することで走行距離を求め、予定経路６４の設定距離Ｌ１に一致したときに進路変更点Ｐ１の到達を認識して、進行方向を左９０度方向に旋回し、続いて直進距離Ｌ２を走行し、進路変更点Ｐ２で進行方向を右９０度旋回し、最終的に走行距離Ｌ３の走行で目的地６２に到達することになる。
【００３８】
このような予定経路６４に従った経路計画部２４からの走行指令に基づく走行制御部２６による走行制御にあっては、車輪回転角センサ３２の検出精度は車輪のスリップ率などにより誤差を生じ、推定した走行位置と実際の走行位置との間に誤差を生ずることから、本実施形態にあっては、カメラ１８で撮影した画像を利用して移動ロボットの正しい現在の走行位置を推定し、これを更新しながら走行制御を行うことで、予定経路６４に従った目的地６２への走行を正確且つ円滑に行う。
【００３９】
本実施形態における移動ロボットの現在の走行位置の推定は、走行位置予測部３４、予測画像生成部３６、撮像部としてのカメラ１８、画像入力部４２、エッジ画像生成部４４及び位置推定部４０により行われる。
【００４０】
走行位置予測部３４は、位置推定部４０において推定された走行位置に、車輪回転角センサ３２からの検出パルスに基づいて計算した走行距離を累積し、現在の走行位置を予測する。
【００４１】
予測画像生成部３６は、環境レイアウト情報データベース３８に予め記憶している柱や壁の位置、高さなどの環境のレイアウト情報に基づいて、走行位置予測部３４で予測された現在の走行位置及びその周辺の候補位置にカメラ１８を仮想的に配置して撮像されるエッジ情報からなる予測エッジ画像を複数生成する。
【００４２】
ここで予測画像生成部３６による予測エッジ画像の生成は、走行位置予測部３４で求めた走行距離が一定距離ΔＬ、例えばΔＬ＝１ｍに達するごとに実行する。画像入力部４２は、カメラ１８で撮影された移動ロボットの進行方向の画像を走行位置予測部３４で一定距離ΔＬを走行するごとに入力し、エッジ画像生成部４４に出力して、実画像における柱や壁のエッジのみを抽出した実エッジ画像を生成して位置推定部４０に出力する。
【００４３】
位置推定部４０は、エッジ画像生成部４４から出力された実エッジ画像と予測画像生成部３６で生成された複数の候補位置の予測エッジ画像を比較して、類似度が最大となる予測エッジ画像の候補位置を現在の走行位置と推定し、経路計画部２４及び走行位置予測部３４における走行位置を、推定された正しい走行位置に更新する。
【００４４】
図５は走行中に実行されるカメラ撮影画像を用いた本実施形態による走行位置の推定処理の説明図である。図５は図４に示した予定経路６４に沿った移動ロボット１０の走行中に、予定経路６４の進行方向変更点Ｐ１で左方向に９０度旋回した後の移動ロボット１０の状態であり、このタイミングでカメラ撮影画像を用いた走行位置の推定処理が行われたとする。
【００４５】
この場合、移動ロボット１０は矢印で示す方向に進行しており、且つ移動ロボットに搭載されたカメラ１８も、矢印で示す視線方向となっていて破線で示す視野角αで実画像を撮影している。
【００４６】
この図５における移動ロボット１０の位置は、図３の走行位置予測部３４における前回の推定位置に対し、車輪回転角センサ３２の検出パルスに基づいて計算した走行距離を累積した予測位置として認識されており、実際には車輪のスリップによる誤差を持つことから、予測位置と現在の移動ロボット１０の位置とは必ずしも一致していない場合がある。
【００４７】
この移動ロボット１０の走行位置予測部３４に基づく予測走行位置において、図３の予測画像生成部３６は、例えば図６のように予測走行位置７０を中心に、ｘ方向にｐ個、ｙ方向にｑ個からなる（ｐ×ｑ）の候補位置マトリクス７２を設定し、候補位置マトリクス７２の予測走行位置７０を含むマトリクス交点を候補位置とする。
【００４８】
そして各候補位置にカメラ１８を仮想的に配置して撮影することにより得られたエッジ画像を、環境レイアウト情報データベース３８に予め記憶している柱や壁の位置及び高さなどのレイアウト情報から予測エッジ画像として生成する。図６の候補位置マトリクス７２の場合、予測走行位置７０を含め、候補位置の数は（ｐ×ｑ）箇所となる。この候補位置マトリクス７２としては、例えば予測走行位置７０を通る中心線を境に±１５ｃｍの候補範囲を設定しており、候補点の数としての（ｐ×ｑ）は例えば１０００点程度を設定する。
【００４９】
更に本実施形態にあっては、予測走行位置７０を含む各候補位置ごとに、カメラの視線方向をロボット移動方向に一致した視線方向７４−１に対し、左右に±６度程度変化させた視線方向７４−２，７４−３に向けたと想定して、レイアウト情報から予測エッジ画像を生成する。
【００５０】
これによって、現在の予測走行位置７０における正しい走行位置の推定に加え、予測走行位置７０における移動ロボットの移動方向についても正しい方向推定が実現できる。
【００５１】
なお候補位置マトリクス７２における各候補位置については、カメラ視線方向を移動方向に一致した視線方向７４−１のみに固定し、±６度となる左右方向の視線方向７４−２，７４−３の移動を省略してもよい。
【００５２】
また予測走行位置７０の周辺に設定する予測エッジ画像を生成するための候補位置の数は、移動ロボットに搭載している図２の画像処理ボード５０の処理能力に依存して適宜の候補位置の数を決めることができる。
【００５３】
ここで、図３に示した位置推定部４０による実エッジ画像と複数の予測エッジ画像を比較して、類似度が最大となる候補位置の判定は
（１）実エッジ画像と予測エッジ画像との相関を演算し、相関が最大となる候補位置を走行位置と推定する方法、又は
（２）実エッジ画像と予測エッジ画像との重なり画素数を演算し、重なり画素数が最大となる候補位置を走行位置と推定する方法、
のいずれかを使用することができる。
【００５４】
図７は相関計算による類似度の判定処理の説明図である。図７において、カメラ１８で撮影した実画像７６について、例えば微分処理などを施すことでエッジ抽出７８が行われ、実画像７６の中の廊下と壁及び天井との境となるエッジ部分を抽出した実エッジ画像８０が得られる。
【００５５】
一方、実画像７６の入力に同期して、例えば図６に示したように、予測走行位置７０周辺に設定した候補位置にカメラ１８を配置したと想定して、レイアウト情報から予測エッジ画像８２−１〜８２−ｎが生成される。そして相関計算８４において、実エッジ画像８０と予測エッジ画像８２−１〜８２−ｎのそれぞれにつき相関計算を行う。
【００５６】
ここで図６における予測走行位置７０の周囲に設定した候補位置にカメラ１８を仮想的に配置した状態で、レイアウト情報に基づく予測エッジ画像８２−１〜８２−ｎの生成は、カメラ１８のカメラパラメータに基づく演算から求めることができる。
【００５７】
本実施形態で予測エッジ画像を候補位置に設定したカメラにより撮像する場合、カメラはレイアウト情報に基づく３次元レイアウト空間を候補位置に設定したカメラから見た２次元の平面画像に変換すればよい。
【００５８】
この関係を数式化することにより、各候補位置にカメラを仮想的に設定した場合の３次元レイアウト空間の平面画像として予測エッジ画像を作成することができる。
【００５９】
この３次元レイアウト空間を２次元の平面画像に変換する関係式で用いる係数がカメラパラメータである。即ち、レイアウト３次元空間上の点（Ｘ，Ｙ，Ｚ）がカメラ画像上の点（Ｘｃ，Ｙｃ）に写っていたとすると、両者の関係は次式で与えられる。
【００６０】
【数１】
2007316966.tif 000003
ここでＨｃは媒体変数である。また３×４の行列の係数Ｃ１１〜Ｃ３４がカメラパラメータであり、カメラの位置や姿勢、レンズの価格などの情報が全て含まれている。
【００６１】
このカメラパラメータＣ１１〜Ｃ３４は全部で１２個あるため、レイアウト３次元空間とカメラの２次元画像における６点以上の基準点により、カメラパラメータＣ１１〜Ｃ３４の値を予め決定することができる。
【００６２】
このようにしてカメラのカメラパラメータＣ１１〜Ｃ３４の値が予め決まっていれば、任意の候補位置にカメラを設置した際に、レイアウト３次元空間を予測エッジ画像に変換する際の変換式は次式で与えられることになる。
【００６３】
【数２】
2007316966.tif 000004
この（２）（３）式を、候補位置を基準としたレイアウト３次元空間におけるエッジを表す画素座標（Ｘ，Ｙ，Ｚ）の全てにつき適用して求めることで、予測エッジ画像上のエッジを示す全ての画素を求めることができる。
【００６４】
また図７の実エッジ画像８０と予測エッジ画像８２−１〜８２−ｎとの間で行う相関計算８４は次式で与えられる。
【００６５】
【数３】
2007316966.tif 000005
ここで（４）式におけるＲijは、レイアウト３次元空間におけるエッジ画像の各画素を表わし、Ｓijは予測エッジ画像の各画素値を表わし、更にｎは画像の画素数である。
【００６６】
このような本実施形態における画像を用いた現在の走行位置の推定では、実画像から実エッジ画像を抽出し、これと比較する環境についても、実環境の画像情報とは無関係な柱や壁の位置、高さを示す地図情報としてのレイアウト情報のみからなる予測エッジ画像であり、レイアウト情報は実際の環境画像に比べるとデータ量は極端に少なく、環境の設計図面などの情報から簡単に取得することができ、移動ロボットに対するレイアウト情報の登録処理は簡単且つ容易に行うことができる。
【００６７】
また現在の走行位置の推定処理についても、実画像から抽出した実エッジ画像と予測走行位置の周囲に設定した候補位置から見たレイアウト情報に基づいて作成された予測エッジ画像との相関計算などによる類似度のマッチングで、最大類似度となる候補位置を走行位置として推定するため、画像処理であっても画素数がエッジ画像であることから十分に少なく、より高速で且つ小規模な装置で正しい現在位置の推定を行うことができる。
【００６８】
図８は本実施形態の位置推定において実エッジ画像と予測エッジ画像の類似度を、エッジを構成する画素の重なり数で求める処理の説明図である。
【００６９】
図８において、実画像７６について微分処理などによりエッジ抽出７８を行って実エッジ画像８０が求まる。一方、同じタイミングで、予測走行位置の周辺に設定した候補位置ごとに、予測エッジ画像８２−１〜８２−ｎがレイアウト情報から生成されている。
【００７０】
この状態で実エッジ画像８０と最も類似する予測エッジ画像を検出するため、この実施形態にあっては、例えば実エッジ画像８０と予測エッジ画像８２−１を重ね合わせた重なり判定画像８６−１を生成し、重なり判定画像８６−１の中における実エッジ画像８０のエッジ部分と予測エッジ画像８２−１のエッジ部分が重なっている部分の画素の総数を求める。
【００７１】
このような実エッジ画像８０と予測エッジ画像８２−１〜８２−ｎとの重なり判定画像８６−１〜８６−ｎにつき、エッジ画像の画素重なり数をそれぞれ求め、最大重なり画素数となる予測エッジ画像８２−ｉを判定し、その候補位置を現在の走行位置と推定する。
【００７２】
ここで図７の相関計算による最大類似度の判定と図８の重なり画素数による最大類似度の判定を比較すると、実エッジ画像８０の抽出が不十分でエッジが途切れるような場合、相関計算による場合は途切れた分だけ相関値が低くなるが、エッジ重なり画素数の場合には、実エッジ画像のエッジに途切れが生じても、エッジが重なり合う部分以外のエッジの途切れであれば重なり画素数の判定にエッジの途切れが影響せず、相関計算に比べ、より安定的な最大類似度の比較処理を行うことができる。
【００７３】
また図７の相関計算による最大類似度と図８の重なり画素数による最大類似度の判定を個別に行ってもよいし、両者を組み合わせてもよい。例えば図７の相関計算で求めた相関値をソートし、上位の所定数の候補位置を選択し、選択した候補の予測エッジ画像につき図８の重なり画素数の判定処理を適用して、最大重なり画素数の予測エッジ画像に対応した候補位置を走行位置と推定してもよい。
【００７４】
図９は本実施形態における走行位置推定処理のフローチャートであり、図３を参照して説明すると次のようになる。
【００７５】
図９において、まずステップＳ１で例えば走行位置予測部３４が車輪回転角センサ３２から出力されるパルスに基づき、走行距離が設定距離ΔＬに達したか否かチェックしており、設定距離ΔＬに達すると、ステップＳ２で走行距離をクリアした後、ステップＳ３以降の走行位置の推定処理を開始する。
【００７６】
この走行位置の推定処理は、ステップＳ３で最大類似度をゼロに初期化した後、ステップ４で画像入力部４２によりカメラ１８でそのとき撮影しているカメラ画像を取得し、エッジ画像生成部４４で微分処理などによりエッジ画像を生成する。
【００７７】
次にステップＳ５で、走行位置予測部３４で予測された現在の走行位置を取得し、予測画像生成部３６によりステップＳ６で予測走行位置の周辺に候補位置を例えば図６のように設定する。
【００７８】
次にステップＳ７で候補位置の１つを選択して、選択した候補位置における予測エッジ画像を生成する。具体的には、選択した候補位置にカメラ１８を仮想的に設置したとして、環境レイアウト情報データベース３８のレイアウト情報から取得されるレイアウト３次元空間につき、前記（２）（３）式のカメラパラメータＣ１１〜Ｃ３４を用いた演算により、レイアウト３次元情報のエッジ画像を２次元平面のエッジ画像に変換して、予測エッジ画像を生成する。
【００７９】
次にステップＳ８で実エッジ画像と予測エッジ画像の類似度を計算する。この類似度の計算は、図７に示した相関計算８４、もしくは図８に示したエッジ重なり画素数のいずれかとする。
【００８０】
続いてステップＳ９で、計算した類似度をそのときの最大類似度と比較する。このとき最初の比較処理であることから、最大類似度はステップＳ３で初期化したゼロであり、したがって計算した類似度は必ずゼロ以上となって、ステップＳ１０に進み、最大類似度をステップＳ８で計算した類似度に更新し、そのときの候補位置を記録する。
【００８１】
続いてステップＳ１１に進み、処理した候補位置の数が予め定めた閾値未満であればステップＳ６に戻り、次の候補位置を生成してステップＳ７〜Ｓ１０の処理を繰り返す。このステップＳ６〜Ｓ１１の処理の繰り返しにより、複数の候補点の予測エッジ画像につき最大類似度となる候補位置が常に記録結果として残る。
【００８２】
ステップＳ１１で候補位置数が閾値を超えるとステップＳ１２に進み、このときステップＳ１０で記録している候補位置が最大類似度の候補位置であることから、これを現在の走行位置として設定する。
【００８３】
続いてステップＳ１３で目的地に到達したか否かチェックし、未到達であればステップＳ１に戻って同様な処理を繰り返し、目的地に達したら一連の走行位置推定処理を終了する。
【００８４】
また本発明は移動ロボットに搭載しているコンピュータ、具体的には図２のようなハードウエア構成で実行されるプログラムを提供するものであり、このプログラムの内容は図９のフローチャートに従った内容となる。
【００８５】
また本発明は、その目的と利点を損なうことのない適宜の変形を含み、更に上記の実施形態に示した数値による限定は受けない。
【００８６】
ここで本発明の特徴をまとめて列挙すると次の付記のようになる。
（付記）
（付記１）
施設等の環境を走行する移動ロボットに於いて、
推定された現在の走行位置に基づいて目的地までの走行経路を計画して走行指令を出力する経路計画部と、
前記経路計画部の走行指令に基づき前記走行経路に追従するように走行制御する走行制御部と、
推定された現在の走行位置に、車輪の回転角センサにより検出した走行距離を累積して現在の走行位置を予測する位置予測部と、
前記位置予測部で予測された現在の走行位置及びその周辺の候補位置に前記撮像部を仮想的に配置して撮像されるエッジ情報からなる予測エッジ画像を前記環境のレイアウト情報に基づいて複数生成する予測画像生成部と、
撮像部で撮影された走行方向の実画像からエッジ情報を抽出して実エッジ画像を生成するエッジ画像生成部と、
前記実エッジ画像と前記複数の予測エッジ画像を比較して類似度が最大となる予測エッジ画像の候補位置を走行位置と推定して前記経路計画部及び前記位置予測部の走行位置を更新する位置推定部と、
を備えたことを特徴とする移動ロボット。（１）
【００８７】
（付記２）
付記１記載の移動ロボットに於いて、前記位置推定部は、前記実画像の微分処理により生成した実エッジ画像と各予測エッジ画像との相関を演算し、相関が最大となる予測エッジ画像の候補位置を走行位置と推定することを特徴とする移動ロボット。（２）
【００８８】
（付記３）
付記１記載の移動ロボットに於いて、前記位置推定部は、前記実画像の微分処理により生成した実エッジ画像と各予測エッジ画像との重なり画素数を演算し、重なり画素数が最大となる予測エッジ画像の候補位置を走行位置と推定することを特徴とする移動ロボット。（３）
【００８９】
（付記４）
付記２又は３記載の移動ロボットに於いて、
前記予測画像生成部は、前記候補位置ごとに前記撮像部の撮像方向を変化させて複数の予測エッジ画像を生成することを特徴とする移動ロボット。
【００９０】
（付記５）
付記１記載の移動ロボットに於いて、前記予測画像生成部は、前記撮像部のカメラパラメータと前記レイアウト情報の３次元座標に基づいて予測エッジ画像を生成することを特徴とする移動ロボット。
【００９１】
（付記６）
付記１記載の移動ロボットに於いて、所定走行距離又は所定移動時間ごとに、前記実エッジ画像と複数の予測エッジ画像に基づく現在の走行位置の推定処理を繰り返すことを特徴とする移動ロボット。
【００９２】
（付記７）
施設等の環境を走行する移動ロボット制御方法に於いて、
推定された現在の走行位置に基づいて目的地までの走行経路を計画して走行指令を出力する経路計画ステップと、
前記経路計画ステップの走行指令に基づき前記走行経路に追従するように走行制御する走行制御ステップと、
推定された現在の走行位置に、車輪の回転角センサにより検出した走行距離を累積して現在の走行位置を予測する位置予測ステップと、
前記位置予測ステップで予測された現在の走行位置及びその周辺の候補位置に撮像部を仮想的に配置して撮像されるエッジ情報からなる予測エッジ画像を前記環境のレイアウト情報に基づいて複数生成する予測画像生成ステップと、
撮像部で撮影された走行方向の実画像からエッジ情報を抽出して実エッジ画像を生成するエッジ画像生成ステップと、
前記実エッジ画像と前記複数の予測エッジ画像を比較して類似度が最大となる予測エッジ画像の候補位置を走行位置と推定して前記経路計画ステップ及び前記位置予測ステップの走行位置を更新する位置推定ステップと、
を備えたことを特徴とする移動ロボット制御方法。（４）
【００９３】
（付記８）
付記７記載の移動ロボット制御方法に於いて、前記位置推定ステップは、前記実画像の微分処理により生成した実エッジ画像と各予測エッジ画像との相関を演算し、相関が最大となる予測エッジ画像の候補位置を走行位置と推定することを特徴とする移動ロボット制御方法。
【００９４】
（付記９）
付記７記載の移動ロボット制御方法に於いて、前記位置推定ステップは、前記実画像の微分処理により生成した実エッジ画像と各予測エッジ画像との重なり画素数を演算し、重なり画素数が最大となる予測エッジ画像の候補位置を走行位置と推定することを特徴とする移動ロボット制御方法。
【００９５】
（付記１０）
付記８又は９記載の移動ロボット制御方法に於いて、
前記予測画像生成ステップは、前記候補位置ごとに前記撮像ステップの撮像方向を変化させて複数の予測エッジ画像を生成することを特徴とする移動ロボット制御方法。
【００９６】
（付記１１）
付記７記載の移動ロボット制御方法に於いて、前記予測画像生成ステップは、前記撮像ステップのカメラパラメータと前記レイアウト情報の３次元座標に基づいて予測エッジ画像を生成することを特徴とする移動ロボット制御方法。
【００９７】
（付記１２）
付記７記載の移動ロボット制御方法に於いて、所定走行距離又は所定移動時間ごとに、前記実エッジ画像と複数の予測エッジ画像に基づく現在の走行位置の推定処理を繰り返すことを特徴とする移動ロボット制御方法。
【００９８】
（付記１３）
施設等の環境を走行する移動ロボットのコンピュータに、
推定された現在の走行位置に基づいて目的地までの走行経路を計画して走行指令を出力する経路計画ステップと、
前記経路計画ステップの走行指令に基づき前記走行経路に追従するように走行制御する走行制御ステップと、
推定された現在の走行位置に、車輪の回転角センサにより検出した走行距離を累積して現在の走行位置を予測する位置予測ステップと、
前記位置予測ステップで予測された現在の走行位置及びその周辺の候補位置に撮像部を仮想的に配置して撮像されるエッジ情報からなる予測エッジ画像を前記環境のレイアウト情報に基づいて複数生成する予測画像生成ステップと、
撮像部で撮影された走行方向の実画像からエッジ情報を抽出して実エッジ画像を生成するエッジ画像生成ステップと、
前記実エッジ画像と前記複数の予測エッジ画像を比較して類似度が最大となる予測エッジ画像の候補位置を走行位置と推定して前記経路計画ステップ及び前記位置予測ステップの走行位置を更新する位置推定ステップと、
を実行させるとを特徴とするプログラム。（５）
【００９９】
（付記１４）
付記１３記載のプログラムに於いて、前記位置推定ステップは、前記実画像の微分処理により生成した実エッジ画像と各予測エッジ画像との相関を演算し、相関が最大となる予測エッジ画像の候補位置を走行位置と推定することを特徴とするプログラム。
【０１００】
（付記１５）
付記１３記載のプログラムに於いて、前記位置推定ステップは、前記実画像の微分処理により生成した実エッジ画像と各予測エッジ画像との重なり画素数を演算し、重なり画素数が最大となる予測エッジ画像の候補位置を走行位置と推定することを特徴とするプログラム。
【０１０１】
（付記１６）
付記１４又は１５記載のプログラムに於いて、前記予測画像生成ステップは、前記候補位置ごとに前記撮像ステップの撮像方向を変化させて複数の予測エッジ画像を生成することを特徴とするプログラム。
【０１０２】
（付記１７）
付記１３記載のプログラムに於いて、前記予測画像生成ステップは、前記撮像ステップのカメラパラメータと前記レイアウト情報の３次元座標に基づいて予測エッジ画像を生成することを特徴とするプログラム。
【０１０３】
（付記１８）
付記１３記載のプログラムに於いて、所定走行距離又は所定移動時間ごとに、前記実エッジ画像と複数の予測エッジ画像に基づく現在の走行位置の推定処理を繰り返すことを特徴とするプログラム。
【図面の簡単な説明】
【０１０４】
【図１】本発明による移動ロボットの実施形態の説明図
【図２】図１の実施形態が適用される移動ロボットのハードウェア構成のブロック図
【図３】本発明による移動ロボット制御装置の実施形態を示した機能構成のブロック図
【図４】本実施形態の経路計画で生成された予定経路の説明図
【図５】走行中に実行されるカメラ撮影画像を用いた本実施形態による走行位置の推定処理の説明図
【図６】予測エッジ画像の生成を行う予測走行位置の周辺に設定する候補位置の説明図
【図７】本実施形態の位置推定処理において実エッジ画像と予測エッジ画像の類似度を相関計算で求める処理の説明図
【図８】本実施形態の位置推定処理において実エッジ画像と予測エッジ画像の類似度を画素の重なる数で求める処理の説明図
【図９】本実施形態における走行位置推定処理のフローチャート
【符号の説明】
【０１０５】
１０：移動ロボット
１２：頭部
１４：ボディ
１６：移動部
１８，１８−１〜１８−ｎ：カメラ
２０−１，２０−２：アーム
２２：タッチパネル付ＬＣＤ
２４：経路計画部
２６：走行制御部
２８−１，２８−２〜２８−ｎ：モータ
３０−１，３０−２：駆動輪
３０−３，３０−４：補助輪
３２：車輪回転角センサ
３２−１〜３２−ｎ：センサ
３４：走行位置予測部
３６：予測画像生成部
３８：環境レイアウト情報データベース
４０：位置推定部
４２：画像入力部
４４：エッジ画像生成部
４６：ＣＰＵボード
４８：ＤＳＰボード
５０：画像処理ボード
５２：ネットワークバス
５４：スピーカ
５６：センサボード
５８：モータ制御ボード
６０：カメラ切替ボード
６２：目的地
６４：予定経路
６６−１〜６６−４：部屋
６８：廊下
７０：予測走行位置
７２：候補位置マトリクス
７４：カメラ視線方向
７６：実画像
７８：エッジ抽出
８０：実エッジ画像
８２−１〜８２−ｎ：予測エッジ画像
８４：相関計算
８６−１〜８６−ｎ：重なり判定画像
【図１】
2007316966.tif 000006
【図２】
2007316966.tif 000007
【図３】
2007316966.tif 000008
【図４】
2007316966.tif 000009
【図５】
2007316966.tif 000010
【図６】
2007316966.tif 000011
【図７】
2007316966.tif 000012
【図８】
2007316966.tif 000013
【図９】
2007316966.tif 000014