Command generation system and command generation method
The command generation system addresses torque deviations in hydraulic actuators by calculating and correcting reference speed command values, enhancing tracking speed and accuracy of connected members in hydraulic excavators.
Patent Information
- Application Number
- PCT/JP2024/037568
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-02-02
- Filing Date
- 2024-10-22
- Publication Date
- 2025-08-07
AI Technical Summary
Existing systems face challenges in increasing the tracking speed at which the tips of multiple sequentially connected members in hydraulic actuators, such as those in a hydraulic excavator, follow a target trajectory due to torque deviations.
A command generation system that corrects reference speed command values to reduce torque deviations by calculating target and current torques, using inverse dynamics and linearization to generate control command values for hydraulic actuators.
Enhances the speed and accuracy with which the tips of connected members follow a target trajectory by correcting torque deviations, improving tracking performance.
Smart Images

Figure JP2024037568_07082025_PF_FP_ABST
Abstract
Description
Command generation system and command generation method
[0001] The present disclosure relates to a command generation system and a command generation method for a work machine, such as a hydraulic excavator, that includes a hydraulic actuator.
[0002] Some construction machines for civil engineering, inspection, transport, and other work use hydraulic actuators to move multiple sequentially connected members. For example, a hydraulic power shovel disclosed in Patent Document 1 has a boom connected to a rotating body including a driver's cab, an arm connected to the boom, and a bucket connected to the arm. The boom, arm, and bucket are driven by a boom cylinder, an arm cylinder, and a bucket cylinder, respectively.
[0003] Japanese Patent Application Publication No. 9-279633
[0004] In a system in which a plurality of sequentially connected members are operated by a hydraulic actuator, there is a demand for increasing the tracking speed in the control of the tips of the plurality of members to follow a target trajectory.
[0005] An object of the present disclosure is to provide a command generation system and a command generation method that can increase the tracking speed at which the tips of multiple sequentially connected members are caused to follow a target trajectory by a hydraulic actuator.
[0006] a control command value for controlling the speed of the hydraulic actuator by correcting the reference speed command value so as to reduce a torque deviation between the target torque and the current torque; and a control command value for controlling the speed of the hydraulic actuator by correcting the reference speed command value so as to reduce a torque deviation between the target torque and the current torque.
[0007] a reference speed command value indicating a target speed of the hydraulic actuator based on the target angle information; and correcting the reference speed command value so as to reduce a torque deviation between the target torque and the current torque, thereby generating a control command value for controlling the speed of the hydraulic actuator.
[0008] According to one aspect of the present disclosure, it is possible to increase the speed at which the tips of a plurality of sequentially connected members are caused to follow a target trajectory by a hydraulic actuator.
[0009] Fig. 2 is a schematic side view of a hydraulic excavator, which is an example of a work machine. Fig. 3 is a diagram showing a hydraulic circuit incorporated in the work machine of Fig. 1. Fig. 4 is a schematic configuration diagram of a control system for a work machine, including a controller, which is a command generation system according to a first embodiment. Fig. 5 is a block diagram showing the functional configuration of a processing circuit of the controller. Fig. 6 is a diagram illustrating a command generation system according to a second embodiment.
[0010] Hereinafter, an embodiment will be described with reference to the drawings.
[0011] 1 shows a work machine 1 in which a command generation system according to a first embodiment is used. In this embodiment, the work machine 1 is a hydraulic excavator 10.
[0012] The work machine 1 includes a plurality of members 11 connected in sequence from the base end toward the tip end. Specifically, as shown in FIG. 1 , the plurality of members 11 include a running body 12, a revolving body 13, a boom 14, an arm 15, and a bucket 16. The bucket 16 side is the tip end, and the running body 12 side opposite the bucket 16 is the base end. The running body 12 includes a pair of crawlers. A cabin 17 including a driver's seat and the like is mounted on the left front side of the revolving body 13. The revolving body 13 is rotatably connected to the running body 12. The boom 14 is rotatably connected to the revolving body 13. The arm 15 is rotatably connected to the boom 14. The bucket 16 is a work tool used to excavate earth and sand. The bucket 16 is rotatably connected to the arm 15.
[0013] In the following description, of any two adjacent members of the multiple members 11 connected in sequence, the member on the base end side will be referred to as the base end side member 11a, and the member on the tip end side will be referred to as the tip end side member 11b.
[0014] The work machine 1 includes a hydraulic circuit 2 shown in Fig. 2. The hydraulic circuit 2 includes a pump device 21, travel motors 31, 32, and a plurality of hydraulic actuators 33. The pump device 21 is connected to a valve unit 22 that includes a plurality of control valve devices 40, and the travel motors 31, 32 and the hydraulic actuators 33 are connected to this valve unit 22.
[0015] In this embodiment, the pump device 21 includes a variable displacement pump (a swash plate pump or a bent-axis pump) 21a with a variable displacement angle, and a regulator 21b that changes the displacement angle of the pump 21a. In this embodiment, the discharge flow rate of the pump device 21 is controlled by an electric positive control method.
[0016] The travel motors 31 and 32 respectively drive a pair of crawlers of the travel body 12 .
[0017] Each hydraulic actuator 33 is disposed for each set of adjacent base-side members 11 a and tip-side members 11 b, in other words, for each joint. Each hydraulic actuator 33 rotates the tip-side member 11 b relative to the base-side member 11 a of the corresponding set. As shown in FIG. 2 , the hydraulic actuator 33 includes a swing motor 34, a boom cylinder 35, an arm cylinder 36, and a bucket cylinder 37.
[0018] The swing motor 34 rotates the swing unit 13 relative to the running unit 12 around a rotation axis Jsw that extends at the center of the running unit 12 in a direction perpendicular to the front-rear and width directions of the running unit 12 .
[0019] As shown in Fig. 1, the boom cylinder 35 is disposed between the revolving unit 13 and the boom 14. The boom cylinder 35 rotates the boom 14 relative to the revolving unit 13 around a rotation axis Jbm that extends in the width direction of the revolving unit 13 at the base end of the boom 14. The base end of the boom cylinder 35 is rotatably connected to the revolving unit 13, and the tip end of the boom cylinder 35 is rotatably connected to the center of the boom 14. As shown in Fig. 1, in this embodiment, the base end of the boom cylinder 35 is a head portion, and the tip end of the boom cylinder 35 is a rod portion.
[0020] The arm cylinder 36 is disposed between the boom 14 and the arm 15. The arm cylinder 36 rotates the arm 15 relative to the boom 14 around a rotation axis Jam that extends in the width direction of the rotating body 13 at the tip of the boom 14. The base end of the arm cylinder 36 is rotatably connected to the center of the boom 14, and the tip end of the arm cylinder 36 is rotatably connected to the base end of the arm 15. As shown in FIG. 1 , in this embodiment, the base end of the arm cylinder 36 is a head portion, and the tip end of the arm cylinder 36 is a rod portion.
[0021] The bucket cylinder 37 is disposed between the arm 15 and the bucket 16. The bucket cylinder 37 rotates the bucket 16 relative to the arm 15 around a rotation axis Jbt that extends in the width direction of the rotating body 13 at the tip of the arm 15. The base end of the bucket cylinder 37 is rotatably connected to the base end of the arm 15. The tip end of the bucket cylinder 37 is connected to the tip of the arm 15 and the back surface of the bucket 16 via a first auxiliary link 18a and a second auxiliary link 18b. As shown in FIG. 1 , in this embodiment, the base end of the bucket cylinder 37 is a head portion, and the tip end of the bucket cylinder 37 is a rod portion.
[0022] 2 , the multiple control valve devices 40 include two travel motor control valve devices 41, a swing control valve device 42, a boom control valve device 43, an arm control valve device 44, and a bucket control valve device 45. The two travel motor control valve devices 41 control the flow of hydraulic oil supplied from the pump device 21 to the travel motors 31, 32, respectively. The swing control valve device 42 controls the flow of hydraulic oil supplied from the pump device 21 to the swing motor 34. The boom control valve device 43 controls the flow of hydraulic oil supplied from the pump device 21 to the boom cylinder 35. The arm control valve device 44 controls the flow of hydraulic oil supplied from the pump device 21 to the arm cylinder 36. The bucket control valve device 45 controls the flow of hydraulic oil supplied from the pump device 21 to the bucket cylinder 37.
[0023] 2, multiple control valve devices 40 are incorporated into one valve unit 22, but the valve unit 22 may be composed of multiple units, or multiple control valve devices 40 may be incorporated into multiple, mutually independent units. Furthermore, the configuration of the control valve device 40 is not particularly limited as long as it is capable of controlling the flow of hydraulic oil supplied to or discharged from the corresponding actuator. For example, the control valve device 40 may be an electromagnetic spool valve. Alternatively, the control valve device 40 may include a pilot-operated spool valve and an electromagnetic proportional valve that outputs pilot pressure to the pilot-operated spool valve.
[0024] Figure 3 shows a control system 4 for a work machine 1 that includes a controller 7, which is a command generation system of this embodiment. As shown in Figure 3, the control system 4 includes a plurality of attitude angle sensors 5, the controller 7, and the plurality of control valve devices 40 and the pump device 21 that are controlled by the controller 7. The plurality of attitude angle sensors 5, the plurality of control valve devices 40, and the pump device 21 are connected to the controller 7 by wire or wirelessly.
[0025] The attitude angle sensor 5 detects the attitude of the work machine 1 as attitude information. In this embodiment, the attitude angle sensor 5 includes a vehicle attitude angle sensor 51, a swing attitude angle sensor 52, a boom attitude angle sensor 53, an arm attitude angle sensor 54, and a bucket attitude angle sensor 55. The vehicle attitude angle sensor 51 detects the vehicle attitude angle, which is the inclination angle of the traveling body 12 with respect to the horizontal plane. The swing attitude angle sensor 52 detects the swing attitude angle, which is the angle of the fore-and-aft direction of the rotating body 13 with respect to the fore-and-aft direction of the traveling body 12 on a plane perpendicular to the rotation axis Jsw. The boom attitude angle sensor 53 detects the boom attitude angle, which is the inclination angle of the boom 14 with respect to the horizontal plane. The arm attitude angle sensor 54 detects the arm attitude angle, which is the inclination angle of the arm 15 with respect to the horizontal plane. The bucket attitude angle sensor 55 detects the bucket attitude angle, which is the inclination angle of the bucket 16 with respect to the horizontal plane.
[0026] The controller 7 includes a processing circuit 70. The processing circuit 70 includes a processor 71, a system memory 72, and a storage memory 73. The processor 71 may include a CPU. The system memory 72 may include a RAM. The storage memory 73 may include a hard disk, a flash memory, or a combination thereof. The storage memory 73 stores a program 73a.
[0027] The controller 7 may include at least one user interface 74. The user interface 74 may be located in the cockpit. For example, the user interface 74 includes an input interface and an output interface. For example, the input interface may be a touch panel, a steering wheel, a lever, a switch, or the like. For example, the output interface may be a display.
[0028] The controller 7 may include at least one communication interface 75. The communication interface 75 includes an interface that communicatively connects an external device to the controller 7 via a wired or wireless connection. The communication interface 75 may include an interface that communicatively connects to a communication network such as the Internet via a wired or wireless connection.
[0029] In this embodiment, a trajectory tracking program is included in the programs 73a stored in the storage memory 73. The trajectory tracking program is a program for executing trajectory tracking control that causes the tip of the bucket 16, which is the tip of the multiple members 11, to follow a target trajectory using the hydraulic actuator 33. In this embodiment, the trajectory tracking control is control for causing the hydraulic excavator 10 to perform an excavation operation in an automatic manner.
[0030] In the trajectory tracking control of this embodiment, the hydraulic excavator 10 is modeled as a four-link mechanism including a swing link 1a, a boom link 1b, an arm link 1c, and a bucket link 1d corresponding to the swing unit 13, the boom 14, the arm 15, and the bucket 16, respectively, and calculations are performed based on this model. As shown in FIG. 1 , the swing link 1a is represented by a straight line between the swing axis Jsw and the swing axis Jbm of the swing unit 13. The boom link 1b is represented by a straight line between the swing axis Jbm and the swing axis Jam of the boom 14. The arm link 1c is represented by a straight line between the swing axis Jam and the swing axis Jbt of the arm 15. The bucket link 1d is represented by a straight line between the swing axis Jbt and the tip of the bucket 16.
[0031] In addition to the four links of the rotating body 13, the boom 14, the arm 15, and the bucket 16, the hydraulic excavator 10 also includes a boom cylinder 35, an arm cylinder 36, a bucket cylinder 37, and first and second auxiliary links 18a, 18b. In other words, the hydraulic excavator 10 is actually a multi-link mechanism including five or more links. In this embodiment, the reason for simplifying a multi-link mechanism including five or more links such as the hydraulic excavator 10 as a model of a four-link mechanism is to reduce the amount of calculation in trajectory tracking control.
[0032] In the following description, the rotating body 13, boom 14, arm 15, and bucket 16, which correspond to the links 1a, 1b, 1c, and 1d included in the model, may be referred to as main links. Furthermore, links not included in the model, such as the boom cylinder 35, arm cylinder 36, bucket cylinder 37, and first and second auxiliary links 18a and 18b, may be referred to as slave links to distinguish them from the main links.
[0033] In this embodiment, in order to suppress a decrease in calculation accuracy that may result from simplification of the model, a slave link correction unit 85 (described later) performs parameter correction that takes into account slave links that were not included in the model. The slave link correction unit 85 will be described in detail later.
[0034] 4 is a block diagram showing the functional configuration of the processing circuit 70 of the controller 7. The processing circuit 70 functions as a target angle acquisition unit 81, a reference speed calculation unit 82, a speed correction unit 83, a four-link inverse dynamics calculation unit 84, a slave link correction unit 85, a target torque calculation unit 86, and a hydraulic control unit 87, by the processor 71 executing a trajectory tracking program read from, for example, the storage memory 73. Below, the processing of each of the functional units 81, 82, 83, 84, 85, 86, and 87 in the trajectory tracking control will be described.
[0035] The target angle acquisition unit 81 acquires target angle information that indicates the target angle θtar of the tip side member 11b relative to the base side member 11a. The target angle information is information for operating the multiple hydraulic actuators 33 so that the tips of the multiple members 11, i.e., the tip of the bucket 16, follow a predetermined target trajectory when the work machine 1 is operated automatically. In other words, the target angle θtar is the target angle for causing the tip of the bucket 16 to follow the target trajectory. The target angle θtar is expressed by the following equation 1.
[0036]
[0037] In this embodiment, the target angle acquisition unit 81 acquires target angle information by generating a time-series target angle θtar based on, for example, a trajectory tracking program stored in the memory 73. Note that the time-series target angle θtar may be stored in advance in the memory 73, and the target angle acquisition unit 81 may acquire the target angle information by reading from the memory 73. The target angle acquisition unit 81 may also receive target angle information from outside the work machine 1.
[0038] The reference speed calculation unit 82 calculates a reference speed command value based on the target angle information acquired by the target angle acquisition unit 81. The reference speed command value indicates a target speed of each hydraulic actuator 33 according to the target angle θtar. When the speed of each hydraulic actuator 33 is made to follow the target speed indicated by the reference speed command value without time delay, the tip of the bucket 16 follows the target trajectory.
[0039] For example, the reference speed calculation unit 82 converts the target angle θsw_tar into a rotation angle of the swing motor 34 corresponding to the target angle θsw_tar, and by time-differentiating the rotation angle, calculates the rotation speed of the swing motor 34 as a reference speed of the swing motor 34. Furthermore, for example, the reference speed calculation unit 82 converts the target angle θbm_tar into a stroke of the boom cylinder 35 corresponding to the target angle θbm_tar, and by time-differentiating the stroke, calculates the reference speed of the boom cylinder 35. The reference speed calculation unit 82 calculates the reference speed of the arm cylinder 36 from the target angle θam_tar, and calculates the reference speed of the bucket cylinder 37 from the target angle θbt_tar, using the same calculation method as for the reference speed of the boom cylinder 35.
[0040] The speed correction unit 83 corrects the reference speed command value in accordance with the torque deviation Δτ. The torque deviation Δτ is the difference between the target torque τtar and the current torque τcur. The current torque τcur is calculated by the four-link inverse dynamics calculation unit 84, and the target torque τtar is calculated by the target torque calculation unit 86.
[0041] The calculation of the current torque τcur and the target torque τtar will now be described. The current torque τcur is the torque currently acting on the joint between the base-end side member 11a and the tip-end side member 11b, that is, the torque that rotates the tip-end side member 11b relative to the base-end side member 11a. The current torque τcur is expressed by the following equation 2.
[0042]
[0043] The four-link inverse dynamics calculation unit 84 estimates the current torque τcur by inverse dynamics calculation using the following equation 3, based on current angle information indicating the current angle θ of the tip-side member 11b relative to the base-side member 11a. The current angle θ is calculated by the processing circuit 70 from the attitude information detected by the attitude angle sensor 5. The current angle θ is expressed by the following equation 4.
[0044]
[0045]
[0046] In the above formula 3, M(θ) is a matrix containing the inertia tensor around each rotation axis as its component. h(θ, dθ / dt) is a matrix whose components are the centrifugal force and Coriolis force around each rotation axis. G(θ) is a matrix whose components are the gravity of each member 11. M(θ), h(θ, dθ / dt), and G(θ) are respectively expressed by the following formulas 5, 6, and 7.
[0047]
[0048]
[0049]
[0050] Each component of M(θ) and G(θ) is a function with the current angle θ as a variable, and each component of h(θ, dθ / dt) is a function with the current angle θ and its time-differentiated angular velocity dθ / dt as variables. Furthermore, each component of M(θ), h(θ, dθ / dt), and G(θ) is calculated by inverse dynamics calculation using the four-link inverse dynamics calculation unit 84 based on parameters related to the rotating unit 13, the boom 14, the arm 15, and the bucket 16, i.e., parameters related to the main link (hereinafter referred to as main link parameters). The main link parameters include, for example, the mass of the main link and the center of gravity position of the main link. Since a method for calculating each component of M(θ), h(θ, dθ / dt), and G(θ) based on the main link parameters is known, a description thereof will be omitted. However, in this embodiment, the main link parameters are corrected by the slave link correction unit 85, taking into account the slave link not included in the model.
[0051] Specifically, the slave link corrector 85 acquires a plurality of master link parameters. The slave link corrector 85 also acquires parameters related to a plurality of slave links that were not included in the model (hereinafter referred to as slave link parameters). These parameters are stored in advance in the memory 73, for example.
[0052] The slave link parameters may include the mass and center of gravity of each of the boom cylinder 35, arm cylinder 36, bucket cylinder 37, and first and second auxiliary links 18 a, 18 b. The mass of the hydraulic cylinder, which is a slave link parameter, may include the mass of each of the head portion and rod portion of the hydraulic cylinder.
[0053] The slave link correcting unit 85 corrects the plurality of master link parameters based on the current angle information and the plurality of slave link parameters. The four-link inverse dynamics calculating unit 84 calculates the current torque τcur by inverse dynamics calculation using the plurality of master link parameters corrected by the slave link correcting unit 85.
[0054] The method of correcting the master link parameters based on the slave link parameters is not particularly limited. In this embodiment, the slave link corrector 85 corrects the mass of the master link by adding the mass of some or all of the slave links connected to the master link to the mass of the master link. More specifically, the slave link corrector 85 adds a mass of the master link connected to the slave link that is a predetermined ratio (including 100%) of the total mass of the slave link. The ratio may be a fixed value or a variable value that depends on the current angle θ.
[0055] For example, the boom cylinder 35, which is one of the slave links, is connected to both the revolving unit 13 and the boom 14. The slave link correction unit 85 adds a predetermined proportion of the mass of the boom cylinder 35 to the mass of the revolving unit 13, and adds the remaining mass of the boom cylinder 35 to the mass of the boom 14.
[0056] In addition, in this embodiment, the slave link correcting unit 85 calculates the center of gravity of the main link by combining the center of gravity of the main link with the centers of gravity of some or all of the slave links connected to the main link.
[0057] In this way, the master link parameters are corrected based on the slave link parameters, so that it is possible to suppress a decrease in the estimation accuracy of the current torque τcur that may result from simplifying the multi-link mechanism into a model with fewer link mechanisms.
[0058] The slave link correcting unit 85 may not only correct the master link parameters, but also correct the current torque τcur calculated by the four-link inverse dynamics calculation unit 84. For example, the slave link correcting unit 85 may calculate, as the correction torque, the torque due to the weight of the slave link that would actually act because the slave link is connected to the master link. The slave link correcting unit 85 may then correct the current torque τcur by adding the calculated correction torque to the current torque τcur estimated by the four-link inverse dynamics calculation unit 84 through the inverse dynamics calculation using Equation 3.
[0059] Next, calculation of the target torque τtar will be described. The target torque τtar is a torque for making the current angle θ follow the target angle θtar. In other words, the target torque τtar is a torque that should be applied to the joint between the base-side member 11a and the tip-side member 11b in order to make the tip of the bucket 16 follow the target trajectory. The target torque τtar is expressed by the following equation 8.
[0060]
[0061] The target torque calculation unit 86 calculates the target torque τtar based on the current angle information and the target angle information. The method for calculating the target torque τtar will be described below.
[0062] Since the system represented by Equation 3 is nonlinear, linear control theory cannot be applied. For this reason, in this embodiment, the nonlinear system represented by Equation 3 is calculated as an equivalent controllable linear system by linearization feedback. Specifically, by linearizing Equation 3, the following linear state equation, Equation 9, is obtained, in which the state variable is X and the input is u.
[0063]
[0064] The state variable X and the input u in equation 9 are expressed by the following equations 10 and 11, respectively.
[0065]
[0066]
[0067] In the above formula 10, Δθ is the angle deviation between the target angle θtar and the current angle θ, and dΔθ / dt is the angular velocity deviation obtained by time-differentiating the angle deviation Δθ. In the above formula 11, M(θ), h(θ, dθ / dt), and G(θ) are the same as M(θ), h(θ, dθ / dt), and G(θ) calculated by the four-link inverse dynamics calculation unit 84.
[0068] Furthermore, in this embodiment, a state feedback F is set by a known pole placement method to cause the state variable X in equation 9 to converge to an arbitrary target value. Specifically, an eigenvalue p corresponding to the dynamics of each axis in equation 9 above is set to determine the feedback gain F, and the feedback gain F is incorporated into equation 3 above, resulting in equation 12 below.
[0069]
[0070] The feedback gain F may be calculated by a method other than the pole placement method. For example, the feedback gain F may be calculated by using a known optimal regulator method in which a certain evaluation function is set and the feedback gain F is determined so as to minimize the evaluation function.
[0071] The target torque calculation unit 86 calculates the target torque τtar based on the above-mentioned linear state equation, Equation 9, the target angle θtar, and the current angle θ. That is, the target torque calculation unit 86 calculates the target torque τtar by combining Equation 12, which is obtained based on Equation 9, with the acquired target angle θtar and the current angle θ.
[0072] The speed correction unit 83 obtains a torque deviation Δτ, which is the difference between the target torque τtar and the current torque τcur, and corrects the reference speed command value by PID control so that the torque deviation Δτ becomes smaller. In other words, if the current torque τcur is insufficient with respect to the target torque τtar, the speed correction unit 83 corrects the speed command value so that the current torque τcur becomes larger, and if the current torque τcur is in excess of the target torque τtar, the speed correction unit 83 corrects the speed command value so that the current torque τcur becomes smaller.
[0073] The hydraulic control unit 87 generates control command values for the control objects based on the speed command values corrected by the speed correction unit 83, and outputs the control command values to each control object. For example, information indicating the correspondence between speed command values and control command values is stored in advance in the memory 73, and the hydraulic control unit 87 converts the speed command value corrected by the speed correction unit 83 into a control command value using the correspondence information. In this embodiment, the control command value includes a valve position command value and a pump flow rate command value. The hydraulic control unit 87 outputs the generated pump flow rate command value to the pump device 21, and outputs the valve position command values to the swing control valve device 42, the boom control valve device 43, the arm control valve device 44, and the bucket control valve device 45.
[0074] As described above, in this embodiment, the target torque and current torque are calculated for each joint between the multiple members 11, and the reference speed command value is corrected based on the torque deviation Δτ between the target torque τtar and the current torque τcur. This makes it possible to generate a control command value that absorbs torque deviations caused by the nonlinearity of the hydraulic actuator 33 (for example, oil compressibility, flow force, etc.). This makes it possible to improve the tracking speed and tracking accuracy when controlling the tip of the bucket 16 to follow the target trajectory using the hydraulic actuator 33.
[0075] Second Embodiment Fig. 5 is a diagram illustrating a command generation system 100 according to a second embodiment. The command generation system 100 comprises a plurality of attitude angle sensors 5 included in the work machine 1, and a command generation device 9 that is an external device of the work machine 1. The work machine 1 is the same as that described in the first embodiment, and therefore a description thereof will be omitted. In the first embodiment, the trajectory tracking processing was executed by the controller 7 of the work machine 1, but in the second embodiment, part or all of the trajectory tracking processing is executed by the command generation device 9.
[0076] The command generating device 9 is disposed outside the work machine 1. The command generating device 9 is configured to be able to communicate with the controller 7 of the work machine 1. The command generating device 9 may be a server, or may be an information processing terminal that can be operated by a user.
[0077] The command generating device 9 includes a processing circuit 90. The processing circuit 90 includes a processor 91, a system memory 92, and a storage memory 93. The command generating device 9 also includes at least one user interface 94 and at least one communication interface 95. The hardware configuration of the command generating device 9 is generally the same as the hardware configuration of the controller 7, and therefore a description thereof will be omitted.
[0078] The command generating device 9 receives attitude information obtained by the attitude angle sensor 5 from the work machine 1. The processing circuit 90 receives the current angle θ from the work machine 1, but otherwise executes the same processing as the processing described in the first embodiment. That is, the processing circuit 90 functions as the functional units 81, 82, 83, 84, 85, 86, and 87 described in the first embodiment. The control command values generated by the command generating device 9 are sent to the controller 7 of the work machine 1, and the controller 7 sends the received control command values to the various control targets. Note that the processing circuit 90 may execute only some of the functional units 81, 82, 83, 84, 85, 86, and 87 described in the first embodiment.
[0079] In this embodiment, the same effects as in Embodiment 1 can be obtained. Furthermore, because the calculations for generating the control command values are executed by equipment external to the work machine 1, the amount of calculations in the controller 7 of the work machine 1 can be reduced.
[0080] Other Embodiments The present disclosure is not limited to the above-described embodiments, and the configurations thereof may be changed, added, or deleted.
[0081] For example, in the first and second embodiments, a hydraulic excavator was shown as an example of a work machine, but the work machine may be a construction machine other than a hydraulic excavator. Furthermore, the work machine may be configured to include a plurality of members connected in sequence from the base end to the tip end, and a plurality of hydraulic actuators that rotate the tip end members relative to the base end members. For example, the work machine does not have to be a construction machine, and may be a hydraulically driven humanoid robot or industrial robot.
[0082] For example, the traveling body 12 may include a plurality of wheels instead of a pair of crawlers. In this case, the hydraulic circuit 2 may not include the travel motors 31 and 32, and the wheels may be driven by an engine or an electric motor.
[0083] Although the discharge flow rate of the pump device 21 is controlled by an electrical positive control method, the discharge flow rate of the pump device 21 may be controlled by another method, such as a hydraulic negative control method. In this case, the processing circuit does not need to generate a pump flow rate command value.
[0084] Furthermore, in the first and second embodiments described above, trajectory tracking control for automatic operation of a work machine has been explained, but the processing of the processing circuit described in the first and second embodiments can also be applied to manual operation of a work machine by an operator. That is, the target angle information may be generated in response to an operation by the operator, such as operating a lever. When the target angle information is generated in response to manual operation by the operator, the operator may operate the work machine 1 while riding on the work machine 1, or may remotely operate it from outside the work machine 1, for example, from the command generating device 9 of the second embodiment.
[0085] The current angle θ may be information obtained by calculation by the processing circuit from attitude information detected by the attitude angle sensor, or may be information received from an external source.
[0086] In the above embodiment, a method of calculating the target torque using the linear state equation of Equation 9 obtained by linearizing the nonlinear equation of motion of Equation 3 has been shown, but the method of calculating the target torque is not limited to this. For example, the target torque may be calculated by substituting the target angle into Equation 3. Alternatively, for example, the target torque may be determined by performing a predetermined calculation using predetermined parameters (for example, three parameters: a proportional element, an integral element, and a differential element) on the deviation between the target angle and the current angle for each joint.
[0087] Although the boom cylinder 35, the arm cylinder 36, the bucket cylinder 37, and the first and second auxiliary links 18a, 18b have been described as slave links, the slave link correction unit does not need to use all of these parameters to correct the main link parameters. For example, the slave link correction unit may use only the parameters related to the hydraulic cylinder 33 to correct the main link parameters.
[0088] As described above, the above embodiments have been described as examples of the technology disclosed in this application. However, the technology of the present disclosure is not limited to these and can be applied to embodiments in which modifications, substitutions, additions, omissions, etc. are made as appropriate. Furthermore, the components described in the above embodiments can be combined to create new embodiments. For example, some configurations or methods in one embodiment may be applied to other embodiments, and some configurations in an embodiment may be separated and arbitrarily extracted from other configurations in that embodiment. Furthermore, the components described in the accompanying drawings and detailed description include not only components essential for solving the problem, but also components that are not essential for solving the problem, and are used to illustrate the technology. Two blocks shown in a sequential order in a flowchart may be executed simultaneously or in reverse order, depending on the circumstances.
[0089] The functions of the elements disclosed herein can be performed using circuits or processing circuits, including general-purpose processors, special-purpose processors, integrated circuits, application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), conventional circuits, and / or combinations thereof, configured or programmed to perform the disclosed functions. Processors are considered processing circuits or circuits because they include transistors and other circuitry. In this disclosure, a circuit, unit, or means is hardware that performs the recited functions or hardware that is programmed to perform the recited functions. The hardware may be hardware disclosed herein or other known hardware that is programmed or configured to perform the recited functions. Where the hardware is a processor, which is considered a type of circuit, the circuit, means, or unit is a combination of hardware and software, and the software is used to configure the hardware and / or processor.
[0090] The program disclosed herein may be stored in a computer-readable storage medium. The storage medium is a non-transitory, tangible medium. The storage medium may be built into or external to a computer (e.g., a mobile information terminal, a personal computer, a server, etc.). The storage medium may include RAM, ROM, EEPROM, storage, etc., and may be, for example, a hard disk, a flash memory, an optical disk, etc. The program stored in the storage medium may be executed on a computer to which the storage medium is directly connected, or on a computer connected to the storage medium via a communication network (e.g., the Internet).
[0091] Each of the following aspects is a disclosure of a preferred embodiment.
[0092] acquire current angle information indicating a current angle of the tip-side member relative to the base-end member; estimate a current torque for rotating the tip-side member relative to the base-end member based on the current angle information by inverse dynamics calculation; acquire target angle information indicating a target angle of the tip-side member relative to the base-end member; calculate a target torque for causing the current angle to follow the target angle based on the target angle information; calculate a reference speed command value indicating a target speed of the hydraulic actuator based on the target angle information; and generate a control command value for controlling the speed of the hydraulic actuator by correcting the reference speed command value so as to reduce a torque deviation, which is a deviation between the target torque and the current torque.
[0093] According to the above configuration, a target torque and a current torque are calculated for each joint between multiple members, and a reference speed command value is corrected based on the torque deviation between the target torque and the current torque. This makes it possible to generate a control command value that absorbs torque deviations caused by the nonlinearity of the hydraulic actuator. This makes it possible to increase the tracking speed when controlling the tips of multiple members to follow a target trajectory using hydraulic actuators.
[0094] [Aspect 2] The command generation system according to Aspect 1, wherein the plurality of hydraulic actuators include a plurality of hydraulic cylinders, and estimating the current torque includes: correcting a plurality of master link parameters including masses of the plurality of members based on the acquired current angle information and a plurality of slave link parameters including masses of the plurality of hydraulic cylinders; and calculating the current torque by inverse dynamics calculation using the corrected plurality of master link parameters.
[0095] According to the above configuration, it is possible to reduce the amount of calculation required to estimate the current torque by inverse dynamics calculation and improve the estimation accuracy.
[0096] [Aspect 3] The command generation system according to Aspect 1 or 2, wherein the number of sets of the base-end side members and the tip-end side members is two or more, and calculating the target torque includes calculating the target torque based on a linear state equation obtained by linearizing a nonlinear equation of motion of the plurality of members, the linear state equation including, as state variables, an angle deviation that is a deviation between the target angle and the current angle, and an angular velocity deviation that is a time-differentiated version of the angle deviation.
[0097] According to the above configuration, it is possible to reduce calculation costs and improve the accuracy of tracking the target angle compared to when the target torque is calculated without linearizing the nonlinear equation of motion into a linear state equation.
[0098] [Aspect 4] The command generation system according to any one of Aspects 1 to 3, wherein the work machine includes a pump that discharges hydraulic fluid, and a control valve that is arranged in a fluid path that connects the pump and the hydraulic actuator, and the control command value includes at least one of a pump flow rate command value for changing the flow rate of hydraulic fluid discharged from the pump, or a valve position command value for changing the position of the control valve.
[0099] [Aspect 5] The command generation system according to any one of Aspects 1 to 4, wherein the target angle information is information for operating the plurality of hydraulic actuators so that tips of the plurality of members follow a predetermined target trajectory through automatic operation of the work machine.
[0100] According to the above configuration, the speed at which a plurality of members follow the target trajectory during automatic operation of the work machine can be increased.
[0101] Aspect 6 is the command generation system according to any one of Aspects 1 to 5, wherein the work machine is a hydraulic excavator, the plurality of members include a traveling body, a rotating body rotatably connected to the traveling body, a boom rotatably connected to the rotating body, an arm rotatably connected to the boom, and a bucket rotatably connected to the arm, and the plurality of hydraulic actuators include a swing motor that generates torque to rotate the rotating body relative to the traveling body, a boom cylinder that generates torque to rotate the boom relative to the rotating body, an arm cylinder that generates torque to rotate the arm relative to the boom, and a bucket cylinder that generates torque to rotate the bucket relative to the arm.
[0102] According to the above configuration, the speed at which the tip of the bucket of the hydraulic excavator follows the target trajectory can be increased.
[0103] [Aspect 7] A command generation method for a work machine including a plurality of members connected in sequence from a base end side to a tip end side, and a plurality of hydraulic actuators arranged in sets of adjacent base end members and tip end members among the plurality of members, the hydraulic actuators rotating the tip end members relative to the base end members, the command generation method comprising: acquiring current angle information indicating a current angle of the tip end member relative to the base end member; estimating a current torque for rotating the tip end member relative to the base end member by inverse dynamics calculation based on the current angle information; acquiring target angle information indicating a target angle of the tip end member relative to the base end member; calculating a target torque for causing the current angle to follow the target angle based on the target angle information; calculating a reference speed command value indicating a target speed of the hydraulic actuator based on the target angle information; and generating a control command value for controlling the speed of the hydraulic actuator by correcting the reference speed command value so as to reduce a torque deviation, which is a deviation between the target torque and the current torque.
[0104] According to this method, a target torque and a current torque are calculated for each joint between multiple members, and a reference speed command value is corrected based on the torque deviation between the target torque and the current torque. This makes it possible to generate a control command value that absorbs torque deviations caused by the nonlinearity of the hydraulic actuator. This makes it possible to increase the tracking speed when controlling the tips of multiple members to follow a target trajectory using a hydraulic actuator.
[0105] REFERENCE SIGNS LIST 1: Work machine 5: Attitude angle sensor 7: Controller 11a: Base end member 11b: Tip end member 12: Traveling body 13: Swing body 14: Boom 15: Arm 16: Bucket 18a: First auxiliary link 18b: Second auxiliary link 21: Pump device 33: Hydraulic actuator 34: Swing motor 35: Boom cylinder 36: Arm cylinder 37: Bucket cylinder 70, 90: Processing circuit
Claims
1. A command generation system for a work machine including a plurality of members connected in sequence from a base end side to a tip end side, and a plurality of hydraulic actuators arranged in sets of adjacent base end members and tip end members among the plurality of members, for rotating the tip end members relative to the base end members, the command generation system having a processing circuit configured to: acquire current angle information indicating a current angle of the tip end member relative to the base end member; estimate a current torque for rotating the tip end member relative to the base end member based on the current angle information by inverse dynamics calculation; acquire target angle information indicating a target angle of the tip end member relative to the base end member; calculate a target torque for causing the current angle to follow the target angle based on the target angle information; calculate a reference speed command value indicating a target speed of the hydraulic actuator based on the target angle information; and correct the reference speed command value so as to reduce a torque deviation, which is the deviation between the target torque and the current torque, to generate a control command value for controlling the speed of the hydraulic actuator.
2. The command generation system according to claim 1, wherein the plurality of hydraulic actuators include a plurality of hydraulic cylinders, and estimating the current torque includes: correcting a plurality of master link parameters including masses of the plurality of members based on the acquired current angle information and a plurality of slave link parameters including masses of the plurality of hydraulic cylinders; and calculating the current torque by inverse dynamics calculation using the corrected plurality of master link parameters.
3. The command generation system according to claim 1 or 2, wherein the number of sets of the base-end side members and the tip-end side members is two or more, and calculating the target torque includes calculating the target torque based on a linear state equation obtained by linearizing a nonlinear equation of motion of the plurality of members, the linear state equation including, as state variables, an angle deviation which is the deviation between the target angle and the current angle, and an angular velocity deviation which is the time-differentiated angle deviation.
4. A command generation system as described in claim 1 or 2, wherein the work machine includes a pump that discharges hydraulic fluid and a control valve arranged in a fluid path connecting the pump and the hydraulic actuator, and the control command value includes at least one of a pump flow rate command value for changing the flow rate of hydraulic fluid discharged from the pump, or a valve opening command value for changing the opening of the control valve.
5. A command generation system as described in claim 1 or 2, wherein the target angle information is information for operating the multiple hydraulic actuators so that the tips of the multiple members follow a predetermined target trajectory when the work machine is automatically driven.
6. The command generation system according to claim 1 or 2, wherein the work machine is a hydraulic excavator, the plurality of members include a running body, a rotating body rotatably connected to the running body, a boom rotatably connected to the rotating body, an arm rotatably connected to the boom, and a bucket rotatably connected to the arm, and the plurality of hydraulic actuators include a rotating motor that generates torque to rotate the rotating body relative to the running body, a boom cylinder that generates torque to rotate the boom relative to the rotating body, an arm cylinder that generates torque to rotate the arm relative to the boom, and a bucket cylinder that generates torque to rotate the bucket relative to the arm.
7. A command generation method for a working machine including a plurality of members connected in sequence from a base end side to a tip end side, and a plurality of hydraulic actuators arranged in sets of adjacent base end members and tip end members among the plurality of members, for rotating the tip end members relative to the base end members, the command generation method comprising: acquiring current angle information indicating a current angle of the tip end member relative to the base end member; estimating a current torque for rotating the tip end member relative to the base end member based on the current angle information by inverse dynamics calculation; acquiring target angle information indicating a target angle of the tip end member relative to the base end member; calculating a target torque for causing the current angle to follow the target angle based on the target angle information; calculating a reference speed command value indicating a target speed of the hydraulic actuator based on the target angle information; and generating a control command value for controlling the speed of the hydraulic actuator by correcting the reference speed command value so as to reduce a torque deviation, which is the deviation between the target torque and the current torque.
Citation Information
Patent Citations
Work machine controller of construction machine
JP1997279633A
Hydraulic mechanical arm contact operation self-adaptive impedance control system without tail end force sensor
CN114800522A
Learning system and method optimizing autonomous control of earth-moving machine
JP1999315556A
Construction machine control device
JP2017096006A
Control unit for mobile work machine, mobile work machine provided with control unit, and control method of working machine
JP2022111101A