(57)【要約】【課題】施工現場の条件にかかわらず、作業機を設計面に追従させること。【解決手段】建設機械の制御システムは、作業機の制御量の目標値を生成する目標値生成部と、目標値と作業機の予測モデルとに基づいて作業機の制御量の予測値を算出し、予測値に基づいて前記作業機を制御する駆動量を算出する予測部と、駆動量に基づいて、作業機を制御する制御指令を出力する指令部と、を備える。【選択図】図２
2020125598.tif 000002
【特許請求の範囲】
【請求項１】
作業機を備える建設機械の制御システムであって、
前記作業機の制御量の目標値を生成する目標値生成部と、
前記目標値と前記作業機の予測モデルとに基づいて前記作業機の制御量の予測値を算出し、前記予測値に基づいて前記作業機を制御する駆動量を算出する予測部と、
前記駆動量に基づいて、前記作業機を制御する制御指令を出力する指令部と、
を備える建設機械の制御システム。
【請求項２】
前記建設機械は、同一の又は近似する機能を発揮する複数の機器を備え、
前記予測部は、前記目標値と前記予測モデルとに基づいて、前記機器の機能発揮範囲における前記機器の作動量の予測値を算出し、
第１の前記機器が機能発揮範囲の限界値に到達するか否かを判定する判定部を備え、
前記予測部は、第１の前記機器が機能発揮範囲の限界値に到達すると判定されたとき、第１の前記機器が機能発揮範囲の前記限界値に近付かないように、第２の前記機器の作動量を制御する駆動量を算出する、
請求項１に記載の建設機械の制御システム。
【請求項３】
前記作業機は、相対移動可能な複数の作業部材を含み、
前記機器は、前記作業部材を含み、
前記機能発揮範囲は、前記作業部材の可動範囲を含む、
請求項２に記載の建設機械の制御システム。
【請求項４】
前記建設機械は、複数の油圧アクチュエータを備え、
前記機器は、前記油圧アクチュエータを含み、
前記機能発揮範囲は、前記油圧アクチュエータについて規定された作動油供給範囲を含む、
請求項２又は請求項３に記載の建設機械の制御システム。
【請求項５】
前記作業機は、相対移動可能な複数の作業部材を含み、
前記予測部は、前記目標値と前記予測モデルとに基づいて、前記作業部材の可動範囲における前記作業部材の角度の予測値を算出し、
第１の前記作業部材が可動範囲の端部に接近したか否かを判定する判定部を備え、
前記予測部は、第１の前記作業部材が可動範囲の端部に接近したと判定されたとき、第１の前記作業部材が可動範囲の端部に近付かないように、第２の前記作業部材の角度を制御する駆動量を算出する、
請求項１に記載の建設機械の制御システム。
【請求項６】
前記作業機は、ブーム、アーム、及びバケットを含み、
第１の前記作業部材は、前記バケットを含み、
第２の前記作業部材は、前記ブーム及び前記アームの一方又は両方を含み、
前記建設機械は、前記作業機を支持する旋回体を備え、
前記予測部は、前記作業機を操作する操作装置により前記バケットが第１位置から前記第１位置よりも前記旋回体に近い第２位置に移動される状態で、前記バケットが可動範囲の端部に接近したと判定されたとき、前記バケットが可動範囲の端部に近付かないように、前記ブーム及び前記アームの一方又は両方の角度を制御する駆動量を算出する、
請求項５に記載の建設機械の制御システム。
【請求項７】
前記建設機械は、複数の前記作業部材のそれぞれを作動させる複数の油圧アクチュエータを備え、
前記予測部は、前記目標値と前記予測モデルとに基づいて、前記油圧アクチュエータについて規定された作動油供給範囲における前記油圧アクチュエータに対する作動油供給流量の予測値を算出し、
第１の前記油圧アクチュエータに対する作動油供給流量が前記作動油供給範囲の限界値に到達するか否かを判定する判定部を備え、
前記予測部は、第１の前記油圧アクチュエータに対する作動油供給流量が前記作動油供給範囲の限界値に到達すると判定されたとき、第１の前記油圧アクチュエータに対する作動油供給流量が前記作動油供給範囲の限界値に近付かないように、第２の前記油圧アクチュエータに対する作動油供給流量を制御する駆動量を算出する、
請求項５又は請求項６に記載の建設機械の制御システム。
【請求項８】
前記作業機を操作する操作装置の操作データを取得する操作データ取得部を備え、
前記目標値生成部は、前記操作データに基づいて、前記目標値を生成する、
請求項１から請求項７のいずれか一項に記載の建設機械の制御システム。
【請求項９】
施工対象の目標形状を示す設計面を取得する設計面取得部を備え、
前記制御量は、前記作業機の所定部位の位置を含み、
前記予測部は、前記予測値と前記設計面とに基づいて、前記作業機の所定部位と前記設計面との距離が維持されるように、前記駆動量を算出する、
請求項１から請求項８のいずれか一項に記載の建設機械の制御システム。
【請求項１０】
前記制御量は、前記作業機の移動速度を含む、
請求項１から請求項９のいずれか一項に記載の建設機械の制御システム。
【請求項１１】
前記予測部は、前記制御量の予測値が目標値に追従するように前記駆動量を算出する、
請求項１から請求項１０のいずれか一項に記載の建設機械の制御システム。
【請求項１２】
前記予測部は、前記制御量の目標値及び予測値により規定される評価関数が最小になるように前記駆動量を算出する、
請求項１から請求項１１のいずれか一項に記載の建設機械の制御システム。
【請求項１３】
前記建設機械の性能に係る第１制約条件及び前記作業機の位置に係る第２制約条件を算出する制約条件算出部を備え、
前記予測部は、前記第１制約条件及び前記第２制約条件を満足するように前記駆動量を算出する、
請求項１２に記載の建設機械の制御システム。
【請求項１４】
前記作業機を支持する旋回体と、
請求項１から請求項１３のいずれか一項に記載の建設機械の制御システムと、
を備える建設機械。
【請求項１５】
作業機を備える建設機械の制御方法であって、
前記作業機の制御量の目標値と前記作業機の予測モデルとに基づいて、前記作業機の制御量の予測値を算出することと、
前記予測値に基づいて、前記作業機を制御する駆動量を算出することと、
前記駆動量に基づいて、前記作業機を制御する制御指令を出力することと、
を含む建設機械の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、建設機械の制御システム、建設機械、及び建設機械の制御方法に関する。
【背景技術】
【０００２】
建設機械に係る技術分野において、特許文献１に開示されているような、施工対象の目標形状を示す設計面に追従するように作業機を移動させる建設機械の制御システムが知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２０１４／１６７７１８号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
作業機は、設計面を掘り込まないように制御される。しかし、施工現場の条件によっては、作業機が設計面を掘り込んでしまう可能性がある。例えば、施工現場に様々な形状の設計面が設定される場合、作業機が設計面に追従することが困難になる可能性がある。また、施工現場において様々な内容の作業が要求される場合、作業機が設計面に追従することが困難になる可能性がある。施工現場の条件にかかわらず、作業機を設計面に追従させることができる技術が要望される。
【０００５】
本発明の態様は、施工現場の条件にかかわらず、作業機を設計面に追従させることを目的とする。
【課題を解決するための手段】
【０００６】
本発明の態様に従えば、作業機を備える建設機械の制御システムであって、前記作業機の制御量の目標値を生成する目標値生成部と、前記目標値と前記作業機の予測モデルとに基づいて前記作業機の制御量の予測値を算出し、前記予測値に基づいて前記作業機を制御する駆動量を算出する予測部と、前記駆動量に基づいて、前記作業機を制御する制御指令を出力する指令部と、を備える建設機械の制御システムが提供される。
【発明の効果】
【０００７】
本発明の態様によれば、施工現場の条件にかかわらず、作業機を設計面に追従させることができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、本実施形態に係る建設機械の一例を示す斜視図である。
【図２】図２は、本実施形態に係る建設機械の制御システムを示すブロック図である。
【図３】図３は、本実施形態に係る建設機械を模式的に示す図である。
【図４】図４は、本実施形態に係るバケットを模式的に示す図である。
【図５】図５は、本実施形態に係る制御装置を示す機能ブロック図である。
【図６】図６は、本実施形態に係る目標並進速度算出部によるバケットの目標並進速度の算出方法を説明するための図である。
【図７】図７は、本実施形態に係る制限速度テーブルの一例を示す図である。
【図８】図８は、本実施形態に係る目標回転速度算出部によるバケットの目標回転速度の算出方法を説明するための図である。
【図９】図９は、本実施形態に係る建設機械の動作の一例を示す図である。
【図１０】図１０は、本実施形態に係る建設機械の制御方法を示すフローチャートである。
【図１１】図１１は、本実施形態に係る制御方法により作業機を制御した場合と比較例に係る制御方法により作業機を制御した場合とを比較した結果を示す図である。
【図１２】図１２は、本実施形態に係るコンピュータシステムの一例を示すブロック図である。
【発明を実施するための形態】
【０００９】
以下、本発明に係る実施形態について図面を参照しながら説明するが、本発明はこれに限定されない。以下で説明する各実施形態の構成要素は適宜組み合わせることができる。また、一部の構成要素を用いない場合もある。
【００１０】
以下の説明においては、３次元の車体座標系（Ｘ，Ｙ，Ｚ）を規定して、各部の位置関係について説明する。車体座標系とは、建設機械に固定された原点を基準とする座標系をいう。車体座標系は、建設機械に設定された原点を基準として規定方向に延在するＸ軸と、Ｘ軸と直交するＹ軸と、Ｘ軸及びＹ軸のそれぞれと直交するＺ軸とによって規定される。Ｘ軸と平行な方向をＸ軸方向とする。Ｙ軸と平行な方向をＹ軸方向とする。Ｚ軸と平行な方向をＺ軸方向とする。Ｘ軸を中心とする回転又は傾斜方向をθＸ方向とする。Ｙ軸を中心とする回転又は傾斜方向をθＹ方向とする。Ｚ軸を中心とする回転又は傾斜方向をθＺ方向とする。
【００１１】
［建設機械］
図１は、本実施形態に係る建設機械１００の一例を示す斜視図である。本実施形態においては、建設機械１００が油圧ショベルである例について説明する。以下の説明においては、建設機械１００を適宜、油圧ショベル１００、と称する。
【００１２】
図１に示すように、油圧ショベル１００は、油圧により作動する作業機１と、作業機１を支持する旋回体２と、旋回体２を支持する走行体３とを備える。旋回体２は、運転者が搭乗する運転室４を有する。運転室４には、運転者が着座するシート４Ｓが配置される。旋回体２は、走行体３に支持された状態で旋回軸ＲＸを中心に旋回可能である。
【００１３】
走行体３は、一対の履帯３Ｃを有する。履帯３Ｃの回転により、油圧ショベル１００が走行する。なお、走行体３がタイヤを有してもよい。
【００１４】
作業機１は、旋回体２に支持される。作業機１は、相対移動可能な複数の作業部材を含む。複数の作業部材は、同一の又は近似する機能を発揮する。すなわち、複数の作業部材のそれぞれは、旋回体２に対して移動することにより、掘削作業、整地作業、及び積込作業のような油圧ショベル１００に要求される作業を実行することができる機能を有する。
【００１５】
作業部材は、ブーム６、アーム７、及びバケット８を含む。ブーム６は、旋回体２に連結される。アーム７は、ブーム６の先端部に連結される。バケット８は、アーム７の先端部に連結される。バケット８は、刃先９を有する。本実施形態において、バケット８の刃先９は、ストレート形状の刃の先端部である。なお、バケット８の刃先９は、バケット８に設けられた凸形状の刃の先端部でもよい。
【００１６】
ブーム６は、ブーム軸ＡＸ１を中心に旋回体２に対して回転可能である。アーム７は、アーム軸ＡＸ２を中心にブーム６に対して回転可能である。バケット８は、バケット軸ＡＸ３、チルト軸ＡＸ４、及びローテート軸ＡＸ５のそれぞれを中心にアーム７に対して回転可能である。ブーム軸ＡＸ１、アーム軸ＡＸ２、及びバケット軸ＡＸ３は、Ｙ軸と平行である。チルト軸ＡＸ４は、バケット軸ＡＸ３と直交する。ローテート軸ＡＸ５は、バケット軸ＡＸ３及びチルト軸ＡＸ４のそれぞれと直交する。旋回軸ＲＸは、Ｚ軸と平行である。Ｘ軸方向は、旋回体２の前後方向である。Ｙ軸方向は、旋回体２の車幅方向である。Ｚ軸方向は、旋回体２の上下方向である。シート４Ｓに着座した運転者を基準として作業機１が存在する方向が前方である。
【００１７】
図２は、本実施形態に係る油圧ショベル１００の制御システム２００を示すブロック図である。図３は、本実施形態に係る油圧ショベル１００を模式的に示す図である。図４は、本実施形態に係るバケット８を模式的に示す図である。
【００１８】
図２に示すように、油圧ショベル１００の制御システム２００は、エンジン５と、作業機１を作動させる複数の油圧シリンダ１０と、旋回体２を駆動する旋回モータ１６と、作動油を吐出する油圧ポンプ１７と、油圧ポンプ１７から吐出された作動油を複数の油圧シリンダ１０及び旋回モータ１６のそれぞれに分配するバルブ装置１８と、旋回体２の位置データを算出する位置演算装置２０と、作業機１の角度θを検出する角度検出装置３０と、作業機１及び旋回体２を操作する操作装置４０と、制御装置５０とを備える。
【００１９】
作業機１は、油圧シリンダ１０が発生する動力により作動する。油圧シリンダ１０は、油圧ポンプ１７から供給された作動油に基づいて駆動する。油圧シリンダ１０は、作業機１の作業部材を作動させる油圧アクチュエータである。複数の油圧シリンダ１０は、同一の又は近似する機能を発揮する。すなわち、複数の油圧シリンダ１０は、複数の作業部材のそれぞれを作動させることができる機能を有する。
【００２０】
油圧シリンダ１０は、ブーム６を作動させるブームシリンダ１１と、アーム７を作動させるアームシリンダ１２と、バケット８を作動させるバケットシリンダ１３、チルトシリンダ１４、及びローテートシリンダ１５とを含む。ブームシリンダ１１は、ブーム軸ＡＸ１を中心にブーム６を回転させる動力を発生する。アームシリンダ１２は、アーム軸ＡＸ２を中心にアーム７を回転させる動力を発生する。バケットシリンダ１３は、バケット軸ＡＸ３を中心にバケット８を回転させる動力を発生する。チルトシリンダ１４は、チルト軸ＡＸ４を中心にバケット８を回転させる動力を発生する。ローテートシリンダ１５は、ローテート軸ＡＸ５を中心にバケット８を回転させる動力を発生する。
【００２１】
以下の説明においては、バケット軸ＡＸ３を中心とするバケット８の回転を適宜、バケット回転、と称し、チルト軸ＡＸ４を中心とするバケット８の回転を適宜、チルト回転、と称し、ローテート軸ＡＸ５を中心とするバケット８の回転を適宜、ローテート回転、と称する。
【００２２】
旋回体２は、旋回モータ１６が発生する動力により旋回する。旋回モータ１６は、油圧モータであり、油圧ポンプ１７から供給された作動油に基づいて駆動する。旋回モータ１６は、旋回軸ＲＸを中心に旋回体２を旋回させる動力を発生する。
【００２３】
エンジン５は、旋回体２に搭載される。エンジン５は、油圧ポンプ１７を駆動するための動力を発生する。
【００２４】
油圧ポンプ１７は、油圧シリンダ１０及び旋回モータ１６を駆動するための作動油を吐出する。
【００２５】
バルブ装置１８は、油圧ポンプ１７から供給された作動油を複数の油圧シリンダ１０及び旋回モータ１６に分配する複数のバルブを有する。バルブ装置１８は、複数の油圧シリンダ１０のそれぞれに供給される作動油の流量を調整する。油圧シリンダ１０に供給される作動油の流量が調整されることにより、油圧シリンダ１０の作動速度が調整される。バルブ装置１８は、旋回モータ１６に供給される作動油の流量を調整する。旋回モータ１６に供給される作動油の流量が調整されることにより、旋回モータ１６の回転速度が調整される。
【００２６】
位置演算装置２０は、旋回体２の位置データを算出する。旋回体２の位置データは、旋回体２の位置、旋回体２の姿勢、及び旋回体２の方位を含む。位置演算装置２０は、旋回体２の位置を算出する位置演算器２１と、旋回体２の姿勢を算出する姿勢演算器２２と、旋回体２の方位を算出する方位演算器２３とを有する。
【００２７】
位置演算器２１は、旋回体２の位置として、グローバル座標系における旋回体２の位置を算出する。位置演算器２１は、旋回体２に配置される。グローバル座標系とは、地球に固定された原点を基準とする座標系をいう。グローバル座標系は、ＧＮＳＳ（Global  Navigation  Satellite  System）によって規定される座標系である。ＧＮＳＳとは、全地球航法衛星システムをいう。全地球航法衛星システムとして、ＧＰＳ（Global  Positioning  System）が例示される。ＧＮＳＳは、複数の測位衛星を有する。ＧＮＳＳは、緯度、経度、及び高度の座標データで規定される位置を検出する。旋回体２にＧＰＳアンテナが設けられる。ＧＰＳアンテナは、ＧＰＳ衛星から電波を受信して、受信した電波に基づいて生成した信号を位置演算器２１に出力する。位置演算器２１は、ＧＰＳアンテナから供給された信号に基づいて、グローバル座標系における旋回体２の位置を算出する。位置演算器２１は、例えば図３に示すような、旋回体２の代表点Ｏの位置を算出する。図３に示す例において、旋回体２の代表点Ｏは、旋回軸ＲＸに設定される。なお、代表点Ｏは、ブーム軸ＡＸ１に設定されてもよい。
【００２８】
姿勢演算器２２は、旋回体２の姿勢として、グローバル座標系における水平面に対する旋回体２の傾斜角度を算出する。姿勢演算器２２は、旋回体２に配置される。姿勢演算器２２は、慣性計測装置（ＩＭＵ：Inertial  Measurement  Unit）を含む。水平面に対する旋回体２の傾斜角度は、車幅方向における旋回体２の傾斜角度を示すロール角度α、及び前後方向における旋回体２の傾斜角度を示すピッチ角度βを含む。
【００２９】
方位演算器２３は、旋回体２の方位として、グローバル座標系における基準方位に対する旋回体２の方位を算出する。基準方位は、例えば北である。方位演算器２３は、旋回体２に配置される。方位演算器２３は、ジャイロセンサを含む。なお、方位演算器２３は、ＧＰＳアンテナから供給された信号に基づいて方位を算出してもよい。基準方位に対する旋回体２の方位は、基準方位と旋回体２の方位とがなす角度を示すヨー角度γを含む。
【００３０】
角度検出装置３０は、作業機１の角度θを検出する。角度検出装置３０は、作業機１に配置される。図３及び図４に示すように、作業機１の角度θは、Ｚ軸に対するブーム６の角度を示すブーム角度θ１と、ブーム６に対するアーム７の角度を示すアーム角度θ２と、アーム７に対するバケット回転方向のバケット８の角度を示すバケット角度θ３と、ＸＹ平面に対するチルト回転方向のバケット８の角度を示すチルト角度θ４と、ＹＺ平面に対するローテート回転方向のバケット８の角度を示すローテート角度θ５とを含む。
【００３１】
角度検出装置３０は、ブーム角度θ１を検出するブーム角度検出器３１と、アーム角度θ２を検出するアーム角度検出器３２と、バケット角度θ３を検出するバケット角度検出器３３と、チルト角度θ４を検出するチルト角度検出器３４と、ローテート角度θ５を検出するローテート角度検出器３５とを有する。角度検出装置３０は、油圧シリンダ１０のストロークを検出するストロークセンサを含んでもよいし、ロータリーエンコーダのような作業機１の角度θを検出する角度センサを含んでもよい。角度検出装置３０がストロークセンサを含む場合、角度検出装置３０は、ストロークセンサの検出データに基づいて、作業機１の角度θを算出する。
【００３２】
操作装置４０は、油圧シリンダ１０及び旋回モータ１６を駆動するために運転者に操作される。操作装置４０は、運転室４に配置される。運転者により操作装置４０が操作されることにより、作業機１が作動する。操作装置４０は、油圧ショベル１００の運転者に操作されるレバーを含む。操作装置４０のレバーは、右操作レバー４１と、左操作レバー４２と、チルト操作レバー４３とを含む。
【００３３】
中立位置にある右操作レバー４１が前方に操作されると、ブーム６が下げ動作し、後方に操作されると、ブーム６が上げ動作する。中立位置にある右操作レバー４１が右方に操作されると、バケット８がダンプ動作し、左方に操作されると、バケット８が掘削動作する。
【００３４】
中立位置にある左操作レバー４２が前方に操作されると、アーム７がダンプ動作し、後方に操作されると、アーム７が掘削動作する。中立位置にある左操作レバー４２が右方に操作されると、旋回体２が右旋回し、左方に操作されると、旋回体２が左旋回する。
【００３５】
チルト操作レバー４３が操作されると、バケット８がチルト回転又はローテート回転する。
【００３６】
［制御装置］
図５は、本実施形態に係る制御装置５０を示す機能ブロック図である。制御装置５０は、位置データ取得部５１と、角度データ取得部５２と、操作データ取得部５３と、設計面取得部５４と、目標値生成部５５と、モデル予測制御部５６と、制約条件算出部５７と、指令部５８と、判定部６１と、記憶部６０とを有する。
【００３７】
位置データ取得部５１は、位置演算装置２０から旋回体２の位置データを取得する。旋回体２の位置データは、旋回体２の位置、旋回体２の姿勢、及び旋回体２の方位を含む。
【００３８】
角度データ取得部５２は、角度検出装置３０から作業機１の角度θを示す角度データを取得する。作業機１の角度データは、ブーム角度θ１、アーム角度θ２、バケット角度θ３、チルト角度θ４、及びローテート角度θ５を含む。
【００３９】
操作データ取得部５３は、作業機１を操作する操作装置４０の操作データを取得する。操作装置４０の操作データは、操作装置４０が操作された量を含む。操作装置４０には、レバーが操作された量を検出する操作量センサが設けられる。操作データ取得部５３は、操作装置４０の操作量センサから操作装置４０の操作データを取得する。
【００４０】
設計面取得部５４は、施工対象の目標形状を示す設計面を取得する。設計面は、油圧ショベル１００による施工後の３次元の目標形状を示す。本実施形態においては、設計面データ供給装置７０により、設計面を示す設計面データが生成される。設計面取得部５４は、設計面データ供給装置７０から設計面データを取得する。設計面データ供給装置７０は、油圧ショベル１００の遠隔地に設けられてもよい。設計面データ供給装置７０で生成された設計面データは、通信システムを介して制御装置５０に送信されてもよい。なお、設計面データ供給装置７０により生成された設計面データが記憶部６０に記憶されてもよい。設計面取得部５４は、記憶部６０から設計面データを取得してもよい。
【００４１】
目標値生成部５５は、作業機１の制御量の目標値を生成する。本実施形態において、作業機１の制御量は、バケット８の移動速度及びバケット８の所定部位の位置の一方又は両方を含む。バケット８の所定部位は、バケット８の刃先９を含む。バケット８の移動速度は、刃先９の移動速度を含む。バケット８の所定部位の位置は、刃先９の位置を含む。目標値生成部５５は、操作データ取得部５３により取得された操作データに基づいて、作業機１の制御量の目標値を生成する。
【００４２】
以下の説明においては、バケット８の所定部位が刃先９であることとする。なお、バケット８の所定部位は、刃先９でなくてもよい。バケット８の所定部位は、バケット８の床面（底面）でもよい。
【００４３】
バケット８の移動速度は、バケット８の並進速度及び回転速度を含む。バケット８の並進速度とは、Ｘ軸方向、Ｙ軸方向、及びＺ軸方向のそれぞれの移動速度をいう。バケット８の回転速度とは、θＸ方向、θＹ方向、及びθＺ方向のそれぞれの回転角速度をいう。本実施形態において、目標値生成部５５は、並進速度の目標値である目標並進速度ｖtargetを算出する目標並進速度算出部５５１と、回転速度の目標値である目標回転速度ωtargetを算出する目標回転速度算出部５５２とを含む。目標値生成部５５は、角度データ取得部５２により取得された角度データ、操作データ取得部５３により取得された操作データ、及び設計面取得部５４により取得された設計面に基づいて、目標並進速度ｖtarget及び目標回転速度ωtargetのそれぞれを算出する。
【００４４】
図６は、本実施形態に係る目標並進速度算出部５５１によるバケット８の目標並進速度ｖtargetの算出方法を説明するための図である。目標並進速度算出部５５１は、操作装置４０の操作データ及び作業機１の角度データに基づいて、バケット８の並進速度を算出する並進速度算出部５５１Ａと、刃先９と設計面との距離及び設計面データに基づいて、バケット８の制限速度を算出する制限速度算出部５５１Ｂと、ＰＩ制御部５５１Ｃと、減速処理部５５１Ｄとを含む。
【００４５】
目標並進速度算出部５５１は、設計面を掘り込まないためのバケット８の目標並進速度ｖtargetを算出する。バケット８の目標並進速度ｖtargetは，（１）式から（６）式に基づいて算出される。
【００４６】
【数１】
2020125598.tif 000003
【数２】
2020125598.tif 000004
【数３】
2020125598.tif 000005
【数４】
2020125598.tif 000006
【数５】
2020125598.tif 000007
【数６】
2020125598.tif 000008
【００４７】
ｎ∈Ｒ３は、刃先９と最も近い設計面の単位法線ベクトルであり、ｗＲ１∈Ｒ３×３は、車体座標系からグローバル座標系へ変換する回転行列であり、ｖsagyo∈Ｒ３は、操作装置４０の操作に基づいて作業機１が作動した場合の並進速度のうち作業機平面（車体座標系のＸＺ平面）におけるブーム６及びアーム７による並進速度成分であり、ＶＭＡＸは、設計面を掘り込まないための設計面の法線方向のバケット８の最大速度である。Ｊｖ∈Ｒ３×５及びＪω∈Ｒ３×５のそれぞれは、ヤコビ行列の並進速度成分及び回転速度成分を示す。
【００４８】
目標並進速度算出部５５１は、位置データ取得部５１により取得された旋回体２の位置データと、角度データ取得部５２により取得された作業機１の角度データと、記憶部６０に記憶されている作業機データとに基づいて、刃先９と設計面との距離を算出することができる。図３及び図４に示すように、作業機データは、ブーム長さＬ１、アーム長さＬ２、バケット長さＬ３、チルト長さＬ４、及びバケット幅Ｌ５を含む。ブーム長さＬ１は、ブーム軸ＡＸ１とアーム軸ＡＸ２との距離である。アーム長さＬ２は、アーム軸ＡＸ２とバケット軸ＡＸ３との距離である。バケット長さＬ３は、バケット軸ＡＸ３とバケット８の刃先９との距離である。チルト長さＬ４は、バケット軸ＡＸ３とチルト軸ＡＸ４との距離である。バケット幅Ｌ５は、バケット８の幅方向の寸法である。作業機データは、バケット８の形状及び寸法を示すバケット外形データを含む。バケット外形データは、バケット８の外面の輪郭を含むバケット８の外面データを含む。バケット外形データは、バケット８の所定部位を基準としたバケット８の複数の外形点ＲＰの座標データを含む。
【００４９】
目標並進速度算出部５５１は、外形点ＲＰの位置データを算出する。目標並進速度算出部５５１は、車体座標系における旋回体２の代表点Ｏと複数の外形点ＲＰのそれぞれとの相対位置を算出する。目標並進速度算出部５５１は、ブーム長さＬ１、アーム長さＬ２、バケット長さＬ３、チルト長さＬ４、バケット幅Ｌ５、及びバケット外形データを含む作業機データと、ブーム角度θ１、アーム角度θ２、バケット角度θ３、チルト角度θ４、及びローテート角度θ５を含む作業機１の角度データとに基づいて、車体座標系における旋回体２の代表点Ｏとバケット８の複数の外形点ＲＰのそれぞれとの相対位置を算出することができる。外形点ＲＰが刃先９に設定されることにより、目標並進速度算出部５５１は、代表点Ｏと刃先９との相対位置を算出することができる。設計面は、車体座標系において規定される。したがって、目標並進速度算出部５５１は、車体座標系における刃先９と設計面との距離を算出することができる。また、目標並進速度算出部５５１は、グローバル座標系における複数の外形点ＲＰのそれぞれの位置を算出する。目標並進速度算出部５５１は、旋回体２の代表点Ｏの絶対位置と、旋回体２の代表点Ｏとバケット８の外形点ＲＰとの相対位置とに基づいて、グローバル座標系におけるバケット８の外形点ＲＰの位置を算出することができる。
【００５０】
制限速度算出部５５１Ｂは、バケット８と設計面との距離と作業機１の制限速度との関係を示す制限速度テーブルにより、設計面の法線方向におけるブーム６の制限速度を決定する。
【００５１】
図７は、本実施形態に係る制限速度テーブルの一例を示す図である。図７に示すように、制限速度テーブルは、刃先９と設計面との距離と作業機１の制限速度との関係を示す。制限速度テーブルにおいて、刃先９と設計面との距離が０のときに、設計面の法線方向における作業機１の速度が０になる。制限速度テーブルにおいて、刃先９が施工面よりも上方に配置されるときに、刃先９と設計面との距離は正の値になる。刃先９が施工面よりも下方に配置されるときに、刃先９と施工面との距離は負の値になる。制限速度テーブルにおいて、刃先９を上方に移動させるときの速度は正の値になる。刃先９と施工面との距離が正の値である作業機制御閾値ｔｈ以下のときに、刃先９と施工面との距離に基づいて、作業機１の制限速度が規定される。刃先９と施工面との距離が作業機制御閾値ｔｈ以上のときに、作業機１の制限速度の絶対値は作業機１の目標速度の最大値より大きい値になる。すなわち、刃先９と施工面との距離が作業機制御閾値ｔｈ以上である場合、作業機１の目標速度の絶対値は常に制限速度の絶対値より小さいため、ブーム６は、常に目標速度で駆動する。
【００５２】
図８は、本実施形態に係る目標回転速度算出部５５２によるバケット８の目標回転速度ωtargetの算出方法を説明するための図である。目標回転速度算出部５５２は、作業機１の角度データに基づいてバケット８の現在姿勢Ｒcurを算出する現在姿勢算出部５５２Ａと、操作装置４０の操作データ及び設計面データに基づいてバケット８の目標姿勢Ｒtargetを算出する目標姿勢算出部５５２Ｂと、バケット８の現在姿勢Ｒcurと目標姿勢Ｒtargetとに基づいて、回転速度ω’targetを算出する回転速度算出部５５２Ｃと、回転速度ω’targetをＰ制御して目標回転速度ωtargetを算出するＰ制御部５５２Ｄとを含む。
【００５３】
回転速度ω’targetは、（７）式から（１０）式に基づいて算出される。
【００５４】
【数７】
2020125598.tif 000009
【数８】
2020125598.tif 000010
【数９】
2020125598.tif 000011
【数１０】
2020125598.tif 000012
【００５５】
ΔＴtargetは、バケット８の姿勢を修正するのに要する時間に対応するパラメータである。Ｐ制御部５５２Ｄは、回転速度算出部５５２Ｃにより算出された回転速度ω’targetに基づいてＰ制御することにより、目標回転速度ωtargetを算出する。
【００５６】
モデル予測制御部５６は、目標値生成部５５により生成された作業機１の制御量の目標値と作業機１の予測モデルとに基づいて、作業機１の制御量の予測値を算出する。モデル予測制御部５６は、予測値に基づいて作業機１を制御するための駆動量を算出する。モデル予測制御部５６は、作業機１の予測モデルを記憶する予測モデル記憶部５６１と、作業機１の制御量の目標値と予測モデルとに基づいて作業機１の制御量の予測値を算出し、作業機１の制御量の予測値に基づいて作業機１を制御する駆動量を算出する予測部５６２とを有する。
【００５７】
予測モデル記憶部５６１は、作業機１を含む油圧ショベル１００の予測モデルを記憶する。予測モデルは、油圧ショベル１００の動力学モデルを含む。予測モデルは、旋回軸ＲＸを中心に旋回する旋回体２のモデルと、ブーム軸ＡＸ１を中心に回転するブーム６のモデルと、アーム軸ＡＸ２を中心に回転するアーム７のモデルと、バケット軸ＡＸ３、チルト軸ＡＸ４、及びローテート軸ＡＸ５を中心に回転するバケット８のモデルとを含む。
【００５８】
予測モデルは、離散の状態方程式及び出力方程式により表される。油圧ショベル１００の制御のサンプリングタイムΔＴで離散化された予測モデルの状態方程式を（１１）式に示す。状態方程式の各行列を（１２）式及び（１３）式に示す。予測モデルの出力方程式を（１４）式に示す。
【００５９】
【数１１】
2020125598.tif 000013
【数１２】
2020125598.tif 000014
【数１３】
2020125598.tif 000015
【数１４】
2020125598.tif 000016
【００６０】
Ｍ∈Ｒ５×５及びＣｏ∈Ｒ５のそれぞれは、運動方程式の慣性行列及びコリオリ力・重力のベクトルである．Ｃtay∈Ｒ２npは、所定の時刻ｔにおいてｎ・ｐを角度θ周りにテーラー展開したときの定数項である．ｎpは、考慮する設計面の数を示す。予測モデルの出力方程式の出力は、角度θ、角速度、目標並進速度ｖtarget、目標回転速度ωtarget、及び刃先９と設計面との距離ｄ及び作動油の流量Ｑである。
【００６１】
予測部５６２は、予測モデルに基づいて最適化演算を行い、作業機１の制御量の予測値を算出する。上述のように、本実施形態において、作業機１の制御量は、バケット８の移動速度及びバケット８の所定部位の位置の一方又は両方を含む。バケット８の所定部位は、刃先９を含む。また、作業機１の制御量は、ブーム６の角速度、アーム７の角速度、及びバケット８の角速度を含む。バケット８の角速度は、バケット軸ＡＸ３を中心とする角速度、チルト軸ＡＸ４を中心とする角速度、及びローテート軸ＡＸ５を中心とする角速度を含む。
【００６２】
予測部５６２は、現時点から何ステップか先の（１４）式の左辺の値を予測する。
【００６３】
予測部５６２は、バケット８の移動速度の予測値、各軸の角速度の予測値、バケット８の刃先９の位置の予測値、及び作動油の流量の予測値の少なくとも一つに基づいて、作業機１を制御する駆動量を算出する。予測部５６２は、制御量の予測値が目標値に追従するように、駆動量を算出する。
【００６４】
本実施形態において、予測部５６２は、バケット８の移動速度の予測値、各軸の角速度の予測値、バケット８の刃先９の位置の予測値、作動油の流量の予測値、及び旋回体２の旋回速度の予測値と設計面とに基づいて、目標とする設計面にバケット８が所定の姿勢で追従するように、駆動量を算出する。すなわち、予測部５６２は、バケット８が設計面を掘り込まず、刃先９の位置と設計面の位置とが一致するように、駆動量を算出する。
【００６５】
予測部５６２は、評価関数が最小となり、かつ各制約条件を守るように作業機１及び旋回体２を制御する駆動量を算出する。
【００６６】
モデル予測制御においては、（１５）式に示すような評価関数が一般的に用いられる。
【００６７】
【数１５】
2020125598.tif 000017
【００６８】
Ｅy（ｔ）は、出力の目標値と予測値との差、Ｅu（ｔ）は、入力の目標値と予測値との差、ＥΔu（ｔ）は入力の変化量の大きさ、Ｅc（ｔ）は、後述する制約条件を満足していない場合に課せられるペナルティ関数である．本実施形態においては、Ｅu（ｔ）＝０、ＥΔｕ（ｔ）＝０とし、出力の目標値に対する出力の追従誤差を評価関数として用いる。評価関数を（１６）式及び（１７）式に示す。
【００６９】
【数１６】
2020125598.tif 000018
【数１７】
2020125598.tif 000019
【００７０】
ｒ（ｔ＋ｉ|ｔ）は、時刻ｔにおける時刻ｔ＋ｉの目標値、ｙ（ｔ＋ｉ|ｔ）は、時刻ｔにおいて予測した時刻ｔ＋ｉにおけるプラント出力、Ｈpは、何ステップ先まで予測するかを決定する予測ホライズン、Ｗは、変数に対して重みを与える対角行列である。
【００７１】
制約条件算出部５７は、制約条件を算出する。制約条件は、油圧ショベル１００の性能に係る第１制約条件、及びバケット８の位置に係る第２制約条件を含む。予測部５６２は、制約条件算出部５７により算出された制約条件を満足するように、駆動量を算出する。
【００７２】
制御対象である油圧ショベル１００において、作業機１の角度θ、角速度、角加速度、及び作動油の流量には制約がある。すなわち、作業機１の作業部材には、作業部材の機能を発揮できる範囲を示す機能発揮範囲が存在する。作業部材の機能発揮範囲は、作業部材の可動範囲を含む。例えば、作業機１が可動可能な角度θには限界値がある。同様に、作業機１の角速度及び角加速度には限界値がある。
【００７３】
また、油圧ポンプ１７から吐出される作動油の流量には制約がある。すなわち、油圧ポンプ１７の性能等により、油圧ポンプ１７が油圧シリンダ１０に供給できる作動油の流量には限界値が存在する。また、油圧シリンダ１０には、油圧シリンダ１０の機能を発揮できる範囲を示す機能発揮範囲が存在する。油圧シリンダ１０の機能発揮範囲は、油圧シリンダ１０について規定された作動油供給範囲を含む。油圧シリンダ１０には、油圧ポンプ１７からバルブ装置１８を介して油圧シリンダ１０に供給される作動油の流量を示す作動油供給流量Ｑｗｍの限界値である最小値Ｑｗｍ_ｍｉｎ及び最大値Ｑｗｍ_ｍａｘが規定されている。油圧シリンダ１０に対する作動油供給流量Ｑｗｍは、ブームシリンダ１１に対する作動油供給流量Ｑｂｍ、アームシリンダ１２に対する作動油供給流量Ｑａｒ、及びバケットシリンダ１３に対する作動油供給流量Ｑｂｋを含む。チルトシリンダ及びローテートシリンダについても同様である。ブームシリンダ１１には、作動油供給流量Ｑｂｍの限界値である最小値Ｑｂｍ_ｍｉｎ及び最大値Ｑｂｍ_ｍａｘが規定される。アームシリンダ１２には、作動油供給流量Ｑａｒの限界値である最小値Ｑａｒ_ｍｉｎ及び最大値Ｑａｒ_ｍａｘが規定される。バケットシリンダ１３には、作動油供給流量Ｑｂｋの限界値である最小値Ｑｂｋ_ｍｉｎ及び最大値Ｑｂｋ_ｍａｘが規定される。チルトシリンダ１４及びローテートシリンダ１５についても同様である。油圧シリンダ１０について規定された作動油供給範囲は、最小値Ｑｗｍ_ｍｉｎと最大値Ｑｗｍ_ｍａｘとの間の範囲である。
【００７４】
このように、油圧ショベル１００には、ハードウエア上の制約がある。そのため，モデル予測制御においても、油圧ショベル１００のハードウエア上の制約を示す第１制約条件を考慮する必要がある。制約条件算出部５７は、作業機１の角度θ、角速度、角加速度、及び作動油の流量を含む第１制約条件を算出する。予測部５６２は、第１制約条件を満足するように、駆動量を算出する。
【００７５】
角度θ、角速度、及び作動油の流量についてのそれぞれの制約条件を（１８）式から（２１）式に示す。
【００７６】
【数１８】
2020125598.tif 000020
【数１９】
2020125598.tif 000021
【数２０】
2020125598.tif 000022
【数２１】
2020125598.tif 000023
【００７７】
角加速度の制約条件を（２２）式に示す。
【００７８】
【数２２】
2020125598.tif 000024
【００７９】
本実施形態において、制約条件算出部５７は、角加速度の制約条件をトルクの制約条件に変換する。変換後の角加速度の制約条件を（２３）式に示す。
【００８０】
【数２３】
2020125598.tif 000025
【００８１】
作業機１の制御において、バケット８が設計面を掘り込まないようにする必要がある。すなわち、バケット８の位置には、設計面を掘り込まないようにするという制約がある。そのため、モデル予測制御においても、バケット８の位置の制約を示す第２制約条件を考慮する必要がある。制約条件算出部５７は、設計面に対するバケット８の位置を含む第２制約条件を算出する。予測部５６２は、第２制約条件を満足するように、駆動量を算出する。
【００８２】
出力ｄ（t）は、刃先９と設計面との距離を示す。ｉ番目の設計面の方程式は、単位法線ベクトルｎiによってｎ・ｐ＋ｄi=０と表わされる。刃先９の右端及び左端が設計面を掘り込まないようにするという制約条件を（２４）式及び（２５）式に示す。
【００８３】
【数２４】
2020125598.tif 000026
【数２５】
2020125598.tif 000027
【００８４】
刃先９の座標は、状態変数中の角度θに対して非線形である．そのため、（２６）式及び（２７）式に示すように、線形近似を行う。
【００８５】
【数２６】
2020125598.tif 000028
【数２７】
2020125598.tif 000029
【００８６】
予測部５６２は、（１８）式から（２７）式に示した制約条件を満足するように、（１６）式及び（１７）式に示した評価関数を用いて、モデル予測制御における最適化演算を行う。本実施形態における最適化問題を（２８）式に示す。最適化演算には、例えばＱＰ（二次計画法）が使用されるが、その他の計算方法でもよい。
【００８７】
【数２８】
2020125598.tif 000030
【００８８】
τ（ｔ）は、制御プラントの制御入力トルクであり、最適化演算の解である。Ｈｕは、何ステップ先までの入力を最適化問題で扱うのかを決定する制御ホライズンである。
【００８９】
指令部５８は、予測部５６２により算出された駆動量に基づいて、作業機１を制御する制御指令を出力する。
【００９０】
本実施形態において、予測部５６２は、作業機１の目標値と予測モデルとに基づいて、作業部材又は油圧シリンダ１０の機能発揮範囲における作動量の予測値を算出する。
【００９１】
すなわち、予測部５６２は、作業部材の可動範囲における作業部材の角度θの予測値を算出する。予測部５６２は、ブーム６の可動範囲におけるブーム角度θ１の予測値を算出する。予測部５６２は、アーム７の可動範囲におけるアーム角度θ２の予測値を算出する。予測部５６２は、バケット８の可動範囲におけるバケット角度θ３の予測値を算出する。チルト角度θ４及びローテート角度θ５についても同様である。
【００９２】
また、予測部５６２は、油圧シリンダ１０の作動油供給範囲における作動油供給流量Ｑｗｍを予測する。上述のように、油圧シリンダ１０について規定された作動油供給範囲は、最小値Ｑｗｍ_ｍｉｎと最大値Ｑｗｍ_ｍａｘとの間の範囲である。予測部５６２は、ブームシリンダ１１の作動油供給範囲における作動油供給流量Ｑｂｍを予測する。予測部５６２は、アームシリンダ１２の作動油供給範囲における作動油供給流量Ｑａｒを予測する。予測部５６２は、バケットシリンダ１３の作動油供給範囲における作動油供給流量Ｑｂｋを予測する。チルトシリンダ１４及びローテートシリンダ１５についても同様である。
【００９３】
判定部６１は、複数の作業部材のうち第１の作業部材が機能発揮範囲の限界値に到達するか否かを判定する。上述のように、作業部材の機能発揮範囲は、作業部材の可動範囲を含む。作業部材の機能発揮範囲の限界値は、作業部材の可動範囲の端部（ストロークエンド）を含む。すなわち、判定部６１は、第１の作業部材が可動範囲の端部に接近したか否かを判定する。判定部６１は、角度検出装置３０の検出データに基づいて、作業部材が可動範囲に接近したか否かを判定することができる。作業部材が可動範囲の端部であるストロークエンドに接近したとは、作業部材の実際の角度（角度検出装置３０により検出された角度）と作業部材のストロークエンドを示すストロークエンド角度との差が、予め定められている閾値以下になった状態をいう。
【００９４】
また、判定部６１は、複数の油圧シリンダ１０のうち第１の油圧シリンダ１０が機能発揮範囲の限界値に到達するか否かを判定する。上述のように、油圧シリンダ１０の機能発揮範囲は、油圧シリンダ１０について規定された作動油供給範囲を含む。油圧シリンダ１０の機能発揮範囲の限界値は、作動油供給範囲の最小値Ｑｗｍ_ｍｉｎ及び最大値Ｑｗｍ_ｍａｘを含む。すなわち、判定部６１は、第１の油圧シリンダ１０に対する作動油供給流量Ｑｗｍが作動油供給範囲の最小値Ｑｗｍ_ｍｉｎ又は最大値Ｑｗｍ_ｍａｘに到達するか否かを判定する。油圧シリンダ１０に対する作動油供給流量が作動油供給範囲の限界値に到達するとは、油圧シリンダ１０に対する作動油供給流量の実測値（不図示の流量センサにより検出された作動油供給流量）と限界値との差が、予め定められている閾値以下になった状態をいう。
【００９５】
予測部５６２は、第１の作業部材が機能発揮範囲の限界値に到達すると判定されたとき、第１の作業部材が機能発揮範囲の限界値に近付かないように、第２の作業部材の作動量を制御する駆動量を算出する。
【００９６】
第１の作業部材が機能発揮範囲の限界値に近付かないようにするとは、作業部材の実際の角度と作業部材のストロークエンドを示すストロークエンド角度との差Δθが閾値以下になったと判定部６１に判定されたとき、判定部６１に判定された時点の差Δθが更に小さくならないようにすることをいう。
【００９７】
予測部５６２は、第１の作業部材が可動範囲の端部に接近したと判定されたとき、第１の作業部材が可動範囲の端部に近付かないように、第２の作業部材の角度を制御する駆動量を算出する。一例として、予測部５６２は、第１の作業部材が機能発揮範囲の限界値に到達すると判定されたとき、第１の作業部材が機能発揮範囲の中央値に変化するように、第２の作業部材の作動量を制御する駆動量を算出する。すなわち、予測部５６２は、第１の作業部材が可動範囲の端部に接近したと判定されたとき、第１の作業部材が可動範囲の端部に近付かないように、第２の作業部材の角度を制御する駆動量を算出する。
【００９８】
予測部５６２は、第１の油圧シリンダ１０が機能発揮範囲の限界値に到達すると判定されたとき、第１の油圧シリンダ１０が機能発揮範囲の限界値に近付かないように、第２の油圧シリンダ１０の作動量を制御する駆動量を算出する。
【００９９】
第１の油圧シリンダ１０が機能発揮範囲の限界値に近付かないようにするとは、油圧シリンダ１０に対する作動油供給流量の実測値と限界値との差ΔＱが閾値以下になったと判定部６１に判定されたとき、判定部６１に判定された時点の差ΔＱが更に小さくならないようにすることをいう。
【０１００】
予測部５６２は、第１の油圧シリンダ１０が機能発揮範囲の限界値に到達すると判定されたとき、第１の油圧シリンダ１０が機能発揮範囲の限界値に近付かないように、第２の油圧シリンダ１０の作動量を制御する駆動量を算出する。一例として、予測部５６２は、第１の油圧シリンダ１０が機能発揮範囲の限界値に到達すると判定されたとき、第１の油圧シリンダ１０が機能発揮範囲の中央値に変化するように、第２の油圧シリンダ１０の作動量を制御する駆動量を算出する。すなわち、予測部５６２は、第１の油圧シリンダ１０に対する作動油供給流量Ｑｗｍ１が作動油供給範囲の最小値Ｑｗｍ_ｍｉｎ又は最大値Ｑｗｍ_ｍａｘに到達すると判定されたとき、第１の油圧シリンダ１０に対する作動油供給流量Ｑｗｍ１が作動油供給範囲の中央値Ｑｗｍ_ｍｉｄに変化するように、第２の油圧シリンダ１０に対する作動油供給流量Ｑｗｍ_ｗｍ２を制御する駆動量を算出する。
【０１０１】
図９は、本実施形態に係る油圧ショベル１００の動作の一例を示す図である。図９を参照しながら、第１の作業部材が可動範囲の端部に接近したと判定されたときに、第１の作業部材が可動範囲の端部に近付かないように、第２の作業部材の角度が制御される例について説明する。以下の説明においては、第１の作業部材が、バケット８であり、第２の作業部材が、ブーム６及びアーム７の一方又は両方であることとする。
【０１０２】
油圧ショベル１００は、作業機１を支持する旋回体２を備える。運転者は、バケット８が設計面ＩＳの第１位置Ｐ１から第１位置Ｐ１よりも旋回体２に近い第２位置Ｐ２に移動するように、操作装置４０を操作する。モデル予測制御部５６は、作業機１の刃先９の位置の目標値と予測モデルとに基づいて刃先９の位置の予測値を算出し、予測値に基づいて刃先９が設計面ＩＳに追従するように、作業機１を制御する駆動量を算出する。指令部５８は、モデル予測制御部５６により算出された駆動量に基づいて、作業機１を制御する。バケット８が設計面ＩＳの第１位置Ｐ１から第２位置Ｐ２に移動するように操作装置４０が操作されると、図９に示すように、バケット８は、バケット８の可動範囲の端部（ストロークエンド）に徐々に近付く。
【０１０３】
予測部５６２は、作業機１を操作する操作装置４０によりバケット８が第１位置Ｐ１から第２位置Ｐ２に移動される状態で、バケット８が可動範囲の端部に接近したと判定部６１により判定されたとき、バケット８が可動範囲の端部に近付かないように、ブーム６及びアーム７の一方又は両方の角度を制御する駆動量を算出する。指令部５８は、モデル予測制御部５６により算出された駆動量に基づいて、ブーム６及びアーム７の一方又は両方の角度を制御する。本実施形態においては、バケット８が可動範囲の端部に接近したとき、指令部５８は、バケット８が可動範囲の端部に近付かないように、ブーム６を上げ動作させる。なお、バケット８が可動範囲の端部に接近したとき、指令部５８は、バケット８が可動範囲の端部に近付かないように、アーム７をダンプ動作させてもよい。これにより、バケット８を第１位置Ｐ１から第２位置Ｐ２に移動させたいとき、途中でバケット８がストロークエンドに到達することが抑制される。したがって、バケット８は、第１位置Ｐ１から第２位置Ｐ２まで移動することができる。そのため、バケット８の１回の移動で、第１位置Ｐ１と第２位置Ｐ２との間の施工対象を整地することができる。
【０１０４】
以上、図９を参照しながら、第１の作業部材が可動範囲の端部に接近したと判定されたときに、第１の作業部材が可動範囲の端部に近付かないように、第２の作業部材の角度が制御される例について説明した。次に、第１の油圧シリンダ１０に対する作動油供給流量Ｑｗｍ１が作動油供給範囲の限界値（最小値Ｑｗｍ_ｍｉｎ又は最大値Ｑｗｍ_ｍａｘ）に到達すると判定されたときに、第１の油圧シリンダに対する作動油供給流量Ｑｗｍ１が作動油供給範囲の中央値Ｑｗｍ_ｍｉｄに変化するように、第２の油圧シリンダ１０に対する作動油供給流量Ｑｗｍ２が制御される例について説明する。以下の説明においては、説明を簡単にするため、油圧ポンプ１７から吐出される作動油の流量がＱであり、油圧ポンプ１７から吐出された作動油がブームシリンダ１１、アームシリンダ１２、及びバケットシリンダ１３に分配される例について説明する。したがって、流量Ｑは、ブームシリンダ１１に対する作動油供給流量Ｑｂｍと、アームシリンダ１２に対する作動油供給流量Ｑａｒと、バケットシリンダ１３に対する作動油供給流量Ｑｂｋとの和になる（Ｑ＝Ｑｂｍ＋Ｑａｒ＋Ｑｂｋ）。
【０１０５】
予測部５６２は、例えばバケットシリンダ１３に対する作動油供給流量Ｑｂｋが最大値Ｑｂｋ_ｍａｘに到達すると判定されたとき、バケットシリンダ１３に対する作動油供給流量Ｑｂｋが作動油供給範囲の中央値に変化するように（作動油供給流量Ｑｂｋが少なくなるように）、ブームシリンダ１１に対する作動油供給流量Ｑｂｍ及びアームシリンダ１２に対する作動油供給流量Ｑａｒの一方又は両方を制御する駆動量を算出する。指令部５８は、予測部５６２により算出された駆動量に基づいて、ブームシリンダ１１に対する作動油供給流量Ｑｂｍ及びアームシリンダ１２に対する作動油供給流量Ｑａｒの一方又は両方が多くなるように、バルブ装置１８に制御指令を出力する。
【０１０６】
これにより、バケット８のみが高い作動速度で作動している状態から、バケット８の作動速度が低くなりブーム６及びアーム７の一方又は両方が高い作動速度で作動する状態に遷移させることができる。
【０１０７】
［制御方法］
図１０は、本実施形態に係る油圧ショベル１００の制御方法を示すフローチャートである。本実施形態においては、図９を参照して説明したような、バケット８を第１位置Ｐ１から第２位置Ｐ２に移動する作業が実行されるときの制御方法について説明する。
【０１０８】
設計面取得部５４は、設計面データを取得する（ステップＳ１）。
【０１０９】
位置データ取得部５１は、現在値として、位置演算装置２０から旋回体２の位置データを取得する。また、角度データ取得部５２は、現在値として、角度検出装置３０から作業機１の角度データ及び角速度データを取得する（ステップＳ２）。
【０１１０】
運転者は、操作装置４０を操作する。操作データ取得部５３は、操作装置４０から操作データを取得する。目標値生成部５５は、少なくとも操作装置４０の操作データに基づいて、作業機１の制御量の目標値を生成する（ステップＳ３）。
【０１１１】
作業機１の制御量の目標値は、バケット８の移動速度の目標値を含む。バケット８の移動速度の目標値は、図６を参照して説明したバケット８の目標並進速度ｖtargetと、図８を参照して説明したバケット８の目標回転速度ωtargetとを含む。目標値生成部５５は、操作装置４０の操作データと、操作装置４０が操作されることにより変化する作業機１の角度θを示す角度データ及び単位時間当たりの角度θの変化量を示す角速度データと、設計面データとに基づいて、バケット８の目標並進速度ｖtarget及び目標回転速度ωtargetを含む目標値を算出する。
【０１１２】
制約条件算出部５７は、操作装置４０の操作データと、操作装置４０が操作されることにより変化する作業機１の角度θを示す角度データ及び単位時間当たりの角度θの変化量を示す角速度データと、設計面データとに基づいて、油圧ショベル１００の性能に係る第１制約条件及びバケット８の位置に係る第２制約条件を含む制約条件を算出する（ステップＳ４）。
【０１１３】
予測部５６２は、作業機１の制御量の目標値と予測モデル記憶部５６１に記憶されている予測モデルとに基づいて、ステップＳ５において算出された制約条件を満足するように、作業機１を制御するための駆動量を算出する（ステップＳ５）。
【０１１４】
予測部５６２は、現時点から、例えば１０ステップ先までの作業機１の駆動量を算出する。
【０１１５】
予測部５６２は、ステップＳ６で算出した駆動量と、ステップＳ３において取得された現在値とに基づいて、作業機１の制御量の予測値を算出する（ステップＳ６）。
【０１１６】
予測部５６２は、現時点から、例えば１０ステップ先までの作業機１の移動速度の予測値、及び刃先９の位置の予測値を算出する。
【０１１７】
予測部５６２は、作業機１を操作する操作装置４０の操作データに基づいて、バケット８の刃先９が設計面ＩＳに追従するように算出されたバケット速度の予測値が、最高速度を超えているか否かを判定する（ステップＳ７）。
【０１１８】
ステップＳ７において、バケット速度の予測値が最高速度を超えていないと判定された場合（ステップＳ７：Ｎｏ）、予測部５６２は、制御量の予測値が目標値に追従するように駆動量を再算出する（ステップＳ５）。
【０１１９】
予測部５６２は、制御量の目標値及び現在値により規定される評価関数が最小になるように駆動量を再算出する。予測部５６２は、第１制約条件及び第２制約条件を満足するように駆動量を再算出する。
【０１２０】
ステップＳ７において、バケット速度の予測値が、最高速度を超えていると判定した場合（ステップＳ７：Ｙｅｓ）、判定部６１は、角度データ取得部５２により取得されたバケット８の角度データに基づいて、バケット８が可動範囲の端部であるストロークエンドに接近したか否かを判定する（ステップＳ８）。
【０１２１】
ステップＳ８において、バケット８がストロークエンドに接近していないと判定された場合（ステップＳ８：Ｎｏ）、ブーム６及びアーム７は、操作装置４０の操作に基づいて駆動する。
【０１２２】
ステップＳ８において、バケット８がストロークエンドに接近したと判定された場合（ステップＳ８：Ｙｅｓ）、予測部５６２は、バケット８が可動範囲の端部に近付かないように、ブーム６を上げ動作させる駆動量を再算出する（ステップＳ５）。
【０１２３】
ステップＳ８において、バケット８がストロークエンドに接近したと判定された場合（ステップＳ８：Ｙｅｓ）、予測部５６２は、評価関数が最小であるか否かを判定する（ステップＳ９）。
【０１２４】
バケット８の速度は、作業機１又は旋回体２の各軸の角速度や角加速度でもよい。最高速度は、上限値でよい。つまり、ステップＳ８において、予測部５６２は、各軸の角加速度の予測値が、上限角加速度を超えているか否かを判定してもよい。
【０１２５】
ステップＳ９において、評価関数が最小でないと判定した場合（ステップＳ９：Ｎｏ）、予測部５６２は、制御量の予測値が目標値に追従するように駆動量を再算出する（ステップＳ５）。
【０１２６】
予測部５６２は、評価関数が最小になるまで、ステップＳ５、ステップＳ６、ステップＳ７、ステップＳ８、及びステップＳ９の処理を繰り返す。
【０１２７】
ステップＳ９において、評価関数が最小であると判定された場合（ステップＳ９：Ｙｅｓ）、指令部５８は、ステップＳ６において算出された作業機１を制御する駆動量に基づいて、作業機１を制御する制御指令を出力する（ステップＳ１０）。
【０１２８】
上述のように、駆動量は、現時点から、例えば１０ステップ先まで算出される。指令部５８は、１０ステップ先まで算出された駆動量のうち、直近の１ステップ目の駆動量を制御指令として出力する。
【０１２９】
これにより、図９を参照して説明したように、第１位置Ｐ１から第２位置Ｐ２に移動するバケット８が、途中でストロークエンドに到達することが抑制される。したがって、バケット８は、第１位置Ｐ１から第２位置Ｐ２まで移動することができる。そのため、バケット８の１回の移動で、第１位置Ｐ１と第２位置Ｐ２との間の施工対象を整地することができる。
【０１３０】
［効果］
以上説明したように、本実施形態によれば、作業機１がモデル予測制御されるので、施工現場の条件が様々に変化しても、施工現場の条件にかかわらず、制御装置５０は、バケット８が設計面を追従するように、作業機１を制御することができる。
【０１３１】
例えば、上述したように、施工対象を整地したいときに、バケット８を第１位置Ｐ１〜第２位置Ｐ２に移動させる場合、バケット８が第２位置Ｐ２に到達する前に、バケット８がストロークエンドに到達してしまう可能性がある。その結果、バケット８の１回の動作で整地することができない可能性がある。また、バケット８を無理に第２位置Ｐ２まで移動させてしまうと、バケット８が設計面を掘り込んでしまう可能性がある。
【０１３２】
本実施形態においては、施工現場に様々な形状の設計面が設定される場合、又は施工現場において様々な内容の作業が要求される場合においても、作業機１がモデル予測制御されるので、作業機１を設計面に追従させることができる。したがって、作業効率の低下を抑制しつつ、施工対象を所望の形状に施工することができる。
【０１３３】
図１１は、本実施形態に係る制御方法により作業機１を制御した場合と比較例に係る制御方法により作業機１を制御した場合とを比較した結果を示す図である。図１１に示すグラフにおいて、横軸は時間であり、縦軸は刃先と設計面との距離を示す。図１１は、図９を参照して説明したような、バケット８を第１位置Ｐ１から第２位置Ｐ２に移動したときの刃先と設計面との距離を示す。
【０１３４】
図１１において、ラインＬａは、本実施形態に係る制御方法により作業機１を制御したときの制御結果を示し、ラインＬｂは、比較例に係る制御方法により作業機１を制御したときの制御結果を示す。比較例に係る制御方法は、モデル予測制御を実行せずに、単に作業機１の角度データに基づいてフィードバック制御する制御方法である。
【０１３５】
図１１に示すように、本実施形態に係る制御方法により、バケット８は設計面を掘り込むことなく、第１位置Ｐ１から第２位置Ｐ２まで設計面に従って移動することができる。
【０１３６】
一方、比較例に係る制御方法においては、バケット８が第２位置Ｐ２に接近したとき、バケット８がストロークエンドに到達し、設計面ＩＳを追従しきれなくなり、その結果、バケット８が設計面ＩＳを掘り込んでしまい、施工対象が所望の形状に施工されない。
【０１３７】
以上のように、本実施形態によれば、作業機１がモデル予測制御されるので、制御装置５０は、バケット８が設計面に従って移動するように作業機１を適切に制御することができる。
【０１３８】
［コンピュータシステム］
図１２は、本実施形態に係るコンピュータシステム１０００の一例を示すブロック図である。上述の制御装置５０は、コンピュータシステム１０００を含む。コンピュータシステム１０００は、ＣＰＵ（Central  Processing  Unit）のようなプロセッサ１００１と、ＲＯＭ（Read  Only  Memory）のような不揮発性メモリ及びＲＡＭ（Random  Access  Memory）のような揮発性メモリを含むメインメモリ１００２と、ストレージ１００３と、入出力回路を含むインターフェース１００４とを有する。上述の制御装置５０の機能は、プログラムとしてストレージ１００３に記憶されている。プロセッサ１００１は、プログラムをストレージ１００３から読み出してメインメモリ１００２に展開し、プログラムに従って上述の処理を実行する。なお、プログラムは、ネットワークを介してコンピュータシステム１０００に配信されてもよい。
【０１３９】
コンピュータシステム１０００は、上述の実施形態に従って、作業機１の制御量の目標値と作業機１の予測モデルとに基づいて、作業機１の制御量の予測値を算出することと、予測値に基づいて、作業機１を制御する駆動量を算出することと、駆動量に基づいて、作業機１を制御する制御指令を出力することと、を実行することができる。
【０１４０】
［その他の実施形態］
上述の実施形態において、目標値生成部５５は、バケット８の速度（並進速度及び回転角速度）を、モデル予測制御部５６の目標値として生成することとした。目標値生成部５５は、バケット８の位置及び姿勢を、モデル予測制御部５６の目標値として生成してもよい。
【０１４１】
なお、上述の実施形態において、制御装置５０の一部の機能又は全部の機能が、油圧ショベル１００の外部コンピュータシステムに設けられてもよい。例えば、目標値生成部５５及びモデル予測制御部５６が外部コンピュータシステムに設けられ、外部コンピュータシステムにおいて算出された駆動量が無線通信システムを介して油圧ショベル１００に送信されてもよい。
【０１４２】
なお、上述の実施形態においては、建設機械１００が油圧ショベルであることとした。上述の実施形態で説明した構成要素は、油圧ショベルとは別の、作業機を有する建設機械に適用可能である。
【０１４３】
なお、上述の実施形態において、旋回体２を旋回させる旋回モータ１６は、油圧モータでなくてもよい。旋回モータ１６は、電力が供給されることにより駆動する電動モータでもよい。また、作業機１は、油圧シリンダ１０によらずに、例えば電気モータのような電動アクチュエータが発生する動力により作動してもよい。
【符号の説明】
【０１４４】
１…作業機、２…旋回体、３…走行体、３Ｃ…履帯、４…運転室、４Ｓ…シート、５…エンジン、６…ブーム、７…アーム、８…バケット、９…刃先、１０…油圧シリンダ、１１…ブームシリンダ、１２…アームシリンダ、１３…バケットシリンダ、１４…チルトシリンダ、１５…ローテートシリンダ、１６…旋回モータ、１７…油圧ポンプ、１８…バルブ装置、２０…位置演算装置、２１…位置演算器、２２…姿勢演算器、２３…方位演算器、３０…角度検出装置、３１…ブーム角度検出器、３２…アーム角度検出器、３３…バケット角度検出器、３４…チルト角度検出器、３５…ローテート角度検出器、４０…操作装置、４１…右操作レバー、４２…左操作レバー、４３…チルト操作レバー、５０…制御装置、５１…位置データ取得部、５２…角度データ取得部、５３…操作データ取得部、５４…設計面取得部、５５…目標値生成部、５６…モデル予測制御部、５７…制約条件算出部、５８…指令部、６０…記憶部、６１…判定部、７０…設計面データ供給装置、１００…建設機械、２００…制御システム、５５１…目標並進速度算出部、５５１Ａ…並進速度算出部、５５１Ｂ…制限速度算出部、５５１Ｃ…ＰＩ制御部、５５１Ｄ…減速処理部、５５２…目標回転速度算出部、５５２Ａ…現在姿勢算出部、５５２Ｂ…目標姿勢算出部、５５２Ｃ…回転速度算出部、５５２Ｄ…Ｐ制御部、５６１…予測モデル生成部、５６２…予測部、ＡＸ１…ブーム軸、ＡＸ２…アーム軸、ＡＸ３…バケット軸、ＡＸ４…チルト軸、ＡＸ５…ローテート軸。
【図１】
2020125598.tif 000031
【図２】
2020125598.tif 000032
【図３】
2020125598.tif 000033
【図４】
2020125598.tif 000034
【図５】
2020125598.tif 000035
【図６】
2020125598.tif 000036
【図７】
2020125598.tif 000037
【図８】
2020125598.tif 000038
【図９】
2020125598.tif 000039
【図１０】
2020125598.tif 000040
【図１１】
2020125598.tif 000041
【図１２】
2020125598.tif 000042