Patent Description:
Engineering vehicles such as tractors are widely used in agriculture and construction. For example, a variety of farm implements may be towed behind or mounted on a tractor to perform various agricultural tasks, such as plowing, irrigation, fertilizer and pesticide spraying, seed spraying, harvesting, and the like. Autonomous or semi-autonomous tractors are used for precision agriculture. As another example, compactors may be used to create a level grade in construction projects. Various path planning algorithms may be used to guide an autonomous vehicle. <CIT> and <CIT> disclose methods for planning two- and three-segment turns. These methods do not disclose initial segments for moving the vehicle to the beginning of the turn and the according gear changes after each segment. An end-of-row-turn (EORT) path planner may automatically calculate the best possible path to turn the vehicle around from a current swath and approach the next swath. The goals of an EORT path planner may include producing a trajectory that saves time and fuel cost, and reduces damage to crops or avoids other machines and structures.

According to the invention, claims <NUM> and <NUM> provide methods of path planning for an autonomous vehicle to make a turn.

Embodiments of the present invention provide path planning to enable an autonomous vehicle to make a turn from one swath to another swath in an optimal amount of time and minimal travel distance, with minimal crop damage and/or avoiding obstacles (e.g., avoiding other machines, equipment, and structures on a construction site). In some embodiments, a user may be able to select a multi-segment turn, in which the vehicle may transition from a forward segment (i.e., the vehicle moving in the direction it is facing) to a reverse segment (i.e., the vehicle moving in an opposite direction from the direction it is facing), or vice versa. In some embodiments, the user may be able to select a headland-following (HF) turn, in which at least a portion of the trajectory of the turn follows a guidance line in the headland (see definitions of "headland" and "guidance line" below). The path planning algorithms are applicable to curved guidance lines, as well as straight guidance lines. They are also applicable to curved swaths as well as straight swaths, and parallel swaths as well as non-parallel swaths.

The term "geofence" may refer to a geographical boundary of a work area (e.g., an agricultural field, a construction site, and the like) that no part of the vehicle is permitted to go beyond. The term "boundary" may refer to any polygon that is either identical to the geofence or is inwardly offset from the geofence. For example, a farmer may drive the vehicle around the crop rows to record a boundary of the work area. In construction applications, information of the boundary may be available by construction surveys and the site design. Information of the boundary may also be obtained by manually walking up the boundary, by using an autonomous ground vehicle (AGV), or the like. The boundary information may be input to a path planner for algorithmic computation. The boundary may be used as the geofence. The term "headland" may refer to the region between the geofence and a second boundary inwardly offset from the geofence.

<FIG> illustrates an exemplary work area <NUM>. The work area <NUM> has a boundary or geofence <NUM>. A second boundary <NUM> is inwardly offset from the geofence <NUM>. The region inside the second boundary <NUM> may be the cropped area <NUM> with many swaths <NUM>. The region between the geofence <NUM> and the second boundary <NUM> may be referred to herein as the headland <NUM>. The geofence <NUM> may be referred to as the outer boundary of the headland <NUM>. The second boundary <NUM> may be referred to as the inner boundary of the headland <NUM> or as the headland boundary. The offset distance between the geofence <NUM> and the second boundary <NUM> may be referred to as the width of the headland <NUM>. A headland <NUM> may have a width that is an integer multiple of the implement width X being used. For instance, in the example illustrated in <FIG>, the width of the headland is equal to the implement width X.

The term "headland pattern" may refer to a guidance line <NUM> inside the headland <NUM> that may be used as a route for a vehicle to traverse along to fill the headland <NUM>. For instance, in the example illustrated in <FIG>, the guidance line <NUM> may be offset from the headland boundary <NUM> by a distance that is equal to one half of the implement width X. There may be multiple guidance lines depending on the relationship between the width of the headland <NUM> and the implement width X.

When an autonomous vehicle needs to make an end-of-row turn to switch from a current swath to a next swath, the trajectory of the turn may follow a U-shape or a bulb-shape. <FIG> illustrates an example of a U-shaped turn. The vehicle <NUM> is moving in the forward direction (i.e., in the direction it is facing) on the current swath <NUM> before the turn. The vehicle <NUM> continue to move in the forward direction along the U-shaped trajectory <NUM> of the turn to reach the next swath <NUM>. In order to avoid or minimize crop damage, it may be desirable that the trajectory <NUM> of the turn is confined to the headland <NUM> if possible. The U-shaped turn may be possible when the distance D between the current swath <NUM> and the next swath <NUM> is wide enough.

