EXCAVATOR DUMP AUTOMATION

Information

  • Patent Application
  • 20250116086
  • Publication Number
    20250116086
  • Date Filed
    October 04, 2023
    a year ago
  • Date Published
    April 10, 2025
    6 days ago
Abstract
Described are systems and methods for performing a material dump operation at a construction machine. The machine's control unit receives a first user input to activate a material dump mode. The control unit sets a fixed rotation point in a reference frame that is to be at a constant distance from the bucket pin and/or the leading edge of the bucket. The control unit receives a second user input to cause the bucket to uncurl. While the bucket is uncurling, and in response to receiving the second user input while the material dump mode is activated, the control unit generates one or more control signals causing one or more elements of the machine's arm to vertically rotate so as to maintain the constant distance.
Description
BACKGROUND OF THE INVENTION

Modern mobile machinery, including construction and agricultural machines, have dramatically increased the efficiency of performing various work-related tasks. For example, earthmoving machines employing automatic grade control systems are able to grade project areas using fewer passes than what was previously done manually. As another example, modern asphalt pavers and other road makers have allowed replacement of old roads and construction of new roads to occur on the order of hours and days instead of what once took place over weeks and months. Due to the automation of various aspects, construction and agriculture projects can be carried out by crews with fewer individuals than what was previously required. The technological breakthroughs in mobile machinery owe much to the availability of accurate sensors that allow real-time monitoring of the condition and position of a machine's components and/or the surrounding environment.


Despite the improvements to modern mobile machinery, new systems, methods, and techniques are still needed.


SUMMARY OF THE INVENTION

A summary of the various embodiments of the invention is provided below as a list of examples. As used below, any reference to a series of examples is to be understood as a reference to each of those examples disjunctively (e.g., “Examples 1-4” is to be understood as “Examples 1, 2, 3, or 4”).


Example 1 is a computer-implemented method of performing a material dump operation at a construction machine, the computer-implemented method comprising: receiving a first user input to activate a material dump mode of the construction machine, the construction machine having a bucket and an arm that are pivotally connected via a bucket pin; setting a fixed rotation point in a reference frame that is to be at a constant distance during the material dump operation from one or both of (i) the bucket pin and/or (ii) a leading edge of the bucket; receiving a second user input while the material dump mode is activated to cause the bucket to uncurl; and while the bucket is uncurling, and in response to receiving the second user input while the material dump mode is activated, generating one or more control signals causing one or more elements of the arm to vertically rotate so as to maintain the constant distance from the fixed rotation point while the bucket is uncurling.


Example 2 is the computer-implemented method of example(s) 1, wherein the second user input causes a bucket actuator of the construction machine to retract, causing the bucket to uncurl.


Example 3 is the computer-implemented method of example(s) 1-2, wherein the arm of the construction machine comprises a boom and a stick, wherein the boom is semi-rigidly connected to the stick, and the stick is semi-rigidly connected to the bucket.


Example 4 is the computer-implemented method of example(s) 3, wherein generating the one or more control signals causes a stick actuator and a boom actuator of the construction machine to extend or retract to maintain the leading edge of the bucket at the constant distance from the fixed rotation point while the bucket is uncurling.


Example 5 is the computer-implemented method of example(s) 4, wherein generating the one or more control signals includes, for each time step of multiple time steps: determining an actual angle associated with the bucket at the time step; and calculating a target angle associated with the stick and a target angle associated with the boom based on the actual angle associated with the bucket at the time step and the fixed rotation point; wherein the one or more control signals cause an actual angle associated with the stick to align with the target angle associated with the stick and an actual angle associated with the boom to align with the target angle associated with the boom.


Example 6 is the computer-implemented method of example(s) 1-5, wherein the fixed rotation point is set to be within an inner 50% region formed by parallel lines between the bucket pin and the leading edge that are orthogonal to a line connecting the bucket pin and the leading edge.


Example 7 is the computer-implemented method of example(s) I-6, wherein the constant distance from the bucket pin to the fixed rotation point is greater than the constant distance from the leading edge of the bucket to the fixed rotation point during the material dump operation.


Example 8 is the computer-implemented method of example(s) 1-7, wherein the construction machine is an excavator.


Example 9 is a non-transitory computer-readable medium comprising instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising: receiving a first user input to activate a material dump mode of a construction machine, the construction machine having a bucket and an arm that are pivotally connected via a bucket pin; setting a fixed rotation point in a reference frame that is to be at a constant distance during a material dump operation from one or both of (i) the bucket pin and/or (ii) a leading edge of the bucket; receiving a second user input while the material dump mode is activated to cause the bucket to uncurl; and while the bucket is uncurling, and in response to receiving the second user input while the material dump mode is activated, generating one or more control signals causing one or more elements of the arm to vertically rotate so as to maintain the constant distance from the fixed rotation point while the bucket is uncurling.


Example 10 is the non-transitory computer-readable medium of example(s) 9, wherein the second user input causes a bucket actuator of the construction machine to retract, causing the bucket to uncurl.


Example 11 is the non-transitory computer-readable medium of example(s) 9, wherein the arm of the construction machine comprises a boom and a stick, wherein the boom is semi-rigidly connected to the stick, and the stick is semi-rigidly connected to the bucket, wherein generating the one or more control signals causes a stick actuator and a boom actuator of the construction machine to extend or retract to maintain the leading edge of the bucket at the constant distance from the fixed rotation point while the bucket is uncurling.


Example 12 is the non-transitory computer-readable medium of example(s) 11, wherein generating the one or more control signals includes, for each time step of multiple time steps: determining an actual angle associated with the bucket at the time step; and calculating a target angle associated with the stick and a target angle associated with the boom based on the actual angle associated with the bucket at the time step and the fixed rotation point; wherein the one or more control signals cause an actual angle associated with the stick to align with the target angle associated with the stick and an actual angle associated with the boom to align with the target angle associated with the boom.


Example 13 is the non-transitory computer-readable medium of example(s) 9, wherein the fixed rotation point is set to be within an inner 50% region formed by parallel lines between the bucket pin and the leading edge that are orthogonal to a line connecting the bucket pin and the leading edge.


Example 14 is the non-transitory computer-readable medium of example(s) 9, wherein the constant distance from the bucket pin to the fixed rotation point is greater than the constant distance from the leading edge of the bucket to the fixed rotation point during the material dump operation.


Example 15 is a system comprising: one or more processors; and a computer-readable medium comprising instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising: receiving a first user input to activate a material dump mode of a construction machine, the construction machine having a bucket and an arm that are pivotally connected via a bucket pin; setting a fixed rotation point in a reference frame that is to be at a constant distance during a material dump operation from one or both of (i) the bucket pin and/or (ii) a leading edge of the bucket; receiving a second user input while the material dump mode is activated to cause the bucket to uncurl; and while the bucket is uncurling, and in response to receiving the second user input while the material dump mode is activated, generating one or more control signals causing one or more elements of the arm to vertically rotate so as to maintain the constant distance from the fixed rotation point while the bucket is uncurling.


