JP2023034836A - ソフトウェア更新システム、作業機械およびソフトウェア更新方法 - Google Patents

ソフトウェア更新システム、作業機械およびソフトウェア更新方法 Download PDF

Info

Publication number
JP2023034836A
JP2023034836A JP2021141277A JP2021141277A JP2023034836A JP 2023034836 A JP2023034836 A JP 2023034836A JP 2021141277 A JP2021141277 A JP 2021141277A JP 2021141277 A JP2021141277 A JP 2021141277A JP 2023034836 A JP2023034836 A JP 2023034836A
Authority
JP
Japan
Prior art keywords
software
component
update
unit
components
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021141277A
Other languages
English (en)
Inventor
洋平 千村
Yohei Chimura
潤 山根
Jun Yamane
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Komatsu Ltd
Original Assignee
Komatsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Komatsu Ltd filed Critical Komatsu Ltd
Priority to JP2021141277A priority Critical patent/JP2023034836A/ja
Priority to PCT/JP2022/032230 priority patent/WO2023032850A1/ja
Priority to KR1020247001902A priority patent/KR20240022634A/ko
Priority to DE112022002828.9T priority patent/DE112022002828T5/de
Priority to CN202280055761.XA priority patent/CN117882049A/zh
Publication of JP2023034836A publication Critical patent/JP2023034836A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • EFIXED CONSTRUCTIONS
    • E02HYDRAULIC ENGINEERING; FOUNDATIONS; SOIL SHIFTING
    • E02FDREDGING; SOIL-SHIFTING
    • E02F9/00Component parts of dredgers or soil-shifting machines, not restricted to one of the kinds covered by groups E02F3/00 - E02F7/00
    • E02F9/20Drives; Control devices
    • E02F9/2025Particular purposes of control systems not otherwise provided for
    • EFIXED CONSTRUCTIONS
    • E02HYDRAULIC ENGINEERING; FOUNDATIONS; SOIL SHIFTING
    • E02FDREDGING; SOIL-SHIFTING
    • E02F9/00Component parts of dredgers or soil-shifting machines, not restricted to one of the kinds covered by groups E02F3/00 - E02F7/00
    • E02F9/20Drives; Control devices
    • E02F9/2025Particular purposes of control systems not otherwise provided for
    • E02F9/2054Fleet management
    • EFIXED CONSTRUCTIONS
    • E02HYDRAULIC ENGINEERING; FOUNDATIONS; SOIL SHIFTING
    • E02FDREDGING; SOIL-SHIFTING
    • E02F9/00Component parts of dredgers or soil-shifting machines, not restricted to one of the kinds covered by groups E02F3/00 - E02F7/00
    • E02F9/20Drives; Control devices
    • E02F9/22Hydraulic or pneumatic drives
    • EFIXED CONSTRUCTIONS
    • E02HYDRAULIC ENGINEERING; FOUNDATIONS; SOIL SHIFTING
    • E02FDREDGING; SOIL-SHIFTING
    • E02F9/00Component parts of dredgers or soil-shifting machines, not restricted to one of the kinds covered by groups E02F3/00 - E02F7/00
    • E02F9/26Indicating devices
    • E02F9/261Surveying the work-site to be treated
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • EFIXED CONSTRUCTIONS
    • E02HYDRAULIC ENGINEERING; FOUNDATIONS; SOIL SHIFTING
    • E02FDREDGING; SOIL-SHIFTING
    • E02F3/00Dredgers; Soil-shifting machines
    • E02F3/04Dredgers; Soil-shifting machines mechanically-driven
    • E02F3/28Dredgers; Soil-shifting machines mechanically-driven with digging tools mounted on a dipper- or bucket-arm, i.e. there is either one arm or a pair of arms, e.g. dippers, buckets
    • E02F3/36Component parts
    • E02F3/42Drives for dippers, buckets, dipper-arms or bucket-arms
    • E02F3/43Control of dipper or bucket position; Control of sequence of drive operations
    • E02F3/435Control of dipper or bucket position; Control of sequence of drive operations for dipper-arms, backhoes or the like

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Mining & Mineral Resources (AREA)
  • Civil Engineering (AREA)
  • Structural Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • Operation Control Of Excavators (AREA)

Abstract

【課題】複数のコンポーネントが連動することで実現される機能を実現するために、複数のコンポーネントの更新の確実性を高める。【解決手段】受信部は、複数のコンポーネントの1つである第1コンポーネントの更新に用いる第1ソフトウェアと、複数のコンポーネントの1つである第2コンポーネントの更新に用いるソフトウェアであって、第1ソフトウェアと関連する機能を実現するための第2ソフトウェアとを含むデータをサーバから受信する。記憶部は、受信された第1ソフトウェアおよび第2ソフトウェアを記憶する。更新部は、記憶部に第1ソフトウェアおよび第2ソフトウェアが記憶された後に、第1ソフトウェアおよび第2ソフトウェアに基づいて、第1コンポーネントと第2コンポーネントの更新を行う。【選択図】図1

Description

