Patent Description:
Automatic operating devices each causing a hydraulic excavator to automatically perform a series of works from excavation to soil discharge have been recently known. For instance, Patent Literature <NUM> discloses a technology of: causing an automatic operating excavator to repeat a series of works from excavation to soil discharge by sequentially reading out taught positions having been taught and stored; and setting an engine rotational speed of the automatic operating excavator per specific work among the series of works.

In the automatic operation of the hydraulic excavator, a leading end of an attachment is required to move along a predetermined target locus on any worksite.

However, soil and sand to be excavated by the hydraulic excavator have different characteristics depending on a worksite. In this respect, the hydraulic excavator needs to generate an appropriate excavation force in consideration of the characteristics of soil and sand to move the leading end of the attachment along the target locus.

The technology of Patent Literature <NUM> without the consideration of the characteristics of soil and sand fails to allow the hydraulic excavator to generate an appropriate excavation force in accordance with the characteristics of the soil and sand. Patent Literature discloses a planning system and a method for earthmoving operations considering the condition of the material to predict the resistive forces that the bucket will encounter while excavating.

The drawbacks are seen in other working machines as well as in the hydraulic excavator.

The present invention has been achieved to solve the drawbacks with an aim of providing an automatic operating device that permits a working machine to generate an appropriate force for causing a position of a portion of a working device that interacts with an object to meet a target position in consideration of an interaction between the working device and the object.

An automatic operating device according to one aspect of the present invention is an automatic operating device for a working machine including a working device having a portion to interact with an object. The automatic operating device includes: an acquisition part that acquires actual position data indicating an actual position of the portion; an estimation part that estimates estimative actual position data by inputting estimative force data to a first model defining a relation between force data indicating a force to occur on the portion and the actual position data by using a first parameter indicating characteristics of the interaction; a calculation part that calculates a deviation between: target position data indicating a target position of the portion; and a difference between the estimative actual position data and the actual position data; a computation part that computes estimative force data by inputting the deviation to a second model defining a relation between the deviation and force data for causing the actual position to meet the target position by using the first parameter; a setting part that calculates a second parameter corresponding to the estimative actual position data and the estimative force data on the basis of a first parameter having been calculated in past, and sets the first parameter on the basis of the second parameter; and an instructive value calculation part that calculates an instructive value to the working machine from the estimative force data.

This configuration enables the working machine to generate an appropriate force for causing a position of the portion of the working device that interacts with the object to meet the target position in consideration of characteristics of the interaction between the working device and the object.

Hereinafter, an embodiment of the present invention will be described with reference to the accompanying drawings. It should be noted that the following embodiment illustrates one specific example of the present invention, and does not delimit the protection scope of the present invention.

<FIG> is a block diagram showing an example of a configuration of an automatic operating device <NUM> according to an embodiment of the present invention. The automatic operating device <NUM> automatically operates a working machine <NUM>. The working machine <NUM> includes a construction machine, such as a hydraulic excavator, a crane, or a dismantling machine. In the description below, the working machine <NUM> is described as a hydraulic excavator. However, this is a mere example, and the working machine <NUM> may be any working machine as long as the working machine includes a working device that interacts with an object.

The working machine <NUM> includes: a lower travelling body; an upper slewing body slewably attached to the lower travelling body; a boom tiltably attached to the upper slewing body; an arm swingably attached to the boom; and a bucket swingably attached to the arm. The boom, the arm, and the bucket constitute the working device. The working machine <NUM> further 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.

The automatic operating device <NUM> may be mounted on a controller already included in the working machine <NUM>, or mounted on a computer having a communication device wirelessly communicable with the working machine <NUM>.

The automatic operating device <NUM> includes an acquisition part <NUM>, a position estimation part <NUM> (which is an example of the estimation part), a deviation calculation part <NUM> (which is an example of the calculation part), a force computation part <NUM> (which is an example of the computation part), an instructive value calculation part <NUM>, a database <NUM>, a parameter setting part <NUM> (which is an example of the setting part), a force direction calculation part <NUM>, a target position acquisition part <NUM>, and a memory <NUM>.

The acquisition part <NUM> acquires, from the working machine <NUM>, a coordinate Xt (t) of an actual position of the distal end of the bucket. The working machine <NUM> further includes operability of detecting the coordinate of the distal end of the bucket on the basis of a slewing angle of the upper slewing body, an angle of the boom to the upper slewing body, an angle of the arm to the boom, and an angle of the bucket to the arm. Therefore, the acquisition part <NUM> may acquire, from the working machine <NUM>, the coordinate of the distal end of the bucket detected with the operability as the coordinate Xt(t) of the actual position.

The coordinate Xt(t) of the actual position represents, for example, a coordinate on a two-dimensional plane perpendicularly intersecting a ground surface and defining the distal end of the bucket as an origin. Specifically, the coordinate Xt(t) of the actual position is expressed by Xt(t) = [xt(t), yt(t)]. Here, the sign "t" denotes a time, and the sign "xt(t)" denotes an x-axis component of the actual position in a two-dimensional plane coordinate system, and the sign "yt(t)" denotes a y-axis component of the actual position in the two-dimensional plane system. For example, the x-axis is set in a longitudinal direction of the working device, and the y-axis is set in a direction perpendicularly intersecting the ground surface.

