(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-05-22
(45)【発行日】2023-05-30
(54)【発明の名称】容器計測システム
(51)【国際特許分類】
G06T 7/00 20170101AFI20230523BHJP
E02F 9/26 20060101ALI20230523BHJP
G01B 11/00 20060101ALI20230523BHJP
G01B 11/24 20060101ALI20230523BHJP
【FI】
G06T7/00 C
E02F9/26 A
G01B11/00 A
G01B11/24 A
(21)【出願番号】P 2019176035
(22)【出願日】2019-09-26
【審査請求日】2022-04-11
(73)【特許権者】
【識別番号】000246273
【氏名又は名称】コベルコ建機株式会社
(74)【代理人】
【識別番号】110001841
【氏名又は名称】弁理士法人ATEN
(72)【発明者】
【氏名】邱 進軍
(72)【発明者】
【氏名】細 幸広
(72)【発明者】
【氏名】藤原 翔
【審査官】小太刀 慶明
(56)【参考文献】
【文献】特開2000-192514(JP,A)
【文献】特開2016-89388(JP,A)
【文献】特開2020-35380(JP,A)
【文献】特開2020-126363(JP,A)
【文献】国際公開第2017/184037(WO,A1)
【文献】米国特許出願公開第2018/0245308(US,A1)
【文献】国際公開第2016/170665(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
E02F 9/26
G01B 11/00
G01B 11/24
(57)【特許請求の範囲】
【請求項1】
容器への積込作業を行う作業機械に設けられ、前記容器の距離画像を取得可能な距離画像取得部と、
前記距離画像取得部に取得された前記容器の前記距離画像を処理する演算部と、
を備え、
前記演算部は、
前記容器の前記距離画像に基づいて、前記容器を構成する平面部の三次元位置を算出し、
前記平面部の三次元位置に基づいて、前記容器の三次元位置および三次元形状を含む三次元情報を算出する、
容器計測システム。
【請求項2】
請求項1に記載の容器計測システムであって、
前記演算部は、前記平面部のうち前記距離画像に映っている部分の三次元位置に基づいて、前記平面部のうち前記距離画像に映っていない部分の三次元位置を算出する、
容器計測システム。
【請求項3】
請求項1または2に記載の容器計測システムであって、
前記作業機械の旋回および走行の少なくともいずれかを含む作動に関する情報を取得する作動情報取得部を備え、
前記演算部は、
前記演算部が算出した前記容器の前記三次元情報を記憶する記憶部を備え、
前記作動が行われる前に前記記憶部に記憶された前記容器の前記三次元情報と、前記作動情報取得部に取得された前記作動に関する情報と、に基づいて、前記作動が行われた後の前記容器の前記三次元情報を算出する、
容器計測システム。
【請求項4】
請求項3に記載の容器計測システムであって、
前記演算部には、前記演算部が算出した前記容器の前記三次元情報と、前記記憶部に記憶された前記容器の前記三次元情報と、の差異の大きさに関する閾値が設定され、
前記差異の大きさが前記閾値を超えた場合、前記記憶部に記憶された前記容器の前記三次元情報を、前記演算部が算出した前記容器の前記三次元情報に更新する、
容器計測システム。
【請求項5】
請求項1~4のいずれか1項に記載の容器計測システムであって、
前記容器は、前記作業機械によって積み込まれた物を輸送するための輸送車の荷台である、
容器計測システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、容器の三次元情報を算出する容器計測システムに関する。
【背景技術】
【0002】
例えば特許文献1などに、容器の三次元情報を算出する技術が記載されている。同文献に記載の技術では、容器の4つの特徴点をカメラで撮影し、各特徴点の三次元位置が算出される。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、特徴点をカメラで適切に撮影できない場合などがあり、特徴点の三次元情報を安定して算出することは困難である。その結果、容器の三次元情報を安定して算出することが困難である。
【0005】
そこで、本発明は、容器の三次元情報を安定して算出することができる容器計測システムを提供することを目的とする。
【課題を解決するための手段】
【0006】
容器計測システムは、距離画像取得部と、演算部と、を備える。前記距離画像取得部は、容器への積込作業を行う作業機械に設けられ、前記容器の距離画像を取得可能である。前記演算部は、前記距離画像取得部に取得された前記容器の前記距離画像を処理する。前記演算部は、前記容器の前記距離画像に基づいて、前記容器を構成する平面部の三次元位置を算出する。前記演算部は、前記平面部の三次元位置に基づいて、前記容器の三次元位置および三次元形状を含む三次元情報を算出する。
【発明の効果】
【0007】
上記構成により、容器の三次元情報を安定して算出することができる。
【図面の簡単な説明】
【0008】
【
図1】容器計測システム30が用いられる輸送車10および作業機械20を横から見た図である。
【
図2】
図1に示す距離画像取得部40に取得される距離画像Dを示す図である。
【
図3】
図1に示す作業機械20に設けられる容器計測システム30を示すブロック図である。
【
図4】
図3に示す容器計測システム30の作動の流れを示す図である。
【
図5】
図2に示す容器12の三次元情報の表示例を示す図である。
【
図6】
図3に示す容器計測システム30の変形例の作動を示すフローチャートである。
【
図7】
図2に示す容器12の一部が距離画像Dに映っていない場合の
図2相当図である。
【発明を実施するための形態】
【0009】
図1~
図5を参照して、容器計測システム30(
図3参照)、ならびに、容器計測システム30が用いられる輸送車10(
図1参照)および作業機械20(
図1参照)について説明する。
【0010】
輸送車10は、
図1に示すように、容器12を有する車両である。輸送車10は、作業機械20によって積み込まれた物(積込対象物)を輸送するための車両であり、ダンプカーでもよく、トラックでもよい。輸送車10は、本体部11と、容器12と、を備える。本体部11は、走行可能であり、容器12を支持する。本体部11は、運転室11aを備える。
【0011】
容器12は、積込対象物を収容する。容器12に収容される積込対象物は、例えば、土砂でもよく、廃棄物(産業廃棄物など)でもよい。容器12は、輸送車10の荷台である。容器12は、運転室11aよりも、輸送車10における後側に配置される。以下では、輸送車10に関する方向について、運転室11aから容器12に向かう側を「輸送車後側」、容器12から運転室11aに向かう側を「輸送車前側」という。容器12は、本体部11に対して可動でもよく、本体部11に固定されてもよい。容器12は、例えば蓋を有さない箱形などである(
図2参照)。容器12は、平面部13を備える。なお、容器12は、輸送車10の荷台でなくてもよく、例えば地面などに直接置かれてもよい。以下では、容器12が輸送車10の荷台である場合について説明する。
【0012】
平面部13は、
図2に示すように、容器12のうち、平面状または略平面状の部分である。平面部13は、全体として平面状または略平面状であればよい。平面部13は、凹凸を有してもよく、緩やかな曲面を有してもよい。平面部13は、床面13aと、後部あおり板面13bと、側部あおり板面13cと、鳥居面13dと、を備える。床面13aは、容器12の底面(下側の面)である。後部あおり板面13bは、容器12の輸送車後側の面であり、床面13aの輸送車後側の部分から上に突出する。側部あおり板面13cは、容器12の左右の面であり、床面13aの左右の端部から上に突出する。鳥居面13dは、容器12の輸送車前側の面であり、床面13aの輸送車前側の部分から上に突出する。鳥居面13dは、側部あおり板面13cよりも上に突出し、後部あおり板面13bよりも上に突出する。
【0013】
作業機械20は、
図1に示すように、容器12に積込対象物を積み込む作業(積込作業)を行う機械である。作業機械20は、例えば、積込対象物をすくうことが可能でもよく、積込対象物を挟んで掴むことが可能でもよい。作業機械20は、例えば建設作業を行う建設機械であり、例えばショベルなどである。作業機械20は、下部走行体21と、上部旋回体23と、アタッチメント25と、を備える。
【0014】
下部走行体21は、作業機械20を走行させる。下部走行体21は、例えばクローラを備える。上部旋回体23は、下部走行体21に旋回可能に搭載される。上部旋回体23は、キャブ23aを備える。アタッチメント25は、積込対象物を移動させる部分である。アタッチメント25は、ブーム25aと、アーム25bと、先端アタッチメント25cと、を備える。ブーム25aは、上部旋回体23に起伏可能(上下に回転可能)に取り付けられる。アーム25bは、ブーム25aに回転可能(押し引き可能)に取り付けられる。先端アタッチメント25cは、アタッチメント25の先端部に設けられ、アーム25bに回転可能に取り付けられる。先端アタッチメント25cは、積込対象物(例えば土砂)をすくうバケットでもよく、積込対象物を挟んで掴む装置(グラップルなど)でもよい。
【0015】
容器計測システム30(
図3参照)は、容器12の三次元の情報(三次元情報)を計測するシステムである。容器計測システム30は、作業機械20に対する容器12の位置、方向、および形状を計測する。
図3に示すように、容器計測システム30は、距離画像取得部40と、座標情報取得部51と、演算部53と、を備える。なお、
図3に示す作動情報取得部155については後述する。
【0016】
距離画像取得部40は、
図1に示す容器12を含む距離画像D(
図2参照)を取得する。距離画像Dは、距離の情報(奥行の情報)を含む画像である。距離画像取得部40は、作業機械20に設けられる。距離画像取得部40は、作業機械20が積込作業を行う際に、容器12および容器12の周辺部の距離画像D(
図2参照)を取得可能となる位置に配置される。距離画像取得部40は、例えば、キャブ23aの内部に配置(設置)されてもよく、キャブ23aの外部に配置されてもよく、
図1に示す例ではキャブ23aの上面に配置される。なお、距離画像取得部40は、容器12の距離画像D(
図2参照)を取得できるように、容器12を自動追尾してもよい。距離画像取得部40は、二次元情報取得部42と、三次元情報取得部43と、を備える。
【0017】
二次元情報取得部42(撮像手段)は、容器12を含む二次元の画像情報を取得する(撮像する)。二次元情報取得部42は、カメラなどである。三次元情報取得部43(3Dセンサ、距離計測手段)は、容器12の三次元の情報を取得する。三次元情報取得部43は、三次元情報取得部43から容器12の各部(詳細は後述)までの距離を計測する。具体的には例えば、三次元情報取得部43は、LiDAR(Light Detection and RangingまたはLaser Imaging Detection and Ranging)を備えてもよく、ステレオカメラを備えてもよく、TOF(Time Of Flight)センサを備えてもよい。
【0018】
座標情報取得部51(
図3参照)は、座標情報(後述)を取得する。例えば、
図3に示す座標情報取得部51は、作業機械20(
図1参照)のオペレータが手作業で入力した座標情報を取得してもよく、記憶媒体などに記憶された座標情報を取得してもよく、通信により座標情報を取得してもよい。座標情報取得部51は、作業機械20に設けられてもよく、作業機械20の外部(作業機械20から離れた位置)に設けられてもよい(演算部53も同様)。
【0019】
演算部53は、信号の入出力、判定、算出などの演算、情報の記憶などを行う。演算部53は、距離画像取得部40に取得された容器12(
図2参照)の距離画像D(
図2参照)を処理する。さらに詳しくは、演算部53は、
図2に示す容器12の距離画像Dに基づいて、容器12を構成する平面部13の三次元の位置(三次元位置)を算出する。そして、演算部53(
図3参照)は、平面部13の三次元位置に基づいて、容器12の三次元情報を算出する。演算部53による処理の詳細は次の通りである。なお、
図3に示す記憶部153mについては後述する。
【0020】
(作動)
容器計測システム30(
図3参照)は、次のように作動するように構成される。以下では、主に
図4を参照して、主に演算部53(
図3参照)の処理を説明する。容器12については、
図2を参照して説明し、上記の容器計測システム30の各構成要素(距離画像取得部40、演算部53など)については、
図3を参照して説明する。演算部53は、
図4に示すように、二次元情報の処理S20と、三次元情報の処理S30と、座標情報の取得(S41)と、を行う。そして、演算部53は、これらの情報を組み合わせて、容器12の三次元情報を算出し(S50、S61~S63、S70)、算出した三次元情報を出力する(S80)。
【0021】
(二次元情報の処理S20など)
図3に示す演算部53は、二次元情報の処理S20(
図4参照)を行う。その理由は次の通りである。三次元情報取得部43が取得した距離画像Dをそのまま演算部53が処理することは、難しい場合がある。例えば、処理速度が遅い場合などが考えられる。そこで、演算部53は、二次元情報取得部42で取得された二次元情報(以下「画像」ともいう)における容器12(
図2参照)の位置を抽出する。そして、演算部53は、三次元情報取得部43が取得した距離画像D(点群データ)のうち、画像における容器12(
図2参照)の位置に対応する部分(点群データの一部)を処理する。このように点群データの一部を抽出するために、演算部53は、二次元情報の処理S20(
図4参照)を行う。二次元情報の処理S20などに関する容器計測システム30の作動の具体例は、次の通りである。なお、三次元情報取得部43に取得された距離画像Dをそのまま演算部53が処理可能である場合は、演算部53は、二次元情報の処理S20を行う必要はない。
【0022】
二次元情報取得部42は、容器12(
図2参照)を含む画像を取得する(
図4に示すステップS21)。この画像の情報が、演算部53に入力される。そして、演算部53は、取得した画像から、容器12の形状を推定する(
図4に示すステップS22)。具体的には、
図2に示すように、演算部53は、特徴点F(F1~F8)の画像における位置、および、リンクL(L1~L9)の画像における位置を抽出(認識、推定)する。演算部53は、例えば、画像から特定の形状を抽出するソフトウェアを実行することで、特徴点FおよびリンクLを抽出する。例えば、このソフトウェアは、ディープラーニング技術を用いたものなどである。これにより、演算部53は、容器12を含む画像、特徴点Fの画像における位置、およびリンクLの画像における位置を含む二次元情報を取得する(
図4に示すステップS23)。
【0023】
特徴点Fは、平面部13の角に対応する点である。リンクLは、特徴点Fどうしを結んだ線分であり、例えば平面部13の辺に対応する。
図2に示す例では、特徴点Fの位置は、鳥居面13dの上端の2点の位置(F1、F2)、側部あおり板面13c・13cの輸送車前側の上端の2点の位置(F3、F4)、および、後部あおり板面13bの角の4点の位置(F5~F8)にそれぞれ対応する。例えば鳥居面13dの下端が画像に映っている場合は、鳥居面13d下端の位置が特徴点Fとして抽出されてもよい(
図1参照)。
図2に示す例では、リンクLの位置は、鳥居面13dのうち側部あおり板面13cよりも上側部分の四角形の4辺の位置(L1~L4)の位置にそれぞれ対応する。また、リンクLの位置は、側部あおり板面13cの上辺の位置(L5、L6)、および、後部あおり板面13bの4辺(さらに詳しくは、後部あおり板面13bとほぼ重なる四角形の4辺)(L7~L10)にそれぞれ対応する。
【0024】
(三次元情報の処理S30など)
三次元情報取得部43(
図3参照)は、容器12を含む距離画像Dを取得する(
図4に示すステップS31)。この距離画像Dの情報が、演算部53に入力される。具体的には、演算部53は、距離情報の点群データ(以下、単に「点群」ともいう)を取得する(
図4に示すステップS32)。
【0025】
(座標情報の取得など)
座標情報取得部51(
図3参照)は、座標情報を取得する(
図4に示すステップS41)。座標情報は、距離画像取得部40が取得した情報を、所定の座標で表すための情報(キャリブレーション情報、センサフュージョン情報)である。上記「所定の座標」は、例えば、
図1に示す作業機械20の特定の位置を原点とした座標(機械座標)である。
図1において、機械座標の3軸の一例をx、y、zで示す。機械座標の原点の位置は、様々に設定可能であり、
図1に示す例では、下部走行体21に対する上部旋回体23の回転軸上、かつ、上部旋回体23の下端部の点の位置である。なお、所定の座標は、作業機械20の外部の特定位置(例えば作業現場の特定位置など)を原点とした座標でもよい。以下では、所定の座標が、機械座標である場合について説明する。
【0026】
座標情報は、二次元情報の処理S20(
図4参照)で得られた二次元情報を機械座標に変換するための情報を含む。座標情報は、三次元情報の処理S30(
図4参照)で得られた距離画像D(
図2参照)を機械座標に変換するための情報を含む。座標情報は、二次元情報と三次元情報(距離画像D)とを重畳させるための情報を含む。座標情報は、二次元情報取得部42と三次元情報取得部43との相対位置を表す変換行列を含んでもよい。具体的には例えば、座標情報は、距離画像取得部40の透視投影変換のためのパラメータを含む。さらに詳しくは、座標情報は、距離画像取得部40の設置の位置、角度などによって定まる外部パラメータ、および距離画像取得部40のレンズによる距離画像D(
図2参照)の歪などによって定まる内部パラメータと、を含む。なお、距離画像取得部40に関するパラメータが変化した場合(例えば設置位置、角度、機種などが変化した場合)は、座標情報取得部51が新たな座標情報を取得する。
【0027】
次に、演算部53は、
図4に示すように、二次元情報の処理S20で得られた二次元情報と、三次元情報の処理S30で得られた三次元情報(距離画像D(
図2参照))と、座標情報と、を組み合わせる(統合する)(
図4に示すステップS42)。具体的には、演算部53は、座標情報に基づいて、二次元情報と三次元情報(距離画像D)とを、機械座標に変換する。
【0028】
(特徴点FおよびリンクLの三次元情報(処理S50))
演算部53は、
図2に示す特徴点FおよびリンクLの三次元座標を算出する(
図4に示す処理S50)。演算部53は、特徴点Fの位置に対応する平面部13の角の三次元座標(機械座標における三次元座標)を算出する。その結果、特徴点FをつなぐリンクLの三次元情報も算出される。この算出により、容器12(具体的には特徴点FおよびリンクL)の三次元情報を得ることは可能である。一方、本実施形態では、さらに、下記のように平面部13の三次元情報を算出することで、容器12の三次元情報の精度を高めることができる。
【0029】
(平面部13の三次元情報の処理(S60))
演算部53は、容器12の距離画像Dに基づいて、容器12を構成する平面部13の三次元位置を算出する。具体的には、演算部53は、次の処理を行う。
【0030】
演算部53は、三次元情報取得部43(
図3参照)が取得した距離画像D(点群の全体)から、平面部13に対応する部分の情報(点群の一部)を抽出する。演算部53は、距離画像Dから、特定の平面部13の点群を抽出する。例えば、演算部53は、距離画像Dから、鳥居面13d(特定面)および後部あおり板面13b(特定面)に対応する部分の点群を抽出する。演算部53は、側部あおり板面13cおよび床面13aの少なくともいずれかの面(特定面)に対応する部分の点群を抽出してもよい。容器12が空(または略空)の場合は、演算部53は、距離画像Dから、全ての平面部13(床面13a、後部あおり板面13b、側部あおり板面13c、および鳥居面13d)の点群を抽出してもよい。なお、以下では、点群の抽出の対象となる平面部13(特定面)を、単に「平面部13」という。
【0031】
具体的には、演算部53は、距離画像Dから抽出する点群を、画像におけるリンクLの位置に基づいて決定(選択)する。さらに詳しくは、演算部53は、距離画像Dから、リンクLで囲まれた部分(範囲内)であって平面部13に対応する部分の点群を抽出する。具体的には、演算部53は、距離画像Dから鳥居面13dの点群を抽出する場合、リンクL1、L2、L3、およびL4で囲まれた部分の点群を抽出する。演算部53は、距離画像Dから後部あおり板面13bの点群を抽出する場合、リンクL7、L8、L9、およびL10で囲まれた部分の点群を抽出する。
【0032】
演算部53は、距離画像Dから抽出した点群から、平面部13の三次元情報を算出するための処理を行う(
図4に示すステップS62)。例えば、演算部53は、点群を構成する点と点との間の情報を補完してもよい。例えば、演算部53は、外れ値を除外する、または外れ値の影響を減らす処理(ロバスト推定)を行ってもよく、具体的には例えばRANSAC(Random Sample Consensus)法などによる処理を行ってもよい。例えば、演算部53は、平面部13の各面(鳥居面13d、後部あおり板面13bなど)に対応する領域を決定する処理(区分け、セグメンテーション)を行ってもよい。例えば、演算部53は、距離画像Dから抽出した点群を、平面部13の領域と、平面部13以外の領域と、に区分けしてもよい。例えば、平面部13と距離画像取得部40(
図1参照)との間に障害物(後述)が存在する場合に、演算部53は、距離画像Dから抽出した点群を、平面部13の領域と、障害物の領域と、に区分けしてもよい。
【0033】
演算部53は、平面部13の三次元情報を算出する(
図4に示すステップS63)。演算部53が算出する平面部13の三次元情報には、三次元位置(三次元座標)の情報が含まれる。その結果、演算部53が算出する平面部13の三次元情報には、平面部13の方向(例えば法線の方向)の情報が含まれる。平面部13の三次元情報は、平面部13の面内の3点以上の三次元座標を含んでもよい。平面部13の三次元情報は、平面部13の法線の方向と、平面部13の面上の1点以上の三次元座標と、を含んでもよい。
【0034】
上記の「特徴点FおよびリンクLの三次元情報(処理S50)」の処理では、リンクLの三次元位置が算出される結果、平面部13の形状(外形)の情報が算出される。一方「平面部13の三次元情報の処理(S60)」では、演算部53が算出する平面部13の三次元情報には、平面部13の形状(外形)の情報が、含まれても含まれなくてもよい。
【0035】
平面部13の一部が距離画像Dに映らない(含まれない)場合がある。例えば、平面部13の一部と距離画像取得部40(
図1参照)との間に障害物がある場合や、平面部13の一部が距離画像Dの範囲外にある場合(
図7参照)は、平面部13の一部が距離画像Dに映らない。上記「障害物」には、
図1に示す作業機械20の一部(具体的にはアタッチメント25)、積込対象物(土砂など)、作業機械20の周囲の雨、雪、砂などが想定される。平面部13の一部が距離画像D(
図2参照)に映らない場合、距離画像Dに映っていない部分から三次元情報取得部43までの距離を、三次元情報取得部43によって取得することはできない。一方で、演算部53は、
図2に示す平面部13のうち距離画像Dに映っている部分の三次元位置に基づいて、平面部13のうち距離画像Dに映っていない部分の三次元位置を算出(推定)する。この推定では、距離画像Dに映っている部分と映っていない部分とが、同一平面上で連続していると仮定する。なお、演算部53は、平面部13の形状が四角形であると仮定して、平面部13のうち距離画像Dに映っている部分の三次元形状に基づいて、平面部13のうち距離画像Dに映っていない部分の三次元形状を算出(推定)してもよい。
【0036】
次に、演算部53は、算出した各情報を組み合わせて(統合して)、容器12の三次元情報(
図4では「容器情報」)を取得する(
図4に示すステップS70)。さらに詳しくは、上記のように、演算部53は、上記「特徴点FおよびリンクLの三次元情報(処理S50)」(以下、単に「処理S50」という)により、特徴点FおよびリンクLの三次元情報を算出する。また、演算部53は、「平面部13の三次元情報の処理(S60)」(以下「処理S60」)により、平面部13の三次元情報を算出する。そして、演算部53は、特徴点FおよびリンクLの三次元情報、ならびに、平面部13の三次元情報を組み合わせて、容器12の三次元情報を算出する(最終的に出力する情報を決定する)。上記「容器12の三次元情報」は、三次元位置および三次元形状を含む情報である。
【0037】
例えば、演算部53は、処理S50で算出した特徴点Fの三次元位置を、処理S60で算出した平面部13の三次元情報(より精度の高い情報)に基づいて、補正してもよい。例えば、演算部53は、処理S50で算出したリンクLで囲まれた部分の形状を、処理S60で算出した平面部13の形状(より精度の高い情報)に基づいて、補正してもよい。
【0038】
具体的には、容器12の三次元情報は、特徴点F(平面部13の角の部分)の三次元位置の情報を含む。その結果、容器12の三次元情報は、リンクL(平面部13の辺の部分)の三次元位置の情報を含み、リンクLの寸法の情報を含み、リンクLに囲まれた部分(平面部13の面の部分)の三次元形状の情報を含む。なお、容器12の三次元情報は、床面13a、後部あおり板面13b、側部あおり板面13c、鳥居面13dのうち一部の平面部13のみ(特定面のみ)の形状の情報を含んでもよい。
図2に示す例では、容器12の三次元情報は、鳥居面13dのうち側部あおり板面13cの上端よりも上側の部分の三次元位置および形状(寸法含む)と、側部あおり板面13cの上端の辺の三次元位置と、後部あおり板面13bの三次元位置および形状と、を含む。
【0039】
次に、演算部53は、容器12の三次元情報を出力する(
図4に示すステップS80)。演算部53は、容器12の三次元情報を、演算部53の内部に出力してもよく、例えば、演算部53が行う他の演算や制御に出力してもよい。演算部53は、容器12の三次元情報を、演算部53の外部に出力してもよい。容器12の三次元情報は、例えば次のように用いられる。
【0040】
[利用例1]容器12の三次元情報は、様々な制御に用いられ得る。[利用例1a]容器12の三次元情報は、
図1に示す作業機械20の自動操作に用いられてもよく、作業機械20の操作のアシストに用いられてもよい。[利用例1b]容器12の三次元情報は、作業機械20と容器12との衝突を回避するための制御(自動的に作動を制限する制御または報知など)に用いられてもよい。[利用例1c]容器12の三次元情報は、作業機械20と容器12との相対位置に関する制御に用いられてもよい。[利用例1c1]例えば、容器12の三次元情報は、作業機械20と容器12との相対位置を自動的に変える制御に用いられてもよく、作業機械20と容器12との相対位置をオペレータなどに知らせる制御に用いられてもよい。[利用例1c2]例えば、容器12の三次元情報は、先端アタッチメント25cの現在の位置から、積込対象物を解放する位置(解放位置(例えば排土位置))までの先端アタッチメント25cの軌跡の計算に用いられてもよい。容器12の三次元情報は、積込対象物の解放位置に先端アタッチメント25cを自動的に移動させる、または移動をアシストする制御に用いられてもよい。
【0041】
[利用例2]容器12の三次元情報は、画面などの表示部に表示されてもよい。表示部は、輸送車10の運転室11aに設けられてもよく、作業機械20のキャブ23aに設けられてもよく、輸送車10の外部かつ作業機械20の外部に設けられてもよい。[利用例2a]容器12の三次元情報は、容器12の特定部分から、作業機械20の特定部分までの距離の表示に用いられてもよい。上記「容器12の特定部分」は、後部あおり板面13bでもよく、側部あおり板面13cでもよく、鳥居面13dでもよい。上記「作業機械20の特定部分」は、例えば、先端アタッチメント25cでもよく、キャブ23aでもよく、機械座標の原点でもよい。[利用例2b]容器12の三次元情報は、特徴点Fの三次元座標の表示に用いられてもよい(
図5参照)。なお、この表示における座標の原点は、容器12の三次元情報を算出する際に用いられた原点(機械座標の原点)と同じである必要はない。[利用例2c]
図2に示す容器12の三次元情報は、容器12と距離画像取得部40(
図3参照)との間の障害物に関する表示に用いられてもよい。例えば、容器12の三次元情報は、容器12内の積込対象物(土など)の量に関する表示に用いられてもよい。
【0042】
(検討)
演算部53が、平面部13の三次元情報を用いずに、特徴点Fの三次元情報のみを算出する場合は、次の問題が生じる場合がある。[問題例1]この場合、特徴点Fの三次元情報を安定して算出することが困難である(外乱の影響を受けやすい)。[問題例1a]例えば、特徴点Fと、特徴点Fを撮影するカメラとの間に障害物がある場合、カメラが特徴点Fを撮影できない。そのため、演算部53が特徴点Fを認識できない。[問題例1b]また、カメラが撮影した画像の中から、点である特徴点Fを演算部53が認識しようとした際に、演算部53が、間違った点を特徴点Fとして認識するおそれがある。すると、演算部53が、間違った点の三次元位置を、特徴点Fの三次元位置として算出してしまう。[問題例1c]また、カメラのノイズの影響により、特徴点Fの三次元情報の算出の精度が確保できないおそれがある。一方、ノイズの影響の抑制を図り、現実の(画像中ではなく現実の)容器12の特徴点Fに対応する位置に光源などを設けると、コストがかかる。
【0043】
演算部53が、容器12の距離画像Dを用いることなく、容器12の二次元情報(画像)に基づいて(画像処理のみで)、特徴点Fの三次元情報を算出する場合について検討する。なお、例えば特許文献1の段落0029などに記載のように、容器12の4点の画像における位置と、容器12の3点間の既知の距離(現実の距離)の情報と、に基づいて容器12の4点の三次元位置を算出することはできる。[問題例2a]この場合も、上記[問題例1]と同様に、特徴点Fの三次元情報を安定して算出することが困難である(外乱の影響を受けやすい)。[問題例2b]さらに、この場合は、容器12の3点間の距離(現実の距離)が既知である必要がある。そのため、3点間の距離が既知でない容器12では、容器12の4点の三次元位置を算出することができない。具体的には例えば、輸送車10の種類や寸法が変更されると、変更後の輸送車10の容器12の3点間の距離が分からなければ、容器12の4点の三次元位置を算出することができない。
【0044】
演算部53が、容器12の4点であって、左右の側部あおり板面13c・13cの輸送車前側の端および輸送車後側の端の4点(側部あおり板面13c・13cの前後4点)のみの三次元情報を算出する場合は、次の問題がある。[問題3]この場合、鳥居面13dの形状の情報は得られない。ここで、鳥居面13dは、側部あおり板面13cよりも上に突出している。そのため、側部あおり板面13c・13cの前後4点のみの三次元情報が算出される場合は、側部あおり板面13cに対して鳥居面13dがどれだけ上に突出しているかを、演算部53は認識できない。側部あおり板面13c・13cの前後4点のみの三次元情報が、作業機械20の自動操作に用いられた場合は、例えば、先端アタッチメント25cが鳥居面13dに接触するおそれがある。
【0045】
一方、本実施形態では、演算部53は、特徴点Fのみではなく平面部13の三次元情報に基づいて、容器12の三次元情報を算出する。よって、容器12の三次元情報を安定して算出することができる(ロバスト性が高い)。例えば、平面部13の点群の一部が外乱の影響を受けたとしても、平面部13の残りの部分の点群から、平面部13の三次元情報を算出することができる。また、本実施形態では、演算部53が算出する容器12の三次元情報には、容器12の三次元形状の情報が含まれるので、容器12の三次元情報を制御に用いやすい。具体的には例えば、容器12の三次元情報に、鳥居面13dの三次元形状が含まれる場合は、先端アタッチメント25cが鳥居面13dに接触しないように、自動操作の制御や、衝突回避の制御などを行うことができる。また、本実施形態では、容器12の形状や寸法、作業機械20(
図1参照)に対する容器12の角度など、容器12の状態が変わっても、その都度、容器12の三次元情報が算出される。よって、例えば輸送車10の種類、作業機械20に対する輸送車10の角度などが変わっても、容器12の三次元情報を算出できる。なお、本実施形態は、上記の各問題のうち一部の問題のみを解決できてもよい。
【0046】
(効果)
図2に示す容器計測システム30による効果は、次の通りである。
【0047】
(第1の発明の効果)
容器計測システム30は、距離画像取得部40と、演算部53と、を備える。距離画像取得部40は、
図1に示す容器12への積込作業を行う作業機械20に設けられ、
図3に示す容器12の距離画像Dを取得可能である。演算部53(
図3参照)は、距離画像取得部40(
図3参照)に取得された容器12の距離画像Dを処理する。
【0048】
[構成1]演算部53(
図3参照)は、容器12の距離画像Dに基づいて、容器12を構成する平面部13の三次元位置を算出する。演算部53は、平面部13の三次元位置に基づいて、容器12の三次元位置および三次元形状を含む三次元情報を算出する。
【0049】
上記[構成1]では、平面部13の三次元位置に基づいて、容器12の三次元情報が算出される。よって、例えば点(例えば特徴点F)のみの三次元位置に基づいて容器12の三次元情報が算出される場合に比べ、安定して精度良く、容器12の三次元情報を算出することができる。その結果、容器12の三次元情報を、制御などに適切に適用することができる。
【0050】
(第2の発明の効果)
[構成2]演算部53(
図3参照)は、平面部13のうち距離画像Dに映っている部分の三次元位置に基づいて、平面部13のうち距離画像Dに映っていない部分の三次元位置を算出する。
【0051】
上記[構成2]により、平面部13の一部が距離画像Dに映っていなくても、平面部13の三次元位置を算出できる。よって、平面部13の一部が距離画像Dに映っていなくても、安定して精度良く、容器12の三次元情報を算出することができる。
【0052】
(第5の発明の効果)
[構成5]容器12は、作業機械20によって積み込まれた物を輸送するための輸送車10の荷台である。
【0053】
上記[構成5]では、容器12が輸送車10の荷台であるため、容器12が移動可能である。また、輸送車10の種類が変わることで、容器12の形状や寸法が変わることが想定される。このような容器12の変化があった場合でも、上記[構成1]により、容器12の三次元情報を算出することができる。
【0054】
(変形例)
主に
図3、6、および7を参照して、
図3に示す容器計測システム30の変形例について、上記実施形態との相違点を説明する。なお、変形例のうち、上記実施形態との共通点については、説明を省略する。変形例の容器計測システム30は、作動情報取得部155を備える。また、演算部53は、記憶部153mを備える。
【0055】
記憶部153mは、演算部53が算出した容器12(
図2参照)の三次元情報を記憶する。
【0056】
作動情報取得部155は、
図1に示す作業機械20の作動に関する情報を取得する。作動情報取得部155(
図3参照)は、下部走行体21に対する上部旋回体23の回転の情報(旋回の情報)を取得してもよい。作動情報取得部155は、下部走行体21の走行に関する情報(例えば地面に対する走行距離や走行速度)を取得してもよい。作動情報取得部155は、アタッチメント25の作動の情報を取得してもよい。具体的には、作動情報取得部155は、上部旋回体23に対するブーム25aの回転の情報、ブーム25aに対するアーム25bの回転の情報、および、アーム25bに対する先端アタッチメント25cの回転の情報を取得してもよい。上記「回転の情報」は、例えば回転角度でもよく、回転角度の変化量(速度など)でもよい。作動情報取得部155は、角度センサでもよく、衛星測位システムを用いたものでもよく、トータルステーションを用いたものでもよい。
【0057】
(作動)
変形例の容器計測システム30(
図3参照)は、次のように作動するように構成される。作業機械20(
図1参照、以下の作業機械20も同様)が、ある作動(作動αとする)を行ったとき、
図2に示す距離画像Dにおける容器12の映り方が変化する。すると、作動αの前に距離画像Dに映っていた容器12の一部が、
図7に示すように、距離画像Dに映らなくなる場合や、障害物に隠れる場合がある。そこで、作動αが行われる前の、
図2に示す容器12の三次元情報が、記憶部153m(
図3参照)に記憶される。また、作動αに関する情報が、作動情報取得部155(
図3参照)に取得される。そして、演算部53(
図3参照)は、作動αが行われる前の容器12の三次元情報と、作動αに関する情報と、に基づいて、作動αが行われた後の容器12(
図7参照)の三次元情報を算出(推定)する。以下では、主に
図6を参照して、主に演算部53(
図3参照、以下の演算部53も同様)の処理の具体例を説明する。
【0058】
演算部53は、記憶部153m(
図3参照)の情報を初期化するか否かを判定する(
図6に示すステップS101)。この初期化は、例えば、
図2に示す容器12への積込み作業の開始前に行われる。具体的には例えば、演算部53は、記憶部153m(
図3参照)の情報を初期化する条件(初期化の条件)が満たされたか否かを判定する。初期化の条件は、演算部53に予め(
図6に示すステップS101より前に)設定される。例えば、初期化の条件は、容器12の三次元情報が記憶部153m(
図3参照)に記憶されていないことを含んでもよい。初期化の条件は、作業機械20のオペレータの手動操作(ボタン操作など)により、初期化することが選択されたことを含んでもよい。初期化の条件は、容器12と作業機械20との距離が所定範囲内になったことを含んでもよい。
【0059】
記憶部153m(
図3参照)の情報を初期化する場合(
図6に示すステップS101でYESの場合)、演算部53は、容器12の三次元情報を算出する(
図6に示すステップS102)。この算出は、
図4に示す各処理により行われる。そして、演算部53は、
図2に示す容器12の三次元情報を、記憶部153m(
図3参照)に記憶させる(
図6に示すステップS103)。
【0060】
記憶部153mの情報を初期化しない場合(
図6に示すステップS101でNOの場合)、フローはステップS111(
図6参照)に進む。例えば、容器12の三次元情報が作業開始後に記憶部153m(
図3参照)に記憶され、かつ、容器12と作業機械20との距離が所定範囲内である場合など(例えば積込作業中の場合)には、記憶部153mの情報は初期化されない。
【0061】
ステップS111(
図6参照)では、演算部53は、容器12の三次元情報を算出する。この算出は、
図4に示す各処理により行われる。このステップS111では、
図7に示すように、容器12の少なくとも一部が距離画像Dに映っていないことにより、容器12の少なくとも一部の三次元情報を演算部53が算出できない場合がある。また、記憶部153m(
図3参照)の初期化(ステップS102)直後は、現在の(最新の)容器12の三次元情報が算出されているので、演算部53は、容器12の三次元情報を算出しなくてもよい。
【0062】
次に、演算部53は、容器12が距離画像Dに映っている(含まれている)か否かを判定する(
図6に示すステップS112)。さらに詳しくは、演算部53は、容器12の三次元情報を算出できる程度に、容器12が距離画像Dに映っているか否かを判定する。容器12が距離画像Dに映っているか否かの判定基準は、様々に設定され得る。例えば、演算部53は、容器12の全体が距離画像Dに映っているか否かを判定してもよい。演算部53は、平面部13(特定面)の全体が距離画像Dに映っているか否かを判定してもよい。例えば、演算部53は、平面部13(特定面)の三次元位置を算出できる程度に平面部13が距離画像Dに映っているか否かを判定してもよい。演算部53は、すべての特徴点F(F1~F8)が距離画像Dに映っているか否かを判定してもよい。演算部53は、すべてのリンクL(L1~L10)が距離画像Dに映っているか否かを判定してもよい。容器12が距離画像Dに映っている場合(
図6に示すステップS112でYESの場合)、フローはステップS113(
図6参照)に進む。上記「容器12が距離画像Dに映っている」に該当しない場合(容器12が距離画像Dに映っていない場合)(
図6に示すステップS112でNOの場合)、フローはステップS120(
図6参照)に進む。
【0063】
(容器12が距離画像Dに映っている場合)
ステップS113(
図6参照)では、演算部53は、記憶部153m(
図3参照)に記憶された容器12の三次元情報を更新するか否かを判定する(
図6に示すステップS113)。さらに詳しくは、演算部53には、演算部53が算出した容器12の三次元情報(「現在の三次元情報」という)と、記憶部153mに記憶された容器12の三次元情報(「記憶された三次元情報」という)と、の差異の大きさに関する閾値が設定される。この「差異の大きさ」は、具体的には例えば、特徴点Fの座標の差異の大きさを含んでもよく、リンクLの位置や方向の差異の大きさを含んでもよい。作業機械20および容器12が移動していない場合(またはほぼ移動していない場合)は、差異の大きさが閾値以内となる。作業機械20および容器12の少なくともいずれかが移動した場合は、差異の大きさが閾値を超える。
【0064】
差異の大きさが閾値以内の場合(
図6に示すステップS113でYESの場合)、演算部53は、記憶された三次元情報を、現在の三次元情報に更新しない。この場合、フローはステップS180(
図6参照)に進む。
【0065】
差異の大きさが閾値を超えた場合(
図6に示すステップS113でNOの場合)、演算部53は、記憶された三次元情報を、現在の三次元情報に更新する(
図6に示すステップS115)。この更新の際に、演算部53は、演算部53の内部または外部に信号を出力してもよい(
図6に示すステップS114)。例えば、演算部53は、三次元情報を更新したことを示す情報を、演算部53が行う他の処理(例えば制御)に出力してもよい。演算部53は、例えば作業機械20のオペレータなどに対する通知(アラームなど)を出力してもよい。この通知は、音によるものでもよく、表示によるものでもよい。この通知を行うか否かは、何らかの条件(オペレータのスイッチ操作、演算部53の判断など)によって切り換えられてもよい。次に、演算部53は、現在の三次元情報を、容器12の三次元情報として出力する(
図6に示すステップS180)。ステップS180の出力の処理は、
図4に示すステップS80の出力と同じ処理である。
【0066】
(容器12が距離画像Dに映っていない場合)
図7に示す容器12が距離画像Dに映っていない場合(
図6に示すステップS112でNOの場合)、演算部53は、記憶された三次元情報を使用する(
図6に示すステップS120)。さらに詳しくは、演算部53は、次の処理を行う。
【0067】
演算部53は、作動情報取得部155(
図3参照)で取得された作業機械20の作動αの情報を取得する。そして、演算部53は、作業機械20の作動αの情報に基づいて、記憶された三次元情報を変化(更新)させる。具体的には例えば、
図1に示す下部走行体21に対して上部旋回体23が旋回(作動α)した場合、容器12の三次元位置が変化(回転移動)する。このとき、演算部53は、距離画像取得部40が取得した情報を用いなくても、上部旋回体23の旋回角度の変化に基づいて、上部旋回体23が旋回した後の容器12の三次元位置を算出(推定)できる。同様に、下部走行体21が走行(作動α)した場合も、演算部53は、距離画像取得部40が取得した情報を用いなくても、下部走行体21が走行した後の容器12の三次元情報を算出できる。次に、演算部53は、作業機械20の作動αの情報に基づいて更新した後の記憶された三次元情報を、容器12の三次元情報として出力する(
図6に示すステップS180)。
【0068】
図7に示す例では、容器12の一部が距離画像Dに映っていない場合を示したが、容器12の全部が距離画像Dに映っていない場合にも、演算部53は、記憶された三次元情報に基づいて、容器12の三次元情報を算出してもよい。また、作業機械20が旋回も走行もしていない場合に、演算部53は、記憶された三次元情報を用いて、容器12の三次元情報を算出してもよい。例えば、容器12と距離画像取得部40(
図1参照)との間に障害物が配置された場合などに、容器12の少なくとも一部が距離画像Dに映らなくなる場合がある。この場合は、記憶された三次元情報を、容器12の三次元情報として出力してもよい(
図6に示すステップS180)。例えば、上記の障害物がアタッチメント25である場合は、演算部53は、作動情報取得部155(
図3参照)が取得したアタッチメント25の作動αの情報に基づいて、容器12のうち距離画像Dに映らなくなった部分を特定してもよい。
【0069】
次に、演算部53は、作業機械20による積込対象物の積込作業が完了したか否かを判定する(
図6に示すステップS191)。積込作業は、例えば、容器12内に積込対象物が所定量入った場合に終了する場合などに完了する。演算部53は、積込作業が完了したと判断する条件(作業完了の条件)が満たされたか否かを判定する。作業完了の条件は、演算部53に予め(
図6に示すステップS191の前に)設定される。作業完了の条件は、例えば、作業機械20から輸送車10までの距離が所定距離以上となったことなどを含んでもよい。作業完了の条件が満たされた場合(
図6に示すステップS191でYESの場合)、演算部53は、容器12の三次元情報を算出する処理を終了する。作業完了の条件が満たされない場合(
図6に示すステップS191でNOの場合)、演算部53は、容器12の三次元情報を算出する処理を繰り返し、具体的には例えばステップS111(
図6参照)に戻る。
【0070】
(効果)
図3に示す変形例の容器計測システム30による効果は次の通りである。
【0071】
(第3の発明の効果)
容器計測システム30は、作動情報取得部155を備える。作動情報取得部155は、作業機械20(
図1参照)の旋回および走行の少なくともいずれかを含む作動αに関する情報を取得する。
【0072】
[構成3]演算部53は、演算部53が算出した容器12(
図2参照)の三次元情報を記憶する記憶部153mを備える。演算部53は、作動αが行われる前に記憶部153mに記憶された容器12の三次元情報と、作動情報取得部155に取得された作動αに関する情報と、に基づいて、作動αが行われた後の容器12の三次元情報を算出する(
図6に示すステップS120を参照)。
【0073】
上記[構成3]により、上記[構成3]の算出が行われない場合に比べ、容器12(
図7参照)の三次元情報を精度よく算出することができる。具体的には、例えば、
図1に示す作業機械20がある作動(作動α)を行うと、距離画像取得部40が取得した距離画像Dに容器12が映っている状態から(
図2参照)、容器12の一部が映っていない状態(
図7参照)になる場合などがある。このように、
図7に示す距離画像Dに容器12の少なくとも一部が含まれていない場合でも、記憶された三次元情報と、作動αに関する情報と、に基づいて、演算部53が、容器12の三次元情報を精度よく算出することができる。
【0074】
(第4の発明の効果)
[構成4]演算部53には、演算部53が算出した容器12(
図7参照)の三次元情報(現在の三次元情報)と、記憶部153mに記憶された容器12(
図7参照)の三次元情報(記憶された三次元情報)と、の差異の大きさに関する閾値が設定される。演算部53は、上記の差異が閾値を超えた場合、記憶部153mに記憶された容器12(
図7参照)の三次元情報を、演算部53が算出した容器12(
図7参照)の三次元情報に更新する(
図6に示すステップS115を参照)。
【0075】
上記[構成4]では、現在の三次元情報と記憶された三次元情報との差異が閾値を超えた場合、記憶された三次元情報が、現在の三次元情報に更新される。よって、
図1に示す作業機械20および容器12の少なくともいずれかが移動した場合でも、記憶された三次元情報を用いた、容器12の三次元情報の算出(上記[構成3]の算出)を行うことができる。
【0076】
(変形例)
上記実施形態および変形例は様々に変形されてもよい。上記実施形態および変形例の、各構成要素の配置や形状が変更されてもよい。例えば、
図4および
図6に示す各処理の順序が変更されてもよく、処理の一部が行われなくてもよい。例えば、「所定範囲」、「閾値」などの範囲や値は、一定でもよく、手動操作により変えられてもよく、何らかの条件に応じて自動的に変えられてもよい。例えば、構成要素の数が変更されてもよく、構成要素の一部が設けられなくてもよい。例えば、互いに異なる複数の部材や部分として説明したものが、一つの部材や部分とされてもよい。例えば、一つの部材や部分として説明したものが、互いに異なる複数の部材や部分に分けて設けられてもよい。
【符号の説明】
【0077】
10 輸送車
12 容器
13 平面部
20 作業機械
30 容器計測システム
40 距離画像取得部
53 演算部
153m 記憶部
155 作動情報取得部