(57)【特許請求の範囲】
【請求項１】
バケットを含む作業機を備える作業機械を制御する作業機制御装置であって、
前記バケットの角度を特定するバケット姿勢特定部と、
前記作業機による掘削対象の目標形状を示す施工面の角度を特定する施工面特定部と、  バケット制御開始条件に基づいて前記バケットを制御するバケット制御部と
を備え、
前記バケット制御部は、前記バケット制御開始条件を満たす場合、角度の異なる複数の前記施工面のうち前記バケットの鉛直下方に位置する目標施工面と前記バケットの角度との差が目標角度になるように前記バケットを制御し、
前記目標角度は、前記バケット制御開始条件を満たさない状態から前記バケット制御開始条件を満たす状態に遷移したときの前記バケットと前記目標施工面との角度の差である  作業機制御装置。
【請求項２】
前記バケット姿勢特定部は、前記バケットの底面に直交する底面法線ベクトルを特定し、
前記施工面特定部は、前記目標施工面に直交する施工面法線ベクトルを特定し、
前記バケット制御部は、前記底面法線ベクトルと前記施工面法線ベクトルとがなす角が一定角度になるように前記バケットを制御する
請求項１に記載の作業機制御装置。
【請求項３】
目標角度記憶部をさらに備え、
前記バケット制御部は、前記バケット制御開始条件が満たされたときに、前記バケットと前記目標施工面との角度の差を前記目標角度として目標角度記憶部に記憶させ、バケット制御終了条件が満たされるまで、前記バケットの角度と前記施工面の角度との差が前記目標角度記憶部が記憶する前記目標角度になるように前記バケットを制御する
請求項１または請求項２に記載の作業機制御装置。
【請求項４】
前記バケットと前記施工面との距離を特定する距離特定部をさらに備え、
前記バケット制御開始条件は、前記バケットと前記施工面との距離がバケット制御開始閾値未満であることを含む
請求項１から請求項３の何れか１項に記載の作業機制御装置。
【請求項５】
バケットを含む作業機と、
請求項１から請求項４の何れか１項に記載の作業機制御装置と
を備える作業機械。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、作業機制御装置および作業機械に関する。
【背景技術】
【０００２】
特許文献１に開示されているように、直線掘削を行うために作業機の角度を一定に保つ技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平３−６６８３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の技術により、作業機の角度を一定に保つことで、一の施工面を適切に成形することができる。一方、施工面の角度が変化する変曲点（傾きが異なる施工面どうしが接続する点）をまたいで複数の施工面を成形する場合、運転者は、バケットが変曲点に達した時に、スイッチ操作により作業機の角度を保つ制御をオフにし、作業機が適切な角度になるように操作した後に、再度スイッチ操作により作業機の角度を保つ制御をオンにする必要がある。
【０００５】
本発明の態様は、運転者による明示の操作なしに、変曲点を含む角度の異なる複数の目標掘削地形の掘削作業時に作業機の角度を適切に保つことができる作業機制御装置および作業機械を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の第１の態様によれば、作業機制御装置は、バケットを含む作業機を備える作業機械を制御する作業機制御装置であって、前記バケットの角度を特定するバケット姿勢特定部と、前記作業機による掘削対象の目標形状を示す施工面の角度を特定する施工面特定部と、バケット制御開始条件に基づいて前記バケットを制御するバケット制御部とを備える。前記バケット制御部は、前記バケット制御開始条件を満たす場合、角度の異なる複数の前記施工面のうち前記バケットの鉛直下方に位置する目標施工面と前記バケットの角度との差が目標角度になるように前記バケットを制御する。前記目標角度は、前記バケット制御開始条件を満たさない状態から前記バケット制御開始条件を満たす状態に遷移したときの前記バケットと前記目標施工面との角度の差である。
【０００７】
本発明の第２の態様によれば、作業機械は、バケットを含む作業機と、上記態様に係る制御装置とを備える。
【発明の効果】
【０００８】
上記態様のうち少なくとも１つの態様によれば、作業機制御装置は、運転者による明示の操作なしに、変曲点を含む角度の異なる複数の目標掘削地形の掘削作業時にバケットの角度を適切に保つことができる。
【図面の簡単な説明】
【０００９】
【図１】第１の実施形態に係る油圧ショベルの構成を示す斜視図である。
【図２】第１の実施形態に係る油圧ショベルの制御系の構成を示す概略ブロック図である。
【図３】作業機の姿勢の例を示す図である。
【図４】第１の実施形態に係る油圧ショベルの制御装置の構成を示すブロック図である。
【図５】制限速度テーブルの一例を示す図である。
【図６】第１の実施形態に係る制御装置の動作を示すフローチャートである。
【図７】第１の実施形態に係るバケット制御処理を示すフローチャートである。
【図８】第１の実施形態に係る油圧ショベルの挙動の例を示す図である。
【発明を実施するための形態】
【００１０】
〈第１の実施形態〉
以下、実施形態について、図面を参照しながら説明する。
《油圧ショベル》
図１は、第１の実施形態に係る油圧ショベルの構成を示す斜視図である。第１の実施形態では、作業機械の一例として油圧ショベル１００について説明する。なお、他の実施形態に係る作業機械は、必ずしも油圧ショベル１００でなくてもよい。
油圧ショベル１００は、油圧により作動する作業機１１０と、作業機１１０を支持する上部旋回体としての車体１２０と、車体１２０を支持する下部走行体としての走行装置１３０とを備える。
【００１１】
作業機１１０は、ブーム１１１と、アーム１１２と、バケット１１３と、ブームシリンダ１１４と、アームシリンダ１１５と、バケットシリンダ１１６とを備える。
【００１２】
ブーム１１１は、アーム１１２およびバケット１１３を支える支柱である。ブーム１１１の基端部は、車体１２０の前部にピンＰ１を介して取り付けられる。
アーム１１２は、ブーム１１１とバケット１１３とを連結する。アーム１１２の基端部は、ブーム１１１の先端部にピンＰ２を介して取り付けられる。
バケット１１３は、土砂などを掘削するための刃と掘削した土砂を搬送するための容器とを備える。バケット１１３は、刃の後端側に延長するバケット底面１１３Ａを備える。バケット１１３の基端部は、アーム１１２の先端部にピンＰ３を介して取り付けられる。
【００１３】
ブームシリンダ１１４は、ブーム１１１を作動させるための油圧シリンダである。ブームシリンダ１１４の基端部は、車体１２０に取り付けられる。ブームシリンダ１１４の先端部は、ブーム１１１に取り付けられる。
アームシリンダ１１５は、アーム１１２を駆動するための油圧シリンダである。アームシリンダ１１５の基端部は、ブーム１１１に取り付けられる。アームシリンダ１１５の先端部は、アーム１１２に取り付けられる。
バケットシリンダ１１６は、バケット１１３を駆動するための油圧シリンダである。バケットシリンダ１１６の基端部は、アーム１１２に取り付けられる。バケットシリンダ１１６の先端部は、バケット１１３に取り付けられる。
【００１４】
車体１２０には、オペレータが搭乗する運転室１２１が備えられる。運転室１２１は、車体１２０の前方かつ作業機１１０の左側に備えられる。第１の実施形態においては、運転室１２１を基準として前後方向を＋Ｙ方向および−Ｙ方向、左右方向を−Ｘ方向および＋Ｘ方向、上下方向を＋Ｚ方向および−Ｚ方向と定義する。運転室１２１の内部には、作業機１１０を操作するための操作装置１２１１が設けられる。操作装置１２１１の操作量に応じて、ブームシリンダ１１４、アームシリンダ１１５、およびバケットシリンダ１１６に作動油が供給される。
【００１５】
《油圧ショベルの制御系》
図２は、第１の実施形態に係る油圧ショベルの制御系の構成を示す概略ブロック図である。
油圧ショベル１００は、ストローク検出器１１７、操作装置１２１１、位置検出器１２２、方位演算器１２３、傾斜検出器１２４を備える。
【００１６】
ストローク検出器１１７は、ブームシリンダ１１４、アームシリンダ１１５、およびバケットシリンダ１１６のそれぞれのストローク長を検出する。これにより、後述する制御装置１２６は、ブームシリンダ１１４、アームシリンダ１１５、およびバケットシリンダ１１６のそれぞれのストローク長に基づいて作業機１１０の姿勢角を検出することができる。つまり、第１の実施形態においてストローク検出器１１７は、作業機１１０の姿勢角を検出する手段の一例である。他方、他の実施形態においては、これに限られず、作業機１１０の姿勢角を検出する手段として、ストローク検出器１１７に代えて、またはストローク検出器１１７と併用して、ロータリーエンコーダや水平器等の角度検出器を用いてもよい。
【００１７】
操作装置１２１１は、運転室１２１の右側に設けられる右側操作レバー１２１２と運転室１２１の左側に設けられる左側操作レバー１２１３とを備える。操作装置１２１１は、右側操作レバー１２１２の前後方向および左右方向の操作量、ならびに左側操作レバー１２１３の前後方向および左右方向の操作量を検出し、検出された操作量に応じた操作信号を制御装置１２６に出力する。第１の実施形態に係る操作装置１２１１による操作信号の生成方式は、ＰＰＣ方式である。ＰＰＣ方式とは、右側操作レバー１２１２および左側操作レバー１２１３の操作によって生成されるパイロット油圧を圧力センサにより検出し、操作信号を生成する方式である。
【００１８】
具体的には、右側操作レバー１２１２の前方向の操作は、ブームシリンダ１１４の縮退、ブーム１１１の下げの動作の指令に対応する。右側操作レバー１２１２の後方向の操作は、ブームシリンダ１１４の伸長、ブーム１１１の上げの動作の指令に対応する。右側操作レバー１２１２の右方向の操作は、バケットシリンダ１１６の縮退、バケット１１３のダンプの指令に対応する。右側操作レバー１２１２の左方向の操作は、バケットシリンダ１１６の伸長、バケット１１３の掘削の指令に対応する。左側操作レバー１２１３の前方向の操作は、アームシリンダ１１５の伸長、アーム１１２の掘削の指令に対応する。左側操作レバー１２１３の後方向の操作は、アームシリンダ１１５の縮退、アーム１１２のダンプの指令に対応する。左側操作レバー１２１３の右方向の操作は、車体１２０の右旋回の指令に対応する。左側操作レバー１２１３の左方向の操作は、車体１２０の左旋回の指令に対応する。
【００１９】
位置検出器１２２は、車体１２０の位置を検出する。位置検出器１２２は、ＧＮＳＳ（Global Navigation Satellite System）を構成する人工衛星から測位信号を受信する第１受信器１２３１を備える。位置検出器１２２は、第１受信器１２３１が受信した測位信号に基づいて、グローバル座標系における車体１２０の代表点の位置を検出する。グローバル座標系とは、地上の所定の点（例えば、施工現場に設けられたＧＮＳＳ基準局の位置）を基準点とした座標系である。ＧＮＳＳの例としては、ＧＰＳ（Global Positioning System）が挙げられる。
【００２０】
方位演算器１２３は、車体１２０が向く方位を演算する。方位演算器１２３は、ＧＮＳＳを構成する人工衛星から測位信号を受信する第１受信器１２３１および第２受信器１２３２を備える。第１受信器１２３１および第２受信器１２３２は、それぞれ車体１２０の異なる位置に設置される。方位演算器１２３は、第１受信器１２３１が受信した測位信号と、第２受信器１２３２が受信した測位信号とを用いて、検出された第１受信器１２３１の設置位置に対する第２受信器１２３２の設置位置の関係として、車体１２０の方位を演算する。
【００２１】
傾斜検出器１２４は、車体１２０の加速度および角速度を計測し、計測結果に基づいて車体１２０の傾き（例えば、Ｘ軸に対する回転を表すピッチ、Ｙ軸に対する回転を表すヨー、およびＺ軸に対する回転を表すロール）を検出する。傾斜検出器１２４は、例えば運転室１２１の下面に設置される。傾斜検出器１２４は、例えば、慣性計測装置としてのＩＭＵ（Inertial Measurement Unit）を用いることができる。
【００２２】
油圧装置１２５は、作動油タンク、油圧ポンプ、流量制御弁、および電磁比例制御弁を備える。油圧ポンプは、図示しないエンジンの動力で駆動し、流量調整弁を介してブームシリンダ１１４、アームシリンダ１１５、およびバケットシリンダ１１６に作動油を供給する。電磁比例制御弁は、制御装置１２６から受信する制御指令に基づいて、操作装置１２１１から供給されるパイロット油圧を制限する。流量制御弁はロッド状のスプールを有し、スプールの位置によってブームシリンダ１１４、アームシリンダ１１５、およびバケットシリンダ１１６に供給する作動油の流量を調整する。スプールは、電磁比例制御弁にて調整されたパイロット油圧によって駆動される。バケットシリンダ１１６に接続する油路には、パイロット油圧を制限する電磁比例制御弁と並列に、油圧ポンプが供給する元圧を制限する電磁比例制御弁が設けられる。これにより、油圧ショベル１００は、操作装置１２１１によって生成されるパイロット油圧より高い油圧に従ってバケットシリンダ１１６を駆動することができる。
【００２３】
制御装置１２６は、プロセッサ９１０、メインメモリ９２０、ストレージ９３０、インタフェース９４０を備える。
【００２４】
ストレージ９３０には、作業機１１０を制御するためのプログラムが記憶されている。ストレージ９３０の例としては、ＨＤＤ（Hard Disk Drive）、不揮発性メモリ等が挙げられる。ストレージ９３０は、制御装置１２６のバスに直接接続された内部メディアであってもよいし、インタフェース９４０または通信回線を介して制御装置１２６に接続される外部メディアであってもよい。
【００２５】
プロセッサ９１０は、ストレージ９３０からプログラムを読み出してメインメモリ９２０に展開し、プログラムに従って処理を実行する。またプロセッサ９１０は、プログラムに従ってメインメモリ９２０に記憶領域を確保する。インタフェース９４０は、ストローク検出器１１７、操作装置１２１１、位置検出器１２２、方位演算器１２３、傾斜検出器１２４、油圧装置１２５の電磁比例制御弁、およびその他の周辺機器と接続され、信号の授受を行う。
【００２６】
プログラムは、制御装置１２６に発揮させる機能の一部を実現するためのものであってもよい。例えば、プログラムは、ストレージ９３０に既に記憶されている他のプログラムとの組み合わせ、または他の装置に実装された他のプログラムとの組み合わせによって機能を発揮させるものであってもよい。
【００２７】
制御装置１２６は、プログラムの実行により、位置検出器１２２が検出した位置、方位演算器１２３が検出した方位、傾斜検出器１２４が検出した車体１２０の傾斜角、およびストローク検出器１１７が検出したストローク長に基づいて、バケット１１３の位置を特定する。また、制御装置１２６は、特定したバケット１１３の位置および操作装置１２１１の操作量に基づいて、油圧装置１２５の電磁比例制御弁にブームシリンダ１１４の制御指令、およびバケットシリンダ１１６の制御指令を出力する。
【００２８】
《作業機の姿勢》
図３は、作業機の姿勢の例を示す図である。
制御装置１２６は、作業機１１０の姿勢を算出し、その姿勢に基づいて作業機１１０の制御指令を生成する。具体的には、制御装置１２６は、作業機１１０の姿勢として、ブーム１１１の姿勢角α、アーム１１２の姿勢角β、バケット１１３の姿勢角γ、およびバケット１１３の輪郭点の位置を算出する。
【００２９】
ブーム１１１の姿勢角αは、ピンＰ１から車体１２０の上方向（＋Ｚ方向）に伸びる半直線と、ピンＰ１からピンＰ２へ伸びる半直線とがなす角によって表される。なお、車体１２０の傾き（ピッチ角）θによって、車体１２０の上方向と鉛直上方向は必ずしも一致しない。
アーム１１２の姿勢角βは、ピンＰ１からピンＰ２へ伸びる半直線と、ピンＰ２からピンＰ３へ伸びる半直線とがなす角によって表される。
バケット１１３の姿勢角γは、ピンＰ２からピンＰ３へ伸びる半直線と、ピンＰ３からバケット１１３の刃先Ｅへ伸びる半直線とがなす角によって表される。
ここで、ブーム１１１の姿勢角α、アーム１１２の姿勢角β、およびバケット１１３の姿勢角γの和を、作業機１１０の姿勢角ηとよぶ。作業機１１０の姿勢角ηは、ピンＰ３から車体１２０の上方向（＋Ｚ方向）に伸びる半直線と、ピンＰ３からバケット１１３の刃先Ｅへ伸びる半直線とがなす角に等しい。
また、バケット底面１１３Ａに直交し、上面側へ伸びるベクトルを底面法線ベクトルＮｂという。底面法線ベクトルＮｂの向きは、作業機１１０の姿勢角ηによって変化する。
【００３０】
バケット１１３の輪郭点の位置は、ブーム１１１の寸法Ｌ１、アーム１１２の寸法Ｌ２、バケット１１３の寸法Ｌ３、ブーム１１１の姿勢角α、アーム１１２の姿勢角β、バケット１１３の姿勢角γ、バケット１１３の輪郭形状、車体１２０の代表点Ｏの位置、および代表点ＯとピンＰ１との位置関係から求められる。ブーム１１１の寸法Ｌ１は、ピンＰ１からピンＰ２までの距離である。アーム１１２の寸法Ｌ２は、ピンＰ２からピンＰ３までの距離である。バケット１１３の寸法Ｌ３は、ピンＰ３から刃先Ｅまでの距離である。代表点ＯとピンＰ１との位置関係は、例えば、代表点Ｏを基準としたピンＰ１のＸ座標位置、Ｙ座標位置、およびＺ座標位置によって表される。また代表点ＯとピンＰ１との位置関係は、例えば、代表点ＯからピンＰ１までの距離、代表点ＯからピンＰ１へ伸びる半直線のＸ軸方向の傾き、および代表点ＯからピンＰ１へ伸びる半直線のＹ軸方向の傾きによって表されてもよい。
【００３１】
《油圧ショベルの制御装置》
図４は、第１の実施形態に係る油圧ショベルの制御装置の構成を示すブロック図である。
制御装置１２６は、作業機械情報記憶部２００、操作量取得部２０１、検出情報取得部２０２、姿勢特定部２０３、目標施工データ記憶部２０４、目標施工線特定部２０５、距離特定部２０６、目標速度決定部２０７、作業機制御部２０８、バケット制御部２０９、目標角度記憶部２１０、制御指令出力部２１１を備える。
【００３２】
作業機械情報記憶部２００は、ブーム１１１の寸法Ｌ１、アーム１１２の寸法Ｌ２、バケット１１３の寸法Ｌ３、バケット１１３の輪郭形状、および車体１２０の代表点Ｏの位置とピンＰ１との位置関係を記憶する。
【００３３】
操作量取得部２０１は、操作装置１２１１から操作量（パイロット油圧または電気レバーの角度）を示す操作信号を取得する。具体的には、操作量取得部２０１は、ブーム１１１に係る操作量、アーム１１２に係る操作量、バケット１１３に係る操作量、および旋回に係る操作量を取得する。
【００３４】
検出情報取得部２０２は、位置検出器１２２、方位演算器１２３、傾斜検出器１２４、ストローク検出器１１７のそれぞれが検出した情報を取得する。具体的には、検出情報取得部２０２は、車体１２０のグローバル座標系における位置情報、車体１２０が向く方位、車体１２０の傾き、ブームシリンダ１１４のストローク長、アームシリンダ１１５のストローク長、およびバケットシリンダ１１６のストローク長を取得する。
【００３５】
姿勢特定部２０３は、検出情報取得部２０２が取得した情報に基づいて、作業機１１０の姿勢角ηを特定する。具体的には、姿勢特定部２０３は、以下の手順で作業機１１０の姿勢角ηを特定する。姿勢特定部２０３は、ブームシリンダ１１４のストローク長から、ブーム１１１の姿勢角αを算出する。姿勢特定部２０３は、アームシリンダ１１５のストローク長から、アーム１１２の姿勢角βを算出する。姿勢特定部２０３は、バケットシリンダ１１６のストローク長から、バケット１１３の姿勢角γを算出する。
【００３６】
また、姿勢特定部２０３は、算出した姿勢角に基づいて底面法線ベクトルＮｂを求める。具体的には、姿勢特定部２０３は、以下の手順で底面法線ベクトルＮｂを求める。姿勢特定部２０３は、姿勢角α、β、γの和で表される作業機１１０の姿勢角ηと作業機械情報記憶部２００が記憶するバケット１１３の輪郭形状とに基づいて、バケット底面１１３Ａ（底面の曲面部より刃先Ｅ側）の任意の３点（点Ａ、点Ｂ、点Ｃ）の相対的な位置関係を特定する。このうち点Ａおよび点Ｂは、バケット１１３の刃先の両端の点であるとよい。姿勢特定部２０３は、特定した３点から２つのベクトルを生成する。例えば、姿勢特定部２０３は、点Ａから点Ｂへ向くベクトルと、点Ａから点Ｃへ向くベクトルを生成する。姿勢特定部２０３は、生成した２つのベクトルの外積を、底面法線ベクトルＮｂとする。また、姿勢特定部２０３は、作業機１１０の姿勢角ηとバケット刃先角（ピンＰ３とバケット１１３の刃先Ｅとを結ぶ線分とバケット底面１１３Ａとがなす角）とに基づいて特定されたバケット底面１１３Ａの角度に基づいて底面法線ベクトルＮｂを求めてもよい。
姿勢特定部２０３は、バケット１１３の角度を特定するバケット姿勢特定部の一例である。
【００３７】
また、姿勢特定部２０３は、算出した姿勢角と検出情報取得部２０２が取得した情報と作業機械情報記憶部２００が記憶する情報とに基づいて、バケット１１３の複数の輪郭点についてグローバル座標系における位置を特定する。バケット１１３の輪郭点は、バケット１１３の刃先Ｅにおける幅方向（Ｘ方向）の複数の点、および底板における幅方向の複数の点を含む。具体的には、姿勢特定部２０３は、ブーム１１１の姿勢角α、アーム１１２の姿勢角β、バケット１１３の姿勢角γ、ブーム１１１の寸法Ｌ１、アーム１１２の寸法Ｌ２、バケット１１３の寸法Ｌ３、バケット１１３の輪郭形状、代表点ＯとピンＰ１との位置関係、車体１２０の代表点Ｏの位置、車体１２０が向く方位、および車体１２０の傾きθから、グローバル座標系におけるバケット１１３の輪郭点の位置を特定する。
【００３８】
目標施工データ記憶部２０４は、施工現場における掘削対象の目標形状を表す目標施工データを記憶する。目標施工データは、グローバル座標系で表される三次元データであって、目標施工面を表す複数の三角形ポリゴンからなる立体地形データ等である。目標施工データを構成する三角形ポリゴンは、それぞれ隣接する他の三角形ポリゴンと共通の辺を有する。つまり、目標施工データは、複数の平面から構成される連続した平面を表す。目標施工データは、外部記憶媒体から読み込まれることで、またはネットワークを介して外部サーバから受信されることで、目標施工データ記憶部２０４に記憶される。
【００３９】
目標施工線特定部２０５は、目標施工データ記憶部２０４が記憶する目標施工データと、姿勢特定部２０３が特定したバケット１１３の輪郭点の位置とに基づいて、目標施工線を特定する。目標施工線とは、バケット１１３の駆動面（バケット１１３を通りＸ軸に直交する面）と目標施工データとの交線によって表される。具体的には、目標施工線特定部２０５は、以下の手順で目標施工線を特定する。
【００４０】
目標施工線特定部２０５は、バケット１１３の輪郭点のうち最も下方に位置するもの（高さが最も低いもの）を特定する。目標施工線特定部２０５は、目標施工データより特定した輪郭点の鉛直下方に位置する目標施工面を特定する。目標施工線特定部２０５により規定する目標施工面は、バケット１１３に対する最短距離に位置する目標施工面を特定する手法等でもよい。
【００４１】
次に、目標施工線特定部２０５は、特定した輪郭点と目標施工面とを通るバケット１１３の駆動面と目標施工データとの交線を、目標施工線として算出する。目標施工データがバケット１１３の駆動面上に変曲点を有する場合、目標施工線は、複数の線分の組み合わせによって構成される。目標施工線特定部２０５で算出される目標施工線は、線分としてだけでなく幅を持つような地形形状で規定してもよい。
目標施工線特定部２０５は、作業機１１０の制御基準を特定する制御基準特定部の一例である。
【００４２】
また、目標施工線特定部２０５は、バケット１１３の直下の目標施工面の法線ベクトル（施工面法線ベクトルＮｔ）を特定する。施工面法線ベクトルＮｔは、Ｘ軸、Ｙ軸およびＺ軸で表される油圧ショベル１００のローカル座標系で表される。施工面法線ベクトルＮｔは、目標施工面に直交し、地上側へ伸びるベクトルである。具体的には、目標施工線特定部２０５は、以下の手順で施工面法線ベクトルＮｔを求める。目標施工線特定部２０５は、バケット１１３の輪郭点のうち最も下方に位置するものを特定する。目標施工線特定部２０５は、特定した輪郭点の鉛直下方に位置する目標施工面を特定する。次に、目標施工線特定部２０５は、特定した目標施工面を表す三角形ポリゴンを、検出情報取得部２０２が取得した車体の傾きだけ回転させることで、目標施工面を表す三角形ポリゴンをローカル座標系に変換する。
【００４３】
目標施工線特定部２０５は、ローカル座標系に変換された三角形ポリゴンの各頂点（点Ｄ、点Ｅ、点Ｆ）から２つのベクトルを生成する。例えば、姿勢特定部２０３は、点Ｄから点Ｅへ向くベクトルと、点Ｄから点Ｆへ向くベクトルを生成する。姿勢特定部２０３は、生成した２つのベクトルの外積を、施工面法線ベクトルＮｔとする。なお、他の実施形態においては、目標施工線特定部２０５は、目標施工線のうちバケット１１３の直下の線分を車体の傾きだけ回転させ、当該線分に直交し、地上側へ伸びるベクトルを、施工面法線ベクトルＮｔとしてもよい。
目標施工線特定部２０５は、作業機１１０による掘削対象の目標形状を示す施工面の角度を特定する施工面特定部の一例である。
【００４４】
距離特定部２０６は、バケット１１３と目標施工線（掘削対象位置）との距離を特定する。
【００４５】
目標速度決定部２０７は、操作量取得部２０１が取得した右側操作レバー１２１２の前後方向の操作量に基づいて、ブーム１１１の目標速度を決定する。目標速度決定部２０７は、操作量取得部２０１が取得した左側操作レバー１２１３の前後方向の操作量に基づいて、アーム１１２の目標速度を決定する。目標速度決定部２０７は、操作量取得部２０１が取得した右側操作レバー１２１２の左右方向の操作量に基づいて、バケット１１３の目標速度を決定する。
【００４６】
作業機制御部２０８は、距離特定部２０６が特定した距離に基づいて、バケット１１３が目標施工線より下方に侵入しないように作業機１１０を制御する作業機制御を行う。第１の実施形態に係る作業機制御は、バケット１１３が目標施工線より下方に侵入しないようにブーム１１１の制限速度を決定し、ブーム１１１の制御指令を生成する制御である。具体的には、作業機制御部２０８は、バケット１１３と掘削対象位置との間の距離と作業機１１０の制限速度との関係を示す制限速度テーブルにより、ブーム１１１の垂直方向の制限速度を決定する。
【００４７】
図５は、制限速度テーブルの一例を示す図である。図５に示すように、制限速度テーブルによれば、バケット１１３と掘削対象位置との距離が０のときに作業機１１０の垂直方向成分の速度が０になる。制限速度テーブルにおいて、バケット１１３の最下点が目標施工線の上方に位置するときに、バケット１１３と掘削対象位置との距離は正の値として表される。他方、バケット１１３の最下点が目標施工線の下方に位置するときに、バケット１１３と掘削対象位置との距離は負の値として表される。また制限速度テーブルにおいて、バケット１１３を上方に移動させるときの速度は正の値として表される。バケット１１３と掘削対象位置との距離が正の値である作業機制御閾値ｔｈ以下の場合にはバケット１１３と目標施工線との距離に基づき作業機１１０の制限速度が規定される。バケット１１３と掘削対象位置との距離が作業機制御閾値ｔｈ以上であるとき、作業機１１０の制限速度の絶対値は作業機１１０の目標速度の最大値より大きい値となる。つまり、バケット１１３と掘削対象位置との距離が作業機制御閾値ｔｈ以上である場合、作業機１１０の目標速度の絶対値は常に制限速度の絶対値より小さいため、ブーム１１１は、常に目標速度で駆動する。
【００４８】
作業機制御部２０８は、ブーム１１１とアーム１１２とバケット１１３の目標速度の垂直方向成分の和の絶対値より制限速度の絶対値が小さい場合、制限速度からアーム１１２の目標速度の垂直方向成分とバケット１１３の目標速度の垂直方向成分とを減算することで、ブーム１１１の垂直方向の制限速度を算出する。作業機制御部２０８は、ブーム１１１の垂直方向の制限速度から、ブーム１１１の制限速度を算出する。
【００４９】
バケット制御部２０９は、バケット制御開始条件が満たされたときに、バケット底面１１３Ａと目標施工面の角度の差が一定角度になるようにバケット１１３を制御するバケット制御を開始する。バケット底面１１３Ａと目標施工面の角度の差は、底面法線ベクトルＮｂと施工面法線ベクトルＮｔのなす角φに等しい。バケット制御部２０９は、バケット制御開始条件が満たされたときに、底面法線ベクトルＮｂと施工面法線ベクトルＮｔのなす角φを目標角度として目標角度記憶部２１０に記憶させる。バケット制御部２０９は、ブーム１１１およびアーム１１２の速度に基づいて、バケット１１３の制御速度を決定する。ブーム１１１およびアーム１１２の速度は、ストローク検出器１１７が検出した単位時間当たりのストローク長によって求められる。第１の実施形態に係るバケット制御開始条件は、バケット１１３と掘削対象位置との距離がバケット制御開始閾値未満であり、かつバケットに係る操作量が所定の閾値（操作装置１２１１の遊びに相当する程度の角度）未満であり、かつ作業機制御の実行中であるという条件である。
【００５０】
バケット制御部２０９は、バケット制御終了条件が満たされたときに、バケット制御を終了する。第１の実施形態に係るバケット制御終了条件は、バケット１１３と掘削対象位置との距離がバケット制御終了閾値以上であり、またはバケットに係る操作量が所定の閾値以上であり、または作業機制御を実行していないという条件である。バケット制御開始閾値は、バケット制御終了閾値より小さい値である。バケット制御開始閾値は、作業機制御閾値ｔｈ以下の値である。なお、オペレータの操作等により、作業機制御が行われない場合、バケット制御部２０９は、バケット制御を行わない。
【００５１】
目標角度記憶部２１０は、底面法線ベクトルＮｂと施工面法線ベクトルＮｔのなす角φの目標角度を記憶する。
【００５２】
制御指令出力部２１１は、作業機制御部２０８が生成したブーム１１１の制御指令を油圧装置１２５の電磁比例制御弁に出力する。制御指令出力部２１１は、バケット制御部２０９が生成したバケット１１３の制御指令を油圧装置１２５の電磁比例制御弁に出力する。
【００５３】
《動作》
ここで、第１の実施形態に係る制御装置１２６による油圧ショベル１００の制御方法について説明する。
図６は、第１の実施形態に係る制御装置の動作を示すフローチャートである。制御装置１２６は、所定の制御周期ごとに以下に示す制御を実行する。
操作量取得部２０１は、操作装置１２１１からブーム１１１に係る操作量、アーム１１２に係る操作量、バケット１１３に係る操作量、および旋回に係る操作量を取得する（ステップＳ１）。検出情報取得部２０２は、位置検出器１２２、方位演算器１２３、傾斜検出器１２４、ストローク検出器１１７のそれぞれが検出した情報を取得する（ステップＳ２）。
【００５４】
姿勢特定部２０３は、各油圧シリンダのストローク長からブーム１１１の姿勢角α、アーム１１２の姿勢角β、およびバケット１１３の姿勢角γを算出する（ステップＳ３）。姿勢特定部２０３は、算出した姿勢角α、β、γと、作業機械情報記憶部２００が記憶するアーム１１２の寸法Ｌ１、バケット１１３の寸法Ｌ２、ブーム１１１の寸法Ｌ３、ブーム１１１の形状と、検出情報取得部２０２が取得した車体１２０の位置、方位および傾きとに基づいて、グローバル座標系におけるバケット１１３の輪郭点の位置を算出する（ステップＳ４）。また、姿勢特定部２０３は、バケット１１３の輪郭点の位置に基づいて、底面法線ベクトルＮｂを算出する（ステップＳ５）。
【００５５】
目標施工線特定部２０５は、バケット１１３の輪郭点のうち、グローバル座標系における位置が最も下方に位置するものを特定する（ステップＳ６）。目標施工線特定部２０５は、特定した輪郭点の鉛直下方に位置する目標施工面を特定する（ステップＳ７）。目標施工線特定部２０５は、特定した目標施工面の施工面法線ベクトルＮｔを算出する（ステップＳ８）。次に、目標施工線特定部２０５は、特定した輪郭点と目標施工面とを通るバケット１１３の駆動面と目標施工データとの交線を、目標施工線として算出する（ステップＳ９）。距離特定部２０６は、バケット１１３と掘削対象位置との距離を特定する（ステップＳ１０）。目標速度決定部２０７は、ステップＳ１で操作量取得部２０１が取得した操作量に基づいて、ブーム１１１、アーム１１２およびバケット１１３の目標速度を算出する（ステップＳ１１）。
【００５６】
次に、作業機制御部２０８は、図５に示すテーブルに従って、距離特定部２０６が特定したバケット１１３と掘削対象位置との距離に関連付けられた作業機１１０の制限速度を特定する（ステップＳ１２）。次に、作業機制御部２０８は、アーム１１２およびバケット１１３の目標速度と作業機１１０の制限速度とに基づいてブーム１１１の制限速度を算出する（ステップＳ１３）。作業機制御部２０８は、作業機制御部２０８が生成したブーム１１１の制限速度に基づいて、ブーム１１１の制御指令およびバケット１１３の制御指令を生成する（ステップＳ１４）。
【００５７】
作業機制御部２０８がブーム１１１の制御指令を生成すると、バケット制御部２０９は、以下に示すバケット制御処理を行う（ステップＳ１５）。図７は、第１の実施形態に係るバケット制御処理を示すフローチャートである。
バケット制御部２０９は、ステップＳ１０で距離特定部２０６が特定した距離とステップＳ１で操作量取得部２０１が取得した操作量とに基づいて、油圧ショベル１００の状態がバケット制御開始条件を満たさない状態から当該条件を満たす状態に遷移したか否かを判定する（ステップＳ３１）。油圧ショベル１００の状態がバケット制御開始条件を満たさない状態から当該条件を満たす状態に遷移した場合（ステップＳ３１：ＹＥＳ）、バケット制御部２０９は、ステップＳ５で姿勢特定部２０３が特定した底面法線ベクトルＮｂと、ステップＳ８で目標施工線特定部２０５が特定した施工面法線ベクトルＮｔとがなす角φを目標角度として算出する（ステップＳ３２）。バケット制御部２０９は、目標角度を目標角度記憶部２１０に記憶させる（ステップＳ３３）。そしてバケット制御部２０９は、バケット制御を有効にする（ステップＳ３４）。つまり、バケット制御部２０９は、バケット制御開始条件を満たしたとき以降、バケット底面１１３Ａと目標施工線の角度との差が目標角度記憶部２１０が記憶する目標角度と一致するように、バケット１１３の制御速度を決定する。
【００５８】
他方、油圧ショベル１００の状態がバケット制御開始条件を満たさない状態である場合、または既に当該条件を満たしている場合（ステップＳ３１：ＮＯ）、バケット制御部２０９は、油圧ショベル１００の状態がバケット制御終了条件を満たさない状態から当該条件を満たす状態に遷移したか否かを判定する（ステップＳ３５）。油圧ショベル１００の状態がバケット制御終了条件を満たさない状態から当該条件を満たす状態に遷移した場合（ステップＳ３５：ＹＥＳ）、バケット制御部２０９は、バケット制御を無効にする（ステップＳ３６）。つまり、バケット制御部２０９は、バケット制御終了条件を満たしたとき以降、バケット１１３の制御速度を決定しなくなる。
【００５９】
バケット制御を有効にした場合、バケット制御を無効にした場合、またはバケット制御開始条件の不足から充足への遷移およびバケット制御終了条件の不足から充足への遷移が無い場合（ステップＳ３５：ＮＯ）、バケット制御部２０９は、バケット制御が有効であるか否かを判定する（ステップＳ３７）。バケット制御が無効である場合（ステップＳ３７：ＮＯ）、バケット制御部２０９は、バケット１１３の制御速度を算出せずにバケット制御処理を終了する。他方、バケット制御が有効である場合（ステップＳ３７：ＹＥＳ）、バケット制御部２０９は、ブーム１１１およびアーム１１２の速度に基づいて、ブーム１１１の姿勢角の変化量Δαとアーム１１２の姿勢角の変化量Δβを算出する（ステップＳ３８）。また、バケット制御部２０９は、ステップＳ５で姿勢特定部２０３が特定した底面法線ベクトルＮｂと、ステップＳ８で目標施工線特定部２０５が特定した施工面法線ベクトルＮｔとがなす角φを算出する（ステップＳ３９）。次に、バケット制御部２０９は、目標角度記憶部２１０が記憶する目標角度から、ステップＳ３８で算出した角φ、変化量Δαおよび変化量Δβを減算することで、バケット１１３の姿勢角の変化量Δγを算出する（ステップＳ４０）。バケット制御部２０９は、変化量Δγを速度に変換することで、バケット１１３の制御速度を算出する（ステップＳ４１）。そして、バケット制御部２０９は、バケット１１３の制御速度に基づいてバケット１１３の制御指令を生成し（ステップＳ４２）、バケット制御処理を終了する。
【００６０】
制御装置１２６がバケット制御処理を終了すると、制御指令出力部２１１は、作業機制御部２０８が生成したブーム１１１の制御指令、およびバケット制御部２０９が生成したバケット１１３の制御指令を、油圧装置１２５の電磁比例制御弁に出力する（ステップＳ１６）。
【００６１】
これにより、油圧装置１２５は、ブームシリンダ１１４、アームシリンダ１１５、およびバケットシリンダ１１６を駆動させる。なお、バケット制御が無効となる場合、バケット１１３の制御指令は電磁比例制御弁に出力されない。この場合、電磁比例制御弁は、パイロット油圧の通過を許容する開状態となり、油圧装置１２５は、操作装置１２１１が生成するパイロット油圧に基づいてバケットシリンダ１１６を駆動させる。
【００６２】
《作用・効果》
図８は、第１の実施形態に係る油圧ショベルの挙動の例を示す図である。図８に示す例では、時刻Ｔ１において、バケット１１３は目標施工面Ｇ１の上方に位置するものとする。その後、アーム１１２は掘削方向に駆動し、目標施工面Ｇ１と目標施工面Ｇ２とを接続する変曲点を越える。そして、時刻Ｔ２において、バケット１１３は目標施工面Ｇ２の上方まで移動するものとする。時刻Ｔ１では、制御装置１２６は、底面法線ベクトルＮｂ（Ｔ１）と、目標施工面Ｇ１の施工面法線ベクトルＮｔ（Ｇ１）とのなす角φ（Ｔ１）が目標角度になるように、バケット１１３の制御指令を生成する。その後、時刻Ｔ２では、制御装置１２６は、底面法線ベクトルＮｂ（Ｔ２）と、目標施工面Ｇ２の施工面法線ベクトルＮｔ（Ｇ２）とのなす角φ（Ｔ２）が目標角度になるように、バケット１１３の制御指令を生成する。
このように、第１の実施形態によれば、制御装置１２６は、バケット底面１１３Ａの角度と目標施工面の角度との差が一定角度になるようにバケット１１３を制御する（バケット制御を行う）。これにより、バケット１１３が変曲点を越えることで目標施工面の角度が変化した場合にも、オペレータによる明示の操作なしに、バケット１１３と目標施工面との相対的な角度を一定に保つことができる。
【００６３】
また、第１の実施形態によれば、制御装置１２６は、バケット１１３の角度と対象施工面の角度との差が、目標角度になるように、バケット１１３を制御する。第１の実施形態における目標角度は、油圧ショベル１００の状態がバケット閾値開始条件を満たしたときにおけるバケット底面１１３Ａの角度と目標施工面の角度との差である。これにより、制御装置１２６は、バケット底面１１３Ａと目標施工面との相対的な角度をオペレータの意図に沿った角度に保つことができる。なお、他の実施形態に係る目標角度は、油圧ショベル１００の状態がバケット制御開始条件を満たしたときにおけるバケット１１３の角度と目標施工面の角度との差でなくてよい。例えば、他の実施形態に係る制御装置１２６は、予めオペレータ等によって目標角度記憶部２１０に記憶された角度であってもよい。例えば、目標角度記憶部２１０に目標角度として０度を記憶させておくことで、制御装置１２６は、バケット底面１１３Ａが目標施工面に沿うようにバケット１１３を制御することができる。
【００６４】
また、第１の実施形態によれば、制御装置１２６は、バケット１１３と目標施工面との距離がバケット制御開始閾値未満である場合にバケット制御を行う。バケット１１３が目標施工面に十分に近い場合、オペレータは掘削対象の仕上げ掘削を意図している蓋然性が高い。したがって、制御装置１２６は、バケット１１３が目標施工面に十分に近い場合にバケット制御を行うことで、オペレータによる明示の操作なしに、掘削作業時にバケットの角度を一定に保つことができる。なお、他の実施形態においてバケット制御開始条件は、バケット１１３と目標施工面との距離に関する条件を含まなくてもよい。例えば、他の実施形態においてバケット制御開始条件は、図示しないバケット制御ボタンの押下であってもよい。
【００６５】
また、第１の実施形態によれば、制御装置１２６は、バケット１１３と目標施工面との距離が作業機制御閾値ｔｈ未満である場合に、バケット１１３が施工面より下方に侵入しないように作業機１１０を制御する作業機制御を行う。このとき、バケット制御閾値は、作業機制御閾値ｔｈ以下である。つまり、作業機制御が実行されていない間、バケット制御も実行されない。作業機制御が実行されない範囲においては、オペレータが粗掘削を意図している可能性が高く、仕上げ掘削を意図している可能性は低い。したがって、バケット制御閾値が、作業機制御閾値ｔｈより小さいことで、制御装置１２６は、不要に作業機１１０の角度の制御がなされることを防ぐことができる。他方、他の実施形態に係る制御装置１２６は、作業機制御機能を有しないものであってもよい。また、他方、他の実施形態に係る油圧ショベル１００においては、バケット制御閾値が作業機制御閾値ｔｈより大きいものであってもよい。
【００６６】
また、第１の実施形態によれば、制御装置１２６は、バケット１１３の操作に係る操作量が所定の閾値未満であり、かつバケット１１３と掘削対象位置との距離がバケット制御閾値未満である場合に、バケット制御を実行することとしてもよい。操作装置１２１１によってバケット１１３の操作がなされている場合、オペレータは自らバケットを制御したいという意図を有する蓋然性が高い。したがって、制御装置１２６は、バケット１１３の操作に係る操作量が小さい場合にバケット制御を行うことで、不要にバケット１１３の角度の制御がなされることを防ぐことができる。
【００６７】
〈他の実施形態〉
以上、図面を参照して一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、様々な設計変更等をすることが可能である。
【００６８】
第１の実施形態に係る操作装置１２１１による操作信号の生成方式は、ＰＰＣ方式であるが、これに限られず、例えば電気レバー方式であってもよい。電気レバー方式とは、右側操作レバー１２１２および左側操作レバー１２１３の操作角度をポテンショメータにより検出し、操作信号を生成する方式である。この場合、制御装置１２６は、ブーム１１１、アーム１１２およびバケット１１３の目標速度、ならびにブーム１１１の制限速度およびバケット１１３の制御速度に基づいて、ブーム１１１、アーム１１２およびバケット１１３の制御指令をそれぞれ生成し、これにより電磁比例制御弁を制御する。
【００６９】
第１の実施形態に係る制御装置１２６は、底面法線ベクトルＮｂと施工面法線ベクトルＮｔのなす角φによって、バケット底面１１３Ａの角度と目標施工面の角度の差を特定するが、他の実施形態においてはこれに限られない。例えば、他の実施形態では、底面法線ベクトルＮｂに代えてバケット１１３とアーム１１２とを支持するピンからバケット１１３の刃先に伸びるベクトルを用いてもよい。また例えば、他の実施形態では、バケット底面１１３Ａの傾きと施工面の傾きとをそれぞれ特定することで、バケット底面１１３Ａの角度と目標施工面の角度の差を算出してもよい。
【００７０】
第１の実施形態に係るバケット制御開始条件は、バケット１１３と掘削対象位置との距離がバケット制御開始閾値未満であることを含むが、これに限られず、バケット制御開始条件は、作業機１１０の状態と作業機の制御基準との関係が所定の関係を満たすことを含むものであればよい。例えば、他の実施形態に係るバケット制御開始条件は、バケット１１３と地表との距離がバケット制御開始閾値未満であることなどを含むものであってもよい。この場合、地表は制御基準の一例である。
【００７１】
第１の実施形態に係る制御装置１２６は、ブーム１１１とアーム１１２の速度に基づいてバケット１１３の制御速度を算出するが、これに限られない。例えば、他の実施形態に係る制御装置１２６は、ブーム１１１とアーム１１２の目標速度およびブーム１１１の制限速度に基づいてバケット１１３の制御速度を算出してもよい。
【００７２】
第１の実施形態に係る制御装置１２６は油圧ショベルに限らず作業機を備える作業機械であれば適用可能である。
【産業上の利用可能性】
【００７３】
上記実施形態によれば、制御装置は、運転者による明示の操作なしに、変曲点をまたぐ掘削作業時にバケットの角度を適切に保つことができる。
【符号の説明】
【００７４】
１００…油圧ショベル  １１１…ブーム  １１２…アーム  １１３…バケット  １１４…ブームシリンダ  １１５…アームシリンダ  １１６…バケットシリンダ  １２６…制御装置  ２００…作業機械情報記憶部  ２０１…操作量取得部  ２０２…検出情報取得部  ２０３…姿勢特定部  ２０４…目標施工データ記憶部  ２０５…目標施工線特定部  ２０６…距離特定部  ２０７…目標速度決定部  ２０８…作業機制御部  ２０９…バケット制御部  ２１０…目標角度記憶部  ２１１…制御指令出力部
【図１】
0006989255.tif 000002
【図２】
0006989255.tif 000003
【図３】
0006989255.tif 000004
【図４】
0006989255.tif 000005
【図５】
0006989255.tif 000006
【図６】
0006989255.tif 000007
【図７】
0006989255.tif 000008
【図８】
0006989255.tif 000009