Method for automatic control of periodic motion in earth moving machinery

The system automates the control of excavator components to enhance efficiency and reduce operator fatigue by managing cyclical operations, addressing the limitations of existing systems in handling environmental uncertainties and component control.

JP2025166130APending Publication Date: 2025-11-05TOPCON POSITIONING SYSTEMS INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025134049
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-08-12
Publication Date
2025-11-05

AI Technical Summary

Technical Problem

Existing automated systems for excavators lack the ability to efficiently control all components of the machine during cyclical operations, relying heavily on human input and failing to account for environmental uncertainties, leading to inefficiencies and operator fatigue.

Method used

A system that automatically controls the cyclical motion of excavator components using sensors and actuators, allowing for efficient operation by determining the current machine state, calculating control signals, and transmitting them to actuators to manage the motion of the boom, stick, and platform.

Benefits of technology

Minimizes operator fatigue and maximizes machine efficiency by automating routine tasks while allowing manual control, reducing cycle times and improving overall performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025166130000001
    Figure 2025166130000001
  • Figure 2025166130000002
    Figure 2025166130000002
  • Figure 2025166130000003
    Figure 2025166130000003
Patent Text Reader

Abstract

To disclose an earth moving machine and method for automatically controlling the cyclical operation of the earth moving machine.SOLUTION: An earth moving machine includes a plurality of machine elements each controlled by one or more actuators. A method includes determining a current machine state, calculating a control signal for at least one actuator if the current machine state corresponds to cyclic operation, and sending the control signal to the at least one actuator to automatically control the cyclic operation.SELECTED DRAWING: None
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] TECHNICAL FIELD This disclosure relates generally to methods for controlling earth moving machines, and more particularly to controlling cyclical motion in earth moving machines. [Background technology]

[0002] Excavators are earth-moving machines that are widely used in applications such as construction, mining, and offshore excavation. Earth-moving machines can be used to dig, backfill, level surfaces, create slopes, move material from one point to another, load material onto dump trucks, and more. Other types of available earth-moving machines are generally more specialized; for example, dozers and motor graders are designed for grading, while front loaders are used for loading. Because excavators are more widespread, it is desirable to use them in the most efficient manner to improve overall construction site performance.

[0003] An excavator consists of a bucket, a stick, a boom, and a rotating platform with a cab. The platform is mounted on a chassis with tracks and wheels. The bucket, stick, boom, and platform are rotatably connected to each other and operated with the aid of a hydraulic cylinder. The platform and chassis may be connected to each other via a ring bearing, and the chassis is rotated by a hydraulic motor. The hydraulic cylinder is controlled by an operator sitting in the cab, for example, using a valve block with two joysticks, one on the left and one on the right. The operator can control the tracks and wheels using two pedals or an arm to rotate the platform and move it forward and backward. A common type of excavator used for construction applications includes a back digger, which moves the bucket toward the platform, i.e., from front to back, to dig. The bucket may include an inward-facing cutting edge.

[0004] The joysticks in the cab each have four degrees of freedom: left, right, forward, and backward. Thus, the two joysticks provide eight degrees of freedom for complete control of the bucket, stick, boom, and platform. The operator moves the joystick grip, typically digging earth with the aid of the bucket and stick, and then lifts the boom and rotates the platform to transport the excavated material. After dumping the material, the operator returns all excavator elements to approximately the initial excavation point, excavates new ground, and moves the material again. This is often a cyclical procedure involving the cyclical repetition of the same or similar movements over a time epoch. A typical cycle time for an excavator to perform this cyclical procedure is approximately 15 seconds.

[0005] Rapid and coordinated operation of the control joysticks is key to efficient excavator utilization. Only experienced operators can maximize excavator productivity and maintain cycle times near 15 seconds. To achieve an efficient cycle, operators must simultaneously move the bucket and stick during digging and simultaneously operate the boom and platform to move material to the dump site in the shortest distance. During the dump phase, operators must simultaneously operate the bucket, stick, boom, and rotating cab. Similar simultaneous operations are required to efficiently route the bucket to the starting position for digging.

[0006] However, even experienced workers cannot maintain ideal cycle times throughout the work day due to many variables including fatigue, uncomfortable ambient temperatures, the quality of the air they inhale, noise, vibration, poor visibility due to, for example, direct sunlight, nighttime, dust, fog, snow, rain, and muddy windows.

[0007] Solutions for efficient excavator operation include automated control systems that minimize reliance on human input. Currently available systems enable automatic control of boom height and bucket cutting angle for final grading operations. Such machines must be equipped with absolute position sensors, such as GPS sensors and lasers, as well as sensors configured to measure the orientation of various excavator components. These include cylinder encoder / stroke sensors and inertial measurement units (IMUs) for measuring acceleration and angular velocity. Current systems also include a digital terrain model that represents the target design of the ground to be graded. The sensor chain allows the absolute position and attitude of the bucket to be calculated. The system then compares the current position and attitude with the target position and attitude and commands electrohydraulic valves to move the boom and bucket to achieve the desired position. However, such systems do not teach automatic stick control or platform rotation. The average duty cycle is very short, with little positive impact on cycle time except for a very short interval during final grading, the final stage of a project after the time-consuming excavation work is completed.

