以下、本発明の実施の形態に係る建設機械として油圧ショベルを例に挙げ、図面を参照して説明する。なお、各図中、同等の部材には同一の符号を付し、重複した説明は適宜省略する。
図1は、本発明の実施の形態に係る油圧ショベルの側面図である。
図1において、油圧ショベル1は、下部走行体5と、上部旋回体4と、作業機3とを備えている。上部旋回体4と下部走行体5は、車両本体2を構成している。
下部走行体5は、履帯15a,15bを両側に有する。走行モータ16a、16bが油圧により回転することで履帯15a,15bがそれぞれ駆動され、油圧ショベル1は走行する。
上部旋回体4は、下部走行体5に旋回輪17を介して回動可能に接続されており、旋回モータ13により油圧により回転することで駆動される。上部旋回体4は、運転室12や旋回モータ13、図示しないエンジンや油圧ポンプ、油圧制御弁などで構成される油圧制御装置14(図2に示す)を有する。運転室12の中には、後述する車体操作装置18及び表示装置19が設置されている。上部旋回体4には、車体の傾きを検出する車体傾斜角センサ32が取り付けられている。上部旋回体4の上部には、アンテナ23a,23bが取り付けられている。アンテナ23a,23bは、図示しない人工衛星からの信号を受信し、油圧ショベル1の地球上における現在位置を検出するために用いられる。
作業機3は、ブーム6と、アーム7と、作業具8(図1に示す例ではバケット8b)と、第1シリンダ9と、第2シリンダ10と、第3シリンダ11とを有する。ブーム6は上部旋回体4に第1リンクピン20を介して回動可能に取り付けられている。アーム7はブーム6の先端部に第2リンクピン21を介して回動可能に取り付けられている。作業具8はアーム7の先端部に第3リンクピン(第1連結ピン)22を介して回動可能に取り付けられている。第1シリンダ9はブーム6に対して第1シリンダピン42を介して回動可能に取り付けられ、第2シリンダ10はアーム7に対して第2シリンダピン43を介して回動可能に取り付けられ、第3シリンダ11は作業具8に対して第3シリンダピン(第2連結ピン)44を介して回動可能に取り付けられている。第1シリンダ9はブーム6を、第2シリンダ10はアーム7を、第3シリンダ11は作業具8をそれぞれ油圧によって伸縮することで駆動する。ブーム6、アーム7および作業具8には、それぞれの姿勢を検出する第1−3回転角度センサ33−35が取り付けられている。
図2は、油圧ショベル1に搭載された車体制御システム24および表示システム25の構成を示すブロック図である。
図2に示すように、車体制御システム24は、第1シリンダ9と、第2シリンダ10と、第3シリンダ11と、旋回モータ13と、走行モータ16a,16bと、油圧制御装置14と、車体操作装置18と、車体制御コントローラ26とを有する。
油圧制御装置14は、油圧ポンプから吐出された作動油を第1シリンダ9、第2シリンダ10、第3シリンダ11、旋回モータ13、走行モータ16a、16bを含む複数の油圧アクチュエータに分配供給し、これらを駆動する。
車体操作装置18は、操作部材27と、操作量検出部28とを有する。
操作部材27は、運転室12に搭乗する作業者が、第1シリンダ9、第2シリンダ10、第3シリンダ11、旋回モータ13、走行モータ16a,16bの駆動を指示するための部材(例えば作業レバー)である。操作量検出部28は、操作部材27の操作量を検出して、検出信号を車体制御コントローラ26へ送る。
車体制御コントローラ26は、A/D変換器、D/A変換器やデジタル入出力装置などの入出力部29と、CPUなどの演算部30とを有する。
車体制御コントローラ26の入出力部29は、車体操作装置18と油圧制御装置14より入力した信号を演算部30へ送り、演算部30の演算結果を油圧制御装置14へ送る。
車体制御コントローラ26の演算部30は、操作量検出部28が送る操作量や油圧制御装置14の状態量に基づき、油圧制御装置14への指令値を演算する。
表示システム25は、車体傾斜角センサ32と、第1−3回転角度センサ33−35と、補正情報受信機36と、アンテナ23a,23bと、表示装置19と、表示コントローラ31とを有する。
車体傾斜角センサ32は、例えば慣性計測装置(IMU)であり、一般的には角速度センサと加速度センサを組み合せたセンサで、上部旋回体4に取り付けられ、作業機3の動作平面における水平方向を前後方向、作業機3の動作平面と垂直方向を左右方向したとき、上部旋回体4の前後方向及び左右方向の鉛直(重力)方向となす角をそれぞれ検出するために用いられる。
第1−3回転角度センサ33−35は、例えばIMUであり、それぞれブーム6、アーム7、作業具8に取り付けられ、第1−3リンクピン20−22周りのブーム6、アーム7、作業具8の鉛直(重力)方向となす角を検出し、上部旋回体4に対するブーム6の角度、ブーム6に対するアーム7の角度、アーム7に対する作業具8の角度をそれぞれ出力する。
補正情報受信機36は、例えば、無線通信機であり、油圧ショベル1の外にある図示しない補正情報送信機から無線にて送信される、グローバル位置の演算に利用するための補正情報を受信する。
表示装置19は、操作部37と、表示部38とを有する。
表示装置19の操作部37は、例えばスイッチであり、作業者が操作し、表示情報の切り替えや、後述する表示コントローラ31の記憶部41が記憶する目標面の座標情報や作業具8の種類や寸法といった描画情報の設定の追加や変更を行う。
表示装置19の表示部38は、例えば液晶ディスプレイやスピーカであり、作業者が作業内容を確認するため、表示コントローラ31の演算部40が演算した描画情報を表示する。
表示装置19は、例えばタッチパネルのように、操作部37と表示部38が一体となっているものでも良い。
表示コントローラ31は、A/D変換器、D/A変換器やデジタル入出力装置などの入出力部39と、CPUなどの演算部40と、ROMやRAMなどの記憶部41とを有する。
表示コントローラ31の入出力部39は、車体傾斜角センサ32及び第1−3回転角度センサ33−35より入力した角度信号およびアンテナ23a,23bの検出信号、ならびに表示装置19の操作部37から入力した操作信号を演算部40へ送り、演算部40の演算結果を表示装置19の表示部38へ送る。
表示コントローラ31の入出力部39は、更に、外部記憶装置(例えばUSBメモリ)90と接続可能な外部接続端子(例えばUSB(Universal Serial Bus)端子)を有し、外部記憶装置90に記憶されている他の電子機器で編集した目標面情報や作業具描画情報を記憶部41に保存することが可能である。
このように本実施例では、表示コントローラ31は、作業具8の描画情報および寸法情報を記憶する記憶部41と、外部記憶装置90と接続可能な入出力部39とを有し、外部記憶装置90に記憶された作業具8の描画情報および寸法情報を入出力部39を介して記憶部41に記憶することが可能である。
図3は、表示コントローラ31の演算部40の構成を示すブロック図である。
図3に示すように、表示コントローラ31の演算部40は、グローバル位置演算部40aと、姿勢演算部40bと、作業具位置演算部40cと、描画演算部40dとを有する。
表示コントローラ31の記憶部41は、車体寸法パラメータ、角度変換パラメータ、目標面情報、作業具描画情報を記憶している。車体寸法パラメータは例えば、ブーム6、アーム7、作業具8の寸法、アンテナ23a,23bと第1リンクピン20との相対位置(3次元ベクトルなど)を含む。目標面情報は油圧ショベル1が作業対象とする少なくとも1つの平面における断面の座標を含む。
作業具描画情報は、作業具8の描画図形の画像情報と、当該描画図形と関連付けられている画像上の座標値とを含む。
グローバル位置演算部40aは、アンテナ23a,23bの人工衛星からの検出信号と補正情報受信機36からの補正情報を基に、RTK−GNSS(RealTime Kinematic−Global Navigation Satellite System、GNSSは全地球航法衛星システムという)を利用して、アンテナ23a,23bのグローバル(地球)座標系における現在位置を演算する。
姿勢演算部40bは、車体傾斜角センサ32の検出信号と、第1−3回転角度センサ33−35の角度信号と、記憶部41の角度変換パラメータとを基に、上部旋回体4の左右傾斜角θ0x、上部旋回体4の前後傾斜角θ0y、ブーム6の車体に対する第1リンクピン20周りの角度θ1、アーム7のブーム6に対する第2リンクピン21周りの角度θ2、作業具8のアーム7に対する第3リンクピン周りの角度θ3を演算する。
作業具位置演算部40cは、姿勢演算部40bの演算結果である角度θ1−θ3と、記憶部41の車体寸法パラメータを基に、2次元座標系として、第1リンクピン20の中心を原点として、原点と第2、第3リンクピン21,22の中心を通り、重力方向上向きを正とするZ軸、Z軸と垂直をなして作業機3の延伸方向を正とするX軸とする作業機動作平面(XZ平面)を定義し、この作業機動作平面(XZ平面)における作業具8内の作業上の着目点である第1モニタポイントMP1の座標と、第3リンクピン22の中心軸の座標と、第3シリンダピン44の中心軸の座標とを演算する。
作業具位置演算部40cは更に、姿勢演算部40bの演算結果である角度θ0x、θ0yと、グローバル位置演算部40aの演算結果、記憶部41の車体寸法パラメータを基に、グローバル(地球)座標系における第1モニタポイントMP1と、第3リンクピン22の中心軸の座標と、第3シリンダピン44の中心軸の座標とを演算する。
描画演算部40dは、表示装置19の操作部37より設定される作業具8の種類と寸法の情報と、作業具位置演算部40cの演算結果と、記憶部41の目標面情報および作業具描画情報とを基に、ガイダンス画像を作成し、表示部38に出力する。
本発明の第1の実施例に係る油圧ショベル1について、図4〜図6を用いて説明する。本実施例に係る油圧ショベル1は、作業具8として油圧ブレーカを備えている。
図4は、本実施例に係る表示コントローラ31の描画演算処理の一例を示すフローチャートである。表示コントローラ31は、油圧ショベル1に取り付けられた作業具8が1つのモニタポイントを有する作業具(例えば油圧ブレーカ8a)である場合に、図4に示すフローチャートに従って目標面と作業具8の位置関係を示す側面画像(ガイダンス画像)を作成する。
ステップS1において、記憶部41より目標面情報を読み込み、目標面図形48(図5(a)に示す)を作成する。目標面情報は、例えば、グローバル座標系に配置された線分と平面で構成されたポリゴンデータである。目標面図形48は、作業機動作平面(XZ平面)とポリゴンデータを構成する平面との交線であり、作業機動作平面(XZ平面)のローカル座標系において定義される。
作業機動作平面(XZ平面)は、グローバル位置演算部40aで得られるアンテナ23a,23bと、記憶部41の車体寸法パラメータに含まれるアンテナ23a,23bに対する第1−3リンクピン20−22の位置とから演算され、目標面図形48は、油圧ショベル1が走行操作や旋回操作などにより目標面情報に対して移動や回転をした際に、逐次更新される。
ステップS2において、ステップS1から得られる目標面図形48と、作業具位置演算部40cから得られる作業具位置とを用いて、画像上の座標系に配置する。
画像上の座標系は表示部38の画面の大きさにより縦方向と横方向の最大値[pxmax,pymax]が規定されることから、作業具8の全体と目標面図形48を構成する少なくとも1つの線分が含まれるよう配置するため、縮尺Ksc及びオフセットOP1を決定する。
図5は、作業機動作平面(XZ平面)における第1モニタポイントMP1、第3リンクピン22、第3シリンダピン44及び目標面図形48の各位置を基に、油圧ブレーカ8aの描画図形と目標面図形48を画像上の座標系へ配置する方法の概略を示している。
図5(a)に示すように、油圧ブレーカ8aの先端に位置する点(作業機動作平面(XZ平面)に投影した油圧ブレーカ8aの輪郭上に位置する点)を第1モニタポイントMP1とし、第3リンクピン22の中心軸が作動機動作平面(XZ平面)と交差する点(以下適宜「第3リンクピン中心点」という。)を点LP3とし、第3シリンダピン44の中心軸が作動機動作平面(XZ平面)と交差する点(以下適宜「第3シリンダピン中心点」という。)を点CP3とする。
目標面図形48から描画用の少なくとも1つの線分を抽出するため、目標面図形48を構成する全ての線分と点MP1の距離を演算し、目標面図形48の最も近い線分を最近傍線分TL1とし、最近傍線分内に含まれる第1の最近傍目標面点TP1を取得する。
次に、点MP1、点LP3、点CP3、点TP1の4点から、作業機動作平面(XZ平面)のX軸の最大値、最小値PXmax、PXmin及びZ軸の最大値、最小値PZmax、PZminを取得する。
図5(b)に示すように、取得した4点の最大値、最小値の中心が原点となるようオフセットOP1を以下の式で演算する。
縮尺Ksc1は、画面の大きさの最大値[pxmax,pymax]を、作業機動作平面(XZ平面)における4点の最大値と最小値の差で割り、その最小値から得られる。縮尺Ksc1は以下の式で演算する。
式中のminは、引数の中から最小値を選択する演算子であり、αsc1は、正の実数であり、作業機動作平面(XZ平面)における4点を画面端からより内側に表示させるための係数である。
画面の座標系は一般的に、画面左上を原点とし、右方向を正とするx軸と、下方向を正とするy軸とを有する。作業具8を左から見る側面図を作成する場合、作業機動作平面(XZ平面)上(ローカル座標系)におけるある点Pnは、画像上の座標系におけるある点pnに以下の式で変換される。
作業具位置と目標面図形48の作動器動作平面(XZ平面)上における点MP1、点LP1、点CP1、点TP1を、式(3)により、画像上の座標系における点mp1、点lp1、点cp1、点tp1にそれぞれ変換する。
ステップS3において、ステップS2において演算した画像上の座標系における作業具位置を示す点mp1、点lp1、点cp1の3点を用いて、表示装置19の操作部37より設定される作業具種類情報が油圧ブレーカ8aであることに関連付けられた作業具描画情報が含む描画図形を変形する処理を行う。
作業具種類情報が油圧ブレーカ8aであることに関連付けられた作業具描画情報は、油圧ブレーカ8aの第1モニタポイントMP1と第3リンクピン中心点(第1連結ポイント)LP3と第3シリンダピン中心点(第2連結ポイント)CP3を含む第1描画図形49(図6(a)に示す)の画像情報と、第1描画図形49上の座標系における第1モニタポイントMP1、第3リンクピン中心点LP3、第3シリンダピン中心点CP3の各位置を示す点mp1a、点lp3a、点cp3aの座標値とを含む。
図6は、実際に取り付けられた油圧ブレーカ8aの作業具寸法情報と油圧ブレーカ8aを示す作業具描画情報を基に、油圧ブレーカ8aを表す第1描画図形49を変形する方法の一例を示している。
第1描画図形49の変形処理の手法として、線形写像を用いる。線形写像は、画像変形行列Aを用い、画像上のある座標pi=[pxi,pyi]に含まれる画素情報を別の座標qi=[qxi,qyi]に移動させることで画像を変形する。線形写像は以下の式で表される。
第1描画図形49を変形する線形写像に用いる画像変形行列Aは、油圧ブレーカ8aの作業具寸法情報と、画像平面上における座標情報とから求めることができる。
点lp3から点cp3を結ぶベクトルu1=[u1x,u1y]及び点lp3から点mp1を結ぶベクトルu2=[u2x,u2y]とし、点lp3aから点cp3aを結ぶベクトルv1=[v1x,v1y]及び点lp3aから点mp1aを結ぶベクトルv2=[v2x,v2y]とする。ベクトルu1,u2と、ベクトルv1,v2とからそれぞれ作られる行列P1,Q1は以下の式で表される。
ベクトルv1とu1及び、ベクトルv2とu2はそれぞれ実際に作業具8として油圧ショベル1に取り付けられている油圧ブレーカ8aと画像上の油圧ブレーカ8aで対応するベクトルであるため、式(4)〜(6)より、行列P1から画像変形行列A1を用いて行列Q1へ変換する方法は以下の式で表される。
よって、画像変形行列A1は行列Q1と行列P1の逆行列P1−1を用いて、以下の式で表される。
ただし、行列P1の逆行列P1−1が存在するのは、行列P1が正則であるときであり、例えば、正則でないときの判定として、行列P1の行列式が0である場合には、ステップS4へは進まずに、描画演算部40dの演算を終了する。
行列Pが正則であり、行列P1の逆行列P1−1が存在するときは、式(8)で求まった画像変形行列Aを用いて、油圧ブレーカ8aの第1描画図形49を変形させて第1変形後描画図形49a(図6(b)に示す)を作成し、ステップS4へ進む。
ステップS4において、ステップS3で得られた油圧ブレーカ8aの第1変形後描画図形49aと、ステップS2から得られる描画画面上の作業具8と目標面図形48の配置とから、表示部38の画面に描画画像を作成する。
油圧ブレーカ8aの第1変形後描画図形49aは、画像内に含まれる点mp1a、点lp3a、点cp3a(図6(b)に示す)の3点を、描画画像内に含まれる対応する作業具位置の点mp1、点lp3、点cp3(図6(a)に示す)の3点に一致させることで、描画画像に配置する。
目標面図形48の画像は、点tp1を通り、最近傍線分TL1と同じ傾きを持つ直線を点tp1の両側に伸ばす。
線分TL1の端点の位置を式(3)により画像上の座標系に変換したものが、最大値[pxmax,pymax]を下回る場合は、または、最小値[0,0]を上回る場合は、端点まで線分を描画する。
一方、線分TL1の端点の位置を式(3)により画像上の座標系に変換したものが、最大値[pxmax,pymax]を下回る場合は、線分と画面の外周部の交点に新たな線分の仮端点を作成し、仮端点まで線分を描画する。
同様に、目標面図形48に含まれる、最近傍線分TL1に隣接している線分から順に、式(3)を適用し、画像上の座標系における目標面図形48が、画面に収まる範囲内で描画する。
このように本実施例では、第1連結ピン22および第2連結ピン44を介して回動可能に取り付けられた作業具8を有する作業機3と、作業具8の描画情報および寸法情報を基に作業具8の側面を表す描画図形を作成しかつ目標面情報を基に目標面を表す目標面図形を作成する表示コントローラ31と、描画図形および目標面図形を表示する表示装置19とを備えた建設機械1において、作業具8の寸法情報は、第1連結ピン22の中心軸上に位置する第1連結ポイントLP3、第2連結ピン44の中心軸上に位置する第2連結ポイントCP3、および作業機3の動作平面に投影した作業具8の輪郭上に位置する第1モニタポイントMP1の位置情報を含み、作業具8の描画情報は、第1連結ポイントLP3、第2連結ポイントCP3および第1モニタポイントMP1を含む作業具8の少なくとも一部を表す第1描画図形49の画像情報を含み、表示コントローラ31は、作業機3の姿勢を演算する姿勢演算部40bと、作業機3の姿勢情報および作業具8の寸法情報を基に、表示装置19の画像上の座標系における第1連結ポイントLP3、第2連結ポイント33および第1モニタポイントMP1の各座標値を演算する作業具位置演算部40cと、第1描画図形49における第1連結ポイントLP3、第2連結ポイントCP3および第1モニタポイントMP1を頂点とする三角形が、表示装置19の画像上の座標系における第1連結ポイントLP3、第2連結ポイントCP3および第1モニタポイントMP1を頂点とする三角形と合同になるように、第1描画図形49を変形させて第1変形後描画図形49aを作成し、第1変形後描画図形49aにおける第1連結ポイントLP3、第2連結ポイントCP3および第1モニタポイントMP1の各位置が、表示装置19の画像上の座標系における第1連結ポイントLP3、第2連結ポイントCP3および第1モニタポイントMP1の各位置とそれぞれ一致するように、第1変形後描画図形49aを表示装置19の画面上に配置する描画演算部40dとを有する。
以上のように構成した本実施例に係る油圧ショベル1によれば、油圧ブレーカ8aを表す第1描画図形49における第1連結ポイントlp3a、第2連結ポイントcp3aおよび第1モニタポイントmp1aを頂点とする三角形が、表示装置19の画像上の座標系における第1連結ポイントlp3、第2連結ポイントcp3および第1モニタポイントmp1を頂点とする三角形と合同になるように、第1変形後描画図形49aが作成され、第1変形後描画図形49aにおける第1連結ポイントlp3a、第2連結ポイントcp3aおよび第1モニタポイントmp1aが、表示装置19の画像上の座標系における第1連結ポイントlp3、第2連結ポイントcp3および第1モニタポイントmp1とそれぞれ一致するように、第1変形後描画図形49aが表示装置19の画面上に配置される。これにより、寸法や形状の異なる油圧ブレーカ8aを表示装置19に違和感無く表示させることが可能となる。
なお、本実施例では、作業具8として油圧ブレーカ8aを例示しているが、第1モニタポイントMP1と第3リンクピン22と第3シリンダピン44を含む作業具8であれば限定されず、1本爪リッパ−などに置き換えても良い。
本発明の第2の実施例に係る油圧ショベル1について、図7〜図10を用いて説明する。本実施例に係る油圧ショベル1は、作業具8としてバケットを備えている。
第1の実施例との相違点は、図8(a)に示すように、作業具8としてのバケット8bの内部に第1モニタポイントMP1とは異なるモニタポイントを少なくとも1つ含む点、作業具8の構造上の特徴点を1つ含む点、作業具8の描画に使用する描画図形を少なくとも2つ含む点である。
作業具位置演算部40c(図3に示す)は、第1の実施例に加え、更に作業具8内の作業上の第1モニタポイントMP1とは異なる着目点である第2、第3モニタポイントMP2,MP3および作業具8の構造上の特徴点(以下「第1特徴点」という。)FP1の作業機動作平面(XZ平面)における位置とグローバル座標系における位置を演算する。
描画演算部40d(図3に示す)は、第1の実施例と同様に、表示装置19の操作部37より設定される作業具の種類と寸法の情報と、作業具位置演算部40cの演算結果と、記憶部41の目標面情報および作業具描画情報とを基に、ガイダンス画像を作成し、表示部38に出力する。
図7は、本実施例に係る表示コントローラ31の描画演算処理の一例を示すフローチャートである。表示コントローラ31は、油圧ショベル1に取り付けられた作業具8がモニタポイントを少なくとも2つ有する作業具(例えばバケット8b)である場合に、図7に示すフローチャートに従って目標面と作業具8の位置関係を示す側面画像(ガイダンス画像)を作成する。
ステップS11において、第1の実施例おけるステップS1と同様に、記憶部41より目標面情報を読み込む。
ステップS12において、ステップS11から得られる目標面図形48と、作業具位置演算部40cから得られる作業具位置とを用いて、画像上の座標系に配置する。
画像上の座標系は表示部38の画面の大きさにより縦方向と横方向の最大値[pxmax,pymax]が規定されることから、作業具8の全体と目標面図形48を構成する少なくとも1つの線分が含まれるよう配置するため、縮尺Ksc1及びオフセットOP1を決定する。
図8は、作業機動作平面(XZ平面)における第1モニタポイントMP1、第2、第3モニタポイントMP2,MP3、第1特徴点FP1、第3リンクピン中心点LP3、第3シリンダピン中心点CP3及び目標面図形48の各位置を基に、バケット8bの描画図形と目標面図形48を画像上の座標系へ配置する方法の概略を示している。
図8(a)に示すように、バケット8bの先端に位置する点(作業機動作平面(XZ平面)に投影したバケット8bの輪郭上に位置する点)を第1モニタポイントMP1とし、バケット8bの背面上に位置する点(作業機動作平面(XZ平面)に投影したバケット8bの輪郭上に位置する点)を第2、第3モニタポイントMP2,MP3とする。また、バケット8bをアーム7及び第3シリンダ11に取り付けるための部材とバケット8bの背面板となる部材のつなぎ目の端点(作業機動作平面(XZ平面)に投影したバケット8bの輪郭上に位置する点)を第1特徴点FP1とする。
目標面図形48から描画用の少なくとも1つの線分を抽出するため、目標面図形48を構成する全ての線分と点MP1の距離を演算し、目標面図形48の最も近い線分を最近傍線分TL1とし、最近傍線分内に含まれる第1の最近傍目標面点TP1を取得する。
次に、点MP1、点MP2、点MP3、点FP1、点LP3、点CP3、点TP1の7点から、作業機動作平面(XZ平面)のX軸の最大値、最小値PXmax、PXmin及びZ軸の最大値、最小値PZmax、PZminを取得する。
図8(b)に示すように、取得した7点の最大値、最小値の中心が原点となるようオフセットOP1を式(1)で演算する。
縮尺Ksc1は、画面の大きさの最大値[pxmax,pymax]を、作業機動作平面(XZ平面)における7点の最大値と最小値の差で割り、その最小値から得られる。縮尺Ksc1は式(2)で演算する。
作業具位置と目標面図形48の作動器動作平面(XZ平面)上(ローカル座標系)における点MP1、点MP2、点MP3、点FP1、点LP1、点CP1、点TP1を、式(3)により、画像上の座標系における点mp1、点mp2、点mp3、点fp1、点lp1、点cp1、点tp1にそれぞれ変換する。
ステップS13において、ステップS12において演算した画像上の座標系における作業具位置を示す点mp1、点lp1、点cp1の3点を用いて、表示装置19の操作部37より設定される作業具種類情報がバケット8bであることに関連付けられた作業具描画情報が含む第1描画図形53を変形する処理を行う。
作業具種類情報がバケット8bであることに関連付けられた作業具描画情報は、バケット8bの第1モニタポイントMP1と第3リンクピン中心点LP3と第3シリンダピン中心点CP3を含む第1描画図形53の画像情報と、第1描画図形53上の座標系における第1モニタポイントMP1、第3リンクピン中心点LP3、第3シリンダピン中心点CP3の各位置を示す点mp1a、点lp3a、点cp3aの座標値とを含む。
図9は、実際に取り付けられたバケット8bの作業具寸法情報とバケット8bを示す作業具描画情報を基に、バケット8bの第1描画図形53を変形する方法の一例を示している。
第1描画図形53の変形処理の手法として、第1の実施例と同様に線形写像を用いる。線形写像は、式(4)で表される。
第1描画図形53を変換する線形写像に用いる画像変形行列A1は、バケット8bの作業具寸法情報と、第1描画図形53の座標における位置情報とから求めることができる。
点lp3から点cp3を結ぶベクトルu1=[u1x,u1y]及び点lp3から点mp1を結ぶベクトルu2=[u2x,u2y]とし、点lp3aから点cp3aを結ぶベクトルv1=[v1x,v1y]及び点lp3aから点mp1aを結ぶベクトルv2=[v2x,v2y]とすると、画像変形行列A1は式(5)−(8)で表される。
ただし、行列P1の逆行列P1−1が存在するのは、行列P1が正則であるときであり、例えば、正則でないときの判定として、行列P1の行列式が0である場合には、ステップS14へは進まずに、描画演算部40dの演算を終了する。
行列P1が正則であり、行列P1の逆行列P1−1が存在するときは、式(8)で求まった画像変形行列A1を用いて、バケット8bの第1描画図形53を変形させて第1変形後描画図形53a(図9(b)または図10に示す)を作成し、ステップS14へ進む。
ステップS14において、第1モニタポイントMP1と異なるモニタポイントの個数と同じループ処理をN回行う。本実施例においては、第1モニタポイントMP1と異なるモニタポイントの個数は2個であるため、N=2である。
ステップS12において演算した画像上の座標系における作業具位置を示す点mp(k)、点mp(k+1)、点fp1、つまりループ回数k=1であるから、mp1、点mp2、点fp1の3点を用いて、表示装置19の操作部37より設定される作業具種類情報がバケット8bであることに関連付けられた作業具描画情報が含む第2描画図形54を変形する処理を行う。
作業具種類情報がバケット8bであることに関連付けられた作業具描画情報は、バケット8bの第1モニタポイントMP1と第2モニタポイントMP2と特徴点52を頂点とする三角形である第2描画図形54の画像情報と、第2描画図形54上の座標系における第1モニタポイントMP1と第2モニタポイントMP2と第1特徴点FP1の各位置を示す点mp1b、点mp2b、点fp1bの座標値とを含む。
ただし、三角形が存在するのは、三角形を構成する3点である点mp1b、点mp2b、点fp1bのすべてが同一直線上に存在しないときであり、3点が同一直線上に存在するときはステップS15へ進まずに、描画演算部40dの演算を終了する。
3点が同一直線上に存在しない時は、第2描画図形54の変形処理として、点mp1、点mp2、点fp1を結ぶ三角形と、第2描画図形54である三角形とが合同になるよう変形させて第2変形後描画図形54a(図10に示す)を作成し、ステップS15へ進む。
ステップS15において、ループ継続判定を行う。このときループ回数はk=1であり、k<N=2であるから、kの数を増やしてループ処理に戻る。
ステップS16において、ステップS12で演算した画像上の座標系における作業具位置を示す点mp(k)、点mp(k+1)、点fp1、つまりループ回数k=2であるから、点mp2、点mp3、点fp1の3点を用いて、表示装置19の操作部37より設定される作業具種類情報がバケット8bであることに関連付けられた作業具描画情報が含む第3描画図形55を変形する処理を行う。
作業具種類情報がバケット8bであることに関連付けられた作業具描画情報は、バケット8bの第2モニタポイントMP2と第3モニタポイントMP3と特徴点FP1を頂点とする三角形である第3描画図形55の画像情報と、第3描画図形55上の座標系における第2モニタポイントMP2と第3モニタポイントMP3と特徴点FP1の各位置を示す点mp2c、点mp3c、点fp1cの座標値とを含む。
ただし、三角形が存在するのは、三角形を構成する3点である点mp1b、点mp2b、点fp1bのすべてが同一直線上に存在しないときであり、3点が同一直線上に存在するときはステップS15へ進まずに、描画演算部40dの演算を終了する。
3点が同一直線上に存在しない時は、第3描画図形55の変形処理として、点mp2、点mp3、点fp1を結ぶ三角形と、第3描画図形55である三角形とが合同になるよう変形させて第3変形後描画図形55a(図10に示す)を作成し、ステップS17へ進む。
ステップS17において、ステップS14から続くループの継続判定を行う。このときループ回数はk=2=Nであるから、ループ処理を終了し、ステップS18へ進む。
ステップS18において、ステップS13,S14,S16で得られたバケット8bの第1−3変形後描画図形53a−55aと、ステップS12から得られる描画画面上の作業具8と目標面図形48の配置とから、表示部38の画面に描画画像を作成する。
図10は、バケット8bを表す第1−3変形後描画図形53a−55aを描画画像に配置した状態を示している。
バケット8bの第1変形後描画図形53aは、画像内に含まれる点mp1a、点lp3a、点cp3aの3点を、描画画像内に含まれる対応する作業具位置の点mp1、点lp3、点cp3の3点に一致させることで、描画画像に配置する。
バケット8bの第2変形後描画図形54aは、画像内に含まれる点mp1b、点mp2b、点fp1bの3点を、描画画像内に含まれる対応する作業具位置の点mp1、点mp2、点fp1の3点に一致させることで、描画画像に配置する。
バケット8bの第3変形後描画図形55aは、画像内に含まれる点mp2c、点mp3c、点fp1cの3点を、描画画像内に含まれる対応する作業具位置の点mp2、点mp3、点fp1の3点に一致させることで、描画画像に配置する。
目標面図形48の画像は、第1の実施例と同様に、画面に収まる範囲内で描画する。
このように本実施例では、作業具8はバケットであり、第1モニタポイントMP1はバケット8の先端に位置し、作業具8の寸法情報は、第1モニタポイントMP1、バケット8の背面上の位置にある第2モニタポイントMP2、およびバケット8の背面上の他の位置にある第1特徴点FP1の位置情報を更に含み、作業具8の描画情報は、第1モニタポイントMP1、第2モニタポイントMP2および第1特徴点FP1を含む作業具8の一部を表す第2描画図形54の画像情報を更に含み、作業具位置演算部40cは、作業具8の寸法情報を基に、第2モニタポイントMP2および第1特徴点FP1の各座標値を演算し、描画演算部40dは、第2描画図形54における第1モニタポイントMP1、第2モニタポイントMP2および第1特徴点FP1を頂点とする三角形が、表示装置19の画像上の座標系における第1モニタポイントMP1、第2モニタポイントMP2および第1特徴点FP1を頂点とする三角形と合同になるように、第2描画図形54を変形させて第2変形後描画図形54aを作成し、第2描画図形54における第1モニタポイントMP1、第2モニタポイントMP2および第1特徴点FP1の各位置が、表示装置19の画像上の座標系における第1モニタポイントMP1、第2モニタポイントMP2および第1特徴点FP1の各位置とそれぞれ一致するように、第2変形後描画図形54aを表示装置19の画面上に配置する。
また、作業具8の寸法情報は、第2モニタポイントMP2、第1特徴点FP1、およびバケット8の背面上の位置にある第3モニタポイントMP3の位置情報を更に含み、作業具8の描画情報は、第2モニタポイントMP2、第3モニタポイントMP3および第1特徴点FP1を含む作業具8の一部を表す第3描画図形55の画像情報を更に含み、作業具位置演算部40cは、作業具8の寸法情報を基に、第3モニタポイントMP3の座標値を演算し、描画演算部40dは、第3描画図形55における第2モニタポイントMP2、第3モニタポイントMP3および第1特徴点FP1を頂点とする三角形が、表示装置19の画像上の座標系における第2モニタポイントMP2、第3モニタポイントMP3および第1特徴点FP1を頂点する三角形と合同になるように、第3描画図形55を変形させて第3変形後描画図形55aを作成し、第3変形後描画図形55aにおける第2モニタポイントMP2、第3モニタポイントMP3および第1特徴点FP1の各位置が、表示装置19の画像上の座標系における第2モニタポイントMP2、第3モニタポイントMP3および第1特徴点FP1の各位置とそれぞれ一致するように第3変形後描画図形55aを表示装置19の画面上に配置する。
以上のように構成した本実施例に係る油圧ショベル1によれば、寸法や形状の異なるバケット8bを表示装置19に違和感無く表示させることが可能となる。
なお、本実施例では、作業具8としてバケット8bを例示しているが、複数のモニタポイントと第3リンクピン22と第3シリンダピン44を含む作業具8であれば限定されず、マグネットなどに置き換えても良い。
また、本実施例では、モニタポイントの個数が3個の場合を例示しているが、モニタポイントの個数は2個以上であれば良く、個数は制限しない。
また、本実施例では、第2、第3描画図形54,55の変形は、三角形が合同となるように実行しているが、第1描画図形53と同様に線形写像を利用しても良い。
また、本実施例では、第2、第3描画図形54,55の変形は、三角形が合同になるように実行しているため、描画されるバケット8bの画像はモニタポイントで角張ったものとなるが、ステップS18において、任意のモニタポイントと特徴点FP1を含む点を通るスプライン曲線を利用し、スプライン曲線と第2、第3描画図形54,55の間の領域を塗りつぶすことで、図10に示すバケット8bの底面56(破線部)のように、滑らかに表現することも可能である。
本発明の第3の実施例に係る油圧ショベル1について、図11〜図14を用いて説明する。本実施例に係る油圧ショベル1は、作業具8として小割破砕機を備えている。
第1の実施例との相違点は、図12(a)に示すように、作業具8としての小割破砕機8cが作業具フレーム(基部)57と作業具アーム(第1被駆動部)58とを有し、作業具フレーム57の内部に第1モニタポイントMP1を含み、作業具アーム58に第2モニタポイントMP2を含む点と、第2モニタポイントMP2が作業具フレーム57が含む構造上の第1特徴点FP1を中心に回転移動する点と、作業具8の描画図形を2つ含んでいる点である。
作業具アーム58は、作業具フレーム57に第4リンクピン(第3連結ピン)59を介して回動可能に接続されており、第4シリンダ63により駆動される。つまり、第1特徴点FP1は第4リンクピン59の中心軸上の点である。作業具アーム58には、その姿勢を検出する第1姿勢検出装置としての第4回転角度センサ64が取り付けられている。第4回転角度センサ64は、例えばIMUであり、作業具アーム58に取り付けられ、第4リンクピン59周りの作業具アーム58の鉛直(重力)方向となす角を検出し、作業具フレーム57に対する作業具アーム58の角度を出力する。
姿勢演算部40b(図3に示す)は、第1の実施例に加え、更に第4回転角度センサ64の角度信号と、記憶部41の角度変換パラメータを基に、作業具アーム58の作業具フレーム57に対する第4リンクピン59周りの角度θ4を演算する。
作業具位置演算部40c(図3に示す)は、第1の実施例に加え、姿勢演算部40bで演算した角度θ4を基に、更に作業具アーム58が含む第2モニタポイントMP2と、作業具フレーム57が含む構造上の特徴点61の作業機動作平面(XZ平面)における位置とグローバル座標系における位置を演算する。
描画演算部40d(図3に示す)は、第1の実施例と同様に、表示装置19の操作部37より設定される作業具の種類と寸法の情報と、作業具位置演算部40cの演算結果と、記憶部41の目標面情報および作業具描画情報を基に、ガイダンス画像を作成する。
図11は、本実施例に係る表示コントローラ31の描画演算処理の一例を示すフローチャートである。表示コントローラ31は、油圧ショベル1に取り付けられた作業具8が2つのモニタポイントを有しかつ2つのモニタポイント間の距離が変化する作業具(例えば小割破砕機8c)である場合に、図11に示すフローチャートに従って目標面と作業具8の位置関係を示す側面画像(ガイダンス画像)を作成する。
ステップS21において、第1の実施例おけるステップS1と同様に、記憶部41より目標面情報を読み込む。
ステップS22において、ステップS21から得られる目標面図形48と、作業具位置演算部40cから得られる作業具位置とを用いて、画像上の座標系に配置する。
画像上の座標系は表示部38の画面の大きさにより縦方向と横方向の最大値[pxmax,pymax]が規定されることから、作業具8の全体と目標面図形48を構成する少なくとも1つの線分が含まれるよう配置するため、縮尺Ksc1及びオフセットOP1を決定する。
図12は、作業機動作平面(XZ平面)における第1モニタポイントMP1、第2モニタポイントMP2、第1特徴点FP1、第3リンクピン中心点LP3と、第3シリンダピン中心点CP3及び目標面図形48の各位置を基に、小割破砕機8cの描画図形と目標面図形48を画像上の座標系へ配置する方法の概略を示している。
図12(a)に示すように、作業具フレーム57の先端に位置する点(作業機動作平面(XZ平面)に投影した作業具フレーム57の輪郭上に位置する点)を第1モニタポイントMP1とし、作業具アーム58の先端に位置する点(作業機動作平面(XZ平面)に投影した作業具アーム58の輪郭上に位置する点)を第2モニタポイントMP2とし、作業具アーム58を作業具フレーム57に回動可能に連結する第4リンクピン59の中心軸が作動機動作平面(XZ平面)と交差する点を第1特徴点FP1とする。
目標面図形48から描画用の少なくとも1つの線分を抽出するため、目標面図形48を構成する全ての線分と点MP1の距離を演算し、目標面図形48の最も近い線分を最近傍線分TL1とし、最近傍線分内に含まれる第1の最近傍目標面点TP1を取得する。
次に、点MP1、点MP2、点FP1、点LP3、点CP3、点TP1の6点から、作業機動作平面(XZ平面)のX軸の最大値、最小値PXmax、PXmin及びZ軸の最大値、最小値PZmax、PZminを取得する。
図12(b)に示すように、取得した6点の最大値、最小値の中心が原点となるようオフセットOP1を式(1)で演算する。
縮尺Ksc1は、画面の大きさの最大値[pxmax,pymax]を、作業機動作平面(XZ平面)における6点の最大値と最小値の差で割り、その最小値から得られる。縮尺Ksc1は式(2)で演算する。
作業具位置と目標面図形48の作動器動作平面(XZ平面)上(ローカル座標系)における点MP1、点MP2、点FP1、点LP1、点CP1、点TP1を、式(3)により、画像上の座標系における点mp1、点mp2、点fp1、点lp1、点cp1、点tp1に変換する。
ステップS23において、ステップS22において演算した画像上の座標系における作業具位置を示す点mp1、点lp1、点cp1の3点を用いて、表示装置19の操作部37より設定される作業具種類情報が小割破砕機8cであることに関連付けられた作業具描画情報が含む第1描画図形62を変形する処理を行う。
作業具種類情報が小割破砕機8cであることに関連付けられた作業具描画情報は、小割破砕機8cの第1モニタポイントMP1と第3リンクピン中心点LP3と第3シリンダピン中心点CP3の3点を含む第1描画図形62の画像情報と、第1描画図形62上の座標系における第1モニタポイントMP1と第3リンクピン中心点LP3と第3シリンダピン中心点CP3の各位置を示す点mp1a、点lp3a、点cp3aの座標値とを含む。
図13は、実際に取り付けられた小割破砕機8cの作業具寸法情報と小割破砕機8cを示す作業具描画情報を基に、小割破砕機8cの一部(作業具フレーム57)を表す第1描画図形65を変形する方法の一例を示している。
第1描画図形65の変形処理の手法として、第1の実施例と同様に線形写像を用いる。線形写像は、式(4)で表される。
第1描画図形65を変換する線形写像に用いる画像変形行列A1は、小割破砕機8cの作業具寸法情報と、第1描画図形65の座標における位置情報とから求めることができる。
点lp3から点cp3を結ぶベクトルu1=[u1x,u1y]及び点lp3から点mp1を結ぶベクトルu2=[u2x,u2y]とし、点lp3aから点cp3aを結ぶベクトルv1=[v1x,v1y]及び点lp3aから点mp1aを結ぶベクトルv2=[v2x,v2y]とすると、画像変形行列A1は式(5)−(8)で表される。
ただし、行列P1の逆行列P1−1が存在するのは、行列P1が正則であるときであり、例えば、正則でないときの判定として、行列P1の行列式が0である場合には、ステップS24へは進まずに、描画演算部40dの演算を終了する。
行列P1が正則であり、行列P1の逆行列P1−1が存在するときは、式(8)で求まった画像変形行列A1を用いて、小割破砕機8cの第1描画図形65を変形させて第1変形後描画図形65a(図13(b)または図14に示す)を作成し、ステップS24へ進む。
ステップS24において、ステップS22において演算した画像上の座標系における作業具位置を示す点mp2、点fp1の2点を用いて、表示装置19の操作部37より設定される作業具種類情報が小割破砕機8cであることに関連付けられた作業具描画情報が含む第2描画図形66を変形する処理を行う。
作業具種類情報が小割破砕機8cであることに関連付けられた作業具描画情報は、小割破砕機8cの第2モニタポイントMP2と特徴点52の2点を含む第2描画図形66の画像情報と、第2描画図形66上の座標系における第2モニタポイントMP2と特徴点61の各位置を示す点mp2b、点fp1bの座標値とを含む。
第2描画図形66の変形処理は、点mp2b、点fp1bを結ぶ線分の長さを点mp2、点fp1を結ぶ線分の長さで割り、その商により第2描画図形66に縦横比が一定になるように縮小または拡大して第2変形後描画図形66a(図14に示す)を作成する。
ステップS25において、ステップS23、S24で得られた小割破砕機8cの第1、第2変形後描画図形65a,66aと、ステップS22から得られる描画画面上の作業具8と目標面図形48の配置とから、表示部38の画面に描画画像を作成する。
図14は、小割破砕機8cを表す第1、第2変形後描画図形65a,66aを描画画像に配置した状態を示している。
小割破砕機8cの第1変形後描画図形65aは、画像内に含まれる点mp1a、点lp3a、点cp3aの3点を、描画画像内に含まれる対応する作業具位置の点mp1、点lp3、点cp3の3点に一致させることで、描画画像に配置する。
小割破砕機8cの第2変形後描画図形66aは、画像内に含まれる点mp2b、点fp1bの2点を、描画画像内に含まれる対応する作業具位置の点mp2、点fp1の2点に一致させることで、描画画像に配置する。
目標面図形48の画像は、第1の実施例と同様に、画面に収まる範囲内で描画する。
このように本実施例では、作業具8は、第1連結ポイントLP3、第2連結ポイントCP3および第1モニタポイントMP1を含む基部57と、基部57に第3連結ピン59を介して回動可能に取り付けられた第1被駆動部58とを有し、建設機械1は、第1被駆動部58の姿勢を検出する第1姿勢検出装置64を更に備え、作業具8の寸法情報は、第3連結ピン59の中心軸上に位置する第1特徴点FP1、および第1被駆動部58の先端に位置する第2モニタポイントMP2の位置情報を更に含み、作業具8の描画情報は、第1特徴点FP1および第2モニタポイントMP2を含む第1被駆動部58を表す第2描画図形66の画像情報を更に含み、作業具位置演算部40cは、作業具8の寸法情報と第1姿勢検出装置64で検出した第1被駆動部58の姿勢とを基に第1特徴点FP1および第2モニタポイントMP2の各座標値を演算し、描画演算部40dは、第2描画図形66における第1特徴点FP1と第2モニタポイントMP2とを結ぶ線分の長さが、表示装置19の画像上の座標系における第1特徴点FP1と第2モニタポイントMP2とを結ぶ線分の長さと一致するように、第2描画図形66を変形させて第2変形後描画図形66aを作成し、第2変形後描画図形66aにおける第1特徴点FP1および第2モニタポイントMP2の各位置が、画像上の座標系における第1特徴点FP1および第2モニタポイントMP2の各位置とそれぞれ一致するように、第2変形後描画図形66aを表示装置19の画面上に配置する。
以上のように構成した本実施例に係る油圧ショベル1によれば、1つの被駆動部を有する作業具8(例えば小割破砕機8c)を表示装置19に違和感無く表示させることが可能となる。
なお、本実施例では、作業具8として小割破砕機8cを例示しているが、第3リンクピン22と第3シリンダピン44とモニタポイントを少なくとも1つとを含む基部と、モニタポイントを少なくとも1つ含み、ある1点を中心に回動する被駆動部と、その駆動部を含む作業具8であれば限定されず、同じ構造の油圧カッターなどに置き換えても良い。
また、本実施例では、作業具8の第3リンクピン22と第3シリンダピン44とモニタポイントを少なくとも1つとを含む基部の画像である第1描画図形65と、モニタポイントを少なくとも1つ含み、ある1点を中心に回動する被駆動部の画像である第2描画図形66とを描画しているが、例えばさらに油圧シリンダなどの駆動部を描画しても良い。
本発明の第4の実施例に係る油圧ショベル1について、図15〜図18を用いて説明する。本実施例に係る油圧ショベル1は、作業具8として大割破砕機を備えている。
第1の実施例との相違点は、図16(a)に示すように、作業具8としての大割破砕機8dが1つの作業具フレーム(基部)67と、一対の第1、第2作業具アーム(第1、第2被駆動部)68,69とを有し、作業具フレーム67の内部に第1モニタポイントMP1を含み、第1、第2作業具アーム68、69が第2、第3モニタポイントMP2,MP3をそれぞれ含む点と、第2モニタポイントMP2が作業具フレーム67が含む構造上の第1特徴点FP1を中心に回転移動し、第3モニタポイントMP3が作業具フレーム67が含む構造上の第2特徴点FP2を中心に回転移動する点と、作業具8の描画に使用する描画図形を3つ含んでいる点である。
第1作業具アーム68は、作業具フレーム67に第4リンクピン75を介して回動可能に接続されており、第4シリンダ76により駆動される。同様に、第2作業具アーム69は、作業具フレーム67に第5リンクピン(第4連結ピン)77を介して回動可能に接続されており、第5シリンダ78により駆動される。つまり、第1特徴点FP1は第4リンクピン75の中心軸上の点であり、第2特徴点FP2は第5リンクピン77の中心軸上の点である。第1、第2作業具アーム68,69には、それぞれの姿勢を検出する第1、第2姿勢検出装置としての第4、第5回転角度センサ79,80が取り付けられている。第4、第5回転角度センサ79,80は、例えばIMUであり、それぞれ第1、第2作業具アーム68,69に取り付けられ、第4、第5リンクピン75,77周りの第1、第2作業具アーム68,69の鉛直(重力)方向となす角を検出し、それぞれ作業具フレーム67に対する第1作業具アーム68の角度、作業具フレーム67に対する第2作業具アーム69の角度を出力する。
姿勢演算部40b(図3に示す)は、第1の実施例に加え、更に第4、第5回転角度センサ79,80の角度信号と、記憶部41の角度変換パラメータを基に、第1、第2作業具アーム68,69の作業具フレーム67に対する第4、第5リンクピン75,77周りの角度θ4,θ5を演算する。
作業具位置演算部40c(図3に示す)は、第1の実施例に加え、姿勢演算部40bで演算した角度θ4,θ5を基に、更に第1、第2作業具アーム68,69が含む第2、第3モニタポイントMP2,MP3、作業具フレーム67が含む構造上の第1、第2特徴点FP1,FP2の作業機動作平面(XZ平面)における位置とグローバル座標系における位置を演算する。
描画演算部40d(図3に示す)は、第1の実施例と同様に、表示装置19の操作部37より設定される作業具の種類と寸法の情報と、作業具位置演算部40cの演算結果と、記憶部41の目標面情報および作業具描画情報とを基に、ガイダンス画像を作成する。
図15は、本実施例に係る表示コントローラ31の描画演算処理の一例を示すフローチャートである。表示コントローラ31は、油圧ショベル1に取り付けられた作業具8が3つのモニタポイントを有しかつ各モニタポイント間の距離が変化する作業具(例えば大割破砕機8d)である場合に、図15に示すフローチャートに従って目標面と作業具8の位置関係を示す側面画像(ガイダンス画像)を作成する。
ステップS31において、第1の実施例おけるステップS1と同様に、記憶部41より目標面情報を読み込む。
ステップS32において、ステップS31から得られる目標面図形48と、作業具位置演算部40cから得られる作業具位置とを用いて、画像上の座標系に配置する。
画像上の座標系は表示部38の画面の大きさにより縦方向と横方向の最大値[pxmax,pymax]が規定されることから、作業具8の全体と目標面図形48を構成する少なくとも1つの線分が含まれるよう配置するため、縮尺Ksc1及びオフセットOP1を決定する。
図16は、作業機動作平面(XZ平面)における第1−3モニタポイントMP1−MP3、第1、第2特徴点FP1,FP2、第3リンクピン中心点LP3、第3シリンダピン中心点CP3及び目標面図形48の各位置を基に、大割破砕機8dの描画図形と目標面図形48を画像上の座標系へ配置する方法の概略を示している。
図16(a)に示すように、作業具フレーム67の先端に位置する点(作業機動作平面(XZ平面)に投影した作業具フレーム67の輪郭上に位置する点)を第1モニタポイントMP1とし、第1、第2作業具アーム68,69の各先端に位置する点(作業機動作平面(XZ平面)に投影した第1、第2作業具アーム68,69の各輪郭上に位置する点)を第2、第3モニタポイントMP2,MP3とし、第1作業具アーム68を作業具フレーム67に回動可能に連結する第4リンクピン75の中心軸が作動機動作平面(XZ平面)と交差する点を第1特徴点FP1とし、第2作業具アーム69を作業具フレーム67に回動可能に連結する第5リンクピン77の中心軸が作動機動作平面(XZ平面)と交差する点を第2特徴点FP2とする。
目標面図形48から描画用の少なくとも1つの線分を抽出するため、目標面図形48を構成する全ての線分と点MP1、点MP2、点MP3の各距離を演算し、目標面図形48の最も近い線分を最近傍線分TL1とし、最近傍線分内に含まれる第1の最近傍目標面点TP1を取得する。
次に、点MP1、点MP2、点MP3、点FP1、点FP2、点LP3、点CP3、点TP1の8点から、作業機動作平面(XZ平面)のX軸の最大値、最小値PXmax、PXmin及びZ軸の最大値、最小値PZmax、PZminを取得する。
図16(b)に示すように、取得した8点の最大値、最小値の中心が原点となるようオフセットOP1を式(1)で演算する。
縮尺Ksc1は、画面の大きさの最大値[pxmax,pymax]を、作業機動作平面(XZ平面)における8点の最大値と最小値の差で割り、その最小値から得られる。縮尺Ksc1は式(2)で演算する。
作業具位置と目標面図形48の作動器動作平面(XZ平面)上(ローカル座標系)における点MP1、点MP2、点MP3、点FP1、点FP2、点LP3、点CP3、点TP1を、式(3)により、画像上の座標系における点mp1、点mp2、点mp3、点fp1、点fp2、点lp1、点cp1、点tp1にそれぞれ変換する。
ステップS33において、ステップS32において演算した画像上の座標系における作業具位置を示す点mp1、点lp1、点cp1の3点を用いて、表示装置19の操作部37より設定される作業具種類情報が大割破砕機8dであることに関連付けられた作業具描画情報が含む第1描画図形81を変形する処理を行う。
作業具種類情報が大割破砕機8dであることに関連付けられた作業具描画情報は、第1モニタポイントMP1、第3リンクピン中心点LP3および第3シリンダピン中心点CP3を含む大割破砕機8dの一部を表す第1描画図形81の画像情報と、第1描画図形81上の座標系における第1モニタポイントMP1、第3リンクピン中心点LP3、第3シリンダピン中心点CP3の各位置を示す点mp1a、点lp3a、点cp3aの座標値とを含む。
図17は、実際に取り付けられた大割破砕機8dの作業具寸法情報と大割破砕機8dを示す作業具描画情報を基に、大割破砕機8dの一部(作業具フレーム67)を表す第1描画図形81を変形する方法の一例を示している。
第1描画図形81の変形処理の手法として、第1の実施例と同様に線形写像を用いる。線形写像は、式(4)で表される。
第1描画図形81を変換する線形写像に用いる画像変形行列A1は、大割破砕機8dの作業具寸法情報と、第1描画図形81の座標における位置情報とから求めることができる。
点lp3から点cp3を結ぶベクトルu1=[u1x,u1y]及び点lp3から点mp1を結ぶベクトルu2=[u2x,u2y]とし、
点lp3aから点cp3aを結ぶベクトルv1=[v1x,v1y]及び点lp3aから点mp1aを結ぶベクトルv2=[v2x,v2y]とすると、画像変形行列A1は式(5)−(8)で表される。
ただし、行列P1の逆行列P1−1が存在するのは、行列P1が正則であるときであり、例えば、正則でないときの判定として、行列P1の行列式が0である場合には、ステップS34へは進まずに、描画演算部40dの演算を終了する。
行列P1が正則であり、行列P1の逆行列P1−1が存在するときは、式(8)で求まった画像変形行列A1を用いて、大割破砕機8dの第1描画図形81を変形させて第1変形後描画図形81a(図17(b)または図18に示す)を作成し、ステップS34へ進む。
ステップS34において、ステップS32において演算した画像上の座標系における作業具位置を示す点mp2、点fp1の2点を用いて、表示装置19の操作部37より設定される作業具種類情報が大割破砕機8dであることに関連付けられた作業具描画情報が含む第2描画図形82を変形する処理を行う。
作業具種類情報が大割破砕機8dであることに関連付けられた作業具描画情報は、大割破砕機8dの第2モニタポイントMP2と第1特徴点FP1の2点を含む第2描画図形82の画像情報と、第2描画図形82上の座標系における第2モニタポイントMP2と第1特徴点FP1の各位置を示す点mp2b、点fp1bの座標値とを含む。
第2描画図形82の変形処理は、点mp2b、点fp1bを結ぶ線分の長さを点mp2、点fp1を結ぶ線分の長さで割り、その商により第2描画図形82に縦横比が一定になるように縮小、または、拡大することで行う。
ステップS35において、ステップS32において演算した画像上の座標系における作業具位置を示す点mp3、点fp2の2点を用いて、表示装置19の操作部37より設定される作業具種類情報が大割破砕機8dであることに関連付けられた作業具描画情報が含む第3描画図形83を変形する処理を行う。
作業具種類情報が大割破砕機8dであることに関連付けられた作業具描画情報は、大割破砕機8dの第3モニタポイントMP3と第2特徴点FP2の2点を含む第3描画図形83の画像情報と、第3描画図形83上の座標系における第3モニタポイントMP3、第2特徴点FP2の各位置を示す点mp3c、点fp2cの座標値とを含む。
第3描画図形83の変形処理は、点mp3c、点fp2cを結ぶ線分の長さを点mp3、点fp2を結ぶ線分の長さで割り、その商により第3描画図形83に縦横比が一定になるように縮小、または、拡大することで行う。
ステップS36において、ステップS33、S34、S35で得られた大割破砕機8dの第1−3変形後描画図形81a−83aと、ステップS32から得られる描画画面上の作業具8と目標面図形48の配置とから、表示部38の画面に描画画像を作成する。
図18は、大割破砕機8dを表す第1−3変形後描画図形81a−83aを描画画像に配置した状態を示している。
大割破砕機8dの第1変形後描画図形81aは、画像内に含まれる点mp1a、点lp3a、点cp3a(図17(a)に示す)の3点を、描画画像内に含まれる対応する作業具位置の点mp1、点lp3、点cp3(図17(a)に示す)の3点に一致させることで、描画画像に配置する。
大割破砕機8dの第2変形後描画図形82aは、描画図形内に含まれる点mp2b、点fp1bの2点を、描画画像内に含まれる対応する作業具位置の点mp2、点fp1の2点に一致させることで、描画画像に配置する。
大割破砕機8dの第3変形後描画図形83aは、描画図形内に含まれる点mp3c、点fp2cの2点を、描画画像内に含まれる対応する作業具位置の点mp3、点fp2の2点に一致させることで、描画画像に配置する。
目標面図形48の画像は、第1の実施例と同様に、画面に収まる範囲内で描画する。
このように本実施例では、作業具8は、基部67に第4連結ピン77を介して回動可能に取り付けられた第2被駆動部69を更に有し、建設機械1は、第2被駆動部69の姿勢を検出する第2姿勢検出装置80を更に備え、作業具8の寸法情報は、第4連結ピン77の中心軸上に位置する第2特徴点FP2、および第2被駆動部69の先端に位置する第3モニタポイントMP3の位置情報を更に含み、作業具8の描画情報は、第2特徴点FP2および第3モニタポイントMP3を含む第2被駆動部69を表す第3描画図形83の画像情報を更に含み、作業具位置演算部40cは、作業具8の寸法情報と第2姿勢検出装置80で検出した第2被駆動部69の姿勢とを基に第1特徴点FP1および第3モニタポイントMP3の各座標値を演算し、描画演算部40dは、描画図形における第2特徴点FP2と第3モニタポイントMP3とを結ぶ線分の長さが、表示装置19の画像上の座標系における第2特徴点FP2と第3モニタポイントMP3とを結ぶ線分の長さと一致するように、第3描画図形83を変形させて第3変形後描画図形83aを作成し、第3変形後描画図形83aにおける第2特徴点FP2および第3モニタポイントMP3の各位置が、画像上の座標系における第2特徴点FP2および第3モニタポイントMP3の各位置とそれぞれ一致するように、第3変形後描画図形83aを表示装置19の画面上に配置する。
以上のように構成した本実施例に係る油圧ショベル1によれば、2つの被駆動部を有する作業具8(例えば大割破砕機8d)を表示装置19に違和感無く表示させることが可能となる。
なお、本実施例では、作業具8として大割破砕機8dを例示しているが、第3リンクピン22と第3シリンダピン44とモニタポイントを少なくとも1つ含む基部と、モニタポイントを少なくとも1つ含み、ある1点を中心に回動する2つの被駆動部と、その駆動部を含む作業具8であれば限定されず、グラップルなどに置き換えても良い。
また、本実施例では、作業具8の第3リンクピン22と第3シリンダピン44とモニタポイントを少なくとも1つ含む基部の画像である第1描画図形81と、モニタポイントを少なくとも1つ含み、ある1点を中心に回動する2つの被駆動部の画像である第2、第3描画図形82,83を描画しているが、例えば油圧シリンダなどの駆動部を描画しても良い。
本発明の第5の実施例に係る油圧ショベル1について、図19〜図21を用いて説明する。本実施例に係る油圧ショベル1は、第2の実施例と同様に、作業具8としてバケットを備えている。
第2の実施例では、作業具8の内部に第1モニタポイントMP1とは異なる少なくとも1つのモニタポイントの設定方法について省略したが、本実施例において、第1モニタポイントMP1とは異なる少なくとも1つのモニタポイントの容易な設定方法を説明する。
図19は、本実施例に係る表示コントローラ31の演算部40の構成を示すブロック図である。
図19に示すように、表示コントローラ31の演算部40は、モニタポイント設定演算部40eをさらに有する。
モニタポイント設定演算部40eは、表示装置19の操作部37より設定される作業具の種類とブーム6、アーム7、作業具8の第1モニタポイントMP1に関する寸法の情報、例えば第3リンクピン中心点LP3から第1モニタポイントMP1までの長さLmp1など、さらに作業具位置演算部40cの演算結果とを基に、第1モニタポイントMP1と異なる少なくとも1つのモニタポイントの寸法の情報を設定する。
図20は、本実施例に係る表示コントローラ31のモニタポイント設定演算処理の一例を示すフローチャートである。表示コントローラ31は、油圧ショベル1に取り付けられた作業具8が複数のモニタポイントを有し、その内の1つのモニタポイント(第1モニタポイントMP1)の寸法情報が設定済みでかつその他のモニタポイントの寸法情報が未設定である場合に、図20に示すフローチャートに従って未設定のモニタポイントの寸法情報を設定する。
ステップS41において、操作部37よりモニタポイントの設定演算処理を開始する信号を受けて、第1モニタポイントMP1を作業具8が接触しても移動しない固定の目印86に触れさせるよう表示部38に表示する。
ステップS42において、操作部37より第1モニタポイントMP1と目印86が接触していることをオペレータが確認したことを示す信号を受けて、作業具位置演算部40cは第1モニタポイントMP1の作業機動作平面(XZ平面)における位置を演算し、第1モニタポイントMP1に接触する目印86の位置[Xmp1a,Zmp1a]を記憶部41に記憶し、以降の操作で、原点である第1リンクピン20の中心と目印86の位置関係に変動がないよう、モニタポイントの設定演算処理が終了するまで作業機3以外を動かさないようにする警告を表示部38に表示する。
ステップS43において、第1モニタポイントMP1とは異なる少なくとも1つのモニタポイント、第kモニタポイント(kの初期値は2)の設定処理を開始する。
車体操作装置18の操作量検出部の監視を開始し、旋回モータ13、または走行モータ16a,16bを駆動させる操作を検出した場合には、モニタポイントを設定することなく、処理を終了する。
操作部37よりモニタポイントの設定を完了したことを示す信号を受けた場合は、設定したモニタポイントを記憶部41に記憶し、処理を終了する。
上記以外の場合は処理を継続する。
ステップS44において、第kモニタポイント、ここでは第2モニタポイントMP2として設定する作業具8の内部の点を目印86に触れさせるよう表示部38に表示する。
ステップS45において、操作部37より第2モニタポイントMP2と目印86が接触していることをオペレータが確認したことを示す信号を受けて、作業具位置演算部40cは第3リンクピン中心点LP3と第1モニタポイントMP1の作業機動作平面(XZ平面)における位置を演算し、第3リンクピン中心点LP3の位置[Xlp3b,Zlp3b]と第1モニタポイントMP1の位置[Xmp1b,Zmp1b]を記憶部41に記憶する。
ステップS46において、ステップS42で記憶した目印86の位置と、ステップS45で記憶した第3リンクピンLP3と第1モニタポイントMP1の位置とから、第2モニタポイントMP2の作業具8の内部における位置を演算する。
図21は、第1モニタポイントMP1の位置を固定の目印86の位置に合わせたときの作業具8を破線で、第2モニタポイントMP2の位置を目印86の位置に合わせたときの作業具8を実線で示している。
モニタポイント設定演算部40eは、第3リンクピン中心点LP3から第1モニタポイントMP1を結ぶベクトルをw1、第3リンクピン中心点CP3から第2モニタポイントMP2を結ぶベクトルをw2としたとき、第2モニタポイントMP2の作業具8の内部における位置を、ベクトルw2の長さLmp2とベクトルw1とw2のなす角度θmp2として演算する。
ベクトルw2の長さLmp2は以下の式で表される。
また、ベクトルw1とw2のなす角度θmp2は内積を用いた以下の式で表される。
ステップS47において、操作部37よりモニタポイントの設定をさらに行うか、または、モニタポイントの設定を完了したことを示す信号を入力するように、表示部38に表示し、操作部37の入力待ちを行う。モニタポイントの設定をさらに行う場合、kの数値を1増やす。
本実施例では、第3モニタポイントMP3を設定するためにここでは、モニタポイントの設定をさらに行う信号を入力する。
第3モニタポイントMP3の設定処理も第2モニタポイントMP2の設定処理と同様に行う。
ステップS45において、操作部37より第3モニタポイントMP3と目印86が接触していることをオペレータが確認したことを示す信号を受けて、作業具位置演算部40cは第3リンクピン22と第1モニタポイントMP1の作業機動作平面(XZ平面)における位置を演算し、第3リンクピン中心点LP3の位置[Xlp3c,Zlp3c]と第1モニタポイントMP1の位置[Xmp1c,Zmp1c]を記憶部41に記憶する。
ステップS46において、ステップS42で記憶した目印86の位置と、第3モニタポイントMP3の設定処理におけるステップS45で記憶した第3リンクピン中心点LP3と第1モニタポイントMP1の位置とから、第3モニタポイントMP3の作業具8の内部における位置を演算する。
モニタポイント設定演算部40eは、第3リンクピン中心点LP3から第1モニタポイントMP1を結ぶベクトルをw1、第3リンクピン中心点LP3から第3モニタポイントMP3を結ぶベクトルをw3としたとき、第3モニタポイントMP3の作業具8の内部における位置を、ベクトルw3の長さLmp3とベクトルw1とw3のなす角度θmp3として演算する。
ベクトルw3の長さLmp3は以下の式で表される。
また、ベクトルw1とw3のなす角度θmp3は内積を用いた以下の式で表される。
ステップS47において、第3モニタポイントMP3の設定が完了した後にモニタポイントの設定を了したことを示す信号を入力し、設定処理を終了する。
このように本実施例では、作業具位置演算部40cは、寸法情報が設定されている第1モニタポイントMP1の位置を固定の目印86の位置に合わせた状態で固定の目印86の座標値を演算し、表示コントローラ31は、作業具8上の寸法情報が設定されていない未設定モニタポイントMP2,MP3の位置を固定の目印86の位置に合わせた状態で、第1連結ポイントLP3から第1モニタポイントMP1を結ぶ第1ベクトルw1と第1連結ポイントLP3から固定の目印86を結ぶ第2ベクトルw2,w3とのなす角度および第2ベクトルw2,w3の長さを演算し、未設定モニタポイントMP2,MP3の寸法情報として設定するモニタポイント設定演算部40eを更に有する。
以上のように構成した本実施例に係る油圧ショベル1によれば、寸法情報が設定されている第1モニタポイントMP1の位置を固定の目印86に合わせた状態で固定の目印86の座標値を演算し、寸法情報が設定されていない第2、第3モニタポイントMP2,MP3(未設定モニタポイント)の位置を固定の目印86に合わせた状態で、第3リンクピン中心点(第1連結ポイント)LP3から第1モニタポイントMP1を結ぶベクトルw1(第1ベクトル)と第3リンクピン中心点LP3から固定の目印86を結ぶベクトルw2,w3(第2ベクトル)とのなす角度およびベクトルw2,w3の長さを演算することにより、第2、第3モニタポイントMP2,MP3の寸法情報を設定することが可能である
なお、本実施例では、作業具位置演算部40cは作業機動作平面(XZ平面)における位置を演算し、表示部38に原点である第1リンクピン20の中心と目印86の位置関係に変動がないよう、モニタポイントの設定演算処理が終了するまで作業機3以外を動かさないようにする警告を表示しているが、補正情報受信機36、アンテナ23a,23bを含む油圧ショベル1であれば、作業具位置演算部40cが演算するグローバル座標系における位置をモニタポイント設定演算部40eが利用することで、原点である第1リンクピン20の中心の位置の移動も把握できるため、作業機3以外の操作が行われてもモニタポイントの設定演算処理ができる。
以上、本発明の実施例について詳述したが、本発明は、上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記の実施例では、ブーム6、アーム7、作業具8の回転角度をIMUで検出しているが、例えば第1−3シリンダ9−11にシリンダストローク長を計測するリニアエンコーダを搭載し、シリンダの伸縮した長さと記憶部41が記憶する車体寸法パラメータとからリンク計算により、ブーム6、アーム7、作業具8の回転角度を求めても良い。
また、上記した実施例は、本発明を分かり易く説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。さらに、ある実施例の構成に他の実施例の構成の一部を加えることも可能であり、ある実施例の構成の一部を削除し、あるいは、他の実施例の一部と置き換えることも可能である。