Example 16 is the system of example(s) 15, wherein the second user input causes a bucket actuator of the construction machine to retract, causing the bucket to uncurl.


Example 17 is the system of example(s) 15, wherein the arm of the construction machine comprises a boom and a stick, wherein the boom is semi-rigidly connected to the stick, and the stick is semi-rigidly connected to the bucket, wherein generating the one or more control signals causes a stick actuator and a boom actuator of the construction machine to extend or retract to maintain the leading edge of the bucket at the constant distance from the fixed rotation point while the bucket is uncurling.


Example 18 is the system of example(s) 17, wherein generating the one or more control signals includes, for each time step of multiple time steps: determining an actual angle associated with the bucket at the time step; and calculating a target angle associated with the stick and a target angle associated with the boom based on the actual angle associated with the bucket at the time step and the fixed rotation point; wherein the one or more control signals cause an actual angle associated with the stick to align with the target angle associated with the stick and an actual angle associated with the boom to align with the target angle associated with the boom.


Example 19 is the system of example(s) 15, wherein the fixed rotation point is set to be within an inner 50% region formed by parallel lines between the bucket pin and the leading edge that are orthogonal to a line connecting the bucket pin and the leading edge.


Example 20 is the system of example(s) 15, wherein the constant distance from the bucket pin to the fixed rotation point is greater than the constant distance from the leading edge of the bucket to the fixed rotation point during the material dump operation.





BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are included to provide a further understanding of the disclosure, are incorporated in and constitute a part of this specification, illustrate embodiments of the disclosure and together with the detailed description serve to explain the principles of the disclosure. No attempt is made to show structural details of the disclosure in more detail than may be necessary for a fundamental understanding of the disclosure and various ways in which it may be practiced.



FIG. 1 illustrates a side view of an example construction machine.



FIGS. 2A and 2B illustrate example rotations of a bucket while performing curling and uncurling actions, respectively.



FIGS. 3A and 3B illustrate an example rotation of a bucket while performing a material dump operation.



FIGS. 4A and 4B illustrate an example rotation of a bucket while performing a material dump operation.



FIG. 5 illustrates example placements of a fixed rotation point between a bucket pin and a leading edge of a bucket.



FIG. 6 illustrates an example calculation of target boom and stick angles while performing a material dump operation.



FIGS. 7A-7C illustrate example states of a construction machine while performing a material dump operation.



FIG. 8 illustrates an example machine control system.



FIG. 9 illustrates an example method of controlling a construction machine to perform a material dump operation.



FIG. 10 illustrates an example computer system comprising various hardware elements.





In the appended figures, similar components and/or features may have the same numerical reference label. Further, various components of the same type may be distinguished by following the reference label with a letter or by following the reference label with a dash followed by a second numerical reference label that distinguishes among the similar components and/or features. If only the first numerical reference label is used in the specification, the description is applicable to any one of the similar components and/or features having the same first numerical reference label, irrespective of the suffix.


DETAILED DESCRIPTION OF THE INVENTION

Excavators play an important role in construction projects by performing tasks such as digging, trenching, material handling, and demolition. An excavator performs material handling through a combination of its various components and hydraulic systems. In one example, the excavator operator positions the machine near the material to be handled. The operator uses the hydraulic controls in the cabin to extend and retract the arm, as well as to control the angle of the bucket. Once the bucket is positioned over the material, the operator uses the hydraulic controls to engage the bucket to scoop up soil, rocks, or debris. The operator then activates the excavator's hydraulic system to lift the material off the ground and rotate the excavator's platform to swing the material to the desired location. Once the bucket is properly positioned, the operator gradually rotates the bucket to place the material on the desired spot. The hydraulic controls can enable precise lowering and release of the material.


Releasing the material in a precise location using an excavator can be challenging due to the uncurling motion of the bucket. For example, it is typically difficult to release the material in a relatively confined or specific area as different amounts of material are released at different points in the uncurling motion, causing the released material to extend over several feet. In many cases, the majority of the material may be released when the bucket is halfway through the uncurling motion, and the remaining material may slowly be released during the remainder of the motion, resulting in a wide area with deposited material.


Embodiments of the present invention relate to techniques for automatically controlling an excavator's arm during a material dump operation in a manner such that material is deposited in a confined area. In some cases, the automatic motion of the excavator's arm is triggered when the operator-controlled motion of the excavator's bucket is detected. The operator of the excavator may activate a material dump mode by pressing a button. Then, the operator may operate the hydraulic controls to vertically rotate the bucket to perform an uncurling motion. As the bucket is uncurled, the boom and stick cylinders are automatically actuated without user control, causing the bucket to rotate around a fixed rotation point that is set between the bucket pin and the bucket's leading edge.


In the following description, various examples will be described. For purposes of explanation, specific configurations and details are set forth in order to provide a thorough understanding of the examples. However, it will also be apparent to one skilled in the art that the example may be practiced without the specific details. Furthermore, well-known features may be omitted or simplified in order not to obscure the embodiments being described.


The figures herein follow a numbering convention in which the first digit or digits correspond to the figure number and the remaining digits identify an element or component in the figure. Similar elements or components between different figures may be identified by the use of similar digits. For example, 108 may reference element “08” in FIG. 1, and a similar element may be referenced as 208 in FIG. 2. As will be appreciated, elements shown in the various embodiments herein can be added, exchanged, and eliminated so as to provide a number of additional embodiments of the present disclosure. In addition, the proportion and the relative scale of the elements provided in the figures are intended to illustrate certain embodiments of the present disclosure and should not be taken in a limiting sense.



FIG. 1 illustrates a side view of an example construction machine 100, in accordance with some embodiments of the present disclosure. Specifically, FIG. 1 shows construction machine 100 being deployed at a construction site 132 and having the control thereof at least partially implemented by a control unit 160. While construction site 132 is generally described herein as corresponding to an earthmoving site such as a road or building construction site, the present disclosure is applicable to a wide variety of construction, maintenance, or agricultural projects in which heavy equipment or mobile machinery are used. Similarly, while construction machine 100 is generally described herein as corresponding to an earthmoving construction machine such as an excavator, the various techniques described herein may be applicable to a wide variety of construction machines or heavy equipment such as graders, bulldozers, backhoes, trenchers, pavers, compactors, scrapers, loaders, material handlers, forklifts, combine harvesters, spreaders, and the like.


