Racing Vehicle Control - PowerPoint PPT Presentation

About This Presentation
Title:

Racing Vehicle Control

Description:

Racing Vehicle Control Adam Balgach asb7_at_cse.lehigh.edu Alex Darby FreeStyleGames Ltd (www.freestylegames.com) Downforce PS2 Moves Track Not Car Track Space Track ... – PowerPoint PPT presentation

Number of Views:271
Avg rating:3.0/5.0
Slides: 32
Provided by: x047
Category:

less

Transcript and Presenter's Notes

Title: Racing Vehicle Control


1
Racing Vehicle Control
  • Adam Balgach
  • asb7_at_cse.lehigh.edu

2
Alex Darby
  • FreeStyleGames Ltd (www.freestylegames.com)
  • Downforce
  • PS2
  • Moves Track Not Car

3
Track Space
  • Track modeled as long strip with fixed width1
    and an infinite length
  • 2 Major pieces of knowledge about car
  • Horizontal position on the track (fWidthPos)
  • Location from some start point (fLengthPos)
  • This location is course and track dependent

4
Track Space
5
Downforce AI System
6
Layers in AI
  • Operate in Psudeo-Parallel
  • Code executed serially
  • Congitative System not used until all layers are
    done processing
  • Behaviors
  • Each layer composed of behaviors
  • Behaviors are independent but operate much the
    way the overall layers work

7
Path Following Layer
  • Correct controller inputs so a vehicle can follow
    a specific path at max speed.
  • Two behaviors
  • Steering Control
  • Corner Speed Regulation
  • Steering Control
  • Steering to follow vehicle racing line
  • Steering to converge back onto racing line if lost

8
Path Following Cont...
  • Corner Speed Regulation
  • Only following race line, cares about nothing
    else (ie obstacles, track conditions, etc)
  • Dead-Reckoning Approach
  • FSM based around corners
  • Corner Identification including corner apex
  • Braking distance is calculated based on current
    speed
  • Braking For Corner break until the current
    speed is the same as the necessary speed to clear
    the corners apex
  • Cruse To Apex controls throttle so that it does
    not go too below corner breaking speed, and then
    accelerates once the apex of the corner is
    reached.

9
Fine Grain Avoidance Layer
  • Deals with potential collisions the other layers
    have not
  • Two behaviors
  • Race Priority
  • Collision Avoidance (side-to-side)
  • Race Priority selects which AI will back off
    incase of collision
  • Player has significantly higher priority
  • Inside car around a corner gets priority

10
Avoidance Cont
  • Side-to-Side collisions
  • Overrides steering/speed from Path Following
    Layer
  • Dependent on Race Priority
  • If outer car will collide with inner car,
    limits the speed and steering to run parallel
    slightly behind the inner car
  • Front-to-Back collisions
  • Rear car must make sure not to hit car in front
    of it.
  • Override Breaking/Throttle from P.F.L.

11
Tactical Racing Layer
  • Assists in change of speed racing line in a
    pack of cars to gain an overall advantage
  • Three behaviors
  • Optimum Road Position
  • New Race Line
  • Collision Avoidance Speed Control

12
Optimum Road Position
  • Each Car has 4 simple eyes to find relative
    speed of other cars, and their proximity
  • Each eye stores a 1D that represents the entire
    track width.
  • The 4 eyes give a low resolution image of what is
    ahead, next to and behind the car

13
Determining Optimal Line
  • 4 Eye images combined, current racing line
    added in.
  • Determine best place to be based on the
    locations of others and racing line
  • Simple mathematical average of current positions
  • Must be fine tuned for each track

14
Path Generation
  • Once a new position have been identified to give
    vehicle an advantage a new race line must be
    constructed
  • Old racing line is buffered, and simply
    interpolated in track space toward the new
    optimal position
  • Sometimes this new line may go off the track, in
    which case other layers have to deal with it

15
Collision Avoidance
  • Handles most of front-to-back collisions
  • Only occurs if vehicle in front is currently
    going slower.
  • Ignores curves in track, simply brakes to avoid a
    car in front based on current speeds and
    fWidthPos of both cars
  • Not super efficient, but cheap, reliable and
    sufficiently accurate

16
Driving Assist Layer
  • Controls obscure events such as brake lock, wheel
    spins and washing out
  • Two behaviors
  • Traction Control
  • Anti-Lock Braking
  • Traction Control minimizes slippage
  • Once the slip in the lengthwise axis gt threshold
    value, actual slip is calculated

17
Slip Cont
  • Also a min throttle value to start slipping to
    force high power-weight cars wouldnt slip a
    greater amount then expected when at a
    standstill.
  • Type of car (4wd, fwd, rwd) must be taken into
    account, as to which wheels to measure slip from
    and how to determine curvature of car from
    slippage. (direction of the skid)

18
Anti-Lock Breaking
  • Same Code as Traction Control System, but by
    scaling brake value under breaking, instead of
    throttle under acceleration
  • In straight line, forces wheels to lock up, but
    breaking efficiency is less then with a drum
    break wheel lockup. This is not how the real
    world works, but was deemed acceptable in the
    game.

19
Demo 2
  • Show the Demo

20
AI System Wrap Up
  • Modular
  • Independent
  • Scalable
  • Representational abstractions
  • Sensor eyes
  • Track Space

21
Optimal Racing Lines
  • Not easy task, math/physics intensive and track
    dependent
  • How to overcome
  • Limit custom built tracks, only allow users to
    use predefined segments
  • Boring, lack of variety for users
  • Just because pieces have racing lines, doesnt
    mean an optimal race line will occur from
    sticking pieces together

22
Race Lines Cont
  • Search for line of minimum curvature
  • Does not account for car (width, weight), or
    speed. Is simply the most effective path along a
    track
  • Very quick, efficient and highly reliable.

23
How to do it
  • Initially put points equally spaced in the center
    of the track from start to finish
  • In sets of three points, gradually reduce the
    curvature by using the sum of the squares of the
    angles between them.

24
Points, and Vectors
25
Anyone Remember Physics 21?
26
Model App
  • Show the App

27
Surviving a Simulation
  • Simulation AI very important
  • Controls all the other things in a single player
    game
  • Is used as to show how the game development is
    progressing
  • Overall quality of game play is based on how good
    the AI is

28
Design Implementation
  • Code well
  • Create a Prototype
  • Test
  • Force the AI to use the same inputs a player
    would use
  • Make the AI do real-world logical things.
  • Layer the AI Design

29
Layered Example
30
What else can be done?
  • Include a debugger
  • Make AI visible to players

31
Summary
  • A Good AI System is made of Layers
  • Layers operate in parallel
  • Goal To generate lifelike racing AI with ability
    to pass and force the player to react more
  • Mathematics Influenced
  • Optimizing Best Race Line
Write a Comment
User Comments (0)
About PowerShow.com