Академический Документы
Профессиональный Документы
Культура Документы
Position control
Petter Karlsson
Mälardalen University
P.O. Box 883
72123 Västerås, Sweden
pkn09001@student.mdh.se
ABSTRACT
In many applications where some kind of motion is per-
formed, for example in robotics, it is of high importance
to be able to control how a certain angular motor position is 1a: Jerk profile
0.02
reached. To this end, motion profiles are used. These pro-
files often define how the velocity varies during the traversal
3
pulses/s
from the starting position to the desired position. It is rel-
0
atively easy to let a controller act on the set velocity and
a velocity feedback to achieve decent velocity following, but
not as easy to also make sure that the correct position is −0.02
kept along the route as well as in the end. 0 100 200 300 400 500 600
time
In this paper, four approaches to manage position control 1b: Acceleration profile
alongside velocity profiles are presented and discussed. The 2
first approach is based on continuous velocity control in an
2
pulses/s
Keywords
50
Motion control, position control
0
1. INTRODUCTION −50
In motion control applications, velocity profiles are used in 0 100 200 300 400 500 600
time
order to achieve a controlled acceleration and deceleration 4
x 10 1d: Position profile
with respect to desired velocity and position. In contrast 6
to pure PID (proportional, integral and derivative) position
control, this gives the system a much higher level of de- 4
pulses
the integral term pushes the motor towards the set position
after the profile has been traversed. In reality, the friction
of the system would probably be too high for the output of
the integral term to overcome it, leading to an early stop in
Velocity following
this example. Further, most PID controllers are equipped
5
Velocity
with an anti-windup system, stopping the integral term from
4 growing uncontrollably. Once the anti-windup threshold has
Set velocity
been reached, the integral term won’t represent the missing
Velocity
3
distance to the set position any more.
2
1 There are, of course, other controllers that can be used with
0 this method but in order to be reasonably sure that the mo-
0 2 4 6 8
tor will end up close to the set position, an integral term
Time is necessary. The anti-windup threshold of this term would
have to be set rather high in order to guarantee that it will
Figure 3: Velocity following of (ideal) PID veloc- not usually be reached and the velocity measurement would
ity controller. The graph shows how the measured have to be continuous and extremely exact. These require-
velocity follows the velocity profile. ments are very hard to fulfill and this approach is therefore
very impractical.
3 10
Position
2
1
5
0 Position
0 2 4 6 8 Set position
Time 0
0 2 4 6 8
Time
Figure 7: Velocity following of PID controller based
on discretized position error. The graph shows how
Figure 8: Position following of PID controller based
the measured velocity follows the velocity profile.
on discretized position error. The graph shows how
the measured position follows the inferred position
profile.
profile. [5] instead proposes a system based on a cascaded
controller, similar to the setup which I will examine more
closely in section 2.4.
control system, the integrator works with the error position,
so as long as S > 0 the integral term will keep growing.
2.3 Incremental position control This will guarantee that as long as the system is stable, the
A method that is used in various motion control chips is a set position p will eventually be reached. One of the strong
kind of incremental position control [1]. Using a velocity advantages of this method is its simplicity; the only input
profile as a source, the expected position at every sample needed is a position feedback.
interval is calculated. The control signal applied is then
based on the difference between the expected position at the
next time step and the current position. This method will 2.4 Cascaded P-PI control
require a discrete system and the velocity is then preferably A setup as depicted in figure 9 will make sure that the ve-
expressed in the number of sensor pulses per control loop locity profile, as well as the position profile that can be in-
period. ferred from the velocity profile, is followed. The basic idea
is that the inner PI loop controls the velocity and that there
The example setup I have used is based on zero order hold is an additional outer loop consisting of the position error
circuits for discretization and uses a PID controller to min- multiplied by a gain. The PI loop will make sure that the
imize the position error according to figure 6, giving the velocity profile is followed (see figure 10) and the additional
position following of figure 8. P term will compensate for any mismatch of position that
occurs (see figure 11).The integral property of the PI loop
One way to avoid integration of the velocity feedback is to makes sure that any residual position error will eventually
use a position sensor instead. This could be an absolute en- be eliminated.
coder or, which is very common, an incremental quadrature
encoder [3]. In a discrete implementation of this controller, the current
velocity can quite easily be measured by differentiation of
This method makes the system independent of any velocity the position feedback. This makes it similar to the incre-
measurement, with the possible drawback of decreased pre- mental PID controller of section 2.3 but with the added
cision in velocity which can be hinted in figure 7. In this functionality of velocity control.
Figure 6: Velocity control based on discretized position error.
3. CONCLUSIONS
Velocity following We have now seen multiple ways of making sure that a set
5 Velocity
position is reached, following a velocity profile.
Set velocity
4 Using only velocity based control will not guarantee that
the set position is reached under all conditions. The two
Velocity
3
factors that make this approach nearly unusable is that a
2 continuous and very exact speed measurement is necessary
and that the anti-windup mechanism of the integral term
1 can destroy the linear connection between the terms value
0 and S.
0 2 4 6 8 The above situation can be solved by switching to a position-
Tim
based control method at a certain time, position, velocity
or acceleration. This approach has the downsides that the
Figure 10: Velocity following of a cascaded P-PI con- landing time will be increased and that the constants of the
troller. The graph shows how the measured velocity equations determining where to switch control method are
follows the velocity profile. hard to define.
Position following This paper deals only with the problem of making sure that
15 position control is achieved alongside a velocity profile. A
continuation of this work could be an investigation of the
disturbance rejection properties of these and other methods.
10
Position
4. REFERENCES
[1] J. U. Cho and J. W. Jeon. A motion-control chip to
5
Position generate velocity profiles of desired characteristics.
Set position ETRI Journal, 27(5):563–568, October 2005.
0 [2] G. Ellis and R. D. Lorenz. Comparison of motion
0 2 4 6 8 control loops for industrial applications. IEEE IAS
Time Annual Meeting, 4:2599–2605, October 1999.
[3] R. O. Jr. Incremental optical encoder system
Figure 11: Position following of a cascaded P-PI con- forabsolute position measurement. US. patent,
troller. The graph shows how the measured position 4,079,251, August 1976.
follows the inferred position profile. [4] K. Ohishi, K. Ohnishi, K. Miyachi, and K. Tamaki.
Microprocessor-based robust control of a dc servo
motor. IEEE Control Systems Magazine, 6(5):30–36,
October 1986.
[5] H.-M. Ryu and S.-K. Sul. Position control for direct
landing of elevator using time-based position pattern
generation. IEEE IAS Annual Meeting, 1:644–649,
October 2002.