以下、図面を参照しながら、本発明の好適な実施例について説明する。図1は、本発明の実施例に係る建設機械としてのショベルの構成例を示す。図1のショベルはクローラ式の下部走行体1の上に旋回機構2を介して上部旋回体3をX軸周りに旋回自在に搭載する。また、上部旋回体3は前方中央部に掘削アタッチメントを備える。掘削アタッチメントは、作業体としてのブーム4、アーム5、及びバケット6を含み、且つ、油圧アクチュエータとしてのブームシリンダ7、アームシリンダ8、及びバケットシリンダ9を含む。
また、ブームシリンダ7にはブームシリンダ7の伸縮状態を検出するブームストロークセンサ7sが取り付けられる。また、アームシリンダ8にはアームシリンダ8の伸縮状態を検出するアームストロークセンサ8sが取り付けられ、バケットシリンダ9にはバケットシリンダ9の伸縮状態を検出するバケットストロークセンサ9sが取り付けられる。なお、ストロークセンサの少なくとも1つは作業体の回動角度を検出する角度センサで置き換えられてもよい。
図2は、本発明の実施例に係る駆動システム100の概略図である。駆動システム100は、主に、エンジン11、油圧ポンプ14、コントロールバルブ17、及びコントローラ30を含む。
油圧ポンプ14はエンジン11によって駆動される。本実施例では、油圧ポンプ14は、1回転当たりの吐出量(押し退け容積)を可変とする可変容量型斜板式油圧ポンプである。押し退け容積はポンプレギュレータ14aによって制御される。具体的には、油圧ポンプ14は、ポンプレギュレータ14aLによって押し退け容積が制御される第1油圧ポンプ14L、及び、ポンプレギュレータ14aRによって押し退け容積が制御される第2油圧ポンプ14Rを含む。また、本実施例では、油圧ポンプ14の回転軸は、エンジン11の回転軸に連結されてエンジン11の回転速度と同じ回転速度で回転する。なお、油圧ポンプ14の回転軸はフライホイールに連結され、エンジン出力トルクが変動したときの回転速度の変動を抑制する。
エンジン11はショベルの駆動源である。本実施例では、エンジン11は、過給機としてのターボチャージャーと燃料噴射装置とを備えるディーゼルエンジンであり、上部旋回体3に搭載される。なお、エンジン11は、過給機としてスーパーチャージャーを備えていてもよい。
コントロールバルブ17は、油圧ポンプ14が吐出する作動油を各種油圧アクチュエータに供給する油圧制御機構である。本実施例では、コントロールバルブ17は、制御弁171L、171R、172L、172R、173L、173R、174R、175L、175Rを含む。また、油圧アクチュエータは、左側走行用油圧モータ2L、右側走行用油圧モータ2R、ブームシリンダ7、アームシリンダ8、バケットシリンダ9、旋回用油圧モータ21を含む。
具体的には、油圧ポンプ14Lは、制御弁171L、172L、173L、及び175Lを連通するセンターバイパス管路40Lを経て作動油タンク22まで作動油を循環させる。同様に、油圧ポンプ14Rは、制御弁171R、172R、173R、174R、及び175Rを連通するセンターバイパス管路40Rを経て作動油タンク22まで作動油を循環させる。
制御弁171Lは、左側走行用油圧モータ2Lと油圧ポンプ14Lとの間の作動油の流量及び流れ方向を制御するスプール弁である。
制御弁171Rは、走行直進弁としてのスプール弁である。制御弁171Rは、下部走行体2の直進性を高めるべく油圧ポンプ14Lから左側走行用油圧モータ2L及び右側走行用油圧モータ2Rのそれぞれに作動油が供給されるように作動油の流れを切り換える。具体的には、左側走行用油圧モータ2L及び右側走行用油圧モータ2Rと他の何れかの油圧アクチュエータとが同時に操作された場合、油圧ポンプ14Lは、左側走行用油圧モータ2L及び右側走行用油圧モータ2Rの双方に作動油を供給する。なお、それ以外の場合には、油圧ポンプ14Lが左側走行用油圧モータ2Lに作動油を供給し、油圧ポンプ14Rが右側走行用油圧モータ2Rに作動油を供給する。
制御弁172Lは、旋回用油圧モータ21と油圧ポンプ14Lとの間の作動油の流量及び流れ方向を制御するスプール弁である。
制御弁172Rは、右側走行用油圧モータ2Rと油圧ポンプ14L、14Rとの間の作動油の流量及び流れ方向を制御するスプール弁である。
制御弁173L、173Rはそれぞれ、ブームシリンダ7と油圧ポンプ14L、14Rとの間の作動油の流量及び流れ方向を制御するスプール弁である。なお、制御弁173Rは操作装置としてのブーム操作レバーが操作された場合に作動し、制御弁173Lはブーム操作レバーが所定のレバー操作量以上でブーム上げ方向に操作された場合に作動する。
制御弁174Rは、油圧ポンプ14Rとバケットシリンダ9との間の作動油の流量及び流れ方向を制御するスプール弁である。
制御弁175L、175Rはそれぞれ、アームシリンダ8と油圧ポンプ14L、14Rとの間の作動油の流量及び流れ方向を制御するスプール弁である。なお、制御弁175Lは操作装置としてのアーム操作レバーが操作された場合に作動し、制御弁175Rはアーム操作レバーが所定のレバー操作量以上で操作された場合に作動する。
センターバイパス管路40L、40Rはそれぞれ、最も下流にある制御弁175L、175Rと作動油タンク22との間にネガティブコントロール絞り40L、40Rを備える。以下では、ネガティブコントロールを「ネガコン」と略称する。ネガコン絞り41L、41Rは、油圧ポンプ14L、14Rが吐出する作動油の流れを制限することにより、ネガコン絞り41L、41Rの上流でネガコン圧を発生させる。
リリーフ弁19L、19Rは、ネガコン圧を所定のリリーフ圧以下に制限する弁である。本実施例では、リリーフ弁19L、19Rのそれぞれは、センターバイパス管路40L、40Rにおいてネガコン絞り41L、41Rに並列に接続される。
コントローラ30は、ショベルを制御する機能要素であり、例えば、CPU、RAM、ROM、NVRAM等を備えたコンピュータである。
本実施例では、コントローラ30は、パイロット圧センサ(図示せず。)の出力に基づいて各種操作装置の操作内容(例えば、レバー操作の有無、レバー操作方向、レバー操作量等である。)を電気的に検出する。パイロット圧センサは、アーム操作レバー、ブーム操作レバー等の各種操作装置を操作した場合に発生するパイロット圧を測定する操作内容検出部の一例である。但し、操作内容検出部は、各種操作レバーの傾きを検出する傾きセンサ等、パイロット圧センサ以外のセンサを用いて構成されてもよい。
また、コントローラ30は、センサS1〜S4の出力に基づいて各種油圧アクチュエータの作動状況を電気的に検出する。
圧力センサS1、S2は、ネガコン絞り41L、41Rの上流で発生したネガコン圧を検出し、検出した値を電気的なネガコン圧信号としてコントローラ30に対して出力する。
圧力センサS3、S4は、油圧ポンプ14L、14Rの吐出圧を検出し、検出した値を電気的な吐出圧信号としてコントローラ30に対して出力する。
エンジン回転数設定ダイアル75は、エンジンの回転数を設定するためのダイヤルであり、例えば、操作者がエンジン回転数を複数段階で切り換えできるようにキャビン内に設けられる。
そして、コントローラ30は、各種操作装置の操作内容及び各種油圧アクチュエータの作動状況に応じて各種機能要素に対応するプログラムをCPUに実行させる。
次に、図3を参照してコントローラ30がネガコン圧に応じて油圧ポンプ14の吐出量を制御する処理について説明する。なお、図3は、油圧ポンプ14の吐出量(以下、「ポンプ流量」とする。)とネガコン圧との関係を示すネガコン制御線図であり、縦軸にポンプ流量を配し、横軸にネガコン圧を配する。
本実施例では、コントローラ30は、ポンプレギュレータ14aLに対する制御電流を増減させて油圧ポンプ14Lの斜板傾転角を増減させることで油圧ポンプ14Lの押し退け容積を増減させる。例えば、コントローラ30は、ネガコン圧が低いほど制御電流を増大させて油圧ポンプ14Lの押し退け容積を増大させる。なお、以下では、油圧ポンプ14Lの押し退け容積について説明するが、油圧ポンプ14Rの押し退け容積についても同様の説明が適用される。
具体的には、油圧ポンプ14Lが吐出する作動油は、センターバイパス管路40Lを通ってネガコン絞り41Lに至り、ネガコン絞り41Lの上流でネガコン圧を発生させる。
例えば、アームシリンダ8を作動させるために制御弁175Lが動くと、油圧ポンプ14Lが吐出する作動油は制御弁175Lを介してアームシリンダ8に流れ込む。そのため、ネガコン絞り41Lに至る量が減少或いは消滅し、ネガコン絞り41Lの上流で発生するネガコン圧は低下する。
コントローラ30は、圧力センサS1で検出したネガコン圧の低下に応じてポンプレギュレータ14aLに対する制御電流を増大させる。ポンプレギュレータ14aLは、コントローラ30からの制御電流の増大に応じ、油圧ポンプ14Lの斜板傾転角を増大させて押し退け容積を増大させる。その結果、アームシリンダ8に十分な作動油が供給され、アームシリンダ8は適切に駆動される。
その後、アームシリンダ8の作動を停止させるために制御弁175Lが中立位置に戻されると、油圧ポンプ14Lが吐出する作動油はアームシリンダ8に流れ込むことなくネガコン絞り41Lに至る。そのため、ネガコン絞り41Lに至る量が増加し、ネガコン絞り41Lの上流で発生するネガコン圧は増大する。
コントローラ30は、圧力センサS1で検出したネガコン圧の増大に応じてポンプレギュレータ14aLに対する制御電流を低減させる。ポンプレギュレータ14aLは、コントローラ30からの制御電流の低減に応じ、油圧ポンプ14Lの斜板傾転角を低減させて押し退け容積を低減させる。その結果、ポンプ流量が減少し、油圧ポンプ14Lが吐出する作動油がセンターバイパス管路40Lを通過する際の圧力損失(ポンピングロス)が抑制される。
実線で表されるポンプ制御線は、ネガコン圧が減少するにつれてポンプ流量が増大する傾向を示す。以下では、上述のようなネガコン圧に基づくポンプ流量の制御を「ネガコン制御」と称する。ネガコン制御により、駆動システム100は、油圧アクチュエータを作動させない待機状態では無駄なエネルギ消費を抑制できる。油圧ポンプ14が吐出する作動油が発生させるポンピングロスを抑制できるためである。また、駆動システム100は、油圧アクチュエータを作動させる場合には、油圧ポンプ14から必要十分な作動油を油圧アクチュエータに供給できる。
また、駆動システム100は、ネガコン制御と並行して馬力制御を実行する。馬力制御は、油圧ポンプ14の吐出圧(以下、「ポンプ吐出圧」とする。)の上昇に応じてポンプ流量を低減させる。オーバートルクの発生を防止するためである。すなわち、ポンプ吐出圧とポンプ流量との積で表される油圧ポンプの吸収馬力(ポンプ吸収トルク)がエンジンの出力馬力(エンジン出力トルク)を超えないようにするためである。
図4は、ポンプ流量とポンプ吐出圧との関係を示す馬力制御線図(PQ線図)であり、縦軸にポンプ流量を配し、横軸にポンプ吐出圧を配する。馬力制御線は、ポンプ吐出圧が減少するにつれてポンプ流量が増大する傾向を示す。また、馬力制御線は、目標ポンプ吸収トルクTtに応じて決まり、目標ポンプ吸収トルクTtが大きいほど図の右上にシフトする。図4は、実線で表される馬力制御線に対応する目標ポンプ吸収トルクTt1が、破線で表される馬力制御線に対応する目標ポンプ吸収トルクTt2より大きいことを示す。なお、目標ポンプ吸収トルクTtは、油圧ポンプ14が利用可能なポンプ吸収トルクの許容最大値として予め設定される値である。本実施例では、目標ポンプ吸収トルクTtは固定値として予め設定されるが可変値であってもよい。
本実施例では、コントローラ30は、油圧ポンプ14Lを目標ポンプ吸収トルクTtで動作させる場合、図4に示すような馬力制御線にしたがって油圧ポンプ14Lの押し退け容積を制御する。具体的には、圧力センサS3の検出値であるポンプ吐出圧に対応するポンプ流量から目標押し退け容積を導き出す。そして、コントローラ30は、目標押し退け容積に対応する制御電流をポンプレギュレータ14aLに対して出力する。ポンプレギュレータ14aLはその制御電流に応じて斜板傾転角を増減させて押し退け容積を目標押し退け容積にする。このようなポンプ吸収トルクのフィードバック制御により、コントローラ30は、油圧アクチュエータに関する負荷の変動に起因してポンプ吐出圧が変動しても油圧ポンプ14Lを目標ポンプ吸収トルクTtで動作させることができる。ポンプ14Rについても同様である。
しかしながら、このようなフィードバック制御を利用する限り、コントローラ30は、ポンプ吐出圧の変化を検出してから実際にポンプ流量を変化させるまでに要する応答遅れ時間を解消できない。
そこで、コントローラ30は、この応答遅れ時間を解消するためにモデル予測制御を採用する。本実施例では、コントローラ30は、油圧アクチュエータの状態量と油圧ポンプ14の状態量とに基づいて所定時間後の油圧ポンプ14の状態量を予測して油圧ポンプ14に対する指令値を導き出す。油圧アクチュエータの状態量は、油圧アクチュエータに関する負荷の変動に対する反応がポンプ吐出圧よりも速い状態量であり、油圧アクチュエータとしての油圧シリンダの伸縮速度、油圧アクチュエータによって回動される作業要素の回動角速度等を含む。油圧ポンプ14の状態量は、ポンプ吐出圧、押し退け容積、斜板傾転角等を含む。所定時間後の油圧ポンプ14の状態量は、予測の対象となる状態量であり、ポンプ吐出圧等を含む。また、油圧ポンプ14に対する指令値は押し退け容積指令値等を含む。
ここで図5を参照してモデル予測制御を実行する際に採用される制御システムの構成例について説明する。なお、図5は、制御システムの構成例を示す機能ブロック図である。
具体的には、図5の制御システムは、コントローラ30、アクチュエータ状態量取得部31、及びポンプ吐出圧検出部32を含む。また、コントローラ30は、馬力制御部33、モデル予測制御部34、及びモデル状態再設定部35を含む。
アクチュエータ状態量取得部31は、油圧アクチュエータの状態量を取得する機能要素であり、例えば、油圧アクチュエータとしての油圧シリンダの伸縮状態を検出する変位センサを含む。変位センサは、検出した変位に基づいて油圧シリンダの伸縮速度vを取得し、その値を電気的な伸縮速度信号としてモデル予測制御部34に対して出力する。本実施例では、変位センサは、ブームストロークセンサ7s、アームストロークセンサ8s、及びバケットストロークセンサ9sを含む。なお、アクチュエータ状態量取得部31は、作業体の回動角度を検出する角度センサであってもよい。この場合も同様に、アクチュエータ状態量取得部31は、検出した角度に基づいて油圧シリンダの伸縮速度vを取得し、その値を電気的な伸縮速度信号としてモデル予測制御部34に対して出力する。
ポンプ吐出圧検出部32はポンプ吐出圧を検出する機能要素である。本実施例では、ポンプ吐出圧検出部32はポンプ吐出圧Pdを検出する圧力センサS3、S4である。圧力センサS3、S4は、検出値を電気的なポンプ吐出圧信号としてモデル予測制御部34に対して出力する。
馬力制御部33は、油圧ポンプ14の吸収馬力(ポンプ吸収トルク)を制御する機能要素である。本実施例では、馬力制御部33は、押し退け容積指令値に対応する制御電流をポンプレギュレータ14aに出力して油圧ポンプ14のポンプ流量を制御することでポンプ吸収トルクを制御する。
モデル予測制御部34は、油圧アクチュエータ及び油圧ポンプ14を含む油圧回路の挙動を予測するモデルを用いてリアルタイムで最適制御理論に基づく制御(モデル予測制御)を行う機能要素である。油圧回路のモデル予測制御は、油圧回路のプラントモデルを用いた制御である。また、油圧回路のプラントモデルは、油圧回路に対する入力から油圧回路の出力を導き出せるようにするモデルである。本実施例では、モデル予測制御部34は、ポンプ吐出圧Pdと、油圧シリンダの伸張速度vと、油圧ポンプ14Lの押し退け容積Vdと、押し退け容積指令値の微小変化ΔVtとから、有限時間内の未来におけるポンプ吐出圧の予測値を導き出すことができる。なお、伸縮速度vは、ブームシリンダ7の伸張速度、アームシリンダ8の伸張速度、バケットシリンダ9の伸縮速度等を含む。また、微小変化ΔVtは、前回の押し退け容積指令値Vtと前々回の押し退け容積指令値Vtpとの差である。また、押し退け容積Vdは、馬力制御部33が押し退け容積指令値に対応する制御電流をポンプレギュレータ14aに対して出力した時点から僅かに遅れてその押し退け容積指令値に対応する値に至る。そのため、押し退け容積Vdは、押し退け容積指令値の過去の推移から導き出される。例えば、押し退け容積指令値が所定期間に亘って変化していない場合には現在の押し退け容積Vdはその押し退け容積指令値と同じ値とされる。また、押し退け容積指令値が直近で変化していた場合には現在の押し退け容積Vdは変化前の押し退け容積指令値と変化後の押し退け容積指令値と一次遅れの時定数とを用いて算出される。
モデル状態再設定部35は、モデル予測制御部34が用いるプラントモデルにおける変数係数を定数化する機能要素である。本実施例では、モデル状態再設定部35は、変数係数としての押し退け容積指令値Vtをポンプ吐出圧Pdの関数f(Pd)とし、入力としてのポンプ吐出圧Pdに応じた押し退け容積指令値Vt(=f(Pd)=2π×Tt/Pd)を出力する。より詳細には、モデル状態再設定部35は、馬力制御における馬力制御線を参照し、ポンプ吐出圧Pdに対応する押し退け容積指令値Vtを導き出す。すなわち、ポンプ吐出圧Pdと押し退け容積指令値Vtの積を2πで除した値が目標ポンプ吸収トルクTtとなるようにポンプ吐出圧Pdに対応する押し退け容積指令値Vtを導き出す。
次に、モデル予測制御部34とモデル状態再設定部35にて実行される計算について説明する。モデル予測制御部34は、油圧回路の状態を表す以下の行列方程式を用いてポンプ吐出圧の予測値を導き出す。なお、A、Bは、油圧回路の構造的特徴を表す係数行列であり、v1、v2、・・・、vnはn個の油圧シリンダのそれぞれの伸張速度である。また、係数行列Aは、上述の関数fを成分として含み、この行列方程式におけるfとPdの乗算は、ポンプ吐出圧Pdを引数として関数fを計算すること、すなわちモデル状態再設定部35がポンプ吐出圧Pdに基づいて押し退け容積指令値Vtを算出することを意味する。さらに、係数行列Aは、油圧ポンプ14の回転数とシリンダ体積の比、及び、ポンプ応答遅れを表す時定数の逆数(1/T)を成分として含み、この行列方程式におけるその比と押し退け容積Vdとの乗算は作動油の圧力変化を算出することを意味し、その逆数と押し退け容積Vdとの乗算は作動油の体積変化を算出することを意味する。また、係数行列Bは、n個の油圧シリンダのそれぞれにおけるピストンの受圧面積RAとシリンダ体積RVとの比(RA1/RV1、RA2/RV2、・・・、RAn/RVn)を成分として含み、この行列方程式における比RAn/RVnと伸張速度vnとの乗算は、モデル予測制御部34がn番目の油圧シリンダの伸縮による作動油の圧力変化を計算することを意味する。また、係数行列Bは、ポンプの応答遅れを表す時定数の逆数(1/T)を成分として含み、この行列方程式におけるその逆数と微小変化ΔVtとの乗算は、モデル予測制御部34がn個の油圧シリンダの伸縮による作動油の体積変化を計算することを意味する。
より具体的には、モデル予測制御部34は、ポンプ吐出圧検出部32から受けた現時点におけるポンプ吐出圧Pdをモデル状態再設定部35に入力してモデル状態再設定部35から押し退け容積指令値Vtを受ける。また、モデル予測制御部34は、現時点におけるポンプ吐出圧Pd、押し退け容積Vd、n個の油圧シリンダのそれぞれの伸縮速度v
1〜v
n、及び押し退け容積指令値の微小変化ΔVtと上記行列方程式とに基づいてポンプ吐出圧Pd及び押し退け容積Vdのそれぞれの微分値を導き出す。そして、現時点におけるポンプ吐出圧Pdにその微分値を加算して1制御周期後のポンプ吐出圧の予測値Pd'を導き出す。押し退け容積Vdについても同様にして1制御周期後の押し退け容積の予測値Vd'を導き出す。なお、現時点における押し退け容積Vdは、過去の押し退け容積指令値Vtから一次遅れを考慮して算出される値である。
その後、モデル予測制御部34は、予測値Pd'をモデル状態再設定部35に入力する。モデル状態再設定部35は、予測値Pd'と馬力制御線図を用いて押し退け容積指令値Vt'を算出する。そして、モデル予測制御部34は、モデル状態再設定部35が算出した押し退け容積指令値Vt'を受ける。また、予測値Pd'及びVd'と、現時点におけるn個の油圧シリンダのそれぞれの伸縮速度v1〜vn及び押し退け容積指令値の微小変化ΔVtと、上記行列方程式とに基づいて予測値Pd'及びVd'のそれぞれの微分値を導き出す。そして、予測値Pd'にその微分値を加算して2制御周期後のポンプ吐出圧の予測値Pd''を導き出す。予測値Vd'についても同様にして2制御周期後の予測値Vd''を導き出す。
このようにして、モデル予測制御部34は、微小変化ΔVtを継続的に使用した場合(すなわち押し退け容積指令値が制御周期毎にΔVtずつ変化する場合)のn制御周期後のポンプ吐出圧及び押し退け容積のそれぞれの予測値を導き出す。
さらに、モデル予測制御部34は、微小変化ΔVtを基準として設定される複数の微小変化の値に対し、n制御周期に亘って継続的に使用した場合のn制御周期後のポンプ吐出圧及び押し退け容積のそれぞれの予測値を上述の方法で導き出す。複数の微小変化の値のそれぞれは、例えば、微小変化ΔVtに所定値を加算し、或いは、微小変化ΔVtから所定値を減算することで導き出される。
その上で、モデル予測制御部34は、n制御周期後(例えば10制御周期後)のポンプ吐出圧に基づいてモデル状態再設定部35が導き出す押し退け容積指令値と、n制御周期後の押し退け容積との差を最小とする微小変化ΔVtcを複数の微小変化の値の中から選択する。具体的には、微小変化ΔVtを含む複数の微小変化の値のうちの1つを今回採用すべき微小変化Vtcとして選択する。
そして、モデル予測制御部34は、選択した微小変化ΔVtcを馬力制御部33に対して出力する。馬力制御部33は、モデル予測制御部34が選択した微小変化ΔVtcを用いて油圧ポンプ14の押し退け容積をモデル予測制御で制御する。
このように、モデル予測制御部34は、制御周期毎に、複数の微小変化の値のそれぞれを用いた場合のn制御周期後のポンプ吐出圧及び押し退け容積の予測値を算出する。そして、n制御周期後のポンプ吐出圧に基づいてモデル状態再設定部35が導き出す押し退け容積指令値と、n制御周期後の押し退け容積との差を最小とする微小変化ΔVtcを選択する。馬力制御部33は、制御周期毎に、モデル予測制御部34が選択した微小変化ΔVtcから今回採用すべき押し退け容積指令値Vtcを算出し、その押し退け容積指令値Vtcに対応する制御電流をポンプレギュレータ14aに対して出力する。なお、馬力制御部33は、例えば、前回の押し退け容積指令値Vtに微小変化ΔVtcを加算することで今回採用すべき押し退け容積指令値Vtcを算出する。ポンプレギュレータ14aは油圧ポンプ14の斜板傾転角をその制御電流に応じた角度に変更する。その結果、油圧ポンプ14の押し退け容積Vdは目標ポンプ吸収トルクTtをもたらす押し退け容積まで増減される。
次に、図6を参照してアーム閉じ操作を含む掘削操作の実行中に掘削負荷が急増したときのポンプ吐出圧、押し退け容積、及びポンプ吸収トルクの時間的推移について説明する。なお、図6はポンプ吐出圧、押し退け容積、及びポンプ吸収トルクの時間的推移を示す図である。また、図6の破線はモデル予測制御が採用されない場合の時間的推移を示し、実線はモデル予測制御が採用された場合の時間的推移を示す。また、この掘削操作の実行中において油圧ポンプ14は馬力制御によって制御されている。
モデル予測制御が採用されない場合、時刻t1において掘削負荷が急増すると、ポンプ吐出圧Pd及びポンプ吸収トルクTpは増大し始める。油圧ポンプ14の応答遅れのためにしばらくの間は油圧ポンプ14からアームシリンダ8に向かう作動油の流量が維持されるにもかかわらず、アームシリンダ8の伸張速度が鈍化するためである。
具体的には、ポンプ吸収トルクTpは、目標ポンプ吸収トルクTtを超えて増加した後で時刻t2において減少に転じ、その後、目標ポンプ吸収トルクTtを下回るまで減少した後で時刻t3において再び増加に転じる。その後、ポンプ吸収トルクTpは、目標ポンプ吸収トルクTtを挟んで増減を繰り返しながら目標ポンプ吸収トルクTtに収束する。
このように、コントローラ30は、応答遅れを含んだ状態でポンプ吐出圧Pdの変動に応じて押し退け容積指令値を増減させ、ポンプ吸収トルクTpが目標ポンプ吸収トルクTtとなるように押し退け容積Vdをフィードバック制御で制御する。そのため、ポンプ吸収トルクTpが一時的に目標ポンプ吸収トルクTtを超えてしまい、場合によってはポンプ吸収トルクTpがエンジン出力トルクを超えてしまう場合がある。反対に、目標ポンプ吸収トルクTtを超えてしまったポンプ吸収トルクTpを目標ポンプ吸収トルクTtのレベルに戻す際に目標ポンプ吸収トルクTtを大きく下回るレベルまでポンプ吸収トルクTpを過度に低減させてしまう場合がある。
これに対し、モデル予測制御が採用された場合には、図5の制御システムが採用されない場合と異なり、ポンプ吸収トルクTpは目標ポンプ吸収トルクTtを大きく超えることなく目標ポンプ吸収トルクTtを維持したまま推移する。モデル予測制御によりポンプ吸収トルクTpが目標ポンプ吸収トルクTtから逸脱する前に押し退け容積指令値が変更されてポンプ吸収トルクTpの逸脱が予防的に抑制されるためである。
具体的には、コントローラ30は、現時点におけるポンプ吐出圧Pdと押し退け容積Vdとアームシリンダ8の伸縮速度と上記行列方程式とに基づき、様々な押し退け容積指令値を採用した場合の所定時間後のポンプ吐出圧及び押し退け容積を予測する。なお、アームシリンダ8の伸縮速度は、掘削負荷の変動に対する反応がポンプ吐出圧よりも速い状態量であるアームシリンダ8の長さの変化である。そのため、現時点では、アームシリンダ8の伸張速度は既に低下しているものの、油圧ポンプ14のポンプ吐出圧は未だ上昇していない。
そして、コントローラ30は、所定時間後のポンプ吐出圧の予測値に基づいてモデル状態再設定部35が導き出す押し退け容積指令値と所定時間後の押し退け容積の予測値との差を最小とする押し退け容積指令値を導き出す。そして、その押し退け容積指令値を用いて油圧ポンプ14のポンプ流量を制御してポンプ吸収トルクTpが目標ポンプ吸収トルクTtで維持されるようにする。
このように、コントローラ30は、押し退け容積指令値を増減させ、目標ポンプ吸収トルクTtとなるように押し退け容積Vdをモデル予測制御で制御する。そのため、掘削負荷が急増した場合であっても、ポンプ吸収トルクTpが一時的に目標ポンプ吸収トルクTtを超えてしまうのを抑制或いは防止し、ポンプ吸収トルクTpがエンジン出力トルクを超えてしまうのを抑制或いは防止できる。
また、図5の制御システムは、ポンプ吐出圧に基づくポンプ流量のフィードバック制御に比べ、掘削負荷の変動に対する油圧ポンプ14の応答遅れの影響を小さくできる。
以上、本発明の実施例について詳述したが、本発明は特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形及び変更が可能である。
例えば、上述の実施例では、馬力制御部33は、制御周期毎に、モデル予測制御部34が選択した微小変化ΔVtcから今回採用すべき押し退け容積指令値Vtcを算出する。しかしながら、モデル予測制御部34は、微小変化ΔVtcから押し退け容積指令値Vtcを算出した上で、その押し退け容積指令値Vtcを馬力制御部33に対して出力してもよい。
また、上述の実施例では、モデル予測制御部34はコントローラ30に統合されているものとして説明されたがコントローラ30とは別体のものであってもよい。