(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023152458
(43)【公開日】2023-10-17
(54)【発明の名称】作業機械
(51)【国際特許分類】
E02F 9/20 20060101AFI20231010BHJP
G06T 7/70 20170101ALI20231010BHJP
【FI】
E02F9/20 Q
G06T7/70 Z
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2022062487
(22)【出願日】2022-04-04
(71)【出願人】
【識別番号】000005522
【氏名又は名称】日立建機株式会社
(74)【代理人】
【識別番号】110002572
【氏名又は名称】弁理士法人平木国際特許事務所
(72)【発明者】
【氏名】小谷 匡士
(72)【発明者】
【氏名】齋藤 哲平
(72)【発明者】
【氏名】成川 理優
(72)【発明者】
【氏名】伊東 英明
(72)【発明者】
【氏名】石本 英史
(72)【発明者】
【氏名】佐藤 慧
【テーマコード(参考)】
2D003
5L096
【Fターム(参考)】
2D003AA01
2D003AB01
2D003AB02
2D003AB03
2D003AB04
2D003BA03
2D003CA02
2D003DA04
2D003DB04
2D003DB05
2D003FA02
5L096BA18
5L096FA67
5L096FA69
5L096JA11
(57)【要約】
【課題】運搬機械の認識結果の妥当性を検証して、運搬機械への積込作業を適切に制御することが可能な作業機械を提供する。
【解決手段】油圧ショベル1は、油圧ショベル1の周辺環境を計測する外界計測装置70と、外界計測装置70の計測結果に基づいて油圧ショベル1の周辺に存在するダンプトラック200を認識する情報処理装置54と、情報処理装置54の認識結果に基づいて油圧ショベル1の車体の動作を制御する制御装置40と、外部通信によってダンプトラック200の位置及び車格情報を取得するトラック情報取得装置56と、を備える。情報処理装置54は、トラック情報取得装置56により取得された情報に基づいてダンプトラック200の認識結果を補正する。制御装置40は、補正されたダンプトラック200の認識結果に基づいて油圧ショベル1の車体の動作を制御する。
【選択図】
図5
【特許請求の範囲】
【請求項1】
対象物を運搬機械に積み込む作業機械であって、
前記作業機械の車体の周辺環境を計測する外界計測装置と、
前記外界計測装置の計測結果に基づいて前記車体の周辺に存在する前記運搬機械を認識する情報処理装置と、
前記情報処理装置の認識結果に基づいて前記車体の動作を制御する制御装置と、
外部から前記運搬機械の位置及び車格情報を取得する運搬機械情報取得装置と、を備え、
前記情報処理装置は、前記運搬機械情報取得装置により取得された前記運搬機械の位置及び車格情報に基づいて前記運搬機械の認識結果を補正し、
前記制御装置は、補正された前記運搬機械の認識結果に基づいて前記車体の動作を制御する
ことを特徴とする作業機械。
【請求項2】
前記情報処理装置は、
前記外界計測装置の計測結果から前記運搬機械を認識し、認識された前記運搬機械が存在する領域である認識領域を演算する認識部と、
前記運搬機械情報取得装置により取得された前記運搬機械の位置及び車格情報から前記運搬機械が存在すると推定される領域である推定領域を演算する領域推定部と、
前記推定領域に基づいて前記認識領域を補正する補正部と、を備える
ことを特徴とする請求項1に記載の作業機械。
【請求項3】
前記情報処理装置は、前記認識領域を前記推定領域と比較することによって前記認識結果の確度を演算し、
前記補正部は、演算された前記確度に応じて前記認識領域を補正する
ことを特徴とする請求項2に記載の作業機械。
【請求項4】
前記情報処理装置は、前記認識領域と前記推定領域との重なり具合を示す重合度を前記確度として演算し、
前記補正部は、演算された前記重合度に応じて前記認識領域を補正する
ことを特徴とする請求項3に記載の作業機械。
【請求項5】
前記運搬機械情報取得装置は、前記運搬機械の位置調整量に関する情報を更に取得し、
前記領域推定部は、前記運搬機械情報取得装置により取得された前記位置調整量を用いて前記推定領域を演算する
ことを特徴とする請求項2に記載の作業機械。
【請求項6】
前記情報処理装置は、前記作業機械が次に行うタスクを取得するタスク取得部を更に備え、
前記補正部は、取得された前記タスクに応じて、前記認識領域の補正方法を変更する
ことを特徴とする請求項2に記載の作業機械。
【請求項7】
前記補正部は、前記対象物を前記運搬機械に積み込む積込タスクが取得された場合、前記認識領域と前記推定領域とを包含する領域となるように前記認識領域を補正する
ことを特徴とする請求項6に記載の作業機械。
【請求項8】
前記対象物を保持するバケットを更に備え、
前記運搬機械情報取得装置は、前記運搬機械の位置調整量に関する情報を更に取得し、
前記補正部は、前記対象物を前記運搬機械に積み込む積込タスクが取得された場合、前記運搬機械情報取得装置により取得された前記位置調整量と、前記認識領域及び前記推定領域と、に基づいて、前記バケットから前記運搬機械に前記対象物を積み込む時の前記バケットの位置を演算し、
前記制御装置は、前記補正部により演算された前記バケットの前記位置に基づいて、前記対象物の前記運搬機械への積込動作を制御する
ことを特徴とする請求項6に記載の作業機械。
【請求項9】
前記補正部は、前記対象物を前記運搬機械に積み込む積込タスクの終了後に行われるリーチングタスクが取得された場合、前記認識領域と前記推定領域とが重なる領域に包含される領域となるように前記認識領域を補正する
ことを特徴とする請求項6に記載の作業機械。
【請求項10】
前記情報処理装置は、
前記運搬機械の前記認識結果が補正不能と判定した場合、前記認識結果が補正不能との判定結果をユーザに通知すると共に前記車体の動作の継続可否をユーザに確認する画面を表示装置に表示させ、
前記継続可否の確認結果をユーザから受け付けると、前記確認結果を前記制御装置に出力し、
前記制御装置は、前記確認結果に応じて前記車体の動作を制御する
ことを特徴とする請求項2に記載の作業機械。
【請求項11】
前記作業機械の周辺の地形情報を取得する地形情報取得装置を更に備え、
前記情報処理装置は、前記地形情報取得装置により取得された前記地形情報に基づいて前記運搬機械の姿勢を推定する姿勢推定部を更に備え、
前記領域推定部は、前記姿勢推定部により推定された前記運搬機械の姿勢を用いて前記推定領域を演算する
ことを特徴とする請求項2に記載の作業機械。
【請求項12】
前記外界計測装置は、前記計測結果として前記周辺環境の点群データを取得し、
前記情報処理装置は、前記外界計測装置により取得された前記点群データから、前記推定領域を含む所定領域内の前記点群データを抽出するフィルタ部を更に備え、
前記認識部は、前記フィルタ部により抽出された前記点群データから前記運搬機械を認識し、前記認識領域を演算する
ことを特徴とする請求項2に記載の作業機械。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、作業機械に関する。
【背景技術】
【0002】
油圧アクチュエータにより駆動されるフロント作業装置(例えばブーム、アーム、及び、バケット等のアタッチメント)等を有する多関節型の作業機械(例えば油圧ショベル)が知られている。この種の作業機械は、掘削した土砂等の対象物を、被積込機械である運搬機械(例えばダンプトラック)に積み込む積込作業を行う。
【0003】
積込作業を行う際、フロント作業装置の高さ(例えば、バケットの高さ)が運搬機械より低い位置で旋回させると、フロント作業装置が運搬機械と衝突する可能性がある。そこで、積込作業を行う作業機械のオペレータの操作を支援する機能や、作業機械が自動で積込作業を行う技術が求められている。作業機械の積込作業を半自動又は全自動(以下「自動」と総称する)で行う際には、作業機械が運搬機械の位置及び姿勢を正確に認識する必要がある。
【0004】
運搬機械を認識する従来技術としては、例えば、特許文献1に記載の技術がある。特許文献1には、作業機械の運搬物の積み下ろし対象が写る撮像画像を取得するデータ取得部と、前記撮像画像から前記積み下ろし対象を含む領域を特定する領域特定部と、前記積み下ろし対象を含む領域から前記積み下ろし対象の少なくとも一つの所定の面を特定する積み下ろし対象特定部と、を備える画像処理システムが開示されている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1に開示の技術は、運搬機械を特定するために、機械学習を用いた画像認識システムによって、作業機械に取り付けられたカメラの撮像画像から運搬機械の位置及び姿勢を検出している。しかしながら、機械学習を用いた認識システムでは、学習データを収集していない現場又は運搬機械に対して認識結果の妥当性及び認識精度を保証することが困難である。
【0007】
また、運搬機械の認識システムとして他社システムを組み込んだ場合、作業機械の開発会社に対して、認識システムのアルゴリズムの細部まで公開されない可能性がある。作業機械の開発会社は、認識システムの認識結果を検証することが容易ではない。作業機械の開発会社は、認識システムの認識結果を用いて運搬機械に衝突することなく適切に積込作業を制御することが可能であるか、事前に判断することが困難である。
【0008】
本発明は、上記に鑑みてなされたものであり、種々の状況においても運搬機械の位置及び姿勢を正確に認識することで、運搬機械への積込作業を適切に制御することが可能な作業機械を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記課題を解決するために、本発明の作業機械は、対象物を運搬機械に積み込む作業機械であって、前記作業機械の車体の周辺環境を計測する外界計測装置と、前記外界計測装置の計測結果に基づいて前記車体の周辺に存在する前記運搬機械を認識する情報処理装置と、前記情報処理装置の認識結果に基づいて前記車体の動作を制御する制御装置と、外部から前記運搬機械の位置及び車格情報を取得する運搬機械情報取得装置と、を備え、前記情報処理装置は、前記運搬機械情報取得装置により取得された前記運搬機械の位置及び車格情報に基づいて前記運搬機械の認識結果を補正し、前記制御装置は、補正された前記運搬機械の認識結果に基づいて前記車体の動作を制御することを特徴とする。
【発明の効果】
【0010】
本発明によれば、種々の状況においても運搬機械の位置及び姿勢を正確に認識することで、運搬機械への積込作業を適切に制御することが可能な作業機械を提供することができる。
上記以外の課題、構成および効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0011】
【
図1】実施形態1の作業機械の一例である油圧ショベルの外観構成を模式的に示す側面図。
【
図2】
図1に示す油圧ショベルに搭載された油圧システム及び制御システムの構成を示すブロック図。
【
図3】
図2に示す油圧ショベルの動作の一例を説明する図。
【
図4】
図2に示す油圧ショベルの動作の一例を示すフローチャート。
【
図5】
図2に示す情報処理装置の機能的構成を説明するブロック図。
【
図6】油圧ショベルに設定される各座標系を側方から視た図。
【
図8】ダンプトラックの車体座標系を側方から視た図。
【
図10】認識結果検証処理の一例を示すフローチャート。
【
図11】認識領域及び推定領域の重合度を説明する図。
【
図12】油圧ショベルのタスク毎に、認識結果の妥当性の判定基準と認識領域の補正方法とを定めたテーブルを示す図。
【
図13】積込タスク取得時の認識領域の補正方法を説明する図。
【
図14】リーチングタスク取得時の認識領域の補正方法を説明する図。
【
図15】認識結果の確度が閾値以下である場合の表示装置の表示例を示す図。
【
図16】実施形態2の情報処理装置の機能的構成を説明するブロック図。
【
図17】
図16に示すトラック姿勢推定部の処理を説明する図。
【
図18】実施形態3の情報処理装置の機能的構成を説明するブロック図。
【発明を実施するための形態】
【0012】
以下、本発明の実施形態について図面を用いて説明する。なお、各実施形態において同一の符号を付された構成については、特に言及しない限り、各実施形態において同様の機能を有し、その説明を省略する。
【0013】
本実施形態の作業機械は、掘削した土砂等の対象物を、被積込機械である運搬機械に積み込む積込作業を行う作業機械である。以下では、作業機械としてバケットを備える油圧ショベル、運搬機械としてダンプトラックを例に挙げて説明する。しかし、本実施形態の作業機械は、バケット以外のアタッチメントを備える油圧ショベルであってもよいし、油圧ショベル以外の作業機械であってもよい。本実施形態の運搬機械は、ダンプトラック以外の運搬機械であってもよい。
【0014】
[実施形態1]
図1~
図15を用いて、実施形態1の油圧ショベル1について説明する。
【0015】
<油圧ショベルの外観構成>
図1は、実施形態1の作業機械の一例である油圧ショベル1の外観構成を模式的に示す側面図である。
【0016】
油圧ショベル1は、対象物を保持して上下方向又は前後方向に回動する多関節型のフロント作業装置2と、フロント作業装置2を搭載する機械本体3とを備える。
【0017】
機械本体3は、下部走行体5の右部及び左部に設けられた走行右油圧モータ4a及び走行左油圧モータ4bにより走行する下部走行体5と、下部走行体5の上部に旋回装置を介して取り付けられ、旋回装置の旋回油圧モータ6により旋回する上部旋回体7とを備える。なお、本実施形態では、走行右油圧モータ4a及び走行左油圧モータ4bを総称して、「走行油圧モータ4a,4b」ともいう。
【0018】
フロント作業装置2は、上部旋回体7の前部に取り付けられた複数のフロント部材によって構成された多関節型の作業装置である。上部旋回体7は、フロント作業装置2を搭載して旋回する。フロント作業装置2は、上部旋回体7の前部に上下方向に回動可能に連結されたブーム8と、ブーム8の先端部に上下方向に回動可能に連結されたアーム9と、アーム9の先端部に上下方向に回動可能に連結されたバケット10とを含む。
【0019】
ブーム8は、ブームピン8aによって上部旋回体7に連結され、ブームシリンダ11の伸縮によって回動する。アーム9は、アームピン9aによってブーム8の先端部に連結され、アームシリンダ12の伸縮によって回動する。バケット10は、バケットピン10a及びバケットリンク16によってアーム9の先端部に連結され、バケットシリンダ13の伸縮によって回動する。
【0020】
ブームピン8aには、ブーム8の回動角度を検出するブーム角度センサ14が取り付けられている。アームピン9aには、アーム9の回動角度を検出するアーム角度センサ15が取り付けられている。バケットリンク16には、バケット10の回動角度を検出するバケット角度センサ17が取り付けられている。
【0021】
なお、ブーム8、アーム9及びバケット10の各回動角度は、水平面等の基準面に対するブーム8、アーム9及びバケット10の各角度を慣性計測装置により検出し、各回動角度に換算することによって取得されてもよい。また、ブーム8、アーム9及びバケット10の各回動角度は、ブームシリンダ11、アームシリンダ12及びバケットシリンダ13の各ストロークをストロークセンサにより検出し、各回動角度に換算することによって取得されてもよい。
【0022】
上部旋回体7には、水平面等の基準面に対する機械本体3の傾斜角度を検出する傾斜角度センサ18が取り付けられている。下部走行体5と上部旋回体7との間の旋回装置には、下部走行体5に対する上部旋回体7の相対的な角度である旋回角度を検出する旋回角度センサ19が取り付けられている。上部旋回体7には、上部旋回体7の角速度を検出する角速度センサ(不図示)が取り付けられている。なお、本実施形態では、ブーム角度センサ14、アーム角度センサ15、バケット角度センサ17、傾斜角度センサ18及び旋回角度センサ19を総称して、「姿勢検出装置53」ともいう。姿勢検出装置53は、フロント作業装置2の各回動角度及び上部旋回体7の旋回角度等を検出する。
【0023】
上部旋回体7に設けられた運転室内には、オペレータの入力を受け付け可能なタッチスクリーン等によって構成された表示装置55が設置されている。また、上部旋回体7に設けられた運転室内には、複数の油圧アクチュエータ4a,4b,6,11,12,13を操作する操作装置が設置されている。具体的には、操作装置は、走行右油圧モータ4aを操作するための走行右レバー23aと、走行左油圧モータ4bを操作するための走行左レバー23bと、ブームシリンダ11及びバケットシリンダ13を操作するための操作右レバー22aと、アームシリンダ12及び旋回油圧モータ6を操作するための操作左レバー22bとを備える。なお、本実施形態では、走行右レバー23a、走行左レバー23b、操作右レバー22a及び操作左レバー22bを総称して、「操作レバー22,23」ともいう。
【0024】
また、上部旋回体7には、油圧ショベル1の車体の周辺環境を計測する外界計測装置70が取り付けられている。外界計測装置70は、油圧ショベル1の周辺に存在する物体の深度(物体までの距離)を計測する。外界計測装置70は、計測結果として、当該物体の深度情報を取得する。外界計測装置70は、例えば、LiDAR(Light Detection And Ranging)であってもよいし、ステレオカメラであってもよい。外界計測装置70は、油圧ショベル1に複数取り付けられていてもよい。
【0025】
また、上部旋回体7には、油圧ショベル1の現場における位置及び方位を計測する測位装置60が取り付けられている。測位装置60は、計測結果として、油圧ショベル1の現場における位置及び方位を含む測位情報を取得する。測位装置60は、例えば、GNSS受信機や、TS(Total Station)等の測量機器であってもよい。測位装置60は、これらに限らず、例えば、現場に固定されたカメラであってもよい。この場合、測位装置60は、検出された油圧ショベル1の画像から演算された情報に基づいて、油圧ショベル1の現場における位置及び方位を計測してもよい。この場合、油圧ショベル1の方位を正確に計測するために、測位装置60は、少なくとも2つ設けられていることが望ましい。
【0026】
また、上部旋回体7には、ダンプトラック200の位置、姿勢及び車格情報を含むトラック情報を外部から取得するトラック情報取得装置56が取り付けられている。車格情報は、ダンプトラック200の車種及び寸法の情報を含む。トラック情報取得装置56は、例えば、FMS(Fleet Management System)のようなダンプトラック200の位置・配車管理システムとの無線通信を行う通信端末であってもよい。トラック情報取得装置56は、ダンプトラック200の位置・配車管理システムから送信されたダンプトラック200のトラック情報を受信することによって、トラック情報を取得することができる。トラック情報取得装置56は、トラック情報取得装置56の機能を実装したソフトウェアとして構成され、情報処理装置54に組み込まれていてもよい。
【0027】
FMSのようなダンプトラック200の位置・配車管理システムの多くは、ダンプトラック200のGNSS受信機から取得したダンプトラック200の位置情報を、地図上の経路に合致させる調整機能を備えている。トラック情報取得装置56は、ダンプトラック200のトラック情報と同時に、当該調整機能に基づくダンプトラック200の位置調整量に関する情報を、位置・配車管理システムから取得することができる。
【0028】
また、上部旋回体7には、油圧ショベル1が次に行う動作内容(又は作業内容)を示すタスクを取得するタスク取得装置58が取り付けられている。タスク取得装置58は、例えば、作業現場を管理する管理装置との無線通信を行う通信端末であってもよい。タスク取得装置58は、管理装置から送信された油圧ショベル1のタスクを受信することによって、タスクを取得することができる。タスク取得装置58は、トラック情報取得装置56と共有する通信端末によって構成されていてもよい。タスク取得装置58は、タスク取得装置58の機能を実装したソフトウェアとして構成され、情報処理装置54に組み込まれていてもよい。また、タスク取得装置58は、オペレータによる操作レバー22,23の操作から自動的にタスクを判別することによってタスクを取得してもよい。タスク取得装置58は、オペレータが操作可能な入力端末であり、オペレータの入力を受け付けることによってタスクを取得してもよい。本実施形態では、タスクの取得方法については特に限定されない。
【0029】
<油圧ショベルの内部構成>
図2は、
図1に示す油圧ショベル1に搭載された油圧システム及び制御システムの構成を示すブロック図である。
【0030】
上部旋回体7に搭載された原動機であるエンジン103は、油圧ポンプ102とパイロットポンプ104とを駆動する。制御装置40は、オペレータによる操作レバー22,23の操作情報(操作量及び操作方向)に応じて、フロント作業装置2の回動動作、下部走行体5の走行動作、及び、上部旋回体7の旋回動作(すなわちこれらによって構成される油圧ショベル1の車体の動作)を制御する。具体的には、制御装置40は、オペレータによる操作レバー22,23の操作情報(操作量及び操作方向)をロータリエンコーダ又はポテンショメータ等のセンサ52a~52fにより検出し、検出された操作情報に応じた制御指令を電磁比例弁47a~47lに出力する。電磁比例弁47a~47lは、パイロットライン100に設けられており、制御装置40からの制御指令が入力されると作動し、流量制御弁101にパイロット圧を出力して、流量制御弁101を作動させる。
【0031】
流量制御弁101は、旋回油圧モータ6、アームシリンダ12、ブームシリンダ11、バケットシリンダ13、走行右油圧モータ4a及び走行左油圧モータ4bのそれぞれに対して油圧ポンプ102から供給される圧油を、電磁比例弁47a~47lからのパイロット圧に応じて制御する。なお、電磁比例弁47a,47bは、旋回油圧モータ6に供給される圧油を制御するためのパイロット圧を流量制御弁101に出力する。電磁比例弁47c,47dは、アームシリンダ12に供給される圧油を制御するためのパイロット圧を流量制御弁101に出力する。電磁比例弁47e,47fは、ブームシリンダ11に供給される圧油を制御するためのパイロット圧を流量制御弁101に出力する。電磁比例弁47g,47hは、バケットシリンダ13に供給される圧油を制御するためのパイロット圧を流量制御弁101に出力する。電磁比例弁47i,47jは、走行右油圧モータ4aに供給される圧油を制御するためのパイロット圧を流量制御弁101に出力する。電磁比例弁47k,47lは、走行左油圧モータ4bに供給される圧油を制御するためのパイロット圧を流量制御弁101に出力する。
【0032】
ブームシリンダ11、アームシリンダ12及びバケットシリンダ13は、それぞれ、供給された圧油によって伸縮し、ブーム8、アーム9及びバケット10を回動させる。これにより、バケット10の位置及び姿勢が変化する。旋回油圧モータ6は、供給された圧油によって回転し、上部旋回体7を旋回させる。走行右油圧モータ4a及び走行左油圧モータ4bは、供給された圧油によって回転し、下部走行体5を走行させる。
【0033】
また、制御装置40は、情報処理装置54の認識結果に基づいて、油圧ショベル1の車体の動作(フロント作業装置2の回動動作、下部走行体5の走行動作、及び、上部旋回体7の旋回動作)を自動(半自動又は全自動)で制御することが可能である。情報処理装置54は、外界計測装置70の計測結果に基づいて油圧ショベル1の周辺に存在するダンプトラック200を認識する。情報処理装置54は、CPU(Central Processing Unit)73、RAM(Random Access Memory)72、ROM(Read Only Memory)71、及び、外部I/F(Interface)74等が、バス75により互いに接続されたコンピュータによって構成されている。外部I/F74には、制御装置40、表示装置55、外界計測装置70、測位装置60、姿勢検出装置53、タスク取得装置58、トラック情報取得装置56及び記憶装置57(例えば、ハードディスクドライブ又は大容量フラッシュメモリ等)が接続されている。
【0034】
<油圧ショベルの動作概要>
図3は、
図2に示す油圧ショベル1の動作の一例を説明する図である。
【0035】
ダンプトラック200は、油圧ショベル1が対象物を積み込み可能な所定位置に停車する。油圧ショベル1のタスク取得装置58は、次のタスクとして、掘削された土砂等の対象物をダンプトラック200に積み込む積込タスクを取得する。積込タスクが取得された場合、まず、油圧ショベル1の外界計測装置70は、ダンプトラック200のベッセルを計測する。続いて、油圧ショベル1の情報処理装置54は、ダンプトラック200の存在領域210について後述の認識領域及び推定領域を演算する。油圧ショベル1の情報処理装置54は、バケット10からダンプトラック200のベッセルに対象物を積み込む時のバケット10の位置(以下「積込位置」とも称する)を演算する。そして、油圧ショベル1の制御装置40は、演算されたダンプトラック200の認識領域及び推定領域並びに積込位置に基づいて、フロント作業装置2がダンプトラック200に衝突しないように、バケット10を積込位置に移動させる制御指令を出力する。これにより、油圧ショベル1は、ダンプトラック200に衝突することなく適切に積込作業を自動制御することができる。
【0036】
本実施形態では、
図3に示すように、ダンプトラック200は、油圧ショベル1が対象物を積み込み可能な所定位置に停車することを想定している。具体的には、本実施形態のダンプトラック200は、FMSのようなダンプトラック200の位置・配車管理システムによって、作業現場におけるダンプトラック200の位置が管理されているものとする。しかしながら、ダンプトラック200が所定位置に停車するまでのダンプトラック200の制御方法については、特に限定されない。例えば、ダンプトラック200は、ダンプトラック200のオペレータの操縦によって所定位置に停車してもよい。また、本実施形態では、ダンプトラック200が所定位置に停車したことを、油圧ショベル1のオペレータが目視で確認してもよいし、外界計測装置70の計測結果に基づいて情報処理装置54が認識してもよい。
【0037】
なお、
図3の外界計測装置70は、油圧ショベル1の左側方を向くように取り付けられているが、油圧ショベル1の前方を向くように取り付けられていてもよい。更に、油圧ショベル1は、油圧ショベル1の右側方又は後方を向くように取り付けられた外界計測装置70を更に備えていてもよい。
【0038】
図4は、
図2に示す油圧ショベル1の動作の一例を示すフローチャートである。
【0039】
ステップS111において、油圧ショベル1のタスク取得装置58は、掘削対象の地面を掘削する掘削タスクを取得する。
【0040】
ステップS112において、油圧ショベル1の制御装置40は、取得された掘削タスクに応じて、フロント作業装置2の回動動作を制御して油圧ショベル1に掘削動作を行わせる。
【0041】
ステップS113において、油圧ショベル1のタスク取得装置58は、掘削された土砂等の対象物をダンプトラック200に積み込む積込タスクを取得する。
【0042】
ステップS114は、油圧ショベル1の制御装置40は、取得された積込タスクに応じて、フロント作業装置2の回動動作及び上部旋回体7の旋回動作を制御して油圧ショベル1に積込動作を行わせる。
【0043】
ステップS115において、油圧ショベル1の制御装置40は、ダンプトラック200への積込を終了するか否かを判定する。油圧ショベル1のオペレータは、目視による確認を行った上で、特定の操作レバー22,23を操作したり、表示装置55に情報を入力したりして、ダンプトラック200への積込を終了することを制御装置40に通知してもよい。制御装置40は、これらのオペレータからの操作が通知されたことによって、ダンプトラック200への積込を終了すると判定してもよい。或いは、制御装置40は、ダンプトラック200に積み込まれた対象物の荷重を計測して当該荷重が適正であることを判定する荷重判定装置の判定結果から、ダンプトラック200への積込を終了することを判定してもよい。ダンプトラック200への積込を終了すると判定した場合、制御装置40は、ステップS118に移行する。ダンプトラック200への積込を終了しないと判定した場合、制御装置40は、ステップS116に移行する。
【0044】
ステップS116において、油圧ショベル1のタスク取得装置58は、次の掘削対象の地面にフロント作業装置2を移動させるリーチングタスクを取得する。
【0045】
ステップS117において、油圧ショベル1の制御装置40は、取得されたリーチングタスクに応じて、フロント作業装置2の回動動作、下部走行体5の走行動作、及び、上部旋回体7の旋回動作を制御して油圧ショベル1にリーチング動作を行わせる。その後、制御装置40は、ステップS111に移行する。
【0046】
ステップS118において、油圧ショベル1の制御装置40は、作業を終了するか否かを判定する。制御装置40は、タスク取得装置58が作業終了通知を取得したことによって、作業を終了すると判定してもよい。或いは、制御装置40は、オペレータ又は管理者が油圧ショベル1のエンジン103を停止したことによって、作業を終了すると判定してもよい。作業を終了すると判定した場合、制御装置40は、油圧ショベル1の動作を中断して作業を終了する。作業を終了しないと判定した場合、制御装置40は、ステップS116に移行する。油圧ショベル1は、リーチング動作、掘削動作及び積込動作を継続する。
【0047】
油圧ショベル1のタスク及び動作は、
図4に示したタスク及び動作に限定されず、例えば移動又は整地等の、
図4に示されていないタスク及び動作を含んでいてもよい。
【0048】
油圧ショベル1の動作において、タスク取得装置58が各タスクを取得した際に、ダンプトラック200の位置、姿勢及び形状等の情報が必要となる場合がある。この場合、情報処理装置54は、タスク取得装置58が各タスクを取得する度に、都度、外界計測装置70の計測結果に基づいてダンプトラック200を認識する。そして、情報処理装置54は、ダンプトラック200の認識結果が補正不能な程度に妥当でないか、又は、ダンプトラック200の認識結果が補正可能な程度に妥当であるかを検証(以下「妥当性を検証」と称する)する。そして、情報処理装置54は、ダンプトラック200の認識結果が妥当であれば、当該認識結果を補正する。
【0049】
本実施形態では、ダンプトラック200の認識結果の妥当性を検証し、当該認識結果を補正する処理を「認識結果検証処理」とも称する。以下では、認識結果検証処理を行う情報処理装置54の機能について説明する。
【0050】
<情報処理装置の機能的構成>
図5は、
図2に示す情報処理装置54の機能的構成を説明するブロック図である。
図6は、油圧ショベル1に設定される各座標系300~500を側方から視た図である。
図7は、
図6に示す各座標系300~500を上方から視た図である。
【0051】
情報処理装置54は、姿勢演算部81と、座標変換部82と、測位情報演算部83と、タスク取得部80と、認識部84と、領域推定部85と、検証部86と、補正部87と、を備える。
【0052】
情報処理装置54には、油圧ショベル1の構成要素の位置及び姿勢を特定する基準座標系として、
図6及び
図7に示す車体座標系400が予め設定される。本実施形態の油圧ショベル1の車体座標系400は、上部旋回体7の旋回中心線120のうち、下部走行体5と地面Gとが接する点を原点とする右手座標系として定義されている。油圧ショベル1の車体座標系400は、下部走行体5の前進方向をX軸の正方向として定義されている。油圧ショベル1の車体座標系400は、旋回中心線120が上方に延びる方向をZ軸の正方向として定義されている。油圧ショベル1の車体座標系400は、X軸及びZ軸のそれぞれに直交し、左方をY軸の正方向として定義されている。また、油圧ショベル1の車体座標系400において、上部旋回体7の旋回角度θswは、フロント作業装置2がX軸と平行となる状態を0度として定義されている。
【0053】
また、本実施形態では、外界計測装置70の基準座標系として、
図6及び
図7に示すようなセンサ座標系300を定義する。本実施形態では、現場の基準座標系として、
図6及び
図7に示すような現場座標系500を定義する。
【0054】
<姿勢演算部>
姿勢演算部81は、姿勢検出装置53の検出信号から、油圧ショベル1の車体座標系400における油圧ショベル1の構成要素の姿勢等を演算する。具体的には、姿勢演算部81は、ブーム角度センサ14から出力されたブーム8の回動角度の検出信号から、X軸に対するブーム8の回動角度θbmを演算する。姿勢演算部81は、アーム角度センサ15から出力されたアーム9の回動角度の検出信号から、ブーム8に対するアーム9の回動角度θamを演算する。姿勢演算部81は、バケット角度センサ17から出力されたバケット10の回動角度の検出信号から、アーム9に対するバケット10の回動角度θbkを演算する。姿勢演算部81は、旋回角度センサ19から出力された上部旋回体7の旋回角度の検出信号から、X軸(下部走行体5)に対する上部旋回体7の旋回角度θswを演算する。更に、姿勢演算部81は、上部旋回体7の旋回角度θswから、上部旋回体7の旋回角速度ωswを演算する。
【0055】
更に、姿勢演算部81は、傾斜角度センサ18から出力された機械本体3の傾斜角度の検出信号から、基準面DPに対する機械本体3(下部走行体5)の傾斜角度を演算する。基準面DPは、例えば、重力方向に直交する水平面である。傾斜角度は、Y軸周りの回転角度θpと、X軸周りの回転角度θrとを含む。
【0056】
<座標変換部>
座標変換部82は、姿勢演算部81から出力された油圧ショベル1の姿勢情報を用いて、外界計測装置70により取得された深度情報を表現する座標系を、センサ座標系300から油圧ショベル1の車体座標系400に変換する。外界計測装置70により取得された深度情報は、センサ座標系300で表現された3次元の点データの集合(すなわち点群データ)として与えられる。
【0057】
センサ座標系300における点データPs(Xs,Ys,Zs)から、油圧ショベル1の車体座標系400における点データPv(Xv,Yv,Zv)への変換には、例えば、下記の(式1)~(式3)が用いられる。
【0058】
【0059】
上記の(式1)~(式3)において、Rsvは、センサ座標系300から車体座標系400への回転行列である。αs、βs、γsは、車体座標系400における外界計測装置70の各軸(センサ座標系300の各軸)が成す角度である。外界計測装置70が油圧ショベル1に固定されている場合、これらの成す角度は、例えば、予め車体座標系400における外界計測装置70の姿勢を測定しておき、記憶装置57に予め保存しておけばよい。また、外界計測装置70が油圧ショベル1に対して姿勢を変化させながら計測を行う場合、外界計測装置70に姿勢計測センサを取り付ける等して、姿勢計測センサが検出した角度を用いて座標変換行列を算出してもよい。θswは、上部旋回体7の旋回角度であり、姿勢演算部81から出力される。
【0060】
上記の(式1)~(式3)において、Tsvは車体座標系400の原点からセンサ座標系300の原点への並進ベクトルである。Lsx,Lsy,Lszは、車体座標系400から視たセンサ座標系300の原点座標に等しい。外界計測装置70の取り付け位置は、油圧ショベル1に対して固定されている場合が多い。したがってその場合は、予め外界計測装置70の油圧ショベル1への取り付け位置を計測しておき、記憶装置57に予め保存しておけばよい。
【0061】
<測位情報演算部>
測位情報演算部83は、測位装置60により取得された測位情報から、油圧ショベル1の現場座標系500における車体座標系400の原点の位置と、フロント作業装置2の現場座標系500における方位θdirを演算する。
【0062】
<タスク取得部>
タスク取得部80は、油圧ショベル1が次に行うタスクをタスク取得装置58から取得する。本実施形態において、油圧ショベル1が行うタスクは、掘削タスク、積込タスク、リーチングタスクを含む。掘削タスクは、油圧ショベル1が掘削対象の地面を掘削し、バケット10に土砂等の対象物を保持するまでの掘削動作を指定するタスクである。積込タスクは、油圧ショベル1が掘削動作を終了した状態からバケット10をダンプトラック200のベッセル上方まで移動させ、バケット10からベッセルに対象物を放出するまでの積込動作を指定するタスクである。リーチングタスクは、油圧ショベル1が積込動作を終了した状態から次の掘削対象の地面がある位置までバケット10を移動させるリーチング動作を指定するタスクである。なお、油圧ショベル1が行うタスクは、これらに限定されず、例えば、ダンプトラック200が現場の所定位置に停車するまでの間に油圧ショベル1が周囲の地面を均す整地動作を指定する整地タスクや、油圧ショベル1が掘削対象の地面を変更する際の移動動作を指定する整地タスクを含んでもよい。
【0063】
<認識部>
認識部84は、外界計測装置70の計測結果からダンプトラック200を認識する。具体的には、認識部84は、外界計測装置70の計測結果として取得されて座標変換部82により車体座標系400に変換された点群データを用いて、ダンプトラック200の位置、姿勢及び形状を認識する。そして、認識部84は、認識されたダンプトラック200が存在する領域である認識領域を演算する。すなわち、認識領域は、ダンプトラック200の存在領域210についての認識部84の認識結果である。
【0064】
認識部84によるダンプトラック200の認識領域の演算方法は、例えば、予めダンプトラック200を計測した3次元メッシュモデルを記憶装置57に保持しておく。そして、座標変換部82から取得した車体座標系400に変換された点群データと3次元メッシュモデルとの間において位置、姿勢及び形状を照合する。これにより、認識部84は、対象とするダンプトラック200の位置、姿勢及び形状を演算することができるので、ダンプトラック200の認識領域を演算することができる。なお、ダンプトラック200の認識領域の演算方法は、これに限定されず、例えば、外界計測装置70から得られた点群データからダンプトラック200の特定の平面を抽出する処理によってダンプトラック200の認識領域を演算する方法であってもよい。或いは、ダンプトラック200を含む点群データからダンプトラック200の認識領域を演算するニューラルネットワーク(Neural Network)を予め構築しておき、認識対象のダンプトラック200の特徴量を機械学習させておいた識別器を用いて演算する方法であってもよい。
【0065】
本実施形態では、ダンプトラック200の位置、姿勢及び存在領域210を、次のように定義する。
【0066】
図8は、ダンプトラック200の車体座標系600を側方から視た図である。
図9は、
図8に示す車体座標系600を上方から視た図である。
【0067】
本実施形態では、ダンプトラック200の車体座標系600は、ダンプトラック200の後輪軸の中心を原点とし、後輪から前輪に向かう方向をX軸、後輪軸が延びる方向をY軸、ダンプトラック200の高さ方向をZ軸とする。ダンプトラック200の位置は、車体座標系600の原点Pd(Xd,Yd,Zd)を指すものとする。ダンプトラック200の姿勢は、現場座標系500の各軸と、ダンプトラック200の車体座標系600の各軸とが成す角度θd(θroll,θpitch,θyaw)を指すものとする。ダンプトラック200の存在領域210は、ダンプトラック200のベッセルの四隅の点Pd1~Pd4を頂点とする矩形の領域Sd(Pd1~Pd4)を指すものとする。なお、ダンプトラック200の存在領域210は、これに限定されず、例えば、ダンプトラック200全体を包含する六面体(例えば直方体又は立方体)であってもよい。また、本実施形態では、ダンプトラック200の存在領域210についての認識部84の認識結果であるダンプトラック200の認識領域をSdr(Pdr1~Pdr4)とする。
【0068】
<領域推定部>
領域推定部85は、トラック情報取得装置56により取得されたダンプトラック200の位置及び車格情報(トラック情報)から、ダンプトラック200が存在すると推定される領域である推定領域を演算する。すなわち、推定領域は、ダンプトラック200の存在領域210についての領域推定部85の推定結果である。推定領域は、ダンプトラック200の認識結果の妥当性を検証するべく、認識部84により演算されたダンプトラック200の認識領域と比較するために演算される。
【0069】
領域推定部85によるダンプトラック200の推定領域の演算方法は、例えば、トラック情報からダンプトラック200の推定領域を演算する方法を車種毎に予め記憶装置57に保持しておく。そして、トラック情報取得装置56により取得されたトラック情報と、当該トラック情報に対応する演算方法とを用いて、対象とするダンプトラック200の現場座標系500における推定領域を演算し、油圧ショベル1の車体座標系400に変換する。これにより、領域推定部85は、認識部84により演算されたダンプトラック200の認識領域と比較可能な、ダンプトラック200の推定領域を演算することができる。なお、本実施形態では、ダンプトラック200の存在領域210についての領域推定部85の推定結果であるダンプトラック200の推定領域をSde(Pde1~Pde4)とする。
【0070】
現場座標系500から油圧ショベル1の車体座標系400への変換は、下記の式を用いて行うことができる。油圧ショベル1の車体座標系400における点データPv(Xv,Yv,Zv)から、現場座標系500における点データPg(Xg,Yg,Zg)への変換には、例えば、下記の(式4)~(式6)が用いられる。
【0071】
【0072】
上記の(式4)~(式6)において、Rvgは、車体座標系400から現場座標系500への回転行列である。θr、θp、θyは、現場座標系500における車体座標系400の各軸が成す角度である。これらの成す角度は、姿勢演算部81によって演算された値、旋回角度、機械本体3の傾斜角度、及び、測位情報演算部83によって演算された方位を用いて算出することができる。
【0073】
上記の(式4)~(式6)において、Tvgは、現場座標系500の原点から車体座標系400の原点への並進ベクトルである。x0,y0,z0は、現場座標系500から視た車体座標系400の原点座標に等しい。Tvgは、測位情報演算部83の演算結果を用いることができる。
【0074】
また、領域推定部85は、トラック情報取得装置56によってトラック情報と同時に取得されたダンプトラック200の位置調整量を用いてトラック情報に含まれるダンプトラック200の位置を調整することができる。そして、領域推定部85は、調整されたダンプトラック200の位置から、ダンプトラック200の推定領域を演算することができる。
【0075】
<検証部>
検証部86は、認識部84により演算された認識領域と、領域推定部85により演算された推定領域とに基づいて、ダンプトラック200の認識結果の妥当性を検証する。具体的には、検証部86は、認識領域を推定領域と比較することによって、ダンプトラック200の認識結果の確度を演算し、演算された確度に応じてダンプトラック200の認識結果の妥当性を検証する。詳細には、検証部86は、認識領域と推定領域との重なり具合を示す重合度を、ダンプトラック200の認識結果の確度として演算する。そして、検証部86は、演算された重合度が閾値より高い場合、ダンプトラック200の認識結果が妥当である(補正可能である)と判定する。この際、検証部86は、タスク取得部80により取得されたタスクに応じて、認識結果の妥当性の判定基準となる重合度の閾値を変更することができる。
【0076】
<補正部>
補正部87は、領域推定部85により演算された推定領域に基づいて、認識部84により演算された認識領域を補正する。具体的には、補正部87は、認識部84により演算された認識領域を領域推定部85により演算された推定領域と比較し、認識部84により演算された認識領域を補正する。これによって、補正部87は、ダンプトラック200の認識結果を補正する。この際、補正部87は、タスク取得部80により取得されたタスクに応じて、認識部84により演算された認識領域(認識結果)の補正方法を変更することができる。
【0077】
情報処理装置54は、検証部86及び補正部87を用いて、ダンプトラック200の認識結果の妥当性を検証し、当該認識結果を補正する認識結果検証処理を行う。以下では、認識結果検証処理について詳細に説明する。
【0078】
<認識結果検証処理>
図10は、認識結果検証処理の一例を示すフローチャートである。
図11は、認識領域及び推定領域の重合度を説明する図である。
図12は、油圧ショベル1のタスク毎に、認識結果の妥当性の判定基準と認識領域の補正方法とを定めたテーブルを示す図である。
図13は、積込タスク取得時の認識領域の補正方法を説明する図である。
図14は、リーチングタスク取得時の認識領域の補正方法を説明する図である。
図15は、認識結果の確度が閾値以下である場合の表示装置55の表示例を示す図である。
【0079】
ステップS121において、情報処理装置54の検証部86は、タスク取得部80により取得されたタスクを取得する。
【0080】
ステップS122において、情報処理装置54の検証部86は、認識部84により演算された認識領域を取得する。
【0081】
ステップS123において、情報処理装置54の検証部86は、領域推定部85により演算された推定領域を取得する。
【0082】
ステップS124において、情報処理装置54の検証部86は、ダンプトラック200の認識結果の確度を演算する。
図11に示すように、本実施形態では、検証部86は、ダンプトラック200の認識結果の確度として、認識部84により演算された認識領域と、領域推定部85により演算された推定領域との重なり具合を示す重合度Acoverを演算する。重合度Acoverは、下記の(式7)によって与えられる。
【0083】
【0084】
上記の(式7)において、Sdeは、領域推定部85により演算された推定領域の面積を示す。Scoverは、認識部84により演算された認識領域(Sdr)と、領域推定部85により演算された推定領域(Sde)とが重なる領域の面積を示す。Scoverは、例えば、2つの凸多角形同士の交差領域の面積を求める問題に帰着することができるので、数値計算問題として解くことができる。
【0085】
ステップS125において、情報処理装置54の検証部86は、演算された重合度Acoverが、閾値Athより高いか否かを判定する。これにより、検証部86は、ダンプトラック200の認識結果の妥当性を検証する。演算された重合度Acoverが閾値Athより高い場合、検証部86は、ダンプトラック200の認識結果は妥当である(補正可能である)と判定し、ステップS126に移行する。演算された重合度Acoverが閾値Ath以下である場合、検証部86は、ダンプトラック200の認識結果は妥当でない(補正不能である)と判定し、ステップS127に移行する。
【0086】
ここで、検証部86は、
図12に示すように、タスク取得部80により取得されたタスクに応じて、認識結果の妥当性の判定基準である重合度Acoverの閾値Athを変更することができる。
図12に示すテーブルは、予め記憶装置57に保存されている。
図12に示すテーブルの欄1201に示すように、タスク取得部80により取得されたタスクが積込タスクである場合、検証部86は、閾値AthとしてAth1を設定する。タスク取得部80により取得されたタスクがリーチングタスクである場合、検証部86は、閾値AthとしてAth2を設定する。Ath1及びAth2は、予め行われた機能検証時における領域推定部85及び認識部84の各領域の演算精度、タスク取得時のバケット10内の対象物の有無、フロント作業装置2及びダンプトラック200の距離等を加味して決定されることが望ましい。
【0087】
積込タスクが指定する積込動作では、油圧ショベル1は、バケット10内に対象物を有し、フロント作業装置2及びダンプトラック200の距離が大きい状態で始動する。これにより、フロント作業装置2がダンプトラック200に衝突した時の損害は、リーチング動作時よりも積込動作時の方が大きいと考えられる。したがって、積込タスクが取得された場合に設定される閾値Ath1は、リーチングタスクが取得された場合に設定される閾値Ath2と同じ値かそれ以上であることが望ましい。
【0088】
ステップS126において、情報処理装置54の補正部87は、ダンプトラック200の認識結果を補正する。具体的には、補正部87は、認識部84により演算された認識領域を補正する。そして、補正部87は、ダンプトラック200の認識結果は妥当である(補正可能である)との判定結果、認識結果の確度(重合度)、及び、補正後の認識領域を、制御装置40に出力する。更に、補正部87は、制御装置40に出力されたこれらの情報を、表示装置55に表示してオペレータに通知したり、作業現場を管理する管理装置に送信して管理者に通知したりしてもよい。その後、情報処理装置54は、
図10に示す認識結果検証処理を終了する。
【0089】
ここで、補正部87は、
図12に示すように、タスク取得部80により取得されたタスクに応じて、認識部84により演算された認識領域の補正方法を変更することができる。
図12に示すテーブルの欄1202に示すように、タスク取得部80により取得されたタスクが積込タスクである場合、補正部87は、認識部84により演算された認識領域を、
図13に示すような認識領域(Sdr)と推定領域(Sde)とを包含する領域(Sdc)となるように補正する。認識領域(Sdr)と推定領域(Sde)とを包含する領域は、認識領域(Sdr)又は推定領域(Sde)が占めるOR領域を包含する領域(Sdc)である。
図13の例では、補正部87は、認識部84により演算された認識領域(Sdr)を、認識領域(Sdr)と推定領域(Sde)とを包含する矩形の領域であって、その面積が最小となる領域(Sdc)に補正している。
【0090】
積込タスクが指定する積込動作では、油圧ショベル1は、バケット10をダンプトラック200の外側の地面からダンプトラック200の内側のベッセル上方に向かって積込位置まで移動させる。したがって、認識部84により演算された認識領域が、認識領域と推定領域とを包含する領域に補正されると、積込動作時にダンプトラック200の外側から内側に向かって移動するフロント作業装置2がダンプトラック200に衝突するリスクが低減する。よって、タスク取得部80により取得されたタスクが積込タスクである場合、補正部87は、認識部84により演算された認識領域を、認識領域と推定領域とを包含する領域となるように補正する。
【0091】
補正部87は、補正後の認識領域の高さ方向(Z軸方向)の位置を、次のように演算することができる。すなわち、補正部87は、フロント作業装置2とダンプトラック200の衝突を回避するべく、認識領域及び推定領域の各頂点座標のZ軸成分の最大値を、補正後の認識領域の高さ方向の位置として用いることができる。
【0092】
また、補正部87は、補正後の認識領域の方位vdcを、認識領域の方位ベクトルvdrと、推定領域の方位ベクトルvdeとを用いて、例えば、下記の(式8)~(式9)から演算することができる。
【0093】
【0094】
上記の(式9)のゲインGkの演算に用いられるΔdr(Δxdr,Δydr,Δzdr)は、認識部84における認識領域の演算精度に関する情報である。Δdrとしては、例えば、予め外界計測装置70の計測精度及び認識部84の演算精度を計測しておいたものを用いることができる。また、認識部84の認識アルゴリズムに機械学習を用いた識別器を用いている場合、Δdrとしては、その識別器が出力する認識確度の情報を用いてもよい。
【0095】
上記の(式9)のゲインGkの演算に用いられるΔde(Δxde,Δyde,Δzde)は、領域推定部85における推定領域の演算精度に関する情報である。Δdeとしては、トラック情報取得装置56がトラック情報と同時に取得可能なダンプトラック200の位置調整量を用いることができる。すなわち、補正部87は、トラック情報取得装置56により取得されたダンプトラック200の位置調整量を用いて、認識部84により演算された認識領域を補正することができる。トラック情報取得装置56が当該位置調整量を取得できない場合、Δdeとしては、油圧ショベル1の現場において測位装置60により取得される測位情報の誤差を予め調査した結果を用いることができる。
【0096】
また、補正部87は、バケット10の積込位置Pdc(Xdc,Ydc,Zdc)を演算する。具体的には、補正部87は、例えば、認識部84により演算された認識領域におけるベッセルの中央位置Pdr0と、領域推定部85により演算された推定領域におけるベッセルの中央位置Pde0とを演算する。そして、補正部87は、認識領域におけるベッセルの中央位置Pdr0と、推定領域におけるベッセルの中央位置Pde0とを用いて、例えば、下記の(式10)から演算することができる。
【0097】
【0098】
上記の(式10)において、ゲインGkは、Δdeを含む上記の式(9)によって与えられる。すなわち、補正部87は、トラック情報取得装置56により取得されたダンプトラック200の位置調整量と、認識領域及び推定領域とに基づいて、バケット10の積込位置を演算することができる。補正部87は、演算されたバケット10の積込位置を制御装置40に出力する。
【0099】
一方、タスク取得部80により取得されたタスクがリーチングタスクである場合、補正部87は、認識部84により演算された認識領域(Sdr)を、
図14に示すような認識領域(Sdr)と推定領域(Sde)とが重なる領域に包含される領域(Sdc)となるように補正する。認識領域(Sdr)と推定領域(Sde)とが重なる領域に包含される領域(Sdc)は、認識領域(Sdr)及び推定領域(Sde)の両方が占めるAND領域に包含される領域(Sdc)である。
図14の例では、補正部87は、認識部84により演算された認識領域(Sdr)を、認識領域(Sdr)と推定領域(Sde)とを包含する矩形の領域であって、その面積が最大となる領域(Sdc)に補正している。
【0100】
リーチングタスクが指定するリーチング動作では、油圧ショベル1は、バケット10をダンプトラック200の内側のベッセル上方にある積込位置から、ダンプトラック200の外側の地面まで移動させる。したがって、認識部84により演算された認識領域が、認識領域と推定領域とが重なる領域に包含される領域に補正されると、リーチング動作時にダンプトラック200の内側から外側に向かって移動するフロント作業装置2がダンプトラック200に衝突するリスクが低減する。よって、タスク取得部80により取得されたタスクがリーチングタスクである場合、補正部87は、認識部84により演算された認識領域を、認識領域と推定領域とが重なる領域に包含される領域となるように補正する。
【0101】
なお、補正部87は、積込タスクが取得された場合と同様に、補正後の認識領域の高さ方向(Z軸方向)の位置として、認識領域及び推定領域の各頂点座標のZ軸成分の最大値を用いることができる。また、補正部87は、積込タスクが取得された場合と同様に、補正後の認識領域の方位を、上記の(式8)~(式9)から演算することができる。
【0102】
ステップS127において、情報処理装置54の検証部86は、ダンプトラック200の認識結果は妥当でない(補正不能である)との判定結果、認識結果の確度(重合度)、認識領域及び推定領域を、制御装置40に出力する。更に、検証部86は、制御装置40に出力されたこれらの情報を、表示装置55に表示してオペレータに通知したり、作業現場を管理する管理装置に送信して管理者に通知したりする。この際、検証部86は、油圧ショベル1の動作を継続してよいか否かを、オペレータ又は管理者等のユーザに確認する。
【0103】
例えば、検証部86は、
図15に示すように、ダンプトラック200の認識結果が妥当でない(補正不能である)との判定結果をユーザに通知すると共に油圧ショベル1の動作の継続可否をユーザに確認する画面551を、表示装置55に表示させる。画面551は、ダンプトラック200の認識結果が妥当でない(補正不能である)との判定結果をユーザに通知すると共に油圧ショベル1の動作の継続可否をユーザに確認するためのメッセージ552を含む。画面551は、油圧ショベル1の動作を継続するとの確認結果をユーザが入力するためのボタン553を含む。画面551は、油圧ショベル1の動作を継続しないとの確認結果をユーザが入力するためのボタン554を含む。画面551は、油圧ショベル1を自動制御からオペレータの手動操作に切り替えることをユーザが入力するためのボタン555を含む。また、画面551は、ダンプトラック200の認識領域(Sdr)及び推定領域(Sde)の演算結果を示して、ダンプトラック200と油圧ショベル1との位置関係をユーザに通知する。
【0104】
検証部86は、継続可否の確認結果をユーザから受け付けると、当該確認結果を制御装置40に出力する。その後、情報処理装置54は、
図10に示す認識結果検証処理を終了する。
【0105】
<制御装置の動作制御>
制御装置40は、情報処理装置54によるダンプトラック200の認識結果の妥当性を検証した結果に基づいて、油圧ショベル1の車体の動作(例えば、フロント作業装置2の回動動作、下部走行体5の走行動作、及び、上部旋回体7の旋回動作)を制御する。
【0106】
制御装置40は、認識結果が妥当であった(補正可能であった)場合、タスク取得装置58により取得されたタスクと、情報処理装置54から出力された補正後の認識領域とに基づいて、油圧ショベル1の動作を制御する。具体的には、制御装置40は、積込タスクが取得された場合には、バケット10が地面から積込位置に到達するまでにフロント作業装置2がダンプトラック200に衝突しないような軌跡で移動するよう、油圧ショベル1の積込動作を制御する。制御装置40は、リーチングタスクが取得された場合には、バケット10が積込位置から次の掘削対象の地面に到達するまでにフロント作業装置2がダンプトラック200に衝突しないような軌跡で移動するよう、油圧ショベル1のリーチング動作を制御する。
【0107】
また、制御装置40は、認識結果が妥当でなかった(補正不能であった)場合、油圧ショベル1の動作の継続可否の確認結果が情報処理装置54から出力されると、当該確認結果に応じて油圧ショベル1の動作を制御する。
【0108】
<作用効果>
以上のように、実施形態1の油圧ショベル1は、対象物をダンプトラック200に積み込む作業機械である。油圧ショベル1は、油圧ショベル1の車体の周辺環境を計測する外界計測装置70を備える。油圧ショベル1は、外界計測装置70の計測結果に基づいて油圧ショベル1の車体の周辺に存在するダンプトラック200を認識する情報処理装置54を備える。油圧ショベル1は、情報処理装置54の認識結果に基づいて油圧ショベル1の車体の動作を制御する制御装置40を備える。油圧ショベル1は、外部からダンプトラック200の位置及び車格情報を取得するトラック情報取得装置56を備える。情報処理装置54は、トラック情報取得装置56により取得されたダンプトラック200の位置及び車格情報に基づいてダンプトラック200の認識結果を補正する。制御装置40は、補正されたダンプトラック200の認識結果に基づいて油圧ショベル1の車体の動作を制御する。
【0109】
これにより、実施形態1の油圧ショベル1は、種々の状況においてもダンプトラック200の正確な認識結果を用いてダンプトラック200に対する積込動作等を制御することができる。よって、実施形態1によれば、種々の状況においても運搬機械の位置及び姿勢を正確に認識することで、運搬機械への積込作業を適切に制御することが可能な作業機械を提供することができる。
【0110】
従来、油圧ショベル1がダンプトラック200に対する積込動作を行う場合、外界計測装置70の計測結果からダンプトラック200の認識結果を検証することが困難であった。特に、機械学習を用いた認識システムでは、学習データを収集していない現場又はダンプトラック200に対して、認識結果の不確定性の評価を適切に行うことが困難である。更に、油圧ショベル1の開発会社と認識システムの開発会社とが異なる場合、油圧ショベル1の開発会社には、認識システムのアルゴリズムの細部まで公開されない可能性がある。油圧ショベル1の開発会社は、認識システムの認識結果を用いてダンプトラック200に衝突することなく適切に積込作業を制御することが可能であるか、事前に十分なリスク評価を行うことが困難である。
【0111】
これに対し、実施形態1の油圧ショベル1は、トラック情報取得装置56により取得された第三者からの情報に基づいてダンプトラック200の認識結果の妥当性を検証し、当該認識結果を補正することができる。そして、実施形態1の油圧ショベル1は、補正された認識結果に基づいて、積込動作等を適切に制御することができる。すなわち、実施形態1の油圧ショベル1は、ダンプトラック200の位置及び姿勢等の正確な認識結果に基づいて油圧ショベル1の車体の動作を制御することができる。したがって、実施形態1の油圧ショベル1は、ダンプトラック200との衝突リスクを低減させて、積込動作やリーチング動作を制御できるので、積込作業の安全性及び生産性を向上させることができる。よって、実施形態1によれば、種々の状況においてもダンプトラック200の位置及び姿勢を正確に認識することで、ダンプトラック200への積込作業を適切に制御することが可能な油圧ショベル1を提供することができる。
【0112】
更に、情報処理装置54は、外界計測装置70の計測結果からダンプトラック200を認識し、認識されたダンプトラック200が存在する領域である認識領域を演算する認識部84を備える。情報処理装置54は、トラック情報取得装置56により取得されたダンプトラック200の位置及び車格情報からダンプトラック200が存在すると推定される領域である推定領域を演算する領域推定部85を備える。情報処理装置54は、推定領域に基づいて認識領域を補正する補正部87を備える。
【0113】
これにより、実施形態1の油圧ショベル1は、ダンプトラック200の存在領域という比較的簡易な指標に基づいて認識結果を補正することができる。したがって、実施形態1の油圧ショベル1は、ダンプトラック200の位置及び姿勢を正確且つ容易に認識することができる。実施形態1の油圧ショベル1は、積込作業の安全性及び生産性を更に向上させることができる。よって、実施形態1によれば、種々の状況においてもダンプトラック200の位置及び姿勢を正確に認識することで、ダンプトラック200への積込作業を適切に制御することが可能な油圧ショベル1を容易に提供することができる。
【0114】
更に、情報処理装置54(検証部86)は、認識領域を推定領域と比較することによって、ダンプトラック200の認識結果の確度を演算する。補正部87は、演算された確度に応じて認識領域を補正する。
【0115】
これにより、実施形態1の油圧ショベル1は、ダンプトラック200の認識結果の妥当性を定量的に検証することができ、認識領域を正確且つ精細に補正することができる。実施形態1の油圧ショベル1は、積込作業の安全性及び生産性を更に向上させることができる。よって、実施形態1によれば、種々の状況においてもダンプトラック200の位置及び姿勢を正確且つ精細に認識することで、ダンプトラック200への積込作業を更に適切に制御することが可能な油圧ショベル1を提供することができる。
【0116】
更に、情報処理装置54(検証部86)は、認識領域と推定領域との重なり具合を示す重合度を、認識結果の確度として演算する。補正部87は、演算された重合度に応じて認識領域を補正する。
【0117】
これにより、実施形態1の油圧ショベル1は、認識結果の確度を明確な基準で演算することができ、認識領域を更に正確且つ精細に補正することができる。実施形態1の油圧ショベル1は、積込作業の安全性及び生産性を更に向上させることができる。よって、実施形態1によれば、種々の状況においてもダンプトラック200の位置及び姿勢を更に正確且つ精細に認識することで、ダンプトラック200への積込作業を更に適切に制御することが可能な油圧ショベル1を提供することができる。
【0118】
更に、トラック情報取得装置56は、ダンプトラック200の位置調整量に関する情報を更に取得する。領域推定部85は、トラック情報取得装置56により取得された位置調整量を用いて推定領域を演算する。
【0119】
これにより、実施形態1の油圧ショベル1は、事前検証等により得られたダンプトラック200の位置情報の誤差よりも現実に即した値を用いて、推定領域を演算することができる。したがって、実施形態1の油圧ショベル1は、認識領域を更に正確に補正することができる。実施形態1の油圧ショベル1は、積込作業の安全性及び生産性を更に向上させることができる。よって、実施形態1によれば、種々の状況においてもダンプトラック200の位置及び姿勢を更に正確に認識することで、ダンプトラック200への積込作業を更に適切に制御することが可能な油圧ショベル1を提供することができる。
【0120】
更に、情報処理装置54は、油圧ショベル1が次に行うタスクを取得するタスク取得部80を更に備える。補正部87は、取得されたタスクに応じて、認識領域の補正方法を変更する。
【0121】
これにより、実施形態1の油圧ショベル1は、取得されたタスク毎に最適な認識領域に補正することができるので、油圧ショベル1にタスク毎に最適な動作を行わせることができる。実施形態1の油圧ショベル1は、積込作業の安全性及び生産性を更に向上させることができる。よって、実施形態1によれば、種々の状況においてもダンプトラック200の位置及び姿勢を更に正確に認識することで、ダンプトラック200への積込作業を更に適切に制御することが可能な油圧ショベル1を提供することができる。
【0122】
更に、補正部87は、対象物をダンプトラック200に積み込む積込タスクが取得された場合、認識領域と推定領域とを包含する領域となるように認識領域を補正する。
【0123】
これにより、実施形態1の油圧ショベル1では、積込動作時にダンプトラック200の外側から内側に向かって移動するフロント作業装置2がダンプトラック200に衝突するリスクを更に低減することができる。実施形態1の油圧ショベル1は、積込作業の安全性及び生産性を更に向上させることができる。よって、実施形態1によれば、種々の状況においてもダンプトラック200の位置及び姿勢を正確に認識することで、ダンプトラック200への積込作業を更に適切に制御することが可能な油圧ショベル1を提供することができる。
【0124】
更に、油圧ショベル1は、対象物を保持するバケット10を更に備える。トラック情報取得装置56は、ダンプトラック200の位置調整量を更に取得する。補正部87は、対象物をダンプトラック200に積み込む積込タスクが取得された場合、トラック情報取得装置56により取得された位置調整量と、認識領域及び推定領域とに基づいて、バケット10からダンプトラック200に対象物を積み込む時のバケット10の位置を演算する。制御装置40は、補正部87により演算されたバケット10の位置に基づいて、油圧ショベル1の積込動作を制御する。
【0125】
これにより、実施形態1の油圧ショベル1は、バケット10の積込位置という制御装置40の制御目標値をより妥当性の高い値にすることができる。したがって、実施形態1の油圧ショベル1は、積込作業の安全性及び生産性を更に向上させることができる。よって、実施形態1によれば、種々の状況においてもダンプトラック200の位置及び姿勢を正確に認識することで、ダンプトラック200への積込作業を更に適切に制御することが可能な油圧ショベル1を提供することができる。
【0126】
更に、補正部87は、対象物をダンプトラック200に積み込む積込タスクの終了後に行われるリーチングタスクが取得された場合、認識領域と推定領域とが重なる領域に包含される領域となるように認識領域を補正する。
【0127】
これにより、実施形態1の油圧ショベル1は、リーチング動作時にダンプトラック200の内側から外側に向かって移動するフロント作業装置2がダンプトラック200に衝突するリスクを更に低減することができる。したがって、実施形態1の油圧ショベル1は、積込作業の安全性及び生産性を更に向上させることができる。よって、実施形態1によれば、種々の状況においてもダンプトラック200の位置及び姿勢を正確に認識することで、ダンプトラック200への積込作業を更に適切に制御することが可能な油圧ショベル1を提供することができる。
【0128】
更に、情報処理装置54(検証部86)は、ダンプトラック200の認識結果が補正不能と判定した場合、当該認識結果が補正不能との判定結果をユーザに通知すると共に油圧ショベル1の車体の動作の継続可否をユーザに確認する画面551を表示装置55に表示させる。情報処理装置54(検証部86)は、継続可否の確認結果をユーザから受け付けると、当該確認結果を制御装置40に出力する。制御装置40は、当該確認結果に応じて油圧ショベル1の車体の動作を制御する。
【0129】
油圧ショベル1には、周辺に存在する砂埃のような現場環境の影響やセンサの異常等によって、ダンプトラック200の認識結果が補正不能である判定される可能性がある。このような場合であっても、実施形態1の油圧ショベル1は、オペレータ又は管理者の指示を仰ぐことにより、適切な判断の下で油圧ショベル1の運用を継続することができる。よって、実施形態1によれば、ダンプトラック200の認識結果を補正不能な場合であっても、ダンプトラック200への積込作業を適切に制御することが可能な油圧ショベル1を提供することができる。
【0130】
[実施形態2]
図16及び
図17を用いて、実施形態2の作業機械について説明する。実施形態2の作業機械において、実施形態1と同様の構成及び動作については、説明を省略する。
【0131】
図16は、実施形態2の情報処理装置54の機能的構成を説明するブロック図である。
図17は、
図16に示すトラック姿勢推定部88の処理を説明する図である。
【0132】
実施形態1のトラック情報取得装置56は、ダンプトラック200の位置、姿勢及び車格情報を含むトラック情報を取得する。但し、ダンプトラック200の位置・配車管理システムによっては、ダンプトラック200の地図上の2次元的な位置と方位とを管理しているものの、ダンプトラック200の姿勢を管理していない場合がある。
【0133】
そこで、実施形態2の油圧ショベル1は、油圧ショベル1の周辺の地形情報からダンプトラック200の姿勢を推定する。具体的には、実施形態2の油圧ショベル1は、
図16に示すように、油圧ショベル1の周辺の地形情報を取得する地形情報取得装置59を備える。実施形態2の情報処理装置54は、地形情報取得装置59により取得された地形情報に基づいてダンプトラック200の姿勢を推定するトラック姿勢推定部88を備える。実施形態2の領域推定部85は、トラック姿勢推定部88により推定されたダンプトラック200の姿勢を用いて、推定領域を演算する。
【0134】
地形情報取得装置59は、油圧ショベル1の上部旋回体7に取り付けられていてもよい。地形情報取得装置59は、例えば、外界計測装置70とセンサを共有して油圧ショベル1の周辺の地形を計測し、その計測結果から情報処理装置54において地形情報を取得してもよい。或いは、地形情報取得装置59は、無線通信機能を有し、現場の地形を計測する外部システムから送信された地形情報を受信することによって、地形情報を取得してもよい。本実施形態では、地形情報の取得方法については特に限定されない。
【0135】
本実施形態の地形情報は、点群データとして与えられものとする。しかしながら、地形情報は、点群データに限定されず、例えば、油圧ショベル1の周辺を格子状に分割し、格子毎に高さ情報を保持したグリッド形式のデータであってもよい。
【0136】
トラック姿勢推定部88は、トラック情報取得装置56により取得されたトラック情報に含まれるダンプトラック200の位置、方位及び車格情報と、地形情報取得装置59により取得された地形情報とを取得する。トラック姿勢推定部88は、取得されたこれらの情報に基づいて、ダンプトラック200の存在領域210内の地形情報を抽出する。トラック姿勢推定部88は、抽出された地形情報から、存在領域210内の地形の平面推定を行う。平面推定としては、例えば、最小二乗近似を用いることができる。そして、トラック姿勢推定部88は、平面推定により得られた平面の傾斜角度を演算することによって、ダンプトラック200の姿勢を推定する。具体的には、トラック姿勢推定部88は、平面推定により得られた平面の法線ベクトルntと、現場座標系500のY軸及びZ軸のそれぞれが成す角度から、ダンプトラック200の姿勢を示す角度θroll及びθpitchを演算する。
【0137】
実施形態2の領域推定部85は、トラック情報取得装置56により取得されたダンプトラック200の位置、方位及び車格情報と、トラック姿勢推定部88により推定されたダンプトラック200の姿勢とに基づいて、ダンプトラック200の推定領域を演算する。推定領域の演算方法は、実施形態1と同様である。
【0138】
以上のように、実施形態2の油圧ショベル1は、地形情報取得装置59を更に備える。実施形態2の情報処理装置54は、地形情報取得装置59により取得された地形情報に基づいてダンプトラック200の姿勢を推定するトラック姿勢推定部88を備える。実施形態2の領域推定部85は、トラック姿勢推定部88により推定されたダンプトラック200の姿勢を用いて、推定領域を演算する。
【0139】
これにより、実施形態2の油圧ショベル1は、ダンプトラック200の位置・配車管理システムがダンプトラック200の姿勢を管理していない場合であっても、認識領域を正確に補正することができる。よって、実施形態2によれば、種々の状況においてもダンプトラック200の位置及び姿勢を正確に認識することで、ダンプトラック200への積込作業を適切に制御することが可能な油圧ショベル1を提供することができる。
【0140】
[実施形態3]
図18を用いて、実施形態3の油圧ショベル1について説明する。実施形態3の油圧ショベル1において、実施形態1と同様の構成及び動作については、説明を省略する。
【0141】
図18は、実施形態3の情報処理装置54の機能的構成を説明するブロック図である。
【0142】
実施形態3の情報処理装置54は、外界計測装置70により取得された点群データのうち、ダンプトラック200及びその周辺の点群データだけを用いて、ダンプトラック200の認識を行う。
【0143】
具体的には、実施形態3の情報処理装置54は、外界計測装置70により取得された点群データから、領域推定部85により演算された推定領域を含む所定領域内の点群データを抽出するフィルタ部89を更に備える。実施形態3の認識部84は、フィルタ部89により抽出された点群データからダンプトラック200を認識し、ダンプトラック200の認識領域を演算する。認識領域の演算方法は、実施形態1と同様である。
【0144】
外界計測装置70により取得された点群データがダンプトラック200以外(他の作業機械や地面)のデータを含む場合、一般的には、認識処理の精度低下や処理時間の長時間化を引き起こす可能性がある。実施形態3の油圧ショベル1は、領域推定部85により演算された推定領域を用いて外乱となる点群データを取り除くことができる。これにより、実施形態3の油圧ショベル1は、認識処理の精度向上及び処理時間の短縮化を図ることができる。よって、実施形態3によれば、種々の状況においてもダンプトラック200の位置及び姿勢を正確且つ迅速に認識することで、ダンプトラック200への積込作業を適切且つ迅速に制御することが可能な油圧ショベル1を提供することができる。
【0145】
[その他]
なお、本発明は上記の実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記の実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、或る実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、また、或る実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【0146】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路にて設計する等によりハードウェアによって実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアによって実現してもよい。各機能を実現するプログラム、テープ、ファイル等の情報は、メモリや、ハードディスク、SSD(solid state drive)等の記録装置、又は、ICカード、SDカード、DVD等の記録媒体に置くことができる。
【0147】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【0148】
1…油圧ショベル(作業機械)、54…情報処理装置、55…表示装置、56…トラック情報取得装置(運搬機械情報取得装置)、59…地形情報取得装置、70…外界計測装置、80…タスク取得部、84…認識部、85…領域推定部、86…検証部、87…補正部、88…トラック姿勢推定部、89…フィルタ部、200…ダンプトラック(運搬機械)、Sde…推定領域、Sdr…認識領域