Automatic operation device for work machines
The automatic driving device adjusts force data using models to align the work machine's tip with a target position, addressing the issue of inadequate excavation forces due to varying soil characteristics.
Patent Information
- Application Number
- JP2021173020
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-11-09
- Filing Date
- 2021-10-22
- Publication Date
- 2025-12-12
- Estimated Expiration
- 2041-10-22
AI Technical Summary
Existing automatic operation systems for work machines, such as hydraulic excavators, fail to account for the varying characteristics of soil, leading to inadequate excavation forces that deviate from target trajectories.
An automatic driving device that estimates actual position data using a first model, calculates deviations, and adjusts force data through a second model to align the work machine's interacting part with a target position, considering soil characteristics.
Generates appropriate excavation forces to accurately match the position of the work machine's tip with the target position, accounting for soil interaction characteristics.
Smart Images

Figure 0007784863000024 
Figure 0007784863000025 
Figure 0007784863000026
Abstract
Description
[Technical Field]
[0001] The present invention relates to a technique for automatically operating a work machine. [Background technology]
[0002] In recent years, automatic operation devices that cause a hydraulic excavator to automatically perform a series of operations from excavation to dumping have become known. For example, Patent Document 1 discloses a technology for setting the engine speed of an automatically operated excavator that repeatedly performs a cycle of operations from excavation to dumping by sequentially reading out taught and stored taught positions.
[0003] In the automatic operation of a hydraulic excavator, it is required to move the tip of the attachment along a predetermined target trajectory no matter what the work site. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Application Laid-Open No. 2001-32330 Summary of the Invention [Problem to be solved by the invention]
[0005] However, the characteristics of the soil excavated by a hydraulic excavator vary depending on the work site, so in order to move the tip of the attachment along a target trajectory, it is necessary to have the hydraulic excavator generate an appropriate digging force that takes into account the characteristics of the soil.
[0006] The technology of Patent Document 1 does not take into consideration the characteristics of the soil and sand, and therefore is unable to cause the hydraulic excavator to generate an appropriate excavation force in accordance with the characteristics of the soil and sand.
[0007] Such problems also occur in other work machines besides hydraulic excavators.
[0008] The present invention has been made to solve these problems, and aims to provide an automatic driving device that generates an appropriate force in a work machine to align the position of the part of the work device that interacts with an object with a target position, taking into account the characteristics of the interaction between the work device and an object. [Means for solving the problem]
[0009] an estimation unit that estimates estimated actual position data by inputting estimated force data into a first model that defines the relationship between force data that indicates a force generated in the part and the actual position data using a first parameter that indicates a characteristic of the interaction; a calculation unit that calculates the deviation between a difference between the estimated actual position data and the actual position data and target position data that indicates a target position of the part; a calculation unit that calculates the estimated force data by inputting the deviation into a second model that defines the relationship between the deviation and the force data for aligning the actual position with the target position using the first parameter; a setting unit that calculates second parameters corresponding to the estimated actual position data and the estimated force data based on the first parameters calculated in the past, and sets the first parameters based on the second parameters; and a command value calculation unit that calculates a command value for the work machine from the estimated force data.
[0010] According to this configuration, second parameters corresponding to estimated force data calculated using a second model based on previously calculated first parameters and actual position data acquired by the acquisition unit are calculated, and the second parameters are set as first parameters of the first model and the second model. Then, estimated force data for aligning an interacting part with a target position is calculated using the second model in which the first parameters are set. A command value for the work machine is calculated based on the calculated estimated force data, and the command value is input to the work device. Here, the relationship between the actual position data and the force data includes the characteristics of the interaction. Therefore, the first parameters corresponding to the actual position data and the estimated force data reflect the characteristics of the interaction. This allows first parameters reflecting the characteristics of the interaction to be set in the first model and the second model. As a result, an appropriate force can be generated in the work machine to align the position of the interacting part with the target position, taking into account the characteristics of the interaction.
[0011] In the above-described automatic driving device, the estimated force data and the estimated actual position data are preferably norms.
[0012] According to this configuration, the output variables of the second model and the input / output variables of the first model are expressed one-dimensionally, so that the second model and the first model can be configured as simple models.
[0013] In the above-mentioned autonomous driving device, it is preferable that the actual position data and the target position data include coordinate data, and the autonomous driving device further includes a direction calculation unit that calculates a direction of a force generated at the part based on the coordinate data indicated by the actual position data and the coordinate data indicated by the target position data, and the command value calculation unit calculates a force vector generated at the part based on the direction of the force and a norm of the estimated force data, and calculates the command value including the force vector.
[0014] With this configuration, the direction of the force generated at the interacting part is calculated based on the coordinate data of the actual position and the coordinate data of the target position, a force vector is calculated from the calculated force direction and the norm of the estimated force data calculated by the calculation unit, and a command value including the calculated force vector is input to the work machine. As a result, it is possible to instruct the work machine not only on the magnitude but also on the direction of the force, thereby achieving appropriate operation of the work machine.
[0015] In the above-described automatic driving device, it is preferable that the first parameter is defined using a mass of the interaction and at least one of a spring constant and a viscosity coefficient indicating the interaction.
[0016] According to this configuration, the first parameter is defined using the mass of the interaction and at least one of the spring constant and viscosity coefficient indicating the interaction, so that the characteristics of the interaction can be more accurately reflected in the first model and the second model.
[0017] In the above-mentioned automatic driving device, it is preferable that the acquisition unit acquires a notification indicating whether or not the interaction has started from the work machine, and the estimation unit, the calculation unit, the calculation unit, the setting unit, and the command value calculation unit perform sequential processing while the interaction is occurring.
[0018] According to this configuration, the parameters are updated sequentially while the interaction is occurring, so that the first parameters suitable for the characteristics of the interaction, which change sequentially, can be set in the first model and the second model, and a force suitable for the characteristics of the interaction can be generated in the work machine.
[0019] In the above-described automatic driving device, it is preferable that the calculation unit calculates, as the deviation, a difference between a difference between a norm of the actual position data and a norm of the estimated actual position data, and a difference between the norm of the target position data.
[0020] According to this configuration, the difference between the difference between the norm of the actual position data and the norm of the estimated position data and the norm of the target position data is calculated as a deviation and input to the calculation unit, so that the deviation, which is an input variable of the second model, can be configured one-dimensionally, thereby simplifying the configuration of the second model.
[0021] In the above-described automatic driving device, the part is preferably a tip of the working device.
[0022] According to this configuration, it is possible to generate an appropriate force at the tip of the working device, which is capable of matching the position of the tip of the working device to the target position, taking into consideration the characteristics of the interaction.
[0023] In the above-described automatic driving device, it is preferable that the work machine is a hydraulic excavator, the object is earth and sand, and the force is an excavation force.
[0024] According to this configuration, it is possible to make the hydraulic excavator generate an appropriate excavation force that aligns the position of the tip of the working implement with the target position, taking into account the characteristics of the soil and sand.
[0025] The above-described automatic driving device preferably further comprises a database that stores the first parameter calculated in the past.
[0026] According to this configuration, since the database for storing the first parameters calculated in the past is provided, it becomes easy to acquire the first parameters calculated in the past. [Effects of the Invention]
[0027] According to the present invention, it is possible to generate an appropriate force in the work machine to match the position of the part of the work device that interacts with the object with a target position, taking into account the characteristics of the interaction between the work device and the object. [Brief explanation of the drawings]
[0028] [Figure 1]1 is a block diagram showing an example of the configuration of an automatic driving device according to an embodiment of the present invention; [Figure 2] FIG. 1 is an explanatory diagram of an interaction model. [Figure 3] FIG. 10 is a diagram showing changes in the norm of the actual position during excavation. [Figure 4] FIG. [Figure 5] 2 is a flowchart showing an example of processing performed by the automatic driving device shown in FIG. 1. [Figure 6] 10 is a flowchart showing details of a parameter setting process. [Figure 7] 4 is a flowchart showing an example of processing of a work machine when responding to a command value input from an automatic driving device. [Figure 8] 1 is a block diagram showing a configuration of an automatic driving device according to an embodiment. [Figure 9] FIG. 2 is a diagram illustrating a control target according to an embodiment. [Figure 10] FIG. 10 is a diagram showing the relationship between the coordinates of the tip of the attachment and the coordinates of the target position in the embodiment. [Figure 11] FIG. 1 is a diagram illustrating an overview of a verification model. [Figure 12] 1 is a table showing values of various parameters used in constructing the initial database. [Figure 13] 10 is a graph showing simulation results of a fixed parameter controller. [Figure 14] 10 is a graph showing simulation results of a fixed parameter controller. [Figure 15] 10 is a graph showing a simulation result of an example. [Figure 16] 10 is a graph showing a simulation result of an example. DETAILED DESCRIPTION OF THE INVENTION
[0029] Hereinafter, an embodiment of the present invention will be described with reference to the accompanying drawings. Note that the following embodiment is an example of a specific embodiment of the present invention and is not intended to limit the technical scope of the present invention.
[0030] FIG. 1 is a block diagram showing an example of the configuration of an automatic driving device 1 according to an embodiment of the present invention. The automatic driving device 1 is a device that automatically drives a work machine 200. The work machine 200 is a construction machine such as a hydraulic excavator, a crane, or a demolition machine. In the following explanation, the work machine 200 will be described as a hydraulic excavator. However, this is just one example, and the work machine 200 may be any work machine that includes a work implement that interacts with an object.
[0031] Work machine 200 includes a lower traveling body, an upper rotating body rotatably attached to the lower traveling body, a boom attached to the upper rotating body so that it can be raised and lowered, an arm attached to the boom so that it can swing, and a bucket attached to the arm so that it can swing. The boom, arm, and bucket constitute a work device. Work machine 200 also includes a hydraulic cylinder that raises and lowers the boom, a hydraulic cylinder that swings the arm, and a hydraulic cylinder that swings the bucket.
[0032] The automatic driving device 1 may be implemented in an existing controller of the work machine 200, or may be implemented in a computer having a communication device capable of communicating with the work machine 200 wirelessly.
[0033] The automatic driving device 1 includes an acquisition unit 10, a position estimation unit 20 (an example of an estimation unit), a deviation calculation unit 30 (an example of a calculation unit), a force calculation unit 40 (an example of a calculation unit), a command value calculation unit 50, a database 60, a parameter setting unit 70 (an example of a setting unit), a force direction calculation unit 80, a target position acquisition unit 90, and a memory 100.
[0034] Acquisition unit 10 acquires coordinates Xt(t) of the actual position of the tip of the bucket from work machine 200. Work machine 200 has a function for detecting the coordinates of the tip of the bucket based on the rotation angle of the upper rotating body, the angle of the boom relative to the upper rotating body, the angle of the arm relative to the boom, and the angle of the bucket relative to the arm. Therefore, acquisition unit 10 can acquire the coordinates of the tip of the bucket detected by this function from work machine 200 as coordinates Xt(t) of the actual position.
[0035] The coordinate Xt(t) of the actual position is, for example, a coordinate on a two-dimensional plane that has the tip of the bucket as its origin and is perpendicular to the ground. Specifically, the coordinate Xt(t) of the actual position is expressed as Xt(t) = [xt(t), yt(t)]. Here, t is time, xt(t) is the x-axis component of the actual position in the two-dimensional coordinate system, and yt(t) is the y-axis component of the actual position in the two-dimensional coordinate system. The x-axis is set, for example, in the longitudinal direction of the work implement, and the y-axis is set in a direction perpendicular to the ground.
[0036] The tip of the bucket is an example of a portion where the work implement interacts with an object. The origin of the coordinate system of the two-dimensional plane is set, for example, to the start position of the interaction between the bucket and the object. The interaction of the bucket with the object refers to the bucket and the object coming into contact and exerting a force on each other. The work machine 200 detects whether the interaction has started, for example, based on the value of the cylinder pressure of the hydraulic cylinder, and inputs a notification indicating the start of the interaction to the acquisition unit 10. Furthermore, when the work machine 200 detects the end of the interaction, it inputs a notification indicating the end to the acquisition unit 10. This allows the acquisition unit 10 to determine whether the work machine 200 is interacting with the object. The object is, for example, soil contained in the ground that the bucket is excavating.
[0037] The acquisition unit 10 calculates the real position norm |Xt(t)|=y(t) from the acquired real position coordinate Xt(t), and stores the real position coordinate Xt(t) and the real position norm y(t) in the memory 100. The real position coordinate Xt(t) and the real position norm y(t) are examples of real position data.
[0038] Position estimation unit 20 includes an interaction model 21 (an example of a first model). Interaction model 21 defines the relationship between a norm u(t) of a force generated at the tip of the bucket when the working implement interacts with an object and a norm y(t) of the actual position of the tip of the bucket using parameters that indicate the characteristics of the interaction between the working implement and the object. The force norm u(t) is an example of force data.
[0039] The position estimation unit 20 inputs the force norm u(t) calculated by the force calculation unit 40 to the interaction model 21, and calculates the norm of the actual position y(t) corresponding to the force norm u(t) as the norm of the estimated position y ∧ The position estimation unit 20 calculates the norm y ∧ (t) is stored in the memory 100. The norm y ∧ (t) is an example of estimated real position data. The interaction model 21 is expressed by equation (6) described below.
[0040] As shown in equation (6), the interaction model 21 calculates the norm y ∧ (t) and the force norm u(t). ∧ " and "B ∧ " is expressed by the following equations (7) and (8). In equation (7), a ∧ 1(t), a ∧ 2(t), and the coefficients shown by b ∧ 0(t), b ∧ 1(t), .... These coefficients are parameters (an example of first parameters) of the interaction model 21. In this embodiment, since the controlled object is modeled by equation (26) as will be described later, the parameters of the interaction model 21 are ∧ 1(t), a ∧ 2(t), b ∧ It consists of 0(t).
[0041] Parameter a ∧ 1(t), a ∧ 2(t), b ∧0(t) is expressed by the following equations (27) to (29). As shown in equations (27) to (29), a ∧ 1(t), a ∧ 2(t), b ∧ 0(t) includes m(t), c(t), and k(t). m(t) is the mass of the interaction between the working device and the object, k(t) is the spring constant of the spring element, and c(t) is the viscosity coefficient of the damper element. These are parameters that directly indicate the characteristics of the interaction between the working device and the object.
[0042] Therefore, the parameter a ∧ 1(t), a ∧ 2(t), b ∧ 0(t) indirectly indicates the characteristics of the interaction between the work device and the object, and the interaction model 21 reflects the characteristics of the interaction.
[0043] The deviation calculation unit 30 reads the norm y(t-1) of the actual position and the norm y(t-2) of the estimated position from the memory 100. ∧ (t-1), and y(t-1) to y ∧ Then, the deviation calculation unit 30 calculates the deviation e(t) by subtracting the calculated difference from the norm |R(t)| (=r(t)) of the target position input from the target position acquisition unit 90, and inputs the deviation e(t) to the force calculation unit 40. Here, the deviation calculation unit 30 obtains y(t-1), y ∧ (t-1) is obtained at the stage of calculating the deviation e(t), y(t), y ∧ This is because (t) has not been calculated. t-1 indicates the sample point immediately before t.
[0044] The force calculation unit 40 includes a force calculation model 41. The force calculation model 41 is a model that defines the relationship between the deviation e(t) and the norm u(t) of the force generated at the tip of the bucket to match the actual position with the target position, using the same parameters as the interaction model 21.
[0045] The force calculation model 41 is expressed by the equation (3) described below.
[0046] As shown in equation (3), the force calculation model 41 is a function of the force norm u(t) and deviation e(t). ∧ " is expressed by the following equation (4). As shown in equation (4), "Q ∧ "A ∧ "," B ∧ " is included. "A ∧ "," B ∧ " is, as mentioned above, a ∧ 1(t), a ∧ 2(t), b ∧ 0(t). Therefore, it can be seen that the force calculation model 41 is defined by the same parameters as the interaction model 21.
[0047] The force calculation unit 40 inputs the deviation e(t) calculated by the deviation calculation unit 30 to a force calculation model 41, and calculates a force norm u(t) corresponding to the deviation e(t). The force calculation unit 40 inputs the calculated force norm u(t) to the command value calculation unit 50, the position estimation unit 20, and the memory 100. The calculated force norm u(t) is an example of estimated force data.
[0048] The command value calculation unit 50 calculates a force vector Fr(t) based on the force norm u(t) calculated by the force calculation unit 40 and the force direction θf(t) calculated by the force direction calculation unit 80. The command value calculation unit 50 then inputs the force vector Fr(t) as a command value to the work machine 200. Here, the command value calculation unit 50 may calculate the force vector Fr(t) using equation (31) described below.
[0049] The database 60 stores one or more base parameters θ , which are parameters previously calculated by the parameter setting unit 70. - (t) is stored. Each base parameter θ - (t) is [a ∧ 1(t), a ∧ 2(t), b ∧ 0(t)].
[0050] The parameter setting unit 70 calculates the base parameters θ -Based on (t), the required point φ - Calculate the target parameter θnewc(t) (an example of the second parameter) corresponding to the required point φ - (t) is φ - (t) = [y(t), y(t-1), y(t-2), u(t-1)]. That is, the required point φ - (t) is composed of the norms y(t), y(t-1), y(t-2) of the actual positions and the norm u(t-1) of the force data. - (t) represents the dynamics of the current interaction of the work machine 200, reflecting the current interaction between the work implement and the object. Furthermore, the parameter setting unit 70 sets the average parameter θnew(t), which will be described later and is obtained in the process of calculating the object parameter θnewc(t), as the base parameter θ - (t) and stored in the database 60.
[0051] The force direction calculation unit 80 calculates the direction θf(t) of the force generated at the tip of the bucket based on the target position coordinate R(t) input from the target position acquisition unit 90 and the actual position coordinate Xt(t-1) acquired from the memory 100. Here, the actual position coordinate Xt(t-1) at time t-1 has been acquired because the actual position coordinate Xt(t) has not been calculated at this stage. The force direction calculation unit 80 can calculate the force direction θf(t) using equation (30).
[0052] The target position acquisition unit 90 acquires the coordinates of the target position R(t) = [rx(t), ry(t)] and inputs them to the force direction calculation unit 80. The target position is the target position for the tip of the bucket. In this embodiment, when an interaction occurs, the automatic driving device 1 automatically drives the work machine 200 so that the tip of the bucket moves along a predetermined target trajectory. Therefore, the target position becomes a position on this target trajectory. This target trajectory may be input by an administrator, for example.
[0053] The target position acquisition unit 90 calculates the norm r(t) of the target position from the coordinates R(t) of the target position, and inputs it to the deviation calculation unit 30.
[0054] The memory 100 is configured by a RAM or a flash memory, and stores the coordinates of the real position Xt(t), the norm y(t) of the real position, and the norm y(t) of the estimated position. ∧ (t) is stored. Here, the required point φ - Since (t) includes the norms y(t), y(t-1), y(t-2) of the actual positions up to two samples before, and the norm u(t-1) of the force one sample before, the memory 100 only needs to store the norms y(t), y(t-1), y(t-2) of the actual positions up to at least two samples before, and also store the norm u(t-1) of the force one sample before. In addition, the deviation e(t) is calculated using the norm y of the estimated position one sample before. ∧ (t-1) is used, the memory 100 stores the norm y of the estimated position at least one sample before ∧ (t-1) is simply stored.
[0055] 1, each block other than the memory 100 constituting the automatic driving device 1 is configured by, for example, a processor. The processor may be configured by a CPU or a dedicated electric circuit such as an ASIC.
[0056] FIG. 2 is an explanatory diagram of the interaction model 21. As shown in the left column of FIG. 2, the interaction model 21 is a model constructed by assuming that the bucket 201 operates within a two-dimensional plane 202. The two-dimensional plane 202 is a plane that runs along the longitudinal direction of the work implement and is perpendicular to the ground 203. In the two-dimensional plane 202, the xt axis is set in the longitudinal direction of the work implement, and the yt axis is set in a direction perpendicular to the ground 203. Furthermore, the origin 204 of the two-dimensional plane 202 is set at the position where the interaction between the bucket 201 and the ground 203 starts.
[0057] As shown in the right column of FIG. 2, the interaction model 21 is a mass-spring-damper model including a mass element 211 of the interaction between the working device and the object, a damper element 212, and a spring element 213. The mass element 211 is represented by the mass m(t) of the interaction between the working device and the object. The damper element 212 is represented by a viscosity coefficient c(t). The spring element 213 is represented by a spring constant k(t). The damper element 212 and the spring element 213 are connected in parallel. The mass element 211 is connected in series to a parallel element in which the damper element 212 and the spring element 213 are connected in parallel. The equations of motion of this mass-spring-damper model are expressed by equations (23) to (25), which will be described later. Therefore, the interaction model 21 is composed of a model expressed by equation (6), which is calculated based on equations (23) to (25).
[0058] As shown in the right column of Figure 2, when the work implement operates on a two-dimensional plane 202, the force F(t) generated at the tip of the bucket 201 and the coordinate Xt(t) of the actual position of the bucket tip are each expressed two-dimensionally. In contrast, the interaction model 21 is expressed by the norm |F(t)| of F(t) and the norm |Xt(t)| (= y(t)) of the estimated position. In other words, the interaction model 21 is a dimensionally reduced model in which the input and output variables are dimensionally reduced. By configuring the interaction model 21 as a dimensionally reduced model, the interaction model 21 is simplified.
[0059] Figure 3 is a diagram showing changes in the norm y(t) of the real position during excavation. In the example of Figure 3, the tip of the bucket comes into contact with the ground 203 at origin 204, and then the tip of the bucket moves along trajectory 205. The norm y(t) of the real position is the distance between origin 204 and the real position. Therefore, as the excavation operation progresses, the norm y(t) of the real position increases.
[0060] In this way, the interaction model 21 is dimensionally reduced, so that in order to operate the work machine 200, it is sufficient to command the force direction θf(t) in addition to the force norm u(t) to the work machine 200. Therefore, the force direction calculation unit 80 calculates the force direction θf(t).
[0061] 4 is an explanatory diagram of the force direction θf(t). As described above, the force calculation unit 40 calculates the force norm u(t) so as to align the actual position with the target position. Therefore, if the coordinate of the actual position at time t-1 is Xt(t-1), the force direction θf(t) at time t is directed from the actual position coordinate Xt(t-1) to the target position coordinate R(t). Therefore, the force direction calculation unit 80 calculates the force direction θf(t) using the actual position coordinate Xt(t-1) and the target position coordinate R(t).
[0062] Fig. 5 is a flowchart showing an example of the processing of the automatic driving device 1 shown in Fig. 1. In step S1, the acquisition unit 10 detects whether or not an interaction between the work machine and an object has started. Here, when the acquisition unit 10 acquires a notification from the work machine 200 informing it of the start of an interaction, it may determine that an interaction has occurred.
[0063] If the start of an interaction is detected (YES in step S1), the process proceeds to step S2, and if the start of an interaction is not detected (NO in step S1), the process waits in step S1.
[0064] In step S2, the target position acquisition unit 90 acquires the coordinates R(t) of the target position. For example, the target position acquisition unit 90 may sequentially acquire points on the target trajectory stored in the memory 100 as the coordinates R(t) of the target position.
[0065] In step S3, the target position acquisition unit 90 calculates the norm r(t) of the target position from the coordinates R(t) of the target position. The norm r(t) of the target position is the distance from the origin to the target position when the starting position of the interaction is set as the origin.
[0066] In step S4, the deviation calculation unit 30 reads the norm y(t-1) of the actual position and the norm y(t-2) of the estimated position from the memory 100. ∧ Get (t-1).
[0067] In step S5, the deviation calculation unit 30 calculates the norm r(t) of the target position, the norm y(t-1) of the actual position, and the norm y(t-1) of the estimated position as described above. ∧ (t-1) is used to calculate the deviation e(t).
[0068] In step S6, the force calculation unit 40 inputs the deviation e(t) into the force calculation model 41 and calculates the force norm u(t). At this time, the force calculation unit 40 calculates u(t) using the parameter initial value or the parameter θnew(t) determined in the processing of the previous step.
[0069] In step S7, the position estimation unit 20 inputs the force norm u(t) to the interaction model 21 and calculates the estimated position norm y ∧ Calculate (t).
[0070] In step S8, the force direction calculation unit 80 acquires the coordinates Xt(t−1) of the actual position from the memory 100.
[0071] In step S9, the force direction calculation unit 80 calculates the force direction θf(t) by substituting the coordinate R(t) of the target position and the coordinate Xt(t−1) of the actual position into equation (30).
[0072] In step S10, the command value calculation unit 50 calculates the force vector Fr(t) by substituting the force norm u(t) and the force direction θf(t) into equation (31).
[0073] In step S11, the command value calculation unit 50 inputs the force vector Fr(t) to the work machine 200 as a command value.
[0074] In step S12, the acquisition unit 10 acquires from the work machine 200 the coordinates Xt(t) of the actual position calculated by the work machine 200 in response to the input of the command value.
[0075] In step S13, the acquisition unit 10 calculates the norm y(t) of the real position from the coordinates Xt(t) of the real position.
[0076] In step S14, the acquisition unit 10 stores the coordinates Xt(t) and norm y(t) of the real position in the memory 100.
[0077] In step S15, the parameter setting unit 70 executes a parameter setting process, the details of which will be described later.
[0078] In step S16, the acquisition unit 10 determines whether the interaction has ended. Here, if the acquisition unit 10 receives a notification from the work machine 200 informing it of the end of the interaction, it may determine that the interaction has ended. The end of the interaction refers to the tip of the bucket and the object going out of contact. If it is determined that the interaction has ended (YES in step S16), the processing ends, and if it is determined that the interaction has not ended (NO in step S16), the processing returns to step S2.
[0079] As described above, in the flowchart of FIG. 5, the automatic driving device 1 executes the processes sequentially while an interaction is occurring.
[0080] 6 is a flowchart showing the details of the parameter setting process. In step S101, the parameter setting unit 70 reads the required point φ - Get (t).
[0081] In step S102, the parameter setting unit 70 calculates the required point φ using equation (18) described later. - (t) and the base parameter θ - The distance d to (t) is calculated (step S102).
[0082] In step S103, the parameter setting unit 70 calculates the base parameter θ - Extract k base parameters from (t) in ascending order of distance d.
[0083] In step S104, the parameter setting unit 70 calculates the weight wj of each of the k extracted base parameters using equation (19).
[0084] In step S105, the parameter setting unit 70 calculates the average parameter θnew(t), which is the weighted average value of the k extracted base parameters, using equation (20).
[0085] In step S106, the parameter setting unit 70 stores the average parameter θnew(t) in the database 60 as the base parameter θ - Store as (t).
[0086] In step S107, the parameter setting unit 70 calculates the target parameter θnewc(t) by correcting the average parameter θnew(t) using equation (21). This correction is performed to prevent deterioration of control performance due to a sudden change in the average parameter θnew(t).
[0087] In step S108, the parameter setting unit 70 sets the target parameter θnewc(t) as a parameter of the interaction model 21 and a parameter of the force calculation model 41. As a result, appropriate parameters are set in the interaction model 21 and the force calculation model 41 according to the current interaction.
[0088] In step S109, the parameter setting unit 70 calculates the base parameter θ - (t), the base parameter θ whose distance dj from the average parameter θnew(t) is less than a predetermined value β - (t) is extracted as redundant data, and the redundant data is deleted from the database 60. The distance dj is expressed by equation (22) described later. When step S109 is completed, the process proceeds to step S16 in FIG.
[0089] 7 is a flowchart showing an example of processing by the work machine 200 when responding to a command value input from the automatic driving device 1. In step S301, the controller of the work machine 200 acquires the command value from the automatic driving device 1. The command value is a force vector Fr(t) calculated by the command value calculation unit 50.
[0090] In step S302, the controller of the work machine 200 detects the attitude of the work implement. Here, the controller of the work machine 200 detects the boom angle, arm angle, and bucket angle detected by the angle sensors as the attitude of the work implement.
[0091] In step S303, the controller of the work machine 200 calculates the torques generated in the boom, arm, and bucket based on the attitude of the work implement and specification data of the work implement. The specification data includes, for example, the mass and length of each of the boom, arm, and bucket.
[0092] In step S304, the controller of the work machine 200 calculates the force generated in each of the hydraulic cylinders of the boom, arm, and bucket from the torque generated in each of the boom, arm, and bucket.
[0093] In step S305, the controller of the work machine 200 calculates command values for the control valves of the boom, arm, and bucket from the forces generated by the boom, arm, and bucket, respectively.
[0094] In step S306, the controller of the work machine 200 detects the coordinate Xt(t) of the actual position of the tip of the bucket. The detected coordinate Xt(t) is input to the automatic driving device 1.
[0095] In this way, according to the automatic driving device 1 according to the present embodiment, the previously calculated base parameter θ -Based on (t), a target parameter θnewc(t) corresponding to the force norm u(t-1) calculated using the force calculation model 41 and the real position norms y(t), y(t-1), and y(t-2) acquired by the acquisition unit 10 is calculated, and the target parameter θnewc(t) is set as a parameter of the interaction model 21 and the force calculation model 41. Then, using the force calculation model 41 in which this target parameter θnewc(t) is set, a force norm u(t) for aligning the tip of the bucket with the target position is calculated, and a command value is calculated based on the calculated force norm u(t) and input to the work device. Here, the relationship between the real position norm y(t) and the force norm u(t) includes the characteristics of the interaction. Therefore, the characteristics of the interaction are reflected in the target parameters corresponding to the real position norm y(t) and the force norm u(t). As a result, parameters reflecting the characteristics of the interaction can be set in the interaction model 21 and the force calculation model 41. As a result, it is possible to generate an appropriate force in the work machine to match the position of the interaction site with the target position, taking into account the characteristics of the interaction.
[0096] The above embodiment can be modified as follows.
[0097] (1) The output variable of the force calculation model 41 and the input variable of the interaction model 21 are not limited to the force norm u(t) and may be a two-dimensional vector or a three-dimensional vector indicating the force. In this case, the force direction calculation unit 80 is not required, and the command value calculation unit 50 simply inputs the two-dimensional vector or the three-dimensional vector indicating the force to the work machine 200 as a command value.
[0098] (2) The output variable of the interaction model 21 is the norm y ∧ The coordinates are not limited to (t), but may be two-dimensional or three-dimensional coordinates of the estimated position.
[0099] (3) Interaction model 21 is a model constructed by assuming that bucket 201 moves on two-dimensional plane 202, but it may be a model constructed by assuming that bucket 201 moves on a three-dimensional plane. In this case, interaction model 21 is constructed in which the swinging movement of the upper swing body is taken into account in addition to the work implement.
[0100] (4) The interaction model 21 is a spring-mass-damper model, but any model may be used as long as it indicates the relationship between force data and estimated position data.
[0101] (5) The interaction model 21 includes the damper element 212 and the spring element 213, but either one of the elements may be omitted.
[0102] (6) The database 60 may store the target parameter θnewc(t) instead of the average parameter θnew(t). Furthermore, the database 60 may store the mass m(t), spring constant k(t), and viscosity coefficient c(t) of the interaction between the working device and the target as parameters. In this case, the parameter setting unit 70 uses equations (27) to (29) described below to set the mass m(t), spring constant k(t), and viscosity coefficient c(t) as parameters a ∧ 1(t), a ∧ 2(t), b ∧ 0(t). Then, the parameter setting unit 70 converts the converted parameter a ∧ 1(t), a ∧ 2(t), b ∧ 0(t) to calculate the target parameter θnewc(t).
[0103] (7) The parameter setting unit 70 may set the average parameter θnew(t) instead of the target parameter θnewc(t) as the parameter of the interaction model 21 and the force calculation model 41. In this case, the average parameter θnew(t) is an example of the target parameter.
[0104] (8) When the work machine 200 is configured as a demolition machine equipped with a crusher instead of a bucket, the force data may be, for example, data indicating the gripping force with which the demolition machine grips an object using the crusher.
[0105] (9) Although the tip of the bucket is used as the interaction site, a location other than the tip of the bucket (for example, the center of gravity or center of the bucket) may be used as the interaction site.
[0106] (10) Work machine 200 shown in FIG. 1 may not be an actual work machine, but may be a digital twin of a work machine reproduced in computer space.
[0107] (Example) Next, an embodiment of the present invention will be described. Fig. 8 is a block diagram showing the configuration of an automatic driving device according to the embodiment. This automatic driving device is configured with an internal model control system based on a database-driven approach. In this embodiment, a mathematical model of a hydraulic excavator is adopted as the work machine 200. This mathematical model is expressed by equation (32) described below.
[0108] The automatic driving device according to the embodiment includes a norm calculation unit 810, a subtraction unit 811, an internal model 820, a subtraction unit 830, a controller 840, a force vector calculation unit 850, a database 860, a parameter setting unit 870, a force direction calculation unit 880, and a norm calculation unit 890.
[0109] 8, blocks with the same names as those in FIG. 1 are the same as those in FIG. 1, and therefore will not be described. An internal model 820 corresponds to the interaction model 21. A controller 840 corresponds to the force calculation model 41.
[0110] The norm calculation unit 810 corresponds to the acquisition unit 10 in Fig. 1 and calculates the norm of the coordinate Xt(t) of the real position. The subtraction unit 811 and the subtraction unit 830 correspond to the deviation calculation unit 30 in Fig. 1. The subtraction unit 811 calculates the norm y of the estimated position from the norm y(t) of the real position. ∧A subtraction unit 830 subtracts this difference from the norm |R(t)| of the target position to calculate the deviation e(t). A norm calculation unit 890 calculates the norm |R(t)| of the target position from the coordinates R(t) of the target position.
[0111] The controlled object in the embodiment is considered as a discrete-time nonlinear system represented by equation (1).
[0112]
number
[0113] where y(t) is the output of the discrete-time nonlinear system, h(·) is the nonlinear function, and φ(t-1) is the information vector. The information vector φ(t-1) is defined as follows:
[0114]
number
[0115] u(t) represents the input, and ny and nu represent the order of the output (y(t)) and input (u(t)), respectively.
[0116] The internal model control system shown in Figure 1 can be expressed by the following equation:
[0117]
number
[0118] r(t) is the control target value, y ∧ (t) is the norm of the estimated position output from the internal model 820, λ is the design parameter of the filter, and n is the order of the filter. ∧ (z-1,t),B ∧ (z-1,t) contains polynomials that describe the discrete-time nonlinear system: A ∧ (z-1,t),B ∧ (z-1,t) is assumed to be a locally stable and minimum phase system.
[0119]
number
[0120] The controlled object expressed by equation (1) can be locally described by the following equation.
[0121]
number
[0122] In this case, using equation (26) that models the controlled object, equation (9) can be written as follows:
[0123]
number
[0124] From equation (10), the parameter θ(t) is written as follows: The parameter θ(t) is a parameter of the discrete-time nonlinear system.
[0125]
number
[0126] where f(·) represents a linear function. To calculate the local parameter θ(t) at each time, the required point φ  ̄ (t) and the base parameter θ stored in the database 860  ̄ (j) is defined as follows:
[0127]
number
[0128] θ  ̄ Details of (j) will be described later.
[0129] The process of adjusting the parameters of the controller 840 and the internal model 820 based on the database-driven approach is as follows.
[0130] [Step #1] Build the initial database The parameter setting unit 870 obtains the parameters of the equation (26) by the recursive least squares method using the input / output data of the controlled object. The parameter setting unit 870 sets the obtained parameters as the base parameters θ  ̄ The parameter setting unit 870 sets the base parameter θ  ̄ (j) is defined as the initial database Θ  ̄ Store in (j).
[0131]
number
[0132] N0 represents the number of base parameters.
[0133] [Step #2] Calculation of system parameters The parameter setting unit 870 determines the required point φ  ̄ (t) and each base parameter θ  ̄ The parameter setting unit 870 calculates the distance between each base parameter θ  ̄ (j) is rearranged in ascending order of distance.
[0134]
number
[0135] where N(t) is the required point φ  ̄ is the number of base parameters stored in the database 860 when (t) is given. i represents the i-th element of the request point and base parameters. Equation (18) is the base parameter θ  ̄ (j) and the hyperplane and required point φ by equation (9)  ̄ The parameter setting unit 870 determines the distance between d(φ  ̄ (t),θ ̄ Extract k base parameters from the smallest (j) and calculate the weight wj of each base parameter using the following formula.
[0136]
number
[0137] Here, nw is a design parameter for making the difference in weight according to distance more pronounced. Furthermore, the parameter setting unit 870 calculates k base parameters θ by the local linear averaging method shown in the following equation. - (t) and calculate the average parameter θnew(t) of - (t) is stored in the database 860.
[0138]
number
[0139] [Step #3] Input decision preprocessing To prevent deterioration of control performance due to a sudden change in the average parameter θnew(t) calculated in step #2, the parameter setting unit 870 corrects the average parameter θnew(t) using a first-order lag filter expressed by the following equation.
[0140]
number
[0141] α represents a design parameter of the filter and is determined by trial and error. The parameter setting unit 870 sets the average parameter θnew(t) corrected by equation (21) as the target parameter θnewc(t). Then, the parameter setting unit 870 applies the target parameter θnewc(t) to the controller 840 shown in equation (3) and the internal model 820 shown in equation (6).
[0142] [Step #4] Removing redundant data Considering the memory capacity and calculation cost of the implementation target, it is desirable to delete redundant data from the database 860. The parameter setting unit 870 deletes base parameters that satisfy the following conditions from among the base parameters.
[0143]
number
[0144] β represents a design parameter for selecting base parameters to be deleted, and is determined by trial and error.
[0145] If there are multiple base parameters that satisfy the condition of equation (22), parameter setting section 870 deletes only the nearest base parameter.
[0146] By performing the processes from [step #2] to [step #4] at each time, the target parameter θnewc(t) reflecting the current interaction is calculated online. The parameter setting unit 870 applies the sequentially calculated target parameter θnewc(t) to the controller 840 and the internal model 820.
[0147] Next, the interaction model of the hydraulic excavator will be described.
[0148] The interaction model is a model in which the interaction between the tip of the hydraulic excavator's attachment (working equipment including the bucket) and the environment (object) is the object to be controlled. A hydraulic excavator operates by combining attachment movement and swinging movement of the main body, but in this embodiment, the interaction model is constructed by limiting it to attachment movement only. The interaction between the attachment and the environment can be assumed to be locally represented by resistance generated by mass elements, spring elements, and damper elements. The object to be controlled can be represented by the model shown in Figure 9. The equation of motion for this model is shown below.
[0149]
number
[0150] Xt(t)=[xt(t),yt(t)] T indicates the position of the tip of the attachment. F(t)=[fx(t),fy(t)] T indicates the force vector at the tip of the attachment. m(t) indicates the mass of the interaction between the work device and the object. k(t) indicates the spring constant. c(t) indicates the viscosity coefficient.
[0151] The characteristics of the interaction between the tip of the hydraulic excavator attachment and the environment change depending on the operating conditions and environmental conditions, but in this embodiment, these changes are expressed by changes in the mass m(t), spring constant k(t), and viscosity coefficient c(t) of the interaction between the working implement and the object, which are model parameters. When equation (23) is discretized using the finite difference method, the discrete-time nonlinear system of the object to be controlled shown in the following equation is obtained.
[0152]
number
[0153] From equation (23), the parameter a ∧ 1(t),a ∧ 2(t),b ∧ 0(t) is expressed by the interaction model parameters m(t), k(t), and c(t) as shown in the following equation.
[0154]
number
[0155] Ts is the sampling time.
[0156] Next, the direction θf(t) of the force generated at the tip of the attachment will be described.
[0157] Equation (23) is a scalar value that indicates the force norm u(t). To control the hydraulic excavator, the force direction θf(t) is required. The force direction θf(t) is expressed as the coordinates of the tip of the attachment, Xt(t)=[xt(t),yt(t)], as shown in Figure 10. T and the coordinates of the target position R(t)=[rx(t),ry(t)] T It is determined using the following equation based on the relationship between
[0158]
number
[0159] Furthermore, the force vector Fr(t) of the force is determined by the following equation using u(t) calculated by equation (3) and equation (30): This allows control of the hydraulic excavator to be realized.
[0160]
number
[0161] Next, a simulation performed to verify the embodiment will be described.
[0162] In this simulation, a verification model was used in which the target task was excavation. Figure 11 shows an overview of the verification model. In the verification model, the attachment was considered to be a rigid two-link manipulator to simplify the configuration. The equations of motion for the verification model are shown below.
[0163]
number
[0164] where τ(t)=[τ1(t),τ2(t)] T indicates the joint torque at time t. Fre(t) indicates the excavation reaction force. M(t) indicates the inertia matrix. q(t)=[q1(t),q2(t)] Tindicates the joint angle. s(q·(t),q(t)) indicates the velocity squared term and gravity term. J(t) indicates the Jacobian matrix. The excavation reaction force Fre(t) is calculated using Rankine's passive earth pressure Frp(t) using the following formula:
[0165]
number
[0166] γs(t) indicates the unit volume weight of the soil. h(t) indicates the height of the retaining wall. ψs(t) indicates the internal friction angle of the soil. γs(t) and ψs(t) are parameters that change depending on the soil type. The retaining wall height h(t) is calculated from the geometric relationship between the amount of soil in the bucket and the bucket angle. Assuming that the excavation reaction force Fre(t) occurs at the tip of the bucket in a direction perpendicular to the bucket opening, the excavation reaction force Fre(t) can be expressed by the following equation.
[0167]
number
[0168] Next, we will explain how to build an initial database using the verification model shown in Figure 11. First, the tip of the bucket is moved along a predetermined target trajectory. Here, joint torque is generated by PD control, and the tip of the manipulator follows it. Figure 12 is a table showing the values of various parameters used to build the initial database. The parameters are calculated by the recursive least squares method from the time-series data of the excavation force norm u(t) under each condition and the position norm y(t) of the manipulator tip relative to the excavation start point. The calculated parameters are stored as the initial database.
[0169] Next, the verification results will be described.
[0170] The results of a comparison between the comparative example in which the parameters were fixed and the example will be described. Various parameters shown in Figure 12 were used in this verification. The values of the soil parameters were set as follows so that the soil quality would change depending on the excavation depth.
[0171]
number
[0172] y2th1 and y2th2 represent the coordinates of the tip of the attachment that changes the soil parameters. Figs. 13 and 14 are graphs showing the simulation results of a comparative example. Figs. 15 and 16 are graphs showing the simulation results of an embodiment. In these graphs, the norm u(t) of the force input to the hydraulic excavator is normalized with the maximum value set to 100%. In Figs. 14 and 16, X2(t) indicated by a "◯" and R2(t) indicated by a "*" represent the coordinates of the tip of the attachment and the target coordinates, respectively, in the coordinate system of the manipulator in Fig. 11.
[0173] As shown in Figure 14, the comparative example is unable to represent the characteristics of the control object, which change sequentially, resulting in poor tracking of the target trajectory. Furthermore, as shown in Figure 13, oscillations occur in the input force norm u(t). On the other hand, as shown in Figure 16, in the example, parameters are calculated sequentially in response to changes in the attachment posture and soil type, as shown in Figure 15. Furthermore, oscillations in the input force norm u(t) are suppressed compared to the fixed parameter controller. Since it is desirable for the input force norm u(t) to have a stable value during implementation, the example is more suitable for implementation than the comparative example. This verification confirmed that the example exhibited a 61% improvement in tracking of the target trajectory compared to the comparative example. From the above, it was confirmed that the method of the example can adapt to changes in the unknown and time-varying work object and achieve excavation that can track the target trajectory. [Explanation of symbols]
[0174] 1: Automatic driving device 10: Acquisition part 20:Position estimation part 21: Interaction Model 30: Deviation calculation section 40: Force calculation section 41: Force calculation model 50: Command value calculation unit 60: Database 70: Parameter setting section 80: Force direction calculation unit 90:Target position acquisition section 100: Memory 200: Work machines
Claims
1. An automatic driving device for a work machine equipped with a work device including a part that interacts with an object, an acquisition unit that acquires actual position data indicating the actual position of the part; an estimation unit that estimates estimated actual position data by inputting estimated force data into a first model that defines a relationship between force data indicating a force generated in the part and the actual position data using a first parameter that indicates a characteristic of the interaction; a calculation unit that calculates a deviation between a difference between the estimated actual position data and the actual position data and target position data that indicates a target position of the part; a calculation unit that calculates the estimated force data by inputting the deviation into a second model that defines, using the first parameters, a relationship between the deviation and the force data for matching the actual position to the target position; a setting unit that calculates second parameters corresponding to the estimated actual position data and the estimated force data based on the first parameters calculated in the past, and sets the first parameters based on the second parameters; a command value calculation unit that calculates a command value for the work machine from the estimated force data, Autonomous driving device.
2. the estimated force data and the estimated actual position data are norms; The automatic driving device according to claim 1.
3. the actual position data and the target position data include coordinate data; a direction calculation unit that calculates a direction of a force generated in the part based on coordinate data indicated by the actual position data and coordinate data indicated by the target position data, the command value calculation unit calculates a force vector generated in the part based on the direction of the force and a norm of the estimated force data, and calculates the command value including the force vector. The automatic driving device according to claim 2.
4. The first parameter is defined using a mass of the interaction and at least one of a spring constant and a viscosity coefficient indicating the interaction. The automatic driving device according to claim 2 or 3.
5. the acquisition unit acquires from the work machine a notification indicating whether or not the interaction has started; the estimation unit, the calculation unit, the operation unit, the setting unit, and the command value calculation unit perform sequential processing while the interaction is occurring. The automatic driving device according to any one of claims 2 to 4.
6. the calculation unit calculates, as the deviation, a difference between a difference between a norm of the actual position data and a norm of the estimated actual position data and a norm of the target position data; The automatic driving device according to any one of claims 2 to 5.
7. The part is a tip of the working device. The automatic driving device according to any one of claims 1 to 6.
8. the work machine is a hydraulic excavator, The object is soil and sand, The force is an excavation force. The automatic driving device according to any one of claims 1 to 7.
9. Further comprising a database for storing the first parameter calculated in the past. The automatic driving device according to any one of claims 1 to 8.
Citation Information
Patent Citations
Automatic operation shovel
JP2001032330A
Construction machine
JP2017053160A
Wheel loader
WO2017033623A1
Shovel
WO2017047695A1
Shovel, and management device and support device for shovels
WO2018174154A1