(57)【要約】【課題】物体の基準点を精度良く特定する。【解決手段】情報処理装置２０は、検出部２０Ｅと、特定部２０Ｇと、を備える。検出部２０Ｅは、第１物体を構成する点群の端点を検出する。特定部２０Ｇは、端点の近傍領域に、情報処理装置２０からの距離が端点より遠い第２物体が存在する場合、該端点を第１物体の基準点として特定する。【選択図】図２
2019002839.tif 000002
【特許請求の範囲】
【請求項１】
第１物体を構成する点群の端点を検出する検出部と、
前記端点の近傍領域に、当該情報処理装置からの距離が前記端点より遠い第２物体が存在する場合、前記端点を前記第１物体の基準点として特定する特定部と、
を備える、情報処理装置。
【請求項２】
周囲の複数の点の位置情報を取得する取得部と、
前記複数の点を、物体を構成する前記点群に分類する分類部と、
を備え、
前記特定部は、
前記端点の前記近傍領域に、前記端点より当該情報処理装置からの距離が遠い、前記第２物体を構成する前記点群の少なくとも一部が存在する場合、前記端点を前記第１物体の前記基準点として特定する、
請求項１に記載の情報処理装置。
【請求項３】
前記端点の前記近傍領域を設定する設定部を備え、
前記特定部は、設定された前記近傍領域に当該情報処理装置からの距離が前記端点より遠い第２物体が存在する場合、前記端点を前記第１物体の前記基準点として特定する、
請求項１または請求項２に記載の情報処理装置。
【請求項４】
前記設定部は、
当該情報処理装置と前記端点とを通る基準直線から、前記第１物体の外側に向かって所定角度の範囲を、前記近傍領域として設定する、
請求項３に記載の情報処理装置。
【請求項５】
前記近傍領域は、
前記基準直線から前記第１物体の外側に向かって、水平方向および鉛直方向の少なくとも一方に前記所定角度の範囲である、
請求項４に記載の情報処理装置。
【請求項６】
前記設定部は、
センサによる前記点の検出限界を示す角度以上で、且つ、前記センサの走査方向における前記第１物体のサイズを示す角度以下の、前記所定角度の範囲を、前記近傍領域として設定する、
請求項４または請求項５に記載の情報処理装置。
【請求項７】
前記設定部は、
前記所定角度の範囲における、当該情報処理装置からの距離が第１範囲内の領域、および、前記端点からの距離が第２範囲内の領域、の少なくとも一方と重複する領域を、前記近傍領域として設定する、
請求項４〜請求項６の何れか１項に記載の情報処理装置。
【請求項８】
前記設定部は、
当該情報処理装置と前記端点との距離が大きいほど広い、前記第１範囲および前記第２範囲を設定する、請求項７に記載の情報処理装置。
【請求項９】
前記基準点を示す出力情報を出力する出力制御部を備える、
請求項１〜請求項８の何れか１項に記載の情報処理装置。
【請求項１０】
前記基準点に基づいて導出された前記第１物体の移動方向、移動距離、移動速度、形状、および位置の少なくとも１つを含む出力情報を出力する出力制御部を備える、
請求項１〜請求項８の何れか１項に記載の情報処理装置。
【請求項１１】
前記出力情報を用いて、移動体の動力部を制御する動力制御部、
を更に備える、
請求項９または請求項１０に記載の情報処理装置。
【請求項１２】
前記特定部は，
複数の前記端点が前記基準点として特定可能である場合、特定に用いた前記近傍領域の範囲が最も狭い前記端点を、１つの前記基準点として特定する、
請求項１〜請求項１１の何れか１項に記載の情報処理装置。
【請求項１３】
前記基準点の特定に用いた前記近傍領域に基づいて、補正後の前記基準点として設定可能な補正範囲を導出する導出部と、
前記基準点の位置を、導出した前記補正範囲内の位置に補正する補正部と、
を備える、
請求項１〜請求項１２の何れか１項に記載の情報処理装置。
【請求項１４】
前記導出部は、
前記基準点と前記近傍領域の周縁の少なくとも一部とに接する第１の円と、前記近傍領域と、の重複領域を、前記補正範囲として導出する、
請求項１３に記載の情報処理装置。
【請求項１５】
前記補正部は、
前記基準点の位置を、前記補正範囲の中心位置に補正する、請求項１４に記載の情報処理装置。
【請求項１６】
前記導出部は、
前記第１の円、前記基準点を中心とした所定半径の第２の円、および、前記基準点を中心とし前記基準点から前記第２物体を構成する前記点までの距離を半径とする第３の円、の少なくとも一つと、前記近傍領域と、の重複領域を、前記補正範囲として導出する、請求項１４に記載の情報処理装置。
【請求項１７】
請求項１〜請求項１６の何れか１項に記載の情報処理装置を備えた移動体。
【請求項１８】
第１物体を構成する点群の端点を検出するステップと、
前記端点の近傍領域に、当該情報処理装置からの距離が前記端点より遠い第２物体が存在する場合、前記端点を前記第１物体の基準点として特定するステップと、
を含む情報処理方法。
【請求項１９】
第１物体を構成する点群の端点を検出するステップと、
前記端点の近傍領域に、当該情報処理装置からの距離が前記端点より遠い第２物体が存在する場合、前記端点を前記第１物体の基準点として特定するステップと、
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施の形態は、情報処理装置、移動体、情報処理方法、およびプログラムに関する。
【背景技術】
【０００２】
物体の位置や移動速度などの算出のために、物体の基準点を特定する技術が開示されている。
【０００３】
例えば、自車両周辺の物体の水平方向の両方の端点を検出し、他の物体に遮蔽されていない端点を、対象物体の基準点として用いる技術が開示されている。しかしながら、物体の端点が正しく観測されない原因には、他の物体による遮蔽の他に、物体の材質や表面形状、センサとの位置関係などもある。このため、遮蔽以外の要因によって正確な端点が検出されなかった場合、対象物体の基準点が正確に検出されない場合があった。すなわち、従来では、物体の基準点を精度良く特定することが困難であった。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第５６９８５９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明が解決しようとする課題は、物体の基準点を精度良く特定することができる、情報処理装置、移動体、情報処理方法、およびプログラムを提供することである。
【課題を解決するための手段】
【０００６】
実施の形態の情報処理装置は、検出部と、特定部と、を備える。検出部は、第１物体を構成する点群の端点を検出する。特定部は、前記端点の近傍領域に、当該情報処理装置からの距離が前記端点より遠い第２物体が存在する場合、前記端点を前記第１物体の基準点として特定する。
【図面の簡単な説明】
【０００７】
【図１】実施の形態の移動体の一例を示す図。
【図２】情報処理装置の構成の一例を示すブロック図。
【図３−１】処理部による処理の一例の説明図。
【図３−２】第１面の説明図。
【図３−３】第２面の説明図。
【図４】近傍領域の設定の説明図。
【図５】近傍領域の詳細な説明図。
【図６】情報処理の手順の一例を示すフローチャート。
【図７】情報処理装置の構成の一例を示すブロック図。
【図８】点の一例の説明図。
【図９】補正範囲の一例の説明図。
【図１０】情報処理の手順の一例を示すフローチャート。
【図１１】ハードウェア構成図。
【発明を実施するための形態】
【０００８】
以下に添付図面を参照して、情報処理装置、移動体、情報処理方法、およびプログラムを詳細に説明する。
【０００９】
（第１の実施の形態）
図１は、本実施の形態の移動体１０の一例を示す図である。例えば、移動体１０は、走行方向（矢印Ｘ方向）に走行する。
【００１０】
移動体１０は、情報処理装置２０と、出力部１０Ａと、センサ１０Ｂと、入力装置１０Ｃと、動力制御部１０Ｇと、動力部１０Ｈと、を備える。
【００１１】
情報処理装置２０は、例えば、専用または汎用コンピュータである。本実施の形態では、情報処理装置２０が、移動体１０に搭載されている場合を一例として説明する。
【００１２】
移動体１０は、移動可能な物体である。移動体１０は、例えば、車両（自動二輪車、自動四輪車、自転車）、台車、ロボット、船舶、飛翔体（飛行機、無人航空機（ＵＡＶ：Ｕｎｍａｎｎｅｄ  Ａｅｒｉａｌ  Ｖｅｈｉｃｌｅ）など）である。移動体１０は、例えば、人による運転操作を介して走行する移動体や、人による運転操作を介さずに自動的に走行（自律走行）可能な移動体である。自動走行可能な移動体は、例えば、自動運転車両である。本実施の形態の移動体１０は、自律走行可能な車両である場合を一例として説明する。
【００１３】
なお、情報処理装置２０は、移動体１０に搭載された形態に限定されない。情報処理装置２０は、静止物に搭載されていてもよい。静止物は、移動不可能な物や、地面に対して静止した状態の物である。静止物は、例えば、ガードレール、ポール、駐車車両、道路標識、などである。また、情報処理装置２０は、クラウド上で処理を実行するクラウドサーバに搭載されていてもよい。
【００１４】
本実施の形態では、情報処理装置２０は、物体３０の基準点Ｓを特定する。
【００１５】
物体３０は、情報処理装置２０によって基準点Ｓを特定される対象の物である。詳細には、物体３０は、センサ１０Ｂ（詳細後述）の外界に存在する物体であって、センサ１０Ｂによって観測される物体である。
【００１６】
物体３０は、移動体、静止物、の何れであってもよい。移動体および静止物の定義は、上記と同様である。なお、物体３０は、生物および非生物の何れであってもよい。生物は、例えば、人物、動物、植物、などである。非生物は、例えば、車両や飛行可能な物体やロボットなどである。
【００１７】
物体３０の基準点Ｓは、物体３０を示す点である。物体３０の基準点Ｓは、例えば、物体３０の位置や移動速度などの導出に用いられる。なお、物体３０の基準点Ｓを、物体３０の位置として用いてもよい。本実施の形態では、情報処理装置２０は、物体３０の基準点Ｓを特定する。基準点Ｓの特定方法については、詳細を後述する。
【００１８】
センサ１０Ｂは、外界の観測情報を取得する。観測情報は、センサ１０Ｂの設置位置の周辺の、観測結果を示す情報である。本実施の形態では、観測情報は、センサ１０Ｂの周辺の複数の点の各々の、位置情報を導出可能な情報である。
【００１９】
点は、センサ１０Ｂによって検知される検知点である。点の位置情報は、センサ１０Ｂから点までの距離と、センサ１０Ｂを基準とした点の方向と、を示す情報である。これらの距離および方向は、例えば、センサ１０Ｂを基準とする点の相対位置を示す位置座標や、点の絶対位置を示す位置座標や、ベクトルなどで表すことができる。
【００２０】
点は、センサ１０Ｂの外界における、センサ１０Ｂによって個別に観測される検知点の各々を示す。例えば、センサ１０Ｂは、センサ１０Ｂの周囲に光を照射し、反射点で反射した反射光を受光する。この反射点が、点に相当する。なお、複数の反射点を１つの点として用いてもよい。
【００２１】
センサ１０Ｂは、複数の点の各々に対する光の照射方向（センサ１０Ｂを基準とする点の方向）と、複数の点の各々で反射した反射光に関する情報と、を含む、観測情報を得る。反射光に関する情報は、例えば、光の照射から反射光の受光までの経過時間や、受光した光の強度（または出射した光の強度に対する受光した光の強度の減衰率）などである。後述する処理部２０Ａでは、この経過時間などを用いて、センサ１０Ｂから点までの距離を導出する。
【００２２】
センサ１０Ｂは、例えば、撮影装置や、距離センサ（ミリ波レーダ、レーザセンサ）、などである。撮影装置は、撮影によって撮影画像データ（以下、撮影画像と称する）を得る。撮影画像データは、画素ごとに画素値を規定したデジタル画像データや、画素毎にセンサ１０Ｂからの距離を規定したデプスマップなどである。レーザセンサは、例えば、水平面に対して平行に設置された二次元ＬＩＤＡＲ（Ｌａｓｅｒ  Ｉｍａｇｉｎｇ  Ｄｅｔｅｃｔｉｏｎ  ａｎｄ  Ｒａｎｇｉｎｇ）センサや、三次元ＬＩＤＡＲセンサである。
【００２３】
ＬＩＤＡＲセンサは、パルス状に発光するレーザ光を周囲に照射し、物体３０の点で反射したレーザ光を受光する。例えば、ＬＩＤＡＲセンサは、レーザ光を走査方向に走査することで、レーザ光を周囲に照射する。走査方向は、例えば、水平方向や、鉛直方向である。すなわち、ＬＩＤＡＲセンサは、レーザ光を走査方向に走査し、走査方向における照射方向ごとの、レーザ光の反射光を受光する。なお、走査方向は、更に、他の方向を含んでいてもよい。
【００２４】
ＬＩＤＡＲセンサは、レーザ光の照射方向と、レーザ光の照射から受光までの経過時間と、を含む観測情報を得る。そして、後述する処理部２０Ａでは、点の観測情報に含まれる経過時間から、照射方向におけるセンサ１０Ｂと点との距離を算出する。これによって、後述する処理部２０Ａでは、各点の位置情報を取得する（詳細後述）。なお、ＬＩＤＡＲセンサ（センサ１０Ｂ）が、レーザ光の照射方向と、レーザ光の照射から受光までの経過時間と、から、照射方向におけるセンサ１０Ｂと点との距離を算出してもよい。すなわち、ＬＩＤＡＲセンサ（センサ１０Ｂ）が、各点の位置情報を算出してもよい。
【００２５】
本実施の形態では、センサ１０Ｂが、二次元ＬＩＤＡＲセンサである場合を一例として説明する。
【００２６】
なお、センサ１０Ｂは、三次元ＬＩＤＡＲセンサであってもよい。また、センサ１０Ｂは、物体３０の表面を構成する各面の各々の観測情報を取得する構成であってもよい。また、センサ１０Ｂは、互いに異なる複数の撮影方向の撮影画像を取得する構成であってもよい。また、情報処理装置２０は、複数のセンサ１０Ｂを備えた構成であってもよい。この場合、情報処理装置２０は、同じ種類のセンサ１０Ｂを備えた構成であってもよいし、少なくとも１つの種類の異なる複数のセンサ１０Ｂを備えた構成であってもよい。なお、情報処理装置２０が複数のセンサ１０Ｂを備えた構成の場合、後述する処理部２０Ａでは、これらの複数のセンサ１０Ｂで得られた観測情報を統合したものを、観測情報として用いればよい。
【００２７】
出力部１０Ａは、各種情報を出力する。本実施の形態では、出力部１０Ａは、出力情報を出力する。出力情報は、情報処理装置２０で生成される（詳細後述）。出力情報は、物体３０の基準点Ｓに関する情報を含む。具体的には、出力情報は、物体３０の基準点Ｓの位置を示す情報と、基準点Ｓに基づいて導出された物体３０の移動方向、移動距離、移動速度、形状、および位置、の少なくとも１つと、を含む。物体３０の基準点Ｓの位置を示す情報は、センサ１０Ｂに対する相対位置であってもよいし、絶対位置であってもよい。
【００２８】
出力部１０Ａは、例えば、出力情報を送信する通信機能、出力情報を表示する表示機能、出力情報を示す音を出力する音出力機能、などを備える。例えば、出力部１０Ａは、通信部１０Ｄと、ディスプレイ１０Ｅと、スピーカ１０Ｆと、を含む。
【００２９】
通信部１０Ｄは、出力情報を他の装置へ送信する。例えば、通信部１０Ｄは、公知の通信回線を介して出力情報を送信する。ディスプレイ１０Ｅは、出力情報を表示する。ディスプレイ１０Ｅは、例えば、公知のＬＣＤ（ｌｉｑｕｉｄ  ｃｒｙｓｔａｌ  ｄｉｓｐｌａｙ）や投影装置やライトなどである。スピーカ１０Ｆは、出力情報を示す音を出力する。
【００３０】
入力装置１０Ｃは、ユーザからの各種指示や情報入力を受け付ける。入力装置１０Ｃは、例えば、マウスやトラックボール等のポインティングデバイス、あるいはキーボード等の入力デバイスである。
【００３１】
動力部１０Ｈは、移動体１０を駆動するデバイスである。動力部１０Ｈは、例えば、エンジン、モータ、車輪、などである。
【００３２】
動力制御部１０Ｇは、動力部１０Ｈを制御する。動力部１０Ｈは、動力制御部１０Ｇの制御によって駆動する。例えば、動力制御部１０Ｇは、情報処理装置２０で生成された出力情報や、センサ１０Ｂから得られた情報などに基づいて、周辺の状況を判断し、アクセル量、ブレーキ量、操舵角などの制御を行う。例えば、動力制御部１０Ｇは、障害物を避けて現在走行中の車線を保ち、かつ前方車両との車間距離を所定距離以上保つように車両の制御を行う。
【００３３】
次に、情報処理装置２０の構成について詳細に説明する。図２は、情報処理装置２０の構成の一例を示すブロック図である。
【００３４】
情報処理装置２０は、物体３０の基準点Ｓを特定する。情報処理装置２０は、例えば、専用または汎用コンピュータである。情報処理装置２０は、処理部２０Ａと、記憶部２０Ｂと、を備える。
【００３５】
処理部２０Ａ、記憶部２０Ｂ、出力部１０Ａ、センサ１０Ｂ、および入力装置１０Ｃは、バス２０Ｊを介して接続されている。なお、記憶部２０Ｂ、出力部１０Ａ（通信部１０Ｄ、ディスプレイ１０Ｅ、スピーカ１０Ｆ）、センサ１０Ｂ、および入力装置１０Ｃは、有線または無線で処理部２０Ａに接続すればよい。また、記憶部２０Ｂ、出力部１０Ａ（通信部１０Ｄ、ディスプレイ１０Ｅ、スピーカ１０Ｆ）、センサ１０Ｂ、および入力装置１０Ｃの少なくとも１つと、処理部２０Ａと、を、ネットワークを介して接続してもよい。
【００３６】
記憶部２０Ｂは、各種データを記憶する。記憶部２０Ｂは、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、フラッシュメモリ等の半導体メモリ素子、ハードディスク、光ディスク等である。なお、記憶部２０Ｂは、情報処理装置２０の外部に設けられた記憶装置であってもよい。また、記憶部２０Ｂは、記憶媒体であってもよい。具体的には、記憶媒体は、プログラムや各種情報を、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やインターネットなどを介してダウンロードして記憶または一時記憶したものであってもよい。また、記憶部２０Ｂを、複数の記憶媒体から構成してもよい。
【００３７】
図２に戻り説明を続ける。次に、処理部２０Ａについて説明する。処理部２０Ａは、取得部２０Ｃと、分類部２０Ｄと、検出部２０Ｅと、設定部２０Ｆと、特定部２０Ｇと、出力制御部２０Ｈと、を備える。
【００３８】
処理部２０Ａにおける各処理機能は、コンピュータによって実行可能なプログラムの形態で記憶部２０Ｂへ記憶されている。処理部２０Ａは、プログラムを記憶部２０Ｂから読出、実行することで、各プログラムに対応する機能を実現するプロセッサである。
【００３９】
各プログラムを読み出した状態の処理部２０Ａは、図２の処理部２０Ａ内に示された各機能部を有することになる。図２においては単一の処理部２０Ａによって、取得部２０Ｃ、分類部２０Ｄ、検出部２０Ｅ、設定部２０Ｆ、特定部２０Ｇ、および出力制御部２０Ｈが実現されるものとして説明する。
【００４０】
なお、各機能部の各々を実現するための独立した複数のプロセッサを組み合わせて処理部２０Ａを構成してもよい。この場合、各プロセッサがプログラムを実行することにより各機能部を実現する。また、各機能部がプログラムとして構成され、１つの処理回路が各プログラムを実行する場合であってもよいし、特定の機能部が専用の独立したプログラム実行回路に実装される場合であってもよい。
【００４１】
なお、本実施の形態および後述する実施の形態において用いる「プロセッサ」との文言は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＧＰＵ（Ｇｒａｐｈｉｃａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）或いは、特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：ＡＳＩＣ）、プログラマブル論理デバイス（例えば、単純プログラマブル論理デバイス（Ｓｉｍｐｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ：ＳＰＬＤ）、複合プログラマブル論理デバイス（Ｃｏｍｐｌｅｘ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ：ＣＰＬＤ）、及びフィールドプログラマブルゲートアレイ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ：ＦＰＧＡ））の回路を意味する。
【００４２】
プロセッサは、記憶部２０Ｂに保存されたプログラムを読み出し実行することで機能を実現する。なお、記憶部２０Ｂにプログラムを保存する代わりに、プロセッサの回路内にプログラムを直接組み込むよう構成しても構わない。この場合、プロセッサは回路内に組み込まれたプログラムを読み出し実行することで機能を実現する。
【００４３】
取得部２０Ｃは、移動体１０の周辺の複数の点の各々の位置情報を取得する。
【００４４】
取得部２０Ｃは、センサ１０Ｂから、センサ１０Ｂの周辺の観測情報を取得する。観測情報は、上述したように、センサ１０Ｂの外界の観測情報であって、センサ１０Ｂの周辺の複数の点の各々の位置情報を導出可能な情報である。取得部２０Ｃは、観測情報から、点の各々の位置情報を導出する。これによって、取得部２０Ｃは、点の位置情報を取得する。
【００４５】
具体的には、センサ１０ＢがＬＩＤＡＲセンサであったと仮定する。この場合、取得部２０Ｃは、観測情報として、センサ１０Ｂからのレーザ光の照射方向と、レーザ光の照射から受光までの経過時間と、を含む観測情報を取得する。そして、取得部２０Ｃは、経過時間から、照射方向におけるセンサ１０Ｂと点との距離を算出する。これによって、取得部２０Ｃは、センサ１０Ｂによって検知された点の各々について、センサ１０Ｂから点までの距離と、センサ１０Ｂを基準とした点の方向と、を示す位置情報を取得する。
【００４６】
なお、上述したように、センサ１０ＢがＬＩＤＡＲセンサである場合、センサ１０Ｂが、レーザ光の照射方向と、レーザ光の照射から受光までの経過時間と、から、位置情報（照射方向と距離）を算出してもよい。この場合、取得部２０Ｃは、点の各々の位置情報を、センサ１０Ｂ（ＬＩＤＡＲセンサ）から取得すればよい。
【００４７】
なお、上述したように、センサ１０Ｂが、物体３０の表面を構成する各面の各々の観測情報を得る構成の場合がある。この場合、取得部２０Ｃは、観測情報に示される異なる面の各々を水平面に投影することで、点の位置情報を取得すればよい。また、センサ１０Ｂが、互いに異なる複数の撮影方向の撮影画像を得る構成の場合がある。この場合、取得部２０Ｃは、センサ１０Ｂから取得した複数の撮影方向の撮影画像から、各検出点の奥行情報（距離情報）を再構築することで、検出点の各々の三次元の位置情報を推定すればよい。また、センサ１０Ｂが、複数のセンサ１０Ｂを備えた構成の場合がある。この場合、取得部２０Ｃは、これらの複数のセンサ１０Ｂで得られた観測情報を統合した上で、点の位置情報の取得に用いればよい。
【００４８】
図３−１は、処理部２０Ａによる処理の一例の説明図である。移動体１０に搭載されたセンサ１０Ｂは、センサ１０Ｂの周囲にレーザ光Ｌを照射し、センサ１０Ｂの周辺の物体３０（物体３０Ａ〜物体３０Ｂ）で反射した反射光を受光する。これによって、センサ１０Ｂは、物体３０（物体３０Ａ〜物体３０Ｂ）における反射点に相当する点３２（例えば、点３２１〜点３２１０）の各々の観測情報を得る。なお、物体３０の位置、物体３０の数、点３２の数、および、点３２の位置は、一例であり、図３−１に示す形態に限定されない。
【００４９】
そして、取得部２０Ｃは、観測情報から、これらの点３２（例えば、点３２１〜点３２１０）の各々の位置情報を取得する。
【００５０】
図２に戻り説明を続ける。分類部２０Ｄは、取得部２０Ｃで位置情報を取得した複数の点３２を、物体３０を構成する点群に分類する。
【００５１】
図３−１を用いて説明する。具体的には、分類部２０Ｄは、点３２の各々の位置情報に基づいて、複数の点３２を、物体３０を構成する点群Ｂに分類する。図３−１には、複数の点３２（例えば、点３２１〜点３２１０）を、点３２１〜点３２６の点群Ｂ１と、点３２７〜点３２１０の点群Ｂ２と、に分類した例を示した。
【００５２】
例えば、センサ１０Ｂが二次元ＬＩＤＡＲセンサであったと仮定する。この場合、分類部２０Ｄは、センサ１０Ｂを水平面に沿った二次元平面の円中心とした円の周方向に向かって順に、複数の点３２の各々に番号を付与（順序付け）する。
【００５３】
そして、情報処理装置２０は、付与した番号の順に、点３２の各々について、ひとつ前の点３２と同じ物体３０を構成するか否かを判定する。例えば、分類部２０Ｄは、ひとつ前の点３２の位置情報に示される距離（センサ１０Ｂまでの距離）と、処理対象の点３２の位置情報に示される距離と、の差が閾値以下であると、同じ物体３０を構成すると判定する。そして、分類部２０Ｄは、同じ物体３０と判定されなくなるまで、該周方向に順に点３２を判定する。そして、同じ物体３０を構成すると判定した点３２の群を、１つの物体３０を構成する点群Ｂとして、分類する。
【００５４】
この分類処理によって、図３−１に示す例では、複数の点３２（点３２１〜点３２１０）が、物体３０を構成する１または複数の点群Ｂ（点群Ｂ１〜点群Ｂ２）に分類される。
【００５５】
なお、分類部２０Ｄによる分類方法は、上記方法に限定されない。詳細には、上記では、センサ１０Ｂを二次元平面の円中心とした円の周方向に向かって順に、点３２を順序付けし、分類処理を行った。しかし、点３２の順序付けの方法は、この方法に限定されない。
【００５６】
また、同じ物体３０を構成するか否かの判定基準は、上記基準に限定されない。例えば、分類部２０Ｄは、センサ１０Ｂを基準とする点３２の相対位置を示す位置座標や、点３２の絶対位置を、判定基準に用いてもよい。また、分類部２０Ｄは、同じ物体３０を構成すると判定した複数の点３２から、次に判定する対象の点３２までの距離が閾値以下であるか否かを判別することで、同じ物体３０を構成すると判定してもよい。また、分類部２０Ｄは、点３２の観測情報に含まれる光の反射強度を用いて、同じ物体３０を構成するか否かを判定してもよい。
【００５７】
図２に戻り説明を続ける。検出部２０Ｅは、第１物体を構成する点群Ｂの端点を検出する。
【００５８】
第１物体は、分類部２０Ｄで分類された物体３０の内の、基準点Ｓを特定する対象の物体３０である。なお、本実施の形態では、分類部２０Ｄで分類された物体３０の内、該第１物体以外の物体３０を、第２物体と称して説明する。
【００５９】
例えば、検出部２０Ｅは、分類部２０Ｄで分類された物体３０の内の１つを、基準点Ｓを特定する対象の物体３０（以下、第１物体３０Ａと称する）として特定する。そして、検出部２０Ｅは、分類部２０Ｄで分類された物体３０の内、特定した該第１物体３０Ａ以外の物体３０を、第２物体（以下、第２物体３０Ｂと称する）とする。
【００６０】
なお、検出部２０Ｅは、分類部２０Ｄで分類された物体３０を、１つずつ、順次、第１物体３０Ａとして特定し、端点の検出処理を行ってもよい。このとき、第１物体３０Ａとして特定した１つの物体３０以外の物体３０については、第２物体３０Ｂとして扱い、後述する処理を行えばよい。
【００６１】
図３−１を用いて説明する。例えば、検出部２０Ｅは、第１物体３０Ａの点群Ｂ１を構成する点３２（点３２１〜点３２６）から、端点Ｅを検出する。
【００６２】
端点Ｅとは、第１物体３０Ａの点群Ｂ１を構成する複数の点３２（点３２１〜点３２６）の内、所定方向の両端部に位置する点である。
【００６３】
端点Ｅの検出に用いる所定方向は、例えば、センサ１０Ｂの走査方向である。例えば、センサ１０Ｂの走査方向が、水平方向（図３−１中、走査方向Ｑ参照）であったと仮定する。水平方向は、鉛直方向（矢印Ｚ方向）に直交する二次元平面（ＸＹ平面））に沿った方向である。この二次元平面は、具体的には、鉛直方向（矢印Ｚ方向）に対して直交する、互いに直交するＸ方向とＹ方向とによって構成される平面である。この場合、検出部２０Ｅは、第１物体３０Ａの点群Ｂ１を構成する複数の点３２（点３２１〜点３２６）の内、センサ１０Ｂの走査方向Ｑの両端部に位置する点３２（点３２１と点３２６）を、端点Ｅとして検出する。
【００６４】
なお、センサ１０Ｂの走査方向Ｑが、鉛直方向である場合がある。この場合、検出部２０Ｅは、第１物体３０Ａの点群Ｂ１を構成する複数の点３２の内、センサ１０Ｂの走査方向Ｑである鉛直方向の両端部に位置する点３２を、端点Ｅとして検出すればよい。また、センサ１０Ｂの走査方向が、複数の走査方向（鉛直方向、水平方向、これらの方向に交差する方向）である場合がある。この場合、検出部２０Ｅは、第１物体３０Ａの点群Ｂ１を構成する複数の点３２の内、センサ１０Ｂの複数の走査方向Ｑの各々における、両端部に位置する点３２の各々を、端点Ｅとして検出すればよい。
【００６５】
このため、検出部２０Ｅが、第１物体３０Ａに対して検出する端点Ｅの数は、２つに限定されない。例えば、検出部２０Ｅは、３つ以上の端点Ｅを検出してもよい。
【００６６】
なお、端点Ｅの検出に用いる所定方向は、センサ１０Ｂの走査方向Ｑに限定されない。例えば、第１物体３０Ａの点群Ｂ１を構成する複数の点３２（点３２１〜点３２６）の分布方向を、該所定方向として用いてもよい。
【００６７】
この場合、検出部２０Ｅは、第１物体３０Ａの点群Ｂ１を構成する複数の点３２（点３２１〜点３２６）の内、該点群Ｂ１を構成する複数の点３２の分布方向の両端部に位置する点３２（例えば、点３２１と点３２６）を、端点Ｅとして検出すればよい。
【００６８】
図２に戻り説明を続ける。設定部２０Ｆは、端点Ｅの近傍領域を設定する。近傍領域とは、端点Ｅから所定範囲の領域である。例えば、近傍領域は、第１面または第２面に、センサ１０Ｂを中心として、第１物体３０Ａおよび第２物体３０Ｂを射影した場合の、端点Ｅの近傍の領域であってもよい。
【００６９】
図３−２は、第１面Ｐ１の説明図である。第１面Ｐ１は、点３２を検出するセンサ１０Ｂの走査方向Ｑに沿った面である。詳細には、第１面Ｐ１は、センサ１０Ｂを円中心とし、走査方向Ｑに沿って３６０°回転することで描かれる円Ｃを断面とした円柱Ｃ’の、外周の曲面に沿った面である。なお、この外周は、円柱の曲面の部分を表す。
【００７０】
図３−３は、第２面Ｐ２の説明図である。第２面Ｐ２は、センサ１０Ｂの光出射面１０Ｂ’に平行な面である。例えば、センサ１０Ｂは、移動体１０の進行方向Ｘに直交する面を、光出射面１０Ｂ’としている。第２面Ｐ２は、この光出射面１０Ｂ’に平行な、二次元平面である。
【００７１】
図４は、近傍領域４０の設定の説明図であり、図３−１の状態を鉛直上方向から見下ろした上面図である。本実施の形態では、設定部２０Ｆは、基準直線Ｆから、第１物体３０Ａの外側に向かって所定角度θの範囲を、近傍領域４０として設定する。
【００７２】
基準直線Ｆとは、移動体１０と端点Ｅ（図４では点３２６）とを通る直線である。具体体的には、基準直線Ｆは、移動体１０に搭載されたセンサ１０Ｂの、光受光面と、端点Ｅと、を通る直線である。
【００７３】
第１物体３０Ａの外側とは、第１物体３０Ａの端点Ｅ（図４では点３２６）に対して、第１物体３０Ａの点群Ｂ１を構成する複数の点３２が存在しない側を示す。
【００７４】
このため、近傍領域４０は、センサ１０Ｂを中心とした、センサ１０Ｂと端点Ｅ（点３２６）とを通る基準直線Ｆと、該基準直線Ｆから第１物体３０Ａの外側に向かって所定角度θを示す直線Ｆ’と、によって囲まれた領域である。
【００７５】
なお、近傍領域４０は、基準直線Ｆから、第１物体３０Ａの外側に向かって、水平方向および鉛直方向の少なくとも一方に、所定角度θの領域であればよい。
【００７６】
具体的には、近傍領域４０は、第１物体３０Ａの外側に向かって、センサ１０Ｂの走査方向Ｑに、所定角度θの領域であればよい。
【００７７】
このため、センサ１０Ｂの走査方向Ｑが水平方向である場合には、近傍領域４０は、基準直線Ｆから第１物体３０Ａの外側に向かって水平方向に所定角度θの領域であればよい。また、センサ１０Ｂの走査方向Ｑが鉛直方向である場合には、近傍領域４０は、基準直線Ｆから第１物体３０Ａの外側に向かって、鉛直方向に所定角度θの領域であればよい。
【００７８】
なお、センサ１０Ｂの走査方向Ｑが複数の方向である場合には、近傍領域４０は、基準直線Ｆから第１物体３０Ａの外側に向かって、該複数方向の各々の方向に所定角度θの領域であればよい。例えば、近傍領域４０は、複数の走査方向Ｑの各々に沿った第１面の各々、または上記第２面における、センサ１０Ｂと端点Ｅとを通る基準直線Ｆと、該基準直線Ｆから第１物体３０Ａの外側に向かって所定角度θを示す直線Ｆ’と、によって囲まれた領域であってもよい。
【００７９】
図５は、近傍領域４０の詳細な説明図である。所定角度θは、０より大きい角度であればよい。
【００８０】
なお、図５（Ａ）に示すように、所定角度θは、センサ１０Ｂによる点３２の検出限界を示す角度α以上であることが好ましい。センサ１０Ｂの検出限界を示す角度αは、図５（Ｂ）に示すように、センサ１０Ｂが点３２を検出可能な最小角度を示す。
【００８１】
また、所定角度θは、センサ１０Ｂの走査方向Ｑにおける、第１物体３０Ａのサイズを示す角度以下であることが好ましい。具体的には、図５（Ａ）に示すように、センサ１０Ｂの走査方向Ｑにおける、第１物体３０Ａのサイズを示す角度は、角度βで表される。角度βは、センサ１０Ｂと、第１物体３０Ａにおける走査方向Ｑの両端部（２つの端点Ｅ（点３２１、点３２６）の各々と、を結ぶ２つの直線の成す角度である。
【００８２】
すなわち、設定部２０Ｆは、端点Ｅを特定した第１物体３０Ａのサイズに応じた、所定角度θを導出する。
【００８３】
具体的には、まず、設定部２０Ｆは、端点Ｅを特定した第１物体３０Ａのサイズを示す角度βを導出する。設定部２０Ｆは、第１物体３０Ａを示す点群Ｂ１における、検出部２０Ｅによって検出された走査方向Ｑの両端部の点３２を示す一対の端点Ｅの位置情報を用いて、第１物体３０Ａのサイズを示す角度βを導出すればよい。そして、設定部２０Ｆは、センサ１０Ｂの検出限界を示す角度α以上で、且つ、第１物体３０Ａのサイズを示す角度β以下の、所定角度θを導出する。なお、設定部２０Ｆは、あらかじめ設定した検出対象とする第１物体３０Ａのサイズから、角度βを導出してもよい。例えば、他の車両を検出対象とする場合、設定部２０Ｆは、一般的な車両のサイズをあらかじめ設定し、そのサイズから導出される角度βを用いればよい。
【００８４】
なお、上述したように、検出部２０Ｅは、１つの第１物体３０Ａに対して、複数の端点Ｅを検出する。このため、設定部２０Ｆは、検出した端点Ｅごとに、第１物体３０Ａのサイズに応じた所定角度θを導出する。
【００８５】
そして、設定部２０Ｆは、第１物体３０Ａの端点Ｅごとに、基準直線Ｆから第１物体３０Ａの外側に向かって所定角度θの領域を、近傍領域４０として設定する。
【００８６】
すなわち、設定部２０Ｆは、センサ１０Ｂによる点３２の検出限界を示す角度α以上で、且つ、センサ１０Ｂの走査方向Ｑにおける第１物体３０Ａのサイズを示す角度β以下の、所定角度θの範囲を、近傍領域４０として端点Ｅごとに設定する。
【００８７】
なお、設定部２０Ｆは、第１物体３０Ａのサイズを示す角度β以下で、且つ、センサ１０Ｂによる点３２の検出限界を示す角度αのＮ倍（Ｎは１以上の整数）の所定角度θの範囲を、近傍領域４０として、端点Ｅごとに設定してもよい。
【００８８】
なお、設定部２０Ｆは、更に限定した領域を、近傍領域４０として設定してもよい。設定部２０Ｆは、例えば、複数の走査方向Ｑの各々に沿った第１面の各々、または上記第２面における、センサ１０Ｂと端点Ｅとを通る基準直線Ｆから、該二次元平面に射影した第１物体３０Ａの外側に向かって、所定角度θの領域の各々を更に限定した領域を、近傍領域４０として設定してもよい。図５（Ｃ）を用いて説明する。設定部２０Ｆは、基準直線Ｆから第１物体３０Ａの外側に所定角度θの範囲における、情報処理装置２０からの距離が第１範囲４２内の領域、および、端点Ｅからの距離が第２範囲４４内の領域、の少なくとも一方と重複する領域を、近傍領域４０として設定してもよい。
【００８９】
第１範囲４２は、基準直線Ｆから第１物体３０Ａの外側に向かって所定角度θの範囲における、情報処理装置２０からの距離が距離４２Ｂ以上で且つ、該距離４２Ｂより大きい距離４２Ａ以下の範囲である。なお、情報処理装置２０からの距離とは、詳細には、センサ１０Ｂからの距離を示す。
【００９０】
距離４２Ｂは、０より大きい値であり、且つ、センサ１０Ｂから端点Ｅ（点３２６）までの距離未満の値であればよい。距離４２Ａは、センサ１０Ｂから端点Ｅ（点３２６）までの距離より大きく、且つ、センサ１０Ｂの検出可能な最大距離以下の値であればよい。
【００９１】
第２範囲４４は、端点Ｅ（点３２６）を中心とした、特定半径の円内の範囲である。この特定半径は、０より大きく、且つ、予め定めた値以下であればよい。この特定半径の最大値としては、例えば、上記角度βあるいは角度αおよび該角度αのＮ倍の角度より、センサ１０Ｂからみた円の角度が小さくなるような値を予め定めればよい。
【００９２】
なお、設定部２０Ｆは、情報処理装置２０と端点Ｅとの距離が大きいほど広い、第１範囲４２および第２範囲４４を設定することが好ましい。詳細には、設定部２０Ｆは、センサ１０Ｂと端点Ｅとの距離が大きいほど広い、第１範囲４２および第２範囲４４を設定することが好ましい。
【００９３】
図２に戻り、説明を続ける。次に、特定部２０Ｇについて説明する。特定部２０Ｇは、端点Ｅの近傍領域４０に、情報処理装置２０からの距離が該端点Ｅより遠い第２物体３０Ｂが存在する場合、該端点Ｅを第１物体３０Ａの基準点Ｓとして特定する。詳細には、特定部２０Ｇは、端点Ｅの近傍領域４０に、端点Ｅより情報処理装置２０からの距離が遠い、第２物体３０Ｂを構成する点群Ｂ２の少なくとも一部が存在する場合、端点Ｅを第１物体３０Ａの基準点Ｓとして特定する。
【００９４】
図４を用いて説明する。例えば、検出部２０Ｅが、第１物体３０Ａの点３２６および点３２１の各々を、端点Ｅとして検出したと仮定する。そして、設定部２０Ｆが、端点Ｅとして検出された点３２６に対して、近傍領域４０を設定したと仮定する。また、設定部２０Ｆは、端点Ｅとして検出された点３２１についても、近傍領域４０として近傍領域４０’を設定したと仮定する。
【００９５】
この場合、特定部２０Ｇは、第１物体３０Ａについて検出された端点Ｅ（点３２６、点３２１）の各々について、下記処理を行う。
【００９６】
例えば、特定部２０Ｇは、端点Ｅ（点３２６）について設定された近傍領域４０に、情報処理装置２０からの距離が該端点Ｅ（点３２６）より遠い第２物体３０Ｂが存在するか否かを判断する。例えば、まず、特定部２０Ｇは、端点Ｅ（点３２６）の位置情報に示される、情報処理装置２０（センサ１０Ｂ）から該端点Ｅ（点３２６）までの距離を読取る。また、特定部２０Ｇは、第２物体３０Ｂの点群Ｂ２を構成する複数の点３２の内、該端点Ｅ（点３２６）の近傍領域４０内に存在する点３２を特定する。そして、特定部２０Ｇは、特定した第２物体３０Ｂの点３２の各々について、位置情報によって示される、該点３２の各々のセンサ１０Ｂからの距離を読取る。特定部２０Ｇは、該近傍領域４０内の該第２物体３０Ｂの点３２に、センサ１０Ｂからの距離が、センサ１０Ｂと端点Ｅ（点３２６）との距離より大きい点３２が含まれるか否かを判断する。そして、含まれる場合、特定部２０Ｇは、端点Ｅ（点３２６）について設定された近傍領域４０に、情報処理装置２０からの距離が該端点Ｅ（点３２６）より遠い第２物体３０Ｂが存在すると判断する。
【００９７】
そして、特定部２０Ｇは、該端点Ｅ（点３２６）の近傍領域４０に、情報処理装置２０からの距離が該端点Ｅより遠い第２物体３０Ｂが存在すると判断した場合、該端点Ｅを第１物体３０Ａの基準点Ｓとして特定する。
【００９８】
ここで、特定部２０Ｇは、第１物体３０Ａについて検出された端点Ｅ（点３２６、点３２１）の各々について、上記処理を行う。このため、複数の端点Ｅが、基準点Ｓとして特定される場合がある。
【００９９】
特定部２０Ｇは、複数の基準点Ｓを特定してもよいし、複数の基準点Ｓの内の１つを、最終的な基準点Ｓとして特定してもよい。
【０１００】
例えば、特定部２０Ｇは、検出部２０Ｅによって検出された複数の端点Ｅが基準点Ｓとして特定可能である場合、特定に用いた近傍領域４０の範囲が最も狭い端点Ｅを、１つの基準点Ｓとして特定すればよい。
【０１０１】
例えば、図４に示すように、第１物体３０Ａの端点Ｅ（点３２６）の近傍領域４０内に、該端点Ｅ（点３２６）よりセンサ１０Ｂからの距離が遠い、第２物体３０Ｂの点３２７が存在したと仮定する。また、第１物体３０Ａの他の端点Ｅ（点３２１）の近傍領域４０’内に、該端点Ｅ（点３２１）よりセンサ１０Ｂからの距離が遠い、第２物体３０Ｂの点３２１１が存在したと仮定する。この場合、特定部２０Ｇは、これらの２つの端点Ｅ（点３２１、点３２６）を、基準点Ｓとして特定可能である。
【０１０２】
なお、端点Ｅ（点３２６）の近傍領域４０は、端点Ｅ（点３２６）の近傍領域４０’より狭い領域であったと仮定する。この場合、特定部２０Ｇは、より狭い近傍領域４０の設定された端点Ｅ（点３２６）を、１つの基準点Ｓとして特定すればよい。
【０１０３】
なお、端点Ｅについて設定された近傍領域４０に、情報処理装置２０からの距離が該端点Ｅより遠い第２物体３０Ｂが存在しない場合には、特定部２０Ｇは、該端点Ｅを基準点Ｓとして特定しない。
【０１０４】
図２に戻り説明を続ける。次に、出力制御部２０Ｈについて説明する。出力制御部２０Ｈは、物体３０の基準点Ｓを示す出力情報を出力する。
【０１０５】
出力情報は、物体３０の基準点Ｓを示す情報を少なくとも含む。例えば、出力情報は、物体３０ごとに特定された基準点Ｓの位置情報を含む。なお、出力情報は、基準点Ｓに基づいて導出された、物体３０の移動方向、物体３０の移動距離、物体３０の移動速度、物体３０の形状、および物体３０位置、の少なくとも１つを更に含む情報であってもよい。
【０１０６】
この場合、出力制御部２０Ｈは、物体３０ごとに算出された基準点Ｓの位置情報と、物体３０に対応する点群Ｂを構成する点３２の位置情報と、に基づいて、公知の方法を用いて、物体３０ごとに、移動方向、移動距離、移動速度、形状、および位置、の少なくとも１つを導出すればよい。
【０１０７】
例えば、出力制御部２０Ｈは、センサ１０Ｂによって異なるタイミングで取得された点３２に基づいて特定された基準点Ｓを用いて、基準点Ｓの位置の変位や、変位時間などを用いて、物体３０ごとに、移動方向や、移動速度、および移動距離などを導出する。
【０１０８】
また、例えば、出力制御部２０Ｈは、物体３０を構成する点群Ｂの各々を、予め定めた物体３０の形状モデルにあてはめることで、物体３０の形状を導出すればよい。
【０１０９】
また、例えば、出力制御部２０Ｈは、物体３０を構成する点群Ｂにあてはめた形状モデルを基準点Ｓに合わせることで、物体３０の位置を導出してもよい。また、１つの物体３０について複数の基準点Ｓが特定可能である場合、出力制御部２０Ｈは、複数の基準点Ｓの中心に相当する位置を、該物体３０の位置として導出してもよい。
【０１１０】
なお、物体３０の位置は、世界座標、移動体１０に対する相対座標、直交座標、極座標、の何れで表してもよい。
【０１１１】
また、出力情報は、更に他の情報を含んでいても良い。
【０１１２】
そして、出力制御部２０Ｈは、出力情報を、出力部１０Ａ、動力制御部１０Ｇ、および記憶部２０Ｂの少なくとも１つへ出力する。
【０１１３】
例えば、出力制御部２０Ｈは、出力情報を、出力部１０Ａへ出力する。例えば、出力情報を受付けると、出力部１０Ａの通信部１０Ｄは、外部装置などに、出力情報を送信する。また、例えば、出力部１０Ａのディスプレイ１０Ｅは、出力情報を表示する。また、例えば、出力部１０Ａのスピーカ１０Ｆが、出力情報に応じた音を出力する。出力情報に応じた音は、出力情報を示す音声であってもよいし、出力情報に応じた警告音であってもよい。
【０１１４】
また、例えば、出力制御部２０Ｈは、出力情報を、動力制御部１０Ｇへ出力する。上述したように、動力制御部１０Ｇは、移動体１０の動力部１０Ｈを制御する。出力情報を受付けた動力制御部１０Ｇは、出力情報や、センサ１０Ｂから得られた情報などに基づいて、周辺の状況を判断し、アクセル量、ブレーキ量、操舵角などの制御を行う。例えば、動力制御部１０Ｇは、障害物を避けて現在走行中の車線を保ち、かつ前方車両との車間距離を所定距離以上保つように車両の制御を行う。
【０１１５】
なお、出力制御部２０Ｈは、出力情報を記憶部２０Ｂへ記憶してもよい。また、出力制御部２０Ｈは、出力情報を、他の処理機能部（例えば、衝突判定や運動予測などを行う機能）に対して出力してもよい。
【０１１６】
次に、本実施の形態の情報処理装置２０が実行する、情報処理の手順の一例を説明する。図６は、本実施の形態の情報処理装置２０が実行する、情報処理の手順の一例を示す、フローチャートである。
【０１１７】
まず、取得部２０Ｃが、移動体１０の周辺の複数の点３２の各々の位置情報を取得する（ステップＳ１００）。
【０１１８】
次に、分類部２０Ｄが、ステップＳ１００で位置情報を取得した複数の点３２を、物体３０を構成する点群Ｂに分類する（ステップＳ１０２）。
【０１１９】
次に、検出部２０Ｅが、物体３０の内の第１物体３０Ａについて、第１物体３０Ａの端点Ｅを検出する（ステップＳ１０４）。
【０１２０】
次に、設定部２０Ｆが、該第１物体３０Ａの端点Ｅに対する近傍領域４０を設定する（ステップＳ１０６）。
【０１２１】
次に、特定部２０Ｇは、ステップＳ１０６で設定した近傍領域４０に、ステップＳ１０４で検出した第１物体３０Ａの端点Ｅより遠い、第２物体３０Ｂが存在するか否かを判断する（ステップＳ１０８）。ステップＳ１０８で否定判断すると（ステップＳ１０８：Ｎｏ）、本ルーチンを終了する。一方、第２物体３０Ｂが存在すると判断すると（ステップＳ１０８：Ｙｅｓ）、ステップＳ１１０へ進む。
【０１２２】
ステップＳ１１０では、特定部２０Ｇは、ステップＳ１０４で検出した端点Ｅを、第１物体３０Ａの基準点Ｓとして特定する（ステップＳ１１０）。
【０１２３】
次に、出力制御部２０Ｈが、ステップＳ１１０で特定した基準点Ｓに関する出力情報を生成する（ステップＳ１１２）。次に、出力制御部２０Ｈは、ステップＳ１１２で生成した出力情報を出力する（ステップＳ１１４）。そして、本ルーチンを終了する。
【０１２４】
以上説明したように、本実施の形態の情報処理装置２０は、検出部２０Ｅと、特定部２０Ｇと、を備える。検出部２０Ｅは、第１物体３０Ａを構成する点群Ｂの端点Ｅを検出する。特定部２０Ｇは、端点Ｅの近傍領域４０に、情報処理装置２０からの距離が端点Ｅより遠い第２物体３０Ｂが存在する場合、該端点Ｅを第１物体３０Ａの基準点Ｓとして特定する。
【０１２５】
ここで、従来では、単に、他の物体に遮蔽されていない端点を、基準点として用いていた。このため、従来では、第１物体３０Ａの実際の端部付近の点３２が検出されておらず、且つ、該端部付近以外の検出された点３２が他の物体によって遮蔽されていない場合、物体の真の端点Ｅが検出されなかった。このため、従来技術では、結果的に、基準点Ｓの特定精度が低下する場合があった。
【０１２６】
一方、本実施の形態の情報処理装置２０は、第１物体３０Ａの端点Ｅの近傍領域４０に、該端点Ｅより遠い位置に存在する他の物体３０（第２物体３０Ｂ）が存在する場合に、該端点Ｅを第１物体３０Ａの基準点Ｓとして特定する。
【０１２７】
端点Ｅの近傍領域４０に、第１物体３０Ａ以外の他の物体３０である第２物体３０Ｂが存在する場合、該端点Ｅは、第１物体３０Ａの真の端点Ｅである可能性が高い。このため、本実施の形態の情報処理装置２０では、実際の第１物体３０Ａの端部付近の点３２が取得されていない等の要因により、誤った端点Ｅとされた可能性の高い点３２を除外し、真の端点Ｅである可能性の高い点３２を、基準点Ｓとして特定することができる。
【０１２８】
従って、本実施の形態の移動体１０は、物体３０の基準点Ｓを精度良く特定することができる。
【０１２９】
（第２の実施の形態）
本実施の形態では、特定部２０Ｇが特定した基準点Ｓを補正する形態を説明する。
【０１３０】
図１は、本実施の形態の移動体１１の一例を示す図である。移動体１１は、出力部１０Ａと、センサ１０Ｂと、入力装置１０Ｃと、動力制御部１０Ｇと、動力部１０Ｈと、情報処理装置２２と、を備える。移動体１１は、情報処理装置２０に代えて情報処理装置２２を備えた点以外は、第１の実施の形態の移動体１０と同様である。
【０１３１】
図７は、情報処理装置２２の構成の一例を示すブロック図である。
【０１３２】
情報処理装置２２は、処理部２２Ａと、記憶部２０Ｂと、出力部１０Ａと、センサ１０Ｂと、入力装置１０Ｃと、を備える。出力部１０Ａは、上述したように、通信部１０Ｄと、ディスプレイ１０Ｅと、スピーカ１０Ｆと、を含む。
【０１３３】
情報処理装置２２は、処理部２０Ａに代えて処理部２２Ａを備えた点以外は、第１の実施の形態の情報処理装置２０と同様である。
【０１３４】
処理部２２Ａは、取得部２０Ｃと、分類部２０Ｄと、検出部２０Ｅと、設定部２０Ｆと、特定部２０Ｇと、導出部２２Ｊと、補正部２２Ｋと、出力制御部２２Ｈと、を備える。
【０１３５】
取得部２０Ｃ、分類部２０Ｄ、検出部２０Ｅ、設定部２０Ｆ、および特定部２０Ｇは、第１の実施の形態と同様である。すなわち、処理部２２Ａは、第１の実施の形態における処理部２０Ａの機能部に加えて、導出部２２Ｊおよび補正部２２Ｋを更に備え、出力制御部２０Ｈに代えて出力制御部２２Ｈを備えた構成である。
【０１３６】
導出部２２Ｊは、特定部２０Ｇが基準点Ｓの特定に用いた近傍領域４０に基づいて、補正後の基準点Ｓとして設定可能な補正範囲を導出する。
【０１３７】
ここで、特定部２０Ｇが基準点Ｓを特定した第１物体３０Ａを構成する点群Ｂには、実際の第１物体３０Ａにおける検出されるべき点３２が含まれていない場合がある。
【０１３８】
図８は、点３２の一例の説明図である。例えば、センサ１０Ｂから照射されたレーザ光Ｌは、実際の第１物体３０Ａの材質や色や表面形状、センサ１０Ｂと実際の第１物体３０Ａとの位置関係、および検知環境などによって、センサ１０Ｂの方向に反射しない場合や、著しく強度の減衰した反射光となる場合がある。このような場合、実際の第１物体３０Ａの表面の内、良好な検知条件であれば検知されるべき点３２が、センサ１０Ｂによって検知されない場合がある。
【０１３９】
例えば、図８に示すように、実際の第１物体３０Ａの外形３０Ａ’に沿った点には、非検出点３３（非検出点３３１〜３３３）が含まれると仮定する。しかし、検知条件によって、非検出点３３（非検出点３３１〜３３３）が検出されず、第１物体３０Ａの表面の一部に沿った点３２（例えば、点３２１〜点３２６）のみが検出される場合がある。
【０１４０】
この場合、検出された点３２（点３２１〜点３２６）の内の端点Ｅが、第２物体３０Ｂに応じて基準点Ｓとして特定されるため、基準点Ｓの位置を補正することが好ましい場合があった。
【０１４１】
そこで、本実施の形態では、導出部２２Ｊは、特定部２０Ｇが基準点Ｓの特定に用いた近傍領域４０に基づいて、補正後の基準点Ｓとして設定可能な補正範囲を導出する。
【０１４２】
図９は、補正範囲６０の一例の説明図である。補正範囲６０とは、基準点Ｓの位置をずらす対象となる領域を示す。言い換えると、補正範囲６０は、補正後の基準点Ｓの位置としてとりうる範囲を示す。
【０１４３】
例えば、図９（Ａ）に示すように、導出部２２Ｊは、近傍領域４０と第１の円５０との重複領域を、補正範囲６０として設定する。第１の円５０は、補正対象の基準点Ｓと、該基準点Ｓの特定に用いた近傍領域４０の周縁の少なくとも一部と、に内接する円である。近傍領域４０の周縁とは、近傍領域４０の外枠を示す線である。また、第１の円５０は、該近傍領域４０内に納まる円である。すなわち、第１の円５０は、近傍領域４０の一部の領域である。
【０１４４】
具体的には、近傍領域４０が、センサ１０Ｂを中心とした、センサ１０Ｂと端点Ｅ（点３２６）とを通る基準直線Ｆと、該基準直線Ｆから第１物体３０Ａの外側に向かって所定角度θの直線Ｆ’と、によって囲まれた領域であると仮定する。この場合、第１の円５０は、基準直線Ｆと、基準直線Ｆ上の基準点Ｓ（点３２６）と、直線Ｆ’と、に内接する円である。
【０１４５】
なお、導出部２２Ｊは、他の範囲を、補正範囲６０として導出してもよい。
【０１４６】
例えば、図９（Ｂ）に示すように、導出部２２Ｊは、近傍領域４０と、第２の円５２と、の重複領域を、補正範囲６０として導出してもよい。第２の円５２は、基準点Ｓを中心とした第２半径の円である。この第２半径は、上記角度αおよび該角度αのＮ倍の角度以上、且つ、上述の角度β以下の範囲であればよい。
【０１４７】
また、例えば、図９（Ｃ）に示すように、導出部２２Ｊは、近傍領域４０と、第３の円５４と、の重複領域を、補正範囲６０として導出してもよい。第３の円５４は、基準点Ｓを中心とし、該基準点Ｓから第２物体３０Ｂを構成する点３２の各々までの距離を半径とする円である。図９（Ｃ）に示す構成の場合、該半径は、基準点Ｓ（点３２６）と第２物体３０Ｂの点３２７〜点３２９の各々との距離である。図９（Ｃ）には、一例として、基準点Ｓ（点３２６）と第２物体３０Ｂの点３２７との距離を半径とし、基準点Ｓを中心とした、第３の円５４を示した。
【０１４８】
また、例えば、図９（Ｄ）に示すように、導出部２２Ｊは、近傍領域４０と、第１の円５０、第２の円５２、および第３の円５４の少なくとも１つと、の重複領域を、補正範囲６０として導出してもよい。
【０１４９】
図７に戻り説明を続ける。補正部２２Ｋは、特定部２０Ｇが特定した基準点Ｓの位置を、導出部２２Ｊが導出した補正範囲６０内の位置に補正する。
【０１５０】
例えば、補正部２２Ｋは、特定部２０Ｇが特定した基準点Ｓの位置を、導出部２２Ｊが導出した補正範囲６０の中心位置に補正する。
【０１５１】
具体的には、補正範囲６０が、近傍領域４０と第１の円５０との重複領域であったと仮定する（図９（Ａ）参照）。この場合、補正部２２Ｋは、基準点Ｓ（点３２６）の位置を、補正範囲６０である第１の円５０の中心の位置に補正する。
【０１５２】
なお、補正部２２Ｋは、異なるタイミングの各々に応じた複数の補正範囲６０を用いて、基準点Ｓの位置を補正してもよい。異なるタイミングの各々に応じた複数の補正範囲６０とは、センサ１０Ｂによって異なるタイミングで取得された点３２に基づいて特定された、各タイミングの基準点Ｓから導出した補正範囲６０である。
【０１５３】
そして、補正部２２Ｋは、補正後の基準点Ｓの位置情報を、出力制御部２２Ｈへ出力する。
【０１５４】
出力制御部２２Ｈは、特定部２０Ｇで特定された基準点Ｓに代えて、補正部２２Ｋで補正された基準点Ｓを受付け、出力情報の生成に用いる。この点以外は、出力制御部２２Ｈは、第１の実施の形態の出力制御部２０Ｈと同様である。
【０１５５】
なお、出力制御部２２Ｈは、補正後の基準点Ｓの補正に用いた、補正範囲６０を示す情報を更に含む、出力情報を生成してもよい。
【０１５６】
次に、本実施の形態の情報処理装置２２が実行する、情報処理の手順の一例を説明する。図１０は、本実施の形態の情報処理装置２２が実行する、情報処理の手順の一例を示す、フローチャートである。
【０１５７】
情報処理装置２２は、第１の実施の形態の情報処理装置２０におけるステップＳ１００〜ステップＳ１１０（図６参照）と同様にして、ステップＳ２００〜ステップＳ２１０の処理を実行する。
【０１５８】
具体的には、まず、取得部２０Ｃが、移動体１１の周辺の複数の点３２の各々の位置情報を取得する（ステップＳ２００）。次に、分類部２０Ｄが、ステップＳ２００で位置情報を取得した複数の点３２を、物体３０を構成する点群Ｂに分類する（ステップＳ２０２）。次に、検出部２０Ｅが、物体３０の内の第１物体３０Ａについて、第１物体３０Ａの端点Ｅを検出する（ステップＳ２０４）。次に、設定部２０Ｆが、該第１物体３０Ａの端点Ｅに対する近傍領域４０を設定する（ステップＳ２０６）。
【０１５９】
次に、特定部２０Ｇが、ステップＳ２０６で設定した近傍領域４０に、ステップＳ２０４で検出した第１物体３０Ａの端点Ｅより遠い、第２物体３０Ｂが存在するか否かを判断する（ステップＳ２０８）。ステップＳ２０８で否定判断すると（ステップＳ２０８：Ｎｏ）、本ルーチンを終了する。一方、第２物体３０Ｂが存在すると判断すると（ステップＳ２０８：Ｙｅｓ）、ステップＳ２１０へ進む。
【０１６０】
ステップＳ２１０では、特定部２０Ｇは、ステップＳ２０４で検出した端点Ｅを、第１物体３０Ａの基準点Ｓとして特定する（ステップＳ２１０）。
【０１６１】
次に、導出部２２Ｊが、基準点Ｓの補正範囲６０を導出する（ステップＳ２１２）。次に、補正部２２Ｋが、ステップＳ２１０で特定した基準点Ｓの位置を、ステップＳ２１２で導出した補正範囲６０内の位置に補正する（ステップＳ２１４）。
【０１６２】
次に、出力制御部２２Ｈが、ステップＳ２１４で補正された基準点Ｓを用いて、出力情報を生成する（ステップＳ２１６）。そして、出力制御部２２Ｈは、生成した出力情報を出力する（ステップＳ２１８）。そして、本ルーチンを終了する。
【０１６３】
以上説明したように、本実施の形態の情報処理装置２２は、特定部２０Ｇが特定した基準点Ｓの位置を、補正部２２Ｋが補正範囲６０内の位置に補正する。
【０１６４】
従って、本実施の形態の情報処理装置２２は、第１の実施の形態の効果に加えて、更に精度良く、基準点Ｓを特定することができる。
【０１６５】
（ハードウェア構成）
次に、上記実施の形態の情報処理装置２０、および情報処理装置２２のハードウェア構成の一例を説明する。図１１は、上記実施の形態の情報処理装置２０、および情報処理装置２２のハードウェア構成図の一例を示す図である。
【０１６６】
上記実施の形態の情報処理装置２０、および情報処理装置２２は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）８６などの制御装置と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）８８やＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９０やＨＤＤ（ハードディスクドライブ）９２などの記憶装置と、各種機器とのインターフェースであるＩ／Ｆ部８２と、出力情報などの各種情報を出力する出力部８０と、ユーザによる操作を受付ける入力部９４と、各部を接続するバス９６とを備えており、通常のコンピュータを利用したハードウェア構成となっている。
【０１６７】
上記実施の形態の情報処理装置２０、および情報処理装置２２では、ＣＰＵ８６が、ＲＯＭ８８からプログラムをＲＡＭ９０上に読み出して実行することにより、上記各機能がコンピュータ上で実現される。
【０１６８】
なお、上記実施の形態の情報処理装置２０、および情報処理装置２２で実行される上記各処理を実行するためのプログラムは、ＨＤＤ９２に記憶されていてもよい。また、上記実施の形態の情報処理装置２０、および情報処理装置２２で実行される上記各処理を実行するためのプログラムは、ＲＯＭ８８に予め組み込まれて提供されていてもよい。
【０１６９】
また、上記実施の形態の情報処理装置２０、および情報処理装置２２で実行される上記処理を実行するためのプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、ＣＤ−Ｒ、メモリカード、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、フレキシブルディスク（ＦＤ）等のコンピュータで読み取り可能な記憶媒体に記憶されてコンピュータプログラムプロダクトとして提供されるようにしてもよい。また、上記実施の形態の情報処理装置２０、および情報処理装置２２で実行される上記処理を実行するためのプログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するようにしてもよい。また、上記実施の形態の情報処理装置２０、および情報処理装置２２で実行される上記処理を実行するためのプログラムを、インターネットなどのネットワーク経由で提供または配布するようにしてもよい。
【０１７０】
なお、上記には、本発明の実施の形態を説明したが、上記実施の形態は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。この実施の形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１７１】
１０、１１  移動体
１０Ｂ  センサ
１０Ｇ  動力制御部
１０Ｈ  動力部
２０、２２  情報処理装置
２０Ｃ  取得部
２０Ｄ  分類部
２０Ｅ  検出部
２０Ｆ  設定部
２０Ｇ  特定部
２０Ｈ、２２Ｈ  出力制御部
２２Ｊ  導出部
２２Ｋ  補正部
【図１】
2019002839.tif 000003
【図２】
2019002839.tif 000004
【図３−１】
2019002839.tif 000005
【図３−２】
2019002839.tif 000006
【図３−３】
2019002839.tif 000007
【図４】
2019002839.tif 000008
【図５】
2019002839.tif 000009
【図６】
2019002839.tif 000010
【図７】
2019002839.tif 000011
【図８】
2019002839.tif 000012
【図９】
2019002839.tif 000013
【図１０】
2019002839.tif 000014
【図１１】
2019002839.tif 000015