本発明の各実施形態に係る作業機械の一態様として、例えば、作業対象の地面に対して掘削や整形等の作業を行う油圧ショベルについて説明する。
<油圧ショベル1の全体構成>
まず、油圧ショベル1の全体構成について、図1及び図2を参照して説明する。
図1は、本発明の各実施形態に係る油圧ショベル1の一構成例を示す側面図である。図2は、地面の状態による油圧ショベル1への影響を説明する図である。
油圧ショベル1は、地面を走行するための走行体2と、走行体2の上方に旋回装置10を介して旋回可能に取り付けられた旋回体3と、旋回体3の前部において俯仰動可能に連結された多関節型のリンク機構により構成される作業機であるフロント作業機4と、を備えている。
走行体2は、その左右(車幅方向の両端)にクローラ21がそれぞれ配置されている。左右のクローラ21はそれぞれ、走行体2の左右それぞれに設けられた走行モータ22の駆動力によって独立して回転駆動する。これにより、油圧ショベル1は、左右それぞれのクローラ21を地面に接触させた状態で前後方向に走行する。なお、図1では、クローラ21及び走行モータ22はそれぞれ、左右のうちの一方側(左側)のみを図示している。
旋回体3は、旋回装置10内に設けられた旋回モータによって中心軸C(図1において一点鎖線で示す)を中心に走行体2に対して旋回駆動される。旋回体3は、オペレータが搭乗する運転室31と、フロント作業機4とのバランスを保つためのカウンタウェイト32と、エンジンや油圧ポンプ等の機器類を内部に収容する機械室33と、を備えている。旋回体3において、運転室31は前部に、カウンタウェイト32は後部に、機械室33は運転室31とカウンタウェイト32との間に、それぞれ配置されている。運転室31には、エンジンを始動させるためのエンジンキースイッチや、フロント作業機4を操作するための操作レバー310等の各種の操作装置が設けられている。
フロント作業機4は、基端部が旋回体3に回動可能に連結されたブーム41と、ブーム41の先端部に回動可能に連結されたアーム42と、アーム42の先端部に回動可能に連結されたバケット43と、を備えている。
バケット43は、例えば土砂等を掘削したり、均したり、あるいは地面を締め固めたりするものである。このバケット43は、例えば、木材や岩石、廃棄物等を掴むグラップルや、岩盤を掘削するブレーカ等のアタッチメントに変更することが可能である。これにより、油圧ショベル1は、作業内容に適したアタッチメントを用いて、掘削や破砕等を含む様々な作業を行うことができる。
また、フロント作業機4は、旋回体3とブーム41とを連結するブームシリンダ410と、ブーム41とアーム42とを連結するアームシリンダ420と、アーム42とバケット43とを連結するバケットシリンダ430と、これらの各油圧シリンダ410,420,430へ作動油を導くための複数の配管(不図示)と、を有している。
ブームシリンダ410、アームシリンダ420、及びバケットシリンダ430はそれぞれ、油圧ポンプから吐出された作動油によって駆動される油圧アクチュエータの一態様である。なお、以下の説明において、「ブームシリンダ410、アームシリンダ420、及びバケットシリンダ430」を、単に「アクチュエータ410,420,430」とする場合がある。
ブームシリンダ410は、操作レバー310の操作量に応じてロッド410Aが伸縮することによってブーム41を旋回体3に対して上下方向に回動させる。同様にして、アームシリンダ420は、操作レバー310の操作量に応じてロッド420Aが伸縮することによってアーム42をブーム41に対して前後方向に回動させる。また、同様にして、バケットシリンダ430は、操作レバー310の操作量に応じてロッド430Aが伸縮することによってバケット43をアーム42に対して前後方向に回動させる。すなわち、アクチュエータ410,420,430は、オペレータの操作レバー310の操作に伴って動作してフロント作業機4を駆動させる。
油圧ショベル1には、油圧ショベル1の状態を検出するための状態検出センサとして、車体の傾きの変動を検出する傾斜変動検出センサ51と、ブーム41の姿勢を検出するブーム姿勢検出センサ521と、アーム42の姿勢を検出するアーム姿勢検出センサ522と、バケット43の姿勢を検出するバケット姿勢検出センサ523と、が搭載されている。
傾斜変動検出センサ51は、旋回体3の上部に取り付けられており、例えば、車体の傾きを直接的に検出する傾斜センサや、車体の3次元の角速度(角度)及び加速度を検出する慣性計測装置(Inertial Measurement Unit;IMU)が用いられる。なお、図1では、傾斜変動検出センサ51は、機械室33の上部に取り付けられているが、これに限らず、旋回体3に取り付けられていればその位置については特に制限はない。
図2に示すように、油圧ショベル1が凹凸の大きい地面に設置されている場合、油圧ショベル1の動作や姿勢に応じて油圧ショベル1の傾きが変動する。また、油圧ショベル1が設置された地面が軟弱である場合も、油圧ショベル1の重心の変化に伴って地面の形状が変化しやすくなり、油圧ショベル1の傾きが変動する。したがって、傾斜変動検出センサ51を用いて油圧ショベル1の傾きの変動を検出することにより、油圧ショベル1が設置された地面の状態を推定することができる。
ブーム姿勢検出センサ521はブーム41の側部に、アーム姿勢検出センサ522はアーム42の側部に、バケット姿勢検出センサ523はバケット43の側部に、それぞれ取り付けられており、例えば、各リンクの回動角度を検出する角度センサやIMUが用いられる。ブーム姿勢検出センサ521、アーム姿勢検出センサ522、及びバケット姿勢検出センサ523は、フロント作業機4の姿勢を検出する姿勢検出センサ52の一態様である。なお、以下では、ブーム姿勢検出センサ521、アーム姿勢検出センサ522、及びバケット姿勢検出センサ523のそれぞれを、単に各姿勢検出センサ52とする場合がある。
油圧ショベル1は、傾斜変動検出センサ51及び各姿勢検出センサ52からの検出データに基づいて、地面の状態に伴ったフロント作業機4の作業精度を判定し、判定結果にしたがって所定の制御を行う制御装置を備えている。以下、この制御装置の構成について実施形態ごとに説明する。
<第1実施形態>
本発明の第1実施形態に係る制御装置6について、図3~8を参照して説明する。
(制御装置6のハードウェア構成)
まず、制御装置6のハードウェア構成について、図3を参照して説明する。
図3は、第1実施形態に係る制御装置6のハードウェア構成図である。
制御装置6は、CPU601、RAM602、ROM603、入力I/F604、出力I/F605、及びバス606を含み、CPU601、RAM602、ROM603、入力I/F604、及び出力I/F605がバス606を介して互いに接続されて構成されている。
そして、傾斜変動検出センサ51及び各姿勢検出センサ52等の各種センサが入力I/F604に接続され、表示装置71及び警報装置72等の各種装置が出力I/F605に接続されている。表示装置71及び警報装置72はそれぞれ、制御装置6からの指令に基づく通知を行う通知装置の一態様である。
表示装置71は、例えば液晶パネル等からなる装置であり、運転室31(図1参照)内に設けられている。表示装置71は、油圧ショベル1が設置された地面の状態やフロント作業機4の作業精度に関する情報をオペレータに対して視覚的に通知する。警報装置72は、音や音声等を発生させる装置であり、表示装置71と同様に運転室31内に設けられている。警報装置72は、油圧ショベル1が設置された地面の状態によるフロント作業機4の作業精度の低下をオペレータに対して聴覚的に通知する。
図3に示すようなハードウェア構成において、ROM603や光学ディスク等の記録媒体に格納された演算プログラム(ソフトウェア)をCPU601が読み出してRAM602上に展開し、展開された演算プログラムを実行することにより、演算プログラムとハードウェアとが協働して、制御装置6の機能を実現する。
なお、制御装置6は、必ずしもソフトウェアとハードウェアとの組み合わせによって構成されるコンピュータである必要はなく、例えば他のコンピュータの構成の一例として、油圧ショベル1の側で実行される演算プログラムの機能を実現する集積回路を用いてもよい。
(制御装置6の機能構成)
次に、制御装置6の機能構成について、図4~図6を参照して説明する。
図4は、制御装置6が有する機能構成を示す図である。図5(a)及び図5(b)は、傾斜変動検出センサ51から出力された出力信号の一例を示す図であり、図5(a)は地面の凹凸が微小である場合、図5(b)は地面の凹凸が大きい場合をそれぞれ示している。図6(a)~(c)は、表示装置71における表示の一例を示す図である。
図4に示すように、制御装置6は、地面状態算出部61と、作業精度判定部62と、通知生成部63と、記憶部60と、を含む。地面状態算出部61は、傾斜変動検出センサ51で検出された車体の傾きの変動データに基づいて車体が設置された地面の不安定度Sg(以下、「地面不安定度Sg」とする)を算出する。この「地面不安定度Sg」とは、凹凸の大きさや軟弱性を考慮した地面の状態を表す指標であり、本実施形態では、油圧ショベル1の所定の作業時間Td内における車体の傾きの変動量Iv(以下、「傾斜変動量Iv」とする)に相当する。
油圧ショベル1が設置された地面が平坦かつ強固である場合には、車体の傾斜角度Iの変動は小さく、図5(a)に示すように、傾斜変動検出センサ51で検出される波形データの振幅も小さい。一方、油圧ショベル1が設置された地面の凹凸が大きい場合には、車体の傾斜角度Iの変動は大きく、図5(b)に示すように、傾斜変動検出センサ51で検出される波形データの振幅が大きくなる。車体の傾斜角度Iは、地面の凹凸の大きさに応じて変動するが、傾斜角度Iの変動量が大きいほど地面の状態に起因したバケット43(図1参照)の位置の変化が大きくなり、フロント作業機4の作業精度に大きな影響を及ぼす。
そこで、地面状態算出部61は、油圧ショベル1の所定の作業時間Td内における車体の傾斜角度Iの最大値Imax及び最小値Iminを抽出し、最大値Imaxと最小値Iminとの差分である傾斜変動量Iv(=Imax-Imin)を地面不安定度Sgとして算出する。なお、「所定の作業時間Td」とは、油圧ショベル1が行う作業サイクル(例えば、地面を掘削し、旋回体3を旋回させて放土する作業等)を参考にして定められた時間である。
なお、地面不安定度Sgを算出するにあたって、傾斜変動検出センサ51で検出された傾斜角変動データに加え、各姿勢検出センサ52で検出された姿勢データを考慮してもよい。例えば、油圧ショベル1の起動時や停止時、急な動作時においては、油圧ショベル1が設置された地面が平坦かつ強固である場合であっても、慣性力の影響によって油圧ショベル1が傾く可能性がある。したがって、油圧ショベル1が設置された地面の状態をより正確に把握するためには、地面不安定度Sgの算出において油圧ショベル1の動作による影響を除外することが望ましい。
具体的には、地面状態算出部61は、各姿勢検出センサ52で検出されたブーム41、アーム42、及びバケット43の動作加速度が所定の閾値を超えた場合、油圧ショベル1において「起動」、「停止」、及び「急動作」のいずれかが行われていると判断し、その時刻における傾斜変動検出センサ51からの傾斜角変動データを、傾斜角度Iの最大値Imax及び最小値Iminの抽出対象から除外する。これにより、地面状態算出部61は、油圧ショベル1が設置された地面の状態に起因する傾斜角の変動のみに基づく精度の高い地面不安定度Sgを算出することができる。
また、例えば、油圧ショベル1が走行等により移動した場合には、走行に伴って車体の傾斜角度が変動し、さらに油圧ショベル1の設置位置も変化する。そのため、地面状態算出部61で算出される地面不安定度Sgは移動の前後で値が異なる。そこで、制御装置6において油圧ショベル1の移動が検出された場合には、地面状態算出部61は、移動終了以降における傾斜角変動データのみに基づいて地面不安定度Sgを再度算出するように構成しても良い。
また、本実施形態では、地面不安定度Sgとして車体の傾斜変動量Ivを用いたが、これに限らず、地面不安定度Sgは、車体の傾斜角度Iの変動周期や繰り返し性といった時間のパラメータ等を含んだ指標としてもよい。このように、車体の傾斜変動量Iv以外のパラメータを含めた指標を用いることにより、地面の凹凸による特徴と地面の軟弱性による特徴との間の違いが明確になり、地面の凹凸による影響と地面の軟弱性による影響とを分離することが可能となる。これにより、地面状態算出部61は、地面の状態変化の予測を含めた形で地面不安定度Sgを算出することができる。
また、本実施形態では、地面状態算出部61は、傾斜変動検出センサ51で検出された変動データに基づいて地面不安定度Sgを算出したが、これに限らず、現場管理等を行う外部システムから与えられる地面の形状及び地盤に関する情報を用いて地面不安定度Sgを算出してもよい。これにより、地面状態算出部61は、地面の状態をより詳細に把握した形で地面不安定度Sgを算出することができる。
作業精度判定部62は、作業半径算出部62Aと、バケット位置変動量算出部62Bと、作業精度レベル決定部62Cと、作業精度低下判定部62Dと、を含み、地面状態算出部61で算出された地面不安定度Sgに基づいて、油圧ショベル1が設置された地面の状態に起因したフロント作業機4の作業精度を判定する。
作業半径算出部62Aは、各姿勢検出センサ52で検出された姿勢に基づいてフロント作業機4の作業半径rb(以下、単に「作業半径rb」とする)を算出する。具体的には、作業半径算出部62Aは、油圧ショベル1を構成する各部の寸法情報と、各姿勢検出センサ52で検出された姿勢とを用いてリンク演算を行い、油圧ショベルの原点Oからバケット43(フロント作業機4)の先端までの距離(図1参照)を作業半径rbとして算出する。すなわち、作業半径rbは、ブーム41、アーム42、及びバケット43それぞれの姿勢によって時々刻々と変化する値である。
バケット位置変動量算出部62Bは、作業半径算出部62Aで算出されたフロント作業機4の作業半径rb及び地面状態算出部61で算出された地面不安定度Sgを用いて、油圧ショベル1が設置された地面の状態によるバケット43の先端位置の変動量ΔLb(以下、「バケット位置変動量ΔLb」とする)を算出する。
具体的には、バケット位置変動量算出部62Bは、まず、油圧ショベル1の所定の作業時間Td内における作業半径rbの最大値rbmaxを抽出し、続いて、抽出した最大値rbmax及び地面不安定度Sgを以下の数式(1)に代入することによりバケット位置変動量ΔLbを算出する。
本実施形態では、バケット位置変動量算出部62Bは、バケット位置変動量ΔLbの算出に、油圧ショベル1の所定の作業時間Td内における作業半径rbの最大値rbmaxを抽出して用いたが、これに限らず、例えば、フロント作業機4の取り得る最大の作業半径を用いてもよい。
本実施形態のように、所定の作業時間Td内における作業半径rbの最大値rbmaxを用いた場合には、実作業に即したバケット位置変動量ΔLbを算出することができ、他方、フロント作業機4の取り得る最大の作業半径を用いた場合には、油圧ショベル1のあらゆる姿勢において発生し得るバケット位置変動量ΔLbの最大値を算出することができる。所定の作業時間Td内における作業半径rbの最大値rbmaxを用いるか、フロント作業機4の取り得る最大の作業半径を用いるかについては、バケット位置の変動によって作業全体に与える影響の度合いを考慮して決定すればよい。なお、フロント作業機4の取り得る最大の作業半径を用いる場合には、各姿勢検出センサ52で姿勢を検出する構成を省略することが可能となる。
作業精度レベル決定部62Cは、バケット位置変動量算出部62Bで算出されたバケット位置変動量ΔLbに基づいてフロント作業機4の作業精度のレベルを決定する。
本実施形態では、作業精度レベル決定部62Cは、バケット位置変動量ΔLbが10mm未満である場合に作業精度レベルを「5」とし、バケット位置変動量ΔLbが10mm以上100mm未満である場合に作業精度レベルを「4」とし、バケット位置変動量ΔLbが100mm以上200mm未満である場合に作業精度レベルを「3」とし、バケット位置変動量ΔLbが200mm以上400mm未満である場合に作業精度レベルを「2」とし、バケット位置変動量ΔLbが400mm以上である場合に作業精度レベルを「1」として、フロント作業機4の作業精度のレベルを決定する。この場合、作業精度レベルは、「5」、「4」、「3」、「2」、「1」の順で低下する。
フロント作業機4の作業精度レベルは、本実施形態のように数段階で表してもよいし、0~100までの数値で表してもよいし、バケット位置変動量ΔLbをそのまま用いて表してもよい。したがって、フロント作業機4の作業精度レベルの表し方は、油圧ショベル1の作業内容やオペレータの使い勝手等に応じて適宜変更可能である。
作業精度低下判定部62Dは、作業精度レベル決定部62Cで決定された作業精度レベルと所定の許容作業精度レベル(以下、単に「許容作業精度レベル」とする)とを比較し、作業精度レベル決定部62Cで決定された作業精度レベルが許容作業精度レベルを下回っている場合に「作業精度低下」と判定する。許容作業精度レベルは、油圧ショベル1が行う全ての作業に共通するものとして設定してもよいし、作業内容ごとに設定しておき油圧ショベル1の作業状態に応じて切り替えてもよい。
通知生成部63は、作業精度レベル決定部62Cで決定された作業精度レベル、及び作業精度低下判定部62Dで判定された判定結果に基づいて、表示装置71に対して表示指令(通知指令)を、警報装置72に対して警報指令(通知指令)を、それぞれ生成する。なお、通知生成部63は、作業精度低下判定部62Dで「作業精度低下」と判定された場合に警報装置72に対して警報指令を生成し、作業精度低下判定部62Dで「作業精度低下」と判定されなかった場合には警報指令を生成しない。
そして、表示装置71は、通知生成部63で生成された表示指令にしたがった表示を行い、警報装置72は、通知生成部63で警報指令が生成された場合に警報を行う。表示装置71は、具体的には、図6(a)~(c)に示すように、作業精度レベル決定部62Cで決定された作業精度レベルをバー71Aに表示し、作業精度低下判定部62Dで「作業精度低下」と判定された場合には、図6(b)に示すように、「作業精度低下」の表示を行う。また、作業精度低下判定部62Dで「作業精度低下」と判定された場合には、図6(c)に示すように、「作業精度低下」の表示に加えて、地面の整備を指示する表示を行ってもよい。
記憶部60は、油圧ショベル1の所定の作業時間Td、油圧ショベル1を構成する各部の寸法情報、フロント作業機4の作業精度レベルを決定するためのバケット位置変動量ΔLbに関する所定の閾値、及び所定の許容作業精度レベル等を記憶する。
(制御装置6における処理)
次に、制御装置6内で実行される具体的な処理の流れについて、図7及び図8を参照して説明する。
図7は、制御装置6内で実行される全体処理の流れを示すフローチャートである。図8は、制御装置6内で実行される作業精度レベル決定処理の流れを示すフローチャートである。
図7に示すように、制御装置6では、まず、地面状態算出部61が、傾斜変動検出センサ51で検出された傾斜角変動データ(図5(b)参照)に基づいて地面不安定度Sgを算出する(ステップS801)。
次に、作業精度判定部62のバケット位置変動量算出部62Bが、作業半径算出部62Aで算出されたフロント作業機4の作業半径rbの中から、所定の作業時間Td内での最大値rbmaxを抽出する(ステップS802)。続いて、バケット位置変動量算出部62Bは、ステップS801で算出された地面不安定度Sg、及びステップS802で抽出された作業半径の最大値rbmaxに基づいて、バケット位置変動量ΔLbを算出する(ステップS803)。
次に、作業精度レベル決定部62Cは、ステップS803で算出されたバケット位置変動量ΔLbに基づいて作業精度レベル決定処理を実行する(ステップS804)。作業精度レベル決定処理では、図8に示すように、まず、ステップS803で算出されたバケット位置変動量ΔLbが10mm未満であるか否かを判定する(ステップS840)。
ステップS840においてバケット位置変動量ΔLbが10mm未満である(ΔLb<10mm)と判定された場合(ステップS840/YES)、作業精度レベル決定部62Cは、フロント作業機4の作業精度レベルを「5」に決定する(ステップS841)。
ステップS840においてバケット位置変動量ΔLbが10mm以上である(ΔLb≧10mm)と判定された場合(ステップS840/NO)、さらにバケット位置変動量ΔLbが100mm未満であるか否かを判定する(ステップS842)。
ステップS842においてバケット位置変動量ΔLbが100mm未満である(ΔLb<100mm)と判定された場合(ステップS842/YES)、作業精度レベル決定部62Cは、フロント作業機4の作業精度レベルを「4」に決定する(ステップS843)。
ステップS842においてバケット位置変動量ΔLbが100mm以上である(ΔLb≧100mm)と判定された場合(ステップS842/NO)、さらにバケット位置変動量ΔLbが200mm未満であるか否かを判定する(ステップS844)。
ステップS844においてバケット位置変動量ΔLbが200mm未満である(ΔLb<200mm)と判定された場合(ステップS844/YES)、作業精度レベル決定部62Cは、フロント作業機4の作業精度レベルを「3」に決定する(ステップS845)。
ステップS844においてバケット位置変動量ΔLbが200mm以上である(ΔLb≧200mm)と判定された場合(ステップS844/NO)、さらにバケット位置変動量ΔLbが400mm未満であるか否かを判定する(ステップS846)。
ステップS846においてバケット位置変動量ΔLbが400mm未満である(ΔLb<400mm)と判定された場合(ステップS846/YES)、作業精度レベル決定部62Cは、フロント作業機4の作業精度レベルを「2」に決定する(ステップS847)。
ステップS846においてバケット位置変動量ΔLbが400mm以上である(ΔLb≧400mm)と判定された場合(ステップS846/NO)、作業精度レベル決定部62Cは、フロント作業機4の作業精度レベルを「1」に決定する(ステップS848)。
そして、作業精度レベル決定部62Cは、ステップS841、ステップS843、ステップ845、ステップS847、及びステップS848のいずれかにおいて決定されたフロント作業機4の作業精度レベルを作業精度低下判定部62D及び通知生成部63に出力し(ステップS849)、作業精度レベル決定処理が終了する。
次に、図7に示すように、作業精度低下判定部62Dは、ステップS804において決定された作業精度レベルが許容作業精度レベル未満であるか否かを判定する(ステップS805)。
ステップS805において、決定された作業精度レベルが許容作業精度レベル未満である(作業精度レベル<許容作業精度レベル)と判定された場合(ステップS805/YES)、作業精度低下判定部62Dは、フロント作業機4の作業精度が低下している(「作業精度低下」=ON)と判定する(ステップS806)。
そして、通知生成部63は、ステップS806における「作業精度低下」=ONの判定を受けて、表示装置71に対して作業精度レベル及び作業精度の低下に関する表示指令を生成すると共に、警報装置72に対して警報指令を生成し(ステップS807)、制御装置6における処理が終了する。
一方、ステップS805において、決定された作業精度レベルが許容作業精度レベル以上である(作業精度レベル≧許容作業精度レベル)と判定された場合(ステップS805/NO)、作業精度低下判定部62Dは、フロント作業機4の作業精度が低下していない(「作業精度低下」=OFF)と判定する(ステップS808)。
そして、通知生成部63は、ステップS808における「作業精度低下」=OFFの判定を受けて、表示装置71に対して作業精度レベルに関する表示指令を生成し(ステップS809)、制御装置6における処理が終了する。なお、ステップS808において「作業精度低下」=OFFと判定された場合には、警報装置72で警報を鳴らす必要がないため、ステップS809では警報装置72に対して警報指令を行わない。
このように、制御装置6において、油圧ショベル1が設置された地面の凹凸や軟弱性といった地面の状態に起因する作業精度への影響の大きさを評価し、その評価結果を表示装置71や警報装置72を介してオペレータに通知することにより、オペレータは地面の状態及びその状態によるフロント作業機4の作業精度レベルを認識しながら操作を行うことができる。これにより、地面の状態による予期しない作業精度の低下の防止を図れる。
(マシンガイダンス機能搭載機への適用)
次に、マシンガイダンス機能を搭載した油圧ショベル1に、本実施形態に係る制御装置6の機能を適用した場合について、図9(a)及び図9(b)を参照して説明する。
図9(a)及び図9(b)は、表示装置71へのマシンガイダンス機能の表示例を示し、図9(a)は一般的なマシンガイダンス機能の表示例、図9(b)は制御装置6の機能を反映させたマシンガイダンス機能の表示例である。
一般に、「マシンガイダンス機能」とは、作業機械が設置される地面が平坦かつ強固であることを前提として、図9(a)に示すように、作業対象の目標面100とバケット43との位置関係を算出し、表示装置71に表示させる機能である。
しかしながら、地面の状態により車体が傾くような場合には、目標面100とバケット43との位置関係が変化して正確なマシンガイダンスを行うことができなくなり、バケット43が予期せずに目標面100の下方に侵入し、掘削してはいけない領域まで掘削してしまうおそれがある。
そこで、制御装置6のバケット位置変動量算出部62Bで算出されるバケット位置変動量ΔLbを用いたマシンガイダンスを行うことにより、油圧ショベル1が設置された地面の状態を考慮したガイダンスを行うことが可能となる。
具体的には、制御装置6において、バケット位置変動量ΔLbを考慮した上で、目標面100とバケット43との距離を算出する。そして、図9(b)に示すように、表示装置71は、目標面100に対するバケット43の現在位置(実線で示す)に加え、バケット位置変動量ΔLbを考慮したバケット43の位置(破線で示す)を表示する。
このように、表示装置71が、地面の状態を考慮したバケット43の取り得る位置の範囲を表示することにより、オペレータは、地面の状態によるフロント作業機4の作業精度への影響の大きさを認識して操作を行うことができるため、予期せずバケット43を目標面100の下方に侵入させてしまうことを防止することが可能となる。
<第1実施形態の変形例>
次に、第1実施形態の変形例に係る油圧ショベル1について、図10及び図11を参照して説明する。なお、図10及び図11において、第1実施形態に係る油圧ショベル1について説明したものと共通する構成要素については、同一の符号を付してその説明を省略する。以下、第2~4実施形態においても同様とする。
本変形例に係る油圧ショベル1は、前述したマシンガイダンス機能に用いられる目標面情報設定装置53と、この目標面情報設定装置53と対で用いられる地形情報設定装置54と、をさらに備える。
目標面情報設定装置53は、作業対象の3次元目標面データが格納された外部の現場管理システム等と通信を行うことにより作業対象の目標面情報を取得して設定するものである。なお、目標面情報設定装置53は、作業対象の目標面情報をオペレータが直接的に入力して設定するものであってもよい。
地形情報設定装置54は、作業対象の地面の現在の形状(以下、「現況地形」とする)に関する情報を設定するものであり、例えば、バケット姿勢検出センサ523で検出されたバケット43の位置の過去の推移や、ステレオカメラ等の外部認識センサによる作業対象の地面の撮影データに基づいて、現況地形情報を取得する。
図10に示すように、本変形例に係る制御装置6Aでは、作業精度判定部62が作業対象距離算出部62Eを含んで構成されている。図11に示すように、作業対象距離算出部62Eは、ステップS804においてフロント作業機4の作業精度レベルが決定されると、目標面情報設定装置53からの目標面情報、及び地形情報設定装置54からの現況地形情報に基づいて、現在の作業対象面から目標面までの距離L(以下、「作業対象距離L」とする)を算出する(ステップS811)。
そして、本変形例では、作業精度低下判定部62Dは、ステップS803で算出されたバケット位置変動量ΔLbが、作業対象距離Lに所定のマージンLmarginを加えた値よりも大きいか否かを判定する(ステップS812)。
ステップS812において、バケット位置変動量ΔLbが、作業対象距離Lに所定のマージンLmarginを加えた値よりも大きい(ΔLb>L+Lmargin)と判定された場合(ステップS812/YES)、作業精度低下判定部62Dは、フロント作業機4の作業精度が低下している(「作業精度低下」=ON)と判定する(ステップS806)。
一方、ステップS812において、バケット位置変動量ΔLbが、作業対象距離Lに所定のマージンLmarginを加えた値以下(ΔLb≦L+Lmargin)と判定された場合(ステップS812/NO)、作業精度低下判定部62Dは、フロント作業機4の作業精度が低下していない(「作業精度低下」=OFF)と判定する(ステップS808)。
第1実施形態では、作業精度低下判定部62Dは、記憶部60に予め記憶された許容作業精度レベルを用いてフロント作業機4の作業精度低下に関する判定を行っていたが、本変形例では、作業対象距離算出部62Eで算出された作業対象距離Lを用いてフロント作業機4の作業精度低下に関する判定を行っている。
例えば、油圧ショベル1における現在の作業対象面が目標面から遠く離れた位置である場合には、フロント作業機4の作業精度による影響を気にする必要はないが、現在の作業対象面が目標面に近い位置である場合には、フロント作業機4の作業精度の高さが求められる。したがって、作業対象距離Lを用いてフロント作業機4の作業精度低下に関する判定を行うことにより、状況に即したフロント作業機4の作業精度低下の判定が可能となるため、表示装置71及び警報装置72はオペレータに対して過度な作業低下の通知を行うことなく、適切なタイミングで通知を行うことができる。
<第2実施形態>
次に、第2実施形態に係る油圧ショベル1について、図12及び図13を参照して説明する。
図12は、第2実施形態に係る制御装置6Bが有する機能構成を示す図である。図13は、第2実施形態に係る制御装置6B内で実行される処理の流れを示すフローチャートである。
本実施形態に係る制御装置6Bは、速度制限値設定部64と、動作指令生成部65と、をさらに含んで構成されており、作業精度判定部62における判定結果に基づいてフロント作業機4の動作速度の制限を行う。
油圧ショベル1は、アクチュエータ410,420,430を操作するための操作レバー310(図1参照)の操作量を、操作レバー310によるアクチュエータ410,420,430への動作指令値として検出するレバー操作量検出センサ55を備えている。制御装置6Bは、このレバー操作量検出センサ55で検出されたレバー操作量(操作レバー310による動作指令値)に対して制限をかけることにより、アクチュエータ410,420,430の各ロッド410A,420A,430Aは制限された速度で駆動する。
具体的には、速度制限値設定部64は、作業精度レベル決定部62Cで決定された作業精度レベルに対応する速度制限値を選択して設定する。ここで、「作業精度レベルに対応する速度制限値」とは、各アクチュエータ410,420,430について作業精度レベルごとに予め定められた速度制限値であり、記憶部60に記憶されている。
例えば、ブームシリンダ410に対する速度制限値PMbmについては、作業精度レベルが「1」の場合には対応する速度制限値を「PMbmLv1」とし、作業精度レベルが「2」の場合には対応する速度制限値を「PMbmLv2」とし、作業精度レベルが「3」の場合には対応する速度制限値を「PMbmLv3」とし、作業精度レベルが「4」の場合には対応する速度制限値を「PMbmLv4」とし、作業精度レベルが「5」の場合には対応する速度制限値を「PMbmLv5」として定める。なお、各速度制限値の関係は、PMbmLv1≦PMbmLv2≦PMbmLv3≦PMbmLv4≦PMbmLv5を満たす。
同様にして、アームシリンダ420に対する速度制限値PMamを「PMamLv1」、「PMamLv2」、「PMamLv3」、「PMamLv4」、「PMamLv5」とし、バケットシリンダ430に対する速度制限値PMbkを「PMbkLv1」、「PMbkLv2」、「PMbkLv3」、「PMbkLv4」、「PMbkLv5」として、それぞれ定める。
図13に示すように、ステップS804においてフロント作業機4の作業精度レベルが決定されると、速度制限値設定部64は、アクチュエータ410,420,430の速度制限値(PMbm,PMam,PMbk)をステップS804において決定された作業精度レベルに対応した速度制限値に設定する(ステップS821)。
例えば、ステップS821においてフロント作業機4の作業精度レベルが「2」に決定された場合、速度制限値設定部64は、ブームシリンダ410の速度制限値を「PMbmLv2」に、アームシリンダ420の速度制限値を「PMamLv2」に、バケットシリンダ430の速度制限値を「PMbkLv2」に、それぞれ設定する。
なお、速度制限値設定部64は、各アクチュエータ410,420,430に対する速度制限値として、必ずしも作業精度レベルごとに予め定められた速度制限値を用いて設定する必要はなく、例えば、フロント作業機4の動作速度による油圧ショベル1の安定性や作業精度への影響に関する試算を行い、試算結果に基づいた速度制限値を用いて設定してもよい。
具体的には、速度制限値設定部64は、ステップS801で算出された地面不安定度Sgを考慮した油圧ショベル1の重心位置や動的な重心位置を算出して、算出結果に基づく油圧ショベル1の安定性の判定を行い、油圧ショベル1が安定するフロント作業機4の動作速度の上限値を速度制限値として用いて設定してもよい。
また、速度制限値設定部64は、本実施形態のようにアクチュエータ410,420,430ごとに速度制限値を設定してもよいし、ロッドが縮む方向と伸びる方向とで別個の速度制限値を設定してもよいし、アクチュエータ410,420,430全てに共通の速度制限値を設定してもよい。
動作指令生成部65は、レバー操作量検出センサ55で検出された操作レバー310による動作指令値、及び速度制限値設定部64で設定されたアクチュエータ410,420,430の速度制限値(PMbm,PMam,PMbk)に基づいて、各アクチュエータ410,420,430の動作指令値を補正する。
具体的には、動作指令生成部65は、レバー操作量検出センサ55で検出された操作レバー310による動作指令値(Plbm,Plam,Plbk)と、速度制限値設定部64で設定された速度制限値(PMbm,PMam,PMbk)とを比較し、小さい方の値を採用して補正後動作指令値(Pbm,Pam,Pbk)を生成する(ステップS822)。すなわち、以下の数式(2)に基づいて、アクチュエータ410,420,430の動作指令値(補正後動作指令値)を生成する。
したがって、ステップS821において速度制限値設定部64で設定された速度制限値(PMbm,PMam,PMbk)は、アクチュエータ410,420,430の動作指令値に対して上限を設けるものであり、動作指令生成部65は、操作レバー310による動作指令値(Plbm,Plam,Plbk)が速度制限値(PMbm,PMam,PMbk)を上回る場合に限り、操作レバー310による動作指令値(Plbm,Plam,Plbk)を速度制限値(PMbm,PMam,PMbk)に補正する。
そして、動作指令生成部65は、生成された補正後動作指令値(Pbm,Pam,Pbk)に基づいて、各アクチュエータ410,420,430に対して動作指令を行う(ステップS823)。また、ステップS823において、通知生成部63は、表示装置71に対して作業精度レベルに関する表示指令を行う。
油圧ショベル1は、フロント作業機4の動作速度が速いほど、動作切り替え時に大きな慣性力が発生する。仮に、油圧ショベル1が設置された地面が平坦かつ強固な場合であっても、フロント作業機4の動作速度に伴って発生する慣性力の影響により、車体の傾きが変動することがある。したがって、油圧ショベル1が設置された地面に凹凸がある場合や地面が軟弱である場合には、フロント作業機4が速い速度で動作を行うと、発生する慣性力や重心位置の変化に対して地面の状態が大きく影響し、油圧ショベル1が設置された地面が平坦かつ強固な場合と比べて車体の傾きの変動がより大きくなる。他方、フロント作業機4の動作速度が遅い場合には、比較的に地面の状態の影響を受けにくい。
そこで、本実施形態では、地面の状態に起因してフロント作業機4の作業精度が低下している場合に、制御装置6Bによりアクチュエータ410,420,430の動作速度を制限することで、作業精度レベルが所定のレベル以下とならないように調整し、作業精度を向上させることができる。
なお、本実施形態に係る制御装置6Bでは、アクチュエータ410,420,430の動作速度を制限することにより作業精度の低下を防止していることから、通知生成部63は、作業精度低下判定部62Dによって作業精度が低下していると判定された場合であっても、ステップS823において警報装置72に対して警報指令は行わない。
<第3実施形態>
次に、本発明の第3実施形態に係る油圧ショベル1について、図14~16を参照して説明する。
図14は、第3実施形態に係る制御装置6Cが有する機能構成を示す図である。図15は、第3実施形態に係る制御装置6C内で実行される全体処理の流れを示すフローチャートである。図16は、第3実施形態に係る制御装置6C内で実行される速度制限係数決定処理の流れを示すフローチャートである。
本実施形態に係る油圧ショベル1には、マシンコントロール機能が搭載されている。「マシンコントロール機能」とは、作業対象の目標形状を示す目標面情報とフロント作業機4の先端(本実施形態ではバケット43の先端)との位置関係に基づいて各アクチュエータ410,420,430の制御を行うことにより、油圧ショベル1を用いて所定の目標形状を形成する作業を支援するものである。
一般的なマシンコントロール機能では、オペレータにより操作レバー310の操作が行われた際、フロント作業機4の先端位置が目標面上あるいは目標面よりも上方の領域に保持されるように各アクチュエータ410,420,430への動作指令を生成する。これにより、バケット43が目標面の下方に侵入することを防止することができ、オペレータの技量によらず目標面に沿った掘削作業が可能となる。
図14に示すように、本実施形態に係る制御装置6Cは、バケット先端位置算出部66Aと、目標面距離算出部66Bと、マシンコントロール動作指令値算出部66Cと、を含んで構成されるマシンコントロール部66を有している。
バケット先端位置算出部66Aは、油圧ショベル1を構成する各部の寸法情報と、各姿勢検出センサ52で検出された姿勢とを用いてリンク演算を行い、バケット43の先端位置を算出する。
目標面距離算出部66Bは、図15に示すステップS804においてフロント作業機4の作業精度レベルが決定されると、バケット先端位置算出部66Aで算出されたバケット43の先端位置、及び目標面情報設定装置53からの目標面情報に基づいて、バケット43の先端から作業対象の目標面までの距離を目標面距離Ltとして算出する(ステップS831)。
マシンコントロール動作指令値算出部66Cは、ステップS831において目標面距離算出部66Bにより算出された目標面距離Lt、及びレバー操作量検出センサ55で検出された操作レバー310による動作指令値Plに基づいて、各アクチュエータ410,420,430に対するマシンコントロール動作指令値Pmcを算出する(ステップS832)。なお、以下の説明において、「マシンコントロール動作指令値」を「MC動作指令値」とする。
このMC動作指令値Pmcは、バケット43の先端が目標面の下方に侵入しないように、目標面距離算出部66Bで算出された目標面距離Ltに応じて、操作レバー310による動作指令値Plを補正したものである。例えば、目標面距離算出部66Bで算出された目標面距離Ltが小さい場合には、バケット43が目標面に接近する方向への動作速度を遅くし、バケット43が目標面上に位置している場合(目標面距離Lt=0の場合)には、目標面の下方へのバケット43の動作を停止するように、操作レバー310による動作指令値Plをそれぞれ補正する。
ここで、油圧ショベル1が設置された地面の状態により油圧ショベル1が傾く場合には、バケット43の先端位置と目標面との位置関係が変化し、バケット43が予期せず目標面の下方に侵入する可能性がある。そこで、本実施形態に係るMC動作指令値算出部66Cは、ステップS832で算出されたMC動作指令値Pmcに対してさらに補正を行い、補正後MC動作指令値を生成する(ステップS834)。
具体的には、ステップS834において、MC動作指令値算出部66Cは、ステップS832で算出されたMC動作指令値Pmcに速度制限係数βを乗じた値を補正後MC動作指令値として生成する(補正後MC動作指令値=MC動作指令値Pmc×速度制限係数β)。
この「速度制限係数β」は、図15に示す速度制限係数β決定処理(ステップS833)において、作業精度レベル決定部62Cで決定された作業精度レベル、及び目標面距離算出部66Bで算出された目標面距離Ltに基づいて決定される1以下の数である。
図16に示すように、制御装置6Cにおける速度制限係数β決定処理では、まず、ステップS831で算出された目標面距離Ltが所定の第1閾値Lth1(以下、単に「第1閾値Lth1」とする)よりも大きいか否かを判定する(ステップS833A)。なお、第1閾値Lth1は、例えば2000mmといった値である。
ステップS833Aにおいて目標面距離Ltが第1閾値Lth1よりも大きい(Lt>Lth1)と判定された場合(ステップS833A/YES)、ステップS804で決定された作業精度レベルによらず、速度制限係数βを「1」とする(ステップS833B)。
一方、ステップS833Aにおいて目標面距離Ltが第1閾値Lth1以下(Lt≦Lth1)と判定された場合(ステップS833A/NO)、目標面距離Ltが所定の第2閾値Lth2(以下、単に「第2閾値Lth2」とする)よりも大きいか否かを判定する(ステップS833C)。なお、第2閾値Lth2は、例えば100mmといった値である。
ステップS833Cにおいて目標面距離Ltが第2閾値Lth2よりも大きい(Lt>Lth2)と判定された場合(ステップS833C/YES)、目標面距離Ltが短くなるほど小さい値になるように、かつ作業精度レベルに対応させて速度制限係数β(=f)を定める(ステップS833D)。
ステップ833Cにおいて目標面距離Ltが第2閾値Lth2以下(Lt≦Lth2)と判定された場合(ステップS833C/NO)、作業精度レベルが高い場合を除いて低速でフロント作業機4が動作するように、速度制限係数βを例えば0.1といった十分小さな値(固定値βmin)とする(ステップS833E)。
制御装置6Cは、ステップS833B、ステップS833D、及びステップS833Eのいずれかにおいて決定された速度制限係数βを出力して(ステップS833F)、速度制限係数β決定処理(ステップS833)を終了する。
そして、図15に示すように、MC動作指令値算出部66Cは、ステップS834において生成した補正後MC動作指令値に基づき、各アクチュエータ410,420,430に対して動作指令を行う(ステップS835)。また、ステップS835において、通知生成部63は、表示装置71に対して表示指令を行うと共に、警報装置72に対して警報指令を行う。
なお、油圧ショベル1が設置された地面の状態を考慮したMC動作指令値の算出方法の他の例としては、目標面距離Ltからバケット位置変動量ΔLbを減じた値を仮目標面距離Lte(=Lt-ΔLb)とし、この仮目標面距離Lteに基づいてMC動作指令値を算出する方法が挙げられる。
このように、マシンコントロール機能が搭載された油圧ショベル1においても、地面の状態に起因する車体への影響によってバケット43が予期せず目標面の下方に侵入してしまうことを防止することができるため、油圧ショベル1が設置された地面に凹凸がある場合や地面が軟弱である場合であっても、適切なマシンコントロールを行うことが可能となる。
<第4実施形態>
次に、本発明の第4実施形態に係る油圧ショベル1について、図17及び図18を参照して説明する。
図17は、第4実施形態に係る制御装置6Dが有する機能構成を示す図である。図18は、第4実施形態に係る制御装置6D内で実行される処理の流れを示すフローチャートである。
本実施形態では、制御装置6Dで算出された地面不安定度Sgやフロント作業機4の作業精度レベルを作業現場管理に用いる場合について説明する。油圧ショベル1は、油圧ショベル1の位置を検出する車体位置検出センサ50と、外部に設けられた現場管理システム73Aとの間で通信を行うための通信装置73と、をさらに備えている。
車体位置検出センサ50は、複数個の測位衛星から送信される信号に基づいて油圧ショベル1の3次元位置(緯度、経度、及び高度)及び向きを測定する全地球航法衛星システム(Global Navigation Satellite System;GNSS)を用いたセンサであり、旋回体3の上部に設けられている(図1参照)。
通信装置73は、油圧ショベル1の作業現場内の無線ネットワークや携帯電話網等の無線通信に接続されており、これらを介して現場管理システム73Aからの情報の受信、及び油圧ショベル1で取得した情報の現場管理システム73Aへの送信を行う。
現場管理システム73Aは、油圧ショベル1の作業現場内の情報に基づいて現場の管理や施工の管理を行うシステムであり、例えば作業現場内の管理事務所等の油圧ショベル1の外部に設けられる。具体的には、現場管理システム73Aは、施工目標や作業工程等の情報を保管すると共に、作業現場内の情報を収集することによって、現場内における油圧ショベル1を含んだ複数の作業機械の位置及び作業員の位置や、作業の状況、現場内の作業環境、地形情報、作業の進捗等を管理する。
なお、現場管理システム73Aは、単一の現場管理サーバとして構成してもよいし、クラウド上に構成されるシステムとクラウドに接続されるコンピュータ等との組合せにより構成してもよい。
図17に示すように、本実施形態に係る制御装置6Dは、地面状態管理部67と、車体情報生成部68と、を含んで構成されている。地面状態管理部67は、油圧ショベル1が設置された位置における地面状態情報及び作業精度情報、すなわち油圧ショベル1が設置された位置における地面の状態管理に関する情報を生成する。
具体的には、図18に示すように、地面状態管理部67は、まず、車体位置検出センサ50で検出された油圧ショベル1の車体位置情報を取得する(ステップS841)。続いて、地面状態管理部67は、ステップS841で取得した車体位置情報と、地面状態算出部61で算出された地面不安定度Sg及び作業精度判定部62で判定された作業精度に関する情報と、をそれぞれ紐付ける。これにより、地面状態算出部61で算出された地面不安定度Sg及び作業精度判定部62で判定された作業精度に関する情報を、油圧ショベル1が設置された位置における地面状態情報及び作業精度情報として生成する(ステップS842)。
なお、現場管理システム73Aでは、作業現場内の全域における情報の収集及び管理が行われており、地面不安定度Sgや作業精度については作業現場内の各地点の情報として管理される。したがって、油圧ショベル1で取得した情報を作業現場管理向け情報として現場管理システム73Aに提供する際には、それぞれの情報と油圧ショベル1の位置情報とを紐付けた上で提供する必要がある。
車体情報生成部68は、地面状態管理部67で生成された油圧ショベル1が設置された位置における地面状態情報及び作業精度情報に基づいて、現場管理システム73Aに送信する車体情報を生成して通信装置73に出力する。
具体的には、図18に示すように、車体情報生成部68は、現場管理システム73Aとの通信周期Tcの間、地面状態管理部67で生成された油圧ショベル1が設置された位置における地面状態情報及び作業精度情報を保管し、経過時間が通信周期Tc以上(経過時間≧Tc)になると(ステップS843/YES)、車体情報として生成する(ステップS844)。なお、現場管理システム73Aとの通信周期Tcは、制御装置6D内における演算周期よりも長い周期に設定される。
続いて、車体情報生成部68は、経過時間をリセットし(ステップS845)、ステップS844において生成した車体情報を通信装置73に出力する(ステップS846)。一方、経過時間が通信周期Tcに達していない(経過時間<Tc)場合(ステップS843/NO)には、ステップS801に戻る。
なお、車体情報生成部68は、車体情報を生成するにあたり、車体情報を送信する際の通信量を削減するために、作業現場内における同一の位置に関する情報を集約した形で生成してもよい。例えば、通信周期Tcの間に同一の位置に関する地面状態情報及び作業精度情報が複数存在する場合には、複数のうちいずれか1つの時点の情報を代表情報として抽出し、抽出した代表情報のみを車体情報に含める。
また、代表情報の抽出方法としては、例えば、最新の情報を代表情報とする方法や、複数の地面不安定度Sgのうち最も値の大きいものを地面不安定度Sgの代表情報とすると共に、複数の作業精度情報のうち最も作業精度の低いものを作業精度情報の代表情報とする方法が挙げられる。
このように、地面不安定度Sgや作業精度レベルをオペレータに通知するだけでなく、車体情報として外部の現場管理システム73Aに提供することにより、油圧ショベル1が作業を行う現場の状態をより詳細に管理することができる。
以上、本発明の実施形態について説明した。なお、本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、本実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、また、本実施形態の構成に他の実施形態の構成を加えることも可能である。またさらに、本実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
例えば、上記実施形態では、作業機械が油圧ショベル1である場合について説明したが、他の作業機械に適用してもよい。
また、上記実施形態では、操作レバー310は油圧式の操作レバーであり、操作レバー310の操作量に応じて油圧ポンプから吐出された作動油によりアクチュエータ410,420,430がそれぞれ動作したが、これに限らず、電気式のものであってもよい。