Movatterモバイル変換


[0]ホーム

URL:


US10139826B2 - Apparatus and method for controlling a vehicle - Google Patents

Apparatus and method for controlling a vehicle
Download PDF

Info

Publication number
US10139826B2
US10139826B2US15/138,069US201615138069AUS10139826B2US 10139826 B2US10139826 B2US 10139826B2US 201615138069 AUS201615138069 AUS 201615138069AUS 10139826 B2US10139826 B2US 10139826B2
Authority
US
United States
Prior art keywords
autonomous vehicle
curvature
path
signal
output signal
Prior art date
Legal status (The legal status 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 status listed.)
Active - Reinstated
Application number
US15/138,069
Other versions
US20160313737A1 (en
Inventor
Matthew D. Berkemeier
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Autonomous Solutions Inc
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 IncfiledCriticalAutonomous Solutions Inc
Priority to US15/138,069priorityCriticalpatent/US10139826B2/en
Publication of US20160313737A1publicationCriticalpatent/US20160313737A1/en
Assigned to Autonomous Solutions Inc.reassignmentAutonomous Solutions Inc.ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS).Assignors: BERKEMEIER, MATTHEW D
Priority to US16/148,762prioritypatent/US10732637B2/en
Application grantedgrantedCritical
Publication of US10139826B2publicationCriticalpatent/US10139826B2/en
Priority to US16/938,710prioritypatent/US11531345B2/en
Active - Reinstatedlegal-statusCriticalCurrent
Anticipated expirationlegal-statusCritical

Links

Images

Classifications

Definitions

Landscapes

Abstract

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.

Description

