Bulldozer planning and control

JP2026527428APending Publication Date: 2026-08-14AIM INTELLIGENT MACHINES INC
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-08-06
Publication Date
2026-08-14

Smart Images

  • Figure 2026527428000001_ABST
    Figure 2026527428000001_ABST
Patent Text Reader

Abstract

A system and method for planning and controlling a bulldozer is disclosed.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0004] ,

[0003] , , ,

[0001] Cross-reference This application claims priority to U.S. Application No. 18 / 470,275, filed Sep. 19, 2023, which claims the benefit of U.S. Provisional Patent Application No. 63 / 518,238, filed Aug. 8, 2023, and each application is hereby incorporated by reference in its entirety for all purposes.

Background Art

[0002] Earthmoving vehicles (EMVs) are heavy machines designed to move large amounts of earth, rock, soil, or rubble during construction, mining, agriculture, or any other construction activity. These vehicles are designed to perform various operations such as excavation, grading, leveling, hauling, and demolition. A bulldozer can be used to move and level soil across large areas. Grading in construction involves forming a surface that is flat or has a specific slope for construction operations such as building a foundation, road, railroad, landscape, or drainage.

Summary of the Invention

[0003] In one aspect, a computer-implemented method for controlling an earthmoving vehicle (EMV) having a blade is disclosed herein, the method comprising, by a computer, guiding the EMV in a target area having a portion of soil to be removed, wherein the blade is not in contact with the ground; detecting, by the computer, one or more changes in the terrain of the target area; generating, by the computer, a terrain map at least partially based on the one or more changes in the terrain; determining, by the computer, a path that the EMV traverses at least partially based on the terrain map; and dynamically adjusting, by the computer, the depth of the blade as the EMV traverses the path to obtain a target volume of soil.

[0004] In some embodiments, the terrain map includes multiple features, including one or more elevations, angles, slopes, distances, and / or soil types. In some embodiments, the step of detecting one or more changes includes detecting multiple features using a sensor. In some embodiments, the sensor includes a LiDAR (Light Detection and Ranging) detector mounted on an EMV. In some embodiments, the sensor uses kinematic modeling to detect one or more blind spots of the LiDAR detector. In some embodiments, the kinematic modeling includes calculating one or more angles, velocities, terrain perception, and blade position. In some embodiments, the sensor includes an Inertial Measurement Unit (IMU). In some embodiments, the terrain map is three-dimensional (3D). In some embodiments, the step of generating the terrain map includes generating a piecewise linear function of the target area. In some embodiments, the piecewise linear function includes a two-dimensional (2D) representation of the target area, where the 2D representation corresponds to the x and z directions of the terrain. In some embodiments, the x direction represents lateral movement from the cutting start point to the cutting end point, and the z direction represents vertical movement from the cutting start point to the cutting end point. In some embodiments, the piecewise linear function includes one or more angles between multiple slopes of the terrain. In some embodiments, the step of generating a terrain map includes approximating one or more features of the terrain. In some embodiments, the piecewise linear function includes multiple linear segments connected to each other, and approximating one or more features includes setting the length of the linear segments to a predetermined length. In some embodiments, the method further includes the step of calculating the target depth by computer, at least in part, based on the target volume of soil, before dynamically adjusting the depth. In some embodiments, the target volume is equal to the product of the target depth and the blade width and the target cutting distance. In some embodiments, the target distance includes the cutting distance of the EMV, the cutting start point, and the cutting end point. In some embodiments, moving the EMV includes moving the EMV from the cutting start point and cutting end point for a dry run. In some embodiments, moving the EMV includes moving the EMV from the cutting end point to the cutting start point after a dry run.In some embodiments, the step of determining the path includes determining the target depth of the blade at each point between the cutting start point and the cutting end point. In some embodiments, moving the EMV includes moving the EMV along one or more elevations and / or one or more slopes of the target area. In some embodiments, the EMV includes a bulldozer. In some embodiments, the method further includes the steps of a computer determining that the volume of soil in the blade is at its maximum capacity before the EMV crosses the path; the computer instructing the EMV to raise the blade of the EMV above ground level at the breaking point; and the computer moving the EMV away from the path to remove soil from the blade. In some embodiments, the method further includes the steps of a computer returning to the breaking point after removing soil from the blade; the computer determining the remainder of the path that the EMV will cross to remove soil; and the computer instructing the EMV to resume dynamic adjustment of the blade depth until it reaches the cutting point.

[0005] In another embodiment, a computer-implemented method for controlling an engineering vehicle (EMV) equipped with a blade passing through a target area is provided herein, the method comprising: recording a topographic map of the target area while the EMV traverses at least a portion of the target area using a computer; generating a piecewise linear model of the contour of the target area based on the topographic map of the target area using a computer; and generating a cutting path including a cutting start position, a cutting end position, and a cutting depth using a computer, based on the piecewise linear model and the dimensions of the blade.

[0006] In some embodiments, the step of recording a topographic map of the target area includes recording the kinematic motion of the EMV, recording a topographic scan captured by one or more sensors coupled to the EMV, or both. In some embodiments, the sensors include laser sensors, LiDAR detectors, sonar sensors, radar, ultrasonic sensors, or any combination thereof. In some embodiments, the EMV includes a tractor, crane, or bulldozer. In some embodiments, the EMV is autonomous or semi-autonomous. In some embodiments, the EMV is driverless. In some embodiments, the method further includes the step of instructing the EMV by a computer to traverse a portion of the target area. In some embodiments, the blade dimensions include blade width, blade depth, blade height, blade volume, or any combination thereof. In some embodiments, the method further includes the step of instructing the EMV by a computer to traverse a cutting path at a generated cutting depth. In some embodiments, the method further includes the step of measuring by a computer the weight of the soil cut by the EMV's blade, the volume of soil cut by the EMV's blade, or both. In some embodiments, the method further includes the step of ending the cutting path when a predetermined weight of soil, a predetermined volume of soil, or both have been cut by the EMV blade. In some embodiments, the method further includes the step of a computer regenerating the cutting path based on the ended cutting path.

[0007] In another embodiment, a computer-implemented system including a digital processing device is provided herein, the system including a digital processing device

[0008] In some embodiments, the terrain map includes multiple features, including one or more elevations, angles, slopes, distances, and / or soil types. In some embodiments, detecting one or more changes includes using a sensor to detect multiple features. In some embodiments, the sensor includes a LiDAR (Light Detection and Ranging) detector mounted on an EMV. In some embodiments, the sensor uses kinematic modeling to detect one or more blind spots of the LiDAR detector. In some embodiments, the kinematic modeling includes calculating one or more angles, velocities, terrain perception, and blade position. In some embodiments, the sensor includes an IMU (Infrared Measure Unit). In some embodiments, the terrain map is three-dimensional (3D). In some embodiments, generating the terrain map includes generating a piecewise linear function of the target area. In some embodiments, the piecewise linear function includes a two-dimensional (2D) representation of the target area, where the 2D representation corresponds to the x and z directions of the terrain. In some embodiments, the x direction represents lateral movement from the cutting start point to the cutting end point, and the z direction represents vertical movement from the cutting start point to the cutting end point. In some embodiments, the piecewise linear function includes one or more angles between multiple slopes of the terrain. In some embodiments, generating a terrain map includes approximating one or more features of the terrain. In some embodiments, a piecewise linear function includes a plurality of linear segments connected to each other, and approximating one or more features includes setting the length of the linear segments to a predetermined length. In some embodiments, the application further includes a module that calculates the target depth based at least partially on the target volume of soil. In some embodiments, the target volume is equal to the product of the target depth, the blade width, and the target cutting distance. In some embodiments, the target distance includes the cutting distance of the EMV, the cutting start point, and the cutting end point. In some embodiments, moving the EMV includes moving the EMV from the cutting start point and cutting end point for a dry run. In some embodiments, moving the EMV includes moving the EMV from the cutting end point to the cutting start point after a dry run.In some embodiments, determining the path includes determining the target depth of the blade at each point between the cutting start point and the cutting end point. In some embodiments, moving the EMV includes moving the EMV along one or more elevations and / or one or more slopes of the target area. In some embodiments, the EMV includes a bulldozer. In some embodiments, the application further includes a module that determines that the volume of soil in the blade is at its maximum capacity before the EMV traverses the path, a module that instructs the EMV to raise the EMV's blade above ground level at the break point, and a module that moves the EMV away from the path to remove soil from the blade. In some embodiments, the application further includes a module that instructs the EMV to return to the break point after removing soil from the blade, a module that determines the remainder of the path the EMV traverses to remove soil, and a module that instructs the EMV to resume dynamic adjustment of the blade depth until it reaches the cutting point.

