Methods and systems for controlling earth-moving vehicle operated by artificial intelligence
Systems and methods of controlling an earth-moving vehicle (EMV) are disclosed. In one aspect, the system includes an EMV having a boom joint, a boom connected at the boom joint, a blade connected to an end of the boom, and a controller communicably coupled to the EMV, the boom and the blade. The controller is configured to move the EMV along a path, compute a target depth for the blade, position the blade to have the target depth, and dynamically adjust the blade to maintain the target depth as the EMV moves along the path.
1 . A method of autonomously operating an earth moving vehicle (EMV) comprising (i) a boom connected to the EMV at a boom joint and (ii) a blade connected to an end of the boom, the method comprising:
(a) determining a trajectory of operation of the EMV;
(b) applying an artificial intelligence model to dynamically determine a target depth of the blade for one or more points on the trajectory of operation by performing at least:
(i) determining a base vector relating to a distance in an x-direction, a y-direction, and a z-direction between the boom joint and a bottom corner of the blade when an angle between the boom joint and the bottom corner of the blade is a reference angle,
(ii) rotating the base vector using a rotation matrix to dynamically generate a current vector, wherein the current vector relates to the distance in an x-direction, a y-direction, and a z-direction between the boom joint and the bottom corner of the blade when the angle between the boom joint and the bottom corner of the blade is more than the reference angle or less than the reference angle at a current timepoint;
(iii) determining a blade position vector at the current timepoint based at least in part on the current vector, and
(iv) determining a current depth of the blade at the current timepoint based at least in part on the blade position vector; and
(c) autonomously adjusting the current depth of the blade based at least in part on the target depth of the blade at the one or more points on the trajectory of operation.
2 . The method of claim 1 , wherein dynamically determining the target depth of the blade comprises dynamically determining a lowest point of the blade.
3 . The method of claim 2 , wherein dynamically determining the lowest point of the blade further comprises determining the base vector.
4 . The method of claim 3 , wherein the base vector comprises the distance in the x-direction, the y-direction, and the z-direction from an (x, y, z) coordinate location of the boom joint to an (x, y, z) coordinate location of the bottom corner of the blade when a blade boom angle and a machine pitch are both at the reference angle.
5 . The method of claim 3 , further comprising retrieving the base vector from a memory.
6 . The method of claim 1 , wherein dynamically generating the current vector further comprises multiplying the base vector by the rotation matrix to rotate the base vector, thereby determining a distance in the x-direction, the y-direction, and the z-direction from an (x, y, z) coordinate location of the boom joint at the current timepoint to an (x, y, z) coordinate location of the lowest point of the blade at the current timepoint.
7 . The method of claim 6 , further comprising multiplying the base vector by the rotation matrix using matrix multiplication.
8 . The method of claim 1 , wherein the rotation matrix comprises:
[
cos
θ
0
sin
θ
0
1
0
-
sin
θ
0
cos
θ
]
,
wherein θ comprises a net pitch angle.
9 . The method of claim 8 , further comprising dynamically determining the net pitch angle.
10 . The method of claim 9 , wherein the net pitch angle is dynamically determined based at least in part on a blade boom angle and a machine pitch.
11 . The method of claim 10 , wherein the net pitch angle is dynamically determined by addition of the blade boom angle and a value relating to the machine pitch.
12 . The method of claim 10 , further comprising dynamically determining (i) the blade boom angle or (ii) the machine pitch, or both (i) and (ii), from sensor data received from one or more sensors of the EMV.
13 . The method of claim 12 , wherein the one or more sensors comprise inclinometers.
14 . The method of claim 10 , further comprising dynamically determining the machine pitch based at least in part on an angle between a bottom plane of the EMV relative to a direction of gravity.
15 . The method of claim 10 , further comprising dynamically determining the blade boom angle based at least in part on an angle formed by the boom relative to a line parallel to a bottom plane of the EMV.
16 . The method of claim 15 , further comprising dynamically determining a center point of the EMV using the one or more sensors of the EMV.
17 . The method of claim 16 , further comprising dynamically determining the center point of the EMV based at least in part on one or more of: a latitude, a longitude, an altitude, or real-time GPS positioning data of the EMV, or any combination thereof, received from the one or more sensors of the EMV.
18 . The method of claim 1 , further comprising dynamically generating the blade position vector by adding the current vector and a boom joint vector, wherein the boom joint vector relates to a distance in an x-direction, a y-direction, and a z-direction between an (x, y, z) coordinate location of the boom joint and an (x, y, z) coordinate location of a machine center of the EMV.
19 . The method of claim 18 , further comprising dynamically generating the boom joint vector based at least in part on a difference between the (x, y, z) coordinate location of the boom joint at the current time point and the (x, y, z) coordinate location of the machine center of the EMV at the current time point.
20 . The method of claim 19 , further comprising dynamically determining the center point of the EMV comprising the (x, y, z) coordinate location of the machine center of the EMV at the current time point, or the position of the boom joint comprising the (x, y, z) coordinate location of the boom joint at the current time point, or both.
21 . The method of claim 1 , wherein the current depth of the blade comprises a z-coordinate of the blade position vector.
22 . The method of claim 1 , wherein dynamically adjusting the current depth of the blade further comprises comparing the current depth of the blade and the target depth of the blade.
23 . The method of claim 22 , wherein dynamically adjusting the current depth of the blade further comprises modifying a blade boom angle where the current depth of the blade is higher or lower than the target depth of the blade.
24 . The method of claim 23 , wherein the blade boom angle comprises an angle of the boom relative to a line parallel to a bottom plane of the EMV.
25 . The method of claim 24 , wherein dynamically adjusting the current depth of the blade further comprises increasing the blade boom angle where the current depth of the blade is lower than the target depth of the blade.
26 . The method of claim 22 , wherein dynamically adjusting the current depth of the blade further comprises decreasing the blade boom angle where the current depth of the blade is higher than the target depth of the blade.
27 . The method of claim 1 , wherein dynamically adjusting the current depth of the blade further comprises adjusting the current depth based at least in part on one or more detected qualities of one or more materials.
28 . The method of claim 1 , further comprising autonomously moving the EMV according to the trajectory of operation while autonomously adjusting the current depth of the blade.
29 . The method of claim 1 , wherein the reference angle is 0 degrees.