図1は、本発明が適用される建設機械としてのショベル(掘削機)を示す側面図である。ショベルの下部走行体1には、旋回機構2を介して上部旋回体3が搭載されている。上部旋回体3にはブーム4が取り付けられている。ブーム4の先端にはアーム5が取り付けられ、アーム5の先端にはエンドアタッチメントとしてのバケット6が取り付けられている。作業要素としてのブーム4、アーム5、及びバケット6は、アタッチメントの一例である掘削アタッチメントを構成し、ブームシリンダ7、アームシリンダ8、及びバケットシリンダ9によりそれぞれ油圧駆動される。
ブーム4にはブーム角度センサS1が取り付けられ、アーム5にはアーム角度センサS2が取り付けられ、バケット6にはバケット角度センサS3が取り付けられている。また、上部旋回体3には機体傾斜センサS4及び旋回角速度センサS5が取り付けられている。
ブーム角度センサS1は、上部旋回体3に対するブーム4の回動角度であるブーム角度を取得するセンサである。ブーム角度センサS1は、例えば、ブームフートピン回りのブーム4の回転角度を検出する回転角度センサ、ブームシリンダ7のストローク量(ブームストローク量)を検出するシリンダストロークセンサ、ブーム4の傾斜角度を検出する傾斜(加速度)センサ等を含む。加速度センサとジャイロセンサの組み合わせであってもよい。ブーム4に対するアーム5の回動角度であるアーム角度を検出するアーム角度センサ、及び、アーム5に対するバケット6の回動角度であるバケット角度を検出するバケット角度センサについても同様である。
機体傾斜センサS4は水平面に対する上部旋回体3の傾斜(機体傾斜角度)を検出する。本実施例では、機体傾斜センサS4は上部旋回体3の前後軸及び左右軸回りの傾斜角度を検出する加速度センサである。上部旋回体3の前後軸及び左右軸は、例えば、互いに直交してショベルの旋回軸上の一点であるショベル中心点を通る。
旋回角速度センサS5は、上部旋回体3の旋回角速度を検出する。本実施例では、ジャイロセンサである。レゾルバ、ロータリエンコーダ等であってもよい。
ブームシリンダ7にはブームロッド圧センサS6a、ブームボトム圧センサS6b、及び、ブームシリンダストロークセンサS7が取り付けられている。アームシリンダ8にはアームロッド圧センサS6c、アームボトム圧センサS6d、及び、アームシリンダストロークセンサS8が取り付けられている。バケットシリンダ9にはバケットロッド圧センサS6e、バケットボトム圧センサS6f、及び、バケットシリンダストロークセンサS9が取り付けられている。
ブームロッド圧センサS6aはブームシリンダ7のロッド側油室の圧力(以下、「ブームロッド圧」とする。)を検出し、ブームボトム圧センサS6bはブームシリンダ7のボトム側油室の圧力(以下、「ブームボトム圧」とする。)を検出する。アームロッド圧センサS6cはアームシリンダ8のロッド側油室の圧力(以下、「アームロッド圧」とする。)を検出し、アームボトム圧センサS6dはアームシリンダ8のボトム側油室の圧力(以下、「アームボトム圧」とする。)を検出する。バケットロッド圧センサS6eはバケットシリンダ9のロッド側油室の圧力(以下、「バケットロッド圧」とする。)を検出し、バケットボトム圧センサS6fはバケットシリンダ9のボトム側油室の圧力(以下、「バケットボトム圧」とする。)を検出する。
上部旋回体3には、運転室としてのキャビン10が設けられ且つエンジン11等の動力源が搭載されている。
図2は、図1のショベルの駆動系の構成例を示すブロック図であり、機械的動力伝達ライン、作動油ライン、パイロットライン、電気制御ラインをそれぞれ二重線、太実線、破線、点線で示す。
ショベルの駆動系は、主に、エンジン11、レギュレータ13、メインポンプ14、パイロットポンプ15、コントロールバルブ17、操作装置26、吐出圧センサ28、操作圧センサ29、コントローラ30、情報取得装置40等を含む。
エンジン11は、ショベルの駆動源である。本実施例では、エンジン11は、例えば、所定の回転数を維持するように動作する内燃機関としてのディーゼルエンジンである。また、エンジン11の出力軸は、メインポンプ14及びパイロットポンプ15の入力軸に連結される。
メインポンプ14は、作動油ラインを介して作動油をコントロールバルブ17に供給するための装置であり、例えば、斜板式可変容量型油圧ポンプである。
レギュレータ13は、メインポンプ14の吐出量を制御するための装置である。本実施例では、レギュレータ13は、例えば、メインポンプ14の吐出圧、コントローラ30からの指令電流等に応じてメインポンプ14の斜板傾転角を調節することによってメインポンプ14の吐出量を制御する。
パイロットポンプ15は、パイロットラインを介して操作装置26を含む各種油圧制御機器に作動油を供給する装置であり、例えば、固定容量型油圧ポンプである。
コントロールバルブ17は、ショベルにおける油圧システムを制御する油圧制御装置である。具体的には、コントロールバルブ17は、メインポンプ14が吐出する作動油の流れを制御する複数のスプール型の制御弁を含む。例えば、ブーム用制御弁17A、アーム用制御弁17B、バケット用制御弁17C、左走行モータ用制御弁17D、右走行モータ用制御弁17E、旋回用制御弁17Fを含む。そして、コントロールバルブ17は、それら制御弁を通じ、メインポンプ14が吐出する作動油を1又は複数の油圧アクチュエータに選択的に供給する。それら制御弁は、メインポンプ14からセンターバイパス管路を通って作動油タンクに流れる作動油の流量、メインポンプ14から油圧アクチュエータに流れる作動油の流量、及び、油圧アクチュエータから作動油タンクに流れる作動油の流量を制御する。油圧アクチュエータは、ブームシリンダ7、アームシリンダ8、バケットシリンダ9、左側走行油圧モータ1L、右側走行油圧モータ1R、及び旋回油圧モータ2Aを含む。
操作装置26は、操作者が油圧アクチュエータの操作のために用いる装置である。本実施例では、操作装置26は、キャビン10内に設置され、パイロットポンプ15が吐出する作動油をパイロットライン経由で油圧アクチュエータのそれぞれに対応する制御弁のパイロットポートに供給する。パイロットポートのそれぞれに供給される作動油の圧力(以下、「パイロット圧」とする。)は、油圧アクチュエータのそれぞれに対応する操作装置26のレバー又はペダルの操作方向及び操作量に応じた圧力である。
吐出圧センサ28は、メインポンプ14が吐出する作動油の圧力を検出する圧力センサである。本実施例では、吐出圧センサ28は、検出した値をコントローラ30に対して出力する。
操作圧センサ29は、操作装置26に対する操作内容を検出するための圧力センサである。本実施例では、操作圧センサ29は、例えば、油圧アクチュエータのそれぞれに対応する操作装置26のレバー又はペダルの操作方向及び操作量を圧力の形で検出し、検出した値をコントローラ30に対して出力する。操作装置26の操作内容は、圧力センサ以外の他のセンサを用いて検出されてもよい。
情報取得装置40はショベルに関する情報を検出する。本実施例では、情報取得装置40は、ブーム角度センサS1、アーム角度センサS2、バケット角度センサS3、機体傾斜センサS4、旋回角速度センサS5、ブームロッド圧センサS6a、ブームボトム圧センサS6b、アームロッド圧センサS6c、アームボトム圧センサS6d、バケットロッド圧センサS6e、バケットボトム圧センサS6f、ブームシリンダストロークセンサS7、アームシリンダストロークセンサS8、バケットシリンダストロークセンサS9、吐出圧センサ28、及び、操作圧センサ29のうち少なくとも1つを含む。情報取得装置40は、例えば、掘削アタッチメントに関する情報として、ブーム角度、アーム角度、バケット角度、機体傾斜角度、旋回角速度、ブームロッド圧、ブームボトム圧、アームロッド圧、アームボトム圧、バケットロッド圧、バケットボトム圧、ブームストローク量、アームストローク量、バケットストローク量、メインポンプ14の吐出圧、及び、操作装置26の操作圧のうちの少なくとも1つを取得する。
コントローラ30は、ショベルを制御するための制御装置である。本実施例では、コントローラ30は、例えば、CPU、RAM、NVRAM、ROM等を備えたコンピュータで構成される。また、コントローラ30は、アタッチメント制御部31に対応するプログラムをROMから読み出してRAMにロードし、対応する処理をCPUに実行させる。
アタッチメント制御部31は、アタッチメントの動きを制御する機能要素である。基本的に、アタッチメントは、複数の操作装置26のそれぞれに対する操作に応じて動く。一方で、アタッチメント制御部31は、操作装置26に対する操作の有無にかかわらず、アタッチメントを動かすことができる。
例えば、掘削アタッチメントは、基本的に、操作装置26としてのブーム操作レバー、アーム操作レバー、及びバケット操作レバーのそれぞれに対する操作に応じて動く。一方で、アタッチメント制御部31は、例えば、ブーム操作レバー、アーム操作レバー、及びバケット操作レバーのそれぞれに対する操作の有無にかかわらず、予め設定された動作パターンに従って掘削アタッチメントを動かすことができる。
動作パターンは、例えば、ブームシリンダ流入量、アームシリンダ流入量、及び、バケットシリンダ流入量のそれぞれの時系列データ(目標値)の組み合わせで表される。時系列データ(目標値)の組み合わせは、例えば、1秒刻みに設定されている。ブームシリンダ流入量は、ブーム用制御弁17Aを通ってブームシリンダ7に流入する作動油の流量である。アームシリンダ流入量は、アーム用制御弁17Bを通ってアームシリンダ8に流入する作動油の流量である。バケットシリンダ流入量は、バケット用制御弁17Cを通ってバケットシリンダ9に流入する作動油の流量である。この場合、将来のある時点における掘削アタッチメントの姿勢は、その時点に至るまでのブームシリンダ流入量、アームシリンダ流入量、及び、バケットシリンダ流入量のそれぞれの推移で決まる。動作パターンは、ブームストローク量、アームストローク量、及び、バケットストローク量のそれぞれの時系列データ(目標値)の組み合わせで表されていてもよい。この場合、ブームシリンダ流入量、アームシリンダ流入量、バケットシリンダ流入量は、ブームストローク量、アームストローク量、バケットストローク量から算出される。或いは、動作パターンは、ブームシリンダ伸縮速度、アームシリンダ伸縮速度、及び、バケットシリンダ伸縮速度のそれぞれの時系列データ(目標値)の組み合わせで表されていてもよい。この場合、ブームシリンダ流入量、アームシリンダ流入量、バケットシリンダ流入量は、ブームシリンダ伸縮速度、アームシリンダ伸縮速度、バケットシリンダ伸縮速度から算出される。
本実施例では、ブーム操作レバーとバケット操作レバーは別個独立の操作レバーとして説明されているが、物理的には同じ1つの操作レバーであり傾倒方向のみが異なるものであってもよい。アーム操作レバーと旋回操作レバーの関係についても同様である。
次に、図3を参照し、掘削アタッチメントの自動制御を実現する制御機構の一例について説明する。図3は、制御機構50が取り付けられた操作装置26としてのアーム操作レバー26Aの構成例を示す図である。以下の説明は、制御機構50が取り付けられた他の操作レバーについても同様に適用される。例えば、ブーム用制御弁17Aを移動させるための制御機構50が取り付けられたブーム操作レバー、バケット用制御弁17Cを移動させるための制御機構50が取り付けられたバケット操作レバー等についても同様に適用される。
制御機構50は、アーム用制御弁17Bのスプール位置を調整する機構であり、主に電磁弁51、電磁弁52L、電磁弁52R等を含む。
電磁弁51は、パイロットポンプ15とアーム操作レバー26Aとを繋ぐ管路に配置される電磁比例減圧弁であり、コントローラ30からの制御電流に応じてその開口面積を増減させる。
電磁弁52Lは、アーム操作レバー26Aとアーム用制御弁17Bの左側パイロットポート17Lとを接続する管路C1に配置される電磁切替弁であり、コントローラ30からの指令に応じてその弁位置を切り替える。管路C1は、管路C11及び管路C12を含む。電磁弁52Lは第1弁位置と第2弁位置とを有する。第1弁位置は、管路C11と管路C12とを連通させ、且つ、管路C3と管路C12との連通を遮断する。第2弁位置は、管路C11と管路C12との連通を遮断し、且つ、管路C3と管路C12とを連通させる。管路C11はアーム操作レバー26Aと電磁弁52Lとを接続する。管路C12は電磁弁52Lとアーム用制御弁17Bの左側パイロットポート17Lとを接続する。管路C3は電磁弁51と電磁弁52Lとを接続する。
電磁弁52Rは、アーム操作レバー26Aとアーム用制御弁17Bの右側パイロットポート17Rとを接続する管路C2に配置される電磁切替弁であり、コントローラ30からの指令に応じてその弁位置を切り替える。管路C2は、管路C21及び管路C22を含む。電磁弁52Rは第1弁位置と第2弁位置とを有する。第1弁位置は、管路C21と管路C22とを連通させ、且つ、管路C4と管路C22との連通を遮断する。第2弁位置は、管路C21と管路C22との連通を遮断し、且つ、管路C4と管路C22とを連通させる。管路C21はアーム操作レバー26Aと電磁弁52Rとを接続する。管路C22は電磁弁52Rとアーム用制御弁17Bの右側パイロットポート17Rとを接続する。管路C4は電磁弁51と電磁弁52Rとを接続する。
アーム操作レバー26Aは、閉じ方向に傾けられると管路C1内の作動油の圧力を増大させ、開き方向に傾けられると管路C2内の作動油の圧力を増大させる。管路C1内の作動油の圧力であるアーム閉じパイロット圧は、操作圧センサ29の一例であるアーム閉じパイロット圧センサ29Lによって検出される。管路C2内の作動油の圧力であるアーム開きパイロット圧は、操作圧センサ29の一例であるアーム開きパイロット圧センサ29Rによって検出される。アーム閉じパイロット圧が増大するとスプール弁としてのアーム用制御弁17Bが右方向に移動してメインポンプ14とアームシリンダ8のボトム側油室とを連通させてアームシリンダ8を伸張させる。アーム開きパイロット圧が増大するとアーム用制御弁17Bが左方向に移動してメインポンプ14とアームシリンダ8のロッド側油室とを連通させてアームシリンダ8を収縮させる。
アタッチメント制御部31は、アームシリンダ8を自動的に伸張させる場合、電磁弁51に対してスプール制御指令(電流指令)を出力し、且つ、電磁弁52Lに対して開指令を出力する。スプール制御指令を受けた電磁弁51は、そのスプール制御指令に応じた開口面積を実現するように動作する。開指令を受けた電磁弁52Lは第2弁位置に切り替わり、パイロットポンプ15が吐出する作動油を管路C12に流入させる。
同様に、アタッチメント制御部31は、アームシリンダ8を自動的に収縮させる場合、電磁弁51に対してスプール制御指令を出力し、且つ、電磁弁52Rに対して開指令を出力する。スプール制御指令を受けた電磁弁51は、そのスプール制御指令に応じた開口面積を実現するように動作する。開指令を受けた電磁弁52Rは第2弁位置に切り替わり、パイロットポンプ15が吐出する作動油を管路C22に流入させる。
このように、アタッチメント制御部31は、例えば、予め設定された動作パターンを参照してスプール制御指令を生成し、アーム用制御弁17Bのスプール位置(変位)を制御する。アーム用制御弁17Bは、例えば、動作パターンを構成するアームシリンダ流入量を実現するように動作する。
また、アタッチメント制御部31は、制御弁をモデル化した推定器として機能する。アタッチメント制御部31は、例えば、情報取得装置40の出力に基づき、制御弁(ここではアーム用制御弁17B)を通過する作動油の流量の推定値(第1流量推定値Q1)を導き出す。例えば、式(1)を用いて第1流量推定値Qa1を導き出す。
cは流量係数を表し、A
1は制御弁の開口面積を表し、ρは作動油の密度を表し、ΔPは制御弁の前後の圧力差を表す。c及びρは予め記憶されている値である。ΔPは、例えば、吐出圧センサ28の検出値と油圧シリンダのロッド圧センサ又はボトム圧センサの検出値との差として導き出される。具体的には、アーム5を閉じる場合、吐出圧センサ28の検出値とアームボトム圧センサS6dの検出値との差として導き出される。また、アーム5を開く場合、吐出圧センサ28の検出値とアームロッド圧センサS6cの検出値との差として導き出される。制御弁の開口面積A
1は、スプール制御指令によって決まる値である。
また、アタッチメント制御部31は、情報取得装置40の出力に基づき、油圧シリンダ(ここではアームシリンダ8)に流入する作動油の流量の推定値(第2流量推定値Q2)を導き出す。例えば、式(2)を用いて第2流量推定値Q2を導き出す。
vは油圧シリンダ(ここではアームシリンダ8)の伸縮速度を表し、A
2は油圧シリンダ内のピストンの受圧面積を表す。A
2は予め記憶されている値である。vは、例えば、油圧シリンダストロークセンサ(ここではアームシリンダストロークセンサS8)の出力から導き出される。
アタッチメント制御部31は、式(1)で算出した第1流量推定値Q1と、式(2)で算出した第2流量推定値Q2との差に基づいてスプール制御指令を補正する。この差は、制御弁(アーム用制御弁17B)の実際の開口面積が目標値としての開口面積A1と一致していないことに起因すると考えられるためである。そのため、アタッチメント制御部31は、Q1とQ2の差が小さくなるようにスプール制御指令を補正する。例えば、Q1がQ2より大きい場合、制御弁の実際の開口面積が小さくなるようにスプール制御指令を補正する。反対に、Q1がQ2より小さい場合、制御弁の実際の開口面積が大きくなるようにスプール制御指令を補正する。
次に、図4を参照し、アタッチメント制御部31が掘削アタッチメントを自動制御する際の処理(以下、「アタッチメント自動制御処理」とする。)の一例について説明する。図4は、アタッチメント自動制御処理の一例を示す制御フロー図である。アタッチメント制御部31は、所定周期で繰り返しこの処理を実行する。
最初に、アタッチメント制御部31は、スプール制御指令を生成する(ステップST1)。本実施例では、アタッチメント制御部31は、NVRAM等に記憶された動作パターンを参照してスプール制御指令を生成する。そして、生成したスプール制御指令を制御機構50の電磁弁51に対して出力する。アタッチメント制御部31は、例えば、動作パターンを構成する油圧シリンダ流入量(ブームシリンダ流入量、アームシリンダ流入量、及び、バケットシリンダ流入量)のそれぞれからスプール制御指令を生成する。油圧シリンダ流入量とスプール制御指令との対応関係は、例えば、NVRAM等に予め記憶されている。そして、ブーム操作レバー、アーム操作レバー、及び、バケット操作レバーのそれぞれに取り付けられた制御機構50の電磁弁51に対してスプール制御指令を別々に供給する。スプール制御指令は、例えば、所望の開口面積A1をもたらすための電流指令である。図4の「A1'」は、開口面積A1をもたらすための電流指令を意味する。
スプール制御指令が電磁弁51に対して出力されると、各油圧シリンダに対応する制御弁のスプールが変位する(ステップST2)。本実施例では、ブーム用制御弁17A、アーム用制御弁17B、バケット用制御弁17Cのそれぞれにおけるスプールが変位する。ブーム用制御弁17A、アーム用制御弁17B、バケット用制御弁17Cのそれぞれは、所望の開口面積A1をもたらすように変位する。
制御弁が変位すると、制御弁を通過する作動油の流量、すなわち、油圧シリンダに流入する作動油の流量が生成される(ステップST3)。本実施例では、スプール制御指令に応じて変位したスプールによって形成される開口を通ってブームシリンダ7、アームシリンダ8、及び、バケットシリンダ9のそれぞれに流入する作動油の流量が生成される。
油圧シリンダに作動油が流入すると、油圧シリンダは伸縮する(ステップST4)。本実施例では、ブームシリンダ7、アームシリンダ8、及び、バケットシリンダ9のそれぞれが、作動油の流入量に応じた速度vで伸縮する。
そして、アタッチメント制御部31は、スプール制御指令を補正する(ステップST5)。本実施例では、アタッチメント制御部31は、上述の式(1)で算出される第1流量推定値Q1と、式(2)で算出される第2流量推定値Q2とに基づいて制御弁に関するスプール制御指令を補正する。図4の「A1"」は、開口面積A1をもたらすための補正後の電流指令を表す。具体的には、ブーム用制御弁17A、アーム用制御弁17B、及び、バケット用制御弁17Cのそれぞれに関するスプール制御指令を補正する。
このように、アタッチメント制御部31は、制御弁を通過する流量、すなわち、油圧シリンダに流入する流量をフィードバックして制御弁のスプール変位(開口面積)を制御する。そのため、アタッチメント制御部31は、制御弁の実際のスプール変位(開口面積)をより正確に目標値に合わせることができ、油圧シリンダに流入する作動油の実際の流量をより正確に目標値に合わせることができる。その結果、アタッチメント制御部31は、例えば、バケット6の姿勢、及び、バケット6の爪先Peの位置をより正確に制御することができる。或いは、予め設定された動作パターンに沿って掘削アタッチメントをより正確に動作させることができる。すなわち、作業効率及び目標面(掘削動作によって形成される地面の目標形状)に対する仕上げ精度を向上させることができる。また、スプールストロークセンサが不要のため、製造コストを低減させることができる。
次に、図5を参照し、アタッチメント制御部31によるスプール制御指令に対する補正の効果について説明する。図5は、予め設定された動作パターンに従って掘削動作を実行する掘削アタッチメントの様子を示すショベルの側面図である。図5(A)は掘削動作の比較的早い段階を示し、図5(B)は掘削動作の比較的遅い段階を示す。図5の例では、動作パターンは、ブームストローク量、アームストローク量、及び、バケットストローク量のそれぞれの時系列データ(目標値)の組み合わせで表されている。図5(A)の状態から図5(B)の状態に推移する際に、ブームストローク量は値DA1から複数の値を経て値DA2に変化し、アームストローク量は値DB1から複数の値を経て値DB2に変化し、バケットストローク量は値DC1から複数の値を経て値DC2に変化する。
図5(A)の破線TPは、スプール制御指令に対する補正を行いながら、予め設定された動作パターンに従って掘削アタッチメントを動かした場合にバケット6の爪先Peが通る軌跡を示す。この軌跡は、図5(B)に示すように、掘削動作後の地面(目標面)と一致している。
図5(A)の点線TPaは、スプール制御指令に対する補正を行わない場合、すなわち、各制御弁を通過する作動油の流量を所望の流量に一致させることができない場合にバケット6の爪先Peが通る軌跡を示す。この軌跡は、図5(B)に示すように、掘削動作後の地面(目標面)と一致していない。スプール制御指令に対する補正が行われない場合、各制御弁を通過する作動油の流量、すなわち、各油圧シリンダに流入する作動油の流量は、外乱の影響を受けて所望の流量から逸脱してしまうためである。外乱は、例えば、制御弁内の通路における圧力損失、パイロット圧とスプール変位との間の非線形特性及びヒステリシス特性、作動油の流体力、スプールの摺動摩擦、バケット6の爪先Peに作用する掘削反力F(白色矢印参照。)等に関する外乱を含む。
このように、アタッチメント制御部31は、スプール制御指令に対する補正を行うことで、各制御弁を通過する作動油の流量が所望の流量から逸脱してしまうのを防止できる。その結果、動作パターンに従って掘削アタッチメントを正確に動作させることができる。
次に、図6を参照し、掘削アタッチメントの動きに関するパラメータの関係について説明する。図6は、掘削アタッチメントの動きに関するパラメータの関係を示す図である。
図6に示すように、ある時点におけるバケット6の爪先Peの位置座標(Xt、Yt、Zt)が決まると、その時点におけるブームストローク量、アームストローク量、及び、バケットストローク量が一意に決まる。これは、その時点におけるブーム角度、アーム角度、及び、バケット角度が一意に決まることを意味する。
そして、任意の2つの時点のそれぞれにおけるブームストローク量、アームストローク量、及び、バケットストローク量が決まると、それら2つの時点間のブームシリンダ伸張速度、アームシリンダ伸張速度、及び、バケットシリンダ伸張速度が一意に決まる。
更に、ブームシリンダ伸張速度、アームシリンダ伸張速度、及び、バケットシリンダ伸張速度が決まると、ブームシリンダ流入量、アームシリンダ流入量、及び、バケットシリンダ流入量が一意に決まる。
そして、ブームシリンダ流入量、アームシリンダ流入量、及び、バケットシリンダ流入量が決まると、ブーム用制御弁17Aのスプール変位(開口面積)、アーム用制御弁17Bのスプール変位(開口面積)、及び、バケット用制御弁17Cのスプール変位(開口面積)が一意に決まる。
従って、アタッチメント制御部31は、ブーム用制御弁17A、アーム用制御弁17B、及び、バケット用制御弁17Cのそれぞれのスプール変位(開口面積)を高精度に制御することで、バケット6の爪先Peの位置を高精度に制御できる。
次に、図7を参照し、アタッチメント自動制御処理の別の一例について説明する。図7は、アタッチメント自動制御処理の別の一例を示す制御フロー図である。アタッチメント制御部31は、所定周期で繰り返しこの処理を実行する。図7の制御フロー図は、ステップST1の前段にステップST11及びステップST12を有し、ステップST4の後段にステップST13を有する点で、図4の制御フロー図と相違する。一方、ステップST1〜ステップST5を有する点で図4の制御フロー図と共通する。そのため、共通部分の説明を省略し、相違部分を詳説する。
最初に、アタッチメント制御部31は、変位指令を生成する(ステップST11)。変位指令は、掘削アタッチメントの所定部位の変位に関する指令であり、例えば、バケット6の爪先Peの変位量及び変位方向に関する指令である。本実施例では、変位指令は、ブームシリンダ7、アームシリンダ8、及び、バケットシリンダ9のそれぞれの変位(伸縮)の大きさを表す変位目標値である。アタッチメント制御部31は、NVRAM等に記憶された動作パターンを参照して変位指令を生成する。アタッチメント制御部31は、例えば、動作パターンを構成する油圧シリンダ伸縮速度(ブームシリンダ伸縮速度、アームシリンダ伸縮速度、及び、バケットシリンダ伸縮速度)のそれぞれから変位指令を生成する。
その後、アタッチメント制御部31は、油圧シリンダ流入量の目標値を算出する(ステップST12)。本実施例では、アタッチメント制御部31は、ステップST11で生成した変位指令としての変位目標値と、シリンダストロークセンサの検出値に基づいて導き出される実変位との差を算出し、その差に基づいて油圧シリンダ流入量(ブームシリンダ流入量、アームシリンダ流入量、及び、バケットシリンダ流入量)の目標値を算出する。油圧シリンダ流入量の目標値は、変位目標値が実変位よりも大きいほど大きくなるように算出される。
その後、アタッチメント制御部31は、図4を参照して説明したように、油圧シリンダ流入量からスプール制御指令を生成し、且つ、第1流量推定値Q1及び第2流量推定値Q2を用いてスプール制御指令を補正しながら、油圧シリンダを伸縮させる(ステップST1〜ステップST5)。
その後、アタッチメント制御部31は、油圧シリンダの変位を算出する(ステップST13)。本実施例では、シリンダストロークセンサの検出値に基づいて導き出された油圧シリンダ伸縮速度を積分(積算)して油圧シリンダの変位を算出する。算出された変位は、油圧シリンダの実変位としてステップST12にフィードバックされる。
このように、アタッチメント制御部31は、フィードバック制御を二重ループにしたカスケード制御を実行する。具体的には、制御弁を通過する流量、及び、油圧シリンダに流入する流量をフィードバックして制御弁のスプール変位(開口面積)を制御し、更に、油圧シリンダの実変位をフィードバックして掘削アタッチメントの所定部位の変位を制御する。そのため、アタッチメント制御部31は、制御弁のスプール変位(開口面積)をより正確に目標値に合わせることができ、油圧シリンダに流入する作動油の流量をより正確に目標値に合わせることができる。また、掘削アタッチメントの所定部位の変位をより正確に目標値に合わせることができる。その結果、アタッチメント制御部31は、例えば、バケット6の姿勢、及び、バケット6の爪先Peの位置をより正確に制御することができる。或いは、予め設定された動作パターンに沿って掘削アタッチメントをより正確に動作させることができる。
以上、本発明の好ましい実施例について詳説したが、本発明は、上述した実施例に制限されることはなく、本発明の範囲を逸脱することなしに上述した実施例に種々の変形及び置換を加えることができる。
例えば、上述の実施例では、アタッチメント自動制御処理は、油圧パイロット式のスプール型の制御弁を備えたショベルで実行されている。しかしながら、本発明はこの構成に限定されるものではない。アタッチメント自動制御処理は、例えば、電磁式のスプール型の制御弁を備えたショベルで実行されてもよい。この場合、スプール制御指令は、電磁式のスプール型の制御弁に直接供給される。
また、上述の実施例では、アタッチメント自動制御処理は、掘削アタッチメントを全自動で動作させるために実行されている。しかしながら、本発明はこの構成に限定されるものではない。アタッチメント自動制御処理は、例えば、掘削アタッチメントを半自動で動作させるために実行されてもよい。アタッチメント自動制御処理は、例えば、整地作業等のために操作者がアーム閉じ操作を行っているときに、バケット6の爪先Peが目標面(水平面)に沿って移動するようブーム4を自動的に上昇させる際に実行されてもよい。この場合、動作パターンを構成するブームシリンダ流入量(目標値)は、例えば、アーム操作レバー26Aに関する操作圧センサ29の検出値、アームシリンダストロークセンサS8の検出値等から導き出される。