[情報更新支援システムの概要]
まず、図1を参照して、本実施形態に係る情報更新支援システムSYSについて説明する。
図1は、情報更新支援システムSYSの構成の一例を示す概略図である。
情報更新支援システムSYS(建設機械の支援システムの一例)は、複数のショベル100と、支援端末装置200とを含み、ショベル100の所定機能に関する特定情報の更新作業を支援する。ショベル100の所定機能には、例えば、ショベル100の駆動制御を行う機能、表示装置40に各種情報画面を表示させる機能(つまり、後述するコントローラ30により実現される各種機能)等が含まれうる。また、当該特定情報は、例えば、コントローラ30で実行されるファームウェア等の各種プログラムや、各種プログラムで参照されるデータファイル等を含みうる。以下、特定情報は、特定のファームウェア(以下、「特定ファームウェア」)である前提で説明を進める。また、複数のショベル100は、それぞれ、情報更新支援システムSYSに関して同じ構成を有する前提で説明を進める。
<ショベルの概要>
ショベル100(建設機械の一例)は、下部走行体1と、下部走行体1に旋回機構2を介して旋回自在に搭載される上部旋回体3と、上部旋回体3に取り付けられる作業機としてのアタッチメントを含む。
具体的には、アタッチメントは、ブーム4、アーム5、及び、バケット6を中心とする掘削アタッチメントとして構成される。上部旋回体3の前部中央付近には、ブーム4が俯仰可能(上下回動可能)に取り付けられ、ブーム4の先端には、アーム5が上下回動可能に取り付けられ、且つ、アーム5の先端には、バケット6が上下回動可能に取り付けられている。ブーム4、アーム5、及び、バケット6は、それぞれ、ブームシリンダ7、アームシリンダ8、及び、バケットシリンダ9により油圧駆動される。
また、上部旋回体3には、運転室としてのキャビン10が設けられ、且つ、エンジン11等の動力源が搭載されている。
ショベル100は、例えば、ブルートゥース(登録商標)通信やWiFi(登録商標)通信等の所定の通信プロトコルに準拠する所定方式の近距離通信により他のショベル100や支援端末装置200と通信可能な接続状態、具体的には、対等なP2P(Peer to Peer)接続を確立することができる。これにより、ショベル100は、他のショベル100や支援端末装置200から各種情報を取得したり、他のショベル100に各種情報を送信したりすることができる。詳細は、後述する。
<支援端末装置の概要>
支援端末装置200(携帯端末の一例)は、ショベル100のメンテナンスを担当するサービスマン等(以下、ユーザ)が所持する携帯端末である。支援端末装置200は、例えば、ユーザが所持する汎用のノートPC、タブレット端末、スマートフォン等である。また、支援端末装置200は、ショベル100のメンテナンス用の専用端末であってもよい。
支援端末装置200は、ショベル100と同じ通信プロトコルに準拠する近距離通信によりそれぞれのショベル100と通信可能な接続状態(P2P接続)を確立することができる。これにより、支援端末装置200は、ショベル100に各種情報を送信したり、ショベル100から各種情報を受信したりすることができる。詳細は、後述する。
[情報更新支援システムの具体的な構成]
図1に加えて、図2を参照して、情報更新支援システムSYS(ショベル100、支援端末装置200)の具体的な構成について説明する。
図2は、情報更新支援システムSYSの構成の一例を示す構成図である。
尚、上述の如く、複数のショベル100は、それぞれ、情報更新支援システムSYSに関して同じ構成を有するため、図2において、一のショベル100の詳細構成だけを記載している。
<ショベルの構成>
ショベル100は、エンジン11と、メインポンプ14と、パイロットポンプ15と、ゲートロック弁25Vと、コントロールバルブ17と、操作装置26と、コントローラ30と、エンジン制御装置74と、を含む。
エンジン11は、ショベル100の駆動源であり、例えば、上部旋回体3の後部に搭載される。エンジン11は、例えば、軽油を燃料とするディーゼルエンジンである。エンジン11は、例えば、エンジン制御装置74による制御の下、所定の回転数を維持するように動作する。エンジン11の回転軸は、メインポンプ14及びパイロットポンプ15の回転軸に接続され、エンジン11の動力は、メインポンプ14及びパイロットポンプ15に伝達される。
メインポンプ14は、作動油ライン16を介して作動油をコントロールバルブ17に供給する。メインポンプ14は、例えば、斜板式可変容量型油圧ポンプであり、斜板傾転角の変化に応じて1回転当たりの吐出流量が変化する。メインポンプ14の斜板傾転角は、例えば、レギュレータ14aにより制御される。レギュレータ14aは、例えば、コントローラ30からの制御電流の変化に応じて、斜板傾転角を変化させることができる。ショベル100には、例えば、メインポンプ14の吐出圧を検出する吐出圧センサや斜板傾転角を検出する傾転角センサ等が取り付けられている。
パイロットポンプ15は、パイロットライン25を介して操作装置26等の各種油圧制御機器に作動油を供給する。パイロットポンプ15は、例えば、固定容量型油圧ポンプである。
ゲートロック弁25Vは、パイロットポンプ15と操作装置26等との間のパイロットライン25の最上流に設けられ、パイロットライン25の連通/非連通を切り替える。
ゲートロック弁25Vは、通常、キャビン10内の運転席の入口に相当する位置に設けられるゲートロックレバーの操作状態と連動する、ゲートロックスイッチの出力信号(ON/OFF)に応じて、パイロットラインの連通/非連通を切り替える。具体的には、ゲートロック弁25Vは、ゲートロックスイッチの出力信号が、ゲートロックレバーが引き上げられた状態(即ち、運転席にオペレータ等が着座した状態)に対応するON信号である場合、パイロットラインを連通状態にする。一方、ゲートロック弁25Vは、ゲートロックスイッチの出力信号が、ゲートロックレバーが引き下げられた状態(即ち、運転席からオペレータが離脱した状態)に対応するOFF信号である場合、パイロットラインを非連通状態にする。
また、ゲートロック弁25Vは、コントローラ30から入力される指令信号も受付可能に構成される。具体的には、ゲートロック弁25Vは、その信号入力部において、ゲートロックスイッチの出力信号の代わりに、コントローラ30からの指令信号が割り込んで入力可能な構成であってよい。これにより、ゲートロック弁25Vは、コントローラ30からの指令信号(ON信号/OFF信号)に応じて、パイロットラインの連通/非連通を切り替えることができる。即ち、ゲートロック弁25Vは、コントローラ30による制御の下、ゲートロックレバーが引き上げられた状態であっても、パイロットラインを非連通状態にすることができる。
コントロールバルブ17は、ショベル100の各種動作要素を油圧駆動する油圧アクチュエータに関する作動油の流れを制御する油圧制御装置であり、各種動作要素に対応する複数の流量制御弁を含む。コントロールバルブ17は、操作装置26の操作方向及び操作量に対応するパイロット圧の変化に応じて、メインポンプ14から作動油ライン16を通じて受け入れた作動油を一又は複数の油圧アクチュエータに選択的に供給する。油圧アクチュエータは、動作要素としてのブーム4、アーム5、バケット6、下部走行体1、上部旋回体3(旋回機構2)のそれぞれに対応するブームシリンダ7、アームシリンダ8、バケットシリンダ9、走行用油圧モータ1A,1B、旋回用油圧モータ2A等を含む。ショベル100には、油圧アクチュエータにおける作動油の圧力を検出する作動油圧センサが取り付けられてもよい。
操作装置26は、ショベル100のオペレータ等により、油圧アクチュエータの操作のための操作入力が行われる。操作装置26は、パイロットライン25を介してパイロットポンプ15から作動油の供給を受けて所定のパイロット圧を生成する。そして、操作装置26は、パイロットライン25aを通じ、対応する流量制御弁のパイロットポートにそのパイロット圧を作用させる。操作装置26から対応する流量制御弁に作用するパイロット圧は、操作装置26の操作方向及び操作量に応じて変化する。パイロット圧センサ15aは、パイロット圧を検出し、その検出値に対応する検出信号は、コントローラ30に取り込まれる。
コントローラ30は、ショベル100の駆動制御を行う。コントローラ30は、その機能が、任意のハードウェア、ソフトウェア、或いは、これらの組み合わせにより実現されてよい。例えば、コントローラ30は、CPU(Central Processing Unit)と、RAM(Random Access Memory)と、ROM(Read Only Memory)と、不揮発性の補助記憶装置と、入出力用の各種インターフェースを含むコンピュータを中心に構成される。以下、後述する支援端末装置200の制御装置201についても同様である。
コントローラ30は、例えば、ROMや不揮発性の補助記憶装置に格納される一以上のプログラムをCPU上で実行させることにより実現される機能部として、通信処理部301と、バージョン情報提供部302と、バージョン情報取得部303と、判定部304と、更新ファイル提供部305と、更新ファイル取得部306と、ファームウェア更新部307を含む。
また、コントローラ30は、ROMや不揮発性の補助記憶装置に規定される記憶領域としての記憶部300を含む。記憶部300には、上述の特定ファームウェアがインストールされている。また、記憶部300には、特定ファームウェアを更新するための更新ファイル(更新情報の一例。以下、単に「更新ファイル」)が記憶される場合がある。
通信処理部301(通信確立部の一例)は、後述する送信装置S1及び受信装置S2を制御し、ショベル100の周辺の他のショベル100や支援端末装置200と、上述した所定方式の近距離通信によるP2P接続を確立する。
具体的には、まず、通信処理部301は、当該ショベル100の周辺において、所定方式の近距離通信によるP2P接続が可能な機器(以下、便宜的に「接続可能機器」)を検出する。
例えば、通信処理部301は、送信装置S1を通じて、ショベル100の周辺の所定範囲、つまり、通信可能範囲内に、ショベル100或いは送信装置S1及び受信装置S2に対応する機器の識別情報を含む信号を間欠的に送信する。以下、当該信号を便宜的に「アドバタイズ信号」と称する。これにより、他のショベル100や支援端末装置200等の接続可能機器は、当該ショベル100の通信可能範囲内に位置する場合(つまり、当該ショベル100の通信可能範囲に進入した場合)、当該アドバタイズ信号を受信することができる。そして、通信処理部301は、受信装置S2を通じて、当該アドバタイズ信号を受信した接続可能機器からのP2P接続を要求する信号(以下、便宜的に「接続要求信号」)を受信することにより、当該接続要求信号の送信元の接続可能機器を検出することができる。
また、例えば、通信処理部301は、受信装置S2を通じて、アドバタイズ信号を受信することにより、当該アドバタイズ信号の送信元の接続可能機器を検出することができる。
続いて、通信処理部301は、検出した当該ショベル100の周辺の接続可能機器が、接続対象機器、つまり、他のショベル100或いは支援端末装置200であるか否かを判定する。例えば、通信処理部301は、アドバタイズ信号や接続要求信号に含まれる当該信号の送信元を特定するための各種情報に基づき、接続対象機器であるか否かを判定する。具体的には、通信処理部301は、接続対象機器をショベルと想定したときに、当該ショベル100と同じ機種か否かを判定し、同じ機種である場合に、接続対象機器であると判定してよい。このとき、接続対象機器としての支援端末装置200は、後述の如く、ユーザによる操作に基づき機種が設定され、ショベル100と同じ機種或いはショベル100と異なる機種のショベルとしてふるまう。
最後に、通信処理部301は、検出した接続可能機器が接続対象機器であると判定すると、検出した接続可能機器との間でP2P接続を確立する。
例えば、通信処理部301は、受信装置S2を通じて、接続要求信号を受信することにより、送信元の接続可能機器を検出した場合、当該ショベル100側でのP2P接続のための処理を行う。そして、通信処理部301は、送信装置S1を通じて、当該接続可能機器に接続完了を通知する信号(以下、便宜的に「接続応答信号」)を送信することにより、検出した接続可能機器との間でのP2P接続を確立する。
また、例えば、通信処理部301は、受信装置S2を通じて、アドバタイズ信号を受信することにより、送信元の接続可能機器を検出した場合、当該接続可能機器に接続要求信号を送信する。そして、通信処理部301は、受信装置S2を通じて、当該接続可能機器から接続応答信号を受信し、当該受信に応じて、当該ショベル100側でのP2P接続のための処理を行うことにより、検出した接続可能機器との間でのP2P接続を確立する。
このように、通信処理部301は、当該ショベル100及び接続対象機器(他のショベル100或いは支援端末装置200)が互いの通信可能範囲に位置する場合に、P2P接続を確立する。
バージョン情報提供部302は、送信装置S1を通じて、通信処理部301によりP2P接続が確立された接続対象機器に、当該ショベル100の特定ファームウェアに関するバージョン情報を提供(送信)する。具体的には、バージョン情報提供部302は、当該記憶部300に現に実装(インストール)されている特定ファームウェア、及び、記憶部300に記憶された最新の更新ファイルに対応する特定ファームウェアのうちの新しい方のバージョン情報を提供する。当該ショベル100が最新の更新ファイルを記憶部300に保持していても、実際に、当該最新の更新ファイルによる特定ファームウェアの更新が完了していない場合があり得るからである。
バージョン情報取得部303(取得部の一例)は、受信装置S2を通じて、通信処理部301によりP2P接続が確立された接続対象機器から特定ファームウェアに関するバージョン情報を取得する。具体的には、バージョン情報取得部303は、当該接続対象機器に現に実装されている特定ファームウェア、及び、当該接続対象機器に記憶された最新の更新ファイルに対応する特定ファームウェアのうちの新しい方のバージョン情報を取得する。当該接続対象機器が最新の更新ファイルを保持していても、実際に、最新の更新ファイルによる特定ファームウェアの更新が完了していない場合があり得るからである。また、接続対象機器が支援端末装置200である場合、当該支援端末装置200には、特定ファームウェアがインストールされていないため、バージョン情報取得部303は、必然的に、最新の更新ファイルに対応する特定ファームウェアのバージョン情報を取得する。
判定部304(比較部の一例)は、記憶部300にインストールされた特定ファームウェアに関するバージョン情報を取得する。具体的には、判定部304は、記憶部300に現にインストールされている特定ファームウェア、及び、記憶部300に記憶された最新の更新ファイルに対応する特定ファームウェアのうちの新しい方のバージョン情報を取得する。そして、判定部304は、取得した当該ショベル100に対応する特定ファームウェアのバージョン情報と、バージョン情報取得部303により取得された、接続対象機器に対応する特定ファームウェアのバージョン情報とを比較し、その新旧を判定する。
更新ファイル提供部305(送信部の一例)は、判定部304によって、接続対象機器に対応する特定ファームウェアのバージョン情報よりも当該ショベル100に対応する特定ファームウェアのバージョン情報の方が新しいと判定された場合、送信装置S1を通じて、記憶部300の最新の更新ファイルを接続対象機器(具体的には、後述の如く、他のショベル100)に送信する。これにより、他のショベル100は、自己の記憶部300にインストールされる特定ファームウェアをより新しいバージョンに更新することができる。
更新ファイル取得部306(受信部の一例)は、判定部304によって、接続対象機器に対応する特定ファームウェアのバージョン情報よりも当該ショベル100に対応する特定ファームウェアのバージョン情報の方が古いと判定された場合、受信装置S2を通じて、更新ファイルを取得(受信)し、記憶部300に保存する。
ファームウェア更新部307は、記憶部300に記憶される更新ファイルに基づき、記憶部300にインストールされる特定ファームウェアの更新(バージョンアップ)を行う。
通信処理部301、バージョン情報取得部303、判定部304、更新ファイル提供部305、更新ファイル取得部306、及び、ファームウェア更新部307の動作の詳細は、後述する(図3参照)。
エンジン制御装置(ECU:Engine Control Unit)74は、エンジン11を駆動制御する。エンジン制御装置74は、例えば、所定の入力装置を介して設定されたエンジン回転数、或いは、設定された作業モード等に対応するエンジン回転数で定回転するように、エンジン11の各種アクチュエータに制御指令を出力し燃料噴射量等を制御する。エンジン制御装置74には、一対一の通信線等を通じて、エンジン回転数センサ、エンジン負荷率センサ、及び燃料噴射量センサ等が通信可能に接続される。また、エンジン負荷率センサの代わりに、エンジントルクセンサが設けられてもよい。
また、ショベル100は、上部旋回体3に取り付けられた、送信装置S1、受信装置S2、測位装置S3、姿勢検出装置S4、向き検出装置S5、カメラS6、運転情報取得装置S7、及び、表示装置40を含む。送信装置S1、受信装置S2、測位装置S3、姿勢検出装置S4、向き検出装置S5、カメラS6、運転情報取得装置S7、及び、表示装置40は、それぞれ、例えば、一対一の通信線やCAN(Controller Area Network)等の車載ネットワークを通じて、コントローラ30に通信可能に接続される。
送信装置S1は、所定方式の近距離通信(例えば、上述のブルートゥース通信やWiFi通信)に対応する送信信号をショベル100の外部に送信する。これにより、送信装置S1は、当該近距離通信による通信可能な接続状態が確立された対象(例えば、他のショベル100や支援端末装置200等)に各種情報を送信することができる。
受信装置S2は、送信装置S1と同様に、所定方式の近距離通信に対応する送信信号をショベル100の外部から受信する。これにより、受信装置S2は、当該近距離通信による通信可能な接続状態が確立された対象(例えば、他のショベル100や支援端末装置200等)から各種情報を受信できる。受信装置S2により受信された情報は、コントローラ30に取り込まれる。
送信装置S1及び受信装置S2は、一体として、所定方式の近距離通信によって、ショベル100の外部と通信を行うための通信機器(例えば、ブルートゥース通信モジュールやWiFi通信モジュール等)として実現されてよい。以下、支援端末装置200の送信装置202及び受信装置203についても同様である。
測位装置S3は、ショベル100の位置を測位し、ショベル100の位置情報を取得する。測位装置S3は、例えば、GNSS(Global Navigation Satellite System:全地球衛星測位システム)装置であり、ショベル100の上空の3以上(好ましくは、4以上)の衛星からの信号を受信し、ショベル100の位置の緯度、経度、高度を測定する。測位装置S3により取得されたショベル100の位置情報は、コントローラ30に取り込まれる。
姿勢検出装置S4は、ショベル100の姿勢、例えば、掘削アタッチメントの姿勢や機体(下部走行体1及び上部旋回体3)の姿勢を検出する。姿勢検出装置S4は、例えば、ブーム角度センサ、アーム角度センサ、バケット角度センサ、及び、機体傾斜センサを含む。ブーム角度センサは、上部旋回体3に対するブーム4の俯仰角度(ブーム角度)を取得するセンサであり、例えば、ブームフートピンの回転角度を検出する回転角度センサ、ブームシリンダ7のストローク量を検出するストロークセンサ、ブーム4の傾斜角度を検出する傾斜(加速度)センサ等を含む。また、ブーム角度センサは、加速度センサ及びジャイロセンサの組み合わせ、つまり、6軸センサやIMU(Inertial Measurement Unit:慣性計測装置)であってもよい。アーム角度センサ及びバケット角度センサについても同様である。また、機体傾斜センサは、機体傾斜角度を取得するセンサであり、例えば、水平面に対する上部旋回体3の傾斜角度を検出する。機体傾斜センサは、上部旋回体3の所定の前後軸及び左右軸回りの傾斜角を検出する2軸加速度センサであってよい。また、機体傾斜センサは、3軸加速度センサであってもよい。姿勢検出装置S4により検出されたショベル100の姿勢に対応する検出情報は、コントローラ30に取り込まれる。
向き検出装置S5は、ショベル100の向きを検出する。向き検出装置S5は、例えば、地磁気センサ、旋回機構2の旋回軸に関するレゾルバ或いはエンコーダ、ジャイロセンサ等で構成される。具体的には、向き検出装置S5は、3軸地磁気センサとジャイロセンサの組み合わせで構成されてよい。また、向き検出装置S5は、一対のGNSS受信機により構成されてもよい。向き検出装置S5により検出されたショベル100の向きに関する検出情報は、コントローラ30に取り込まれる。
コントローラ30は、例えば、測位装置S3、姿勢検出装置S4、及び、向き検出装置S5等の出力に基づいてバケット6の爪先の軌跡に関する情報を取得できる。
カメラS6は、周囲の所定範囲の空間を撮像する。カメラS6は、取得した画像(撮像画像)をコントローラ30に出力し、当該撮像画像は、コントローラ30に取り込まれる。例えば、カメラS6は、ショベル100の後方の空間を撮像するカメラS6Bを含む。また、カメラS6は、ショベル100の右側方の空間を撮像するカメラ及びショベル100の左側方の空間を撮像するカメラの少なくとも一方を含んでもよい。また、カメラS6は、キャビン10内のオペレータ等を撮像するカメラを含んでもよい。これにより、コントローラ30は、室内のカメラが撮像したオペレータの画像に各種画像処理を施し、オペレータを識別(特定)したり、オペレータの認証行ったりすることができる。
運転情報取得装置S7は、ショベル100の運転状態に関する情報である運転情報を取得する。例えば、運転情報取得装置S7は、パイロット圧センサ15a、測位装置S3、姿勢検出装置S4、向き検出装置S5等を含む。また、運転情報取得装置S7は、吐出圧センサ、傾転角センサ、作動油圧センサ、エンジン回転数センサ、エンジン負荷率センサ、燃料噴射量センサを含んでよい。また、運転情報取得装置S7は、作業環境に関する情報を含んでもよい。この場合、運転情報取得装置S7は、外気温センサ、内気温センサ、気圧センサ、湿度センサ、照度センサ、機体傾斜センサ、及び、振動センサ等を含んでよい。運転情報取得装置S7により取得された運転情報は、コントローラ30に取り込まれる。
表示装置40は、コントローラ30による制御の下、各種情報画像を表示する。表示装置40は、例えば、キャビン10内の運転席の近傍におけるオペレータ等から視認し易い位置に配置される。表示装置40は、例えば、カメラS6の撮像画像を表示する。この場合、表示装置40には、複数台のカメラの撮像画像が合成されることにより得られる合成画像が表示されてもよい。また、当該合成画像は、視点変換処理等の各種画像処理が施されていてもよい。また、表示装置40は、ノート型のコンピュータ、タブレット端末、スマートフォン等の携帯端末装置であってよい。この場合、当該携帯端末装置は、オペレータ等によって、適宜、キャビン10内のオペレータ等から視認し易い位置に配置される態様であってよい。
また、ショベル100は、上部旋回体3に搭載された蓄電池70を含む。
コントローラ30、表示装置40、及び、エンジン制御装置74等は、上部旋回体3に搭載される蓄電池70から電力の供給を受けることにより動作する。また、送信装置S1、受信装置S2、測位装置S3、姿勢検出装置S4、向き検出装置S5、カメラS6、及び、運転情報取得装置S7についても、直接的に、或いは、コントローラ30等の内部の電源回路等を通じて、蓄電池70からの電力の供給を受けることにより動作する。蓄電池70は、エンジン11により駆動される発電機の発電電力で充電される。また、蓄電池70は、エンジン11のスタータ等にも電力を供給する。これにより、スタータは、蓄電池70からの電力で駆動され、エンジン11を始動させることができる。
<支援端末装置の構成>
支援端末装置200は、制御装置201、送信装置202、受信装置203、表示装置204、操作入力装置205を含む。
制御装置201は、支援端末装置200の各種動作を制御する。制御装置201は、例えば、ROMや不揮発性の補助記憶装置に格納される一以上のプログラムをCPU上で実行することにより実現される機能部として、通信処理部2011と、バージョン情報提供部2012と、バージョン情報取得部2013と、判定部2014と、更新ファイル提供部2015を含む。通信処理部2011、バージョン情報提供部2012、バージョン情報取得部2013、判定部2014、及び、更新ファイル提供部2015の機能は、例えば、制御装置201のROMや補助記憶装置に予めインストールされる特定ファームウェアの更新情報をショベル100に提供するためのアプリ(以下、「更新ファイル提供アプリ」)が起動されることにより、例えば、サービスマン等のユーザが利用可能になる態様であってよい。また、制御装置201は、例えば、補助記憶装置等の不揮発性の内部メモリに規定される記憶領域としての記憶部2010を含む。
送信装置202は、所定方式の近距離通信(例えば、上述のブルートゥース通信やWiFi通信)に対応する送信信号を支援端末装置200の外部に送信する。これにより、送信装置S1は、当該近距離通信による通信可能な接続状態が確立された対象(例えば、ショベル100)に各種情報を送信することができる。
受信装置203は、送信装置S1と同様に、所定方式の近距離通信に対応する送信信号を支援端末装置200の外部から受信する。これにより、受信装置203は、当該近距離通信による通信可能な接続状態が確立された対象(例えば、ショベル100)から各種情報を受信できる。受信装置203により受信された情報は、制御装置201に取り込まれる。
表示装置204は、各種情報画像を表示する。表示装置204は、例えば、液晶ディスプレイである。例えば、表示装置204は、特定ファームウェアの更新ファイルをショベル100に送信するための操作画面を表示する。また、表示装置204は、ショベル100による作業に関する情報、ショベル100のオペレータ等の疲労に関する情報、地形データに関する情報等を表示してもよい。
操作入力装置205は、ユーザからの操作入力を受け付ける。操作入力装置205は、例えば、液晶ディスプレイの上に配置されるタッチパネルを含む。また、操作入力装置205は、タッチパッド、キーボード、マウス、トラックボール等を含んでもよい。操作入力装置205の操作状態に関する情報は、制御装置201に取り込まれる。
通信処理部2011は、ショベル100の通信処理部301と同様、送信装置202及び受信装置203を制御し、支援端末装置200の周辺のショベル100と、上述した所定方式の近距離通信によるP2P接続を確立する。
具体的には、まず、通信処理部2011は、支援端末装置200の周辺において、接続可能機器を検出する。続いて、通信処理部2011は、検出した接続可能機器が接続対象機器(つまり、ショベル100)であるか否かを判定する。そして、最後に、通信処理部2011は、検出した接続可能機器が接続対象機器(つまり、ショベル100)であると判定すると、検出した接続可能機器との間でP2P接続を確立する。このとき、通信処理部2011による接続可能機器の検出方法、検出した接続可能機器が接続対象機器に該当するか否かの判定方法、及び、P2P接続の確立方法は、ショベル100の通信処理部301と同様の方法であってよい。
バージョン情報提供部2012は、送信装置202を通じて、通信処理部2011によりP2P接続が確立されたショベル100に、記憶部2010に記憶される最新の更新ファイルに対応する特定ファームウェアのバージョン情報を提供(送信)する。
バージョン情報取得部2013は、送信装置202通じて、通信処理部2011によりP2P接続が確立されたショベル100から、当該ショベル100に実装された特定ファームウェアに関するバージョン情報を取得する。具体的には、バージョン情報取得部2013は、当該ショベル100に現に実装されている特定ファームウェア、及び、当該ショベル100に記憶された最新の更新ファイルに対応する特定ファームウェアのうちの新しい方のバージョン情報を取得する。
判定部2014は、記憶部2010に記憶された最新の更新ファイルに対応する特定ファームウェアのバージョン情報を取得する。そして、判定部2014は、取得した最新の更新ファイルに対応する特定ファームウェアのバージョン情報と、バージョン情報取得部303により取得されたショベル100に対応する特定ファームウェアのバージョン情報とを比較し、その新旧を判定する。
更新ファイル提供部2015は、判定部2014によって、ショベル100に対応する特定ファームウェアのバージョン情報よりも、記憶部2010に記憶される最新の更新ファイルに対応する特定ファームウェアのバージョン情報の方が新しいと判定された場合、送信装置202を通じて、記憶部2010の最新の更新ファイルをショベル100に送信する。これにより、ショベル100は、自己の記憶部300にインストールされる特定ファームウェアをより新しいバージョンに更新することができる。
[情報更新支援システムの具体的な動作]
次に、図3を参照して、情報更新支援システムSYSの具体的な動作について説明する。
図3は、情報更新支援システムSYSの処理の具体例を示すフローチャートである。
まず、図3(a)は、支援端末装置200の制御装置201による処理の一例を概略的に示すフローチャートである。本フローチャートによる処理は、上述更新ファイル提供アプリが起動されると、当該アプリが停止されるまでの間で、所定の処理間隔ごとに繰り返し実行される。
ステップS102にて、制御装置201は、操作入力装置205を通じて、ユーザによる更新ファイルを提供する対象となるショベルの機種を設定する操作が行われたか否かを判定する。制御装置201は、当該操作が行われた場合、ステップS104に進み、それ以外の場合、今回の処理を終了する。
ステップS104にて、通信処理部2011は、ステップS102で設定された機種情報と同じ機種で、且つ、最新の更新ファイルを未送信のショベル100を支援端末装置200の周辺で検出したか否かを判定する。このとき、通信処理部2011は、例えば、更新ファイル提供アプリで管理され、記憶部2010等に保存される更新ファイル提供履歴等を参照することにより、更新ファイルが提供されたショベル100か否かを判定できる。通信処理部2011は、当該判定条件に該当するショベル100を検出した場合、ステップS106に進み、それ以外の場合、今回の処理を終了する。
尚、複数のショベル100が検出された場合、ステップS106~S116の処理を順番に繰り返すようにしてもよいし、ユーザによる選択操作で選択されたショベル100だけを対象としてステップS106の処理が行われてもよい。
ステップS106にて、通信処理部2011は、検出したショベル100との間でP2P接続を確立する。
ステップS108にて、バージョン情報提供部2012は、送信装置202を通じて、記憶部2010に記憶された最新の更新ファイルに対応する特定ファームウェアのバージョン情報をショベル100に送信する。
ステップS110にて、バージョン情報取得部2013は、受信装置203によりP2P接続されたショベル100から当該ショベル100に対応する特定ファームウェアのバージョン情報が受信されたか否かを判定する。バージョン情報取得部2013は、受信装置203によりショベル100から当該ショベル100に対応する特定ファームウェアのバージョン情報が受信された場合、受信バッファ等から当該バージョン情報を取得し、ステップS112に進み、それ以外の場合、当該処理を繰り返す。
尚、当該支援端末装置200とショベル100との間でP2P接続が確立されてから、ある程度の時間が経過しても、受信装置203によりショベル100に対応するバージョン情報がされない場合、当該フローチャートを強制停止してもよい。通信障害等により、バージョン情報を取得できない可能性があるからである。また、このような場合、当該支援端末装置200からショベル100にバージョン情報を要求するリクエスト信号を送信した上で、それでも受信されない場合に、当該フローチャートを強制停止してもよい。以下、図3(b)のステップS210の場合についても同様である。
ステップS112にて、判定部2014は、記憶部2010に記憶された最新の更新ファイルに対応する特定ファームウェアと、ショベル100に対応する特定ファームウェアとが同じバージョンであるか否かを判定する。判定部2014は、同じバージョンでない
場合、ステップS114に進み、同じバージョンである場合、今回の処理を終了する。
ステップS114にて、判定部2014は、記憶部2010に記憶された最新の更新ファイルに対応する特定ファームウェアが、ショベル100に対応する特定ファームウェアより新しいバージョンか否かを判定する。判定部2014は、記憶部2010に記憶された最新の更新ファイルに対応する特定ファームウェアの方が新しいバージョンである場合、ステップS116に進み、新しいバージョンでない場合、今回の処理を終了する。
ステップS116にて、更新ファイル提供部2015は、送信装置202を通じて、記憶部2010に記憶された最新の更新ファイルをショベル100に送信し、今回の処理を終了する。
このように、本例では、支援端末装置200は、自動的に、当該支援端末装置200の周辺のショベル100との間で所定方式の近距離通信に基づくP2P接続を確立し、最新の更新ファイルをショベル100に送信する。これにより、サービスマン等の支援端末装置200のユーザは、当該支援端末装置200を用いて、ショベル100(記憶部300)に特定ファームウェアを更新するための更新ファイルを提供することができる。換言すれば、ショベル100は、自動的に確立されるP2P接続に基づき、支援端末装置200から所定方式の近距離通信を通じて、記憶部300にインストールされた特定ファームウェアをより新しいバージョンに更新するための更新ファイルを取得できる。
続いて、図3(b)は、ショベル100のコントローラ30による処理の一例を概略的に示すフローチャートである。本フローチャートによる処理は、例えば、ショベル100の起動から停止までの間で繰り返し実行される。
ステップS204にて、通信処理部301は、当該ショベル100と同じ機種で、且つ、当該ショベル100の起動後、更新ファイルのやり取りが行われていない接続対象機器(つまり、他のショベル100或いは支援端末装置200)を当該ショベル100の周辺で検出したか否かを判定する。通信処理部301は、当該判定条件に該当する接続対象機器を検出した場合、ステップS206に進み、それ以外の場合、今回の処理を終了する。
ステップS206にて、通信処理部301は、検出した接続対象機器との間でP2P接続を確立する。
ステップS208にて、バージョン情報提供部302は、送信装置S1を通じて、記憶部300にインストールされた特定ファームウェア、及び、記憶部300に記憶された最新の更新ファイルに対応する特定ファームウェアのうちの新しい方のバージョン情報を接続対象機器に送信する。
ステップS210にて、バージョン情報取得部303は、受信装置S2により接続対象機器から特定ファームウェアのバージョン情報が受信されたか否かを判定する。バージョン情報取得部303は、受信装置S2により他のショベル100或いは支援端末装置200から特定ファームウェアのバージョン情報が受信された場合、受信バッファ等から当該バージョン情報を取得し、ステップS212に進み、それ以外の場合、当該処理を繰り返す。
ステップS212にて、判定部304は、当該ショベル100に対応する特定ファームウェアと、接続対象機器に対応する特定ファームウェアとが同じバージョンであるか否かを判定する。判定部2014は、同じバージョンでない場合、ステップS214に進み、同じバージョンである場合、今回の処理を終了する。
ステップS214にて、判定部304は、当該ショベル100に対応する特定ファームウェアが、接続対象機器に対応する特定ファームウェアより新しいバージョンか否かを判定する。判定部2014は、当該ショベル100に対応する特定ファームウェアの方が新しいバージョンである場合、ステップS216に進み、新しいバージョンでない場合、ステップS218に進む。
ステップS216にて、更新ファイル提供部305は、送信装置S1を通じて、記憶部300に記憶された最新の更新ファイルを接続対象機器(具体的には、他のショベル100)に送信し、今回の処理を終了する。これにより、ショベル100は、自動的に確立される所定方式の近距離通信に基づくP2P接続によって、記憶部300に保持する最新の更新ファイルを自己の周辺に位置する他のショベル100に提供することができる。
一方、ステップS218にて、更新ファイル取得部306は、受信装置S2により接続対象機器から更新ファイルが受信されたか否かを判定する。更新ファイル取得部306は、受信装置S2により接続対象機器から更新ファイルが受信された場合、受信バッファ等から更新ファイルを取得し、ステップS220に進み、受信されていない場合、受信されるまで本ステップの処理を繰り返す。
尚、当該ショベル100と接続対象機器との間でP2P接続が確立されてから、ある程度の時間が経過しても、受信装置S2により更新ファイルが受信されない場合、当該フローチャートを強制停止してもよい。通信障害等により、更新ファイルを取得できない可能性があるからである。また、このような場合、当該ショベル100から接続対象機器に更新ファイルを要求するリクエスト信号を送信した上で、それでも受信されない場合に、当該フローチャートを強制停止してもよい。
ステップS220にて、ファームウェア更新部307は、当該ショベル100の表示装置40に、オペレータ等にファームウェアの更新準備が完了した旨を通知する更新確認画面を表示させる。
例えば、図4は、更新確認画面の一例(更新確認画面401)を示す図である。
図4に示すように、本例では、表示装置40に、ファームウェア更新時には、当該ショベル100の動作が制限されること、更新作業には、ある程度の時間(本例では、1時間程度)が必要になること、及び、ファームウェアの更新時には、エンジン11を稼働させた状態に維持する必要があることを通知する画面が表示される。コントローラ30は、ショベル100が動作不能な状態である、具体的には、エンジン11が稼働状態であり、且つ、ゲートロック弁25Vが遮断状態であると判断した後に、ファームウェアの更新処理を行う。これにより、ユーザは、ファームウェアの更新によるショベル100の作業の制限を理解した上で、適切なタイミングで、ファームウェアの更新作業を実行させることができる。
図3(b)に戻り、ステップS222にて、ファームウェア更新部307は、例えば、タッチパネル式の表示装置40等を通じて、オペレータ等による特定ファームウェアの更新開始を許可する操作(以下、「更新許可操作」)が行われたか否かを判定する。ファームウェア更新部307は、更新許可操作が行われた場合、ステップS224に進み、更新許可操作が行われていない場合、更新許可操作が行われるまで本ステップの処理を繰り返す。
尚、本ステップの処理が行われないまま、ショベル100の停止操作(つまり、エンジン11を停止させる操作)がされた場合、コントローラ30は、エンジン11を停止させる前に、再度、更新確認画面を表示し、更新許可操作を促してもよい。これにより、特定ファームウェアの更新が行われないまま、ショベル100が停止してしまう事態を防止できる。また、特定ファームウェアの更新準備が完了しているにも関わらず、更新許可操作がなされることなく、ショベル100が停止された場合、次回の起動時に、再度、更新確認画面を表示し、更新許可操作を促してもよい。これにより、特定ファームウェアの更新が行われないまま、ショベル100が停止してしまった場合でも、次回以降に、特定ファームウェアの更新作業が行われる機会を担保できる。
ステップS224にて、ファームウェア更新部307は、特定ファームウェアの更新作業を開始する。このとき、ファームウェア更新部307は、前もって、ゲートロック弁25Vを制御し、パイロットライン25を非連通にする。これにより、ファームウェアの更新作業中に、操作装置26が操作されても、パイロット圧が操作装置26に供給されないため、結果として、ショベル100の動作要素(下部走行体1、上部旋回体3、アタッチメント等)の動作を制限(停止)することができる。そして、ファームウェア更新部307は、特定ファームウェアの更新作業が完了すると、今回の処理を終了する。
このように、本例では、ショベル100は、自動的に、当該ショベル100の周辺の他のショベル100との間で所定方式の近距離通信に基づくP2P接続を確立する。そして、ショベル100は、最新の更新ファイルを他のショベル100に提供したり、他のショベル100から取得したりする。これにより、支援端末装置200から一台一台のショベル100に最新の更新ファイルを提供せずとも、既に、最新の更新ファイルを保持するショベル100から同じ作業現場の他のショベル100に更新ファイルを容易に提供することができる。
[ファームウェア更新作業の具体例]
次に、図5を参照して、情報更新支援システムSYSにおけるショベル100に実装(インストール)される特定ファームウェアの更新作業の具体例ついて説明する。
図5は、比較例に係るショベルに実装されたファームウェアの更新作業(図5(a))、及び、本実施形態に係るショベルのファームウェアの更新作業の一例(図5(b))を示す図である。図5(a),(b)に示す具体例では、山間部の作業現場502で作業している、複数のショベル100に含まれる3台のショベル100A~100Cのそれぞれに実装される特定ファームウェアの更新作業を模式的に表している。
比較例では、ショベル100A~100Cが作業を行う作業現場502は、山間部にあるため、例えば、移動体通信網等の通信ネットワークを利用した特定ファームウェアの更新作業は難しい。そのため、支援端末装置200を所持するサービスマンMが自社の営業所501から山間部の作業現場502まで出張し、ショベル100A~100Cの一台一台の特定ファームウェアの更新作業に対応している。具体的には、サービスマンMは、最新の更新ファイルを保持する支援端末装置200とショベル100の特定の接続端子との間を有線接続し、支援端末装置200からショベル100の記憶部300に更新ファイルを書き込んでいる。そのため、出張に要する時間を含め、特定ファームウェアの更新に要する作業時間が非常に長くなってしまい、特定ファームウェアの更新作業の効率化を図ることができない可能性がある。
これに対して、本実施形態では、サービスマンMは、例えば、作業現場502に移送予定の、ショベル100に含まれるショベル100Dが存在する場合、営業所501から比較的近い場所にあるショベル100Dが待機する機械置場503に向かう。サービスマンMは、機械置場503において、支援端末装置200を所持した状態で、ショベル100Dを起動させると共に、支援端末装置200において、ショベル100Dと同じ機種を設定する操作を行う(図3(a)のステップS102)。これにより、上述の如く、所定方式の近距離通信に基づくP2P接続が自動的に確立され、支援端末装置200からショベル100Dに最新の更新ファイルを送信することができる。
尚、支援端末装置200は、例えば、操作入力装置205を通じたサービスマンMによる操作に応じて、営業所501に設置された管理装置から受信装置203を介してショベル100用の最新の更新ファイルを入手する。または、支援端末装置200は、操作入力装置205を通じたサービスマンMによる操作に応じて、他のサービスマンが所持する他の支援端末装置200から受信装置203を介してショベル100用の最新の更新ファイルを入手してもよい。
その後、ショベル100Dは、運搬用のトレーラ等に載せられ、作業現場502に移送される。作業現場502において、ショベル100が作業を開始し、例えば、ショベル100Dがショベル100Aに接近すると、所定方式の近距離通信に基づくP2P接続が自動的に確立され、上述の如く、ショベル100Dからショベル100Aに最新の更新ファイルが提供される。同様に、例えば、ショベル100Dがショベル100Cに接近すると、所定方式の近距離通信に基づくP2P接続が自動的に確立され、ショベル100Dからショベル100Aに最新の更新ファイルが提供される。これにより、山間部等の通信途絶地域の作業現場であっても、サービスマン等が作業現場まで出張することなく、作業現場に移送予定の一台のショベル100に更新ファイルを保持させておくことで、作業現場で作業を行う他のショベル100の特定ファームウェアの更新作業を完了させることができる。
更に、ショベル100Dからショベル100Aに最新の更新ファイルが提供された後に、ショベル100Aがショベル100Bに接近すると、所定方式の近距離通信に基づくP2P接続が自動的に確立され、ショベル100Aからショベル100Bに最新の更新ファイルが提供される。これにより、更新ファイルを提供されたショベル100は、その後、更新ファイルを他のショベル100に提供することができるため、特定ファームウェアの更新作業に要する時間を更に短縮することができる。具体的には、本例では、ショベル100Dからショベル100A~100Cのそれぞれに更新ファイルを提供すると、更新ファイルを提供する3回分の時間を要するところ、ショベル100Aとショベル100Dとが並行して更新ファイルの提供を行うため、2回分の時間で済む。
このように、本実施形態では、互いの周辺に存在し合う一のショベル100及び他のショベル100は、互いに通信可能な接続状態を確立する。そして、最新の更新情報を保持する一のショベル100は、自己の記憶部300に記憶される、所定機能に関する特定情報(特定ファームウェア)の更新情報(更新ファイル)を、古いバージョンの特定情報に対応する他のショベル100に送信する。これにより、山間部等の通信途絶地域の作業現場であっても、ショベル100の所定機能に関する特定情報の更新を効率的に行うことができる。
[変形・改良]
以上、本発明を実施するための形態について詳述したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
例えば、上述した実施形態では、所定機能に関する特定情報の更新対象である建設機械は、ショベル100であったが、他の建設機械であってもよい。具体的には、上述した実施形態に係る情報更新支援システムSYSは、ショベル100に代えて、或いは、加えて、ブルドーザ、ホイールローダ、アスファルトフィニッシャ等の道路機械や、ハーベスタ等を備える林業機械等を含む態様であってもよい。