When the distance D between the current swath <NUM> and the next swath <NUM> is not wide enough, the vehicle <NUM> may need to make a bulb-shaped turn, as illustrated in <FIG>. Here, along the trajectory <NUM> of the turn, the vehicle <NUM> first turns slightly to the left away from the next swath <NUM>, then turns around and overshoot to the right slightly, before reaching the next swath <NUM>. In order for the trajectory <NUM> to be confined to the headland <NUM>, the bulb-shaped turn may require a wider width W of the headland <NUM> as compared to the U-shaped turn illustrated in <FIG>. As illustrated in <FIG>, for a narrower headland <NUM>, some parts of the trajectory <NUM> may traverse the crop area <NUM>, and therefore may cause more damage to the crop.

The U-shaped turn illustrated in <FIG> and the bulb-shaped turn illustrated in <FIG> may be referred to as one-segment turn type, since the vehicle <NUM> stays in the same gear (e.g., the forward gear) along the trajectory of the turn.

According to some embodiments, a path planner may allow multi-segment turn types. A trajectory of a multi-segment turn may include two or more segments, in which the vehicle may switch from the forward gear to the reverse gear, or vice versa, as it transitions from one segment to a next segment.

<FIG> illustrates an exemplary two-segment turn. A vehicle <NUM> is making the turn to transition from a current swath <NUM> to a next swath <NUM>. The trajectory of the two-segment turn may include a first segment <NUM> and a second segment <NUM>. In the first segment <NUM>, the vehicle <NUM> may start from a beginning position <NUM> of the turn, move away from the next swath <NUM>, and end at an intermediate position <NUM>. In the second segment <NUM>, the vehicle <NUM> may start from the intermediate position <NUM>, move toward the next swath <NUM>, and end at the ending position <NUM> of the turn.

As illustrated in <FIG>, the vehicle <NUM> may be in the forward gear (i.e., the vehicle <NUM> moves in the direction it is facing) during the first segment <NUM> (thus, the first segment <NUM> is represented by a solid line), and switch to the reverse gear (i.e., the vehicle moves in the direction opposite to where it is facing) as it transitions to the second segment <NUM> (thus, the second segment <NUM> is represented by a dashed line). This situation may be applicable when the vehicle <NUM> traverses the current swath <NUM> in the forward gear before the turn started. After the turn, the vehicle <NUM> may traverse the next swath <NUM> in the reverse gear.

As illustrated in <FIG>, if the vehicle <NUM> traverses the current swath <NUM> in the reverse gear, the vehicle <NUM> may be in the reverse gear during the first segment <NUM>, and switch to the forward gear as it transitions to the second segment <NUM>. After the turn, the vehicle <NUM> may traverse the next swath <NUM> in the forward gear. Therefore, in a two-segment turn, the vehicle <NUM> may traverse the next swath <NUM> in a gear that is opposite to that in the current swath <NUM> (e.g., from forward to reverse, or from reverse to forward).

Compared to the bulb-shaped one-segment turn illustrated in <FIG>, the two-segment turn illustrated in <FIG> may allow the entire trajectory of the turn to be confined within the headland <NUM> even if the headland has a relatively narrow width W. Thus, crop damage may be avoided or minimized. The two-segment turn may also allow a shorter total traveling distance during the turn as compared to a bulb-shaped one-segment turn, and thus may save time and fuel cost. Therefore, the two-segment turn may be more advantageous.

<FIG> illustrates an exemplary two-segment turn for a compactor in a construction environment. The short-dashed line <NUM> indicates a street. The dashed line <NUM> indicates a work area (e.g., a portion of the street <NUM> that needs to be compacted). The solid line <NUM> illustrates the trajectory of the compactor. Once the compactor finishes a swath, it needs to transition to the next swath. In this example, the compactor makes a two-segment turn to transition from a current swath to a next swath. For example, in a first segment <NUM>, the compactor may travel forward to an intermediate position <NUM>, and reverse to the next swath. The compactor may progress swath by swath until the entire work area <NUM> is completed.

<FIG> illustrates an alternative shape of a two-segment turn. Here, in the first segment <NUM> of the turn, a vehicle may start from the beginning position <NUM> of the turn, move toward the headland <NUM> and then toward the next swath <NUM>, and end at an intermediate position <NUM>. In the second segment <NUM> of the turn, the vehicle may start from the intermediate position <NUM> and end at the ending position <NUM> of the turn.

<FIG> illustrates another alternative shape of a two-segment turn. Here, in the first segment <NUM> of the turn, a vehicle may start from the beginning position <NUM> of the turn, move toward the headland <NUM> and slightly toward the next swath <NUM>, and end at an intermediate position <NUM> that lies laterally about midway between the current swath <NUM> and the next swath <NUM>. In the second segment <NUM> of the turn, the vehicle may start from the intermediate position <NUM> and end at the ending position <NUM> of the turn. In this case, in order for the entire trajectory of the two-segment turn to be confined within the headland <NUM> so as to minimize crop damage, it may require a wider headland as compared to the two-segment turn illustrated in <FIG> and <FIG>.

