(57)【要約】【課題】距離分布を用いなくても、精度よく、先端アタッチメントの種類を判別できるようにする。【解決手段】作業装置２０は、複数種類に交換可能な先端アタッチメント２５を先端部に有する。カメラ４０は、先端アタッチメント２５の可動範囲内の画像を撮影可能である。作業装置姿勢センサ３０は、作業装置２０の姿勢を検出する。コントローラ６０は、作業装置姿勢センサ３０に検出された作業装置２０の姿勢に基づいて、カメラ４０に撮影された画像内の先端アタッチメント２５を含む範囲の枠である検出枠（Ｆ）を設定する。コントローラ６０は、検出枠（Ｆ）内の先端アタッチメント２５の画像に基づいて、先端アタッチメント２５の種類を判別する。【選択図】図１
2019125314.tif 000002
【特許請求の範囲】
【請求項１】
作業機械の上部旋回体に取り付けられ、複数種類に交換可能な先端アタッチメントを先端部に有する作業装置と、
前記上部旋回体に取り付けられ、前記先端アタッチメントの可動範囲内の画像を撮影可能なカメラと、
前記作業装置の姿勢を検出する作業装置姿勢センサと、
コントローラと、
を備え、
前記コントローラは、
前記作業装置姿勢センサに検出された前記作業装置の姿勢に基づいて、前記カメラに撮影された画像内の前記先端アタッチメントを含む範囲の枠である検出枠を設定し、
前記検出枠内の前記先端アタッチメントの画像に基づいて、前記先端アタッチメントの種類を判別する、
先端アタッチメント判別装置。
【請求項２】
請求項１に記載の先端アタッチメント判別装置であって、
前記カメラは、前記上部旋回体に固定される、
先端アタッチメント判別装置。
【請求項３】
請求項１または２に記載の先端アタッチメント判別装置であって、
前記コントローラは、前記作業装置姿勢センサに検出された前記作業装置の姿勢の変化に応じて、前記検出枠の設定を逐次変える、
先端アタッチメント判別装置。
【請求項４】
請求項１〜３のいずれか１項に記載の先端アタッチメント判別装置であって、
前記コントローラは、前記作業機械の構造の情報に基づいて前記検出枠を設定する、
先端アタッチメント判別装置。
【請求項５】
請求項１〜４のいずれか１項に記載の先端アタッチメント判別装置であって、
前記カメラは、ズーム機能を備え、
前記コントローラは、
前記作業装置姿勢センサに検出された前記作業装置の姿勢が、前記先端アタッチメントから前記カメラまでの距離が遠くなるような姿勢であるほど、前記カメラのズーム位置を望遠側にする、
先端アタッチメント判別装置。
【請求項６】
請求項１〜５のいずれか１項に記載の先端アタッチメント判別装置であって、
前記コントローラには、前記作業装置の姿勢の条件であって、前記作業機械の接地面に対して前記作業機械が配置される側とは反対側に前記先端アタッチメントが配置され得る条件である所定姿勢条件が予め設定され、
前記コントローラは、
前記作業装置姿勢センサに検出された前記作業装置の姿勢が、前記所定姿勢条件を満たさない場合、前記先端アタッチメントの種類の判別を行う場合があり、
前記作業装置姿勢センサに検出された前記作業装置の姿勢が、前記所定姿勢条件を満たす場合、前記先端アタッチメントの種類の判別を行わない、
先端アタッチメント判別装置。
【請求項７】
請求項１〜６のいずれか１項に記載の先端アタッチメント判別装置であって、
前記コントローラは、
前記作業装置姿勢センサに検出された前記作業装置の姿勢に基づいて、前記先端アタッチメントから前記カメラまでの距離に対応する対応距離を取得し、
前記対応距離が、予め定められた所定距離以下の場合、前記先端アタッチメントの種類の判別を行う場合があり、
前記対応距離が、前記所定距離よりも大きい場合、前記先端アタッチメントの種類の判別を行わない、
先端アタッチメント判別装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、作業機械の先端アタッチメントの種類を判別する先端アタッチメント判別装置に関する。
【背景技術】
【０００２】
例えば特許文献１に、先端アタッチメント（同文献におけるアタッチメント）を含む距離分布を距離センサが計測し、距離分布に基づいて先端アタッチメントを認識する技術が記載されている（同文献の請求項１などを参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−１５７０１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
同文献に記載の技術では、距離分布に基づいて先端アタッチメントの種類などが認識される。距離分布を計測するために、距離センサが用いられる。しかし、距離センサは、単眼カメラなどに比べ、コストが高い場合がある。また、先端アタッチメントの種類の判別を行う際、判別の精度を確保することが重要である。
【０００５】
そこで、本発明は、距離分布を用いなくても、精度よく、先端アタッチメントの種類を判別できる、先端アタッチメント判別装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の先端アタッチメント判別装置は、作業装置と、カメラと、作業装置姿勢センサと、コントローラと、を備える。前記作業装置は、作業機械の上部旋回体に取り付けられ、複数種類に交換可能な先端アタッチメントを先端部に有する。前記カメラは、前記上部旋回体に取り付けられ、前記先端アタッチメントの可動範囲内の画像を撮影可能である。前記作業装置姿勢センサは、前記作業装置の姿勢を検出する。前記コントローラは、前記作業装置姿勢センサに検出された前記作業装置の姿勢に基づいて、前記カメラに撮影された画像内の前記先端アタッチメントを含む範囲の枠である検出枠を設定する。前記コントローラは、前記検出枠内の前記先端アタッチメントの画像に基づいて、前記先端アタッチメントの種類を判別する。
【発明の効果】
【０００７】
上記構成により、距離分布を用いなくても、精度よく、先端アタッチメントの種類を判別できる。
【図面の簡単な説明】
【０００８】
【図１】作業機械１０を横から見た図である。
【図２】図１に示す作業機械１０に設けられる先端アタッチメント判別装置１のブロック図である。
【図３】図２に示す先端アタッチメント判別装置１のフローチャートである。
【図４】図１に示すカメラ４０に撮影された画像である。
【図５】図１に示すカメラ４０に撮影された画像である。
【図６】図１に示す先端アタッチメント２５がカメラ４０の死角に入っている状態を示す図１相当図である。
【発明を実施するための形態】
【０００９】
図１〜図６を参照して、図１に示す先端アタッチメント判別装置１について説明する。
【００１０】
先端アタッチメント判別装置１は、先端アタッチメント２５の種類を自動的に判別する装置であり、作業機械１０に設けられる。作業機械１０は、建設作業などの作業を行う機械であり、例えば建設機械であり、例えばショベルなどである。作業機械１０は、下部走行体１１と、上部旋回体１３と、作業装置２０と、作業装置姿勢センサ３０と、カメラ４０と、図２に示すモニタ５０と、コントローラ６０と、を備える。
【００１１】
下部走行体１１は、図１に示すように、作業機械１０を走行させる部分であり、例えばクローラを備える。下部走行体１１の底面１１ｂ（作業機械１０の底面）は、接地面Ａに接する。上部旋回体１３は、下部走行体１１よりも上に設けられ、下部走行体１１に対して旋回可能である。上部旋回体１３は、キャブ１３ｃ（運転室）を備える。
【００１２】
作業装置２０は、上部旋回体１３に取り付けられ、作業を行う装置である。作業装置２０は、ブーム２１と、アーム２３と、先端アタッチメント２５と、を備える。ブーム２１は、上部旋回体１３に回転可能に取り付けられる。アーム２３は、ブーム２１に回転可能に取り付けられる。
【００１３】
先端アタッチメント２５は、作業装置２０の先端部に設けられる。先端アタッチメント２５は、複数種類に交換可能である。先端アタッチメント２５の種類には、バケット（図１に示す例）、クラムシェル、ハサミ状の装置、ハンマ、マグネットなどがある。先端アタッチメント２５は、アーム２３に回転可能に取り付けられる。先端アタッチメント２５の基準となる位置を、基準位置２５ｂとする。基準位置２５ｂは、先端アタッチメント２５の種類によらず決まる位置である。基準位置２５ｂは、例えば、先端アタッチメント２５の基端部であり、例えば、アーム２３に対する先端アタッチメント２５の回転軸（バケットピンなど）である。なお、図２および図３では、先端アタッチメント２５を「先端ＡＴＴ」と記載した。
【００１４】
作業装置姿勢センサ３０は、図１に示す作業装置２０の姿勢を検出するセンサである。作業装置姿勢センサ３０は、ブーム角度センサ３１と、アーム角度センサ３３と、先端アタッチメント角度センサ３５と、を備える。ブーム角度センサ３１は、上部旋回体１３に対するブーム２１の角度（ブーム２１角度）を検出する。例えば、ブーム角度センサ３１は、ブーム２１の基端部に設けられる角度センサ（エンコーダ）である。例えば角度センサである点は、アーム角度センサ３３、および先端アタッチメント角度センサ３５も同様である。例えば、ブーム角度センサ３１は、ブーム２１を駆動させるブームシリンダの伸縮量を検出することで、ブーム２１角度を検出してもよい。この場合、ブームシリンダの伸縮量が、ブーム２１角度に変換される。シリンダの伸縮量を検出することで角度を検出してもよい点は、アーム角度センサ３３および先端アタッチメント角度センサ３５も同様である。アーム角度センサ３３は、ブーム２１に対するアーム２３の角度（アーム２３角度）を検出する。先端アタッチメント角度センサ３５は、アーム２３に対する先端アタッチメント２５の角度（先端アタッチメント２５角度）を検出する。
【００１５】
カメラ４０（撮像装置）は、先端アタッチメント２５の可動範囲内の画像を撮影可能である。カメラ４０は、作業装置２０およびその周囲の画像を撮影する。カメラ４０は、先端アタッチメント２５の可動範囲として想定される全範囲を撮影可能であることが好ましい。カメラ４０は、上部旋回体１３に取り付けられ、例えば、キャブ１３ｃ（例えば左前上部など）に取り付けられ、例えば、上部旋回体１３のうちキャブ１３ｃ以外の部分に取り付けられてもよい。カメラ４０は、上部旋回体１３に対して固定される。カメラ４０は、上部旋回体１３に対して移動（例えば回動）可能でもよい。カメラ４０は、例えば単眼カメラでもよく、例えばステレオカメラなどでもよい。カメラ４０のコストを低くするために、カメラ４０は単眼カメラであることが好ましい。カメラ４０は、ズーム機能（光学ズーム機能）を有することが好ましい。具体的には、カメラ４０のズーム位置（焦点距離）が、望遠側と広角側との間で連続的に可変であることが好ましい。なお、図１に、カメラ４０の画角４０ａの一例を示す。
【００１６】
モニタ５０は、各種情報を表示する。モニタ５０は、カメラ４０に撮影された画像を表示してもよい（図４参照）。モニタ５０は、検出枠Ｆ（図４参照）（詳細は下記）を表示してもよい。モニタ５０は、先端アタッチメント２５の種類の判別結果を表示してもよい。
【００１７】
コントローラ６０（制御部）は、図２に示すように、信号（情報）の入出力、および演算（判定、算出）などを行う。コントローラ６０は、第１コントローラ６１（主制御部）と、第２コントローラ６２（補助制御部）と、を備える。第１コントローラ６１は、作業機械１０（図１参照）の作動の制御などを行う。第１コントローラ６１は、作業機械１０に関する情報の取得、処理、および記憶などを行う。第１コントローラ６１には、作業装置姿勢センサ３０、カメラ４０、およびモニタ５０が接続される。第２コントローラ６２は、先端アタッチメント２５（図４参照）を含む画像情報から、先端アタッチメント２５の種類を判別（特定）する。第２コントローラ６２は、ＡＩ（Artificial Intelligence）による画像認識を実行する、認識手段である。なお、第１コントローラ６１と第２コントローラ６２とは、一つに統合されていてもよい。また、第１コントローラ６１および第２コントローラ６２の少なくともいずれかが、より細かく（例えば異なる種類の機能別に）分けられてもよい。
【００１８】
（作動）
図３に示すフローチャートを参照して、先端アタッチメント判別装置１の作動（主にコントローラ６０の作動）を説明する。なお、以下では、先端アタッチメント判別装置１の各構成要素（カメラ４０、コントローラ６０など）については主に図１を参照し、フローチャートの各ステップについては図３を参照して説明する。
【００１９】
ステップＳ１１では、カメラ４０が、先端アタッチメント２５を含む画像を撮影（時間的に連続して撮影）する。コントローラ６０は、カメラ４０に撮影された画像（図４参照）（以下、「カメラ画像Ｉｍ」ともいう）の情報（画像情報、映像情報）を取得する。カメラ４０が撮影した画像の例を、図４および図５に示す。図５では、図４に示す状態（近接状態）に比べ、先端アタッチメント２５がカメラ４０から遠ざかった状態（遠隔状態）を示す。なお、図４および図５では、作業機械１０以外の部分の図示を省略した。
【００２０】
ステップＳ１３では、作業装置姿勢センサ３０が、作業装置２０の姿勢を検出する。さらに詳しくは、ブーム角度センサ３１は、ブーム２１角度を検出し、アーム角度センサ３３は、アーム２３角度を検出し、先端アタッチメント角度センサ３５は、先端アタッチメント２５角度を検出する。そして、コントローラ６０は、作業装置姿勢センサ３０に検出された作業装置２０の姿勢情報を取得する。コントローラ６０は、ブーム２１角度とアーム２３角度とに基づいて、上部旋回体１３に対する基準位置２５ｂの相対位置を取得（算出、予測など）できる。コントローラ６０は、基準位置２５ｂの位置と先端アタッチメント２５角度とに基づいて、先端アタッチメント２５のおおよその位置を取得できる（詳細は後述）。
【００２１】
ステップＳ２０では、コントローラ６０が、図４に示す検出枠Ｆを設定（生成）する。検出枠Ｆは、カメラ４０（図１参照）に撮影された画像（カメラ画像Ｉｍ）内の枠であって、先端アタッチメント２５を含む範囲の枠である。検出枠Ｆの内側の画像が、先端アタッチメント２５の種類の判別に用いられる。検出枠Ｆの外側の画像は、先端アタッチメント２５の種類の判別には用いられない。
【００２２】
（検出枠Ｆの設定）
カメラ画像Ｉｍにおける（画像上の、画像内での）、検出枠Ｆの、例えば位置、大きさ、および形状などは、次のように設定される。検出枠Ｆは、先端アタッチメント２５の外形全体が検出枠Ｆの内側に含まれる（収まる）ように設定される。
【００２３】
カメラ画像Ｉｍにおける、先端アタッチメント２５の外形よりも外側の部分（背景部分）は、先端アタッチメント２５の判別時に、余計な情報（ノイズ）となる。そのため、検出枠Ｆは、検出枠Ｆ内の背景部分ができるだけ少なくなるように設定されることが好ましい。検出枠Ｆは、先端アタッチメント２５の外形全体が検出枠Ｆの内側に収まる範囲内で、できるだけ小さいことが好ましい。例えば、先端アタッチメント２５が、検出枠Ｆ内部の中央部に映ることが好ましい。
【００２４】
（作業装置２０の姿勢に基づく検出枠Ｆの設定）
カメラ画像Ｉｍのどの位置に、どのような大きさで、先端アタッチメント２５が映るかは、作業装置２０の姿勢によって変わる。例えば、カメラ４０に対して先端アタッチメント２５が遠いほど、先端アタッチメント２５が小さく映る（図５参照）。例えば、先端アタッチメント２５が高い位置にあるほど、先端アタッチメント２５が、カメラ画像Ｉｍにおける上の位置に映る。例えば、アーム２３に対する先端アタッチメント２５の角度によって、カメラ画像Ｉｍにおける先端アタッチメント２５の縦横比が変わる。
【００２５】
そこで、検出枠Ｆは、作業装置２０の姿勢に基づいて設定される。例えば、検出枠Ｆは、カメラ画像Ｉｍにおける基準位置２５ｂの位置に基づいて設定される。例えば、カメラ画像Ｉｍにおける基準位置２５ｂの位置は、ブーム２１角度およびアーム２３角度に基づいて取得（算出、予測など）される。例えば、カメラ画像Ｉｍにおける基準位置２５ｂの位置は、ブーム２１角度およびアーム２３角度に基づいて求められた、上部旋回体１３に対する（カメラ４０（図１参照）に対する）基準位置２５ｂの位置に基づいて取得される。また、検出枠Ｆは、先端アタッチメント２５角度に基づいて設定される。
【００２６】
このように、コントローラ６０は、作業装置２０の姿勢に基づいて、検出枠Ｆを設定する。よって、コントローラ６０は、カメラ画像Ｉｍから、先端アタッチメント２５を検出する処理（物体検出アルゴリズム）を使用する必要がない。よって、その分、コントローラ６０の計算負荷を少なくできる。また、物体検出アルゴリズムを使用する必要がないので、種類の判別の対象となる先端アタッチメント２５の検出位置を誤認識することがない。例えば、アーム２３に取り付けられていない（種類の判別の対象ではない）先端アタッチメント２５が、カメラ画像Ｉｍに映っている場合があるとする。この場合でも、判別の対象でない先端アタッチメント２５は、検出枠Ｆの外に映るので、種類の判別の対象にならない。
【００２７】
（作業機械１０の構造の情報に基づく検出枠Ｆの設定）
カメラ画像Ｉｍのどの位置に、どのような大きさで、先端アタッチメント２５が映るかは、作業機械１０の構造によって変わる。例えば、ブーム２１の長さ、およびアーム２３の長さによって、カメラ画像Ｉｍにおける先端アタッチメント２５の位置、大きさなどが変わる。また、例えば、作業機械１０の大きさ（例えば「○○トン級」など）によって、作業装置２０に設けられると想定される先端アタッチメント２５の種類が変わる。すると、カメラ画像Ｉｍにおける先端アタッチメント２５の位置、大きさなどが変わる。
【００２８】
そこで、検出枠Ｆは、作業装置姿勢センサ３０の検出値だけでなく、作業機械１０の構造の情報（構造情報）にも基づいて設定されることが好ましい。この構造情報は、例えば、作業機械１０の主要諸元に含まれる。この構造情報は、例えば、コントローラ６０に予め設定（記憶）されてもよく、何らかの手段により取得されてもよい。この構造情報には、例えば、上部旋回体１３の情報、ブーム２１の情報、およびアーム２３の情報が含まれる。この構造情報には、例えば、上部旋回体１３、ブーム２１、およびアーム２３のそれぞれの、大きさ（寸法）、および相対的な位置が含まれる。この構造情報には、上部旋回体１３に対するカメラ４０の位置が含まれる。コントローラ６０は、作業装置姿勢センサ３０の検出値だけでなく、作業機械１０の構造情報も用いることで、作業装置２０の姿勢をより正確に取得（算出）でき、例えば、基準位置２５ｂをより正確に取得（算出）できる。その結果、検出枠Ｆ内の背景部分をより少なくでき、先端アタッチメント２５の種類判別の精度を向上させることができる。
【００２９】
作業機械１０の構造情報を用いて検出枠Ｆを設定する場合、コントローラ６０は、次の［例Ａ１］または［例Ａ２］のように処理できる。［例Ａ１］まず、作業機械１０の構造情報を用いずに、作業装置２０の姿勢に基づいて、おおまかな検出枠Ｆが設定される。その後、作業機械１０の構造情報に基づいて、検出枠Ｆが補正されてもよい。［例Ａ２］上記［例Ａ１］のような補正を行わずに、最初から、作業機械１０構造情報および作業装置２０の姿勢に基づいて、検出枠Ｆが設定されてもよい。なお、検出枠Ｆの形状は、図４に示す例では長方形であるが、四角形以外の多角形、円形、楕円形、またはこれらに近い形状などでもよい。
【００３０】
なお、作業機械１０の構造情報がなくても、作業機械１０の構造は、おおよそ決まっている（ある範囲内に限定される）。よって、コントローラ６０は、作業機械１０の構造情報を取得しない場合でも、先端アタッチメント２５を含むように検出枠Ｆを設定できる。
【００３１】
（検出枠Ｆの変化）
コントローラ６０は、作業装置２０の姿勢の変化に応じて、検出枠Ｆの設定を逐次変える。具体的には例えば、検出枠Ｆは次のように変えられる。カメラ画像Ｉｍにおける基準位置２５ｂの位置が変化した場合、コントローラ６０は、基準位置２５ｂの変化後の位置に応じて、検出枠Ｆの位置を変える。基準位置２５ｂがカメラ４０から遠ざかり、カメラ画像Ｉｍに映る先端アタッチメント２５が小さくなる場合、コントローラ６０は、検出枠Ｆを小さくする。同様に、基準位置２５ｂがカメラ４０に近づき、カメラ画像Ｉｍに映る先端アタッチメント２５が大きくなる場合、コントローラ６０は、検出枠Ｆを大きくする。アーム２３に対する先端アタッチメント２５の角度が変化し、カメラ画像Ｉｍに映る先端アタッチメント２５の縦横比が変わると想定される場合、コントローラ６０は、検出枠Ｆの縦横比を変える。
【００３２】
ステップＳ３１では、図６に示すように、先端アタッチメント２５の位置がカメラ４０の死角になり得る位置か否かが判定される。例えば、作業機械１０の掘削作業時などに、先端アタッチメント２５がカメラ４０の死角に入る場合がある。この判定を行うために、コントローラ６０には、所定姿勢条件が予め設定される。所定姿勢条件は、作業装置２０の姿勢の条件であって、先端アタッチメント２５の位置がカメラ４０の死角になり得る条件である。具体的には、作業機械１０の接地面Ａに対して作業機械１０が配置される側（Ｚ１側）とは反対側（Ｚ２側）に、先端アタッチメント２５（の少なくとも一部）が配置され得る条件である。接地面Ａは、底面１１ｂと平行、かつ、底面１１ｂを含む仮想面である。接地面Ａが水平面の場合は、上記「接地面Ａに対して作業機械１０が配置される側（Ｚ１側）とは反対側（Ｚ２側）」は、接地面Ａに対して下側である。
【００３３】
このステップＳ３１の時点では、先端アタッチメント２５の種類が不明であり、先端アタッチメント２５の構造（寸法、形状など）が不明である。そのため、作業装置２０の姿勢が分かっても、実際に先端アタッチメント２５が接地面ＡよりもＺ２側に配置されるかどうかは不明である。そこで、例えば、作業装置２０に設けられると想定される先端アタッチメント２５の中で最も大きい先端アタッチメント２５が、接地面Ａに対してＺ２側に配置されるような作業装置２０の姿勢を、所定姿勢条件としてもよい。例えば、接地面Ａから基準位置２５ｂまでの距離に基づいて、所定姿勢条件が設定されてもよい。
【００３４】
図１に示すように、作業装置姿勢センサ３０に検出された作業装置２０の姿勢が、所定姿勢条件を満たさない場合（ステップＳ３１でＹＥＳの場合）、ステップＳ３３に進む（コントローラ６０は、先端アタッチメント２５の種類の判別を行う場合がある）。図６に示すように、作業装置２０の姿勢が、所定姿勢条件を満たす場合（Ｓ３１でＮＯの場合）、コントローラ６０は、先端アタッチメント２５の種類の判別を行わない。この場合、今回のフローが終了され、例えば「開始」に戻る。このように、カメラ４０の死角になり得る位置に先端アタッチメント２５が配置される場合には、先端アタッチメント２５の種類の判別が行われないので、誤判別をなくすことができ、不要な処理をなくすことができる。
【００３５】
なお、図３に示すフローチャートでは、図１に示すカメラ４０の画像情報が取得（Ｓ１１）された後に、作業装置２０の姿勢情報が取得（Ｓ１３）され、ステップＳ３１の判定が行われた。一方、カメラ４０の画像情報が取得されていない状態（Ｓ１１の処理が行われていない状態）で、作業装置２０の姿勢情報が取得（Ｓ１３）され、ステップＳ３１の判定が行われてもよい（ステップＳ３３の判定も同様）。そして、作業装置２０の姿勢が、所定姿勢条件を満たさない場合（ステップＳ３１でＮＯの場合）に、今回のフローが終了されてもよい（ステップＳ３３でＮＯの場合も同様）。この場合は、コントローラ６０は、カメラ４０の画像情報の取得を行わず、さらに、先端アタッチメント２５の種類の判別を行わない。
【００３６】
ステップＳ３３では、コントローラ６０は、カメラ４０から先端アタッチメント２５までの距離に対応する対応距離Ｌを判定する。対応距離Ｌが遠すぎると、図５に示すカメラ画像Ｉｍにおいて先端アタッチメント２５が小さく映り、先端アタッチメント２５の部分の画像を拡大しても不鮮明となり、先端アタッチメント２５の種類の判別の精度を確保できない場合がある。そこで、図１に示す対応距離Ｌが、判別の精度を確保できる大きさかどうかが判定される。さらに詳しくは、コントローラ６０は、作業装置姿勢センサ３０に検出された作業装置２０の姿勢に基づいて、先端アタッチメント２５からカメラ４０までの距離に対応する対応距離Ｌを取得する。
【００３７】
このステップＳ３３の時点では、先端アタッチメント２５の種類が不明であり、先端アタッチメント２５の構造が不明である。そのため、カメラ４０から先端アタッチメント２５までの実際の距離は不明である。そこで、ステップＳ３３の判定では、カメラ４０から先端アタッチメント２５までの実際の距離に対応する対応距離Ｌが用いられる。例えば、対応距離Ｌは、カメラ４０から基準位置２５ｂまでの距離でもよい（ステップＳ３５も同様）。例えば、対応距離Ｌは、作業装置２０に設けられると想定される先端アタッチメント２５の中で最も大きい先端アタッチメント２５と、カメラ４０と、の間の距離でもよい（ステップＳ３５も同様）。
【００３８】
対応距離Ｌが、予め定められた第１所定距離以下の場合（ステップＳ３３でＹＥＳの場合）、ステップＳ３５に進む（コントローラ６０は、先端アタッチメント２５の種類の判別を行う場合がある）。第１所定距離の値は、コントローラ６０に予め設定される。第１所定距離は、先端アタッチメント２５の判別の精度が確保できるか否かに応じて設定される。例えば、第１所定距離は、カメラ４０性能、および、第２コントローラ６２の判別の能力などに応じて設定される（ステップＳ３５で用いられる第２所定距離も同様）。なお、例えば、カメラ４０のズーム機能が用いられる場合は、ズーム位置を最も望遠側にした状態で先端アタッチメント２５の判別の精度が確保できればよい。第１所定距離は、図３に示す例では５ｍであるが、様々に設定可能である。
【００３９】
対応距離Ｌが、第１所定距離よりも大きい場合（ステップＳ３３でＮＯの場合）、コントローラ６０は、先端アタッチメント２５の種類の判別を行わない。この場合、今回のフローが終了され、例えば「開始」に戻る。このように、カメラ４０から先端アタッチメント２５までの距離に対応する対応距離Ｌが大きく、先端アタッチメント２５の種類の判別の精度を確保できないおそれがある場合には、先端アタッチメント２５の種類の判別が行われない。よって、誤判別をなくすことができ、不要な処理をなくすことができる。
【００４０】
ステップＳ３５では、コントローラ６０が、対応距離Ｌに基づいて、カメラ４０のズーム位置を最も広角側よりも望遠側の位置にするか否かを判定する。対応距離Ｌが、第２所定距離以上の場合（ステップＳ３５でＹＥＳの場合）、ステップＳ３７に進む。第２所定距離の値は、コントローラ６０に予め設定される。第２所定距離は、第１所定距離よりも小さい。第２所定距離は、図３に示す例では３ｍであるが、様々に設定可能である。対応距離Ｌが、第２所定距離未満の場合（ステップＳ３５でＮＯの場合）、カメラ４０のズーム位置を最も広角側とし、ステップＳ４０に進む。なお、どの距離を対応距離Ｌにするかは様々に設定可能であるところ、ステップＳ３３の判定で用いられる対応距離Ｌと、ステップＳ３５の判定で用いられる対応距離Ｌとは、同じでもよく、相違してもよい。
【００４１】
ステップＳ３７では、コントローラ６０が、カメラ４０のズーム位置を、最も広角側よりも望遠側の位置にする。対応距離Ｌが遠くなるほど、カメラ４０のズーム位置が、望遠側に設定され、検出枠Ｆを含む画像が拡大される。この制御が行われるのは、対応距離Ｌが、第１所定値以下（Ｓ３３でＹＥＳ）（例えば５ｍ以下）、かつ、第２所定値以上（Ｓ３５でＹＥＳ）（例えば３ｍ以上）の場合である。カメラ４０のズーム位置を望遠側にすることで、先端アタッチメント２５の画像をそのまま引き延ばして拡大するよりも、先端アタッチメント２５の画像が鮮明になり、先端アタッチメント２５の種類の判別の精度を向上させることができる。
【００４２】
ステップＳ４０では、コントローラ６０（第２コントローラ６２（図２参照））が、先端アタッチメント２５の種類を判別する。この判別は、検出枠Ｆ内の先端アタッチメント２５の画像に基づいて行われる。この判別は、検出枠Ｆ内の先端アタッチメント２５の画像から取得される先端アタッチメント２５の特徴量と、コントローラ６０に予め設定された特徴量と、の比較により行われる。判別に用いられる特徴量は、例えば先端アタッチメント２５の輪郭の形状（外形）である。
【００４３】
さらに詳しくは、図２に示す第１コントローラ６１は、検出枠Ｆ（図４参照）内の画像を、任意の条件、タイミングで切り出す（抜き出す、検出枠Ｆ以外の部分を取り除く）。切り出される検出枠Ｆ内の画像の数は、１でもよく、複数でもよい（複数の画像に基づいて判別が行われてもよい）。第１コントローラ６１は、切り出した画像を、第２コントローラ６２に出力する。第２コントローラ６２には、先端アタッチメント２５の種類の判別の基準となる画像（基準画像）が予め設定される。基準画像には、様々な種類の先端アタッチメント２５の、様々な姿勢の画像が含まれる。第２コントローラ６２は、第１コントローラ６１から入力された検出枠Ｆ内の画像（入力画像）から、特徴量（例えば輪郭形状）を取得する。そして、第２コントローラ６２は、入力画像の特徴量と、基準画像の特徴量と、を比較することで、先端アタッチメント２５の種類を判別する。入力画像の特徴量と、基準画像の特徴量と、の傾向が一致するほど、先端アタッチメント２５の種類判別の精度が高くなる。また、基準画像が多いほど（学習量が多いほど）、先端アタッチメント２５の種類判別の精度が高くなる。そして、第２コントローラ６２は、判別結果を第１コントローラ６１に出力する。
【００４４】
ここで、図１に示すカメラ４０が上部旋回体１３に固定されている場合は、カメラ４０が上部旋回体１３に固定されていない場合に比べ、先端アタッチメント２５に対するカメラ４０の撮影角度が限定される。よって、カメラ４０を上部旋回体１３に固定した場合は、先端アタッチメント２５の種類の判別に必要な基準画像を減らすことができる（基準画像の収集が容易になる）。
【００４５】
ステップＳ５０では、図３に示すように、コントローラ６０が、モニタ５０に、判別結果を出力する。なお、判別結果は、作業機械１０の制御（作動の制御など）に用いられてもよい。
【００４６】
（距離センサを用いた技術との比較）
図１に示す先端アタッチメント２５の種類の判別が、距離センサにより検出された距離分布（距離画像、深度分布）に基づいて行われる場合について検討する。この場合、距離センサは、単眼カメラよりもコストが高いという問題がある。また、距離センサは、単眼カメラよりも、埃による影響が大きいという問題がある。一方、本実施形態では、カメラ４０として単眼カメラを使える。カメラ４０が単眼カメラの場合は、これらの問題をなくすことができる。
【００４７】
また、ＴＯＦ（Time Of Flight）センサなどの距離センサは、単眼カメラよりも検知範囲が限られる（画角が狭い）。そこで、例えば先端アタッチメント２５を地面に接触させた姿勢など、作業装置２０を特定の限られた姿勢にした状態で、距離センサを用いて先端アタッチメント２５周辺の距離分布を計測することが考えられる。しかし、この場合、先端アタッチメント２５の種類を判別する際、作業装置２０を特定の姿勢にする必要があるので、手間がかかる。一方、本実施形態では、先端アタッチメント２５の種類を判別する際、作業装置２０の姿勢を、ほぼ任意の姿勢にできる。よって、本実施形態では、先端アタッチメント２５の種類の判別時の、作業装置２０の姿勢の自由度が高い。さらに詳しくは、本実施形態では、先端アタッチメント２５の種類の判別を行わない状態（図３のＳ３１でＮＯ、Ｓ３３でＮＯの場合）を除いて、任意の作業装置２０の姿勢で、先端アタッチメント２５の種類の判別を行える。なお、先端アタッチメント２５の種類の判別を行わない条件は、様々に設定可能である。
【００４８】
（効果）
図１に示す先端アタッチメント判別装置１による効果は次の通りである。
【００４９】
（第１の発明の効果）
先端アタッチメント判別装置１は、作業装置２０と、カメラ４０と、作業装置姿勢センサ３０と、コントローラ６０と、を備える。作業装置２０は、作業機械１０の上部旋回体１３に取り付けられる。作業装置２０は、複数種類に交換可能な先端アタッチメント２５を先端部（作業装置２０の先端部）に有する。カメラ４０は、上部旋回体１３に取り付けられ、先端アタッチメント２５の可動範囲内の画像を撮影可能である。作業装置姿勢センサ３０は、作業装置２０の姿勢を検出する。
【００５０】
［構成１−１］コントローラ６０は、作業装置姿勢センサ３０に検出された作業装置２０の姿勢に基づいて、カメラ４０に撮影された画像内の先端アタッチメント２５を含む範囲の枠である検出枠Ｆ（図４参照）を設定する（以下、検出枠Ｆについては図４参照）。
【００５１】
［構成１−２］コントローラ６０は、検出枠Ｆ内の先端アタッチメント２５の画像に基づいて、先端アタッチメント２５の種類を判別する。
【００５２】
上記［構成１−２］では、コントローラ６０は、先端アタッチメント２５の種類の判別を、画像に基づいて行う。よって、コントローラ６０は、距離分布を用いなくても、先端アタッチメント２５の種類の判別を行える。その結果、カメラ４０が距離分布を取得する必要がある場合に比べ、カメラ４０にかかるコストを低減できる。
【００５３】
一方、先端アタッチメント２５の種類の判別が、画像に基づいて行われる場合は、距離分布を用いて行われる場合に比べ、距離の情報の分、判別のための情報が少ないと言える。そのため、判別のための情報が少なくても、先端アタッチメント２５の種類の判別の精度を確保することが重要になる。ここで、作業装置２０の姿勢によって、カメラ画像Ｉｍにおける先端アタッチメント２５の映り方（例えば位置、大きさ、形状など）が変わる。
【００５４】
そこで、上記［構成１−１］では、コントローラ６０は、先端アタッチメント２５を含む検出枠Ｆを、作業装置２０の姿勢に基づいて設定する。よって、コントローラ６０は、先端アタッチメント２５の種類の判別に適した検出枠Ｆを設定できる。例えば、コントローラ６０は、先端アタッチメント２５の全体が含まれ、かつ、先端アタッチメント２５の周囲の背景部分ができるだけ少なくなるように、検出枠Ｆを設定できる。よって、作業装置２０の姿勢に基づいた検出枠Ｆの設定を行わない場合に比べ、先端アタッチメント２５の種類の判別の精度を向上させることができる。したがって、先端アタッチメント判別装置１は、距離分布を用いなくても、精度よく、先端アタッチメント２５の種類の判別を行える。
【００５５】
（第２の発明の効果）
［構成２］カメラ４０は、上部旋回体１３に固定される。
【００５６】
上記［構成２］により、カメラ４０が上部旋回体１３に固定されない場合に比べ、先端アタッチメント２５に対するカメラ４０の撮影角度が限定される。よって、先端アタッチメント２５の種類の判別に必要な情報量を減らすことができる。
【００５７】
（第３の発明の効果）
［構成３］コントローラ６０は、作業装置姿勢センサ３０に検出された作業装置２０の姿勢の変化に応じて、検出枠Ｆの設定を逐次変える。
【００５８】
上記［構成３］により、検出枠Ｆが設定された後、作業装置２０の姿勢が変化しても、コントローラ６０は、先端アタッチメント２５の種類の判別を行える。
【００５９】
（第４の発明の効果）
［構成４］コントローラ６０は、作業機械１０の構造の情報に基づいて検出枠Ｆを設定する。
【００６０】
上記［構成１−１］および［構成４］では、コントローラ６０は、作業装置姿勢センサ３０に検出された作業装置２０の姿勢、および、作業機械１０の構造の情報に基づいて、検出枠Ｆを設定する。よって、コントローラ６０は、作業装置２０の姿勢のみに基づいて検出枠Ｆが設定される場合に比べ、先端アタッチメント２５の種類の判別により適した検出枠Ｆを設定できる。
【００６１】
（第５の発明の効果）
［構成５］カメラ４０は、ズーム機能を備える。コントローラ６０は、作業装置姿勢センサ３０に検出された作業装置２０の姿勢に基づいて、先端アタッチメント２５からカメラ４０までの距離が遠くなるような姿勢であるほど、カメラ４０のズーム位置を望遠側にする。
【００６２】
上記［構成５］により、先端アタッチメント２５からカメラ４０までの距離が遠くなっても、カメラ４０のズーム位置を望遠側にすることで、検出枠Ｆ内の先端アタッチメント２５の画像の解像度を上げることができる。よって、先端アタッチメント２５の種類の判別の精度を向上させることができる。
【００６３】
（第６の発明の効果）
図６に示すように、コントローラ６０には、作業装置２０の姿勢の条件であって、作業機械１０の接地面Ａに対して作業機械１０が配置される側（Ｚ１側）とは反対側（Ｚ２側）に先端アタッチメント２５が配置され得る条件である所定姿勢条件が予め設定される。
【００６４】
［構成６−１］コントローラ６０は、作業装置姿勢センサ３０に検出された作業装置２０の姿勢が、所定姿勢条件を満たさない場合（図３のステップＳ３１でＮＯの場合）、図６に示す先端アタッチメント２５の種類の判別を行う場合がある。
【００６５】
［構成６−２］コントローラ６０は、作業装置姿勢センサ３０に検出された作業装置２０の姿勢が、所定姿勢条件を満たす場合（図３のステップＳ３１でＹＥＳの場合）、図６に示す先端アタッチメント２５の種類の判別を行わない。
【００６６】
接地面Ａに対してＺ２側に先端アタッチメント２５が配置され得る場合、先端アタッチメント２５の少なくとも一部が、カメラ４０の死角に入る場合がある。すると、先端アタッチメント２５の種類の判別ができない、または、判別の精度を確保できない場合がある。そこで、先端アタッチメント判別装置１は、上記［構成６−２］を備える。よって、コントローラ６０が先端アタッチメント２５の種類を誤判別することを抑制でき、また、コントローラ６０の無駄な処理をなくすことができる。また、上記［構成６−２］により、先端アタッチメント２５の種類の判別の精度を確保した状態で（判別しやすい状態で）、先端アタッチメント２５の種類の判別を行いやすい。その結果、先端アタッチメント２５の種類の判別の精度を向上させることができる。
【００６７】
（第７の発明の効果）
コントローラ６０は、作業装置姿勢センサ３０に検出された作業装置２０の姿勢に基づいて、先端アタッチメント２５からカメラ４０までの距離に対応する対応距離Ｌを取得する。
【００６８】
［構成７−１］コントローラ６０は、対応距離Ｌが、予め定められた第１所定距離（所定距離）以下の場合（図３のステップＳ３３でＹＥＳの場合）、図１に示す先端アタッチメント２５の種類の判別を行う場合がある。
【００６９】
［構成７−２］コントローラ６０は、対応距離Ｌが、第１所定距離よりも大きい場合（図３のステップＳ３３でＮＯの場合）、図１に示す先端アタッチメント２５の種類の判別を行わない。
【００７０】
対応距離Ｌが大きく（遠く）なるほど、カメラ画像Ｉｍ（図４参照）において先端アタッチメント２５が小さく映り、先端アタッチメント２５の種類の判別の精度の確保が難しくなる場合がある。そこで、先端アタッチメント判別装置１は、上記［構成７−２］を備える。よって、コントローラ６０が先端アタッチメント２５の種類を誤判別することを抑制でき、また、コントローラ６０の無駄な処理をなくすことができる。また、上記［構成７−１］により、先端アタッチメント２５の種類の判別の精度を確保した状態で（判別しやすい状態で）、先端アタッチメント２５の種類の判別いやすい。その結果、先端アタッチメント２５の種類の判別の精度を向上させることができる。
【００７１】
（変形例）
上記実施形態は様々に変形されてもよい。例えば、図２に示すブロック図の各ブロックどうしの接続は変更されてもよい。例えば、図３に示すフローチャートのステップの順序は変更されてもよい。例えば、図１および図２に示す先端アタッチメント判別装置１の構成要素の数が変更されてもよく、構成要素の一部が設けられなくてもよい。
【００７２】
先端アタッチメント判別装置１の構成要素の一部が、作業機械１０の外部に設けられてもよい。例えば、図２に示す第２コントローラ６２は、作業機械１０の外部に設けられてもよい。例えば、モニタ５０は設けられなくてもよい。
【符号の説明】
【００７３】
１  先端アタッチメント判別装置
１０  作業機械
１３  上部旋回体
２０  作業装置
２５  先端アタッチメント
３０  作業装置姿勢センサ
４０  カメラ
６０  コントローラ
Ａ  接地面
Ｆ  検出枠
Ｌ  距離（対応する距離）
【図１】
2019125314.tif 000003
【図２】
2019125314.tif 000004
【図３】
2019125314.tif 000005
【図４】
2019125314.tif 000006
【図５】
2019125314.tif 000007
【図６】
2019125314.tif 000008