CROSS-REFERENCE TO RELATED APPLICATIONS
The present application claims the benefit of U.S. Provisional Patent Application Ser. No. 62/152,218, entitled PATH CONTROLLER ALGORITHMS, which was filed on Apr. 24, 2015 and is incorporated by reference herein as though set forth in its entirety.
TECHNICAL FIELD
The present disclosure relates to an apparatus and methods for controlling autonomous vehicles. More specifically, the present disclosure relates to methods and controllers configured to control autonomous vehicles to follow paths that include arcs, straight lines, and clothoid segments.
BACKGROUND
Vehicles, such as automobiles, off-road vehicles, agricultural tractors, or self-propelled agricultural implements, 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.
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 for autonomous vehicles, 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 a steering system that is rate-limited and has a finite steering rate due to a servo steering system that has a maximum turning rate. Autonomous vehicles also typically include a minimum right turn radius and a minimum left turn radius.
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 (x0, y0, q0, κ, σ, s).
Current controllers are not suited to track general segments well, given their current design. These 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 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 path 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 controllers may not achieve optimal transitions between path segments.
SUMMARY
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 present disclosure may 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.
In some 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.
In other 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.
In yet other 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.
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.
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
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:
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 function;
FIG. 6 is an illustration of a reference frame with notations that define normal error path tracking for an Ackerman style vehicle;
FIG. 7 illustrates a control loop flow diagram, according to one embodiment of the present disclosure;
FIG. 8 illustrates a block diagram of a path controller, according to one embodiment of the present disclosure;
FIG. 9A illustrates a method of controlling a vehicle with a curvature rate output signal, according to one embodiment of the present disclosure; and
FIG. 9B illustrates a method of optimizing a path controller, according to embodiments of the present disclosure.
DETAILED DESCRIPTION
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 inFIGS. 1 through 9B, 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.
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.
FIGS. 1-3 illustrate various graphical top views of anautonomous vehicle110,210,310 executing different path plans made of simple circular arcs and straight lines, known as Dubins paths. In particular,FIG. 1 shows theautonomous vehicle110 executing a “right turn-straight line-left turn” Dubins path;FIG. 2 shows theautonomous vehicle210 executing a “right turn-straight line-right turn” Dubins path; andFIG. 3 shows theautonomous vehicle310 executing a “left turn-straight line-left turn” Dubins path.
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.
FIG. 1 illustrates anautonomous vehicle110 executing anRSL Dubins path100, corresponding to a first arc140 (right turn) that lies on afirst circle120, followed by astraight line segment160, followed by a second arc175 (left turn) that lies on asecond circle122. Theautonomous vehicle110 may start at an initial point “A”130 along thefirst arc140 with aninitial heading135. At a firsttransition connection point150, theautonomous vehicle110 may transition to thestraight line segment160. At a secondtransition connection point170, theautonomous vehicle110 may transition to thesecond arc175 and follow this arc until it reaches its final destination at a final point “B”180 along thesecond arc175 where it will have afinal heading185.
FIG. 2 illustrates anautonomous vehicle210 executing anRSR Dubins path200, corresponding to a first arc240 (right turn) that lies on afirst circle220, followed by astraight line segment260, followed by a second arc275 (right turn) that lies on asecond circle222. Theautonomous vehicle210 may start at an initial point “A”230 along thefirst arc240 with aninitial heading235. At a firsttransition connection point250, theautonomous vehicle210 may transition to thestraight line segment260. At a secondtransition connection point270, theautonomous vehicle210 may transition to thesecond arc275 and follow this arc until it reaches its final destination at a final point “B”280 along thesecond arc275 where it will have afinal heading285.
FIG. 3 illustrates anautonomous vehicle310 executing anLRL Dubins path300, corresponding to a first arc340 (left turn) that lies on afirst circle320, followed by a second arc360 (right turn) that lies on asecond circle322, followed by a third arc375 (left turn) that lies on athird circle324. Theautonomous vehicle310 may start at an initial point “A”330 along thefirst arc340 with aninitial heading335. At a firsttransition connection point350, theautonomous vehicle310 may transition to thesecond arc360 and follow this arc until it reaches the secondtransition connection point370. Theautonomous vehicle310 may then transition to thethird arc375 and follow this arc until it reaches its final destination at a final point “B”380 along thethird arc375 where it will have afinal heading385.
FIG. 4 is a schematic diagram of an example communication and control system400 that may be utilized in conjunction with the apparatus and methods of the present disclosure, in at least some embodiments. The communication and control system400 may include avehicle control system440 which may be mounted on theautonomous vehicle410. Theautonomous vehicle410 may also include aspatial locating device442, which may be mounted to theautonomous vehicle410 and configured to determine a position of theautonomous vehicle410 as well as a heading and a speed of theautonomous vehicle410. Thespatial locating device442 may include any suitable system configured to determine the position and/or other important characteristics of theautonomous vehicle410, such as a global positioning system (GPS), a global navigation satellite system (GNSS), or the like. In certain embodiments, thespatial locating device442 may be configured to determine the position and/or other characteristics of theautonomous vehicle410 relative to a fixed point within a field (e.g., via a fixed radio transceiver). Accordingly, thespatial locating device442 may be configured to determine the position of theautonomous vehicle410 relative to a fixed global coordinate system using GPS, GNSS, a fixed local coordinate system, or any combination thereof.
Theautonomous vehicle410 may include asteering control system444 configured to control a direction of movement of theautonomous vehicle410, and aspeed control system446 configured to control a speed of theautonomous vehicle410. In some embodiments, theautonomous vehicle410 may include an implementcontrol system448 configured to control operation of an implement towed by theautonomous vehicle410 or integrated within theautonomous vehicle410. Thecontrol system440 may further include apath controller450 communicatively coupled to thespatial locating device442, thesteering control system444, thespeed control system446, and the implementcontrol system448.
Thepath controller450 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.
Thepath controller450 may be an electronic controller with electrical circuitry configured to process data from thespatial locating device442, among other components of theautonomous vehicle410. Thepath controller450 may include a processor, such as the illustratedmicroprocessor454, and amemory device456. Thepath controller450 may also include one or more storage devices and/or other suitable components (not shown). Theprocessor454 may be used to execute software, such as software for calculating drivable path plans. Moreover, theprocessor454 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, theprocessor454 may include one or more reduced instruction set (RISC) processors.
Thememory device456 may include a volatile memory, such as random access memory (RAM), and/or a nonvolatile memory, such as ROM. Thememory device456 may store a variety of information and may be used for various purposes. For example, thememory device456 may store processor-executable instructions (e.g., firmware or software) for theprocessor454 to execute, such as instructions for calculating drivable path plans, and/or controlling theautonomous vehicle410. Thememory device456 may include flash memory, one or more hard drives, or any other suitable optical, magnetic, or solid-state storage medium, or a combination thereof. Thememory device456 may store data such as field maps, maps of desired paths, vehicle characteristics, software or firmware instructions, and/or any other suitable data.
Thesteering control system444 may include a curvaturerate control system460, adifferential braking system462, and atorque vectoring system464 that may be used to steer theautonomous vehicle410. In at least one embodiment, the curvaturerate control system460 may control a direction of anautonomous vehicle410 by actuating a servo controlled steering system associated with theautonomous vehicle410 with a curvature rate signal, such as an Ackerman styleautonomous vehicle410. In other embodiments, the curvaturerate control system460 may automatically rotate one or more wheels or tracks of theautonomous vehicle410 via hydraulic actuators to steer theautonomous vehicle410. By way of example, the curvaturerate control system460 may rotate front wheels/tracks, rear wheels/tracks, and/or intermediate wheels/tracks of theautonomous vehicle410, either individually or in groups. Thedifferential braking system462 may independently vary the braking force on each lateral side of theautonomous vehicle410 to direct theautonomous vehicle410. Similarly, thetorque vectoring system464 may differentially apply torque from the engine to the wheels and/or tracks on each lateral side of theautonomous vehicle410. While the illustratedsteering control system444 includes the curvaturerate control system460, thedifferential braking system462, and thetorque vectoring system464, it should be appreciated that alternative embodiments may include one or more of these systems, in any suitable combination. Further embodiments may include asteering control system444 having other and/or additional systems to facilitate turning theautonomous vehicle410 such as an articulated steering system, a differential drive system, and the like.
In the illustrated embodiment, thespeed control system446 may include an engineoutput control system466, atransmission control system468, and abraking control system470. The engineoutput control system466 may be configured to vary the output of the engine to control the speed of theautonomous vehicle410. For example, the engineoutput control system466 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, thetransmission control system468 may adjust gear selection within a transmission to control the speed of theautonomous vehicle410. Furthermore, thebraking control system470 may adjust braking force to control the speed of theautonomous vehicle410. While the illustratedspeed control system446 includes the engineoutput control system466, thetransmission control system468, and thebraking control system470, it should be appreciated that alternative embodiments may include one or more of these systems, in any suitable combination. Further embodiments may include aspeed control system446 having other and/or additional systems to facilitate adjusting the speed of theautonomous vehicle410.
For embodiments that may include an implement, the implementcontrol system448 may be configured to control various parameters of the implement towed by and/or integrated within theautonomous vehicle410. For example, in certain embodiments, the implementcontrol system448 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 theautonomous vehicle410. Furthermore, the implementcontrol system448 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 an agricultural implement, to adjust a position of a header of the agricultural implement (e.g., a harvester, etc.), among other operations.
The operator interface452 may be communicatively coupled to thepath controller450 and configured to present data from theautonomous vehicle410 via adisplay472. Display data may include: data associated with operation of theautonomous vehicle410, data associated with operation of an implement, a position of theautonomous vehicle410, a speed of theautonomous vehicle410, a desired path, a drivable path plan, a target position, a current position, etc. The operator interface452 may be configured to enable an operator to control certain functions of theautonomous vehicle410 such as starting and stopping theautonomous vehicle410, inputting a desired path, etc. In some embodiments, the operator interface452 may enable the operator to input parameters that cause thepath controller450 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 theautonomous vehicle410 remain within certain limits, that a lateral acceleration experienced by theautonomous vehicle410 remain within certain limits, etc. In addition, the operator interface452 may be configured to alert an operator if the desired path cannot be achieved (e.g., via thedisplay472, or via an audio system (not shown), etc., for example).
In certain embodiments, thecontrol system440 may include abase station474 having abase station controller476 located remotely from theautonomous vehicle410. For example, in certain embodiments, control functions of thecontrol system440 may be distributed between thepath controller450 of the autonomousvehicle control system440 and thebase station controller476. In certain embodiments, thebase station controller476 may perform a substantial portion of the control functions of thecontrol system440. For example, in certain embodiments, afirst transceiver478 positioned on theautonomous vehicle410 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 asecond transceiver480 at thebase station474. In these embodiments, thebase station controller476 may calculate drivable path plans and/or output control signals to control the curvaturerate control system444, thespeed control system446, and/or the implementcontrol system448 to direct theautonomous vehicle410 toward the desired path, for example. Thebase station controller476 may include aprocessor482 andmemory device484 having similar features and/or capabilities as theprocessor454 and thememory device456 discussed previously. Likewise, thebase station474 may include anoperator interface486 having a display488, which may have similar features and/or capabilities as the operator interface452 and thedisplay472 discussed previously.
Before further discussing further the details of the present disclosure, we will first consider the theoretical background behind clothoid segments.
From a clothoid (or a Cornu Spiral, or a Euler Spiral) a planar parametric curve may be given by:
[x(τ)y(τ)]=πB[C(τ)S(τ)],
where:
C(τ)=0τcosπ2u2du,S(τ)=0τcosπ2u2du,
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:
B=υcπ.
The tangent to a clothoid has the angle:
πτ22,
while the curvature is:
τB.
FIG. 5 is an example graphical illustration of a clothoid function having a magnitude of B=5.5.
FIG. 6 illustrates a vehicle model andreference frame600 with notations that generally define normal error path tracking for anAckerman style vehicle605 having arear axle620 and afront axle610, as theAckerman style vehicle605 tracks off-path with respect to a desiredcircular arc path630 having acenter640. The vehicle model shown inFIG. 6 may be simplified as a kinematic bicycle model, which gives:
x.=υcosθ,y.=υsinθ,θ.=υLtanϕ=υκ,andκ.=u,
where (x, y) is the location of the midpoint of the rear axle, θ is the heading of the vehicle, v is the speed of the rear axle, L is the wheelbase, and ϕ is the angle of the steered front wheels. 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: κϵ[−κm, κm] and uϵ[−um, um], and the states may be expressed as [x y θ κ]T. In this embodiment, the curvature rate input may be defined as u. For some vehicles, the curvature rate u may be closely related to the steering rate of the vehicle. However, a slightly nonlinear relationship may exist between the curvature rate u 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:
Ltanθ,
the last equation is often written in the alternate form, where the curvature, k, is the reciprocal of the path radius. The curvature rate u may be constrained, due to the use of a steering actuator, in order to satisfy:
uϵ[−c,c]
for some rate limit c>0.
Since the vehicle travels on circular arcs, it may also be convenient to use polar coordinates:
ρ=sin α
ρ=cos α.
In addition to the equations above, we may also use:
β=θ−α,
to simplify these equations, resulting in:
ρ.=υcosβ,β.=υ(κ-sinβρ),α.=υsinβρ,andκ.=u.
A nice feature of this new set of coordinates is that since the control κ is generally only a function of ρ 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, β=π/2 means the vehicle is parallel to the circular path and is pointed in the counter-clockwise direction. Similarly, β=−π/2 means the vehicle is parallel to the path and is pointed in the clockwise direction.
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 (x1, y1), which may be anywhere on the line, as well as a vector (a,b), where a2+b2=1 and assume we are traveling forward. If the vehicle has position (x, y) and heading θ, then the normal error e and its first three derivatives can be derived as:
e=b(x−x1)−a(y−y1)
ė=v(bcos θ−asin θ)
ë=−v2κ(bsin θ+acos θ)
Figure US10139826-20181127-P00001
=−v2u(bsin θ+acos θ)−v3κ2(bcos θ−asin θ)
Following the method of output linearization (the output in this case is e), we may choose:
u=-q+v3κ2(bcosθ-asinθ)v2(bsinθ+acosθ),
which produces the linear system {dot over (ë)}=q.
Letting e1=e, e2=ė, e3=ë, we may write:
ddt[e1e2e3]=[010001000][e1e2e3]+[001]q.
If we assume the feedback is linear, then:
q=-[k1k2k3][e1e2e3],
and we may then use the LQR method to choose the gains k1k2k3.
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 (x0, y0), and its radius is r. Then, the normal error is given by:
e=√{square root over ((x−x0)2+(y−y0)2)}−r.  (2)
If we let:
α=atan 2(y−y0,x−x0),
then the following are the first three derivatives of e:
ė=vcos(θ−α)
ë=−v2(κ−sin(θ−α))sin(θ−α)
Figure US10139826-20181127-P00002
=−v3(κ−sin(θ−α))cos(θ−α)(u−v(κ−sin(θ−α))cos(θ−α))
Making the choice:
u=v(κ-sin(θ-α))cos(θ-α)-qv3(κ-sin(θ-α))cos(θ-α),
results in the same
Figure US10139826-20181127-P00003
=q linear dynamics as in the line segment case and we can again use the LQR method to choose the feedback gains.
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:
[cosψ-sinψsinψcosψ]πB[C(τ)S(τ)]+[x2y2],
where C(τ) and S(τ) are Fresnel integrals,
C(τ)=0τcosπ2u2uS(τ)=0τsinπ2u2u
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:
πB[C(τ)S(τ)].(3)
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:
(πB[C(τ)S(τ)]-[xy])T[cosπ2τ2sinπ2τ2]=0or(πBC(τ)-x)cosπ2τ2+(πBS(τ)-y)sinπ2τ2=0(4)
Since there isn't a closed-form solution, this has to be done numerically. The center of curvature of a clothoid is given by:
[xcyc]=πBτ[Cl(τ)Sl(τ)+1π],
where Cl(τ) and Sl(τ) are the integrals of the Fresnel integrals:
Cl(τ)=0τC(u)u=τC(τ)-1πsinπ2τ2Sl(τ)=0τS(u)u=τS(τ)+1πcosπ2τ2-1π
The normal error is then given by:
e=√{square root over ((x−xc(τ))2+(y−yc(τ))2)}−√{square root over ((πBC(τ)−xc(τ))2+(πBS(τ)yc(τ))2)}.  (5)
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).
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:
ε1=√{square root over (X1212)} and ε2=√{square root over (X2222)},
and e=ε1−ε2with the obvious associations from formula (5).
Then,
=χiχ.i+υiυ.iχi2+υi2,=χ.i2+υ.i2+χiχ¨i+υiυ¨iχi2+υi2-(χiχ.i+υiυ.i)2(χi2+υi2)3/2,and=3(χ.iχ¨i+υ.iυ¨i)+χiχ...i+υiυ...iχi2+υi2-3(χ.i2+υ.i2+χiχ¨i+υiυ¨i)(χiχ.i+υiυ.i)(χi2+υi2)3/2+3(χiχ.i+υiυ.i)3(χi2+υi2)5/2
Next, we have:
χ1=x-πBC(τ)+Bτsinπ2τ2,χ.1=vcosθ-Bτ.sinπ2τ2τ2χ¨1=-v2κsinθ+Bτ.2(2sinπ2τ2-πτ2cosπ2τ2)-Bττ¨sinπ2τ2τ3,andχ...1=-v2usinθ-v3κ2cosθ+Bτ.3(-6sinπ2τ2+3πτ2cosπ2τ2+π2τ4sinπ2τ2)-3Bττ.τ¨(-2sinπ2τ2+πτ2cosπ2τ2)-Bτ2τ...sinπ2τ2τ4.
Similarly,
υ1=y-πBS(τ)-Bτcosπ2τ2,υ.1=vsinθ+Bτ.cosπ2τ2τ2,υ¨1=v2κcosθ+-Bτ.2(2cosπ2τ2+πτ2sinπ2τ2)+Bττ¨cosπ2τ2τ3,andυ...1=v2ucosθ-v3κ2sinθ+-Bτ.3(-6cosπ2τ2-3πτ2sinπ2τ2+π2τ4cosπ2τ2)-3Bττ.τ¨(2cosπ2τ2+πτ2sinπ2τ2)+Bτ2τ...cosπ2τ2τ4
For the second term in we have:
χ2=Bsinπ2τ2τ,χ.2=Bτ.(πcosπ2τ2-sinπ2τ2τ2),χ¨2=-Bτ.2(-2sinπ2τ2+πτ2cosπ2τ2+π2τ4sinπ2τ2)+ττ¨(sinπ2τ2-πτ2cosπ2τ2)τ3,andχ...2=-Bτ.3(6sinπ2τ2-3πτ2cosπ2τ2+π3τ6cosπ2τ2)+3ττ.τ¨(-2sinπ2τ2+πτ2cosπ2τ2+π2τ4sinπ2τ2)+τ2τ...(sinπ2τ2-πτ2cosπ2τ2)τ4.
Next,
υ2=-Bcosπ2τ2τ,υ.2=Bτ.(πsinπ2τ2+cosπ2τ2τ2),υ¨2=Bτ.2(-2cosπ2τ2-πτ2sinπ2τ2+π2τ4cosπ2τ2)+ττ¨(cosπ2τ2+πτ2sinπ2τ2)τ3,andυ...2=Bτ.3(6cosπ2τ2+3πτ2sinπ2τ2-π3τ6sinπ2τ2)+3ττ.τ¨(-2cosπ2τ2-πτ2sinπ2τ2+π2τ4cosπ2τ2)+τ2τ...(cosπ2τ2+πτ2sinπ2τ2)τ4.
As mentioned earlier. The value of τ can be found numerically from equation Error! Reference source not found. Once this has been done, equation Error! Reference source not found. may be differentiated to find {dot over (τ)}:
τ.=vcos(θ-π2τ2)π(B+τ(BπS(τ)cosπ2τ2-BπC(τ)sinπ2τ2+xsinπ2τ2-ycosπ2τ2))
We can then differentiate this expression to find {umlaut over (τ)}:
τ¨=v(-sin(π2τ2-θ)(B+BπτS(τ)cosπ2τ2-BπτC(τ)sinπ2τ2+τxsinπ2τ2-τycosπ2τ2)(-vκ+πττ.)+cos(π2τ2-θ)(-vτsin(π2τ2-θ)+(-BπS(τ)cosπ2τ2+BπC(τ)sinπ2τ2-xsinπ2τ2+ycosπ2τ2)τ.+πτ2(BπC(τ)cosπ2τ2+BπS(τ)sinπ2τ2-xcosπ2τ2-ysinπ2τ2)τ.))π(B+BπτS(τ)cosπ2τ2-BπτC(τ)sinπ2τ2+τxsinπ2τ2-τycosπ2τ2)2.
We cannot immediately solve for
Figure US10139826-20181127-P00004
by differentiating the above expression for {umlaut over (τ)} because the resulting expression for
Figure US10139826-20181127-P00005
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 US10139826-20181127-P00006
, where e is given by equation Error! Reference source not found, and the other equation is the third derivative of equation Error! Reference source not found.
Thus, the equations take the form
[a11a12a21a22][uτ...]=[b1b2]witha11=-v2sinθχ1χ12+υ12+v2cosθυ1χ12+υ2,a12=-Bsinπ2τ2τ2χ1χ12+υ12+Bcosπ2τ2τ2υ1χ12+υ2+B(sinπ2τ2-πτ2cosπ2τ2)τ2χ2χ22+υ22-B(cosπ2τ2+πτ2sinπ2τ2)τ2υ2χ22+υ22,a21=v2sin(θ-π2τ2),a22=π(B+BπτS(τ)cosπ2τ2-BπτC(τ)sinπ2τ2+xτsinπ2τ2-yτcosπ2τ2),b1=q-3(χ.1χ¨1+υ.1υ¨1)χ12+υ12+3(χ.12+υ.12+χ1χ¨1+υ1υ¨1)(χ1χ.1+υ1υ.1)(χ12+υ12)3/2-3(χ1χ.1+υ1υ.1)3(χ12+υ12)5/2-χ1χ12+υ12(-v3κ2cosθ+Bτ.3(-6sinπ2τ2+3πτ2cosπ2τ2+π2τ4sinπ2τ2)-3Bττ.τ¨(-2sinπ2τ2+πτ2cosπ2τ2)τ4)-υ1χ12+υ12(-v3κ2cosθ+-Bτ.3(-6cosπ2τ2-3πτ2sinπ2τ2+π2τ4cosπ2τ2)-3Bττ.τ¨(2cosπ2τ2+πτ2sinπ2τ2)τ4)+3(χ.2χ¨2+υ.2υ¨2)χ22+υ22-3(χ.22+υ.22+χ2χ¨2+υ2υ¨2)(χ2χ.2+υ2υ.2)(χ22+υ22)3/2+3(χ2χ.2+υ2υ.2)3(χ22+υ22)5/2-χ2χ22+υ22(Bτ.3(6sinπ2τ2-3πτ2cosπ2τ2+π3τ6cosπ2τ2)+3ττ.τ¨(-2sinπ2τ2+πτ2cosπ2τ2+π2τ4sinπ2τ2)τ4)+υ2χ22+υ22(Bτ.3(6cosπ2τ2+3πτ2sinπ2τ2-π3τ6sinπ2τ2)+3ττ.τ¨(-2cosπ2τ2-πτ2sinπ2τ2+π2τ4cosπ2τ2)τ4)andb2=-v3κ2cos(θ-π2τ2)+3πv2κττ.cos(θ-π2τ2)+π(-3vτ.2(-sin(θ-π2τ2)+πτ2cos(θ-π2τ2))+πττ.3(Bπτ+BπS(τ)(3sin(π2τ2)+πτ2cos(π2τ2))-BπτC(τ)(-3cos(π2τ2)+πτ2sin(π2τ2))-3xcos(π2τ2)+πτ2xsin(π2τ2)-3ysin(π2τ2)-πτ2ycos(π2τ2))+3vττ¨sin(θ-π2τ2)+3τ.τ¨(BπC(τ)(sin(π2τ2)+πτ2cos(π2τ2))+BπS(τ)(-cos(π2τ2)+πτ2sin(π2τ2))-xsin(π2τ2)-πτ2xcos(π2τ2)+ycos(π2τ2)-πτ2ysin(π2τ2)))(6)
These choices will produce the dynamics
Figure US10139826-20181127-P00006
, as before, and, again, the LQR method can be used to choose the gains for e, ė, and ë. In an alternative embodiment, the 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.
To summarize, the above five steps for clothoids include:
    • 1. Transform the vehicle pose (x, y, θ) 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 ė={hacek over (o)}1−{hacek over (o)}2and ë={hacek over (o)}1−{hacek over (o)}2, and use the above formulas for {hacek over (o)}i, {hacek over (o)}i, as well as those for {dot over (τ)} and {umlaut over (τ)} and the value of τ from equation Error! Reference source not found. to find ė and ë.
    • 4. Using the LQR method, find the gain vector [k1k2k3] for the system in Error! Reference source not found. Using the feedback:
q=-[k1k2k3][ee.e¨]
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.
FIG. 7 illustrates a control loop flow diagram700 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 diagram700 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.
The control loop flow diagram700 may include a path controller710 (shown in dashed lines) communicatively coupled to avehicle model block720. Thepath controller710 may include anintegrator780, alinearization block790, and gainblocks771,772,773 corresponding to gain values k1k2k3. Thepath controller710 may also includeinputs730,740, and750 that receive the off-path normal error signal “e”793, as well as the first and second derivatives of the off-path normal error signal, e1=e, e2=ė, e3=ë, as can be seen inFIG. 7. Thepath controller710 may also include one or more additional input signals, generally referred to as “S”760, from other parts of the system, such as thevehicle model block720. The input signals “S”760, 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.
Thepath controller710 may produce a curvature rate output signal “u”792 which may be used by a steering control system to control a curvature rate associated with a steering system of an autonomous vehicle. The curvaturerate output signal792 may be calculated based on the input signals received at thepath controller710 to linearize normal error dynamics in relation to the desired path by integrating the normal error signal received at thepath controller710 with one or more derivatives of the normal error signal. For example, thenormal error signal793 may be integrated together with its first and second derivatives by theintegrator780 to produce an output “q”791 that may then be fed into thelinearization block790 to linearize the curvature rateoutput signal u792. 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.
As mentioned previously, the gain blocks771,772,773 with corresponding gain values k1k2k3, may be ascertained via an LQR process. In this manner, the curvature rateoutput signal u792 may be calculated based on the input signals received at thepath controller710 and at least one gain value k1k2k3may be applied to feedback relating to thenormal error signal793 to stabilize the curvaturerate output signal792, where the at least one gain value is selected using a linear quadratic regulator process.
FIG. 8 illustrates a block diagram of apath controller800 configured to guide an autonomous vehicle along a desired path, according to one embodiment of the present disclosure. Thepath controller800 may include aninput module810, acurvature rate module830, acommunication module820, and adata module840.
Theinput module810 may be configured to receive input signals at thepath controller800 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. Theinput module810 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 thedata module840 asinput data850 including, but not limited to:normal error data851, headingdata852,curvature data853,vehicle position data854,vehicle speed data855,vehicle state data856,curvature state data857, desirederror data858, along with other data such as,vehicle data880, steeringlimit data882, steeringrate limit data884, path typedata890,line data892, arc data,894,clothoid segment data896,gain data870, gain value(s)872, curvaturerate output data860, as well as other any other relevant data.
Thecurvature rate module830 may be configured to calculate a curvaturerate output signal822 based on the input signals received at thepath controller800, and the curvaturerate output signal822 may be configured to guide the autonomous vehicle along a desired path. In at least one embodiment, thecurvature rate module830 may include alinearization module832 and again module834. Thelinearization module832 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. Thegain module834 may also be configured to apply at least onegain value872 to feedback relating to the normal error signal to stabilize the curvaturerate output signal822, where the at least onegain value872 is selected using a linear quadratic regulator process, as previously discussed.
Thecommunication module820 may be configured to communicate the curvaturerate output signal822 to a steering control system (not shown) that may be configured to receive the curvaturerate output signal822 and actuate a steering system (not shown) associated with the autonomous vehicle based on the curvaturerate output signal822 received from thepath controller800.
FIG. 9A illustrates a flowchart of amethod900 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. Themethod900 may begin with astep910 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.
Once the input signals are received, themethod900 may proceed to astep920 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.
Once the curvature rate output signal has been calculated, themethod900 may proceed to astep930 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 themethod900 may end.
FIG. 9B illustrates a flowchart of amethod950 by which a path controller may be linearized and optimized, according to embodiments of the present disclosure. Themethod950 may begin with astep960 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.
Once the normal error dynamics have been linearized, themethod950 may proceed to astep970 in which a linear quadratic regulator process may be utilized to select at least one gain value to stabilize the curvature rate output signal.
Once the at least one gain value has been selected via the linear quadratic regulator process, themethod950 may proceed to astep980 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 themethod950 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. 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.
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.
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.
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.
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.
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.
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 (17)

