以下、本発明の作業機械の実施の形態について図面を用いて説明する。本実施の形態においては、作業機械の一例として油圧ショベルを例に挙げて説明する。また、本稿では、或る形状を示す用語(例えば、掘削目標面など)と共に用いられる「上」、「上方」又は「下方」という語の意味に関し、「上」は当該或る形状の「表面」を、「上方」は当該或る形状の「表面より高い位置」を、「下方」は当該或る形状の「表面より低い位置」を意味することとする。
[第1の実施の形態]
まず、本発明の作業機械の第1の実施の形態を適用した油圧ショベルの構成について図1を用いて説明する。図1は本発明の作業機械の第1の実施の形態を適用した油圧ショベルを示す斜視図である。ここでは、運転席に着座したオペレータから見た方向を用いて説明する。
図1において、作業機械としての油圧ショベルは、掘削等の作業を行うためのフロント作業装置1と、フロント作業装置1が回動可能に取り付けられた機体2とを備えている。機体2は、自走可能な下部走行体3と、下部走行体3上に旋回可能に搭載された上部旋回体4とで構成されている。
フロント作業装置1は、複数の被駆動部材を垂直方向に回動可能に連結することで構成された多関節型の作業装置である。複数の被駆動部材は、例えば、ブーム11、アーム12、作業具としてのバケット13とで構成されている。ブーム11の基端部は、上部旋回体4の前部にブームピン(図示せず)を介して回動可能に支持されている。ブーム11の先端部には、アーム12の基端部がアームピン(図示せず)を介して回動可能に支持されている。アーム12の先端部には、バケット13がバケットピン13aを介して回動可能に支持されている。ブーム11、アーム12、バケット13はそれぞれ、油圧アクチュエータであるブームシリンダ15、アームシリンダ16、バケットシリンダ17によって駆動される。バケット13は、バケット13と連動して回動するリンク部材18を介して駆動される。
下部走行体3は、例えば、左右にクローラ式の走行装置21(左側のみ図示)を備えている。走行装置21は、油圧アクチュエータである走行油圧モータ21aによって駆動する。
上部旋回体4は、例えば、油圧アクチュエータである旋回油圧モータ6によって下部走行体3に対して旋回駆動されるように構成されている。上部旋回体4は、オペレータが搭乗する運転室23と、各種機器を収容する機械室24とを含んでいる。
運転室23には、各油圧アクチュエータ6、15~17、21aを操作するための操作装置25、26(後述の図2も参照)が配置されている。操作装置25は、前後左右に傾倒可能な操作レバー25a、25bを有している。操作レバー25a、25bの前後方向の操作および左右方向の操作はそれぞれ別の油圧アクチュエータの操作として割り当てられている。例えば、操作レバー25a、25bの各操作は、フロント作業装置1(ブームシリンダ15、アームシリンダ16、バケットシリンダ17)の操作や上部旋回体4(旋回油圧モータ6)の旋回操作などとして割り当てられている。操作装置26は、左右の走行ペダル26a、26b及び前後に傾倒可能で走行ペダル26a、26bの操作に連動する左右の走行レバー26c、26dを有している。左右の走行ペダル26a、26b及び走行レバー26c、26dは、左右の走行装置21(走行油圧モータ21a)の走行操作として割り当てられている。操作装置の詳細は後述する。また、運転室23には、油圧ショベルに関する種々の情報や設定画面等を表示する表示装置27(後述の図3参照)が配置されている。
機械室24には、原動機41、油圧ポンプ42やパイロットポンプ43(後述の図2参照)などが配置されている。また、後述の流量制御弁(後述の図2参照)を含む複数の制御弁の集合体である制御弁ユニット44が配置されている。
ブーム11には、ブーム11の姿勢に関する物理量(姿勢情報)を検出するブーム角度センサ31が設置されている。ブーム角度センサ31は、例えば、ブーム11と上部旋回体4との連結部分であるブームピンに取り付けたロータリポテンショメータであり、上部旋回体4に対するブーム11の相対的な回動角度(ブーム角度)を検出する。
アーム12には、アーム12の姿勢に関する物理量(姿勢情報)を検出するアーム角度センサ32が設置されている。アーム角度センサ32は、例えば、ブーム11とアーム12の連結部分であるアームピンに取り付けたロータリポテンショメータであり、ブーム11に対するアーム12の相対的な回動角度(アーム角度)を検出する。
バケット13には、バケット13の姿勢に関する物理量(姿勢情報)を検出するバケット角度センサ33が設置されている。バケット角度センサ33は、例えば、リンク部材18に取り付けたロータリポテンショメータであり、アーム12に対するバケット13の相対的な回動角度(バケット角度)を検出する。
上部旋回体4には、機体2の姿勢に関する物理量(姿勢情報)を検出する機体傾斜角センサ34が設置されている。機体傾斜角センサ34は、基準面(例えば、水平面)に対する上部旋回体4(機体2)の傾斜角(機体角度)を検出するものである。
ブーム角度センサ31、アーム角度センサ32、バケット角度センサ33、及び機体傾斜角センサ34の4つのセンサは、フロント作業装置1の姿勢に関する物理量(姿勢情報)を検出する姿勢検出装置30を構成する。姿勢検出装置30としての各センサ31~34は、フロント作業装置1の姿勢情報(ブーム角度、アーム角度、バケット角度、機体角度)の検出値(検出信号)を後述のコントローラ80(後述の図3参照)へ出力する。なお、各角度センサ31~33は、傾斜角センサや慣性計測装置(IMU)又は各油圧シリンダ15~17に設置可能なストロークセンサなどに代替可能である。
次に、本発明の作業機械の第1の実施の形態における油圧システムの構成について図2を用いて説明する。図2は本発明の作業機械の第1の実施の形態に搭載される油圧システムを示す油圧回路図である。
図2において、油圧ショベルは、フロント作業装置1、下部走行体3、上部旋回体4(共に図1を参照)を油圧によって駆動させる油圧システム40を備えている。なお、図2では、フロント作業装置1を駆動する油圧アクチュエータであるブームシリンダ15、アームシリンダ16、バケットシリンダ17に関する油圧回路のみが示されており、走行装置21を駆動する走行油圧モータ21aや上部旋回体4を駆動する旋回油圧モータ6に関する油圧回路は省略されている。
油圧システム40は、原動機41により駆動される油圧ポンプ42と、油圧ポンプ42から吐出される圧油によって駆動する複数の油圧アクチュエータ(図2中、ブームシリンダ15、アームシリンダ16、バケットシリンダ17)とを備えている。油圧ポンプ42は、例えば、可変容量型のポンプであり、ポンプ容積を制御するレギュレータ42aを有している。レギュレータ42aは、例えば、コントローラ80からの制御信号によりポンプ容積を調整する。油圧ポンプ42により吐出された圧油は各油圧アクチュエータ15~17に対応する流量制御弁45~47を介して供給される。
第1の流量制御弁45は、油圧ポンプ42からブームシリンダ15に供給される圧油の方向及び流量を制御するものである。第1の流量制御弁45は、油圧パイロット式であり、パイロット圧が作用する受圧部45a、45bを両側に有している。第2の流量制御弁46は、油圧ポンプ42からアームシリンダ16に供給される圧油の方向及び流量を制御するものである。第2の流量制御弁46は、油圧パイロット式であり、パイロット圧が作用する受圧部46a、46bを両側に有している。第3の流量制御弁47は、油圧ポンプ42からバケットシリンダ17に供給される圧油の方向及び流量を制御するものである。第3の流量制御弁47は、油圧パイロット式であり、パイロット圧が作用する受圧部47a、47bを両側に有している。
油圧システム40は、基本的に、第1の操作装置51の操作によりブームシリンダ15が駆動され、第2の操作装置52の操作によりアームシリンダ16が駆動され、第3の操作装置53の操作によりバケットシリンダ17が駆動されるように構成される。第1の操作装置51と第3の操作装置53は、例えば、図1に示す操作レバー25bを共有しており、前後方向への傾倒操作によりブームシリンダ15及びバケットシリンダ17のうちいずれか一方の動作を指示すると共に左右方向への傾倒操作によりブームシリンダ15及びバケットシリンダ17のうち他方の動作を指示する十字操作式のレバー装置25として構成されている。また、第2の操作装置52と図示しない旋回操作用の操作装置は、例えば、図1に示す操作レバー25aを共有しており、前後方向への傾倒操作でアームシリンダ16及び旋回油圧モータ6のうちいずれか一方の動作を指示すると共に左右方向への傾倒操作でアームシリンダ16及び旋回油圧モータ6のうち他方の動作を指示する十字操作式のレバー装置25として構成されている。
各操作装置51~53は、例えば、油圧パイロット式であり、一対の減圧弁を含んで構成されている。各操作装置51~53は、パイロットポンプ43の吐出圧を元圧として、操作レバー25a、25bの操作量と操作方向に応じたパイロット圧(操作圧と称することがある)を生成する。なお、図2においては、パイロットポンプ43と各操作装置51~53とを接続するパイロット吐出ラインを省略している。
第1の操作装置51には、第1の流量制御弁45の一方の受圧部45aが一方の第1パイロットライン55aを介して接続されていると共に、第1の流量制御弁45の他方の受圧部45bが他方の第1パイロットライン55bを介して接続されている。第1の操作装置51から出力された操作圧(パイロット圧)は、第1の流量制御弁45を駆動する操作信号(第1操作信号と称することがある)として利用される。
一方の第1パイロットライン55a上には、第1の電磁比例弁61(ブーム下げ減速弁)が設けられている。第1の電磁比例弁61は、第1の操作装置51から出力されたパイロット圧(操作圧)をコントローラ80からの制御信号に基づき減圧して操作信号(第2操作信号と称することがある)として第1の流量制御弁45の一方の受圧部45aへ出力するものである。第1の流量制御弁45の一方の受圧部45aにパイロット圧(第1操作信号または第2操作信号)が印加されると、油圧ポンプ42からの圧油がブームシリンダ15のロッド側に供給されてブームシリンダ15が縮退駆動される方向に第1の流量制御弁45が駆動され、ブーム下げ動作が行われる。
他方の第1パイロットライン55bには、パイロットポンプ43の吐出ライン58が第1のシャトル弁71を介して接続されている。第1のシャトル弁71に接続されている吐出ライン58上には、第2の電磁比例弁62(ブーム上げ増速弁)が設けられている。第2の電磁比例弁62は、パイロットポンプ43の吐出圧をコントローラ80からの制御信号に基づき減圧生成したパイロット圧を操作信号(第2操作信号と称することがある)として第1のシャトル弁71へ出力するものである。第1のシャトル弁71は、一次側ポートが他方の第1パイロットライン55bを介して第1の操作装置51に接続されると共に吐出ライン58を介して第2の電磁比例弁62の二次ポート側に接続され、二次ポート側が他方の第1パイロットライン55bを介して第1の流量制御弁45の他方の受圧部45bに接続されている。すなわち、第1のシャトル弁71は、第1の操作装置51から出力されたパイロット圧(第1操作信号)と第2の電磁比例弁62から出力されたパイロット圧(第2操作信号)のうち高圧側のパイロット圧を選択して第1の流量制御弁45の他方の受圧部45bへ出力するものである。第1の流量制御弁45の他方の受圧部45bにパイロット圧(第1操作信号又は第2操作信号)が印加されると、油圧ポンプ42からの圧油がブームシリンダ15のボトム側に供給されてブームシリンダ15が伸長駆動される方向に第1の流量制御弁45が駆動され、ブーム上げ動作が行われる。
第2の操作装置52には、第2の流量制御弁46の一方の受圧部46aが一方の第2パイロットライン56aを介して接続されていると共に、第2の流量制御弁46の他方の受圧部46bが他方の第2パイロットライン56bを介して接続されている。第2の操作装置52から出力された操作圧(パイロット圧)は、第2の流量制御弁46を駆動する操作信号(第1操作信号と称することがある)として利用される。
一方の第2パイロットライン56a上には、第3の電磁比例弁63(アームダンプ減速弁)が設けられている。第3の電磁比例弁63は、第2の操作装置52から出力されたパイロット圧(操作圧)をコントローラ80からの制御信号に基づき減圧して操作信号(第2操作信号と称することがある)として第2の流量制御弁46の一方の受圧部46aへ出力するものである。第2の流量制御弁46の一方の受圧部46aにパイロット圧(第1操作信号又は第2操作信号)が印加されると、油圧ポンプ42からの圧油がアームシリンダ16のロッド側に供給されてアームシリンダ16が縮退駆動される方向に第2の流量制御弁46が駆動され、アームダンプ動作が行われる。
他方の第2パイロットライン56b上には、第4の電磁比例弁64(アームクラウド減速弁)が設けられている。第4の電磁比例弁64は、第2の操作装置52から出力されたパイロット圧(操作圧)をコントローラ80からの制御信号に基づき減圧して操作信号(第2操作信号)として第2の流量制御弁46の他方の受圧部46bへ出力するものである。第2の流量制御弁46の他方の受圧部46bにパイロット圧(第1操作信号又は第2操作信号)が印加されると、油圧ポンプ42からの圧油がアームシリンダ16のボトム側に供給されてアームシリンダ16が伸長駆動される方向に第2の流量制御弁46が駆動され、アームクラウド動作が行われる。
第3の操作装置53には、第3の流量制御弁47の一方の受圧部47aが一方の第3パイロットライン57aを介して接続されていると共に、第3の流量制御弁47の他方の受圧部47bが他方の第3パイロットライン57bを介して接続されている。第3の操作装置53にから出力された操作圧(パイロット圧)は、第3の流量制御弁47を駆動する操作信号(第1操作信号と称することがある)として利用される。
一方の第3パイロットライン57a上には、第5の電磁比例弁65(バケットダンプ減速弁)が設けられている。一方の第3パイロットライン57aにおける第5の電磁比例弁65よりも下流側の部分には、パイロットポンプ43の吐出ライン58が第2のシャトル弁72を介して接続されている。第2のシャトル弁72に接続された吐出ライン58上には、第6の電磁比例弁66(バケットダンプ増速弁)が設けられている。第5の電磁比例弁65は、第3の操作装置53から出力されたパイロット圧(操作圧)をコントローラ80からの制御信号に基づき減圧して操作信号(第2操作信号)として第2のシャトル弁72へ出力するものである。第6の電磁比例弁66は、パイロットポンプ43の吐出圧をコントローラ80からの制御信号に基づき減圧生成したパイロット圧を操作信号(第2操作信号)として第2のシャトル弁72へ出力するものである。第2のシャトル弁72は、一次側ポートが一方の第3パイロットライン57aを介して第5の電磁比例弁65の二次ポート側に接続されると共に吐出ライン58を介して第6の電磁比例弁66の二次ポート側に接続され、二次ポート側が一方の第3パイロットライン57aを介して第3の流量制御弁47の一方の受圧部47aに接続されている。すなわち、第2のシャトル弁72は、第5の電磁比例弁65から出力されたパイロット圧(第1操作信号又は第2操作信号)と第6の電磁比例弁66から出力されたパイロット圧(第2操作信号)のうち高圧側のパイロット圧を選択して第3の流量制御弁47の一方の受圧部47aへ出力するものである。第3の流量制御弁47の一方の受圧部47aにパイロット圧(第1操作信号又は第2操作信号)が印加されると、油圧ポンプ42からの圧油がバケットシリンダ17のロッド側に供給されてバケットシリンダ17が縮退駆動される方向に第3の流量制御弁47が駆動され、バケットダンプ動作が行われる。
他方の第3パイロットライン57b上には、第7の電磁比例弁67(バケットクラウド減速弁)が設けられている。他方の第3パイロットライン57bにおける第7の電磁比例弁67よりも下流側の部分には、パイロットポンプ43の吐出ライン58が第3のシャトル弁73を介して接続されている。第3のシャトル弁73に接続されている吐出ライン58上には、第8の電磁比例弁68(バケットクラウド増速弁)が設けられている。第7の電磁比例弁67は、第3の操作装置53から出力されたパイロット圧(操作圧)をコントローラ80からの制御信号に基づき減圧して操作信号(第2操作信号)として第3のシャトル弁73へ出力するものである。第8の電磁比例弁68は、パイロットポンプ43の吐出圧をコントローラ80からの制御信号に基づき減圧生成したパイロット圧を操作信号(第2操作信号)として第3のシャトル弁73へ出力するものである。第3のシャトル弁73は、一次側ポートが他方の第3パイロットライン57bを介して第7の電磁比例弁67の二次ポート側に接続されると共に吐出ライン58を介して第8の電磁比例68弁の二次ポート側に接続され、二次ポート側が他方の第3パイロットライン57bを介して第3の流量制御弁47の他方の受圧部47bに接続されている。すなわち、第3のシャトル弁73は、第7の電磁比例弁67から出力されたパイロット圧(第1操作信号又は第2操作信号)と第8の電磁比例弁68から出力されたパイロット圧(第2操作信号)のうち高圧側のパイロット圧を選択して第3の流量制御弁47の他方の受圧部47bへ出力するものである。第3の流量制御弁47の他方の受圧部47bにパイロット圧(第1操作信号又は第2操作信号)が印加されると、油圧ポンプ42からの圧油がバケットシリンダ17のボトム側に供給されてバケットシリンダ17が伸長駆動される方向に第3の流量制御弁47が駆動され、バケットクラウド動作が行われる。
各電磁比例弁61~68は、コントローラ80に電気的に接続されており、コントローラ80からの励磁電流(制御信号)により開度が制御される。第1、第3、第4、第5、第7の電磁比例弁61、63、64、65、67は、例えば、非通電時に開度が最大となる常開型の電磁弁であり、コントローラ80からの励磁電流(制御信号)の増加に比例して開度が最小開度(例えば、開度0)まで減少する。一方、第2、第6、第8の電磁比例弁62、66、68は、非通電時に最小開度(例えば、開度0)である常閉型の電磁弁であり、コントローラ80からの励磁電流(制御信号)の増加に比例して最大開度まで開度が増加する。
このような構成においては、第2、第6、第8の電磁比例弁62、66、68がコントローラ80から制御信号により駆動されると、対応する操作装置51、53が操作されていない場合であっても、パイロットポンプ43の吐出圧を元圧として操作装置51、53の操作を介さずに第2操作信号としてのパイロット圧が生成され、第1の流量制御弁45の他方の受圧部45bや第3の流量制御弁47の一方又は他方の受圧部47a、47bに第2操作信号を印加することができる。このため、ブーム上げ動作、バケットクラウド/ダンプ動作を強制的に実行することができる。また、電磁比例弁61、63、64、65、67がコントローラ80により駆動されると、操作装置51~53の操作により生成された操作圧を減じたパイロット(第2操作信号)を生成して第1の流量制御弁45の一方の受圧部45a、第2の流量制御弁46の一方又は他方の受圧部46a、46b、第3の流量制御弁47の一方又は他方の受圧部47a、47bに印加することができる。このため、ブーム下げ動作、アームクラウド/ダンプ動作、バケットクラウド/ダンプ動作の速度を操作装置51~53の操作量に基づく速度から強制的に減速することができる。
一方及び他方の第1パイロットライン55a、55bにはそれぞれ、第1の操作装置51が生成したパイロット圧(第1操作信号)を検出する第1及び第2の圧力センサ75a、75bが設けられている。第1及び第2の圧力センサ75a、75bは、第1の操作装置51が生成したパイロット圧を第1の操作装置51の操作量として検出するものである。第1の圧力センサ75aはブーム下げ操作の操作量を検出し、第2の圧力センサ75bはブーム上げ操作の操作量を検出する。
一方及び他方の第2パイロットライン56a、56bにはそれぞれ、第2の操作装置52が生成したパイロット圧(第1操作信号)を検出する第3及び第4の圧力センサ76a、76bが設けられている。第3及び第4の圧力センサ76a、76bは、第2の操作装置52が生成したパイロット圧を第2の操作装置52の操作量として検出するものである。第3の圧力センサ76aはアームダンプ操作の操作量を検出し、第4の圧力センサ76bはアームクラウド操作の操作量を検出する。
一方及び他方の第3パイロットライン57a、57bにはそれぞれ、第3の操作装置53が生成したパイロット圧(第1操作信号)を検出する第5及び第6の圧力センサ77a、77bが設けられている。第5及び第6の圧力センサ77a、77bは、第3の操作装置53が生成したパイロット圧を第3の操作装置53の操作量として検出するものである。第5の圧力センサ77aはバケットダンプ操作の操作量を検出し、第6の圧力センサ77bはバケットクラウド操作の操作量を検出する。
圧力センサ75a、75b、76a、76b、77a、77bは、操作装置51~53の操作量を検出する操作量検出装置78として機能するものである。操作量検出装置78として各圧力センサ75a、75b,76a、76b,77a、77bは、コントローラ80に電気的に接続されており、操作装置51~53のパイロット圧(第1操作信号)の検出値(検出信号)をコントローラ80へ出力する。なお、各圧力センサ75a、75b,76a、76b,77a、77bとコントローラ80との信号ラインは省略してある。また、圧力センサ75a、75b,76a、76b,77a、77bによる操作量の算出は一例に過ぎず、例えば各操作装置51~53の操作レバー25a、25bの回転変位を検出する位置センサ(例えば、ロータリーエンコーダ)を用いて操作量を検出する構成とすることも可能である。
コントローラ80は、フロント作業装置1を操作するための第1~第3の操作装置51~53の少なくとも1つが操作された場合に、予め定めた所定の条件下で当該操作に介入してフロント作業装置1の動作を制限するマシンコントロール(以下、MCと称する)の機能を備えている。MCは、フロント作業装置1の制御点(例えば、バケット13の爪先)の位置や操作装置51~53の操作状況に応じて第1~第8の電磁比例弁61~68を制御することで実行される。コントローラ80によるMCの詳細は後述する。
コントローラ80には、MC切換装置28が電気的に接続されている。MC切換装置28は、オペレータがMCの有効又は無効を択一的に選択するためのスイッチであり、運転室23(図1参照)内に配置されている。MC切換装置28は、選択された有効又は無効を指示する指示信号(例えば、オン信号又オフ信号)をコントローラ80へ出力する。
上述の説明では、各流量制御弁45、46、47の受圧部45a、45b、46a、46b、47a、47bに入力されるパイロット圧(操作信号)のうち、各操作装置51~53の操作により生成されたパイロット圧を「第1操作信号」、各電磁比例弁61~68が駆動することで生成されたパイロット圧を「第2操作信号」と称している。第2操作信号には、各操作装置51~53から出力されたパイロット圧(第1操作信号)を電磁比例弁61、63、64、65、67により減圧補正して生成したパイロット圧、及び、パイロットポンプ43の吐出圧を操作装置51~53を介さずに電磁比例弁62、66、68により減圧することで第1操作信号を利用せずに新たに生成したパイロット圧が含まれている。
第2操作信号は、第1操作信号に応じて定まるフロント作業装置1の制御点(例えば、バケットの爪先)の速度ベクトルが予め定められた所定の条件に反するときに生成されるものであり、当該所定の条件を満たすフロント作業装置1の制御点の速度ベクトルが生じるような操作信号として生成される。なお、同一の流量制御弁45、46、47の一方の受圧部に対して第1操作信号が、もう一方の受圧部に対して第2操作信号が生成される場合には、第2操作信号を優先的に受圧部に作用させるものとする。これは、第1操作信号を電磁比例弁で遮断すると共に第2操作信号を受圧部に入力することで可能である。流量制御弁45~47のうち第2操作信号が演算されたものについては第2操作信号を基に制御され、第2操作信号が演算されなかったものについては第1操作信号を基に制御され、第1操作信号及び第2操作信号の双方が発生しなかったものについては制御(駆動)されないことになる。上述のように第1操作信号と第2操作信号を定義すると、MCは第2操作信号に基づく流量制御弁45~47の制御ということができる。
次に、本発明の作業機械の第1の実施の形態におけるコントローラの機能について図3を用いて説明する。図3は本発明の作業機械の第1の実施の形態の一部を構成するコントローラのハード及び機能を示すブロック図である。
コントローラ80は、MC切換装置28からMCの有効の指示(オン信号)が入力された場合に、フロント作業装置1のMCを実行するものである。フロント作業装置1のMCは、例えば、第2又は第3の操作装置52、53を介して掘削操作(具体的には、アームクラウド、バケットクラウド及びバケットダンプのうち少なくとも1つの操作)が入力された場合に、フロント作業装置1の制御点(例えば、バケット13の爪先)と掘削目標面(図示せず)との位置関係に基づきフロント作業装置1の制御点が目標面上又はその上方の領域内に保持されるようにブームシリンダ15、アームシリンダ16、バケットシリンダ17のうち少なくとも1つを強制的に動作させる制御信号(例えば、ブームシリンダ15を伸長させて強制的にブーム上げ動作を行う制御信号)を該当する流量制御弁45、46、47に出力することで、フロント作業装置1の動作を制御するものである。このMCにより、フロント作業装置1の制御点が掘削目標面の下方に侵入することを防止し、オペレータの技量の程度に関わらず掘削目標面に沿った掘削が可能となっている。なお、MCにおけるフロント作業装置1の制御点は、フロント作業装置1の先端部分であればよく、バケット13の爪先や底面又はバケット13のリンク部材18の最外部などを選択することが可能である。
コントローラ80は、図3に示すように、ハード構成として例えば、RAMやROM等からなる記憶装置81と、CPUやMPU等からなる処理装置82とを備えている。記憶装置81には、フロント作業装置1のMCの実行に必要なプログラムや各種情報が予め記憶されている。処理装置82は、記憶装置81からプログラムや各種情報を適宜読み込み、当該プログラムに従って処理を実行することで以下の機能を含む各種機能を実現する。
コントローラ80は、処理装置82により実行される機能として、MC演算部91、表示制御部92、電磁比例弁制御部93、レギュレータ制御部94を有している。
MC演算部91には、姿勢検出装置30により検出されたフロント作業装置1の姿勢情報(具体的には、ブーム角度、アーム角度、バケット角度、機体角度)の検出信号が入力されている。また、操作量検出装置78により検出された各操作装置51~53の操作量(具体的には、各操作装置51~53から出力されたパイロット圧)の検出信号が入力されている。さらに、MC切換装置28からの指示信号(具体的には、MCの有効を指示するオン信号又はMCの無効を指示するオフ信号)が入力されている。加えて、目標面設定装置101から目標面の情報が入力されている。目標面設定装置101は、目標面の情報(具体的には、目標面の位置情報や傾斜角度など)を入力するインターフェースである。目標面設定装置101は、例えば、グローバル座標系(絶対座標系)で規定された目標面の3次元データを格納した外部端末(図示せず)と接続可能となっており、当該外部端末から目標面の3次元データが入力される。ただし、目標面設定装置101を介したコントローラ80への目標面の入力は、オペレータによる手動入力も可能である。
MC演算部91は、オペレータによる操作装置51~53の操作に対してフロント作業装置1が予め定めた所定の条件に従って動作するように、ブームシリンダ15、アームシリンダ16、バケットシリンダ17の少なくとも1つを強制的に動作させる、或いは、それらの少なくとも1つの動作を制限するMCを実行するための演算を行う部分である。MC演算部91は、MC切換装置28からMCの有効を指示する指示信号(オン信号)が入力された場合には操作装置51~53の操作に対してMCを実行するための演算を行う一方、MC切換装置28からMCの無効を指示する指示信号(オフ信号)が入力された場合には操作装置51~53の操作に応じた制御を実行するための演算を行う。MC演算部91は、姿勢検出装置30からの検出信号、操作量検出装置78からの検出信号、目標面設定装置101からの情報を基に、最終的に、フロント作業装置1の姿勢及び制御点の位置(例えば、バケット13の爪先位置)、目標面の位置、各油圧アクチュエータ15、16、17に対応する流量制御弁45、46、47を駆動する目標パイロット圧、油圧ポンプ42の目標ポンプ容積を演算する。MC演算部91の機能の詳細は後述する。
表示制御部92は、表示装置27の表示を制御するものである。表示制御部92は、MC演算部91からの入力情報に含まれるフラグに基づいて記憶装置81から所定のプログラムを読み出して表示装置27の表示を制御する。具体的には、表示制御部92は、MC演算部91の演算結果としてのフロント作業装置1の姿勢やバケット13の爪先位置及び目標面の位置を基に、フロント作業装置1と目標面との位置関係を表示装置27の表示画面に表示させる。記憶装置81はフロント作業装置1の画像及びアイコンを含む表示関連データを多数格納した表示ROMを有しており、表示制御部92は表示ROMに格納されている各種の画像データなどを利用する。
電磁比例弁制御部93は、油圧システム40の第1~第8の電磁比例弁61~68を介して、フロント作業装置1を駆動する油圧アクチュエータ15~17の動作(方向及び速度)を制御するものである。具体的には、電磁比例弁制御部93は、MC演算部91の演算結果としての各油圧アクチュエータ15~17に対応する各流量制御弁45~47のパイロット圧指令(目標パイロット圧)を基に、各流量制御弁45~47に対応する電磁比例弁61~68の開度指令を演算し、演算結果に応じた制御信号(励磁電流)を各電磁比例弁61~68へ出力するものである。
レギュレータ制御部94は、油圧ポンプ42のレギュレータ42aを介して油圧ポンプ42のポンプ容積を制御するものである。具体的には、レギュレータ制御部94は、MC演算部91の演算結果としての油圧ポンプ42の目標ポンプ容積を基に油圧ポンプ42のレギュレータ42aに対する容積指令を演算し、演算結果に応じた制御信号をレギュレータ42aへ出力するものである。
次に、本発明の作業機械の第1の実施の形態におけるコントローラのMC演算部の機能構成の詳細を図4及び図5を用いて説明する。図4は図3に示すコントローラのMC演算部の機能を示すブロック図である。図5は図4に示すコントローラの速度・姿勢予測部及び速度指令演算部の演算方法を示す説明図である。
図4において、コントローラ80のMC演算部91は、その機能を細分化すると、MC判定部911、姿勢演算部912、目標面演算部913、操作量演算部914、速度・姿勢予測部915、速度指令演算部916、アクチュエータ制御部917、油圧ポンプ制御部918を有している。MC演算部91の各機能部は、次に示す各種演算を演算周期毎に繰り返し実行する。
MC判定部911は、MC切換装置28からの指示信号を基に、MCの有効又は無効を判定する。MC切換装置28は、MCの有効又は無効の判定結果を速度・姿勢予測部915へ出力する。
姿勢演算部912は、姿勢検出装置30からの検出信号を基に、フロント作業装置1の姿勢及び制御点の位置を演算するものである。例えば、ローカル座標系におけるフロント作業装置1の姿勢やバケット13の爪先位置の3次元座標を演算する。この演算は、一般的な幾何学的な関係に従うものなので、詳細な説明は省略する。姿勢演算部912の演算結果であるフロント作業装置1の姿勢及び制御点の位置は、表示制御部92及び速度・姿勢予測部915へ出力される。
目標面演算部913は、目標面設定装置101からの情報を基に目標面の位置情報を演算する。演算結果である目標面の位置情報は、表示制御部92及び速度・姿勢予測部915へ出力される。なお、目標面の位置情報は、記憶装置81に記憶させてもよい。
操作量演算部914は、操作量検出装置78からの検出信号を基に、各操作装置51~53の操作量を演算するものである。第1の圧力センサ75aの検出値からはブーム下げの操作量が、第2の圧力センサ75bの検出値からはブーム上げの操作量が演算される。第3の圧力センサ76aの検出値からはアームダンプの操作量が、第4の圧力センサ76bの検出値からはアームクラウドの操作量が算出される。第5の圧力センサ77aの検出値からはバケットダンプの操作量が、第6の圧力センサ77bの検出値からはバケットクラウドの操作量が算出される。操作量演算部914の演算結果である各操作装置51~53の操作量は、速度指令演算部916へ出力される。
速度・姿勢予測部915は、演算時点の現時刻(現演算周期)から予め定めた設定時間経過した後の未来の時刻における、フロント作業装置1の各油圧アクチュエータ15~17の速度の予測値、並びに、フロント作業装置1の姿勢の予測値及び制御点の目標面に対する位置の予測値を演算するものである。具体的には、例えば、姿勢演算部912の演算結果である現時刻(現演算周期)におけるフロント作業装置1の姿勢及び制御点の位置、目標面演算部913の演算結果である目標面の位置情報、並びに、現時刻(現演算周期)よりも設定時間前の過去の時刻(過去の演算周期)から現時刻に至るまでに速度指令演算部916から演算出力された後述の各油圧アクチュエータ15~17の速度指令の過去の履歴に基づき、現時刻から所定時間の経過後の未来の時刻における上記の各予測値を演算する。上記の設定時間として、例えば、各油圧アクチュエータ15~17の速度指令に対する実速度の応答遅れの時間に概ね一致する第1時間T1が設定される。速度・姿勢予測部915の演算結果(予測値)は、速度指令演算部916へ出力される。ただし、速度・姿勢予測部915は、MC判定部911からMCの有効の判定結果が入力された場合に上記の予測値の演算を実行する一方、MC判定部911からMCの無効の判定結果が入力された場合には上記の予測値の演算を実行しないように構成されている。速度・姿勢予測部915の詳細な演算方法は後述する。
速度指令演算部916は、MC判定部911の判定結果がMCの有効である場合には、現時刻(現演算周期)から設定時間経過した後の未来の時刻においてフロント作業装置1の制御点が目標面上に位置するように、現時刻(現演算周期)よりも設定時間経過後の未来の時刻に要求されるブームシリンダ15(ブーム11)、アームシリンダ16(アーム12)、バケットシリンダ17(バケット13)の速度を各油圧アクチュエータの目標速度として演算するものである。本演算は、フロント作業装置1の制御点(例えば、バケット13の爪先)が既に目標面の近傍に位置していることを前提として、フロント作業装置1の制御点が目標面の下方に侵入することなく目標面に沿って移動するようにフロント作業装置1の動作を制御するためのものである。また、本演算は、上記の条件の下で、アームシリンダ16及びバケットシリンダ17の少なくとも一方の動作に応じてブームシリンダ15の動作を制御するためのものである。すなわち、本実施の形態においては、ブームシリンダ15をMCによる強制動作又は制限動作の対象としている。
具体的には、速度指令演算部916は、操作量検出装置78の検出結果である操作装置52、53の操作量に基づき、現時刻(現演算周期)よりも第1時間T1経過後の未来の時刻におけるアームシリンダ16及びバケットシリンダ17の目標速度を演算する。また、速度指令演算部916は、速度・姿勢予測部915の演算結果である各油圧アクチュエータ15~17の速度の予測値並びにフロント作業装置1の姿勢の予測値及び制御点の目標面に対する位置の予測値に基づき、現時刻(現演算周期)よりも第1時間T1経過後の未来の時刻において上記条件を満たすブームシリンダ15の目標速度を演算する。速度指令演算部916は、演算結果である各油圧アクチュエータ15~17の目標速度を現時刻(現演算周期)の速度指令としてアクチュエータ制御部917及び油圧ポンプ制御部918へ出力する。速度指令演算部916のこの演算方法の詳細は後述する。
また、速度指令演算部916は、MC判定部911の判定結果がMCの無効である場合には、操作量検出装置78の検出結果である操作装置51~53の操作量に基づき、各油圧アクチュエータ15~17の目標速度を演算する。すなわち、各油圧アクチュエータ15~17の動作はオペレータによる操作装置51~53の操作に応じて制御され、オペレータの操作装置51の操作によらないブームシリンダ15の強制動作や制限動作は実行されない。
アクチュエータ制御部917は、各油圧アクチュエータ15~17を制御するための演算を行うものである。具体的には、速度指令演算部916の演算結果である各油圧アクチュエータ15~17の速度指令に基づき、各油圧アクチュエータ15~17に対応する流量制御弁45~47の目標パイロット圧を演算する。アクチュエータ制御部917は、ブームシリンダ15に対応する第1の流量制御弁45を制御するブーム制御部917aと、アームシリンダ16に対応する第2の流量制御弁46を制御するアーム制御部917bと、バケットシリンダ17に対応する第3の流量制御弁47を制御するバケット制御部917cとで構成されている。
ブーム制御部917aは、速度指令演算部916の演算結果であるブームシリンダ15の速度指令に基づき第1の流量制御弁45の目標パイロット圧を演算し、演算結果の目標パイロット圧を第1の流量制御弁45のパイロット圧指令として電磁比例弁制御部93へ出力する。アーム制御部917bは、速度指令演算部916の演算結果であるアームシリンダ16の速度指令に基づき第2の流量制御弁46の目標パイロット圧を演算し、演算結果の目標パイロット圧を第2の流量制御弁46のパイロット圧指令として電磁比例弁制御部93へ出力する。バケット制御部917cは、速度指令演算部916の演算結果であるバケットシリンダ17の速度指令に基づき第3の流量制御弁47の目標パイロット圧を演算し、演算結果の目標パイロット圧を第3の流量制御弁47のパイロット圧指令として電磁比例弁制御部93へ出力する。
油圧ポンプ制御部918は、油圧ポンプ42のポンプ容積を制御するための演算を行うものである。具体的には、速度指令演算部916の演算結果である複数の油圧アクチュエータ15~17の速度指令に基づき、油圧ポンプ42の目標ポンプ容積を演算するものである。演算結果の油圧ポンプ42の目標ポンプ容積をポンプ容積指令としてレギュレータ制御部94へ出力する。
次に、本発明の作業機械の第1の実施の形態の一部を構成するコントローラにおけるMC演算部の速度・姿勢予測部及び速度指令演算部の演算方法の一例について図4~図6を用いて説明する。図5は図4に示すコントローラの速度・姿勢予測部及び速度指令演算部における演算の処理手順の一例を示すフローチャートである。図6は図4に示すコントローラの速度・姿勢予測部及び速度指令演算部の演算方法を示す説明図である。なお、図5に示すフローチャートは、1演算周期分の演算処理を示している。図6中、上図はアームシリンダの速度に関する情報を、下図はブームシリンダの速度に関する情報を示している。また、実線は油圧アクチュエータの実速度を、破線は油圧アクチュエータの速度指令を、一点鎖線は油圧アクチュエータの予測速度を示している。
図4に示すMC演算部91における速度・姿勢予測部915は、まず、MC判定部911の判定結果を取り込み(図5に示すフローチャートのステップS10)、取り込んだMC判定部911の判定結果(有効又は無効)に基づきMCを実行するか否かを判定する(図5に示すステップS20)。MC判定部911の判定結果が有効(オン)の場合には、MCの実行(YES)と判定する一方、MC判定部911の判定結果が無効(オフ)の場合には、MCの不実行(NO)と判定する。ステップS20において、YESと判定した場合にはステップS30に進む一方、NOと判定した場合にはステップS200に進む。
ステップS20においてYESと判定した場合、速度・姿勢予測部915は、目標面設定装置101からの情報を基に目標面演算部913によって演算された目標面の位置情報を取り込む(図5に示すステップS30)。
さらに、姿勢演算部912によって姿勢検出装置30の検出信号を基に演算されたフロント作業装置1の姿勢及び制御点(例えば、バケット13の爪先)の位置の情報を取り込む(図5に示すステップS40)。この取り込んだ情報を基に各油圧アクチュエータ15~17の現時刻(現演算周期)の実速度を演算する(図5に示すステップS50)。具体的には、現演算周期で取り込んだ各油圧アクチュエータ(ブームシリンダ15、アームシリンダ16、バケットシリンダ17)の姿勢と現演算周期よりも一周期前の演算周期で取り込んだ各油圧アクチュエータ15~17の姿勢との差分から各油圧アクチュエータ15~17の現時刻の速度(実速度)を演算する。この演算は、図6の上図おける現時刻(現演算周期)の黒点に相当する。ただし、図6ではアームシリンダ16の場合のみを示している。
次に、速度・姿勢予測部915は、現時刻(現演算周期)から第1時間T1の経過後の未来の時刻(以下において第1未来時刻と称することがある)に至るまでの各油圧アクチュエータ15~17の速度の予測値の履歴を演算する(図5に示すステップS60)。具体的には、現時刻(現演算周期)よりも第1時間T1前の過去の時刻(以下、第1過去時刻と称することがある)から現時刻(現演算周期)に至るまでの間に速度指令演算部916が演算して出力した各油圧アクチュエータ15~17の速度指令の過去の履歴を、ステップS50にて演算した各油圧アクチュエータ15~17の現時刻の速度(実速度)に対して移行させ、第1過去時刻において速度指令演算部916が出力した各油圧アクチュエータ15~17の速度指令をステップS50にて演算した各油圧アクチュエータ15~17の現時刻の速度(実速度)に一致させる。この移行させた過去の演算周期における各油圧アクチュエータ15~17の速度指令の履歴を現時刻から第1未来時刻に至るまでの各油圧アクチュエータ15~17の速度の予測値の履歴と見なす。すなわち、各油圧アクチュエータ15~17の現時刻の速度(実速度)を基準として、第1過去時刻から現時刻に至るまでの間に速度指令演算部916から出力された各油圧アクチュエータ15~17の速度指令の過去の履歴を基に、現時刻から第1未来時刻に至るまでの時間区間の各油圧アクチュエータ15~17の速度の未来の履歴を予測するものである。これは、各油圧アクチュエータ15~17に対する速度指令が第1時間T1の応答遅れをもって各油圧アクチュエータ15~17の実速度として達成されることを考慮したものである。
この演算は、図6に示すI(移行)に相当する部分である。すなわち、図6の上図おいて、第1過去時刻(t0-T1)から現時刻(t0)に至るまでの破線(各油圧アクチュエータ15~17の速度指令)を、第1過去時刻(t0-T1)の速度指令の黒点を現時刻(t0)の実速度の黒点に一致させるように移行することで、現時刻(t0)から第1未来時刻(t0+T1)に至るまでの一点鎖線(各油圧アクチュエータ15~17の速度の予測値)を生成することに相当する。ただし、図6ではアームシリンダ16の場合のみを示している。つまり、ブームシリンダ15及びバケットシリンダ17の速度予測値の履歴についても、図6に示すI(移行)に相当する演算を行う。
次いで、速度・姿勢予測部915は、現時刻から第1未来時刻に至るまでの間に生じる各油圧アクチュエータ15~17の伸縮長を予測する(図5に示すステップS70)。具体的には、ステップS60にて演算した現時刻から第1未来時刻に至るまで間における各油圧アクチュエータ15~17の速度の予測値の履歴を現時刻から第1未来時刻に至るまでの時間区間にて積分することで、現時刻から第1未来時刻に至るまでの間に生じる各油圧アクチュエータ15~17の伸縮長の予測を演算する。
この演算は、図6に示すII(積分=伸縮長)に相当する部分である。すなわち、図6の上図おいて、現時刻(t0)から第1未来時刻(t0+T1)までの時間区間と一点鎖線(各油圧アクチュエータ15~17の速度の予測値の履歴)とで囲まれた斜線部分の面積が各油圧アクチュエータ15~17の伸縮長の予測値に相当する。ただし、図6ではアームシリンダ16の場合のみを示している。つまり、ブームシリンダ15及びバケットシリンダ17の伸縮長の予測値ついても、図6に示すII(積分=伸縮長)に相当する演算を行う。
さらに、速度・姿勢予測部915は、第1未来時刻におけるフロント作業装置1の姿勢及び制御点の目標面に対する位置を予測する(図5に示すステップS80)。具体的には、ステップS40にて取り込んだフロント作業装置1の現時刻の姿勢(ブーム11、アーム12、バケット13の姿勢)及び制御点(例えば、バケット13の爪先)の位置、ステップS70にて演算した第1未来時刻における各油圧アクチュエータ15~17の伸縮長の予測値、及び、ステップS30にて取り込んだ目標面の位置情報を基に、第1未来時刻におけるフロント作業装置1の姿勢及び制御点の目標面に対する位置(例えば、制御点から目標面までの距離)を演算する。速度・姿勢予測部915は、ステップS80の演算結果である第1未来時刻におけるフロント作業装置1の姿勢及び制御点の目標面に対する位置、並びに、ステップS60の演算結果である第1未来時刻における各油圧アクチュエータ15~17の速度の予測値を速度指令演算部916に出力する。
次に、速度指令演算部916は、第1未来時刻において上述の条件を満たすために必要なブームシリンダ15の目標速度を演算する(図5に示すステップS90)。具体的には、ステップS80にて演算した第1未来時刻におけるフロント作業装置1の姿勢の予測値及び制御点の目標面に対する位置の予測値、並びに、ステップS60にて演算した第1未来時刻における各油圧アクチュエータ15~17の速度の予測値を基に、フロント作業装置1の制御点が第1未来時刻において目標面上に位置することが可能となるブームシリンダ15の速度を第1未来時刻の目標速度として演算する。
図5に示すステップS60~S80演算は、図6に示すI(移行)からII(積分=伸縮長)を経て矢印を介して得られるIII(未来時刻の目標速度)に相当する部分である。この演算は、上述の条件の下で、操作装置52、53の操作によるアームシリンダ16及びバケットシリンダ17の少なくとも一方の動作に応じて、操作装置51の操作によらないMCの発動によるブームシリンダ15の強制動作の指令を演算する部分である。
さらに、速度指令演算部916は、操作量演算部914の演算結果であるアームシリンダ16用の第2の操作装置52の操作量としてのパイロット圧(第1操作信号)を取り込み(図5に示すステップS100)、取り込んだパイロット圧を基に第1未来時刻におけるアームシリンダ16の目標速度を演算する(図5に示すステップS110)。アームシリンダ16の目標速度は、例えば、予め設定された図5に示す特性図916aを参照して演算される。図5に示す特性図916aでは、アームシリンダ16の目標速度は、第2の操作装置52のパイロット圧(第1操作信号)が0を含む或る範囲内(不感帯)では0であり、パイロット圧が不感帯を超えるとパイロット圧の増加に比例して増加し、その後パイロット圧が或る値を超えると、一定値となるように設定されている。
本説明では、アームシリンダ16用の第2の操作装置52がオペレータにより操作された場合にMCによりブームシリンダ15の動作を制御することを想定している。このため、バケットシリンダ17用の第3の操作装置53の操作量は0となるので、バケットシリンダ17の目標速度の演算についての説明は省略している。しかし、バケットシリンダ17用の第3の操作装置53も操作されている場合には、アームシリンダ16の場合と同様に、第3の操作装置53の操作量としてのパイロット圧(第1操作信号)を取り込み(図5に示すステップS100)、取り込んだパイロット圧を基に第1未来時刻におけるバケットシリンダ17の目標速度を演算する(図5に示すステップS110)。
最終的に、速度指令演算部916は、ステップS90にて演算したブームシリンダ15の第1未来時刻の目標速度をブームシリンダ15の現時刻(現演算周期)の速度指令として出力すると共に、ステップS110にて演算したアームシリンダ16の第1未来時刻の目標速度をアームシリンダ16の現時刻(現演算周期)の速度指令として出力する(図5に示すステップS120)。本ステップS120におけるブームシリンダ15の目標速度と速度指令の関係は、図6に示すIII(未来時刻の目標速度)の黒点からIV(現時刻の速度指令として出力)の黒点への白抜き矢印の部分に相当する。これは、ブームシリンダ15の速度指令が出力されてから第1時間T1の応答遅れをもってブームシリンダ15の実速度として達成されることを考慮したものである。バケットシリンダ17用の第3の操作装置53も操作されている場合には、アームシリンダ16の場合と同様に、バケットシリンダ17の第1未来時刻の目標速度をバケットシリンダ17の現時刻(現演算周期)の速度指令として出力する(図5に示すステップS120)。各油圧アクチュエータ15~17の速度指令は、アクチュエータ制御部917及び油圧ポンプ制御部918へ出力される。ステップS120の終了により本演算周期が終了し、スタートに戻って次の演算周期を開始する。
一方、ステップS20においてNOと判定した場合、速度指令演算部916が操作量演算部914の演算結果である各油圧アクチュエータ15~17に対応する各操作装置51~53の操作量としての各パイロット圧を取り込み(図5に示すステップS200)、取り込んだ各操作装置51~53のパイロット圧を基に第1未来時刻における各油圧アクチュエータ15~17の目標速度を演算する(図5に示すステップS210)。各油圧アクチュエータ15~17の目標速度は、例えば、予め設定された図5に示す特性図916bを参照して演算される。図5に示す特性図916bは、特性図916aと同様に設定されている。この場合、速度・姿勢予測部915は、フロント作業装置1の姿勢及び制御点の目標面に対する位置並びにフロント作業装置1の各油圧アクチュエータ15~17の速度を予測することはない。すなわち、速度指令演算部916は、ブーム上げパイロット圧又はブーム下げパイロット圧に対応するブームシリンダ15の目標速度を演算し、アームクラウドパイロット圧又はアームダンプパイロット圧に対応するアームシリンダ16の目標速度を演算し、バケットクラウドパイロット圧又はバケットダンプパイロット圧に対応するバケットシリンダ17の目標速度を演算する。
速度指令演算部916は、最終的に、ステップS210にて演算した各油圧アクチュエータ15~17の第1未来時刻の目標速度を各油圧アクチュエータ15~17の現時刻(現演算周期)の速度指令としてアクチュエータ制御部917及び油圧ポンプ制御部918へ出力する(図5に示すステップS220)。すなわち、MC演算部91は、操作装置51~53の操作に応じて各油圧アクチュエータ15~17の動作を指令する速度指令を演算する。ステップS220の終了により本演算周期が終了し、スタートに戻って次の演算周期を開始する。
次に、本発明の作業機械の第1の実施の形態の動作及び効果について図5及び図7を用いて説明する。図7は本発明の作業機械の第1の実施の形態におけるアームクラウド操作に対するMC実行時の各油圧アクチュエータの目標速度、速度指令、実速度の関係を示す説明図である。図7中、上段図はアーム操作用の第2の操作装置の操作量の時間履歴を、中段図はアームシリンダの目標速度、速度指令、実速度の時間履歴を、下段図はブームシリンダの目標速度、速度指令、実速度の時間履歴を示している。
ここでは、アーム操作用の第2の操作装置52のアームクラウド操作がオペレータによって入力されることで、MCによる水平掘削動作が行われる場合について説明する。この場合、MC切換装置28は有効の位置に切り換えられている。
図7において、第1期間S1は、オペレータによる第2の操作装置52の操作が行われていない期間である。第2期間S2は、第2の操作装置52の操作が行われているが、第2の操作装置52の操作に対して応答遅れの影響によりアームシリンダの動作が行われていない期間である。第3期間S3は、第2の操作装置52の操作によってアームシリンダが動作している期間である。
コントローラ80は、図5に示すフローチャートのステップS20でYESと判定し、ステップS30~S120の処理を実行する。
第1期間S1では、第1期間S1中に第2の操作装置52の操作が行われていない。このため、速度・姿勢予測部915の演算結果である現時刻の各油圧アクチュエータ15~17の速度(実速度)は0であり(図5に示すステップS50)、第1未来時刻(現時刻から第1時間T1の経過後の未来の時刻)における各油圧アクチュエータ15~17の速度の予測値の履歴も0である(図5に示すステップS60)。これらの速度・姿勢予測部915の演算結果から、第1未来時刻における各油圧アクチュエータ15~17の伸縮長の予測値(演算結果)が0となり(図5に示すステップS70)、第1未来時刻におけるフロント作業装置1の姿勢及び制御点の目標面に対する位置の予測値(演算結果)は現時刻(現演算周期)におけるフロント作業装置1の姿勢及び制御点の目標面に対する位置から変化せずに同じ値となる(図5に示すステップS80)。そのため、速度指令演算部916の演算結果であるアームシリンダ16及びブームシリンダ15の目標速度は0となる(図5に示すステップS90~S110)。したがって、第1期間S1では、速度指令演算部916は、目標速度0を現時刻の速度指令として出力する。
第2期間S2では、第2の操作装置52のアームクラウド操作が入力されているので、速度指令演算部916は、操作量検出装置78(図2に示す第4の圧力センサ76b)の検出信号に応じたアームクラウドパイロット圧を基にアームシリンダ16の第1未来時刻の目標速度を演算し(図5に示すステップS100~S110)、当該演算結果の目標速度を現時刻(現演算周期)におけるアームシリンダ16の速度指令として出力する(図5に示すステップS120)。すなわち、第2期間S2では、第2の操作装置52のアームクラウド操作に応じたアームシリンダ16の速度指令が出力される。ただし、アームシリンダ16の速度指令に対する実速度の応答遅れの影響により、アームシリンダ16の動作は開始されていない。なお、本説明では、バケット操作用の第3の操作装置53は操作されないので、バケットシリンダ17の第1未来時刻の目標速度及び速度指令は常に0となる。
また、アームシリンダ16の動作が開始されていないので、速度・姿勢予測部915の演算結果である現時刻の各油圧アクチュエータ15~17の速度(実速度)は0である(図5に示すステップS50)。一方、速度指令演算部916が第1過去時刻(現時刻よりも第1時間T1前の過去の時刻)から現時刻に至るまでの間に出力したアームシリンダ16の速度指令の過去の履歴は、上述したように、第2期間S2では0ではないので、当該アームシリンダ16の速度指令の過去の履歴を基に、現時刻から第1未来時刻に至るまでのアームシリンダ16の速度の予測値の履歴を演算する(図5に示すステップS60)。これらの速度・姿勢予測部915の演算結果から、第1未来時刻における各油圧アクチュエータ15~17の伸縮長の予測値を演算し(図5に示すステップS70)、第1未来時刻におけるフロント作業装置1の姿勢及び制御点の目標面に対する位置の予測値を演算する(図5に示すステップS80)。
これらの予測値を基に、速度指令演算部916は所定の条件を満たすブームシリンダ15の第1未来時刻の目標速度を演算する(図5に示すステップS90)。演算結果のブームシリンダ15の第1未来時刻の目標速度を現時刻(現演算周期)の速度指令として出力する(図5に示すステップS120)。すなわち、ブーム操作用の第1の操作装置51が操作されなくとも、所定の条件を満たすブームシリンダ15の強制動作の指令が生成されている。なお、第2期間S2中に速度指令演算部916から出力されたブームシリンダ15の速度指令の履歴は、第1未来時刻におけるブームシリンダ15の速度の予測値、ブームシリンダ15の伸縮長の予測値、フロント作業装置1の姿勢及び制御点の目標面に対する位置の予測値を演算するために用いられる。
このように、第2期間S2においては、第2の操作装置52のアームクラウド操作に対して応答遅れの影響によってアームシリンダ16は動作を開始していない。しかし、本実施の形態においては、第2期間S2中に演算出力された各油圧アクチュエータ15~17の速度指令の過去の履歴を基に当該演算周期から第1時間T1経過後の第1未来時刻における各油圧アクチュエータ15~17の動作を予測することで、各油圧アクチュエータ15~17の速度指令に対する実速度の応答遅れを考慮した現時刻(現演算周期)のブームシリンダ15の速度指令を出力することが可能となっている。すなわち、第2の操作装置52が操作された場合には、アームシリンダ16が実動作を開始する前であっても、アームシリンダ16の予測動作に対応したブームシリンダ15の速度指令を前もって出力することで、各油圧アクチュエータ15~17の応答遅れを考慮したMCの実行を実現することができる。
また、第3期間S3では、第2の操作装置52のアームクラウド操作が継続されていると共に、アームクラウド操作の開始から応答遅れの時間(ほぼ第1時間T1)を経過している。このため、アームシリンダ16が応答遅れの時間をもってアームクラウド操作に応じて動作している。
この場合、速度指令演算部916は、第2期間S2の場合と同様に、アームクラウド操作に応じたアームシリンダ16の第1未来時刻の目標速度を演算し、当該演算結果の目標速度を現時刻(現演算周期)におけるアームシリンダ16の速度指令として出力する(図5に示すステップS100~120)。
また、第2期間S2の場合と異なり、アームシリンダ16及びブームシリンダ15が動作しているので、速度・姿勢予測部915は、現時刻の各油圧アクチュエータ15~17の速度(0ではない)を演算する(図5に示すステップS50)。さらに、当該演算結果の現時刻の各油圧アクチュエータ15~17の速度及び速度指令演算部916により出力された各油圧アクチュエータ15~17の速度指令の過去の履歴を基に、各油圧アクチュエータ15~17の速度の予測値の履歴を演算する(図5に示すステップS60)。これらの速度・姿勢予測部915の演算結果から、第1未来時刻における各油圧アクチュエータ15~17の伸縮長の予測値を演算し(図5に示すステップS70)、第1未来時刻におけるフロント作業装置1の姿勢及び制御点の目標面に対する位置の予測値を演算する(図5に示すステップS80)。すなわち、速度・姿勢予測部915の予測演算は、第2期間S2の場合と異なり、油圧アクチュエータ15~17の実動作(実速度)の影響も含むものとなっている。
速度指令演算部916は、第2期間S2の場合と同様に、速度・姿勢予測部915の各予測値(演算結果)を基に所定の条件を満たすブームシリンダ15の第1未来時刻の目標速度を演算し(図5に示すステップS90)、演算結果のブームシリンダ15の第1未来時刻の目標速度を現時刻(現演算周期)の速度指令として出力する(図5に示すステップS120)。この場合は、油圧アクチュエータ15~17の実動作(実速度)の影響を含むブームシリンダ15の強制動作の指令が生成されている。
このように、第3期間S3においては、各油圧アクチュエータ15~17の現時刻(現演算周期)の速度(実速度)およびアームシリンダ16の速度指令の過去の履歴を基に、第1未来時刻における各油圧アクチュエータ15~17の動作を予測することで、各油圧アクチュエータ15~17の速度指令に対する実速度の応答遅れを考慮した現時刻(現演算周期)のブームシリンダ15の速度指令を出力することが可能となっている。すなわち、第2の操作装置52が操作されてアームシリンダ16が実動作中である場合に、アームシリンダ16の予測動作に対応したブームシリンダ15の速度指令を前もって出力することで、各油圧アクチュエータ15~17の応答遅れを考慮したMCの実行を実現することができる。
このように、本実施の形態においては、第2の操作装置52が操作されている第2期間S2及び第3期間S3の間、第1未来時刻における各油圧シリンダ15~17の動作を予測することで、各油圧シリンダ15~17の応答遅れを考慮したブームシリンダ15の速度指令を演算出力することができる。したがって、所定の条件の下でアームシリンダ16の動作に応じてブームシリンダ15の動作を制御するMCの実行の際に、油圧シリンダの速度指令に対する実速度の応答遅れの影響を低減することができる。
上述したように、本発明の第1の実施の形態に係る油圧ショベル(作業機械)は、作業を行うフロント作業装置1(作業装置)と、フロント作業装置1(作業装置)を駆動するブームシリンダ15、アームシリンダ16、バケットシリンダ17(複数の油圧アクチュエータ)と、ブームシリンダ15、アームシリンダ16、バケットシリンダ17(複数の油圧アクチュエータ)に圧油を供給する油圧ポンプ42と、油圧ポンプ42からブームシリンダ15、アームシリンダ16、バケットシリンダ17(複数の油圧アクチュエータ)の各々に対して供給される圧油の流れをそれぞれ制御する第1の流量制御弁45、第2の流量制御弁46、第3の流量制御弁47(複数の制御弁)と、フロント作業装置1(作業装置)の姿勢を検出する姿勢検出装置30と、ブームシリンダ15、アームシリンダ16、バケットシリンダ17(複数の油圧アクチュエータ)の各々の速度指令を演算周期毎に演算し、演算結果のブームシリンダ15、アームシリンダ16、バケットシリンダ17(複数の油圧アクチュエータ)の各々の速度指令に基づきブームシリンダ15、アームシリンダ16、バケットシリンダ17(複数の油圧アクチュエータ)の各々を制御するための制御信号を出力するコントローラ80とを備える。コントローラ80は、複数の油圧アクチュエータ15、16、17のうち、アームシリンダ16(第2の油圧アクチュエータ)の動作に応じてブームシリンダ15(第1の油圧アクチュエータ)の動作を予め定めた条件の下で制御する場合、姿勢検出装置30の検出信号を基に現演算周期における複数の油圧アクチュエータの各々の実速度を演算し、演算結果の複数の油圧アクチュエータ15、16、17の各々の実速度および現演算周期よりも過去の演算周期にて演算した複数の油圧アクチュエータ15、16、17の各々の速度指令の過去の履歴を用いて前記条件を満たす現演算周期のブームシリンダ15(第1の油圧アクチュエータ)の速度指令を演算し、演算結果のブームシリンダ15(第1の油圧アクチュエータ)の現演算周期の速度指令に基づいてブームシリンダ15(第1の油圧アクチュエータ)を制御するための制御信号を出力する。
この構成よれば、姿勢検出装置30の検出信号を基に算出した各油圧アクチュエータ15、16、17の現演算周期の実速度、および、現演算周期よりも過去の演算周期にて演算した各油圧アクチュエータ15、16、17の速度指令の過去の履歴を用いて、所定の条件を満たす現演算周期のブームシリンダ15(第1の油圧アクチュエータ)の速度指令を演算するので、速度指令に対する実速度の応答遅れを考慮したブームシリンダ15(第1の油圧アクチュエータ)の速度指令を演算することができる。したがって、油圧アクチュエータ15、16、17の速度指令に対する実速度の応答遅れの影響を低減してMCにおけるフロント作業装置1(作業装置)の動作精度を向上させることができる。
また、本実施の形態に係るコントローラ80は、姿勢検出装置30の検出信号に基づく複数の油圧アクチュエータ15、16、17の各々の現演算周期の実速度および現演算周期よりも所定の第1時間T1だけ過去の演算周期から現演算周期に至るまでの間に演算した複数の油圧アクチュエータ15、16、17の各々の速度指令の過去の履歴を用いて、現演算周期から第1時間T1の経過後における複数の油圧アクチュエータ15、16、17の各々の速度の予測値、フロント作業装置1(作業装置)の姿勢の予測値、フロント作業装置1(作業装置)の制御点の目標面に対する位置の予測値を演算し、演算結果の速度の予測値、姿勢の予測値、位置の予測値を基に、現演算周期から第1時間T1の経過後にフロント作業装置1(作業装置)の制御点を目標面上に位置させるような第1の油圧アクチュエータの目標速度をブームシリンダ15(第1の油圧アクチュエータ)の現演算周期の速度指令として演算し、演算結果のブームシリンダ15(第1の油圧アクチュエータ)の現演算周期の速度指令に基づいてブームシリンダ15(第1の油圧アクチュエータ)を制御するための制御信号を出力するように構成されている。
この構成によれば、現演算周期よりも第1時間T1だけ過去の演算周期から現演算周期に至るまでの間に演算した各油圧アクチュエータ15、16、17の速度指令の過去の履歴を用いて現演算周期から第1時間T1の経過後の各種の予測値を算出しているので、第1時間T1を各油圧アクチュエータ15、16、17の速度指令に対する実速度の応答遅れの時間に概ね一致するように設定することで、当該速度指令に対する実速度の応答遅れを考慮した各種の予測値を得ることができる。さらに、当該速度指令に対する実速度の応答遅れを考慮した各種の予測値を基に、現演算周期から第1時間T1の経過後にフロント作業装置1(作業装置)の制御点が目標面上に位置するようなブームシリンダ15(第1の油圧アクチュエータ)の目標速度を現演算周期の速度指令として演算するので、当該速度指令に対する実速度の応答遅れを考慮しつつ所定の条件を満たすブームシリンダ15(第1の油圧アクチュエータ)の速度指令を得ることができる。これらのことから、MCにおける各油圧アクチュエータ15、16、17の速度指令に対する実速度の応答遅れの影響を低減することができるので、フロント作業装置1(作業装置)の動作精度が向上し、フロント作業装置1(作業装置)の制御点を目標面上に沿って移動させることが可能となる。
[第2の実施の形態]
次に、本発明の作業機械の第2の実施の形態について図8~図11を用いて説明する。図8は本発明の作業機械の第2の実施の形態の一部を構成するコントローラのMC演算部の機能を示すブロック図である。図9は図8に示すコントローラの速度・姿勢予測部及び速度指令演算部における演算の処理手順の一例を示すフローチャートである。図10は図8に示すコントローラの速度・姿勢予測部及び速度指令演算部の演算方法を示す説明図である。図11は本発明の作業機械の第2の実施の形態におけるアームクラウド操作に対するMC実行時の各油圧アクチュエータの目標速度、速度指令、実速度の関係を示す説明図である。なお、図8~図11において、図1~図7に示す符号と同符号のものは、同様な部分であるので、その詳細な説明は省略する。
図8に示す本発明の作業機械の第2の実施の形態が第1の実施の形態に対して相違する点は、コントローラ80AのMC演算部91Aにおける速度・姿勢予測部915A及び速度指令演算部916Aの演算方法が異なっていることである。第1の実施の形態に係るコントローラ80のMC演算部91における速度・姿勢予測部915及び速度指令演算部916は、各油圧アクチュエータ15~17の速度指令に対する実速度の応答遅れの時間が概ね第1時間T1であることを前提として演算を行うものである。それに対して、本実施の形態に係る速度・姿勢予測部915A及び速度指令演算部916Aは、ブームシリンダ15の速度指令に対する実速度の応答遅れの時間が概ね第2時間T2であると共にアームシリンダ16の速度指令に対する実速度の応答遅れの時間が概ね第3時間T3であることを前提として演算を行うものである。ただし、第3時間T3が第2時間T2よりも長い場合に限って本実施の形態が適用される。
本実施の形態の速度・姿勢予測部915Aは、現時刻(現演算周期)から第2時間T2経過した後の未来の時刻(以下、第2未来時刻と称することがある)における、フロント作業装置1の各油圧アクチュエータ15~17の速度の予測値、並びに、フロント作業装置1の姿勢の予測値及び制御点の目標面に対する位置の予測値を演算するものである。具体的には、姿勢演算部912の演算結果である現時刻(現演算周期)におけるフロント作業装置1の姿勢及び制御点の位置、目標面演算部913の演算結果である目標面の位置情報、並びに、現時刻(現演算周期)よりも第2時間T2前の過去の時刻(以下、第2過去時刻と称することがある)から現時刻(現演算周期)に至るまでの間に速度指令演算部916Aから演算出力されたブームシリンダ15の速度指令の過去の履歴、及び、現時刻(現演算周期)よりも第3時間T3前の過去の時刻(以下、第3過去時刻と称することがある)から当該第3過去時刻よりも第2時間T2経過した後の過去の時刻に至るまでの間に速度指令演算部916Aから演算出力されたアームシリンダ16及びバケットシリンダ17(ブームシリンダ15以外のフロント作業装置1の油圧アクチュエータ)の速度指令の過去の履歴に基づき、第2未来時刻における上記の各予測値を演算する。速度・姿勢予測部915Aの詳細な演算方法は後述する。
速度指令演算部916Aは、MC判定部911の判定結果がMCの有効である場合に、現時刻(現演算周期)よりも第2時間T2経過後の第2未来時刻においてフロント作業装置1の制御点(例えば、バケット13の爪先)が目標面上に位置するように、当該第2未来時刻に要求されるブームシリンダ15(ブーム11)の速度を目標速度として演算するものである。また、現時刻(現演算周期)よりも第3時間T3経過した後の未来の時刻(以下、第3未来時刻と称することがある)におけるアームシリンダ16(アーム12)及びバケットシリンダ17(バケット13)の目標速度を演算するものである。具体的には、速度指令演算部916Aは、速度・姿勢予測部915Aの演算結果である各油圧アクチュエータ15~17の速度の予測値並びにフロント作業装置1の姿勢の予測値及び制御点の目標面に対する位置の予測値に基づき、第2未来時刻において上記条件を満たすブームシリンダ15の目標速度を演算する。また、操作量検出装置78の検出結果である操作装置52、53の操作量に基づき、第3未来時刻におけるアームシリンダ16及びバケットシリンダ17の目標速度を演算する。速度指令演算部916Aは、演算結果である各油圧アクチュエータ15~17の目標速度を現時刻(現演算周期)の速度指令として出力する。
次に、本発明の作業機械の第2の実施の形態におけるコントローラの速度・姿勢予測部及び速度指令演算部の演算方法の詳細の一例について図9及び図10を用いて説明する。図9に示すフローチャートは1演算周期分である。図10中、上図はアームシリンダの速度に関する情報を、下図はブームシリンダの速度に関する情報を示している。また、実線は油圧アクチュエータの実速度を、破線は油圧アクチュエータの速度指令を、一点鎖線は油圧アクチュエータの予測速度を示している。
図8に示す速度・姿勢予測部915Aは、先ず、第1の実施の形態の場合と同様に、MC判定部911の判定結果(有効又は無効)に基づきMCの実行を判定する(図9に示すフローチャートのステップS10~S20)。ステップS20の判定がYESの場合には、ステップS60A~S90Aを含むステップS30~ステップS120の処理を実行する一方、ステップS20の判定がNOの場合には、第1の実施の形態と同様なステップS200~ステップS220の処理を実行する。
ステップS20においてYESと判定した場合、第1の実施の形態の場合と同様に、速度・姿勢予測部915Aは、目標面演算部913から目標面の位置情報を取り込む(図9に示すステップS30)。さらに、姿勢演算部912から現時刻のフロント作業装置1の姿勢及び制御点の位置を取り込み、取り込んだ情報を基に各油圧アクチュエータ15~17の現時刻(現演算周期)の実速度を演算する(図9に示すステップS40~S50)。当該実速度の演算は、図10の上図おける現時刻(現演算周期)の黒点に相当する。ただし、図10ではアームシリンダ16の場合のみを示している。
次に、速度・姿勢予測部915Aは、現時刻(現演算周期)から第2時間T2の経過後の未来の時刻(第2未来時刻)に至るまでの各油圧アクチュエータ15~17の速度の予測値の履歴を演算する(図9に示すステップS60A)。具体的には、現時刻(現演算周期)よりも第3時間T3分の過去の時刻(第3過去時刻)から第2時間T2分だけ経過した過去の現時刻(過去の演算周期)に至るまでの間に速度指令演算部916Aにより演算及び出力されたアームシリンダ16の速度指令の過去の履歴を、ステップS50にて演算したアームシリンダ16の現時刻の速度(実速度)に対して移行させ、第3過去時刻において速度指令演算部916Aが出力したアームシリンダ16の速度指令をステップS50にて演算したアームシリンダ16の現時刻の速度(実速度)に一致させる。この移行させたアームシリンダ16の速度指令の過去の履歴を現時刻から第2未来時刻に至るまでのアームシリンダ16の速度の予測値の履歴と見なす。すなわち、アームシリンダ16の現時刻の速度(実速度)を基準として、第3過去時刻から第2時間T2分だけ経過した過去の時刻に至るまでの間に速度指令演算部916Aから出力されたアームシリンダ16の速度指令の過去の履歴を基に、現時刻から第2未来時刻に至るまでの時間区間のアームシリンダ16の速度の未来の履歴を予測するものである。
この演算は、図10に示すI(移行)に相当する部分である。すなわち、図10の上図おいて、第3過去時刻(t0-T3)から第2時間T2分だけ経過した過去の時刻(t0-T3+T2)に至るまでの破線(各油圧アクチュエータ15~17の速度指令)を、第3過去時刻(t0-T3)の速度指令の黒点を現時刻(t0)の実速度の黒点に一致させるように移行することで、現時刻(t0)から第2未来時刻(t0+T2)に至るまでの一点鎖線(各油圧アクチュエータ15~17の速度の予測値)を生成することに相当する。
なお、ブームシリンダ15の速度の予測値の履歴の演算は、第1の実施の形態の場合の演算方法と類似するものであり、設定時間を第1時間T1から第2時間T2に変更したものである。すなわち、ブームシリンダ15の現時刻の速度(実速度)を基準として、現時刻(現演算周期)よりも第2時間T2前の過去の時刻(第2過去時刻)から現時刻(現演算周期)に至るまでの間に速度指令演算部916Aから出力されたブームシリンダ15の速度指令の過去の履歴を基に、現時刻から第2未来時刻に至るまでの時間区間のブームシリンダ15の速度の未来の履歴を予測するものである。第1の実施の形態の説明で用いた図6を参照すると、図6における第1時間T1を第2時間T2に変更したものになる。すなわち、現時刻(現演算周期)t0を基準として、第1未来時刻(t0+T1)を第2未来時刻(t0+T2)に変更すると共に、第1過去時刻(t0-T1)を第2過去時刻(t0-T2)に変更したものになる。これは、ブームシリンダ15の速度指令が概ね第2時間T2の応答遅れをもって実速度として達成される一方、アームシリンダ16の速度指令が概ね第3時間T3の応答遅れをもって実速度として達成されることを考慮したものである。
次いで、速度・姿勢予測部915Aは、現時刻から第2未来時刻に至るまでの間に生じる各油圧アクチュエータ15~17の伸縮長を予測する(図9に示すステップS70A)。具体的には、ステップS60Aにて演算した現時刻から第2未来時刻に至るまで間における各油圧アクチュエータ15~17の速度の予測値の履歴を現時刻から第2未来時刻に至るまでの時間区間にて積分することで、現時刻から第2未来時刻に至るまでの間に生じる各油圧アクチュエータ15~17の伸縮長を予測する。
この予測演算は、図10に示すII(積分=伸縮長)に相当する部分である。すなわち、図10の上図おいて、現時刻(t0)から第2未来時刻(t0+T2)までの時間区間と一点鎖線(各油圧アクチュエータ15~17の速度の予測値の履歴)とで囲まれた斜線部分の面積が各油圧アクチュエータ15~17の伸縮長の予測値に相当する。ただし、図10ではアームシリンダ16の場合のみを示している。。つまり、ブームシリンダ15及びバケットシリンダ17の伸縮長の予測値ついても、図10に示すII(積分=伸縮長)に相当する演算を行う。
さらに、速度・姿勢予測部915Aは、第2未来時刻におけるフロント作業装置1の姿勢及び制御点の目標面に対する位置を予測する(図9に示すステップS80A)。具体的には、ステップS40にて取り込んだフロント作業装置1の現時刻の姿勢(ブーム11、アーム12、バケット13の姿勢)及び制御点の位置、ステップS70Aにて演算した第2未来時刻における各油圧アクチュエータ15~17の伸縮長の予測値、及び、ステップS30にて取り込んだ目標面の位置情報を基に、第2未来時刻におけるフロント作業装置1の姿勢及び制御点の目標面に対する位置(例えば、制御点から目標面までの距離)を演算する。速度・姿勢予測部915Aは、ステップS80Aの演算結果である第2未来時刻におけるフロント作業装置1の姿勢及び制御点の目標面に対する位置、並びに、ステップS60Aの演算結果である第2未来時刻における各油圧アクチュエータ15~17の速度の予測値を速度指令演算部916Aに出力する。
次に、速度指令演算部916Aは、第2未来時刻において所定の条件を満たすために必要なブームシリンダ15の目標速度を演算する(図9に示すステップS90A)。具体的には、ステップS80Aにて演算した第2未来時刻におけるフロント作業装置1の姿勢の予測値及び制御点の目標面に対する位置の予測値、並びに、ステップS60Aにて演算した第2未来時刻における各油圧アクチュエータ15~17の速度の予測値を基に、フロント作業装置1の制御点が第2未来時刻において目標面上に位置することが可能となるブームシリンダ15の速度を第2未来時刻の目標速度として演算する。
図9に示すステップS60A~S90Aの演算は、図10に示すI(移行)からII(積分=伸縮長)を経て矢印を介して得られるIII(未来時刻の目標速度)に相当する部分である。この演算は、上述の条件の下で、操作装置52、53の操作によるアームシリンダ16及びバケットシリンダ17の少なくとも一方の動作に応じて、操作装置51の操作によらないMCの発動によるブームシリンダ15の強制動作の指令を演算する部分である。
さらに、速度指令演算部916Aは、第1の実施の形態の場合と同様に、操作量演算部914から第2の操作装置52の操作量としてのパイロット圧を取り込み(図9に示すステップS100)、取り込んだパイロット圧を基に第3未来時刻におけるアームシリンダ16の目標速度を演算する(図9に示すステップS110)。第3の操作装置53も操作されている場合には、第3未来時刻におけるバケットシリンダ17の目標速度も演算する。
最終的に、速度指令演算部916Aは、ステップS90Aにて演算したブームシリンダ15の第2未来時刻の目標速度をブームシリンダ15の現時刻(現演算周期)の速度指令として出力すると共に、ステップS110にて演算したアームシリンダ16の目標速度をアームシリンダ16の現時刻の速度指令として出力する(図9に示すステップS120)。本ステップS120におけるブームシリンダ15の目標速度と速度指令の関係は、図10に示すIII(未来時刻の目標速度)の黒点からIV(現時刻の速度指令として出力)の黒点への白抜き矢印の部分に相当する。これは、ブームシリンダ15の速度指令が出力されてから第2時間T2の応答遅れをもってブームシリンダ15の実速度として達成されることを考慮したものである。ステップS120の終了により本演算周期が終了し、スタートに戻って次の演算周期を開始する。
次に、本発明の作業機械の第2の実施の形態の動作及び効果について図11を用いて説明する。図11中、上段図はアーム操作用の第2の操作装置の操作量の時間履歴を、中段図はアームシリンダの目標速度、速度指令、実速度の時間履歴を、下段図はブームシリンダの目標速度、速度指令、実速度の時間履歴を示している。ここでは、第1の実施の形態の場合と同様に、アーム操作用の第2の操作装置52のアームクラウド操作がオペレータによって入力されることで、MCによる水平掘削動作が行われる場合について説明する。
図11において、第1期間S1は、オペレータによる第2の操作装置52の操作が行われていない期間である。第2期間S2は、第2の操作装置52の操作が行われているが、第2の操作装置52の操作に対して応答遅れの影響によりアームシリンダの動作が行われていない期間である。なお、第2期間S2のうちの期間S2(a)は、ブームシリンダ15の応答遅れ時間(概ね第2時間T2)とアームシリンダ16の応答遅れ時間(概ね第3時間T3)の相違により、アームシリンダ16の速度指令(0でない値)が出力されてもブームシリンダ15の速度指令が0である期間である。一方、第2期間S2のうちの期間S2(b)は、アームシリンダ16の速度指令の出力に応じてブームシリンダ15の速度指令(0でない値)が出力されている期間である。第3期間S3は、第2の操作装置52の操作によってアームシリンダ16が動作している期間である。第1期間S1については、第1の実施の形態の場合と同様なので、その説明を省略する。
第2期間S2では、第2の操作装置52のアームクラウド操作が入力されている。これにより、速度指令演算部916Aは、操作量検出装置78の検出信号に応じたアームクラウドパイロット圧を基にアームシリンダ16の第3時間T3経過後の目標速度を演算する(図9に示すステップS100~S110)。また、速度・姿勢予測部915Aは、過去に出力された各油圧アクチュエータ15~17の速度指令の過去の履歴を基に、第2未来時刻におけるフロント作業装置1の姿勢及び制御点の目標面に対する位置の予測値並びに各油圧アクチュエータ15~17の速度の予測値を演算する(図9に示すステップS60A~S80A)。この速度・姿勢予測部915Aの演算結果である各予測値を基に、速度指令演算部916Aが所定の条件を満たすブームシリンダ15の第2未来時刻の目標速度を演算する(図9に示すステップS90A)。
本実施の形態においては、ブームシリンダ15の応答遅れの時間に概ね一致する第2時間T2の方がアームシリンダ16の応答遅れの時間に概ね一致する第3時間T3よりも短いので、第2期間S2のうち当該第3時間T3と第2時間T2との差分に応じた期間S2(a)では、ブームシリンダ15の第2時間T2経過後の第2未来時刻の目標速度の演算結果が0となる。速度指令演算部916Aは、ブームシリンダ15の第2時間T2経過後(第2未来時刻)の目標速度(0の値)を現時刻において出力すべきブームシリンダ15の速度指令として、アームシリンダ16の第3時間T3経過後の目標速度(操作装置52の操作量に応じた値)をブームシリンダ15の速度指令としてアクチュエータ制御部917へ出力する。したがって、図11に示すように、期間S2(a)では、アームシリンダ16の速度指令が操作装置52の操作に応じて出力される一方、ブームシリンダ15の速度指令は0となっている。
第2期間のうち期間S2(b)では、期間S2(a)と同様に、速度指令演算部916Aは、速度・姿勢予測部915Aの演算結果である第2時間T2経過後の第2未来時刻の各予測値を基に、所定の条件を満たすブームシリンダ15の第2時間T2経過後の第2未来時刻の目標速度を演算する(図9に示すステップS90A)。期間S2(b)では、操作装置52の操作に応じたアームシリンダ16の速度指令が出力されてから時間が経過しているので、ブームシリンダ15の第2時間T2経過後の第2未来時刻の目標速度として0でない値が演算される。速度指令演算部916Aは、ブームシリンダ15の第2時間T2経過後(第2未来時刻)の目標速度(0でない値)を現時刻において出力すべきブームシリンダ15の速度指令として、アームシリンダ16の第3時間T3経過後の目標速度(操作装置52の操作量に応じた値)をブームシリンダ15の速度指令として出力する。したがって、図11に示すように、期間S2(b)では、アームシリンダ16の速度指令は操作装置52の操作に応じて出力されると共に、ブームシリンダ15の速度指令は、自身の応答遅れ時間(第2時間T2)を考慮しつつアームシリンダ16の速度指令に対する応答遅れ時間(第3時間T3)を考慮した予測動作に対応したものとなる。
第3期間S3では、アームシリンダ16及びブームシリンダ15が速度指令の出力に応じて動作している。この場合、速度指令演算部916Aは、現時刻の各油圧アクチュエータ15~17の速度も考慮した速度・姿勢予測部915Aの演算結果である第2時間T2経過後の第2未来時刻の各予測値を基に、所定の条件を満たすブームシリンダ15の第2時間T2経過後の第2未来時刻の目標速度を演算する(図9に示すステップS90A)。したがって、第3期間S3では、図11に示すように期間S2(b)の場合と同様に、アームシリンダ16の速度指令が操作装置52の操作に応じて出力されると共に、ブームシリンダ15の速度指令が自身の応答遅れ時間(第2時間T2)を考慮しつつアームシリンダ16の速度指令に対する応答遅れ時間(第3時間T3)を考慮した予測動作に対応したものとなる。
このように、本実施の形態においては、ブームシリンダ15の応答遅れ時間とアームシリンダ16の応答遅れ時間とが異なる場合であっても、ブームシリンダ15の応答遅れ時間に対応する第2時間T2がアームシリンダ16の応答遅れ時間に対応する第3時間T3よりも短かい関係(第2時間T2<第3時間T3)であれば、応答遅れ時間を考慮した油圧アクチュエータ15~17の速度指令を出力することが可能である。このため、油圧アクチュエータ15~17の目標速度に対する実速度の応答遅れの影響を低減することができる。
上述した本発明の作業機械の第2の実施の形態に係るコントローラ80Aは、姿勢検出装置30の検出信号に基づく複数の油圧アクチュエータ15、16、17の各々の現演算周期の実速度、現演算周期よりも所定の第2時間T2だけ過去の演算周期から現演算周期に至るまでの間に演算したブームシリンダ15(第1の油圧アクチュエータ)の速度指令の過去の履歴、及び、第2時間T2よりも長い時間である所定の第3時間T3だけ現演算周期よりも過去の演算周期から第2時間T2の経過後の過去の演算周期に至るまでの間に演算したブームシリンダ15(第1の油圧アクチュエータ)以外の油圧アクチュエータ16、17の各々の速度指令の過去の履歴を用いて、現演算周期から第2時間T2の経過後における複数の油圧アクチュエータ15、16、17の各々の速度の予測値、作業装置の姿勢の予測値、フロント作業装置1(作業装置)の制御点の目標面に対する位置の予測値を演算し、演算結果の速度の予測値、姿勢の予測値、位置の予測値を基に、現演算周期から第2時間T2の経過後にフロント作業装置1(作業装置)の制御点を目標面上に位置させるようなブームシリンダ15(第1の油圧アクチュエータ)の目標速度をブームシリンダ15(第1の油圧アクチュエータ)の現演算周期の速度指令として演算し、演算結果のブームシリンダ15(第1の油圧アクチュエータ)の現演算周期の速度指令に基づいてブームシリンダ15(第1の油圧アクチュエータ)を制御するための制御信号を出力するように構成されている。
この構成によれば、現演算周期よりも第2時間T2だけ過去の演算周期から現演算周期に至るまでの間に演算したブームシリンダ15(第1の油圧アクチュエータ)の速度指令の過去の履歴、及び、現演算周期よりも第3時間T3だけ過去の演算周期から第2時間T2の経過後の過去の演算周期に至るまでの間に演算したアームシリンダ16及びバケットシリンダ17(ブームシリンダ15以外)の速度指令の過去の履歴を用いて、現演算周期から第2時間T2の経過後における各種の予測値を算出しているので、ブームシリンダ15(第1の油圧アクチュエータ)とアームシリンダ16(第2の油圧アクチュエータ)の速度指令に対する実速度の応答遅れの時間が異なる場合であっても、第2時間T2をブームシリンダ15(第1の油圧アクチュエータ)の当該応答遅れ時間に概ね一致するように設定すると共に、第3時間T3をアームシリンダ16(第2の油圧アクチュエータ)の当該応答遅れ時間に概ね一致するように設定することで、各油圧アクチュエータ15、16、17の異なる応答遅れを考慮した各種の予測値を得ることができる。さらに、各油圧アクチュエータ15、16、17の異なる応答遅れを考慮した各種の予測値を基に、現演算周期から第2時間T2の経過後にフロント作業装置1(作業装置)の制御点が目標面上に位置するようなブームシリンダ15(第1の油圧アクチュエータ)の目標速度を現演算周期の速度指令として演算するので、ブームシリンダ15(第1の油圧アクチュエータ)の応答遅れを考慮しつつ所定の条件を満たすブームシリンダ15(第1の油圧アクチュエータ)の速度指令を得ることができる。これらのことから、MCにおける各油圧アクチュエータ15、16、17の異なる応答遅れの影響を低減することができるので、フロント作業装置1(作業装置)の動作精度が向上し、フロント作業装置1(作業装置)の制御点を目標面上に沿って移動させることが可能となる。
[第3の実施の形態]
次に、本発明の作業機械の第3の実施の形態について図12~図15を用いて説明する。まず、本発明の作業機械の第3の実施の形態におけるコントローラのMC演算部の機能構成について図12を用いて説明する。図12は本発明の作業機械の第3の実施の形態の一部を構成するコントローラのMC演算部の機能を示すブロック図である。なお、図12において、図1~図11に示す符号と同符号のものは、同様な部分であるので、その詳細な説明は省略する。
図12に示す本発明の作業機械の第3の実施の形態が第2の実施の形態に対して相違する点は、コントローラ80Bのアクチュエータ制御部917B及び油圧ポンプ制御部918Bの演算結果に対応する指令の出力時期が異なることである。第1の実施の形態に係るコントローラ80のアクチュエータ制御部917及び油圧ポンプ制御部918はそれぞれ、各演算周期における各流量制御弁45~47の演算結果である目標パイロット圧及び油圧ポンプ42の目標ポンプ容積を当該演算周期(現時刻)における流量制御弁45~47のパイロット圧指令及び油圧ポンプ42の容積指令として出力するものである。それに対して、本実施の形態に係るコントローラ80Bのアクチュエータ制御部917B及び油圧ポンプ制御部918Bはそれぞれ、各流量制御弁45~47のパイロット圧指令に対する実パイロット圧の応答遅れの時間及び油圧ポンプ42のポンプ容積指令に対する実容積の応答遅れの時間を考慮して、各演算周期における各流量制御弁45~47の演算結果である目標パイロット圧及び油圧ポンプ42の目標ポンプ容積を遅延させて各流量制御弁45~47のパイロット圧指令及び油圧ポンプ42のポンプ容積指令として出力するものである。
具体的には、アクチュエータ制御部917Bは、各流量制御弁45~47のパイロット圧指令に対する実パイロット圧の応答遅れ時間に概ね一致する第4時間T4に基づき遅延時間を設定し、各演算周期の演算結果である各流量制御弁45~47の目標パイロット圧を当該遅延時間後にパイロット圧指令として電磁比例弁制御部93へ出力する。すなわち、現演算周期よりも遅延時間分過去の演算周期において演算した各流量制御弁45~47の目標パイロット圧を現時刻(現演算周期)のパイロット圧指令として出力する。当該遅延時間は、例えば、アームシリンダ16の速度指令に対する実速度の応答遅れ時間に概ね一致する第3時間T3から上記第4時間T4を差し引いた時間(T3-T4)である。ただし、第4時間T4が第3時間T3よりも短い場合に限って本実施の形態の適用が可能である。
また、油圧ポンプ制御部918Bは、油圧ポンプ42のポンプ容積指令に対する実容積の応答遅れ時間に概ね一致する第5時間T5に基づき遅延時間を設定し、各演算周期の演算結果である油圧ポンプ42の目標ポンプ容積を当該遅延時間後にポンプ容積指令としてレギュレータ制御部94へ出力する。すなわち、現演算周期よりも遅延時間分過去の演算周期において演算した油圧ポンプ42の目標ポンプ容積を現時刻(現演算周期)のポンプ容積指令として出力する。当該遅延時間は、例えば、上記第3時間T3から上記第5時間T5を差し引いた時間(T3-T5)である。ただし、第5時間T5が第3時間T3よりも短い場合に限って本実施の形態の適用が可能である。
次に、第3実施の形態に係るコントローラのアクチュエータ制御部における演算の処理手順の一例について図13を用いて説明する。図13は図12に示すコントローラのアクチュエータ制御部における演算の処理手順の一例を示すフローチャートである。
アクチュエータ制御部917Bは、先ず、パイロット圧指令の出力の遅延時間を設定する(ステップS310)。具体的には、遅延時間は、上述したように、第3時間T3から第4時間T4を差し引いた時間(T3-T4)である。次いで、速度指令演算部916Aの演算結果である各油圧アクチュエータ15~17の速度指令を取り込み(ステップS320)、取り込んだ各油圧アクチュエータ15~17の速度指令に基づき各油圧アクチュエータ15~17に対応する流量制御弁45~47の目標パイロット圧を演算する(ステップS330)。その後、ステップS310にて設定した遅延時間(T3-T4)分だけ過去の演算周期において演算した目標パイロット圧を現時刻のパイロット圧指令として電磁比例弁制御部93へ出力する(ステップS340)。ステップS340の処理を終了すると、再びステップS320~S340の処理(次の演算周期)を行う。
次に、第3実施の形態に係るコントローラの油圧ポンプ制御部における演算の処理手順の一例について図14を用いて説明する。図14は図12に示すコントローラの油圧ポンプ制御部における演算の処理手順の一例を示すフローチャートである。
油圧ポンプ制御部918Bは、先ず、ポンプ容積指令の出力の遅延時間を設定する(ステップS410)。具体的には、遅延時間は、上述したように、第3時間T3から第5時間T5を差し引いた時間(T3-T5)である。次いで、速度指令演算部916Aの演算結果である各油圧アクチュエータ15~17の速度指令を取り込み(ステップS420)、取り込んだ各油圧アクチュエータ15~17の速度指令に基づき油圧ポンプ42の目標ポンプ容積を演算する(ステップS430)。その後、ステップS410にて設定した遅延時間(T3-T5)分だけ過去の演算周期において演算した目標ポンプ容積を現時刻のポンプ容積指令としてレギュレータ制御部94へ出力する(ステップS440)。ステップS440の処理を終了すると、再びステップS420~S440の処理(次の演算サイクル)を行う。
次に、本発明の作業機械の第3の実施の形態の動作及び効果について図15を用いて説明する。図15は本発明の作業機械の第3の実施の形態におけるMC実行時の油圧アクチュエータの速度情報に対する制御弁のパイロット圧情報及び油圧ポンプのポンプ容積情報の関係を示す説明図である。図15中、上段図は油圧アクチュエータの目標速度、速度指令、実速度の時間履歴を、中段図は流量制御弁の目標パイロット圧及びパイロット圧指令の時間履歴を、下段図は油圧ポンプの目標ポンプ容積及びポンプ容積指令の時間履歴を示している。ここでは、第2の実施の形態の場合と同様に、アーム操作用の第2の操作装置52のアームクラウド操作がオペレータによって入力されることで、MCによる水平掘削動作が行われる場合について説明する。
図15において、アームクラウド操作が入力されると、速度指令演算部916Aは当該操作を基にアームシリンダ16の第3時間T3経過後の目標速度を演算し、当該目標速度を現時刻(現演算周期)の速度指令として出力する。
アクチュエータ制御部917Bは、速度指令演算部916Aの出力である現時刻(現演算周期)の速度指令を基に目標パイロット圧を演算し、演算結果の目標パイロット圧をパイロット圧指令として現時刻(現演算周期)からS310にて設定した遅延時間(第3時間T3-第4時間T4)だけ遅延させてから出力する。すなわち、アクチュエータ制御部917Bのパイロット圧指令は、図15に示すように、当該パイロット圧指令の演算の基になった速度指令演算部916Aの速度指令の出力に対して遅延時間(第3時間T3-第4時間T4)だけ遅れて出力される。このとき、各流量制御弁45~47に実際に入力されるパイロット圧は、パイロット圧指令に応じて変化するが、当該パイロット圧指令の出力に対して第4時間T4の遅れ時間をもって略一致するようになる。
また、油圧ポンプ制御部918Bは、速度指令演算部916Aの出力である現時刻(現演算周期)の速度指令を基に目標ポンプ容積を演算し、演算結果の目標ポンプ容積をポンプ容積指令として現時刻(現演算周期)からS410にて設定した遅延時間(第3時間T3-第5時間T5)だけ遅延させてから出力する。すなわち、油圧ポンプ制御部918Bのポンプ容積指令は、図15に示すように、当該ポンプ容積指令の演算の基になった速度指令演算部916Aの速度指令の出力に対して遅延時間(第3時間T3-第5時間T5)だけ遅れて出力される。このとき、油圧ポンプ42の実ポンプ容積は、ポンプ容積指令に応じて変化するが、当該ポンプ容積指令の出力に対して第5時間T5の遅れ時間をもって略一致するようになる。
このように、本実施の形態においては、流量制御弁45~47のパイロット圧指令に対する実パイロット圧の応答遅れ時間と油圧ポンプ42のポンプ容積指令に対する実ポンプ容積の応答遅れ時間とが異なる場合であっても、流量制御弁45~47の応答遅れ時間に対応する第4時間T4がアームシリンダ16の応答遅れ時間に対応する第3時間T3よりも短かく、かつ、油圧ポンプ42の応答遅れ時間に対応する第5時間T5がアームシリンダ16の応答遅れ時間に対応する第3時間T3よりも短かい関係(第4時間T4<第3時間T3かつ第5時間T5<第3時間T3)であれば、当該応答遅れを考慮した流量制御弁45~47のパイロット圧指令及び油圧ポンプ42のポンプ容積指令を出力することが可能である。このため、図15の上段図に示すように、アームシリンダ16の速度指令に対する実速度の応答遅れの影響を低減することができる。
上述した本発明の作業機械の第3の実施の形態においては、複数の流量制御弁45、46、47(制御弁)がそれぞれパイロット圧の作用により駆動する油圧パイロット式である。また、コントローラ80Bは、演算結果の複数の油圧アクチュエータ15、16、17の各々の速度指令に応じて、複数の油圧アクチュエータ15、16、17の各々に対応する流量制御弁45、46、47(制御弁)を駆動させるための目標パイロット圧を演算し、演算結果の目標パイロット圧を、第3時間T3以下である所定の第4時間T4を第3時間T3から減じた時間分だけ現演算周期から遅延させてパイロット圧指令として出力するように構成されている。
この構成によれば、第4時間T4を流量制御弁45、46、47(制御弁)のパイロット圧指令に対する実パイロット圧の応答遅れ時間に概ね一致するように設定することで、流量制御弁45~47の当該応答遅れ及び流量制御弁45~47の当該応答遅れとアームシリンダ16の応答遅れとの関係を考慮して各流量制御弁45~47のパイロット圧指令を出力することが可能となるので、各油圧アクチュエータ15、16、17の速度指令に対する実速度の応答遅れの影響を低減することができる。
また、本実施の形態においては、油圧ポンプ42がポンプ容積を変更可能なレギュレータ42aを有する。コントローラ80Bは、演算結果の複数の油圧アクチュエータ15、16、17の速度指令に応じて油圧ポンプ42の目標ポンプ容積を演算し、演算結果の目標ポンプ容積を、第3時間T3以下である所定の第5時間T5を第3時間T3から減じた時間分だけ現演算周期から遅延させてポンプ容積指令としてレギュレータ42aへ出力するように構成されている。
この構成によれば、第5時間T5を油圧ポンプ42のポンプ容積指令に対する実ポンプ容積の応答遅れ時間に概ね一致するように設定することで、油圧ポンプ42の当該応答遅れ及び油圧ポンプ42の当該応答遅れとアームシリンダ16の応答遅れとの関係を考慮して油圧ポンプ42のポンプ容積指令を出力することが可能となるので、各油圧アクチュエータ15、16、17の速度指令に対する実速度の応答遅れの影響を低減することができる。
[その他の実施の形態]
なお、本発明は上述した実施の形態に限られるものではなく、様々な変形例が含まれる。上述した実施形態は本発明をわかり易く説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。ある実施形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加、削除、置換をすることも可能である。
例えば、上述した第1~第3の実施の形態においては、フロント作業装置1(作業装置)の先端の作業具(アタッチメント)としてバケット13を備える油圧ショベルを例示した。しかし、ブレーカやマグネットなどのバケット13以外のアタッチメントを備える油圧ショベルに対しても本発明を適用することが可能である。また、複数の被駆動部材(ブーム11、アーム12、アタッチメント等)を連結して構成された多関節型の作業装置を有するものであれば、油圧ショベル以外の各種の作業機械に対しても本発明を適用することも可能である。
また、上述した実施の形態においては、オペレータにより第2の操作装置52のアームクラウド操作が入力された場合においてブームシリンダ15を強制的に動作させる制御について説明した。しかし、オペレータの操作によらずにフロント作業装置1が作業を行う無人の作業機械に対しても本発明を適用することが可能である。すなわち、所定の条件下において、操作装置51~53の操作によらないブームシリンダ15、アームシリンダ16、バケットシリンダ17のいずれかの動作に応じて、残りの少なくとも1つの油圧シリンダを強制的に動作させる制御に対して本発明を適用することが可能である。
また、上述した第3の実施の形態においては、ブームシリンダ15の速度指令に対する実速度の応答遅れの時間が概ね第2時間T2である一方、アームシリンダ16の速度指令に対する実速度の応答遅れの時間が概ね第3時間T3である場合(第2の実施の形態の場合)を前提として、コントローラ80Bのアクチュエータ制御部917B及び油圧ポンプ制御部918Bが指令出力の遅延時間を設定する例を示した。それに対して、ブームシリンダ15及びアームシリンダ16の速度指令に対する実速度の応答遅れの時間が共通で概ね第1時間T1である場合(第1の実施の形態の場合)を前提として、コントローラ80Bのアクチュエータ制御部917B及び油圧ポンプ制御部918Bの指令出力の遅延時間を設定することも可能である。この場合、アクチュエータ制御部917Bが設定する遅延時間は、アームシリンダ16の速度指令に対する実速度の応答遅れ時間に概ね一致する上述の第1時間T1から各流量制御弁45~47のパイロット圧指令に対する実パイロット圧の応答遅れ時間に概ね一致する上述の第4時間T4を差し引いた時間(T1-T4)となる。また、油圧ポンプ制御部918Bが設定する遅延時間は、上述の第1時間T1から油圧ポンプ42のポンプ容積指令に対する実容積の応答遅れ時間に概ね一致する上述の第5時間T5を差し引いた時間(T1-T5)となる。この場合においても、第3の実施の形態と同様な効果を得ることができる。