[0009] In another embodiment, a computer-implemented system including a digital processing device is provided herein, the system including a digital processing device comprising at least one processor, an operating system configured to execute executable instructions, memory, and a computer program containing instructions executable by the digital processing device for creating an application for controlling an engineering vehicle (EMV) having a blade traversing a target area, the application including a module for recording a topographic map of the target area while the EMV traverses at least a portion of the target area, a module for generating a piecewise linear model of the contour of the target area based on the topographic map of the target area, and a module for generating a cutting path including a cutting start position, a cutting end position, and a cutting depth based on the piecewise linear model and the dimensions of the blade. In some embodiments, recording a topographic map of the target area includes recording the kinematic motion of the EMV, recording a topographic scan captured by one or more sensors coupled to the EMV, or both. In some embodiments, the sensors include laser sensors, LiDAR detectors, sonar sensors, radar, ultrasonic sensors, or any combination thereof. In some embodiments, the EMV includes a tractor, crane, or bulldozer. In some embodiments, the EMV is autonomous or semi-autonomous. In some embodiments, the EMV is driverless. In some embodiments, the application further includes a module that instructs the EMV to traverse a portion of a target area. In some embodiments, the dimensions of the blade include blade width, blade depth, blade height, blade volume, or any combination thereof. In some embodiments, the application further includes a module that instructs the EMV to traverse a cutting path at the resulting cutting depth. In some embodiments, the application further includes a module that measures the weight of soil cut by the EMV's blade, the volume of soil cut by the EMV's blade, or both. In some embodiments, the application further includes a module that terminates the cutting path when a predetermined weight of soil, a predetermined volume of soil, or both have been cut by the EMV's blade.In some embodiments, the application further includes a module that regenerates the cutting path based on the completed cutting path.

[0010] In another embodiment, a non-temporary computer-readable storage medium is provided herein, coded with a computer program containing instructions executable by a processor for creating an application for controlling an engineering vehicle (EMV) equipped with blades, the application including a module for guiding the EMV in a target area having a portion of soil to be removed, wherein the blades are not in contact with the ground; a module for detecting one or more changes in the topography of the target area; a module for generating a topographic map at least in part on one or more changes in the topography; a module for determining a path for the EMV to traverse at least in part on the topographic map; and a module for dynamically adjusting the depth of the blades as the EMV traverses the path to obtain a target volume of soil.

[0011] In some embodiments, the terrain map includes multiple features, including one or more elevations, angles, slopes, distances, and / or soil types. In some embodiments, detecting one or more changes includes using a sensor to detect multiple features. In some embodiments, the sensor includes a LiDAR (Light Detection and Ranging) detector mounted on an EMV. In some embodiments, the sensor uses kinematic modeling to detect one or more blind spots of the LiDAR detector. In some embodiments, the kinematic modeling includes calculating one or more angles, velocities, terrain perception, and blade position. In some embodiments, the sensor includes an IMU (Infrared Measure Unit). In some embodiments, the terrain map is three-dimensional (3D). In some embodiments, generating the terrain map includes generating a piecewise linear function of the target area. In some embodiments, the piecewise linear function includes a two-dimensional (2D) representation of the target area, where the 2D representation corresponds to the x and z directions of the terrain. In some embodiments, the x direction represents lateral movement from the cutting start point to the cutting end point, and the z direction represents vertical movement from the cutting start point to the cutting end point. In some embodiments, the piecewise linear function includes one or more angles between multiple slopes of the terrain. In some embodiments, generating a terrain map includes approximating one or more features of the terrain. In some embodiments, a piecewise linear function includes multiple linear segments connected to each other, and approximating one or more features includes setting the length of the linear segments to a predetermined length. In some embodiments, the application further includes a module that, by computer, calculates the target depth based at least partially on the target volume of soil before dynamically adjusting the depth. In some embodiments, the target volume is equal to the product of the target depth and the blade width and the target cutting distance. In some embodiments, the target distance includes the cutting distance of the EMV, the cutting start point, and the cutting end point. In some embodiments, moving the EMV includes moving the EMV from the cutting start point and cutting end point for a dry run. In some embodiments, moving the EMV includes moving the EMV from the cutting end point to the cutting start point after a dry run.In some embodiments, determining the path includes determining the target depth of the blade at each point between the cutting start point and the cutting end point. In some embodiments, moving the EMV includes moving the EMV along one or more elevations and / or one or more slopes of the target area. In some embodiments, the EMV includes a bulldozer. In some embodiments, the application further includes a module that determines that the volume of soil in the blade is at its maximum capacity before the EMV traverses the path, a module that instructs the EMV to raise the EMV's blade above ground level at the break point, and a module that moves the EMV away from the path to remove soil from the blade. In some embodiments, the application further includes a module that instructs the EMV to return to the break point after removing soil from the blade, a module that determines the remainder of the path the EMV traverses to remove soil, and a module that instructs the EMV to resume dynamic adjustment of the blade depth until it reaches the cutting point.

[0012] In another embodiment, a non-temporary computer-readable storage medium is provided herein, coded with a computer program containing instructions executable by a processor for creating an application for controlling an engineering vehicle (EMV) having a blade passing through a target area, the application including a module for recording a topographic map of the target area while the EMV traverses at least a portion of the target area; a module for generating a piecewise linear model of the contour of the target area based on the topographic map of the target area; and a module for generating a cutting path including a cutting start position, a cutting end position, and a cutting depth based on the piecewise linear model and the dimensions of the blade.

[0013] In some embodiments, recording a topographic map of a target area includes recording the kinematic motion of the EMV, recording a topographic scan captured by one or more sensors coupled to the EMV, or both. In some embodiments, the sensors include laser sensors, LiDAR detectors, sonar sensors, radar, ultrasonic sensors, or any combination thereof. In some embodiments, the EMV includes a tractor, crane, or bulldozer. In some embodiments, the EMV is autonomous or semi-autonomous. In some embodiments, the EMV is driverless. In some embodiments, the application further includes a module that instructs the EMV to traverse a portion of the target area. In some embodiments, the blade dimensions include blade width, blade depth, blade height, blade volume, or any combination thereof. In some embodiments, the application further includes a module that instructs the EMV to traverse a cutting path at the resulting cutting depth. In some embodiments, the application further includes a module that measures the weight of soil cut by the EMV's blade, the volume of soil cut by the EMV's blade, or both. In some embodiments, the application further includes a module that terminates the cutting path when a predetermined weight of soil, a predetermined volume of soil, or both have been cut by the EMV blade. In some embodiments, the application further includes a module that regenerates the cutting path based on the terminated cutting path. [Brief explanation of the drawing]

[0014] Novel features of this disclosure are described in detail in the appended claims. A better understanding of the features and advantages of this disclosure will be obtained by referring to the following detailed description and appended drawings which describe exemplary embodiments in which the principles of this disclosure are utilized. [Figure 1] Figure 1 shows a diagram of a first exemplary computer-based method for controlling an engineering vehicle (EMV) according to one or more embodiments of this specification. [Figure 2]Figure 2 shows a diagram of a second exemplary computer-implemented method for controlling EMV according to one or more embodiments of this specification. [Figure 3A] Figure 3A shows an exemplary EMV with the blade in an upward position according to one or more embodiments of this specification. [Figure 3B] Figure 3B shows an exemplary EMV diagram of the blade in the drilling position according to one or more embodiments of this specification. [Figure 4] Figure 4 shows an exemplary EMV diagram, according to one or more embodiments of this specification, which is guided through a target area to form a topographic map. [Figure 5] Figure 5 shows an exemplary EMV diagram illustrating the removal of a portion of soil from a target area according to one or more embodiments of this specification. [Figure 6] Figure 6 shows an exemplary EMV diagram forming a topographic map according to one or more embodiments of this specification. [Figure 7] Figure 7 shows a non-limiting example of a computing device, in this case a device having one or more processors, memory, storage, and network interfaces. [Figure 8] Figure 8 shows a non-exclusive example of a web / mobile application provisioning system, in this case a system that provides a browser-based and / or native mobile user interface. [Figure 9] Figure 9 shows a non-limiting example of a cloud-based web / mobile application provisioning system, in which the system comprises elastically load-balanced, auto-scaling web server and application server resources, as well as a synchronously replicated database. [Modes for carrying out the invention]

[0015] Site preparation is the process of reshaping land at a construction site. This may include raising or lowering ground levels, adding or removing slopes, or leveling the ground surface. Generally, site preparation is done to create proper drainage and / or to prepare the land to withstand the weight of buildings, roads, and other structures. Site preparation varies depending on the scale and needs of each project. Proper site preparation prevents the accumulation of water and other liquids that can damage grass, attract mosquitoes, and cause structural damage. Proper site preparation can also prevent future construction problems, for example, as placing foundations on uneven ground can be costly to repair.

[0016] Land leveling can be difficult for a variety of reasons. Firstly, leveling by human operators to estimate the leveling depth can pose safety problems when heavy machinery (e.g., bulldozers) is in the area. Also, effective and efficient leveling takes into account soil type, drainage angle, swelling, and / or groundwater level, which can be difficult to do manually.

[0017] Currently, ground leveling is performed by human operators who control the movement of bulldozers and the relative position of the EMV blades, but human error and lack of precision can lead to repetition and inefficiency. Autonomous ground leveling options would reduce the hazards of working conditions and increase productivity and speed. Such automation requires the ability to operate both the Earth Mobility Vehicle (EMV) and its attachments and tools with precision.

