(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-08-01
(45)【発行日】2022-08-09
(54)【発明の名称】先端アタッチメント判別装置
(51)【国際特許分類】
G06T 7/00 20170101AFI20220802BHJP
E02F 3/36 20060101ALI20220802BHJP
E02F 3/96 20060101ALI20220802BHJP
【FI】
G06T7/00 300F
E02F3/36 A
E02F3/96 E
(21)【出願番号】P 2018007324
(22)【出願日】2018-01-19
【審査請求日】2020-10-14
(73)【特許権者】
【識別番号】000246273
【氏名又は名称】コベルコ建機株式会社
(74)【代理人】
【識別番号】110001841
【氏名又は名称】特許業務法人梶・須原特許事務所
(72)【発明者】
【氏名】羽馬 涼太
(72)【発明者】
【氏名】細 幸広
【審査官】▲広▼島 明芳
(56)【参考文献】
【文献】特開2017-157016(JP,A)
【文献】特開2004-157932(JP,A)
【文献】特開2018-005555(JP,A)
【文献】特開2008-060988(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00 - 7/90
E02F 3/36
E02F 3/96
G06V 20/56 - 20/58
(57)【特許請求の範囲】
【請求項1】
作業機械の上部旋回体に取り付けられ、複数種類に交換可能な先端アタッチメントを先端部に有する作業装置と、
前記上部旋回体に取り付けられ、前記先端アタッチメントの可動範囲内の画像を撮影可能なカメラと、
前記作業装置の姿勢を検出する作業装置姿勢センサと、
コントローラと、
を備え、
前記コントローラは、
前記作業装置姿勢センサに検出された前記作業装置の姿勢に基づいて、前記カメラに撮影された画像内の前記先端アタッチメントを含む範囲の枠である検出枠を設定し、
前記検出枠内の前記先端アタッチメントの画像に基づいて、前記先端アタッチメントの種類を判別
し、
前記コントローラには、前記作業装置の姿勢の条件であって、前記作業機械の接地面に対して前記作業機械が配置される側とは反対側に前記先端アタッチメントが配置され得る条件である所定姿勢条件が予め設定され、
前記コントローラは、
前記作業装置姿勢センサに検出された前記作業装置の姿勢が、前記所定姿勢条件を満たさない場合、前記先端アタッチメントの種類の判別を行う場合があり、
前記作業装置姿勢センサに検出された前記作業装置の姿勢が、前記所定姿勢条件を満たす場合、前記先端アタッチメントの種類の判別を行わない、
先端アタッチメント判別装置。
【請求項2】
作業機械の上部旋回体に取り付けられ、複数種類に交換可能な先端アタッチメントを先端部に有する作業装置と、
前記上部旋回体に取り付けられ、前記先端アタッチメントの可動範囲内の画像を撮影可能なカメラと、
前記作業装置の姿勢を検出する作業装置姿勢センサと、
コントローラと、
を備え、
前記コントローラは、
前記作業装置姿勢センサに検出された前記作業装置の姿勢に基づいて、前記カメラに撮影された画像内の前記先端アタッチメントを含む範囲の枠である検出枠を設定し、
前記検出枠内の前記先端アタッチメントの画像に基づいて、前記先端アタッチメントの種類を判別
し、
前記作業装置姿勢センサに検出された前記作業装置の姿勢の変化に応じて、前記検出枠の設定を逐次変え、
前記先端アタッチメントが前記カメラから遠ざかったことを前記作業装置姿勢センサが検出した場合、前記検出枠を小さくし、
前記先端アタッチメントが前記カメラに近づいたことを前記作業装置姿勢センサが検出した場合、前記検出枠を大きくする、
先端アタッチメント判別装置。
【請求項3】
作業機械の上部旋回体に取り付けられ、
アームに回転可能に取り付けられるとともに複数種類に交換可能な先端アタッチメントを先端部に有する作業装置と、
前記上部旋回体に取り付けられ、前記先端アタッチメントの可動範囲内の画像を撮影可能なカメラと、
前記作業装置の姿勢を検出する作業装置姿勢センサと、
コントローラと、
を備え、
前記コントローラは、
前記作業装置姿勢センサに検出された前記作業装置の姿勢に基づいて、前記カメラに撮影された画像内の前記先端アタッチメントを含む範囲の枠である検出枠を設定し、
前記検出枠内の前記先端アタッチメントの画像に基づいて、前記先端アタッチメントの種類を判別
し、
前記作業装置姿勢センサに検出された前記作業装置の姿勢の変化に応じて、前記検出枠の設定を逐次変え、
前記アームに対する前記先端アタッチメントの角度が変化したことを前記作業装置姿勢センサが検出した場合、前記検出枠の設定を変える、
先端アタッチメント判別装置。
【請求項4】
請求項3に記載の先端アタッチメント判別装置であって、
前記コントローラは、前記アームに対する前記先端アタッチメントの角度が変化したことを前記作業装置姿勢センサが検出した場合、前記検出枠の縦横比を変える、
先端アタッチメント判別装置。
【請求項5】
請求項1
~4のいずれか1項に記載の先端アタッチメント判別装置であって、
前記カメラは、前記上部旋回体に固定される、
先端アタッチメント判別装置。
【請求項6】
請求項1~
5のいずれか1項に記載の先端アタッチメント判別装置であって、
前記コントローラは、前記作業機械の構造の情報に基づいて前記検出枠を設定する、
先端アタッチメント判別装置。
【請求項7】
請求項1~
6のいずれか1項に記載の先端アタッチメント判別装置であって、
前記カメラは、ズーム機能を備え、
前記コントローラは、
前記作業装置姿勢センサに検出された前記作業装置の姿勢が、前記先端アタッチメントから前記カメラまでの距離が遠くなるような姿勢であるほど、前記カメラのズーム位置を望遠側にする、
先端アタッチメント判別装置。
【請求項8】
請求項1~
7のいずれか1項に記載の先端アタッチメント判別装置であって、
前記コントローラは、
前記作業装置姿勢センサに検出された前記作業装置の姿勢に基づいて、前記先端アタッチメントから前記カメラまでの距離に対応する対応距離を取得し、
前記対応距離が、予め定められた所定距離以下の場合、前記先端アタッチメントの種類の判別を行う場合があり、
前記対応距離が、前記所定距離よりも大きい場合、前記先端アタッチメントの種類の判別を行わない、
先端アタッチメント判別装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、作業機械の先端アタッチメントの種類を判別する先端アタッチメント判別装置に関する。
【背景技術】
【0002】
例えば特許文献1に、先端アタッチメント(同文献におけるアタッチメント)を含む距離分布を距離センサが計測し、距離分布に基づいて先端アタッチメントを認識する技術が記載されている(同文献の請求項1などを参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
同文献に記載の技術では、距離分布に基づいて先端アタッチメントの種類などが認識される。距離分布を計測するために、距離センサが用いられる。しかし、距離センサは、単眼カメラなどに比べ、コストが高い場合がある。また、先端アタッチメントの種類の判別を行う際、判別の精度を確保することが重要である。
【0005】
そこで、本発明は、距離分布を用いなくても、精度よく、先端アタッチメントの種類を判別できる、先端アタッチメント判別装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の先端アタッチメント判別装置は、作業装置と、カメラと、作業装置姿勢センサと、コントローラと、を備える。前記作業装置は、作業機械の上部旋回体に取り付けられ、複数種類に交換可能な先端アタッチメントを先端部に有する。前記カメラは、前記上部旋回体に取り付けられ、前記先端アタッチメントの可動範囲内の画像を撮影可能である。前記作業装置姿勢センサは、前記作業装置の姿勢を検出する。前記コントローラは、前記作業装置姿勢センサに検出された前記作業装置の姿勢に基づいて、前記カメラに撮影された画像内の前記先端アタッチメントを含む範囲の枠である検出枠を設定する。前記コントローラは、前記検出枠内の前記先端アタッチメントの画像に基づいて、前記先端アタッチメントの種類を判別する。
【発明の効果】
【0007】
上記構成により、距離分布を用いなくても、精度よく、先端アタッチメントの種類を判別できる。
【図面の簡単な説明】
【0008】
【
図2】
図1に示す作業機械10に設けられる先端アタッチメント判別装置1のブロック図である。
【
図3】
図2に示す先端アタッチメント判別装置1のフローチャートである。
【
図4】
図1に示すカメラ40に撮影された画像である。
【
図5】
図1に示すカメラ40に撮影された画像である。
【
図6】
図1に示す先端アタッチメント25がカメラ40の死角に入っている状態を示す
図1相当図である。
【発明を実施するための形態】
【0009】
図1~
図6を参照して、
図1に示す先端アタッチメント判別装置1について説明する。
【0010】
先端アタッチメント判別装置1は、先端アタッチメント25の種類を自動的に判別する装置であり、作業機械10に設けられる。作業機械10は、建設作業などの作業を行う機械であり、例えば建設機械であり、例えばショベルなどである。作業機械10は、下部走行体11と、上部旋回体13と、作業装置20と、作業装置姿勢センサ30と、カメラ40と、
図2に示すモニタ50と、コントローラ60と、を備える。
【0011】
下部走行体11は、
図1に示すように、作業機械10を走行させる部分であり、例えばクローラを備える。下部走行体11の底面11b(作業機械10の底面)は、接地面Aに接する。上部旋回体13は、下部走行体11よりも上に設けられ、下部走行体11に対して旋回可能である。上部旋回体13は、キャブ13c(運転室)を備える。
【0012】
作業装置20は、上部旋回体13に取り付けられ、作業を行う装置である。作業装置20は、ブーム21と、アーム23と、先端アタッチメント25と、を備える。ブーム21は、上部旋回体13に回転可能に取り付けられる。アーム23は、ブーム21に回転可能に取り付けられる。
【0013】
先端アタッチメント25は、作業装置20の先端部に設けられる。先端アタッチメント25は、複数種類に交換可能である。先端アタッチメント25の種類には、バケット(
図1に示す例)、クラムシェル、ハサミ状の装置、ハンマ、マグネットなどがある。先端アタッチメント25は、アーム23に回転可能に取り付けられる。先端アタッチメント25の基準となる位置を、基準位置25bとする。基準位置25bは、先端アタッチメント25の種類によらず決まる位置である。基準位置25bは、例えば、先端アタッチメント25の基端部であり、例えば、アーム23に対する先端アタッチメント25の回転軸(バケットピンなど)である。なお、
図2および
図3では、先端アタッチメント25を「先端ATT」と記載した。
【0014】
作業装置姿勢センサ30は、
図1に示す作業装置20の姿勢を検出するセンサである。作業装置姿勢センサ30は、ブーム角度センサ31と、アーム角度センサ33と、先端アタッチメント角度センサ35と、を備える。ブーム角度センサ31は、上部旋回体13に対するブーム21の角度(ブーム21角度)を検出する。例えば、ブーム角度センサ31は、ブーム21の基端部に設けられる角度センサ(エンコーダ)である。例えば角度センサである点は、アーム角度センサ33、および先端アタッチメント角度センサ35も同様である。例えば、ブーム角度センサ31は、ブーム21を駆動させるブームシリンダの伸縮量を検出することで、ブーム21角度を検出してもよい。この場合、ブームシリンダの伸縮量が、ブーム21角度に変換される。シリンダの伸縮量を検出することで角度を検出してもよい点は、アーム角度センサ33および先端アタッチメント角度センサ35も同様である。アーム角度センサ33は、ブーム21に対するアーム23の角度(アーム23角度)を検出する。先端アタッチメント角度センサ35は、アーム23に対する先端アタッチメント25の角度(先端アタッチメント25角度)を検出する。
【0015】
カメラ40(撮像装置)は、先端アタッチメント25の可動範囲内の画像を撮影可能である。カメラ40は、作業装置20およびその周囲の画像を撮影する。カメラ40は、先端アタッチメント25の可動範囲として想定される全範囲を撮影可能であることが好ましい。カメラ40は、上部旋回体13に取り付けられ、例えば、キャブ13c(例えば左前上部など)に取り付けられ、例えば、上部旋回体13のうちキャブ13c以外の部分に取り付けられてもよい。カメラ40は、上部旋回体13に対して固定される。カメラ40は、上部旋回体13に対して移動(例えば回動)可能でもよい。カメラ40は、例えば単眼カメラでもよく、例えばステレオカメラなどでもよい。カメラ40のコストを低くするために、カメラ40は単眼カメラであることが好ましい。カメラ40は、ズーム機能(光学ズーム機能)を有することが好ましい。具体的には、カメラ40のズーム位置(焦点距離)が、望遠側と広角側との間で連続的に可変であることが好ましい。なお、
図1に、カメラ40の画角40aの一例を示す。
【0016】
モニタ50は、各種情報を表示する。モニタ50は、カメラ40に撮影された画像を表示してもよい(
図4参照)。モニタ50は、検出枠F(
図4参照)(詳細は下記)を表示してもよい。モニタ50は、先端アタッチメント25の種類の判別結果を表示してもよい。
【0017】
コントローラ60(制御部)は、
図2に示すように、信号(情報)の入出力、および演算(判定、算出)などを行う。コントローラ60は、第1コントローラ61(主制御部)と、第2コントローラ62(補助制御部)と、を備える。第1コントローラ61は、作業機械10(
図1参照)の作動の制御などを行う。第1コントローラ61は、作業機械10に関する情報の取得、処理、および記憶などを行う。第1コントローラ61には、作業装置姿勢センサ30、カメラ40、およびモニタ50が接続される。第2コントローラ62は、先端アタッチメント25(
図4参照)を含む画像情報から、先端アタッチメント25の種類を判別(特定)する。第2コントローラ62は、AI(Artificial Intelligence)による画像認識を実行する、認識手段である。なお、第1コントローラ61と第2コントローラ62とは、一つに統合されていてもよい。また、第1コントローラ61および第2コントローラ62の少なくともいずれかが、より細かく(例えば異なる種類の機能別に)分けられてもよい。
【0018】
(作動)
図3に示すフローチャートを参照して、先端アタッチメント判別装置1の作動(主にコントローラ60の作動)を説明する。なお、以下では、先端アタッチメント判別装置1の各構成要素(カメラ40、コントローラ60など)については主に
図1を参照し、フローチャートの各ステップについては
図3を参照して説明する。
【0019】
ステップS11では、カメラ40が、先端アタッチメント25を含む画像を撮影(時間的に連続して撮影)する。コントローラ60は、カメラ40に撮影された画像(
図4参照)(以下、「カメラ画像Im」ともいう)の情報(画像情報、映像情報)を取得する。カメラ40が撮影した画像の例を、
図4および
図5に示す。
図5では、
図4に示す状態(近接状態)に比べ、先端アタッチメント25がカメラ40から遠ざかった状態(遠隔状態)を示す。なお、
図4および
図5では、作業機械10以外の部分の図示を省略した。
【0020】
ステップS13では、作業装置姿勢センサ30が、作業装置20の姿勢を検出する。さらに詳しくは、ブーム角度センサ31は、ブーム21角度を検出し、アーム角度センサ33は、アーム23角度を検出し、先端アタッチメント角度センサ35は、先端アタッチメント25角度を検出する。そして、コントローラ60は、作業装置姿勢センサ30に検出された作業装置20の姿勢情報を取得する。コントローラ60は、ブーム21角度とアーム23角度とに基づいて、上部旋回体13に対する基準位置25bの相対位置を取得(算出、予測など)できる。コントローラ60は、基準位置25bの位置と先端アタッチメント25角度とに基づいて、先端アタッチメント25のおおよその位置を取得できる(詳細は後述)。
【0021】
ステップS20では、コントローラ60が、
図4に示す検出枠Fを設定(生成)する。検出枠Fは、カメラ40(
図1参照)に撮影された画像(カメラ画像Im)内の枠であって、先端アタッチメント25を含む範囲の枠である。検出枠Fの内側の画像が、先端アタッチメント25の種類の判別に用いられる。検出枠Fの外側の画像は、先端アタッチメント25の種類の判別には用いられない。
【0022】
(検出枠Fの設定)
カメラ画像Imにおける(画像上の、画像内での)、検出枠Fの、例えば位置、大きさ、および形状などは、次のように設定される。検出枠Fは、先端アタッチメント25の外形全体が検出枠Fの内側に含まれる(収まる)ように設定される。
【0023】
カメラ画像Imにおける、先端アタッチメント25の外形よりも外側の部分(背景部分)は、先端アタッチメント25の判別時に、余計な情報(ノイズ)となる。そのため、検出枠Fは、検出枠F内の背景部分ができるだけ少なくなるように設定されることが好ましい。検出枠Fは、先端アタッチメント25の外形全体が検出枠Fの内側に収まる範囲内で、できるだけ小さいことが好ましい。例えば、先端アタッチメント25が、検出枠F内部の中央部に映ることが好ましい。
【0024】
(作業装置20の姿勢に基づく検出枠Fの設定)
カメラ画像Imのどの位置に、どのような大きさで、先端アタッチメント25が映るかは、作業装置20の姿勢によって変わる。例えば、カメラ40に対して先端アタッチメント25が遠いほど、先端アタッチメント25が小さく映る(
図5参照)。例えば、先端アタッチメント25が高い位置にあるほど、先端アタッチメント25が、カメラ画像Imにおける上の位置に映る。例えば、アーム23に対する先端アタッチメント25の角度によって、カメラ画像Imにおける先端アタッチメント25の縦横比が変わる。
【0025】
そこで、検出枠Fは、作業装置20の姿勢に基づいて設定される。例えば、検出枠Fは、カメラ画像Imにおける基準位置25bの位置に基づいて設定される。例えば、カメラ画像Imにおける基準位置25bの位置は、ブーム21角度およびアーム23角度に基づいて取得(算出、予測など)される。例えば、カメラ画像Imにおける基準位置25bの位置は、ブーム21角度およびアーム23角度に基づいて求められた、上部旋回体13に対する(カメラ40(
図1参照)に対する)基準位置25bの位置に基づいて取得される。また、検出枠Fは、先端アタッチメント25角度に基づいて設定される。
【0026】
このように、コントローラ60は、作業装置20の姿勢に基づいて、検出枠Fを設定する。よって、コントローラ60は、カメラ画像Imから、先端アタッチメント25を検出する処理(物体検出アルゴリズム)を使用する必要がない。よって、その分、コントローラ60の計算負荷を少なくできる。また、物体検出アルゴリズムを使用する必要がないので、種類の判別の対象となる先端アタッチメント25の検出位置を誤認識することがない。例えば、アーム23に取り付けられていない(種類の判別の対象ではない)先端アタッチメント25が、カメラ画像Imに映っている場合があるとする。この場合でも、判別の対象でない先端アタッチメント25は、検出枠Fの外に映るので、種類の判別の対象にならない。
【0027】
(作業機械10の構造の情報に基づく検出枠Fの設定)
カメラ画像Imのどの位置に、どのような大きさで、先端アタッチメント25が映るかは、作業機械10の構造によって変わる。例えば、ブーム21の長さ、およびアーム23の長さによって、カメラ画像Imにおける先端アタッチメント25の位置、大きさなどが変わる。また、例えば、作業機械10の大きさ(例えば「○○トン級」など)によって、作業装置20に設けられると想定される先端アタッチメント25の種類が変わる。すると、カメラ画像Imにおける先端アタッチメント25の位置、大きさなどが変わる。
【0028】
そこで、検出枠Fは、作業装置姿勢センサ30の検出値だけでなく、作業機械10の構造の情報(構造情報)にも基づいて設定されることが好ましい。この構造情報は、例えば、作業機械10の主要諸元に含まれる。この構造情報は、例えば、コントローラ60に予め設定(記憶)されてもよく、何らかの手段により取得されてもよい。この構造情報には、例えば、上部旋回体13の情報、ブーム21の情報、およびアーム23の情報が含まれる。この構造情報には、例えば、上部旋回体13、ブーム21、およびアーム23のそれぞれの、大きさ(寸法)、および相対的な位置が含まれる。この構造情報には、上部旋回体13に対するカメラ40の位置が含まれる。コントローラ60は、作業装置姿勢センサ30の検出値だけでなく、作業機械10の構造情報も用いることで、作業装置20の姿勢をより正確に取得(算出)でき、例えば、基準位置25bをより正確に取得(算出)できる。その結果、検出枠F内の背景部分をより少なくでき、先端アタッチメント25の種類判別の精度を向上させることができる。
【0029】
作業機械10の構造情報を用いて検出枠Fを設定する場合、コントローラ60は、次の[例A1]または[例A2]のように処理できる。[例A1]まず、作業機械10の構造情報を用いずに、作業装置20の姿勢に基づいて、おおまかな検出枠Fが設定される。その後、作業機械10の構造情報に基づいて、検出枠Fが補正されてもよい。[例A2]上記[例A1]のような補正を行わずに、最初から、作業機械10構造情報および作業装置20の姿勢に基づいて、検出枠Fが設定されてもよい。なお、検出枠Fの形状は、
図4に示す例では長方形であるが、四角形以外の多角形、円形、楕円形、またはこれらに近い形状などでもよい。
【0030】
なお、作業機械10の構造情報がなくても、作業機械10の構造は、おおよそ決まっている(ある範囲内に限定される)。よって、コントローラ60は、作業機械10の構造情報を取得しない場合でも、先端アタッチメント25を含むように検出枠Fを設定できる。
【0031】
(検出枠Fの変化)
コントローラ60は、作業装置20の姿勢の変化に応じて、検出枠Fの設定を逐次変える。具体的には例えば、検出枠Fは次のように変えられる。カメラ画像Imにおける基準位置25bの位置が変化した場合、コントローラ60は、基準位置25bの変化後の位置に応じて、検出枠Fの位置を変える。基準位置25bがカメラ40から遠ざかり、カメラ画像Imに映る先端アタッチメント25が小さくなる場合、コントローラ60は、検出枠Fを小さくする。同様に、基準位置25bがカメラ40に近づき、カメラ画像Imに映る先端アタッチメント25が大きくなる場合、コントローラ60は、検出枠Fを大きくする。アーム23に対する先端アタッチメント25の角度が変化し、カメラ画像Imに映る先端アタッチメント25の縦横比が変わると想定される場合、コントローラ60は、検出枠Fの縦横比を変える。
【0032】
ステップS31では、
図6に示すように、先端アタッチメント25の位置がカメラ40の死角になり得る位置か否かが判定される。例えば、作業機械10の掘削作業時などに、先端アタッチメント25がカメラ40の死角に入る場合がある。この判定を行うために、コントローラ60には、所定姿勢条件が予め設定される。所定姿勢条件は、作業装置20の姿勢の条件であって、先端アタッチメント25の位置がカメラ40の死角になり得る条件である。具体的には、作業機械10の接地面Aに対して作業機械10が配置される側(Z1側)とは反対側(Z2側)に、先端アタッチメント25(の少なくとも一部)が配置され得る条件である。接地面Aは、底面11bと平行、かつ、底面11bを含む仮想面である。接地面Aが水平面の場合は、上記「接地面Aに対して作業機械10が配置される側(Z1側)とは反対側(Z2側)」は、接地面Aに対して下側である。
【0033】
このステップS31の時点では、先端アタッチメント25の種類が不明であり、先端アタッチメント25の構造(寸法、形状など)が不明である。そのため、作業装置20の姿勢が分かっても、実際に先端アタッチメント25が接地面AよりもZ2側に配置されるかどうかは不明である。そこで、例えば、作業装置20に設けられると想定される先端アタッチメント25の中で最も大きい先端アタッチメント25が、接地面Aに対してZ2側に配置されるような作業装置20の姿勢を、所定姿勢条件としてもよい。例えば、接地面Aから基準位置25bまでの距離に基づいて、所定姿勢条件が設定されてもよい。
【0034】
図1に示すように、作業装置姿勢センサ30に検出された作業装置20の姿勢が、所定姿勢条件を満たさない場合(ステップS31でYESの場合)、ステップS33に進む(コントローラ60は、先端アタッチメント25の種類の判別を行う場合がある)。
図6に示すように、作業装置20の姿勢が、所定姿勢条件を満たす場合(S31でNOの場合)、コントローラ60は、先端アタッチメント25の種類の判別を行わない。この場合、今回のフローが終了され、例えば「開始」に戻る。このように、カメラ40の死角になり得る位置に先端アタッチメント25が配置される場合には、先端アタッチメント25の種類の判別が行われないので、誤判別をなくすことができ、不要な処理をなくすことができる。
【0035】
なお、
図3に示すフローチャートでは、
図1に示すカメラ40の画像情報が取得(S11)された後に、作業装置20の姿勢情報が取得(S13)され、ステップS31の判定が行われた。一方、カメラ40の画像情報が取得されていない状態(S11の処理が行われていない状態)で、作業装置20の姿勢情報が取得(S13)され、ステップS31の判定が行われてもよい(ステップS33の判定も同様)。そして、作業装置20の姿勢が、所定姿勢条件を満たさない場合(ステップS31でNOの場合)に、今回のフローが終了されてもよい(ステップS33でNOの場合も同様)。この場合は、コントローラ60は、カメラ40の画像情報の取得を行わず、さらに、先端アタッチメント25の種類の判別を行わない。
【0036】
ステップS33では、コントローラ60は、カメラ40から先端アタッチメント25までの距離に対応する対応距離Lを判定する。対応距離Lが遠すぎると、
図5に示すカメラ画像Imにおいて先端アタッチメント25が小さく映り、先端アタッチメント25の部分の画像を拡大しても不鮮明となり、先端アタッチメント25の種類の判別の精度を確保できない場合がある。そこで、
図1に示す対応距離Lが、判別の精度を確保できる大きさかどうかが判定される。さらに詳しくは、コントローラ60は、作業装置姿勢センサ30に検出された作業装置20の姿勢に基づいて、先端アタッチメント25からカメラ40までの距離に対応する対応距離Lを取得する。
【0037】
このステップS33の時点では、先端アタッチメント25の種類が不明であり、先端アタッチメント25の構造が不明である。そのため、カメラ40から先端アタッチメント25までの実際の距離は不明である。そこで、ステップS33の判定では、カメラ40から先端アタッチメント25までの実際の距離に対応する対応距離Lが用いられる。例えば、対応距離Lは、カメラ40から基準位置25bまでの距離でもよい(ステップS35も同様)。例えば、対応距離Lは、作業装置20に設けられると想定される先端アタッチメント25の中で最も大きい先端アタッチメント25と、カメラ40と、の間の距離でもよい(ステップS35も同様)。
【0038】
対応距離Lが、予め定められた第1所定距離以下の場合(ステップS33でYESの場合)、ステップS35に進む(コントローラ60は、先端アタッチメント25の種類の判別を行う場合がある)。第1所定距離の値は、コントローラ60に予め設定される。第1所定距離は、先端アタッチメント25の判別の精度が確保できるか否かに応じて設定される。例えば、第1所定距離は、カメラ40性能、および、第2コントローラ62の判別の能力などに応じて設定される(ステップS35で用いられる第2所定距離も同様)。なお、例えば、カメラ40のズーム機能が用いられる場合は、ズーム位置を最も望遠側にした状態で先端アタッチメント25の判別の精度が確保できればよい。第1所定距離は、
図3に示す例では5mであるが、様々に設定可能である。
【0039】
対応距離Lが、第1所定距離よりも大きい場合(ステップS33でNOの場合)、コントローラ60は、先端アタッチメント25の種類の判別を行わない。この場合、今回のフローが終了され、例えば「開始」に戻る。このように、カメラ40から先端アタッチメント25までの距離に対応する対応距離Lが大きく、先端アタッチメント25の種類の判別の精度を確保できないおそれがある場合には、先端アタッチメント25の種類の判別が行われない。よって、誤判別をなくすことができ、不要な処理をなくすことができる。
【0040】
ステップS35では、コントローラ60が、対応距離Lに基づいて、カメラ40のズーム位置を最も広角側よりも望遠側の位置にするか否かを判定する。対応距離Lが、第2所定距離以上の場合(ステップS35でYESの場合)、ステップS37に進む。第2所定距離の値は、コントローラ60に予め設定される。第2所定距離は、第1所定距離よりも小さい。第2所定距離は、
図3に示す例では3mであるが、様々に設定可能である。対応距離Lが、第2所定距離未満の場合(ステップS35でNOの場合)、カメラ40のズーム位置を最も広角側とし、ステップS40に進む。なお、どの距離を対応距離Lにするかは様々に設定可能であるところ、ステップS33の判定で用いられる対応距離Lと、ステップS35の判定で用いられる対応距離Lとは、同じでもよく、相違してもよい。
【0041】
ステップS37では、コントローラ60が、カメラ40のズーム位置を、最も広角側よりも望遠側の位置にする。対応距離Lが遠くなるほど、カメラ40のズーム位置が、望遠側に設定され、検出枠Fを含む画像が拡大される。この制御が行われるのは、対応距離Lが、第1所定値以下(S33でYES)(例えば5m以下)、かつ、第2所定値以上(S35でYES)(例えば3m以上)の場合である。カメラ40のズーム位置を望遠側にすることで、先端アタッチメント25の画像をそのまま引き延ばして拡大するよりも、先端アタッチメント25の画像が鮮明になり、先端アタッチメント25の種類の判別の精度を向上させることができる。
【0042】
ステップS40では、コントローラ60(第2コントローラ62(
図2参照))が、先端アタッチメント25の種類を判別する。この判別は、検出枠F内の先端アタッチメント25の画像に基づいて行われる。この判別は、検出枠F内の先端アタッチメント25の画像から取得される先端アタッチメント25の特徴量と、コントローラ60に予め設定された特徴量と、の比較により行われる。判別に用いられる特徴量は、例えば先端アタッチメント25の輪郭の形状(外形)である。
【0043】
さらに詳しくは、
図2に示す第1コントローラ61は、検出枠F(
図4参照)内の画像を、任意の条件、タイミングで切り出す(抜き出す、検出枠F以外の部分を取り除く)。切り出される検出枠F内の画像の数は、1でもよく、複数でもよい(複数の画像に基づいて判別が行われてもよい)。第1コントローラ61は、切り出した画像を、第2コントローラ62に出力する。第2コントローラ62には、先端アタッチメント25の種類の判別の基準となる画像(基準画像)が予め設定される。基準画像には、様々な種類の先端アタッチメント25の、様々な姿勢の画像が含まれる。第2コントローラ62は、第1コントローラ61から入力された検出枠F内の画像(入力画像)から、特徴量(例えば輪郭形状)を取得する。そして、第2コントローラ62は、入力画像の特徴量と、基準画像の特徴量と、を比較することで、先端アタッチメント25の種類を判別する。入力画像の特徴量と、基準画像の特徴量と、の傾向が一致するほど、先端アタッチメント25の種類判別の精度が高くなる。また、基準画像が多いほど(学習量が多いほど)、先端アタッチメント25の種類判別の精度が高くなる。そして、第2コントローラ62は、判別結果を第1コントローラ61に出力する。
【0044】
ここで、
図1に示すカメラ40が上部旋回体13に固定されている場合は、カメラ40が上部旋回体13に固定されていない場合に比べ、先端アタッチメント25に対するカメラ40の撮影角度が限定される。よって、カメラ40を上部旋回体13に固定した場合は、先端アタッチメント25の種類の判別に必要な基準画像を減らすことができる(基準画像の収集が容易になる)。
【0045】
ステップS50では、
図3に示すように、コントローラ60が、モニタ50に、判別結果を出力する。なお、判別結果は、作業機械10の制御(作動の制御など)に用いられてもよい。
【0046】
(距離センサを用いた技術との比較)
図1に示す先端アタッチメント25の種類の判別が、距離センサにより検出された距離分布(距離画像、深度分布)に基づいて行われる場合について検討する。この場合、距離センサは、単眼カメラよりもコストが高いという問題がある。また、距離センサは、単眼カメラよりも、埃による影響が大きいという問題がある。一方、本実施形態では、カメラ40として単眼カメラを使える。カメラ40が単眼カメラの場合は、これらの問題をなくすことができる。
【0047】
また、TOF(Time Of Flight)センサなどの距離センサは、単眼カメラよりも検知範囲が限られる(画角が狭い)。そこで、例えば先端アタッチメント25を地面に接触させた姿勢など、作業装置20を特定の限られた姿勢にした状態で、距離センサを用いて先端アタッチメント25周辺の距離分布を計測することが考えられる。しかし、この場合、先端アタッチメント25の種類を判別する際、作業装置20を特定の姿勢にする必要があるので、手間がかかる。一方、本実施形態では、先端アタッチメント25の種類を判別する際、作業装置20の姿勢を、ほぼ任意の姿勢にできる。よって、本実施形態では、先端アタッチメント25の種類の判別時の、作業装置20の姿勢の自由度が高い。さらに詳しくは、本実施形態では、先端アタッチメント25の種類の判別を行わない状態(
図3のS31でNO、S33でNOの場合)を除いて、任意の作業装置20の姿勢で、先端アタッチメント25の種類の判別を行える。なお、先端アタッチメント25の種類の判別を行わない条件は、様々に設定可能である。
【0048】
(効果)
図1に示す先端アタッチメント判別装置1による効果は次の通りである。
【0049】
(第1の発明の効果)
先端アタッチメント判別装置1は、作業装置20と、カメラ40と、作業装置姿勢センサ30と、コントローラ60と、を備える。作業装置20は、作業機械10の上部旋回体13に取り付けられる。作業装置20は、複数種類に交換可能な先端アタッチメント25を先端部(作業装置20の先端部)に有する。カメラ40は、上部旋回体13に取り付けられ、先端アタッチメント25の可動範囲内の画像を撮影可能である。作業装置姿勢センサ30は、作業装置20の姿勢を検出する。
【0050】
[構成1-1]コントローラ60は、作業装置姿勢センサ30に検出された作業装置20の姿勢に基づいて、カメラ40に撮影された画像内の先端アタッチメント25を含む範囲の枠である検出枠F(
図4参照)を設定する(以下、検出枠Fについては
図4参照)。
【0051】
[構成1-2]コントローラ60は、検出枠F内の先端アタッチメント25の画像に基づいて、先端アタッチメント25の種類を判別する。
【0052】
上記[構成1-2]では、コントローラ60は、先端アタッチメント25の種類の判別を、画像に基づいて行う。よって、コントローラ60は、距離分布を用いなくても、先端アタッチメント25の種類の判別を行える。その結果、カメラ40が距離分布を取得する必要がある場合に比べ、カメラ40にかかるコストを低減できる。
【0053】
一方、先端アタッチメント25の種類の判別が、画像に基づいて行われる場合は、距離分布を用いて行われる場合に比べ、距離の情報の分、判別のための情報が少ないと言える。そのため、判別のための情報が少なくても、先端アタッチメント25の種類の判別の精度を確保することが重要になる。ここで、作業装置20の姿勢によって、カメラ画像Imにおける先端アタッチメント25の映り方(例えば位置、大きさ、形状など)が変わる。
【0054】
そこで、上記[構成1-1]では、コントローラ60は、先端アタッチメント25を含む検出枠Fを、作業装置20の姿勢に基づいて設定する。よって、コントローラ60は、先端アタッチメント25の種類の判別に適した検出枠Fを設定できる。例えば、コントローラ60は、先端アタッチメント25の全体が含まれ、かつ、先端アタッチメント25の周囲の背景部分ができるだけ少なくなるように、検出枠Fを設定できる。よって、作業装置20の姿勢に基づいた検出枠Fの設定を行わない場合に比べ、先端アタッチメント25の種類の判別の精度を向上させることができる。したがって、先端アタッチメント判別装置1は、距離分布を用いなくても、精度よく、先端アタッチメント25の種類の判別を行える。
【0055】
(第2の発明の効果)
[構成2]カメラ40は、上部旋回体13に固定される。
【0056】
上記[構成2]により、カメラ40が上部旋回体13に固定されない場合に比べ、先端アタッチメント25に対するカメラ40の撮影角度が限定される。よって、先端アタッチメント25の種類の判別に必要な情報量を減らすことができる。
【0057】
(第3の発明の効果)
[構成3]コントローラ60は、作業装置姿勢センサ30に検出された作業装置20の姿勢の変化に応じて、検出枠Fの設定を逐次変える。
【0058】
上記[構成3]により、検出枠Fが設定された後、作業装置20の姿勢が変化しても、コントローラ60は、先端アタッチメント25の種類の判別を行える。
【0059】
(第4の発明の効果)
[構成4]コントローラ60は、作業機械10の構造の情報に基づいて検出枠Fを設定する。
【0060】
上記[構成1-1]および[構成4]では、コントローラ60は、作業装置姿勢センサ30に検出された作業装置20の姿勢、および、作業機械10の構造の情報に基づいて、検出枠Fを設定する。よって、コントローラ60は、作業装置20の姿勢のみに基づいて検出枠Fが設定される場合に比べ、先端アタッチメント25の種類の判別により適した検出枠Fを設定できる。
【0061】
(第5の発明の効果)
[構成5]カメラ40は、ズーム機能を備える。コントローラ60は、作業装置姿勢センサ30に検出された作業装置20の姿勢に基づいて、先端アタッチメント25からカメラ40までの距離が遠くなるような姿勢であるほど、カメラ40のズーム位置を望遠側にする。
【0062】
上記[構成5]により、先端アタッチメント25からカメラ40までの距離が遠くなっても、カメラ40のズーム位置を望遠側にすることで、検出枠F内の先端アタッチメント25の画像の解像度を上げることができる。よって、先端アタッチメント25の種類の判別の精度を向上させることができる。
【0063】
(第6の発明の効果)
図6に示すように、コントローラ60には、作業装置20の姿勢の条件であって、作業機械10の接地面Aに対して作業機械10が配置される側(Z1側)とは反対側(Z2側)に先端アタッチメント25が配置され得る条件である所定姿勢条件が予め設定される。
【0064】
[構成6-1]コントローラ60は、作業装置姿勢センサ30に検出された作業装置20の姿勢が、所定姿勢条件を満たさない場合(
図3のステップS31でNOの場合)、
図6に示す先端アタッチメント25の種類の判別を行う場合がある。
【0065】
[構成6-2]コントローラ60は、作業装置姿勢センサ30に検出された作業装置20の姿勢が、所定姿勢条件を満たす場合(
図3のステップS31でYESの場合)、
図6に示す先端アタッチメント25の種類の判別を行わない。
【0066】
接地面Aに対してZ2側に先端アタッチメント25が配置され得る場合、先端アタッチメント25の少なくとも一部が、カメラ40の死角に入る場合がある。すると、先端アタッチメント25の種類の判別ができない、または、判別の精度を確保できない場合がある。そこで、先端アタッチメント判別装置1は、上記[構成6-2]を備える。よって、コントローラ60が先端アタッチメント25の種類を誤判別することを抑制でき、また、コントローラ60の無駄な処理をなくすことができる。また、上記[構成6-2]により、先端アタッチメント25の種類の判別の精度を確保した状態で(判別しやすい状態で)、先端アタッチメント25の種類の判別を行いやすい。その結果、先端アタッチメント25の種類の判別の精度を向上させることができる。
【0067】
(第7の発明の効果)
コントローラ60は、作業装置姿勢センサ30に検出された作業装置20の姿勢に基づいて、先端アタッチメント25からカメラ40までの距離に対応する対応距離Lを取得する。
【0068】
[構成7-1]コントローラ60は、対応距離Lが、予め定められた第1所定距離(所定距離)以下の場合(
図3のステップS33でYESの場合)、
図1に示す先端アタッチメント25の種類の判別を行う場合がある。
【0069】
[構成7-2]コントローラ60は、対応距離Lが、第1所定距離よりも大きい場合(
図3のステップS33でNOの場合)、
図1に示す先端アタッチメント25の種類の判別を行わない。
【0070】
対応距離Lが大きく(遠く)なるほど、カメラ画像Im(
図4参照)において先端アタッチメント25が小さく映り、先端アタッチメント25の種類の判別の精度の確保が難しくなる場合がある。そこで、先端アタッチメント判別装置1は、上記[構成7-2]を備える。よって、コントローラ60が先端アタッチメント25の種類を誤判別することを抑制でき、また、コントローラ60の無駄な処理をなくすことができる。また、上記[構成7-1]により、先端アタッチメント25の種類の判別の精度を確保した状態で(判別しやすい状態で)、先端アタッチメント25の種類の判別いやすい。その結果、先端アタッチメント25の種類の判別の精度を向上させることができる。
【0071】
(変形例)
上記実施形態は様々に変形されてもよい。例えば、
図2に示すブロック図の各ブロックどうしの接続は変更されてもよい。例えば、
図3に示すフローチャートのステップの順序は変更されてもよい。例えば、
図1および
図2に示す先端アタッチメント判別装置1の構成要素の数が変更されてもよく、構成要素の一部が設けられなくてもよい。
【0072】
先端アタッチメント判別装置1の構成要素の一部が、作業機械10の外部に設けられてもよい。例えば、
図2に示す第2コントローラ62は、作業機械10の外部に設けられてもよい。例えば、モニタ50は設けられなくてもよい。
【符号の説明】
【0073】
1 先端アタッチメント判別装置
10 作業機械
13 上部旋回体
20 作業装置
25 先端アタッチメント
30 作業装置姿勢センサ
40 カメラ
60 コントローラ
A 接地面
F 検出枠
L 距離(対応する距離)