(57)【特許請求の範囲】
【請求項１】
作業車両の車体に上下方向に移動可能に支持されるブレードの刃先の高さを制御するブレード制御装置であって、
前記ブレードを上下方向に移動可能な油圧シリンダに供給される作動油を制御する比例制御弁と、
前記油圧シリンダの目標シリンダ速度指令を含む駆動指令に基づいて、前記比例制御弁に制御信号を出力するブレード制御部と、
前記車体の絶対位置を示す絶対位置データと、前記車体の傾斜角を示す車体傾斜角データと、掘削対象の目標形状の３次元の設計地形である設計面を示す設計面データとに基づいて、前記刃先の目標高さを算出する目標高さ生成装置と、
前記目標高さ生成装置で算出された第１時点における前記刃先の目標高さを示す目標高さデータを取得する目標高さデータ取得部と、
前記第１時点における前記絶対位置データと、前記車体傾斜角データと、前記油圧シリンダのストローク長さを示すシリンダ長データとに基づいて、前記第１時点における前記刃先の実高さを算出する実高さ演算部と、
前記第１時点よりも前の第２時点で前記ブレード制御部から出力された前記駆動指令と、前記第１時点又は前記第１時点よりも前の時点の前記刃先の実高さを示す実高さデータとに基づいて、前記第１時点よりも後の第３時点の前記刃先の予測高さを推定する推定部と、
を備え、
前記推定部で推定された前記第３時点の前記刃先の予測高さが、前記第１時点における前記刃先の実高さに設定され、
前記ブレード制御部は、前記第３時点の前記刃先の予測高さに設定された前記第１時点の前記刃先の実高さと、前記第３時点の前記刃先の目標高さに設定された前記第１時点における前記刃先の目標高さとの偏差が小さくなるように、前記第１時点において、前記比例制御弁に前記制御信号を出力する、
ブレード制御装置。
【請求項２】
前記実高さ演算部は、所定の周期で前記実高さを算出し、
前記第２時点は、前記第１時点よりも１周期前の時点を含み、
前記第３時点は、前記第１時点よりも１周期後の時点を含む、
請求項１に記載のブレード制御装置。
【請求項３】
前記推定部は、前記第１時点又は前記第１時点よりも前の時点の実高さと、前記第２時点の駆動指令と、前記周期とに基づいて、前記第３時点の前記刃先の予測高さを推定する、
請求項２に記載のブレード制御装置。
【請求項４】
前記ブレードにかかる負荷を示すブレード負荷データを取得するブレード負荷データ取得部を備え、
前記推定部は、前記ブレード負荷データに基づいて、前記第３時点の前記刃先の予測高さを算出するためのゲインを調整する、
請求項３に記載のブレード制御装置。
【請求項５】
前記第１時点の前記刃先の目標高さと前記第１時点の前記刃先の実高さとの第１偏差が、前記第２時点の前記刃先の目標高さと前記第２時点の前記刃先の実高さとの第２偏差よりも大きいか否かを判定する判定部を備え、
前記ブレード制御部は、
前記第１偏差が前記第２偏差よりも小さいと判定されたとき、前記第３時点の前記刃先の予測高さに設定された前記第１時点の前記刃先の実高さと、前記第３時点の前記刃先の目標高さに設定された前記第１時点の前記刃先の目標高さとの偏差が小さくなるように、前記第１時点において、前記比例制御弁に前記制御信号を出力し、
前記第１偏差が前記第２偏差よりも大きいと判定されたとき、前記推定部による前記予測高さの推定が実施されず、前記実高さ演算部で算出された前記第１時点の前記刃先の実高さと、前記目標高さ生成装置で算出され前記目標高さデータ取得部で取得された前記第１時点の前記刃先の目標高さとの偏差が小さくなるように、前記第１時点において、前記比例制御弁に制御信号を出力する、
請求項１から請求項４のいずれか一項に記載のブレード制御装置。
【請求項６】
前記目標高さデータ取得部が前記目標高さ生成装置から取得した前記第１時点における前記刃先の目標高さと、前記目標高さデータ取得部が前記目標高さ生成装置から取得した前記第２時点における前記刃先の目標高さとに基づいて、前記第３時点の前記刃先の目標高さを推定する目標高さ補正部を備え、
前記目標高さ補正部で推定された前記第３時点の前記刃先の目標高さが、前記第１時点の前記刃先の目標高さに設定される、
請求項１から請求項５のいずれか一項に記載のブレード制御装置。
【請求項７】
車体と、
前記車体に上下方向に移動可能に支持される刃先を有するブレードと、
請求項１から請求項６のいずれか一項に記載のブレード制御装置と、
を備える作業車両。
【請求項８】
作業車両の車体に上下方向に移動可能に支持されるブレードの刃先の高さを制御するブレード制御方法であって、
前記ブレードを上下方向に移動可能な油圧シリンダに供給される作動油を制御する比例制御弁に、前記油圧シリンダの目標シリンダ速度指令を含む駆動指令に基づいて、制御信号をブレード制御部から出力することと、
前記車体の絶対位置を示す絶対位置データと、前記車体の傾斜角を示す車体傾斜角データと、掘削対象の目標形状の３次元の設計地形である設計面を示す設計面データとに基づいて、前記刃先の目標高さを目標高さ生成装置で算出することと、
前記目標高さ生成装置で算出された第１時点及び前記第１時点よりも前の第２時点の前記刃先の目標高さを示す目標高さデータを目標高さデータ取得部で取得することと、
前記第１時点の前記絶対位置データと、前記車体傾斜角データと、前記油圧シリンダのストローク長さを示すシリンダ長データとに基づいて、前記第１時点の前記刃先の実高さを実高さ演算部で算出することと、
前記第２時点で出力された前記駆動指令と、前記第１時点又は前記第１時点よりも前の時点の前記刃先の実高さを示す実高さデータとに基づいて、前記第１時点よりも後の第３時点の前記刃先の予測高さを推定部で推定することと、
を含み、
前記推定部で推定された前記第３時点の前記刃先の予測高さが、前記第１時点における前記刃先の実高さに設定され、
前記第３時点の前記刃先の予測高さに設定された前記第１時点の前記刃先の実高さと、前記第３時点の前記刃先の目標高さに設定された前記第１時点における前記刃先の目標高さとの偏差が小さくなるように、前記第１時点において、前記ブレード制御部から前記比例制御弁に前記制御信号が出力される、
ブレード制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ブレード制御装置、作業車両、及びブレード制御方法に関する。
【背景技術】
【０００２】
ブレードを有する作業車両は、地面の掘削、整地、及び土砂の運搬などに使用される。ブレードの刃先を設計面に追従させる作業車両の一例が特許文献１及び特許文献２に開示されている。設計面とは、施工対象の目標形状を示す３次元の設計地形をいう。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５１６１４０３号
【特許文献２】特許第５２８５８０５号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ブレードは、油圧システムによって作動する。油圧システムは、ブレード制御装置から出力される制御信号によって制御される。ブレードを目標高さに制御するとき、応答性を高めようとすると、車速及びブレード負荷の変動に対して制御が追従できなくなる可能性がある。【０００５】
本発明の態様は、ブレードの制御性を向上して、所望の形状に整地できるブレード制御装置、作業車両、及びブレード制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の第１の態様に従えば、作業車両の車体に上下方向に移動可能に支持されるブレードの刃先の高さを制御するブレード制御装置であって、前記ブレードを上下方向に移動可能な油圧シリンダを駆動する駆動指令を出力するブレード制御部と、前記車体の絶対位置を示す絶対位置データと、前記車体の傾斜角を示す車体傾斜角データと、掘削対象の目標形状の３次元の設計地形である設計面を示す設計面データとに基づいて、前記刃先の目標高さを算出する目標高さ生成装置と、前記目標高さ生成装置で算出された第１時点の目標高さを示す目標高さデータを取得する目標高さデータ取得部と、前記第１時点の前記絶対位置データと、前記車体傾斜角データと、前記油圧シリンダのストローク長さを示すシリンダ長データとに基づいて、前記第１時点の前記刃先の実高さを算出する実高さ演算部と、前記第１時点よりも前の第２時点で前記ブレード制御部から出力された前記駆動指令と、前記第１時点又は前記第１時点よりも前の時点の前記刃先の実高さを示す実高さデータとに基づいて、前記第１時点よりも後の第３時点の前記刃先の予測高さを推定する推定部と、を備え、前記ブレード制御部は、前記第３時点の前記予測高さと、前記第１時点の前記目標高さとに基づいて、前記第１時点において、前記予測高さと前記目標高さとの偏差が小さくなるように、第１駆動指令を出力する、ブレード制御装置が提供される。【０００７】
本発明の第１の態様において、前記実高さ演算部は、所定の周期で前記実高さを算出し、前記第２時点は、前記第１時点よりも１周期前の時点を含み、前記第３時点は、前記第１時点よりも１周期後の時点を含んでもよい。【０００８】
本発明の第１の態様において、前記第２時点の前記駆動指令は、前記油圧シリンダの目標シリンダ速度指令を含み、前記推定部は、前記第１時点又は前記第１時点よりも前の時点の実高さと、前記第２時点の駆動指令と、前記周期とに基づいて、前記予測高さを推定してもよい。【０００９】
本発明の第１の態様において、前記ブレードにかかる負荷を示すブレード負荷データを取得するブレード負荷データ取得部を備え、前記推定部は、前記ブレード負荷データに基づいて、前記予測高さを算出するためのゲインを調整してもよい。【００１０】
本発明の第１の態様において、前記第１時点の前記目標高さと前記実高さとの第１偏差が、前記第２時点の前記目標高さと前記実高さとの第２偏差よりも大きいか否かを判定する判定部を備え、前記ブレード制御部は、前記第１偏差が前記第２偏差よりも小さいと判定されたとき、前記第１駆動指令を出力し、前記第１偏差が前記第２偏差よりも大きいと判定されたとき、前記第１時点の実高さと、前記第１時点の目標高さとに基づいて、前記第１時点において、前記実高さと前記目標高さとの偏差が小さくなるように、第２駆動指令を出力してもよい。【００１１】
本発明の第１の態様において、前記第１時点で前記目標高さデータ取得部が前記目標高さ生成装置から取得した前記目標高さと、前記第２時点で前記目標高さデータ取得部が前記目標高さ生成装置から取得した前記目標高さとに基づいて、前記第３時点の前記目標高さを推定する目標高さ補正部を備え、前記ブレード制御部は、前記第３時点の前記予測高さと、前記目標高さ補正部で推定された前記第３時点の前記目標高さとに基づいて、前記第１時点において、前記予測高さと前記目標高さとの偏差が小さくなるように、第１駆動指令を出力してもよい。【００１２】
本発明の第２の態様に従えば、車体と、前記車体に上下方向に移動可能に支持される刃先を有するブレードと、第１の態様のブレード制御装置と、を備える作業車両が提供される。【００１３】
本発明の第３の態様に従えば、作業車両の車体に上下方向に移動可能に支持されるブレードの刃先の高さを制御するブレード制御方法であって、前記ブレードを上下方向に移動可能な油圧シリンダを駆動する駆動指令を出力することと、前記車体の絶対位置を示す絶対位置データと、前記車体の傾斜角を示す車体傾斜角データと、掘削対象の目標形状の３次元の設計地形である設計面を示す設計面データとに基づいて、前記刃先の目標高さを算出することと、第１時点の前記目標高さを示す目標高さデータを取得することと、前記第１時点の前記絶対位置データと、前記車体傾斜角データと、前記油圧シリンダのストローク長さを示すシリンダ長データとに基づいて、前記第１時点の前記刃先の実高さを算出することと、前記第１時点よりも前の第２時点で出力された前記駆動指令と、前記第１時点又は前記第１時点よりも前の時点の前記刃先の実高さを示す実高さデータとに基づいて、前記第１時点よりも後の第３時点の前記刃先の予測高さを推定することと、を含み、前記第１時点において、前記第３時点の前記予測高さと、前記第１時点の前記目標高さとに基づいて、前記予測高さと前記目標高さとの偏差が小さくなるように、第１駆動指令が出力される、ブレード制御方法が提供される。
【発明の効果】
【００１４】
本発明の態様によれば、ブレードの応答性を向上して、所望の形状に整地できるブレード制御装置、作業車両、及びブレード制御方法が提供される。
【図面の簡単な説明】
【００１５】
【図１】図１は、本実施形態に係る作業車両の一例を示す図である。
【図２】図２は、本実施形態に係る作業車両を模式的に示す図である。
【図３】図３は、本実施形態に係るブレード制御装置の一例を示すブロック図である。
【図４】図４は、本実施形態に係るブレードコントローラ及び目標高さ生成装置の一例を示す機能ブロック図である。
【図５】図５は、本実施形態に係るブレード制御方法の一例を示すフローチャートである。
【図６】図６は、本実施形態に係る目標高さの一例を説明するための図である。
【図７】図７は、本実施形態に係る目標高さの一例を説明するための図である。
【図８】図８は、本実施形態に係る予測高さの一例を説明するための図である。
【図９】図９は、本実施形態に係る目標高さの一例を説明するための図である。
【図１０】図１０は、比較例に係る刃先の高さ及び本実施形態に係る刃先の高さの一例を説明するための図である。
【発明を実施するための形態】
【００１６】
以下、本発明に係る実施形態について図面を参照しながら説明するが、本発明はこれに限定されない。以下で説明する実施形態の構成要素は、適宜組み合わせることができる。また、一部の構成要素を用いない場合もある。
【００１７】
図１は、本実施形態に係る作業車両１００の一例を示す図である。本実施形態においては、作業車両１００がブルドーザ１００である例について説明する。なお、作業車両１００は、例えばモータグレーダでもよい。
【００１８】
以下の説明においては、「上」「下」「前」「後」「左」「右」の用語を使用して、各部の位置関係について説明する。「上」「下」「前」「後」「左」「右」とは、ブルドーザ（作業車両）１００の運転室１１の運転席に着座したオペレータを基準とする用語である。
【００１９】
（ブルドーザ１００の全体構成）
本実施形態に係るブルドーザ１００の全体構成について説明する。図１に示すように、ブルドーザ１００は、車体１０と、走行装置２０と、リフトフレーム３０と、ブレード４０と、リフトシリンダ５０と、アングルシリンダ６０と、チルトシリンダ７０と、ＧＰＳレシーバ８０と、ＩＭＵ（Inertial  Measurement  Unit）９０と、スプロケット９５と、油圧ポンプ２４０と、油圧モータ２４１と、油圧ポンプ２４５と、油圧センサ２５０と、を備える。
【００２０】
また、ブルドーザ１００は、ブレード制御装置２００を搭載する。ブレード制御装置２００は、ブレード４０の刃先４０Ｐの高さを制御する。ブレード制御装置２００の構成及び動作については後述する。
【００２１】
車体１０は、運転室１１とエンジン室１２とを有する。運転室１１には、運転席が設けられる。運転室１１には、各種の操作装置が配置される。運転席に着座したオペレータは、操作装置を操作可能である。エンジン室１２は、運転室１１の前方に配置される。
【００２２】
走行装置２０は、クローラ２１を含む。走行装置２０は、車体１０の下部に配置される。スプロケット９５の駆動により、クローラ２１が回転することによって、ブルドーザ１００は走行する。
【００２３】
リフトフレーム３０は、車幅方向（左右方向）において走行装置２０の内側に配置される。リフトフレーム３０は、車幅方向に平行な軸線Ｘを中心に上下方向に回動可能に車体１０に支持される。リフトフレーム３０は、球関節部３１と、ピッチ支持リンク３２と、支柱部３３とを介して、ブレード４０を支持する。
【００２４】
ブレード４０は、車体１０に上下方向に移動可能に支持される。ブレード４０は、リフトフレーム３０を介して、車体１０に支持される。ブレード４０は、車体１０の前方に配置される。ブレード４０は、球関節部３１に当接される自在継手４１と、ピッチ支持リンク３２に当接されるピッチング継手４２と、を有する。ブレード４０は、リフトフレーム３０の上下方向の回動に伴って上下方向に移動する。
【００２５】
ブレード４０は、刃先４０Ｐを有する。刃先４０Ｐは、ブレード４０の下端部に配置される。整地作業及び掘削作業において、刃先４０Ｐが地面に挿入される。
【００２６】
リフトシリンダ５０は、ブレード４０を上下方向（リフト方向）に移動可能な油圧シリンダである。リフトシリンダ５０は、車体１０とリフトフレーム３０とに連結される。リフトシリンダ５０が伸縮することによって、リフトフレーム３０及びブレード４０は、軸線Ｘを中心に上下方向に回動される。
【００２７】
アングルシリンダ６０は、ブレード４０を回転方向（アングル方向）に移動可能な油圧シリンダである。アングルシリンダ６０は、リフトフレーム３０とブレード４０とに連結される。アングルシリンダ６０が伸縮することによって、ブレード４０は、自在継手４１及びピッチング継手４２それぞれの回動中心を通る軸線Ｙを中心に回動する。
【００２８】
チルトシリンダ７０は、ブレード４０を回転方向（チルト方向）に移動可能な油圧シリンダである。チルトシリンダ７０は、リフトフレーム３０の支柱部３３とブレード４０の右上端部とに連結される。チルトシリンダ７０が伸縮することによって、ブレード４０は、球関節部３１とピッチ支持リンク３２の下端部とを結ぶ軸線Ｚを中心に回動する。リフトフレーム３０、ブレード４０、リフトシリンダ５０、アングルシリンダ６０、チルトシリンダ７０の実施例は一例でこの構成に限定はされない。
【００２９】
ＧＰＳレシーバ８０は、運転室１１上に配置される。ＧＰＳレシーバ８０は、ＧＰＳ（Global  Positioning  System；全地球測位システム）用のアンテナである。ＧＰＳレシーバ８０は、自機の絶対位置を示すＧＰＳデータ（絶対位置データ）を取得する。
【００３０】
ＩＭＵ（Inertial  Measurement  Unit）９０は、慣性計測装置である。ＩＭＵ９０は、前後方向及び左右方向の車体１０の傾斜角を示す車体傾斜角データを取得する。
【００３１】
スプロケット９５は、エンジン室１２に収容されるエンジン（不図示）からの動力がトランスミッションを介して伝達されることによって駆動される。トランスミッションはエンジンと接続され、エンジンの回転運動により発生する軸動力をスプロケット９５に伝達する。これにより、スプロケット９５が駆動する。スプロケット９５の駆動により、走行装置２０が作動する。
【００３２】
本実施形態において、油圧ポンプ２４０は、走行装置２０を走行させるための油圧ポンプ（走行用油圧ポンプ）である。油圧ポンプ２４０は、エンジンに接続される。油圧モータ２４１は、走行装置２０を走行させるための油圧モータ（走行用油圧モータ）である。油圧モータ２４１は、スプロケット９５に接続される。トランスミッションは、エンジンに接続される油圧ポンプ２４０と、スプロケット９５に接続される油圧モータ２４１と、を有するＨＳＴ（Hydraulic  Static  Transmission）を含む。油圧ポンプ２４０から油圧モータ２４１に作動油が供給される。これにより、油圧モータ２４１が作動し、スプロケット９５が駆動する。
【００３３】
油圧ポンプ２４０の駆動により作動油が油圧モータ２４１に供給される。油圧モータ２４１は供給された作動油により動力を発生する。油圧モータ２４１が発生した動力は、油圧モータ２４１に接続されたスプロケット９５に伝達される。
【００３４】
なお、トランスミッションは、ＨＳＴでなくてもよい。トランスミッションは、トルクコンバータでもよいし、油圧ポンプ２４０及び油圧モータ２４１を発電機及び電動機に置き換えたディーゼルエレクトリックでもよい。また、上記機構に遊星歯車機構を組み合わせた構成としてもよい。
【００３５】
油圧ポンプ２４５は、ブレード４０を動かすための油圧ポンプ（作業機用油圧ポンプ）である。油圧ポンプ２４５は、リフトシリンダ５０に作動油を供給する。これにより、リフトシリンダ５０が作動する。油圧ポンプ２４５は、アングルシリンダ６０に作動油を供給する。これにより、アングルシリンダ６０が作動する。油圧ポンプ２４５は、チルトシリンダ７０に作動油を供給する。これにより、チルトシリンダ７０が作動する。
【００３６】
油圧センサ２５０は、油圧ポンプ２４５からリフトシリンダ５０に供給される作動油の圧力を検出する。油圧センサ２５０は、作動油の圧力を示す圧力データを取得する。油圧センサ２５０によって検出される圧力は、走行装置２０の牽引力に基づいて変化する。油圧センサ２５０で検出された圧力に基づいて、ブレード４０にかかる負荷（ブレード負荷）が求められる。すなわち、本実施形態において、油圧センサ２５０は、ブレードにかかる負荷を示すブレード負荷データを取得するブレード負荷センサとして機能する。
【００３７】
なお、油圧センサ２５０は、油圧ポンプ２４０から油圧モータ２４１に供給される作動油の圧力を検出してもよい。油圧センサ２５０は、作動油の圧力を示す圧力データを取得する。油圧センサ２５０によって検出される圧力は、ブレード４０にかかる負荷に基づいて変化する。油圧センサ２５０で検出された圧力に基づいて、ブレード４０にかかる負荷（ブレード負荷）が求められる。すなわち、リフトシリンダ５０に供給される作動油の圧力を検出する場合においても、油圧センサ２５０は、ブレードにかかる負荷を示すブレード負荷データを取得するブレード負荷センサとして機能する。
【００３８】
なお、ブレード負荷センサが、スプロケット９５の駆動トルクを検出する駆動トルクセンサを含んでもよい。スプロケット９５の駆動トルクは、走行装置２０の牽引力に基づいて変化する。駆動トルクセンサで検出された駆動トルクに基づいて、ブレード負荷が求められる。すなわち、ブレード負荷データが、スプロケット９５の駆動トルクを示す駆動トルクデータを含んでもよい。
【００３９】
図２は、本実施形態に係るブルドーザ１００を模式的に示す図である。図２において、リフトフレーム３０の原点位置が二点鎖線で示されている。リフトフレーム３０が原点位置に位置する場合、ブレード４０の刃先４０Ｐは地面に接地する。
【００４０】
図２に示すように、ブルドーザ１００は、リフトシリンダセンサ５０Ｓを備える。リフトシリンダセンサ５０Ｓは、ロッドの位置を検出する回転ローラと、ロッドの位置を原点復帰する磁力センサと、を有する。リフトシリンダセンサ５０Ｓは、リフトシリンダ５０のストローク長さＬを検出する。以下の説明において、リフトシリンダ５０のストローク長さＬを適宜、リフトシリンダ長Ｌ、と称する。リフトシリンダセンサ５０Ｓは、リフトシリンダ５０のストローク長さ（リフトシリンダ長）Ｌを示すリフトシリンダ長データを取得する。
【００４１】
リフトシリンダ長データに基づいて、ブレード４０のリフト角θが算出される。リフト角θは、ブレード４０の原点位置からの下降角度、すなわち、刃先４０Ｐの地中への貫入深さに対応する。ブレード４０を原点位置から下降させた状態で前進することによって、ブルドーザ１００による整地作業及び掘削作業が行われる。
【００４２】
なお、ブルドーザ１００は、アングルシリンダ６０のストローク長さ（アングルシリンダ長）を検出するアングルシリンダセンサと、チルトシリンダ７０のストローク長さ（チルトシリンダ長）を検出するチルトシリンダセンサと、を更に備える。アングルシリンダセンサ及びチルトシリンダセンサのそれぞれは、ロッドの位置を検出する回転ローラと、ロッドの位置を原点復帰する磁力センサと、を有する。アングルシリンダセンサは、アングルシリンダ長を示すアングルシリンダ長データを取得する。チルトシリンダセンサは、チルトシリンダ長を示すチルトシリンダ長データを取得する。
【００４３】
以下においては、リフト角θの用途について主に説明し、アングル角及びチルト角の用途についての説明は省略する。
【００４４】
（ブレード制御装置２００の構成）
次に、本実施形態に係るブレード制御装置２００の一例について説明する。図３は、本実施形態に係るブレード制御装置２００の一例を示すブロック図である。
【００４５】
ブレード制御装置２００は、リフトシリンダ５０と、スプロケット９５と、比例制御弁２３０と、油圧ポンプ２４０と、油圧モータ２４１と、油圧ポンプ２４５と、インプット装置２６０と、を備える。ブレード制御装置２００は、油圧センサ２５０と、リフトシリンダセンサ５０Ｓと、ＧＰＳレシーバ８０と、ＩＭＵ９０と、を備える。ブレード制御装置２００は、ブレードコントローラ２１０と、目標高さ生成装置２２０と、を備える。
【００４６】
油圧ポンプ２４０は、走行装置２０を走行させるための油圧ポンプ（走行用油圧ポンプ）である。油圧ポンプ２４０は、エンジンに接続される。油圧モータ２４１は、走行装置２０を走行させるための油圧モータ（走行用油圧モータ）である。油圧モータ２４１は、スプロケット９５に接続される。トランスミッションは、エンジンに接続される油圧ポンプ２４０と、スプロケット９５に接続される油圧モータ２４１と、を有するＨＳＴ（Hydraulic  Static  Transmission）を含む。油圧ポンプ２４０から油圧モータ２４１に作動油が供給される。これにより、油圧モータ２４１が作動し、スプロケット９５が駆動する。油圧ポンプ２４０の駆動により作動油が油圧モータ２４１に供給される。油圧モータ２４１は供給された作動油により動力を発生する。油圧モータ２４１が発生した動力は、油圧モータ２４１に接続されたスプロケット９５に伝達される。これにより、走行装置２０が走行する。
【００４７】
油圧ポンプ２４５は、ブレード４０を動かすための油圧ポンプ（作業機用油圧ポンプ）である。比例制御弁２３０は、リフトシリンダ５０と油圧ポンプ２４５との間に配置される。油圧ポンプ２４５は、比例制御弁２３０を介して、リフトシリンダ５０に作動油を供給する。リフトシリンダ５０は、比例制御弁２３０により制御された作動油に基づいて駆動する。インプット装置２６０は、オペレータによって操作される操作レバー及びデセレーションペダルを含む。
【００４８】
ブレードコントローラ２１０は、ＣＰＵのようなプロセッサを有するコンピュータシステムを含む。目標高さ生成装置２２０は、ＣＰＵのようなプロセッサを有するコンピュータシステムを含む。
【００４９】
ブレードコントローラ２１０は、ブレード４０を上下方向に移動可能なリフトシリンダ５０を駆動する駆動指令を出力する。ブレードコントローラ２１０は、リフトシリンダ５０に供給される作動油を制御する比例制御弁２３０に、駆動指令に基づく制御信号を出力する。
【００５０】
ブレードコントローラ２１０は、インプット装置２６０の操作レバーの操作に応じて、ブレード駆動指令、左右の走行装置２０をそれぞれ操作し旋回を行う。また、ブレードコントローラ２１０は、インプット装置２６０のデセレーションペダルの操作に応じて、トランスミッションの出力を調整し、車速を変化させる。
【００５１】
目標高さ生成装置２２０は、刃先４０Ｐの目標位置を示す目標高さデータを算出する。
【００５２】
油圧センサ２５０は、圧力データ（ブレード負荷データ）をブレードコントローラ２１０に送信する。
【００５３】
リフトシリンダセンサ５０Ｓは、リフトシリンダ５０のリフトシリンダ長Ｌを示すリフトシリンダ長データをブレードコントローラ２１０に送信する。
【００５４】
ＧＰＳレシーバ８０は、ＧＰＳデータを目標高さ生成装置２２０に送信する。目標高さ生成装置２２０は、ＧＰＳデータをブレードコントローラ２１０に送信する。なお、ＧＰＳレシーバ８０が、ＧＰＳデータをブレードコントローラ２１０に送信してもよい。
【００５５】
ＩＭＵ９０は、ブルドーザ１００の絶対座標系におけるピッチ及びロール等の傾斜角を示す車体傾斜角データを目標高さ生成装置２２０に送信する。目標高さ生成装置２２０は、車体傾斜角データをブレードコントローラ２１０に送信する。なお、ＩＭＵ９０が、車体傾斜角データをブレードコントローラ２１０に送信してもよい。
【００５６】
ブレードコントローラ２１０は、油圧センサ２５０からブレード負荷データ（圧力データ）を取得する。ブレードコントローラ２１０は、リフトシリンダセンサ５０Ｓからリフトシリンダ長データを取得する。ブレードコントローラ２１０は、ＧＰＳレシーバ８０からＧＰＳデータを取得する。ブレードコントローラ２１０は、ＩＭＵ９０から車体傾斜角データを取得する。
【００５７】
ブレードコントローラ２１０は、ＧＰＳデータ（絶対位置データ）に基づいて、グローバル座標系におけるＧＰＳレシーバ８０のＧＰＳ位置（絶対位置）を算出する。なお、グローバル座標系は、地球に固定された原点（絶対基準位置）を基準とした座標系である。
【００５８】
ブレードコントローラ２１０は、リフトシリンダ長データに基づいて、ブレード４０のリフト角θ（図２参照）を算出する。ブレードコントローラ２１０は、リフト角θと車体寸法データとに基づいて、グローバル座標系からローカル座標系へ座標系の変換を行った後、ローカル座標系におけるＧＰＳレシーバ８０に対するブレード４０の刃先４０Ｐの位置（相対位置）を算出する。なお、ローカル座標系は、ブルドーザ１００の車体１０に固定された原点（車体基準位置）を基準とした座標系である。ローカル座標系を、車両本体座標系、と称してもよい。
【００５９】
車体寸法データは、既知データであり、ブレードコントローラ２１０に予め記憶されている。ブレードコントローラ２１０は、グローバル座標系におけるＧＰＳレシーバ８０の絶対位置を示すＧＰＳデータと、ローカル座標系におけるＧＰＳレシーバ８０に対する刃先４０Ｐの相対位置を示すローカル位置データと、車体１０の傾斜角を示す車体傾斜角データとに基づいて、グローバル座標系における刃先４０Ｐの位置（実高さ）を算出する。すなわち、ブレードコントローラ２１０は、車体１０のＧＰＳ位置（絶対位置）を示すＧＰＳデータ（絶対位置データ）と、車体１０の傾斜角を示す車体傾斜角データと、リフトシリンダ５０のストローク長さを示すリフトシリンダ長データとに基づいて、刃先４０Ｐの実際の位置（実高さ）を算出する。
【００６０】
目標高さ生成装置２２０は、ＧＰＳレシーバ８０からＧＰＳデータを取得する。目標高さ生成装置２２０は、ＩＭＵ９０から車体傾斜角データを取得する。
【００６１】
目標高さ生成装置２２０は、作業エリア内における掘削対象の目標形状を示す３次元の設計地形である設計面を示す設計面データを予め記憶する。目標高さ生成装置２２０は、車体寸法データと、シリンダ長データから求めたリフト角θと、ＧＰＳデータと、車体傾斜角データと、設計面データとに基づいて、グローバル座標系からローカル座標系へ変換を行い、ローカル座標系における刃先４０Ｐの目標位置（目標高さ）を算出する。
【００６２】
目標高さ生成装置２２０は、算出した目標高さを示す目標高さデータをブレードコントローラ２１０に送信する。ブレードコントローラ２１０は、目標高さデータを取得する。ブレードコントローラ２１０は、実高さと目標高さとの偏差が小さくなるように、駆動指令に基づく制御信号を比例制御弁２３０に出力する。制御信号は、電流を含む。ブレードコントローラ２１０は、実高さと目標高さとに基づいて得られる電流値に対応した電流を制御信号として比例制御弁２３０に出力する。
【００６３】
後述するように、ブレードコントローラ２１０は、未来の刃先４０Ｐの高さ（予測高さ）を推定する。ブレードコントローラ２１０は、予測高さと目標高さとの偏差が小さくなるように、駆動指令に基づく制御信号を比例制御弁２３０に出力する。制御信号は、電流を含む。ブレードコントローラ２１０は、予測高さと目標高さとに基づいて得られる電流値に対応した電流を制御信号として比例制御弁２３０に出力する。
【００６４】
比例制御弁２３０の開口度は、ブレードコントローラ２１０から制御信号として出力される電流によって制御される。なお、ブレードコントローラ２１０から制御信号として出力される電流は、インプット装置２６０により調整可能である。
【００６５】
次に、本実施形態に係るブレードコントローラ２１０及び目標高さ生成装置２２０の機能について説明する。図４は、本実施形態に係るブレードコントローラ２１０及び目標高さ生成装置２２０の一例を示す機能ブロック図である。
【００６６】
（ブレードコントローラ２１０の機能）
図４に示すように、ブレードコントローラ２１０は、車両データ取得部２１１と、実高さ演算部２１２と、判定部２１３と、推定部２１４と、フィルタ部２１５と、目標高さデータ取得部２１６と、目標高さ補正部２１７と、ブレード負荷データ取得部２１８と、ブレード制御部２１９と、記憶部３００と、を含む。
【００６７】
目標高さ生成装置２２０は、設計面データ格納部２２１と、データ取得部２２２と、目標高さ演算部２２３と、を含む。
【００６８】
車両データ取得部２１１は、ＧＰＳレシーバ８０からＧＰＳデータを取得する。車両データ取得部２１１は、ＩＭＵ９０から車体傾斜角データを取得する。車両データ取得部２１１は、リフトシリンダセンサ５０Ｓからリフトシリンダ長データを取得する。
【００６９】
実高さ演算部２１２は、車体寸法データと、ＧＰＳデータと、車体傾斜角データと、リフトシリンダ長データとに基づいて、刃先４０Ｐの実高さ（実際の高さ）を算出する。
【００７０】
判定部２１３は、刃先４０Ｐの目標高さと実高さとの偏差に基づいて、所定の判定を実施する。
【００７１】
推定部２１４は、過去に出力された駆動指令と、現在の刃先４０Ｐの実高さとに基づいて、未来の刃先４０Ｐの予測高さを推定する。
【００７２】
フィルタ部２１５は、目標高さ生成装置２２０から送信された目標高さを示す目標高さデータをフィルタ処理する。本実施形態において、フィルタ部２１５は、カルマンフィルタを含む。
【００７３】
目標高さデータ取得部２１６は、目標高さ生成装置２２０で算出された目標高さを示す目標高さデータを取得する。本実施形態において、目標高さデータ取得部２１６は、フィルタ部２１５でフィルタ処理された目標高さデータを取得する。
【００７４】
目標高さ補正部２１７は、過去の目標高さと現在の目標高さとに基づいて、未来の目標高さを推定する。
【００７５】
判定部２１３は、目標高さ補正部２１７で推定された未来の刃先４０Ｐの目標高さと、実高さ演算部２１２で算出された現在の刃先４０Ｐの実高さとに基づいて、後述する所定の判定を実施する。
【００７６】
ブレード負荷データ取得部２１８は、油圧センサ２５０からブレード４０の負荷を示すブレード負荷データを取得する。
【００７７】
ブレード制御部２１９は、推定部２１４で推定された未来の刃先４０Ｐの予測高さと、現在の刃先４０Ｐの目標高さとに基づいて、予測高さと目標高さとの偏差が小さくなるように、比例制御弁２３０に駆動指令に基づく制御信号を出力する。
【００７８】
記憶部３００は、ブレードコントローラ２１０の制御に用いられる各種マップを記憶する。本実施形態において、記憶部３００は、比例制御弁２３０に出力される制御信号としての電流と、その電流が比例制御弁２３０に供給されたときのリフトシリンダ５０のシリンダ速度との関係を示すマップを記憶する。
【００７９】
（目標高さ装置２２０の機能）
設計面データ格納部２２１は、掘削対象の目標形状の３次元の設計地形である設計面を示す設計面データを予め保持する。
【００８０】
データ取得部２２２は、ＧＰＳレシーバ８０からＧＰＳデータを取得する。データ取得部２２２は、ＩＭＵ９０から車体傾斜角データを取得する。データ取得部２２２は、設計面データ格納部２２１から設計面データを取得する。
【００８１】
目標高さ演算部２２３は、車体１０の絶対位置を示すＧＰＳデータと、車体１０の傾斜角を示す車体傾斜角データと、掘削対象の目標形状の３次元の設計地形である設計面を示す設計面データとに基づいて、刃先４０Ｐの目標高さを算出する。目標高さ演算部２２３は、算出した目標高さを示す目標高さデータをフィルタ部２１５に送信する。
【００８２】
本実施形態においては、目標高さ生成装置２２０の目標高さ演算部２２３で算出された第１時点（現時点）の目標高さを示す目標高さデータが目標高さデータ取得部２１６に取得された場合、推定部２１４は、第１時点よりも前の第２時点（過去の時点）でブレード制御部２１０から出力された駆動指令と、第１時点の刃先４０Ｐの実高さを示す実高さデータとに基づいて、第１時点よりも後の第３時点（未来の時点）の刃先４０Ｐの予測高さを推定する。
【００８３】
ブレード制御部２１９は、第３時点の予測高さと、第１時点の目標高さとに基づいて、第１時点において、予測高さと目標高さとの偏差が小さくなるように、駆動指令を出力する。
【００８４】
本実施形態において、目標高さ演算部２２３は、所定の周期（例えば１０ミリ秒毎）に、目標高さを算出する。実高さ演算部２１２は、所定の周期（例えば１０ミリ秒毎）に、実高さを算出する。第２時点（過去の時点）は、例えば、第１時点（現時点）よりも１周期前の時点（１０ミリ秒前の時点）である。第３時点（未来の時点）は、例えば、第１時点（現時点）よりも１周期後の時点（１０ミリ秒後の時点）である。
【００８５】
ブレード制御部２１９は、実高さと目標高さとの差が所定の関係のときに、予測高さと目標高さとに基づいて、駆動指令を出力する。ブレード制御部２１９は、実高さと目標高さとの差が所定の関係でないときに、実高さと目標高さとに基づいて、駆動指令を出力する。
【００８６】
実高さと目標高さとの差が所定の関係であるか否かは、判定部２１３によって判定される。本実施形態において、判定部２１３は、第１時点の目標高さと第１時点の実高さとの第１偏差が、第２時点の目標高さと第２時点の実高さとの第２偏差よりも大きいか否かを判定する。
【００８７】
ブレード制御部２１９は、第１偏差が第２偏差よりも小さいと判定されたとき、第３時点の予測高さと、第１時点の目標高さとに基づいて、第１時点において、予測高さと目標高さとの偏差が小さくなるように、駆動指令を出力する。
【００８８】
ブレード制御部２１９は、第１偏差が第２偏差よりも大きいと判定されたとき、第１時点の実高さと、第１時点の目標高さとに基づいて、第１時点において、実高さと目標高さとの偏差が小さくなるように、駆動指令を出力する。
【００８９】
目標高さ補正部２１７は、第１時点で目標高さデータ取得部２１６が目標高さ生成装置２２０から取得した目標高さと、第２時点で目標高さデータ取得部２１６が目標高さ生成装置２２０から取得した目標高さとに基づいて、第３時点の目標高さ（補正目標高さ）を推定する。
【００９０】
本実施形態においては、推定された目標高さ（補正目標高さ）が、第１時点の目標高さとして使用される。
【００９１】
判定部２１３は、第１時点の目標高さ（補正目標高さ）と第１時点の実高さとの第１偏差が、第２時点の目標高さと第２時点の実高さとの第２偏差よりも大きいか否かを判定する。
【００９２】
判定部２１３において、第１偏差が第２偏差よりも小さいと判定された場合、ブレード制御部２１９は、予測高さと、目標高さ補正部２１７で推定された目標高さとに基づいて、第１時点において、予測高さと目標高さとの偏差が小さくなるように、駆動指令を出力する。
【００９３】
判定部２１３において、第１偏差が第２偏差よりも大きいと判定された場合、ブレード制御部２１９は、実高さと、目標高さ補正部２１７で推定された目標高さとに基づいて、第１時点において、実高さと目標高さとの偏差が小さくなるように、駆動指令を出力する。
【００９４】
（ブレード制御方法）
次に、本実施形態に係るブレード制御方法について説明する。図５は、本実施形態に係るブレード制御方法の一例を示すフローチャートである。
【００９５】
車両データ取得部２１１は、ＧＰＳデータ、車体傾斜角データ、及びリフトシリンダ長データを取得する。実高さ演算部２１２は、第１時点のＧＰＳデータと、第１時点の車体傾斜角データと、第１時点のシリンダ長データとに基づいて、第１時点の刃先４０Ｐの実高さを算出する（ステップＳＰ１）。上述のように、本実施形態において、実高さ演算部２１２は、所定の周期（１０ミリ秒毎）に、刃先４０Ｐの実高さを算出する。
【００９６】
また、データ取得部２２２は、ＧＰＳデータ、車体傾斜角データ、及び設計面データを取得する。目標高さ演算部２２３は、ＧＰＳデータと、車体傾斜角データと、シリンダ長データとに基づいて、刃先４０Ｐの目標高さを算出する。上述のように、本実施形態において、目標高さ演算部２２３は、所定の周期（１０ミリ秒毎）に、刃先４０Ｐの目標高さを算出する。目標高さ演算部２２３で算出された目標高さを示す目標高さデータは、所定の周期（１０ミリ秒毎）で、ブレードコントローラ２１０に送信される。
【００９７】
目標高さデータ取得部２１６は、フィルタ部２１５を介して、目標高さ生成装置２２０で算出された第１時点の目標高さを示す目標高さデータを取得する（ステップＳＰ２）。
【００９８】
これにより、ブレードコントローラ２１０は、第１時点の実高さデータと、第１時点の目標高さデータとを取得したことになる。
【００９９】
上述のように、本実施形態においては、フィルタ部２１５でフィルタ処理された目標高さデータが目標高さデータ取得部２１６に取得される。フィルタ部２１５は、時間遅れの少ないフィルタが選定されることが望ましく例えばカルマンフィルタを含む。
【０１００】
作業エリアにおいて、ブルドーザ１００が走行する地面に凹凸がある場合、車体１０の傾斜角は刻々と変化する。車体１０の傾斜角の変化に伴って、目標高さ演算部２２３によって算出される目標高さデータも、刻々と変化する。刻々と変化する目標高さデータに基づいて、リフトシリンダ５０及び比例制御弁２３０を含む油圧システムを使ってブレード４０を制御しようとしても、制御が追い付かず、ハンチングのような制御不良が発生する可能性がある。そこで、本実施形態においては、目標高さデータをフィルタ処理し、そのフィルタ処理された目標高さデータを使って、ブレード４０を制御する。これにより、制御不良の発生が抑制される。
【０１０１】
図６は、フィルタ部２１５の効果を説明するための図である。図６において、ラインＬＯは、目標高さ演算部２２３から出力される目標高さデータを示す。ラインＬＯに示すように、車体１０の傾斜角の変化に伴って、目標高さ演算部２２３から出力される目標高さデータも、刻々と変化する。
【０１０２】
図６において、ラインＬＣは、カルマンフィルタを含むフィルタ部２１５によってフィルタ処理された後の目標高さデータを示す。すなわち、ラインＬＣは、フィルタ部２１５から目標高さデータ取得部２１６に出力される目標高さデータを示す。ラインＬＣで示すように、カルマンフィルタを含むフィルタ部２１５によって、目標高さデータは、大きな遅れを生じることなく、滑らかなデータに変換される。フィルタ処理された目標高さデータを使ってブレード４０を制御することにより、制御不良の発生が抑制される。
【０１０３】
図５に戻って、目標高さデータ取得部２１６が取得した目標高さデータは、目標高さ補正部２１７に送信される。目標高さ補正部２１７は、目標高さデータ取得部２１６から供給された目標高さデータを補正する（ステップＳＰ３）。
【０１０４】
例えば、目標高さ生成装置２２０による目標高さの算出のための演算の遅れ、又は目標高さ生成装置２２０からブレードコントローラ２１０に対する目標高さデータの送信の遅れが発生する可能性がある。上述のように、目標高さデータは、ＧＰＳデータ及び車体傾斜角データ等に基づいて算出される。目標高さ生成装置２２０からブレードコントローラ２１０への送信の遅れが発生すると、ブレードコントローラ２１０は、例えば１周期前の過去（１０ミリ秒前）の車体傾斜角データに基づく目標高さデータとの偏差が小さくなるようにブレード４０を制御してしまうこととなる。車体１０の傾斜角は刻々と変化する。そのため、過去の車体傾斜角データに基づく目標高さデータに基づいてブレード４０を制御しようとすると、ブレード４０は、設計面に十分に追従できなくなる可能性がある。例えば、特定の車速においてオペレータの意図しないブレードの上下動（うねり）が発生してしまう可能性がある。
【０１０５】
本実施形態においては、目標高さ生成装置２２０の遅れに起因する制御不良を抑制するために、ブレードコントローラ２１０は、目標高さ生成装置２２０から供給された目標高さデータを補正して、目標高さデータ（補正目標高さデータ）を生成する。
【０１０６】
図７は、補正目標高さの一例を説明するための図である。図７に示すように、第１時点（現時点）ｔ１において、目標高さデータ取得部２１６が目標高さ生成装置２２０から目標高さデータＴｍ１を取得し、第１時点ｔ１よりも前の第２時点（過去の時点）ｔ２において、目標高さデータ取得部２１６が目標高さ生成装置２２０から目標高さデータＴｍ２を取得したとする。目標高さ補正部２１７は、第１時点ｔ１よりも後の第３時点（未来の時点）ｔ３の目標高さデータＴｍ３を推定する。
【０１０７】
本実施形態において、目標高さ補正部２１７は、（１）式の演算を実施する。
【０１０８】
Ｔｍ３＝Ｔｍ１＋（Ｔｍ１−Ｔｍ２）×Ｇ  …（１）
【０１０９】
（１）式において、Ｇはゲインである。本実施形態において、ブレードコントローラ２１０は、目標高さデータ（補正目標高さデータ）Ｔｍ３を使って、第１時点ｔ１において、ブレード４０を制御するための駆動指令に基づく制御信号を出力する。すなわち、ブレードコントローラ２１０は、第１時点ｔ１における目標高さを目標高さデータＴｍ３に設定して、制御を行う。
【０１１０】
なお、ここでは、現時点（第１時点）の目標高さデータと過去の時点（第２時点）の目標高さデータとにより、未来の時点（第３時点）の目標高さを設定している。ある過去の時点（例えば第２時点）の目標高さデータとその過去の時点よりも前の時点の目標高さデータとにより、未来の時点の目標高さを設定してもよい。
【０１１１】
実高さ演算部２１２で算出された第１時点ｔ１の実高さデータＴｒ１、及び目標高さ補正部２１７で補正された第１時点ｔ１の目標高さデータＴｍ３が、判定部２１３に送信される。判定部２１３は、第１時点ｔ１の目標高さデータＴｍ３と第１時点ｔ１の実高さデータＴｒ１との第１偏差Δ１と、第２時点ｔ２の目標高さデータＴｍ２と第２時点ｔ２の実高さデータＴｒ２との第２偏差Δ２とを比較する（ステップＳＰ４）。
【０１１２】
判定部２１３は、第１時点ｔ１の目標高さデータＴｍ３と第１時点ｔ１の実高さデータＴｒ１との第１偏差Δ１が、第２時点ｔ２の目標高さデータＴｍ２と第２時点ｔ２の実高さデータＴｒ２との第２偏差Δ２よりも大きいか否かを判定する（ステップＳＰ５）。
【０１１３】
第１偏差Δ１が第２偏差Δ２よりも小さいと判定された場合（ステップＳＰ５：Ｎｏ）、推定部２１４による予測高さの推定が実施される（ステップＳＰ６）。
【０１１４】
第１偏差Δ１が第２偏差Δ２よりも大きいと判定された場合、又は、第１偏差Δ１と第２偏差Δ２とが等しいと判定された場合、又は、第１偏差Δ１が予め定められている閾値以上であると判定された場合（ステップＳＰ５：Ｙｅｓ）、推定部２１４による予測高さの推定が実施されず、ブレード制御部２１９は、第１時点ｔ１の実高さデータＴｒ１と、第１時点ｔ１の目標高さデータＴｍ１とに基づいて、第１時点ｔ１において、実高さデータＴｒ１と目標高さデータＴｍ１との偏差が小さくなるように、駆動指令を出力する（ステップＳＰ８）。
【０１１５】
推定部２１４による刃先４Ｐの予測高さの推定について、図８を参照しながら説明する。
【０１１６】
一般に、リフトシリンダ５０のような油圧機器においては、油圧システムに起因するむだ時間が発生する。制御信号に対する油圧システムのむだ時間が存在すると、ブレード４０の刃先４０Ｐを設計面に追従させることが困難となる可能性がある。応答性を良くするためにゲインを大きくすると、むだ時間があるためオーバーシュートが発生し、ブレード４０の刃先４０Ｐを設計面に追従させることが困難となる可能性がある。
【０１１７】
そこで、本実施形態においては、第１時点ｔ１の刃先４Ｐの実高さデータＴｒ１を使わずに、第１時点ｔ１よりも後の第３時点ｔ３の刃先４Ｐの予測高さデータＴｒ３を推定し、その推定された予測高さデータＴｒ３を使って、ブレード４０を制御するための駆動指令が出力される。
【０１１８】
予測高さデータＴｒ３を推定し、その推定された予測高さデータＴｒ３を使って、第１時点ｔ１における制御が行われることにより、油圧システムに起因するむだ時間が発生する状況でも、刃先４０Ｐを目標高さに近付けることができる。
【０１１９】
図８に示すように、第１時点ｔ１の刃先４０Ｐの実高さデータＴｒ１が算出される。第１時点ｔ１よりも前の第２時点ｔ２の刃先４０Ｐの実高さデータＴｒ２が算出される。第２時点ｔ２において、ブレード制御部２１９から駆動指令が出力される。
【０１２０】
推定部２１４は、第２時点ｔ２でブレード制御部２１９から出力された駆動指令と、第１時点ｔ１の刃先４０Ｐの実高さを示す実高さデータＴｒ１とに基づいて、第１時点ｔ１よりも後の第３時点ｔ３の刃先４０Ｐの予測高さを示す予測高さデータＴｒ３を推定する。
【０１２１】
本実施形態において、駆動指令は、リフトシリンダ５０の目標シリンダ速度指令を含む。記憶部３００には、比例制御弁２３０に出力される制御信号としての電流と、その電流が比例制御弁２３０に供給されたときのリフトシリンダ５０のシリンダ速度との関係を示すマップが記憶されている。ブレード制御部２１９は、記憶部３００のマップに基づいて、リフトシリンダ５０が目標値どおりのシリンダ速度で作動するように、比例制御弁２３０に制御信号（電流）を出力する。
【０１２２】
本実施形態において、第２時点ｔ２の駆動指令は、第２時点ｔ２のリフトシリンダ５０の目標シリンダ速度指令を含む。推定部２１４は、第１時点ｔ１の実高さデータＴｒ１と、第２時点ｔ２の目標シリンダ速度（指令速度）Ｖｒ２と、周期ｔｓ（本例では１０ミリ秒）とに基づいて、予測高さデータＴｒ３を推定する。
【０１２３】
本実施形態において、推定部２１４は、（２）式の演算を実施する。
【０１２４】
Ｔｒ３＝Ｔｒ１＋Ｖｒ２×ｔｓ×Ｇ  …（２）
【０１２５】
（２）式において、Ｖｒ２は、第２時点ｔ２における目標シリンダ速度（指令速度）である。ｔｓは、周期である。Ｇはゲインである。本実施形態において、ブレードコントローラ２１０は、予測高さデータＴｒ３を使って、第１時点ｔ１において、ブレード４０を制御するための駆動指令に基づく制御信号を出力する。
【０１２６】
なお、（２）式は、第１時点ｔ１の１周期前（１×１０ミリ秒前）の第２時点ｔ２の指令速度Ｖｒ２を使っている。第１時点ｔ１の１周期前の第２時点ｔ２の指令速度Ｖｒ２のみならず、２周期前（２×１０ミリ秒前）の時点ｔ２２の指令速度Ｖｒ２２、３周期前（３×１０ミリ秒前）の時点ｔ２３の指令速度Ｖｒ２３、…、ｎ周期前（ｎ×１０ミリ秒前）の時点ｔ２ｎの指令速度Ｖｒ２ｎを使用してもよい。すなわち、推定部２１４は、（３）式の演算を実施してもよい。
【０１２７】
Ｔｒ３＝Ｔｒ１＋（Ｖｒ２＋Ｖｒ２２＋…＋Ｖｒ２ｎ）×ｔｓ×Ｇ  …（３）
【０１２８】
このように、予測高さデータＴｒ３が推定され、その予測高さデータＴｒ３に基づいて、第１時点ｔ１において駆動指令が出力されることによって、応答性を高くするためにゲインＧが高くても、オーバーシュートの発生が抑制される。
【０１２９】
（２）式及び（３）式において、ゲインＧは、任意に定めることができる。本実施形態において、ゲインＧは、ブレード負荷データに基づいて調整される。ブレードコントローラ２１０は、ブレード４０にかかる負荷を示すブレード負荷データを取得するブレード負荷データ取得部２１８を備えている。推定部２１４は、ブレード負荷データに基づいて、予測高さデータＴｒ３を算出するためのゲインＧを調整してもよい。例えば、ブレード負荷データが大きい場合、推定部２１４は、ゲインＧを小さくする。ブレード負荷が高い場合、予測高さデータＴｒ３が真の値（第１時点ｔ１における真の刃先４０Ｐの高さ）から大きくずれてしまう可能性がある。ブレード負荷が大きいとき、ゲインＧを小さくすることによって、予測高さデータＴｒ３が真の値から大きくずれることが抑制される。
【０１３０】
予測高さデータＴｒ３が推定された後、ブレード制御部２１９は、予測高さデータＴｒ３と、目標高さデータＴｍ３とに基づいて、第１時点ｔ１において、予測高さデータＴｍ３と目標高さデータＴｒ３との偏差が小さくなるように、駆動指令を出力する（ステップＳＰ７）。これにより、設計面に対するブレード４０の追従性の低下が抑制される。
【０１３１】
本実施形態において、ブレード制御部２１９は、スライディングモード制御により、予測高さデータＴｍ３と目標高さデータＴｒ３との偏差が小さくなるように、駆動指令を出力する。これにより、ブレード４０の高い応答性が実現される。なお、ブレード制御部２１９は、ＰＩＤ制御により、予測高さデータＴｍ３と目標高さデータＴｒ３との偏差が小さくなるように、駆動指令を出力してもよい。
【０１３２】
なお、ここでは、現時点（第１時点）の実高さデータと過去の時点（第２時点）の駆動指令とにより、未来の時点（第３時点）の予測高さを推定している。ある過去の時点（例えば第２時点）の実高さデータとその過去の時点よりも前の時点の駆動指令とにより、未来の時点の予測高さを推定してもよい。すなわち、第１時点ｔ１よりも前の第２時点ｔ２でブレード制御部２１９から出力された駆動指令と、第１時点ｔ１又は第１時点ｔ１よりも前の時点（例えば時点ｔ２、時点ｔ２２、…、時点ｔ２ｎ）の刃先４０Ｐの実高さを示す実高さデータとに基づいて、第１時点ｔ１よりも後の第３時点ｔ３の刃先４０Ｐの予測高さが推定されてもよい。
【０１３３】
本実施形態においては、ステップＳＰ５において、第１偏差Δ１が第２偏差Δ２よりも大きいと判定された場合、又は、第１偏差Δ１と第２偏差Δ２とが等しいと判定された場合、又は、第１偏差Δ１が予め定められている閾値以上であると判定された場合（ステップＳＰ５：Ｙｅｓ）、推定部２１４による予測高さの推定が実施されず、ブレード制御部２１９は、第１時点ｔ１の実高さデータＴｒ１と、第１時点ｔ１の目標高さデータＴｍ１とに基づいて、第１時点ｔ１において、実高さデータＴｒ１と目標高さデータＴｍ１との偏差が小さくなるように、駆動指令を出力する（ステップＳＰ８）。
【０１３４】
すなわち、本実施形態においては、刃先４Ｐの実高さが目標高さから徐々に離れるように動いている場合、又は、実高さと目標高さとが予め定められている閾値よりも大きく離れている場合、予測高さデータＴｒ３を用いずに、第１時点ｔ１の実高さデータＴｒ１を用いて、駆動指令を出力する。
【０１３５】
例えば、（２）式及び（３）式において、ゲインＧをゼロにする処理を実行することによって、予測高さデータＴｒ３が実高さデータＴｒ１に置き換えられてもよい。
【０１３６】
予測高さデータＴｒ３を用いることにより、オーバーシュートの発生が抑制される。一方、予測高さデータＴｒ３を使用する場合、駆動指令の出力が抑制される傾向となる。実高さが目標高さから徐々に離れるように動いている場合、又は、実高さと目標高さの差が予め定められている閾値よりも大きい場合、実高さが目標高さに迅速に近付くことが困難となる可能性がある。
【０１３７】
そこで、本実施形態においては、第１偏差Δ１が第２偏差Δ２よりも大きいと判定された場合、又は、第１偏差Δ１と第２偏差Δ２とが等しいと判定された場合、又は、第１偏差Δ１が予め定められている閾値以上であると判定された場合、ブレード制御部２１９は、第１時点ｔ１の実高さデータＴｒ１と、第１時点ｔ１の目標高さデータＴｍ１とに基づいて、第１時点ｔ１において、実高さデータＴｒ１と目標高さデータＴｍ１との偏差が小さくなるように、駆動指令を出力する。これにより、実高さが目標高さに迅速に近付くことができる。
【０１３８】
図９は、目標高さ補正部２１７により目標高さが補正された場合の効果を示す図である。図９に示すように、補正後の目標高さは、補正前の目標高さに比べて、理想の目標高さに近付くことができる。なお、理想の目標高さとは、車体１０の実際の挙動を検出し、その実際の車体１０の挙動に応じて導出された目標高さである。目標高さの補正により補正前の目標高さから理想の目標高さに近い挙動を取得することができる。これによりブレード駆動指令から実際にブレードが駆動するまでの遅れ時間が小さくなる。これにより目標高さに対してブレードが上下する（うねる）等の不具合を解消することができる。
【０１３９】
図１０は、予測高さを使用せずに実高さを使用してブレード４０を制御したときの刃先４０Ｐの高さの例、及び予測高さを使用してブレード４０を制御したときの刃先４０Ｐの高さの例を示す。図１０は、ブレード４０を使ってブルドーザ１００が整地中、換言すれば、ブレード４０に所定の負荷が作用した状態でブルドーザ１００の走行装置２０が走行中、目標高さがステップ的に変動したときの、実高さを使用してブレード４０を制御したときの刃先４０Ｐの高さ、及び予測高さを使用してブレード４０を制御したときの刃先４０Ｐの高さを示す。
【０１４０】
ブルドーザ１００の走行装置２０が走行中にブレード４０が設計面の段差を跨いだ場合、図１０に示すように、目標高さ生成装置２２０によって算出される目標高さは、ステップ的に変動する。
【０１４１】
比較例である実高さを使用したブレード４０の制御では、図１０に示すように、ブレード４０のオーバーシュートが発生する。ブレード４０の負荷及び走行装置２０の車速の変動が起きやすい整地作業では、オーバーシュートが発生すると、安定したブレード４０の制御が実施できなくなる可能性がある。その結果、ブルドーザ１００は、所望の形状に整地できない可能性がある。
【０１４２】
本実施形態に係る予測高さを使用したブレード４０の制御では、図１０に示すように、ブレード４０のオーバーシュートが抑制される。ブレード４０は、オーバーシュートを起こさずに、目標高さに収束することができる。これにより、ブルドーザ１００は、所望の形状に整地することができる。
【０１４３】
（効果）
以上説明したように、本実施形態によれば、第１時点ｔ１よりも前の第２時点ｔ２でブレード制御部２１９から出力された駆動指令と、第１時点ｔ１の刃先４０Ｐの実高さを示す実高さデータＴｒ１とに基づいて、第１時点ｔ１よりも後の第３時点ｔ３の刃先４０Ｐの予測高さを示す予測高さデータＴｒ３を推定し、予測高さデータＴｒ３と目標高さデータＴｍ１とに基づいて、駆動指令を出力するようにしたので、油圧システムのむだ時間が存在しても、ゲインを大きくしてブレード４０の応答性を向上しつつ、オーバーシュートの発生を抑制することができる。
【０１４４】
例えば、制御信号に対する油圧システムのむだ時間が存在する場合、ブレード４０の刃先４０Ｐを設計面に追従させることが困難となる可能性がある。応答性をよくするためにゲインを大きくすると、むだ時間があるためオーバーシュートが発生し、ブレードの刃先を設計面に追従させることが困難となる可能性がある。
【０１４５】
本実施形態においては、ゲインを大きくしてもオーバーシュートの発生が抑制される。そのため、高い応答性で、ブレード４０の刃先を設計面に精度良く追従させることができる。したがって、ブルドーザ１００は、所望の形状に整地することができる。
【０１４６】
本実施形態において、ブレード制御部２１９は、現代制御理論であるスライディングモード制御でブレード４０を制御する。スライディングモード制御は、ＰＩＤ制御に比べて、高い応答性が得られる可能性が高い。油圧システムのむだ時間に起因して、スライディングモード制御を採用し、応答性を高めた制御系においては、負荷、走行条件によってオーバーシュートが発生する可能性がある。本実施形態によれば、予測高さデータＴｒ３を使ってブレード４０を制御することにより、オーバーシュート等を抑制し制御性を向上することができる。
【０１４７】
また、本実施形態においては、所定の周期ｔｓで、目標高さ演算部２２３が目標高さを算出し、実高さ演算部２１２が実高さを算出する。第１時点ｔ１、第２時点ｔ２、及び第３時点ｔ３は、周期ｔｓに基づいて定められる。これにより、ブレード４０を使って所望の形状に整地することができる。
【０１４８】
また、本実施形態においては、ブレード負荷データに基づいて、予測高さデータＴｒ３を算出するためのゲインＧが調整される。これにより、ブレード負荷の変化に起因する予測高さデータＴｒ３が真の値から大きくずれることが抑制され、予測高さデータＴｒ３の正確性の低下が抑制される。
【０１４９】
また、本実施形態によれば、第１偏差Δ１が第２偏差Δ２よりも大きいと判定された場合、又は、第１偏差Δ１と第２偏差Δ２とが等しいと判定された場合、又は、第１偏差Δ１が予め定められている閾値以上であると判定された場合、予測高さデータＴｒ３を用いずに、第１時点ｔ１の実高さデータＴｒ１を用いて、駆動指令が出力される。これにより、実高さが目標高さから離れている場合、実高さを目標高さに迅速に近付くことができる。
【０１５０】
また、本実施形態によれば、第１時点ｔ１の目標高さデータＴｍ１と、第２時点ｔ２の目標高さデータＴｍ２とに基づいて、第３時点ｔ３の目標高さデータＴｍ３を推定し、その目標高さデータＴｍ３と予測高さデータＴｒ３とが近付くように、ブレード４０が制御される。そのため、目標高さ生成装置２２０の処理（演算及び出力を含む）が遅れる場合においても、その遅れが相殺されるように、ブレード４０が制御される。したがって、実高さ予測に基づくブレード制御を行う様な場合にも適用可能となりブルドーザ１００は、所望の形状に整地することができる。
【０１５１】
なお、上述の実施形態においては、作業車両１００がブルドーザ１００である例について説明した。作業車両１００は、ブレード機構を有するモータグレーダでもよい。
【符号の説明】
【０１５２】
１０  車体
１１  運転室
１２  エンジン室
２０  走行装置
２１  クローラ
３０  リフトフレーム
３１  球関節部
３２  ピッチ支持リンク
３３  支柱部
４０  ブレード
４０Ｐ  刃先
４１  自在継手
４２  ピッチング継手
５０  リフトシリンダ
５０Ｓ  リフトシリンダセンサ
６０  アングルシリンダ
７０  チルトシリンダ
８０  ＧＰＳレシーバ
９０  ＩＭＵ
９５  スプロケット
１００  ブルドーザ（作業車両）
２００  ブレード制御装置
２１０  ブレードコントローラ
２１１  車両データ取得部
２１２  実高さ演算部
２１３  判定部
２１４  推定部
２１５  フィルタ部
２１６  目標高さデータ取得部
２１７  目標高さ補正部
２１８  ブレード負荷データ取得部
２１９  ブレード制御部
２２０  目標高さ生成装置
２２１  設計面データ格納部
２２２  データ取得部
２２３  目標高さ演算部
２３０  比例制御弁
２４０  油圧ポンプ
２４１  油圧モータ
２４５  油圧ポンプ
２５０  油圧センサ
２６０  インプット装置
３００  記憶部
Ｌ  リフトシリンダ長（リフトシリンダのストローク長さ）
θ  リフト角
【要約】
ブレード制御装置は、油圧シリンダを駆動する駆動指令を出力するブレード制御部と、絶対位置データと車体傾斜角データと設計面データとに基づいて、刃先の目標高さを算出する目標高さ生成装置と、第１時点の目標高さを示す目標高さデータを取得する目標高さデータ取得部と、絶対位置データと車体傾斜角データとシリンダ長データとに基づいて、第１時点の刃先の実高さを算出する実高さ演算部と、第１時点よりも前の第２時点でブレード制御部から出力された駆動指令と、第１時点又は第１時点よりも前の時点の刃先の実高さを示す実高さデータとに基づいて、第１時点よりも後の第３時点の刃先の予測高さを推定する推定部と、を備える。ブレード制御部は、第３時点の予測高さと、第１時点の目標高さとに基づいて、第１時点において、予測高さと目標高さとの偏差が小さくなるように、駆動指令を出力する。【図１】
0005807128.tif 000002
【図２】
0005807128.tif 000003
【図３】
0005807128.tif 000004
【図４】
0005807128.tif 000005
【図５】
0005807128.tif 000006
【図６】
0005807128.tif 000007
【図７】
0005807128.tif 000008
【図８】
0005807128.tif 000009
【図９】
0005807128.tif 000010
【図１０】
0005807128.tif 000011