[0018] Accordingly, methods, systems, and media for the autonomous operation of EMVs and their components are provided herein. The terrain mapping and contour recording methods, systems, and media herein enable precise and accurate soil removal and leveling by autonomous EMVs.

[0019] Methods, systems, and media for controlling EMV In one aspect, a computer-implemented method for controlling an earthmoving vehicle (EMV) having a blade is disclosed herein. Further, a computer-implemented system including a digital processing device including at least one processor, an operating system configured to execute executable instructions, a memory, and a computer program including executable instructions executable by the digital processing device to create an application for controlling an earthmoving vehicle (EMV) is provided herein. Further, a non-transitory computer-readable storage medium encoded with a computer program including executable instructions executable by a processor to create an application for controlling an earthmoving vehicle (EMV) having a blade passing through a target area is provided herein.

[0020] In some embodiments, according to FIG. 1, the methods and applications herein direct an EMV to a target area having a portion of soil to be removed, where the blade is not in contact with the ground 101, and based at least in part on one or more changes in the topography of the target area 102, FIG. 3A shows an exemplary EMV with the blade in an upward position, according to one or more embodiments herein.

[0021] Based at least in part on one or more changes in the topography 103 and at least in part on a topographic map 104, determine a path for the EMV to traverse and dynamically adjust the depth of the blade as the EMV traverses the path to obtain a target volume of soil 105.

[0022] In some embodiments, according to FIG. 2, the methods and applications herein record a topographic map of a target area while the EMV traverses at least a portion of the target area 201, generate a piecewise linear model of the contour of the target area based on the topographic map of the target area (202), and generate a cutting path including a cutting start position, a cutting end position, and a cutting depth by a computer based on the piecewise linear model and the dimensions of the blade 203.

[0023] In some embodiments, the EMV includes a tractor, crane, or bulldozer. In some embodiments, the EMV is autonomous or semi-autonomous. In some embodiments, the EMV is driverless. For example, according to Figures 3A-3B, the EMV includes a bulldozer 300 having a blade 310.

[0024] Figure 4 shows a diagram illustrating how the blade 310 guides the EMV 300 to a target area 450 where it is not in contact with the soil 400. In some embodiments, the target area 450 includes the soil 400. In some embodiments, the target area 450 includes a portion of the soil to be removed 410. As shown, in some embodiments, the target area 450 includes one or more inclined portions and one or more flat portions. In some embodiments, depending on the order of work in the construction project, the soil 410 to be removed is located on either an inclined portion or a flat portion.

[0025] The width, length, and depth of the blade 310 can at least partially determine the volume of the blade 310, and therefore the volume of soil that can be removed in a single scoop of the blade 310.

[0026] target area In some embodiments, the methods and applications described herein guide EMV 300 to a target area 450. In some embodiments, the target area 450 includes soil 400. In some embodiments, the target area 450 includes a portion of soil to be removed 410.

[0027] In some embodiments, soil includes topsoil, subsoil, clay, silt, sand, gravel, peat, loam, chalk, rock, or any combination thereof. Topsoil is the uppermost layer of soil and is typically removed first during construction. Subsoil lies beneath the topsoil and is removed during construction to ensure a stable foundation. Clay is difficult to work with because it is heavy, sticky, and tends to expand when wet and contract when dry. Clay is often removed or treated during construction to prevent instability. Silt is a fine-grained soil that can be easily compressed and can cause drainage problems at construction sites and is often removed or treated to improve stability. Sand is a coarse-grained soil that drains well but may not provide a stable foundation due to its tendency to shift. Gravel consists of small, rounded stones mixed with sand and clay. Gravel is often removed during construction, especially when a smooth and flat surface is required. Peat contains decomposed plant material that retains a lot of water and is often removed during construction to form a stable foundation. Loam is a mixture of sand, silt, and clay. Chalk, a form of limestone, can be problematic for construction due to its high permeability and potential instability when wet. Rocks often need to be removed during construction, especially in mountainous or mountainous areas.

[0028] In some embodiments, the target area is defined by GPS. In some embodiments, the target area is defined by visual markers, and the methods and applications herein further determine the target area based on images captured by one or more sensors coupled to the EMV. In some embodiments, GPS coordinates form a fence defining the target area. In some embodiments, the methods and applications herein guide the EMV to a soil waste area outside the target area. In some embodiments, the waste area is defined by GPS coordinates. In some embodiments, the waste area is defined by visual markers, and the methods and applications herein further determine the target area based on images captured by one or more sensors coupled to the EMV.

[0029] In some embodiments, at least a portion of the target area is associated with the target depth of the soil to be removed, the target height of the portion after soil removal, or both. In some embodiments, the target depth, target height, or both are received as input by EMV, by an indicator on a visual maker, or both. In some embodiments, at least a portion of the target area is associated with the type of soil to be removed, and the soil type is received as input by EMV, by an indicator on a visual maker, or both. In some embodiments, at least a portion of the target area is associated with the required compression index, and the required compression index is received as input by EMV, by an indicator on a visual maker, or both. In some embodiments, the methods and applications herein further define a no-go zone beyond which EMV cannot proceed.

[0030] Terrain map In some embodiments, the methods and applications described herein generate a terrain map. In some embodiments, as shown in Figure 4, the methods and applications described herein record a terrain map of a target area 450 while the EMV 300 traverses at least a portion of the target area. In some embodiments, the portion of the target area extends from a mapping start point 421 to a mapping end point 422. In some embodiments, as shown in Figure 3A, the methods and applications described herein guide the EMV 300 to the target area 450 while the blade 310 is not touching the ground.

[0031] In some embodiments, the methods and applications described herein generate a terrain map based at least partially on one or more changes in the terrain. In some embodiments, detecting one or more changes includes detecting multiple features using sensors. In some embodiments, recording a terrain map of a target area includes recording the kinematic motion of EMV. In some embodiments, recording a terrain map of a target area includes recording a topographic scan of the target area. In some embodiments, recording a terrain map of a target area includes recording the kinematic motion of EMV and recording a topographic scan of the target area. In some embodiments, by using both the recorded kinematic motion of EMV and the topographic scan of the target area, a complete capture of the terrain of the target area becomes possible.

[0032] In some embodiments, the terrain map is three-dimensional (3D). In some embodiments, the terrain map employs three orthogonal Cartesian dimensions, a spherical dimension, a polar dimension, or any combination thereof. In some embodiments, changes in terrain, terrain scanning, the kinematic motion of the EMV, or any combination thereof are continuously captured so that the terrain map represents the surface of the target area in real time or near real time. In some embodiments, the terrain map further includes the location of another mobile EMV, the determined location of a human worker, the location of an installed structure, or any combination thereof.

[0033] In some embodiments, the kinematic motion, topographic scanning, or both of the EMV are recorded by one or more sensors. In some embodiments, the sensors are coupled to the EMV. In some embodiments, the sensors are detachably coupled to the EMV. In some embodiments, the sensors include laser sensors, LIDAR detectors, sonar sensors, radar, ultrasonic sensors, inertial measurement units (IMUs), tilt sensors, gyroscopes, magnetometers, accelerometers, Global Positioning System (GPS) sensors, cameras, or any combination thereof. In some embodiments, laser sensors, also known as laser telemeters or laser rangefinders, use a laser beam to determine the distance to an object. The most common form of laser sensor operates on the principle of time of flight by transmitting a laser pulse in a narrow beam toward an object and measuring the time it takes for the pulse to reflect from the target and return to the transmitter. LIDAR is an acronym for "Light Detection and Ranging" or "Laser Imaging, Detection, and Ranging." LIDAR determines its range by targeting an object or surface with a laser and measuring the time it takes for the reflected light to return to the receiver. Sonar sensors measure distance using sound propagation. Inclinometers and tilt sensors, also known as tilt indicators, inclinometers, tilt alarms, inclinometer gauges, gradient meters, gradiometers, level gauges, level meters, inclinometers, and pitch-and-roll indicators, measure the angle of tilt, elevation, or depression of an object relative to the direction of gravity in units of degrees, percentage points, or attitude. Similarly, gyroscopes use rotating wheels mounted on two or three gimbals to measure the pitch, roll, and yaw orientation of an object. Magnetometers measure magnetic fields or magnetic dipole moments. Different types of magnetometers measure the direction, strength, or relative change of a magnetic field at a particular location. A compass is one such device, which measures the direction of the surrounding magnetic field. Accelerometers measure the acceleration (rate of change of velocity) of an object in its own instantaneous stationary frame.Topography can be determined by relative measurements between two or more points via an algorithm or image recognition process. Data acquired by one or more of the aforementioned sensors can be combined to generate a topographic map of the area surrounding EMV300.