The distal end of the bucket is an example of a portion of the working device that interacts with an object. An origin of the two-dimensional plane coordinate system is set to, for example, a position where an interaction between the bucket and the object starts. The interaction between the bucket and the object indicates that the bucket and the object come into contact with each other, and give and take their respective forces. For instance, the working machine <NUM> detects, on the basis of a value of a cylinder pressure of the hydraulic cylinder, whether the interaction starts, and inputs a notification indicating a start of the interaction to the acquisition part <NUM>. The working machine <NUM> further inputs a notification indicating a finish of the interaction to the acquisition part <NUM> in response to detection of the finish. In this manner, the acquisition part <NUM> can determine whether the working machine <NUM> is interacting with the object. The object includes, for example, soil and sand contained under the ground to be excavated by the bucket.

The acquisition part <NUM> calculates a norm |Xt(t)| = y(t) of an actual position from the acquired coordinate Xt(t) of the actual position, and stores the coordinate Xt(t) of the actual position and the norm y(t) of the actual position in the memory <NUM>. Each of the coordinate Xt(t) of the actual position and the norm y(t) of the actual position is an example of the actual position data.

The position estimation part <NUM> includes an interaction model <NUM> (which is an example of the first model). The interaction model <NUM> defines, by using a parameter indicating characteristics of the interaction between the working device and the object, a relation between a norm u(t) of a force to occur on the distal end of the bucket when the working device interacts with the object and the norm y(t) of the actual position of the distal end of the bucket. The norm u(t) of the force is an example of the force data.

The position estimation part <NUM> inputs the norm u(t) of the force computed by the force computation part <NUM> to the interaction model <NUM>, and calculates, as a norm ŷ (t) of an estimative position, a norm of y(t) of the actual position corresponding to the norm u(t) of the force. The position estimation part <NUM> stores the calculated norm ŷ(t) of the estimative position in the memory <NUM>. The norm ŷ(t) of the estimative position is an example of the estimative actual position data. The interaction model <NUM> is expressed by Equation (<NUM>) to be described later.

As shown in Equation (<NUM>), the interaction model <NUM> indicates a function of the norm ŷ(t) of the estimative position and the norm u(t) of the force. The parameters "Â" and "B̂" on the left side are respectively expressed by Equation (<NUM>) and Equation (<NUM>). Equation (<NUM>) includes coefficients denoted by "â<NUM>(t)", "â<NUM>(t)",. Equation (<NUM>) includes coefficients denoted by "b̂<NUM>(t)", "b̂<NUM>(t)",. Each of the coefficients is a parameter (which is an example of the first parameter) of the interaction model <NUM>. In the embodiment, a controlled target is modelized by Equation (<NUM>) as described later, and therefore, the interaction model <NUM> includes parameters "â<NUM>(t)", "â<NUM>(t)", and "b̂<NUM>(t)".

The parameters "â<NUM>(t)", "â<NUM>(t)", and "b̂<NUM>(t)" are respectively expressed by Equations (<NUM>) to (<NUM>) to be described later. As shown in Equations (<NUM>) to (<NUM>), each of "â<NUM>(t)", "â<NUM>(t)", and "b̂<NUM>(t)" includes "m(t)", "c(t)", and "k(t). The parameter "m(t)" indicates a mass, the parameter "k(t)" indicates a spring constant of a spring element, and the parameter "c(t)" indicates a viscosity coefficient of a damper element each about the interaction between the working device and the object, and these parameters directly indicate the characteristics of the interaction between the working device and the object.

Hence, the parameters "â<NUM>(t)", "â<NUM>(t)", and "b̂<NUM>(t)" indirectly indicate the characteristics of the interaction between the working device and the object, and thus, the interaction model <NUM> reflects the characteristics of the interaction.

The deviation calculation part <NUM> acquires the norm y(t-<NUM>) of the actual position and the norm ŷ(t-<NUM>) of the estimative position from the memory <NUM>, and calculates a difference by subtracting ŷ(t-<NUM>) from y(t-<NUM>). The deviation calculation part <NUM> then calculates a deviation e(t) obtained by subtracting the calculated difference, from a norm |R(t)| (=r(t)) of the target position input from the target position acquisition part <NUM>, and inputs the calculated deviation e(t) to the force computation part <NUM>. Here, the reason why the deviation calculation part <NUM> acquires y(t-<NUM>), ŷ(t-<NUM>) from the memory <NUM> lies in that y(t) and ŷ(t) are not calculated at the calculation of the deviation e(t). The sign "t-<NUM>" represents a sample point that is one before "t".

The force computation part <NUM> includes a force computation model <NUM>. The force computation model <NUM> defines, by using the same parameter as the parameter for the interaction model <NUM>, a relation between the deviation e(t) and the norm u(t) of the force to occur on the distal end of the bucket for causing the actual position to meet the target position.

The force computation model is expressed by Equation (<NUM>) to be described later.

As shown in Equation (<NUM>), the force computation model <NUM> includes a function of the norm u(t) of the force and the deviation e(t). The parameter "Q" on the right side is expressed by Equation (<NUM>) to be described later. As shown in Equation (<NUM>), the parameter "Q" includes "Â" and "B̂". As described above, the parameters "Â" and "B" are expressed with the parameters "â<NUM>(t)", "â<NUM>(t)", and "b̂<NUM>(t)". It is seen from these perspectives that the force computation model <NUM> is defined by the same parameters as those for the interaction model <NUM>.

The force computation part <NUM> inputs the deviation e(t) calculated by the deviation calculation part <NUM> to the force computation model <NUM>, and computes a norm u(t) of a force corresponding to the deviation (e)t. The force computation part <NUM> inputs the computed norm u(t) of the force to each of the instructive value calculation part <NUM>, the position estimation part <NUM>, and the memory <NUM>. The computed norm u(t) of the force is an example of the estimative force data.

