以下、図面を参照して実施形態について説明する。
[ショベルの概要]
まず、図1を参照して、本実施形態に係るショベル100の概要について説明をする。
図1は、本実施形態に係るショベル100の一例を示す側面図である。
図1に示すように、本実施形態に係るショベル100は、下部走行体1と、旋回機構2を介して旋回自在に下部走行体1に搭載される上部旋回体3と、アタッチメントを構成するブーム4、アーム5、及びバケット6と、オペレータが搭乗するキャビン10とを備える。以下、ショベル100の前方は、ショベル100を上部旋回体3の旋回軸に沿って真上から平面視(以下、単に「平面視」と称する)で見たときに、上部旋回体3に対してアタッチメントが延び出す方向に対応する。また、ショベル100の左方及び右方は、それぞれ、キャビン10内のオペレータから見た左方及び右方に対応する。
下部走行体1は、例えば、左右一対のクローラ1Cを含む。下部走行体1は、それぞれのクローラ1Cが走行油圧モータ1M、即ち、左側の走行油圧モータ1ML及び右側の走行油圧モータ1MR(図2A、図2B参照)で油圧駆動されることにより、ショベル100を走行させる。
上部旋回体3は、旋回機構2が旋回油圧モータ2Aで油圧駆動されることにより、下部走行体1に対して旋回する。
ブーム4は、上部旋回体3の前部中央に俯仰可能に取り付けられ、ブーム4の先端には、アーム5が上下回動可能に取り付けられ、アーム5の先端には、バケット6が上下回動可能に取り付けられる。
バケット6は、エンドアタッチメントの一例であり、ショベル100の作業内容に応じて、適宜交換可能な態様で、アーム5の先端に取り付けられている。つまり、アーム5の先端には、バケット6に代えて、バケット6とは異なる種類のバケット、例えば、相対的に大きい大型バケット、法面用バケット、浚渫用バケット等が取り付けられてもよい。また、アーム5の先端には、バケット以外の種類のエンドアタッチメント、例えば、攪拌機、ブレーカ、クラッシャー等が取り付けられてもよい。
ブーム4、アーム5、及びバケット6は、それぞれ、油圧アクチュエータとしてのブームシリンダ7、アームシリンダ8、及びバケットシリンダ9により油圧駆動される。
キャビン10は、例えば、上部旋回体3の前部左側に搭載される。キャビン10は、オペレータが搭乗する操縦室であり、内部には、操作装置26(図2参照)等が搭載される。
ショベル100は、キャビン10に搭乗するオペレータの操作装置26に対する操作に応じて、下部走行体1、上部旋回体3、ブーム4、アーム5、及びバケット6等の被駆動要素を動作させる。
また、ショベル100は、キャビン10のオペレータにより操作されるのに代えて、或いは、加えて、所定の外部装置のオペレータによって遠隔操作されてもよい。この場合、ショベル100は、例えば、後述の周囲情報取得装置40に含まれる、ショベル100の周囲を撮像する撮像装置が出力する画像情報(撮像画像)を外部装置に送信する。オペレータは、外部装置に設けられる表示装置(例えば、液晶ディスプレイや有機EL(Electroluminescence)ディスプレイ等)に表示される画像情報を確認しながら、遠隔操作用の操作装置を操作する。そして、ショベル100は、当該外部装置から受信される、遠隔操作の内容を表す遠隔操作信号に応じて、下部走行体1、上部旋回体3、ブーム4、アーム5、及びバケット6等の被駆動要素を動作させてよい。当該外部装置は、例えば、ショベル100の作業現場の外部の管理センタ等に設けられる管理装置(クラウドサーバ)であってよい。また、当該外部装置は、例えば、ショベル100の作業現場の内部の管理事務所等に設けられる管理装置(エッジサーバ)であってもよい。また、当該外部装置は、ショベル100のオペレータ等が携帯可能な携帯端末(例えば、スマートフォン、タブレット端末等の汎用端末や遠隔操作用の専用端末)であってもよい。以下、オペレータの操作には、オペレータの操作装置26に対する操作、及び外部装置のオペレータの遠隔操作の少なくとも一方が含まれる前提で説明を進める。
また、ショベル100は、オペレータの操作の内容に依らず、自動で被駆動要素を駆動するアクチュエータを動作させてもよい。これにより、ショベル100は、下部走行体1、上部旋回体3、ブーム4、アーム5、及びバケット6等の複数の被駆動要素の少なくとも一部を自動で動作させる機能(以下、「自動運転機能」)を実現することができる。以下、ショベル100は、オペレータの操作及び自動運転機能に対応する制御指令の少なくとも一方に応じて、被駆動要素を動作させる前提で説明を進める。
自動運転機能には、オペレータの操作に応じて、操作対象の被駆動要素(油圧アクチュエータ)以外の被駆動要素(油圧アクチュエータ)を自動で動作させる機能(いわゆる「半自動運機能」)が含まれてよい。また、自動運転機能には、オペレータの操作がない前提で、複数の被駆動要素(油圧アクチュエータ)の少なくとも一部を自動で動作させる機能(いわゆる「完全自動運転機能」)が含まれてよい。また、自動運転機能には、ショベル100の周囲の作業者等の人のジェスチャをショベル100が認識し、認識されるジェスチャの内容に応じて、複数の被駆動要素(油圧アクチュエータ)の少なくとも一部を自動で動作させる機能(以下、「ジェスチャ操作機能」)が含まれてよい。また、半自動運転機能や完全自動運転機能やジェスチャ操作機能には、自動運転の対象の被駆動要素(油圧アクチュエータ)の動作内容が予め規定されるルールに従って自動で決定される態様が含まれてよい。また、半自動運転機能や完全自動運転機能やジェスチャ操作機能には、ショベル100が自律的に各種の判断を行い、その判断結果に沿って、自律的に自動運転の対象の被駆動要素(油圧アクチュエータ)の動作内容を決定する態様(いわゆる「自律運転機能」)が含まれてもよい。
[ショベルの構成]
次に、図1に加えて、図2(図2A、図2B)を参照して、ショベル100の具体的な構成について説明する。
図2A、図2Bは、本実施形態に係るショベル100の構成の一例及び他の例を示すブロック図である。
尚、図中において、機械的動力ラインは二重線、高圧油圧ラインは実線、パイロットラインは破線、電気駆動・制御ラインは点線でそれぞれ示される。
<ショベルの油圧駆動系>
本実施形態に係るショベル100の油圧駆動系は、上述の如く、下部走行体1(左右のクローラ1C)、上部旋回体3、ブーム4、アーム5、バケット6のそれぞれを油圧駆動する走行油圧モータ1M(走行油圧モータ1ML,1MR)、旋回油圧モータ2A、ブームシリンダ7、アームシリンダ8、及びバケットシリンダ9等の油圧アクチュエータを含む。また、本実施形態に係るショベル100の油圧駆動系は、エンジン11と、レギュレータ13と、メインポンプ14と、コントロールバルブ17とを含む。
エンジン11は、油圧駆動系におけるメイン動力源である。エンジン11は、例えば、軽油を燃料とするディーゼルエンジンである。エンジン11は、例えば、上部旋回体3の後部に搭載され、後述するコントローラ30による直接或いは間接的な制御下で、予め設定される目標回転数で一定回転し、メインポンプ14及びパイロットポンプ15を駆動する。
レギュレータ13は、コントローラ30の制御下で、メインポンプ14の吐出量を制御(調節)する。例えば、レギュレータ13は、コントローラ30からの制御指令に応じて、メインポンプ14の斜板の角度(以下、「傾転角」)を調節する。
メインポンプ14は、例えば、エンジン11と同様、上部旋回体3の後部に搭載され、高圧油圧ラインを通じてコントロールバルブ17に作動油を供給する。メインポンプ14は、上述の如く、エンジン11により駆動される。メインポンプ14は、例えば、可変容量式油圧ポンプであり、上述の如く、コントローラ30の制御下でレギュレータ13が斜板の傾転角を調節することにより、ピストンのストローク長が調整され、吐出流量(吐出圧)が制御される。
コントロールバルブ17は、例えば、上部旋回体3の中央部に搭載され、メインポンプ14から油圧アクチュエータのそれぞれに供給される作動油の流量と流れる方向を制御する複数の制御弁(方向切換弁とも称する)を含む。
コントロールバルブ17は、例えば、オペレータの操作装置26に対する操作内容(例えば、操作量及び操作方向等)に応じて、油圧アクチュエータの制御を行ってよい。具体的には、コントロールバルブ17は、高圧油圧ラインを介してメインポンプ14と接続され、メインポンプ14から供給される作動油を、操作装置26の操作内容に応じて、油圧アクチュエータ(即ち、走行油圧モータ1ML,1MR、旋回油圧モータ2A、ブームシリンダ7、アームシリンダ8、及びバケットシリンダ9等)に選択的に供給する。
また、コントロールバルブ17は、例えば、コントローラ30から出力される、ショベル100の自動運転機能に対応する制御指令(以下、「自動制御指令」)に応じて、油圧アクチュエータの制御を行ってもよい。具体的には、コントロールバルブ17は、メインポンプ14から供給される作動油を、コントローラ30から出力される自動制御指令に応じて、油圧アクチュエータに選択的に供給する。
また、ショベル100は、上述の如く、遠隔操作されてもよい。この場合、コントロールバルブ17は、ショベル100に搭載される通信装置を通じて外部装置から受信される、ショベル100のアクチュエータの遠隔操作に関する信号(以下、「遠隔操作信号」)に応じて、油圧アクチュエータの制御を行う。遠隔操作信号には、例えば、操作対象のアクチュエータ(被駆動要素)や、操作対象のアクチュエータ(被駆動要素)に関する遠隔操作の内容(例えば、操作方向及び操作量等)が規定される。具体的には、コントローラ30は、遠隔操作信号で規定される遠隔操作の内容に対応する制御指令(以下、「遠隔操作指令」)を出力する。そして、コントロールバルブ17は、メインポンプ14から供給される作動油を、遠隔操作指令(即ち、遠隔操作の内容)に応じて、油圧アクチュエータに選択的に供給する。
<ショベルの操作系>
本実施形態に係るショベル100の操作系は、パイロットポンプ15と、操作装置26とを含む。また、図2Aに示すように、ショベル100の操作系は、操作装置26が油圧パイロット式である場合、シャトル弁32を含む。
パイロットポンプ15は、例えば、エンジン11と同様、上部旋回体3の後部に搭載され、パイロットライン25を介して各種油圧機器にパイロット圧を供給する。パイロットポンプ15は、例えば、固定容量式油圧ポンプであり、上述の如く、エンジン11により駆動される。
操作装置26は、キャビン10の操縦席付近に設けられ、オペレータが各種被駆動要素(下部走行体1、上部旋回体3、ブーム4、アーム5、バケット6等)の操作を行うために用いられる。換言すれば、操作装置26は、オペレータがそれぞれの被駆動要素を駆動する油圧アクチュエータ(即ち、走行油圧モータ1ML,1MR、旋回油圧モータ2A、ブームシリンダ7、アームシリンダ8、バケットシリンダ9等)の操作を行うために用いられる。操作装置26は、例えば、ブーム4(ブームシリンダ7)、アーム5(アームシリンダ8)、バケット6(バケットシリンダ9)、及び上部旋回体3(旋回油圧モータ2A)のそれぞれを操作するレバー装置を含む。また、操作装置26は、例えば、下部走行体1の左右のクローラ1CL,1CR(走行油圧モータ1ML,1MR)のそれぞれを操作するレバー装置を含む。また、操作装置26は、下部走行体1の左右のクローラ1CL,1CR(走行油圧モータ1ML,1MR)のそれぞれを操作する当該レバー装置と連動するペダル装置を含んでもよい。
例えば、図2Aに示すように、操作装置26は、油圧パイロット式である。具体的には、操作装置26は、パイロットライン25及びそこから分岐するパイロットライン25Aを通じてパイロットポンプ15から供給される作動油を利用し、その操作内容に応じたパイロット圧を二次側のパイロットライン27に出力する。パイロットライン27は、シャトル弁32を介してコントロールバルブ17に接続される。これにより、コントロールバルブ17には、シャトル弁32を介して、操作装置26における各種被駆動要素(即ち、これらを駆動する油圧アクチュエータ)に関する操作内容に応じたパイロット圧が入力されうる。そのため、コントロールバルブ17は、操作装置26の操作内容に応じたそれぞれの油圧アクチュエータの動作を実現することができる。
また、例えば、図2Bに示すように、操作装置26は、電気式である。具体的には、操作装置26は、操作内容に応じた電気信号を出力し、当該電気信号は、コントローラ30に取り込まれる。そして、コントローラ30は、当該電気信号の内容、つまり、操作装置26に対する操作内容に応じた制御指令(以下、自動制御指令や遠隔操作指令と区別し、「直接操作指令」)を油圧制御弁31に出力する。これにより、操作装置26に対する操作内容に応じたパイロット圧が油圧制御弁31からコントロールバルブ17に入力される。そのため、コントロールバルブ17は、操作装置26に対する操作内容に応じたそれぞれの油圧アクチュエータの動作を実現することができる。
尚、コントロールバルブ17に内蔵される制御弁(方向切換弁)は、油圧駆動式でなく、電気駆動式(例えば、電磁ソレノイド式)であってもよい。この場合、操作装置26から出力される電気信号が直接的にコントロールバルブ17、つまり、電気駆動式の制御弁に入力されてもよい。
油圧制御弁31は、操作装置26の操作対象の被駆動要素(左右のクローラ1C、上部旋回体3、ブーム4、アーム5、及びバケット6)ごとに設けられ、パイロットポンプ15の作動油を用いて、コントローラ30の制御指令に応じたパイロット圧を出力する。油圧制御弁31は、例えば、電磁比例弁である。油圧制御弁31は、パイロットポンプ15とコントロールバルブ17との間のパイロットラインに設けられ、その流路面積(即ち、作動油が通流可能な断面積)を変更可能に構成される。これにより、油圧制御弁31は、パイロットポンプ15の作動油を利用して、所定のパイロット圧を二次側に出力することができる。
例えば、図2Aに示すように、油圧制御弁31は、パイロットポンプ15とシャトル弁32との間を繋ぐパイロットライン25及びパイロットライン25Bのうちのパイロットライン25Bに設けられる。これにより、油圧制御弁31は、シャトル弁32を介して、コントローラ30からの制御指令に応じた所定のパイロット圧をコントロールバルブ17に作用させることができる。そのため、油圧制御弁31は、例えば、コントローラ30から入力される遠隔操作指令に応じて、遠隔操作の内容に応じたパイロット圧を出力し、シャトル弁32を介してコントロールバルブ17に作用させることができる。また、油圧制御弁31は、例えば、コントローラ30から入力される自動制御指令に応じて、自動運転機能に対応するパイロット圧を出力し、シャトル弁32を介してコントロールバルブ17に作用させることができる。よって、油圧制御弁31は、コントローラ30の制御下で、遠隔操作の内容に対応する油圧アクチュエータの動作やショベル100の自動運転機能に対応する油圧アクチュエータの動作を実現することができる。
また、図2Bに示すように、油圧制御弁31は、パイロットポンプ15とコントロールバルブ17との間を繋ぐパイロットライン25に設けられる。これにより、油圧制御弁31は、直接的に、コントローラ30からの制御指令に応じた所定のパイロット圧をコントロールバルブ17に作用させることができる。そのため、油圧制御弁31は、コントローラ30から入力される直接操作指令に応じて、操作装置26の操作内容に応じたパイロット圧をコントロールバルブ17に作用させ、操作装置26の操作内容に対応する油圧アクチュエータの動作を実現することができる。また、油圧制御弁31は、コントローラ30から入力される遠隔操作指令に応じて、遠隔操作の内容に応じたパイロット圧をコントロールバルブ17に作用させ、遠隔操作の内容に対応する油圧アクチュエータの動作を実現することができる。また、油圧制御弁31は、コントローラ30から入力される自動制御指令に応じて、自動運転機能の動作内容に応じたパイロット圧をコントロールバルブ17に作用させ、自動運転機能に対応する油圧アクチュエータの動作を実現することができる。
尚、コントロールバルブ17に内蔵される制御弁(方向切換弁)は、上述の如く、油圧駆動式でなく、電気駆動式であってもよい。この場合、油圧制御弁31は、省略され、コントローラ30から出力される直接操作指令、自動制御指令、遠隔操作指令等の制御指令は、コントロールバルブ17に、つまり、電気駆動式の制御弁に直接入力される。
図2Aに示すように、シャトル弁32は、2つの入口ポートと1つの出口ポートを有し、2つの入口ポートに入力されたパイロット圧のうちの高い方のパイロット圧を有する作動油を出口ポートに出力させる。シャトル弁32は、操作装置26の操作対象の被駆動要素(クローラ1CL、クローラ1CR、上部旋回体3、ブーム4、アーム5、及びバケット6)ごとに設けられる。シャトル弁32の2つの入口ポートのうちの一方が操作装置26(具体的には、操作装置26に含まれる上述のレバー装置やペダル装置)に接続され、他方が油圧制御弁31に接続される。シャトル弁32の出口ポートは、パイロットラインを通じて、コントロールバルブ17の対応する制御弁のパイロットポートに接続される。具体的には、対応する制御弁は、シャトル弁32の一方の入口ポートに接続される上述のレバー装置の操作対象である油圧アクチュエータに供給される作動油の流れ及び方向を制御する制御弁である。そのため、これらのシャトル弁32は、それぞれ、操作装置26が生成するパイロット圧、及び油圧制御弁31が生成するパイロット圧のうちの高い方を、対応する制御弁のパイロットポートに作用させることができる。つまり、コントローラ30は、操作装置26から出力される二次側のパイロット圧よりも高いパイロット圧を油圧制御弁31から出力させることで、オペレータの操作装置26に対する操作に依らず、対応する制御弁を制御することができる。よって、コントローラ30は、操作装置26に対する操作状態に依らず、被駆動要素(下部走行体1、上部旋回体3、アタッチメント)の動作を制御し、ショベル100の遠隔操作や自動運転機能を実現することができる。
また、パイロットライン27には、コントローラ30からの制御指令で動作する減圧弁が設けられてもよい。これにより、コントローラ30は、操作装置26の二次側のパイロット圧を減圧させ、シャトル弁32の一方の入口ポートに作用するパイロット圧を、油圧制御弁31からシャトル弁32の他方の入口ポートに作用するパイロット圧より確実に低くすることができる。そのため、コントローラ30は、操作装置26が操作され、操作装置26から相対的に大きいパイロット圧が出力されている場合であっても、油圧制御弁31から出力されるパイロット圧を優先的にコントロールバルブ17に供給させることができる。よって、コントローラ30は、操作装置26が操作されている場合であっても、遠隔操作の内容に対応する油圧アクチュエータの動作や自動運転機能に対応する油圧アクチュエータの動作を確実に実現させることができる。
<ショベルの制御系>
本実施形態に係るショベル100の制御系は、コントローラ30と、演算装置30Eと、周囲情報取得装置40と、記憶装置45,47と、表示装置50と、入力装置52とを含む。また、図2Aに示すように、本実施形態に係るショベル100の制御系は、操作装置26が油圧パイロット式である場合、操作圧センサ29を含む。
コントローラ30は、ショベル100に関する各種の制御を行う。コントローラ30は、その機能が任意のハードウェア、或いは、任意のハードウェア及びソフトウェアの組み合わせにより実現されてよい。例えば、コントローラ30は、CPU(Central Processing Unit)、RAM(Random Access Memory)等のメモリ装置、ROM(Read Only Memory)等の不揮発性の補助記憶装置、及び入出力用のインタフェース装置等を含むコンピュータを中心に構成される。コントローラ30は、例えば、補助記憶装置にインストールされるプログラムをCPU上で実行することにより各種機能を実現する。
例えば、コントローラ30は、上述の如く、外部装置から受信される遠隔操作信号に応じて、油圧制御弁31に遠隔操作指令を出力し、ショベル100に遠隔操作の内容に応じた動作を行わせてよい。即ち、コントローラ30は、外部装置から受信される遠隔操作信号に応じて、ショベル100の遠隔操作機能に関する制御を行ってよい。
また、例えば、コントローラ30は、上述の如く、油圧制御弁31に自動制御指令を出力し、オペレータの操作に依らず、ショベル100を自動で動作させてもよい。即ち、コントローラ30は、ショベル100の自動運転機能に関する制御を行ってもよい。具体的には、コントローラ30は、演算装置30Eにより認識されるショベル100の周囲の状況やショベル100の各種状態に基づき、ショベル100の動作内容を判断し、動作内容に対応する自動制御指令を油圧制御弁31に出力してよい。
また、例えば、コントローラ30は、演算装置30Eにより認識されるショベル100の周囲の状況に関する情報を表示装置50に表示させてもよい。また、ショベル100が遠隔操作される場合、コントローラ30は、演算装置30Eにより認識されるショベル100の周囲の状況に関する情報を外部装置に送信し、外部装置に設けられる表示装置に表示させるようにしてもよい。これにより、オペレータは、キャビン10の外部の目視、或いは、ショベル100の周囲の画像情報の目視に加え、演算装置30Eにより認識されるショベル100の周囲の状況に関する情報を通じて、より確実にショベル100の周囲の状況を把握できる。
尚、コントローラ30の機能の一部は、他の制御装置により実現されてもよい。即ち、コントローラ30の機能は、複数の制御装置により分散して実現される態様であってもよい。例えば、コントローラ30の機能の一部は、演算装置30Eにより実現されてもよい。
演算装置30Eは、コントローラ30の制御下で、各種の演算処理を行う。演算装置30Eは、任意のハードウェア、或いは、任意のハードウェア及びソフトウェアの組み合わせにより実現されてよい。例えば、演算装置30Eは、CPUの他、GPU(Graphical Processing Unit),ASIC(Application Specific Integrated Circuit),FPGA(Field-Programmable Gate Array)等のプロセッサを含み、高速演算処理を実現する。
例えば、演算装置30Eは、ショベル100の周囲の状況を認識する。ショベル100の周囲の状況には、ショベル100の周囲の物体の位置及び形状が含まれる。ショベル100の周囲の物体には、例えば、地面、土砂、電柱、柵、ロードコーン、仮設事務所等の建物、建設機械、作業車両等が含まれてよい。具体的には、演算装置30Eは、所定の制御周期ごとに、周囲情報取得装置40の出力に基づき、ショベル100の周囲の状況を認識する。演算装置30Eは、ショベル100の周囲の状況の認識結果をコントローラ30に出力する。これにより、コントローラ30は、ショベル100の周囲の状況を把握しながら、ショベル100の自動運転機能を働かせることができる。
また、例えば、演算装置30Eは、ショベル100の各種状態を認識してもよい。各種状態には、例えば、ショベル100の位置、上部旋回体3に対するクローラ1Cの向き、上部旋回体3及びアタッチメントの姿勢状態等が含まれてよい。具体的には、演算装置30Eは、所定の制御周期ごとに、周囲情報取得装置40の出力に基づき、ショベル100の周囲の物体の位置や見え方の変化等を把握することにより、ショベル100の位置、向き、姿勢状態等を認識してよい。
尚、演算装置30Eの機能は、コントローラ30に組み込まれてもよい。
周囲情報取得装置40は、ショベル100の周囲の状況に関する情報(以下、「周囲情報」)を取得する。周囲情報取得装置40は、取得した周囲情報を演算装置30Eに出力し、周囲情報は、演算装置30Eに取り込まれる。
周囲情報取得装置40は、例えば、単眼カメラ、ステレオカメラ、デプスカメラ等の撮像装置を含む。撮像装置は、周囲情報として、ショベル100の周囲の様子を表す画像情報(撮像画像)を取得する。また、撮像装置は、撮像画像に基づき、周囲情報として、所定の撮像範囲(画角)内におけるショベル100の周囲の物体の位置及び外形を表す三次元データ(例えば、点群データやサーフェスデータ)を取得してもよい。
また、周囲情報取得装置40は、例えば、LIDAR(Light Detecting and Ranging)、ミリ波レーダ、超音波センサ、赤外線センサ、距離画像センサ等の距離センサを含んでもよい。距離センサは、周囲情報として、所定の検知範囲内におけるショベル100の周囲の物体の位置及び形状を表す三次元データを取得してよい。
周囲情報取得装置40は、例えば、図1に示すように、キャビン10の上面前端に取り付けられ、エンドアタッチメントの作業範囲を含む上部旋回体3の前方の周囲情報を取得する。これにより、演算装置30Eは、周囲情報に基づき、ショベル100の前方の状況を認識することができる。また、演算装置30Eは、周囲情報から認識されるショベル100の周囲の物体の位置や見え方の変化等に基づき、ショベル100の位置や上部旋回体3の旋回状態等を認識することができる。また、周囲情報取得装置40の周囲情報の取得範囲(例えば、撮像装置の撮像範囲や距離センサの検知範囲等)には、ブーム4、アーム5、及びエンドアタッチメント(バケット6)、即ち、アタッチメントが含まれる。これにより、演算装置30Eは、周囲情報に基づき、アタッチメントの姿勢状態(例えば、ブーム4、アーム5、及びバケット6の少なくとも一つの姿勢角)を認識することができる。
尚、ショベル100には、周囲情報取得装置40に加えて、ショベル100の状態に関する情報を取得する装置が更に設けられてもよい。例えば、ショベル100には、自機の絶対位置を測位可能な測位装置が搭載されてよい。測位装置には、例えば、GNSS(Global Navigation Satellite System)センサが含まれてよい。また、例えば、ショベル100には、上部旋回体3の向きを検出可能な向き検出装置が搭載されてもよい。向き検出装置には、例えば、地磁気センサが含まれてよい。また、例えば、ショベル100には、上部旋回体3やアタッチメントの姿勢状態を検出可能な姿勢検出装置が含まれてもよい。姿勢検出装置には、例えば、ポテンショメータ、レゾルバ、加速度センサ、角速度センサ、六軸センサ、IMU(Inertial Measurement Unit)、レーザキャッチャ等が含まれてよい。また、アタッチメントの姿勢検出装置には、アタッチメントを駆動するブームシリンダ7、アームシリンダ8、及びバケットシリンダ9のシリンダのストローク位置を検出するシリンダストロークセンサが含まれてもよい。これにより、演算装置30Eは、周囲情報取得装置40の出力(周囲情報)に加えて、測位装置、向き検出装置、姿勢検出装置等の出力を用いることで、ショベル100の位置や向きや姿勢等をより精度良く認識することができる。
記憶装置45,47には、演算装置30Eで用いられる各種データが記憶される。
記憶装置45には、演算装置30Eで用いられる各種の静的データが予め登録される。静的データは、基本的に変化しないデータである。記憶装置45には、例えば、アタッチメント(ブーム4、アーム5、及びエンドアタッチメント)の外形形状に関するデータ(以下、「外形形状データ」)が記憶される。アタッチメントの外形形状データには、バケット6の外形形状データだけでなく、他の種類のエンドアタッチメントの外形形状データが含まれてよい。
記憶装置47には、演算装置30Eで用いられる各種の動的データが時系列的に蓄積される。記憶装置47には、例えば、周囲情報取得装置40により取得される周囲情報が時系列的に蓄積される。周囲情報は、周囲情報取得装置40によって記憶装置47に記憶させる(書き込む)処理が行われてもよいし、他の装置(例えば、演算装置30E)によって当該処理が行われてもよい。また、例えば、記憶装置47には、演算装置30Eにより生成される地面観測データ及びアタッチメント観測データが時系列的に蓄積されてもよい。
尚、記憶装置45,47の少なくとも一方は、演算装置30Eの内部に搭載されてもよい。また、記憶装置45,47は、一の記憶装置に統合されてもよい。
表示装置50は、キャビン10内の着座したオペレータから視認し易い場所に設けられ、各種情報画像を表示する。表示装置50は、例えば、液晶ディスプレイや有機ELディスプレイである。
入力装置52は、キャビン10内の着座したオペレータから手が届く範囲に設けられ、オペレータによる各種操作入力を受け付け、操作入力に対応する信号は、コントローラ30に取り込まれる。例えば、入力装置52は、表示装置50に実装されるタッチパネル、表示装置50の周囲に設置されるタッチパッド、ボタンスイッチ、レバー、トグル、操作装置26に設けられるノブスイッチ等のハードウェアによる入力手段を含む。また、入力装置52は、表示装置50に表示される各種操作画面に表示される仮想的な操作対象(例えば、操作アイコン)等のハードウェアの入力手段によって操作可能なソフトウェアの入力手段を含んでもよい。入力装置52に対する操作内容に対応する信号は、コントローラ30に取り込まれる。
図2Aに示すように、操作圧センサ29は、操作装置26の二次側(パイロットライン27)のパイロット圧、即ち、操作装置26におけるそれぞれの被駆動要素(即ち、これらを駆動する油圧アクチュエータ)の操作状態に対応するパイロット圧を検出する。操作圧センサ29による操作装置26における下部走行体1、上部旋回体3、ブーム4、アーム5、及びバケット6等に関する操作状態に対応するパイロット圧の検出信号は、コントローラ30に取り込まれる。
[演算装置の処理の具体例]
次に、図3〜図5を参照して、演算装置30Eの処理について説明する。
図3は、演算装置30Eの処理の一例を概略的に示すフローチャートである。図4は、周囲情報取得装置40の死角領域の一例を示す図である。図5(図5A、図5B)は、ショベル100の周囲の死角領域の物体の位置及び形状を推定する方法の具体例を示す図である。
図3のフローチャートは、例えば、ショベル100の起動時(例えば、キースイッチのオン時)における初期処理の完了後からショベル100の停止時(例えば、キースイッチのオフ時)における終了処理の開始前までの間で所定の制御周期ごとに繰り返される。また、演算装置30Eによるショベル100の周囲の状況を認識する機能の有効・無効が切替可能である場合、当該機能が有効な状況で所定の制御周期ごとに繰り返される。この場合、当該機能の有効・無効の切り替えは、入力装置52を通じた所定の操作により実現可能であってよい。
図3に示すように、ステップS102にて、演算装置30Eは、周囲情報取得装置40から出力された最新の周囲情報を取得する(取り込む)。演算装置30Eは、ステップS102の処理が完了すると、ステップS104に進む。
ステップS104にて、演算装置30Eは、周囲情報のデータを、アタッチメント観測データと、地面観測データとに分離する。演算装置30Eは、ステップS104の処理が完了すると、ステップS106,S108に進む。
アタッチメント観測データは、周囲情報のデータのうち、アタッチメントの位置及び形状を表す部分のデータである。地面観測データは、周囲情報のデータのうち、ショベル100の周囲の地面等の物体の位置及び形状を表すデータであり、アタッチメント観測データを除く部分のデータである。
具体的には、演算装置30Eは、記憶装置45に登録されるアタッチメントの外形形状データに基づき、周囲情報のデータを、アタッチメント観測データと、地面観測データとに分離してよい。また、演算装置30Eは、アタッチメントの外形形状データに加え、上述の測位装置、向き検出装置、姿勢検出装置等の出力に基づき、周囲情報のデータを、アタッチメント観測データと、地面観測データとに分離してもよい。これにより、演算装置30Eは、ショベル100の位置、向き、姿勢状態等に合わせて、周囲情報のデータの中のアタッチメントの位置及び形状を表す部分をより効率的に見つけ出すことができる。例えば、演算装置30Eは、以下の(1)〜(3)の手順で、周囲情報のデータを、アタッチメント観測データと、地面観測データとに分離する。
(1)アタッチメントに相当する部分の探索
演算装置30Eは、周囲情報のデータの中からアタッチメントの外形形状に略一致する部分を探索する。演算装置30Eは、例えば、アピアランスベース物体認識やモデルベース物体認識等、三次元データに基づく既知の物体認識手法を用いて、周囲情報のデータの中からアタッチメントの外形形状に略一致する部分を認識してよい。
(2)アタッチメント観測データの抽出
演算装置30Eは、周囲情報のデータの中でアタッチメントの外形形状と略一致する部分のデータをアタッチメント観測データとして抽出する。
(3)地面観測データの抽出
演算装置30Eは、最新の周囲情報のデータの中でアタッチメントの外形形状と略一致しない部分、即ち、アタッチメント観測データ以外の部分を地面観測データとして抽出する。
ステップS106,S108は、並列処理され、演算装置30Eは、ステップS106,S108の処理が共に完了すると、ステップS110に進む。また、ステップS106、S108は、任意の順番に直列処理されてもよい。
ステップS106にて、演算装置30Eは、ショベル100に装着されているエンドアタッチメント(例えば、バケット6)のうちの最新の周囲情報における死角部分の位置及び形状を推定する。具体的には、演算装置30Eは、記憶装置45に登録されるアタッチメントの外形形状データと、ステップS104で抽出した最新のアタッチメント観測データとに基づき、エンドアタッチメントの死角部分の位置及び形状を推定してよい。例えば、演算装置30Eは、最新のアタッチメント観測データに、その姿勢状態に合わせて、エンドアタッチメントの外形形状データを重ね合わせることにより、エンドアタッチメントの死角部分の位置及び形状を推定することができる。
例えば、図4に示すように、周囲情報取得装置40は、周囲情報として、バケット6の正面(土砂等の収容部)の位置及び形状に関する情報を取得することができる。一方、バケット6の背面(死角部分400)は、周囲情報取得装置40の死角となり、周囲情報取得装置40は、死角部分400の位置及び形状に関する情報を取得することができない。本例では、演算装置30Eは、最新のアタッチメント観測データと、記憶装置45に登録されるアタッチメント(バケット6)の外形形状データとに基づき、死角部分400の位置及び形状を推定する。
図3に戻り、ステップS108にて、演算装置30Eは、ショベル100の周囲の物体(例えば、地面等)のうちの死角領域の物体の位置及び形状を推定する。具体的には、演算装置30Eは、最新の地面観測データと、当該データより過去の時点の地面観測データ(以下、単に「過去の地面観測データ」)とに基づき、死角領域のショベル100の周囲の物体の位置及び形状を推定する。
例えば、図4に示すように、死角領域には、周囲情報取得装置40とショベル100の周囲の物体(例えば、地面)との間がアタッチメント(例えば、バケット6)で遮られる領域(例えば、死角領域410)が含まれる。また、死角領域には、例えば、周囲情報取得装置40による周囲情報の取得範囲(例えば、撮像装置の撮像範囲や距離センサの検知範囲)の外に相当するショベル100の周囲の領域が含まれてもよい。
例えば、演算装置30Eは、以下の(1)〜(3)の手順で、死角領域のショベル100の周囲の物体及び形状を推定してよい。
(1)過去の地面観測データの検索
演算装置30Eは、過去の地面観測データの中から、最新の地面観測データの死角領域と同じショベル100の周囲の領域の物体の位置及び形状に関するデータを含む地面観測データを検索し、抽出する。この際、検索対象の過去の地面観測データは、例えば、全ての過去の地面観測データのうち、最新の地面観測データの取得時点から遡って所定時間以内に取得された地面観測データであってよい。ショベル100の周囲の物体の位置及び形状は、ショベル100の作業等に伴い、時間経過に応じて変化してしまうからである。また、演算装置30Eは、過去の地面観測データの中からある時点で取得された一の地面観測データを抽出してもよいし、取得時点の異なる複数の地面観測データを抽出してもよい。
(2)地面観測データの結合
演算装置30Eは、最新の地面観測データと抽出した過去の地面観測データとを結合する。この際、演算装置30Eは、例えば、SLAM(Simultaneously Localization And Mapping)等の地図作成技術を援用してよい。
(3)古い重複データの削除
手順(2)で得られる結合データの中に、取得時点が異なる複数の地面観測データが重複しているショベル100の周囲の領域(以下、「重複領域」)が存在する場合がある。この場合、演算装置30Eは、重複領域のデータ(以下、「重複データ」)のうち、最も取得時点が新しい地面観測データに対応する重複データを残し、それ以外の古い地面観測データに対応する重複データを削除する。これにより、演算装置30Eは、最新の地面観測データの死角領域が過去の地面観測データで補われた地面観測データ(以下、「地面観測拡張データ」)を取得することができる。そのため、演算装置30Eは、地面観測拡張データのうちの補われた死角領域のデータに基づき、死角領域の物体の存在の有無及びその位置や形状を推定することができる。よって、演算装置30Eは、推定される死角領域の物体の存在の有無及びその位置や形状に基づき、死角領域の状況を認識することができる。
例えば、図5Aに示すように、本例では、演算装置30Eは、ショベル100の前方の最新の地面観測データ510を取得している。
最新の地面観測データ510は、地面観測データ部分510A,510B,510Cを含む。地面観測データ部分510Aは、周囲情報取得装置40から見て、ショベル100の前方のアタッチメントよりも左側の領域の物体の位置及び形状を表している。地面観測データ部分510Bは、周囲情報取得装置40から見て、ショベル100の前方のアタッチメントよりも右側の領域の物体の位置及び形状を表している。地面観測データ部分510Cは、周囲情報取得装置40から見て、ショベル100の前方のアタッチメントよりも手前の領域の物体の位置及び形状を表している。
また、最新の地面観測データ510には、周囲情報取得装置40とアタッチメント(例えば、バケット6)との間が遮られることによる死角領域515が存在する。
また、本例では、演算装置30Eは、記憶装置45に蓄積される過去の地面観測データの中から最新の地面観測データ510の死角領域(死角領域515を含む)の物体の位置及び形状に関する情報を含む過去の地面観測データ520を抽出している。
過去の地面観測データ520は、地面観測データ部分520A,520B,520Cを含む。地面観測データ部分520Aは、取得時点における周囲情報取得装置40から見て、ショベル100の前方のアタッチメントよりも左側の領域の物体の位置及び形状を表している。地面観測データ部分520Bは、取得時点におけるショベル100の前方のアタッチメントよりも右側の領域の物体の位置及び形状を表している。地面観測データ部分520Cは、取得時点におけるショベル100の前方のアタッチメントよりも手前の領域の物体の位置及び形状を表している。
地面観測データ部分520Aは、死角領域515全体の物体の位置及び形状を表すデータを含んでいる。地面観測データ部分520A,520B,520Cは、それぞれ、最新の地面観測データ510の取得時点における周囲情報取得装置40の情報の取得範囲外に相当する死角領域の物体の位置及び形状を表すデータを含んでいる。
そこで、図5Bに示すように、本例では、演算装置30Eは、最新の地面観測データ510と過去の地面観測データ520とを結合すると共に、重複領域について、過去の地面観測データ520の重複データを削除する。これにより、演算装置30Eは、最新の地面観測データ510の死角領域が過去の地面観測データで補われた、地面観測拡張データ530を取得することができる。
地面観測拡張データ530には、最新の地面観測データ510と、最新の地面観測データ510の死角領域を補う地面観測データ部分520A1,520A2,520A3,520B,520C1とを含む。
地面観測データ部分520A1は、地面観測データ部分520Aのうち、死角領域515の物体の位置及び形状を表している。地面観測データ部分520A2は、地面観測データ部分520Aのうち、最新の地面観測データ510の取得時点における周囲情報取得装置40の情報の取得範囲(外縁)よりも遠方側の死角領域に相当する部分である。地面観測データ部分520A3は、地面観測データ部分520Aのうち、最新の地面観測データ510の取得時点における周囲情報取得装置40の情報の取得範囲の右側の死角領域に相当する部分である。地面観測データ部分520C1は、地面観測データ部分520Cのうち、最新の地面観測データ510の取得時点における周囲情報取得装置40の情報の取得範囲の右側の死角領域に相当する部分である。
このように、演算装置30Eは、地面観測拡張データ530に基づき、最新の地面観測データ510の死角領域の物体の位置及び形状を推定することができる。
図3に戻り、ステップS110にて、演算装置30Eは、ステップS106で推定したエンドアタッチメントの死角部分の位置及び形状と、ステップS108で取得される地面観測拡張データとに基づき、エンドアタッチメントと地面との距離を推定する。演算装置30Eは、ステップS110の処理が完了すると、本フローチャートの今回の処理を終了する。
推定される距離は、地面に鉛直な方向(上下方向)の距離であってもよいし、エンドアタッチメントの現在の進行方向での距離であってもよい。また、演算装置30Eは、エンドアタッチメントと地面との距離を推定するのに代えて、或いは、加えて、エンドアタッチメントと地面との接触状態を推定してもよい。例えば、演算装置30Eは、推定されるエンドアタッチメントと地面との距離がゼロよりも十分に大きい正値である場合、非接触状態、略ゼロと判断可能な範囲にあれば、接触状態、ゼロよりも十分に小さい負値である場合、めり込み状態と推定してよい。これにより、例えば、コントローラ30は、自動運転機能により、地面の整形作業を行わせる場合に、演算装置30Eにより推定されるアタッチメントと地面との距離やその接触状態を把握しながら、アタッチメントの動作を自動制御することができる。また、例えば、コントローラ30は、演算装置30Eにより推定されるアタッチメントと地面との距離やその接触状態を表示装置50に表示させたり、その情報を外部装置に送信したりすることで、オペレータにエンドアタチメントと地面との関係を認識させることができる。そのため、ショベル100は、よりきめ細やかな地面整形が可能となり、その品質を向上させることができる。
[作用]
次に、本実施形態に係るショベル100の作用について説明する。
本実施形態では、周囲情報取得装置40(取得装置の一例)は、ショベル100の周囲の物体の位置及び形状に関する情報(周囲情報)を取得する。そして、演算装置30E(推定装置の一例)は、周囲情報取得装置40により取得された最新の情報よりも過去の情報に基づき、最新の情報における死角領域の物体の位置及び形状を推定する。
これにより、演算装置30Eは、過去の情報に含まれる、最新の情報における死角領域の情報を利用して、死角領域の物体の位置及び形状を推定することができる。
また、本実施形態では、演算装置30Eは、最新の情報における死角領域の物体の位置及び形状に関する情報を含む過去の情報に基づき、死角領域の物体の位置及び形状を推定してよい。
これにより、演算装置30Eは、取得時点の異なる複数の過去の情報の中で、死角領域の情報を含む過去の情報を利用して、具体的に、死角領域の物体の位置及び形状を推定することができる。
尚、演算装置30Eは、過去の情報に含まれる死角領域の情報に加えて、死角領域以外のショベル100の周囲の領域の情報も考慮して、死角領域の物体の位置及び形状を推定してもよい。例えば、演算装置30Eは、過去の情報の中の死角領域以外のショベル100の周囲の領域の情報と、最新の情報の中の同じ領域の情報とに基づき、ショベル100の作業の進行状況を把握してもよい。これにより、演算装置30Eは、ショベル100の作業に伴う地面形状の変化を考慮して、死角領域の物体の位置及び形状を推定することができる。
また、本実施形態では、演算装置30Eは、過去の情報に含まれる死角領域の物体の位置及び形状に関する情報を、死角領域の物体の位置及び形状に関する情報の最新状態と推定してよい。
これにより、演算装置30Eは、過去の情報に含まれる死角領域の物体の位置及び形状に関する情報で、最新の情報に不足している死角領域の情報をそのまま補うことができる。そのため、演算装置30Eは、より簡易な処理で、死角領域の物体の位置及び形状を推定することができる。
また、本実施形態では、演算装置30Eは、周囲情報取得装置40とショベル100の周囲の物体との間がアタッチメントで遮られることによる死角領域の物体の位置及び形状を推定してよい。
これにより、演算装置30Eは、過去の情報を用いて、最新の情報の取得時点の周囲情報取得装置40からアタッチメントで見えない死角領域の地面等の物体の位置及び形状を推定することができる。
また、本実施形態では、演算装置30Eは、周囲情報取得装置40による情報の取得範囲外に相当する死角領域の物体の位置及び形状を推定してよい。
これにより、演算装置30Eは、過去の情報を用いて、最新の情報の取得時点における周囲情報取得装置40の情報の取得範囲外に相当する死角領域の物体の位置及び形状を推定することができる。
また、本実施形態では、周囲情報取得装置40は、エンドアタッチメントの位置及び形状に関する情報を取得可能に構成される。そして、演算装置30Eは、エンドアタッチメントのうちの最新の情報における死角部分の位置及び形状を推定してよい。
これにより、演算装置30Eは、最新の情報の取得時点における周囲情報取得装置40から見えない部分のエンドアタッチメントの位置及び形状を認識することができる。
また、本実施形態では、演算装置30Eは、死角領域の物体の位置及び形状、並びにエンドアタッチメントの死角部分の位置及び形状の推定結果に基づき、エンドアタッチメントと地面との距離、及びエンドアタッチメントと地面との接触状態の少なくとも一方を推定してよい。
これにより、ショベル100は、上述の如く、よりきめ細やかな地面整形が可能となり、その品質を向上させることができる。
[変形・変更]
以上、実施形態について詳述したが、特定の実施形態に限定されるものではなく、特許請求の範囲に記載された要旨の範囲内において、種々の変形・変更が可能である。
例えば、上述した実施形態では、ショベル100は、下部走行体1、上部旋回体3、ブーム4、アーム5、エンドアタッチメント(バケット6)等の各種被駆動要素を全て油圧駆動する構成であったが、その一部が電気駆動される構成であってもよい。つまり、上述した実施形態で開示される構成等は、ハイブリッドショベルや電動ショベル等に適用されてもよい。
また、上述した実施形態及び変形例において、ショベル100が遠隔操作される場合、ショベル100の周囲の状況を認識する機能、即ち、演算装置30Eの機能の一部又は全部は、外部装置に移管されてもよい。この場合、外部装置は、ショベル100から周期的にアップロードされる周囲情報に基づき、同様の方法で、周囲情報取得装置40から見たショベル100の周囲の死角領域の物体の位置及び形状を推定してよい。
また、上述した実施形態及び変形例では、周囲情報取得装置40から見たショベル100の周囲の死角領域の物体の位置及び形状の推定方法を説明したが、この推定方法は、他の作業機械に適用されてもよい。他の作業機械には、例えば、フォークリフト、クレーン等が含まれうる。
例えば、上述した推定方法を用いて、フォークリフトに搭載される周囲情報取得装置から見た死角領域の物体の位置及び形状が推定されてよい。この場合、死角領域には、周囲情報取得装置の情報の取得範囲外の死角領域の他、周囲情報取得装置と周囲の物体との間がフォークリフトのマスト及び荷物により遮られることにより生じる死角領域が含まれる。また、例えば、上述した推定方法を用いて、クレーンに搭載される周囲情報取得装置から見た死角領域の物体の位置及び形状を推定されてもよい。この場合、死角領域には、周囲情報取得装置の情報の取得範囲外の死角領域の他、周囲情報取得装置と周囲の物体との間が荷物で遮られることにより生じる死角領域が含まれる。