以下、図面を参照して発明を実施するための形態について説明する。
[ショベルの概要]
最初に、図1を参照して、本発明の一実施形態に係るショベル100の概要について説明する。図1は、ショベル100の側面図である。図1では、ショベル100は、施工対象の上り傾斜面ESに隣接する水平面に位置すると共に、後述する目標施工面の一例である上り法面BS(つまり、上り傾斜面ESに対する施工後の法面形状)が併せて記載されている。尚、施工対象の上り傾斜面ESには、目標施工面である上り法面BSの法線方向を示す丁張り(図示せず)が設けられている。
ショベル100は、下部走行体1と、旋回機構2を介して旋回自在に下部走行体1に搭載される上部旋回体3と、アタッチメント(作業機)の一例である掘削アタッチメントを構成するブーム4、アーム5、及びバケット6と、キャビン10とを備える。
下部走行体1は、左右一対のクローラが走行油圧モータ1L,1R(図2参照)でそれぞれ油圧駆動されることにより、ショベル100を走行させる。つまり、一対の走行油圧モータ1L,1R(走行モータの一例)は、被駆動部としての下部走行体1(クローラ)を駆動する。
上部旋回体3は、旋回油圧モータ2A(図2参照)で駆動されることにより、下部走行体1に対して旋回する。つまり、旋回油圧モータ2Aは、被駆動部としての上部旋回体3を駆動する旋回駆動部であり、上部旋回体3の向きを変化させることができる。
尚、上部旋回体3は、旋回油圧モータ2Aの代わりに、電動機(以下、「旋回用電動機」)により電気駆動されてもよい。つまり、旋回用電動機は、旋回油圧モータ2Aと同様、非駆動部としての上部旋回体3を駆動する旋回駆動部であり、上部旋回体3の向きを変化させることができる。
ブーム4は、上部旋回体3の前部中央に俯仰可能に枢着され、ブーム4の先端には、アーム5が上下回動可能に枢着され、アーム5の先端には、エンドアタッチメントとしてのバケット6が上下回動可能に枢着される。ブーム4、アーム5、及びバケット6は、それぞれ、油圧アクチュエータとしてのブームシリンダ7、アームシリンダ8、及びバケットシリンダ9によりそれぞれ油圧駆動される。
尚、バケット6は、エンドアタッチメントの一例であり、アーム5の先端には、作業内容等に応じて、バケット6の代わりに、他のエンドアタッチメント、例えば、法面用バケット、浚渫用バケット、ブレーカ等が取り付けられてもよい。
キャビン10は、オペレータが搭乗する運転室であり、上部旋回体3の前部左側に搭載される。
[ショベルの構成]
次に、図1に加えて、図2を参照して、ショベル100の具体的な構成について説明する。図2は、ショベル100の構成の一例を概略的に示す図である。図2において、機械的動力系、作動油ライン、パイロットライン、及び電気制御系は、それぞれ、二重線、実線、破線、及び点線で示されている。
ショベル100の駆動系は、エンジン11と、レギュレータ13と、メインポンプ14と、コントロールバルブ17を含む。また、ショベル100の油圧駆動系は、上述の如く、下部走行体1、上部旋回体3、ブーム4、アーム5、及びバケット6のそれぞれを油圧駆動する走行油圧モータ1L,1R、旋回油圧モータ2A、ブームシリンダ7、アームシリンダ8、及びバケットシリンダ9等の油圧アクチュエータを含む。
エンジン11は、油圧駆動系におけるメイン動力源であり、例えば、上部旋回体3の後部に搭載される。具体的には、エンジン11は、後述するコントローラ30による直接或いは間接的な制御下で、予め設定される目標回転数で一定回転し、メインポンプ14及びパイロットポンプ15を駆動する。エンジン11は、例えば、軽油を燃料とするディーゼルエンジンである。
レギュレータ13は、メインポンプ14の吐出量を制御する。例えば、レギュレータ13は、コントローラ30からの制御指令に応じて、メインポンプ14の斜板の角度(傾転角)を調節する。レギュレータ13は、例えば、後述の如く、レギュレータ13L,13Rを含む。
メインポンプ14は、例えば、エンジン11と同様、上部旋回体3の後部に搭載され、高圧油圧ラインを通じてコントロールバルブ17に作動油を供給する。メインポンプ14は、上述の如く、エンジン11により駆動される。メインポンプ14は、例えば、可変容量式油圧ポンプであり、上述の如く、コントローラ30による制御下で、レギュレータ13により斜板の傾転角が調節されることでピストンのストローク長が調整され、吐出流量(吐出圧)が制御される。メインポンプ14は、例えば、後述の如く、メインポンプ14L,14Rを含む。
コントロールバルブ17は、例えば、上部旋回体3の中央部に搭載され、オペレータによる操作装置26に対する操作に応じて、油圧駆動系の制御を行う油圧制御装置である。コントロールバルブ17は、上述の如く、高圧油圧ラインを介してメインポンプ14と接続され、メインポンプ14から供給される作動油を、操作装置26の操作状態に応じて、油圧アクチュエータ(走行油圧モータ1L,1R、旋回油圧モータ2A、ブームシリンダ7、アームシリンダ8、及びバケットシリンダ9)に選択的に供給する。具体的には、コントロールバルブ17は、メインポンプ14から油圧アクチュエータのそれぞれに供給される作動油の流量と流れる方向を制御する制御弁171〜176を含む。より具体的には、制御弁171は、走行油圧モータ1Lに対応し、制御弁172は、走行油圧モータ1Rに対応し、制御弁173は、旋回油圧モータ2Aに対応する。また、制御弁174は、バケットシリンダ9に対応し、制御弁175は、ブームシリンダ7に対応し、制御弁176は、アームシリンダ8に対応する。また、制御弁175は、例えば、後述の如く、制御弁175L,175Rを含み、制御弁176は、例えば、後述の如く、制御弁176L,176Rを含む。制御弁171〜176の詳細は、後述する。
ショベル100の操作系は、パイロットポンプ15と、操作装置26を含む。また、ショベル100の操作系は、後述するコントローラ30によるマシンコントロール機能に関する構成として、シャトル弁32を含む。
パイロットポンプ15は、例えば、上部旋回体3の後部に搭載され、パイロットラインを介して操作装置26にパイロット圧を供給する。パイロットポンプ15は、例えば、固定容量式油圧ポンプであり、上述の如く、エンジン11により駆動される。
操作装置26は、キャビン10の操縦席付近に設けられ、オペレータが各種動作要素(下部走行体1、上部旋回体3、ブーム4、アーム5、又はバケット6等)の操作を行うための操作入力手段である。換言すれば、操作装置26は、オペレータがそれぞれの動作要素を駆動する油圧アクチュエータ(即ち、走行油圧モータ1L,1R、旋回油圧モータ2A、ブームシリンダ7、アームシリンダ8、バケットシリンダ9等)の操作を行うための操作入力手段である。操作装置26は、その二次側のパイロットラインを通じて直接的に、或いは、二次側のパイロットラインに設けられる後述のシャトル弁32を介して間接的に、コントロールバルブ17にそれぞれ接続される。これにより、コントロールバルブ17には、操作装置26における下部走行体1、上部旋回体3、ブーム4、アーム5、及びバケット6等の操作状態に応じたパイロット圧が入力されうる。そのため、コントロールバルブ17は、操作装置26における操作状態に応じて、それぞれの油圧アクチュエータを駆動することができる。操作装置26は、例えば、アーム5(アームシリンダ8)を操作するレバー装置を含む。また、操作装置26は、例えば、ブーム4(ブームシリンダ7)、バケット6(バケットシリンダ9)、上部旋回体3(旋回油圧モータ2A)のそれぞれを操作するレバー装置26A〜26Cを含む(図4参照)。また、操作装置26は、例えば、下部走行体1の左右一対のクローラ(走行油圧モータ1L,1R)のそれぞれを操作するレバー装置やペダル装置を含む。
シャトル弁32は、2つの入口ポートと1つの出口ポートを有し、2つの入口ポートに入力されたパイロット圧のうちの高い方のパイロット圧を有する作動油を出口ポートに出力させる。シャトル弁32は、2つの入口ポートのうちの一方が操作装置26に接続され、他方が比例弁31に接続される。シャトル弁32の出口ポートは、パイロットラインを通じて、コントロールバルブ17内の対応する制御弁のパイロットポートに接続されている(詳細は、図4参照)。そのため、シャトル弁32は、操作装置26が生成するパイロット圧と比例弁31が生成するパイロット圧のうちの高い方を、対応する制御弁のパイロットポートに作用させることができる。つまり、後述するコントローラ30は、操作装置26から出力される二次側のパイロット圧よりも高いパイロット圧を比例弁31から出力させることにより、オペレータによる操作装置26の操作に依らず、対応する制御弁を制御し、各種動作要素の動作を制御することができる。シャトル弁32は、例えば、後述の如く、シャトル弁32AL,32AR,32BL,32BR,32CL,32CRを含む。
尚、操作装置26(左操作レバー、右操作レバー、左走行レバー、及び右走行レバー)は、パイロット圧を出力する油圧パイロット式ではなく、電気信号を出力する電気式であってもよい。この場合、操作装置26からの電気信号は、コントローラ30に入力され、コントローラ30は、入力される電気信号に応じて、コントロールバルブ17内の各制御弁171〜176を制御することにより、操作装置26に対する操作内容に応じた、各種油圧アクチュエータの動作を実現する。例えば、コントロールバルブ17内の制御弁171〜176は、コントローラ30からの指令により駆動する電磁ソレノイド式スプール弁であってよい。また、例えば、パイロットポンプ15と各制御弁171〜176のパイロットポートとの間には、コントローラ30からの電気信号に応じて動作する電磁弁が配置されてもよい。この場合、電気式の操作装置26を用いた手動操作が行われると、コントローラ30は、その操作量(例えば、レバー操作量)に対応する電気信号によって、当該電磁弁を制御しパイロット圧を増減させることで、操作装置26に対する操作内容に合わせて、各制御弁171〜176を動作させることができる。
ショベル100の制御系は、コントローラ30と、吐出圧センサ28と、操作圧センサ29と、比例弁31と、表示装置40と、入力装置42と、音声出力装置43と、記憶装置47と、ブーム角度センサS1と、アーム角度センサS2と、バケット角度センサS3と、機体傾斜センサS4と、旋回状態センサS5と、撮像装置S6と、形状推定装置S10と、測位装置PSと、通信装置T1を含む。
コントローラ30(制御装置の一例)は、例えば、キャビン10内に設けられ、ショベル100の駆動制御を行う。コントローラ30は、その機能が任意のハードウェア、ソフトウェア、或いは、その組み合わせにより実現されてよい。例えば、コントローラ30は、CPU(Central Processing Unit)と、ROM(Read Only Memory)と、RAM(Random Access Memory)と、不揮発性の補助記憶装置と、各種入出力インターフェース等を含むマイクロコンピュータを中心に構成される。コントローラ30は、例えば、ROMや不揮発性の補助記憶装置に格納される各種プログラムをCPU上で実行することにより各種機能を実現する。
例えば、コントローラ30は、オペレータ等の所定操作により予め設定される作業モード等に基づき、目標回転数を設定し、エンジン11を一定回転させる駆動制御を行う。
また、例えば、コントローラ30は、必要に応じてレギュレータ13に対して制御指令を出力し、メインポンプ14の吐出量を変化させる。
また、例えば、コントローラ30は、例えば、オペレータによる操作装置26を通じたショベル100の手動操作をガイド(案内)するマシンガイダンス機能に関する制御を行う。また、コントローラ30は、例えば、オペレータによる操作装置26を通じたショベル100の手動操作を自動的に支援するマシンコントロール機能に関する制御を行う。つまり、コントローラ30は、マシンガイダンス機能及びマシンコントロール機能に関する機能部として、マシンガイダンス部50を含む。また、コントローラ30は、後述する形状推定部60を含む。
尚、コントローラ30の機能の一部は、他のコントローラ(制御装置)により実現されてもよい。即ち、コントローラ30の機能は、複数のコントローラにより分散される態様で実現されてもよい。例えば、マシンガイダンス機能及びマシンコントロール機能は、専用のコントローラ(制御装置)により実現されてもよい。
吐出圧センサ28は、メインポンプ14の吐出圧を検出する。吐出圧センサ28により検出された吐出圧に対応する検出信号は、コントローラ30に取り込まれる。吐出圧センサ28は、例えば、後述の如く、吐出圧センサ28L,28Rを含む。
操作圧センサ29は、上述の如く、操作装置26の二次側のパイロット圧、即ち、操作装置26におけるそれぞれの動作要素(即ち、油圧アクチュエータ)に関する操作状態(例えば、操作方向や操作量等の操作内容)に対応するパイロット圧を検出する。操作圧センサ29による操作装置26における下部走行体1、上部旋回体3、ブーム4、アーム5、及びバケット6等の操作状態に対応するパイロット圧の検出信号は、コントローラ30に取り込まれる。操作圧センサ29は、例えば、後述の如く、操作圧センサ29A〜29Cを含む。
尚、操作圧センサ29の代わりに、操作装置26におけるそれぞれの動作要素に関する操作状態を検出可能な他のセンサ、例えば、レバー装置26A〜26C等の操作量(傾倒量)や傾倒方向を検出可能なエンコーダやポテンショメータ等が設けられてもよい。
比例弁31は、パイロットポンプ15とシャトル弁32とを接続するパイロットラインに設けられ、その流路面積(作動油が通流可能な断面積)を変更できるように構成される。比例弁31は、コントローラ30から入力される制御指令に応じて動作する。これにより、コントローラ30は、オペレータにより操作装置26(具体的には、レバー装置26A〜26C)が操作されていない場合であっても、パイロットポンプ15から吐出される作動油を、比例弁31及びシャトル弁32を介し、コントロールバルブ17内の対応する制御弁のパイロットポートに供給できる。比例弁31は、例えば、後述の如く、比例弁31AL,31AR,31BL,31BR,31CL,31CRを含む。
表示装置40は、キャビン10内の着座したオペレータから視認し易い場所に設けられ、コントローラ30による制御下で、各種情報画像を表示する。表示装置40は、CAN(Controller Area Network)等の車載通信ネットワークを介してコントローラ30に接続されていてもよいし、一対一の専用線を介してコントローラ30に接続されていてもよい。
入力装置42は、キャビン10内の着座したオペレータから手が届く範囲に設けられ、オペレータによる各種操作入力を受け付け、操作入力に応じた信号をコントローラ30に出力する。入力装置42は、各種情報画像を表示する表示装置のディスプレイに実装されるタッチパネル、レバー装置26A〜26Cのレバー部の先端に設けられるノブスイッチ、表示装置40の周囲に設置されるボタンスイッチ、レバー、トグル、回転ダイヤル等を含む。入力装置42に対する操作内容に対応する信号は、コントローラ30に取り込まれる。
音声出力装置43は、例えば、キャビン10内に設けられ、コントローラ30と接続され、コントローラ30による制御下で、音声を出力する。音声出力装置43は、例えば、スピーカやブザー等である。音声出力装置43は、コントローラ30からの音声出力指令に応じて各種情報を音声出力する。
記憶装置47は、例えば、キャビン10内に設けられ、コントローラ30による制御下で、各種情報を記憶する。記憶装置47は、例えば、半導体メモリ等の不揮発性記憶媒体である。記憶装置47は、ショベル100の動作中に各種機器が出力する情報を記憶してもよく、ショベル100の動作が開始される前に各種機器を介して取得する情報を記憶してもよい。記憶装置47は、例えば、通信装置T1等を介して取得される、或いは、入力装置42等を通じて設定される目標施工面に関するデータを記憶していてもよい。当該目標施工面は、ショベル100のオペレータにより設定(保存)されてもよいし、施工管理者等により設定されてもよい。
ブーム角度センサS1は、ブーム4に取り付けられ、ブーム4の上部旋回体3に対する俯仰角度(以下、「ブーム角度」)、例えば、側面視において、上部旋回体3の旋回平面に対してブーム4の両端の支点を結ぶ直線が成す角度を検出する。ブーム角度センサS1は、例えば、ロータリエンコーダ、加速度センサ、6軸センサ、IMU(Inertial Measurement Unit:慣性計測装置)等を含んでよい。また、ブーム角度センサS1は、可変抵抗器を利用したポテンショメータ、ブーム角度に対応する油圧シリンダ(ブームシリンダ7)のストローク量を検出するシリンダセンサ等を含んでもよい。以下、アーム角度センサS2、バケット角度センサS3についても同様である。ブーム角度センサS1によるブーム角度に対応する検出信号は、コントローラ30に取り込まれる。
アーム角度センサS2は、アーム5に取り付けられ、アーム5のブーム4に対する回動角度(以下、「アーム角度」)、例えば、側面視において、ブーム4の両端の支点を結ぶ直線に対してアーム5の両端の支点を結ぶ直線が成す角度を検出する。アーム角度センサS2によるアーム角度に対応する検出信号は、コントローラ30に取り込まれる。
バケット角度センサS3は、バケット6に取り付けられ、バケット6のアーム5に対する回動角度(以下、「バケット角度」)、例えば、側面視において、アーム5の両端の支点を結ぶ直線に対してバケット6の支点と先端(刃先)とを結ぶ直線が成す角度を検出する。バケット角度センサS3によるバケット角度に対応する検出信号は、コントローラ30に取り込まれる。
機体傾斜センサS4は、水平面に対する機体(上部旋回体3或いは下部走行体1)の傾斜状態を検出する。機体傾斜センサS4は、例えば、上部旋回体3に取り付けられ、ショベル100(即ち、上部旋回体3)の前後方向及び左右方向の2軸回りの傾斜角度(以下、「前後傾斜角」及び「左右傾斜角」)を検出する。機体傾斜センサS4は、例えば、ロータリエンコーダ、加速度センサ、6軸センサ、IMU等を含んでよい。機体傾斜センサS4による傾斜角度(前後傾斜角及び左右傾斜角)に対応する検出信号は、コントローラ30に取り込まれる。
旋回状態センサS5は、上部旋回体3の旋回状態に関する検出情報を出力する。旋回状態センサS5は、例えば、上部旋回体3の旋回角速度及び旋回角度を検出する。旋回状態センサS5は、例えば、ジャイロセンサ、レゾルバ、ロータリエンコーダ等を含んでよい。旋回状態センサS5による上部旋回体3の旋回角度や旋回角速度に対応する検出信号は、コントローラ30に取り込まれる。
第1空間認識装置としての撮像装置S6は、ショベル100の周辺を撮像する。撮像装置S6は、例えば、CCDやCMOS等の撮像素子を有する単眼カメラであり、撮像した画像を表示装置40に出力する。本実施形態では、撮像装置S6は、ショベル100の前方を撮像するカメラS6F、ショベル100の左方を撮像するカメラS6L、ショベル100の右方を撮像するカメラS6R、及び、ショベル100の後方を撮像するカメラS6Bを含む。撮像装置S6は、アタッチメントに取り付けられたアタッチメントカメラを含んでいてもよい。
カメラS6Fは、例えば、キャビン10の天井、即ち、キャビン10の内部に取り付けられている。また、カメラS6Fは、キャビン10の屋根、ブーム4の側面等、キャビン10の外部に取り付けられていてもよい。カメラS6Lは、上部旋回体3の上面左端に取り付けられ、カメラS6Rは、上部旋回体3の上面右端に取り付けられ、カメラS6Bは、上部旋回体3の上面後端に取り付けられている。
撮像装置S6(カメラS6F,S6B,S6L,S6R)は、それぞれ、例えば、広い画角を有する単眼の広角カメラである。また、撮像装置S6は、ステレオカメラや距離画像カメラ等であってもよい。撮像装置S6による撮像画像は、表示装置40を介してコントローラ30に取り込まれる。尚、撮像装置S6は、直接、コントローラ30と通信可能に接続されてもよい。
第1空間認識装置としての撮像装置S6は、物体検知装置として機能してもよい。この場合、撮像装置S6は、ショベル100の周囲に存在する物体を検知してよい。検知対象の物体には、例えば、人、動物、車両、建設機械、建造物、穴等が含まれうる。また、撮像装置S6は、撮像装置S6又はショベル100から認識された物体までの距離を算出し、種類を判別してもよい。そのため、物体検知装置としての撮像装置S6には、例えば、ステレオカメラ、距離画像センサ等が含まれうる。
第1空間認識装置は、第1空間認識装置又はショベル100から認識された物体までの距離を算出するように構成されていてもよい。また、撮像装置S6に加えて、第1空間認識装置として、例えば、RGB−Dセンサ、超音波センサ、ミリ波レーダ、LIDAR、又は赤外線センサ等の他の物体検知装置が設けられてもよい。第1空間認識装置としてRGB−Dセンサ、LIDAR、ミリ波レーダ、超音波センサ、又はレーザレーダ等を利用する場合には、多数の信号(レーザ光等)を物体に向けて発信し、その反射信号を受信することで、反射信号から物体の距離及び方向を検出してもよい。これらの物体検知装置が設けられる場合、撮像装置S6は省略されてもよい。
第2空間認識装置としての形状推定装置S10は、バケット6内に取り込まれている物の形状を推定できるように構成される。形状推定装置S10は、例えば、1又は複数台のLIDARで構成され、取得した情報をコントローラ30に向けて送信できるように構成される。但し、形状推定装置S10は、RGB−Dセンサ、ステレオカメラ、距離画像センサ、又は3次元レーザスキャナ等で構成されていてもよい。第2空間認識装置としてRGB−Dセンサ、LIDAR、ミリ波レーダ、超音波センサ、又はレーザレーダ等を利用する場合には、多数の信号(レーザ光等)を物体に向けて発信し、その反射信号を受信することで、反射信号から物体の距離及び方向を検出してもよい。本実施形態では、形状推定装置S10は、アーム5の腹面に取り付けられた1台のLIDARで構成されている。但し、形状推定装置S10は、アーム5の背面若しくは側面等、又は、ブーム4の腹面、側面、若しくは背面等、掘削アタッチメントATの他の部分に取り付けられていてもよい。
ブームシリンダ7にはブームロッド圧センサS7R及びブームボトム圧センサS7Bが取り付けられている。アームシリンダ8にはアームロッド圧センサS8R及びアームボトム圧センサS8Bが取り付けられている。バケットシリンダ9にはバケットロッド圧センサS9R及びバケットボトム圧センサS9Bが取り付けられている。ブームロッド圧センサS7R、ブームボトム圧センサS7B、アームロッド圧センサS8R、アームボトム圧センサS8B、バケットロッド圧センサS9R及びバケットボトム圧センサS9Bは、集合的に「シリンダ圧センサ」とも称される。
ブームロッド圧センサS7Rはブームシリンダ7のロッド側油室の圧力(以下、「ブームロッド圧」とする。)を検出し、ブームボトム圧センサS7Bはブームシリンダ7のボトム側油室の圧力(以下、「ブームボトム圧」とする。)を検出する。アームロッド圧センサS8Rはアームシリンダ8のロッド側油室の圧力(以下、「アームロッド圧」とする。)を検出し、アームボトム圧センサS8Bはアームシリンダ8のボトム側油室の圧力(以下、「アームボトム圧」とする。)を検出する。バケットロッド圧センサS9Rはバケットシリンダ9のロッド側油室の圧力(以下、「バケットロッド圧」とする。)を検出し、バケットボトム圧センサS9Bはバケットシリンダ9のボトム側油室の圧力(以下、「バケットボトム圧」とする。)を検出する。
測位装置PSは、上部旋回体3の位置及び向きを測定する。測位装置PSは、例えば、GNSS(Global Navigation Satellite System)コンパスであり、上部旋回体3の位置及び向きを検出し、上部旋回体3の位置及び向きに対応する検出信号は、コントローラ30に取り込まれる。また、測位装置PSの機能のうちの上部旋回体3の向きを検出する機能は、上部旋回体3に取り付けられた方位センサにより代替されてもよい。
通信装置T1は、基地局を末端とする移動体通信網、衛星通信網、インターネット網等を含む所定のネットワークを通じて外部機器と通信を行う。通信装置T1は、例えば、LTE(Long Term Evolution)、4G(4th Generation)、5G(5th Generation)等の移動体通信規格に対応する移動体通信モジュールや、衛星通信網に接続するための衛星通信モジュール等である。
マシンガイダンス部50は、例えば、マシンガイダンス機能に関するショベル100の制御を実行する。マシンガイダンス部50は、例えば、目標施工面とアタッチメントの先端部、具体的には、エンドアタッチメントの作業部位との距離等の作業情報を、表示装置40や音声出力装置43等を通じて、オペレータに伝える。目標施工面に関するデータは、例えば、上述の如く、記憶装置47に予め記憶されている。目標施工面に関するデータは、例えば、基準座標系で表現されている。基準座標系は、例えば、世界測地系である。世界測地系は、地球の重心に原点をおき、X軸をグリニッジ子午線と赤道との交点の方向に、Y軸を東経90度の方向に、そして、Z軸を北極の方向にとる三次元直交XYZ座標系である。オペレータは、施工現場の任意の点を基準点と定め、入力装置42を通じて、基準点との相対的な位置関係により目標施工面を設定してよい。バケット6の作業部位は、例えば、バケット6の爪先、バケット6の背面等である。また、エンドアタッチメントとして、バケット6の代わりに、例えば、ブレーカが採用される場合、ブレーカの先端部が作業部位に相当する。マシンガイダンス部50は、表示装置40、音声出力装置43等を通じて、作業情報をオペレータに通知し、オペレータによる操作装置26を通じたショベル100の操作をガイドする。
また、マシンガイダンス部50は、例えば、マシンコントロール機能に関するショベル100の制御を実行する。マシンガイダンス部50は、例えば、オペレータが手動で掘削操作を行っているときに、目標施工面とバケット6の先端位置とが一致するように、ブーム4、アーム5、及び、バケット6の少なくとも一つを自動的に動作させてもよい。
マシンガイダンス部50は、ブーム角度センサS1、アーム角度センサS2、バケット角度センサS3、機体傾斜センサS4、旋回状態センサS5、撮像装置S6、測位装置PS、通信装置T1及び入力装置42等から情報を取得する。そして、マシンガイダンス部50は、例えば、取得した情報に基づき、バケット6と目標施工面との間の距離を算出し、音声出力装置43からの音声及び表示装置40に表示される画像により、バケット6と目標施工面との間の距離の程度をオペレータに通知したり、アタッチメントの先端部(具体的には、バケット6の爪先や背面等の作業部位)が目標施工面に一致するように、アタッチメントの動作を自動的に制御したりする。マシンガイダンス部50は、当該マシンガイダンス機能及びマシンコントロール機能に関する詳細な機能構成として、位置算出部51と、距離算出部52と、情報伝達部53と、自動制御部54と、旋回角度算出部55と、相対角度算出部56と、を含む。
位置算出部51は、所定の測位対象の位置を算出する。例えば、位置算出部51は、アタッチメントの先端部、具体的には、バケット6の爪先や背面等の作業部位の基準座標系における座標点を算出する。具体的には、位置算出部51は、ブーム4、アーム5、及びバケット6のそれぞれの俯仰角度(ブーム角度、アーム角度、及びバケット角度)からバケット6の作業部位の座標点を算出する。
距離算出部52は、2つの測位対象間の距離を算出する。例えば、距離算出部52は、アタッチメントの先端部、具体的には、バケット6爪先や背面等の作業部位と目標施工面との間の距離を算出する。また、距離算出部52は、バケット6の作業部位としての背面と目標施工面との間の角度(相対角度)を算出してもよい。
情報伝達部53は、表示装置40や音声出力装置43等の所定の通知手段を通じて、各種情報をショベル100のオペレータに伝達(通知)する。情報伝達部53は、距離算出部52により算出された各種距離等の大きさ(程度)をショベル100のオペレータに通知する。例えば、表示装置40による視覚情報及び音声出力装置43による聴覚情報の少なくとも一方を用いて、バケット6の先端部と目標施工面との間の距離(の大きさ)をオペレータに伝える。また、情報伝達部53は、表示装置40による視覚情報及び音声出力装置43による聴覚情報の少なくとも一方を用いて、バケット6の作業部位としての背面と目標施工面との間の相対角度(の大きさ)をオペレータに伝えてもよい。
具体的には、情報伝達部53は、音声出力装置43による断続音を用いて、バケット6の作業部位と目標施工面との間の距離(例えば、鉛直距離)の大きさをオペレータに伝える。この場合、情報伝達部53は、鉛直距離が小さくなるほど、断続音の間隔を短くし、鉛直距離が大きくなるほど、断続音の感覚を長くしてよい。また、情報伝達部53は、連続音を用いてもよく、音の高低、強弱等を変化させながら、鉛直距離の大きさの違いを表すようにしてもよい。また、情報伝達部53は、バケット6の先端部が目標施工面よりも低い位置になった、つまり、目標施工面を超えてしまった場合、音声出力装置43を通じて警報を発してもよい。当該警報は、例えば、断続音より顕著に大きい連続音である。
また、情報伝達部53は、アタッチメントの先端部、具体的には、バケット6の作業部位と目標施工面との間の距離の大きさやバケット6の背面と目標施工面との間の相対角度の大きさ等を作業情報として表示装置40に表示させてもよい。表示装置40は、コントローラ30による制御下で、例えば、撮像装置S6から受信した画像データと共に、情報伝達部53から受信した作業情報を表示する。情報伝達部53は、例えば、アナログメータの画像やバーグラフインジケータの画像等を用いて、鉛直距離の大きさをオペレータに伝えるようにしてもよい。
自動制御部54は、アクチュエータを自動的に動作させることでオペレータによる操作装置26を通じたショベル100の手動操作を自動的に支援する。具体的には、自動制御部54は、後述の如く、複数の油圧アクチュエータ(具体的には、旋回油圧モータ2A、ブームシリンダ7、及びバケットシリンダ9)に対応する制御弁(具体的には、制御弁173、制御弁175L,175R、及び制御弁174)に作用するパイロット圧を個別に且つ自動的に調整することができる。これにより、自動制御部54は、それぞれの油圧アクチュエータを自動的に動作させることができる。自動制御部54によるマシンコントロール機能に関する制御は、例えば、入力装置42に含まれる所定のスイッチが押下された場合に実行されてよい。当該所定のスイッチは、例えば、マシンコントロールスイッチ(以下、「MC(Machine Control)スイッチ」)であり、ノブスイッチとして操作装置26(例えば、アーム5の操作に対応するレバー装置)のオペレータによる把持部の先端に配置されていてもよい。以下、MCスイッチが押下されている場合に、マシンコントロール機能が有効である前提で説明を進める。
例えば、自動制御部54は、MCスイッチ等が押下されている場合、掘削作業や整形作業を支援するために、アームシリンダ8の動作に合わせて、ブームシリンダ7及びバケットシリンダ9の少なくとも一方を自動的に伸縮させる。具体的には、自動制御部54は、オペレータが手動でアーム5の閉じ操作(以下、「アーム閉じ操作」)を行っている場合に、目標施工面とバケット6の爪先や背面等の作業部位の位置とが一致するようにブームシリンダ7及びバケットシリンダ9の少なくとも一方を自動的に伸縮させる。この場合、オペレータは、例えば、アーム5の操作に対応するレバー装置をアーム閉じ操作するだけで、バケット6の爪先等を目標施工面に一致させながら、アーム5を閉じることができる。
また、自動制御部54は、MCスイッチ等が押下されている場合、上部旋回体3を目標施工面に正対させるために旋回油圧モータ2A(アクチュエータの一例)を自動的に回転させてもよい。以下、コントローラ30(自動制御部54)による上部旋回体3を目標施工面に正対させる制御を「正対制御」と称する。これにより、オペレータ等は、所定のスイッチを押下するだけで、或いは、当該スイッチが押下された状態で、旋回操作に対応する後述のレバー装置26Cを操作するだけで、上部旋回体3を目標施工面に正対させることができる。また、オペレータは、MCスイッチを押下するだけで、上部旋回体3を目標施工面に正対させ且つ上述の目標施工面の掘削作業等に関するマシンコントロール機能を開始させることができる。
例えば、ショベル100の上部旋回体3が目標施工面に正対している状態は、アタッチメントの動作に従い、アタッチメントの先端部(例えば、バケット6の作業部位としての爪先や背面等)を目標施工面(上り法面BS)の傾斜方向に沿って移動させることが可能な状態である。具体的には、ショベル100の上部旋回体3が目標施工面に正対している状態は、ショベル100の旋回平面に鉛直なアタッチメントの稼動面(アタッチメント稼動面)が、丁張りに対応する目標施工面の法線を含む状態(換言すれば、当該法線に沿う状態)である。
ショベル100のアタッチメント稼動面が丁張りに対応する目標施工面の法線を含む状態にない場合、アタッチメントの先端部は、目標施工面を傾斜方向に移動させることができない。そのため、結果として、ショベル100は、目標施工面を適切に施工できない。これに対して、自動制御部54は、自動的に旋回油圧モータ2Aを回転させることで、上部旋回体3を正対させることができる。これにより、ショベル100は、目標施工面を適切に施工することができる。
自動制御部54は、正対制御において、例えば、バケット6の爪先の左端の座標点と目標施工面との間の左端鉛直距離(以下、単に「左端鉛直距離」)と、バケット6の爪先の右端の座標点と目標施工面との間の右端鉛直距離(以下、単に「右端鉛直距離」)とが等しくなった場合に、ショベルが目標施工面に正対していると判断する。また、自動制御部54は、左端鉛直距離と右端鉛直距離とが等しくなった場合(即ち、左端鉛直距離と右端鉛直距離との差がゼロになった場合)ではなく、その差が所定値以下になった場合に、ショベル100が目標施工面に正対していると判断してもよい。
また、自動制御部54は、正対制御において、例えば、左端鉛直距離と右端鉛直距離との差に基づき、旋回油圧モータ2Aを動作させてもよい。具体的には、MCスイッチ等の所定のスイッチが押下された状態で旋回操作に対応するレバー装置26Cが操作されると、上部旋回体3を目標施工面に正対させる方向にレバー装置26Cが操作されたか否かを判断する。例えば、バケット6の爪先と目標施工面(上り法面BS)との間の鉛直距離が大きくなる方向にレバー装置26Cが操作された場合、自動制御部54は、正対制御を実行しない。一方で、バケット6の爪先と目標施工面(上り法面BS)との間の鉛直距離が小さくなる方向に旋回操作レバーが操作された場合、自動制御部54は、正対制御を実行する。その結果、自動制御部54は、左端鉛直距離と右端鉛直距離との差が小さくなるように旋回油圧モータ2Aを動作させることができる。その後、自動制御部54は、その差が所定値以下或いはゼロになると、旋回油圧モータ2Aを停止させる。また、自動制御部54は、その差が所定値以下或いはゼロとなる旋回角度を目標角度として設定し、その目標角度と現在の旋回角度(具体的には、旋回状態センサS5の検出信号に基づく検出値)との角度差がゼロになるように、旋回油圧モータ2Aの動作制御を行ってもよい。この場合、旋回角度は、例えば、基準方向に対する上部旋回体3の前後軸の角度である。
尚、上述の如く、旋回油圧モータ2Aの代わりに、旋回用電動機がショベル100に搭載される場合、自動制御部54は、旋回用電動機(アクチュエータの一例)を制御対象として、正対制御を行う。
旋回角度算出部55は、上部旋回体3の旋回角度を算出する。これにより、コントローラ30は、上部旋回体3の現在の向きを特定することができる。旋回角度算出部55は、例えば、測位装置PSに含まれるGNSSコンパスの出力信号に基づき、基準方向に対する上部旋回体3の前後軸の角度を旋回角度として算出する。また、旋回角度算出部55は、旋回状態センサS5の検出信号に基づき、旋回角度を算出してもよい。また、施工現場に基準点が設定されている場合、旋回角度算出部55は、旋回軸から基準点を見た方向を基準方向としてもよい。
旋回角度は、基準方向に対するアタッチメント稼動面が延びる方向を示す。アタッチメント稼動面は、例えば、アタッチメントを縦断する仮想平面であり、旋回平面に垂直となるように配置される。旋回平面は、例えば、旋回軸に垂直な旋回フレームの底面を含む仮想平面である。コントローラ30(マシンガイダンス部50)は、例えば、アタッチメント稼動面が目標施工面の法線を含んでいると判断した場合に、上部旋回体3が目標施工面に正対していると判断する。
相対角度算出部56は、上部旋回体3を目標施工面に正対させるために必要な旋回角度(相対角度)を算出する。相対角度は、例えば、上部旋回体3を目標施工面に正対させたときの上部旋回体3の前後軸の方向と、上部旋回体3の前後軸の現在の方向との間に形成される相対的な角度である。相対角度算出部56は、例えば、記憶装置47に記憶されている目標施工面に関するデータと、旋回角度算出部55により算出された旋回角度とに基づき、相対角度を算出する。
自動制御部54は、MCスイッチ等の所定のスイッチが押下された状態で旋回操作に対応するレバー装置26Cが操作されると、上部旋回体3を目標施工面に正対させる方向に旋回操作されたか否かを判断する。自動制御部54は、上部旋回体3を目標施工面に正対させる方向に旋回操作されたと判断した場合、相対角度算出部56により算出された相対角度を目標角度として設定する。そして、自動制御部54は、レバー装置26Cが操作された後の旋回角度の変化が目標角度に達した場合、上部旋回体3が目標施工面に正対したと判断し、旋回油圧モータ2Aの動きを停止させてよい。これにより、自動制御部54は、図2に示す構成を前提として、上部旋回体3を目標施工面に正対させることができる。上記正対制御の実施例では目標施工面に対する正対制御の事例を示したが、これに限られることはない。例えば、仮置きの土砂をダンプトラックに積み込む際の掬い取り動作においても、目標体積に相当する目標掘削軌道を生成し、目標掘削軌道に対してアタッチメントが向かい合うように旋回動作の正対制御をおこなってもよい。この場合、掬い取り動作の都度、目標掘削軌道は変更される。このため、ダンプトラックへの排土後は、新たに変更された目標掘削軌道に対して正対制御される。
また、旋回油圧モータ2Aは、第1ポート2A1及び第2ポート2A2を有している。油圧センサ21は、旋回油圧モータ2Aの第1ポート2A1の作動油の圧力を検出する。油圧センサ22は、旋回油圧モータ2Aの第2ポート2A2の作動油の圧力を検出する。油圧センサ21,22により検出された吐出圧に対応する検出信号は、コントローラ30に取り込まれる。
また、第1ポート2A1は、リリーフ弁23を介して作動油タンクと接続される。リリーフ弁23は、第1ポート2A1側の圧力が所定のリリーフ圧に達した場合に開き、第1ポート2A1側の作動油を作動油タンクに排出する。同様に、第2ポート2A2は、リリーフ弁24を介して作動油タンクと接続される。リリーフ弁24は、第2ポート2A2側の圧力が所定のリリーフ圧に達した場合に開き、第2ポート2A2側の作動油を作動油タンクに排出する。
[ショベルの油圧システム]
次に、図3を参照して、ショベル100の油圧システムについて説明する。図3は、ショベル100の油圧システムの構成の一例を概略的に示す図である。
尚、図3において、機械的動力系、作動油ライン、パイロットライン、及び電気制御系は、図2等の場合と同様、それぞれ、二重線、実線、破線、及び点線で示されている。
当該油圧回路により実現される油圧システムは、エンジン11により駆動されるメインポンプ14L,14Rのそれぞれから、センタバイパス油路C1L,C1R、パラレル油路C2L,C2Rを経て作動油タンクまで作動油を循環させる。
センタバイパス油路C1Lは、メインポンプ14Lを起点として、コントロールバルブ17内に配置される制御弁171,173,175L,176Lを順に通過し、作動油タンクに至る。
センタバイパス油路C1Rは、メインポンプ14Rを起点として、コントロールバルブ17内に配置される制御弁172,174,175R,176Rを順に通過し、作動油タンクに至る。
制御弁171は、メインポンプ14Lから吐出される作動油を走行油圧モータ1Lへ供給し、且つ、走行油圧モータ1Lが吐出する作動油を作動油タンクに排出させるスプール弁である。
制御弁172は、メインポンプ14Rから吐出される作動油を走行油圧モータ1Rへ供給し、且つ、走行油圧モータ1Rが吐出する作動油を作動油タンクへ排出させるスプール弁である。
制御弁173は、メインポンプ14Lから吐出される作動油を旋回油圧モータ2Aへ供給し、且つ、旋回油圧モータ2Aが吐出する作動油を作動油タンクへ排出させるスプール弁である。
制御弁174は、メインポンプ14Rから吐出される作動油をバケットシリンダ9へ供給し、且つ、バケットシリンダ9内の作動油を作動油タンクへ排出させるスプール弁である。
制御弁175L,175Rは、それぞれ、メインポンプ14L,14Rが吐出する作動油をブームシリンダ7へ供給し、且つ、ブームシリンダ7内の作動油を作動油タンクへ排出させるスプール弁である。
制御弁176L,176Rは、メインポンプ14L,14Rが吐出する作動油をアームシリンダ8へ供給し、且つ、アームシリンダ8内の作動油を作動油タンクへ排出させる。
制御弁171,172,173,174,175L,175R,176L,176Rは、それぞれ、パイロットポートに作用するパイロット圧に応じて、油圧アクチュエータに給排される作動油の流量を調整したり、流れる方向を切り換えたりする。
パラレル油路C2Lは、センタバイパス油路C1Lと並列的に、制御弁171,173,175L,176Lにメインポンプ14Lの作動油を供給する。具体的には、パラレル油路C2Lは、制御弁171の上流側でセンタバイパス油路C1Lから分岐し、制御弁171,173,175L,176Rのそれぞれに並列してメインポンプ14Lの作動油を供給可能に構成される。これにより、パラレル油路C2Lは、制御弁171,173,175Lの何れかによってセンタバイパス油路C1Lを通る作動油の流れが制限或いは遮断された場合に、より下流の制御弁に作動油を供給できる。
パラレル油路C2Rは、センタバイパス油路C1Rと並列的に、制御弁172,174,175R,176Rにメインポンプ14Rの作動油を供給する。具体的には、パラレル油路C2Rは、制御弁172の上流側でセンタバイパス油路C1Rから分岐し、制御弁172,174,175R,176Rのそれぞれに並列してメインポンプ14Rの作動油を供給可能に構成される。パラレル油路C2Rは、制御弁172,174,175Rの何れかによってセンタバイパス油路C1Rを通る作動油の流れが制限或いは遮断された場合に、より下流の制御弁に作動油を供給できる。
レギュレータ13L,13Rは、それぞれ、コントローラ30による制御下で、メインポンプ14L,14Rの斜板の傾転角を調節することによって、メインポンプ14L,14Rの吐出量を調節する。
吐出圧センサ28Lは、メインポンプ14Lの吐出圧を検出し、検出された吐出圧に対応する検出信号は、コントローラ30に取り込まれる。吐出圧センサ28Rについても同様である。これにより、コントローラ30は、メインポンプ14L,14Rの吐出圧に応じて、レギュレータ13L,13Rを制御することができる。
センタバイパス油路C1L,C1Rには、最も下流にある制御弁176L,176Rのそれぞれと作動油タンクとの間には、絞り18L,18Rが設けられる。これにより、メインポンプ14L,14Rにより吐出された作動油の流れは、絞り18L,18Rで制限される。そして、絞り18L,18Rは、レギュレータ13L,13Rを制御するための制御圧を発生させる。
制御圧センサ19L,19Rは、制御圧を検出し、検出された制御圧に対応する検出信号は、コントローラ30に取り込まれる。
コントローラ30は、吐出圧センサ28L,28Rにより検出されるメインポンプ14L,14Rの吐出圧に応じて、レギュレータ13L,13Rを制御し、メインポンプ14L,14Rの吐出量を調節してよい。例えば、コントローラ30は、メインポンプ14Lの吐出圧の増大に応じて、レギュレータ13Lを制御し、メインポンプ14Lの斜板傾転角を調節することにより、吐出量を減少させてよい。レギュレータ13Rについても同様である。これにより、コントローラ30は、吐出圧と吐出量との積で表されるメインポンプ14L,14Rの吸収馬力がエンジン11の出力馬力を超えないように、メインポンプ14L,14Rの全馬力制御を行うことができる。
また、コントローラ30は、制御圧センサ19L,19Rにより検出される制御圧に応じて、レギュレータ13L,13Rを制御することにより、メインポンプ14L,14Rの吐出量を調節してよい。例えば、コントローラ30は、制御圧が大きいほどメインポンプ14L,14Rの吐出量を減少させ、制御圧が小さいほどメインポンプ14L,14Rの吐出量を増大させる。
具体的には、ショベル100における油圧アクチュエータが何れも操作されていない待機状態(図3に示す状態)の場合、メインポンプ14L,14Rから吐出される作動油は、センタバイパス油路C1L,C1Rを通って絞り18L,18Rに至る。そして、メインポンプ14L,14Rから吐出される作動油の流れは、絞り18L,18Rの上流で発生する制御圧を増大させる。その結果、コントローラ30は、メインポンプ14L,14Rの吐出量を許容最小吐出量まで減少させ、吐出した作動油がセンタバイパス油路C1L,C1Rを通過する際の圧力損失(ポンピングロス)を抑制する。
一方、何れかの油圧アクチュエータが操作装置26を通じて操作された場合、メインポンプ14L,14Rから吐出される作動油は、操作対象の油圧アクチュエータに対応する制御弁を介して、操作対象の油圧アクチュエータに流れ込む。そして、メインポンプ14L,14Rから吐出される作動油の流れは、絞り18L,18Rに至る量を減少或いは消失させ、絞り18L,18Rの上流で発生する制御圧を低下させる。その結果、コントローラ30は、メインポンプ14L,14Rの吐出量を増大させ、操作対象の油圧アクチュエータに十分な作動油を循環させ、操作対象の油圧アクチュエータを確実に駆動させることができる。
[ショベルのマシンコントロール機能に関する構成の詳細]
次に、図4を参照して、ショベル100のマシンコントロール機能に関する構成の詳細について説明する。
図4は、ショベル100の油圧システムのうちの操作系に関する構成部分の一例を概略的に示す図である。具体的には、図4(A)は、ブームシリンダ7を油圧制御する制御弁175L,175Rにパイロット圧を作用させるパイロット回路の一例を示す図である。また、図4(B)は、バケットシリンダ9を油圧制御する制御弁174にパイロット圧を作用させるパイロット回路の一例を示す図である。また、図4(C)は、旋回油圧モータ2Aを油圧制御する制御弁173にパイロット圧を作用させるパイロット回路の一例を示す図である。
また、例えば、図4(A)に示すように、レバー装置26Aは、オペレータ等がブーム4に対応するブームシリンダ7を操作するために用いられる。レバー装置26Aは、パイロットポンプ15から吐出される作動油を利用して、その操作内容に応じたパイロット圧を二次側に出力する。
シャトル弁32ALは、二つの入口ポートが、それぞれ、ブーム4の上げ方向の操作(以下、「ブーム上げ操作」)に対応するレバー装置26Aの二次側のパイロットラインと、比例弁31ALの二次側のパイロットラインとに接続され、出口ポートが、制御弁175Lの右側のパイロットポート及び制御弁175Rの左側のパイロットポートに接続される。
シャトル弁32ARは、二つの入口ポートが、それぞれ、ブーム4の下げ方向の操作(以下、「ブーム下げ操作」)に対応するレバー装置26Aの二次側のパイロットラインと、比例弁31ARの二次側のパイロットラインとに接続され、出口ポートが、制御弁175Rの右側のパイロットポートに接続される。
つまり、レバー装置26Aは、シャトル弁32AL,32ARを介して、操作内容(例えば、操作方向及び操作量)に応じたパイロット圧を制御弁175L,175Rのパイロットポートに作用させる。具体的には、レバー装置26Aは、ブーム上げ操作された場合に、操作量に応じたパイロット圧をシャトル弁32ALの一方の入口ポートに出力し、シャトル弁32ALを介して、制御弁175Lの右側のパイロットポートと制御弁175Rの左側のパイロットポートに作用させる。また、レバー装置26Aは、ブーム下げ操作された場合に、操作量に応じたパイロット圧をシャトル弁32ARの一方の入口ポートに出力し、シャトル弁32ARを介して、制御弁175Rの右側のパイロットポートに作用させる。
比例弁31ALは、コントローラ30から入力される制御電流に応じて動作する。具体的には、比例弁31ALは、パイロットポンプ15から吐出される作動油を利用して、コントローラ30から入力される制御電流に応じたパイロット圧をシャトル弁32ALの他方の入口ポートに出力する。これにより、比例弁31ALは、シャトル弁32ALを介して、制御弁175Lの右側のパイロットポート及び制御弁175Rの左側のパイロットポートに作用するパイロット圧を調整することができる。
比例弁31ARは、コントローラ30から入力される制御電流に応じて動作する。具体的には、比例弁31ARは、パイロットポンプ15から吐出される作動油を利用して、コントローラ30から入力される制御電流に応じたパイロット圧をシャトル弁32ARの他方の入口ポートに出力する。これにより、比例弁31ARは、シャトル弁32ARを介して、制御弁175Rの右側のパイロットポートに作用するパイロット圧を調整することができる。
つまり、比例弁31AL,31ARは、レバー装置26Aの操作状態に依らず、制御弁175L、175Rを任意の弁位置で停止できるように、二次側に出力するパイロット圧を調整することができる。
比例弁33ALは、比例弁31ALと同様に、マシンコントロール用制御弁として機能する。比例弁33ALは、操作装置26とシャトル弁32ALとを接続する管路に配置され、その管路の流路面積を変更できるように構成されている。本実施形態では、比例弁33ALは、コントローラ30が出力する制御指令に応じて動作する。そのため、コントローラ30は、操作者による操作装置26の操作とは無関係に、操作装置26が吐出する作動油の圧力を減圧した上で、シャトル弁32ALを介し、コントロールバルブ17内の対応する制御弁のパイロットポートに供給できる。
同様に、比例弁33ARは、マシンコントロール用制御弁として機能する。比例弁33ARは、操作装置26とシャトル弁32ARとを接続する管路に配置され、その管路の流路面積を変更できるように構成されている。本実施形態では、比例弁33ARは、コントローラ30が出力する制御指令に応じて動作する。そのため、コントローラ30は、操作者による操作装置26の操作とは無関係に、操作装置26が吐出する作動油の圧力を減圧した上で、シャトル弁32ARを介し、コントロールバルブ17内の対応する制御弁のパイロットポートに供給できる。
操作圧センサ29Aは、オペレータによるレバー装置26Aに対する操作内容を圧力(操作圧)の形で検出し、検出された圧力に対応する検出信号は、コントローラ30に取り込まれる。これにより、コントローラ30は、レバー装置26Aに対する操作内容を把握できる。
コントローラ30は、オペレータによるレバー装置26Aに対するブーム上げ操作とは無関係に、パイロットポンプ15から吐出される作動油を、比例弁31AL及びシャトル弁32ALを介して、制御弁175Lの右側のパイロットポート及び制御弁175Rの左側のパイロットポートに供給させることができる。また、コントローラ30は、オペレータによるレバー装置26Aに対するブーム下げ操作とは無関係に、パイロットポンプ15から吐出される作動油を、比例弁31AR及びシャトル弁32ARを介して、制御弁175Rの右側のパイロットポートに供給できる。即ち、コントローラ30は、ブーム4の上げ下げの動作を自動制御することができる。また、コントローラ30は、特定の操作装置26に対する操作が行われている場合であっても、その特定の操作装置26に対応する油圧アクチュエータの動作を強制的に停止させることができる。
比例弁33ALは、コントローラ30が出力する制御指令(電流指令)に応じて動作する。そして、パイロットポンプ15からレバー装置26A、比例弁33AL、及びシャトル弁32ALを介して制御弁175Lの右側パイロットポート及び制御弁175Rの左側パイロットポートに導入される作動油によるパイロット圧を減圧する。比例弁33ARは、コントローラ30が出力する制御指令(電流指令)に応じて動作する。そして、パイロットポンプ15からレバー装置26A、比例弁33AR、及びシャトル弁32ARを介して制御弁175Rの右側パイロットポートに導入される作動油によるパイロット圧を減圧する。比例弁33AL、33ARは、制御弁175L、175Rを任意の弁位置で停止できるようにパイロット圧を調整可能である。
この構成により、コントローラ30は、操作者によるブーム上げ操作が行われている場合であっても、必要に応じて、制御弁175の上げ側のパイロットポート(制御弁175Lの左側パイロットポート及び制御弁175Rの右側パイロットポート)に作用するパイロット圧を減圧し、ブーム4の閉じ動作を強制的に停止させることができる。操作者によるブーム下げ操作が行われているときにブーム4の下げ動作を強制的に停止させる場合についても同様である。
或いは、コントローラ30は、操作者によるブーム上げ操作が行われている場合であっても、必要に応じて、比例弁31ARを制御し、制御弁175の上げ側のパイロットポートの反対側にある、制御弁175の下げ側のパイロットポート(制御弁175Rの右側パイロットポート)に作用するパイロット圧を増大させ、制御弁175を強制的に中立位置に戻すことで、ブーム4の上げ動作を強制的に停止させてもよい。この場合、比例弁33ALは省略されてもよい。操作者によるブーム下げ操作が行われている場合にブーム4の下げ動作を強制的に停止させる場合についても同様である。すなわち、比例弁33AL、33ARは省略されてもよい。
図4(B)に示すように、レバー装置26Bは、オペレータ等がバケット6に対応するバケットシリンダ9を操作するために用いられる。レバー装置26Bは、パイロットポンプ15から吐出される作動油を利用して、その操作内容に応じたパイロット圧を二次側に出力する。
シャトル弁32BLは、二つの入口ポートが、それぞれ、バケット6の閉じ方向の操作(以下、「バケット閉じ操作」)に対応するレバー装置26Bの二次側のパイロットラインと、比例弁31BLの二次側のパイロットラインとに接続され、出口ポートが、制御弁174の左側のパイロットポートに接続される。
シャトル弁32BRは、二つの入口ポートが、それぞれ、バケット6の開き方向の操作(以下、「バケット開き操作」)に対応するレバー装置26Bの二次側のパイロットラインと、比例弁31BRの二次側のパイロットラインとに接続され、出口ポートが、制御弁174の右側のパイロットポートに接続される。
つまり、レバー装置26Bは、シャトル弁32BL,32BRを介して、操作内容に応じたパイロット圧を制御弁174のパイロットポートに作用させる。具体的には、レバー装置26Bは、バケット閉じ操作された場合に、操作量に応じたパイロット圧をシャトル弁32BLの一方の入口ポートに出力し、シャトル弁32BLを介して、制御弁174の左側のパイロットポートに作用させる。また、レバー装置26Bは、バケット開き操作された場合に、操作量に応じたパイロット圧をシャトル弁32BRの一方の入口ポートに出力し、シャトル弁32BRを介して、制御弁174の右側のパイロットポートに作用させる。
比例弁31BLは、コントローラ30から入力される制御電流に応じて動作する。具体的には、比例弁31BLは、パイロットポンプ15から吐出される作動油を利用して、コントローラ30から入力される制御電流に応じたパイロット圧をシャトル弁32BLの他方のパイロットポートに出力する。これにより、比例弁31BLは、シャトル弁32BLを介して、制御弁174の左側のパイロットポートに作用するパイロット圧を調整することができる。
比例弁31BRは、コントローラ30が出力する制御電流に応じて動作する。具体的には、比例弁31BRは、パイロットポンプ15から吐出される作動油を利用して、コントローラ30から入力される制御電流に応じたパイロット圧をシャトル弁32BRの他方のパイロットポートに出力する。これにより、比例弁31BRは、シャトル弁32BRを介して、制御弁174の右側のパイロットポートに作用するパイロット圧を調整することができる。
つまり、比例弁31BL,31BRは、レバー装置26Bの操作状態に依らず、制御弁174を任意の弁位置で停止できるように、二次側に出力するパイロット圧を調整することができる。
比例弁33BLは、比例弁31BLと同様に、マシンコントロール用制御弁として機能する。比例弁33BLは、操作装置26とシャトル弁32BLとを接続する管路に配置され、その管路の流路面積を変更できるように構成されている。本実施形態では、比例弁33BLは、コントローラ30が出力する制御指令に応じて動作する。そのため、コントローラ30は、操作者による操作装置26の操作とは無関係に、操作装置26が吐出する作動油の圧力を減圧した上で、シャトル弁32BLを介し、コントロールバルブ17内の対応する制御弁のパイロットポートに供給できる。
同様に、比例弁33BRは、マシンコントロール用制御弁として機能する。比例弁33BRは、操作装置26とシャトル弁32BRとを接続する管路に配置され、その管路の流路面積を変更できるように構成されている。本実施形態では、比例弁33BRは、コントローラ30が出力する制御指令に応じて動作する。そのため、コントローラ30は、操作者による操作装置26の操作とは無関係に、操作装置26が吐出する作動油の圧力を減圧した上で、シャトル弁32BRを介し、コントロールバルブ17内の対応する制御弁のパイロットポートに供給できる。
操作圧センサ29Bは、オペレータによるレバー装置26Bに対する操作内容を圧力(操作圧)の形で検出し、検出された圧力に対応する検出信号は、コントローラ30に取り込まれる。これにより、コントローラ30は、レバー装置26Bの操作内容を把握できる。
コントローラ30は、オペレータによるレバー装置26Bに対するバケット閉じ操作とは無関係に、パイロットポンプ15から吐出される作動油を、比例弁31BL及びシャトル弁32BLを介して、制御弁174の左側のパイロットポートに供給させることができる。また、コントローラ30は、オペレータによるレバー装置26Bに対するバケット開き操作とは無関係に、パイロットポンプ15から吐出される作動油を、比例弁31BR及びシャトル弁32BRを介して、制御弁174の右側のパイロットポートに供給させることができる。即ち、コントローラ30は、バケット6の開閉動作を自動制御することができる。また、コントローラ30は、特定の操作装置26に対する操作が行われている場合であっても、その特定の操作装置26に対応する油圧アクチュエータの動作を強制的に停止させることができる。
尚、操作者によるバケット閉じ操作又はバケット開き操作が行われている場合にバケット6の動作を強制的に停止させる比例弁33BL,33BRの操作は、操作者によるブーム上げ操作又はブーム下げ操作が行われている場合にブーム4の動作を強制的に停止させる比例弁33AL,33ARの操作と同様であり、重複する説明を省略する。また、比例弁33BL,33BRは、比例弁33AL,33ARと同様に、省略されてもよい。
また、例えば、図4(C)に示すように、レバー装置26Cは、オペレータ等が上部旋回体3(旋回機構2)に対応する旋回油圧モータ2Aを操作するために用いられる。レバー装置26Cは、パイロットポンプ15から吐出される作動油を利用して、その操作内容に応じたパイロット圧を二次側に出力する。
シャトル弁32CLは、二つの入口ポートが、それぞれ、上部旋回体3の左方向の旋回操作(以下、「左旋回操作」)に対応するレバー装置26Cの二次側のパイロットラインと、比例弁31CLの二次側のパイロットラインとに接続され、出口ポートが、制御弁173の左側のパイロットポートに接続される。
シャトル弁32CRは、二つの入口ポートが、それぞれ、上部旋回体3の右方向の旋回操作(以下、「右旋回操作」)に対応するレバー装置26Cの二次側のパイロットラインと、比例弁31CRの二次側のパイロットラインとに接続され、出口ポートが、制御弁173の右側のパイロットポートに接続される。
つまり、レバー装置26Cは、シャトル弁32CL,32CRを介して、左右方向への操作内容に応じたパイロット圧を制御弁173のパイロットポートに作用させる。具体的には、レバー装置26Cは、左旋回操作された場合に、操作量に応じたパイロット圧をシャトル弁32CLの一方の入口ポートに出力し、シャトル弁32CLを介して、制御弁173の左側のパイロットポートに作用させる。また、レバー装置26Cは、右旋回操作された場合に、操作量に応じたパイロット圧をシャトル弁32CRの一方の入口ポートに出力し、シャトル弁32CRを介して、制御弁173の右側のパイロットポートに作用させる。
比例弁31CLは、コントローラ30から入力される制御電流に応じて動作する。具体的には、比例弁31CLは、パイロットポンプ15から吐出される作動油を利用して、コントローラ30から入力される制御電流に応じたパイロット圧をシャトル弁32CLの他方のパイロットポートに出力する。これにより、比例弁31CLは、シャトル弁32CLを介して、制御弁173の左側のパイロットポートに作用するパイロット圧を調整することができる。
比例弁31CRは、コントローラ30が出力する制御電流に応じて動作する。具体的には、比例弁31CRは、パイロットポンプ15から吐出される作動油を利用して、コントローラ30から入力される制御電流に応じたパイロット圧をシャトル弁32CRの他方のパイロットポートに出力する。これにより、比例弁31CRは、シャトル弁32CRを介して、制御弁173の右側のパイロットポートに作用するパイロット圧を調整することができる。
つまり、比例弁31CL,31CRは、レバー装置26Cの操作状態に依らず、制御弁173を任意の弁位置で停止できるように、二次側に出力するパイロット圧を調整することができる。
比例弁33CLは、比例弁31CLと同様に、マシンコントロール用制御弁として機能する。比例弁33CLは、操作装置26とシャトル弁32CLとを接続する管路に配置され、その管路の流路面積を変更できるように構成されている。本実施形態では、比例弁33CLは、コントローラ30が出力する制御指令に応じて動作する。そのため、コントローラ30は、操作者による操作装置26の操作とは無関係に、操作装置26が吐出する作動油の圧力を減圧した上で、シャトル弁32CLを介し、コントロールバルブ17内の対応する制御弁のパイロットポートに供給できる。
同様に、比例弁33CRは、マシンコントロール用制御弁として機能する。比例弁33CRは、操作装置26とシャトル弁32CRとを接続する管路に配置され、その管路の流路面積を変更できるように構成されている。本実施形態では、比例弁33CRは、コントローラ30が出力する制御指令に応じて動作する。そのため、コントローラ30は、操作者による操作装置26の操作とは無関係に、操作装置26が吐出する作動油の圧力を減圧した上で、シャトル弁32CRを介し、コントロールバルブ17内の対応する制御弁のパイロットポートに供給できる。
操作圧センサ29Cは、オペレータによるレバー装置26Cに対する操作状態を圧力として検出し、検出された圧力に対応する検出信号は、コントローラ30に取り込まれる。これにより、コントローラ30は、レバー装置26Cに対する左右方向への操作内容を把握できる。
コントローラ30は、オペレータによるレバー装置26Cに対する左旋回操作とは無関係に、パイロットポンプ15から吐出される作動油を、比例弁31CL及びシャトル弁32CLを介して、制御弁173の左側のパイロットポートに供給させることができる。また、コントローラ30は、オペレータによるレバー装置26Cに対する右旋回操作とは無関係に、パイロットポンプ15から吐出される作動油を、比例弁31CR及びシャトル弁32CRを介して、制御弁173の右側のパイロットポートに供給させることができる。即ち、コントローラ30は、上部旋回体3の左右方向への旋回動作を自動制御することができる。また、コントローラ30は、特定の操作装置26に対する操作が行われている場合であっても、その特定の操作装置26に対応する油圧アクチュエータの動作を強制的に停止させることができる。
尚、操作者による旋回操作が行われている場合に上部旋回体3の動作を強制的に停止させる比例弁33CL,33CRの操作は、操作者によるブーム上げ操作又はブーム下げ操作が行われている場合にブーム4の動作を強制的に停止させる比例弁33AL,33ARの操作と同様であり、重複する説明を省略する。また、比例弁33CL,33CRは、比例弁33AL,33ARと同様に、省略されてもよい。
尚、ショベル100は、更に、アーム5を自動的に開閉させる構成、及び、下部走行体1を自動的に前進・後進させる構成を備えていてもよい。この場合、油圧システムのうち、アームシリンダ8の操作系に関する構成部分、走行油圧モータ1Lの操作系に関する構成部分、及び、走行油圧モータ1Rの操作に関する構成部分は、ブームシリンダ7の操作系に関する構成部分等(図4(A)〜(C))と同様に構成されてよい。
[ショベルの形状推定機能に関する構成の詳細]
次に、図5及び図6を参照して、ショベル100の形状推定機能に関する構成の一例について説明する。図5は、形状推定機能に関する構成の一例を概略的に示す図である。図6は、形状推定機能が実行されるときのアーム5及びバケット6の側面図である。
形状推定機能は、物の形状を推定する機能である。本実施形態では、形状推定機能は、バケット6の内部に取り込まれている土砂の形状を推定するように構成されている。
図3で前述したように、コントローラ30は、形状推定機能に関する機能部として、形状推定部60を含む。形状推定部60は、バケット状態推定部61と、土砂形状推定部62と、体積推定部63とを有する。
バケット状態推定部61は、バケット6の状態を推定するように構成されている。バケット6の状態は、例えば、バケット6の形状、及び、バケット6の現在の位置及び姿勢を認識することによって推定される。本実施形態では、バケット6の形状に関する情報は、例えばCADモデル等の設計データとして記憶装置に予め記憶されている。バケット6の現在の位置及び姿勢に関する情報は、姿勢センサの出力から導き出される。すなわち、バケット状態推定部61は、姿勢センサの出力に基づいてバケット6の現在の位置及び姿勢を導き出すことができる。姿勢センサは、例えば、ブーム角度センサS1、アーム角度センサS2、バケット角度センサS3、機体傾斜センサS4、及び旋回状態センサS5のうちの少なくとも1つである。
バケット6の状態を推定することは、例えば、所定の座標系において、バケット6の外表面に関する点群の座標を決定することを意味する。所定の座標系は、例えば、形状推定装置S10の位置を原点とする3次元直交座標系Σarmである。このように、バケット状態推定部61は、アーム5に対するバケット6の角度とCADモデルとを用いて、バケット6の外表面に関する座標を算出する。
バケット状態推定部61は、姿勢センサの出力を用いずに、バケット6の現在の姿勢を導き出すように構成されていてもよい。例えば、バケット状態推定部61は、記憶装置に予め記憶されているバケット6のCADモデルと、形状推定装置S10としてのLIDARの出力とに基づいてバケット6の現在の姿勢を導き出すように構成されていてもよい。具体的には、バケット6のCADモデルと、形状推定装置S10が取得したバケット6の爪先、バケット6の開口の右側、左側、手前側、若しくは奥側の縁、又は、バケットリンク等に関する点群データとに基づいてバケット6の現在の姿勢を導き出すように構成されていてもよい。或いは、バケット状態推定部61は、形状推定装置S10としてのLIDARの出力のみに基づいてバケット6の状態を推定するように構成されていてもよい。例えば、バケット状態推定部61は、土砂等の物が取り込まれていないときのバケット6を形状推定装置S10としてのLIDARで測定することにより、バケット6の形状に関する情報を取得できる。すなわち、バケット状態推定部61は、形状推定装置S10としてのLIDARの出力に基づいてバケット6のCADモデルを生成できる。
土砂形状推定部62は、バケット6内に取り込まれている物の形状を推定するように構成されている。本実施形態では、土砂形状推定部62は、形状推定装置S10としてのLIDARの出力に基づいてバケット6内に入っている物(例えば土砂等)の表面の形状を推定する。
バケット6内に入っている物の表面の形状を推定することは、例えば、所定の座標系において、その物の表面に関する点群の座標を決定することを意味する。所定の座標系は、例えば、形状推定装置S10の位置を原点とする3次元直交座標系Σarmである。
図6は、形状推定装置S10の監視範囲R1の断面の一例をドットパターンで示している。図6に示すように、形状推定装置S10としてのLIDARは、バケット6内に取り込まれた土砂の表面に関する点群データを取得できるようにアーム5の腹面に取り付けられている。具体的には、形状推定装置S10としてのLIDARは、バケット6内に取り込まれた土砂の表面のうち、アーム5とバケット6とを連結するピンP7に近い側の表面に関する点群データをも取得できるようにアーム5の腹面に取り付けられている。
形状推定装置S10としてのLIDARによって取得される点群データは、バケット6及びバケット6内に入っている物(土砂等)ばかりでなく地面等に関する点群データを含み、更に、ノイズに起因する点群データをも含んでいる。そのため、本実施形態では、土砂形状推定部62は、Pass Throughフィルタ等のフィルタを用い、これらの不要な点群データを除去する。具体的には、土砂形状推定部62は、形状推定装置S10とバケット6との間の位置関係に基づいてPass Throughフィルタで使用される閾値を設定することにより、バケット6内に入っている土砂とバケット6自体(以下、「対象物」とする。)以外の物(以下、「非対象物」とする。)に関する点群データを大まかに除去する。そして、土砂形状推定部62は、除去されなかった残りの点群データ、すなわち、対象物に関する点群データをクラスタリングし、最大クラスタを抽出することにより、対象物に関する点群データを抽出する。
体積推定部63は、バケット6内に取り込まれている物の体積を推定するように構成されている。本実施形態では、体積推定部63は、バケット状態推定部61が導き出したバケット6の外表面に関する点群データ(第1点群データ)と、土砂形状推定部62が導き出した非対象物に関する点群データ(第2点群データ)とを合成することにより、バケット6内に取り込まれている物の体積を推定できるように構成されている。第1点群データと第2点群データとによって囲まれた空間の体積が、バケット6内に取り込まれている物の体積に相当すると判断できるためである。尚、第1点群データと第2点群データとの合成は、例えば、2つの点群データを一纏まりの点群データである第3点群データとして統合することを意味する。
具体的には、体積推定部63は、第3点群データによって表される3次元形状をボクセル化することにより、その3次元形状を正規化する。
そして、体積推定部63は、図7に示すように、バケット6のCADモデルから生成された(斜線パターンが付された)ボクセルV1と、バケット6内に取り込まれている土砂の表面(上面)を表す点群データから生成された(ドットパターンが付された)ボクセルV2との間のZ軸方向における3次元距離hi(iは0〜Nの整数)に基づき、バケット6内に取り込まれている土砂の体積Vを算出する。図7は、第3点群データによって表される3次元形状のXZ平面における断面を示す。この3次元形状は、バケット6の3次元形状とバケット6内に取り込まれた土砂の3次元形状とを含む。Z軸は、3次元直交座標系Σarmを構成する3軸のうちの1つであり、例えば、アーム5の中心軸に平行に延びる軸である。X軸は、3次元直交座標系Σarmを構成する3軸のうちの別の1つであり、例えば、上面視で上部旋回体3の前後方向に延びる軸である。図示しないY軸は、3次元直交座標系Σarmを構成する3軸のうちの別の1つであり、例えば、上部旋回体3の幅方向に延びる軸である。Nは、XY平面におけるボクセルV1の数である。XY平面におけるボクセルV1の数は、ボクセルV1がZ軸方向に複数個重なっている場合には1個としてカウントされる。
概略的には、体積推定部63は、バケット6とバケット6内に取り込まれている土砂とを含む物体の全体の体積を推定し、その上で、バケット6の体積を算出し、その後、バケット6の体積を物体全体の体積から差し引くことによって土砂の体積を推定する。
具体的には、体積推定部63は、以下の式(1)を用いて体積Vを算出する。式(1)において、Sはボクセルの底面積(XY平面における単位面積)を表す。
上述の構成により、コントローラ30(形状推定部60)は、バケット6内に取り込まれている土砂の体積Vを正確に推定できる。
尚、コントローラ30(形状推定部60)は、任意のタイミングで体積Vを推定できるが、所定のタイミングで体積Vを推定するように構成されていてもよい。例えば、コントローラ30は、姿勢センサの出力に基づいてバケット6の姿勢を継続的に導き出し、バケット6の姿勢が所定の姿勢になったときに体積Vを推定するように構成されていてもよい。
また、コントローラ30(形状推定部60)は、バケット6が所定の姿勢となるように、掘削アタッチメントを自動的に動作させてもよい。例えば、形状推定部60は、ショベル100の操作者による操作装置26に対する操作の有無にかかわらず、ブームシリンダ7、アームシリンダ8、及びバケットシリンダ9の少なくとも1つを伸縮させ、バケット6の姿勢が所定の姿勢となるようにしてもよい。
また、コントローラ30(形状推定部60)は、複数回の推定結果に基づいて算出される統計値を体積Vとしてもよい。統計値は、例えば、平均値、最大値、最小値、最頻値、又は中央値等である。例えば、形状推定部60は、バケット6が所定の第1姿勢になったときに推定した体積Vと、バケット6が所定の第2姿勢になったときに推定した体積Vとの平均値を最終的な体積Vとしてもよい。或いは、形状推定部60は、バケット6が所定の第1姿勢になったときに推定した体積V、バケット6が所定の第2姿勢になったときに推定した体積V、及び、バケット6が所定の第3姿勢になったときに推定した体積Vのうちの最大値を最終的な体積Vとしてもよい。
或いは、コントローラ30(形状推定部60)は、形状推定装置S10としてのLIDARの出力に基づいてバケット6内に入っている物の表面の形状を複数回にわたって推定するように構成されていてもよい。例えば、形状推定部60は、ブーム上げ旋回が行われている間、所定の時間間隔で繰り返し、バケット6内に入っている土砂の表面の形状を推定してもよい。そして、形状推定部60は、その土砂の表面の形状が変化したと判定した場合に、その土砂の体積Vを再計算するように構成されていてもよい。具体的には、形状推定部60は、ブーム上げ旋回が開始された後で、土砂の表面の形状を初めて推定したときにその土砂の体積Vを推定するように構成されていてもよい。そして、形状推定部60は、その後にその土砂の表面の形状を推定する度に、表面の形状が変化したか否かを判定し、表面の形状が変化していないと判定した場合には、すなわち、バケット6から土砂がこぼれ落ちていないと判定できた場合には、その土砂の体積Vの再計算を省略する。一方、形状推定部60は、表面の形状が変化したと判定した場合には、すなわち、バケット6から土砂の一部がこぼれ落ちたと判定できた場合には、新たに推定した土砂の表面の形状に基づいてその土砂の体積Vを再計算する。この構成により、形状推定部60は、例えば、ブーム上げ旋回中に土砂がバケット6からこぼれ落ちた場合であっても、ダンプトラックに積み込まれる土砂の体積Vを効率的に且つ正確に推定することができる。すなわち、形状推定部60は、ブーム上げ旋回中にバケット6からこぼれ落ちた土砂の体積が、ダンプトラックに積み込まれる土砂の体積Vに含まれてしまうのを防止できる。
次に、図8を参照し、ショベル100の形状推定機能に関する構成の別の一例について説明する。図8は、ショベル100の側面図である。図8に示すショベル100には、形状推定装置S10としての第1形状推定装置S10A及び第2形状推定装置S10Cが取り付けられている。
具体的には、第1形状推定装置S10Aは、バケット6内に取り込まれている物の形状を推定できるように構成されている。図8に示す例では、第1形状推定装置S10Aは、アーム5の腹面に取り付けられた3台のRGB−Dセンサで構成され、取得した情報をコントローラ30に向けて送信できるように構成されている。尚、図8において、第1形状推定装置S10Aからバケット6に向かって延びる一点鎖線矢印は、第1形状推定装置S10Aがバケット6の方向に測距用の赤外線を照射していることを表している。また、第1形状推定装置S10Aは、アーム5の背面若しくは側面等、又は、ブーム4の腹面、側面、若しくは背面等、掘削アタッチメントATの他の部分に取り付けられていてもよい。或いは、第1形状推定装置S10Aは、ブームシリンダ7、アームシリンダ8、又はバケットシリンダ9等に取り付けられていてもよい。
また、第1形状想定装置S10Aは、キャビン10の前面等、ショベル100の特定の部分が監視範囲に含まれるように構成されている。図8に示す例では、第1形状想定装置S10Aは、キャビン10の前面に貼り付けられたAR(拡張現実)マーカMKを認識できるように構成されている。第1形状推定装置S10Aは、ARマーカMKを認識することにより、自身(第1形状推定装置S10A)の現在の姿勢を導き出すことができる。尚、図8において、第1形状推定装置S10Aからキャビン10に向かって延びる一点鎖線矢印は、第1形状推定装置S10AがARマーカMKを撮像していることを表している。
図8に示す例では、第1形状推定装置S10Aは、バケット6内に取り込まれている物の形状を測定するためのRGB−Dセンサと、ARマーカMKを撮像するためのRGB−Dセンサとを含む。しかしながら、第1形状推定装置S10Aは、バケット6内に取り込まれている物の形状を測定でき、且つ、ARマーカMKを撮像できるRGB−Dセンサを含んでいてもよい。或いは、ARマーカMKを撮像するためのRGB−Dセンサは、単眼カメラで置き換えられてもよい。或いは、バケット6内に取り込まれている物の形状を測定するためのRGB−Dセンサは、LIDAR又はステレオカメラ等で置き換えられてもよい。
第1形状想定装置S10Aは、ARマーカMKを認識する代わりに、ショベル100の一部の特徴的な立体形状を認識するように構成されていてもよい。ショベル100の一部の特徴的な立体形状は、例えば、キャビン10の下部前端の突起若しくは凹部、又は、旋回フレームの前端の突起若しくは凹部等である。また、第1形状想定装置S10Aは、ARマーカMKを認識する代わりに、上部旋回体3に貼り付けられたQRコード(登録商標)等の二次元コードを認識するように構成されていてもよい。すなわち、第1形状想定装置S10Aは、自身が取得した情報から自身の位置及び姿勢を導き出すことができるのであれば、どのような情報を認識するように構成されていてもよい。
第2形状推定装置S10Cは、バケット6の形状を推定できるように構成されている。図8に示す例では、第2形状推定装置S10Cは、キャビン10の下部前端に取り付けられた3台のRGB−Dセンサで構成され、取得した情報をコントローラ30に向けて送信できるように構成されている。但し、第2形状推定装置S10Cは、キャビン10の上部前端等、上部旋回体3の他の部分に取り付けられていてもよい。また、第2形状推定装置S10Cは、1台のRGB−Dセンサで構成されていてもよく、1台若しくは複数台のLIDAR若しくはステレオカメラ等で構成されていてもよい。
図8に示す例では、バケット状態推定部61は、第2形状推定装置S10Cの出力に基づき、バケット6の状態、すなわち、バケット6の形状、及び、バケット6の現在の姿勢を推定できるように構成されている。
具体的には、バケット状態推定部61は、第2形状推定装置S10CとしてのRGB−Dセンサが取得した、バケット6の正面FS(図8の太い点線参照。)に関する点群データに基づき、バケット6の状態を推定する。尚、図8において、第2形状推定装置S10Cからバケット6に向かって延びる一点鎖線矢印は、第2形状推定装置S10Cがバケット6の方向に測距用の赤外線を照射していることを表している。
より具体的には、バケット状態推定部61は、バケット6に関する点群データに対してRANSAC(Random sample consensus)アルゴリズムを適用し、バケット6の正面FSを検出する。そして、バケット状態推定部61は、検出した正面FSの位置及び姿勢からバケット6の位置及び姿勢を推定する。そして、バケット状態推定部61は、推定したバケット6の位置及び姿勢と、バケット6のCADモデルとに基づき、バケット6の外表面に関する点群データ(第1点群データ)を導き出す。
土砂形状推定部62は、第1形状推定装置S10AとしてのRGB−Dセンサの出力に基づいてバケット6内に入っている物(例えば土砂等)の表面の形状を推定する。具体的には、土砂形状推定部62は、第1形状推定装置S10AとしてのRGB−Dセンサの出力に基づき、バケット6及びバケット6内に入っている土砂(すなわち対象物)以外の非対象物に関する点群データ(第2点群データ)を導き出す。
体積推定部63は、バケット状態推定部61が導き出したバケット6の外表面に関する点群データ(第1点群データ)と、土砂形状推定部62が導き出した非対象物に関する点群データ(第2点群データ)とを合成することにより、バケット6内に取り込まれている物の体積を推定できるように構成されている。
上述の構成により、コントローラ30(形状推定部60)は、バケット6内に取り込まれている土砂の体積Vを正確に推定できる。
尚、コントローラ30(形状推定部60)は、任意のタイミングで体積Vを推定できるが、所定のタイミングで体積Vを推定するように構成されていてもよい。例えば、コントローラ30は、第2形状推定装置S10Cの出力に基づいてバケット6の姿勢を継続的に導き出し、バケット6の姿勢が所定の姿勢になったときに体積Vを推定するように構成されていてもよい。
また、コントローラ30(形状推定部60)は、複数回の推定結果に基づいて算出される統計値を体積Vとしてもよい。統計値は、例えば、平均値、最大値、最小値、最頻値、又は中央値等である。
また、図8に示す例では、掘削アタッチメントに関する姿勢センサ(ブーム角度センサS1、アーム角度センサS2、及びバケット角度センサS3)は、省略されてもよい。コントローラ30は、第1形状推定装置S10Aの出力に基づき、第1形状推定装置S10Aが取り付けられたアーム5の位置及び姿勢を導き出し、アーム5の位置及び姿勢からブーム4の位置及び姿勢を導き出すことができるためである。また、コントローラ30は、第1形状推定装置S10A及び第2形状推定装置S10Cのうちの少なくとも一方の出力に基づき、バケット6の位置及び姿勢を導き出すことができるためである。すなわち、コントローラ30は、掘削アタッチメントに関する姿勢センサの出力を用いずとも、掘削アタッチメントの姿勢を導き出すことができるためである。
但し、コントローラ30(形状推定部60)は、掘削アタッチメントに関する姿勢センサの出力と形状推定装置S10の出力とを用いてバケット6の状態を推定するように構成されていてもよい。2種類の出力を用いることによってバケット6の状態の推定精度を高めるためである。
[ショベルの土砂重量検出機能に関する構成の詳細]
次に、図9を参照し、本発明の更に別の実施形態に係るショベル100の土砂重量検出機能に関する構成の詳細について説明する。図9は、ショベル100のうちの土砂重量検出機能に関する構成部分の一例を概略的に示す図である。
図9に示す例では、形状推定部60は、バケット状態推定部61、土砂形状推定部62、及び体積推定部63に加え、バケット6で掘削した土砂の重量(土砂重量)を検出する機能に関する機能部として、重量算出部64、最大積載量検出部65、積載量算出部66、残積載量算出部67、及び重心算出部68を有する。
ここで、ショベル100によるダンプトラックへの土砂(積載物)の積み込み作業の動作の一例について説明する。
まず、ショベル100は、掘削位置において、掘削アタッチメントを制御してバケット6により土砂を掘削する(掘削動作)。次に、ショベル100は、上部旋回体3を旋回させ、バケット6を掘削位置から排土位置へと移動する(旋回動作)。排土位置の下方には、ダンプトラックの荷台が配置されている。次に、ショベル100は、排土位置において、アタッチメントを制御してバケット6内の土砂を排土することにより、バケット6内の土砂をダンプトラックの荷台へと積み込む(排土動作)。次に、ショベル100は、上部旋回体3を旋回させ、バケット6を排土位置から掘削位置へと移動する(旋回動作)。これらの動作を繰り返すことにより、ショベル100は、掘削した土砂をダンプトラックの荷台へと積み込む。
重量算出部64は、バケット6内の土砂(積載物)の重量を算出するように構成されている。図9に示す例では、重量算出部64は、ブームシリンダ7の推力に基づいて土砂重量を算出する。例えば、重量算出部64は、ブームシリンダ7の推力と、上部旋回体3とブーム4とを連結するピンから土砂重心までの距離と、上部旋回体3とブーム4とを連結するピン回りのモーメントの式と、に基づいて土砂重量を算出する。
最大積載量検出部65は、土砂を積載する対象のダンプトラックの最大積載量を検出するように構成されている。例えば、最大積載量検出部65は、撮像装置S6で撮像された画像に基づいて、土砂を積載する対象のダンプトラックを特定する。「撮像装置S6で撮像された画像に基づいて」は、例えば、撮像装置S6が撮像した画像に1又は複数の画像処理を施すことによって得られる情報を利用することを意味する。次に、最大積載量検出部65は、特定されたダンプトラックの画像に基づいて、ダンプトラックの最大積載量を検出する。例えば、最大積載量検出部65は、特定されたダンプトラックの画像に基づいて、ダンプトラックの車種(サイズ等)を判定する。最大積載量検出部65は、車種と最大積載量とを対応付けしたテーブルを有しており、画像から判定した車種及びテーブルに基づいて、ダンプトラックの最大積載量を求める。尚、入力装置42によってダンプトラックの最大積載量及び車種等が入力され、最大積載量検出部65は、入力装置42の入力情報に基づいて、ダンプトラックの最大積載量を求めてもよい。
積載量算出部66は、ダンプトラックに積載された土砂重量を算出するように構成されている。即ち、バケット6内の土砂がダンプトラックの荷台に排土される毎に、積載量算出部66は、重量算出部64で算出されたバケット6内の土砂の重量を、ダンプトラックの荷台に積載された土砂重量の合計である積載量(合計重量)に加算して積載量を更新する。尚、土砂を積載する対象のダンプトラックが新しいダンプトラックとなった場合には、積載量はリセットされる。
残積載量算出部67は、最大積載量検出部65で検出したダンプトラックの最大積載量と、積載量算出部66で算出した現在の積載量との差を残積載量として算出するように構成されている。残積載量とは、ダンプトラックに積載可能な土砂の残りの重量である。
重心算出部68は、バケット6内の土砂(積載物)の重心を算出するように構成されている。尚、土砂の重心の算出方法については後述される。
表示装置40には、重量算出部64で算出されたバケット6内の土砂の重量、最大積載量検出部65で検出されたダンプトラックの最大積載量、積載量算出部66で算出されたダンプトラックの積載量(荷台に積載された土砂重量の合計)、及び残積載量算出部67で算出されたダンプトラックの残積載量(積載可能な土砂の残りの重量)のうちの少なくとも1つが表示されてもよい。
また、表示装置40には、体積推定部63で推定されたバケット6内の土砂の体積、及び、バケット6内の土砂の重量と体積から導き出される土砂の密度のうちの少なくとも1つが表示されてもよい。
尚、ショベル100は、積載量が最大積載量を超えた場合、表示装置40に警告が出るように構成されていてもよい。また、ショベル100は、算出されたバケット6内の土砂の重量が残積載量を超える場合、表示装置40に警告が出るように構成されていてもよい。尚、警告は、表示装置40に表示される場合に限られず、音声出力装置43による音声出力であってもよい。これにより、ショベル100は、ダンプトラックの最大積載量を超えてダンプトラックに土砂が積載されることを防止できる。
ここで、図10を参照し、表示装置40に表示されるメイン画面41Vの構成例について説明する。図10のメイン画面41Vに表示される情報は、例えば、バケット6内の土砂の重量(現重量)、ダンプトラックの積載量(累積重量)、ダンプトラックの残積載量(残重量)、最大積載量(最大積載重量)、並びに、バケット6内に取り込まれている物の体積及び密度等に関する情報を含む。
メイン画面41Vは、日時表示領域41a、走行モード表示領域41b、アタッチメント表示領域41c、燃費表示領域41d、エンジン制御状態表示領域41e、エンジン稼働時間表示領域41f、冷却水温表示領域41g、燃料残量表示領域41h、回転数モード表示領域41i、尿素水残量表示領域41j、作動油温表示領域41k、カメラ画像表示領域41m、現重量表示領域41p、累積重量表示領域41q、残重量表示領域41s、最大積載重量表示領域41t、体積表示領域41u、及び密度表示領域41wを含む。
走行モード表示領域41b、アタッチメント表示領域41c、エンジン制御状態表示領域41e、及び回転数モード表示領域41iは、ショベル100の設定状態に関する情報である設定状態情報を表示する領域である。燃費表示領域41d、エンジン稼働時間表示領域41f、冷却水温表示領域41g、燃料残量表示領域41h、尿素水残量表示領域41j、作動油温表示領域41k、現重量表示領域41p及び累積重量表示領域41qは、ショベル100の稼動状態に関する情報である稼動状態情報を表示する領域である。
具体的には、日時表示領域41aは、現在の日時を表示する領域である。走行モード表示領域41bは、現在の走行モードを表示する領域である。アタッチメント表示領域41cは、現在装着されているエンドアタッチメントを表す画像を表示する領域である。図10は、バケット6を表す画像が表示された状態を示している。
燃費表示領域41dは、コントローラ30によって算出された燃費情報を表示する領域である。燃費表示領域41dは、生涯平均燃費又は区間平均燃費を表示する平均燃費表示領域41d1、瞬間燃費を表示する瞬間燃費表示領域41d2を含む。
エンジン制御状態表示領域41eは、エンジン11の制御状態を表示する領域である。エンジン稼働時間表示領域41fは、エンジン11の累積稼働時間を表示する領域である。冷却水温表示領域41gは、現在のエンジン冷却水の温度状態を表示する領域である。燃料残量表示領域41hは、燃料タンクに貯蔵されている燃料の残量状態を表示する領域である。回転数モード表示領域41iは、エンジン回転数調節ダイヤルによって設定された現在の回転数モードを表示する領域である。尿素水残量表示領域41jは、尿素水タンクに貯蔵されている尿素水の残量状態を表示する領域である。作動油温表示領域41kは、作動油タンク内の作動油の温度状態を表示する領域である。
カメラ画像表示領域41mは、第1空間認識装置としての撮像装置S6が撮像した画像を表示する領域である。図10の例では、カメラ画像表示領域41mは、カメラS6Bが撮像した画像を表示している。カメラS6Bが撮像した画像は、ショベル100の後方の空間を映し出す後方画像であり、カウンタウェイトの画像3aを含む。
現重量表示領域41pは、バケット6内の土砂の重量(現重量)を表示する領域である。図10は、現重量が550kgであることを示している。
累積重量表示領域41qは、ダンプトラックの積載量(累積重量)を表示する領域である。図10は、累積重量が9500kgであることを示している。
累積重量は、積み込み対象のダンプトラックが入れ替わる度にリセットされる。本実施形態では、コントローラ30は、ダンプトラックの入れ替わりを自動的に認識して累積重量を自動的にゼロにリセットするように構成されている。具体的には、コントローラ30は、撮像装置S6が撮像した画像を利用してダンプトラックの入れ替わりを認識する。コントローラ30は、通信装置を利用してダンプトラックの入れ替わりを認識してもよい。或いは、コントローラ30は、リセットボタンが押されたときに累積重量をリセットしてもよい。リセットボタンは、ソフトウェアボタンであってもよく、入力装置42、左操作レバー、又は右操作レバー等に配置されるハードウェアボタンであってもよい。
この構成により、ショベル100は、ダンプトラックの最大積載重量を超えて、ダンプトラックの荷台に土砂等の積載物が積み込まれてしまうのを防止できる。最大積載重量を超えて積載物が積み込まれていることが台貫での重量測定によって検知されると、ダンプトラックの運転者は、積み込みヤードに戻り、荷台に積み込まれた積載物の一部を下ろす作業を行う必要がある。ショベル100は、このような積載重量の調整作業の発生を防止できる。
表示装置40は、所定の期間中に1又は複数台のダンプトラックの荷台に積み込まれた積載物の合計を表示するように構成されていてもよい。所定の期間は、例えば、1日の作業を開始する時刻から1日の作業を終了する時刻までの期間であってもよい。1日の作業によって作業現場から運び出された積載物の総重量を操作者又は管理者が容易に認識できるようにするためである。
また、コントローラ30は、撮像装置S6が撮像した画像に基づき、バケット6内の土砂がダンプトラックの荷台に積み込まれたことを認識した上で、現重量を積算するように構成されていてもよい。ダンプトラックの荷台以外の場所に移された土砂がダンプトラックに積み込まれた土砂として積算されてしまうのを防止するためである。
コントローラ30は、アタッチメントの姿勢に基づき、バケット6内の土砂がダンプトラックの荷台に積み込まれたか否かを判定してもよい。具体的には、コントローラ30は、例えば、バケット6の高さが所定値(例えば、ダンプトラックの荷台の高さ)を超え且つバケット6が開かれた場合に、土砂がダンプトラックの荷台に積み込まれたと判定してもよい。
残重量表示領域41sは、残重量を表示する領域である。最大積載重量表示領域41tは、最大積載重量を表示する領域である。図10は、累積重量が9500kgで、残重量が500kgで、且つ、最大積載重量が10000kgであることを示している。但し、表示装置40は、残重量を表示させずに最大積載重量を表示させてもよい。
体積表示領域41uは、バケット6内の土砂の体積を表示する領域である。図10は、体積が1.00m3であることを示している。密度表示領域41wは、バケット6内の土砂の密度を表示する領域である。図10は、体積が550kg/m3であることを示している。
メッセージ表示領域41m1には、メッセージが表示される。例えば、累積重量が最大積載重量を超過した場合にメッセージが表示される。これにより、コントローラ30は、オペレータに積み降ろし作業を促すことができ、ダンプトラックの過積載を防止することができる。
[重量算出部64における土砂重量算出方法]
次に、図9を参照しつつ、図11を用いて、ショベル100の重量算出部64におけるバケット6内の土砂(積載物)の重量を算出する方法について説明する。
図11は、土砂重量の算出に関するパラメータを説明する模式図である。図11(a)はショベル100を示し、図11(b)はバケット6付近を示す。尚、以下の説明において、後述するピンP1とバケット重心G3及び土砂重心Gsが水平線L1上に配置されているものとして説明する。
ここで、上部旋回体3とブーム4を連結するピンをP1とする。上部旋回体3とブームシリンダ7を連結するピンをP2とする。ブーム4とブームシリンダ7を連結するピンをP3とする。ブーム4とアームシリンダ8を連結するピンをP4とする。アーム5とアームシリンダ8を連結するピンをP5とする。ブーム4とアーム5を連結するピンをP6とする。アーム5とバケット6を連結するピンをP7とする。また、ブーム4の重心をG1とする。アーム5の重心をG2とする。バケット6の重心をG3とする。バケット6に積載された土砂(積載物)の重心をGsとする。基準線L2は、ピンP7を通りバケット6の開口面と平行な線とする。また、ピンP1とブーム4の重心G1との距離をD1とする。ピンP1とアーム5の重心G2との距離をD2とする。ピンP1とバケット6の重心G3との距離をD3とする。ピンP1と土砂の重心Gsとの距離をDsとする。ピンP2とピンP3を結ぶ直線(一点鎖線)と、ピンP1との距離をDcとする。また、ブームシリンダ7のシリンダ圧による力をFb(矢印参照。)とする。また、ブーム重量(ブーム4の自重による重力)のうち、ピンP1とブーム重心G1を結ぶ直線に対して垂直方向の垂直成分をW1a(矢印参照。)とする。アーム重量(アーム5の自重による重力)のうち、ピンP1とアーム重心G2を結ぶ直線に対して垂直方向の垂直成分をW2aとする。バケット6の重量をW6とし、バケット6に積載された土砂(積載物)の重量をWs(矢印参照。)とする。
図11(a)に示すように、ピンP7の位置は、ブーム角度及びアーム角度により算出される。即ち、ピンP7の位置は、ブーム角度センサS1及びアーム角度センサS2の検出値に基づいて算出される。
また、図11(b)に示すように、ピンP7とバケット重心G3との位置関係(バケット6の基準線L2と、ピンP7とバケット重心G3を結ぶ直線との間の角度θ4。ピンP7とバケット重心G3との距離D4。)は、既定値である。また、ピンP7と土砂重心Gsとの位置関係(バケット6の基準線L2と、ピンP7と土砂重心Gsを結ぶ直線との間の角度θ5。ピンP7と土砂重心Gsとの距離D5。)は、例えば、実験的に予め求められ、コントローラ30に記憶されていてもよい。即ち、コントローラ30は、バケット角度センサS3の出力に基づいて、土砂重心Gs及びバケット重心G3の位置を推定することができる。
即ち、重心算出部68は、ブーム角度センサS1、アーム角度センサS2、及びバケット角度センサS3の検出値に基づいて、所定の座標系における土砂重心Gsの位置を推定することができる。所定の座標系は、例えば、形状推定装置S10の位置を原点とする3次元直交座標系Σarmである。
但し、重心算出部68は、形状推定装置S10としてのLIDARの検出値に基づき、或いは、形状推定装置S10としてのLIDARの検出値と、ブーム角度センサS1、アーム角度センサS2、及びバケット角度センサS3のそれぞれの検出値とに基づき、土砂重心Gsを推定してもよい。
次に、ピンP1回りの各モーメントの釣り合いの式は、以下の式(A1)で表すことができる。
Ws×Ds+W1a×D1+W2a×D2+W3×D3=Fb×Dc ・・・(A1)
式(A1)を土砂重量Wsについて展開すると、以下の式(A2)で表すことができる。
Ws=(Fb×Dc−(W1a×D1+W2a×D2+W3×D3))/Ds ・・・(A2)
ここで、ブームシリンダ7のシリンダ圧による力Fbは、ブームロッド圧センサS7R及びブームボトム圧センサS7Bのうちの少なくとも1つの検出値より算出される。距離Dc及びブーム重量の垂直成分W1aは、ブーム角度センサS1の検出値より算出される。アーム重量の垂直成分W2a及び距離D2は、ブーム角度センサS1及びアーム角度センサS2のそれぞれの検出値より算出される。距離D1及びバケット重量W3(バケット6の自重による重力)は既知の値である。また、土砂重心Gsとバケット重心G3を推定したことにより、距離Ds、距離D3も推定される。
よって、土砂重量Wsは、ブームシリンダ7のシリンダ圧の検出値(ブームロッド圧センサS7R、及び、ブームボトム圧センサS7Bのうちの少なくとも一方の検出値)、ブーム角度(ブーム角度センサS1の検出値)、及びアーム角度(アーム角度センサS2の検出値)に基づいて算出され得る。これにより、重量算出部64は、重心算出部68で推定した土砂重心Gsに基づいて土砂重量Wsを算出することができる。
重量算出部64は、望ましくは、ショベル100が規定動作を行っていると判定したときに、土砂重量Wsを算出する。ショベル100が規定動作を行っているか否かは、例えば、バケットシリンダ9のパイロット圧の検出値に基づいて、バケット6の姿勢を推定することにより、判定することができる。
尚、重量算出部64は、規定動作が行われているときには、バケット6の開口面が水平であるものとみなして、土砂重心を推定し、土砂重量を算出する。しかしながら、重量算出部64は、前方を撮像するカメラS6Fでバケット6を撮像し、その画像に基づいて、バケット6の姿勢を推定してもよい。また、重量算出部64は、カメラS6Fでバケット6を撮像し、その画像に基づいて、バケット6の開口面が水平であると判定した場合に土砂重心の推定及び土砂重量の算出を行ってもよい。
このように、図9〜図11に示す例では、コントローラ30は、バケット6内に取り込まれている物(土砂等)の重心を算出した上で、バケット6内に取り込まれている物の重量を算出するように構成されている。そのため、コントローラ30は、バケット6内に取り込まれている物の重量を正確に導き出すことができる。但し、コントローラ30は、バケット6内に取り込まれている物(土砂等)の重心を算出することなく、バケット6内に取り込まれている物の重量を算出してもよい。
上述のように、本発明の実施形態に係るショベル100は、下部走行体1と、下部走行体1に旋回可能に搭載される上部旋回体3と、上部旋回体3に取り付けられるアタッチメントと、アタッチメントを構成するバケット6と、アタッチメントに取り付けられる空間認識装置としての形状推定装置S10と、形状推定装置S10の出力に基づいてバケット6内に取り込まれた物の形状を算出する制御装置としてのコントローラ30と、を備えている。この構成により、ショベル100は、バケット6内に取り込まれた物の形状から、バケット6内に取り込まれている物の体積を取得できる。
コントローラ30は、形状推定装置S10の出力と姿勢センサの出力とに基づいてバケット6内に取り込まれた物の形状を算出するように構成されていてもよい。姿勢センサは、例えば、ブーム角度センサS1、アーム角度センサS2、バケット角度センサS3、機体傾斜センサS4、及び旋回状態センサS5のうちの少なくとも1つである。例えば、コントローラ30は、形状推定装置S10の出力に基づいてバケット6内に取り込まれている土砂の表面(上面)の形状を算出することができる。また、コントローラ30は、姿勢センサの出力に基づいてバケット6の現在の位置及び姿勢を導き出すことができる。すなわち、コントローラ30は、バケット6内に取り込まれた土砂の底面(下面)に相当するバケット6の内面の位置及び姿勢を導き出すことができる。その結果、コントローラ30は、バケット6内に取り込まれている土砂の表面(上面)及び底面(下面)の形状、すなわち、バケット6内に取り込まれている土砂の外面の全体形状を導き出すことができる。この構成により、ショベル100は、バケット6内に取り込まれた物の外面の全体形状から、バケット6内に取り込まれている物の体積を取得できる。この場合、ショベル100は、予めバケット6内の土砂の密度がコントローラ30へ入力されている場合には、算出された体積に基づいてバケット6内の土砂の重量も算出することができる。
形状推定装置S10は、アタッチメントに取り付けられた空間認識装置と、上部旋回体3に取り付けられた空間認識装置とを含んでいてもよい。例えば、図8に示すように、形状推定装置S10は、アーム5の腹面に取り付けられた第1形状推定装置S10Aと、キャビン10の下部前端に取り付けられた第2形状推定装置S10Cとを含んでいてもよい。この構成により、ショベル100は、アタッチメントに取り付けられた空間認識装置ばかりでなく、上部旋回体3に取り付けられた空間認識装置によってもバケット6を測定できるため、バケット6の位置及び形状をより正確に推定できる。特に、上部旋回体3に取り付けられた空間認識装置がバケット6の正面FSを測定できるため、ショベル100は、バケット6の位置及び形状をより正確に推定できる。
アタッチメントに取り付けられた空間認識装置としての形状推定装置S10は、バケット6を監視範囲内に含む第1の空間認識装置と、上部旋回体3を監視範囲に含む第2の空間認識装置とを含んでいてもよい。或いは、形状推定装置S10は、バケット6及び上部旋回体3を監視範囲に含む1又は複数の空間認識装置であってもよい。例えば、図8に示すように、空間認識装置としての第1形状推定装置S10Aは、バケット6を監視範囲内に含む第1の空間認識装置としてのRGB−Dセンサと、上部旋回体3を監視範囲に含む第2の空間認識装置としてのRGB−Dセンサとを含んでいてもよい。そして、バケット6を監視範囲内に含むRGB−Dセンサと、上部旋回体3を監視範囲に含むRGB−Dセンサとは、同じ1つのRGB−Dセンサであってもよく、別々のRGB−Dセンサであってもよい。この構成により、アタッチメントに取り付けられた形状推定装置S10は、バケット6の状態を測定できるばかりでなく、形状推定装置S10自体の状態をも測定できる。形状推定装置S10自体の状態は、例えば、形状推定装置S10の位置及び姿勢である。そのため、この構成では、姿勢センサは省略されてもよい。アタッチメントに取り付けられた形状推定装置S10は、自身が取得した情報に基づき、ブーム4、アーム5、及びバケット6の位置及び姿勢を認識できるためである。
コントローラ30は、バケット6の設計データを用いてバケット6内に取り込まれた物の体積を推定するように構成されていてもよい。バケット6の設計データは、例えば、バケット6の幅、長さ、開口面と正面FSとの間の角度等を含む。バケット6の設計データは、例えば、ショベル100に搭載されている記憶装置にCADモデルとして記憶されていてもよい。この構成により、コントローラ30は、バケット6の正面FS等のバケット6の一部の位置及び姿勢に関する情報を取得するだけで、バケット6の全体の位置及び姿勢を導き出すことができる。そして、コントローラ30は、バケット6の全体の位置及び姿勢から、バケット6内に取り込まれている物の形状(特に、バケット6内に取り込まれている物の底面等、形状推定装置S10による測定が行われない部分の形状)を導き出すことができる。その結果、コントローラ30は、バケット6内に取り込まれている物の外面の全体形状を認識することができ、その全体形状から物の体積を導き出すことができる。
コントローラ30は、複数の時点での形状推定装置S10の出力に基づいてバケット6内に取り込まれた物の体積を推定するように構成されていてもよい。この場合、バケット6の姿勢は、各時点で異なる。例えば、コントローラ30は、第1時点においてバケット6が所定の第1姿勢になったときに推定した体積V、及び、第2時点においてバケット6が所定の第2姿勢になったときに推定した体積Vのうちの大きい方を最終的な体積Vとしてもよい。或いは、コントローラ30は、第1時点においてバケット6が所定の第1姿勢になったときに推定した体積V、第2時点においてバケット6が所定の第2姿勢になったときに推定した体積V、及び、第3時点においてバケット6が所定の第3姿勢になったときに推定した体積Vのうちの最小値を最終的な体積Vとしてもよい。この構成により、コントローラ30は、推定する体積Vの精度を高めることができる。1つの時点で推定した不適切な体積Vの値によって最終的な体積Vの値が決まってしまうのを抑制或いは防止できるためである。
コントローラ30は、アタッチメントを駆動する油圧アクチュエータにおける作動油の圧力に基づいてバケット6内に取り込まれた物の重量を算出し、且つ、バケット6内に取り込まれた物の重量と体積とに基づいてその物の密度を算出するように構成されていてもよい。例えば、コントローラ30は、ブームボトム圧に基づいてバケット6内に取り込まれた土砂の重量を算出し、その土砂の重量と上述の処理によって導き出した土砂の体積とに基づいてその土砂の密度を算出してもよい。この構成により、コントローラ30は、バケット6内に取り込まれている物の密度を導き出すことができる。そして、コントローラ30は、例えば、物の密度を一旦導き出した後は、ブーム上げ操作が行われる度に物の重量を導き出すことなく、物の体積を導き出すだけで物の重量を算出できる。
コントローラ30は、バケット6内に取り込まれた土砂の密度に基づいてその土砂の特性を導き出すように構成されていてもよい。例えば、コントローラ30は、上述の処理で導き出した土砂の密度を検索キーとして、ショベル100に搭載されている記憶装置に予め記憶された土砂特性テーブルを参照することにより、その密度に対応する土砂特性を導き出してもよい。この構成により、コントローラ30は、例えば、導き出した土砂特性に関する情報をショベル100の操作者に提示できる。或いは、コントローラ30は、導き出した土砂特性に応じ、マシンガイダンス機能又はマシンコントロール機能によって実現されるショベル100の動きを調整できる。
以上、具体例を参照しつつ本実施形態について説明した。しかし、本発明はこれらの具体例に限定されるものではない。これら具体例に、当業者が適宜設計変更を加えたものも、本発明の特徴を備えている限り、本発明の範囲に包含される。前述した各具体例が備える各要素及びその配置、条件、及び形状等は、例示したものに限定されるわけではなく適宜変更され得る。前述した各具体例が備える各要素は、技術的な矛盾が生じない限り、適宜組み合わされてもよい。