The instructive value calculation part <NUM> calculates a force vector Fr(t) on the basis of the norm u(t) of the force computed by the force computation part <NUM> and the direction θ(t) of the force calculated by the force direction calculation part <NUM>. The instructive value calculation part <NUM> further inputs the force vector Fr(t) as the instructive value to the working machine <NUM>. Here, the instructive value calculation part <NUM> may calculate the force vector Fr(t) by using Equation (<NUM>) to be described later.

The database <NUM> stores one or more base parameters θ(t) each being a parameter having been calculated by the parameter setting part <NUM> in past. Each base parameter θ(t) includes [â1(t), â<NUM>(t), b̂<NUM>(t)].

The parameter setting part <NUM> calculates, on the basis of the base parameter θ(t) stored in the database <NUM>, a target parameter θnewc(t) (which is an example of the second parameter) corresponding to a request point φ(t). The request point φ(t) is expressed by φ(t) = [y(t), y(t-<NUM>), y(t-<NUM>), u(t-<NUM>)]. Specifically, the request point φ(t) includes the norms y(t), y(t-<NUM>), and y(t-<NUM>) of the actual position, and the norm u(t-<NUM>) of the force data. The request point φ(t) represents dynamics of a current interaction in the working machine <NUM> that reflect the current interaction between the working device and the object. The parameter setting part <NUM> further stores, as the base parameter θ(t), an average parameter θnew(t), which will be described later, obtained in the step of calculating the target parameter θnewc(t) in the database <NUM>.

The force direction calculation part <NUM> calculates a direction θf(t) of the force occurring on the distal end of the bucket on the basis of the coordinate R(t) of the target position input from the target position acquisition part <NUM> and a coordinate Xt(t-<NUM>) of the actual position acquired from the memory <NUM>. Here, the reason why the coordinate Xt(t-<NUM>) of the actual position at a time "t-<NUM>" is acquired lies in that the coordinate Xt(t) of the actual position is not calculated at this stage. The force direction calculation part <NUM> may calculate the direction θf(t) of the force by using Equation (<NUM>).

The target position acquisition part <NUM> acquires the coordinate R(t) = [rx(t), ry(t)] of the target position, and inputs the coordinate to the force direction calculation part <NUM>. The target position represents a position targeted by the distal end of the bucket. In the embodiment, the automatic operating device <NUM> automatically operates the working machine <NUM> to move the distal end of the bucket along a predetermined target locus. Hence, the target position is on the target locus. The target locus may be input by, for example, a manager.

The target position acquisition part <NUM> calculates a norm r(t) of the target position from the coordinate R(t) of the target position, and inputs the calculated norm to the deviation calculation part <NUM>.

The memory <NUM> includes a RAM or a flush memory, and stores the coordinate Xt(t) of the actual position, the norm y(t) of the actual position, and the norm ŷ(t) of the estimative position. Here, the request point φ(t) includes norms y(t), y(t-<NUM>), and y(t-<NUM>) of the actual position until two previous sample points, and a norm u(t-<NUM>) of a force at one previous sample point, and therefore, the memory <NUM> may store at least the norms y(t), y(t-<NUM>), and y(t-<NUM>) of the actual position until the two previous sample points and at least the norm u(t-<NUM>) of the force at the one previous sample point. Besides, a norm ŷ(t-<NUM>) of an estimative position of the one previous sample is used for calculation of a deviation e(t), and therefore, the memory <NUM> may store at least the norm ŷ(t-<NUM>) of the estimative position at the one previous sample point.

In <FIG>, each block, except for the memory <NUM>, constituting the automatic operating device <NUM> is configured by, for example, a processor. The processor may include a CPU or a dedicated electric circuit, such as an ASIC.

<FIG> is an explanatory view of the interaction model <NUM>. As shown in the left section in <FIG>, the interaction model <NUM> is established on the premise that the bucket <NUM> acts on a two-dimensional plane <NUM>. The two-dimensional plane <NUM> extends in a longitudinal direction of the working device and perpendicularly intersects a ground surface <NUM>. The two-dimensional plane <NUM> has an xt-axis set in the longitudinal direction of the working device and a yt-axis set in a direction perpendicularly intersecting the ground surface <NUM>. The two-dimensional plane <NUM> further has an origin <NUM> set to a position where an interaction between the bucket <NUM> and the ground surface <NUM> starts.

As shown in the right section in <FIG>, the interaction model <NUM> represents a spring mass damper model including a mass element <NUM>, a damper element <NUM>, a spring element <NUM> each about the interaction between the working device and the object. The mass element <NUM> is expressed with a mass m(t) of the interaction between the working device and the object. The damper element <NUM> is expressed with a viscosity coefficient c(t). The spring element <NUM> is expressed with a spring constant k(t). The damper element <NUM> and the spring element <NUM> are connected in parallel. The mass element <NUM> is connected in series to a parallel element unit having the damper element <NUM> and the spring element <NUM> connected in parallel. An equation of motion concerning the spring mass damper model is expressed by each of Equations (<NUM>) to (<NUM>) to be described later. The interaction model <NUM> is established by a model expressed by Equation (<NUM>) calculated on the basis of Equations (<NUM>) to (<NUM>).