本開示は、ソフトウェア更新システム、作業機械およびソフトウェア更新方法に関する。
作業機械には、作業機械を制御し、または作業機械の状態を監視するためのコンポーネントが設けられる。コンポーネントは、マイクロコンピュータなどによって構成され、ソフトウェアの実行により機能を発揮する。そのため、コンポーネントの機能の拡張などを目的に、コンポーネントのソフトウェアを更新することがある。
特許文献1には、作業機械のコンポーネントのソフトウェアを更新する技術が開示されている。
特開2017-41114号公報
ところで、作業機械に実装される機能として、複数のコンポーネントが連動することで実現されるものがある。このような機能を作業機械に実現させるためには、複数のコンポーネントのそれぞれのソフトウェアを更新する必要がある。
ところで、作業機械にインストールするソフトウェアは、ネットワークを介して受信される。しかしながら、作業機械は、必ずしも常にネットワークに接続可能な環境にあるとはいえず、数日にわたってネットワークに接続できないこともある。そのため、特許文献1に記載された手順で複数のコンポーネントを更新する場合に、複数のコンポーネントの一部が更新され、残りが更新されない状態でネットワークから切断される可能性がある。この場合、作業機械は、再度ネットワークに接続可能となり、残りのコンポーネントが更新されるまで、複数のコンポーネントが連動することで実現される機能を実現できないこととなる。
本開示の目的は、複数のコンポーネントが連動することで実現される機能を実現するために、複数のコンポーネントの更新の確実性を高めることができるソフトウェア更新システム、作業機械およびソフトウェア更新方法を提供することにある。
本開示の一態様によれば、ソフトウェア更新システムは、作業機械に備えられる複数のコンポーネントを更新するソフトウェア更新システムであって、前記複数のコンポーネントの1つである第1コンポーネントの更新に用いる第1ソフトウェアと、前記複数のコンポーネントの1つである第2コンポーネントの更新に用いるソフトウェアであって、前記第1ソフトウェアと関連する機能を実現するための第2ソフトウェアとを含むデータをサーバから受信する受信部と、受信された前記第1ソフトウェアおよび前記第2ソフトウェアを記憶する記憶部と、前記記憶部に前記第1ソフトウェアおよび前記第2ソフトウェアが記憶された後に、前記第1ソフトウェアおよび前記第2ソフトウェアに基づいて、前記第1コンポーネントと前記第2コンポーネントの更新を行う更新部と、を備える。
上記態様によれば、ソフトウェア更新システムは、複数のコンポーネントが連動することで実現される機能を実現するために、複数のコンポーネントの更新の確実性を高めることができる。
第1の実施形態に係るソフトウェア更新システムの構成図である。 第1の実施形態に係る作業機械の外観を示す斜視図である。 第1の実施形態に係る作業機械が備える複数のカメラの撮像範囲を示す図である。 第1の実施形態に係る運転室の内部の構成を示す図である。 第1の実施形態に係る作業機械の制御系のハードウェア構成を示す概略ブロック図である。 第1の実施形態に係るゲートウェイ機能コントローラの構成を示すブロック図である。 第1の実施形態に係るコンポーネント管理サーバの構成を示すブロック図である。 第1の実施形態に係るソフトウェア管理サーバの構成を示すブロック図である。 第1の実施形態に係るソフトウェアテーブルの一例を示す図である。 第1の実施形態に係るソフトウェア更新システムにおけるコンポーネントのソフトウェアの更新方法を示すシーケンス図である。 第1の実施形態に係るゲートウェイ機能コントローラの品番確認処理を示すフローチャートである。 第1の実施形態に係るゲートウェイ機能コントローラによる単体のソフトウェア更新処理を示すフローチャートである。 第1の実施形態に係るゲートウェイ機能コントローラによる複数のソフトウェア更新処理を示すフローチャートである。
〈第1の実施形態〉
図1は、第1の実施形態に係るソフトウェア更新システム1の構成図である。
ソフトウェア更新システム1は、複数の作業機械100が備えるコンポーネント200のソフトウェアの品番を管理する。ソフトウェア更新システム1は、複数の作業機械100と、コンポーネント管理サーバ300と、ソフトウェア管理サーバ500と、開発者端末700とを備える。ソフトウェアとは、ハードウェアの機能の実現のために用いられるデータである。ソフトウェアは、プログラムおよび設定データを含み得る。なお、ソフトウェアの品番とは、ソフトウェアを特定するためのユニークな識別子である。ソフトウェアの品番は、例えば、複数の数字、又はアルファベットの組み合わせによって表現される。
各作業機械100は、ゲートウェイ機能コントローラ201と2つ以上のコンポーネント200とを備える。なお、ゲートウェイ機能コントローラ201も、コンポーネント200の一例である。ゲートウェイ機能コントローラ201は、作業機械100の内部ネットワークと外部ネットワークとに接続される。内部ネットワークとは、作業機械100の内部のコンポーネント200同士を接続するネットワークである。外部ネットワークとは、作業機械100と作業機械の外部の装置とを接続するワイドエリアネットワーク(WAN)である。各コンポーネント200は、作業機械100の制御、または作業機械100の状態の監視のための機能を発揮する。各コンポーネント200とゲートウェイ機能コントローラ201とは、互いに作業機械100の内部ネットワークで接続される。これにより、一部のコンポーネント200は、内部ネットワークを介して他のコンポーネント200の演算結果を受け取り、さらに演算を行うことができる。図1において、作業機械100として油圧ショベルが図示されているが、その他の作業機械でもよく、例えばブルドーザ、ダンプトラック、ホイールローダであってもよい。
コンポーネント管理サーバ300は、複数の作業機械100が備えるコンポーネント200のハードウェアおよびソフトウェアの品番を記憶し、コンポーネント200のソフトウェアを更新するためのデータを作業機械100に提供する。具体的には、コンポーネント管理サーバ300は、コンポーネント200の更新前のソフトウェアと更新後のソフトウェアとの差分データを含むパッケージデータを、外部ネットワークを介して作業機械100に提供する。なお、所定の機能を実現するために複数のコンポーネント200の更新が必要な場合に、コンポーネント管理サーバ300は、1つのパッケージデータに、複数のコンポーネント200の更新に用いる複数の差分データを含める。
ソフトウェア管理サーバ500は、コンポーネント200のハードウェアの品番に関連付けて、当該品番に係るコンポーネント200に適用可能な品番の異なる複数のソフトウェアを記憶する。また、ソフトウェア管理サーバ500は、ソフトウェアの更新のための差分データを生成し、コンポーネント管理サーバ300に送信する。なお、ハードウェアの品番とは、コンポーネント200を特定するためのユニークな識別子である。ハードウェアの品番は、例えば、複数の数字、又はアルファベットの組み合わせによって表現される。
開発者端末700は、ソフトウェアの開発者によって操作される端末である。開発者は、開発者端末700を用いてソフトウェアを開発し、開発したソフトウェアを開発者端末700からソフトウェア管理サーバ500へ送信する。開発者は、連携して所定の機能を実現するための複数のコンポーネント200のソフトウェアを作成した場合、ソフトウェアを適用可能な各コンポーネントの品番を示す品番情報と、複数のソフトウェアのデータとを関連付けてソフトウェア管理サーバ500へ送信する。
《作業機械100の構成》
図2は、作業機械100の外観を示す斜視図である。
作業機械である作業機械100は、油圧により作動する作業機130と、作業機130を支持する旋回体120と、旋回体120を支持する走行体110とを備える。
走行体110は、作業機械100を走行可能に支持する。走行体110は、左右に設けられた2つの無限軌道111と、各無限軌道111を駆動するための2つの走行モータ112を備える。
旋回体120は、走行体110に旋回中心回りに旋回可能に支持される。
作業機130は、油圧により駆動する。作業機130は、旋回体120の前部に上下方向に駆動可能に支持される。運転室140は、オペレータが搭乗し、作業機械100の操作を行うためのスペースである。運転室140は、旋回体120の左前部に設けられる。
ここで、旋回体120のうち作業機130が取り付けられる部分を前部という。また、旋回体120について、前部を基準に、反対側の部分を後部、左側の部分を左部、右側の部分を右部という。
《旋回体120の構成》
旋回体120は、エンジン121、油圧ポンプ122、コントロールバルブ123、旋回モータ124、燃料噴射装置125を備える。
エンジン121は、油圧ポンプ122を駆動する原動機である。
油圧ポンプ122は、エンジン121により駆動される可変容量ポンプである。油圧ポンプ122は、コントロールバルブ123を介して各アクチュエータ(ブームシリンダ131C、アームシリンダ132C、バケットシリンダ133C、走行モータ112、および旋回モータ124)に作動油を供給する。
コントロールバルブ123は、油圧ポンプ122から供給される作動油の流量を制御する。
旋回モータ124は、コントロールバルブ123を介して油圧ポンプ122から供給される作動油によって駆動し、旋回体120を旋回させる。
燃料噴射装置125は、燃料をエンジン121に噴射する。
旋回体120には、作業機械100の周囲を撮像する複数のカメラ206が設けられる。図3は、第1の実施形態に係る作業機械100が備える複数のカメラ206の撮像範囲を示す図である。
具体的には、旋回体120には、旋回体120の周囲のうち左後方範囲Raを撮像する左後方カメラ206A、旋回体120の周囲のうち後方範囲Rbを撮像する後方カメラ206B、旋回体120の周囲のうち右後方範囲Rcを撮像する右後方カメラ206C、旋回体120の周囲の右前方範囲Rdを撮像する右前方カメラ206Dが設けられる。なお、複数のカメラ206の撮像範囲の一部は、互いに重複していてもよい。
複数のカメラ206の撮像範囲は、作業機械100の全周のうち、運転室140から視認可能な左前方範囲Reを除く範囲をカバーする。なお、第1の実施形態に係るカメラ206は、旋回体120の左後方、後方、右後方、および右前方を撮像するが、他の実施形態においてはこれに限られない。例えば、他の実施形態に係るカメラ206の数および撮像範囲は、図2、図3に示す例と異なっていてよい。
《作業機130の構成》
図2に示すように、作業機130は、ブーム131、アーム132、バケット133、ブームシリンダ131C、アームシリンダ132C、およびバケットシリンダ133Cを備える。
ブーム131の基端部は、旋回体120にブームピンを介して取り付けられる。
アーム132は、ブーム131とバケット133とを連結する。アーム132の基端部は、ブーム131の先端部にアームピンを介して取り付けられる。
バケット133は、土砂などを掘削するための刃と掘削した土砂を収容するための収容部とを備える。バケット133の基端部は、アーム132の先端部にバケットピンを介して取り付けられる。
ブームシリンダ131Cは、ブーム131を作動させるための油圧シリンダである。ブームシリンダ131Cの基端部は、旋回体120に取り付けられる。ブームシリンダ131Cの先端部は、ブーム131に取り付けられる。
アームシリンダ132Cは、アーム132を駆動するための油圧シリンダである。アームシリンダ132Cの基端部は、ブーム131に取り付けられる。アームシリンダ132Cの先端部は、アーム132に取り付けられる。
バケットシリンダ133Cは、バケット133を駆動するための油圧シリンダである。バケットシリンダ133Cの基端部は、アーム132に取り付けられる。バケットシリンダ133Cの先端部は、バケット133に接続されるリンク部材に取り付けられる。
《運転室140の構成》
図4は、第1の実施形態に係る運転室140の内部の構成を示す図である。
運転室140内には、運転席142、操作装置143およびモニタコンポーネント202が設けられる。
操作装置143は、オペレータの手動操作によって走行体110、旋回体120および作業機130を駆動させるための装置である。操作装置143は、左操作レバー143LO、右操作レバー143RO、左フットペダル143LF、右フットペダル143RF、左走行レバー143LT、右走行レバー143RTを備える。
左操作レバー143LOは、運転席142の左側に設けられる。右操作レバー143ROは、運転席142の右側に設けられる。
左操作レバー143LOは、旋回体120の旋回動作、及び、アーム132の掘削/ダンプ動作を行うための操作機構である。具体的には、作業機械100のオペレータが左操作レバー143LOを前方に倒すと、アーム132がダンプ動作する。また、作業機械100のオペレータが左操作レバー143LOを後方に倒すと、アーム132が掘削動作する。また、作業機械100のオペレータが左操作レバー143LOを右方向に倒すと、旋回体120が右旋回する。また、作業機械100のオペレータが左操作レバー143LOを左方向に倒すと、旋回体120が左旋回する。なお、他の実施形態においては、左操作レバー143LOを前後方向に倒した場合に旋回体120が右旋回または左旋回し、左操作レバー143LOを左右方向に倒した場合にアーム132が掘削動作またはダンプ動作してもよい。
右操作レバー143ROは、バケット133の掘削/ダンプ動作、及び、ブーム131の上げ/下げ動作を行うための操作機構である。具体的には、作業機械100のオペレータが右操作レバー143ROを前方に倒すと、ブーム131の下げ動作が実行される。また、作業機械100のオペレータが右操作レバー143ROを後方に倒すと、ブーム131の上げ動作が実行される。また、作業機械100のオペレータが右操作レバー143ROを右方向に倒すと、バケット133のダンプ動作が行われる。また、作業機械100のオペレータが右操作レバー143ROを左方向に倒すと、バケット133の掘削動作が行われる。なお、他の実施形態においては、右操作レバー143ROを前後方向に倒した場合に、バケット133がダンプ動作または掘削動作し、右操作レバー143ROを左右方向に倒した場合にブーム131が上げ動作または下げ動作してもよい。
左フットペダル143LFは、運転席142の前方の床面の左側に配置される。右フットペダル143RFは、運転席142の前方の床面の右側に配置される。左走行レバー143LTは、左フットペダル143LFに軸支され、左走行レバー143LTの傾斜と左フットペダル143LFの押し下げが連動するように構成される。右走行レバー143RTは、右フットペダル143RFに軸支され、右走行レバー143RTの傾斜と右フットペダル143RFの押し下げが連動するように構成される。
左フットペダル143LFおよび左走行レバー143LTは、走行体110の左側履帯の回転駆動に対応する。具体的には、作業機械100のオペレータが左フットペダル143LFまたは左走行レバー143LTを前方に倒すと、左側履帯は前進方向に回転する。また、作業機械100のオペレータが左フットペダル143LFまたは左走行レバー143LTを後方に倒すと、左側履帯は後進方向に回転する。
右フットペダル143RFおよび右走行レバー143RTは、走行体110の右側履帯の回転駆動に対応する。具体的には、作業機械100のオペレータが右フットペダル143RFまたは右走行レバー143RTを前方に倒すと、右側履帯は前進方向に回転する。また、作業機械100のオペレータが右フットペダル143RFまたは右走行レバー143RTを後方に倒すと、右側履帯は後進方向に回転する。
《制御系の構成》
図5は、第1の実施形態に係る作業機械100の制御系のハードウェア構成を示す概略ブロック図である。
作業機械100は、ゲートウェイ機能コントローラ201、モニタコンポーネント202、制御コントローラ203、エンジンコントローラ204、周辺監視コンポーネント205を備える。ゲートウェイ機能コントローラ201、モニタコンポーネント202、制御コントローラ203、エンジンコントローラ204、周辺監視コンポーネント205およびカメラ206は、互いに車内ネットワークを介して接続される。具体的には、ゲートウェイ機能コントローラ201、モニタコンポーネント202、制御コントローラ203およびエンジンコントローラ204は、CAN(Controller Area Network)などの第1ネットワークN1を介して接続され、ゲートウェイ機能コントローラ201、カメラ206および周辺監視コンポーネント205は、イーサネット(登録商標)などの第2ネットワークN2を介して接続される。
ゲートウェイ機能コントローラ201、モニタコンポーネント202、制御コントローラ203、エンジンコントローラ204、周辺監視コンポーネント205およびカメラ206は、いずれも作業機械100に備えられるコンポーネント200の一例である。
ゲートウェイ機能コントローラ201は、第1ネットワークN1と第2ネットワークN2の通信プロトコルを互いに変換し、第1ネットワークN1に接続されたコンポーネント200と第2ネットワークN2に接続されたコンポーネント200との間の通信を中継する。
モニタコンポーネント202は、運転室140に設けられ、ディスプレイの表示を制御する。
制御コントローラ203は、作業機130の動作を制御する油圧機器に関連する各種データを図示しないセンサにより取得し、操作装置143の操作に従って油圧機器を制御するための制御信号を出力する。つまり、制御コントローラ203は、ブームシリンダ131C、アームシリンダ132C、バケットシリンダ133C、走行モータ112、旋回モータ124などの駆動を制御する。
エンジンコントローラ204は、エンジン121に関連する各種データを図示しないセンサにより取得し、燃料噴射装置125に燃料噴射量を指示することで、エンジン121を制御する。
周辺監視コンポーネント205は、カメラ206が撮像した画像に基づいて俯瞰画像を生成し、モニタコンポーネント202に俯瞰画像を表示させる。
《ゲートウェイ機能コントローラ201の構成》
図6は、第1の実施形態に係るゲートウェイ機能コントローラ201の構成を示すブロック図である。
ゲートウェイ機能コントローラ201は、物理的に分かれた第1基板210と第2基板220とを備える。
第1基板210は、第1プロセッサ211、第1メインメモリ213、第1ストレージ215、第1インタフェース217を備える。第1プロセッサ211は、第1ストレージ215からプログラムを取得して第1メインメモリ213に展開し、当該プログラムに従って所定の処理を実行する。なお、第1ストレージ215は、当該プログラムを含む同じソフトウェアを主系ソフトウェアと予備系ソフトウェアとして2系統記憶する。主系ソフトウェアとは、平常時にソフトウェアの機能を発揮する際に使用されるソフトウェアである。予備系ソフトウェアとは、主系ソフトウェアの異常時に主系ソフトウェアの復旧のために使用されるソフトウェアである。すなわち、第1基板210は、主系ソフトウェアを実行することで機能を発揮する。また第1基板210は、例えばソフトウェアの更新ミス等により異常が発生し、主系ソフトウェアを実行できない場合に、予備系ソフトウェアを主系ソフトウェアにコピーすることで主系ソフトウェアを復旧し、復旧した主系ソフトウェアを実行する。第1基板210は、コンポーネント200の一例である。第1インタフェース217は、内部ネットワークである第1ネットワークN1を介して作業機械100を制御するための複数のコンポーネント200と接続される。第1基板210に接続されるコンポーネント200の例としては、モニタコンポーネント202、制御コントローラ203、エンジンコントローラ204等が挙げられる。第1ネットワークN1に接続されるコンポーネント200により、作業機械100の動作に関する基本的な動作制御が行われる。
第2基板220は、第2プロセッサ221、第2メインメモリ223、第2ストレージ225、第2インタフェース227を備える。第2プロセッサ221は、第2ストレージ225からプログラムを取得して第2メインメモリ223に展開し、当該プログラムに従って所定の処理を実行する。第2インタフェース227は、内部ネットワークである第2ネットワークN2を介して作業機械100の機能を拡張するための複数のコンポーネント200と接続される。第2基板220に接続されるコンポーネント200の例としては、周辺監視コンポーネント205及びカメラ206や、施工現場の設計面と作業機械100との位置関係などをオペレータにガイダンスするためのガイダンスモニタを表示制御するマシンガイダンスコンポーネント、作業機130により掘削した土量を計測するためのペイロードコンポーネント、外部のサーバ等と通信を行うための通信機器を制御し、作業機械の各種センサからデータを取得する通信コンポーネント等が挙げられる。第2ネットワークN2に接続されるコンポーネント200により、作業機械100およびオペレータに、作業機械の機能を向上させるなどの拡張的な情報の提供が行われる。第2基板220は、作業機械のコンポーネントの一例であってよい。
第1インタフェース217と第2インタフェース227は、互いに通信可能に接続される。また、第1基板210および第2基板220は、作業機械100が備える各コンポーネント200への経路を示す接続情報を記憶する。接続情報は、例えばルーティングテーブルであってよい。接続情報は、作業機械100にコンポーネント200が取り付けられ、または取り外されるたびに、第1基板210および第2基板220の間で情報が交換されることで更新される。
他の実施形態においては、第1基板210または第2基板220は、上記構成に加えて、または上記構成に代えてPLD(Programmable Logic Device)などのカスタムLSI(Large Scale Integrated Circuit)を備えてもよい。PLDの例としては、PAL(Programmable Array Logic)、GAL(Generic Array Logic)、CPLD(Complex Programmable Logic Device)、FPGA(Field Programmable Gate Array)が挙げられる。この場合、第1基板210または第2基板220によって実現される機能の一部または全部が当該集積回路によって実現されてよい。
第1ストレージ215および第2ストレージ225の例としては、磁気ディスク、光磁気ディスク、光ディスク、半導体メモリ等が挙げられる。第1ストレージ215および第2ストレージ225は、バス線に直接接続された内部メディアであってもよいし、第1インタフェース217または通信回線を介してゲートウェイ機能コントローラ201に接続される外部メディアであってもよい。少なくとも1つの実施形態において第1ストレージ215および第2ストレージ225は、一時的でない有形の記憶媒体である。
なお、第2基板220が有する計算資源は、少なくとも1つのコンポーネント200が有する計算資源より大きい。また、第2基板220が有する計算資源は、第1基板210が有する計算資源より大きいことが好ましい。計算資源とは、コンピュータにおける計算において使用される資源である。計算資源とは、コンピュータが備える計算時間または記憶容量を提供する資源である。計算資源の例としては、CPU、メインメモリ、ストレージなどが挙げられる。なお、第2メインメモリ223の容量は、第1メインメモリ213の容量より大きいのが好ましい。また、第2ストレージ225の容量は、第1ストレージ215の容量より大きいのが好ましい。
第1プロセッサ211は、第1ストレージ215が記憶するプログラムの実行により、入力部2111、アクセス部2112、更新部2113、出力部2114として機能する。
入力部2111は、第2基板220からコンポーネント200のソフトウェアの取得指示の入力を受け付ける。また入力部2111は、第2基板220からコンポーネント200のソフトウェアの更新指示の入力を受け付ける。
アクセス部2112は、第2基板220から受け付けたソフトウェアの取得指示に従ってコンポーネント200から現行のソフトウェアを取得する。現行のソフトウェアとは、アクセス部2112によるアクセス時に、コンポーネント200が記憶し、機能の発揮のために実行されているソフトウェアをいう。またアクセス部2112は、第2基板220から受け付けたソフトウェアの更新指示に従ってコンポーネント200にソフトウェアを出力する。ソフトウェアを受信したコンポーネント200は、ソフトウェアを書き換える。
更新部2113は、第2基板220から受け付けたソフトウェアの更新指示に従って、第1ストレージ215から主系ソフトウェアを取得する。また更新部2113は、第2基板220から受け付けたソフトウェアの更新指示に従って予備系ソフトウェアおよび主系ソフトウェアを書き換える。
出力部2114は、アクセス部2112または更新部2113が取得したソフトウェアを第2基板220に出力する。
第2プロセッサ221は、第2ストレージ225が記憶するプログラムの実行により、受信部2211、出力部2212、入力部2213、アクセス部2214、ソフトウェア生成部2215、送信部2216として機能する。また、第2ストレージ225には、予備系ソフトウェア記憶部2251の記憶領域が確保される。
受信部2211は、コンポーネント管理サーバ300から、コンポーネント200のソフトウェアの差分データを含むパッケージファイルとともに、コンポーネントのソフトウェアの更新指示を受信する。また受信部2211は、コンポーネントのソフトウェアの品番の確認指示を受信する。
出力部2212は、更新対象のコンポーネント200が第1基板210に接続される場合に、または更新対象のコンポーネント200が第1基板210である場合に、ソフトウェアの取得指示を第1基板210に出力する。また出力部2212は、ソフトウェアの更新指示を第1基板210に出力する。
入力部2213は、第1基板210から更新対象のコンポーネント200のソフトウェアの入力を受け付ける。
アクセス部2214は、更新対象のコンポーネント200が第2基板220に接続される場合に、当該コンポーネント200からソフトウェアを取得する。またアクセス部2214は、ソフトウェア生成部2215が生成したソフトウェアを更新対象のコンポーネント200に出力する。ソフトウェアを受信したコンポーネント200は、ソフトウェアを書き換える。つまり、アクセス部2214は、受信したソフトウェアに基づいてコンポーネント200の更新を行う更新部の一例である。
ソフトウェア生成部2215は、入力部2213に入力された現行のソフトウェアまたはアクセス部2214が取得した現行のソフトウェアに、受信部2211が受信した差分データを適用することで、更新後のソフトウェアを生成する。例えば、差分データは、ファイルの先頭からのビット数であるオフセットと、変更後の値の組み合わせを、変更箇所ごとに保持する。この場合、ソフトウェア生成部2215は、差分データのオフセットに基づいて現行のソフトウェアの該当部分を特定し、該当部分における差分データが示す変更前の値を変更後の値に書き換える。これにより、ソフトウェア生成部2215は、現行のソフトウェアと差分データから更新後のソフトウェアを生成することができる。
送信部2216は、受信部2211が受信した要求に対する応答をコンポーネント管理サーバ300に送信する。
《コンポーネント管理サーバ300の構成》
図7は、第1の実施形態に係るコンポーネント管理サーバ300の構成を示すブロック図である。
コンポーネント管理サーバ300は、プロセッサ310、メインメモリ330、ストレージ350、インタフェース370を備える。プロセッサ310は、ストレージ350からプログラムを取得してメインメモリ330に展開し、当該プログラムに従って所定の処理を実行する。インタフェース370には、広域通信網を介した通信機能を有する図示しない通信装置が接続され、当該通信装置を介してゲートウェイ機能コントローラ201の第2基板220、およびソフトウェア管理サーバ500と通信可能に接続される。
ストレージ350に記憶されるプログラムは、コンポーネント管理サーバ300に発揮させる機能の一部を実現するためのものであってもよい。また、他の実施形態においては、コンポーネント管理サーバ300は、上記構成に加えて、または上記構成に代えてPLDなどのカスタムLSIを備えてもよい。この場合、コンポーネント管理サーバ300によって実現される機能の一部または全部が当該集積回路によって実現されてよい。
ストレージ350の例としては、磁気ディスク、光磁気ディスク、光ディスク、半導体メモリ等が挙げられる。ストレージ350は、バス線に直接接続された内部メディアであってもよいし、インタフェース370または通信回線を介してコンポーネント管理サーバ300に接続される外部メディアであってもよい。また、プログラムは、ストレージ350に記憶されず、通信回線によってコンポーネント管理サーバ300に配信され、プロセッサ310が当該プログラムを実行してもよい。少なくとも1つの実施形態においてストレージ350は、一時的でない有形の記憶媒体である。
プロセッサ310は、ストレージ350が記憶するプログラムの実行により、差分データ受信部311、更新対象特定部312、品番確認部313、更新指示送信部314、テーブル更新部315を備える。また、ストレージ350には、コンポーネントテーブル351の記憶領域が確保される。
コンポーネントテーブル351は、複数の作業機械100それぞれが備えるコンポーネント200のハードウェアおよびソフトウェアの品番を記憶する。つまり、コンポーネントテーブル351は、作業機械100の機械IDと、コンポーネントのハードウェア品番と、ソフトウェア品番とを関連付けて記憶する。
差分データ受信部311は、ソフトウェア管理サーバ500から、ソフトウェアの差分データと当該差分データの適用対象のソフトウェア品番を受信する。
更新対象特定部312は、コンポーネントテーブル351を参照し、差分データ受信部311が受信したソフトウェア品番に係るコンポーネント200および当該コンポーネント200を備える作業機械100を特定する。
品番確認部313は、更新対象特定部312が特定した作業機械100に更新対象となるコンポーネント200のソフトウェア品番の確認要求を送信する。品番確認部313は、作業機械100からソフトウェア品番の確認結果を受信する。
更新指示送信部314は、品番確認部313が作業機械100から受信した確認結果が、差分データ受信部311がソフトウェア管理サーバ500から受信したソフトウェア品番と一致する場合に、作業機械100にソフトウェアの更新指示を送信する。ソフトウェアの更新指示には、差分データ受信部311が受信した差分データ、ゲートウェイ機能コントローラ201が実行するためのゲートウェイスクリプト、および更新対象のコンポーネント200が実行するためのコンポーネントスクリプトが含まれる。ゲートウェイスクリプトには、ゲートウェイ機能コントローラ201が更新指示に含まれる差分データを処理する手順が記述される。コンポーネントスクリプトには、更新後のプログラムをインストールする手順が記述される。
テーブル更新部315は、ソフトウェアの更新指示の後に品番確認部313が作業機械100から受信した確認結果に基づいて、ソフトウェアが更新されたか否かを判定する。テーブル更新部315は、ソフトウェアが更新されたと判定した場合に、コンポーネントテーブル351を更新する。
《ソフトウェア管理サーバ500の構成》
図8は、第1の実施形態に係るソフトウェア管理サーバ500の構成を示すブロック図である。
ソフトウェア管理サーバ500は、プロセッサ510、メインメモリ530、ストレージ550、インタフェース570を備える。プロセッサ510は、ストレージ550からプログラムを取得してメインメモリ530に展開し、当該プログラムに従って所定の処理を実行する。インタフェース570は、コンポーネント管理サーバ300と通信可能に接続される。
ストレージ550に記憶されるプログラムは、ソフトウェア管理サーバ500に発揮させる機能の一部を実現するためのものであってもよい。また、他の実施形態においては、ソフトウェア管理サーバ500は、上記構成に加えて、または上記構成に代えてPLDなどのカスタムLSIを備えてもよい。この場合、ソフトウェア管理サーバ500によって実現される機能の一部または全部が当該集積回路によって実現されてよい。
ストレージ550の例としては、磁気ディスク、光磁気ディスク、光ディスク、半導体メモリ等が挙げられる。ストレージ550は、バス線に直接接続された内部メディアであってもよいし、インタフェース570または通信回線を介してソフトウェア管理サーバ500に接続される外部メディアであってもよい。また、このプログラムが通信回線によってソフトウェア管理サーバ500に配信され、プロセッサ510が当該プログラムを実行してもよい。少なくとも1つの実施形態においてストレージ550は、一時的でない有形の記憶媒体である。
プロセッサ510は、ストレージ550が記憶するプログラムの実行により、ソフトウェア記録部511、差分データ生成部512、差分データ送信部513を備える。また、ストレージ550には、ソフトウェアテーブル551の記憶領域が確保される。
ソフトウェアテーブル551は、コンポーネント200のハードウェア品番に関連付けて、当該品番に係るコンポーネント200に適用可能な品番の異なる複数のソフトウェアを記憶する。つまり、ソフトウェアテーブル551は、コンポーネントのハードウェア品番と、ソフトウェアの実体と、当該ソフトウェアのソフトウェア品番とを関連付けて記憶する。図9は、第1の実施形態に係るソフトウェアテーブルの一例を示す図である。ソフトウェアテーブル551は、画像表示コンポーネントを示すハードウェア品番と、画像表示コンポーネントアプリを示すソフトウェア品番と、ソフトウェアの実体とを関連付けて記憶している。また、図9に示す例では、ソフトウェアテーブル551は、マシンガイダンスコンポーネントを示すハードウェア品番と、マシンガイダンスコンポーネントアプリを示すソフトウェア品番と、ソフトウェアの実体とを関連付けて記憶している。
ソフトウェア記録部511は、サーバの管理者やソフトウェアの開発者からソフトウェアの実体、ソフトウェアの品番、およびソフトウェアの適用対象のコンポーネント200のハードウェア品番の入力を受け付け、これをソフトウェアテーブル551に記録する。管理者や開発者は、開発者端末700を操作し、ソフトウェアの実体、ソフトウェアの品番、およびソフトウェアの適用対象のコンポーネント200のハードウェア品番をソフトウェア管理サーバ500に送信する。また、ソフトウェア記録部511は、開発者端末700から連携して所定の機能を実現するための複数のコンポーネント200のハードウェア品番を示す品番情報の入力を受け付けると、受信した品番情報をストレージ550に記録する。
差分データ生成部512は、ソフトウェアテーブル551に新たに記録されたソフトウェアと、当該ソフトウェアの適用対象のハードウェアに適用される他の品番のソフトウェアとの差分データを生成する。
差分データ送信部513は、差分データ生成部512が生成した差分データと、当該差分データの適用対象となるソフトウェア品番とを、関連付けてコンポーネント管理サーバ300に送信する。差分データ送信部513は、開発者端末700から複数のコンポーネント200の品番情報を受信している場合、当該品番情報もコンポーネント管理サーバ300に送信する。
《ソフトウェアの更新方法》
図10は、第1の実施形態に係るソフトウェア更新システム1におけるコンポーネント200のソフトウェアの更新方法を示すシーケンス図である。
開発者は、コンポーネント200のソフトウェアを更新すると、開発者端末700を操作し、当該ソフトウェアの実体、当該ソフトウェアの品番、および当該ソフトウェアの適用対象のコンポーネント200のハードウェア品番とを関連付けてソフトウェア管理サーバ500に送信する。ソフトウェア管理サーバ500のソフトウェア記録部511は、受信したソフトウェアの実体、ソフトウェア品番、およびハードウェア品番を、関連付けてソフトウェアテーブル551に記録する(ステップS1)。なお、ソフトウェア記録部511が受信したソフトウェア品番は、更新後のソフトウェア品番である更新品番である。このとき、開発者端末700から品番情報を受信した場合、ソフトウェア記録部511は、受信した品番情報をストレージ550に記録する。
差分データ生成部512は、ソフトウェアテーブル551から、ステップS1で受信したハードウェア品番に関連付けられたソフトウェアの実体およびソフトウェア品番を取得する(ステップS2)。差分データ生成部512は、ステップS1で受信したソフトウェアと、ステップS2で取得した各ソフトウェアとの差分を計算することで、ソフトウェア品番ごとの差分データを生成する(ステップS3)。なお、コンポーネント200が記憶するソフトウェアが常に最新のものとなっている場合には、ステップS2で取得したソフトウェアのうち最新のソフトウェアのみについて、差分データを生成してもよい。差分データ送信部513は、ステップS3で生成した差分データを、ステップS1で受信したハードウェア品番、ステップS1で受信した更新品番、およびステップS2で取得したソフトウェア品番である対象品番に関連付けて、コンポーネント管理サーバ300に送信する(ステップS4)。ステップS1で開発者端末700から品番情報を受信している場合、差分データ送信部513は、品番情報もコンポーネント管理サーバ300に送信する。
コンポーネント管理サーバ300の差分データ受信部311は、ソフトウェア管理サーバ500から差分データ、ソフトウェア品番およびハードウェア品番を受信する(ステップS4)。更新対象特定部312は、コンポーネントテーブル351を参照し、受信したハードウェア品番に係るコンポーネント200を備える作業機械100を特定する(ステップS5)。なお、ハードウェア品番に係るコンポーネント200を備える複数の作業機械100が特定されてもよい。次に、品番確認部313は、特定した作業機械100のゲートウェイ機能コントローラ201に、更新対象となるコンポーネントのソフトウェア品番の確認要求を送信する(ステップS6)。すなわち、ソフトウェア品番の確認要求には、更新対象となるコンポーネント200のハードウェア品番が含まれる。
ゲートウェイ機能コントローラ201は、コンポーネント管理サーバ300からソフトウェア品番の確認要求を受信する(ステップS6)。ゲートウェイ機能コントローラ201は、コンポーネント200の品番確認処理を実行し、特定したソフトウェア品番をコンポーネント管理サーバ300に送信する(ステップS7)。ソフトウェア品番は、ソフトウェアの実体に定数として書き込まれており、例えばソフトウェアが有する品番確認コマンドを実行することで、特定される。ゲートウェイ機能コントローラ201による品番確認処理の詳細については、後述する。
コンポーネント管理サーバ300の品番確認部313は、作業機械100からソフトウェア品番を受信する(ステップS7)。ステップS7で受信したソフトウェア品番と、ステップS4で受信した対象品番とが一致する場合、更新指示送信部314は、当該作業機械100のゲートウェイ機能コントローラ201に、更新対象となるコンポーネントのソフトウェアの更新指示と更新に用いるパッケージファイルとを送信する(ステップS8)。ソフトウェアの更新指示には、ステップS4で受信した差分データとゲートウェイ機能コントローラ201が実行するためのゲートウェイスクリプト、および更新対象のコンポーネント200が実行するためのコンポーネントスクリプトが含まれる。ゲートウェイスクリプトには、差分データを適用するコンポーネントのハードウェア品番が含まれる。
なお、コンポーネント管理サーバ300は、ステップS4で受信したデータに複数のコンポーネント200のハードウェア品番を示す品番情報が含まれる場合、更新指示送信部314は、品番情報が示す複数のコンポーネント200に係る差分データ、ゲートウェイスクリプトおよびコンポーネントスクリプトに加えて、機能を実現するために要する各コンポーネント200のハードウェア品番情報と、コンポーネント200の更新順を示す更新順情報とを含むパッケージファイルを生成する。
ゲートウェイ機能コントローラ201は、コンポーネント管理サーバ300からソフトウェアの更新指示およびパッケージファイルを受信する(ステップS8)。ゲートウェイ機能コントローラ201は、パッケージファイルの受信が完了すると、パッケージファイルに含まれるゲートウェイスクリプトに従って、コンポーネント200のソフトウェア更新処理を実行する(ステップS9)。ゲートウェイスクリプトには、作業機械100のキーオフ後に、個別のコンポーネント200をWake-on-LAN等の機能によってウェイクさせて、ソフトウェア更新処理を実行することが記述されていてもよい。これは、作業機械100の稼働中に更新のためにコンポーネント200が機能しなくなることを防ぐためである。また、キーオン後、図示しない作業機械100のロックレバー(作業機、旋回、走行の全ての油圧回路の流路を遮断するレバー)によって、作業機械100の動作をロックしているときに、ソフトウェア更新処理を実行することが記述されてもよい。ゲートウェイ機能コントローラ201によるソフトウェア更新処理の詳細については、後述する。
コンポーネント管理サーバ300の差分データ受信部311がステップS9で更新指示を送信した所定時間後に、品番確認部313は、更新指示を送信した作業機械100のゲートウェイ機能コントローラ201に、更新対象のコンポーネントのソフトウェア品番の確認要求を送信する(ステップS10)。所定時間は、ソフトウェアへの差分データの適用処理の所要計算時間より十分に長い時間である。なお、他の実施形態においては、作業機械100のゲートウェイ機能コントローラ201が更新完了後に完了通知をコンポーネント管理サーバ300に送信し、品番確認部313が、完了通知を送信した作業機械100のゲートウェイ機能コントローラ201に、更新対象のコンポーネントのソフトウェア品番の確認要求を送信してもよい。
ゲートウェイ機能コントローラ201は、コンポーネント管理サーバ300からソフトウェア品番の確認要求を受信する。ゲートウェイ機能コントローラ201は、コンポーネント200の品番確認処理を実行し、特定したソフトウェア品番をコンポーネント管理サーバ300に送信する(ステップS11)。なお、ソフトウェア品番は、ソフトウェアの実体に定数として書き込まれるため、ステップS9のソフトウェア更新処理が正常に完了していれば、ソフトウェア品番も合わせて更新される。
コンポーネント管理サーバ300の品番確認部313は、作業機械100からソフトウェア品番を受信する(ステップS11)。ステップS11で受信したソフトウェア品番とステップS4で受信した更新品番とが一致する場合、テーブル更新部315は、コンポーネントテーブル351が記憶する当該コンポーネント200のソフトウェア品番をステップS11で受信したソフトウェア品番に更新する(ステップS12)。
なお、図10に示すシーケンス図は、処理の一例を示すものであり、他の処理によってソフトウェアの更新がなされることを妨げない。例えば、他の実施形態に係るソフトウェア更新システム1は、ステップS6、ステップS7、ステップS10、ステップS11、ステップS12の処理を行わなくてもよい。なお、他の実施形態においては、ソフトウェア品番は、コンポーネント200の図示しないメインメモリまたはストレージに記憶されてよい。この場合、ゲートウェイ機能コントローラ201は、ステップS7およびステップS11においてコンポーネント200の品番確認要求をコンポーネント200に送信し、コンポーネント200がメインメモリまたはストレージに記憶されたソフトウェア品番を取得してゲートウェイ機能コントローラ201に送信してもよい。
《ゲートウェイ機能コントローラ201の品番確認処理》
ここで、ソフトウェアの更新処理におけるゲートウェイ機能コントローラ201の動作について説明する。ゲートウェイ機能コントローラ201の第2基板220の受信部2211が、ステップS6またはステップS10にてコンポーネント管理サーバ300からソフトウェア品番の確認要求を受信すると、ゲートウェイ機能コントローラ201は品番確認処理を実行する。
図11は、第1の実施形態に係るゲートウェイ機能コントローラ201の品番確認処理を示すフローチャートである。
受信部2211は、ソフトウェア品番の確認対象のコンポーネント200、すなわち確認要求に含まれるハードウェア品番に係るコンポーネント200が、第2基板220に接続されているかを判定する(ステップS31)。確認対象のコンポーネント200が第2基板220に接続されている場合(ステップS31:YES)、アクセス部2214は、第2ネットワークN2を介して、確認対象のコンポーネント200からソフトウェア品番を取得する(ステップS32)。
他方、確認対象のコンポーネント200が第2基板220に接続されていない場合(ステップS31:NO)、出力部2212はソフトウェア品番の確認要求を第1基板210に出力する(ステップS33)。
第1基板210の入力部2111が第2基板220からソフトウェア品番の確認要求を受信する(ステップS34)。次に、アクセス部2112は、第1ネットワークN1を介して、確認対象のコンポーネント200からソフトウェア品番を取得する(ステップS35)。出力部2114は、取得したソフトウェア品番を第2基板220に出力する(ステップS36)。
第2基板220の入力部2213は、第1基板210から確認対象のコンポーネント200からのソフトウェア品番を受信する(ステップS37)。
第2基板220の送信部2216は、ステップS32またはステップS37で特定した確認対象のコンポーネント200からのソフトウェア品番を、コンポーネント管理サーバ300に送信する(ステップS38)。
これにより、ゲートウェイ機能コントローラ201は、コンポーネント管理サーバ300の確認要求に応答してコンポーネント200のソフトウェア品番を通知することができる。
なお、図11に示すフローチャートは、処理の一例を示すものであり、他の処理によって品番の確認がなされることを妨げない。また、他の実施形態に係るゲートウェイ機能コントローラ201は、品番確認処理を行わなくてもよい。なお、他の実施形態においては、ソフトウェア品番は、コンポーネント200の図示しないメインメモリまたはストレージに記憶されてよい。この場合、第2基板220は、ステップS32およびステップS37においてコンポーネント200の品番確認要求をコンポーネント200に送信し、コンポーネント200がメインメモリまたはストレージに記憶されたソフトウェア品番を取得して第2基板に送信してもよい。
《ゲートウェイ機能コントローラ201のソフトウェア更新処理》
ゲートウェイ機能コントローラ201の第2基板220の受信部2211が、ステップS8にてコンポーネント管理サーバ300からソフトウェアの更新指示とパッケージファイルとを受信する。受信部2211は、パッケージファイルの受信が完了すると、受信したパッケージファイルを第2ストレージ225に記録する。第2ストレージ225は、パッケージファイルを記憶する記憶部の一例である。そして、ゲートウェイ機能コントローラ201はパッケージファイルに含まれるゲートウェイスクリプトを実行することで、ソフトウェア更新処理を実行する。
図12は、第1の実施形態に係るゲートウェイ機能コントローラ201による単体のソフトウェア更新処理を示すフローチャートである。つまり、図12で示すフローチャートに示す例は、パッケージファイルに1つのコンポーネント200の更新に用いるデータのみが含まれる場合の手順を表す。
受信部2211は、ソフトウェアの更新対象のコンポーネント200、すなわちゲートウェイスクリプトに記述されたハードウェア品番に係るコンポーネント200との通信を行うために、接続情報を参照して当該コンポーネント200が第2基板220に接続されているかを判定する(ステップS61)。更新対象のコンポーネント200が第2基板220に接続されている場合(ステップS61:YES)、アクセス部2214は、第2ネットワークN2を介して、更新対象のコンポーネント200から現行のソフトウェアを取得する(ステップS62)。
他方、更新対象のコンポーネント200が第1基板210に接続されている場合、または更新対象のコンポーネント200が第1基板210である場合(ステップS61:NO)、出力部2212は第1基板210にソフトウェアの取得指示を出力する(ステップS63)。
第1基板210の入力部2111は、第2基板220からソフトウェアの取得指示を受信する(ステップS64)。更新部2113は、更新対象のコンポーネント200が第1基板210自身であるか否かを判定する(ステップS65)。更新対象のコンポーネント200が第1基板210自身である場合(ステップS65:YES)、更新部2113は、第1ストレージ215から主系ソフトウェアを取得する(ステップS66)。他方、更新対象のコンポーネント200が第1基板210自身でない場合(ステップS65:NO)、アクセス部2112は、第1ネットワークN1を介して更新対象のコンポーネント200から現行のソフトウェアを取得する(ステップS67)。なお、コンポーネント200は、現行のソフトウェアの情報を複数回に分けて第1基板に送信するようにしてもよい。これにより、一度の送信で現行のソフトウェアを、第1基板に送信することができない計算資源の小さいコンポーネント200においても、複数回に分けて送信することによって、現行のソフトウェアの情報を第1基板に送信することができる。
出力部2114は、ステップS66またはステップS67で取得したソフトウェアを、第2基板220に出力する(ステップS68)。
第2基板220の入力部2213は、第1基板210から更新対象のコンポーネント200のソフトウェアを受信する(ステップS69)。
そして、ソフトウェア生成部2215は、ゲートウェイスクリプトに従って、ステップS62またはステップS69で取得したソフトウェアに、コンポーネント管理サーバ300から受信したパッケージファイルに含まれる差分データを適用することで、更新後のソフトウェアを生成する(ステップS70)。ソフトウェア生成部2215は、生成したソフトウェアをコンポーネント200のハードウェア品番に関連付けて予備系ソフトウェア記憶部に記録する(ステップS71)。ソフトウェア生成部2215は、生成したソフトウェアを更新対象のコンポーネント200に送信するために、接続情報を参照して更新対象のコンポーネント200が第2基板220に接続されているかを判定する(ステップS72)。
更新対象のコンポーネント200が第2基板220に接続されている場合(ステップS72:YES)、アクセス部2214は、第2ネットワークN2を介して、更新対象のコンポーネント200にステップS70で生成したソフトウェアおよびパッケージファイルに含まれるコンポーネントスクリプトを出力する。これにより、当該コンポーネント200は、コンポーネントスクリプトの実行により、記憶するソフトウェアを、ステップS70で生成したソフトウェアに書き換える(ステップS73)。
他方、更新対象のコンポーネント200が第1基板210に接続されている場合、または更新対象のコンポーネント200が第1基板210である場合(ステップS72:NO)、出力部2212は第1基板210にソフトウェアの更新指示を出力する(ステップS74)。ソフトウェアの更新指示には、ステップS70で生成したソフトウェアおよび更新指示に含まれるコンポーネントスクリプトが含まれる。
第1基板210の入力部2111は、第2基板220からソフトウェアの更新指示を受信する(ステップS75)。更新部2113は、更新対象のコンポーネント200が第1基板210自身であるか否かを判定する(ステップS76)。更新対象のコンポーネント200が第1基板210自身である場合(ステップS76:YES)、更新部2113は、第1ストレージ215が記憶する予備系ソフトウェアを、更新指示に含まれるソフトウェアに書き換える(ステップS77)。予備系ソフトウェアの書き換えが完了すると、更新部2113は、第1ストレージ215が記憶する主系ソフトウェアを、更新指示に含まれるソフトウェアに書き換える(ステップS78)。
他方、更新対象のコンポーネント200が第1基板210自身でない場合(ステップS76:NO)、アクセス部2112は、第1ネットワークN1を介して更新対象のコンポーネント200にパッケージファイルに含まれるソフトウェアおよびコンポーネントスクリプトを出力する。これにより、当該コンポーネント200は、コンポーネントスクリプトの実行により、記憶するソフトウェアを、パッケージファイルに含まれるソフトウェアに書き換える(ステップS79)。
これにより、ゲートウェイ機能コントローラ201は、差分データに基づいてコンポーネント200のソフトウェアを更新することができる。
図13は、第1の実施形態に係るゲートウェイ機能コントローラ201による複数のソフトウェア更新処理を示すフローチャートである。つまり、図13で示すフローチャートに示す例は、パッケージファイルに互いに関連する機能を実現する複数のコンポーネント200の更新に用いるデータが含まれる場合の手順を表す。
受信部2211は、パッケージファイルに含まれるハードウェア品番情報に基づいて、更新対象の各コンポーネント200のハードウェア品番が更新条件を満たすか否かを判定する(ステップS81)。受信部2211は、ステップS7で取得したコンポーネント200のハードウェア品番に基づいて更新条件の判定を行ってもよいし、再度コンポーネント200からハードウェア品番を受信して更新条件の判定を行ってもよい。受信部2211は、例えばパッケージファイルに含まれるハードウェア品番情報と、更新対象の各コンポーネント200のハードウェア品番を比較して、一致する場合に更新条件を満たすと判定する。
少なくとも1つのコンポーネント200が、ハードウェア品番情報が示す更新条件を満たさない場合(ステップS81:NO)、受信部2211は、受信したパッケージファイルを削除し(ステップS82)、更新指示に係るすべてのコンポーネント200の更新を行わない。例えば、更新対象の3つのコンポーネント200のうち1つのみが更新条件を満たさず、残り2つが更新条件を満たす場合であっても、ゲートウェイ機能コントローラ201は、3つのコンポーネント200すべての更新を行わない。
他方、すべてのコンポーネント200が更新条件を満たす場合(ステップS81:YES)、受信部2211は、パッケージファイルに含まれる更新順情報が示す複数のコンポーネント200のうち、更新が完了していないものがあるか否かを判定する(ステップS83)。例えば、更新が完了したコンポーネント200の情報は後述のステップS87にて第2ストレージ225に記録されるため、受信部2211は、更新順情報が示す複数のコンポーネント200のうち更新が完了したコンポーネント200として記録されていないものがある場合に、更新が完了していないコンポーネント200があると判定する。更新が完了していないものがある場合(ステップS83:YES)、出力部2212は、最も更新順が早いものを、更新対象のコンポーネント200に決定する(ステップS84)。そして、更新対象のコンポーネント200について、図12に示すステップS61からステップS70の処理を実行し、ソフトウェアの更新を行う(ステップS85)。
アクセス部2214は、更新対象のコンポーネント200の更新が正常に完了したか否かを判定する(ステップS86)。例えば、アクセス部2214は、更新の異常終了や中断を示す通知をコンポーネント200から受信したか否かを判定する。アクセス部2214は、コンポーネント200の更新の中断を検知する検知部の一例である。更新対象のコンポーネント200の更新が正常に完了しなかった場合(ステップS86:NO)、ゲートウェイ機能コントローラ201は更新処理を中断し、ステップS84で決定した更新対象のコンポーネント200より更新順の遅いコンポーネント200の更新をせずに処理を終了する。
他方、更新が正常に完了した場合(ステップS86:YES)、第2ストレージ225にステップS84で決定したコンポーネント200の更新が完了したことを記録する(ステップS87)。これにより、電源断によって更新処理が中断された場合にも、更新が完了したコンポーネント200を特定することができる。そして、処理をステップS83に戻し、次のコンポーネント200の更新へ処理を移す。ステップS83で更新が完了していないものがないと判定された場合(ステップS83:NO)、受信部2211は、第2ストレージ225に記録したパッケージファイルを削除し(ステップS82)、更新処理を終了する。
なお、図13に示すフローチャートは、処理の一例を示すものであり、他の処理によって品番の確認がなされることを妨げない。例えば、他の実施形態においては、ゲートウェイ機能コントローラ201は、複数のコンポーネント200の更新処理を更新順情報によらず並列処理によって実行してもよい。
ここで、複数のコンポーネント200の更新について具体例を用いて説明する。更新前の作業機械100の周辺監視コンポーネント205は、カメラ206による撮像画像に基づいて作業機械100を中心に、上方から俯瞰したような俯瞰画像を生成する機能を有する。これに対し、周辺監視コンポーネント205は、ソフトウェアの更新により、作業機械100から所定の距離以内に存在する障害物を検出する機能を実現することができるようになる。また、モニタコンポーネント202は、ソフトウェアの更新により、検出された障害物の位置を俯瞰画像上にマーキングする機能を実現することができるようになる。また、制御コントローラ203は、ソフトウェアの更新により、障害物が検出された場合に油圧機器(例えば、走行モータ112、旋回モータ124、ブームシリンダ131C、アームシリンダ132C、バケットシリンダ133Cなど)の動作を制限させる機能を実現することができるようになる。つまり、モニタコンポーネント202および制御コントローラ203のソフトウェアは、周辺監視コンポーネント205のソフトウェアと関連するソフトウェアである。周辺監視コンポーネント205のソフトウェアは第1ソフトウェアの一例であり、モニタコンポーネント202および制御コントローラ203のソフトウェアは、第2ソフトウェアの一例である。
コンポーネント管理サーバ300は、ソフトウェア管理サーバ500から周辺監視コンポーネント205、モニタコンポーネント202、および制御コントローラ203のソフトウェアを受信し、それぞれの差分データを生成する。そして、コンポーネント管理サーバ300は、各差分データと、各コンポーネント200のハードウェア品番情報と、更新順情報とを含むパッケージファイルを生成する。このとき更新順情報が示す更新順は、例えば、周辺監視コンポーネント205、制御コントローラ203、モニタコンポーネント202の順である。
作業機械100のゲートウェイ機能コントローラ201は、コンポーネント管理サーバ300からパッケージファイルを受信する。パッケージファイルの受信が完了しないうちに何らかの要因で通信が中断された場合、作業機械100はソフトウェアの更新を行わない。そのため、例えばパッケージファイルの受信途中で作業機械100が起動し、通信圏外に移動した場合に、コンポーネント200の一部のみが更新され、一部が古い状態のままとなることを防ぐことができる。
他方、パッケージファイルの受信が完了した場合、各コンポーネント200のハードウェア品番がハードウェア品番情報が示す更新条件を満たさない場合、コンポーネント200の更新を行わない。これにより、コンポーネント200の一部が更新できず、一部のコンポーネント200のみが更新されることを防ぐことができる。
ハードウェア品番情報が示す更新条件を満たす場合、ゲートウェイ機能コントローラ201は更新順情報が示す順にコンポーネント200の更新を行う。このとき、更新の途中に何らかの要因で更新処理が中断されることがある。例えば、更新中に作業機械100が起動された場合、ゲートウェイ機能コントローラ201は、更新作業を中断して、各コンポーネント200を動作させる。この場合、ステップS86により更新が完了したコンポーネント200の情報が第2ストレージ225に記録される。そのため、再度ステップS81から処理を行うことで、ステップS83およびS84において受信部2211は更新が中断されたコンポーネント200を特定し、更新処理を再開することができる。受信部2211は、更新の中断を検知した場合に、更新が完了していないコンポーネント200を判定する判定部の一例である。また、既にパッケージファイルは第2ストレージ225に記録されているため、更新の再開時に通信圏外に移動していたとしても、更新処理を再開することができる。
《作用・効果》
このように、第1の実施形態に係るソフトウェア更新システム1は、第1コンポーネントの更新に用いる第1ソフトウェアと、第2コンポーネントの更新に用いる第2ソフトウェアとを含むデータをサーバから受信し、記憶部に記憶された後に、第1ソフトウェアおよび第2ソフトウェアに基づいて、第1コンポーネントと第2コンポーネントの更新を行う。これにより、ソフトウェア更新システム1は、複数のコンポーネント200の更新が途中で止まったとしても、当該更新を再開することができ、複数のコンポーネント200が連動することで実現される機能を実現させることができる。特に、第1の実施形態に係るソフトウェア更新システム1は、第2ソフトウェアによって実現される機能が、第1ソフトウェアによって実現される機能による計算結果を用いる場合に、第1ソフトウェアによる更新がなされずに第2ソフトウェアの機能が利用できなくなることを防ぐことができる。
〈他の実施形態〉
以上、図面を参照して一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、様々な設計変更等をすることが可能である。すなわち、他の実施形態においては、上述の処理の順序が適宜変更されてもよい。また、一部の処理が並列に実行されてもよい。
第1の実施形態に係るゲートウェイ機能コントローラ201は、作業機械100のすべてのコンポーネント200のソフトウェアを、当該作業機械100に搭載された第2基板220において生成する。他方、他の実施形態において、コンポーネント200が十分な計算資源を有しているものが存在する場合、コンポーネント200が自律的に差分データから新たなソフトウェアを生成し、自身のソフトウェアの更新を自律的に行ってもよい。また他の実施形態においては、コンポーネント管理サーバ300が差分データでなく、更新に用いる新たなソフトウェアそのものを含むパッケージファイルをゲートウェイ機能コントローラ201に送信してもよい。この場合、例えば、ソフトウェア管理サーバ500は、図10に示すシーケンス図のうちステップS2からステップS4の処理に代えて、ステップS1で受信したハードウェア品番、ソフトウェアの実体、更新品番およびソフトウェア品番である対象品番を、関連付けて、コンポーネント管理サーバ300に送信する。また、ゲートウェイ機能コントローラ201は、図12に示すステップS61からステップS71の処理に代えて、コンポーネント管理サーバ300から受信した更新に用いる新たなソフトウェアをコンポーネント200のハードウェア品番に関連付けて予備系ソフトウェア記憶部に記録する。更新指示には、更新に用いる新たなソフトウェア、ゲートウェイ機能コントローラ201が実行するためのゲートウェイスクリプト、および更新対象のコンポーネント200が実行するためのコンポーネントスクリプトが含まれる。ゲートウェイスクリプトには、新たなソフトウェアを処理する手順が記述される。
第1の実施形態に係るゲートウェイ機能コントローラ201は、物理的に分かれた第1基板210と第2基板220とを備える。これに対し、他の実施形態に係るゲートウェイ機能コントローラ201は、1つの基板に実装されるものであってもよい。また他の実施形態に係るゲートウェイ機能コントローラ201は、1つの基板が2つのプロセッサを備えるものであってもよい。また他の実施形態においては、ゲートウェイ機能コントローラ201が3つ以上の基板を備えてもよい。また、他の実施形態においては、ゲートウェイ機能コントローラ201が備える複数の基板の役割は、上述の実施形態と異なるものであってもよい。
また、他の実施形態においては、ソフトウェア管理サーバ500とコンポーネント管理サーバ300は別体ではなく、1つの装置によって実現されてもよい。
1…ソフトウェア更新システム 100…作業機械 110…走行体 111…無限軌道 112…走行モータ 120…旋回体 121…エンジン 122…油圧ポンプ 123…コントロールバルブ 124…旋回モータ 125…燃料噴射装置 130…作業機 131…ブーム 131C…ブームシリンダ 132…アーム 132C…アームシリンダ 133…バケット 133C…バケットシリンダ 140…運転室 142…運転席 143…操作装置 200…コンポーネント 201…ゲートウェイ機能コントローラ 202…モニタコンポーネント 203…制御コントローラ 204…エンジンコントローラ 205…周辺監視コンポーネント 206…カメラ 210…第1基板 211…第1プロセッサ 2111…入力部 2112…アクセス部 2113…更新部 2114…出力部 213…第1メインメモリ 215…第1ストレージ 217…第1インタフェース 220…第2基板 221…第2プロセッサ 2211…受信部 2212…出力部 2213…入力部 2214…アクセス部 2215…ソフトウェア生成部 2216…送信部 223…第2メインメモリ 225…第2ストレージ 2251…予備系ソフトウェア記憶部 227…第2インタフェース 300…コンポーネント管理サーバ 311…差分データ受信部 312…更新対象特定部 313…品番確認部 314…更新指示送信部 315…テーブル更新部 500…ソフトウェア管理サーバ 511…ソフトウェア記録部 512…差分データ生成部 513…差分データ送信部 700…開発者端末

