Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7443271B2 - working machine - Google Patents
[go: Go Back, main page]

JP7443271B2 - working machine - Google Patents

working machine Download PDF

Info

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
Application number
JP2021005248A
Other languages
Japanese (ja)
Other versions
JP2022109755A (en
Inventor
ヴォン ヴティア
聡美 國松
正裕 青野
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.)
Hitachi Construction Machinery Co Ltd
Original Assignee
Hitachi Construction Machinery Co 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 Hitachi Construction Machinery Co Ltd filed Critical Hitachi Construction Machinery Co Ltd
Priority to JP2021005248A priority Critical patent/JP7443271B2/en
Publication of JP2022109755A publication Critical patent/JP2022109755A/en
Application granted granted Critical
Publication of JP7443271B2 publication Critical patent/JP7443271B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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 Patent Documents 1 and 2, for example. Patent Document 1 discloses an object detection section that is attached to a working machine, detects an object, and outputs information about the object, and uses the information of the object detected by the object detection section to detect the three-dimensional image of the object. A construction management system is disclosed that includes a shape detection unit that outputs shape information representing an original shape, and a communication unit that transmits information regarding construction including at least one of the shape information and information obtained from the shape information. has been done.

また、特許文献2には、作業機械に設けられた撮像装置によって撮像された画像対の中から、処理対象となる対象画像対を選択する選択部と、選択された前記対象画像対を撮像した前記撮像装置に係るカメラパラメータを用いて、選択された前記対象画像対から作業機械の周辺の地形を表す三次元データを生成するステレオ計測部とを備える施工管理装置が開示されている。 Further, Patent Document 2 discloses a selection unit that selects a target image pair to be processed from among image pairs captured by an imaging device provided in a working machine, and a selection unit that selects a target image pair to be processed, and a selection unit that selects a target image pair to be processed, and A construction management device is disclosed that includes a stereo measurement unit that generates three-dimensional data representing the topography around the working machine from the selected pair of target images using camera parameters related to the imaging device.

また、演算処理の高速化に係る従来技術として、例えば、特許文献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.

特開2017-71915号公報JP 2017-71915 Publication 特開2019-49121号公報JP2019-49121A 特開2017-22658号公報JP2017-22658A

上記特許文献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.

作業機械の一例である油圧ショベルの外観を模式的に示す図である。1 is a diagram schematically showing the appearance of a hydraulic excavator that is an example of a working machine. 第1の実施の形態に係る制御システムの全体構成を模式的に示す図である。FIG. 1 is a diagram schematically showing the overall configuration of a control system according to a first embodiment. スレイブCPUの物体検知アプリケーションの処理内容を示すフローチャートである。3 is a flowchart illustrating processing contents of an object detection application of a slave CPU. スレイブCPUの物体検知アプリケーションにおける法線ベクトル演算処理の処理内容を示すフローチャートである。7 is a flowchart showing the processing contents of normal vector calculation processing in the object detection application of the slave CPU. リクエスト送信処理において送信される分配処理の処理要求リクエストの一例を示す図である。FIG. 7 is a diagram illustrating an example of a processing request for distribution processing that is transmitted in the request transmission processing. 処理命令リクエスト送信処理において送信される演算処理の処理命令リクエストの一例を示す図である。FIG. 7 is a diagram illustrating an example of a processing instruction request for arithmetic processing that is transmitted in processing instruction request transmission processing. 処理命令レスポンス送信処理において送信される処理命令レスポンスの一例を示す図である。FIG. 7 is a diagram illustrating an example of a processing command response transmitted in a processing command response transmission process. マスタCPUの地形担当管理部の処理分配部の処理内容を示すフローチャートである。It is a flowchart which shows the processing content of the processing distribution part of the topography management part of master CPU. マスタCPUの地形担当管理部の処理分配部における処理分配処理の処理内容を示すフローチャートである。12 is a flowchart showing the processing content of processing distribution processing in the processing distribution section of the topography management section of the master CPU. スレイブCPUの地形処理部の法線ベクトル演算実行部の処理内容を示すフローチャートである。12 is a flowchart showing the processing contents of the normal vector calculation execution unit of the terrain processing unit of the slave CPU. マスタCPUの地形担当管理部の処理結果収集部の処理内容を示すフローチャートである。It is a flowchart which shows the processing content of the processing result collection part of the topography management part of master CPU. 第2の実施の形態に係るマスタCPUの地形担当管理部の処理分配部における処理分配処理の処理内容を示すフローチャートである。12 is a flowchart illustrating the processing content of processing distribution processing in the processing distribution section of the topography management section of the master CPU according to the second embodiment. 第2の実施の形態に係るマスタCPUの地形担当管理部の処理結果収集部の処理内容を示すフローチャートである。12 is a flowchart showing processing contents of a processing result collection unit of a topography management unit of a master CPU according to a second embodiment. 第3の実施の形態に係る制御システムの全体構成を模式的に示す図である。FIG. 3 is a diagram schematically showing the overall configuration of a control system according to a third embodiment. 第3の実施の形態に係るマスタCPUの地形担当管理部の処理分配部の処理内容を示すフローチャートである。12 is a flowchart showing the processing contents of the processing distribution section of the terrain management section of the master CPU according to the third embodiment. データベース部分同期処理の処理内容を示すフローチャートである。3 is a flowchart showing the processing contents of database partial synchronization processing.

