(57)【要約】【課題】制御の切り替え中に，入力操作が作業装置の動作に反映されるタイミングをオペレータの要求に応じて早めること。【解決手段】油圧ショベルに搭載されたコントローラ５１，５２は，状態切替信号の入力に基づいて手動制御と半自動制御の２つの制御を切り替える状態遷移部５１ａと，状態遷移部によって２つの制御が切り替えられブームシリンダ１８ａの速度が２つの制御の切り替え後の制御が規定する速度Ｖｏ（ｔ）に変化するまでの間に操作レバー４４ｂへの入力が変化した場合，ブームシリンダ１８ｄの速度の時間変化率を第１変化率Ｉ１から第１変化率より大きい第２変化率Ｉ２に変更する速度遷移部５１ｂとを備える。【選択図】  図３
2020002625.tif 000002
【特許請求の範囲】
【請求項１】
作業装置と，
前記作業装置を駆動するアクチュエータと，
前記アクチュエータを操作するための操作装置と，
前記操作装置への入力に基づいて前記アクチュエータを制御する第1制御，及び，前記操作装置の操作中に所定の設計面と前記作業装置の距離に基づいて前記アクチュエータを制御する第２制御の２つの制御のいずれか一方によって前記アクチュエータを制御するコントローラとを備え，
前記コントローラは，
状態切替信号の入力に基づいて前記２つの制御を切り替える状態遷移部と，
前記状態遷移部によって前記２つの制御が切り替えられ，前記アクチュエータの速度が前記２つの制御のうち切り替え前の制御が規定する速度から切り替え後の制御が規定する速度に変化するときにおける前記アクチュエータの速度の時間変化率の制限値を第１変化率に設定する速度遷移部とを備える作業機械において，
前記速度遷移部は，前記状態遷移部によって前記２つの制御が切り替えられ前記アクチュエータの速度が前記切り替え後の制御が規定する速度に変化するまでの間に前記操作装置への入力が変化した場合，前記アクチュエータの速度の時間変化率を前記第１変化率から前記第１変化率より大きい第２変化率に変更することを特徴とする作業機械。
【請求項２】
請求項1の作業機械において，
前記速度遷移部は，前記状態遷移部によって前記２つの制御が切り替えられ前記アクチュエータの速度が前記切り替え後の制御が規定する速度に変化するまでの間に，前記操作装置への入力の時間変化率が所定の閾値以上になった場合，前記アクチュエータの速度の時間変化率を前記第１変化率から前記第２変化率に変更することを特徴とする作業機械。
【請求項３】
請求項1の作業機械において，
前記操作装置への入力は，前記アクチュエータを一の方向に操作する場合の入力値である正の入力値，前記アクチュエータを他の方向に操作する場合の入力値である負の入力値，及び，前記一の方向及び前記他の方向のいずれにも前記アクチュエータを操作しない場合の入力値であるゼロの入力値からなり，
前記速度遷移部は，前記状態遷移部によって前記２つの制御が切り替えられ前記アクチュエータの速度が前記切り替え後の制御が規定する速度に変化するまでの間に，前記操作装置への入力が前記正の入力値及び前記負の入力値のいずれかから前記ゼロの入力値に変化した場合と，前記操作装置への入力が前記ゼロの入力値から前記正の入力値及び前記負の入力値のいずれかに変化した場合とのいずれかの場合，前記アクチュエータの速度の時間変化率を前記第１変化率から前記第２変化率に変更することを特徴とする作業機械。
【請求項４】
請求項１の作業機械において，
前記コントローラは，前記第２制御による前記アクチュエータの制御に必要なハードウェア及びソフトウェアに異常が発生したか否かを判定し，前記第２制御によって前記アクチュエータが制御されている間に前記異常が発生したと判定した場合，前記状態遷移部に前記状態切替信号を出力することを特徴とする作業機械。
【請求項５】
請求項４の作業機械において，
前記コントローラは，前記設計面の存在する領域内に前記作業装置が存在するか否かを判定するガイダンス状態管理部をさらに備え，
前記ガイダンス状態管理部は，前記第２制御によって前記アクチュエータが制御されている間に前記設計面の存在する領域の外に前記作業装置が存在すると判定した場合，前記状態遷移部に前記状態切替信号を出力することを特徴とする作業機械。
【請求項６】
請求項４の作業機械において，
前記コントローラは，前記作業装置の姿勢センサと前記作業機械の位置センサのいずれかに異常が発生したか否かを判定するガイダンス状態管理部をさらに備え，
前記ガイダンス状態管理部は，前記第２制御によって前記アクチュエータが制御されている間に前記姿勢センサと前記位置センサのいずれかに異常が発生したと判定した場合，前記状態遷移部に前記状態切替信号を出力することを特徴とする作業機械。
【請求項７】
請求項４の作業機械において，
前記コントローラから出力される制御信号に基づいて，前記第２制御時に前記アクチュエータの方向制御弁に出力されるパイロット圧を生成する制御弁と，
前記パイロット圧を検出する圧力センサとをさらに備え，
前記コントローラは，前記制御信号の規定する圧力値と前記圧力センサで検出される圧力値を比較することで前記制御弁に異常が発生したか否かを判断する目標動作生成部をさらに備え，
前記目標動作生成部は，前記第２制御によって前記アクチュエータが制御されている間に前記制御弁に異常が発生したと判定した場合，前記状態遷移部に前記状態切替信号を出力することを特徴とする作業機械。
【請求項８】
請求項２の作業機械において，
前記所定の閾値は，前記第１変化率より大きい値であることを特徴とする作業機械。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は予め定めた条件に従って作業装置を動作させ得る作業機械に関する。
【背景技術】
【０００２】
油圧ショベルを含む作業機械には，多関節型の作業装置の位置や姿勢をセンサにより取得し，作業装置の先端に取り付けられたアタッチメントを施工対象の目標形状に沿って動作させる制御機能（この種の制御はマシンコントロールや半自動制御等と呼ばれることがある）を有するものがある。このような作業機械は，その他の一般的な作業機械と同様にオペレータからの操作装置（例えば操作レバー）への入力に基づいて作業装置を制御する手動制御（本稿では「第１制御」と称することがある）と，オペレータの操作装置の操作中に当該操作とは無関係に又は当該操作の一部を利用して所定の条件に従って作業装置を制御する半自動制御（本稿では「第２制御」と称することがある）を行う。
【０００３】
後者の半自動制御としては，例えば作業装置と所定の設計面（目標掘削地形）の距離に基づいて作業装置の速度を制御するものがある。この種の半自動制御において，例えば目標面の存在する範囲からアタッチメントが逸脱すると作業装置と設計面の距離が不明になるため半自動制御の継続が不可あるいは不要となり，作業装置の制御を半自動制御から手動制御へ切り替えることが考えられる。しかし，半自動制御が規定するアタッチメントの移動速度と，手動制御が規定するアタッチメントの移動速度との間に乖離があると，制御の切り替わり時に生じる急激な速度変化によって車体が不安定な状態になるおそれがある。この現象の発生を抑止するために，制御の切り替え時から作業装置の速度の変化量に制限を持たせ，徐々に速度を変化させる方法がある（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１６／１１１３８４号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【０００５】
まず，特許文献１の方法において，例えば半自動制御が作業装置を上に動作させている間に手動制御に制御が切り替わった際又は切り替わり直後にオペレータが作業装置を下に動作させる操作を入力すると，そのオペレータの操作に反して作業装置は一定時間上昇するため，オペレータは違和感を覚える可能性がある。
【０００６】
次に，特許文献１では，制御の切り替えの時における作業装置の移動速度が閾値以上である場合に，制御の切り替え時における作業装置の移動速度が閾値である場合の減少率以上の減少率で作業装置の移動速度を変化させている。より具体的には，制御の切り替え時における作業装置の移動速度が閾値以上の場合，制御の切り替え時から作業装置の移動速度がゼロになるまでに要する時間ｔ（すなわち，切り替え後の制御が規定する方向に作業装置が動作を開始するまでに要する時間，さらに換言すると，切り替え後の制御が規定する方向に作業装置が動作しない時間）が常に一定の時間ｔｃになるように移動速度の減少率を変化させている。これにより切り替え時の作業装置の移動速度が閾値以上の場合には，切り替え後の制御が規定する方向と逆の動きをする時間を短縮して一定にすることでオペレータの違和感の抑制を図っている。
【０００７】
しかし，特許文献１では，作業装置の速度の変化量（減少率）の制限値は制御の切り替え時に決定され，少なくとも作業装置の速度が一旦ゼロに達するまでは変わらない。そのため，例えば制御の切り替え後に，オペレータが速やかに作業装置を停止したいと考えて作業装置の停止を意図する操作（例えば操作レバーを中立位置に戻す）を操作装置に入力したとしても，作業装置が速やかに停止せずオペレータの意図に反して一定時間動作し続ける状態が発生し，依然としてオペレータに違和感を与える可能性がある。
【０００８】
本発明の目的は，制御の切り替え中に，車体が不安定な状態になることを抑制できると共に，オペレータの操作が作業装置の動作に反映されるタイミングをオペレータの要求に応じて早めることができる作業機械を提供することにある。
【課題を解決するための手段】
【０００９】
本願は上記課題を解決する手段を複数含んでいるが，その一例を挙げるならば，作業装置と，前記作業装置を駆動するアクチュエータと，前記アクチュエータを操作するための操作装置と，前記操作装置への入力に基づいて前記アクチュエータを制御する第1制御，及び，前記操作装置の操作中に所定の設計面と前記作業装置の距離に基づいて前記アクチュエータを制御する第２制御の２つの制御のいずれか一方によって前記アクチュエータを制御するコントローラとを備え，前記コントローラは，状態切替信号の入力に基づいて前記２つの制御を切り替える状態遷移部と，前記状態遷移部によって前記２つの制御が切り替えられ，前記アクチュエータの速度が前記２つの制御のうち切り替え前の制御が規定する速度から切り替え後の制御が規定する速度に変化するときにおける前記アクチュエータの速度の時間変化率の制限値を第１変化率に設定する速度遷移部とを備える作業機械において，前記速度遷移部は，前記状態遷移部によって前記２つの制御が切り替えられ前記アクチュエータの速度が前記切り替え後の制御が規定する速度に変化するまでの間に前記操作装置への入力が変化した場合，前記アクチュエータの速度の時間変化率を前記第１変化率から前記第１変化率より大きい第２変化率に変更する。
【発明の効果】
【００１０】
本発明によれば，制御の切り替え中に，車体が不安定な状態になることを抑制できると共に，オペレータの操作が作業装置の動作に反映されるタイミングをオペレータの要求に応じて早めることができる。
【図面の簡単な説明】
【００１１】
【図１】第１の実施形態に係わる油圧ショベルの斜視図。
【図２】第１の実施形態に係わる油圧ショベルの油圧システムの構成図。
【図３】第１の実施形態に係わる車体コントローラ，ガイダンスコントローラ，ＧＮＳＳコントローラ及びガイダンスモニタの機能ブロック図。
【図４】半自動制御における距離ｄと速度補正係数ｋの関係図。
【図５】バケット先端における距離ｄに応じた補正前後の速度ベクトルを表す模式図。
【図６】第１の実施形態に係わる油圧ショベルと設計データとを示す図。
【図７】第１の実施形態に係わる油圧ショベルの直交姿勢を示す図。
【図８】第１の実施形態に係わる油圧ショベルと設計データとを示す図。
【図９】第１の実施形態に係わる油圧ショベルの半自動制御の流れを示すフローチャート。
【図１０】第１の実施形態に係わる油圧ショベルの速度遷移制御の流れを示すフローチャート。
【図１１】第１の実施形態に係わる油圧ショベルの手動制御の流れを示すフローチャート。
【図１２】第１の実施形態に係わる油圧ショベルのブームシリンダ速度の変化を示す図。
【図１３】第２の実施形態に係わる油圧ショベルの速度遷移制御の流れを示すフローチャート。
【図１４】第２の実施形態に係わる油圧ショベルの操作判定処理の流れを示すフローチャート。
【図１５】第２の実施形態に係わる油圧ショベルのブームシリンダ速度の変化を示す図。
【図１６】第２の実施形態に係わる油圧ショベルのブームシリンダ速度の変化を示す図。
【発明を実施するための形態】
【００１２】
以下，本発明の実施の形態について図面を用いて説明する。以下の説明は本発明の内容の具体例を示すものであり，本発明がこれらの説明に限定されるものではなく，本明細書に開示される技術的思想の範囲内において当業者による様々な変更および修正が可能である。また，本発明を説明するための全図において，同一の機能を有するものは，同一の符号を付け，その繰り返しの説明は省略する場合がある。
【００１３】
＜第１の実施の形態＞
本実施の形態では，作業機械として油圧ショベルを例に説明する。ただし，本発明における作業機械は油圧ショベルに限定するものではなく，例えばブルドーザなど作業装置を持つ他の作業機械にも適用可能である。以下，図１から図７までを用いて第１の実施の形態である作業機械について説明する。
【００１４】
図１は第１の実施の形態である油圧ショベルの外観を示している。油圧ショベル１は，走行油圧モータ（図示せず）によって駆動されるクローラを含む下部走行体１２と，下部走行体１２の上部に旋回可能に取り付けられた上部旋回体１１と，上部旋回体１１の前方に回動可能に取り付けられ掘削などの作業を行う多関節型の作業装置（フロント作業装置）４を備える。上部旋回体１１は旋回油圧モータ１９（図２に図示）によって下部走行体１２に対して相対的に回転駆動される。
【００１５】
作業装置４は，ブーム１３，アーム１４，バケット１５，アーム１４とバケット１５との間の四節リンク機構を構成する要素の一つであるバケットリンク１６，１７，ブーム１３を駆動するブームシリンダ１８ａ，アーム１４を駆動するアームシリンダ１８ｂ，バケット１５をバケットリンク１６，１７を介して駆動するバケットシリンダ１８ｃ（ブームシリンダ１８ａ，アームシリンダ１８ｂ，バケットシリンダ１８ｃをまとめて，適宜油圧シリンダ１８という）などから構成されている。
【００１６】
ブーム１３の一端（基端部）は上部旋回体１１に回転可能に支持されている。ブームシリンダ１８ａのボトム側（基端側）は上部旋回体１１に対して，同ロッド側（先端側）はブーム１３に対してそれぞれ回転可能に支持されている。ブームシリンダ１８ａの伸縮に応じて，ブーム１３が上部旋回体１１に対して相対的に回転駆動される。アーム１４の一端（基端部）はブーム１３の他端（先端部）に回転可能に支持されている。アームシリンダ１８ｂのボトム側（基端側）はブーム１３に対して，同ロッド側（先端側）はアーム１４に対してそれぞれ回転可能に支持されている。アームシリンダ１８ｂの伸縮に応じて，アーム１４がブーム１３に対してそれぞれ相対的に回転駆動される。バケット１５はアーム１４の他端（先端部）に回転可能に支持されている。バケットリンク１６の一端もアーム１４の先端部に回転可能に支持されている。更に，バケットリンク１６の他端はバケットリンク１７の一端に回転可能に支持されており，バケットリンク１７の他端はバケット１５に回転可能に支持されている。バケットシリンダ１８ｃのボトム側（基端側）はアーム１４に対して，同ロッド側（先端側）はバケットリンク１６に対してそれぞれ回転可能に支持されている。このように，アーム１４，バケットリンク１６，１７，バケット１５は四節リンク機構を構成しており，バケットシリンダ１８ｃの伸縮に応じて，バケットリンク１６がアーム１４に対して相対的に回転駆動され，それと連動して，四節リンク機構を構成しているバケット１５もアーム１４に対して相対的に回転駆動される。このような構成である油圧ショベル１はブームシリンダ１８ａ，アームシリンダ１８ｂ，バケットシリンダ１８ｃのそれぞれを適切なストローク長さにまで駆動することにより，バケット１５を任意の位置，姿勢に駆動し，掘削などの所望の作業を行うことができる。
【００１７】
なお，以下では，ブーム１３，アーム１４及びバケット（作業具）１５をそれぞれフロント部材と称することがある。また，ブーム１３，アーム１４及びバケット１５は，作業装置４を含む平面上で動作し，以下ではこの平面を動作平面と称することがある。つまり動作平面とは，ブーム１３，アーム１４及びバケット１５の回動軸に直交する平面であり，例えばブーム１３，アーム１４及びバケット１５の幅方向の中心（すなわち各フロント部材１３，１４，１５の回動軸の中心）に設定できる。
【００１８】
上部旋回体１１には二つのＧＮＳＳ（Ｇｌｏｂａｌ  Ｎａｖｉｇａｔｉｏｎ  Ｓａｔｅｌｌｉｔｅ  Ｓｙｓｔｅｍ：全地球航法衛星システム）アンテナ２ａ，２ｂ（これらをまとめて，適宜ＧＮＳＳアンテナ２という）が配置されている。ＧＮＳＳとは複数の衛星からの信号を受信し，地球上の自己位置を知る衛星測位システムを指す。ＧＮＳＳアンテナ２は，地球上空に位置する複数のＧＮＳＳ衛星（図示しない）からの信号（電波）を受信するものであり，得られた信号をＧＮＳＳコントローラ５３（図２に図示）に送り，ＧＮＳＳコントローラ５３でこれらの信号から各アンテナ２ａ，２ｂの位置が演算される。
【００１９】
上部旋回体１１には，上部旋回体１１の傾斜（傾斜角）を計測するための車体ＩＭＵ３ａ（Ｉｎｅｒｔｉａｌ  Ｍｅａｓｕｒｅｍｅｎｔ  Ｕｎｉｔ，慣性計測装置）が取り付けられている。同様に，ブーム１３にはブーム１３の傾き（傾斜角）を計測するためのブームＩＭＵ３ｂ，アーム１４にはアーム１４の傾き（傾斜角）を計測するためのアームＩＭＵ３ｃ，バケットリンク１６にはバケットリンク１６の傾き（傾斜角）を計測するためのバケットＩＭＵ３ｄが取り付けられている（ＩＭＵ３ａから３ｄをまとめて，適宜ＩＭＵ３という）。ＩＭＵ３は加速度や角速度を計測できるセンサユニットであり，ＩＭＵ３が取得した情報はガイダンスコントローラ５２（図２に図示）に出力されている。ＩＭＵ３は作業装置４の姿勢センサとして機能し得る。
【００２０】
図２は第１の実施の形態の油圧ショベルの油圧システムの構成図である。油圧ショベル１は，エンジン４１，油圧ポンプ４２，４３を備える。油圧ポンプ４２，４３はエンジン４１により駆動され，タンクから汲み上げた圧油を油圧回路内に供給する。
【００２１】
また，油圧ショベル１は，複数の操作レバー４４ａ−４４ｄからなる操作装置４４と，油圧ショベル１に搭載された油圧シリンダ１８及び油圧モータ１９を含む油圧アクチュエータに供給する作動油の流量及び方向を制御する方向制御弁４５と，方向制御弁４５に作用されるパイロット油の圧力を制御する複数の制御弁（電磁弁）４７と，油圧ショベル１の車体制御を司り，複数の制御弁４７に対する制御信号（指令電流または指令電圧）を出力する車体コントローラ５１と，油圧ショベル１の運転席内に搭載されたガイダンス用のモニタ（ガイダンスモニタ）５４とスピーカ（音声出力装置）５５の制御を司り，車体コントローラ５１に作業装置４の位置情報，設計面６０の位置情報，及び油圧シリンダ１８の制御を切り替えるトリガーとなる状態切替信号等を出力するガイダンスコントローラ５２と，２つのＧＮＳＳアンテナ２の位置を演算するＧＮＳＳコントローラ５３を備える。
【００２２】
図２において，操作装置４４には，アーム１４（アームシリンダ１８ｂ）を操作するためのアーム操作レバー４４ａと，ブーム１３（ブームシリンダ１８ａ）を操作するためのブーム操作レバー４４ｂと，バケット１５（バケットシリンダ１８ｃ）を操作するためのバケット操作レバー４４ｃと，上部旋回体１１（旋回油圧モータ１９）を操作するための旋回操作レバー４４ｄ（これらをまとめて操作レバー４４と称することがある）が含まれる。操作レバー４４には油圧ポンプ４２からのパイロット油が供給され，操作レバー４４がオペレータに操作されると，油圧ポンプ４２からのパイロット油がレバー操作量に応じて適宜減圧されて方向制御弁４５に流れる仕組みとなっている。なお，図２では下部走行体１２に搭載された左右の走行油圧モータをそれぞれ操作する２つの走行操作レバーは省略している。
【００２３】
方向制御弁４５は油圧ポンプ４３から各油圧シリンダ１８及び旋回油圧モータ１９に供給される作動油の量及び方向を制御するものであり，操作レバー４４から出力されるパイロット油に応じて，油圧シリンダ１８及び旋回油圧モータ１９のどのアクチュエータにどれだけの作動油をどの方向に流すかが決定される。このため，操作レバー４４を操作することで各油圧シリンダ１８及び旋回油圧モータ１９を所望の方向に所望の量だけ駆動することができる。すなわち，オペレータは操作装置４４を介して作業装置４を操って任意の姿勢をとらせることができ，その結果として所望の作業を行うことが可能となる。
【００２４】
油圧ポンプ４２と各操作レバー４４とを接続する油路には遮断弁４６が設けられている。遮断弁４６が閉じられると，油圧ポンプ４２から各操作レバー４４へのパイロット油の供給は停止する。これにより，操作レバー４４を操作しても方向制御弁４５にパイロット油が流れず，油圧シリンダ１８や旋回油圧モータ１９が駆動されない状態を作ることができる。遮断弁４６は油圧ショベル１への乗降時にオペレータに操作されるロックレバー（図示しない）の位置に応じて物理的に開閉駆動される構成でもよいし，車体コントローラ５１から出力される制御信号によって適宜電気的に開閉駆動される構成としてもよい。
【００２５】
アーム操作レバー４４ａから方向制御弁４５にパイロット油を供給する２系統の油路のうち，アーム曲げ操作時（アームクラウド操作時）にパイロット油が流れる一方の油路には制御弁４７ａが，アーム伸ばし操作時（アームダンプ操作時）にパイロット油が流れる他方の油路には制御弁４７ｂが挿入されている。ブーム操作レバー４４ｂから方向制御弁４５にパイロット油を供給する２系統の油路のうち，ブーム下げ操作時にパイロット油が流れる一方の油路には制御弁４７ｃが挿入されており，ブーム上げ操作時にパイロット油が流れる他方の油路にはシャトル弁４８ａが挿入されている。このシャトル弁４８ａの一方の入口は制御弁４７ｄを介して油圧ポンプ４２に接続されている。バケット操作レバー４４ｃから方向制御弁４５にパイロット油を供給する２系統の油路のうち，バケットクラウド操作時にパイロット油が流れる一方の油路には制御弁４７ｆとシャトル弁４８ｂが直列に接続され，バケットダンプ操作時にパイロット油が流れる他方の油路には制御弁４７ｇとシャトル弁４８ｃが直列に接続されている。シャトル弁４８ｂの一方の入口は制御弁４７ｅを介して油圧ポンプ４２に接続され，シャトル弁４８ｃの一方の入口は制御弁４７ｈを介して油圧ポンプ４２に接続されている（以下では，適宜，８つの制御弁４７ａ−４７ｈをまとめて制御弁４７と，３つのシャトル弁４８ａ−４８ｃをまとめてシャトル弁４８と称することがある）。シャトル弁４８は，２つの入口と１つの出口をもち，２つの入口のうち高圧側の入口が出口に接続されるものである。
【００２６】
各制御弁４７は，車体コントローラ５１と電気的に接続された電磁弁であり，車体コントローラ５１から出力される制御信号（指令電圧または指令電流）に基づいてその弁開度が制御され，その弁開度に応じたパイロット圧を生成する。生成されたパイロット圧は半自動制御時に方向制御弁４５に出力される。制御弁４７ａ，４７ｂ，４７ｃ，４７ｆ，４７ｇの弁開度を小さくすれば操作レバー４４からのパイロット油の流量を少なくすることができる。これはつまり，オペレータの操作レバー４４の操作入力によって規定される速度よりも，実際に動く作業装置４の速度を車体コントローラ５１が遅くしたり停止させたりすることができるということである。残りの制御弁４７ｄ，４７ｅ，４７ｈは操作レバー４４を介さず直接油圧ポンプ４２に接続されているため，その弁開度を大きくすれば方向制御弁４５にパイロット油を送ることができる。これはつまり，オペレータの操作レバー４４の操作入力によって規定される速度よりも，実際に動く作業装置４の速度を車体コントローラ５１が速くすることができるということである。このような構成により，車体コントローラ５１はオペレータの操作に対して実際の作業装置４の速度を速くしたり遅くしたり（止めたり）することが可能となる。
【００２７】
遮断弁４６の下流側と各制御弁４７の上流側及び下流側には，遮断弁４６及び各制御弁４７の前後の圧力（パイロット圧）を検出する複数の油圧センサ（圧力センサ）４９が設けられている。油圧センサ４９ａは遮断弁４６の下流に設置されており，遮断弁４６が正しく開いているかどうかの確認に用いられる。油圧センサ４９ｂ，４９ｃはアーム操作速度の取得，油圧センサ４９ｄ，４９ｊはブーム操作速度の取得，油圧センサ４９ｅ，４９ｆはバケット操作速度の取得に用いられる。油圧センサ４９ｇ〜４９ｌは制御弁４７によって制御された後の実際の指令速度の取得に用いられる。各油圧センサ４９ｂ〜４９ｌで検出された圧力から指令速度への変換は予めキャリブレーションなどを行って用意された変換テーブルによって行われる。
【００２８】
操作装置４４への操作入力に基づいてアクチュエータ（油圧シリンダ）１８ａ，１８ｂ，１８ｃを制御する手動制御（第１制御）では，車体コントローラ５１が制御弁４７ａ，４７ｂ，４７ｃ，４７ｆ，４７ｇの弁開度を最大（開放）に，制御弁４７ｄ，４７ｅ，４７ｈの弁開度を最小（遮断）に設定することで，操作レバー４４からのパイロット圧がそのまま方向制御弁４５に流れ，オペレータの操作通りに作業装置４を操作できる状態となる。一方，操作装置４４の操作中に当該操作とは無関係に又は当該操作の一部を利用して，所定の条件（本実施形態では設計面６０とバケット先端１５０の距離ｄ（後述））に従ってアクチュエータ（油圧シリンダ）１８ａ，１８ｂ，１８ｃを制御する半自動制御（第２制御）では，車体コントローラ５１が当該所定の条件を満たす各アクチュエータ１８ａ，１８ｂ，１８ｃの目標速度を演算し，その演算した目標速度に応じた弁開度に制御弁４７を設定することで，当該所定の条件に従って作業装置４を制御できる状態となる。つまり，車体コントローラ５１はアクチュエータ（油圧シリンダ）１８ａ，１８ｂ，１８ｃの制御を手動制御と半自動制御の２つの制御のいずれか一方に切り換えることが可能である。車体コントローラ５１に対して２つの制御のいずれを使用するかの指示は，上部旋回体１１上の運転室内に設けられた切り替えスイッチ５６（図３に図示）を介してオペレータが行うことができる。また，車体コントローラ５１内の状態遷移部５１ａ（図３に図示）に入力される状態遷移信号（後述）に基づいて２つの制御が切り替えられることもある。
【００２９】
車体コントローラ５１、ガイダンスコントローラ５２及びＧＮＳＳコントローラ５３は，それぞれ，処理装置（例えばＣＰＵ）と，処理装置が実行するプログラム及びそのプログラムの実行に必要なデータ等が格納される記憶装置（例えばＲＯＭ，ＲＡＭ等の半導体メモリ）を有するコンピュータ相当のハードウェアである。図３は車体コントローラ５１、ガイダンスコントローラ５２及びＧＮＳＳコントローラ５３によって実行される各種演算処理を機能ブロックで示した図である。なお，本実施形態では実機に即して３つのコントローラ５１，５２，５３を備えたが，これらを例えば１つのコントローラに統合しても良いし，さらに機能を分離して４つ以上のコントローラで同様の機能を実現できるシステムを構成しても良い。
【００３０】
＜ＧＮＳＳコントローラ５３＞
ＧＮＳＳコントローラ５３は，２つのアンテナ２が受信した信号から２つのアンテナ２の位置を測定するための測位用のコントローラである。なお，アンテナ測位の方法には様々な種類が存在し，本発明はこれらを限定するものではない。例えば現場に設置したＧＮＳＳアンテナを有する基準局から補正情報を受信し，より高精度に自己位置を取得するＲＴＫ−ＧＮＳＳ（Ｒｅａｌ  Ｔｉｍｅ  Ｋｉｎｅｍａｔｉｃ−ＧＮＳＳ）という手法を用いてもよい。この場合，油圧ショベル１には基準局からの補正情報を受信するための受信機が必要となるが，より精度良くアンテナ２の自己位置を測定できる。
【００３１】
ＧＮＳＳコントローラ５３は図３に示すように緯度経度演算部５３ａを備えている。ＧＮＳＳコントローラ５３は，緯度経度演算部５３ａにおいて，ＧＮＳＳアンテナ２ａ，２ｂから入力した複数のＧＮＳＳ衛星からの信号を基にＧＮＳＳアンテナ２ａ，２ｂの地球上の位置（例えば緯度，経度，標高）を演算し，その結果をガイダンスコントローラ５２へ送信する。
【００３２】
＜ガイダンスコントローラ５２＞
ガイダンスコントローラ５２は，図３に示すように，ＩＭＵ３及びＧＮＳＳコントローラ５３の出力に基づいて作業装置４の各フロント部材１３，１４，１５の位置及び姿勢を演算する作業装置位置姿勢演算部５２ａと，油圧ショベル１の施工対象の目標形状を示す３次元の設計データが記録された設計データ記憶部５２ｂと，設計データ記憶部５２ｂに格納された３次元の設計データと作業装置４の動作平面の交線から２次元の設計面データ（設計面の線分データ）を演算する設計面演算部５２ｃと，ＩＭＵ３やＧＮＳＳコントローラ５３の動作状況やバケット先端１５０付近の設計面６０の有無等を管理するガイダンス状態管理部５２ｄを備えている。
【００３３】
ガイダンスコントローラ５２は上部旋回体１１のどの位置にＧＮＳＳアンテナ２が配置されているかという情報を記憶装置に格納しており，作業装置位置姿勢演算部５２ａはＧＮＳＳコントローラ５３から入力されるＧＮＳＳアンテナ２の位置から逆算して，上部旋回体１１の地球上の位置（地理座標系上の位置）を求めることができる。これによりＧＮＳＳアンテナ２は作業装置４及びそれが取り付けられた上部旋回体１１の位置センサとして機能し得る。本実施形態の油圧ショベル１にはＧＮＳＳアンテナ２が２つ搭載されていることから，２つのＧＮＳＳアンテナ２の位置から上部旋回体１１の方位（ブーム１３，アーム１４，バケット１５がどの方向を向いているか）も知ることができる。ＧＮＳＳコントローラ５３によって演算された地理座標系上の上部旋回体１１の位置と方位は適宜任意の座標系上の位置と方位に変換して利用することもできる。
【００３４】
また，作業装置位置姿勢演算部５２ａは，ＩＭＵ３から入力した加速度，角速度などの計測情報を基に各ＩＭＵ３の自己姿勢を演算できる。このため，作業装置位置姿勢演算部５２ａは車体ＩＭＵ３ａからの情報により上部旋回体１１の前後傾斜，左右傾斜を演算でき，ブームＩＭＵ３ｂからの情報によりブーム１３の回転姿勢，アームＩＭＵ３ｃからの情報によりアーム１４の回転姿勢を演算できる。また，作業装置位置姿勢演算部５２ａは，バケットＩＭＵ３ｄからの情報によりバケットリンク１６の回転姿勢を知ることができ，アーム１４の回転姿勢と，アーム１４，バケットリンク１６，１７及びバケット１５からなる四節リンク機構の寸法情報とを基に演算することで，バケット１５の回転姿勢を演算できる。
【００３５】
このようにして，作業装置位置姿勢演算部５２ａは，地理座標系における上部旋回体１１の位置，方位，前後傾斜，左右傾斜を演算でき，上部旋回体１１が地球上のどの位置にどのような姿勢で存在するかを演算できる。また，ブーム１３，アーム１４，バケット１５のそれぞれの回転中心及びバケット先端（バケット爪先とも称する）１５０のうち作業装置４の動作平面上で隣接するもの同士の寸法情報がガイダンスコントローラ５２内の記憶装置に記憶されている。そのため，作業装置位置姿勢演算部５２ａは，各ＩＭＵ３で取得される各フロント部材１３，１４，１５の回転姿勢の情報と組み合わせることで上部旋回体１１（例えばブーム１３の基端側の回転中心の位置）に対するバケット先端１５０の位置を知ることができる。
【００３６】
したがって，作業装置位置姿勢演算部５２ａは，地理座標系における上部旋回体１１と作業装置４の各フロント部材１３，１４，１５の位置，姿勢及び方位の情報（バケット先端１５０の位置情報を含む）を求めることができる。これらの情報は，ガイダンスコントローラ５２内のガイダンス状態管理部５２ｄ及び設計面演算部５２ｃ，車体コントローラ５１内の目標動作生成部５１ｃ，ガイダンスモニタ５４等に出力される。
【００３７】
設計面演算部５２ｃは，作業装置位置姿勢演算部５２ａから入力されるフロント部材１３，１４，１５の位置，姿勢及び方位の情報から最新の作業装置４の動作平面を演算し，その動作平面と設計データ記憶部５２ｂに格納された３次元の設計データとの交線から半自動制御に利用する設計面６０の線分データを演算する。設計面演算部５２ｃは設計面６０の線分データをガイダンスモニタ５４や車体コントローラ５１内の目標動作生成部５１ｃ等に出力する。
【００３８】
ガイダンス状態管理部５２ｄは，ＩＭＵ３やＧＮＳＳコントローラ５３の動作状況やバケット先端１５０付近の設計面６０の有無等を管理している。ガイダンス状態管理部５２ｄは，各ＩＭＵ３のセンサ出力を監視して，ＩＭＵ３に異常が発生しているか否かを判断する。例えば，ＩＭＵ３からの信号の停止が検知された場合には，ＩＭＵ３の機能停止や断線などによりＩＭＵ３に異常が生じたと判断する。ＩＭＵ３に異常が生じたと判断した場合，ガイダンス状態管理部５２ｄは第１状態切替信号を車体コントローラ５１内の状態遷移部５１ａに出力する。
【００３９】
「第１状態切替信号」は，半自動制御による油圧シリンダ１８の制御に必要なハードウェア及びソフトウェアに異常が発生して半自動制御の実行が不可能な状態になったため，半自動制御を強制的に手動制御に切り替える信号である。換言すると，車体コントローラ５１による半自動制御の実行を禁止し，手動制御の実行のみを許可する半自動制御禁止モード（手動制御モード）への強制的な切り替え信号でもある。本実施形態における状態切替信号にはさらに第２状態切替信号と第３切替信号がある。「第２状態切替信号」は，オペレータが所望する任意のタイミングで半自動制御を手動制御に切り替える信号である。換言すると，半自動制御を許可する半自動制御許可モード（半自動制御モード）を，半自動制御を禁止する半自動制御禁止モード（手動制御モード）に任意に切り替える信号でもある。「第３状態切替信号」は，オペレータが所望する任意のタイミングで手動制御を半自動制御に切り替える信号である。換言すると，半自動制御を禁止する半自動制御禁止モード（手動制御モード）を，半自動制御を許可する半自動制御許可モード（半自動制御モード）に任意に切り替える信号でもある。
【００４０】
また，ガイダンス状態管理部５２ｄは，ＧＮＳＳコントローラ５３から入力されるアンテナ２の測位情報を監視して，アンテナ２の測位に異常が発生しているか否かを判断する。例えば，ＧＮＳＳコントローラ５３からの信号の停止が検知された場合，ＧＮＳＳコントローラ５３から入力される測位精度が所定の閾値を下回って低下した場合，アンテナ２の測位が不能であることを示す情報がＧＮＳＳコントローラ５３から入力された場合には，アンテナ２の測位（ＧＮＳＳ）に異常が生じたと判断する。ＧＮＳＳに異常が生じたと判断した場合，ガイダンス状態管理部５２ｄは第１状態切替信号を車体コントローラ５１内の状態遷移部５１ａに出力する。なお，ＧＮＳＳについてはＧＮＳＳコントローラ５３内で異常を検知し，それをガイダンスコントローラ５２内のガイダンス状態管理部５２ｄに伝えてもよいし，車体コントローラ５１内の状態遷移部５１ａに直接伝えても良い。
【００４１】
また，ガイダンス状態管理部５２ｄは，設計面演算部５２ｃから入力される設計面６０の位置情報と，作業装置位置姿勢演算部５２ａから入力されるバケット１５の位置情報・姿勢情報（バケット先端１５０の位置情報を含む）を監視して，バケット１５の近傍に半自動制御の制御対象となる設計面６０が存在しているか否かを判断する。例えば，設計面６０が存在する領域Ｒ（図８参照。但し図８の設計面の符号は６１）をその鉛直方向から見て，バケット１５上の任意の点が当該領域の外に出た場合，バケット１５の近傍に設計面６０が存在しない（換言すれば，設計面６０が存在する領域の外にバケット１５が存在する）と判断することができる。バケット１５の近傍に設計面６０が存在しないと判断した場合，ガイダンス状態管理部５２ｄは第１状態切替信号を車体コントローラ５１内の状態遷移部５１ａに出力する。
【００４２】
＜ガイダンスモニタ・スピーカ＞
ガイダンスモニタ５４は、現在の作業装置４の姿勢やバケット先端１５０近傍の設計面６０（設計データ）の形状や，バケット先端１５０と設計面６０との距離情報（ｄ）などが表示されるモニタである。本実施形態では，オペレータからの入力操作を受け付ける機能を有するタッチパネル式のモニタで構成されており，処理装置（例えばＣＰＵ）と，処理装置が実行する表示や入力関係のプログラム及びそのプログラムの実行に必要なデータ等が格納される記憶装置（例えばＲＯＭ，ＲＡＭ等の半導体メモリ）を有するコンピュータ相当のハードウェアを内蔵している。ガイダンスモニタ５４は，モニタに表示する情報を制御する表示制御部５４ａと，モニタに入力されるオペレータのタッチ操作を入力情報に変換する入力情報処理部５４ｂを備えている。
【００４３】
表示制御部５４ａは，ガイダンスコントローラ５２から入力される設計データや油圧ショベル１の作業装置４の姿勢，バケット先端１５０と設計データとの相対位置関係などの情報をガイダンスモニタ５４に表示する。例えば，設計面６０の線分データとバケット１５の側面画像を表示することで，バケット１５と設計面６０の最新の位置関係をオペレータに報せることができる。オペレータはガイダンスモニタ５４から得られるこれらの情報を基に，例えば設計データ（設計面６０）とバケット先端１５０との距離ｄがゼロに保持されるように作業装置４を操作することで，設計データ通りの目標形状となるように掘削作業を行うことができる。
【００４４】
また，ガイダンスコントローラ５２は，スピーカ５５を用いて設計面６０とバケット先端１５０との相対位置関係をアラームの音量，発音間隔，音色の変化などでオペレータへ伝達することもできる。例えば，バケット先端１５０が設計面６０に近づくほど，音量を大きくしたり，発音間隔を短くしたり，周波数を高くしたりすることができる。これによりオペレータはガイダンスモニタ５４を注視しなくても，スピーカ５５からのアラームの変化によって，例えば目標形状とバケット先端１５０との距離がゼロとなるように作業装置４を操作することができる。
【００４５】
ガイダンスコントローラ５２は，設計データ（設計面６０）や作業装置４の姿勢，設計面６０とバケット先端１５０と相対位置関係などの情報を車体コントローラ５１に送信する。車体コントローラ５１では，半自動制御（第２制御）において，これらの情報を基に例えば設計面６０とバケット先端１５０との距離ｄがゼロとなるように作業装置４を制御し，設計データ通りの目標形状となるような掘削作業をオペレータの操作によらず，またはオペレータの操作に介入して行うことができる。次に車体コントローラ５１で行われる半自動制御の詳細について説明する。
【００４６】
＜車体コントローラ＞
車体コントローラ５１は，操作装置４４への操作入力に基づいてアクチュエータ（油圧シリンダ）１８ａ，１８ｂ，１８ｃを制御する手動制御（第1制御）と，操作装置４４の操作中に設計面６０と作業装置４（バケット先端１５０）との距離ｄに基づいてアクチュエータ（油圧シリンダ）１８ａ，１８ｂ，１８ｃを制御する半自動制御（第２制御）の２つの制御のいずれか一方によってアクチュエータ（油圧シリンダ）１８ａ，１８ｂ，１８ｃを制御する。この機能を発揮するために，車体コントローラ５１は，状態切替信号（第１，第２，第３状態切替信号）の入力に基づいて手動制御（第１制御）と半自動制御（第２制御）を切り替える状態遷移部５１ａと，手動制御と半自動制御が切り替わる際の油圧シリンダ（アクチュエータ）１８ａ−１８ｃの速度の時間変化率の制限値を設定する速度遷移部５１ｂと，油圧シリンダ（アクチュエータ）１８ａ−１８ｃの目標速度を演算する目標動作生成部５１ｃと，油圧シリンダ（アクチュエータ）１８ａ−１８ｃを目標速度で動作するための制御弁４７への制御指令を演算・出力するアクチュエータ制御部５１ｄを備えている。
【００４７】
状態遷移部５１ａは，目標動作生成部５１ｃで行われる油圧シリンダ（アクチュエータ）１８ａ−１８ｃの制御方式を切替スイッチ５６及びガイダンスコントローラ５２内のガイダンス状態管理部５２ｄ及び車体コントローラ５１内の目標動作生成部５１ｃから入力される状態切替信号（第１，第２，第３状態切替信号）に基づいて手動制御（第１制御）と半自動制御（第２制御）のいずれかに切り替える。第１状態切替信号は，ガイダンスコントローラ５２内のガイダンス状態管理部５２ｄと，車体コントローラ５１内の目標動作生成部５１ｃから入力される。第２及び第３状態切替信号は，油圧ショベル１の運転席内に設置された切り替えスイッチ５６から入力される。
【００４８】
切り替えスイッチ５６は，任意のタイミングでオペレータによって操作される２位置切替式のスイッチであり，半自動制御を禁止する半自動制御禁止モード（手動制御モード）が選択される第１位置と，半自動制御を許可する半自動制御許可モード（半自動制御モード）が選択される第２位置を有する。切替スイッチ５６が第２位置から第１位置へ切り替えられると第２状態切替信号が状態遷移部５１ａに対して出力される。一方，切替スイッチ５６が第１位置から第２位置へ切り替えられると第３状態切替信号が状態遷移部５１ａに対して出力される。
【００４９】
第１及び第２状態切替信号を入力した状態遷移部５１ａは，状態切替信号の入力時に半自動制御（第２制御）が実行中の場合には半自動制御（第２制御）を手動制御（第１制御）に切り替え，状態切替信号の入力時に手動制御（第１制御）が実行中の場合にはそれ以後の半自動制御の実行を禁止する。一方，第３状態切替信号を入力した状態遷移部５１ａは，状態切替信号の入力時に半自動制御が実行される条件が満たされている場合には手動制御（第１制御）から半自動制御（第２制御）に切り替え，状態切替信号の入力時に半自動制御が実行される条件が満たされていない場合には手動制御（第１制御）を継続する。
【００５０】
速度遷移部５１ｂは，手動制御と半自動制御からなる２つの制御が状態遷移部５１ａによって切り替えられ，制御対象のアクチュエータ（油圧シリンダ）１８ａ，１８ｂ，１８ｃの速度が２つの制御のうち切り替え前の制御が規定する速度から切り替え後の制御が規定する速度に変化するときにおける当該アクチュエータ（油圧シリンダ）１８ａ，１８ｂ，１８ｃの速度の時間変化率の制限値（「速度変化率」とも称する）を第１変化率Ｉ１に設定する。そして，速度遷移部５１ｂは，状態遷移部５１ａによって２つの制御が切り替えられ当該アクチュエータ（油圧シリンダ）１８ａ，１８ｂ，１８ｃの速度が，切り替え後の制御が規定する速度に変化するまでの間に操作装置４４への操作入力が変化した場合，当該アクチュエータ（油圧シリンダ）１８ａ，１８ｂ，１８ｃの速度の時間変化率を，第１変化率Ｉ１から第１変化率よりも大きい第２変化率Ｉ２に変更する。２つの制御の切り替え時の速度変化率が第１変化率Ｉ１から第２変化率Ｉ２に変更されると，２つの制御間で速度の切り換えに要する時間を短縮することができるとともに，速度の切り換え後の制御を開始するまでの待ち時間を短縮できる。
【００５１】
目標動作生成部５１ｃは，手動制御時の各油圧シリンダ１８ａ，１８ｂ，１８ｃの目標速度と，半自動制御時の各油圧シリンダ１８ａ，１８ｂ，１８ｃの目標速度を演算する部分である。手動制御と半自動制御のいずれの制御を利用するかは状態遷移部５１ａからの指示に基づいて決定する。
【００５２】
＜半自動制御時の目標動作生成部５１ｃ＞
半自動制御時において，目標動作生成部５１ｃは，ガイダンスコントローラ５２から入力される情報に基づいて設計面６０と作業装置４（バケット先端１５０）との距離ｄを演算する。そして，操作装置４４の操作時に，作業装置４の動作範囲が設計面６０上及びその上方に制限されるように各油圧シリンダ１８ａ，１８ｂ，１８ｃの目標速度を距離ｄに応じて演算する。本実施の形態では下記の演算を行う。
【００５３】
まず，目標動作生成部５１ｃは，まず，操作レバー４４ｂから入力される電圧値（ブーム操作量）からブームシリンダ１８ａへの要求速度（ブームシリンダ要求速度）を計算し，操作レバー４４ｃから入力される電圧値（アーム操作量）からアームシリンダ１８ｂへの要求速度を計算し，操作レバー４４ｄから入力される電圧値（バケット操作量）からバケットシリンダ１８ｃへの要求速度を計算する。この３つの要求速度と作業装置位置姿勢演算部５２ａで演算された作業装置４の各フロント部材１３，１４，１５の姿勢から，バケット先端１５０における作業装置４の速度ベクトル（要求速度ベクトル）Ｖ０（図５の左の図参照）を計算する。そして，速度ベクトルＶ０の設計面鉛直方向の速度成分Ｖ０ｚと設計面水平方向の速度成分Ｖ０ｘも計算する。
【００５４】
次に，目標動作生成部５１ｃは，距離ｄに応じて決定される補正係数ｋを演算する。図４はバケット先端１５０と設計面６０の距離ｄと速度補正係数ｋとの関係を表すグラフである。バケット先端１５０（作業装置４の制御点）が設計面６０の上方に位置している時の距離を正，設計面６０の下方に位置している時の距離を負として，距離ｄが正の時は正の補正係数を，距離ｄが負の時は負の補正係数を，１以下の値として出力する。なお，速度ベクトルは設計面６０の上方から設計面６０に近づく方向を正としている。
【００５５】
次に，目標動作生成部５１ｃは，距離ｄに応じて決定される補正係数ｋを，速度ベクトルＶ０の設計面鉛直方向の速度成分Ｖ０ｚに乗ずることによって速度成分Ｖ１ｚ（図５の右の図参照）を計算する。この速度成分Ｖ１ｚと，速度ベクトルＶ０の設計面水平方向の速度成分Ｖ０ｘとを合成することで合成速度ベクトル（目標速度ベクトル）Ｖ１を計算し，この合成速度ベクトルＶ１を発生可能なブームシリンダ速度と，アームシリンダ速度（Ｖａ１）と，バケットシリンダ速度をそれぞれ目標速度として演算する。この目標速度の演算の際には，作業装置位置姿勢演算部５２ａで演算された作業装置４の各フロント部材１３，１４，１５の姿勢を利用しても良い。目標動作生成部５１ｃは，計算した各油圧シリンダの目標速度をアクチュエータ制御部５１ｄに出力する。
【００５６】
図５はバケット先端１５０における距離ｄに応じた補正前後の速度ベクトルを表す模式図である。要求速度ベクトルＶ０の設計面鉛直方向の成分Ｖ０ｚ（図５の左の図参照）に速度補正係数ｋを乗じることにより，Ｖ０ｚ以下の設計面鉛直方向の速度ベクトルＶ１ｚ（図５の右の図参照）が得られる。Ｖ１ｚと要求速度ベクトルＶ０の設計面水平方向の成分のＶ０ｘとの合成速度ベクトルＶ１を計算し，Ｖ１を出力可能なアームシリンダ目標速度と，ブームシリンダ目標速度と，バケットシリンダ目標速度とが計算される。
【００５７】
＜手動動制御時の目標動作生成部５１ｃ＞
手動制御時において，目標動作生成部５１ｃは，まず，操作レバー４４ｂから入力される電圧値（ブーム操作量）からブームシリンダ１８ａの目標速度（半自動制御のブームシリンダ要求速度と同じ）を計算し，操作レバー４４ｃから入力される電圧値（アーム操作量）からアームシリンダ１８ｂの目標速度（半自動制御のアームシリンダ要求速度と同じ）を計算し，操作レバー４４ｄから入力される電圧値（バケット操作量）からバケットシリンダ１８ｃの目標速度（半自動制御のバケットシリンダ要求速度と同じ）を計算する。目標動作生成部５１ｃは，計算した各油圧シリンダの目標速度をアクチュエータ制御部５１ｄに出力する。
【００５８】
＜異常検出時の目標動作生成部５１ｃ＞
また，目標動作生成部５１ｃは，遮断弁４６及び各制御弁４７の前後に配置され，遮断弁４６及び各制御弁４７の前後の圧力（パイロット圧）を検出する複数の油圧センサ（圧力センサ）４９と，遮断弁４６と，複数の制御弁４７とを含む半自動制御に必要なハードウェアの異常の有無を管理している。目標動作生成部５１ｃは，車体コントローラ５１（例えばアクチュエータ制御部５１ｄ）が遮断弁４６及び各制御弁４７に出力している制御信号（例えば指令電流）が規定するパイロット圧の値（目標値）と，各油圧センサ４９が検出するパイロット圧の値（実際の値）とを比較することで遮断弁４６及び各制御弁４７及び各油圧センサ４９に異常が発生したか否かを判断する。例えば，油圧センサ４９による制御弁４７の上流側の圧力検出値が十分高い状態で，車体コントローラ５１からは制御弁４７の下流側で一定の圧力を出力するように規定する指令電流を制御弁４７に出力していた場合に，油圧センサ４９による制御弁４７の下流側の圧力検出値が指令値よりも明らかに高いまたは低いときには，制御弁４７又は油圧センサ４９に異常が発生している（正常でない）と推定できる。なお，目標動作生成部５１ｃは，自身（目標動作生成部５１ｃ）が演算したアクチュエータ目標速度と，各油圧センサ４９が検出するパイロット圧の値（実際の値）とを比較することで各制御弁４７及び各油圧センサ４９に異常が発生したか否かを判断しても良い。このように目標動作生成部５１ｃは，半自動制御によってアクチュエータ（油圧シリンダ）１８ａ，１８ｂ，１８ｃが制御されている間に，車体コントローラ５１で生成された制御信号が規定する圧力値と油圧センサ４９の検出値とを比較して，遮断弁４６，制御弁４７及び油圧センサ４９のいずれかに異常が発生したと判定した場合，半自動制御（第２制御）を手動制御（第１制御）に切り替える第１状態切替信号を状態遷移部５１ａに出力する。
【００５９】
アクチュエータ制御部５１ｄは，目標動作生成部５１ｃで演算された各油圧シリンダ１８ａ，１８ｂ，１８ｃの目標速度に基づいて，各制御弁４７への制御信号（制御弁指令電流）を演算し，その制御信号を対応する制御弁４７に出力することで方向制御弁４５を制御する部分である。このように制御される方向制御弁４５によって，各油圧シリンダ１８ａ，１８ｂ，１８ｃは目標動作生成部５１ｃで計算された目標速度に従って動作する。
【００６０】
図６は油圧ショベル１と設計面（設計データ）６０との関係を示す図である。施工対象の目標形状を示す設計面６０には，一つの面からなる単平面データや，複数の面を組合せた複数面データなどがある。図６においては，平面６０が設計面としてガイダンスコントローラ５２に記録されているとし，この平面６０を目標形状として作業装置４を制御する例について以下で説明する。
【００６１】
＜手動制御による設計面の掘削＞
手動制御（第１制御）の油圧ショベル１によって目標形状を達成する掘削作業を行うには，ブーム１３，アーム１４，バケット１５からなる作業装置４を適切に動作させ，バケット先端１５０が目標形状に沿うように動かすことが必要となる。つまり，平面６０とバケット先端１５０との距離ｄが常にゼロとなるようにバケット１５が動作すれば，バケット先端１５０の通った軌跡，つまり掘削仕上げ面は平面６０と一致する。本実施の形態に係わる油圧ショベル１にはガイダンスモニタ５４が備わっており，前述の通りガイダンスモニタ５４に現在の作業装置４の姿勢情報や目標形状の情報，及び目標形状とバケット先端１５０との相対位置関係（距離ｄの情報）などが表示される。このため，手動制御においては，オペレータはこれらの情報を適宜参照することによって，アーム曲げ操作（アームクラウド操作）によってバケット１５を車体側に引き寄せる動作を行いながら，ブーム上げ／下げ操作によって距離ｄがなるべくゼロになるよう調整することで，目標形状を達成する掘削作業を行うことができる。
【００６２】
＜半自動制御による設計面の掘削＞
一方，半自動制御（第２制御）においては，オペレータは手動制御時の同様にアーム曲げ操作を行うが，ブーム上げ／下げ操作による距離ｄの調整を行う必要はなく，ブーム１３の移動速度は車体コントローラ５１によって制御される。図６の油圧ショベル１の作業装置４の姿勢においてオペレータがアーム曲げ操作を行うと，ブーム１３とアーム１４とを回転支持する関節１４０を中心にアーム１４が平面６０に近づく方向に駆動され，その結果バケット１５も平面６０に近づくので距離ｄはゼロに近づく。そのままアーム１４が駆動されるとバケット先端１５０は平面６０を通り過ぎ，距離ｄは離れていく。
【００６３】
ここで，距離ｄに応じて適切な速度でブーム１３（ブームシリンダ１８ａ）が駆動されれば，距離ｄをゼロ付近に保ちつつ掘削作業を行うことができる。本実施の形態では，ガイダンスコントローラ５２から得られる作業装置４の現在の姿勢やアーム１４の移動速度，設計面６０や距離ｄを含む設計面６０と作業装置４との相対位置関係などの情報を基に，車体コントローラ５１が距離ｄをゼロ付近に保つようなブームシリンダ１８ａの目標速度を演算し，制御弁４７ｃ，４７ｄの弁開度を制御することによって演算された目標速度通りにブームシリンダ１８ａを駆動する。
【００６４】
ここで，図７に示すように，バケット先端１５０と関節１４０とを結んだ直線Ｌと平面６０とが直交するときの作業装置４の姿勢を直交姿勢ということとする。一連の掘削作業の中で，アーム曲げ操作に対して，直交姿勢になる瞬間まではブーム上げ動作，直交姿勢になった直後からはブーム下げ動作を行うことで，バケット先端１５０を平面６０に沿うように動作させることができる。
【００６５】
ブーム上げ動作については，車体コントローラ５１が制御弁４７ｄの弁開度を大きくすることによって実行できる。
【００６６】
しかし，ブーム下げ動作については，車体コントローラ５１が制御弁４７ｃの弁開度を調整するだけでは実行できない。これは，制御弁４７ｃと油圧ポンプ４２との間に操作レバー４４ｂがあるからであり，操作レバー４４ｂをブーム下げ方向に操作しなければ，制御弁４７ｃにはパイロット油は流れない。このため，ブーム下げ動作を制御するためには，オペレータに操作レバー４４ｂに対してブーム下げ方向の操作を入力してもらわなければならず，操作レバー４４ｂから制御弁４７ｃにパイロット油が供給されれば，車体コントローラ５１が制御弁４７ｃの弁開度を調整することでブーム下げ方向の移動速度を制御できる。
【００６７】
このような構成において，オペレータの操作としては操作レバー４４ｂに対してブーム下げ方向に最大入力となる操作をしつつ，操作レバー４４ａに対してアーム曲げ方向の操作を入力するという場合が考えられる。この場合，直交姿勢までは車体コントローラ５１が制御弁４７ｃの弁開度を最小（遮断）にし，制御弁４７ｄの弁開度を適切に大きくしてブーム上げ動作を行う。そして，直交姿勢後は制御弁４７ｄの弁開度を最小（遮断）にし，制御弁４７ｃの弁開度を大きくしてブーム下げ動作を行うことで，目標形状を達成する掘削作業を実行できる。また，オペレータはブーム操作を調整する必要はなく，ただ最大入力（操作レバー４４ｂをブーム下げ方向に最大まで倒す）を入れ続ければよい。
【００６８】
図８は図６と同様に油圧ショベルと設計面６１との関係を示す図である。図８においては，目標形状を示す設計面として平面６１がガイダンスコントローラ５２に記録されているとする。平面６１は範囲Ｒ内のみに存在する単平面である。
【００６９】
半自動制御において，車体コントローラ５１は前述の通り距離ｄなどの情報を基にブームシリンダ１８ａの目標速度を演算し，ブーム１３の動作を制御する。ただし，図８に示すように，バケット１５やバケット先端１５０が設計面６１の存在する範囲外，つまり平面６１の存在する範囲Ｒの外に出た場合，距離ｄなど（目標形状と作業装置４との相対位置関係）を得ることができず，半自動制御が実行できない状況となる。半自動制御においてこのような制御を継続できない状況になった場合には，強制的に手動制御に切り替えてオペレータに操作を委ねる必要がある。この時，オペレータが操作レバー４４ｂに対して上記のような事情でブーム下げ方向に最大入力操作を行っていたとすると，半自動制御から手動制御に切り替わった瞬間にブーム下げ動作が急加速し，図８の矢印Ａの方向に作業装置が急動作して車体が不安定な状態となる可能性がある。これを抑制するため，本実施の形態では，車体コントローラ５１がブームシリンダ１８ａの速度変化率を制限し，急加速の発生を防止する。ただし，オペレータの操作レバーに対する操作入力が閾値以上の割合で変化した場合，速度変化率の制限を緩和又は解除することで，オペレータの操作と実際の作業装置４の動きとが異なることによるオペレータの違和感を抑制する。
【００７０】
次に，半自動制御と，半自動制御から手動制御への遷移時に行われる速度遷移制御と，手動制御についてフローチャートを用いて説明する。ここでは説明を簡単にするために，半自動制御でブームシリンダ１８ａ（すなわちブーム１３）のみを制御するものとする。
【００７１】
図９は半自動制御時の車体コントローラ５１及びガイダンスコントローラ５２による処理の流れを示すフローチャートである。車体コントローラ５１及びガイダンスコントローラ５２は操作装置４４がオペレータにより操作されると図９の処理を開始する。まず，ガイダンスコントローラ５２内の作業装置位置姿勢演算部５２ａは，ＩＭＵ３から各フロント部材１３，１４，１５及び上部旋回体１１の傾斜角の情報や，ＧＮＳＳアンテナ２の航法信号に基づいてＧＮＳＳコントローラ５３で演算される油圧ショベル１の位置情報，姿勢情報（角度情報）及び方位情報や，予め記憶されている各フロント部材１３，１４，１５の寸法情報等に基づき地理座標系におけるバケット先端１５０（制御点）の位置情報を演算する（手順Ｓ１）。
【００７２】
手順Ｓ２では，ガイダンスコントローラ５２内の設計面演算部５２ｃが，作業装置位置姿勢演算部５２ａで演算された地理座標系におけるバケット先端１５０の位置情報（油圧ショベル１の位置情報を利用しても良い）を基準として所定の範囲に含まれる設計面６０の位置情報（設計データ）を設計データ記憶部５２ｂから取得して，それを車体コントローラ５１内の目標動作生成部５１ｃに出力する。目標動作生成部５１ｃは，その設計データの中からバケット先端１５０に最も近い位置に在る設計面を制御対象の設計面６０，すなわち距離ｄを演算する設計面６０として設定する。
【００７３】
手順Ｓ３では，目標動作生成部５１ｃは，手順Ｓ１で取得したバケット先端１５０の位置情報と手順Ｓ２で取得した設計面６０の位置情報に基づいて距離ｄを演算する。
【００７４】
手順Ｓ４では，目標動作生成部５１ｃは，手順Ｓ３で演算した距離ｄと，操作装置４４から入力される各操作レバーの操作量（圧力値）とに基づいて，作業装置４が動作してもバケット先端１５０が設計面６０上またはその上方に保持されるように各油圧シリンダ１８ａ，１８ｂ，１８ｃの目標速度を演算する。
【００７５】
手順Ｓ５では，アクチュエータ制御部５１ｄが各油圧シリンダの目標速度に基づいて各制御弁４７を駆動する制御信号（例えば指令電流）を演算し，その制御信号に対応する制御弁４７にそれぞれ出力する。これにより各油圧シリンダ１８ａ，１８ｂ，１８ｃの目標速度（アクチュエータ目標速度）に基づいて各油圧シリンダ１８ａ，１８ｂ，１８ｃが駆動して各フロント部材１３，１４，１５が動作する。
【００７６】
手順Ｓ６では，目標動作生成部５１ｃは，半自動制御を手動制御に切り換える制御切替指示（この指示は，第１状態切替信号や第２状態切替信号が状態遷移部５１ａに入力された場合に出力される）が状態遷移部５１ａから入力されたか否かを判定する。当該制御切替指示が入力された場合には次に図１０を用いて説明する速度遷移制御を実行する。一方，当該制御切替指示の入力の無い場合には最初の手順Ｓ１に戻って半自動制御を続行する。
【００７７】
図１０は半自動制御から手動制御に切り替わる際の車体コントローラ５１の処理（速度遷移制御）の流れを示すフローチャートである。ここでは制御が切り替わった時刻（ｔ０）からの経過時間をｔとする（すなわち，時刻ｔ０における時間ｔは０となる）。また，時刻ｔにおける半自動制御によるブームシリンダ目標速度をＶａ（ｔ）とし，同様に時刻ｔにおける手動制御によるブームシリンダ目標速度をＶｏ（ｔ）とする。目標速度Ｖａ（ｔ）とＶｏ（ｔ）は時間ｔの関数である。なお図中において内容が同じ処理を実行する手順は同じ符号を付している。
【００７８】
手順Ｓ２１では，半自動制御を手動制御に切り換える指示（制御切替指示）が状態遷移部５１ａから入力されると，車体コントローラ５１内の速度遷移部５１ｂは，目標動作生成部５１ｃで利用される油圧シリンダ１８ａ，１８ｂ，１８ｃの速度変化率を第１変化率Ｉ１に設定する。
【００７９】
手順Ｓ２２では，目標動作生成部５１ｃは，切り替わり時（ｔ＝０）における半自動制御によるブームシリンダ目標速度Ｖａ（０）と，切り替わり時（ｔ＝０）における手動制御によるブームシリンダ目標速度Ｖｏ（０）を取得する。Ｖａ（０）は図９の手順Ｓ４で演算される値であり，Ｖｏ（０）は後述の図１１の手順Ｓ２１で演算される値と同じであり，Ｖａ（０）とＶｏ（０）は共に定数である。そこで，以下では半自動制御によるブームシリンダ目標速度Ｖａ（０）＝Ｖｃと表記することがある。
【００８０】
手順Ｓ２３では，目標動作生成部５１ｃは，Ｖａ（０）とＶｏ（０）の大小を比較する。そして，Ｖｏ（０）≦Ｖａ（０）が成立する場合（すなわち，Ｖａ（０）がＶｏ（０）以上の場合）には手順Ｓ２４に進み，そうでない場合（すなわち，Ｖａ（０）がＶｏ（０）未満の場合）には手順Ｓ２４Ａに進む。
【００８１】
手順Ｓ２４では，目標動作生成部５１ｃは，第１速度変化率Ｉ１（速度変化率）にｔを乗じたものをＶｃから減じた値をブームシリンダ１８ａの目標速度（Ｖａ（ｔ）＝Ｖｃ−Ｉ１・ｔ）として演算し，その目標速度に基づいて制御弁４７を制御することでブームシリンダ１８ａの制御を行う。
【００８２】
手順Ｓ２４Ａでは，目標動作生成部５１ｃは，第１速度変化率Ｉ１（速度変化率）にｔを乗じたものをＶｃに加えた値をブームシリンダ１８ａの目標速度（Ｖａ（ｔ）＝Ｖｃ＋Ｉ１・ｔ）として演算し，その目標速度に基づいて制御弁４７を制御することでブームシリンダ１８ａの制御を行う。
【００８３】
手順Ｓ２５では，目標動作生成部５１ｃは，時刻ｔにおける手動制御によるブームシリンダ目標速度Ｖｏ（ｔ）をオペレータの操作装置４４への入力操作量に基づいて演算する。この手順の演算は状態遷移部５１ｂで行っても良い。
【００８４】
手順Ｓ２６では，目標動作生成部５１ｃは，手順Ｓ２４又は手順Ｓ２４Ａで演算したＶａ（ｔ）と，手順Ｓ２５で演算したＶｏ（ｔ）が一致したか否かを判定する。Ｖａ（ｔ）とＶｏ（ｔ）が一致しない場合には速度遷移制御がまだ必要な状態と判断して手順Ｓ２７に進む。一方，Ｖａ（ｔ）とＶｏ（ｔ）が一致した場合には半自動制御を手動制御に切り換えてもブームシリンダ１８ａの速度変化は生じずオペレータに違和感を与えない状態となるため，図１１に示す通常の手動制御に移行する。
【００８５】
手順Ｓ２７では，状態遷移部５１ａは，油圧センサ４９で検出されるパイロット圧（操作装置４４への操作入力）に基づいて，半自動制御の対象の油圧シリンダ（ここではブームシリンダ１８ａ）の操作装置４４（ここでは操作レバー４４ｂ）に対してオペレータが入力する操作量の時間当たりの変化量（変化率）の絶対値が閾値Ｉ’０以上か否かを判定する。操作入力の変化率の絶対値が閾値Ｉ’０未満の場合は手順Ｓ２４に戻って速度変化率をＩ１に維持する。一方，操作入力の変化率の絶対値が閾値Ｉ’０以上の場合は手順Ｓ２８に進む。
【００８６】
閾値Ｉ’０の決め方は，例えば通常作業時のオペレータのブーム操作入力を一定期間記録し，その操作入力の時間当たりの変化量を求めて，一定期間内の変化量の最大値付近の値，もしくは最大値よりも大きな値を設定するという方法がある。これは，通常作業時にはほとんど入力しないような操作があった場合を緊急度の高い状況と考え，すぐにブーム１３を止めたいなど変化率制限値を大きくすることが必要な場面であると判断できるからである。
【００８７】
また，閾値Ｉ’０は速度変化率Ｉ１を操作量の変化率に変換した値Ｉ’１よりも大きい値に設定することもできる。本発明は，変化率の制限がかかった状態において，より早く変化させたいというオペレータの意図を操作入力から読み取り，速度変化率をより大きな値Ｉ２に変えるというものであり，速度変化率Ｉ１よりも大きなオペレータ操作入力の変化がその意図の一つの条件と考えられるからである。
【００８８】
なお，本実施形態では操作レバー４４ｂの操作入力の変化率が閾値Ｉ’０以上か否かを判定したが，これに代えて時刻ｔにおける手動制御によるブームシリンダ目標速度Ｖｏ（ｔ）の時間当たりの変化量（変化率）の絶対値が閾値Ｉ０以上か否かを判定しても良い。但し，この場合の速度の閾値Ｉ０は上記の操作量の閾値Ｉ’０と同様の考え方で決められたＩ’０と同等の値とする。なお，後述の図１２では速度の閾値Ｉ０を利用して本願の効果を説明している。
【００８９】
手順Ｓ２８では，速度遷移部５１ｂは，半自動制御の制御対象の油圧シリンダ（ここではブームシリンダ１８ａ）の速度変化率を第１変化率Ｉ１よりも大きい第２変化率Ｉ２に変更する。そして，目標動作生成部５１ｃは，速度変化率の変更時（ｔ＝ｔ１）における半自動制御によるブームシリンダ目標速度Ｖａ（ｔ１）を取得する。以上の処理が完了したら手順Ｓ２９又は手順Ｓ２９Ａに進む。
【００９０】
手順Ｓ２９では，目標動作生成部５１ｃは，第２速度変化率Ｉ１に（ｔ−ｔ１）を乗じたものをＶａ（ｔ１）から減じた値をブームシリンダ１８ａの目標速度（Ｖａ（ｔ）＝Ｖａ（ｔ１）−Ｉ２（ｔ−ｔ１））として演算し，その目標速度に基づいて制御弁４７を制御することでブームシリンダ１８ａの制御を行う。これにより速度制限が緩和されるのでブームシリンダ１８ａの速度が上昇して手動制御に移行する時間を短縮できる。
【００９１】
手順Ｓ２９Ａでは，目標動作生成部５１ｃは，第２速度変化率Ｉ１に（ｔ−ｔ１）を乗じたものをＶａ（ｔ１）に加えた値をブームシリンダ１８ａの目標速度（Ｖａ（ｔ）＝Ｖａ（ｔ１）＋Ｉ２（ｔ−ｔ１））として演算し，その目標速度に基づいて制御弁４７を制御することでブームシリンダ１８ａの制御を行う。これにより速度制限が緩和されるのでブームシリンダ１８ａの速度が上昇して手動制御に移行する時間を短縮できる。
【００９２】
手順Ｓ３０では，目標動作生成部５１ｃは，時刻ｔにおける手動制御によるブームシリンダ目標速度Ｖｏ（ｔ）をオペレータの操作装置４４への入力操作量に基づいて演算する。この手順の演算は状態遷移部５１ｂで行っても良い。
【００９３】
手順Ｓ３１では，目標動作生成部５１ｃは，手順Ｓ２９又は手順Ｓ２９Ａで演算したＶａ（ｔ）と，手順Ｓ３０で演算したＶｏ（ｔ）が一致したか否かを判定する。Ｖａ（ｔ）とＶｏ（ｔ）が一致しない場合には速度遷移制御がまだ必要な状態と判断して手順Ｓ２９に戻る。一方，Ｖａ（ｔ）とＶｏ（ｔ）が一致した場合には半自動制御を手動制御に切り換えてもブームシリンダ１８ａの速度変化は生じずオペレータに違和感を与えない状態となるため，図１１に示す通常の手動制御に移行する。
【００９４】
図１１は手動制御時の車体コントローラ５１による処理の流れを示すフローチャートである。手順Ｓ４１では，目標動作生成部５１ｃは，操作装置４４から入力される各操作レバーの操作量（圧力値）に基づいて，各油圧シリンダ１８ａ，１８ｂ，１８ｃの目標速度を演算する。
【００９５】
手順Ｓ４２では，手順Ｓ４１で演算したアクチュエータ制御部５１ｄが各油圧シリンダの目標速度に基づいて各制御弁４７を駆動する制御信号（例えば指令電流）を演算し，その制御信号に対応する制御弁４７にそれぞれ出力する。通常の手動制御では，制御弁４７ａ，４７ｂ，４７ｃ，４７ｆ，４７ｇの弁開度を最大（開放）に，制御弁４７ｄ，４７ｅ，４７ｈの弁開度を最小（遮断）に設定する制御信号が出力される。これにより，操作レバー４４からのパイロット圧がそのまま方向制御弁４５に流れ，オペレータの操作通りに作業装置４を操作できる状態となる。
【００９６】
手順Ｓ４３では，目標動作生成部５１ｃは，手動制御を半自動制御に切り換える制御切替指示（この指示は第３状態切替信号が状態遷移部５１ａに入力されると出力される）が状態遷移部５１ａから入力されたか否かを判定する。当該制御切替指示が入力された場合には図９を用いて説明した半自動制御を実行する。一方，当該制御切替指示の入力の無い場合には最初の手順Ｓ４１に戻って手動制御を続行する。
【００９７】
なお，本実施形態では手動制御から半自動制御に遷移する際には図１０の速度遷移制御に相当する制御を行っていないが，手動制御から半自動制御の場合も同様の速度遷移制御を行っても良い。
【００９８】
図１２は半自動制御から手動制御に切り替わる際のブームシリンダ速度の変化を示す図である。縦軸がブームシリンダ速度であり，正の値がブーム上げ方向の動作速度，負の値がブーム下げ方向の動作速度を表す。横軸は時間ｔである。時間ｔ０で半自動制御から手動制御への切替が必要と判断され，車体コントローラ５１で演算される半自動制御に基づく目標速度Ｖｃ（＝Ｖａ（０））から，オペレータの操作レバー４４ｂに対する操作入力に基づく目標速度Ｖｏ（ｔ）まで，ブームシリンダ目標速度Ｖａ（ｔ）が時間の経過と共に変化する様子を表している。時間ｔ０以前は半自動制御であり，ブームシリンダ目標速度Ｖａ（ｔ）は半自動制御に基づく目標速度Ｖｃと一致している。
【００９９】
時刻ｔ０では，半自動制御を手動制御に切り換える制御切替指示が車体コントローラ５１内の状態遷移部５１ａから目標動作生成部５１ｃに出力され，半自動制御から手動制御への切替が必要と判断される。その時刻ｔ０におけるオペレータ操作に基づく目標速度Ｖｏ（ｔ）の変化量は略ゼロで前述の速度の閾値Ｉ０より小さいため，図１０の手順Ｓ２４に基づいてブームシリンダ目標速度Ｖａ（ｔ）が演算される。これによりブームシリンダ目標速度Ｖａ（ｔ）の変化率が予め定められた第１速度変化率Ｉ１に制限される。
【０１００】
時刻ｔ０から時刻ｔ１まではオペレータ操作に基づく目標速度Ｖｏ（ｔ）の変化率が閾値Ｉ０よりも小さいため，手順Ｓ２４に基づく処理が継続する。しかし，時刻ｔ１でオペレータ操作に基づく目標速度Ｖｏ（ｔ）の変化率が閾値Ｉ０以上となる。これにより手順Ｓ２８の処理が実行され，ブームシリンダ目標速度Ｖａ（ｔ）の変化率を制限する値が第１速度変化率Ｉ１から第２速度変化率Ｉ２に変更される。ここで第２速度変化率Ｉ２は第１速度変化率Ｉ１よりも大きい値（時間当たりに，より大きな変化を許容する値）である。
【０１０１】
時刻ｔ２でブームシリンダ目標速度Ｖａ（ｔ）がオペレータ操作に基づく目標速度Ｖｏ（ｔ）と一致し，半自動制御から手動制御に完全に切り替わる（図１１の制御に移行する）。時刻ｔ２以降はオペレータの操作入力通りに動作する手動制御となるため，ブームシリンダ目標Ｖａ（ｔ）はオペレータ操作に基づく目標速度Ｖｏ（ｔ）と一致する。
【０１０２】
図１２に示したオペレータ操作に基づく目標速度Ｖｏ（ｔ）の時間変化は次の（１）−（３）のような判断をオペレータが行った状況を想定している。すなわち，（１）時刻ｔ０で設計データの存在する範囲Ｒから作業装置４が出た直後にさらに掘削する目的などでオペレータにはブーム１３を下げたい要求があった。（２）しかし，時刻ｔ０で半自動制御が不可となった場合，オペレータは，時刻ｔ０より前の半自動制御の発動の条件であるブーム下げ操作の入力に従ってブーム１３が急激に下がることを予想して，時刻ｔ０からｔ１の間にブーム下げ操作入力を緩めるように操作レバー４４ｂを操作した。（３）しかし，ブームシリンダ１８ａの目標速度Ｖａ（ｔ）の変化率に制限が掛かるため，オペレータの予想に反してブーム１３はすぐに下がらなかった。そこでオペレータは時刻ｔ２で再度ブーム下げ操作入力を強めるような操作をした。
【０１０３】
本実施の形態では，目標速度の演算方式の異なる２つの制御の切り換え時に行われる速度遷移制御中に操作装置４４に対する操作入力を素早く変化させると，オペレータに操作の意思があるとみなし，速度遷移制御中に利用される速度制限値（第１速度変化率Ｉ１）がより大きい値（第２速度変化率Ｉ２）に変更されて速度制限が緩和される。その結果，第１速度変化率Ｉ１が継続して利用された場合に半自動制御が手動制御に完全に切り替わる時刻ｔ３よりも早い時刻ｔ２で手動制御に切り替えることができる。すなわちオペレータの意図する目標速度で作業装置４を操作できる時刻が従前より早まるので，オペレータの操作と実際のブーム動作が乖離することによる違和感の発生を抑制できる。
【０１０４】
このように，操作装置４４に対する操作入力の変化からオペレータに積極的な操作意思があることを読み取り，実際の作業装置４の動作をより早くオペレータ操作に近づけられるというのが本実施形態の効果である。一方，オペレータの操作入力が一定であれば，オペレータの操作意思の有無が不明であるため，第１速度変化率での制限を継続する。これにより，作業装置４の急激な動作が防止され車体の安定性が確保されるとともに，オペレータに積極的な操作意思がある場合にはオペレータ操作が作業装置４の動作に反映されるタイミングが早まるため，オペレータが操作と動作の乖離に対して違和感を持つことを抑制できる。
＜第２の実施の形態＞
図１３から図１６を用いて，本発明の第２の実施の形態について説明する。なお，第１の実施の形態と異なる点についてのみ説明し，説明のない部分については第２の実施の形態と同様である。
【０１０５】
図１３は半自動制御から手動制御に切り替わる際の車体コントローラ５１の処理（速度遷移制御）の流れを示すフローチャートである。図１０と異なる点は手順Ｓ２７に代えて操作判定処理を行っている点にある。手順Ｓ２６では，目標動作生成部５１ｃは，手順Ｓ２４又は手順Ｓ２４Ａで演算したＶａ（ｔ）と，手順Ｓ２５で演算したＶｏ（ｔ）が一致したか否かを判定する。Ｖａ（ｔ）とＶｏ（ｔ）が一致しない場合には速度遷移制御がまだ必要な状態と判断して図１４に示す操作判定処理を開始する。
【０１０６】
図１４は操作判定処理の流れを示すフローチャートである。手順Ｓ５１では，状態遷移部５１ａは，１ステップ前の操作判定処理の手順Ｓ５４で記憶したオペレータの操作レバー４４ｂへの操作入力がゼロか否かを判定する。１ステップ前の操作入力がゼロの場合は手順Ｓ５２に進み，ゼロ以外の場合は手順Ｓ５３に進む。なお，ここで行われる操作入力がゼロか否かの判定は，ブーム操作レバー４４ｂ直下に配置されたブーム下げパイロット圧を検出する油圧センサ４９ｄの検出値が操作レバー４４ｂの中立時の圧力の範囲内にあるか否かで判定してもよい。すなわち油圧センサ４９ｄの検出値が所定の閾値以下か否かで判定しても良い。これはその他の手順Ｓ５２，Ｓ５３についても同様である。
【０１０７】
手順Ｓ５２では，状態遷移部５１ａは，現在のオペレータの操作レバー４４ｂへの操作入力がゼロ以外か否かを判定する。操作入力がゼロ以外の場合には操作判定処理を終了して手順Ｓ２８に進み，速度変化率を第２速度変化率Ｉ２に変更する。一方，操作入力がゼロの場合には手順Ｓ５４で今回の操作入力値を記憶して手順Ｓ２４に戻る。
【０１０８】
手順Ｓ５３では，状態遷移部５１ａは，現在のオペレータの操作レバー４４ｂへの操作入力がゼロか否かを判定する。操作入力がゼロの場合には操作判定処理を終了して手順Ｓ２８に進み，速度変化率を第２速度変化率Ｉ２に変更する。一方，操作入力がゼロでない場合には手順Ｓ５４で今回の操作入力値を記憶して手順Ｓ２４に戻る。
【０１０９】
本実施形態の作用と効果について図１５と図１６を用いて説明する。  
図１５は半自動制御から手動制御に切り替わる際のブームシリンダ速度の変化の第１の例を示す図である。縦軸がブームシリンダ速度であり，正の値がブーム上げ方向の動作速度，負の値がブーム下げ方向の動作速度を表す。横軸は時間ｔである。時間ｔ０で半自動制御から手動制御への切替が必要と判断され，車体コントローラ５１で演算される半自動制御に基づく目標速度Ｖｃ（＝Ｖａ（０））から，オペレータの操作レバー４４ｂに対する操作入力に基づく目標速度Ｖｏ（ｔ）まで，ブームシリンダ目標速度Ｖａ（ｔ）が時間の経過と共に変化する様子を表している。時間ｔ０以前は半自動制御であり，ブームシリンダ目標速度Ｖａ（ｔ）は半自動制御に基づく目標速度Ｖｃと一致している。
【０１１０】
時刻ｔ０では，半自動制御を手動制御に切り換える制御切替指示が車体コントローラ５１内の状態遷移部５１ａから目標動作生成部５１ｃに出力され，半自動制御から手動制御への切替が必要と判断される。時刻ｔ０と１ステップ前の時刻におけるオペレータ操作に基づく目標速度Ｖｏ（ｔ）はどちらもゼロより小さく，どちらも操作レバー４４ｂへの操作入力がゼロではない。そのため，図１４の操作判定処理では，手順Ｓ５１，Ｓ５３，Ｓ５４と進んで手順Ｓ２４に戻る。すなわち，ブームシリンダ目標速度Ｖａ（ｔ）の変化率は予め定められた第１速度変化率Ｉ１に保持される。その後，時刻ｔ１までは，時刻ｔ０と同様にオペレータ操作に基づく目標速度Ｖｏ（ｔ）がゼロより小さいため，第１速度変化率Ｉ１でブームシリンダ速度を制限する処理が継続する。
【０１１１】
時刻ｔ１では，オペレータ操作に基づく目標速度Ｖｏ（ｔ）はゼロであり，操作レバー４４ｂへの操作入力がゼロとなる。また，１ステップ前の時刻におけるオペレータ操作に基づく目標速度Ｖｏ（ｔ）はゼロより小さく，操作レバー４４ｂへの操作入力はゼロではない。そのため，図１４の操作判定処理では，手順Ｓ５１，Ｓ５３と進んで手順Ｓ２８に進む。これにより，ブームシリンダ目標速度Ｖａ（ｔ）の変化率を制限する値が第１速度変化率Ｉ１から第２速度変化率Ｉ２に変更される。第２速度変化率Ｉ２は第１速度変化率Ｉ１よりも大きい値（時間当たりに，より大きな変化を許容する値）である。
【０１１２】
時刻ｔ２でブームシリンダ目標速度Ｖａ（ｔ）がオペレータ操作に基づく目標速度Ｖｏ（ｔ）と一致し，半自動制御から手動制御に完全に切り替わる（図１１の制御に移行する）。時刻ｔ２以降はオペレータの操作入力通りに動作する手動制御となるため，ブームシリンダ目標Ｖａ（ｔ）はオペレータ操作に基づく目標速度Ｖｏ（ｔ）と一致する。
【０１１３】
ところで，上記の図１５に示したオペレータ操作に基づく目標速度Ｖｏ（ｔ）の時間変化は，設計データの範囲外に作業装置４が出た直後にオペレータが速やかにブーム上げ動作を停止したい等と考え，時刻ｔ０からｔ１の間にブーム操作レバー４４ｂを中立位置に戻した状況を想定している。
【０１１４】
本実施形態では，半自動制御から手動制御への切替が開始された時刻ｔ０で操作されていたブーム操作レバー４４ｂを中立位置に戻した時点（時刻ｔ１）で，オペレータにブーム動作を積極的に停止したいという意思があるとみなして，速度遷移制御中に利用される速度制限値（第１速度変化率Ｉ１）がより大きい値（第２速度変化率Ｉ２）に変更されて速度制限が緩和される。その結果，第１速度変化率Ｉ１が継続して利用された場合に半自動制御が手動制御に完全に切り替わる時刻ｔ３よりも早い時刻ｔ２でブーム動作を停止できる。すなわちオペレータの意図するブーム動作の停止が完了するタイミングが早まるので，オペレータの操作と実際のブーム動作が乖離することによる違和感の発生を抑制できる。
【０１１５】
図１６は半自動制御から手動制御に切り替わる際のブームシリンダ速度の変化の第２の例を示す図である。
【０１１６】
時刻ｔ０では，半自動制御を手動制御に切り換える制御切替指示が車体コントローラ５１内の状態遷移部５１ａから目標動作生成部５１ｃに出力され，半自動制御から手動制御への切替が必要と判断される。時刻ｔ０と１ステップ前の時刻におけるオペレータ操作に基づく目標速度Ｖｏ（ｔ）はどちらもゼロで，どちらも操作レバー４４ｂへの操作入力はゼロである。そのため，図１４の操作判定処理では，手順Ｓ５１，Ｓ５２，Ｓ５４と進んで手順Ｓ２４に戻る。すなわち，ブームシリンダ目標速度Ｖａ（ｔ）の変化率は予め定められた第１速度変化率Ｉ１に保持される。その後，時刻ｔ１までは，時刻ｔ０と同様にオペレータ操作に基づく目標速度Ｖｏ（ｔ）がゼロに保持されるため，第１速度変化率Ｉ１でブームシリンダ速度を制限する処理が継続する。
【０１１７】
時刻ｔ１では，オペレータ操作に基づく目標速度Ｖｏ（ｔ）はゼロより小さくなり，操作レバー４４ｂへの操作入力もゼロではなくなる。また，１ステップ前の時刻におけるオペレータ操作に基づく目標速度Ｖｏ（ｔ）はゼロで，操作レバー４４ｂへの操作入力もゼロである。そのため，図１４の操作判定処理では，手順Ｓ５１，Ｓ５２と進んで手順Ｓ２８に進む。これにより，ブームシリンダ目標速度Ｖａ（ｔ）の変化率を制限する値が第１速度変化率Ｉ１から第２速度変化率Ｉ２に変更される。第２速度変化率Ｉ２は第１速度変化率Ｉ１よりも大きい値（時間当たりに，より大きな変化を許容する値）である。
【０１１８】
時刻ｔ２でブームシリンダ目標速度Ｖａ（ｔ）がオペレータ操作に基づく目標速度Ｖｏ（ｔ）と一致し，半自動制御から手動制御に完全に切り替わる（図１１の制御に移行する）。時刻ｔ２以降はオペレータの操作入力通りに動作する手動制御となるため，ブームシリンダ目標Ｖａ（ｔ）はオペレータ操作に基づく目標速度Ｖｏ（ｔ）と一致する。
【０１１９】
ところで，上記の図１６に示したオペレータ操作に基づく目標速度Ｖｏ（ｔ）の時間変化は，作業装置４が直交姿勢に到達する前にバケット１５またはバケット先端１５０が設計データの存在する範囲Ｒより外に出るなどの理由でオペレータはブーム下げ操作を入力せずに半自動制御で作業をしているが，設計データの範囲外に作業装置４が出た直後にオペレータはさらに掘削したいなどブーム１５を下げたい要求がある状況を想定している。
【０１２０】
本実施形態では，半自動制御から手動制御への切替が開始された時刻ｔ０で中立位置にあったブーム操作レバー４４ｂに操作を入力した時点（時刻ｔ１）で，オペレータにブーム１３を積極的に操作したいという意思があるとみなして，速度遷移制御中に利用される速度制限値（第１速度変化率Ｉ１）がより大きい値（第２速度変化率Ｉ２）に変更されて速度制限が緩和される。その結果，第１速度変化率Ｉ１が継続して利用された場合に半自動制御が手動制御に完全に切り替わる時刻ｔ３よりも早い時刻ｔ２でブームの操作を開始できる。すなわちオペレータの意図するブーム操作の開始タイミングが早まるので，オペレータの操作と実際のブーム動作が乖離することによる違和感の発生を抑制できる。
【０１２１】
なお，上記の第２の実施形態の説明では，図１５，図１６を用いて，時刻ｔ０で半自動制御から手動制御への制御の切り替えが開始され，ブームシリンダ１８ａの目標速度Ｖａ（ｔ）がオペレータ操作に基づく目標速度Ｖｏ（ｔ）に変化するまでの間に，ブーム操作レバー４４ｂへの入力がブーム下げ方向への入力（図１５，１６における負の入力値）から中立位置（図１５，１６におけるゼロの入力値）に変化した場合と，ブーム操作レバー４４ｂへの入力が中立位置（ゼロの入力値）からブーム下げ方向への入力（負の入力値）に変化した場合のいずれかの場合に，ブームシリンダ１８ａの目標速度Ｖａ（ｔ）の時間変化率を第１変化率Ｉ１から第２変化率Ｉ２に変更することについて説明した。しかし，図１３，図１４のフローチャートの構成から明らかなように，時刻ｔ０で半自動制御から手動制御への制御の切り替えが開始され，ブームシリンダ１８ａの目標速度Ｖａ（ｔ）がオペレータ操作に基づく目標速度Ｖｏ（ｔ）に変化するまでの間に，ブーム操作レバー４４ｂへの入力がブーム上げ方向への入力（正の入力値）から中立位置（ゼロの入力値）に変化した場合と，ブーム操作レバー４４ｂへの入力が中立位置（ゼロの入力値）からブーム上げ方向への入力（正の入力値）に変化した場合のいずれかの場合にも，ブームシリンダ１８ａの目標速度Ｖａ（ｔ）の時間変化率を第１変化率Ｉ１から第２変化率Ｉ２に変更するように構成されていることは言うまでもない。
【０１２２】
＜その他＞
上記では第１状態切替信号と第２状態切替信号が出力される場面を区別せずに説明したが、第１状態切替信号はオペレータの意思とは無関係に出力されるため、第１状態切替信号が出力された場面ではオペレータの意思とは無関係に半自動制御から手動制御への強制的な切替が行われることとなる。そのため、切替スイッチ５６を使って自発的に第２状態切替信号を出力する場合に比して、作業装置４の操作中に制御の切替が行われやすいこと、そして、それ故に速度遷移制御中の速度制限にオペレータが違和感を持ち易いことが指摘できる。したがって、速度遷移制御中に操作装置４４への入力を変化させることでオペレータ操作が作業装置４の動作に反映されるタイミングを早めることができるという上記の各実施形態の効果は、第１状態切替信号が出力された場面で顕著であると言うことができる。
【０１２３】
上記では半自動制御でブームシリンダ１８ａを制御する場合について説明したが，その他の油圧シリンダ（アームシリンダ１８ｂやバケットシリンダ１８ｃ）を所定の条件で半自動制御した場合にも本発明は適用可能である。
【０１２４】
上記では，図１０や図１３の手順Ｓ２６，Ｓ３１において，速度遷移制御から手動制御（図１１）に移行する条件を２つの速度Ｖａ（ｔ），Ｖｏ（ｔ）が一致することとしたが，両者の差の絶対値が所定の閾値以下となったときに図１１の手動制御に移行するようにフローチャートを構成しても良い。
【０１２５】
上記では，半自動制御から手動制御に切り替わる際に速度遷移制御を実行したが，手動制御から半自動制御に切り替わる際にも同様に速度遷移制御を実行しても良い。
【０１２６】
上記では，ブームシリンダ１８ａの目標速度Ｖａ（ｔ）の時間変化率を第１変化率Ｉ１から第２変化率Ｉ２に変更するトリガーとして機能する操作装置４４への入力変化の具体例として，操作装置４４への操作入力の変化率の絶対値が閾値Ｉ’０以上であること，操作装置４４への操作入力が有りの状態から無しの状態（すなわち中立位置）に変化したこと，操作装置４４への操作入力が無しの状態から有りの状態に変化したこと，の３つを挙げたが，これ以外の入力変化をトリガーにして変化率を変更しても良い。
【０１２７】
なお，本発明は，上記の実施の形態に限定されるものではなく，その要旨を逸脱しない範囲内の様々な変形例が含まれる。例えば，本発明は，上記の実施の形態で説明した全ての構成を備えるものに限定されず，その構成の一部を削除したものも含まれる。また，ある実施の形態に係る構成の一部を，他の実施の形態に係る構成に追加又は置換することが可能である。
【０１２８】
また，上記の各種コントローラ５１，５２，５３に係る各構成や当該各構成の機能及び実行処理等は，それらの一部又は全部をハードウェア（例えば各機能を実行するロジックを集積回路で設計する等）で実現しても良い。また，上記のコントローラ５１，５２，５３に係る構成は，演算処理装置（例えばＣＰＵ）によって読み出し・実行されることで当該コントローラ５１，５２，５３の構成に係る各機能が実現されるプログラム（ソフトウェア）としてもよい。当該プログラムに係る情報は，例えば，半導体メモリ（フラッシュメモリ，ＳＳＤ等），磁気記憶装置（ハードディスクドライブ等）及び記録媒体（磁気ディスク，光ディスク等）等に記憶することができる。
【０１２９】
また，上記の各実施の形態の説明では，制御線や情報線は，当該実施の形態の説明に必要であると解されるものを示したが，必ずしも製品に係る全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えて良い。
【符号の説明】
【０１３０】
１…油圧ショベル，２…ＧＮＳＳアンテナ（位置センサ），３…ＩＭＵ（姿勢センサ），４…作業装置（フロント作業装置），１１…上部旋回体，１２…下部走行体，１３…ブーム，１４…アーム，１４０…関節，１５…バケット，１５０…バケット先端，１６，１７…バケットリンク，１８…油圧シリンダ（アクチュエータ），１９…旋回油圧モータ，４１…エンジン，４２，４３…油圧ポンプ，４４…操作レバー（操作装置），４５…方向制御弁，４６…遮断弁，４７…制御弁，４８…シャトル弁，４７…制御弁，４９…圧力センサ，５１…車体コントローラ，５１ａ…状態遷移部，５１ｂ…速度遷移部，５１ｃ…目標動作生成部，５１ｄ…アクチュエータ制御部，５２…ガイダンスコントローラ，５２ａ…作業装置位置姿勢演算部，５２ｂ…設計データ記憶部，５２ｃ…設計面演算部，５２ｄ…ガイダンス状態管理部，５３…ＧＮＳＳコントローラ，５４…ガイダンスモニタ，５５…スピーカ，６０，６１…設計面
【図１】
2020002625.tif 000003
【図２】
2020002625.tif 000004
【図３】
2020002625.tif 000005
【図４】
2020002625.tif 000006
【図５】
2020002625.tif 000007
【図６】
2020002625.tif 000008
【図７】
2020002625.tif 000009
【図８】
2020002625.tif 000010
【図９】
2020002625.tif 000011
【図１０】
2020002625.tif 000012
【図１１】
2020002625.tif 000013
【図１２】
2020002625.tif 000014
【図１３】
2020002625.tif 000015
【図１４】
2020002625.tif 000016
【図１５】
2020002625.tif 000017
【図１６】
2020002625.tif 000018