Construction machine 100 may have various embodiments, such as a tractor with wheels, axles, and a gasoline-, diesel-, electric-, or steam-powered engine that provides power and traction to drive along a desired path, typically at a constant speed. Construction machine 100 may be a tracked vehicle that uses a continuous track of treads or track plates driven by the vehicle's wheels. An operator can control construction machine 100 by providing inputs to control unit 160 using a range of input devices, including levers, switches, buttons, pedals, steering wheels, and touch screens. These inputs can cause various actuators to move construction machine 100.


In some examples, construction machine 100 may include an undercarriage 106 supporting the entire machine structure. Undercarriage 106 is designed to provide stability, mobility, and ground clearance, thereby facilitating movement of construction machine 100 on various terrains and conditions. A platform 104 is positioned above undercarriage 106 and is horizontally rotatable with respect to the undercarriage 106 via a platform joint 120. Platform 104 serves as a base for mounting various components of construction machine 100, including a cab which houses an operator of construction 100 as well as an arm 128 that connects bucket 110 to platform 104, where arm 128 includes a boom 102 and a stick 108. The platform's ability to rotate horizontally about an axis of rotation enables construction machine 100 to maneuver easily in tight spaces and improves its operational efficiency.


Boom 102 is vertically rotatable with respect to platform 104 via a boom pin 134 and, in some examples, is also horizontally rotatable with respect to platform 104 via a boom swing joint. This dual-axis rotation allows boom 102 to cover a wide range of motion and provides construction machine 100 with increased flexibility during operation. Stick 108 is pivotally connected to boom 102 via a stick pin 136. Stick 108, in combination with boom 102, enables construction machine 100 to achieve a greater reach and depth during digging and material handling operations. A bucket 110 is pivotally connected to stick 108 and is designed to scoop, dig, carry, and transport materials (e.g., soil, rock, or debris) during excavation and construction processes. Bucket 110 may rotate vertically with respect to stick 108 about an axis of rotation that is aligned with a bucket pin 122 that serves as the pivotal connection between bucket 110 and stick 108.


Construction machine 100 further includes several actuators (e.g., cylinders) that facilitate the movement of boom 102, stick 108, and bucket 110. Movement of a boom actuator 114 causes boom 102 to rotate vertically with respect to platform 104. Movement of a stick actuator 116 causes stick 108 to rotate vertically with respect to boom 102, and movement of an implement actuator 118 causes bucket 110 to rotate vertically with respect to stick 108. Optionally, a boom swing actuator (not shown) can cause boom 102 to rotate horizontally with respect to platform 104 about an axis of rotation. Each of these actuators may be hydraulic cylinders that convert the hydraulic fluid's pressure into mechanical force.


In some embodiments, boom 102 and platform 104 may be considered as separate bodies that have a semi-rigid coupling between them. This coupling is semi-rigid in that the bodies can move relative to each other but can also be fixed at a given orientation. Boom 102 and platform 104 may therefore be considered to be semi-rigidly connected. Similarly, undercarriage 106 and platform 104 may be semi-rigidly connected, boom 102 and stick 108 may be semi-rigidly connected, and stick 108 and bucket 110 may be semi-rigidly connected.


During operation of construction machine 100, bucket 110 can be curled or uncurled by utilizing the rotational movement facilitated by bucket pin 122, stick pin 136 and/or boom pin 134. The movement of curling and uncurling bucket 110 of an excavator can involve using the excavator's hydraulic system to manipulate bucket actuator 118, stick actuator 116, and/or boom actuator 114. In one example, when the operator wants to curl or close the bucket of the excavator, the operator activates the hydraulic controls responsible for extending bucket actuator 118, as pressurized hydraulic fluid enters bucket actuator 118, it pushes the piston rod outward, causing bucket 110 to pivot around bucket pin 122 and move a leading edge 124 of bucket 110 closer to the excavator's body. Simultaneously, the operator may extend stick actuator 116 and retract (or extend) boom actuator 114 to pull arm 128 toward the excavator' body.


To uncurl or open the bucket, the process is reversed. The operator retracts bucket actuator 118 by controlling the hydraulic system, causing the piston rod of bucket actuator 118 to retract, allowing bucket 110 to pivot in the opposite direction around bucket pin 122. Simultaneously, in some instances, the operator may retract stick actuator 116 and extend (or retract) boom actuator 114 to pull arm 128 away from the excavator' body. By retracting bucket actuator 118 while retracting stick actuator 116, leading edge 124 of bucket 110 moves away from the machine's body, resulting in the bucket uncurling or opening.


In some embodiments, control unit 160 may determine the geospatial position of construction machine 100 based on sensor data captured by one or more sensors mounted to construction machine 100. For example, a position sensor (not shown in FIG. 1) may be mounted to construction machine 100 and may include a global navigation satellite system (GNSS) receiver that receives wireless signals from one or more GNSS satellites. By processing the received wireless signals, a geospatial position of the GNSS receiver may be calculated. The calculated geospatial position may assist control unit 160 in determining geospatial positions of the various components of construction machine 100 in a world reference frame.



FIGS. 2A and 2B illustrate example rotations of a bucket 210 while performing curling and uncurling actions, respectively, in accordance with some embodiments of the present disclosure. In FIGS. 2A and 2B, bucket 210 is rotated with respect to a bucket pin 222, which pivotally connects bucket 210 to the stick. In FIG. 2A, the bucket actuator (e.g., cylinder) is extended to curl the bucket, causing a leading edge 224 of bucket 210 to start at position p1 and pass through positions p2 to p13, which form an arc 225A. In FIG. 2B, the bucket actuator is retracted to uncurl the bucket, causing leading edge 224 of bucket 210 to start at position p13 and pass through positions p12 to p1, which form an arc 225B (which differs from arc 225A only in direction).



FIGS. 3A and 3B illustrate an example rotation of a bucket 310 while performing a material dump operation, in accordance with some embodiments of the present disclosure. In FIG. 3A, a fixed rotation point 338 is set between a bucket pin 322 and a leading edge 324 of bucket 310 at position p10. In FIG. 3B, the bucket actuator is retracted to uncurl bucket 310 and, in combination with the retraction of the bucket actuator, the stick actuator and the boom actuator are retracted and/or extended to rotate bucket 310 with respect to fixed rotation point 338.


As shown in FIG. 3B, during the material dump operation, leading edge 324 of bucket 310 starts at position p1 and passes through positions p2 to p9, forming an arc 325. During the entirety of arc 325, leading edge 324 of bucket 310 is at a constant distance from fixed rotation point 338. Furthermore, during the material dump operation, bucket pin 322 starts at position p11 and passes through positions p12 to p19, forming an arc 323. During the entirety of arc 325, bucket pin 322 is at a constant distance from fixed rotation point 338.



