以下、図面を参照して実施形態について説明する。
[ショベルの概要]
図1~図3を参照して、ショベルの概要について説明する。
図1、図2は、本実施形態に係るショベル100の一例を示す側面図及び上面図である。図3は、ショベル管理システムSYSの一例を示す図である。
図1、図2に示すように、ショベル100は、下部走行体1と、旋回機構2を介して旋回自在に下部走行体1に搭載される上部旋回体3と、各種作業を行うためのアタッチメントATと、キャビン10とを備える。以下、ショベル100(上部旋回体3)の前方は、ショベル100を上部旋回体3の旋回軸に沿って真上から平面視(上面視)で見たときに、上部旋回体3に対するアタッチメントが延び出す方向に対応する。
下部走行体1は、例えば、左右一対のクローラ1Cを含む。下部走行体1は、それぞれのクローラ1Cが左側の走行油圧モータ1ML及び右側の走行油圧モータ1MRで油圧駆動されることにより、ショベル100を走行させる。
上部旋回体3は、旋回機構2が旋回油圧モータ2Mで油圧駆動されることにより、下部走行体1に対して旋回する。
アタッチメントATは、被駆動要素としてのブーム4、アーム5、及びバケット6を含む。
ブーム4は、上部旋回体3の前部中央に俯仰可能に取り付けられ、ブーム4の先端には、アーム5が上下回動可能に取り付けられ、アーム5の先端には、バケット6が上下回動可能に取り付けられる。
バケット6は、エンドアタッチメントの一例である。バケット6は、例えば、掘削作業等に用いられる。
また、アーム5の先端には、作業内容等に応じて、バケット6の代わりに、他のエンドアタッチメントが取り付けられてもよい。他のエンドアタッチメントは、例えば、大型バケット、法面用バケット、浚渫用バケット等の他の種類のバケットであってよい。また、他のエンドアタッチメントは、攪拌機、ブレーカ、グラップル等のバケット以外の種類のエンドアタッチメントであってもよい。また、アーム5と、エンドアタッチメントとの間には、例えば、クイックカップリングやチルトローテータ等の予備アタッチメントが介装されてもよい。
また、バケット6には、クレーン作業用のフックが取り付けられてもよい。フックは、基端が、アーム5とバケット6との間を連結するバケットピンに回動可能に連結される。これにより、フックは、掘削作業等のクレーン作業(吊り作業)以外の作業が行われる場合、2本のバケットリンクの間に形成される空間に収納される。
ブーム4、アーム5、及びバケット6は、それぞれ、油圧アクチュエータとしてのブームシリンダ7、アームシリンダ8、及びバケットシリンダ9により油圧駆動される。
尚、ショベル100は、各種の油圧アクチュエータの一部又は全部が電動アクチュエータに置換されてもよい。つまり、ショベル100は、ハイブリッドショベルや電動ショベルであってもよい。
キャビン10は、オペレータが搭乗する操縦室であり、例えば、上部旋回体3の前部左側に搭載される。
尚、オペレータがショベル100に搭乗して操作を行わず、後述の如く、ショベル100が、専ら、遠隔操作や完全自動運転機能で動作する場合、キャビン10は省略されてよい。
また、図3に示すように、ショベル100は、管理装置200と共に、ショベル管理システムSYSに含まれ、所定の通信回線NWを通じて、管理装置200と相互に通信を行うことが可能であってもよい。これにより、ショベル100は、各種情報を管理装置200に送信(アップロード)したり、管理装置200から各種の信号(例えば、情報信号や制御信号)等を受信したりすることができる。
通信回線NWには、例えば、広域ネットワーク(WAN:Wide Area Network)が含まれる。広域ネットワークには、例えば、基地局を末端とする移動体通信網が含まれてよい。また、広域ネットワークには、例えば、ショベル100の上空の通信衛星を利用する衛星通信網が含まれてもよい。また、広域ネットワークには、例えば、インターネット網が含まれてもよい。また、通信回線NWには、例えば、管理装置200が設置される施設等のローカルネットワーク(LAN:Local Area Network)が含まれてもよい。ローカルネットワークは、無線回線であってもよいし、有線回線であってもよいし、その両方を含む回線であってよい。また、通信回線NWには、例えば、WiFiやブルートゥース(登録商標)等の所定の無線通信方式に基づく近距離通信回線が含まれてもよい。
ショベル管理システムSYSは、管理装置200において、ショベル100に関する管理やショベル100に関する支援を実施する。
例えば、ショベル管理システムSYSは、管理装置200において、ショベル100からアップロードされる各種情報に基づき、ショベル100の稼働状態や運用状況の管理(監視)を実施してよい。また、ショベル管理システムSYSは、後述の如く、管理装置200において、ショベル100の遠隔操作を支援してもよい。また、後述の如く、ショベル100が完全自動運転によって作業を行う場合、ショベル管理システムSYSは、例えば、管理装置200において、ショベル100の完全自動運転による作業の遠隔監視を支援してもよい。この場合、ショベル管理システムSYSは、管理装置200において、完全自動運転機能に対する監視者の介入によるショベル100の操作を支援してよい。
ショベル管理システムSYSに含まれるショベル100は、一台であってもよいし、複数台であってもよい。また、ショベル管理システムSYSに含まれる管理装置200は、一つであってもよいし、複数であってもよい。即ち、複数の管理装置200は、ショベル管理システムSYSに関する処理を分散して実施してよい。例えば、複数の管理装置200は、それぞれ、ショベル管理システムSYSに含まれる全てのショベル100のうちの担当する一部のショベル100との間で相互に通信を行い、一部のショベル100を対象とする処理を実行してよい。
管理装置200は、例えば、ショベル100が作業を行う作業現場の外部の管理センタ等に設置されるオンプレミスサーバやクラウドサーバであってよい。また、管理装置200は、例えば、ショベル100が作業行う作業現場内、或いは、作業現場から相対的に近い場所に配置されるエッジサーバであってもよい。また、管理装置200は、ショベル100の作業現場内の管理事務所等に配置される定置型の端末装置或いは可搬型の端末装置(携帯端末)であってもよい。定置型の端末装置には、例えば、デスクトップ型のPC(Personal Computer)が含まれてよい。また、携帯型の端末装置には、例えば、スマートフォン、タブレット端末、ラップトップ型のPC等が含まれてよい。
ショベル100は、キャビン10に搭乗するオペレータの操作に応じて、アクチュエータ(例えば、油圧アクチュエータ)を動作させ、下部走行体1、上部旋回体3、及びアタッチメントAT等の被駆動要素を駆動してよい。
また、ショベル100は、所定の外部装置(例えば、管理装置200)から遠隔操作(リモート操作)が可能に構成されてもよい。ショベル100が遠隔操作される場合、キャビン10の内部は、無人状態であってもよい。以下、オペレータの操作には、キャビン10のオペレータによる操作装置26に対する操作、及び外部のオペレータによる遠隔操作の双方が含まれる前提で説明を進める。
具体的には、管理装置200で行われるショベル100のアクチュエータに関するユーザ(オペレータ)からの入力によって、ショベル100が操作される。この場合、ショベル100は、例えば、後述の撮像装置40の撮像画像やその撮像画像に基づく加工画像(例えば、視点変換画像)等のショベル100の周辺の様子を表す画像(以下、「周辺画像」)のデータを外部装置に送信する。そして、周辺画像は、管理装置200に設けられる遠隔操作用の表示装置(以下、「遠隔操作用表示装置」)に表示される。また、ショベル100のキャビン10内の表示装置50A(図6参照)に表示される各種の情報画像(情報画面)は、同様に、管理装置200の遠隔操作用表示装置にも表示されてよい。これにより、オペレータは、例えば、遠隔操作用表示装置に表示されるショベル100の周辺の様子を表す周辺画像や各種の情報画像等の表示内容を確認しながら、ショベル100を遠隔操作することができる。そして、ショベル100は、管理装置200から受信される、遠隔操作の内容を表す遠隔操作信号に応じて、アクチュエータを動作させ、下部走行体1、上部旋回体3、及びアタッチメントAT等の被駆動要素を駆動することができる。
また、ショベル100は、オペレータの操作の内容に依らず、自動でアクチュエータを動作させてもよい。これにより、ショベル100は、下部走行体1、上部旋回体3、アタッチメントAT等の被駆動要素の少なくとも一部を自動で動作させる機能、即ち、いわゆる「自動運転機能」或いは「マシンコントロール(Machine Control:MC)機能」を実現することができる。
自動運転機能には、オペレータの操作に応じて、操作対象の被駆動要素(アクチュエータ)以外の被駆動要素(アクチュエータ)を自動で動作させる機能、即ち、いわゆる「半自動運機能」或いは「操作支援型のMC機能」が含まれてよい。また、自動運転機能には、オペレータの操作がない前提で、複数の被駆動要素(油圧アクチュエータ)の少なくとも一部を自動で動作させる機能、即ち、いわゆる「完全自動運転機能」或いは「完全自動型のMC機能」が含まれてもよい。ショベル100において、完全自動運転機能が有効な場合、キャビン10の内部は無人状態であってよい。また、半自動運転機能や完全自動運転機能等には、自動運転の対象の被駆動要素(アクチュエータ)の動作内容が予め規定されるルールに従って自動的に決定される態様が含まれてよい。また、半自動運転機能や完全自動運転機能等には、ショベル100が自律的に各種の判断を行い、その判断結果に沿って、自律的に自動運転の対象の被駆動要素(油圧アクチュエータ)の動作内容が決定される、いわゆる「自律運転機能」が含まれてもよい。
[ショベルのハードウェア構成]
次に、図4を参照して、ショベル100のハードウェア構成について説明する。
図4は、ショベル100のハードウェア構成の一例を示す図である。
尚、図4では、機械的動力が伝達される経路は二重線、油圧アクチュエータを駆動する高圧の作動油が流れる経路は実線、パイロット圧が伝達される経路は破線、電気信号が伝達される経路は点線でそれぞれ示される。
ショベル100は、被駆動要素の油圧駆動に関する油圧駆動系、被駆動要素の操作に関する操作系、ユーザとの情報のやり取りに関するユーザインタフェース系、外部との通信に関する通信系、及び各種制御に関する制御系等のそれぞれの構成要素を含む。
<油圧駆動系>
図4に示すように、本実施形態に係るショベル100の油圧駆動系は、上述の如く、下部走行体1(左右のクローラ1C)、上部旋回体3、及びアタッチメントAT等の被駆動要素のそれぞれを油圧駆動する油圧アクチュエータHAを含む。また、本実施形態に係るショベル100の油圧駆動系は、エンジン11と、レギュレータ13と、メインポンプ14と、コントロールバルブ17とを含む。
図6に示すように、油圧アクチュエータHAには、走行油圧モータ1ML,1MR、旋回油圧モータ2M、ブームシリンダ7、アームシリンダ8、及びバケットシリンダ9等が含まれる。
エンジン11は、ショベル100の原動機であり、油圧駆動系におけるメイン動力源である。エンジン11は、例えば、軽油を燃料とするディーゼルエンジンである。エンジン11は、例えば、上部旋回体3の後部に搭載される。エンジン11は、後述するコントローラ30による直接或いは間接的な制御下で、予め設定される目標回転数で一定回転し、メインポンプ14及びパイロットポンプ15を駆動する。
尚、エンジン11に代えて、或いは、加えて、他の原動機(例えば、電動機)等がショベル100に搭載されてもよい。
レギュレータ13は、コントローラ30の制御下で、メインポンプ14の吐出量を制御(調節)する。例えば、レギュレータ13は、コントローラ30からの制御指令に応じて、メインポンプ14の斜板の角度(以下、「傾転角」)を調節する。
メインポンプ14は、高圧油圧ラインを通じてコントロールバルブ17に作動油を供給する。メインポンプ14は、例えば、エンジン11と同様、上部旋回体3の後部に搭載される。メインポンプ14は、上述の如く、エンジン11により駆動される。メインポンプ14は、例えば、可変容量式油圧ポンプであり、上述の如く、コントローラ30の制御下で、レギュレータ13により斜板の傾転角が調節されることによりピストンのストローク長が調整され、吐出流量(吐出圧)が制御される。
コントロールバルブ17は、オペレータの操作装置26に対する操作や遠隔操作の内容、或いは、コントローラ30から出力される自動運転機能に関する操作指令に応じて、油圧アクチュエータHAの制御を行う油圧制御装置である。自動運転機能に対応する操作指令は、コントローラ30が生成してもよいし、自動運転機能に関する制御を行う他の制御装置(演算装置)が生成してもよい。コントロールバルブ17は、例えば、上部旋回体3の中央部に搭載される。コントロールバルブ17は、上述の如く、高圧油圧ラインを介してメインポンプ14と接続され、メインポンプ14から供給される作動油を、オペレータの操作、或いは、自動運転機能に対応する操作指令に応じて、それぞれの油圧アクチュエータに選択的に供給する。具体的には、コントロールバルブ17は、メインポンプ14から油圧アクチュエータHAのそれぞれに供給される作動油の流量と流れる方向を制御する複数の制御弁(「方向切換弁」とも称する)を含む。
<操作系>
図4に示すように、本実施形態に係るショベル100の操作系は、パイロットポンプ15と、操作装置26と、油圧制御弁31と、シャトル弁32と、油圧制御弁33とを含む。
パイロットポンプ15は、パイロットライン25を介して各種油圧機器にパイロット圧を供給する。パイロットポンプ15は、例えば、エンジン11と同様、上部旋回体3の後部に搭載される。パイロットポンプ15は、例えば、固定容量式油圧ポンプであり、上述の如く、エンジン11により駆動される。
尚、パイロットポンプ15は、省略されてもよい。この場合、メインポンプ14から吐出される相対的に高い圧力の作動油が所定の減圧弁により減圧された後の相対的に低い圧力の作動油がパイロット圧として各種油圧機器に供給される。
操作装置26は、キャビン10の操縦席付近に設けられ、オペレータが各種被駆動要素の操作を行うために用いられる。換言すれば、操作装置26は、オペレータがそれぞれの被駆動要素を駆動する油圧アクチュエータHAの操作を行うために用いられる。操作装置26は、それぞれの被駆動要素(油圧アクチュエータHA)を操作するためのペダル装置やレバー装置を含む。
例えば、図4に示すように、操作装置26は、油圧パイロット式である。具体的には、操作装置26は、パイロットライン25及びそこから分岐されるパイロットライン25Aを通じてパイロットポンプ15から供給される作動油を利用し、操作内容に応じたパイロット圧を二次側のパイロットライン27Aに出力する。パイロットライン27Aは、シャトル弁32の一方の入口ポートに接続され、シャトル弁32の出口ポートに接続されるパイロットライン27を介して、コントロールバルブ17に接続される。これにより、コントロールバルブ17には、シャトル弁32を介して、操作装置26における各種被駆動要素(油圧アクチュエータ)に関する操作内容に応じたパイロット圧が入力されうる。そのため、コントロールバルブ17は、オペレータ等による操作装置26に対する操作内容に応じて、それぞれの油圧アクチュエータHAを駆動することができる。
尚、操作装置26は、電気式であってもよい。この場合、パイロットライン27A、シャトル弁32、及び油圧制御弁33は省略される。具体的には、操作装置26は、操作内容に応じた電気信号(以下、「操作信号」)を出力し、操作信号は、コントローラ30に取り込まれる。そして、コントローラ30は、操作信号の内容に応じた制御指令、つまり、操作装置26に対する操作内容に応じた制御信号を油圧制御弁31に出力する。これにより、油圧制御弁31からコントロールバルブ17に操作装置26の操作内容に応じたパイロット圧が入力され、コントロールバルブ17は、操作装置26の操作内容に応じて、それぞれの油圧アクチュエータHAを駆動することができる。また、コントロールバルブ17に内蔵される、それぞれの油圧アクチュエータを駆動する制御弁(方向切換弁)は、電磁ソレノイド式であってもよい。この場合、操作装置26から出力される操作信号がコントロールバルブ17に、即ち、電磁ソレノイド式の制御弁に直接入力されてもよい。また、ショベル100が遠隔操作される場合や自動運転機能により動作する場合、操作装置26は省略されてもよい。
油圧制御弁31は、操作装置26の操作対象の被駆動要素(油圧アクチュエータHA)ごとに設けられる。油圧制御弁31は、例えば、パイロットポンプ15とコントロールバルブ17との間のパイロットライン25Bに設けられ、その流路面積(即ち、作動油が通流可能な断面積)を変更可能に構成されてよい。これにより、油圧制御弁31は、パイロットライン25Bを通じて供給されるパイロットポンプ15の作動油を利用して、所定のパイロット圧を二次側のパイロットライン27Bに出力することができる。そのため、図4に示すように、油圧制御弁31は、パイロットライン27Bとパイロットライン27の間のシャトル弁32を通じて、間接的に、コントローラ30からの制御信号に応じた所定のパイロット圧をコントロールバルブ17に作用させることができる。また、図5に示すように、油圧制御弁31は、パイロットライン27B及びパイロットライン27を通じて、直接的に、コントローラ30からの制御信号に応じた所定のパイロット圧をコントロールバルブ17に作用させることができる。そのため、コントローラ30は、油圧制御弁31から電気式の操作装置26の操作内容に応じたパイロット圧をコントロールバルブ17に供給させ、オペレータの操作に基づくショベル100の動作を実現することができる。
また、コントローラ30は、例えば、油圧制御弁31を制御し、自動運転機能を実現してもよい。具体的には、コントローラ30は、操作装置26の操作の有無に依らず、自動運転機能に関する操作指令に対応する制御信号を油圧制御弁31に出力する。これにより、コントローラ30は、油圧制御弁31から自動運転機能に関する操作指令に対応するパイロット圧をコントロールバルブ17に供給させ、自動運転機能に基づくショベル100の動作を実現することができる。
また、コントローラ30は、例えば、油圧制御弁31を制御し、ショベル100の遠隔操作を実現してもよい。具体的には、コントローラ30は、通信装置60によって、管理装置200から受信される遠隔操作信号で指定される遠隔操作の内容に対応する制御信号を油圧制御弁31に出力する。これにより、コントローラ30は、油圧制御弁31から遠隔操作の内容に対応するパイロット圧をコントロールバルブ17に供給させ、オペレータの遠隔操作に基づくショベル100の動作を実現することができる。
シャトル弁32は、2つの入口ポートと1つの出口ポートを有し、2つの入口ポートに入力されたパイロット圧のうちの高い方のパイロット圧を有する作動油を出口ポートに出力させる。シャトル弁32は、操作装置26の操作対象の被駆動要素(油圧アクチュエータHA)ごとに設けられる。また、シャトル弁32は、被駆動要素の移動方向(例えば、ブーム4の上げ方向及び下げ方向)ごとに設けられる。シャトル弁32の2つの入口ポートのうちの一方が操作装置26(具体的には、操作装置26に含まれる上述のレバー装置やペダル装置)の二次側のパイロットライン27Aに接続され、他方が油圧制御弁31の二次側のパイロットライン27Bに接続される。シャトル弁32の出口ポートは、パイロットライン27を通じて、コントロールバルブ17の対応する制御弁のパイロットポートに接続される。対応する制御弁とは、シャトル弁32の一方の入口ポートに接続される上述のレバー装置或いはペダル装置の操作対象である油圧アクチュエータを駆動する制御弁である。そのため、これらのシャトル弁32は、それぞれ、操作装置26の二次側のパイロットライン27Aのパイロット圧と油圧制御弁31の二次側のパイロットライン27Bのパイロット圧のうちの高い方を、対応する制御弁のパイロットポートに作用させることができる。つまり、コントローラ30は、操作装置26の二次側のパイロット圧よりも高いパイロット圧を油圧制御弁31から出力させることで、オペレータの操作装置26に対する操作に依らず、対応する制御弁を制御することができる。よって、コントローラ30は、オペレータの操作装置26に対する操作状態に依らず、被駆動要素(下部走行体1、上部旋回体3、アタッチメントAT)の動作を制御し、自動運転機能を実現することができる。
油圧制御弁33は、操作装置26とシャトル弁32とを接続するパイロットライン27Aに設けられる。油圧制御弁33は、例えば、その流路面積を変更可能なように構成される。油圧制御弁33は、コントローラ30から入力される制御信号に応じて動作する。これにより、コントローラ30は、オペレータにより操作装置26が操作されている場合に、操作装置26から出力されるパイロット圧を強制的に減圧させることができる。そのため、コントローラ30は、操作装置26が操作されている場合であっても、操作装置26の操作に対応する油圧アクチュエータの動作を強制的に抑制させたり停止させたりすることができる。また、コントローラ30は、例えば、操作装置26が操作されている場合であっても、操作装置26から出力されるパイロット圧を減圧させ、油圧制御弁31から出力されるパイロット圧よりも低くすることができる。そのため、コントローラ30は、油圧制御弁31及び油圧制御弁33を制御することで、例えば、操作装置26の操作内容とは無関係に、所望のパイロット圧をコントロールバルブ17内の制御弁のパイロットポートに確実に作用させることができる。よって、コントローラ30は、例えば、油圧制御弁31に加えて、油圧制御弁33を制御することで、ショベル100の自動運転機能や遠隔操作機能をより適切に実現することができる。
<ユーザインタフェース系>
図4に示すように、本実施形態に係るショベル100のユーザインタフェース系は、操作装置26と、出力装置50と、入力装置52とを含む。
出力装置50は、ショベル100のユーザ(例えば、キャビン10のオペレータやショベル100の周辺の作業車等)に向けて各種情報を出力する。
例えば、出力装置50は、視覚的な方法で各種情報を出力する照明機器や表示装置50A(図6参照)等を含む。照明機器は、例えば、警告灯等である。表示装置50Aは、例えば、液晶ディスプレイや有機EL(Electroluminescence)ディスプレイ等である。照明機器や表示装置50Aは、例えば、キャビン10の内部に設けられ、キャビン10の内部のオペレータ等に視覚的な方法で各種情報を出力してよい。また、照明機器や表示装置50Aは、例えば、上部旋回体3の側面等に設けられ、ショベル100の周囲の作業者等に視覚的な方法で各種情報を出力してもよい。
また、例えば、出力装置50は、聴覚的な方法で各種情報を出力する音出力装置50B(図6参照)を含む。音出力装置50Bには、例えば、ブザーやスピーカ等が含まれる。音出力装置50Bは、例えば、キャビン10の内部及び外部の少なくとも一方に設けられ、キャビン10の内部のオペレータやショベル100の周囲の人(作業者等)に聴覚的な方法で各種情報を出力してよい。
また、例えば、出力装置50は、操縦席の振動等の触覚的な方法で各種情報を出力する装置を含んでもよい。
入力装置52は、ショベル100のユーザからの各種入力を受け付け、受け付けられる入力に対応する信号は、コントローラ30に取り込まれる。入力装置52は、例えば、キャビン10の内部に設けられ、キャビン10の内部のオペレータ等からの入力を受け付ける。また、入力装置52は、例えば、上部旋回体3の側面等に設けられ、ショベル100の周辺の作業者等からの入力を受け付けてもよい。
例えば、入力装置52は、操作入力を受け付ける操作入力装置を含む。操作入力装置には、表示装置に実装されるタッチパネル、表示装置の周囲に設置されるタッチパッド、ボタンスイッチ、レバー、トグル、操作装置26(レバー装置)に設けられるノブスイッチ等が含まれてよい。
また、例えば、入力装置52は、ユーザの音声入力を受け付ける音声入力装置を含んでもよい。音声入力装置には、例えば、マイクロフォンが含まれる。
また、例えば、入力装置52は、ユーザのジェスチャ入力を受け付けるジェスチャ入力装置を含んでもよい。ジェスチャ入力装置には、例えば、ユーザが行うジェスチャの様子を撮像する撮像装置が含まれる。
また、例えば、入力装置52は、ユーザの生体入力を受け付ける生体入力装置を含んでもよい。生体入力には、例えば、ユーザの指紋、虹彩等の生体情報の入力が含まれる。
<通信系>
図4に示すように、本実施形態に係るショベル100の通信系は、通信装置60を含む。
通信装置60は、通信回線NWに接続し、ショベル100と別に設けられる装置(例えば、管理装置200)と通信を行う。ショベル100と別に設けられる装置には、ショベル100の外部にある装置の他、ショベル100のユーザによりキャビン10に持ち込まれる携帯型の端末装置が含まれてもよい。通信装置60は、例えば、4G(4th Generation)や5G(5th Generation)等の規格に準拠する移動体通信モジュールを含んでよい。また、通信装置60は、例えば、衛星通信モジュールを含んでもよい。また、通信装置60は、例えば、WiFi通信モジュールやブルートゥース(登録商標)通信モジュール等を含んでもよい。
<制御系>
図4に示すように、本実施形態に係るショベル100の制御系は、コントローラ30を含む。また、本実施形態に係るショベル100の制御系は、操作圧センサ29と、撮像装置40と、照射装置70と、ブーム角度センサS1と、アーム角度センサS2と、バケット角度センサS3と、機体姿勢センサS4と、旋回角度センサS5とを含む。
コントローラ30は、ショベル100に関する各種制御を行う。
コントローラ30の機能は、任意のハードウェア、或いは、任意のハードウェア及びソフトウェアの組み合わせ等により実現されてよい。例えば、図4に示すように、コントローラ30は、バスB1で接続される、補助記憶装置30A、メモリ装置30B、CPU(Central Processing Unit)30C、及びインタフェース装置30Dを含む。
補助記憶装置30Aは、不揮発性の記憶手段であり、インストールされるプログラムを格納すると共に、必要なファイルやデータ等を格納する。補助記憶装置30Aは、例えば、フラッシュメモリ等である。
メモリ装置30Bは、例えば、プログラムの起動指示があった場合に、補助記憶装置30AのプログラムをCPU30Cが読み込み可能なようにロードする。メモリ装置30Bは、例えば、SRAM(Static Random Access Memory)である。
CPU30Cは、例えば、メモリ装置30Bにロードされるプログラムを実行し、プログラムの命令に従って、コントローラ30の各種機能を実現する。
インタフェース装置30Dは、例えば、ショベル100の内部の通信回線に接続するためのインタフェースとして用いられる。インタフェース装置30Dは、接続する通信回線の種類に合わせて、複数の異なる種類のインタフェース装置を含んでよい。
コントローラ30の各種機能を実現するプログラムは、例えば、可搬型の記録媒体によって提供される。この場合、インタフェース装置30Dは、記録媒体からのデータの読み取りや記録媒体へのデータの書き込みのためのインタフェースとして機能する。記録媒体は、例えば、キャビン10の内部に設置されるコネクタに着脱可能なケーブルで接続される専用ツールである。また、記録媒体は、例えば、SDメモリカードやUSB(Universal Serial Bus)メモリ等での汎用の記録媒体であってもよい。また、プログラムは、所定の通信回線を通じて、ショベル100の外部の他のコンピュータ(例えば、管理装置200)からダウンロードされ、補助記憶装置30Aにインストールされてもよい。
尚、コントローラ30の機能の一部は、他のコントローラ(制御装置)により実現されてもよい。即ち、コントローラ30の機能は、複数のコントローラにより分散して実現される態様であってもよい。例えば、撮像装置40の撮像画像の画像処理に関する機能と、ショベル100の周辺の物体の検出に関する機能と、ショベル100の安全性の確保に関する機能とは互いに異なるコントローラによって実現されてよい。撮像装置40の撮像画像の画像処理に関する機能には、例えば、後述の表示処理部301や画像補正部306等の機能が含まれる。ショベル100の周辺の物体の検出に関する機能には、例えば、後述の物体検出部302や検出判断部307等の機能が含まれる。ショベル100の安全性の確保に関する機能には、例えば、後述の安全制御部304の機能が含まれる。また、ショベル100の周辺の物体の検出に関する機能は、撮像装置40の撮像画像の画像処理に関する機能を実現するコントローラと、ショベル100の安全性の確保に関する機能を実現するコントローラとに分散される形で搭載されてもよい。具体的には、ショベル100の周辺の物体の検出に関する機能のうち、撮像装置40の撮像画像から物体を認識する機能(物体検出部302の機能)のように、画像処理との関連性が高い機能は、前者のコントローラに搭載されてよい。一方、ショベル100の周辺の物体の検出に関する機能のうち、認識された物体の検出の有無を最終的に判断する機能(検出判断部307の機能)のように、ショベル100の安全性の確保に関連性が高い機能は、後者のコントローラに搭載されてよい。
操作圧センサ29は、油圧パイロット式の操作装置26の二次側(パイロットライン27A)のパイロット圧、即ち、操作装置26におけるそれぞれの被駆動要素(油圧アクチュエータ)の操作状態に対応するパイロット圧を検出する。操作圧センサ29による操作装置26におけるそれぞれの被駆動要素(油圧アクチュエータHA)に関する操作状態に対応するパイロット圧の検出信号は、コントローラ30に取り込まれる。
尚、操作装置26が電気式である場合、操作圧センサ29は省略される。コントローラ30は、操作装置26から取り込まれる操作信号に基づき、操作装置26を通じたそれぞれの被駆動要素の操作状態を把握することができるからである。
撮像装置40は、ショベル100の周辺において、オペレータから見た死角や視認しにくい場所を補間するための画像を取得する。撮像装置40の出力(撮像画像)は、コントローラ30に取り込まれる。
撮像装置40は、例えば、単眼カメラ、ステレオカメラ、デプスカメラ等である。また、撮像装置40は、撮像画像に基づき、所定の撮像範囲(画角)内におけるショベル100の周辺の物体の位置及び外形を表す三次元データ(例えば、点群データやサーフェスデータ)を取得してもよい。
例えば、図1、図2に示すように、撮像装置40は、上部旋回体3の前方を撮像するカメラ40F、上部旋回体3の後方を撮像するカメラ40B、上部旋回体3の左方を撮像するカメラ40L、及び上部旋回体3の右方を撮像するカメラ40Rを含む。これにより、オペレータは、表示装置50Aや遠隔操作用表示装置を通じて、カメラ40B,40L,40Rの撮像画像や当該撮像画像に基づき生成される加工画像等の周辺画像を視認し、上部旋回体3の左方、右方、及び後方の様子を確認することができる。また、オペレータは、遠隔操作用表示装置を通じて、カメラ40Fの撮像画像や当該撮像画像に基づき生成される加工画像等の周辺画像を視認することで、バケット6を含むアタッチメントATの動作を確認しながら、ショベル100を遠隔操作することができる。以下、カメラ40F,40B,40L,40Rを包括的に、或いは、個別に、「カメラ40X」と称する場合がある。
撮像装置40(カメラ40X)は、それぞれ、撮像素子41と、画像処理エンジン42とを含む。カメラ40Xは、撮像素子41の出力(電気信号)に基づき、画像処理エンジン42によって撮像画像を生成し、生成した画像(撮像画像)を出力する。画像処理エンジン42は、例えば、CPU、メモリ装置、及び補助記憶装置等を含む画像処理専用のコンピュータであり、補助記憶装置にインストールされるプログラムをCPU上で実行することにより各種の画像処理を実現する。以下、画像処理エンジン42の撮像画像を生成する機能を撮像画像生成機能と称し、撮像装置40の撮像画像は、撮像画像生成機能で生成された画像を意味する。
尚、図2の二点鎖線は、カメラ40F,40B,40L,40Rの上面視の画角(撮像範囲)を表している。
照射装置70は、コントローラ30の制御下で、撮像装置40の撮像範囲に所定の光を照射する。所定の光は、例えば、可視光である。また、所定の光は、例えば、赤外光であってもよい。撮像装置40の撮像範囲全体を照射可能であれば、照射装置70は、一つであってもよいし、複数であってもよい。例えば、照射装置70は、カメラ40Xごとにもうけられ、カメラ40Xと近接するように上部旋回体3に設置される。
尚、照射装置70は、省略されてもよい。
ブーム角度センサS1は、所定基準(例えば、水平面やブーム4の可動角度範囲の両端の何れかの状態等)に対するブーム4の姿勢角度(以下、「ブーム角度」)に関する検出情報を取得する。ブーム角度センサS1は、例えば、ロータリエンコーダ、加速度センサ、角速度センサ、六軸センサ、IMU(Inertial Measurement Unit)等を含んでよい。また、ブーム角度センサS1は、ブームシリンダ7の伸縮位置を検出可能なシリンダセンサを含んでもよい。
アーム角度センサS2は、所定基準(例えば、ブーム4の両端の連結点間を結ぶ直線やアーム5の可動角度範囲の両端の何れかの状態等)に対するアーム5の姿勢角度(以下、「アーム角度」)に関する検出情報を取得する。アーム角度センサS2は、例えば、ロータリエンコーダ、加速度センサ、角速度センサ、六軸センサ、IMU等を含んでよい。また、アーム角度センサS2は、アームシリンダ8の伸縮位置を検出可能なシリンダセンサを含んでもよい。
バケット角度センサS3は、所定基準(例えば、アーム5の両端の連結点間を結ぶ直線やバケット6の可動角度範囲の両端の何れかの状態等)に対するバケット6の姿勢角度(以下、「バケット角度」)に関する検出情報を取得する。バケット角度センサS3は、例えば、ロータリエンコーダ、加速度センサ、角速度センサ、六軸センサ、IMU等を含んでよい。また、バケット角度センサS3は、バケットシリンダ9の伸縮位置を検出可能なシリンダセンサを含んでもよい。
機体姿勢センサS4は、下部走行体1及び上部旋回体3を含むショベル100の機体の姿勢状態に関する検出情報を取得する。機体姿勢センサS4は、例えば、上部旋回体3に搭載され、上部旋回体3の水平面に対する傾斜角度や旋回軸回りの姿勢角度(即ち、地面を基準とする上部旋回体3の向き)に関する検出情報を取得する。機体姿勢センサS4は、例えば、加速度センサ(傾斜センサ)、角速度センサ、六軸センサ、IMU等を含んでよい。
旋回角度センサS5は、下部走行体1を基準とする上部旋回体3の旋回角度(即ち、上部旋回体3の向き)に関する検出情報を取得する。旋回角度センサS5は、例えば、ポテンショメータ、ロータリエンコーダ、レゾルバ等を含む。
また、例えば、ショベル100は、自機の絶対位置を測位可能な測位装置を含んでもよい。測位装置は、例えば、GNSS(Global Navigation Satellite System)センサである。これにより、ショベル100の姿勢状態の推定精度を向上させることができる。
また、例えば、ショベル100は、撮像装置40に加えて、ショベル100の周辺の物体との距離を検出する距離センサを含んでもよい。距離センサは、例えば、LIDAR(Light Detecting and Ranging)、ミリ波レーダ、超音波センサ、赤外線センサ、距離画像センサ等を含む。これにより、コントローラ30は、例えば、撮像装置40の出力に加えて、距離センサの出力を用いて、ショベル100の周辺の物体を検出することができる。
尚、ブーム角度センサS1、アーム角度センサS2、バケット角度センサS3、機体姿勢センサS4、及び旋回角度センサS5の一部又は全部は、省略されてもよい。例えば、遠隔操作機能や自動運転機能が採用されない場合、ショベル100のアタッチメントATや機体(上部旋回体3)の姿勢状態を推定する必要がない場合もあるからである。また、例えば、撮像装置40や後述の距離センサ等により取得されるショベル100の周辺の情報からショベル100の姿勢状態を推定することが可能な場合もあるからである。具体的には、撮像装置40や後述の距離センサ等により取得されるショベル100の周辺の情報には、機体(上部旋回体3)から見た周囲の物体やアタッチメントの位置や形状等に関する情報が含まれる場合がある。この場合、コントローラ30は、要求される精度によっては、その情報からアタッチメントATや機体(上部旋回体3)の姿勢状態を推定することができる。
[管理装置のハードウェア構成]
次に、図5を参照して、管理装置200のハードウェア構成について説明する。
図5は、本実施形態に係る管理装置200のハードウェア構成の一例を示す図である。
管理装置200の機能は、任意のハードウェア或いは任意のハードウェア及びソフトウェアの組み合わせ等により実現される。例えば、図5に示すように、管理装置200は、バスB2で接続される、外部インタフェース201、補助記憶装置202、メモリ装置203、CPU204、通信インタフェース206、入力装置207、及び表示装置208を含む。
外部インタフェース201は、記録媒体201Aからデータの読み取りや記録媒体201Aへのデータの書き込みのためのインタフェースとして機能する。記録媒体201Aには、例えば、フレキシブルディスク、CD(Compact Disc)、DVD(Digital Versatile Disc)、BD(Blu-ray(登録商標) Disc)、SDメモリカード、USBメモリ等が含まれる。これにより、管理装置200は、記録媒体201Aを通じて、処理で利用する各種データを読み込み、補助記憶装置202に格納したり、各種機能を実現するプログラムをインストールしたりすることができる。
尚、管理装置200は、通信インタフェース206を通じて、外部装置から各種データやプログラムを取得してもよい。
補助記憶装置202は、インストールされた各種プログラムを格納すると共に、各種処理に必要なファイルやデータ等を格納する。補助記憶装置202は、例えば、HDD(Hard Disc Drive)やSSD(Solid State Drive)やフラッシュメモリ等を含む。
メモリ装置203は、プログラムの起動指示があった場合に、補助記憶装置202からプログラムを読み出して格納する。メモリ装置203は、例えば、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)を含む。
CPU204は、補助記憶装置202からメモリ装置203にロードされた各種プログラムを実行し、プログラムに従って管理装置200に関する各種機能を実現する。
高速演算装置205は、CPU204と連動し、相対的に高い速度で演算処理を行う。高速演算装置205は、例えば、GPU(Graphics Processing Unit)やASIC(Application Specific Integrated Circuit)やFPGA(Field-Programmable Gate Array)等を含む。
尚、高速演算装置205は、必要な演算処理の速度に応じて、省略されてもよい。
通信インタフェース206は、外部機器と通信可能に接続するためのインタフェースとして用いられる。これにより、管理装置200は、通信インタフェース206を通じて、例えば、ショベル100等の外部機器と通信することができる。また、通信インタフェース206は、接続される機器との間の通信方式等によって、複数の種類の通信インタフェースを有してもよい。
入力装置207は、ユーザから各種入力を受け付ける。例えば、入力装置207には、オペレータが遠隔操作を行うための入力装置(遠隔操作用操作装置)が含まれる。
入力装置207は、例えば、ユーザからの機械的な操作入力を受け付ける操作入力装置を含む。操作入力装置は、例えば、ボタン、トグル、レバー等を含む。また、操作入力装置は、例えば、表示装置208に実装されるタッチパネル、表示装置208とは別に設けられるタッチパッド等を含む。
また、入力装置207は、例えば、ユーザからの音声入力を受付可能な音声入力装置を含む。音声入力装置は、例えば、ユーザの音声を集音可能なマイクロフォンを含む。
また、入力装置207は、例えば、ユーザからのジェスチャ入力を受付可能なジェスチャ入力装置を含む。ジェスチャ入力装置は、例えば、ユーザのジェスチャの様子を撮像可能なカメラを含む。
また、入力装置207は、例えば、ユーザからの生体入力を受付可能な生体入力装置を含む。生体入力装置は、例えば、ユーザの指紋や虹彩に関する情報を内包する画像データを取得可能なカメラを含む。
表示装置208は、ユーザに向けて、情報画面や操作画面を表示する。例えば、表示装置208には、上述の遠隔操作用表示装置が含まれる。表示装置208は、例えば、液晶ディスプレイや有機EL(Electroluminescence)ディスプレイ等である。
[ショベルの機能構成の一例]
次に、図6を参照して、ショベル100の機能構成の一例について説明する。
図6は、本実施形態に係るショベル100の機能構成の一例を示す機能ブロック図である。
図6に示すように、コントローラ30は、機能部として、表示処理部301と、物体検出部302と、位置推定部303と、安全制御部304と、照射制御部305とを含む。また、コントローラ30は、機能部として、画像補正部306を含んでもよい。表示処理部301、物体検出部302、位置推定部303、安全制御部304、及び照射制御部305の機能は、例えば、補助記憶装置30Aにインストールされるプログラムをメモリ装置30BにロードしCPU30C上で実行することにより実現される。
表示処理部301は、撮像装置40から入力される撮像画像に基づき、キャビン10の内部の表示装置50Aに周辺画像を表示させる。
表示処理部301は、カメラ40F,40B,40L,40Rの何れか一つの撮像範囲に相当する周辺画像を表示装置50Aに表示してもよいし、カメラ40F,40B,40L,40Rのうちの何れか2以上のカメラの撮像範囲を表示装置50Aに表示してもよい。例えば、表示処理部301は、カメラ40F,40B,40L,40Rのうちの少なくともカメラ40B,40Rの撮像範囲を含む周辺画像を表示装置50Aに表示する。カメラ40B,40Rの撮像範囲に相当する上部旋回体3の後方及び右側方は、キャビン10のオペレータから見て死角になり易いからである。
物体検出部302(検出部の一例)は、撮像装置40の出力(撮像画像)に基づき、ショベル100の周辺の監視物体の所定の物体(以下、「監視物体」)を検出する。具体的には、物体検出部302は、撮像装置40の撮像画像から、監視物体を認識し、その監視物体が映っている位置(領域)を特定してよい。また、物体検出部302は、画像補正部306により撮像装置40(カメラ40X)の撮像画像が補正された後の画像(以下、「補正済撮像画像」)から、監視物体を認識し、その監視物体が映っている位置(領域)を特定してもよい。つまり、監視物体の検出とは、撮像装置40の撮像画像の中に映っている監視物体を認識し、その監視物体が含まれる入力画像の中の位置(領域)を特定することを意味してよい。以下、物体検出部302に入力される画像(撮像装置40の出力そのものの撮像画像、或いは、画像補正部306から出力される補正済撮像画像)を便宜的に「入力画像」と称する場合がある。
監視物体には、ショベル100の周辺で作業する作業者や作業現場の監督者等の人が含まれてよい。また、監視物体には、作業現場の人以外の任意の物体(障害物)が含まれてもよい。作業現場の人以外の障害物には、例えば、穴、溝、土砂の山等の特定の地形、ロードコーン、柵、電柱、仮置きの資材、作業現場の仮設事務所等の定置された(即ち、自身の力では移動しない)障害物が含まれてよい。また、作業現場の人以外の障害物には、例えば、他の作業機械や作業車両等の移動可能な障害物が含まれてよい。物体検出部302による検出対象の監視物体の種類数は、1つであってもよいし、複数であってもよい。以下、監視物体が人である場合を中心に説明を行う。
物体検出部302による物体検出方法の詳細については、後述する。
尚、物体検出部302は、入力装置52に対するオペレータ等による所定の入力に応じて、その機能がON(有効)/OFF(無効)の間で切り替えられてもよい。また、物体検出部302の機能は、カメラ40Xに移管され、検出結果がコントローラ30に送信される態様であってもよい。また、物体検出部302の機能は、表示装置50Aに移管され、検出結果がコントローラ30に移管される態様であってもよい。この場合、カメラ40Xの撮像画像は、表示装置50Aに直接入力される。そのため、この場合、表示処理部301の機能も表示装置50Aに移管されてよい。また、物体検出部302の機能は、撮像装置40に移管されてもよい。この場合、物体検出部302の機能は、カメラ40F,40B,40L,40Rのそれぞれの撮像画像に基づき監視物体を検出する物体検出部に分割され、カメラ40F,40B,40L,40Rのそれぞれに内蔵される(後述の図25参照)。
位置推定部303は、物体検出部302により撮像装置40の撮像画像の中から監視物体が検出された場合に、検出された監視物体が実際に存在する位置、即ち、ショベル100の周辺での監視物体の位置(以下、「実在位置」)を推定する。
具体的には、位置推定部303は、物体検出部302により特定された監視物体の撮像画像における検出位置(検出領域)に基づき、監視物体の実在位置を推定する。また、物体検出部302により複数の監視物体が検出されている場合、位置推定部303は、複数の監視物体ごとの実在位置を推定する。
例えば、カメラ40Xが単眼カメラの場合、位置推定部303は、入力画像の中の監視物体の検出領域における基準点(検出位置)を特定し、その基準点の入力画像における左右方向の位置に基づき、ショベル100(上部旋回体3)から見た方向を推定する。また、位置推定部303は、入力画像の中の監視物体の検出領域の大きさ(例えば、上下方向の大きさ)に基づき、ショベル100から監視物体までの距離(具体的には、ショベル100が位置する作業平面に沿う方向の距離)を推定する。認識された監視物体の入力画像上における大きさは、監視物体がショベル100(上部旋回体3)から離れるほど小さくなる相関関係があるからである。具体的には、監視物体には、想定される大きさの範囲(例えば、想定される人の身長の範囲)があるため、想定された大きさの範囲に含まれる当該監視物体のショベル100から見た位置と、入力画像上での大きさとの相関関係が予め規定されうる。そのため、物体検出部302は、例えば、補助記憶装置30A等に予め格納される、入力画像上の監視物体の大きさと上部旋回体3から見た距離との相関関係を表すマップや変換式等に基づき、認識された監視物体の実在位置を推定することができる。よって、位置推定部303は、ショベル100(上部旋回体3)から見た監視物体の方向、及び距離を推定することにより、認識された監視物体の位置を推定することができる。
また、例えば、カメラ40Xが単眼カメラの場合、位置推定部303は、監視物体が下部走行体1と同じ平面上に存在する前提の下、入力画像の当該平面上への射影変換等によって、その実在位置を推定してもよい。具体的には、位置推定部303は、監視物体の地面との接触点を代表する基準点(検出位置)を特定し、その基準点に対して、カメラ40Xの上部旋回体3に対する設置位置及び設置角度に応じて規定される射影変換により、監視物体の実在位置を演算してよい。この場合、入力画像を構成するある部分(例えば、ある画素)は、ショベル100(下部走行体1)と同じ平面上のある位置に1対1で対応づけられる。
また、例えば、カメラ40Xがステレオカメラの場合、2つの撮像画像ごとの監視物体の検出領域における基準位置のズレ(視差)に基づき、監視物体の実在位置を推定する。
安全制御部304(制御部の一例)は、ショベル100の機能安全に関する制御を行う。
安全制御部304は、例えば、物体検出部302によって、ショベル100の周辺の所定範囲内で監視物体が検出される場合に、安全機能を作動させる。具体的には、安全制御部304は、位置推定部303により推定される、監視物体の実在位置(推定値)がショベル100の周辺の所定範囲内である場合に、安全機能を作動させてよい。
安全機能には、例えば、キャビン10の内部、キャビン10の外部、及びショベル100の遠隔のオペレータや監視者等の少なくとも一つに対する警報等を出力し、監視物体の検出を報知する報知機能が含まれてよい。これにより、キャビン10の内部のオペレータ、ショベル100の周辺の作業者、ショベル100の遠隔操作や遠隔監視を行うオペレータや監視者等に対して、ショベル100の周辺の監視エリア内に監視物体が存在していることに関する注意を促すことができる。以下、キャビン10の内部(オペレータ等)への報知機能を「内部報知機能」、ショベル100の外部(作業者等)への報知機能を「外部報知機能」、及びショベル100の遠隔操作や遠隔監視を行うオペレータや監視者への報知機能を「遠隔報知機能」とそれぞれ称し、区別する場合がある。
また、安全機能には、例えば、操作装置26の操作、遠隔操作、或いは自動運転機能に対応する操作指令に対するショベル100の動作を制限する動作制限機能が含まれてよい。これにより、ショベル100の動作を強制的に制限し、ショベル100と周辺の物体との接近や接触等の可能性を低減させることができる。動作制限機能には、操作装置26の操作、遠隔操作、或いは自動運転機能に対応する操作指令に対するショベル100の動作速度を通常よりも遅くする動作減速機能が含まれてよい。また、動作制限機能には、操作装置26の操作、遠隔操作、或いは自動運転機能に対応する操作指令に関わらず、ショベル100の動作を停止させ、停止状態を維持させる動作停止機能が含まれてもよい。
安全制御部304は、例えば、物体検出部302によって、ショベル100の周辺の所定範囲(以下、「報知範囲」)で監視物体が検出される場合に、報知機能を作動させる。報知範囲は、例えば、ショベル100の所定の部位からの距離Dが閾値Dth1以下の範囲である。ショベル100の所定の部位は、例えば、上部旋回体3である。また、ショベル100の所定の部位は、例えば、アタッチメントATの先端部のバケット6やフックであってもよい。閾値Dth1は、ショベル100の所定の部位から見た方向に依らず一定であってもよいし、ショベル100の所定の部位から見た方向によって変化してもよい。
安全制御部304は、例えば、音出力装置50Bを制御することにより、キャビン10の内部及び外部の少なくとも一方に対する音(即ち、聴覚的な方法)による内部報知機能や外部報知機能を作動させる。このとき、安全制御部304は、各種条件に応じて、出力される音の音高、音圧、音色、音を周期的に吹鳴させる場合の吹鳴周期、音声の内容等を異ならせてもよい。
また、安全制御部304は、例えば、視覚的な方法による内部報知機能を作動させる。具体的には、安全制御部304は、表示処理部301を通じて、キャビン10の内部の表示装置50Aを制御することにより、表示装置50Aに周辺画像と共に、監視物体が検出されていることを表す画像を表示させてよい。また、安全制御部304は、表示処理部301を通じて、キャビン10の内部の表示装置50Aに表示される周辺画像に映っている監視物体や、検出された監視物体に対応する周辺画像上の位置を強調させてもよい。より具体的には、安全制御部304は、キャビン10の内部の表示装置50Aに表示されている周辺画像上に、検出されている監視物体を囲む枠を重畳して表示させたり、検出された監視物体の実在位置に対応する周辺画像上の位置にマーカを重畳して表示させたりしてよい。これにより、表示装置50Aは、オペレータに対する視覚的な報知機能を実現することができる。また、安全制御部304は、キャビン10の内部の警告灯や照明装置等を用いて、監視物体が検出されていることをキャビン10の内部のオペレータ等に対して報知してもよい。
また、安全制御部304は、例えば、上部旋回体3のハウス部の側面等に設けられる出力装置50(例えば、前照灯等の照明装置や表示装置50A)を制御することにより、視覚的な方法による外部報知機能を作動させてもよい。また、安全制御部304は、例えば、オペレータが着座する操縦席を振動させる振動発生装置を制御することにより、触覚的な方法で内部報知機能を作動させてもよい。これにより、コントローラ30は、オペレータやショベル100の周辺の作業者及び監督者等に対して、ショベル100の周辺の相対的に近い場所に監視物体(例えば、作業者等の人)が存在することを認識させることができる。そのため、コントローラ30は、オペレータに対して、ショベル100の周辺の安全状況の確認を促したり、監視エリア内の作業者等に対して、監視エリアからの退避を促したりすることができる。
また、安全制御部304は、例えば、通信装置60を通じて、報知機能の作動を示す指令信号を管理装置200に送信することにより、遠隔報知機能を作動させてもよい。この場合、管理装置200は、通信インタフェース206によりショベル100から指令信号を受信すると、表示装置208等を通じて、視覚的な方法や聴覚的な方法による警報を出力してよい。これにより、管理装置200を通じてショベル100の遠隔操作や遠隔監視を行うオペレータや監視者は、ショベル100の周辺の報知範囲内に監視物体が進入したことを把握することができる。
尚、安全制御部304の遠隔報知機能は、管理装置200に移管されてもよい。この場合、管理装置200は、ショベル100から物体検出部302による監視物体の検出状況や位置推定部303による監視物体の実在位置の推定結果に関する情報を受信する。そして、管理装置200は、受信した情報に基づき、報知範囲内への監視物体の進入の有無を判断し、報知範囲内に監視物体が存在する場合に、外部報知機能を作動させる。
また、安全制御部304は、報知範囲内で検出されている監視物体と、上部旋回体3との位置関係に応じて、報知態様(即ち、報知の仕方)を異ならせてもよい。
例えば、安全制御部304は、物体検出部302により報知範囲内で検出された監視物体がショベル100の所定の部位に対して相対的に遠い位置に存在する場合、監視物体への注意を促す程度の相対的に緊急度が低い警報(以下、「注意レベルの警報」)を出力してよい。以下、報知範囲のうちのショベル100の所定の部位に対する距離が相対的に遠い範囲、即ち、注意レベルの警報に対応する範囲を便宜的に「注意報知範囲」と称する場合がある。一方、安全制御部304は、物体検出部302により報知範囲内で検出された監視物体がショベル100の所定の部位に対して相対的に近い位置に存在する場合、監視物体がショベル100の所定の部位に接近し危険度が高まっていることを知らせる相対的に緊急度が高い警報(以下、「警戒レベルの警報」)を出力してよい。以下、報知範囲のうちのショベル100の所定の部位に対する距離が相対的に近い範囲、即ち、警戒レベルの警報に対応する範囲を「警戒報知範囲」と称する場合がある。
この場合、安全制御部304は、注意レベルの警報と警戒レベルの警報との間で、音出力装置50Bから出力される音の音高、音圧、音色、吹鳴周期等を異ならせてよい。また、安全制御部304は、注意レベルの警報と警戒レベルの警報との間で、表示装置50Aに表示される監視物体が検出されていることを表す画像や、表示装置50Aに表示される周辺画像上の監視物体或いは監視物体の位置を強調させる画像(例えば、枠やマーカ等)の色、形状、大きさ、点滅の有無、点滅周期等を異ならせてよい。これにより、コントローラ30は、音出力装置50Bから出力される報知音(警報音)や表示装置50Aに表示される報知画像の相違によって、オペレータ等に緊急度、換言すれば、監視物体のショベル100の所定の部位に対する接近度を把握させることができる。
安全制御部304は、報知機能の作動開始後、物体検出部302により検出されていた監視物体が報知範囲内で検出されなくなった場合、報知機能を停止させてよい。また、安全制御部304は、報知機能の作動開始後、入力装置52を通じて、報知機能の作動を解除する所定の入力が受け付けられた場合に、報知機能を停止させてもよい。
また、安全制御部304は、例えば、物体検出部302によりショベル100の周辺の所定範囲(以下、「動作制限範囲」)内で監視物体が検出される場合に、動作制限機能を作動させる。動作制限範囲は、例えば、上述の報知範囲と同じに設定される。また、動作制限範囲は、例えば、報知範囲よりもその外縁がショベル100の所定の部位に相対的に近くなるような範囲に設定されてもよい。これにより、安全制御部304は、例えば、監視物体が外側から報知範囲に進入すると、まず、報知機能を作動させ、その後に、監視物体が内側の動作制限範囲に進入すると、更に、動作制限機能を作動させることができる。そのため、コントローラ30は、監視物体の監視エリア内での内側への移動に合わせて、段階的に、報知機能及び動作制限機能を作動させることができる。
具体的には、安全制御部304は、ショベル100の所定の部位からの距離Dが閾値Dth2(≦Dth1)以内の動作制限範囲内で監視物体が検出されると、動作制限機能を作動させてよい。閾値Dth2は、ショベル100の所定の部位から見た方向に依らず一定であってもよいし、ショベル100の所定の部位から見た方向によって変化してもよい。
また、動作制限範囲には、操作装置26の操作、遠隔操作、自動運転機能に対応する操作指令に対するショベル100の動作速度を通常よりも遅くする動作減速範囲、及び操作装置26の操作、遠隔操作、自動運転機能に対応する操作指令に関わらず、ショベル100の動作を停止させ、停止状態を維持させる動作停止範囲の少なくとも一方が含まれる。例えば、動作制限範囲に動作減速範囲及び動作停止範囲の双方が含まれる場合、動作停止範囲は、動作制限範囲のうちのショベル100の所定の部位に近接する範囲である。そして、動作減速範囲は、動作制限範囲のうちの動作停止範囲の外側に設定される範囲である。
安全制御部304は、油圧制御弁31を制御することにより、ショベル100の動作を制限する動作制限機能を作動させる。この場合、安全制御部304は、全ての被駆動要素(即ち、対応する油圧アクチュエータ)の動作を制限してもよいし、一部の被駆動要素(油圧アクチュエータ)の動作を制限してもよい。これにより、コントローラ30は、ショベル100の周辺に監視物体が存在する場合に、ショベル100の動作を減速させたり、停止させたりすることができる。そのため、コントローラ30は、ショベル100の周辺の監視物体とショベル100や吊り荷との接触の発生を抑制することができる。また、安全制御部304は、パイロットライン25の図示しない電磁切換弁を制御し、パイロットライン25を遮断することにより、動作制限機能(動作停止機能)を作動させてもよい。
また、安全制御部304は、動作制限機能の作動開始後、物体検出部302により検出されていた監視物体が動作制限範囲内で検出されなくなった場合、動作制限機能を停止させてよい。また、安全制御部304は、動作制限機能の作動開始後、入力装置52を通じて、動作制限機能の作動を解除する所定の入力が受け付けられた場合に、動作制限機能を停止させてもよい。入力装置52に対する報知機能の作動解除のための入力の内容と、動作制限機能の作動解除のための入力の内容とは、同じであってもよいし、異なっていてもよい。
また、安全制御部304は、入力装置52に対するオペレータ等による所定の入力に応じて、その機能がON(有効)/OFF(無効)の間で切り替えられてもよい。
照射制御部305は、照射装置70に関する制御を行う。
尚、上述の如く、照射装置70が省略される場合、当然の如く、照射制御部305も省略される。
画像補正部306(補正部の一例)は、撮像装置40(カメラ40X)の出力(撮像画像)に所定の補正を行い、補正済撮像画像を物体検出部302に出力する。
[物体検出方法の概要]
次に、図7~図15を参照して、物体検出部による物体検出方法の概要について説明する。
図7は、物体検出方法の具体例を説明する図である。図8~図13は、教師データの画像の第1例~第6例(画像800~1300)を示す図である。具体的には、図8~図13は、ショベル100と同機種のショベルの同じ位置に設置されたカメラ40Xと同種のカメラの撮像画像であり、撮像画像の手前側(下端部)には、上部旋回体3の側面が映っている。図14、図15は、作業者Wの一例及び他の例を示す図である。
物体検出部302は、例えば、形状検出やパターン認識(テンプレートマッチング)等の画像処理技術を簡易的に適用することにより、カメラ40Xの撮像画像から監視物体を検出する。
また、図7に示すように、物体検出部302は、例えば、画像処理技術に加えて、機械学習を適用することにより、カメラ40Xの撮像画像から監視物体を検出する。具体的には、物体検出部302は、入力画像に映る監視物体の特徴を機械学習済みの学習済みモデルLMを用いて、入力画像(カメラ40Xの撮像画像或いはその補正済の撮像画像)から、監視物体が映っている領域を表す矩形枠(以下、「検出枠」)、及び監視物体の種類を表すラベルを出力する。ラベルは、例えば、監視物体が存在しないことを表すラベル、及び監視物体の種類ごとに設定されるラベルを含む。監視物体の種類ごとのラベルは、1つのみ設定されてもよいし、後述の如く、複数設定されてもよい。また、複数の種類の監視物体が存在する場合、単一の学習済みモデルLMが全ての種類の監視物体ごとのラベルを出力可能に、即ち、全ての種類の監視物体を検出可能に構成されてもよいし、全ての種類の監視物体のうちの一部の種類のみを検出可能な学習済みモデルLMが複数設けられてもよい。例えば、監視物体の種類ごとに、学習済みモデルLMが存在し、学習済みモデルLMごとのラベルは、ある種類の監視物体が存在することを示すラベル、及びその種類の監視物体が存在しないことを示すラベルのみで構成されてもよい。
学習済みモデルLMは、ベースの学習モデルに対して、教師あり学習が適用されることにより生成される。具体的には、入力としての画像と、出力としての正解(検出枠及びラベル)との組み合わせによる教師データの集まり(教師データセット)をベースの学習モデルに機械学習させることにより、学習済みモデルLMが生成される。また、学習済みモデルLMは、既存の学習済みモデルLMに新たな教師データセットを追加学習させることにより、生成(更新)されてもよい。教師データセットに含まれる、入力としての画像には、当然の如く、監視物体が含まれる(映っている)画像と、監視物体が含まれない(映っていない)画像の双方が採用される。
学習済みモデルLMは、例えば、管理装置200等の外部装置で生成され、ショベル100の製造時に、所定の記録媒体からインタフェース装置30Dを通じて、補助記憶装置30Aに書き込まれる。また、学習済みモデルLMは、所定の通信回線を通じて、管理装置200等の外部装置からショベル100にダウンロードされ、コントローラ30の補助記憶装置30Aに登録されてもよい。これにより、物体検出部302は、補助記憶装置30Aに登録済みの学習済みモデルLMを用いて、監視物体を検出することができる。
また、学習済みモデルLMは、所定の記録媒体からインタフェース装置30Dを通じて、更新用データが補助記憶装置30Aにインストールされることによって更新されてもよい。また、学習済みモデルLMは、所定の通信回線を通じて、更新用データが管理装置200等の外部装置からショベル100にダウンロードされ、補助記憶装置30Aにインストールされることによって更新されてもよい。これにより、物体検出部302は、更新済みの最新の学習済みモデルLMを用いて、監視物体を検出することができる。
例えば、物体検出部302は、画像に映っている監視物体の画像特徴量の傾向を機械学習済みのサポートベクターマシーン(SVM:Support Vector Machine)を用いて、入力画像から監視物体を検出する。この場合、学習済みモデルLMには、前段処理として、カメラ40Xの撮像画像から画像特徴量を抽出する処理部が含まれる。画像特徴量は、例えば、HOG(Histogram of Oriented Gradients)特徴量である。
また、例えば、物体検出部302は、ディープニューラルネットワーク(DNN:Deep Neural Network)用いた機械学習、即ち、深層学習(ディープラーニング)による学習済みモデルLMを用いて、入力画像から監視物体を検出する。具体的には、物体検出部302は、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)を用いた深層学習による学習済みモデルLMを用いて、入力画像から監視物体をしてよい。CNNは、畳み込み処理を行う畳み込み層及びプーリング処理を行うプーリング層の組み合わせを活性化関数により複数繋ぎ合わせることにより構成され、最終段の全結合層によって、特徴量(特徴マップ)に基づく最終判断を行う。活性化関数は、例えば、ReLU(Rectified Linear Unit)である。これにより、学習済みモデルLMは、前段処理を要せずに、入力画像をそのまま取り扱うことができる。
例えば、物体検出部302は、CNNをベースとする学習済みモデルLMを用いて、入力画像から監視物体の候補の領域を生成し、これらの候補をラベルに分類することにより、監視物体を検出する。即ち、CNNをベースとする学習済みモデルLMは、例えば、入力画像からの監視物体の検出を分類問題として取り扱い、カメラ40Xの撮像画像から監視物体の候補の領域を生成し、これらの候補をラベルに分類する態様の分類モデルであってよい。分類モデルは、例えば、R(Region-based)-CNNやその派生系(Fast R-CNN、Faster R-CNN等)である。
また、例えば、物体検出部302は、CNNをベースとする学習済みモデルLMを用いて、入力画像から、監視物体の認識及びその位置(領域)の特定を同時に実施することにより、監視物体を検出する。即ち、CNNをベースとする学習済みモデルLMは、例えば、カメラ40Xの撮像画像からの監視物体の検出を回帰問題として取り扱い、入力画像から、監視物体の認識及び位置(領域)の特定を同時に実施する態様の回帰モデルであってもよい。回帰モデルは、例えば、YOLO(You Only Look Once)やSSD(Single Shot Detector)等である。
学習済みモデルLMは、例えば、ベースの学習モデル或いは既存の学習済みモデルLMが互いに異なる姿勢の監視物体を検出可能なように機械学習されることにより生成される。
例えば、図8に示すように、教師データの画像800には、カメラに正面を向けて直立の姿勢状態の作業者Wが映っている。また、図9に示すように、教師データの画像900には、カメラに正面を向けて中腰の姿勢状態の作業者Wが映っている。また、図10に示すように、教師データの画像1000には、カメラに正面を向けてしゃがんでいる姿勢状態の作業者Wが映っている。学習済みモデルLMは、画像800~1000のように、互いに異なる姿勢の監視物体が映っている画像を含む教師データセットによって機械学習されることで、互いに異なる姿勢の監視物体(本例では、人)を入力画像から検出することができる。
また、学習済みモデルLMは、例えば、ベースの学習モデル或いは既存の学習済みモデルLMが互いに異なる向きの監視物体を検出可能なように機械学習されることにより生成されてもよい。
例えば、図11に示すように、教師データの画像1100には、カメラに対して横(右)を向いている直立の姿勢状態の作業者Wが映っている。また、図12に示すように、教師データの画像1200には、カメラに対して背を向けている中腰の姿勢状態の作業者Wが映っている。また、図13に示すように、教師データの画像1300には、カメラに対して横(左)を向いているしゃがんだ姿勢状態の作業者Wが映っている。学習済みモデルLMは、画像800,1100や画像900,1200や画像1000,1300のように、互いに異なる向きの監視物体が映っている画像を含む教師データセットによって機械学習されることで、互いに異なる向きの監視物体を入力画像から検出することができる。
また、学習済みモデルLMは、例えば、ベースの学習モデル或いは既存の学習済みモデルLMが向き及び姿勢の少なくとも一方が互いに異なる監視物体を検出可能なように機械学習されることにより生成されてもよい。具体的には、学習済みモデルLMは、画像800~画像1300のように、互いに向きや姿勢の異なる監視物体が映っている画像を含む教師データセットによって機械学習されることで、向きや姿勢が互いに異なる監視物体を入力画像から検出することができる。
また、監視物体が人である場合、学習済みモデルLMは、例えば、ショベル100の周辺の作業者等による着用頻度が相対的に高い着用物を着用した人やその着用物を検出(認識)可能なように機械学習されることにより生成されてもよい。これにより、コントローラ30は、例えば、作業服等と背景との区別がつきにくいような撮像画像の場合であっても、着用物の特徴を適切に認識し、人やその着用物を検出し、ショベル100の人の存在を把握することができる。
例えば、図14に示すように、学習済みモデルLMは、ヘルメットを着用した人(作業者W)やその着用されたヘルメットHMTを検出(認識)するように機械学習されることにより生成されてもよい。具体的には、学習済みモデルLMは、ヘルメットHMTを着用した作業者Wが映っている画像を多数含む教師データセットによって機械学習されることで、ヘルメットを着用した人やその着用されたヘルメットを入力画像から検出することができる。
また、例えば、図15に示すように、学習済みモデルLMは、高視認性安全服RVを着用した人(作業者W)やその着用された高視認性安全服RVを検出(認識)するように機械学習されることにより生成されてもよい。高視認性安全服RVは、その着用者の周囲からの視認性が相対的に高くなるように構成される。高視認性安全服RVには、例えば、再帰性反射材が取り付けられている。また、高視認性安全服RVには、例えば、蛍光イエローや蛍光グリーンで着色される蛍光生地が使用される。具体的には、学習済みモデルLMは、高視認性安全服RVを着用した作業者Wが映っている画像を多数含む教師データセットによって機械学習がされることで、高視認性安全服を着用した人やその着用されている高視認性安全服を入力画像から検出することができる。
また、例えば、図15に示すように、学習済みモデルLMは、ヘルメットHMT及び高視認性安全服RVの双方を着用した人(作業者W)やその着用された高視認性安全服RV及びヘルメットHMTの双方を検出(認識)するように機械学習されてもよい。この場合、学習済みモデルLMは、ヘルメットの存在を表すラベル、及び高視認性安全服の存在を表すラベルの双方を出力可能であってもよい。具体的には、学習済みモデルLMは、ヘルメットHMT及び高視認性安全服RVを着用した作業者Wが映っている画像を多数含む教師データセットによって機械学習がされることで、ヘルメット及び高視認性安全服を着用した人やその着用されているヘルメット及び高視認性安全服を入力画像から検出することができる。
また、教師データセットには、例えば、カメラ40Xと同機種のカメラによって撮像された、監視物体が映っている画像が含まれる。また、教師データセットには、例えば、図8~図13に示すように、ショベル100と同機種のショベルの略同じ位置に略同じ姿勢で設置される、カメラ40Xと同機種のカメラによって撮像された、監視物体が映っている画像が含まれてもよい。これにより、学習済みモデルLMは、カメラ40Xの撮像画像への監視物体の映り方を考慮して、カメラ40Xの撮像画像から監視物体を検出可能なように機械学習される。そのため、物体検出部302は、監視物体をより精度良く検出することができる。
また、教師データセットには、例えば、互いに異なる複数の種類の背景のそれぞれの中に監視物体が映っている画像が含まれる。例えば、複数の種類の背景には、土の地面、アスファルトの地面、森林、住宅、都市建造物等が含まれる。これにより、学習済みモデルLMは、背景の違いによる監視物体の見え方を考慮して、入力画像から監視物体を検出可能なように機械学習される。そのため、物体検出部302は、監視物体をより精度良く検出することができる。
また、教師データセットには、例えば、異なる複数の時間帯のそれぞれで撮像された、監視物体が映っている画像が含まれる。複数の時間帯には、例えば、朝の時間帯(例えば、6時~10時)、昼の時間帯(例えば、10時~15時)、夕方の時間帯(例えば、16時~19時)、及び夜の時間帯(例えば、19時~翌6時)が含まれる。これにより、学習済みモデルLMは、時間帯の違いによる監視物体の見え方を考慮して、入力画像から監視物体を検出可能なように機械学習される。そのため、物体検出部302は、監視物体をより精度良く検出することができる。
また、教師データセットには、例えば、夜の時間帯に異なる複数の照明状態で撮像された、監視物体が映っている画像が含まれる。照明状態には、例えば、照明の照度の高低や照明の色等が含まれる。これにより、学習済みモデルLMは、照明状態の違いによる監視物体の見え方を考慮して、入力画像から監視物体を検出可能なように機械学習される。そのため、物体検出部302は、監視物体をより精度良く検出することができる。
また、教師データセットには、例えば、異なる複数の種類の天候状態で撮像された、監視物体が映っている画像が含まれる。複数の種類の天候状態には、例えば、晴れ、曇り、雨、雪等が含まれる。これにより、学習済みモデルLMは、天候の違いによる監視物体の見え方を考慮して、入力画像から監視物体を検出可能なように機械学習される。そのため、物体検出部302は、監視物体をより精度良く検出することができる。
また、教師データセットには、例えば、光源と撮像範囲との位置関係が互い異なる、監視物体が映っている複数の画像が含まれる。光源は、例えば、太陽や夜間の照明である。複数の画像には、光源と撮像範囲との位置関係が順光、半順光、側光、逆光等のそれぞれに相当する画像が含まれる。また、複数の画像には、例えば、同じ順光、側光、逆光等の状態で、太陽の地面から高さ(仰角)がそれぞれで異なる画像が含まれる。これにより、教師データセットは、光源の位置の違いによる監視物体の見え方を考慮して、入力画像から監視物体を検出可能なように機械学習される。そのため、物体検出部302は、監視物体をより精度良く検出することができる。
[物体検出方法の具体例]
次に、図16~図18を参照して、物体検出部302による監視物体の検出方法の具体例について説明する。
<第1例>
本例では、物体検出部302は、入力画像から高視認性安全服を検出(認識)することにより、ショベル100の周辺の人(作業者)を検出する。これにより、物体検出部302は、例えば、ショベル100の周辺の人の作業服と背景との区別がつきにくい入力画像からでも、人を検出し易くなり、その結果、監視物体としての人をより精度良く検出することができる。
具体的には、物体検出部302は、入力画像から高視認性安全服を着用した人を検出(認識)するようにしてもよいし、人に着用された高視認性安全服そのものを検出(認識)するようにしてもよいし、その双方を検出(認識)するようにしてもよい。これにより、物体検出部302は、高視認性安全服を着用した人や(人に着用された)高視認性安全服を検出した場合に、監視物体としての人を検出したと判断できる。
例えば、物体検出部302は、高視認性安全服の形状、色(例えば、蛍光イエローや蛍光グリーン)、及び再帰性反射材の輝度の少なくとも一つを認識することにより、ショベル100の周辺の人を検出する。具体的には、物体検出部302は、高視認性安全服の形状や色や再帰性反射材の輝度について、形状検出やパターン認識等を適用することにより、高視認性安全服の形状、色、及び再帰性反射材の輝度の少なくとも一つを認識してよい。また、物体検出部302は、上述の如く、高視認性安全服を着用する人(作業者)が映っている画像を多数含む教師データセットに基づく学習済みモデルLMを用いることで、高視認性安全服の形状、色、及び再帰性反射材の輝度の少なくとも一つを認識してよい。
また、本例では、撮像装置40(カメラ40X)は、照射装置70から可視光が照射されている状態で、ショベル100の周辺の撮像画像を取得してよい。この場合、照射装置70は、コントローラ30(照射制御部305)の制御下で、カメラ40Xの稼働中(電源オン中)に可視光を常時照射してもよいし、カメラ40Xの撮像タイミングに同期して、可視光を照射してもよい。これにより、撮像装置40の撮像範囲に高視認性安全服を着用する人(作業者)が存在する場合、高視認性安全服の再帰性反射材や蛍光色がより明瞭にカメラ40Xの撮像画像に映る。そのため、物体検出部302は、入力画像(カメラ40Xの撮像画像或いは画像補正部306による補正済みの撮像画像)から高視認性安全服を検出(認識)し易くなり、その結果、監視物体としての人をより精度良く検出することができる。
また、本例では、撮像装置40(カメラ40X)は、照射装置70から赤外光が照射されている状態で、ショベル100の周辺の撮像画像を取得してもよい。この場合、照射装置70は、コントローラ30(照射制御部305)の制御下で、カメラ40Xの稼働中(電源オン中)に赤外光を常時照射してもよいし、カメラ40Xの撮像タイミングに同期して、赤外光を間欠的に(周期的に)照射してもよい。これにより、撮像装置40の撮像範囲に高視認性安全服を着用する人(作業者)が存在する場合、高視認性安全服の再帰性反射材の輪郭がより明瞭にカメラ40Xの撮像画像に映る。そのため、物体検出部302は、入力画像から高視認性安全服を検出(認識)し易くなり、その結果、監視物体としての人をより精度良く検出することができる。また、赤外光の場合、可視光の場合のように、人の目が直接感知することができないことから、ショベル100の周辺の人への影響を抑制することができる。
また、本例では、照射装置70は、コントローラ30の制御下で、赤外光を常時(継続して)照射する状態と、カメラ40Xの撮像タイミングに同期して赤外光を間欠的に照射する状態とを切り換えてもよい。例えば、照射制御部305は、表示装置50Aや表示装置208に表示される周辺画像に赤外光の影響があるか否かを判定する。そして、照射制御部305は、その判定結果に応じて、照射装置70からの赤外光の照射状態の切り換えを行ってよい。赤外光の影響とは、例えば、カメラ40Xが被写体(例えば、高視認性安全服)から反射された近赤外光を捉えることにより、表示装置50Aの周辺画像が赤みを帯びた状態になることを意味する。照射制御部305は、画像解析によって、赤外光の影響の有無を判定してよい。また、照射制御部305は、入力装置52や通信装置60を通じて、ユーザ(オペレータや監視者)からの所定の入力を受け付けることにより、赤外光の影響があると判定してもよい。これにより、オペレータや監視者は、表示装置50Aや表示装置208の周辺画像が赤みを帯びた状態にあると認識すると、入力装置52や入力装置207を通じて所定の入力を行うことで、その状態をコントローラ30に通知することができる。
具体的には、照射制御部305は、通常、即ち、表示装置50Aや表示装置208に表示される周辺画像に赤外光の影響がない状態で、照射装置70から赤外光を継続して照射させる。一方、照射制御部305は、表示装置50Aや表示装置208に表示される周辺画像に赤外光の影響がある状態になると、カメラ40Xの撮像タイミングに同期して赤外光を間欠的に照射させる。これにより、コントローラ30による照射装置70の制御負荷の抑制と、表示装置50A等の周辺画像への赤外光への影響の抑制とのバランスを図ることができる。
<第2例>
図16は、撮像装置40(カメラ40X)の撮像画像の一例を示す図である。図17は、画像補正部306による、撮像装置40(カメラ40X)に対する補正後の画像(補正済撮像画像)の一例を示す図である。
本例では、物体検出部302は、画像補正部306により撮像装置40の撮像画像に対する補正済の画像(補正済み撮像画像)を入力画像として監視物体を検出する。
例えば、キャビン10のオペレータから見たときに、上部旋回体3の後方、並びに左側方及び右側方は、直接視認することは難しい。また、例えば、遠隔操作のオペレータは、キャビン10の前方を含めて周辺を直接視認することはできない。そのため、ショベル100を上面視で見たときの周辺の360度の範囲を4つのカメラ40F,40B,40L,40Rでカバーする必要が生じる。その結果、例えば、図2に示すように、4つのカメラ40F,40B,40L,40Rは、左右方向の画角(視野角)が非常に大きく設定される広角カメラとなる場合があり、その撮像画像には、広角歪み(ボリューム歪像)が生じる場合がある。
また、例えば、図1、図2に示すように、カメラ40Xは、上部旋回体3の上部に設置される。そのため、カメラ40Xは、相対的に高い位置から地面付近の監視物体を含めて監視物体を検出する必要があり、カメラ40Xの光軸は、斜め下向きに設定される。その結果、カメラ40Xの撮像画像には、パースによる歪みが生じる場合がある。
例えば、図16に示すように、カメラ40Xの撮像画像の中央部、左端部、及び右端部には、作業者W1~W3がそれぞれ映っている。カメラ40Xの撮像画像の中央部の作業者W1は、被写体にとっての鉛直軸が撮像画像の上下軸と略一致するように映っている。「略」とは、ショベル100の製造上の誤差やカメラ40Xの設置時の誤差を許容する意図である。一方、カメラ40Xの撮像画像における作業者W2,W3は、それぞれ、その鉛直軸が上下軸に対して左側及び右側に傾いている。カメラ40Xの撮像画像は、左右端部の被写体の鉛直軸が上下軸に対して端部側に傾くように歪むからである。
これに対して、本例では、画像補正部306は、カメラ40Xの撮像画像の上下軸と、被写体にとっての鉛直軸との差が小さくなるように、カメラ40Xの撮像画像を補正し、補正済撮像画像を出力する。
例えば、図17に示すように、画像補正部306は、カメラ40Xの撮像画像のうちの中央部及び左右の両端部のうちの後者の画像領域のみをそれぞれ内側に所定量だけ傾斜させることにより、補正済み撮像画像を生成する。これにより、補正済み撮像画像における作業者W2,W3は、その画像における上下軸と被写体にとっての鉛直軸との差が相対的に小さくなる。
また、画像補正部306は、射影変換等の既知の手法を用いて、カメラ40Xの撮像画像の歪み自体を補正してもよい。これにより、画像補正部306は、補正済み撮像画像における上下軸と被写体にとっての鉛直軸との差を小さくすることができる。
本例では、物体検出部302は、入力画像における上下軸と被写体にとっての鉛直軸との間の差が相対的に小さい監視物体及び相対的に大きい監視物体のうちの前者のみを検出可能なように構成される。画像における上下軸と被写体にとっての鉛直軸との間の差が相対的に大きい監視物体は、例えば、図16の作業者W2,W3のように、カメラ40Xの撮像画像の左右の両端部に映っている監視物体である。また、画像における上下軸と被写体によっての鉛直軸との間の差が相対的に小さい監視物体は、例えば、図16の作業者W1のように、カメラ40Xの撮像画像の左右の両端部に映っている監視物体である。また、画像における上下軸と被写体によっての鉛直軸との間の差が相対的に小さい監視物体は、例えば、図17の作業者W1~W3のように、カメラ40Xの補正済撮像画像に映っている監視物体である。これにより、物体検出部302は、補正済撮像画像を入力画像として用いて、監視物体を検出することができる。
具体的には、物体検出部302は、入力画像における上下軸と被写体にとっての鉛直軸との間の差が相対的に小さい監視物体について、形状検出やパターン認識等を適用することにより、入力画像からこのような監視物体を検出してよい。また、物体検出部302は、入力画像における上下軸と被写体にとっての鉛直軸との間の差が相対的に小さい監視物体が映っている画像及び相対的に大きい監視物体が映っている画像のうちの前者のみを含む教師データセットに基づく学習済みモデルLMを用いてもよい。これにより、物体検出部302は、入力画像(補正済撮像画像)の中から画像における上下軸と被写体にとっての鉛直軸との間の差が相対的に小さい監視物体のみを認識すればよいことから、監視物体をより精度良く検出することができる。また、学習済みモデルLMが用いられる場合、画像(補正済撮像画像)の中から画像における上下軸と被写体にとっての鉛直軸との間の差が相対的に小さい監視物体のみの特徴を学習すればよいことから、機械学習の効率化を図ることができる。
また、学習済みモデルLMが用いられる場合、教師データセットには、上述の如く、例えば、カメラ40Xと同機種のカメラによって撮像された、監視物体が映っている画像が利用される。また、教師データセットには、上述の如く、例えば、図8~図13に示すように、ショベル100と同機種のショベルの略同じ位置に略同じ姿勢で設置される、カメラ40Xと同機種のカメラによって撮像された、監視物体が映っている画像が利用されてもよい。この場合、カメラ40Xと同種のカメラの撮像画像は、画像補正部306と同じ機能によって補正され、教師データセットには、補正済みの画像が含まれてよい。これにより、学習済みモデルLMは、カメラ40Xの撮像画像への監視物体の映り方を考慮して監視物体を検出可能なように、且つ、画像における上下軸と被写体にとっての鉛直軸との間の差が相対的に小さい監視物体のみを検出可能なように機械学習される。そのため、物体検出部302は、監視物体をより精度良く検出することができる。また、この場合、教師データセットには、例えば、左右方向の中央部に監視物体が映っている撮像画像、及び左右方向の少なくとも一方の端部に監視物体が映っている撮像画像の双方のそれぞれに対応する補正済みの画像が含まれてもよい。これにより、学習済みモデルLMは、入力画像(補正済撮像画像)における左右の中央部の補正無しの監視物体、及び入力画像における左右方向の端部の補正ありの監視物体の双方を検出可能なように機械学習される。そのため、物体検出部302は、監視物体をより精度良く検出することができる。
<第3例>
図18~図21は、監視物体(人)の全体(全身)のうちの一部分だけが映っている撮像画像の第1例~第4例を示す図である。
例えば、図18~図21に示すように、カメラ40Xの撮像画像では、左右方向の撮像範囲の両端部に位置する監視物体としての人(作業者W)の全体(全身)うちの下部(下半身)を含む一部分のみが映っている場合がある。具体的には、図18(第1例)では、カメラ40Xの撮像画像の右端部の上部旋回体3に相対的に近い位置に、作業者Wの下半身と上半身の一部(腰の部分)が映っている。また、図19(第2例)では、カメラ40Xの撮像画像の左端部の上部旋回体3に相対的に近い位置に、作業者Wの下半身と上半身の一部(頭部を除く胸部、腰部、腕部、及び手部)が映っている。また、図20(第3例)では、カメラ40Xの撮像画像の右端部の上部旋回体3に相対的に近い位置に、作業者Wの下半身の一部(下脚部及び足部)が映っている。また、図21(第4例)では、カメラ40Xの撮像画像の左端部の上部旋回体3から相対的に離れた位置に、作業者Wの下半身の一部(下脚部及び足部)が映っている。カメラ40Xが上部旋回体3の上面から地面に向かって斜め下向きの光軸を有し、監視物体としての作業者W(人)の上半身がカメラ40Xの三次元的な撮像範囲から外れてしまうからである。
また、監視物体と、カメラ40Xとの間に障害物が存在する場合、監視物体(人)の下部(下半身)が障害物で隠れて、カメラ40Xの撮像画像には、監視物体の全体のうちのの上部(上半身)を含む一部分のみが映っている場合がある。
これに対して、本例では、物体検出部302は、入力画像から監視物体(人)の全体(全身)のうちの所定の一部のみを検出(認識)することにより、監視物体(人)を検出(認識)する。所定の一部は、例えば、上述の如く、監視物体(人)の下部(下半身)や上部(上半身)等である。これにより、物体検出部302は、入力画像に監視物体の全体のうちの所定の一部を含む一部分のみしか映っていない場合であっても、監視物体を検出することができる。そのため、物体検出部302は、監視物体をより精度良く検出することができる。
具体的には、物体検出部302は、監視物体の所定の一部について、形状検出やパターン認識等を適用することにより、入力画像から監視物体の所定の一部を検出してよい。また、物体検出部302は、監視物体の全体のうちの所定の一部を含む一部分のみが映っている画像を含む教師データセットに基づく学習済みモデルLMを用いて、監視物体の所定の一部を検出してもよい。
また、物体検出部302は、監視物体の全体、及び監視物体の全体のうちの所定の一部の双方を検出(認識)可能に構成されてもよい。これにより、物体検出部302は、例えば、監視物体の全体、及び監視物体の所定の一部の何れか一方を検出した場合に、監視物体を検出したと判断することができる。そのため、物体検出部302は、監視物体をより精度良く検出することができる。
例えば、物体検出部302は、監視物体の全体が映っている画像、及び監視物体の全体のうちの所定の一部を含む一部分のみが映っている画像を含む教師データセットに基づく学習済みモデルLMを用いて、監視物体の全体、及び監視物体の所定の一部の双方を検出する。この場合、物体検出部302は、監視物体の全体を表すラベルと、監視物体の全体のうちの所定の一部を表すラベルと、を含む複数のラベルの中から検出された監視物体に対応するラベルを出力してよい。そして、物体検出部302は、学習済みモデルLMから、検出された監視物体のラベルが監視物体の全体を表すラベル、及び監視物体の全体のうちの所定の一部を表すラベルの何れか一方が出力されると、監視物体の検出を判断してよい。
また、学習済みモデルLMが用いられる場合、教師データセットには、例えば、カメラ40Xと同機種のカメラによって撮像され、監視物体の全体のうちの下部を含む一部分のみが左端部及び右端部の少なくとも一方に映っている画像が利用される。また、教師データセットには、例えば、ショベル100と同機種のショベルの略同じ位置に略同じ姿勢で設置される、カメラ40Xと同機種のカメラによって撮像された、監視物体の全体のうちの下部を含む一部分のみが左端部及び右端部の少なくとも一方に映っている画像が利用されてもよい。これにより、学習済みモデルLMは、カメラ40Xの撮像画像への監視物体の映り方を考慮して、監視物体の全体のうちの下部(例えば、人の下半身)を検出可能なように機械学習される。そのため、物体検出部302は、監視物体の全体の内の所定の一部をより精度良く検出することができる。
また、物体検出部302は、入力画像の左右方向の中央部の画像に基づき、監視物体の全体を検出し、入力画像の左右方向の両端部の画像に基づき、監視物体の全体のうちの下部(例えば、人の下半身)のみを検出してもよい。上述の如く、入力画像では、左右方向の両端部において、監視物体の全体のうちの下部(例えば、人の下半身)のみ映っている場合がありうるからである。
また、物体検出部302は、互いに撮像範囲の一部が重複する2つのカメラ40Xのそれぞれの撮像画像に基づき、撮像範囲が重複する一部の領域の双方で監視物体の所定の一部を検出(認識)する場合に、その領域の監視物体を検出するようにしてもよい。互いに撮像範囲の一部が重複する2つのカメラ40Xは、例えば、カメラ40F,40R、カメラ40R,40B、カメラ40B,40L、及びカメラ40L,40Fの何れか一つの組み合わせに相当する。これにより、物体検出部302は、2つのカメラ40Xの重複する撮像範囲の一部の領域において、一方のカメラ40Xに基づき監視物体の所定の一部を誤検出しても、他方のカメラ40Xに基づき監視物体の所定の一部を検出していないことで、未検出と判断できる。そのため、物体検出部302は、監視物体の全体のうちの所定の一部を検出する場合の誤検出を抑制することができる。
[監視物体の実在位置の推定方法の具体例]
次に、図22~図24を参照して、検出された監視物体の実在位置の推定方法の具体例について説明する。
図22~図24は、物体検出部302による監視物体(人)の検出状態の一例、他の例、及び更に他の例を示す図である。具体的には、図22~図24は、物体検出部302によって、入力画像から監視物体(作業者W)が検出された場合の入力画像における監視物体の検出範囲を表す検出枠FRを示す図である。
図22~図24の画像は、例えば、物体検出部302により監視物体(作業者W)が検出された場合に、表示装置50Aや遠隔操作用表示装置に表示されてよい。これにより、オペレータや監視者は、ショベル100の周辺の監視物体(作業者W)の検出状況を、周辺画像(カメラ40Xの撮像画像)を見ながら把握することができる。
図22、図23の状況では、作業者Wが上部旋回体3に対して相対的に近い同じ場所に直立状態でカメラ40Xに正面を向けて存在している。また、図24の状況では、作業者Wが上部旋回体3に対して相対的に離れた場所に直立状態でカメラ40Xに正面を向けて存在している。
例えば、図22の状況では、物体検出部302は、入力画像(例えば、カメラ40Xの撮像画像)に映っている作業者Wの全体を監視物体(人)として検出(認識)している。そのため、検出枠FRは、作業者Wを囲むような矩形状として表現されている。
一方、例えば、図23の状況では、物体検出部302は、入力画像に映っている作業者Wの全体のうちの上下方向の上部(上半身の部分)のみを監視物体(人)として検出(認識)している。そのため、検出枠FRは、ヘルメットが着用される頭、及び高視認性安全服が着用される胴部を含む作業者Wの上部のみを囲むような矩形状として表現されている。
物体検出部302は、例えば、人のヘルメットや高視認性安全服等の着用物を検出(認識)することにより、人を検出(認識)する場合、入力画像における人の着用物に相当する一部分の領域のみを監視物体の検出範囲と判断する可能性がある。また、監視物体の背景やそのときの天候によっては、入力画像における監視物体の形状等の特徴が不鮮明となり、物体検出部302は、監視物体の全体の一部分しか監視物体として認識できない可能性がある。そのため、物体検出部302は、入力画像上で監視物体の全体のうちの上下方向の一部のみを検出(認識)する場合がある。
例えば、図23の状況で、上述の如く、入力画像上の検出(認識)された監視物体の大きさ(検出枠FRの上下方向の大きさ)に基づき、作業者Wの実在位置が推定されると、実際よりも上部旋回体3から遠い位置に作業者が存在すると判断される可能性がある。具体的には、図22の状況と同じ位置に作業者Wが存在するにも関わらず、図23の状況では、図22の状況で推定される実在位置よりも上部旋回体3から離れた実在位置が推定される可能性がある。
また、例えば、図23の状況と、図24の状況では、作業者Wと上部旋回体3との距離が異なるものの、入力画像上での人(作業者W)の検出位置、具体的には、検出範囲(検出枠FR)の下端位置は、略同じである。そのため、上述の如く、入力画像上の監視物体の検出位置(基準点)に基づき、射影変換等によって、監視物体の実在位置が推定されると、図24の状況で検出される作業者Wと同様に、上部旋回体3から相対的に離れた実在位置が推定される可能性がある。
これに対して、本例では、位置推定部303は、監視物体の入力画像上での上下方向の検出位置に関する情報、及び監視物体の入力画像上での検出範囲の大きさや形状に関する情報に基づき、監視物体の実在位置を推定する。監視物体の入力画像上での上下方向の検出位置に関する情報とは、監視物体の入力画像上での検出範囲を代表する座標位置であり、例えば、監視物体の入力画像上での検出範囲の下端、上端、及び図心の少なくとも一つの座標を含む。監視物体の入力画像上での検出範囲の大きさに関する情報には、例えば、検出範囲の高さ(上下方向の寸法)に関する情報、幅(左右方向の寸法)に関する情報、縦横比に関する情報、対角線に関する情報、面積に関する情報等が含まれる。また、監視物体の入力画像上での検出範囲の形状に関する情報には、例えば、縦横比に関する情報等が含まれる。
具体的には、位置推定部303は、監視物体の入力画像上での上下方向の検出位置に対する監視物体の入力画像上での検出範囲の形状や大きさの整合性の有無を判定してよい。入力画像における監視物体の全体が検出されていると仮定すると、監視物体の入力画像上での上下方向の検出位置によって、想定される監視物体の検出範囲の形状や大きさの範囲が決まる。そのため、位置推定部303は、監視物体の入力画像上での上下方向の検出位置に対して、監視物体の入力画像上での検出範囲の形状や大きさがこの想定される範囲に収まるのか否かの整合性の有無によって、監視物体の全体が検出されているか否かを判定できる。
監視物体の入力画像上での検出範囲の形状や大きさの想定される範囲は、監視物体の入力画像上での上下方向の検出位置に応じて、一律に規定されてよい。また、監視物体の入力画像上での検出範囲の形状や大きさの想定される範囲は、監視物体の入力画像上での上下方向の検出位置に加えて、他の条件が考慮されてもよい。例えば、監視物体の入力画像上での検出範囲の形状や大きさの想定される範囲は、監視物体の入力画像上での上下方向の検出位置に加えて、検出された監視物体の姿勢や向きによって可変されてもよい。監視物体の姿勢や向きによって、入力画像上での監視物体の見え方が異なり、その結果、監視物体の入力画像上での検出範囲の形状や大きさが変化するからである。監視物体の向きや姿勢は、例えば、学習済みモデルLMが監視物体の異なる向きや姿勢ごとに、監視物体を検出可能なように、即ち、異なる向きや姿勢に対応する複数のラベルごとに監視物体を検出可能なように機械学習されることにより、取得されうる。また、監視物体の入力画像(撮像画像)上での検出範囲の形状や大きさの想定される範囲は、例えば、監視物体の入力画像(撮像画像)上での上下方向の検出位置だけでなく、その検出位置でのレンズによる歪みを考慮して規定されてもよい。
位置推定部303は、監視物体の入力画像上での上下方向の検出位置に対する、監視物体の入力画像上での検出範囲の形状や大きさの整合性がある場合、監視物体の全体が検出されていると判定する。この場合、位置推定部303は、監視物体の入力画像上での検出位置や検出範囲に基づき、上述の通り、監視物体の実在位置を推定してよい。
一方、位置推定部303は、監視物体の入力画像上での上下方向の検出位置に対する、監視物体の入力画像上での検出範囲の形状や大きさの整合性がない場合、監視物体の全体のうちの一部のみが検出されていると判定する。この場合、位置推定部303は、監視物体の入力画像上での検出位置或いは検出範囲を補正し、補正後の検出位置や検出範囲に基づき、監視物体の実在位置を推定してよい。
例えば、位置推定部303は、監視物体の入力画像上での検出範囲の幅が、監視物体の入力画像上での上下方向の検出位置に対して想定される範囲を大きい方向に逸脱する場合、入力画像における監視物体の全体の上側の一部のみが検出されていると判定する(図23参照)。
また、例えば、位置推定部303は、監視物体の入力画像上での検出範囲の縦横比が、監視物体の入力画像上での上下方向の検出位置に対して想定される範囲を左右方向の寸法が大きくなる方向に逸脱する場合、入力画像における監視物体の全体の上下方向の一部のみが検出されていると判定する。更に、位置推定部303は、物体検出部302により、監視物体の全体の所定の一部のみ或いは監視物体の着用物のみが検出される場合、その所定の一部或いは着用物の装着部位を考慮して、入力画像における監視物体の全体の上下方向の上側及び下側のどちらの一部のみが検出されているかを判定してよい。例えば、位置推定部303は、物体検出部302によりヘルメットや高視認性安全服が検出(認識)される場合、入力画像における監視物体(人)の全体のうちのヘルメットや高視認性安全服の着用箇所を含む上側の一部のみが検出されていると判定する(図23参照)。また、位置推定部303は、入力画像における監視物体の全体の上下方向の一部のみが検出されていると判定すると、安全面を優先して、一律に、監視物体の全体の上下方向の上側の一部のみが検出されているとみなしてもよい。
この場合、位置推定部303は、例えば、監視物体の入力画像上での検出範囲の高さ及び幅に関する情報に基づき、監視物体として想定される形状(縦横比)になるように、監視物体の入力画像上での検出範囲を下側に延ばす補正を行ってよい。監視物体として想定される形状(縦横比)は、例えば、監視物体の入力画像上での検出位置に応じて規定される。また、監視物体として想定される形状(縦横比)は、例えば、監視物体の入力画像上での検出位置に加えて、監視物体の向きや姿勢、その検出位置でのレンズによる歪み等に応じて規定されてもよい。また、位置推定部303は、例えば、監視物体の入力画像上での検出範囲の幅に関する情報に基づき、監視物体の入力画像上での検出範囲の幅と整合するように、監視物体の検出位置を下に移動させたり、監視物体の検出範囲を下側に延ばしたりする補正をしてもよい。この際、位置推定部303は、例えば、監視物体の向きや姿勢、その検出位置でのレンズによる歪み等を考慮して、監視物体の検出位置や検出範囲を補正してよい。そして、位置推定部303は、補正後の監視物体の検出範囲や検出位置に基づき、監視物体の実在位置を推定してよい。
このように、本例では、位置推定部303は、物体検出部302により入力画像上での監視物体の全体のうちの一部(特に、上下方向の上側の一部)のみが検出される状態を把握し、その状態を考慮して、監視物体の実在位置を推定することができる。そのため、位置推定部303は、例えば、監視物体の実在位置を実際よりも上部旋回体3から相対的に離れた位置として推定するような事態を抑制し、監視物体の実在位置をより適切に推定することができる。よって、コントローラ30(安全制御部304)は、より適切に安全機能を作動させることができ、その結果、ショベル100の安全性を向上させることができる。
[ショベルの機能構成の他の例]
次に、図25を参照して、ショベル100の機能構成の他の例について説明する。以下、上述の一例(図6)と異なる部分を中心に説明を行い、上述の一例と同じ或いは対応する説明を省略する場合がある。
図25は、本実施形態に係るショベル100の機能構成の他の例を示す機能ブロック図である。
図25に示すように、コントローラ30は、上述の一例の場合と同様、表示処理部301と、物体検出部302と、位置推定部303と、安全制御部304と、照射制御部305とを含み、画像補正部306を含んでもよい。また、コントローラ30は、上述の一例と異なり、検出判断部307を含む。
撮像装置40は、物体検出部402を含む。また、撮像装置40は、画像補正部404を含んでもよい。
物体検出部402(検出部の一例)は、物体検出部302と同様、撮像装置40の撮像画像に基づき、監視物体を検出する。物体検出部402は、物体検出部402F,402B,402L,402Rを含む。以下、物体検出部402F,402B,402L,402Rを包括的に、或いは、任意の一つを個別に「物体検出部402X」と称する場合がある。
物体検出部402Fは、カメラ40Fに搭載され、物体検出部302と同様、カメラ40Fの撮像画像に基づき、監視物体を検出する。具体的には、物体検出部402Fは、カメラ40Fの撮像画像から、監視物体を認識し、その監視物体が映っている位置(領域)を特定してよい。また、物体検出部402Fは、画像補正部404Fによりカメラ40Fの撮像画像(即ち、撮像画像生成機能で生成される撮像画像)が補正された後の画像(補正済撮像画像)から、監視物体を認識し、その監視物体が映っている位置(領域)を特定してもよい。物体検出部402Fの機能は、任意のハードウェア或いは任意のハードウェア及びソフトウェアの組み合わせ等により実現される。例えば、物体検出部402Fの機能は、例えば、カメラ40Fの画像処理エンジン42の補助記憶装置にインストールされるプログラムがメモリ装置にロードされCPU上で実行されることにより実現される。以下、物体検出部402B,402L,402Rの機能についても同様である。
物体検出部402Bは、カメラ40Bに搭載され、物体検出部302と同様、カメラ40Bの撮像画像に基づき、監視物体を検出する。具体的には、物体検出部402Bは、カメラ40Bの撮像画像から、監視物体を認識し、その監視物体が映っている位置(領域)を特定してよい。また、物体検出部402Bは、画像補正部404Bによりカメラ40Bの撮像画像(即ち、撮像画像生成機能で生成される撮像画像)が補正された後の画像(補正済撮像画像)から、監視物体を認識し、その監視物体が映っている位置(領域)を特定してもよい。
物体検出部402Lは、カメラ40Lに搭載され、物体検出部302と同様、カメラ40Lの撮像画像に基づき、監視物体を検出する。具体的には、物体検出部402Lは、カメラ40Lの撮像画像から、監視物体を認識し、その監視物体が映っている位置(領域)を特定してよい。また、物体検出部402Lは、画像補正部404Lによりカメラ40Lの撮像画像(即ち、撮像画像生成機能で生成される撮像画像)が補正された後の画像(補正済撮像画像)から、監視物体を認識し、その監視物体が映っている位置(領域)を特定してもよい。
物体検出部402Rは、カメラ40Rに搭載され、物体検出部302と同様、カメラ40Rの撮像画像に基づき、監視物体を検出する。具体的には、物体検出部402Rは、カメラ40Rの撮像画像から、監視物体を認識し、その監視物体が映っている位置(領域)を特定してよい。また、物体検出部402Rは、画像補正部404Rによりカメラ40Rの撮像画像(即ち、撮像画像生成機能で生成される撮像画像)が補正された後の画像(補正済撮像画像)から、監視物体を認識し、その監視物体が映っている位置(領域)を特定してもよい。
画像補正部404(補正部の一例)は、画像補正部306と同様、撮像装置40(カメラ40X)の出力(撮像画像)に所定の補正を行い、補正済撮像画像を物体検出部402に出力する。画像補正部404F,404B,404L,404Rを含む。
画像補正部404Fは、カメラ40Fに搭載され、上述の画像補正部306と同様、カメラ40Fの撮像画像に所定の補正を行い、補正済撮像画像を物体検出部402Fに出力する。
尚、カメラ40Fは、撮像画像生成機能で生成される撮像画像に加えて、画像補正部404Fにより補正される補正済撮像画像をコントローラ30に出力してもよい。以下、カメラ40B,40L,40Rについても同様であってよい。この場合、コントローラ30の画像補正部306は省略され、物体検出部302は、カメラ40Xから入力される補正済撮像画像に基づき、監視物体を検出してよい。
画像補正部404Bは、カメラ40Bに搭載され、上述の画像補正部306と同様、カメラ40Bの撮像画像に所定の補正を行い、補正済撮像画像を物体検出部402Bに出力する。
画像補正部404Lは、カメラ40Lに搭載され、上述の画像補正部306と同様、カメラ40Lの撮像画像に所定の補正を行い、補正済撮像画像を物体検出部402Lに出力する。
画像補正部404Rは、カメラ40Rに搭載され、上述の画像補正部306と同様、カメラ40Rの撮像画像に所定の補正を行い、補正済撮像画像を物体検出部402Rに出力する。
物体検出部402Xは、互いに同じアルゴリズムを用いて、入力画像から監視物体を検出する。一方、物体検出部402Xは、物体検出部302と異なるアルゴリズムを用いて、入力画像から監視物体を検出する。これにより、例えば、物体検出部302,402Xのうちの何れか一方が監視物体を検出できない場合でも、何れか他方が監視物体を検出する可能性を高めることができる。その結果、ショベル100の周辺の監視物体を検出できない事態の発生を抑制することができる。また、例えば、物体検出部302,402Xのうちの何れか一方が存在しない監視物体を検出してしまっても、他方が監視物体を検出していないことを以て、監視物体を検出しないようにすることもできる。
例えば、物体検出部302,402Xは、何れか一方が画像処理技術及び機械学習技術のうちの前者のみを利用し、何れか他方が画像処理技術及び機械学習技術の双方、即ち、学習済みモデルLMを利用して、監視物体を検出してよい。
また、例えば、物体検出部302,402Xは、何れか一方が学習済みモデルLMとして監視物体の画像特徴量を機械学習済みのSVMを利用し、何れか他方が深層学習による学習済みモデルLMを利用して、入力画像から監視物体を検出してもよい。
また、物体検出部302,402Xは、例えば、互いに異なるネットワーク(DNN)による学習済みモデルLMを用いて、入力画像から監視物体を検出してもよい。例えば、物体検出部302,402Xは、何れか一方が学習済みモデルLMとしてCNNをベースとする分類モデルを利用し、何れか他方が学習済みモデルLMとしてCNNをベースとする回帰モデルを利用して、入力画像から監視物体を検出してもよい。具体的には、物体検出部302,402Xは、何れか一方がFaster R-CNNによる学習済みモデルLMを利用し、何れか他方がYOLO或いはSSDによる学習済みモデルLMを利用して、入力画像から監視物体を検出してもよい。また、例えば、物体検出部302,402Xは、CNNベースの学習済みモデルLMを利用し、それぞれの学習済みモデルLMは、ネットワーク構造、ネットワークの層数、特徴マップの構造、候補領域の特性の少なくとも1つが互いに異なっていてもよい。候補領域の特性には、縦横比や候補領域の固定或いは可変の違い等が含まれうる。具体的には、物体検出部302,402Xは、何れか一方がYOLOによる学習済みモデルLMを利用し、何れか他方がSSDによる学習済みモデルLMを利用して、入力画像から監視物体を検出してもよい。また、例えば、物体検出部302,402Xは、同じSSDによる学習済みモデルLMを利用し、それぞれの学習済みモデルLMは、ネットワーク構造、ネットワークの層数、特徴マップの構造、候補領域の特性等のパラメータの少なくとも1つが互いに異なっていてもよい。
また、例えば、物体検出部302,402Xは、互いに異なる教師データセットで機械学習された学習済みモデルLMを利用して、入力画像から監視物体を検出してもよい。
例えば、物体検出部302,402Xは、互いに監視物体の姿勢及び向きの少なくとも一方が異なる画像による教師データセットで機械学習された学習済みモデルLMを利用して、入力画像から監視物体を検出してよい。例えば、物体検出部302,402Xの学習済みモデルLMは、何れか一方が直立状態の人が映る画像による教師データセットで機械学習され、何れか他方が中腰状態やしゃがんだ状態の人が映る画像による教師データセットで機械学習されていてもよい。また、例えば、物体検出部302,402Xの学習済みモデルは、何れか一方がカメラに向かって前或いは後を向いた人が映る画像による教師データセットで機械学習され、何れか他方がカメラに向かって横向きの人が映る画像による教師データセットで機械学習されていてもよい。これにより、物体検出部302,402Xは、何れか一方が入力画像に映っている監視物体の向きや姿勢の影響で、監視物体を適切に検出できない状況でも、何れか他方が入力画像から監視物体を適切に検出する可能性を高めることができる。そのため、物体検出部302,402Xは、全体として、より確実に監視物体を検出することができる。
また、例えば、物体検出部302,402Xは、何れか一方が監視物体(人)の形状を含むその全体を検出(認識)し、何れか他方が監視物体(人)の着用物を検出(認識)することにより、入力画像から監視物体を検出してもよい。例えば、物体検出部302,402Xは、何れか一方が入力画像から人の全体を検出し、何れか他方が人の着用するヘルメット或いは安全ベストを検出(認識)することにより、入力画像から人を検出してよい。これにより、物体検出部302,402Xは、例えば、何らかの理由で、何れか一方が人の全体を適切に検出(認識)できない状況であっても、何れか他方がより確実に監視物体(人)を検出することができる。
また、例えば、物体検出部302,402Xは、互いに、監視物体(人)の異なる着用物を検出することにより、入力画像から監視物体を検出してもよい。例えば、物体検出部302,402Xは、何れか一方が入力画像から人の着用するヘルメットを検出(認識)し、何れか他方が入力画像から人の着用する安全ベストを検出(認識)することにより、入力画像から人を検出してよい。これにより、物体検出部302,402Xは、例えば、作業者が一の着用物を未着用である等によって、何れか一方が一の着用物を認識できない場合でも、何れか他方が他の着用物を認識することで、より確実に監視物体(人)を検出することができる。
また、例えば、物体検出部302,402Xは、互いに、監視物体の背景の種類が異なる画像による教師データセットで機械学習された学習済みモデルLMを利用して、入力画像から監視物体を検出してもよい。例えば、物体検出部302,402Xの学習済みモデルLMは、何れか一方が背景に土砂の地面が映る画像による教師データセットで機械学習され、何れか他方が背景にアスファルト等の地面が映る画像による教師データセットで機械学習されていてよい。これにより、物体検出部302,402Xは、何れか一方が入力画像の背景の影響で、監視物体を適切に検出できない状況でも、何れか他方が入力画像から監視物体を適切に検出する可能性を高めることができる。そのため、物体検出部302,402Xは、全体として、より確実に監視物体を検出することができる。
また、例えば、物体検出部302,402Xは、互いに、取得(撮像)された時間帯の異なる画像による教師データセットで機械学習された学習済みモデルLMを利用して、入力画像から監視物体を検出してもよい。例えば、物体検出部302,402Xの学習済みモデルは、何れか一方が朝や昼の時間帯に撮像された画像による教師データセットで機械学習され、何れか他方が夕方や夜間の時間体に撮像された画像による教師データセットで機械学習されてよい。これにより、コントローラ30は、例えば、ショベル100の作業中の時間帯に合わせて、物体検出部302,402Xを使い分けたり、物体検出部302,402Xの検出結果に基づく監視物体の検出に関する最終判断の方法を切り換えたりすることができる。
また、ショベル100が夜間に使用される場合、例えば、物体検出部302,402Xは、互いに、夜間の照明状態の異なる画像による教師データセットで機械学習された学習済みモデルLMを利用して、入力画像から監視物体を検出してもよい。例えば、物体検出部302,402Xの学習済みモデルLMは、例えば、何れか一方が相対的に高い照度で取得された画像による教師データセットで機械学習され、何れか他方が相対的に低い照度で取得された画像による教師データセットで機械学習されていてもよい。また、例えば、物体検出部302,402Xの学習済みモデルLMは、例えば、互いに異なる色の照明状態で取得された画像による教師データセットで機械学習されていてもよい。これにより、物体検出部302,402Xは、照明状態の影響で、何れか一方が監視物体を適切に検出できない状況でも、何れか他方が監視物体を適切に検出する可能性を高めることができる。そのため、物体検出部302,402Xは、全体として、より確実に監視物体を検出することができる。
また、例えば、物体検出部302,402Xは、例えば、互いに異なる天候状態で取得(撮像)された画像による教師データセットで機械学習された学習済みモデルLMを利用して、入力画像から監視物体を検出してもよい。例えば、物体検出部302,402Xは、例えば、物体検出部302,402Xの学習済みモデルLMは、何れか一方が晴れや曇りの状態で取得された画像による教師データセットで機械学習され、何れか他方が雨や雪の状態で取得された画像による教師データセットで機械学習されていてもよい。これにより、物体検出部302,402Xは、例えば、天候の影響で、何れか一方が監視物体を適切に検出できない状況でも、何れか他方が監視物体を適切に検出する可能性を高めることができる。そのため、物体検出部302,402Xは、全体として、より確実に監視物体を検出することができる。
また、例えば、物体検出部302,402Xは、例えば、互いに異なる光源と撮像範囲との位置関係で取得された画像による教師データセットで機械学習された学習済みモデルLMを使用して、入力画像から監視物体を検出してもよい。例えば、物体検出部302,402Xの学習済みモデルLMは、何れか一方が順光や半順光や側光に相当する画像による教師データセットで機械学習され、何れか他方が逆光に相当する画像による教師データセットで機械学習されていてもよい。これにより、物体検出部302,402Xは、光源と撮像範囲との位置関係の影響で、何れか一方が監視物体を適切に検出できない状況であっても、何れか他方が監視物体を適切に検出する可能性を高めることができる。そのため、物体検出部302,402Xは、全体として、より確実に監視物体を検出することができる。
検出判断部307は、物体検出部302の検出結果、及び物体検出部402Xに基づき、監視物体を検出する。具体的には、検出判断部307は、物体検出部302の検出結果、及び物体検出部402Xの検出結果に基づき、監視物体の検出に関する最終判断を行う。検出判断部307による監視物体の検出方法の詳細は後述する。
位置推定部303は、検出判断部307により監視物体が検出された場合に、検出された監視物体の実在位置を推定する。また、検出判断部307により複数の監視物体が検出されている場合、位置推定部303は、複数の監視物体ごとの実在位置を推定する。
例えば、物体検出部302,402Xの何れか一方で、監視物体が検出されている場合、その何れか一方により特定される入力画像上での検出範囲等に基づき、上述の方法を任意に適用することで、監視物体の位置を推定する。
また、例えば、物体検出部302,402Xの双方で、同じ監視物体が検出されている場合、物体検出部302,402Xの検出結果のそれぞれに対して、監視物体の実在位置を推定し、それぞれの推定結果から監視物体の実在位置を推定してもよい。例えば、物体検出部302,402Xの検出結果のそれぞれに対する監視物体の実在位置の推定結果の平均を取ることにより、検出された監視物体の実在位置を推定してもよい。
安全制御部304は、例えば、検出判断部307によって、ショベル100の周辺の所定範囲内で監視物体が検出される場合に、安全機能を作動させる。具体的には、安全制御部304は、位置推定部303により推定される、監視物体の実在位置(推定値)がショベル100の周辺の所定範囲内である場合に、安全機能を作動させてよい。
尚、物体検出部302,402の何れか一方の機能は、表示装置50Aに移管されてもよい。また、物体検出部302,402に加えて、更に、入力画像から監視物体を検出する、1以上の物体検出部がショベル100に設けられてもよい。追加される物体検出部は、表示装置50Aに設けられてもよいし、コントローラ30に設けられてもよいし、コントローラ30とは異なるコントローラに設けられてもよい。この場合、追加分を含む3以上の物体検出部は、互いに異なるアルゴリズムを用いて、入力画像から監視物体を検出してもよい。
[物体検出方法の具体例]
次に、検出判断部307による監視物体の検出方法、即ち、監視物体の検出に関する最終判断の方法について説明する。
検出判断部307は、例えば、物体検出部302及び物体検出部402Xの少なくとも一方で監視物体が検出されている場合、その監視物体がショベル100の周辺に存在すると判断し、その監視物体を検出してよい。これにより、コントローラ30は、例えば、物体検出部302,402Xのうちの何れか一方で実在する監視物体を検出されなくても、何れか他方でその監視物体が検出されれば、その監視物体を検出することができる。そのため、コントローラ30は、例えば、監視物体の検出失敗が発生し易い状況や監視物体の検出失敗を防止する必要性が高い状況で、実在する監視物体をより確実に検出し、その結果、ショベル100の安全機能の作動に伴って、安全性をより向上させることができる。
また、検出判断部307は、例えば、物体検出部302及び物体検出部402Xの双方で監視物体が検出されている場合、その監視物体がショベル100の周辺に存在すると判断し、その監視物体を検出してもよい。これにより、コントローラ30は、例えば、物体検出部302,402Xの何れか一方で実在しない監視物体が誤検出されてしまっても、何れか他方でその監視物体が検出されなければ、その監視物体を検出しないようにすることができる。そのため、コントローラ30は、例えば、監視物体の誤検出が発生し易い状況や監視物体の誤検出による作業効率の低下を防止する必要性が高い状況で、監視物体の誤検出を抑制することができる。
尚、上述の如く、ショベル100に3以上の物体検出部が設けられる場合、検出判断部307は、例えば、全ての物体検出部のうちの所定数(2以上の整数)以上の物体検出部で監視物体が検出されている場合に、その監視物体を検出してよい。所定数は、固定であってもよいし、可変されてもよい。例えば、所定数は、入力装置52や通信装置60を通じて受け付けられるユーザ(オペレータや監視者)からの所定の入力に応じて可変されてよい。
また、検出判断部307は、入力装置52や通信装置60を通じて受け付けられるユーザ(オペレータや監視者)からの所定の入力に応じて、上記の2つの方法を切り換えてもよい。
また、検出判断部307は、例えば、物体検出部302及び物体検出部402Xのそれぞれの検出結果に規定される重要度を用いて、物体検出部302及び物体検出部402Xに基づき、監視物体を検出してもよい。具体的には、検出判断部307は、物体検出部302及び物体検出部402Xのうちの検出結果の重要度が相対的に高い一方により監視物体が検出される場合に、その監視物体を検出する。
重要度は、例えば、入力装置52や通信装置60を通じて受け付けられるユーザ(オペレータや監視者)からの所定の入力に応じて設定(可変)されてよい。これにより、ユーザは、例えば、表示装置50Aや遠隔操作用表示装置に表示される周辺画像と、実際の物体検出部302,402Xによる監視物体の検出状況とを比較し、より精度高いと考えられる一方の検出結果の重要度を高く設定できる。また、重要度は、ショベル100の周辺の状況に応じて、自動で設定(可変)されてもよい。例えば、ショベル100の置かれている環境状態に応じて、物体検出部302,402Xの間で監視物体の検出精度に差異が生じる場合、その検出精度が高い一方の検出結果の重要度が他方の検出結果の重要度よりも高く設定されてよい。ショベル100の置かれている環境状態には、カメラ40Xの撮像画像に背景として映るショベル100の周辺の物体(例えば、地面の土砂、アスファルト等の種別)等の状態が含まれうる。また、ショベル100の置かれている環境状態には、例えば、作業が行われている時間帯、夜間作業時の照明状態、天候状態、光源とカメラ40Xとの撮像範囲との位置関係等が含まれうる。これにより、コントローラ30は、例えば、ショベル100の置かれている状況に合わせて、物体検出部302,402Xのうちのより検出精度が高いと想定される何れか一方の重要度を相対的に高く設定することができる。
尚、上述の如く、ショベル100に3以上の物体検出部が設けられる場合、検出判断部307は、それぞれの物体検出部の検出結果の重要度が相対的に高くなるほど、その検出結果が最終判断の結果に反映されやすくなるように、監視物体を検出してよい。例えば、検出判断部307は、全ての物体検出部のうちの一部の物体検出部により監視物体が検出されている場合、その一部の物体検出部のそれぞれの検出結果の重要度の合計が他の残りの物体検出部のそれぞれの検出結果の重要度の合計より大きい場合、その監視物体を検出してよい。また、例えば、検出判断部307は、全ての物体検出部のうちの一部の物体検出部により監視物体が検出されている場合、その一部の物体検出部のそれぞれの検出結果の重要度の合計が所定の閾値以上である場合に、その監視物体を検出してよい。
[変形・変更]
以上、実施形態について詳述したが、本開示はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された要旨の範囲内において、種々の変形・変更が可能である。
例えば、上述した実施形態では、ショベル100に搭載される撮像装置40の撮像画像に基づく監視物体の検出方法について説明したが、同様の方法は、他の作業機械に搭載される撮像装置の撮像画像に基づく監視物体の検出方法に適用されてもよい。他の作業機械は、例えば、アタッチメントATの先端にバケット6に代えてリフティングマグネットが装着されるリフマグ機、ブルドーザ、林業機械(例えば、ハーベスタ)道路機械(例えば、アスファルトフィニッシャ)等である。