(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-04
(45)【発行日】2023-12-12
(54)【発明の名称】作業機械の制御システム、作業機械、および作業機械の制御方法
(51)【国際特許分類】
E02F 9/26 20060101AFI20231205BHJP
E02F 3/43 20060101ALI20231205BHJP
【FI】
E02F9/26 B
E02F3/43 C
(21)【出願番号】P 2019214460
(22)【出願日】2019-11-27
【審査請求日】2022-10-17
(73)【特許権者】
【識別番号】000001236
【氏名又は名称】株式会社小松製作所
(74)【代理人】
【識別番号】110001634
【氏名又は名称】弁理士法人志賀国際特許事務所
(72)【発明者】
【氏名】松山 徹
【審査官】高橋 雅明
(56)【参考文献】
【文献】国際公開第2014/054327(WO,A1)
【文献】国際公開第2016/158779(WO,A1)
【文献】特表2019-525039(JP,A)
【文献】特開2012-172431(JP,A)
【文献】特開昭62-051596(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
E02F 9/26
E02F 3/43
(57)【特許請求の範囲】
【請求項1】
ブーム軸回りに回転可能なブームと、前記ブーム軸と平行なアーム軸回りに回転可能なアームと、前記アーム軸と平行なバケット軸回りに回転可能かつ前記バケット軸と直交するチルト軸回りに回転可能なバケットと備える作業機械の制御システムであって、
前記バケット上の点である第1バケット点と掘削対象の目標形状を示す目標設計面との距離である第1距離、および前記第1バケット点を通りかつ前記バケットの刃先に平行な直線上における前記バケット上の点である第2バケット点と前記目標設計面との距離である第2距離を算出する距離算出部と、
前記第1距離と前記第2距離の少なくとも大きい方の値に基づいて前記バケットを前記チルト軸回りに回転させるチルト制御量を算出するチルト制御部と
を備える作業機械の制御システム。
【請求項2】
前記チルト制御部は、前記第1距離と前記第2距離との差が所定の閾値以下である場合に、前記チルト軸回りの回転を実施しない
請求項1に記載の作業機械の制御システム。
【請求項3】
前記第1バケット点および前記第2バケット点は、前記バケットの刃先の両端の点であり、
前記閾値は、前記目標設計面に対する高さの許容誤差以下の値である
請求項2に記載の作業機械の制御システム。
【請求項4】
前記チルト制御部は、前記第1距離と前記第2距離との差に応じた角速度に係る前記チルト制御量を算出する
請求項1から請求項3の何れか1項に記載の作業機械の制御システム。
【請求項5】
前記目標設計面は、複数の多角形面によって構成され、
前記距離算出部は、前記目標設計面のうち前記バケットに対向する2以上の多角形面が存在する場合に、前記2以上の多角形面のうち1つを通る平面を特定し、前記第1距離として前記平面と前記第1バケット点との距離を算出し、前記第2距離として前記平面と前記第2バケット点との距離を算出する
請求項1から請求項4の何れか1項に記載の作業機械の制御システム。
【請求項6】
前記平面は、前記2以上の多角形面のうち、前記バケットとの距離が最も近い多角形面を通る
請求項5に記載の作業機械の制御システム。
【請求項7】
ブーム軸回りに回転可能なブームと、
前記ブーム軸と平行なアーム軸回りに回転可能なアームと、
前記アーム軸と平行なバケット軸回りに回転可能かつ前記バケット軸と直交するチルト軸回りに回転可能なバケットと、
請求項1から
請求項6の何れか1項に記載の作業機械の制御システムと
を備える作業機械。
【請求項8】
ブーム軸回りに回転可能なブームと、前記ブーム軸と平行なアーム軸回りに回転可能なアームと、前記アーム軸と平行なバケット軸回りに回転可能かつ前記バケット軸と直交するチルト軸回りに回転可能なバケットと備える作業機械の制御方法であって、
前記バケット上の点である第1バケット点と掘削対象の目標形状を示す目標設計面との距離である第1距離、および前記第1バケット点を通りかつ前記バケットの刃先に平行な直線上における前記バケット上の点である第2バケット点と前記目標設計面との距離である第2距離を算出するステップと、
前記第1距離と前記第2距離との少なくとも大きい方の値に基づいて前記バケットを前記チルト軸回りに回転させるチルト制御量を算出するステップと
を備える作業機械の制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、作業機械の制御システム、作業機械、および作業機械の制御方法に関する。
【背景技術】
【0002】
油圧ショベルに取り付けられるバケットとして、作業機の動作平面に対する角度を調整可能なチルトバケットが知られている(例えば、特許文献1を参照)チルトバケットは、動作平面に直交するバケット軸回りに回転可能、かつバケット軸に直交するチルト軸回りに回転可能に構成される。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、油圧ショベルのような作業機械においては、掘削対象の目標形状を示す目標設計面に沿ってバケットが移動するように、作業機を自動制御する技術が知られている。特許文献1に開示されるチルトバケットにおいても、目標設計面に沿ってチルトバケットが移動するように、作業機を自動制御することが望まれている。
本開示の目的は、目標設計面に沿ってチルトバケットが移動するように、作業機を自動制御する作業機械の制御システム、作業機械、および作業機械の制御方法を提供することにある。
【課題を解決するための手段】
【0005】
一の態様によれば、作業機械の制御システムは、ブーム軸回りに回転可能なブームと、前記ブーム軸と平行なアーム軸回りに回転可能なアームと、前記アーム軸と平行なバケット軸回りに回転可能かつ前記バケット軸と直交するチルト軸回りに回転可能なバケットと備える作業機械の制御システムであって、前記バケット上の点である第1バケット点と掘削対象の目標形状を示す目標設計面との距離である第1距離、および前記第1バケット点を通りかつ前記バケットの刃先に平行な直線上における前記バケット上の点である第2バケット点と前記目標設計面との距離である第2距離を算出する距離算出部と、前記第1距離と前記第2距離との少なくとも大きい方の値に基づいて前記バケットを前記チルト軸回りに回転させるチルト制御量を算出するチルト制御部とを備える。
【発明の効果】
【0006】
上記態様によれば、作業機械の制御システムは、目標設計面に沿ってチルトバケットが移動するように、作業機を自動制御することができる。
【図面の簡単な説明】
【0007】
【
図1】作業機械および作業機の姿勢の例を示す図である。
【
図2】第1の実施形態に係る作業機械の構成を示す概略図である。
【
図3】第1の実施形態に係るバケットの構成を示す正面図である。
【
図4】第1の実施形態に係る運転室の内部の構成を示す図である。
【
図5】第1の実施形態に係る制御装置の構成を示す概略ブロック図である。
【
図6】第1の実施形態に係る制御装置の動作を示すフローチャートである。
【
図7】チルト自動制御における目標設計面と刃先上の点との関係を示す図である。
【
図8】第1の実施形態に係るバケットの距離差とチルト角速度の目標値の関係を示すチルト関数の例を示す図である。
【発明を実施するための形態】
【0008】
〈座標系〉
図1は、作業機械100および作業機150の姿勢の例を示す図である。
以下の説明においては、三次元の現場座標系(Xg、Yg、Zg)および三次元の車体座標系(Xm、Ym、Zm)を規定して、これらに基づいて位置関係を説明する。
【0009】
現場座標系は、施工現場に設けられたGNSS(Global Navigation Satellite System)基準局の位置を基準点として南北に伸びるXg軸、東西に伸びるYg軸、鉛直方向に伸びるZg軸から構成される座標系である。GNSSの例としては、GPS(Global Positioning System)が挙げられる。なお、他の実施形態においては、現場座標系に代えて緯度および経度などで表されるグローバル座標系を用いてもよい。
車体座標系は、作業機械100の旋回体130に規定された代表点Oを基準として、後述する運転室170内のオペレータの着座位置から見て前後に伸びるXm軸、左右に伸びるYm軸、上下に伸びるZm軸から構成される座標系である。旋回体130の代表点Oを基準として前方を+Xm方向、後方を-Xm方向、左方を+Ym方向、右方を-Ym方向、上方向を+Zm方向、下方向を-Zm方向とよぶ。
現場座標系と車体座標系とは、現場座標系における作業機械100の位置および傾きを特定することで、互いに変換することができる。
【0010】
〈第1の実施形態〉
《作業機械100の構成》
図2は、第1の実施形態に係る作業機械100の構成を示す概略図である。
作業機械100は、施工現場にて稼働し、土砂などの掘削対象を施工する。第1の実施形態に係る作業機械100は、油圧ショベルである。
作業機械100は、走行体110、旋回体130、作業機150、運転室170、制御装置190を備える。
走行体110は、作業機械100を走行可能に支持する。走行体110は、例えば左右1対の無限軌道である。旋回体130は、走行体110に旋回中心回りに旋回可能に支持される。作業機150は、油圧により駆動する。作業機150は、旋回体130の前部に上下方向に駆動可能に支持される。運転室170は、オペレータが搭乗し、作業機械100の操作を行うためのスペースである。運転室170は、旋回体130の前部に設けられる。制御装置190は、オペレータの操作に基づいて、走行体110、旋回体130、および作業機150を制御する。制御装置190は、例えば運転室170の内部に設けられる。
【0011】
《旋回体130の構成》
図2に示すように、旋回体130は、位置方位検出器131および傾斜検出器132を備える。
【0012】
位置方位検出器131は、旋回体130の現場座標系における位置および旋回体130が向く方位を演算する。位置方位検出器131は、GNSSを構成する人工衛星から測位信号を受信する2つのアンテナを備える。2つのアンテナは、それぞれ旋回体130の異なる位置に設置される。例えば2つのアンテナは、旋回体130のカウンターウェイト部に設けられる。位置方位検出器131は、2つのアンテナの少なくとも一方が受信した測位信号に基づいて、現場座標系における旋回体130の代表点Oの位置を検出する。位置方位検出器131は、2つのアンテナのそれぞれが受信した測位信号を用いて、現場座標系において旋回体130が向く方位を検出する。
【0013】
傾斜検出器132は、旋回体130の加速度および角速度を計測し、計測結果に基づいて旋回体130の傾き(例えば、Xm軸に対する回転を表すロール、およびYm軸に対する回転を表すピッチ)を検出する。傾斜検出器132は、例えば運転室170の下方に設置される。傾斜検出器132の例としては、IMU(Inertial Measurement Unit:慣性計測装置)が挙げられる。
【0014】
《作業機150の構成》
図2に示すように、作業機150は、ブーム151、アーム152、第1リンク153、第2リンク154、およびバケット155を備える。
【0015】
ブーム151の基端部は、旋回体130にブームピンP1を介して取り付けられる。以下、ブームピンP1の中心軸をブーム軸X1とよぶ。
アーム152は、ブーム151とバケット155とを連結する。アーム152の基端部は、ブーム151の先端部にアームピンP2を介して取り付けられる。以下、アームピンP2の中心軸をアーム軸X2とよぶ。
第1リンク153の第1端は、アーム152の先端側の側面に第1リンクピンP3を介して取り付けられる。第1リンク153の第2端は、第2リンク154の第1端に、バケットシリンダピンP4を介して取り付けられる。
バケット155は、土砂などを掘削するための刃先と掘削した土砂を収容するための収容部とを備える。バケット155の基端部は、アーム152のアーム152の先端部にバケットピンP5を介して取り付けられる。以下、バケットピンP5の中心軸をバケット軸X3とよぶ。またバケット155の基端部は、第2リンク154の第2端に、第2リンクピンP6を介して取り付けられる。
ブーム軸X1、アーム軸X2、およびバケット軸X3は、互いに平行である。
【0016】
作業機150は、動力を発生させるアクチュエータである複数の油圧シリンダを備える。具体的には、作業機150は、ブームシリンダ156、アームシリンダ157、およびバケットシリンダ158を備える。
ブームシリンダ156は、ブーム151を駆動させるための油圧シリンダである。ブームシリンダ156の基端部は、旋回体130に取り付けられる。ブームシリンダ156の先端部は、ブーム151に取り付けられる。ブームシリンダ156には、ブームシリンダ156のストローク量を検出するブームシリンダストロークセンサ1561が設けられる。
アームシリンダ157は、アーム152を駆動するための油圧シリンダである。アームシリンダ157の基端部は、ブーム151に取り付けられる。アームシリンダ157の先端部は、アーム152に取り付けられる。アームシリンダ157には、アームシリンダ157のストローク量を検出するアームシリンダストロークセンサ1571が設けられる。
バケットシリンダ158は、バケット155を駆動するための油圧シリンダである。バケットシリンダ158の基端部は、アーム152に取り付けられる。バケットシリンダ158の先端部は、第2リンクピンP6を介して第1リンク153の第2端および第2リンク154の第1端に取り付けられる。バケットシリンダ158には、バケットシリンダ158のストローク量を検出するバケットシリンダストロークセンサ1581が設けられる。
【0017】
《バケット155の構成》
図3は、第1の実施形態に係るバケット155の構成を示す正面図である。
第1の実施形態に係るバケット155は、バケット軸X3に直交する軸であるチルト軸X4回りに回転可能なチルトバケットである。
図3に示すように、バケット155は、バケット本体161と、ジョイント162と、チルトシリンダ163とを備える。
【0018】
ジョイント162の基端部には、バケットピンP5を介してアーム152を取り付けるための取付孔を有する前側ブラケット1621および第2リンクピンP6を介して第2リンク154を取り付けるための取付孔を有する後側ブラケット1622が設けられる。すなわち、前側ブラケット1621の取付孔は、バケット軸X3を通るように設けられる。
ジョイント162の先端部は、チルトピンP7を介してバケット本体161の基端部に取り付けられる。チルトピンP7は、バケット軸X3に直交するように設けられる。チルトピンP7の中心軸は、チルト軸X4をなす。
【0019】
バケット本体161の基端部の一端(左端または右端)には、チルトシリンダ163を取り付けるためのチルトブラケット1611が設けられる。
チルトシリンダ163は、チルト軸X4回りにバケット本体161を回転するための油圧シリンダである。チルトシリンダ163の基端部は、チルトシリンダエンドピンP8を介してチルトブラケット1611に取り付けられる。チルトシリンダ163の先端部は、チルトシリンダトップピンP9を介してジョイント162に取り付けられる。チルトシリンダエンドピンP8およびチルトシリンダトップピンP9は、それぞれチルトピンP7と平行に設けられる。これにより、バケット本体161は、チルトシリンダ163の駆動によってチルト軸X4回りに回転する。
チルトシリンダ163には、チルトシリンダ163のストローク量を検出するチルトシリンダストロークセンサ1631が設けられる。
【0020】
《運転室170の構成》
図4は、第1の実施形態に係る運転室の内部の構成を示す図である。
図4に示すように、運転室170内には、運転席171、操作装置172および制御装置190が設けられる。
【0021】
操作装置172は、オペレータの手動操作によって走行体110、旋回体130および作業機150を駆動させるためのインタフェースである。操作装置172は、左操作レバー1721、右操作レバー1722、左フットペダル1723、右フットペダル1724、左走行レバー1725、右走行レバー1726を備える。
【0022】
左操作レバー1721は、運転席171の左側に設けられる。右操作レバー1722は、運転席171の右側に設けられる。
【0023】
左操作レバー1721は、旋回体130の旋回動作、ならびに、アーム152の引き動作および押し動作を行うための操作機構である。具体的には、オペレータが左操作レバー1721を前方に倒すと、アームシリンダ157が駆動し、アーム152が押し動作する。また、オペレータが左操作レバー1721を後方に倒すと、アームシリンダ157が駆動し、アーム152が引き動作する。また、オペレータが左操作レバー1721を右方向に倒すと、旋回体130が右旋回する。また、オペレータが左操作レバー1721を左方向に倒すと、旋回体130が左旋回する。
【0024】
右操作レバー1722は、バケット155の掘削動作およびダンプ動作、ならびに、ブーム151の上げ動作および下げ動作を行うための操作機構である。具体的には、オペレータが右操作レバー1722を前方に倒すと、ブームシリンダ156が駆動し、ブーム151の下げ動作が実行される。また、オペレータが右操作レバー1722を後方に倒すと、ブームシリンダ156が駆動し、ブーム151の上げ動作が実行される。また、オペレータが右操作レバー1722を右方向に倒すと、バケットシリンダ158が駆動し、バケット155のダンプ動作が行われる。また、オペレータが右操作レバー1722を左方向に倒すと、バケットシリンダ158が駆動し、バケット155の掘削動作が行われる。
なお、左操作レバー1721および右操作レバー1722の操作方向と、作業機150の動作方向および旋回体130の旋回方向の関係は、上述の関係でなくてもよい。
【0025】
また、右操作レバー1722の上部には、図示しないチルト操作ボタンが設けられる。具体的には、オペレータがチルト操作ボタンを左方向にスライドさせると、チルトシリンダ163が駆動し、オペレータから見て左方向にバケット155のチルト回転動作が行われる。オペレータがチルト操作ボタンを右方向にスライドさせると、チルトシリンダ163が駆動し、オペレータから見て右方向にバケット155のチルト回転動作が行われる。なお、チルト操作ボタンは、左右方向に回転させる構成であってもよい。また、チルト操作は、オペレータの図示しないペダルによる操作で実現されてもよい。
【0026】
左フットペダル1723は、運転席171の前方の床面の左側に配置される。右フットペダル1724は、運転席171の前方の床面の右側に配置される。左走行レバー1725は、左フットペダル1723に軸支され、左走行レバー1725の傾斜と左フットペダル1723の押し下げが連動するように構成される。右走行レバー1726は、右フットペダル1724に軸支され、右走行レバー1726の傾斜と右フットペダル1724の押し下げが連動するように構成される。
【0027】
左フットペダル1723および左走行レバー1725は、走行体110の左側履帯の回転駆動に対応する。具体的には、走行体110の駆動輪が後方にある場合、オペレータが左フットペダル1723または左走行レバー1725を前方に倒すと、左側履帯は前進方向に回転する。また、オペレータが左フットペダル1723または左走行レバー1725を後方に倒すと、左側履帯は後進方向に回転する。
【0028】
右フットペダル1724および右走行レバー1726は、走行体110の右側履帯の回転駆動に対応する。具体的には、走行体110の駆動輪が後方にある場合、オペレータが右フットペダル1724または右走行レバー1726を前方に倒すと、右側履帯は前進方向に回転する。また、オペレータが右フットペダル1724または右走行レバー1726を後方に倒すと、右側履帯は後進方向に回転する。
【0029】
《制御装置190の構成》
制御装置190は、施工現場において設定された目標設計面にバケット155が侵入しないようにバケット155が掘削対象に接近する方向の動作を制限する。目標設計面は、掘削対象の目標形状を示す。制御装置190が目標設計面に基づいてバケット155の動作を制限することを介入制御ともいう。
【0030】
オペレータがアーム152の引き操作のみを行って施工現場の整地作業を行う場合の介入制御について説明する。制御装置190は、バケット155と目標設計面との距離が所定の介入制御距離未満になった場合に、アーム152の移動に伴うバケット155の刃先と目標設計面との距離に応じて、目標設計面にバケット155が侵入しないように、ブームシリンダ156の操作信号を生成する。これにより、オペレータがアーム152の動作を操作するだけで、制御装置190がブームシリンダ156の操作信号を生成して自動的にブーム151を上昇させることでバケット155の動作を制限し、設計面へのバケット155の刃先の侵入を自動的に防止する。
なお、他の実施形態においては、制御装置190は、介入制御においてアームシリンダ157の制御指令またはバケットシリンダ158の制御指令を生成してもよい。つまり、他の実施形態においては、介入制御においてアーム152を上昇させることでバケット155の速度を制限してもよいし、バケット155の速度を直接制限してもよい。
【0031】
また、制御装置190は、バケット155と目標設計面との距離が所定のチルト制御距離未満になった場合に、バケット155の刃先と目標設計面とが平行になるように、バケット155をチルト軸X4回りに回転させる。制御装置190が目標設計面に基づいてバケット155をチルト軸X4回りに回転させることを自動チルト制御ともいう。
【0032】
図5は、第1の実施形態に係る制御装置190の構成を示す概略ブロック図である。
制御装置190は、プロセッサ210、メインメモリ230、ストレージ250、インタフェース270を備えるコンピュータである。
【0033】
ストレージ250は、一時的でない有形の記憶媒体である。ストレージ250の例としては、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリ等が挙げられる。ストレージ250は、制御装置190のバスに直接接続された内部メディアであってもよいし、インタフェース270または通信回線を介して制御装置190に接続される外部メディアであってもよい。ストレージ250は、作業機械100を制御するためのプログラムを記憶する。
【0034】
プログラムは、制御装置190に発揮させる機能の一部を実現するためのものであってもよい。例えば、プログラムは、ストレージ250に既に記憶されている他のプログラムとの組み合わせ、または他の装置に実装された他のプログラムとの組み合わせによって機能を発揮させるものであってもよい。なお、他の実施形態においては、制御装置190は、上記構成に加えて、または上記構成に代えてPLD(Programmable Logic Device)などのカスタムLSI(Large Scale Integrated Circuit)を備えてもよい。PLDの例としては、PAL(Programmable Array Logic)、GAL(Generic Array Logic)、CPLD(Complex Programmable Logic Device)、FPGA(Field Programmable Gate Array)が挙げられる。この場合、プロセッサによって実現される機能の一部または全部が当該集積回路によって実現されてよい。
【0035】
ストレージ250には、予め目標設計面を示す設計面データが記憶される。設計面データは、現場座標系で表される三次元データであって、複数の三角形ポリゴンによって表される。設計面データを構成する三角形ポリゴンは、それぞれ隣接する他の三角形ポリゴンと共通の辺を有する。つまり、設計面データは、複数の平面から構成される連続した平面を表す。なお、他の実施形態においては、設計面データが三角形ポリゴン以外の多角形面によって構成されてもよく、また点群データなどの他の形式で表されてもよい。
なお、本実施形態では、設計面データはストレージ250に記憶されるとしたが、これに限られない。設計面データは、外部メモリや、図示しないサーバから図示しない通信回線を介して、ダウンロードされてもよい。
【0036】
プロセッサ210は、プログラムを実行することで、検出値取得部211、バケット位置特定部212、目標平面決定部213、距離算出部214、操作量取得部215、介入制御部216、チルト制御部217、出力部218として機能する。
【0037】
検出値取得部211は、ブームシリンダストロークセンサ1561、アームシリンダストロークセンサ1571、バケットシリンダストロークセンサ1581、チルトシリンダストロークセンサ1631、位置方位検出器131、および傾斜検出器132のそれぞれの検出値を取得する。つまり、検出値取得部211は、旋回体130の現場座標系における位置、旋回体130が向く方位、旋回体130の傾き、ブームシリンダ156のストローク長、アームシリンダ157のストローク長、バケットシリンダ158のストローク長、およびチルトシリンダ163のストローク長を取得する。
【0038】
バケット位置特定部212は、検出値取得部211が取得した検出値に基づいて、バケット155の刃先上の複数の点の位置を特定する。例えば、バケット位置特定部212は、バケット155の刃先を4等分する5つの点の位置をそれぞれ特定する。バケット155の刃先の位置の特定方法は後述する。
【0039】
目標平面決定部213は、チルト制御の対象とする目標平面を決定する。目標平面は、目標設計面を構成する複数の三角形ポリゴンの少なくとも1つを通る平面である。具体的には、目標平面決定部213は、以下の手順で目標平面を決定する。目標平面決定部213は、設計面データとバケット位置特定部212が特定した複数の点の位置とに基づいて、当該複数の点それぞれについて、目標設計面を構成する三角形ポリゴンのうち当該点に対向するものと当該点との間の距離を算出する。このとき、複数の点は、それぞれ異なる三角形ポリゴンと対向し得る。目標平面決定部213は、最も短い距離に係る三角形ポリゴンを特定し、当該三角形ポリゴンを通る平面を、目標平面に決定する。
【0040】
距離算出部214は、バケット位置特定部212が特定した複数の点の位置と目標平面決定部213が決定した目標平面とに基づいて、複数の点と目標平面との間の距離を算出する。
【0041】
操作量取得部215は、操作装置172から操作量を示す操作信号を取得する。操作量取得部215は、少なくともブーム151の上げ操作および下げ操作に係る操作量、アーム152の押し操作および引き操作に係る操作量、並びにバケット155の掘削操作、ダンプ操作およびチルト操作に係る操作量を取得する。
【0042】
介入制御部216は、操作量取得部215が取得した操作装置172の操作量と、距離算出部214が算出した距離のうち最も短いものとに基づいて、作業機150の介入制御を行う。
【0043】
チルト制御部217は、距離算出部214が算出した距離のうち、バケット155の刃先の左端から目標平面までの距離である第1距離と、バケット155の刃先の右端から目標平面までの距離である第2距離との差に基づいて、自動チルト制御を行う。バケット155の刃先の左端および右端は、それぞれ第1バケット点および第2バケット点の一例である。なお、他の実施形態においては、第1バケット点および第2バケット点は、バケット155上の他の点であってもよい。ただし、第2バケット点は、第1バケット点を通りかつバケット155の刃先に平行な直線上に存在するという条件を満たす必要がある。すなわち、他の実施形態においては、第1バケット点および第2バケット点は、底面上の点など、必ずしも刃先上の点でなくてもよい。
【0044】
出力部218は、操作量取得部215が取得した操作量、およびチルト制御部217によって算出されるチルト制御量に基づいて、各アクチュエータに制御信号を出力する。
【0045】
《バケット155の刃先位置の特定方法》
ここで、
図1および
図3を参照しながら、バケット位置特定部212によるバケット155の刃先の位置の特定方法について説明する。車体座標系におけるバケット155の刃先の位置は、ブーム長L1、アーム長L2、ジョイント長L3、バケット長L4、ブーム相対角α、アーム相対角β、バケット相対角γ、チルト角η、車体座標系におけるブームピンP1の位置、および現場座標系における代表点Oの位置に基づいて特定することができる。
【0046】
ブーム長L1は、ブームピンP1からアームピンP2までの既知の長さである。
アーム長L2は、アームピンP2からバケットピンP3までの既知の長さである。
ジョイント長L3は、バケットピンP3からチルトピンP7までの既知の長さである。
バケット長L4は、チルトピンP7からバケット155の刃先の中心点までの既知の長さである。
【0047】
ブーム相対角αは、ブームピンP1から旋回体130の上方向(+Zm方向)に伸びる半直線と、ブームピンP1からアームピンP2へ伸びる半直線とがなす角によって表される。なお、
図1に示すように、旋回体130の傾きθによって、旋回体130の上方向(+Zm方向)と鉛直上方向(+Zg方向)は必ずしも一致しない。
アーム相対角βは、ブームピンP1からアームピンP2へ伸びる半直線と、アームピンP2からバケットピンP3へ伸びる半直線とがなす角によって表される。
バケット相対角γは、アームピンP2からバケットピンP3へ伸びる半直線と、バケットピンP3からチルトピンP7へ伸びる半直線とがなす角によって表される。
チルト角ηは、チルトピンP7から、バケットピンP3およびチルトピンP7に直交する方向へ伸びる半直線と、チルトピンP7からバケット155の刃先の中心点へ伸びる半直線とがなす角によって表される。
【0048】
バケット155の刃先の現場座標系における位置は、例えば以下の手順で特定される。バケット位置特定部212は、車体座標系におけるブームピンP1の位置とブーム相対角αとブーム長さL1とに基づいて、車体座標系におけるアームピンP2の位置を特定する。バケット位置特定部212は、車体座標系におけるアームピンP2の位置とアーム相対角βとアーム長L2とに基づいて、車体座標系におけるバケットピンP3の位置を特定する。バケット位置特定部212は、車体座標系におけるバケットピンP3の位置と、バケット相対角γと、ジョイント長L3とに基づいて、車体座標系におけるチルトピンP7の位置を特定する。バケット位置特定部212は、車体座標系におけるチルトピンP7の位置と、チルト角ηと、バケット長L4とに基づいて、車体座標系におけるバケット155の刃先の中心点の位置を特定する。また、バケット位置特定部212は、刃先の中心点から刃先の任意の点までの距離を特定し、刃先の中心点の位置から、チルト角ηの方向に、刃先の中心点から任意の点までの距離だけずらした位置を計算することで、刃先の任意の点の位置を特定することができる。例えば、バケット位置特定部212は、刃先の中心点の位置から、チルト角ηの正負の方向にそれぞれ刃先の幅方向の長さの1/2だけずらした位置を計算することで、刃先の両端の位置を特定することができる。
【0049】
ブーム相対角α、アーム相対角β、バケット相対角γ、およびチルト角ηは、それぞれ、ブームシリンダストロークセンサ1561の検出値、アームシリンダストロークセンサ1571の検出値、バケットシリンダストロークセンサ1581の検出値、およびチルトシリンダストロークセンサ1631の検出値によって特定される。バケット位置特定部212は、旋回体130の現場座標系における位置、旋回体130が向く方位、および旋回体130の姿勢に基づいて、車体座標系におけるバケット155の刃先の位置を、現場座標系における位置に変換する。
なお、ブーム相対角α、アーム相対角β、バケット相対角γ、およびチルト角ηの検出は、シリンダストロークセンサによって行うものに限られず、角度センサやIMUによって行ってもよい。
【0050】
《制御装置190の動作》
図6は、第1の実施形態に係る制御装置190の動作を示すフローチャートである。
図7は、チルト自動制御における目標設計面と刃先上の点との関係を示す図である。
作業機械100のオペレータが作業機械100の操作を開始すると、制御装置190は、所定の制御周期ごとに以下に示す制御を実行する。
【0051】
操作量取得部215は、操作装置172からブーム151に係る操作量、アーム152に係る操作量、バケット155に係る操作量、チルトに係る操作量、および旋回体130の旋回に係る操作量を取得する(ステップS1)。検出値取得部211は、位置方位検出器131、傾斜検出器132、ブームシリンダストロークセンサ1561、アームシリンダストロークセンサ1571、バケットシリンダストロークセンサ1581、チルトシリンダストロークセンサ1631のそれぞれが検出した情報を取得する(ステップS2)。
【0052】
バケット位置特定部212は、各油圧シリンダのストローク長からブーム相対角α、アーム相対角β、バケット相対角γ、およびチルト角ηを算出する(ステップS3)。またバケット位置特定部212は、ステップS2で取得した検出値、ステップS3で算出した角度、および既知の作業機150の長さパラメータに基づいて、バケット155の刃先を4等分する5つの点の現場座標系における位置を算出する(ステップS4)。以下、バケット155の刃先上の5つの点を、刃先の左端から順に、点p1、点p2、点p3、点p4、点p5とよぶ。すなわち、点p1は刃先の左端の点であり、点p5は刃先の右端の点であり、点p3は刃先の中心点である。
なお、角度センサやIMUを用いて直接的に角度が検出される場合、ステップS3は省略されてもよい。
【0053】
目標平面決定部213は、ストレージ250から設計面データを読み出し、点p1-p5それぞれについて、目標設計面との間の距離を算出する(ステップS5)。ステップS5において、目標平面決定部213は、点p1-p5のそれぞれについて、当該点から鉛直方向(Zg軸方向)に伸びる方向に対向する三角形ポリゴンとの距離を算出する。
図7に示す例においては、目標平面決定部213は、点p1-p3と三角形ポリゴンt1との距離L11-L13、および点p4-p5と三角形ポリゴンt2との距離L14-L15を算出する。バケット155の刃先の位置を現場座標系で特定した場合は、現場座標系に基づく設計面データを用いる。バケット155の刃先の位置を車体座標系で特定した場合は、車体座標系に基づく設計面データを用いてもよい。例えば、車体座標系に基づく設計面データは、現場座標系に基づく設計面データを、位置方位検出器131および傾斜検出器132の検出値に基づいて車体座標系に変換したものであってよい。
【0054】
次に、目標平面決定部213は、最も短い距離に係る三角形ポリゴンを特定し、当該三角形ポリゴンを通る平面を、目標平面g1に決定する(ステップS6)。
図7に示す例においては、距離L11から距離L15のうち、点p3と三角形ポリゴンt1との距離L13が最も短いため、目標平面決定部213は、三角形ポリゴンt1を通る平面を目標平面g1に決定する。
【0055】
距離算出部214は、ステップS4で算出した刃先両端の点p1、p5の位置と、ステップS6で決定した目標平面g1とに基づいて、点p1と目標平面g1との間の距離L21、および点p5と目標平面g1との間の距離L22を算出する(ステップS7)。ステップS7において、目標平面決定部213は、点p1および点p5のそれぞれについて、目標平面g1の法線方向における目標平面g1との距離L21、L22を算出する。
【0056】
次に、チルト制御部217は、ステップS1で取得した操作量に基づいて、オペレータによるチルト操作入力があるか否かを判定する(ステップS8)。例えば、チルト制御部217は、チルト操作量の絶対値が所定値未満である場合に、操作入力がないと判定する。チルト操作がない場合(ステップS8:NO)、チルト制御部217は、ステップS7で特定した点p1と目標平面g1との間の距離L21、および点p5と目標平面g1との間の距離L22の少なくとも一方が、チルト制御距離th未満であるか否かを判定する(ステップS9)。
【0057】
距離L21および距離L22の少なくとも一方がチルト制御距離th未満である場合(ステップS9:YES)、チルト制御部217は、ステップS7で算出した距離L21と距離L22との差を算出する(ステップS10)。次に、チルト制御部217は、距離L21と距離L22との差(距離差)に基づいて、チルト制御量を算出する(ステップS11)。
【0058】
図8は、第1の実施形態に係るバケットの距離差とチルト角速度の目標値の関係を示すチルト関数の例を示す図である。
図8に示すバケットの距離差は、
図7に示す距離L21から距離L22を減算して得られるものであって、
図7における反時計回りの角速度を正とするものである。
ステップS11において、チルト制御部217は、
図8に示すような予め定められたチルト関数に距離差を代入することで、チルト角速度の目標値を決定する。チルト関数は、バケット155の距離差に基づいてチルト角速度の目標値を求める関数である。チルト関数において、チルト角速度の目標値は、バケット155の距離差に対して単調増加する。また、チルト関数において、チルト角速度の上限値および下限値が定められており、距離差の絶対値が所定値を超えるとチルト角速度の目標値は一定となる。また、チルト関数には不感帯(ヒステリシス)が設定されており、距離差がゼロの近傍の不感帯内にある場合に、チルト角速度の目標値がゼロとなる。すなわち、距離差がゼロの近傍の不感帯内にある場合、バケット155のチルト軸X4回りの回転が停止される。そして、チルト制御部217は、決定したチルト角速度の目標値に基づいて、チルト制御量を決定する。
【0059】
チルト関数に不感帯が設けられることで、バケット155のチルト制御がオーバーシュートおよび過修正を繰り返すことを防ぐことができる。これにより、自動チルト制御によってバケット155のチルト角ηが制御される場合に、掘削面にがたつきが生じることを防ぐことができる。また、不感帯が目標施工面に対する許容誤差量によって規定されることで、目標施工面の掘削誤差を許容誤差量以内に抑えながら、掘削面のがたつきを防ぐことができる。
【0060】
なお、チルト操作がなされている場合(ステップS8:YES)、または距離L21および距離L22の両方がチルト制御距離th以上である場合(ステップS9:NO)、チルト制御部217は、チルト制御量を算出しない。
【0061】
そして、出力部218は、作業機150に係る各操作量およびチルト制御部217によって算出されるチルト制御量に基づいて、各アクチュエータに制御信号を出力する(ステップS12)。自動チルト制御を実行している場合、チルトシリンダ163は、チルト制御部217で生成された信号に従って駆動する。自動チルト制御を実行しない場合、チルトシリンダ163は、オペレータ操作量に基づく信号に従って駆動する。
【0062】
《作用・効果》
このように、第1の実施形態に係る制御装置190によれば、バケット155上の第1バケット点p1と目標設計面との距離である第1距離L21、およびバケット155上の点である第2バケット点p5と目標設計面との距離である第2距離L22を算出し、第1距離L21と第2距離L22とを比較してバケット155をチルト軸X4回りに回転させるチルト制御量を算出する。これにより、制御装置190は、目標設計面に沿ってバケット155が移動するように、作業機150を自動制御することができる。
【0063】
なお、第1の実施形態においては、第1バケット点p1および第2バケット点p5がバケット155の刃先の両端であるが、これに限られない。例えば、他の実施形態においては、点p2および点p4を、それぞれ第1バケット点および第2バケット点としてもよい。また、他の実施形態においては、制御装置190がバケット155のチルト角ηに基づいてチルト制御量を算出してもよい。一方で、バケット155の刃先の両端の距離差を用いることで、目標施工面に対する掘削誤差を容易に管理することができる。
例えば、制御装置190がバケット155のチルト角ηに基づいてチルト制御量を算出する場合、バケット155の刃先の長さによってチルト角ηの誤差によって発生する掘削誤差が変化する。これに対し、第1の実施形態のようにバケット155の両端と目標平面の距離差に基づいてチルト制御量を算出する場合、バケット155の刃先の長さによって掘削誤差が変化しない。
【0064】
また、第1の実施形態においては、制御装置190は、第1距離L21と第2距離L22との差が不感帯以内である場合に、チルト軸X4回りの回転を停止させる。すなわち、第1の実施形態においては、制御装置190は、バケット155の刃先と目標設計面とのなす角が所定の閾値以下である場合に、チルト軸X4回りの回転を停止させる。これにより、バケット155のチルト制御がオーバーシュートおよび過修正を繰り返すことを防ぐことができる。またこの不感帯が目標施工面に対する許容誤差量によって規定されることで、目標施工面の掘削誤差を許容誤差量以内に抑えながら、掘削面のがたつきを防ぐことができる。
【0065】
《他の実施形態》
以上、図面を参照して一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、様々な設計変更等をすることが可能である。すなわち、他の実施形態においては、上述の処理の順序が適宜変更されてもよい。また、一部の処理が並列に実行されてもよい。
【0066】
上述した実施形態に係る制御装置190は、単独のコンピュータによって構成されるものであってもよいし、制御装置190の構成を複数のコンピュータに分けて配置し、複数のコンピュータが互いに協働することで制御システムとして機能するものであってもよい。このとき、制御装置190を構成する一部のコンピュータが作業機械100の内部に搭載され、他のコンピュータが作業機械100の外部に設けられてもよい。
【0067】
上述した実施形態に係る制御装置190は、
図7に示す基準に基づいて距離L11-L15ならびに距離L21および距離L22を求めるが、これに限られない。例えば、他の実施形態に係る制御装置190は、距離L11-L15を三角形ポリゴンの法線方向に対する距離として求めてもよいし、バケット155の刃先に直交する方向に対する距離として求めてもよい。また他の実施形態に係る制御装置190は、距離L21および距離L22を鉛直方向に対する距離として求めてもよいし、バケット155の刃先に直交する方向に対する距離として求めてもよい。また例えば、三角形ポリゴンt1、t2は、バケット155の刃先を通り、チルト軸X4に直交するチルト動作平面と目標設計面との交線から選択されてもよい。
【0068】
上述した実施形態に係る制御装置190は、第1距離L21と第2距離L22とを比較してバケット155をチルト軸X4回りに回転させるチルト制御量を算出するが、これに限られない。例えば、他の実施形態に係る制御装置190は、第1距離L21と第2距離L22の一方がチルト制御距離th未満になった場合に、その時の第1距離L21と第2距離L22の他方に基づいて、チルト制御量を算出してもよい。例えば、制御装置190は、第1距離L21がチルト制御距離th未満になった場合に、その時の第2距離L22の大きさに基づいてチルト制御量を算出してもよい。また例えば、制御装置190は、第1距離L21と第2距離L22の他方の距離が所定値以上である場合に、チルト軸X4回りの回転をさせないようにしてもよい。つまり、制御装置190は、第1距離L1と第2距離L2の少なくとも大きい方の値に基づいて、チルト制御量を算出する。
【0069】
上述した実施形態に係る制御装置190は、常に自動チルト制御を有効にしているが、これに限られない。他の実施形態に係る操作装置172は、自動チルト制御の有効/無効を切り替えるためのスイッチを備えていてもよい。この場合、制御装置190は、当該スイッチの状態に基づいて自動チルト制御を行うか否かを判断してもよい。すなわち、制御装置190は、スイッチがONである場合において、チルト操作入力がなく(ステップS8:NO)、かつバケット155の刃先と目標平面g1との間の距離がチルト制御距離th未満である(ステップS9)場合に、自動チルト制御を行う。一方で、制御装置190は、スイッチがOFFである場合には、チルト操作入力がなく、かつバケット155の刃先と目標平面g1との間の距離がチルト制御距離th未満であったとしても、自動チルト制御を行わない。当該スイッチはオペレータが操作できる態様であれば、図示しないモニタの機能として設けられてもよいし、操作レバーなどに配置されてもよい。
【符号の説明】
【0070】
100…作業機械 110…走行体 130…旋回体 131…位置方位検出器 132…傾斜検出器 150…作業機 151…ブーム 152…アーム 155…バケット 161…バケット本体 162…ジョイント 163…チルトシリンダ 190…制御装置 211…検出値取得部 212…バケット位置特定部 213…目標平面決定部 214…距離算出部 215…操作量取得部 216…介入制御部 217…チルト制御部 218…出力部