(57)【特許請求の範囲】
【請求項１】
距離センサの前方視野内の物体表面の各点の距離を測定して得られた物体表面の各点の３次元座標値に基づいて距離画像を得る距離画像取得手段と、
前記距離画像中の着目画素と該着目画素から所定の距離だけ離れた画素とから２点の３次元座標値を求め、この２点の３次元座標値のうち垂直成分を削除した２点の２次元座標値を結ぶ水平面上の直線を抽出し、この処理を繰り返すことによって複数の前記直線を抽出する直線抽出手段と、
前記直線抽出手段によって抽出されたそれぞれの直線上に存在する前記物体表面の点を求め、同一の直線上に存在する各点を同一の垂直平面として検出する平面検出手段と、
を備えたことを特徴とする画像処理装置。
【請求項２】
前記距離画像中の着目画素と該着目画素から所定の距離だけ離れた画素とから３点の３次元座標値を求め、この３次元座標値から３次元空間上に存在する平面を特定する平面特定手段をさらに備え、
前記平面検出手段は、前記平面特定手段によって特定された平面の垂直ベクトルの傾きが所定の角度内である平面を道路面または床面としてさらに検出することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
請求項１または２のいずれかに記載の画像処理装置を備えた車両走行制御装置であって、
前記車両走行制御装置は、
車両の走行の際に前記平面検出手段による検出結果を参照して、走行の制御を行う移動制御手段を備えたことを特徴とする車両走行制御装置。
【請求項４】
請求項１または２のいずれかに記載の画像処理装置を備えた自律走行ロボットであって、
前記自律走行ロボットは、
ロボットの移動の際に前記平面検出手段による検出結果を参照して、走行の制御を行う移動制御手段を備えたことを特徴とする自律走行ロボット。
【請求項５】
距離センサの前方視野内の物体表面の各点の距離を測定して得られた物体表面の各点の３次元座標値に基づいて距離画像を得る距離画像取得処理と、
前記距離画像中の着目画素と該着目画素から所定の距離だけ離れた画素とから２点の３次元座標値を求め、この２点の３次元座標値のうち垂直成分を削除した２点の２次元座標値を結ぶ水平面上の直線を抽出し、この処理を繰り返すことによって複数の前記直線を抽出する直線抽出処理と、
前記直線抽出処理によって抽出されたそれぞれの直線上に存在する前記物体表面の点を求め、同一の直線上に存在する各点を同一の垂直平面として検出する平面検出処理と、
を有することを特徴とする平面検出方法。
【請求項６】
前記距離画像中の着目画素と該着目画素から所定の距離だけ離れた画素とから３点の３次元座標値を求め、この３次元座標値から３次元空間上に存在する平面を特定する平面特定処理をさらに備え、
前記平面検出処理は、前記平面特定処理によって特定された平面の垂直ベクトルの傾きが所定の角度内である平面を道路面または床面としてさらに検出することを特徴とする請求項５に記載の平面検出方法。
【請求項７】
前方視野内の平面を検出する平面検出プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記平面検出プログラムは、
距離センサの前方視野内の物体表面の各点の距離を測定して得られた物体表面の各点の３次元座標値に基づいて距離画像を得る距離画像取得処理と、
前記距離画像中の着目画素と該着目画素から所定の距離だけ離れた画素とから２点の３次元座標値を求め、この２点の３次元座標値のうち垂直成分を削除した２点の２次元座標値を結ぶ水平面上の直線を抽出し、この処理を繰り返すことによって複数の前記直線を抽出する直線抽出処理と、
前記直線抽出処理によって抽出されたそれぞれの直線上に存在する前記物体表面の点を求め、同一の直線上に存在する各点を同一の垂直平面として検出する平面検出処理と、
をコンピュータに行わせることを特徴とする平面検出プログラムを記録した記録媒体。
【請求項８】
前記距離画像中の着目画素と該着目画素から所定の距離だけ離れた画素とから３点の３次元座標値を求め、この３次元座標値から３次元空間上に存在する平面を特定する平面特定処理をさらに前記コンピュータに行わせ、
前記平面検出処理は、前記平面特定処理によって特定された平面の垂直ベクトルの傾きが所定の角度内である平面を道路面または床面としてさらに検出することを特徴とする請求項７に記載の平面検出プログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、距離画像を用いてロボットや自動車が移動する際に必要な壁や床、道路面に相当する平面検出を行う画像処理装置、平面検出方法、及び平面検出プログラムを記録した記録媒体に関する。
【０００２】
【従来の技術及び発明が解決しようとする課題】
従来は２次元平面上の直線を検出する手法としてＨｏｕｇｈ変換を用いるのが一般的である。しかしながら、この手法を応用して３次元空間上の平面を検出するためには、３次元上の全ての点をパラメータ空間上に投票する必要があり、投票に用いるメモリの量が膨大になるという問題がある。更に実際には存在しない面のパラメータについても投票が行われるため、平面の候補がたくさん存在することとなり平面検出処理に多大な処理時間を要するという問題もある。
【０００３】
本発明は、このような事情に鑑みてなされたもので、ロボットや自動車が自律的に移動する際に必要な平面検出を簡単に行うことができる画像処理装置、平面検出方法、及び平面検出プログラムを記録した記録媒体を提供することを目的とする。
【０００４】
【課題を解決するための手段】
本願の発明は、距離センサの前方視野内の物体表面の各点の距離を測定して得られた物体表面の各点の３次元座標値に基づいて距離画像を得る距離画像取得手段（例えば、実施形態における距離画像取得部１）と、前記距離画像中の着目画素と該着目画素から所定の距離だけ離れた画素とから２点の３次元座標値を求め、この２点の３次元座標値のうち垂直成分を削除した２点の２次元座標値を結ぶ水平面上の直線を抽出し、この処理を繰り返すことによって複数の前記直線を抽出する直線抽出手段（例えば、実施形態の垂直平面抽出部３におけるステップＳ１〜Ｓ６）と、前記直線抽出手段によって抽出されたそれぞれの直線上に存在する前記物体表面の点を求め、同一の直線上に存在する各点を同一の垂直平面として検出する平面検出手段（例えば、実施形態の垂直平面抽出部３におけるステップＳ７）とを備えたことを特徴とする。
【０００５】
上記の発明によれば、垂直平面の検出の際にＺ成分を用いずにＸ、Ｙ成分のみによって演算を行い、ＸＹ平面の直線を特定することによって垂直平面を抽出するようにしたため、使用するメモリ量を削減することができ、さらに処理時間も短縮することができるという効果が得られる。また、マスクを用いてＨｏｕｇｈ空間への投票の数を減少させたため、処理時間を短縮することができ、かつ精度良く平面を抽出することができるという効果も得られる。
【０００６】
本願の発明は、距離センサの前方視野内の物体表面の各点の距離を測定して得られた物体表面の各点の３次元座標値に基づいて距離画像を得る距離画像取得手段（例えば、実施形態における距離画像取得部１）と、前記距離画像中の着目画素と該着目画素から所定の距離だけ離れた画素とから３点の３次元座標値を求め、この３次元座標値から３次元空間上に存在する平面を特定する平面特定手段（例えば、実施形態の水平平面抽出部５におけるステップＳ１１〜Ｓ１３、Ｓ１８）と、前記平面特定手段によって特定された平面の垂直ベクトルの傾きが所定の角度内である平面を道路面または床面として検出する平面検出手段（例えば、実施形態の水平平面抽出部５におけるステップＳ１４、ステップＳ１９）とを備えたことを特徴とする。
【０００７】
上記の発明によれば、床面や道路面に相当する水平平面の検出の際に、検出しようとする平面の候補に対して、垂直ベクトルの角度が所定の範囲内である候補のみを使用して平面検出を行うようにしたため、使用するメモリ量を削減することができ、さらに処理時間も短縮することができるという効果が得られる。また、マスクを用いてＨｏｕｇｈ空間への投票の数を減少させたため、処理時間を短縮することができ、かつ精度良く平面を抽出することができるという効果も得られる。さらに、わずかな傾きを有するスロープ等も床面や道路面として検出することができる。
【０００８】
本願の発明は、上記いずれかの画像処理装置を備えた車両走行制御装置であって、前記車両走行制御装置は、車両の走行の際に前記平面検出手段による検出結果を参照して、走行の制御を行う移動制御手段（例えば、実施形態における移動制御部８）を備えたことを特徴とする。
【０００９】
上記の発明によれば、平面検出画像と距離画像を参照しながら自動車の移動を制御するようにしたため、精度よく自動車の位置の制御を行うことができるとともに、処理時間を短縮することが可能となるために走行制御装置内における経路選定処理の負荷を低減することができるという効果が得られる。
【００１０】
本願の発明は、上記いずれかの画像処理装置を備えた自律走行ロボットであって、前記自律走行ロボットは、ロボットの移動の際に前記平面検出手段による検出結果を参照して、走行の制御を行う移動制御手段（例えば、実施形態における移動制御部８）を備えたことを特徴とする。
【００１１】
上記の発明によれば、平面検出画像と距離画像を参照しながらロボットの移動を制御するようにしたため、精度よくロボットの位置の制御を行うことができるとともに、処理時間を短縮することが可能となるたロボット内における経路選定処理の負荷を低減することができるという効果が得られる。
【００１２】
本願の発明は、距離センサの前方視野内の物体表面の各点の距離を測定して得られた物体表面の各点の３次元座標値に基づいて距離画像を得る距離画像取得処理と、前記距離画像中の着目画素と該着目画素から所定の距離だけ離れた画素とから２点の３次元座標値を求め、この２点の３次元座標値のうち垂直成分を削除した２点の２次元座標値を結ぶ水平面上の直線を抽出し、この処理を繰り返すことによって複数の前記直線を抽出する直線抽出処理（例えば、実施形態の垂直平面抽出部３におけるステップＳ１〜Ｓ６）と、前記直線抽出処理によって抽出されたそれぞれの直線上に存在する前記物体表面の点を求め、同一の直線上に存在する各点を同一の垂直平面として検出する平面検出処理（例えば、実施形態の垂直平面抽出部３におけるステップＳ７）とを有することを特徴とする。
【００１３】
上記の発明によれば、垂直平面の検出の際にＺ成分を用いずにＸ、Ｙ成分のみによって演算を行い、ＸＹ平面の直線を特定することによって垂直平面を抽出するようにしたため、使用するメモリ量を削減することができ、さらに処理時間も短縮することができるという効果が得られる。また、マスクを用いてＨｏｕｇｈ空間への投票の数を減少させたため、処理時間を短縮することができ、かつ精度良く平面を抽出することができるという効果も得られる。
【００１４】
本願の発明は、距離センサの前方視野内の物体表面の各点の距離を測定して得られた物体表面の各点の３次元座標値に基づいて距離画像を得る距離画像取得処理と、前記距離画像中の着目画素と該着目画素から所定の距離だけ離れた画素とから３点の３次元座標値を求め、この３次元座標値から３次元空間上に存在する平面を特定する平面特定処理（例えば、実施形態の水平平面抽出部５におけるステップＳ１１〜Ｓ１３、Ｓ１８）と、前記平面特定処理によって特定された平面の垂直ベクトルの傾きが所定の角度内である平面を道路面または床面として検出する平面検出処理（例えば、実施形態の水平平面抽出部５におけるステップＳ１４、ステップＳ１９）とを有することを特徴とする。
【００１５】
上記の発明によれば、床面や道路面に相当する水平平面の検出の際に、検出しようとする平面の候補に対して、垂直ベクトルの角度が所定の範囲内である候補のみを使用して平面検出を行うようにしたため、使用するメモリ量を削減することができ、さらに処理時間も短縮することができるという効果が得られる。また、マスクを用いてＨｏｕｇｈ空間への投票の数を減少させたため、処理時間を短縮することができ、かつ精度良く平面を抽出することができるという効果も得られる。さらに、わずかな傾きを有するスロープ等も床面や道路面として検出することができる。
【００１６】
本願の発明は、前方視野内の平面を検出する平面検出プログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記平面検出プログラムは、距離センサの前方視野内の物体表面の各点の距離を測定して得られた物体表面の各点の３次元座標値に基づいて距離画像を得る距離画像取得処理と、前記距離画像中の着目画素と該着目画素から所定の距離だけ離れた画素とから２点の３次元座標値を求め、この２点の３次元座標値のうち垂直成分を削除した２点の２次元座標値を結ぶ水平面上の直線を抽出し、この処理を繰り返すことによって複数の前記直線を抽出する直線抽出処理（例えば、実施形態の垂直平面抽出部３におけるステップＳ１〜Ｓ６）と、前記直線抽出処理によって抽出されたそれぞれの直線上に存在する前記物体表面の点を求め、同一の直線上に存在する各点を同一の垂直平面として検出する平面検出処理（例えば、実施形態の垂直平面抽出部３におけるステップＳ７）とをコンピュータに行わせることを特徴とする。
【００１７】
上記の発明によれば、垂直平面の検出の際にＺ成分を用いずにＸ、Ｙ成分のみによって演算を行い、ＸＹ平面の直線を特定することによって垂直平面を抽出するようにしたため、使用するメモリ量を削減することができ、さらに処理時間も短縮することができるという効果が得られる。また、マスクを用いてＨｏｕｇｈ空間への投票の数を減少させたため、処理時間を短縮することができ、かつ精度良く平面を抽出することができるという効果も得られる。
【００１８】
本願の発明は、前方視野内の平面を検出する平面検出プログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記平面検出プログラムは、距離センサの前方視野内の物体表面の各点の距離を測定して得られた物体表面の各点の３次元座標値に基づいて距離画像を得る距離画像取得処理と、前記距離画像中の着目画素と該着目画素から所定の距離だけ離れた画素とから３点の３次元座標値を求め、この３次元座標値から３次元空間上に存在する平面を特定する平面特定処理（例えば、実施形態の水平平面抽出部５におけるステップＳ１１〜Ｓ１３、Ｓ１８）と、前記平面特定処理によって特定された平面の垂直ベクトルの傾きが所定の角度内である平面を道路面または床面として検出する平面検出処理（例えば、実施形態の水平平面抽出部５におけるステップＳ１４、ステップＳ１９）とをコンピュータに行わせることを特徴とする。
【００１９】
上記の発明によれば、床面や道路面に相当する水平平面の検出の際に、検出しようとする平面の候補に対して、垂直ベクトルの角度が所定の範囲内である候補のみを使用して平面検出を行うようにしたため、使用するメモリ量を削減することができ、さらに処理時間も短縮することができるという効果が得られる。また、マスクを用いてＨｏｕｇｈ空間への投票の数を減少させたため、処理時間を短縮することができ、かつ精度良く平面を抽出することができるという効果も得られる。さらに、わずかな傾きを有するスロープ等も床面や道路面として検出することができる。
【００２０】
【発明の実施の形態】
以下、本発明の一実施形態による画像処理装置を図面を参照して説明する。  図１は同実施形態の構成を示すブロック図である。この図において、符号１は、ロボットや自動車が移動する際の移動方向の視野内に存在する物体の距離画像を取得する距離画像取得部である。この距離画像取得部１の距離センサは、２台のＣＣＤカメラや電磁波を用いたレーダ等で構成される。符号２は、距離画像取得部１において得られた距離画像の１フレーム分を記憶する距離画像記憶部である。符号３は、距離画像記憶部２に記憶された距離画像を処理して壁に相当する垂直平面を抽出する垂直平面抽出部である。符号４は、２点の距離データから求めたパラメータの投票に用いられるヒストグラムを記憶するヒストグラム記憶部である。符号５は、距離画像記憶部２に記憶された距離画像を処理して床面や道路面に相当する水平平面を抽出する水平平面抽出部である。符号６は、３点の距離データから求めたパラメータの投票に用いられるヒストグラムを記憶するヒストグラム記憶部である。符号７は、垂直平面抽出部３及び水平平面抽出部５において抽出された結果の平面情報を記憶する平面検出画像記憶部である。符号８は、平面検出画像記憶部７に記憶された平面検出画像と、距離画像記憶部２に記憶されている距離画像とを参照してロボットや自動車等の移動を制御する移動制御部である。
ここでは、図１に示す画像処理装置は屋内を移動する自律走行のロボットに備えられているものとして説明する。
【００２１】
ここで、以下の説明において用いる座標系を定義する。ロボットの前方の距離方向をＸ軸、ロボットの左右方向をＹ軸、鉛直方向をＺ軸とし、これらの３軸は互いに直交している。また、以下でいう距離とは、距離画像取得部１から各物体までの直線距離である。したがって、距離画像データは、距離画像取得部１の視野における物体表面の測定点の３次元座標値の集合である。
【００２２】
次に、図面を参照して、図１に示す画像処理装置の動作を説明する。図２は、垂直平面抽出部３が距離画像から垂直平面を抽出する動作を示すフローチャートである。
まず、距離画像取得部１は、距離画像を取得し、そのデータをＡ／Ｄ変換して各測定点毎に距離画像記憶部２へ格納する。ここでは、一例として各測定点の距離を８ビット（２５６階調）で表現するものとする。通常の画像の画素は、センサの視野内における物体表面の輝度を表現したものであるが、距離画像の画素は、センサの視野内における物体表面までの距離を２５６階調で表現したものである。したがって、距離画像中の画素の位置によって座標原点からの３次元空間に存在する物体の表面上の１点への方向を特定することができ、さらにこの画素が持つ距離の情報によって３次元空間に存在する物体の表面上の１点を特定することができる。なお、より精度が必要な場合には、レーダを併用するなどして精度を向上させることもできる。さらに、距離データを２５６階調で表現せずに、距離センサの出力値をそのまま使用するようにしてもよい。
【００２３】
次に、距離画像記憶部２に距離画像が格納された後に垂直平面抽出部３は、１フレーム分の距離データを読み出し、予め設定されているマスクによって画像上の着目画素（ここでは、Ｐ１と称する）と他の１点の画素（ここでは、Ｐ２と称する）を選択する（ステップＳ１）。図４（ａ）にステップ１において用いられるマスクの一例を示す。この図に示すように、垂直平面用マスクは５×５画素のものであり、中心の点がＰ１であり、４隅の点がＰ２となる。
【００２４】
次に、垂直平面抽出部３は、このマスクによって選択された２点Ｐ１（ｘ1，ｙ1，ｚ1）、Ｐ２（ｘ2，ｙ2，ｚ2）から式（１）、（２）によって、Ｈｏｕｇｈ空間上のパラメータθ、ρを求める（ステップＳ２）。
θ＝−ｔａｎ-1［（ｘ1−ｘ2）／（ｙ1−ｙ2）］・・・・（１）
ρ＝ｘ1ｃｏｓθ＋ｙ2ｓｉｎθ・・・・・・・・・・・（２）
式（１）、（２）に示すように、パラメータθ、ρは、Ｚ成分を用いずにＸ成分及びＹ成分のみによって算出される。図２に示す処理は、壁等の垂直平面を抽出する処理であるため、Ｚ成分を無視することができる。特に屋内においては、垂直平面がほとんどであるため、Ｚ成分を無視しても平面抽出の処理結果に及ぼす影響は小さくすることができる。したがって、３次元座標値を有する物体表面上の測定点をＸＹ平面に投影し、その投影された点からＸＹ平面上の直線を抽出すれば３次元空間上の垂直平面を抽出することができる。ここで、式（１）、（２）によって算出されるパラメータθは、抽出しようとする直線が鉛直軸周りになす回転角度であり、パラメータρは、この直線と原点との距離を表している。
【００２５】
次に、垂直平面抽出部３は、ステップＳ２において求めたパラメータθ、ρをヒストグラム記憶部４に記憶されている３次元ヒストグラムへ投票する（ステップＳ３）。続いて、垂直平面抽出部３は、同一のＰ１に対して、他の３つのＰ２（図４（ａ）における斜線の位置）についてステップＳ１〜Ｓ３の処理を行う（ステップＳ４）。さらに、垂直平面抽出部３は、図４（ａ）に示すマスクを使用して、図５に示すように、距離画像の左上の位置から右下の位置まで距離画像全体に対してＰ１の位置を１画素分ずつ移し、ステップＳ１〜Ｓ３の処理を繰り返す（ステップＳ５）。この処理によって、ヒストグラム記憶部４には、３次元ヒストグラムが生成される。
【００２６】
次に、垂直平面抽出部３は、ヒストグラム記憶部４を参照して、度数のすべての極大値を抽出する（ステップＳ６）。そして、抽出した極大値を持つパラメータθ、ρを求め、このθ、ρによって、ＸＹ平面上の直線を特定する。したがって、ここで特定される直線の数は、極大値の数と同数となる。
【００２７】
次に、垂直平面抽出部３は、３次元座標値を持つ測定点をＸＹ平面に投影した点が、先に特定された直線上の点となるか否かによってこの測定点が平面上の点であるか否かを判定する。そして、この判定を特定された直線毎に行うことによって、距離画像上の垂直平面を抽出し、この結果から平面抽出画像を生成する（ステップＳ７）。この平面抽出画像は、同一の直線上に存在する測定点を、特定された直線毎に色分けするなどして生成すればよい。この処理によって、垂直平面のみが色付けされて抽出され、垂直平面でない部分は色付けがされていない状態の平面抽出画像が得られる。
【００２８】
次に、図３を参照して、水平平面抽出部５が床等に相当する水平平面を抽出する動作を説明する。図３は、水平平面抽出部５が水平平面を抽出する動作を示すフローチャートである。ここでいう水平平面とは、床面や道路面のことであり、現実的なスロープの角度（例えば最大で１０度）を有する床面や道路面が含まれる。
まず、距離画像記憶部２に距離画像が格納された後に垂直平面抽出部３は、１フレーム分の距離データを読み出し、予め設定されているマスクによって画像上の着目画素（ここでは、Ｐ１と称する）と他の２点の画素（ここでは、Ｐ２、Ｐ３と称する）を選択する（ステップＳ１１）。図４（ｂ）にステップ１１において用いられるマスクの一例を示す。この図に示すように、水平平面用マスクは９×９画素のものであり、中心の５×５画素の部分は、図４（ａ）に示す垂直平面用マスクと同等であり、さらにこのマスクは、９×９画素の４隅がＰ３となっている。
【００２９】
次に、水平平面抽出部５は、このマスクによって選択された３点Ｐ１（ｘ1，ｙ1，ｚ1）、Ｐ２（ｘ2，ｙ2，ｚ2）、Ｐ３（ｘ3，ｙ3，ｚ3）から式（３）、（４）によって、単位外積ベクトルｎを求める（ステップＳ１２）。以下の式の説明において、ベクトルの表現を「ベクトルｎ」という表現を用いる。
【００３０】
単位外積ベクトルｎは、式（３）によって、まず外積ベクトルｎtmpを求め、さらにこれを式（４）によって正規化することによって求められる。
外積ベクトルｎtmp＝（（ｙ2−ｙ1）（ｚ3−ｚ1）−（ｚ2−ｚ1）（ｙ3−ｙ1），（ｚ2−ｚ1）（ｘ3−ｘ1）−（ｘ2−ｘ1）（ｚ3−ｚ1），
（ｙ2−ｙ1）（ｚ3−ｚ1）−（ｚ2−ｚ1）（ｙ3−ｙ1））・・・（３）
単位外積ベクトルｎ＝ベクトルｎtmp／｜ベクトルｎtmp｜・・・・・・・・・・・・（４）
式（４）によって正規化された大きさ１の単位外積ベクトルｎは、
単位外積ベクトルｎ＝（ｎx，ｎy，ｎz）となり、このベクトルが先に選択した３点で張る面の垂直ベクトルとなる。
【００３１】
次に、水平平面抽出部５は、求めた単位外積ベクトルｎから式（５）、（６）、（７）、（８）によって、パラメータρ、θx、θy、θzを求める（ステップＳ１３）。
ρ＝ｎxｘ1＋ｎyｙ1＋ｎzｚ1・・・・・・（５）
θx＝ｃｏｓ-1ｎx・・・・・・・・・・・（６）
θy＝ｃｏｓ-1ｎy・・・・・・・・・・・（７）
θz＝ｃｏｓ-1ｎz・・・・・・・・・・・（８）
ここで、パラメータρは、抽出しようとする平面に原点からの距離を表し、パラメータθx、θy、θzは、それぞれ垂直ベクトルの各成分に対する方向余弦に対する角度を表している。
【００３２】
次に、水平平面抽出部５は、垂直ベクトルのＺ成分の方向余弦に対する角度  θzが、｜θz｜≦Ｔｈを満たすか否かを判定する（ステップＳ１４）。ここで、Ｔｈはしきい値であり、床面や道路面のスロープの最大角度である。通常、屋内における床面はスロープを考慮しても最大で１０度程度であるので、このＴｈは１０度を設定することが望ましい。
【００３３】
次に、水平平面抽出部５は、ステップＳ１４において、｜θz｜≦Ｔｈを満たしていれば、ステップＳ１３において求めたパラメータρ、θx、θy、θzをヒストグラム記憶部６に記憶されている４次元ヒストグラムへ投票する（ステップＳ１５）。一方、｜θz｜≦Ｔｈを満たしていなければ、ステップＳ１６へ進む。
【００３４】
続いて、水平平面抽出部５は、同一のＰ１に対して、他の３つのＰ２及び他の３つのＰ３（図４（ｂ）における斜線の位置）についてステップＳ１１〜Ｓ１５の処理を行う（ステップＳ１６）。さらに、水平平面抽出部５は、図４（ｂ）に示すマスクを使用して、図５に示すように、距離画像の左上の位置から右下の位置まで距離画像全体に対してＰ１の位置を１画素分ずつ移し、ステップＳ１１〜Ｓ１５の処理を繰り返す（ステップＳ１７）。この処理によって、ヒストグラム記憶部６には、４次元ヒストグラムが生成される。
ただし、投票されるのは、｜θz｜≦Ｔｈが満たされたときのみである。
【００３５】
次に、水平平面抽出部５は、ヒストグラム記憶部６を参照して、度数のすべての極大値を抽出する（ステップＳ１８）。そして、抽出した極大値を持つパラメータρ、θx、θy、θzを求め、このρ、θx、θy、θzによって、３次元空間上の平面を特定する。したがって、ここで特定される平面の数は、極大値の数と同数となる。
【００３６】
次に、水平平面抽出部５は、特定された水平平面から平面抽出画像を生成する（ステップＳ１９）。この平面抽出画像は、特定された平面上に存在する測定点を、特定された平面毎に色分けするなどして生成すればよい。この処理によって、水平平面のみが色付けされて抽出され、水平平面でない部分は色付けがされていない状態の平面抽出画像が得られる。
【００３７】
なお、図２に示す垂直平面抽出処理と図３に示す水平平面抽出処理は、同時に動作し、その結果を合成して、垂直平面と水平平面とが色分けされた平面抽出画像を生成するようにしてもよい。また、距離画像取得部１は、垂直平面抽出部３および水平平面抽出部５が、距離画像記憶部２に記憶されている距離データの読み出しが終了した時点で、新たな距離画像を取得し、距離画像記憶部２を更新するようにする。そして、前述した処理を繰り返すことによって、平面検出画像記憶部７の内容を更新する。平面検出画像記憶部７に記憶されている平面検出画像の一例を図６に示す。
【００３８】
一方、移動制御部８は、時々刻々更新される平面検出画像記憶部７と距離画像記憶部２の内容を参照しながら、平面を認識することによって移動経路の設定を行い、ロボットの移動の制御を行う。
【００３９】
このように、垂直平面の検出の際にＺ成分を用いずにＸ、Ｙ成分のみによって演算を行い、３次元のヒストグラムを使用してＸＹ平面の直線を特定することによって壁に相当する垂直平面を抽出するようにしたため、使用するメモリ量を削減することができ、さらに処理時間も短縮することができる。また、床面や道路面に相当する水平平面の検出の際に、検出しようとする平面の候補に対して、垂直ベクトルの角度が所定の範囲内である候補のみを使用して４次元ヒストグラムの投票を行うようにしたため、使用するメモリ量を削減することができ、さらに処理時間も短縮することができる。また、垂直平面と水平平面の検出処理を分けて、並行して同時に動作するようにしたため、さらに処理効率を向上させることが可能となる。さらに平面検出画像と距離画像を参照しながらロボットの移動を制御するようにしたため、精度よくロボットの位置の制御を行うことができるとともに、処理時間を短縮することが可能となるためにロボット内における経路選定処理の負荷を低減することが可能となる。また、マスクを用いて投票範囲を制限したので、処理時間を短縮できるととに平面の検出精度が向上する。
【００４０】
なお、図２、３における処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより平面検出処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フロッピーディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００４１】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００４２】
【発明の効果】
以上説明したように、本願の発明によれば、壁に相当する垂直平面の検出の際にＺ成分を用いずにＸ、Ｙ成分のみによって演算を行い、ＸＹ平面の直線を特定することによって垂直平面を抽出するようにしたため、使用するメモリ量を削減することができ、さらに処理時間も短縮することができるという効果が得られる。また、マスクを用いてＨｏｕｇｈ空間への投票の数を減少させたため、処理時間を短縮することができ、かつ精度良く平面を抽出することができるという効果も得られる。
【００４３】
また、本願の発明によれば、床面や道路面に相当する水平平面の検出の際に、検出しようとする平面の候補に対して、垂直ベクトルの角度が所定の範囲内である候補のみを使用して平面検出を行うようにしたため、使用するメモリ量を削減することができ、さらに処理時間も短縮することができるという効果が得られる。また、マスクを用いてＨｏｕｇｈ空間への投票の数を減少させたため、処理時間を短縮することができ、かつ精度良く平面を抽出することができるという効果も得られる。さらに、わずかな傾きを有するスロープ等も床面や道路面として検出することができる。
【００４４】
また、本願の発明によれば、平面検出画像と距離画像を参照しながら自動車の移動を制御するようにしたため、精度よく自動車の位置の制御を行うことができるとともに、処理時間を短縮することが可能となるために走行制御装置内における経路選定処理の負荷を低減することができるという効果が得られる。
【００４５】
また、本願の発明によれば、平面検出画像と距離画像を参照しながらロボットの移動を制御するようにしたため、精度よくロボットの位置の制御を行うことができるとともに、処理時間を短縮することが可能となるたロボット内における経路選定処理の負荷を低減することができるという効果が得られる。
【図面の簡単な説明】
【図１】  本発明の一実施形態の構成を示すブロック図である。
【図２】  図１に示す垂直平面抽出部３の動作を示すフローチャートである。
【図３】  図１に示す水平平面抽出部５の動作を示すフローチャートである。
【図４】  図１に示す垂直平面抽出部３及び水平平面抽出部５において用いられるマスクの一例を示す説明図である。
【図５】  図１に示す垂直平面抽出部３及び水平平面抽出部５の処理において、距離画像の走査方向の一例を示す説明図である。
【図６】  図１に示す平面検出画像記憶部７に記憶される平面検出画像の一例を示す説明図である。
【符号の説明】
１・・・距離画像取得部、
２・・・距離画像記憶部、
３・・・垂直平面抽出部、
４・・・ヒストグラム記憶部、
５・・・水平平面抽出部、
６・・・ヒストグラム記憶部、
７・・・平面検出画像記憶部、
８・・・移動制御部。
【図１】
0004429461.tif 000002
【図２】
0004429461.tif 000003
【図３】
0004429461.tif 000004
【図４】
0004429461.tif 000005
【図５】
0004429461.tif 000006
【図６】
0004429461.tif 000007