[0008] To achieve better efficiency, a more advanced automated system with a longer duty cycle is desired, where all excavator parts, not just the boom and bucket, are automatically controlled. This requires programming every step of the workflow. However, formalizing the workflow is challenging due to the various unknowns associated with the local geological environment. These unknowns may include soil density, looseness, traction force, clay adhesion to the bucket, and hidden materials buried underground, each of which is difficult to predict and control.

[0009] Current systems rely on human operators to address uncertainties such as where and how the machine should be positioned relative to the work environment, the excavation plan including initial excavation start and dump points to eliminate wasteful gaps in the dump site, clearing underground communication cables and detecting bucket reaction on contact with underground material, clearing above-ground obstacles and power lines, cleaning clay-laden buckets, handling heavy and rocky materials, where and how to backfill, how to efficiently compact the geomaterial, and how to move the machine to perform subsequent steps during, for example, terracing operations. Furthermore, the sensors required to adequately monitor all necessary environmental uncertainties are often expensive (e.g., LIDAR and radar sensors), not robust enough for the work environment, and unreliable. Summary of the Invention

[0010] There is a need for the ability to automate routine operations of earthmoving machines, such as excavators, using simple sensor blocks while allowing the operator to manually perform the remaining complex tasks. Thus, the present disclosure assists the operator in performing cyclical tasks while still allowing manual control, thereby minimizing time cycles, eliminating operator fatigue, and enabling maximally efficient machine operation.

[0011] In one or more embodiments, a system and method for controlling cyclical operation of an earthmoving machine is provided.

[0012] One embodiment includes a method for automatically controlling cyclical motion of an earthmoving machine including a plurality of machine elements each controlled by one or more actuators, the method including determining a current machine state, and if the current machine state corresponds to cyclical motion, calculating a control signal for at least one actuator, and transmitting the control signal to the at least one actuator to automatically control the cyclical motion.

[0013] Further embodiments include an apparatus and method for automatically controlling cyclical operation of an earthmoving machine including a plurality of machine elements each controlled by one or more actuators, the method including updating a current machine state based on a current machine position, recording a path of the earthmoving machine during cyclical operation, determining a target based on the recorded path and the current machine state, and calculating a control signal for at least one actuator based on the target and the recorded path.

[0014] In yet a further embodiment, the present disclosure includes an earthmoving machine comprising a plurality of mechanical elements, one or more actuators configured to control each of the plurality of mechanical elements, one or more sensors configured to detect a position and a velocity of each of the plurality of mechanical elements, and a controller in communication with the one or more sensors and the one or more actuators, the controller configured to automatically control cyclical operation of the earthmoving machine by sending control signals to the actuators based on input from the sensors.

[0015] These and other advantages of the present disclosure will become apparent to those skilled in the art from the following detailed description and accompanying drawings. [Brief explanation of the drawings]

[0016] [Figure 1] 1A-1D are schematic diagrams of an excavator. [Figure 2] FIG. 2 is a side schematic view of the bucket in a start dump position, an end dump position, and a start dig position, including the corresponding bucket angles. [Figure 3] FIG. 3 is a flowchart of a control algorithm according to an embodiment. [Figure 4] FIG. 4 is a schematic diagram of a control system for an earthmoving machine according to an embodiment. [Figure 5] FIG. 5 is a schematic diagram of a control algorithm according to an embodiment. [Figure 6] FIG. 6 is a flowchart of a route record update algorithm according to an embodiment. [Figure 7] FIG. 7 is a diagram showing a control state of the excavator according to the embodiment. [Figure 8] FIG. 8 is a flowchart of a path plan update algorithm according to an embodiment. [Figure 9] FIG. 9 is a flowchart of a control update algorithm according to an embodiment. [Figure 10] FIG. 10 is a schematic diagram of a computer according to an embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0017] The embodiments of the present disclosure described herein can be used to control systems of earth moving machines that typically perform repeatable movements during a work cycle. Examples of such earth moving machines include excavators, front loaders, backhoe loaders, skid steer loaders, etc. In the following description, a hydraulic excavator will be used as a non-limiting example of an earth moving machine to which embodiments of the present disclosure can be applied.

[0018] 1A-1D are schematic diagrams of an excavator 100. FIG. 1A shows excavator elements including a body 101 having a cab 106, a boom 102, a stick 103, a bucket 104, and a track system 105. FIG. 1B is a plan view of the excavator 100. The body 101 can be operatively rotated about a vertical axis of the track system 105 by body actuators. An example of a body actuator is a hydraulic motor. The boom 102, stick 103, and bucket 104 can be operatively rotated about their joints by actuators. An example of such an actuator is a hydraulic cylinder.

