(57)【要約】  油圧ショベル（１）は，操作装置（４５，４６）の操作時に，複数の油圧アクチュエータ（５，６，７）の速度と予め定めた条件に従って複数の油圧アクチュエータ（５，６，７）の少なくとも１つを制御するアクチュエータ制御部（８１）を有する制御コントローラ（４０）を備える。制御コントローラ（４０）は，姿勢検出装置（５０）の検出値に基づいてアーム（９）の自重がアームシリンダ（６）に与える荷重の方向を判定し，その荷重の方向がアームシリンダ（６）の駆動方向と逆であると判定したとき第２速度Ｖａｍｔ２をアクチュエータ制御部（８１）に出力し，その荷重の方向がアームシリンダ（６）の駆動方向と同じであると判定したとき第３速度Ｖａｍｔ３をアクチュエータ制御部（８１）に出力する。
2019202673.tif 000002
【特許請求の範囲】
【請求項１】
アームを含む複数のフロント部材を有する作業装置と，
前記アームを駆動するアームシリンダを含み前記複数のフロント部材を駆動する複数の油圧アクチュエータと，
オペレータの操作に応じて前記複数の油圧アクチュエータの動作を指示する操作装置と，
前記操作装置の操作時に，前記複数の油圧アクチュエータの速度と予め定めた条件に従って前記複数の油圧アクチュエータの少なくとも１つを制御するアクチュエータ制御部を有する制御装置と，
前記アームの姿勢に関する物理量を検出する姿勢検出装置と，
前記操作装置の操作量のうち前記アームに対する操作量に関する物理量を検出する操作量検出装置とを備える作業機械において，
前記制御装置は，
前記操作量検出装置の検出値から算出した第１速度を前記アームシリンダの速度として算出する第１速度演算部と，
前記姿勢検出装置の検出値に基づいて前記アームの自重が前記アームシリンダに与える荷重の方向を判定し，前記荷重の方向が前記アームシリンダの駆動方向と逆であると判定したとき前記アームシリンダの速度として前記第１速度より小さい第２速度を前記アームシリンダの速度として算出する第２速度演算部と，
前記荷重の方向が前記アームシリンダの駆動方向と同じであると判定したとき前記アームシリンダの速度として前記第１速度以上の第３速度を前記アームシリンダの速度として算出する第３速度演算部とを備えることを特徴とする作業機械。
【請求項２】
請求項１の作業機械において，
前記第２速度演算部は，前記アームの自重の影響を考慮して前記第２速度を算出し，
前記第３速度演算部は，前記アームの自重の影響を考慮して前記第３速度を算出することを特徴とする作業機械。
【請求項３】
請求項１の作業機械において，
前記第１速度と前記第２速度の偏差である第１補正量と，前記第１速度と前記第３速度の偏差である第２補正量は，それぞれ，前記姿勢検出装置の検出値と前記操作量検出装置の検出値の変化に応じて変化することを特徴とする作業機械。
【請求項４】
請求項１の作業機械において，
前記第１速度演算部で算出された前記第１速度，前記第２速度演算部で算出された前記第２速度，及び前記第３速度演算部で算出された前記第３速度のいずれか１つを前記アクチュエータ制御部に出力する速度選択部を備え，
前記速度選択部は，
前記操作量検出装置の検出値が所定値以上のとき，前記アームシリンダの速度として前記第１速度を前記アクチュエータ制御部に出力し，
前記操作量検出装置の検出値が前記所定値未満かつ前記荷重の方向が前記アームシリンダの駆動方向と逆であると判定したとき，前記アームシリンダの速度として前記第２速度を前記アクチュエータ制御部に出力し，
前記操作量検出装置の検出値が前記所定値未満かつ前記荷重の方向が前記アームシリンダの駆動方向と同じであると判定したとき，前記アームシリンダの速度として前記第３速度を前記アクチュエータ制御部に出力することを特徴とする作業機械。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，操作装置の操作時に，予め定めた条件に従って複数の油圧アクチュエータの少なくとも１つを制御する作業機械に関する。
【背景技術】
【０００２】
油圧アクチュエータで駆動される作業装置（例えばフロント作業装置）を備える作業機械（例えば油圧ショベル）の作業効率を向上する技術としてマシンコントロール（Ｍａｃｈｉｎｅ  Ｃｏｎｔｒｏｌ：ＭＣ）がある。ＭＣは，操作装置がオペレータに操作された場合に，予め定めた条件に従って作業装置を動作させる半自動制御を実行することでオペレータの操作支援を行う技術である。【０００３】
例えば特許文献１には，バケットの刃先を目標設計地形（目標面）に沿って移動させるようにフロント作業装置を制御する技術が開示されている。この文献では，アーム操作レバーの操作量が少ない場合，フロント作業装置の姿勢に依ってはバケットの自重落下に起因して，アーム操作レバーの操作量に基づいて算出されるアームシリンダの推定速度よりも実際のアームシリンダ速度が大きくなり，このような状況でアームシリンダの推定速度に基づくＭＣを実行すると，バケットの刃先が安定せずハンチングが生じる可能性があることを課題として挙げている。そして，この文献は，アーム操作レバーの操作量が所定量未満の場合には，アーム操作レバーの操作量を基に算出される速度よりも大きい速度をバケットの自重落下を加味したアームシリンダの推定速度として算出し，その推定速度に基づいてＭＣを行うことで上記の課題の解決を図っている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１５／０２５９８５号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１の技術のようにアームシリンダの推定速度の算出時にバケットの自重落下を考慮すると，その推定速度がアームシリンダの実速度に近づくので，ＭＣ中のハンチング発生を防止できる。しかし，アーム操作レバーの操作量に基づくアームシリンダの推定速度と実速度の乖離はバケットの自重落下のみに起因するものではなく，特許文献１のようにバケットの自重落下を考慮してアームシリンダの速度を推定するだけではハンチング発生防止の対策として不充分である。【０００６】
例えば，図１５のように作業機械の走行体よりも下側に位置する斜面に対して土砂を掻き均す，いわゆる切上げ作業を行う場合，主にアームやバケットの自重に反してフロント作業装置を持ち上げる方向にアームシリンダを駆動することになる。つまり，切上げ作業では，アームシリンダの駆動に関するフロント作業装置（アーム，バケット）の自重の影響でアームシリンダ速度が想定よりも速くなる場合は少ない。むしろ，自重に対してフロント作業装置を持ち上げる方向に駆動する影響でアームのシリンダ速度は想定速度よりも遅くなる場合がある。【０００７】
このようにフロント作業装置の自重によりアームシリンダ速度が想定速度よりも遅くなる現象は作業機械に用いられる油圧システムのうちいわゆるオープンセンタバイパス方式（オープンセンタ方式とも称される）のもので顕著となる。図１６にオープンセンタバイパス方式のスプールの開口面積特性を示す。オープンセンタバイパス方式のスプールの開口面積には，ポンプからの圧油をタンクに流す流路のセンタバイパス開口，ポンプからの圧油をアクチュエータに供給する流路のメータイン開口，アクチュエータからタンクへ流す流路のメータアウト開口がある。センタバイパス開口の面積がゼロになる閉じきり点をSXとする。【０００８】
ここで，切上げ作業のように自重に対してフロント作業装置を持ち上げる方向にアームシリンダを駆動した場合の圧油の流れを説明する。この場合，自重に対してフロント作業装置を持ち上げる方向にアームシリンダを駆動するので，フロント作業装置の自重によりメータイン側の圧力が上昇する。アーム操作レバーの操作量が少なくスプールのストローク量がSX未満の場合，センタバイパス開口が開いているため，ポンプから供給される圧油はメータイン開口（メータイン流路）を通ってアームシリンダへ供給されるものと，センタバイパス開口（センタバイパス流路）を通ってタンクへ流れるものに分かれる。圧油は負荷が軽い方向に流れやすい特性があるため，自重に対してフロント作業装置を持ち上げる方向にアームシリンダを駆動しないときと比べてアームシリンダへ圧油が流れにくくなり，結果としてアームシリンダ速度が遅くなる。【０００９】
このように，作業機械の作業内容によってはアームシリンダ速度が想定していた速度よりも遅くなる場合があり，結果として半自動制御をする際のバケットの刃先（作業装置の先端）が安定せずハンチングを起こしてしまう可能性がある。【００１０】
本発明の目的は，作業装置を駆動するアームシリンダの速度をより適切に算出でき，ＭＣにおける作業装置の先端（例えばバケット刃先）の挙動が安定化した作業機械を提供することにある。
【課題を解決するための手段】
【００１１】
本願は上記課題を解決する手段を複数含んでいるが，その一例を挙げるならば，アームを含む複数のフロント部材を有する作業装置と，前記アームを駆動するアームシリンダを含み前記複数のフロント部材を駆動する複数の油圧アクチュエータと，オペレータの操作に応じて前記複数の油圧アクチュエータの動作を指示する操作装置と，前記操作装置の操作時に，前記複数の油圧アクチュエータの速度と予め定めた条件に従って前記複数の油圧アクチュエータの少なくとも１つを制御するアクチュエータ制御部を有する制御装置と，前記アームの姿勢に関する物理量を検出する姿勢検出装置と，前記操作装置の操作量のうち前記アームに対する操作量に関する物理量を検出する操作量検出装置とを備える作業機械において，前記制御装置は，前記操作量検出装置の検出値から算出した第１速度を前記アームシリンダの速度として算出する第１速度演算部と，前記姿勢検出装置の検出値に基づいて前記アームの自重が前記アームシリンダに与える荷重の方向を判定し，前記荷重の方向が前記アームシリンダの駆動方向と逆であると判定したとき前記アームシリンダの速度として前記第１速度より小さい第２速度を前記アームシリンダの速度として算出する第２速度演算部と，前記荷重の方向が前記アームシリンダの駆動方向と同じであると判定したとき前記アームシリンダの速度として前記第１速度以上の第３速度を前記アームシリンダの速度として算出する第３速度演算部とを備える。
【発明の効果】
【００１２】
本発明によれば，作業装置を駆動するアームシリンダの速度をより適切に算出でき，ＭＣにおける作業装置の先端の挙動を安定化できる。
【図面の簡単な説明】
【００１３】
【図１】油圧ショベルの構成図。
【図２】油圧ショベルの制御コントローラを油圧駆動装置と共に示す図。
【図３】フロント制御用油圧ユニットの詳細図。
【図４】油圧ショベルの制御コントローラのハードウェア構成図。
【図５】図１の油圧ショベルにおける座標系および目標面を示す図。
【図６】図１の油圧ショベルの制御コントローラの機能ブロック図。
【図７】図６中のＭＣ制御部の機能ブロック図。
【図８】図７中のアームシリンダ速度演算部４９の機能ブロック図。
【図９】操作量に対するシリンダ速度の関係を示す図。
【図１０】アームシリンダ速度を算出するフローチャート。
【図１１】アーム操作量と補正ゲインｋｍｏの関係を示す図。
【図１２】アーム操作量と補正ゲインｋｍｉの関係を示す図。
【図１３】ブーム制御部によるブーム上げ制御のフローチャート。
【図１４】バケット爪先速度の垂直成分の制限値ａｙと距離Ｄとの関係を示す図。
【図１５】切上げ作業の説明図。
【図１６】センタバイパス式スプールのスプールストロークに対する開口面積を示す図。
【発明を実施するための形態】
【００１４】
以下，本発明の実施形態について図面を用いて説明する。なお，以下では，作業装置の先端の作業具（アタッチメント）としてバケット１０を備える油圧ショベルを例示するが，バケット以外のアタッチメントを備える作業機械で本発明を適用しても構わない。さらに，複数のフロント部材（アタッチメント，アーム，ブーム等）を連結して構成される多関節型の作業装置を有するものであれば油圧ショベル以外の作業機械への適用も可能である。
【００１５】
また，本稿では，或る形状を示す用語（例えば，目標面，設計面等）とともに用いられる「上」，「上方」又は「下方」という語の意味に関し，「上」は当該或る形状の「表面」を意味し，「上方」は当該或る形状の「表面より高い位置」を意味し，「下方」は当該或る形状の「表面より低い位置」を意味することとする。また，以下の説明では，同一の構成要素が複数存在する場合，符号（数字）の末尾にアルファベットを付すことがあるが，当該アルファベットを省略して当該複数の構成要素をまとめて表記することがある。例えば，２つのポンプ２ａ，２ｂ，が存在するとき，これらをまとめてポンプ２と表記することがある。
【００１６】
＜基本構成＞
図１は本発明の実施形態に係る油圧ショベルの構成図であり，図２は本発明の実施形態に係る油圧ショベルの制御コントローラを油圧駆動装置と共に示す図であり，図３は図２中のフロント制御用油圧ユニット１６０の詳細図である。
【００１７】
図１において，油圧ショベル１は，多関節型のフロント作業装置１Ａと，車体１Ｂで構成されている。車体１Ｂは，左右の走行油圧モータ３ａ（図２参照），３ｂにより走行する下部走行体１１と，下部走行体１１の上に取り付けられ，旋回油圧モータ４により旋回する上部旋回体１２とからなる。
【００１８】
フロント作業装置１Ａは，垂直方向にそれぞれ回動する複数のフロント部材（ブーム８，アーム９及びバケット１０）を連結して構成されている。ブーム８の基端は上部旋回体１２の前部においてブームピンを介して回動可能に支持されている。ブーム８の先端にはアームピンを介してアーム９が回動可能に連結されており，アーム９の先端にはバケットピンを介してバケット１０が回動可能に連結されている。これら複数のフロント部材８，９，１０は複数の油圧アクチュエータである油圧シリンダ５，６，７によって駆動される。具体的には，ブーム８はブームシリンダ５によって駆動され，アーム９はアームシリンダ６によって駆動され，バケット１０はバケットシリンダ７によって駆動される。
【００１９】
ブーム８，アーム９，バケット１０の姿勢に関する物理量である回動角度α，β，γ（図５参照）を測定可能なように，ブームピンにブーム角度センサ３０，アームピンにアーム角度センサ３１，バケットリンク１３にバケット角度センサ３２が取付けられ，上部旋回体１２には基準面（例えば水平面）に対する上部旋回体１２（車体１Ｂ）の傾斜角θ（図５参照）を検出する車体傾斜角センサ３３が取付けられている。なお，本実施形態の角度センサ３０，３１，３２はロータリポテンショメータであるが，それぞれ基準面（例えば水平面）に対する傾斜角センサや慣性計測装置（ＩＭＵ）などに代替可能である。
【００２０】
上部旋回体１２に設けられた運転室内には，走行右レバー２３ａ（図１）を有し走行右油圧モータ３ａ（下部走行体１１）を操作するための操作装置４７ａ（図２）と，走行左レバー２３ｂ（図１）を有し走行左油圧モータ３ｂ（下部走行体１１）を操作するための操作装置４７ｂ（図２）と，操作右レバー１ａ（図１）を共有しブームシリンダ５（ブーム８）及びバケットシリンダ７（バケット１０）を操作するための操作装置４５ａ，４６ａ（図２）と，操作左レバー１ｂ（図１）を共有しアームシリンダ６（アーム９）及び旋回油圧モータ４（上部旋回体１２）を操作するための操作装置４５ｂ，４６ｂ（図２）が設置されている。以下では，走行右レバー２３ａ，走行左レバー２３ｂ，操作右レバー１ａおよび操作左レバー１ｂを操作レバー１，２３と総称することがある。
【００２１】
上部旋回体１２に搭載された原動機であるエンジン１８は，油圧ポンプ２ａ，２ｂとパイロットポンプ４８を駆動する。油圧ポンプ２ａ，２ｂはレギュレータ２ａａ，２ｂａによって容量が制御される可変容量型ポンプであり，パイロットポンプ４８は固定容量型ポンプである。油圧ポンプ２およびパイロットポンプ４８はタンク２００より作動油を吸引する。本実施形態においては，図２に示すように，パイロットライン１４４，１４５，１４６，１４７，１４８，１４９の途中にシャトルブロック１６２が設けられている。操作装置４５，４６，４７から出力された油圧信号が，このシャトルブロック１６２を介してレギュレータ２ａａ，２ｂａにも入力される。シャトルブロック１６２の詳細構成は省略するが，油圧信号がシャトルブロック１６２を介してレギュレータ２ａａ，２ｂａに入力されており，油圧ポンプ２ａ，２ｂの吐出流量が当該油圧信号に応じて制御される。
【００２２】
パイロットポンプ４８の吐出配管であるポンプライン４８ａはロック弁３９を通った後，複数に分岐して操作装置４５，４６，４７，フロント制御用油圧ユニット１６０内の各弁に接続している。ロック弁３９は本例では電磁切換弁であり，その電磁駆動部は運転室（図１）に配置されたゲートロックレバー（不図示）の位置検出器と電気的に接続している。ゲートロックレバーのポジションは位置検出器で検出され，その位置検出器からロック弁３９に対してゲートロックレバーのポジションに応じた信号が入力される。ゲートロックレバーのポジションがロック位置にあればロック弁３９が閉じてポンプライン４８ａが遮断され，ロック解除位置にあればロック弁３９が開いてポンプライン４８ａが開通する。つまり，ポンプライン４８ａが遮断された状態では操作装置４５，４６，４７による操作が無効化され，旋回，掘削等の動作が禁止される。
【００２３】
操作装置４５，４６，４７は，油圧パイロット方式の操作装置であり，パイロットポンプ４８から吐出される圧油をもとに，それぞれオペレータにより操作される操作レバー１，２３の操作量（例えば，レバーストローク）と操作方向に応じたパイロット圧（操作圧と称することもある）を発生する。このように発生したパイロット圧は，対応する流量制御弁１５ａ〜１５ｆ（図２または図３）の油圧駆動部１５０ａ〜１５５ｂにパイロットライン１４４ａ〜１４９ｂ（図３参照）を介して供給され，これら流量制御弁１５ａ〜１５ｆを駆動する制御信号として利用される。
【００２４】
油圧ポンプ２から吐出された圧油は，流量制御弁１５ａ，１５ｂ，１５ｃ，１５ｄ，１５ｅ，１５ｆ（図２参照）を介して走行右油圧モータ３ａ，走行左油圧モータ３ｂ，旋回油圧モータ４，ブームシリンダ５，アームシリンダ６，バケットシリンダ７に供給される。供給された圧油によってブームシリンダ５，アームシリンダ６，バケットシリンダ７が伸縮して，ブーム８，アーム９，バケット１０がそれぞれ回動し，バケット１０の位置及び姿勢が変化する。また，供給された圧油によって旋回油圧モータ４が回転して，下部走行体１１に対して上部旋回体１２が旋回する。そして，供給された圧油によって走行右油圧モータ３ａ，走行左油圧モータ３ｂが回転して，下部走行体１１が走行する。
【００２５】
流量制御弁１５ａ，１５ｂ，１５ｃ，１５ｄ，１５ｅ，１５ｆは，それぞれ，オープンセンタバイパス方式の流量制御弁であり，スプールが中立位置にある場合には作動油はセンタバイパス流路を経由して全てタンク２００へ流れる。操作レバー１，２３を操作してスプールを変位させると，図１６に示すようにセンタバイパス流路（ブリードオフ開口）が絞られアクチュエータへ通じる流路（メータイン開口及びメータアウト開口）が開く。さらに操作量を増すとセンタバイパス流路を経由するブリードオフ流量（すなわちブリードオフ開口）が減少すると同時にアクチュエータへの流量（すなわちメータイン開口及びメータアウト開口）が増し，操作量に応じたアクチュエータ速度が得られる。さらに操作量を増加すると或る操作量（閉じきり点ＳＸに相当する操作量）でセンタバイパス流路（ブリードオフ開口）が完全に閉じられ，流量制御弁１５に供給される作動油は全て対応するアクチュエータに流れる。なお，図２は実際のシステムを簡略して表記しているため，図示上ブリードオフ流路がタンク２００に接続していない流量制御弁１５も存在するが，実際は全てオープンセンタバイパス式の流量制御弁１５とする。
【００２６】
タンク２００は油圧アクチュエータを駆動するための作動油の油温を検出するための作動油温検出装置２１０を備えている。作動油温検出装置２１０はタンク２００の外にも設置することができ，例えばタンク２００の入口管路または出口管路に取り付けても良い。
【００２７】
図４は本実施形態に係る油圧ショベルが備えるマシンコントロール（ＭＣ）システムの構成図である。図４のシステムは，ＭＣとして，操作装置４５，４６がオペレータに操作されたとき，各油圧シリンダ５，６，７の速度とフロント作業装置１Ａを予め定められた条件に基づいて制御する処理を実行する。本稿ではマシンコントロール（ＭＣ）を，操作装置４５，４６の非操作時に作業装置１Ａの動作をコンピュータにより制御する「自動制御」に対して，操作装置４５，４６の操作時にのみ作業装置１Ａの動作をコンピュータにより制御する「半自動制御」と称することがある。次に本実施形態におけるＭＣの詳細を説明する。
【００２８】
フロント作業装置１ＡのＭＣとしては，操作装置４５ｂ，４６ａを介して掘削操作（具体的には，アームクラウド，バケットクラウド及びバケットダンプの少なくとも１つの指示）が入力された場合，目標面６０（図５参照）と作業装置１Ａの先端（本実施形態ではバケット１０の爪先とする）の位置関係に基づいて，作業装置１Ａの先端の位置が目標面６０上及びその上方の領域内に保持されるように油圧アクチュエータ５，６，７のうち少なくとも１つを強制的に動作させる制御信号（例えば，ブームシリンダ５を伸ばして強制的にブーム上げ動作を行う）を該当する流量制御弁１５ａ，１５ｂ，１５ｃに出力する。
【００２９】
このＭＣによりバケット１０の爪先が目標面６０の下方に侵入することが防止されるので，オペレータの技量の程度に関わらず目標面６０に沿った掘削が可能となる。なお，本実施形態では，ＭＣ時のフロント作業装置１Ａの制御点を，油圧ショベルのバケット１０の爪先（作業装置１Ａの先端）に設定しているが，制御点は作業装置１Ａの先端部分の点であればバケット爪先以外にも変更可能である。例えば，バケット１０の底面や，バケットリンク１３の最外部も選択可能である。
【００３０】
図４のシステムは，作業装置姿勢検出装置５０と，目標面設定装置５１と，オペレータ操作量検出装置５２ａと，運転室内に設置され，目標面６０と作業装置１Ａの位置関係が表示可能な表示装置（例えば液晶ディスプレイ）５３と，ＭＣ制御を司る制御コントローラ（制御装置）４０とを備えている。
【００３１】
作業装置姿勢検出装置（姿勢検出装置）５０は，ブーム角度センサ３０，アーム角度センサ３１，バケット角度センサ３２，車体傾斜角センサ３３から構成される。これらの角度センサ３０，３１，３２，３３は複数のフロント部材であるブーム８，アーム９，バケット１０の姿勢に関する物理量を検出する姿勢センサとして機能している。
【００３２】
目標面設定装置５１は，目標面６０に関する情報（各目標面の位置情報や傾斜角度情報を含む）を入力可能なインターフェースである。目標面設定装置５１は，グローバル座標系（絶対座標系）上に規定された目標面の３次元データを格納した外部端末（図示せず）と接続されている。なお，目標面設定装置５１を介した目標面の入力は，オペレータが手動で行っても良い。
【００３３】
オペレータ操作量検出装置（操作量検出装置）５２ａは，オペレータによる操作レバー１ａ，１ｂ（操作装置４５ａ，４５ｂ，４６ａ）の操作によってパイロットライン１４４，１４５，１４６に生じる操作圧（第１制御信号）を取得する圧力センサ７０ａ，７０ｂ，７１ａ，７１ｂ，７２ａ，７２ｂから構成される。これらの圧力センサ７０ａ，７０ｂ，７１ａ，７１ｂ，７２ａ，７２ｂは，ブーム７（ブームシリンダ５），アーム８（アームシリンダ６），バケット９（バケットシリンダ７）に対する操作装置４５ａ，４５ｂ，４６ａを介したオペレータの操作量に関する物理量を検出する操作量センサとして機能している。
【００３４】
＜フロント制御用油圧ユニット１６０＞
図３に示すように，フロント制御用油圧ユニット１６０は，ブーム８用の操作装置４５ａのパイロットライン１４４ａ，１４４ｂに設けられ，操作レバー１ａの操作量としてパイロット圧（第１制御信号）を検出する圧力センサ７０ａ，７０ｂと，一次ポート側がポンプライン１４８ａを介してパイロットポンプ４８に接続されパイロットポンプ４８からのパイロット圧を減圧して出力する電磁比例弁５４ａと，ブーム８用の操作装置４５ａのパイロットライン１４４ａと電磁比例弁５４ａの二次ポート側に接続され，パイロットライン１４４ａ内のパイロット圧と電磁比例弁５４ａから出力される制御圧（第２制御信号）の高圧側を選択し，流量制御弁１５ａの油圧駆動部１５０ａに導くシャトル弁８２ａと，ブーム８用の操作装置４５ａのパイロットライン１４４ｂに設置され，制御コントローラ４０からの制御信号を基にパイロットライン１４４ｂ内のパイロット圧（第１制御信号）を低減して出力する電磁比例弁５４ｂを備えている。
【００３５】
また，フロント制御用油圧ユニット１６０は，アーム９用のパイロットライン１４５ａ，１４５ｂに設置され，操作レバー１ｂの操作量としてパイロット圧（第１制御信号）を検出して制御コントローラ４０に出力する圧力センサ７１ａ，７１ｂと，パイロットライン１４５ｂに設置され，制御コントローラ４０からの制御信号を基にパイロット圧（第１制御信号）を低減して出力する電磁比例弁５５ｂと，パイロットライン１４５ａに設置され，制御コントローラ４０からの制御信号を基にパイロットライン１４５ａ内のパイロット圧（第１制御信号）を低減して出力する電磁比例弁５５ａが設けられている。
【００３６】
また，フロント制御用油圧ユニット１６０は，バケット１０用のパイロットライン１４６ａ，１４６ｂには，操作レバー１ａの操作量としてパイロット圧（第１制御信号）を検出して制御コントローラ４０に出力する圧力センサ７２ａ，７２ｂと，制御コントローラ４０からの制御信号を基にパイロット圧（第１制御信号）を低減して出力する電磁比例弁５６ａ，５６ｂと，一次ポート側がパイロットポンプ４８に接続されパイロットポンプ４８からのパイロット圧を減圧して出力する電磁比例弁５６ｃ，５６ｄと，パイロットライン１４６ａ，１４６ｂ内のパイロット圧と電磁比例弁５６ｃ，５６ｄから出力される制御圧の高圧側を選択し，流量制御弁１５ｃの油圧駆動部１５２ａ，１５２ｂに導くシャトル弁８３ａ，８３ｂとがそれぞれ設けられている。なお，図３では，圧力センサ７０，７１，７２と制御コントローラ４０との接続線は紙面の都合上省略している。
【００３７】
電磁比例弁５４ｂ，５５ａ，５５ｂ，５６ａ，５６ｂは，非通電時には開度が最大で，制御コントローラ４０からの制御信号である電流を増大させるほど開度は小さくなる。一方，電磁比例弁５４ａ，５６ｃ，５６ｄは，非通電時には開度をゼロ，通電時に開度を有し，制御コントローラ４０からの電流（制御信号）を増大させるほど開度は大きくなる。このように各電磁比例弁の開度５４，５５，５６は制御コントローラ４０からの制御信号に応じたものとなる。
【００３８】
上記のように構成される制御用油圧ユニット１６０において，制御コントローラ４０から制御信号を出力して電磁比例弁５４ａ，５６ｃ，５６ｄを駆動すると，対応する操作装置４５ａ，４６ａのオペレータ操作が無い場合にもパイロット圧（第２制御信号）を発生できるので，ブーム上げ動作，バケットクラウド動作，バケットダンプ動作を強制的に発生できる。また，これと同様に制御コントローラ４０により電磁比例弁５４ｂ，５５ａ，５５ｂ，５６ａ，５６ｂを駆動すると，操作装置４５ａ，４５ｂ，４６ａのオペレータ操作により発生したパイロット圧（第１制御信号）を減じたパイロット圧（第２制御信号）を発生することができ，ブーム下げ動作，アームクラウド／ダンプ動作，バケットクラウド／ダンプ動作の速度をオペレータ操作の値から強制的に低減できる。
【００３９】
本稿では，流量制御弁１５ａ〜１５ｃに対する制御信号のうち，操作装置４５ａ，４５ｂ，４６ａの操作によって発生したパイロット圧を「第１制御信号」と称する。そして，流量制御弁１５ａ〜１５ｃに対する制御信号のうち，制御コントローラ４０で電磁比例弁５４ｂ，５５ａ，５５ｂ，５６ａ，５６ｂを駆動して第１制御信号を補正（低減）して生成したパイロット圧と，制御コントローラ４０で電磁比例弁５４ａ，５６ｃ，５６ｄを駆動して第１制御信号とは別に新たに生成したパイロット圧を「第２制御信号」と称する。
【００４０】
第２制御信号は，第１制御信号によって発生される作業装置１Ａの制御点の速度ベクトルが所定の条件に反するときに生成され，当該所定の条件に適合する作業装置１Ａの制御点の速度ベクトルを発生させる制御信号として生成される。なお，同一の流量制御弁１５ａ〜１５ｃにおける一方の油圧駆動部に対して第１制御信号が，他方の油圧駆動部に対して第２制御信号が生成される場合は，第２制御信号を優先的に油圧駆動部に作用させるものとし，第１制御信号を電磁比例弁で遮断し，第２制御信号を当該他方の油圧駆動部に入力する。したがって，流量制御弁１５ａ〜１５ｃのうち第２制御信号が演算されたものについては第２制御信号を基に制御され，第２制御信号が演算されなかったものについては第１制御信号を基に制御され，第１及び第２制御信号の双方が発生しなかったものについては制御（駆動）されないことになる。上記のように第１制御信号と第２制御信号を定義すると，ＭＣは，第２制御信号に基づく流量制御弁１５ａ〜１５ｃの制御ということもできる。
【００４１】
＜制御コントローラ４０＞
図４において制御コントローラ４０は，入力部９１と，プロセッサである中央処理装置（ＣＰＵ）９２と，記憶装置であるリードオンリーメモリ（ＲＯＭ）９３及びランダムアクセスメモリ（ＲＡＭ）９４と，出力部９５とを有している。入力部９１は，作業装置姿勢検出装置５０である角度センサ３０〜３２及び傾斜角センサ３３からの信号と，目標面６０を設定するための装置である目標面設定装置５１からの信号と，操作装置４５ａ，４５ｂ，４６ａからの操作量を検出する圧力センサ（圧力センサ７０，７１，７２を含む）であるオペレータ操作量検出装置５２ａからの信号を入力し，ＣＰＵ９２が演算可能なように変換する。ＲＯＭ９３は，後述するフローチャートに係る処理を含めＭＣを実行するための制御プログラムと，当該フローチャートの実行に必要な各種情報等が記憶された記録媒体であり，ＣＰＵ９２は，ＲＯＭ９３に記憶された制御プログラムに従って入力部９１及びメモリ９３，９４から取り入れた信号に対して所定の演算処理を行う。出力部９５は，ＣＰＵ９２での演算結果に応じた出力用の信号を作成し，その信号を電磁比例弁５４〜５６または表示装置５３に出力することで，油圧アクチュエータ５〜７を駆動・制御したり，車体１Ｂ，バケット１０及び目標面６０等の画像を表示装置５３の画面上に表示させたりする。
【００４２】
なお，図４の制御コントローラ４０は，記憶装置としてＲＯＭ９３及びＲＡＭ９４という半導体メモリを備えているが，記憶装置であれば特に代替可能であり，例えばハードディスクドライブ等の磁気記憶装置を備えても良い。
【００４３】
図６は，制御コントローラ４０の機能ブロック図である。制御コントローラ４０は，ＭＣ制御部４３と，電磁比例弁制御部４４と，表示制御部３７４を備えている。
【００４４】
表示制御部３７４は，ＭＣ制御部４３から出力される作業装置姿勢及び目標面を基に表示装置５３を制御する部分である。表示制御部３７４には，作業装置１Ａの画像及びアイコンを含む表示関連データが多数格納されている表示ＲＯＭが備えられており，表示制御部３７４が，入力情報に含まれるフラグに基づいて所定のプログラムを読み出すとともに，表示装置５３における表示制御をする。
【００４５】
図７は図６中のＭＣ制御部４３の機能ブロック図である。ＭＣ制御部４３は，操作量演算部４３ａと，姿勢演算部４３ｂと，目標面演算部４３ｃと，アームシリンダ速度演算部４９と，アクチュエータ制御部８１（ブーム制御部８１ａ及びバケット制御部８１ｂ）とを備えている。
【００４６】
操作量演算部４３ａは，オペレータ操作量検出装置５２ａの検出値を基に操作装置４５ａ，４５ｂ，４６ａ（操作レバー１ａ，１ｂ）の操作量を算出する。すなわち,操作装置４５ａ，４５ｂ，４６ａの操作量は圧力センサ７０，７１，７２の検出値から算出できる。
【００４７】
なお，操作量の算出に圧力センサ７０，７１，７２を利用することは一例に過ぎず，例えば各操作装置４５ａ，４５ｂ，４６ａの操作レバーの回転変位を検出する位置センサ（例えば，ロータリーエンコーダ）で当該操作レバーの操作量を検出しても良い。
【００４８】
姿勢演算部４３ｂは,作業装置姿勢検出装置５０の検出値に基づき，ローカル座標系におけるブーム８，アーム９及びバケット１０の姿勢と，フロント作業装置１Ａの姿勢と，バケット１０の爪先の位置を演算する。また，姿勢演算部４３ｂは，アーム回動中心（アームピン）を通過する水平面とアーム９のなす角（「アーム水平角度φ」（図５参照）と称することがある）を演算する。
【００４９】
ブーム８，アーム９及びバケット１０の姿勢とフロント作業装置１Ａの姿勢は図５のショベル座標系（ローカル座標系）上に定義できる。図５のショベル座標系（ＸＺ座標系）は，上部旋回体１２に設定された座標系であり，上部旋回体１２に回動可能に支持されているブーム８の基底部を原点とし，上部旋回体１２における垂直方向にＺ軸，水平方向にＸ軸を設定した。Ｘ軸に対するブーム８の傾斜角をブーム角α，ブーム８に対するアーム９の傾斜角をアーム角β，アーム９に対するバケット爪先の傾斜角をバケット角γとした。水平面（基準面）に対する車体１Ｂ（上部旋回体１２）の傾斜角を傾斜角θとした。ブーム角αはブーム角度センサ３０により，アーム角βはアーム角度センサ３１により，バケット角γはバケット角度センサ３２により，傾斜角θは車体傾斜角センサ３３により検出される。図５中に規定したようにブーム８，アーム９，バケット１０の長さをそれぞれＬ１，Ｌ２，Ｌ３とすると，ショベル座標系におけるバケット爪先位置の座標，ブーム８，アーム９及びバケット１０の姿勢および作業装置１Ａの姿勢はＬ１，Ｌ２，Ｌ３，α，β，γで表現できる。
【００５０】
また，図５において，アーム回動中心（アームピン）を通過する水平面とアーム９のなす角であるアーム水平角度φは，例えば，傾斜角θ，ブーム角αおよびアーム角βから算出できる。本実施形態では，図５に示すようにグローバル座標系でアーム回動中心（アームピン）を通過する水平面上にＵ軸を設定し，アーム回動中心とバケット回動中心を接続した直線（長さＬ２の直線）がＵ軸となす角をφとする。Ｕ軸を０度とし反時計回りを正の角度とし時計回りを負の角度とする。図５のφは正となる。なお，基準面（例えば水平面）に対する傾斜角センサや慣性計測装置（ＩＭＵ）などをアーム９に取り付けてアーム水平角度φを検出することもできる。
【００５１】
目標面演算部４３ｃは，目標面設定装置５１からの情報に基づき目標面６０の位置情報を演算し，これをＲＯＭ９３内に記憶する。本実施形態では，図５に示すように，３次元の目標面を作業装置１Ａが移動する平面（作業機の動作平面）で切断した断面形状を目標面６０（２次元の目標面）として利用する。
【００５２】
なお，図５の例では目標面６０は１つだが，目標面が複数存在する場合もある。目標面が複数存在する場合には，例えば，作業装置１Ａから最も近いものを目標面と設定する方法や，バケット爪先の下方に位置するものを目標面とする方法や，任意に選択したものを目標面とする方法等がある。
【００５３】
アームシリンダ速度演算部４９は、アクチュエータ制御部８１がＭＣを実行する際にアームシリンダ６の速度として利用される速度（アームシリンダ速度）を算出し，その演算結果をアクチュエータ制御部８１へ出力する部分である。
【００５４】
図８はアームシリンダ速度演算部４９の機能ブロック図である。アームシリンダ速度演算部４９は，第１速度演算部４９ａと，第２速度演算部４９ｂと，第３速度演算部４９ｃと，速度選択部４９ｄを備えている。
【００５５】
第１速度演算部４９ａは，オペレータ操作量検出装置５２ａの検出値のうちアーム９に対する操作量の検出値からアームシリンダ６の速度（Ｖａｍｔ１）を演算する部分である。本稿では第１速度演算部４９ａで演算されたアームシリンダ６の速度（Ｖａｍｔ１）を「第１速度」や「第１アームシリンダ速度」と称することがある。本実施形態では，操作量演算部４３ａがオペレータ操作量検出装置５２ａによるアーム操作量の検出値からアーム操作量を算出しており，第１速度演算部４９ａは，操作量演算部４３ａが算出したアーム操作量と，アーム操作量とアームシリンダ速度の相関関係が一対一で規定された図９のテーブルとを基にアームシリンダ６の速度（Ｖａｍｔ１）を算出している。図９のテーブルでは，あらかじめ実験やシミュレーションで求めた操作量に対するシリンダ速度に基づいて，アーム操作量の増加とともにアームシリンダ速度が単調に増加するように操作量と速度の相関関係が規定されている。第１速度演算部４９ａで演算された第１アームシリンダ速度は速度選択部４９ｄに出力される。
【００５６】
第２速度演算部４９ｂは，アームシリンダ６の駆動対象物（アーム９及びバケット１０及びバケットシリンダ７を含むアーム９よりバケット１０側に位置する各種部材の集合体）の自重を考慮し，第１速度演算部４９ａで算出された第１アームシリンダ速度（Ｖａｍｔ１）より小さい速度（第２速度または第２アームシリンダ速度と称することがある）をアームシリンダ６の速度（Ｖａｍｔ２）として算出する部分である。具体例は後述するが，本実施形態の第２アームシリンダ速度（Ｖａｍｔ２）は，アームシリンダ６の駆動対象物の自重がアームシリンダ６に与える荷重の方向がアームシリンダの駆動方向と逆の場面、すなわち駆動対象物の自重により実際のアームシリンダ６の速度が第１速度（Ｖａｍｔ１）よりも減速される場面を想定して，アーム操作量とアーム水平角度φで規定される所定の補正量を第１アームシリンダ速度（Ｖａｍｔ１）から減じた値で定義されている。当該所定の補正量（すなわち第１速度と第２速度の差分の大きさ）は，駆動対象物の自重の影響で第１速度が減速され得る速度値の最大値以下に設定することが好ましい。第２速度演算部４９ｂで演算された第２アームシリンダ速度（Ｖａｍｔ２）は速度選択部４９ｄに出力される。
【００５７】
第３速度演算部４９ｃは，アームシリンダ６の駆動対象物の自重を考慮し，第１速度演算部４９ａで算出された第１アームシリンダ速度（Ｖａｍｔ１）より大きい速度（第３速度または第３アームシリンダ速度と称することがある）をアームシリンダ６の速度（Ｖａｍｔ３）として算出する部分である。具体例は後述するが，本実施形態の第３アームシリンダ速度（Ｖａｍｔ３）は，アームシリンダ６の駆動対象物の自重がアームシリンダ６に与える荷重の方向がアームシリンダの駆動方向と同じの場面、すなわち駆動対象物の自重によりアームシリンダ６の速度が第１速度（Ｖａｍｔ１）よりも加速される場面を想定して，アーム操作量とアーム水平角度φで規定される所定の補正量を第１アームシリンダ速度（Ｖａｍｔ１）に加えた値で定義されている。当該所定の補正量（すなわち第１速度と第３速度の差分の大きさ）は，駆動対象物の自重の影響で第１速度が加速され得る速度値の最大値以下に設定することが好ましい。第３速度演算部４９ｃで演算された第３アームシリンダ速度（Ｖａｍｔ３）は速度選択部４９ｄに出力される。
【００５８】
速度選択部４９ｄは，アーム９を含むアームシリンダ６の駆動対象物の自重がアームシリンダ６に与える荷重の方向（以下「駆動対象物の荷重方向」と称することがある）を姿勢検出装置４３ｂの検出値（具体的にはアーム水平角度φ）に基づいて判定し，その判定結果に基づいて，アクチュエータ制御部８１に出力するアームシリンダ速度Ｖａｍを第１速度（Ｖａｍｔ１），第２速度（Ｖａｍｔ２）及び第３速度（Ｖａｍｔ３）のいずれか１つに選択する部分である。詳細は後述するが，速度選択部４９ｄは，駆動対象物の荷重方向がアームシリンダ６の駆動方向と逆であると判定したとき第２速度（Ｖａｍｔ２）をアクチュエータ制御部８１に出力することができ，駆動対象物の荷重方向がアームシリンダ６の駆動方向と同じであると判定したとき第３速度（Ｖａｍｔ３）をアクチュエータ制御部８１に出力することができる。
【００５９】
ブーム制御部８１ａとバケット制御部８１ｂは，操作装置４５ａ，４５ｂ，４６ａの操作時に，予め定めた条件に従って複数の油圧アクチュエータ５，６，７の少なくとも１つを制御するアクチュエータ制御部８１を構成する。アクチュエータ制御部８１は，各油圧シリンダ５，６，７の流量制御弁１５ａ，１５ｂ，１５ｃの目標パイロット圧を演算し，その演算した目標パイロット圧を電磁比例弁制御部４４に出力する。
【００６０】
ブーム制御部８１ａは，操作装置４５ａ，４５ｂ，４６ａの操作時に，目標面６０の位置と，フロント作業装置１Ａの姿勢及びバケット１０の爪先の位置と，各油圧シリンダ５，６，７の速度とに基づいて，目標面６０上またはその上方にバケット１０の爪先（制御点）が位置するようにブームシリンダ５（ブーム８）の動作を制御するＭＣを実行するための部分である。ブーム制御部８１ａでは，ブームシリンダ５の流量制御弁１５ａの目標パイロット圧が演算される。ブーム制御部８１ａによるＭＣの詳細は図１３を用いて後述する。
【００６１】
バケット制御部８１ｂは，操作装置４５ａ，４５ｂ，４６ａの操作時に，ＭＣによるバケット角度制御を実行するための部分である。具体的には，目標面６０とバケット１０の爪先の距離が所定値以下のとき，目標面６０に対するバケット１０の角度θが予め設定した対目標面バケット角度θＴＧＴとなるようにバケットシリンダ７（バケット１０）の動作を制御するＭＣ（バケット角度制御）が実行される。バケット制御部８１ｂでは，バケットシリンダ７の流量制御弁１５ｃの目標パイロット圧が演算される。
【００６２】
電磁比例弁制御部４４は，アクチュエータ制御部８１から出力される各流量制御弁１５ａ，１５ｂ，１５ｃへの目標パイロット圧を基に，各電磁比例弁５４〜５６への指令を演算する。なお，オペレータ操作に基づくパイロット圧（第１制御信号）と，アクチュエータ制御部８１で算出された目標パイロット圧が一致する場合には，該当する電磁比例弁５４〜５６への電流値（指令値）はゼロとなり，該当する電磁比例弁５４〜５６の動作は行われない。
【００６３】
＜アームシリンダ速度演算部４９によるアームシリンダ速度算出のフロー＞
図１０にアームシリンダ速度演算部４９がアクチュエータ制御部８１に出力するアームシリンダ６の速度Ｖａｍを算出するフローチャート図を示す。アームシリンダ速度演算部４９は図１０のフローを所定の制御周期で繰り返し実行する。なお，下記で説明するフローでは速度選択部４９ｄによる速度選択が行われた後に出力対象の速度（Ｖａｍｔ１，Ｖａｍｔ２，Ｖａｍｔ３）を演算しているが，速度選択部４９ｄによる速度選択の前に第１速度演算部４９ａ，第２速度演算部４９ｂ及び第３速度演算部４９ｃでアームシリンダ速度（Ｖａｍｔ１，Ｖａｍｔ２，Ｖａｍｔ３）をそれぞれ演算しておき，速度選択部４９ｄの判定処理の終了後にその判定結果に対応したアームシリンダ速度のみをアクチュエータ制御部８１に出力するようにフローを構成しても良いことはいうまでもない。
【００６４】
Ｓ６００では，速度選択部４９ｄは姿勢演算部４３ｂからアーム水平角度φ（図５参照）を取得する。
【００６５】
Ｓ６１０では，速度選択部４９ｄはＳ６００で取得したアーム角度φが−９０度以上かつ９０度以下であるかを判定する。
【００６６】
Ｓ６１０でＹＥＳと判定した場合（すなわちφが−９０度以上かつ９０度以下である場合），駆動対象物の自重がアームシリンダ６に与える荷重の方向がアームシリンダ６の駆動方向と同じであると判定し，速度選択部４９ｄは第３速度（Ｖａｍｔ３）をアームシリンダ速度Ｖａｍとしてアクチュエータ制御部８１に出力することを決定し，Ｓ６２０に進む。
【００６７】
Ｓ６２０では，第３速度演算部４９ｃは，操作量演算部４３ａで演算されるアーム操作量ａｍｌｅｖｅｒに基づいてアームシリンダ速度Ｖａｍｔ３に関する補正ゲインｋを算出する。ここで，Ｓ６２０で第３速度演算部が補正ゲインｋを算出するための関数ｋｍｏは，アームシリンダ６の駆動対象物の自重の影響は流量制御弁１５ｂに係るアームスプールのメータアウト開口面積に由来するものとして，アームスプールのメータアウト開口面積と相関のある関数とする。
【００６８】
本実施形態では，アームスプールのメータアウト開口面積をそれに相当するアーム操作量（ａｍｌｅｖｅｒ）に変換することを前提としており，第３速度演算部４９ｃは，操作量演算部４３ａが算出したアーム操作量（ａｍｌｅｖｅｒ）と，アーム操作量（ａｍｌｅｖｅｒ）と補正ゲインｋ（関数ｋｍｏ）の相関関係が一対一で規定された図１１のテーブルとに基づいて補正ゲインｋを算出している。図１１のテーブルでは，あらかじめ実験やシミュレーションで求めた操作量に対するシリンダ速度に基づいて，アーム操作量の増加とともに補正ゲインｋが単調に増加するように操作量と補正ゲインｋの相関関係が規定されている。
【００６９】
Ｓ６６０では，第３速度演算部４９ｃは，Ｓ６２０で求めた補正ゲインｋを用いてアームシリンダ速度Ｖａｍｔ３に関する補正量（ｋ×ｃｏｓφ）を演算する。
【００７０】
Ｓ６７０では，第３速度演算部４９ｃは，アームシリンダ６の推定速度（第３速度（Ｖａｍｔ３））を第１速度演算部４９ａで求められる第１速度Ｖａｍｔ１に対して補正量ｋ×ｃｏｓφを加算した値とする。Ｓ６２０を通過する場合，φは−９０度以上かつ９０度以下であるのでｃｏｓφは０以上の値となり，補正量ｋ×ｃｏｓφも０以上の値となる。すなわち，第３速度Ｖａｍｔ３は第１速度Ｖａｍｔ１以上の値となる。
【００７１】
これにより，アームシリンダ速度演算部４９はアームシリンダ速度Ｖａｍとして第３速度Ｖａｍ３をアクチュエータ制御部８１に出力し，アームシリンダ速度演算部４９は次の制御周期まで待機する。
【００７２】
Ｓ６１０でＮＯと判定された場合，速度選択部４９ｄはＳ６３０でアーム操作量ａｍｌｅｖｅｒが所定の閾値ｌｅｖｅｒｔよりも小さいか否かを判定する。ここで，閾値ｌｅｖｅｒｔ（例えば図１１，１２参照）はアームスプールのブリードオフ開口が閉じる（すなわちブリードオフ開口面積（センタバイパス開口面積）がゼロになる）ストローク量ＳＸに相当するアーム操作量である。
【００７３】
Ｓ６３０でＹＥＳと判定された場合（すなわちブリードオフ開口面積が０より大きい場合），速度選択部４９ｄは，駆動対象物の自重がアームシリンダ６に与える荷重の方向がアームシリンダ６の駆動方向と逆であると判定し，第２速度（Ｖａｍｔ２）をアームシリンダ速度Ｖａｍとしてアクチュエータ制御部８１に出力することを決定し，Ｓ６４０に進む。
【００７４】
Ｓ６４０では，第２速度演算部４９ｂは，操作量演算部４３ａで演算されるアーム操作量ａｍｌｅｖｅｒに基づいてアームシリンダ速度Ｖａｍｔ２に関する補正ゲインｋを算出する。ここで，Ｓ６４０で第２速度演算部４９ｂが補正ゲインｋを算出するための関数ｋｍｉは，アームシリンダ６の駆動対象物の自重の影響は流量制御弁１５ｂに係るアームスプールのメータイン開口面積およびブリードオフ開口面積に由来するものとして，アームスプールのメータイン開口面積およびブリードオフ開口面積と相関のある関数とする。
【００７５】
本実施形態では，アームスプールのメータアウト開口面積およびブリードオフ開口面積をそれに相当するアーム操作量（ａｍｌｅｖｅｒ）に変換することを前提としており，第２速度演算部４９ｂは，操作量演算部４３ａが算出したアーム操作量（ａｍｌｅｖｅｒ）と，アーム操作量（ａｍｌｅｖｅｒ）と補正ゲインｋ（関数ｋｍｉ）の相関関係が一対一で規定された図１２のテーブルとに基づいて補正ゲインｋを算出している。図１２のテーブルでは，あらかじめ実験やシミュレーションで求めた操作量に対するシリンダ速度に基づいて，アーム操作量の増加とともに補正ゲインｋが単調に減少するように操作量と補正ゲインｋの相関関係が規定されている。
【００７６】
Ｓ６８０では，第２速度演算部４９ｂは，Ｓ６４０で求めた補正ゲインｋを用いてアームシリンダ速度Ｖａｍｔ２に関する補正量（ｋ×ｃｏｓφ）を演算する。
【００７７】
Ｓ６９０では，第２速度演算部４９ｂは，アームシリンダ６の推定速度（第２速度（Ｖａｍｔ２））を第１速度演算部４９ａで求められる第１速度Ｖａｍｔ１に対して補正量ｋ×ｃｏｓφを加算した値とする。Ｓ６４０を通過する場合，φは−９０度未満または９０度より大きいのでｃｏｓφは負の値となり，補正量ｋ×ｃｏｓφも負の値となる。すなわち，第２速度Ｖａｍｔ２は第１速度Ｖａｍｔ１より小さい値となる。
【００７８】
これにより，アームシリンダ速度演算部４９はアームシリンダ速度Ｖａｍとして第２速度Ｖａｍ２をアクチュエータ制御部８１に出力し，アームシリンダ速度演算部４９は次の制御周期まで待機する。
【００７９】
Ｓ６３０でＮＯと判定された場合（すなわちブリードオフ開口面積が０の場合），流量制御弁１５ｂに係るアームスプールのブリードオフ開口が閉じているので，ポンプ２ｂから流量制御弁１５ｂに供給される圧油は全流量アームシリンダ６に流れる。すなわち，このときのアームシリンダ速度は供給される流量によって決まるので，アームシリンダ６の駆動対象物の自重がアームシリンダ速度に対して与える影響はほぼ無い。そこで速度選択部４９ｄは第１速度（Ｖａｍｔ１）をアームシリンダ速度Ｖａｍとしてアクチュエータ制御部８１に出力することを決定してＳ６５０に進む。
【００８０】
Ｓ６５０では，第１速度演算部４９ａは，アームシリンダ６の駆動対象物の自重がアームシリンダ速度に対して与える影響はほぼ無いとみなして補正ゲインｋを０とする。
【００８１】
Ｓ７００では，第１速度演算部４９ａは，図９の相関関係とアーム操作量（ａｍｌｅｖｅｒ）から決定される速度を第１速度Ｖａｍｔ１とする。
【００８２】
これにより，アームシリンダ速度演算部４９はアームシリンダ速度Ｖａｍとして第１速度Ｖａｍ１をアクチュエータ制御部８１に出力し，アームシリンダ速度演算部４９は次の制御周期まで待機する。
【００８３】
＜ブーム制御部８１ａによるブーム上げ制御のフロー＞
本実施の形態の制御コントローラ４０は，ブーム制御部８１ａによるブーム上げ制御をＭＣとして実行する。このブーム制御部８１ａによるブーム上げ制御のフローを図１３に示す。図１３はブーム制御部８１ａで実行されるＭＣのフローチャートであり，操作装置４５ａ，４５ｂ，４６ａがオペレータにより操作されると処理が開始される。
【００８４】
Ｓ４１０では，ブーム制御部８１ａは各油圧シリンダ５，６，７の速度を取得する。まず，ブームシリンダ５とバケットシリンダ７の速度については，操作量演算部４３ａで演算されたブーム８とバケット１０に対する操作量を基にブームシリンダ５とバケットシリンダ７の速度を演算して取得する。具体的には，前述の図９と同様にあらかじめ実験やシミュレーションで求めた操作量に対するシリンダ速度をテーブルとして設定し，これに従ってブームシリンダ５とバケットシリンダ７の速度を算出する。一方，アームシリンダ６の速度については，アームシリンダ速度演算部４９が前述の図１０のフローに基づいて出力する速度Ｖａｍ（すなわち，第１速度Ｖａｍｔ１，第２速度Ｖａｍｔ２，第３速度Ｖａｍｔ３のいずれか）をアームシリンダ６の速度として取得する。
【００８５】
Ｓ４２０では，ブーム制御部８１ａは，Ｓ４１０で取得した各油圧シリンダ５，６，７の動作速度と，姿勢演算部４３ｂで演算された作業装置１Ａの姿勢とを基に，オペレータ操作によるバケット先端（爪先）の速度ベクトルＢを演算する。
【００８６】
Ｓ４３０では，ブーム制御部８１ａは，姿勢演算部４３ｂで演算したバケット１０の爪先の位置（座標）と，ＲＯＭ９３に記憶された目標面６０を含む直線の距離から，バケット先端から制御対象の目標面６０までの距離Ｄ（図５参照）を算出する。そして，距離Ｄと図１４のグラフを基にバケット先端の速度ベクトルの目標面６０に垂直な成分の下限側の制限値ａｙを算出する。
【００８７】
Ｓ４４０では，ブーム制御部８１ａは，Ｓ４２０で算出したオペレータ操作によるバケット先端の速度ベクトルＢにおいて，目標面６０に垂直な成分ｂｙを取得する。
【００８８】
Ｓ４５０では，ブーム制御部８１ａは，Ｓ４３０で算出した制限値ａｙが０以上か否かを判定する。なお，図１３の右上に示したようにｘｙ座標を設定する。当該ｘｙ座標では，ｘ軸は目標面６０と平行で図中右方向を正とし，ｙ軸は目標面６０に垂直で図中上方向を正とする。図１３中の凡例では垂直成分ｂｙ及び制限値ａｙは負であり，水平成分ｂｘ及び水平成分ｃｘ及び垂直成分ｃｙは正である。そして，図１４から明らかであるが，制限値ａｙが０のときは距離Ｄが０，すなわち爪先が目標面６０上に位置する場合であり，制限値ａｙが正のときは距離Ｄが負，すなわち爪先が目標面６０より下方に位置する場合であり，制限値ａｙが負のときは距離Ｄが正，すなわち爪先が目標面６０より上方に位置する場合である。Ｓ４５０で制限値ａｙが０以上と判定された場合（すなわち，爪先が目標面６０上またはその下方に位置する場合）にはＳ４６０に進み，制限値ａｙが０未満の場合にはＳ４８０に進む。
【００８９】
Ｓ４６０では，ブーム制御部８１ａは，オペレータ操作による爪先の速度ベクトルＢの垂直成分ｂｙが０以上か否かを判定する。ｂｙが正の場合は速度ベクトルＢの垂直成分ｂｙが上向きであることを示し，ｂｙが負の場合は速度ベクトルＢの垂直成分ｂｙが下向きであることを示す。Ｓ４６０で垂直成分ｂｙが０以上と判定された場合（すなわち，垂直成分ｂｙが上向きの場合）にはＳ４７０に進み，垂直成分ｂｙが０未満の場合にはＳ５００に進む。
【００９０】
Ｓ４７０では，ブーム制御部８１ａは，制限値ａｙと垂直成分ｂｙの絶対値を比較し，制限値ａｙの絶対値が垂直成分ｂｙの絶対値以上の場合にはＳ５００に進む。一方，制限値ａｙの絶対値が垂直成分ｂｙの絶対値未満の場合にはＳ５３０に進む。
【００９１】
Ｓ５００では，ブーム制御部８１ａは，マシンコントロールによるブーム８の動作で発生すべきバケット先端の速度ベクトルＣの目標面６０に垂直な成分ｃｙを算出する式として「ｃｙ＝ａｙ−ｂｙ」を選択し，その式とＳ４３０の制限値ａｙとＳ４４０の垂直成分ｂｙを基に垂直成分ｃｙを算出する。そして，算出した垂直成分ｃｙを出力可能な速度ベクトルＣを算出し，その水平成分をｃｘとする（Ｓ５１０）。
【００９２】
Ｓ５２０では，目標速度ベクトルＴを算出する。目標速度ベクトルＴの目標面６０に垂直な成分をｔｙ，水平な成分ｔｘとすると，それぞれ「ｔｙ＝ｂｙ＋ｃｙ，ｔｘ＝ｂｘ＋ｃｘ」と表すことができる。これにＳ５００の式（ｃｙ＝ａｙ−ｂｙ）を代入すると目標速度ベクトルＴは結局「ｔｙ＝ａｙ，ｔｘ＝ｂｘ＋ｃｘ」となる。つまり，Ｓ５２０に至った場合の目標速度ベクトルの垂直成分ｔｙは制限値ａｙに制限され，マシンコントロールによる強制ブーム上げが発動される。
【００９３】
Ｓ４８０では，ブーム制御部８１ａは，オペレータ操作による爪先の速度ベクトルＢの垂直成分ｂｙが０以上か否かを判定する。Ｓ４８０で垂直成分ｂｙが０以上と判定された場合（すなわち，垂直成分ｂｙが上向きの場合）にはＳ５３０に進み，垂直成分ｂｙが０未満の場合にはＳ４９０に進む。
【００９４】
Ｓ４９０では，ブーム制御部８１ａは，制限値ａｙと垂直成分ｂｙの絶対値を比較し，制限値ａｙの絶対値が垂直成分ｂｙの絶対値以上の場合にはＳ５３０に進む。一方，制限値ａｙの絶対値が垂直成分ｂｙの絶対値未満の場合にはＳ５００に進む。
【００９５】
Ｓ５３０に至った場合，マシンコントロールでブーム８を動作させる必要が無いので，ブーム制御部８１ａは，速度ベクトルＣをゼロとする。この場合，目標速度ベクトルＴは，Ｓ５２０で利用した式（ｔｙ＝ｂｙ＋ｃｙ，ｔｘ＝ｂｘ＋ｃｘ）に基づくと「ｔｙ＝ｂｙ，ｔｘ＝ｂｘ」となり，オペレータ操作による速度ベクトルＢと一致する（Ｓ５４０）。
【００９６】
Ｓ５５０では，ブーム制御部８１ａは，Ｓ５２０またはＳ５４０で決定した目標速度ベクトルＴ（ｔｙ，ｔｘ）を基に各油圧シリンダ５，６，７の目標速度を演算する。なお，上記説明から明らかであるが，図１３の場合に目標速度ベクトルＴが速度ベクトルＢに一致しないときには，マシンコントロールによるブーム８の動作で発生する速度ベクトルＣを速度ベクトルＢに加えることで目標速度ベクトルＴを実現する。
【００９７】
Ｓ５６０では，ブーム制御部８１ａは，Ｓ５５０で算出された各シリンダ５，６，７の目標速度を基に各油圧シリンダ５，６，７の流量制御弁１５ａ，１５ｂ，１５ｃへの目標パイロット圧を演算する。
【００９８】
Ｓ５９０では，ブーム制御部８１ａは，各油圧シリンダ５，６，７の流量制御弁１５ａ，１５ｂ，１５ｃへの目標パイロット圧を電磁比例弁制御部４４に出力する。
【００９９】
電磁比例弁制御部４４は，各油圧シリンダ５，６，７の流量制御弁１５ａ，１５ｂ，１５ｃに目標パイロット圧が作用するように電磁比例弁５４，５５，５６を制御し，これにより作業装置１Ａによる掘削が行われる。例えば，オペレータが操作装置４５ｂを操作して，アームクラウド動作によって水平掘削を行う場合には，バケット１０の先端が目標面６０に侵入しないように電磁比例弁５５ｃが制御され，ブーム８の上げ動作が自動的に行われる。
【０１００】
なお，本実施形態では，ブーム制御部８１ａによるブーム制御（強制ブーム上げ制御）と，バケット制御部８１ｂによるバケット制御（バケット角度制御）がＭＣとして実行されるが，バケット１０と目標面６０の距離Ｄに応じたブーム制御をＭＣとして実行しても良い。
【０１０１】
＜動作・効果＞
上記のように構成される油圧ショベルにおいて，図１５の状態Ｓ１（アーム水平角度φ１≦９０度）から状態Ｓ２（アーム水平角度φ２＞９０度）に遷移する場合のオペレータ操作と，制御コントローラ４０（ブーム制御部８１ａ）によるＭＣについて説明する。
【０１０２】
図１５の状態Ｓ１から状態Ｓ２に遷移する際，オペレータはアーム９のクラウド操作を行う。そして，アーム９のクラウド操作によりバケット１０が目標面６０に侵入すると判断するときには，ブーム制御部８１ａから電磁弁５４ａに指令を出し，ブーム８を上昇させる制御（ＭＣ）が実行される。
【０１０３】
状態Ｓ１のようにアーム水平角度φが９０度以下でＭＣが実行されるとき，アーム９より先のフロント作業装置（アーム９およびバケット１０）の自重がアームシリンダ速度を加速する方向に作用するため，その際のアーム操作量（ａｍｌｅｖｅｒ）から想定される値（第１速度Ｖａｍｔ１）より実際のアームシリンダ速度は大きくなる傾向がある。しかし，本実施形態では図１０の制御フローによりアーム水平角度φが９０度以下の場合、第１速度Ｖａｍｔ１よりも大きな第３速度Ｖａｍｔ３がアームシリンダ速度Ｖａｍとしてアクチュエータ制御部８１に対して出力される。これによりアクチュエータ制御部８１に入力されてＭＣに利用されるアームシリンダ速度Ｖａｍ（＝Ｖａｍｔ３）と実際のアームシリンダ速度の偏差が，ＭＣのアームシリンダ速度としてアーム水平角度φの大小に係わらず第１速度Ｖａｍｔ１を常に利用していた従前の方法よりも小さくなる。その結果，ＭＣによるブーム上げ操作量をより的確に算出できるため，ＭＣが安定化するとともに目標面６０の施工精度が向上する。特に本実施形態ではアーム水平角度φ（図１０参照）とアーム操作量（図１１参照）の変化に応じて補正量（すなわち第１速度Ｖａｍｔ１と第３速度Ｖａｍｔ３の偏差であるｋ×ｃｏｓφ）を変化させているのでＭＣの安定度と施工精度をさらに向上できる。
【０１０４】
次に状態Ｓ２のようにアーム水平角度φが９０度を超えた状態で，オペレータのアーム操作量（ａｍｌｅｖｅｒ）が閾値ｌｅｖｅｒｔ未満でＭＣが実行されるとき，アーム９より先のフロント作業装置（アーム９およびバケット１０）の自重がアームシリンダ速度を減速する方向に作用するため，その際のアーム操作量（ａｍｌｅｖｅｒ）から想定される値（第１速度Ｖａｍｔ１）より実際のアームシリンダ速度は小さくなる傾向がある。しかし，本実施形態では図１０の制御フローにより第１速度Ｖａｍｔ１よりも小さな第２速度Ｖａｍｔ２がアームシリンダ速度Ｖａｍとしてアクチュエータ制御部８１に対して出力される。これによりアクチュエータ制御部８１に入力されてＭＣに利用されるアームシリンダ速度Ｖａｍ（＝Ｖａｍｔ２）と実際のアームシリンダ速度の偏差が，ＭＣのアームシリンダ速度としてアーム水平角度φの大小に係わらず第１速度Ｖａｍｔ１を常に利用していた従前の方法よりも小さくなる。その結果，ＭＣによるブーム上げ操作量をより的確に算出できるため，ＭＣが安定化するとともに目標面６０の施工精度が向上する。特に本実施形態ではアーム水平角度φ（図１０参照）とアーム操作量（図１２参照）の変化に応じて補正量（すなわち第１速度Ｖａｍｔ１と第２速度Ｖａｍｔ２の偏差であるｋ×ｃｏｓφ）を変化させているのでＭＣの安定度と施工精度をさらに向上できる。
【０１０５】
次に状態Ｓ２のようにアーム水平角度φが９０度を超えた状態で，オペレータのアーム操作量（ａｍｌｅｖｅｒ）が閾値ｌｅｖｅｒｔ以上でＭＣが実行されるとき，流量制御弁１５ｂに係るアームスプールのブリードオフ開口は閉じており，流量制御弁１５ｂに供給される圧油はアームシリンダ６に全て流れる。そのため，アームシリンダ速度に対するアーム９より先のフロント作業装置（アーム９，バケット１０）の自重の影響はほぼなく，従前通りアーム操作量（ａｍｌｅｖｅｒ）から想定されるアームシリンダ速度（第１速度Ｖａｍｔ１）をアクチュエータ制御部８１に出力してＭＣを実行する。これによりブリードオフ開口が閉じられた場合には従来通りのＭＣの安定度と施工精度を維持できる。
【０１０６】
したがって，本実施形態では，上記のようにアーム９より先のフロント作業装置（アーム９，バケット１０）の自重の影響を考慮して，アーム操作量（ａｍｌｅｖｅｒ）から想定されるアームシリンダ速度（第１速度Ｖａｍｔ１）に対して適切な補正量を加算することで実際のアームシリンダ速度との乖離が小さくなる。これにより適切なブーム上げ操作量（すなわち各油圧シリンダ５，６，７の目標速度）を算出できるようになりＭＣにおけるバケット先端の挙動を安定化できる。
【０１０７】
＜その他＞
上記の実施形態では，アーム水平角度φが９０度を超えたときかつアーム操作量が閾値ｌｅｖｅｒｔ以上のときはアームシリンダ速度を補正しない制御としたが，この場合も第２速度をアクチュエータ制御部８１に出力するようにシステムを構成しても良い。すなわち図１０においてＳ６１０でＮＯと判定された場合にはＳ６４０に進むようにシステムを構成しても良い。
【０１０８】
図１０では，Ｓ６１０でＮＯと判定された場合にＳ６３０に進むようにシステムを構成したが，Ｓ６１０より前にＳ６３０の判定処理を実行するようにシステムを構成しても良い。
【０１０９】
上記の実施形態ではブーム８，アーム９，バケット１０の角度を検出する角度センサを用いたが，角度センサではなくシリンダストロークセンサによりショベルの姿勢情報を算出するとしても良い。また，油圧パイロット式のショベルを例として説明したが，電気レバー式のショベルであれば電気レバーから生成される指令電流を制御するような構成としても良い。フロント作業装置１Ａの速度ベクトルの算出方法について，オペレータ操作によるパイロット圧ではなく，ブーム８，アーム９，バケット１０の角度を微分することで算出される角速度から求めても良い。
【０１１０】
上記の制御コントローラ４０に係る各構成や当該各構成の機能及び実行処理等は，それらの一部又は全部をハードウェア（例えば各機能を実行するロジックを集積回路で設計する等）で実現しても良い。また，上記の制御コントローラ４０に係る構成は，演算処理装置（例えばＣＰＵ）によって読み出し・実行されることで当該制御コントローラ４０の構成に係る各機能が実現されるプログラム（ソフトウェア）としてもよい。当該プログラムに係る情報は，例えば，半導体メモリ（フラッシュメモリ，ＳＳＤ等），磁気記憶装置（ハードディスクドライブ等）及び記録媒体（磁気ディスク，光ディスク等）等に記憶することができる。
【０１１１】
本発明は，上記の実施形態に限定されるものではなく，その要旨を逸脱しない範囲内の様々な変形例が含まれる。例えば，本発明は，上記の実施形態で説明した全ての構成を備えるものに限定されず，その構成の一部を削除したものも含まれる。また，実施形態に係る構成の一部を他の構成に置換，または，他の構成を追加することも可能である。
【符号の説明】
【０１１２】
１Ａ…フロント作業装置，８…ブーム，９…アーム，１０…バケット，３０…ブーム角度センサ，３１…アーム角度センサ，３２…バケット角度センサ，４０…制御コントローラ（制御装置），４３…ＭＣ制御部，４３ａ…操作量演算部，４３ｂ…姿勢演算部，４３ｃ…目標面演算部，４９…アームシリンダ速度演算部，４９ａ…第１速度演算部，４９ｂ…第２速度演算部，４９ｃ…第３速度演算部，４９ｄ…速度選択部，４４…電磁比例弁制御部，４５…操作装置（ブーム，アーム），４６…操作装置（バケット，旋回），５０…作業装置姿勢検出装置（姿勢検出装置），５１…目標面設定装置，５２ａ…オペレータ操作量検出装置（操作量検出装置），５３…表示装置，５４，５５，５６…電磁比例弁，８１…アクチュエータ制御部，８１ａ…ブーム制御部，８１ｂ…バケット制御部
【図１】
2019202673.tif 000003
【図２】
2019202673.tif 000004
【図３】
2019202673.tif 000005
【図４】
2019202673.tif 000006
【図５】
2019202673.tif 000007
【図６】
2019202673.tif 000008
【図７】
2019202673.tif 000009
【図８】
2019202673.tif 000010
【図９】
2019202673.tif 000011
【図１０】
2019202673.tif 000012
【図１１】
2019202673.tif 000013
【図１２】
2019202673.tif 000014
【図１３】
2019202673.tif 000015
【図１４】
2019202673.tif 000016
【図１５】
2019202673.tif 000017
【図１６】
2019202673.tif 000018
【国際調査報告】
2019202673.tif 000019
2019202673.tif 000020