FIGS. 4A and 4B illustrate an example rotation of a bucket 410 while performing a material dump operation, in accordance with some embodiments of the present disclosure. In FIG. 4A, a fixed rotation point 438 is set between a bucket pin 422 and a leading edge 424 of bucket 410 at position p14. In this example, fixed rotation point 438 is set closer to the leading edge and more toward the bottom of the bucket compared to the example in FIGS. 3A and 3B. In FIG. 4B, the bucket actuator is retracted to uncurl bucket 410 and, in combination with the retraction of the bucket actuator, the stick actuator and the boom actuator are retracted and/or extended to rotate bucket 410 with respect to fixed rotation point 438.


As shown in FIG. 4B, during the material dump operation, leading edge 424 of bucket 410 starts at position p1 and passes through positions p2 to p13, forming an arc 425. During the entirety of arc 425, leading edge 424 of bucket 410 is at a constant distance from fixed rotation point 438. Furthermore, during the material dump operation, bucket pin 422 starts at position p15 and passes through positions p16 to p27, forming an arc 423. During the entirety of arc 425, bucket pin 422 is at a constant distance from fixed rotation point 438.



FIG. 5 illustrates example placements of a fixed rotation point 538 between a bucket pin 522 and a leading edge 524 of a bucket 510, in accordance with some embodiments of the present disclosure. In the illustrated example, four equally spaced parallel lines between bucket pin 522 and leading edge 524 are used to define possible regions where fixed rotation point 538 can be set. The four equally spaced parallel lines are orthogonal to a virtual line connecting bucket pin 522 and leading edge 524. A first possible fixed rotation point 538-1 is set within the 25% region closest to bucket pin 522 and is within bucket 520. A second possible fixed rotation point 538-2 is set within one of the inner 25% regions that is closest to bucket pin 522 and is outside bucket 520. A third possible fixed rotation point 538-3 is set within one of the inner 25% regions that is closest to bucket pin 522 and is within bucket 520. A fourth possible fixed rotation point 538-4 is set within one of the inner 25% regions that is closest to leading edge 524 and is within bucket 520. A fifth possible fixed rotation point 538-5 is set within the 25% region closest to leading edge 524 and is within bucket 520.


Each of the possible fixed rotation points 538 can offer different dumping characteristics. In some instances, the operator of an excavator can select one of several possible fixed rotation points prior to performing a material dump operation. This selection may be based on the material type and/or particle size. For example, for a material having a small particle size (such as sand), it may be desirable to select a fixed rotation point closer to leading edge 524, whereas for a material having a larger particle size (such as gravel or rocks), it may be desirable to select a fixed rotation point closer to bucket pin 522. In some examples, the type of material and/or particle size may be detected using sensors mounted to the excavator, and the fixed rotation point may be set based on the detected material type and/or detected particle size, with a fixed rotation point being set closer to bucket pin 522 upon detecting a material having a larger particle size (e.g., average particle size greater than a threshold) and a fixed rotation point being set closer to leading edge 524 upon detecting a material having a smaller particle size (e.g., average particle size less than the threshold).



FIG. 6 illustrates an example calculation of target boom and stick angles while performing a material dump operation, in accordance with some embodiments of the present disclosure. A construction machine 600 is depicted in FIG. 6 having an undercarriage 606 and a platform 604 positioned above undercarriage 606 and is horizontally rotatable with respect to undercarriage 606 via a platform joint 620. Construction machine 600 further includes a boom 602 that is vertically rotatable with respect to platform 604 via a boom pin 634, a stick 608 that is vertically rotatable with respect to boom 602 via stick pin 636 (where boom 602 and stick 608 collectively form an arm 628), and a bucket 610 that is vertically rotatable with respect to stick 608 via bucket pin 622.


In some examples, during a material dump operation and while bucket 610 is uncurling, the control unit of construction machine 600 may generate control signals to cause stick 608 and/or boom 602 to vertically rotate to achieve the rotation of bucket 610 around a fixed rotation point 638. To facilitate this, the control unit may maintain several angles such as a bucket angle θBUCKET, a stick angle θSTICK, and a boom angle θBOOM, where bucket angle θBUCKET is defined as the angle between the orientation of bucket 610 (e.g., the line connecting bucket pin 622 and leading edge 624) and the orientation of stick 608 (e.g., the line connecting stick pin 636 and bucket pin 622), stick angle θSTICK is defined as the angle between the orientation of stick 608 and the orientation of boom 602 (e.g., the line connecting boom pin 634 and stick pin 636), and boom angle θBOOM is defined as the angle between the orientation of boom 602 and the orientation of platform 604.


In some examples, the control unit may first determine an actual bucket angle θBUCKET, an actual stick angle θSTICK, and an actual boom angle θBOOM using one or more sensors mounted to construction machine 600 (e.g., an IMU mounted to each component). Next, the control unit may determine the actual position(s) of bucket pin 622 and/or leading edge 624. Next, the control unit may compare bucket pin 622 and/or leading edge 624 to fixed rotation point 638 to determine target position(s) of bucket pin 622 and/or leading edge 624. For example, these target positions should follow arcs that maintain constant distances from fixed rotation point 638. Next, the control unit calculates a target stick angle θSTICK and a target boom angle θBOOM based on the target position(s) of bucket pin 622 and/or leading edge 624, and the actual bucket angle θBUCKET.


Optionally, the target stick angle θSTICK and the target boom angle θBOOM may be calculated further based on the actual stick angle θSTICK, and the actual boom angle θBOOM.


The control unit can generate a first control signal for controlling the boom actuator to move boom 602 so as to align the actual boom angle θBOOM with the target boom angle θBOOM.


Alternatively or additionally, the control unit can generate a second control signal for controlling the stick actuator to move stick 608 so as to align the actual stick angle θSTICK with the target stick angle θSTICK. Each of the above steps may be repeated for each time step of multiple time steps. For example, at a second time step after a first time step, actual angles and actual positions are redetermined, target stick and boom angles are recalculated, and control signals are regenerated to rotate the boom and stick to align actual stick and boom angles with target boom and stick angles.



FIGS. 7A-7C illustrate example states of a construction machine 700 while performing a material dump operation, in accordance with some embodiments of the present disclosure. Construction machine 700 may correspond to any of the previously described construction machines, and may include a boom 702, a stick 708, and a bucket 710. At time T1, the control unit of construction machine receives a first user input to activate a material dump mode, and accordingly sets a fixed rotation point 738 between the bucket pin and the leading edge and also within bucket 710.


Between times T1 and T2, the control unit receives a second user input to gradually uncurl bucket 710, causing the bucket actuator to retract and the bucket angle θBUCKET to increase. While bucket angle θBUCKET increases between times T1 and T2, the control unit generates a first control signal that causes the boom actuator to extend and the boom angle θBOOM to increase and a second control signal that causes the stick actuator to extend and the stick angle θSTICK to decrease. As shown in FIG. 7B, fixed rotation point 738 remains at fixed distances from the bucket pin and the leading edge when compared to FIG. 7A.