[0019] In some embodiments, there are additional connections between components of the excavator 100, for example, to provide additional rotational or translational degrees of freedom. For example, the boom may include two or more parts pivotally connected to one another. As another example, the bucket may have two or more rotational degrees of freedom.

[0020] During a typical work cycle of operation, an excavator performs actions including digging, lifting, hauling, dumping, and sending back to a start excavation location. The systems described herein are capable of automatically performing certain excavator work cycle actions, particularly the hauling, dumping, and sending back actions. The systems described herein are configured to replicate paths generated by excavator elements during work cycle actions.

[0021] 1C and 1D show exemplary side and top views of an excavator in a lifting position and a start dumping position, respectively. The side view of the lifting position 111 is shown in solid lines, and the side view of the start dumping position 112 is shown in dashed lines. The top view of the lifting position 113 is shown in solid lines, and the top view of the start dumping position 114 is shown in dashed lines.

[0022] FIG. 2 is a side view of an excavator bucket at a start dump position 201, an end dump position 202, and a start dig position 203, including the corresponding bucket angles.

[0023] FIG. 3 is a flow chart 300 of a control algorithm according to an embodiment.

[0024] In step 310, the current machine state is determined. The current machine state includes the control state of the excavator, for example, dig, haul, dump, and deadhead. In a further embodiment, the current machine state includes a current machine state vector that includes position and velocity information for elements of the excavator.

[0025] Control signals for the excavator elements are calculated based on the determined current machine state in step 320. The control signals include instructions that instruct the excavator elements to perform functions and operations to perform operations corresponding to particular control states, e.g., haul, dump, and send away.

[0026] In step 330, the calculated control signals are sent to one or more actuators configured to control the excavator elements to perform the desired operation.

[0027] 4 is a schematic diagram of an earthmoving machine control system 400 according to an embodiment. Measurement units are installed on the body, boom, stick, and bucket of the excavator. Examples of measurement units include GNSS receivers, laser sensors, accelerometers, gyroscopes, magnetic sensors, rotation sensors, linear displacement sensors, etc. In one embodiment, GNSS receivers 405, 406 are mounted on one or more elements of the excavator, and accelerometer and gyroscope combinations, such as a body inertial measurement unit (IMU) 401, a boom IMU 402, a stick IMU 403, and a bucket IMU 404, are mounted on the body, boom, stick, and bucket of the excavator, respectively.

[0028] The measurement units 401-406 communicate with a control unit 407. An example of the control unit 407 is a computer system with a processor, memory, and an input / output subsystem. Another example of the control unit 407 is a microcontroller integrated within the measurement unit, for example, within the GNSS receiver 405.

[0029] The control unit 407 is further connected to the body, boom, stick, and bucket actuators. An example of an actuator is an electrically controlled hydraulic valve connected to an analog output of the controller. Another example of an actuator is a digitally controlled hydraulic valve connected to the controller via a communications network.

[0030] In one embodiment of the present disclosure, a body hydraulic pilot valve 408, a boom hydraulic pilot valve 409, a stick hydraulic pilot valve 410, and a bucket hydraulic pilot valve 411 for each of the excavator elements—the body, boom, stick, and bucket—are each connected to a corresponding pilot hydraulic line (not shown). Control signals from a control unit 407 control the pressure of hydraulic fluid passing through the hydraulic pilot valves, which in turn control the amount or flow of hydraulic fluid passing through each of a body main hydraulic valve 412, a boom main hydraulic valve 413, a stick main hydraulic valve 414, and a bucket main hydraulic valve 415. The hydraulic fluid passing through the main hydraulic valves adjusts a body hydraulic motor 416, a boom hydraulic cylinder 417, a stick hydraulic cylinder 418, or a bucket hydraulic cylinder 419, thereby changing the position of the body, boom, stick, or bucket. In other embodiments, the main hydraulic valves are connected directly to the main hydraulic lines.

[0031] In one embodiment, pressure sensors 420, 421, 422, 423 for each excavator element are connected to the hydraulic pilot lines. The pilot hydraulic line pressure sensors measure the pressure resulting from manual control by an operator using the excavator control arm. Output signals from these sensors are transmitted to the control unit 407. In another embodiment, pressure sensors 420, 421, 422, 423 are connected directly to the main hydraulic lines.

[0032] In some embodiments, further devices are located in the operator's cab of the excavator, such as a user interface device 424 or an auto / manual switch 425, which communicate with the control unit 407. An example of a user interface device is a display device with a touch screen.

[0033] Figure 5 is a schematic diagram of a control algorithm according to an embodiment. At each discrete time epoch, a control unit 510 (in one embodiment, control unit 407 of Figure 4) executes a control algorithm. In one embodiment, the control algorithm comprises the following steps: step 501 for updating the current state of the excavator; step 502 for updating the path record; step 503 for updating the path plan; step 504 for updating the controller; and step 505 for waiting for the next control step, after which the algorithm returns to step 501. In one embodiment, the algorithm is implemented in a single time epoch. A time epoch is a predetermined period of time over which the control algorithm is implemented, e.g., 1 millisecond.