What is claimed is:
1. An autonomous vehicle control system configured to guide an autonomous vehicle along a desired path, the autonomous vehicle control system comprising:
a processor; and
a path controller in communication with the processor, the path controller configured to:
receive input signals 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 relative to at least one fixed point within a fixed coordinate system; 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;
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, wherein at least one portion of the desired path comprises a clothoid segment having a continuously changing rate of curvature which varies linearly along the at least one portion of the desired path; and
communicate the curvature rate output signal to a steering control system that is configured to receive the curvature rate output signal and actuate at least one actuator of a steering system associated with the autonomous vehicle to control the direction of movement of the autonomous vehicle based on the curvature rate output signal received from the path controller, wherein the curvature rate output signal represents a continuously changing rate of curvature which varies linearly in order to guide the autonomous vehicle along the at least one portion of the desired path.
2. The autonomous vehicle control system ofclaim 1, wherein the steering system is rate-limited and has a finite steering rate.
3. The autonomous vehicle control system ofclaim 2, wherein the autonomous vehicle includes a minimum right turn radius and a minimum left turn radius.
4. The autonomous vehicle control system ofclaim 1, wherein the path controller is further configured to receive input signals 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.
5. The autonomous vehicle control system ofclaim 1, wherein the path controller is further 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.
6. The autonomous vehicle control system ofclaim 5, wherein the path controller is further 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.
7. A method of controlling an autonomous vehicle comprising:
at a processor associated with 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 a position and heading of the autonomous vehicle relative to at least one fixed point within a fixed coordinate system;
receiving input signals 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 relative to the at least one fixed point within the fixed coordinate system; 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, wherein at least one portion of the desired path comprises a clothoid segment having a continuously changing rate of curvature which varies linearly along the at least one portion of 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 at least one actuator of a steering system associated with the autonomous vehicle; and
controlling the direction of movement of the autonomous vehicle based on the curvature rate output signal, wherein the curvature rate output signal represents a continuously changing rate of curvature which varies linearly in order to guide the autonomous vehicle along the at least one portion of the desired path.
8. The method ofclaim 7, wherein the steering system is rate-limited and has a finite steering rate.
9. The method ofclaim 8, wherein the autonomous vehicle includes a minimum right turn radius and a minimum left turn radius.
10. The method ofclaim 7, wherein receiving input signals at the processor associated with 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.
11. The method ofclaim 7, wherein calculating the curvature rate output signal based on the input signals received at the processor associated with 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.
12. The method ofclaim 11, wherein calculating the curvature rate output signal based on the input signals received at the processor associated with 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.
13. 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 associated with a path controller to perform the steps of:
receiving a position and heading of the autonomous vehicle relative to at least one fixed point within a fixed coordinate system;
receiving input signals 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 relative to the at least one fixed point within the fixed coordinate system; 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, the curvature rate output signal configured to guide the autonomous vehicle along the desired path, wherein at least one portion of the desired path comprises a clothoid segment having a continuously changing rate of curvature which varies linearly along the at least one portion of the desired path;
initiating communication of the curvature rate output signal to a steering control system that is configured to receive the curvature rate output signal and actuate at least one actuator of a steering system associated with the autonomous vehicle; and
controlling the direction of movement of the autonomous vehicle based on the curvature rate output signal, wherein the curvature rate output signal represents a continuously changing rate of curvature which varies linearly in order to guide the autonomous vehicle along the at least one portion of the desired path.
14. The computer program product ofclaim 13, wherein the steering system is rate-limited and has a finite steering rate.
15. The computer program product ofclaim 14, wherein the autonomous vehicle includes a minimum right turn radius and a minimum left turn radius.
16. The computer program product ofclaim 13, wherein receiving input signals at the at least one processor associated with 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.
17. The computer program product ofclaim 13, wherein calculating the curvature rate output signal based on the input signals received at the at least one processor associated with 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 at least one processor associated with 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.
US15/138,0692015-04-242016-04-25Apparatus and method for controlling a vehicleActive - ReinstatedUS10139826B2 (en)

