(57)【要約】  任意に設定された目標面（６０）の位置情報と作業装置（１５）の姿勢情報と操作レバー（１）の操作情報とに基づいて，作業装置に設定した複数の作業点候補（８ａ，８ｂ）を目標面に沿って移動させる油圧シリンダ（５）の目標速度をそれぞれ演算し，その演算した複数の目標速度のうちいずれか１つの目標速度に従って油圧シリンダ（５）の速度を制御するコントローラ（５００）とを備えた作業機械において，コントローラは，複数の作業点候補のそれぞれを対応する目標速度（ＶＴａ，ＶＴｂ）で移動させた場合に残りの作業点候補に生じる候補点速度（ＶＴａｂ，ＶＴｂａ）を演算し，その複数の候補点速度の中から目標面に最も侵入しづらい速度を選出し，その選出した候補点速度に係る作業点候補の目標速度に従って油圧シリンダを制御する。
2020059094.tif 000002
【特許請求の範囲】
【請求項１】
作業装置と，
油圧ポンプから吐出される作動油によって駆動され前記作業装置を動作させる油圧シリンダと，
オペレータの操作に応じて前記油圧シリンダの動作を指示する操作装置と，
任意に設定された目標面の位置情報と前記作業装置の姿勢情報と前記操作装置の操作情報とに基づいて，前記作業装置に設定した複数の作業点候補を前記目標面に沿って移動させる前記油圧シリンダの目標速度をそれぞれ演算し，その演算した複数の目標速度のうちいずれか１つの目標速度に従って前記油圧シリンダの速度を制御するコントローラとを備えた作業機械において，
前記コントローラは，
前記複数の作業点候補のそれぞれを，前記複数の目標速度のうち対応する目標速度で移動させた場合に残りの作業点候補に生じる速度を演算し，
前記残りの作業点候補に生じる速度を前記複数の作業点候補ごとにグルーピングして複数の速度群をつくり，
前記複数の速度群の中から前記複数の作業点候補の全てが最も前記目標面に侵入しづらい動作をする速度群を選出し，
前記複数の目標速度のうち，前記選出した速度群に係る作業点候補の目標速度に従って前記油圧シリンダを制御することを特徴とする作業機械。
【請求項２】
請求項１の作業機械において，
前記コントローラは，
前記複数の作業点候補のそれぞれを，前記複数の目標速度のうち対応する目標速度で移動させた場合に残りの作業点候補に生じる速度を演算し，
前記残りの作業点候補に生じる速度を前記複数の作業点候補ごとにグルーピングして複数の速度群をつくり，
前記複数の速度群のそれぞれで前記目標面に最も速く侵入し得る速度を選出し，
前記複数の速度群から選出された前記目標面に最も速く侵入し得る速度の中で前記目標面に最も遅く侵入し得る速度を選出し，
前記複数の速度群の中から前記目標面に最も遅く侵入し得る速度が属する速度群を選出し，
前記複数の目標速度のうち，前記選出した速度群に係る作業点候補の目標速度に従って前記油圧シリンダを制御することを特徴とする作業機械。
【請求項３】
請求項２の作業機械において，
前記目標面から遠ざかる速度の方向を正としたとき，
前記目標面に最も速く侵入し得る速度とは，最も小さい速度であり，
前記目標面に最も速く侵入し得る速度とは，最も大きい速度であることを特徴とする作業機械。
【請求項４】
請求項１の作業機械において，
前記複数の作業点候補として，前記作業装置には第１作業点候補と第２作業点候補が設定されており，
前記コントローラは，
前記複数の目標速度のうち前記第２作業点候補の目標速度で前記第２作業点候補を移動させた場合に前記第１作業点候補に生じる速度である第１候補点速度を演算し，
前記複数の目標速度のうち前記第１作業点候補の目標速度で前記第１作業点候補を移動させた場合に前記第２作業点候補に生じる速度である第２候補点速度を演算し，
前記第１候補点速度が前記第２候補点速度よりも前記目標面に侵入しづらい速度のときには前記第２作業点候補の目標速度に従って前記油圧シリンダを制御し，
前記第２候補点速度が前記第１候補点速度よりも前記目標面に侵入しづらい速度のときには前記第１作業点候補の目標速度に従って前記油圧シリンダを制御することを特徴とする作業機械。
【請求項５】
請求項４の作業機械において，
前記作業装置はバケットを有し，
前記第１作業点候補は前記バケットの先端縁上に設定された点であり，
前記第２作業点候補は前記バケットの背面端縁上に設定された点であることを特徴とする作業機械。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は油圧ショベルなどの作業機械に関する。
【背景技術】
【０００２】
油圧ショベルを含む作業機械の分野では，作業機械を用いて施工を行う際，作業機械に取り付けられた作業装置（フロント作業装置）と施工対象の三次元設計データから生成した目標面との距離に基づいて作業装置に対するオペレータ操作を補正することで，作業装置による目標面に即した掘削成形作業を半自動で行う制御システムが知られている。【０００３】
また，掘削成形作業においては，作業装置の先端部に位置するバケットの先端だけではなく，作業装置のその他の部分（例えばバケットの背面の膨らんだ部分）も目標面に侵入しないようにする必要がある。この種の技術に関して特許文献１がある。【０００４】
特許文献１では，まず，バケット先端を第１監視ポイント，バケット背面の最外端の点を第２監視ポイントとし，第１監視ポイントが目標面に侵入しないように作業装置（作業機）を制御した際のブームシリンダ速度（第１調整速度）をＳ１とし，第２監視ポイントが目標面に侵入しないように作業装置を制御した際のブームシリンダ速度（第２調整速度）をＳ２とする。そして，Ｓ１とＳ２のうち大きい方に従って作業装置を制御している。すなわち，Ｓ１＞Ｓ２であれば，第１監視ポイントを対象として目標面への侵入を防ぐように作業装置を制御する。一方，Ｓ２＞Ｓ１であれば，第２監視ポイントを対象として目標面への侵入を防ぐように作業装置を制御する。このように作業装置を制御すれば，バケットを前後方向に移動させて例えば略水平な目標面を成形する水平引き作業において，バケット先端および背面が目標面に侵入することを防止できる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開第２０１２／１２７９１４号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら，特許文献１に記載の制御システムを用いた作業機械では，ブーム上げ動作で必ずバケットが目標面から離れる作業（例えば図１０に示す水平引き作業）ではバケットの目標面への侵入が防止できるものの，例えば図１１に示す作業機械と目標面６０の位置関係のようにブーム下げ動作でバケットが目標面６０から離れる作業ではバケットが目標面６０に侵入するおそれがある。【０００７】
このことについて，図１８によって水平引き作業について再度検討した後，図１１に示すような鉛直な目標面に対して車体の下方で掘削を行う場合について図１２を用いて検討する。本稿では目標面６０への侵入を防止する制御を実行する際にその制御の基準となる点を作業点（具体的にはバケット先端８ａと背面端８ｂ）と称する。なお，検討を簡単にするため，図１８，１２ではバケット先端８ａと背面端８ｂは目標面６０から同じ距離にあるとする（すなわちバケット先端８ａと背面端８ｂを接続するバケット底面は目標面６０と平行とする）。また，図１８の（ａ）に示すように，バケット先端８ａの速度は目標面６０の上方において目標面６０に近づく方向が負，遠ざかる方向が正であると定義する。シリンダ速度は，作業機械における一般的な定義に従い，伸びる方向が正，縮む方向が負であると定義する。【０００８】
図１８では，アームの回動軸心を含み目標面６０に対して垂直な仮想面６１を挟んでバケットの先端８ａと背面端８ｂが前後に位置している。また，図１８，図１２では説明を簡単にするために，アーム及びブームの動作によりバケット先端８ａ又は背面端８ｂに発生する速度（速度ベクトル（Ｖａ１，Ｖｂ１，Ｖｔｇｔ，Ｖｍｏｄａ，Ｖｍｏｄｂ））における目標面６０に垂直な成分のみに着目する。すなわち実際には目標面６０に平行な成分も発生するがそれは省略して説明する。【０００９】
まず，図１８の上側に示した（ａ）において，バケット先端８ａと目標面６０との距離が近づくほどバケット先端８ａの目標面６０に垂直な成分の動作目標速度Ｖｔｇｔをゼロに近づけることで，バケット先端８ａが目標面６０に侵入するのを防ぐように作業装置を制御する場合の動作について述べる。この場合，オペレータがアームクラウド操作を行うと，図１８（ａ）の白抜き矢印が示すようにアームは反時計回りに角速度Ｗａで動作し，バケット先端８ａには正方向に速度Ｖａ１が生じる。バケット先端８ａの動作目標速度（但し垂直成分のみとする）はＶｔｇｔであり，このＶｔｇｔはバケット先端８ａと目標面６０との距離で決まる。バケット先端８ａをＶｔｇｔで動作させるためには，ブーム動作によって負方向の補正速度Ｖｍｏｄａ（＝Ｖｔｇｔ−Ｖａ１）をバケット先端８ａに生じさせる必要がある。バケット先端にＶｍｏｄａを生じるブームシリンダ速度をＣｂｍ１とすると，シリンダ速度Ｃｂｍ１の向きは縮む方向（すなわち負）である。【００１０】
次に，図１８の下側に示した（ｂ）において，バケット背面端８ｂが目標面６０に侵入するのを防ぐように作業装置を制御する場合の動作について述べる。アームの動作はバケット先端８ａの場合と同じであり，反時計回りに角速度Ｗａで動作する。このとき，バケット背面端８ｂには負方向に速度Ｖｂ１が生じる。バケット背面端８ｂの動作目標速度は，バケット先端８ａと背面端８ｂの目標面６０からの距離が同じことから，同じくＶｔｇｔである。バケット背面端８ｂをＶｔｇｔで動作させるためには，ブームによって正方向の補正速度Ｖｍｏｄｂ（＝Ｖｔｇｔ−Ｖｂ１）を生じさせる必要がある。バケット背面端８ｂにＶｍｏｄｂを生じるブームシリンダ速度をＣｂｍ２とすると，シリンダ速度Ｃｂｍ２の向きはシリンダが伸びる方向（すなわち正）である。【００１１】
シリンダ速度は伸びる方向を正，縮む方向を負と定義しているので，Ｃｂｍ２＞Ｃｂｍ１である。このとき，２つのシリンダ速度を比較して大きい方に基づいて制御する特許文献１に記載の制御システムによれば，Ｃｂｍ２の場合，すなわち（ｂ）のバケット背面端８ｂを対象に，目標面６０への侵入を防ぐように作業装置が制御される。Ｖａ１は正で，Ｖｂ１は負なので，目標面６０に侵入する可能性があるのは，バケット背面端８ｂである。すなわち，特許文献１に記載の制御システムにより，バケット先端および背面端が目標面に侵入することを防ぎつつ，半自動掘削成形を行うことが出来る。【００１２】
なお，この時，ブームシリンダが縮む方向を正として伸びる方向を負とした場合（すなわちシリンダ速度の正負を逆にした場合）は，上記のシリンダ速度の大小を比較する部分でバケット先端８ａを制御対象として選択してしまい，適切に半自動掘削成形を行うことが出来ない（すなわちバケット背面端８ｂが目標面６０に侵入してしまう）。正負を定義しない場合は，Ｃｂｍ１とＣｂｍ２の正負が相異なり，大きさが同じ場合に判定が不可能となる。【００１３】
続いて，鉛直な目標面に対して車体の下方で掘削を行う場合（図１１の場合）に，バケット先端８ａが目標面６０に侵入するのを防ぐように作業装置を制御するときの動作について，図１２の上側に示した（ａ）を用いて説明する。図１２に示すような目標面６０に対して車体の下方で掘削を行う場合，掘削に必要なオペレータのアーム操作はダンプ操作となる。このとき，アームは時計回りに角速度Ｗａで動作し，オペレータ操作によりバケット先端８ａには負方向に速度Ｖａ１が生じる。バケット先端の動作目標速度Ｖｔｇｔとする。Ｖｔｇｔはバケット先端８ａと目標面６０との距離で決まる。バケット先端をＶｔｇｔで動作させるためには，ブームによって正方向の補正速度Ｖｍｏｄａ（＝Ｖｔｇｔ−Ｖａ１）を生じさせる必要がある。バケット先端にＶｍｏｄａを生じるブームシリンダ速度をＣｂｍ１とすると，シリンダ速度Ｃｂｍ１の向きは縮む方向（すなわち負）である。【００１４】
次に，バケット背面端８ｂが目標面６０に侵入するのを防ぐように作業装置を制御する場合の動作について，図１２の下側に示した（ｂ）を用いて説明する。アームの動作はバケット先端８ａの場合と同じであり，時計回りに角速度Ｗａで動作する。このとき，オペレータ操作によりバケット背面端８ｂには負方向に速度Ｖｂ１が生じる。バケット背面端８ｂの動作目標速度は，バケット先端８ａと背面端８ｂの目標面６０からの距離が同じことから，同じくＶｔｇｔである。バケット背面端８ｂをＶｔｇｔで動作させるためには，ブームによって正方向の補正速度Ｖｍｏｄｂ（＝Ｖｔｇｔ−Ｖｂ１）を生じさせる必要がある。バケット背面端８ｂにＶｍｏｄｂを生じるブームシリンダ速度がＣｂｍ２とすると，シリンダ速度Ｃｂｍ２の向きはＣｂｍ１と同様に縮む方向（すなわち負）である。【００１５】
アーム動作に伴うバケット先端８ａおよび背面端８ｂの速度Ｖａ１，Ｖｂ１を，符号に注意して大小比較すると，Ｖａ１＜Ｖｂ１である。よって，補正速度Ｖｍｏｄａ，Ｖｍｏｄｂの大小関係は，Ｖｍｏｄａ＞Ｖｍｏｄｂとなる。図１２に示すような目標面６０の場合，ブームシリンダ速度Ｃｂｍ１，Ｃｂｍ２は補正速度Ｖｍｏｄａ，Ｖｍｏｄｂに比例するが，ブームシリンダが縮むほどバケット先端８ａおよび背面端８ｂは目標面６０から遠ざかるので，ブームシリンダ速度Ｃｂｍ１，Ｃｂｍ２と補正速度Ｖｍｏｄａ，Ｖｍｏｄｂの符号は逆となる。よって，バケット先端８ａおよび背面端８ｂに係るブームシリンダ速度Ｃｂｍ１，Ｃｂｍ２を符号に注意して大小比較すると，Ｃｂｍ１＜Ｃｂｍ２となる。【００１６】
このとき，Ｖａ１＜Ｖｂ１であることから，バケット背面端８ｂよりもバケット先端８ａの方が目標面６０に侵入しやすいので，半自動掘削成形を行うにあたってバケット先端８ａを対象に作業装置を制御するのが望ましい。しかし，特許文献１に記載の制御システムでは，図１２のようにＣｂｍ１＜Ｃｂｍ２となる場面では，バケット背面端８ｂを対象に目標面６０への侵入を防ぐように作業装置を制御してしまう。そのため，バケット先端８ａが目標面６０に侵入してしまうことになる。【００１７】
本発明は上記の課題に鑑みてなされたものであり，その目的は，半自動掘削成形を行うことができる作業機械において，ブーム上げによって作業点が離れる位置にある目標面（例えば水平面）だけでなく，ブーム下げによって作業点が離れる位置にある目標面についても，作業装置上の複数の点が目標面に侵入することを防止できる作業機械を提供することにある。
【課題を解決するための手段】
【００１８】
本発明は，上記目的を達成するために，作業装置と，油圧ポンプから吐出される作動油によって駆動され前記作業装置を動作させる油圧シリンダと，オペレータの操作に応じて前記油圧シリンダの動作を指示する操作装置と，任意に設定された目標面の位置情報と前記作業装置の姿勢情報と前記操作装置の操作情報とに基づいて，前記作業装置に設定した複数の作業点候補を前記目標面に沿って移動させる前記油圧シリンダの目標速度をそれぞれ演算し，その演算した複数の目標速度のうちいずれか１つの目標速度に従って前記油圧シリンダの速度を制御するコントローラとを備えた作業機械において，前記コントローラは，前記複数の作業点候補のそれぞれを，前記複数の目標速度のうち対応する目標速度で移動させた場合に残りの作業点候補に生じる速度を演算し，前記残りの作業点候補に生じる速度を前記複数の作業点候補ごとにグルーピングして複数の速度群をつくり，前記複数の速度群の中から前記複数の作業点候補の全てが最も目標面に侵入しづらい動作をする速度群を選出し，前記複数の目標速度のうち，前記選出した速度群に係る作業点候補の目標速度に従って前記油圧シリンダを制御する。
【発明の効果】
【００１９】
本発明によれば，ブーム下げによって作業点が離れる位置にある目標面についても，作業装置上の複数の点が目標面に侵入することを防止できる。
【図面の簡単な説明】
【００２０】
【図１】本発明の第１から第２実施形態における作業機械を示す斜視図である。
【図２】図１に示す作業機械に搭載された制御システムを示す構成図である。
【図３】図２に示す情報処理装置の詳細構成を示すブロック図である。
【図４】本発明の第１実施形態における作業点候補の設定を示した図である。
【図５】図３に示す候補点速度演算部の詳細構成を示すブロック図である。
【図６】図３に示す作業点選択部の詳細構成を示すブロック図である。
【図７】本発明の第１実施形態における候補点速度比較部の入力値の関係とそれに伴う出力を示した真理値表である。
【図８】本発明の第１実施形態における鉛直面掘削時の速度ベクトルを示した図である。
【図９】本発明の第１実施形態における制御の流れを示したフローチャートである。
【図１０】作業機械の水平面掘削時の動作の例を示す図である。
【図１１】作業機械の鉛直面掘削時の動作の例を示す図である。
【図１２】作業機械の鉛直面掘削時の速度ベクトルを示した図である。
【図１３】本発明の第２実施形態における作業点候補の設定を示した図である。
【図１４】本発明の第２実施形態における候補点速度比較部の入力値の関係とそれに伴う出力を示した真理値表である。
【図１５】本発明の第２実施形態における制御の流れを示したフロー図である。
【図１６】本発明の第２実施形態における候補点速度演算部の詳細構成を示すブロック図である。
【図１７】本発明の第２実施形態における作業点選択部の詳細構成を示すブロック図である。
【図１８】作業機械の水平面掘削時の速度ベクトルを示した図である。
【図１９】目標面と作業点候補の偏差距離Ｄと，作業点候補の速度ベクトルの目標面に垂直な成分の目標値Ｖｔｇｔとの関係を規定した図である。
【図２０】アーム操作によるバケット先端の軌跡をブーム動作で補正する場合の説明図。
【発明を実施するための形態】
【００２１】
以下，本発明の実施の形態について図面を用いて説明する。  
＜第１実施形態＞
図１は本発明の第１実施形態に係る油圧ショベルを示す斜視図である。図１に示すように，本実施形態に係る油圧ショベルは，車体本体である下部走行体９および上部旋回体１０と，上部旋回体１０の前方に取り付けられた多関節型の作業装置（フロント作業装置）１５とを備えている。
【００２２】
下部走行体９は，左右にクローラ式走行装置を有し，左右の走行油圧モータ３ｂ，３ａ（左側３ｂのみ図示）により駆動される。
【００２３】
上部旋回体１０は，下部走行体９上に左右に旋回可能に搭載され，旋回油圧モータ４により旋回駆動される。上部旋回体１０には，原動機としてのエンジン１４と，エンジン１４により駆動される油圧ポンプ２と，コントロールバルブ２０と，油圧ショベルの各種制御を司るコントローラ５００（図２参照）が搭載されている。
【００２４】
作業装置１５は，上部旋回体１０の前部に揺動可能に取り付けられている。作業装置１５は，揺動自在な複数のフロント部材であるブーム１１，アーム１２，バケット８を有する多関節構造を有する。ブーム１１はブームシリンダ５の伸縮により上部旋回体１０に対して揺動し，アーム１２はアームシリンダ６の伸縮によりブーム１１に対して揺動し，バケット８はバケットシリンダ７の伸縮によりアーム１２に対して揺動する。
【００２５】
図４は本実施形態におけるバケット８の斜視図である。本実施形態では作業装置１５に設定される作業点候補としてバケット先端８ａおよびバケット背面端８ｂを採用する。バケット先端８ａはバケット先端縁を，バケット８，アーム１２，ブーム１１の回動軸に垂直な平面に投影した点であればよく，バケット背面端８ｂはバケット背面縁を，バケット回動軸に垂直な平面に投影した点であれば良い。本実施形態では，バケット縁を，バケット回動軸に垂直で，バケット幅の中央を通る平面に投影した点とする。
【００２６】
上記の作業点候補（作業点）８ａ，８ｂを含め，作業装置１５の任意の点の位置を算出するために，油圧ショベルは，上部旋回体１０とブーム１１との連結部近傍に設けられ，ブーム１１の水平面に対する角度（ブーム角度）を検出する第１姿勢センサ１３ａと，ブーム１１とアーム１２との連結部近傍に設けられ，アーム１２の水平面に対する角度（アーム角度）を検出する第２姿勢センサ１３ｂと，アーム１２とバケット８とを連結するバケットリンク８ａに設けられ，バケットリンク８ａの水平面に対する角度（バケット角度）を検出する第３姿勢センサ１３ｃと，水平面に対する上部旋回体１０の傾斜角度（ロール角，ピッチ角）を検出する車体姿勢センサ１３ｄとを備えている。なお，姿勢センサ１３ａ−１３ｄとしては例えばＩＭＵ（Inertial Measurement Unit：慣性計測装置）が使用可能である。また，第１姿勢センサ１３ａから第３姿勢センサ１３ｃは相対角度を検出するセンサであってもよい。
【００２７】
これらの姿勢センサ１３ａ〜１３ｄが検出した角度は姿勢信号として，コントローラ５００の情報処理部１００に入力されている。
【００２８】
また，上部旋回体１０には運転室が備えられ，運転室内には，オペレータに操作されてコントローラ５００に対して操作信号（電気信号）を出力する，走行用右操作レバー装置１ａ，走行用左操作レバー装置１ｂ，右操作レバー装置１ｃ及び左操作レバー装置１ｄ等の操作装置が配置されている。走行用右操作レバー装置１ａは右走行油圧モータ３ａの動作指示を，走行用左操作レバー装置１ｂは左走行油圧モータ３ｂの動作指示を，右操作レバー装置１ｃはブームシリンダ５（ブーム１１）とバケットシリンダ７（バケット８）の動作指示を，左操作レバー装置１ｄはアームシリンダ６（アーム１２）と旋回油圧モータ４（上部旋回体１０）の動作指示をするためのものである。本実施形態の操作装置１ａ−１ｄは電気レバーであり操作量に応じた電気信号（操作信号）を生成してコントローラ５００に出力している。なお，操作装置１ａ−１ｄを油圧パイロット式とし，圧力センサで操作量を検出してコントローラ５００に入力しても良い。
【００２９】
コントロールバルブ２０は，上述した旋回油圧モータ４，ブームシリンダ５，アームシリンダ６，バケットシリンダ７，及び左右の走行油圧モータ３ｂ，３ａ等の油圧アクチュエータのそれぞれに油圧ポンプ２から供給される圧油の流れ（流量と方向）を制御する複数のスプールを含む弁装置である。コントロールバルブ２０は，コントローラ５００から出力される駆動信号（制御弁駆動信号）によって駆動され，油圧アクチュエータ３−７のそれぞれに供給される圧油の流れ（流量と方向）を制御している。コントローラ５００から出力される駆動信号は，操作レバー装置１ａ−１ｄから出力された操作信号（操作情報）を基に生成される。
【００３０】
―コントローラ５００―
コントローラ５００は，目標面設定装置１８から目標面情報を受信して車体座標系上に設定した目標面６０の位置情報と，車体座標系における作業装置１５の姿勢情報と，操作レバー装置１の操作情報とに基づいて，作業装置１５に設定した複数の作業点候補８ａ，８ｂを目標面６０に沿って移動させる油圧シリンダ（ブームシリンダ）５の目標速度をそれぞれ演算し，その演算した複数の目標速度のうちいずれか１つの目標速度に従って油圧シリンダ（ブームシリンダ）５の速度を制御する処理を実行している。なお，本実施形態では，アームシリンダ６とバケットシリンダ７の速度は操作レバー装置１からコントロールバルブ２０に対して出力される駆動信号に基づいて制御されている。
【００３１】
図２は図１の油圧ショベルに搭載されたコントローラ５００の構成図である。コントローラ５００は，例えば図示しないＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と，ＣＰＵによる処理を実行するための各種プログラムを格納するＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やＨＤＤ（Ｈａｒｄ  Ｄｉｓｃ  Ｄｒｉｖｅ）などの記憶装置と，ＣＰＵがプログラムを実行する際の作業領域となるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）とを含むハードウェアを用いて構成されている。このように記憶装置に格納されたプログラムを実行することで，コントローラ５００は，図２に示すように，作業装置１５の先端を目標面６０に沿って移動させる際の補正速度信号を生成する処理を行う情報処理部１００と，情報処理部１００で生成された補正速度信号に応じてコントロールバルブ２０の駆動信号を生成する処理を行う制御弁駆動部２００として機能する。次に情報処理部１００の詳細について説明する。
【００３２】
―情報処理部１００―
情報処理部１００は，右操作レバー１ｃ，左操作レバー１ｄから操作信号を受信し，第１姿勢センサ１３ａ，第２姿勢センサ１３ｂ，第３姿勢センサ１３ｃ，及び車体姿勢センサ１３ｄからそれぞれブーム１１の姿勢情報（第１姿勢情報），アーム１２の姿勢情報（第２姿勢情報），バケット８の姿勢情報（第３姿勢情報），及び車体姿勢情報を受信し，目標面設定装置１８から車体座標系における目標面６０の位置情報を受信し，アクチュエータ速度信号を演算して制御弁駆動部２００に送信する。制御弁駆動部２００は，情報処理部１００で演算されたアクチュエータ速度信号に応じて制御弁駆動信号を生成・出力し，コントロールバルブ２０を駆動する。
【００３３】
情報処理部１００の詳細について，図３を用いて説明する。図３に示すように，情報処理部１００は，偏差演算部１１０と，目標速度演算部１２０と，アクチュエータ速度演算部１３０と，候補点速度演算部１４０と，作業点選択部１５０とを備えている。情報処理部１００は，アクチュエータ速度演算部１３０の出力をアクチュエータ速度として，制御弁駆動部２００に出力する。以下，各部について説明する。
【００３４】
偏差演算部１１０は，作業装置１５の姿勢情報と目標面６０の位置情報に基づいて２つの作業点候補８ａ，８ｂのそれぞれについて目標面６０との距離偏差（すなわち作業点候補８ａ，８ｂから目標面６０までの最短距離（目標面距離とも称する））を演算する部分である。まず，偏差演算部１１０は，姿勢センサ１３ａ〜１３ｄからの姿勢情報（各フロント部材１１，１２，８の寸法情報を含む）からバケット先端８ａ位置およびバケット背面端８ｂ位置を演算する。次に，偏差演算部１１０は，演算したバケット先端８ａおよびバケット背面端８ｂの位置情報と，目標面設定装置１８から入力される目標面の位置情報（目標面情報）とから，バケット先端８ａと目標面との距離Ｄａと，バケット背面端８ｂと目標面との距離Ｄｂを演算し，これらをバケット先端８ａおよび背面端８ｂの距離偏差情報（距離偏差Ｄａ，Ｄｂ）として目標速度演算部１２０に出力する。なお，目標面６０の抽出処理に関して，バケット先端８ａ（バケット背面端８ｂ）を通り作業装置１５の動作平面（例えばブーム１１の回動軸に直交する平面）と平行な面と３次元の設計データの交線を目標面６０とすることができる（第２実施形態も同様である）。
【００３５】
目標速度演算部１２０は，偏差演算部１１０から入力されるバケット先端８ａおよび背面端８ｂの距離偏差情報に応じて，バケット先端８ａおよび背面端８ｂを目標面６０に沿って移動させるのに必要なバケット先端８ａおよび背面端８ｂの速度をそれぞれ演算し，それをバケット先端８ａおよび背面端８ｂの目標速度ＶＴａ，ＶＴｂとして出力する。
【００３６】
ここで目標速度演算部１２０における目標速度の演算の一例を図１９及び図２０を用いて説明する。本実施形態では説明を簡単にするために，作業装置１５の掘削作業に際してオペレータは操作レバー１ｄでアーム１２（アームシリンダ６）を操作するのみとし（すなわち，オペレータはブーム１１とバケット８の操作は行わないものとし），そのアーム操作により作業点（バケット先端８ａ又はバケット背面端８ｂ）に生じる速度ベクトル（Ｖａ１，Ｖｂ１）をブーム１１の動作のみで補正することで作業点を目標面６０に沿って移動させる場合を例に挙げて説明する。ここでは，オペレータのアーム動作を補正するブーム動作がバケット先端８ａ又はバケット背面端８ｂに発生させる速度ベクトルをＶｍｏｄａ又はＶｍｏｄｂ（図２０参照）とし，それによる補正後のバケット先端８ａ又はバケット背面端８ｂの速度ベクトルが目標速度ＶＴａ又はＶＴｂとなる。
【００３７】
まず，目標速度演算部１２０は，偏差演算部１１０で演算した距離偏差Ｄと図１９のテーブルを基にバケット先端８ａと背面端８ｂの速度ベクトルの目標面６０に垂直な成分（以下，「垂直成分」と略する）の目標値（目標速度垂直成分）Ｖｔｇｔを算出する（通常，Ｖｔｇｔはバケット先端８ａとバケット背面端８ｂで異なる値をとる）。オペレータが入力したアーム操作により作業点候補８ａ，８ｂに発生する速度ベクトルＶａ１，Ｖｂ１の垂直成分が目標値Ｖｔｇｔと異なる場合に，コントローラ５００は，作業点候補８ａ，８ｂに発生する速度ベクトル（すなわち目標速度ＶＴａ，ＶＴｂ）の垂直成分がＶｔｇｔになるように，半自動掘削成形制御（マシンコントロールや領域制限制御とも称する）によるブーム動作により速度ベクトル（Ｖｍｏｄａ，Ｖｍｏｄｂ）を発生させて速度ベクトルＶａ１，Ｖｂ１を補正する。目標速度演算部１２０はこの補正後の速度ベクトルを目標速度ＶＴａ，ＶＴｂとして出力する。図１９に示すように，目標速度垂直成分Ｖｔｇｔは，距離偏差Ｄが０のとき０であり，距離偏差Ｄの増加に応じて単調に減少するように設定されており，距離偏差Ｄが所定の値ｄ１を越える範囲では目標値Ｖｔｇｔは設定しない（すなわち任意の垂直成分の速度ベクトルを出力できる）。目標速度垂直成分Ｖｔｇｔの決め方は図１９のテーブルに限らず，少なくとも距離偏差Ｄが０から所定の正の値（例えばｄ１）に至るまでの範囲で，目標速度垂直成分Ｖｔｇｔが単調減少するものであれば代替可能である。
【００３８】
―候補点速度演算部１４０―
候補点速度演算部１４０は，複数の作業点候補８ａ，８ｂのそれぞれを，目標速度演算部１２０で演算した複数の目標速度のうち対応する目標速度で移動させた場合に残りの作業点候補に生じる速度（以下では「候補点速度」と称することがある）を演算する部分である。例えば，作業点候補８ａをその目標速度ＶＴａで移動させた場合に残りの作業点候補８ｂに生じる速度が候補点速度として候補点速度演算部１４０によって演算される。ここでは，作業点候補８ａを目標速度ＶＴａで移動させた場合に作業点候補８ｂに生じる速度を候補点速度ＶＴａｂと称し，作業点候補８ｂを目標速度ＶＴｂで移動させた場合に作業点候補８ａに生じる速度を候補点速度ＶＴｂａと称する。
【００３９】
候補点速度演算部１４０について，図５を用いて詳述する。候補点速度演算部１４０は，幾何学逆変換部１４１ａ，１４１ｂと，幾何学変換部１４２ａ，１４２ｂとを備える。
【００４０】
幾何学逆変換部１４１ａは，バケット先端８ａの姿勢情報ＰＩａと，バケット先端８ａの目標速度ＶＴａとから，バケット先端８ａが目標速度ＶＴａで動作する際のブーム１１およびアーム１２の回動速度（角速度）の組合せΩａを演算して幾何学変換部１４２ａに出力する。回動速度の組合せΩａの演算に関し，バケット先端８ａが目標速度ＶＴａで動作する際，ブーム動作がバケット先端８ａに発生させる速度ベクトルは先述のＶｍｏｄａ（図２０参照）であるため，ブーム１１の回動速度ωｍｏｄ１は速度Ｖｍｏｄａと姿勢情報ＰＩａから演算可能である。一方，オペレータのアーム操作がバケット先端８ａに発生させる速度ベクトルはＶａ１なので，アーム１２の回動速度ωａ１は速度Ｖａ１と姿勢情報ＰＩａから演算可能である。
【００４１】
幾何学逆変換部１４１ｂは，バケット背面端８ｂの姿勢情報ＰＩｂと，バケット背面端８ｂの目標速度ＶＴｂとから，バケット背面端８ｂが目標速度ＶＴｂで動作した際のブーム１１およびアーム１２の回動速度の組合せΩｂを演算して幾何学変換部１４２ｂに出力する。回動速度の組合せΩｂの演算は幾何学逆変換部１４１ａで行われる内容と同様に行うことができる。
【００４２】
幾何学変換部１４２ａは，回動速度の組合せΩａと，バケット背面端８ｂの姿勢情報ＰＩｂとから，バケット先端８ａ（第１作業点候補）が目標速度ＶＴａで動作した際（すなわち，ブーム１１を回動速度ωｍｏｄ１で，アーム１２を回動速度ωａ１で動作させた際）にバケット背面端８ｂ（第２作業点候補）に生じる速度である候補点速度ＶＴａｂ（第２候補点速度）を演算する。
【００４３】
幾何学変換部１４２ｂは，回動速度の組合せΩｂと，バケット先端８ａの姿勢情報ＰＩａとから，バケット背面端８ｂ（第２作業点候補）が目標速度ＶＴｂで動作した際のバケット先端８ａ（第１作業点候補）の速度である候補点速度ＶＴｂａ（第１候補点速度）を演算する。
【００４４】
なお，幾何学逆変換部１４１ａ，１４１ｂにおいて，ブーム１１およびアーム１２の回動速度の組合せΩａ，Ωｂを演算する代わりに，ブームシリンダ５とアームシリンダ６の動作速度の組合せを演算し，それらを幾何学変換部１４２ａ，１４２ｂへの出力として用いるように幾何学逆変換部１４１ａ，１４１ｂを構成しても良い。
【００４５】
図８に，目標速度ＶＴａと候補点速度ＶＴａｂ，および目標速度ＶＴｂと候補点速度ＶＴｂａの関係を示す（ただし，各速度は目標面６０に対する垂直成分のみを抽出して図示している）。この場合は，バケット先端８ａとバケット背面端８ｂが目標面から等距離にあるとしているので目標速度ＶＴａと目標速度ＶＴｂは同じ値になる。バケット先端８ａが目標速度ＶＴａで動作する場合，バケット背面端８ｂは候補点速度ＶＴａｂで動作する。バケット背面端８ｂの回動半径がバケット先端８ａの回動半径より小さいことから，候補点速度ＶＴａｂの絶対値は目標速度ＶＴａより小さくなる。バケット背面端８ｂが目標速度ＶＴｂで動作する場合，バケット先端８ａは候補点速度ＶＴｂａで動作する。バケット先端８ａの回動半径がバケット背面端８ｂの回動半径より大きいことから，候補点速度ＶＴｂａの絶対値は目標速度ＶＴｂより大きくなる。符号に注意して，目標速度と候補点速度の大小を比較すると，候補点速度ＶＴａｂ＞目標速度ＶＴａ＝目標速度ＶＴｂ＞候補点速度ＶＴｂａとなる。目標速度は，目標速度をとった作業点が目標面に侵入しないように導出されているので，候補点速度ＶＴａｂをとっているバケット背面端８ｂは目標面に侵入せず，候補点速度ＶＴｂａをとっているバケット先端８ａは目標面に侵入する可能性があることが分かる。
【００４６】
―作業点選択部１５０―
作業点選択部１５０は，２つの候補点速度ＶＴａｂ，ＶＴｂａの中から２つ作業点候補８ａ，８ｂの全てが最も目標面６０に侵入しづらい動作をする候補点速度を選出し，その選出した候補点速度に係る作業点候補を半自動掘削成形制御の作業点（制御点）として選択する処理を行う部分である。本実施形態の作業点選択部１５０は，２つの候補点速度ＶＴａｂ，ＶＴｂａの中から大きい方を選出し，その選出された候補点速度に係る作業点候補を作業点に決定している。
【００４７】
作業点選択部１５０について，図６を用いて説明する。作業点選択部１５０は，候補点速度比較部１５１と，姿勢情報切替部１５２と，目標速度切替部１５３とを備える。候補点速度比較部１５１は，候補点速度演算部１４０から入力された候補点速度ＶＴａｂと候補点速度ＶＴｂａを比較し，候補点速度ＶＴａｂ＞候補点速度ＶＴｂａであれば（すなわち，候補点速度ＶＴａｂ（第２候補点速度）が候補点速度ＶＴｂａ（第１候補点速度）よりも目標面に侵入しづらい速度のとき），バケット先端８ａを作業点として選択する。一方，候補点速度ＶＴａｂ＜候補点速度ＶＴｂａであれば（すなわち，候補点速度ＶＴｂａ（第１候補点速度）が候補点速度ＶＴａｂ（第２候補点速度）よりも目標面に侵入しづらい速度のとき），バケット背面端８ｂを作業点として選択する。そして，作業点選択部１５０は２つの作業点候補８ａ，８ｂのうちどちらを選択したかを点選択情報として出力する。作業点としてバケット先端８ａが選択された場合には図６中に示した２つの２位置スイッチ（姿勢情報切替部１５２，目標速度切替部１５３）を位置ａに切り換える点選択情報ａを出力し，作業点としてバケット背面端８ｂが選択された場合には同２位置スイッチを位置ｂに切り換える点選択情報ｂを出力する。これらの関係を真理値表にまとめたものが図７である。
【００４８】
姿勢情報切替部１５２は，点選択情報が示す作業点がバケット先端８ａであればバケット先端８ａに係る姿勢情報ＰＩａを姿勢情報として出力し，作業点がバケット背面端８ｂであればバケット背面端８ｂに係る姿勢情報ＰＩｂを姿勢情報として出力する。
【００４９】
目標速度切替部１５３は，点選択情報が示す作業点がバケット先端８ａであればバケット先端８ａに係る目標速度ＶＴａを目標速度として出力し，作業点がバケット背面端８ｂであればバケット背面端８ｂに係る目標速度ＶＴｂを目標速度として出力する。
【００５０】
アクチュエータ速度演算部１３０は，作業点選択部１５０から出力された姿勢情報と目標速度を用いて，作業点を目標速度で動作させるのに必要なブームシリンダ５，アームシリン６，バケットシリンダ７の目標速度を幾何学的に演算して，制御弁駆動部２００に出力する。
【００５１】
制御弁駆動部２００は，情報処理部１００から入力される油圧シリンダ５，６，７の目標速度を達成するために，各油圧シリンダ５，６，７に対応するコントロールバルブ２０への駆動信号（制御弁駆動信号）を生成して，それをコントロールバルブ２０に出力する。この駆動信号に従って油圧シリンダ５，６，７を制御することで，作業点選択部１５０で選択された作業点（バケット先端８ａとバケット背面端８ｂのいずれか）を目標速度（ＶＴａまたはＶＴｂ）で動作させることができ，２つの作業点候補８ａ，８ｂ双方の目標面６０への侵入を防止できる。
【００５２】
―コントローラ５００の処理フロー―
図９は，上述のコントローラ５００による演算の流れを示したフローチャートである。コントローラ５００は所定の制御周期で処理を開始し（手順Ｓ１），入力される操作信号に基づいて操作レバー１ｃ，１ｄが操作されているか否かを判定する（手順Ｓ２）。ここで操作レバー１ｃ，１ｄが操作されている場合には手順Ｓ３に進み，そうでない場合には操作レバー１ｃ，１ｄが操作されるまで待機する。
【００５３】
手順Ｓ３では偏差演算部１１０が，姿勢センサ１３ａ，１３ｂ，１３ｃ，１３ｄから得られる姿勢情報ＰＩａ，ＰＩｂと，目標面設定装置１８から得られる目標面情報とから，バケット先端８ａ及びバケット背面端８ｂと目標面６０との偏差情報Ｄａ，Ｄｂを演算する。
【００５４】
手順Ｓ４では，目標速度演算部１２０が，前記偏差情報Ｄａ，Ｄｂと，前記姿勢情報ＰＩａ，ＰＩｂと，操作レバー１ｃ，１ｄとから得られる操作量情報とから，目標速度ＶＴａ，ＶＴｂを演算する。
【００５５】
手順Ｓ５では，候補点速度演算部１４０が，前記目標速度ＶＴａ，ＶＴｂと，前記姿勢情報ＰＩａ，ＰＩｂとから，或る作業点候補８ａ，８ｂを目標速度ＶＴａ，ＶＴｂで動作させた際に他の作業点候補の速度である候補点速度ＶＴｂａ，ＶＴａｂを演算する。
【００５６】
手順Ｓ６では，作業点選択部１５０が，手順Ｓ５で演算した２つの候補点速度ＶＴａｂ，ＶＴｂａの大小を比較し，値の大きい候補点速度に対応した作業点候補を作業点として選択する。作業点としてバケット先端８ａが選択された場合には手順Ｓ７ａに進み，作業点としてバケット背面端８ｂが選択された場合には手順Ｓ７ｂに進む。
【００５７】
手順Ｓ７ａでは，作業点選択部１５０が，作業点８ａに関する姿勢情報ＰＩａをアクチュエータ速度演算部１３０に出力し，続く手順Ｓ８ａでは作業点８ａに関する目標速度ＶＴａをアクチュエータ速度演算部１３０に出力し，手順Ｓ９に進む。
【００５８】
手順Ｓ７ｂでは，作業点選択部１５０が，作業点８ｂに関する姿勢情報ＰＩｂをアクチュエータ速度演算部１３０に出力し，続く手順Ｓ８ｂでは作業点８ｂに関する目標速度ＶＴｂをアクチュエータ速度演算部１３０に出力し，手順Ｓ９に進む。
【００５９】
手順Ｓ９では，アクチュエータ速度演算部１３０が，作業点選択部１５０が出力した姿勢情報ＰＩａ，ＰＩｂと目標速度ＶＴａ，ＶＴｂを入力として，ブームシリンダ速度，アームシリンダ速度，バケットシリンダ速度の指令値を演算して制御弁駆動部２００に出力し，手順Ｓ１０に進む。
【００６０】
手順Ｓ１０では，制御弁駆動部２００が，手順Ｓ９で演算されたブームシリンダ速度，アームシリンダ速度，バケットシリンダ速度に応じた制御弁駆動信号を生成して各油圧シリンダ５，６，７を制御するコントロールバルブ２０に出力する。この駆動信号によりコントロールバルブ２０が駆動されて各油圧シリンダ５，６，７が動作し，その動作に即して作業装置１５が動作する。これにより２つの作業点候補８ａ，８ｂのいずれもが目標面６０に侵入することを防止することができる。
【００６１】
―作用・効果―
以上のように構成した本実施形態の油圧ショベルでは，作業装置１５に設定した２つの作業点候補８ａ，８ｂについて，目標面６０との偏差情報Ｄａ，Ｄｂに基づいて目標速度ＶＴａ，ＶＴｂをそれぞれ演算し，各作業点候補８ａ，８ｂを目標速度ＶＴａ，ＶＴｂで移動させる場合に他方の作業点候補に生じる速度（候補点速度）ＶＴａｂ，ＶＴｂａも演算することとした。２つの作業点候補８ａ，８ｂのうち作業点として選択されなかった作業点候補の目標面６０への侵入が問題となる場面は，２つの作業点候補８ａ，８ｂとアーム１２の回動中心との距離（各作業点候補８ａ，８ｂの回動半径）に差がある場合であり，一方の作業点候補を目標速度で動作させたときに他方の作業点候補の速度（候補点速度）がその目標速度よりも大きいときには，他方の作業点候補を目標速度で動作させたときの一方の作業点候補の速度（候補点速度）はその目標速度よりも小さくなる。そこで，２つの候補点速度ＶＴａｂ，ＶＴｂａのうち，より遅くに目標面６０に侵入し得る候補点速度（すなわち，２つの候補点速度のうち大きさの大きい候補点速度）に係る作業点候補を作業点として選択することとした。このように作業点を選択すると，２つの作業点候補８ａ，８ｂのうち作業点として選択されなかった残りの作業点候補が目標面６０に侵入することも防止できるので，ブーム下げによって作業点候補８ａ，８ｂが離れる位置にある目標面についても，作業装置１５上の複数の作業点候補８ａ，８ｂが目標面６０に侵入することを防止できる。これにより油圧ショベルによる作業精度と作業効率を向上できる。
【００６２】
なお，上記で説明した作業点選択のプロセスは一例であり，例えば，２つの作業点候補８ａ，８ｂの目標速度ＶＴａ，ＶＴｂの垂直成分を比較して相対的に速度の小さい目標速度を選出し，その選出した目標速度より速度の小さい候補点速度が存在する場合には，その候補点速度に係る作業点候補とは異なる作業点候補を作業点として選択する等，他の方法を利用しても良い。
【００６３】
＜第２実施形態＞
以下，本発明の第２の実施形態について説明する。本実施形態は，バケット８の作業点候補を，図１３に示すように，バケット左先端８ｃ，バケット右先端８ｄ，バケット左背面端８ｅ，バケット右背面端８ｆの４点に設定したものである。本実施形態は，例えばバケット８にチルト式バケットを利用した場合や，目標面６０がブーム回動軸と平行でない場合等にバケット８の目標面６０への侵入防止に有効である。なお，油圧ショベル１のハードウェア構成は第１実施形態と同じであり，ここではコントローラ５００内の情報処理部１００の構成（ソフトウェア構成）について主に説明する。ただし，コントローラ５００の構成や演算処理に関して第１実施形態と共通する部分の説明については適宜省略することがある。
【００６４】
本実施形態のコントローラ５００も第１実施形態と同様に情報処理部１００及び制御弁駆動部２００を備えており，情報処理部１００は，偏差演算部１１０，目標速度演算部１２０，候補点速度演算部１４０，作業点選択部１５０及びアクチュエータ速度演算部１３０を備えている。
【００６５】
偏差演算部１１０は，姿勢センサ１３ａ〜１３ｄからの姿勢情報から演算するバケット左先端８ｃ位置，バケット右先端８ｄ，バケット左背面端８ｅ，バケット右背面端８ｆの位置と，目標面設定装置１８から入力される目標面情報とから，バケット左先端８ｃと目標面６０との距離Ｄｃと，バケット右先端８ｄと目標面６０との距離Ｄｄと，バケット左背面端８ｅと目標面６０との距離Ｄｅと，バケット右背面端８ｆと目標面６０との距離Ｄｆとを演算し，これらをバケット左右先端および左右背面端の距離偏差情報として出力する。
【００６６】
目標速度演算部１２０は，バケット左右先端８ｃ，８ｄおよび左右背面端８ｅ，８ｄの距離偏差情報に基づいて，バケット左右先端８ｃ，８ｄおよび左右背面端８ｅ，８ｄを目標面６０に沿って移動させるのに必要なバケット左右先端８ｃ，８ｄおよび左右背面端８ｅ，８ｄの速度を演算し，それをバケット左右先端８ｃ，８ｄおよび左右背面端８ｅ，８ｄの目標速度（ＶＴｃ，ＶＴｄ，ＶＴｅ，ＶＴｆ）として出力する。
【００６７】
―候補点速度演算部１４０―
図１６は，第２実施形態における候補点速度演算部１４０を示す図である。候補点速度演算部１４０は，第１の実施形態と同様，幾何学逆変換部１４１ｃ，１４１ｄ，１４１ｅ，１４１ｆと，幾何学変換部１４２ｃ，１４２ｄ，１４２ｅ，１４２ｆとを備える。
【００６８】
幾何学逆変換部１４１ｃ，１４１ｄ，１４１ｅ，１４１ｆは，バケット左右先端８ｃ，８ｄおよび左右背面端８ｅ，８ｄの姿勢情報と，バケット左右先端８ｃ，８ｄおよび左右背面端８ｅ，８ｄの目標速度（ＶＴｃ，ＶＴｄ，ＶＴｅ，ＶＴｆ）とから，バケット左右先端８ｃ，８ｄおよび左右背面端８ｅ，８ｄがそれぞれ自身の目標速度（ＶＴｃ，ＶＴｄ，ＶＴｅ，ＶＴｆ）で動作した際のブーム１１およびアーム１２の回動速度（角速度）の組合せΩｃ，Ωｄ，Ωｅ，Ωｆを演算する。幾何学変換部１４２ｃ，１４２ｄ，１４２ｅ，１４２ｆは，前記回動速度の組合せΩｃ，Ωｄ，Ωｅ，Ωｆと，バケット左右先端８ｃ，８ｄおよび左右背面端８ｅ，８ｄの姿勢情報とから，残りの作業点候補の速度である候補点速度ＶＴｃｄ，ＶＴｃｅ，ＶＴｃｆ，ＶＴｄｃ，ＶＴｄｅ，ＶＴｄｆ，ＶＴｅｃ，ＶＴｅｄ，ＶＴｅｆ，ＶＴｆｃ，ＶＴｆｄ，ＶＴｆｅを演算する。
【００６９】
候補点速度ＶＴｃｄ，ＶＴｃｅ，ＶＴｃｆは，バケット左先端８ｃをその目標速度ＶＴｃで動作させた場合に残りの３つの作業点候補（バケット右先端８ｄ，バケット左背面端８ｅ，バケット右背面端８ｆ）に生じる速度であり，ここでは，この３つの作業点候補に生じる速度を１つのグループ（速度群）とし，目標速度ＶＴｃで動作させた作業点候補８ｃに関する候補点速度の集合として候補点速度ｃ群と称する。また，候補点速度ＶＴｄｃ，ＶＴｄｅ，ＶＴｄｆは，バケット右先端８ｄをその目標速度ＶＴｄで動作させた場合に残りの３つの作業点候補の速度であり，以後，候補点速度ｄ群と称する。以下同様にして，候補点速度ＶＴｅｃ，ＶＴｅｄ，ＶＴｅｆを候補点速度ｅ群と，候補点速度ＶＴｆｃ，ＶＴｆｄ，ＶＴｆｅを候補点速度ｆ群と称する。すなわち，候補点速度演算部１４０は，４つの作業点候補８ｃ，８ｄ，８ｅ，８ｆのそれぞれを，目標速度演算部１２０で演算した４つの目標速度ＶＴｃ，ＶＴｄ，ＶＴｅ，ＶＴｆのうち対応する目標速度で移動させた場合に残りの３つの作業点候補に生じる速度を演算し，その残りの３つの作業点候補に生じる速度を作業点候補ごとにグルーピングして４つの速度群（候補点速度ｃ群−ｆ群）をつくっている。
【００７０】
なお，幾何学逆変換部１４１ｃ，１４１ｄ，１４１ｅ，１４１ｆの出力を，ブーム１１およびアーム１２の回動速度ではなく，ブームシリンダ６とアームシリンダ７の動作速度とし，幾何学変換部１４２ｃ，１４２ｄ，１４２ｅ，１４２ｆの入力として用いるように構成しても良い。
【００７１】
―作業点選択部１５０―
作業点選択部１５０は，候補点速度演算部１４０で形成された複数の速度群ｃ−ｆの中から，作業点候補８ｃ−８ｆの全てが最も目標面６０に侵入しづらい動作をする速度群を１つ選出し，その選出した速度群に係る作業点候補を半自動掘削成形制御の作業点（制御点）として選択する処理を行う部分である。具体的には，作業点選択部１５０は，複数の速度群ｃ−ｆのそれぞれで目標面６０に最も速く侵入し得る速度（すなわち，最も小さい速度）を選出し，複数の速度群ｃ−ｆから選出された目標面６０に最も速く侵入し得る速度の中で目標面６０に最も遅く侵入し得る速度（すなわち，最も大きい速度）を選出し，複数の速度群ｃ−ｆの中から目標面６０に最も遅く侵入し得る速度が属する速度群を選出することで，作業点候補８ｃ−８ｆの全てが最も目標面６０に侵入しづらい動作をする速度群を選出している。以下，作業点選択部１５０のさらに詳細な処理内容について説明する。
【００７２】
図１７は，第２実施形態における作業点選択部１５０を示す図である。作業点選択部１５０は，第１の実施形態と同様，候補点速度比較部１５１と，姿勢情報切替部１５２と，目標速度切替部１５３とを備える。
【００７３】
まず，候補点速度比較部１５１は，各候補点速度ｃ−ｆにおける最小値（すなわち目標面６０に最も速く侵入し得る候補点速度）を選出する。これにより，候補点速度ｃ群の最小値と，候補点速度ｄ群の最小値と，候補点速度ｅ群の最小値と，候補点速度ｆ群の最小値が選出される。次に，候補点速度比較部１５１は，候補点速度ｃ群の最小値と，候補点速度ｄ群の最小値と，候補点速度ｅ群の最小値と，候補点速度ｆ群の最小値とを比較し，この４の最小値の中から最大の候補点速度が属する速度群を選出する。そして，選出された速度群に係る作業点候補を作業点とする。すなわち，最大の候補点速度が候補点速度ｃ群の最小値であればバケット左先端８ｃを作業点とし，最大の候補点速度が候補点速度ｄ群の最小値であればバケット右先端８ｄを作業点とし，最大の候補点速度が候補点速度ｅ群の最小値であればバケット左背面端８ｅを作業点とし，最大の候補点速度が候補点速度ｆ群の最小値であればバケット右背面端８ｆを作業点とする。そして，作業点選択部１５０は４つの作業点候補８ｃ−８ｆのうちどれを選択しかたを点選択情報として出力する。作業点としてバケット左先端８ｃが選択された場合には図１７中に示した２つの４位置スイッチ（姿勢情報切替部１５２，目標速度切替部１５３）を位置ｃに切り換える点選択情報ｃを出力し，作業点としてバケット右先端８ｄが選択された場合には同４位置スイッチを位置ｄに切り換える点選択情報ｄを出力し，作業点としてバケット左背面端８ｅが選択された場合には同４位置スイッチを位置eに切り換える点選択情報eを出力し，作業点としてバケット右背面端８ｆが選択された場合には同４位置スイッチを位置ｆに切り換える点選択情報ｆを出力する。これらの関係を真理値表にまとめたものが図１４である。
【００７４】
姿勢情報切替部１５２は，点選択情報が示す作業点がバケット左先端８ｃであればバケット左先端８ｃに係る姿勢情報ＰＩｃを，作業点がバケット背面端８ｄであればバケット右先端８ｄに係る姿勢情報ＰＩｄを，作業点がバケット左背面端８ｅであればバケット左背面端８ｅに係る姿勢情報ＰＩｅを，作業点がバケット右背面端８ｆであればバケット右背面端８ｆに係る姿勢情報ＰＩｆを，姿勢情報として出力する。
【００７５】
目標速度切替部１５３は，点選択情報が示す作業点がバケット左先端８ｃであればバケット左先端８ｃに係る目標速度ＶＴｃを，作業点がバケット背面端８ｄであればバケット右先端８ｄに係る目標速度ＶＴｄを，作業点がバケット左背面端８ｅであればバケット左背面端８ｅに係る目標速度ＶＴｅを，作業点がバケット右背面端８ｆであればバケット右背面端８ｆに係る目標速度ＶＴｆを，目標速度として出力する。
【００７６】
アクチュエータ速度演算部１３０は，作業点選択部１５０から出力された姿勢情報と目標速度を用いて，作業点を目標速度で動作させるのに必要なブームシリンダ５，アームシリン６，バケットシリンダ７の目標速度を幾何学的に演算して，制御弁駆動部２００に出力する。
【００７７】
―コントローラ５００の処理フロー―
図１５は，上述のコントローラ５００による演算の流れを示したフローチャートである。コントローラ５００は，所定の制御周期で処理を開始し（手順Ｓ１），入力される操作信号に基づいて操作レバー１ｃ，１ｄが操作されているか否かを判定する（手順Ｓ２）。ここで操作レバー１ｃ，１ｄが操作されている場合には手順Ｓ３に進み，そうでない場合には操作レバー１ｃ，１ｄが操作されるまで待機する。
【００７８】
手順Ｓ３では偏差演算部１１０が，姿勢センサ１３ａ，１３ｂ，１３ｃ，１３ｄから得られる姿勢情報ＰＩｃ，ＰＩｄ，ＰＩｅ，ＰＩｆと，目標面設定装置１８から得られる目標面情報とから，バケット左右先端８ｃ，８ｄおよび左右背面端８ｅ，８ｄと目標面６０との偏差情報Ｄｃ，Ｄｄ，Ｄｅ，Ｄｆを演算する。
【００７９】
手順Ｓ４では，目標速度演算部１２０が，前記偏差情報Ｄｃ，Ｄｄ，Ｄｅ，Ｄｆと，前記姿勢情報ＰＩｃ，ＰＩｄ，ＰＩｅ，ＰＩｆと，操作レバー１ｃ，１ｄとから得られる操作量情報とから，目標速度ＶＴｃ，ＶＴｄ，ＶＴｅ，ＶＴｆを演算する。
【００８０】
手順Ｓ５では，候補点速度演算部１４０が，前記目標速度ＶＴｃ，ＶＴｄ，ＶＴｅ，ＶＴｆと，前記姿勢情報ＰＩｃ，ＰＩｄ，ＰＩｅ，ＰＩｆとから，或る作業点候補８ｃ，８ｄ，８ｅ，８ｆを目標速度で動作させた際に他の作業点候補の速度である候補点速度ＶＴｃｄ，ＶＴｃｅ，ＶＴｃｆ，ＶＴｄｃ，ＶＴｄｅ，ＶＴｄｆ，ＶＴｅｃ，ＶＴｅｄ，ＶＴｅｆ，ＶＴｆｃ，ＶＴｆｄ，ＶＴｆｅを演算する。ここで，作業点候補ｃを目標速度ＶＴｃで動作させた際の他の３つの候補点速度ＶＴｃｄ，ＶＴｃｅ，ＶＴｃｆを候補点速度ｃ群，作業点候補ｄを目標速度ＶＴｄで動作させた際の他の３つの候補点速度ＶＴｄｃ，ＶＴｄｅ，ＶＴｄｆを候補点速度ｄ群，作業点候補ｅを目標速度ＶＴｅで動作させた際の他の３つの候補点速度ＶＴｅｃ，ＶＴｅｄ，ＶＴｅｆを候補点速度ｅ群，作業点候補ｆを目標速度ＶＴｆで動作させた際の他の３つの候補点速度ＶＴｆｃ，ＶＴｆｄ，ＶＴｆｅを候補点速度ｆ群とする。
【００８１】
手順Ｓ６では，作業点選択部１５０が，手順Ｓ５で演算した前記候補点速度の各群の最小値を比較し，その中で最も値の大きい候補点速度に対応した作業点候補を作業点として選択する。最大値がｃ群に属する場合には作業点としてバケット左先端８ｃを選択して手順Ｓ７ｃに進み，最大値がｄ群に属する場合には作業点としてバケット右先端８ｄを選択して手順Ｓ７ｄに進み，最大値がｅ群に属する場合には作業点としてバケット左背面端８ｅを選択して手順Ｓ７ｅに進み，最大値がｆ群に属する場合には作業点としてバケット右背面端８ｆを選択して手順Ｓ７ｆに進む。
【００８２】
手順Ｓ７ｃでは，作業点選択部１５０が，バケット左先端８ｃに関する姿勢情報ＰＩｃをアクチュエータ速度演算部１３０に出力し，続く手順Ｓ８ｃではバケット左先端８ｃに関する目標速度ＶＴｃをアクチュエータ速度演算部１３０に出力し，手順Ｓ９に進む。手順Ｓ７ｄ−Ｓ７ｆ，Ｓ８ｄ―Ｓ８ｆについても同様に対応する作業点に係る姿勢情報と目標速度を選択出力する。
【００８３】
手順Ｓ９では，アクチュエータ速度演算部１３０が，作業点選択部１５０が出力した姿勢情報と目標速度を入力として，それに対応するブームシリンダ速度，アームシリンダ速度，バケットシリンダ速度の指令値を演算して制御弁駆動部２００に出力し，手順Ｓ１０に進む。
【００８４】
手順Ｓ１０では，制御弁駆動部２００が，手順Ｓ９で演算されたブームシリンダ速度，アームシリンダ速度，バケットシリンダ速度に応じた制御弁駆動信号を生成して各油圧シリンダ５，６，７を制御するコントロールバルブ２０に出力する。この駆動信号によりコントロールバルブ２０が駆動されて各油圧シリンダ５，６，７が動作し，その動作に即して作業装置１５が動作する。これにより４つの作業点候補８ｃ−８ｆのいずれもが目標面６０に侵入することを防止することができる。
【００８５】
―作用・効果―
以上のように構成した本実施形態の油圧ショベルでは，作業装置１５に設定した４つの作業点候補８ｃ−８ｆについて，目標面６０との偏差情報Ｄａ−Ｄｆに基づいて目標速度ＶＴｃ−ＶＴｆをそれぞれ演算し，各作業点候補８ａ−８ｆを目標速度ＶＴａ−ＶＴｆで移動させる場合に残りの３つの作業点候補に生じる速度（候補点速度）ＶＴｃｄ，ＶＴｃｅ，ＶＴｃｆ，ＶＴｄｃ，ＶＴｄｅ，ＶＴｄｆ，ＶＴｅｃ，ＶＴｅｄ，ＶＴｅｆ，ＶＴｆｃ，ＶＴｆｄ，ＶＴｆｅも演算し，その１２の候補点速度を４つの作業点候補８ｃ−８ｆごとに４つのグループ（ｃ群−ｆ群）に分けた。そして，この４つのグループのそれぞれで目標面６０に最も早く侵入し得る速度を選出し，その選出された４つの速度の中で目標面６０に最も遅く侵入し得る速度を１つ選出し，その最も遅く侵入し得る速度が属する速度群に係る作業点候補を作業点として選択することとした。このように作業点を選択すると，４つの作業点候補８ｃ−８ｆのうち作業点として選択されなかった残りの作業点候補が目標面６０に侵入することも防止できるので，ブーム下げによって作業点候補８ｃ−８ｆが離れる位置にある目標面についても，作業装置１５上の複数の作業点候補８ｃ−８ｆが目標面６０に侵入することを防止できる。これにより油圧ショベルによる作業精度と作業効率を向上できる。
【００８６】
また，本実施形態では作業点候補が作業装置１５の回動軸方向（例えば，ブームピンの軸方向）に複数存在することになるため，その作業装置１５の回動軸方向に均一でない目標面６０（例えば作業装置１５の回動軸と平行でない目標面）に対しても，バケット先端縁および背面縁が目標面６０に侵入することを防ぎつつ，半自動掘削成形を行うことができる。
【００８７】
＜その他＞
本発明は，上記の実施の形態に限定されるものではなく，その要旨を逸脱しない範囲内の様々な変形例が含まれる。例えば，本発明は，上記の実施の形態で説明した全ての構成を備えるものに限定されず，その構成の一部を削除したものも含まれる。また，ある実施の形態に係る構成の一部を，他の実施の形態に係る構成に追加又は置換することが可能である。
【００８８】
例えば，第１および第２実施形態において，作業装置１５はブーム１１，アーム１２，バケット８からなり，それぞれ同一方向の回動軸を持つものとしたが，これ以外のものでもよい。例としては，ロータリー回動軸またはチルト回動軸を持つバケットなどがある。また，第２実施形態において，４つの作業点候補はバケット外周の頂点（バケット底面を構成する４辺の頂点）としたが，バケット底面を構成する４辺（但し頂点は除く）の少なくとも１つに作業点候補をさらに追加し，たとえば凹凸のある目標面６０に対する作業において，その４辺のいずれかに設定した作業点候補が目標面６０の凸部に接触するのを防げるようにしても良い。
【００８９】
上記の各実施形態では，作業点候補が２つと４つの場合について説明したが，作業点候補の数が３や５つ以上の場合にも本発明は適用可能であることはいうまでもない。
【００９０】
また，上記では車体座標系に目標面を設定する場合について説明したが、例えば油圧ショベルの上部旋回体１０に２本のＧＮＳＳアンテナと受信機を搭載して地理座標系における油圧ショベルの位置と方位を算出可能にすることで，地理座標系に設定された目標面に対して半自動掘削成形制御を実行可能に構成することも可能である。車体座標系や地理座標系以外の座標系についても同様である。
【００９１】
また，上記ではブームシリンダ５のみを半自動制御の対象としたが，アームシリンダ６やバケットシリンダ７を対象としても良い。
【００９２】
上記のコントローラ５００に係る各構成や当該各構成の機能及び実行処理等は，それらの一部又は全部をハードウェア（例えば各機能を実行するロジックを集積回路で設計する等）で実現しても良い。また，上記のコントローラ５００に係る構成は，演算処理装置（例えばＣＰＵ）によって読み出し・実行されることで当該コントローラ５００５の構成に係る各機能が実現されるプログラム（ソフトウェア）としてもよい。当該プログラムに係る情報は，例えば，半導体メモリ（フラッシュメモリ，ＳＳＤ等），磁気記憶装置（ハードディスクドライブ等）及び記録媒体（磁気ディスク，光ディスク等）等に記憶することができる。また，コントローラ５００が実行した処理の一部または全部を複数のコントローラやコンピュータで分散処理するようにシステムを構成しても良い。
【符号の説明】
【００９３】
１ａ…走行用右操作レバー，１ｂ…走行用左操作レバー，１ｃ…右操作レバー，１ｄ…左操作レバー，２…油圧ポンプ，３ａ…右走行油圧モータ，３ｂ…左走行油圧モータ，４…旋回油圧モータ，５…ブームシリンダ（油圧アクチュエータ），６…アームシリンダ（油圧アクチュエータ），７…バケットシリンダ（油圧アクチュエータ），８…バケット，８ａ…バケット先端，８ｂ…バケット背面端，８ｃ…バケット左先端，８ｄ…バケット右先端，８ｅ…バケット左背面端，８ｆ…バケット右背面端，９…下部走行体，１０…上部旋回体，１１…ブーム，１２…アーム，１３ａ…第１姿勢センサ（姿勢センサ），１３ｂ…第２姿勢センサ（姿勢センサ），１３ｃ…第３姿勢センサ（姿勢センサ），１３ｄ…車体姿勢センサ（姿勢センサ），１４…原動機，１５…作業装置，１８…目標面設定装置，２０…コントロールバルブ，１００…情報処理部，１１０…偏差演算部，１２０…目標速度演算部，１３０…アクチュエータ速度演算部，１４０…候補点速度演算部，１４１ａ…幾何学逆変換部，１４１ｂ…幾何学逆変換部，１４１ｃ…幾何学逆変換部，１４１ｄ…幾何学逆変換部，１４１ｅ…幾何学逆変換部，１４１ｆ…幾何学逆変換部，１４２ａ…幾何学変換部，１４２ｂ…幾何学変換部，１４２ｃ…幾何学変換部，１４２ｄ…幾何学変換部，１４２ｅ…幾何学変換部，１４２ｆ…幾何学変換部，１５０…作業点選択部，１５１…候補点速度比較部，１５２…姿勢情報切替部，１５３…目標速度切替部，２００…制御弁駆動部，５００…コントローラ
【図１】
2020059094.tif 000003
【図２】
2020059094.tif 000004
【図３】
2020059094.tif 000005
【図４】
2020059094.tif 000006
【図５】
2020059094.tif 000007
【図６】
2020059094.tif 000008
【図７】
2020059094.tif 000009
【図８】
2020059094.tif 000010
【図９】
2020059094.tif 000011
【図１０】
2020059094.tif 000012
【図１１】
2020059094.tif 000013
【図１２】
2020059094.tif 000014
【図１３】
2020059094.tif 000015
【図１４】
2020059094.tif 000016
【図１５】
2020059094.tif 000017
【図１６】
2020059094.tif 000018
【図１７】
2020059094.tif 000019
【図１８】
2020059094.tif 000020
【図１９】
2020059094.tif 000021
【図２０】
2020059094.tif 000022
【国際調査報告】
2020059094.tif 000023
2020059094.tif 000024
2020059094.tif 000025