(57)【要約】【課題】距離画像からその画像内に含まれる平面を、より確実に検出できる平面検出装置およびそれを備えた自律移動装置を提供する。【解決手段】本発明の自律移動装置の一形態である清掃ロボット１は、距離画像センサ２０と、平面検出装置６０とを備え、平面検出装置６０は、距離画像を３次元座標データに変換する３次元座標演算部３１と、３次元座標データを平面に投影した画像を生成する投影画像生成部３２と、投影画像から直線を検出する直線検出部３３と、直線から３次元座標データ上の平面を検出する平面検出部３４を備える。【選択図】図４
2014085940.tif 000002
【特許請求の範囲】
【請求項１】
特定の検出対象平面を含む被写体の距離画像データから当該特定の検出対象平面を検出する平面検出装置であって、
前記距離画像データを、前記特定の検出対象平面を表す検出対象３次元点群を含む３次元座標データに変換する３次元座標演算手段と、
前記３次元座標データを所定の２次元平面に投影して、前記検出対象３次元点群が線形に分布した投影画像データを生成する投影画像生成手段と、
前記投影画像データから前記線形の直線を検出する直線検出手段と、
前記直線検出手段の検出結果に基づいて、前記特定の検出対象平面の傾きに関する情報を含む平面パラメータを算出する平面パラメータ算出手段と、
を備えることを特徴とする平面検出装置。
【請求項２】
前記距離画像データにおいて、前記被写体の奥行き方向をｚ軸として、当該ｚ軸に対して垂直であるｘ軸およびｙ軸であって、当該距離画像データの左右方向をｘ軸、上下方向をｙ軸としたｘｙｚ座標系において、前記投影画像生成手段は、前記３次元座標データをｙｚ平面に投影した投影画像データを生成し、
前記平面パラメータ算出手段は、投影画像データから、前記特定の検出対象平面の、前記ｚ軸に対する傾斜角を含む前記平面パラメータを算出することを特徴とする請求項１に記載の平面検出装置。
【請求項３】
前記平面パラメータ算出手段は、前記直線が予め定めた範囲内にあるか否かを判別することを特徴とする請求項１または２に記載の平面検出装置。
【請求項４】
前記ｘｙｚ座標系を、前記ｘ軸を回転軸として回転させることによってｘｙ´ｚ´座標系に変換して、ｘｙ´ｚ´座標系における前記特定の検出対象平面を表す検出対象３次元点群を含む第２の３次元座標データを生成する第２の３次元座標演算手段と、
前記第２の３次元座標データを、ｘｙ´平面に投影して、当該第２の３次元座標データに含まれる前記検出対象３次元点群が線形に分布した第２の投影画像データを生成する第２の投影画像生成手段と、
前記第２の投影画像データから、当該第２の投影画像データに分布する前記線形の第２の直線を検出する第２の直線検出手段と、
前記第２の直線検出手段の検出結果に基づいて、前記特定の検出対象平面の傾きに関する情報を含む第２の平面パラメータを算出する第２の平面パラメータ算出手段と、
をさらに備えることを特徴とする請求項２に記載の平面検出装置。
【請求項５】
請求項１から４までの何れか１項に記載の平面検出装置と、
前記距離画像データを生成する距離画像生成手段と、
走行手段と、を備えており、
前記平面検出装置を用いて走行路となる平面を検出することを特徴とする自律移動装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、距離画像から平面を検出する平面検出装置、およびそれを備えた自律移動装置に関する。
【背景技術】
【０００２】
ロボットや無人搬送車といった自律移動装置においては、移動時に前方にある障害物や段差を検出し、衝突や転落を防止する必要がある。このような障害物や段差の検出には、赤外線方式や超音波方式の近接センサ広く用いられていた。
【０００３】
しかし、赤外線方式や超音波方式の近接センサは、前方の障害物の有無は判別できるが、その詳細な位置や形状までは得られない。したがって、ロボットに取り付けた場合、直近に存在する障害物や段差などの検出はできるものの、進行方向前方の広い範囲の障害物や段差を予め発見して回避しながら移動するような用途には用いることができない。そこで、レーザレンジファインダ（ＬＲＦ）などの距離センサが、用いられるようになった。
【０００４】
図１３は、従来技術におけるレーザレンジファインダ１０１を備えた自律移動装置１００の図であり、図１３中の（ａ）は、従来技術におけるレーザレンジファインダ１０１を備えた自律移動装置１００の外観図を示す図であり、図１３中の（ｂ）は、従来技術におけるレーザレンジファインダ１０１を備えた自律移動装置１００が検出できない上方の障害物１０２、下方の障害物１０３、および段差１０４の図である。図１３中の（ａ）に示すように、自律移動装置１００は、レーザレンジファインダ１０１を高さＨＬＲＦの位置に備えている。レーザレンジファインダ１０１は、高さＨＬＲＦの位置において、水平方向（図のｙ軸に垂直な面内）に角度スキャンを行い、障害物、および段差を検出する。
【０００５】
しかし、レーザレンジファインダ１０１は、計測精度は高いが、計測する高さと異なる位置にある障害物、および段差は検出できないという欠点がある。例えば、図１３中の（ｂ）において、レーザレンジファインダ１０１は、障害物１０２、障害物１０３、および段差１０４を検出することはできない。したがって、障害物１０２、障害物１０３、および段差１０４を検出するために、レーザレンジファインダ１０１の他に、赤外線方式の近接センサ、超音波方式の近接センサなどを多数配置する必要があり、自律移動装置が煩雑な構造となっていた。
【０００６】
そこで、障害物、および段差を検出するために、障害物、および段差が含まれる画像を取得し、その画像から平面を検出して、その平面上の障害物、および段差を検出するという手法が提案されている。特許文献１においては、ステレオカメラを用いて、左右画像の微分画像のＨｏｕｇｈ変換結果から道路面を検出し、それを手掛かりに他の車両や歩行者などを検出する。
【０００７】
また、特許文献２においては、ＴＯＦ（Ｔｉｍｅ  Ｏｆ Ｆｌｉｇｈｔ）方式の距離画像センサによって得られる距離画像データから、ＲＡＮＳＡＣ（ＲＡＮｄｏｍ  ＳＡｍｐｌｅ  Ｃｏｎｓｅｎｓｕｓ）法と呼ばれる計算手法によって平面情報を抽出し、それを手掛かりに歩行者などを検出する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００５−２４４６４号公報（２００５年１月２７日公開）
【特許文献２】特表２０１１−５３０７０６号公報（２０１１年１２月２２日公表）
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、前記特許文献１に示された方法においては、ステレオカメラが必須である上、道路上の白線や路面端など、平面を検出するための分かりやすい手掛かりが必要となる。例えば、特許文献１にかかる平面検出装置を移動式ロボットに備えた場合、移動式ロボットが走行する路面上に白線や路面端などの分かりやすい手掛かりがない場合には、左右画像の対応関係が得られないため適用できない。
【００１０】
また、前記特許文献２に示された方法においては、距離画像データから直接平面情報を抽出できるものの、距離画像データ内に平面とは無関係の情報が多数含まれると、それがノイズとなって平面検出の障害となる。特に、距離画像データ内の大部分が平面以外の情報で占められているような場合には、平面が検出できなくなってしまう。また、平面を特定する際に算出すべきパラメータが多いため、演算時間が増大するという問題がある。
【００１１】
本発明は、前記の問題点を鑑みてなされたものであり、その目的は、距離画像からその画像内に含まれる平面を、高速かつより確実に検出できる平面検出装置を提供することにある。
【課題を解決するための手段】
【００１２】
前記の課題を解決するために、本発明に係る平面検出装置は、特定の検出対象平面を含む被写体の距離画像データから当該特定の検出対象平面を検出する平面検出装置であって、前記距離画像データを、前記特定の検出対象平面を表す検出対象３次元点群を含む３次元座標データに変換する３次元座標演算手段と、前記３次元座標データを所定の２次元平面に投影して、前記検出対象３次元点群が線形に分布した投影画像データを生成する投影画像生成手段と、前記投影画像データから前記線形の直線を検出する直線検出手段と、前記直線検出手段の検出結果に基づいて、前記特定の検出対象平面の傾きに関する情報を含む平面パラメータを算出する平面パラメータ算出手段と、を備えることを特徴としている。
【００１３】
また、前記の課題を解決するために、本発明に係る自律移動装置は、前記平面検出装置と、前記距離画像データを生成する距離画像生成手段と、走行手段と、を備えており、前記平面検出装置を用いて走行路となる平面を検出することを特徴としている。
【発明の効果】
【００１４】
本発明によれば、距離画像を３次元座標データに変換し、変換した３次元座標データを所定の２次元面（平面）に投影する。そして、投影した画像から直線を検出し、平面を検出する。したがって、距離画像の中に平面検出の手掛かりを必要とせず、また障害物等の平面とは無関係の情報が距離画像に多数含まれていても当該無関係の情報を排除して平面をより確実に検出できるという効果を奏する。
【図面の簡単な説明】
【００１５】
【図１】（ａ）は、本発明の実施形態１に係る平面検出装置を用いた清掃ロボットの外観図を示す図であり、（ｂ）は、本発明の実施形態１に係る平面検出装置を用いた清掃ロボットの断面図である。
【図２】本発明の実施形態１に係る清掃ロボットに具備される距離画像センサの取り付け位置と、距離画像センサの計測範囲を示す図である。
【図３】（ａ）は、本発明の実施形態１に係る清掃ロボットに具備される遠距離用の距離画像センサにより撮影されたＲＧＢ画像であり、（ｂ）は、本発明の実施形態１に係る清掃ロボットに具備される遠距離用の距離画像センサにより撮影された距離画像であり、（ｃ）は、本発明の実施形態１に係る清掃ロボットに具備される近距離用の距離画像センサにより撮影されたＲＧＢ画像であり、（ｄ）は、本発明の実施形態１に係る清掃ロボットに具備される近距離用の距離画像センサにより撮影された距離画像である。
【図４】本発明の実施形態１に係る清掃ロボットの機能構成を示すブロック図である。
【図５】（ａ）は、本発明の実施形態１に係る清掃ロボットに具備される近距離用の距離画像センサ基準の３次元座標系を示す図であり、（ｂ）は、本発明の実施形態１に係る清掃ロボットに具備される遠距離用の距離画像センサ基準の３次元座標系を示す図であり、（ｃ）は、本発明の実施形態１に係る清掃ロボット基準の３次元座標系を示す図である。
【図６】本発明の実施形態１に係る３次元座標データの例を示す図である。
【図７】本発明の実施形態１に係る図６の３次元座標データをｙｚ平面に投影した投影画像である。
【図８】本発明の実施形態１に係る清掃ロボットの演算装置が処理する手順を示すフローチャートである。
【図９】（ａ）は、本発明の実施形態１に係る清掃ロボットに具備される遠距離用の距離画像センサにより撮影された距離画像から生成されたｙｚ平面への投影画像であり、（ｂ）は、（ａ）のボトム画像であり、（ｃ）は、本発明の実施形態１に係る清掃ロボットに具備される近距離用の距離画像センサにより撮影された距離画像から生成されたｙｚ平面への投影画像であり、（ｄ）は、（ｃ）のボトム画像である。
【図１０】（ａ）は、本発明の実施形態１に係る清掃ロボットに具備される距離画像センサにより撮影された距離画像から生成された、床面より低い段差が存在する場合のｙｚ平面への投影画像であり、（ｂ）は、（ａ）のボトム画像である。
【図１１】本発明の実施形態２に係る清掃ロボットの演算装置が処理する手順を示すフローチャートである。
【図１２】（ａ）は、本発明の実施形態２に係る清掃ロボットに具備される距離画像センサにより撮影された距離画像から生成された３次元座標データの例を示す図であり、（ｂ）は、（ａ）の３次元座標データをｙｚ平面に投影した投影画像であり、（ｃ）は、（ａ）の３次元座標データをｘｙ平面に投影した投影画像であり、（ｄ）は、（ａ）の３次元座標データをｘｙ´平面に投影した投影画像である。
【図１３】（ａ）は、従来技術におけるレーザレンジファインダを備えた自律移動装置の外観図を示す図であり、（ｂ）は、従来技術におけるレーザレンジファインダを備えた自律移動装置が検出できない上方の障害物、下方の障害物、および段差の図である。
【発明を実施するための形態】
【００１６】
〔実施形態１〕
以下、本発明の平面検出装置および自律移動装置の一実施形態として、平面検出装置を備えた清掃ロボットを挙げて、これを図１〜図８を用いて説明する。
【００１７】
図１は、本実施形態１における清掃ロボット１を示す図であり、図１中の（ａ）は、この清掃ロボット１の外観図を示す図であり、図１中の（ｂ）は、その清掃ロボット１の筐体１１の内部構成を図示した断面図である。本実施形態１における清掃ロボット１は、床面を自律走行しながら清掃を行なう自律走行型の清掃ロボットである。この清掃ロボット１は、距離画像センサが取得した距離画像から平面を検出する平面検出装置を必須構成としている。清掃ロボット１は、平面検出装置によって、平面を検出し、進行方向の障害物、および段差を判別して、これらを避けて走行することができる。
【００１８】
なお、本発明に係る平面検出装置は、距離画像センサを構成要素として具備してもよいし、本実施形態１において以下で説明するように、清掃ロボット１に距離画像センサおよび平面検出装置が設けられており、当該距離画像センサが取得した距離画像を平面検出装置が入手して平面を検出する態様であってもよい。本実施形態１では、距離画像センサは平面検出装置の構成要素ではなく、平面検出装置の外部構成として距離画像センサが在る態様について説明する。
【００１９】
（清掃ロボット１の構成）
図１中の（ａ）において、清掃ロボット１は、窓２１が設けられた筐体１１と、駆動輪２（走行手段）と、保護部材１２とを備えている。筐体１１の内部には、後述する種々の制御系および駆動系などが実装されており、駆動輪２が駆動制御されることによって、清掃ロボット１が走行路面を走行し、走行中あるいは走行停止中に走行路面の清掃を行なう。
【００２０】
清掃ロボット１のより具体的な構成を図１中の（ｂ）を用いて説明する。図１中の（ｂ）において、清掃ロボット１は、窓２１が設けられた筐体１１の内部に、バッテリ４と、廃液回収ユニット４５と、洗浄液吐出ユニット４６と、モータ１０と、距離画像センサ２０（距離画像生成手段）と、演算装置３０とを実装している。更に、図１中の（ｂ）において、清掃ロボット１は、筐体１１の外部、より具体的には筐体１１と走行路面との間に、先に説明した駆動輪２とともに、従輪３と、清掃ブラシ９と、保護部材１２とを備えている。以下に各構成について説明するが、本実施形態１の特徴的構成は演算装置３０の一部に設けられた平面検出装置６０にある。そこで、以下ではこの特徴的構成について重点的に説明する一方、特徴的構成以外の構成については従来周知の構成によって実現することも可能であるため詳細な説明は省略する。
【００２１】
なお、図１において、清掃ロボット１は、紙面左方向へ前進、紙面右方向へ後退、紙面奥、または手前方向への旋回が可能であるが、以下の説明では、主な進行方向である紙面左方向への移動を単に進行方向と記載することがある。
【００２２】
駆動輪２は、清掃ロボット１の底部の左右に配置されており、駆動モータ（不図示）により制御されて清掃ロボット１の移動を実現する。従輪３は、清掃ロボット１の底部に回転自在に取り付けられている。駆動輪２および従輪３は、前進、後退、旋回、および停止ができ、これらの組み合わせにより清掃ロボット１の自在な走行を可能としている。
【００２３】
バッテリ４は清掃ロボット１に電源を供給する。バッテリ４は、よく知られた降圧回路と整流平滑回路とにより充電され、所定の電圧を出力する。
【００２４】
洗浄液吐出ユニット４６は、洗浄液タンク５と、洗浄液吐出部６とを有している。洗浄液タンク５は、洗浄液を貯留する。また、洗浄液吐出部６は、洗浄液タンク５とパイプにより連結されており、洗浄液タンク５に貯留されている洗浄液を吐出する。
【００２５】
廃液回収ユニット４５は、廃液タンク７と、吸引口８とを有している。廃液タンク７は、清掃ロボット１が内部に吸い込んだ廃液（塵や埃等を含む）を溜める。清掃ロボット１は、吸引口８から廃液を吸い込み、吸引口８とパイプにより連結されている廃液タンク７に廃液を排出する。
【００２６】
清掃ブラシ９は、吸引口８の付近に設置され、洗浄液吐出部６から吐出された洗浄を使い清掃する。清掃ブラシ９は、モータ１０によって駆動される。
【００２７】
保護部材１２は、洗浄液の飛散、および異物の巻き込みを防止するために、清掃ロボット１の底部における進行方向前方側に設置されている。
【００２８】
距離画像センサ２０は、近距離用の距離画像センサ２０ａと、遠距離用の距離画像センサ２０ｂとを有している。なお、近距離用の距離画像センサ２０ａと、遠距離用の距離画像センサ２０ｂとに共通する構成について説明する場合には単に距離画像センサ２０と記載することがある。
【００２９】
距離画像センサ２０は、赤外光投射方式の距離画像センサであり、その内部に赤外光の投射素子を含む投射光学系と、赤外光の撮像素子を含む撮像光学系を有する。所定のパターンを有する赤外光を外部に投影照射し、外部物体からの反射光を撮像素子で撮影することで、撮像光学系の視野範囲内にある物体までの距離を計測することができる。近距離用の距離画像センサ２０ａと、遠距離用の距離画像センサ２０ｂとは、筐体１１の内部に配設されており、赤外光を筐体１１の窓２１を通じて外部に投射するとともに、窓２１を通じて外部から反射光を入射する。
【００３０】
距離画像センサ２０の距離計測結果は、視野範囲に含まれる物体までの距離を画像上の画素のグレースケール値として表現した距離画像（深度画像、デプス画像）として出力される。本実施形態における距離画像センサ２０ａ、および距離画像センサ２０ｂの詳細については、後述する。
【００３１】
演算装置３０は、距離画像センサ２０の距離画像を取得して、平面を検出する処理を行う。演算装置３０の構成および機能の詳細については、後述する。
【００３２】
なお、清掃ロボット１には、前記の各構成の他にも、後述する構成も含む。その他にも、手動走行、または自動走行を選択する操作パネル、手動走行時の走行方向を決定する走行スイッチ、および非常時に運転を停止させる非常停止スイッチ等の制御スイッチ５０（図４）などを備えることができる。また、清掃ロボット１の形態は、前記のような洗浄液を使用して洗浄するタイプに限定されるものではなく、ファン、集塵室、吸込口などを備えたいわゆる家庭用掃除機のような態様のロボットであってもよい。
【００３３】
本発明に係る自律移動装置は、本実施形態１の清掃ロボット１でいうところの距離画像センサ２０と、後述する演算装置３０の平面検出装置６０とを必須構成としている。そこで、以下では、先述した距離画像センサ２０の詳細を説明するとともに、演算装置３０の詳細を説明する。
【００３４】
（距離画像センサ２０の詳細）
図２は、本発明の実施形態１に係る清掃ロボット１の、距離画像センサ２０の取り付け位置と、距離画像センサ２０の計測範囲を示す図である。距離画像センサ２０は、清掃ロボット１の進行方向前面に、清掃対象である床面（走行路面）から垂直に所定の距離離間した高さ位置に取り付けられている。より具体的には、距離画像センサ２０の光軸は、進行方向前後に沿って伸びているものの、光軸の一端である撮像素子から進行方向に向かって斜め下向きになるよう、つまり距離画像センサ２０は斜め下向きに床面を向いて取り付けられている。本実施形態１においては、近距離用の距離画像センサ２０ａは、床面からの高さ（床面から撮像素子の設置位置までの高さ）Ｈ＝７４０［ｍｍ］、床面に対する光軸の角度θ＝６７．５［ｄｅｇ］となるよう取り付けられている。同様に、遠距離用の距離画像センサ２０ｂは、床面からの高さ（床面から撮像素子の設置位置までの高さ）Ｈ＝７１０［ｍｍ］、床面に対する光軸の角度θ＝２２．５［ｄｅｇ］となるよう取り付けられている。
【００３５】
図３中の（ａ）は、遠距離用の距離画像センサ２０ｂにより撮影されたＲＧＢ画像であり、図３中の（ｂ）は、遠距離用の距離画像センサ２０ｂにより撮影された距離画像であり、図３中の（ｃ）は、近距離用の距離画像センサ２０ａにより撮影されたＲＧＢ画像であり、図３中の（ｄ）は、近距離用の距離画像センサ２０ａにより撮影された距離画像である。ＲＧＢ画像である図３中の（ａ）および（ｃ）の視野内にある物体への距離を、近い距離は明るく、遠い距離は暗く表示した距離画像が図３中の（ｂ）および（ｄ）となる。図３中の（ｂ）および（ｄ）が示すように、距離画像センサ２０ａと距離画像センサ２０ｂとは、取り付けられた位置、および水平面に対する角度が異なるため、平面である床面の角度が異なっている。
【００３６】
ここで、距離画像センサ２０の光軸を床面に対して平行に配置した場合、清掃ロボット１本体の近傍が、距離画像センサの画角から外れてしまう。したがって、清掃ロボット１本体の近距離の広い範囲が、視野外領域となり、計測不能になってしまう。これに対し、進行方向前方の斜め下向きに取り付けると、近傍の視野外領域を小さくできるので、清掃ロボット１本体の比較的近距離まで計測可能となる。
【００３７】
また、床面上に投影した近距離用の距離画像センサ２０ａの視野範囲は、図２に示すＡ０Ｂ０Ｃ０Ｄ０の台形領域になる。一方、遠距離用の距離画像センサ２０ｂの視野範囲は、図２のＡ１Ｂ１Ｃ１Ｄ１の台形領域になる。このように、水平面に対して異なる角度になるよう取り付けられた複数の距離画像センサ２０を併用することにより、清掃ロボット１は、清掃ロボット１の進行方向の近傍から遠方まで、広い計測範囲を持つことが可能となる。
【００３８】
なお、距離画像センサ２０の配置や個数は本実施形態１の構成に限定されず、例えば距離画像センサ２０を１個のみ搭載したり、複数個を水平方向に並べて配置したりすることも可能である。また、本実施形態１において、近距離用の距離画像センサ２０ａおよび遠距離用の距離画像センサ２０ｂは、同一波長の赤外光源を用いているため、互いの干渉を防ぐ目的で、視野領域Ａ０Ｂ０Ｃ０Ｄ０とＡ１Ｂ１Ｃ１Ｄ１との間に図２に示すようにわずかに隙間を設けている。異なる波長の光源を用いるなどして干渉を防ぐことが可能であれば、２つの視野領域の間に隙間を設けないように近距離用の距離画像センサ２０ａおよび遠距離用の距離画像センサ２０ｂを設置することも可能である。
【００３９】
（清掃ロボット１の走行機能）
図４は、本実施形態１の清掃ロボット１における、走行機能に関連する構成を示すブロック図である。図４に示すように、清掃ロボット１は、先に説明した距離画像センサ２０および演算装置３０の他に、走行制御部４１、清掃制御部４２、マップ情報メモリ部４３、状態表示部４４、ロータリーエンコーダ４７、駆動輪モータ４８、ジャイロセンサ４９、および制御スイッチ５０を備えている。
【００４０】
演算装置３０は、距離画像センサ２０から距離画像を取得し、取得した距離画像から障害物や段差の位置、大きさ、および形状を抽出する。抽出された障害物、および段差の情報（以下、障害物・段差データと称する）は走行制御部４１に出力される。演算装置３０の詳細は後述する。
【００４１】
走行制御部４１は、駆動輪２に取り付けられたロータリーエンコーダ４７、およびジャイロセンサ４９の情報に基づき、清掃ロボット１の移動距離、および現在の位置と方向とを把握する。予めマップ情報メモリ部４３に保存されたマップ情報、および演算装置３０から出力された障害物・段差データに基づき、障害物や段差を回避するように走行経路を決定し、駆動輪モータ４８を制御する。また、制御スイッチ５０から信号を取得すると、それに応じて非常停止や走行方向の変更など必要な制御を行う。これらの制御に関する情報は状態表示部４４に表示され、リアルタイムに更新される。
【００４２】
清掃制御部４２は、走行制御部４１からのコマンドを受けて、清掃ブラシ９、廃液回収ユニット４５、および洗浄液吐出ユニット４６の動作開始、および停止の切り替えなど、清掃に関する部分を制御する。
【００４３】
マップ情報メモリ部４３は、清掃ロボット１が清掃する範囲の障害物、および段差などの情報が保存されている。マップ情報メモリ部４３に保存されている情報は、走行制御部４１により、更新される。
【００４４】
状態表示部４４は、清掃ロボット１の状態に関する情報を表示する。例えば、手動走行、または自動走行の表示、非常時の運転停止の表示等である。
【００４５】
ロータリーエンコーダ４７は、駆動輪２に取り付けられており、回転の変位をデジタル信号として走行制御部４１に出力する。ロータリーエンコーダ４７の出力により、走行制御部４１は、進んだ距離を把握することができる。
【００４６】
ジャイロセンサ４９は、向きの変化を検出し、走行制御部４１に出力する。ジャイロセンサ４９の出力により、走行制御部４１は進行方向を把握することができる。
【００４７】
（演算装置３０の詳細）
図４に示すように、演算装置３０は、平面検出装置６０、障害物・段差検出部３５、およびデータ統合部３６を備えている。平面検出装置６０は、図４に示すように、３次元座標演算部３１（３次元座標演算手段、第２の３次元座標演算手段）と、投影画像生成部３２（投影画像生成手段、第２の投影画像生成手段）と、直線検出部３３（直線検出手段、第２の直線検出手段）と、平面検出部３４（平面パラメータ算出手段、第２の平面パラメータ算出手段）とを有している。
【００４８】
・３次元座標演算部３１
３次元座標演算部３１は、距離画像センサ２０から距離画像を取得し、取得した距離画像を３次元座標データに変換する。３次元座標データの座標系の定義を、図５を用いて説明する。
【００４９】
図５中の（ａ）は、近距離用の距離画像センサ２０ａ基準の３次元座標系を示す図であり、図５中の（ｂ）は、遠距離用の距離画像センサ２０ｂ基準の３次元座標系を示す図であり、図５中の（ｃ）は、清掃ロボット１基準の３次元座標系を示す図である。なお、近距離用または遠距離用の距離画像センサ２０ａ、２０ｂ基準の３次元座標系とは、距離画像センサ２０の光学中心を原点として、進行方向を向いたときの左右方向をｘ軸（右向きを正）、上下方向をｙ軸（上向きを正）、前後方向、即ち距離画像センサ２０の光軸方向をｚ軸（奥行き方向を正）にとる。距離画像センサ２０ａおよび距離画像センサ２０ｂは取り付け位置、および角度が異なるため、図５中の（ａ）および（ｂ）に示すように、座標系も互いに異なっている。また、距離画像センサ２０基準の座標系で表した距離と、清掃ロボット１本体から床面に沿って計測した距離とも異なる。したがって、清掃ロボット１から対象物までの正確な距離を求めるためには、清掃ロボット１基準（床面基準）の座標系に座標変換して、２つの距離画像センサのデータを統合する必要がある。
【００５０】
そこで、図５中の（ｃ）に示すように、距離画像センサ２０基準のｘｙｚ座標とは別に、清掃ロボット１基準の座標系であるＸＹＺ座標を定義する。進行方向をＺ軸、床面の法線方向をＹ軸、Ｚ軸およびＹ軸に垂直な方向をＸ軸（右向きを正）とする。
【００５１】
なお、本実施形態１においては、距離画像センサ２０基準のｘ軸の向きと、清掃ロボット１基準のＸ軸の向きとが、ほぼ一致している。これは即ち、距離画像センサ２０がｚ軸を中心に回転する方向に傾いて取り付けられてはおらず、床面と画像センサ２０との傾きは、ｘ軸を中心に回転する方向の傾きθだけであるということを意味する。もしくは、ｚ軸を中心に回転する方向に傾いていたとしても、傾きθに比べて十分小さく、無視できるということを意味する。
【００５２】
続いて、３次元座標データに含まれる点の座標を算出する方法について説明する。３次元座標（ｘ，ｙ，ｚ）データのうち、ｚ座標は距離画像に含まれる距離そのものである。ｘ座標、およびｙ座標は、距離画像センサ２０の光学系の焦点距離ｆ、画素ピッチｐ、光軸と撮像素子中心との画素ズレ量ｃなどが分かれば、三角測量の原理によりｚから計算することが出来る。本実施形態１においては、事前に距離画像センサに対しキャリブレーションを行い、これらのパラメータを求めておく。これにより、距離画像が得られれば、その画像に含まれる全画素において距離画像センサ２０基準の３次元座標（ｘ，ｙ，ｚ）データ、即ち３次元点群（Ｐｏｉｎｔ  Ｃｌｏｕｄ）データを得ることができる。
【００５３】
図６は、本実施形態１において、３次元座標データの例を示す図である。前述したように、進行方向に向いて左右方向をｘ軸、上下方向をｙ軸、前後方向をｚ軸にとっている。
【００５４】
なお、３次元座標演算部３１は、前記の座標系以外にも、例えばｘ軸、ｙ軸、およびｚ軸のうち、少なくとも一つの軸を中心に回転させた座標系や、原点を変更した座標系など、様々な座標系において、距離画像を３次元座標データに変換可能である。
【００５５】
・投影画像生成部３２
投影画像生成部３２は、３次元座標データを、２次元面（平面）に投影した投影画像を生成する。例えば、ｘｙ平面に投影された投影画像は、全ての画素について、そのｘ座標とｙ座標とを抽出したものになる。同様に、ｙｚ平面に投影された投影画像は、全ての画素について、そのｙ座標とｚ座標とを抽出したものとなり、ｚｘ平面に投影された投影画像は、全ての画像について、そのｚ座標とｘ座標とを抽出したものとなる。
【００５６】
ここで、投影画像は白（＝「１」）／黒（＝「０」）の２値の画像であり、その縦横のサイズは、投影時の縮尺に応じて自由に決めることができる。例えば、ｙｚ平面への投影画像の条件として、ｙ軸の投影範囲を−１２００ｍｍ〜＋１２００ｍｍ（オフセット１２００ｍｍ）、ｚ軸の投影範囲を０ｍｍ〜＋３２００ｍｍ（オフセット０ｍｍ）、投影時の縮尺を１／１０［ｐｉｘｅｌ／ｍｍ］とする。この場合、投影画像のサイズは以下のようになる。
【００５７】
縦（ｙ軸）：  （１２００−（−１２００））／１０＝２４０
横（ｚ軸）：  （３２００−０）／１０＝３２０
即ち、横３２０ｐｉｘｅｌ×縦２４０ｐｉｘｅｌとなる。
【００５８】
この投影画像サイズは、原画像（距離画像）の画像サイズとは独立に、上記等の縮尺を変えることで自由に変更することができる。投影画像サイズを大きくすると、投影時の分解能が細かくなることで計算の精度が上がるが、その分演算時間が長くなる。このトレードオフによって実際に使用する画像サイズが決定される。
【００５９】
実際の投影画像の作成は以下のようにして行う。一例として、３次元座標データの一つ、点Ａ（ｘ，ｙ，ｚ）＝（５００ｍｍ，−３００ｍｍ，２０００ｍｍ）というデータを、ｙｚ平面に投影する場合について、説明する。
【００６０】
最初に、ｙｚ平面に投影された投影画像に含まれる全ての点の画素値を「０」で初期化しておく。
【００６１】
次に、点Ａのｙ座標、ｚ座標を抽出すると、（ｙ，ｚ）＝（−３００ｍｍ，２０００ｍｍ）となる。これを上記のｙｚ平面に投影するために、上記の縮尺と投影範囲を考慮して座標を換算すると、
縦（ｙ軸）：（−３００＋１２００）／１０＝９０
横（ｚ軸）：（２０００＋０）／１０＝２００
となるので、投影画像上の（ｙ，ｚ）＝（９０、２００）の点に対応することが分かる。従って、ｙｚ平面投影画像の（ｙ，ｚ）＝（９０，２００）の点の画素値を「０」から「１」に変更する。
【００６２】
次に、別のデータとして、点Ｂ（ｘ，ｙ，ｚ）＝（−４００ｍｍ，９００ｍｍ，１５００ｍｍ）が存在したとする。このデータを同様にｙｚ平面に投影すると、（ｙ，ｚ）＝（２１０、１５０）の点に相当するので、この点の画素値を同様に「０」から「１」に変更する。
【００６３】
さらに、別のデータとして、点Ｃ（ｘ，ｙ，ｚ）＝（−２００ｍｍ，−３０３ｍｍ，１９９８ｍｍ）が存在したとする。このデータを同様にｙｚ平面に投影すると、（ｙ，ｚ）＝（９０、２００）の点に相当する。これは点Ａの投影後の座標と同じであり、既にこの点の画素値は「１」になっているため、ここでは何も行わない。これは、３次元座標上の異なる２点ＡとＣとが、ｙｚ平面への投影後は同一の点に投影されることを意味する。
【００６４】
以下同様にして、３次元座標データに含まれる点の全てについて、ｙ座標値・ｚ座標値の抽出、ｙｚ平面の座標値への換算を行い、該当する座標の画素値の「１」への変更を行う。これにより、３次元座標データに含まれる点が存在する部分のみ「１」となった２値画像の形でｙｚ平面投影画像が得られることになる。
【００６５】
・直線検出部３３
直線検出部３３は、投影画像生成部３２が生成した投影画像から、直線を検出する。例えば、図７に示す投影画像において、床面を示す直線を検出する場合について説明する。
【００６６】
図７は、図６の３次元座標データをｙｚ平面に投影した投影画像である。図７に示すように、ｙｚ平面への投影画像は、全ての画素について、ｙ座標とｚ座標とを抽出している。また、床面よりも下に物体が存在しない場合、同一のｚ座標を有する点同士を比較すると、床面を表す点が最も低い、即ちｙ座標が最も小さい点（以下、ボトム点と称する）であることが分かる。さらに、床面を表す平面が、投影画像では直線になっていることが分かる。
【００６７】
前述したように、距離画像センサ２０は、ｚ軸を中心として回転する向きに傾いて取り付けられていないため、床面と距離画像センサ２０との傾き角は、ｘ軸を中心として回転する方向の傾きθに比べて十分小さい。その結果、床面を表す３次元座標データをｙｚ平面へ投影すると、ほぼ一つの直線上に分布する。
【００６８】
ボトム点が床面を示すので、直線検出部３３は、投影画像に含まれる各画素列を、下から上方向にスキャンして、スキャン方向に沿って最初に見つかった点、即ち最初に「１」となった点のみを残し、他の点を削除する演算を行い、ボトム画像を得る。
【００６９】
次に、直線検出部３３は、得たボトム画像に対し、直線を検出するフィッティング処理を施し、直線の傾き、および切片等のパラメータを得る。直線検出の結果によっては直線の候補が一本ではなく複数本得られる場合があるが、その場合は予め定められた基準で最も確からしい直線を選出する。
【００７０】
直線検出手法（フィッティング処理）には、Ｈｏｕｇｈ変換、その改良手法である確率的Ｈｏｕｇｈ変換、単純な最小自乗法、およびＲＡＮＳＡＣ法など任意の処理を適用できる。なお、前記「定められた基準」としては、例えば、最小自乗法やＲＡＮＳＡＣ法であれば、直線フィッティングを行った際の誤差（残差）が最も小さい直線を、最も確からしい直線として選択することができる。また、Ｈｏｕｇｈ変換であれば、その直線を支持する点の数が最も多いものを、最も確からしい直線として選択することができる。これらの処理により、直線の候補が複数存在する場合に、それぞれの手法で最も確からしい直線を抽出することができる。
【００７１】
以上により、ｙｚ平面投影画像上で床面を表す直線の情報を得ることができる。
【００７２】
・平面検出部３４
平面検出部３４は、直線検出部３３が検出した直線から、３次元座標データ内の平面を検出し、平面の高さ、および角度を算出する。検出された平面は、高さ、および角度という幾何的な情報以外に、例えば平面の方程式：ａｘ＋ｂｙ＋ｃｚ＋ｄ＝０といった他の形式によって表現したパラメータを求めても構わない。
【００７３】
図６、および図７において平面として検出される床面は、距離画像センサ２０の取り付けられた高さ、および角度から、平面検出部３４によって検出される平面の高さ、および角度が推測可能である。したがって、検出される高さ、および角度の許容範囲を予め設定し、平面検出部３４が検出した平面が許容範囲内にあるかを判定することによって、より確実に床面を検出可能となる。
【００７４】
また、平面検出部３４は、検出した床面を、床平面情報として保有する。床平面情報は、平面検出部３４が床面を検出すると、随時更新される。こうすることにより、清掃ロボット１の移動に伴って発生する床平面の変動に追随し、常に床平面を把握することが出来る。また、距離画像センサの前を人が横切るなどして床面が一時的に検出できなくなっても、以前に検出した床平面情報を使用することで、床平面検出処理の欠落を防止することができる。
【００７５】
・障害物・段差検出部３５
障害物・段差検出部３５は、ｘｙｚ座標系の３次元座標データをＸＹＺ座標系の３次元座標データに変換する。そして、ＸＹＺ座標系において、各点と平面との距離を計算し、検出した平面より高いか低いかを判定する。
【００７６】
・データ統合部３６
データ統合部３６は、複数の距離画像から検出された複数の障害物、および複数の段差を、一つの障害物・段差データとして統合する。本実施形態においては、距離画像センサ２０ａ、および距離画像センサ２０ｂのそれぞれから取得した距離画像から障害物、および段差が検出されるので、それらの障害物、および段差の情報を一つに統合し、障害物・段差データを作成する。その際、例えば、遠距離用の距離画像センサ２０ｂで検出された障害物Ａの前に、近距離用の距離画像センサ２０ａで検出された別の障害物Ｂがある場合、距離の近い障害物Ｂのデータが優先するようにしてデータを統合することもできる。
【００７７】
障害物・段差データの形式は、後で走行制御部４１が処理しやすいように、任意の形式に変換することができる。データの座標系は、清掃ロボット基準のＸＹＺ座標系のまま出力することもでき、また極座標系（Ｒ−θ座標系）に変換することもできる。検出した全ての障害物、および段差をデータ化する手法以外に、データの間引き、または補間を行ったり、清掃ロボット１本体に最も近い障害物、および段差データのみを抽出したりする手法も考えられる。
【００７８】
（演算装置３０の処理）
以下に、演算装置３０の処理フローを纏める。図８は、本発明の実施形態１に係る清掃ロボット１の演算装置３０が処理する手順を示すフローチャートである。
【００７９】
まず、３次元座標演算部３１が、距離画像センサ２０が生成した距離画像を取得する（ステップＳ１０１）。本実施形態１においては、近距離用の距離画像センサ２０ａと、遠距離用の距離画像センサ２０ｂとの２つの距離画像センサ２０が取り付けられているので、近距離用の距離画像と、遠距離用の距離画像とを、それぞれの距離画像センサ２０から取得する。
【００８０】
次に、３次元座標演算部３１が、取得した距離画像を、ｘｙｚ座標系の３次元座標データに変換する（ステップＳ１０２）。変換された３次元座標データから、投影画像生成部３２はｙｚ平面に投影された投影画像を生成する（ステップＳ１０３）。前述したように、本実施形態１においては、距離画像センサ２０は、ｚ軸を中心として回転する向きに傾いて取り付けられていないため、床面と距離画像センサ２０とのｚ軸を中心として回転する方向の傾きは、ｘ軸を中心として回転する方向の傾きに比べて十分に小さい。したがって、３次元座標データにおいて床面を表す平面は、ｙｚ平面への投影画像においては一直線上の点群となる。ここで、実際の投影画像を、図９に示す。
【００８１】
図９中の（ａ）は、本発明の実施形態１に係る遠距離用の距離画像センサ２０ｂにより撮影された距離画像から生成されたｙｚ平面への投影画像であり、図９中の（ｂ）は、本発明の実施形態１に係る図９中の（ａ）のボトム画像であり、図９中の（ｃ）は、本発明の実施形態１に係る近距離用の距離画像センサ２０ａにより撮影された距離画像から生成されたｙｚ平面への投影画像であり、図９中の（ｄ）は、本発明の実施形態１に係る図９中の（ｃ）のボトム画像である。図９中の（ａ）および（ｃ）において、床面を表す点群６１、および点群６２は、前述したように、直線になっていることが分かる。
【００８２】
続いて、直線検出部３３が、投影画像からボトム画像を生成する（ステップＳ１０４）。図９（ｂ）、および（ｄ）に示すように、ボトム画像の直線は、床面を表す点群６１、および床面を表す点群６２と一致している。このボトム画像から、直線検出部３３が、直線を検出する（ステップＳ１０５）。そして、平面検出部３４が、検出された直線から、３次元座標データ内の平面を検出し、当該平面の角度および高さを算出する（ステップＳ１０６）。ここで平面の角度とは、ｚ軸に対する角度（傾斜角）である。また、平面の高さとは、床面と距離画像センサ２０との間の離間距離である。
【００８３】
算出された平面の角度、および高さは、平面検出部３４により、予め設定された角度、および高さの許容範囲内にあるか判定される（ステップＳ１０７）。
【００８４】
ステップＳ１０７において、「角度、および高さが許容範囲内である」と判定された場合（ステップＳ１０７：Ｙｅｓ）、検出された平面は床面なので、平面検出部３４は床平面情報を更新する（ステップＳ１０８）。一方、ステップＳ１０７において、「角度、および高さが許容範囲内ではない」と判定された場合（ステップＳ１０７：Ｎｏ）、検出された平面は床面ではないので、床平面情報は更新しない（ステップＳ１０９）。
【００８５】
ステップＳ１０８もしくはステップＳ１０９の後、障害物・段差検出部３５が、ｘｙｚ座標系からＸＹＺ座標系へと、３次元座標データを変換する（ステップＳ１１０）。次に、障害物・段差検出部３５が、変換したＸＹＺ座標系の３次元座標データから、各点と平面との距離を計算し、検出した平面より高いか低いかを判定し、障害物および段差を検出する（ステップＳ１１１）。当該判定には、閾値ｔを設け、床平面との距離がｔよりも大きければ床よりも高い障害物、もしくは段差、−ｔよりも小さければ床平面より低い段差と判定する。閾値ｔは、床平面の凹凸の大きさや、距離画像センサの計測誤差等を考慮して予め設定する。これにより、３次元座標データに含まれる全ての点について、その点が段差に属するか、障害物に属するか、あるいはそれ以外であるかが判定される。そして、各点の座標（Ｘ，Ｙ，Ｚ）に、その点が段差に属するか、障害物に属するか、それ以外であるかを表す情報Ｆが付加され、（Ｘ，Ｙ，Ｚ，Ｆ）形式に変換される。このようにして得られた段差および障害物に関する情報が、障害物・段差検出部３５からデータ統合部３６に渡される。
【００８６】
そして、データ統合部３６が、障害物・段差検出部３５が検出した障害物および段差の情報を統合し、障害物・段差データを作成する（ステップＳ１１２）。最後に、データ統合部３６は、障害物・段差データを走行制御部４１に出力する（ステップＳ１１３）。
【００８７】
このような手順により、演算装置３０は、距離画像から障害物・段差データを高速かつより確実に作成し、走行制御部４１に出力する。従って、清掃ロボット１は、障害物、および段差を回避しながら移動することが可能となる。また、複数の距離センサから独立に平面検出を行い、それらのデータを統合することで、さらに広い範囲の障害物、および段差を検出し、それらを回避しながら移動することができる。
【００８８】
また、一般的に３次元空間上において、一つの平面を特定するには、３つのパラメータを特定する必要がある。しかし、本実施形態においては、距離画像センサ２０が床面に対して、ｚ軸を中心として回転する向きに傾いて取り付けられていないという条件を利用し、高さ方向（ｙ軸方向）と奥行き方向（ｚ軸方向）の傾きのみを求めている。即ち、特定するパラメータの数を２つに限定しているため、３つのパラメータを特定する場合に比べて高速な平面検出が可能となり、自律移動装置においても容易にリアルタイムの床面検出が実現できる。
【００８９】
（段差の検出）
前述した実施形態１においては、床面よりも下に物体が存在しない場合が望ましいが、例えば、床面よりも低い面の段差が存在する場合がある。このような場合における床面の検出方法について、以下に説明する。
【００９０】
図１０中の（ａ）は、床面より低い段差が存在する場合のｙｚ平面への投影画像であり、図１０中の（ｂ）は、図１０中の（ａ）のボトム画像である。図１０中の（ａ）に示すように、ｙｚ平面への投影画像において、床面を表す点群６１と、段差を表す点群６２とが直線になっている。このような場合は、図１０中の（ｂ）に示すように、距離画像センサ２０の取り付けられた高さ、角度から、予め床面が存在すると予想される範囲を限定し、それを直線検出の際の許容範囲６４として設定する。許容範囲６４を設定することにより、直線検出部３３は、段差を表す点群６３ではなく、床面を表す点群６１を直線として検出可能となる。
【００９１】
例えば、遠距離用の距離画像センサ２０ｂが、高さＨ＝７１０［ｍｍ］、角度θ＝２２．５［ｄｅｇ］に取り付けられているとする。このとき、理論上の床面は、距離画像センサ基準の座標系で、原点から７１０［ｍｍ］の距離に、ｚｘ平面とのなす角（奥行き方向の傾き角）２２．５［ｄｅｇ］で存在することになる。しかし、取り付け位置は組み立て誤差等により多少変動するため、ステップＳ１０６において、算出された床面の高さ、および角度が、前記の値から±数ｍｍ、±数ｄｅｇの範囲内にあるかどうかを確認する。確認の結果、範囲内にあれば床面であるとしてこの直線を検出し、範囲内になければ、ステップＳ１０５において検出された複数の直線から別の直線を選択し、同様に範囲内にあるかどうかを確認する。
【００９２】
このように、検出された平面の高さ、および角度を限定して床面を検出すれば、距離画像内に床面より低い段差が含まれていても、それを除外し、床面を検出することができる。
【００９３】
〔実施形態２〕
本発明の第２の実施形態について、図１１〜図１２を用いて説明する。なお、説明の便宜上、前記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
【００９４】
実施形態１においては、床面と距離画像センサ２０との傾きのうち、ｚ軸を中心として回転する方向の傾きが、ｘ軸を中心として回転する方向の傾きに比べて十分小さく無視できる場合について説明した。これに対して本実施形態２では、ｚ軸を中心として回転する方向の傾きがｘ軸を中心として回転する方向の傾きに比べて小さいものの、完全には無視できない場合における平面検出について、以下に説明する。
【００９５】
（演算装置３０の処理）
図１１は、本実施形態２に係る清掃ロボットに具備される演算装置３０が処理する手順を示すフローチャートである。なお、図８のフローチャートと同じステップについては、説明を省略する。また、図１２中の（ａ）は、本実施形態２に係る３次元座標データの例を示す図であり、図１２中の（ｂ）は、図１２中の（ａ）の３次元座標データをｙｚ平面に投影した投影画像であり、図１２中の（ｃ）は、図１２中の（ａ）の３次元座標データをｘｙ平面に投影した投影画像であり、図１２中の（ｄ）は、図１２中の（ａ）の３次元座標データをｘｙ´平面に投影した投影画像である。
【００９６】
図１１において、ステップＳ１０６の処理である、検出した平面のｘ軸を中心として回転する向きの角度θ、および高さを算出する。しかし、図１２中の（ｂ）に示すように、ｙｚ平面への投影画像で得られる点群は完全に一直線上には並ばず、幅を有して帯状に分布している。
【００９７】
そこで、ｘｙｚ座標系を、ｘ軸を中心として回転する方向の傾きθに相当する角度だけ回転させたｘｙ´ｚ´座標を、新たに定義する。例えば、床面がｘｙｚ座標系で原点から７１０［ｍｍ］の距離に、ｚｘ平面とのなす角（奥行き方向の傾き角）２２．５［ｄｅｇ］で存在する場合、ｙ´軸およびｚ´軸は、ｙ軸およびｚ軸をそれぞれｘ軸を中心に２２．５［ｄｅｇ］回転させて得られる。このように、３次元座標演算部３１は、ｘｙｚ座標系における３次元座標データを、新たに定義したｘｙ´ｚ´座標系に変換する（ステップＳ１２１）。
【００９８】
次に、投影画像生成部３２は、変換された３次元座標データをｘｙ´平面に投影し、投影画像を生成する（ステップＳ１２２）。その後、直線検出部３３は、投影画像のボトム画像を生成し（ステップＳ１２３）、ボトム画像から直線を検出する（ステップＳ１２４）。直線検出部３３が検出した直線から、平面検出部３４は左右方向の角度を得ることができ（ステップＳ１２５）、ステップＳ１０６で得たｘ軸を中心として回転する方向の傾きθと合わせて、角度、および高さが設定範囲内であるか判定する（ステップＳ１０７）。以下、実施形態１と同様である。
【００９９】
このような手順により、演算装置３０は、ｚ軸を中心に回転する方向への傾きが無視できない場合においても、第１段階としてｘｙｚ座標系においてｘ軸を中心として回転する方向の傾きθを算出する。次に座標系をｘｙ´ｚ´に変換し、ｘｙ´平面への投影画像から、第２段階として左右方向の角度を算出する。このような２段階の処理により、より確実に床面を検出することができる。
【０１００】
なお、ステップＳ１２１のような座標変換を行わず、投影画像生成部３２が元のｘｙｚ座標系のままｘｙ平面への投影画像を生成すると、図１２中の（ｃ）のような投影画像を得る。図１２中の（ｃ）に示すように、この画像では床面を表す点群が一直線上に並んでいない。したがって、例えば、図１２中の（ｃ）のＡ−Ａ´のラインに別の物体が存在し、床面が見えない状態にある場合、ボトム点の集合から直線を抽出したときに、Ａ−Ａ´ラインが床面を表す直線だと誤検出してしまうことになる。一方、最初にｘ軸を中心として回転する方向の傾きθだけｘ軸を中心に回転させたｘｙ´ｚ´座標系においては、ｚ´軸が床面とほぼ平行になっているため、ｘｙ´平面への投影画像は図１２中の（ｄ）に示すように、床面を表す点群がボトム点となり、抽出できる。
【０１０１】
〔まとめ〕
本発明の一態様に係る平面検出装置は、特定の検出対象平面を含む被写体の距離画像データから当該特定の検出対象平面を検出する平面検出装置（平面検出装置６０）であって、前記距離画像データを、前記特定の検出対象平面を表す検出対象３次元点群を含む３次元座標データに変換する３次元座標演算手段（３次元座標演算部３１）と、前記３次元座標データを所定の２次元平面に投影して、前記検出対象３次元点群が線形に分布した投影画像データを生成する投影画像生成手段（投影画像生成部３２）と、前記投影画像データから前記線形の直線を検出する直線検出手段（直線検出部３３）と、前記直線検出手段の検出結果に基づいて、前記特定の検出対象平面の傾きに関する情報を含む平面パラメータを算出する平面パラメータ算出手段（平面検出部３４）と、を備えることを特徴としている。
【０１０２】
前記の構成によれば、平面を含む距離画像データを３次元座標データに変換し、変換した３次元座標データを平面に投影する。そして、投影した画像から直線を検出し、その直線に基づいた平面パラメータを検出する。したがって、距離画像の中に平面検出の手掛かりを必要とせず、また障害物等の平面とは無関係の情報が多数含まれていても、平面をより確実に検出できるという効果を奏する。
【０１０３】
さらに、本発明の一態様に係る平面検出装置（平面検出装置６０）は、前記距離画像データにおいて、前記被写体の奥行き方向をｚ軸として、当該ｚ軸に対して垂直であるｘ軸およびｙ軸であって、当該距離画像データの左右方向をｘ軸、上下方向をｙ軸としたｘｙｚ座標系において、前記投影画像生成手段（投影画像生成部３２）は、前記３次元座標データをｙｚ平面に投影した投影画像データを生成し、前記平面パラメータ算出手段（平面検出部３４）は、投影画像データから、前記特定の検出対象平面の、前記ｚ軸に対する傾斜角を含む前記平面パラメータを算出することを特徴としている。
【０１０４】
前記の構成によれば、ｙｚ平面に投影した投影画像データから平面を検出できることにより、より高速に平面を検出できるという効果を奏する。
【０１０５】
さらに、本発明の一態様に係る前記平面パラメータ算出手段は、前記直線が予め定めた範囲内にあるか否かを判別することを特徴としている。
【０１０６】
前記の構成によれば、予め検出する直線の範囲を設定することによって、より確実に対象の平面を検出できるという効果を奏する。
【０１０７】
さらに、本発明の一態様に係る平面検出装置（平面検出装置６０）は、前記ｘｙｚ座標系を、前記ｘ軸を回転軸として回転させることによってｘｙ´ｚ´座標系に変換して、ｘｙ´ｚ´座標系における前記特定の検出対象平面を表す検出対象３次元点群を含む第２の３次元座標データを生成する第２の３次元座標演算手段（３次元座標演算部３１）と、前記第２の３次元座標データを、ｘｙ´平面に投影して、当該第２の３次元座標データに含まれる前記検出対象３次元点群が線形に分布した第２の投影画像データを生成する第２の投影画像生成手段（投影画像生成部３２）と、前記第２の投影画像データから、当該第２の投影画像データに分布する前記線形の第２の直線を検出する第２の直線検出手段と（直線検出部３３）、前記第２の直線検出手段の検出結果に基づいて、前記特定の検出対象平面の傾きに関する情報を含む第２の平面パラメータを算出する第２の平面パラメータ算出手段（平面検出部３４）と、をさらに備えることを特徴としている。
【０１０８】
前記の構成によれば、より確実に対象の平面を検出できるという効果を奏する。
【０１０９】
さらに、本発明の一態様に係る自律移動装置（清掃ロボット１）は、平面検出装置（平面検出装置６０）と、前記距離画像データを生成する距離画像生成手段（距離画像センサ２０）と、走行手段（駆動輪２）と、を備えており、前記平面検出装置を用いて走行路となる平面を検出することを特徴とする自律移動装置。
【０１１０】
前記の構成によれば、前記自律移動装置は、前記平面検出装置と同様の効果を奏することができる。
【０１１１】
さらに、本発明の一態様に係る自律移動装置（清掃ロボット１）は、前記距離画像生成手段（距離画像センサ２０）を複数備え、各距離画像生成手段が生成する距離画像データそれぞれから前記平面パラメータを算出することを特徴としている。
【０１１２】
前記の構成によれば、より広範囲においてより確実に平面を検出できるという効果を奏する。
【０１１３】
〔補足説明〕
本発明は前述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。さらに、各実施形態にそれぞれ開示された技術的手段を組み合わせることにより、新しい技術的特徴を形成することができる。
【０１１４】
（距離画像センサ２０について）
前述した実施形態においては、距離画像センサ２０は赤外線投射方式を用いたが、ステレオ方式やＴＯＦ方式など、他方式の距離画像センサを用いることも可能である。ステレオ方式の場合、ステレオ配置された左右カメラから得られる左右画像に対し、対応点探索などの手法によって視差を計算する。視差の値から三角測量の原理によって対象物までの距離を求めることができる。このようにして得られた距離画像について、前述した実施形態と同様の処理により、平面検出を実現できる。
【０１１５】
（検出できる平面）
前述した実施形態においては、床面を検出したが、路面、水面、壁面、および天井面など、他の平面の検出にも用いることができる。
【０１１６】
（自律移動装置）
前述した実施形態においては、自律移動装置として清掃ロボット１について説明したが、例えば工場内の無人搬送機、自動走行車、介護用ロボット、防犯用ロボット、災害救助用ロボット、エンターテインメント用ロボットなど、他の自律移動装置にも適用可能である。
【０１１７】
（平面検出装置）
前述した実施形態においては、平面検出装置６０を清掃ロボット１に組み込んで利用したが、平面検出装置６０を独立した装置として産業用、民生用、その他用途に用いる他、汎用的な携帯情報端末などの一部に組み込むことも可能である。
【０１１８】
（ソフトウェアによる実現例）
最後に、平面検出装置の各ブロックは、集積回路（ＩＣチップ）上に形成された論理回路によってハードウェア的に実現してもよいし、ＣＰＵ（Central Processing Unit）を用いてソフトウェア的に実現してもよい。
【０１１９】
後者の場合、平面検出装置は、各機能を実現するプログラムの命令を実行するＣＰＵ、前記プログラムを格納したＲＯＭ（Read Only Memory）、前記プログラムを展開するＲＡＭ（Random Access Memory）、前記プログラムおよび各種データを格納するメモリ等の記憶装置（記録媒体）などを備えている。そして、本発明の目的は、前述した機能を実現するソフトウェアである平面検出装置の制御プログラムのプログラムコード（実行形式プログラム、中間コードプログラム、ソースプログラム）をコンピュータで読み取り可能に記録した記録媒体を、前記平面検出装置に供給し、そのコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
【０１２０】
前記記録媒体としては、一時的でない有形の媒体（non-transitory tangible medium）、例えば、磁気テープやカセットテープ等のテープ類、フロッピー（登録商標）ディスク／ハードディスク等の磁気ディスクやＣＤ−ＲＯＭ／ＭＯ／ＭＤ／ＤＶＤ／ＣＤ−Ｒ等の光ディスクを含むディスク類、ＩＣカード（メモリカードを含む）／光カード等のカード類、マスクＲＯＭ／ＥＰＲＯＭ／ＥＥＰＲＯＭ（登録商標）／フラッシュＲＯＭ等の半導体メモリ類、あるいはＰＬＤ（Programmable logic device）やＦＰＧＡ（Field Programmable Gate Array）等の論理回路類などを用いることができる。
【０１２１】
また、平面検出装置を通信ネットワークと接続可能に構成し、前記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークは、プログラムコードを伝送可能であればよく、特に限定されない。例えば、インターネット、イントラネット、エキストラネット、ＬＡＮ、ＩＳＤＮ、ＶＡＮ、ＣＡＴＶ通信網、仮想専用網（Virtual Private Network）、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、この通信ネットワークを構成する伝送媒体も、プログラムコードを伝送可能な媒体であればよく、特定の構成または種類のものに限定されない。例えば、ＩＥＥＥ１３９４、ＵＳＢ、電力線搬送、ケーブルＴＶ回線、電話線、ＡＤＳＬ（Asymmetric Digital Subscriber Line）回線等の有線でも、ＩｒＤＡやリモコンのような赤外線、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＩＥＥＥ８０２．１１無線、ＨＤＲ（High Data Rate）、ＮＦＣ（Near Field Communication）、ＤＬＮＡ（Digital Living Network Alliance）、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、前記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【産業上の利用可能性】
【０１２２】
本発明は、計測対象となる画像データに含まれる床などの平面を検出するための平面検出装置およびそれを用いた自律移動装置に関するものであり、平面検出装置自体を独立した装置として産業用、民生用、その他用途に用いる他、他の装置の一部に組み込んで利用したり、装置の一部または全部を集積回路（ＩＣチップ）化したりして利用することができる。
【符号の説明】
【０１２３】
１  清掃ロボット（自律移動装置）
２  駆動輪（走行手段）
３  従輪
４  バッテリ
５  洗浄液タンク
６  洗浄液吐出部
７  廃液タンク
８  吸引口
９  清掃ブラシ
１０  モータ
１１  筐体
１２  保護部材
２０  距離画像センサ（距離画像生成手段）
２０ａ  近距離用の距離画像センサ
２０ｂ  遠距離用の距離画像センサ
３０  演算装置
３１  ３次元座標演算部（３次元座標演算手段、第２の３次元座標演算手段）
３２  投影画像生成部（投影画像生成手段、第２の投影画像生成手段）
３３  直線検出部（直線検出手段、第２の直線検出手段）
３４  平面検出部（平面パラメータ算出手段、第２の平面パラメータ算出手段）
３５  障害物・段差検出部
３６  データ統合部
４１  走行制御部
４２  清掃制御部
４３  マップ情報メモリ部
４４  状態表示部
４５  廃液回収ユニット
４６  洗浄液吐出ユニット
４７  ロータリーエンコーダ
４８  駆動輪モータ
４９  ジャイロセンサ
５０  制御スイッチ
６０  平面検出装置
【図１】
2014085940.tif 000003
【図２】
2014085940.tif 000004
【図３】
2014085940.tif 000005
【図４】
2014085940.tif 000006
【図５】
2014085940.tif 000007
【図６】
2014085940.tif 000008
【図７】
2014085940.tif 000009
【図８】
2014085940.tif 000010
【図９】
2014085940.tif 000011
【図１０】
2014085940.tif 000012
【図１１】
2014085940.tif 000013
【図１２】
2014085940.tif 000014
【図１３】
2014085940.tif 000015