Between times T2 and T3, the control unit continues to receive the second user input and continues to gradually uncurl bucket 710, causing the bucket actuator to retract and the bucket angle θBUCKET to again increase. While bucket angle θBUCKET increases between times T2 and T3, the control unit generates a third control signal (or an updated first control signal) that causes the boom actuator to retract and the boom angle θBOOM to decrease. The control unit also generates a fourth control signal (or an updated second control signal) that causes the stick actuator to extend and the stick angle θSTICK to decrease. As shown in FIG. 7C, fixed rotation point 738 remains at fixed distances from the bucket pin and the leading edge when compared to FIGS. 7A and 7B.



FIG. 8 illustrates an example machine control system 850, in accordance with some embodiments of the present disclosure. Machine control system 850 may include various input devices 852, sensors 854, actuators 856, and computing devices for allowing one or more operators of the construction machine to complete a work-related task. The components of machine control system 850 may be mounted to or integrated with the components of the construction machine such that the construction machine may be considered to include machine control system 850. The components of machine control system 850 may be communicatively coupled to each other via one or more wired and/or wireless connections.


Machine control system 850 may include a control unit 860 that receives data from the various sensors and inputs and generates commands that are sent to the various actuators and output devices. In the illustrated example, control unit 860 receives an input signal 853 from input device(s) 852 and sensor data 855 from sensor(s) 854, and generates control signal(s) 857 which are sent to actuator(s) 856. Control unit 860 may include one or more processors and an associated memory. In some embodiments, control unit 860 may be communicatively coupled to an external computing system 862 located external to machine control system 850 and the construction machine. External computing system 862 may send instructions to control unit 860 of the details of a work-related task. External computing system 862 may also send alerts and other general information to control unit 860, such as traffic conditions, weather conditions, the locations and status of material transfer vehicles, and the like.


An operator can use input device(s) 852 to produce input signal 853 that indicates a desired movement of the vehicle, a desired movement of the implement, a desired rotation of the implement, a desired extension distance of the implement, a desired height of the implement, an activation of one or more mechanisms on the implement (e.g., sprayers, cutters, etc.), and the like. Input device(s) 852 can include a keyboard, a touchscreen, a touchpad, a switch, a lever, a button, a steering wheel, an acceleration pedal, a brake pedal, and the like. Input device(s) 852 can be mounted to any physical part of the vehicle, such as within the cab of the vehicle, or may include one or more wearable or handheld devices.


Sensor(s) 854 can include one or more position sensor(s) 858 and/or inertial sensor(s) 865. Position sensor(s) 858 can be a combination of GNSS receivers, which determine position using wireless signals received from satellites, and total stations, which determine position by combining distance, vertical angle, and horizontal angle measurements. Inertial sensor(s) 865 can include one or more sensors that detect movement of the components of the construction machine to which they are rigidly attached. For example, inertial sensor(s) 865 can include one or more gyroscopes for detecting angular acceleration, angular rate and/or angular position, one or more accelerometers for detecting linear acceleration, linear velocity, and/or linear position, one or more inertial measurement units (IMUs) which may each include one or more accelerometers, one or more gyroscopes, and/or one or more magnetometers for detecting the above-listed types of data, among other possibilities.


Inertial sensor(s) 865 can directly detect angular rate and integrate to obtain angular position, or alternatively, an inertial sensor can directly measure angular position and determine a change in angular position (e.g., compute the derivative) to obtain angular rate. In many instances, inertial sensor(s) 865 can be used to determine the yaw angle (rotation angle with respect to a vertical axis), the pitch angle (rotation angle with respect to a transverse axis), and/or the roll angle (rotation angle with respect to a longitudinal axis) of the construction machine.


Control unit 860 may include various controllers and modules to assist in the generation of control signal(s) 857. Each of the controllers and modules may include dedicated hardware and/or may be performed using the main processor and/or memory of control unit 860. Control signal(s) 857 may include direct current (DC) or alternating current (AC) voltage signals, DC or AC current signals, and/or information-containing signals. An example of an information-containing signal may be a controller area network (CAN) message that may be sent along a CAN bus or other communication medium. In some instances, control signal(s) 857 include a pneumatic or hydraulic pressure. Upon receiving control signal(s) 857, actuator(s) 856 may be caused to move in a specified manner, such as by extending, retracting, rotating, lifting, or lowering by a specified amount. Actuator(s) 856 may use various forms of power to provide movement to the components of the construction machine. For example, actuator(s) 856 may be electric, hydraulic, pneumatic, mechanical, or thermal, among other possibilities. Actuator(s) 856 may include a boom actuator (e.g., a boom cylinder), a stick actuator (e.g., a stick cylinder), an implement actuator (e.g., an implement cylinder), a boom swing actuator (e.g., a boom swing cylinder), among other possibilities.



FIG. 9 illustrates an example method 900 of controlling a construction machine (e.g., construction machines 100, 600, 700) to perform a material dump operation, in accordance with some embodiments of the present disclosure. Steps of method 900 may be performed in any order and/or in parallel, and one or more steps of method 900 may be optionally performed. One or more steps of method 900 may be performed by one or more processors, such as those included in a control unit. Method 900 may be implemented as a computer-readable medium or computer program product comprising instructions which, when the program is executed by one or more processors, cause the one or more processors to carry out the steps of method 800.


At step 902, a control unit (e.g., control units 160, 860) receives a first user input (e.g., input data 853) to activate a material dump mode of the construction machine. The construction machine may include a bucket (e.g., buckets 110, 210, 310, 410, 510, 610, 710) and an arm (e.g., arms 128, 628) that are pivotally connected via a bucket pin (e.g., bucket pins 122, 222, 322, 422, 522, 622). Activation of the material dump mode may enable automatic control of the arm in response to detection of operator-controlled motion of the bucket.


At step 904, the control unit sets a fixed rotation point (e.g., fixed rotation points 338, 438, 538, 638) in a reference frame that is to be at a constant distance during the material dump operation from one or both of the bucket pin and/or a leading edge (e.g., leading edges 124, 224, 324, 424, 524, 624) of the bucket. The reference frame may be a machine reference frame or a world reference frame. The fixed rotation point may be between the bucket pin and the leading edge. The fixed rotation point may be set to be within an inner 50% region formed by four equally spaced parallel lines between the bucket pin and the leading edge that are orthogonal to a line connecting the bucket pin and the leading edge (e.g., the inner 50% region corresponding to the union of the two inner 25% regions). In some examples, the constant distance from the bucket pin to the fixed rotation point may be greater than the constant distance from the leading edge of the bucket to the fixed rotation point during the material dump operation.


At step 906, the control unit receives a second user input (e.g., input data 853) while the material dump mode is activated. The second user input may cause control signals (e.g., control signals 857) to be generated to cause the bucket to uncurl. For example, the second user input may cause a bucket actuator (e.g., bucket actuator 118) to retract.