As shown in the right section in <FIG>, when the working device <NUM> acts on the two-dimensional plane <NUM>, each of the force F(t) occurring the distal end of the bucket <NUM> and the coordinate Xt(t) of the actual position of the distal end of the bucket is two-dimensionally shown. In this respect, the interaction model <NUM> is expressed by a norm |F(t)| of F(t), and a norm |X<NUM>(t)| (= y(t)) of an estimative position. Specifically, the interaction model <NUM> is formed of a dimensionally compressed model having input and output variables which are dimensionally compressed. The interaction model <NUM> in the form of the dimensionally compressed model aims at simplification of the interaction model <NUM>.

<FIG> is a diagram showing a change in the norm y(t) of the actual position during excavation. In the example shown in <FIG>, the distal end of the bucket comes into contact with the ground surface <NUM> at the origin <NUM>, and thereafter, the distal end of the bucket moves along a locus <NUM>. The norm y(t) of the actual position indicates a distance between the origin <NUM> and the actual position. Hence, the norm y(t) of the actual position increases as the excavation progresses.

The interaction model <NUM> is dimensionally compressed as described above, and thus, the direction θf(t) of the force may be instructed to the working machine <NUM> in addition to the norm u(t) of the force to operate the working machine <NUM>. The force direction calculation part <NUM> therefore calculates the direction θf(t) of the force.

<FIG> is an explanatory view of the direction θf(t) of the force. The force computation part <NUM> computes a norm u(t) of the force for causing the actual position to meet the target position as described above. Therefore, when a coordinate of an actual position at a time t-<NUM> is defined as Xt(t-<NUM>), a direction θf(t) of a force at a time t is oriented to the coordinate R(t) of the target position from the coordinate Xt(t-<NUM>) of the actual position. Here, the force direction calculation part <NUM> calculates the direction θf(t) of the force by using the coordinate Xt(t-<NUM>) of the actual position and the coordinate R(t) of the target position.

<FIG> is a flowchart showing an example of a process by the automatic operating device <NUM> shown in <FIG>. In step S1, the acquisition part <NUM> detects a start of an interaction between the working device and an object. Here, the acquisition part <NUM> may determine that the interaction occurs when receiving a notification about the start of the interaction from the working machine <NUM>.

The flow proceeds to step S2 when the start of the interaction is detected (YES in step S1), and the flow waits in step S1 on standby when the start of the interaction is not detected (NO in step S1).

In step S2, the target position acquisition part <NUM> acquires a coordinate R(t) of a target position. For instance, the target position acquisition part <NUM> may sequentially acquire points on a target locus stored in the memory <NUM> each as the coordinate R(t) of the target position.

In step S3, the target position acquisition part <NUM> calculates a norm r(t) of the target position from the coordinate R(t) of the target position. The norm r(t) of the target position represents a distance from an origin to the target position, the origin being a start position of an interaction.

In step S4, the deviation calculation part <NUM> acquires a norm y(t-<NUM>) of an actual position and a norm ŷ(t-<NUM>) of an estimative position from the memory <NUM>.

In step S5, the deviation calculation part <NUM> calculates a deviation e(t) by using the norm r(t) of the target position, the norm y(t-<NUM>) of the actual position, and the norm ŷ(t-<NUM>) of the estimative position as described above.

In step S6, the force computation part <NUM> inputs the deviation e(t) to the force computation model <NUM>, and computes a norm u(t) of a force. At this time, the force computation part <NUM> computes the u(t) by using a parameter initial value or a parameter θnew(t) determined in a previous step.

In step S7, the position estimation part <NUM> inputs the norm u(t) of the force to the interaction model <NUM>, and calculates a norm ŷ(t) of an estimative position.

In step S8, the force direction calculation part <NUM> acquires a coordinate Xt(t-<NUM>) of the actual position from the memory <NUM>.

In step S9, the force direction calculation part <NUM> calculates a direction θf(t) of the force by substituting the coordinate R(t) of the target position and the coordinate Xt(t-<NUM>) of the actual position for Equation (<NUM>).

In step S10, the instructive value calculation part <NUM> calculates a force vector Fr(t) by substituting the norm u(t) of the force and the direction θf(t) of the force for Equation (<NUM>).

In step S11, the instructive value calculation part <NUM> inputs, as an instructive value, the force vector Fr(t) to the working machine <NUM>.

In step S12, the acquisition part <NUM> acquires, from the working machine <NUM>, the coordinate Xt(t) of the actual position calculated by the working machine <NUM> in response to the input of the instructive value.

In step S13, the acquisition part <NUM> calculates a norm y(t) of the actual position from the coordinate Xt(t) of the actual position.

In step S14, the acquisition part <NUM> stores the coordinate Xt(t) and the norm y(t) of the actual position in the memory <NUM>.

In step S15, the parameter setting part <NUM> executes a parameter setting. The parameter setting will be described in detail later.

In step S16, the acquisition part <NUM> determines whether the interaction finishes. Here, the acquisition part <NUM> may determine that the interaction finishes when receiving a notification about the finish of the interaction from the working machine <NUM>. The finish of the interaction indicates a state where the distal end of the bucket and the object are in no contact with each other. The flow finishes when it is determined that the interaction finishes (YES in step S16), and the flow returns to step S2 when it is determined that the interaction is not finished (NO in step S16).

In this way, in the flowchart shown in <FIG>, steps by the automatic operating device <NUM> are sequentially executed during the occurrence of the interaction.

<FIG> is a flowchart showing a parameter setting in detail. In step S101, the parameter setting part <NUM> acquires a request point φ(t) from the memory <NUM>.