Claims (10)

  1. 作業機械に備えられる複数のコンポーネントを更新するソフトウェア更新システムであって、
    前記複数のコンポーネントの1つである第1コンポーネントの更新に用いる第1ソフトウェアと、前記複数のコンポーネントの1つである第2コンポーネントの更新に用いるソフトウェアであって、前記第1ソフトウェアと関連する機能を実現するための第2ソフトウェアとを含むデータをサーバから受信する受信部と、
    受信された前記第1ソフトウェアおよび前記第2ソフトウェアを記憶する記憶部と、
    前記記憶部に前記第1ソフトウェアおよび前記第2ソフトウェアが記憶された後に、前記第1ソフトウェアおよび前記第2ソフトウェアに基づいて、前記第1コンポーネントと前記第2コンポーネントの更新を行う更新部と、
    を備えるソフトウェア更新システム。
  2. 前記第1コンポーネントは、前記作業機械に備えられる撮像装置を用いた周辺監視を行う周辺監視コンポーネントを含み、
    前記第2コンポーネントは、前記作業機械に備えられるモニタの表示制御を行うモニタコンポーネントと、前記作業機械に備えられる油圧機器の油圧制御を行う油圧コンポーネントとを含み、
    前記第1ソフトウェアは、前記撮像装置を用いた前記作業機械の周辺の障害物を検知する機能を実現するためのソフトウェアを含み、
    前記第2ソフトウェアは、前記第1ソフトウェアによる障害物の検知に関する表示を前記モニタに表示するための前記モニタコンポーネントのソフトウェアと、前記第1ソフトウェアによる障害物の検知時の前記油圧機器の出力を制御するための前記油圧コンポーネントのソフトウェアとを含み、
    前記更新部は、前記第1ソフトウェアと前記第2ソフトウェアに基づき、前記周辺監視コンポーネント、前記モニタコンポーネント、及び前記油圧コンポーネントの障害物検知機能に関連する機能を有効にする
    請求項1に記載のソフトウェア更新システム。
  3. 前記データは前記複数のコンポーネントの更新順を示す更新順情報を含み、
    前記更新部は、前記更新順情報が示す順に、前記複数のコンポーネントの更新を行う
    請求項1または請求項2に記載のソフトウェア更新システム。
  4. 前記更新部は、前記複数のコンポーネントのうち更新に失敗したコンポーネントがある場合に、前記更新順情報において当該コンポーネント以降に更新することを示すコンポーネントの更新を行わない
    請求項3に記載のソフトウェア更新システム。
  5. 前記更新部は、前記第1ソフトウェアによる前記第1コンポーネントの更新が完了した後に、前記第2ソフトウェアによる前記第2コンポーネントの更新を行う
    請求項1から請求項4の何れか1項に記載のソフトウェア更新システム。
  6. 前記更新部は、前記複数のコンポーネントのうち前記モニタコンポーネントを最後に更新する
    請求項2に記載のソフトウェア更新システム。
  7. 前記第1ソフトウェアおよび前記第2ソフトウェアに基づく前記第1コンポーネントおよび前記第1コンポーネントの更新の中断を検知する検知部と、
    前記更新の中断を検知した場合、更新が完了していない前記第1のコンポーネントおよび前記第2のコンポーネントのうちコンポーネントを判定する判定部と、
    を備え、
    前記更新部は、前記判定部によって更新が完了していないと判定された前記コンポーネントの更新が再開可能になった場合、前記記憶部に記憶した前記第1ソフトウェアまたは前記第2ソフトウェアに基づいて、前記判定部によって更新が完了していないと判定された前記コンポーネントの更新を行う
    請求項1から請求項6の何れか1項に記載のソフトウェア更新システム。
  8. 前記データは、前記第1ソフトウェアおよび前記第2ソフトウェアによる更新が可能な前記第1コンポーネント及び前記第2コンポーネントの品番の条件を示す品番情報を含み、
    前記更新部は、前記第1コンポーネント及び前記第2コンポーネントの品番が、前記品番情報が示す条件を満たす場合に、前記第1コンポーネント及び前記第2コンポーネント更新を行う
    請求項1から請求項7の何れか1項に記載のソフトウェア更新システム。
  9. 車体と、
    前記車体に取り付けられた作業機と、
    第1コンポーネントおよび第2コンポーネントを含む複数のコンポーネントと、
    請求項1から請求項8の少なくとも何れか1項に記載のソフトウェア更新システムと
    を備える作業機械。
  10. 作業機械に備えられる複数のコンポーネントを更新するソフトウェア更新方法であって、
    コンピュータが、前記複数のコンポーネントの1つである第1コンポーネントの更新に用いる第1ソフトウェアと、前記複数のコンポーネントの1つである第2コンポーネントの更新に用いるソフトウェアであって、前記第1ソフトウェアと関連する機能を実現するための第2ソフトウェアとを含むデータをサーバから受信するステップと、
    前記コンピュータが、受信された前記第1ソフトウェアおよび前記第2ソフトウェアを記憶するステップと、
    前記第1ソフトウェアおよび前記第2ソフトウェアが記憶された後に、前記コンピュータが、前記第1ソフトウェアおよび前記第2ソフトウェアに基づいて、前記第1コンポーネントと前記第2コンポーネントの更新を行うステップと、
    を備えるソフトウェア更新方法。