以下、本発明の実施の形態を図面を参照しつつ説明する。なお、本実施の形態では、作業機械の一例として、フロント作業機を備える油圧ショベルを例示して説明するが、これに限られず、作業現場で稼動する他の作業機械においても本発明を適用することも可能である。 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 hydraulic excavator 101 includes an articulated front working machine 110 configured by connecting a plurality of driven members (boom 111, arm 112, bucket 113) that rotate in the vertical direction, and a vehicle body 130. The upper rotating body 131 and the lower traveling body 132 are provided to be rotatable with respect to the lower traveling body 132. Further, the base end of the boom 111 of the front work equipment 110 is supported vertically rotatably at the front part of the upper revolving body 131, and one end of the arm 112 is connected to a different end from the base end of the boom 111 (the tip ), and a bucket 113 is supported at the other end of the arm 112 so as to be rotatable in the vertical direction. The boom 111, the arm 112, the bucket 113, the upper revolving body 131, and the lower traveling body 132 include a boom cylinder 121, an arm cylinder 122, a bucket cylinder 123, a swing motor 124, and left and right travel motors 125, 126 (hydraulic actuators). In FIG. 1, only one on the right side is shown, and the other one is driven by only the reference numerals shown in parentheses).

上部旋回体131の上部前方には、オペレータが搭乗する運転室151が配置されている。運転室151には、油圧アクチュエータ121~126を操作するための操作信号を出力する複数の操作レバー(図示せず)や、オペレータに情報を通知するための表示装置としての機能と、オペレータによる情報の入力を可能とする入力装置としての機能を有するモニタ(図示せず)などが配置されている。モニタの画面には、例えば、タッチパネルが表層に形成されており、このタッチパネルの機能によりオペレータからの入力を受け付けることができる。 A driver's cab 151 in which an operator rides is arranged at the front of the upper part of the revolving upper structure 131. The operator's cab 151 has a plurality of operating levers (not shown) that output operating signals for operating the hydraulic actuators 121 to 126, functions as a display device for notifying the operator of information, and displays information for the operator. A monitor (not shown), etc., which functions as an input device that allows input of information, is arranged. For example, a touch panel is formed on the surface of the monitor screen, and the function of this touch panel allows input from an operator to be received.

ブームシリンダ121、アームシリンダ122、バケットシリンダ123、旋回モータ124及び左右の走行モータ125,126の動作制御は、図示を省略するが、エンジンなどの原動機によって駆動される油圧ポンプから各油圧アクチュエータ121~126に供給される作動油の方向及び流量をコントロールバルブで制御することにより行う。コントロールバルブは、パイロットポンプからパイロットバルブを介して出力される駆動信号(パイロット圧)により行われる。操作レバーからの操作信号に基づいて制御システムでパイロットバルブを制御することにより、各油圧アクチュエータ121~126の動作が制御される。 Although not shown, the operation of the boom cylinder 121, arm cylinder 122, bucket cylinder 123, swing motor 124, and left and right travel motors 125, 126 is controlled by a hydraulic pump driven by a prime mover such as an engine from each hydraulic actuator 121 to 126. This is done by controlling the direction and flow rate of hydraulic oil supplied to 126 with a control valve. The control valve is controlled by a drive signal (pilot pressure) output from the pilot pump via the pilot valve. The operation of each hydraulic actuator 121 to 126 is controlled by controlling the pilot valve with the control system based on the operation signal from the operation lever.

上部旋回体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 body 131, two GNSS (Global Navigation Satellite System) receivers 171 and 172 are arranged side by side. Hereinafter, when distinguishing between these GNSS receivers 171 and 172, the one placed on the left side will be referred to as the left GNSS receiver 171, and the one placed on the right side will be referred to as the right GNSS receiver 172. The GNSS receivers 171 and 172 receive positioning signals output from GNSS satellites flying far above, calculate the position of the hydraulic excavator 101 in the earth coordinate system based on the received positioning signals, and provide the position information as position information. It has a function to output. Furthermore, since the relative positions of the GNSS receivers 171 and 172 with respect to the upper rotating body 131 are fixed, the orientation of the upper rotating body 131 can be calculated from the deviation of the position information measured by the two GNSS receivers 171 and 172. I can do it.