Priority Applications (3)

Application NumberPriority DateFiling DateTitle
US15/138,069US10139826B2 (en)2015-04-242016-04-25Apparatus and method for controlling a vehicle
US16/148,762US10732637B2 (en)2015-04-242018-10-01Apparatus and method for controlling a vehicle
US16/938,710US11531345B2 (en)2015-04-242020-07-24Apparatus and method for controlling a vehicle

Applications Claiming Priority (2)

Application NumberPriority DateFiling DateTitle
US201562152218P2015-04-242015-04-24
US15/138,069US10139826B2 (en)2015-04-242016-04-25Apparatus and method for controlling a vehicle

Related Child Applications (1)

Application NumberTitlePriority DateFiling Date
US16/148,762ContinuationUS10732637B2 (en)2015-04-242018-10-01Apparatus and method for controlling a vehicle

Publications (2)

Publication NumberPublication Date
US20160313737A1 US20160313737A1 (en)2016-10-27
US10139826B2true US10139826B2 (en)2018-11-27

Family

ID=57147727

Family Applications (3)

Application NumberTitlePriority DateFiling Date
US15/138,069Active - ReinstatedUS10139826B2 (en)2015-04-242016-04-25Apparatus and method for controlling a vehicle
US16/148,762ActiveUS10732637B2 (en)2015-04-242018-10-01Apparatus and method for controlling a vehicle
US16/938,710ActiveUS11531345B2 (en)2015-04-242020-07-24Apparatus and method for controlling a vehicle