JP2021141277A 2021-08-31 2021-08-31 ソフトウェア更新システム、作業機械およびソフトウェア更新方法 Pending JP2023034836A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2021141277A JP2023034836A (ja) 2021-08-31 2021-08-31 ソフトウェア更新システム、作業機械およびソフトウェア更新方法
PCT/JP2022/032230 WO2023032850A1 (ja) 2021-08-31 2022-08-26 ソフトウェア更新システム、作業機械およびソフトウェア更新方法
KR1020247001902A KR20240022634A (ko) 2021-08-31 2022-08-26 소프트웨어 갱신 시스템, 작업 기계 및 소프트웨어 갱신 방법
DE112022002828.9T DE112022002828T5 (de) 2021-08-31 2022-08-26 Software-Aktualisierungssystem, Arbeitsmaschine und Software-Aktualisierungsverfahren
CN202280055761.XA CN117882049A (zh) 2021-08-31 2022-08-26 软件更新系统、作业机械及软件更新方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021141277A JP2023034836A (ja) 2021-08-31 2021-08-31 ソフトウェア更新システム、作業機械およびソフトウェア更新方法

Publications (1)

Publication Number Publication Date
JP2023034836A true JP2023034836A (ja) 2023-03-13

Family

ID=85412688

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021141277A Pending JP2023034836A (ja) 2021-08-31 2021-08-31 ソフトウェア更新システム、作業機械およびソフトウェア更新方法