At step 908, the control unit generates, while the bucket is uncurling, and in response to receiving the second user input while the material dump mode is activated, one or more control signals (e.g., control signals 857) causing one or more elements of the arm to vertically rotate so as to maintain the constant distance from the fixed rotation point while the bucket is uncurling. The one or more control signals may include a first control signal that causes a boom actuator (e.g., boom actuator 114) to extend or retract to vertically rotate a boom (e.g., booms 102, 602, 702) and/or a second control signal that causes a stick actuator (e.g., stick actuator 116) to extend or retract to vertically rotate a stick (e.g., sticks 108, 608, 708).


In some examples, generating the one or more control signals includes, for each time step of multiple time steps, determining an actual angle associated with the bucket at the time step and calculating a target angle associated with the boom and a target angle associated with the stick based on the actual angle associated with the bucket at the time step and the fixed rotation point. In some examples, target positions of the bucket pin and/or the leading edge can be calculated based on the relationship between current (actual) positions of the bucket pin and/or the leading edge and the fixed rotation point. At each time step, the first and second control signals can be updated (or regenerated) based on the target angles associated with the boom and stick, respectively).



FIG. 10 illustrates an example computer system 1000 comprising various hardware elements, in accordance with some embodiments of the present disclosure. Computer system 1000 may be incorporated into or integrated with devices described herein and/or may be configured to perform some or all of the steps of the methods provided by various embodiments. For example, in various embodiments, computer system 1000 may be incorporated into control units 160, 860 and/or may be configured to perform method 900. It should be noted that FIG. 10 is meant only to provide a generalized illustration of various components, any or all of which may be utilized as appropriate. FIG. 10, therefore, broadly illustrates how individual system elements may be implemented in a relatively separated or relatively more integrated manner.


In the illustrated example, computer system 1000 includes a communication medium 1002, one or more processor(s) 1004, one or more input device(s) 1006, one or more output device(s) 1008, a communications subsystem 1010, and one or more memory device(s) 1012. Computer system 1000 may be implemented using various hardware implementations and embedded system technologies. For example, one or more elements of computer system 1000 may be implemented within an integrated circuit (IC), an application-specific integrated circuit (ASIC), an application-specific standard product (ASSP), a field-programmable gate array (FPGA), such as those commercially available by XILINX®, INTEL®, or LATTICE SEMICONDUCTOR®, a system-on-a-chip (SoC), a microcontroller, a printed circuit board (PCB), and/or a hybrid device, such as an SoC FPGA, among other possibilities.


The various hardware elements of computer system 1000 may be communicatively coupled via communication medium 1002. While communication medium 1002 is illustrated as a single connection for purposes of clarity, it should be understood that communication medium 1002 may include various numbers and types of communication media for transferring data between hardware elements. For example, communication medium 1002 may include one or more wires (e.g., conductive traces, paths, or leads on a PCB or integrated circuit (IC), microstrips, striplines, coaxial cables), one or more optical waveguides (e.g., optical fibers, strip waveguides), and/or one or more wireless connections or links (e.g., infrared wireless communication, radio communication, microwave wireless communication), among other possibilities.


In some embodiments, communication medium 1002 may include one or more buses that connect the pins of the hardware elements of computer system 1000. For example, communication medium 1002 may include a bus that connects processor(s) 1004 with main memory 1014, referred to as a system bus, and a bus that connects main memory 1014 with input device(s) 1006 or output device(s) 1008, referred to as an expansion bus. The system bus may itself consist of several buses, including an address bus, a data bus, and a control bus. The address bus may carry a memory address from processor(s) 1004 to the address bus circuitry associated with main memory 1014 in order for the data bus to access and carry the data contained at the memory address back to processor(s) 1004. The control bus may carry commands from processor(s) 1004 and return status signals from main memory 1014. Each bus may include multiple wires for carrying multiple bits of information and each bus may support serial or parallel transmission of data.


Processor(s) 1004 may include one or more central processing units (CPUs), graphics processing units (GPUs), neural network processors or accelerators, digital signal processors (DSPs), and/or other general-purpose or special-purpose processors capable of executing instructions. A CPU may take the form of a microprocessor, which may be fabricated on a single IC chip of metal-oxide semiconductor field-effect transistor (MOSFET) construction. Processor(s) 1004 may include one or more multi-core processors, in which each core may read and execute program instructions concurrently with the other cores, increasing speed for programs that support multithreading.


Input device(s) 1006 may include one or more of various user input devices such as a mouse, a keyboard, a microphone, as well as various sensor input devices, such as an image capture device, a temperature sensor (e.g., thermometer, thermocouple, thermistor), a pressure sensor (e.g., barometer, tactile sensor), a movement sensor (e.g., accelerometer, gyroscope, tilt sensor), a light sensor (e.g., photodiode, photodetector, charge-coupled device), and/or the like. Input device(s) 1006 may also include devices for reading and/or receiving removable storage devices or other removable media. Such removable media may include optical discs (e.g., Blu-ray discs, DVDs, CDs), memory cards (e.g., CompactFlash card, Secure Digital (SD) card, Memory Stick), floppy disks, Universal Serial Bus (USB) flash drives, external hard disk drives (HDDs) or solid-state drives (SSDs), and/or the like.


Output device(s) 1008 may include one or more of various devices that convert information into human-readable form, such as without limitation a display device, a speaker, a printer, a haptic or tactile device, and/or the like. Output device(s) 1008 may also include devices for writing to removable storage devices or other removable media, such as those described in reference to input device(s) 1006. Output device(s) 1008 may also include various actuators for causing physical movement of one or more components. Such actuators may be hydraulic, pneumatic, electric, and may be controlled using control signals generated by computer system 1000.


Communications subsystem 1010 may include hardware components for connecting computer system 1000 to systems or devices that are located external to computer system 1000, such as over a computer network. In various embodiments, communications subsystem 1010 may include a wired communication device coupled to one or more input/output ports (e.g., a universal asynchronous receiver-transmitter (UART)), an optical communication device (e.g., an optical modem), an infrared communication device, a radio communication device (e.g., a wireless network interface controller, a BLUETOOTH® device, an IEEE 802.11 device, a Wi-Fi device, a Wi-Max device, a cellular device), among other possibilities.


Memory device(s) 1012 may include the various data storage devices of computer system 1000. For example, memory device(s) 1012 may include various types of computer memory with various response times and capacities, from faster response times and lower capacity memory, such as processor registers and caches (e.g., L0, L1, L2), to medium response time and medium capacity memory, such as random-access memory (RAM), to lower response times and lower capacity memory, such as solid-state drives and hard drive disks. While processor(s) 1004 and memory device(s) 1012 are illustrated as being separate elements, it should be understood that processor(s) 1004 may include varying levels of on-processor memory, such as processor registers and caches that may be utilized by a single processor or shared between multiple processors.