Family Applications After (2)

Application NumberTitlePriority DateFiling Date
US16/148,762ActiveUS10732637B2 (en)2015-04-242018-10-01Apparatus and method for controlling a vehicle
US16/938,710ActiveUS11531345B2 (en)2015-04-242020-07-24Apparatus and method for controlling a vehicle

Country Status (1)

CountryLink
US (3)US10139826B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US20180321683A1 (en)*2017-05-022018-11-08Cnh Industrial America LlcSystem and method for autonomous vehicle system planning
US11541875B2 (en)2020-06-192023-01-03Aptiv Technologies LimitedSystem and method for path planning in vehicles
US11914379B2 (en)2020-12-232024-02-27Deere & CompanyMethods and apparatus to generate a path plan

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
WO2017180504A1 (en)*2016-04-122017-10-19Agjunction LlcLine acquisition path generation
US10143126B2 (en)*2016-06-102018-12-04Cnh Industrial America LlcPlanning and control of autonomous agricultural operations
US10251329B2 (en)*2016-06-102019-04-09Cnh Industrial Canada, Ltd.Planning and control of autonomous agricultural operations
CN107543726B (en)*2016-07-282019-05-31北京百度网讯科技有限公司A kind of test method and device of unmanned vehicle Ride Control System manipulation precision
US10061314B2 (en)*2016-08-152018-08-28Ford Global Technologies, LlcEnhanced vehicle operation
CN109415056B (en)*2016-08-232020-05-01株式会社三英技研Travel track generation device, travel track generation method, travel track generation program, and driving assistance device and driving assistance system
US10372132B2 (en)2016-12-122019-08-06Apple Inc.Guidance of autonomous vehicles in destination vicinities using intent signals
JP6544348B2 (en)2016-12-222019-07-17トヨタ自動車株式会社 Vehicle driving support device
JP6515912B2 (en)*2016-12-222019-05-22トヨタ自動車株式会社 Vehicle driving support device
US10379538B1 (en)*2017-03-202019-08-13Zoox, Inc.Trajectory generation using motion primitives
US10663966B2 (en)*2017-03-292020-05-26Mitsubishi Electric Research Laboratories, Inc.Vehicle motion control system and method
CN107450537A (en)*2017-08-012017-12-08南京农业大学A kind of track combine low speed operation line tracking method
TWI643772B (en)*2017-08-022018-12-11國立勤益科技大學 Vehicle state control method and system thereof
US10591915B2 (en)*2017-08-032020-03-17Mitsubishi Electric Research Laboratories, Inc.Motion controller for real-time continuous curvature path planning
US10392016B2 (en)*2017-09-052019-08-27Cnh Industrial America LlcSystem and method for updating a speed calibration of a work vehicle
WO2020062030A1 (en)*2018-09-282020-04-02Baidu.Com Times Technology (Beijing) Co., Ltd.A spiral path based three-point turn planning for autonomous driving vehicles
WO2020062029A1 (en)*2018-09-282020-04-02Baidu.Com Times Technology (Beijing) Co., Ltd.Enumeration-based three-point turn planning for autonomous driving vehicles
US12016255B2 (en)2019-07-052024-06-25Deere & CompanyMethods and apparatus to control vehicle steering
CN110568758B (en)*2019-09-122022-07-01中汽研(天津)汽车工程研究院有限公司Parameter self-adaptive transverse motion LQR control method for automatically driving automobile
US11520338B2 (en)*2020-02-272022-12-06Uatc, LlcSystems and methods for vehicle spatial path sampling
CN112433522A (en)*2020-08-192021-03-02深圳市银星智能科技股份有限公司Robot walking control method and robot
US12082516B2 (en)*2020-12-282024-09-10Cnh Industrial America LlcAutomatic implement detection and management system
CN113002324B (en)*2021-04-192022-09-02吉林大学Electronic differential system of four-wheel independent driving and independent steering electric automobile
US11925132B2 (en)2021-06-302024-03-12Deere & CompanyMethods, apparatus, and articles of manufacture to generate acquisition paths
US12145618B1 (en)*2021-10-152024-11-19Zoox, Inc.Four wheel steering angle constraints
US12085955B2 (en)2021-10-192024-09-10Deere & CompanyMethods, apparatus, and articles of manufacture to select track paths for one or more vehicles in a field
JP2023090396A (en)*2021-12-172023-06-29株式会社小松製作所Working machine, method of controlling working machine, and system
KR20230138808A (en)2022-03-242023-10-05현대자동차주식회사Apparatus and method for controlling vehicle
KR20230151748A (en)2022-04-262023-11-02현대자동차주식회사Apparatus for generating u-turn route for vehicle and method thereof
KR20230152428A (en)*2022-04-272023-11-03현대자동차주식회사Apparatus for generating u-turn route for vehicle and method thereof
CN115230741B (en)*2022-08-242024-09-24北京领骏科技有限公司Automatic driving track control method and related equipment
US20240329633A1 (en)*2023-03-312024-10-03Nissan North America, Inc.Displaying an Overlay Including a Projected Path of a Vehicle
CN118393966B (en)*2024-06-242024-11-08武汉未来幻影科技有限公司 A storage location track segmentation control method and related equipment