[0034] Step 501, which updates the current excavator state, i.e., the current machine state, is the first step in the control algorithm executed at each discrete time epoch. The control unit 510 receives measurements from the excavator, e.g., measurement units 401 and 406 in FIG. 4 , and updates an estimate of the excavator state vector. In one embodiment of the present disclosure, the state vector includes at least the position and velocity of the body in a ground-related coordinate system, and the angular attitudes and angular velocities of the body, boom, stick, and bucket, respectively. In another embodiment, the state vector includes the positions and velocities of predetermined locations on the body, boom, stick, and bucket. The state vector can be converted from angular positions to linear positions, and vice versa, using known kinematic and geometric characteristics of the excavator. In yet another embodiment, the positions and velocities, or angular attitudes and angular velocities, of the body, boom, stick, and bucket are calculated in a coordinate system related to the excavator's track system. Using known kinematic and geometric characteristics of the excavator and the positions of the excavator's tracks in the ground-related coordinate system, the state vector can be converted from the track-related coordinate system to the ground-related coordinate system, and vice versa.

[0035] Update path record step 502 is the second step in the control algorithm executed at each discrete time epoch. In one embodiment, the excavator state vector calculated in update excavator state step 501 of the control algorithm is an input for updating the path record. In another embodiment, signals from a user interface device are another input for updating the path record. Examples of such signals include button presses and touches on a touch screen. In yet another embodiment, measurements from pressure sensors 420, 421, 422, 423 connected to the pilot hydraulic lines are another input for updating the path record.

[0036] The excavator state vector and other inputs are used to determine whether the current excavator state corresponds to a dump start position or a lift position. If the current excavator state corresponds to a dump start position, the dump start point is updated. An example of such an update would be copying the contents of the excavator state vector to a memory area in the control unit that contains the dump start point state vector and setting a flag indicating that the dump start point has been updated. If the current excavator state corresponds to a lift position, the lift point is updated as well.

[0037] Figure 6 is a flow chart of the path record update algorithm 600. To determine whether the current excavator state corresponds to a start dump position or a lift position, a method is implemented which includes the following steps.

[0038] In one embodiment of the present disclosure, the system can be commanded to set a lifting point, for example, from a user interface device, in step 601, and the lifting point is updated to the current position in step 602. When the system is commanded to set a dump start point from a user interface device in step 603, the dump start point is updated to the current position in step 604. In other embodiments, the dump start point is calculated from the excavator position estimated by a measurement unit installed on the excavator, for example a GNSS receiver, and transmitted to the control unit 510. In yet other embodiments, the excavator position estimate can be calculated by sensors installed on the excavator, such as radar, laser sensors, video cameras, and sonic sensors.

[0039] In step 605, a check is made to determine whether the excavator position has changed. For example, if the absolute value of the vector difference between the current state vector and the state vector of the previous time epoch is less than a predetermined threshold, and this condition is met for a predetermined number of time epochs, it is determined that the excavator position has not changed. If the excavator position has changed, return from the record path update without updating any points.

[0040] In step 606, the state vector components are compared to predetermined thresholds to determine whether the current state vector corresponds to a dump start position. Examples of such components include the bucket angle, the height of the stick-to-bucket connection, the body orientation, and the body angular velocity. In one embodiment of the present disclosure, the dump start point is updated in step 604 if the bucket angle is greater than the predetermined threshold, if the height of the stick-to-bucket connection is greater than the predetermined threshold, if the absolute value of the body angular velocity is less than the predetermined threshold, if a lift point is set, or if the absolute value of the difference between the current body orientation and the body orientation of the lift point is greater than the predetermined threshold.

[0041] In step 607, it is determined whether the current excavator state vector corresponds to a lifted position. In one embodiment, if the height of the stick-to-bucket connection is below a predetermined threshold, then a digging flag is set in step 608. Otherwise, in step 609, if the height of the stick-to-bucket connection is above a predetermined threshold, then a digging flag is set, and in step 602, the lifted point is updated to the current state vector, and in step 610, the digging flag is reset.

[0042] In one embodiment, when it is determined that the excavator track position has changed, the lift point and dump start point state vectors are recalculated so that the geometry of the lift point and dump start point positions in the ground coordinate system remains unchanged.

[0043] Returning to Figure 5, in step 503, the path plan is updated. In one embodiment, the path plan is updated at each discrete time epoch. In one embodiment, the excavator state vector calculated in step 501 is an input for updating the path plan, and the lift point and dump start point updated in step 502 are other inputs for updating the path plan.

[0044] During a path plan update, the excavator state vector, lift point, and dump start point are used to determine a target position so that transitions between control states and excavator control are made automatically.