<FIG> illustrates a further alternative shape of a two-segment turn. Here, in the first segment <NUM> of the turn, a vehicle may start from the beginning position <NUM> of the turn, move straight toward the headland <NUM>, and end at an intermediate position <NUM>. In the second segment <NUM> of the turn, the vehicle may start from the intermediate position <NUM>, and end at the ending position <NUM> of the turn. In this case, in order for the entire trajectory of the two-segment turn to be confined within the headland <NUM> so as to minimize crop damage, it may also require a wider headland as compared to the two-segment turn illustrated in <FIG> and <FIG>.

<FIG> illustrates an exemplary three-segment turn. A vehicle <NUM> is making the turn to transition from a current swath <NUM> to a next swath <NUM>. The trajectory of the three-segment turn may include a first segment <NUM>, a second segment <NUM>, and a third segment <NUM>. In the first segment <NUM>, the vehicle <NUM> may start from the beginning position <NUM> of the turn, move toward the next swath <NUM>, and ends at a first intermediate position <NUM>. In the second segment <NUM>, the vehicle <NUM> may start from the first intermediate position <NUM>, move away from the next swath <NUM>, and ends at a second intermediate position <NUM>. In the third segment <NUM>, the vehicle <NUM> may start from the second intermediate position <NUM>, move toward the next swath <NUM>, and ends at the ending position <NUM> of the turn.

As illustrated in <FIG>, the vehicle <NUM> may be in the forward gear during the first segment <NUM>, switch to the reverse gear as it transitions to the second segment <NUM>, and switch to the forward gear again as it transitions to the third segment <NUM>. This situation may be applicable when the vehicle <NUM> traverses the current swath <NUM> in the forward gear before the turn started. After the turn, the vehicle <NUM> may continue to traverse the next swath <NUM> in the forward gear.

As illustrated in <FIG>, if the vehicle <NUM> traverses the current swath <NUM> in the reverse gear, the vehicle <NUM> may be in the reverse gear during the first segment <NUM>, switch to the forward gear as it transitions to the second segment <NUM>, and switch to the reverse gear again as it transitions to the third segment <NUM>. After the turn, the vehicle <NUM> may continue to traverse the next swath <NUM> in the reverse gear. Thus, in a three-segment turn, the vehicle <NUM> may traverse the next swath <NUM> in a gear that is the same as in the current swath <NUM>. Therefore, if a user wishes to traverse the next swath in the same gear as in the current swath, the user may select a three-segment turn. On the other hand, if the user wishes to traverse the next swath in a gear that is opposite to that in the current swath, the user may select a two-segment turn, as discussed above with reference to <FIG>.

Similar to the two-segment turn, the three-segment turn illustrated in <FIG> may also allow the entire trajectory of the turn to be confined within the headland <NUM> even if the headland <NUM> has a relatively narrow width W. Thus, crop damage may be avoided or minimized. It should be noted that multi-segment turns with more than three segments are also possible according to some embodiments.

A path planner may enable a turn to follow a headland pattern. Such a turn may be referred herein as a headland-following (HF) turn type. In a HF turn, at least part of the trajectory during the turn will follow a guidance line in the headland. In other words, the shape of the trajectory may adaptively change depending on the shape of the guidance line.

<FIG> illustrates a one-segment HF turn. The one-segment turn is for a vehicle to transition from a current swath <NUM> to a next swath <NUM> (in this example, the next swath <NUM> is not immediately adjacent to the current swath <NUM>). The crop area is bounded by a guidance line <NUM> in the headland (i.e., a headland pattern). In this example, the guidance line <NUM> has an oval shape. In the trajectory <NUM> of the one-segment HF turn, a vehicle may start from the beginning position <NUM> of the turn, move toward the guidance line <NUM>, then follow the guidance line <NUM> for some distance in the direction toward the next swath <NUM>, and end at the ending position <NUM> of the turn. As illustrated, the trajectory <NUM> of the one-segment turn does not need to have a fixed shape (e.g., a bulb-shape or a U-shape); instead, the trajectory is adapted so that at least a portion of the trajectory <NUM> follows the guidance line <NUM>.