Citations (12)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US5375059A (en)1990-02-051994-12-20Caterpillar Inc.Vehicle position determination system and method
US5610815A (en)*1989-12-111997-03-11Caterpillar Inc.Integrated vehicle positioning and navigation system, apparatus and method
US5648901A (en)1990-02-051997-07-15Caterpillar Inc.System and method for generating paths in an autonomous vehicle
WO2004031691A1 (en)2002-10-022004-04-15Hrl Laboratories, LlcEstimation of vehicle forward path
US20050027415A1 (en)*2003-06-262005-02-03Toyota Jidosha Kabushiki KaishaDriving assist apparatus and method for vehicle
US7089162B2 (en)2001-11-072006-08-08Harman International Industries, IncorporatedNavigation map creation system
US20060178825A1 (en)*2005-02-042006-08-10Novariant, Inc.System and method for interactive selection of agricultural vehicle guide paths with varying curvature along their length
US20090265053A1 (en)*2007-03-022009-10-22Dix Peter JMethod for creating spiral swath patterns for convex polygon shaped field boundaries
US20120185113A1 (en)2009-07-222012-07-19Christian PampusDevice for maneuvering a vehicle using maneuvering moves using at least one trajectory
US8930058B1 (en)*2008-10-202015-01-06The United States Of America As Represented By The Secretary Of The NavySystem and method for controlling a vehicle traveling along a path
US20150346728A1 (en)*2014-06-022015-12-03Trimble Navigation LimitedImplement Guidance
US20160052546A1 (en)*2013-03-292016-02-25Tokyo Keiki Inc.Automatic steering system for working vehicle

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US7228214B2 (en)*2003-03-312007-06-05Deere & CompanyPath planner and method for planning a path plan having a spiral component
US20090144030A1 (en)*2007-12-042009-06-04Tele Atlas North America, Inc.Computer readable storage medium storing instructions for applying clothoid curve values to roadways in a geographic data information system
US9318023B2 (en)*2011-08-312016-04-19GM Global Technology Operations LLCSystem and method for collision avoidance maneuver path determination with jerk limit
US9020757B2 (en)*2012-05-112015-04-28Trimble Navigation LimitedPath planning autopilot

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US5610815A (en)*1989-12-111997-03-11Caterpillar Inc.Integrated vehicle positioning and navigation system, apparatus and method
US5375059A (en)1990-02-051994-12-20Caterpillar Inc.Vehicle position determination system and method
US5648901A (en)1990-02-051997-07-15Caterpillar Inc.System and method for generating paths in an autonomous vehicle
US7089162B2 (en)2001-11-072006-08-08Harman International Industries, IncorporatedNavigation map creation system
WO2004031691A1 (en)2002-10-022004-04-15Hrl Laboratories, LlcEstimation of vehicle forward path
US20050027415A1 (en)*2003-06-262005-02-03Toyota Jidosha Kabushiki KaishaDriving assist apparatus and method for vehicle
US20060178825A1 (en)*2005-02-042006-08-10Novariant, Inc.System and method for interactive selection of agricultural vehicle guide paths with varying curvature along their length
US20090265053A1 (en)*2007-03-022009-10-22Dix Peter JMethod for creating spiral swath patterns for convex polygon shaped field boundaries
US8930058B1 (en)*2008-10-202015-01-06The United States Of America As Represented By The Secretary Of The NavySystem and method for controlling a vehicle traveling along a path
US20120185113A1 (en)2009-07-222012-07-19Christian PampusDevice for maneuvering a vehicle using maneuvering moves using at least one trajectory
US20160052546A1 (en)*2013-03-292016-02-25Tokyo Keiki Inc.Automatic steering system for working vehicle
US20150346728A1 (en)*2014-06-022015-12-03Trimble Navigation LimitedImplement Guidance

Non-Patent Citations (20)

