IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ニチユ三菱フォークリフト株式会社の特許一覧

特許7482808移動体の制御方法、移動体及びプログラム
<>
  • 特許-移動体の制御方法、移動体及びプログラム 図1
  • 特許-移動体の制御方法、移動体及びプログラム 図2
  • 特許-移動体の制御方法、移動体及びプログラム 図3
  • 特許-移動体の制御方法、移動体及びプログラム 図4
  • 特許-移動体の制御方法、移動体及びプログラム 図5
  • 特許-移動体の制御方法、移動体及びプログラム 図6
  • 特許-移動体の制御方法、移動体及びプログラム 図7
  • 特許-移動体の制御方法、移動体及びプログラム 図8
  • 特許-移動体の制御方法、移動体及びプログラム 図9
  • 特許-移動体の制御方法、移動体及びプログラム 図10
  • 特許-移動体の制御方法、移動体及びプログラム 図11
  • 特許-移動体の制御方法、移動体及びプログラム 図12
  • 特許-移動体の制御方法、移動体及びプログラム 図13
  • 特許-移動体の制御方法、移動体及びプログラム 図14
  • 特許-移動体の制御方法、移動体及びプログラム 図15
  • 特許-移動体の制御方法、移動体及びプログラム 図16
  • 特許-移動体の制御方法、移動体及びプログラム 図17
  • 特許-移動体の制御方法、移動体及びプログラム 図18
  • 特許-移動体の制御方法、移動体及びプログラム 図19
  • 特許-移動体の制御方法、移動体及びプログラム 図20
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-02
(45)【発行日】2024-05-14
(54)【発明の名称】移動体の制御方法、移動体及びプログラム
(51)【国際特許分類】
   G05D 1/242 20240101AFI20240507BHJP
   B66F 9/24 20060101ALI20240507BHJP
