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

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

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

特許7482811移動体の制御方法、移動体及びプログラム
<>
  • 特許-移動体の制御方法、移動体及びプログラム 図1
  • 特許-移動体の制御方法、移動体及びプログラム 図2
  • 特許-移動体の制御方法、移動体及びプログラム 図3
  • 特許-移動体の制御方法、移動体及びプログラム 図4
  • 特許-移動体の制御方法、移動体及びプログラム 図5
  • 特許-移動体の制御方法、移動体及びプログラム 図6
  • 特許-移動体の制御方法、移動体及びプログラム 図7
  • 特許-移動体の制御方法、移動体及びプログラム 図8
  • 特許-移動体の制御方法、移動体及びプログラム 図9
  • 特許-移動体の制御方法、移動体及びプログラム 図10
  • 特許-移動体の制御方法、移動体及びプログラム 図11
  • 特許-移動体の制御方法、移動体及びプログラム 図12
  • 特許-移動体の制御方法、移動体及びプログラム 図13
  • 特許-移動体の制御方法、移動体及びプログラム 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-02
(45)【発行日】2024-05-14
(54)【発明の名称】移動体の制御方法、移動体及びプログラム
(51)【国際特許分類】
   G05D 1/242 20240101AFI20240507BHJP
【FI】
G05D1/242
【請求項の数】 7
(21)【出願番号】P 2021022676
(22)【出願日】2021-02-16
(65)【公開番号】P2022124817
(43)【公開日】2022-08-26
【審査請求日】2023-03-29
(73)【特許権者】
【識別番号】000232807
【氏名又は名称】三菱ロジスネクスト株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】▲高▼尾 健司
(72)【発明者】
【氏名】北島 克将
【審査官】影山 直洋
(56)【参考文献】
【文献】特開2020-070121(JP,A)
【文献】特開平06-229771(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/242
(57)【特許請求の範囲】
【請求項1】
自動で移動する移動体の制御方法であって、
前記移動体に設けられたセンサに目標物を複数回検出させて、前記センサの検出毎の検出結果を点群として取得するステップと、
前記点群に基づいて、前記センサの検出毎に、前記目標物の位置及び姿勢を推定するステップと、
前記センサの検出毎に、前記目標物の位置及び姿勢の推定結果の精度に対する信頼度を、前記信頼度の値が高いほど、前記推定結果の精度が高くなるように、算出するステップと、
前記センサの検出毎の前記信頼度に基づき、前記センサの検出毎の前記推定結果から、前記目標物に対して所定の位置及び姿勢となる目標位置までのアプローチパスを設定するために用いる推定結果を選択するステップと、
選択された前記推定結果に基づいて、前記アプローチパスを設定するステップと、
前記アプローチパスに沿って前記移動体を移動させるステップと、を含み、
前記目標物の位置及び姿勢を推定するステップにおいては、前記センサの第1の検出に対応する点群である第1点群に基づき前記目標物の位置及び姿勢を推定しつつ、前記センサの第2の検出に対応する第2点群に基づき前記目標物の位置及び姿勢を推定し、
前記信頼度を算出するステップにおいては、前記第1点群に基づいた推定結果の信頼度と、前記第2点群に基づいた推定結果の信頼度である信頼度とを算出し、
前記推定結果を選択するステップにおいては、前記第1点群に基づいた推定結果と前記第2点群に基づいた推定結果とのうちで、信頼度が高い方の推定結果を選択する、
移動体の制御方法。
【請求項2】
前記推定結果を選択するステップにおいては、前記センサの検出毎の前記推定結果のうちで、信頼度が最高となる推定結果を選択する、請求項に記載の移動体の制御方法。
【請求項3】
前記推定結果を選択するステップにおいては、検出した際の前記移動体の位置から前記目標物の推定位置までの距離にも基づき、推定結果を選択する、請求項1又は請求項2に記載の移動体の制御方法。
【請求項4】
前記推定結果を選択するステップにおいては、前記信頼度が閾値以上となり、かつ、前記信頼度が閾値以上である推定結果のうちで前記距離が最小となる推定結果を、選択する、請求項に記載の移動体の制御方法。
【請求項5】
目標物が設置される設置領域を横切る広域パスの情報を取得するステップと、
前記広域パスに沿って前記移動体を移動させるステップと、をさらに含み、
前記センサの検出毎の検出結果を点群として取得するステップにおいては、前記移動体が前記広域パスに沿って移動中に、前記センサに前記目標物を複数回検出させる、請求項1から請求項のいずれか1項に記載の移動体の制御方法。
【請求項6】
自動で移動する移動体であって、
前記移動体に設けられたセンサに目標物を複数回検出させて、前記センサの検出毎の検出結果を点群として取得する検出制御部と、
前記点群に基づき設定された、前記目標物に対して所定の位置及び姿勢となる目標位置までのアプローチパスの情報を取得するアプローチパス情報取得部と、
前記アプローチパスに沿って前記移動体を移動させる移動制御部と、
を含み、
前記アプローチパスは、
前記点群に基づいて、前記センサの検出毎に、前記目標物の位置及び姿勢が推定され、前記センサの第1の検出に対応する点群である第1点群に基づき前記目標物の位置及び姿勢が推定され、前記センサの第2の検出に対応する第2点群に基づき前記目標物の位置及び姿勢が推定され、
前記センサの検出毎に、前記目標物の位置及び姿勢の推定結果の精度に対する信頼度が、前記信頼度の値が高いほど、前記推定結果の精度が高くなるように、算出され、前記第1点群に基づいた推定結果の信頼度と、前記第2点群に基づいた推定結果の信頼度である信頼度とが算出され、
前記センサの検出毎の前記信頼度に基づき、前記センサの検出毎の前記推定結果から、前記アプローチパスを設定するために用いる推定結果が選択され、前記第1点群に基づいた推定結果と前記第2点群に基づいた推定結果とのうちで、信頼度が高い方の推定結果が選択されることで、
選択された前記推定結果に基づいて、設定される、
移動体。
【請求項7】
自動で移動する移動体の制御方法をコンピュータに実行させるプログラムであって、
前記移動体に設けられたセンサに目標物を複数回検出させて、前記センサの検出毎の検出結果を点群として取得するステップと、
前記点群に基づいて、前記センサの検出毎に、前記目標物の位置及び姿勢を推定するステップと、
前記センサの検出毎に、前記目標物の位置及び姿勢の推定結果の精度に対する信頼度を、前記信頼度の値が高いほど、前記推定結果の精度が高くなるように、算出するステップと、
前記センサの検出毎の前記信頼度に基づき、前記センサの検出毎の前記推定結果から、前記目標物に対して所定の位置及び姿勢となる目標位置までのアプローチパスを設定するために用いる推定結果を選択するステップと、
選択された前記推定結果に基づいて、前記アプローチパスを設定するステップと、
前記アプローチパスに沿って前記移動体を移動させるステップと、
を、コンピュータに実行させ
前記目標物の位置及び姿勢を推定するステップにおいては、前記センサの第1の検出に対応する点群である第1点群に基づき前記目標物の位置及び姿勢を推定しつつ、前記センサの第2の検出に対応する第2点群に基づき前記目標物の位置及び姿勢を推定し、
前記信頼度を算出するステップにおいては、前記第1点群に基づいた推定結果の信頼度と、前記第2点群に基づいた推定結果の信頼度である信頼度とを算出し、
前記推定結果を選択するステップにおいては、前記第1点群に基づいた推定結果と前記第2点群に基づいた推定結果とのうちで、信頼度が高い方の推定結果を選択する、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、移動体の制御方法、移動体及びプログラムに関する。
【背景技術】
【0002】
周囲を検出するセンサを備えて自動で移動する移動体が知られている。このような移動体としては、例えば、荷物が搭載されたパレットを搬送する自動フォークリフトがある。特許文献1には、測域センサで計測される距離データに基づいて、パレットの前面の中心位置及び方向を特定して、パレットの荷取り作業を行う旨が記載されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2017-178567号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
このような移動体においては、移動体を目的位置まで適切に移動させることが求められている。
【0005】
本開示は、上述した課題を解決するものであり、移動体を目的位置まで適切に移動させることが可能な移動体の制御方法、移動体及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上述した課題を解決し、目的を達成するために、本開示に係る移動体の制御方法は、自動で移動する移動体の制御方法であって、前記移動体に設けられたセンサに目標物を複数回検出させて、前記センサの検出毎の検出結果を点群として取得するステップと、前記点群に基づいて、前記センサの検出毎に、前記目標物の位置及び姿勢を推定するステップと、前記センサの検出毎に、前記目標物の位置及び姿勢の推定結果の精度に対する信頼度を算出するステップと、前記センサの検出毎の前記信頼度に基づき、前記センサの検出毎の前記推定結果から、前記目標物に対して所定の位置及び姿勢となる目標位置までのアプローチパスを設定するために用いる推定結果を選択するステップと、選択された前記推定結果に基づいて、前記アプローチパスを設定するステップと、前記アプローチパスに沿って前記移動体を移動させるステップと、を含む。
【0007】
上述した課題を解決し、目的を達成するために、本開示に係る移動体は、自動で移動する移動体であって、前記移動体に設けられたセンサに目標物を複数回検出させて、前記センサの検出毎の検出結果を点群として取得する検出制御部と、前記点群に基づき設定された、前記目標物に対して所定の位置及び姿勢となる目標位置までのアプローチパスの情報を取得するアプローチパス情報取得部と、前記アプローチパスに沿って前記移動体を移動させる移動制御部と、を含み、前記アプローチパスは、前記点群に基づいて、前記センサの検出毎に、前記目標物の位置及び姿勢が推定され、前記センサの検出毎に、前記目標物の位置及び姿勢の推定結果の精度に対する信頼度が算出され、前記センサの検出毎の前記信頼度に基づき、前記センサの検出毎の前記推定結果から、前記アプローチパスを設定するために用いる推定結果が選択されることで、選択された前記推定結果に基づいて、設定される。
【0008】
上述した課題を解決し、目的を達成するために、本開示に係るプログラムは、自動で移動する移動体の制御方法をコンピュータに実行させるプログラムであって、前記移動体に設けられたセンサに目標物を複数回検出させて、前記センサの検出毎の検出結果を点群として取得するステップと、前記点群に基づいて、前記センサの検出毎に、前記目標物の位置及び姿勢を推定するステップと、前記センサの検出毎に、前記目標物の位置及び姿勢の推定結果の精度に対する信頼度を算出するステップと、前記センサの検出毎の前記信頼度に基づき、前記センサの検出毎の前記推定結果から、前記目標物に対して所定の位置及び姿勢となる目標位置までのアプローチパスを設定するために用いる推定結果を選択するステップと、選択された前記推定結果に基づいて、前記アプローチパスを設定するステップと、前記アプローチパスに沿って前記移動体を移動させるステップと、を、コンピュータに実行させる。
【発明の効果】
【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は、第2パスに沿った移動の一例を示す模式図である。
図13図13は、第2パス設定の処理フローを説明するフローチャートである。
図14図14は、第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と、選択情報取得部80と、第2パス情報取得部82とを含む。制御部64は、記憶部62からプログラム(ソフトウェア)を読み出して実行することで、第1パス情報取得部70と移動制御部72と検出制御部74と目標物情報取得部76と信頼度情報取得部78と選択情報取得部80と第2パス情報取得部82とを実現して、それらの処理を実行する。なお、制御部64は、1つのCPUによってこれらの処理を実行してもよいし、複数のCPUを備えて、それらの複数のCPUで、処理を実行してもよい。また、第1パス情報取得部70と移動制御部72と検出制御部74と目標物情報取得部76と信頼度情報取得部78と選択情報取得部80と第2パス情報取得部82との少なくとも一部を、ハードウェア回路で実現してもよい。また、記憶部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パス情報取得部82が取得した第2パスR2に従って、移動体10を移動させる。移動制御部72は、移動体10の位置情報を逐次把握することで、第1パスR1や第2パスR2を通るように、移動体10を移動させる。移動体10の位置情報の取得方法は任意であるが、例えば本実施形態では、設備Wに図示しない検出体が設けられており、移動制御部72は、検出体の検出に基づき移動体10の位置及び姿勢の情報を取得する。具体的には、移動体10は、検出体に向けてレーザ光を照射し、検出体によるレーザ光の反射光を受光して、設備Wにおける自身の位置及び姿勢を検出する。ここでの移動体10の位置とは、設備Wの領域Aにおける方向X及び方向Yの二次元座標系COにおける座標であり、以下においても、位置とは、別途説明が無い限り、二次元座標系COにおける座標を指す。また、移動体10の姿勢とは、方向X及び方向Yに直交する方向Zから見た場合の移動体10の向き(回転角度)である。また、移動体10の位置及び姿勢の情報の取得方法は、検出体を用いることに限られず、例えば、SLAM(Slmultaneous Localization and Mapping)などの自己位置推定技術を用いてもよい。
【0039】
(検出制御部)
検出制御部74は、センサ26に目標物Pの前面Paを検出させて、センサ26の検出結果を点群として取得する。検出制御部74の具体的な処理内容は後述する。
【0040】
(目標物位置情報取得部)
目標物情報取得部76は、点群の位置に基づいて推定された、目標物Pの位置及び姿勢の推定結果を取得する。目標物情報取得部76の具体的な処理は後述する。
【0041】
(信頼度情報取得部)
信頼度情報取得部78は、目標物Pの位置及び姿勢の推定結果の精度に対する信頼度の情報を、取得する。信頼度情報取得部78の具体的な処理は後述する。
【0042】
(選択情報取得部)
選択情報取得部80は、目標物Pの位置及び姿勢の複数の推定結果のうちから、信頼度に基づいて選択された推定結果の情報を取得する。選択情報取得部80の具体的な処理は後述する。
【0043】
(第2パス情報取得部)
第2パス情報取得部82は、選択された推定結果に基づいて設定された、目標位置A3までの第2パスR2の情報を取得する。第2パス情報取得部82の具体的な処理は後述する。
【0044】
(制御装置の処理)
次に、移動体10が目標物Pに向かう際の制御装置28の処理について説明する。
【0045】
(第1パスに沿った移動)
制御装置28の移動制御部72は、第1パス情報取得部70が取得した第1パスR1に従って、移動体10を移動させる。移動制御部72は、現在の移動体10の位置から、第1位置A1を経由して第2位置A2まで、第1パスR1を通るように、移動体10を移動させる。
【0046】
(点群の取得)
図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としてもよい。
【0047】
(目標物の位置及び姿勢の特定)
目標物情報取得部76は、センサ26による1回の検出(レーザ光LTの1回のスキャン)により取得された点群M0に含まれる計測点Mに基づき、目標物Pの位置及び姿勢を推定する。本実施形態では、センサ26による1回の検出により取得された計測点Mに基づき、それらの計測点Mの近似線Lを検出することで、目標物Pの位置及び姿勢を推定する。近似線Lは、目標物Pの前面Paに対応するものであり、すなわち例えば、二次元座標系COにおける近似線Lの傾きが目標物Pの姿勢に対応し、二次元座標系COにおける近似線Lの位置が目標物Pの位置に対応する。以下、近似線Lの検出処理の例を具体的に説明する。
【0048】
(近似線候補の取得)
図7は、近似線候補の取得を説明するための模式図である。図7に示すように、目標物情報取得部76は、設置領域AR0の位置に基づき、検知対象領域ROIaを設定する。検知対象領域ROIaは、いわゆるROI(Regions Of Interest)である。目標物情報取得部76は、設置領域AR0の位置に基づき、目標物Pの前面Paを含むと推定される領域を特定し、その領域を検知対象領域ROIaとする。目標物情報取得部76は、例えば、設置領域AR0より幅が大きい検知対象領域ROIaを設定し、センサ26による1回の検出により取得した点群M0に含まれる計測点Mのうちから、検知対象領域ROIa内の計測点Mを抽出する。目標物情報取得部76は、目標物Pの前面Paに対応する近似線L0を検出するために、一以上の近似線候補を取得する。目標物情報取得部76は、一以上の近似線候補のそれぞれについて、近似線候補から規定距離以上の手前側の計測点Mについては他の計測点Mよりも選択における優先度が低い定数のスコアを付与する。目標物情報取得部76は、検知対象領域ROIa内の計測点Mについてスコアを積算したスコア積算値に基づいて、一以上の近似線候補の中から、目標物Pの前面Paに対応する近似線L0を選択する。なお、本実施形態では、目標物Pの前面Paが平面状であるため、近似線候補、近似線L0、及び近似線Lを直線として検出するが、それらは直線であることに限られない。例えば前面Paが曲面であることが既知である場合などには、それに合わせて、近似線候補、近似線L0、及び近似線LNを曲線として算出してもよい。
【0049】
図8は、近似線候補の具体例を示す模式図である。例えば、図8に示すように、目標物情報取得部76は、検知対象領域ROIaより幅が狭い検知対象領域ROIbをさらに設定し、検知対象領域ROIbの中の点群M0から選択した2つの計測点Mを結ぶ直線を、近似線候補として取得してもよい。図8では、目標物情報取得部76が、検知対象領域ROIbの中の点群M0に基づいて4つの近似線候補L1、L2、L3、L4を取得する例を示している。検知対象領域ROIbは、隣接する荷物などが入り込まない程度の幅に設定されることが好ましい。検知対象領域ROIbは、設置領域AR0より幅が大きくてもよいし、小さくてもよい。
【0050】
ここで、近似線候補の取得方法について具体例を説明する。目標物情報取得部76は、検知対象領域内の点群M0からRANSACアルゴリズムにより選択した2つの計測点Mを結ぶ直線を、近似線候補として取得するように構成されてもよい。この場合の検知対象領域は、検知対象領域ROIbであるが、検知対象領域ROIaであってもよいし、検知対象領域ROIa、ROIbとは異なる領域であってもよい。RANSAC(RANdom SAmple Consensus)は、ランダムに2つの点を選択して評価値を算出する手法である。なお、本開示に係る近似線候補の取得手法には、RANSACを用いた手法に限られず、PROSAC(PROgressive SAmple Consensus)等の他のアルゴリズムが使用されてもよい。
【0051】
目標物情報取得部76は、検知対象領域の幅方向中央の右側及び左側のそれぞれの点群M0から1つずつ選択した2つの計測点Mを結ぶ直線を、近似線候補として取得するように構成されてもよい。この場合、組み合わせの数が有限となるため、すべての2点の組み合わせについて近似線候補としてもよい。
【0052】
(近似線L0の検出)
目標物情報取得部76は、一以上の近似線候補のそれぞれについてスコア積算値を算出し、スコア積算値に基づいて、目標物Pの前面Paに対応する近似線L0を検出する。目標物情報取得部76は、スコア積算値が示す優先度が高い近似線候補に対して、検知対象領域ROIb外かつ検知対象領域ROIa内の点群M0を含めて、それを近似線L0として選択(すなわち検出)し、この様な点群M0についても後続の処理の対象としてもよい。以降では、一例として、目標物情報取得部76が、スコア積算値に基づいて、図8に示す近似線候補L1を近似線L0として選択するものとする。
【0053】
ここで、スコア積算値について説明する。例えば、スコア積算値の高い近似線候補を優先的に線分検出に使用する直線として選択する場合には、「優先度が低い定数のスコア」は、スコア積算値を小さくするような値のスコアを意味する。一方、例えば、スコア積算値の低い近似線候補を優先的に選択する場合には、「優先度が低い定数のスコア」は、スコア積算値を大きくするような値のスコアを意味する。
【0054】
目標物情報取得部76は、スコア積算値の算出において、点群M0を構成する各計測点Mと近似線候補との垂直距離を利用する。具体的には、目標物情報取得部76は、近似線候補から規定距離未満の計測点Mについては、近似線候補から規定距離以上の手前側(検出時の移動体10の位置に近い側)の計測点Mよりも優先度が高く、かつ近似線候補に近いほど優先度が高いスコアを付与する。例えば、目標物情報取得部76は、規定距離以上の手前側の計測点Mはマイナスの定数のスコアを付与するのに対し、規定距離未満の計測点Mはプラスのスコアを付与する。プラスのスコアの値は、近似線候補からの距離に依存する変数である。
【0055】
図9は、スコアの一例を示すグラフである。このグラフの横軸は、Y方向(深度)に対応し、計測点Mと近似線候補との距離を示し、横軸方向の右に行くほど奥側(検出時の移動体10の位置から遠い側)であることを意味する。深度がゼロの位置は近似線候補の位置である。縦軸は付与するスコアの値を示している。図9に示す例では、近似線候補から規定距離以上の手前側の計測点Mにはマイナスの定数のスコアが付与される。このように、近似線候補から規定距離以上の手前側の計測点Mには、近似線候補と計測点Mとの距離によらず一定のペナルティを課している。近似線候補から規定距離未満の計測点Mには、近似線候補に近いほど大きいプラスのスコアが付与される。
【0056】
目標物情報取得部76は、スコア積算値の算出において、近似線候補から規定距離以上の奥側の計測点Mについては、スコア積算値の積算対象から除外する。「スコア積算値の積算対象から除外する」とは、それらの計測点Mをスコア積算値の積算対象から実質的に除外することを意味し、それらの計測点Mにゼロのスコアを付与することであってもよいし、それらの計測点Mにスコアを付与しないことであってもよい。図9に示す例では、近似線候補から規定距離以上の奥側の計測点Mにゼロのスコアが付与される。この様なスコア積算値の算出方法を採用すると、図8に示す例では、近似線候補L1が近似線L0として選択される。なお、目標物情報取得部76は、スコア積算値が示す優先度が高い複数の近似線を検出してもよい。
【0057】
(両端点の特定)
目標物情報取得部76は、目標物Pの幅方向における両端点の位置を特定し、近似線L0を両端点で区切った線分を、近似線Lとして検出する。具体的には、目標物情報取得部76は、近似線L0から一以上の線分を抽出し、抽出した一以上の線分の中から設計情報から定まる目標物Pの両端の長さに対応する両端長さを有する一つの線分又は二以上の線分の組み合わせを探索する。「対応する長さ」とは、許容誤差の範囲内の長さを意味する。目標物Pの設計情報は、目標物Pの寸法(例えば、両端の長さ、開口PBの位置及び間隔等)を示す情報であり、例えば、制御装置28の記憶部62から読み出される。目標物情報取得部76は、見つかった線分又は二以上の線分の組み合わせの両端を、目標物Pの幅方向における両端点として特定する。なお、目標物Pの両端点とは、目標物Pの前面Paの幅方向における一方側の端点と他方側の端点とを指す。
【0058】
図10は、目標物の両端点の特定処理の一例を説明する模式図である。図10に示すように、例えば、目標物情報取得部76は、選択した近似線L0から3つの線分(丸で囲まれた計測点M)を抽出し、目標物Pの両端点間の長さに対応する両端長さWDを有する一つの線分又は二以上の線分の組み合わせを探索する。図10に示す例では、探索の結果、3つの線分の組み合わせの両端長さが検出されている。
【0059】
(近似線Lの検出)
目標物情報取得部76は、目標物Pの両端点の位置を特定したら、各計測点Mに対して最小二乗法によって直線フィッティングを行うことで、近似線Lを算出する。具体的には、目標物情報取得部76は、目標物Pの両端が検知された線分に基づいて近似線Lを算出する。目標物情報取得部76は、各計測点M(センサ26による1回の検出により取得された計測点M)のうち、目標物Pの開口PBの位置と推定される位置の計測点Mを除外して、さらに線分の両端から所定距離以上の位置にある計測点Mを除外して、残りの計測点Mのみを使用して、最小二乗法によって直線フィッティングを行うことで、近似線Lを算出する。目標物Pの開口PBの位置の推定は、検出された目標物Pの両端点と目標物Pの設計情報とに基づいて行われる。
【0060】
(近似線Lに基づく目標物の位置及び姿勢の推定)
目標物情報取得部76は、近似線Lに基づき、目標物Pの位置及び姿勢を推定する。目標物情報取得部76は、近似線Lの傾きから目標物Pの姿勢を推定し、近似線L上の基準位置(例えば近似線Lの中点)に基づいて目標物Pの位置を推定する。
【0061】
なお、近似線Lの検出方法は以上説明した方法に限られず、取得した計測点Mに基づき任意の方法で近似線Lを検出してよい。例えば、目標物情報取得部76は、両端点の特定処理などを行うことなく、1回の検出で取得された全ての計測点Mに対して最小二乗法によって直線フィッティングを行うことで、近似線Lを算出してもよい。また、目標物Pの位置及び姿勢の推定方法も、近似線Lを用いた方法に限られず、取得した計測点Mを用いた任意の方法で目標物Pの位置及び姿勢を推定してよい。
【0062】
(複数回の検出)
検出制御部74は、移動体10が第1パスR1(検出軌道R1a)を移動中に、センサ26に、目標物Pの前面Paの検出を、複数回行わせる。言い換えれば、検出制御部74は、移動体10が第1パスR1(検出軌道R1a)を移動中に、センサ26に、目標物Pの前面Paへのレーザ光LTのスキャンを、複数回行わせる。検出制御部74は、センサ26の検出毎の検出結果を、点群M0として取得する。目標物情報取得部76は、センサ26の検出結果毎に(センサ26が検出する度に)、目標物Pの位置及び姿勢を推定する。すなわち、目標物情報取得部76は、センサ26の1回の検出毎に、目標物Pの位置及び姿勢の推定結果を取得する。
【0063】
このように、本実施形態では、第1パスR1を移動中に、センサ26に複数回の検出を行わせるものである。すなわち、検出制御部74は、第1パスR1上での移動体10の位置毎にセンサ26に検出を行わせるため、各検出結果が取得された際の移動体10の位置は、互いに異なる。ただし、センサ26に検出させるタイミングは、第1パスR1を移動中であることに限られない。例えば、移動体10を停止させた状態でセンサ26に検出を行わせてもよい。また、検出制御部74は、1つのセンサ26に複数回の検出を行わせることに限られず、複数のセンサ26に同じ目標物Pを検出させることで、センサ26に複数回の検出を行わせてもよい。
【0064】
(信頼度の算出)
信頼度情報取得部78は、目標物情報取得部76が推定した目標物Pの位置及び姿勢の推定結果についての、推定精度に対する信頼度を算出する。すなわち、信頼度とは、目標物Pの位置及び姿勢の推定精度の度合いを示す指標であり、本実施形態では、信頼度が高いほど、目標物Pの位置及び姿勢の推定精度が高いといえる。信頼度情報取得部78は、推定結果毎に、すなわちセンサ26による1回の検出(1回のスキャン)毎に、信頼度を算出する。以下、信頼度の算出方法を説明する。
【0065】
(理想の計測点の数の算出)
図11は、信頼度の算出方法を説明するための模式図である。信頼度情報取得部78は、センサ26による1回の検出で取得されると想定される理想の計測点Mの数(理想の点群数)と、センサ26による1回の検出で取得された実際の計測点Mの数(目標物Pの前面Paを計測した計測点M(点群)の数)と比率に基づき、そのセンサ26の検出結果から推定された目標物Pの位置及び姿勢の推定結果の信頼度を算出する。理想の計測点Mの数とは、計測誤差等の影響を考慮する必要のない理想的な環境において、センサ26による1回の検出で目標物Pの前面Paで観測されると想定される計測点Mの個数である。信頼度情報取得部78は、目標物Pの位置及び姿勢の推定結果と、検出を行った際の移動体10の位置と、検出を行ったセンサ26の性能とに基づき、理想の計測点Mの数を算出する。センサ26の性能とは、例えば、センサ26の角度分解能、センサ26の測定スピード(周期)、及びセンサ26の測定ポイント数との少なくとも1つを意味する。なお、角度分解能とは、2つの対象点を分離して検知できる角度を示している。また、ここでの移動体10の位置は、移動体10の基準となる位置でもよいし、検出したセンサ26の位置であってもよい。移動体10の位置を検出したセンサ26の位置とする場合には、信頼度情報取得部78は、検出を行った際の移動体10の位置と、移動体10に対するセンサ26の位置とに基づき、移動体10の位置を特定してよい。移動体10に対するセンサ26の位置は、例えば設計情報として予め取得されていてよい。
【0066】
ここで、センサ26が1回の検出でレーザ光LTを走査する角度をスキャン角度とする。本実施形態では、信頼度情報取得部78は、目標物Pの位置及び姿勢の推定結果と、検出を行った際の移動体10の位置とに基づき、センサ26に基準位置AR1から検出を行わせた場合に、スキャン角度のうちで、レーザ光LTが目標物Pの前面Paに照射される角度範囲を、検出角度θとして算出する。すなわち、信頼度情報取得部78は、目標物Pの前面Pa以外に照射されたレーザ光LTが含まれる角度範囲を除外し、目標物Pの前面Paに照射されたレーザ光LTが含まれる角度範囲を抽出して、検出角度θとする。例えば、信頼度情報取得部78は、目標物Pの位置及び姿勢の推定結果から特定された前面Pa上の点と基準位置AR1とを結ぶ直線と、目標物Pの位置及び姿勢の推定結果から特定された前面Pa上の他の点と基準位置AR1とを結ぶ直線とのなす角度に基づき、検出角度θを算出する。なお、基準位置AR1は、検出を行った際の移動体10の位置に対応する位置であり、本実施形態では、検出を行った際の移動体10の位置そのものである。
【0067】
より詳しくは、信頼度情報取得部78は、柱PA毎に検出角度θを算出する。図11に示すように、信頼度情報取得部78は、目標物Pの位置及び姿勢の推定結果(近似線L)に基づき、柱PAの両端点の位置を取得し、基準位置AR1と柱PAの一方の端点PS1とを結ぶ直線LA1と、基準位置AR1と柱PAの他方の端点PS2とを結ぶ直線LA2との、なす角度を、その柱PAについての検出角度θとして算出する。図11の例では、信頼度情報取得部78は、柱PA1の検出角度θ1と、柱PA2の検出角度θ2と、柱PA3の検出角度θ3とを、算出する。
【0068】
信頼度情報取得部78は、算出した検出角度θとセンサ26の角度分解能との比率から、理想の計測点Mの数を算出する。より詳しくは、信頼度情報取得部78は、検出角度θを角度分解能で除した値を、理想の計測点Mの数として算出する。本実施形態では、信頼度情報取得部78は、柱PA毎に、理想の計測点Mの数を算出する。図11の例では、信頼度情報取得部78は、柱PA1についての検出角度θ1を角度分解能で除した値を、柱PA1における理想の計測点Mの数(理想計測点数NM1)として算出し、柱PA2についての検出角度θ2を角度分解能で除した値を、柱PA2における理想の計測点Mの数(理想計測点数NM2)として算出し、柱PA3についての検出角度θ3を角度分解能で除した値を、柱PA3における理想の計測点Mの数(理想計測点数NM3)として算出する。
【0069】
(実際の計測点数の算出)
信頼度情報取得部78は、実際の計測点Mの数を算出する。実際の計測点Mの数とは、センサ26の1回の検出で取得された計測点Mのうちで、目標物Pの前面Paを計測した計測点Mを指す。例えば、信頼度情報取得部78は、センサ26の1回の検出で取得された計測点Mのうちで、目標物Pの位置及び姿勢の推定結果から特定された目標物Pの前面Pa(ここでは近似線L)に対して所定の距離範囲内にある計測点Mを、実際の計測点Mとして抽出して、その数をカウントする。また例えば、信頼度情報取得部78は、近似線Lの検出に用いられた計測点Mを、実際の計測点Mとしてもよい。
【0070】
より詳しくは、信頼度情報取得部78は、柱PA毎に、実際の計測点Mの数を算出する。信頼度情報取得部78は、センサ26の1回の検出で取得された計測点Mのうちで、推定された柱PAの位置(目標物Pの位置及び姿勢の推定結果から特定された柱PAの位置)に対して所定の距離範囲内にある計測点Mを、その柱PAを計測した実際の計測点Mとして抽出して、その数をカウントする。図11の例では、信頼度情報取得部78は、推定された柱PA1の位置の手前側の所定面積の領域ARX1内にある計測点Mの数を、柱PA1を計測した実際の計測点Mの数(実測計測点数nm1)として算出する。同様に、信頼度情報取得部78は、推定された柱PA2の位置の手前側の所定面積の領域ARX2内にある計測点Mの数を、柱PA2を計測した実際の計測点Mの数(実測計測点数nm2)として算出する。同様に、信頼度情報取得部78は、推定された柱PA3の位置の手前側の所定面積の領域ARX3内にある計測点Mの数を、柱PA3を計測した実際の計測点Mの数(実測計測点数nm3)として算出する。
【0071】
(理想の計測点数と実際の計測点数に基づく信頼度の算出)
信頼度情報取得部78は、理想の計測点Mの数と実際の計測点Mの数との比較結果に基づき、目標物Pの位置及び姿勢の推定結果についての信頼度を算出する。本実施形態では、信頼度情報取得部78は、理想の計測点Mの数に対する実際の計測点Mの数の比率に基づき、信頼度を算出する。信頼度情報取得部78は、理想の計測点Mの数と実際の計測点Mの数との差分が少ないほど、信頼度が高くなるように、信頼度を算出する。
【0072】
本実施形態では、信頼度情報取得部78は、柱PA毎に、信頼度を算出する。信頼度情報取得部78は、柱PAにおける理想の計測点Mの数に対する、その柱PAについての実際の計測点Mの数との比率を、その柱PAについての推定結果の信頼度として算出する。そして、信頼度情報取得部78は、柱PA毎の信頼度に基づいて、センサ26による1回の検出により推定された目標物Pの位置及び姿勢の推定結果についての、信頼度を算出する。本実施形態では、信頼度情報取得部78は、それぞれの柱PAの信頼度のうちの最小値を、目標物Pの位置及び姿勢の推定結果についての信頼度とする。すなわち、図11の例では、1回の検出による目標物Pの位置及び姿勢の推定結果の信頼度をSとすると、信頼度Sは、次の式(1)を用いて算出される。
【0073】
S=min(nm1/NM1,nm2/NM2,nm3/NM3) ・・・(1)
【0074】
信頼度情報取得部78は、目標物Pの位置及び姿勢の推定結果毎に、すなわちセンサ26による1回の検出(1回のスキャン)毎に、同様の方法で、信頼度Sを算出する。
【0075】
(信頼度の算出の他の例)
信頼度情報取得部78は、以上の方法で信頼度を算出するが、信頼度の算出方法は以上の説明に限られず、任意の方法を用いてよい。例えば、以上の説明では、信頼度情報取得部78は、柱PA毎に計測点Mの信頼度を算出し、柱PA毎の信頼度に基づき、1回の検出による推定結果の信頼度を算出したが、それに限られない。この場合例えば、信頼度情報取得部78は、それぞれの柱PAについての理想の計測点Mの数を上記と同様の方法で算出し、それらを合計することで、全ての柱PAについての理想の測定点の数の合計値を算出する。そして、信頼度情報取得部78は、それぞれの柱PAについての実際の計測点Mの数を上記と同様の方法で算出し、それらを合計することで、実際の計測点Mの数の合計値を算出する。そして、信頼度情報取得部78は、理想の計測点Mの数の合計値に対する、実際の計測点Mの数の合計値の比率を、1回の検出による推定結果の信頼度として算出してよい。
【0076】
(推定結果の選択)
選択情報取得部80は、信頼度情報取得部78が算出した、センサ26の検出毎の推定結果の信頼度に基づき、センサ26の検出毎の推定結果のうちから、第2パスR2の設定に用いる推定結果を選択する。具体的には、選択情報取得部80は、信頼度が高い推定結果を、第2パスR2の設定に用いる推定結果として選択する。すなわち例えば、センサ26による第1の検出で取得された計測点Mを第1計測点(第1点群)とし、センサ26による第1の検出とは異なる第2の検出で取得された計測点Mを第2計測点(第2点群)とする。この場合、目標物情報取得部76は、第1測定点に基づいて目標物の位置及び姿勢を推定し、信頼度情報取得部78は、その推定結果(第1測定点に基づいた推定結果)についての信頼度を算出する。同様に、目標物情報取得部76は、第2測定点に基づいて推定された目標物の位置及び姿勢を推定し、信頼度情報取得部78は、その推定結果(第2測定点に基づいた推定結果)についての信頼度を算出する。この場合、選択情報取得部80は、第1計測点に基づいた推定結果と第2計測点に基づいた推定結果とのうちで、信頼度がより高い方の推定結果を、第2パスR2の設定に用いる推定結果として選択する。
【0077】
さらに言えば、選択情報取得部80は、それぞれの推定結果のうちから、信頼度が最高となる推定結果を、第2パスR2の設定に用いる推定結果として選択する。ただし、推定結果の選択方法は以上の方法に限られず、それぞれの推定結果の信頼度に基づいた任意の方法で、推定結果を選択してよい。
【0078】
(第2パスの設定)
図12は、第2パスに沿った移動の一例を示す模式図である。第2パス情報取得部82は、選択情報取得部80が選択した目標物Pの位置及び姿勢の推定結果から、目標位置A3を設定する。例えば、第2パス情報取得部82は、選択情報取得部80が選択した目標物Pの位置及び姿勢の推定結果から、目標物Pをピックアップ可能な(直進することでフォーク24を目標物Pの開口PBに挿入することができる)位置及び姿勢を算出して、目標位置A3として設定する。一例として、開口PBの入口から、目標物Pの開口PBの軸方向に1000mm平行移動した箇所を、目標位置A3としてもよい。そして、第2パス情報取得部82は、図12に示すように、開始位置である第2位置A2から、設定した目標位置A3までの軌道を、第2パスR2として設定する。第2パス情報取得部82は、目標位置A3の情報に基づいて任意の方法で第2パスR2を設定してよいが、例えば、モデル予測制御(MPC:Model Predictive Control)によって、第2パスR2を算出してもよい。
【0079】
(第2パスに沿った移動)
移動制御部72は、第2位置A2から目標位置A3まで、第2パスR2を通るように、移動体10を移動させる。移動体10が目標位置A3に到着したら、移動制御部72は、目標位置A3から移動体10を直進させて、フォーク24を目標物Pの開口PBに挿入させて、目標物Pをピックアップさせる。移動制御部72は、目標物Pをピックアップした移動体10を、設定された搬送先まで搬送させる。
【0080】
このように、移動制御部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を移動させてもよい。
【0081】
(目標物の位置及び姿勢検出の処理フロー)
次に、以上説明した第2パスの設定についての処理フローを説明する。図13は、第2パス設定の処理フローを説明するフローチャートである。制御装置28の検出制御部74は、移動体10が第1パスR1に沿って第1位置A1から第2位置A2までの間を移動中に、センサ26に目標物Pを複数回検出させる。すなわち本実施形態では、第1パスR1に沿って移動させつつ、センサ26に目標物Pを検出させる。図13に示すように、検出制御部74は、センサ26による1回の検出結果から、点群M0(計測点M)を取得する(ステップS10)。そして、制御装置28の目標物情報取得部76は、点群M0に基づいて、目標物Pの位置及び姿勢を推定する(ステップS12)。そして、制御装置28の信頼度情報取得部78は、目標物Pの位置及び姿勢の推定結果と、検出を行った際の移動体10の位置と、検出を行ったセンサ26の性能とに基づき、その検出における理想の計測点Mの数を算出し(ステップS14)、理想の計測点Mの数と実際の計測点Mの数との比率に基づき、その検出における目標物Pの位置及び姿勢の推定結果の信頼度を算出する(ステップS16)。
【0082】
そして、制御装置28は、算出された推定結果の数が閾値以上であるかを判断し、閾値以上であると判定しない場合には(ステップS18;No)、すなわち推定結果の数が閾値未満と判定した場合には、ステップS10に戻り、センサ26による他の検出結果(他のスキャンによる検出結果)による点群M0を取得させることで、推定結果の算出と信頼度の算出を繰り返す。なお、ここでの閾値は任意に設定してよい。算出された推定結果の数が閾値以上である場合(ステップS18;Yes)、制御装置28の選択情報取得部80は、算出されたそれぞれの推定結果のうちから、信頼度が最高となる推定結果を、第2パスR2の設定に用いる推定結果として選択する(ステップS20)。そして、制御装置28の第2パス情報取得部82は、選択された推定結果を用いて、第2パスR2を設定する(ステップS22)。
【0083】
なお、本実施形態では、センサ26が1回検出する度に目標物Pの位置及び姿勢の推定と信頼度の算出を行い、例えば移動体10が第2位置A2に到着して第2パスR2の設定を始める際に、信頼度に基づいて使用する推定結果を選択する。ただし各処理を行うタイミングはそれに限られず任意である。例えば、センサ26が任意の複数回検出してから、目標物Pの位置及び姿勢の推定と信頼度の算出をまとめて行ってよく、さらに言えば、移動体10が第2位置A2に到着して第2パスR2の設定を始める際に、これまでの検出結果から、目標物Pの位置及び姿勢の推定、信頼度の算出、及び推定結果の選択を行ってよい。
【0084】
(効果)
以上説明したように、本実施形態においては、制御装置28は、センサ26の検出毎に推定された目標物Pの位置及び姿勢についての、信頼度を算出する。そのため例えば、信頼度に基づいて第2パスR2の設定に用いる推定結果を選択して、目的位置まで適切にアプローチできる精度の高い第2パスR2を設定することが可能となる。そのため、本実施形態によると、移動体10を目的位置まで適切に移動させることが可能となる。さらに言えば、制御装置28は、推定結果から算出される理想の計測点Mの数と、実際の計測点Mの数との比率から、信頼度を算出し、実際の計測点Mの数が理想の計測点Mの数に近いほど、推定結果の精度が高いと判断して、信頼度を高くする。このように信頼度を算出することで、精度が高い推定結果を選択して、精度の高い第2パスR2を設定することが可能となる。
【0085】
なお、本実施形態では、移動体10の制御装置28が、点群M0から目標物Pの位置及び姿勢を推定し、推定結果の信頼度を算出し、信頼度に基づき第2パスR2の設定に用いる推定結果を選択し、選択した推定結果から第2パスR2を設定していた。ただし、これらの処理は、移動体10が実施することに限られず、例えば情報処理装置14などの他の装置がこれらの処理の少なくとも一部を実行して、移動体10は、その結果を取得するものであってもよい。すなわち例えば、移動体10の目標物情報取得部76は、目標物Pの位置及び姿勢の推定結果を取得するものであってよく、自身で目標物Pの位置及び姿勢を推定してもよいし、外部の装置から目標物Pの位置及び姿勢の推定結果を取得してもよい。また例えば、移動体10の信頼度情報取得部78は、推定結果の信頼度の情報を取得するものであってよく、自身で信頼度を算出してもよいし、外部の装置から推定結果の信頼度の情報を取得してもよい。信頼度情報取得部78が外部の装置から信頼度の情報を取得する場合には、移動体10は、推定結果を用いて演算する必要はないため、推定結果を取得する必要はないといえる。また例えば、移動体10の選択情報取得部80は、信頼度に基づき選択された推定結果の情報を取得するものであってよく、自身で推定結果を選択してもよいし、外部の装置から選択された推定結果の情報を取得してもよい。選択情報取得部80が外部の装置から選択された推定結果の情報を取得する場合には、移動体10は、信頼度を用いた選択処理を実施する必要がないため、信頼度を取得する必要はないといえる。また例えば、移動体10の第2パス情報取得部82は、推定結果に基づいて設定された第2パスR2の情報を取得するものであってよく、自身で選択された推定結果に基づいて第2パスR2を設定してもよいし、外部の装置から第2パスR2の情報を取得してもよい。第2パス情報取得部82が外部の装置から第2パスR2の情報を取得する場合には、移動体10は、選択された推定結果を用いて演算する必要はないため、選択された推定結果の情報を取得する必要はないといえる。
【0086】
(第2実施形態)
次に、第2実施形態について説明する。第2実施形態においては、理想の計測点Mの数を算出するために用いる基準位置AR1が、第1実施形態とは異なる。第2実施形態において、第1実施形態と構成が共通する箇所は、説明を省略する。
【0087】
図14は、第2実施形態において理想の計測点数を算出する方法を説明するための模式図である。図14に示すように、第2実施形態においては、信頼度情報取得部78は、検出を行った際の移動体10の位置とは異なる位置を、基準位置AR1として設定する。信頼度情報取得部78は、目標物Pの位置及び姿勢の推定結果と、検出を行った際の移動体10の位置とに基づき、基準位置AR1を設定する。信頼度情報取得部78は、推定した目標物Pの位置及び姿勢(ここでは近似線L)に対して移動体10が所定の位置及び姿勢となるような位置を、基準位置AR1として算出する。具体的には、信頼度情報取得部78は、基準位置AR1と近似線Lの基準点とを結ぶ直線LXの長さが、検出した際の移動体10の位置から近似線Lの基準点までの長さと等しくなり、かつ、直線LXと近似線Lの法線とのなす角度が所定範囲内となるように、基準位置AR1を算出する。ここでの近似線L上の基準点は、目標物Pの位置及び姿勢の推定結果から特定された、目標物Pの推定位置であるといえる。近似線L上の基準点は、任意の位置であってよいが、例えば近似線Lの中点であってよい。また、直線LXと近似線Lの法線とのなす角度は小さいことが好ましい。例えば、基準位置AR1は、検出した際の移動体10の位置から近似線Lの基準点を結ぶ直線と近似線Lの法線とのなす角度よりも、直線LXと近似線Lの法線とのなす角度が小さくなるように、設定されることが好ましい。さらに言えば、基準位置AR1は、直線LXと近似線Lの法線とのなす角度が、0度以上所定角度(例えば5度)以下であることが好ましい。すなわち、信頼度情報取得部78は、レーザ光LTの入射角が0°など小さくなる位置を、基準位置AR1として設定することが好ましい。
【0088】
第2実施形態においては、このように、レーザ光LTの入射角が小さくなる位置を、基準位置AR1として設定する。その後の理想の計測点Mの数の算出処理は、第1実施形態と同様なので、説明を省略する。ここで、基準位置AR1からのレーザ光LTの入射角が大きい場合、検出角度θ(レーザ光LTが目標物Pに照射される角度範囲)が小さくなるため、算出される理想の計測点Mの数が少なくなる。理想の計測点Mの数は、信頼度の算出の際の分母として用いられるため、算出される理想の計測点Mの数が少なくなると分母の数が小さくなり、信頼度がばらついてしまい、信頼度の算出精度が低下するおそれがある。それに対し、第2実施形態においては、直線LXと近似線Lの法線とのなす角度が小さくなるように基準位置AR1を設定するため、信頼度の算出の際の分母が小さな値となることを抑制して、信頼度の算出精度の低下を抑制できる。
【0089】
(信頼度算出の他の例)
第1実施形態と第2実施形態とは、理想の計測点Mの数と実際の計測点Mの数との比率に基づき、信頼度を算出する点で共通する。ただし、信頼度は、理想の計測点Mの数と実際の計測点Mの数との比率に基づき算出することに限られず、推定結果を用いて任意の方法で算出されてもよい。以下、信頼度の算出方法の他の例を説明する。
【0090】
例えば、信頼度情報取得部78は、近似線Lの残差に基づき、信頼度を算出してもよい。残差とは、計測点Mと近似線Lとの間の距離を指す。信頼度情報取得部78は、近似線Lの残差が小さいほど、信頼度を高く設定することが好ましい。例えば、信頼度情報取得部78は、それぞれの計測点Mについて、二次元座標系COにおける、計測点Mと近似線Lとの間の距離を残差として算出し、算出した残差の合計値が小さいほど信頼度を高く設定してよい。例えば、信頼度情報取得部78は、計測点Mの合計値に対する残差の合計値の比率を、推定結果の信頼度として算出してよい。
【0091】
また例えば、信頼度情報取得部78は、近似線Lの算出に用いた計測点Mのうちの一部の計測点Mを除去して、残った計測点Mを直線フィッティングして算出した近似線L’と、近似線Lとの差分に基づいて、推定結果の信頼度を算出してよい。例えば、信頼度情報取得部78は、近似線L’と近似線Lとの最短距離に基づき、推定結果の信頼度を算出してよい。この場合例えば、信頼度情報取得部78は、近似線L’と近似線Lとの最短距離が短いほど、信頼度を高くする。また例えば、信頼度情報取得部78は、近似線L’のX座標と近似線LのX座標との差分と、近似線L’のY座標と近似線LのY座標との差分と、近似線L’の姿勢(角度)と近似線Lの姿勢(角度)との差分とに基づき、信頼度を算出してよい。この場合、信頼度情報取得部78は、それらの差分が小さいほど、信頼度を高くする。
【0092】
また例えば、信頼度情報取得部78は、検出した際の移動体10と目標物P(近似線L)との位置関係に基づき、推定結果の信頼度を算出してよい。この場合例えば、信頼度情報取得部78は、検出した際の移動体10と目標物P(近似線L)との距離が短いほど、信頼度を高くする。また例えば、信頼度情報取得部78は、検出した際の移動体10と目標物P(近似線L)とを結んだ直線の、近似線Lの垂線に対する角度が小さいほど、信頼度を高くする。
【0093】
また例えば、信頼度情報取得部78は、移動体10が位置している床上の位置(すなわち領域AR内で移動体10が位置している箇所)の、水平方向に対する傾斜角度に基づき、推定結果の信頼度を算出してよい。この場合例えば、信頼度情報取得部78は、検出した際の移動体10が位置している箇所の、水平方向に対する傾斜角度の情報を取得し、傾斜角度に基づき、信頼度を算出する。信頼度情報取得部78は、傾斜角度が小さいほど、信頼度を高くする。なお、傾斜角度の情報は任意の方法で取得してよいが、例えば移動体10に傾斜角度を検出するセンサを搭載し、そのセンサの検出結果を取得してよい。
【0094】
(第3実施形態)
次に、第3実施形態について説明する。第3実施形態は、同じタイミングで複数のセンサ26に検出させた場合の信頼度の算出方法が、第1実施形態と異なる。第3実施形態において第1実施形態と構成が共通する箇所は、説明を省略する。なお、第3実施形態は、第2実施形態にも適用可能である。
【0095】
(目標物の位置及び姿勢の推定)
第3実施形態においては、検出制御部74は、同じタイミングで、すなわち移動体10が同じ位置にいるタイミングで、複数のセンサ26に検出を行わせて、各センサ26の検出結果を点群M0(計測点M)として取得する。そして、目標物情報取得部76は、複数のセンサ26による同じタイミングでの検出により取得された計測点Mを同一の座標系(本実施形態の例では二次元座標系CO)で重畳する。すなわち、目標物情報取得部76は、複数のセンサ26による同じタイミングでの検出により取得されたそれぞれの計測点Mを、同一の二次元座標系CO上でプロットする。なお、それぞれの計測点Mを重畳する座標系は、二次元座標系COに限られず、例えば三次元座標系などであってもよい。
【0096】
目標物情報取得部76は、重畳された計測点Mを用いて、第1実施形態と同様の方法で、目標物Pの位置及び姿勢を推定する。第3実施形態においては、移動体10が移動する毎に複数のセンサ26に検出を行わせて、移動体10が移動する毎に目標物Pの位置及び姿勢の推定を行う。第3実施形態においては、複数のセンサ26の検出結果を重畳するため、目標物Pの位置及び姿勢の推定に用いる計測点Mの数を増やして、推定精度を向上させることができる。
【0097】
(信頼度の算出)
第3実施形態においては、センサ26毎に個別信頼度を算出し、それらの個別信頼度に基づき、目標物Pの位置及び姿勢の推定結果の信頼度を算出する。以下、第1センサと第2センサとに同じタイミングで検出を行わせた場合を例に説明する。この場合、目標物情報取得部76は、第1センサの検出により取得した計測点M(点群M0)である第1計測点(第1点群)と、第2センサの検出により取得した計測点M(点群M0)である第2計測点(第2点群)とを、二次元座標系COで重畳する。そして、目標物情報取得部76は、重畳した第1計測点及び第2計測点に基づき、目標物Pの位置及び姿勢を推定する。そして、信頼度情報取得部78は、第1センサの検出結果(第1計測点)についての信頼度である第1個別信頼度と、第2センサの検出結果(第1計測点)についての信頼度である第2個別信頼度とを算出する。信頼度情報取得部78は、第1個別信頼度と第2個別信頼度とに基づき、重畳した第1計測点及び第2計測点に基づいて算出された推定結果についての信頼度を算出する。なお、第1個別信頼度と第2個別信頼度との算出方法は、第1実施形態や第2実施形態や他の例で説明した信頼度の算出方法と同様であってよい。
【0098】
より詳しくは、信頼度情報取得部78は、それぞれの個別信頼度と、それぞれのセンサ26から目標物Pの推定位置(例えば近似線L上の基準点)までの距離とに基づき、推定結果についての信頼度を算出する。すなわち、信頼度情報取得部78は、第1個別信頼度と、検出時の第1センサの位置から目標物Pの推定位置までの距離と、第2個別信頼度と、検出時の第2センサの位置から目標物Pの推定位置までの距離とに基づき、信頼度を算出する。具体的には、信頼度情報取得部78は、それぞれのセンサから目標物Pの推定位置までの距離に応じて、個別信頼度に重み付けをし、重み付けした個別信頼度を平均化することで、信頼度を算出する。信頼度情報取得部78は、センサ26から目標物Pの推定位置までの距離が短いほど、重みを大きくする。例えば、信頼度情報取得部78は、検出した際の第1センサの位置から目標物Pの推定位置までの距離に基づき、第1個別信頼度についての第1重みを算出し、検出した際の第2センサの位置から目標物Pの推定位置までの距離に基づき、第2個別信頼度についての第2重みを算出する。そして、信頼度情報取得部78は、第1個別信頼度と第1重みとを乗じた値と、第2個別信頼度と第2重みとを乗じた値との合計値を、個別信頼度の数で除することで、推定結果についての信頼度を算出する。
【0099】
なお、以上は2つのセンサを例にした信頼度の算出方法を例にしたが、3つ以上のセンサを用いた場合の信頼度も、同様の方法で算出してよい。すなわち例えば、信頼度情報取得部78は、次の式(2)を用いて、推定結果についての信頼度Sを算出する。式(2)において、nはセンサの数であり、vは個別信頼度であり、sは重みである。
【0100】
S=(v1・s1+v2・s2+ ・・・vn・sn)/n ・・・(2)
【0101】
このように、センサから目標物Pの推定値までの距離が短いほど重みを大きくして信頼度を算出することで、距離が近く精度が高い検出結果をより好適に信頼度に反映できるため、信頼度に基づき、精度の高い推定結果を適切に選択することが可能となる。ただし、第3実施形態における信頼度の算出方法は上記の説明に限られず、センサ26毎の個別信頼度に基づいた任意の方法で、信頼度を算出してよい。
【0102】
なお、第1実施形態においても、複数のセンサ26に同じタイミングで検出を行わせてもよいが、第1実施形態の場合は、第2実施形態のように同じタイミングで各センサ26が検出した計測点Mを重畳することなく、それぞれのセンサ26の検出毎に、個別に推定結果を算出する。
【0103】
(第4実施形態)
次に、第4実施形態について説明する。第4実施形態は、第2パスR2の設定に用いる推定結果の選択方法が、第1実施形態とは異なる。第4実施形態において第1実施形態と構成が共通する箇所は、説明を省略する。なお、第4実施形態は、第2実施形態及び第3実施形態にも適用可能である。
【0104】
第4実施形態においては、選択情報取得部80は、信頼度に加えて、検出の際の移動体10の位置から目標物Pの推定位置までの距離である検出距離にも基づき、第2パスR2の設定に用いる推定結果を選択する。例えば、選択情報取得部80は、それぞれの推定結果のうちから、信頼度が閾値以上となり、かつ、信頼度が閾値以上である推定結果のうちで検出距離が最短となる推定結果を、第2パスR2の設定に用いる推定結果として選択する。一例として、センサ26の第1の検出で取得された計測点Mから第1推定結果が算出され、センサ26の第2の検出で取得された計測点Mから第2推定結果が算出され、第1推定結果と第2推定結果との両方の信頼度が閾値以上となる場合で説明する。この例においては、第1の検出における移動体10の位置から目標物Pの推定位置までの第1検出距離が、第2の検出における移動体10の位置から目標物Pの推定位置までの第2検出距離よりも短い場合には、第1推定結果が、第2パスR2の設定に用いる推定結果として選択される。
【0105】
第4実施形態においては、第2パスR2を生成した後に、上記のように信頼度及び検出距離に基づき推定結果を選択しなおして第2パスR2を更新することが好ましい。すなわちこの場合、移動体10が第2位置A2に到達したら、選択情報取得部80は、第1パスR1の移動中におけるセンサ26の検出結果から算出された、目標物Pの位置及び姿勢の推定結果のうちから、第2パスR2の設定に用いる推定結果を選択する。そして、第2パス情報取得部82は、選択された推定結果を用いて第2パスR2を生成し、移動体10は、この第2パスR2に従って移動を開始する。この最初の第2パスR2の設定に用いる推定結果は、第1実施形態のように信頼度に基づいて選択してもよいし、上記で説明したように信頼度と検出距離に基づいて選択してもよい。
【0106】
そして、検出制御部74は、移動体10が第2パスR2に沿って移動中にも、センサ26に検出を行わせる。目標物情報取得部76は、第2パスR2でのセンサ26の検出により取得された計測点Mに基づき、目標物Pの位置及び姿勢を推定し、信頼度情報取得部78は、この推定結果についての信頼度と、第2パスR2で検出を行った際の検出距離とを算出する。そして、選択情報取得部80は、信頼度と検出距離とに基づき、第1パスR1でのセンサ26の検出により算出された推定結果と、第1パスR1でのセンサ26の検出により算出された推定結果とのうちから、第2パスR2の更新に用いるための推定結果を選択する。この場合は、上述のように、選択情報取得部80は、それぞれの推定結果のうちから、信頼度が閾値以上となり、かつ、信頼度が閾値以上となる推定結果のうちで検出距離が最短となる推定結果を、第2パスR2の更新に用いるための推定結果として選択する。そして、第2パス情報取得部82は、更新のために選択された推定結果が、今の第2パスR2の設定用に選択した推定結果と異なる場合は、更新のために選択された推定結果を用いて、第2パスR2を更新する。移動体10は、更新された第2パスR2に切り替えて、移動を続ける。検出制御部74は、この第2パスR2の更新処理を繰り返してよい。
【0107】
このように、第4実施形態においては、第2パスR2に沿って移動中にも検出を続けて、第2パスR2を更新することで、目標物Pに対するずれが少なくなるようにアプローチしていくことが可能となる。さらに言えば、センサ26の検出精度は、検出距離が短くなるほど高くなる傾向にあるため、検出距離が短い推定結果に切り替えて第2パスR2を更新することで、目標物Pに対するずれを少なくすることが可能となる。ただしこの場合に、単に検出距離が短い推定結果を選んでしまうと、検出距離は短いが突発的に信頼度が低くなった推定結果を選択してしまう可能性があり、目標物Pに対してずれてしまうおそれがある。それに対し、第4実施形態では、信頼度を閾値でフィルタリングすることで、信頼度がある程度高い推定結果を用いて、目標物Pに対して適切にアプローチすることが可能となる。
【0108】
(本開示の効果)
以上説明したように、本開示の移動体10の制御方法は、自動で移動する移動体10の制御方法であって、移動体10に設けられたセンサ26に目標物Pを検出させて、センサ26の検出結果を点群M0として取得するステップと、点群M0に基づいて目標物Pの位置及び姿勢を推定するステップと、目標物Pの位置及び姿勢の推定結果と、検出を行った際の移動体10の位置と、センサ26の性能とに基づき、センサ26の検出によって取得されると想定される理想の点群数を算出するステップと、理想の点群数と実際に取得された点群数との比較結果に基づき、目標物Pの位置及び姿勢の推定結果の精度に対する信頼度を算出するステップと、を含む。本制御方法によると、理想の点群数と実際の点群数との比較結果から信頼度を算出することで、推定結果の精度を適切に把握することが可能となる。従って、例えば信頼度に基づいて第2パスR2の設定に用いる推定結果を選択することなどが可能となり、移動体10を目的位置まで適切に移動させることが可能となる。
【0109】
また、センサ26は、光を所定方向に走査しつつ照射することで目標物Pを検出するものであり、本開示の制御方法は、理想の点群数を算出するステップにおいては、検出を行った際の移動体10の位置に対応する基準位置AR1からセンサ26が光を照射した場合に、センサ26が1回の検出で光を走査するスキャン角度のうちで、光が目標物Pに照射される角度範囲である検出角度θを算出し、検出角度θと、センサ26の角度分解能との比率に基づき、理想の点群数を算出する。本制御方法によると、適切な条件で検出された場合の点群数を理想の点群数として算出できるため、実際のセンサ26の検出が適切に行われたかを、信頼度に反映することが可能となる。そのため、このように算出された信頼度を用いることで、推定結果の精度を適切に把握することが可能となる。
【0110】
また、理想の点群数を算出するステップにおいては、検出を行った際の移動体10の位置を基準位置AR1とする。本制御方法によると、検出を行った際の移動体10の位置を基準位置AR1として理想の点群数を算出することで、信頼度を適切に算出して、推定結果の精度を適切に把握することが可能となる。
【0111】
また、理想の点群数を算出するステップにおいては、基準位置AR1から目標物Pの推定位置までの距離が、検出を行った際の移動体10の位置から目標物Pの推定位置までの距離と等しく、かつ、基準位置AR1から目標物Pまでを結ぶ直線と目標物Pの推定した前面Pa(近似線L)の法線とのなす角度が所定範囲内となるように、基準位置AR1を設定する。本制御方法によると、このように基準位置AR1を設定することで、理想の点群数の数が小さくなることなどを抑制して、信頼度の算出精度の低下を抑制できる。
【0112】
また、目標物Pは、複数の柱PAと柱PA同士の間の開口PBとが形成されている。本開示の制御方法は、理想の点群数を算出するステップにおいて、目標物Pの位置及び姿勢の推定結果から、それぞれの柱PAについて、柱PAの幅方向の一方側の端点PS1の位置と他方側の端点PS2の位置を特定する。そして、それぞれの柱PAについて、基準位置AR1と端点PS1とを結ぶ直線LA1と、基準位置AR1と端点PS2とを結ぶ直線LA2とのなす角度を、検出角度θとして算出し、検出角度θとセンサ26の角度分解能との比率に基づき、柱PA毎の理想の点群数を算出する。また、信頼度を算出するステップにおいては、柱PA毎の理想の点群数と、柱PA毎の実際に取得された点群数との比率に基づき、柱PA毎の信頼度を算出し、PA柱毎の信頼度に基づき、目標物Pの位置及び姿勢の推定結果についての信頼度を算出する。本制御方法によると、このように柱PA毎に信頼度を算出することで、信頼度を適切に算出して、推定結果の精度を適切に把握することが可能となる。
【0113】
また、理想の点群数を算出するステップにおいては、柱PAの幅方向の一方側の端点PS1の位置と他方側の端点PS2の位置を特定する。そして、それぞれの柱PAについて、基準位置AR1と端点PS1とを結ぶ直線LA1と、基準位置AR1と端点PS2とを結ぶ直線LA2とのなす角度を、検出角度θとして算出し、柱PA毎の検出角度θの合計値とセンサ26の角度分解能との比率に基づき、柱PA毎の理想の点群数の合計値を算出する。また、信頼度を算出するステップにおいては、理想の点群数の合計値と、実際に取得された点群数との比率に基づき、信頼度を算出する。本制御方法によると、それぞれの柱PAをまとめて信頼度を算出するため、演算負荷を抑制できる。
【0114】
また、センサ26の検出結果を点群として取得するステップにおいては、第1センサと第2センサとに目標物Pを検出させて、第1センサの検出結果に対応する第1点群と、第2センサの検出結果に対応する第2点群とを取得する。そして、目標物Pの位置及び姿勢を推定するステップにおいては、第1点群と第2点群とを同一座標系で重畳し、重畳した第1点群及び第2点群に基づいて、目標物Pの位置及び姿勢を推定する。そして、信頼度を算出するステップにおいては、第1点群についての信頼度である第1個別信頼度と、第2点群についての信頼度である第2個別信頼度とを算出し、第1個別信頼度と、検出した際の第1センサの位置から目標物Pの推定位置までの距離と、第2個別信頼度と、検出した際の第2センサの位置から目標物Pの推定位置までの距離とに基づき、信頼度を算出する。本制御方法によると、目標物Pの位置及び姿勢を推定するために用いる点群数を増やすことで推定精度を向上させることができる。さらに、センサ毎の個別信頼度と、センサから目標物Pの推定位置までの距離とを用いて信頼度を算出するため、信頼度を適切に算出して、推定結果の精度を適切に把握することが可能となる。
【0115】
また、本開示の移動体10は、自動で移動するものであって、移動体10に設けられたセンサ26に目標物Pを検出させて、センサ26の検出結果を点群M0として取得する検出制御部74と、点群M0に基づき推定された目標物Pの位置及び姿勢の推定結果の精度に対する信頼度の情報を取得する信頼度情報取得部78とを含む。信頼度は、点群M0に基づいて目標物Pの位置及び姿勢が推定され、目標物Pの位置及び姿勢の推定結果と、検出を行った際の移動体10の位置と、センサ26の性能とに基づき、センサ26の検出によって取得されると想定される理想の点群数が算出されることで、理想の点群数と実際に取得された点群数との比較結果に基づき算出される。この移動体10は、このように算出された信頼度を用いることで、目的位置まで適切に移動することが可能となる。
【0116】
また、本開示のプログラムは、自動で移動する移動体10の制御方法をコンピュータに実行させるものであって、移動体10に設けられたセンサ26に目標物Pを検出させて、センサ26の検出結果を点群M0として取得するステップと、点群M0に基づいて目標物Pの位置及び姿勢を推定するステップと、目標物Pの位置及び姿勢の推定結果と、検出を行った際の移動体10の位置と、センサ26の性能とに基づき、センサ26の検出によって取得されると想定される理想の点群数を算出するステップと、理想の点群数と実際に取得された点群数との比較結果に基づき、目標物Pの位置及び姿勢の推定結果の精度に対する信頼度を算出するステップと、をコンピュータに実行させる。本プログラムによると、移動体10を目的位置まで適切に移動させることが可能となる。
【0117】
また、本開示の移動体10の制御方法は、自動で移動する移動体10の制御方法であって、移動体10に設けられたセンサ26に目標物Pを複数回検出させて、センサ26の検出毎の検出結果を点群M0として取得するステップと、点群M0に基づいて、センサ26の検出毎に、目標物Pの位置及び姿勢を推定するステップと、センサ26の検出毎に、目標物Pの位置及び姿勢の推定結果の精度に対する信頼度を算出するステップと、センサ26の検出毎の信頼度に基づき、センサ26の検出毎の推定結果から、目標物Pに対して所定の位置及び姿勢となる目標位置までの第2パスR2(アプローチパス)を設定するために用いる推定結果を選択するステップと、選択された推定結果に基づいて、第2パスR2を設定するステップと、第2パスR2に沿って移動体10を移動させるステップと、を含む。本制御方法によると、推定結果毎の信頼度を算出し、信頼度に基づいて、第2パスR2の設定に用いる推定結果を選択するため、精度の高い推定結果を用いて、移動体10を目的位置まで適切に移動させることが可能となる。
【0118】
また、目標物Pの位置及び姿勢を推定するステップにおいては、センサ26の第1の検出に対応する点群である第1点群に基づき目標物Pの位置及び姿勢を推定しつつ、センサ26の第2の検出に対応する第2点群に基づき目標物Pの位置及び姿勢を推定する。そして、信頼度を算出するステップにおいては、第1点群に基づいた推定結果の信頼度と、第2点群に基づいた推定結果の信頼度である信頼度とを算出し、推定結果を選択するステップにおいては、第1点群に基づいた推定結果と第2点群に基づいた推定結果とのうちで、信頼度が高い方の推定結果を選択する。本制御方法によると、精度の高い推定結果を用いて、移動体10を目的位置まで適切に移動させることが可能となる。
【0119】
また、推定結果を選択するステップにおいては、センサ26の検出毎の推定結果のうちで、信頼度が最高となる推定結果を選択する。本制御方法によると、精度の高い推定結果を用いて、移動体10を目的位置まで適切に移動させることが可能となる。
【0120】
また、推定結果を選択するステップにおいては、検出した際の移動体10の位置から目標物Pの推定位置までの検出距離にも基づき、推定結果を選択する。本制御方法によると、検出距離も用いて第2パスR2の設定に用いる推定結果を選択するため、さらに精度の高い推定結果を選択することが可能となり、移動体10を目的位置まで適切に移動させることが可能となる。
【0121】
また、推定結果を選択するステップにおいては、信頼度が閾値以上となり、かつ、信頼度が閾値以上である推定結果のうちで検出距離が最小となる推定結果を、選択する。本制御方法によると、さらに精度の高い推定結果を選択することが可能となり、移動体10を目的位置まで適切に移動させることが可能となる。
【0122】
また、本開示の制御方法は、目標物Pが設置される設置領域AR0を横切る広域パス(第1パスR1)の情報を取得するステップと、第1パスR1に沿って移動体10を移動させるステップと、をさらに含む。点群M0を取得するステップにおいては、移動体10が第1パスR1に沿って移動中に、センサ26に目標物Pを複数回検出させる。本制御方法によると、目標物Pを横切って移動している最中に、センサ26に複数回検出させることで、目標物Pを適切に検出させて、目標物Pの検出精度の低下を好適に抑制できる。
【0123】
また、本開示の移動体10は、自動で移動するものであって、移動体10に設けられたセンサ26に目標物Pを複数回検出させて、センサ26の検出毎の検出結果を点群M0として取得する検出制御部74と、点群M0に基づき設定された、目標物Pに対して所定の位置及び姿勢となる目標位置までの第2パスR2の情報を取得する第2パス情報取得部82(アプローチパス情報取得部)と、第2パスR2に沿って移動体10を移動させる移動制御部72と、を含む。第2パスR2は、点群M0に基づいて、センサ26の検出毎に目標物Pの位置及び姿勢が推定され、センサ26の検出毎に、目標物Pの位置及び姿勢の推定結果の精度に対する信頼度が算出され、センサ26の検出毎の信頼度に基づき、センサ26の検出毎の推定結果から、第2パスR2を設定するために用いる推定結果が選択されることで、選択された推定結果に基づいて、設定される。この移動体10は、信頼度に基づいて選択された推定情報から設定された第2パスR2に従って移動するため、目的位置まで適切に移動することが可能となる。
【0124】
また、本開示のプログラムは、自動で移動する移動体10の制御方法をコンピュータに実行させるものであって、移動体10に設けられたセンサ26に目標物Pを複数回検出させて、センサ26の検出毎の検出結果を点群M0として取得するステップと、点群M0に基づいて、センサ26の検出毎に、目標物Pの位置及び姿勢を推定するステップと、センサ26の検出毎に、目標物Pの位置及び姿勢の推定結果の精度に対する信頼度を算出するステップと、センサ26の検出毎の信頼度に基づき、センサ26の検出毎の推定結果から、目標物Pに対して所定の位置及び姿勢となる目標位置までの第2パスR2(アプローチパス)を設定するために用いる推定結果を選択するステップと、選択された推定結果に基づいて、第2パスR2を設定するステップと、第2パスR2に沿って移動体10を移動させるステップと、をコンピュータに実行させる。本プログラムによると、精度の高い推定結果を用いて、移動体10を目的位置まで適切に移動させることが可能となる。
【0125】
以上、本発明の実施形態を説明したが、この実施形態の内容により実施形態が限定されるものではない。また、前述した構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。さらに、前述した構成要素は適宜組み合わせることが可能である。さらに、前述した実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換又は変更を行うことができる。
【符号の説明】
【0126】
10 移動体
26 センサ
70 第1パス情報取得部
72 移動制御部
74 検出制御部
76 目標物情報取得部
78 信頼度情報取得部
80 選択情報取得部
82 第2パス情報取得部
M 計測点
M0 点群
P 目標物
R2 第2パス
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14