Memory device(s) 1012 may include main memory 1014, which may be directly accessible by processor(s) 1004 via the address and data buses of communication medium 1002. For example, processor(s) 1004 may continuously read and execute instructions stored in main memory 1014. As such, various software elements may be loaded into main memory 1014 to be read and executed by processor(s) 1004 as illustrated in FIG. 10. Typically, main memory 1014 is volatile memory, which loses all data when power is turned off and accordingly needs power to preserve stored data. Main memory 1014 may further include a small portion of non-volatile memory containing software (e.g., firmware, such as BIOS) that is used for reading other software stored in memory device(s) 1012 into main memory 1014. In some embodiments, the volatile memory of main memory 1014 is implemented as RAM, such as dynamic random-access memory (DRAM), and the non-volatile memory of main memory 1014 is implemented as read-only memory (ROM), such as flash memory, erasable programmable read-only memory (EPROM), or electrically erasable programmable read-only memory (EEPROM).


Computer system 1000 may include software elements, shown as being currently located within main memory 1014, which may include an operating system, device driver(s), firmware, compilers, and/or other code, such as one or more application programs, which may include computer programs provided by various embodiments of the present disclosure. Merely by way of example, one or more steps described with respect to any methods discussed above, may be implemented as instructions 1016, which are executable by computer system 1000. In one example, such instructions 1016 may be received by computer system 1000 using communications subsystem 1010 (e.g., via a wireless or wired signal that carries instructions 1016), carried by communication medium 1002 to memory device(s) 1012, stored within memory device(s) 1012, read into main memory 1014, and executed by processor(s) 1004 to perform one or more steps of the described methods. In another example, instructions 1016 may be received by computer system 1000 using input device(s) 1006 (e.g., via a reader for removable media), carried by communication medium 1002 to memory device(s) 1012, stored within memory device(s) 1012, read into main memory 1014, and executed by processor(s) 1004 to perform one or more steps of the described methods.


In some embodiments of the present disclosure, instructions 1016 are stored on a computer-readable storage medium (or simply computer-readable medium). Such a computer-readable medium may be non-transitory and may therefore be referred to as a non-transitory computer-readable medium. In some cases, the non-transitory computer-readable medium may be incorporated within computer system 1000. For example, the non-transitory computer-readable medium may be one of memory device(s) 1012 (as shown in FIG. 10). In some cases, the non-transitory computer-readable medium may be separate from computer system 1000. In one example, the non-transitory computer-readable medium may be a removable medium provided to input device(s) 1006 (as shown in FIG. 10), such as those described in reference to input device(s) 1006, with instructions 1016 being read into computer system 1000 by input device(s) 1006. In another example, the non-transitory computer-readable medium may be a component of a remote electronic device, such as a mobile phone, that may wirelessly transmit a data signal that carries instructions 1016 to computer system 1000 and that is received by communications subsystem 1010 (as shown in FIG. 10).