[0034] In one example, as shown in Figure 6, the EMV300 includes a first sensor 320 for recording the kinematic motion of the EMV300 and a second sensor 330 for recording a topographic scan of the target area 650. In this example, the first sensor 320 may be an accelerometer and the second sensor 330 may be a LiDAR detector. As shown, the use of both the first sensor 320 and the second sensor 330 allows for the recording of a topographic map of the entire target area 650, including obscured areas 651 of the target area that are obscured from the view of the EMV300. In some embodiments, the use of both the first sensor 320 and the second sensor 330 allows for accurate and detailed topographic map measurements, particularly at slope inflection points, such as those shown in Figure 5.

[0035] In some embodiments, the methods and applications herein generate a piecewise linear model of the contour of a target area based on a topographic map of the target area. In some embodiments, generating the topographic map includes generating a piecewise linear function of the target area. In some embodiments, the topographic map includes multiple features, including one or more elevations, angles, slopes, distances, and / or soil types. In some embodiments, the kinematic modeling includes one or more calculations of angles, velocities, terrain perception, and blade positions.

[0036] In some embodiments, the piecewise linear function includes a two-dimensional (2D) representation of the target region. In some embodiments, the 2D representation corresponds to the x and z directions of the terrain. In some embodiments, the x direction represents lateral movement from the cutting start point to the cutting end point. In some embodiments, the z direction represents vertical movement from the cutting start point to the cutting end point. In some embodiments, the piecewise linear function includes one or more angles between multiple slopes of the terrain. In some embodiments, the piecewise linear function includes multiple linear segments connected to each other, and approximating one or more features includes setting the length of the segments to a predetermined length. In some embodiments, generating a terrain map includes approximating one or more features of the terrain.

[0037] Cutting path In some embodiments, the methods and applications herein determine the path for the EMV to traverse. In some embodiments, the methods and applications herein determine the path for the EMV to traverse based at least partially on a topographic map. In some embodiments, the methods and applications herein generate a cutting path including a cutting start position, a cutting end position, and a cutting depth based on a piecewise linear model and blade dimensions.

[0038] In some embodiments, as shown in Figure 5, the cutting path includes a path from a cutting start point 521 to a cutting end point 522. In some embodiments, moving the EMV300 includes moving the EMV300 from the cutting start point 521 to the cutting end point 522. In some embodiments, moving the EMV300 includes moving the EMV300 from the cutting start point 521 to the cutting end point 522 after the terrain map has been generated. In some embodiments, moving the EMV300 includes moving the EMV300 from the cutting start point 521 to the cutting end point 522 for a dry run.

[0039] In some embodiments, the cutting start point 521 is the mapping end point 422. In some embodiments, the cutting end point 522 is the mapping end point 421. In some embodiments, the cutting start point 521 is the mapping start point 421. In some embodiments, the cutting end point 522 is the mapping start point 421. In some embodiments, the distance between the mapping start point 421 and the mapping end point 422 is greater than or equal to the distance from the cutting start point 521 to the cutting end point 522. In some embodiments, the distance between the mapping start point 421 and the mapping end point 422 is greater than or equal to the distance from the cutting start point 521 to the cutting end point 522.

[0040] In some embodiments, as shown in Figures 3B and 5, the methods and applications of this specification dynamically adjust the cutting depth 320 of the blade 310 as the EMV 300 traverses a path. In some embodiments, the methods and applications of this specification dynamically adjust the cutting depth 320 of the blade 310 as the EMV 300 traverses a path to obtain a target volume of soil 410. In some embodiments, the methods and applications of this specification dynamically adjust the cutting depth 320 of the blade 310 as the EMV 300 traverses a path based on the slope of the soil 400. In some embodiments, the blade 310 is connected to the EMV 300 by a load sensor, and the methods and applications of this specification dynamically adjust the cutting depth 320 of the blade 310 as the EMV 300 traverses a path based on the weight of the soil 400 measured by the load sensor. In some embodiments, the EMV300 includes a sensor that provides live video of the soil 400 within the blade 310, and the methods and applications herein dynamically adjust the cutting depth 320 of the blade 310 as the EMV300 traverses a path based on the weight of the soil 400, which is calculated by a machine learning algorithm that processes the live video. The methods and applications herein also dynamically adjust the cutting depth 320 of the blade 310 as the EMV300 traverses a path based on the received estimated soil density. In some embodiments, the sensor includes a laser sensor, a LiDAR detector, a sonar sensor, a radar, an ultrasonic sensor, or any combination thereof.

[0041] In the example shown in Figure 5, the method and application herein adjusts the blade 310 to a first cutting depth when the EMV 300 begins cutting from an upward slope of soil 400, and gradually adjusts the blade 310 to a second cutting depth when the EMV 300 attaches to the uplift and reaches a negligible slope, with the first cutting depth being greater than the second cutting depth. In some embodiments, the method further includes the step of calculating a target depth 510 based at least partially on a target volume 410 of soil to be removed before dynamically adjusting the cutting depth.

[0042] In some embodiments, the target volume is equal to the product of the target depth, the blade width, and the target cutting distance. In some embodiments, the target distance includes the cutting distance for the EMV, a cutting start point 521, and a cutting end point 522. In some embodiments, determining the path includes determining the target depth of the blade at each point between the cutting start point and the cutting end point. In some embodiments, moving the EMV includes moving the EMV along one or more elevations and / or one or more inclines of the target area.

[0043] In some embodiments, the method further includes the steps of: determining the volume of soil in the blade before the EMV traverses the path; instructing the EMV to raise the blade above ground level at a fracture point where the blade penetrates the soil; and instructing the EMV to move away from the path to remove the soil from the blade. In some embodiments, the method further includes the steps of: returning to the fracture point after removing the soil from the blade; determining the remainder of the path the EMV will traverse to remove the soil; and instructing the EMV to resume dynamic adjustment of the blade depth until it reaches a cutting point.

[0044] In some embodiments, the method further includes the step of instructing the EMV to traverse a portion of the target area. In some embodiments, the dimensions of the blade include the blade width, blade depth, blade height, blade volume, or any combination thereof. In some embodiments, the method further includes the step of instructing the EMV to traverse a cutting path at the resulting cutting depth. In some embodiments, the method further includes the step of measuring the weight of the soil cut by the blade of the EMV, the volume of the soil cut by the blade of the EMV, or both. In some embodiments, the method further includes the step of terminating the cutting path when a predetermined weight of soil, a predetermined volume of soil, or both, has been cut by the blade of the EMV. In some embodiments, the method further includes the step of regenerating the cutting path based on the terminated cutting path. In some embodiments, the method further includes the step of guiding the EMV to a dump site for disposal of the removed soil. In some embodiments, the cutting path further includes a dump site for disposing of the removed soil.

[0045] Terms and Definitions Unless otherwise defined, all technical terms used herein have the same meanings as those commonly understood by those skilled in the art to which this disclosure belongs.

[0046] Where used herein, the singular forms "a," "an," and "the" include multiple references unless the context clearly indicates otherwise. Any reference to "or" herein is intended to include "and / or" unless otherwise specified.

[0047] As used herein, the term "about" may, in some cases, refer to an amount that is approximately a specified quantity.

[0048] As used herein, the term “about” means an amount that is only 10%, 5%, or 1% (including any increments thereof) close to the stated amount.

[0049] Where used herein, the term “about” with respect to percentages means an amount greater than or less than the stated percentage by 10%, 5%, or 1% (including increments thereof).

[0050] As used herein, the phrases “at least one,” “one or more,” and “and / or” are open-ended expressions that are both associative and disjunctive in their function. For example, each of the expressions “at least one of A, B, and C,” “at least one of A, B, or C,” “one or more of A, B, and C,” and “A, B, and / or C” means A alone, B alone, C alone, A and B together, A and C together, B and C together, or A, B, and C together.

[0051] Computing systems Referring to Figure 7, a block diagram is shown illustrating an exemplary machine including a computer system 700 (e.g., a processing or computing system) capable of executing a set of instructions to execute or cause a device to execute any one or more embodiments and / or methods for static code scheduling of the present disclosure. The components in Figure 7 are illustrative and do not limit the scope of use or functionality of any hardware, software, embedded logic components, or combinations of two or more such components that implement a particular embodiment.

[0052] The computer system 700 may include one or more processors 701, memory 703, and storage 708 that communicate with each other and with other components via a bus 740. The bus 740 may also link a display 732, one or more input devices 733 (which may include, for example, a keypad, keyboard, mouse, stylus, etc.), one or more output devices 734, one or more storage devices 735, and various tangible storage media 736. All of these elements may interface with the bus 740 directly or via one or more interfaces or adapters. For example, the various tangible storage media 736 may interface with the bus 740 via a storage media interface 726. The computer system 700 may have any suitable physical form, including, but is not limited to, one or more integrated circuits (ICs), printed circuit boards (PCBs), mobile handheld devices (such as mobile phones or PDAs), laptop computers or notebook computers, distributed computer systems, computing grids, or servers.

