Automatic Steering Methods For Autonomous Automobile

1y ago
32 Views
3 Downloads
1.64 MB
78 Pages
Last View : Today
Last Download : 4d ago
Upload by : Alexia Money
Transcription

Automatic Steering Methods for AutonomousAutomobile Path TrackingJarrod M. SniderCMU-RI-TR-09-08February 2009Robotics InstituteCarnegie Mellon UniversityPittsburgh, Pennsylvaniac Carnegie Mellon University

AbstractThis research derives, implements, tunes and compares selected path tracking methods for controlling a car-likerobot along a predetermined path. The scope includes commonly used methods found in practice as well as sometheoretical methods found in various literature from other areas of research. This work reviews literature and identifiesimportant path tracking models and control algorithms from the vast background and resources. This paper augmentsthe literature with a comprehensive collection of important path tracking ideas, a guide to their implementations and,most importantly, an independent and realistic comparison of the performance of these various approaches. Thisdocument does not catalog all of the work in vehicle modeling and control; only a selection that is perceived to beimportant ideas when considering practical system identification, ease of implementation/tuning and computationalefficiency. There are several other methods that meet this criteria, however they are deemed similar to one or more ofthe approaches presented and are not included. The performance results, analysis and comparison of tracking methodsultimately reveal that none of the approaches work well in all applications and that they have some complementarycharacteristics. These complementary characteristics lead to an idea that a combination of methods may be useful formore general applications. Additionally, applications for which the methods in this paper do not provide adequatesolutions are identified.II

AcknowledgementsThis work would not have been possible without the support, motivation and encouragement of Dr. Chris Urmson,under whose supervision I chose this area of research. I would like to acknowledge the advice and guidance of Dr.William ”Red” Whittaker, whom never ceases to amaze and inspire me. Special thanks go to Tugrul Galatali, whoseknowledge and assistance was instrumental in the success of this research and paper.I acknowledge Mechanical Simulation for their generous support and discount of CarSim. Without CarSim, qualityanalysis and comparison of tracking methods may not have been possible.I would also like to thank the members of my family, especially my wife, Amy, and my son Xavier for supportingand encouraging me in everything I do.III

Contents1 Introduction1.11Experimental Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31.1.1Lane Change Course . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31.1.2Figure Eight Course . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41.1.3Road Course . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52 Geometric Path Tracking82.1Geometric Vehicle Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .82.2Pure Pursuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .92.2.12.3Tuning the Pure Pursuit Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10Stanley Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .142.3.115Tuning the Stanley Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 Path Tracking Using a Kinematic Model3.13.218Kinematic Bicycle Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .183.1.1Path Coordinates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20Kinematic Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .213.2.1Chained Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .223.2.2Smooth Time-Varying Feedback Control . . . . . . . . . . . . . . . . . . . . . . . . . . . .233.2.3Input Scaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .243.2.4Tuning the Kinematic Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .254 Path Tracking Control Using a Dynamic Model4.14.24.328Dynamic Vehicle Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .294.1.1Linearized Dynamic Bicycle Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .304.1.2Path Coordinates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .314.1.3Model Parameter Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33Optimal Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .364.2.1Tuning the Optimal Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38Optimal Control with Feed Forward Term . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .414.3.144Tuning the Optimal Controller with Feed Forward Term . . . . . . . . . . . . . . . . . . . .IV

4.4Optimal Preview Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .464.4.149Tuning the Optimal Preview Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5 Performance Comparison5.161Tracking Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6 Conclusions and Future Work6165V

List of Figures1Sandstorm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12Stanley . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13Boss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14Screen shot from a CarSim animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35Lane Change Course . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46Figure Eight Course . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57Road Course . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .68Velocity profiles used on the Road Course . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79Geometric Bicycle Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .810Pure Pursuit geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .911Pure Pursuit at multiple speeds and various gains on the lane change course . . . . . . . . . . . . . .1112Pure Pursuit at multiple speeds and various gains on the figure eight course . . . . . . . . . . . . . .1213Pure Pursuit at multiple velocity profiles and various gains on the road course . . . . . . . . . . . . .1314Stanley method geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1415Stanley controller at multiple speeds and various gains on the lane change course . . . . . . . . . . .1516Stanley controller at multiple speeds and various gains on the figure eight course . . . . . . . . . . .1617Stanley controller at multiple velocity profiles and various gains on the road course . . . . . . . . . .1718Kinematic bicycle model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1819Kinematic bicycle model in path coordinates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2120Kinematic controller at multiple speeds and various gains on the lane change course . . . . . . . . . .2621Kinematic controller at multiple speeds and various gains on the figure eight course . . . . . . . . . .2722Kinematic controller at multiple velocity profiles and various gains on the road course . . . . . . . . .2823Dynamic Bicycle Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2924Dynamic Bicycle Model in path coordinates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3125Example of lateral force tire data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3426Linear approximation of the lateral force tire data . . . . . . . . . . . . . . . . . . . . . . . . . . . .3427LQR controller at multiple speeds and various gains on the lane change course . . . . . . . . . . . . .3928LQR controller at multiple speeds and various gains on the figure eight course . . . . . . . . . . . . .4029LQR at multiple velocity profiles and various gains on the road course . . . . . . . . . . . . . . . . .41VI