In step S102, the parameter setting part <NUM> calculates a distance d between a request point φ(t) and a base parameter θ(t) by using Equation (<NUM>) to be described later (step S102).

In step S103, the parameter setting part <NUM> extracts k-base parameters in ascending order of distances d from among base parameters θ(t) stored in the database <NUM>.

In step S104, the parameter setting part <NUM> calculates a weight wj of each of the k-base parameters extracted by using Equation (<NUM>).

In step <NUM>, the parameter setting part <NUM> calculates an average parameter θnew(t) being an average value of weights of the extracted k-base parameters by using Equation (<NUM>).

In step S106, the parameter setting part <NUM> stores, as the base parameter θ(t), the average parameter θnew(t) in the database <NUM>.

In step S107, the parameter setting part <NUM> modifies the average parameter θnew(t) by using Equation (<NUM>), and calculates a target parameter θnewc(t). The modification is made to prevent deterioration of control performance attributed to an abrupt change in the average parameter θnew(t).

In step S108, the parameter setting part <NUM> sets the target parameter θnewc(t) to a parameter of each of the interaction model <NUM> and to a parameter of the force computation model <NUM>. In this manner, an appropriate parameter is set to each of the interaction model <NUM> and the force computation model <NUM> in accordance with a current interaction.

In step S109, the parameter setting part <NUM> extracts, as redundant data, a base parameter θ(t) having a distance dj of a predetermined value β or smaller to the average parameter θnew(t) from among base parameters θ(t) stored in the database <NUM>, and deletes the redundant data from the database <NUM>. The distance dj is expressed by Equation (<NUM>) to be described later. When step S109 is finished, the flow proceeds to step S16 in <FIG>.

<FIG> is a flowchart showing an example of a process by the working machine <NUM> in response to an instructive value input from the automatic operating device <NUM>. In step S301, a controller included in the working machine <NUM> acquires the instructive value from the automatic operating device <NUM>. The instructive value includes a force vector Fr(t) calculated by the instructive value calculation part <NUM>.

In step S302, the controller of the working machine <NUM> detects a posture of the working device. Here, the controller of the working machine <NUM> detects, as the posture of the working device, an angle of the boom, and angle of the arm, and an angle of the bucket, each angle being detected by an angle sensor.

In step S303, the controller of the working machine <NUM> calculates, on the basis of the posture of the working device and various specification data of the working device, torques respectively generated in the boom, the arm, and the bucket. The various specification data includes, for example, a mass and a length of each of the boom, the arm, and the bucket.

In step S304, the controller of the working machine <NUM> calculates a generative force of the hydraulic cylinder of each of the boom, the arm, and the bucket from the torque generated in each of the boom, the arm, and the bucket.

In step S305, the controller of the working machine <NUM> calculates an instructive value to a control valve of each of the boom, the arm, and the bucket from the generative force of each of the boom, the arm, and the bucket.

In step S306, the controller of the working machine <NUM> detects a coordinate Xt(t) of the actual position of the distal end of the bucket. The detected coordinate Xt(t) is input to the automatic operating device <NUM>.

As described heretofore, the automatic operating device <NUM> according to the embodiment calculates, on the basis of a base parameter θ(t) having been calculated in past, a target parameter θnewc(t) corresponding to a norm u(t-<NUM>) of a force computed by using the force computation model <NUM> and corresponding to each of norms y(t), y(t-<NUM>), and y(t-<NUM>) of the actual position acquired by the acquisition part <NUM>, and sets the target parameter θnewc(t) to a parameter of each of the interaction model <NUM> and the force computation model <NUM>. Then, a norm u(t) of a force for causing the distal end of the bucket to reach the target position by using the force computation model <NUM> having the setting of the target parameter θnewc(t) is computed, an instructive value is calculated on the basis of the computed norm u(t) of the force, and the calculated instructive value is input to the working device. Here, a relation between the norm y(t) of the actual position and the norm u(t) of the force includes characteristics of the interaction. Thus, the target parameter corresponding to each of the norm y(t) of the actual position and the norm u(t) of the force reflects the characteristics of the interaction. In this manner, the parameter reflecting the characteristics of the interaction is settable for each of the interaction model <NUM> and the force computation model <NUM>. This results in enabling the working machine to generate an appropriate force for causing a position of an interactive portion to meet the target position in consideration of the characteristics of the interaction.

The embodiment can adopt modifications described below.

Next, Example of the present invention will be described. <FIG> is a block diagram showing a configuration of an automatic operating device according to Example. The automatic operating device includes an internal model control system based on a database drive-type approach. In Example, a mathematical model of a hydraulic excavator is adopted as the working machine <NUM>. The mathematical model is expressed by Equation (<NUM>) to be described later.

The automatic operating device according to Example includes a norm calculation part <NUM>, a subtraction part <NUM>, an internal model <NUM>, a subtraction part <NUM>, a controller <NUM>, a force vector calculation part <NUM>, a database <NUM>, a parameter setting part <NUM>, a force direction calculation part <NUM>, and a norm calculation part <NUM>.

In <FIG>, blocks given the same names as those of the blocks in <FIG> work in the same manner as in <FIG>, and thus description for the blocks will be omitted. The internal model <NUM> corresponds to the interaction model <NUM>. The controller <NUM> corresponds to the force computation model <NUM>.