[0053] The computer system 700 includes one or more processors 701 that perform functions (e.g., a central processing unit (CPU) or a general-purpose graphics processing unit (GPGPU)). The processors 701 optionally include cache memory units 702 for temporary local storage of instructions, data, or computer addresses. The processors 701 are configured to assist in the execution of computer-readable instructions. The computer system 700 may provide the functionality of the components shown in Figure 7 as a result of the processors 701 executing non-temporary processor-executable instructions embodied in one or more tangible computer-readable storage media, such as memory 703, storage 708, storage device 735, and / or storage medium 736. The computer-readable media may store software implementing a particular embodiment, and the processors 701 may execute the software. Memory 703 may read software from one or more other computer-readable media (e.g., mass storage devices 735, 736) or from one or more other sources via a suitable interface, such as a network interface 720. The software may cause the processor 701 to perform one or more processes or one or more actions of one or more processes described or illustrated herein. Performing such processes or actions may include defining data structures stored in memory 703 and modifying the data structures as directed by the software.

[0054] Memory 703 may include, but is not limited to, various components (e.g., machine-readable media), including random access memory components (e.g., RAM 704) (e.g., static RAM (SRAM), dynamic RAM (DRAM), ferroelectric random access memory (FRAM®), phase-change random access memory (PRAM), etc.), read-only memory components (e.g., ROM 705), and any combination thereof. ROM 705 may function to communicate data and instructions unidirectionally to the processor 701, and RAM 704 may function to communicate data and instructions bidirectionally to the processor 701. ROM 705 and RAM 704 may include any suitable tangible computer-readable media as described below. For example, a basic input / output system 706 (BIOS) containing basic routines useful for transferring information between elements within the computer system 700 during startup, etc., may be stored in memory 703.

[0055] Fixed storage 708 is optionally connected bidirectionally to the processor 701 via a storage control unit 707. Fixed storage 708 provides additional data storage capacity and may also include any suitable tangible computer-readable media described herein. Storage 708 may be used to store the operating system 709, executable files 710, data 711, applications 712 (application programs), etc. Storage 708 may also include optical disc drives, solid-state memory devices (e.g., flash-based systems), or any combination of the above. Information in storage 708 may, where appropriate, be incorporated as virtual memory in memory 703.

[0056] In one example, the storage device 735 may be detachably interfaced to a computer system 700 (e.g., via an external port connector (not shown)) via a storage device interface 725. In particular, the storage device 735 and associated machine-readable media may provide non-volatile and / or volatile storage of machine-readable instructions, data structures, program modules, and / or other data for the computer system 700. In one example, software may reside entirely or partially within the machine-readable media on the storage device 735. In another example, software may reside entirely or partially within the processor 701.

[0057] Bus 740 connects a wide variety of subsystems. In this specification, references to a bus may, where appropriate, encompass one or more digital signal lines performing a common function. Bus 740 can be any of several types of bus structures, including, but not limited to, memory buses, memory controllers, peripheral buses, local buses, and any combination thereof, using any of various bus architectures. Examples of such architectures include, but are not limited to, the Industry Standard Architecture (ISA) bus, Enhanced ISA (EISA) bus, Micro Channel Architecture (MCA) bus, Video Electronics Standards Association local (VLB) bus, Peripheral Component Interconnect (PCI) bus, PCI-Express (PCI-X) bus, Accelerated Graphics Port (AGP) bus, HyperTransport (HTX) bus, serial advanced technology attachment (SATA) bus, and any combination thereof.

[0058] The computer system 700 may also include an input device 733. In one example, a user of the computer system 700 may input commands and / or other information to the computer system 700 via the input device 733. Examples of input devices 733 include, but are not limited to, alphanumeric input devices (e.g., keyboards), pointing devices (e.g., mice or touchpads), touchpads, touchscreens, multitouchscreens, joysticks, styluses, voice input devices (e.g., microphones, voice response systems, etc.), light sensors, video or still image capture devices (e.g., cameras), and any combination thereof. In some embodiments, the input device may be Kinect, Leap Motion, etc. The input device 733 may be interfaced to the bus 740 via one of various input interfaces 723 (e.g., input interface 723), which may include, but are not limited to, serial, parallel, USB, FIREWIRE®, THUNDERBOLT®, or any combination thereof.

[0059] In certain embodiments, when computer system 700 is connected to network 730, computer system 700 may communicate with other devices connected to network 730, specifically mobile devices and enterprise systems, distributed computing systems, cloud storage systems, and cloud computing systems. Communication to and from computer system 700 may be sent through network interface 720. For example, network interface 720 may receive incoming communications (such as requests or responses from other devices) from network 730 in the form of one or more packets (such as Internet Protocol (IP) packets), and computer system 700 may store the incoming communications in memory 703 for processing. Similarly, computer system 700 may store outgoing communications (such as requests or responses to other devices) in the form of one or more packets in memory 703 and communicate them from network interface 720 to network 730. Processor 701 may access these communication packets stored in memory 703 for processing.

[0060] Examples of network interface 720 include, but are not limited to, network interface cards, modems, and any combination thereof. Examples of network 730 or network segment 730 include, but are not limited to, distributed computing systems, cloud computing systems, wide area networks (WANs) (e.g., the internet, corporate networks), local area networks (LANs) (e.g., networks related to offices, buildings, campuses, or other relatively small geographical spaces), telephone networks, direct connections between two computing devices, peer-to-peer networks, and any combination thereof. Networks such as network 730 may employ wired and / or wireless communication modes. In general, any network topology may be used.

[0061] Information and data may be displayed through the display 732. Examples of the display 732 include, but are not limited to, cathode ray tubes (CRTs), liquid crystal displays (LCDs), thin-film transistor liquid crystal displays (TFT-LCDs), organic liquid crystal displays (OLEDs) such as passive-matrix OLEDs (PMOLEDs) or active-matrix OLEDs (AMOLEDs), plasma displays, and any combination thereof. The display 732 may interface with other devices via the bus 740, such as a processor 701, memory 703, and fixed storage 708, as well as an input device 733. The display 732 is linked to the bus 740 via a video interface 722, and the transfer of data between the display 732 and the bus 740 may be controlled via a graphics control 721. In some embodiments, the display is a video projector. In some embodiments, the display is a head-mounted display (HMD), such as a VR headset. In further embodiments, preferred VR headsets include, in non-limiting embodiments, HTC Vive, Oculus Rift, Samsung Gear VR, Microsoft HoloLens, Razer OSVR, FOVE VR, Zeiss VR One, Avegant Glyph, Freefly VR headset, and the like. In further embodiments, the display is a combination of devices such as those disclosed herein.

[0062] In addition to the display 732, the computer system 700 may include one or more other peripheral output devices 734, including but not limited to audio speakers, printers, storage devices, and any combination thereof. Such peripheral output devices may be connected to the bus 740 via output interfaces 724. Examples of output interfaces 724 include, but are not limited to, serial ports, parallel connections, USB ports, FIREWIRE® ports, THUNDERBOLT® ports, and any combination thereof.

[0063] In addition, or as an alternative, the computer system 700 may provide functionality as a result of logic wired in a circuit or otherwise embodied, which may operate in place of or with software, to perform one or more processes or one or more steps of one or more processes described or illustrated herein. References to software in this disclosure may encompass logic, and references to logic may encompass software. Furthermore, references to computer-readable media may, where appropriate, encompass circuits (such as ICs) that store software for execution, circuits that embody logic for execution, or both. This disclosure encompasses any appropriate combination of hardware, software, or both.

[0064] Those skilled in the art will understand that the various exemplary logic blocks, modules, circuits, and algorithmic processes described in relation to the embodiments disclosed herein can be implemented as electronic hardware, computer software, or a combination of both. To clearly demonstrate this hardware- and software compatibility, various exemplary components, blocks, modules, circuits, and processes have been described above in general terms of their functions.

[0065] The various exemplary logic blocks, modules, and circuits described in relation to the embodiments disclosed herein may be implemented or run using general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs) or other programmable logic devices, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. While a general-purpose processor may be a microprocessor, alternatively, the processor may be any conventional processor, controller, microcontroller, or state machine. The processor may also be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors working in conjunction with a DSP core, or any other such configuration.

[0066] The steps of the methods or algorithms described in connection with embodiments disclosed herein may be carried out directly in hardware, in software modules executed by one or more processors, or in combination thereof. The software modules may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disks, removable disks, CD-ROMs, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor so that the processor can read information from and write information to the storage medium. Alternatively, the storage medium may be integrated into the processor. The processor and storage medium may reside in an ASIC. The ASIC may reside in a user terminal. Alternatively, the processor and storage medium may reside in a user terminal as separate components.

[0067] According to the description herein, suitable computing devices include, in non-limiting examples, server computers, desktop computers, laptop computers, notebook computers, subnotebook computers, netbook computers, netpad computers, set-top computers, media streaming devices, handheld computers, internet appliances, mobile smartphones, tablet computers, personal digital assistants, and vehicles. Those skilled in the art will also recognize that selected televisions, video players, and digital music players with optional computer network connectivity are suitable for use in the systems described herein. Suitable tablet computers include, in various embodiments, those having booklet, slate, and convertible configurations known to those skilled in the art.