30LQR controller with feed forward term at multiple speeds and various gains on the lane change course4431LQR controller with feed forward term at multiple speeds and various gains on the figure eight course4532LQR controller with feed forward term at multiple velocity profiles and various gains on the road course 4633Optimal preview controller with 0.5s preview at multiple speeds and various gains on the lane changecourse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34Optimal preview controller with 1.0s preview at multiple speeds and various gains on the lane changecourse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3554Optimal preview controller with 1.5s preview at multiple speeds and various gains on the figure eightcourse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4053Optimal preview controller with 1.0s preview at multiple speeds and various gains on the figure eightcourse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3952Optimal preview controller with 0.5s preview at multiple speeds and various gains on the figure eightcourse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3851Optimal preview controller with 2.0s preview at multiple speeds and various gains on the lane changecourse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3750Optimal preview controller with 1.5s preview at multiple speeds and various gains on the lane changecourse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .364955Optimal preview controller with 2.0s preview at multiple speeds and various gains on the figure eightcourse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5641Optimal preview controller with 0.5s preview at multiple speeds and various gains on the road course5742Optimal preview controller with 1.0s preview at multiple speeds and various gains on the road course5843Optimal preview controller with 1.5s preview at multiple speeds and various gains on the road course5944Optimal preview controller with 2.0s preview at multiple speeds and various gains on the road course6045Comparison of the tuned controllers on the lane change course . . . . . . . . . . . . . . . . . . . . .6146Comparison of the tuned controllers on the figure eight course . . . . . . . . . . . . . . . . . . . . .6247Comparison of the tuned controllers on the road course . . . . . . . . . . . . . . . . . . . . . . . . .6348Performance comparison table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .64VII

1 IntroductionA significant portion of Robotics research involves developing autonomous car-like robots. This research is oftenat the forefront of innovation and technology in many areas. However, it is often common practice to use relativelysimple and sometimes naive control strategies and/or system models for vehicle control, even on some well knownand successful autonomous vehicle projects [18, 17, 16, 4].Figure 1: SandstormFigure 2: StanleyFigure 3: BossFigure 1 is Sandstorm, the autonomous vehicle that placed second in the DARPA Grand Challenge using a verysimple steering control law based on a geometric vehicle model. Figure 2 is Stanley, the autonomous vehicle thatwon the DARPA Grand Challenge using an intuitive steering control law based on a simple kinematic vehicle model.Figure 3 is Boss, the autonomous vehicle that won the DARPA Urban Challenge. Boss uses a much more sophisticatedmodel predictive control strategy to perform vehicle control. However, a very simple kinematic model of the vehicle,a time delay and rate limits on steering is all that is included in the optimization of the steering controls. This does1

not mean, however, there has not been extensive research in this area, and a great deal of literature on the topic exists.These observations lead to the following questions: How good are these simple methods commonly found in practice? Can improvements in performance be achieved using existing methods found in other theoretical research? Can good matches between methods and applications be identified? What are the limitations and potential for future breakthroughs?It is these observations and questions that motivate the research found in this paper. This paper endeavors to collectscattered sources and provide an independent and realistic comparison of the performance of several classes of vehiclecontrollers along with advice on how to implement them.The family of vehicle controllers of interest are called path trackers. Path tracking refers to a vehicle executinga globally defined geometric path by applying appropriate steering motions that guide the vehicle along the path.The goal of a path tracking controller is to minimize the lateral distance between the vehicle and the defined path,minimize the difference in the vehicle’s heading and the defined path’s heading, and limit steering inputs to smoothmotions while maintaining stability.For each class of path trackers presented in this paper, an underlying system model will be developed beforethe algorithm is presented. The algorithms themselves will be presented in a way to minimize the complexity ofperformance tuning, and the effects of the parameters will be illustrated using three representative courses. Chapter2 will concentrate on methods that exploit geometric relationships between the vehicle and the path to design controllaws [2, 16] that are simple, robust and achieve accurate path tracking in a limited set of driving scenarios and canprovide moderate tracking in a much larger set of scenarios. Chapter 3 moves on to more control theory basedtechniques and uses a simple kinematic model of a vehicle [6] to show that accurate path tracking can be achieved withthis simple model in a limited set of driving scenarios. Chapter 4 introduces a dynamic vehicle model and techniquessuch as Optimal Control and Optimal Preview Control [11, 10, 14] to demonstrate that accurate path tracking canbe achieved over a wider range of driving scenarios when the dynamics of the vehicle are considered. Chapter 5then turns to a head-to-head performance comparison of these algorithms which illustrates why relatively primitivecontrol techniques are commonly used successfully as well as highlighting the need for more advanced techniques asRobotics moves forward in the development of precision path tracking for vehicles operating at higher speeds and withnew objectives.2

