(57)【要約】【課題】ノイズを含む３次元データからであっても、精度よく物体を検出することができる柱状物体認識方法などを提供する。【解決手段】柱状物体認識方法であって、物体の表面の複数箇所までのＺ軸方向の距離を含む３次元距離を計測するセンサ１２０から当該３次元距離を示す距離データを取得し（Ｓ１１１）、距離データから得られる複数の３次元点のそれぞれにおいて、Ｘ軸方向の第１範囲内にある他の３次元点に対して第１距離以上の奥行き差がある３次元点を、エッジ候補点として抽出し（Ｓ１１２）、複数のエッジ候補点をＸ−Ｚ平面上に投影し（Ｓ１１３）、Ｘ−Ｚ平面が均等に分割された複数の分割領域のうちで、投影した複数のエッジ候補点を最も多く含む最多点領域を特定し（Ｓ１１４）、最多点領域内の所定の基準点から所定範囲の領域である対象領域に含まれる複数の３次元点のＺ軸方向およびＸ軸方向に係る２次元座標の重心点を算出する（Ｓ１１５）。【選択図】図８
2017201493.tif 000002
【特許請求の範囲】
【請求項１】
柱状物体認識装置により行われる柱状物体認識方法であって、
柱状物体を含む物体の表面の複数箇所までの奥行き方向の距離を含む３次元距離を計測するセンサから当該３次元距離を示す距離データを取得し、
取得した前記距離データから得られる前記複数箇所の３次元座標で示される複数の３次元点のそれぞれにおいて、前記奥行き方向に垂直な第１方向の第１範囲内にある他の３次元点に対して第１距離以上の奥行き差がある３次元点を、エッジ候補点として抽出し、
抽出した複数の前記エッジ候補点を前記奥行き方向および前記第１方向により規定される２次元平面上に投影し、
前記２次元平面が均等に分割された複数の分割領域のうちで、投影した前記複数のエッジ候補点を最も多く含む最多点領域を特定し、
特定した前記最多点領域内の所定の基準点から所定範囲の領域である対象領域に含まれる複数の前記３次元点の少なくとも一部の前記奥行き方向および前記第１方向に係る２次元座標の重心点を算出する
柱状物体認識方法。
【請求項２】
前記抽出では、前記複数の３次元点において、前記第１方向の一方側の前記第１範囲内にある他の３次元点に対して前記第１距離以上手前側にあり、かつ、前記第１方向の他方側の前記第１範囲内にある他の３次元点に対して奥行き差の絶対値が第２距離以下である３次元点を前記エッジ候補点として抽出する
請求項１に記載の柱状物体認識方法。
【請求項３】
前記算出では、前記対象領域に含まれる前記複数の３次元点の全ての前記奥行き方向および前記第１方向に係る２次元座標の重心点を算出する
請求項１または２に記載の柱状物体認識方法。
【請求項４】
前記算出では、前記対象領域に含まれる前記複数の３次元点のうちの前記抽出により抽出された前記複数のエッジ候補点の前記奥行き方向および前記第１方向の座標の重心点を算出する
請求項１または２に記載の柱状物体認識方法。
【請求項５】
さらに、
（ｉ）前記複数のエッジ候補点のうち、前記奥行き方向および前記第１方向のそれぞれにおいて前記基準点から第２範囲内にあるエッジ候補点の１つを所定のクラスタの構成点として登録する第１登録を行い、（ｉｉ）前記所定のクラスタに新たに登録した前記エッジ候補点を新たな基準点として、当該新たな基準点よりも前記奥行き方向および前記第１方向に垂直な第２方向の一方側の第３範囲内に位置し、かつ、前記奥行き方向および前記第１方向のそれぞれにおいて、前記第２範囲内にある前記エッジ候補点を前記所定のクラスタの構成点として登録する第２登録を、該当するエッジ候補点がなくなるまで繰り返し行う、クラスタリングを行い、
前記算出では、前記クラスタリングにおいて前記所定のクラスタの構成点として登録された複数の前記エッジ候補点の前記奥行き方向および前記第１方向の座標の重心点を算出する
請求項４に記載の柱状物体認識方法。
【請求項６】
前記抽出では、（ｉ）前記複数の３次元点において、前記第１方向の一方側の前記第１範囲内にある他の３次元点に対して前記第１距離以上手前側にあり、かつ、前記第１方向の他方側の前記第１範囲内にある他の３次元点に対して奥行き差の絶対値が第２距離以下である３次元点を第１のエッジ候補点として抽出し、かつ、（ｉｉ）前記第１方向の他方側の前記第１範囲内にある他の３次元点に対して前記第１距離以上手前側にあり、かつ、前記第１方向の一方側の前記第１範囲内にある他の３次元点に対して奥行き差の絶対値が第２距離以下である３次元点を第２のエッジ候補点として抽出し、
前記特定では、（ｉ）前記複数の分割領域のうちで、投影した前記複数のエッジ候補点のうち複数の前記第１のエッジ候補点を最も多く含む第１最多点領域を特定し、かつ、（ｉｉ）前記複数の分割領域のうちで、投影した前記複数のエッジ候補点のうち複数の前記第２のエッジ候補点を最も多く含む第２最多点領域を特定し、
前記算出では、（ｉ）特定した前記第１最多点領域内の第１の基準点から前記所定範囲の第１対象領域に含まれる複数の前記３次元点の少なくとも一部の前記奥行き方向および前記第１方向の座標の第１重心点を算出し、かつ、（ｉｉ）特定した前記第２最多点領域内の第２の基準点から前記所定範囲の第２対象領域に含まれる複数の前記３次元点の少なくとも一部の前記奥行き方向および前記第１方向の座標の第２重心点を算出し、（ｉｉｉ）前記第１重心点及び前記第２重心点を結ぶ線分と前記第１方向とが為す角度を算出する
請求項１から５のいずれか１項に記載の柱状物体認識方法。
【請求項７】
柱状物体を含む物体の表面の複数箇所までの奥行き方向の距離を含む３次元距離を計測するセンサから当該３次元距離を示す距離データを取得する取得部と、
前記取得部が取得した前記距離データから得られる前記複数箇所の３次元座標で示される複数の３次元点のそれぞれにおいて、前記奥行き方向に垂直な第１方向の第１範囲内にある他の３次元点に対して第１距離以上の奥行き差がある３次元点を、エッジ候補点として抽出する抽出部と、
前記抽出部が抽出した複数の前記エッジ候補点を前記奥行き方向および前記第１方向により規定される２次元平面上に投影する投影部と、
前記２次元平面が均等に分割された複数の分割領域のうちで、前記投影部が投影した前記複数のエッジ候補点を最も多く含む最多点領域を特定する特定部と、
前記特定部が特定した前記最多点領域内の所定の基準点から所定範囲の対象領域に含まれる複数の前記３次元点の少なくとも一部の前記奥行き方向および前記第１方向に係る２次元座標の重心点を算出する算出部と、を備える
柱状物体認識装置。
【請求項８】
柱状物体が含まれる３次元オブジェクトの表面の複数箇所までの３次元距離を計測するセンサと、
請求項７に記載の柱状物体認識装置と、を備える
無人走行車。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、柱状物体認識方法、柱状物体認識装置および無人走行車に関する。
【背景技術】
【０００２】
従来、ステレオ画像（３次元データ）から縦エッジを抽出し、抽出した縦エッジを用いて障害物（物体）を検出する障害物検出装置が開示されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平３−２７４０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１の技術では、３次元画像にノイズが含まれる場合があり、ノイズの影響によって、精度よく物体の位置を検出することができないという課題がある。
【０００５】
そこで、本発明は、ノイズを含む３次元データからであっても、精度よく物体の位置を検出することができる柱状物体認識方法などを提供する。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明の一態様に係る柱状物体認識方法は、柱状物体認識装置により行われる柱状物体認識方法であって、柱状物体を含む物体の表面の複数箇所までの奥行き方向の距離を含む３次元距離を計測するセンサから当該３次元距離を示す距離データを取得し、取得した前記距離データから得られる前記複数箇所の３次元座標で示される複数の３次元点のそれぞれにおいて、前記奥行き方向に垂直な第１方向の第１範囲内にある他の３次元点に対して第１距離以上の奥行き差がある３次元点を、エッジ候補点として抽出し、抽出した複数の前記エッジ候補点を前記奥行き方向および前記第１方向により規定される２次元平面上に投影し、前記２次元平面が均等に分割された複数の分割領域のうちで、投影した前記複数のエッジ候補点を最も多く含む最多点領域を特定し、特定した前記最多点領域内の所定の基準点から所定範囲の領域である対象領域に含まれる複数の前記３次元点の少なくとも一部の前記奥行き方向および前記第１方向に係る２次元座標の重心点を算出する。
【０００７】
このため、奥行き方向および第１方向における座標値が互いに近い位置にあり、かつ、多数のエッジ候補点の塊となっているエッジ候補群の近くに配置されている３次元点群を容易に特定することができる。このため、ノイズを含む３次元データからであっても、奥行き方向および第１方向に垂直な第２方向に延びる柱状物体のエッジの位置を特定することが容易にでき、精度よく柱状物体の位置を検出することができる。
【０００８】
また、前記抽出では、前記複数の３次元点において、前記第１方向の一方側の前記第１範囲内にある他の３次元点に対して前記第１距離以上手前側にあり、かつ、前記第１方向の他方側の前記第１範囲内にある他の３次元点に対して奥行き差の絶対値が第２距離以下である３次元点を前記エッジ候補点として抽出してもよい。
【０００９】
このため、抽出では、第１方向の一方側に物体が存在しない、または、奥側に物体がオフセットして存在する３次元点であって、抽出したエッジ候補点よりも第１方向の他方側に物体の平面が連続している可能性が高い３次元点をエッジ候補点として抽出できる。よって、抽出では、柱状部材の第１方向の一方側の端部に相当する可能性が高い３次元点（エッジ）である可能性が高いエッジ候補点を抽出できる。
【００１０】
また、前記算出では、前記対象領域に含まれる前記複数の３次元点の全ての前記奥行き方向および前記第１方向に係る２次元座標の重心点を算出してもよい。
【００１１】
このため、簡単な処理で柱状物体のエッジの位置を特定することができる。
【００１２】
また、前記算出では、前記対象領域に含まれる前記複数の３次元点のうちの前記抽出により抽出された前記複数のエッジ候補点の前記奥行き方向および前記第１方向の座標の重心点を算出してもよい。
【００１３】
このため、精度よく柱状物体のエッジの位置を特定することができる。
【００１４】
また、さらに、（ｉ）前記複数のエッジ候補点のうち、前記奥行き方向および前記第１方向のそれぞれにおいて前記基準点から第２範囲内にあるエッジ候補点の１つを所定のクラスタの構成点として登録する第１登録を行い、（ｉｉ）前記所定のクラスタに新たに登録した前記エッジ候補点を新たな基準点として、当該新たな基準点よりも前記奥行き方向および前記第１方向に垂直な第２方向の一方側の第３範囲内に位置し、かつ、前記奥行き方向および前記第１方向のそれぞれにおいて、前記第２範囲内にある前記エッジ候補点を前記所定のクラスタの構成点として登録する第２登録を、該当するエッジ候補点がなくなるまで繰り返し行う、クラスタリングを行い、前記算出では、前記クラスタリングにおいて前記所定のクラスタの構成点として登録された複数の前記エッジ候補点の前記奥行き方向および前記第１方向の座標の重心点を算出してもよい。
【００１５】
このため、柱状物体のエッジが検出されることにより得られた３次元点である可能性が高いエッジ候補点を抽出することができる。よって、精度よく柱状物体のエッジの位置を特定することができる。
【００１６】
また、前記抽出では、（ｉ）前記複数の３次元点において、前記第１方向の一方側の前記第１範囲内にある他の３次元点に対して前記第１距離以上手前側にあり、かつ、前記第１方向の他方側の前記第１範囲内にある他の３次元点に対して奥行き差の絶対値が第２距離以下である３次元点を第１のエッジ候補点として抽出し、かつ、（ｉｉ）前記第１方向の他方側の前記第１範囲内にある他の３次元点に対して前記第１距離以上手前側にあり、かつ、前記第１方向の一方側の前記第１範囲内にある他の３次元点に対して奥行き差の絶対値が第２距離以下である３次元点を第２のエッジ候補点として抽出し、前記特定では、（ｉ）前記複数の分割領域のうちで、投影した前記複数のエッジ候補点のうち複数の前記第１のエッジ候補点を最も多く含む第１最多点領域を特定し、かつ、（ｉｉ）前記複数の分割領域のうちで、投影した前記複数のエッジ候補点のうち複数の前記第２のエッジ候補点を最も多く含む第２最多点領域を特定し、前記算出では、（ｉ）特定した前記第１最多点領域内の第１の基準点から前記所定範囲の第１対象領域に含まれる複数の前記３次元点の少なくとも一部の前記奥行き方向および前記第１方向の座標の第１重心点を算出し、かつ、（ｉｉ）特定した前記第２最多点領域内の第２の基準点から前記所定範囲の第２対象領域に含まれる複数の前記３次元点の少なくとも一部の前記奥行き方向および前記第１方向の座標の第２重心点を算出し、（ｉｉｉ）前記第１重心点及び前記第２重心点を結ぶ線分と前記第１方向とが為す角度を算出してもよい。
【００１７】
このため、柱状物体に対する柱状物体認識装置の位置および姿勢を容易に特定することができる。
【００１８】
本発明の一態様に係る無人走行車は、柱状物体が含まれる３次元オブジェクトの表面の複数箇所までの３次元距離を計測するセンサと、柱状物体を含む物体の表面の複数箇所までの奥行き方向の距離を含む３次元距離を計測するセンサから当該３次元距離を示す距離データを取得する取得部と、前記取得部が取得した前記距離データから得られる前記複数箇所の３次元座標で示される複数の３次元点のそれぞれにおいて、前記奥行き方向に垂直な第１方向の第１範囲内にある他の３次元点に対して第１距離以上の奥行き差がある３次元点を、エッジ候補点として抽出する抽出部と、前記抽出部が抽出した複数の前記エッジ候補点を前記奥行き方向および前記第１方向により規定される２次元平面上に投影する投影部と、前記２次元平面が均等に分割された複数の分割領域のうちで、前記投影部が投影した前記複数のエッジ候補点を最も多く含む最多点領域を特定する特定部と、前記特定部が特定した前記最多点領域内の所定の基準点から所定範囲の対象領域に含まれる複数の前記３次元点の少なくとも一部の前記奥行き方向および前記第１方向に係る２次元座標の重心点を算出する算出部と、を備える柱状物体認識装置と、を備える。
【００１９】
このため、ノイズを含む３次元データからであっても、無人走行車に対する、奥行き方向および第１方向に垂直な第２方向に延びる柱状物体のエッジの位置を特定することが容易にでき、精度よく無人走行車に対する柱状物体の位置を検出することができる。
【００２０】
なお、これらの全般的または具体的な態様は、装置、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、装置、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【００２１】
本発明の柱状物体認識方法は、ノイズを含む３次元データからであっても、精度よく物体を検出することができる。
【図面の簡単な説明】
【００２２】
【図１】実施の形態１に係る無人走行車および移載装置を示す斜視図である。
【図２】実施の形態１に係る無人走行車のハードウェア構成を示すブロック図である。
【図３】実施の形態１に係るセンサの機能について説明するための図である。
【図４】実施の形態１に係る柱状物体認識装置の機能構成を示すブロック図である。
【図５】無人走行車の学習モードでの動作を説明するための図である。
【図６】無人走行車の通常モードでの動作を説明するための図である。
【図７】実施の形態１に係る柱状物体認識装置の動作を示すフローチャートである。
【図８】実施の形態１に係るエッジの座標を算出する処理の詳細を示すフローチャートである。
【図９】実施の形態１に係るエッジ候補点の抽出処理の詳細を示すフローチャートである。
【図１０】実施の形態１に係る重心点の算出処理の詳細を示すフローチャートである。
【図１１】距離データから得られる３次元点の各座標を３次元上にプロットした一例を示す図である。
【図１２】図１０に示すエッジ候補点を２次元平面上に投影した結果の一例を示す図である。
【図１３】実施の形態２に係る柱状物体認識装置の機能構成を示すブロック図である。
【図１４】実施の形態２に係るエッジの座標を算出する処理の詳細を示すフローチャートである。
【図１５】実施の形態２に係るクラスタリング処理の詳細を示すフローチャートである。
【図１６】実施の形態２に係る上隣接点の探索処理の詳細を示すフローチャートである。
【図１７】上隣接点の探索処理の概要を説明するための図である。
【図１８】実施の形態２の変形例に係るクラスタリング処理の詳細を示すフローチャートである。
【発明を実施するための形態】
【００２３】
以下に、本発明の実施形態の柱状物体認識方法、柱状物体認識装置および無人走行車について、図面を参照しながら説明する。なお、各図は、模式図であり、必ずしも厳密に図示したものではない。
【００２４】
また、以下で説明する実施の形態は、本発明の一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【００２５】
（実施の形態１）
［１−１．構成］
まず、図１〜図４を用いて、本発明の実施の形態１に係る無人走行車１００の構成の概要を説明する。
【００２６】
図１は、実施の形態１に係る無人走行車および移載装置を示す斜視図である。
【００２７】
無人走行車１００は、２本のフォーク１１０を物体が載置されているパレット２２０の開口に挿入して、物体２３０（例えば荷物）を持ち上げて搬送する台車である。また、無人走行車１００は、移載装置２００に近接する位置まで近づいて、移載装置２００から物体２３０を受け取って搬送する台車である。本実施の形態では移載装置２００は、床面上に配置され、移載装置２００本体を支持する４本の柱状の脚部２１０を有する。
【００２８】
なお、図１は、移載装置２００上にパレット２２０が載置され、パレット２２０のさらに上に物体２３０が載置されている例を示す。
【００２９】
本実施の形態の場合、無人走行車１００は、相互に平行に配置されている２本のフォーク１１０と、２本のフォーク１１０のそれぞれの先端にセンサ１２０とを備えている。また、無人走行車１００は、無人走行車１００が走行する床面と平行を維持したまま、２本のフォーク１１０を上下に移動可能とするマスト１３０を備えていてもよい。また、無人走行車１００は、無人で自律的に走行し荷物を搬送することができる走行車であり、内部に柱状物体認識装置１４０を備えている。
【００３０】
なお、本実施の形態では、センサ１２０が向いている方向（奥行き方向）をＺ軸方向とし、Ｚ軸方向に垂直な方向であって２本のフォーク１１０が並んでいる第１方向（水平方向または左右方向）をＸ軸方向とし、Ｚ軸方向およびＸ軸方向に垂直な第２方向（鉛直方向または上下方向）をＹ軸方向とする。また、Ｚ軸方向では、センサ１２０を基準にセンサ１２０よりも奥側をＺ軸方向プラス側とし、手前側をＺ軸方向マイナス側とする。また、Ｘ軸方向では、センサ１２０から見て左側をＸ軸方向プラス側とし、右側をＸ軸方向マイナス側とする。また、Ｙ軸方向では、センサ１２０から見て上側をＹ軸方向プラス側とし、下側をＹ軸方向マイナス側とする。つまり、図では、矢印が向いている側が各方向のプラス側であり、その反対側が各方向のマイナス側である。
【００３１】
次に、無人走行車１００のハードウェア構成について説明する。
【００３２】
図２は、実施の形態１に係る無人走行車のハードウェア構成を示すブロック図である。
【００３３】
図２に示すように、無人走行車１００は、ハードウェア構成として、センサ１２０と、プロセッサ１４１およびメモリ１４２を有する柱状物体認識装置１４０とを備える。
【００３４】
センサ１２０は、柱状物体が含まれる物体（３次元オブジェクト）の表面の複数箇所までの奥行き方向（Ｚ軸方向）の距離を含む３次元距離を計測するセンサである。センサ１２０は、計測した３次元距離を示す距離データを出力する。
【００３５】
なお、ここで、距離データは、センサ１２０から物体の表面の所定の位置までの距離と、センサ１２０から所定の位置までを結んだ線分がＺ軸方向に対して為す角度とを含むデータであってもよい。つまり、距離データは、センサ１２０から物体の表面の所定の位置までの直線距離と、その方向とを含むデータであってもよい。
【００３６】
また、距離データは、センサ１２０の位置を原点とした場合の、原点から所定の位置までのＸ軸方向、Ｙ軸方向およびＺ軸方向のそれぞれにおける距離（３次元座標）を含むデータであってもよい。なお、３次元座標は、センサ１２０から物体の表面の所定の位置までの距離と、センサ１２０から所定の位置までを結んだ線分がＺ軸方向に対して為す角度とを用いて算出することができる。
【００３７】
センサ１２０は、例えば、カメラの周囲に設けられた発光素子（例えばＬＥＤ）により赤外光を照射し、対象物から反射した反射光が、カメラで観測されるまでの時間を撮像画素ごとに計測することで、対象物まで距離を画素ごとに測定するＴＯＦ（Ｔｉｍｅ  Ｏｆ  Ｆｌｉｇｈｔ）カメラである。
【００３８】
図３は、実施の形態１に係るセンサの機能について説明するための図である。
【００３９】
図３に示すように、センサ１２１は、センサ１２１から見て（Ｚ軸方向プラス側に向かって）、ビーム状の赤外光を、主走査として左から右（Ｘ軸方向マイナス側）に、副走査として上から下（Ｙ軸方向マイナス側）に、予め定められた計測範囲１２３を走査する。そして、センサ１２１は、イメージセンサにより、対象物からの反射光を画素毎に測定することで、センサ１２０から計測範囲１２３にある物体の表面の複数箇所までの３次元距離を計測する。なお、センサ１２２も同様の構成であり、図１に示すように予め定められた計測範囲１２４を走査し、センサ１２２から計測範囲１２４にある物体の表面の複数箇所までの３次元距離を計測する。
【００４０】
つまり、センサ１２０により出力された距離データは、Ｘ軸方向に主走査が行われ、Ｙ軸方向に副走査が行われることによって計測された３次元距離である。つまり、センサ１２０は、Ｙ軸方向の所定の位置において、Ｘ軸方向の位置を異ならせながら、複数回所定の周期で取得した物体の表面までのＺ軸方向における距離を計測する。このため、距離データによって計測された３次元距離は、Ｘ軸方向の複数の位置およびＹ軸方向の複数の位置の組み合わせのそれぞれにおいてＺ軸方向の距離が計測されたデータである。
【００４１】
本実施の形態では、各センサ１２１、１２２の計測範囲１２３、１２４が対象物に対して小さいため、無人走行車１００は、水平方向に並べた２つのセンサ１２１、１２２を備える構成であるとしたが２つのセンサ１２１、１２２を備える構成に限らない。つまり、無人走行車は、センサとして、計測範囲が対象物に対して十分な大きさのセンサを採用した場合には、１つのセンサのみを備える構成としてもよい。また、２つのセンサ１２０は、フォーク１１０の先端のみならず、走行車本体の前面側の左右端にそれぞれ取り付けられても構わない。
【００４２】
なお、センサ１２０は、２つのカメラを備え、２つの二次元画像の視差により実測値を取得するセンサや、レーザー光をスキャンさせてレーザー光の反射光に基づき複数箇所の座標と距離とを測定する測距センサなどであってもよい。
【００４３】
プロセッサ１４１は、メモリ１４２に記憶されたプログラムを実行するプロセッサである。メモリ１４２は、制御プログラムなどを保持する不揮発性の記憶領域である。
【００４４】
図４は、実施の形態１に係る柱状物体認識装置の機能構成を示すブロック図である。
【００４５】
図４に示すように、柱状物体認識装置１４０は、機能構成として、取得部１５１と、抽出部１５２と、投影部１５３と、特定部１５４と、算出部１５５を備える。柱状物体認識装置１４０は、さらに、記憶部１５６を備えていてもよい。取得部１５１、抽出部１５２、投影部１５３、特定部１５４、算出部１５５のそれぞれは、プロセッサ１４１およびメモリ１４２によって実現される。記憶部１５６は、メモリ１４２や図示しないハードディスクドライブなどによって実現される。
【００４６】
取得部１５１は、センサ１２０から３次元距離を示す距離データを取得する。
【００４７】
抽出部１５２は、取得部１５１が取得した距離データから得られる、物体の表面の複数箇所の３次元座標で示される複数の３次元点のうちのエッジ候補点の条件を満たす３次元点をエッジ候補点として抽出する。エッジ候補点の条件を満たす３次元点とは、Ｚ軸方向に垂直な第１方向（Ｘ軸方向）の第１範囲内にある他の３次元点に対して、第１距離以上の奥行き差がある３次元点である。
【００４８】
具体的には、抽出部１５２は、全ての３次元点において、Ｘ軸方向の一方側の第１範囲内にある他の３次元点に対して第１距離以上手前側にあり、かつ、Ｘ軸方向の他方側の第１範囲内にある他の３次元点に対して奥行き差の絶対値が第２距離以下である３次元点をエッジ候補点として抽出する。例えば、抽出部１５２は、Ｘ軸方向プラス側に隣接して取得された３次元点に対して１０ｍｍ以上手前側にあり、かつ、Ｘ軸方向マイナス側に隣接して取得された３次元点に対して奥行き差の絶対値が３ｍｍ以下である３次元点をエッジ候補点として抽出する。このように、第１距離は第２距離よりも長い。
【００４９】
これにより、抽出部１５２は、Ｘ軸方向プラス側に物体が存在せず（または奥側に物体がオフセットして存在する）、かつ、抽出したエッジ候補点よりもＸ軸方向マイナス側に物体の平面が連続している可能性が高い３次元点をエッジ候補点として抽出できる。よって、抽出部１５２は、柱状部材の左端に相当する３次元点（左エッジ）である可能性が高い第１のエッジ候補点を抽出できる。
【００５０】
同様にして、抽出部１５２は、エッジ候補点の条件をＸ軸方向の反対側に設定し直して、全ての３次元点においてエッジ候補点を抽出する。これにより、抽出部１５２は、Ｘ軸方向マイナス側に物体が存在せず（または奥側に物体がオフセットして存在する）、かつ、抽出したエッジ候補点よりもＸ軸方向プラス側に物体の平面が連続しており可能性が高い３次元点をエッジ候補点として抽出できる。つまり、抽出部１５２は、柱状部材の右端に相当する３次元点（右エッジ）である可能性が高い第２のエッジ候補点を抽出できる。
【００５１】
上記のことから、エッジ候補点の条件における第１距離は、３次元点のＸ軸方向の一方側において物体が存在しないまたは奥側に物体がオフセットして存在しているか否かを判定するための距離であるといえる。また、エッジ候補点の条件における第２距離は、３次元点のＸ軸方向の他方側において物体の平面が連続しているか否かを判定するための距離であるといえる。
【００５２】
なお、抽出部１５２は、第１範囲内の他の３次元点として、隣接して取得された３次元点との比較によって上記の条件を満たすか否かを判定しているが、これに限らない。つまり、第１範囲は、隣接している３次元点までの距離に限らずに、１つ飛ばして隣接している３次元点までの距離としてもよいし、２〜１０ｍｍ以内の距離としてもよい。
【００５３】
投影部１５３は、抽出部１５２が抽出した複数のエッジ候補点をＺ軸方向およびＸ軸方向により規定される２次元平面上に投影する。
【００５４】
特定部１５４は、２次元平面が均等に分割された複数の分割領域のうちで、投影部１５３が投影した複数のエッジ候補点を最も多く含む最多点領域を特定する。特定部１５４は、上記の特定を複数の第１のエッジ候補点および複数の第２のエッジ候補点のそれぞれについて行うことで、複数の第１のエッジ候補点を最も多く含む第１最多点領域を特定し、複数の第２のエッジ候補点を最も多く含む第２最多点領域を特定する。つまり、特定部１５４は、複数の分割領域のうちで、投影部１５３が投影した複数のエッジ候補点のうち複数の第１のエッジ候補点を最も多く含む第１最多点領域を特定する。また、特定部１５４は、複数の分割領域のうちで、投影部１５３が投影した複数のエッジ候補点のうち複数の第２のエッジ候補点を最も多く含む第２最多点領域を特定する。
【００５５】
算出部１５５は、特定部１５４が特定した最多点領域内の所定の基準点から所定範囲の領域である対象領域に含まれる複数の３次元点の少なくとも一部のＺ軸方向およびＸ軸方向に係る２次元座標の重心点を算出する。本実施の形態では、算出部１５５は、対象領域に含まれる複数の３次元点の重心点を算出する。なお、算出部１５５は、対象領域に含まれる複数の３次元点のうちの複数のエッジ候補点の重心点を算出してもよい。
【００５６】
算出部１５５は、上記の算出を、第１のエッジ候補点および第２のエッジ候補点のそれぞれについて行うことで、第１最多点領域から特定される第１対象領域に含まれる複数の３次元点の第１重心点を算出し、第２最多点領域から特定される第２対象領域に含まれる複数の３次元点の第２重心点を算出する。
【００５７】
つまり、算出部１５５は、特定した第１最多点領域内の第１の基準点から所定範囲の第１対象領域に含まれる複数の３次元点の少なくとも一部のＺ軸方向およびＸ軸方向の座標の第１重心点を算出する。また、算出部１５５は、特定した第２最多点領域内の第２の基準点から所定範囲の第２対象領域に含まれる複数の３次元点の少なくとも一部のＺ軸方向およびＸ軸方向の座標の第２重心点を算出する。
【００５８】
そして、算出部１５５は、算出した第１重心点および第２重心点を結ぶ線分と、Ｘ軸方向とが為す角度を算出する。また、算出部１５５は、第１重心点および第２重心点の中点の座標を算出してもよい。
【００５９】
記憶部１５６は、算出部１５５により算出された角度を記憶する。記憶部１５６は、算出部１５５により算出された第１重心点および第２重心点の中点の座標を記憶してもよい。
【００６０】
［１−２．動作］
次に、無人走行車１００が備える柱状物体認識装置１４０の動作について、図５〜図１２を用いて説明する。
【００６１】
無人走行車１００は、学習モードおよび通常モードの２つの動作モードで動作する。各動作モードについて、図５および図６を用いて説明する。図５は、無人走行車の学習（教示）モードでの動作を説明するための図である。図６は、無人走行車の通常（自律）モードでの動作を説明するための図である。
【００６２】
学習モードとは、無人走行車１００が所定の位置までの経路を学習するためのモードである。具体的には、学習モードでは、図５に示すように、無人走行車１００は、ユーザが図示しないコントローラで無人走行車１００を所定の位置まで移動させた時の移動経路を記憶する。ここで記憶した移動経路は、通常モード時にＳＬＡＭ（Ｓｉｍｕｌｔａｎｅｏｕｓ  Ｌｏｃａｌｉｚａｔｉｏｎ  ａｎｄ  Ｍａｐｐｉｎｇ）などによって自律的に無人走行車１００が所定の位置まで誘導されるために用いられる。
【００６３】
所定の位置は、例えば、移載装置２００が無人走行車１００に対してＺ軸方向プラス側に距離ｄ１だけ離れた位置である。図５では、所定の位置は、移載装置２００の脚部２１０の手前側左端を左エッジＰ１とし、脚部２１０の手前側右端を右エッジＰ２としたとき、無人走行車１００のセンサ１２０の原点ＯからＺ軸方向に距離ｄ１だけ離れた位置に左エッジＰ１および右エッジＰ２の中点Ｃが位置する位置であるとする。
【００６４】
なお、所定の位置は、学習モードにおいてユーザが無人走行車１００を停止させた位置（学習時停止位置）であり、精度が高い位置ではない。このため、図５に示したように、所定の位置は、原点Ｏと中点Ｃとを結ぶ線分がＺ軸方向に平行である位置に限らずに、Ｚ軸方向に対して傾いている位置であってもよい。
【００６５】
また、学習モードにおいては、無人走行車１００は、所定の位置から移載装置２００に近接する位置までユーザがコントローラで移動させた時の移動経路を記憶する。なお、移載装置２００に近接する位置とは、移載装置２００との間で荷物の受け渡しを行うことが可能である位置である。ここで記憶した移動経路は、所定の位置からほぼ直線的に移動された経路であるため、移動された時にエンコーダによって読み取られたデータで構成されている。
【００６６】
通常モードとは、無人走行車１００が学習モードにおいて記憶した移動経路に基づいて、例えばＳＬＡＭなどによって自律的に所定の位置まで誘導されるモードである。なお、通常モードでは、無人走行車１００は、所定の位置まで自律的に誘導された後、所定の位置から移載装置２００に近接する位置までは、学習モードにおいて記憶された、エンコーダによって読み取られたデータで構成される移動経路に基づいて位置制御される。
【００６７】
ここで、無人走行車１００は、ＳＬＡＭなどで所定の位置まで移動された場合、図６に示すように、学習時停止位置からズレた位置（自律誘導時停止位置）で停止することがある。この状態から、移載装置２００に近接する位置まで移動すれば、移載装置２００からズレた位置に停止する可能性が高くなり、移載装置２００との間で荷物の受け渡しを行うことが困難になる。
【００６８】
そこで、無人走行車１００の柱状物体認識装置１４０は、学習モードにおける学習時停止位置での移載装置２００の脚部２１０の無人走行車１００に対する相対位置（左エッジＰ１および右エッジＰ２の位置）と、通常モードにおける自律誘導時停止位置での移載装置２００の脚部２１０の位置（左エッジＰ１および右エッジＰ２）の無人走行車１００に対する相対位置とを比較する。そして、柱状物体認識装置１４０は、比較によって、学習時停止位置と自律誘導時停止位置とのズレを算出し、自律誘導時停止位置から移載装置２００に近接する位置までの移動を、記憶したエンコーダのデータと算出したズレとを用いたエンコーダによる位置制御により行うことで、精度の高い位置まで無人走行車１００を移動させることができる。
【００６９】
なお、学習モードにおいて無人走行車１００を停止させる位置である所定の位置は、移載装置２００に近すぎる位置に決定された場合、センサ１２０の計測範囲１２３、１２４内に移載装置２００の脚部２１０を収められなくなる可能性がある。また、当該所定の位置が移載装置２００に近すぎる位置に決定された場合において、通常モードにおいて経路にズレが発生すれば、無人走行車１００が移載装置２００に衝突するおそれがある。
【００７０】
逆に、当該所定の位置が移載装置２００に遠すぎる位置に決定された場合、所定の位置から移載装置２００に近接する位置までの間の距離が長くなるため、エンコーダによる位置制御による移動距離が長くなる。このため、無人走行車１００を最終的な移載装置２００に近接する位置に停止させる精度が悪化する可能性がある。
【００７１】
以上のような制約の中でユーザは、適切な位置を所定の位置として決定する必要がある。つまり、所定の位置は、移載装置２００の脚部２１０を当該所定の位置に停止した無人走行車１００のセンサ１２０の計測範囲１２３、１２４内に収めることができる位置である。また、所定の位置は、通常モードの自律誘導によるズレの最大値以上、移載装置２００から離れた位置である。また、所定の位置は、移載装置２００との間の距離が、エンコーダによる位置制御による誤差が最大限生じたとしても、移載装置２００との荷物の受け渡しに支障がない位置に無人走行車１００を停止できる距離以下である位置である。
【００７２】
上記のように無人走行車１００を移載装置２００に近接する位置まで精度よく移動させるために、無人走行車１００は、学習モードにおける学習時停止位置と、通常モードにおける自律誘導時停止位置とのそれぞれにおいて、移載装置２００に対する相対的な位置および姿勢を計測する。
【００７３】
次に、柱状物体認識装置１４０が行う動作について図７を用いて説明する。
【００７４】
図７は、実施の形態１に係る柱状物体認識装置の動作を示すフローチャートである。
【００７５】
図７に示すように、柱状物体認識装置１４０は、まず、エッジの座標を算出する（Ｓ１０１）。具体的には、柱状物体認識装置１４０は、左エッジの座標と、右エッジの座標とをそれぞれ算出する（Ｓ１０１ａ、Ｓ１０１ｂ）。なお、本実施の形態では、左エッジの座標を算出する場合には、左エッジを含む脚部２１０を計測範囲１２３に含むセンサ１２１の距離データを用いる。同様に、右エッジの座標を算出する場合には、右エッジを含む脚部２１０を計測範囲１２４に含むセンサ１２２の距離データを用いる。ステップＳ１０１のエッジの座標を算出する処理の詳細は、後述する。
【００７６】
次に、柱状物体認識装置１４０は、左右のエッジＰ１、Ｐ２（重心点）を結んだ線分Ｐ１Ｐ２に対するセンサ１２０が向いている角度を算出する（Ｓ１０２）。
【００７７】
柱状物体認識装置１４０は、無人走行車１００が学習モードであるか通常モードであるかを判定する（Ｓ１０３）。
【００７８】
柱状物体認識装置１４０は、無人走行車１００が学習モードであると判定した場合（Ｓ１０３で「学習モード」）、左右のエッジＰ１、Ｐ２の座標および算出した角度を記憶部１５６に記憶する（Ｓ１０４）。
【００７９】
柱状物体認識装置１４０は、無人走行車１００が通常モードであると判定した場合（Ｓ１０３で「通常モード」）、学習モードで記憶した座標および角度と、通常モードにおける左右のエッジＰ１、Ｐ２の座標および算出した角度とを比較する（Ｓ１０５）。
【００８０】
柱状物体認識装置１４０は、比較した結果を出力し（Ｓ１０６）、移載装置２００に近接する位置まで、当該結果を用いて補正した経路で移動する。
【００８１】
次に、エッジの座標を算出する処理の詳細について図８を用いて説明する。
【００８２】
図８は、実施の形態１に係るエッジの座標を算出する処理の詳細を示すフローチャートである。
【００８３】
図８に示すように、柱状物体認識装置１４０の取得部１５１は、センサ１２０から３次元距離を示す距離データを取得する（Ｓ１１１）。取得部１５１は、センサ１２０から距離データとして、各画素において撮影された物体の表面までの奥行き方向の距離が各画素毎に含まれる３次元画像を取得する。
【００８４】
柱状物体認識装置１４０の抽出部１５２は、取得部１５１が取得した距離データから得られる、物体の表面の複数箇所の３次元座標で示される複数の３次元点からエッジ候補点を抽出する（Ｓ１１２）。なお、エッジ候補点の抽出処理の詳細については後述する。
【００８５】
柱状物体認識装置１４０の投影部１５３は、抽出部１５２が抽出した複数のエッジ候補点をＺ軸方向およびＸ軸方向により規定される２次元平面（Ｘ−Ｚ平面）上に投影する（Ｓ１１３）。
【００８６】
柱状物体認識装置１４０の特定部１５４は、２次元平面が均等に分割された複数の分割領域のうちで、投影部１５３が投影した複数のエッジ候補点を最も多く含む最多点領域を特定する（Ｓ１１４）。
【００８７】
柱状物体認識装置１４０の算出部１５５は、特定部１５４が特定した最多点領域内の所定の基準点から所定範囲の領域である対象領域に含まれる複数の３次元点の少なくとも一部のＺ軸方向およびＸ軸方向に係る２次元座標の重心点をエッジとして算出する（Ｓ１１５）。重心点の算出処理の詳細については後述する。
【００８８】
次に、ステップＳ１１２のエッジ候補点の抽出処理の詳細について図９を用いて説明する。
【００８９】
図９は、実施の形態１に係るエッジ候補点の抽出処理の詳細を示すフローチャートである。
【００９０】
図９に示すように、抽出部１５２は、エッジ候補点の抽出処理を、距離データから得られる物体の表面の複数箇所の３次元座標で示される複数の３次元点のそれぞれについて繰り返し行う。
【００９１】
抽出部１５２は、３次元点がエッジ候補点の条件を満たすか否かを判定する（Ｓ１２１）。具体的には、抽出部１５２は、３次元点がＸ軸方向の一方側に隣接して取得された３次元点に対して１０ｍｍ以上手前側にあり、かつ、Ｘ軸方向の他方側に隣接して取得された３次元点に対して奥行き差の絶対値が３ｍｍ以下である３次元点であるか否かを判定する。
【００９２】
なお、ステップＳ１２１では、ステップＳ１０１ａの処理を行っている場合には、Ｘ軸方向の一方側とは、Ｘ軸方向プラス側であり、Ｘ軸方向の他方側とは、Ｘ軸方向マイナス側である。また、ステップＳ１２１では、ステップＳ１０１ｂの処理を行っている場合には、Ｘ軸方向の一方側とは、Ｘ軸方向マイナス側であり、Ｘ軸方向の他方側とは、Ｘ軸方向プラス側である。
【００９３】
抽出部１５２は、３次元点がエッジ候補点の条件を満たすと判定した場合（Ｓ１２１でＹｅｓ）、当該３次元点をエッジ候補点として登録し（Ｓ１２２）、抽出処理が未実施の他の３次元点についてステップＳ１２１の処理を行う。
【００９４】
一方で、抽出部１５２は、３次元点がエッジ候補点の条件を満たさないと判定した場合（Ｓ１２１でＮｏ）、抽出処理が未実施の他の３次元点についてステップＳ１２１の処理を行う。
【００９５】
抽出部１５２は、全ての３次元点について抽出処理が実施されれば、エッジ候補点の抽出処理を終了する。
【００９６】
次に、ステップＳ１１５の重心点の算出処理の詳細について図１０を用いて説明する。
【００９７】
図１０は、実施の形態１に係る重心点の算出処理の詳細を示すフローチャートである。
【００９８】
図１０に示すように、算出部１５５は、重心点の算出処理を、最多点領域の所定の基準点から所定範囲の領域である対象領域に含まれる全ての３次元点のそれぞれについて繰り返し行う。
【００９９】
算出部１５５は、記憶している３次元点のＸ座標およびＺ座標のそれぞれの積算値に、３次元点のＸ座標およびＺ座標をそれぞれ積算し、積算することにより得られた積算値を記憶部１５６に記憶する（Ｓ１３１）。なお、算出部１５５は、記憶している積算値がない場合（つまり、重心点の算出処理の最初の３次元点について処理する場合）、処理対象の３次元点のＸ座標およびＺ座標を積算値として記憶部１５６に記憶する。
【０１００】
次に、算出部１５５は、Ｘ座標およびＺ座標の積算値を、対象領域に含まれる全ての３次元点の数で除算することにより、当該全ての３次元点のＸ座標値およびＺ座標値の平均値を算出することで、重心点を算出する（Ｓ１３２）。
【０１０１】
以下、図１１および図１２を用いてエッジを算出する処理について具体的に説明する。
【０１０２】
図１１は、距離データから得られる３次元点の各座標を３次元上にプロットした一例を示す図である。図１２は、図１１に示す複数のエッジ候補点を２次元平面上に投影した結果の一例を示す図である。
【０１０３】
図１１に示すように、柱状物体認識装置１４０は、ステップＳ１１１で取得した距離データから、物体の複数箇所の３次元座標を示す点を３次元点として算出する。
【０１０４】
柱状物体認識装置１４０は、算出した全ての３次元点に対して、ステップＳ１１２のエッジ候補点の抽出処理を行うことで、３次元点のうち、黒丸で示す複数のエッジ候補点を抽出する。
【０１０５】
柱状物体認識装置１４０は、図１２に示すように、ステップＳ１１３において、ステップＳ１１２で抽出した複数のエッジ候補点をＸ−Ｚ平面に投影する。
【０１０６】
柱状物体認識装置１４０は、ステップＳ１１４において、Ｘ−Ｚ平面がＸ軸方向およびＺ軸方向のそれぞれにおいて９分割された８１の分割領域のうちで、投影した複数のエッジ候補点を最も多く含む最多点領域を特定する。具体的には、図１２に示すように、Ｘ５−Ｚ５の位置の分割領域には、１４個のエッジ候補点が含まれ、最多のエッジ候補点が含まれる分割領域であるので、当該分割領域が最多点領域として特定される。
【０１０７】
そして、柱状物体認識装置１４０は、ステップＳ１１５において、最多点領域内の中心から、最多点領域の大きさの範囲の領域である対象領域３００に含まれる複数の３次元点の全部のＺ軸方向およびＸ軸方向に係る２次元座標の重心点をエッジとして算出する。つまり、柱状物体認識装置１４０は、図１１における対象領域３００に含まれる全ての３次元点のＺ軸方向およびＸ軸方向に係る２次元座標の重心点をエッジとして算出する。
【０１０８】
なお、ここでは、対象領域３００は、最多点領域内の中心を基準点とし、最多点領域の大きさを所定範囲と定義したため、最多点領域と一致する領域であるが、これに限らずに、最多点領域と中心の位置および大きさの少なくとも一方が一致しない領域であってもよい。
【０１０９】
［１−３．効果］
本実施の形態に係る柱状物体認識方法によれば、抽出した複数のエッジ候補点を２次元平面上に投影し、投影した２次元平面が分割された複数の分割領域のうちで、複数のエッジ候補点を最も多く含む最多点領域内の所定の基準点から所定範囲の領域である対象領域３００に含まれる複数の３次元点の少なくとも一部の２次元座標を算出している。
【０１１０】
これにより、Ｚ軸方向およびＸ軸方向における座標値が互いに近い位置にあり、かつ、多数のエッジ候補点の塊となっているエッジ候補群の近くに配置されている３次元点群を容易に特定することができる。このため、ノイズを含む３次元データからであっても、Ｙ軸方向に延びる柱状物体である移載装置２００の脚部２１０のエッジの位置を特定することが容易にでき、精度よく移載装置２００の位置を検出することができる。
【０１１１】
また、抽出では、複数の３次元点において、Ｘ軸方向の一方側の第１範囲内にある他の３次元点に対して第１距離以上手前側にあり、かつ、Ｘ軸方向の他方側の第１範囲内にある他の３次元点に対して奥行き差の絶対値が第２距離以下である３次元点をエッジ候補点として抽出する。
【０１１２】
このため、抽出では、Ｘ軸方向の一方側に物体が存在しない、または、奥側に物体がオフセットして存在する３次元点であって、抽出した複数のエッジ候補点よりもＸ軸方向の他方側に物体の平面が連続している可能性が高い３次元点を複数のエッジ候補点として抽出できる。よって、抽出では、移載装置２００の脚部２１０のＸ軸方向の一方側の端部に相当する３次元点（エッジ）である可能性が高いエッジ候補点を抽出できる。
【０１１３】
また、算出では、対象領域３００に含まれる全ての３次元点のＺ軸方向およびＸ軸方向に係る２次元座標の重心点を算出する。このため、簡単な処理で柱状物体のエッジの位置を特定することができる。
【０１１４】
また、算出では、第１重心点および第２重心点を結ぶ線分とＸ軸方向とが為す角度を算出する。このため、柱状物体に対する柱状物体認識装置の位置および姿勢を容易に特定することができる。
【０１１５】
（実施の形態２）
次に、実施の形態２について説明する。
【０１１６】
［２−１．構成］
実施の形態２の柱状物体認識装置１４０ａは、実施の形態１の柱状物体認識装置１４０と比較して、クラスタリング部１５７をさらに備える点が異なる。また、算出部１５５ａの処理内容が実施の形態１の算出部１５５とは異なる。以下では、クラスタリング部１５７および算出部１５５ａについて説明し、その他の構成については、実施の形態１の柱状物体認識装置１４０と同様であるので、説明を省略する。
【０１１７】
図１３は、実施の形態２に係る柱状物体認識装置の機能構成を示すブロック図である。
【０１１８】
クラスタリング部１５７は、第１登録および第２登録を行うクラスタリング処理を行う。クラスタリング部１５７は、クラスタリング処理を行うことで、抽出部１５２において抽出された複数のエッジ候補点のうち、Ｙ軸方向に沿って並んでいる複数のエッジ候補点を抽出する。
【０１１９】
第１登録は、抽出部１５２において抽出された複数のエッジ候補点のうち、Ｚ軸方向およびＸ軸方向のそれぞれにおいて基準点から第２範囲内（例えば３ｍｍ以内）にあるエッジ候補点の１つを所定のクラスタに登録する処理である。なお、基準点は、実施の形態１と同様に、特定部１５４が特定した最多点領域内の所定の基準点であり、例えば、最多点領域の中心である。
【０１２０】
また、基準点は、さらに、Ｙ軸方向の位置がセンサ１２０の光軸の位置に一致する点としてもよい。この場合、所定クラスタに登録するエッジ候補点の１つであって、基準点から第２範囲内にあるエッジ候補点の１つは、Ｙ軸方向の一方側における基準点からの距離が最も近い位置に配置されているエッジ候補点である隣接点としてもよい。
【０１２１】
第２登録は、所定のクラスタに新たに登録したエッジ候補点を新たな基準点として、当該新たな基準点よりもＹ軸方向の一方側（例えば上側）の第３範囲内に位置し、かつ、Ｚ軸方向およびＸ軸方向のそれぞれにおいて、第２範囲内にあるエッジ候補点を所定のクラスタに登録する処理である。クラスタリング部１５７は、該当する（つまり、第２登録できる）エッジ候補点がなくなるまで第２登録を繰り返し行う。ここで、第３範囲内に位置するエッジ候補点とは、例えば、エッジ候補点をＺ軸方向から見た場合、新たな基準点に対してＹ軸方向プラス側に隣接するエッジ候補点である。なお、第３範囲は、上述のように新たな基準点に隣接する範囲としなくてもよく、例えば、３ｍｍとしてもよい。
【０１２２】
算出部１５５ａは、クラスタリングにおいて所定のクラスタに登録された複数のエッジ候補点のＺ軸方向およびＸ軸方向の座標の重心点を算出する。つまり、算出部１５５ａは、クラスタリングにおいて、最多点領域内の所定の基準点から所定範囲の領域である対象領域３００に含まれる複数の３次元点のうちの、抽出部１５２において抽出された複数のエッジ候補点を抽出し、重心点の算出対象としている。
【０１２３】
［２−２．動作］
次に、柱状物体認識装置１４０ａの動作について、図１４を用いて説明する。
【０１２４】
まず、実施の形態２に係る柱状物体認識装置１４０ａの動作は、実施の形態１に係るエッジ座標の算出処理にクラスタリング処理が追加されている点が異なる。
【０１２５】
以下、クラスタリング処理が追加されたエッジ座標の算出処理について図１４を用いて説明する。
【０１２６】
図１４は、実施の形態２に係るエッジの座標を算出する処理の詳細を示すフローチャートである。
【０１２７】
図１４に示すように、実施の形態２に係るエッジの座標を算出する処理では、クラスタリング部１５７は、実施の形態１に係るエッジの座標を算出する処理において、ステップＳ１１４の最多点領域を特定する処理の次に、クラスタリング処理を行う（Ｓ１４１）。クラスタリング処理の詳細については、後述する。
【０１２８】
そして、算出部１５５ａは、クラスタリング処理において所定のクラスタに登録された複数のエッジ候補点のＺ軸方向およびＸ軸方向の座標の重心点を算出する（Ｓ１１５ａ）。
【０１２９】
なお、実施の形態２に係るエッジの座標を算出する処理のクラスタリング処理および重心点を算出する処理以外の処理は、実施の形態１に係るエッジの座標を算出する処理と同様であるので詳細な説明を省略する。
【０１３０】
次に、クラスタリング処理の詳細について図１５を用いて説明する。
【０１３１】
図１５は、実施の形態２に係るクラスタリング処理の詳細を示すフローチャートである。
【０１３２】
図１５に示すように、クラスタリング部１５７は、クラスタリング処理の第２登録に係る処理を複数のエッジ候補点のそれぞれについて繰り返し行う。
【０１３３】
クラスタリング部１５７は、基準点を設定する（Ｓ１５１）。具体的には、クラスタリング部１５７は、特定部１５４が特定した最多点領域の中心であり、かつ、Ｙ軸方向における位置がセンサ１２０の光軸の位置に一致する点を基準点として設定する。
【０１３４】
クラスタリング部１５７は、上隣接点を探索する（Ｓ１５２）。具体的には、クラスタリング部１５７は、複数のエッジ候補点のうち、基準点の上方（Ｙ軸方向プラス側）において隣接する点であって、Ｚ軸方向およびＸ軸方向に３ｍｍ以内の位置にあるエッジ候補点である上隣接点があるか否かを探索する。上隣接点の探索処理の詳細は、後述する。
【０１３５】
クラスタリング部１５７は、上隣接点の探索において、隣接点ありとされたか否かを判定する（Ｓ１５３）。
【０１３６】
クラスタリング部１５７は、隣接点なしと判定した場合（Ｓ１５３でＮｏ）、ステップＳ１５１で最初に設定した基準点を再び基準点とし（Ｓ１５４）、次の処理に進む。
【０１３７】
クラスタリング部１５７は、隣接点ありと判定した場合（Ｓ１５３でＹｅｓ）、ステップＳ１５２に戻る。つまり、上隣接点がなくなるまでステップＳ１５２、Ｓ１５３およびＳ１５５の処理を繰り返す。
【０１３８】
クラスタリング部１５７は、ステップＳ１５４の次に、下隣接点を探索する（Ｓ１５６）。具体的には、クラスタリング部１５７は、複数のエッジ候補点のうち、基準点の下方（Ｙ軸方向マイナス側）において隣接する点であって、Ｚ軸方向およびＸ軸方向に３ｍｍ以内の位置にあるエッジ候補点である下隣接点があるか否かを探索する。
【０１３９】
クラスタリング部１５７は、下隣接点の探索において、隣接点ありとされたか否かを判定する（Ｓ１５７）。
【０１４０】
クラスタリング部１５７は、隣接点なしと判定した場合（Ｓ１５７でＮｏ）、生成したクラスタを登録し（Ｓ１５８）、クラスタリング処理を終了する。
【０１４１】
クラスタリング部１５７は、隣接点ありと判定した場合（Ｓ１５７でＹｅｓ）、ステップＳ１５６に戻る。つまり、下隣接点がなくなるまでステップＳ１５６、Ｓ１５７およびＳ１５９の処理を繰り返す。
【０１４２】
次に、ステップＳ１５２の上隣接点の探索処理の詳細について図１６を用いて説明する。
【０１４３】
図１６は、実施の形態２に係る上隣接点の探索処理の詳細を示すフローチャートである。図１７は、上隣接点の探索処理の概要を説明するための図である。
【０１４４】
図１６に示すように、クラスタリング部１５７は、基準点を設定する（Ｓ１６１）。具体的には、クラスタリング部１５７は、クラスタリング処理のステップＳ１５５で新基準点とした基準点を基準点として設定する。
【０１４５】
クラスタリング部１５７は、探索ラスタを、設定した基準点の一段上に設定する（Ｓ１６２）。つまり、クラスタリング部１５７は、距離データから得られる全ての３次元点のうち、基準点よりもＹ軸方向プラス側に隣接する位置で主走査されることにより計測された複数の３次元点を探索対象のラスタである探索ラスタとして設定する。
【０１４６】
クラスタリング部１５７は、探索ラスタが距離データの画角の上端であるか否かを判定する（Ｓ１６３）。
【０１４７】
クラスタリング部１５７は、探索ラスタが距離データの画角の上端でないと判定した場合（Ｓ１６３でＮｏ）、当該探索ラスタ内に隣接点があるか否かを判定する（Ｓ１６４）。具体的には、クラスタリング部１５７は、探索ラスタ内にある複数のエッジ候補点の中に、基準点に対して、Ｚ軸方向およびＸ軸方向のそれぞれにおいて第２範囲内（３ｍｍ以内）にある隣接点があるか否かを判定する。
【０１４８】
クラスタリング部１５７は、探索ラスタ内の複数のエッジ候補点に隣接点があると判定した場合（Ｓ１６４でＹｅｓ）、当該隣接点をクラスタの構成点として登録し（Ｓ１６６）、上隣接点ありと決定し（Ｓ１６８）、上隣接点の探索処理を終了する。
【０１４９】
一方で、クラスタリング部１５７は、探索ラスタ内の複数のエッジ候補点に隣接点がないと判定した場合（Ｓ１６４でＮｏ）、探索ラスタをさらに一段上に設定し（Ｓ１６７）、ステップＳ１６３に戻る。つまり、クラスタリング部１５７は、ステップＳ１６２で設定した探索ラスタよりもＹ軸方向プラス側に隣接する位置で主走査されることにより計測された複数の３次元点を探索ラスタとして設定する。このように、探索ラスタ内の複数のエッジ候補点に隣接点がないと判定した場合には、上隣接点がないと決定せずに、探索ラスタをさらに１つ上段に設定して、隣接点を再探索する。このため、何らかの要因で３次元点を取得できなかった場合であっても、適切にクラスタの構成点を抽出することができる。
【０１５０】
クラスタリング部１５７は、探索ラスタが距離データの画角の上端であると判定した場合（Ｓ１６３でＹｅｓ）、上隣接点なしと決定し、上隣接点の探索処理を終了する。
【０１５１】
上記のように上隣接点の探索処理を行うことにより、基準点を基準として、基準点に近い点を下から順に探索していくことで、図１７に示すように、Ｙ軸方向に沿って並ぶ複数のエッジ候補点を抽出することができる。
【０１５２】
上隣接点の探索処理において、最初の基準点を基準としたときの隣接点を登録する処理が上述した第１登録に相当し、隣接点を新たな基準点とした時の隣接点を登録する処理が上述した第２登録に相当する。
【０１５３】
なお、上記の上隣接点を探索する処理では、ステップＳ１６４において、隣接点を探索する対象となる３次元点は、探索ラスタ内の複数のエッジ候補点であるとしたがこれに限らない。例えば、探索ラスタ内のうち、ステップＳ１５１で設定された基準点からＺ軸方向およびＸ軸方向のそれぞれにおいて所定範囲の領域にある複数のエッジ候補点を、隣接点を探索する対象となる３次元点としてもよい。
【０１５４】
なお、ステップＳ１５６の下隣接点を探索する処理については、上隣接点の探索処理を上下反対に行えばよいため、詳細な説明を省略する。
【０１５５】
［２−３．効果］
本実施の形態に係る柱状物体認識方法によれば、クラスタリングを行い、クラスタリングにおいて所定のクラスタの構成点として登録された複数のエッジ候補点のＺ軸方向およびＸ軸方向の座標の重心点を算出する。このため、柱状物体のエッジが検出されることにより得られた３次元点である可能性が高いエッジ候補点を抽出することができる。よって、精度よく柱状物体のエッジ位置を特定することができる。
【０１５６】
また、算出では、対象領域３００に含まれる複数の３次元点のうちの、抽出により抽出された複数のエッジ候補点のＺ軸方向およびＸ軸方向の座標の重心点を算出する。このため、精度よく柱状物体のエッジの位置を特定することができる。
【０１５７】
［２−４．変形例］
上記実施の形態２では、クラスタリング処理を最多点領域内の所定の基準点を基準として行っているが、これに限らない。例えば、クラスタリング処理を全てのエッジ候補点に対して行ってもよい。
【０１５８】
図１８は、実施の形態２の変形例に係るクラスタリング処理の詳細を示すフローチャートである。
【０１５９】
図１８に示すように、実施の形態２の変形例に係るクラスタリング処理では、クラスタリング部１５７は、全てのエッジ候補点のそれぞれについて、ステップＳ１７１、ステップＳ１５２〜ステップＳ１５９の処理を繰り返し行う。
【０１６０】
まず、クラスタリング部１５７は、クラスタに登録済みであるか否かを判定する（Ｓ１７１）。つまり、クラスタリング部１５７は、処理対象のエッジ候補点についてクラスタリング処理を行ったか否かを判定する。
【０１６１】
クラスタリング部１５７は、クラスタに登録済みでないと判定した場合（Ｓ１７１でＮｏ）、上隣接点の探索を行う（Ｓ１５２）。
【０１６２】
クラスタリング部１５７は、クラスタに登録済みであると判定した場合（Ｓ１７１でＹｅｓ）、次のエッジ候補点についてステップＳ１７１を行う。
【０１６３】
ステップＳ１５２〜ステップＳ１５９については、実施の形態２と同様であるので、説明を省略する。
【０１６４】
なお、全てのエッジ候補点のそれぞれについて、ステップＳ１７１、ステップＳ１５２〜ステップＳ１５９の処理を繰り返し行うため、複数のクラスタが登録される可能性が高い。このため、次に、登録された複数のクラスタのうちで最も長いクラスタを代表クラスタとして決定する（Ｓ１７２）。
【０１６５】
そして、ステップ１１５ａの重心点の算出処理では、代表クラスタの構成点を算出対象として、重心点の算出を行う。
【０１６６】
（他の実施の形態）
なお、上記実施の形態では、無人走行車は、フォークを有していないタイプであってもよい。また、柱状物体認識装置は、無人走行車だけでなく、スタッカークレーンの移載装置や、天井吊りタイプの搬送車の横移載装置に搭載されてもよい。
【０１６７】
また、上記実施の形態では、センサ１２０は、２つのセンサ１２１、１２２により構成されているとしたが、画角が十分に広いセンサであれば１つのセンサにより構成されてもよい。
【０１６８】
また、上記実施の形態では、柱状物体認識装置１４０は、移載装置２００の脚部２１０のうち手前側の２本の脚部２１０の位置を特定するとしたが、これに限らない。つまり、2本の脚部２１０の手前側に化粧パネルが設けられている構成の移載装置の位置の特定に対しても適用できる。
【０１６９】
また、上記実施の形態では、鉛直方向に延びる柱状物体のエッジを特定するとしたが、鉛直方向に延びる柱状物体に限らずに、水平方向に延びる柱状物体のエッジを特定してもよい。この場合には、上記実施の形態を９０度回転させることで、例えば、上下方向に移動するスタッカークレーンの移載装置に、適用できる。
【０１７０】
なお、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、ＣＰＵまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
【０１７１】
以上、本発明の一つまたは複数の態様に係る荷揃えシステムについて、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の一つまたは複数の態様の範囲内に含まれてもよい。
【産業上の利用可能性】
【０１７２】
本発明は、ノイズを含む３次元データからであっても、精度よく物体を検出することができる柱状物体認識方法、柱状物体認識装置、無人走行車などとして有用である。
【符号の説明】
【０１７３】
１００  無人走行車
１１０  フォーク
１２０、１２１、１２２  センサ
１２３、１２４  計測範囲
１３０  マスト
１４０、１４０ａ  柱状物体認識装置
１４１  プロセッサ
１４２  メモリ
１５１  取得部
１５２  抽出部
１５３  投影部
１５４  特定部
１５５、１５５ａ  算出部
１５６  記憶部
１５７  クラスタリング部
２００  移載装置
２１０  脚部
３００  対象領域
【図１】
2017201493.tif 000003
【図２】
2017201493.tif 000004
【図３】
2017201493.tif 000005
【図４】
2017201493.tif 000006
【図５】
2017201493.tif 000007
【図６】
2017201493.tif 000008
【図７】
2017201493.tif 000009
【図８】
2017201493.tif 000010
【図９】
2017201493.tif 000011
【図１０】
2017201493.tif 000012
【図１１】
2017201493.tif 000013
【図１２】
2017201493.tif 000014
【図１３】
2017201493.tif 000015
【図１４】
2017201493.tif 000016
【図１５】
2017201493.tif 000017
【図１６】
2017201493.tif 000018
【図１７】
2017201493.tif 000019
【図１８】
2017201493.tif 000020