* Cited by examiner, † Cited by third party
Title
"Optimal, stable switching between arc during low-speed Ackerman path tracking with rate-limited steering," in Proceedings of the 52nd IEEE Conference on Decision and Control, 2013.
"Some properties of clothoids," INRIA, Tech. Rep. 2752, Dec. 1995.
A. D. Luca, G. Oriolo, and C. Samson, "Feedback control of a nonholonomic car-like robot," in Robot Motion Planning and Control, ser. Lecture Notes in Control and Information Sciences, J.-P. Laumond, Ed. Berlin/Heidelberg: Springer, 1998, vol. 229, pp. 171-253.
A. Kelly and B. Nagy, "Reactive nonholonomic trajectory generation via parametric optimal control," International Journal of Robotics research, vol. 22, No. 7-8, pp. 583-601, Jul.-Aug. 2003.
C. Samson, "Control of chained systems, application to path following, and time-varying point-stabilization of mobile robots," IEEE Transactions on Automatic Control, vol. 40, No. 1, pp. 64-77, Jan. 1995.
D. S. Meek and D. J. Walton, "Clothoid spline transition spirals," Mathematics of Computation, vol. 59, No. 199, pp. 117-133, Jul. 1992.
E. Degtiariova-Kostova and V. Kostov, "Irregularity of optimal trajectories in a control problem for a car-like robot," INRIA, Tech. Rep. 3411, Apr. 1998.
F.L. Lewis, D.L. Vrabie, and Y.-C. Ho, Applied Optimal Control. Taylor & Francis, 1975.
Hellström and O. Ringdahl, "Follow the past: a path tracking algorithm for autonomous vehicles," International Journal of Vehicle Autonomous Systems, vol. 4, No. 2-4, 2006.
J. Guldner, H.-S. Tan, and S. Patwardhan, "Study of design directions for lateral vehicle control," in Proceedings of the 36th Conference on Decision & Control, 1997.
J. Wit, C. D. Crane III, and D. Armstrong, "Autonomous ground vehicle path tracking," Journal of Robotic Systems, vol. 21, No. 8, 2004.
M. D. Berkemeier, "Optimal, stable switching between arcs during low-speed Ackerman path tracking," in Proceedings of the 2013 American Control Conference, 2013.
P. Hingwe and M. Tomizuka, "A variable look-ahead controller for lateral guidance of four wheeled vehicles," in Proceedings of the American Control Conference, 1998.
R. M. Murray and S. S. Sastry, "Nonholonomic motion planning: Steering using sinusoids," IEEE Transactions on Automatic Control, vol. 38, No. 5, pp. 700-716, May 1993.
Robert Oshana & Mark Kraeling, Software Engineering for Embedded Systems: Methods, Practical Techniques, and Applications, 2013 (Year: 2013).*
S. M. LaValle, Planning Algorithms. Cambridge University Press, 2006.
S. Patwardhan, H.-S. Tan, and J. Guldner, "A general framework for automatic steering control: system analysis," in Proceedings of the American Control Conference, 1997.
T. Fraichard and A. Scheuer, "From Reeds and Shepp's to continuous-curvature paths," IEEE Transactions on Robotics and Automation, vol. 20, No. 6, Dec. 2004.
V. Kostov and E. Degtiariova-Kostova, "Suboptimal paths in the problem of a planar motion with bounded derivative of the curvature," INRIA, Tech. Rep. 2051, Jul. 1993.
W.H. Press, S.A. Teukolsky, W.T. Vetterling, and B.P. Flannery, Numerical Recipes in C: the Art of Scientific Computing, 2nd ed. Cambridge, 1992.

Cited By (4)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US20180321683A1 (en)*2017-05-022018-11-08Cnh Industrial America LlcSystem and method for autonomous vehicle system planning
US10649457B2 (en)*2017-05-022020-05-12Cnh Industrial America LlcSystem and method for autonomous vehicle system planning
US11541875B2 (en)2020-06-192023-01-03Aptiv Technologies LimitedSystem and method for path planning in vehicles
US11914379B2 (en)2020-12-232024-02-27Deere & CompanyMethods and apparatus to generate a path plan

Also Published As

Publication numberPublication date
US20200356097A1 (en)2020-11-12
US20190033874A1 (en)2019-01-31
US11531345B2 (en)2022-12-20
US20160313737A1 (en)2016-10-27
US10732637B2 (en)2020-08-04

Similar Documents

PublicationPublication DateTitle
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
US10761531B2 (en)Guidance control system for autonomous-traveling vehicle
US11180189B2 (en)Automated reverse implement parking
EP3149552B1 (en)Implement guidance
CN109310043B (en)Strap tracking system for off-road vehicles
US10019010B2 (en)Implement guidance
US10349573B2 (en)Implement guidance
US20240227793A1 (en)Adaptive path following algorithm for heavy-duty vehicles
EP3170380B1 (en)Single-mode implement steering
US20080269956A1 (en)Swath finder feature integrated with multipurpose display
US20170355398A1 (en)System and method for vehicle steering calibration
CN111487976B (en)Backing track tracking method
Lukassek et al.Model predictive path-following control for general n-trailer systems with an arbitrary guidance point
Bevly et al.Carrier-phase differential gps for control of a tractor towed implement

Legal Events

DateCodeTitleDescription
ASAssignment

Owner name:AUTONOMOUS SOLUTIONS INC., UTAH

Free format text:ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BERKEMEIER, MATTHEW D;REEL/FRAME:046893/0254

Effective date:20160425

STCFInformation on status: patent grant

Free format text:PATENTED CASE

FEPPFee payment procedure

Free format text:ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FEPPFee payment procedure

Free format text:MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

LAPSLapse for failure to pay maintenance fees

Free format text:PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPLapsed due to failure to pay maintenance fee

Effective date:20221127

PRDPPatent reinstated due to the acceptance of a late maintenance fee

Effective date:20230314

FEPPFee payment procedure

Free format text:PETITION RELATED TO MAINTENANCE FEES FILED (ORIGINAL EVENT CODE: PMFP); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Free format text:PETITION RELATED TO MAINTENANCE FEES GRANTED (ORIGINAL EVENT CODE: PMFG); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FEPPFee payment procedure

Free format text:SURCHARGE, PETITION TO ACCEPT PYMT AFTER EXP, UNINTENTIONAL (ORIGINAL EVENT CODE: M1558); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

MAFPMaintenance fee payment

Free format text:PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment:4

STCFInformation on status: patent grant

Free format text:PATENTED CASE


[8]ページ先頭

©2009-2025 Movatter.jp