Instructions 1016 may take any suitable form to be read and/or executed by computer system 1000. For example, instructions 1016 may be source code (written in a human-readable programming language such as Java, C, C++, C#, Python), object code, assembly language, machine code, microcode, executable code, and/or the like. In one example, instructions 1016 are provided to computer system 1000 in the form of source code, and a compiler is used to translate instructions 1016 from source code to machine code, which may then be read into main memory 1014 for execution by processor(s) 1004. As another example, instructions 1016 are provided to computer system 1000 in the form of an executable file with machine code that may immediately be read into main memory 1014 for execution by processor(s) 1004. In various examples, instructions 1016 may be provided to computer system 1000 in encrypted or unencrypted form, compressed or uncompressed form, as an installation package or an initialization for a broader software deployment, among other possibilities.


In one aspect of the present disclosure, a system (e.g., computer system 1000) is provided to perform methods in accordance with various embodiments of the present disclosure.


For example, some embodiments may include a system comprising one or more processors (e.g., processor(s) 1004) that are communicatively coupled to a non-transitory computer-readable medium (e.g., memory device(s) 1012 or main memory 1014). The non-transitory computer-readable medium may have instructions (e.g., instructions 1016) stored therein that, when executed by the one or more processors, cause the one or more processors to perform the methods described in the various embodiments.


In another aspect of the present disclosure, a computer-program product that includes instructions (e.g., instructions 1016) is provided to perform methods in accordance with various embodiments of the present disclosure. The computer-program product may be tangibly embodied in a non-transitory computer-readable medium (e.g., memory device(s) 1012 or main memory 1014). The instructions may be configured to cause one or more processors (e.g., processor(s) 1004) to perform the methods described in the various embodiments.


In another aspect of the present disclosure, a non-transitory computer-readable medium (e.g., memory device(s) 1012 or main memory 1014) is provided. The non-transitory computer-readable medium may have instructions (e.g., instructions 1016) stored therein that, when executed by one or more processors (e.g., processor(s) 1004), cause the one or more processors to perform the methods described in the various embodiments.


The methods, systems, and devices discussed above are examples. Various configurations may omit, substitute, or add various procedures or components as appropriate. For instance, in alternative configurations, the methods may be performed in an order different from that described, and/or various stages may be added, omitted, and/or combined. Also, features described with respect to certain configurations may be combined in various other configurations. Different aspects and elements of the configurations may be combined in a similar manner. Also, technology evolves and, thus, many of the elements are examples and do not limit the scope of the disclosure or claims.


Specific details are given in the description to provide a thorough understanding of exemplary configurations including implementations. However, configurations may be practiced without these specific details. For example, well-known circuits, processes, algorithms, structures, and techniques have been shown without unnecessary detail in order to avoid obscuring the configurations. This description provides example configurations only, and does not limit the scope, applicability, or configurations of the claims. Rather, the preceding description of the configurations will provide those skilled in the art with an enabling description for implementing described techniques. Various changes may be made in the function and arrangement of elements without departing from the spirit or scope of the disclosure.


Having described several example configurations, various modifications, alternative constructions, and equivalents may be used without departing from the spirit of the disclosure. For example, the above elements may be components of a larger system, wherein other rules may take precedence over or otherwise modify the application of the technology. Also, a number of steps may be undertaken before, during, or after the above elements are considered.


Accordingly, the above description does not bind the scope of the claims.


As used herein and in the appended claims, the singular forms “a”, “an”, and “the” include plural references unless the context clearly dictates otherwise. Thus, for example, reference to “a user” includes reference to one or more of such users, and reference to “a processor” includes reference to one or more processors and equivalents thereof known to those skilled in the art, and so forth.


Also, the words “comprise,” “comprising,” “contains,” “containing,” “include,” “including,” and “includes,” when used in this specification and in the following claims, are intended to specify the presence of stated features, integers, components, or steps, but they do not preclude the presence or addition of one or more other features, integers, components, steps, acts, or groups.


It is also understood that the examples and embodiments described herein are for illustrative purposes only and that various modifications or changes in light thereof will be suggested to persons skilled in the art and are to be included within the spirit and purview of this application and scope of the appended claims.

Claims
  • 1. A computer-implemented method of performing a material dump operation at a construction machine, the computer-implemented method comprising: receiving a first user input to activate a material dump mode of the construction machine, the construction machine having a bucket and an arm that are pivotally connected via a bucket pin;setting a fixed rotation point in a reference frame that is to be at a constant distance during the material dump operation from one or both of (i) the bucket pin and/or (ii) a leading edge of the bucket;receiving a second user input while the material dump mode is activated to cause the bucket to uncurl; andwhile the bucket is uncurling, and in response to receiving the second user input while the material dump mode is activated, generating one or more control signals causing one or more elements of the arm to vertically rotate so as to maintain the constant distance from the 13 fixed rotation point while the bucket is uncurling.
  • 2. The computer-implemented method of claim 1, wherein the second user input causes a bucket actuator of the construction machine to retract, causing the bucket to uncurl.
  • 3. The computer-implemented method of claim 1, wherein the arm of the construction machine comprises a boom and a stick, wherein the boom is semi-rigidly connected to the stick, and the stick is semi-rigidly connected to the bucket.
  • 4. The computer-implemented method of claim 3, wherein generating the one or more control signals causes a stick actuator and a boom actuator of the construction machine to extend or retract to maintain the leading edge of the bucket at the constant distance from the fixed rotation point while the bucket is uncurling.
  • 5. The computer-implemented method of claim 4, wherein generating the one or more control signals includes, for each time step of multiple time steps: determining an actual angle associated with the bucket at the time step; andcalculating a target angle associated with the stick and a target angle associated with the boom based on the actual angle associated with the bucket at the time step and the fixed rotation point;wherein the one or more control signals cause an actual angle associated with the stick to align with the target angle associated with the stick and an actual angle associated with the boom to align with the target angle associated with the boom.
  • 6. The computer-implemented method of claim 1, wherein the fixed rotation point is set to be within an inner 50% region formed by parallel lines between the bucket pin and the leading edge that are orthogonal to a line connecting the bucket pin and the leading edge.
  • 7. The computer-implemented method of claim 1, wherein the constant distance from the bucket pin to the fixed rotation point is greater than the constant distance from the leading edge of the bucket to the fixed rotation point during the material dump operation.
  • 8. The computer-implemented method of claim 1, wherein the construction machine is an excavator.
  • 9. A non-transitory computer-readable medium comprising instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising: receiving a first user input to activate a material dump mode of a construction machine, the construction machine having a bucket and an arm that are pivotally connected via a bucket pin;setting a fixed rotation point in a reference frame that is to be at a constant distance during a material dump operation from one or both of (i) the bucket pin and/or (ii) a leading edge of the bucket;receiving a second user input while the material dump mode is activated to cause the bucket to uncurl; andwhile the bucket is uncurling, and in response to receiving the second user input while the material dump mode is activated, generating one or more control signals causing one or more elements of the arm to vertically rotate so as to maintain the constant distance from the fixed rotation point while the bucket is uncurling.
  • 10. The non-transitory computer-readable medium of claim 9, wherein the second user input causes a bucket actuator of the construction machine to retract, causing the bucket to uncurl.
  • 11. The non-transitory computer-readable medium of claim 9, wherein the arm of the construction machine comprises a boom and a stick, wherein the boom is semi-rigidly connected to the stick, and the stick is semi-rigidly connected to the bucket, wherein generating the one or more control signals causes a stick actuator and a boom actuator of the construction machine to extend or retract to maintain the leading edge of the bucket at the constant distance from the fixed rotation point while the bucket is uncurling.
  • 12. The non-transitory computer-readable medium of claim 11, wherein generating the one or more control signals includes, for each time step of multiple time steps: determining an actual angle associated with the bucket at the time step; andcalculating a target angle associated with the stick and a target angle associated with the boom based on the actual angle associated with the bucket at the time step and the fixed rotation point;wherein the one or more control signals cause an actual angle associated with the stick to align with the target angle associated with the stick and an actual angle associated with 8 the boom to align with the target angle associated with the boom.
  • 13. The non-transitory computer-readable medium of claim 9, wherein the fixed rotation point is set to be within an inner 50% region formed by parallel lines between the bucket pin and the leading edge that are orthogonal to a line connecting the bucket pin and the leading edge.
  • 14. The non-transitory computer-readable medium of claim 9, wherein the constant distance from the bucket pin to the fixed rotation point is greater than the constant distance from the leading edge of the bucket to the fixed rotation point during the material dump operation.
  • 15. A system comprising: one or more processors; anda computer-readable medium comprising instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising: receiving a first user input to activate a material dump mode of a construction machine, the construction machine having a bucket and an arm that are pivotally connected via a bucket pin;setting a fixed rotation point in a reference frame that is to be at a constant distance during a material dump operation from one or both of (i) the bucket pin and/or (ii) a leading edge of the bucket;receiving a second user input while the material dump mode is activated to cause the bucket to uncurl; andwhile the bucket is uncurling, and in response to receiving the second user input while the material dump mode is activated, generating one or more control signals causing one or more elements of the arm to vertically rotate so as to maintain the constant distance from the fixed rotation point while the bucket is uncurling.
  • 16. The system of claim 15, wherein the second user input causes a bucket actuator of the construction machine to retract, causing the bucket to uncurl.
  • 17. The system of claim 15, wherein the arm of the construction machine comprises a boom and a stick, wherein the boom is semi-rigidly connected to the stick, and the stick is semi-rigidly connected to the bucket, wherein generating the one or more control signals causes a stick actuator and a boom actuator of the construction machine to extend or retract to maintain the leading edge of the bucket at the constant distance from the fixed rotation point while the bucket is uncurling.
  • 18. The system of claim 17, wherein generating the one or more control signals includes, for each time step of multiple time steps: determining an actual angle associated with the bucket at the time step; andcalculating a target angle associated with the stick and a target angle associated with the boom based on the actual angle associated with the bucket at the time step and the fixed rotation point;wherein the one or more control signals cause an actual angle associated with the stick to align with the target angle associated with the stick and an actual angle associated with the boom to align with the target angle associated with the boom.
  • 19. The system of claim 15, wherein the fixed rotation point is set to be within an inner 50% region formed by parallel lines between the bucket pin and the leading edge that are orthogonal to a line connecting the bucket pin and the leading edge.
  • 20. The system of claim 15, wherein the constant distance from the bucket pin to the fixed rotation point is greater than the constant distance from the leading edge of the bucket to the fixed rotation point during the material dump operation.