[0045] 7 is a diagram 700 illustrating control states of an excavator according to an embodiment. In an exemplary embodiment, four control states are used: dig 701, haul 702, dump 703, and deadhead 704.

[0046] In the digging state, an operator manually controls the excavator boom, stick, and bucket and removes material from the ground using the excavator control arm. This process is not automated by the control system due to a variety of complex factors, including load control, rollover risk, and the informal process of removing underground objects. Furthermore, operator fatigue is often not due to the digging itself, but rather primarily to the monotonous transport process, which must be performed quickly with simultaneous control of four degrees of freedom. However, in one embodiment, overcut protection can be implemented by the control system in the digging state. Overcut protection prevents the excavator from digging below the desired design surface by stopping or raising the boom to prevent the bucket from moving below the desired design surface. This eliminates the need to time-consumingly restore the design surface after an undesired overcut. For overcut protection, the desired design surface may be transmitted from a user interface device connected to the control unit.

[0047] In the Haul state 702, the control commands the excavator to autoswing to the dump start point while maintaining the bucket angle in a position that prevents the loaded material from falling.

[0048] In the dump state 703, the controller commands the bucket to rotate and dump the loaded material.

[0049] In the forwarding state 704, the control unit commands the excavator to automatically forward to the excavation start position.

[0050] At each time epoch, the control state is determined from the excavator state vector, the lift point, and the dump start point.

[0051] FIG. 8 is a flowchart of a path plan update algorithm 800 according to an embodiment.

[0052] In step 801, it is determined whether a dump start point or a lift point has been set during the path record update. If a dump start point has not been set or a lift point has not been set, in step 806 the control state is set to "dig".

[0053] In step 802, it is determined whether the control state can be set to "haul." If the control state is "dig" and the height of the connection between the stick and the bucket is higher than a predetermined threshold, the control state is set to "haul" in step 807. Furthermore, if the control state is determined to be "dig" and a new lifting point is set during the path record update step in the current time epoch, the control state is also set to "haul" in step 807.

[0054] In step 803, it is determined whether the control state can be set to "dump". If the control state is "haul" and the dump start position has been reached, then in step 808 the control state is set to "dump". If the control state is "haul" and a new dump start point has been set during the update of the path record at the current time epoch, then in step 808 the control state is set to "dump". To determine whether the dump start position has been reached, the absolute value of the vector difference between the current excavator state vector and the dump start point state vector is calculated, and if it is less than a predetermined threshold, it is determined that the dump start position has been reached.

[0055] In step 804, it is determined whether the transport state can be set to "Dead". If the control state is "Dump" and the material has been dumped, in step 809 the control state is set to "Dead". To determine whether the material has been dumped, the absolute value of the difference between the bucket angle and a predetermined dump end bucket angle is calculated, and if that value is less than a predetermined threshold, it is determined that the material has been dumped. In another embodiment, measurements from a pressure sensor connected to the main hydraulic line are used to determine whether the material has been dumped.

[0056] In step 805, it is determined whether the control state can be set to "digging". If the control state is "deadhead" and the excavation start position has been reached, the control state is set to "digging" in step 806. If the control state is "deadhead" and the height of the connection between the stick and the bucket is lower than a predetermined value, the control state is set to "digging" in step 806. To determine whether the excavation start position has been reached, the absolute value of the vector difference between the excavator state vector excluding the bucket angle and the lifting point state vector is calculated, and the absolute value of the difference between the predetermined bucket angle of attack and the current bucket angle is calculated. If this value is less than a predetermined threshold, it is determined that the excavation start position has been reached.

[0057] When the control state is changed, the following further steps are performed: setting a target or desired position for the controller, and identifying which elements of the excavator need to be commanded by the controller. In one embodiment, the following algorithm is used:

[0058] In the digging state, no path is specified by the control unit, which is set in step 810.

[0059] In step 811, in the carrying state, the rotational paths of the bucket, stick, boom, and body are set as specified by the control unit. In step 812, the desired positions for rotating the stick, boom, and body are obtained from the dump start point, and the desired position for the bucket is predefined as the bucket carrying angle 301 to carry material into the bucket during the move.

[0060] In the dump state, step 813, the bucket path is set as specified by the control unit. In step 814, the desired position of the bucket is set to the bucket dump end angle 302 for dropping and discharging the carried material.

[0061] In step 815, while in the deadhead state, the rotational paths of the bucket, stick, boom, and body are set as specified by the control unit. In step 816, the desired position for rotation of the stick, boom, and body is obtained from the lift point, and the desired position of the bucket is set to a predetermined bucket angle of attack 303, which is a comfortable position for the operator to perform digging.

[0062] Returning to Figure 5, update controller step 504 is the fourth step of the control algorithm executed at each discrete time epoch. In one embodiment, the inputs to the controller are the excavator state vector, the desired position, and the list of designated paths determined in the update path plan step.