1.1Experimental DesignFigure 4: Screen shot from a CarSim animationTo provide a valid evaluation and comparison, the path tracking controllers implemented for this paper are testedwith a high fidelity vehicle simulator, CarSim. CarSim quickly and accurately simulates the dynamic behavior ofvehicles and is used in the automotive industry as the standard by which vehicle handling and dynamics are tested[1]. Figure 4 is a screen shot from a CarSim animation. The standard CarSim simulator provides a complete model ofthe vehicle system and the environment [7]. Additionally, rate limits and delays associated with the steering actuatorare added to the standard model. The controllers are implemented in C and communicate with CarSim through theavailable API [8].Three driving courses are chosen to perform the various experiments found in this paper. The courses are designedto test attributes of the controllers and provide insight into their relative advantages and disadvantages.1.1.1Lane Change CourseThe Lane Change Course is a straight section of two lane road in which the vehicle is required to perform a singlelane change maneuver. The lane change maneuver is a common test for vehicle handling as it represents an essentialcollision avoidance maneuver. The Lane Change Course is chosen to demonstrate the tracking capability on a straightpath as well as the response to a quick, yet (position and curvature) continuous, transient section. Experiments on thiscourse are performed at constant velocities of 5m/s, 10m/s, 15m/s and 20m/s. Figure 5 illustrates the Lane ChangeCourse.3

Figure 5: Lane Change Course1.1.2Figure Eight CourseThe Figure Eight Course consists of two circular paths that intersect at a tangent point. This course is not commonly found in everyday driving. However, it can provide valuable insight into the handling of a vehicle as well assome important characteristics of a controller. This course was chosen to illustrate the steady state characteristics ofthe controllers while executing a constant nonzero curvature path. This course also includes a point with discontinuouscurvature where vehicles transition from one circle to an other. While it is possible to require that all paths be generatedwith continuous curvature, a controller’s response to this discontinuity provides insight into it’s robustness. Experiments on this course are performed at constant velocities of 5m/s, 10m/s, 15m/s and 20m/s. Figure 6 illustratesthe Figure Eight Course.4

Figure 6: Figure Eight Course1.1.3Road CourseThe Road Course captures a variety of driving scenarios representative of real-world driving. The path is generatedto minimize lateral acceleration while staying on the road surface. The path is continuous and the speed varies as afunction of the path. The Road Course facilitates a general performance comparison of the various tracking methods.Figure 7 illustrates the Road Course.5

Figure 7: Road Course6

Experiments on this course are performed at three different velocity profiles. The velocity profiles are generatedto limit the longitudinal acceleration to within a range a vehicle could achieve while also limiting the theoreticalkinematic centripetal acceleration of the vehicle. The longitudinal acceleration is limited to be between -4 m/s2 and3 m/s2 for all experiments. The three velocity profiles are generated with kinematic centripetal accelerations limitsof 0.1g, 0.25g and 0.5g. Despite these kinematic limitations, the actual lateral acceleration of the vehicle can be muchgreater in magnitude. The velocity profiles for this course are illustrated in Figure 8.Figure 8: Velocity profiles used on the Road Course7

2 Geometric Path TrackingOne of the most popular classes of path tracking methods found in robotics is that of geometric path trackers. Thesemethods exploit geometric relationships between the vehicle and the path resulting in control law solutions to the pathtracking problem. These techniques often make use of a look ahead distance to measure error ahead of the vehicle andcan extend from simple circular arc calculations to more complicated calculations involving screw theory [19]. Thissection will describe the geometric vehicle model most commonly used by these methods and two of these methods:Pure Pursuit and the Stanley Method.2.1Geometric Vehicle ModelFigure 9: Geometric Bicycle ModelA common simplification of an Ackerman steered vehicle used for geometric path tracking is

Figure 2 is Stanley, the autonomous vehicle that won the DARPA Grand Challenge using an intuitive steering control law based on a simple kinematic vehicle model. Figure 3 is Boss, the autonomous vehicle that won the DARPA Urban Challenge. Boss uses a much more sophisticated mode