[ieee 2007 ieee international symposium on industrial electronics - vigo, spain...
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](https://reader037.vdocuments.mx/reader037/viewer/2022092919/5750a8d81a28abcf0ccba7d4/html5/thumbnails/1.jpg)
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](https://reader037.vdocuments.mx/reader037/viewer/2022092919/5750a8d81a28abcf0ccba7d4/html5/thumbnails/2.jpg)
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](https://reader037.vdocuments.mx/reader037/viewer/2022092919/5750a8d81a28abcf0ccba7d4/html5/thumbnails/3.jpg)
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](https://reader037.vdocuments.mx/reader037/viewer/2022092919/5750a8d81a28abcf0ccba7d4/html5/thumbnails/4.jpg)
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](https://reader037.vdocuments.mx/reader037/viewer/2022092919/5750a8d81a28abcf0ccba7d4/html5/thumbnails/5.jpg)
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](https://reader037.vdocuments.mx/reader037/viewer/2022092919/5750a8d81a28abcf0ccba7d4/html5/thumbnails/6.jpg)
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