Obstacle Avoidance And Overtaking For Autonomous Rally Car

Dae-Min C., Rahul R., Chandan S., Will W.

Project Abstract:

In our project we wish to design a trajectory planner for dealing with the process of obstacle avoidance and overtaking in autonomous car racing. The objective of the planner is to get around the unknown race track faster defeating other vehicles autonomously.


  1. No suspension dynamics
  2. FWD(Front Wheel Drive) vehicle
  3. Uniform tire characteristic along the longitudinal and lateral direction.
  4. Two control inputs - accelerating/braking torques of front axle and the steering angle.
  5. Autonomous vehicle has limited distance sensing and FOV(Field Of View) ability as in common case.

The following are the backgound information taken from the reference papers needed to understand our work.

In cases such as F1 time trials, where drivers have driven through the whole circuit several times(qualifying turn) before the final race, trying to optimize their path in order to achieve the best overall lap time. Similarly, in rally racing the driver again has to follow a path in minimum time. However, in off-terrain rally-races extensive trials do not necessarily take place, and the driver is expected to react in unpredictable and changing environments during the actual race. This is in contrast to the controlled environment of F1 circuit races. Rally-race drivers typically drive through trajectories that will allow them to react faster to any unpredictable hazard or road formation. For instance, tight corners are typically negotiated in such a way that the car is already aligned to the following road segment well before the exit of the corner, thus allowing the driver to plan ahead sooner. This often means that the driver induces drifting. In case when a straight path follows the corner, the driver is able to fully accelerate the car while still in the corner, thus maximizing the velocity at the exit of the corner.

Trail-Braking(TB) is one of the techniques used by rally drivers to negotiate single corners at high speeds. Typically, the average driver negotiates a corner by first braking to regulate the speed, then releasing the brakes and steering the vehicle along the corner, and finally accelerating after the exit of the corner. TB is used when the approach speed to the corner is high and the braking must continue even after the steering of the vehicle has started. Overall, TB involves high vehicle slip angles and yaw rates. This allows the vehicle to reach a controllable, straight line driving state as quickly as possible, and allow the driver to react to unexpected road condition changes ahead of the corner, which are typical in off-road rally racing. TB maneuver starts from hard braking, followed by increase of steering and progressive decrease of braking, followed by progressive acceleration with progressive decrease in steering and counter-steering, followed by hard acceleration.

The Pendulum-Turn(PT) maneuver is generated as the minimum-time solution after varying the initial and final conditions of the minimum time problem. The PT is another high speed cornering maneuver. It is typically used when the vehicle approaches the corner at high speed coming from the inner edge of the road, for S-turns, or for connecting successive sharp corners. If there is not enough time for the driver to place the vehicle at the outer edge of the road and use TB, the pendulum turn is then appropriate. The PT cannot be performed at the same high initial speed as the TB because it requires an almost immediate steering command, in contrast to the TB which is initiated by hard deceleration before any steering command is applied. For the same reason, PT is not applied for high center of gravity vehicles or on paved roads.

TB_technique.tif PT_technique.tif

Related Work:

[1] E.Velenis, P.Tsiotras, "Minimum Time vs. Maximum Exit Velocity Path Optimization During Cornering'' IEEE International Symposium on Industrial Electronics (ISIE05), Dubrovnik, Croatia, June 20-23, 2005. : This paper show that driving through each segment of the circuit in the shortest time is not always the best strategy by numerical optimization and real race driving data. Two driving technique was introduced such as the smooth trajectories and small slip angles used in F1 driving in contrast to the more complex trajectories and drifting techniques in rally race driving.

[2] E.Velenis, P.Tsiotras, and J.Lu, "Modeling aggresive Maneuvers on Loose Surfaces: The cases of Trail-Braking and Pendulum-Turn", European Control Conference, Kos, Greece, July 2-5, 2007. : This paper concentrats on two specific techniques for high speed cornering used extensively by rally drivers, namely Trail-Braking(TB) and the Pendulum-Turn(PT). Using numerical optimization scheme during cornering, it shows that the approximate model approach is capable of reproducing TB and PT as special cases of the minimum-time solution.

[3] U.Ghumman, F.Kunwar, and B.Benhabib, ”Guidance-based On-line Motion Planning for Autonomous Highway Overtaking”, International Journal on Smart Sensing and Intelligent Systems, Vol. 1, No. 2, June 2008. : This paper presents a novel time-optimal RG(Rendezvous Guidance)-based on-line trajectory (i.e., time-phased path) planning algorithm for the guidance of a pursuer vehicle overtaking a slower vehicle on a highway setting in the presence of other obstacle vehicles travelling in the passing lane.

[4] F. Kunwar, B. Benhabib, "Rendezvous-Guidance Trajectory Planning for Robotic Dynamic Obstacle Avoidance and Interception", IEEE Transactions on Systems, Man, and Cybernetics, Part B: Cybernetics, Vol. 36, No. 6, Dec. 2006. : This paper presents a online time-optimal trajectory planning method for the autonomous robotic interception of moving targets in the presence of dynamic obstacles using a hybrid algorithm that augments Rendezvous-Guidance(RG) technique with the Velocity-Obstacle(VO) approach. It finds feasible velocity for the next sampling period, keeping the deviation necessary for obstacle avoidance minimal from the path obtained by the RG law.

