Racing Vehicle Control

Slides:



Advertisements
Similar presentations
Drivers Ed. Chapter 12 Review.
Advertisements

Parallel parking.
Optimized Sensory-motor Couplings plus Strategy Extensions for the TORCS Car Racing Challenge COBOSTAR Cognitive BodySpaces for Torcs based Adaptive Racing.
By Austin Borden, Qihan Long, and Jim Pratt Racing Game A.I.
Test review. a. Gravel Roads. b. State Highways c. Interstate Freeways d. Parkways.
ELECTRONIC STABILITY PROGRAM (ESP) LECTURER NAME: MR
Vehicle Operation Basics
A Seminar Presentation On AERODYNAMICS OF F1 RACING CAR
Assessing and Managing Risk
Natural Laws & Car Control
CHAPTER 6 BASIC MANEUVERS.
The Driving Task The driving task is everything it takes to operate a motor vehicle. The three skills of the driving task are: A. Physical-coordination.
Transportation Tuesday TRANSPORTATION TUESDAY Even at 25mph, the force of a head-on collision is the same as pedaling a bicycle full-speed into a brick.
The Story Skid Marks Tell
Right and Left Turns.
CSE 380 – Computer Game Programming Pathfinding AI
VEX Drive Systems Presented by Chani Martin Lauren Froschauer Michelle Gonzalez Presented by Chani Martin Lauren Froschauer Michelle Gonzalez.
Winter Driving Safety Tips. Winter Driving  Drivers should be able to recognize and effectively deal with hazardous driving conditions  Prepare yourself.
Nonholonomic Multibody Mobile Robots: Controllability and Motion Planning in the Presence of Obstacles (1991) Jerome Barraquand Jean-Claude Latombe.
Introduction What is this ? What is this ? This project is a part of a scientific research in machine learning, whose objective is to develop a system,
Steering Behaviors For Autonomous Characters
Chapter 12 Driving in Adverse Conditions
DAMN : A Distributed Architecture for Mobile Navigation Julio K. Rosenblatt Presented By: Chris Miles.
Chapter 5.4 Artificial Intelligence: Pathfinding.
Autonomous Control of Scalextric Slot Car on User-Defined Track Siddharth Kamath Souma Mondal Dhaval Patel School of Electrical and Computer Engineering.
Performing Basic Vehicle Maneuvers
By Emily Cohen. Hit the Track! The first video racing game is said to be by Atari back in 1974 called Grand Track 10 Then: Now:
Ultimate Super Cars: MV Presented by: Rishi Parmar Michael Asavareungchai.
AI Architecture for Racing Vehicle Control November 3, 2004 Upmanyu Misra.
Artificial Intelligence in Game Design Camera Control.
Natural Laws and Driving
TRAINING TOOLS WORKING TOGETHER SKIDCAR and SIMULATORS USING AVAILABLE TOOLS TO MAKE BETTER DRIVERS.
Chapter 5.4 Artificial Intelligence: Pathfinding.
Open Differentials Naeem Shariff.
Execution Control with If/Else and Boolean Functions
Collisions When a collision occurs, everyone pays. Indirect costs to society in the form of higher auto and medical insurance premiums.
Jorge Munoz, German Gutierrez, Araceli Sanchis Presented by: Itay Bittan.
lesson 5.3 DECIDE AND EXECUTE
LITERATURE SURVEY 1.EFFICIENT PATH PLANNING IN SEMI- FAULT TOLERANT ROBOTICS 2. Caesar robot.
lesson 3.3 STARTING, STOPPING, STEERING, AND TARGETING
Note: 90% of the driving task is visual!
ESP Electronic Stability Programs
CO1301: Games Concepts Dr Nick Mitchell (Room CM 226) Material originally prepared by Gareth Bellaby.
912 : Divya.Kudalkar 930 : Sneha.Rao 961 : Riti. Gadagkar 964 : Soumya.Duddagi K.L.E. Society’s B.V.B College of Engineering & Technology Vidyanagar, Hubli.
Vehicle Balance Weight Shifts Change Vehicle Balanced DROPS Front LIFTS Rear T – 2.28 Topic 4 Lesson 2 Accelerating, braking, or steering shifts the vehicle’s.
Game Maker Terminology
Artificial Intelligence in Game Design Complex Steering Behaviors and Combining Behaviors.
Demonstration Design Light Sensor Truck Light As the truck passes the light, the light sensor turns off the power to the truck, ensuring that the truck.
Lesson 3.3 STARTING, STOPPING, STEERING, AND TARGETING It takes considerable skill and practice to develop habits that will allow you to move the vehicle.
Managing Risk With the IPDE Process
Autonomous Robots Robot Path Planning (3) © Manfred Huber 2008.
Artificial Intelligence in Game Design Lecture 8: Complex Steering Behaviors and Combining Behaviors.
1.0 Physics of the Soap Box Derby.. Goals/I can…  maximize potential energy in the car  maximize acceleration  demonstrate the most efficient conversion.
UNIT 6 VEHICLE HANDLING THE EFFECT OF CONDITIONS
Circular Motion. Rotational Quantities A O r  dAdA A point on an object, located a distance r from a fixed axis of rotation, rotates in such a way that.
Perspective Drawings Linear perspective is a geometric method of representing the apparent diminishing of scale as the distance from object to viewer increases.
CS320n –Visual Programming Execution Control with If / Else and Boolean Functions (Slides 6-2-1) Thanks to Wanda Dann, Steve Cooper, and Susan Rodger for.
Automotive Differential
Vehicle Balance, Traction Loss, Roadway and Vehicle Technology Driver Education.
Module 5 Brooke, Kendra 1 st Block Y day. Processing Information A driver needs time, space and visiblity to safely operate a vehicle. A vehicle needs.
The Story Skid Marks Tell
Chapter 5.4 Artificial Intelligence: Pathfinding
The Story Skid Marks Tell
Natural Laws and Car Control
Orientation to Controls Moving Stopping & Steering Smoothly
Stringing your car to determine wheel alignment is decidedly old school, but it's also effective, efficient and cheap. Begin by placing your car in a level.
Chapter 12 Driving in Adverse Conditions
ESP Electronic Stability Programs
OPTIONS AND RESPONSES CHAPTER EIGHT.
CO Games Concepts Week 12 Collision Detection
Presentation transcript:

Racing Vehicle Control Adam Balgach asb7@cse.lehigh.edu

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

Track Space Track modeled as long strip with fixed width=1 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 fLengthPos = X.yy X = position on track Yy = %done with the current position

Track Space For car not seen: fWidthPos=.75 fLengthPos=42.333

Downforce AI System Note Layers, all take same input

Layers in AI Operate in Psudeo-Parallel Behaviors 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 Layer Interaction – Layers can Override the results of other layers Layer mode switiching – defesive to aggressive

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 to follow vehicle racing line Steering to converge back onto racing line if lost Since working from same input data, subtasks can be independent Saves in computational time Less code

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. Corner – a section of track which the vehicle is unable to ravel through at its current speed without losing control

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

Avoidance Cont… Side-to-Side collisions Front-to-Back 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. Avoids collisions that have not been done by the Optimum Road Position Layer Side-to-side: Only does this if does not have race priority Front-to-Back: only occurs when cars are very close, to encourgae high speed passing/drafting.

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

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

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

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

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

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 > threshold value, actual slip is calculated

Slip Cont… Also a min throttle value to start slipping to force high power-weight cars wouldn’t 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)

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.

Demo 2 Show the Demo…

AI System Wrap Up Modular Independent Scalable Representational abstractions Sensor “eyes” Track Space

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, doesn’t mean an optimal race line will occur from sticking pieces together Predetermined segments, have predetermined racing lines

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.

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.

Points, and Vectors… Joined by vector AB, BC These vectors make up angle alpha Applying a small force to f proportional to alpha:a,b,c the points move in such a way That alpha is reduced. This process if repeated over and over, until an optimal path is produced

Anyone Remember Physics 21? Now show demo…

Model App Show the App

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

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 No mistakes, logical names, comments, etc. Layering – as seen in the previous AI

Layered Example

What else can be done? Include a debugger Make AI visible to players

Summary A Good AI System is made of Layers Mathematics Influenced 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