[0063] In other embodiments, other inputs to the controller include measurements from pressure sensors connected to the main hydraulic lines, for example, the main hydraulic line pressure measurements are used for local closed loop control, hydraulic cylinder stall detection, and material dump detection.

[0064] In yet another embodiment, other inputs to the control unit include measurements from pressure sensors connected to the main hydraulic lines, for example. These pressure sensor measurements are used to determine whether an operator has overridden the automatic control. When an operator rotates a control arm, the pressure in the corresponding pilot line changes, and this pressure change is detected by the corresponding pressure sensor. When such a pressure change is detected, a decision regarding operator intervention is made by the control unit, and a corresponding action is taken, for example, setting a control signal to zero and setting the control state to "dig." Another example of a corresponding action is a correction of the desired axial position controlled by the operator.

[0065] In yet another embodiment, a user interface device or switch is used by the operator to interrupt the automatic operation of the excavator and switch to manual operation.

[0066] In yet another embodiment, a collision avoidance system is used to interrupt automatic operation and switch to manual operation.

[0067] 9 is a flow chart of a control update algorithm according to an embodiment. The controller is configured to calculate a desired control signal for each of a plurality of control paths.

[0068] If a path is not specified by the controller, the control signal for the path is set to zero in step 901. Otherwise, the desired speed is calculated in step 902, an error signal is calculated in step 903, and a control signal for the path is calculated in step 904.

[0069] As described herein, velocity v is the rate of change of a coordinate x, and position x is the value of this coordinate. In one embodiment of the present invention, velocity v is an angular velocity, e.g., the angular velocity ω at which the body orientation ψ changes. ψ and the position x is an angle, e.g., the body orientation ψ.

[0070] In step 902, a desired velocity v for path k is calculated. dk is the maximum speed v of the route maxk , the desired position x of the path dk and current position x ck The absolute value of the difference between the desired position and the current position |x dk -x ck | is a given value Δx maxk If greater than the desired velocity v dk is the maximum speed v maxk The difference between the desired position and the current position is set to x dk -x ck If is negative, the desired velocity v dk Multiply by -1 so that the sign of the desired velocity is the same as the sign of the difference between the desired position and the current position. dk -x ck | is a given value Δx maxkIf it is smaller, the desired velocity is calculated by dividing the absolute value of the difference between the desired position and the current position by a predetermined value |x dk -x ck | / Δx maxk When the current position is close to the desired position, i.e., when the absolute value of the difference between the desired position and the current position is less than a predetermined value Δx mink If the desired velocity is less than , the desired velocity is set to zero. In other embodiments of the invention, other algorithms for calculating the desired velocity may be used, or the step of calculating the desired velocity may be omitted, and the error and control signals may be calculated directly from the current and desired positions.

[0071] In step 903, the error signal e for path k is calculated. k is the desired velocity of the path, v, obtained from the excavator state vector. dk and the current velocity v ck It is calculated as the difference between

[0072] In step 904, the control signal u for path k is k is calculated. The error signal e k The proportional gain K is given pk and the resulting proportional control signal u pk The error signal is then added to the cumulative sum of the error signals from the previous step. This cumulative sum is then multiplied by a predetermined integral gain K ik and the resulting integral control signal u ik The control signal u k is then the proportional control signal u pk and the integral control signal u ik Then, the control signal u k is limited by predetermined maximum and minimum values ​​and sent to the actuator of the corresponding control path.

[0073] In another embodiment of the present invention, the error signal e k and control signal u k Other methods for calculating the control signal u can be used for each path k. For example,k A nonlinearity correction algorithm can be applied to the calculation of , to correct for actuator nonlinearities such as deadband and hysteresis.

[0074] The final step of the control algorithm is to wait for the next discrete time epoch, step 505. In one embodiment of the present disclosure, a timer provided by the controller's operating system is used to determine the instant in the next time epoch at which the control algorithm steps are repeated.

[0075] The systems, devices, and methods described herein may be implemented using one or more computers using digital circuitry or using known computer processors, memory units, storage devices, computer software, and other components. Typically, a computer includes a processor for executing instructions and one or more memories for storing instructions and data. A computer may also include or be connected to one or more mass storage devices, such as one or more magnetic disks, internal and removable disks, magneto-optical disks, optical disks, etc.

[0076] The systems, devices, and methods described herein may be implemented using a computer program product tangible on an information carrier (e.g., a non-transitory machine-readable storage device) for execution by a programmable processor, and each step in the methods and workflows described herein (including one or more of the steps or functions of FIGS. 3, 5-6, and 8-9) may be implemented using one or more computer programs executable by such a processor. A computer program is a set of computer program instructions that can be used, directly or indirectly, in a computer to perform any action or achieve any result. Computer programs can be written in any type of programming language, such as a compiled or interpreted language, and can be deployed in any type of manner, such as as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in any computing environment.

