Upload
others
View
20
Download
1
Embed Size (px)
Citation preview
1
HIGH RESOLUTION ANALOGICAL MEASUREMENT OF THE ANGULAR VELOCITY OF A
MOTOR USING A LOW RESOLUTION OPTICAL ENCODER
José G. N. de Carvalho Filho
1, Elyson A. N. Carvalho
1,2, Lucas Molina
1,3, Eduardo O. Freire
1 and Benedito A. Luciano
2
1 Electrical Engineering Nucleus of Federal University of Sergipe – NEL/UFS
Av. Marechal Rondon, S/N, São Cristóvão-SE, Brazil, 49100-000
[email protected]; [email protected]; [email protected]; [email protected]
2 Electrical Engineering Departament of the Federal University of Campina Grande – DEE/UFCG
Av. Aprígio Veloso, 882, Bodocongó, Campina Grande-PB, Brazil, 58109-900
3 COPPE of the Federal University of Rio de Janeiro – COPPE/UFRJ
Cidade Universitária, Ilha do Fundão, Rio de Janeiro-RJ, Brazil, 21945-970
Abstract: Dead-reckoning is the most widely used method
to determine the instantaneous pose of a mobile robot. As a
way to improve dead-reckoning, an analogical system to
measure the angular velocity of a motor based on the use of
an optical encoder was proposed and implemented. The
encoder’s output signal is fed into a PLL (phase-locked
loop) and its VCO (voltage-controlled oscillator) output is
proportional to the angular velocity of the motor. Using an
A/D converter the information is available to be used in
digital control by a microcontroller. The obtained exactness
and response time depend only on the used A/D converter.
The paper presents a briefly overview about dead-reckoning
and a detailed description of the proposed method.
Simulation results are then presented to illustrate the
proposed system performance.
Keywords: angular velocity measurement, optical encoders,
PLL, dead-reckoning.
1. INTRODUCTION
Nowadays, the robots are no longer confined to the well
structured and known industrial environments, where the
ability to perform just repetitive tasks may be just enough.
They are already being used to perform several tasks that
demand a certain degree of “intelligence”. The necessity of
safe and effective interaction with non-trained personal and
increasingly mobility are some of the greatest challenges
that are currently motivating the research in the field of
robotics.
As a consequence, mobile robots are already being
designed and used for industrial applications, where the
accomplishment of tasks with a high level of precision,
exactness and speed, at a low cost, is required. Mobile
robots are also used to replace the man in dangerous tasks or
hostile environments, like to disarm bombs or space
exploration. Now, they are being used even in the search of
comfort, playing some domestic tasks, like cleanness and
organization.
Such applications often demand a high degree of
precision and exactness of the robots during the
accomplishment of the attributed tasks. These characteristics
are obtained, generally, from the use of feedback controllers.
Optimal estimators may also be applied, due to the fact that
robot’s pose, and maybe other state variables, must to be
known during the execution of the task.
Dead-reckoning is the most widely used method to
determine the instantaneous pose of a mobile robot [1]. Two
basic approaches are commonly used: the absolute and the
relative ones, and their detailed description are presented in
[1]. The absolute position measurement methods are usually
based on the use of active or passive landmark detection,
map searching, or satellite data, etc. On the other hand,
relative position measurement methods infer the position of
the robot in the scene by the integration of velocity
measurements and the knowledge of the its initial pose. The
integrative nature of the relative approaches results in
incremental localization errors. Despite of this, they are
more used than the absolute systems due to their easier
implementation, and for this reason this paper is focused on
such relative methods.
In [1] the dead-reckoning errors are classified as
systematic or non-systematic errors. In structured and semi-
structured environments the systematic errors are dominant
and are the main cause of imprecision [1]. As a way to
significantly reduce the systematic errors due to encoder
limitations and to improve dead-reckoning performance, an
analogical system to measure the angular velocity of a motor
based on the use of an optical encoder was proposed and
implemented.
This paper is organized as follows: Section 2 is about
dead-reckoning; in Section 3, the proposed approach is
described; several simulation results are presented and
discussed in Section 4; finally, in Section 5, some
conclusions are presented and possible future works are
indicated.
High Resolution Analogical Measurement of the Angular Velocity of a Motor Using a Low Resolution Optical Encoder José G. N. de Carvalho Filho, Elyson A. N. Carvalho, Lucas Molina, Eduardo O. Freire and Benedito A. Luciano
2
2. DEAD-RECKONING
To be able to autonomously navigate in its operating
environment, a mobile robot needs some information about
such environment. This problem is known as Robotic
Mapping Problem [2]. To acquire the necessary information
regarding the environment, a wide range of sensors, such as
cameras, sonar, laser, infrared sensors, contact sensors,
radars, GPS, etc., are used [2].
Due to its easy and low cost implementation, dead-
reckoning is often used combined with other kind of sensors
to build a map of the robot operating environment. When a
map of the environment is already known, the robot can be
endowed with the capability of autonomous navigation just
through the determination of the robot pose that can be more
easily done using dead-reckoning.
Dead-reckoning is commonly implemented using optical
encoders, which consist in a disc coupled to the motor axis
and an infrared Tx/Rx pair. The disc contains holes that
allow the infrared light to pass. As the motor axis turns, the
infrared light is sequentially blocked and non-blocked,
resulting in a square-wave with a frequency proportional to
the rotor’s speed [3-6].
Knowing the angular velocity of the motors and the
robot kinematics model, it is possible to calculate the linear
and angular velocities of the robot and its pose. However, as
previously mentioned, since the position is the integral of
the velocity, the uncertainty about the real pose of the robot
tends to accumulate during the trajectory, what, many times,
makes impracticable the use of dead-reckoning.
In [1] the dead-reckoning errors are classified as
systematic or non-systematic errors. In structured and semi-
structured environments the systematic errors are dominant
and are the major cause of imprecision [1]. Some examples
of systematic errors are [1]:
Unequal wheel diameters;
Average of both wheel diameters differs from
nominal diameter;
Misalignment of wheels;
Uncertainty about the effective wheelbase (due to
non-point wheel contact with the floor);
Limited encoder resolution;
Limited encoder sampling rate.
In [1] a calibration method to reduce uncertainty
accumulation when applying dead-reckoning is presented.
Errors due to the unequal wheel diameter, misalignment of
wheels and uncertainty about the effective wheelbase where
taking into account. The systematic errors associated with
limited encoder resolution and limited encoder sampling rate
were not considered.
The new method proposed in this paper to measure the
angular velocity of a motor aims to significantly reduce the
systematic errors due to encoder limitations.
Several methods are used to determine the angular
velocity of a motor from the signal output of the encoder.
The most important ones are: M method [6], T method [6],
M/T method [6], and S method [5-6].
Among the above mentioned methods, the most used one
in the M method. In this method the number of pulses (me)
during a fixed interval of time (TS), is counted. From me and
TS it is possible to calculate the angular velocity of the rotor
[6]. This method is easy to implement and the motor model
is not necessary, but the measure exactness and the response
time are directly dependent on TS. So, in low speeds the
measure exactness deteriorates. As data acquisition is
discrete, a high resolution optical encoder is required.
In T method, the time between two pulses is measured
(Te) and the rotor velocity is calculated from Te and the
angular displacement of the rotor during Te [6]. The
advantages of this method are the easy implementation and
the fact that the model of the motor is not necessary. On the
other hand, the measure exactness and the response time are
inversely dependent on the motor angular velocity. In this
case a high resolution optical encoder is also required.
M/T method results from the combination of methods M
and T. At low speeds, the T method is used, and, at high
speeds, the M method is used [6]. The major advantages and
disadvantages of both methods, in a softly way, are
encountered in the M/T method.
The S method is obtained from the T method. To
increase the velocity range of operation, the velocity curve
is segmented and so, the velocity to each segment is
calculated as if it had started from zero. The real velocity is
given by the sum of the velocity relative to each segment
with the maximum velocity of the respective anterior
segment. Thus, the exactness obtained to lower velocities is
extended to the higher ones [5-6]. However, dependence
between exactness, response time and the angular velocity
of the motor still exists.
As a way to avoid the disadvantages of the above
mentioned methods it is possible to use the resistance Rsense
[7-8]. This method is based on the use of a resistance in
series with the motor electrical circuit, making possible to
infer the motor velocity through the measurement of the
electrical current used to feed it. Even obtaining shorter
Fig. 1. Optical encoder. a) perspective view b) lateral view.
3
response time, easy implementation and with lower size and
cost than the other methods, the S method is not widely used
due to the fact that, in this case, the model of the motor is
required, and besides, the electrical current varies as a
function of the motor load, resulting in non-reliable
measurements.
In this paper a high precision analogical method to
determine the angular velocity of a motor using optical
encoders is proposed, implemented and tested. To do so, a
PLL (phase-locked loop) is used to measure the frequency
of the encoder’s output signal, and a linear transformation is
then used to determine the angular velocity of the motor. As
the resultant measurement is in analogical form, an A/D
converter must to be used to convert it to a digital signal.
The proposed system may reach high resolutions, and
short response times, both depending on the used A/D
converter. The model of the motor is not necessary and the
costs are low, since the use of high resolution encoders is no
longer required.
3. THE PROPOSED APPROACH
3.1. The Robot Kinematics Model
The determination of the linear and angular velocities of
the robot is made based on its kinematics model. The
definition of such model is very important, since modeling
errors will produce velocity measurement errors, which will
result in cumulative positioning errors.
The unicycle model is assumed and in Fig. 2, xc and yc
are, respectively, the x and y position of the robot center of
mass. The robot linear and angular velocities are represented
by u and ω, respectively, whereas φ is the heading angle.
Using this kinematics model, the linear and angular
velocities of the robot can be obtained from the velocities of
the right and left wheels, respectively, ur and ul, according to
(1) and (2) [1, 9]:
(1)
(2)
where D is the distance between the wheels.
The kinematics model of the robot is given by [9]:
(3)
3.2. The Proposed System
This paper proposes to measure the angular velocity of a
motor (ωm) through the use of an optical encoder like shown
in Fig. 1. The angular velocity of the motor is related to the
linear velocity of the wheel (uw) by
(4)
where r is the radius of the wheel.
By its turn, the angular velocity of the motor is related to
its angular frequency (fm) by
(5)
Considering an optical encoder with n holes, the angular
velocity of the motor may be obtained from the
measurement of the encoder’s output signal frequency (fe),
by
(6)
From (4) and (6):
(7)
Thus, the encoder’s output signal frequency is a linear
function of the wheel linear velocity (uw), and one can be
easily obtained from the measurement of the other.
One way to perform frequency measurement consists in
converting frequency in voltage through the use of a PLL. A
PLL is a circuit that works through a feedback structure in
which the input signal is compared with a signal generated
by a VCO (voltage-controlled oscillator). The VCO
frequency is adjusted according to the feedback voltage
which is the result of the phase difference between those
two signals. Thus, the circuit makes use of feedback to make
the VCO frequency equal to the input signal frequency. As
the VCO makes a linear transformation from voltage to
frequency, the voltage value at the VCO input corresponds
to a measurement of its oscillation frequency, and as the
VCO frequency is equal to the encoder’s output signal
frequency, the input voltage of the VCO is an indirect
measure of the angular frequency of the encoder. By the use
of an A/D converter, this analogical measurement may be
converted into a digital form. The proposed system is
depicted in Fig. 3.
The voltage comparator and the signal conditioner
circuits shown in Fig. 3 were just used to transform the
pulsed signal provided by the optical encoder into a square-
wave with a 50% duty cycle.
Fig. 2. The unicycle model.
High Resolution Analogical Measurement of the Angular Velocity of a Motor Using a Low Resolution Optical Encoder José G. N. de Carvalho Filho, Elyson A. N. Carvalho, Lucas Molina, Eduardo O. Freire and Benedito A. Luciano
4
The fact that the measurement is in the analogical form
is valuable, since in this kind of measurement the major
disadvantages of digital measurement are attenuated or even
eliminated, such as low measurement speed; inverse
relationship between response speed and accuracy;
dependence between the encoder’s frequency and the
measurement accuracy; and the necessity to know the motor
model; are attenuated or even eliminated when using the
approach here proposed. Besides, the PLL is a very common
and costless device.
The proposed system is not hard to mount and
reproduce. For example, to the PLL circuit, in this case the
CD4046 was used, the parameters to be adjusted are just the
values of two resistors and a capacitor in the VCO circuit,
and the low-pass filter. Thus, the same circuit may be
adapted to be used under different circumstances.
These two resistors and the capacitor in the VCO must
be chosen in way to allow that the frequency in the VCO
can vary over the entire range of values that the encoder’s
angular frequency can assume. Such choice is made using
the data extracted from the graphics found in the datasheet
of the component.
The A/D converter is the part of the circuit that will
determine the data acquisition rate and the exactness of the
motor angular measurement. A/D converters with 12 and 16
bits resolution are commonly found, and the time needed to
perform a conversion is usually under 50 µs, what means a
resolution and an acquisition rate very superior to the
systems currently used in dead-reckoning. A/D converters
like these are commonly included in many commonly used
microcontrollers.
The design of the low-pass filter is determinant to a
proper operation of the proposed system, and will be
detailed in the next sub-section.
3.3. The Low-Pass Filter
Any low-pass filter, passive or active, may be used in
this system, since it has a unit gain. For simplicity, a basic
RC filter was used, whose 3dB frequency is
(8)
In order to allow a strong attenuation of the modulation
generated by the comparison between the output signal of
the encoder and the signal generated by the VCO, the 3dB
frequency of the filter (fc) must be conveniently chosen
considering the smallest possible frequency of the encoder’s
output signal (femin). Such relation is presented in (9).
(9)
However, the filter 3dB frequency should be also chosen in
order to do not attenuate the signal frequency which is
correspondent to the angular velocity of the motor. So, the
maximum possible frequency (fvmax) should also be
determined, which represents the highest frequency
component of the signal amplitude spectrum corresponding
to the encoder frequency and it is calculated using the
parameters of the robot kinematics model and the robot
control system. So, the 3dB frequency should also obey the
following relation:
(10)
The 3dB frequency limits presented in equations (9) and
(10) are shown in Fig. 4.
From equation (9), the proposed system is not able to
measure zero velocities. As this is an isolated case, such
condition may be detected just observing the encoder output
signal.
The filter order should be as high as possible in order to
avoid ripples around the measured signal. So, a digital filter
may be used in order to obtain an even more exact measure.
As the maximum variation of frequency, corresponding
to the highest variation of motor velocity, is limited by the
smaller frequency of the encoder’s output signal, to increase
the value of fvmax it is necessary to use an encoder with a
higher number of holes. Thus, for slow-varying systems, it
is possible to use encoders with a very small resolution.
It is important to notice that the encoder resolution do
not affects the measurement exactness, just affecting the
superior limit of the motor velocity.
4. RESULTS
Two systems, one based on the proposed approach and
the other based on the M method were modeled using
MATLAB/SIMULINK. The proposed approach was
Fig. 4.a) Motor velocity limits b) Encoder’s output frequency
limits c) encoder frequency variation limits.
Fig. 3. The proposed system.
5
compared with the M method, due to the fact that it is the
most used in dead-reckoning.
The answers of the two implemented systems to three
different kinds of input were simulated. The inputs were: a
square wave, a triangular wave, and a sine wave with an
increasing frequency. Each input represents the output
velocity signal (reference) sent to the motor by some
hypothetic control system.
The motor’s response to the control signal was modeled
by the following second order transfer function:
(11)
In Fig. 5, each used input and the motor’s response to it
is shown.
In Table 1 the absolute maximum values of the relevant
parameters are presented. They were taken from the Pioneer
2-DX mobile robot datasheet. Table 1. Pioneer 2 DX parameters.
Parameters Value
Maximum linear velocity
Maximum acceleration
Maximum deceleration
Wheel diameter 18.5 cm
A VCO was used to simulate the encoder’s response
when the motor is turning; transforming the reference
velocity into a signal whose frequency is proportional to
such velocity.
To simulate the system based on the M method, several
encoders with different resolutions were considered.
Encoders with 38, 128, 512, 1024, 2048 and 4096 holes
were tested. On the other hand, to illustrate the high
resolution attained by the proposed approach to perform
velocity measurement while using low resolution encoders,
the proposed system was always simulated considering the
lowest resolution encoder here used (38 holes).
Low resolution encoders are easily found, due to its low
cost and easy manufacturing. Some of the main applications
of low resolution encoders are in mouse’s circuitry. In
robotics, the use of such encoders is dramatically restricted
due to the fact that the most used methods to perform
velocity measurement are extremely dependent of the
encoder’s resolution.
The motor’s angular velocity and its measurement to
each of the different input signals using the proposed
approach are presented in Fig. 6.
The oscillations verified at the beginning of each
simulation are due to model limitations of the proposed
system. However, the system output response may oscillate
according with the design of the filter.
Fig. 6. Motor’s angular velocity (blue) and the measured angular
velocity (red) using the proposed approach with a low resolution
encoder (38 holes).
Fig. 5. Reference (blue) and output (red) angular velocities of the
motor.
High Resolution Analogical Measurement of the Angular Velocity of a Motor Using a Low Resolution Optical Encoder José G. N. de Carvalho Filho, Elyson A. N. Carvalho, Lucas Molina, Eduardo O. Freire and Benedito A. Luciano
6
The low-pass filter was designed to a cut frequency of
0.72 Hz. When the sine signal presented in Fig. 6 reaches a
frequency equal to 0.71 Hz (at time 17.5 s), which
corresponds to a motor acceleration 12.665 rad/s2, the
system starts to work beyond its operational range and the
measured velocity is no longer reliable.
The motor’s angular velocity and its measurement to
each of the different input signals using the M method are
presented in figures 7, 8 and 9. In each figure an encoder
with a different resolution is used. Such figures are provided
for the sake of comparison with the results obtained using
the proposed approach, presented in Fig. 6.
Two criteria were used to evaluate the obtained results
using the proposed approach and the M method using
encoders with different resolutions. The first one is the
correlation between the motor’s angular velocity and its
measurement. The second criterion is the relative mean error
of the measurement with respect to the motor’s angular
velocity.
The values obtained for such parameters using the
proposed approach and the M method using encoders with
different resolutions, considering the motor response for a
square signal, a triangular signal, and a sine signal with an
increasing frequency are presented in Tables 2, 3 and 4,
respectively.
As can be noticed by inspection of Tables 2, 3 and 4,
considering the motor’s response to the several reference
velocity signals, the correlation value for the output signal
of the proposed system using a low resolution encoder (38
holes) is very close to “1”, and the mean relative error is
close to zero. Such performance is comparable with the
performance obtained using the M method (a classical one)
based on an encoder with a resolution of 2048 holes. When
considering the motor’s response for a square and triangular
signal, the performance of the proposed approach was better
than the performance of the M method using an encoder
with 2048 holes, while the former method attained a better
result than the proposed approach when considering the
motor’s response for a sine signal with an increasing
frequency.
Table 2. Correlation and absolute mean error considering the systems
under evaluation and the motor’s response for a square signal.
Fig. 8. Measured angular velocity based on the M method (red)
using encoders with different resolutions, considering the motor
response for a triangular wave (blue).
Fig. 7. Measured angular velocity based on the M method (red)
using encoders with different resolutions, considering the motor
response for a square wave (blue).
7
Table 3. Correlation and absolute mean error considering the systems
under evaluation and the motor’s response for a triangular signal.
Table 4. Correlation and absolute mean error considering the systems
under evaluation and the motor’s response for a sine signal with an
increasing frequency.
When compared with the M method using an encoder
with 4096 holes (a very good resolution) the proposed
system reached a slightly inferior result. Despite of this, the
proposed approach result should be considered satisfactory,
since it was obtained using an encoder with a resolution
more than 100 times lower.
5. CONCLUDING REMARKS
The paper focused on the proposition of a high precision
analogical system to measure the angular velocity of a motor
using low resolution encoders. It was implemented and
tested by simulation with good and promising results. The
system is based on the use of a PLL and represents a good
alternative to improve the performance of dead-reckoning
based localization systems using low resolution encoders.
The proposed system has a low implementation cost and
it can be easily adapted to measure the angular velocity of
any motor, by just adjusting the value of some resistors and
capacitors, since no knowledge about the motor model is
necessary.
The resolution of the proposed system is limited by the
resolution of the A/D converter chosen to be used.
Considering the A/D converters commonly available, the
resolution that may be obtained is very high when compared
with other methods used to perform the same task. So, the
encoder resolution, a common drawback to the currently
using systems, does not limit the resolution of the proposed
approach. The encoder resolution only affects the maximum
velocity variation value that the system is able to support.
Thus, high resolution measurements may be obtained even
using encoders with a very low resolution, since this will
just impose an upper limit to the velocity variation.
Another limiting factor to the use of dead-reckoning is
the encoder data acquisition rate. For the proposed
approach, this parameter is also limited by the A/D
converter. So, the presented approach is also superior to
other methods since A/D converters with high data
acquisition rates are easily found in the market with
accessible costs.
Besides, the fact that the resolution and the acquisition
rate are limited just due to the A/D converter makes the
system’s acquisition rate and resolution independent of the
angular velocity of the motor. This contributes to enlarge the
application range of the proposed approach.
An important drawback is that the proposed system is
not suitable to measure the zero velocity and the motor’s
rotation orientation. Such isolated cases should be detected
and treated using another approach.
Future works consists in the realization of experiments
using a prototype of the proposed approach and to mount it
onboard a mobile robot.
REFERENCES
[1] J. Borenstein and L. Feng, “Measurement and Correction
of Systematic Odometry Errors in Mobile Robots,” IEEE
Transactions on Robotics and Automation, Vol. 12, No.
Fig. 9. Measured angular velocity based on the M method (red)
using encoders with different resolutions, considering the motor
response for a sine wave with an increasing frequency (blue).
High Resolution Analogical Measurement of the Angular Velocity of a Motor Using a Low Resolution Optical Encoder José G. N. de Carvalho Filho, Elyson A. N. Carvalho, Lucas Molina, Eduardo O. Freire and Benedito A. Luciano
8
6, pp. 869-880, October, 1996.
[2] G. Lakemeyr and B. Nebel. “Exploring Artificial
Intelligence in the New Millennium,” Elserver Science
& Tecnology Books – Morgan Haufmann, First Edition,
2002.
[3] N. Ekekwe, R. Etienne-Cummings and P. Kasanzides.
“Incremental Encoder Based Position and Velocity
Measurements VLSI Chip with Serial Peripheral
Interface,” IEEE International Symposium on Circuits
and Systems, 2007.
[4] H. Nagatomi and K. Ohnishi. “Acceleration Estimation
Method for Motion Control System With Optical
Encoder,” IEEE International Conference on Industrial
Technology, ICIT, 2006.
[5] T. Tsugi and H. Kobayshy. “Robust Acceleration
Control Based on Acceleration Measurement,” IEEE
International Symposium on Industrial Eletronics, ISIE,
2007.
[6] T. Tsugi and M. Mizuochi. “A velocity Measurement
Method for Acceleration Control,” 31st Annual
Conference of IEEE, Industrial Electronics Society,
IECON 2005.
[7] J. Fiene and G. Niemeyer. “Toward Switching Motor
Control,” IEEE/ASME Transactions on Mechatronics,
2006.
[8] N. Matsui and M. Shigyo. “Brushless DC Motor Control
without Position and Speed Sensors,” IEEE Transactions
on Insdustry Applications. 1992.
[9] H. A. Secchi. “Control de Vehículos Autoguiados con
Realimentación Sensorial,” Masters Thesis. National
University of San Juan. 1998.