US20260266028A1
2026-09-10
19/070,693
2025-03-05
Smart Summary: A machine can gather information about the ground it operates on, which includes various terrain points. From these points, the machine's controller picks a specific set to work with. Using this selected set, the controller creates a smooth path for the machine's tool or implement to follow. This helps the machine move more efficiently over the terrain. Finally, the controller uses the smooth path to guide the implement during operation. 🚀 TL;DR
In some implementations, a controller of a machine may obtain terrain information that identifies a plurality of terrain points associated with a site at which the machine operates. The controller may select a set of terrain points of the plurality of terrain points. The controller may generate, based on the set of terrain points, a smooth path profile for the implement. The controller may control the implement based on the smooth path profile.
Get notified when new applications in this technology area are published.
E02F9/262 » CPC main
Component parts of dredgers or soil-shifting machines, not restricted to one of the kinds covered by groups  - ; Indicating devices; Surveying the work-site to be treated with follow-up actions to control the work tool, e.g. controller
E02F3/844 » CPC further
Dredgers; Soil-shifting machines mechanically-driven; Graders, bulldozers, or the like with scraper plates or ploughshare-like elements ; Levelling devices; Component parts; Drives or control devices therefor, e.g. hydraulic drive systems for positioning the blade, e.g. hydraulically
E02F9/26 IPC
Component parts of dredgers or soil-shifting machines, not restricted to one of the kinds covered by groups  - Indicating devices
E02F3/84 IPC
Dredgers; Soil-shifting machines mechanically-driven; Graders, bulldozers, or the like with scraper plates or ploughshare-like elements ; Levelling devices; Component parts Drives or control devices therefor, e.g. hydraulic drive systems
The present disclosure relates generally to a machine and, for example, to generation of a smooth path profile for an implement of a machine based on a set of terrain points.
Machines may be used to perform a variety of tasks at a worksite. For example, machines may be used to excavate, move, shape, contour, and/or remove material present at the worksite, such as gravel, concrete, asphalt, soil, and/or other materials. To achieve a desired outcome of a machine's work operation, it is often important to align the machine's implement with a target plane during the work operation. As a specific example, when the machine is a dozer with a blade as implement, it may be desirable to align the blade with a target plane to ensure that a work surface of the worksite is leveled or sloped to match a desired grade. Still, in many cases, it may be desirable for the implement to move smoothly between different positions as the machine travels the worksite. For example, when the machine is a dozer, it may be desired for the blade to follow surface contours of the worksite to produce a smooth work surface.
However, achieving smooth implement movement between different positions is challenging due to changes in an orientation of the machine caused by the machine traversing variations in terrain at the worksite. Readjusting the implement in response to changes in the machine's orientation often results in erratic or “choppy” implement motion, which negatively impacts the quality of the work operation's outcome. For example, when a dozer traverses a bumpy work surface that causes frequent changes in the orientation of the machine, a blade of the dozer is often continuously repositioned to compensate for these variations. This frequent adjustment can result in an uneven, undulating work surface, commonly referred to as a “washboard” surface, which may require additional grading to correct and can reduce the efficiency of subsequent work operations (e.g., by the machine and/or by other machines).
A machine may include an implement; and a controller configured to: obtain terrain information that identifies a plurality of terrain points associated with a site at which the machine operates; select a set of terrain points of the plurality of terrain points; generate, based on the set of terrain points, a smooth path profile for the implement; and control the implement based on the smooth path profile.
A controller of a machine may include one or more memories; and one or more processors, coupled to the one or more memories, configured to: obtain terrain information associated with a site at which the machine operates; select, based on the terrain information, a set of terrain points; generate, based on the set of terrain points, a smooth path profile for an implement of the machine; and control the implement based on the smooth path profile.
A method may include selecting, by a controller of a machine, a set of terrain points associated with a site at which the machine operates; and generating, by the controller, based on the set of terrain points, a smooth path profile for an implement of the machine.
FIG. 1 is a side view of an example machine.
FIGS. 2A-2B are diagrams of an example implementation described herein.
FIG. 3 is a diagram of example implementation described herein.
FIG. 4 is a diagram of example components of a device associated with automatically enabling and disabling an autonomous control scheme for an implement of a machine.
FIG. 5 is a flowchart of an example process associated with generating a smooth path profile for an implement of a machine based on a set of terrain points.
This disclosure relates to a controller of a machine that includes an implement and is applicable to any machine that performs an operation (e.g., using the implement). For example, the machine may be any machine that performs an operation associated with an industry such as, for example, mining, construction, farming, transportation, or any other industry. As some examples, the machine may be a dozer, a tractor, a tractor scraper, a backhoe loader, a wheel loader, a harvester, an excavator, a motor grader, a skid steer loader, a cold planer, a compactor, a feller buncher, a forest machine, a forwarder, an industrial loader, a knuckleboom loader, a material handler, a pipelayer, a road reclaimer, a skid steer loader, or other above-ground equipment, or underground equipment.
FIG. 1 is a side view of an example machine 100. The machine 100 may perform earth moving, excavation, or another operation associated with an industry such as construction or mining, among other examples. That is, the machine 100 is a work machine. For example, as illustrated in FIG. 1, the machine 100 is a dozer. However, the machine 100 may be another type of machine, as described above.
The machine 100 includes a frame 102 that is supported by an undercarriage 104 used to propel the machine 100. The undercarriage 104 is configured to engage a ground surface, such as a road or another type of terrain. The undercarriage 104 includes a pair of endless tracks 106 (only one endless track 106 is visible in FIG. 1) driven by respective drive wheels 108.
Although the machine 100 is illustrated as having tracks 106, the undercarriage 104 may additionally, or alternatively, include one or more wheels for propelling the machine 100.
The frame 102 supports a prime mover 110. The prime mover 110 may include an engine (e.g., an internal combustion engine), such as a diesel engine, a gasoline engine, or a gaseous fuel engine, among other examples, or an electric motor (e.g., for electric powering of machine 100 or hybrid powering of machine 100 with the engine). The prime mover 110 is configured to provide power to drive the tracks 106. Furthermore, the prime mover 110 is configured to provide power to one or more implements 112 (e.g., by driving one or more hydraulic pumps that provide pressurized fluid to one or more actuators of the machine 100).
In FIG. 1, the implements 112 are illustrated as a blade 114, attached to a front of the machine 100, and a ripper 116 attached to a rear of the machine 100. Other embodiments can include any other suitable implement for dozing, brushing, compacting, grading, lifting, loading, plowing, and/or ripping, among other examples. Example implements 112 include a stump grinder, a trencher, a broom, a brush cutter, a cold planer, a moldboard, a hook, a backhoe, a mower, a mulcher, a processor, a pulverizer, a rake, a saw, a snow product, a snow blower, a tiller, a winch, an auger, a bucket, a scoop, a breaker/hammer, a compactor, a cutter, a forked lifting device, a grader bit and end bit, and/or a grapple, among other examples.
The implements 112 are movable with respect to the frame 102. For example, the blade 114 may be pivotally connected to the frame 102 by arms 118 on each side of the machine 100. One or more first hydraulic cylinders 120 may be coupled to the frame 102 to support the blade 114 in the vertical direction and allow the blade 114 to move up or down vertically. Additionally, one or more second hydraulic cylinders 122 may be included on each side of the machine 100 to allow a pitch or an angle of the blade 114 to change. The first and second hydraulic cylinders 120, 122 may be actuators that receive actuation instructions to adjust, lift, lower, or otherwise move and/or position the blade 114. Similarly, the ripper 116 may be pivotally connected to the frame 102 by one or more arms 124, and one or more hydraulic cylinders 126 may be coupled to the frame 102 to support the ripper 116 and allow the ripper 116 to move up or down vertically.
An operator station 128 may be supported on the frame 102 and may include an operator console having one or more displays (e.g., touchscreen displays) and/or one or more operator controls to operate and/or drive the machine 100. For example, the operator controls may include a joystick, a lever, and/or a knob, among other examples. The machine 100 includes a controller 130 for electrically controlling various aspects of the machine 100. For example, the controller 130 (e.g., that includes an electronic control module (ECM) or other computing device) may send and receive signals from various components of the machine 100 during the operation of the machine 100. In some implementations, the controller 130 may be configured to provide autonomous (e.g., fully autonomous or semi-autonomous) control of the machine 100, of one or more functions of the machine 100 (e.g., propulsion, braking, steering, implement movement, or the like), and/or of the one or more implements 112 (e.g., to automatically adjust an implement). The machine 100 may also include a data storage device 132, which stores information generated by the machine 100 or communicated to the machine 100.
One or more sensors 134, configured to mount on machine 100 (e.g., to the frame 102 or the operator station 128), are communicatively coupled to the controller 130 (e.g., by a wired connection or wirelessly). The one or more sensors 134 may include one or more perception sensors, such as a sonar sensor, a camera, a light detection and ranging (LIDAR) sensor, and/or a radio detection and ranging (RADAR) sensor, or another type of sensor to perceive an environment of the machine 100. The one or more sensors 134 may include one or more machine sensors, such as a machine position sensor (e.g., a global positioning system (GPS) sensor, or a local positioning system sensor) configured to determine a location (e.g., a physical location), an orientation, and/or a heading of the machine 100; one or more implement sensors, such as an implement position sensor (e.g., a rotation sensor, or another sensor) configured to determine a location (e.g., a physical location), an orientation, and/or a heading of an implement 112; one or more machine command sensors, such as a command monitoring sensor configured to determine commands (e.g., a machine steering command, an implement movement command) associated with controlling the machine 100 and/or the implement 112 that are input into the operator controls of the operator station 128; one or more machine status sensors, such as a speed sensor configured to determine a speed of the machine 100 (e.g., when travelling over a surface) and/or a steering angle sensor configured to determine a steering angle of the machine 100; and/or one or more other sensors.
The machine 100 may also include a communication component 136, which may be housed within or mounted to the machine 100. The communication component 136 may be configured to communicate (e.g., wirelessly communicate) with another machine (e.g., another machine 100, or a different type of machine) or another system or device. Accordingly, the communication component 136 may include a radio frequency (RF) component, a Bluetooth component, a Zigbee component, a WiFi component, or a cellular component, along with other examples.
As indicated above, FIG. 1 is provided as an example. Other examples may differ from what is described with regard to FIG. 1.
FIGS. 2A-2B are diagrams of an example implementation 200 described herein. FIGS. 2A-2B show how the controller 130 generates a smooth path profile for an implement of a machine based on a set of terrain points.
As shown in FIG. 2A, and by reference number 202, the controller 130 obtains terrain information. The terrain information is associated with a site at which the machine operates. For example, the terrain information may indicate, for example, a slope of the site, a topography of the site, a surface composition (e.g., sand, rock, or dirt, along with other examples) of the site, a surface density of the site, a surface roughness of the site, a moisture level of the site, weather conditions associated with the site, and/or locations of obstacles at the site, along with other examples. In some implementations, the terrain information identifies a plurality of terrain points (e.g., that each represent an elevation at a particular location of the site). That is, the terrain information may indicate, for each terrain point, an elevation parameter and a location parameter, where the elevation parameter indicates an elevation of the site at a location indicated by the location parameter. The location parameter and the elevation parameter may be represented in global coordinates (e.g., latitude, longitude, and/or elevation), site coordinates (e.g., a Northing, an Easting, and/or an elevation with respect to a local origin point), or other coordinates.
The controller 130 may obtain the terrain information from at least one of the data storage device 132, the one or more sensors 134, the communication component 136, or another component or device of the machine 100. For example, the controller 130 may obtain the terrain information from the data storage device 132, such as when the terrain information is stored in the data storage device 132 as part of a track mapping process (e.g., previously performed by the machine 100, or by another machine). As another example, the controller 130 may obtain the terrain information from the one or more sensors 134 (e.g., as sensor data captured by the one or more sensors 134), such as when the one or more sensors 134 include perception sensors that are configured to perceive an environment of the machine 100. In an additional example, the controller 130 may obtain the terrain information from the communication component 136 (e.g., that is transmitted to the machine 100 by a system or device, such as a drone), such as when the site is monitored by the system or device.
As shown by reference number 204, the controller 130 selects a set of terrain points (e.g., based on the terrain information). For example, the controller 130 may select a set of terrain points (e.g., a set of two or more terrain points) of the plurality of terrain points identified in the terrain information. In some implementations, the controller 130 may determine at least one of a heading of the machine 100 (e.g., based on sensor information obtained from a machine position sensor of the one or more sensors 134) or a projected path of the machine 100 (e.g., based on sensor information obtained from a machine position sensor and a machine steering sensor of the one or more sensors 134). Accordingly, the controller 130 may select the set of terrain points from terrain points, of the plurality of terrain points, that are associated with at least one of the projected path of the machine 100 or the heading of the machine 100. That is, the controller 130 may select the set of terrain points from terrain points, of the plurality of terrain points, that are located within the projected path of the machine 100 and/or from terrain points, of the plurality of terrain points, that are aligned with the heading of the machine 100.
As shown by reference number 206, the controller 130 generates a smooth path profile for the implement 112 (e.g., based on the set of terrain points). The smooth path profile may indicate a target position of the implement 112 for each region of a set of regions (e.g., two or more regions) of the site, wherein each region is associated with at least one terrain point of the set of terrain points. Put another way, the smooth path profile may indicate a first target position of the implement 112 when the machine 100 is located within a first region of the site, a second target position of the implement 112 when the machine 100 is located within a second region of the site, and/or so on, and each region contains at least one terrain point of the set of terrain points. In this way, the smooth path profile may indicate different target positions (e.g., the first target position, the second target position, and/or so on) for the implement 112 as the machine 100 travels (e.g., in a direction of the heading of the machine 100, or along the projected path of the machine 100) between different regions (e.g., to the first region, to the second region, and/or so on) of the site. This may enable repositioning (e.g., smooth repositioning, without erratic or choppy motion) of the implement 112 (e.g., as adjusted by the controller 130, as further described herein), between the different target positions, as the machine 100 travels between the different regions.
In some implementations, the controller 130 may generate the smooth path profile using a filtering technique on the set of terrain points. For example, the controller 130 may process the set of terrain points using the filtering technique to generate the smooth path profile. The filtering technique includes application of one or more filters (e.g., at least one of a zero-phase filter, a low-pass filter, a high-pass filter, a band-pass filter, or another type of filter) to the set of terrain points. As a specific example, the controller 130 may process, using at least one filter, respective elevation parameters of the set of terrain points (e.g., as indicated by the terrain information) to generate the smooth path profile.
As shown in FIG. 2B, and by reference number 208, the controller 130 controls the implement 112 (e.g., based on the smooth path profile). For example, the controller 130 may determine, based on the smooth path profile, a target position of the implement 112 for a region of the site. The controller 130 may thereby adjust the implement 112 to achieve the target position when the machine 100 is located within the region of the site. As another example, the controller 130 may determine, based on the smooth path profile, a first target position of the implement 112 for a first region of the site, a second target position of the implement 112 for a second region of the site, and so on. The controller 130 may thereby adjust the implement 112 to achieve the first target position when the machine 100 is located within the first region of the site, adjust the implement 112 to achieve the second target position when the machine 100 is located within the second region of the site, and so on. In this way, because the target positions of the implement 112 are determined before the machine 100 travels between regions of the site, the controller 130 is able to smoothly adjust the implement 112 between the target positions (e.g., without needing to determine real-time status conditions of the machine 100) as the machine 100 travels between the regions of the site.
As indicated above, FIGS. 2A-2B are provided as an example. Other examples may differ from what is described in connection with FIGS. 2A-2B.
FIG. 3 is a diagram of example implementation 300 described herein. FIG. 3 shows an example smoothed surface 302 (shown as a dashed line), generated by the machine 100, of a site with an as-built surface 304 (shown as a solid line). As further shown in FIG. 3, the smoothed surface 302 follows contours of the as-built surface 304, but an elevation variation between adjacent regions is reduced.
As additionally shown in FIG. 3, the controller 130 may select a set of terrain points 306 (shown as circles with diagonal shading) from a plurality of terrain points 308 (shown as circles with and without diagonal shading). The controller 130 may thereby generate a smooth path profile for the implement 112 (shown as a blade) of the machine 100 and may control the implement 112, as described elsewhere herein. In this way, the controller 130 causes the smoothed surface 302 to be created (e.g., by causing the implement 112 to be smoothly adjusted between target positions indicated by the smooth path profile).
As indicated above, FIG. 3 is provided as an example. Other examples may differ from what is described with regard to FIG. 3.
FIG. 4 is a diagram of example components of a device 400 associated with automatically enabling and disabling an autonomous control scheme for an implement of a machine. The device 400 corresponds to the controller 130, the data storage device 132, the one or more sensors 134, the communication component 136, and/or one or more other components of the machine 100. In some implementations, the controller 130, the data storage device 132, the one or more sensors 134, the communication component 136, and/or one or more other components of the machine 100 include one or more devices 400 and/or one or more components of the device 400. In the example shown in FIG. 4, the device 400 includes a bus 410, a processor 420, a memory 430, an input component 440, an output component 450, and/or a communication component 460.
The bus 410 includes one or more components that enable wired and/or wireless communication among the components of the device 400. The bus 410 couples together two or more components of FIG. 4, such as via operative coupling, communicative coupling, electronic coupling, and/or electric coupling. For example, the bus 410 may include an electrical connection (e.g., a wire, a trace, and/or a lead) and/or a wireless bus. The processor 420 includes a central processing unit, a graphics processing unit, a microprocessor, a controller, a microcontroller, a digital signal processor, a field-programmable gate array, an application-specific integrated circuit, and/or another type of processing component. The processor 420 may be implemented in hardware, firmware, or a combination of hardware and software. In some implementations, the processor 420 includes one or more processors capable of being programmed to perform one or more operations or processes described elsewhere herein.
The memory 430 includes volatile and/or nonvolatile memory, such as random access memory (RAM), read only memory (ROM), a hard disk drive, and/or another type of memory (e.g., a flash memory, a magnetic memory, and/or an optical memory). The memory 430 may include internal memory (e.g., RAM, ROM, or a hard disk drive) and/or removable memory (e.g., removable via a universal serial bus connection). In some implementations, the memory 430 is a non-transitory computer-readable medium. The memory 430 stores information, one or more instructions, and/or software (e.g., one or more software applications) related to the operation of the device 400. In some implementations, the memory 430 includes one or more memories that are coupled (e.g., communicatively coupled) to one or more processors (e.g., processor 420), such as via the bus 410. Communicative coupling between a processor 420 and a memory 430 enables the processor 420 to read and/or process information stored in the memory 430 and/or to store information in the memory 430.
The input component 440 enables the device 400 to receive input, such as user input and/or sensed input. For example, the input component 440 may include a touch screen, a keyboard, a keypad, a mouse, a button, a microphone, a switch, a sensor, a global positioning system sensor, a global navigation satellite system sensor, an accelerometer, a gyroscope, and/or an actuator. The output component 450 enables the device 400 to provide output, such as via a display, a speaker, and/or a light-emitting diode. The communication component 460 enables the device 400 to communicate with other devices via a wired connection and/or a wireless connection. For example, the communication component 460 may include a receiver, a transmitter, a transceiver, a modem, a network interface card, and/or an antenna.
In some implementations, the device 400 performs one or more operations or processes described herein. For example, a non-transitory computer-readable medium (e.g., memory 430) may store a set of instructions (e.g., one or more instructions or code) for execution by the processor 420. The processor 420 may execute the set of instructions to perform one or more operations or processes described herein. In some implementations, execution of the set of instructions, by one or more processors 420, causes the one or more processors 420 and/or the device 400 to perform one or more operations or processes described herein. In some implementations, hardwired circuitry is used instead of or in combination with the instructions to perform one or more operations or processes described herein. Additionally, or alternatively, the processor 420 may be configured to perform one or more operations or processes described herein. Thus, implementations described herein are not limited to any specific combination of hardware circuitry and software.
The number and arrangement of components shown in FIG. 4 are provided as an example. The device 400 may include additional components, fewer components, different components, or differently arranged components than those shown in FIG. 4. A set of components (e.g., one or more components) of the device 400 may perform one or more functions described as being performed by another set of components of the device 400.
FIG. 5 is a flowchart of an example process 500 associated with generating a smooth path profile for an implement of a machine based on a set of terrain points. One or more process blocks of FIG. 5 may be performed by a controller (e.g., the controller 130) or a machine (e.g., the machine 100). Additionally, or alternatively, one or more process blocks of FIG. 5 may be performed by another device or a group of devices separate from or including the controller, such as another device or component that is internal or external to the machine. The machine may include an implement (e.g., the implement 112).
As shown in FIG. 5, process 500 may include obtaining terrain information that identifies a plurality of terrain points associated with a site at which the machine operates (block 510). For example, the controller may obtain terrain information that identifies a plurality of terrain points associated with a site at which the machine operates, as described above.
As further shown in FIG. 5, process 500 may include selecting a set of terrain points of the plurality of terrain points (block 520). For example, the controller may select a set of terrain points of the plurality of terrain points, as described above.
As further shown in FIG. 5, process 500 may include generating a smooth path profile for the implement (block 530). For example, the controller may generate (e.g., based on the set of terrain points) a smooth path profile for the implement, as described above.
As further shown in FIG. 5, process 500 may include controlling the implement based on the smooth path profile (block 540). For example, the controller may control the implement based on the smooth path profile, as described above.
Although FIG. 5 shows example blocks of process 500, in some implementations, process 500 may include additional blocks, fewer blocks, different blocks, or differently arranged blocks than those depicted in FIG. 5. Additionally, or alternatively, two or more of the blocks of process 500 may be performed in parallel.
Implementations described herein may be used with any machine that includes a controller and an implement, such as a dozer that includes a controller and a blade. The machine may be any machine that performs an operation associated with an industry such as, for example, mining, construction, farming, transportation, or any other industry.
To achieve a desired outcome of a machine's operation, it is often necessary to align the machine's implement with a target plane during performance of the operation. For example, when the machine is a dozer equipped with a blade, aligning the blade with a target plane ensures that a surface of a worksite is leveled or graded according to specified requirements. Notably, in many cases, it is often desirable for the implement to move smoothly between different positions as the machine travels the worksite. For example, when the machine is a dozer, it may be desired for the blade to follow surface contours of the worksite to produce a smooth work surface, minimizing elevation differences between adjacent regions.
Maintaining smooth implement movement between positions is challenging due to changes in the machine's orientation as the machine navigates terrain variations at the worksite. Adjusting the implement in response to these orientation changes often leads to erratic or “choppy” implement motion, which degrades the quality of the work operation. For example, when a dozer moves across an uneven surface that frequently alters the dozer's orientation, the blade must be continuously repositioned to compensate for the dozer's orientation and the uneven surface. This continual adjustment can create an irregular, undulating surface, commonly known as a “washboard” surface, that often requires additional grading to correct and potentially reduces an efficiency of subsequent operations performed by the same machine or other machines.
Some implementations described herein include a controller of a machine that obtains terrain information associated with a site at which the machine operates. The terrain information identifies a plurality of terrain points, each of which represents an elevation a particular location of the site. The controller selects a set of terrain points, from the plurality of terrain points, that are located, for example, within a projected path of the machine or that are aligned with a heading of the machine.
The controller then generates, based on the set of terrain points, a smooth path profile for an implement of a machine. The smooth path profile indicates respective target positions for a set of regions of the site (e.g., that associated with the projected path of the machine or that are aligned with the heading of the machine). The controller (or another component of the machine) then uses the smooth path profile to control the implement.
In this way, the controller enables smooth repositioning of the implement between different target positions (e.g., as indicated by the smooth path profile) as the machine travels between different regions of the set of regions. Further, because controller determines the target positions of the implement before the machine travels between the different regions, the controller is able to adjust the implement between the target positions (e.g., without needing to determine real-time status conditions of the machine) as the machine travels between the regions of the site, which reduces a likelihood of erratic or choppy motion of the implement. This therefore reduces a likelihood of creating an irregular, undulating surface (e.g. a washboard surface) and therefore additional grading to correct the surface is not needed. Further, because of an improved smoothness of the surface, an efficiency of subsequent operations performed by the machine, or other machines, that travel across the surface is improved.
The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit the implementations to the precise forms disclosed. Modifications and variations may be made in light of the above disclosure or may be acquired from practice of the implementations. Furthermore, any of the implementations described herein may be combined unless the foregoing disclosure expressly provides a reason that one or more implementations cannot be combined. Even though particular combinations of features are recited in the claims and/or disclosed in the specification, these combinations are not intended to limit the disclosure of various implementations. Although each dependent claim listed below may directly depend on only one claim, the disclosure of various implementations includes each dependent claim in combination with every other claim in the claim set.
When “a processor” or “one or more processors” (or another device or component, such as “a controller” or “one or more controllers”) is described or claimed (within a single claim or across multiple claims) as performing multiple operations or being configured to perform multiple operations, this language is intended to broadly cover a variety of processor architectures and environments. For example, unless explicitly claimed otherwise (e.g., via the use of “first processor” and “second processor” or other language that differentiates processors in the claims), this language is intended to cover a single processor performing or being configured to perform all of the operations, a group of processors collectively performing or being configured to perform all of the operations, a first processor performing or being configured to perform a first operation and a second processor performing or being configured to perform a second operation, or any combination of processors performing or being configured to perform the operations. For example, when a claim has the form “one or more processors configured to: perform X; perform Y; and perform Z,” that claim should be interpreted to mean “one or more processors configured to perform X; one or more (possibly different) processors configured to perform Y; and one or more (also possibly different) processors configured to perform Z.”
As used herein, “a,” “an,” and a “set” are intended to include one or more items, and may be used interchangeably with “one or more.” Further, as used herein, the article “the” is intended to include one or more items referenced in connection with the article “the” and may be used interchangeably with “the one or more.” Further, the phrase “based on” is intended to mean “based, at least in part, on” unless explicitly stated otherwise. Also, as used herein, the term “or” is intended to be inclusive when used in a series and may be used interchangeably with “and/or,” unless explicitly stated otherwise (e.g., if used in combination with “either” or “only one of”). Further, spatially relative terms, such as “below,” “lower,” “above,” “upper,” and the like, may be used herein for ease of description to describe one element or feature's relationship to another element(s) or feature(s) as illustrated in the figures. The spatially relative terms are intended to encompass different orientations of the apparatus, device, and/or element in use or operation in addition to the orientation depicted in the figures. The apparatus may be otherwise oriented (rotated 90 degrees or at other orientations) and the spatially relative descriptors used herein may likewise be interpreted accordingly.
1. A machine, comprising:
an implement; and
a controller configured to:
obtain terrain information that identifies a plurality of terrain points associated with a site at which the machine operates;
select a set of terrain points of the plurality of terrain points;
generate, based on the set of terrain points, a smooth path profile for the implement; and
control the implement based on the smooth path profile.
2. The machine of claim 1, wherein the controller, to obtain the terrain information, is configured to:
obtain the terrain information from at least one of:
one or more sensors included in the machine;
a data storage device included in the machine; or
a communication component included in the machine.
3. The machine of claim 1, wherein the controller, to select the set of terrain points, is configured to:
determine a projected path of the machine; and
select the set of terrain points from terrain points, of the plurality of terrain points, that are located within the projected path of the machine.
4. The machine of claim 1, wherein the controller, to select the set of terrain points, is configured to:
determine a heading of the machine; and
select the set of terrain points from terrain points, of the plurality of terrain points, that are aligned with the heading of the machine.
5. The machine of claim 1, wherein the controller, to generate the smooth path profile, is configured to:
process, using a filtering technique, the set of terrain points to generate the smooth path profile.
6. The machine of claim 5, wherein the filtering technique includes application of, to the set of terrain points, at least one of:
a zero-phase filter,
a low-pass filter,
a high-pass filter, or
a band-pass filter.
7. The machine of claim 1, wherein the controller, to generate the smooth path profile, is configured to:
process, using at least one filter, respective elevation parameters of the set of terrain points to generate the smooth path profile.
8. The machine of claim 1, wherein the smooth path profile indicates a target position of the implement for each region, of a set of regions, of the site,
wherein each region is associated with at least one terrain point of the set of terrain points.
9. The machine of claim 1, wherein the controller, to control the implement, is configured to:
determine, based on the smooth path profile, a target position of the implement for a region of the site; and
adjust the implement to achieve the target position when the machine is located within the region of the site.
10. The machine of claim 1, wherein the controller, to control the implement, is configured to:
determine, based on the smooth path profile, a first target position of the implement for a first region of the site and a second target position of the implement for a second region of the site;
adjust the implement to achieve the first target position when the machine is located within the first region of the site; and
adjust the implement to achieve the second target position when the machine is located within the second region of the site.
11. A controller of a machine, comprising:
one or more memories; and
one or more processors, coupled to the one or more memories, configured to:
obtain terrain information associated with a site at which the machine operates;
select, based on the terrain information, a set of terrain points;
generate, based on the set of terrain points, a smooth path profile for an implement of the machine; and
control the implement based on the smooth path profile.
12. The controller of claim 11, wherein one or more processors, to obtain the terrain information, are configured to:
obtain the terrain information from at least one of:
one or more sensors included in the machine;
a data storage device included in the machine; or
a communication component included in the machine.
13. The controller of claim 11, wherein one or more processors, to select the set of terrain points, are configured to:
select the set of terrain points from terrain points, of a plurality of terrain points identified by the terrain information, that are associated with at least one of a projected path of the machine or a heading of the machine.
14. The controller of claim 11, wherein one or more processors, to generate the smooth path profile, are configured to:
generate the smooth path profile using a filtering technique on the set of terrain points.
15. The controller of claim 14, wherein the filtering technique includes application of, to the set of terrain points, at least one of:
a zero-phase filter,
a low-pass filter,
a high-pass filter, or
a band-pass filter.
16. The controller of claim 11, wherein one or more processors, to control the implement, are configured to:
determine, based on the smooth path profile, a target position of the implement for a region of the site; and
adjust the implement to achieve the target position when the machine is located within the region of the site.
17. A method, comprising:
selecting, by a controller of a machine, a set of terrain points associated with a site at which the machine operates; and
generating, by the controller, based on the set of terrain points, a smooth path profile for an implement of the machine.
18. The method of claim 17, wherein selecting the set of terrain points comprises:
obtaining terrain information associated with the site; and
selecting the set of terrain points from terrain points, of a plurality of terrain points identified by the terrain information, that are associated with at least one of a projected path of the machine or a heading of the machine.
19. The method of claim 17, wherein generating the smooth path profile comprises:
generating the smooth path profile using a filtering technique on the set of terrain points.
20. The method of claim 17, wherein the smooth path profile indicates a target position of the implement for each region, of a set of regions, of the site,
wherein each region is associated with at least one terrain point of the set of terrain points.