Acessibilidade / Reportar erro

Speed Control of an Autonomous Mobile Robot: Comparison between a PID Control and a Control Using Fuzzy Logic

Abstract

An Autonomous Mobile Robot battery driven, with two traction wheels and a steering wheel is being developed. This Robot central control is regulated by an IPC, which controls every function of security, steering, positioning localization and driving. Each traction wheel is operated by a DC motor with independent control system. This system is made up of a chopper, an encoder and a microcomputer. The IPC transmits the velocity values and acceleration ramp references to the PIC microcontrollers. As each traction wheel control is independent, it's possible to obtain different speed values for each wheel. This process facilities the direction and drive changes. Two different strategies for speed velocity control were implemented; one works with PID, and the other with fuzzy logic. There were no changes in circuits and feedback control, except for the PIC microcontroller software. Comparing the two different speed control strategies the results were equivalent. However, in relation to the development and implementation of these strategies, the difficulties were bigger to implement the PID control.

Mobile robot; fuzzy control; automatic control


Speed Control of an Autonomous Mobile Robot - Comparison between a PID Control and a Control Using Fuzzy Logic

P. E. Silveira

R. de Souza Jr.

V. M. Biazotto

Universidade São Francisco

Centro de Ciências Exatas e Tecnológicas

Rua Alexandre Rodrigues Barbosa, 45

13251-900 Itatiba, SP. Brazil

paulosil@uol.com.br , rsouzajr@uol.com.br

An Autonomous Mobile Robot battery driven, with two traction wheels and a steering wheel is being developed. This Robot central control is regulated by an IPC, which controls every function of security, steering, positioning localization and driving. Each traction wheel is operated by a DC motor with independent control system. This system is made up of a chopper, an encoder and a microcomputer. The IPC transmits the velocity values and acceleration ramp references to the PIC microcontrollers. As each traction wheel control is independent, it's possible to obtain different speed values for each wheel. This process facilities the direction and drive changes. Two different strategies for speed velocity control were implemented; one works with PID, and the other with fuzzy logic. There were no changes in circuits and feedback control, except for the PIC microcontroller software. Comparing the two different speed control strategies the results were equivalent. However, in relation to the development and implementation of these strategies, the difficulties were bigger to implement the PID control.

Keywords: Mobile robot, fuzzy control, and automatic control

Introduction

Autonomous Mobile Robots (AMR) which can be considered an evolution, beginning with the auto-guided vehicles (AGVs) have been object of recent researches. Among the features that guarantee a good performance of these robots are speed and position control (Borenstein & Feng, 1996).

A two-automotive-battery AMR, with 100 kg load capacity and five-hour autonomy is being developed. Two traction wheels and one steering wheel drive this vehicle. The Robot's central control is made by an industrial personal computer (IPC) that controls safety, driving, direction, positioning and location functions. A step motor drives the steering wheel and two continuous current motors drive the traction wheels with an independent control system for each one. A switch mode dc-dc converter, a relative encoder and a PIC 16F84 microcontroller compose each control system basically. The IPC transmits the speed and the acceleration ramp values to the PIC microcontrollers. As the controls of each traction wheel are independent each wheel may have a different speed facilitating direction change and other movements.

Two speed control strategies, using a PID treatment and a fuzzy logic were used. There was no alteration in the circuits and components of the control system, except for the PIC microcontroller programming. (Chiu, 1998).

The PID control is a traditional control strategy implemented in most cases with analog circuits or microprocessor systems. This control type needs a modeling of the system, to control either the transfer function or the state space modeling.

A fuzzy logic control usually applied to hard equationment systems has also the advantage of easy implementation in microprocessor systems because it does not need either a large memory or a specific mathematical processing (Pedrycz, 1995).

An experimental comparison was made between the performances of the two controlling strategies as far as the speed control is concerned. Difficulties in the development of the project for each strategy were compared as well.

Components of the Control System

The mechanical system comprises a brushed DC motor of 24 V, permanent magnet, torque of 7.0 Nm and nominal speed of 300 rpm. Coupled to the wheel shaft, a low resolution relative encoder (32 ppr) was used to measure motor speed, which is part of the control system, as presented in Figure 1.


The pulses generated by the encoder are acquired by the PIC 16F84, an 8 bits microcontroller with an 8 bits internal counter, 1K Flash memory and 13 I/O pins. This microcontroller was used in the single chip configuration with a 4 MHz crystal external circuit to generate the clock.

The encoder pulses count, during a preset period of time, is proportional to wheel speed. This is the way the encoder is used most of the times, although in this case as the work speed is as low as 180 rpm and the number of pulses generated in each turn, 32, is also small, a number of five or more turns should be necessary for the speed measure, with an acceptable uncertainty. This would make the performance of the system very slow because any correction would only be made every five turns. A solution is a fixed number of pulses and the setting of the time spent by these pulses so that the measured time is inversely proportional to wheel speed. The chosen number of 32 pulses corresponds to a complete turn because this eliminates any encoder imperfection both in the disk and the electronic circuits answer as well. The software solves the problem of the speed being inversely proportional to measured values.

The software calculates the necessary duty cycle and generates a PWM signal with a frequency of 8.3 kHz. With a 4 MHz clock and this PWM frequency, a variation of eighty steps in the PWM wave is obtained. This proved to be enough for this application. The signal is injected in dc-dc converter supplied with 24V.