<FIG> illustrates another example of a one-segment HF turn. Here, the guidance line <NUM> has an irregular curved shape. In the trajectory <NUM> of the one-segment HF turn, a vehicle may start from the beginning position <NUM> of the turn, move toward the guidance line <NUM>, then follow the guidance line <NUM> for some distance toward the next swath <NUM>, and end at the ending position <NUM> of the turn. In this example, the trajectory <NUM> of the turn is mostly along the guidance line <NUM>. Therefore, crop damage may be minimized. In contrast, in a fixed-pattern U-shape turn, the trajectory <NUM> of the turn may traverse several swaths, and therefore may result in more crop damage.

<FIG> illustrates a two-segment HF turn. The crop area is bounded by a guidance line <NUM> in the headland. The trajectory of the two-segment turn includes a first segment <NUM> and a second segment <NUM>. In the first segment <NUM>, a vehicle may start from the beginning position <NUM> of the turn at the current swath <NUM>, move toward the guidance line <NUM>, and end at an intermediate position <NUM> at the guidance line <NUM>. In the second segment <NUM>, the vehicle may start from the intermediate position <NUM>, move along the guidance line <NUM> for some distance toward the next swath <NUM>, and end at the ending position <NUM> of the turn. Here, again, the exact geometry of the trajectory is not fixed; instead, it is adapted so that a portion of the trajectory follows the guidance line <NUM>.

<FIG> illustrates another example of a two-segment HF turn. In this example, the guidance line <NUM> includes a section <NUM> that is at an oblique angle (i.e., neither perpendicular nor parallel) with respect to the direction of the swaths (e.g., the current swath <NUM> and the next swath <NUM>). In the two-segment HF-turn, a portion of the trajectory <NUM> follows along the guidance line <NUM>, so that the trajectory <NUM> is mostly along either a swath or the guidance line <NUM>. Therefore, crop damage may be minimized. In contrast, in a fixed-pattern two-segment turn, the trajectory <NUM> may go over the crops, and therefore may result in more crop damage.

<FIG> illustrates a three-segment HF turn. The crop area is bounded by a guidance line <NUM> in the headland. The trajectory of the three-segment HF turn includes a first segment <NUM>, a second segment <NUM>, and a third segment <NUM>. In the first segment <NUM>, a vehicle may start from the beginning position <NUM> of the turn at the current swath <NUM>, move toward the guidance line <NUM> in the direction toward the next swath <NUM>, and ends at a first intermediate position <NUM> at the guidance line <NUM>. In the second segment <NUM>, the vehicle may start from the first intermediate position <NUM>, move along the guidance line <NUM> for some distance in the direction away from the next swath <NUM>, and ends at a second intermediate position <NUM> at the guidance line <NUM>. In the third segment <NUM>, the vehicle may start from the second intermediate position <NUM>, move toward the next swath <NUM>, and ends at the ending position <NUM> of the turn at the next swath <NUM>. Here, again, the exact geometry of the trajectory is not fixed; instead, it is adapted so that a portion of the trajectory (e.g., the second segment <NUM>) follows the guidance line <NUM>.

<FIG> illustrates another example of a three-segment HF turn. In this example, the guidance line <NUM> includes a section <NUM> that is at an oblique angle with respect to the direction of the swaths (e.g., the current swath <NUM> and the next swath <NUM>). In a three-segment HF turn, a portion of the trajectory <NUM> (e.g., the second segment) follows along the guidance line <NUM>. Therefore, crop damage may be minimized. In contrast, in a fixed-pattern three-segment turn, the trajectory <NUM> may go over the crops, and therefore may result in more crop damage.

<FIG> illustrates another example of a three-segment HF turn. The trajectory of the three-segment HF turn includes a first segment <NUM>, a second segment <NUM>, and a third segment <NUM>. In the first segment <NUM>, a vehicle may start from the beginning position <NUM> of the turn at the current swath <NUM>, move toward the guidance line <NUM> in the direction away from the next swath <NUM>, and ends at a first intermediate position <NUM> at the guidance line <NUM>. In the second segment <NUM>, the vehicle may start from the first intermediate position <NUM>, move along the guidance line <NUM> for some distance in the direction toward the next swath <NUM>, and ends at a second intermediate position <NUM> at the guidance line <NUM>. In the third segment <NUM>, the vehicle may start from the second intermediate position <NUM>, move toward the next swath <NUM>, and ends at the ending position <NUM> of the turn at the next swath <NUM>. Here, again, the exact geometry of the trajectory is not fixed; instead, it is adapted so that a portion of the trajectory (e.g., the second segment <NUM>) follows the guidance line <NUM>.

If an HF turn is chosen, the path planner may generate a trajectory that first takes the vehicle from its current position to the beginning position of the turn, then executes the turn. This feature is referred to as the move-to-start-of-turn (MST).