Country Status (5)

Country Link
JP (1) JP2023034836A (ja)
KR (1) KR20240022634A (ja)
CN (1) CN117882049A (ja)
DE (1) DE112022002828T5 (ja)
WO (1) WO2023032850A1 (ja)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004118586A (ja) * 2002-09-26 2004-04-15 Murata Mach Ltd 管理装置およびそのプログラム
JP4128516B2 (ja) * 2002-11-18 2008-07-30 株式会社リコー 画像形成装置、プログラム更新方法
JP2006011647A (ja) * 2004-06-23 2006-01-12 Fujitsu Ten Ltd ソフトウェア管理装置
JP2016178499A (ja) * 2015-03-20 2016-10-06 シャープ株式会社 画像処理装置及び情報処理装置
JP6135723B2 (ja) 2015-08-20 2017-05-31 コベルコ建機株式会社 建設機械及びこれを備えたプログラム書き換えシステム
JP7252146B2 (ja) * 2020-01-10 2023-04-04 日立建機株式会社 作業機械
JP2021141277A (ja) 2020-03-09 2021-09-16 東京エレクトロン株式会社 載置台及びプラズマ処理装置

Also Published As

Publication number Publication date
KR20240022634A (ko) 2024-02-20
DE112022002828T5 (de) 2024-03-14
WO2023032850A1 (ja) 2023-03-09
CN117882049A (zh) 2024-04-12

