In the context of this problem, the term "control" refers to the systematic numerical strategy or algorithm which is used to command or actuate the two onboard motors in order to attain and/or maintain the desired motion of the wheelchair. The consequence of implementing the control should be "robust"; that is, it should result in a stable, smooth recovery of the desired output sequence despite reasonable, temporary disturbances, despite departures from the path, and/or despite errors in the system model.
For the moment, consider the input to our system (or our "plant") to be the two wheel velocities
and
. The output will be the sequence of the quantities of interest, X, Y, phi, as well as the speed,
. For reasons that will be considered later, reasons having to do with Newton's laws and Faraday's law, wheel velocity cannot actually be prescribed directly. But for the moment, let's assume that they can.
Regarding
and
as our control input, then, satisfaction of the prescribed speed,
, at any given instant, is a simple matter of selecting
and
, i.e. from the definition of alpha:
.
(Quicktime Anim. 250K or MPEG Anim. 250 K)
At this time, several points should be noted:
(1) Vehicle speed at any juncture during a given maneuver can be based on any or all of several possible considerations involving the safety of the rider, the accuracy of path tracking, the radius of curvature of the path, and so on.
(2) The above relationship between vehicle speed and wheel speed depends on not having wheel slip. For our purposes, small amounts of wheel slip are a "reasonable disturbance," and hence something relative to which the full control system should be robust.
(3) Speed control itself is "open-loop," or determined without reference to ongoing measurements, or "feedback." Nonetheless, this open-loop quantity is not sufficient to determine the inputs
and
. But rather, the prescribed
must be combined with
The quantity u is determined using feedback. As seen below, this steering-related quantity is determined on the basis of a comparison between the current, estimated position/orientation and the reference path..
Consider the path of a robot where u is held constant at
. The third kinematic equation of motion becomes
(3).
Hence
and the radius of the traversed circle is:
.
Thus we see that u is related to the radius of curvature of the path. A value of u = 0 corresponds to a straight-line path, whereas a positive value of u turns the vehicle to the left and a negative u turns the vehicle to the right.
It remains to determine a "control law" - in this case an equation which will calculate u based on the need to turn right or left.
Consider the trace of a previously planned path, represented as a sequence of short, straight-line segments as shown with the white line. The current estimated sequence of actual chair positions (yellow line) has drifted off of this line as shown. Clearly, it is desired to steer right, but how much? And based on what specific criteria? The autonomous system requires a control law.
Ordinarily, control laws are based on a time-driven reference. Such a strategy, in our case, where we want to specify vehicle speed "open-loop," is clearly inappropriate, however.
Consider instead, the way that a human driver would straddle the white line of a highway. The driver steers toward a portion on the highway's white line that is "close" to where he is currently or where he shortly will be. But this intuitive idea requires a specific algorithm to determine u automatically.
The details of this algorithm are found in the in-depth discussion of the control law. Briefly, the strategy entails a geometric location of the juncture along the reference path which intersects the line that is normal to the vehicle's velocity and that passes through the axle midpoint, as shown in the figure. Additional "rules" (such as not allowing the reference point to proceed in a direction opposite to the progression of the path, not allowing a "skipping" of reference-path segments, and so on) ensures a complete execution of the path, as well as tracking stability.
The analysis of stability with this geometric strategy for advancing the reference point, coupled with the separate, open-loop speed specification, is somewhat different from the usual stability analysis. A realistic stability analysis, moreover, must entail inertial or kinetic considerations as well as considerations of actuator dynamics. While it is true that the control law is determined based on geometric and kinematic considerations only, the closed-loop behavior of the full system which results from the application of this control law is inextricably tied to kinetics. A full discussion of this matter is found in the section titled system dynamics and stability.
The assessment of the "steering" control u is based on the quantity
, as defined in the figure above, and
, the current error in direction. This angular error is found from knowledge of the point along the reference path at which the aforementioned intersection occurs. Recall that, during the teaching procedure, path estimates included both a position and an orientation sequence. Thus, knowledge of the reference point along the path during tracking is accompanied by knowledge of the corresponding reference orientation,
. If the current estimate of the vehicle's orientation is phi, then the orientation error is given by
.
The form of the controller which is used is "PID" control (discussed in more detail in system dynamics and stability). In general, we include a proportion, derivative, and integral term for both
and
. Thus,
where each of the six coefficients k represent "gains" which are selected in advance.
The movie sequence above illustrates the closed-loop behavior of the system beginning from a point where the error is large. Note that the completed portion of the reference path, left in black, grows, but in an erratic way. This fact in no way affects the tracking speed, however, because the speed is set independently. Rather, the moving point on the reference path represents the current juncture along that path toward which the wheel is steering.
Continue to: Contingencies
Return to: Consequences of Nonholonomic Kinematics