[0077] FIG. 10 shows a high-level schematic block diagram of an example computer 1000 that can be used to implement the systems, devices, and methods described herein, e.g., control unit 407 of FIG. 4 and control unit 510 of FIG. 5. Computer 1000 includes a processor 1010 operatively connected to a data storage device 1020 and a memory 1030. Processor 1010 controls the overall operation of computer 1000 by executing computer program instructions that define that operation. The computer program instructions may be stored on data storage device 1020 or other computer-readable storage medium and loaded into memory 1030 when the computer program instructions are required for execution. Thus, the steps in the methods and workflows of FIGS. 3, 5-6, and 8-9 may be defined by computer program instructions stored in memory 1030 and / or data storage device 1020 and controlled by processor 1010 executing the computer program instructions. For example, the computer program instructions may be embodied as computer-executable code programmed by one skilled in the art to perform the steps in the methods and workflows of FIGS. 3, 5-6, and 8-9. Thus, by executing the computer program instructions, the processor 1010 performs the steps or functions in the methods and workflows of FIGS. 3, 5-6, and 8-9. The computer 1000 may also include one or more network interfaces 1040 for communicating with other devices over a network. The computer 1000 may also include one or more input / output devices 1050 (e.g., a display, keyboard, mouse, speakers, buttons, etc.) that enable user interaction with the computer 1000. The elements of the computer 1000 may be operably connected via a bus 1080.

[0078] The processor 1010 may include both general-purpose and special-purpose microprocessors and may be the sole processor or one of multiple processors in the computer 1000. The processor 1010 may comprise, for example, one or more central processing units (CPUs). The processor 1010, the data storage 1020, and / or the memory 1030 may include, be supplemented by, or be embedded in one or more application-specific integrated circuits (ASICs) and / or one or more field-programmable gate arrays (FPGAs).

[0079] The data storage device 1020 and the memory 1030 each comprise a computer-readable, tangible, non-transitory storage medium. The data storage device 1020 and the memory 1030 each may include high-speed random access memory such as dynamic random access memory (DRAM), static random access memory (SRAM), double data rate synchronous dynamic random access memory (DDRRAM), or other random-access solid-state memory devices, or may include one or more magnetic disk storage devices such as an internal hard disk, a removable disk, a magneto-optical disk storage device, an optical disk storage device, a flash memory device, a semiconductor memory device such as an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a non-volatile memory such as a compact disk read-only memory (CD-ROM), a digital versatile disk read-only memory (DVD-ROM) disk, or other non-volatile solid-state storage devices.

[0080] Any or all of the systems and devices described herein, including control unit 407 shown in FIG. 4 and control unit 510 shown in FIG. 5, may be implemented using one or more computers, such as computer 1000.

[0081] Those skilled in the art will appreciate that an actual computer or computer system implementation may have a different structure and may include different components, and that FIG. 10 illustrates some of the components of such a computer in a high-level view for illustrative purposes.

[0082] The foregoing Detailed Description is to be understood in all respects as illustrative and not restrictive, and the scope of the inventive concepts disclosed herein should be determined not from this Detailed Description, but from the claims, interpreted in their entirety as permitted by applicable patent law. It should be understood that the embodiments shown and described herein are merely illustrative of the principles of the inventive concepts, and that various modifications may be made by those skilled in the art without departing from the scope and spirit of the inventive concepts. Various other feature combinations could be implemented by those skilled in the art without departing from the scope and spirit of the inventive concepts.

Claims

1. 1. A method for automatically controlling cyclical motion of an earthmoving machine including a plurality of machine elements each controlled by one or more actuators, comprising: Determining a current machine state; calculating a control signal for at least one actuator if the current machine state corresponds to cyclic operation; transmitting the control signal to the at least one actuator to automatically control the cyclical movement; updating the current machine state based on a current machine position in a ground-based coordinate system estimated from a GNSS receiver and angular attitude and angular rate measurements received from an inertial measurement unit; recording paths of the plurality of machine elements of the earthmoving machine during the cyclical operation; determining a target position based on the recorded path and the current machine state. A method characterized by:

2. and repeating updating the current machine state, recording the path, and determining the target position.

2. The method of claim 1.

3. the current machine state corresponds to a cyclic operation when a composite operation is completed; 2. The method of claim 1.

4. If the current machine state corresponds to a combined operation, allowing an operator to perform manual control.

2. The method of claim 1.

5. Machine conditions that fall under combined operations include digging and lifting; 5. The method according to claim 4.

6. Machine states that fall under cyclical operations include transport, dump, and delivery.

2. The method of claim 1.

7. the control signal causes the at least one actuator to swing the earthmoving machine to a dump start point if the current machine state is determined to be hauling.

7. The method according to claim 6.

8. the control signal causes the at least one actuator to rotate a bucket of the earthmoving machine to dump material if the current machine state is determined to be dump; 7. The method according to claim 6.

9. the control signal causes the at least one actuator to be routed to an excavation start point when the current machine state is determined to be routed; 7. The method according to claim 6.