<FIG> illustrates an exemplary one-segment HF turn with the MST feature. In this example, the vehicle <NUM> is in the forward gear before the turn, and its current position is closer to the guidance line <NUM> than the beginning position <NUM> of the turn. The trajectory may include a first segment <NUM>, during which the vehicle <NUM> backs up (in a reverse gear) from its current position to the beginning position <NUM> of the turn. During a second segment <NUM> of the trajectory, the vehicle <NUM> makes the turn in the forward gear from the beginning position <NUM> to the ending position <NUM> of the turn. A portion of the second segment <NUM> follows the guidance line <NUM>. In this example, although it is a one-segment turn type, the trajectory of the vehicle <NUM> includes two segments due to the MST feature.

<FIG> illustrates an exemplary two-segment HF turn with the MST feature. In this example, the vehicle <NUM> is in the forward gear before the turn, and its current position is farther away from the guidance line <NUM> than the beginning position <NUM> of the turn. The trajectory may first take the vehicle <NUM> from its current position to the beginning position <NUM> of the turn in the forward gear, then executes a first segment <NUM> of turn in the forward gear, followed by a second segment <NUM> of the turn in the reverse gear. In this example, the trajectory includes only two segments; that is, the trajectory from its current position to the beginning position <NUM> of the turn and the first segment <NUM> of the turn are considered as one segment, since the vehicle <NUM> is in the same gear therethrough. On the other hand, if the vehicle's current position is closer to the guidance line <NUM> than the beginning position <NUM> of the turn, the trajectory may include three segments.

The MST feature may also be applied to three-segment turns in a similar fashion.

According to the invention, a user may select a move-to-end-of-swath-before-turn (MESBT) option. If the MESBT option is turned on, a path planner produces a trajectory in which the vehicle first moves from its current position to an end position of the current swath, then moves from the end position of the current swath to the beginning position of the turn, then executes the turn. The MESBT feature may be applied to one-segment turns, as well as to multi-segment turns with two or more segments.

<FIG> illustrates an exemplary two-segment turn that follows a headland pattern with the MESBT feature according to the invention. In this example, the vehicle <NUM> is in the forward gear facing the end of the swath <NUM>. The trajectory generated by a path planner may first take the vehicle <NUM> from its current position to the end of the swath <NUM> in the forward gear, then back to the beginning position <NUM> of the turn in the reverse gear, then executes the first segment <NUM> of the turn in the forward gear, followed by the second segment <NUM> of the turn in the reverse gear. Thus, in this example of a two-segment turn, the trajectory effectively includes four segments. The segment <NUM> that takes the vehicle <NUM> from its current position to the end of the swath <NUM>, and the segment <NUM> (almost overlaying the segment <NUM>) that takes the vehicle <NUM> from the end of the swath <NUM> to the beginning position <NUM> of the turn may be referred to as initial segments.

According to some embodiments, a user may select a move-to-beginning-of-next-swath-after-turn (MBSAT) option. If the MBSAT option is turned on, a path planner may produce a trajectory in which, after the turn has been completed, the vehicle moves from the ending position of the turn to the beginning of the next swath. The MBSAT feature may be applied to one-segment turns, as well as multi-segment turns with two or more segments. The MBSAT option may be applied independently, or in combination with the MESBT option.

<FIG> illustrates an exemplary three-segment HF turn with both the MESBT feature and the MBSAT feature according to the invention. The trajectory may first take the vehicle <NUM> from its current position to the end of the swath <NUM>, then back to the beginning position <NUM> of the turn, then executes the three-segment turn <NUM> ending at the ending position <NUM> of the turn, then to the beginning <NUM> of the next swath. The segment <NUM> that takes the vehicle <NUM> from its current position to the end of the swath <NUM>, and the segment <NUM> (almost overlaying the segment <NUM>) that takes the vehicle <NUM> from the end of the swath <NUM> to the beginning position <NUM> of the turn may be referred to as initial segments. The segment <NUM> that takes the vehicle <NUM> from the ending position <NUM> of the turn to the beginning of the next swath <NUM> may be referred to as the final segment. Thus, in this example, the entire trajectory of the three-segment turn effectively includes six segments: two initial segments, one final segment, plus three segments in the turn.

A user may select a turn-within-boundary (TWB) option for one-segment turns, as well as for multi-segment turns. The TWB option may be available when the headland-following (HF) option is turned off (if the HF option is turned on, the TWB may be automatically on).

