[ieee 2007 ieee international symposium on industrial electronics - vigo, spain...

6
Improving navigation of an Autonomous Mobile Robot using System Identification and Control Artur Granja, Jorge Martins, Carlos Cardeira, Jose Sa' da Costa IDMEC/Instituto Superior Tecnico Universidade Tecnica de Lisboa Lisbon, Portugal Email: granjaartur @ gmail.com, (martins, cardeira, sadacosta) @ dem.ist.utl.pt Abstract- In this paper we present improvements in the track following of a differential drive autonomous robot system using system identification and control. The robot is made of industrial components and its main goal is to participate in mobile robotic competitions as well as to be used as a testbed for research and education experiments. The improvement of performance obtained by applying a controller, whose design is based on the system identification, is shown. The obtained model allows the design of a controller that improves the performance of the autonomous mobile robot, which is the main motivation in this paper. The results presented compare the performance before and after the controller design and implementation were performed. A practical approach in the identification of the robots system is presented, from the data acquisition to the controller's implementation on the mobile robot. I. INTRODUCTION The use of autonomous mobile robots is increasing in many areas. Mobile robot competitions are pushing the development of research in areas like navigation, self-localization, trajectory tracking, speed control, obstacle avoidance, task planning and coordination, object recognition, sensor integration, map building, learning and adaptation, robot cooperation, and so on [1]. The robot presented here [2](see figure 1) is being used in mobile robot competitions, namely the Portuguese Robotics open that takes place every year in Portugal since 2001 [3]. In order to control the robot and to be able to predict its behavior it is necessary to have a deep knowledge of the system, including all aspects, from the contact to the ground (friction) to the motors response and inertial effects. To improve the robot performances it is necessary to achieve higher velocities, without losing control of the robot's position and direction. This knowledge can be achieved by performing the system identification. After the system identification is performed it's possible to design a reliable controller. In this case the main objective in designing a controller for a autonomous mobile robot is to have a controller that adjusts in all applications that the robot can be used for, being the use in autonomous driving mobile robot competitions the most significant. There are many goals in such competitions, as following a track, obstacle avoidance and trajectory tracking. To fulfill the goals in such competition, minimizing the time spent, it is necessary to take speed to the limit. A controller is needed to assure that the robot's position and movements are correct and follow the tracks without significant error. If errors occur and the robot leaves the track, there are so large time penalties, which make velocity worthless without a proper controller. The case study robot's sensorial equipment is based on image acquisition made by a web-type video camera which are here treated as an intelligent sensor that provides us the location of the track (see figure 2). This option was made based in the low cost and wide applicability of this kind of cameras, that are often used for other purposes, but here they find a very different and unexpected use as intelligent sensors for robot guidance. The only other sensors used are in the closed-loop control between the motors and the servo drivers, which are the encoders that allow the speed control (see figure 2). The servo drivers receive a voltage signal from a DAQ board and supply the necessary power to set the motors to the speed that corresponds to amplitude of the signal received through the DA card. In an early stage, a simplistic approach was made, not considering dynamic properties or even a kinematics model. When the goal is to follow a reference path, a trial and error tuned proportional or proportional derivative controller is enough to assure that goal. With slow speeds, the results are acceptable, although the robot presented a slightly oscillatory behavior that becomes unacceptable at a higher velocity. In the simplest approach, using just a proportional controller to follow a reference path, the controller takes the difference between the mass center of the path and the center of the acquired image, multiplies it by the gain of the controller and sends the value to the output (see figure 10). On a second phase the robots system identification was performed, allowing to design a controller that takes into account more information about the robot. The obtained controller was implemented and tested. The results showed a stable and robustness to errors behavior, stabilizing the motion in very difficult situations, where the mass center presents significant fluctuations. These developments are presented in next sections. Finally we some the results as well as some conclusions and further work. II. G-FORCE III G-Force III, shown in figure 1, is the robot in this case study. Being the leading autonomous mobile robot of the department of mechanical engineering, Instituto Superior Tecnico, is an open project in continuous evolution that began 1-4244-0755-9/07/$20.00 (C2007 IEEE 2948

Upload: jose-sa

Post on 30-Mar-2017

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: [IEEE 2007 IEEE International Symposium on Industrial Electronics - Vigo, Spain (2007.06.4-2007.06.7)] 2007 IEEE International Symposium on Industrial Electronics - Improving navigation

Improving navigation of an Autonomous Mobile

Robot using System Identification and Control

Artur Granja, Jorge Martins, Carlos Cardeira, Jose Sa' da CostaIDMEC/Instituto Superior TecnicoUniversidade Tecnica de Lisboa

Lisbon, PortugalEmail: granjaartur@ gmail.com, (martins, cardeira, sadacosta)@ dem.ist.utl.pt

Abstract- In this paper we present improvements in the trackfollowing of a differential drive autonomous robot system usingsystem identification and control. The robot is made of industrialcomponents and its main goal is to participate in mobile roboticcompetitions as well as to be used as a testbed for researchand education experiments. The improvement of performanceobtained by applying a controller, whose design is based onthe system identification, is shown. The obtained model allowsthe design of a controller that improves the performance ofthe autonomous mobile robot, which is the main motivationin this paper. The results presented compare the performancebefore and after the controller design and implementation wereperformed. A practical approach in the identification of therobots system is presented, from the data acquisition to thecontroller's implementation on the mobile robot.

I. INTRODUCTION

The use of autonomous mobile robots is increasing in manyareas. Mobile robot competitions are pushing the developmentof research in areas like navigation, self-localization, trajectorytracking, speed control, obstacle avoidance, task planningand coordination, object recognition, sensor integration, mapbuilding, learning and adaptation, robot cooperation, and soon [1].The robot presented here [2](see figure 1) is being used in

mobile robot competitions, namely the Portuguese Roboticsopen that takes place every year in Portugal since 2001 [3].

In order to control the robot and to be able to predictits behavior it is necessary to have a deep knowledge ofthe system, including all aspects, from the contact to theground (friction) to the motors response and inertial effects.To improve the robot performances it is necessary to achievehigher velocities, without losing control of the robot's positionand direction. This knowledge can be achieved by performingthe system identification. After the system identification isperformed it's possible to design a reliable controller. Inthis case the main objective in designing a controller for aautonomous mobile robot is to have a controller that adjustsin all applications that the robot can be used for, being the usein autonomous driving mobile robot competitions the mostsignificant. There are many goals in such competitions, asfollowing a track, obstacle avoidance and trajectory tracking.To fulfill the goals in such competition, minimizing the timespent, it is necessary to take speed to the limit. A controlleris needed to assure that the robot's position and movements

are correct and follow the tracks without significant error. Iferrors occur and the robot leaves the track, there are so largetime penalties, which make velocity worthless without a propercontroller. The case study robot's sensorial equipment is basedon image acquisition made by a web-type video camera whichare here treated as an intelligent sensor that provides us thelocation of the track (see figure 2). This option was made basedin the low cost and wide applicability of this kind of cameras,that are often used for other purposes, but here they find a verydifferent and unexpected use as intelligent sensors for robotguidance. The only other sensors used are in the closed-loopcontrol between the motors and the servo drivers, which arethe encoders that allow the speed control (see figure 2). Theservo drivers receive a voltage signal from a DAQ board andsupply the necessary power to set the motors to the speed thatcorresponds to amplitude of the signal received through theDA card.

In an early stage, a simplistic approach was made, notconsidering dynamic properties or even a kinematics model.When the goal is to follow a reference path, a trial anderror tuned proportional or proportional derivative controlleris enough to assure that goal. With slow speeds, the results areacceptable, although the robot presented a slightly oscillatorybehavior that becomes unacceptable at a higher velocity. Inthe simplest approach, using just a proportional controller tofollow a reference path, the controller takes the differencebetween the mass center of the path and the center of theacquired image, multiplies it by the gain of the controller andsends the value to the output (see figure 10). On a secondphase the robots system identification was performed, allowingto design a controller that takes into account more informationabout the robot. The obtained controller was implemented andtested. The results showed a stable and robustness to errorsbehavior, stabilizing the motion in very difficult situations,where the mass center presents significant fluctuations. Thesedevelopments are presented in next sections. Finally we somethe results as well as some conclusions and further work.

II. G-FORCE III

G-Force III, shown in figure 1, is the robot in thiscase study. Being the leading autonomous mobile robot ofthe department of mechanical engineering, Instituto SuperiorTecnico, is an open project in continuous evolution that began

1-4244-0755-9/07/$20.00 (C2007 IEEE 2948

Page 2: [IEEE 2007 IEEE International Symposium on Industrial Electronics - Vigo, Spain (2007.06.4-2007.06.7)] 2007 IEEE International Symposium on Industrial Electronics - Improving navigation

Fig. 1. G-Force III.

in 2003 and is now in the third generation. G-Force III is adifferential drive autonomous robot with two R88M-W40030Hmotors, connected to a reduction gears with 1/7 transmissionrate. The motors are industrial of 230 Volt with 400 Watt,which reach 10000 rpm. The motors are controlled by Omron'sR88D-WT04H servo drivers that have a close loop control thatuses the motor encoders for feedback.The control architecture is shown in figure 2 The control is

made with encoders incorporated on the motors. This allowsthe industrial servo drivers to control the motor velocity witha considerable precision. The servo drivers are the equipmentthat operates the interface between the computer analog boardand the motors. Their main function consists of controlling themotors by making the power amplification of the commandsignal from the board. There are a series of parameters to beconfigured that make possible an adaptation of the motors tocontrol, and the conditions of its use. Among those parametersthere are the input span of signals of speed command and theadjustment of its polarity, according to the direction of rotationrequired. G-Force is a mobile robot built with a great pro-gression margin and potential. It is able to reach considerablespeed, which has increased with the developments made in thepreceding generations.

III. TRIAL AND ERROR

In an early stage the approach to control a mobile robot wasmade by trial and error. A linear control based on proportionalgain related to the difference between a reference and theactual position was used. This is the most common controller,and easier to implement, for a line follower robot. At thistime the robots velocity reached, with no oscillatory behavior,a nominal velocity of about 0.66 m/s. This nominal velocityis about 15 per cent of the motors capability. The velocityreferred as "nominal" is the velocity applied in both wheels,so that the robots velocity is measured in a straight line withoutcorrective route accelerations or oscillations. Corrective routeaccelerations can be positive or negative. A wheel can beaccelerated or decelerated, being the used method to speedup a wheel. This option was made taking into account thepower assumption made by the motors, as well as to be

Fig. 2. Speed Control Architecture.

a time saving approach. However, this option brought up asignificant problem, the wheel often slides when a powerfulcorrection is made. This problem results in an oscillatorybehavior that is unacceptable, resulting in more sliding andloss of the reference path. Once it is not possible to control thesliding that occurred, the only option is to maintain velocity inlevels that route corrections are smooth. The robots behavioris oscillatory, as seen in figure 3. This increasing oscillatorybehavior results in sliding, finishing with the loss of thereference path. This data was acquired with a simple straightline following. Manual trial and error tunning was necessaryto make the guidance stable and keep the robot following thetrack.

-0.5

5 20 25 30 35 40 45Time x 50ms

0

50

0-~~~~~~~~~--

-50

0 5 10 15 20 25 30 35 40 45 50Time x 50ms

Fig. 3. Trial and Error control on a straight line.

IV. MOBILE ROBOT MODELING

In this section all aspects taken in order to perform thesystem identification are explained. The system's inputs andoutputs are presented, how data was acquired and treated to

2949

i l ' l r l~~~~

Page 3: [IEEE 2007 IEEE International Symposium on Industrial Electronics - Vigo, Spain (2007.06.4-2007.06.7)] 2007 IEEE International Symposium on Industrial Electronics - Improving navigation

obtain the presented results. Limitations in this project arepresented as well.

A. Inputs and Outputs

Identifying a system requires inputs and outputs to beknown. In some systems this is not very clear, dependingon the control objectives. When operating the robots theinput is the acquired image (path center of mass) and theoutput are the motors speed (voltage supplied to the servodrivers). To acquire data to perform the system identificationan inverse approach was made. The input becomes the voltagein the motors and the output becomes the center of massposition in the acquired image. Correct identification wouldassure some reliability in the results. This would imply easiercontrollability of the considered input, less propitious to noise.The path center of mass calculated with the image acquiredby the acquisition device (a web-type video camera) is verypropitious to noise, due to vibrations and light sensibility.

B. Acquiring Data

The robot was positioned on a path line and step voltageswere applied on the motors. The path line center of mass wasmeasured, as shown in figure 4. This measurement includesall relevant aspect in the robots kinematics and inertial effects.Motors response is clearly not perfect, but friction, or thelack of it, plays an important role in this matter. The lowvalues of friction presented influenced the motors response,because instead of initializing the movement when expectedit showned a time delay in the movement start. The inputconsidered was the differential voltage applied and the outputthe center of mass of the path line. In this case the differentialvoltage applied is the total voltage. The data acquisition wasperformed with a null nominal voltage, which means that onlyone wheel moved at a time. Indeed this procedure does notconsider all the inertial effects, to do so it is necessary toperform this data acquisition with a nominal speed differentfrom null. However, this represents a significant increase ofthe available space needed to perform such task, which is wasnot possible at the time. This is to be considered as futurework. However with the acquired data is possible to performthe systems identification as shown in the next subsection.

C. System identificationWith the obtained data, using Matlab 2006b Identification

Toolbox, a second order model was obtained. This model re-sults directly from the used toolbox, where the user defines theparameters of the achieving model. In this case a second orderparametric model (two poles and two zeros) estimation wascarried through. The toolbox options used were no disturbancemodel, focusing on the simulation, automatic initial state andan estimated covariance. By using this method to achieve themodel's transfer function Matlab assures the use of the mostsuitable estimation algorithms.The model is a second order model due to the inclusion

of the dynamic properties of the system, as mentioned in [4].This is the lowest order possible to model a rotating inertia.

04

2 0.2

, 02

-0OAL0 6 10 16

Time x 60ms2 I20 26

8o60-

'40-

220 _

0-

10 15Time x 50ms

20 25

Fig. 4. System input and output data used in identification.

The model validation was performed using different obtaineddata from the used in the identification as shown in figure 5.The obtained model is

G S -K x exp(-Td X S)

(I)(Tpl XS)(I+Tp2XS)()where K = 7.5915e6, Td = 0.15059, Tpl = 16871 and Tp20.034351.

This model, as shown in figure 5, presents a 88.39 per centsimilarity with the system, witch is an acceptable result withthe existing conditions.

70

60

40

30

20

200 0.6 11.

Fig. 5. Measured (continuous line) and simulated model output (dashed line).

D. Limitations

The limitations in this research consist in the processingtime required to analyze the acquired image, as well as theacquisition itself. The value of 20 frames per second was usedto allow the processing time to be enough in each samplinginterval. Being the sampling interval used 0.05 seconds. Thissampling interval is considered to be more than enough, oncetime constants of the system are in the order of a few tenthsof a second, as sown in figure 5. Depending on the control

2950

L--

Page 4: [IEEE 2007 IEEE International Symposium on Industrial Electronics - Vigo, Spain (2007.06.4-2007.06.7)] 2007 IEEE International Symposium on Industrial Electronics - Improving navigation

algorithm the controller output can be beyond the physicallimits of the robot. The desired voltage to be applied canbe greater than the available and the available power is notinfinite, neither the motors have perfect response. Howeversome of these aspects are eliminated by the controller.

V. CONTROLLER DESIGN AND IMPLEMENTATION

Once the system identification is performed it is possibleto design a controller that fulfills the objective in the currentproject. The objective of the controller is to anticipate thecorrections, in order to perform smooth corrections, as wellas increase in the system's stability. The system root locus isshown in figure 6. In order to move the controlled system toa more favorable position, a controller of the type Ks/(s + a)was designed. The zero is to cancel the pole in the origin.The pole will be put in the left vertical plane. Based on theroot locus of the obtained model, as presented in figure . 7,the zero and the pole were positioned, so that the pole in theorigin is canceled and the pole on the left of the original pole.This system has now a larger margin of stability and the gainwas adjusted to obtain a more stable system.

The continuous controller is shown in equation 2.

Gc(S) = K x 1+axS_ K = 9.022, a = 0.0005307.0.03 xS+1I'

(2)With the obtained controller, taking into account that our

system is discrete, and adjusting the gain by testing thecontroller's performance on tests, the obtained controller isshown in equation 3.

Gc(Z) (300.7 x Z -300.7)Z - 0.1889 (3)

VI. RESULTS

Performing the same initial test made with the trial and errormethod, following a straight line, significant improvements canbe observed . The trial and error results present an oscillatorybehavior, as seen in figure 3. This ultimately results in awaste of time and energy, not if in the loss of the referencepath. The designed controller performance shows a robustbehavior, demonstrating an accented damping in the centerof mass position and on the differential voltage applied. Thiscan be concluded by analysing figure 8, which shows thesignificant improvement of the applied control. The controllerswere implemented in simulink. Figures 10, 11 and 12 showthe several simulink blocks containg the image acquisition,control and actuator blocks.

0 -

0 5 10 15 20 25 30 35 40 45 50Time x 50ms

Real Axis

Fig. 6. Model root locus.0 5 1 0 1 5 20 25 30 35 40 45 50

Time x Orms

Fig. 8. Designed controller on on a straight line.

Fig. 7. Model root locus with controller.

Once the main motivation to perform this task is to im-plement a controller that adjusts the robots behavior in anautonomous driving mobile robot competition, the most impor-tant test to be made is performing a track following ([4],[4]).The used area is a half-track model of the driving competitiontrack, as shown in figure 9. To a better analysis of the resultsthe track can be split in three sections, a straight line (A-B), a left curve (B-C) and a right curve (C-D). Navigationthrough the track presents an increased difficulty, the reducedfriction. This causes the wheels to slide. The friction is oneof the major problems that prevents speed to be increased,making impossible to control the robots position because thereis no way (here implemented) to measure the position's error

2951

.02

.In

E

Page 5: [IEEE 2007 IEEE International Symposium on Industrial Electronics - Vigo, Spain (2007.06.4-2007.06.7)] 2007 IEEE International Symposium on Industrial Electronics - Improving navigation

produced by the sliding. Impulsive and sudden correctionsalso are impossible to apply. The track was covered startingin front of the zebra-crossing following as reference path theouter limit line. The robot was stopped just before the zebra-crossing appeared on the acquired image. By doing this asudden variation on the center of mass is prevented, on thestart and end of the movement.

Dif~Difn-it ta

Fig. II. Simulink main blocks.

Fig. 12. Simulink main blocks.

Fig. 9. Half-track.

The proportional controller implemented by trial and errorpresents an erratic oscillatory behavior, as seen in figure 13.We notice that the line should be constant in the beginning(when the robot is in the straight line), may change to anegative constant line when the robot is turning to the leftand finally would change to a positive constant line when therobot turns to the right and finishes the race near the zebracross. Looking to figure 13 we can see that, during the first7seconds the robot oscillates around the line that corresponds tothe period where the robot should move straight; from around7 seconds to around 19 seconds the robot turns to the left andduring the last two seconds the robot turns to the right to finishthe race. As we may see, the oscillations presented are largeand not uniform in the various tests made.On the contrary, the results shown with the designed con-

troller are much more stable and uniform. The test madeapproximately at the same velocity, that the proportionalcontroller achieves are presented in figure 14. Comparingthe results achieved in both controllers the improvements areobvious, although the movement still presents some oscillatorybehavior. However, the three regions (go straight, turn left andturn right) are now much more clear in the figure.

Image Aquisition Actua3 m oto res

Fig. 10. Simulink main blocks.

Finally we tested the designed controller with the maximumpossible speed. Results are now shown in figure 15. Once

more the limitation for increasing the speed is the lack offriction that ultimately results in loss of control. Nevertheless,the time for the robot to complete the race decreased frommore than 200 time units to less than 130 time units. Moreover,as we can see by the several plots, the trajectory is now morestable and predictale when compared with the trajectories offigure 13. In all plots, the initial peak observed in the centerof mass is explained by the fact that the wheels do not startmoving at the same time, or/and the initial orientation withthe track is not perfect. However, the results present a stableand robust to errors behavior.

VII. CONCLUSION

In this case Simulink proved to be a simple tool to use.The diagram block method is very easy to use, modify andvisualize results, as well as being a time saving way toprogram.

Being a multidisciplinary project, working with G-Forceallows integrating knowledge's from different areas. Thismechatronic project implies knowledge's in mechanics', elec-trotechnic and informatics, to use the industrial servomotorsand servo drivers, Simulink and a C++ MEX file to commu-nicate with the DAQ board. All this complements with beingworking with a mobile vehicle, witch is always motivatingto any student. To be able com complement and evolve

Fig. 13. Trial and Error - tests on the track.

2952

Page 6: [IEEE 2007 IEEE International Symposium on Industrial Electronics - Vigo, Spain (2007.06.4-2007.06.7)] 2007 IEEE International Symposium on Industrial Electronics - Improving navigation

tF I

0: 5 10k 15 20 26 30 35 4TM ( 2)

Fig. 14. Controler performance on the track.

eht Right

staoiht LeftC rvb1 Line

LfCuv

4 _ 1I

ACKNOWLEDGMENT

The collaboration of colleagues was very precious for thisproject. To all them, we express our most gratefulness.

REFERENCES

[1] P. Afonso, J. Azevedo, C. Cardeira, M. B. Cunha, P. Lima, and V. Santos,"Challenges and solutions in an autonomous mobile robot competition,"in Proceedings of CONTROLO 2006, the 7th Portuguese Conference onAutomatic Control, 2006.

[2] H. Freitas, P. Vilela, M. Ramalho, C. Cardeira, R. Loureiro, and J. Ben-gala, "An industrial autonomous guided robot," in Proceedings of the 16thIFAC World Congress, Paper ID: 03676, 2005.

[3] L. Almeida, J. Azevedo, C. Cardeira, P. Costa, P. Fonseca, L. P.,F. Ribeiro, and V. Santos, "Mobile robot competitions: Fostering advancesin research, development and education in robotics," in Proceedings ofCONTROLO 2000, the 4th Portuguese Conference on Automatic Control,October 2000, pp. 592-597.

[4] G. Klancar, D. Matko, and S. Blazic, "Mobile robot control on a referencepath," in Proceedings of the IEEE International Symposium on IntelligentControl, Mediterrean Conference on Control and Automation, 2005, pp.1343-1348.

[5] C. Cardeira and J. Sa da Costa, "A low cost mobile robot for engineeringeducation," in Proceedings of IECON 2005, the 31st Annual Conferenceof the IEEE Industrial Electronics Society, November 2005, pp. 2162-2167.

Fig. 15. Model with designed controller - tests on the track with increasedspeed.

colleagues work in such an interesting open project as G-Forceis an life experience that all should be able to do.

Comparing results of a robots performance, with a controllerdesign based on a proper identification, with a proportionalcontroller built by trial and error, is not a very fair one, butfurther comparisons will be made with other controllers. Thiswas the approach implemented so far in the case study robot,with considerable good results.

Concerning the approach made in the systems identification,there are other techniques that can be implemented to performit, techniques that can result in more accurate results. It mustbe referred that this is an open project, and as so it is subjectof constant improvements.

Analyzing the robot's behavior it's possible to conclude thatthe corrections are not smooth enough, witch causes slidingto still occur. This fact may explain part of the oscillatorybehavior still presented.

2953

6$ straight LgCRightStaig~tLine yreCuCe

40_

30

20

I0 0

a WAa

.g

5 4A

I