ここで、GNSS受信機171,172は、作業機械である油圧ショベル101の作業現場における位置を計測し、計測結果を位置情報として出力する位置計測装置を構成している。 Here, the GNSS receivers 171 and 172 constitute a position measuring device that measures the position of the hydraulic excavator 101, which is a working machine, at a work site and outputs the measurement result as position information.

ブーム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 boom 111, the arm 112, the bucket 113, and the upper revolving body 131, respectively. Hereinafter, when it is necessary to distinguish these inertial measuring devices 181 to 184, they will be referred to as a boom inertial measuring device 181, an arm inertial measuring device 182, a bucket inertial measuring device 183, and an upper revolving body inertial measuring device 184, respectively. .

慣性計測装置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 inertial measurement devices 181 to 184 measure angular velocity and acceleration. Considering the case where the driven members 111 to 113 on which the inertial measurement devices 181 to 184 are arranged and the upper rotating body 131 are stationary, the direction of the gravitational acceleration in the IMU coordinate system set to the inertial measurement devices 181 to 184 ( In other words, based on the vertical downward direction) and the mounting state of the inertial measuring devices 181 to 184 (that is, the relative positional relationship between the inertial measuring devices 181 to 184 and the driven members 111 to 113 and the upper rotating body 131). , the orientations (ground angles) of the driven members 111 to 113 and the upper rotating body 131 can be detected as attitude information. Then, the relative angles of the driven members 111 to 113 and the upper rotating body 131 can be calculated from the detection results of the inertial measurement devices 181 to 184. Further, the rotation angle of the upper rotating body 131 can be detected based on the angular velocity detected by the inertial measurement device 184, and the inclination angle of the upper rotating body 131 can be detected based on the direction of the gravitational acceleration. That is, based on the detection results of the inertial measurement devices 181 to 184, the posture of the working machine in the vehicle body coordinate system fixedly set with respect to the upper revolving body 131 (for example, the position of each part constituting the hydraulic excavator 101, the position of the bucket, 113 toe position, etc.).

上部旋回体131の、例えば、運転室151の上部には、油圧ショベル101の周囲の地形を計測し、計測結果を地形データとして出力する地形計測装置100が配置されている。地形計測装置100は、例えば、ステレオカメラ、レーザスキャナ、ミリ波レーダ等の外界センサである。地形計測装置100から出力される地形データは、例えば、上部旋回体131に対して固定して設定される車体座標系における地形や物体の表面位置を示す点群データである。地形計測装置100は、例えば、周期的に油圧ショベル101の周囲の地形を自動で計測し、地形データとして出力する。なお、地形計測装置100の搭載位置は上記に限定されるものではなく、油圧ショベル101の周囲の地形の計測が十分に行える位置および姿勢で配置すれば良い。なお、地球座標系、IMU座標系、及び車体座標系における位置情報(座標)は、座標系間において互いに変換可能である。 A terrain measuring device 100 that measures the terrain around the hydraulic excavator 101 and outputs the measurement results as terrain data is disposed in the upper revolving body 131, for example, above the driver's cab 151. The terrain measuring device 100 is, for example, an external sensor such as a stereo camera, a laser scanner, or a millimeter wave radar. The terrain data output from the terrain measuring device 100 is, for example, point group data indicating the surface position of the terrain or object in a vehicle body coordinate system that is fixedly set with respect to the upper revolving body 131. For example, the terrain measuring device 100 automatically measures the terrain around the hydraulic excavator 101 periodically and outputs it as terrain data. Note that the mounting position of the terrain measuring device 100 is not limited to the above, and it may be placed in a position and posture that allows the terrain around the hydraulic excavator 101 to be sufficiently measured. Note that position information (coordinates) in the earth coordinate system, the IMU coordinate system, and the vehicle body coordinate system can be mutually converted between the coordinate systems.

図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 hydraulic excavator 101 is controlled using the calculation results by the master CPU 10 and the plurality of slave CPUs 20 and 30 based on the stored information. Note that in this embodiment, only two of the plurality of slave CPUs are illustrated and explained.

なお、図示を省略する、マスタ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 slave CPUs 20 and 30 is an application equivalent to a computer, which has a storage device in which, in addition to a CPU serving as a processing device, an application executed by the processing device and setting information necessary for executing the application are stored. It is.