The norm calculation part <NUM> corresponds to the acquisition part <NUM> in <FIG> and calculates a norm of a coordinate Xt(t) of an actual position. The subtraction part <NUM> and the subtraction part <NUM> correspond to the deviation calculation part <NUM> in <FIG>. The subtraction part <NUM> calculates a difference by subtracting a norm ŷ(t) of an estimative position from a norm y(t) of an actual position. The subtraction part <NUM> calculates a deviation e(t) by subtracting the difference from a norm |R(t)| of a target position. The norm calculation part <NUM> calculates the norm [R(t)| of the target position from the coordinate R(t) of the target position.

A controlled target in Example is considered as a discrete time nonlinear system expressed by Equation (<NUM>). Formula <NUM> <MAT>.

The sign "y(t)" denotes an output of the discrete time nonlinear system, the sign h(·) denotes a non-linear function, and the sign "φ(t-<NUM>)"denotes an information vector. The information vector φ(t-<NUM>) is defined by the following formula. Formula <NUM> <MAT>.

The sign "u(t)" denotes an input, and the signs "ny" and "nu" respectively represent an order of an output (y(t)) and an order of an input (u(t)).

The internal model control system shown in <FIG> is expressible by the following formula.

The sign "r(t)" denotes a controlled target value, the sign "ŷ(t)" denotes a norm of an estimative position output from the internal model <NUM>, the sign "λ" denotes a design parameter of a filter, and the sign "n" denotes an order of the filter. Further, each of "Â(z-<NUM>, t)" and "B̂(z-<NUM>, t)" includes a polynomial indicating the discrete time nonlinear system as described below. Each of "Â (z-<NUM>, t)" and "B̂(z-<NUM>, t)" is locally and stably presumed as a minimum phase system.

A controlled target expressed by Equation (<NUM>) is locally describable by the following formula. Formula <NUM> <MAT>.

At this time, Equation (<NUM>) is described as follows by using Equation (<NUM>) medializing the controlled target.

The parameter θ(t) is described as follows by Equation (<NUM>). The parameter θ(t) represents a parameter of the discrete time nonlinear system.

Here, the parameter "f(·)" denotes a linear function. A request point φ (t) and a base parameter θ(j) stored in the database <NUM> are defined in the following manner to locally calculate the parameter θ(t) at each time.

The parameter "θ(j)" will be described in detail later.

Adjustment of the parameter of each of the controller <NUM> and the internal model <NUM> based on the database drive-type approach will be described below.

The parameter setting part <NUM> obtains a parameter about Equation (<NUM>) by recursive least squares using input and output data of a controlled target. The parameter setting part <NUM> defines the obtained parameter as a base parameter θ(j). The parameter setting part <NUM> stores the base parameter θ(j) in an initial database Θ(j) defined by the following formula. Formula <NUM> <MAT> <MAT>.

The sign "N<NUM>" denotes the number of base parameters.

The parameter setting part <NUM> calculates a distance between the request point φ(t) and each base parameter θ(j) by the following formula. The parameter setting part <NUM> rearranges the base parameters θ(j) in ascending order of distances. Formula <NUM> <MAT> <MAT>.

Here, the sign "N(t)" denotes the number of base parameters stored in the database <NUM> when the request point φ(t) is given. The sign "i" denotes an i-th element of each of the request point and the base parameter. Equation (<NUM>) expresses a distance between the base parameter θ(j), hyperplane obtained by Equation (<NUM>), and the request point φ(t). The parameter setting part <NUM> extracts k-base parameters in ascending order of d(φ(t), θ(j)), and calculates the weight wj of each base parameter by the following formula. Formula <NUM> <MAT> <MAT>.

Here, the sign "nw" denotes a design parameter for distinguishing a difference in the weight corresponding to the distance. Moreover, the parameter setting part <NUM> calculates an average parameter θnew(t) of the k-base parameters θ(t) by a local linear average way shown in the following formula, and stores the calculated average parameter in the database <NUM> as the base parameter θ(t). Formula <NUM> <MAT>.

The parameter setting part <NUM> modifies the average parameter θnew(t) by using a first-order log filter expressed by the following formula to prevent deterioration of the control performance attributed to an abrupt change in the average parameter θnew(t) obtained in Step #<NUM>. Formula <NUM> <MAT>.

The sign "α" denotes a design parameter of the filter and is determined in trial and error. The parameter setting part <NUM> defines the average parameter θnew(t) modified by Equation (<NUM>) as a target parameter θnewc(t). The, the parameter setting part <NUM> applies the target parameter θnewc(t) to each of the controller <NUM> expressed by Equation (<NUM>) and the internal model <NUM> expressed by Equation (<NUM>).

Deletion of redundant data in the database <NUM> is desired in consideration of a memory capacity and a calculation cost of an object to be mounted. The parameter setting part <NUM> deletes a base parameter satisfying the following condition from among the base parameters. Formula <NUM> <MAT>.

The sign "β" denotes a design parameter for selecting a base parameter to be deleted, and is determined in trial and error.

The parameter setting part <NUM> deletes only a nearest neighbor base parameter when a plurality of base parameters satisfies the condition of Equation (<NUM>).

Execution of steps from Step #<NUM> to Step #<NUM> at each time achieves online calculation of a target parameter θnewc(t) reflecting a current interaction. The parameter setting part <NUM> applies a target parameter θnewc(t) calculated one after another to each of the controller <NUM> and the internal model <NUM>.

Subsequently, an interaction model of a hydraulic excavator will be described.

The interaction model is intended for controlling, as a controlled target, an interaction between a leading end of an attachment (a working device including a bucket) of the hydraulic excavator and an environment (an object). The hydraulic excavator comes into operation in accordance with a combination of an operation of the attachment and a slewing action of a main body in combination. However, in Example, the interaction model is established with limitation to only the operation of the attachment. The interaction between the attachment and the environment is presumed to be a resistance to locally occur due to a mass element, a spring element, and a damper element. The controlled target is expressible with a model shown in <FIG>. An equation of motion of the model is expressed as follows.

The equation "Xt(t) = [xf(t), yt(t)]T" shows a position of the leading end of the attachment. The equation "F(t) = [fx(t), fy(t)]T shows a force vector of the leading end of the attachment. The sign "m(t)" denotes a mass of an interaction between the working device and the object. The sign "k(t)" denotes a spring constant. The sign "c(t)" denotes a viscosity coefficient.

Characteristics of the interaction between the leading end of the attachment of the hydraulic excavator and the environment change depending on an operation condition and an environmental condition. In this respect, in Example, the change is represented by a change in each of the mass m(t), the spring constant k(t), and the viscosity coefficient c(t) about the interaction between the working device and the object, each being a parameter of the model. When Equation (<NUM>) is discretized by a difference method, a discrete time nonlinear system of the controlled target as shown by the following formula is obtainable. Formula <NUM> <MAT>.

With Equation (<NUM>), each of the parameters â<NUM>(t), â<NUM>(t), and b̂<NUM>(t) is expressed with "m(t)", "k(t)", and "c(t)" each being a parameter of the interaction model as shown by the following formula.

Next, a direction θf(t) of a force occuring on the leading end of the attachment will be described.

Equation (<NUM>) shows a scalar value indicating a norm u(t) of the force. The direction θf(t) of the force is required to control the hydraulic excavator. The direction θf(t) of the force is determined by using the following formula from a relation between the coordinate "Xt(t) = [Xt(t), y(t)]T" of the leading end of the attachment and the coordinate "R(t) = [rx(t), ry(t)] of the target position as shown in <FIG>. Formula <NUM> <MAT>.

Moreover, a force vector Fr(t) of the force is determined by the following formula with: the u(t) calculated by Equation (<NUM>); and Equation (<NUM>). This leads to achieved control of the hydraulic excavator. Formula <NUM> <MAT>.

Subsequently, a simulation performed for inspection of Example will be described.

The simulation adopts an inspection model defining excavation as a target work. <FIG> illustrates an overview of the inspection model. The inspection model defines the attachment as a stiff-body two-linked manipulator in terms of simplification of the configuration. An equation of motion of the inspection model is expressed as follows. Formula <NUM> <MAT>.

Here, the equation "τ(t) = [τ<NUM>(t), τ<NUM>(t)]T" indicates a joint torque at a time t. The sign "Fre(t)" denotes an excavation counterforce. The sign "M(t)" denotes an inertia matrix. The equation "q(t) = [qr(t), q<NUM>(t)]T" shows a joint angle. The sign "s(q·(t), q(t))" denotes a speed square term and a gravity term. The sign "J(t)" denotes a Jacobian matrix. The excavation counterforce Fre(t) is calculated with the following formula by using a passive earth pressure Frp(t) of Rankine. Formula <NUM> <MAT>.

The sign "γs(t)" denotes a unit volume weight of soil. The sign "h(t)" denotes a retaining wall height. The sign "φs(t)" denotes an internal friction angle of the soil. Each of the signs "γs(t)" and "φs(t)" denotes a parameter changing depending on a soil quality. The retaining wall height h(t) is calculated from a geometric relation between a soil amount in the bucket and the bucket angle. When the excavation counterforce Fre(t) is presumed to occur in a direction perpendicularly intersecting an opening plane of the bucket on the distal end of the bucket, the excavation counterforce Fre(t) is expressed by the following formula.

Further, establishment of an initial database using the inspection model shown in <FIG> will be described. First, the distal end of the bucket is moved along a predetermined target locus. Here, a joint torque is generated under a PD control, and the distal end of the manipulator follows. <FIG> is a table showing a value of each parameter used in the establishment of the initial database. The parameter is calculated by the recursive least squares from chronological data of: a norm u(t) of an excavation force under each condition; and a norm y(t) of a position of the distal end of the manipulator that is a reference of an excavation start point. The calculated parameter is stored as an initial database.

Next, an inspection result will be described.

A result of comparison between Comparative Example based on a fixed parameter and Example will be described. Various parameters shown in <FIG> were used for the inspection. A value of a soil quality parameter was set as follows in accordance with a change in a soil quality depending on an excavation depth. Formula <NUM> <MAT>.

Each of the signs "y2th1" and "y2th2" denotes a coordinate of the leading end of the attachment whose soil quality parameter is changed. Each of <FIG> and <FIG> is a graph showing a simulation result in Comparative Example. Each of <FIG> and <FIG> is a graph showing a simulation result in Example. In each graph, a norm u(t) of a force to be input to the hydraulic excavator is normalized by setting a maximum value to <NUM>%. In <FIG> and <FIG>, "X<NUM>(t)" denoted by the mark "∘" and "R<NUM>(t)" denoted by the mark "*" respectively represent a coordinate of the leading end of the attachment and a target coordinate in a coordinate system of the manipulator in <FIG>.

As shown in <FIG>, Comparative Example fails to express characteristics of a controlled target that sequentially change, and hence, the followability to the target locus is low. Further, as shown in <FIG>, a fluctuation is seen in the norm u(t) of the input force. By contrast, as shown in <FIG>, in Example, parameters are calculated one after another in accordance with a change in a posture of the attachment or a change in the soil quality as shown in <FIG>. Moreover, the fluctuation in the norm u(t) of the input force is suppressed more effectively in comparison with the fluctuation in use of the fixed parameter controller. It is understood that Example is more suitable for mounting than Comparative Example from the viewpoint of the preference of a stable value of the norm u(t) of the input force in the mounting. The inspection confirmed improvement in the followability to the target locus in Example by <NUM>% in comparison with the followability in Comparative Example. Conclusively, the way in Example was confirmed to be adaptable to a change in a work object which is unpredictable and chronologically changes, and accordingly, the way can achieve excavation along the target locus.

According to this configuration, the second parameter corresponding to the estimative force data computed by using the second model and the actual position data acquired by the acquisition part is calculated on the basis of the first parameter having been calculated in past, and the second parameter is set as the first parameter of each of the first model and the second model. Then, the estimative force data for causing an interactive portion to reach the target position is computed by using the second model having the set first parameter, an instructive value to the working machine is calculated on the basis of the computed estimative force data, and the instructive value is input to the working device. Here, a relation between the actual position data and the force data includes characteristics of the interaction. Thus, the first parameter corresponding to the actual position data and the estimative force data reflects the characteristics of the interaction. In this manner, the first parameter reflecting the characteristics of the interaction is settable for each of the first model and the second model. This results in enabling the working machine to generate an appropriate force for causing a position of the interactive portion to meet the target position in consideration of the characteristics of the interaction.

In the automatic operating device, each of the estimative force data and the estimative actual position data is preferably a norm.

According to this configuration, each of an output variable of the second model, and input and output variables of the first model is one-dimensionally expressed, and thus, each of the second model and the first model is in a simple model form.

In the automatic operating device, each of the actual position data and the target position data preferably includes coordinate data. The automatic operating device preferably further includes a direction calculation part that calculates, on the basis of the coordinate data indicated by the actual position data and the coordinate data indicated by the target position data, a direction of the force occurring on the portion. The instructive value calculation part preferably calculates, on the basis of the direction of the force and the norm of the estimative force data, a vector of the force occurring on the portion, and calculates the instructive value including the force vector.

According to this configuration, a direction of the force occurring on the instructive portion is calculated on the basis of the coordinate data of the actual position and the coordinate data of the target position, and a force vector is calculated from the calculated direction of the force and the norm of the estimative force data computed by the computation part, and the instructive value including the calculated force vector is input to the working machine. Consequently, the direction of the force as well as the degree of the force can be instructed to the working machine, and an appropriate operation of the working machine is attainable.

In the automatic operating device, the first parameter is preferably defined by using a mass of the interaction and at least one of a spring constant and a viscosity coefficient each showing the interaction.

According to this configuration, the first parameter is defined by using the mass of the interaction and at least one of the spring constant and the viscosity coefficient each showing the interaction. In this manner, the first model and the second model can more accurately reflect the characteristics of the interaction.

In the automatic operating device, the acquisition part preferably acquires, from the working machine, a notification indicating a start of the interaction, and the estimation part, the calculation part, the computation part, the setting part, and the instructive value calculation part preferably sequentially execute the respective performances thereof during the interaction.

According to this configuration, the parameter is updated one after another during the occurrence of the interaction. Therefore, the first parameter suitable for the characteristics of the interaction that change one after another is set for each of the first model and the second model, resulting in enabling the working machine to generate a force suitable for the characteristics of the interaction.

In the automatic operating device, the calculation part preferably calculates, as the deviation, a difference between: a norm of the target position data; and a difference between a norm of the actual position data and a norm of the estimative actual position data.

According to this configuration, the difference between: the norm of the target position data; and the difference between the norm of the actual position data and the norm of the estimative position is calculated as the deviation. Hence, the deviation being an input variable of the second model is one-dimensionally formable, and therefore, a simple configuration of the second model is attainable.

In the automatic operating device, the portion preferably includes a leading end of the working device.

This configuration achieves occurrence of an appropriate force for causing a position of the distal end of the working device to meet the target position in the working device in consideration of the characteristics of the interaction.

In the automatic operating device, it is preferable that the working machine includes a hydraulic excavator, the object includes soil and sand, and the force includes an excavation force.

This configuration enables the hydraulic excavator to generate an appropriate excavation force for causing the position of the distal end of the working device to meet the target position in consideration of the characteristics of soil and sand.

The automatic operating device preferably further includes a database that stores the first parameter having been calculated in past.

Claim 1:
An automatic operating device (<NUM>) for a working machine (<NUM>) including a working device having a portion to interact with an object, the automatic operating device comprising:
an acquisition part (<NUM>) that acquires actual position data indicating an actual position of the portion;
an estimation part (<NUM>) that estimates estimative actual position data by inputting estimative force data to a first model defining a relation between force data indicating a force to occur on the portion and the actual position data by using a first parameter indicating characteristics of the interaction;
a calculation part (<NUM>) that calculates a deviation between: target position data indicating a target position of the portion; and a difference between the estimative actual position data and the actual position data;
a computation part (<NUM>) that computes estimative force data by inputting the deviation to a second model defining a relation between the deviation and force data for causing the actual position to meet the target position by using the first parameter;
a setting part (<NUM>) that calculates a second parameter corresponding to the estimative actual position data and the estimative force data on the basis of a first parameter having been calculated in past, and sets the first parameter on the basis of the second parameter; and
an instructive value calculation part (<NUM>) that calculates an instructive value to the working machine from the estimative force data.