WO2016172729A1 - System, apparatus, and method for controlling a vehicle - Google Patents

System, apparatus, and method for controlling a vehicle Download PDF

Info

Publication number
WO2016172729A1
WO2016172729A1 PCT/US2016/029256 US2016029256W WO2016172729A1 WO 2016172729 A1 WO2016172729 A1 WO 2016172729A1 US 2016029256 W US2016029256 W US 2016029256W WO 2016172729 A1 WO2016172729 A1 WO 2016172729A1
Authority
WO
WIPO (PCT)
Prior art keywords
path
curvature
autonomous vehicle
clothoid
connection point
Prior art date
Application number
PCT/US2016/029256
Other languages
French (fr)
Inventor
Matthew D. Berkemeier
Original Assignee
Autonomous Solutions, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Autonomous Solutions, Inc. filed Critical Autonomous Solutions, Inc.
Priority to BR112017022955-2A priority Critical patent/BR112017022955B1/en
Priority to AU2016253152A priority patent/AU2016253152B2/en
Publication of WO2016172729A1 publication Critical patent/WO2016172729A1/en

Links

Classifications

    • AHUMAN NECESSITIES
    • A01AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
    • A01BSOIL WORKING IN AGRICULTURE OR FORESTRY; PARTS, DETAILS, OR ACCESSORIES OF AGRICULTURAL MACHINES OR IMPLEMENTS, IN GENERAL
    • A01B69/00Steering of agricultural machines or implements; Guiding agricultural machines or implements on a desired track
    • A01B69/007Steering or guiding of agricultural vehicles, e.g. steering of the tractor to keep the plough in the furrow
    • A01B69/008Steering or guiding of agricultural vehicles, e.g. steering of the tractor to keep the plough in the furrow automatic
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory

Definitions

  • the present disclosure relates to systems and methods for controlling autonomous vehicles. More specifically, the present disclosure relates to systems and methods that are configured to create and execute optimal drivable path plans for autonomous vehicles based on clothoid segments, as well as methods and controllers configured to control autonomous vehicles to follow paths that include arcs, straight lines, and clothoid segments.
  • Vehicles such as automobiles, off-road vehicles, agricultural tractors, or self- propelled agricultural im plements, may be used in a variety of tasks (e.g., to transport people or goods from one location to another, to tow agricultural implements, to harvest, plow, cultivate, spray, etc.).
  • tasks e.g., to transport people or goods from one location to another, to tow agricultural implements, to harvest, plow, cultivate, spray, etc.
  • vehicles are manually operated by an operator. That is, the steering and speed of a vehicle are controlled by an operator driving the vehicle. Unfortunately, the operator may not drive the vehicle along an efficient path from one location to another location as compared to autonomously controlled vehicles.
  • Clothoid curves have a continuous rate of curvature as a function of path length.
  • a clothoid is a curve where the curvature varies linearly with curve length. Paths generated with these types of curves are "drivable" in that no instantaneous changes in curvature rate are required.
  • a clothoid path may parameterized by six quantities including initial position, initial heading, initial curvature, rate of curvature (with respect to path length) and path length
  • the various systems and methods of the present disclosure have been developed in response to the present state of the art, and in particular, in response to the problems and needs in the art that have not yet been fully solved by currently available technology.
  • the systems and methods of the present disclosure may provide optimal transitions between path segments that minimize off-path normal error and/or optimal transitions between path segments that minimize lateral acceleration and achieve smoother transitions between path segments, thus reducing wear and tear on autonomous vehicles and saving maintenance costs.
  • the present disclosure may also provide a controller and method for achieving optimal transitions between path segments that minimize off-path normal error to better track desired path plans.
  • the algorithms and controller described herein may be used with any system that controls a vehicle or object on a path.
  • controller and methods described herein may be applied to autonomously controlled vehicles, remote controlled vehicles, or tele- operated vehicles.
  • the algorithms disclosed herein may also be implemented in any programming language. Use of the algorithm and methods described herein may allow a vehicle to better follow paths when some of the path segments consist of clothoids and when steering is rate-limited and may also provide more meaningful tuning parameters for the path controller by making the off-path, normal error dynamics linear, and therefore easier to understand.
  • a drivable path plan system for an autonomous vehicle may include an original path plan module that receives original path plan data including a first path element tangentially connected to a second path element at a transition connection point.
  • the drivable path plan system may also include a drivable path plan module that calculates a drivable path plan for the autonomous vehicle between the first path element and the second path element using a clothoid spline.
  • a connection point identification module may also be used to identify an initial connection point, an initial heading, and an initial curvature along the first path element, as well as a final connection point, a final heading, and a final curvature along the second path element.
  • the clothoid spline may be inserted between the initial connection point along the first path element and the final connection point along the second path element.
  • a method of calculating a drivable path plan for an autonomous vehicle may include receiving original path plan data that includes a first path element tangentially connected to a second path element at a transition connection point. The method may also include calculating a drivable path plan for the autonomous vehicle between the first path element and the second path element using a clothoid spline. The method may identify an initial connection point, an initial heading, and an initial curvature along the first path element, as well as a final connection point, a final heading, and a final curvature along the second path element. The method may also insert the calculated clothoid spline between the initial connection point along the first path element and the final connection point along the second path element.
  • a computer program product for calculating a drivable path plan for an autonomous vehicle may include a nontransitory computer readable medium and computer program code, encoded on the nontransitory computer readable medium, configured to cause at least one processor to perform the steps of: receiving original path plan data including a first path element tangentially connected to a second path element at a transition connection point, and calculating a drivable path plan for the autonomous vehicle between the first path element and the second path element using a clothoid spline by identifying an initial connection point, a n initial heading, and an initial curvature along the first path element, as well as a final connection point, a final heading, and a final curvature along the second path element.
  • the calculated clothoid spline may be inserted between the initial connection point along the first path element and the final connection point along the second path element.
  • the original path plan could be made directly with clothoid segments that connect together tangentially with matching curvatures resulting in a one step process.
  • a path controller for guiding an autonomous vehicle along a desired path may include an input module that may receive input signals such as, a normal error signal that indicates an off-path deviation of the autonomous vehicle relative to a desired path, a heading signal, and a curvature signal associated with the autonomous vehicle.
  • the path controller may also include a curvature rate module that calculates a curvature rate output signal to guide the autonomous vehicle along the desired path and a communication module that communicates the curvature rate output signal to a steering control system.
  • a method of controlling an autonomous vehicle may include receiving input signals such as, a normal error signal that indicates an off-path deviation of the autonomous vehicle relative to a desired path, a heading signal, and a curvature signal associated with the autonomous vehicle.
  • the method may also include calculating a curvature rate output signal based on the input signals that may guide the autonomous vehicle along the desired path and communicating the curvature rate output signal to a steering control system associated with the autonomous vehicle.
  • a computer program product for controlling an autonomous vehicle may include a nontransitory computer readable medium and computer program code, encoded on the nontransitory computer readable medium, configured to cause at least one processor to perform the steps of: receiving input signals such as, a normal error signal that indicates an off-path deviation of the autonomous vehicle relative to a desired path, a heading signal, and a curvature signal associated with the autonomous vehicle, as well as calculating a curvature rate output signal based on the input signals that may guide the autonomous vehicle along the desired path, and communicating the curvature rate output signal to a steering control system associated with the autonomous vehicle.
  • FIG. 1 illustrates a graphical top view of an autonomous vehicle executing a "right turn-straight line-left turn” Dubins path
  • FIG. 2 illustrates a graphical top view of an autonomous vehicle executing a "right turn-straight line-right turn" Dubins path
  • FIG. 3 illustrates a graphical top view of an autonomous vehicle executing a "left turn-straight line-left turn" Dubins path
  • FIG. 4 illustrates a block diagram of an example autonomous vehicle communication and control system of the present disclosure
  • FIG. 5 is a graphical illustration of a clothoid fu nction
  • FIG. 6 is an illustration of a reference frame with notations that define normal error path tracking for an Ackerman style vehicle
  • FIG. 7 is a graphical illustration of a rate-limited steering step response for a vehicle
  • FIG. 8 is a graphical illustration of the derivative of the rate-limited steering step response of FIG. 7;
  • FIG. 9 is an illustration of a slalom path with two tangentially connected circular arcs, that may be executed by a vehicle as a right turn-left turn Dubins style path plan;
  • FIG. 10 is a graphical illustration of the off-path error for an optimal transition from the midpoint between the two arcs in FIG. 9 to a final position along the second arc;
  • FIG. 11 is a graphical illustration of the curvature for the optimal transition from the midpoint between the two arcs in FIG. 9 to the final position along the second arc;
  • FIG. 12 is a graphical illustration of the off-path error for an optimal transition from the midpoint between the two arcs in FIG. 9 to an initial position along the first arc;
  • FIG. 13 is a graphical illustration of the curvature for the optimal transition from the midpoint between the two arcs in FIG. 9 to the initial position along the first arc;
  • FIG. 14 is a graphical illustration of an optimal transition path plan between first and second arcs;
  • FIG. 15 illustrates a block diagram of a drivable path plan system, according to one embodiment of the present disclosure
  • FIG. 16 illustrates a method of calculating a drivable path plan, according to one embodiment of the present disclosure
  • FIG. 17 illustrates a control loop flow diagram, according to one embodiment of the present disclosure
  • FIG. 18 illustrates a block diagram of a path controller, according to one embodiment of the present disclosure
  • FIG. 19A illustrates a method of controlling a vehicle with a curvature rate output signal, according to one embodiment of the present disclosure.
  • FIG. 19B illustrates a method of optimizing a path controller, according to embodiments of the present disclosure.
  • An adjustable parameter may be provided to control the tradeoff between accuracy and smoothness when making a transition between two arc segments or between an a rc and line segment.
  • a pair of tangentially connected arc segments or a tangentially connected arc segment and line segment are provided as an original or desired path plan. Between these two segments, three clothoid segments are inserted. These clothoid segments connect tangentially to the original segments and to each other. In addition, curvatures match at each point where there is a connection. Finally, in addition to connection, tangency, and curvature constraints being satisfied, the clothoids may be chosen to minimize the maximum excursion from the original path (e.g., the off-path normal error), defined by of the pair of tangentially connected arc segments or the tangentially connected arc segment and line segment.
  • the new path plan with the clothoid transitions can be driven by a vehicle with rate-limited steering, whereas the original desired path plan cannot be driven by a vehicle with rate-limited steering because the steering wheel angle cannot be instantaneously changed when transitions occur. This places a burden on the path tracking algorithm, which must do the best possible job of handling abrupt changes in path curvature.
  • the new path plan is a drivable path plan that may be as close as possible to the original path plan. In this manner, the off-path normal error may be minimized with respect to the original path, which consists of simple arcs and/or line segments.
  • the output of the controller may be a curvature rate, instead of a simple constant curvature, which may make it possible to better track paths with changing curvature values, such as clothoid segments.
  • Adjustable parameters may also be provided to control tradeoffs between accuracy and smoothness when making transitions between path segments and the controller algorithms described herein may better handle steering rate limits associated with steering actuators than prior controllers.
  • Controllers described herein may also use nonlinear feedforward to output linearize the system to produce straightforward, intuitive dynamic behavior (transients), as well as stabilize the system by applying the LQR methods to the controller.
  • a controller and/or algorithm may combine a curvature rate output, output linearization with respect to normal error, and LQR to better track arc, line, and clothoid path segments with respect to off-path, normal error.
  • FIGS. 1-3 illustrate various graphical top views of an autonomous vehicle 110, 210, 310 executing different path plans made of simple circular arcs and straight lines, known as Dubins paths.
  • FIG. 1 shows the autonomous vehicle 110 executing a "right turn- straight line-left turn” Dubins path
  • FIG. 2 shows the autonomous vehicle 210 executing a "right turn-straight line-right turn” Dubins path
  • FIG. 3 shows the autonomous vehicle 310 executing a "left turn-straight line-left turn” Dubins path.
  • a Dubins path typically refers to the shortest curve that connects two points in the two-dimensional Euclidean plane (e.g., the "x-y" plane) with a constraint on the curvature of the path and prescribed initial and terminal tangents to the path.
  • a Dubins path typically consists of maximum curvature arcs and/or straight line segments to achieve the shortest feasible path between two destinations for an autonomous vehicle.
  • the optimal path type can be described as a vehicle making a combination of 'right turns (R)', 'left turns (L)' or driving 'straight (S).'
  • an optimal Dubins path will always be at least one of the following six types: RSR, RSL, LSR, LSL, RLR, and LRL.
  • FIG. 1 illustrates an autonomous vehicle 110 executing an RSL Dubins path 100, corresponding to a first arc 140 (right turn) that lies on a first circle 120, followed by a straight line segment 160, followed by a second arc 175 (left turn) that lies on a second circle 122.
  • the autonomous vehicle 110 may start at an initial point "A" 130 along the first arc 140 with an initial heading 135.
  • the autonomous vehicle 110 may transition to the straight line segment 160.
  • the autonomous vehicle 110 may transition to the second arc 175 and follow this arc until it reaches its final destination at a final point "B" 180 along the second arc 175 where it will have a final heading 185.
  • FIG. 2 illustrates an autonomous vehicle 210 executing an RSR Dubins path 200, corresponding to a first arc 240 (right turn) that lies on a first circle 220, followed by a straight line segment 260, followed by a second arc 275 (right turn) that lies on a second circle 222.
  • the autonomous vehicle 210 may start at an initial point "A" 230 along the first arc 240 with an initial heading 235.
  • the autonomous vehicle 210 may transition to the straight line segment 260.
  • the autonomous vehicle 210 may transition to the second arc 275 and follow this arc until it reaches its final destination at a final point "B" 280 along the second arc 275 where it will have a final heading 285.
  • FIG. 3 illustrates a n autonomous vehicle 310 executing an LRL Dubins path 300, corresponding to a first arc 340 (left turn) that lies on a first circle 320, followed by a second arc 360 (right turn) that lies on a second circle 322, followed by a third arc 375 (left turn) that lies on a third circle 324.
  • the autonomous vehicle 310 may start at an initial point "A" 330 along the first arc 340 with an initial heading 335.
  • the autonomous vehicle 310 may transition to the second arc 360 and follow this arc until it reaches the second transition connection point 370.
  • the autonomous vehicle 310 may then transition to the third arc 375 and follow this arc until it reaches its final destination at a final point "B" 380 along the third arc 375 where it will have a final heading 385.
  • FIG. 4 is a schematic diagram of an example communication and control system 400 that may be utilized in conjunction with the systems and methods of the present disclosure, in at least some embodiments.
  • the communication and control system 400 may include a vehicle control system 440 which may be mounted on the autonomous vehicle 410.
  • the autonomous vehicle 410 may also include a spatial locating device 442, which may be mounted to the autonomous vehicle 410 and configured to determine a position of the autonomous vehicle 410 as well as a heading and a speed of the autonomous vehicle 410.
  • the spatial locating device 442 may include any suitable system configured to determine the position and/or other important characteristics of the autonomous vehicle 410, such as a global positioning system (GPS), a global navigation satellite system (GNSS), or the like.
  • GPS global positioning system
  • GNSS global navigation satellite system
  • the spatial locating device 442 may be configured to determine the position and/or other characteristics of the autonomous vehicle 410 relative to a fixed point within a field (e.g., via a fixed radio transceiver). Accordingly, the spatial locating device 442 may be configured to determine the position of the autonomous vehicle 410 relative to a fixed global coordinate system using GPS, GNSS, a fixed local coordinate system, or any combination thereof.
  • the autonomous vehicle 410 may include a steering control system 444 configured to control a direction of movement of the autonomous vehicle 410, and a speed control system 446 configured to control a speed of the autonomous vehicle 410.
  • the autonomous vehicle 410 may include an implement control system 448 configured to control operation of an implement towed by the autonomous vehicle 410 or integrated within the autonomous vehicle 410.
  • the control system 440 may further include a controller 450 communicatively coupled to the spatial locating device 442, the steering control system 444, the speed control system 446, and the implement control system 448.
  • the controller 450 may be configured to receive signals relative to many parameters of interest including, but not limited to: vehicle position, vehicle speed, vehicle heading, desired path location, off-path normal error, desired off-path normal error, vehicle state vector information, curvature state vector information, turning radius limits, steering angle, steering angle limits, steering rate limits, curvature, curvature rate, rate of curvature limits, roll, pitch, rotational rates, acceleration, and the like, or any combination thereof.
  • the controller 450 may be an electronic controller with electrical circuitry configured to process data from the spatial locating device 442, among other components of the autonomous vehicle 410.
  • the controller 450 may include a processor, such as the illustrated microprocessor 454, and a memory device 456.
  • the controller 450 may also include one or more storage devices and/or other suitable components (not shown).
  • the processor 454 may be used to execute software, such as software for calculating drivable path plans.
  • the processor 454 may include multiple microprocessors, one or more "general- purpose" microprocessors, one or more special-purpose microprocessors, and/or one or more application specific integrated circuits (ASICS), or any combination thereof.
  • ASICS application specific integrated circuits
  • the processor 454 may include one or more reduced instruction set (RISC) processors.
  • RISC reduced instruction set
  • the memory device 456 may include a volatile memory, such as random access memory (RAM), and/or a nonvolatile memory, such as ROM.
  • the memory device 456 may store a variety of information and may be used for various purposes.
  • the memory device 456 may store processor-executable instructions (e.g., firmware or software) for the processor 454 to execute, such as instructions for calculating drivable path plans, and/or controlling the autonomous vehicle 410.
  • the memory device 456 may include flash memory, one or more hard drives, or any other suitable optical, magnetic, or solid-state storage medium, or a combination thereof.
  • the memory device 456 may store data such as field maps, maps of desired paths, vehicle characteristics, software or firmware instructions, and/or any other suitable data.
  • the steering control system 444 may include a curvature rate control system 460, a differential braking system 462, and a torque vectoring system 464 that may be used to steer the autonomous vehicle 410.
  • the curvature rate control system 460 may control a direction of an autonomous vehicle 410 by actuating a servo controlled steering system associated with the autonomous vehicle 410 with a curvature rate signal, such as an Ackerman style autonomous vehicle 410.
  • the curvature rate control system 460 may automatically rotate one or more wheels or tracks of the autonomous vehicle 410 via hydraulic actuators to steer the autonomous vehicle 410.
  • the curvature rate control system 460 may rotate front wheels/tracks, rear wheels/tracks, and/or intermediate wheels/tracks of the autonomous vehicle 410, either individually or in groups.
  • the differential braking system 462 may independently vary the braking force on each lateral side of the autonomous vehicle 410 to direct the autonomous vehicle 410.
  • the torque vectoring system 464 may differentially apply torque from the engine to the wheels and/or tracks on each lateral side of the autonomous vehicle 410.
  • the illustrated steering control system 444 includes the curvature rate control system 460, the differential braking system 462, and the torque vectoring system 464, it should be appreciated that alternative embodiments may include one or more of these systems, in any suitable combination. Further embodiments may include a steering control system 444 having other and/or additional systems to facilitate turning the autonomous vehicle 410 such as an articulated steering system, a differential drive system, and the like.
  • the speed control system 446 may include an engine output control system 466, a transmission control system 468, and a braking control system 470.
  • the engine output control system 466 may be configured to vary the output of the engine to control the speed of the autonomous vehicle 410.
  • the engine output control system 466 may vary a throttle setting of the engine, a fuel/air mixture of the engine, a timing of the engine, and/or other suitable engine parameters to control engine output.
  • the transmission control system 468 may adjust gear selection within a transmission to control the speed of the autonomous vehicle 410.
  • the braking control system 470 may adjust braking force to control the speed of the autonomous vehicle 410.
  • speed control system 446 includes the engine output control system 466, the transmission control system 468, and the braking control system 470, it should be appreciated that alternative embodiments may include one or more of these systems, in any suitable combination. Further embodiments may include a speed control system 446 having other and/or additional systems to facilitate adjusting the speed of the autonomous vehicle 410.
  • the implement control system 448 may be configured to control various parameters of the implement towed by and/or integrated within the autonomous vehicle 410.
  • the implement control system 448 may be configured to instruct an implement controller via a communication link, such as a CAN bus or ISOBUS, to adjust a penetration depth of at least one ground engaging tool of an agricultural implement, which may reduce the draft load on the autonomous vehicle 410.
  • the implement control system 448 may instruct the implement controller to transition the agricultural implement between a working position and a transport position, to adjust a flow rate of product from the agricultural implement, to adjust a position of a header of the agricultural implement (e.g., a harvester, etc.), among other operations.
  • the operator interface 452 may be communicatively coupled to the controller 450 and configured to present data from the autonomous vehicle 410 via a display 472.
  • Display data may include: data associated with operation of the autonomous vehicle 410, data associated with operation of an implement, a position of the autonomous vehicle 410, a speed of the autonomous vehicle 410, a desired path, a drivable path plan, a target position, a current position, etc.
  • the operator interface 452 may be configured to enable an operator to control certain functions of the autonomous vehicle 410 such as starting and stopping the autonomous vehicle 410, inputting a desired path, etc. I n some embodiments, the operator interface 452 may enable the operator to input parameters that cause the controller 450 to adjust the drivable path plan.
  • the operator may provide an input requesting that the desired path be acquired as quickly as possible, that an off-path normal error be minimized, that a speed of the autonomous vehicle 410 remain within certain limits, that a lateral acceleration experienced by the autonomous vehicle 410 remain within certain limits, etc.
  • the operator interface 452 may be configured to alert an operator if the desired path cannot be achieved (e.g., via the display 472, or via an audio system (not shown), etc., for example).
  • the control system 440 may include a base station 474 having a base station controller 476 located remotely from the autonomous vehicle 410.
  • control functions of the control system 440 may be distributed between the controller 450 of the autonomous vehicle control system 440 and the base station controller 476.
  • the base station controller 476 may perform a substantial portion of the control functions of the control system 440.
  • a first transceiver 478 positioned on the autonomous vehicle 410 may output signals indicative of vehicle characteristics (e.g., position, speed, heading, curvature rate, curvature rate limits, maximum turning rate, minimum turning radius, steering angle, roll, pitch, rotational rates, acceleration, etc.) to a second transceiver 480 at the base station 474.
  • the base station controller 476 may calculate drivable path plans and/or output control signals to control the curvature rate control system 444, the speed control system 446, and/or the implement control system 448 to direct the autonomous vehicle 410 toward the desired path, for example.
  • the base station controller 476 may include a processor 482 and memory device 484 having similar features and/or capabilities as the processor 454 and the memory device 456 discussed previously.
  • the base station 474 may include an operator interface 486 having a display 488, which may have similar features and/or capabilities as the operator interface 452 and the display 472 discussed previously.
  • a planar parametric curve may be given by:
  • B is the magnitude of the clothoid.
  • the magnitude of the clothoid spline B may correspond to a speed and a constant maximum curvature rate of a given autonomous vehicle.
  • FIG. 6 illustrates a vehicle model and reference frame 600 with notations that generally define normal error path tracking for an Ackerman style vehicle 605 having a rear axle
  • the vehicle model shown in FIG. 6 may be simplified as a kinematic bicycle model, which gives:
  • is the heading of the vehicle
  • is the speed of the rear axle
  • L is the wheelbase
  • is the angle of the steered front wheels (not to be confused with the used later for slalom
  • the above kinematic model of the vehicle includes a curvature state and the input to the model is the curvature rate.
  • the following constraints imposed may be imposed: and the states may be expressed as .
  • the curvature rate input may be defined as
  • the curvature rate may be closely related to the steering rate of the vehicle.
  • a slightly nonlinear relationship may exist between the curvature rate and the steering rate of a given vehicle, due to the steering linkage geometry associated with the vehicle.
  • the steering linkage on a typical Ackerman vehicle may introduce a nonlinear relationship between the curvature rate and the steering rate of the vehicle. Since the turning radius of the vehicle is:
  • vehicle is parallel to the circular path and is pointed in the counter-clockwise direction. Similarly means the vehicle is parallel to the path and is pointed in the clockwise direction.
  • FIG. 7 is a graphical illustration of a rate-limited steering step response for an example Ackerman style vehicle (not shown).
  • the steering rate limit for the example Ackerman style vehicle may not have a perfectly uniform slope, or rate of curvature, as the step response moves between -100% to 100% steering change.
  • This nonlinearity may become more evident when viewing a derivative of the steering step response, as can be seen in FIG. 8, which shows the change in slope resulting in a somewhat "bowl shape" toward the extreme curvature edges. This may be due to nonlinearity in the steering linkage of the vehicle that may produce more curvature change at the extreme curvature ranges.
  • the slope, or rate of curvature may be sufficiently constant close to the center of the steering angle travel, such that it may be approximated as having a relatively constant value.
  • n is a positive integer.
  • FIG. 9 is an illustration of a slalom path with two tangentially connected circular arcs that may be executed by a vehicle as a right turn- left turn Dubins style path plan.
  • the initial conditions at the origin are given by:
  • FIGS.10 and 11 illustrate the solution graphically, with FIG.10 showing the off-path error for an optimal transition from the midpoint between the two arcs in FIG. 9 to a final position along the second arc and FIG.11 showing the curvature for the optimal transition from the midpoint between the two arcs in FIG. 9 to the final position along the second arc.
  • the maximum error shown if FIG.10 is about 0.028 m and the switch from a positive curvature rate to a negative curvature rate takes place at about 1.23 seconds, as can be seen in FIG.11.
  • a second method may be to start on the first arc and end at the origin.
  • the initial conditions in this case would be:
  • FIGS.12 and 13 illustrate the solution graphically, with FIG.12 showing the off-path error for an optimal transition from the midpoint between the two arcs in FIG. 9 to an initial position along the first arc, and FIG. 13 showing the curvature for the optimal transition from the midpoint between the two arcs in FIG. 9 to the initial position along the first arc.
  • the maximum error shown if FIG. 12 is about 0.028 m and the switch from a negative curvature rate to a positive curvature rate takes place at about 0.32 seconds, as can be seen in FIG. 13.
  • a third method of solving this problem is fundamentally different than the prior two methods. Rather than using optimal control theory, an approach based on parametric curves, nonlinear equation solving, and minimization may be used in this method. Given that an optimal transition involves changing the curvature at a constant maximum rate, the segments are clothoids with a magnitude given by the vehicle speed and maximum curvature rate. A clothoid can be rotated and translated. This involves three parameters. Further, the starting and ending parameter can be chosen, and this adds a n additional two parameters. Thus, a clothoid segment is associated with five parameters.
  • Constraining a position gives two parameters, and constraining the tangent direction and the curvature give two more constraint parameters.
  • an additional five parameters of freedom are added but four constraint equations are also added.
  • the optimal control approach tells us that there should be three clothoid segments inserted between two arcs. This leads to sixteen equations and seventeen unknowns. The extra degree of freedom can be adjusted to optimize the solution.
  • FIG. 14 illustrates another example of an optimal transition path plan solution 1400 between a tangentially connected first arc 1410 and second arc 1420, where B— 5.5, the first arc 1410 is centered at the origin, and the second arc 1420 is centered at (20, 0).
  • FIG. 14 shows the solution generated by the third method with a first portion of a drivable path plan solution 1430 shown diverging away from the first arc 1410 from some initial point and dipping below the first arc 1410. The drivable path plan then passes through the transition connection point where the first and second arcs 1410, 1420 tangentially connect to each other. A second portion of the drivable path plan solution 1440 can then be seen rising above the second arc 1420, and reconnecting with the second arc 1420 at some final point along the second arc 1420.
  • the third method includes calculating a drivable path plan for an original path plan that includes a first path element tangentially connected to a second path element at some transition connection point.
  • a drivable path plan may be calculated to find an optimal clothoid spline between the first path element and the second path element using the third method described above.
  • the third method identifies an initial connection point, an initial heading, and an initial curvature along the first path element, as well as a final connection point, a final heading, and a final curvature along the second path element.
  • the clothoid spline Once the clothoid spline is calculated, it may be inserted between the initial connection point along the first path element and the final connection point along the second path element to create a drivable path plan for an autonomous vehicle to follow.
  • FIG. 15 illustrates a block diagram of a drivable path plan system 1500, according to one embodiment of the present disclosure.
  • the drivable path plan system 1500 may generally include an original path plan module 1510, off-path error data 1550, vehicle data 1560, original path plan data 1530, a drivable path plan module 1520, and clothoid spline data 1540.
  • the off-path error data 1550 may include data that indicates an off-path deviation of the autonomous vehicle relative to a desired original path plan.
  • the vehicle data 1560 may include data about the autonomous vehicle, including but not limited to: vehicle position, vehicle speed, vehicle heading, desired path location, off-path normal error, desired off-path normal error, vehicle state vector information, curvature state vector information, turning radius limits, steering angle, steering angle limits, steering rate limits, curvature, curvature rate, rate of curvature limits, roll, pitch, rotational rates, acceleration, and the like.
  • the original path plan module 1510 may be configured to receive original path plan data 1530 indicative of an original path plan for an autonomous vehicle.
  • the original path plan may include data relating to a first path element, such as a first circular arc having a first circular arc curvature, as well as a second path element that is tangentially connected to the first path element at a transition connection point.
  • the original path plan data may include first path element data 1532, second path element data 1534, and transition connection point data 1536.
  • the drivable path plan module 1520 may be configured to calculate a drivable path plan for the autonomous vehicle between the first path element a nd the second path element which may include a clothoid spline formed of three clothoid segments, as previously discussed.
  • the drivable path plan module 1520 may also include a connection point identification module 1522 and a clothoid spline calculation module 1524.
  • connection point identification module 1522 may be configured to identify a suitable initial connection point, an initial heading, and an initial curvature along the first path element, as well as a suitable final connection point, a final heading, and a final curvature along the second path element. These connection points, headings, and curvatures help define a set of suitable clothoid spline solutions between the selected initial connection point and final connection point, as previously discussed. Accordingly, the clothoid spline data 1540 may include initial connection point data 1542, final connection point data 1544, and optimal transition data 1545, which may comprise other data such as initial heading data, initial curvature data, final heading data, final curvature data, and the like.
  • the clothoid spline calculation module 1524 may be configured to calculate a suitable clothoid spline between the initial connection point on the first path element and the final connection point on the second path element.
  • the clothoid spline may include a first clothoid segment, a second clothoid segment, and a third clothoid segment connected together to form the clothoid spline.
  • Corresponding first clothoid segment data 1546, second clothoid segment data 1548, and third clothoid segment data 1549 may be stored as clothoid spline data 1540 and may define one or more suitable clothoid spline solutions.
  • the first clothoid segment may be selected to be tangentially connected to the first path element at the initial connection point.
  • the first clothoid segment may have a first clothoid segment initial curvature and a first clothoid segment final curvature.
  • the first clothoid segment initial curvature may be equal to the first circular arc curvature of the first path element at the initial connection point.
  • the second clothoid segment may be tangentially connected to the first clothoid segment at a second connection point.
  • the second clothoid segment may have a second clothoid segment initial curvature and a second clothoid segment final curvature.
  • the second clothoid segment initial curvature may be equal to the first clothoid segment final curvature at the second connection point.
  • the third clothoid segment may be tangentially connected to the second clothoid segment at a third connection point.
  • the third clothoid segment may have a third clothoid segment initial curvature and a third clothoid segment final curvature.
  • the third clothoid segment initial curvature may be equal to the second clothoid segment final curvature at the third connection point.
  • the third clothoid segment may also be tangentially connected to the second path element at the final connection point and the third clothoid segment final curvature may be equal to a second path element curvature at the final connection point.
  • the second path element may include a second circular arc having a second circular arc curvature. In other embodiments, the second path element may include a straight line.
  • the clothoid spline is selected to minimize a lateral acceleration experienced by the autonomous vehicle as the autonomous vehicle executes a drivable path plan between the first path element and the second path element.
  • the clothoid spline is selected to minimize an off-path error of the drivable path plan with respect to the original path plan.
  • FIG. 16 illustrates a method 1600 of calculating a drivable path plan for an autonomous vehicle, according to one embodiment of the present disclosure.
  • the method 1600 may begin with a step 1610 in which original path plan data is received.
  • the original path plan data may indicate an original path plan for an autonomous vehicle including a first path element including a first circular arc having a first circular arc curvature and a second path element tangentially connected to the first path element at a transition connection point.
  • the method 1600 may proceed to a step 1620 in which a suitable initial connection point, initial heading, and initial curvature along the first path element may be identified.
  • a suitable initial connection point may be chosen based on various characteristics of the vehicle including, but not limited to: vehicle position, vehicle speed, vehicle heading, desired path location, off-path normal error, desired off-path normal error, vehicle state vector information, curvature state vector information, turning radius limits, steering angle, steering angle limits, steering rate limits, curvature, curvature rate, rate of curvature limits, roll, pitch, rotational rates, acceleration, and the like.
  • a suitable final connection point may be chosen based on various characteristics of the vehicle including, but not limited to: vehicle position, vehicle speed, vehicle heading, desired path location, off-path normal error, desired off-path normal error, vehicle state vector information, curvature state vector information, turning radius limits, steering angle, steering angle limits, steering rate limits, curvature, curvature rate, rate of curvature limits, roll, pitch, rotational rates, acceleration, and the like.
  • the method 1600 may proceed to a step 1640 in which one or more drivable path plans may be calculated between the initial connection point along the first path element and the final connection point along the second path element, which may take the form of a clothoid spline made of three clothoid segments, as previously discussed.
  • the method 1600 may proceed to a step 1650 in which a suitable clothoid spline may be selected to minimize a lateral acceleration experienced by the autonomous vehicle as the autonomous vehicle executes the drivable path plan between the first path element and the second path element.
  • the method 1600 may proceed to a step 1660 in which in which a suitable clothoid spline may be selected to minimize an off-path error of the drivable path plan with respect to the original path plan. It will be noted that the selection of clothoid splines, as shown in blocks 1650, 1660, may also be accomplished prior to step 1620 in method 1600.
  • Any methods disclosed herein comprise one or more steps or actions for performing the described method.
  • the method steps and/or actions may be interchanged with one another.
  • the order and/or use of specific steps and/or actions may be modified.
  • the normal error e and its first three derivatives can be derived as:
  • the first step in calculating the normal error to the clothoid is to determine the parameter ⁇ where a line from the control point (x, y) to the clothoid is normal. This requires solving a single nonlinear equation in one unknown:
  • the first term is the distance from the control point to the clothoid center of curvature.
  • the second term is the distance from the clothoid point (of normalcy) to the clothoid center of curvature. This formula is analogous to the formula for the normal error for an arc segment in equation (2).
  • FIG. 17 illustrates a control loop flow diagram 1700 that may be used with embodiments of the present disclosure described above with respect to line segments, arc segments, and clothoid segments.
  • the control loop flow diagram 1700 shows how nonlinear feedforward may be used to output linearize the path controller to produce straightforward, intuitive dynamic behavior (transients), as well as stabilize the system by applying LQR methods. This may result in a path controller that is easier to tune, due to the use of the LQR method with its use of weights on errors and reduced possibility for instability.
  • the path controller may combine curvature rate output, output linearization with respect to normal error, and LQR to better track arc, line, and clothoid path segments with respect to off- path, normal error.
  • the control loop flow diagram 1700 may include a path controller 1710 (shown in dashed lines) communicatively coupled to a vehicle model block 1720.
  • the path controller 710 may include an integrator 1780, a linearization block 1790, and gain blocks 1771, 1772, 1773 corresponding to gain values
  • the path control ler 1710 may also include inputs 1730,
  • the path controller 1710 may also include one or more additional input signals, generally referred to as "S" 1760, from other parts of the system, such as the vehicle model block 1720.
  • the input signals "S" 1760 may include, but are not limited to: a heading signal, a curvature signal, a vehicle position signal, a vehicle speed signal, a curvature state signal, a vehicle state vector signal, a desired error signal (where the desired error signal indicates a desired off-path deviation of the autonomous vehicle relative to the desired path, where the desired path includes at least one of a straight line, an arc, and a clothoid segment), and the like.
  • the path controller 1710 may produce a curvature rate output signal " u " 1792 which may be used by a steering control system to control a curvature rate associated with a steering system of an autonomous vehicle.
  • the curvature rate output signal 1792 may be calculated based on the input signals received at the path controller 1710 to linearize normal error dynamics in relation to the desired path by integrating the normal error signal received at the path controller 1710 with one or more derivatives of the normal error signal.
  • the normal error signal 1793 may be integrated together with its first and second derivatives by the integrator 1780 to produce an output " q " 1791 that may then be fed into the linearization block 1790 to linearize the curvature rate output signal u 1792.
  • This linearization technique is similar for each path segment type (e.g., line, arc, or clothoid segment), but with different equations substituted for each path segment type in order to output linearize the curvature rate output signal u according to each path segment type.
  • the gain blocks 1771, 1772, 1773 with corresponding gain values may be ascertained via an LQR process.
  • the curvature rate output signal u 1792 may be calculated based on the input signals received at the path controller 1710 and at least one gain value nnay be applied to feedback relating to the normal error signal 1793 to stabilize the curvature rate output signal 1792, where the at least one gain value is selected using a linear quadratic regulator process.
  • FIG. 18 illustrates a block diagram of a path controller 1800 configured to guide an autonomous vehicle along a desired path, according to one embodiment of the present disclosure.
  • the path controller 1800 may include an input module 1810, a curvature rate module 1830, a communication module 1820, and a data module 1840.
  • the input module 1810 may be configured to receive input signals at the path controller 1800 such as: a normal error signal associated with the autonomous vehicle that indicates an off-path deviation of the autonomous vehicle relative to a desired path; a heading signal associated with the autonomous vehicle that indicates a current heading angle of the autonomous vehicle; and a curvature signal associated with the autonomous vehicle that indicates a curvature associated with a current turn radius of the autonomous vehicle.
  • the input module 1810 may also be configured to receive additional input signals, including, but not limited to: a heading signal, a vehicle position signal, a vehicle speed signal, a curvature state signal, a vehicle state vector signal, a desired error signal (where the desired error signal indicates a desired off-path deviation of the autonomous vehicle relative to the desired path), as well as other input signals.
  • additional input signals including, but not limited to: a heading signal, a vehicle position signal, a vehicle speed signal, a curvature state signal, a vehicle state vector signal, a desired error signal (where the desired error signal indicates a desired off-path deviation of the autonomous vehicle relative to the desired path), as well as other input signals.
  • input signals may be stored in the data module 1840 as input data 1850 including, but not limited to: normal error data 1851, heading data 1852, curvature data 1853, vehicle position data 1854, vehicle speed data 1855, vehicle state data 1856, curvature state data 1857, desired error data 1858, along with other data such as, vehicle data 1880, steering limit data 1882, steering rate limit data 1884, path type data 1890, line data 1892, arc data, 1894, clothoid segment data 1896, gain data 1870, gain value(s) 1872, curvature rate output data 1860, as well as other any other relevant data.
  • the curvature rate module 1830 may be configured to calculate a curvature rate output signal 1822 based on the input signals received at the path controller 1800, and the curvature rate output signal 1822 may be configured to guide the autonomous vehicle along a desired path.
  • the curvature rate module 1830 may include a linearization module 1832 and a gain module 1834.
  • the linearization module 1832 may be configured to linearize normal error dynamics in relation to the desired path by integrating one or more derivatives of the normal error signal received at the path controller, as previously discussed.
  • the gain module 1834 may also be configured to apply at least one gain value 1872 to feedback relating to the normal error signal to stabilize the curvature rate output signal 1822, where the at least one gain value 1872 is selected using a linear quadratic regulator process, as previously discussed.
  • the communication module 1820 may be configured to communicate the curvature rate output signal 1822 to a steering control system (not shown) that may be configured to receive the curvature rate output signal 1822 and actuate a steering system (not shown) associated with the autonomous vehicle based on the curvature rate output signal 1822 received from the path controller 1800.
  • FIG. 19A illustrates a flowchart of a method 1900 by which a curvature rate output signal may be used to control an autonomous vehicle along a desired path, according to one embodiment of the present disclosure.
  • the method 1900 may begin with a step 1910 in which input signals may be received at the path controller such as, a normal error signal, a heading signal, and a curvature signal, as well as other input signals as previously discussed.
  • the method 1900 may proceed to a step 1920 in which a curvature rate output signal may be calculated based on the input signals received at the path controller.
  • the curvature rate output signal may be configured to guide the autonomous vehicle along the desired path.
  • the method 900 may proceed to a step 1930 in which the curvature rate output signal may be communicated to a steering control system that may be configured to receive the curvature rate output signal and actuate a steering system associated with the autonomous vehicle based on the curvature rate output signal received from the path controller, and the method 1900 may end.
  • FIG. 19B illustrates a flowchart of a method 1950 by which a path controller may be linearized and optimized, according to embodiments of the present disclosure.
  • the method 1950 may begin with a step 1960 in which the normal error dynamics may be linearized in relation to the desired path by integrating one or more derivatives of the normal error signal received at the path controller, as previously discussed.
  • the method 1950 may proceed to a step 1970 in which a linear quadratic regulator process may be utilized to select at least one gain value to stabilize the curvature rate output signal.
  • the method 1950 may proceed to a step 1980 in which the selected at least one gain value may be applied to feedback relating to the normal error signal to stabilize the curvature rate output signal, and the method 1950 may end.
  • Any methods disclosed herein comprise one or more steps or actions for performing the described method.
  • the method steps and/or actions may be interchanged with one another.
  • the order and/or use of specific steps and/or actions may be modified.
  • the phrases “connected to,” “coupled to,” and “in communication with” refer to any form of interaction between two or more entities, including mechanical, electrical, magnetic, electromagnetic, fluid, and thermal interaction. Two components may be functionally coupled to each other even though they are not in direct contact with each other.
  • the term “abutting” refers to items that are in direct physical contact with each other, although the items may not necessarily be attached together.
  • the phrase “fluid communication” refers to two features that are connected such that a fluid within one feature is able to pass into the other feature.

Abstract

Drivable path plans systems, apparatus, and methods for autonomous vehicles disclosed herein may receive original path plan data and create a drivable path plan for the autonomous vehicle between a first path element and a second path element using a clothoid spline. An initial connection point may be identified, as well as an initial heading and an initial curvature along the first path element, and a final connection point, a final heading, and a final curvature along the second path element. The clothoid spline may be inserted between the initial connection point along the first path element and the final connection point along the second path element. A path controller may guide the vehicle along the drivable clothoid spline path using a curvature rate output signal to control a steering system of the autonomous vehicle.

Description

SYSTEM, APPARATUS, AND METHOD FOR CONTROLLING A VEHICLE
TECHNICAL FI ELD
[0001] The present disclosure relates to systems and methods for controlling autonomous vehicles. More specifically, the present disclosure relates to systems and methods that are configured to create and execute optimal drivable path plans for autonomous vehicles based on clothoid segments, as well as methods and controllers configured to control autonomous vehicles to follow paths that include arcs, straight lines, and clothoid segments.
BACKGROUN D
[0002] Vehicles, such as automobiles, off-road vehicles, agricultural tractors, or self- propelled agricultural im plements, may be used in a variety of tasks (e.g., to transport people or goods from one location to another, to tow agricultural implements, to harvest, plow, cultivate, spray, etc.). Traditionally, vehicles are manually operated by an operator. That is, the steering and speed of a vehicle are controlled by an operator driving the vehicle. Unfortunately, the operator may not drive the vehicle along an efficient path from one location to another location as compared to autonomously controlled vehicles.
[0003] Accordingly, the number of applications for automated ground vehicles has been rapidly increasing. Examples include autonomous mining trucks, tractors, military target vehicles, and durability testing of passenger vehicles. It is convenient to construct desired paths out of tangentially connected circular arc and straight line segments, which have been shown to be optimal in terms of path length. Unfortunately, such paths cannot actually be driven if the steering angle is produced by a servo system, which introduces a finite steering rate causing lag, and most autonomous vehicles typically include rate-limited servo steering systems that have a maximum turning rate. Autonomous vehicles also typically include a minimum right turn radius and a minimum left turn radius.
[0004] Furthermore, it may be desirable to control a vehicle to drive more general paths than those consisting of straight line segments and simple circular arcs having a constant curvature. In particular, it may be desirable to track path segments whose curvatures vary along the segment length (e.g., clothoid segments). Clothoid curves have a continuous rate of curvature as a function of path length. A clothoid is a curve where the curvature varies linearly with curve length. Paths generated with these types of curves are "drivable" in that no instantaneous changes in curvature rate are required. A clothoid path may parameterized by six quantities including initial position, initial heading, initial curvature, rate of curvature (with respect to path length) and path length
Figure imgf000003_0001
[0005] Previous applications and controllers are not suited to track general segments well, given their current design. These applications and controllers may drive such paths under the assumption that transitions between segments are "unplanned" (e.g., the controller may simply switch to a new path segment at some time ahead of actually reaching the transition point). This rudimentary process is one way of dealing with assumptions of linear lag and a nonlinear rate-limited actuator. However, these applications and controllers may experience path segment transitions as "disturbances" that the control system must continuously deal with, which may lead to degradation in controller performance. Moreover, these applications and controllers may use linear or nonlinear approaches to deal with these disturbances that do not result in linear dynamics in the off-path, normal error. Accordingly, previous applications and controllers may not achieve optimal transitions between path segments.
SUMMARY
[0006] The various systems and methods of the present disclosure have been developed in response to the present state of the art, and in particular, in response to the problems and needs in the art that have not yet been fully solved by currently available technology. The systems and methods of the present disclosure may provide optimal transitions between path segments that minimize off-path normal error and/or optimal transitions between path segments that minimize lateral acceleration and achieve smoother transitions between path segments, thus reducing wear and tear on autonomous vehicles and saving maintenance costs. The present disclosure may also provide a controller and method for achieving optimal transitions between path segments that minimize off-path normal error to better track desired path plans. The algorithms and controller described herein may be used with any system that controls a vehicle or object on a path. For example, the controller and methods described herein may be applied to autonomously controlled vehicles, remote controlled vehicles, or tele- operated vehicles. The algorithms disclosed herein may also be implemented in any programming language. Use of the algorithm and methods described herein may allow a vehicle to better follow paths when some of the path segments consist of clothoids and when steering is rate-limited and may also provide more meaningful tuning parameters for the path controller by making the off-path, normal error dynamics linear, and therefore easier to understand.
[0007] In some embodiments, a drivable path plan system for an autonomous vehicle may include an original path plan module that receives original path plan data including a first path element tangentially connected to a second path element at a transition connection point. The drivable path plan system may also include a drivable path plan module that calculates a drivable path plan for the autonomous vehicle between the first path element and the second path element using a clothoid spline. A connection point identification module may also be used to identify an initial connection point, an initial heading, and an initial curvature along the first path element, as well as a final connection point, a final heading, and a final curvature along the second path element. The clothoid spline may be inserted between the initial connection point along the first path element and the final connection point along the second path element.
[0008] I n other embodiments, a method of calculating a drivable path plan for an autonomous vehicle may include receiving original path plan data that includes a first path element tangentially connected to a second path element at a transition connection point. The method may also include calculating a drivable path plan for the autonomous vehicle between the first path element and the second path element using a clothoid spline. The method may identify an initial connection point, an initial heading, and an initial curvature along the first path element, as well as a final connection point, a final heading, and a final curvature along the second path element. The method may also insert the calculated clothoid spline between the initial connection point along the first path element and the final connection point along the second path element.
[0009] In yet other embodiments, a computer program product for calculating a drivable path plan for an autonomous vehicle may include a nontransitory computer readable medium and computer program code, encoded on the nontransitory computer readable medium, configured to cause at least one processor to perform the steps of: receiving original path plan data including a first path element tangentially connected to a second path element at a transition connection point, and calculating a drivable path plan for the autonomous vehicle between the first path element and the second path element using a clothoid spline by identifying an initial connection point, a n initial heading, and an initial curvature along the first path element, as well as a final connection point, a final heading, and a final curvature along the second path element. The calculated clothoid spline may be inserted between the initial connection point along the first path element and the final connection point along the second path element.
[0010] In alternative embodiments, rather than starting with arc and line segments and then inserting clothoid transitions (i.e., a two step process), the original path plan could be made directly with clothoid segments that connect together tangentially with matching curvatures resulting in a one step process.
[0011] I n further embodiments, a path controller for guiding an autonomous vehicle along a desired path may include an input module that may receive input signals such as, a normal error signal that indicates an off-path deviation of the autonomous vehicle relative to a desired path, a heading signal, and a curvature signal associated with the autonomous vehicle. The path controller may also include a curvature rate module that calculates a curvature rate output signal to guide the autonomous vehicle along the desired path and a communication module that communicates the curvature rate output signal to a steering control system.
[0012] I n yet further embodiments, a method of controlling an autonomous vehicle may include receiving input signals such as, a normal error signal that indicates an off-path deviation of the autonomous vehicle relative to a desired path, a heading signal, and a curvature signal associated with the autonomous vehicle. The method may also include calculating a curvature rate output signal based on the input signals that may guide the autonomous vehicle along the desired path and communicating the curvature rate output signal to a steering control system associated with the autonomous vehicle.
[0013] I n additional embodiments, a computer program product for controlling an autonomous vehicle may include a nontransitory computer readable medium and computer program code, encoded on the nontransitory computer readable medium, configured to cause at least one processor to perform the steps of: receiving input signals such as, a normal error signal that indicates an off-path deviation of the autonomous vehicle relative to a desired path, a heading signal, and a curvature signal associated with the autonomous vehicle, as well as calculating a curvature rate output signal based on the input signals that may guide the autonomous vehicle along the desired path, and communicating the curvature rate output signal to a steering control system associated with the autonomous vehicle.
[0014] In alternative embodiments of the disclosure, other outputs could be used instead of the off-path normal error, other nonlinear methods could be used that do not involve feedback linearization, and/or other methods may be used to optimize the controller instead of the LQR method.
[0015] These and other features and advantages of the present disclosure will become more fully apparent from the following description and appended claims, or may be learned by the practice of the disclosure as set forth hereinafter.
BRIEF DESCRIPTION OF THE DRAWINGS [0016] Exemplary embodiments of the disclosure will become more fully apparent from the following description and appended claims, taken in conjunction with the accompanying drawings. Understanding that these drawings depict only exemplary embodiments and are, therefore, not to be considered limiting of the disclosure's scope, the exemplary embodiments of the disclosure will be described with additional specificity and detail through use of the accompanying drawings in which:
[0017] FIG. 1 illustrates a graphical top view of an autonomous vehicle executing a "right turn-straight line-left turn" Dubins path;
[0018] FIG. 2 illustrates a graphical top view of an autonomous vehicle executing a "right turn-straight line-right turn" Dubins path;
[0019] FIG. 3 illustrates a graphical top view of an autonomous vehicle executing a "left turn-straight line-left turn" Dubins path;
[0020] FIG. 4 illustrates a block diagram of an example autonomous vehicle communication and control system of the present disclosure;
[0021] FIG. 5 is a graphical illustration of a clothoid fu nction;
[0022] FIG. 6 is an illustration of a reference frame with notations that define normal error path tracking for an Ackerman style vehicle;
[0023] FIG. 7 is a graphical illustration of a rate-limited steering step response for a vehicle;
[0024] FIG. 8 is a graphical illustration of the derivative of the rate-limited steering step response of FIG. 7;
[0025] FIG. 9 is an illustration of a slalom path with two tangentially connected circular arcs, that may be executed by a vehicle as a right turn-left turn Dubins style path plan;
[0026] FIG. 10 is a graphical illustration of the off-path error for an optimal transition from the midpoint between the two arcs in FIG. 9 to a final position along the second arc;
[0027] FIG. 11 is a graphical illustration of the curvature for the optimal transition from the midpoint between the two arcs in FIG. 9 to the final position along the second arc;
[0028] FIG. 12 is a graphical illustration of the off-path error for an optimal transition from the midpoint between the two arcs in FIG. 9 to an initial position along the first arc;
[0029] FIG. 13 is a graphical illustration of the curvature for the optimal transition from the midpoint between the two arcs in FIG. 9 to the initial position along the first arc;
[0030] FIG. 14 is a graphical illustration of an optimal transition path plan between first and second arcs; [0031] FIG. 15 illustrates a block diagram of a drivable path plan system, according to one embodiment of the present disclosure;
[0032] FIG. 16 illustrates a method of calculating a drivable path plan, according to one embodiment of the present disclosure;
[0033] FIG. 17 illustrates a control loop flow diagram, according to one embodiment of the present disclosure;
[0034] FIG. 18 illustrates a block diagram of a path controller, according to one embodiment of the present disclosure;
[0035] FIG. 19A illustrates a method of controlling a vehicle with a curvature rate output signal, according to one embodiment of the present disclosure; and
[0036] FIG. 19B illustrates a method of optimizing a path controller, according to embodiments of the present disclosure.
DETAILED DESCRIPTION
[0037] Exemplary embodiments of the present disclosure will be best understood by reference to the drawings, wherein like parts are designated by like numerals throughout. It will be readily understood that the components of the present disclosure, as generally described and illustrated in the figures herein, could be arranged and designed in a wide variety of different configurations. Thus, the following more detailed description of the embodiments of the system and method, as represented in FIGS. 1 through 19B, is not intended to limit the scope of the present disclosure, as claimed in this or any other application claiming priority to this application, but is merely representative of exemplary embodiments of the present disclosure.
[0038] Disclosed herein are methods for commanding an autonomous vehicle to more accurately follow paths which consist of arc and line segments. An adjustable parameter may be provided to control the tradeoff between accuracy and smoothness when making a transition between two arc segments or between an a rc and line segment.
[0039] In one example of use, a pair of tangentially connected arc segments or a tangentially connected arc segment and line segment are provided as an original or desired path plan. Between these two segments, three clothoid segments are inserted. These clothoid segments connect tangentially to the original segments and to each other. In addition, curvatures match at each point where there is a connection. Finally, in addition to connection, tangency, and curvature constraints being satisfied, the clothoids may be chosen to minimize the maximum excursion from the original path (e.g., the off-path normal error), defined by of the pair of tangentially connected arc segments or the tangentially connected arc segment and line segment. The new path plan with the clothoid transitions can be driven by a vehicle with rate-limited steering, whereas the original desired path plan cannot be driven by a vehicle with rate-limited steering because the steering wheel angle cannot be instantaneously changed when transitions occur. This places a burden on the path tracking algorithm, which must do the best possible job of handling abrupt changes in path curvature. The new path plan is a drivable path plan that may be as close as possible to the original path plan. In this manner, the off-path normal error may be minimized with respect to the original path, which consists of simple arcs and/or line segments.
[0040] Also disclosed herein are methods and controllers for commanding an autonomous vehicle to more accurately follow paths which consist of arc, line, and clothoid segments. The output of the controller may be a curvature rate, instead of a simple constant curvature, which may make it possible to better track paths with changing curvature values, such as clothoid segments. Adjustable parameters may also be provided to control tradeoffs between accuracy and smoothness when making transitions between path segments and the controller algorithms described herein may better handle steering rate limits associated with steering actuators than prior controllers. Controllers described herein may also use nonlinear feedforward to output linearize the system to produce straightforward, intuitive dynamic behavior (transients), as well as stabilize the system by applying the LQR methods to the controller. This may result in a controller that is easier to tune, due to the use of the LQR method with its use of weights on errors and reduced possibility for instability. Thus, in at least one embodiment, a controller and/or algorithm may combine a curvature rate output, output linearization with respect to normal error, and LQR to better track arc, line, and clothoid path segments with respect to off-path, normal error.
[0041] FIGS. 1-3 illustrate various graphical top views of an autonomous vehicle 110, 210, 310 executing different path plans made of simple circular arcs and straight lines, known as Dubins paths. I n particular, FIG. 1 shows the autonomous vehicle 110 executing a "right turn- straight line-left turn" Dubins path; FIG. 2 shows the autonomous vehicle 210 executing a "right turn-straight line-right turn" Dubins path; and FIG. 3 shows the autonomous vehicle 310 executing a "left turn-straight line-left turn" Dubins path.
[0042] In geometry, a Dubins path typically refers to the shortest curve that connects two points in the two-dimensional Euclidean plane (e.g., the "x-y" plane) with a constraint on the curvature of the path and prescribed initial and terminal tangents to the path. A Dubins path typically consists of maximum curvature arcs and/or straight line segments to achieve the shortest feasible path between two destinations for an autonomous vehicle. The optimal path type can be described as a vehicle making a combination of 'right turns (R)', 'left turns (L)' or driving 'straight (S).' Thus, an optimal Dubins path will always be at least one of the following six types: RSR, RSL, LSR, LSL, RLR, and LRL. In this manner, given an initial position, an initial heading, a final position, and a final heading, an optimal path may be created to form a shortest path length between these two point using simple arcs and straight lines.
[0043] FIG. 1 illustrates an autonomous vehicle 110 executing an RSL Dubins path 100, corresponding to a first arc 140 (right turn) that lies on a first circle 120, followed by a straight line segment 160, followed by a second arc 175 (left turn) that lies on a second circle 122. The autonomous vehicle 110 may start at an initial point "A" 130 along the first arc 140 with an initial heading 135. At a first transition connection point 150, the autonomous vehicle 110 may transition to the straight line segment 160. At a second transition connection point 170, the autonomous vehicle 110 may transition to the second arc 175 and follow this arc until it reaches its final destination at a final point "B" 180 along the second arc 175 where it will have a final heading 185.
[0044] FIG. 2 illustrates an autonomous vehicle 210 executing an RSR Dubins path 200, corresponding to a first arc 240 (right turn) that lies on a first circle 220, followed by a straight line segment 260, followed by a second arc 275 (right turn) that lies on a second circle 222. The autonomous vehicle 210 may start at an initial point "A" 230 along the first arc 240 with an initial heading 235. At a first transition connection point 250, the autonomous vehicle 210 may transition to the straight line segment 260. At a second transition connection point 270, the autonomous vehicle 210 may transition to the second arc 275 and follow this arc until it reaches its final destination at a final point "B" 280 along the second arc 275 where it will have a final heading 285.
[0045] FIG. 3 illustrates a n autonomous vehicle 310 executing an LRL Dubins path 300, corresponding to a first arc 340 (left turn) that lies on a first circle 320, followed by a second arc 360 (right turn) that lies on a second circle 322, followed by a third arc 375 (left turn) that lies on a third circle 324. The autonomous vehicle 310 may start at an initial point "A" 330 along the first arc 340 with an initial heading 335. At a first transition connection point 350, the autonomous vehicle 310 may transition to the second arc 360 and follow this arc until it reaches the second transition connection point 370. The autonomous vehicle 310 may then transition to the third arc 375 and follow this arc until it reaches its final destination at a final point "B" 380 along the third arc 375 where it will have a final heading 385.
[0046] FIG. 4 is a schematic diagram of an example communication and control system 400 that may be utilized in conjunction with the systems and methods of the present disclosure, in at least some embodiments. The communication and control system 400 may include a vehicle control system 440 which may be mounted on the autonomous vehicle 410. The autonomous vehicle 410 may also include a spatial locating device 442, which may be mounted to the autonomous vehicle 410 and configured to determine a position of the autonomous vehicle 410 as well as a heading and a speed of the autonomous vehicle 410. The spatial locating device 442 may include any suitable system configured to determine the position and/or other important characteristics of the autonomous vehicle 410, such as a global positioning system (GPS), a global navigation satellite system (GNSS), or the like. In certain embodiments, the spatial locating device 442 may be configured to determine the position and/or other characteristics of the autonomous vehicle 410 relative to a fixed point within a field (e.g., via a fixed radio transceiver). Accordingly, the spatial locating device 442 may be configured to determine the position of the autonomous vehicle 410 relative to a fixed global coordinate system using GPS, GNSS, a fixed local coordinate system, or any combination thereof.
[0047] The autonomous vehicle 410 may include a steering control system 444 configured to control a direction of movement of the autonomous vehicle 410, and a speed control system 446 configured to control a speed of the autonomous vehicle 410. In some embodiments, the autonomous vehicle 410 may include an implement control system 448 configured to control operation of an implement towed by the autonomous vehicle 410 or integrated within the autonomous vehicle 410. The control system 440 may further include a controller 450 communicatively coupled to the spatial locating device 442, the steering control system 444, the speed control system 446, and the implement control system 448.
[0048] The controller 450 may be configured to receive signals relative to many parameters of interest including, but not limited to: vehicle position, vehicle speed, vehicle heading, desired path location, off-path normal error, desired off-path normal error, vehicle state vector information, curvature state vector information, turning radius limits, steering angle, steering angle limits, steering rate limits, curvature, curvature rate, rate of curvature limits, roll, pitch, rotational rates, acceleration, and the like, or any combination thereof.
[0049] The controller 450 may be an electronic controller with electrical circuitry configured to process data from the spatial locating device 442, among other components of the autonomous vehicle 410. The controller 450 may include a processor, such as the illustrated microprocessor 454, and a memory device 456. The controller 450 may also include one or more storage devices and/or other suitable components (not shown). The processor 454 may be used to execute software, such as software for calculating drivable path plans. Moreover, the processor 454 may include multiple microprocessors, one or more "general- purpose" microprocessors, one or more special-purpose microprocessors, and/or one or more application specific integrated circuits (ASICS), or any combination thereof. For example, the processor 454 may include one or more reduced instruction set (RISC) processors.
[0050] The memory device 456 may include a volatile memory, such as random access memory (RAM), and/or a nonvolatile memory, such as ROM. The memory device 456 may store a variety of information and may be used for various purposes. For example, the memory device 456 may store processor-executable instructions (e.g., firmware or software) for the processor 454 to execute, such as instructions for calculating drivable path plans, and/or controlling the autonomous vehicle 410. The memory device 456 may include flash memory, one or more hard drives, or any other suitable optical, magnetic, or solid-state storage medium, or a combination thereof. The memory device 456 may store data such as field maps, maps of desired paths, vehicle characteristics, software or firmware instructions, and/or any other suitable data.
[0051] The steering control system 444 may include a curvature rate control system 460, a differential braking system 462, and a torque vectoring system 464 that may be used to steer the autonomous vehicle 410. In at least one embodiment, the curvature rate control system 460 may control a direction of an autonomous vehicle 410 by actuating a servo controlled steering system associated with the autonomous vehicle 410 with a curvature rate signal, such as an Ackerman style autonomous vehicle 410. In other embodiments, the curvature rate control system 460 may automatically rotate one or more wheels or tracks of the autonomous vehicle 410 via hydraulic actuators to steer the autonomous vehicle 410. By way of example, the curvature rate control system 460 may rotate front wheels/tracks, rear wheels/tracks, and/or intermediate wheels/tracks of the autonomous vehicle 410, either individually or in groups. The differential braking system 462 may independently vary the braking force on each lateral side of the autonomous vehicle 410 to direct the autonomous vehicle 410. Similarly, the torque vectoring system 464 may differentially apply torque from the engine to the wheels and/or tracks on each lateral side of the autonomous vehicle 410. While the illustrated steering control system 444 includes the curvature rate control system 460, the differential braking system 462, and the torque vectoring system 464, it should be appreciated that alternative embodiments may include one or more of these systems, in any suitable combination. Further embodiments may include a steering control system 444 having other and/or additional systems to facilitate turning the autonomous vehicle 410 such as an articulated steering system, a differential drive system, and the like.
[0052] I n the illustrated embodiment, the speed control system 446 may include an engine output control system 466, a transmission control system 468, and a braking control system 470. The engine output control system 466 may be configured to vary the output of the engine to control the speed of the autonomous vehicle 410. For example, the engine output control system 466 may vary a throttle setting of the engine, a fuel/air mixture of the engine, a timing of the engine, and/or other suitable engine parameters to control engine output. In addition, the transmission control system 468 may adjust gear selection within a transmission to control the speed of the autonomous vehicle 410. Furthermore, the braking control system 470 may adjust braking force to control the speed of the autonomous vehicle 410. While the illustrated speed control system 446 includes the engine output control system 466, the transmission control system 468, and the braking control system 470, it should be appreciated that alternative embodiments may include one or more of these systems, in any suitable combination. Further embodiments may include a speed control system 446 having other and/or additional systems to facilitate adjusting the speed of the autonomous vehicle 410.
[0053] For embodiments that may include an implement, the implement control system 448 may be configured to control various parameters of the implement towed by and/or integrated within the autonomous vehicle 410. For example, in certain embodiments, the implement control system 448 may be configured to instruct an implement controller via a communication link, such as a CAN bus or ISOBUS, to adjust a penetration depth of at least one ground engaging tool of an agricultural implement, which may reduce the draft load on the autonomous vehicle 410. Furthermore, the implement control system 448 may instruct the implement controller to transition the agricultural implement between a working position and a transport position, to adjust a flow rate of product from the agricultural implement, to adjust a position of a header of the agricultural implement (e.g., a harvester, etc.), among other operations.
[0054] The operator interface 452 may be communicatively coupled to the controller 450 and configured to present data from the autonomous vehicle 410 via a display 472. Display data may include: data associated with operation of the autonomous vehicle 410, data associated with operation of an implement, a position of the autonomous vehicle 410, a speed of the autonomous vehicle 410, a desired path, a drivable path plan, a target position, a current position, etc. The operator interface 452 may be configured to enable an operator to control certain functions of the autonomous vehicle 410 such as starting and stopping the autonomous vehicle 410, inputting a desired path, etc. I n some embodiments, the operator interface 452 may enable the operator to input parameters that cause the controller 450 to adjust the drivable path plan. For example, the operator may provide an input requesting that the desired path be acquired as quickly as possible, that an off-path normal error be minimized, that a speed of the autonomous vehicle 410 remain within certain limits, that a lateral acceleration experienced by the autonomous vehicle 410 remain within certain limits, etc. In addition, the operator interface 452 may be configured to alert an operator if the desired path cannot be achieved (e.g., via the display 472, or via an audio system (not shown), etc., for example).
[0055] I n certain embodiments, the control system 440 may include a base station 474 having a base station controller 476 located remotely from the autonomous vehicle 410. For example, in certain embodiments, control functions of the control system 440 may be distributed between the controller 450 of the autonomous vehicle control system 440 and the base station controller 476. In certain embodiments, the base station controller 476 may perform a substantial portion of the control functions of the control system 440. For example, in certain embodiments, a first transceiver 478 positioned on the autonomous vehicle 410 may output signals indicative of vehicle characteristics (e.g., position, speed, heading, curvature rate, curvature rate limits, maximum turning rate, minimum turning radius, steering angle, roll, pitch, rotational rates, acceleration, etc.) to a second transceiver 480 at the base station 474. In these embodiments, the base station controller 476 may calculate drivable path plans and/or output control signals to control the curvature rate control system 444, the speed control system 446, and/or the implement control system 448 to direct the autonomous vehicle 410 toward the desired path, for example. The base station controller 476 may include a processor 482 and memory device 484 having similar features and/or capabilities as the processor 454 and the memory device 456 discussed previously. Likewise, the base station 474 may include an operator interface 486 having a display 488, which may have similar features and/or capabilities as the operator interface 452 and the display 472 discussed previously.
[0056] Before further discussing the details of the present disclosure, we will first consider the theoretical background behind clothoid segments and their application within the context of optimal control theory. [0057] We may begin with the nonlinear dynamical system:
Figure imgf000015_0003
[0058] with the performance index:
Figure imgf000015_0004
[0059] and the final-state constraint:
Figure imgf000015_0001
[0060] We then form the Hamiltonian:
Figure imgf000015_0005
[0061] which gives us the state equations:
Figure imgf000015_0006
[0062] as well as the co-state equations:
Figure imgf000015_0007
[0063] We then need to ensure that H is minimized with respect to
Figure imgf000015_0012
all admissible
Figure imgf000015_0008
Figure imgf000015_0013
[0064] where * denotes optimal quantities. Finally, the following boundary conditions must be satisfied:
Figure imgf000015_0009
[0065] From a clothoid (or a Cornu Spiral, or a Euler Spiral) a planar parametric curve may be given by:
Figure imgf000015_0010
[0066] where:
Figure imgf000015_0011
[0067] and B is the magnitude of the clothoid. The magnitude of the clothoid spline B may correspond to a speed and a constant maximum curvature rate of a given autonomous vehicle. Thus, given a vehicle with curvature rate c and speed v, then:
Figure imgf000015_0002
[0068] The tangent to a clothoid has the angle:
Figure imgf000016_0002
[0069] while the curvature is:
Figure imgf000016_0003
[0070] FIG. 5 is an example graphical illustration of a clothoid function having a magnitude of B = 5.5.
[0071] FIG. 6 illustrates a vehicle model and reference frame 600 with notations that generally define normal error path tracking for an Ackerman style vehicle 605 having a rear axle
620 and a front axle 610, as the Ackerman style vehicle 605 tracks off-path with respect to a desired circular arc path 630 having a center 640. The vehicle model shown in FIG. 6 may be simplified as a kinematic bicycle model, which gives:
Figure imgf000016_0001
[0072] similar to that discussed above where is the location of the midpoint of the
Figure imgf000016_0007
rear axle, Θ is the heading of the vehicle, υ is the speed of the rear axle, L is the wheelbase, and φ is the angle of the steered front wheels (not to be confused with the used later for slalom
Figure imgf000016_0008
paths, which is different). This is known as the "bicycle" model since the necessary differences in front wheel steering angles are ignored. Note that the above kinematic model of the vehicle includes a curvature state and the input to the model is the curvature rate. The following constraints imposed may be imposed:
Figure imgf000016_0004
and the states may be expressed as
Figure imgf000016_0005
. In this embodiment, the curvature rate input may be defined as
Figure imgf000016_0009
For some vehicles, the curvature rate
Figure imgf000016_0011
may be closely related to the steering rate of the vehicle. However, a slightly nonlinear relationship may exist between the curvature rate
Figure imgf000016_0010
and the steering rate of a given vehicle, due to the steering linkage geometry associated with the vehicle. For example, the steering linkage on a typical Ackerman vehicle may introduce a nonlinear relationship between the curvature rate and the steering rate of the vehicle. Since the turning radius of the vehicle is:
Figure imgf000016_0006
[0073] the last equation is often written in the alternate form, where the curvature, κ, is the reciprocal of the path radius. We will use φ exclusively as a parameter for slalom trajectories in the remainder of the present disclosure and will not refer to the angle of the steered wheels. Similarly, L will have a different meaning in the remainder of the present disclosure, and will not subsequently be used to refer to the wheelbase. u is the curvature rate, and due to the use of a steering actuator, it is constrained to satisfy:
Figure imgf000017_0001
[0074] for some rate limit
Figure imgf000017_0002
[0075] Since our vehicle model travels on circular arcs, it is convenient to use polar coordinates:
Figure imgf000017_0003
[0076] (See FIG. 6).
[0077] In addition to the equations above, we may also use:
Figure imgf000017_0004
[0078] to simplify these equations, resulting in:
Figure imgf000017_0005
[0079] A nice feature of this new set of coordinates is that since the control κ is generally only a function of p and β, the first two equations are independent of α and form a reduced system which can be analyzed more easily. For the tracking of circles, β gives the angle between the vehicle and the path, including an offset. So, for example, means the
Figure imgf000017_0006
vehicle is parallel to the circular path and is pointed in the counter-clockwise direction. Similarly
Figure imgf000017_0007
means the vehicle is parallel to the path and is pointed in the clockwise direction.
[0080] FIG. 7 is a graphical illustration of a rate-limited steering step response for an example Ackerman style vehicle (not shown). As can be seen, the steering rate limit for the example Ackerman style vehicle may not have a perfectly uniform slope, or rate of curvature, as the step response moves between -100% to 100% steering change. This nonlinearity may become more evident when viewing a derivative of the steering step response, as can be seen in FIG. 8, which shows the change in slope resulting in a somewhat "bowl shape" toward the extreme curvature edges. This may be due to nonlinearity in the steering linkage of the vehicle that may produce more curvature change at the extreme curvature ranges. However, the slope, or rate of curvature, may be sufficiently constant close to the center of the steering angle travel, such that it may be approximated as having a relatively constant value.
[0081] I n order to minimize a measure of the off-path error, we may use:
Figure imgf000018_0003
[0082] where n is a positive integer. The larger the value, the closer we come to using the infinity norm, which is the metric of interest. We may form the Hamiltonian:
Figure imgf000018_0001
[0083] To minimize the Hamiltonian with respect to u, we choose:
Figure imgf000018_0004
[0084] and from the Hamiltonian we may form the following three co-state equations:
Figure imgf000018_0002
[0085] We now consider the problem of transitioning from an arc of one radius to another arc of the same radius, but oriented in the opposite direction, with the arcs tangent at the transition connection point where they connect to each other. This arrangement is depicted in FIG. 9 where the center of the first arc is located at (x, y) = (—6,—8) m, and the center of the second arc is at (x, y) = (6, 8) m. Each arc has a radius of 10 m and the arcs are tangent at the origin, but the curvature changes discontinuously from:
Figure imgf000018_0005
[0086] In a first method, consider the problem of finding the optimal transition from the clockwise arc to the counter-clockwise arc in FIG. 9. FIG. 9 is an illustration of a slalom path with two tangentially connected circular arcs that may be executed by a vehicle as a right turn- left turn Dubins style path plan. Here we may take advantage of the symmetry of the problem and start at the origin by arguing that, due to symmetry, the solution must pass through the origin. If this were not the case, then the error on one side of the
Figure imgf000018_0008
would be greater than the error on the other side, and we would not achieve a minimum of the error. The initial conditions at the origin are given by:
Figure imgf000018_0006
[0087] These initial conditions state that the vehicle is on the path, and the curvature the vehicle follows passes through zero at the origin. Note that
Figure imgf000018_0007
is unconstrained, i.e., we may not know what the heading of the vehicle with respect to the path will be. /?(0) will be one of the parameters we vary as we search for a solution. We may also chose n = 4.
[0088] The final time lis unknown. At this final time we have:
Figure imgf000019_0003
[0089] There is no constraint on the initial heading error or on the value of the final
Figure imgf000019_0008
time T. We do need to satisfy the final condition
Figure imgf000019_0007
as well. Thus, a search needs to be performed where we vary the five parameters and T to attempt to
Figure imgf000019_0006
satisfy the four constraints:
Figure imgf000019_0002
[0090] This may be done by performing a very coarse exhaustive search first in an attempt to find rough parameter values that come close to satisfying the constraints. Once some candidate parameters are found, a Newton-Raphson search may then be performed to find exact values. The solution found in this example is:
Figure imgf000019_0009
[0091] FIGS.10 and 11 illustrate the solution graphically, with FIG.10 showing the off-path error for an optimal transition from the midpoint between the two arcs in FIG. 9 to a final position along the second arc and FIG.11 showing the curvature for the optimal transition from the midpoint between the two arcs in FIG. 9 to the final position along the second arc. The maximum error shown if FIG.10 is about 0.028 m and the switch from a positive curvature rate to a negative curvature rate takes place at about 1.23 seconds, as can be seen in FIG.11.
[0092] A second method may be to start on the first arc and end at the origin. The initial conditions in this case would be:
Figure imgf000019_0001
[0093] The final conditions are:
Figure imgf000019_0004
[0094] In this case, β(Τ) is unconstrained as we may not know what the heading will be when the vehicle drives through the origin. We may chose n = 4.
[0095] The solution found in this example is:
Figure imgf000019_0005
[0096] FIGS.12 and 13 illustrate the solution graphically, with FIG.12 showing the off-path error for an optimal transition from the midpoint between the two arcs in FIG. 9 to an initial position along the first arc, and FIG. 13 showing the curvature for the optimal transition from the midpoint between the two arcs in FIG. 9 to the initial position along the first arc. The maximum error shown if FIG. 12 is about 0.028 m and the switch from a negative curvature rate to a positive curvature rate takes place at about 0.32 seconds, as can be seen in FIG. 13.
[0097] A third method of solving this problem is fundamentally different than the prior two methods. Rather than using optimal control theory, an approach based on parametric curves, nonlinear equation solving, and minimization may be used in this method. Given that an optimal transition involves changing the curvature at a constant maximum rate, the segments are clothoids with a magnitude given by the vehicle speed and maximum curvature rate. A clothoid can be rotated and translated. This involves three parameters. Further, the starting and ending parameter can be chosen, and this adds a n additional two parameters. Thus, a clothoid segment is associated with five parameters.
[0098] Constraining a position gives two parameters, and constraining the tangent direction and the curvature give two more constraint parameters. Thus, each time a clothoid segment is added, an additional five parameters of freedom are added but four constraint equations are also added. If there is a single clothoid inserted between two arcs, then there are eight equations but only seven unknowns. For two clothoids there will be twelve equations and twelve unknowns, and a solution is possible. However, the optimal control approach tells us that there should be three clothoid segments inserted between two arcs. This leads to sixteen equations and seventeen unknowns. The extra degree of freedom can be adjusted to optimize the solution.
[0099] Let the starting angle on the first arc be and let the ending angle on the second
Figure imgf000020_0005
Figure imgf000020_0006
For clothoid
Figure imgf000020_0007
let the rotation
Figure imgf000020_0008
the translation be and the starting and
Figure imgf000020_0004
ending parameters be respectively. Thus, the seventeen unknowns are:
Figure imgf000020_0003
Figure imgf000020_0001
[00100] The first two equations constrain the first arc and clothoid segments to meet at the same point:
Figure imgf000020_0002
[00101] The negative sign on is necessary to reflect the clothoid having its curvature
Figure imgf000021_0006
magnitude increasing in the clockwise direction. The second two equations constrain the first and second clothoids to meet at the same point:
Figure imgf000021_0001
[00102] The remaining equations for position are similar. We also need equations to constrain the tangency of the segments. To constrain the first arc to be tangent to the first clothoid we impose:
Figure imgf000021_0002
[00103] To constrain the first and second clothoids to be tangent we use:
Figure imgf000021_0003
[00104] The other equations that impose the tangency constraint are similar. Finally, to constrain the curvature of the first arc to be the same as the first clothoid we use:
Figure imgf000021_0004
[00105] To constrain the first and second clothoids to have the same curvatures where they meet we use:
Figure imgf000021_0005
[00106] The remaining curvature constraints are similar and we can use standard numerical methods to solve these equations with constrained numerical optimization routines that minimize the off-path error with identical results to those found in the previous methods above.
[00107] FIG. 14 illustrates another example of an optimal transition path plan solution 1400 between a tangentially connected first arc 1410 and second arc 1420, where B— 5.5, the first arc 1410 is centered at the origin, and the second arc 1420 is centered at (20, 0). FIG. 14 shows the solution generated by the third method with a first portion of a drivable path plan solution 1430 shown diverging away from the first arc 1410 from some initial point and dipping below the first arc 1410. The drivable path plan then passes through the transition connection point where the first and second arcs 1410, 1420 tangentially connect to each other. A second portion of the drivable path plan solution 1440 can then be seen rising above the second arc 1420, and reconnecting with the second arc 1420 at some final point along the second arc 1420.
[00108] Although the desired path plan in this example consists of just two circular arc segments of opposite orientation, the extension to more general paths of tangentially- connected arcs and straight lines is straightforward. In general, the third method includes calculating a drivable path plan for an original path plan that includes a first path element tangentially connected to a second path element at some transition connection point. A drivable path plan may be calculated to find an optimal clothoid spline between the first path element and the second path element using the third method described above. The third method identifies an initial connection point, an initial heading, and an initial curvature along the first path element, as well as a final connection point, a final heading, and a final curvature along the second path element. Once the clothoid spline is calculated, it may be inserted between the initial connection point along the first path element and the final connection point along the second path element to create a drivable path plan for an autonomous vehicle to follow.
[00109] FIG. 15 illustrates a block diagram of a drivable path plan system 1500, according to one embodiment of the present disclosure. The drivable path plan system 1500 may generally include an original path plan module 1510, off-path error data 1550, vehicle data 1560, original path plan data 1530, a drivable path plan module 1520, and clothoid spline data 1540.
[00110] The off-path error data 1550 may include data that indicates an off-path deviation of the autonomous vehicle relative to a desired original path plan. The vehicle data 1560 may include data about the autonomous vehicle, including but not limited to: vehicle position, vehicle speed, vehicle heading, desired path location, off-path normal error, desired off-path normal error, vehicle state vector information, curvature state vector information, turning radius limits, steering angle, steering angle limits, steering rate limits, curvature, curvature rate, rate of curvature limits, roll, pitch, rotational rates, acceleration, and the like.
[00111] The original path plan module 1510 may be configured to receive original path plan data 1530 indicative of an original path plan for an autonomous vehicle. The original path plan may include data relating to a first path element, such as a first circular arc having a first circular arc curvature, as well as a second path element that is tangentially connected to the first path element at a transition connection point. Thus, the original path plan data may include first path element data 1532, second path element data 1534, and transition connection point data 1536.
[00112] The drivable path plan module 1520 may be configured to calculate a drivable path plan for the autonomous vehicle between the first path element a nd the second path element which may include a clothoid spline formed of three clothoid segments, as previously discussed. The drivable path plan module 1520 may also include a connection point identification module 1522 and a clothoid spline calculation module 1524.
[00113] The connection point identification module 1522 may be configured to identify a suitable initial connection point, an initial heading, and an initial curvature along the first path element, as well as a suitable final connection point, a final heading, and a final curvature along the second path element. These connection points, headings, and curvatures help define a set of suitable clothoid spline solutions between the selected initial connection point and final connection point, as previously discussed. Accordingly, the clothoid spline data 1540 may include initial connection point data 1542, final connection point data 1544, and optimal transition data 1545, which may comprise other data such as initial heading data, initial curvature data, final heading data, final curvature data, and the like.
[00114] The clothoid spline calculation module 1524 may be configured to calculate a suitable clothoid spline between the initial connection point on the first path element and the final connection point on the second path element. The clothoid spline may include a first clothoid segment, a second clothoid segment, and a third clothoid segment connected together to form the clothoid spline. Corresponding first clothoid segment data 1546, second clothoid segment data 1548, and third clothoid segment data 1549 may be stored as clothoid spline data 1540 and may define one or more suitable clothoid spline solutions.
[00115] I n a particular embodiment, the first clothoid segment may be selected to be tangentially connected to the first path element at the initial connection point. The first clothoid segment may have a first clothoid segment initial curvature and a first clothoid segment final curvature. The first clothoid segment initial curvature may be equal to the first circular arc curvature of the first path element at the initial connection point. The second clothoid segment may be tangentially connected to the first clothoid segment at a second connection point. The second clothoid segment may have a second clothoid segment initial curvature and a second clothoid segment final curvature. The second clothoid segment initial curvature may be equal to the first clothoid segment final curvature at the second connection point. The third clothoid segment may be tangentially connected to the second clothoid segment at a third connection point. The third clothoid segment may have a third clothoid segment initial curvature and a third clothoid segment final curvature. The third clothoid segment initial curvature may be equal to the second clothoid segment final curvature at the third connection point. The third clothoid segment may also be tangentially connected to the second path element at the final connection point and the third clothoid segment final curvature may be equal to a second path element curvature at the final connection point.
[00116] I n at least one embodiment, the second path element may include a second circular arc having a second circular arc curvature. In other embodiments, the second path element may include a straight line.
[00117] In some embodiments, the clothoid spline is selected to minimize a lateral acceleration experienced by the autonomous vehicle as the autonomous vehicle executes a drivable path plan between the first path element and the second path element. I n other embodiments, the clothoid spline is selected to minimize an off-path error of the drivable path plan with respect to the original path plan.
[00118] FIG. 16 illustrates a method 1600 of calculating a drivable path plan for an autonomous vehicle, according to one embodiment of the present disclosure. The method 1600 may begin with a step 1610 in which original path plan data is received. The original path plan data may indicate an original path plan for an autonomous vehicle including a first path element including a first circular arc having a first circular arc curvature and a second path element tangentially connected to the first path element at a transition connection point.
[00119] Once the original path plan data is received, the method 1600 may proceed to a step 1620 in which a suitable initial connection point, initial heading, and initial curvature along the first path element may be identified. A suitable initial connection point may be chosen based on various characteristics of the vehicle including, but not limited to: vehicle position, vehicle speed, vehicle heading, desired path location, off-path normal error, desired off-path normal error, vehicle state vector information, curvature state vector information, turning radius limits, steering angle, steering angle limits, steering rate limits, curvature, curvature rate, rate of curvature limits, roll, pitch, rotational rates, acceleration, and the like.
[00120] Once a suitable initial connection point, initial heading, and initial curvature along the first path element have been identified, the method 1600 may proceed to a step 1630 in which a suitable final connection point, final heading, and final curvature along the second path element may be identified. Similarly, a suitable final connection point may be chosen based on various characteristics of the vehicle including, but not limited to: vehicle position, vehicle speed, vehicle heading, desired path location, off-path normal error, desired off-path normal error, vehicle state vector information, curvature state vector information, turning radius limits, steering angle, steering angle limits, steering rate limits, curvature, curvature rate, rate of curvature limits, roll, pitch, rotational rates, acceleration, and the like. [00121] Once a suitable final connection point, final heading, and final curvature along the second path element have been identified, the method 1600 may proceed to a step 1640 in which one or more drivable path plans may be calculated between the initial connection point along the first path element and the final connection point along the second path element, which may take the form of a clothoid spline made of three clothoid segments, as previously discussed.
[00122] Once the one or more drivable path plans have been calculated, the method 1600 may proceed to a step 1650 in which a suitable clothoid spline may be selected to minimize a lateral acceleration experienced by the autonomous vehicle as the autonomous vehicle executes the drivable path plan between the first path element and the second path element. Alternatively, or in addition thereto the method 1600 may proceed to a step 1660 in which in which a suitable clothoid spline may be selected to minimize an off-path error of the drivable path plan with respect to the original path plan. It will be noted that the selection of clothoid splines, as shown in blocks 1650, 1660, may also be accomplished prior to step 1620 in method 1600.
[00123] Any methods disclosed herein comprise one or more steps or actions for performing the described method. The method steps and/or actions may be interchanged with one another. In other words, unless a specific order of steps or actions is required for proper operation of the embodiment, the order and/or use of specific steps and/or actions may be modified.
[00124] The normal error linearization technique will now be addressed for the case of simple line segments. Let a line segment be given by a point which may be anywhere
Figure imgf000025_0003
on the line, as well as a vector (a,b), where
Figure imgf000025_0004
and assume we are traveling forward. If
Figure imgf000025_0006
the vehicle has position
Figure imgf000025_0005
and heading θ , then the normal error e and its first three derivatives can be derived as:
Figure imgf000025_0002
[00125] Following the method of output linearization (the output in this case is e), we may choose:
Figure imgf000025_0001
[00126] which produces the linear system
[00127]
Figure imgf000026_0011
we may write:
Figure imgf000026_0001
[00128] If we assume the feedback is linear, then:
Figure imgf000026_0002
[00129] and we may then use the LQR method to choose the gains
Figure imgf000026_0010
[00130] The normal error linearization technique will now be addressed for the case of simple arc segments. Assume we are traveling forward, and we wish to track an arc in the counter-clockwise direction. The center of the arc is and its radius is Then, the
Figure imgf000026_0009
Figure imgf000026_0014
normal error is given by:
(2)
Figure imgf000026_0003
[00131] If we let:
Figure imgf000026_0004
[00132] then the following are the first three derivatives of
Figure imgf000026_0013
Figure imgf000026_0005
[00133] Making the choice:
Figure imgf000026_0006
[00134] results in the same linear dynamics as in the line segment case and we can
Figure imgf000026_0012
again use the LQR method to choose the feedback gains.
[00135] The normal error linearization technique will now be addressed for the case of clothoid segments. A rotated and translated clothoid with the usual orientation may be given by:
Figure imgf000026_0007
[00136] where are Fresnel integrals,
Figure imgf000026_0008
Figure imgf000027_0003
[00137] B is the magnitude, ψ is the rotation angle, and (x2 , y2) is the translation. For simplicity, we will assume that the vehicle point has been transformed so that instead of dealing with the clothoid above, we deal with the standard clothoid:
(3)
Figure imgf000027_0004
[00138] The first step in calculating the normal error to the clothoid is to determine the parameter τ where a line from the control point (x, y) to the clothoid is normal. This requires solving a single nonlinear equation in one unknown:
Figure imgf000027_0005
[00139] or
Figure imgf000027_0006
[00140] Since there isn't a closed-form solution, this has to be done numerically. The center of curvature of a clothoid is given by:
Figure imgf000027_0001
[00141] where
Figure imgf000027_0008
are the integrals of the Fresnel integrals:
Figure imgf000027_0002
[00142] The normal error is then given by:
(5)
Figure imgf000027_0007
[00143] The first term is the distance from the control point to the clothoid center of curvature. The second term is the distance from the clothoid point (of normalcy) to the clothoid center of curvature. This formula is analogous to the formula for the normal error for an arc segment in equation (2).
[00144] Similarly, we'll need equations for the first three derivatives of e . Since the formulas are likely to get very complicated, we will break the formulas up into parts. Let:
Figure imgf000028_0005
[00145] and
Figure imgf000028_0007
with the obvious associations from formula (5).
[00146] Then,
Figure imgf000028_0001
[00147] and
Figure imgf000028_0002
[00148] Next, we have:
Figure imgf000028_0003
[00149] and
Figure imgf000028_0004
[00150] Similarly,
Figure imgf000028_0006
Figure imgf000029_0001
[00151] and
Figure imgf000029_0005
[00152] For the second term in we have:
Figure imgf000029_0002
[00153] and
Figure imgf000029_0003
[00154] Next,
Figure imgf000029_0004
[00155] and
Figure imgf000030_0001
[00156] As mentioned earlier. The value of τ can be found numerically from equation Error! Reference source not found.. Once this has been done, equation Error! Ref rence source not found, may be differentiated to find
Figure imgf000030_0007
:
Figure imgf000030_0002
[00157] We can then differentiate this expression to find
Figure imgf000030_0006
:
Figure imgf000030_0003
[00158] We cannot immediately solve for τ by differentiating the above expression for f because the resulting expression for
Figure imgf000030_0008
involves u , which is our unknown input. For this reason, we will have to solve two equations in two unknowns. The two unknowns appear linearly in the equations, so the solution is straightforward even though the coefficients are somewhat complicated. The two equations are
Figure imgf000030_0009
is given by equation Error! Reference source not found., and the other equation is the third derivative of equation Error! Reference source not found..
[00159] Thus, the equations take the form
(6)
Figure imgf000030_0004
[00160] with
Figure imgf000030_0005
Figure imgf000031_0001
[00161] and
Figure imgf000032_0001
[00162] These choices will produce the dynamics as before, and, again, the LQR
Figure imgf000032_0009
method can be used to choose the gains for I n an alternative embodiment, the
Figure imgf000032_0008
above clothoid derivation could be rewritten with the derivative of the normal error written as the speed times the sine of the heading error, which may result in simpler equations.
[00163] To summarize, the above five steps for clothoids include:
1. Transform the vehicle pose
Figure imgf000032_0007
such that the clothoid tracking problem is in the standard clothoid frame, where the clothoid is given by equation Error! Reference source not found..
2. Solve for τ in equation Error! Reference source not found, and use this τ to find the normal error e in equation Error! Reference source not found..
3. Note that
Figure imgf000032_0003
and use the above formulas for as well as
Figure imgf000032_0006
those for
Figure imgf000032_0004
and the value of
Figure imgf000032_0005
from equation Error! Reference source not found, to find
Figure imgf000032_0011
Using the LQR method, find the gain vector for the system in
Figure imgf000032_0010
Error! Reference source not found.. Using the feedback:
Figure imgf000032_0002
find the value of the transformed input q .
5. Using this value of q and equation Error! Reference source not found, solve for the curvature rate input u , which is the desired output from the controller. [00164] FIG. 17 illustrates a control loop flow diagram 1700 that may be used with embodiments of the present disclosure described above with respect to line segments, arc segments, and clothoid segments. The control loop flow diagram 1700 shows how nonlinear feedforward may be used to output linearize the path controller to produce straightforward, intuitive dynamic behavior (transients), as well as stabilize the system by applying LQR methods. This may result in a path controller that is easier to tune, due to the use of the LQR method with its use of weights on errors and reduced possibility for instability. In this manner, the path controller may combine curvature rate output, output linearization with respect to normal error, and LQR to better track arc, line, and clothoid path segments with respect to off- path, normal error.
[00165] The control loop flow diagram 1700 may include a path controller 1710 (shown in dashed lines) communicatively coupled to a vehicle model block 1720. The path controller 710 may include an integrator 1780, a linearization block 1790, and gain blocks 1771, 1772, 1773 corresponding to gain values The path control ler 1710 may also include inputs 1730,
Figure imgf000033_0001
1740, and 1750 that receive the off-path normal error signal
Figure imgf000033_0003
1793, as well as the first and second derivatives of the off-path normal error signal,
Figure imgf000033_0002
as can be seen in FIG. 17. The path controller 1710 may also include one or more additional input signals, generally referred to as "S" 1760, from other parts of the system, such as the vehicle model block 1720. The input signals "S" 1760, may include, but are not limited to: a heading signal, a curvature signal, a vehicle position signal, a vehicle speed signal, a curvature state signal, a vehicle state vector signal, a desired error signal (where the desired error signal indicates a desired off-path deviation of the autonomous vehicle relative to the desired path, where the desired path includes at least one of a straight line, an arc, and a clothoid segment), and the like.
[00166] The path controller 1710 may produce a curvature rate output signal " u " 1792 which may be used by a steering control system to control a curvature rate associated with a steering system of an autonomous vehicle. The curvature rate output signal 1792 may be calculated based on the input signals received at the path controller 1710 to linearize normal error dynamics in relation to the desired path by integrating the normal error signal received at the path controller 1710 with one or more derivatives of the normal error signal. For example, the normal error signal 1793 may be integrated together with its first and second derivatives by the integrator 1780 to produce an output " q " 1791 that may then be fed into the linearization block 1790 to linearize the curvature rate output signal u 1792. This linearization technique is similar for each path segment type (e.g., line, arc, or clothoid segment), but with different equations substituted for each path segment type in order to output linearize the curvature rate output signal u according to each path segment type.
[00167] As mentioned previously, the gain blocks 1771, 1772, 1773 with corresponding gain values
Figure imgf000034_0001
may be ascertained via an LQR process. In this manner, the curvature rate output signal u 1792 may be calculated based on the input signals received at the path controller 1710 and at least one gain value
Figure imgf000034_0002
nnay be applied to feedback relating to the normal error signal 1793 to stabilize the curvature rate output signal 1792, where the at least one gain value is selected using a linear quadratic regulator process.
[00168] FIG. 18 illustrates a block diagram of a path controller 1800 configured to guide an autonomous vehicle along a desired path, according to one embodiment of the present disclosure. The path controller 1800 may include an input module 1810, a curvature rate module 1830, a communication module 1820, and a data module 1840.
[00169] The input module 1810 may be configured to receive input signals at the path controller 1800 such as: a normal error signal associated with the autonomous vehicle that indicates an off-path deviation of the autonomous vehicle relative to a desired path; a heading signal associated with the autonomous vehicle that indicates a current heading angle of the autonomous vehicle; and a curvature signal associated with the autonomous vehicle that indicates a curvature associated with a current turn radius of the autonomous vehicle. The input module 1810 may also be configured to receive additional input signals, including, but not limited to: a heading signal, a vehicle position signal, a vehicle speed signal, a curvature state signal, a vehicle state vector signal, a desired error signal (where the desired error signal indicates a desired off-path deviation of the autonomous vehicle relative to the desired path), as well as other input signals. These input signals may be stored in the data module 1840 as input data 1850 including, but not limited to: normal error data 1851, heading data 1852, curvature data 1853, vehicle position data 1854, vehicle speed data 1855, vehicle state data 1856, curvature state data 1857, desired error data 1858, along with other data such as, vehicle data 1880, steering limit data 1882, steering rate limit data 1884, path type data 1890, line data 1892, arc data, 1894, clothoid segment data 1896, gain data 1870, gain value(s) 1872, curvature rate output data 1860, as well as other any other relevant data.
[00170] The curvature rate module 1830 may be configured to calculate a curvature rate output signal 1822 based on the input signals received at the path controller 1800, and the curvature rate output signal 1822 may be configured to guide the autonomous vehicle along a desired path. In at least one embodiment, the curvature rate module 1830 may include a linearization module 1832 and a gain module 1834. The linearization module 1832 may be configured to linearize normal error dynamics in relation to the desired path by integrating one or more derivatives of the normal error signal received at the path controller, as previously discussed. The gain module 1834 may also be configured to apply at least one gain value 1872 to feedback relating to the normal error signal to stabilize the curvature rate output signal 1822, where the at least one gain value 1872 is selected using a linear quadratic regulator process, as previously discussed.
[00171] The communication module 1820 may be configured to communicate the curvature rate output signal 1822 to a steering control system (not shown) that may be configured to receive the curvature rate output signal 1822 and actuate a steering system (not shown) associated with the autonomous vehicle based on the curvature rate output signal 1822 received from the path controller 1800.
[00172] FIG. 19A illustrates a flowchart of a method 1900 by which a curvature rate output signal may be used to control an autonomous vehicle along a desired path, according to one embodiment of the present disclosure. The method 1900 may begin with a step 1910 in which input signals may be received at the path controller such as, a normal error signal, a heading signal, and a curvature signal, as well as other input signals as previously discussed.
[00173] Once the input signals are received, the method 1900 may proceed to a step 1920 in which a curvature rate output signal may be calculated based on the input signals received at the path controller. The curvature rate output signal may be configured to guide the autonomous vehicle along the desired path.
[00174] Once the curvature rate output signal has been calculated, the method 900 may proceed to a step 1930 in which the curvature rate output signal may be communicated to a steering control system that may be configured to receive the curvature rate output signal and actuate a steering system associated with the autonomous vehicle based on the curvature rate output signal received from the path controller, and the method 1900 may end.
[00175] FIG. 19B illustrates a flowchart of a method 1950 by which a path controller may be linearized and optimized, according to embodiments of the present disclosure. The method 1950 may begin with a step 1960 in which the normal error dynamics may be linearized in relation to the desired path by integrating one or more derivatives of the normal error signal received at the path controller, as previously discussed. [00176] Once the normal error dynamics have been linearized, the method 1950 may proceed to a step 1970 in which a linear quadratic regulator process may be utilized to select at least one gain value to stabilize the curvature rate output signal.
[00177] Once the at least one gain value has been selected via the linear quadratic regulator process, the method 1950 may proceed to a step 1980 in which the selected at least one gain value may be applied to feedback relating to the normal error signal to stabilize the curvature rate output signal, and the method 1950 may end.
[00178] Any methods disclosed herein comprise one or more steps or actions for performing the described method. The method steps and/or actions may be interchanged with one another. In other words, unless a specific order of steps or actions is required for proper operation of the embodiment, the order and/or use of specific steps and/or actions may be modified.
[00179] The word "exemplary" is used herein to mean "serving as an example, instance, or illustration." Any embodiment described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments. While the various aspects of the embodiments are presented in drawings, the drawings are not necessarily drawn to scale unless specifically indicated.
[00180] Reference throughout this specification to "an embodiment" or "the embodiment" means that a particular feature, structure or characteristic described in connection with that embodiment is included in at least one embodiment. Thus, the quoted phrases, or variations thereof, as recited throughout this specification are not necessarily all referring to the same embodiment.
[00181] Similarly, it will be appreciated that in the above description of embodiments, various features are sometimes grouped together in a single embodiment, figure, or description for the purpose of streamlining the disclosure. This method of disclosure, however, is not to be interpreted as reflecting an intention that any claim in this or any application claiming priority to this application require more features than those expressly recited in that claim. Rather, as the following claims reflect, inventive aspects lie in a combination of fewer than all features of any single foregoing disclosed embodiment. Thus, the claims following this Detailed Description are hereby expressly incorporated into this Detailed Description, with each claim standing on its own as a separate embodiment. This disclosure includes all permutations of the independent claims with their dependent claims. [00182] Recitation in the claims of the term "first" with respect to a feature or element does not necessarily imply the existence of a second or additional such feature or element. Only elements recited in means-plus-function format are intended to be construed in accordance with 35 U.S.C. §112 Para. 6. It will be apparent to those having skill in the art that changes may be made to the details of the above-described embodiments without departing from the underlying principles of the disclosure.
[00183] The phrases "connected to," "coupled to," and "in communication with" refer to any form of interaction between two or more entities, including mechanical, electrical, magnetic, electromagnetic, fluid, and thermal interaction. Two components may be functionally coupled to each other even though they are not in direct contact with each other. The term "abutting" refers to items that are in direct physical contact with each other, although the items may not necessarily be attached together. The phrase "fluid communication" refers to two features that are connected such that a fluid within one feature is able to pass into the other feature.
[00184] While specific embodiments and applications of the present disclosure have been illustrated and described, it is to be understood that the disclosure is not limited to the precise configuration and components disclosed herein. Various modifications, changes, and variations which will be apparent to those skilled in the art may be made in the arrangement, operation, and details of the methods and systems of the present disclosure herein without departing from the spirit and scope of the disclosure.

Claims

CLAIMS What is claimed is:
1. A drivable path plan system for an autonomous vehicle, the drivable path plan system comprising:
an original path plan module configured to receive original path plan data indicative of an original path plan for an autonomous vehicle, the original path plan comprising:
a first path element comprising a first circular arc having a first circular arc curvature; and
a second path element tangentially connected to the first path element at a transition connection point;
a drivable path plan module configured to calculate a drivable path plan for the autonomous vehicle between the first path element a nd the second path element comprising a clothoid spline, the drivable path plan module comprising:
a connection point identification module configured to identify an initial connection point, an initial heading, and an initia l curvature along the first path element, and a final connection point, a final heading, and a final curvature along the second path element; and
a clothoid spline calculation module configured to calculate the clothoid spline between the initial connection point on the first path element and the final connection point on the second path element, the clothoid spline comprising:
a first clothoid segment tangentially connected to the first path element at the initial connection point, the first clothoid segment having a first clothoid segment initial curvature and a first clothoid segment final curvature, wherein the first clothoid segment initial curvature is equal to the first circular arc curvature of the first path element at the initial connection point;
a second clothoid segment tangentially connected to the first clothoid segment at a second connection point, the second clothoid segment having a second clothoid segment initial curvature and a second clothoid segment final curvature, wherein the second clothoid segment initial curvature is equal to the first clothoid segment final curvature at the second connection point; and
a third clothoid segment tangentially connected to the second clothoid segment at a third connection point, the third clothoid segment having a third clothoid segment initial curvature and a third clothoid segment final curvature, wherein the third clothoid segment initial curvature is equal to the second clothoid segment final curvature at the third connection point, and wherein the third clothoid segment is tangentially connected to the second path element at the final connection point, wherein the third clothoid segment final curvature is equal to a second path element curvature at the final connection point.
2. The drivable path plan system of claim 1, wherein the second path element comprises a second circular arc having a second circular arc curvature.
3. The drivable path plan system of claim 1, wherein the second path element comprises a straight line.
4. The drivable path plan system of claim 1, wherein the clothoid spline is selected to minimize a lateral acceleration experienced by the autonomous vehicle as the autonomous vehicle executes the drivable path plan between the first path element and the second path element.
5. The drivable path plan system of claim 1, wherein the clothoid spline is selected to minimize an off-path error of the drivable path plan with respect to the original path plan.
6. The drivable path plan system of claim 5, wherein a magnitude of the clothoid spline corresponds to a speed and a constant maximum curvature rate of the autonomous vehicle.
7. The drivable path plan system of claim 6, wherein the autonomous vehicle comprises a rate-limited servo steering system having a maximum turning rate.
8. A method of calculating a drivable path plan for an autonomous vehicle, the method comprising:
at a processor configured to calculate a drivable path plan for an autonomous vehicle: receiving original path plan data indicative of an original path plan for an autonomous vehicle, the original path plan comprising:
a first path element comprising a first circular arc having a first circular arc curvature; and
a second path element tangentially connected to the first path element at a transition connection point;
identifying an initial connection point, an initial heading, and an initial curvature along the first path element, and a final connection point, a final heading, and a final curvature along the second path element; and calculating a drivable path plan for the autonomous vehicle between the first path element and the second path element, the driva ble path plan comprising a clothoid spline, wherein the clothoid spline comprises:
a first clothoid segment tangentially connected to the first path element at the initial connection point, the first clothoid segment having a first clothoid segment initial curvature and a first clothoid segment final curvature, wherein the first clothoid segment initial curvature is equal to the first circular arc curvature of the first path element at the initial connection point;
a second clothoid segment tangentially connected to the first clothoid segment at a second connection point, the second clothoid segment having a second clothoid segment initial curvature and a second clothoid segment final curvature, wherein the second clothoid segment initial curvature is equal to the first clothoid segment final curvature at the second connection point; and
a third clothoid segment tangentially connected to the second clothoid segment at a third connection point, the third clothoid segment having a third clothoid segment initial curvature and a third clothoid segment final curvature, wherein the third clothoid segment initial curvature is equal to the second clothoid segment final curvature at the third connection point, and wherein the third clothoid segment is tangentially connected to the second path element at the final connection point, wherein the third clothoid segment final curvature is equal to a second path element curvature at the final connection point.
9. The method of claim 8, wherein the second path element comprises a second circular arc having a second circular arc curvature.
10. The method of claim 8, wherein the second path element comprises a straight line.
11. The method of claim 8, wherein the clothoid spline is selected to minimize a lateral acceleration experienced by the autonomous vehicle as the autonomous vehicle executes the drivable path plan between the first path element and the second path element.
12. The method of claim 8, wherein the clothoid spline is selected to minimize an off-path error of the drivable path plan with respect to the original path plan.
13. The method of claim 12, wherein a magnitude of the clothoid spline corresponds to a speed and a constant maximum curvature rate of the autonomous vehicle.
14. The method of claim 13, wherein the autonomous vehicle comprises a rate-limited servo steering system having a maximum turning rate.
15. A computer program product for calculating a drivable path plan for an autonomous vehicle, the computer program product comprising:
a nontransitory computer readable medium; and
computer program code, encoded on the nontransitory computer readable medium, configured to cause at least one processor to perform the steps of:
receiving original path plan data indicative of an original path plan for an autonomous vehicle, the original path plan comprising:
a first path element comprising a first circular arc having a first circular arc curvature; and
a second path element tangentially connected to the first path element at a transition connection point;
identifying an initial connection point, an initial heading, and an initial curvature along the first path element, and a final connection point, a final heading, and a final curvature along the second path element; and
calculating a drivable path plan for the autonomous vehicle between the first path element and the second path element, the drivable path plan comprising a clothoid spline, wherein the clothoid spline comprises:
a first clothoid segment tangentially connected to the first path element at the initial connection point, the first clothoid segment having a first clothoid segment initial curvature and a first clothoid segment final curvature, wherein the first clothoid segment initial curvature is equal to the first circular arc curvature of the first path element at the initial connection point;
a second clothoid segment tangentially connected to the first clothoid segment at a second connection point, the second clothoid segment having a second clothoid segment initial curvature and a second clothoid segment final curvature, wherein the second clothoid segment initial curvature is equal to the first clothoid segment final curvature at the second connection point; and
a third clothoid segment tangentially connected to the second clothoid segment at a third connection point, the third clothoid segment having a third clothoid segment initial curvature and a third clothoid segment final curvature, wherein the third clothoid segment initial curvature is equal to the second clothoid segment final curvature at the third connection point, and wherein the third clothoid segment is tangentially connected to the second path element at the final connection point, wherein the third clothoid segment final curvature is equal to a second path element curvature at the final connection point.
16. The computer program product of claim 15, wherein the second path element comprises a second circular arc having a second circular arc curvature.
17. The computer program product of claim 15, wherein the second path element comprises a straight line.
18. The computer program product of claim 15, wherein the clothoid spline is selected to minimize a lateral acceleration experienced by the autonomous vehicle as the autonomous vehicle executes the drivable path plan between the first path element and the second path element.
19. The computer program product of claim 15, wherein the clothoid spline is selected to minimize an off-path error of the drivable path plan with respect to the original path plan.
20. The computer program product of claim 19, wherein a magnitude of the clothoid spline corresponds to a speed and a constant maximum curvature rate of the autonomous vehicle.
21. A path controller configured to guide an autonomous vehicle along a desired path, the path controller comprising:
an input module configured to receive input signals at the path controller comprising: a normal error signal associated with the autonomous vehicle, the normal error signal indicating an off-path deviation of the autonomous vehicle relative to a desired path;
a heading signal associated with the autonomous vehicle, the heading signal indicating a current heading angle of the autonomous vehicle; and
a curvature signal associated with the autonomous vehicle, the curvature signal indicating a curvature associated with a current turn radius of the autonomous vehicle; a curvature rate module configured to calculate a curvature rate output signal based on the input signals received at the path controller, the curvature rate output signal configured to guide the autonomous vehicle along the desired path; and
a communication module configured to communicate the curvature rate output signal to a steering control system that is configured to receive the curvature rate output signal and actuate a steering system associated with the autonomous vehicle based on the curvature rate output signal received from the path controller.
22. The path controller of claim 21, wherein the steering system is rate-limited and has a finite steering rate.
23. The path controller of claim 22, wherein the autonomous vehicle includes a minimum right turn radius and a minimum left turn radius.
24. The path controller of claim 21, wherein the input module is further configured to receive input signals at the path controller comprising at least one of:
a vehicle position signal;
a vehicle speed signal;
a curvature state signal;
a vehicle state vector signal; and
a desired error signal, wherein the desired error signal indicates a desired off-path deviation of the autonomous vehicle relative to the desired path.
25. The path controller of claim 21, wherein the curvature rate module further comprises a linearization module configured to linearize normal error dynamics in relation to the desired path by integrating one or more derivatives of the normal error signal received at the path controller.
26. The path controller of claim 25, wherein the desired path comprises at least one of a straight line, an arc, and a clothoid segment.
27. The path controller of claim 25, wherein the curvature rate module further comprises a gain module configured to apply at least one gain value to feedback relating to the normal error signal to stabilize the curvature rate output signal, wherein the at least one gain value is selected using a linear quadratic regulator process
28. A method of controlling an autonomous vehicle comprising:
at a path controller configured to control an autonomous vehicle with a curvature rate output signal in order to guide the autonomous vehicle along a desired path:
receiving input signals at the path controller comprising: a normal error signal associated with the autonomous vehicle, the normal error signal indicating an off-path deviation of the autonomous vehicle relative to the desired path;
a heading signal associated with the autonomous vehicle, the heading signal indicating a current heading angle of the autonomous vehicle; and
a curvature signal associated with the autonomous vehicle, the curvature signal indicating a curvature associated with a current turn radius of the autonomous vehicle;
calculating a curvature rate output signal based on the input signals received at the path controller, the curvature rate output signal configured to guide the autonomous vehicle along the desired path; and
communicating the curvature rate output signal to a steering control system that is configured to receive the curvature rate output signal and actuate a steering system associated with the autonomous vehicle based on the curvature rate output signal received from the path controller.
29. The method of claim 28, wherein the steering system is rate-limited and has a finite steering rate.
30. The method of claim 29, wherein the autonomous vehicle includes a minimum right turn radius and a minimum left turn radius.
31. The method of claim 29, wherein receiving input signals at the path controller comprises receiving at least one of:
a vehicle position signal;
a vehicle speed signal;
a curvature state signal;
a vehicle state vector signal; and
a desired error signal, wherein the desired error signal indicates a desired off-path deviation of the autonomous vehicle relative to the desired path.
32. The method of claim 28, wherein calculating the curvature rate output signal based on the input signals received at the path controller further comprises linearizing normal error dynamics in relation to the desired path by integrating one or more derivatives of the normal error signal received at the path controller.
33. The method of claim 32, wherein the desired path comprises at least one of a straight line, an arc, and a clothoid segment.
34. The method of claim 32, wherein calculating the curvature rate output signal based on the input signals received at the path controller further comprises applying at least one gain value to feedback relating to the normal error signal to stabilize the curvature rate output signal, wherein the at least one gain value is selected using a linear quadratic regulator process.
35. A computer program product for controlling an autonomous vehicle comprising:
a nontransitory computer readable medium; and
computer program code, encoded on the nontransitory computer readable medium, configured to cause at least one processor to perform the steps of:
receiving input signals at a path controller comprising:
a normal error signal associated with the autonomous vehicle, the normal error signal indicating an off-path deviation of the autonomous vehicle relative to a desired path;
a heading signal associated with the autonomous vehicle, the heading signal indicating a current heading angle of the autonomous vehicle; and
a curvature signal associated with the autonomous vehicle, the curvature signal indicating a curvature associated with a current turn radius of the autonomous vehicle;
calculating a curvature rate output signal based on the input signals received at the path controller, the curvature rate output signal configured to guide the autonomous vehicle along the desired path; and
communicating the curvature rate output signal to a steering control system that is configured to receive the curvature rate output signal and actuate a steering system associated with the autonomous vehicle based on the curvature rate output signal received from the path controller.
36. The computer program product of claim 35, wherein the steering system is rate-limited and has a finite steering rate.
37. The computer program product of claim 36, wherein the autonomous vehicle includes a minimum right turn radius and a minimum left turn radius.
38. The computer program product of claim 35, wherein receiving input signals at the path controller comprises receiving at least one of:
a vehicle position signal;
a vehicle speed signal;
a curvature state signal; a vehicle state vector signal; and
a desired error signal, wherein the desired error signal indicates a desired off-path deviation of the autonomous vehicle relative to the desired path.
39. The computer program product of claim 35, wherein calculating the curvature rate output signal based on the input signals received at the path controller further comprises: linearizing normal error dynamics in relation to the desired path by integrating one or more derivatives of the normal error signal received at the path controller; and
applying at least one gain value to feedback relating to the normal error signal to stabilize the curvature rate output signal, wherein the at least one gain value is selected using a linear quadratic regulator process.
40. The computer program product of claim 39, wherein the desired path comprises at least one of a straight line, an arc, and a clothoid segment.
PCT/US2016/029256 2015-04-24 2016-04-25 System, apparatus, and method for controlling a vehicle WO2016172729A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
BR112017022955-2A BR112017022955B1 (en) 2015-04-24 2016-04-25 Computer-readable non-transient system, method and means for calculating a drivable trajectory plan for an autonomous vehicle and computer-readable non-transient system, method and means for controlling an autonomous vehicle
AU2016253152A AU2016253152B2 (en) 2015-04-24 2016-04-25 System, apparatus, and method for controlling a vehicle

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201562152203P 2015-04-24 2015-04-24
US201562152218P 2015-04-24 2015-04-24
US62/152,203 2015-04-24
US62/152,218 2015-04-24

Publications (1)

Publication Number Publication Date
WO2016172729A1 true WO2016172729A1 (en) 2016-10-27

Family

ID=57144314

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2016/029256 WO2016172729A1 (en) 2015-04-24 2016-04-25 System, apparatus, and method for controlling a vehicle

Country Status (3)

Country Link
AU (1) AU2016253152B2 (en)
BR (1) BR112017022955B1 (en)
WO (1) WO2016172729A1 (en)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109407658A (en) * 2017-08-18 2019-03-01 厦门雅迅网络股份有限公司 The wheelpath planing method and computer readable storage medium of unmanned vehicle
CN109959383A (en) * 2017-12-25 2019-07-02 大连楼兰科技股份有限公司 A kind of automatic parking paths planning method
CN110031878A (en) * 2017-11-30 2019-07-19 小松美国公司 Vehicle guide display and method for path navigation
CN110348115A (en) * 2019-07-09 2019-10-18 顺丰科技有限公司 A kind of LQR control method, device, storage medium and the controller of fork truck
CN110462542A (en) * 2017-03-29 2019-11-15 三菱电机株式会社 The system and method for controlling the movement of the vehicles
CN110968082A (en) * 2018-09-28 2020-04-07 广州汽车集团股份有限公司 Method and device for tracking path of automatic driving vehicle
CN110968091A (en) * 2018-09-28 2020-04-07 通用汽车环球科技运作有限责任公司 System and method for automatically controlling a vehicle
CN111882281A (en) * 2020-08-03 2020-11-03 国网江苏省电力有限公司苏州供电分公司 Lightning prediction-based active dangerous goods transportation lightning protection system and method
GB2584587A (en) * 2018-09-20 2020-12-16 Jaguar Land Rover Ltd Control system for a vehicle
CN112947555A (en) * 2021-02-04 2021-06-11 中国人民解放军国防科技大学 Rapid track planning method and device for multi-machine cooperative attack and computer equipment
CN113276833A (en) * 2021-05-11 2021-08-20 上汽通用五菱汽车股份有限公司 Lateral motion control method for vehicle, control terminal, and storage medium
CN114001739A (en) * 2021-10-11 2022-02-01 广州小鹏自动驾驶科技有限公司 Path planning method and device, vehicle and storage medium
US20220192092A1 (en) * 2020-12-18 2022-06-23 Deere & Company Position detectors for steering systems of agricultural header transport systems

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5375059A (en) * 1990-02-05 1994-12-20 Caterpillar Inc. Vehicle position determination system and method
US5648901A (en) * 1990-02-05 1997-07-15 Caterpillar Inc. System and method for generating paths in an autonomous vehicle
WO2004031691A1 (en) * 2002-10-02 2004-04-15 Hrl Laboratories, Llc Estimation of vehicle forward path
US20120185113A1 (en) * 2009-07-22 2012-07-19 Christian Pampus Device for maneuvering a vehicle using maneuvering moves using at least one trajectory

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5375059A (en) * 1990-02-05 1994-12-20 Caterpillar Inc. Vehicle position determination system and method
US5648901A (en) * 1990-02-05 1997-07-15 Caterpillar Inc. System and method for generating paths in an autonomous vehicle
WO2004031691A1 (en) * 2002-10-02 2004-04-15 Hrl Laboratories, Llc Estimation of vehicle forward path
US20120185113A1 (en) * 2009-07-22 2012-07-19 Christian Pampus Device for maneuvering a vehicle using maneuvering moves using at least one trajectory

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110462542A (en) * 2017-03-29 2019-11-15 三菱电机株式会社 The system and method for controlling the movement of the vehicles
CN109407658A (en) * 2017-08-18 2019-03-01 厦门雅迅网络股份有限公司 The wheelpath planing method and computer readable storage medium of unmanned vehicle
CN110031878A (en) * 2017-11-30 2019-07-19 小松美国公司 Vehicle guide display and method for path navigation
CN109959383A (en) * 2017-12-25 2019-07-02 大连楼兰科技股份有限公司 A kind of automatic parking paths planning method
GB2584587A (en) * 2018-09-20 2020-12-16 Jaguar Land Rover Ltd Control system for a vehicle
GB2584587B (en) * 2018-09-20 2023-01-04 Jaguar Land Rover Ltd Systems for Control of Understeer in an Autonomous Vehicle
CN110968091A (en) * 2018-09-28 2020-04-07 通用汽车环球科技运作有限责任公司 System and method for automatically controlling a vehicle
CN110968082B (en) * 2018-09-28 2023-08-08 广州汽车集团股份有限公司 Automatic driving vehicle path tracking method and device
CN110968082A (en) * 2018-09-28 2020-04-07 广州汽车集团股份有限公司 Method and device for tracking path of automatic driving vehicle
CN110348115A (en) * 2019-07-09 2019-10-18 顺丰科技有限公司 A kind of LQR control method, device, storage medium and the controller of fork truck
CN110348115B (en) * 2019-07-09 2023-11-28 顺丰科技有限公司 LQR control method and device for forklift, storage medium and controller
CN111882281A (en) * 2020-08-03 2020-11-03 国网江苏省电力有限公司苏州供电分公司 Lightning prediction-based active dangerous goods transportation lightning protection system and method
US20220192092A1 (en) * 2020-12-18 2022-06-23 Deere & Company Position detectors for steering systems of agricultural header transport systems
CN112947555A (en) * 2021-02-04 2021-06-11 中国人民解放军国防科技大学 Rapid track planning method and device for multi-machine cooperative attack and computer equipment
CN112947555B (en) * 2021-02-04 2022-06-14 中国人民解放军国防科技大学 Rapid flight path planning method and device for multi-machine cooperative strike and computer equipment
CN113276833B (en) * 2021-05-11 2022-07-29 上汽通用五菱汽车股份有限公司 Lateral motion control method for vehicle, control terminal, and storage medium
CN113276833A (en) * 2021-05-11 2021-08-20 上汽通用五菱汽车股份有限公司 Lateral motion control method for vehicle, control terminal, and storage medium
CN114001739A (en) * 2021-10-11 2022-02-01 广州小鹏自动驾驶科技有限公司 Path planning method and device, vehicle and storage medium
CN114001739B (en) * 2021-10-11 2024-04-16 广州小鹏自动驾驶科技有限公司 Path planning method, device, vehicle and storage medium

Also Published As

Publication number Publication date
AU2016253152A1 (en) 2017-11-16
BR112017022955A2 (en) 2018-07-17
BR112017022955B1 (en) 2022-06-21
AU2016253152B2 (en) 2018-08-09

Similar Documents

Publication Publication Date Title
US11531345B2 (en) Apparatus and method for controlling a vehicle
US10795369B2 (en) System and method for controlling a vehicle
WO2016172729A1 (en) System, apparatus, and method for controlling a vehicle
CN111610780B (en) Automatic driving vehicle path tracking control method and device
CN109416540B (en) System and method for controlling vehicle
EP2421742B1 (en) Steering control device of autonomous vehicle, autonomous vehicle having the same and steering control method of autonomous vehicle
WO2015187467A1 (en) Implement guidance
Yang et al. An optimal goal point determination algorithm for automatic navigation of agricultural machinery: Improving the tracking accuracy of the Pure Pursuit algorithm
EP3254547A1 (en) System and method for vehicle steering calibration
Wang et al. Adaptive turning control for an agricultural robot tractor
JP7072496B2 (en) Control device for self-driving work vehicles
US20210041882A1 (en) Path Follower with Limited Steering Rate Controller
CN113311845B (en) Pure tracking control error compensation method and device based on path curvature
Bodur et al. Double look-ahead reference point control for autonomous agricultural vehicles
KR102584112B1 (en) Control method and apparatus of autonomous agricultural working machine
JP7316969B2 (en) agricultural vehicle
TWI770965B (en) Guidance control method of unmanned self-propelled vehicle
CN116080754B (en) Transverse control method for autonomous driving of vehicle
EP4347356A1 (en) An adaptive path following algorithm for heavy-duty vehicles
CN105563449B (en) A kind of mobile robot road follower method
Raikwar Robot Navigation and Model Development
CN115437362A (en) Guidance control method of unmanned self-propelled vehicle
Wang Hao et al. Adaptive turning control for an agricultural robot tractor.
Junyusen Development of guidance system of an agricultural trailer for approaching to target position
Stasewitsch et al. MODEL PREDICTIVE PATH TRACKING CONTROL WITH OFF-AXLE REFERENCE POINT FOR CAR-LIKE ROBOTS

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16784108

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112017022955

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 2016253152

Country of ref document: AU

Date of ref document: 20160425

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 16784108

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 112017022955

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20171024