データベースサーバ40は、例えば、ハードディスクドライブや大容量フラッシュメモリなどで構成されており、地形計測装置100の計測結果や、計測結果に基づいた複数のスレイブCPU20,30による演算処理の演算負荷の情報(後述)などが記憶されている。 The database server 40 is composed of, for example, a hard disk drive or a large-capacity flash memory, and stores information ( (described later) etc. are stored.

制御システムのマスタCPU10、スレイブCPU20,30、及び、データベースサーバ40は、図示しないインタフェースによって接続されており、互いに高速での信号の授受が可能である。なお、各CPU10~30間の通信は、例えば、TCP/IPプロトコルを使用するものとする。また、制御システムは、図示しないインタフェースによって、運転室151のモニタや、油圧アクチュエータの駆動系と接続されており、演算結果に基づいてモニタに情報を表示したり、油圧アクチュエータ121~126の動作を制御したりする。 The master CPU 10, slave CPUs 20, 30, and database server 40 of the control system are connected by an interface (not shown), and can exchange signals with each other at high speed. It is assumed that communication between each of the CPUs 10 to 30 uses, for example, the TCP/IP protocol. The control system is also connected to a monitor in the driver's cab 151 and the drive system of the hydraulic actuators through an interface (not shown), and displays information on the monitor based on calculation results and controls the operation of the hydraulic actuators 121 to 126. control.

ここで、制御システムの構成および演算処理についてさらに詳細に説明する。本実施の形態においては、スレイブ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 application 23 is executed on the slave CPU 20 will be described as an example. The application 23 is, for example, an object detection application, which calculates the normal vector of each point in the point cloud information stored in the database server 40 and detects a set of points whose normal vectors have continuous directions as an object. It is something to do.

マスタCPU10は、例示した物体検知アプリケーションに係る演算処理のような作業現場の地形に関する処理の管理を担当する機能部であって、マスタCPU10上で実行されるアプリケーションにより実現される地形担当管理部11と、1つ以上の他のアプリケーション15とで構成されている。また、地形担当管理部11は、地形担当管理部11における処理を担当する機能部として、マスタCPU10上で実行されるアプリケーションにより実現される処理分配部12、情報格納部13、及び、処理結果収集部14を有している。 The master CPU 10 is a functional unit that is in charge of managing processing related to the topography of the work site, such as calculation processing related to the illustrated object detection application, and is a topography management unit 11 that is realized by an application executed on the master CPU 10. and one or more other applications 15. The terrain management unit 11 also includes a processing distribution unit 12, an information storage unit 13, and a processing result collection realized by an application executed on the master CPU 10, as functional units in charge of processing in the terrain management unit 11. It has a section 14.

スレイブCPU20は、例示した物体検知アプリケーションに係る演算処理のような作業現場の地形に関する処理を行う機能部であって、スレイブCPU20上で実行されるアプリケーションにより実現される地形処理部21と、複数の他のアプリケーション23,24とで構成されている。また、地形処理部21は、地形処理部21における演算処理(例えば、法線ベクトル演算処理)の実行を担当する機能部として、スレイブCPU20上で実行されるアプリケーションにより実現される法線ベクトル演算実行部22を有している。なお、本実施の形態においては、スレイブCPU20のアプリケーション23が物体検知アプリケーションである場合を例示する。 The slave CPU 20 is a functional unit that performs processing related to the topography of the work site, such as calculation processing related to the illustrated object detection application, and includes a topography processing unit 21 realized by an application executed on the slave CPU 20, and a plurality of It is composed of other applications 23 and 24. Additionally, the terrain processing unit 21 serves as a functional unit in charge of executing calculation processing (for example, normal vector calculation processing) in the terrain processing unit 21, and executes normal vector calculation realized by an application executed on the slave CPU 20. It has a section 22. In this embodiment, a case will be exemplified in which the application 23 of the slave CPU 20 is an object detection application.

同様に、スレイブCPU30は、例示した物体検知アプリケーションに係る演算処理のような作業現場の地形に関する処理を行う機能部であって、スレイブCPU30上で実行されるアプリケーションにより実現される地形処理部31と、複数の他のアプリケーション33,34とで構成されている。また、地形処理部31は、地形処理部31における演算処理(例えば、法線ベクトル演算処理)の実行を担当する機能部として、スレイブCPU30上で実行されるアプリケーションにより実現される法線ベクトル演算実行部32を有している。 Similarly, the slave CPU 30 is a functional unit that performs processing related to the topography of the work site, such as calculation processing related to the illustrated object detection application, and includes a topography processing unit 31 realized by an application executed on the slave CPU 30. , and a plurality of other applications 33 and 34. Additionally, the terrain processing unit 31 serves as a functional unit in charge of executing calculation processing (for example, normal vector calculation processing) in the terrain processing unit 31, and executes normal vector calculation realized by an application executed on the slave CPU 30. It has a section 32.

以上のように構成した本実施の形態の制御システムにおいて、スレイブ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 slave CPU 20 has a plurality of arithmetic processes (normal vector arithmetic processes to be described later) that should be processed in parallel. When the application 23 (object detection application) is started on the slave CPU 20, the application 23 first distributes processing to the processing distribution unit 12 of the terrain management unit 11 of the master CPU 10 in order to process multiple calculation processes in parallel. Send a processing request request. When the processing distribution unit 12 receives a processing request for distribution processing from the slave CPU 20, it distributes the calculation processing to each slave CPU 20, 30 based on a predetermined distribution processing procedure, and the terrain processing unit 21 of the slave CPU 20, 30 , 31 to send a processing instruction request for arithmetic processing. In addition, in the distribution process, the processing distribution unit 12 acquires the amount of processing calculation (computation load) stored in the database server 40, and performs the distribution process based on this amount of processing calculation. When the terrain processing units 21 and 31 of the slave CPUs 20 and 30 each receive a processing instruction request for arithmetic processing, they execute the arithmetic processing based on the information of the processing instruction request, and calculate the arithmetic result and the computational load required for the arithmetic processing. and is transmitted to the processing result collection unit 14 of the topography management unit 11 of the master CPU 10. The processing result collection unit 14 receives and combines the calculation results from all the slave CPUs 20 and 30 that have sent the processing instruction request, and sends the processing request request as the calculation result of the plurality of calculation processes to be processed in parallel. Send to application 23 (object detection application). Furthermore, the processing result collection unit 14 updates the amount of processing calculation (computation load) stored in the database server 40 based on the amount of processing calculation from all the slave CPUs 20 and 30 that have transmitted the processing command request.

図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 slave CPU 20 first acquires the measurement results (point cloud information) measured by the terrain measuring device 100 and stored in the database server 40, and acquires the point cloud information. The normal vector of each point constituting is calculated (step S100). In this embodiment, as will be described in detail later, the calculation of the normal vector for the point cloud information in step S100 is distributed and performed in parallel by the plurality of slave CPUs 20 and 30, thereby speeding up the calculation process. It has been realized.

続いて、物体検知アプリケーションは、点群情報を構成する各点について最も近い他の点を探索し(ステップ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 slave CPU 20 first performs normal vector calculation processing (step S100 in FIG. 2) of the normal vectors of each point constituting the point cloud information. A processing request for distribution processing to be executed in parallel is generated and transmitted to the processing distribution unit 12 of the topography management unit 11 of the master CPU 10 (step S200).

続いて、物体検知アプリケーションは、マスタ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 result collection unit 14 of the topography management unit 11 of the master CPU 10 (step S210), and then receives the normal vector calculation result from the master CPU 10. When received (step S220), the received calculation result is used to proceed to the subsequent processing of the object detection application (step S110 in FIG. 2).

図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 processing distribution unit 12 of the topography management unit 11. The processing request includes a request source CPU name, a request source IP address, a request source port number, a request ID, request processing details, and target terrain area information.

リクエスト元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 topography management unit 11 about the destination of the calculation result. be. The terrain management section 11 stores this information in the information storage section 13.

リエクスト処理内容(target_region)は、地形担当管理部11に対して処理してほしい内容の情報を伝えるものである。本実施の形態においては、法線ベクトル演算である。 The request processing content (target_region) is used to convey information about the content that the topography management unit 11 wants to process. In this embodiment, normal vector calculation is performed.

対象地形領域情報(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 terrain management unit 11. In this embodiment, the object detection application indicates the area of the work site where the object should be detected. The area in which the hydraulic excavator 101, which is a working machine, works is divided in advance into a plurality of small areas, and can be uniquely specified, for example, by coordinates given as the site coordinate system. In this embodiment, this small area is referred to as a grid. For example, if the grid area indicated by the target terrain area information is a rectangle with four coordinates (0, 0) (0, 10) (20, 0) (20, 10) as vertices, "0: 20,0:10”.

リクエスト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 processing distribution unit 12 of the terrain management unit 11 of the master CPU 10 receives a processing request request from the application 23 of the slave CPU 20, it first sends the terrain processing load (processing calculation amount) from the database server 40. is acquired (step S300). The processing load is given to each terrain grid. The processing load is displayed as an integer value for each grid.

続いて、取得した処理負荷に基づいて、各スレイブCPU20,30に割り当てる領域を決定する(ステップS310)。この処理分配処理では、領域の割り当てはグリッド単位で行われる。 Next, based on the obtained processing load, an area to be allocated to each slave CPU 20, 30 is determined (step S310). In this processing distribution process, area allocation is performed in grid units.

続いて、データベースサーバ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 slave CPUs 20 and 30 each grid is assigned to. For example, you can assign an integer value to each grid as a terrain filter, and create a rule that the first slave CPU will be in charge of the calculation processing for a grid whose number is 1, and the second slave CPU will be responsible for the calculation processing of that grid if the number is 2. Decide in advance. In this embodiment, a currently usable terrain filter is acquired from among a plurality of terrain filters stored in advance in the database server 40. The database server 40 stores a predetermined number of terrain filters in order to use the plurality of terrain filters simultaneously.

続いて、各グリッドに割り当てた領域を示す地形フィルターを作成し、データベースサーバ40の情報を更新する(ステップS330)。 Next, a terrain filter indicating the area allocated to each grid is created, and information in the database server 40 is updated (step S330).

続いて、各グリッドの演算処理を担当するスレイブCPU20,30に、それぞれ演算処理の処理命令リクエストを送信し(ステップS340)、処理を終了する。 Subsequently, a processing command request for arithmetic processing is transmitted to each of the slave CPUs 20 and 30 in charge of arithmetic processing for each grid (step S340), and the processing is ended.

図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 slave CPU 20, 30 is generated. The processing command request includes a request ID, a request sub ID, target terrain area information, a terrain filter name, and request processing details.

リクエスト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 slave CPU 20, 30 that shares processing, and is used to confirm that there has been a response (reception of calculation results) from all slave CPUs 20, 30. It is. That is, the number of all processing requests can also be determined from the request sub-ID.

地形フィルター名(mask)は、データベースサーバ40に格納されている地形フィルターを特定するための名前であり、スレイブCPU20,30がデータベースサーバ40から地形情報を取得するのに使用されるものである。 The terrain filter name (mask) is a name for identifying the terrain filter stored in the database server 40, and is used by the slave CPUs 20, 30 to acquire terrain information from the database server 40.

図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 processing distribution unit 12 of the terrain management unit 11 of the master CPU 10 first adds up the processing calculation amount of all grids, and By dividing by the number of , the average amount of processing calculations processed by one slave CPU is calculated (step S400).

続いて、各スレイブCPU20,30が処理するグリッドを0(ゼロ)とし(ステップS410)、各スレイブCPUを表す変数i=0(ゼロ)とすることで初期化を行う(ステップS420)。 Subsequently, initialization is performed by setting the grid processed by each slave CPU 20, 30 to 0 (zero) (step S410), and setting the variable i representing each slave CPU to 0 (zero) (step S420).

続いて、(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 calculation execution units 22 and 32 of the terrain processing units 21 and 31 of the slave CPUs 20 and 30 are in a standby state until they receive a processing command request (step S500), and the When a processing command request for arithmetic processing is received from the processing distribution unit of the terrain management unit 11, point cloud information is read from the database server 40 using the target terrain area information and terrain filter name of the processing command request (step S510). ).

続いて、処理命令リクエストのリクエスト処理内容に基づいて、点群情報に対する処理方法(本実施の形態では、法線ベクトルの演算処理方法)をデータベースサーバ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 result collection unit 14 of the topography management unit 11 of the master CPU 10 (step S550), and the process is ended.

図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 master CPU 10 is generated. The processing command response includes a request ID, a request sub ID, a processing result, and a processing amount.

リクエスト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 calculation execution units 22 and 32 of each slave CPU 20 and 30.

図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 result collection unit 14 of the topography management unit 11 of the master CPU 10 is in a standby state until it receives a processing command response from each slave CPU 20, 30 (step S600). When the processing command response received from each slave CPU 20, 30 is integrated (step S610), the processing calculation amount of the database server 40 is updated using the processing calculation amount included in the processing command response. (Step S620).

続いて、処理分配部12が演算処理の処理命令リクエストを送信した全てのスレイブCPU20,30から処理命令レスポンスを受信したか否かを判定し(ステップS630)、判定結果がNOの場合、すなわち、全ての処理命令レスポンスを受信していない場合には、全ての処理命令レスポンスを受信するまで、ステップS600~S630の処理を繰り返す。 Subsequently, the processing distribution unit 12 determines whether processing command responses have been received from all slave CPUs 20 and 30 to which processing command requests for arithmetic processing have been sent (step S630), and if the determination result is NO, that is, If all processing command responses have not been received, steps S600 to S630 are repeated until all processing command responses are received.

また、ステップ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 application 23 of the slave CPU 20 that sent the processing request request (step S640), and the process ends. Information about the slave CPU 20 that has issued the processing request is stored in the information storage section 13.

以上のように構成した本実施の形態における効果を説明する。 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 database server 40. Since the CPU capacity may differ depending on the processing content, different CPU capacities are stored for each processing content.

図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 process distribution unit 12 of the topography management unit 11 of the master CPU 10 first sends information from the database server 40 to each slave CPU 20 according to the current process content. , 30 (step S400A), and calculates the average processing time by dividing the total processing calculation amount of the slave CPU by the total capacity (step S401A).

続いて、各スレイブCPU20,30が処理するグリッドを0(ゼロ)とし(ステップS410)、各スレイブCPUを表す変数i=0(ゼロ)とすることで初期化を行う(ステップS420)。 Subsequently, initialization is performed by setting the grid processed by each slave CPU 20, 30 to 0 (zero) (step S410), and setting the variable i representing each slave CPU to 0 (zero) (step S420).

続いて、(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 result collection unit 14 of the topography management unit 11 of the master CPU 10 is in a standby state until it receives a processing command response from each slave CPU 20, 30 (step S600). Upon receiving the processing commands, the processing results included in the processing command responses received from each slave CPU 20, 30 are integrated (step S610), and the database server The processing calculation amount and capacity of 40 are updated (step S620A). Capacity is determined by multiplying the CPU time required for processing by the operating frequency of that CPU. The CPU processing time is not measured while other processes are being executed, but is simply determined as the time required for the processing. Even when calculation is performed in parallel with multiple cores, the time of each core is summed, so this method can be used even with a multi-core CPU.

続いて、処理分配部12が演算処理の処理命令リクエストを送信した全てのスレイブCPU20,30から処理命令レスポンスを受信したか否かを判定し(ステップS630)、判定結果がNOの場合、すなわち、全ての処理命令レスポンスを受信していない場合には、全ての処理命令レスポンスを受信するまで、ステップS600~S630の処理を繰り返す。 Subsequently, the processing distribution unit 12 determines whether processing command responses have been received from all slave CPUs 20 and 30 to which processing command requests for arithmetic processing have been sent (step S630), and if the determination result is NO, that is, If all processing command responses have not been received, steps S600 to S630 are repeated until all processing command responses are received.

また、ステップ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 application 23 of the slave CPU 20 that sent the processing request request (step S640), and the process ends. Information about the slave CPU 20 that has issued the processing request is stored in the information storage section 13.

その他の構成は第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 database server 41 provided in the master CPU 10B, and each The operation of the hydraulic excavator 101 is controlled using calculation results by the master CPU 10B and a plurality of slave CPUs 20B, 30B based on information stored in replica databases 42, 43 provided in the slave CPUs 20B, 30B. Note that in this embodiment, only two of the plurality of slave CPUs are illustrated and explained.

マスタCPU10Bは、例示した物体検知アプリケーションに係る演算処理のような作業現場の地形に関する処理の管理を担当する機能部であって、マスタCPU10B上で実行されるアプリケーションにより実現される地形担当管理部11と、1つ以上の他のアプリケーション15と、データベースサーバ41とで構成されている。また、地形担当管理部11は、地形担当管理部11における処理を担当する機能部として、マスタCPU10B上で実行されるアプリケーションにより実現される処理分配部12、情報格納部13、及び、処理結果収集部14を有している。 The master CPU 10B is a functional unit that is in charge of managing processing related to the topography of the work site, such as calculation processing related to the illustrated object detection application, and is a topography management unit 11 that is realized by an application executed on the master CPU 10B. , one or more other applications 15 , and a database server 41 . The terrain management unit 11 also includes a processing distribution unit 12, an information storage unit 13, and a processing result collection, which are realized by an application executed on the master CPU 10B, as functional units in charge of processing in the terrain management unit 11. It has a section 14.

スレイブCPU20Bは、例示した物体検知アプリケーションに係る演算処理のような作業現場の地形に関する処理を行う機能部であって、スレイブCPU20B上で実行されるアプリケーションにより実現される地形処理部21と、複数の他のアプリケーション23,24と、複製データベース42とで構成されている。また、地形処理部21は、地形処理部21における演算処理(例えば、法線ベクトル演算処理)の実行を担当する機能部として、スレイブCPU20B上で実行されるアプリケーションにより実現される法線ベクトル演算実行部22を有している。なお、本実施の形態においては、スレイブCPU20Bのアプリケーション23が物体検知アプリケーションである場合を例示する。複製データベース42には、マスタCPU10Bのデータベースサーバ41の情報の複製が格納されている。 The slave CPU 20B is a functional unit that performs processing related to the topography of the work site, such as calculation processing related to the illustrated object detection application, and includes a topography processing unit 21 realized by an application executed on the slave CPU 20B, and a plurality of It is composed of other applications 23 and 24 and a replica database 42. Additionally, the terrain processing unit 21 serves as a functional unit in charge of executing calculation processing (for example, normal vector calculation processing) in the terrain processing unit 21, and executes normal vector calculation realized by an application executed on the slave CPU 20B. It has a section 22. In this embodiment, a case will be exemplified in which the application 23 of the slave CPU 20B is an object detection application. The replica database 42 stores a replica of the information of the database server 41 of the master CPU 10B.

同様に、スレイブCPU30Bは、例示した物体検知アプリケーションに係る演算処理のような作業現場の地形に関する処理を行う機能部であって、スレイブCPU30B上で実行されるアプリケーションにより実現される地形処理部31と、複数の他のアプリケーション33,34と、複製データベース43とで構成されている。また、地形処理部31は、地形処理部31における演算処理(例えば、法線ベクトル演算処理)の実行を担当する機能部として、スレイブCPU30B上で実行されるアプリケーションにより実現される法線ベクトル演算実行部32を有している。複製データベース43には、マスタCPU10Bのデータベースサーバ41の情報の複製が格納されている。 Similarly, the slave CPU 30B is a functional unit that performs processing related to the topography of the work site, such as arithmetic processing related to the illustrated object detection application, and includes the topography processing unit 31 and the topography processing unit 31 realized by the application executed on the slave CPU 30B. , a plurality of other applications 33 and 34, and a replica database 43. Additionally, the terrain processing unit 31 serves as a functional unit in charge of executing calculation processing (for example, normal vector calculation processing) in the terrain processing unit 31, and executes normal vector calculation realized by an application executed on the slave CPU 30B. It has a section 32. The replica database 43 stores a replica of the information of the database server 41 of the master CPU 10B.

図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 processing distribution unit 12 of the terrain management unit 11 of the master CPU 10B receives a processing request from the application 23 of the slave CPU 20B, it first receives the processing load (processing calculation amount) from the database server 41. (step S300). The processing load is given to each terrain grid. The processing load is displayed as an integer value for each grid.

続いて、データベースサーバ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 slave CPUs 20B and 30B each grid is assigned to. For example, an integer value is assigned to each grid as a terrain filter, and a rule is created in which the first slave CPU is responsible for the calculation processing of a grid whose numerical value is 1, and the second slave CPU2 is responsible for the calculation processing of that grid when the numerical value is 2. Decide in advance. In this embodiment, a currently available terrain filter is acquired from among a plurality of terrain filters stored in advance in the database server 41. The database server 41 stores a predetermined number of terrain filters in order to use the plurality of terrain filters simultaneously.

続いて、データベース部分同期処理を行い(ステップS321)、複製データベース42,43の情報をデータベースサーバ41の情報に同期させる。 Subsequently, a database partial synchronization process is performed (step S321) to synchronize the information in the replica databases 42 and 43 with the information in the database server 41.

続いて、取得した処理負荷に基づいて、各スレイブCPU20B,30Bに割り当てる領域を決定する(ステップS322)。この処理分配処理では、領域の割り当てはグリッド単位で行われる。 Next, based on the obtained processing load, an area to be allocated to each slave CPU 20B, 30B is determined (step S322). In this processing distribution process, area allocation is performed in grid units.

続いて、各グリッドに割り当てた領域を示す地形フィルターを作成し、データベースサーバ41の情報を更新する(ステップS330)。 Next, a terrain filter indicating the area allocated to each grid is created, and information in the database server 41 is updated (step S330).

続いて、各グリッドの演算処理を担当するスレイブCPU20B,30Bに、それぞれ演算処理の処理命令リクエストを送信し(ステップS340)、処理を終了する。 Subsequently, a processing command request for arithmetic processing is transmitted to each of the slave CPUs 20B and 30B in charge of arithmetic processing for each grid (step S340), and the processing is ended.

図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 processing distribution unit 12 of the topography management unit 11 of the master CPU 10B first initializes the update list (step S700), and checks the unchecked grids for all grids included in the area of target topography area information. It is determined whether or not there is (step S710).

ステップ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 database server 41. It is determined whether it is after the synchronization time with the replica databases 42, 43 (step S730). The replication databases 42 and 43 record the time when each grid last performed synchronization, and by referring to these, the synchronization time in step S720 can be obtained.

ステップ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 database server 41 after the synchronization time, the grid is added to the update list (step S740), and step S710 Return to processing. If the determination result in step S730 is YES, the database server 41 and the replica databases 42, 43 are in a synchronized state, and the process returns to step S730.

また、ステップ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 replica databases 42 and 43 of the slave CPUs 20B and 30B are synchronized for all the grids in the update list. is performed (step S711), and the process ends.

その他の構成は第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記載の作業機械において、
前記情報群は、前記作業現場における物体の表面位置を前記作業現場に設定された現場座標系における複数の座標で示す点群情報であり、
前記制御システムは、
前記マスタ演算装置が、前記複数のスレイブ演算装置のうちの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:
請求項1記載の作業機械において、
前記複数のスレイブ演算装置は、異なる演算性能のスレイブ演算装置を含むことを特徴とする作業機械。
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.
請求項1記載の作業機械において、
前記記憶装置は、前記マスタ演算装置および前記複数のスレイブ演算装置にそれぞれ設けられた複数の記憶装置から成り、
前記複数のスレイブ演算装置の記憶装置は、前記マスタ演算装置の記憶装置に記憶されている情報から複製される情報をそれぞれ記憶することを特徴とする作業機械。
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.
JP2021005248A 2021-01-15 2021-01-15 working machine Active JP7443271B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
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