[0068] In some embodiments, a computing device includes an operating system configured to execute executable instructions. The operating system is software, for example, including programs and data, that manages the device's hardware and provides services for running applications. Those skilled in the art will recognize that, in non-limiting embodiments, preferred server operating systems include FreeBSD, OpenBSD, NetBSD®, Linux®, Apple® Mac OS X® Server®, Oracle® Solaris®, Windows Server®, and Novell® NetWare®. Those skilled in the art will also recognize that, in non-limiting embodiments, preferred personal computer operating systems include UNIX®-like operating systems such as Microsoft® Windows®, Apple® Mac OS X®, UNIX®, and GNU / Linux®. In some embodiments, the operating system is provided by cloud computing. Those skilled in the art will also recognize that suitable mobile smartphone operating systems include, in non-limiting embodiments, Nokia® Symbian® OS, Apple® iOS®, Research In Motion® BlackBerry OS®, Google® Android®, Microsoft® Windows Phone® OS, Microsoft® Windows Mobile® OS, Linux®, and Palm® WebOS®.

[0069] Non-temporary computer-readable storage medium In some embodiments, the platforms, systems, media, and methods disclosed herein include one or more non-temporary computer-readable storage media coded with programs containing instructions executable by the operating system of a networked computing device. In further embodiments, the computer-readable storage media is a tangible component of the computing device. In even further embodiments, the computer-readable storage media is optionally removable from the computing device. In some embodiments, the computer-readable storage media includes, in non-limiting examples, CD-ROMs, DVDs, flash memory devices, solid-state memory, magnetic disk drives, magnetic tape drives, optical disk drives, distributed computing systems including cloud computing systems and services, etc. In some cases, the programs and instructions are coded permanently, substantially permanently, semi-permanently, or non-permanently on the medium.

[0070] Computer program In some embodiments, the platforms, systems, media, and methods disclosed herein include at least one computer program or use thereof. A computer program includes a sequence of instructions executable by one or more processors of the CPU of a computing device, written to perform a specified task. Computer-readable instructions may be implemented as program modules such as functions, objects, application programming interfaces (APIs), and computing data structures, which perform a particular task or implement a particular abstract data type. In light of the disclosures provided herein, those skilled in the art will recognize that computer programs may be written in various versions of various languages.

[0071] The functionality of computer-readable instructions can be combined or distributed as desired in various environments. In some embodiments, a computer program includes one sequence of instructions. In some embodiments, a computer program includes multiple sequences of instructions. In some embodiments, a computer program is provided from one location. In other embodiments, a computer program is provided from multiple locations. In various embodiments, a computer program includes one or more software modules. In various embodiments, a computer program includes, in part or in whole, one or more web applications, one or more mobile applications, one or more standalone applications, add-ins or add-ons, or a combination thereof.

[0072] Web application In some embodiments, a computer program includes a web application. Those skilled in the art will recognize, in light of the disclosures provided herein, that a web application utilizes, in various embodiments, one or more software frameworks and one or more database systems. In some embodiments, a web application is built on a software framework such as Microsoft® .NET or Ruby on Rails (RoR). In some embodiments, a web application utilizes, in non-limiting embodiments, one or more database systems, including relational, non-relational, object-inducible, associative, and XML database systems. In further embodiments, preferred relational database systems, in non-limiting embodiments, include Microsoft® SQL Server, MySQL®, and Oracle®. Those skilled in the art will also recognize that, in various embodiments, a web application is written in one or more versions of one or more languages. A web application may be written in one or more markup languages, presentation-definition languages, client-side scripting languages, server-side coding languages, database query languages, or a combination thereof. In some embodiments, the web application is written to some extent in a markup language such as Hypertext Markup Language (HTML), Extensible Hypertext Markup Language (XHTML), or Extensible Markup Language (XML). In some embodiments, the web application is written to some extent in a presentation-defining language such as Cascading Style Sheets (CSS). In some embodiments, the web application is written to some extent in a client-side scripting language such as Asynchronous JavaScript® and XML (AJAX), Flash® ActionScript®, JavaScript®, or Silverlight®.In some embodiments, the web application is written to some extent in a server-side coding language such as Active Server Pages (ASP), ColdFusion®, Perl, Java®, JavaServer Pages (JSP), Hypertext Preprocessor (PHP), Python®, Ruby, Tel, Smalltalk, WebDNA®, or Groovy. In some embodiments, the web application is written to some extent in a database query language such as Structured Query Language (SQL). In some embodiments, the web application integrates with enterprise server products such as IBM® Lotus Domino®. In some embodiments, the web application includes a media player element. In various further embodiments, the media player element utilizes one or more of many preferred multimedia technologies, including, in non-limiting embodiments, Adobe® Flash®, HTML5, Apple® QuickTime®, Microsoft® Silverlight®, Java®, and Unity®.

[0073] Referring to Figure 8, in a particular embodiment, the application provisioning system includes one or more databases 800 accessed by a relational database management system (RDBMS) 810. Suitable RDBMSs include Firebird, MySQL®, PostgreSQL, SQLite, Oracle Database, Microsoft SQL Server, IBM DB2, IBM Informix, SAP Sybase, Teradata, etc. In this embodiment, the application provisioning system further includes one or more application servers 820 (e.g., Java server, .NET server, PHP server, etc.) and one or more web servers 830 (e.g., Apache, IIS, GWS, etc.). The web servers optionally expose one or more web services via an APP application programming interface (API) 840. Over a network such as the Internet, the system provides a browser-based and / or mobile native user interface.

[0074] Referring to Figure 9, in a particular embodiment, the application provisioning system alternatively has a distributed cloud-based architecture 900, which includes elastically load-balanced auto-scaling web server resources 910 and application server resources 920, as well as a synchronously replicated database 930.

[0075] Standalone application In some embodiments, a computer program includes a standalone application, which is a program that runs as an independent computer process, not as an add-on to an existing process, such as a plug-in. Those skilled in the art will recognize that standalone applications are often compiled. A compiler is a computer program that translates source code written in a programming language into binary object code, such as assembly language or machine code. Suitable compiled programming languages, in non-limiting examples, include C, C++, Objective-C, COBOL, Delphi, Eiffel, Java®, Lisp, Python®, Visual Basic, and VB .NET, or combinations thereof. Compilation is often performed at least partially to create an executable program. In some embodiments, a computer program includes one or more executable compiled applications.

[0076] Software Module In some embodiments, the platforms, systems, media, and methods disclosed herein include software, servers, and / or database modules, or the use thereof. Taking into account the disclosures provided herein, software modules are created using machines, software, and languages ​​known to those skilled in the art, and by techniques known to those skilled in the art. The software modules disclosed herein are implemented in numerous ways. In various embodiments, a software module includes files, sections of code, programming objects, programming structures, or combinations thereof. In further various embodiments, a software module includes multiple files, multiple sections of code, multiple programming objects, multiple programming structures, or combinations thereof. In various embodiments, one or more software modules include, in non-limiting embodiments, web applications, mobile applications, and standalone applications. In some embodiments, a software module resides within a single computer program or application. In other embodiments, a software module resides within multiple computer programs or applications. In some embodiments, a software module is hosted on a single machine. In other embodiments, a software module is hosted on multiple machines. In further embodiments, a software module is hosted on a distributed computing platform, such as a cloud computing platform. In some embodiments, the software module is hosted on one or more machines in one location. In other embodiments, the software module is hosted on one or more machines in one or more locations.

[0077] database In some embodiments, the platforms, systems, media, and methods disclosed herein involve one or more databases or the use thereof. In consideration of the disclosures provided herein, those skilled in the art will recognize that many databases are suitable for storing and retrieving spatial and constructed information. In various embodiments, suitable databases include, in non-limiting examples, relational databases, non-relational databases, object-inducing databases, object databases, entity-related model databases, associative databases, and XML databases. Further non-limiting examples include SQL, PostgreSQL, MySQL®, Oracle, DB2, and Sybase. In some embodiments, the database is internet-based. In further embodiments, the database is web-based. In yet further embodiments, the database is cloud computing-based. In certain embodiments, the database is a distributed database. In other embodiments, the database is based on one or more local computer storage devices.

[0078] While preferred embodiments of the Disclosure have been shown and described herein, it will be apparent to those skilled in the art that such embodiments are provided only as examples. Those skilled in the art will be able to conceive of numerous variations, alterations, and substitutions without departing from the Disclosure. It should be understood that various alternatives to the embodiments of the Disclosure described herein may be adopted when carrying out the Disclosure.

Claims

1. A computer-based method for controlling an engineering vehicle (EMV) equipped with a blade, (a) A step of using a computer to guide the EMV in a target area having a portion of the soil to be removed, wherein the blade is not in contact with the ground. (b) The computer detects one or more changes in the terrain of the target area, (c) The steps of generating a terrain map using the computer based at least partially on one or more changes in the terrain, (d) The computer determines the path that the EMV will traverse, based at least partially on the terrain map; (e) A computer-implemented method comprising the step of dynamically adjusting the depth of the blade as the EMV traverses the path using the computer to obtain a target volume of soil.

2. The computer-implemented method according to claim 1, wherein the terrain map includes one or more features including altitude, angle, slope, distance, and / or soil.