Similar Documents

Publication Publication Date Title
BRPI0809249B1 (pt) método para planejamento e execução de trajetos livres de obstáculo para a maquinaria de escavação rotatória
EP3919687A1 (en) System including work machinery, computer-executed method, production method for trained attitude estimation models, and learning data
US9851719B2 (en) System and method for executing a project plan at worksite
JP2018018307A (ja) 建設機械のソフトウェア遠隔更新システム
JP7142151B2 (ja) 作業機械
JP7252146B2 (ja) 作業機械
WO2023032850A1 (ja) ソフトウェア更新システム、作業機械およびソフトウェア更新方法
CN111335376B (zh) 作业车辆的附接件坡度控制
JP2024508916A (ja) 土工機械における周期的動作の自動制御方法
CN111287245B (zh) 作业车辆的二维附接件坡度控制
WO2021172526A1 (ja) 作業機械のコンポーネントのソフトウェア更新システムおよびソフトウェア更新方法
US11274421B2 (en) Efficient secondary control device for a work machine
KR20220059963A (ko) Gnss 구동 제어 장치, gnss 컨트롤러, 작업 기계, 및 gnss 구동 제어 방법
JP2022072829A (ja) データ送信システム、作業機械、および作業機械のデータ送信方法
JP7027156B2 (ja) 作業機の通信装置、携帯端末、作業機の通信システム及び作業機の通信処理方法
US10267016B2 (en) System and method for swing control
JP2024048983A (ja) 作業機械の自動制御システム
JP3576846B2 (ja) 油圧ショベルの作業量モニタ装置
US20230374758A1 (en) Modifying a rotational position of a boom of a machine
JP7076020B1 (ja) 自動作業システム
WO2022244830A1 (ja) 積込機械の制御システム及び制御方法
WO2022244832A1 (ja) 積込機械の制御システム及び制御方法
US20200181869A1 (en) Boom Lock
JP2024055024A (ja) 作業機械
JP2021155998A (ja) 作業機械の管理システム