Date: Tue, 14 Jan 1997 23:00:30 GMT Server: NCSA/1.5 Content-type: text/html
controlCar
that
implements one step of a successive approximation control
algorithm.
Given a set of sensor values, controlCar
returns an
approximation of the actuator parameter values, but, if it is also
(optionally) given a previous approximation of its output for the
same input, it returns a better approximation.
Further assume that controlCar
will be the only user
program running on your system, and that invoking it at the proper
times with the correct inputs will be the task of your special
purpose OS.
Your OS would have to observe the constraints imposed by the
physical properties of the various components of the car,
by driving convenience, and, most importantly, by the
necessity to maintain the safety of human passengers.
The physical properties of the actuators dictate a maximum allowable
rate of change for the actuator values.
(Some of the physical properties of the system are handled by the
function controlCar
, however the OS still needs to
maintain basic constraints.)
Driving convenience includes such issues as the delay between
pressing on the gas pedal and the beginning of acceleration being
imperceptible (say 100ms).
Safety dictates that certain functions be more important than
others, and places time limits on the allowable response times.
For example, when the driver depresses the brake pedal, the brakes
must be applied within 10ms, for example.
A general requirement is that the OS should use the best
approximations for the actuator values that can be obtained by
successive calls to controlCar
without violating more
important requirements.
The main design decision for your OS will be whether to adopt a software architecture based on polling or interrupts, or perhaps a hybrid.
As part of your design, you should specify:
controlCar
?