[5] http://wiki.vdrift.net/Main_Page : This website contains all information on the vdrift simulator project.

[6] Reinforcement Learning for Continuous State and Action Space : This paper presents various techniques for building efficient function approximators for the Q function.We used a case based function approximator to the Q Value function.

[7] Reinforcement Learning for Non-Holonomic Robots(Cars) : This paper shows how a car can be used to follow a given path using reinforcement learning.They use a similar case based function approximator to the Q Value function.

Proposed Work:

Planning Challenges

The objective of the planner is to get the autonomous vehicle to the goal in minimum time without crash/accident. Then the autonomous vehicle requires to overtake other vehicles on the way and take optimal cornering maintaining its high velocity. So it needs planner for overtaking algorithm, optimal cornering exit and combination of these two cases simultaneously. Also, the planner may needs to solve for optimal control input profiles on-line considering the dynamics of a car.

From the paper[2], TB is more preferable than PT because, as the simulation in the paper shows, TB maneuver helps a vehicle exit a corner with less time and higher exit velocity. Also, we find that when the autonomous vehicle runs on straight lane, it is preferable to run in the middle of the lane to cope with any cornering turns when left or right turn is not predictable. However, TB starts its cornering from outer lane and comes inside the lane on the other hand, PT runs vice versa, which both of them increase the possibility of colliding with any obstable vehicles while each maneuver.

The planner has to make decisions in the following scenario.

  1. Try to follow center lane while maintaining collision avoidance.
  2. If it is possible, overtake obstacle vehicles and finally place itself at a proper side of lane.
    • Determine when the lane change maneuver should start.
    • Develop optimal and safe trajectory using RG.
  3. Try to move the autonomous vehicle to outer lane when cornering maneuver is needed to conduct TB turn.
  4. If moving outer lane is not possible, compare following scenarios and select to get maximum exit velocity.
    • Consider decellerating and move outer lane to make TB turn.
    • Consider making PT turn.

The planner should choose the nonlinear optimization parameters for cornering such as where and when to start and end the cornering maneuver.

Proposed Solutions

From the above decision making scenarios, 1 and 3 are trivial tasks but 2 and 4 are challenging. For obstacle avoidance, we can use RG law with shadow target technique as in paper[3]. In this case we need to design when and where to place a series of shadow targets on the track using planner. Another option is to use a hybrid algorithm that uses RG and VO methods as in paper[4], which uses RG in case of no obstacles and VO in case of obstacles.

Implementation Challenges
  • Testing our algorithms with several cars in rally racing is very expensive and has any possible risks.
  • We may need to solve nonlinear optimal problem on-line but it is almost always impossible.
Proposed Solutions
  • We will implement our trajectory planning algorithm via vdrift simulator(http://vdrift.net/) under GNU. Vdrift is a physics-based drift racing drive simulator. The driving physics engine was originated from the Vamos physics engine. It suffices to take a given closed track once to simulate momoryless (rally) car racing.
  • We may achieve on-line and optimal cornering trajectory(TB or PT) generation by properly placing a virtual obstacles in a timely manner on the track which approximate the optimal cornering trajectory. We still need to study this further.
vdrift_cover1.jpg vdrift_cover2.jpg vdrift_cover3.jpg


Week General Task Dae-Min Rahul Chandan Will
1 Prepare for proposal presentation and fill up wiki page wiki/ppt wiki/ppt wiki/ppt wiki/ppt
2 Design a planner scheme that deals with overtaking and optimal trajectory generation on every phase: straight and corners
3 Implement the designed planner algorithm
4 Do simulation in a simple environment
5 Make the planner work in a simulator
6 Fix bugs and make the planner work in a simulator
7 Write a paper
8 Proofread a paper and prepare final presentation

Week 1

We have filled up wiki page and still updating it. Downladed Vdrift simulator and found it work well. Did literature review, found some challenges in designing a planner. We splitted the project 2 workload.

Week 2

Brainstorming for the basic architecture and the approaches to be used for obstacle avoidance.

Week 3

The groundwork is complete for the project.We have decided to use TORCS racing simulator instead of VDrift because of ease of implementation.A basic AI system for the car was built and tested.

Week 4

Started Working on trajectory generation for race cars. Did literature survey about existing racing games tackle this issue and found few approaches related to reinforcement learning and fuzzy logic to generate very good trajectories.

Week 5

Finished Implementation of a supervised learning algorithm for predicting trajectories around a race track and learning optimal policy that will lead to efficient trajectories.Chandan Seth meanwehile finished integrating the obstacle avoidance algorithm into the main code.

Week 6

Finished writing a Case Based Function Approximator to Q (a RL algorithm for continuous spaces) and tested on a track.The resulting controller is very stable and car performs really
good even with 40% being the maximum allowed acceleration.video from intial testing

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License

Subscription expired — please renew

Pro account upgrade has expired for this site and the site is now locked. If you are the master administrator for this site, please renew your subscription or delete your outstanding sites or stored files, so that your account fits in the free plan.