IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ コベルコ建機株式会社の特許一覧

特開2024-168317作業シミュレータ、作業シミュレーションプログラム、および、作業シミュレーション方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024168317
(43)【公開日】2024-12-05
(54)【発明の名称】作業シミュレータ、作業シミュレーションプログラム、および、作業シミュレーション方法
(51)【国際特許分類】
   E02F 9/26 20060101AFI20241128BHJP
   G09B 9/00 20060101ALI20241128BHJP
【FI】
E02F9/26 Z
G09B9/00 Z
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023084876
(22)【出願日】2023-05-23
(71)【出願人】
【識別番号】000246273
【氏名又は名称】コベルコ建機株式会社
(74)【代理人】
【識別番号】110001841
【氏名又は名称】弁理士法人ATEN
(72)【発明者】
【氏名】島津 泰彦
(72)【発明者】
【氏名】関▲塚▼ 良太
(57)【要約】
【課題】仮想空間内のエリアどうしの干渉の状態を確実に判定する。
【解決手段】作業シミュレータ1は、計算機13を備える。計算機13は、作業機械40が作業を行う作業現場Sを、仮想空間において模擬する。計算機13は、作業機械エリアA40と判定対象エリアA73との干渉の状態を判定する。作業機械エリアA40は、仮想空間に配置された作業機械40の位置に関連付けられて設定される。判定対象エリアA73は、仮想空間に設定されたエリアAである。
【選択図】図1
【特許請求の範囲】
【請求項1】
作業機械が作業を行う作業現場を仮想空間において模擬する計算機を備え、
前記計算機は、前記仮想空間に配置された前記作業機械の位置に関連付けられて設定される作業機械エリアと、前記仮想空間に設定された判定対象エリアと、の干渉の状態を判定する、
作業シミュレータ。
【請求項2】
請求項1に記載の作業シミュレータであって、
前記計算機は、配置されようとしている前記作業機械の前記作業機械エリアと、前記判定対象エリアと、が干渉しないように前記作業機械の配置を制限する、
作業シミュレータ。
【請求項3】
請求項1に記載の作業シミュレータであって、
前記計算機は、前記作業機械とは異なる第2作業機械を配置し、前記第2作業機械の位置に関連付けられる第2作業機械エリアを設定し、
前記計算機は、前記作業機械および前記第2作業機械のそれぞれを作動させたときの、前記作業機械エリアと前記第2作業機械エリアとの干渉の状態を判定する、
作業シミュレータ。
【請求項4】
請求項1に記載の作業シミュレータであって、
前記作業機械は、ユーザの操作に応じてユーザの操作と同時に作動する、または、ユーザの操作に応じて予め記憶された情報に基づいて作動する、
作業シミュレータ。
【請求項5】
請求項1に記載の作業シミュレータであって、
前記計算機は、前記作業機械エリアと前記判定対象エリアとが干渉したときの前記作業機械の姿勢を記憶する、
作業シミュレータ。
【請求項6】
請求項1に記載の作業シミュレータであって、
前記計算機は、前記作業機械と前記判定対象エリアとを俯瞰した視界を出力装置に表示させる、または、前記作業機械から前記判定対象エリアを見た視界を前記出力装置に表示させる、
作業シミュレータ。
【請求項7】
作業機械が作業を行う作業現場を仮想空間において模擬するための作業シミュレーションプログラムであって、
前記仮想空間に配置された前記作業機械の位置に関連付けられて設定される作業機械エリアと、前記仮想空間に設定された判定対象エリアと、と、の干渉の状態を判定する干渉判定ステップを計算機に実行させる、
作業シミュレーションプログラム。
【請求項8】
作業機械が作業を行う作業現場を仮想空間において模擬する作業シミュレーション方法であって、
前記仮想空間に配置された前記作業機械の位置に関連付けられて設定される作業機械エリアと、前記仮想空間に設定された判定対象エリアと、と、の干渉の状態を判定する干渉判定ステップを備える、
作業シミュレーション方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、仮想空間において作業現場を模擬する、作業シミュレータ、作業シミュレーションプログラム、および、作業シミュレーション方法に関する。
【背景技術】
【0002】
例えば特許文献1に、作業計画を立案する作業計画システムが記載されている(特許文献1の請求項1を参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2022-11680号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
仮想空間において、様々なエリアが設定される。例えば、エリアどうしの干渉の状態をユーザが表示を目視して判断しようとしても、干渉の状態を適切に判断できないおそれがある。そのため、仮想空間内のエリアどうしの干渉の状態を確実に判定できることが望まれる。
【0005】
本発明は、仮想空間内のエリアどうしの干渉の状態を確実に判定することができる、作業シミュレータ、作業シミュレーションプログラム、および、作業シミュレーション方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
作業シミュレータは、作業機械が作業を行う作業現場を仮想空間において模擬する計算機を備える。前記計算機は、作業機械エリアと、判定対象エリアと、の干渉の状態を判定する。前記作業機械エリアは、前記仮想空間に配置された前記作業機械の位置に関連付けられて設定される。前記判定対象エリアは、前記仮想空間に設定されたエリアである。
【0007】
作業シミュレーションプログラムは、作業機械が作業を行う作業現場を仮想空間において模擬するためのプログラムである。作業シミュレーションプログラムは、干渉判定ステップを計算機に実行させる。前記干渉判定ステップは、作業機械エリアと、判定対象エリアと、の干渉の状態を判定する。前記作業機械エリアは、前記仮想空間に配置された前記作業機械の位置に関連付けられて設定される。前記判定対象エリアは、前記仮想空間に設定されたエリアである。
【0008】
作業シミュレーション方法は、作業機械が作業を行う作業現場を仮想空間において模擬する方法である。作業シミュレーション方法は、干渉判定ステップを備える。前記干渉判定ステップは、作業機械エリアと、判定対象エリアと、の干渉の状態を判定する。前記作業機械エリアは、前記仮想空間に配置された前記作業機械の位置に関連付けられて設定される。前記判定対象エリアは、前記仮想空間に設定されたエリアである。
【発明の効果】
【0009】
上記の作業シミュレータ、作業シミュレーションプログラム、および、作業シミュレーション方法のそれぞれにより、仮想空間内のエリアどうしの干渉の状態を確実に判定することができる。
【図面の簡単な説明】
【0010】
図1】作業シミュレータ1を示すブロック図である。
図2図1に示す計算機13の処理を示すフローチャートである。
図3A図1に示す出力装置15の表示を示す図であって、作業機械40の位置に基づいて設備65の位置が算出される場合の図である。
図3B図3Aに示す作業機械エリアA40とは異なる形状の作業機械エリアA40に基づいて設備65の位置が算出される場合の出力装置15の表示を示す図である。
図4A図1に示す作業機械40の、点である作業位置P43cが設定されたときの出力装置15の表示を示す図である。
図4B図4Aに示す作業位置P43cと、作業機械設置位置P40cと、が設定されたときの出力装置15の表示を示す図である。
図4C図4Bに示す作業位置P43cの設定補助機能が、作業エリアA45に用いられたときの出力装置15の表示を示す図である。
図4D図4Bに示す作業位置P43cの設定補助機能が、荷台エリアA61aに用いられたときの出力装置15の表示を示す図である。
図5A図1に示す作業機械40の、線である作業位置P43cが、法面に設定されたときの出力装置15の表示を示す図である。
図5B図5Aに示す作業位置P43cと、作業機械設置位置P40cと、が設定されたときの出力装置15の表示を示す図である。
図5C図1に示す作業機械40の、線である作業位置P43cが、地中31bに設定されたときの出力装置15の表示を示す図である。
図5D図5Aに示す作業位置P43cが、障害物63からオフセット距離L63だけ離れた位置に設定されたときの出力装置15の表示を示す図である。
図6A図1に示す作業機械40の、作業機械設置位置P40cが設定されたときの出力装置15の表示を示す図である。
図6B図6Aに示す作業機械設置位置P40cと、作業位置P43cと、が設定されたときの出力装置15の表示を示す図である。
図7A図1に示す作業機械40が作業可能な作業可能エリアA40bが表示されるときの、出力装置15の表示を示す図である。
図7B図7Aに示す作業可能エリアA40bが、地面31aからの深さなどで限定された限定作業可能エリアA40b1の、出力装置15による表示を示す図である。
図7C図7Aに示す作業可能エリアA40bが、作業機械40の旋回角度で限定された限定作業可能エリアA40b1の、出力装置15による表示を示す図である。
図7D図1に示す作業機械40の定格荷重表示Db2の、出力装置15による表示を示す図である。
図8A図1に示す作業機械40の作業機械可動エリアA40aと、障害物63と、の干渉の状態が判定されるときの出力装置15の表示を示す図である。
図8B図8Aに示す作業機械可動エリアA40aと障害物63とが干渉したときの出力装置15の表示を示す図である。
図8C図8Aに示す例とは異なる形状の作業機械可動エリアA40aと、障害物63などと、の干渉の状態が判定されるときの出力装置15の表示を示す図である。
図9図1に示す作業機械40と、第2作業機械50と、が作業現場Sに配置されたときの出力装置15の表示を示す図である。
図10A図1に示す作業機械40の、接地判定点P21などを示す図である。
図10B図10Aに示す接地判定点P21などが地面31aに投影されたときの出力装置15の表示を示す図である。
図10C図10Aに示す作業機械40が、傾斜のある地面31aに配置されたときの出力装置15の表示を示す図である。
【発明を実施するための形態】
【0011】
図1図10Cを参照して、作業シミュレータ1について説明する。
【0012】
作業シミュレータ1は、図1に示すように、仮想空間において作業現場Sを模擬するシミュレーション(作業シミュレーション)を行うシミュレータである。作業シミュレータ1は、例えば、パーソナルコンピュータ、タブレット、および、スマートフォンの少なくともいずれかである。作業シミュレータ1は、入力装置11と、計算機13と、出力装置15と、を備える。作業シミュレータ1は、クライアント装置10と、サーバ装置20と、を備えてもよい。
【0013】
入力装置11は、計算機13に情報を入力するための装置である。入力装置11は、操作入力装置11aと、情報入力装置11bと、を備える。
【0014】
操作入力装置11aは、作業シミュレータ1のユーザ(操作者)に操作される。ユーザによる操作入力装置11aの操作を「手動操作」ともいう。操作入力装置11aは、仮想空間内の位置の設定(指定、選択)に用いられてもよい。操作入力装置11aは、オブジェクト30(配置対象T)およびエリアA(配置対象T)(それぞれ後述)の設定に用いられてもよい。操作入力装置11aは、仮想空間内での作業機械40(後述)の操作に用いられてもよい。操作入力装置11aは、例えば、作業機械40の作動の開始および終了の指示に用いられてもよく、作業機械40の走行、上部旋回体41b(図3A参照)の旋回、およびアタッチメント43(図3A参照)の操作などに用いられてもよい。例えば、操作入力装置11aは、マウス、キーボード、タッチパネル、およびゲームパッドの少なくともいずれかを備えてもよい。操作入力装置11aは、現実の機械(作業機械40に対応する機械)の、左右の操作レバー、および左右の操作ペダル(足元のペダル)を模した、レバーおよびペダルを備えてもよい。
【0015】
情報入力装置11bは、各種情報(操作入力装置11aの操作による情報を除く)を計算機13に入力するための装置である。上記「各種情報」は、例えば、オブジェクト30およびエリアA(それぞれ後述)に関する情報などである。
【0016】
計算機13は、信号の入出力、演算、情報の記憶などを行うコンピュータである。計算機13は、仮想空間において作業現場Sを模擬する。計算機13の各機能(例えば、後述するオブジェクト処理部13b1およびエリア処理部13b2の機能など)は、記憶部13aに記憶されたプログラム(作業シミュレーションプログラム)が演算部13bで実行されることにより実現される。計算機13と他の機器(例えば、入力装置11、出力装置15)とは、無線通信により接続されてもよく、有線通信により接続されてもよい。計算機13には、入力装置11が出力した情報が入力される。計算機13は、出力装置15に情報を出力する。計算機13(詳しくは、クライアント装置10の計算機13)は、サーバ装置20と情報をやり取りしてもよい。クライアント装置10の計算機13とサーバ装置20とのやり取りは、例えば、携帯電話回線、光回線、無線LAN(Local Area Network)、有線LANなどの通信手段によって行われる。計算機13は、記憶部13aと、演算部13bと、を備える。
【0017】
記憶部13aは、各種情報を記憶する。記憶部13aは、作業シミュレーションプログラムを記憶する。
【0018】
演算部13bは、演算(算出、判定などの処理)を行う。演算部13bは、オブジェクト処理部13b1と、エリア処理部13b2と、を備える。オブジェクト処理部13b1は、オブジェクト30の処理(後述)を行う。エリア処理部13b2は、エリアAの処理(後述)を行う。
【0019】
出力装置15は、計算機13から入力される指令に応じて出力を行う。出力装置15が行う出力は、例えば表示である。出力装置15は、例えば、モニタ(画面)である。出力装置15は、計算機13の計算結果などを表示する。出力装置15は、計算機13が計算した仮想空間を表示する。出力装置15は、ユーザが作業シミュレーションの操作を行うためのGUI(Graphical User Interface)を表示する。以下の「表示」は、計算機13が出力装置15に行わせる表示である。出力装置15は、音声を出力してもよい。
【0020】
サーバ装置20は、クライアント装置10の指令に応じて作動するコンピュータである。クライアント装置10は、上記の入力装置11と、計算機13と、出力装置15と、により構成される。作業シミュレータ1の機能(例えば、オブジェクト処理部13b1およびエリア処理部13b2などの機能)は、クライアント装置10とサーバ装置20とにより実現されてもよい。計算機13(記憶部13aおよび演算部13bの少なくともいずれか)は、クライアント装置10とサーバ装置20とに設けられてもよい。入力装置11は、サーバ装置20に設けられてもよい(図示なし)。この場合、例えば、サーバ装置20に設けられる入力装置11から、クライアント装置10に設けられる計算機13に、情報(例えば上記「各種情報」など)が入力されてもよい。サーバ装置20は、複数設けられてもよい。なお、作業シミュレータ1は、サーバ装置20を備えなくてもよい。
【0021】
(作動)
作業シミュレータ1(主に計算機13)は、以下の作動(作業シミュレーション)を行うように構成される。作業シミュレーションプログラムは、以下の作動を計算機13に実行させる。作業シミュレーション方法は、以下の作動が行われる方法である。
【0022】
作業シミュレータ1は、仮想空間における作業現場Sを模擬する。作業現場Sは、作業機械40が作業を行う現場(施工現場)である。例えば、作業シミュレータ1(施工計画シミュレータ)は、作業現場Sの計画(施工計画)を立てるために用いられる。作業シミュレータ1は、作業現場Sでの作業機械40に関する計画を立てるために用いられる。作業シミュレータ1は、作業機械40の位置、サイズ、作業性(生産性)、安全性などの確認のために用いられる。作業シミュレータ1は、作業機械40以外の物やエリアAの計画を立てるために用いられてもよい。作業シミュレータ1は、オブジェクト処理機能と、エリア処理機能と、を有する。作業シミュレータ1は、例えば、動作モード切替機能、時間変化機能、および、干渉判定機能などの様々な機能を有してもよい。作業シミュレータ1は、例えば、作業現場Sにおける状況などを記録(保存)する機能を有してもよく、記録された状況を再生する機能を有してもよい。
【0023】
(オブジェクト処理機能)
計算機13(詳しくは、オブジェクト処理部13b1)は、オブジェクト30(配置対象T)の処理を行う(オブジェクト処理機能、オブジェクト処理ステップ)。オブジェクト30は、作業現場S内の物体をモデル化したものである。オブジェクト30は、三次元モデルでもよく(図4Cなどを参照)、二次元モデルでもよい。なお、作業シミュレータ1の各作動(機能)を、作業シミュレーションプログラムおよび作業シミュレーション方法における「ステップ」としてもよい。例えば、オブジェクト30の処理が行われることを、「オブジェクト処理ステップ」としてもよい。
【0024】
オブジェクト30の処理は、オブジェクト30の削除(仮想空間からの削除)と、オブジェクト30の配置(仮想空間への配置)(配置ステップ、オブジェクト配置ステップ)と、を含む。オブジェクト30の配置は、オブジェクト30の新規配置と、オブジェクト30の移動と、を含む。オブジェクト30の新規配置は、仮想空間に(作業現場Sに)オブジェクト30を新たに配置することである。オブジェクト30の移動は、仮想空間に(作業現場Sに)既にあるオブジェクト30を移動させることである。オブジェクト30の移動は、オブジェクト30の回転移動と平行移動とを含む。例えば、作業機械40の姿勢変化は、オブジェクト30の移動に含まれる。また例えば、地形31(後述)の変形は、オブジェクト30の移動に含まれる。オブジェクト30が仮想空間に配置(新規配置、移動)された場合、計算機13は、配置されたオブジェクト30の位置(後述)を記憶する。オブジェクト30の処理は、仮想空間に配置されたオブジェクト30を管理する機能(例えば複数のオブジェクト30をリスト形式で管理する機能)を含んでもよい。オブジェクト30の処理は、オブジェクト30ごとの表示と非表示とを切り替える機能を含んでもよい。
【0025】
以下では、特に断らない限り、仮想空間における事象を説明する。例えば、「地面31aに作業機械40が配置される」ことは、仮想空間内の地面31aのオブジェクト30に、作業機械40のオブジェクト30が配置されることを意味する。また、例えば、「作業機械40の周囲に作業機械エリアA40が設定される」ことは、仮想空間内の作業機械40のオブジェクト30の周囲に、作業機械エリアA40が設定されることを意味する。
【0026】
オブジェクト30の処理(配置、削除)が行われる条件は、例えば次の通りである。オブジェクト30の処理は、ユーザの手動操作に応じて行われてもよい。オブジェクト30の処理は、計算機13に予め設定された条件が満たされたときに自動的に行われてもよい。
【0027】
オブジェクト30の「位置」には、オブジェクト30の基準位置と、オブジェクト30の方向と、を含む。オブジェクト30の基準位置は、オブジェクト30の基準となる位置(原点)である。例えば、オブジェクト30の基準位置は、オブジェクト30の下面の中心位置(例えば後述する作業機械下面中心点41ac(図4B参照)など)でもよく、オブジェクト30の重心位置などでもよい。オブジェクト30の方向は、所定の座標軸に対する回転角度(姿勢、例えば三次元回転角度)である。
【0028】
オブジェクト30の具体例は、次の通りである。オブジェクト30は、地形31(周辺環境情報)と、作業機械40と、「その他のオブジェクト30」と、を含む。上記「その他のオブジェクト30」は、例えば、第2作業機械50(図9参照)と、輸送車61と、吊荷62(図4D参照)と、障害物63と、設備65と、作業者67(図9参照)と、を含む。以下では、入力装置11、計算機13、およびこれらの構成要素(記憶部13aなど)については、図1を参照して説明する。
【0029】
地形31は、図4Bに示すように、作業現場Sの土地の形状情報である。地形31は、二次元形状でもよく、三次元形状でもよい。地形31は、例えば、平地、傾斜面(例えば法面)、凹凸などを含む。地形31は、地面31aと、地中31bと、を含む。地面31aは、地形31の表面(地表面)であり、例えば土砂などの表面である。地中31bは、地形31のうち地面31aよりも下の部分であり、例えば土砂などが存在する部分である。
【0030】
この地形31は、現実の土地のモデルでもよい。この場合、地形31は、現実の土地の検出情報に基づいて生成された形状情報でもよい。この場合、現実の土地の検出情報は、ステレオカメラにより検出されてもよく、距離センサと二次元カメラとにより検出されてもよい。上記「距離センサ」は、例えば、LIDAR(Light Detection and Ranging)でもよく、ミリ波レーダでもよい。また、地形31は、コンピュータ上で設計された設計データ(設計面)の形状情報でもよい。設計データが設計されるコンピュータは、作業シミュレータ1でもよく、作業シミュレータ1でなくてもよい。図1に示す地形31は、計算機13に1つのみ設定されてもよく、複数設定されてもよい。地形31が複数設定される場合、作業前の地形31、作業途中段階の地形31、および、作業完了後の(出来上がりの)地形31、の少なくともいずれかが計算機13に設定されてもよい。1つのみ設定されても複数設定されてもよいことは、地形31以外のオブジェクト30およびエリアAも同様である。地形31は(地形31の形状情報は)、例えば、入力装置11から計算機13に入力される(読み込まれる)。例えば入力装置11から計算機13に入力されることは、地形31以外のオブジェクト30およびエリアAについても同様である。
【0031】
この地形31は、作業シミュレーションにおける時間変化に伴って変形してもよい。地形31が変形する場合の具体例は、次の通りである。図4Bに示す作業機械40が作動し、先端アタッチメント43c(後述)が、地形31(例えば土砂)に対して作業を行う。例えば、作業機械40が、地面31aを掘削する作動を行う。このような場合に、地形31が変形してもよい。例えば、地形31は、土砂が掘削された後の形状(穴、溝など)に変形してもよい。また、例えば、地形31は、土砂が排土され、土砂が堆積した形状(土砂山)に変形してもよい。
【0032】
作業機械40は、作業を行う機械であり、例えば建設作業を行う建設機械であり、例えばショベルでもよく、クレーンでもよく、ブルドーザでもよく、ホイールローダでもよい。以下では、主に、作業機械40がショベルである場合について説明する。作業機械40は、作動してもよい(作業機械作動ステップ)。作業機械40は、計算機13に予め設定された情報に基づき作動してもよい。作業機械40は、ユーザの手動操作に応じて作動してもよい(後述するオペレータ操作モードを参照)。作業機械40は、走行してもよく、下部走行体41a(後述)に対して上部旋回体41b(後述)が旋回してもよく、アタッチメント43の姿勢が変化してもよい。なお、作業機械40は、作動しなくてもよい(仮想空間内に配置されるだけでもよい)。作業機械40は、機械本体41と、アタッチメント43と、を備える。
【0033】
機械本体41は、作業機械40の本体部分である。機械本体41は、下部走行体41aと、上部旋回体41bと、を備える。
【0034】
下部走行体41aは、走行面(地面31aなど)を走行可能である。下部走行体41aは、クローラ41a1を備えてもよく、ホイール(図示なし)を備えてもよい。作業機械40の下面(すなわち下部走行体41aの下面)の中心点を、作業機械下面中心点41acとする。作業機械下面中心点41acは、下部走行体41aの下面に接する仮想面と、旋回中心軸41b1(後述)と、の交点である(図10A参照)。作業機械下面中心点41acは、例えば、作業機械40の基準位置(原点)とされてもよい。
【0035】
上部旋回体41bは、下部走行体41aに対して旋回可能である。下部走行体41aに対する上部旋回体41bの旋回の回転軸を、旋回中心軸41b1とする。上部旋回体41bは、運転室41b2を備える。運転室41b2は、現実の機械(作業機械40に対応する機械)においてオペレータが機械を操作する部分である。運転室41b2は、上部旋回体41bの底部(旋回フレーム)に固定されたものでもよい。運転室41b2は、上部旋回体41bの底部に対して可動でもよい。この場合、運転室41b2は、上部旋回体41bの底部に対して上下方向(方向については後述)に移動可能な機構を持つもの(エレベータキャブ、リンクキャブなど)でもよい。また、運転室41b2は、運転室41b2内から上方を見やすくするために、上部旋回体41bの底部に対して、横方向に延びる回転軸を中心に上下に回転(傾動)可能な機構を持つもの(チルトキャブ)でもよい。運転室41b2は、運転室41b2の本体部に装着される付属品を備えてもよい。この付属品は、例えば、飛来物などから運転室41b2の上面やフロントウインドウなどを保護するためのガードでもよい。
【0036】
(方向)
作業機械40に関する方向を次のように定義する。旋回中心軸41b1が延びる方向を上下方向とする。上部旋回体41bに対するブーム43a1(後述)の起伏の回転軸が延びる方向を横方向とする。上下方向および横方向のそれぞれに直交する方向を、前後方向とする。前後方向において、上部旋回体41bに対してアタッチメント43が突出する側を前側とし、その逆側を後側とする。下部走行体41aに対する上部旋回体41bの旋回の方向を旋回方向とする。なお、作業機械40は、傾斜面に配置される場合がある(図10C参照)。そのため、作業機械40の上下方向は、鉛直方向と一致しない場合があり、作業機械40の横方向および前後方向は、水平方向と一致しない場合がある。
【0037】
アタッチメント43は、作業を行う部分(作業装置)である。アタッチメント43は、上部旋回体41bに対して起伏可能(上下方向に回転可能)である。アタッチメント43は、基端側アタッチメント43aと、先端アタッチメント43cと、を備える。
【0038】
基端側アタッチメント43aは、先端アタッチメント43cと上部旋回体41bとの間に設けられる。基端側アタッチメント43aは、ブーム43a1と、アーム43a2と、を備える。ブーム43a1は、上部旋回体41bに回転可能(前後方向および上下方向に回転可能)に取り付けられる。アーム43a2は、ブーム43a1に回転可能(前後方向および上下方向に回転可能)に取り付けられる。
【0039】
先端アタッチメント43cは、アタッチメント43の先端部に設けられる。先端アタッチメント43cは、基端側アタッチメント43aに回転可能(前後方向および上下方向に回転可能)に取り付けられ、具体的には、アーム43a2に回転可能に取り付けられる。先端アタッチメント43cは、作業対象物をすくう作業や掘削などを行うバケットでもよい。先端アタッチメント43cは、作業対象物を挟む装置(グラップル、ニブラなど)でもよく、作業対象物の破砕などを行う装置(ブレーカなど)でもよく、金属の作業対象物を吸着するマグネットでもよい。図4Dに示すように、先端アタッチメント43cは、フック43cfを備えてもよい。フック43cfは、吊荷62を吊り上げるためのものである。図4Bに示す先端アタッチメント43cによる作業の対象となる物(作業対象物)は、土砂でもよく、石でもよく、木材でもよく、金属でもよく、樹脂でもよく、廃棄物でもよく、構造物(ブロックなど)でもよく、吊荷62(図4D参照)でもよい。
【0040】
第2作業機械50は、図9に示すように、作業機械40とは異なる機械である。第2作業機械50は、作業機械40と同様の機械(例えばショベル、クレーンなど)である。詳しくは、第2作業機械50は、作業機械40と同様に、機械本体41(下部走行体41a、上部旋回体41b)と、アタッチメント43と、を備える機械である。作業現場Sに複数の機械があるときに、ある1つの機械のオブジェクト30を「作業機械40」としたとき、この「作業機械40」とは異なる機械のオブジェクト30が、「第2作業機械50」である。第2作業機械50は、作業機械40と同じ機種でもよく、異なる機種でもよい。作業現場Sに複数の機械(作業機械40、第2作業機械50)があるとき、機械の数は、3以上でもよい。
【0041】
輸送車61は、図4Dに示すように、作業機械40に作業される作業対象物を輸送する車両である。輸送車61は、例えばダンプトラックなどである。輸送車61は、荷台61aを備える。荷台61aは、作業対象物が入れられる部分(容器)である。なお、荷台61a以外の、作業対象物が入れられる容器(図示なし)が、作業現場Sにあってもよい。
【0042】
吊荷62は、作業機械40に吊り上げられる作業対象物である。
【0043】
障害物63は、図8Cに示すように、例えば、作業機械40が作業をする際に障害となる物である。障害物63は、例えば、建物63aを含んでもよく、地面31aに固定される壁63b(図8B参照)を含んでもよい。
【0044】
設備65は、作業現場Sに設置される。設備65は、仕切器具65aを含んでもよく、図9に示すように、撮像装置65bを含んでもよく、アンテナ65cを含んでもよく、ポール65dを含んでもよく、道65e(図8C参照)を含んでもよい。
【0045】
仕切器具65aは、図3Aに示すように、作業現場Sを仕切る部材であり、境界として使われる部材である。仕切器具65aは、コーン(パイロン)でもよく、コーンとバーとを組み合わせたものでもよく、地面31aに仮設されるフェンスでもよい。
【0046】
撮像装置65bは、図9に示すように、作業現場Sを撮像(撮影、検出など)する。例えば、撮像装置65bは、作業現場Sの状況を俯瞰した情報を検出する。例えば、撮像装置65bは、現実の機械(作業機械40に対応する機械)が遠隔操作または自動運転されるときに使われるものでもよい。撮像装置65bは、現実の機械が遠隔操作されるときに、機械の周囲の状況をオペレータに把握させるものでもよい。撮像装置65bは、作業現場Sの作業者67や作業機械40を監視するためのものでもよい。具体的には、撮像装置65bは、特定のエリアAやオブジェクト30などに接近する作業者67や作業機械40が無いかなどを監視するためのものでもよい。撮像装置65bは、上記の用途以外に用いられるものでもよい。撮像装置65bは、例えば作業機械40などのオブジェクト30に固定されるものでもよい。撮像装置65bは、運転室41b2の内部に配置されてもよい(オペレータ視点の画像を撮影するものでもよい)。撮像装置65bは、二次元画像を撮像するカメラ(監視カメラ、現場カメラなど)でもよい。撮像装置65bは、距離画像(奥行の情報を含む三次元画像)を検出するもの(ステレオカメラ、LIDAR、ミリ波レーダなど)でもよい。
【0047】
アンテナ65cは、作業機械40と無線通信するために使われる。例えば、アンテナ65cは、現実の機械(作業機械40に対応する機械)が遠隔操作または自動運転されるときなどに使われるものでもよい。
【0048】
ポール65dは、機器を支持する支柱である。ポール65dが支持する機器は、例えば、撮像装置65bでもよく、アンテナ65cでもよい。
【0049】
道65e(図8C参照)は、人や車両などが通る部分(通路、道路など)である。なお、設備65は、上記以外のものを含んでもよい。例えば、設備65は、資材を含んでもよく、資材置場(ストックヤード)を含んでもよく、作業現場Sを照らすライトなどを含んでもよい。
【0050】
作業者67は、人であり、例えば、人力で作業をする者でもよく、監視員でもよい。
【0051】
(エリア処理機能)
図1に示すように、計算機13(詳しくは、エリア処理部13b2)は、エリアA(配置対象T)の処理を行う(エリア処理機能、エリア処理ステップ)。エリアAは、仮想空間内の領域である。エリアAは、三次元形状の領域でもよく、二次元形状の領域でもよく、線で表される領域でもよく、点で表される領域(位置)でもよい。
【0052】
エリアAの処理は、オブジェクト30の処理と同様に、エリアAの削除(仮想空間からの削除)と、エリアAの配置(仮想空間への配置)(配置ステップ、エリア配置ステップ)と、を含む。なお、エリアAの配置は、エリアAの「設定」(エリア設定ステップ)ともいう。エリアAは、オブジェクト30に基づいて設定されてもよく、例えば、作業機械40に基づいて設定されてもよく(後述する作業機械エリアA40を参照)、作業機械40以外のオブジェクト30に基づいて設定されてもよい。エリアAは、オブジェクト30に基づくことなく設定されてもよい。例えば、エリアAは、ユーザの手動操作により(任意に)設定されてもよい。
【0053】
このエリアAの処理(配置、削除)が行われる条件は、例えば次の通りである。エリアAの処理は、ユーザの手動操作に応じて行われてもよい。エリアAの処理は、計算機13に予め設定された条件が満たされたときに自動的に行われてもよい。例えば、オブジェクト30が配置(新規配置、移動)されたときに、このオブジェクト30の位置などに基づいて、エリアAが配置されてもよい。
【0054】
このエリアAの具体例は、次の通りである。エリアAは、オブジェクト一致エリアAo(図8A参照)と、作業機械エリアA40と、「その他のエリアA」と、を含む。上記「その他のエリアA」は、例えば、作業エリアA45と、第2作業機械エリアA50(図9参照)と、進入禁止エリアA71と、荷台エリアA61a(図4D参照)と、判定対象エリアA73(図8C参照)と、を含む。
【0055】
オブジェクト一致エリアAoは、図8Aに示すように、オブジェクト30が存在する領域(占める領域)と一致する(略一致を含む)。オブジェクト一致エリアAoは、例えば、干渉判定(後述)などに用いられる。例えば、作業機械40が配置されたときに、作業機械40のオブジェクト30が存在する領域と一致する領域が、作業機械40のオブジェクト一致エリアAoとして設定される。なお、オブジェクト30とオブジェクト一致エリアAoとは、区別されなくてもよい(別々の情報として処理される必要はない)。
【0056】
作業機械エリアA40は、図1に示すように、作業機械40の位置(例えば、作業機械設置位置P40c(図4B参照))に関連付けられる(作業機械エリア設定ステップ)。作業機械40が移動した場合、作業機械40の移動に伴って、作業機械エリアA40も移動する。なお、作業機械40が移動し、作業機械エリアA40が移動したときに、作業機械エリアA40が通過した領域(軌跡)を、新たな作業機械エリアA40としてもよい。作業機械エリアA40は、作業機械可動エリアA40a(図3A参照)と、作業可能エリアA40b(図7A参照)と、を含む。作業機械40のオブジェクト一致エリアAo(図8A参照)は、作業機械エリアA40に含まれる。
【0057】
作業機械可動エリアA40aは、図3Aに示すように、作業機械40が作動したときに作業機械40が配置される可能性のある位置に基づいて設定される。作業機械可動エリアA40aは、例えば、作業機械40と、作業機械40の周囲のオブジェクト30と、の離隔距離の確認(安全確認)などに用いられる。作業機械可動エリアA40aは、作業機械40が走行することなく、下部走行体41aに対して上部旋回体41bが旋回したときに、作業機械40が配置される可能性のある位置に基づいて設定される。作業機械可動エリアA40aは、アタッチメント43の最大作業半径、および、上部旋回体41bの後端旋回半径、の少なくともいずれかに基づいて設定される。具体的には、作業機械可動エリアA40aは、最大作業半径エリアA40a1と、後端半径エリアA40a2(図3B参照)と、を含む。
【0058】
最大作業半径エリアA40a1は、アタッチメント43の最大作業半径に基づいて設定される。「最大作業半径」は、旋回中心軸41b1を中心とするアタッチメント43の半径(アタッチメント旋回半径)の最大値である。詳しくは、「最大作業半径」は、先端アタッチメント43cの先端部が上部旋回体41bから最も遠い位置(最も前側)に配置されたときの、旋回中心軸41b1から先端アタッチメント43cの先端部までの水平距離である。最大作業半径エリアA40a1は、上から見たときに円形でもよく、上から見たときに扇形または略扇形でもよい(図3B参照)(上部旋回体41bの旋回角度が限定されてもよい)。最大作業半径エリアA40a1の半径は、最大作業半径と一致または略一致する。なお、最大作業半径エリアA40a1の半径は、最大作業半径と一致しなくてもよく、例えば、最大作業半径よりも大きくてもよい(余裕しろがあってもよい)。図7Cに示すように、最大作業半径エリアA40a1が三次元形状である場合は、最大作業半径エリアA40a1は、所定高さを有する円柱状でもよい(後端半径エリアA40a2(図8B参照)も同様)。また、最大作業半径エリアA40a1は、所定高さを有する扇形または略扇形(詳しくは、底面と上面が扇形または略扇形の立体形状)でもよい(後端半径エリアA40a2(図8B参照)も同様)。上から見たときに最大作業半径エリアA40a1が扇形または略扇形である場合、上部旋回体41bの旋回に伴って、最大作業半径エリアA40a1も旋回(旋回中心軸41b1を中心に回転)する(後端半径エリアA40a2も同様)。なお、最大作業半径エリアA40a1が旋回したときに、最大作業半径エリアA40a1が通過した領域(軌跡)を、新たな最大作業半径エリアA40a1としてもよい(後端半径エリアA40a2も同様)。
【0059】
後端半径エリアA40a2は、図3Bに示すように、上部旋回体41bの後端旋回半径に基づいて設定される。「後端旋回半径」は、旋回中心軸41b1から、上部旋回体41bの後側端部までの、水平距離である。後端半径エリアA40a2は、上から見たときに円形でもよく、上から見たときに扇形または略扇形でもよい(上部旋回体41bの旋回角度が限定されてもよい)。後端半径エリアA40a2の半径は、後端旋回半径と一致または略一致する。なお、後端半径エリアA40a2の半径は、後端旋回半径と一致しなくてもよく、例えば、後端旋回半径よりも大きくてもよい(余裕しろがあってもよい)。
【0060】
この作業機械可動エリアA40aは、最大作業半径エリアA40a1のみに基づいて設定されてもよい。作業機械可動エリアA40aは、最大作業半径エリアA40a1と後端半径エリアA40a2とに基づいて設定されてもよい。例えば、作業機械可動エリアA40aは、最大作業半径エリアA40a1と後端半径エリアA40a2とを重ね合わせた領域でもよい。作業機械エリアA40の用途(例えば単なる表示、干渉判定など)に応じて、用いられる作業機械エリアA40の形状が異なってもよい(作業機械エリアA40以外のエリアAについても同様)。
【0061】
作業可能エリアA40bは、図7Aに示すように、例えば、作業機械40の作業性(生産性)の確認に用いられる(詳細は後述)。図7Bに示すように、限定作業可能エリアA40b1は、作業可能エリアA40bが限定された領域である(詳細は後述)。
【0062】
作業エリアA45は、図1に示すように、作業機械40が作業を行う領域(作業領域、作業範囲)である。例えば、作業エリアA45は、作業機械40により作業されることが予定されている領域である。作業エリアA45は、例えば、情報入力装置11bから入力された情報(例えば施工計画)に基づいて設定されてもよい。作業エリアA45は、例えば、ユーザの手動操作により設定(指定)されてもよい。
【0063】
第2作業機械エリアA50は、図9に示すように、第2作業機械50の位置に関連付けられる。第2作業機械エリアA50は、作業機械40の位置に関連付けられる作業機械エリアA40と同様に、第2作業機械50の位置に関連付けられる。
【0064】
荷台エリアA61aは、図4Dに示すように、荷台61aの内側に設定される。作業機械40が荷台61aで作業することが選択(例えばユーザにより選択)されている場合などには、荷台エリアA61aは、作業エリアA45であってもよい。
【0065】
進入禁止エリアA71は、図8Cに示すように、作業機械40が進入できない領域(立ち入り禁止エリア)である。進入禁止エリアA71は、オブジェクト30の位置に基づいて設定されてもよい。例えば、進入禁止エリアA71は、障害物63の位置に基づいて設定されてもよく、道65e(安全通路、道路など)の位置に基づいて設定されてもよく、図示しない資材置場(ストックヤード)などの位置に基づいて設定されてもよい。例えば、進入禁止エリアA71は、地形31に基づいて設定されてもよく、具体的には例えば、法肩などの地盤不安定部に設定されてもよい。例えば、進入禁止エリアA71は、ユーザの手動操作により(任意に)設定されてもよい。
【0066】
判定対象エリアA73は、後述する干渉判定の対象となる領域である(判定対象エリア設置ステップ)。
【0067】
(動作モード切替機能)
複数の動作モードが、図1に示す計算機13に設定されてもよい(作業シミュレータ1は、複数の動作モードを有してもよい)。計算機13は、複数の動作モードを切り替えてもよい(動作モード切替機能、動作モード切替ステップ)。動作モードには、例えば、施工計画モード(図2に示すステップS20)と、オペレータ操作モード(図2に示すステップS30)と、がある。なお、これら以外の動作モードが、計算機13に設定されてもよい。
【0068】
施工計画モード(図2に示すステップS20)(施工計画ステップ)は、施工計画を行うための動作モードである。例えば、施工計画モードでは、出力装置15は、作業現場Sを俯瞰した視界を表示する。例えば、施工計画モードでは、ユーザが手動操作により、または、計算機13が自動的に、オブジェクト30の配置および削除、ならびに、エリアAの配置および削除などを行う。
【0069】
オペレータ操作モード(図2に示すステップS30)(オペレータ操作ステップ)は、現実の機械(作業機械40に対応する機械)の操縦を模擬する動作モードである。例えば、オペレータ操作モードでは、ユーザは、手動操作により作業機械40を作動させる。すると、作業機械40は、ユーザの手動操作に応じて作動(移動、姿勢変化など)する。具体的には、図4Bに示す下部走行体41a、上部旋回体41b、ブーム43a1、アーム43a2、および先端アタッチメント43cが、ユーザの手動操作に応じて移動する。
【0070】
このオペレータ操作モードでは、作業現場Sの状態が、作業機械40の作動(作業)に応じて変化してもよい。例えば、地形31が変形してもよく、作業対象物(土砂、吊荷62(図4D参照)など)のオブジェクト30が移動してもよい。
【0071】
このオペレータ操作モードは、図1に示す作業機械40の作動の記憶(ティーチング)に用いられてもよい。ティーチングは、次のように行われる。ユーザは、手動操作により作業機械40を作動させ、計算機13は、この作業機械40の作動を記憶する。その後、記憶された(ティーチングされた)作動で、作業機械40が作動してもよい。
【0072】
(その他の機能)
計算機13は、上記以外にも様々な機能を有してもよい。機能の具体例は、次の通りである。
【0073】
計算機13は、作業現場Sの時間変化を模擬する機能(時間変化機能、時間変化ステップ)を有してもよい。例えば、オブジェクト30およびエリアAは、所定のステップ、または、作業シミュレーションにおける時間変化に応じて、変化してもよい。
【0074】
計算機13は、配置対象T(具体的には、オブジェクト30およびエリアAの少なくともいずれか)の配置を補助する機能(配置補助機能、配置補助ステップ)(現場構築支援ツール)を有する。配置補助機能の詳細は後述する。
【0075】
計算機13は、エリアAどうしの干渉を判定する機能(干渉判定機能、干渉判定ステップ)を有してもよい。干渉判定機能の詳細は後述する。干渉判定機能は、配置補助機能に含まれてもよい。
【0076】
(計算機の処理の具体例)
計算機13は、様々な処理を、様々な順序で、行うことが可能である。計算機13の処理の流れの一例を、図2を参照して説明する。以下では、各ステップ(ステップS10~ステップS50)については、図2を参照して説明する。
【0077】
ステップS10では、図1に示す計算機13は、地形31を設定(配置)する。例えば、地形31の情報は、情報入力装置11bから計算機13に読み込まれる。
【0078】
ステップS20では、計算機13は、動作モードを施工計画モードとする。オブジェクト処理部13b1は、オブジェクト30の配置および削除を行う。エリア処理部13b2は、エリアAの配置(設定)および削除を行う。
【0079】
ステップS21では、計算機13は、オペレータ操作モードを開始するか否かを判定する。詳しくは、計算機13は、オペレータ操作モードを開始する条件が満たされたか否かを判定する。例えば、計算機13は、オペレータ操作モードを開始することが、ユーザの手動操作(例えばGUIの操作)により選択されたか否かを判定する。オペレータ操作モードを開始する条件が満たされた場合(ステップS21でYESの場合)、計算機13は、処理のフローをステップS30に進ませ、動作モードをオペレータ操作モードとする。オペレータ操作モードを開始する条件が満たされない場合(ステップS21でNOの場合)、計算機13は、動作モードをオペレータ操作モードにせずに、処理のフローをステップS40に進ませる。
【0080】
ステップS30では、計算機13は、オペレータ操作モードで動作する。オペレータ操作モードでは、ユーザは、手動操作により作業機械40を作動させる。これにより、ユーザは、作業機械40の作業性を確認することができる。
【0081】
ステップS31では、計算機13は、オペレータ操作モードを終了するか否かを判定する。詳しくは、計算機13は、オペレータ操作モードを終了する条件が満たされたか否かを判定する。例えば、計算機13は、オペレータ操作モードを終了することが、ユーザの手動操作(例えばGUIの操作)により選択されたか否かを判定する。オペレータ操作モードを終了する条件が満たされない場合(ステップS31でNOの場合)、計算機13は、オペレータ操作モードを継続する。この場合、フローはステップS30に戻る。また、オペレータ操作モードを終了する条件が満たされた場合(ステップS31でYESの場合)、計算機13は、オペレータ操作モードを終了し、動作モードを施工計画モードにする。この場合、フローはステップS20に戻る。計算機13は、オペレータ操作モードを終了する際、オペレータ操作モードで変化した作業現場Sの状況(例えば変化後の地面31aの形状など)を保存してもよい。計算機13は、動作モードをオペレータ操作モードから施工計画モードにしたときに、施工計画モードにおける作業現場Sを、保存した作業現場Sとしてもよい(オペレータ操作モードでの変化を引き継いでもよい)。計算機13は、動作モードをオペレータ操作モードから施工計画モードにしたときに、施工計画モードにおける作業現場Sを、オペレータ操作モードで変化する前の作業現場Sとしてもよい(オペレータ操作モードでの変化を引き継がなくてもよい)。計算機13は、オペレータ操作モードで変化した作業現場Sの状況を、施工計画モードに引き継ぐか否かをユーザに選択させてもよい。
【0082】
ステップS40では、計算機13は、各種演算を行う。例えば、計算機13は、作業現場Sにおける各種事象の演算などを行う。計算機13は、作業現場Sでの安全性に関する演算(例えば後述する干渉判定など)を行ってもよい。計算機13は、作業機械40による作業の作業性(生産性)を演算してもよい。ユーザは、作業現場Sでの安全性、および、作業機械40の作業性などを確認する。
【0083】
ステップS50では、計算機13は、作業シミュレーションを終了するか否かを判定する。詳しくは、計算機13は、作業シミュレーションを終了する条件が満たされたか否かを判定する。例えば、計算機13は、作業シミュレーションを終了することが、ユーザの手動操作(例えばGUIの操作)により選択されたか否かを判定する。作業シミュレーションを終了する条件が満たされた場合(ステップS50でYESの場合)、計算機13は、作業シミュレーションを終了する。作業シミュレーションを終了する条件が満たされない場合(ステップS50でNOの場合)、計算機13は、作業シミュレーションを継続する。この場合、フローはステップS20に戻る。
【0084】
(手動操作による位置の設定の具体例)
仮想空間内の位置(例えばオブジェクト30の位置、エリアAの位置など)は、ユーザが手動操作により設定(指定)可能である。手動操作による位置の設定方法の具体例は、次の通りである。仮想空間内の位置は、数値入力により設定されてもよく、例えば座標の入力により設定されてもよく、方向を示す数値(所定の座標軸に対する回転角度など)の入力により設定されてもよい。仮想空間内の位置は、マウス操作またはタッチ操作などで設定されてもよい。具体的には例えば、ユーザが、マウスポインタを移動させると、マウスポインタの移動に伴って地面31a上の位置が選択される。ユーザが、マウスをクリックすることで、地面31a上の位置が設定される。地面31a上の位置が設定された状態で、ユーザが、マウスポインタを上または下に移動させ(例えばドラッグ)、所望の高さでクリックすることで、地面31aよりも上または下の位置が設定される。ユーザが、GUIの操作などにより、方向を設定するモードにした状態で、マウスポインタを移動(例えばドラッグ)させ、所望の方向でクリックすることで、方向が設定される。なお、上記の手動操作による位置の設定方法は一例に過ぎず、様々な方法により位置が設定されてもよい。
【0085】
(配置補助機能の具体例)
計算機13は、配置対象Tの配置を補助する機能を有する。配置対象Tは、オブジェクト30およびエリアAの少なくともいずれかである。例えば、計算機13は、配置対象Tの位置を算出してもよい(下記の[例A]を参照)。計算機13は、算出した配置対象Tの位置に配置対象Tを自動的に配置してもよく、配置対象Tの位置の候補を出力装置15に出力させてもよい。計算機13は、配置対象Tの配置に役立つ情報を算出してもよい(下記の[例B]、[例C]、[例D]、および[例E]を参照)。以下では、配置補助機能の具体例を説明する。なお、上記のように、入力装置11、計算機13、およびこれらの構成要素(記憶部13aなど)については、図1を参照して説明する。また、オブジェクト30、エリアA、および配置対象Tについても、図1を参照して説明する。
【0086】
([例A]配置対象Tの位置の算出)
上記のように、作業シミュレータ1では、配置対象T(オブジェクト30、エリアA)の位置は、ユーザの手動操作により設定されてもよい。しかし、配置対象Tの位置の設定のすべてを、ユーザが手動操作により設定すると、設定の作業に手間および時間がかかる。
【0087】
そこで、計算機13は、配置対象Tの位置を算出(自動的に算出)することが好ましい。具体的には、計算機13は、図3Aに示す設定済み位置P11に基づいて、未設定位置P12を算出する。設定済み位置P11は、位置が設定済みの配置対象Tの位置である。未設定位置P12は、位置が設定されていない配置対象Tの位置である。
【0088】
例えば、計算機13は、算出した未設定位置P12を、配置対象Tの位置の候補として出力装置15に出力(例えば表示)させてもよい。また、例えば、計算機13は、算出した位置に、配置対象Tを自動的に配置してもよい。計算機13が、配置対象Tの位置を算出することで、ユーザが手動操作で配置対象Tを配置する作業の手間および時間を抑制することができる。
【0089】
様々な種類の配置対象Tの位置が、設定済み位置P11および未設定位置P12になり得る。設定済み位置P11および未設定位置P12の具体例は、次の通りである。
【0090】
設定済み位置P11は、作業機械40の少なくとも一部でもよい。例えば、設定済み位置P11は、作業機械40の位置に関連付けられた作業機械エリアA40でもよく、未設定位置P12は、作業機械40とは異なる配置対象Tでもよい(下記の[例A1]参照)。図4Bに示すように、設定済み位置P11は、作業機械40の少なくとも一部のオブジェクト30の位置でもよく、未設定位置P12は、作業機械40のうち設定済み位置P11とは異なる位置でもよい(下記の[例A2]参照)。なお、設定済み位置P11および未設定位置P12は、作業機械40とは異なる配置対象Tの位置でもよい。
【0091】
([例A1]作業機械40とは異なる配置対象Tの位置を算出する例)
例えば、図3Aに示すように、設定済み位置P11は、作業機械エリアA40の位置でもよい。具体的には、設定済み位置P11は、作業機械可動エリアA40aの位置でもよい。未設定位置P12は、作業機械40とは異なる配置対象Tの位置でもよい。計算機13は、作業機械エリアA40(例えば作業機械可動エリアA40a)の位置に基づいて、作業機械40とは異なる配置対象Tの位置を算出してもよい。
【0092】
ここで、作業機械40の種類や大きさなどに応じて、作業機械エリアA40の形状や大きさが異なってもよい。この例では、計算機13は、作業機械エリアA40に基づいて、作業機械40とは異なる配置対象Tの位置を算出する。よって、作業機械40の種類や大きさなどに応じた適切な位置を、作業機械40とは異なる配置対象Tの位置として算出することができる。
【0093】
未設定位置P12である「作業機械40とは異なる配置対象T」は、オブジェクト30でもよく、エリアAでもよい。「作業機械40とは異なる配置対象T」は、図3Aに示す例では、設備65であり、仕切器具65a(例えばコーン)である。「作業機械40とは異なる配置対象T」は、第2作業機械50(図9参照)でもよく、輸送車61(図4D参照)でもよく、障害物63(図1参照)でもよい。「作業機械40とは異なる配置対象T」は、エリアAでもよく、例えば、第2作業機械エリアA50(図9参照)でもよく、作業エリアA45(図1参照)でもよく、進入禁止エリアA71(図1参照)でもよい。
【0094】
計算機13に算出される未設定位置P12(図3Aに示す例では仕切器具65aの位置)の具体例は、次の通りである。未設定位置P12は、作業機械可動エリアA40aに基づいて算出される。例えば、算出される未設定位置P12は、作業機械可動エリアA40aよりも外側(作業機械40から遠い側)の位置である。算出される未設定位置P12は、作業機械可動エリアA40aから、所定距離(余裕しろ分(例えば1mなど))だけ外側に離れた位置でもよい。算出される未設定位置P12は、作業機械可動エリアA40aの外周に沿う位置でもよい。算出される未設定位置P12は、作業機械可動エリアA40aの円弧状部分の接線に沿う位置でもよい(図3Aにおいて二点鎖線で示す接線を参照)。この接線は、1本でもよく、複数本でもよい。
【0095】
未設定位置P12の算出の対象となる配置対象Tの種類(例えば、仕切器具65aなど)に応じて、未設定位置P12の算出に用いられる作業機械エリアA40が変えられてもよい。例えば、図3Bに示すように、未設定位置P12の算出の対象となる配置対象Tの種類に応じて、最大作業半径エリアA40a1と後端半径エリアA40a2とが様々に組み合わされてもよい。このとき、最大作業半径エリアA40a1は、旋回角度が限定されてもよく、旋回角度が限定されなくてもよい。図3Bに示す例では、未設定位置P12の算出に用いられる作業機械エリアA40は、斜線を付した作業機械可動エリアA40aである。
【0096】
算出される未設定位置P12の位置が複数(図では仕切器具65aが複数)である場合、複数の未設定位置P12は、例えば次のように算出される。なお、図3Aおよび図3Bでは、複数の未設定位置P12(複数の仕切器具65a)のうち1つの未設定位置P12にのみ符号を付した。図3Bに示すように、算出される複数の未設定位置P12は、互いに間隔をあけてもよい。この間隔は、様々に設定されてもよい。具体的には、この間隔は、ユーザが手動操作で設定した設定値でもよく、計算機13に予め設定された設定値でもよい。計算機13は、この間隔が等間隔または略等間隔になるように、複数の未設定位置P12を算出してもよい。
【0097】
([例A2]作業機械40の姿勢を算出する例)
例えば、図4Bに示すように、設定済み位置P11は、作業機械40の少なくとも一部の位置(例えばオブジェクト30の位置)でもよい。未設定位置P12は、作業機械40のうち設定済み位置P11とは異なる位置でもよい。計算機13は、作業機械40の少なくとも一部の位置に基づいて、作業機械40のうち設定済み位置P11とは異なる位置を算出してもよい。
【0098】
ここで、作業機械40の位置(作業機械40の姿勢を含む)は、下部走行体41aの位置(例えば、作業機械設置位置P40c)、下部走行体41aに対する上部旋回体41bの旋回角度、および、アタッチメント43の姿勢により決まる。アタッチメント43の姿勢は、上部旋回体41bに対するブーム43a1の角度、ブーム43a1に対するアーム43a2の角度、および、アーム43a2に対する先端アタッチメント43cの角度により決まる。作業機械40の各部の位置の全てを、ユーザが手動操作のみで設定すると、設定の作業に手間および時間がかかる。
【0099】
そこで、計算機13は、作業機械40の少なくとも一部の位置(設定済み位置P11)が設定された場合に、作業機械40のうち設定済み位置P11とは異なる位置(未設定位置P12)を算出することが好ましい。この場合、作業機械40の各部の位置を設定する作業の手間および時間を抑制することができる。
【0100】
([例A2-1]作業機械設置位置P40cに基づく作業機械40の姿勢の算出)
例えば、図3Bに示すように、設定済み位置P11は、作業機械設置位置P40cでもよい。未設定位置P12は、作業機械40の各部の位置(作業機械40の姿勢)でもよい。この例では、計算機13は、作業機械設置位置P40cと、プリセット姿勢(後述)と、に基づいて、作業機械40の姿勢を算出する。
【0101】
作業機械設置位置P40c(設定済み位置P11)は、下部走行体41aが設置される位置である。例えば、作業機械設置位置P40cは、作業機械下面中心点41ac(図10A参照)の位置である。
【0102】
算出される作業機械40の姿勢(算出される未設定位置P12)は、アタッチメント43の姿勢でもよく、具体的には、ブーム43a1、アーム43a2、および、先端アタッチメント43cの位置(角度)でもよい。算出される作業機械40の姿勢は、下部走行体41aに対する上部旋回体41bの旋回角度でもよい。
【0103】
上記「プリセット姿勢」は、計算機13に予め設定された、作業機械40の姿勢である。作業機械40の様々な姿勢が、プリセット姿勢として設定されてもよい。また、プリセット姿勢に関するパラメータが、ユーザの手動操作により設定されてもよい。
【0104】
プリセット姿勢の具体例は、次の通りである。プリセット姿勢は、最大リーチ姿勢でもよい。最大リーチ姿勢は、旋回中心軸41b1を中心とするアタッチメント43の半径(「アタッチメント旋回半径」)が最大になるときの作業機械40の姿勢である。プリセット姿勢は、最小旋回半径姿勢(図示なし)でもよい。最小旋回半径姿勢は、アタッチメント旋回半径が最小になるときの作業機械40の姿勢である。プリセット姿勢は、走行姿勢(図示なし)でもよい。走行姿勢は、作業機械40が走行するときの作業機械40の姿勢である。具体的には、走行姿勢は、図4Bに示すアーム43a2および先端アタッチメント43cをブーム43a1に接近させた姿勢(アタッチメント43を抱え込むような姿勢)である。
【0105】
プリセット姿勢は、図4Dに示すように、吊上姿勢(クレーン作業姿勢)でもよい。吊上姿勢は、作業機械40が吊荷62を吊り上げる作業をするときの作業機械40の姿勢である。具体的には、吊上姿勢は、先端アタッチメント43cの先端部をアーム43a2に接近させた姿勢(先端アタッチメント43cを抱え込むような姿勢)で、フック43cfを用いた作業が可能な姿勢である。吊上姿勢のパラメータが、ユーザにより設定されてもよい。例えば、吊上姿勢における吊り高さ(フック43cfの高さ)が設定されてもよい。この吊り高さは、作業機械40の下面からの高さでもよく、吊荷62からの高さでもよく、吊荷62が置かれる位置(例えば荷台61a)からの高さでもよい。また、例えば、吊上姿勢における作業半径が設定されてもよい。吊上姿勢のパラメータは、吊荷62に基づいて計算機13に設定されてもよい。例えば、吊上姿勢のパラメータは、吊荷62に関連付けられて(紐づけられて)計算機13に予め設定されてもよい。この場合、計算機13は、吊り上げの対象となる吊荷62が選択されたときに、この吊荷62に関連付けられた吊上姿勢のパラメータを読み込み(引用)および設定してもよい。例えば、吊上姿勢のパラメータは、吊荷62の状態(例えば、質量、体積、および形状の少なくともいずれか)に基づいて計算機13に算出されてもよい。
【0106】
プリセット姿勢は、積込姿勢でもよい。積込姿勢は、作業機械40が輸送車61などに作業対象物(土砂など)を積み込むときの作業機械40の姿勢である。積込姿勢のパラメータが、ユーザにより設定されてもよい。例えば、積込姿勢における積込高さ(先端アタッチメント43cの高さ)が設定されてもよい。この積込高さは、作業機械40の下面からの高さでもよく、積み込み位置(例えば荷台61aなど)からの高さでもよい。また、例えば、積込姿勢における作業半径が設定されてもよい。積込姿勢のパラメータは、作業対象物が積み込まれるもの(例えば輸送車61)に基づいて、計算機13に設定されてもよい。以下では、「作業対象物が積み込まれるもの」が輸送車61である場合について説明する。例えば、積込姿勢のパラメータは、輸送車61に関連付けられて(紐づけられて)計算機13に予め設定されてもよい。この場合、計算機13は、作業対象物が積み込まれる輸送車61が選択されたときに、この輸送車61に関連付けられた積込姿勢のパラメータを読み込み(引用)および設定してもよい。例えば、積込姿勢のパラメータは、輸送車61の状態(例えば、荷台61aの広さ、高さ、および形状の少なくともいずれか)に基づいて計算機13に算出されてもよい。
【0107】
プリセット姿勢は、図5Cに示す掘削姿勢でもよい。掘削姿勢は、作業機械40が作業対象物を掘削するときの作業機械40の姿勢である。掘削姿勢のパラメータが、ユーザにより設定されてもよい。例えば、掘削姿勢における掘削高さが設定されてもよい。この掘削高さは、作業機械40の下面から上側への高さでもよく、作業機械40の下面から下側への高さ(深さ)でもよい。また、掘削姿勢における作業半径が設定されてもよい。掘削姿勢における先端アタッチメント43c(具体的にはバケット)の角度は、ユーザに設定されてもよく、掘削する地面31aの角度などに応じて計算機13が自動的に設定してもよい。
【0108】
プリセット姿勢は、図4Bに示すように、法切り姿勢でもよい。法切り姿勢は、作業機械40が傾斜した地面31a(法面)に沿って先端アタッチメント43c(具体的にはバケット)を移動させるときの作業機械40の姿勢である。法切り姿勢のパラメータが、ユーザにより設定されてもよい。例えば、法切り姿勢における掘削深さ(例えば法面からの深さ)が設定されてもよい。法切り姿勢における先端アタッチメント43c(具体的にはバケット)の角度は、ユーザに設定されてもよく、法面(地面31a)の角度などに応じて計算機13が自動的に設定してもよい。
【0109】
この[例A2-1]での、ユーザによる操作の具体例は、次の通りである。ユーザは、図3Aに示す作業機械設置位置P40cを設定する。例えば、ユーザは、作業機械設置位置P40cとして設定したい位置に、マウスカーソルを移動させ、クリックする。ユーザは、複数のプリセット姿勢の選択肢から、1つのプリセット姿勢を選択する。ユーザは、プリセット姿勢に関するパラメータを設定してもよい。これにより、作業機械40の姿勢が、選択されたプリセット姿勢に設定される。作業機械40の姿勢は、プリセット姿勢から、ユーザの所望の姿勢に調整可能でもよい。例えば、アタッチメント43の一部分が固定された状態で、アタッチメント43の他の部分の姿勢(角度)が、ユーザの操作により調整可能でもよい。
【0110】
([例A2-2]作業位置P43cおよび作業機械設置位置P40cに基づく作業機械40の姿勢の算出)
例えば、図4Bに示すように、設定済み位置P11は、作業位置P43cおよび作業機械設置位置P40cでもよい。未設定位置P12は、基端側アタッチメント43aの位置でもよい。計算機13は、作業位置P43cおよび作業機械設置位置P40cに基づいて、基端側アタッチメント43aの位置を算出してもよい。
【0111】
作業位置P43cは、作業機械40が作業するときの、先端アタッチメント43cの少なくとも一部の位置である。作業位置P43cは、先端アタッチメント43cの種類、および、先端アタッチメント43cが(作業機械40が)行う作業の種類に応じて異なる。先端アタッチメント43cの種類、および、先端アタッチメント43cが行う作業の種類の少なくともいずれかは、ユーザにより選択されてもよく、計算機13が自動的に選択してもよい。
【0112】
例えば、先端アタッチメント43cがバケットであり、作業機械40が掘削または転圧などを行う場合には、作業位置P43cは、先端アタッチメント43c(バケット)の先端(爪先)などである。また、例えば、図4Cに示すように、先端アタッチメント43cがバケットであり、作業機械40が排土を行う場合は、作業位置P43cは、先端アタッチメント43c(バケット)の内部の領域の中央部などである。なお、図4Cに示す作業機械40の姿勢は、排土を行っている姿勢でも、掘削を行う前の姿勢でもよい。また、例えば、先端アタッチメント43cが作業対象物を把持する装置(図示なし)である場合は、作業位置P43cは、作業対象物を把持する位置などである。また、例えば、図4Dに示すように、フック43cfで吊上作業が行われる場合には、作業位置P43cは、フック43cfの位置であり、例えば、フック43cfのうちロープが掛けられる位置(吊位置)などである。
【0113】
この作業位置P43cは、図4Bに示すように、点(作業点)でもよく、1点でもよく、複数点でもよい。図5Bに示すように、作業位置P43cは、線(作業線)でもよい。作業線は、直線を含んでもよく、曲線を含んでもよい。作業位置P43cは、面(作業面)でもよい(図示なし)。作業面は、平面を含んでもよく、曲面を含んでもよい。作業位置P43cは、立体形状(作業立体)でもよい(図示なし)。
【0114】
この作業位置P43cは、例えば次のように設定される。作業位置P43cは、ユーザの手動操作により設定されてもよい。作業位置P43cは、後述する設定補助機能が利用されることで設定されてもよい。作業位置P43cは、計算機13が自動的に設定してもよい。
【0115】
この作業位置P43cが、ユーザの手動操作により設定される場合の具体例は、次の通りである。
【0116】
図4Aに示すように、この作業位置P43cが点(作業点)である場合、ユーザが、作業点として設定したい位置を指定することで、作業位置P43cが設定されてもよい。例えば、ユーザは、作業位置P43cとして設定したい位置にマウスカーソルを移動させ、クリックすることで、作業位置P43cを設定してもよい。
【0117】
図5Aに示すように、この作業位置P43cが線(作業線)である場合の、作業位置P43cの設定方法の具体例は、次の通りである。作業線である作業位置P43cは、作業線の両端(作業開始点、作業終了点)がユーザに指定されることで、設定されてもよい。作業線である作業位置P43cは、作業線の端(例えば、作業開始点)と、作業線の角度と、作業線の長さと、がユーザに指定されることで、設定されてもよい。作業線である作業位置P43cは、ユーザに指定された経由点(中間点)を通るように、設定されてもよい。作業線である作業位置P43cは、複数点に基づいて算出される曲線(例えば、スプライン曲線など)を含んでもよい。作業線である作業位置P43cは、例えば、ユーザがマウスをドラッグすることで描かれた線により設定されてもよい。
【0118】
この作業位置P43cが面(作業面)である場合(図示なし)、例えば、作業面の外周の位置(外周上の点または線など)がユーザに指定されることで、作業位置P43cが設定されてもよい。この外周上の点または線などの設定方法は、例えば、上記の作業点または作業線の設定方法と同様でもよい。作業位置P43cが立体(作業立体)である場合(図示なし)、例えば、作業立体の下面と上面とがユーザに指定されることで、作業位置P43cが設定されてもよい。この作業立体の下面と上面との設定方法は、例えば、上記の作業面の設定方法と同様でもよい。
【0119】
この作業位置P43cが設定される位置は、何らかの条件に基づいて制限されてもよい。例えば、作業位置P43cは、作業機械40の仕様などに応じて制限されてもよい。具体的には、図4Bに示す旋回中心軸41b1から作業位置P43cまでの距離の上限、作業線(図5B参照)の長さの上限、または、作業面や作業立体の大きさの上限などが設定されてもよい。
【0120】
(作業位置P43cの設定補助機能)
計算機13は、図4Aに示す作業位置P43cとして適した位置を算出することが好ましい。計算機13は、算出した位置を、作業位置P43cの候補として出力装置15に出力(例えば表示)させてもよい。計算機13は、算出した位置を、作業位置P43cとして自動的に設定してもよい。計算機13が作業位置P43cを算出することで、ユーザが手動操作のみにより作業位置P43cを設定する場合に比べ、作業位置P43cを設定する作業の手間および時間を抑制することができる。
【0121】
計算機13は、例えば次のように作業位置P43cを算出する。計算機13は、作業機械40の周囲の状況(例えば、オブジェクト30またはエリアAの状況)に基づいて、作業位置P43cを算出してもよい。計算機13は、作業機械40が行う作業の種類(例えば、掘削、積込、吊上など)に基づいて、作業位置P43cを算出してもよい。計算機13は、作業シミュレーション内の時間変化を考慮して、作業位置P43cを算出してもよい。作業位置P43cの算出の具体例は、次の通りである。
【0122】
計算機13は、オブジェクト30に基づいて作業位置P43cを算出してもよい。
【0123】
計算機13は、地形31に基づいて作業位置P43cを算出してもよい。例えば、作業機械40が地形31(例えば地面31a)に対して作業(掘削、法切りなど)を行う場合などに、計算機13は、地形31に基づいて作業位置P43cを算出してもよい。計算機13は、地面31a(図4Aに示す例では法面)上の位置を、作業位置P43cとして算出してもよい。図5Cに示すように、計算機13は、地面31aから所定距離(オフセット量)離れた位置を、作業位置P43cとして算出してもよい。この場合、計算機13は、地面31aよりも低い位置(深い位置)を作業位置P43cとして算出してもよく、地面31aよりも高い位置(空中)を作業位置P43cとして算出してもよい。図4Aに示すように、地面31aが法面である場合は、計算機13は、地面31aに垂直な方向における地面31aからの所定距離(オフセット量)離れた位置を、作業位置P43cとして算出してもよい。上記オフセット量は、ユーザの手動操作により設定されてもよく、計算機13に予め設定されてもよい。
【0124】
計算機13が地形31に基づいて作業位置P43cを算出する場合、作業機械40が配置される地形31と、作業位置P43cの算出に用いられる地形31と、は異なってもよい。例えば、作業機械40が、現実の土地のモデルとしての地形31(地面31a)に配置される場合(図4B参照)に、計算機13は、設計データ(設計面)としての地形31に基づいて、作業位置P43cを算出してもよい。
【0125】
図5Dに示すように、計算機13は、障害物63(例えば壁63b)などに基づいて作業位置P43cを算出してもよい。例えば、計算機13は、障害物63から所定距離(オフセット距離L63)離れた位置を、作業位置P43cとして算出してもよい。
【0126】
図4Dに示すように、計算機13は、作業機械40が吊上作業を行う場合には、吊荷62に基づいて作業位置P43cを算出してもよい。例えば、計算機13は、吊荷62から所定距離(オフセット量)だけ上の、吊荷62の真上の位置を、作業位置P43cとして算出してもよい(図示なし)。
【0127】
計算機13は、エリアAに基づいて作業位置P43cを算出してもよい。
【0128】
図4Cに示すように、計算機13は、作業エリアA45(作業機械40が作業を行う領域)に基づいて作業位置P43cを算出してもよい。計算機13は、作業エリアA45内の所定位置を作業位置P43cとして算出してもよい。例えば、計算機13は、作業エリアA45の、重心位置、図心位置、または、端(角)の位置などを作業位置P43cとして算出してもよい。
【0129】
図5Dに示すように、計算機13は、進入禁止エリアA71などに基づいて作業位置P43cを算出してもよい。計算機13は、進入禁止エリアA71から所定距離(オフセット距離LA71)離れた位置を、作業位置P43cとして算出してもよい。
【0130】
計算機13は、オブジェクト30およびエリアAに基づいて作業位置P43cを算出してもよい。例えば、作業機械40が掘削作業をする場合、計算機13は、図5Cに示すように、地面31aから所定距離だけ深い位置、かつ、図4Cに示す作業エリアA45内の位置を、作業位置P43cとして算出してもよい。作業機械40が排土作業を行う場合(図4C図4D参照)、計算機13は、作業エリアA45内、かつ、排土位置(例えば地面31a、荷台61a(図4D参照)など)から所定距離だけ高い位置を、作業位置P43cとして算出してもよい(図示なし)。
【0131】
計算機13は、作業シミュレーション内の時間変化を考慮して、作業位置P43cを算出してもよい。例えば、作業機械40が行った前回の作業において、作業エリアA45内の一部のみで作業が完了しているとする。この場合、計算機13は、前回の作業において作業が完了した位置の次に作業する位置を、作業位置P43cとして算出してもよい。この場合、作業エリアA45内での作業の順番(どのような順で作業が行われるか)が、計算機13に予め設定されていてもよい。
【0132】
(先端アタッチメント43cの角度の指定)
図4Aに示すように、作業位置P43cが設定(決定)されると、先端アタッチメント43cの少なくとも一部の位置が設定(決定)される。このとき、先端アタッチメント43cの角度(姿勢、例えば対地角度)が未決定となっている場合がある。この場合、先端アタッチメント43cの角度は、例えば次のように設定される。
【0133】
先端アタッチメント43cの角度は、ユーザの手動操作により設定されてもよい。例えば、ユーザは、先端アタッチメント43cの角度を数値入力してもよく、マウス操作などで角度を設定してもよく、複数の角度の選択肢から1つの角度を選択してもよい。
【0134】
先端アタッチメント43cの角度は、作業機械40の作業の種類に基づいて設定されてもよく、計算機13に設定されたプリセット姿勢に基づいて設定されてもよい。例えば、図4Dに示すように、吊上作業、または、吊上姿勢のプリセット姿勢が選択された場合、先端アタッチメント43cの先端部(例えばバケットの爪先)がアーム43a2に接近するように、先端アタッチメント43cの角度が設定されてもよい。また、例えば、図5Cに示すように、掘削作業、または掘削姿勢のプリセット姿勢が選択された場合、地面31aに対して先端アタッチメント43c(バケット)が所定角度だけ傾くように、先端アタッチメント43cの角度が設定されてもよい。上記「所定角度」は、例えば、ユーザに設定されるパラメータなどである(プリセット姿勢の説明を参照)。
【0135】
(作業位置P43cおよび作業機械設置位置P40cの設定の順序)
この[例A2-2]では、計算機13は、図4Bに示すように、作業位置P43cおよび作業機械設置位置P40cに基づいて、基端側アタッチメント43aの位置を算出する。作業位置P43cと、作業機械設置位置P40cと、のうちどちらが先に設定されてもよい。
【0136】
図4Aに示すように、作業位置P43cが設定された後に、図4Bに示すように、作業機械設置位置P40cが設定されてもよい。この場合の作業位置P43cおよび作業機械設置位置P40cの設定は、例えば次のように行われる。作業位置P43cが、ユーザの手動操作により設定されてもよい。また、設定補助機能が利用されて、作業位置P43cが設定されてもよい。作業位置P43cが設定された後、例えばユーザの操作によるマウスポインタの移動に連動して、作業機械40が(例えば、作業機械下面中心点41acが)移動する。このとき、計算機13は、逆運動学から求めた作業機械40の姿勢を、出力装置15に表示させてもよい。そして、ユーザが、マウスポインタの移動およびクリックを行うことで、作業機械設置位置P40cが設定(決定)される。
【0137】
図6Aに示すように、作業機械設置位置P40cが設定された後に、図6Bに示すように、作業位置P43cが設定されてもよい。この場合の作業機械設置位置P40cおよび作業位置P43cの設定は、例えば次のように行われる。例えばユーザが、マウスポインタの移動およびクリックを行うことで、作業機械設置位置P40cが設定される。作業機械設置位置P40cが設定された後、例えばユーザの操作によるマウスポインタの移動に連動して、先端アタッチメント43cが移動してもよい。このとき、計算機13は、逆運動学から求めた、作業機械40の姿勢を、出力装置15に表示させてもよい。そして、ユーザが、マウスポインタの移動およびクリックを行うことで、作業位置P43cが設定されてもよい。また、作業位置P43cの設定補助機能により、作業位置P43cが設定されてもよい。
【0138】
(基端側アタッチメント43aの位置の算出)
上記のように、作業位置P43cと作業機械設置位置P40cとが設定される。そして、計算機13は、作業位置P43cと作業機械設置位置P40cとに基づいて、基端側アタッチメント43aの位置を算出する。このとき、計算機13は、逆運動学により、基端側アタッチメント43aの位置を算出する。具体的には、計算機13は、ブーム43a1の位置(上部旋回体41bに対するブーム43a1の角度)、および、アーム43a2の位置(ブーム43a1に対するアーム43a2の角度)を算出する。
【0139】
(作業機械40の姿勢が成立するか否かの判定)
上記のように、計算機13は、逆運動学により基端側アタッチメント43aの位置を算出する。しかし、作業機械設置位置P40cと作業位置P43cとの相対位置によっては、作業機械40の姿勢が不成立となる場合があり得る。例えば、作業機械設置位置P40cと作業位置P43cとが、遠すぎる、または近すぎる場合などには、作業機械40の姿勢が不成立となる。そこで、計算機13は、作業機械40の姿勢が成立するか否かを判定することが好ましい。
【0140】
計算機13は、作業機械40の姿勢が不成立の場合、ユーザに対する通知を出力装置15に行わせることが好ましい。この通知の具体例は、例えば次の通りである。出力装置15は、作業機械40の姿勢が不成立であることを示すメッセージ(エラーメッセージ)(例えば、文字、音声など)を出力してもよい。出力装置15は、作業機械40の姿勢が成立するときと不成立のときとで、表示の態様(例えば作業機械40の表示の色、透過度など)を変えてもよい。出力装置15は、作業機械40の姿勢が成立するときは作業機械40を表示し、作業機械40の姿勢が不成立のときは作業機械40を表示しない(または半透明に表示する)ようにしてもよい。出力装置15は、作業位置P43cまたは作業機械設置位置P40cの修正を促す通知を行ってもよい。
【0141】
この例では、作業機械40の姿勢が不成立の場合にユーザに対する通知が行われる。よって、ユーザは、作業したい場所(作業位置P43c)に対して、作業機械40を設置できるか(作業機械設置位置P40cとして設定できるか)を検討することができる。または、ユーザは、作業機械40を設置したい位置(作業機械設置位置P40c)に対して、作業ができるか(作業位置P43cを設定できるか)を検討することができる。
【0142】
(作業機械40の複数の姿勢の表示)
例えば上記の[例A2-1]および[例A2-2]のように作業機械40の姿勢が設定(決定)されると、出力装置15は、設定された姿勢の作業機械40を表示する。ここで、出力装置15は、作業機械40の1つのみの姿勢を表示してもよく、図5Bに示すように、作業機械40の複数の姿勢を表示してもよい。出力装置15が作業機械40の複数の姿勢を表示する場合、出力装置15は、作業機械40の複数の姿勢を同時に表示してもよく、作業機械40の姿勢の変化(動き)をアニメーションとして表示(アニメーション表示)してもよい。作業機械40の複数の姿勢が表示されることで、作業機械40の動きをユーザに容易に把握させることができる。
【0143】
出力装置15が、作業機械40の複数の姿勢を表示する場合の具体例は、次の通りである。
【0144】
作業位置P43cが複数の作業点である場合(図示なし)、出力装置15は、各作業点で作業をするときの作業機械40の姿勢を表示してもよい。
【0145】
作業位置P43cが作業線である場合、出力装置15は、先端アタッチメント43cが作業線上の複数の点(開始点、中間点、終了点など)のそれぞれにあるときの、作業機械40の姿勢を表示してもよい。作業位置P43cが作業線である場合、出力装置15は、先端アタッチメント43cが作業線に沿って移動したときの、アタッチメント43の少なくとも一部の軌跡を表示してもよい。このとき表示される軌跡は、線状(アタッチメント43のある点の軌跡)でもよく、立体形状(アタッチメント43のある面または立体の軌跡)(三次元の軌跡)でもよい。
【0146】
作業位置P43cが面(作業面)または立体(作業立体)の場合、出力装置15は、次のように表示をしてもよい。この場合、出力装置15は、作業面内や作業立体内の、ある位置に先端アタッチメント43cがあるときの姿勢と、他の位置に先端アタッチメント43cがあるときの姿勢と、を同時に表示してもよい。出力装置15は、作業面や作業立体内でアタッチメント43が移動するときの、アタッチメント43の少なくとも一部の軌跡を表示してもよい。
【0147】
出力装置15は、作業機械40が複数種類の作業をするときの、作業機械40の各姿勢を表示してもよい。例えば、作業機械40が掘削作業および排土作業をする場合、出力装置15は、掘削作業を行っているときの作業機械40の姿勢(図5C参照)と、排土作業を行っているときの作業機械40の姿勢(図4C参照)と、を同時に表示してもよい。
【0148】
出力装置15は、作業機械40の一部分について複数の姿勢を表示し、他の部分について1つのみの姿勢を表示してもよい(図示なし)。例えば、上部旋回体41bが旋回する場合、出力装置15は、上部旋回体41bおよびアタッチメント43の姿勢を、複数表示してもよい。この場合、上部旋回体41bの表示が重なって見にくい場合がある。そこで、出力装置15は、アタッチメント43の複数の姿勢を表示し、上部旋回体41bは1つの姿勢のみ表示してもよい。
【0149】
出力装置15は、作業機械40の姿勢の変化(動き)をアニメーションとして表示してもよい。例えば、出力装置15は、作業線の作業位置P43cに沿って先端アタッチメント43cが動くときの、作業機械40の姿勢の変化を、アニメーションとして表示してもよい。
【0150】
([例A3]作業機械40とは異なる配置対象Tの位置の算出)
なお、図3Aに示す設定済み位置P11は、作業機械40とは異なる配置対象Tでもよく、未設定位置P12は、作業機械40とは異なる配置対象Tでもよい。計算機13は、作業機械40とは異なる配置対象Tに基づいて、作業機械40とは異なる配置対象Tの位置を算出してもよい。具体的には例えば、図1に示すように、進入禁止エリアA71が、ユーザの手動操作により(任意の位置に)設定されたとする。計算機13は、進入禁止エリアA71の位置に基づいて、設備65の位置を算出してもよい。例えば、計算機13は、進入禁止エリアA71の内部と外部との境界(またはその近傍)の位置を、設備65の位置として算出してもよい。
【0151】
([例B]配置対象Tの配置を補助する表示など)
図7Aに示すように、出力装置15は、配置対象T(オブジェクト30およびエリアAの少なくともいずれか)の配置を補助する表示を行うことが好ましい。例えば、出力装置15は、作業機械40の配置を補助する表示を行ってもよい。具体的には、出力装置15は、作業機械エリアA40を表示してもよく(下記の[例B1]を参照)、作業機械40の能力を示す表示を行ってもよい(下記の[例B2]を参照)(図7D参照)。
【0152】
([例B1]作業機械エリアA40の表示)
出力装置15は、作業機械エリアA40を作業機械40と重畳させて表示してもよい。上記のように、作業機械エリアA40は、作業機械40の位置に関連付けられる。作業機械40が移動した場合、計算機13は、作業機械40の移動に伴って作業機械エリアA40を移動させる。このとき、出力装置15は、移動後の作業機械エリアA40を表示する。また、上記のように、作業機械40が移動し、作業機械エリアA40が移動したときに、作業機械エリアA40が通過した領域(軌跡)を、新たな作業機械エリアA40としてもよい。この場合、出力装置15は、上記「新たな作業機械エリアA40」を表示してもよい。
【0153】
([例B1-1]作業機械可動エリアA40aの表示)
図7Cに示すように、出力装置15は、作業機械可動エリアA40aを表示してもよい(図3A図3B参照)。上記のように、上から見たときに最大作業半径エリアA40a1が扇形または略扇形である場合に、上部旋回体41bが旋回することで、最大作業半径エリアA40a1も旋回する場合がある。このとき、出力装置15は、旋回後の最大作業半径エリアA40a1を表示する(後端半径エリアA40a2も同様)。また、上記のように、上部旋回体41bが旋回し、最大作業半径エリアA40a1が旋回したときに、最大作業半径エリアA40a1が通過した領域(軌跡)を、新たな最大作業半径エリアA40a1としてもよい(後端半径エリアA40a2も同様)。この場合、出力装置15は、上記「新たな最大作業半径エリアA40a1」を表示してもよい(後端半径エリアA40a2も同様)。
【0154】
([例B1-2]作業可能エリアA40bの表示)
図7Aに示すように、出力装置15は、作業可能エリアA40bを表示してもよい。作業可能エリアA40bは、アタッチメント43が作動したときに、先端アタッチメント43cを配置可能な領域である。作業可能エリアA40bと作業機械可動エリアA40a(図7C参照)との違いは、次の通りである。図7Cに示すように、作業機械可動エリアA40aは、先端アタッチメント43cの前後方向の可動領域が考慮された領域であり、先端アタッチメント43cの上下方向の可動領域は考慮されない領域である。そのため、作業機械可動エリアA40aの表示のみでは、作業機械40が上下方向のどこまで作業できるかは、ユーザは正確には把握しにくい。一方、図7Aに示すように、作業可能エリアA40bは、先端アタッチメント43cの前後方向および上下方向の可動領域を考慮した領域である。作業可能エリアA40bは、作業機械40が、前後方向および上下方向のどこまで(どれくらいの深さ、高さまで)作業できるかを示す領域である。作業可能エリアA40bは、アタッチメント43の寸法、形状、および、アタッチメント43を作動させるアクチュエータの作動範囲(具体的には、シリンダのストローク)などの、物理的な制約によって決まる領域である。
【0155】
出力装置15が、作業可能エリアA40bを表示することで、作業機械40が設置される位置(作業機械設置位置P40c)での作業機械40の作業可能な領域を、ユーザに把握させることができる。よって、ユーザは、例えば、作業機械40の作業性(生産性)の検討や確認を行うことができる。その結果、ユーザは、作業機械40の設置位置を検討しやすい。
【0156】
出力装置15は、作業可能エリアA40bを、例えば次のように表示する。
【0157】
出力装置15は、作業可能エリアA40bを二次元で表示してもよい。例えば、出力装置15は、機械本体41およびアタッチメント43を横方向から見た表示(二次元表示)と、二次元の作業可能エリアA40b(作動範囲図)と、を重畳して表示する。
【0158】
出力装置15は、作業可能エリアA40bを三次元で表示してもよい。例えば、出力装置15は、三次元の作業機械40に、二次元の(平面的な)作業可能エリアA40b(作動範囲図)を重畳して表示してもよい(図示なし)。この場合、作業可能エリアA40bは、アタッチメント43の横方向(幅方向)の中央の位置に表示されてもよい。作業可能エリアA40bは、下部走行体41aに対する上部旋回体41bの旋回に追従して、旋回中心軸41b1を中心に回転してもよい。
【0159】
(限定作業可能エリアA40b1の表示)
図7Bに示すように、出力装置15は、限定作業可能エリアA40b1を表示してもよい。限定作業可能エリアA40b1は、作業可能エリアA40bの範囲内、かつ、作業可能エリアA40bよりも狭い領域(作業可能エリアA40bが限定された領域)である。例えば、限定作業可能エリアA40b1は、作業可能エリア限定値(所定のパラメータ)に基づいて設定される。
【0160】
上記のように、作業可能エリアA40bは、アタッチメント43などの物理的制約によって決まる領域である。一方、限定作業可能エリアA40b1は、例えば作業機械40の運用上の制約などに基づいて設定される作業可能エリア限定値によって決まる。具体的には、作業可能エリア限定値は、作業機械40を基準とした限定値でもよく、作業現場Sを基準とした限定値でもよい。作業可能エリア限定値は、高さ方向の限定値でもよく、例えば、作業機械40の下面からの高さ方向の限定値でもよく、地面31aからの高さ方向の(高さまたは深さの)限定値でもよい。例えば、作業可能エリア限定値が、地面31aより下の所定深さに設定された場合、限定作業可能エリアA40b1は、この「所定深さ」以上の高さに設定される。作業可能エリア限定値は、上部旋回体41bの前後方向または横方向の限定値でもよい。例えば、作業可能エリア限定値が、下部走行体41aよりも前側の所定位置に設定された場合、限定作業可能エリアA40b1は、この「所定位置」よりも前側の位置に設定される。図7Cに示すように、作業可能エリア限定値は、上部旋回体41bの旋回方向(旋回角度)の限定値でもよい。この場合、旋回角度の限定値は、0度より大きく360度より小さい値(角度の数値)に設定されてもよく、先端アタッチメント43c(例えばバケット)の幅の何倍であるかを示す値により設定されてもよい。
【0161】
出力装置15は、限定作業可能エリアA40b1の表示の態様(例えば表示色)を、限定作業可能エリアA40b1とは異なる部分の表示の態様と異ならせてもよい。例えば、出力装置15は、限定作業可能エリアA40b1の表示を、作業機械可動エリアA40aの表示と異ならせてもよく、限定作業可能エリアA40b1の範囲外の地形31の表示と異ならせてもよい。
【0162】
([例B2]作業機械40の能力を示す表示)
図7Dに示すように、出力装置15は、作業可能エリアA40b(図7A参照)以外の、作業機械40の能力を示す表示を行ってもよい。例えば、作業機械40が吊上作業を行う場合などに、出力装置15は、次の表示を行ってもよい。出力装置15は、作業半径(旋回中心軸41b1からフック43cfまでの水平距離)と、吊上可能な荷重(吊荷62(図4D参照)の質量)と、の関係を示す表示(定格荷重表示Db2)を行ってもよい。出力装置15は、吊上可能な荷重に応じて、表示の態様(表示色など)を変えてもよい。出力装置15は、この作業半径と荷重との関係を示す表示と、作業機械40と、を重畳表示してもよい。なお、出力装置15は、作業機械40と重畳させることなく、吊上可能な荷重と作業半径との関係を示す表(定格荷重表)などを表示してもよい。
【0163】
([例C]作業可能量(生産性)の計算)
計算機13は、作業機械40の作業可能量(生産性)を示す値を算出することが好ましい。算出される作業可能量を示す値は、作業可能量そのものでもよく、作業可能量と相関する値でもよい。作業可能量は、作業機械40が作業可能な作業対象物(例えば土砂など)の量である。具体的には例えば、作業可能量は、作業機械40が掘削可能な土砂の量などである。計算機13が、作業機械40の作業可能量を示す値を算出することで、ユーザは、作業可能量を確認しながら、作業の計画を立てる(例えば配置対象Tを配置する)ことができる。
【0164】
図7Bに示すように、計算機13は、作業可能エリアA40bに基づいて、作業可能量を示す値を算出してもよい。計算機13は、限定作業可能エリアA40b1に基づいて、作業可能量(例えば掘削可能量)を示す値を算出してもよい。例えば、計算機13は、二次元の限定作業可能エリアA40b1と、地面31aと、で囲われる領域の面積を、作業可能量を示す値として算出してもよい。計算機13は、この面積と、先端アタッチメント43c(ここではバケット)の幅と、の積である体積を、作業可能量を示す値として算出してもよい。計算機13は、三次元の限定作業可能エリアA40b1と、地面31aと、で囲われる領域の体積を、作業可能量を示す値として算出してもよい。計算機13は、この体積と、作業対象物(例えば土砂)の密度と、に基づいて作業可能な質量を、作業可能量を示す値として算出してもよい。
【0165】
出力装置15は、算出された作業可能量を示す値(例えば、面積、体積、質量など)を表示してもよい。出力装置15は、算出された作業可能量を示す値に基づいて表示を行ってもよい。例えば、出力装置15は、算出された作業可能量に応じて、作業可能量の算出に用いられた作業可能エリアA40bまたは限定作業可能エリアA40b1の表示の態様(例えば表示色)を変えてもよい。
【0166】
([例D]干渉判定機能)
図8Aに示すように、計算機13は、エリアA(オブジェクト一致エリアAoを含む)どうしの干渉の状態を判定する(干渉判定を行う)ことが好ましい。この場合、ユーザは、エリアAどうしの干渉の状態を確認することができる。その結果、ユーザは、オブジェクト30やエリアAの位置が適切かを確認することができる。エリアAどうしの「干渉」とは、エリアAどうしが重なる(位置が重複する)ことである。計算機13が判定する「干渉の状態」は、少なくとも干渉するか否かを含む。計算機13が判定する「干渉の状態」は、干渉の量(例えば、面積、体積)を含んでもよく、干渉する時間を含んでもよく、干渉する回数を含んでもよい。
【0167】
様々なエリアAが、干渉判定の対象となり得る。例えば、計算機13は、作業機械エリアA40と判定対象エリアA73との干渉判定を行ってもよい(下記の[例D1]を参照)。計算機13は、作業機械40とは異なるエリアA(すなわち作業機械エリアA40とは異なるエリアA)と、判定対象エリアA73と、の干渉判定を行ってもよい(下記の[例D2]を参照)。干渉判定の具体例は、次の通りである。
【0168】
([例D1]作業機械エリアA40と判定対象エリアA73との干渉判定)
計算機13は、作業機械エリアA40と判定対象エリアA73との干渉判定を行ってもよい。この判定は、例えば、作業機械40から判定対象エリアA73までの離隔距離を確保できているかの確認などに用いられてもよい。
【0169】
この例では、判定対象エリアA73は、作業機械エリアA40とは異なるエリアAである。様々なエリアAが、判定対象エリアA73となり得る。例えば、判定対象エリアA73は、第2作業機械エリアA50(図9参照)とは異なるエリアAでもよく(下記の[例D1-1]を参照)、第2作業機械エリアA50(図9参照)でもよい(下記の[例D1-2]を参照)。
【0170】
([例D1-1]作業機械エリアA40と、第2作業機械エリアA50とは異なるエリアAと、の干渉判定)
図8Aに示すように、計算機13は、作業機械エリアA40と、第2作業機械エリアA50(図9参照)とは異なるエリアA(判定対象エリアA73の一例)と、の干渉判定を行ってもよい。
【0171】
判定対象エリアA73は、オブジェクト30(詳しくは、オブジェクト30のオブジェクト一致エリアAo)でもよい。判定対象のオブジェクト30は、例えば、輸送車61(図4D参照)でもよく、吊荷62(図4D参照)でもよく、障害物63でもよく、設備65(図8C参照)でもよく、作業者67(図9参照)でもよい。判定対象エリアA73は、判定対象のオブジェクト30の位置に基づいて設定されるエリアAであって、オブジェクト一致エリアAo以外のエリアAでもよい。判定対象エリアA73は、オブジェクト30の位置に基づくことなく設定されるエリアA(例えばユーザの手動操作により設定されるエリアA)でもよい。
【0172】
具体的には例えば、判定対象エリアA73は、進入禁止エリアA71などでもよい。例えば、進入禁止エリアA71は、オブジェクト30(例えば障害物63)から所定距離だけ離れた位置と、このオブジェクト30(この例では障害物63)と、の間に設定されてもよい。図8Cに示すように、オブジェクト30(例えば仕切器具65a)の位置に基づいて、進入禁止エリアA71の内部と外部との境界が設定されてもよい。進入禁止エリアA71は、ユーザの手動操作により(任意に)設定されてもよい。
【0173】
([例D1-2]作業機械エリアA40と第2作業機械エリアA50との干渉判定)
図9に示すように、計算機13は、作業機械エリアA40と、第2作業機械エリアA50(判定対象エリアA73の一例)と、の干渉判定を行ってもよい。例えば、計算機13は、作業機械40と、第2作業機械50と、の干渉判定を行ってもよい。この「作業機械40」は、詳しくは、作業機械40のオブジェクト一致エリアAo(作業機械エリアA40の一例)であり、この「第2作業機械50」は、第2作業機械50のオブジェクト一致エリアAo(第2作業機械エリアA50の一例)である。作業機械エリアA40と第2作業機械エリアA50との干渉判定が行われることで、複数の機械(作業機械40および第2作業機械50)どうしの、接触または接近の状態を判定することができる。作業機械40のオブジェクト一致エリアAoと、第2作業機械50のオブジェクト一致エリアAoと、の干渉判定が行われる場合は、複数の機械(作業機械40および第2作業機械50)どうしの接触の有無を判定することができる。
【0174】
([例D2]作業機械40とは異なるエリアAと判定対象エリアA73との干渉判定)
なお、計算機13は、作業機械40とは関係なく設定されるエリアAどうしの干渉判定を行ってもよい。具体的には例えば、計算機13は、図8Cに示す設備65(詳しくは、設備65のオブジェクト一致エリアAo)と、障害物63(詳しくは、障害物63のオブジェクト一致エリアAo)と、の干渉判定を行ってもよい。この場合は、例えば、設備65が、障害物63に重なるか否か、または、障害物63に近すぎるか否か、などを判定することができる。
【0175】
(判定基準の変更)
計算機13は、干渉判定の判定基準(干渉判定の対象となる2つのエリアAの少なくともいずれか)を変えてもよい。例えば、計算機13は、干渉判定を行うエリアAの種類に応じて、干渉判定の判定基準を変えてもよい。
【0176】
ここでは、具体例として、図8Aに示すように、作業機械エリアA40と判定対象エリアA73との干渉判定が行われる場合(上記[例D1]の場合)について説明する。計算機13は、判定対象エリアA73の種類によって、干渉判定に用いられる作業機械エリアA40(判定基準)を変えてもよい。
【0177】
具体的には例えば、図8Aおよび図8Bに示す例では、計算機13は、作業機械エリアA40と壁63b(詳しくは、壁63bのオブジェクト一致エリアAo)との干渉判定を行う。この例では、干渉判定に用いられる作業機械エリアA40は、旋回角度が限定された最大作業半径エリアA40a1と、後端半径エリアA40a2と、を重ね合わせた領域である。また、図8Cに示す例では、計算機13は、作業機械エリアA40と建物63a(詳しくは、建物63aのオブジェクト一致エリアAo)との干渉判定を行う。この例では、干渉判定に用いられる作業機械エリアA40は、最大作業半径エリアA40a1である。また、この例では、計算機13は、作業機械エリアA40と進入禁止エリアA71との干渉判定を行う。この例では、干渉判定に用いられる作業機械エリアA40は、最大作業半径エリアA40a1である。このように、計算機13は、干渉判定を行うエリアAの種類に応じて、干渉判定の判定基準を変えてもよい。
【0178】
(干渉判定の結果の利用)
干渉判定の結果の情報は、様々な処理に用いられてもよい。干渉判定の結果の利用方法の具体例は、次の通りである。
【0179】
出力装置15は、エリアAどうしが干渉するか否かによって、干渉判定が行われたエリアAの表示の態様(例えば表示色)を変えてもよい。例えば、出力装置15は、図8Bに示すように、作業機械エリアA40と判定対象エリアA73とが干渉する場合と、干渉しない場合(図8A参照)とで、判定対象エリアA73の表示の態様を変えてもよい(図示なし)。出力装置15は、作業機械エリアA40と判定対象エリアA73とが干渉する場合と、干渉しない場合とで、作業機械エリアA40の表示の態様を変えてもよい。この場合、出力装置15は、作業機械エリアA40の全体の表示の態様を変えてもよい(図示なし)。また、作業機械エリアA40が、複数の部分(具体的には、最大作業半径エリアA40a1および後端半径エリアA40a2)により構成される場合がある。図8Bに示す例では、出力装置15は、作業機械エリアA40のうち、判定対象エリアA73と干渉している部分のみの表示の態様を、干渉していないときの表示の態様に対して変える。
【0180】
出力装置15は、エリアAどうしが干渉する場合に、通知を行ってもよい。出力装置15は、エリアAどうしが干渉することを示すメッセージ(エラーメッセージ)(例えば、文字、音声など)を出力してもよい。出力装置15は、エリアAどうしが干渉する場合に、配置対象Tの位置を変えることをユーザに促す通知を出力してもよい。この場合、出力装置15は、エリアAどうしが干渉しないような、配置対象Tの位置の選択肢などを示してもよい。出力装置15は、エリアAどうしが干渉する場合に、作業機械40の機種を変えることをユーザに促す通知を出力してもよい。この場合、出力装置15は、エリアAどうしが干渉しないような、作業機械40の機種の選択肢などを示してもよい。
【0181】
例えば、作業機械40などが作動する場合など、エリアAが移動する場合がある。このような場合には、エリアAどうしが複数回干渉する(干渉する状態と干渉しない状態とが繰り返される)場合がある。そこで、計算機13は、エリアAどうしが干渉する回数をカウントしてもよい。
【0182】
計算機13は、作業機械エリアA40と判定対象エリアA73とが干渉したときの、作業機械40の姿勢を記憶してもよい。この場合、出力装置15は、記憶された作業機械40の姿勢を表示してもよい。これにより、作業機械エリアA40と判定対象エリアA73とが干渉したときの、作業機械40の姿勢を、ユーザに把握させることができる。
【0183】
(干渉判定の結果に基づく配置制限)
計算機13は、干渉判定の結果に基づいて、配置対象Tの配置を制限してもよい。例えば、計算機13は、干渉判定の結果に基づいて、配置されようとしているオブジェクト30(例えば作業機械40など)の配置を制限してもよい。例えば、計算機13は、配置されようとしているオブジェクト30に関連付けられるエリアAと、判定対象エリアA73と、が干渉しないように、配置されようとしているオブジェクト30の配置を制限してもよい。
【0184】
例えば、計算機13は、配置されようとしている作業機械40の作業機械エリアA40と、判定対象エリアA73と、が干渉しないように、作業機械40の配置を制限してもよい。具体的には例えば、計算機13は、図8Bに示す例のように、作業機械エリアA40と障害物63とが干渉するような位置への作業機械40の配置を制限する。また、計算機13は、図8Aに示す例のように、作業機械エリアA40と障害物63とが干渉しないような位置への作業機械40の配置を許容する。
【0185】
例えば、計算機13は、配置されようとしている設備65(図8C参照)と、判定対象エリアA73(例えば障害物63のオブジェクト一致エリアAoなど)と、が干渉しないように、設備65の配置を制限してもよい。
【0186】
(時間変化したときの干渉判定)
上記のように、計算機13は、作業シミュレーションにおける時間変化(時刻、ステップなどの変化)に応じて、エリアAの状態(位置、形状など)を変えてもよい。そして、計算機13は、エリアAの状態が変わったときの、エリアAどうしの干渉判定を行ってもよい。計算機13は、連続的または段階的な時間の変化に応じて、連続的または段階的に干渉判定を行ってもよい。
【0187】
例えば、作業機械40が作動(例えば走行、旋回など)すると、作業機械エリアA40が移動する場合がある。この場合、計算機13は、移動する作業機械エリアA40と、判定対象エリアA73と、の干渉判定を行う。この場合は、作業機械40の作動中の干渉判定を行うことができる。
【0188】
(複数台の機械の時間変化)
図9に示すように、複数台の機械(作業機械40および第2作業機械50)が作業現場Sにある場合に、作業シミュレーションにおける時間変化に応じて、複数台の機械が作動(移動)する場合がある。この場合、計算機13は、例えば次のように干渉判定を行ってもよい。計算機13は、作業機械40および第2作業機械50のそれぞれを作動させたときの、作業機械エリアA40と第2作業機械エリアA50との干渉の状態を判定してもよい。この場合、複数台の機械(作業機械40、第2作業機械50)を作業現場Sで作動(稼働)させる場合の、作業計画や安全性の確認を行うことができる。
【0189】
作動する複数の機械(作業機械40、第2作業機械50)の干渉判定が行われる場合に、様々な方法により機械を作動させてもよい。作業機械40および第2作業機械50の少なくともいずれかは、オペレータ操作モード(図2のステップS30)により、ユーザの手動操作に応じて、ユーザの手動操作と同時に作動してもよい。作業機械40および第2作業機械50の少なくともいずれかは、ユーザの手動操作に応じて予め記憶(ティーチング)された情報に基づいて作動してもよい。作業機械40および第2作業機械50の少なくともいずれかは、計算機13に予め記憶された作動(プリセット作動)に基づいて作動してもよい。
【0190】
作業機械40および第2作業機械50を作動させるための、ユーザによる操作の具体例は、次の通りである。
【0191】
[操作の具体例1]例えば、ユーザは、複数の機械(作業機械40、第2作業機械50)の中から、操作を記憶させたい(ティーチングしたい)機械を選択する。ユーザは、例えば、GUIの操作対象選択部(図示なし)を操作することで、1つの作業機械40を選択する。ユーザは、選択した作業機械40を操作し、作動させる。計算機13は、この作業機械40の作動を記憶する。ユーザは、例えば、GUIを操作することで、ティーチングした作動での作業機械40の作動の開始を選択する。すると、作業機械40は、ティーチングされた作動での作動を開始する。また、作業機械40の作動の開始の、前、同時、または後に、ユーザは、干渉の判定対象となる機械(第2作業機械50)を選択する。ユーザは、第2作業機械50を手動操作により作動させる。そして、計算機13は、作動している作業機械40の作業機械エリアA40と、作動している第2作業機械50の第2作業機械エリアA50と、の干渉判定を行ってもよい。
【0192】
[操作の具体例2]また、例えば、ユーザは、作業機械40および第2作業機械50それぞれのティーチングを行ってもよい。ユーザは、例えば、GUIを操作することで、作業機械40および第2作業機械50を、ティーチングした情報に基づいて作動させる。そして、計算機13は、作動している作業機械40の作業機械エリアA40と、作動している第2作業機械50の第2作業機械エリアA50と、の干渉判定を行ってもよい。
【0193】
[操作の具体例3]また、例えば、ユーザは、GUIを操作することで、作業機械40および第2作業機械50の少なくともいずれかを、プリセット作動に基づいて作動させてもよい。
【0194】
([例E]視界の確認)
上記のように、出力装置15は、仮想空間における作業現場Sを表示する。出力装置15は、様々な視界を表示してもよい。出力装置15は、作業現場Sの様々な位置(基準位置、方向)からの視界を表示してもよい。出力装置15は、様々な画角(範囲、視野角)の視界を表示してもよい。出力装置15は、様々な視界を切り替えて表示してもよい。出力装置15は、複数の視界を同時に表示してもよい。出力装置15は、オブジェクト30からの視界を表示してもよく、エリアAからの視界を表示してもよい。出力装置15は、オブジェクト30の外部からの視界を表示してもよく、エリアAの外部からの視界を表示してもよい。出力装置15が出力する視界の具体例は、次の通りである。
【0195】
出力装置15は、作業現場Sの全体または大部分を俯瞰した視界を表示してもよい(現場俯瞰モード)。出力装置15は、作業機械40の外部(作業機械外部視点)からの視界を表示してもよい。作業機械外部視点が表示される場合、ユーザは、作業機械40の周囲からの作業機械40の見え方を確認できる。よって、例えば、作業機械40と、作業機械40の周囲の物との離隔の状態を、ユーザに容易に把握させることなどができる。
【0196】
出力装置15は、作業機械40からの視界を表示してもよい。例えば、出力装置15は、上部旋回体41bの後側部分に設けられるカメラ(後方カメラ)などからの視界を表示してもよい。
【0197】
出力装置15は、運転室41b2の内部(運転室内視点)からの視界を表示してもよい(第2ビューV2を参照)。運転室内視点が表示されることで、運転室41b2内のオペレータからの視界を(オペレータ目線を)、ユーザに確認させることができる。この場合、ユーザは、現実の機械(作業機械40に対応)を操作しなくても(事前に)、オペレータ目線を確認することができる。例えば、ユーザは、運転室41b2から見たときに、どこが死角になるかなどを確認することができる。その結果、危険予知活動がしやすくなる。オペレータ操作モードにおいて、運転室内視点が表示される場合は、ユーザ(オペレータ)は、作業機械40の操作を体験しながら、運転室41b2からの視界を確認することができる。
【0198】
また、上記のように、運転室41b2は、上部旋回体41bの底部に対して可動である場合がある。この場合、上部旋回体41bの底部に対する運転室41b2の位置(角度、高さ)に応じて、運転室内視点(角度、高さ)が変えられてもよい。これにより、上部旋回体41bの底部に対する運転室41b2の位置が変わった場合のオペレータ目線を、ユーザに確認させることができる。また、上記のように、運転室41b2は、付属品(例えばガードなど)を備える場合がある。この場合、出力装置15は、運転室41b2の本体部に付属品が装着された状態の、運転室内視点からの視界を表示してもよい。これにより、運転室41b2の本体部に付属品が装着された状態でのオペレータ目線を、ユーザに確認させることができる。
【0199】
図8Aに示すように、計算機13が、作業機械40の作業機械エリアA40と、判定対象エリアA73と、の干渉判定を行う場合がある(上記[例D1])。この場合、出力装置15は、この作業機械40(干渉判定を行う作業機械エリアA40に対応する作業機械40)と、判定対象エリアA73と、を俯瞰した視界を表示してもよい。この場合、作業機械40と判定対象エリアA73との離隔の状態を、ユーザに把握させることができる。
【0200】
また、計算機13が、作業機械40の作業機械エリアA40と、判定対象エリアA73と、の干渉判定を行う場合、出力装置15は、この作業機械40から判定対象エリアA73を見た視界を表示してもよい。この場合、図9(第2ビューV2を参照)に示すように、作業機械40からの視界は、運転室41b2の内部からの視界でもよく、作業機械40のうち運転室41b2の内部とは異なる位置(例えば後方カメラなど)からの視界でもよい。作業機械40から判定対象エリアA73を見た視界が表示されることで、作業機械40から判定対象エリアA73に向かう向きに見たときの視界を、ユーザに把握させることができる。
【0201】
出力装置15は、作業機械40以外のオブジェクト30からの視界を表示してもよい。出力装置15は、障害物63(図8C参照)からの視界を表示してもよく、設備65(撮像装置65bなど)からの視界を表示してもよく、作業者67(監視員など)からの視界を表示してもよい。
【0202】
撮像装置65bは、現実の作業現場Sの様々な位置に設置可能であり、ユーザが撮像装置65bの適切な設置位置を検討したい場合がある。そこで、出力装置15は、撮像装置65bからの視界を表示する。これにより、作業現場Sのどの位置に撮像装置65bを設置すればよいかを、ユーザに把握(確認)させることができる。
【0203】
撮像装置65bやアンテナ65cなど、作業機械40などと比べて小さいオブジェクト30が作業現場Sに配置されると、出力装置15の表示を見たユーザが、小さいオブジェクト30の有無や位置を把握しにくい場合がある。そこで、例えば、小さいオブジェクト30(撮像装置65bなど)と、ポール65dと、がセットで(一体的に)設けられることが好ましい。
【0204】
(複数の視界の同時表示)
出力装置15は、同時に複数(2以上)の視界を表示してもよい。出力装置15は、第1ビューV1と第2ビューV2とを表示してもよい。第1ビューV1と第2ビューV2とは、仮想空間における互いに異なる位置(視点)からの視界である。出力装置15は、3以上の視界(第3ビュー、第4ビュー・・・)を表示してもよい。出力装置15が複数の視界を表示する場合の具体例は、次の通りである。
【0205】
出力装置15は、作業機械40からの視界(作業機械視点)と、作業機械40の外部からの視界(作業機械外部視点)(俯瞰映像)と、を表示してもよい。例えば、施工計画モード(図2のステップS20)において、出力装置15は、表示領域の大部分に作業機械40の外部からの視界を表示してもよい。このとき、出力装置15は、表示領域の一部に、任意の(ユーザ所望の)位置からの視界を表示してもよい。この任意の位置からの視界は、例えば、撮像装置65bからの視界でもよく、作業者67(例えば監視員)からの視界でもよく、運転室41b2からの視界でもよい。
【0206】
例えば、オペレータ操作モード(図2のステップS30)において、出力装置15は、表示領域(例えば画面)の大部分に運転室41b2内からの視界を表示し、表示領域の一部に作業機械40の外部からの視界を表示してもよい。この場合、ユーザは、作業機械40の操作を体験しながら、作業機械40と、作業機械40の周囲の物との、接触や接近の状態を確認することができる。
【0207】
(オブジェクト30の配置の計算)
上記のように、計算機13は、仮想空間内の作業現場Sにオブジェクト30を配置する。オブジェクト30は、通常、地面31aに接するように配置される。なお、地面31aに接するように配置されないオブジェクト30があってもよい。例えば、空中に浮くオブジェクト30(ドローンなどの飛行物体など)、または、地中31bにのみ配置されるオブジェクト30があってもよい。
【0208】
作業機械40は、地面31aに接する(または略接する)ように配置される。詳しくは、図4Bに示すように、下部走行体41aの下面は、地面31aに接する(または略接する)ように配置される。作業機械40の地面31aへの配置の具体例は、例えば次の通りである。
【0209】
[配置例1]作業機械40は、下部走行体41aの下面と地面31aとが接するように配置されてもよい。このとき、下部走行体41aの下面が地面31aよりも下に配置されないように(地中31bに入り込まないように)、作業機械40が配置されてもよい。
【0210】
(接地判定点P21を用いた配置例)
[配置例2]計算機13による、作業機械40の配置に関する計算負荷を抑えられることが好ましい。具体的には、図10Cに示すように、計算機13は、作業機械40の下面全体と地面31aとの接触を計算せずに、接地判定点P21と地面31aとの接触を計算してもよい。
【0211】
接地判定点P21は、作業機械40を地面31aに接するまたは略接するように、作業機械40を地面31aに配置するための判定に用いられる。図10Aに示すように、接地判定点P21は、作業機械40の下面の、特定の3点以上の点(位置)に設定される。例えば、接地判定点P21は、作業機械40の下面の、特定の4点に設定される。例えば、複数の接地判定点P21は、作業機械下面中心点41acから等距離の位置に配置される。
【0212】
下部走行体41aが左右のクローラ41a1・41a1を備える場合、接地判定点P21は、左右のクローラ41a1・41a1それぞれの、長手方向の両端部(前端部、後端部)(合計4点)に設定される。例えば、図6Bに示すように、クローラ41a1が複数のローラ41a2を備える場合、複数のローラ41a2のうち、長手方向の両端(最も前、および、最も後)のローラ41a2の下の位置に、接地判定点P21(図10A参照)が設定される。図10Aに示すように、接地判定点P21は、クローラ41a1の幅方向の中央に設定されてもよい。接地判定点P21は、クローラ41a1の幅方向の端部などに設定されてもよい(図示なし)。
【0213】
下部走行体41aが複数のホイール(図示なし)を備える場合、ホイールの下端部に、接地判定点P21が設定されてもよい。接地判定点P21は、ホイールの幅方向の中央に設定されてもよく、ホイールの幅方向の端部などに配置されてもよい。
【0214】
図10Cに示すように、計算機13は、3点の接地判定点P21と地面31aとが接するように、水平方向に対して作業機械40を回転させる。計算機13は、3点の接地判定点P21と地面31aとが接するように、作業機械40を配置する。この配置の具体例は、次の通りである。
【0215】
計算機13は、以下の処理、または以下の処理と実質的に等しい処理を行う。図10Bに示すように、計算機13は、作業機械40が水平面に対して傾いていない状態(旋回中心軸41b1(図4B参照)が鉛直方向に延びる状態)での、複数の接地判定点P21のそれぞれを地面31aに投影(鉛直方向に投影、例えば下向きに投影)する。計算機13は、地面31a上に投影された接地判定点P21の位置(地面31a上の位置)を算出する。地面31a上に投影された接地判定点P21の位置を、投影接地判定点P23とする。計算機13は、3点以上の投影接地判定点P23に基づいて接地面P25を算出する。例えば、計算機13は、3点の投影接地判定点P23を通る平面を、接地面P25としてもよい。この接地面P25の算出方法では、投影接地判定点P23が4点以上存在する場合は、少なくとも3点の投影接地判定点P23が接地面P25上にあればよい。また、例えば、計算機13は、4点以上の投影接地判定点P23と平面との距離が最小となるような平面を、例えば最小二乗法などで算出し、算出した平面を接地面P25としてもよい(平面近似してもよい)。
【0216】
作業機械40が地面31aに設置されていない状態、例えば、ユーザが作業機械40を地面31aに設置しようとしているときに、作業機械40が地面31aよりも上に表示される場合がある。このような場合、出力装置15は、接地面P25の少なくとも一部を表示してもよい。例えば、出力装置15は、下部走行体41aの幅方向の端および前後方向の端の位置を4辺とする四角形を、接地面P25に投影した範囲を表示してもよい。出力装置15は、クローラ41a1を接地面P25に投影(下向きに投影)した範囲を表示してもよい(図示なし)。
【0217】
計算機13は、接地面P25の三次元回転角度(例えば水平方向に対する三次元回転角度)を算出する。図10Cに示すように、計算機13は、接地面P25の三次元回転角度と、作業機械40の下面(詳しくは、クローラ41a1の下面)の三次元回転角度と、が一致するように、作業機械40を水平方向に対して回転させる。このとき、計算機13は、例えば、作業機械下面中心点41acを中心に、作業機械40を回転させる。
【0218】
計算機13は、回転させた作業機械40の下部走行体41aの下面と、接地面P25と、が一致するように、作業機械40を配置する。このとき、例えば、計算機13は、作業機械下面中心点41acの位置が、作業機械設置位置P40c(図4B参照)としてユーザに指定された位置の真上の位置になるように、作業機械40を配置してもよい。また、例えば、計算機13は、3点の接地判定点P21と、地面31aと、が一致するように、作業機械40を配置してもよい。
【0219】
この[配置例2]では、上記[配置例1](下部走行体41aの下面が地面31aよりも下に配置されないようにする場合)に比べ、作業機械40の地面31aへの配置に関する計算の負荷を抑制することができる。
【0220】
(作業機械40と地面31aとの接触判定)
計算機13は、3点の接地判定点P21が地面31aに接し(地面31a上にあり)、かつ、残りの接地判定点P21が、地面31a以上の高さにある場合に、作業機械40の下面と地面31aとが「接触状態」であると判定してもよい。なお、接地判定点P21が3点のみ設定される場合は、計算機13は、3点の接地判定点P21が地面31aに接する場合に、作業機械40の下面と地面31aとが「接触状態」であると判定してもよい。
【0221】
(第1の発明の効果)
図1に示す作業シミュレータ1による効果は、次の通りである。作業シミュレータ1は、計算機13を備える。計算機13は、作業機械40が作業を行う作業現場Sを、仮想空間において模擬する。
【0222】
[構成1]計算機13は、図8Aに示すように、作業機械エリアA40と判定対象エリアA73との干渉の状態を判定する。作業機械エリアA40は、仮想空間に配置された作業機械40の位置に関連付けられて設定される。判定対象エリアA73は、仮想空間に設定されたエリアAである。
【0223】
上記[構成1]では、計算機13は、作業機械エリアA40と判定対象エリアA73との干渉の状態を、自動的に判定する。よって、例えば、作業機械エリアA40と判定対象エリアA73とが干渉しているか否かをユーザが表示を目視して判断する場合などに比べ、作業機械エリアA40と判定対象エリアA73との干渉の状態を確実に判定することができる。したがって、仮想空間内のエリアAどうしの干渉の状態を確実に判定することができる。
【0224】
(第2の発明の効果)
[構成2]計算機13は、配置されようとしている作業機械40の作業機械エリアA40と、判定対象エリアA73と、が干渉しないように作業機械40の配置を制限する。
【0225】
上記[構成2]により、例えば、作業機械エリアA40と判定対象エリアA73とが干渉しないように、ユーザが表示を目視しながら作業機械40を配置する作業を行う場合などに比べ、作業機械40を配置する作業の手間および時間を抑制することができる。
【0226】
(第3の発明の効果)
図9に示すように、計算機13は、作業機械40とは異なる第2作業機械50を配置する。計算機13は、第2作業機械50の位置に関連付けられる第2作業機械エリアA50を設定する。
【0227】
[構成3]計算機13は、作業機械40および第2作業機械50のそれぞれを作動させたときの、作業機械エリアA40と第2作業機械エリアA50との干渉の状態を判定する。
【0228】
上記[構成3]により、複数の機械(作業機械40および第2作業機械50)が作動したときの、作業機械エリアA40と第2作業機械エリアA50との干渉の状態を、確実に判定することができる。
【0229】
(第4の発明の効果)
[構成4]作業機械40は、ユーザの操作に応じてユーザの操作と同時に作動する(上記のオペレータ操作モードを参照)、または、ユーザの操作に応じて予め記憶された情報(上記のティーチングを参照)に基づいて作動する。
【0230】
上記[構成4]により、ユーザの所望の作動で作業機械40を作動させたときの、作業機械エリアA40と判定対象エリアA73との干渉の状態を、確実に判定することができる。
【0231】
(第5の発明の効果)
[構成5]計算機13は、作業機械エリアA40と判定対象エリアA73とが干渉したときの作業機械40の姿勢を記憶する。
【0232】
上記[構成5]により、作業機械エリアA40と判定対象エリアA73とが干渉したときの作業機械40の姿勢の情報を、干渉判定の後に利用(例えば確認)することができる。
【0233】
(第6の発明の効果)
[構成6]計算機13は、作業機械40と判定対象エリアA73とを俯瞰した視界を出力装置15に表示させる、または、作業機械40から判定対象エリアA73を見た視界を出力装置15に表示させる(第2ビューV2を参照)。
【0234】
上記[構成6]により、次の効果が得られる。作業機械40と判定対象エリアA73とを俯瞰した視界が出力装置15に表示される場合は、次の効果が得られる。この場合、作業機械エリアA40に対応する作業機械40と、判定対象エリアA73と、の相対位置をユーザに把握させることができる。作業機械40から判定対象エリアA73を見た視界が出力装置15に表示される場合は、次の効果が得られる。この場合、作業機械エリアA40に対応する作業機械40から判定対象エリアA73に向かって見たときに、どのように見えるかを、ユーザに把握させることができる。
【0235】
(第7の発明の効果)
[構成7]作業シミュレーションプログラムによる効果は、次の通りである。作業シミュレーションプログラムは、作業機械40が作業を行う作業現場Sを仮想空間において模擬するためのプログラムである。作業シミュレーションプログラムは、干渉判定ステップを計算機13に実行させる。干渉判定ステップは、作業機械エリアA40と判定対象エリアA73との干渉の状態を判定する。作業機械エリアA40は、仮想空間に配置された作業機械40の位置に関連付けられて設定される。判定対象エリアA73は、仮想空間に設定されたエリアAである。
【0236】
上記[構成7]では、作業機械エリアA40と判定対象エリアA73との干渉の状態を、計算機13に自動的に判定させることができる。よって、例えば、作業機械エリアA40と判定対象エリアA73とが干渉しているか否かをユーザが表示を目視して判断する場合などに比べ、作業機械エリアA40と判定対象エリアA73との干渉の状態を確実に判定することができる。したがって、仮想空間内のエリアAどうしの干渉の状態を確実に判定することができる。
【0237】
(第8の発明の効果)
[構成8]作業シミュレーション方法による効果は、次の通りである。作業シミュレーション方法は、作業機械40が作業を行う作業現場Sを仮想空間において模擬する方法である。作業シミュレーション方法は、干渉判定ステップを備える。干渉判定ステップは、作業機械エリアA40と判定対象エリアA73との干渉の状態を判定する。作業機械エリアA40は、仮想空間に配置された作業機械40の位置に関連付けられて設定される。判定対象エリアA73は、仮想空間に設定されたエリアAである。
【0238】
上記[構成8]では、作業機械エリアA40と判定対象エリアA73との干渉の状態を、判定することができる。よって、例えば、作業機械エリアA40と判定対象エリアA73とが干渉しているか否かをユーザが表示を目視して判断する場合などに比べ、作業機械エリアA40と判定対象エリアA73との干渉の状態を確実に判定することができる。したがって、仮想空間内のエリアAどうしの干渉の状態を確実に判定することができる。
【0239】
(変形例)
図1に示す作業シミュレータ1は、実機(作業機械40と同様に構成される実機)を遠隔操作するための遠隔操作装置の構成要素の少なくとも一部を備えてもよい。作業シミュレータ1は、遠隔操作装置の構成要素を利用したものでもよい。例えば、作業シミュレータ1は、遠隔操作装置に実装されたものでもよい。例えば、遠隔操作装置は、入力装置11、計算機13、および出力装置15を備える。この入力装置11は、操作装置(例えば、操作レバー、操作ペダル)を備え、操作装置の操作に応じた操作信号(レバー操作信号、ペダル操作信号)を出力する。計算機13は、遠隔操作の際には、通信手段を介して、遠隔操作の対象となる実機との間で信号のやり取りを行う。計算機13は、遠隔操作の際には、入力装置11から入力された操作信号に基づいて、実機の作業装置(アタッチメント43(図4B参照)に対応)や走行装置(下部走行体41a(図4B参照)に対応)などを作動させる信号(作動指令信号)を実機に送信する。計算機13は、遠隔操作の際には、実機に搭載されたカメラの画像データや、実機に搭載されたセンサが出力する信号などを、通信手段を介して受信する。出力装置15(具体的にはモニタ)は、遠隔操作の際には、実機に搭載されたカメラの画像データ(計算機13が取得したデータ)を出力する。
【0240】
作業シミュレータ1は、遠隔操作装置の構成要素の一部のみを備えてもよい。例えば、入力装置11は遠隔操作装置の構成要素を利用したものであり、計算機13および出力装置15のそれぞれは遠隔操作装置の構成要素を利用したものでなくてもよい。また、例えば、入力装置11および出力装置15のそれぞれは遠隔操作装置の構成要素を利用したものであり、計算機13は遠隔操作装置の構成要素を利用したものでなくてもよい。
【0241】
作業シミュレータ1が遠隔操作装置の入力装置11を備える場合、ユーザは、実機を遠隔操作するための遠隔操作装置の入力装置11を用いて、仮想空間内の作業機械40を操作できる(例えば、上記オペレータ操作モードを参照)。よって、ユーザは、仮想空間内の作業機械40を操作することで、実機の操作感覚を体感することができる。その結果、例えば、ユーザによる遠隔操作装置の操作の習熟が促進される。また、例えば、実際の現場(作業現場Sに対応)の実機を遠隔操作装置で操作した場合の想定(どのような状況が生じるかなど)を容易に行うことができる。
【0242】
作業シミュレータ1が、遠隔操作装置の出力装置15を備える場合、ユーザは、実機を遠隔操作する際に見る、遠隔操作装置の出力装置15を見ながら、仮想空間内の作業機械40を操作できる。また、この場合、作業シミュレータ1の出力装置15を、遠隔操作装置の出力装置15と兼用することができる。よって、作業シミュレータ1の出力装置15として、遠隔操作装置の出力装置15とは別の装置(モニタなど)を用いる必要がない。
【0243】
作業シミュレータ1が、遠隔操作装置の入力装置11、および、遠隔操作装置の出力装置15を備える場合、次の効果が得られる。この場合、ユーザは、実機を遠隔操作する際に見る遠隔操作装置の出力装置15を見ながら、実機を遠隔操作する際に操作する遠隔操作装置の入力装置11を操作することで、仮想空間内の作業機械40を操作できる。よって、作業シミュレータ1が、遠隔操作装置の入力装置11、および、遠隔操作装置の出力装置15のうち一方のみを備える場合に比べ、ユーザは、実機の操作感覚により近い感覚を体感することができる。
【0244】
(その他の変形例)
上記実施形態および変形例は様々に変形されてもよい。例えば、上記実施形態の様々な例(変形例を含む)どうしが様々に組み合わされてもよい。例えば、図1などに示す各構成要素の接続は変更されてもよい。例えば、上記実施形態の構成要素(変形例を含む)の数が変更されてもよく、構成要素の一部が設けられなくてもよい。この「構成要素」は、仮想空間内の構成要素(具体的には、オブジェクト30およびエリアA)を含む(以下同様)。例えば、構成要素の配置は変更されてもよい。例えば、構成要素の包含関係は様々に変更されてもよい。例えば、ある上位の構成要素に含まれる下位の構成要素として説明したものが、この上位の構成要素に含まれなくてもよく、他の構成要素に含まれてもよい。例えば、互いに異なる複数の部材や部分として説明したものが、一つの部材や部分とされてもよい。例えば、一つの部材や部分として説明したものが、互いに異なる複数の部材や部分に分けて設けられてもよい。例えば、図2などに示すフローチャートのステップの順序が変更されてもよく、ステップの一部が行われなくてもよく、例えば、各構成要素は、各特徴(作用機能、配置、形状、作動など)の一部のみを有してもよい。
【符号の説明】
【0245】
1 作業シミュレータ
13 計算機
15 出力装置
40 作業機械
50 第2作業機械
A40 作業機械エリア
A50 第2作業機械エリア
A73 判定対象エリア
S 作業現場
図1
図2
図3A
図3B
図4A
図4B
図4C
図4D
図5A
図5B
図5C
図5D
図6A
図6B
図7A
図7B
図7C
図7D
図8A
図8B
図8C
図9
図10A
図10B
図10C