10. updating a dump start point if the current machine state corresponds to the dump start position; updating a lifting point when the current machine state corresponds to a lifting position; determining the current machine state further comprises: determining the current machine state based on the dump start point and the lift point; 2. The method of claim 1.

11. and allowing an operator manual control to manually update the periodic operation.

11. The method according to claim 10.

12. Manually updating the cyclical operation includes manually updating a dump start point or manually updating a lift point.

12. The method according to claim 11 .

13. the current machine state is determined based on inputs from sensors configured to detect a position and a velocity of each of the plurality of machine elements; 2. The method of claim 1.

14. the earthmoving machine is an excavator, and the plurality of machine elements include a body, a boom, a stick, and a bucket; 2. The method of claim 1.

15. 1. A method for automatically controlling cyclical motion of an earthmoving machine including a plurality of machine elements each controlled by one or more actuators, comprising: updating a current machine state based on a current machine position in a ground-based coordinate system estimated from a GNSS receiver and angular attitude and angular rate measurements received from an inertial measurement unit; recording paths of the plurality of machine elements of the earthmoving machine during cyclical operation; determining a target position based on the recorded path and the current machine state; calculating a control signal for at least one actuator based on the target position and the recorded path. A method characterized by:

16. and repeating updating the current machine state, recording the path, and determining the target position.

16. The method of claim 15.

17. and allowing an operator manual control to manually update the periodic operation.

16. The method of claim 15.

18. 1. An apparatus for controlling the cyclical operation of an earthmoving machine including a plurality of machine elements each controlled by one or more actuators, comprising: a control unit including a processor and a non-transitory computer-readable recording medium having computer program instructions recorded thereon, the computer program instructions, when executed by the processor, causing the processor to: Determining a current machine state; calculating a control signal for at least one actuator if the current machine state corresponds to cyclic operation; transmitting the control signal to the at least one actuator to automatically control the cyclical movement; updating a current machine state after the at least one actuator executes the transmitted control signal based on a current machine position in a ground-based coordinate system estimated from a GNSS receiver and angular attitude and angular velocity measurements received from an inertial measurement unit; recording paths of the plurality of machine elements of the earthmoving machine during cyclical operation; determining a target position based on the recorded path and the current machine state; Perform an action including An apparatus characterized in that

19. the current machine state is determined based on inputs from sensors configured to detect a position and a velocity of each of the plurality of machine elements; 19. The device according to claim 18, characterized in that

20. A plurality of machine elements; one or more actuators configured to control each of the plurality of mechanical elements; one or more sensors configured to detect the position and velocity of each of the plurality of mechanical elements; a controller in communication with the one or more sensors and the one or more actuators, the controller automatically controlling cyclical operation of the earthmoving machine by sending control signals to the actuators based on inputs from the sensors; updating the current machine state based on the current machine position in a ground-based coordinate system estimated from the GNSS receiver and the angular attitude and angular rate measurements received from the inertial measurement unit; recording paths of the plurality of machine elements of the earthmoving machine during cyclical operation; determining a target position based on the recorded path and the current machine state; and a control unit configured to An earthmoving machine characterized by:

21. the earthmoving machine is an excavator, and the plurality of machine elements include a body, a boom, a stick, and a bucket; 21. An earthmoving machine according to claim 20.

22. The control unit further includes: calculating a control signal for at least one actuator based on the target position and the recorded path; receiving measurements from one or more pressure sensors; determining, based on the received measurements, whether an operator of the earthmoving machine has disabled automatic control of the at least one actuator that automatically controls the cyclical motion; It is configured as follows:

21. An earthmoving machine according to claim 20.

23. receiving measurements from one or more pressure sensors; 10. The method of claim 1, further comprising: determining, based on the received measurements, whether an operator of the earthmoving machine has disabled automatic control of the at least one actuator automatically controlling the cyclical motion.

24. receiving measurements from one or more pressure sensors; 16. The method of claim 15, further comprising: determining, based on the received measurements, whether an operator of the earth moving machine has disabled automatic control of the at least one actuator automatically controlling the cyclical motion.

25. The processor further comprises: receiving measurements from one or more pressure sensors; and determining, based on the received measurements, whether an operator of the earthmoving machine has disabled automatic control of the at least one actuator that automatically controls the cyclical movement.

26. 2. The method of claim 1, wherein updating the current machine state further comprises updating an estimated state vector of the machine based on the current machine position, the state vector including the current machine position and a velocity of the machine.

27. 16. The method of claim 15, wherein updating the current machine state further comprises updating an estimated state vector of the machine based on the current machine position, the state vector including the current machine position and a velocity of the machine.

28. 20. The apparatus of claim 18, wherein the processor is further configured to perform operations including: updating the current machine state by updating an estimated state vector of the machine based on the current machine position, the state vector including the current machine position and a velocity of the machine.

29. 21. The earthmoving machine of claim 20, wherein the controller is further configured to update the current machine state by updating an estimated state vector of the machine based on the current machine position, the state vector including the current machine position and a velocity of the machine.