<FIG> illustrates exemplary two-segment turns with the TWB option turned on and off, respectively. The work area is bounded by a boundary <NUM>, which may be a geofence. A guidance line <NUM> may be inwardly offset from the boundary <NUM>. When the TWB option is turned off, a trajectory <NUM> of a two-segment turn may go beyond the boundary <NUM>. When the TWB option is turn on, a trajectory <NUM> of a two-segment turn may be confined within the boundary <NUM>. (Note that, if the HF option is turned on, a trajectory of a two-segment turn may partially follow the guidance line <NUM>, e.g., as illustrated in <FIG>, which effectively confines the trajectory within the boundary <NUM>. ) In some embodiments, a path-planning algorithm may treat the boundary <NUM> as an obstacle and perform trajectory optimization with obstacle avoidance, in which the shape of the turn may be changed so as to avoid the obstacles.

Although the examples illustrated above show straight swaths, the various embodiments discussed above can be applied to curved swaths as well. <FIG> illustrates an example of a one-segment turn <NUM> from a current swath <NUM> to a next swath <NUM>, both of which are curved.

The turns (including one-segment turns and multi-segment turns) can have arbitrary shapes. <FIG> illustrates an example of a one-segment turn <NUM> from a current swath <NUM> to a next swath <NUM>. In this example, both the current swath <NUM> and the next swath <NUM> are curved. As illustrated, the one-segment turn <NUM> in this example does not have a fixed bulb shape.

The various examples discussed above can also be applied to swaths that are not parallel to each other. <FIG> illustrates an example of a one-segment turn <NUM> from a current swath <NUM> to a next swath <NUM>, wherein the current swath <NUM> and the next swath <NUM> are not parallel to each other. <FIG> illustrates another example of a one-segment turn <NUM> from a current swath <NUM> to a next swath <NUM>, wherein the current swath <NUM> and the next swath <NUM> are not parallel to each other. The trajectory of the turn can be an arbitrary shape. For example, it can be a bulb-like shape as illustrated in <FIG>, or a U-like shape as illustrated in <FIG>, or it can be any other shape. The path-planning algorithms may determine an optimal trajectory that meets certain optimization criteria regardless of the shape of the trajectory.

<FIG> shows an exemplary user interface (UI) for a user to select a desired type of turn. The user interface may be implemented as selectable options on a display, or as hardware buttons.

The user may select one of the options "<NUM>-seg," "<NUM>-seg," or "<NUM>-seg" to select a one-segment turn, a two-segment turn, or a three-segment turn. Only one of the options can be selected. If no option is selected, the default may be a one-segment turn.

The "HF" (headland-following) option is a toggle button that can be turned on or off.

The "TWB" (turn-within-boundary) option is a toggle button that can be turned on or off if the "HF" option is turned off. If the "HF" option is turned on, "TWB" is automatically turned on.

The "MESBT" (move-to-end-of-swath-before-turn) option is a toggle button that can be turned on or off if "HF" is on. According to some embodiments, if "HF" is turned off, the MESBT option will not be available (i.e., it cannot be turn on).

The "MBSAT" (move-to-beginning-of-next-swath-after-turn) option is a toggle button that can be turned on or off if "HF" is on. According to some embodiments, if "HF" is turned off, the MBSAT option will not be available (i.e., it cannot be turn on).

When the "Request Turn" button is pressed, a command will be sent to the path planner for generating a trajectory for the requested type of turn. According to some embodiments, the generated trajectory may be displayed on a display screen.

In a path planning algorithm for an autonomous vehicle, the inputs may include a start position, a desired goal position, and mechanical constraints of the vehicle. Given these inputs, the algorithm may seek to find an optimal path from the start position to the goal position under certain optimization criteria. Exemplary optimization criteria may include traveling distance, coverage area, fuel efficiency, and the like.

<FIG> illustrate schematically a vehicle model. The vehicle includes front wheels <NUM> and <NUM>, and rear wheels <NUM> and <NUM>. The rear wheels <NUM> and <NUM> are separated from each other by a width w. The front wheels and the rear wheels are separated by a distance l. In an active front steering integrated chassis control system, the effective steering angle ϕ may be between the steering angles of the left and right front wheels ϕo and ϕi. Vehicle mechanical constraints may include the velocity of the vehicle, the slew rate of the vehicle (i.e., the rate of change of steering angle), maximum steering angle, the length of the vehicle, and the like, as well as the footprint and the mechanical constraints of an attached implement. The dynamic motion of the vehicle may be expressed as, <MAT> where st is the current pose at time t, which may include the (x, y, yaw, curvature, and the like) coordinates; st+<NUM> is the future pose at t+<NUM>; and ut is the action, which may include speed, steering, and the like. Curvature of a vehicle is a path planning entity that relates to the steering angle and wheelbase of the vehicle. For example, if the steering angle is high, then curvature is high, and if the steering angle is low then the curvature is low. In some embodiments, the curvature may be defined as the tangent of the steering angle divided by the wheelbase.

