IP Library Granted Patent US 7,953,521
Granted Patent B2
US 7,953,521 · App. 11/323,697 · Granted May 31, 2011

Learning controller for vehicle control

Assignee: Microsoft Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,953,521
App. No.
11/323,697
Granted
May 31, 2011
Kind
B2
Abstract

A learning controller overcomes tuning problems in vehicle simulation programs by estimating requisite vehicle-specific parameters, effectively learning from its mistakes, as the vehicle is automatically driven around a track. After a sufficient period of calibration, the learned parameters are automatically saved to a car-specific file. The file parameters may be loaded in the controller in the future to optimally control a vehicle without the need to re-run the learning procedure.

Claims (52)

1. A method for optimizing a set of vehicle-dependent control parameters for use in controlling a vehicle, the method comprising

establishing an initial set of vehicle-dependent control parameters, the vehicle-dependent control parameters comprising car-specific values for control functions including at least one of braking, accelerating or steering;

computing a first set of vehicle control values based upon the initial set of vehicle-dependent control parameters;

computing a first set of motional data for the vehicle at a first time;

controlling movement of the vehicle based upon the first set of vehicle control values;

computing a second set of motional data for the vehicle at a second time later than the first time;

computing a revised set of vehicle-dependent control parameters based upon a comparison of the second set of motional data with the first set of motional data;

computing a second set of vehicle control values based upon the revised set of vehicle-dependent control parameters;

without user intervention, iterating through these operations by replacing the initial set of vehicle-dependent control parameters in the establishing operation with the revised set of vehicle-dependent control parameters for each successive iteration until an optimal set of vehicle-dependent control parameters is computed;

storing the optimal set of vehicle-dependent control parameters; and

using the stored optimal set of vehicle-dependent control parameters by a control system to maintain a computer-controlled car along a path in a computer video game.

2. The method of claim 1 , wherein the revised set of vehicle-dependent control parameters is dependent upon a velocity of the vehicle.

3. The method of claim 1 further comprising

subdividing the revised set of vehicle-dependent control parameters into discrete value ranges; and

storing the revised set of vehicle-dependent control parameters in a single-dimension table according to the discrete value ranges.

4. The method of claim 1 further comprising

subdividing the revised set of vehicle-dependent control parameters into discrete value ranges; and

storing the revised set of vehicle-dependent control parameters in a multi-dimension table according to the discrete value ranges.

5. The method of claim 1 further comprising adapting the second set of vehicle control values to control at least one of vehicle steering, vehicle acceleration, and vehicle braking.

6. A method for optimizing a set of vehicle-dependent control parameters for use in controlling a vehicle, the method comprising

during vehicle simulation, inputting an initial set of vehicle-dependent control parameters into a controller;

computing under direction of the controller an initial set of vehicle control values based upon the initial set of vehicle-dependent control parameters;

inputting the initial set of vehicle control values into a physics engine;

controlling movement of the vehicle under direction of the controller based upon the initial set of vehicle control values;

inputting a first set of motional data for the vehicle at a first time output by the physics engine into a learning system;

inputting a second set of motional data for the vehicle at a second time later than the first time output by the physics engine into the learning system; and

computing a revised set of vehicle-dependent control parameters under direction of the learning system based upon a comparison of the second set of motional data with the first set of motional data;

computing a second set of vehicle control values under direction of the controller based upon the revised set of vehicle-dependent control parameters;

without user intervention, iterating through these operations by replacing the initial set of vehicle-dependent control parameters in the first inputting operation with the revised set of vehicle-dependent control parameters for each successive iteration until an optimal set of vehicle-dependent control parameters is computed;

storing the optimal set of vehicle-dependent control parameters; and

using the stored optimal set of vehicle-dependent control parameters by a control system to maintain a computer-controlled car along a path in a computer video game.

7. The method of claim 6 , wherein the revised set of vehicle-dependent control parameters is dependent upon a velocity of the vehicle.

8. The method of claim 6 further comprising

subdividing the revised set of vehicle-dependent control parameters into discrete value ranges under direction of the learning system; and

storing the revised set of vehicle-dependent control parameters in a single-dimension table under direction of the learning system according to the discrete value ranges.

9. The method of claim 6 further comprising

subdividing the revised set of vehicle-dependent control parameters into discrete value ranges under direction of the learning system; and

storing the revised set of vehicle-dependent control parameters in a multi-dimension table under direction of the learning system according to the discrete value ranges.

10. The method of claim 6 further comprising adapting the second set of vehicle control values under direction of the controller to control at least one of vehicle steering, vehicle acceleration, and vehicle braking.

11. A method for optimizing steering parameters for using in controlling a vehicle, the method comprising:

(a) using a processing unit coupled to a memory, initializing running average variables stored in a two-dimensional table indexed based on a steering angle and a velocity;

(b) computing a current vehicle heading and a current vehicle velocity;

(c) accessing a racing line, computing a target point and calculating a desired yaw rate;

(d) running a control process which produces a desired steering angle;

(e) running one game physical simulation step for a pre-specified time period;

(f) computing a new car heading;

(g) computing an actual yaw rate over the pre-determined specified time period;

(h) computing table indices based on the steering angle and the velocity;

(i) updating running average variables of an entry stored in the two-dimensional table indexed based on computed tables indices;

(j) iterating through steps (b)-(i) until a pre-determined criteria has been met; and

(k) saving the running average variables stored in the two-dimension table to a vehicle-specific file.

12. The method of claim 11 , wherein the pre-determined criteria is based on a measure of accuracy of the control process.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034543/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 17, 2006
From: TIPPING, MICHAEL; HATTON, MARK ANDREW; BRUMITT, BARRY L.
To: MICROSOFT CORPORATION
Reel/Frame 017630/0289 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 26, 2006
From: TIPPING, MICHAEL; HATTON, MARK ANDREW; BRUMITT, BARRY L.
To: MICROSOFT CORPORATION
Reel/Frame 017529/0217 →
Continuity (1)
Related Publication 20070156294A1 · Jul 5, 2007