最初に、図1を参照し、本発明の実施例に係る建設機械としてのショベル(掘削機)について説明する。図1は、本発明の実施例に係るショベルの側面図である。図1に示すショベルの下部走行体1には旋回機構2を介して上部旋回体3が搭載される。上部旋回体3にはブーム4が取り付けられる。ブーム4の先端にはアーム5が取り付けられ、アーム5の先端にはバケット6が取り付けられる。作業要素としてのブーム4、アーム5、及びバケット6は、アタッチメントの一例である掘削アタッチメントを構成する。アタッチメントは、床堀アタッチメント、均しアタッチメント、浚渫アタッチメント等の他のアタッチメントであってもよい。ブーム4、アーム5、及びバケット6は、ブームシリンダ7、アームシリンダ8、及びバケットシリンダ9によりそれぞれ油圧駆動される。上部旋回体3にはキャビン10が設けられ、エンジン11等の動力源が搭載される。上部旋回体3には通信装置M1、測位装置M2、及び姿勢検出装置M3が取り付けられる。
通信装置M1は、ショベルと外部との間の通信を制御する。本実施例では、通信装置M1は、GNSS(Global Navigation Satellite System)測量システムとショベルとの間の無線通信を制御する。具体的には、通信装置M1は、例えば1日1回の頻度で、ショベルの作業を開始する際に作業現場の地形情報を取得する。GNSS測量システムは、例えばネットワーク型RTK-GNSS測位方式を採用する。
測位装置M2は、ショベルの位置及び向きを測定する。本実施例では、測位装置M2は、電子コンパスを組み込んだGNSS受信機であり、ショベルの存在位置の緯度、経度、高度を測定し、且つ、ショベルの向きを測定する。
姿勢検出装置M3は、アタッチメントの姿勢を検出する。本実施例では、姿勢検出装置M3は、掘削アタッチメントの姿勢を検出する。
図2は、図1のショベルに搭載される姿勢検出装置M3を構成する各種センサの出力内容の一例を示すショベルの側面図である。具体的には、姿勢検出装置M3は、ブーム角度センサM3a、アーム角度センサM3b、バケット角度センサM3c、及び車体傾斜センサM3dを含む。
ブーム角度センサM3aは、ブーム角度を取得するセンサであり、例えば、ブームフートピンの回転角度を検出する回転角度センサ、ブームシリンダ7のストローク量を検出するストロークセンサ、ブーム4の傾斜角度を検出する傾斜(加速度)センサ等を含む。ブーム角度センサM3aは、例えば、ブーム角度θ1を取得する。ブーム角度θ1は、XZ平面において、ブームフートピン位置P1とアーム連結ピン位置P2とを結ぶ線分P1-P2の水平線に対する角度である。
アーム角度センサM3bは、アーム角度を取得するセンサであり、例えば、アーム連結ピンの回転角度を検出する回転角度センサ、アームシリンダ8のストローク量を検出するストロークセンサ、アーム5の傾斜角度を検出する傾斜(加速度)センサ等を含む。アーム角度センサM3bは、例えば、アーム角度θ2を取得する。アーム角度θ2は、XZ平面において、アーム連結ピン位置P2とバケット連結ピン位置P3とを結ぶ線分P2-P3の水平線に対する角度である。
バケット角度センサM3cは、バケット角度を取得するセンサであり、例えば、バケット連結ピンの回転角度を検出する回転角度センサ、バケットシリンダ9のストローク量を検出するストロークセンサ、バケット6の傾斜角度を検出する傾斜(加速度)センサ等を含む。バケット角度センサM3cは、例えば、バケット角度θ3を取得する。バケット角度θ3は、XZ平面において、バケット連結ピン位置P3とバケット爪先位置P4とを結ぶ線分P3-P4の水平線に対する角度である。
車体傾斜センサM3dは、ショベルのY軸回りの傾斜角θ4、及び、ショベルのX軸回りの傾斜角θ5(図示せず。)を取得するセンサであり、例えば2軸傾斜(加速度)センサ等を含む。図2のXY平面は水平面である。
次に、図3を参照してショベルの基本システムについて説明する。ショベルの基本システムは、主に、エンジン11、メインポンプ14、パイロットポンプ15、コントロールバルブ17、操作装置26、コントローラ30、及びエンジン制御装置(ECU)74等を含む。
エンジン11はショベルの駆動源であり、例えば、所定の回転数を維持するように動作するディーゼルエンジンである。エンジン11の出力軸はメインポンプ14及びパイロットポンプ15の入力軸に接続される。
メインポンプ14は、高圧油圧ライン16を介して作動油をコントロールバルブ17に供給する油圧ポンプであり、例えば、斜板式可変容量型油圧ポンプである。メインポンプ14は、斜板の角度(傾転角)を変更することでピストンのストローク長を調整し、吐出流量、すなわち、ポンプ出力を変化させることができる。メインポンプ14の斜板は、レギュレータ14aにより制御される。レギュレータ14aは、電磁比例弁(不図示)に対する制御電流の変化に応じて斜板の傾転角を変化させる。例えば、制御電流の増加に応じ、レギュレータ14aは、斜板の傾転角を大きくして、メインポンプ14の吐出流量を多くする。また、制御電流の減少に応じ、レギュレータ14aは、斜板の傾転角を小さくして、メインポンプ14の吐出流量を少なくする。
パイロットポンプ15は、パイロットライン25を介して各種油圧制御機器に作動油を供給するための油圧ポンプであり、例えば、固定容量型油圧ポンプである。
コントロールバルブ17は、油圧システムを制御する油圧制御バルブである。コントロールバルブ17は、レバー又はペダル26A~26Cの操作方向及び操作量に対応するパイロットライン25aの作動油の圧力の変化に応じて動作する。コントロールバルブ17には、メインポンプ14から高圧油圧ライン16を通じて作動油が供給される。コントロールバルブ17は、例えば、ブームシリンダ7、アームシリンダ8、バケットシリンダ9、左走行用油圧モータ1A、右走行用油圧モータ1B、及び旋回用油圧モータ2Aのうちの一又は複数のものに対し、作動油を選択的に供給する。以下の説明では、ブームシリンダ7、アームシリンダ8、バケットシリンダ9、左走行用油圧モータ1A、右走行用油圧モータ1B、及び旋回用油圧モータ2Aを集合的に「油圧アクチュエータ」と称する。
操作装置26は、操作者が油圧アクチュエータの操作のために用いる装置である。操作装置26は、パイロットライン25を介してパイロットポンプ15から作動油の供給を受ける。そして、パイロットライン25aを通じて、油圧アクチュエータのそれぞれに対応する流量制御弁のパイロットポートにその作動油を供給する。パイロットポートのそれぞれに供給される作動油の圧力は、油圧アクチュエータのそれぞれに対応するレバー又はペダル26A~26Cの操作方向及び操作量に対応する圧力とされる。
コントローラ30は、ショベルを制御するための制御装置であり、例えば、CPU、RAM、ROM等を備えたコンピュータで構成される。コントローラ30のCPUは、ショベルの動作や機能に対応するプログラムをROMから読み出してRAMにロードし且つ実行することで、それらプログラムのそれぞれに対応する処理を実行させる。
具体的には、コントローラ30は、メインポンプ14の吐出流量の制御を行う。例えば、ネガティブコントロール圧に応じて上記制御電流を変化させ、レギュレータ14aを介してメインポンプ14の吐出流量を制御する。
エンジン制御装置(ECU)74は、エンジン11を制御する。エンジン制御装置(ECU)74は、例えば、コントローラ30からの指令に基づき、エンジン回転数調整ダイヤル75により操作者が設定したエンジン回転数(モード)に応じてエンジン11の回転数を制御するための燃料噴射量等をエンジン11に出力する。
エンジン回転数調整ダイヤル75は、キャビン10内に設けられる、エンジン回転数を調整するためのダイヤルであり、本実施例では、Rmax、R4、R3、R2及びR1の5段階でエンジン回転数を切り換えることができる。図4は、エンジン回転数調整ダイヤル75でR4が選択された状態を示す。
Rmaxは、エンジン11の最高回転数であり、作業量を優先したい場合に選択される。R4は、二番目に高いエンジン回転数であり、作業量と燃費を両立させたい場合に選択される。R3及びR2は、三番目及び四番目に高いエンジン回転数であり、燃費を優先させながら低騒音でショベルを稼働させたい場合に選択される。R1は、最も低いエンジン回転数(アイドリング回転数)であり、エンジン11をアイドリング状態にしたい場合に選択されるアイドリングモードにおけるエンジン回転数である。例えば、Rmax(最高回転数)を2000rpm、R1(アイドリング回転数)を1000rpmとし、その間を250rpm毎に、R4(1750rpm)、R3(1500rpm)、R2(1250rpm)と多段階に設定してよい。そして、エンジン11は、エンジン回転数調整ダイヤル75で設定されたエンジン回転数で一定に回転数制御される。ここでは、エンジン回転数調整ダイヤル75による5段階でのエンジン回転数調整の事例を示したが、5段階には限られず何段階であってもよい。
ショベルには、操作者による操作を補助するために表示装置40がキャビン10の運転席の近傍に配置されている。操作者は表示装置40の入力部42を利用して情報及び指令をコントローラ30に入力できる。ショベルは、ショベルの運転状況及び制御情報を表示装置40の画像表示部41に表示させることで、操作者に情報を提供できる。
表示装置40は、画像表示部41及び入力部42を含む。表示装置40は、キャビン10内のコンソールに固定される。一般的に、運転席に着座した操作者からみて右側にブーム4が配置されており、操作者はブーム4の先端に取り付けられたアーム5、及び、アーム5の先端に取り付けられたバケット6を視認しながらショベルを操作することが多い。キャビン10の右側前方のフレームは操作者の視界の妨げとなる部分である。本実施例では、この部分を利用して表示装置40が設けられている。もともと視界の妨げとなっていた部分に表示装置40が配置されるので、表示装置40自体が操作者の視界を大きく妨げることは無い。フレームの幅にもよるが、表示装置40全体がフレームの幅に入るように、表示装置40は、画像表示部41が縦長となるように構成されてもよい。
本実施例では、表示装置40は、CAN、LIN等の通信ネットワークを介してコントローラ30に接続される。表示装置40は、専用線を介してコントローラ30に接続されてもよい。
表示装置40は、画像表示部41上に表示する画像を生成する変換処理部40aを含む。本実施例では、変換処理部40aは、ショベルに取り付けられた撮像装置M5の出力に基づいて画像表示部41上に表示するカメラ画像を生成する。そのため、撮像装置M5は、例えば専用線を介して表示装置40に接続される。また、変換処理部40aは、コントローラ30の出力に基づいて画像表示部41上に表示する画像を生成する。
変換処理部40aは、表示装置40が有する機能としてではなく、コントローラ30が有する機能として実現されてもよい。この場合、撮像装置M5は、表示装置40ではなく、コントローラ30に接続される。
表示装置40は、入力部42としてのスイッチパネルを含む。スイッチパネルは、各種ハードウェアスイッチを含むパネルである。本実施例では、スイッチパネルは、ハードウェアボタンとしてのライトスイッチ42a、ワイパースイッチ42b、及びウインドウォッシャスイッチ42cを含む。ライトスイッチ42aは、キャビン10の外部に取り付けられるライトの点灯・消灯を切り換えるためのスイッチである。ワイパースイッチ42bは、ワイパーの作動・停止を切り換えるためのスイッチである。ウインドウォッシャスイッチ42cは、ウインドウォッシャ液を噴射するためのスイッチである。
表示装置40は、蓄電池70から電力の供給を受けて動作する。蓄電池70はオルタネータ11a(発電機)で発電した電力で充電される。蓄電池70の電力は、コントローラ30及び表示装置40以外のショベルの電装品72等にも供給される。エンジン11のスタータ11bは、蓄電池70からの電力で駆動され、エンジン11を始動する。
エンジン11は、エンジン制御装置(ECU)74により制御される。ECU74からは、エンジン11の状態を示す各種データ(例えば、水温センサ11cで検出される冷却水温(物理量)を示すデータ)がコントローラ30に常時送信される。コントローラ30は一時記憶部(メモリ)30aにこのデータを蓄積しておき、必要なときに表示装置40に送信できる。
また、以下のように各種のデータがコントローラ30に供給され、一時記憶部30aに格納される。
レギュレータ14aから斜板の傾転角を示すデータがコントローラ30に供給される。また、メインポンプ14の吐出圧力を示すデータが、吐出圧力センサ14bからコントローラ30に送られる。これらのデータ(物理量を表すデータ)は一時記憶部30aに格納される。メインポンプ14が吸入する作動油が貯蔵されたタンクとメインポンプ14との間の管路には、油温センサ14cが設けられている。その管路を流れる作動油の温度を表すデータが、油温センサ14cからコントローラ30に供給される。
レバー又はペダル26A~26Cが操作されると、パイロットライン25aを通じてコントロールバルブ17に送られるパイロット圧が、パイロット圧センサ15a、15bで検出される。そして、パイロット圧を示すデータがコントローラ30に供給される。
エンジン回転数調整ダイヤル75からは、エンジン回転数の設定状態を示すデータがコントローラ30に常時送信される。
外部演算装置30Eは、通信装置M1、測位装置M2、姿勢検出装置M3、撮像装置M5等の出力に基づいて各種演算を行い、演算結果をコントローラ30に対して出力する制御装置である。本実施例では、外部演算装置30Eは蓄電池70から電力の供給を受けて動作する。
図4は、図1のショベルに搭載される駆動系の構成例を示す図であり、機械的動力伝達ライン、高圧油圧ライン、パイロットライン、及び電気制御ラインをそれぞれ二重線、実線、破線、及び点線で示す。
ショベルの駆動系は、主に、エンジン11、メインポンプ14L、14R、吐出流量調整装置14aL、14aR、パイロットポンプ15、コントロールバルブ17、操作装置26、操作内容検出装置29、コントローラ30、外部演算装置30E、及びパイロット圧調整装置50を含む。
コントロールバルブ17は、メインポンプ14L、14Rが吐出する作動油の流れを制御する流量制御弁171~176を含む。そして、コントロールバルブ17は、流量制御弁171~176を通じ、ブームシリンダ7、アームシリンダ8、バケットシリンダ9、左走行用油圧モータ1A、右走行用油圧モータ1B、及び旋回用油圧モータ2Aのうちの1又は複数のものに対しメインポンプ14L、14Rが吐出する作動油を選択的に供給する。
操作装置26は、操作者が油圧アクチュエータの操作のために用いる装置である。本実施例では、操作装置26は、パイロットライン25を通じ、パイロットポンプ15が吐出する作動油を油圧アクチュエータのそれぞれに対応する流量制御弁のパイロットポートに供給する。
操作内容検出装置29は、操作装置26を用いた操作者の操作内容を検出する装置である。本実施例では、操作内容検出装置29は、油圧アクチュエータのそれぞれに対応する操作装置26としてのレバー又はペダルの操作方向及び操作量を圧力の形で検出し、検出した値をコントローラ30に対して出力する。操作装置26の操作内容は、ポテンショメータ等、圧力センサ以外の他のセンサの出力を用いて導き出されてもよい。
エンジン11によって駆動されるメインポンプ14L、14Rは、センターバイパス管路40L、40Rを経て作動油タンクまで作動油を循環させる。
センターバイパス管路40Lは、コントロールバルブ17内に配置された流量制御弁171、173、及び175を通る高圧油圧ラインであり、センターバイパス管路40Rは、コントロールバルブ17内に配置された流量制御弁172、174、及び176を通る高圧油圧ラインである。
流量制御弁171、172、173は、左走行用油圧モータ1A、右走行用油圧モータ1B、旋回用油圧モータ2Aに流出入する作動油の流量及び流れ方向を制御するスプール弁である。
流量制御弁174、175、176は、バケットシリンダ9、アームシリンダ8、ブームシリンダ7に流出入する作動油の流量及び流れ方向を制御するスプール弁である。
吐出流量調整装置14aL、14aRは、メインポンプ14L、14Rの吐出流量を調整する機能要素である。本実施例では、吐出流量調整装置14aLはレギュレータであり、コントローラ30からの制御指令に応じてメインポンプ14Lの斜板傾転角を増減させる。そして、斜板傾転角を増減させてメインポンプ14Lの押し退け容積を増減させることでメインポンプ14Lの吐出流量を調整する。具体的には、吐出流量調整装置14aLは、コントローラ30が出力する制御電流が大きくなるにつれて斜板傾転角を増大させて押し退け容積を増大させることでメインポンプ14Lの吐出流量を増大させる。吐出流量調整装置14aRによるメインポンプ14Rの吐出流量の調整についても同様である。
パイロット圧調整装置50は、流量制御弁のパイロットポートに供給されるパイロット圧を調整する機能要素である。本実施例では、パイロット圧調整装置50は、コントローラ30が出力する制御電流に応じ、パイロットポンプ15が吐出する作動油を用いてパイロット圧を増減させる減圧弁である。この構成により、パイロット圧調整装置50は、操作者によるバケット操作レバーの操作とは無関係に、コントローラ30からの制御電流に応じてバケット6を開閉させることができる。また、操作者によるブーム操作レバーの操作とは無関係に、コントローラ30からの制御電流に応じてブーム4を上昇させることができる。
次に、図5を参照して外部演算装置30Eの機能について説明する。図5は、外部演算装置30Eの構成例を示す機能ブロック図である。本実施例では、外部演算装置30Eは、通信装置M1、測位装置M2、姿勢検出装置M3の出力を受けて各種演算を実行し、その演算結果をコントローラ30に対して出力する。コントローラ30は、例えば、その演算結果に応じた制御指令を動作制御部E1に対して出力する。
動作制御部E1はアタッチメントの動きを制御するための機能要素であり、例えば、パイロット圧調整装置50、流量制御弁171~176等を含む。流量制御弁171~176が電気信号に応じて動作する構成である場合、コントローラ30は、流量制御弁171~176に電気信号を直接的に送信する。
動作制御部E1は、アタッチメントの動きを自動調整した旨をショベルの操作者に知らせる情報通知装置を含んでいてもよい。情報通知装置は、例えば、音声出力装置、LEDランプ等を含む。
具体的には、外部演算装置30Eは、主に、地形データベース更新部31、位置座標更新部32、地面形状情報取得部33、及び掘削反力導出部34を含む。
地形データベース更新部31は、作業現場の地形情報を参照可能に体系的に記憶する地形データベースを更新する機能要素である。本実施例では、地形データベース更新部31は、例えばショベルの起動時に通信装置M1を通じて作業現場の地形情報を取得して地形データベースを更新する。地形データベースは不揮発性メモリ等に記憶される。また、作業現場の地形情報は、例えば世界測位系に基づく3次元地形モデルで記述される。地形データベース更新部31は、撮像装置M5が撮像したショベル周辺の画像に基づいて作業現場の地形情報を取得して地形データベースを更新してもよい。
位置座標更新部32は、ショベルの現在位置を表す座標及び向きを更新する機能要素である。本実施例では、位置座標更新部32は、測位装置M2の出力に基づいて世界測位系におけるショベルの位置座標及び向きを取得し、不揮発性メモリ等に記憶されるショベルの現在位置を表す座標及び向きに関するデータを更新する。
地面形状情報取得部33は、作業対象の地面の現在の形状に関する情報を取得する機能要素である。本実施例では、地面形状情報取得部33は、地形データベース更新部31が更新した地形情報と、位置座標更新部32が更新したショベルの現在位置を表す座標及び向きと、姿勢検出装置M3が検出した掘削アタッチメントの姿勢の過去の推移とに基づいて掘削対象地面の現在の形状に関する情報を取得する。また、地面形状情報取得部33は、姿勢検出装置M3による掘削アタッチメントの姿勢の推移に関する情報を用いることなく、撮像装置M5が撮像したショベル周辺の画像に基づいて取得された作業現場の地形情報を用いて掘削対象地面の現在の形状に関する情報を取得してもよい。更に、姿勢検出装置M3による掘削アタッチメントの姿勢の推移に関する情報と撮像装置M5が撮像した画像に基づく地面形状に関する情報とを組み合わせて用いてもよい。この場合、作業中は姿勢検出装置M3による掘削アタッチメントの姿勢の推移に関する情報を用い、所定のタイミングで撮像装置M5が撮像した画像に基づく地面形状に関する情報を用いることで、姿勢検出装置M3に由来する情報を撮像装置M5に由来する情報で補正することもできる。
ここで、図6を参照し、地面形状情報取得部33が掘削動作後の地面形状に関する情報を取得する処理について説明する。図6は、掘削動作後の地面形状に関する情報の概念図である。図6の破線で示す複数のバケット形状X0~X8は、前回の掘削動作の際のバケット6の軌跡を表す。バケット6の軌跡は、姿勢検出装置M3が過去に検出した掘削アタッチメントの姿勢の推移から導き出される。また、図6の太実線は、地面形状情報取得部33が把握している掘削対象地面の現在の断面形状を表し、太点線は、地面形状情報取得部33が把握している前回の掘削動作が行われる前の掘削対象地面の断面形状を表す。すなわち、地面形状情報取得部33は、前回の掘削動作が行われる前の掘削対象地面の形状から、前回の掘削動作の際にバケット6が通過した空間に対応する部分を取り除くことで掘削対象地面の現在の形状を導き出す。このようにして、地面形状情報取得部33は、掘削動作後の地面形状を推定できる。図6の一点鎖線で示すZ軸方向に伸びる各ブロックは3次元地形モデルの各要素を表す。各要素は例えばXY平面に平行な単位面積の上面と-Z方向に無限大の長さを有するモデルで表現される。3次元地形モデルは3次元メッシュモデルで表現されてもよい。
掘削反力導出部34は掘削反力を導き出す機能要素である。掘削反力導出部34は、例えば、掘削アタッチメントの姿勢と掘削対象地面の現在の形状に関する情報とに基づいて掘削反力を導き出す。掘削アタッチメントの姿勢は姿勢検出装置M3によって検出され、掘削対象地面の現在の形状に関する情報は地面形状情報取得部33によって取得される。また、上述の如く、地面形状情報取得部33は、撮像装置M5が撮像したショベル周辺の画像に基づいて取得された作業現場の地形情報を用いて掘削対象地面の現在の形状に関する情報を取得してもよい。更に、掘削反力導出部34は、姿勢検出装置M3による掘削アタッチメントの姿勢の推移に関する情報と撮像装置M5が撮像した画像に基づく地面形状に関する情報とを組み合わせて用いてもよい。
本実施例では、掘削反力導出部34は、所定の計算式を用いて所定の演算周期で掘削反力を導き出す。例えば、掘削深さが深いほど、すなわち、ショベルの接地面とバケット爪先位置P4(図2参照。)との鉛直距離が大きいほど掘削反力が大きくなるように掘削反力を導き出す。また、掘削反力導出部34は、例えば、バケット6の爪先の掘削対象地面に対する地面挿入深さが大きいほど掘削反力が大きくなるように掘削反力を導き出す。掘削反力導出部34は、土砂密度等の土砂特性を考慮して掘削反力を導き出してもよい。土砂特性は、車載入力装置(図示せず。)を通じて操作者が入力する値であってもよく、シリンダ圧センサ等の各種センサの出力に基づいて自動的に算出される値であってもよい。
掘削反力導出部34は、掘削アタッチメントの姿勢と掘削対象地面の現在の形状に関する情報とに基づいて掘削中であるか否かを判定し、その判定結果をコントローラ30に対して出力してもよい。掘削反力導出部34は、例えば、バケット爪先位置P4(図2参照。)と掘削対象地面との間の鉛直距離が所定値以下となった場合に掘削中であると判定する。掘削反力導出部34は、バケット6の爪先と掘削対象地面とが接触する前に掘削中であると判定してもよい。
コントローラ30は、掘削反力導出部34により掘削中であると判定されると、操作者の操作内容に基づいて現在の掘削段階を決定する。コントローラ30自身が、掘削アタッチメントの姿勢と掘削対象地面の現在の形状に関する情報とに基づいて掘削中であるか否かを判定してもよい。本実施例では、コントローラ30は、操作装置26が出力する操作内容に基づいて現在の掘削段階を決定する。
また、コントローラ30は、姿勢検出装置M3の出力と掘削対象地面の現在の形状に関する情報とに基づいてバケット爪先角度αを算出する。バケット爪先角度αは、バケット6の爪先の掘削対象地面に対する角度である。
ここで、図7A~図7Cを参照し、掘削初期段階、掘削中期段階、及び掘削後期段階の3段階を含む掘削段階について説明する。図7A~図7Cは掘削段階を説明する図であり、図7Aが掘削初期段階におけるバケット6と掘削対象地面との関係を示し、図7Bが掘削中期段階におけるバケット6と掘削対象地面との関係を示し、図7Cが掘削後期段階におけるバケット6と掘削対象地面との関係を示す。
掘削初期段階は、図7Aの矢印で示すようにバケット6を鉛直下方に移動させる段階を意味する。そのため、掘削初期段階における掘削反力は、主にバケット6の爪先を掘削対象地面に挿入する際の挿入抵抗で構成され、主に鉛直上方を向く。挿入抵抗はバケット6の爪先の地面挿入深さに比例する。また、挿入抵抗は、バケット6の爪先の地面挿入深さが同じであれば、バケット爪先角度αが略90度のときに最小となる。コントローラ30は、例えば、掘削中にブーム下げ操作が行われていると判定した場合、現在の掘削段階として掘削初期段階を採用する。
掘削中期段階は、図7Bの矢印で示すようにバケット6をショベルの機体側に引き寄せる段階を意味する。そのため、掘削中期段階における掘削反力は、主に掘削対象地面のすべり破壊に対するせん断抵抗力で構成され、主に機体から離れる方向を向く。コントローラ30は、例えば、掘削中にアーム閉じ操作が行われていると判定した場合、現在の掘削段階として掘削中期段階を採用する。或いは、コントローラ30は、掘削中にブーム下げ操作が行われておらず且つアーム閉じ操作が行われていると判定した場合に現在の掘削段階として掘削中期段階を採用してもよい。図6のX4aは、掘削中期段階においてバケット爪先角度αが50度の状態でショベルの機体側に引き寄せられるバケット6の形状を示す。
掘削中期段階における掘削反力は、バケット爪先角度αが小さいほど掘削対象地面のすべり破壊が発生し難くなるために大きくなる。反対に、掘削中期段階における掘削反力は、バケット爪先角度αが大きいほど掘削対象地面のすべり破壊が発生し易くなるために小さくなる。掘削量は、バケット爪先角度αが90度より大きい場合には、バケット爪先角度αが大きいほど小さくなる。
図8は、掘削中期段階におけるバケット爪先角度αと掘削反力及び掘削量との関係の一例を示す。具体的には、横軸がバケット爪先角度αに対応し、左側の第1縦軸が掘削反力に対応し、右側の第2縦軸が掘削量に対応する。図8の掘削量は、バケット爪先角度αを任意の角度で維持した状態で、所定の深さ及び所定の引き寄せ距離で掘削を行った場合の掘削量を表す。掘削反力の推移は実線で表され、掘削量の推移は破線で表される。図8の例では、掘削中期段階における掘削反力は、バケット爪先角度αが小さいほど大きい。掘削量は、バケット爪先角度αが100度付近で極大値となり、100度付近から離れるにつれて減少する。図8のドットパターンで示すバケット爪先角度αの角度範囲(90度以上180度以下の範囲)は、掘削反力と掘削量の適切なバランスをもたらす掘削中期段階に適したバケット爪先角度αの角度範囲の一例である。掘削初期段階から掘削中期段階に移行するときにも同様の傾向を示す。
掘削後期段階は、図7Cの矢印で示すようにバケット6を鉛直上方に持ち上げる段階を意味する。そのため、掘削後期段階における掘削反力は、主にバケット6内に取り込まれた土砂等の重量で構成され、主に鉛直下方を向く。コントローラ30は、例えば、掘削中にブーム上げ操作が行われていると判定した場合、現在の掘削段階として掘削後期段階を採用する。或いは、コントローラ30は、掘削中にアーム閉じ操作が行われておらず且つブーム上げ操作が行われていると判定した場合に現在の掘削段階として掘削後期段階を採用してもよい。
また、コントローラ30は、バケット爪先角度α及び掘削反力の少なくとも一方と現在の掘削段階とに基づいてバケット6の姿勢を自動的に調整する制御(以下、「バケット姿勢制御」とする。)を実行するか否かを判定する。
また、コントローラ30は、掘削中期段階における掘削反力に基づいてブーム4を自動的に上昇させる制御(以下、「ブーム上げ制御」とする。)を実行するか否かを判定する。本実施例では、コントローラ30は、掘削反力導出部34が導出する掘削反力が所定値以上の場合にブーム上げ制御を実行する。
次に、図9を参照し、バケット姿勢制御を選択的に実行する処理(以下、「バケット姿勢調整処理」とする。)の流れについて説明する。図9は、バケット姿勢調整処理の流れを示すフローチャートである。コントローラ30は、掘削反力導出部34により掘削中であると判定されると、所定周期で繰り返しこのバケット姿勢調整処理を実行する。
最初に、コントローラ30は、掘削段階を決定する(ステップST1)。本実施例では、コントローラ30は、操作装置26が出力する操作内容に基づいて現在の掘削段階を決定する。
その後、コントローラ30は、現在の掘削段階が掘削初期段階であるか否かを判定する(ステップST2)。本実施例では、コントローラ30は、ブーム下げ操作が行われていると判定した場合に現在の掘削段階が掘削初期段階であると判定する。
掘削初期段階であると判定した場合(ステップST2のYES)、コントローラ30は、現在のバケット爪先角度αと初期目標角度(例えば90度)との角度差(絶対値)が所定の閾値TH1より大きいか否かを判定する(ステップST3)。初期目標角度は予め登録されていてもよく、各種情報に基づいて動的に算出されてもよい。
角度差が閾値TH1以下であると判定した場合(ステップST3のNO)、コントローラ30は、バケット姿勢制御を実行することなく、今回のバケット姿勢調整処理を終了させ、通常制御の実行を継続する。すなわち、各種操作レバーのレバー操作量に応じた掘削アタッチメントの駆動を継続する。
一方、角度差が閾値TH1より大きいと判定した場合(ステップST3のYES)、コントローラ30は、バケット姿勢制御を実行する(ステップST4)。ここでは、コントローラ30は、動作制御部E1としてのパイロット圧調整装置50に対する制御電流を調整し、バケットシリンダ9に関連する流量制御弁174のパイロットポートに作用するパイロット圧を調整する。そして、コントローラ30は、バケット爪先角度αが初期目標角度(例えば90度)となるようにバケット6を自動的に開閉させる。
例えば、図7Aに示すようにバケット6の爪先と掘削対象地面とが接触する直前のバケット爪先角度αが50度の場合、コントローラ30は、初期目標角度(90度)との角度差(40度)が閾値TH1より大きいと判定する。そして、コントローラ30は、パイロット圧調整装置50に対する制御電流を調整してバケット6を自動的に閉じさせ、バケット爪先角度αが初期目標角度(90度)となるようにする。
このバケット姿勢制御により、コントローラ30は、バケット6が掘削対象地面と接触するときのバケット爪先角度αを常に掘削初期段階に適した角度(略90度)に調整できる。その結果、挿入抵抗を小さくして掘削反力を低減させることができる。
ステップST2において、掘削初期段階でないと判定した場合(ステップST2のNO)、コントローラ30は、現在の掘削段階が掘削中期段階であるか否かを判定する(ステップST5)。本実施例では、コントローラ30は、アーム閉じ操作が行われていると判定した場合に現在の掘削段階が掘削中期段階であると判定する。
掘削中期段階であると判定した場合(ステップST5のYES)、コントローラ30は、バケット爪先角度αが許容最小角度(例えば90度)未満であるか否かを判定する(ステップST6)。なお、許容最小角度は予め登録されていてもよく、各種情報に基づいて動的に算出されてもよい。
バケット爪先角度αが許容最小角度(90度)未満であると判定した場合(ステップST6のYES)、コントローラ30は、掘削反力が過度に大きくなるおそれがあると判断し、バケット姿勢制御を実行する(ステップST7)。ここでは、コントローラ30は、パイロット圧調整装置50に対する制御電流を調整し、流量制御弁174のパイロットポートに作用するパイロット圧を調整する。そして、コントローラ30は、バケット爪先角度αが掘削中期段階に適した角度(例えば、90度以上180度以下の角度)となるようにバケット6を自動的に閉じさせる。掘削中期段階に適した角度は予め登録されていてもよく、各種情報に基づいて動的に算出されてもよい。コントローラ30は、許容最小角度の代わりに掘削中期段階に適した角度としての中期目標角度を用いてもよい。そして、許容最小角度未満であるかを判定する代わりに、現在のバケット爪先角度αと中期目標角度との角度差(絶対値)が所定の閾値より大きいかを判定してもよい。そして、その角度差が所定の閾値より大きいと判定した場合にバケット爪先角度αが中期目標角度となるようにバケット6を自動的に開閉させる。中期目標角度は予め登録されていてもよく、各種情報に基づいて動的に算出されてもよい。
例えば、図7Bに示すようにバケット6をショベルの機体側に引き寄せる直前のバケット爪先角度αが85度の場合、コントローラ30は、バケット爪先角度αが許容最小角度(90度)未満であると判定する。そして、コントローラ30は、パイロット圧調整装置50に対する制御電流を調整してバケット6を自動的に閉じさせ、バケット爪先角度αが掘削中期段階に適した角度(例えば100度)となるようにする。
このバケット姿勢制御により、コントローラ30は、掘削中期段階のバケット爪先角度αを常に掘削中期段階に適した角度(90度以上180度以下の角度)に調整できる。その結果、掘削反力を低減させながらも掘削量の低下を抑制できる。
一方、バケット爪先角度αが許容最小角度(90度)以上であると判定した場合(ステップST6のNO)、コントローラ30は、掘削反力が所定の閾値TH2より大きいか否かを判定する(ステップST8)。本実施例では、コントローラ30は、掘削反力導出部34が導出した掘削反力が閾値TH2より大きいか否かを判定する。コントローラ30は、アームシリンダ8のボトム側油室における作動油の圧力(以下、「アームボトム圧」とする。)、バケットシリンダ9のボトム側油室における作動油の圧力(以下、「バケットボトム圧」とする。)等に基づいて掘削反力を算出してもよい。
掘削反力が閾値TH2以下であると判定した場合(ステップST8のNO)、コントローラ30は、バケット姿勢制御を実行することなく、今回のバケット姿勢調整処理を終了させ、通常制御の実行を継続する。現在のバケット爪先角度αで掘削作業を継続可能と判断できるためである。
掘削反力が閾値TH2より大きいと判定した場合(ステップST8のYES)、コントローラ30は、その掘削反力が所定の閾値TH3(>TH2)以下であるか否かを判定する(ステップST9)。
そして、掘削反力が閾値TH3以下であると判定した場合(ステップST9のYES)、コントローラ30は、現在のバケット爪先角度αでは掘削作業を継続できないおそれがあると判断し、バケット姿勢制御を実行する(ステップST10)。ここでは、コントローラ30は、パイロット圧調整装置50に対する制御電流を調整し、流量制御弁174のパイロットポートに作用するパイロット圧を調整する。そして、コントローラ30は、掘削反力が閾値TH2以下となるようにバケット6を自動的に閉じさせてバケット爪先角度αを増大させる。掘削対象地面のすべり破壊が発生し易くなるようにして掘削反力を低減させるためである。
一方、掘削反力が閾値TH3より大きいと判定した場合(ステップST9のNO)、コントローラ30は、バケット姿勢制御を実行したとしても掘削作業を継続できないおそれがあると判断し、ブーム上げ制御を実行する(ステップST11)。ここでは、コントローラ30は、パイロット圧調整装置50に対する制御電流を調整し、ブームシリンダ7に関連する流量制御弁176のパイロットポートに作用するパイロット圧を調整する。そして、コントローラ30は、掘削反力が閾値TH3以下となるようにブーム4を自動的に上昇させる。
ステップST5において、掘削中期段階でないと判定した場合(ステップST5のNO)、コントローラ30は、現在の掘削段階が掘削後期段階であると判定する。コントローラ30は、ブーム上げ操作が行われていると判定した場合に現在の掘削段階が掘削後期段階であると判定してもよい。
そして、コントローラ30は、掘削反力が所定の閾値TH4より大きいか否かを判定する(ステップST12)。
掘削反力が閾値TH4以下であると判定した場合(ステップST12のNO)、コントローラ30は、バケット姿勢制御を実行することなく、今回のバケット姿勢調整処理を終了させ、通常制御の実行を継続する。現在のバケット爪先角度αで掘削作業を継続可能と判断できるためである。
一方、掘削反力が閾値TH4より大きいと判定した場合(ステップST12のYES)、コントローラ30は、バケット6を持ち上げることができないと判断し、バケット姿勢制御を実行する(ステップST13)。ここでは、コントローラ30は、パイロット圧調整装置50に対する制御電流を調整し、流量制御弁174のパイロットポートに作用するパイロット圧を調整する。そして、コントローラ30は、掘削反力が閾値TH4以下となるようにバケット6を自動的に開かせてバケット爪先角度αを低減させる。バケット6に取り込まれた土砂等の重量を低減させるためである。
例えば、図7Cに示すようにバケット6を鉛直上方に持ち上げる直前のバケット爪先角度αが180度の場合、コントローラ30は、パイロット圧調整装置50に対する制御電流を調整してバケット6を自動的に開かせる。バケット爪先角度αを小さくして掘削反力を閾値TH4以下にするためである。
このような処理の流れにより、コントローラ30は、操作者のレバー操作を補助する形で掘削作業を支援し、掘削反力を低減させながらも掘削量の低下を抑制できる。
例えば、コントローラ30は、バケット爪先角度αが初期目標角度から顕著に逸脱した状態のまま掘削初期段階が開始されてしまうのを防止し、掘削初期段階で掘削反力が過度に大きくなるのを防止できる。
また、コントローラ30は、バケット爪先角度αが掘削中期段階に適した角度範囲から顕著に逸脱した状態のまま掘削中期段階が行われてしまうのを防止し、掘削中期段階で掘削反力が過度に大きくなるのを防止できる。また、掘削量が過度に減少するのを防止できる。
また、コントローラ30は、バケット6内の土砂等の重量が過度に大きい状態のまま掘削後期段階が行われてしまうのを防止し、掘削後期段階で掘削反力が過度に大きくなるのを防止できる。
また、コントローラ30は、掘削中に所定周期で繰り返しこのバケット姿勢調整処理を実行するが、掘削初期段階の開始時、掘削中期段階の開始時、及び掘削後期段階の開始時を含む所定のタイミングに限ってこのバケット姿勢調整処理を実行してもよい。
次に、図10~図17を参照し、掘削アタッチメントをより適切に制御できるショベル(掘削機)について説明する。
バケットシリンダにおける作動油の圧力に基づいてバケットを回転させる作用力を算出し、その作用力に基づいて掘削モーメントを算出するショベルが知られている(特許文献2参照。)。
このショベルは、算出した掘削モーメントの変化に応じてバケットシリンダ及びブームシリンダの伸縮を自動制御することで、手動操作の場合に比べて掘削モーメントを抑制している。
しかしながら、特許文献2のショベルは、バケットシリンダにおける作動油の圧力に基づいて掘削モーメントを算出するのみであり、掘削アタッチメントの姿勢に応じて変化する掘削アタッチメントの慣性モーメント(掘削モーメントのうち実際の掘削に寄与しないモーメント)を考慮していない。そのため、特許文献1のショベルが算出する掘削モーメントは実際の掘削モーメントから乖離しているおそれがあり、バケットシリンダ及びブームシリンダの伸縮を適切に制御できないおそれがある。
上述に鑑み、掘削アタッチメントをより適切に制御できるショベルを提供することが望まれる。
図10は、本発明の実施例に係るショベルの側面図である。図10に示すショベルの下部走行体1には旋回機構2を介して上部旋回体3が旋回可能に搭載される。上部旋回体3にはブーム4が取り付けられる。ブーム4の先端にはアーム5が取り付けられ、アーム5の先端にはバケット6が取り付けられる。作業要素としてのブーム4、アーム5、及びバケット6はアタッチメントの一例である掘削アタッチメントを構成する。ブーム4、アーム5、及びバケット6は、ブームシリンダ7、アームシリンダ8、及びバケットシリンダ9によりそれぞれ油圧駆動される。上部旋回体3にはキャビン10が設けられ、エンジン11等の動力源が搭載される。
掘削アタッチメントには姿勢検出装置M3が取り付けられる。姿勢検出装置M3は掘削アタッチメントの姿勢を検出する。本実施例では、姿勢検出装置M3は、ブーム角度センサM3a、アーム角度センサM3b、及びバケット角度センサM3cを含む。
ブーム角度センサM3aは、ブーム角度を取得するセンサであり、例えば、ブームフートピンの回転角度を検出する回転角度センサ、ブームシリンダ7のストローク量を検出するストロークセンサ、ブーム4の傾斜角度を検出する傾斜(加速度)センサ等を含む。アーム角度センサM3b及びバケット角度センサM3cについても同様である。
図11は、掘削アタッチメントに関連する各種物理量を示すショベルの側面図である。ブーム角度センサM3aは、例えば、ブーム角度(θ1)を取得する。ブーム角度(θ1)は、XZ平面において、ブームフートピン位置P1とアーム連結ピン位置P2とを結ぶ線分P1-P2の水平線に対する角度である。アーム角度センサM3bは、例えば、アーム角度(θ2)を取得する。アーム角度(θ2)は、XZ平面において、アーム連結ピン位置P2とバケット連結ピン位置P3とを結ぶ線分P2-P3の水平線に対する角度である。バケット角度センサM3cは、例えば、バケット角度(θ3)を取得する。バケット角度(θ3)は、XZ平面において、バケット連結ピン位置P3とバケット爪先位置P4とを結ぶ線分P3-P4の水平線に対する角度である。
次に、図12を参照してショベルの基本システムについて説明する。ショベルの基本システムは、主に、エンジン11、メインポンプ14、パイロットポンプ15、コントロールバルブ17、操作装置26、コントローラ30、エンジン制御装置74等を含む。
エンジン11はショベルの駆動源であり、例えば、所定の回転数を維持するように動作するディーゼルエンジンである。エンジン11の出力軸はメインポンプ14及びパイロットポンプ15の入力軸に接続される。
メインポンプ14は、高圧油圧ライン16を介して作動油をコントロールバルブ17に供給する油圧ポンプであり、例えば、斜板式可変容量型油圧ポンプである。斜板式可変容量型油圧ポンプは、斜板傾転角の変化に応じて押し退け容積を定めるピストンのストローク長が変化して1回転当たりの吐出流量が変化する。斜板傾転角はレギュレータ14aにより制御される。レギュレータ14aはコントローラ30からの制御電流の変化に応じて斜板傾転角を変化させる。例えば、レギュレータ14aは制御電流の増加に応じて斜板傾転角を大きくしてメインポンプ14の吐出流量を増大させる。或いは、レギュレータ14aは制御電流の減少に応じて斜板傾転角を小さくしてメインポンプ14の吐出流量を低減させる。吐出圧力センサ14bはメインポンプ14の吐出圧力を検出する。油温センサ14cはメインポンプ14が吸入する作動油の温度を検出する。
パイロットポンプ15は、パイロットライン25を介して操作装置26等の各種油圧制御機器に作動油を供給するための油圧ポンプであり、例えば、固定容量型油圧ポンプである。
コントロールバルブ17は油圧アクチュエータに関する作動油の流れを制御する流量制御弁のセットである。コントロールバルブ17は、操作装置26の操作方向及び操作量に対応するパイロットライン25aの作動油の圧力の変化に応じて動作する。コントロールバルブ17は、メインポンプ14から高圧油圧ライン16を通じて受け入れた作動油を1又は複数の油圧アクチュエータに選択的に供給する。油圧アクチュエータは、例えば、ブームシリンダ7、アームシリンダ8、バケットシリンダ9、左走行用油圧モータ1A、右走行用油圧モータ1B、旋回用油圧モータ2A等を含む。
操作装置26は、操作者が油圧アクチュエータの操作のために用いる装置であり、レバー26A、レバー26B、ペダル26C等を含む。操作装置26はパイロットライン25を介してパイロットポンプ15から作動油の供給を受けてパイロット圧を生成する。そして、パイロットライン25aを通じ、対応する流量制御弁のパイロットポートにそのパイロット圧を作用させる。パイロット圧は操作装置26の操作方向及び操作量に応じて変化する。操作装置26は遠隔操作されてもよい。この場合、操作装置26は、無線通信を介して受信した操作方向及び操作量に関する情報に応じてパイロット圧を生成する。
コントローラ30は、ショベルを制御するための制御装置である。本実施例では、コントローラ30はCPU、RAM、ROM等を備えたコンピュータで構成される。コントローラ30のCPUは、各種機能に対応するプログラムをROMから読み出してRAMにロードして実行することで、それらプログラムのそれぞれに対応する機能を実現させる。
例えば、コントローラ30はメインポンプ14の吐出流量を制御する機能を実現させる。具体的には、コントローラ30はネガティブコントロール圧に応じてレギュレータ14aに対する制御電流を変化させ、レギュレータ14aを介してメインポンプ14の吐出流量を制御する。
エンジン制御装置74はエンジン11を制御する。エンジン制御装置74は、例えば、入力装置を介して設定されたエンジン回転数が実現されるように燃料噴射量等を制御する。
動作モード切替ダイヤル76は、ショベルの動作モードを切り替えるためのダイヤルであり、キャビン10内に設けられる。本実施例では、操作者はM(手動)モードとSA(半自動)モードとを切り換えることができる。コントローラ30は、例えば、動作モード切替ダイヤル76の出力に応じてショベルの動作モードを切り替える。図12は、動作モード切替ダイヤル76でSAモードが選択された状態を示す。
Mモードは、操作者による操作装置26に対する操作入力の内容に応じてショベルを動作させるモードである。例えば、操作者による操作装置26に対する操作入力の内容に応じてブームシリンダ7、アームシリンダ8、バケットシリンダ9を動作させるモードである。SAモードは、所定の条件が満たされた場合に、操作装置26に対する操作入力の内容にかかわらず、ショベルを自動的に動作させるモードである。例えば、所定の条件が満たされた場合に、操作装置26に対する操作入力の内容にかかわらず、ブームシリンダ7、アームシリンダ8、バケットシリンダ9を自動的に動作させるモードである。動作モード切替ダイヤル76は3つ以上の動作モードを切り替えできるように構成されてもよい。
表示装置40は、各種情報を表示する装置であり、キャビン10内の運転席の近傍に配置されている。本実施例では、表示装置40は画像表示部41及び入力部42を有する。操作者は入力部42を利用して情報及び指令をコントローラ30に入力できる。また、画像表示部41を見てショベルの運転状況及び制御情報を把握できる。表示装置40は、CAN、LIN等の通信ネットワークを介してコントローラ30に接続される。表示装置40は専用線を介してコントローラ30に接続されてもよい。
表示装置40は蓄電池70から電力の供給を受けて動作する。蓄電池70はオルタネータ11aで発電した電力で充電される。蓄電池70の電力は、ショベルの電装品72等、コントローラ30及び表示装置40以外にも供給される。エンジン11のスタータ11bは蓄電池70からの電力で駆動されてエンジン11を始動させる。
エンジン11はエンジン制御装置74により制御される。エンジン制御装置74は、エンジン11の状態を示す各種データ(例えば、水温センサ11cで検出される冷却水温(物理量)を示すデータ)をコントローラ30に送信する。コントローラ30は一時記憶部(メモリ)30aにそれらデータを蓄積しておき、必要に応じて表示装置40に送信できる。レギュレータ14aが出力する斜板傾転角を示すデータ、吐出圧力センサ14bが出力するメインポンプ14の吐出圧力を示すデータ、油温センサ14cが出力する作動油温度を示すデータ、パイロット圧センサ15a、15bが出力するパイロット圧を示すデータ等についても同様である。
シリンダ圧センサS1は、掘削負荷に関する情報を検出する掘削負荷情報検出装置の一例であり、油圧シリンダのシリンダ圧を検出し、検出データをコントローラ30に対して出力する。本実施例では、シリンダ圧センサS1は、シリンダ圧センサS11~S16を含む。具体的には、シリンダ圧センサS11は、ブームシリンダ7のボトム側油室における作動油の圧力であるブームボトム圧を検出する。シリンダ圧センサS12は、ブームシリンダ7のロッド側油室における作動油の圧力であるブームロッド圧を検出する。同様に、シリンダ圧センサS13はアームボトム圧を検出し、シリンダ圧センサS14はアームロッド圧を検出し、シリンダ圧センサS15はバケットボトム圧を検出し、シリンダ圧センサS16はバケットロッド圧を検出する。
制御弁E2は、コントローラ30からの指令に応じて動作する弁である。本実施例では、制御弁E2は、操作装置26に対する操作入力の内容にかかわらず、所定の油圧シリンダに関する流量制御弁を強制的に動作させるために用いられる。
図13は、図10のショベルに搭載される掘削制御システムの構成例を示す図である。掘削制御システムは、主に、姿勢検出装置M3、シリンダ圧センサS1、コントローラ30、及び制御弁E2で構成される。コントローラ30は姿勢修正要否判定部35を含む。
姿勢修正要否判定部35は、掘削中の掘削アタッチメントの姿勢を修正すべきか否かを判定する機能要素である。例えば、姿勢修正要否判定部35は、掘削負荷が過度に大きくなるおそれがあると判定した場合に、掘削中の掘削アタッチメントの姿勢を修正すべきと判定する。
本実施例では、姿勢修正要否判定部35はシリンダ圧センサS1の出力に基づいて掘削負荷を導き出し、記録する。また、姿勢検出装置M3が検出した掘削アタッチメントの姿勢に対応する空掘削負荷(風袋掘削負荷)を導き出す。そして、姿勢修正要否判定部35は、掘削負荷から空掘削負荷を差し引いて正味掘削負荷を算出し、正味掘削負荷に基づいて掘削アタッチメントの姿勢を修正すべきか否かを判定する。
「掘削」は掘削アタッチメントを土砂等の掘削対象に接触させながら掘削アタッチメントを動かすことを意味し、「空掘削」は掘削アタッチメントを何れの地物にも接触させることなく掘削アタッチメントを動かすことを意味する。
「掘削負荷」は掘削対象に接触させながら掘削アタッチメントを動かす際の負荷を意味し、「空掘削負荷」は何れの地物にも接触させずに掘削アタッチメントを動かす際の負荷を意味する。
「掘削負荷」、「空掘削負荷」、及び「正味掘削負荷」はそれぞれ、シリンダ圧、シリンダ推力、掘削トルク(掘削力のモーメント)、掘削反力等の任意の物理量で表される。例えば、正味掘削負荷としての正味シリンダ圧は、掘削負荷としてのシリンダ圧から、空掘削負荷としての空掘削シリンダ圧を差し引いた値として表される。シリンダ推力、掘削トルク(掘削力のモーメント)、掘削反力等を利用する場合についても同様である。
シリンダ圧としては、例えば、シリンダ圧センサS1の検出値が利用される。シリンダ圧センサS1の検出値は、例えば、シリンダ圧センサS11~S16が検出するブームボトム圧(P11)、ブームロッド圧(P12)、アームボトム圧(P13)、アームロッド圧(P14)、バケットボトム圧(P15)、バケットロッド圧(P16)である。
シリンダ推力は、例えば、シリンダ圧とシリンダ内を摺動するピストンの受圧面積とに基づいて算出される。例えば、図11に示すように、ブームシリンダ推力(f1)は、ブームボトム圧(P11)とブームボトム側油室におけるピストンの受圧面積(A11)との積(P11×A11)であるシリンダ伸張力と、ブームロッド圧(P12)とブームロッド側油室におけるピストンの受圧面積(A12)との積(P12×A12)であるシリンダ収縮力との差(P11×A11-P12×A12)で表される。アームシリンダ推力(f2)、及び、バケットシリンダ推力(f3)についても同様である。
掘削トルクは、例えば、掘削アタッチメントの姿勢とシリンダ推力とに基づいて算出される。例えば、図11に示すように、バケット掘削トルク(τ3)の大きさは、バケットシリンダ推力(f3)の大きさに、そのバケットシリンダ推力(f3)の作用線とバケット連結ピン位置P3との距離G3を乗じた値で表される。距離G3は、バケット角度(θ3)の関数であり、リンクゲインの一例とされる。ブーム掘削トルク(τ1)及びアーム掘削トルク(τ2)についても同様である。
掘削反力は、例えば、掘削アタッチメントの姿勢と掘削負荷とに基づいて算出される。例えば、掘削反力Fは、掘削アタッチメントの姿勢を表す物理量を引数とする関数(機構関数)と、掘削負荷を表す物理量を引数とする関数とに基づいて算出される。具体的には、掘削反力Fは、図11に示すようにブーム角度(θ1)、アーム角度(θ2)、及びバケット角度(θ3)を引数とする機構関数と、ブーム掘削トルク(τ1)、アーム掘削トルク(τ2)、及びバケット掘削トルク(τ3)を引数とする関数との積として算出される。ブーム掘削トルク(τ1)、アーム掘削トルク(τ2)、及びバケット掘削トルク(τ3)を引数とする関数は、ブームシリンダ推力(f1)、アームシリンダ推力(f2)、及びバケットシリンダ推力(f3)を引数とする関数であってもよい。
ブーム角度(θ1)、アーム角度(θ2)、及びバケット角度(θ3)を引数とする関数は、力のつり合い式に基づくものであってもよく、ヤコビアンに基づくものであってもよく、仮想仕事の原理に基づくものであってもよい。
このように、掘削負荷は各種センサの現時点における検出値に基づいて導き出される。例えば、シリンダ圧センサS1の検出値がそのまま掘削負荷として利用されてもよい。或いは、シリンダ圧センサS1の検出値に基づいて算出されるシリンダ推力が掘削負荷として利用されてもよい。或いは、シリンダ圧センサS1の検出値に基づいて算出されるシリンダ推力と、姿勢検出装置M3の検出値に基づいて導き出される掘削アタッチメントの姿勢とから算出される掘削トルクが掘削負荷として利用されてもよい。掘削反力についても同様である。
一方、空掘削負荷は、掘削アタッチメントの姿勢に対応付けて予め記憶されていてもよい。例えば、ブーム角度(θ1)、アーム角度(θ2)、及びバケット角度(θ3)の組み合わせに対応付けて空掘削負荷としての空掘削シリンダ圧を参照可能に記憶する空掘削シリンダ圧テーブルが利用されてもよい。或いは、ブーム角度(θ1)、アーム角度(θ2)、及びバケット角度(θ3)の組み合わせに対応付けて空掘削負荷としての空掘削シリンダ推力を参照可能に記憶する空掘削シリンダ推力テーブルが利用されてもよい。空掘削トルクテーブル、空掘削反力テーブルについても同様である。空掘削シリンダ圧テーブル、空掘削シリンダ推力テーブル、空掘削トルクテーブル、空掘削反力テーブルは、例えば、実際のショベルで空掘削を行ったときに取得されたデータに基づいて生成され、コントローラ30のROM等に予め記憶されていてもよい。或いは、ショベルシミュレータ等のシミュレータ装置が導出したシミュレーション結果に基づいて生成されてもよい。また、参照テーブルの代わりに重回帰分析に基づく重回帰式等の計算式が用いられてもよい。重回帰式を用いる場合、空掘削負荷は、例えば、現時点におけるブーム角度(θ1)、アーム角度(θ2)、及びバケット角度(θ3)の組み合わせに基づいてリアルタイムに算出される。
また、空掘削シリンダ圧テーブル、空掘削シリンダ推力テーブル、空掘削トルクテーブル、及び空掘削反力テーブルは、高速、中速、低速といった掘削アタッチメントの動作速度毎に用意されてもよい。また、アーム閉じ時、アーム開き時、ブーム上げ時、ブーム下げ時といった掘削アタッチメントの動作内容毎に用意されてもよい。
現時点における正味掘削負荷が所定値以上となった場合、姿勢修正要否判定部35は、掘削負荷が過大になるおそれがあると判定する。例えば、姿勢修正要否判定部35は、正味掘削負荷としての正味シリンダ圧が所定のシリンダ圧以上となった場合に、掘削負荷としてのシリンダ圧が過大になるおそれがあると判定する。所定のシリンダ圧は、掘削アタッチメントの姿勢の変化に応じて変化する変動値であってもよく、掘削アタッチメントの姿勢の変化に応じて変化しない固定値であってもよい。
そして、動作モードがSA(半自動)モードで駆動中に、掘削負荷が過大になるおそれがあると判定した場合、姿勢修正要否判定部35は、掘削中の掘削アタッチメントの姿勢を修正すべきと判定し、制御弁E2に対して指令を出力する。
姿勢修正要否判定部35からの指令を受けた制御弁E2は、操作装置26に対する操作入力の内容にかかわらず、所定の油圧シリンダに関する流量制御弁を強制的に動作させて掘削深さを調整する。本実施例では、制御弁E2は、ブーム操作レバーが操作されていない場合であっても、ブームシリンダ7に関する流量制御弁を強制的に動かすことでブームシリンダ7を強制的に伸張させる。その結果、ブーム4を強制的に上昇させることで掘削深さを浅くすることができる。或いは、制御弁E2は、バケット操作レバーが操作されていない場合であっても、バケットシリンダ9に関する流量制御弁を強制的に動かすことでバケットシリンダ9を強制的に伸縮させてもよい。この場合、バケット6を強制的に開閉させることでバケット爪先角度を調整して掘削深さを浅くすることができる。バケット爪先角度は、例えば、水平面に対するバケット6の爪先の角度である。このように、制御弁E2はブームシリンダ7、アームシリンダ8、及びバケットシリンダ9のうちの少なくとも1つを強制的に伸縮させることで掘削深さを浅くすることができる。
次に図14を参照し、アーム閉じ動作による掘削中に掘削アタッチメントの姿勢を修正する必要があるか否かをコントローラ30が判定する処理(以下、「姿勢修正要否判定処理」とする。)の流れについて説明する。図14は姿勢修正要否判定処理のフローチャートである。コントローラ30は、動作モードがSA(半自動)モードに設定されている場合にこの姿勢修正要否判定処理を所定の制御周期で繰り返し実行する。
最初に、コントローラ30の姿勢修正要否判定部35は、掘削アタッチメントに関するデータを取得する(ステップST21)。姿勢修正要否判定部35は、例えば、ブーム角度(θ1)、アーム角度(θ2)、バケット角度(θ3)、シリンダ圧(P11~P16)等を取得する。
その後、姿勢修正要否判定部35は、正味掘削負荷算出処理を実行して正味掘削負荷を算出する(ステップST22)。正味掘削負荷算出処理の詳細については後述する。
その後、姿勢修正要否判定部35は、バケット6が地面に接触しているか否かを判定する(ステップST23)。姿勢修正要否判定部35は、例えば、パイロット圧センサ15a、15b、シリンダ圧センサS11~S16等の出力に基づいてバケット6が地面に接触しているか否かを判定する。例えば、アーム閉じ操作中の膨張側油室における作動油の圧力であるアームボトム圧(P13)が所定値以上となっている場合にバケット6が地面に接触していると判定する。アーム閉じ操作が行われているか否かはパイロット圧センサ15a、15bの出力に基づいて判定される。
バケット6が地面に接触していると判定した場合(ステップST23のYES)、姿勢修正要否判定部35は、掘削負荷が過大になるおそれがあるか否かを判定する(ステップST24)。姿勢修正要否判定部35は、例えば、正味掘削負荷算出処理で算出した正味掘削負荷が所定値以上の場合に掘削負荷が過大になるおそれがあると判定する。
掘削負荷が過大になるおそれがあると判定した場合(ステップST24のYES)、姿勢修正要否判定部35は、掘削アタッチメントの姿勢を修正する必要があるとして掘削深さ調整処理を実行する(ステップST25)。姿勢修正要否判定部35は、例えば、制御弁E2に対して指令を出力し、ブームシリンダ7に関する流量制御弁を強制的に動かすことでブームシリンダ7を強制的に伸張させる。その結果、ブーム操作レバーに対する操作入力の有無にかかわらず、ブーム4を強制的に上昇させることで掘削深さを浅くすることができる。或いは、姿勢修正要否判定部35は、バケットシリンダ9に関する流量制御弁を強制的に動かすことでバケットシリンダ9を強制的に伸縮させてもよい。その結果、バケット操作レバーに対する操作入力の有無にかかわらず、バケット6を強制的に開閉させることで掘削深さを浅くすることができる。
バケット6が地面に接触していないと判定した場合(ステップST23のNO)、或いは、掘削負荷が過大になるおそれがないと判定した場合(ステップST24のNO)、姿勢修正要否判定部35は、掘削深さ調整処理を実行することなく今回の姿勢修正要否判定処理を終了させる。
上述の実施例では、姿勢修正要否判定部35は、掘削負荷が過大になるおそれがあるか否かを判定したが、掘削負荷が過小になるおそれがあるか否かを判定してもよい。
そして、掘削負荷が過小になるおそれがあると判定した場合にも、姿勢修正要否判定部35は、掘削アタッチメントの姿勢を修正する必要があるとして掘削深さ調整処理を実行してもよい。
この場合、姿勢修正要否判定部35は、例えば、制御弁E2に対して指令を出力し、ブームシリンダ7に関する流量制御弁を強制的に動かすことでブームシリンダ7を強制的に収縮させる。その結果、ブーム操作レバーに対する操作入力の有無にかかわらず、ブーム4を強制的に下降させることで掘削深さを深くすることができる。或いは、姿勢修正要否判定部35は、バケットシリンダ9に関する流量制御弁を強制的に動かすことでバケットシリンダ9を強制的に伸縮させてもよい。その結果、バケット操作レバーに対する操作入力の有無にかかわらず、バケット6を強制的に開閉させることで掘削深さを深くすることができる。
また、姿勢修正要否判定部35は、掘削中におけるアタッチメント制御だけでなく、図7、図8に示すようなバケットの爪先が地面に接触する掘削初期段階におけるバケット爪先角度の制御に用いられてもよい。
次に図15を参照し、正味掘削負荷算出処理の流れについて説明する。図15は正味掘削負荷算出処理の流れの一例を示すフローチャートである。
最初に、姿勢修正要否判定部35は、現時点における掘削負荷としてのシリンダ圧を取得する(ステップST31)。現時点におけるシリンダ圧は、例えば、シリンダ圧センサS11が検出するブームボトム圧(P11)を含む。ブームロッド圧(P12)、アームボトム圧(P13)、アームロッド圧(P14)、バケットボトム圧(P15)、及びバケットロッド圧(P16)についても同様である。
その後、姿勢修正要否判定部35は、現時点における掘削アタッチメントの姿勢に対応する空掘削負荷としての空掘削シリンダ圧を取得する(ステップST32)。例えば、現時点におけるブーム角度(θ1)、アーム角度(θ2)、及びバケット角度(θ3)を検索キーとして空掘削シリンダ圧テーブルを参照することで、予め記憶されている空掘削シリンダ圧を導き出す。空掘削シリンダ圧は、例えば、空掘削ブームボトム圧、空掘削ブームロッド圧、空掘削アームボトム圧、空掘削アームロッド圧、空掘削バケットボトム圧、及び空掘削バケットロッド圧のうちの少なくとも1つを含む。
その後、姿勢修正要否判定部35は、現時点におけるシリンダ圧から現時点における掘削アタッチメントの姿勢に対応する空掘削シリンダ圧を差し引いて正味シリンダ圧を算出する(ステップST33)。正味シリンダ圧は、例えば、ブームボトム圧(P11)から空掘削ブームボトム圧を差し引いた正味ブームボトム圧を含む。正味ブームロッド圧、正味アームボトム圧、正味アームロッド圧、正味バケットボトム圧、及び正味バケットロッド圧についても同様である。
その後、姿勢修正要否判定部35は、算出した正味シリンダ圧を正味掘削負荷として出力する(ステップST34)。
姿勢修正要否判定部35は、6つの正味シリンダ圧を正味掘削負荷として導き出した場合、6つの正味シリンダ圧のうちの少なくとも1つに基づいて掘削負荷が過大になるおそれがあるか否かを判定する。6つの正味シリンダ圧は、正味ブームボトム圧、正味ブームロッド圧、正味アームボトム圧、正味アームロッド圧、正味バケットボトム圧、及び正味バケットロッド圧である。例えば、姿勢修正要否判定部35は、正味アームボトム圧が第1所定圧力値以上で、且つ、正味ブームボトム圧が第2所定圧力値以上の場合に、掘削負荷が過大になるおそれがあると判定してもよい。或いは、姿勢修正要否判定部35は、正味アームボトム圧が第1所定圧力値以上の場合に掘削負荷が過大になるおそれがあると判定してもよい。
次に図16を参照し、正味掘削負荷算出処理の別の一例について説明する。図16は正味掘削負荷算出処理の流れの別の一例を示すフローチャートである。図16の処理は、現時点における掘削負荷としてシリンダ推力を利用する点で、シリンダ圧を利用する図15の処理と相違する。
最初に、姿勢修正要否判定部35は、現時点におけるシリンダ圧から掘削負荷としてのシリンダ推力を算出する(ステップST41)。現時点におけるシリンダ推力は、例えば、ブームシリンダ推力(f1)である。ブームシリンダ推力(f1)は、ブームボトム圧(P11)とブームボトム側油室におけるピストンの受圧面積(A11)との積(P11×A11)であるシリンダ伸張力と、ブームロッド圧(P12)とブームロッド側油室におけるピストンの受圧面積(A12)との積(P12×A12)であるシリンダ収縮力との差(P11×A11-P12×A12)である。アームシリンダ推力(f2)及びバケットシリンダ推力(f3)についても同様である。
その後、姿勢修正要否判定部35は、現時点における掘削アタッチメントの姿勢に対応する空掘削負荷としての空掘削シリンダ推力を取得する(ステップST42)。例えば、現時点におけるブーム角度(θ1)、アーム角度(θ2)、及びバケット角度(θ3)を検索キーとして空掘削シリンダ推力テーブルを参照することで、予め記憶されている空掘削シリンダ推力を導き出す。空掘削シリンダ推力は、例えば、空掘削ブームシリンダ推力、空掘削アームシリンダ推力、及び空掘削バケットシリンダ推力のうちの少なくとも1つを含む。
その後、姿勢修正要否判定部35は、現時点におけるシリンダ推力から空掘削シリンダ推力を差し引いて正味シリンダ推力を算出する(ステップST43)。正味シリンダ推力は、例えば、現時点におけるブームシリンダ推力(f1)から空掘削ブームシリンダ推力を差し引いた正味ブームシリンダ推力を含む。正味アームシリンダ推力及び正味バケットシリンダ推力についても同様である。
その後、姿勢修正要否判定部35は、算出した正味シリンダ推力を正味掘削負荷として出力する(ステップST44)。
姿勢修正要否判定部35は、3つの正味シリンダ推力を正味掘削負荷として導き出した場合、3つの正味シリンダ推力のうちの少なくとも1つに基づいて掘削負荷が過大になるおそれがあるか否かを判定する。3つの正味シリンダ推力は、正味ブームシリンダ推力、正味アームシリンダ推力、及び正味バケットシリンダ推力である。例えば、姿勢修正要否判定部35は、正味アームシリンダ推力が第1所定推力値以上で、且つ、正味ブームシリンダ推力が第2所定推力値以上の場合に、掘削負荷が過大になるおそれがあると判定してもよい。或いは、姿勢修正要否判定部35は、正味アームシリンダ推力が第1所定推力値以上の場合に掘削負荷が過大になるおそれがあると判定してもよい。
或いは、姿勢修正要否判定部35は、3つの正味掘削トルクを正味掘削負荷として導き出した場合、3つの正味掘削トルクのうちの少なくとも1つに基づいて掘削負荷が過大になるおそれがあるか否かを判定してもよい。3つの正味掘削トルクは、正味ブーム掘削トルク、正味アーム掘削トルク、及び正味バケット掘削トルクである。例えば、姿勢修正要否判定部35は、正味アーム掘削トルクが第1所定トルク値以上で、且つ、正味ブーム掘削トルクが第2所定トルク値以上の場合に、掘削負荷が過大になるおそれがあると判定してもよい。或いは、姿勢修正要否判定部35は、正味アーム掘削トルクが第1所定トルク値以上の場合に掘削負荷が過大になるおそれがあると判定してもよい。
次に図17を参照し、正味掘削負荷算出処理の更に別の一例について説明する。図17は正味掘削負荷算出処理の流れの更に別の一例を示すフローチャートである。図17の処理は、掘削負荷から空掘削負荷に相当する部分をフィルタで除去して正味掘削負荷を導き出す点において、参照テーブルを用いて導き出される空掘削負荷を掘削負荷から差し引いて正味掘削負荷を導き出す図15及び図16の処理と相違する。
最初に、姿勢修正要否判定部35は、現時点における掘削負荷を取得する(ステップST51)。現時点における掘削負荷は、シリンダ圧、シリンダ推力、掘削トルク(掘削力のモーメント)、及び掘削反力の何れであってもよい。
その後、姿勢修正要否判定部35は、現時点における掘削負荷から空掘削負荷に相当する部分をフィルタで除去して正味掘削負荷を出力する(ステップST52)。姿勢修正要否判定部35は、例えば、シリンダ圧センサS1が出力する電気信号を、空掘削負荷に由来する周波数成分とそれ以外の周波数成分とを含む電気信号として捉え、帯域除去フィルタを用いてその空掘削負荷に由来する周波数成分をその電気信号から除去する。
上述の構成により、コントローラ30は、現時点における正味掘削負荷を高い精度で導き出すことで、掘削負荷が過度に大きくなるおそれがあるか否かを高い精度で判定できる。そして、掘削負荷が過度に大きくなるおそれがあると判定した場合には掘削深さが浅くなるよう掘削アタッチメントの姿勢を自動的に修正できる。その結果、掘削動作中の過負荷により掘削アタッチメントの動きが止まってしまうのを防止でき、効率の良い掘削動作を実現できる。
また、コントローラ30は、現時点における正味掘削負荷を高い精度で導き出すことで、掘削負荷が過度に小さくなるおそれがあるか否かを高い精度で判定できる。そして、掘削負荷が過度に小さくなるおそれがあると判定した場合には掘削深さが深くなるよう掘削アタッチメントの姿勢を自動的に修正できる。その結果、1回の掘削動作による掘削量が過度に小さくなってしまうのを防止でき、効率の良い掘削動作を実現できる。
このように、コントローラ30は、掘削反力が適切な大きさとなるよう、掘削動作中に掘削アタッチメントの姿勢を自動的に修正できる。そのため、バケット6の爪先の正確な位置決め制御を実現できる。
また、コントローラ30は、バケット掘削トルクばかりでなく、ブーム掘削トルク及びアーム掘削トルクを考慮して掘削反力を算出できる。そのため、掘削反力をより高精度に導き出すことができる。
また、コントローラ30は、掘削中におけるアタッチメント制御だけでなく、図7、図8に示すようなバケットの爪先が地面に接触する掘削初期段階におけるバケット爪先角度の制御に用いられてもよい。
以上、本発明の好ましい実施例について詳説したが、本発明は、上述した実施例に制限されることはなく、本発明の範囲を逸脱することなしに上述した実施例に種々の変形及び置換を加えることができる。
例えば、上述の実施例では、外部演算装置30Eはコントローラ30の外部にある別の演算装置として説明されたが、コントローラ30に一体的に統合されてもよい。また、コントローラ30の代わりに外部演算装置30Eが動作制御部E1を直接的に制御してもよい。
また、上述の実施例では、地形データベース更新部31は、ショベルの起動時に通信装置M1を通じて作業現場の地形情報を取得して地形データベースを更新する。しかしながら、本発明はこの構成に限定されるものではない。例えば、地形データベース更新部31は、アタッチメントの姿勢の推移に関する情報を用いることなく、撮像装置M5が撮像したショベル周辺の画像に基づいて作業現場の地形情報を取得して地形データベースを更新してもよい。
また、上述の実施例では、掘削負荷情報検出装置の一例としてシリンダ圧センサが採用されているが、トルクセンサ等の他のセンサが掘削負荷情報検出装置として採用されてもよい。
また、本願は、2015年9月16日に出願した日本国特許出願2015-183321号、及び、2016年3月18日に出願した日本国特許出願2016-055365号に基づく優先権を主張するものであり、これらの日本国特許出願の全内容を本願に参照により援用する。