According to some embodiments, search-based methods may be used for path planning. Search techniques may include blind search techniques (e.g., depth first search (DFS), breadth first search (BFS), and the like), and heuristic search techniques (e.g., hill climbing search, best-first search, greedy search, A* search, and the like).

Path planning for turns from one swath to a next swath may optimize distance from a start pose of the vehicle (or its implement) to a desired goal pose of the vehicle. Such path planning may involve four types of trajectory optimization: point-to-point, point-to-linestring, linestring-to-point, and linestring-to-linestring, as illustrated in <FIG>. A point may comprise a pose. A linestring may comprise a sequence of points. For example, point-to-point trajectory optimization might be used for a turn in which the aim is to find the shortest feasible single segment from one point on start swath to another point on the goal swath (for example an adjacent point on the next swath). Linestring-to-linestring trajectory optimization might be used for an end of-row-turn in which the aim is to find the shortest feasible single segment turn that is within the boundary and can go as close as possible to the end of current swath and as close as possible to the beginning of next swath. As another example, point-to-linestring or a linestring-to-point trajectory optimization may be used in a two-segment turn. There, the aim may be to go from the vehicle's current position (which is a point) to the portion of the headland in front of the vehicle (which is a linestring); then the vehicle reverses from its current position on the headland (which is a point) to the next swath (which is a linestring).

<FIG> shows a simplified diagram of a system <NUM> for an autonomous vehicle according to some embodiments. The system <NUM> may include a path planning module <NUM>, and a user interface <NUM>. The user interface <NUM> may allow a user to request and accept a turn, and to specify a type of turn, as discussed above. In some embodiments, the user interface <NUM> may also include a display.

The path planning module <NUM> may include one or more computer processors configured to determine a trajectory for the requested turn according to the various embodiments as discussed above. In some embodiments, the trajectory may be displayed in a display (e.g., the display in the user interface <NUM>). The path planning module <NUM> may also be configured to perform other navigation planning and/or coverage planning (e.g., planning the trajectories of the swaths) for the autonomous vehicle.

The system <NUM> may include a memory <NUM>. The memory <NUM> may store information needed for the path planning module <NUM>, as well as other information. For example, the memory <NUM> may store information about a work area, such as a boundary (e.g., a geofence) and headland patterns (i.e., guidance lines). The memory <NUM> may also store information of the swaths (which may be predetermined or generated by the path planning module <NUM>). The memory <NUM> may also store computer-executable instructions to be executed by the computer processors of the path planning module <NUM>. The memory <NUM> may comprise a volatile memory random access memory (RAM), or non-volatile data storage device such as a hard disk drive, flash memory or other optical or magnetic storage device. In some embodiments, the path planning module <NUM> may include its own memory.

The system <NUM> may include a global navigation satellite systems (GNSS) antenna <NUM> attached to the autonomous vehicle, and a GNSS receiver <NUM> coupled to the GNSS antenna <NUM>. The GNSS receiver <NUM> may be configured to determine a current position of the vehicle based on the satellite signals received from GNSS satellites. In some embodiments, the system <NUM> may also include an optional position correction system <NUM>. The position correction system <NUM> may include an antenna <NUM> and a receiver <NUM> for receiving correction data from a reference station or a network of reference stations. For example, the position correction system <NUM> may include a differential global positioning system (DGPS). The correction data may be used by the GNSS receiver <NUM> to determine a more precise position of the vehicle (e.g., to millimeter or sub-millimeter accuracies). In some embodiments, the GNSS receiver <NUM> may be an independent unit separate from the system <NUM>.

The system <NUM> may include other sensors <NUM>. For example, the other sensors <NUM> may include LiDAR sensors for obstacle detection, inertial measurement units or IMUs (e.g., accelerometers and gyroscopes), wheel angle sensors, and the like.

The system <NUM> may include a vehicle controller <NUM>. The vehicle controller <NUM> may be configured to operate the vehicle based on the sensor data (e.g., including GNSS data and other sensor data) and the trajectories determined by the path planning module <NUM>. For example, the path planning module <NUM> may output a trajectory for a turn, along with a speed profile and optionally an implement profile for the trajectory, to the vehicle controller <NUM>, so that the vehicle controller <NUM> may execute the turn according to the trajectory. The speed profile includes a respective speed for each respective point of the plurality of points.

In some embodiments, the various components of the system <NUM> may be interconnected with each other via a bus <NUM>. In some other embodiments, the various components may be connected with each other in other ways.

<FIG> is a simplified flowchart illustrating a method <NUM> of path planning for an autonomous vehicle to make a turn.