【FI】
G05D1/242
B66F9/24 L
【請求項の数】 10
(21)【出願番号】P 2021017822
(22)【出願日】2021-02-05
(65)【公開番号】P2022120729
(43)【公開日】2022-08-18
【審査請求日】2023-03-29
(73)【特許権者】
【識別番号】000232807
【氏名又は名称】三菱ロジスネクスト株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】北島 克将
(72)【発明者】
【氏名】▲高▼尾 健司
(72)【発明者】
【氏名】竹内 瑞穂
(72)【発明者】
【氏名】杉本 喜一
【審査官】影山 直洋
(56)【参考文献】
【文献】特開2020-070121(JP,A)
【文献】特開2017-182502(JP,A)
【文献】特開2016-210586(JP,A)
【文献】特表2019-504418(JP,A)
【文献】国際公開第2020/183658(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/242
B66F 9/24
(57)【特許請求の範囲】
【請求項1】
自動で移動する移動体の制御方法であって、
前記移動体に設けられたセンサに光を照射させることで目標物を複数回検出させて、前記センサの複数回の検出の結果を点群として取得するステップと、
前記センサの第1の検出に対応する点群である第1点群に基づき、前記点群の近似線を検出するステップと、
前記近似線と、前記センサの第2の検出に対応する点群である第2点群と、前記第2の検出を行った際の前記移動体の位置とに基づき、前記第2の検出における前記センサからの光の前記近似線への入射角を算出するステップと、
前記入射角に基づき、前記第2点群のうちから、前記目標物の位置及び姿勢を特定するための点群を選択するステップと、
前記第2点群のうちから選択された点群に基づいて、前記目標物の位置及び姿勢を特定するステップと、
を含む、
移動体の制御方法。
【請求項2】
前記目標物の位置及び姿勢に基づいて、前記目標物に対して所定の位置及び姿勢となる目標位置までのアプローチパスを設定するステップと、
前記アプローチパスに沿って前記移動体を移動させるステップと、をさらに含む、請求項1に記載の移動体の制御方法。
【請求項3】
目標物が設置される設置領域を横切る広域パスの情報を取得するステップと、
前記広域パスに沿って前記移動体を移動させるステップと、をさらに含み、
前記点群を取得するステップにおいては、前記移動体が前記広域パスに沿って移動中に、前記センサに前記目標物を複数回検出させる、請求項1又は請求項2に記載の移動体の制御方法。
【請求項4】
前記入射角を算出するステップにおいては、前記第2点群に含まれる計測点毎に、前記入射角を算出し、
前記点群を選択するステップにおいては、前記第2点群に含まれる計測点のうちで、前記入射角が所定範囲内となる計測点を、選択する、請求項1から請求項3のいずれか1項に記載の移動体の制御方法。
【請求項5】
前記入射角を算出するステップにおいては、前記第2の検出を行った際の前記移動体の位置と前記計測点とを結ぶ直線と、前記近似線の法線とのなす角度を、前記入射角として算出する、請求項4に記載の移動体の制御方法。
【請求項6】
前記第2点群のうちから点群が選択された後に、前記センサの第3の検出に対応する第3点群が取得された場合、
前記近似線を検出するステップにおいては、前記第1点群と前記第2点群とに基づき、前記近似線を更新して検出し、
前記入射角を算出するステップにおいては、前記第3点群と、前記第3の検出を行った際の前記移動体と、更新された前記近似線との位置関係に基づき、前記第3の検出における前記センサからの光の前記目標物への入射角を算出し、
前記点群を選択するステップにおいては、前記入射角に基づき、前記第3点群のうちから、前記目標物の位置及び姿勢を特定するための点群を選択し、
前記目標物の位置及び姿勢を特定するステップにおいては、前記第2点群のうちから選択された点群と、前記第3点群のうちから選択された点群とに基づいて、前記目標物の位置及び姿勢を特定する、請求項1から請求項5のいずれか1項に記載の移動体の制御方法。
【請求項7】
選択された前記点群に基づき、前記目標物の前面に対応する直線を算出するステップと、
選択された前記点群と前記直線とに基づき、選択された前記点群から、目標物の位置及び姿勢を特定するための点群を抽出するステップと、をさらに含み、
前記目標物の位置及び姿勢を特定するステップにおいては、抽出された前記点群に基づき、前記目標物の位置及び姿勢を特定する、請求項1から請求項6のいずれか1項に記載の移動体の制御方法。
【請求項8】
前記点群を抽出するステップにおいては、
前記直線に対して所定の距離範囲内にある前記点群を、抽出する、請求項7に記載の移動体の制御方法。
【請求項9】
自動で移動する移動体であって、
前記移動体に設けられたセンサに光を照射させることで目標物を複数回検出させて、前記センサの複数回の検出の結果を点群として取得する検出制御部と、
前記点群に基づき特定された前記目標物の位置及び姿勢の情報を取得する目標物情報取得部と、を含み、
前記目標物の位置及び姿勢は、
前記センサの第1の検出に対応する点群である第1点群に基づき検出された前記点群の近似線と、前記センサの第2の検出に対応する点群である第2点群と、前記第2の検出を行った際の前記移動体の位置とに基づき、前記第2の検出における前記センサからの光の前記近似線への入射角が算出され、
前記入射角に基づき、前記第2点群のうちから前記目標物の位置及び姿勢を特定するための点群が選択されることで、
前記第2点群のうちから選択された点群に基づいて、特定される、
移動体。
【請求項10】
自動で移動する移動体の制御方法をコンピュータに実行させるプログラムであって、
前記移動体に設けられたセンサに光を照射させることで目標物を複数回検出させて、前記センサの複数回の検出の結果を点群として取得するステップと、
前記センサの第1の検出に対応する点群である第1点群に基づき、前記点群の近似線を検出するステップと、
前記近似線と、前記センサの第2の検出に対応する点群である第2点群と、前記第2の検出を行った際の前記移動体の位置とに基づき、前記第2の検出における前記センサからの光の前記近似線への入射角を算出するステップと、
前記入射角に基づき、前記第2点群のうちから前記目標物の位置及び姿勢を特定するための点群を選択するステップと、
前記第2点群のうちから選択された点群に基づいて、前記目標物の位置及び姿勢を特定するステップと、
を、コンピュータに実行させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、移動体の制御方法、移動体及びプログラムに関する。
【背景技術】
【0002】
周囲を検出するセンサを備えて自動で移動する移動体が知られている。このような移動体としては、例えば、荷物が搭載されたパレットを搬送する自動フォークリフトがある。特許文献1には、測域センサで計測される距離データに基づいて、パレットの前面の中心位置及び方向を特定して、パレットの荷取り作業を行う旨が記載されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2017-178567号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
このような移動体においては、パレットなどの対象物の検出精度を向上させることが求められている。
【0005】
本開示は、上述した課題を解決するものであり、対象物の検出精度の低下を抑制可能な移動体の制御方法、移動体及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上述した課題を解決し、目的を達成するために、本開示に係る移動体の制御方法は、自動で移動する移動体の制御方法であって、前記移動体に設けられたセンサに光を照射させることで目標物を複数回検出させて、前記センサの複数回の検出の結果を点群として取得するステップと、前記センサの第1の検出に対応する点群である第1点群に基づき、前記点群の近似線を検出するステップと、前記近似線と、前記センサの第2の検出に対応する点群である第2点群と、前記第2の検出を行った際の前記移動体の位置とに基づき、前記第2の検出における前記センサからの光の前記目標物への入射角を算出するステップと、前記入射角に基づき、前記第2点群のうちから、前記目標物の位置及び姿勢を特定するための点群を選択するステップと、前記第2点群のうちから選択された点群に基づいて、前記目標物の位置及び姿勢を特定するステップと、を含む。
【0007】
上述した課題を解決し、目的を達成するために、本開示に係る移動体は、自動で移動する移動体であって、前記移動体に設けられたセンサに光を照射させることで目標物を複数回検出させて、前記センサの複数回の検出の結果を点群として取得する検出制御部と、前記点群に基づき特定された前記目標物の位置及び姿勢の情報を取得する目標物情報取得部と、を含み、前記目標物の位置及び姿勢は、前記センサの第1の検出に対応する点群である第1点群に基づき検出された前記点群の近似線と、前記センサの第2の検出に対応する点群である第2点群と、前記第2の検出を行った際の前記移動体の位置とに基づき、前記第2の検出における前記センサからの光の前記目標物への入射角が算出され、前記入射角に基づき、前記第2点群のうちから前記目標物の位置及び姿勢を特定するための点群が選択されることで、前記第2点群のうちから選択された点群に基づいて、特定される。
【0008】
上述した課題を解決し、目的を達成するために、本開示に係るプログラムは、自動で移動する移動体の制御方法をコンピュータに実行させるプログラムであって、前記移動体に設けられたセンサに光を照射させることで目標物を複数回検出させて、前記センサの複数回の検出の結果を点群として取得するステップと、前記センサの第1の検出に対応する点群である第1点群に基づき、前記点群の近似線を検出するステップと、前記近似線と、前記センサの第2の検出に対応する点群である第2点群と、前記第2の検出を行った際の前記移動体の位置とに基づき、前記第2の検出における前記センサからの光の前記目標物への入射角を算出するステップと、前記入射角に基づき、前記第2点群のうちから前記目標物の位置及び姿勢を特定するための点群を選択するステップと、前記第2点群のうちから選択された点群に基づいて、前記目標物の位置及び姿勢を特定するステップと、を、コンピュータに実行させる。
【発明の効果】
【0009】
本開示によれば、対象物の検出精度の低下を抑制することができる。
【図面の簡単な説明】
【0010】
図1図1は、第1実施形態に係る移動制御システムの模式図である。
図2図2は、移動体の構成の模式図である。
図3図3は、管理システムの模式的なブロック図である。
図4図4は、情報処理装置の模式的なブロック図である。
図5図5は、移動体の制御装置の模式的なブロック図である。
図6図6は、目標物の検出を説明する模式図である。
図7図7は、点群の選択を説明するための模式図である。
図8図8は、点群の抽出を説明するための模式図である。
図9図9は、直線候補の具体例を示す模式図である。
図10図10は、スコアの一例を示すグラフである。
図11図11は、直線の検出の一例を説明する模式図である。
図12図12は、点群の重畳の具体例を説明するための模式図である。
図13図13は、近似線の一例を示す模式図である。
図14図14は、近似線に射影された計測点の一例を示す模式図である。
図15図15は、計測点のヒストグラムの一例を示す模式図である。
図16図16は、目標物の位置の特定方法の一例を説明する模式図である。
図17図17は、第2パスに沿った移動の一例を示す模式図である。
図18図18は、目標物の位置及び姿勢検出の処理フローを説明するフローチャートである。
図19図19は、第1変形例における目標物の位置の特定方法の例を説明する模式図である。
図20図20は、第2変形例における目標物の位置の特定方法の例を説明する模式図である。
【発明を実施するための形態】
【0011】
以下に添付図面を参照して、本発明の好適な実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではなく、また、実施形態が複数ある場合には、各実施形態を組み合わせて構成するものも含むものである。
【0012】
(第1実施形態)
(移動制御システムの全体構成)
図1は、第1実施形態に係る移動制御システムの模式図である。図1に示すように、第1実施形態に係る移動制御システム1は、移動体10、管理システム12、及び情報処理装置14を含む。移動制御システム1は、設備Wに所属する移動体10の移動を制御するシステムである。設備Wは、例えば倉庫など、物流管理される設備である。移動制御システム1においては、移動体10によって設備Wの領域AR内に配置された目標物Pをピックアップして搬送させる。領域ARは、例えば設備Wの床面であり、目標物Pが設置されたり移動体10が移動したりする領域である。目標物Pは、本実施形態では、パレット上に荷物が積載された搬送対象物である。目標物Pは、複数の柱PAと、柱PA同士の間に形成される開口PBとが、前面Paに形成されている。前面Paとは、移動体10がアプローチしてくる側の面を指す。移動体10は、開口PBに後述するフォーク24を挿入することで、目標物Pを保持する。ただし、目標物Pは、パレット上に荷物が積載されたものに限られず任意の形態であってよく、例えばパレットを有さず荷物のみであってもよい。以下、領域ARに沿った一方向を、方向Xとし、領域Aに沿った方向であって方向Xに交差する方向を、方向Yとする。本実施形態では、方向Yは、方向Xに直交する方向である。方向X、方向Yは、水平方向といってもよい。また、方向X、方向Yに直交する方向を、すなわち鉛直方向を、方向Zとする。
【0013】
設備W内の領域ARには、複数の設置領域AR0が設けられている。設置領域AR0は、目標物Pが設置される領域である。設置領域AR0は、目標物Pを設置すべき領域として、予め設定される。設置領域AR0は、例えば白線などで区分されており、設置領域AR0の位置(座標)、形状、及び大きさは、予め設定されている。設置領域AR0内においては、目標物Pは、前面Paが方向X側を向くように配置されている。図1の例では、目標物Pは、方向Zから見て前面Paに直交する軸PXが方向Xと沿うように、すなわち目標物Pの向きが設置領域AR0に対してずれないように、設置領域AR内に配置されている。ただし、目標物Pは、軸PXが方向Xと沿っていることに限られず、軸PXが方向Xから傾斜して、すなわち設置領域ARに対して向きがずれて設置されていてもよい。例えば、目標物Pは、軸PXと方向Xとの傾斜角度が、45度以下となるように、設置領域AR0に配置されることが好ましい。
【0014】
なお、本実施形態では、設置領域AR0は、設備Wの床である領域ARに設けられているが、それに限られず、例えば目標物Pを設備Wに搬入した車両の荷台内に設けられてもよい。また、本実施形態では、設置領域AR0は、目標物P毎に区画されており、設置領域AR0には目標物Pが1つ配置されるが、それに限られない。例えば、設置領域AR0は、フリースペースとして、複数の目標物Pが設置されるように設定されていてもよい。また、図1の例では設置領域AR0は矩形であるが、形状及び大きさは任意であってよい。また、領域ARに設けられる設置領域AR0の数も任意であってよい。
【0015】
移動体10は、自動で移動可能な装置である。本実施形態では、移動体10は、フォークリフトであり、さらにいえば、いわゆるAGF(Automated Guided Forklift)である。図1に例示するように、移動体10は、設備Wにおける領域AR上を移動する。移動体10は、第1パスR1(広域パス)に従って、第1位置A1から第2位置A2まで移動しつつ、後述するセンサ26によって、目標物Pを複数回検出する。移動体10は、センサ26による複数回の検出結果から点群を取得し、点群に基づき目標物Pの位置及び姿勢を特定する。移動体10は、第2位置A2に到達したら、目標物Pの位置及び姿勢に基づいて設定された第2パスR2(アプローチパス)に従って、第2位置A2から目標位置A3まで移動して、目標物Pをピックアップする。なお、ここでの目標物Pの位置とは、方向X及び方向Yの二次元座標系COにおける目標物Pの座標を指し、目標物Pの姿勢とは、方向X及び方向Yに直交する方向から見た場合の目標物Pの向き(回転角度)を指す。また、目標位置A3は、目標物Pに対して所定の位置及び姿勢となる位置及び姿勢である。本実施形態では、目標位置A3は、移動体10が目標物Pをピックアップ可能な位置及び姿勢といえる。例えば、目標位置A3は、移動体10が横方向に移動することなく、直進することで、後述の移動体10のフォーク24を、目標物Pの開口PBに挿入することができる移動体10の位置及び姿勢であってよい。この場合、移動体10は、目標位置A3から直進して目標物Pをピックアップして、目標物Pを他の場所に搬送する。なお、目標物Pの位置及び姿勢の具体的な特定方法や、第1パスR1、第2パスR2に従った移動の詳細については、後述する。また、図1に示す第1パスR1や第2パスR2は一例である。
【0016】
(移動体)
図2は、移動体の構成の模式図である。図2に示すように、移動体10は、車体20と、マスト22と、フォーク24と、センサ26と、制御装置28とを備えている。車体20は、車輪20Aを備えている。マスト22は、車体20の前後方向における一方の端部に設けられている。マスト22は、前後方向に直交する上下方向(ここでは方向Z)に沿って延在する。フォーク24は、マスト22に方向Zに移動可能に取付けられている。フォーク24は、マスト22に対して、車体20の横方向(上下方向及び前後方向に交差する方向)にも移動可能であってよい。フォーク24は、一対のツメ24A、24Bを有している。ツメ24A、24Bは、マスト22から車体20の前方向に向けて延在している。ツメ24Aとツメ24Bとは、マスト22の横方向に、互いに離れて配置されている。以下、前後方向のうち、移動体10においてフォーク24が設けられている側の方向を、前方向とし、フォーク24が設けられていない側の方向を、後方向とする。
【0017】
センサ26は、車体20の周辺に存在する対象物の位置及び姿勢の少なくとも1つを検出する。センサ26は、移動体10に対する対象物の位置と、移動体10に対する対象物の姿勢とを検出するともいえる。本実施形態では、センサ26は、マスト22と、車体20の四隅とに、すなわち車体20の前方向側の左右の端部と後方向側の左右の端部とに、設けられている。ただし、センサ26の設けられる位置はこれに限られず、任意の位置に設けられてもよいし、設けられる数も任意であってよい。例えば、移動体10に設けられる安全センサを、センサ26として流用してもよい。安全センサを流用することで、新たにセンサを設ける必要がなくなる。
【0018】
センサ26は、周囲の対象物からの反射光を検出(受光)することで、対象物の位置及び姿勢を検出する。さらに言えば、センサ26は、光を照射するセンサであり、より詳しくは光としてレーザ光を照射する。センサ26は、照射したレーザ光の反射光を検出することで、対象物の位置及び姿勢を検出する。センサ26は、一方向に走査しつつレーザ光を照射し、照射したレーザ光の反射光から、対象物の位置及び姿勢を検出する。すなわち、センサ26は、いわゆる2D-LiDAR(Light Detection And Ranging)であるともいえる。本実施形態では、センサ26は、水平方向に、すなわち方向Zに直交する方向に、レーザ光を走査する。ただし、センサ26は、以上のものに限られず任意の方法で対象物を検出するセンサであってよく、例えば、複数の方向に走査されるいわゆる3D-LiDARであってもよい。
【0019】
制御装置28は、移動体10の移動を制御する。制御装置28については後述する。
【0020】
(管理システム)
図3は、管理システムの模式的なブロック図である。管理システム12は、設備Wにおける物流を管理するシステムである。管理システム12は、本実施形態ではWMS(Warehouse Management System)であるが、WMSに限られず任意のシステムであってよく、例えば、その他の生産管理系システムのようなバックエンドシステムでも構わない。管理システム12が設けられる位置は任意であり、設備W内に設けられてもよいし、設備Wから離れた位置に設けられて、離れた位置から設備Wを管理するものであってもよい。管理システム12は、コンピュータであり、図3に示すように、通信部30と記憶部32と制御部34とを含む。
【0021】
制御部34は、演算装置、すなわちCPU(Central Processing Unit)である。制御部34は、作業決定部36を含む。制御部34は、記憶部32からプログラム(ソフトウェア)を読み出して実行することで、作業決定部36を実現して、その処理を実行する。なお、制御部34は、1つのCPUによって処理を実行してもよいし、複数のCPUを備えて、それらの複数のCPUで、処理を実行してもよい。また、作業決定部36を、ハードウェア回路で実現してもよい。また、記憶部32が保存する制御部34用のプログラムは、管理システム12が読み取り可能な記録媒体に記憶されていてもよい。
【0022】
作業決定部36は、搬送する対象となる目標物Pを決定する。具体的には、作業決定部36は、例えば入力された作業計画に基づき、搬送する対象となる目標物Pの情報を示す作業内容を決定する。作業内容は、搬送する対象となる目標物Pを特定する情報であるともいえる。本実施形態の例では、作業内容は、どの設備にあるどの目標物Pを、いつまでに、どこに搬送するかを、作業内容として決定する。すなわち、作業決定部36は、対象となる目標物Pが保管されている設備と、対象となる目標物Pと、目標物Pの搬送先と、目標物Pの搬送時期とを、を示す情報である。作業決定部36は、決定した作業内容を、通信部30を介して、情報処理装置14に送信する。
【0023】
(情報処理装置)
図4は、情報処理装置の模式的なブロック図である。情報処理装置14は、設備Wに設けられ、少なくとも、移動体10の移動に関する情報などを移動体10と送受信する装置、いわゆる地上システムである。情報処理装置14は、コンピュータであり、図4に示すように、通信部40と記憶部42と制御部44とを含む。通信部40は、制御部44に用いられて、管理システム12や移動体10などの外部の装置と通信するモジュールであり、例えばアンテナなどを含んでよい。通信部40による通信方式は、本実施形態では無線通信であるが、通信方式は任意であってよい。記憶部42は、制御部44の演算内容やプログラムなどの各種情報を記憶するメモリであり、例えば、RAMと、ROMのような主記憶装置と、HDDなどの外部記憶装置とのうち、少なくとも1つ含む。
【0024】
制御部44は、演算装置、すなわちCPUである。制御部44は、作業内容取得部50と、移動体選定部52と、第1パス取得部54とを含む。制御部44は、記憶部42からプログラム(ソフトウェア)を読み出して実行することで、作業内容取得部50と移動体選定部52と第1パス取得部54とを実現して、それらの処理を実行する。なお、制御部44は、1つのCPUによってこれらの処理を実行してもよいし、複数のCPUを備えて、それらの複数のCPUで、処理を実行してもよい。また、作業内容取得部50と移動体選定部52と第1パス取得部54との少なくとも一部を、ハードウェア回路で実現してもよい。また、記憶部42が保存する制御部44用のプログラムは、情報処理装置14が読み取り可能な記録媒体に記憶されていてもよい。
【0025】
(作業内容取得部及び移動体選定部)
作業内容取得部50は、管理システム12が決定した作業内容の情報、すなわち搬送対象となる目標物Pの情報を取得する。作業内容取得部50は、作業内容における目標物Pの情報から、目標物Pが設置されている設置領域AR0を特定する。例えば、記憶部42には、目標物Pと、その目標物Pが設置されている設置領域AR0とが、関連付けて記憶されており、作業内容取得部50は、記憶部42からその情報を読み出すことで、設置領域AR0を特定する。移動体選定部52は、対象となる移動体10を選定する。移動体選定部52は、例えば、設備Wに所属する複数の移動体から、対象となる移動体10を選定する。移動体選定部52は、任意の方法で対象となる移動体10を選定してよいが、例えば、作業内容取得部50が特定した設置領域AR0に基づき、その設置領域AR0にある目標物Pの搬送に適した移動体10を、対象となる移動体10として選定してよい。
【0026】
(第1パス取得部)
第1パス取得部54は、作業内容取得部50が特定した設置領域AR0までの第1パスR1の情報を、取得する。第1パスR1は、例えば設置領域AR0毎に、予め設定されている。第1パス取得部54は、例えば記憶部42から、作業内容取得部50が特定した設置領域AR0に対して設定された第1パスR1を、取得する。以下、第1パスR1について具体的に説明する。
【0027】
図1に示すように、第1パスR1は、移動体10が向かう設置領域AR0(目標物P)よりも方向X側で、方向Yに沿って設置領域AR0(目標物P)を横切る軌道となっている。より詳しくは、第1パスR1は、検出軌道R1aと、検出軌道R1aに接続されるアプローチ軌道R1bとを含む。
【0028】
図1に示すように、検出軌道R1aは、設置領域AR0(目標物P)よりも方向X側で、方向Yに沿って設置領域AR0(目標物P)を横切る軌道である。検出軌道R1aは、設置領域AR0までの方向Xにおける距離が、所定距離の範囲内となるように設定されることが好ましい。ここでの所定距離は、検出軌道R1aを移動中の移動体10のセンサ26によって、設置領域AR0内の目標物Pの位置及び姿勢が検出可能な距離である。より詳しくは、本実施形態においては、検出軌道R1aは、第1位置A1から第2位置A2までの軌道である。第1位置A1は、設置領域AR0よりも方向X側であり、かつ、設置領域AR0よりも方向Yと反対方向側の位置として設定されている。第2位置A2は、設置領域AR0よりも方向X側であり、かつ、設置領域AR0よりも方向Y側の位置として設定されている。本実施形態においては、第1位置A1と第2位置A2は、設置領域AR0までの方向Xにおける距離が、所定距離の範囲内となるように設定されており、第1位置A1と第2位置A2との方向Xにおける位置(X座標)は、一致している。検出軌道R1aは、第1位置A1から第2位置A2までの、方向Yに沿った直線軌道として設定される。ただし、第1位置A1と第2位置A2との、方向Xにおける位置(X座標)は、一致していなくてもよい。また、検出軌道R1aは、直線軌道であることに限られず、第1位置A1から第2位置A2までで任意の軌跡を描く軌道であってよい。
【0029】
図1に示すように、アプローチ軌道R1bは、第2位置A2から設置領域AR0に向かう軌道である。より詳しくは、アプローチ軌道R1bは、第2位置A2から、設定位置A3zまでの軌道である。設定位置A3zは、設置領域AR0内における目標物Pの位置及び姿勢が所定の状態を満たす(目標物Pが設置領域AR0に対してずれ無く理想的に配置されている)と仮定した場合に、目標物Pに対して所定の位置及び姿勢となる位置及び姿勢である。すなわち、設定位置A3zは、目標物Pの位置及び姿勢が所定の状態を満たすと仮定した場合に、移動体10が目標物Pをピックアップ可能な位置及び姿勢であり、目標物Pの位置及び姿勢が所定の状態を満たす場合の目標位置A3であるともいえる。図1の例では、アプローチ軌道R1bは、第2位置A2から、第2位置A2よりも方向Yと反対側の中間位置ASB0までの直線軌道と、中間位置ASB0から設定位置A3zまでの曲線軌道と、を含む。第2位置A2から中間位置ASB0までの直線軌道は、検出軌道R1aに重なることが好ましい。
【0030】
なお、図示は省略するが、第1パスR1は、移動体10の移動開始位置から第1位置A1までの軌道も含んでよい。
【0031】
ただし、第1パスR1は、以上のような軌道であることに限られない。例えば、第1パスR1は、アプローチ軌道R1bを含まないものであってよい。すなわち、第1パスR1は、少なくとも、第1位置A1から第2位置A2までの検出軌道R1aを含むものであってよい。さらにいえば、第1パスR1は、検出軌道R1aのような設置領域AR0(目標物P)を横切る軌道を含むことにも限られず、例えば、設置領域AR0(目標物P)の前面に向けて直線的に近づいていく軌道などであってもよい。またさらにいえば、第1パスR1は、移動体10が後方向に直進して設置領域AR0(目標物P)を横切り第2位置A2で切り返すことに限られず、移動体10が前方向に直進して旋回することで設置領域AR0(目標物P)の前面に向けて近づいていく軌道などであってもよい。
【0032】
第1パスR1は、設備Wの地図情報に基づき予め設定される。設備Wの地図情報は、設備Wに設置されている障害物(柱など)や移動体10が走行可能な通路などの位置情報を含んだ情報であり、領域AR内で移動体10が移動可能な領域を示す情報といえる。また、第1パスR1は、設備Wの地図情報に加えて、移動体10の車両仕様の情報にも基づき、設定されてよい。車両仕様の情報とは、例えば、移動体10の大きさや最小旋回半径など、移動体10が移動可能な経路に影響を及ぼす仕様である。車両仕様の情報にも基づき第1パスR1が設定されている場合、第1パスR1は、移動体毎に設定されてよい。なお、第1パスR1は、人によって、地図情報や車両仕様の情報などに基づき設定されてもよいし、情報処理装置14などの装置によって、地図情報や車両仕様の情報などに基づき、自動的に設定されてもよい。自動的に第1パスR1を設定する場合、例えば通過して欲しいポイント(Waypoint)を指定してもよく、この場合、通過して欲しいポイントを通過しつつ、最短、かつ障害物(壁などの固定物)を避けた第1パスR1の設定が可能となる。
【0033】
なお、第1パス取得部54は、予め設定された第1パスR1を読み出すことなく、演算によって第1パスR1を設定してもよい。この場合、第1パス取得部54は、対象となる移動体10の位置情報と、設置領域AR0の位置情報と、設備Wの地図情報とに基づき、移動体10の現在位置から、第1位置A1、第2位置A2を経由して、移動先である設定位置A3zまでの経路を、第1パスR1として生成してよい。
【0034】
情報処理装置14は、取得した第1パスR1の情報を、通信部40を介して、対象となる移動体10に送信する。第1パスR1は、設置領域AR0に向かう経路であるため、移動体10の移動に関する情報であるといえる。
【0035】
(移動体の制御装置)
次に、移動体10の制御装置28について説明する。図5は、移動体の制御装置の模式的なブロック図である。制御装置28は、移動体10を制御する。制御装置28は、移動体10のセンサ26による複数回の検出結果に基づいて設定された第2パスR2に沿って、移動体10を目標位置A3まで移動させて、移動体10に目標物Pをピックアップさせる。制御装置28は、コンピュータであり、図5に示すように、通信部60と記憶部62と制御部64とを含む。通信部60は、制御部64に用いられて、情報処理装置14などの外部の装置と通信するモジュールであり、例えばアンテナなどを含んでよい。通信部40による通信方式は、本実施形態では無線通信であるが、通信方式は任意であってよい。記憶部62は、制御部64の演算内容やプログラムなどの各種情報を記憶するメモリであり、例えば、RAMと、ROMのような主記憶装置と、HDDなどの外部記憶装置とのうち、少なくとも1つ含む。
【0036】
制御部64は、演算装置、すなわちCPUである。制御部64は、第1パス情報取得部70と、移動制御部72と、検出制御部74と、点群重畳部76と、目標物情報取得部78と、第2パス情報取得部80とを含む。制御部64は、記憶部62からプログラム(ソフトウェア)を読み出して実行することで、第1パス情報取得部70と移動制御部72と検出制御部74と点群重畳部76と目標物情報取得部78と第2パス情報取得部80とを実現して、それらの処理を実行する。なお、制御部64は、1つのCPUによってこれらの処理を実行してもよいし、複数のCPUを備えて、それらの複数のCPUで、処理を実行してもよい。また、第1パス情報取得部70と移動制御部72と検出制御部74と点群重畳部76と目標物情報取得部78と第2パス情報取得部80との少なくとも一部を、ハードウェア回路で実現してもよい。また、記憶部62が保存する制御部64用のプログラムは、制御装置28が読み取り可能な記録媒体に記憶されていてもよい。
【0037】
(第1パス情報取得部)
第1パス情報取得部70は、第1パスR1の情報を取得する。第1パス情報取得部70は、その移動体10が作業対象として選定された際に、情報処理装置14から第1パスR1の情報を取得してもよいし、予め記憶部62に記憶された第1パスR1の情報を読み出してもよい。
【0038】
(移動制御部)
移動制御部72は、移動体10の駆動部やステアリングなどの移動機構を制御して、移動体10の移動を制御する。移動制御部72は、第1パス情報取得部70が取得した第1パスR1や、後段の第2パス情報取得部80が取得した第2パスR2に従って、移動体10を移動させる。移動制御部72は、移動体10の位置情報を逐次把握することで、第1パスR1や第2パスR2を通るように、移動体10を移動させる。移動体10の位置情報の取得方法は任意であるが、例えば本実施形態では、設備Wに図示しない検出体が設けられており、移動制御部72は、検出体の検出に基づき移動体10の位置及び姿勢の情報を取得する。具体的には、移動体10は、検出体に向けてレーザ光を照射し、検出体によるレーザ光の反射光を受光して、設備Wにおける自身の位置及び姿勢を検出する。ここでの移動体10の位置とは、設備Wの領域Aにおける方向X及び方向Yの二次元座標であり、以下においても、位置とは、別途説明が無い限り、領域Aにおける二次元座標を指す。また、移動体10の姿勢とは、方向X及び方向Yに直交する方向Zから見た場合の移動体10の向き(回転角度)である。また、移動体10の位置及び姿勢の情報の取得方法は、検出体を用いることに限られず、例えば、SLAM(Slmultaneous Localization and Mapping)などの自己位置推定技術を用いてもよい。
【0039】
(検出制御部)
検出制御部74は、センサ26に目標物Pの前面Paを複数回検出させて、センサ26の複数回の検出結果を点群として取得する。また、検出制御部74は、センサ26から照射される光の目標物Pへの入射角を算出し、入射角に基づき、取得した点群のうちから、目標物Pの位置及び姿勢を特定するための点群を選択する。検出制御部74の具体的な処理内容は後述する。
【0040】
(点群重畳部)
点群重畳部76は、検出制御部74が取得した、センサ26の複数の検出結果に対応する点群を同一座標系で重畳する。点群重畳部76の具体的な処理は後述する。
【0041】
(目標物位置情報取得部)
目標物情報取得部78は、検出制御部74が選択した点群の位置に基づいて特定された、目標物Pの位置及び姿勢の特定結果を取得する。さらに言えば、本実施形態の目標物情報取得部78は、重畳された点群の位置に基づいて特定された、目標物Pの位置及び姿勢の特定結果を取得する。目標物情報取得部78の具体的な処理は後述する。
【0042】
(第2パス情報取得部)
第2パス情報取得部80は、目標物の位置及び姿勢に基づいて設定された、目標位置A3までの第2パスR2の情報を取得する。第2パス情報取得部80の具体的な処理は後述する。
【0043】
(制御装置の処理)
次に、移動体10が目標物Pに向かう際の制御装置28の処理について説明する。
【0044】
(第1パスに沿った移動)
制御装置28の移動制御部72は、第1パス情報取得部70が取得した第1パスR1に従って、移動体10を移動させる。移動制御部72は、現在の移動体10の位置から、第1位置A1を経由して第2位置A2まで、第1パスR1を通るように、移動体10を移動させる。
【0045】
(点群の取得)
図6は、目標物の検出を説明する模式図である。検出制御部74は、図6に示すように、移動体10が、第1パスR1に沿って第1位置A1から第2位置A2までの間を移動中に、すなわち検出軌道R1aを移動中に、センサ26に、目標物Pの前面Paを複数回検出させる。検出制御部74は、センサ26に、位置が既知である設置領域AR0に向けて検出を行わせることで、目標物Pの前面Paを検出させる。具体的には、検出制御部74は、センサ26に、目標物Pが設置された設置領域ARに向けて、レーザ光LTを照射させる。レーザ光LTは目標物Pの前面Paで反射され、センサ26は、目標物Pの前面Paからの反射光を受光する。検出制御部74は、センサ26が受光した反射光の検出結果に基づき、計測点Mの集合である点群M0を取得する。計測点Mとは、レーザ光LTが反射された位置(座標)を示す点であり、点群M0とは、レーザ光LTが反射された位置を示す点の集合を指す。本実施形態では、検出制御部74は、反射光の検出結果と移動体10の位置に基づき、反射光が反射された箇所の、方向X及び方向Yの二次元座標系COにおける位置(座標)を、計測点Mとして算出する。ただし、検出制御部74は、二次元座標系COにおける位置を計測点Mとすることに限られず、センサ26や移動体10を基準とした座標系における位置を、計測点Mとしてもよい。
【0046】
(点群の選択)
図7は、点群の選択を説明するための模式図である。検出制御部74は、検出の際にセンサ26から照射された光の目標物Pへの入射角θを推定し、推定した入射角θに基づいて、その検出により取得した点群M0に含まれる計測点Mのうちから、目標物Pの位置及び姿勢の特定に用いるための計測点Mを、選択する。以下、入射角θに基づいて計測点Mを選択する処理の例を具体的に説明する。
【0047】
(近似線Kの算出)
検出制御部74は、入射角θを算出するために、今回の検出(スキャン)とは別の検出(スキャン)により取得された計測点Mについての、近似線Kを算出する。言い換えれば、今回選択する計測点Mに対応する検出を第2の検出とすると、検出制御部74は、第2の検出とは別の検出である第1の検出で取得された計測点Mに基づき、第1の検出で取得された計測点Mについての近似線Kを算出するといえる。第1の検出で取得された計測点Mは目標物Pの前面Paに対応するため、近似線Kは、目標物Pの前面Paの向きに対応するといえる。本実施形態においては、検出制御部74は、各計測点Mに対して最小二乗法によって直線フィッティングを行うことで、近似線Kを算出する。ただし、近似線Kの算出方法は、最小二乗法に限られず、任意の方法を用いてよい。また、検出制御部74は、第1の検出で取得された計測点Mの一部を用いて近似線Kを算出してもよいし、全てを用いて近似線Kを算出してもよい。また、本実施形態では、目標物Pの前面Paが平面状であるため、近似線Kを直線として算出するが、近似線は直線であることに限られない。例えば前面Paが曲面であることが既知である場合などには、それに合わせて、近似線Kを曲線として算出してもよい。
【0048】
本実施形態では、今回計測点Mを選択するよりも前に、複数回の検出によって取得された計測点Mがある場合には、検出制御部74は、それらの複数回の検出によって取得された計測点Mの近似線を、近似線Kとして算出する。言い換えれば、今回選択する計測点Mに対応する検出を第3の検出とし、今回計測点Mを検出するよりも前に取得された計測点Mに対応する検出を、第1の検出及び第2の検出とすると、検出制御部74は、第1の検出及び第2の検出で取得された計測点Mに基づき、第1の検出及び第2の検出で取得された計測点Mの近似線Kを算出する。すなわち、検出制御部74は、センサ26による検出数が増えるごとに、直近の検出により取得された計測点Mを加えて近似線Kを算出しなおすことで、近似線Kを更新する。なお、検出制御部74は、今回よりも前の複数回の検出で取得された計測点Mの一部を用いて近似線Kを算出してもよいし、全てを用いて近似線Kを算出してもよい。
【0049】
より詳しくは、本実施形態では、検出制御部74は、後述する点群重畳部76によって重畳された計測点Mに基づき、点群重畳部76によって重畳された計測点Mの近似線Kを検出する。詳しくは後述するが、点群重畳部76によって重畳された計測点Mは、目標物Pの前面Paを高精度に検出するために取捨選択された計測点Mであるため、点群重畳部76によって重畳された計測点Mを用いることで、近似線Kを目標物Pの前面Paにより適切に対応させることができる。ただし、検出制御部74は、近似線Kの算出に、点群重畳部76によって重畳された計測点Mを用いることに限られず、今回の検出とは別の検出により取得された任意の計測点Mを用いてよい。
【0050】
検出制御部74は、入射角θを算出するために、今回の検出を行った際の移動体10の位置AR1の情報と、今回の検出により取得された計測点Mの位置の情報とを取得する。より詳しくは、位置AR1は、今回の検出を行った際の、検出を行ったセンサ26の二次元座標系COにおける位置である。上述のように、移動体10の位置は移動制御部72によって検出されており、かつ、移動体10の座標系におけるセンサ26の位置は、例えば設計情報などから取得できる。従って、検出制御部74は、移動体10の位置に基づき、今回の検出を行ったセンサ26の位置AR1の情報を取得できる。なお、位置AR1は、今回の検出を行ったセンサ26の位置であることに限られず、例えば、今回の検出を行った際の移動体10の任意の基準位置であってよい。
【0051】
(入射角の算出)
検出制御部74は、近似線Kと、位置AR1と、今回の検出により取得された計測点Mとの位置関係に基づき、入射角θを算出する。検出制御部74は、近似線Kと位置AR1と計測点Mとの位置関係に基づき、位置AR1から計測点Mに向かう方向をレーザ光LTの進行方向とし、近似線Kを目標物Pの前面Paと仮定することで、入射角θを算出する。具体的には、図7の例に示すように、検出制御部74は、近似線Kに直交する垂線K1(近似線Kの法線)と、位置AR1と計測点Mとを結ぶ直線K2とのなす角度を、入射角θとして算出する。検出制御部74は、今回の検出により取得された計測点M毎に、入射角θを算出する。ただし、入射角θの算出方法はこれに限られない。例えば、近似線Kと直線K2とのなす角度を、入射角θとして算出してもよい。
【0052】
(入射角に基づく点群の選択)
検出制御部74は、入射角θに基づき、今回の検出により取得された各計測点Mのうちから、目標物の位置及び姿勢を特定するための計測点Mを選択する。検出制御部74は、選択した計測点Mの情報を、記憶部62に含まれるバッファ(一時記憶領域)に保存する。検出制御部74は、今回の検出により取得された計測点Mのうちで、入射角θが所定範囲内となる計測点Mを、目標物の位置及び姿勢を特定するための計測点Mとして選択する。一方、検出制御部74は、入射角θが所定範囲の範囲外となる計測点Mについては、目標物の位置及び姿勢を特定するための計測点Mとして選択せず、目標物の位置及び姿勢を特定するための計測点Mからは除外する。
【0053】
所定範囲は、任意に設定されてよいが、本実施形態では、入射角θがその所定範囲内であれば計測点Mの検出精度が担保されるものとして、予め設定される。この場合、所定範囲は、センサ26の性能や目標物Pの特性(例えば目標物Pの形状、大きさ、材質及び色彩の少なくとも1つ)に応じて異なる場合がある。そのため、今回使用するセンサ26と同じ種類のセンサに、今回の検出対象となる目標物Pと同じ種類であり位置及び姿勢が既知の目標物を検出させておき、その検出結果に基づいて、所定範囲を設定してもよい。また、所定範囲は、センサ26と目標物Pとの間の距離にも応じて変化する場合がある。この場合、今回使用するセンサ26と同じ種類のセンサに、今回の検出対象となる目標物Pと同じ種類であり位置及び姿勢が既知の目標物を、目標物とセンサとの距離を変えながら検出させておき、その検出結果に基づき、目標物とセンサとの距離毎に、所定範囲を設定してよい。そして、検出制御部74は、今回の検出における目標物Pとセンサ26との距離に対応する所定範囲を読み出して、計測点Mの選択に用いてよい。以上をまとめると、所定範囲は、例えば、センサ26の性能と、目標物Pの特性と、センサ26と目標物Pとの間の距離との、少なくとも1つに応じて設定されてよい。また、本実施形態では、所定範囲は、例えば所定の下限値と上限値との間の範囲であるが、それに限られず、例えば下限値だけを設定して上限値を設定しなくてもよい。光を照射することで目標物Pを検出するタイプのセンサは、入射角θが小さいと、例えば目標物Pでのレーザ光LTの反射光の強度が高くなり過ぎるなどの理由により、検出精度の低下が顕著となる場合がある。それに対し、このように下限値を設定することで、検出精度が低い計測点Mを除外して、検出精度の低下を適切に抑制できる。また、入射角θが大きいと、例えばレーザ光LTが目標物Pでうまく反射されないなどの理由により、検出精度が低下する場合がある。従って、所定範囲に上限値も設定することがより好ましい。
【0054】
なお、本実施形態では、移動体10が移動する毎に検出を行わせるため、目標物Pに対する移動体10の位置が検出毎に変化し、目標物Pの同じ位置に対する入射角θも、検出毎に変化する。そのため、入射角θが所定範囲の範囲外となって選択から除外される計測点Mの位置が、目標物Pの前面Paにおいて集中することなく、目標物Pの前面Paの全体の計測点Mを選択することが可能となる。そのため、検出精度の低下をより適切に抑制できる。
【0055】
なお、計測点Mの選択に用いる近似線Kは、今回の検出以外の検出によって取得された計測点Mに基づき算出される。従って、今回の検出以外の検出によって取得された計測点Mが無い場合には、すなわち本実施形態では点群重畳部76によって重畳された計測点Mが無い場合には、計測点Mの選択を行わなくてよい。
【0056】
(点群の抽出)
図8は、点群の抽出を説明するための模式図である。検出制御部74は、選択した計測点Mのうちから、後述する点群重畳部76によって重畳される計測点Mを、言い換えれば目標物Pの位置及び姿勢の特定に用いる計測点Mを、抽出する。すなわち、検出制御部74は、センサ26による今回の検出で取得した点群M0に含まれる計測点Mを、今回の入射角θに基づいて選択した後、選択した計測点Mをさらに取捨選択して、目標物Pの位置及び姿勢の特定に用いる計測点Mを抽出する。検出制御部74は、抽出した計測点Mの情報を、記憶部62に含まれるバッファに保存する。本実施形態では、検出制御部74は、入射角θに基づいて選択された計測点Mに基づき、目標物Pの前面Paに対応する直線L(直線Lの位置及び姿勢)を算出し、直線Lと計測点Mとの位置関係に基づいて、抽出する計測点Mを選定する。以下、計測点Mを抽出する処理の例を具体的に説明する。
【0057】
(直線候補の取得)
図8に示すように、検出制御部74は、設置領域AR0の位置に基づき、検知対象領域ROIaを設定する。検知対象領域ROIaは、いわゆるROI(Regions Of Interest)である。検出制御部74は、設置領域AR0の位置に基づき、目標物Pの前面Paを含むと推定される領域を特定し、その領域を検知対象領域ROIaとする。検出制御部74は、例えば、設置領域AR0より幅が大きい検知対象領域ROIaを設定し、入射角θに基づいて選択された点群M0に含まれる計測点Mのうちから、検知対象領域ROIa内の計測点Mを抽出する。検出制御部74は、目標物Pの前面Paに対応する直線L0を検出するために、一以上の直線候補を取得する。検出制御部74は、一以上の直線候補のそれぞれについて、直線候補から規定距離以上の手前側の計測点Mについては他の計測点Mよりも選択における優先度が低い定数のスコアを付与する。検出制御部74は、検知対象領域ROIa内の計測点Mについてスコアを積算したスコア積算値に基づいて、一以上の直線候補の中から、目標物Pの前面Paに対応する直線L0を選択する。
【0058】
図9は、直線候補の具体例を示す模式図である。例えば、図9に示すように、検出制御部74は、検知対象領域ROIaより幅が狭い検知対象領域ROIbをさらに設定し、検知対象領域ROIbの中の点群M0から選択した2つの計測点Mを結ぶ直線を、直線候補として取得してもよい。図9では、検出制御部74が、検知対象領域ROIbの中の点群M0に基づいて4つの直線候補L1、L2、L3、L4を取得する例を示している。検知対象領域ROIbは、隣接する荷物などが入り込まない程度の幅に設定されることが好ましい。検知対象領域ROIbは、設置領域AR0より幅が大きくてもよいし、小さくてもよい。
【0059】
ここで、直線候補の取得方法について具体例を説明する。検出制御部74は、検知対象領域内の点群M0からRANSACアルゴリズムにより選択した2つの計測点Mを結ぶ直線を、直線候補として取得するように構成されてもよい。この場合の検知対象領域は、検知対象領域ROIbであるが、検知対象領域ROIaであってもよいし、検知対象領域ROIa、ROIbとは異なる領域であってもよい。RANSAC(RANdom SAmple Consensus)は、ランダムに2つの点を選択して評価値を算出する手法である。なお、本開示に係る直線候補の取得手法には、RANSACを用いた手法に限られず、PROSAC(PROgressive SAmple Consensus)等の他のアルゴリズムが使用されてもよい。
【0060】
検出制御部74は、検知対象領域の幅方向中央の右側及び左側のそれぞれの点群M0から1つずつ選択した2つの計測点Mを結ぶ直線を、直線候補として取得するように構成されてもよい。この場合、組み合わせの数が有限となるため、すべての2点の組み合わせについて直線候補としてもよい。
【0061】
(直線L0の検出)
検出制御部74は、一以上の直線候補のそれぞれについてスコア積算値を算出し、スコア積算値に基づいて、目標物Pの前面Paに対応する直線L0を検出する。検出制御部74は、スコア積算値が示す優先度が高い直線候補に対して、検知対象領域ROIb外かつ検知対象領域ROIa内の点群M0を含めて、それを直線L0として選択(すなわち検出)し、この様な点群M0についても後続の処理の対象としてもよい。以降では、一例として、検出制御部74が、スコア積算値に基づいて、図9に示す直線候補L1を直線L0として選択するものとする。
【0062】
ここで、スコア積算値について説明する。例えば、スコア積算値の高い直線候補を優先的に線分検出に使用する直線として選択する場合には、「優先度が低い定数のスコア」は、スコア積算値を小さくするような値のスコアを意味する。一方、例えば、スコア積算値の低い直線候補を優先的に選択する場合には、「優先度が低い定数のスコア」は、スコア積算値を大きくするような値のスコアを意味する。
【0063】
検出制御部74は、スコア積算値の算出において、点群M0を構成する各計測点Mと直線候補との垂直距離を利用する。具体的には、検出制御部74は、直線候補から規定距離未満の計測点Mについては、直線候補から規定距離以上の手前側(検出時の移動体10の位置に近い側)の計測点Mよりも優先度が高く、かつ直線候補に近いほど優先度が高いスコアを付与する。例えば、検出制御部74は、規定距離以上の手前側の計測点Mはマイナスの定数のスコアを付与するのに対し、規定距離未満の計測点Mはプラスのスコアを付与する。プラスのスコアの値は、直線候補からの距離に依存する変数である。
【0064】
図10は、スコアの一例を示すグラフである。このグラフの横軸は、Y方向(深度)に対応し、計測点Mと直線候補との距離を示し、横軸方向の右に行くほど奥側(検出時の移動体10の位置から遠い側)であることを意味する。深度がゼロの位置は直線候補の位置である。縦軸は付与するスコアの値を示している。図10に示す例では、直線候補から規定距離以上の手前側の計測点Mにはマイナスの定数のスコアが付与される。このように、直線候補から規定距離以上の手前側の計測点Mには、直線候補と計測点Mとの距離によらず一定のペナルティを課している。直線候補から規定距離未満の計測点Mには、直線候補に近いほど大きいプラスのスコアが付与される。
【0065】
検出制御部74は、スコア積算値の算出において、直線候補から規定距離以上の奥側の計測点Mについては、スコア積算値の積算対象から除外する。「スコア積算値の積算対象から除外する」とは、それらの計測点Mをスコア積算値の積算対象から実質的に除外することを意味し、それらの計測点Mにゼロのスコアを付与することであってもよいし、それらの計測点Mにスコアを付与しないことであってもよい。図10に示す例では、直線候補から規定距離以上の奥側の計測点Mにゼロのスコアが付与される。この様なスコア積算値の算出方法を採用すると、図9に示す例では、直線候補L1が直線L0線として選択される。なお、検出制御部74は、スコア積算値が示す優先度が高い複数の直線を検出してもよい。
【0066】
(直線Lの検出)
検出制御部74は、目標物Pの幅方向における両端点の位置を特定し、直線L0を両端点で区切った線分を、直線Lとして検出する。具体的には、検出制御部74は、直線L0から一以上の線分を抽出し、抽出した一以上の線分の中から設計情報から定まる目標物Pの両端の長さに対応する両端長さを有する一つの線分又は二以上の線分の組み合わせを探索する。「対応する長さ」とは、許容誤差の範囲内の長さを意味する。目標物Pの設計情報は、目標物Pの寸法(例えば、両端の長さ、開口PBの位置及び間隔等)を示す情報であり、例えば、制御装置28の記憶部62から読み出される。検出制御部74は、見つかった線分又は二以上の線分の組み合わせを、直線Lとする。
【0067】
図11は、直線の検出の一例を説明する模式図である。図11に示すように、例えば、検出制御部74は、選択した直線L0から3つの線分(丸で囲まれた計測点M)を抽出し、目標物Pの両端の長さに対応する両端長さWDを有する一つの線分又は二以上の線分の組み合わせを探索する。図11に示す例では、探索の結果、3つの線分の組み合わせの両端長さが検出されており、直線L0に沿った、両端長さWDの線分が、直線Lとして検出されるといえる。
【0068】
(直線Lに基づく点群の抽出)
検出制御部74は、以上のようにして検出した直線Lと計測点Mとの位置関係に基づき、入射角θに基づいて選択された計測点Mのうちから、点群重畳部76によって重畳される計測点Mを抽出する。例えば、検出制御部74は、直線Lに対して所定の距離範囲内にある計測点Mを、点群重畳部76によって重畳される計測点Mとして抽出してよい。このように直線Lと計測点Mとの位置関係に基づき計測点Mを抽出することで、目標物Pの前面Paに対応しない計測点Mを除去し、目標物Pの前面Paに対応する計測点Mを適切に抽出して、目標物Pの位置及び姿勢の検出精度を向上させることができる。また、検出制御部74は、目標物Pの設計情報などから取得された目標物Pの前面Paにおける柱PAや開口PBの相対位置に基づき、開口PBの位置にある推定される計測点Mを除外して、柱PAの位置にあると推定される計測点Mを抽出してもよい。
【0069】
なお、以上の説明では、検出制御部74は、センサ26による1回の検出により取得した点群M0を用いて直線Lを検出していたが、それに限られず、センサ26による複数回の検出により取得した点群M0を用いて直線Lを検出してもよい。すなわち、検出制御部74は、少なくとも1回の検出によって取得された点群M0に基づき、直線Lを検出してもよい。また、直線Lの検出方法は、以上の方法に限られず。任意の方法を用いてもよい。
【0070】
また、計測点Mを抽出する方法は、上記のように直線Lを用いることに限られず、検出制御部74は、任意の方法で計測点Mを抽出してもよい。さらに言えば、計測点Mを抽出する処理自体も必須ではなく、入射角θに基づいて選択された計測点Mの全てを、点群重畳部76によって重畳される計測点Mとしてもよい。
【0071】
(複数回の検出)
検出制御部74は、移動体10が第1パスR1(検出軌道R1a)を移動中に、センサ26に、目標物Pの前面Paの検出を、複数回行わせる。言い換えれば、検出制御部74は、移動体10が第1パスR1(検出軌道R1a)を移動中に、センサ26に、目標物Pの前面Paへのレーザ光LTのスキャンを、複数回行わせる。検出制御部74は、センサ26による複数回の検出結果を、点群M0として取得する。検出制御部74は、センサ26の検出結果毎に(センサ26が検出する度に)、以上で説明した、計測点Mを取得、選択、及び抽出する処理を、実行する。
【0072】
このように、本実施形態では、第1パスR1を移動中に、センサ26に複数回の検出を行わせるものである。すなわち、検出制御部74は、第1パスR1上での移動体10の位置毎にセンサ26に検出を行わせるため、各検出結果が取得された際の移動体10の位置は、互いに異なる。ただし、センサ26に検出させるタイミングは、第1パスR1を移動中であることに限られない。例えば、移動体10を停止させた状態でセンサ26に検出を行わせてもよい。また、検出制御部74は、1つのセンサ26に複数回の検出を行わせることに限られず、複数のセンサ26に同じ目標物Pを検出させることで、センサ26の複数回の検出結果を取得して点群M0としてもよい。
【0073】
(点群の重畳)
図12は、点群の重畳の具体例を説明するための模式図である。図12に示すように、点群重畳部76は、検出制御部74によって抽出された計測点M(点群M0)を、同一の座標系で重畳する。言い換えれば、点群重畳部76は、センサ26による複数回の検出結果に対応する計測点Mのうちで、検出制御部74によって抽出された計測点Mの、同一の座標系における位置(座標)の情報を取得する。本実施形態における同一の座標系とは、方向X及び方向Yの二次元座標系COであり、設備Wにおける座標系であるともいえる。すなわち、点群重畳部76は、検出制御部74によって抽出されたそれぞれの計測点Mを、二次元座標系COで重畳する(二次元座標系CO上でプロットする)。なお、計測点Mが二次元座標系COでの位置として算出される場合には、それぞれの計測点Mの座標系が共通するため、点群重畳部76は、それぞれの計測点Mに対して座標系の変換処理を行うことなく、それぞれの計測点Mの二次元座標系COでの位置の情報を取得できる。ただし例えば、それぞれの計測点Mが、移動体10を基準とした座標系など、同一の座標系における位置として算出されていない場合には、点群重畳部76は、計測点Mが検出された際の移動体10の二次元座標系COでの位置に基づき、それぞれの計測点Mの座標変換を行って、二次元座標系COでの計測点Mの位置を算出する。なお、それぞれの計測点Mを重畳する座標系は、二次元座標系COに限られず、例えば三次元座標系などであってもよい。
【0074】
(目標物の位置及び姿勢の特定)
目標物情報取得部78は、点群重畳部76によって二次元座標系COで重畳された各計測点M(点群M0)の位置に基づき、目標物Pの位置及び姿勢を特定する。以下、重畳された計測点Mに基づく目標物Pの位置及び姿勢の特定方法の具体例を説明する。
【0075】
(近似線の算出)
図13は、近似線の一例を示す模式図である。本実施形態では、目標物情報取得部78は、重畳された各計測点Mの近似線N(二次元座標系COでの近似線Nの位置及び姿勢)を算出し、近似線Nに基づき、目標物Pの位置及び姿勢を特定する。図13に示すように、近似線Nは、重畳された各計測点Mの近似線であり、センサ26による複数の検出結果に対応する各計測点Mの近似線であるといえる。本実施形態においては、目標物情報取得部78は、重畳された各計測点Mに対して最小二乗法によって直線フィッティングを行うことで、近似線Nを算出する。ただし、近似線Nの算出方法は、最小二乗法に限られず、任意の方法を用いてよい。例えば、センサ26による最初の検出で取得された点群M0に基づき算出した直線Lを近似線Nとしてもよいし、重畳された各計測点Mを用いて、RANSACを用いて直線を複数生成し、それぞれの直線の傾き分布から、前面Paに近い直線を、近似線Nとしてよい。なお、RANSACを用いた直線の生成方法は、上述の直線候補の生成方法と同様としてよい。また、本実施形態では、目標物Pの前面Paが平面状であるため、近似線Nを直線として算出するが、近似線は直線であることに限られない。例えば前面Paが曲面であることが既知である場合などには、それに合わせて、近似線Nを曲線として算出してもよい。
【0076】
(計測点の射影)
図14は、近似線に射影された計測点の一例を示す模式図である。目標物情報取得部78は、重畳された各計測点M(点群M0)を、近似線N上に射影することで、図14の例に示すように、二次元座標系COの計測点Mを近似線Nの座標系の計測点MAに変換する。言い換えれば、計測点MAは、二次元座標系COにおける計測点Mが、射影変換によって近似線Nの座標系となったものといえる。なお、近似線Nの座標系は、一次元の座標であり、近似線Nの座標系における計測点MAは、近似線Nに沿った方向における計測点の位置を指す。例えば、目標物情報取得部78は、近似線Nに対して計測点Mから垂線を引いて、垂線と近似線Nとの交点を、計測点MAとしてよい。
【0077】
本実施形態では、目標物情報取得部78は、近似線Nに基づき、目標物Pの姿勢を特定し、近似線Nの座標系における計測点MA(点群)の位置に基づき、目標物Pの位置を特定する。より詳しくは、目標物情報取得部78は、それぞれの計測点MAの位置に基づき位置毎の計測点MAの数を算出して、位置毎の計測点MAの数に基づいて計測点MAをクラスタリングすることで、目標物Pの位置を特定する。以下、この処理の具体例について説明する。
【0078】
(位置毎の計測点の数の算出)
図15は、計測点のヒストグラムの一例を示す模式図である。目標物情報取得部78は、近似線Nの座標系の計測点MAに基づき、近似線Nの座標系における位置毎の計測点MAの数を算出する。例えば、目標物情報取得部78は、近似線Nの座標系を複数の単位範囲に区分して、それぞれの計測点MAを、いずれかの単位範囲に割り当てる。すなわち、目標物情報取得部78は、近似線Nの座標系における計測点MAの位置を範囲に含む単位範囲に、その計測点MAを割り当てる。目標物情報取得部78は、計測点MAを単位範囲に割り当てる処理を計測点MA毎に実行して、単位範囲毎の計測点MAの数を算出する。図14は、単位範囲毎の計測点MAの数の一例を示すヒストグラムである。目標物情報取得部78は、図15に示すような、近似線Nの座標系における単位範囲毎の計測点MAの数を示すヒストグラムを生成してもよい。
【0079】
(計測点のクラスタリング)
目標物情報取得部78は、近似線Nの座標系における位置毎の計測点MAの数に基づき、近似線Nの座標系の計測点MAを、目標物Pの柱PAの個数分にクラスタリング(分類)することで、柱PAの個数分のクラスタ(計測点MAの集合)を生成する。すなわち、目標物情報取得部78は、近似線Nの座標系における位置毎の計測点MAの数に基づき、計測点MAが目標物Pのどの柱PAの位置を示す計測点であるかを特定する。具体的には、目標物情報取得部78は、計測点MAの数が所定数以上となる単位範囲を含む範囲RAを、前面Paの柱PAの個数分、抽出する。そして、目標物情報取得部78は、同じ範囲RAに含まれる計測点MAを、同じクラスタとする。さらにいえば、ここでの範囲RAは、その範囲RAに含まれている単位範囲の全てにおいて計測点MAの数が所定数以上となる、近似線Nの座標系における範囲(区間)を指すことが好ましい。この場合、範囲RA同士は重ならないものとする。また、ここでの所定数は、任意に設定してよいが、例えば単位範囲毎の計測点MAの数の最大値に基づき決定してよく、例えば最大値の1/3を所定数として設定してよい。
【0080】
本実施形態の例では、目標物Pは、図12に示すように、前面Paの柱PAとして、幅方向(図12の例ではY方向)における中央の柱PA1と、幅方向において柱PA1の一方側にある柱PA2と、柱PA1の他方側にある柱PA3との3つを有している。そのため、本実施形態の例では、目標物情報取得部78は、図15に示すように、計測点MAの数が所定数以上となる範囲RAとして、範囲RA1、RA2、RA3の3つを抽出する。そして、目標物情報取得部78は、近似線Nの座標系において中央に位置する範囲RA1に含まれる計測点MAを、柱PA1に対応する計測点としてクラスタリングし、範囲RA1の一方側にある範囲RA2に含まれる計測点MAを、柱PA2に対応する計測点としてクラスタリングし、範囲RA1の他方側にある範囲RA3に含まれる計測点MAを、柱PA3に対応する計測点としてクラスタリングする。ただし、柱PAの数は3つに限られず任意であり、クラスタの数は、柱PAの数に応じて決まる。また、計測点MAをクラスタリングする方法は上記に限られず、任意の方法で行ってもよい。
【0081】
(目標物の位置及び姿勢の特定)
図16は、目標物の位置の特定方法の一例を説明する模式図である。上述のように、目標物情報取得部78は、近似線Nに基づき、二次元座標系COにおける目標物Pの姿勢を特定する。例えば、目標物情報取得部78は、二次元座標系COにおける近似線Nの傾きを、目標物Pの姿勢とする。また、目標物情報取得部78は、クラスタリングされた計測点MAの位置に基づいて、二次元座標系COにおける目標物Pの位置を特定する。具体的には、目標物情報取得部78は、クラスタリングされた計測点MAの位置に基づいて、目標物Pの位置として、目標物Pの前面Paの両端点の位置を算出する。そして、目標物情報取得部78は、算出した両端点で近似線Nを区切った線分を、目標物Pの前面Paの位置及び姿勢として特定する。なお、前面Paの両端点とは、前面Paの幅方向における一方側の端点と他方側の端点とを指す。
【0082】
本実施形態では、目標物情報取得部78は、クラスタ毎に基準位置Cを算出する。そして、目標物情報取得部78は、クラスタ毎の基準位置C同士の距離に基づいて、算出した基準位置Cを目標物Pの位置の特定に用いてよいかを判断する。クラスタは柱PA毎に分類されるため、基準位置Cは、それぞれの柱PAの位置に対応する位置といえる。目標物情報取得部78は、基準位置C同士の間の距離が所定の距離範囲内であるかを判断し、所定の距離範囲内である場合には、その基準位置Cを目標物Pの位置の特定に用いると判断する。この場合、目標物情報取得部78は、算出した基準位置Cに基づき、目標物Pの位置を特定する。例えば、目標物情報取得部78は、算出した基準位置Cのうちの少なくとも1つを用いて、目標物Pの前面Paの幅方向における中央位置を算出し、中央位置に基づき目標物Pの前面Paの両端点の位置を算出してよい。一方、基準位置C同士の間の距離が、所定の距離範囲の範囲外である場合には、すなわち、所定の距離範囲よりも短い距離である場合、又は所定の距離範囲よりも長い距離である場合には、その基準位置Cを目標物Pの位置の特定に用いないと判断する。この場合は、算出した基準位置Cを用いて目標物Pの位置の特定を行わず、例えば、センサ26による検出処理を再度行わせて、目標物Pの位置及び姿勢の特定処理をやり直す。なお、所定の距離範囲は、任意に設定されてよいが、例えば設計値における柱PAの中央位置同士の間の距離に、所定のマージンを持たせた数値範囲であってよい。
【0083】
本実施形態の例では、目標物情報取得部78は、基準位置Cとして、それぞれのクラスタの計測点MAの重心の位置を算出する。目標物情報取得部78は、重心同士の間の距離が所定の距離範囲内であるかを判断し、所定の距離範囲内である場合には、その重心の位置を目標物Pの基準位置Cの特定に用いると判断する。そして、目標物情報取得部78は、算出した重心の位置に基づき、目標物Pの位置を特定する。図16の例では、柱PA1に対応するクラスタM0A1に含まれる計測点MAの重心が基準位置C1であり、柱PA2に対応するクラスタM0A2に含まれる計測点MAの重心が基準位置C2であり、柱PA3に対応するクラスタM0A3に含まれる計測点MAの重心が基準位置C3である。この場合、目標物情報取得部78は、基準位置C1と基準位置C2との距離と、基準位置C1と基準位置C3との距離とが、所定の距離範囲の範囲内であるかを判定する。目標物情報取得部78は、基準位置C1と基準位置C2との距離と、基準位置C1と基準位置C3との距離とが、所定の距離範囲の範囲内である場合には、基準位置C1を目標物Pの前面Paの中央位置として、目標物Pの位置を算出する。一方、基準位置C1と基準位置C2との距離と、基準位置C1と基準位置C3との距離との少なくとも一方が、所定の距離範囲の範囲外である場合には、算出した基準位置C1を用いて目標物Pの位置の特定を行わず、例えば、センサ26による検出処理を再度行わせて、目標物Pの位置及び姿勢の特定処理をやり直す。
【0084】
なお、計測点MAは近似線Nの座標系における位置であるため、基準位置Cも近似線Nの座標系における位置として算出される。従って、目標物情報取得部78は、近似線Nの座標系における基準位置Cを、X方向及びY方向の二次元座標系COに変換して、目標物Pの中央位置としてよい。ただし、目標物情報取得部78は、それぞれのクラスタの計測点MAに対応する二次元座標系COにおける計測点Mを抽出し、抽出したクラスタ毎の計測点Mに基づき、二次元座標系COにおける目標物Pの基準位置Cを算出してもよい。この場合、目標物Pの基準位置Cが二次元座標系CO上の座標として算出されるため、その後の座標変換が不要となる。
【0085】
目標物情報取得部78は、以上のようにして、目標物Pの位置及び姿勢を特定する。ただし、目標物情報取得部78による目標物Pの位置及び姿勢の特定方法は以上の説明に限られず、目標物情報取得部78は、二次元座標系COで重畳された計測点M(点群M0)の位置に基づいて、任意の方法で、目標物Pの位置及び姿勢を特定してよい。
【0086】
(第2パスの設定)
図17は、第2パスに沿った移動の一例を示す模式図である。第2パス情報取得部80は、目標物情報取得部78が特定した目標物Pの位置及び姿勢から、目標位置A3を設定する。例えば、第2パス情報取得部80は、目標物Pの位置及び姿勢から、目標物Pをピックアップ可能な(直進することでフォーク24を目標物Pの開口PBに挿入することができる)位置及び姿勢を算出して、目標位置A3として設定する。一例として、開口PBの入口から、目標物Pの開口PBの軸方向に1000mm平行移動した箇所を、目標位置A3としてもよい。そして、第2パス情報取得部80は、図17に示すように、開始位置である第2位置A2から、設定した目標位置A3までの軌道を、第2パスR2として設定する。第2パス情報取得部80は、目標位置A3の情報に基づいて任意の方法で第2パスR2を設定してよいが、例えば、モデル予測制御(MPC:Model Predictive Control)によって、第2パスR2を算出してもよい。
【0087】
(第2パスに沿った移動)
移動制御部72は、第2位置A2から目標位置A3まで、第2パスR2を通るように、移動体10を移動させる。移動体10が目標位置A3に到着したら、移動制御部72は、目標位置A3から移動体10を直進させて、フォーク24を目標物Pの開口PBに挿入させて、目標物Pをピックアップさせる。移動制御部72は、目標物Pをピックアップした移動体10を、設定された搬送先まで搬送させる。
【0088】
このように、移動制御部72は、第2位置A2から目標位置A3まで、第2パスR2に沿って移動体10を移動させるが、それに限られず、例えば、第2パスR2に沿った移動と直接フィードバック制御による移動とを切り替えて、移動体10を目標位置A3まで移動させてもよい。直接フィードバックによる制御としては、例えば「尾里淳,丸典明 著「線形ビジュアルサーボによる全方向移動ロボットの位置と姿勢の制御」、日本機械学会論文集(C編)、第77巻、第774号、p.215-224、2011年2月25日」に記載されているような、ビジュアルサーボ方式による制御が挙げられる。また例えば、移動制御部72は、移動体10が第2パスR2に沿って目標位置A3に到着したら、直接フィードバックによる制御に切り替えて、目標物Pをピックアップするよう、移動体10を移動させてもよい。
【0089】
(目標物の位置及び姿勢検出の処理フロー)
次に、以上説明した目標物Pの位置及び姿勢検出についての、処理フローを説明する。図18は、目標物の位置及び姿勢検出の処理フローを説明するフローチャートである。制御装置28の検出制御部74は、移動体10が第1パスR1に沿って第1位置A1から第2位置A2までの間を移動中に、センサ26に目標物Pを複数回検出させる。すなわち本実施形態では、第1パスR1に沿って移動させつつ、センサ26に目標物Pを検出させる。図18に示すように、検出制御部74は、センサ26による検出結果から、点群M0(計測点M)を取得する(ステップS10)。そして、検出制御部74は、今回の検出以外の検出によって取得済みの計測点Mがあるかを、すなわち本実施形態では点群重畳部76によって重畳された計測点Mがあるかを、判断する(ステップS12)。重畳された計測点Mがある場合には(ステップS12;Yes)、検出制御部74は、重畳された計測点Mの近似線Kを算出し(ステップS14)、計測点M毎に入射角θを算出し(ステップS16)、入射角θに基づき、今回の検出で取得した計測点Mのうちから、計測点Mを選択する(ステップS18)。
【0090】
そして、検出制御部74は、選択した点群M0に基づいて、目標物Pの前面Paに対応する直線Lを算出する(ステップS20)。本実施形態では、検出制御部74は、計測点Mから直線候補を検出し、スコア積算値に基づいて直線L0を算出する。そして、検出制御部74は、目標物Pの幅方向における両端点の位置を特定し、直線L0を両端点で区切った線分を、直線Lとして検出する。なお、両端点の特定ができなかった場合には、計測点Mの抽出及び重畳を行うことなく、後述のステップS18に移動してよい。直線Lを検出したら、検出制御部74は、直線Lに基づき、取得した計測点Mのうちから、一部の計測点Mを抽出する(ステップS22)。本実施形態では、検出制御部74は、計測点Mと直線Lとの位置関係に基づき、計測点Mを抽出する。なお、重畳された計測点Mが無い場合には(ステップS12;No)、すなわち今回の検出以外の検出によって取得済みの計測点Mが無い場合には、計測点Mの選択を行うことなくステップS20に進み、今回の検出で取得された計測点Mを用いて、直線Lを算出して計測点Mを抽出する処理を行う。
【0091】
制御装置28の点群重畳部76は、検出制御部74によって抽出された計測点Mを、同一の座標系(ここでは二次元座標系CO)で重畳する(ステップS24)。なお、ステップS24においては、センサ26が前回検出してから今回検出するまでの移動体10の移動距離が、所定距離以上である場合に、計測点Mを重畳し、所定距離未満である場合には、計測点Mを重畳することなく、後述のステップS26に進んでもよい。移動距離は任意の方法で取得してよいが、例えば、センサ26が前回検出を行った際の移動体10の位置と、今回検出した際の移動体10の位置とから、センサ26が前回検出してから今回検出するまでの移動距離を算出することで、取得されてよい。
【0092】
点群重畳部76は、同一の座標系で重畳された計測点Mの数が十分であるかを判定し(ステップS26)、十分であると判定しない場合には(ステップS26;No)、すなわち計測点Mの数が十分ではないと判定した場合には、ステップS10に戻り、センサ26による他の検出結果(他のスキャンによる検出結果)による点群M0を取得させることで、点群M0の取得を繰り返す。このように計測点Mの数が十分となるまでセンサ26の検出を繰り返させることで、点群重畳部76は、センサ26の複数の検出結果に対応する十分な数の計測点Mを、同一の座標系で重畳することができる。なお、計測点Mの数が十分であるかの判定は、任意の方法で行ってよい。例えば、点群重畳部76は、計測点Mの数が閾値以上であるかを判定基準としてよい。この場合例えば、点群重畳部76は、重畳された計測点Mの数が閾値以上である場合には、計測点Mの数が十分であると判定し、閾値未満である場合には、計測点Mの数が十分でないと判定する。この場合の閾値は任意の数に設定されていてよいが、例えば1回の検出(スキャン)で抽出される一般的な計測点Mの数より多い数として、設定されることが好ましい。また例えば、点群重畳部76は、センサ26による検出の回数(スキャンの回数)を判定基準としてよい。この場合例えば、点群重畳部76は、センサ26による検出の回数が所定回数以上である場合には、計測点Mの数が十分であると判定し、所定回数未満である場合には、計測点Mの数が十分でないと判定する。ここでの所定回数は、例えば、2回以上の任意の回数として設定されてよい。
【0093】
なお、本実施形態では、センサ26が1回検出する度に、計測点Mを取得、選択、抽出、及び重畳する処理を行って、ステップS26で十分な数の計測点Mが重畳されたかを判断するが、それに限られない。例えば、センサ26が任意の複数回検出してから、計測点Mを取得、選択、抽出、及び重畳する処理を行って、ステップS26で十分な数の計測点Mが重畳されたかを判断してもよい。
【0094】
計測点Mの数が十分であると判定された場合(ステップS26;Yes)、制御装置28の目標物情報取得部78は、点群重畳部76によって重畳された各計測点M(点群M0)の位置に基づき、重畳された計測点Mの近似線Nを算出する(ステップS28)。目標物情報取得部78は、点群重畳部76によって重畳された各計測点Mを、近似線Nの座標系に変換して(ステップS30)、近似線Nの座標系の計測点MAを取得する。そして、目標物情報取得部78は、計測点MAをクラスタリングして、基準位置Cを算出する(ステップS32)。本実施形態では、目標物情報取得部78は、計測点MAをクラスタ毎に分類して、クラスタ毎に基準位置Cを算出する。そして、目標物情報取得部78は、基準位置C同士の距離が所定の距離範囲内であるかを判断して(ステップS34)、所定の距離範囲内にない場合には(ステップS34;No)、ステップS10に戻る。また、クラスタリングが実行できない場合にも(例えば柱PAの個数分のクラスタに分類することができない場合にも)、ステップS10に戻ってよい。
【0095】
基準位置C同士の距離が所定の距離範囲内である場合には(ステップS34;Yes)、目標物情報取得部78は、近似線Nと基準位置Cとに基づき、目標物Pの位置及び姿勢を特定する(ステップS36)。本実施形態では、目標物情報取得部78は、近似線Nに基づいて目標物Pの姿勢を特定し、基準位置Cに基づき、目標物Pの位置を特定する。具体的には、本実施形態の例では、目標物情報取得部78は、計測点MAのクラスタのそれぞれの重心を基準位置Cとして特定して、重心同士の距離を算出する。そして、重心同士の距離が所定の距離範囲内である場合には、目標物Pの基準位置Cと近似線Nとから、目標物Pの前面Paの両端点の位置を算出し、算出した両端点で近似線Nを区切った線分を、目標物Pの前面Paとして特定する。
【0096】
ステップS36での目標物Pの位置及び姿勢の特定ができたら、制御装置28は、目標物Pの位置及び姿勢に基づいて第2パスR2を生成して、第2パスR2に沿って移動体10を移動させて、目標物Pの前面Paにアプローチさせる。
【0097】
(効果)
以上説明したように、本実施形態に係る移動体10において、検出制御部74は、今回の検出以外の検出で取得された計測点Mに基づき近似線Kを算出し、近似線Kと移動体10の位置AR1と計測点Mの位置とに基づき、今回の検出におけるレーザ光LTの入射角θを算出する。そして、検出制御部74は、入射角θに基づき、目標物Pの位置及び姿勢の特定に用いる計測点Mを選択する。そのため、本実施形態によると、検出精度が低い計測点Mを除外して、検出精度が高い計測点Mを用いて、目標物Pの位置及び姿勢を特定することが可能となる。従って、本実施形態によると、目標物Pの検出精度の低下を好適に抑制できる。特に、光を照射して目標物Pを検出するタイプのセンサ26は、目標物Pへの光の入射角に応じて、検出精度が変化することが顕著である。それに対し、本実施形態のように、入射角θを推定して、それに基づき使用する計測点Mを選択することで、検出精度の低下を好適に抑制できる。
【0098】
なお、本実施形態では、移動体10の制御装置28が、近似線Kを算出し、入射角θを算出し、入射角θに基づいて計測点Mを選択し、選択した計測点Mに基づいて目標物Pの位置及び姿勢を特定していた。ただし、以上で説明した制御装置28が行う処理は、移動体10が実施することに限られず、例えば情報処理装置14などの他の装置がこれらの処理の少なくとも一部を実行して、移動体10は、その結果を取得するものであってもよい。すなわち例えば、移動体10の検出制御部74は、近似線Kの情報を取得するものであってよく、自身で近似線Kを算出してもよいし、算出された近似線Kの情報を外部の装置から取得してもよい。また例えば、移動体10の検出制御部74は、入射角θの情報を取得するものであってよく、自身で入射角θを算出してもよいし、入射角θの算出結果を外部の装置から取得してもよい。検出制御部74が外部の装置から入射角θの算出結果を取得する場合には、移動体10は、近似線Kを用いて演算する必要はないため、近似線Kの情報を取得する必要はないといえる。また例えば、移動体10の検出制御部74は、入射角θに基づき選択された計測点Mの情報を取得するものであってよく、自身で入射角θに基づき計測点Mを選択してもよいし、選択された計測点Mの情報を外部の装置から取得してもよい。検出制御部74が外部の装置から選択された計測点Mの情報を取得する場合には、移動体10は、入射角θに基づき計測点Mを選択する必要はないため、入射角θの情報を取得する必要はないといえる。また例えば、移動体10の目標物情報取得部78は、目標物Pの位置及び姿勢の情報を取得するものであってよく、自身で目標物Pの位置及び姿勢を特定してもよいし、外部の装置から目標物Pの位置及び姿勢の情報を取得してもよい。目標物情報取得部78が外部の装置から目標物Pの位置及び姿勢の情報を取得する場合には、移動体10は、選択された計測点Mの情報を用いて演算する必要はないため、選択された計測点Mの情報を取得する必要はないといえる。また例えば、移動体10の第2パス情報取得部80は、第2パスR2の情報を取得するものであってよく、自身で目標物Pの位置及び姿勢に基づき第2パスR2を設定してもよいし、外部の装置から第2パスR2の情報を取得してもよい。第2パス情報取得部80が外部の装置から第2パスR2の情報を取得する場合には、移動体10は、目標物Pの位置及び姿勢を用いて演算する必要はないため、重畳された点群M0の情報や、目標物Pの位置及び姿勢の情報を取得する必要はないといえる。
【0099】
(変形例)
第1実施形態においては、目標物Pの位置の特定に用いる基準位置Cとして、クラスタ毎の計測点MAの重心を用いたが、重心を基準位置Cとして用いることに限られない。以下、第1実施形態の変形例について説明する。以降の変形例において、第1実施形態と共通する箇所は、説明を省略する。
【0100】
(第1変形例)
図19は、第1変形例における目標物の位置の特定方法の例を説明する模式図である。第1変形例においては、目標物情報取得部78は、所定区間SEと、検知区間RAとを設定する。所定区間SEとは、近似線の座標系において予め設定された所定の範囲となる区間であり、言い換えれば、近似線に沿って所定の長さとなる区間である。所定区間SEの長さは任意に設定してよい。検知区間RAとは、近似線の座標系において、予め設定された所定の範囲であり、かつ予め設定された所定の位置(座標)となる区間である。検知区間RAは、柱PAが存在していると想定される位置であり、検知区間RAの位置は任意の方法で設定されてよい。また、検知区間RAの範囲(長さ)も、任意に設定されてよいが、例えば所定区間SEの範囲(長さ)よりも長く設定される。検知区間RAは、目標物Pの柱PAの個数分、すなわち計測点MAのクラスタの個数分、設定される。図19の例では、中央の柱PA1に対応する検知区間RA1と、一方側の柱PA2に対応する検知区間RA2と、他方側の柱PA3に対応する検知区間RA3とが設定された例を示している。なお、検知区間RAの位置や長さは、計測点MAのクラスタの位置に基づき、検知区間RAにクラスタが含まれるように、設定されてもよい。この場合例えば、検知区間RA1が、中央の柱PA1に対応するクラスタM0A1を含むように設定され、検知区間RA2が、一方側の柱PA2に対応するクラスタM0A2を含むように設定され、検知区間RA3が、他方側の柱PA3に対応するクラスタM0A1を含むように設定されてよい。
【0101】
第1変形例の目標物情報取得部78は、図19の例に示すように、所定区間SEの位置を検知区間RAの範囲内で移動させながら、所定区間SEの範囲に含まれる計測点MAの数であるクラスタ計測点数を、所定区間SEの位置を移動させる毎に、算出する。すなわち、目標物情報取得部78は、クラスタ計測点数(所定区間SEの範囲に含まれる計測点MAの数)を、所定区間SEの位置毎に算出する。目標物情報取得部78は、例えば、所定区間SEの位置を、単位範囲(計測点MAの数をカウントした範囲)の長さずつ移動させて、単位範囲の長さだけ位置がずれたそれぞれの所定区間SEでのクラスタ計測点数を算出する。ただし、所定区間SEの位置を移動させる距離は単位範囲の長さであることに限られず、目標物情報取得部78は、所定区間SEの位置を所定長さずつ移動させて、所定長さだけ位置がずれたそれぞれの所定区間SEでのクラスタ計測点数を算出するといえる。
【0102】
そして、第1変形例の目標物情報取得部78は、クラスタ計測点数に基づいて、基準位置Cを特定する。例えば、目標物情報取得部78は、検知区間RAの範囲内での位置毎の所定区間SEのうちで、クラスタ計測点数が最大となる所定区間SEの位置に基づき、基準位置Cを特定する。この場合例えば、目標物情報取得部78は、クラスタ計測点数が最大となる所定区間SEの基準となる位置(例えば中央位置)を、基準位置Cとしてよい。目標物情報取得部78は、検知区間RA毎に、すなわちクラスタ毎に、同様の方法で基準位置Cを特定する。従って、図19の例では、検知区間RA1においてクラスタ計測点数が最大となる所定区間SEの中央位置が、基準位置C1とされ、検知区間RA2においてクラスタ計測点数が最大となる所定区間SEの中央位置が、基準位置C2とされ、検知区間RA3においてクラスタ計測点数が最大となる所定区間SEの中央位置が、基準位置C3とされる。
【0103】
基準位置Cを特定したら、第1変形例においても、第1実施形態と同様の方法で目標物Pの位置を特定するため、以降の説明は省略する。
【0104】
第1変形例のように、所定区間SEの位置毎のクラスタ計測点数を算出し、クラスタ計測点数に基づきクラスタ毎に基準位置を設定することで、目標物Pの位置を高精度に算出できる。
【0105】
(第2変形例)
図20は、第2変形例における目標物の位置の特定方法の例を説明する模式図である。第2変形例においては、目標物情報取得部78は、近似線の座標系での所定区間SEと、検知区間RAとを設定する。第2変形例においては、柱PA毎に、すなわちクラスタ毎に、所定区間SEを設定する点で、第1実施形態とは異なる。図20の例では、目標物情報取得部78は、所定区間SE1(第1区間)と、所定区間SE2(第2区間)と、所定区間SE3(第3区間)とを設定する。所定区間SE1、SE2、SE3は、近似線の座標系において、予め設定された所定の範囲となる区間であり、言い換えれば、近似線に沿って所定の長さとなる区間である。所定区間SEの長さは任意に設定してよい。ただし後述のように、クラスタ計測点数を算出する際には、所定区間SE1と所定区間SE2と所定区間SE3とは、互いの距離(すなわち相対位置)が固定されたまま、位置が移動される。すなわち例えば、所定区間SE1と所定区間SE2との距離をDIaとし、所定区間SE1と所定区間SE3との距離をDIbとすると、クラスタ計測点数を算出するために、所定区間SE1、SE2、SE3とを動かしたとしても、所定区間SE1と所定区間SE2との距離は距離DIaのまま固定され、所定区間SE1と所定区間SE3との距離は距離DIbのまま固定される。検知区間RAとは、近似線の座標系において、予め設定された所定の位置であり、かつ、予め設定された所定の範囲となる区間である。第2変形例においては、検知区間RAは、目標物Pの柱PAの個数分設定されることに限られず、1つ設定されていればよい。
【0106】
第2変形例の目標物情報取得部78は、図20の例に示すように、所定区間SE1、SE2、SE3同士の距離(相対位置)を固定しつつ、所定区間SE1、SE2、SE3の近似線Nの座標系における位置を検知区間RAの範囲内で移動させながら、所定区間SE1、SE2、SE3のクラスタ計測点数を、所定区間SE1、SE2、SE3の位置を移動させる毎に、算出する。すなわち、目標物情報取得部78は、クラスタ計測点数を、所定区間SE1、SE2、SE3の位置毎に算出する。目標物情報取得部78は、例えば、所定区間SE1、SE2、SE3の位置を、計測点MAの数を割り当てた単位範囲の長さずつ移動させて、単位範囲の長さだけ位置がずれたそれぞれの所定区間SE1、SE2、SE3でのクラスタ計測点数を算出する。ただし、所定区間SE1、SE2、SE3の位置を移動させる距離は単位範囲であることに限られず、目標物情報取得部78は、所定区間SE1、SE2、SE3の位置を所定長さずつ移動させて、所定長さだけ位置がずれたそれぞれの所定区間SE1、SE2、SE3でのクラスタ計測点数を算出するといえる。
【0107】
そして、第2変形例においては、目標物情報取得部78は、クラスタ計測点数に基づいて、基準位置Cを特定する。例えば、目標物情報取得部78は、検知区間RAの範囲内での位置毎の所定区間SE1、SE2、SE3のうちで、所定区間SE1、SE2、SE3でのクラスタ計測点数の合計値が最大となる所定区間SE1、SE2、SE3の位置に基づき、基準位置C1、C2、C3を特定する。例えば、目標物情報取得部78は、所定区間SE1、SE2、SE3でのクラスタ計測点数の合計値を、所定区間SE1、SE2、SE3の位置毎に算出し、クラスタ計測点数の合計値が最大となった際の所定区間SE1、SE2、SE3の基準となる位置(たとえは中央位置)を、基準位置C1、C2、C3として特定する。図20の例では、目標物情報取得部78は、クラスタ計測点数の合計値が最大となる所定区間SE1、SE2、SE3の中央位置を、それぞれ、基準位置C1、C2、C3としている。
【0108】
基準位置Cを特定したら、第2変形例においても、第1実施形態と同様の方法で目標物Pの位置を特定するため、以降の説明は省略する。
【0109】
第2変形例のように、所定区間SEの位置毎のクラスタ計測点数に基づき基準位置を設定することで、目標物Pの位置を高精度に算出できる。さらに、第2変形例においては、所定区間SE1、SE2、SE3の相対位置を固定しながら、クラスタ計測点数を算出するため、計測点MAを柱PA毎にクラスタリングする処理(計測点MAをクラスタ毎に区分する処理)が、不要となる。
【0110】
(他の例)
なお、本実施形態では、移動体10が移動する毎に検出することで複数の検出結果を取得していたが、複数の検出結果を取得する方法はこれに限られない。例えば、検出制御部74は、移動体10が有する複数のセンサ26に、同じ目標物Pを検出させて、それぞれのセンサ26の測定結果を、複数の検出により取得された計測点M(点群M0)として取得させてもよい。それぞれのセンサ26の検出で取得された計測点Mは、第1実施形態で説明した方法と同様に、選択、抽出されて、点群重畳部76によって同一の座標系(ここでは二次元座標系CO)で重畳される。
【0111】
従ってこの場合、近似線Kの算出に用いる計測点M(今回の検出とは異なる検出で取得された計測点M)には、異なるセンサ26の検出によって取得された計測点Mも含まれることになる。すなわち、本例においては、検出制御部74は、今回の検出に用いたセンサ26とは異なるセンサ26の検出で取得された計測点Mを用いて、近似線Kを算出し、その近似線Kに基づいて、今回の検出における入射角θを算出し、計測点Mの選択を実行するといえる。
【0112】
このように、複数のセンサ26で検出を行わせて、他のセンサ26の検出結果を用いて近似線Kを算出することで、演算処理を迅速に実行することが可能となる。また、複数のセンサ26は位置が異なるため、目標物Pの同じ位置への入射角θは、センサ26毎に異なる。そのため、入射角θが所定範囲の範囲外となって選択から除外される計測点Mの位置が、目標物Pの前面Paにおいて集中することなく、目標物Pの前面Paの全体の計測点Mを選択することが可能となる。そのため、この場合でも、検出精度の低下をより適切に抑制できる。
【0113】
(本開示の効果)
以上説明したように、本開示における移動体10の制御方法は、自動で移動する移動体10の制御方法であって、移動体10に設けられたセンサ26に光を照射させることで目標物Pを複数回検出させて、センサ26の複数回の検出の結果を点群M0として取得するステップと、センサ26の第1の検出に対応する点群M0である第1点群に基づき、点群M0の近似線Kを検出するステップと、近似線Kと、センサ26の第2の検出に対応する点群M0である第2点群と、第2の検出を行った際の移動体10の位置AR1とに基づき、第2の検出におけるセンサ26からの光の目標物Pへの入射角θを算出するステップと、入射角θに基づき、第2点群のうちから、目標物Pの位置及び姿勢を特定するための点群M0を選択するステップと、第2点群のうちから選択された点群M0に基づいて、目標物Pの位置及び姿勢を特定するステップと、を含む。本制御方法によると、検出精度が低い計測点Mを除外して、検出精度が高い計測点Mを用いて、目標物Pの位置及び姿勢を特定することが可能となる。従って、本制御方法によると、目標物Pの検出精度の低下を好適に抑制できる。
【0114】
本開示の制御方法は、目標物Pの位置及び姿勢に基づいて、目標物Pに対して所定の位置及び姿勢となる目標位置A3までのアプローチパス(第2パスR2)を設定するステップと、第2パスR2に沿って移動体10を移動させるステップと、をさらに含む。本開示の制御方法は、センサ26による複数の検出結果により取得された点群M0に基づき第2パスR2を設定するため、第2パスR2を高精度に生成することができ、目標物Pに対して適切にアプローチすることが可能となる。
【0115】
本開示の制御方法は、目標物Pが設置される設置領域AR0を横切る広域パス(第1パスR1)の情報を取得するステップと、第1パスR1に沿って移動体10を移動させるステップと、をさらに含む。点群M0を取得するステップにおいては、移動体10が第1パスR1に沿って移動中に、センサ26に目標物Pを複数回検出させる。本制御方法によると、目標物Pを横切って移動している最中に、センサ26に複数回検出させることで、目標物Pを適切に検出させて、目標物Pの検出精度の低下を更に好適に抑制できる。
【0116】
入射角θを算出するステップにおいては、第2点群に含まれる計測点M毎に入射角θを算出し、点群M0を選択するステップにおいては、第2点群に含まれる計測点Mのうちで、入射角θが所定範囲内となる計測点Mを、選択する。光を照射して目標物Pを検出するタイプのセンサ26は、目標物Pへの光の入射角に応じて、検出精度が変化することが顕著であり、例えば入射角が小さい場合には検出精度が低下するなど、検出精度が低くなる角度帯がある。それに対し、本実施形態のように、入射角θが所定範囲内にある計測点Mを選択して用いることで、検出精度の低い計測点Mを除外して、目標物Pの検出精度の低下を更に好適に抑制できる。
【0117】
入射角θを算出するステップにおいては、第2の検出を行った際の移動体10の位置AR1と計測点Mとを結ぶ直線K2と、近似線の法線(垂線K1)とのなす角度を、入射角θとして算出する。このように入射角θを算出することで、入射角θの算出精度が向上し、目標物Pの検出精度の低下を更に好適に抑制できる。
【0118】
第2点群のうちから点群M0が選択された後に、センサ26の第3の検出に対応する第3点群が取得された場合、近似線Kを検出するステップにおいては、第1点群と第2点群とに基づき、近似線Kを更新して検出する。また、入射角θを算出するステップにおいては、第3点群と、第3の検出を行った際の移動体10と、更新された近似線Kとの位置関係に基づき、第3の検出におけるセンサ26からの光の目標物Pへの入射角θを算出する。また、点群M0を選択するステップにおいては、第3の検出における入射角θに基づき、第3点群のうちから、目標物Pの位置及び姿勢を特定するための点群M0を選択し、目標物Pの位置及び姿勢を特定するステップにおいては、第2点群のうちから選択された点群M0と、第3の点群のうちから選択された点群M0とに基づいて、目標物Pの位置及び姿勢を特定する。このように、検出の度に近似線Kの算出に用いる点群M0を増やすことで、近似線Kによる目標物Pの前面Paの再現性を向上させ、目標物Pの検出精度の低下を更に好適に抑制できる。
【0119】
本開示の制御方法は、選択された点群M0に基づき、目標物Pの前面Paに対応する直線Lを算出するステップと、選択された点群M0と直線Lとの位置関係に基づき、選択された点群M0から、目標物Pの位置及び姿勢を特定するための点群M0を抽出するステップと、をさらに含む。目標物Pの位置及び姿勢を特定するステップにおいては、抽出された点群M0に基づき、目標物Pの位置及び姿勢を特定する。本制御方法では、入射角θに基づき使用する点群M0を選択し、さらに、選択した点群M0から算出された直線Lに基づき使用する点群M0を抽出することで、検出精度の低い点群M0をより好適に除外して、目標物Pの検出精度の低下を更に好適に抑制できる。
【0120】
点群M0を抽出するステップにおいては、直線Lに対して所定の距離範囲内にある点群M0を、点群M0を抽出するステップとして抽出する。本制御方法によると、目標物Pの位置及び姿勢の特定に用いる点群M0をこのような方法で抽出することで、目標物Pの検出精度の低下を更に好適に抑制できる。
【0121】
本開示の移動体10は、自動で移動するものであって、移動体10に設けられたセンサ26に光を照射させることで目標物Pを複数回検出させて、センサ26の複数回の検出の結果を点群M0として取得する検出制御部74と、点群M0に基づき特定された目標物Pの位置及び姿勢の情報を取得する目標物情報取得部78と、を含む。目標物Pの位置及び姿勢は、センサ26の第1の検出に対応する点群M0である第1点群に基づき検出された点群M0の近似線Kと、センサ26の第2の検出に対応する点群M0である第2点群と、第2の検出を行った際の移動体10の位置AR1とに基づき、第2の検出におけるセンサ26からの光の目標物Pへの入射角θが算出され、入射角θに基づき、第2点群のうちから目標物Pの位置及び姿勢を特定するための点群M0が選択されることで、第2点群のうちから選択された点群M0に基づいて、特定される。本移動体10によると、検出精度が高い計測点Mを用いて特定された目標物Pの位置及び姿勢の情報を取得することで、目標物Pの検出精度の低下を好適に抑制できる。
【0122】
本開示のプログラムは、自動で移動する移動体10の制御方法をコンピュータに実行させるプログラムであって、移動体10に設けられたセンサ26に光を照射させることで目標物Pを複数回検出させて、センサ26の複数回の検出の結果を点群M0として取得するステップと、センサ26の第1の検出に対応する点群M0である第1点群に基づき、点群M0の近似線Kを検出するステップと、近似線Kと、センサ26の第2の検出に対応する点群M0である第2点群と、第2の検出を行った際の移動体10の位置AR1とに基づき、第2の検出におけるセンサ26からの光の目標物Pへの入射角θを算出するステップと、入射角θに基づき、第2点群のうちから、目標物Pの位置及び姿勢を特定するための点群M0を選択するステップと、第2点群のうちから選択された点群M0に基づいて、目標物Pの位置及び姿勢を特定するステップと、を、コンピュータに実行させる。本プログラムによると、目標物Pの検出精度の低下を好適に抑制できる。
【0123】
以上、本発明の実施形態を説明したが、この実施形態の内容により実施形態が限定されるものではない。また、前述した構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。さらに、前述した構成要素は適宜組み合わせることが可能である。さらに、前述した実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換又は変更を行うことができる。
【符号の説明】
【0124】
10 移動体
26 センサ
70 第1パス情報取得部
72 移動制御部
74 検出制御部
76 点群重畳部
78 目標物情報取得部
80 第2パス情報取得部
K 近似線
M、MA 計測点
M0 点群
N 近似線
P 目標物
θ 入射角
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20