(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0012】
以下,本発明の実施の形態について図面を用いて説明する。以下の説明は本発明の内容の具体例を示すものであり,本発明がこれらの説明に限定されるものではなく,本明細書に開示される技術的思想の範囲内において当業者による様々な変更および修正が可能である。また,本発明を説明するための全図において,同一の機能を有するものは,同一の符号を付け,その繰り返しの説明は省略する場合がある。
【0013】
<第1の実施の形態>
本実施の形態では,作業機械として油圧ショベルを例に説明する。ただし,本発明における作業機械は油圧ショベルに限定するものではなく,例えばブルドーザなど作業装置を持つ他の作業機械にも適用可能である。以下,
図1から
図7までを用いて第1の実施の形態である作業機械について説明する。
【0014】
図1は第1の実施の形態である油圧ショベルの外観を示している。油圧ショベル1は,走行油圧モータ(図示せず)によって駆動されるクローラを含む下部走行体12と,下部走行体12の上部に旋回可能に取り付けられた上部旋回体11と,上部旋回体11の前方に回動可能に取り付けられ掘削などの作業を行う多関節型の作業装置(フロント作業装置)4を備える。上部旋回体11は旋回油圧モータ19(
図2に図示)によって下部走行体12に対して相対的に回転駆動される。
【0015】
作業装置4は,ブーム13,アーム14,バケット15,アーム14とバケット15との間の四節リンク機構を構成する要素の一つであるバケットリンク16,17,ブーム13を駆動するブームシリンダ18a,アーム14を駆動するアームシリンダ18b,バケット15をバケットリンク16,17を介して駆動するバケットシリンダ18c(ブームシリンダ18a,アームシリンダ18b,バケットシリンダ18cをまとめて,適宜油圧シリンダ18という)などから構成されている。
【0016】
ブーム13の一端(基端部)は上部旋回体11に回転可能に支持されている。ブームシリンダ18aのボトム側(基端側)は上部旋回体11に対して,同ロッド側(先端側)はブーム13に対してそれぞれ回転可能に支持されている。ブームシリンダ18aの伸縮に応じて,ブーム13が上部旋回体11に対して相対的に回転駆動される。アーム14の一端(基端部)はブーム13の他端(先端部)に回転可能に支持されている。アームシリンダ18bのボトム側(基端側)はブーム13に対して,同ロッド側(先端側)はアーム14に対してそれぞれ回転可能に支持されている。アームシリンダ18bの伸縮に応じて,アーム14がブーム13に対してそれぞれ相対的に回転駆動される。バケット15はアーム14の他端(先端部)に回転可能に支持されている。バケットリンク16の一端もアーム14の先端部に回転可能に支持されている。更に,バケットリンク16の他端はバケットリンク17の一端に回転可能に支持されており,バケットリンク17の他端はバケット15に回転可能に支持されている。バケットシリンダ18cのボトム側(基端側)はアーム14に対して,同ロッド側(先端側)はバケットリンク16に対してそれぞれ回転可能に支持されている。このように,アーム14,バケットリンク16,17,バケット15は四節リンク機構を構成しており,バケットシリンダ18cの伸縮に応じて,バケットリンク16がアーム14に対して相対的に回転駆動され,それと連動して,四節リンク機構を構成しているバケット15もアーム14に対して相対的に回転駆動される。このような構成である油圧ショベル1はブームシリンダ18a,アームシリンダ18b,バケットシリンダ18cのそれぞれを適切なストローク長さにまで駆動することにより,バケット15を任意の位置,姿勢に駆動し,掘削などの所望の作業を行うことができる。
【0017】
なお,以下では,ブーム13,アーム14及びバケット(作業具)15をそれぞれフロント部材と称することがある。また,ブーム13,アーム14及びバケット15は,作業装置4を含む平面上で動作し,以下ではこの平面を動作平面と称することがある。つまり動作平面とは,ブーム13,アーム14及びバケット15の回動軸に直交する平面であり,例えばブーム13,アーム14及びバケット15の幅方向の中心(すなわち各フロント部材13,14,15の回動軸の中心)に設定できる。
【0018】
上部旋回体11には二つのGNSS(Global Navigation Satellite System:全地球航法衛星システム)アンテナ2a,2b(これらをまとめて,適宜GNSSアンテナ2という)が配置されている。GNSSとは複数の衛星からの信号を受信し,地球上の自己位置を知る衛星測位システムを指す。GNSSアンテナ2は,地球上空に位置する複数のGNSS衛星(図示しない)からの信号(電波)を受信するものであり,得られた信号をGNSSコントローラ53(
図2に図示)に送り,GNSSコントローラ53でこれらの信号から各アンテナ2a,2bの位置が演算される。
【0019】
上部旋回体11には,上部旋回体11の傾斜(傾斜角)を計測するための車体IMU3a(Inertial Measurement Unit,慣性計測装置)が取り付けられている。同様に,ブーム13にはブーム13の傾き(傾斜角)を計測するためのブームIMU3b,アーム14にはアーム14の傾き(傾斜角)を計測するためのアームIMU3c,バケットリンク16にはバケットリンク16の傾き(傾斜角)を計測するためのバケットIMU3dが取り付けられている(IMU3aから3dをまとめて,適宜IMU3という)。IMU3は加速度や角速度を計測できるセンサユニットであり,IMU3が取得した情報はガイダンスコントローラ52(
図2に図示)に出力されている。IMU3は作業装置4の姿勢センサとして機能し得る。
【0020】
図2は第1の実施の形態の油圧ショベルの油圧システムの構成図である。油圧ショベル1は,エンジン41,油圧ポンプ42,43を備える。油圧ポンプ42,43はエンジン41により駆動され,タンクから汲み上げた圧油を油圧回路内に供給する。
【0021】
また,油圧ショベル1は,複数の操作レバー44a−44dからなる操作装置44と,油圧ショベル1に搭載された油圧シリンダ18及び油圧モータ19を含む油圧アクチュエータに供給する作動油の流量及び方向を制御する方向制御弁45と,方向制御弁45に作用されるパイロット油の圧力を制御する複数の制御弁(電磁弁)47と,油圧ショベル1の車体制御を司り,複数の制御弁47に対する制御信号(指令電流または指令電圧)を出力する車体コントローラ51と,油圧ショベル1の運転席内に搭載されたガイダンス用のモニタ(ガイダンスモニタ)54とスピーカ(音声出力装置)55の制御を司り,車体コントローラ51に作業装置4の位置情報,設計面60の位置情報,及び油圧シリンダ18の制御を切り替えるトリガーとなる状態切替信号等を出力するガイダンスコントローラ52と,2つのGNSSアンテナ2の位置を演算するGNSSコントローラ53を備える。
【0022】
図2において,操作装置44には,アーム14(アームシリンダ18b)を操作するためのアーム操作レバー44aと,ブーム13(ブームシリンダ18a)を操作するためのブーム操作レバー44bと,バケット15(バケットシリンダ18c)を操作するためのバケット操作レバー44cと,上部旋回体11(旋回油圧モータ19)を操作するための旋回操作レバー44d(これらをまとめて操作レバー44と称することがある)が含まれる。操作レバー44には油圧ポンプ42からのパイロット油が供給され,操作レバー44がオペレータに操作されると,油圧ポンプ42からのパイロット油がレバー操作量に応じて適宜減圧されて方向制御弁45に流れる仕組みとなっている。なお,
図2では下部走行体12に搭載された左右の走行油圧モータをそれぞれ操作する2つの走行操作レバーは省略している。
【0023】
方向制御弁45は油圧ポンプ43から各油圧シリンダ18及び旋回油圧モータ19に供給される作動油の量及び方向を制御するものであり,操作レバー44から出力されるパイロット油に応じて,油圧シリンダ18及び旋回油圧モータ19のどのアクチュエータにどれだけの作動油をどの方向に流すかが決定される。このため,操作レバー44を操作することで各油圧シリンダ18及び旋回油圧モータ19を所望の方向に所望の量だけ駆動することができる。すなわち,オペレータは操作装置44を介して作業装置4を操って任意の姿勢をとらせることができ,その結果として所望の作業を行うことが可能となる。
【0024】
油圧ポンプ42と各操作レバー44とを接続する油路には遮断弁46が設けられている。遮断弁46が閉じられると,油圧ポンプ42から各操作レバー44へのパイロット油の供給は停止する。これにより,操作レバー44を操作しても方向制御弁45にパイロット油が流れず,油圧シリンダ18や旋回油圧モータ19が駆動されない状態を作ることができる。遮断弁46は油圧ショベル1への乗降時にオペレータに操作されるロックレバー(図示しない)の位置に応じて物理的に開閉駆動される構成でもよいし,車体コントローラ51から出力される制御信号によって適宜電気的に開閉駆動される構成としてもよい。
【0025】
アーム操作レバー44aから方向制御弁45にパイロット油を供給する2系統の油路のうち,アーム曲げ操作時(アームクラウド操作時)にパイロット油が流れる一方の油路には制御弁47aが,アーム伸ばし操作時(アームダンプ操作時)にパイロット油が流れる他方の油路には制御弁47bが挿入されている。ブーム操作レバー44bから方向制御弁45にパイロット油を供給する2系統の油路のうち,ブーム下げ操作時にパイロット油が流れる一方の油路には制御弁47cが挿入されており,ブーム上げ操作時にパイロット油が流れる他方の油路にはシャトル弁48aが挿入されている。このシャトル弁48aの一方の入口は制御弁47dを介して油圧ポンプ42に接続されている。バケット操作レバー44cから方向制御弁45にパイロット油を供給する2系統の油路のうち,バケットクラウド操作時にパイロット油が流れる一方の油路には制御弁47fとシャトル弁48bが直列に接続され,バケットダンプ操作時にパイロット油が流れる他方の油路には制御弁47gとシャトル弁48cが直列に接続されている。シャトル弁48bの一方の入口は制御弁47eを介して油圧ポンプ42に接続され,シャトル弁48cの一方の入口は制御弁47hを介して油圧ポンプ42に接続されている(以下では,適宜,8つの制御弁47a−47hをまとめて制御弁47と,3つのシャトル弁48a−48cをまとめてシャトル弁48と称することがある)。シャトル弁48は,2つの入口と1つの出口をもち,2つの入口のうち高圧側の入口が出口に接続されるものである。
【0026】
各制御弁47は,車体コントローラ51と電気的に接続された電磁弁であり,車体コントローラ51から出力される制御信号(指令電圧または指令電流)に基づいてその弁開度が制御され,その弁開度に応じたパイロット圧を生成する。生成されたパイロット圧は半自動制御時に方向制御弁45に出力される。制御弁47a,47b,47c,47f,47gの弁開度を小さくすれば操作レバー44からのパイロット油の流量を少なくすることができる。これはつまり,オペレータの操作レバー44の操作入力によって規定される速度よりも,実際に動く作業装置4の速度を車体コントローラ51が遅くしたり停止させたりすることができるということである。残りの制御弁47d,47e,47hは操作レバー44を介さず直接油圧ポンプ42に接続されているため,その弁開度を大きくすれば方向制御弁45にパイロット油を送ることができる。これはつまり,オペレータの操作レバー44の操作入力によって規定される速度よりも,実際に動く作業装置4の速度を車体コントローラ51が速くすることができるということである。このような構成により,車体コントローラ51はオペレータの操作に対して実際の作業装置4の速度を速くしたり遅くしたり(止めたり)することが可能となる。
【0027】
遮断弁46の下流側と各制御弁47の上流側及び下流側には,遮断弁46及び各制御弁47の前後の圧力(パイロット圧)を検出する複数の油圧センサ(圧力センサ)49が設けられている。油圧センサ49aは遮断弁46の下流に設置されており,遮断弁46が正しく開いているかどうかの確認に用いられる。油圧センサ49b,49cはアーム操作速度の取得,油圧センサ49d,49jはブーム操作速度の取得,油圧センサ49e,49fはバケット操作速度の取得に用いられる。油圧センサ49g〜49lは制御弁47によって制御された後の実際の指令速度の取得に用いられる。各油圧センサ49b〜49lで検出された圧力から指令速度への変換は予めキャリブレーションなどを行って用意された変換テーブルによって行われる。
【0028】
操作装置44への操作入力に基づいてアクチュエータ(油圧シリンダ)18a,18b,18cを制御する手動制御(第1制御)では,車体コントローラ51が制御弁47a,47b,47c,47f,47gの弁開度を最大(開放)に,制御弁47d,47e,47hの弁開度を最小(遮断)に設定することで,操作レバー44からのパイロット圧がそのまま方向制御弁45に流れ,オペレータの操作通りに作業装置4を操作できる状態となる。一方,操作装置44の操作中に当該操作とは無関係に又は当該操作の一部を利用して,所定の条件(本実施形態では設計面60とバケット先端150の距離d(後述))に従ってアクチュエータ(油圧シリンダ)18a,18b,18cを制御する半自動制御(第2制御)では,車体コントローラ51が当該所定の条件を満たす各アクチュエータ18a,18b,18cの目標速度を演算し,その演算した目標速度に応じた弁開度に制御弁47を設定することで,当該所定の条件に従って作業装置4を制御できる状態となる。つまり,車体コントローラ51はアクチュエータ(油圧シリンダ)18a,18b,18cの制御を手動制御と半自動制御の2つの制御のいずれか一方に切り換えることが可能である。車体コントローラ51に対して2つの制御のいずれを使用するかの指示は,上部旋回体11上の運転室内に設けられた切り替えスイッチ56(
図3に図示)を介してオペレータが行うことができる。また,車体コントローラ51内の状態遷移部51a(
図3に図示)に入力される状態遷移信号(後述)に基づいて2つの制御が切り替えられることもある。
【0029】
車体コントローラ51、ガイダンスコントローラ52及びGNSSコントローラ53は,それぞれ,処理装置(例えばCPU)と,処理装置が実行するプログラム及びそのプログラムの実行に必要なデータ等が格納される記憶装置(例えばROM,RAM等の半導体メモリ)を有するコンピュータ相当のハードウェアである。
図3は車体コントローラ51、ガイダンスコントローラ52及びGNSSコントローラ53によって実行される各種演算処理を機能ブロックで示した図である。なお,本実施形態では実機に即して3つのコントローラ51,52,53を備えたが,これらを例えば1つのコントローラに統合しても良いし,さらに機能を分離して4つ以上のコントローラで同様の機能を実現できるシステムを構成しても良い。
【0030】
<GNSSコントローラ53>
GNSSコントローラ53は,2つのアンテナ2が受信した信号から2つのアンテナ2の位置を測定するための測位用のコントローラである。なお,アンテナ測位の方法には様々な種類が存在し,本発明はこれらを限定するものではない。例えば現場に設置したGNSSアンテナを有する基準局から補正情報を受信し,より高精度に自己位置を取得するRTK−GNSS(Real Time Kinematic−GNSS)という手法を用いてもよい。この場合,油圧ショベル1には基準局からの補正情報を受信するための受信機が必要となるが,より精度良くアンテナ2の自己位置を測定できる。
【0031】
GNSSコントローラ53は
図3に示すように緯度経度演算部53aを備えている。GNSSコントローラ53は,緯度経度演算部53aにおいて,GNSSアンテナ2a,2bから入力した複数のGNSS衛星からの信号を基にGNSSアンテナ2a,2bの地球上の位置(例えば緯度,経度,標高)を演算し,その結果をガイダンスコントローラ52へ送信する。
【0032】
<ガイダンスコントローラ52>
ガイダンスコントローラ52は,
図3に示すように,IMU3及びGNSSコントローラ53の出力に基づいて作業装置4の各フロント部材13,14,15の位置及び姿勢を演算する作業装置位置姿勢演算部52aと,油圧ショベル1の施工対象の目標形状を示す3次元の設計データが記録された設計データ記憶部52bと,設計データ記憶部52bに格納された3次元の設計データと作業装置4の動作平面の交線から2次元の設計面データ(設計面の線分データ)を演算する設計面演算部52cと,IMU3やGNSSコントローラ53の動作状況やバケット先端150付近の設計面60の有無等を管理するガイダンス状態管理部52dを備えている。
【0033】
ガイダンスコントローラ52は上部旋回体11のどの位置にGNSSアンテナ2が配置されているかという情報を記憶装置に格納しており,作業装置位置姿勢演算部52aはGNSSコントローラ53から入力されるGNSSアンテナ2の位置から逆算して,上部旋回体11の地球上の位置(地理座標系上の位置)を求めることができる。これによりGNSSアンテナ2は作業装置4及びそれが取り付けられた上部旋回体11の位置センサとして機能し得る。本実施形態の油圧ショベル1にはGNSSアンテナ2が2つ搭載されていることから,2つのGNSSアンテナ2の位置から上部旋回体11の方位(ブーム13,アーム14,バケット15がどの方向を向いているか)も知ることができる。GNSSコントローラ53によって演算された地理座標系上の上部旋回体11の位置と方位は適宜任意の座標系上の位置と方位に変換して利用することもできる。
【0034】
また,作業装置位置姿勢演算部52aは,IMU3から入力した加速度,角速度などの計測情報を基に各IMU3の自己姿勢を演算できる。このため,作業装置位置姿勢演算部52aは車体IMU3aからの情報により上部旋回体11の前後傾斜,左右傾斜を演算でき,ブームIMU3bからの情報によりブーム13の回転姿勢,アームIMU3cからの情報によりアーム14の回転姿勢を演算できる。また,作業装置位置姿勢演算部52aは,バケットIMU3dからの情報によりバケットリンク16の回転姿勢を知ることができ,アーム14の回転姿勢と,アーム14,バケットリンク16,17及びバケット15からなる四節リンク機構の寸法情報とを基に演算することで,バケット15の回転姿勢を演算できる。
【0035】
このようにして,作業装置位置姿勢演算部52aは,地理座標系における上部旋回体11の位置,方位,前後傾斜,左右傾斜を演算でき,上部旋回体11が地球上のどの位置にどのような姿勢で存在するかを演算できる。また,ブーム13,アーム14,バケット15のそれぞれの回転中心及びバケット先端(バケット爪先とも称する)150のうち作業装置4の動作平面上で隣接するもの同士の寸法情報がガイダンスコントローラ52内の記憶装置に記憶されている。そのため,作業装置位置姿勢演算部52aは,各IMU3で取得される各フロント部材13,14,15の回転姿勢の情報と組み合わせることで上部旋回体11(例えばブーム13の基端側の回転中心の位置)に対するバケット先端150の位置を知ることができる。
【0036】
したがって,作業装置位置姿勢演算部52aは,地理座標系における上部旋回体11と作業装置4の各フロント部材13,14,15の位置,姿勢及び方位の情報(バケット先端150の位置情報を含む)を求めることができる。これらの情報は,ガイダンスコントローラ52内のガイダンス状態管理部52d及び設計面演算部52c,車体コントローラ51内の目標動作生成部51c,ガイダンスモニタ54等に出力される。
【0037】
設計面演算部52cは,作業装置位置姿勢演算部52aから入力されるフロント部材13,14,15の位置,姿勢及び方位の情報から最新の作業装置4の動作平面を演算し,その動作平面と設計データ記憶部52bに格納された3次元の設計データとの交線から半自動制御に利用する設計面60の線分データを演算する。設計面演算部52cは設計面60の線分データをガイダンスモニタ54や車体コントローラ51内の目標動作生成部51c等に出力する。
【0038】
ガイダンス状態管理部52dは,IMU3やGNSSコントローラ53の動作状況やバケット先端150付近の設計面60の有無等を管理している。ガイダンス状態管理部52dは,各IMU3のセンサ出力を監視して,IMU3に異常が発生しているか否かを判断する。例えば,IMU3からの信号の停止が検知された場合には,IMU3の機能停止や断線などによりIMU3に異常が生じたと判断する。IMU3に異常が生じたと判断した場合,ガイダンス状態管理部52dは第1状態切替信号を車体コントローラ51内の状態遷移部51aに出力する。
【0039】
「第1状態切替信号」は,半自動制御による油圧シリンダ18の制御に必要なハードウェア及びソフトウェアに異常が発生して半自動制御の実行が不可能な状態になったため,半自動制御を強制的に手動制御に切り替える信号である。換言すると,車体コントローラ51による半自動制御の実行を禁止し,手動制御の実行のみを許可する半自動制御禁止モード(手動制御モード)への強制的な切り替え信号でもある。本実施形態における状態切替信号にはさらに第2状態切替信号と第3切替信号がある。「第2状態切替信号」は,オペレータが所望する任意のタイミングで半自動制御を手動制御に切り替える信号である。換言すると,半自動制御を許可する半自動制御許可モード(半自動制御モード)を,半自動制御を禁止する半自動制御禁止モード(手動制御モード)に任意に切り替える信号でもある。「第3状態切替信号」は,オペレータが所望する任意のタイミングで手動制御を半自動制御に切り替える信号である。換言すると,半自動制御を禁止する半自動制御禁止モード(手動制御モード)を,半自動制御を許可する半自動制御許可モード(半自動制御モード)に任意に切り替える信号でもある。
【0040】
また,ガイダンス状態管理部52dは,GNSSコントローラ53から入力されるアンテナ2の測位情報を監視して,アンテナ2の測位に異常が発生しているか否かを判断する。例えば,GNSSコントローラ53からの信号の停止が検知された場合,GNSSコントローラ53から入力される測位精度が所定の閾値を下回って低下した場合,アンテナ2の測位が不能であることを示す情報がGNSSコントローラ53から入力された場合には,アンテナ2の測位(GNSS)に異常が生じたと判断する。GNSSに異常が生じたと判断した場合,ガイダンス状態管理部52dは第1状態切替信号を車体コントローラ51内の状態遷移部51aに出力する。なお,GNSSについてはGNSSコントローラ53内で異常を検知し,それをガイダンスコントローラ52内のガイダンス状態管理部52dに伝えてもよいし,車体コントローラ51内の状態遷移部51aに直接伝えても良い。
【0041】
また,ガイダンス状態管理部52dは,設計面演算部52cから入力される設計面60の位置情報と,作業装置位置姿勢演算部52aから入力されるバケット15の位置情報・姿勢情報(バケット先端150の位置情報を含む)を監視して,バケット15の近傍に半自動制御の制御対象となる設計面60が存在しているか否かを判断する。例えば,設計面60が存在する領域R(
図8参照。但し
図8の設計面の符号は61)をその鉛直方向から見て,バケット15上の任意の点が当該領域の外に出た場合,バケット15の近傍に設計面60が存在しない(換言すれば,設計面60が存在する領域の外にバケット15が存在する)と判断することができる。バケット15の近傍に設計面60が存在しないと判断した場合,ガイダンス状態管理部52dは第1状態切替信号を車体コントローラ51内の状態遷移部51aに出力する。
【0042】
<ガイダンスモニタ・スピーカ>
ガイダンスモニタ54は、現在の作業装置4の姿勢やバケット先端150近傍の設計面60(設計データ)の形状や,バケット先端150と設計面60との距離情報(d)などが表示されるモニタである。本実施形態では,オペレータからの入力操作を受け付ける機能を有するタッチパネル式のモニタで構成されており,処理装置(例えばCPU)と,処理装置が実行する表示や入力関係のプログラム及びそのプログラムの実行に必要なデータ等が格納される記憶装置(例えばROM,RAM等の半導体メモリ)を有するコンピュータ相当のハードウェアを内蔵している。ガイダンスモニタ54は,モニタに表示する情報を制御する表示制御部54aと,モニタに入力されるオペレータのタッチ操作を入力情報に変換する入力情報処理部54bを備えている。
【0043】
表示制御部54aは,ガイダンスコントローラ52から入力される設計データや油圧ショベル1の作業装置4の姿勢,バケット先端150と設計データとの相対位置関係などの情報をガイダンスモニタ54に表示する。例えば,設計面60の線分データとバケット15の側面画像を表示することで,バケット15と設計面60の最新の位置関係をオペレータに報せることができる。オペレータはガイダンスモニタ54から得られるこれらの情報を基に,例えば設計データ(設計面60)とバケット先端150との距離dがゼロに保持されるように作業装置4を操作することで,設計データ通りの目標形状となるように掘削作業を行うことができる。
【0044】
また,ガイダンスコントローラ52は,スピーカ55を用いて設計面60とバケット先端150との相対位置関係をアラームの音量,発音間隔,音色の変化などでオペレータへ伝達することもできる。例えば,バケット先端150が設計面60に近づくほど,音量を大きくしたり,発音間隔を短くしたり,周波数を高くしたりすることができる。これによりオペレータはガイダンスモニタ54を注視しなくても,スピーカ55からのアラームの変化によって,例えば目標形状とバケット先端150との距離がゼロとなるように作業装置4を操作することができる。
【0045】
ガイダンスコントローラ52は,設計データ(設計面60)や作業装置4の姿勢,設計面60とバケット先端150と相対位置関係などの情報を車体コントローラ51に送信する。車体コントローラ51では,半自動制御(第2制御)において,これらの情報を基に例えば設計面60とバケット先端150との距離dがゼロとなるように作業装置4を制御し,設計データ通りの目標形状となるような掘削作業をオペレータの操作によらず,またはオペレータの操作に介入して行うことができる。次に車体コントローラ51で行われる半自動制御の詳細について説明する。
【0046】
<車体コントローラ>
車体コントローラ51は,操作装置44への操作入力に基づいてアクチュエータ(油圧シリンダ)18a,18b,18cを制御する手動制御(第1制御)と,操作装置44の操作中に設計面60と作業装置4(バケット先端150)との距離dに基づいてアクチュエータ(油圧シリンダ)18a,18b,18cを制御する半自動制御(第2制御)の2つの制御のいずれか一方によってアクチュエータ(油圧シリンダ)18a,18b,18cを制御する。この機能を発揮するために,車体コントローラ51は,状態切替信号(第1,第2,第3状態切替信号)の入力に基づいて手動制御(第1制御)と半自動制御(第2制御)を切り替える状態遷移部51aと,手動制御と半自動制御が切り替わる際の油圧シリンダ(アクチュエータ)18a−18cの速度の時間変化率の制限値を設定する速度遷移部51bと,油圧シリンダ(アクチュエータ)18a−18cの目標速度を演算する目標動作生成部51cと,油圧シリンダ(アクチュエータ)18a−18cを目標速度で動作するための制御弁47への制御指令を演算・出力するアクチュエータ制御部51dを備えている。
【0047】
状態遷移部51aは,目標動作生成部51cで行われる油圧シリンダ(アクチュエータ)18a−18cの制御方式を切替スイッチ56及びガイダンスコントローラ52内のガイダンス状態管理部52d及び車体コントローラ51内の目標動作生成部51cから入力される状態切替信号(第1,第2,第3状態切替信号)に基づいて手動制御(第1制御)と半自動制御(第2制御)のいずれかに切り替える。第1状態切替信号は,ガイダンスコントローラ52内のガイダンス状態管理部52dと,車体コントローラ51内の目標動作生成部51cから入力される。第2及び第3状態切替信号は,油圧ショベル1の運転席内に設置された切り替えスイッチ56から入力される。
【0048】
切り替えスイッチ56は,任意のタイミングでオペレータによって操作される2位置切替式のスイッチであり,半自動制御を禁止する半自動制御禁止モード(手動制御モード)が選択される第1位置と,半自動制御を許可する半自動制御許可モード(半自動制御モード)が選択される第2位置を有する。切替スイッチ56が第2位置から第1位置へ切り替えられると第2状態切替信号が状態遷移部51aに対して出力される。一方,切替スイッチ56が第1位置から第2位置へ切り替えられると第3状態切替信号が状態遷移部51aに対して出力される。
【0049】
第1及び第2状態切替信号を入力した状態遷移部51aは,状態切替信号の入力時に半自動制御(第2制御)が実行中の場合には半自動制御(第2制御)を手動制御(第1制御)に切り替え,状態切替信号の入力時に手動制御(第1制御)が実行中の場合にはそれ以後の半自動制御の実行を禁止する。一方,第3状態切替信号を入力した状態遷移部51aは,状態切替信号の入力時に半自動制御が実行される条件が満たされている場合には手動制御(第1制御)から半自動制御(第2制御)に切り替え,状態切替信号の入力時に半自動制御が実行される条件が満たされていない場合には手動制御(第1制御)を継続する。
【0050】
速度遷移部51bは,手動制御と半自動制御からなる2つの制御が状態遷移部51aによって切り替えられ,制御対象のアクチュエータ(油圧シリンダ)18a,18b,18cの速度が2つの制御のうち切り替え前の制御が規定する速度から切り替え後の制御が規定する速度に変化するときにおける当該アクチュエータ(油圧シリンダ)18a,18b,18cの速度の時間変化率の制限値(「速度変化率」とも称する)を第1変化率I1に設定する。そして,速度遷移部51bは,状態遷移部51aによって2つの制御が切り替えられ当該アクチュエータ(油圧シリンダ)18a,18b,18cの速度が,切り替え後の制御が規定する速度に変化するまでの間に操作装置44への操作入力が変化した場合,当該アクチュエータ(油圧シリンダ)18a,18b,18cの速度の時間変化率を,第1変化率I1から第1変化率よりも大きい第2変化率I2に変更する。2つの制御の切り替え時の速度変化率が第1変化率I1から第2変化率I2に変更されると,2つの制御間で速度の切り換えに要する時間を短縮することができるとともに,速度の切り換え後の制御を開始するまでの待ち時間を短縮できる。
【0051】
目標動作生成部51cは,手動制御時の各油圧シリンダ18a,18b,18cの目標速度と,半自動制御時の各油圧シリンダ18a,18b,18cの目標速度を演算する部分である。手動制御と半自動制御のいずれの制御を利用するかは状態遷移部51aからの指示に基づいて決定する。
【0052】
<半自動制御時の目標動作生成部51c>
半自動制御時において,目標動作生成部51cは,ガイダンスコントローラ52から入力される情報に基づいて設計面60と作業装置4(バケット先端150)との距離dを演算する。そして,操作装置44の操作時に,作業装置4の動作範囲が設計面60上及びその上方に制限されるように各油圧シリンダ18a,18b,18cの目標速度を距離dに応じて演算する。本実施の形態では下記の演算を行う。
【0053】
まず,目標動作生成部51cは,まず,操作レバー44bから入力される電圧値(ブーム操作量)からブームシリンダ18aへの要求速度(ブームシリンダ要求速度)を計算し,操作レバー44cから入力される電圧値(アーム操作量)からアームシリンダ18bへの要求速度を計算し,操作レバー44dから入力される電圧値(バケット操作量)からバケットシリンダ18cへの要求速度を計算する。この3つの要求速度と作業装置位置姿勢演算部52aで演算された作業装置4の各フロント部材13,14,15の姿勢から,バケット先端150における作業装置4の速度ベクトル(要求速度ベクトル)V0(
図5の左の図参照)を計算する。そして,速度ベクトルV0の設計面鉛直方向の速度成分V0zと設計面水平方向の速度成分V0xも計算する。
【0054】
次に,目標動作生成部51cは,距離dに応じて決定される補正係数kを演算する。
図4はバケット先端150と設計面60の距離dと速度補正係数kとの関係を表すグラフである。バケット先端150(作業装置4の制御点)が設計面60の上方に位置している時の距離を正,設計面60の下方に位置している時の距離を負として,距離dが正の時は正の補正係数を,距離dが負の時は負の補正係数を,1以下の値として出力する。なお,速度ベクトルは設計面60の上方から設計面60に近づく方向を正としている。
【0055】
次に,目標動作生成部51cは,距離dに応じて決定される補正係数kを,速度ベクトルV0の設計面鉛直方向の速度成分V0zに乗ずることによって速度成分V1z(
図5の右の図参照)を計算する。この速度成分V1zと,速度ベクトルV0の設計面水平方向の速度成分V0xとを合成することで合成速度ベクトル(目標速度ベクトル)V1を計算し,この合成速度ベクトルV1を発生可能なブームシリンダ速度と,アームシリンダ速度(Va1)と,バケットシリンダ速度をそれぞれ目標速度として演算する。この目標速度の演算の際には,作業装置位置姿勢演算部52aで演算された作業装置4の各フロント部材13,14,15の姿勢を利用しても良い。目標動作生成部51cは,計算した各油圧シリンダの目標速度をアクチュエータ制御部51dに出力する。
【0056】
図5はバケット先端150における距離dに応じた補正前後の速度ベクトルを表す模式図である。要求速度ベクトルV0の設計面鉛直方向の成分V0z(
図5の左の図参照)に速度補正係数kを乗じることにより,V0z以下の設計面鉛直方向の速度ベクトルV1z(
図5の右の図参照)が得られる。V1zと要求速度ベクトルV0の設計面水平方向の成分のV0xとの合成速度ベクトルV1を計算し,V1を出力可能なアームシリンダ目標速度と,ブームシリンダ目標速度と,バケットシリンダ目標速度とが計算される。
【0057】
<手動動制御時の目標動作生成部51c>
手動制御時において,目標動作生成部51cは,まず,操作レバー44bから入力される電圧値(ブーム操作量)からブームシリンダ18aの目標速度(半自動制御のブームシリンダ要求速度と同じ)を計算し,操作レバー44cから入力される電圧値(アーム操作量)からアームシリンダ18bの目標速度(半自動制御のアームシリンダ要求速度と同じ)を計算し,操作レバー44dから入力される電圧値(バケット操作量)からバケットシリンダ18cの目標速度(半自動制御のバケットシリンダ要求速度と同じ)を計算する。目標動作生成部51cは,計算した各油圧シリンダの目標速度をアクチュエータ制御部51dに出力する。
【0058】
<異常検出時の目標動作生成部51c>
また,目標動作生成部51cは,遮断弁46及び各制御弁47の前後に配置され,遮断弁46及び各制御弁47の前後の圧力(パイロット圧)を検出する複数の油圧センサ(圧力センサ)49と,遮断弁46と,複数の制御弁47とを含む半自動制御に必要なハードウェアの異常の有無を管理している。目標動作生成部51cは,車体コントローラ51(例えばアクチュエータ制御部51d)が遮断弁46及び各制御弁47に出力している制御信号(例えば指令電流)が規定するパイロット圧の値(目標値)と,各油圧センサ49が検出するパイロット圧の値(実際の値)とを比較することで遮断弁46及び各制御弁47及び各油圧センサ49に異常が発生したか否かを判断する。例えば,油圧センサ49による制御弁47の上流側の圧力検出値が十分高い状態で,車体コントローラ51からは制御弁47の下流側で一定の圧力を出力するように規定する指令電流を制御弁47に出力していた場合に,油圧センサ49による制御弁47の下流側の圧力検出値が指令値よりも明らかに高いまたは低いときには,制御弁47又は油圧センサ49に異常が発生している(正常でない)と推定できる。なお,目標動作生成部51cは,自身(目標動作生成部51c)が演算したアクチュエータ目標速度と,各油圧センサ49が検出するパイロット圧の値(実際の値)とを比較することで各制御弁47及び各油圧センサ49に異常が発生したか否かを判断しても良い。このように目標動作生成部51cは,半自動制御によってアクチュエータ(油圧シリンダ)18a,18b,18cが制御されている間に,車体コントローラ51で生成された制御信号が規定する圧力値と油圧センサ49の検出値とを比較して,遮断弁46,制御弁47及び油圧センサ49のいずれかに異常が発生したと判定した場合,半自動制御(第2制御)を手動制御(第1制御)に切り替える第1状態切替信号を状態遷移部51aに出力する。
【0059】
アクチュエータ制御部51dは,目標動作生成部51cで演算された各油圧シリンダ18a,18b,18cの目標速度に基づいて,各制御弁47への制御信号(制御弁指令電流)を演算し,その制御信号を対応する制御弁47に出力することで方向制御弁45を制御する部分である。このように制御される方向制御弁45によって,各油圧シリンダ18a,18b,18cは目標動作生成部51cで計算された目標速度に従って動作する。
【0060】
図6は油圧ショベル1と設計面(設計データ)60との関係を示す図である。施工対象の目標形状を示す設計面60には,一つの面からなる単平面データや,複数の面を組合せた複数面データなどがある。
図6においては,平面60が設計面としてガイダンスコントローラ52に記録されているとし,この平面60を目標形状として作業装置4を制御する例について以下で説明する。
【0061】
<手動制御による設計面の掘削>
手動制御(第1制御)の油圧ショベル1によって目標形状を達成する掘削作業を行うには,ブーム13,アーム14,バケット15からなる作業装置4を適切に動作させ,バケット先端150が目標形状に沿うように動かすことが必要となる。つまり,平面60とバケット先端150との距離dが常にゼロとなるようにバケット15が動作すれば,バケット先端150の通った軌跡,つまり掘削仕上げ面は平面60と一致する。本実施の形態に係わる油圧ショベル1にはガイダンスモニタ54が備わっており,前述の通りガイダンスモニタ54に現在の作業装置4の姿勢情報や目標形状の情報,及び目標形状とバケット先端150との相対位置関係(距離dの情報)などが表示される。このため,手動制御においては,オペレータはこれらの情報を適宜参照することによって,アーム曲げ操作(アームクラウド操作)によってバケット15を車体側に引き寄せる動作を行いながら,ブーム上げ/下げ操作によって距離dがなるべくゼロになるよう調整することで,目標形状を達成する掘削作業を行うことができる。
【0062】
<半自動制御による設計面の掘削>
一方,半自動制御(第2制御)においては,オペレータは手動制御時の同様にアーム曲げ操作を行うが,ブーム上げ/下げ操作による距離dの調整を行う必要はなく,ブーム13の移動速度は車体コントローラ51によって制御される。
図6の油圧ショベル1の作業装置4の姿勢においてオペレータがアーム曲げ操作を行うと,ブーム13とアーム14とを回転支持する関節140を中心にアーム14が平面60に近づく方向に駆動され,その結果バケット15も平面60に近づくので距離dはゼロに近づく。そのままアーム14が駆動されるとバケット先端150は平面60を通り過ぎ,距離dは離れていく。
【0063】
ここで,距離dに応じて適切な速度でブーム13(ブームシリンダ18a)が駆動されれば,距離dをゼロ付近に保ちつつ掘削作業を行うことができる。本実施の形態では,ガイダンスコントローラ52から得られる作業装置4の現在の姿勢やアーム14の移動速度,設計面60や距離dを含む設計面60と作業装置4との相対位置関係などの情報を基に,車体コントローラ51が距離dをゼロ付近に保つようなブームシリンダ18aの目標速度を演算し,制御弁47c,47dの弁開度を制御することによって演算された目標速度通りにブームシリンダ18aを駆動する。
【0064】
ここで,
図7に示すように,バケット先端150と関節140とを結んだ直線Lと平面60とが直交するときの作業装置4の姿勢を直交姿勢ということとする。一連の掘削作業の中で,アーム曲げ操作に対して,直交姿勢になる瞬間まではブーム上げ動作,直交姿勢になった直後からはブーム下げ動作を行うことで,バケット先端150を平面60に沿うように動作させることができる。
【0065】
ブーム上げ動作については,車体コントローラ51が制御弁47dの弁開度を大きくすることによって実行できる。
【0066】
しかし,ブーム下げ動作については,車体コントローラ51が制御弁47cの弁開度を調整するだけでは実行できない。これは,制御弁47cと油圧ポンプ42との間に操作レバー44bがあるからであり,操作レバー44bをブーム下げ方向に操作しなければ,制御弁47cにはパイロット油は流れない。このため,ブーム下げ動作を制御するためには,オペレータに操作レバー44bに対してブーム下げ方向の操作を入力してもらわなければならず,操作レバー44bから制御弁47cにパイロット油が供給されれば,車体コントローラ51が制御弁47cの弁開度を調整することでブーム下げ方向の移動速度を制御できる。
【0067】
このような構成において,オペレータの操作としては操作レバー44bに対してブーム下げ方向に最大入力となる操作をしつつ,操作レバー44aに対してアーム曲げ方向の操作を入力するという場合が考えられる。この場合,直交姿勢までは車体コントローラ51が制御弁47cの弁開度を最小(遮断)にし,制御弁47dの弁開度を適切に大きくしてブーム上げ動作を行う。そして,直交姿勢後は制御弁47dの弁開度を最小(遮断)にし,制御弁47cの弁開度を大きくしてブーム下げ動作を行うことで,目標形状を達成する掘削作業を実行できる。また,オペレータはブーム操作を調整する必要はなく,ただ最大入力(操作レバー44bをブーム下げ方向に最大まで倒す)を入れ続ければよい。
【0068】
図8は
図6と同様に油圧ショベルと設計面61との関係を示す図である。
図8においては,目標形状を示す設計面として平面61がガイダンスコントローラ52に記録されているとする。平面61は範囲R内のみに存在する単平面である。
【0069】
半自動制御において,車体コントローラ51は前述の通り距離dなどの情報を基にブームシリンダ18aの目標速度を演算し,ブーム13の動作を制御する。ただし,
図8に示すように,バケット15やバケット先端150が設計面61の存在する範囲外,つまり平面61の存在する範囲Rの外に出た場合,距離dなど(目標形状と作業装置4との相対位置関係)を得ることができず,半自動制御が実行できない状況となる。半自動制御においてこのような制御を継続できない状況になった場合には,強制的に手動制御に切り替えてオペレータに操作を委ねる必要がある。この時,オペレータが操作レバー44bに対して上記のような事情でブーム下げ方向に最大入力操作を行っていたとすると,半自動制御から手動制御に切り替わった瞬間にブーム下げ動作が急加速し,
図8の矢印Aの方向に作業装置が急動作して車体が不安定な状態となる可能性がある。これを抑制するため,本実施の形態では,車体コントローラ51がブームシリンダ18aの速度変化率を制限し,急加速の発生を防止する。ただし,オペレータの操作レバーに対する操作入力が閾値以上の割合で変化した場合,速度変化率の制限を緩和又は解除することで,オペレータの操作と実際の作業装置4の動きとが異なることによるオペレータの違和感を抑制する。
【0070】
次に,半自動制御と,半自動制御から手動制御への遷移時に行われる速度遷移制御と,手動制御についてフローチャートを用いて説明する。ここでは説明を簡単にするために,半自動制御でブームシリンダ18a(すなわちブーム13)のみを制御するものとする。
【0071】
図9は半自動制御時の車体コントローラ51及びガイダンスコントローラ52による処理の流れを示すフローチャートである。車体コントローラ51及びガイダンスコントローラ52は操作装置44がオペレータにより操作されると
図9の処理を開始する。まず,ガイダンスコントローラ52内の作業装置位置姿勢演算部52aは,IMU3から各フロント部材13,14,15及び上部旋回体11の傾斜角の情報や,GNSSアンテナ2の航法信号に基づいてGNSSコントローラ53で演算される油圧ショベル1の位置情報,姿勢情報(角度情報)及び方位情報や,予め記憶されている各フロント部材13,14,15の寸法情報等に基づき地理座標系におけるバケット先端150(制御点)の位置情報を演算する(手順S1)。
【0072】
手順S2では,ガイダンスコントローラ52内の設計面演算部52cが,作業装置位置姿勢演算部52aで演算された地理座標系におけるバケット先端150の位置情報(油圧ショベル1の位置情報を利用しても良い)を基準として所定の範囲に含まれる設計面60の位置情報(設計データ)を設計データ記憶部52bから取得して,それを車体コントローラ51内の目標動作生成部51cに出力する。目標動作生成部51cは,その設計データの中からバケット先端150に最も近い位置に在る設計面を制御対象の設計面60,すなわち距離dを演算する設計面60として設定する。
【0073】
手順S3では,目標動作生成部51cは,手順S1で取得したバケット先端150の位置情報と手順S2で取得した設計面60の位置情報に基づいて距離dを演算する。
【0074】
手順S4では,目標動作生成部51cは,手順S3で演算した距離dと,操作装置44から入力される各操作レバーの操作量(圧力値)とに基づいて,作業装置4が動作してもバケット先端150が設計面60上またはその上方に保持されるように各油圧シリンダ18a,18b,18cの目標速度を演算する。
【0075】
手順S5では,アクチュエータ制御部51dが各油圧シリンダの目標速度に基づいて各制御弁47を駆動する制御信号(例えば指令電流)を演算し,その制御信号に対応する制御弁47にそれぞれ出力する。これにより各油圧シリンダ18a,18b,18cの目標速度(アクチュエータ目標速度)に基づいて各油圧シリンダ18a,18b,18cが駆動して各フロント部材13,14,15が動作する。
【0076】
手順S6では,目標動作生成部51cは,半自動制御を手動制御に切り換える制御切替指示(この指示は,第1状態切替信号や第2状態切替信号が状態遷移部51aに入力された場合に出力される)が状態遷移部51aから入力されたか否かを判定する。当該制御切替指示が入力された場合には次に
図10を用いて説明する速度遷移制御を実行する。一方,当該制御切替指示の入力の無い場合には最初の手順S1に戻って半自動制御を続行する。
【0077】
図10は半自動制御から手動制御に切り替わる際の車体コントローラ51の処理(速度遷移制御)の流れを示すフローチャートである。ここでは制御が切り替わった時刻(t0)からの経過時間をtとする(すなわち,時刻t0における時間tは0となる)。また,時刻tにおける半自動制御によるブームシリンダ目標速度をVa(t)とし,同様に時刻tにおける手動制御によるブームシリンダ目標速度をVo(t)とする。目標速度Va(t)とVo(t)は時間tの関数である。なお図中において内容が同じ処理を実行する手順は同じ符号を付している。
【0078】
手順S21では,半自動制御を手動制御に切り換える指示(制御切替指示)が状態遷移部51aから入力されると,車体コントローラ51内の速度遷移部51bは,目標動作生成部51cで利用される油圧シリンダ18a,18b,18cの速度変化率を第1変化率I1に設定する。
【0079】
手順S22では,目標動作生成部51cは,切り替わり時(t=0)における半自動制御によるブームシリンダ目標速度Va(0)と,切り替わり時(t=0)における手動制御によるブームシリンダ目標速度Vo(0)を取得する。Va(0)は
図9の手順S4で演算される値であり,Vo(0)は後述の
図11の手順S21で演算される値と同じであり,Va(0)とVo(0)は共に定数である。そこで,以下では半自動制御によるブームシリンダ目標速度Va(0)=Vcと表記することがある。
【0080】
手順S23では,目標動作生成部51cは,Va(0)とVo(0)の大小を比較する。そして,Vo(0)≦Va(0)が成立する場合(すなわち,Va(0)がVo(0)以上の場合)には手順S24に進み,そうでない場合(すなわち,Va(0)がVo(0)未満の場合)には手順S24Aに進む。
【0081】
手順S24では,目標動作生成部51cは,第1速度変化率I1(速度変化率)にtを乗じたものをVcから減じた値をブームシリンダ18aの目標速度(Va(t)=Vc−I1・t)として演算し,その目標速度に基づいて制御弁47を制御することでブームシリンダ18aの制御を行う。
【0082】
手順S24Aでは,目標動作生成部51cは,第1速度変化率I1(速度変化率)にtを乗じたものをVcに加えた値をブームシリンダ18aの目標速度(Va(t)=Vc+I1・t)として演算し,その目標速度に基づいて制御弁47を制御することでブームシリンダ18aの制御を行う。
【0083】
手順S25では,目標動作生成部51cは,時刻tにおける手動制御によるブームシリンダ目標速度Vo(t)をオペレータの操作装置44への入力操作量に基づいて演算する。この手順の演算は状態遷移部51bで行っても良い。
【0084】
手順S26では,目標動作生成部51cは,手順S24又は手順S24Aで演算したVa(t)と,手順S25で演算したVo(t)が一致したか否かを判定する。Va(t)とVo(t)が一致しない場合には速度遷移制御がまだ必要な状態と判断して手順S27に進む。一方,Va(t)とVo(t)が一致した場合には半自動制御を手動制御に切り換えてもブームシリンダ18aの速度変化は生じずオペレータに違和感を与えない状態となるため,
図11に示す通常の手動制御に移行する。
【0085】
手順S27では,状態遷移部51aは,油圧センサ49で検出されるパイロット圧(操作装置44への操作入力)に基づいて,半自動制御の対象の油圧シリンダ(ここではブームシリンダ18a)の操作装置44(ここでは操作レバー44b)に対してオペレータが入力する操作量の時間当たりの変化量(変化率)の絶対値が閾値I’0以上か否かを判定する。操作入力の変化率の絶対値が閾値I’0未満の場合は手順S24に戻って速度変化率をI1に維持する。一方,操作入力の変化率の絶対値が閾値I’0以上の場合は手順S28に進む。
【0086】
閾値I’0の決め方は,例えば通常作業時のオペレータのブーム操作入力を一定期間記録し,その操作入力の時間当たりの変化量を求めて,一定期間内の変化量の最大値付近の値,もしくは最大値よりも大きな値を設定するという方法がある。これは,通常作業時にはほとんど入力しないような操作があった場合を緊急度の高い状況と考え,すぐにブーム13を止めたいなど変化率制限値を大きくすることが必要な場面であると判断できるからである。
【0087】
また,閾値I’0は速度変化率I1を操作量の変化率に変換した値I’1よりも大きい値に設定することもできる。本発明は,変化率の制限がかかった状態において,より早く変化させたいというオペレータの意図を操作入力から読み取り,速度変化率をより大きな値I2に変えるというものであり,速度変化率I1よりも大きなオペレータ操作入力の変化がその意図の一つの条件と考えられるからである。
【0088】
なお,本実施形態では操作レバー44bの操作入力の変化率が閾値I’0以上か否かを判定したが,これに代えて時刻tにおける手動制御によるブームシリンダ目標速度Vo(t)の時間当たりの変化量(変化率)の絶対値が閾値I0以上か否かを判定しても良い。但し,この場合の速度の閾値I0は上記の操作量の閾値I’0と同様の考え方で決められたI’0と同等の値とする。なお,後述の
図12では速度の閾値I0を利用して本願の効果を説明している。
【0089】
手順S28では,速度遷移部51bは,半自動制御の制御対象の油圧シリンダ(ここではブームシリンダ18a)の速度変化率を第1変化率I1よりも大きい第2変化率I2に変更する。そして,目標動作生成部51cは,速度変化率の変更時(t=t1)における半自動制御によるブームシリンダ目標速度Va(t1)を取得する。以上の処理が完了したら手順S29又は手順S29Aに進む。
【0090】
手順S29では,目標動作生成部51cは,第2速度変化率I1に(t−t1)を乗じたものをVa(t1)から減じた値をブームシリンダ18aの目標速度(Va(t)=Va(t1)−I2(t−t1))として演算し,その目標速度に基づいて制御弁47を制御することでブームシリンダ18aの制御を行う。これにより速度制限が緩和されるのでブームシリンダ18aの速度が上昇して手動制御に移行する時間を短縮できる。
【0091】
手順S29Aでは,目標動作生成部51cは,第2速度変化率I1に(t−t1)を乗じたものをVa(t1)に加えた値をブームシリンダ18aの目標速度(Va(t)=Va(t1)+I2(t−t1))として演算し,その目標速度に基づいて制御弁47を制御することでブームシリンダ18aの制御を行う。これにより速度制限が緩和されるのでブームシリンダ18aの速度が上昇して手動制御に移行する時間を短縮できる。
【0092】
手順S30では,目標動作生成部51cは,時刻tにおける手動制御によるブームシリンダ目標速度Vo(t)をオペレータの操作装置44への入力操作量に基づいて演算する。この手順の演算は状態遷移部51bで行っても良い。
【0093】
手順S31では,目標動作生成部51cは,手順S29又は手順S29Aで演算したVa(t)と,手順S30で演算したVo(t)が一致したか否かを判定する。Va(t)とVo(t)が一致しない場合には速度遷移制御がまだ必要な状態と判断して手順S29に戻る。一方,Va(t)とVo(t)が一致した場合には半自動制御を手動制御に切り換えてもブームシリンダ18aの速度変化は生じずオペレータに違和感を与えない状態となるため,
図11に示す通常の手動制御に移行する。
【0094】
図11は手動制御時の車体コントローラ51による処理の流れを示すフローチャートである。手順S41では,目標動作生成部51cは,操作装置44から入力される各操作レバーの操作量(圧力値)に基づいて,各油圧シリンダ18a,18b,18cの目標速度を演算する。
【0095】
手順S42では,手順S41で演算したアクチュエータ制御部51dが各油圧シリンダの目標速度に基づいて各制御弁47を駆動する制御信号(例えば指令電流)を演算し,その制御信号に対応する制御弁47にそれぞれ出力する。通常の手動制御では,制御弁47a,47b,47c,47f,47gの弁開度を最大(開放)に,制御弁47d,47e,47hの弁開度を最小(遮断)に設定する制御信号が出力される。これにより,操作レバー44からのパイロット圧がそのまま方向制御弁45に流れ,オペレータの操作通りに作業装置4を操作できる状態となる。
【0096】
手順S43では,目標動作生成部51cは,手動制御を半自動制御に切り換える制御切替指示(この指示は第3状態切替信号が状態遷移部51aに入力されると出力される)が状態遷移部51aから入力されたか否かを判定する。当該制御切替指示が入力された場合には
図9を用いて説明した半自動制御を実行する。一方,当該制御切替指示の入力の無い場合には最初の手順S41に戻って手動制御を続行する。
【0097】
なお,本実施形態では手動制御から半自動制御に遷移する際には
図10の速度遷移制御に相当する制御を行っていないが,手動制御から半自動制御の場合も同様の速度遷移制御を行っても良い。
【0098】
図12は半自動制御から手動制御に切り替わる際のブームシリンダ速度の変化を示す図である。縦軸がブームシリンダ速度であり,正の値がブーム上げ方向の動作速度,負の値がブーム下げ方向の動作速度を表す。横軸は時間tである。時間t0で半自動制御から手動制御への切替が必要と判断され,車体コントローラ51で演算される半自動制御に基づく目標速度Vc(=Va(0))から,オペレータの操作レバー44bに対する操作入力に基づく目標速度Vo(t)まで,ブームシリンダ目標速度Va(t)が時間の経過と共に変化する様子を表している。時間t0以前は半自動制御であり,ブームシリンダ目標速度Va(t)は半自動制御に基づく目標速度Vcと一致している。
【0099】
時刻t0では,半自動制御を手動制御に切り換える制御切替指示が車体コントローラ51内の状態遷移部51aから目標動作生成部51cに出力され,半自動制御から手動制御への切替が必要と判断される。その時刻t0におけるオペレータ操作に基づく目標速度Vo(t)の変化量は略ゼロで前述の速度の閾値I0より小さいため,
図10の手順S24に基づいてブームシリンダ目標速度Va(t)が演算される。これによりブームシリンダ目標速度Va(t)の変化率が予め定められた第1速度変化率I1に制限される。
【0100】
時刻t0から時刻t1まではオペレータ操作に基づく目標速度Vo(t)の変化率が閾値I0よりも小さいため,手順S24に基づく処理が継続する。しかし,時刻t1でオペレータ操作に基づく目標速度Vo(t)の変化率が閾値I0以上となる。これにより手順S28の処理が実行され,ブームシリンダ目標速度Va(t)の変化率を制限する値が第1速度変化率I1から第2速度変化率I2に変更される。ここで第2速度変化率I2は第1速度変化率I1よりも大きい値(時間当たりに,より大きな変化を許容する値)である。
【0101】
時刻t2でブームシリンダ目標速度Va(t)がオペレータ操作に基づく目標速度Vo(t)と一致し,半自動制御から手動制御に完全に切り替わる(
図11の制御に移行する)。時刻t2以降はオペレータの操作入力通りに動作する手動制御となるため,ブームシリンダ目標Va(t)はオペレータ操作に基づく目標速度Vo(t)と一致する。
【0102】
図12に示したオペレータ操作に基づく目標速度Vo(t)の時間変化は次の(1)−(3)のような判断をオペレータが行った状況を想定している。すなわち,(1)時刻t0で設計データの存在する範囲Rから作業装置4が出た直後にさらに掘削する目的などでオペレータにはブーム13を下げたい要求があった。(2)しかし,時刻t0で半自動制御が不可となった場合,オペレータは,時刻t0より前の半自動制御の発動の条件であるブーム下げ操作の入力に従ってブーム13が急激に下がることを予想して,時刻t0からt1の間にブーム下げ操作入力を緩めるように操作レバー44bを操作した。(3)しかし,ブームシリンダ18aの目標速度Va(t)の変化率に制限が掛かるため,オペレータの予想に反してブーム13はすぐに下がらなかった。そこでオペレータは時刻t2で再度ブーム下げ操作入力を強めるような操作をした。
【0103】
本実施の形態では,目標速度の演算方式の異なる2つの制御の切り換え時に行われる速度遷移制御中に操作装置44に対する操作入力を素早く変化させると,オペレータに操作の意思があるとみなし,速度遷移制御中に利用される速度制限値(第1速度変化率I1)がより大きい値(第2速度変化率I2)に変更されて速度制限が緩和される。その結果,第1速度変化率I1が継続して利用された場合に半自動制御が手動制御に完全に切り替わる時刻t3よりも早い時刻t2で手動制御に切り替えることができる。すなわちオペレータの意図する目標速度で作業装置4を操作できる時刻が従前より早まるので,オペレータの操作と実際のブーム動作が乖離することによる違和感の発生を抑制できる。
【0104】
このように,操作装置44に対する操作入力の変化からオペレータに積極的な操作意思があることを読み取り,実際の作業装置4の動作をより早くオペレータ操作に近づけられるというのが本実施形態の効果である。一方,オペレータの操作入力が一定であれば,オペレータの操作意思の有無が不明であるため,第1速度変化率での制限を継続する。これにより,作業装置4の急激な動作が防止され車体の安定性が確保されるとともに,オペレータに積極的な操作意思がある場合にはオペレータ操作が作業装置4の動作に反映されるタイミングが早まるため,オペレータが操作と動作の乖離に対して違和感を持つことを抑制できる。
<第2の実施の形態>
図13から
図16を用いて,本発明の第2の実施の形態について説明する。なお,第1の実施の形態と異なる点についてのみ説明し,説明のない部分については第2の実施の形態と同様である。
【0105】
図13は半自動制御から手動制御に切り替わる際の車体コントローラ51の処理(速度遷移制御)の流れを示すフローチャートである。
図10と異なる点は手順S27に代えて操作判定処理を行っている点にある。手順S26では,目標動作生成部51cは,手順S24又は手順S24Aで演算したVa(t)と,手順S25で演算したVo(t)が一致したか否かを判定する。Va(t)とVo(t)が一致しない場合には速度遷移制御がまだ必要な状態と判断して
図14に示す操作判定処理を開始する。
【0106】
図14は操作判定処理の流れを示すフローチャートである。手順S51では,状態遷移部51aは,1ステップ前の操作判定処理の手順S54で記憶したオペレータの操作レバー44bへの操作入力がゼロか否かを判定する。1ステップ前の操作入力がゼロの場合は手順S52に進み,ゼロ以外の場合は手順S53に進む。なお,ここで行われる操作入力がゼロか否かの判定は,ブーム操作レバー44b直下に配置されたブーム下げパイロット圧を検出する油圧センサ49dの検出値が操作レバー44bの中立時の圧力の範囲内にあるか否かで判定してもよい。すなわち油圧センサ49dの検出値が所定の閾値以下か否かで判定しても良い。これはその他の手順S52,S53についても同様である。
【0107】
手順S52では,状態遷移部51aは,現在のオペレータの操作レバー44bへの操作入力がゼロ以外か否かを判定する。操作入力がゼロ以外の場合には操作判定処理を終了して手順S28に進み,速度変化率を第2速度変化率I2に変更する。一方,操作入力がゼロの場合には手順S54で今回の操作入力値を記憶して手順S24に戻る。
【0108】
手順S53では,状態遷移部51aは,現在のオペレータの操作レバー44bへの操作入力がゼロか否かを判定する。操作入力がゼロの場合には操作判定処理を終了して手順S28に進み,速度変化率を第2速度変化率I2に変更する。一方,操作入力がゼロでない場合には手順S54で今回の操作入力値を記憶して手順S24に戻る。
【0109】
本実施形態の作用と効果について
図15と
図16を用いて説明する。
図15は半自動制御から手動制御に切り替わる際のブームシリンダ速度の変化の第1の例を示す図である。縦軸がブームシリンダ速度であり,正の値がブーム上げ方向の動作速度,負の値がブーム下げ方向の動作速度を表す。横軸は時間tである。時間t0で半自動制御から手動制御への切替が必要と判断され,車体コントローラ51で演算される半自動制御に基づく目標速度Vc(=Va(0))から,オペレータの操作レバー44bに対する操作入力に基づく目標速度Vo(t)まで,ブームシリンダ目標速度Va(t)が時間の経過と共に変化する様子を表している。時間t0以前は半自動制御であり,ブームシリンダ目標速度Va(t)は半自動制御に基づく目標速度Vcと一致している。
【0110】
時刻t0では,半自動制御を手動制御に切り換える制御切替指示が車体コントローラ51内の状態遷移部51aから目標動作生成部51cに出力され,半自動制御から手動制御への切替が必要と判断される。時刻t0と1ステップ前の時刻におけるオペレータ操作に基づく目標速度Vo(t)はどちらもゼロより小さく,どちらも操作レバー44bへの操作入力がゼロではない。そのため,
図14の操作判定処理では,手順S51,S53,S54と進んで手順S24に戻る。すなわち,ブームシリンダ目標速度Va(t)の変化率は予め定められた第1速度変化率I1に保持される。その後,時刻t1までは,時刻t0と同様にオペレータ操作に基づく目標速度Vo(t)がゼロより小さいため,第1速度変化率I1でブームシリンダ速度を制限する処理が継続する。
【0111】
時刻t1では,オペレータ操作に基づく目標速度Vo(t)はゼロであり,操作レバー44bへの操作入力がゼロとなる。また,1ステップ前の時刻におけるオペレータ操作に基づく目標速度Vo(t)はゼロより小さく,操作レバー44bへの操作入力はゼロではない。そのため,
図14の操作判定処理では,手順S51,S53と進んで手順S28に進む。これにより,ブームシリンダ目標速度Va(t)の変化率を制限する値が第1速度変化率I1から第2速度変化率I2に変更される。第2速度変化率I2は第1速度変化率I1よりも大きい値(時間当たりに,より大きな変化を許容する値)である。
【0112】
時刻t2でブームシリンダ目標速度Va(t)がオペレータ操作に基づく目標速度Vo(t)と一致し,半自動制御から手動制御に完全に切り替わる(
図11の制御に移行する)。時刻t2以降はオペレータの操作入力通りに動作する手動制御となるため,ブームシリンダ目標Va(t)はオペレータ操作に基づく目標速度Vo(t)と一致する。
【0113】
ところで,上記の
図15に示したオペレータ操作に基づく目標速度Vo(t)の時間変化は,設計データの範囲外に作業装置4が出た直後にオペレータが速やかにブーム上げ動作を停止したい等と考え,時刻t0からt1の間にブーム操作レバー44bを中立位置に戻した状況を想定している。
【0114】
本実施形態では,半自動制御から手動制御への切替が開始された時刻t0で操作されていたブーム操作レバー44bを中立位置に戻した時点(時刻t1)で,オペレータにブーム動作を積極的に停止したいという意思があるとみなして,速度遷移制御中に利用される速度制限値(第1速度変化率I1)がより大きい値(第2速度変化率I2)に変更されて速度制限が緩和される。その結果,第1速度変化率I1が継続して利用された場合に半自動制御が手動制御に完全に切り替わる時刻t3よりも早い時刻t2でブーム動作を停止できる。すなわちオペレータの意図するブーム動作の停止が完了するタイミングが早まるので,オペレータの操作と実際のブーム動作が乖離することによる違和感の発生を抑制できる。
【0115】
図16は半自動制御から手動制御に切り替わる際のブームシリンダ速度の変化の第2の例を示す図である。
【0116】
時刻t0では,半自動制御を手動制御に切り換える制御切替指示が車体コントローラ51内の状態遷移部51aから目標動作生成部51cに出力され,半自動制御から手動制御への切替が必要と判断される。時刻t0と1ステップ前の時刻におけるオペレータ操作に基づく目標速度Vo(t)はどちらもゼロで,どちらも操作レバー44bへの操作入力はゼロである。そのため,
図14の操作判定処理では,手順S51,S52,S54と進んで手順S24に戻る。すなわち,ブームシリンダ目標速度Va(t)の変化率は予め定められた第1速度変化率I1に保持される。その後,時刻t1までは,時刻t0と同様にオペレータ操作に基づく目標速度Vo(t)がゼロに保持されるため,第1速度変化率I1でブームシリンダ速度を制限する処理が継続する。
【0117】
時刻t1では,オペレータ操作に基づく目標速度Vo(t)はゼロより小さくなり,操作レバー44bへの操作入力もゼロではなくなる。また,1ステップ前の時刻におけるオペレータ操作に基づく目標速度Vo(t)はゼロで,操作レバー44bへの操作入力もゼロである。そのため,
図14の操作判定処理では,手順S51,S52と進んで手順S28に進む。これにより,ブームシリンダ目標速度Va(t)の変化率を制限する値が第1速度変化率I1から第2速度変化率I2に変更される。第2速度変化率I2は第1速度変化率I1よりも大きい値(時間当たりに,より大きな変化を許容する値)である。
【0118】
時刻t2でブームシリンダ目標速度Va(t)がオペレータ操作に基づく目標速度Vo(t)と一致し,半自動制御から手動制御に完全に切り替わる(
図11の制御に移行する)。時刻t2以降はオペレータの操作入力通りに動作する手動制御となるため,ブームシリンダ目標Va(t)はオペレータ操作に基づく目標速度Vo(t)と一致する。
【0119】
ところで,上記の
図16に示したオペレータ操作に基づく目標速度Vo(t)の時間変化は,作業装置4が直交姿勢に到達する前にバケット15またはバケット先端150が設計データの存在する範囲Rより外に出るなどの理由でオペレータはブーム下げ操作を入力せずに半自動制御で作業をしているが,設計データの範囲外に作業装置4が出た直後にオペレータはさらに掘削したいなどブーム15を下げたい要求がある状況を想定している。
【0120】
本実施形態では,半自動制御から手動制御への切替が開始された時刻t0で中立位置にあったブーム操作レバー44bに操作を入力した時点(時刻t1)で,オペレータにブーム13を積極的に操作したいという意思があるとみなして,速度遷移制御中に利用される速度制限値(第1速度変化率I1)がより大きい値(第2速度変化率I2)に変更されて速度制限が緩和される。その結果,第1速度変化率I1が継続して利用された場合に半自動制御が手動制御に完全に切り替わる時刻t3よりも早い時刻t2でブームの操作を開始できる。すなわちオペレータの意図するブーム操作の開始タイミングが早まるので,オペレータの操作と実際のブーム動作が乖離することによる違和感の発生を抑制できる。
【0121】
なお,上記の第2の実施形態の説明では,
図15,
図16を用いて,時刻t0で半自動制御から手動制御への制御の切り替えが開始され,ブームシリンダ18aの目標速度Va(t)がオペレータ操作に基づく目標速度Vo(t)に変化するまでの間に,ブーム操作レバー44bへの入力がブーム下げ方向への入力(
図15,16における負の入力値)から中立位置(
図15,16におけるゼロの入力値)に変化した場合と,ブーム操作レバー44bへの入力が中立位置(ゼロの入力値)からブーム下げ方向への入力(負の入力値)に変化した場合のいずれかの場合に,ブームシリンダ18aの目標速度Va(t)の時間変化率を第1変化率I1から第2変化率I2に変更することについて説明した。しかし,
図13,
図14のフローチャートの構成から明らかなように,時刻t0で半自動制御から手動制御への制御の切り替えが開始され,ブームシリンダ18aの目標速度Va(t)がオペレータ操作に基づく目標速度Vo(t)に変化するまでの間に,ブーム操作レバー44bへの入力がブーム上げ方向への入力(正の入力値)から中立位置(ゼロの入力値)に変化した場合と,ブーム操作レバー44bへの入力が中立位置(ゼロの入力値)からブーム上げ方向への入力(正の入力値)に変化した場合のいずれかの場合にも,ブームシリンダ18aの目標速度Va(t)の時間変化率を第1変化率I1から第2変化率I2に変更するように構成されていることは言うまでもない。
【0122】
<その他>
上記では第1状態切替信号と第2状態切替信号が出力される場面を区別せずに説明したが、第1状態切替信号はオペレータの意思とは無関係に出力されるため、第1状態切替信号が出力された場面ではオペレータの意思とは無関係に半自動制御から手動制御への強制的な切替が行われることとなる。そのため、切替スイッチ56を使って自発的に第2状態切替信号を出力する場合に比して、作業装置4の操作中に制御の切替が行われやすいこと、そして、それ故に速度遷移制御中の速度制限にオペレータが違和感を持ち易いことが指摘できる。したがって、速度遷移制御中に操作装置44への入力を変化させることでオペレータ操作が作業装置4の動作に反映されるタイミングを早めることができるという上記の各実施形態の効果は、第1状態切替信号が出力された場面で顕著であると言うことができる。
【0123】
上記では半自動制御でブームシリンダ18aを制御する場合について説明したが,その他の油圧シリンダ(アームシリンダ18bやバケットシリンダ18c)を所定の条件で半自動制御した場合にも本発明は適用可能である。
【0124】
上記では,
図10や
図13の手順S26,S31において,速度遷移制御から手動制御(
図11)に移行する条件を2つの速度Va(t),Vo(t)が一致することとしたが,両者の差の絶対値が所定の閾値以下となったときに
図11の手動制御に移行するようにフローチャートを構成しても良い。
【0125】
上記では,半自動制御から手動制御に切り替わる際に速度遷移制御を実行したが,手動制御から半自動制御に切り替わる際にも同様に速度遷移制御を実行しても良い。
【0126】
上記では,ブームシリンダ18aの目標速度Va(t)の時間変化率を第1変化率I1から第2変化率I2に変更するトリガーとして機能する操作装置44への入力変化の具体例として,操作装置44への操作入力の変化率の絶対値が閾値I’0以上であること,操作装置44への操作入力が有りの状態から無しの状態(すなわち中立位置)に変化したこと,操作装置44への操作入力が無しの状態から有りの状態に変化したこと,の3つを挙げたが,これ以外の入力変化をトリガーにして変化率を変更しても良い。
【0127】
なお,本発明は,上記の実施の形態に限定されるものではなく,その要旨を逸脱しない範囲内の様々な変形例が含まれる。例えば,本発明は,上記の実施の形態で説明した全ての構成を備えるものに限定されず,その構成の一部を削除したものも含まれる。また,ある実施の形態に係る構成の一部を,他の実施の形態に係る構成に追加又は置換することが可能である。
【0128】
また,上記の各種コントローラ51,52,53に係る各構成や当該各構成の機能及び実行処理等は,それらの一部又は全部をハードウェア(例えば各機能を実行するロジックを集積回路で設計する等)で実現しても良い。また,上記のコントローラ51,52,53に係る構成は,演算処理装置(例えばCPU)によって読み出し・実行されることで当該コントローラ51,52,53の構成に係る各機能が実現されるプログラム(ソフトウェア)としてもよい。当該プログラムに係る情報は,例えば,半導体メモリ(フラッシュメモリ,SSD等),磁気記憶装置(ハードディスクドライブ等)及び記録媒体(磁気ディスク,光ディスク等)等に記憶することができる。
【0129】
また,上記の各実施の形態の説明では,制御線や情報線は,当該実施の形態の説明に必要であると解されるものを示したが,必ずしも製品に係る全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えて良い。