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

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

▶ 株式会社豊田自動織機の特許一覧

<>
  • 特許-位置姿勢推定装置 図1
  • 特許-位置姿勢推定装置 図2
  • 特許-位置姿勢推定装置 図3
  • 特許-位置姿勢推定装置 図4
  • 特許-位置姿勢推定装置 図5
  • 特許-位置姿勢推定装置 図6
  • 特許-位置姿勢推定装置 図7
  • 特許-位置姿勢推定装置 図8
  • 特許-位置姿勢推定装置 図9
  • 特許-位置姿勢推定装置 図10
  • 特許-位置姿勢推定装置 図11
  • 特許-位置姿勢推定装置 図12
  • 特許-位置姿勢推定装置 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-04-07
(45)【発行日】2025-04-15
(54)【発明の名称】位置姿勢推定装置
(51)【国際特許分類】
   B66F 9/24 20060101AFI20250408BHJP
   G01B 11/00 20060101ALI20250408BHJP
   G01B 11/26 20060101ALI20250408BHJP
   G01B 11/02 20060101ALI20250408BHJP
【FI】
B66F9/24 P
G01B11/00 A
G01B11/26 Z
G01B11/02 Z
G01B11/26 H
【請求項の数】 6
(21)【出願番号】P 2021189959
(22)【出願日】2021-11-24
(65)【公開番号】P2023076925
(43)【公開日】2023-06-05
【審査請求日】2024-02-13
(73)【特許権者】
【識別番号】000003218
【氏名又は名称】株式会社豊田自動織機
(74)【代理人】
【識別番号】100088155
【弁理士】
【氏名又は名称】長谷川 芳樹
(74)【代理人】
【識別番号】100113435
【弁理士】
【氏名又は名称】黒木 義樹
(74)【代理人】
【識別番号】100124062
【弁理士】
【氏名又は名称】三上 敬史
(74)【代理人】
【識別番号】100148013
【弁理士】
【氏名又は名称】中山 浩光
(72)【発明者】
【氏名】岸田 匡弘
【審査官】板澤 敏明
(56)【参考文献】
【文献】特開2021-042070(JP,A)
【文献】特開2018-058679(JP,A)
【文献】特開2021-169360(JP,A)
【文献】特開2017-178567(JP,A)
【文献】米国特許出願公開第2019/0194005(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B66F 9/00-11/04
G01B 11/00-11/30
(57)【特許請求の範囲】
【請求項1】
フォークリフトに搭載され、荷物を載せるパレット部と前記パレット部の前後左右の角部に立設された4本の柱部とを有するポストパレットの位置及び姿勢を推定する位置姿勢推定装置であって、
前記ポストパレットの前面に向けてレーザを照射し、レーザの反射光を受光することにより、前記ポストパレットまでの距離を検出して点群データを取得するレーザ距離検出部と、
前記レーザ距離検出部により取得された点群データに基づいて、前記パレット部及び前記柱部の前面に相当する平面を検知する平面検知部と、
前記平面検知部により検知された前記パレット部及び前記柱部の前面に相当する平面を用いて、前記フォークリフトに対する前記ポストパレットの位置及び姿勢の推定演算を行う推定演算部とを備え、
前記推定演算部は、前記パレット部及び前記柱部の前面に相当する平面に基づいて、前記パレット部に相当する横線と前記柱部に相当する縦線とを抽出し、前記横線及び前記縦線に基づいて、前記フォークリフトに対する前記ポストパレットの位置及び姿勢を算出し、
前記推定演算部は、前記縦線の傾き及び寸法に基づいて前記柱部の姿勢を算出することで、前記フォークリフトに対する前記ポストパレットの姿勢を算出すると共に、前記横線と前記縦線との交点を求め、前記交点の位置に基づいて前記パレット部の位置を算出することで、前記フォークリフトに対する前記ポストパレットの位置を算出する位置姿勢推定装置。
【請求項2】
フォークリフトに搭載され、荷物を載せるパレット部と前記パレット部の前後左右の角部に立設された4本の柱部とを有するポストパレットの位置及び姿勢を推定する位置姿勢推定装置であって、
前記ポストパレットの前面に向けてレーザを照射し、レーザの反射光を受光することにより、前記ポストパレットまでの距離を検出して点群データを取得するレーザ距離検出部と、
前記レーザ距離検出部により取得された点群データに基づいて、前記パレット部及び前記柱部の前面に相当する平面を検知する平面検知部と、
前記平面検知部により検知された前記パレット部及び前記柱部の前面に相当する平面を用いて、前記フォークリフトに対する前記ポストパレットの位置及び姿勢の推定演算を行う推定演算部とを備え、
前記平面検知部は、前記ポストパレットに対応する第1点群データに対して点群が除去された第2点群データを取得し、前記第2点群データに対して規定厚よりも大きい厚さに平面近似を行って第1平面を求め、その後前記第1点群データのうち前記第1平面に含まれる第3点群データを取り出し、前記第3点群データに対して前記規定厚に平面近似を行って第2平面を求めることにより、前記パレット部及び前記柱部の前面に相当する平面を検知し、
前記推定演算部は、前記パレット部及び前記柱部の前面に相当する平面に基づいて、前記パレット部に相当する横線と前記柱部に相当する縦線とを抽出し、前記横線及び前記縦線に基づいて、前記フォークリフトに対する前記ポストパレットの位置及び姿勢を算出する位置姿勢推定装置。
【請求項3】
フォークリフトに搭載され、荷物を載せるパレット部と前記パレット部の前後左右の角部に立設された4本の柱部とを有するポストパレットの位置及び姿勢を推定する位置姿勢推定装置であって、
前記ポストパレットの前面に向けてレーザを照射し、レーザの反射光を受光することにより、前記ポストパレットまでの距離を検出して点群データを取得するレーザ距離検出部と、
前記レーザ距離検出部により取得された点群データに基づいて、前記パレット部及び前記柱部の前面に相当する平面を検知する平面検知部と、
前記平面検知部により検知された前記パレット部及び前記柱部の前面に相当する平面を用いて、前記フォークリフトに対する前記ポストパレットの位置及び姿勢の推定演算を行う推定演算部とを備え、
前記推定演算部は、前記パレット部及び前記柱部の前面に相当する平面に基づいて、前記パレット部に相当する横線と前記柱部に相当する縦線とを抽出し、前記横線及び前記縦線に基づいて、前記フォークリフトに対する前記ポストパレットの位置及び姿勢を算出し、
前記推定演算部は、前記パレット部及び前記柱部の前面に相当する平面に含まれる平面点群データに対して直線近似を行って直線を求め、その後前記平面点群データのうち前記直線上にある点群データを取り出すことで、前記横線及び前記縦線を抽出する位置姿勢推定装置。
【請求項4】
フォークリフトに搭載され、荷物を載せるパレット部と前記パレット部の前後左右の角部に立設された4本の柱部とを有するポストパレットの位置及び姿勢を推定する位置姿勢推定装置であって、
前記ポストパレットの前面に向けてレーザを照射し、レーザの反射光を受光することにより、前記ポストパレットまでの距離を検出して点群データを取得するレーザ距離検出部と、
前記レーザ距離検出部により取得された点群データに基づいて、前記パレット部及び前記柱部の前面に相当する平面を検知する平面検知部と、
前記平面検知部により検知された前記パレット部及び前記柱部の前面に相当する平面を用いて、前記フォークリフトに対する前記ポストパレットの位置及び姿勢の推定演算を行う推定演算部とを備え、
前記推定演算部は、前記パレット部及び前記柱部の前面に相当する平面に基づいて、前記パレット部に相当する横線と前記柱部に相当する縦線とを抽出し、前記横線及び前記縦線に基づいて、前記フォークリフトに対する前記ポストパレットの位置及び姿勢を算出し、
前記推定演算部は、前記パレット部及び前記柱部の前面に相当する平面に含まれる平面点群データが仮想的に前記レーザ距離検出部に正対するように前記平面点群データを回転させることで、前記平面点群データの座標系を変換した状態で、前記横線及び前記縦線に基づいて、前記フォークリフトに対する前記ポストパレットの位置及び姿勢を算出し、その後前記ポストパレットの位置及び姿勢を元の座標系に戻すように逆回転させることにより、前記フォークリフトに対する最終的な前記ポストパレットの位置及び姿勢を求める位置姿勢推定装置。
【請求項5】
フォークリフトに搭載され、荷物を載せるパレット部と前記パレット部の前後左右の角部に立設された4本の柱部とを有するポストパレットの位置及び姿勢を推定する位置姿勢推定装置であって、
前記ポストパレットの前面に向けてレーザを照射し、レーザの反射光を受光することにより、前記ポストパレットまでの距離を検出して点群データを取得するレーザ距離検出部と、
前記レーザ距離検出部により取得された点群データに基づいて、前記パレット部及び前記柱部の前面に相当する平面を検知する平面検知部と、
前記平面検知部により検知された前記パレット部及び前記柱部の前面に相当する平面を用いて、前記フォークリフトに対する前記ポストパレットの位置及び姿勢の推定演算を行う推定演算部とを備え、
前記推定演算部は、前記パレット部及び前記柱部の前面に相当する平面に基づいて、前記パレット部に相当する横線と前記柱部に相当する縦線とを抽出し、前記横線及び前記縦線に基づいて、前記フォークリフトに対する前記ポストパレットの位置及び姿勢を算出し、
前記推定演算部は、前記フォークリフトに対する前記ポストパレットの位置及び姿勢を算出した後、前記横線及び前記縦線の傾き及び寸法に基づいて、前記平面検知部により検知された平面が前記ポストパレットの前面に該当するかどうかを最終的に判定し、前記平面検知部により検知された平面が前記ポストパレットの前面に該当しないと判定したときは、前記平面検知部により検知された平面に含まれる点群データを削除し、前記平面検知部に対して前記パレット部及び前記柱部の前面に相当する平面の検知処理を再度実行させる位置姿勢推定装置。
【請求項6】
前記ポストパレットの前面を撮像して画像データを取得する撮像部と、
前記撮像部により取得された画像データに基づいて、前記ポストパレットを認識するポストパレット認識部と、
前記レーザ距離検出部により取得された前記点群データのうち前記ポストパレット認識部により認識された前記ポストパレットに対応する点群データを抽出する点群処理部とを更に備え、
前記平面検知部は、前記点群処理部により抽出された点群データに基づいて、前記パレット部及び前記柱部の前面に相当する平面を検知する請求項1~5の何れか一項記載の位置姿勢推定装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、位置姿勢推定装置に関する。
【背景技術】
【0002】
従来の位置姿勢推定装置としては、例えば特許文献1に記載されている技術が知られている。特許文献1に記載の位置姿勢推定装置は、パレットを検出する単眼カメラと、この単眼カメラと接続されたコントローラとを備えている。コントローラは、単眼カメラの撮像画像データに基づいてパレットを検知し、撮像画像データにおいてパレットの前面と2つのパレット穴とを取り囲むような枠線が指定された枠付き撮像画像データを作成するパレット検知部と、枠付き撮像画像データを用いてパレットの位置及び姿勢を推定する推定演算部とを有している。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2021-24718号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、フォークリフトによる荷役作業に使用されるパレットの一つとして、荷物が載置された状態で段重ねすることが可能なポストパレットがある。そのようなポストパレットについても、フォークリフトに対する位置及び姿勢を高精度に推定する必要がある。
【0005】
本発明の目的は、フォークリフトに対するポストパレットの位置及び姿勢を高精度に推定することができる位置姿勢推定装置を提供することである。
【課題を解決するための手段】
【0006】
本発明の一態様は、フォークリフトに搭載され、荷物を載せるパレット部とパレット部の前後左右の角部に立設された4本の柱部とを有するポストパレットの位置及び姿勢を推定する位置姿勢推定装置であって、ポストパレットの前面に向けてレーザを照射し、レーザの反射光を受光することにより、ポストパレットまでの距離を検出して点群データを取得するレーザ距離検出部と、レーザ距離検出部により取得された点群データに基づいて、パレット部及び柱部の前面に相当する平面を検知する平面検知部と、平面検知部により検知されたパレット部及び柱部の前面に相当する平面を用いて、フォークリフトに対するポストパレットの位置及び姿勢の推定演算を行う推定演算部とを備え、推定演算部は、パレット部及び柱部の前面に相当する平面に基づいて、パレット部に相当する横線と柱部に相当する縦線とを抽出し、横線及び縦線に基づいて、フォークリフトに対するポストパレットの位置及び姿勢を算出する。
【0007】
このような位置姿勢推定装置においては、レーザ距離検出部によってポストパレットの前面に向けてレーザが照射されることで、ポストパレットに対応する点群データが取得される。そして、ポストパレットに対応する点群データに基づいて、ポストパレットにおけるパレット部及び柱部の前面に相当する平面が検知される。そして、パレット部及び柱部の前面に相当する平面に基づいて、パレット部に相当する横線と柱部に相当する縦線とが抽出される。そして、横線及び縦線に基づいて、フォークリフトに対するポストパレットの位置及び姿勢が算出される。このとき、柱部は上下方向に長く延びているため、ポストパレットの上下方向の位置及び角度の精度が出やすい。これにより、フォークリフトに対するポストパレットの位置及び姿勢が高精度に推定される。
【0008】
位置姿勢推定装置は、ポストパレットの前面を撮像して画像データを取得する撮像部と、撮像部により取得された画像データに基づいて、ポストパレットを認識するポストパレット認識部と、レーザ距離検出部により取得された点群データのうちポストパレット認識部により認識されたポストパレットに対応する点群データを抽出する点群処理部とを更に備え、平面検知部は、点群処理部により抽出された点群データに基づいて、パレット部及び柱部の前面に相当する平面を検知してもよい。
【0009】
このような構成では、撮像部により取得された画像データに基づいてポストパレットが認識され、レーザ距離検出部により取得された点群データのうち認識されたポストパレットに対応する点群データが抽出される。画像データは、点群データに比べて解像度が高い。このため、ポストパレットの認識精度が高くなる。従って、フォークリフトに対するポストパレットの位置及び姿勢が更に高精度に推定される。
【0010】
推定演算部は、縦線の傾き及び寸法に基づいて柱部の姿勢を算出することで、フォークリフトに対するポストパレットの姿勢を算出すると共に、横線と縦線との交点を求め、交点の位置に基づいてパレット部の位置を算出することで、フォークリフトに対するポストパレットの位置を算出してもよい。
【0011】
このような構成では、柱部に相当する縦線の傾き及び寸法に基づいて柱部の姿勢が算出されると共に、パレット部に相当する横線と柱部に相当する縦線との交点の位置に基づいてパレット部の位置が算出される。従って、フォークリフトに対するポストパレットの位置及び姿勢を簡単に算出することができる。
【0012】
平面検知部は、ポストパレットに対応する第1点群データに対して点群が除去された第2点群データを取得し、第2点群データに対して規定厚よりも大きい厚さに平面近似を行って第1平面を求め、その後第1点群データのうち第1平面に含まれる第3点群データを取り出し、第3点群データに対して規定厚に平面近似を行って第2平面を求めることにより、パレット部及び柱部の前面に相当する平面を検知してもよい。
【0013】
このような構成では、点群が除去された第2点群データに対して規定厚よりも大きい厚さに平面近似を行って第1平面を求めることにより、平面近似を繰り返し行った際に第2点群データのばらつきに対応することができる。そして、第1点群データのうち第1平面に含まれる第3点群データを取り出し、第3点群データに対して規定厚に平面近似を行って第2平面を求めることにより、パレット部及び柱部の前面に相当する平面に欠けが生じにくくなると共に、パレット部及び柱部の前面に相当する平面に含まれない不要な点群が削除される。また、パレット部及び柱部の前面に相当する平面の位置及び角度のブレが抑制される。以上により、フォークリフトに対するポストパレットの位置及び姿勢が更に高精度に推定される。
【0014】
推定演算部は、パレット部及び柱部の前面に相当する平面に含まれる平面点群データに対して直線近似を行って直線を求め、その後平面点群データのうち直線上にある点群データを取り出すことで、横線及び縦線を抽出してもよい。
【0015】
このような構成では、パレット部及び柱部の前面に相当する平面に含まれる平面点群データに対して直線近似を行って直線を求めた後、平面点群データのうち直線上にある点群データを取り出すことにより、パレット部に相当する横線及び柱部に相当する縦線に欠けが生じにくくなると共に、横線及び縦線に含まれない不要な点群が削除される。従って、フォークリフトに対するポストパレットの位置及び姿勢が更に高精度に推定される。
【0016】
推定演算部は、パレット部及び柱部の前面に相当する平面に含まれる平面点群データが仮想的にレーザ距離検出部に正対するように平面点群データを回転させることで、平面点群データの座標系を変換した状態で、横線及び縦線に基づいて、フォークリフトに対するポストパレットの位置及び姿勢を算出し、その後ポストパレットの位置及び姿勢を元の状態に戻すように逆回転させることにより、フォークリフトに対する最終的なポストパレットの位置及び姿勢を求めてもよい。
【0017】
このような構成では、パレット部及び柱部の前面に相当する平面に含まれる平面点群データが仮想的にレーザ距離検出部に正対するように平面点群データを回転させることにより、ポストパレットの前後方向を無視して2次元的に横線と縦線との交点が求められる。このため、横線と縦線との交点が精度良く抽出される。従って、フォークリフトに対するポストパレットの位置及び姿勢が更に高精度に推定される。
【0018】
推定演算部は、フォークリフトに対するポストパレットの位置及び姿勢を算出した後、横線及び縦線の傾き及び寸法に基づいて、平面検知部により検知された平面がポストパレットの前面に該当するかどうかを最終的に判定し、平面検知部により検知された平面がポストパレットの前面に該当しないと判定したときは、平面検知部により検知された平面に含まれる点群データを削除し、平面検知部に対してパレット部及び柱部の前面に相当する平面の検知処理を再度実行させてもよい。
【0019】
このような構成では、検知された平面がポストパレットの前面に該当しないと判定されたときは、当該平面に含まれる点群データが削除され、平面の検知処理が再度実行されるので、パレット部及び柱部の前面に相当する正確な平面が得られる。従って、フォークリフトに対するポストパレットの位置及び姿勢が更に高精度に推定される。
【発明の効果】
【0020】
本発明によれば、フォークリフトに対するポストパレットの位置及び姿勢を高精度に推定することができる。
【図面の簡単な説明】
【0021】
図1】本発明の一実施形態に係る位置姿勢推定装置が搭載されたフォークリフトをポストパレットと共に示す概略平面図である。
図2図1に示されたポストパレットの正面図である。
図3】本発明の一実施形態に係る位置姿勢推定装置を具備した走行制御装置を示す概略構成図である。
図4】レーザセンサにより取得された点群データと点群処理部により抽出された点群データとを示す図である。
図5図3に示された平面検知部により実行される平面検知処理の手順を示すフローチャートである。
図6】点群データに対して通常の平面近似を行う平面検知処理を簡略化して示す概念図である。
図7図3に示された平面検知部により実行される平面検知処理を簡略化して示す概念図である。
図8図3に示された推定演算部により実行される推定演算処理の手順を示すフローチャートである。
図9】平面点群データの座標変換が行われる様子を示す概念図である。
図10】パレット部に相当する横線、柱部に相当する縦線及び横線と縦線との交点を示す図である。
図11図8に示された手順S122による直線抽出処理手順の詳細を示すフローチャートである。
図12】平面点群データに対して直線近似を行う処理を簡略化して示す概念図である。
図13】ポストパレットのロール角、ヨー角及びピッチ角を示す概念図である。
【発明を実施するための形態】
【0022】
以下、本発明の実施形態について図面を参照して詳細に説明する。
【0023】
図1は、本発明の一実施形態に係る位置姿勢推定装置が搭載されたフォークリフトをポストパレットと共に示す概略平面図である。図1において、フォークリフト1は、車体2と、この車体2の前側に配置され、荷役を行う荷役装置3とを備えている。荷役装置3は、車体2の前端部に取り付けられたマスト4と、このマスト4に昇降可能に取り付けられ、ポストパレット5を持ち上げる左右1対のフォーク6とを有している。
【0024】
ポストパレット5は、図2にも示されるように、平面視で正方形状のパレット部7と、このパレット部7の前後左右4つの角部にそれぞれ立設された4本の柱部8とを有している。なお、ポストパレット5の前後方向はX方向に相当し、ポストパレット5の左右方向はY方向に相当し、ポストパレット5の上下方向はZ方向に相当する。
【0025】
パレット部7は、荷物Mを載せる荷役台である。パレット部7は、フォーク6によりポストパレット5を持ち上げる際に、フォークリフト1と向き合う前面7aを有している。パレット部7には、1対のフォーク6が差し込まれる2つのフォーク穴9が設けられている。フォーク穴9は、パレット部7の前面7aから後面7bまで延びている。フォーク穴9の形状は、正面視で矩形状である。
【0026】
柱部8は、四角柱状を呈している。柱部8は、パレット部7の角部に折り畳み可能に連結されている。柱部8は、前面8aを有している。前面8aは、パレット部7の前面7aと同じ側の面である。
【0027】
このようなポストパレット5は、各柱部8がパレット部7に対して立ったときには、パレット部7に荷物Mを載置した状態で段重ねすることが可能である。この場合、下側のポストパレット5の各柱部8の上面に、上側のポストパレット5のパレット部7が置かれた状態となる。
【0028】
図3は、本発明の一実施形態に係る位置姿勢推定装置を備えた走行制御装置を示す概略構成図である。図3において、走行制御装置10は、フォークリフト1がトラック荷台Т(図1参照)に積まれたポストパレット5の荷取りを行う際に、フォークリフト1を荷取り位置まで自動的に走行させる装置である。荷取り位置は、フォークリフト1の各フォーク6がポストパレット5のフォーク穴9に差し込まれる位置である。
【0029】
走行制御装置10は、フォークリフト1に搭載されている。走行制御装置10は、カメラ11と、レーザセンサ12と、コントローラ13と、駆動部14とを備えている。
【0030】
カメラ11は、ポストパレット5の前面(正面)を撮像して画像データを取得する撮像部である。カメラ11としては、例えば単眼カメラやステレオカメラ等が使用される。
【0031】
レーザセンサ12は、ポストパレット5の前面に向けてレーザを照射し、レーザの反射光を受光することにより、ポストパレット5までの距離を検出して点群データを取得するレーザ距離検出部である。点群は、ポストパレット5を含む物体におけるレーザの反射点の集まりである。レーザセンサ12は、点密度が高い2Dまたは3Dのレーザを照射する。レーザセンサ12としては、例えばLIDARやレーザレンジファインダ等が使用される。
【0032】
コントローラ13は、CPU、RAM、ROM及び入出力インターフェース等により構成されている。コントローラ13は、カメラ11により取得された画像データとレーザセンサ12により取得された点群データとを入力し、所定の処理を実行し、駆動部14を制御する。駆動部14は、特に図示はしないが、例えばフォークリフト1の駆動輪を回転させる走行モータと、フォークリフト1の操舵輪を転舵させる操舵モータとを有している。
【0033】
コントローラ13は、ポストパレット認識部15と、点群処理部16と、平面検知部17と、推定演算部18と、経路生成部19と、走行制御部20とを有している。
【0034】
ここで、ポストパレット認識部15、点群処理部16、平面検知部17及び推定演算部18は、カメラ11及びレーザセンサ12と協働して、本実施形態の位置姿勢推定装置21を構成している。位置姿勢推定装置21は、フォークリフト1がポストパレット5の正面側に位置している状態で、フォークリフト1に対するポストパレット5の位置及び姿勢を推定する装置である。
【0035】
ポストパレット認識部15は、カメラ11により取得された画像データに基づいて、ポストパレット5を認識する。ポストパレット認識部15は、例えばディープラーニング(深層学習)を利用した画像処理技術によって、ポストパレット5の大凡の位置及び寸法を認識する。
【0036】
点群処理部16は、レーザセンサ12により取得された点群データのうちポストパレット認識部15により認識されたポストパレット5に対応する点群データを抽出する。例えば、レーザセンサ12によって図4(a)に示されるような点群データDpが取得された場合、ポストパレット認識部15によりポストパレット5が認識されると、図4(b)に示されるように、ポストパレット5に対応する点群データDppが得られる。点群データDppでは、点群データDpに比べて点群データの範囲が左右方向(Y方向)に多少狭まるようになる。
【0037】
平面検知部17は、点群処理部16により抽出されたポストパレット5に対応する点群データに基づいて、ポストパレット5におけるパレット部7の前面7a及び柱部8の前面8a(以下、単に前面7a,8aということがある)に相当する平面を検知する。
【0038】
平面検知部17は、例えば点群データに対して平面をフィッティングして平面方程式の係数を求めることで、前面7a,8aに相当する平面を検知する。このとき、平面検知部17は、例えばRANSAC(Random sample consensus)を用いて、点群データの何点かをランダムにピックアップして平面をフィッティングする。
【0039】
図5は、平面検知部17により実行される平面検知処理の手順を示すフローチャートである。図5において、平面検知部17は、まず点群処理部16により抽出されたポストパレット5に対応する点群データ(以下、第1点群データとする)を取得する(手順S101)。
【0040】
続いて、平面検知部17は、第1点群データ(図7(a)参照)に対して平面検知により不要な平面上にあった点群が除去された後述する第2点群データ(図7(b)参照)を取得する(手順S102)。なお、第2点群データの初期データは、例えば第1点群データと同じ点群データである。
【0041】
続いて、平面検知部17は、第2点群データに対して規定厚よりも大きい厚さに平面近似を行い(図7(c)参照)、第1平面を求める(手順S103)。規定厚は、パレット部7及び柱部8の奥行方向(前後方向)の寸法である。
【0042】
続いて、平面検知部17は、第1点群データのうち第1平面に含まれる点群データ(第3点群データとする)を取り出す(手順S104)。続いて、平面検知部17は、第3点群データに対して規定厚に平面近似を行い(図7(d)参照)、第2平面を求める(手順S105)。つまり、平面検知部17は、第3点群データに対して、手順S103よりも薄く平面近似を行う。
【0043】
続いて、平面検知部17は、第1点群データのうち第2平面に含まれる点群データ(第4点群データとする)を取り出す(手順S106)。そして、平面検知部17は、第2平面に含まれる第4点群データの反射点の数を記録する(手順S107)。
【0044】
続いて、平面検知部17は、平面検知処理が所定回数(例えば100回)行われたかどうかを判断する(手順S108)。平面検知部17は、平面検知処理が所定回数行われていないと判断したときは、不要な平面上の反射点が消去された点群データを第2点群データとして設定し(手順S112)、上記の手順S102~手順S107を再度実行する。
【0045】
平面検知部17は、平面検知処理が所定回数行われたと判断したときは、記録された反射点の数が最も多い第4点群データに対応する第2平面を選択する(手順S109)。続いて、平面検知部17は、選択された第2平面の法線ベクトルを算出する(手順S110)。
【0046】
平面検知部17は、第2平面の法線ベクトルに基づいて、選択された第2平面がポストパレット5の前面らしい平面であるかどうかを判断する(手順S111)。例えば法線ベクトルの向き等に基づいて、第2平面がポストパレット5の前面らしい平面であるかを判断することが可能である。
【0047】
平面検知部17は、選択された第2平面がポストパレット5の前面らしい平面でないと判断したときは、上記の手順S101~手順S110を再度実行する。
【0048】
平面検知部17は、選択された第2平面がポストパレット5の前面らしい平面であると判断したときは、選択された第2平面を前面7a,8aに相当する平面として決定し、当該第2平面の姿勢を検知する(手順S113)。
【0049】
図6は、点群データに対して通常の平面近似を行う平面検知処理を簡略化して示す概念図である。点群処理部16により抽出されたポストパレット5に対応する点群データに対する平面検知処理によって、図6(a)に示されるような点群データDp0が得られる。なお、点群データDp0は、複数の反射点P0からなっている。
【0050】
そのような点群データDp0に対して、図6(b)に示されるような平面近似が行われた場合には、ポストパレット5の前面に対応する点群は取れている。ただし、レーザセンサ12の誤差やポストパレット5の材質等に起因した点群のばらつきがあるため、全ての点群は取れず、検知された平面に欠け(図中のK参照)が生じている。なお、丸印Pは、平面近似で抽出された反射点である。三角印Qは、平面近似で抽出されなかった反射点である。
【0051】
また、点群データDp0に対して、図6(c)に示されるような平面近似が行われた場合には、検知された平面がポストパレット5の前面に相当する平面でないと判定されるため、当該平面に含まれる点群データDp0の反射点P0が全て消去される。
【0052】
その状態で、図6(d)に示されるように、次の平面検知処理によって平面近似が行われると、点群データDp0の左側の反射点P0が欠けている。このため、ポストパレット5の前面に相当する正確な平面が得られない。なお、白丸印Rは、消去された反射点である。
【0053】
そこで、まず図7(a)に示されるように、点群処理部16により抽出されたポストパレット5に対応する第1点群データDp1が取得されると共に、図7(b)に示されるように、第1点群データDp1に対する平面検知処理によって第2点群データDp2が取得される。第1点群データDp1は、点群が欠けていない点群データである。第2点群データDp2は、他の平面を消去する過程で点群が欠けた点群データである。なお、第1点群データDp1及び第2点群データDp2は、複数の反射点P1からなっている。
【0054】
そして、図7(c)に示されるように、第2点群データDp2に対して、規定厚よりも大きい厚さに平面近似を行って第1平面F1を求める。これにより、第2点群データDp2の大部分の点群が取れる。
【0055】
そして、第1点群データDp1のうち第1平面F1に含まれる第3点群データDp3を取り出す。第3点群データDp3には、ポストパレット5の前面の点群がほぼ全て含まれている。このため、第3点群データDp3は、ほぼ前面7a,8aに相当する平面を形成することとなる。ただし、第1平面F1が斜めに延びているため、ポストパレット5の角度誤差が大きくなる。
【0056】
その後、図7(d)に示されるように、第3点群データDp3に対して規定厚に平面近似を行って第2平面F2を求める。第2平面F2は正しい角度で延びているため、ポストパレット5の前面の正確な姿勢(ヨー角)が得られる。
【0057】
図3に戻り、推定演算部18は、平面検知部17により検知されたパレット部7の前面7a及び柱部8の前面8aに相当する平面を用いて、フォークリフト1に対するポストパレット5の位置及び姿勢の推定演算を行う。
【0058】
推定演算部18は、前面7a,8aに相当する平面に基づいて、パレット部7に相当する横線と柱部8に相当する縦線とを抽出し、横線及び縦線に基づいて、フォークリフト1に対するポストパレット5の位置及び姿勢を算出する。
【0059】
図8は、推定演算部18により実行される推定演算処理の手順を示すフローチャートである。図8において、推定演算部18は、まず前面7a,8aに相当する平面に含まれる平面点群データが仮想的にレーザセンサ12に正対するように平面点群データを回転させる(手順S121)。つまり、平面点群データが仮想的にレーザセンサ12に正対するように平面点群データのXYZ座標系を変換する。
【0060】
このため、図9(a)に示されるように、平面点群データDfがレーザセンサ12からのレーザの照射方向に対して傾いて配置されていても、図9(b)に示されるように、平面点群データDfが仮想的にレーザセンサ12からのレーザの照射方向に対して真正面に向き合うこととなる。
【0061】
続いて、推定演算部18は、前面7a,8aに相当する平面に基づいて、パレット部7に相当する横線と柱部8に相当する縦線とを抽出する(手順S122)。このとき、推定演算部18は、図10に示されるように、パレット部7の上端面及び下端面に相当する2本の横線Laと、パレット部7の左右両側に配置された柱部8に相当する2本の縦線Lbとを抽出する。縦線Lbは、例えば柱部8の前面8aに相当する平面の中心線である。中心線は、柱部8の前面8aに相当する平面における左右方向(Y方向)の中心が上下方向(Z方向)に延びる線である。
【0062】
推定演算部18は、例えばRANSAC(前述)を用いて、平面点群データの何点かをランダムにピックアップして直線をフィッティングすることにより、横線及び縦線である直線を抽出する。
【0063】
図11は、手順S122による直線抽出処理手順の詳細を示すフローチャートである。図11において、推定演算部18は、まず回転処理後の平面点群データに対して直線近似を行って直線を求める(手順S151)。
【0064】
続いて、推定演算部18は、回転処理後の平面点群データのうち直線上にある点群データを取り出す(手順S152)。続いて、推定演算部18は、直線上にある点群データの反射点の数を記録する(手順S153)。
【0065】
続いて、推定演算部18は、平面点群データに対する直線近似処理が所定回数(例えば100回)だけ行われたかどうかを判断する(手順S154)。推定演算部18は、平面点群データに対する直線近似処理が所定回数だけ行われていないと判断したときは、上記の手順S151~手順S153を再度実行する。
【0066】
推定演算部18は、平面点群データに対する直線近似処理が所定回数だけ行われたと判断したときは、記録された反射点の数が最も多い点群データに対応する直線を選択する(手順S155)。そして、推定演算部18は、選択された直線を横線及び縦線に相当する直線として決定する(手順S156)。
【0067】
例えば、図12(a)に示されるような平面点群データDf1が得られた場合、平面点群データDf1が変に直線近似されると、図12(b),(c)に示されるように、点群が欠けることがある。なお、平面点群データDf1は、複数の反射点P1からなっている。
【0068】
そこで、図12(c),(d)に示されるように、点群の欠けが存在する点群データDf2に対して直線近似が行われた後、図12(e)に示されるように、平面点群データDf1のうち直線L上にある点を取り出す。これにより、適切な横線及び縦線が抽出されるため、その後のポストパレット5の位置及び姿勢の計算において誤差が生じにくくなる。
【0069】
図8に戻り、推定演算部18は、上記の手順S122を実行した後、横線と縦線との交点を算出する(手順S123)。このとき、図10に示されるように、2本の横線Laと2本の縦線Lbとの4つの交点Iが得られる。
【0070】
続いて、推定演算部18は、2本の縦線の傾き及び寸法に基づいて柱部8の姿勢を算出することで、ポストパレット5の姿勢を算出する(手順S124)。ポストパレット5の姿勢としては、ポストパレット5のロール角θa、ヨー角θb及びピッチ角θcが算出される。ポストパレット5のロール角θa、ヨー角θb及びピッチ角θcは、図13に示されるように、柱部8に相当する縦線から算出される。図13(a)は、柱部8の正面図である。図13(b)は、柱部8の平面図である。図13(c)は、柱部8の側面図である。
【0071】
推定演算部18は、例えば2本の縦線の寸法及び傾き等の基準値を予め記憶しておき、2本の縦線の寸法及び傾き等を基準値と比較することにより、ポストパレット5のロール角θa、ヨー角θb及びピッチ角θcが算出する。柱部8は上下方向に長く延びているため、ポストパレット5のロール角θa、ヨー角θb及びピッチ角θcの精度が出やすい。ただし、柱部8がパレット部7に完全に固定されていないと、ポストパレット5のロール角θa、ヨー角θb及びピッチ角θcの値がばらつきやすい。このため、2本の縦線の値の平均値をとることで、ポストパレット5のロール角θa、ヨー角θb及びピッチ角θcの精度を上げることができる。
【0072】
続いて、推定演算部18は、手順S123で得られた4つの交点の位置に基づいてパレット部7の位置を算出することで、ポストパレット5の位置を算出する(手順S125)。具体的には、推定演算部18は、パレット部7の前面7aの中心位置G(図2参照)を算出する。パレット部7の前面7aの中心位置Gは、3次元の位置座標(x0,y0,z0)で表される。
【0073】
続いて、推定演算部18は、手順S124,S125で得られたポストパレット5の位置及び姿勢のデータを元のXYZ座標系に戻すように逆回転させる(手順S126)。これにより、フォークリフト1に対する最終的なポストパレット5の位置及び姿勢が求められる。このとき、図9(b)に示されるような回転後のXYZ座標系が、図9(a)に示されるような元のXYZ座標系に変換される。このため、回転後のXYZ座標系におけるパレット部7の中心位置Gの座標(x0,y0,z0)は、元のXYZ座標系におけるパレット部7の中心位置Gの座標(x,y,z)となる。
【0074】
続いて、推定演算部18は、横線及び縦線の寸法及び傾き、横線と縦線との交点等のデータに基づいて、平面検知部17により検知された平面がポストパレット5の前面に該当するかどうかを最終的に判断する(手順S127)。推定演算部18は、検知された平面がポストパレット5の前面に該当すると判断したときは、ポストパレット5の位置及び姿勢のデータを経路生成部19に出力する(手順S128)。
【0075】
推定演算部18は、検知された平面がポストパレット5の前面に該当しないと判断したときは、検知された平面に含まれる平面点群データを消去する(手順S129)。そして、推定演算部18は、平面検知部17に対して平面再検知指示を行う(手順S130)。平面検知部17は、平面再検知指示を受けると、パレット部7の前面7a及び柱部8の前面8aに相当する平面を再度検知する。
【0076】
図3に戻り、経路生成部19は、推定演算部18により得られたポストパレット5の位置及び姿勢のデータに基づいて、フォークリフト1が荷取りを行う荷取り位置(前述)までの走行経路を生成する。
【0077】
走行制御部20は、経路生成部19により生成された走行経路に従ってフォークリフト1を荷取り位置まで自動的に走行させるように駆動部14を制御する。
【0078】
以上のように本実施形態にあっては、レーザセンサ12によってポストパレット5の前面に向けてレーザが照射されることで、ポストパレット5に対応する点群データが取得される。そして、ポストパレット5に対応する点群データに基づいて、ポストパレット5におけるパレット部7の前面7a及び柱部8の前面8aに相当する平面が検知される。そして、前面7a,8aに相当する平面に基づいて、パレット部7に相当する横線と柱部8に相当する縦線とが抽出される。そして、横線及び縦線に基づいて、フォークリフト1に対するポストパレット5の位置及び姿勢が算出される。このとき、柱部8は上下方向に長く延びているため、ポストパレット5の上下方向の位置及び角度の精度が出やすい。これにより、フォークリフト1に対するポストパレット5の位置及び姿勢が高精度に推定される。
【0079】
また、本実施形態では、カメラ11により取得された画像データに基づいてポストパレット5が認識され、レーザセンサ12により取得された点群データのうち認識されたポストパレット5に対応する点群データが抽出される。画像データは、点群データに比べて解像度が高い。このため、ポストパレット5の認識精度が高くなる。従って、フォークリフト1に対するポストパレット5の位置及び姿勢が更に高精度に推定される。
【0080】
また、本実施形態では、柱部8に相当する縦線の傾き及び寸法に基づいて柱部8の姿勢が算出されると共に、パレット部7に相当する横線と柱部8に相当する縦線との交点の位置に基づいてパレット部7の位置が算出される。従って、フォークリフト1に対するポストパレット5の位置及び姿勢を簡単に算出することができる。
【0081】
また、本実施形態では、点群が除去された第2点群データに対して規定厚よりも大きい厚さに平面近似を行って第1平面を求めることにより、平面近似を繰り返し行った際に第2点群データのばらつきに対応することができる。そして、第1点群データのうち第1平面に含まれる第3点群データを取り出し、第3点群データに対して規定厚に平面近似を行って第2平面を求めることにより、パレット部7の前面7a及び柱部8の前面8aに相当する平面に欠けが生じにくくなると共に、前面7a,8aに相当する平面に含まれない不要な点群が削除される。また、前面7a,8aに相当する平面の位置及び角度のブレが抑制される。以上により、フォークリフト1に対するポストパレット5の位置及び姿勢がより高精度に推定される。
【0082】
また、本実施形態では、パレット部7の前面7a及び柱部8の前面8aに相当する平面に含まれる平面点群データに対して直線近似を行って直線を求めた後、平面点群データのうち直線上にある点群データを取り出すことにより、パレット部7に相当する横線及び柱部8に相当する縦線に欠けが生じにくくなると共に、横線及び縦線に含まれない不要な点群が削除される。従って、フォークリフト1に対するポストパレット5の位置及び姿勢が一層高精度に推定される。
【0083】
また、本実施形態では、パレット部7の前面7a及び柱部8の前面8aに相当する平面に含まれる平面点群データが仮想的にレーザセンサ12に正対するように平面点群データを回転させることにより、ポストパレット5の前後方向(X方向)を無視して2次元的に横線と縦線との交点が求められる。このため、横線と縦線との交点が精度良く抽出される。従って、フォークリフト1に対するポストパレット5の位置及び姿勢が更に高精度に推定される。
【0084】
また、本実施形態では、検知された平面がポストパレット5の前面に該当しないと判定されたときは、当該平面に含まれる点群データが削除され、平面の検知処理が再度実行されるので、パレット部7の前面7a及び柱部8の前面8aに相当する正確な平面が得られる。従って、フォークリフト1に対するポストパレット5の位置及び姿勢が一層高精度に推定される。
【0085】
さらに、本実施形態では、パレット部7のフォーク穴9にゴミが入っていたり、暗い場所でパレット部7のフォーク穴9が映らない等、カメラ11によりパレット部7のフォーク穴9を見つけることが難しい場合でも、フォークリフト1に対するポストパレット5の位置及び姿勢を推定することができる。また、ポストパレット5のパレット部7に荷物Mが載置されている場合でも、荷物Mを含めてポストパレット5の位置及び姿勢を推定することができる。
【0086】
なお、本発明は、上記実施形態には限定されない。例えば上記実施形態では、カメラ11により取得された画像データに基づいてポストパレット5が認識され、レーザセンサ12により取得された点群データのうち認識されたポストパレット5に対応する点群データに基づいて、パレット部7の前面7a及び柱部8の前面8aに相当する平面が検知されているが、特にそのような形態には限られない。例えば、例えばポストパレット5の位置が決まっている場合には、特にカメラ11を使用せずに、レーザセンサ12により取得された点群データのみに基づいて、前面7a,8aに相当する平面を検知してもよい。この場合には、位置姿勢推定装置21の構成の簡素化が図られる。
【0087】
また、上記実施形態では、ポストパレット5のパレット部7に左右1対のフォーク穴9が設けられているが、本発明は、特にその形態には限られず、パレット部にフォーク穴が設けられていないポストパレットにも適用可能である。この場合には、パレット部及び柱部の前面に相当する平面に基づいて、パレット部に相当する1本の横線と柱部に相当する2本の縦線とを抽出してもよい。
【0088】
また、上記実施形態では、トラック荷台Tに載置されたポストパレット5の位置及び姿勢が推定されているが、本発明は、特にその形態には限られず、路面や床面等に載置されたポストパレットにも適用可能である。
【符号の説明】
【0089】
1…フォークリフト、5…ポストパレット、7…パレット部、7a…前面、8…柱部、8a…前面、11…カメラ(撮像部)、12…レーザセンサ(レーザ距離検出部)、15…ポストパレット認識部、16…点群処理部、17…平面検知部、18…推定演算部、21…位置姿勢推定装置、Dp…点群データ、Dpp…点群データ、Dp1…第1点群データ、Dp2…第2点群データ、Dp3…第3点群データ、Df…平面点群データ、Df1…平面点群データ、Df2…点群データ、F1…第1平面、F2…第2平面、L…直線、La…横線、Lb…縦線、I…交点。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13