The method <NUM> includes, at <NUM>, receiving a request for a two-segment turn of a vehicle from a current swath to a next swath in a work area, and at <NUM>, in response to receiving the request, receiving information of the current swath and information of the next swath.

The method <NUM> further includes, at <NUM>, determining a trajectory of the turn based on the information of the current swath and the information of the next swath. The trajectory includes a first segment and a second segment. The first segment starts from a beginning position of the turn at the current swath and ends at an intermediate position; and the second segment starts from the intermediate position and ends at an ending position of the turn at the next swath. The vehicle changes from a forward gear to a reverse gear, or vice versa, as the vehicle transitions from the first segment to the second segment.

The method <NUM> further includes outputting the trajectory to a control system of the vehicle for executing the turn by following the first segment and the second segment of the trajectory successively.

It should be appreciated that the specific steps illustrated in <FIG> provide a particular method of path planning for an autonomous vehicle to make a turn. Other sequences of steps may also be performed according to alternative embodiments. For example, alternative embodiments of the present invention may perform the steps outlined above in a different order. Moreover, the individual steps illustrated in <FIG> may include multiple sub-steps that may be performed in various sequences as appropriate to the individual step. Furthermore, additional steps may be added or removed depending on the particular applications. One of ordinary skill in the art would recognize many variations, modifications, and alternatives.

The method <NUM> includes, at <NUM>, receiving a request for a three-segment turn of a vehicle from a current swath to a next swath in a work area. The request specifies that the turn is to follow a guidance line in a headland at a periphery of the work area. The method <NUM> further includes, at <NUM>, in response to receiving the request, receiving information of the current swath, information of the next swath, and information of the guidance line.

The method <NUM> further includes, at <NUM>, determining a trajectory of the turn based on the information of the current swath, the information of the next swath, and the information of the guidance line. The trajectory includes a first segment, a second segment, and a third segment. The first segment starts from a beginning position of the turn at the current swath and ends at a first intermediate position on the guidance line. The second segment starts from the first intermediate position, moving along the guidance line, and ends at a second intermediate position on the guidance line. The vehicle changes from a forward gear to a reverse gear, or vice versa, as the vehicle transitions from the first segment to the second segment. The third segment starts from the second intermediate position and ends at an ending position of the turn at the next swath. The vehicle changes from the reverse gear to the forward gear, or vice versa, as the vehicle transitions from the second segment to the third segment.

The method <NUM> further includes, at <NUM>, outputting the trajectory to a control system of the vehicle for executing the turn by following the first segment, the second segment, and the third segment of the trajectory successively.

The method <NUM> includes, at <NUM>, receiving a request for a turn of a vehicle from a current swath to a next swath in a work area. The work area has a headland at a periphery thereof. The headland characterized by a guidance line therethrough. The method <NUM> further includes, at <NUM>, in response to receiving the request, receiving information of the current swath, information of the next swath, and information of the guidance line.

The method <NUM> further includes, at <NUM>, determining a trajectory of the turn based on the information of the current swath, the information of the next swath, and the information of the guidance line. The trajectory includes one or more segments. At least a portion of a first segment of the one or more segments follows the guidance line in the headland. The method <NUM> further includes, at <NUM>, outputting the trajectory to a control system of the vehicle for executing the turn.

Claim 1:
A method of path planning for an autonomous vehicle, the method comprising:
receiving a request for a two-segment turn of a vehicle (<NUM>) from a current swath to a next swath in a work area following a guidance line in a headland at a periphery of the work area;
in response to receiving the request, receiving information of the current swath including an end position of the current swath, information of the next swath, information of the guidance line, and a current position of the vehicle;
determining a trajectory of the turn based on the information of the current swath, the information of the next swath, the information of the guidance line and the current position of the vehicle, the trajectory including a first segment (<NUM>), a second segment (<NUM>), and at least two initial segments (<NUM>, <NUM>) wherein:
a first initial segment (<NUM>) of the at least two initial segments starts at the current position and ends at the end position of the current swath and a second initial segment (<NUM>) of the at least two initial segments starts at the end position of the current swath and ends at the beginning position (<NUM>) of the turn;
the first segment (<NUM>) starts from a beginning position (<NUM>) of the turn at the current swath and ends at an intermediate position;
the second segment (<NUM>) starts from the intermediate position and ends at an ending position of the turn at the next swath, wherein at least a portion of the second segment of the trajectory follows the guidance line;
and
wherein the vehicle changes from a forward gear to a reverse gear, or vice versa, as the vehicle transitions from each segment to the next segment; and
outputting the trajectory to a control system of the vehicle for executing the turn by following the first initial segment (<NUM>), the second initial segment (<NUM>), the first segment (<NUM>) and the second segment (<NUM>) of the trajectory successively.