1.  Field of the Invention
The present invention relates to the control of torque in a vehicle.  More particularly, the present invention relates to coordinating rapidly changing torque demand in an automotive vehicle with a plurality of torque producing elements. 
2.  Background Art
Vehicle control systems accept requests from the vehicle driver and various vehicle components as well as output from vehicle parameter sensors.  Vehicle controllers use these inputs to generate control signals for vehicle equipment.  Conventional control systems applied to automotive vehicle applications were used to improve engine operation in order to reduce vehicle emissions.  Since these early attempts, engine controls have continued to grow in complexity as opportunities are identified to make further improvements in performance, emissions, fuel economy, and the like.  Since the engine controller is still typically the most complex control system on the vehicle, it remains the primary repository for most new vehicle control algorithms as they are developed.  This has resulted in two problems with conventional engine controllers. 
First, several control features that reside in the engine controller are not engine specific.  For example driver demand algorithms, which determine the desired traction torque or force required by the driver, are often resident in the engine controller.  These algorithms are required for any vehicle, regardless of the type and number of torque generators, and are not therefore engine specific.  Another example of algorithms routinely integrated into the engine controller is passive anti-theft algorithms.  By not purposely distinguishing these algorithms from the base engine control algorithms, modular design, testing and implementation of the control system becomes much more difficult. 
A second problem with conventional engine controllers is that many of the algorithms in the engine controller are engine system centric.  Since the engine controller has historically been the predominant controller in the vehicle, many algorithms have been written assuming that the engine specific information is always available.  For example, the interface between the transmission and engine control functions used for torque reduction during shifting is written in terms of spark angle rather than torque.  This type of architecture is not conducive to adding other torque producing devices to the drive line such as, for example, an electric motor. 
At the same time that engine control systems have been growing in complexity, control systems have been added to other subsystems on the vehicle with the intention of improving various aspects such as safety, durability, performance, emission control and the like.  Typically, these control systems are implemented as stand alone systems that provide little or no interaction with the other control systems on the vehicle. 
New vehicle technologies such as hybrid electric power trains, advanced engines, active suspensions, telematics, and the like are increasingly incorporated into the vehicle.  As these technologies emerge and are targeted towards production vehicles, the interaction between subsystems grows ever more complex.  To achieve increasingly more stringent requirements on vehicle objectives for emissions, safety, performance, and the like, the interactions between major subsystems in the vehicle need to be coordinated at the vehicle level. 
Interactions between separate subsystems is particularly troublesome when coordinating rapidly changing torque requests between separate subsystem controllers.  For example, the traditional engine-centric controller cannot make fast torque decisions for non-engine torque producing components. 
What is needed is a functional structure that allows several torque producing devices to be coordinated at the vehicle level.  This structure should be flexible, permitting application in a wide variety of vehicle configurations.  In addition, this structure should be readily implemented in current and future vehicle control systems.