JP7443271B2 - working machine - Google Patents
working machine Download PDFInfo
- Publication number
- JP7443271B2 JP7443271B2 JP2021005248A JP2021005248A JP7443271B2 JP 7443271 B2 JP7443271 B2 JP 7443271B2 JP 2021005248 A JP2021005248 A JP 2021005248A JP 2021005248 A JP2021005248 A JP 2021005248A JP 7443271 B2 JP7443271 B2 JP 7443271B2
- Authority
- JP
- Japan
- Prior art keywords
- processing
- arithmetic
- slave
- calculation
- information
- 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.)
- Active
Links
- 238000012545 processing Methods 0.000 claims description 357
- 230000004044 response Effects 0.000 claims description 28
- 238000000034 method Methods 0.000 description 64
- 238000012876 topography Methods 0.000 description 36
- 238000001514 detection method Methods 0.000 description 30
- 239000013598 vector Substances 0.000 description 28
- 238000005259 measurement Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 238000010276 construction Methods 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000009430 construction management Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000010720 hydraulic oil Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Landscapes
- Operation Control Of Excavators (AREA)
Description
本発明は、作業機械に関する。 TECHNICAL FIELD The present invention relates to working machines.
作業機械による情報化施工や施工自動化においては、刻一刻と変化する現場の地形情報の把握が非常に重要である。また、作業現場における施工精度に影響するため、地形情報の精度の向上は必要不可欠である。 In information-based construction and construction automation using work machines, it is extremely important to grasp the ever-changing topographical information of the site. In addition, improving the accuracy of topographical information is essential as it affects construction accuracy at the work site.
このような作業機械における地形情報の演算に係る従来技術としては、例えば、特許文献1,2に記載のものがある。特許文献1には、作業機械に取り付けられ、対象を検出して、t対象の情報を出力する対象検出部と、前記対象検出部によって検出された前記対象の情報を用いて、前記対象の三次元形状を表す形状情報を出力する形状検出部と、前記形状情報及び前記形状情報から得られた情報の少なくとも一方を含む、施工に関する情報を送信する通信部と、を含む、施工管理システムが開示されている。
Conventional techniques related to calculation of terrain information in such working machines include those described in
また、特許文献2には、作業機械に設けられた撮像装置によって撮像された画像対の中から、処理対象となる対象画像対を選択する選択部と、選択された前記対象画像対を撮像した前記撮像装置に係るカメラパラメータを用いて、選択された前記対象画像対から作業機械の周辺の地形を表す三次元データを生成するステレオ計測部とを備える施工管理装置が開示されている。
Further,
また、演算処理の高速化に係る従来技術として、例えば、特許文献3には、所定の信号を基準として現用系(通常使用されるシステム)の送信装置から出力される無線周波信号の遅延時間と予備系(予備として使用されるシステム)の送信装置から出力される無線周波信号の遅延時間とを検出する検出部と、前記現用系の送信装置から出力される無線周波信号の遅延時間と前記予備系の送信装置から出力される無線周波信号の遅延時間との間の差分が小さくなるように、前記現用系の送信装置内の信号遅延時間または前記予備系の送信装置内の信号遅延時間を調整する調整部と、を備えた遅延時間調整装置が開示されている。 In addition, as a conventional technique related to speeding up arithmetic processing, for example, Patent Document 3 describes the delay time of a radio frequency signal output from a transmitting device of an active system (a system that is normally used) based on a predetermined signal. a detection unit that detects a delay time of a radio frequency signal output from a transmission device of a protection system (a system used as a protection system); Adjusting the signal delay time in the working transmitting device or the signal delay time in the backup transmitting device so that the difference between the delay time and the delay time of the radio frequency signal output from the transmitting device in the active system is reduced. A delay time adjustment device is disclosed that includes an adjustment section that performs the following steps.
上記特許文献3に記載の従来技術においては、複数の演算装置によりタスク単位で並列して演算処理を行っている。しかしながら、作業機械が作業現場において行う地形情報の演算のように、タスクごとの計算量の偏りが大きい場合には、従来技術のようにタスク単位で並列して演算する方法では、演算処理の高速化を十分に行うことができなかった。 In the conventional technology described in Patent Document 3, a plurality of arithmetic units perform arithmetic processing in parallel on a task-by-task basis. However, when there is a large imbalance in the amount of calculation for each task, such as the calculation of topographical information performed by a work machine at a work site, the conventional method of performing calculations in parallel for each task cannot achieve high-speed calculation processing. It was not possible to fully implement the
本発明は上記に鑑みてなされたものであり、より高速に多くの情報に基づく演算を行うことができる作業機械を提供することを目的とする。 The present invention has been made in view of the above, and an object of the present invention is to provide a working machine that can perform calculations based on a large amount of information at higher speed.
本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、作業現場における作業を行うとともに、前記作業現場の地形情報を計測する作業機械であって、1つのマスタ演算装置と、複数のスレイブ演算装置と、記憶装置とを有し、前記記憶装置に記憶された複数の情報からなる情報群に基づいて、前記1つのマスタ演算装置および複数のスレイブ演算装置によって前記作業現場の地形情報の演算処理を行う制御システムを備え、前記制御システムは、前記マスタ演算装置が、前記複数のスレイブ演算装置のうちの1つのスレイブ演算装置から送信された前記情報群に基づく演算処理の実行要求に応じて、前記情報群を予め定めた分割規則に基づいて複数の小情報群に分割するとともに、前記小情報群に基づく演算処理の実行を前記複数の小情報群のそれぞれについて前記複数のスレイブ演算装置の何れかに設定し、前記複数のスレイブ演算装置が、前記マスタ演算装置で設定された前記小情報群に基づく演算処理をそれぞれ実行し、演算処理の結果とともに演算処理の実行に要した演算負荷の情報を前記マスタ演算装置に返信し、前記マスタ演算装置が、前記複数のスレイブ演算装置からそれぞれ返信された演算結果を統合し、統合した演算結果を前記情報群に基づく演算処理の実行要求を送信したスレイブ演算装置に前記情報群の演算結果として返信するとともに、前記複数のスレイブ演算装置から返信された演算負荷の情報に基づいて、前記複数のスレイブ演算装置の演算負荷が均一になるように前記分割規則を変更する際に、1つのスレイブ演算装置あたりの演算負荷である平均演算負荷を算出するとともに、前記複数のスレイブ演算装置のそれぞれに前記小情報群に基づく演算処理を割り当てた場合に、現在の演算負荷の合計と、前記小情報群に基づく演算処理を割り当てる前の演算負荷の合計とのどちらが平均演算負荷に近いかを比較し、比較結果に基づいて、前記分割規則を変更するものとする。 The present application includes a plurality of means for solving the above problems, and one example is a work machine that performs work at a work site and measures topographical information of the work site , which has a single master calculation device. , a plurality of slave arithmetic devices, and a storage device, and based on an information group consisting of a plurality of pieces of information stored in the storage device, the one master arithmetic device and the plurality of slave arithmetic devices a control system that performs arithmetic processing of topographical information on the work site; In response to a request for execution of arithmetic processing based on the information group, the information group is divided into a plurality of small information groups based on a predetermined division rule, and execution of the arithmetic processing based on the small information group is performed on the plurality of small information groups. Each of them is set in any one of the plurality of slave processing devices, and the plurality of slave processing devices respectively execute arithmetic processing based on the small information group set in the master processing device, and perform the calculation together with the result of the arithmetic processing. Information on the calculation load required to execute the process is returned to the master calculation device, and the master calculation device integrates the calculation results returned from the plurality of slave calculation devices, and uses the integrated calculation results as the information group. The information group is returned as the calculation result of the information group to the slave calculation device that has sent the execution request for the calculation processing based on When changing the division rule so that the calculation load is uniform, the average calculation load, which is the calculation load per slave calculation device, is calculated, and the small information group is assigned to each of the plurality of slave calculation devices. When the calculation processing based on the small information group is assigned, the current total calculation load and the total calculation load before the calculation processing based on the small information group are compared to see which is closer to the average calculation load, and based on the comparison result, Therefore, the above-mentioned division rule shall be changed .
本発明によれば、より高速に多くの情報に基づく演算を行うことができる。 According to the present invention, calculations based on a large amount of information can be performed faster.
以下、本発明の実施の形態を図面を参照しつつ説明する。なお、本実施の形態では、作業機械の一例として、フロント作業機を備える油圧ショベルを例示して説明するが、これに限られず、作業現場で稼動する他の作業機械においても本発明を適用することも可能である。 Embodiments of the present invention will be described below with reference to the drawings. Note that in this embodiment, a hydraulic excavator equipped with a front work machine will be described as an example of a work machine, but the present invention is not limited to this, and the present invention can be applied to other work machines that operate at a work site. It is also possible.
<第1の実施の形態>
本発明の第1の実施の形態を図1~図8を参照しつつ詳細に説明する。
<First embodiment>
A first embodiment of the present invention will be described in detail with reference to FIGS. 1 to 8.
図1は、本実施の形態に係る作業機械の一例である油圧ショベルの外観を模式的に示す図である。 FIG. 1 is a diagram schematically showing the appearance of a hydraulic excavator, which is an example of a working machine according to the present embodiment.
図1において、油圧ショベル101は、垂直方向にそれぞれ回動する複数の被駆動部材(ブーム111、アーム112、バケット113)を連結して構成された多関節型のフロント作業機110と、車体130を構成する上部旋回体131及び下部走行体132とを備え、上部旋回体131は下部走行体132に対して旋回可能に設けられている。また、フロント作業機110のブーム111の基端は上部旋回体131の前部に垂直方向に回動可能に支持されており、アーム112の一端はブーム111の基端とは異なる端部(先端)に垂直方向に回動可能に支持されており、アーム112の他端にはバケット113が垂直方向に回動可能に支持されている。ブーム111、アーム112、バケット113、上部旋回体131、及び下部走行体132は、油圧アクチュエータであるブームシリンダ121、アームシリンダ122、バケットシリンダ123、旋回モータ124、及び左右の走行モータ125,126(図1では右側の一方のみを図示し、他方については符号のみを括弧書きで示す)によりそれぞれ駆動される。
In FIG. 1, a
上部旋回体131の上部前方には、オペレータが搭乗する運転室151が配置されている。運転室151には、油圧アクチュエータ121~126を操作するための操作信号を出力する複数の操作レバー(図示せず)や、オペレータに情報を通知するための表示装置としての機能と、オペレータによる情報の入力を可能とする入力装置としての機能を有するモニタ(図示せず)などが配置されている。モニタの画面には、例えば、タッチパネルが表層に形成されており、このタッチパネルの機能によりオペレータからの入力を受け付けることができる。
A driver's
ブームシリンダ121、アームシリンダ122、バケットシリンダ123、旋回モータ124及び左右の走行モータ125,126の動作制御は、図示を省略するが、エンジンなどの原動機によって駆動される油圧ポンプから各油圧アクチュエータ121~126に供給される作動油の方向及び流量をコントロールバルブで制御することにより行う。コントロールバルブは、パイロットポンプからパイロットバルブを介して出力される駆動信号(パイロット圧)により行われる。操作レバーからの操作信号に基づいて制御システムでパイロットバルブを制御することにより、各油圧アクチュエータ121~126の動作が制御される。
Although not shown, the operation of the
上部旋回体131の上部の後方には、2つのGNSS(Global Navigation Satellite System)受信機171,172が左右に並べて配置されている。以降、これらのGNSS受信機171,172を区別する場合は、左側に配置されているものを左GNSS受信機171、右側に配置されているものを右GNSS受信機172と称する。GNSS受信機171,172は、はるか上空を飛行しているGNSS衛星から出力される測位信号を受信し、受信した測位信号に基づいて油圧ショベル101の地球座標系における位置を演算して位置情報として出力する機能を有している。また、GNSS受信機171,172の上部旋回体131に対する相対位置は固定であるので、2つのGNSS受信機171,172で計測される位置情報の偏差から、上部旋回体131の向きを算出することができる。
At the rear of the upper part of the upper revolving
ここで、GNSS受信機171,172は、作業機械である油圧ショベル101の作業現場における位置を計測し、計測結果を位置情報として出力する位置計測装置を構成している。
Here, the GNSS
ブーム111、アーム112、バケット113、及び上部旋回体131には、それぞれ慣性計測装置(IMU: Inertial Measurement Unit)181~184が配置されている。以降、これらの慣性計測装置181~184を区別する必要が有る場合は、それぞれ、ブーム慣性計測装置181、アーム慣性計測装置182、バケット慣性計測装置183、及び、上部旋回体慣性計測装置184と称する。
Inertial measurement units (IMUs) 181 to 184 are arranged on the
慣性計測装置181~184は、角速度及び加速度を計測するものである。慣性計測装置181~184が配置された被駆動部材111~113及び上部旋回体131が静止している場合を考えると、慣性計測装置181~184に設定されたIMU座標系における重力加速度の方向(つまり、鉛直下向き方向)と、慣性計測装置181~184の取り付け状態(つまり、慣性計測装置181~184と被駆動部材111~113や上部旋回体131との相対的な位置関係)とに基づいて、被駆動部材111~113及び上部旋回体131の向き(対地角度)を姿勢情報として検出することができる。そして、慣性計測装置181~184の検出結果から被駆動部材111~113及び上部旋回体131のそれぞれの相対角度を算出することができる。また、慣性計測装置184で検出される角速度に基づいて上部旋回体131の旋回角度を検出することができるとともに、重力加速度の方向に基づいて上部旋回体131の傾斜角を検出することができる。すなわち、慣性計測装置181~184の検出結果に基づいて、上部旋回体131に対して固定して設定される車体座標系における作業機械の姿勢(例えば、油圧ショベル101を構成する各部の位置、バケット113の爪先位置など)を求めることができる。
The
上部旋回体131の、例えば、運転室151の上部には、油圧ショベル101の周囲の地形を計測し、計測結果を地形データとして出力する地形計測装置100が配置されている。地形計測装置100は、例えば、ステレオカメラ、レーザスキャナ、ミリ波レーダ等の外界センサである。地形計測装置100から出力される地形データは、例えば、上部旋回体131に対して固定して設定される車体座標系における地形や物体の表面位置を示す点群データである。地形計測装置100は、例えば、周期的に油圧ショベル101の周囲の地形を自動で計測し、地形データとして出力する。なお、地形計測装置100の搭載位置は上記に限定されるものではなく、油圧ショベル101の周囲の地形の計測が十分に行える位置および姿勢で配置すれば良い。なお、地球座標系、IMU座標系、及び車体座標系における位置情報(座標)は、座標系間において互いに変換可能である。
A
図2は、制御システムの全体構成を模式的に示す図である。 FIG. 2 is a diagram schematically showing the overall configuration of the control system.
図2において、制御システムは、1つのマスタCPU(マスタ演算装置)10と、複数のスレイブCPU(スレイブ演算装置)20,30と、データベースサーバ(記憶装置)40とを有し、データベースサーバ40に記憶された情報に基づくマスタCPU10及び複数のスレイブCPU20,30による演算結果を用いて油圧ショベル101の動作を制御するものである。なお、本実施の形態においては、複数のスレイブCPUのうち2つのみを図示して説明している。
In FIG. 2, the control system includes one master CPU (master processing unit) 10, a plurality of slave CPUs (slave processing units) 20, 30, and a database server (storage device) 40. The operation of the
なお、図示を省略する、マスタCPU10は、処理装置としてのCPU(Central Processing Unit)に加え、処理装置が実行するアプリケーション及びそのアプリケーションの実行に必要な設定情報等が格納される記憶装置(例えばROM、RAM等の半導体メモリ)を有するコンピュータ相当のハードウェアである。同様に、複数のスレイブCPU20,30は、それぞれ、処理装置としてのCPUに加え、処理装置が実行するアプリケーション及びそのアプリケーションの実行に必要な設定情報等が格納される記憶装置を有するコンピュータ相当のアプリケーションである。
The master CPU 10 (not shown) includes a CPU (Central Processing Unit) as a processing device, as well as a storage device (for example, ROM) that stores applications executed by the processing device and setting information necessary for executing the applications. , semiconductor memory such as RAM), which is equivalent to a computer. Similarly, each of the plurality of
データベースサーバ40は、例えば、ハードディスクドライブや大容量フラッシュメモリなどで構成されており、地形計測装置100の計測結果や、計測結果に基づいた複数のスレイブCPU20,30による演算処理の演算負荷の情報(後述)などが記憶されている。
The
制御システムのマスタCPU10、スレイブCPU20,30、及び、データベースサーバ40は、図示しないインタフェースによって接続されており、互いに高速での信号の授受が可能である。なお、各CPU10~30間の通信は、例えば、TCP/IPプロトコルを使用するものとする。また、制御システムは、図示しないインタフェースによって、運転室151のモニタや、油圧アクチュエータの駆動系と接続されており、演算結果に基づいてモニタに情報を表示したり、油圧アクチュエータ121~126の動作を制御したりする。
The
ここで、制御システムの構成および演算処理についてさらに詳細に説明する。本実施の形態においては、スレイブCPU20において、アプリケーション23を実行する場合を例示して説明する。アプリケーション23は、例えば、物体検知アプリケーションであり、データベースサーバ40に記憶された点群情報における各点の法線ベクトルを演算し、法線ベクトルの向きが連続している点の集合を物体として検知するものである。
Here, the configuration and arithmetic processing of the control system will be explained in more detail. In this embodiment, a case where the
マスタCPU10は、例示した物体検知アプリケーションに係る演算処理のような作業現場の地形に関する処理の管理を担当する機能部であって、マスタCPU10上で実行されるアプリケーションにより実現される地形担当管理部11と、1つ以上の他のアプリケーション15とで構成されている。また、地形担当管理部11は、地形担当管理部11における処理を担当する機能部として、マスタCPU10上で実行されるアプリケーションにより実現される処理分配部12、情報格納部13、及び、処理結果収集部14を有している。
The
スレイブCPU20は、例示した物体検知アプリケーションに係る演算処理のような作業現場の地形に関する処理を行う機能部であって、スレイブCPU20上で実行されるアプリケーションにより実現される地形処理部21と、複数の他のアプリケーション23,24とで構成されている。また、地形処理部21は、地形処理部21における演算処理(例えば、法線ベクトル演算処理)の実行を担当する機能部として、スレイブCPU20上で実行されるアプリケーションにより実現される法線ベクトル演算実行部22を有している。なお、本実施の形態においては、スレイブCPU20のアプリケーション23が物体検知アプリケーションである場合を例示する。
The
同様に、スレイブCPU30は、例示した物体検知アプリケーションに係る演算処理のような作業現場の地形に関する処理を行う機能部であって、スレイブCPU30上で実行されるアプリケーションにより実現される地形処理部31と、複数の他のアプリケーション33,34とで構成されている。また、地形処理部31は、地形処理部31における演算処理(例えば、法線ベクトル演算処理)の実行を担当する機能部として、スレイブCPU30上で実行されるアプリケーションにより実現される法線ベクトル演算実行部32を有している。
Similarly, the
以上のように構成した本実施の形態の制御システムにおいて、スレイブCPU20のアプリケーション23(物体検知アプリケーション)は、並列に処理すべき複数の演算処理(後述の法線ベクトル演算処理)を持っている。スレイブCPU20でアプリケーション23(物体検知アプリケーション)が起動されると、アプリケーション23は、まず、複数の演算処理を並列に処理するために、マスタCPU10の地形担当管理部11の処理分配部12に分配処理の処理要求リクエストを送信する。処理分配部12は、スレイブCPU20からの分配処理の処理要求リクエストを受信すると、予め定めた分配処理手順に基づいて各スレイブCPU20,30に演算処理を分配し、スレイブCPU20,30の地形処理部21,31に演算処理の処理命令リクエストを送信する。なお、処理分配部12は、分配処理において、データベースサーバ40に格納されている処理計算量(演算負荷)を取得し、この処理計算量に基づいて分配処理を行う。スレイブCPU20,30の地形処理部21,31は、それぞれ、演算処理の処理命令リクエストを受信すると、その処理命令リクエストの情報に基づいて演算処理を実行し、演算結果と演算処理に要した演算負荷とをマスタCPU10の地形担当管理部11の処理結果収集部14に送信する。処理結果収集部14は、処理命令リクエストを送信した全てのスレイブCPU20,30からの演算結果を受信して結合し、並列に処理すべき複数の演算処理の演算結果として、処理要求リクエストを送信したアプリケーション23(物体検知アプリケーション)に送信する。また、処理結果収集部14は、処理命令リクエストを送信した全てのスレイブCPU20,30からの処理計算量に基づいて、データベースサーバ40に記憶されている処理計算量(演算負荷)を更新する。
In the control system of this embodiment configured as described above, the application 23 (object detection application) of the
図3は、スレイブCPUの物体検知アプリケーションの処理内容を示すフローチャートである。物体検知アプリケーションは、点群情報から物体を示す点の集合を抽出することで、物体の有無およびその位置を検知するものである。 FIG. 3 is a flowchart showing the processing contents of the object detection application of the slave CPU. An object detection application detects the presence or absence of an object and its position by extracting a set of points indicating an object from point cloud information.
図3に示すように、スレイブCPU20のアプリケーション23(物体検知アプリケーション)は、まず、地形計測装置100で計測されてデータベースサーバ40に記憶された計測結果(点群情報)を取得し、点群情報を構成する各点の法線ベクトルを演算する(ステップS100)。なお、本実施の形態においては、後に詳述するようにステップS100の点群情報に対する法線ベクトルの演算を複数のスレイブCPU20,30で分配して並列に行うことにより、演算処理の高速化を実現している。
As shown in FIG. 3, the application 23 (object detection application) of the
続いて、物体検知アプリケーションは、点群情報を構成する各点について最も近い他の点を探索し(ステップS110)、点群の各点の法線ベクトルの向きが連続している近傍点の集合(以降、クラスタと称する)を抽出する(ステップS120)。以降、このような抽出処理をクラスタリングと称する。 Next, the object detection application searches for the nearest other point for each point forming the point cloud information (step S110), and finds a set of neighboring points in which the normal vector direction of each point in the point cloud is continuous. (hereinafter referred to as a cluster) is extracted (step S120). Hereinafter, such extraction processing will be referred to as clustering.
続いて、物体検知アプリケーションは、ステップS120で抽出したクラスタの数が2以上であるか否かを判定し(ステップS130)、判定結果がNOの場合、すなわち、クラスタの数が2未満である場合には、エラーであると判定し、演算結果としてエラー値を返し(ステップS132)、処理を終了する。 Next, the object detection application determines whether the number of clusters extracted in step S120 is 2 or more (step S130), and if the determination result is NO, that is, if the number of clusters is less than 2. In this case, it is determined that there is an error, an error value is returned as the calculation result (step S132), and the process ends.
また、ステップS130での判定結果がYESの場合、すなわち、クラスタ数が2以上である場合には、算出したクラスタを検知した物体として返し(ステップS131)、処理を終了する。 Further, if the determination result in step S130 is YES, that is, if the number of clusters is 2 or more, the calculated cluster is returned as the detected object (step S131), and the process ends.
図4は、スレイブCPUの物体検知アプリケーションにおける法線ベクトル演算処理の処理内容を示すフローチャートである。 FIG. 4 is a flowchart showing the processing contents of normal vector calculation processing in the object detection application of the slave CPU.
図4に示すように、スレイブCPU20のアプリケーション23(物体検知アプリケーション)は、法線ベクトル演算処理(図2のステップS100)として、まず、点群情報を構成する各点の法線ベクトルの演算処理を並列に実行するための分配処理の処理要求リクエストを生成し、マスタCPU10の地形担当管理部11の処理分配部12に送信する(ステップS200)。
As shown in FIG. 4, the application 23 (object detection application) of the
続いて、物体検知アプリケーションは、マスタCPU10の地形担当管理部11の処理結果収集部14から法線ベクトルの演算結果を受信するまで待機し(ステップS210)、マスタCPU10から法線ベクトルの演算結果を受信すると(ステップS220)、受信した演算結果を用いて物体検知アプリケーションの後段の処理(図2のステップS110)に移る。
Next, the object detection application waits until it receives the normal vector calculation result from the processing
図5は、リクエスト送信処理において送信される分配処理の処理要求リクエストの一例を示す図である。処理要求リクエストの送信は、例えば、オブジェクト言語であるJSON(JavaScript Object Notation)形式で記述されたデータファイルの送信により行われる。 FIG. 5 is a diagram illustrating an example of a processing request request for distribution processing transmitted in the request transmission processing. The processing request is transmitted, for example, by transmitting a data file written in JSON (JavaScript Object Notation) format, which is an object language.
図5に示すように、リクエスト送信処理(図4のステップS200)では、地形担当管理部11の処理分配部12に送信する処理要求リクエストを生成する。処理要求リクエストには、リクエスト元CPU名、リクエスト元IPアドレス、リクエスト元ポート番号、リクエストID、リクエスト処理内容、及び、対象地形領域情報が含まれている。
As shown in FIG. 5, in the request transmission process (step S200 in FIG. 4), a processing request is generated to be transmitted to the
リクエスト元CPU名(requester)、リクエスト元IPアドレス(IP-addr)、及び、リクエスト元ポート番号(Port num)は、地形担当管理部11に対して、演算結果の返信先の情報を伝えるものである。地形担当管理部11では、これらの情報を情報格納部13に格納する。
The request source CPU name (requester), the request source IP address (IP-addr), and the request source port number (Port num) are used to convey information to the
リエクスト処理内容(target_region)は、地形担当管理部11に対して処理してほしい内容の情報を伝えるものである。本実施の形態においては、法線ベクトル演算である。
The request processing content (target_region) is used to convey information about the content that the
対象地形領域情報(process_type)は、地形担当管理部11に対して、処理してほしい地形の範囲の情報を伝えるものである。本実施の形態では、物体検知アプリケーションが物体を検知すべき作業現場の領域を示している。作業機械である油圧ショベル101が作業する領域は、あらかじめ複数の小さな領域に区切られており、例えば、現場座標系として与えられた座標により一意に特定できる。本実施の形態では、この小さな領域のことをグリッドと称する。対象地形領域情報が示すグリッドの領域が例えば、(0,0)(0,10)(20,0)(20,10)の4つの座標を頂点とする長方形である場合には、”0:20,0:10”と示される。
The target terrain area information (process_type) is used to convey information on the range of terrain desired to be processed to the
リクエストID(request ID)は、送信した処理要求リクエストとレスポンス(演算結果)とを1対1で紐づけるために使用されるものである。例えば、同一のアプリケーションで複数のリクエストを送信する場合に必要となる。 The request ID is used to link the transmitted processing request and response (computation result) on a one-to-one basis. For example, this is necessary when sending multiple requests with the same application.
図8は、マスタCPUの地形担当管理部の処理分配部の処理内容を示すフローチャートである。 FIG. 8 is a flowchart showing the processing contents of the processing distribution section of the topography management section of the master CPU.
図8に示すように、マスタCPU10の地形担当管理部11の処理分配部12は、スレイブCPU20のアプリケーション23から処理要求リクエストを受信すると、まず、データベースサーバ40から地形の処理負荷(処理計算量)を取得する(ステップS300)。処理負荷は、地形のグリッド毎に与えられている。各グリッドに対して処理負荷は整数値で表示されている。
As shown in FIG. 8, when the
続いて、取得した処理負荷に基づいて、各スレイブCPU20,30に割り当てる領域を決定する(ステップS310)。この処理分配処理では、領域の割り当てはグリッド単位で行われる。
Next, based on the obtained processing load, an area to be allocated to each
続いて、データベースサーバ40から地形フィルターを取得する(ステップS320)。地形フィルターは、各グリッドが複数のスレイブCPU20,30の何れのスレイブCPUに割り当てられているかを示す情報である。例えば、地形フィルタとして各グリッドに整数値を割り当て、数値が1であるグリッドは第1のスレイブCPUが、数値が2であれば第2のスレイブCPUがそのグリッドの演算処理を担当するというルールをあらかじめ定めておく。本実施の形態では、データベースサーバ40に予め格納されている複数の地形フィルターの中から現在使用できる地形フィルターを取得する。データベースサーバ40には、複数の地形フィルターを同時に使用するために、予め決まった数の複数の地形フィルターが格納されている。
Next, a terrain filter is acquired from the database server 40 (step S320). The terrain filter is information indicating which slave CPU of the plurality of
続いて、各グリッドに割り当てた領域を示す地形フィルターを作成し、データベースサーバ40の情報を更新する(ステップS330)。
Next, a terrain filter indicating the area allocated to each grid is created, and information in the
続いて、各グリッドの演算処理を担当するスレイブCPU20,30に、それぞれ演算処理の処理命令リクエストを送信し(ステップS340)、処理を終了する。
Subsequently, a processing command request for arithmetic processing is transmitted to each of the
図6は、処理命令リクエスト送信処理において送信される演算処理の処理命令リクエストの一例を示す図である。処理命令リクエストの送信は、例えば、オブジェクト言語であるJSON(JavaScript Object Notation)形式で記述されたデータファイルの送信により行われる。 FIG. 6 is a diagram illustrating an example of a processing instruction request for arithmetic processing that is transmitted in the processing instruction request transmission process. The processing instruction request is transmitted, for example, by transmitting a data file written in the JSON (JavaScript Object Notation) format, which is an object language.
図6に示すように、リクエスト送信処理(図8のステップS340)では、各スレイブCPU20,30に送信する処理命令リクエストを生成する。処理命令リクエストには、リクエストID、リクエストサブID、対象地形領域情報、地形フィルター名、及び、リクエスト処理内容が含まれている。
As shown in FIG. 6, in the request transmission process (step S340 in FIG. 8), a processing command request to be transmitted to each
リクエストID(request ID)、対象地形領域情報(target_region)、及び、リクエスト処理内容(process_type)は、処理要求リクエスト(図5参照)の情報と同じである。 The request ID (request ID), target terrain region information (target_region), and request processing content (process_type) are the same as the information in the processing request request (see FIG. 5).
リクエストサブID(request_sub ID)は、処理を分担するスレイブCPU20,30ごとに割り振られており、全てのスレイブCPU20,30からレスポンス(演算結果の受信)があったことを確認するために使用するものである。すなわち、リクエストサブIDから全ての処理要求リクエストの数も判断できるようになっている。
The request sub ID (request_sub ID) is assigned to each
地形フィルター名(mask)は、データベースサーバ40に格納されている地形フィルターを特定するための名前であり、スレイブCPU20,30がデータベースサーバ40から地形情報を取得するのに使用されるものである。
The terrain filter name (mask) is a name for identifying the terrain filter stored in the
図9は、マスタCPUの地形担当管理部の処理分配部における処理分配処理の処理内容を示すフローチャートである。 FIG. 9 is a flowchart showing the processing contents of the processing distribution process in the processing distribution section of the topography management section of the master CPU.
図9に示すように、マスタCPU10の地形担当管理部11の処理分配部12は、処理分配処理(図8のステップS310)として、まず、全グリッドの処理計算量を合算し、スレイブCPU20,30の数で割ることで、1つのスレイブCPUが処理する平均の処理計算量を算出する(ステップS400)。
As shown in FIG. 9, as a process distribution process (step S310 in FIG. 8), the
続いて、各スレイブCPU20,30が処理するグリッドを0(ゼロ)とし(ステップS410)、各スレイブCPUを表す変数i=0(ゼロ)とすることで初期化を行う(ステップS420)。
Subsequently, initialization is performed by setting the grid processed by each
続いて、(i+1)<N(N:スレイブCPUの総数)であるか否か、すなわち、グリッドの割当処理を行っていないスレイブCPUが存在するか否かを判定し(ステップS430)、判定結果がYESの場合には、未割当のグリッドがあるか否かを判定する(ステップS440)。ステップS440での判定結果がNOの場合、すなわち、i番目のスレイブCPUに対して割り当てるべき未割当のグリッドが存在しない場合には処理を終了し、処理分配部12の後段の処理(図8のステップS320)に移る。 Next, it is determined whether (i+1)<N (N: total number of slave CPUs), that is, whether there is a slave CPU that has not performed grid allocation processing (step S430), and the determination result is If YES, it is determined whether there is an unallocated grid (step S440). If the determination result in step S440 is NO, that is, if there is no unallocated grid to be allocated to the i-th slave CPU, the process ends, and the subsequent process of the process distribution unit 12 (see FIG. The process moves to step S320).
また、ステップS440での判定結果がYESの場合、すなわち、未割当のグリッドが存在する場合は、その未割当のグリッドをi番目のスレイブCPUに割り当てる(ステップS450)。 Further, if the determination result in step S440 is YES, that is, if there is an unallocated grid, the unallocated grid is allocated to the i-th slave CPU (step S450).
続いて、i番目のスレイブCPUに割り当てられているグリッドの合計処理計算量が、ステップS400で計算した平均処理計算量よりも大きいか否かを判定し(ステップS460)、判定結果がNOの場合には、ステップS440の処理に戻る。 Next, it is determined whether the total amount of processing calculation of the grid assigned to the i-th slave CPU is larger than the average amount of processing calculation calculated in step S400 (step S460), and if the determination result is NO, Then, the process returns to step S440.
また、ステップS460での判定結果がYESの場合、すなわち、i番目のスレイブCPUに割り当てられているグリッドの合計処理計算量が、ステップS400で計算した平均処理計算量よりも大きい場合には、続いて、i番目のスレイブCPUの現在の合計処理計算量が最新のグリッドを追加する前の合計処理計算量よりも平均処理計算量に近くなったか否かを判定する(ステップS470)。すなわち、ステップS470では、i番目のスレイブCPUの現在の合計処理計算量と、最新のグリッドを追加する前の合計処理計算量とのどちらが平均処理計算量に近いかを比較している。 Further, if the determination result in step S460 is YES, that is, if the total processing complexity of the grid assigned to the i-th slave CPU is larger than the average processing complexity calculated in step S400, the Then, it is determined whether the current total processing amount of the i-th slave CPU is closer to the average processing amount than the total processing amount of calculation before adding the latest grid (step S470). That is, in step S470, a comparison is made to determine which of the current total processing amount of the i-th slave CPU and the total processing amount of calculation before adding the latest grid is closer to the average processing amount.
ステップS470での判定結果がNOの場合、最新のグリッドを追加する前の合計処理計算量の方が平均処理計算量に近い場合には、最新のグリッドを未割当にもどし(ステップS480)、ステップS430の処理に戻って(i+1)番目のスレイブCPUに対する割当処理に移行する。 If the determination result in step S470 is NO, and if the total processing amount before adding the latest grid is closer to the average processing amount, the latest grid is returned to unassigned (step S480), and step Returning to the process of S430, the process moves to the allocation process for the (i+1)th slave CPU.
また、ステップS470での判定結果がYESの場合、すなわち、現在の合計処理計算量の方が平均処理計算量に近い場合には、ステップS430の処理に戻って(i+1)番目のスレイブCPUに対する割当処理に移行する。 Further, if the determination result in step S470 is YES, that is, if the current total processing amount is closer to the average processing amount, the process returns to step S430 and allocation to the (i+1)th slave CPU is performed. Move to processing.
また、ステップS430での判定結果がNOの場合、すなわち、全てのスレイブCPUへの割り当て処理が終了し場合には、続いて、未割当のグリッドがあるか否かを判定する(ステップS431)。 Furthermore, if the determination result in step S430 is NO, that is, if the allocation processing to all slave CPUs has been completed, it is then determined whether or not there is an unallocated grid (step S431).
ステップS431での判定結果がYESの場合、すなわち、未割当のグリッドが存在する場合には、平均処理計算量よりも合計処理計算量が低いスレイブCPUにその未割当のグリッドを割り当て(ステップS432)、ステップS431の処理に戻る。すなわち、ステップS431,S432の処理を、未割当のグリッドが存在しなくなるまで繰り返す。ステップS431での判定結果がYESの場合のように未割当のグリッドが存在する場合には、合計処理計算量が平均処理計算量よりも低いスレイブCPUが必ず存在するので、そのスレイブCPUにその未割当のグリッドを割り当てることで、各スレイブCPUに均一にグリッドを割り当てることができる。 If the determination result in step S431 is YES, that is, if there is an unallocated grid, the unallocated grid is allocated to a slave CPU whose total processing amount is lower than the average processing amount (step S432). , the process returns to step S431. That is, the processes of steps S431 and S432 are repeated until there are no unallocated grids. If there is an unallocated grid, as in the case where the determination result in step S431 is YES, there is always a slave CPU whose total processing amount is lower than the average processing amount, so that slave CPU has the unallocated grid. By allocating the grid, it is possible to uniformly allocate the grid to each slave CPU.
また、ステップS431での判定結果がNOの場合、すなわち、未割当のグリッドが存在しない場合には、処理を終了して処理分配部12の後段の処理(図8のステップS320)に移る。 Furthermore, if the determination result in step S431 is NO, that is, if there is no unallocated grid, the process ends and the process moves to the subsequent process of the process distribution unit 12 (step S320 in FIG. 8).
図10は、スレイブCPUの地形処理部の法線ベクトル演算実行部の処理内容を示すフローチャートである。 FIG. 10 is a flowchart showing the processing contents of the normal vector calculation execution section of the terrain processing section of the slave CPU.
図10に示すように、スレイブCPU20,30の地形処理部21,31の法線ベクトル演算実行部22,32は、処理命令リクエストを受領するまでは待ち受け状態であり(ステップS500)、マスタCPU10の地形担当管理部11の処理分配部からの演算処理の処理命令リクエストを受領すると、処理命令リクエストの対象地形領域情報と地形フィルター名とを用いて、データベースサーバ40から点群情報を読み込む(ステップS510)。
As shown in FIG. 10, the normal vector
続いて、処理命令リクエストのリクエスト処理内容に基づいて、点群情報に対する処理方法(本実施の形態では、法線ベクトルの演算処理方法)をデータベースサーバ40から読み出し(ステップS520)、読みだした処理方法を用いて点群情報に対する演算処理を実行するとともに(ステップS530)、演算処理の実行に要した処理計算量を計測する(ステップS540)。 Next, based on the request processing content of the processing command request, a processing method for point cloud information (in this embodiment, a normal vector calculation processing method) is read from the database server 40 (step S520), and the read processing is performed. The method is used to perform arithmetic processing on the point cloud information (step S530), and the amount of processing calculation required to perform the arithmetic processing is measured (step S540).
続いて、演算処理の結果と処理計算量とを処理命令レスポンスとしてマスタCPU10の地形担当管理部11の処理結果収集部14に送信し(ステップS550)、処理を終了する。
Subsequently, the result of the arithmetic processing and the amount of processing calculation are transmitted as a processing command response to the processing
図7は、処理命令レスポンス送信処理において送信される処理命令レスポンスの一例を示す図である。処理命令レスポンスの送信は、例えば、オブジェクト言語であるJSON(JavaScript Object Notation)形式で記述されたデータファイルの送信により行われる。 FIG. 7 is a diagram illustrating an example of a processing command response transmitted in the processing command response transmission process. The processing command response is transmitted, for example, by transmitting a data file written in JSON (JavaScript Object Notation) format, which is an object language.
図7に示すように、処理命令レスポンス送信処理(図10のステップS550)では、マスタCPU10に送信する処理命令レスポンス生成する。処理命令レスポンスには、リクエストID、リクエストサブID、処理結果、及び、処理計算量が含まれている。
As shown in FIG. 7, in the processing command response transmission process (step S550 in FIG. 10), a processing command response to be transmitted to the
リクエストID(request ID)、及び、リクエストサブID(request_sub ID)は、処理要求リクエスト(図5参照)や処理命令リクエスト(図6参照)の情報と同じである。 The request ID (request ID) and the request sub ID (request_sub ID) are the same information as the processing request request (see FIG. 5) and the processing instruction request (see FIG. 6).
処理結果(serialized_result)は、各スレイブCPU20,30の法線ベクトル演算実行部22,32における演算結果と処理計算量とをシリアル形式で表したものである。
The processing result (serialized_result) is a serial representation of the calculation result and processing calculation amount in the normal vector
図11は、マスタCPUの地形担当管理部の処理結果収集部の処理内容を示すフローチャートである。 FIG. 11 is a flowchart showing the processing contents of the processing result collection section of the topography management section of the master CPU.
図11に示すように、マスタCPU10の地形担当管理部11の処理結果収集部14は、各スレイブCPU20,30からの処理命令レスポンスを受領するまでは待ち受け状態であり(ステップS600)、処理命令レスポンスを受領すると、各スレイブCPU20,30から受信した処理命令レスポンスに含まれる処理結果を統合するとともに(ステップS610)、処理命令レスポンスに含まれる処理計算量を用いてデータベースサーバ40の処理計算量を更新する(ステップS620)。
As shown in FIG. 11, the processing
続いて、処理分配部12が演算処理の処理命令リクエストを送信した全てのスレイブCPU20,30から処理命令レスポンスを受信したか否かを判定し(ステップS630)、判定結果がNOの場合、すなわち、全ての処理命令レスポンスを受信していない場合には、全ての処理命令レスポンスを受信するまで、ステップS600~S630の処理を繰り返す。
Subsequently, the
また、ステップS630での判定結果がYESの場合には、統合した演算結果を処理要求レスポンスとして、処理要求リクエストを送信したスレイブCPU20のアプリケーション23に返信し(ステップS640)、処理を終了する。処理要求リクエストを発信したスレイブCPU20の情報は、情報格納部13に格納されている。
If the determination result in step S630 is YES, the integrated calculation result is returned as a processing request response to the
以上のように構成した本実施の形態における効果を説明する。 The effects of this embodiment configured as above will be explained.
従来技術においては、複数の演算装置によりタスク単位で並列して演算処理を行っている。しかしながら、作業機械が作業現場において行う地形情報の演算のように、タスクごとの計算量の偏りが大きい場合には、従来技術のようにタスク単位で並列して演算する方法では、演算処理の高速化を十分に行うことができなかった。 In the conventional technology, a plurality of arithmetic units perform arithmetic processing in parallel on a task-by-task basis. However, when there is a large imbalance in the amount of calculation for each task, such as the calculation of topographical information performed by a work machine at a work site, the conventional method of performing calculations in parallel for each task cannot achieve high-speed calculation processing. It was not possible to fully implement the
これに対して本実施の形態においては、マスタ演算装置が、複数のスレイブ演算装置のうちの1つのスレイブ演算装置から送信された情報群に基づく演算処理の実行要求に応じて、情報群を予め定めた分割規則に基づいて複数の小情報群に分割するとともに、小情報群に基づく演算処理の実行を複数の小情報群のそれぞれについて複数のスレイブ演算装置の何れかに設定し、複数のスレイブ演算装置が、マスタ演算装置で設定された小情報群に基づく演算処理をそれぞれ実行し、演算処理の結果とともに演算処理の実行に要した演算負荷の情報をマスタ演算装置に返信し、マスタ演算装置が、複数のスレイブ演算装置からそれぞれ返信された演算結果を統合し、統合した演算結果を情報群に基づく演算処理の実行要求を送信したスレイブ演算装置に情報群の演算結果として返信するとともに、複数のスレイブ演算装置から返信された演算負荷の情報に基づいて、複数のスレイブ演算装置の演算負荷が均一になるように分割規則を変更するように構成したので、複数のスレイブCPUでの並列処理において均一に演算処理を割り当てることができ、より高速に多くの情報に基づく演算を行うことができる。 On the other hand, in the present embodiment, the master arithmetic unit prepares a group of information in advance in response to a request for execution of arithmetic processing based on a group of information transmitted from one of a plurality of slave arithmetic units. In addition to dividing the small information groups into multiple small information groups based on the predetermined division rules, each of the multiple small information groups is set to execute arithmetic processing based on the small information groups. The arithmetic units each execute arithmetic processing based on the small information group set by the master arithmetic unit, and return information on the arithmetic load required to execute the arithmetic processing together with the results of the arithmetic processing to the master arithmetic unit. integrates the calculation results returned from multiple slave processing devices, and returns the integrated calculation results to the slave processing device that sent the request to perform the processing based on the information group as the processing result of the information group, and Based on the calculation load information returned from the slave calculation units, the splitting rule is changed so that the calculation loads of the slave calculation units are uniform, so that parallel processing with multiple slave CPUs It is possible to allocate calculation processing uniformly, and to perform calculations based on a large amount of information at higher speed.
<第2の実施の形態>
本発明の第2の実施の形態を図12及び図13を参照しつつ説明する。図中、第1の実施の形態と同様の部材には同じ符号を付し、説明を省略する。
<Second embodiment>
A second embodiment of the present invention will be described with reference to FIGS. 12 and 13. In the drawings, members similar to those in the first embodiment are denoted by the same reference numerals, and explanations thereof will be omitted.
本実施の形態は、異なる性能・状態の複数のスレイブCPUにおいても、複数のスレイブCPUでの並列処理において均一に演算処理を割り当てることができ、より高速に多くの情報に基づく演算を行うことができるように構成したものである。 In this embodiment, even among multiple slave CPUs with different performance and status, calculation processing can be uniformly allocated in parallel processing by the multiple slave CPUs, and calculations can be performed faster and based on a large amount of information. It is configured so that it can be done.
一般的に、CPUの性能が高いほど同じ処理計算量に対して早い処理が可能となる。また、あるアプリケーションをCPU実行させる場合において、他の優先度の高いアプリケーションが存在する状態では、そちらのアプリケーションに係る計算にCPU処理能力を使われるため、あるアプリケーションの処理完了が遅くなる。本実施の形態においては、このような状況を考慮するために、各スレイブCPU対してCPUキャパシティ(許容量)を計算し、このCPUキャパシティに基づいて分配処理を実行する。CPUキャパシティは、データベースサーバ40に格納されている。CPUキャパシティは処理内容ごとに異なる可能性があるため、処理内容ごとに異なるCPUキャパシティが格納されている。
Generally, the higher the performance of the CPU, the faster the processing can be performed for the same amount of processing calculations. Furthermore, when a certain application is executed by the CPU, if another high-priority application exists, the CPU processing power is used for calculations related to that application, which delays the completion of processing of the certain application. In this embodiment, in order to take such a situation into consideration, CPU capacity (allowable amount) is calculated for each slave CPU, and distribution processing is executed based on this CPU capacity. The CPU capacity is stored in the
図12は、マスタCPUの地形担当管理部の処理分配部における処理分配処理の処理内容を示すフローチャートである。 FIG. 12 is a flowchart showing the processing content of the process distribution process in the process distribution unit of the topography management unit of the master CPU.
図12に示すように、マスタCPU10の地形担当管理部11の処理分配部12は、処理分配処理(図8のステップS310)として、まず、データベースサーバ40から現在の処理内容に応じた各スレイブCPU20,30のキャパシティを取得し(ステップS400A)、スレイブCPUの処理計算量の合計をキャパシティの合計で割ることにより平均処理時間を算出する(ステップS401A)。
As shown in FIG. 12, as a process distribution process (step S310 in FIG. 8), the
続いて、各スレイブCPU20,30が処理するグリッドを0(ゼロ)とし(ステップS410)、各スレイブCPUを表す変数i=0(ゼロ)とすることで初期化を行う(ステップS420)。
Subsequently, initialization is performed by setting the grid processed by each
続いて、(i+1)<N(N:スレイブCPUの総数)であるか否か、すなわち、グリッドの割当処理を行っていないスレイブCPUが存在するか否かを判定し(ステップS430)、判定結果がYESの場合には、未割当のグリッドがあるか否かを判定する(ステップS440)。ステップS440での判定結果がNOの場合、すなわち、i番目のスレイブCPUに対して割り当てるべき未割当のグリッドが存在しない場合には処理を終了し、処理分配部12の後段の処理(図8のステップS320)に移る。 Next, it is determined whether (i+1)<N (N: total number of slave CPUs), that is, whether there is a slave CPU that has not performed grid allocation processing (step S430), and the determination result is If YES, it is determined whether there is an unallocated grid (step S440). If the determination result in step S440 is NO, that is, if there is no unallocated grid to be allocated to the i-th slave CPU, the process ends, and the subsequent process of the process distribution unit 12 (see FIG. The process moves to step S320).
また、ステップS440での判定結果がYESの場合、すなわち、未割当のグリッドが存在する場合は、その未割当のグリッドをi番目のスレイブCPUに割り当てる(ステップS450)。 Further, if the determination result in step S440 is YES, that is, if there is an unallocated grid, the unallocated grid is allocated to the i-th slave CPU (step S450).
続いて、i番目のスレイブCPUに割り当てられているグリッドの合計処理計算時間が、ステップS400で計算した平均処理計算時間よりも大きいか否かを判定し(ステップS460A)、判定結果がNOの場合には、ステップS440の処理に戻る。スレイブCPUに割り当てられた処理計算量の合計をそのCPUのキャパシティで割ることにより現在の処理時間が計算できる。 Next, it is determined whether the total processing calculation time of the grid assigned to the i-th slave CPU is greater than the average processing calculation time calculated in step S400 (step S460A), and if the determination result is NO Then, the process returns to step S440. The current processing time can be calculated by dividing the total processing amount allocated to the slave CPU by the capacity of that CPU.
また、ステップS460Aでの判定結果がYESの場合、すなわち、i番目のスレイブCPUに割り当てられているグリッドの合計処理計算時間が、ステップS400で計算した平均処理計算時間よりも大きい場合には、続いて、i番目のスレイブCPUの現在の合計処理計算時間が最新のグリッドを追加する前の合計処理計算時間よりも平均処理計算時間に近くなったか否かを判定する(ステップS470A)。すなわち、ステップS470Aでは、i番目のスレイブCPUの現在の合計処理計算時間と、最新のグリッドを追加する前の合計処理計算時間とのどちらが平均処理計算時間に近いかを比較している。 Further, if the determination result in step S460A is YES, that is, if the total processing calculation time of the grid assigned to the i-th slave CPU is greater than the average processing calculation time calculated in step S400, the Then, it is determined whether the current total processing calculation time of the i-th slave CPU is closer to the average processing calculation time than the total processing calculation time before adding the latest grid (step S470A). That is, in step S470A, a comparison is made to see which of the current total processing calculation time of the i-th slave CPU and the total processing calculation time before adding the latest grid is closer to the average processing calculation time.
ステップS470Aでの判定結果がNOの場合、最新のグリッドを追加する前の合計処理計算時間の方が平均処理計算時間に近い場合には、最新のグリッドを未割当にもどし(ステップS480)、ステップS430の処理に戻って(i+1)番目のスレイブCPUに対する割当処理に移行する。 If the determination result in step S470A is NO, and if the total processing calculation time before adding the latest grid is closer to the average processing calculation time, the latest grid is returned to unallocated (step S480), and step Returning to the process of S430, the process moves to the allocation process for the (i+1)th slave CPU.
また、ステップS470Aでの判定結果がYESの場合、すなわち、現在の合計処理計算時間の方が平均処理計算時間に近い場合には、ステップS430の処理に戻って(i+1)番目のスレイブCPUに対する割当処理に移行する。 Further, if the determination result in step S470A is YES, that is, if the current total processing calculation time is closer to the average processing calculation time, the process returns to step S430 and allocation to the (i+1)th slave CPU is performed. Move to processing.
また、ステップS430での判定結果がNOの場合、すなわち、全てのスレイブCPUへの割り当て処理が終了し場合には、続いて、未割当のグリッドがあるか否かを判定する(ステップS431)。 Furthermore, if the determination result in step S430 is NO, that is, if the allocation processing to all slave CPUs has been completed, it is then determined whether or not there is an unallocated grid (step S431).
ステップS431での判定結果がYESの場合、すなわち、未割当のグリッドが存在する場合には、平均処理計算時間よりも合計処理計算時間時間が短いスレイブCPUにその未割当のグリッドを割り当て(ステップS432A)、ステップS431の処理に戻る。すなわち、ステップS431,S432Aの処理を、未割当のグリッドが存在しなくなるまで繰り返す。ステップS431での判定結果がYESの場合のように未割当のグリッドが存在する場合には、合計処理計算時間が平均処理計算時間よりも短いスレイブCPUが必ず存在するので、そのスレイブCPUにその未割当のグリッドを割り当てることで、各スレイブCPUに均一にグリッドを割り当てることができる。 If the determination result in step S431 is YES, that is, if there is an unallocated grid, the unallocated grid is allocated to the slave CPU whose total processing calculation time is shorter than the average processing calculation time (step S432A ), the process returns to step S431. That is, the processes of steps S431 and S432A are repeated until there are no unallocated grids. If there is an unallocated grid, as in the case where the determination result in step S431 is YES, there is always a slave CPU whose total processing calculation time is shorter than the average processing calculation time, so that slave CPU has the unallocated grid. By allocating the grid, it is possible to uniformly allocate the grid to each slave CPU.
また、ステップS431での判定結果がNOの場合、すなわち、未割当のグリッドが存在しない場合には、処理を終了して処理分配部12の後段の処理(図8のステップS320)に移る。 Further, if the determination result in step S431 is NO, that is, if there is no unallocated grid, the process is ended and the process moves to the subsequent process of the processing distribution unit 12 (step S320 in FIG. 8).
図13は、マスタCPUの地形担当管理部の処理結果収集部の処理内容を示すフローチャートである。 FIG. 13 is a flowchart showing the processing contents of the processing result collection section of the topography management section of the master CPU.
図11に示すように、マスタCPU10の地形担当管理部11の処理結果収集部14は、各スレイブCPU20,30からの処理命令レスポンスを受領するまでは待ち受け状態であり(ステップS600)、処理命令レスポンスを受領すると、各スレイブCPU20,30から受信した処理命令レスポンスに含まれる処理結果を統合するとともに(ステップS610)、処理命令レスポンスに含まれる処理計算量およびスレイブCPUのキャパシティを用いて、データベースサーバ40の処理計算量およびキャパシティを更新する(ステップS620A)。キャパシティは処理にかかったCPU時間とそのCPUの動作周波数を掛けることにより求められる。CPU処理時間は、他のプロセス実行中は計測されず純粋にその処理に必要であった時間が求められる。複数のコアで並列に計算した場合も、各コアの時間が合計されるためマルチコアCPUでも本方法で対応可能である。
As shown in FIG. 11, the processing
続いて、処理分配部12が演算処理の処理命令リクエストを送信した全てのスレイブCPU20,30から処理命令レスポンスを受信したか否かを判定し(ステップS630)、判定結果がNOの場合、すなわち、全ての処理命令レスポンスを受信していない場合には、全ての処理命令レスポンスを受信するまで、ステップS600~S630の処理を繰り返す。
Subsequently, the
また、ステップS630での判定結果がYESの場合には、統合した演算結果を処理要求レスポンスとして、処理要求リクエストを送信したスレイブCPU20のアプリケーション23に返信し(ステップS640)、処理を終了する。処理要求リクエストを発信したスレイブCPU20の情報は、情報格納部13に格納されている。
If the determination result in step S630 is YES, the integrated calculation result is returned as a processing request response to the
その他の構成は第1の実施の形態と同様である。 Other configurations are similar to those of the first embodiment.
以上のように構成した本実施の形態においても第1の実施の形態と同様の効果を得ることができる。 In this embodiment configured as described above, the same effects as in the first embodiment can be obtained.
また、異なる性能・状態の複数のスレイブCPUにおいても、複数のスレイブCPUでの並列処理において均一に演算処理を割り当てることができ、より高速に多くの情報に基づく演算を行うことができる。 Further, even among a plurality of slave CPUs with different performance and states, calculation processing can be uniformly assigned in parallel processing by the plurality of slave CPUs, and calculations can be performed faster and based on a large amount of information.
<第3の実施の形態>
本発明の第3の実施の形態を図14~図16を参照しつつ説明する。図中、第1の実施の形態と同様の部材には同じ符号を付し、説明を省略する。
<Third embodiment>
A third embodiment of the present invention will be described with reference to FIGS. 14 to 16. In the drawings, members similar to those in the first embodiment are denoted by the same reference numerals, and explanations thereof will be omitted.
本実施の形態は、マスタCPUがデータベースサーバを有するとともに、複数のスレイブCPUがそれぞれ複製データベースを有する場合を示すものである。これにより、データベースサーバへのアクセス回数が減少し、処理完了がさらに速くなる。 This embodiment shows a case where a master CPU has a database server and a plurality of slave CPUs each have a replicated database. This reduces the number of accesses to the database server and completes processing faster.
図14は、本実施の形態に係る制御システムの全体構成を模式的に示す図である。 FIG. 14 is a diagram schematically showing the overall configuration of the control system according to this embodiment.
図14において、制御システムは、1つのマスタCPU(マスタ演算装置)10Bと、複数のスレイブCPU(スレイブ演算装置)20B,30Bとを有し、マスタCPU10Bに設けられたデータベースサーバ41、及び、各スレイブCPU20B,30Bに設けられた複製データベース42,43に記憶された情報に基づくマスタCPU10B及び複数のスレイブCPU20B,30Bによる演算結果を用いて油圧ショベル101の動作を制御するものである。なお、本実施の形態においては、複数のスレイブCPUのうち2つのみを図示して説明している。
In FIG. 14, the control system includes one master CPU (master processing unit) 10B, a plurality of slave CPUs (slave processing units) 20B, 30B, and a
マスタCPU10Bは、例示した物体検知アプリケーションに係る演算処理のような作業現場の地形に関する処理の管理を担当する機能部であって、マスタCPU10B上で実行されるアプリケーションにより実現される地形担当管理部11と、1つ以上の他のアプリケーション15と、データベースサーバ41とで構成されている。また、地形担当管理部11は、地形担当管理部11における処理を担当する機能部として、マスタCPU10B上で実行されるアプリケーションにより実現される処理分配部12、情報格納部13、及び、処理結果収集部14を有している。
The
スレイブCPU20Bは、例示した物体検知アプリケーションに係る演算処理のような作業現場の地形に関する処理を行う機能部であって、スレイブCPU20B上で実行されるアプリケーションにより実現される地形処理部21と、複数の他のアプリケーション23,24と、複製データベース42とで構成されている。また、地形処理部21は、地形処理部21における演算処理(例えば、法線ベクトル演算処理)の実行を担当する機能部として、スレイブCPU20B上で実行されるアプリケーションにより実現される法線ベクトル演算実行部22を有している。なお、本実施の形態においては、スレイブCPU20Bのアプリケーション23が物体検知アプリケーションである場合を例示する。複製データベース42には、マスタCPU10Bのデータベースサーバ41の情報の複製が格納されている。
The
同様に、スレイブCPU30Bは、例示した物体検知アプリケーションに係る演算処理のような作業現場の地形に関する処理を行う機能部であって、スレイブCPU30B上で実行されるアプリケーションにより実現される地形処理部31と、複数の他のアプリケーション33,34と、複製データベース43とで構成されている。また、地形処理部31は、地形処理部31における演算処理(例えば、法線ベクトル演算処理)の実行を担当する機能部として、スレイブCPU30B上で実行されるアプリケーションにより実現される法線ベクトル演算実行部32を有している。複製データベース43には、マスタCPU10Bのデータベースサーバ41の情報の複製が格納されている。
Similarly, the
図15は、マスタCPUの地形担当管理部の処理分配部の処理内容を示すフローチャートである。 FIG. 15 is a flowchart showing the processing contents of the processing distribution section of the terrain management section of the master CPU.
図15に示すように、マスタCPU10Bの地形担当管理部11の処理分配部12は、スレイブCPU20Bのアプリケーション23から処理要求リクエストを受信すると、まず、データベースサーバ41から地形の処理負荷(処理計算量)を取得する(ステップS300)。処理負荷は、地形のグリッド毎に与えられている。各グリッドに対して処理負荷は整数値で表示されている。
As shown in FIG. 15, when the
続いて、データベースサーバ41から地形フィルターを取得する(ステップS320)。地形フィルターは、各グリッドが複数のスレイブCPU20B,30Bの何れのスレイブCPUに割り当てられているかを示す情報である。例えば、地形フィルタとして各グリッドに整数値を割り当て、数値が1であるグリッドは第1のスレイブCPUが、数値が2であれば第2のスレイブCPU2がそのグリッドの演算処理を担当するというルールをあらかじめ定めておく。本実施の形態では、データベースサーバ41に予め格納されている複数の地形フィルターの中から現在使用できる地形フィルターを取得する。データベースサーバ41には、複数の地形フィルターを同時に使用するために、予め決まった数の複数の地形フィルターが格納されている。
Next, a terrain filter is acquired from the database server 41 (step S320). The terrain filter is information indicating which slave CPU of the plurality of
続いて、データベース部分同期処理を行い(ステップS321)、複製データベース42,43の情報をデータベースサーバ41の情報に同期させる。
Subsequently, a database partial synchronization process is performed (step S321) to synchronize the information in the
続いて、取得した処理負荷に基づいて、各スレイブCPU20B,30Bに割り当てる領域を決定する(ステップS322)。この処理分配処理では、領域の割り当てはグリッド単位で行われる。
Next, based on the obtained processing load, an area to be allocated to each
続いて、各グリッドに割り当てた領域を示す地形フィルターを作成し、データベースサーバ41の情報を更新する(ステップS330)。
Next, a terrain filter indicating the area allocated to each grid is created, and information in the
続いて、各グリッドの演算処理を担当するスレイブCPU20B,30Bに、それぞれ演算処理の処理命令リクエストを送信し(ステップS340)、処理を終了する。
Subsequently, a processing command request for arithmetic processing is transmitted to each of the
図16は、データベース部分同期処理の処理内容を示すフローチャートである。 FIG. 16 is a flowchart showing the processing contents of the database partial synchronization process.
図16において、マスタCPU10Bの地形担当管理部11の処理分配部12は、まず、更新リストを初期化し(ステップS700)、対象地形領域情報の領域に含まれるすべてのグリッドに対して未チェックのグリッドがあるか否かを判定する(ステップS710)。
In FIG. 16, the
ステップS710での判定結果がYESの場合、すなわち、未チェックのグリッドがある場合には、そのグリッドの同期時刻を取得し(ステップS720)、続いて、センサなどからデータベースサーバ41へのデータ更新が複製データベース42,43との同期時刻より後か否かを判定する(ステップS730)。複製データベース42,43には、各グリッドが最後に同期を実施した時間が記録されており、それらを参照することでステップS720の同期時刻を取得することができる。
If the determination result in step S710 is YES, that is, if there is an unchecked grid, the synchronization time of that grid is acquired (step S720), and then data is updated from the sensor etc. to the
ステップS730での判定結果がNOの場合、すなわち、同期時刻の後にセンサなどからデータベースサーバ41へのデータ更新がなされていた場合には、そのグリッドを更新リストに追加し(ステップS740)、ステップS710の処理に戻る。また、ステップS730での判定結果がYESの場合には、データベースサーバ41と複製データベース42,43は同期された状態であり、ステップS730の処理に戻る。
If the determination result in step S730 is NO, that is, if data has been updated from the sensor etc. to the
また、ステップS710での判定結果がNOの場合、すなわち、全てのグリッドに対して同期のチェックが終了した場合には、更新リストのグリッドの全てについてスレイブCPU20B,30Bの複製データベース42,43の同期を行い(ステップS711)、処理を終了する。
Further, if the determination result in step S710 is NO, that is, if the synchronization check has been completed for all grids, the
その他の構成は第1の実施の形態と同様である。 Other configurations are similar to those of the first embodiment.
以上のように構成した本実施の形態においても第1の実施の形態と同様の効果を得ることができる。 In this embodiment configured as described above, the same effects as in the first embodiment can be obtained.
また、データベースサーバへのアクセス回数が減少するので、処理完了をさらに速くすることができる。 Furthermore, since the number of accesses to the database server is reduced, processing can be completed more quickly.
<付記>
なお、本発明は上記の実施の形態に限定されるものではなく、その要旨を逸脱しない範囲内の様々な変形例や組み合わせが含まれる。また、本発明は、上記の実施の形態で説明した全ての構成を備えるものに限定されず、その構成の一部を削除したものも含まれる。また、上記の各構成、機能等は、それらの一部又は全部を、例えば集積回路で設計する等により実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。また、各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くように構成してもよい。
<Additional notes>
Note that the present invention is not limited to the above-described embodiments, and includes various modifications and combinations within the scope of the invention. Furthermore, the present invention is not limited to having all the configurations described in the above embodiments, but also includes configurations in which some of the configurations are deleted. Moreover, each of the above-mentioned configurations, functions, etc. may be realized in part or in whole by, for example, designing an integrated circuit. Furthermore, each of the above configurations, functions, etc. may be realized by software by a processor interpreting and executing a program for realizing each function. In addition, information such as programs, tables, files, etc. that implement each function should be stored in memory, a recording device such as a hard disk, an SSD (Solid State Drive), or a recording medium such as an IC card, SD card, or DVD. may be configured.
10,10B…マスタCPU、11…地形担当管理部、12…処理分配部、13…情報格納部、14…処理結果収集部、15…アプリケーション、20,20B…スレイブCPU、21…地形処理部、22…法線ベクトル演算実行部、23,24…アプリケーション、30,30B…スレイブCPU、31…地形処理部、32…法線ベクトル演算実行部、33,34…アプリケーション、40,41…データベースサーバ、42,43…複製データベース、100…地形計測装置、101…油圧ショベル、110…フロント作業機、111…ブーム、112…アーム、113…バケット、121…ブームシリンダ、122…アームシリンダ、123…バケットシリンダ、124…旋回モータ、125,126…走行モータ、130…車体、131…上部旋回体、132…下部走行体、151…運転室、171,172…GNSS受信機、181,182,183,184…慣性計測装置 10, 10B... Master CPU, 11... Terrain management unit, 12... Processing distribution unit, 13... Information storage unit, 14... Processing result collection unit, 15... Application, 20, 20B... Slave CPU, 21... Terrain processing unit, 22... Normal vector calculation execution unit, 23, 24... Application, 30, 30B... Slave CPU, 31... Terrain processing unit, 32... Normal vector calculation execution unit, 33, 34... Application, 40, 41... Database server, 42, 43...Replication database, 100...Topographic measurement device, 101...Hydraulic excavator, 110...Front working machine, 111...Boom, 112...Arm, 113...Bucket, 121...Boom cylinder, 122...Arm cylinder, 123...Bucket cylinder , 124... Swing motor, 125, 126... Traveling motor, 130... Vehicle body, 131... Upper rotating body, 132... Lower traveling body, 151... Cab, 171, 172... GNSS receiver, 181, 182, 183, 184... inertial measurement device
Claims (4)
1つのマスタ演算装置と、複数のスレイブ演算装置と、記憶装置とを有し、前記記憶装置に記憶された複数の情報からなる情報群に基づいて、前記1つのマスタ演算装置および複数のスレイブ演算装置によって前記作業現場の地形情報の演算処理を行う制御システムを備え、
前記制御システムは、
前記マスタ演算装置が、前記複数のスレイブ演算装置のうちの1つのスレイブ演算装置から送信された前記情報群に基づく演算処理の実行要求に応じて、前記情報群を予め定めた分割規則に基づいて複数の小情報群に分割するとともに、前記小情報群に基づく演算処理の実行を前記複数の小情報群のそれぞれについて前記複数のスレイブ演算装置の何れかに設定し、
前記複数のスレイブ演算装置が、前記マスタ演算装置で設定された前記小情報群に基づく演算処理をそれぞれ実行し、演算処理の結果とともに演算処理の実行に要した演算負荷の情報を前記マスタ演算装置に返信し、
前記マスタ演算装置が、前記複数のスレイブ演算装置からそれぞれ返信された演算結果を統合し、統合した演算結果を前記情報群に基づく演算処理の実行要求を送信したスレイブ演算装置に前記情報群の演算結果として返信するとともに、前記複数のスレイブ演算装置から返信された演算負荷の情報に基づいて、前記複数のスレイブ演算装置の演算負荷が均一になるように前記分割規則を変更する際に、1つのスレイブ演算装置あたりの演算負荷である平均演算負荷を算出するとともに、前記複数のスレイブ演算装置のそれぞれに前記小情報群に基づく演算処理を割り当てた場合に、現在の演算負荷の合計と、前記小情報群に基づく演算処理を割り当てる前の演算負荷の合計とのどちらが平均演算負荷に近いかを比較し、比較結果に基づいて、前記分割規則を変更することを特徴とする作業機械。 A work machine that performs work at a work site and measures topographic information of the work site ,
It has one master arithmetic device, a plurality of slave arithmetic devices, and a storage device, and based on an information group consisting of a plurality of pieces of information stored in the storage device, the one master arithmetic device and the plurality of slave arithmetic devices comprising a control system that performs arithmetic processing of the topographical information of the work site using a calculation device,
The control system includes:
The master arithmetic device divides the information group based on a predetermined division rule in response to a request for execution of arithmetic processing based on the information group transmitted from one slave arithmetic device of the plurality of slave arithmetic devices. dividing into a plurality of small information groups, and setting execution of arithmetic processing based on the small information groups to any of the plurality of slave processing devices for each of the plurality of small information groups;
The plurality of slave arithmetic devices each execute arithmetic processing based on the small information group set by the master arithmetic device, and transmit information on the arithmetic load required for execution of the arithmetic processing together with the result of the arithmetic processing to the master arithmetic device. Reply to
The master arithmetic device integrates the arithmetic results returned from the plurality of slave arithmetic devices, and transmits the integrated arithmetic results to the slave arithmetic device that has sent the request to perform the arithmetic processing based on the information group. When changing the division rule so that the calculation loads of the plurality of slave calculation units are equalized based on the calculation load information returned from the plurality of slave calculation units as well as the result, one In addition to calculating the average calculation load, which is the calculation load per slave calculation unit, when the calculation processing based on the small information group is assigned to each of the plurality of slave calculation units, the total current calculation load and the A work machine characterized by comparing the total calculation load before allocating the calculation processing based on the information group to see which one is closer to the average calculation load, and changing the division rule based on the comparison result.
前記情報群は、前記作業現場における物体の表面位置を前記作業現場に設定された現場座標系における複数の座標で示す点群情報であり、
前記制御システムは、
前記マスタ演算装置が、前記複数のスレイブ演算装置のうちの1つのスレイブ演算装置から送信された前記情報群に基づく演算処理の実行要求に応じて、前記作業現場の空間領域を予め定めた領域である複数のグリッドに分割することで、前記情報群である点群情報群を複数の小情報群に分割するともに、前記複数のグリッドに前記複数のスレイブ演算装置の何れかを設定し、
前記複数のスレイブ演算装置が、前記マスタ演算装置で設定された前記グリッドに含まれる座標からなる前記小情報群に基づく演算処理をそれぞれ実行し、演算処理の結果とともに演算処理の実行に要した演算負荷の情報を前記マスタ演算装置に返信し、
前記マスタ演算装置が、前記複数のスレイブ演算装置からそれぞれ返信された演算結果を統合し、統合した演算結果を前記情報群に基づく演算処理の実行要求を送信したスレイブ演算装置に前記情報群の演算結果として返信するとともに、前記複数のスレイブ演算装置から返信された演算負荷の情報に基づいて、前記複数のスレイブ演算装置の演算負荷が均一になるように前記複数のグリッドの領域をそれぞれ変更することを特徴とする作業機械。 The working machine according to claim 1,
The information group is point cloud information that indicates the surface position of an object at the work site using a plurality of coordinates in a site coordinate system set at the work site,
The control system includes:
The master arithmetic device sets a spatial area of the work site in a predetermined area in response to a request for execution of arithmetic processing based on the information group transmitted from one slave arithmetic device of the plurality of slave arithmetic devices. By dividing the point cloud information group, which is the information group, into a plurality of small information groups by dividing it into a plurality of grids, and setting any of the plurality of slave calculation devices in the plurality of grids,
The plurality of slave computing devices each execute arithmetic processing based on the small information group consisting of coordinates included in the grid set by the master computing device, and display the results of the arithmetic processing as well as the calculations required to execute the arithmetic processing. replying load information to the master arithmetic unit;
The master arithmetic device integrates the arithmetic results returned from the plurality of slave arithmetic devices, and transmits the integrated arithmetic results to the slave arithmetic device that has sent the request to perform the arithmetic processing based on the information group. Replying as a result and changing each of the areas of the plurality of grids so that the calculation loads of the plurality of slave calculation devices are uniform based on the calculation load information returned from the plurality of slave calculation devices. A working machine featuring:
前記複数のスレイブ演算装置は、異なる演算性能のスレイブ演算装置を含むことを特徴とする作業機械。 The working machine according to claim 1,
A working machine, wherein the plurality of slave arithmetic devices include slave arithmetic devices with different arithmetic performance.
前記記憶装置は、前記マスタ演算装置および前記複数のスレイブ演算装置にそれぞれ設けられた複数の記憶装置から成り、
前記複数のスレイブ演算装置の記憶装置は、前記マスタ演算装置の記憶装置に記憶されている情報から複製される情報をそれぞれ記憶することを特徴とする作業機械。 The working machine according to claim 1,
The storage device includes a plurality of storage devices respectively provided in the master arithmetic device and the plurality of slave arithmetic devices,
A work machine characterized in that the storage devices of the plurality of slave processing devices each store information copied from the information stored in the storage device of the master processing device.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021005248A JP7443271B2 (en) | 2021-01-15 | 2021-01-15 | working machine |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021005248A JP7443271B2 (en) | 2021-01-15 | 2021-01-15 | working machine |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2022109755A JP2022109755A (en) | 2022-07-28 |
| JP7443271B2 true JP7443271B2 (en) | 2024-03-05 |
Family
ID=82560552
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021005248A Active JP7443271B2 (en) | 2021-01-15 | 2021-01-15 | working machine |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7443271B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2025030865A (en) * | 2023-08-24 | 2025-03-07 | 株式会社小松製作所 | Work machine display system, work machine, and work machine display method |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008009621A (en) | 2006-06-28 | 2008-01-17 | Nippon Signal Co Ltd:The | Method for processing genetic algorithm, and method for simulating train operation using the same |
| JP2012233404A (en) | 2012-08-02 | 2012-11-29 | Komatsu Ltd | Display system for excavator and control method thereof |
| US20160170089A1 (en) | 2014-12-12 | 2016-06-16 | Caterpillar Of Australia Pty. Ltd. | Processing of Terrain Data |
| JP2020117982A (en) | 2019-01-28 | 2020-08-06 | 日立建機株式会社 | Work machine |
| JP2020201859A (en) | 2019-06-13 | 2020-12-17 | ヤンマーパワーテクノロジー株式会社 | Information processing system, information processing method and program |
| JP2021001436A (en) | 2019-06-19 | 2021-01-07 | 日立建機株式会社 | Work machine |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH01263323A (en) * | 1988-04-15 | 1989-10-19 | Kayaba Ind Co Ltd | Control device for construction machine |
| JPH0713817B2 (en) * | 1990-03-13 | 1995-02-15 | 工業技術院長 | Dynamic load balancing method for loosely coupled parallel computers |
| JPH0584638A (en) * | 1991-09-26 | 1993-04-06 | Hitachi Ltd | Parallel processing method of reverse offset operation in curved surface machining |
| JPH09218858A (en) * | 1996-02-14 | 1997-08-19 | Hitachi Ltd | Distributed database management system |
| JPH10124479A (en) * | 1996-10-24 | 1998-05-15 | Sony Corp | Analysis method of magnetization distribution |
-
2021
- 2021-01-15 JP JP2021005248A patent/JP7443271B2/en active Active
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008009621A (en) | 2006-06-28 | 2008-01-17 | Nippon Signal Co Ltd:The | Method for processing genetic algorithm, and method for simulating train operation using the same |
| JP2012233404A (en) | 2012-08-02 | 2012-11-29 | Komatsu Ltd | Display system for excavator and control method thereof |
| US20160170089A1 (en) | 2014-12-12 | 2016-06-16 | Caterpillar Of Australia Pty. Ltd. | Processing of Terrain Data |
| JP2020117982A (en) | 2019-01-28 | 2020-08-06 | 日立建機株式会社 | Work machine |
| JP2020201859A (en) | 2019-06-13 | 2020-12-17 | ヤンマーパワーテクノロジー株式会社 | Information processing system, information processing method and program |
| JP2021001436A (en) | 2019-06-19 | 2021-01-07 | 日立建機株式会社 | Work machine |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2022109755A (en) | 2022-07-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7203616B2 (en) | working machine | |
| JP7143252B2 (en) | working machine | |
| US7725253B2 (en) | Tracking, auto-calibration, and map-building system | |
| JP2021119453A (en) | Multidimensional 3d engine computing of virtual world or real world and dynamic load dispersion of virtualization base | |
| JP6289731B2 (en) | Work machine control system, work machine control method, and navigation controller | |
| JP7375066B2 (en) | Method and system for generating HD maps based on aerial images taken by unmanned aerial vehicles or aircraft | |
| JPH09508740A (en) | System and method for managing access to resources in an autonomous vehicle system | |
| AU2018327449A1 (en) | Construction management device and construction management method | |
| JP2023034980A (en) | Control system, control method, and control program | |
| JP7443271B2 (en) | working machine | |
| JP7470539B2 (en) | Construction history information management system | |
| US11472416B2 (en) | Multi-dimensional mobile machine path visualization and control system | |
| JP2021135777A (en) | Software update system for work machine components and software update method | |
| JP7390991B2 (en) | Work machines and construction support systems | |
| CN113944207A (en) | Electronic enclosure wall setting method and device and operation machine | |
| JP2022129500A (en) | Terrain information management system and work machine | |
| JP7263287B2 (en) | working machine | |
| JP2024057362A (en) | Work support system, remote operation support system, work support method and display device | |
| WO2023054603A1 (en) | System and method for controlling work machine | |
| JP2022103603A (en) | Working machine | |
| JP7850047B2 (en) | Construction accuracy prediction calculation device for industrial machinery | |
| KR102823411B1 (en) | Method for dividing user physical space based on virtual reality and system for providing virtual reality using the same | |
| CN118778652A (en) | Urban underground unknown environment survey method, system and device based on multi-robot | |
| WO2025197369A1 (en) | Object recognition system | |
| JP2025043098A (en) | Topographical Information Management System |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230605 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20231206 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20231212 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240126 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20240206 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240221 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7443271 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |