Page 91 - Designing Autonomous Mobile Robots : Inside the Mindo f an Intellegent Machine
P. 91
Chapter 5
Tuning such controls is an iterative process. Normally, the control is first run with all gains
but one or two set to zero.
Learning gains
For systems with an error integral term, it is a fairly simple matter to write code that
can learn the rabbit gain just discussed. The process is one of finding reasonable para-
meters for the integral and proportional gains, and then allowing the system to reach
a quiescent state in the region of typical operation.
The integral term should come to replace the proportional term, and at this point, it
is divided by the set point to provide the rabbit gain. Since this will replace the
power previously being supplied by the error integral term, the integral accumulator
is dumped, and the new rabbit term generates the entire output required.
If the rabbit gain was already nonzero, then the old rabbit term must be added to the
error integral term and then the result divided by the set point to calculate a cor-
rected rabbit gain.
The rabbit derivative gain can then be determined by turning all gains to zero except
the rabbit gain. The rabbit is then commanded to begin a smooth transition and the
rabbit derivative gain is trimmed to make the slope of the reading match the slope of
the rabbit.
Tuning robot position controls
In the case of motor controls, the simple gain learning processes previously described
may not be practical. It is theoretically possible to write adaptive controls that can
adjust their own parameters dynamically, but such techniques are well beyond the
scope of this chapter. The simplest method is the remote tuning process.
Motor controls may be velocity commanded, but in robots they are more commonly
position commanded. The velocity desired is imparted through the motion of the
rabbit. In most cases, absolute velocity accuracy is not as important as smoothness.
A position-seeking control will normally consist of a rabbit velocity term, a rabbit
derivative (acceleration) term, an error proportional term, and a less significant error
derivative term. Since no power is required to hold a robot at the same place (on a flat
surface), there is no need for a rabbit term. On a slope, the error proportional term
should be adequate to prevent the robot from rolling once it has stopped. This
implies that the power will remain on to the control when the rabbit has stopped,
and this brings about other issues.
74

