(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-24
(45)【発行日】2023-09-01
(54)【発明の名称】建設機械の制御システム、建設機械、及び建設機械の制御方法
(51)【国際特許分類】
E02F 3/43 20060101AFI20230825BHJP
E02F 9/22 20060101ALI20230825BHJP
G05B 13/04 20060101ALI20230825BHJP
【FI】
E02F3/43 E
E02F9/22 F
G05B13/04
(21)【出願番号】P 2019017337
(22)【出願日】2019-02-01
【審査請求日】2022-01-20
(73)【特許権者】
【識別番号】000001236
【氏名又は名称】株式会社小松製作所
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】岩崎 吉朗
(72)【発明者】
【氏名】佐々木 淳
【審査官】佐久間 友梨
(56)【参考文献】
【文献】国際公開第2018/030220(WO,A1)
【文献】特開2008-032174(JP,A)
【文献】特開2017-179961(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
E02F 3/43
E02F 9/22
G05B 13/04
(57)【特許請求の範囲】
【請求項1】
アーム及び前記アームに着脱可能なバケットを含む作業機を備える建設機械の制御システムであって、
前記作業機の制御量の目標値を生成する目標値生成部と、
前記作業機の予測モデルを記憶する予測モデル記憶部と、
前記バケットの重量データを取得する重量データ取得部と、
前記重量データに基づいて、
前記予測モデルのうち前記バケットの重量を示すパラメータを変更して、前記予測モデルを更新する予測モデル更新部と、
前記目標値と前記予測モデルとに基づいて前記作業機の制御量の予測値を算出し、前記予測値に基づいて前記作業機を制御する駆動量を算出する予測部と、
前記駆動量に基づいて、前記作業機を制御する制御指令を出力する指令部と、
を備える建設機械の制御システム。
【請求項2】
前記作業機を操作する操作装置の操作データを取得する操作データ取得部を備え、
前記目標値生成部は、前記操作データに基づいて、前記目標値を生成する、
請求項1に記載の建設機械の制御システム。
【請求項3】
施工対象の目標形状を示す設計面を取得する設計面取得部を備え、
前記制御量は、前記バケットの所定部位の位置を含み、
前記予測部は、前記予測値と前記設計面とに基づいて、前記バケットの所定部位と前記設計面との距離が維持されるように、前記駆動量を算出する、
請求項1又は請求項2に記載の建設機械の制御システム。
【請求項4】
前記制御量は、前記バケットの移動速度を含む、
請求項1から請求項3のいずれか一項に記載の建設機械の制御システム。
【請求項5】
前記予測部は、前記制御量の予測値が目標値に追従するように前記駆動量を算出する、
請求項1から請求項4のいずれか一項に記載の建設機械の制御システム。
【請求項6】
前記予測部は、前記制御量の目標値及び予測値により規定される評価関数が最小になるように前記駆動量を算出する、
請求項1から請求項5のいずれか一項に記載の建設機械の制御システム。
【請求項7】
前記建設機械の性能に係る第1制約条件及び前記バケットの位置に係る第2制約条件を算出する制約条件算出部を備え、
前記予測部は、前記第1制約条件及び前記第2制約条件を満足するように前記駆動量を算出する、
請求項6に記載の建設機械の制御システム。
【請求項8】
前記作業機を支持する旋回体と、
請求項1から請求項7のいずれか一項に記載の建設機械の制御システムと、
を備える建設機械。
【請求項9】
アーム及び前記アームに着脱可能なバケットを含む作業機を備える建設機械の制御方法であって、
前記バケットの重量データに基づいて、前記作業機の予測モデル
のうち前記バケットの重量を示すパラメータを変更して、前記予測モデルを更新することと、
前記作業機の制御量の目標値と更新後の前記予測モデルとに基づいて、前記作業機の制御量の予測値を算出することと、
前記予測値に基づいて、前記作業機を制御する駆動量を算出することと、
前記駆動量に基づいて、前記作業機を制御する制御指令を出力することと、
を含む建設機械の制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、建設機械の制御システム、建設機械、及び建設機械の制御方法に関する。
【背景技術】
【0002】
建設機械に係る技術分野において、特許文献1に開示されているような、施工対象の目標形状を示す設計面に従って作業機のバケットを移動させる建設機械の制御システムが知られている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
作業機は、バケットが設計面を掘り込まないように制御される。建設機械の作業に種類に基づいて、バケットが交換される場合がある。バケットの交換によりアームに連結されるバケットの重量が変更された場合、変更前のバケットの重量に基づいて作業機が制御されてしまうと、バケットが設計面を掘り込んでしまう可能性がある。
【0005】
本発明の態様は、バケットが交換されても作業機を適切に制御することを目的とする。
【課題を解決するための手段】
【0006】
本発明の態様に従えば、アーム及び前記アームに着脱可能なバケットを含む作業機を備える建設機械の制御システムであって、前記作業機の制御量の目標値を生成する目標値生成部と、前記作業機の予測モデルを記憶する予測モデル記憶部と、前記バケットの重量データを取得する重量データ取得部と、前記重量データに基づいて、前記予測モデルを更新する予測モデル更新部と、前記目標値と前記予測モデルとに基づいて前記作業機の制御量の予測値を算出し、前記予測値に基づいて前記作業機を制御する駆動量を算出する予測部と、前記駆動量に基づいて、前記作業機を制御する制御指令を出力する指令部と、を備える建設機械の制御システムが提供される。
【発明の効果】
【0007】
本発明の態様によれば、バケットが交換されても作業機は適切に制御される。
【図面の簡単な説明】
【0008】
【
図1】
図1は、本実施形態に係る建設機械の一例を示す斜視図である。
【
図2】
図2は、本実施形態に係る建設機械の制御システムを示すブロック図である。
【
図3】
図3は、本実施形態に係る建設機械を模式的に示す図である。
【
図4】
図4は、本実施形態に係るバケットを模式的に示す図である。
【
図5】
図5は、本実施形態に係る制御装置を示す機能ブロック図である。
【
図6】
図6は、本実施形態に係る目標並進速度算出部によるバケットの目標並進速度の算出方法を説明するための図である。
【
図7】
図7は、本実施形態に係る制限速度テーブルの一例を示す図である。
【
図8】
図8は、本実施形態に係る目標回転速度算出部によるバケットの目標回転速度の算出方法を説明するための図である。
【
図9】
図9は、本実施形態に係る建設機械の制御方法を示すフローチャートである。
【
図10】
図10は、本実施形態に係る制御方法により作業機を制御した場合と比較例に係る制御方法により作業機を制御した場合とを比較した結果を示す図である。
【
図11】
図11は、本実施形態に係るコンピュータシステムの一例を示すブロック図である。
【発明を実施するための形態】
【0009】
以下、本発明に係る実施形態について図面を参照しながら説明するが、本発明はこれに限定されない。以下で説明する各実施形態の構成要素は適宜組み合わせることができる。また、一部の構成要素を用いない場合もある。
【0010】
以下の説明においては、3次元の車体座標系(X,Y,Z)を規定して、各部の位置関係について説明する。車体座標系とは、建設機械に固定された原点を基準とする座標系をいう。車体座標系は、建設機械に設定された原点を基準として規定方向に延在するX軸と、X軸と直交するY軸と、X軸及びY軸のそれぞれと直交するZ軸とによって規定される。X軸と平行な方向をX軸方向とする。Y軸と平行な方向をY軸方向とする。Z軸と平行な方向をZ軸方向とする。X軸を中心とする回転又は傾斜方向をθX方向とする。Y軸を中心とする回転又は傾斜方向をθY方向とする。Z軸を中心とする回転又は傾斜方向をθZ方向とする。
【0011】
[建設機械]
図1は、本実施形態に係る建設機械100の一例を示す斜視図である。本実施形態においては、建設機械100が油圧ショベルである例について説明する。以下の説明においては、建設機械100を適宜、油圧ショベル100、と称する。
【0012】
図1に示すように、油圧ショベル100は、油圧により作動する作業機1と、作業機1を支持する旋回体2と、旋回体2を支持する走行体3とを備える。旋回体2は、運転者が搭乗する運転室4を有する。運転室4には、運転者が着座するシート4Sが配置される。旋回体2は、走行体3に支持された状態で旋回軸RXを中心に旋回可能である。
【0013】
走行体3は、一対の履帯3Cを有する。履帯3Cの回転により、油圧ショベル100が走行する。なお、走行体3がタイヤを有してもよい。
【0014】
作業機1は、旋回体2に支持される。作業機1は、旋回体2に連結されるブーム6と、ブーム6の先端部に連結されるアーム7と、アーム7の先端部に連結されるバケット8とを有する。バケット8は、刃先9を有する。本実施形態において、バケット8の刃先9は、ストレート形状の刃の先端部である。なお、バケット8の刃先9は、バケット8に設けられた凸形状の刃の先端部でもよい。
【0015】
ブーム6は、ブーム軸AX1を中心に旋回体2に対して回転可能である。アーム7は、アーム軸AX2を中心にブーム6に対して回転可能である。バケット8は、バケット軸AX3、チルト軸AX4、及びローテート軸AX5のそれぞれを中心にアーム7に対して回転可能である。ブーム軸AX1、アーム軸AX2、及びバケット軸AX3は、Y軸と平行である。チルト軸AX4は、バケット軸AX3と直交する。ローテート軸AX5は、バケット軸AX3及びチルト軸AX4のそれぞれと直交する。旋回軸RXは、Z軸と平行である。X軸方向は、旋回体2の前後方向である。Y軸方向は、旋回体2の車幅方向である。Z軸方向は、旋回体2の上下方向である。シート4Sに着座した運転者を基準として作業機1が存在する方向が前方である。
【0016】
図2は、本実施形態に係る油圧ショベル100の制御システム200を示すブロック図である。
図3は、本実施形態に係る油圧ショベル100を模式的に示す図である。
図4は、本実施形態に係るバケット8を模式的に示す図である。
【0017】
図2に示すように、油圧ショベル100の制御システム200は、エンジン5と、作業機1を駆動する複数の油圧シリンダ10と、旋回体2を駆動する旋回モータ16と、作動油を吐出する油圧ポンプ17と、油圧ポンプ17から吐出された作動油を複数の油圧シリンダ10及び旋回モータ16のそれぞれに分配するバルブ装置18と、旋回体2の位置データを算出する位置演算装置20と、作業機1の角度θを検出する角度検出装置30と、作業機1及び旋回体2を操作する操作装置40と、制御装置50とを備える。
【0018】
作業機1は、油圧シリンダ10が発生する動力により作動する。油圧シリンダ10は、油圧ポンプ17から供給された作動油に基づいて駆動する。油圧シリンダ10は、ブーム6を作動させるブームシリンダ11と、アーム7を作動させるアームシリンダ12と、バケット8を作動させるバケットシリンダ13、チルトシリンダ14、及びローテートシリンダ15とを含む。ブームシリンダ11は、ブーム軸AX1を中心にブーム6を回転させる動力を発生する。アームシリンダ12は、アーム軸AX2を中心にアーム7を回転させる動力を発生する。バケットシリンダ13は、バケット軸AX3を中心にバケット8を回転させる動力を発生する。チルトシリンダ14は、チルト軸AX4を中心にバケット8を回転させる動力を発生する。ローテートシリンダ15は、ローテート軸AX5を中心にバケット8を回転させる動力を発生する。
【0019】
以下の説明においては、バケット軸AX3を中心とするバケット8の回転を適宜、バケット回転、と称し、チルト軸AX4を中心とするバケット8の回転を適宜、チルト回転、と称し、ローテート軸AX5を中心とするバケット8の回転を適宜、ローテート回転、と称する。
【0020】
旋回体2は、旋回モータ16が発生する動力により旋回する。旋回モータ16は、油圧モータであり、油圧ポンプ17から供給された作動油に基づいて駆動する。旋回モータ16は、旋回軸RXを中心に旋回体2を旋回させる動力を発生する。
【0021】
エンジン5は、旋回体2に搭載される。エンジン5は、油圧ポンプ17を駆動するための動力を発生する。
【0022】
油圧ポンプ17は、油圧シリンダ10及び旋回モータ16を駆動するための作動油を吐出する。
【0023】
バルブ装置18は、油圧ポンプ17から供給された作動油を複数の油圧シリンダ10及び旋回モータ16に分配する複数のバルブを有する。バルブ装置18は、複数の油圧シリンダ10のそれぞれに供給される作動油の流量を調整する。油圧シリンダ10に供給される作動油の流量が調整されることにより、油圧シリンダ10の作動速度が調整される。バルブ装置18は、旋回モータ16に供給される作動油の流量を調整する。旋回モータ16に供給される作動油の流量が調整されることにより、旋回モータ16の回転速度が調整される。
【0024】
位置演算装置20は、旋回体2の位置データを算出する。旋回体2の位置データは、旋回体2の位置、旋回体2の姿勢、及び旋回体2の方位を含む。位置演算装置20は、旋回体2の位置を算出する位置演算器21と、旋回体2の姿勢を算出する姿勢演算器22と、旋回体2の方位を算出する方位演算器23とを有する。
【0025】
位置演算器21は、旋回体2の位置として、グローバル座標系における旋回体2の位置を算出する。位置演算器21は、旋回体2に配置される。グローバル座標系とは、地球に固定された原点を基準とする座標系をいう。グローバル座標系は、GNSS(Global Navigation Satellite System)によって規定される座標系である。GNSSとは、全地球航法衛星システムをいう。全地球航法衛星システムとして、GPS(Global Positioning System)が例示される。GNSSは、複数の測位衛星を有する。GNSSは、緯度、経度、及び高度の座標データで規定される位置を検出する。旋回体2にGPSアンテナが設けられる。GPSアンテナは、GPS衛星から電波を受信して、受信した電波に基づいて生成した信号を位置演算器21に出力する。位置演算器21は、GPSアンテナから供給された信号に基づいて、グローバル座標系における旋回体2の位置を算出する。位置演算器21は、例えば
図3に示すような、旋回体2の代表点Oの位置を算出する。
図3に示す例において、旋回体2の代表点Oは、旋回軸RXに設定される。なお、代表点Oは、ブーム軸AX1に設定されてもよい。
【0026】
姿勢演算器22は、旋回体2の姿勢として、グローバル座標系における水平面に対する旋回体2の傾斜角度を算出する。姿勢演算器22は、旋回体2に配置される。姿勢演算器22は、慣性計測装置(IMU:Inertial Measurement Unit)を含む。水平面に対する旋回体2の傾斜角度は、車幅方向における旋回体2の傾斜角度を示すロール角度α、及び前後方向における旋回体2の傾斜角度を示すピッチ角度βを含む。
【0027】
方位演算器23は、旋回体2の方位として、グローバル座標系における基準方位に対する旋回体2の方位を算出する。基準方位は、例えば北である。方位演算器23は、旋回体2に配置される。方位演算器23は、ジャイロセンサを含む。なお、方位演算器23は、GPSアンテナから供給された信号に基づいて方位を算出してもよい。基準方位に対する旋回体2の方位は、基準方位と旋回体2の方位とがなす角度を示すヨー角度γを含む。
【0028】
角度検出装置30は、作業機1の角度θを検出する。角度検出装置30は、作業機1に配置される。
図3及び
図4に示すように、作業機1の角度θは、Z軸に対するブーム6の角度を示すブーム角度θ1と、ブーム6に対するアーム7の角度を示すアーム角度θ2と、アーム7に対するバケット回転方向のバケット8の角度を示すバケット角度θ3と、XY平面に対するチルト回転方向のバケット8の角度を示すチルト角度θ4と、YZ平面に対するローテート回転方向のバケット8の角度を示すローテート角度θ5とを含む。
【0029】
角度検出装置30は、ブーム角度θ1を検出するブーム角度検出器31と、アーム角度θ2を検出するアーム角度検出器32と、バケット角度θ3を検出するバケット角度検出器33と、チルト角度θ4を検出するチルト角度検出器34と、ローテート角度θ5を検出するローテート角度検出器35とを有する。角度検出装置30は、油圧シリンダ10のストロークを検出するストロークセンサを含んでもよいし、ロータリーエンコーダのような作業機1の角度θを検出する角度センサを含んでもよい。角度検出装置30がストロークセンサを含む場合、角度検出装置30は、ストロークセンサの検出データに基づいて、作業機1の角度θを算出する。
【0030】
操作装置40は、油圧シリンダ10及び旋回モータ16を駆動するために運転者に操作される。操作装置40は、運転室4に配置される。運転者により操作装置40が操作されることにより、作業機1が作動する。操作装置40は、油圧ショベル100の運転者に操作されるレバーを含む。操作装置40のレバーは、右操作レバー41と、左操作レバー42と、チルト操作レバー43とを含む。
【0031】
中立位置にある右操作レバー41が前方に操作されると、ブーム6が下げ動作し、後方に操作されると、ブーム6が上げ動作する。中立位置にある右操作レバー41が右方に操作されると、バケット8がダンプ動作し、左方に操作されると、バケット8が掘削動作する。
【0032】
中立位置にある左操作レバー42が前方に操作されると、アーム7がダンプ動作し、後方に操作されると、アーム7が掘削動作する。中立位置にある左操作レバー42が右方に操作されると、旋回体2が右旋回し、左方に操作されると、旋回体2が左旋回する。
【0033】
チルト操作レバー43が操作されると、バケット8がチルト回転又はローテート回転する。
【0034】
[制御装置]
図5は、本実施形態に係る制御装置50を示す機能ブロック図である。制御装置50は、位置データ取得部51と、角度データ取得部52と、操作データ取得部53と、設計面取得部54と、目標値生成部55と、モデル予測制御部56と、制約条件算出部57と、指令部58と、重量データ取得部61と、予測モデル更新部62と、記憶部60とを有する。
【0035】
位置データ取得部51は、位置演算装置20から旋回体2の位置データを取得する。旋回体2の位置データは、旋回体2の位置、旋回体2の姿勢、及び旋回体2の方位を含む。
【0036】
角度データ取得部52は、角度検出装置30から作業機1の角度θを示す角度データを取得する。作業機1の角度データは、ブーム角度θ1、アーム角度θ2、バケット角度θ3、チルト角度θ4、及びローテート角度θ5を含む。
【0037】
操作データ取得部53は、作業機1を操作する操作装置40の操作データを取得する。操作装置40の操作データは、操作装置40が操作された量を含む。操作装置40には、レバーが操作された量を検出する操作量センサが設けられる。操作データ取得部53は、操作装置40の操作量センサから操作装置40の操作データを取得する。
【0038】
設計面取得部54は、施工対象の目標形状を示す設計面を取得する。設計面は、油圧ショベル100による施工後の3次元の目標形状を示す。本実施形態においては、設計面データ供給装置70により、設計面を示す設計面データが生成される。設計面取得部54は、設計面データ供給装置70から設計面データを取得する。設計面データ供給装置70は、油圧ショベル100の遠隔地に設けられてもよい。設計面データ供給装置70で生成された設計面データは、通信システムを介して制御装置50に送信されてもよい。なお、設計面データ供給装置70により生成された設計面データが記憶部60に記憶されてもよい。設計面取得部54は、記憶部60から設計面データを取得してもよい。
【0039】
目標値生成部55は、作業機1の制御量の目標値を生成する。本実施形態において、作業機1の制御量は、バケット8の移動速度及びバケット8の所定部位の位置の一方又は両方を含む。バケット8の所定部位は、バケット8の刃先9を含む。バケット8の移動速度は、刃先9の移動速度を含む。バケット8の所定部位の位置は、刃先9の位置を含む。目標値生成部55は、操作データ取得部53により取得された操作データに基づいて、作業機1の制御量の目標値を生成する。
【0040】
以下の説明においては、バケット8の所定部位が刃先9であることとする。なお、バケット8の所定部位は、刃先9でなくてもよい。バケット8の所定部位は、バケット8の床面(底面)でもよい。
【0041】
バケット8の移動速度は、バケット8の並進速度及び回転速度を含む。バケット8の並進速度とは、X軸方向、Y軸方向、及びZ軸方向のそれぞれの移動速度をいう。バケット8の回転速度とは、θX方向、θY方向、及びθZ方向のそれぞれの回転角速度をいう。本実施形態において、目標値生成部55は、並進速度の目標値である目標並進速度vtargetを算出する目標並進速度算出部551と、回転速度の目標値である目標回転速度ωtargetを算出する目標回転速度算出部552とを含む。目標値生成部55は、角度データ取得部52により取得された角度データ、操作データ取得部53により取得された操作データ、及び設計面取得部54により取得された設計面に基づいて、目標並進速度vtarget及び目標回転速度ωtargetのそれぞれを算出する。
【0042】
図6は、本実施形態に係る目標並進速度算出部551によるバケット8の目標並進速度v
targetの算出方法を説明するための図である。目標並進速度算出部551は、操作装置40の操作データ及び作業機1の角度データに基づいて、バケット8の並進速度を算出する並進速度算出部551Aと、刃先9と設計面との距離及び設計面データに基づいて、バケット8の制限速度を算出する制限速度算出部551Bと、PI制御部551Cと、減速処理部551Dとを含む。
【0043】
目標並進速度算出部551は、設計面を掘り込まないためのバケット8の目標並進速度vtargetを算出する。バケット8の目標並進速度vtargetは、(1)式から(6)式に基づいて算出される。
【0044】
【数1】
【数2】
【数3】
【数4】
【数5】
【数6】
【0045】
n∈R3は、刃先9と最も近い設計面の単位法線ベクトルであり、wR1∈R3×3は、車体座標系からグローバル座標系へ変換する回転行列であり、vsagyo∈R3は、操作装置40の操作に基づいて作業機1が作動した場合の並進速度のうち作業機平面(車体座標系のXZ平面)におけるブーム6及びアーム7による並進速度成分であり、VMAXは、設計面を掘り込まないための設計面の法線方向のバケット8の最大速度である。Jv∈R3×5及びJω∈R3×5のそれぞれは、ヤコビ行列の並進速度成分及び回転速度成分を示す。
【0046】
目標並進速度算出部551は、位置データ取得部51により取得された旋回体2の位置データと、角度データ取得部52により取得された作業機1の角度データと、記憶部60に記憶されている作業機データとに基づいて、刃先9と設計面との距離を算出することができる。
図3及び
図4に示すように、作業機データは、ブーム長さL1、アーム長さL2、バケット長さL3、チルト長さL4、及びバケット幅L5を含む。ブーム長さL1は、ブーム軸AX1とアーム軸AX2との距離である。アーム長さL2は、アーム軸AX2とバケット軸AX3との距離である。バケット長さL3は、バケット軸AX3とバケット8の刃先9との距離である。チルト長さL4は、バケット軸AX3とチルト軸AX4との距離である。バケット幅L5は、バケット8の幅方向の寸法である。作業機データは、バケット8の形状及び寸法を示すバケット外形データを含む。バケット外形データは、バケット8の外面の輪郭を含むバケット8の外面データを含む。バケット外形データは、バケット8の所定部位を基準としたバケット8の複数の外形点RPの座標データを含む。
【0047】
目標並進速度算出部551は、外形点RPの位置データを算出する。目標並進速度算出部551は、車体座標系における旋回体2の代表点Oと複数の外形点RPのそれぞれとの相対位置を算出する。目標並進速度算出部551は、ブーム長さL1、アーム長さL2、バケット長さL3、チルト長さL4、バケット幅L5、及びバケット外形データを含む作業機データと、ブーム角度θ1、アーム角度θ2、バケット角度θ3、チルト角度θ4、及びローテート角度θ5を含む作業機1の角度データとに基づいて、車体座標系における旋回体2の代表点Oとバケット8の複数の外形点RPのそれぞれとの相対位置を算出することができる。外形点RPが刃先9に設定されることにより、目標並進速度算出部551は、代表点Oと刃先9との相対位置を算出することができる。設計面は、車体座標系において規定される。したがって、目標並進速度算出部551は、車体座標系における刃先9と設計面との距離を算出することができる。また、目標並進速度算出部551は、グローバル座標系における複数の外形点RPのそれぞれの位置を算出する。目標並進速度算出部551は、旋回体2の代表点Oの絶対位置と、旋回体2の代表点Oとバケット8の外形点RPとの相対位置とに基づいて、グローバル座標系におけるバケット8の外形点RPの位置を算出することができる。
【0048】
制限速度算出部551Bは、バケット8と設計面との距離と作業機1の制限速度との関係を示す制限速度テーブルにより、設計面の法線方向におけるブーム6の制限速度を決定する。
【0049】
図7は、本実施形態に係る制限速度テーブルの一例を示す図である。
図7に示すように、制限速度テーブルは、刃先9と設計面との距離と作業機1の制限速度との関係を示す。制限速度テーブルにおいて、刃先9と設計面との距離が0のときに、設計面の法線方向における作業機1の速度が0になる。制限速度テーブルにおいて、刃先9が施工面よりも上方に配置されるときに、刃先9と設計面との距離は正の値になる。刃先9が施工面よりも下方に配置されるときに、刃先9と施工面との距離は負の値になる。制限速度テーブルにおいて、刃先9を上方に移動させるときの速度は正の値になる。刃先9と施工面との距離が正の値である作業機制御閾値th以下のときに、刃先9と施工面との距離に基づいて、作業機1の制限速度が規定される。刃先9と施工面との距離が作業機制御閾値th以上のときに、作業機1の制限速度の絶対値は作業機1の目標速度の最大値より大きい値になる。すなわち、刃先9と施工面との距離が作業機制御閾値th以上である場合、作業機1の目標速度の絶対値は常に制限速度の絶対値より小さいため、ブーム6は、常に目標速度で駆動する。
【0050】
図8は、本実施形態に係る目標回転速度算出部552によるバケット8の目標回転速度ω
targetの算出方法を説明するための図である。目標回転速度算出部552は、作業機1の角度データに基づいてバケット8の現在姿勢R
curを算出する現在姿勢算出部552Aと、操作装置40の操作データ及び設計面データに基づいてバケット8の目標姿勢R
targetを算出する目標姿勢算出部552Bと、バケット8の現在姿勢R
curと目標姿勢R
targetとに基づいて、回転速度ω’
targetを算出する回転速度算出部552Cと、回転速度ω’
targetをP制御して目標回転速度ω
targetを算出するP制御部552Dとを含む。
【0051】
回転速度ω’targetは、(7)式から(10)式に基づいて算出される。
【0052】
【0053】
ΔTtargetは、バケット8の姿勢を修正するのに要する時間に対応するパラメータである。P制御部552Dは、回転速度算出部552Cにより算出された回転速度ω’targetに基づいてP制御することにより、目標回転速度ωtargetを算出する。
【0054】
モデル予測制御部56は、目標値生成部55により生成された作業機1の制御量の目標値と作業機1の予測モデルとに基づいて、作業機1の制御量の予測値を算出する。モデル予測制御部56は、予測値に基づいて作業機1を制御するための駆動量を算出する。モデル予測制御部56は、作業機1の予測モデルを記憶する予測モデル記憶部561と、作業機1の制御量の目標値と予測モデルとに基づいて作業機1の制御量の予測値を算出し、作業機1の制御量の予測値に基づいて作業機1を制御する駆動量を算出する予測部562とを有する。
【0055】
予測モデル記憶部561は、作業機1を含む油圧ショベル100の予測モデルを記憶する。予測モデルは、油圧ショベル100の動力学モデルを含む。予測モデルは、旋回軸RXを中心に旋回する旋回体2のモデルと、ブーム軸AX1を中心に回転するブーム6のモデルと、アーム軸AX2を中心に回転するアーム7のモデルと、バケット軸AX3、チルト軸AX4、及びローテート軸AX5を中心に回転するバケット8のモデルとを含む。
【0056】
予測モデルは、離散の状態方程式及び出力方程式により表される。油圧ショベル100の制御のサンプリングタイムΔTで離散化された予測モデルの状態方程式を(11)式に示す。状態方程式の各行列を(12)式及び(13)式に示す。予測モデルの出力方程式を(14)式に示す。
【0057】
【0058】
M∈R5×5及びCo∈R5のそれぞれは、運動方程式の慣性行列及びコリオリ力・重力のベクトルである.Ctay∈R2npは、所定の時刻tにおいてn・pを角度θ周りにテーラー展開したときの定数項である.npは、考慮する設計面の数を示す。予測モデルの出力方程式の出力は、角度θ、角速度、目標並進速度vtarget、目標回転速度ωtarget、及び刃先9と設計面との距離d及び作動油の流量Qである。
【0059】
予測部562は、予測モデルに基づいて最適化演算を行い、作業機1の制御量の予測値を算出する。上述のように、本実施形態において、作業機1の制御量は、バケット8の移動速度及びバケット8の所定部位の位置の一方又は両方を含む。バケット8の所定部位は、刃先9を含む。また、作業機1の制御量は、ブーム6の角速度、アーム7の角速度、及びバケット8の角速度を含む。バケット8の角速度は、バケット軸AX3を中心とする角速度、チルト軸AX4を中心とする角速度、及びローテート軸AX5を中心とする角速度を含む。
【0060】
予測部562は、現時点から何ステップか先の(14)式の左辺の値を予測する。
【0061】
予測部562は、バケット8の移動速度の予測値、各軸の角速度の予測値、バケット8の刃先9の位置の予測値、及び作動油の流量の予測値の少なくとも一つに基づいて、作業機1を制御する駆動量を算出する。予測部562は、制御量の予測値が目標値に追従するように、駆動量を算出する。
【0062】
本実施形態において、予測部562は、バケット8の移動速度の予測値、各軸の角速度の予測値、バケット8の刃先9の位置の予測値、作動油の流量の予測値、及び旋回体2の旋回速度の予測値と設計面とに基づいて、目標とする設計面にバケット8が所定の姿勢で追従するように、駆動量を算出する。すなわち、予測部562は、バケット8が設計面を掘り込まず、刃先9の位置と設計面の位置とが一致するように、駆動量を算出する。
【0063】
予測部562は、評価関数が最小となり、かつ各制約条件を守るように作業機1及び旋回体2を制御する駆動量を算出する。
【0064】
モデル予測制御においては、(15)式に示すような評価関数が一般的に用いられる。
【0065】
【0066】
Ey(t)は、出力の目標値と予測値との差、Eu(t)は、入力の目標値と予測値との差、EΔu(t)は入力の変化量の大きさ、Ec(t)は、後述する制約条件を満足していない場合に課せられるペナルティ関数である.本実施形態においては、Eu(t)=0、EΔu(t)=0とし、出力の目標値に対する出力の追従誤差を評価関数として用いる。評価関数を(16)式及び(17)式に示す。
【0067】
【0068】
r(t+i|t)は、時刻tにおける時刻t+iの目標値、y(t+i|t)は、時刻tにおいて予測した時刻t+iにおけるプラント出力、Hpは、何ステップ先まで予測するかを決定する予測ホライズン、Wは、変数に対して重みを与える対角行列である。
【0069】
制約条件算出部57は、制約条件を算出する。制約条件は、油圧ショベル100の性能に係る第1制約条件、及びバケット8の位置に係る第2制約条件を含む。予測部562は、制約条件算出部57により算出された制約条件を満足するように、駆動量を算出する。
【0070】
制御対象である油圧ショベル100において、作業機1の角度θ、角速度、角加速度、及び作動油の流量には制約がある。例えば、作業機1が可動可能な角度θには限界がある。同様に、作業機1の角速度及び角加速度には限界がある。また、油圧ポンプ17から吐出される作動油の流量には限界がある。このように、油圧ショベル100には、ハードウエア上の制約がある。そのため,モデル予測制御においても、油圧ショベル100のハードウエア上の制約を示す第1制約条件を考慮する必要がある。制約条件算出部57は、作業機1の角度θ、角速度、角加速度、及び作動油の流量を含む第1制約条件を算出する。予測部562は、第1制約条件を満足するように、駆動量を算出する。
【0071】
角度θ、角速度、及び作動油の流量についてのそれぞれの制約条件を(18)式から(21)式に示す。
【0072】
【0073】
角加速度の制約条件を(22)式に示す。
【0074】
【0075】
本実施形態において、制約条件算出部57は、角加速度の制約条件をトルクの制約条件に変換する。変換後の角加速度の制約条件を(23)式に示す。
【0076】
【0077】
作業機1の制御において、バケット8が設計面を掘り込まないようにする必要がある。すなわち、バケット8の位置には、設計面を掘り込まないようにするという制約がある。そのため、モデル予測制御においても、バケット8の位置の制約を示す第2制約条件を考慮する必要がある。制約条件算出部57は、設計面に対するバケット8の位置を含む第2制約条件を算出する。予測部562は、第2制約条件を満足するように、駆動量を算出する。
【0078】
出力d(t)は、刃先9と設計面との距離を示す。i番目の設計面の方程式は、単位法線ベクトルniによってn・p+di=0と表わされる。刃先9の右端及び左端が設計面を掘り込まないようにするという制約条件を(24)式及び(25)式に示す。
【0079】
【0080】
刃先9の座標は、状態変数中の角度θに対して非線形である.そのため、(26)式及び(27)式に示すように、線形近似を行う。
【0081】
【0082】
予測部562は、(18)式から(27)式に示した制約条件を満足するように、(16)式及び(17)式に示した評価関数を用いて、モデル予測制御における最適化演算を行う。本実施形態における最適化問題を(28)式に示す。最適化演算には、例えばQP(二次計画法)が使用されるが、その他の計算方法でもよい。
【0083】
【0084】
τ(t)は、制御プラントの制御入力トルクであり、最適化演算の解である。Huは、何ステップ先までの入力を最適化問題で扱うのかを決定する制御ホライズンである。
【0085】
重量データ取得部61は、バケット8の重量を示す重量データを取得する。バケット8は、アーム7に着脱可能である。すなわち、バケット8は、交換可能である。バケット8が交換されたとき、バケット8の重量を示す重量データが入力装置80に入力される。入力装置80は、油圧ショベル100の運転室4に配置されてもよいし、油圧ショベル100の外部に配置されてもよい。運転者又は油圧ショベル100の管理者は、入力装置80を操作して、バケット8の重量データを制御装置50に入力することができる。重量データ取得部61は、入力装置80からバケット8の重量データを取得する。
【0086】
予測モデル更新部62は、重量データ取得部61により取得されたバケット8の重量データに基づいて、予測モデルを更新するための更新指令を予測モデル記憶部561に出力する。予測モデル記憶部561は、更新指令に基づいて、予測モデルのうちバケット8の重量を示すパラメータを変更する。これは(13)式のMを変更することを意味する。
【0087】
例えば、第1の重量M1のバケット8がアーム7に連結されている場合、予測モデル記憶部561は、第1の重量M1のバケット8に基づいて、予測モデルを変更し、変更後の予測モデルを記憶する。第1の重量M1のバケット8から第2の重量M2のバケット8に交換された場合、予測モデル記憶部561は、第2の重量M2のバケット8に基づいて、予測モデルを変更し、変更後の予測モデルを記憶する。予測部562は、更新後の予測モデルに基づいて、作業機1の制御量の予測値を算出し、算出した予測値に基づいて、駆動量を算出する。
【0088】
指令部58は、予測部562により算出された駆動量に基づいて、作業機1を制御する制御指令を出力する。
【0089】
[制御方法]
図9は、本実施形態に係る油圧ショベル100の制御方法を示すフローチャートである。運転者又は操作者は、入力装置80を操作して、バケット8の重量データを制御装置50に入力する。重量データ取得部61は、バケットの重量データを取得する(ステップS1)。
【0090】
設計面取得部54は、設計面データを取得する(ステップS2)。
【0091】
位置データ取得部51は、現在値として、位置演算装置20から旋回体2の位置データを取得する。また、角度データ取得部52は、現在値として、角度検出装置30から作業機1の角度データ及び角速度データを取得する(ステップS3)。
【0092】
運転者は、操作装置40を操作する。操作データ取得部53は、操作装置40から操作データを取得する。目標値生成部55は、少なくとも操作装置40の操作データに基づいて、作業機1の制御量の目標値を生成する(ステップS4)。
【0093】
作業機1の制御量の目標値は、バケット8の移動速度の目標値を含む。バケット8の移動速度の目標値は、
図6を参照して説明したバケット8の目標並進速度v
targetと、
図8を参照して説明したバケット8の目標回転速度ω
targetとを含む。目標値生成部55は、操作装置40の操作データと、操作装置40が操作されることにより変化する作業機1の角度θを示す角度データ及び単位時間当たりの角度θの変化量を示す角速度データと、設計面データとに基づいて、バケット8の目標並進速度v
target及び目標回転速度ω
targetを含む目標値を算出する。
【0094】
制約条件算出部57は、操作装置40の操作データと、操作装置40が操作されることにより変化する作業機1の角度θを示す角度データ及び単位時間当たりの角度θの変化量を示す角速度データと、設計面データとに基づいて、油圧ショベル100の性能に係る第1制約条件及びバケット8の位置に係る第2制約条件を含む制約条件を算出する(ステップS5)。
【0095】
予測部562は、作業機1の制御量の目標値と予測モデル記憶部561に記憶されている予測モデルとに基づいて、ステップS5において算出された制約条件を満足するように、作業機1を制御するための駆動量を算出する(ステップS6)。
【0096】
予測部562は、現時点から、例えば10ステップ先までの作業機1の駆動量を算出する。
【0097】
予測部562は、ステップS6で算出した駆動量と、ステップS3において取得された現在値とに基づいて、作業機1の制御量の予測値を算出する(ステップS7)。
【0098】
予測部562は、現時点から、例えば10ステップ先までの作業機1の移動速度の予測値、及び刃先9の位置の予測値を算出する。
【0099】
予測部562は、作業機1を操作する操作装置40の操作データに基づいて、バケット8の刃先9が設計面ISに追従するように算出されたバケット速度の予測値が、最高速度を超えているか否かを判定する(ステップS8)。
【0100】
ステップS8において、バケット速度の予測値が最高速度を超えていないと判定された場合(ステップS8:No)、予測部562は、制御量の予測値が目標値に追従するように駆動量を再算出する(ステップS6)。
【0101】
予測部562は、制御量の目標値及び現在値により規定される評価関数が最小になるように駆動量を再算出する。予測部562は、第1制約条件及び第2制約条件を満足するように駆動量を再算出する。
【0102】
ステップS8において、バケット速度の予測値が、最高速度を超えていると判定した場合(ステップS8:Yes)、予測部562は、評価関数が最小であるか否かを判定する(ステップS9)。
【0103】
バケット8の速度は、作業機1又は旋回体2の各軸の角速度や角加速度でもよい。最高速度は、上限値でよい。つまり、ステップS8において、予測部562は、各軸の角加速度の予測値が、上限角加速度を超えているか否かを判定してもよい。
【0104】
ステップS9において、評価関数が最小でないと判定した場合(ステップS9:No)、予測部562は、制御量の予測値が目標値に追従するように駆動量を再算出する(ステップS6)。
【0105】
予測部562は、評価関数が最小になるまで、ステップS6、ステップS7、ステップS8、及びステップS9の処理を繰り返す。
【0106】
ステップS9において、評価関数が最小であると判定された場合(ステップS9:Yes)、指令部58は、ステップS6において算出された作業機1を制御する駆動量に基づいて、作業機1を制御する制御指令を出力する(ステップS10)。
【0107】
上述のように、駆動量は、現時点から、例えば10ステップ先まで算出される。指令部58は、10ステップ先まで算出された駆動量のうち、直近の1ステップ目の駆動量を制御指令として出力する。
【0108】
バケット8が交換され、アーム7に連結されるバケット8の重量が変更された場合、ステップS1で示したように、バケット8の重量データが入力装置80を介して重量データ取得部61に入力される。予測モデル更新部62は、重量データ取得部61により取得されたバケット8の重量データに基づいて、予測モデルを更新するための更新指令を予測モデル記憶部561に出力する。予測モデル記憶部561は、更新指令に基づいて、予測モデルのうちバケット8の重量を示すパラメータを変更する。
【0109】
予測モデル記憶部561は、交換後のバケット8の重量データに基づいて、予測モデルを変更し、変更後の予測モデルを記憶する。予測部562は、更新後の予測モデルに基づいて、作業機1の制御量の予測値を算出し、算出した予測値に基づいて駆動量を算出する。指令部58は、予測部562により算出された駆動量に基づいて、作業機1を制御する制御指令を出力する。
【0110】
[効果]
以上説明したように、本実施形態によれば、作業機1がモデル予測制御されるので、バケット8が交換され、バケット8の重量が変更されても、バケット8の重量データに基づいて予測モデルが更新されるだけで、制御装置50は、バケット8が設計面に従って移動するように作業機1を制御することができる。
【0111】
図10は、本実施形態に係る制御方法により作業機1を制御した場合と比較例に係る制御方法により作業機1を制御した場合とを比較した結果を示す図である。
図10に示すグラフにおいて、横軸は時間であり、縦軸は刃先と設計面との距離を示す。
図10(A)は、第1の重量M1のバケット8がアーム7に連結されているときの制御結果を示し、
図10(B)は、第2の重量M2のバケット8がアーム7に連結されているときの制御結果を示す。
【0112】
図10において、ラインLaは、本実施形態に係る制御方法により作業機1を制御したときの制御結果を示し、ラインLbは、比較例に係る制御方法により作業機1を制御したときの制御結果を示す。比較例に係る制御方法は、モデル予測制御を実行せずに、単に作業機1の角度データに基づいてフィードバック制御する制御方法である。また、比較例に係る制御方法においては、第1の重量M1のバケット8がアーム7に連結されている状態で刃先と設計面との距離が最小になるようにフィードバックゲインが調整されている。
【0113】
図10(A)に示すように、本実施形態に係る制御方法により、バケット8は設計面を掘り込むことなく、設計面に従って移動することができる。
【0114】
図10(B)に示すように、本実施形態に係る制御方法において、バケット8の重量に基づいて予測モデルが更新されることにより、バケット8は設計面を掘り込むことなく、設計面に従って移動することができる。一方、比較例に係る制御方法においては、フィードバックゲインの再調整なしではバケット8の重量の変更に対応しきれず、バケット8が設計面を大きく掘り込んでしまう。
【0115】
以上のように、本実施形態によれば、作業機1がモデル予測制御されるので、バケット8が交換され、バケット8の重量が変更されても、バケット8の重量データに基づいて予測モデルが更新されるだけで、制御装置50は、バケット8が設計面に従って移動するように作業機1を適切に制御することができる。
【0116】
[コンピュータシステム]
図11は、本実施形態に係るコンピュータシステム1000の一例を示すブロック図である。上述の制御装置50は、コンピュータシステム1000を含む。コンピュータシステム1000は、CPU(Central Processing Unit)のようなプロセッサ1001と、ROM(Read Only Memory)のような不揮発性メモリ及びRAM(Random Access Memory)のような揮発性メモリを含むメインメモリ1002と、ストレージ1003と、入出力回路を含むインターフェース1004とを有する。上述の制御装置50の機能は、プログラムとしてストレージ1003に記憶されている。プロセッサ1001は、プログラムをストレージ1003から読み出してメインメモリ1002に展開し、プログラムに従って上述の処理を実行する。なお、プログラムは、ネットワークを介してコンピュータシステム1000に配信されてもよい。
【0117】
コンピュータシステム1000は、上述の実施形態に従って、バケット8の重量データに基づいて、作業機1の予測モデルを更新することと、作業機1の制御量の目標値と更新後の予測モデルとに基づいて、作業機1の制御量の予測値を算出することと、予測値に基づいて、作業機1を制御する駆動量を算出することと、駆動量に基づいて、作業機1を制御する制御指令を出力することと、を実行することができる。
【0118】
[その他の実施形態]
上述の実施形態において、目標値生成部55は、バケット8の速度(並進速度及び回転角速度)を、モデル予測制御部56の目標値として生成することとした。目標値生成部55は、バケット8の位置及び姿勢を、モデル予測制御部56の目標値として生成してもよい。
【0119】
なお、上述の実施形態において、制御装置50の一部の機能又は全部の機能が、油圧ショベル100の外部コンピュータシステムに設けられてもよい。例えば、目標値生成部55及びモデル予測制御部56が外部コンピュータシステムに設けられ、外部コンピュータシステムにおいて算出された駆動量が無線通信システムを介して油圧ショベル100に送信されてもよい。
【0120】
なお、上述の実施形態においては、建設機械100が油圧ショベルであることとした。上述の実施形態で説明した構成要素は、油圧ショベルとは別の、作業機を有する建設機械に適用可能である。
【0121】
なお、上述の実施形態において、旋回体2を旋回させる旋回モータ16は、油圧モータでなくてもよい。旋回モータ16は、電力が供給されることにより駆動する電動モータでもよい。また、作業機1は、油圧シリンダ10によらずに、例えば電気モータのような電動アクチュエータが発生する動力により作動してもよい。
【符号の説明】
【0122】
1…作業機、2…旋回体、3…走行体、3C…履帯、4…運転室、4S…シート、5…エンジン、6…ブーム、7…アーム、8…バケット、9…刃先、10…油圧シリンダ、11…ブームシリンダ、12…アームシリンダ、13…バケットシリンダ、14…チルトシリンダ、15…ローテートシリンダ、16…旋回モータ、17…油圧ポンプ、18…バルブ装置、20…位置演算装置、21…位置演算器、22…姿勢演算器、23…方位演算器、30…角度検出装置、31…ブーム角度検出器、32…アーム角度検出器、33…バケット角度検出器、34…チルト角度検出器、35…ローテート角度検出器、40…操作装置、41…右操作レバー、42…左操作レバー、43…チルト操作レバー、50…制御装置、51…位置データ取得部、52…角度データ取得部、53…操作データ取得部、54…設計面取得部、55…目標値生成部、56…モデル予測制御部、57…制約条件算出部、58…指令部、60…記憶部、61…重量データ取得部、62…予測モデル更新部、70…設計面データ供給装置、80…入力装置、100…建設機械、200…制御システム、551…目標並進速度算出部、551A…並進速度算出部、551B…制限速度算出部、551C…PI制御部、551D…減速処理部、552…目標回転速度算出部、552A…現在姿勢算出部、552B…目標姿勢算出部、552C…回転速度算出部、552D…P制御部、561…予測モデル記憶部、562…予測部、AX1…ブーム軸、AX2…アーム軸、AX3…バケット軸、AX4…チルト軸、AX5…ローテート軸。