3. The computer-implemented method according to claim 2, wherein the step of detecting one or more changes includes detecting the plurality of features using a sensor.

4. The computer-mounted method according to claim 3, wherein the sensor includes a light detection and ranging (LIDAR) detector attached to the EMV.

5. The computer-implemented method according to claim 4, wherein the sensor uses kinematic modeling to detect one or more blind spots of the LIDAR detector.

6. The computer-implemented method according to claim 5, wherein the kinematic modeling includes one or more calculations of angle, velocity, terrain perception, and blade position.

7. The computer-mounted method according to claim 2, wherein the sensor includes an inertial measuring unit (IMU).

8. The computer-implemented method according to claim 2, wherein the terrain map is three-dimensional (3D).

9. The computer-implemented method according to claim 1, wherein the step of generating the terrain map includes generating a piecewise linear function of the target region.

10. The computer-implemented method according to claim 9, wherein the piecewise linear function includes a two-dimensional (2D) representation of the target region, and the 2D representation corresponds to the x and z directions of the terrain.

11. The computer-implemented method according to claim 10, wherein the x-direction represents lateral movement from the cutting start point to the cutting end point, and the z-direction represents vertical movement from the cutting start point to the cutting end point.

12. The computer-implemented method according to claim 11, wherein the piecewise linear function includes one or more angles between the multiple slopes of the terrain.

13. The computer-implemented method according to claim 9, wherein the step of generating the terrain map includes approximating one or more features of the terrain.

14. The computer-implemented method according to claim 13, wherein the piecewise linear function includes a plurality of linear segments connected to each other, and approximating one or more features includes setting the length of the linear segments to a predetermined length.

15. The computer-implemented method according to claim 1, further comprising the step of calculating a target depth based at least partially on the target volume of soil by the computer before dynamically adjusting the depth.

16. The computer-implemented method according to claim 15, wherein the target volume is equal to the product of the target depth, the blade width, and the cutting target distance.

17. The computer-implemented method according to claim 16, wherein the target distance includes the cutting distance, cutting start point, and cutting end point of the EMV.

18. The computer-based method according to claim 17, wherein moving the EMV includes moving the EMV from the cutting start point and the cutting end point for a dry run.

19. The computer-implemented method according to claim 18, wherein moving the EMV includes moving the EMV from the cutting end point to the cutting start point after the dry run.

20. The computer-based method according to claim 19, wherein the step of determining the path includes determining the target depth of the blade at each point between the cutting start point and the cutting end point.

21. The computer-implemented method according to claim 1, wherein moving the EMV includes moving the EMV along one or more altitudes and / or one or more inclines of the target region.

22. The computer-implemented method according to claim 1, wherein the EMV includes a bulldozer.

23. (a) The computer determines that the volume of soil in the blade is at its maximum capacity before the EMV crosses the path, (b) The computer instructs the EMV to raise the blade of the EMV above ground level at the fracture point, (c) The computer-implemented method according to claim 1, further comprising the step of using the computer to move the EMV away from the path and remove the soil from the blade.

24. (a) The process of removing the soil from the blade using the computer and then returning it to the fracture point, (b) The computer determines the remaining path that the EMV will traverse to remove the soil, (c) The computer-based method according to claim 23, further comprising the step of instructing the EMV to resume dynamic adjustment of the blade depth until it reaches a cutting point.

25. A computer-implemented method for controlling an engineering vehicle (EMV) equipped with a blade that passes through a target area, (a) A step of recording a topographic map of the target area by computer while the EMV traverses at least a portion of the target area, (b) A step of generating a piecewise linear model of the contour of the target area based on the topographic map of the target area using the computer, (c) A computer-based method comprising the step of generating a cutting path including a cutting start position, a cutting end position, and a cutting depth based on the piecewise linear model and the dimensions of the blade using the computer.

26. The computer-implemented method according to claim 25, wherein the step of recording the topographic map of the target area includes recording the kinematic motion of the EMV, recording a topographic scan captured by one or more sensors coupled to the EMV, or both.

27. The computer-mounted method according to claim 26, wherein the sensor includes a laser sensor, a LiDAR detector, a sonar sensor, a radar, an ultrasonic sensor, or any combination thereof.

28. The computer-based method according to claim 25, wherein the EMV includes a tractor, crane, or bulldozer.

29. The computer-implemented method according to claim 25, wherein the EMV is autonomous or semi-autonomous.

30. The computer-implemented method according to claim 25, wherein the EMV is driverless.

31. The computer-implemented method according to claim 25, further comprising the step of instructing the EMV to traverse the portion of the target region using the computer.

32. The computer-mounted method according to claim 25, wherein the dimensions of the blade include blade width, blade depth, blade height, blade volume, or any combination thereof.

33. The computer-implemented method according to claim 25, further comprising the step of instructing the EMV to traverse the cutting path with the generated cutting depth by the computer.

34. The computer-based method according to claim 25, further comprising the step of measuring by the computer the weight of the soil cut by the blade of the EMV, the volume of the soil cut by the blade of the EMV, or both.

35. The computer-implemented method according to claim 34, further comprising the step of ending the cutting path when a predetermined weight of soil, a predetermined volume of soil, or both are cut by the blade of the EMV.

36. The computer-implemented method according to claim 35, further comprising the step of regenerating the cutting path based on the completed cutting path using the computer.

37. A computer-implemented system comprising at least one processor, an operating system configured to execute executable instructions, memory, and a digital processing device including a computer program containing instructions executable by the digital processing device for creating an application for controlling a bladed civil engineering vehicle (EMV), wherein the application is (a) A module for guiding the EMV in a target area having a portion of the soil to be removed, wherein the blade is not in contact with the ground, (b) A module for detecting one or more changes in the terrain of the target area, (c) A module that generates a terrain map based at least partially on one or more changes in the terrain, (d) A module that determines the path that the EMV will traverse, based at least partially on the terrain map, (e) A computer-controlled system including a module that dynamically adjusts the depth of the blade as the EMV traverses the path to obtain a target volume of soil.

38. The computer-implemented system according to claim 37, wherein the terrain map includes one or more features including altitude, angle, slope, distance, and / or soil.

39. The computer-implemented system according to claim 38, wherein detecting one or more of the changes includes detecting the plurality of features using a sensor.

40. The computer-mounted system according to claim 39, wherein the sensor includes a light detection and ranging (LIDAR) detector attached to the EMV.

41. The computer-implemented system according to claim 40, wherein the sensor uses kinematic modeling to detect one or more blind spots of the LIDAR detector.

42. The computer-implemented system according to claim 41, wherein the kinematic modeling includes one or more calculations of angle, velocity, terrain perception, and blade position.

43. The computer-mounted system according to claim 38, wherein the sensor includes an IMU.

44. The computer-implemented system according to claim 38, wherein the terrain map is three-dimensional (3D).

45. The computer-implemented system according to claim 37, wherein generating the terrain map includes generating a piecewise linear function of the target region.

46. The computer-implemented system according to claim 45, wherein the piecewise linear function includes a two-dimensional (2D) representation of the target region, and the 2D representation corresponds to the x and z directions of the terrain.

47. The computer-implemented system according to claim 46, wherein the x-direction represents lateral movement from the cutting start point to the cutting end point, and the z-direction represents vertical movement from the cutting start point to the cutting end point.

48. The computer-implemented system according to claim 47, wherein the piecewise linear function includes one or more angles between the multiple slopes of the terrain.

49. The computer-implemented system according to claim 46, wherein generating the terrain map includes approximating one or more features of the terrain.

50. The computer-implemented system according to claim 49, wherein the piecewise linear function includes a plurality of linear segments connected to each other, and approximating one or more features includes setting the length of the linear segments to a predetermined length.

51. The computer-implemented system according to claim 37, wherein the application further includes a module that calculates a target depth based at least partially on the target volume of soil.

52. The computer-based system according to claim 51, wherein the target volume is equal to the product of the target depth, the blade width, and the cutting target distance.

53. The computer-implemented system according to claim 52, wherein the target distance includes the cutting distance, cutting start point, and cutting end point of the EMV.

54. The computer-based system according to claim 53, wherein moving the EMV includes moving the EMV from the cutting start point and the cutting end point for a dry run.

55. The computer-mounted system according to claim 54, wherein moving the EMV includes moving the EMV from the cutting end point to the cutting start point after the dry run.

56. The computer-based system according to claim 55, wherein determining the path includes determining the target depth of the blade at each point between the cutting start point and the cutting end point.

57. The computer-based system according to claim 37, wherein moving the EMV includes moving the EMV along one or more altitudes and / or one or more inclines of the target region.

58. The computer-mounted system according to claim 37, wherein the EMV includes a bulldozer.

59. The aforementioned application, (a) A module that determines that the volume of soil in the blade is at its maximum capacity before the EMV crosses the path, (b) A module that instructs the EMV to raise the blade of the EMV above ground level at the point of fracture, (c) The computer-mounted system according to claim 37, further comprising a module that moves the EMV away from the path and removes the soil from the blade.

