(57)【特許請求の範囲】
【請求項１】
駆動装置による駆動によって走行する移動体であって、
前記移動体の周辺の情報を三次元で示される点群データとして取得する取得部と、
前記取得部によって取得された前記点群データを、所定平面を径方向および周方向に所定間隔に区画した複数の区域に分割する分割部と、
前記分割部によって分割された前記区域毎に、前記区域に属する前記点群データである分割点群データの点群数が判定閾値より多いか否かから当該区域が有効区域か否かを判定して、前記有効区域毎に前記分割点群データから前記有効区域の特徴に係る特徴量をそれぞれ算出し、前記区域のうち前記有効区域でないと判定された当該区域は空区域である旨を記憶する特徴量算出部と、
前記有効区域のうち、前記移動体の現在位置から所定距離以内であり、前記特徴量算出部によって算出された特徴量に属する高さが高さ判定範囲内であり、かつ、前記特徴量算出部によって算出された特徴量に属する傾斜が傾斜判定範囲内である前記有効区域を、前記有効区域のなかから前記移動体が走行可能である走行可能区域であるかを探索するために起点となる探索起点に設定する探索起点設定部と、
前記有効区域のうち、前記探索起点設定部によって設定された前記探索起点の周辺の区域である周辺区域のなかから、前記探索起点の特徴に係る特徴量に近い特徴量を有する類似区域を判定する判定部と、を備えている移動体。
【請求項２】
前記特徴量算出部は、
前記区域毎に前記区域に係る前記分割点群データから推定面を設定する推定面設定部と、
前記推定面設定部によって設定された前記推定面に基づいて、前記分割点群データを有効な点群データと外れ値とに識別する識別部と、
前記識別部によって識別された前記有効な点群データから前記区域の法線ベクトルを算出する法線ベクトル算出部と、
前記法線ベクトル算出部によって算出された前記法線ベクトルから前記区域の特徴量の一つである傾斜を算出する傾斜算出部と、
前記識別部によって識別された前記有効な点群データから前記区域の特徴量の一つである高さを算出する高さ算出部と、
を備えている請求項１記載の移動体。
【請求項３】
前記特徴量算出部は、
前記分割点群データが比較的少ない前記区域を、互いに近傍にある前記区域である近傍区域と併合して新たな区域である併合区域とする併合部をさらに備え、
前記併合部によって併合された前記併合区域の傾斜および高さを算出する請求項１又は２記載の移動体。
【請求項４】
前記高さ判定範囲の大きさは、前記特徴量算出部によって算出された前記傾斜に応じて設定されている請求項１記載の移動体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動体に関する。
【背景技術】
【０００２】
移動体の一形式として、特許文献１に示されているものが知られている。特許文献１の図１に示されているように、移動体は、移動体の路面データ取得手段で少なくとも高さデータを含む路面データを取得するステップと、取得した路面データを高さ順に並べ替えるステップと、並べ替えた路面データの変化点を抽出するステップと、変化点を境に障害を認識するステップと、を備えている。これにより、精度良く障害を認識することができるようになっている。
【０００３】
また、移動体の他の一形式として、特許文献２に示されているものが知られている。特許文献２の図１に示されているように、移動体は、移動台車１の前方床面と移動本体との距離を測定する距離センサ４と、移動台車１に移動量測定手段９を設け、前方床面６及び移動台車１間の測定距離と設定値との偏差が継続して基準量を超えた場合に、移動量測定手段９によって同基準量を超えた後の移動距離を測定し、当該移動距離が基準移動量を超えた時に走行不能と判定して移動台車１を停止させるように構成されている。これにより、走行経路の前方に段差や傾斜を検知した場合に、段差の高さや幅又は傾斜の程度を認識することで必要以上の停止をすることがなく、低い段差や狭い幅の溝を走行可能と判断して走行を継続することができるようになっている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−２２０２２７号公報
【特許文献２】特開２００６−１４６３７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述した特許文献１においては、移動体が走行する路面（走行路面）の段差や傾斜をより精度よく認識することが要請されている。また、上述した特許文献２においては、移動体が走行中であることを前提に走行路面の段差や傾斜を検知することができるため、移動体が走行している路面（移動体が現在走行している地点）が平面である場合には、走行路面（移動体の進行方向の路面）の段差や傾斜を検知することができるものの、移動体が走行している路面が平面でない場合（例えば上り坂、下り坂、凸凹面）には、走行路面の段差や傾斜を精度よく検知することができないという問題があった。
【０００６】
そこで、本発明は、上述した課題を解消するためになされたもので、移動体が走行している路面形状の影響を抑え、移動体の走行路面の段差や傾斜をより精度よく認識することができる移動体を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の課題を解決するため、請求項１に係る移動体は、駆動装置による駆動によって走行する移動体であって、前記移動体の周辺の情報を三次元で示される点群データとして取得する取得部と、前記取得部によって取得された前記点群データを、所定平面を径方向および周方向に所定間隔に区画した複数の区域に分割する分割部と、前記分割部によって分割された前記区域毎に、前記区域に属する前記点群データである分割点群データの点群数が判定閾値より多いか否かから当該区域が有効区域か否かを判定して、前記有効区域毎に前記分割点群データから前記有効区域の特徴に係る特徴量をそれぞれ算出し、前記区域のうち前記有効区域でないと判定された当該区域は空区域である旨を記憶する特徴量算出部と、前記有効区域のうち、前記移動体の現在位置から所定距離以内であり、前記特徴量算出部によって算出された特徴量に属する高さが高さ判定範囲内であり、かつ、前記特徴量算出部によって算出された特徴量に属する傾斜が傾斜判定範囲内である前記有効区域を、前記有効区域のなかから前記移動体が走行可能である走行可能区域であるかを探索するために起点となる探索起点に設定する探索起点設定部と、前記有効区域のうち、前記探索起点設定部によって設定された前記探索起点の周辺の区域である周辺区域のなかから、前記探索起点の特徴に係る特徴量に近い特徴量を有する類似区域を判定する判定部と、を備えている。
【発明の効果】
【０００８】
これによれば、先に設定された探索起点の周辺の区域のなかから、探索起点を基準に、区域毎に算出された特徴量に基づいて、類似区域を判定することができる。すなわち、探索起点を基準に移動体の走行可能区域を判定することができる。その結果、移動体が走行している路面形状の影響を抑え、移動体の走行路面の段差や傾斜をより精度よく認識することができる移動体を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明による移動体の一実施形態の構成を示す概要図である。
【図２】図１の操作装置に入力された操作情報を示す模式図であり、縦軸は、移動体の前後方向を、横軸は移動体の左右方向を表している。
【図３】図１に示す移動体のブロック図である。
【図４Ａ】図３に示す制御装置に記憶されている第一マップであり、所望直進速度と移動体の直進速度との関係を示したマップである。
【図４Ｂ】図３に示す制御装置に記憶されている第二マップであり、所望旋回速度と移動体の旋回速度との関係を示したマップである。
【図５】区域と点群データを説明するための図である。
【図６】推定面、有効な点群データ、および外れ値を説明するための図である。直交三次元座標で示している。
【図７】推定面、有効な点群データ、および法線ベクトルを説明するための図である。直交三次元座標で示している。
【図８】区域の高さ閾値と傾斜との関係を示すマップである。
【図９】探索起点、周辺区域、類似区域（走行可能領域）、および走行不可領域を説明するための図である。
【図１０】図３に示す制御装置で実行されるプログラム（メインプログラム）のフローチャートである。
【図１１】図３に示す制御装置で実行されるプログラム（サブルーチン（特徴量演算））のフローチャートである。
【図１２】図３に示す制御装置で実行されるプログラム（サブルーチン（探索起点設定））のフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明による移動体の一実施形態について図面を参照して説明する。本実施形態における移動体として、図１に示す電動車椅子１を例に挙げて説明する。なお、本明細書においては説明の便宜上、図１における上側および下側をそれぞれ電動車椅子１の上方および下方とし、同じく左下側および右上側をそれぞれ電動車椅子１の前方および後方とし、同じく左上側および右下側を、それぞれ電動車椅子１の右方および左方として説明する。また、図１には、各方向を示す矢印を示している。
【００１１】
電動車椅子１は、車椅子本体１０、駆動装置２０、操作装置３０、検知装置４０および制御装置５０を備えている。電動車椅子１は、乗員が搭乗するものであり、乗員による操作装置３０への入力に従って駆動される駆動装置２０によって走行する移動体である。駆動装置２０、操作装置３０、検知装置４０および制御装置５０は、車椅子本体１０に取り付けられている。なお、移動体は、乗員が搭乗しその乗員によって操作されるものに限られず、乗員が搭乗しない自律型のものもある。
【００１２】
車椅子本体１０は、フレーム１１、乗員が着座する座席１２および車輪１３を備えている。座席１２および車輪１３は、フレーム１１に取り付けられている。車輪１３は、回転軸回りに回転可能に構成されている。車輪１３は、車椅子本体１０の左右両側に配設され、駆動装置２０によって駆動される左駆動輪１３ａおよび右駆動輪１３ｂ、並びに、電動車椅子１の走行を補助する左補助輪１３ｃおよび右補助輪１３ｄを備えている。
【００１３】
駆動装置２０は、各駆動輪１３ａ，１３ｂをそれぞれ回転駆動させて、電動車椅子１を走行させるものである。駆動装置２０は、例えば、電動モータ（図示なし）と減速機（図示なし）とを組み合わせることにより構成されている。駆動装置２０は、各駆動輪１３ａ，１３ｂにそれぞれ１つずつ（合計２つ）設けられている。
【００１４】
操作装置３０は、電動車椅子１の直進速度ｖおよび旋回速度ｗを指示するために乗員によって操作されるものである。直進速度ｖは、電動車椅子１の前方向（正面方向）における電動車椅子１の速度である。旋回速度ｗは、電動車椅子１の位置する場所において、電動車椅子１が電動車椅子１の重心を中心に旋回する角速度である。本実施形態において、操作装置３０は、ジョイスティックである。操作装置３０は、操作されていない位置（以下、ニュートラル位置とする）において、鉛直方向に起立した状態で位置決めされている。操作装置３０は、ニュートラル位置から乗員に傾けられることにより操作される。操作装置３０が操作された状態は、図２に示すように、操作装置３０を水平面と平行なＸＹ平面に投影したときにおける操作装置３０の先端の座標によって表すことができる。Ｘ軸の正負方向は、電動車椅子１の前後方向と同じである。Ｙ軸の正負方向は、電動車椅子１の左右方向と同じである。Ｘ座標の値は、乗員が所望する電動車椅子１の直進速度である所望直進速度ｘｊｓである。Ｙ座標の値は、乗員が所望する電動車椅子１の旋回速度である所望旋回速度ｙｊｓである。所望直進速度ｘｊｓおよび所望旋回速度ｙｊｓは、操作装置３０に入力された情報である操作情報として、制御装置５０に第一所定時間毎に出力される。第一所定時間は、例えば、１／２５秒である。
【００１５】
検知装置４０は、電動車椅子１の周囲にある被検知物を検知するものである。被検知物は、電動車椅子１がこれから走行する路面（走行路面）、人、物などである。
検知装置４０は、３次元測域センサ（レーザーレンジスキャナー（３Ｄスキャナー））である。検知装置４０は、検知部４１からレーザーを水平方向および上下方向に（三次元的に）発射して、被検知物からの反射波を検知部４１にて受信する。これにより、検知装置４０は、検知部４１から被検知物までの直線距離、水平角度（基準（例えば電動車椅子１の直進方向）に対する）、垂直角度（基準（例えば電動車椅子１の水平方向）に対する）を取得することができ、ひいては被検知物に係る三次元座標を点群データＤとして取得することができる。周辺情報（被検知物情報）が三次元座標である点群データＤとして示されている。点群データＤは、被検知物の表面の位置・形状を表している。検知装置４０は、レーザーを電動車椅子１の周囲（本実施形態では前方）に放射状に発射する。レーザーの発射可能な角度範囲は、検知装置４０が被検知物を検知可能な角度範囲に相当する。検知装置４０は、例えば、第一所定時間毎に周辺情報を取得する。検知装置４０が取得した周辺情報は、制御装置５０に出力される。
【００１６】
制御装置５０は、操作情報に基づいて、駆動装置２０の駆動量を制御して電動車椅子１を走行させるものである。制御装置５０は、図３に示すように、駆動装置２０、操作装置３０および検知装置４０が接続されている。さらに、制御装置５０は、操作情報取得部５１、駆動制御部５２、周辺情報取得部５３、分割部５４、特徴量算出部５５、探索起点設定部５６、および判定部５７を備えている。
【００１７】
操作情報取得部５１は、操作装置３０からの操作情報を取得する。駆動制御部５２は、操作情報取得部５１によって取得された操作情報に基づいて駆動装置２０を制御して電動車椅子１の走行を制御する。
具体的には、操作装置３０が操作され、操作装置３０からの操作情報を制御装置５０が取得した時点から、制御装置５０は、走行制御を開始する。制御装置５０は、操作装置３０からの操作情報（所望直進速度ｘｊｓおよび所望旋回速度ｙｊｓ）を、直進速度ｖおよび旋回速度ｗに変換する。制御装置５０は、取得した所望直進速度ｘｊｓから、図４Ａに示す第一マップＭ１に基づいて、直進速度ｖを算出する。第一マップＭ１は、所望直進速度ｘｊｓと直進速度ｖとの関係を示したものである。また、制御装置５０は、取得した所望旋回速度ｙｊｓから、図４Ｂに示す第二マップＭ２に基づいて、旋回速度ｗを算出する。第二マップＭ２は、所望旋回速度ｙｊｓと旋回速度ｗとの関係を示したものである。
【００１８】
第一マップＭ１は、図４Ａに示すように、所望直進速度ｘｊｓと直進速度ｖとが、比例する比例部ｍｖ１と、所望直進速度ｘｊｓの大きさにかかわらず直進速度ｖが一定の値である不感部ｍｖ２備えている。直進速度ｖが正である場合、電動車椅子１が前進する。一方、直進速度ｖが負である場合、電動車椅子１が後退する。また、第二マップＭ２は、図４Ｂに示すように、所望旋回速度ｙｊｓと旋回速度ｗとが比例する比例部ｍｗ１と、所望旋回速度ｙｊｓの大きさにかかわらず旋回速度ｗが一定の値である不感部ｍｗ２を備えている。旋回速度ｗが正である場合、電動車椅子１が右旋回する。一方、旋回速度ｗが負である場合、電動車椅子１が左旋回する。
【００１９】
制御装置５０は、変換された直進速度ｖおよび旋回速度ｗに基づいて、駆動装置２０の駆動量（回転数）を制御する。具体的には、変換された直進速度ｖおよび旋回速度ｗが、左駆動輪１３ａの回転速度および右駆動輪１３ｂの回転速度にさらに変換される。直進速度ｖの大きさは、各駆動輪１３ａ，１３ｂの回転速度の大きさに比例する。また、旋回速度ｗの大きさは、左駆動輪１３ａと右駆動輪１３ｂとの回転速度の差の大きさに比例する。直進速度ｖおよび旋回速度ｗと各駆動輪１３ａ，１３ｂの回転速度との関係は、予め実験等により実測されて導出されている。なお、駆動装置２０がＰＷＭ制御されているため、駆動装置２０の制御指令値は、デューティ比にて算出される。
【００２０】
制御装置５０が走行制御を行っている際に、乗員が操作装置３０の位置をニュートラル位置にした場合、直進速度ｖおよび旋回速度ｗがゼロとなることで、電動車椅子１が停止する。この場合、制御装置５０の走行制御が終了する。
【００２１】
周辺情報取得部５３は、検知装置４０から、電動車椅子１の周辺の情報を三次元で示される点群データＤとして取得する取得部である。
分割部５４は、周辺情報取得部５３によって取得された点群データＤを、所定平面を所定の領域に区画した複数の区域Ｇに分割する。本実施形態では、所定の領域は、図５に示すように、円座標Ｃ（平面極座標）に基づいて区画されている。円座標Ｃは、所定平面に配設され、検知装置４０の検知部４１の位置を原点Ｃ０とするとともに、図５の上側を電動車椅子１の前方とした極座標である。円座標Ｃは、径方向および周方向に所定間隔（例えば、径方向に５０ｃｍ間隔および径方向に２０°間隔）に区画された複数の区域Ｇを有している。所定平面は、電動車椅子１が水平面を走行している場合、水平面と平行になる平面であり、検知部４１を含む基準平面である。
【００２２】
なお、円座標Ｃの原点Ｃ０は、検知装置４０の検知部４１の位置とする代わりに、例えば電動車椅子１の重心としても良い。
また、分割された区域Ｇｎｍは、径方向に検知部４１に近い列を第一行とし、周方向の左側の列を第一列とする。ｎは行番号を示し、ｍは列番号を示す。区域Ｇ１１は、第一行、第一列の区域であり、区域Ｇ１７は、第一行、第七列の区域である。区域Ｇ２１は、第二行、第一列の区域であり、区域Ｇ２７は、第二行、第七列の区域である。
【００２３】
分割部５４は、周辺情報取得部５３によって取得された点群データＤを、上述した複数の区域Ｇに分割する。具体的には、分割部５４は、点群データＤを円座標Ｃに投影することにより、複数の区域Ｇに分割する。点群データＤの基準位置は検知部４１であり、分割部５４は、この基準位置を円座標Ｃの原点Ｃ０に合わすことにより、点群データＤを円座標Ｃに投影することができる。
なお、分割部５４は、円座標Ｃに代えて、平面直交座標を使用して（すなわち格子（グリッド）によって）分割するようにしてもよい。
【００２４】
特徴量算出部５５は、分割部５４によって分割された区域Ｇｎｍ毎に、区域Ｇｎｍに属する点群データＤである分割点群データＤｎｍから区域Ｇｎｍの特徴に係る特徴量をそれぞれ算出する。具体的には、特徴量算出部５５は、併合部５５ａ、推定面設定部５５ｂ、識別部５５ｃ、法線ベクトル算出部５５ｄ、傾斜算出部５５ｅ、および高さ算出部５５ｆを備えている。
【００２５】
併合部５５ａは、分割点群データＤｎｍが比較的少ない区域Ｇｎｍを、互いに近傍にある区域Ｇｎｍである近傍区域と併合（マージ）して新たな区域である併合区域とする。例えば、分割点群データＤ３７が比較的少ない区域Ｇ３７は、近傍にある区域Ｇ３６である近傍区域と併合して新たな区域である併合区域とする。この併合区域が、以降の処理の対象区域である。これにより、点群データの比較的少ない空区域の数を減少させることができる。
【００２６】
推定面設定部５５ｂは、区域Ｇｎｍ毎に区域Ｇｎｍに係る分割点群データＤｎｍから推定面Ｐｌを設定する（図６参照）。推定面Ｐｌは平面である。推定面Ｐｌは、分割点群データＤａｂに対してＲＡＮＳＡＣやＭｏｖｉｎｇ  Ｌｅａｓｔ  Ｓｑｕａｅｒｓを行うことにより設定することができる。
【００２７】
識別部５５ｃは、推定面設定部５５ｂによって設定された推定面Ｐｌに基づいて、分割点群データＤｎｍを有効な点群データＤと外れ値とに識別する。具体的には、識別部５５ｃは、推定面Ｐｌからの最短距離が距離閾値より小さい点が有効データ（図６にて黒丸で示す）であり、推定面Ｐｌからの最短距離が距離閾値より大きい点が外れ値（図６にて白丸で示す）であると識別する。なお、図６において、分割点群データＤｎｍはある分割点群データＤａｂである。
【００２８】
法線ベクトル算出部５５ｄは、識別部５５ｃによって識別された有効な点群データＤから区域Ｇｎｍの法線ベクトルを算出する。具体的には、法線ベクトル算出部５５ｄは、識別された有効な点群データＤ（図７にて黒丸で示す）に対して、重心点（または中央値）を算出し、この算出した重心点（図７にて白丸で示す）に対して有効な点群データＤとの共分散行列を算出し、主成分分析を行う。法線ベクトル算出部５５ｄは、最小主成分を推定面Ｐｌの法線ベクトルとして設定する。なお、重心点と各点群との共分散に対して、重心点と点群との距離に応じた重み付けを行った上で共分散行列を算出するのが好ましい。これにより、ノイズの影響をできるだけ抑制して、法線ベクトルをさらに精度よく算出することができる。
【００２９】
傾斜算出部５５ｅは、法線ベクトル算出部５５ｄによって算出された法線ベクトルから区域Ｇｎｍの特徴量の一つである傾斜（水平面に対する角度）を算出する。法線ベクトルの方向と区域Ｇｎｍの平面とは直交する関係があるため、区域Ｇｎｍの傾斜は、法線ベクトルの方向から算出することができる。具体的には、例えば傾斜算出部５５ｅは、鉛直上向きベクトルと法線ベクトルとの内積により区域Ｇｎｍの傾斜を算出する。傾斜は、水平面に対して進行方向手前側に傾斜する場合（上り傾斜の場合）には正の値となり、水平面に対して進行方向奥側に傾斜する場合（下り傾斜の場合）には負の値となる。
【００３０】
高さ算出部５５ｆは、識別部５５ｃによって識別された有効な点群データＤから区域Ｇｎｍの特徴量の一つである高さを算出する。具体的には、例えば高さ算出部５５ｆは、識別された有効な点群データＤの平均値または中央値をその区域Ｇｎｍの高さとして算出する。高さは、基準面より高い場合には正の値となり、基準面より低い場合には負の値となる。なお、基準面は、例えば水平面であり、電動車椅子１が平行（水平）状態で電動車椅子１の車輪が設置する面である。
【００３１】
探索起点設定部５６は、特徴量算出部５５によって算出された特徴量に基づいて、複数の区域のなかから電動車椅子１が走行可能である走行可能区域であるかを探索するために起点となる探索起点を設定する。具体的には、探索起点設定部５６は、複数の区域Ｇのうち、電動車椅子１の現在位置から所定距離内であり、特徴量算出部５５によって算出された特徴量に属する高さが高さ判定範囲内であり、かつ、特徴量算出部５５によって算出された特徴量に属する傾斜が傾斜判定範囲内である区域を、探索起点に設定する。
なお、高さ判定範囲は、第一高さ閾値以上であり、かつ第一高さ閾値より大きい第二高さ閾値以下に設定されている。第一高さ閾値は、例えば電動車椅子１が走行可能な深さ（凹状段差）に相当する値であり、負の値である。第二高さ閾値は、例えば電動車椅子１が走行可能な高さ（凸状段差）に相当する値であり、正の値である。
また、傾斜判定範囲は、第一傾斜閾値以上であり、かつ第一傾斜閾値より大きい第二傾斜閾値以下に設定されている。第一傾斜閾値は、例えば電動車椅子１が走行可能な下り坂の角度に相当する値であり、負の値である。第二傾斜閾値は、例えば電動車椅子１が走行可能な上り坂の角度に相当する値であり、正の値である。
例えば、探索起点設定部５６は、複数の区域Ｇのうち、電動車椅子１の現在位置から所定距離内であり、特徴量算出部５５によって算出された特徴量に属する高さが第二高さ閾値以下であり（かつ０以上である）、かつ、特徴量算出部５５によって算出された特徴量に属する傾斜が第二傾斜閾値以下である（かつ０以上である）区域を、探索起点に設定するのが好ましい。
【００３２】
なお、上述した各高さ閾値は、特徴量算出部５５によって算出された傾斜に応じて設定されている。具体的には、高さ閾値Ｈｔｈは、図８に示すマップまたは下記数１から、区域Ｇの傾斜Ａｎ１（路面の角度）に対応した値として算出される。
（数１）
Ｈｔｈ＝α×Ａｎ１＋Ｈoffset
ここで、αは、路面の角度を高さ（高さ閾値Ｈｔｈ）に変換するための係数であり、電動車椅子１固有の定数である。また、Ｈoffsetは、オフセット項であり、電動車椅子１が乗り越え可能な段差の上限値に設定されている（路面の角度が垂直上向きのときに、どこまで走行可能と設定するかを決める値である）。
【００３３】
これによれば、探索起点を検出するための高さ閾値を、その区域（路面）の傾斜（角度）に応じて変化させることができる。その結果、走行可能な傾斜であれば、高さが走行可能な段差より大きい場合であっても、走行可能な探索起点として設定できる。ひいては、走行可能な領域を正しく検出（判定）することができる。
【００３４】
判定部５７は、探索起点設定部５６によって設定された探索起点の周辺の区域（例えば、隣り合う区域）である周辺区域のなかから、探索起点の特徴に係る特徴量に近い特徴量を有する類似区域を判定する。すなわち、判定部５７は、全ての区域Ｇｎｍに対して電動車椅子１が走行可能な領域であるか否かを判定する。
【００３５】
具体的には、判定部５７は、探索起点の周辺の区域が、探索起点と周辺の区域の両方の特徴量の違い（差分）が連続であるか否かを判定することにより、類似区域であるか否か、ひいては走行可能であるか否かを判定する。探索起点と周辺の区域の特徴量の違いが連続である場合、判定部５７は、探索起点と周辺の区域は類似区域であり、走行可能であると判定する。一方、探索起点と周辺の区域の特徴量の違いが不連続である場合、判定部５７は、探索起点と周辺の区域は非類似区域であり、走行不可であると判定する。図９に示すように、×印が走行不可な区域を示し、○印が走行可能な区域を示す。周辺の区域は、縦横方向に隣接する区域であり、斜め方向に隣接する区域は含まない。なお、斜め方向に隣接する区域を含むようにしてもよい。
【００３６】
類似であるか否かの具体的な判定方法は、次のとおりである。特徴量の一つである高さについては、探索起点の高さと周辺の区域の高さとの差分が第一閾値より小さい場合には、探索起点と周辺の区域の高さの違いが連続であり、探索起点と周辺の区域は類似である。一方、探索起点の高さと周辺の区域の高さとの差分が第一閾値より大きい場合には、探索起点と周辺の区域の高さの違いが不連続であり、探索起点と周辺の区域は非類似である。
【００３７】
さらに、特徴量の一つである傾斜については、探索起点の傾斜と周辺の区域の傾斜との差分が第二閾値より小さい場合には、探索起点と周辺の区域の傾斜の違いが連続であり、探索起点と周辺の区域は類似である。一方、探索起点の傾斜と周辺の区域の傾斜との差分が第二閾値より大きい場合には、探索起点と周辺の区域の傾斜の違いが不連続であり、探索起点と周辺の区域は非類似である。
このように、特徴量である高さおよび傾斜の両方が連続である場合、探索起点と周辺の区域は類似である。それ以外の場合、探索起点と周辺の区域は非類似である。
【００３８】
さらに、判定部５７は、類似区域のなかから最も探索起点に類似するものを新たな探索起点に設定（更新）し、更新した探索起点を起点に新たな類似区域を判定する。判定部５７は、以上の類似区域の判定、探索起点の更新を繰り返し実行する。なお、類似区域が発見できない場合（すなわち探索起点の更新ができない場合）、判定部５７は、上述した探索起点設定部５６と同様に、新たに別の探索起点を設定する。また、判定部５７（制御装置５０）は、判定部５７によって類似区域と判定された区域を記憶部に記憶する。
また、判定部５７は、その判定結果を駆動制御部５２に送信する。駆動制御部５２は、判定部５７から受けた判定結果すなわち走行しようとする区域が走行可能区域であるか走行不可領域であるかに基づいて、電動車椅子１の走行を制御する。
【００３９】
さらに、上述した移動体に係る作動特に走行可能な領域を判定する制御について図１０に示すフローチャートに沿って説明する。制御装置５０は、そのフローチャートに沿ったプログラムを実行する。
【００４０】
制御装置５０は、ステップＳ１０２において、上述した周辺情報取得部５３と同様に、検知装置４０から電動車椅子１の周辺の情報を点群データＤとして取得する。
制御装置５０は、ステップＳ１０４において、上述した分割部５４と同様に、周辺情報取得部５３によって取得された全ての点群データＤを、所定平面を所定の領域に区画した複数の区域Ｇに分割する。
【００４１】
制御装置５０は、ステップＳ１０６において、上述した特徴量算出部５５と同様に、分割部５４によって分割された区域Ｇｎｍ毎に、区域Ｇｎｍに属する点群データＤである分割点群データＤｎｍから区域Ｇｎｍの特徴に係る特徴量をそれぞれ算出する。具体的には、制御装置５０は、図１１に示すフローチャートをサブルーチンとして実行する。
【００４２】
制御装置５０は、ステップＳ２０２において、全区域Ｇを処理したか否かを判定する。制御装置５０は、全区域Ｇを処理した場合、本サブルーチンを一旦終了し、全区域Ｇの処理が完了していない場合、プログラムをステップＳ２０４に進める。制御装置５０は、ステップＳ２０４において、属する点群数が判定閾値より多いか否かを判定することにより、区域Ｇが有効区域であるか否かを判定する。
【００４３】
制御装置５０は、ステップＳ２０６において、上述した併合部５５ａと同様に、分割点群データＤｎｍが比較的少ない区域Ｇｎｍを、互いに近傍にある区域Ｇｎｍである近傍区域と併合して新たな区域である併合区域とする。制御装置５０は、ステップＳ２０８において、ステップＳ２０４と同様に、併合区域が有効区域であるか否かを判定する。
【００４４】
区域（併合区域）が有効区域であると判定された場合、制御装置５０は、ステップＳ２１０以降において区域の特徴量（具体的には高さおよび傾斜）を算出する。一方、区域（併合区域）が有効区域でないと判定された場合、制御装置５０は、ステップＳ２１８において、当該区域に空区域のラベルを貼り当該区域が空区域である旨を記憶する。
【００４５】
制御装置５０は、ステップＳ２１０において、上述した推定面設定部５５ｂと同様に、区域Ｇｎｍ毎に区域Ｇｎｍに係る分割点群データＤｎｍから推定面Ｐｌを設定する。制御装置５０は、ステップＳ２１２において、上述した識別部５５ｃと同様に、ステップＳ２１０によって設定された推定面Ｐｌに基づいて、分割点群データＤｎｍを有効な点群データＤと外れ値とに識別する。制御装置５０は、ステップＳ２１４において、上述した法線ベクトル算出部５５ｄと同様に、ステップＳ２１２によって識別された有効な点群データＤから区域Ｇｎｍの法線ベクトルを算出する。制御装置５０は、ステップＳ２１６において、上述した傾斜算出部５５ｅと同様に、ステップＳ２１４によって算出された法線ベクトルから区域Ｇｎｍの特徴量の一つである傾斜を算出するとともに、高さ算出部５５ｆと同様に、ステップＳ２１２によって識別された有効な点群データＤから区域Ｇｎｍの特徴量の一つである高さを算出する。
【００４６】
制御装置５０は、ステップＳ１０８において、全区域Ｇに対して走行可能な区域であるか否かの評価（判定・探索）が終了したか否かを判定する。制御装置５０は、全区域Ｇの評価を完了した場合、プログラムをステップＳ１１０に進め、全区域Ｇの評価が完了していない場合、プログラムをステップＳ１１２以降に進める。制御装置５０は、ステップＳ１１０において、ラベリングがされていない区域すなわち探索（評価）が行われていない区域に未探索区域である旨のラベルを貼り当該区域が未探索区域である旨を記憶する。未探索区域は、走行可能区域、走行不能区域（段差区域、傾斜区域）のいずれでもない区域である。
【００４７】
制御装置５０は、ステップＳ１１２において、上述した探索起点設定部５６と同様に、ステップＳ１０６によって算出された特徴量に基づいて、複数の区域のなかから電動車椅子１が走行可能である走行可能区域であるかを探索するために起点となる探索起点を設定する。具体的には、制御装置５０は、図１２に示すフローチャートをサブルーチンとして実行する。
【００４８】
制御装置５０は、ステップＳ３０２において、当該区域が空区域であるか否かを判定する。制御装置５０は、当該区域が空区域である場合、本サブルーチンを一旦終了し、当該区域が空区域でない場合、プログラムをステップＳ３０４に進める。
制御装置５０は、ステップＳ３０４において、当該区域が電動車椅子１の現在位置から所定距離内であるか否かを判定する。制御装置５０は、当該区域が所定距離より離れている場合、本サブルーチンを一旦終了し、当該区域が所定距離内である場合、プログラムをステップＳ３０６に進める。
【００４９】
制御装置５０は、ステップＳ３０６において、当該区域が未探索であるか否かを判定する。制御装置５０は、当該区域が探索済みである場合、本サブルーチンを一旦終了し、当該区域が未探索である場合、プログラムをステップＳ３０８に進める。制御装置５０は、ステップＳ３０８において、高さ閾値（または高さ判定範囲）を傾斜に基づいて演算する。
【００５０】
制御装置５０は、ステップＳ３１０において、当該区域が探索起点となり得るか否かを判定する。具体的には、制御装置５０は、当該区域の高さが高さ判定範囲内にあり（例えば第二高さ閾値より小さく）、かつ、当該区域の傾斜が傾斜判定範囲内にある（例えば第二傾斜閾値より小さい）場合、当該区域が探索起点となり得ると判定し、それ以外の場合は、当該区域が探索起点となり得ないと判定する。制御装置５０は、当該区域が探索起点となり得ない場合、本サブルーチンを一旦終了し、当該区域が探索起点となる場合、プログラムをステップＳ３１２に進め、当該区域を探索起点に設定する。
【００５１】
制御装置５０は、ステップＳ１１４において、探索起点があるか否かを判定する。制御装置５０は、探索起点がない場合（探索起点が設定されていない場合）、プログラムをステップＳ１０８に戻し、探索起点がある場合（探索起点が設定されている場合）、プログラムをステップＳ１１６以降に進める。
【００５２】
制御装置５０は、ステップＳ１１６以降において、上述した判定部５７と同様に、ステップＳ１１２によって設定された探索起点の周辺の区域である周辺区域のなかから、探索起点の特徴に係る特徴量に近い特徴量を有する類似区域を判定する。すなわち、制御装置５０は、全ての区域Ｇｎｍに対して電動車椅子１が走行可能な領域であるか否かを判定する。
【００５３】
制御装置５０は、ステップＳ１１６において、周辺の区域の判定（探索）が完了したか否かを判定する。制御装置５０は、周辺の区域の判定（探索）が完了していない場合、プログラムをステップＳ１１８以降に進め、一方、周辺の区域の判定（探索）が完了している場合、プログラムをステップＳ１２８以降に進める。
【００５４】
制御装置５０は、ステップＳ１１８〜１２６において、探索が完了していない区域が探索起点と類似しているか否かを判定する。制御装置５０は、探索起点の高さと当該区域の高さとの差分が第一閾値より小さく（ステップＳ１１８でＮＯ）、かつ、探索起点の傾斜と当該区域の傾斜との差分が第二閾値より小さい（ステップＳ１２０でＮＯ）場合は、探索起点と当該区域とは、特徴量の違いが連続であり、類似であり、当該区域は走行可能領域であると判定する（ステップＳ１２６）。制御装置５０は、探索起点の高さと当該区域の高さとの差分が第一閾値より大きい（ステップＳ１１８でＹＥＳ）場合は、探索起点と当該区域とは、特徴量（高さ）の違いが不連続であり、非類似であり、当該区域は段差の大きい走行不可領域（大段差領域）であると判定する（ステップＳ１２２）。制御装置５０は、探索起点の高さと当該区域の高さとの差分が第一閾値より小さく（ステップＳ１１８でＮＯ）、かつ、探索起点の傾斜と当該区域の傾斜との差分が第二閾値より大きい（ステップＳ１２０でＹＥＳ）場合は、探索起点と当該区域とは、特徴量（傾斜）の違いが不連続であり、非類似であり、当該区域は傾斜の大きい走行不可領域（急斜面領域）であると判定する（ステップＳ１２４）。
【００５５】
制御装置５０は、ステップＳ１２８において、走行可能な区域（類似区域）があるか否かを判定する。制御装置５０は、走行可能な区域がない場合、プログラムをステップＳ１０８に戻し、走行可能な区域がある場合、プログラムをステップＳ１３０に進める。制御装置５０は、ステップＳ１３０において、複数の類似区域のなかから最も探索起点に類似するものを選択し、ステップＳ１３２において、その選択した区域を新たな探索起点に設定（更新）する。その後、制御装置５０はプログラムをステップＳ１１６に戻し、更新した探索起点を起点に新たな類似区域を判定する。
【００５６】
上述した説明から明らかなように、本実施形態に係る電動車椅子１（移動体）は、駆動装置２０による駆動によって走行する移動体である。電動車椅子１は、電動車椅子１の周辺の情報を三次元で示される点群データとして取得する周辺情報取得部５３（取得部）と、周辺情報取得部５３によって取得された点群データを、所定平面を所定の領域に区画した複数の区域Ｇに分割する分割部５４と、分割部５４によって分割された区域Ｇ毎に、区域Ｇに属する点群データである分割点群データから区域Ｇの特徴に係る特徴量をそれぞれ算出する特徴量算出部５５と、特徴量算出部５５によって算出された特徴量に基づいて、複数の区域Ｇのなかから電動車椅子１が走行可能である走行可能区域であるかを探索するために起点となる探索起点を設定する探索起点設定部５６と、探索起点設定部５６によって設定された探索起点の周辺の区域Ｇである周辺区域のなかから、探索起点の特徴に係る特徴量に近い特徴量を有する類似区域を判定する判定部５７と、を備えている。
【００５７】
これによれば、先に設定された探索起点の周辺の区域Ｇのなかから、探索起点を基準に、区域Ｇ毎に算出された特徴量に基づいて、類似区域を判定することができる。すなわち、探索起点を基準に電動車椅子１の走行可能区域を判定することができる。その結果、電動車椅子１が走行している路面形状の影響を抑え、電動車椅子１の走行路面の段差や傾斜をより精度よく認識することができる電動車椅子１を提供することができる。
【００５８】
また、走行可能な路面であると判定した区域（探索起点）を比較元として、探索起点の周辺区域が探索起点と類似であるか否かを判定するため、電動車椅子１や検知装置４０の姿勢変化があったとしても、区域同士の相互関係は変化しない。よって、路面の勾配や凸凹による電動車椅子１や検知装置４０の姿勢変化の外乱の影響を抑制することができる。その結果、電動車椅子１は、電動車椅子１の走行路面の段差や傾斜をより精度よく認識することができる。
【００５９】
また、特徴量算出部５５は、区域Ｇ毎に区域Ｇに係る分割点群データから推定面を設定する推定面設定部５５ｂと、推定面設定部５５ｂによって設定された推定面に基づいて、分割点群データを有効な点群データと外れ値とに識別する識別部５５ｃと、識別部５５ｃによって識別された有効な点群データから区域Ｇの法線ベクトルを算出する法線ベクトル算出部５５ｄと、法線ベクトル算出部５５ｄによって算出された法線ベクトルから区域Ｇの特徴量の一つである傾斜を算出する傾斜算出部５５ｅと、識別部５５ｃによって識別された有効な点群データから区域Ｇの特徴量の一つである高さを算出する高さ算出部５５ｆと、を備えている。
これによれば、区域Ｇ毎に、区域Ｇに係る特徴量（高さおよび傾斜）を精度よく算出することができる。その結果、電動車椅子１の走行路面の段差や傾斜（急斜面）をより精度よく認識することができる。
また、凸凹な走行路面や、ノイズの大きな走行路面であっても、区域の法線ベクトルが精度よく算出できるため、走行可能な領域を正しく認識することができ、走行できる領域を拡大することができる。
【００６０】
また、特徴量算出部５５は、分割点群データが比較的少ない区域Ｇを、互いに近傍にある区域Ｇである近傍区域と併合して新たな区域Ｇである併合区域とする併合部５５ａをさらに備え、併合部５５ａによって併合された併合区域の傾斜および高さを算出する。
これによれば、分割点群データが比較的少ない区域Ｇについても、近傍の区域Ｇと併合することで、測定点の数を増やして、区域Ｇに係る特徴量を精度よく算出することができる。その結果、電動車椅子１の走行路面の段差や傾斜をより精度よく認識することができる。
【００６１】
また、探索起点設定部５６は、複数の区域Ｇのうち、電動車椅子１の現在位置から所定距離内であり、特徴量算出部５５によって算出された特徴量に属する高さが高さ判定範囲内であり、かつ、特徴量算出部５５によって算出された特徴量に属する傾斜が傾斜判定範囲内である区域Ｇを、探索起点に設定する。
これによれば、探索起点を的確に設定することができる。その結果、電動車椅子１の走行路面の段差や傾斜をより精度よく認識することができる。
【００６２】
また、高さ判定範囲の大きさ（上述した各高さ閾値）は、特徴量算出部５５によって算出された傾斜に応じて設定されている。
これによれば、探索起点をより的確に設定することができる。その結果、電動車椅子１の走行路面の段差や傾斜をより精度よく認識することができる。すなわち、走行可能な緩傾斜を精度よく認識することができ、走行できる領域を拡大することができ、利便性を向上させることができる。
【００６３】
上記の実施形態では、探索起点を設定する際に、点群データから得られる分割点群データから区域ごとに特徴量（例えば、高さ情報、傾斜情報）を算出して、これら特徴量に基づいて探索起点を設定しているが、本発明では、以下のような構成も考えられる。
（付記項１）
探索起点設定部では、特徴量（例えば、高さ情報、傾斜情報）を、別のセンサ（例えば、加速度センさ）からの情報も用いて算出（補正）し、このように算出（補正）された特徴量に基づき探索起点を設定しても良い。この場合、算出される特徴量の精度が向上し、より適切に探索起点を設定することができる。
【符号の説明】
【００６４】
１…電動車椅子（移動体）、１０…車椅子本体、２０…駆動装置、３０…操作装置、４０…検知装置、４１…検知部、５０…制御装置、５１…操作情報取得部、５２…駆動制御部、５３…周辺情報取得部、５４…分割部、５５…特徴量算出部、５５ａ…併合部、５５ｂ…推定面設定部、５５ｃ…識別部、５５ｄ…法線ベクトル算出部、５５ｅ…傾斜算出部、５５ｆ…高さ算出部、５６…探索起点設定部、５７…判定部、Ｄ…点群データ、Ｇ…区域（グリッド）。
【図１】
0006649054.tif 000002
【図２】
0006649054.tif 000003
【図３】
0006649054.tif 000004
【図４Ａ】
0006649054.tif 000005
【図４Ｂ】
0006649054.tif 000006
【図５】
0006649054.tif 000007
【図６】
0006649054.tif 000008
【図７】
0006649054.tif 000009
【図８】
0006649054.tif 000010
【図９】
0006649054.tif 000011
【図１０】
0006649054.tif 000012
【図１１】
0006649054.tif 000013
【図１２】
0006649054.tif 000014