(57)【特許請求の範囲】
【請求項１】
バケット，アーム及びブームを有する作業機と，
前記作業機を駆動する複数の油圧アクチュエータと，
前記油圧アクチュエータの動作を指示する操作装置と，
前記操作装置の操作時に，前記作業機の動作範囲が所定の第１目標面上及びその上方に制限されるように前記油圧アクチュエータを制御する制御装置とを備える作業機械において，
前記制御装置は，
現況地形の位置情報が記憶された記憶部と，
前記バケットの爪先の位置を演算するバケット位置演算部と，
掘削開始時に前記バケット位置演算部で演算された前記バケットの爪先の位置である第１位置，予め設定された掘削終了時の前記バケットの爪先の位置である第２位置，前記現況地形，前記第１目標面，及び，前記バケットの幅によって規定される掘削予想体積を演算する掘削予想体積演算部と，
前記掘削予想体積が予め設定された制限体積を越える場合，前記第１目標面の上方に第２目標面を生成する目標面生成部とを備え，
前記目標面生成部は，前記第１位置，前記第２位置，前記現況地形，前記第２目標面，及び，前記バケットの幅によって規定される掘削体積が前記制限体積に近づく位置に前記第２目標面を生成し，
前記制御装置は，前記第２目標面が生成された場合，前記作業機の動作範囲が前記第２目標面上及びその上方に制限されるように前記油圧アクチュエータを制御することを特徴とする作業機械。
【請求項２】
請求項１の作業機械において，
前記第１位置は，前記操作装置を介して前記アームのクラウド操作が入力されたときに前記バケット位置演算部が演算した前記バケットの爪先の位置であることを特徴とする作業機械。
【請求項３】
請求項１の作業機械において，
前記現況地形の位置情報を取得する現況地形取得装置をさらに備え，
前記制御装置は，前記掘削予想体積演算部により前記掘削予想体積が演算されるとき，前記現況地形取得装置によって取得された前記現況地形の位置情報によって前記記憶部に記憶された前記現況地形の位置情報を更新する現況地形更新部をさらに備えることを特徴とする作業機械。
【請求項４】
請求項１の作業機械において，
前記制御装置は，前記バケット位置演算部で演算された前記バケットの爪先の位置が前記記憶部に記憶された前記現況地形の位置よりも下方にある場合，前記バケット位置演算部で演算された前記バケットの爪先の位置情報によって前記記憶部に記憶された前記現況地形の位置情報を更新する現況地形更新部をさらに備えることを特徴とする作業機械。
【請求項５】
請求項１の作業機械において，
前記制限体積は，前記バケットの容量の２倍以下であることを特徴とする作業機械。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はマシンコントロールが実行可能な作業機械に関する。
【背景技術】
【０００２】
油圧ショベルには，オペレータの掘削操作を補助する制御システムが備えられることがある。具体的には，操作装置を介して掘削操作（例えば，アームクラウドの指示）が入力された場合，目標面と作業機の先端（例えばバケットの爪先）の位置関係を基に，作業機（フロント作業機とも言う）の先端の位置が目標面上及びその上方の領域内に保持されるように，作業機を駆動するブームシリンダ，アームシリンダ及びバケットシリンダのうち少なくとも１つを強制的に動作させる制御（例えば，ブームシリンダを伸ばして強制的にブーム上げ動作を行う）を実行する制御システムがある。このような作業機先端の動き得る領域を制限すると，掘削面の仕上げ作業や法面の成形作業が容易になる。【０００３】
例えば，特許文献１には，操作装置（操作レバー）からの信号を基にバケット先端の目標速度ベクトルを演算し，当該目標速度ベクトルにおける目標面に接近する方向のベクトル成分が目標面に近づくにつれて低減するようにブームシリンダを制御することで，目標面（設定領域の境界）の上方に設定した減速領域（設定領域）内にフロント作業機を保持するものが開示されている。以下では，この種の制御を「マシンコントロール（ＭＣ：Ｍａｃｈｉｎｅ  Ｃｏｎｔｒｏｌ）」，「領域制限制御」または「（オペレータ操作に対する）介入制御」と称することがある。 
ところで作業機械による掘削作業効率を向上する観点からは掘削動作ごとの掘削量を継続して最大化することが好ましい。特許文献２には，いわゆるベンチカット法による掘削をする場面において，作業機の１回の掘削動作でバケット内に収納されるべき掘削量（想定掘削量）を設定しておき，１回の掘削動作により掘削対象から当該想定掘削量が得られる領域を掘削領域Ｓとして決定し，当該掘削領域Ｓに基づいて次回の掘削動作を行う際の前記作業機械の作業位置Ｐｗを算出する制御装置と，この制御装置が算出した前記作業機械の作業位置の情報を表示する表示装置とを備える作業機械の作業支援システムが開示されている。この技術では，次回の作業位置を表示装置に表示することで，作業機械が載っている掘削対象物の高さ（ベンチ高さ）Ｈが変化しても掘削動作ごとの掘削量を保持することを狙っている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第１９９５／０３００５９号パンフレット
【０００５】
【特許文献２】特開２０１７−１４７２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
引用文献２では，次回の掘削動作で掘削対象物が掘削される掘削領域Ｓの断面積ｓｂとベンチ高さＨとに基づいて掘削領域Ｓを決定している。そして，掘削領域Ｓは平行四辺形であると仮定し，ｓｂ＝Ｈ・Ｌｓが成立することを利用して算出した距離（掘削量設定距離）Ｌｓから次回の作業位置Ｐｗを算出している。つまりベンチ高さＨが規定の値であることを前提として作業位置Ｐｗを算出しているが，次回の掘削動作に際して所定のベンチ高さＨよりも作業機械に近い位置から掘削を開始してしまった場合には，制御装置が算出した作業位置Ｐｗに作業機械が位置していてもその掘削量は想定掘削量（目標掘削量）に不足してしまい作業効率が低下するおそれがある。【０００７】
この特許文献２の技術はベンチカット法による掘削を前提とするものであるが，特許文献１のように掘削動作によって目標面（平面）を生成する場合にも同様の指摘ができる。例えば，フロント作業機の前後方向において掘削開始点と掘削終了点を予め定めることで１回の掘削動作でバケットが移動する距離（掘削距離）を決定しておき，その１回の掘削動作で目標とする掘削量（目標掘削量（特許文献１の想定掘削量に相当））の掘削がなされるように現況地形から所定の深さ（掘削深さ）のところに目標面を設定し，その目標面に沿って掘削を行うことが考えられる。しかし，この方法では予め定めた掘削距離から掘削深さ（目標面）を決定しているため，掘削距離が変化した場合（例えば予め定めた掘削開始点から掘削が開始できなかった場合）に同じ目標面に基づいて掘削すると，目標掘削量に対して掘削量が過不足するおそれがある。【０００８】
本発明の目的は，目標面を生成する掘削作業時のオペレータの負担を軽減しながら，掘削距離によらず目標掘削量（制限体積）に対する掘削量の過不足の発生を抑制できる作業機械を提供することにある。
【課題を解決するための手段】
【０００９】
本願は上記課題を解決する手段を複数含んでいるが，その一例を挙げるならば，バケット，アーム及びブームを有する作業機と，前記作業機を駆動する複数の油圧アクチュエータと，前記油圧アクチュエータの動作を指示する操作装置と，前記操作装置の操作時に，前記作業機の動作範囲が所定の第１目標面上及びその上方に制限されるように前記油圧アクチュエータを制御する制御装置とを備える作業機械において，前記制御装置は，現況地形の位置情報が記憶された記憶部と，前記バケットの爪先の位置を演算するバケット位置演算部と，掘削開始時に前記バケット位置演算部で演算された前記バケットの爪先の位置である第１位置，予め設定された掘削終了時の前記バケットの爪先の位置である第２位置，前記現況地形，前記第１目標面，及び，前記バケットの幅によって規定される掘削予想体積を演算する掘削予想体積演算部と，前記掘削予想体積が予め設定された制限体積を越える場合，前記第１目標面の上方に第２目標面を生成する目標面生成部とを備え，前記目標面生成部は，前記第１位置，前記第２位置，前記現況地形，前記第２目標面，及び，前記バケットの幅によって規定される掘削体積が前記制限体積に近づく位置に前記第２目標面を生成し，前記制御装置は，前記第２目標面が生成された場合，前記作業機の動作範囲が前記第２目標面上及びその上方に制限されるように前記油圧アクチュエータを制御することとする。 
【発明の効果】
【００１０】
本発明によれば，掘削動作ごとに掘削距離が変化しても目標掘削量が保持されるように目標面が設定されるので，目標掘削量（制限体積）に対する掘削量の過不足の発生を抑制でき掘削作業の効率を向上できる。
【図面の簡単な説明】
【００１１】
【図１】油圧ショベルの構成図。
【図２】油圧ショベルの制御コントローラを油圧駆動装置と共に示す図。
【図３】図２中のフロント制御用油圧ユニット１６０の詳細図。
【図４】図１の油圧ショベルにおける座標系および目標面（第１目標面）を示す図。
【図５】油圧ショベルの制御コントローラ４０のハードウェア構成図。
【図６】油圧ショベルの制御コントローラ４０の機能ブロック図。
【図７】図６中のＭＧ・ＭＣ制御部４３の機能ブロック図。
【図８】現況地形８００と，目標面（第１目標面）７００と，油圧ショベル１の関係を表す側面図。
【図９】補正量ｄと第１目標面７００と第２目標面７００Ａと油圧ショベル１との関係を表す側面図。
【図１０】バケット爪先Ｐ４と目標面７００，７００Ａとの位置関係を示す図。
【図１１】目標面距離Ｄと速度補正係数ｋとの関係を表すグラフ。
【図１２】バケット先端の速度ベクトルＶ０を表す図。
【図１３】ＭＧ／ＭＣ制御部４３による目標面設定のフローチャート。
【図１４】ＭＧ／ＭＣ制御部４３によるＭＣのフローチャート。
【図１５】表示装置５３ａの構成図の一例を示す図。
【図１６】他の実施形態のＭＧ／ＭＣ制御部４３Ａの機能ブロック図。
【図１７】バケット爪先の位置情報に基づく現況地形更新部４３ａａによる現況地形の更新を表す模式図。
【図１８】第１目標面７００がショベル座標に対して傾斜している場合の第２目標面７００Ａの生成方法を表す模式図。
【図１９】第１目標面７００が傾斜の異なる複数面によって構成されている場合の第２目標面７００Ａの生成方法を表す模式図。
【発明を実施するための形態】
【００１２】
以下，本発明の実施形態について図面を用いて説明する。なお，以下では，作業機の先端の作業具（アタッチメント）としてバケット１０を備える油圧ショベルを例示するが，バケット以外のアタッチメントを備える作業機械で本発明を適用しても構わない。さらに，複数のリンク部材（アタッチメント，アーム，ブーム等）を連結して構成される多関節型の作業機を有するものであれば油圧ショベル以外の作業機械への適用も可能である。
【００１３】
また，本稿では，或る形状を示す用語（例えば，目標面，設計面等）とともに用いられる「上」，「上方」又は「下方」という語の意味に関し，「上」は当該或る形状の「表面」を意味し，「上方」は当該或る形状の「表面より高い位置」を意味し，「下方」は当該或る形状の「表面より低い位置」を意味することとする。また，以下の説明では，同一の構成要素が複数存在する場合，符号（数字）の末尾にアルファベットを付すことがあるが，当該アルファベットを省略して当該複数の構成要素をまとめて表記することがある。例えば，３つのポンプ３００ａ，３００ｂ，３００ｃが存在するとき，これらをまとめてポンプ３００と表記することがある。
【００１４】
＜油圧ショベルの全体構成＞
図１は本発明の実施形態に係る油圧ショベルの構成図であり，図２は本発明の実施形態に係る油圧ショベルの制御コントローラを油圧駆動装置と共に示す図であり，図３は図２中のフロント制御用油圧ユニット１６０の詳細図である。
【００１５】
図１において，油圧ショベル１は，多関節型のフロント作業機１Ａと，車体１Ｂで構成されている。車体１Ｂは，左右の走行油圧モータ３ａ，３ｂ（油圧モータ３ａは図２を参照）により走行する下部走行体１１と，下部走行体１１の上に取り付けられ，旋回油圧モータ４により旋回する上部旋回体１２とからなる。
【００１６】
フロント作業機１Ａは，垂直方向にそれぞれ回動する複数の被駆動部材（ブーム８，アーム９及びバケット１０）を連結して構成されている。ブーム８の基端は上部旋回体１２の前部においてブームピンを介して回動可能に支持されている。ブーム８の先端にはアームピンを介してアーム９が回動可能に連結されており，アーム９の先端にはバケットピンを介してバケット１０が回動可能に連結されている。ブーム８はブームシリンダ５によって駆動され，アーム９はアームシリンダ６によって駆動され，バケット１０はバケットシリンダ７によって駆動される。
【００１７】
ブーム８，アーム９，バケット１０の回動角度α，β，γ（図５参照）を測定可能なように，ブームピンにブーム角度センサ３０，アームピンにアーム角度センサ３１，バケットリンク１３にバケット角度センサ３２が取付けられ，上部旋回体１２には基準面（例えば水平面）に対する上部旋回体１２（車体１Ｂ）の傾斜角θ（図５参照）を検出する車体傾斜角センサ３３が取付けられている。なお，角度センサ３０，３１，３２はそれぞれ基準面（例えば水平面）に対する角度センサに代替可能である。
【００１８】
上部旋回体１２に設けられた運転室１６内には，走行右レバー２３ａ（図２）を有し走行右油圧モータ３ａ（下部走行体１１）を操作するための操作装置４７ａ（図２）と，走行左レバー２３ｂ（図２）を有し走行左油圧モータ３ｂ（下部走行体１１）を操作するための操作装置４７ｂ（図２）と，操作右レバー１ａ（図２）を共有しブームシリンダ５（ブーム８）及びバケットシリンダ７（バケット１０）を操作するための操作装置４５ａ，４６ａ（図２）と，操作左レバー１ｂ（図２）を共有しアームシリンダ６（アーム９）及び旋回油圧モータ４（上部旋回体１２）を操作するための操作装置４５ｂ，４６ｂ（図２）が設置されている。以下では，走行右レバー２３ａ，走行左レバー２３ｂ，操作右レバー１ａおよび操作左レバー１ｂを操作レバー１，２３と総称することがある。
【００１９】
上部旋回体１２に搭載された原動機であるエンジン１８は，油圧ポンプ２とパイロットポンプ４８を駆動する。油圧ポンプ２はレギュレータ２ａによって容量が制御される可変容量型ポンプであり，パイロットポンプ４８は固定容量型ポンプである。本実施形態においては，図２に示すように，パイロットライン１４４，１４５，１４６，１４７，１４８，１４９の途中にシャトルブロック１６２が設けられている。操作装置４５，４６，４７から出力された油圧信号が，このシャトルブロック１６２を介してレギュレータ２ａにも入力される。シャトルブロック１６２の詳細構成は省略するが，油圧信号がシャトルブロック１６２を介してレギュレータ２ａに入力されており，油圧ポンプ２の吐出流量が当該油圧信号に応じて制御される。
【００２０】
パイロットポンプ４８の吐出配管であるポンプライン１７０はロック弁３９を通った後，複数に分岐して操作装置４５，４６，４７，フロント制御用油圧ユニット１６０内の各弁に接続している。ロック弁３９は本例では電磁切換弁であり，その電磁駆動部は上部旋回体１２の運転室１６に配置されたゲートロックレバー（不図示）の位置検出器と電気的に接続している。ゲートロックレバーのポジションは位置検出器で検出され，その位置検出器からロック弁３９に対してゲートロックレバーのポジションに応じた信号が入力される。ゲートロックレバーのポジションがロック位置にあればロック弁３９が閉じてポンプライン１７０が遮断され，ロック解除位置にあればロック弁３９が開いてポンプライン１７０が開通する。つまり，ポンプライン１７０が遮断された状態では操作装置４５，４６，４７による操作が無効化され，旋回，掘削等の動作が禁止される。
【００２１】
操作装置４５，４６，４７は，油圧パイロット方式であり，パイロットポンプ４８から吐出される圧油をもとに，それぞれオペレータにより操作される操作レバー１，２３の操作量（例えば，レバーストローク）と操作方向に応じたパイロット圧（操作圧と称することがある）を発生する。このように発生したパイロット圧は，コントロールバルブユニット（図示せず）内の対応する流量制御弁１５ａ〜１５ｆ（図２または図３参照）の油圧駆動部１５０ａ〜１５５ｂにパイロットライン１４４ａ〜１４９ｂ（図３参照）を介して供給され，これら流量制御弁１５ａ〜１５ｆを駆動する制御信号として利用される。
【００２２】
油圧ポンプ２から吐出された圧油は，流量制御弁１５ａ，１５ｂ，１５ｃ，１５ｄ，１５ｅ，１５ｆ（図３参照）を介して走行右油圧モータ３ａ，走行左油圧モータ３ｂ，旋回油圧モータ４，ブームシリンダ５，アームシリンダ６，バケットシリンダ７，に供給される。供給された圧油によってブームシリンダ５，アームシリンダ６，バケットシリンダ７が伸縮することで，ブーム８，アーム９，バケット１０がそれぞれ回動し，バケット１０の位置及び姿勢が変化する。また，供給された圧油によって旋回油圧モータ４が回転することで，下部走行体１１に対して上部旋回体１２が旋回する。そして，供給された圧油によって走行右油圧モータ３ａ，走行左油圧モータ３ｂが回転することで，下部走行体１１が走行する。
【００２３】
作業機１Ａの姿勢は図４のショベル座標系（ローカル座標系）に基づいて定義できる。図４のショベル座標系は，上部旋回体１２に設定された座標であり，ブーム８の基底部を原点ＰＯとし，上部旋回体１２における鉛直方向にＺ軸，水平方向にＸ軸を設定した。また，Ｘ軸とＺ軸によって右手系で規定される方向をＹ軸とする。Ｘ軸に対するブーム８の傾斜角をブーム角α，ブームに対するアーム９の傾斜角をアーム角β，アームに対するバケット爪先の傾斜角をバケット角γとした。水平面（基準面）に対する車体１Ｂ（上部旋回体１２）の傾斜角を傾斜角θとした。ブーム角αはブーム角度センサ３０により，アーム角βはアーム角度センサ３１により，バケット角γはバケット角度センサ３２により，傾斜角θは車体傾斜角センサ３３により検出される。ブーム角αは，ブーム８を最大（最高）まで上げたとき（ブームシリンダ５が上げ方向のストロークエンドのとき，つまりブームシリンダ長が最長のとき）に最少となり，ブーム８を最小（最低）まで下げたとき（ブームシリンダ５が下げ方向のストロークエンドのとき，つまりブームシリンダ長が最短のとき）に最大となる。アーム角βは，アームシリンダ長が最短のときに最小となり，アームシリンダ長が最長のときに最大となる。バケット角γは，バケットシリンダ長が最短のとき（図４のとき）に最小となり，バケットシリンダ長が最長のときに最大となる。このとき，ブーム８の基底部からアーム９との接続部までの長さをＬ１，アーム９とブーム８の接続部からアーム９とバケット１０の接続部までの長さをＬ２，アーム９とバケット１０の接続部からバケット１０の先端部までの長さをＬ３とすると，ショベル座標系におけるバケット１０の先端位置は，ＸｂｋをＸ方向位置，ＺｂｋをＺ方向位置として，以下の式（１）（２）で表すことができる。
【００２４】
【数１】
0006676825.tif 000002
【００２５】
【数２】
0006676825.tif 000003
【００２６】
また，油圧ショベル１は，図１に示すように，上部旋回体１２に一対のＧＮＳＳ（Ｇｌｏｂａｌ  Ｎａｖｉｇａｔｉｏｎ  Ｓａｔｔｅｌｉｔｅ  Ｓｙｓｔｅｍ）アンテナ１４Ａ，１４Ｂを備えている。ＧＮＳＳアンテナ１４からの情報に基づき，グローバル座標系における油圧ショベル１の位置，またバケット１０の位置を算出することができる。
【００２７】
図５は本実施形態に係る油圧ショベルが備えるマシンガイダンス（Ｍａｃｈｉｎｅ  Ｇｕｉｄａｎｃｅ：ＭＧ）ならびにマシンコントロール（Ｍａｃｈｉｎｅ  Ｃｏｎｔｒｏｌ：ＭＣ）システムの構成図である。
【００２８】
本システムでのフロント作業機１ＡのＭＣとしては，操作装置４５ａ，４５ｂ，４６ａが操作され，かつ，任意に設定された目標面７００（図４参照）の上方に設定された所定の閉領域である減速領域（第１領域）６００に作業機１Ａが位置する場合，予め定めた条件に従って作業機１Ａを動作させる制御が実行される。具体的には，減速領域６００では，作業機１Ａの先端部（例えばバケット１０の爪先）が目標面７００に近づくほど作業機１Ａの先端部の速度ベクトルにおける目標面７００に接近する方向のベクトル成分が低減するように複数の油圧アクチュエータ５，６，７のうち少なくとも１つを制御することがＭＣとして行われる（詳細は後述）。油圧アクチュエータ５，６，７の制御は，該当する流量制御弁１５ａ，１５ｂ，１５ｃに制御信号（例えば，ブームシリンダ５を伸ばして強制的にブーム上げ動作を行う）を強制的に出力することで行われる。このＭＣによりバケット１０の爪先が目標面７００の下方に侵入することが防止されるので，オペレータの技量の程度に関わらず目標面７００に沿った掘削が可能となる。一方，減速領域６００の上方に減速領域６００と隣接して設定された非減速領域（第２領域）６２０に作業機１Ａが位置する場合にはＭＣは実行されず，オペレータの操作通りに作業機１Ａが動作する。図４における点線６５０は，減速領域６００と非減速領域６２０の境界線である。
【００２９】
なお，本実施形態では，ＭＣ時のフロント作業機１Ａの制御点を，油圧ショベルのバケット１０の爪先（作業機１Ａの先端）に設定しているが，制御点は作業機１Ａの先端部分の点であればバケット爪先以外にも変更可能である。例えば，バケット１０の底面やバケットリンク１３の最外部も選択可能であり，目標面７００から最も距離の近いバケット１０上の点を適宜制御点とする構成を採用しても良い。また，本稿ではＭＣを，操作装置４５，４６の非操作時に作業機１Ａの動作を制御コントローラ（制御装置）４０により制御する「自動制御」に対して，操作装置４５，４６の操作時にのみ作業機１Ａの動作を制御コントローラ４０により制御する「半自動制御」と称することがある。
【００３０】
また，本システムでのフロント作業機１ＡのＭＧとしては，例えば図１５に示すように，目標面７００と，作業機１Ａ（例えば，バケット１０）との位置関係を表示装置５３ａに表示する処理が行われる。
【００３１】
図５のシステムは，作業機姿勢検出装置５０と，目標面設定装置５１と，オペレータ操作検出装置５２ａと，運転室１６内に設置され目標面７００と作業機１Ａの位置関係を表示可能な表示装置５３ａと，作業機１Ａの作業対象となる現況地形８００の位置情報を取得する現況地形取得装置９６と，ＭＧ及びＭＣを司る制御コントローラ（制御装置）４０とを備えている。
【００３２】
作業機姿勢検出装置５０は，ブーム角度センサ３０，アーム角度センサ３１，バケット角度センサ３２，車体傾斜角センサ３３から構成される。これらの角度センサ３０，３１，３２，３３は作業機１Ａの姿勢センサとして機能している。
【００３３】
目標面設定装置５１は，目標面７００に関する情報（各目標面の位置情報や傾斜角度情報を含む）を入力可能なインターフェースである。目標面設定装置５１は，グローバル座標系（絶対座標系）上に規定された目標面の３次元データを格納した外部端末（図示せず）と接続されている。なお，目標面設定装置５１を介した目標面の入力は，オペレータが手動で行っても良い。
【００３４】
オペレータ操作検出装置５２ａは，オペレータによる操作レバー１ａ，１ｂ（操作装置４５ａ，４５ｂ，４６ａ）の操作によってパイロットライン１４４，１４５，１４６に生じる操作圧（第１制御信号）を取得する圧力センサ７０ａ，７０ｂ，７１ａ，７１ｂ，７２ａ，７２ｂから構成される。すなわち，作業機１Ａに係る油圧シリンダ５，６，７に対する操作を検出している。
【００３５】
現況地形取得装置９６としては，例えばショベル１に備えられたステレオカメラ，レーザスキャナ又は超音波センサ等が利用できる。これらの装置はショベル１から現況地形上の点までの距離を計測するものであり，現況地形取得装置９６で取得した現況地形は膨大な量の点群の位置データで定義される。なお，現況地形の３次元データをステレオカメラ，レーザスキャナ又は超音波センサ等を搭載したドローン等により予め取得しておき，当該３次元データを制御コントローラ４０内に取り込むためのインターフェースとして現況地形取得装置９６を構成しても良い。
【００３６】
＜フロント制御用油圧ユニット１６０＞
図３に示すように，フロント制御用油圧ユニット１６０は，ブーム８用の操作装置４５ａのパイロットライン１４４ａ，１４４ｂに設けられ，操作レバー１ａの操作量としてパイロット圧（第１制御信号）を検出する圧力センサ７０ａ，７０ｂと，一次ポート側がポンプライン１７０を介してパイロットポンプ４８に接続されパイロットポンプ４８からのパイロット圧を減圧して出力する電磁比例弁５４ａと，ブーム８用の操作装置４５ａのパイロットライン１４４ａと電磁比例弁５４ａの二次ポート側に接続され，パイロットライン１４４ａ内のパイロット圧と電磁比例弁５４ａから出力される制御圧（第２制御信号）の高圧側を選択し，流量制御弁１５ａの油圧駆動部１５０ａに導くシャトル弁８２ａと，ブーム８用の操作装置４５ａのパイロットライン１４４ｂに設置され，制御コントローラ４０からの制御信号を基にパイロットライン１４４ｂ内のパイロット圧（第１制御信号）を低減して出力する電磁比例弁５４ｂを備えている。
【００３７】
また，フロント制御用油圧ユニット１６０は，アーム９用のパイロットライン１４５ａ，１４５ｂに設置され，操作レバー１ｂの操作量としてパイロット圧（第１制御信号）を検出して制御コントローラ４０に出力する圧力センサ７１ａ，７１ｂと，パイロットライン１４５ｂに設置され，制御コントローラ４０からの制御信号を基にパイロット圧（第１制御信号）を低減して出力する電磁比例弁５５ｂと，パイロットライン１４５ａに設置され，制御コントローラ４０からの制御信号を基にパイロットライン１４５ａ内のパイロット圧（第１制御信号）を低減して出力する電磁比例弁５５ａが設けられている。
【００３８】
また，フロント制御用油圧ユニット１６０は，バケット１０用のパイロットライン１４６ａ，１４６ｂには，操作レバー１ａの操作量としてパイロット圧（第１制御信号）を検出して制御コントローラ４０に出力する圧力センサ７２ａ，７２ｂと，制御コントローラ４０からの制御信号を基にパイロット圧（第１制御信号）を低減して出力する電磁比例弁５６ａ，５６ｂと，一次ポート側がパイロットポンプ４８に接続されパイロットポンプ４８からのパイロット圧を減圧して出力する電磁比例弁５６ｃ，５６ｄと，パイロットライン１４６ａ，１４６ｂ内のパイロット圧と電磁比例弁５６ｃ，５６ｄから出力される制御圧の高圧側を選択し，流量制御弁１５ｃの油圧駆動部１５２ａ，１５２ｂに導くシャトル弁８３ａ，８３ｂとがそれぞれ設けられている。なお，図３では，圧力センサ７０，７１，７２と制御コントローラ４０との接続線は紙面の都合上省略している。
【００３９】
電磁比例弁５４ｂ，５５ａ，５５ｂ，５６ａ，５６ｂは，非通電時には開度が最大で，制御コントローラ４０からの制御信号である電流を増大させるほど開度は小さくなる。一方，電磁比例弁５４ａ，５６ｃ，５６ｄは，非通電時には開度をゼロ，通電時に開度を有し，制御コントローラ４０からの電流（制御信号）を増大させるほど開度は大きくなる。このように各電磁比例弁の開度５４，５５，５６は制御コントローラ４０からの制御信号に応じたものとなる。
【００４０】
上記のように構成される制御用油圧ユニット１６０において，制御コントローラ４０から制御信号を出力して電磁比例弁５４ａ，５６ｃ，５６ｄを駆動すると，対応する操作装置４５ａ，４６ａのオペレータ操作が無い場合にもパイロット圧（第２制御信号）を発生できるので，ブーム上げ動作，バケットクラウド動作，バケットダンプ動作を強制的に発生できる。また，これと同様に制御コントローラ４０により電磁比例弁５４ｂ，５５ａ，５５ｂ，５６ａ，５６ｂを駆動すると，操作装置４５ａ，４５ｂ，４６ａのオペレータ操作により発生したパイロット圧（第１制御信号）を減じたパイロット圧（第２制御信号）を発生することができ，ブーム下げ動作，アームクラウド／ダンプ動作，バケットクラウド／ダンプ動作の速度をオペレータ操作の値から強制的に低減できる。
【００４１】
本稿では，流量制御弁１５ａ〜１５ｃに対する制御信号のうち，操作装置４５ａ，４５ｂ，４６ａの操作によって発生したパイロット圧を「第１制御信号」と称する。そして，流量制御弁１５ａ〜１５ｃに対する制御信号のうち，制御コントローラ４０で電磁比例弁５４ｂ，５５ａ，５５ｂ，５６ａ，５６ｂを駆動して第１制御信号を補正（低減）して生成したパイロット圧と，制御コントローラ４０で電磁比例弁５４ａ，５６ｃ，５６ｄを駆動して第１制御信号とは別に新たに生成したパイロット圧を「第２制御信号」と称する。
【００４２】
第２制御信号は，第１制御信号によって発生される作業機１Ａの制御点の速度ベクトルが所定の条件に反するときに生成され，当該所定の条件に反しない作業機１Ａの制御点の速度ベクトルを発生させる制御信号として生成される。なお，同一の流量制御弁１５ａ〜１５ｃにおける一方の油圧駆動部に対して第１制御信号が，他方の油圧駆動部に対して第２制御信号が生成される場合は，第２制御信号を優先的に油圧駆動部に作用させるものとし，第１制御信号を電磁比例弁で遮断し，第２制御信号を当該他方の油圧駆動部に入力する。したがって，流量制御弁１５ａ〜１５ｃのうち第２制御信号が演算されたものについては第２制御信号を基に制御され，第２制御信号が演算されなかったものについては第１制御信号を基に制御され，第１及び第２制御信号の双方が発生しなかったものについては制御（駆動）されないことになる。上記のように第１制御信号と第２制御信号を定義すると，ＭＣは，第２制御信号に基づく流量制御弁１５ａ〜１５ｃの制御ということもできる。
【００４３】
＜制御コントローラ＞
図５において制御コントローラ４０は，入力インターフェース９１と，プロセッサである中央処理装置（ＣＰＵ）９２と，記憶装置であるリードオンリーメモリ（ＲＯＭ）９３及びランダムアクセスメモリ（ＲＡＭ）９４と，出力インターフェース９５とを有している。入力インターフェース９１には，作業機姿勢検出装置５０である角度センサ３０〜３２及び傾斜角センサ３３からの信号と，目標面７００を設定するための装置である目標面設定装置５１からの信号と, 現況地形８００を取得する現況地形取得装置９６からの信号が入力され，ＣＰＵ９２が演算可能なように変換する。ＲＯＭ９３は，後述するフローチャートに係る処理を含めＭＣ及びＭＧを実行するための制御プログラムと，当該フローチャートの実行に必要な各種情報等が記憶された記録媒体であり，ＣＰＵ９２は，ＲＯＭ９３に記憶された制御プログラムに従って入力インターフェース９１及びＲＯＭ９３，ＲＡＭ９４から取り入れた信号に対して所定の演算処理を行う。出力インターフェース９５は，ＣＰＵ９２での演算結果に応じた出力用の信号を作成し，その信号を表示装置５３ａに出力すること表示装置５３ａを作動させられることができる。
【００４４】
なお，図５の制御コントローラ４０は，記憶装置としてＲＯＭ９３及びＲＡＭ９４という半導体メモリを備えているが，記憶装置であれば特に代替可能であり，例えばハードディスクドライブ等の磁気記憶装置を備えても良い。
【００４５】
図６は，制御コントローラ４０の機能ブロック図である。制御コントローラ４０は，ＭＧ及びＭＣ制御部（ＭＧ／ＭＣ制御部）４３と，電磁比例弁制御部４４と，表示制御部３７４ａを備えている。
【００４６】
＜ＭＧ／ＭＣ制御部４３＞
ＭＧ／ＭＣ制御部４３は，操作装置４５ａ，４５ｂ，４６ａの操作時に，予め定めた条件に従って複数の油圧アクチュエータ５，６，７の少なくとも１つをＭＣする。本実施形態のＭＧ／ＭＣ制御部４３は，操作装置４５ａ，４５ｂ，４６ａの操作時に，目標面７００の位置と，フロント作業機１Ａの姿勢及びバケット１０の爪先の位置と，操作装置４５ａ，４５ｂ，４６ａの操作量とに基づいて，目標面７００上またはその上方にバケット１０の爪先（制御点）が位置するようにブームシリンダ５（ブーム８）及びアームシリンダ６（アーム９）の少なくとも一方の動作を制御するＭＣを実行する。ＭＧ／ＭＣ制御部４３は，各油圧シリンダ５，６，７の流量制御弁１５ａ，１５ｂ，１５ｃの目標パイロット圧を演算し，その演算した目標パイロット圧を電磁比例弁制御部４４に出力する。
【００４７】
図７は図６中のＭＧ／ＭＣ制御部４３の機能ブロック図である。ＭＧ／ＭＣ制御部４３は，現況地形更新部４３ａと，現況地形記憶部４３ｂと，目標面記憶部４３ｃと，バケット位置演算部４３ｄと，目標速度演算部４３ｅと，掘削予想体積演算部４３ｆと，目標面生成部４３ｇと，距離演算部４３ｈと，補正速度演算部４３ｉと，目標パイロット圧演算部４３ｊを備えている。
【００４８】
現況地形記憶部４３ｂは，油圧ショベル周囲の現況地形の位置情報（現況地形データ）を記憶する。例えば，現況地形データは，グローバル座標系において適宜のタイミングで現況地形取得装置９６によって取得された３次元の座標データを有する点群である。
【００４９】
現況地形更新部４３ａは，掘削予想体積演算部４３ｆにより掘削予想体積Ｖａ（後述）が演算されるとき，現況地形取得装置９６によって取得された現況地形８００の位置情報によって現況地形記憶部４３ｂに記憶された現況地形の位置情報を更新する。
【００５０】
目標面記憶部４３ｃは，目標面設定装置５１からの情報に基づき演算された目標面（第1目標面）７００の位置情報（目標面データ）を記憶する。本実施形態では，図４に示すように，３次元の目標面を作業機１Ａが移動する平面（作業機の動作平面）で切断した断面形状を目標面７００（２次元の目標面）として利用する。なお，図４の例では目標面７００は１つだが，目標面が複数存在する場合もある。目標面が複数存在する場合には，例えば，作業機１Ａから最も近いものを目標面と設定する方法や，バケット爪先の下方に位置するものを目標面とする方法や，任意に選択したものを目標面とする方法等がある。
【００５１】
バケット位置演算部４３ｄは，作業機姿勢検出装置５０からの情報に基づき，ローカル座標系（ショベル座標系）におけるフロント作業機１Ａの姿勢と，バケット１０の爪先の位置を演算する。既述のとおり，バケット１０の爪先位置情報（Ｘｂｋ，Ｚｂｋ）（バケット位置データ）は，式（１）及び式（２）により演算できる。また，グローバル座標系における，車体基準位置Ｐ０の座標と車体傾斜角度θに基づいて，現況地形データと，設計面データとを車体基準位置Ｐ０を原点とした車体座標系に変換することが可能である。以下，車体座標系として例を説明する。
【００５２】
掘削予想体積演算部４３ｆは，現況地形データと，目標面データと，バケット位置データと，予め設定した掘削終了位置（後述の基準位置ｘ０）に基づいて掘削予想体積Ｖａを演算する。掘削予想体積Ｖａは，バケット爪先位置のＸ座標（後述のｘ１）と，予め設定された掘削終了時のバケット爪先位置（掘削終了位置）のＸ座標（後述の基準位置ｘ０）と，現況地形８００と，目標面７００と，バケット１０の幅によって規定された閉領域の体積である。図８に現況地形８００と，目標面（第１目標面）７００と，油圧ショベル１の関係を表す側面図を示す。掘削予想体積演算部４３ｆは，ショベル座標系のＸ方向において掘削終了位置として予め設定された基準位置ｘ０と，バケット位置演算部４３ｄによって演算されたバケット座標のＸの値ｘ１（＝Ｘｂｋ）の範囲内にある土砂の体積Ｖａ（図８中でドットを付した領域の体積）を演算する。ｘ１は，式（１）から得られるバケット爪先位置のＸ座標であるＸｂｋである。基準位置ｘ０は，掘削終了時のバケット爪先位置のＸ座標であり，走行体１１近傍の任意の値を設定できる。本実施形態では，基準位置ｘ０は，上部旋回体１２と下部走行体１１の前方向を揃えたときの下部走行体１１における最前部のＸ座標に設定されている。このとき，土砂の体積（掘削予想体積）Ｖａは下記の式（３）によって求めることができる。本稿では，基準位置ｘ０（掘削終了位置）を，掘削開始時のバケット爪先位置（掘削開始位置）である第１位置に対して「第２位置」と称することがある。
【００５３】
【数３】
0006676825.tif 000004
【００５４】
ここで，式（３）中のｚは，同一のX，Y座標を有する現況地形上の点と目標面上の点のZ座標の偏差である。また，ｗはバケット１０の幅である。本実施形態では，計算の簡略化のために，バケット幅ｗを使用しているが，バケット幅内にある現況地形の点群をY軸方向にも積分することにより，掘削予想体積Ｖａを求めてもよい。掘削予想体積演算部４３ｆは掘削予想体積Ｖａを目標面生成部４３ｇに出力する。
【００５５】
目標面生成部４３ｇは，掘削予想体積Ｖａが予め設定された制限体積Ｖｂを越える場合，第1目標面７００を補正量ｄだけ上方にオフセットした新たな目標面（第2目標面）７００Ａを生成する。その際，目標面生成部４３ｇは，バケット爪先の位置（ｘ１＝Ｘｂｋ）と，予め設定された掘削終了位置（ｘ０）と，現況地形８００と，第２目標面７００Ａと，バケット幅ｗによって規定された閉領域の体積が制限体積Ｖｂ以下になるように補正量ｄを設定して第２目標面７００Ａの高さを決定する。図９に補正量ｄと第１目標面７００と第２目標面７００Ａと油圧ショベル１との関係を表す側面図を示す。制限体積Ｖｂは，バケット１０で保持可能な掘削物の最大体積以下の値から任意に設定することができ，通常はバケット容量の２倍以下の値となる。また，制限体積Ｖｂは，作業効率の観点から作業機１Ａの１回の掘削動作でバケット１０内に収納されるべき掘削体積の目標値（目標掘削量）と換言できる。
【００５６】
ところで，掘削予想体積Ｖａから制限体積Ｖｂを減算することで，掘削予想体積Ｖａを制限体積Ｖｂに減らすために必要な体積（補正体積と称する）Ｖｃを下記の式（４）により演算することが可能である。
【００５７】
【数４】
0006676825.tif 000005
【００５８】
補正体積Ｖｃと，掘削距離Ｌと，バケット幅ｗと，補正量ｄの関係は下記の式（５）で表すことができる。
【００５９】
【数５】
0006676825.tif 000006
【００６０】
ここで，掘削距離Ｌは，バケット爪先位置と掘削終了位置のＸ座標の偏差であり，バケット位置情報ｘ１から基準位置ｘ０を減算することで求めることができる。上記の式（５）を変形することで補正量ｄは下記の式（６）のように求めることができる。
【００６１】
【数６】
0006676825.tif 000007
【００６２】
目標面生成部４３ｇは，バケット爪先位置が現況地形８００から所定の範囲内にあり，操作装置４５ｂを介してアーム６のクラウド操作（アーム引き指令）が入力されたときにバケット位置演算部４３ｄが演算したバケット爪先の位置（ｘ１）を掘削開始位置（第１位置）として掘削距離Ｌを算出し，その掘削距離Ｌと補正体積Ｖｃとバケット幅ｗと上記の式（６）により求められた補正量ｄだけ第１目標面７００を上方にオフセットして第2目標面７００Ａを生成する。また，掘削予想体積Ｖａが制限体積Ｖｂ以下であった場合は，目標面生成部４３ｇは第２目標面７００Ａを生成せず，ＭＧ／ＭＣ制御部４３は第１目標面７００に基づいてＭＣを実行する。
【００６３】
距離演算部４３ｈ，バケット位置データに基づいて，第１目標面７００と第２目標面７００Ａのうちバケット爪先Ｐ４（図１０参照）に近い方の目標面（ＭＣ対象目標面）とバケット爪先Ｐ４との距離（目標面距離）Ｄを演算する。すなわち，目標面距離Ｄは，目標面生成部４３ｇによって第２目標面７００Ａが生成された場合にはＰ４と第２目標面７００Ａとの距離となり，目標面生成部４３ｇによって第２目標面７００Ａが生成されなかった場合にはＰ４と第１目標面７００との距離となる。図１０にバケット爪先Ｐ４とＭＣ対象目標面７００，７００Ａとの位置関係を示す図を示す。バケット爪先Ｐ４からＭＣ対象目標面７００，７００Ａに下した垂線の足と，バケット位置座標との距離がＭＣ対象目標面７００，７００Ａとバケット先端Ｐ４との目標面距離Ｄである。
【００６４】
目標速度演算部４３ｅは，オペレータ操作検出装置５２ａからの入力を基に操作装置４５ａ，４５ｂ，４６ａ（操作レバー１ａ，１ｂ）の操作量を算出し，その操作量に基づいてブームシリンダ５と，アームシリンダ６と，バケットシリンダ７の目標動作速度を演算する。操作装置４５ａ，４５ｂ，４６ａの操作量は，圧力センサ７０，７１，７２の検出値から算出できる。なお，圧力センサ７０，７１，７２による操作量の算出は一例に過ぎず，例えば各操作装置４５ａ，４５ｂ，４６ａの操作レバーの回転変位を検出する位置センサ（例えば，ロータリーエンコーダ）で当該操作レバーの操作量を検出しても良い。また，操作量から動作速度を算出する構成に代えて，各油圧シリンダ５，６，７の伸縮量を検出するストロークセンサを取り付け，検出した伸縮量の時間変化を基に各シリンダの動作速度を算出する構成も適用可能である。
【００６５】
補正速度演算部４３ｉは，距離演算部４３ｈから出力された目標面距離Ｄに基づいて，バケット先端Ｐ４の速度ベクトルＶ０における目標面（目標面距離Ｄの算出に利用したＭＣ目標面、すなわち目標面７００または目標面７００Ａ）に垂直な成分（鉛直成分）Ｖ０ｚの補正係数ｋを演算する。
【００６６】
図１１に目標面距離Ｄと速度補正係数ｋとの関係を表すグラフを示す。バケット先端Ｐ４が目標面よりも上方にある場合に目標面距離Ｄは正であるとし，目標面侵入方向の速度を正とした場合に，目標面距離Ｄが所定の距離ｄ１から減少するにつれて，速度補正係数ｋは１から減少する。
【００６７】
図１２にバケット先端の速度ベクトルＶ０を表す図を示す。補正速度演算部４３ｉは目標速度演算部４３ｅから出力されたアクチュエータ速度に基づいてバケット先端Ｐ４の速度ベクトルＶ０を演算する。そして，そのバケット速度ベクトルＶ０を目標面の鉛直成分Ｖ０ｚと水平成分Ｖ０ｘに分解し，鉛直成分Ｖ０ｚに補正係数ｋを乗算することにより補正速度Ｖ１ｚとする。補正速度Ｖ１ｚと元の速度ベクトルＶ０の水平成分Ｖ０ｘによってつくられる速度ベクトルが，バケット先端Ｐ４の補正後の速度ベクトルＶ１となる。これにより，バケット先端Ｐ４が目標面に近づいて距離Ｄがゼロに近づくほどその速度ベクトルの鉛直方向の速度はゼロに近づく。これにより目標面に沿ってバケット先端Ｐ４が動くＭＣが実行される。また，バケット先端Ｐ４が目標面から離れる方向に動作する場合（すなわち，鉛直成分Ｖ０ｚが上向きの場合）には，距離Ｄにかかわらず速度補正係数ｋを常に１とする。これによりブーム上げ動作が減速されることはない。
【００６８】
目標パイロット圧演算部（制御信号演算部）４３ｊは，バケット先端Ｐ４の補正後の速度ベクトルＶ１（Ｖ１ｚ，Ｖ０ｘ）が出力可能な各油圧シリンダ５，６，７の目標速度を演算する。このとき，ブーム上げとアームクラウドの減速との組合せで先端速度ベクトルＶ０を目標速度ベクトルＶ１に変換するＭＣを行うようにソフトが設計されていると，ブームシリンダ５の伸長方向のシリンダ速度とアームシリンダ６の伸長方向のシリンダ速度が演算される。そして，目標パイロット圧演算部４３ｊは，算出した各シリンダ５，６，７の目標速度を基に各油圧シリンダ５，６，７の流量制御弁１５ａ，１５ｂ，１５ｃへの目標パイロット圧（制御信号）を演算し，各油圧シリンダ５，６，７の流量制御弁１５ａ，１５ｂ，１５ｃへの目標パイロット圧を電磁比例弁制御部４４に出力する。
【００６９】
＜電磁比例弁制御部４４＞
電磁比例弁制御部４４は，目標パイロット圧演算部４３ｊから出力される各流量制御弁１５ａ，１５ｂ，１５ｃへの目標パイロット圧を基に，各電磁比例弁５４〜５６への指令を演算する。なお，オペレータ操作に基づくパイロット圧（第１制御信号）と，アクチュエータ制御部８１で算出された目標パイロット圧が一致する場合には，該当する電磁比例弁５４〜５６への電流値（指令値）はゼロとなり，該当する電磁比例弁５４〜５６の動作は行われない。
【００７０】
＜表示制御部３７４ａ＞
表示制御部３７４ａは，ＭＧ／ＭＣ制御部４３から入力されるフロント作業機１Ａの姿勢情報，バケット１０の爪先の位置情報，目標面７００の位置情報に基づいて，目標面７００と，作業機１Ａ（バケット１０の爪先）との位置関係を表示装置５３ａに表示する処理を実行する。これにより図１５に示すように表示装置５３ａの表示画面に，目標面７００と作業機１Ａ（バケット１０の爪先）の位置関係が表示される。
【００７１】
＜ＭＧ／ＭＣ制御部４３による目標面設定のフローチャート＞
図１３にＭＧ／ＭＣ制御部４３による目標面設定のフローチャートを示す。ＭＧ／ＭＣ制御部４３は所定の制御周期で処理を開始し，現況地形更新部４３ａは，現況地形取得装置９６によって取得された最新の現況地形の位置情報によって現況地形記憶部４３ｂに記憶された現況地形の位置情報を更新する（手順Ｓ１）。
【００７２】
次にバケット位置演算部４３ｄは，作業機姿勢検出装置５０から出力される情報を基にバケット爪先位置（Ｘｂｋ，Ｚｂｋ）を演算する（手順Ｓ２）。
【００７３】
次に掘削予想体積演算部４３ｆは手順Ｓ２で演算されたバケット爪先位置を基準として所定の範囲内にある現況地形データと第１目標面データを取得する（手順Ｓ３）。そして掘削予想体積演算部４３ｆはバケット爪先位置と現況地形データと第１目標面データから掘削予想体積Ｖａを演算する（手順Ｓ４）。
【００７４】
次に目標面生成部４３ｇは掘削予想体積Ｖａが予め設定された制限体積Ｖｂを越えるか否かを判定する（手順Ｓ５）。この手順Ｓ５で掘削予想体積Ｖａが制限体積Ｖｂを越えないと判定された場合（すなわち掘削予想体積Ｖａが制限体積Ｖｂ以下の場合），目標面生成部４３ｇは第２目標面７００Ａを生成せず，第１目標面７００がＭＣの目標面（ＭＣ対象目標面）となる（手順Ｓ６）。
【００７５】
一方，手順Ｓ５で掘削予想体積Ｖａが制限体積Ｖｂを越えると判定された場合は目標面生成部４３ｇ目標面の補正量ｄを演算して（手順Ｓ７）次の手順Ｓ８に進む。
【００７６】
手順Ｓ８では，目標面生成部４３ｇはバケット爪先位置（Ｘｂｋ，Ｚｂｋ）が現況地形８００から所定の範囲内に存在するか否かを判定する。この判定で当該所定の範囲内にバケット爪先が存在すると判定された場合は手順Ｓ９に進み，当該所定の範囲外に存在すると判定された場合は手順Ｓ６に進む。
【００７７】
手順Ｓ９では，目標面生成部４３ｇは操作装置４５ｂを介してアーム引き指令（アームクラウド操作）が入力されたか否かを判定する。この判定でアーム引き指令が入力されていないと判定された場合には手順Ｓ６に進み，アーム引き指令が入力されていると判定された場合には第１目標面７００の上方に補正量ｄ分だけオフセットした面を第２目標面７００Ａとして生成し（手順Ｓ１０），手順Ｓ１１に進む。手順Ｓ１０により第２目標面７００ＡがＭＣの目標面（ＭＣ対象目標面）となる。
【００７８】
手順Ｓ１１では，目標面生成部４３ｇは，アーム引き指令の入力が終了したか否かの判定を行う。ここでアーム引き指令が継続している間は手順Ｓ１０で補正した第２目標面７００ＡのＭＣでの利用を維持する。一方，アーム引き指令が終了した場合は第２目標面７００ＡのＭＣでの利用を終了する。
【００７９】
＜ＭＧ／ＭＣ制御部４３によるＭＣのフローチャート＞
図１４はＭＧ／ＭＣ制御部４３によるＭＣのフローチャートを示す。ＭＧ／ＭＣ制御部４３は操作装置４５ａ，４５ｂ，４６ａのいずれかがオペレータにより操作されると図１３の処理を開始し，バケット位置演算部４３ｄは作業機姿勢検出装置５０からの情報に基づきバケット爪先位置（バケット位置データ）を演算する（手順Ｓ１２）。
【００８０】
手順Ｓ１３では，距離演算部４３ｈが，第１目標面７００と第２目標面７００Ａのうち図１３のフローでＭＣ対象目標面と設定された目標面の位置情報（目標面データ）を目標面生成部４３ｇから取得する。そして，手順Ｓ１４では，距離演算部４３ｈが，手順Ｓ１２で演算したバケット位置データと，手順Ｓ１３で取得した目標面データに基づいて目標面距離Ｄを演算する。
【００８１】
手順Ｓ１５では，補正速度演算部４３ｉが，手順Ｓ１４で演算された目標面距離Ｄに基づいて，バケット先端Ｐ４の速度ベクトルＶ０におけるＭＣ対象目標面に垂直な成分Ｖ０ｚの補正係数ｋ（−１≦ｋ≦１）を演算する。
【００８２】
手順Ｓ１６では，目標速度演算部４３ｅが，オペレータ操作検出装置５２ａからの入力を基に操作装置４５ａ，４５ｂ，４６ａ（操作レバー１ａ，１ｂ）の操作量を算出し，その操作量に基づいてブームシリンダ５と，アームシリンダ６と，バケットシリンダ７の目標動作速度を演算する。
【００８３】
手順Ｓ１７では，補正速度演算部４３ｉが，手順Ｓ１６で演算された各アクチュエータ速度に基づいてバケット先端Ｐ４の速度ベクトルＶ０を演算する。そして，そのバケット速度ベクトルＶ０を目標面の鉛直成分Ｖ０ｚと水平成分Ｖ０ｘに分解し，鉛直成分Ｖ０ｚに補正係数ｋを乗算することにより補正速度Ｖ１ｚとする。補正速度演算部４３ｉは，補正速度Ｖ１ｚと元の速度ベクトルＶ０の水平成分Ｖ０ｘを合成してバケット先端Ｐ４の補正後の速度ベクトルＶ１を演算する。
【００８４】
手順Ｓ１８では，目標パイロット圧演算部４３ｊが，手順Ｓ１７で演算された補正後の速度ベクトルＶ１（Ｖ１ｚ，Ｖ０ｘ）を基に各油圧シリンダ５，６，７の目標速度を演算する。そして，目標パイロット圧演算部４３ｊは，算出した各シリンダ５，６，７の目標速度を基に各油圧シリンダ５，６，７の流量制御弁１５ａ，１５ｂ，１５ｃへの目標パイロット圧を演算し，各油圧シリンダ５，６，７の流量制御弁１５ａ，１５ｂ，１５ｃへの目標パイロット圧を電磁比例弁制御部４４に出力する。これにより目標面７００上またはその上方にバケット爪先が位置するように油圧シリンダ５，６，７の少なくとも１つの動作を制御するＭＣが実行される。
【００８５】
＜動作・効果＞
上記のように構成される油圧ショベル１では，図１３のフローチャートにより，そのときのバケット爪先位置（ｘ１＝Ｘｄ）と予め定めた掘削終了位置（ｘ０（第２位置））と現況地形８００と第１目標面７００とバケット幅ｗによって規定される掘削予想体積Ｖａが所定の制御周期で演算される（手順Ｓ１−Ｓ４）。そして，掘削予想体積Ｖａが制限体積Ｖｂより大きい場合には，そのときのバケット爪先位置（ｘ１）と，予め定めた掘削終了位置（ｘ０）と，現況地形８００と，第１１目標面７００を補正量ｄだけ上方にセットバックした第２目標面７００Ａと，バケット幅ｗとによって規定される体積が制限体積Ｖｂになるように補正量ｄが演算される（手順Ｓ５−Ｓ７）。
【００８６】
ところで，通常，油圧ショベル１で掘削作業を開始する場合には，ブーム５の上げ・下げ操作及びアーム６のダンプ操作により現況地形上で車体１Ｂから離れた位置にバケット爪先を移動させた状態で操作装置４５ｂを介してアーム引き指令（アーム６のクラウド操作）を入力することで掘削作業を開始する。すなわち，アーム引き指令が入力された時には，バケット爪先位置は現況地形上に在りその位置から掘削作業が開始するとみなすことができる。そこで本実施形態では，掘削予想体積Ｖａが制限体積Ｖｂより大きい場合に，手順Ｓ９でアーム引き指令の入力の有無を判定し，アーム引き指令の入力が有った場合にはそのときのバケット爪先位置を掘削開始位置（第１位置）とみなして第２目標面７００Ａを生成することとした（手順Ｓ１０）。
【００８７】
これにより，掘削開始時（アームクラウド操作の開始時）に掘削予想体積Ｖａが制限体積Ｖｂより大きい場合には，掘削開始位置（第1位置）に合わせて，掘削予想体積がＶｂとなる位置に第2目標面７００Ａが生成され，その第２目標面７００ＡがＭＣ対象目標面に設定される（図１３で手順Ｓ１０を通過するルートの処理が行われる）。一方，掘削予想体積Ｖａが制限体積Ｖｂ以下の場合には，第１目標面７００がＭＣ対象目標面に設定される（図１３で手順Ｓ６を通過するルートの処理が行われる）。
【００８８】
このように掘削予想体積Ｖａに応じてＭＣ対象目標面が適宜設定され得る状況下で操作装置４５ｂを介してアームクラウド操作を入力して作業機１Ａで掘削作業を実施すると，図１４のフローに基づきＭＧ／ＭＣ制御部４３は，アームクラウド操作によりバケット１０の爪先が減速領域６００内を移動する間，爪先がＭＣ対象目標面に近づくほど爪先の速度ベクトルの鉛直成分（目標面７００に垂直な成分）が低減するように油圧アクチュエータ５，６，７の少なくとも１つを制御するＭＣを実行する。これによりＭＣ対象目標面上では爪先の速度ベクトルの垂直成分はゼロになるため，オペレータはアームクラウド操作を入力するだけでＭＣ対象目標面に沿った掘削が可能となり，掘削作業時のオペレータの負担が軽減する。そしてこの掘削作業時には，図１３のフローチャートにより，常に掘削量が制限体積Ｖｂ以下になるように掘削開始時のバケット爪先位置（第１位置）に応じて目標面が決定されるため，各掘削動作で掘削開始位置（第１位置）が異なっていても（すなわち掘削距離Ｌが掘削の都度変化しても）実際の掘削量が制限体積Ｖｂを超過することを防止できる。
【００８９】
すなわち，本実施形態によれば，掘削開始時の油圧ショベル１の姿勢に基づいて掘削体積Ｖａが演算され，実際の掘削量が常に制限体積Ｖｂ以下になるようにＭＣ対象目標面が生成されるため，掘削距離Ｌが変化する場合でも適切な位置にＭＣ対象目標面を生成でき，実際の掘削量が制限体積Ｖｂ（例えば、バケット最大容量）を超過することを防止できる。またその際，バケット１０がＭＣ対象目標面の下方に侵入することが防止され，当該ＭＣ対象目標面に沿ってバケット１０が動作するようにフロント作業機１Ａが制御されるため，掘削作業におけるオペレータの操作負担も軽減される。すなわち，例えば第1目標面を作業対象物の最終形状を示す設計面として設定し，制限体積Ｖｂをバケット最大容量に設定すれば，１回掘削動作の掘削量を常にバケット最大容量以下に保持した状態で設計面を傷つけることなく掘削作業を実行できる。
【００９０】
なお，上記の実施形態では，油圧ショベル１に搭載した現況地形取得装置９６で現況地形を取得する例を説明したが，例えば，現況地形取得装置としてレーザスキャナを搭載したドローンから現況地形情報を取得する場合のように，油圧ショベル１とは独立した現況地形取得装置を用意しておき，当該現況地形取得装置が取得した現況地形情報を入力して利用しても良い。
【００９１】
＜他の実施形態（現況地形更新部の変形例）＞
次に本発明の他の実施形態について説明する。本実施形態の油圧ショベルは制御コントローラ（具体的には現況地形更新部の処理内容）が先の実施形態と異なっており，他の部分は同じである。そのため，先の実施形態と同じ部分についての説明は省略し，主に異なる部分についてのみ説明する。
【００９２】
図１６は本実施形態のＭＧ／ＭＣ制御部４３Ａの機能ブロック図である。本実施形態のＭＧ／ＭＣ制御部４３Ａは現況地形更新部４３ａａを備えている点で先の実施形態のＭＧ／ＭＣ制御部４３と異なる。
【００９３】
現況地形更新部４３ａａは，現況地形記憶部４３ｂに記憶された現況地形の位置情報とバケット位置演算部４３ｄで演算されるバケット爪先の位置情報を入力しており，バケット位置演算部４３ｄで演算されたバケット爪先の位置が現況地形記憶部４３ｂに記憶された現況地形の位置よりも下方にある場合，バケット位置演算部４３ｄで演算されたバケット爪先の位置情報によって現況地形記憶部４３ｂに記憶された現況地形の位置情報を更新する。一方，バケット位置演算部４３ｄで演算されたバケット爪先の位置が現況地形記憶部４３ｂに記憶された現況地形の位置よりも上方にある場合には，現況地形記憶部４３ｂに記憶された現況地形の位置情報の更新は行わない。すなわち，本実施形態では，現況地形を掘削した際のバケット爪先の軌跡を掘削後の現況地形としてみなして現況地形データを更新している。
【００９４】
図１７にバケット爪先の位置情報に基づく現況地形更新部４３ａａによる現況地形の更新を表す模式図を示す。ある水平方向座標ｘ’におけるバケット高さ方向の座標ｚ１と現況地形の高さ方向の座標ｚ０を比較して，ｚ１がｚ０よりも下方向にあった場合はｚ１を新たな現況地形データとして更新する。
【００９５】
このようにバケット爪先位置情報を現況地形の更新に利用することにより，掘削毎に現況地形取得装置９６が現況地形データを取得する必要がなくなり，現況地形データの取得に要する時間を短縮することが可能である。また，一旦現況地形データを取得しておけば，以後は現況地形更新部４３ａａの更新機能で逐次現況地形データが更新されるので，現況地形取得装置９６を油圧ショベル１に搭載することを省略することも可能となる。
【００９６】
＜その他＞
なお，上記の説明における第１目標面７００は，最終的な施工形状を規定する設計面であると考えても良い。
【００９７】
また，第１目標面７００がショベル座標に対して傾斜している場合には，次のように補正量ｄを算出して第２目標面７００Ａを生成することができる。図１８に第１目標面７００がショベル座標に対して傾斜している場合の第２目標面７００Ａの生成方法を表す模式図を示す。第１目標面７００が水平方向に対してθだけ傾斜している場合，第１目標面方向の掘削距離Ｌ’は，ショベル座標における水平方向の距離Ｌを用いて下記の式（７）のように求められる。
【００９８】
【数７】
0006676825.tif 000008
【００９９】
この第１目標面方向の掘削距離Ｌ’を式（６）のＬとして用いることで，第１目標面７００が傾斜していない場合と同様に第１目標面７００の補正量ｄを計算することが可能である。
【０１００】
また，第１目標面７００が傾斜の異なる複数の面によって構成されている場合には，次のように補正量ｄを算出して第２目標面７００Ａを生成することができる。図１９に第１目標面７００が傾斜の異なる複数面によって構成されている場合の第２目標面７００Ａの生成方法を表す模式図を示す。この図のように第１目標面７００が複数面から構成されている場合，第１目標面７００の傾斜が切り替わる点の水平方向座標をｘ２とし，第１目標面７００が水平の範囲の掘削予想体積Ｖａ２と第１目標面７００が傾斜している範囲の掘削予想体積Ｖａ１の和に対して，第１目標面７００が水平の範囲の掘削距離Ｌ２と第１目標面７００が傾斜している範囲の掘削距離Ｌ１’の和（Ｌ２＋Ｌ１’）を式（６）のＬとして用いることで，補正量ｄを計算することが可能である。
【０１０１】
また，上記の実施形態では，元々の目標面（第１目標面７００）の位置に基づいて演算される掘削予想体積Ｖａが所望の制限体積Ｖｂを越える場合，当該元々の目標面（第１目標面７００）の上方に新たな目標面（第２目標面７００Ａ）を生成し，当該新たな目標面の位置に基づいて演算される体積が制限体積Ｖｂに近づくようにすることで課題の解決を図ったが，１回の掘削動作で掘削される掘削予想体積が制限体積Ｖｂに一致する位置または制限体積Ｖｂに近づく位置に直接的に目標面を設定するように油圧ショベルを構成しても良い。
【０１０２】
すなわち，バケット１０，アーム９及びブーム８を有する作業機１Ａと，作業機１Ａを駆動する複数の油圧アクチュエータ５，６，７と，油圧アクチュエータ５，６，７の動作を指示する操作装置４５ａ，４５ｂ，４６ａと，現況地形８００の位置情報が記憶された現況地形記憶部４３ｂ，及び，バケット１０の爪先の位置を演算するバケット位置演算部４３ｄを有する制御コントローラ４３とを備える油圧ショベルにおいて，制御コントローラ４３に，掘削開始時にバケット位置演算部４３ｄで演算されたバケット爪先位置である第１位置，予め設定された掘削終了時のバケット爪先位置である第２位置，現況地形８００，目標面，及び，バケットの幅ｗによって規定される掘削体積が予め設定された制限体積Ｖｂに近づく位置に前記目標面を生成する目標面生成部４３ｇをさらに備え，制御コントローラ４３は，操作装置４５ａ，４５ｂ，４６ａの操作時に，作業機１Ａの動作範囲が前記目標面上及びその上方に制限されるように油圧アクチュエータ５，６，７を制御することとしても良い。
【０１０３】
なお，補正係数ｋは図１１に規定したものに限らず，目標面距離Ｄが正の範囲でゼロに近づくほど速度ベクトルの鉛直成分Ｖ０ｚがゼロに近づくように補正する係数であればその他の値でも構わない。
【０１０４】
なお，本発明は，上記の実施の形態に限定されるものではなく，その要旨を逸脱しない範囲内の様々な変形例が含まれる。例えば，本発明は，上記の実施の形態で説明した全ての構成を備えるものに限定されず，その構成の一部を削除したものも含まれる。また，ある実施の形態に係る構成の一部を，他の実施の形態に係る構成に追加又は置換することが可能である。
【符号の説明】
【０１０５】
１Ａ…フロント作業機，５…ブームシリンダ，６…アームシリンダ，７…バケットシリンダ，８…ブーム，９…アーム，１０…バケット，３０…ブーム角度センサ，３１…アーム角度センサ，３２…バケット角度センサ，４０…制御コントローラ（制御装置），４３…ＭＧ・ＭＣ制御部，４３ａ…現況地形更新部，４３ｂ…現況地形記憶部（記憶部），４３ｃ…目標面記憶部，４３ｄ…バケット位置演算部，４３ｅ…目標速度演算部，４３ｆ…掘削予想体積演算部，４３ｇ…目標面生成部，４３ｈ…距離演算部，４３ｉ…補正速度演算部，４３ｊ…目標パイロット圧演算部，４４…電磁比例弁制御部，４５…操作装置（ブーム，アーム），４６…操作装置（バケット，旋回），５０…作業装置姿勢検出装置，５１…目標面設定装置，５３ａ…表示装置，５４，５５，５６…電磁比例弁，９６…現況地形取得装置，３７４ａ…表示制御部，７００…第１目標面，７００Ａ…第２目標面，８００…現況地形
【図１】
0006676825.tif 000009
【図２】
0006676825.tif 000010
【図３】
0006676825.tif 000011
【図４】
0006676825.tif 000012
【図５】
0006676825.tif 000013
【図６】
0006676825.tif 000014
【図７】
0006676825.tif 000015
【図８】
0006676825.tif 000016
【図９】
0006676825.tif 000017
【図１０】
0006676825.tif 000018
【図１１】
0006676825.tif 000019
【図１２】
0006676825.tif 000020
【図１３】
0006676825.tif 000021
【図１４】
0006676825.tif 000022
【図１５】
0006676825.tif 000023
【図１６】
0006676825.tif 000024
【図１７】
0006676825.tif 000025
【図１８】
0006676825.tif 000026
【図１９】
0006676825.tif 000027