60. The aforementioned application, (a) A module that instructs the EMV to return to the fracture point after removing the soil from the blade, (b) A module that determines the remainder of the path that the EMV traverses in order to remove the soil, (c) A module that instructs the EMV to resume dynamic adjustment of the blade depth until it reaches the cutting point, the computer-based system according to claim 59.

61. A computer-implemented system comprising a digital processing device including at least one processor, an operating system configured to execute executable instructions, memory, and a computer program containing instructions executable by the digital processing device for creating an application for controlling an engineering vehicle (EMV) having a blade that passes through a target area, wherein the application is (a) A module that records a topographic map of the target area while the EMV traverses at least a portion of the target area, (b) A module that generates a piecewise linear model of the contour of the target region based on the topographic map of the target region, (c) A computer-based system including a module that generates a cutting path, including a cutting start position, a cutting end position, and a cutting depth, based on the section linear model and the dimensions of the blade.

62. The computer-implemented system according to claim 61, wherein recording the topographic map of the target region includes recording the kinematic motion of the EMV, recording a topographic scan captured by one or more sensors coupled to the EMV, or both.

63. The computer-mounted system according to claim 62, wherein the sensor includes a laser sensor, a LiDAR detector, a sonar sensor, a radar, an ultrasonic sensor, or any combination thereof.

64. The computer-based system according to claim 61, wherein the EMV includes a tractor, crane, or bulldozer.

65. The computer-implemented system according to claim 61, wherein the EMV is autonomous or semi-autonomous.

66. The computer-mounted system according to claim 61, wherein the EMV is driverless.

67. The computer-implemented system according to claim 61, further comprising a module that instructs the EMV to traverse a portion of the target region.

68. The computer-mounted system according to claim 61, wherein the dimensions of the blade include blade width, blade depth, blade height, blade volume, or any combination thereof.

69. The computer-based system according to claim 61, further comprising a module that instructs the EMV to traverse the cutting path at the generated cutting depth.

70. The computer-based system according to claim 61, further comprising a module for measuring the weight of soil cut by the blade of the EMV, the volume of soil cut by the blade of the EMV, or both.

71. The computer-based system according to claim 70, further comprising a module that terminates the cutting path when a predetermined weight of soil, a predetermined volume of soil, or both are cut by the blade of the EMV.

72. The computer-implemented system according to claim 71, further comprising a module for regenerating the cutting path based on the completed cutting path.

73. A non-temporary computer-readable storage medium coded with a computer program containing instructions executable by a processor for creating an application for controlling a bladed civil engineering vehicle (EMV), wherein the application is: (a) A module for guiding the EMV in a target area having a portion of the soil to be removed, wherein the blade is not in contact with the ground, (b) A module for detecting one or more changes in the terrain of the target area, (c) A module that generates a terrain map based at least partially on one or more changes in the terrain, (d) A module that determines the path that the EMV will traverse, based at least partially on the terrain map, (e) A non-temporary computer-readable storage medium comprising a module that dynamically adjusts the depth of the blade as the EMV traverses the path to obtain a target volume of soil.

74. The non-temporary computer-readable storage medium according to claim 73, wherein the terrain map includes one or more features including altitude, angle, slope, distance, and / or soil.

75. The non-temporary computer-readable storage medium according to claim 74, wherein detecting one or more of the changes includes detecting the plurality of features using a sensor.

76. The non-temporary computer-readable storage medium according to claim 75, wherein the sensor includes a light detection and ranging (LIDAR) detector attached to the EMV.

77. The non-temporary computer-readable storage medium according to claim 76, wherein the sensor uses kinematic modeling to detect one or more blind spots of the LIDAR detector.

78. The non-temporary computer-readable storage medium according to claim 77, wherein the kinematic modeling includes one or more calculations of angle, velocity, terrain perception, and blade position.

79. The non-temporary computer-readable storage medium according to claim 75, wherein the sensor includes an IMU.

80. The non-temporary computer-readable storage medium according to claim 75, wherein the terrain map is three-dimensional (3D).

81. The non-temporary computer-readable storage medium according to claim 73, wherein generating the terrain map includes generating a piecewise linear function of the target region.

82. The non-temporary computer-readable storage medium according to claim 81, wherein the piecewise linear function includes a two-dimensional (2D) representation of the target region, and the 2D representation corresponds to the x and z directions of the terrain.

83. The non-temporary computer-readable storage medium according to claim 82, wherein the x-direction represents lateral movement from the cutting start point to the cutting end point, and the z-direction represents vertical movement from the cutting start point to the cutting end point.

84. The non-temporary computer-readable storage medium according to claim 83, wherein the piecewise linear function includes one or more angles between the multiple slopes of the terrain.

85. The non-temporary computer-readable storage medium according to claim 84, wherein generating the terrain map includes approximating one or more features of the terrain.

86. The non-temporary computer-readable storage medium according to claim 85, wherein the piecewise linear function includes a plurality of linear segments connected to each other, and approximating one or more features includes setting the length of the linear segments to a predetermined length.

87. The non-temporary computer-readable storage medium according to claim 73, further comprising a module that calculates a target depth based at least partially on the target volume of soil by the computer before dynamically adjusting the depth.

88. The non-temporary computer-readable storage medium according to claim 87, wherein the target volume is equal to the product of the target depth, the width of the blade, and the target distance of cutting.

89. The non-temporary computer-readable storage medium according to claim 88, wherein the target distance includes the cutting distance, cutting start point, and cutting end point of the EMV.

90. The non-temporary computer-readable storage medium according to claim 89, wherein moving the EMV includes moving the EMV from the cutting start point and the cutting end point for a dry run.

91. The non-temporary computer-readable storage medium according to claim 90, wherein moving the EMV includes moving the EMV from the cutting end point to the cutting start point after the dry run.

92. A non-temporary computer-readable storage medium according to claim 91, wherein determining the path includes determining the target depth of the blade at each point between the cutting start point and the cutting end point.

93. The non-temporary computer-readable storage medium according to claim 73, wherein moving the EMV includes moving the EMV along one or more elevations and / or one or more inclines of the target region.

94. The non-temporary computer-readable storage medium according to claim 73, wherein the EMV includes a bulldozer.

95. (a) A module that determines that the volume of soil in the blade is at its maximum capacity before the EMV crosses the path, (b) A module that instructs the EMV to raise the blade of the EMV above ground level at the point of fracture, (c) A non-temporary computer-readable storage medium according to claim 73, further comprising a module that moves the EMV away from the path and removes the soil from the blade.

96. (a) A module that instructs the EMV to return to the fracture point after removing the soil from the blade, (b) A module that determines the remaining path that the EMV will traverse to remove the soil, (c) A module that instructs the EMV to resume dynamic adjustment of the blade depth until it reaches a cutting point, the non-temporary computer-readable storage medium according to claim 95.

97. A non-temporary computer-readable storage medium coded with a computer program containing instructions executable by a processor for creating an application for controlling an engineering vehicle (EMV) having a blade that passes through a target area, wherein the application is: (a) A module that records a topographic map of the target area while the EMV traverses at least a portion of the target area, (b) A module that generates a piecewise linear model of the contour of the target region based on the topographic map of the target region, (c) A non-temporary computer-readable storage medium, comprising a module that generates a cutting path including a cutting start position, a cutting end position, and a cutting depth based on the section linear model and the dimensions of the blade.

98. A non-temporary computer-readable storage medium according to claim 97, wherein recording the topographic map of the target region includes recording the kinematic motion of the EMV, recording a topographic scan captured by one or more sensors coupled to the EMV, or both.

99. The non-temporary computer-readable storage medium according to claim 98, wherein the sensor includes a laser sensor, a LiDAR detector, a sonar sensor, a radar, an ultrasonic sensor, or any combination thereof.

100. The non-temporary computer-readable storage medium according to claim 97, wherein the EMV includes a tractor, crane, or bulldozer.

101. The non-temporary computer-readable storage medium according to claim 97, wherein the EMV is autonomous or semi-autonomous.

102. The non-temporary computer-readable storage medium according to claim 97, wherein the EMV is driverless.

103. The non-temporary computer-readable storage medium according to claim 97, further comprising a module that instructs the EMV to traverse the portion of the target region.

104. The non-temporary computer-readable storage medium according to claim 97, wherein the dimensions of the blade include blade width, blade depth, blade height, blade volume, or any combination thereof.

105. A non-temporary computer-readable storage medium according to claim 97, further comprising a module for instructing the EMV to traverse the cutting path at the generated cutting depth.

106. A non-temporary computer-readable storage medium according to claim 97, further comprising a module for measuring the weight of soil cut by the blade of the EMV, the volume of soil cut by the blade of the EMV, or both.

107. A non-temporary computer-readable storage medium according to claim 106, further comprising a module that terminates the cutting path when a predetermined weight of soil, a predetermined volume of soil, or both are cut by the blade of the EMV.

108. A non-temporary computer-readable storage medium according to claim 107, further comprising a module for regenerating the cutting path based on the completed cutting path.