To evaluate the performance of the system a tachometer was coupled to a data acquisition board of 12 bits of resolution, 15 - s of conversion time and ± 1V of input range to acquire the speed versus time curves, with an acquisition rate of 100 samples per second.

PID Control

The controller development, according to conventional strategies, needs a previous knowledge of the nature of the plant that will be controlled. It is often necessary to make tests to determine a mathematical model that represents the system appropriately, in function of which the controller project is accomplished. In most cases the controller parameters should be adjusted "in loco" to reach the desired performance.

In the implemented PID controller, the proportional, integral and derivative gains of the controller, after mathematical model definition, were adjusted to obtain the smallest response time, low overshoot and smaller settling time.

In the control algorithm, a limit to the portion concerning the error integral was incorporated to avoid wind-up effects (Leonard & Levine, 1995) that can lead the controller to a poor performance (Shin, 1998).

The PID control programming was made without using a high level language or a floating arithmetic point. This was implemented directly in microcontroller 16F84 assembler language with all variables parameterized to work with 8 bits, and with positive and negative numbers. This allowed a higher performance on the system, in spite of the relatively low frequency of the microcontroller, 4 MHz.

Fuzzy Control

The fuzzy control for this type of motor is quite facilitated because there is just one variable for analysis, the motor speed and just one controlled variable, which is the voltage applied to the motor. To convert the numeric variables into fuzzy variables, 7 sets were defined concerning speed with a 15% superposition: high above speed, medium above speed, small above speed, normal speed, small below speed, medium below speed, and high below speed (Saneifard, 1998). No development system was used for this operation, not even for the reverse operation.

The defuzzification was made by the central gravity method (Leondes, 1998). The programming for this control type is easy because the necessary basic structure is: if...... then......else......statement with no need of calculation.

Presentation and Analysis of Results

Each controller performance was analyzed according to its step input response and each system was submitted to three load conditions, described below. The minimum load is equivalent to the effort that the motor was submitted to displace the mobile robot self weight and the maximum load is equivalent to the robot weight plus its load capacity of 50 Kg.

  • No load

  • Minimum load

  • Maximum load

The reference speed was of wr = 180 rpm for all experiments. For each condition, 10 experiments were accomplished and a large repeatability of results was obtained. In Figures 2 and 3, typical responses are shown for each controller in the three load conditions and the area where the overshoot occurs is presented in details.



It is observed a similar behavior of all curves both for PID and fuzzy control with a decrease of the over shoot as the load increases in both figures. Nevertheless, the no load curve of the fuzzy controller presented an uncommon behavior which was identified in all experiments under the same conditions. In these experiments, the overshoot was smaller but there was a big under shoot.

Table 1 shows the results for the chosen parameters. It is clear that, in spite of numeric differences, the behavior of both types of controllers is similar. For the settling time, a variation less than ±2% of the value in the steady state was considered. These results were calculated with the mean values of each group of 10 experiments. In all conditions the steady state errors were less than 1% for the two configurations and for the three loads.

Conclusion

The performance of the two control systems for a step input was similar in several analyzed aspects and both were appropriate to the final application, the mobile robot speed control, because they presented an error range of less than 1% for the three loads.

The implementation of the two control strategies presented a meaningful difference of work time, the fuzzy control implementation was much faster and simpler. The implementation in this case corresponds to the determination of the set motor/reducer and programming features because the mounted structure, relative encoder, switch mode dc-dc converter and PIC 16F84 microcontroller circuit were the same in both situations.

The PIC 16F84 microcontroller was sufficient to implement both controls, in spite of its reduced memory capacity and the low clock frequency.

Therefore both strategies are appropriate for the speed control but they should still be tested and compared within a complete control system, i.e. the mobile robot position control.

Presented at COBEM 99 - 15th Brazilian Congress of Mechanical Engineering, 22-26 November 1999, São Paulo. SP. Brazil. Technical Editor: José Roberto F. Arruda

  • Borenstein, J. & Feng, L., 1996, "Measurement and Correction of Systematic Odometry Errors in Mobile Robots", IEEE Transactions on Robotics and Automation, vol. 12, n. 6, pp.869-880.
  • Chiu, S., 1998, "Using Fuzzy Logic in Control Applications: Beyond Fuzzy PID Control", IEEE Control Systems Magazine, vol. 8, n. 5, pp 100-104.
  • Leonard, N. E. & Levine, W. S., 1995, "Using Matlab to Analyze and Design Control Systems", Addison-Wesley Publishing Company, 2nd Ed.
  • Pedrycz, W., 1995, "Fuzzy Sets Engineering", CRC Press, Boca Raton.
  • Saneifard, S. et. al., 1998, "Fuzzy-Logic-Based Speed Control of a Shunt DC Motor", IEEE Transaction on Education, vol. 41, n. 2, pp 159- 164.
  • Shin, H. B., 1998, "New Antiwindup PI controller for variable-speed motor drives", IEEE Transactions on Industrial Electronics, vol. 45, n. 3 pp 445-450.

Publication Dates

  • Publication in this collection
    21 Aug 2002
  • Date of issue
    May 2002
The Brazilian Society of Mechanical Sciences Av. Rio Branco, 124 - 14. Andar, 20040-001 Rio de Janeiro RJ - Brazil, Tel. : (55 21) 2221-0438, Fax.: (55 21) 2509-7128 - Rio de Janeiro - RJ - Brazil
E-mail: abcm@domain.com.br