Open Collections

UBC Theses and Dissertations

UBC Theses Logo

UBC Theses and Dissertations

A low level motion controller for path tracking control of a tracked mobile robot Ardron, Kevin 2002

Your browser doesn't seem to have a PDF viewer, please download the PDF to view this item.

Item Metadata

Download

Media
831-ubc_2003-0002.pdf [ 5.64MB ]
Metadata
JSON: 831-1.0065159.json
JSON-LD: 831-1.0065159-ld.json
RDF/XML (Pretty): 831-1.0065159-rdf.xml
RDF/JSON: 831-1.0065159-rdf.json
Turtle: 831-1.0065159-turtle.txt
N-Triples: 831-1.0065159-rdf-ntriples.txt
Original Record: 831-1.0065159-source.json
Full Text
831-1.0065159-fulltext.txt
Citation
831-1.0065159.ris

Full Text

A LOW L E V E L MOTION CONTROLLER FOR PATH TRACKING CONTROL OF A TRACKED MOBILE ROBOT  by  KEVIN ARDRON  B.A.Sc, The University of British Columbia, 1997 A THESIS SUBMITTED IN P A R T I A L F U L F I L M E N T OF T H E REQUIREMENTS FOR T H E D E G R E E OF  M A S T E R OF APPLIED SCIENCE  in  T H E F A C U L T Y OF G R A D U A T E STUDIES  (Department of Electrical and Computer Engineering)  We accept this thesis as conforming to^tfieYequired standard  T H E UNIVERSITY OF BRITISH C O L U M B I A October 2002 © Kevin Ardron, 2002  In presenting this thesis in partial fulfilment  of the requirements for an advanced  degree at the University of British Columbia, I agree that the Library shall make it freely available for reference and study. I further agree that permission for extensive copying of this thesis for scholarly purposes may be granted by the head of my department  or by his  or her  representatives.  It is  understood  that  copying or  publication of this thesis for financial gain shall not be allowed without my written permission.  Department of  BLtLCL'i ftlCAL~  The University of British Columbia Vancouver, Canada  DE-6 (2/88)  /)uX>  Co/nPoiT£^  E.^O<  M/E^f/^/V  ^  Abstract The main goal of this thesis is to improve the path-tracking performance of a tracked mobile robot (an excavator) at the low level. The three contributions of this research are: the implementation of a cross-coupling motion controller on top of the existing fuzzy logic track controllers, the integration of a vision motion estimation system to be used in conjunction with hydraulic flow meters to detect track slippage, and the implementation of a basic track slippage controller. The low level system, consisting of the cross-coupling motion controller and the track controllers, was modeled and simulated. The stability of the designed controller was determined by the use of a Bode plot stability analysis. The vision motion estimation system, utilizing a trinocular video camera (Triclops™), was integrated with the hydraulic flow meters of the excavator. The mounting location of the camera on the excavator, the maximum allowable motion of the camera, and the time between image grabs were all determined. A method for detecting and quantifying individual track slippage was also developed. Finally, a basic slippage controller was developed. The slippage controller used the track slippage values obtained from the vision motion estimation system and the hydraulic flow meters. A minimum slippage threshold was determined for the slippage controller as well as a means to reduce and eliminate the track slippage. The results of the thesis work show that the cross-coupling motion controller does improve the path-tracking accuracy of the excavator. For the experiments completed for this thesis, the lateral path error incurred during a 30 second (6 meters long) commanded straight line path was reduced from 16 centimeters to almost zero by the use of the crosscoupling controller. The slippage results show that the use of the slippage controller can be advantageous in the area of outdoor mobile robots, even though the existing system has speed and accuracy limitations. The experiments conducted show that track slippage magnitudes of over 20% could be detected and the machine slowed down to eliminate these track slippages.  ii  Table of Contents ABSTRACT  II  T A B L E OF CONTENTS  HI  LIST OF T A B L E S  V  LIST OF FIGURES  VI  ACKNOWLEDGEMENTS  VIE  C H A P T E R 1. INTRODUCTION  1  1.1 Overview  1  1.2 Previous Work  3  1.2.1 Feedback Stabilization of Robot Configuration  3  1.2.2 Trajectory Tracking Methods  5  1.2.3 Path Tracking Methods  6  1.2.4 Dead-Reckoning Position Estimation  8  1.2.5 Low Level Control  9  C H A P T E R 2. S Y S T E M SPECIFICATION  12  2.1 Motion Control System  12  2.2 Experimental Setup  16  2.2.1 The Mini-Excavator  16  2.2.2 The Testing Environment  19  2.3 Kinematic Equations of Motion  20  C H A P T E R 3. DESIGN A N D A N A L Y S I S  23  iii  3.1 Cross-Coupling Motion Controller  23  3.1.1 Transfer Function Models  24  3.1.2 Open Loop Functions  29  3.1.2.1 Gn(z): Left Track Output from Left Track Input  31  3.1.2.2 Gi (z): Left Track Output from Right Track Input  31  3.1.2.3 G i(z): Right Track Output from Left Track Input  32  3.1.2.4 G (z): Right Track Output from Right Track Input  33  2  2  22  3.1.3 Controller Tuning and Stability  34  3.2 Slippage Controller  37  3.2.1 Slippage Detection  37  3.2.2 Controller Design  43  C H A P T E R 4. RESULTS  47  4.1 Cross-Coupling Motion Controller  47  4.1.1 Simulation Results  47  4.1.2 Experimental Results  58  4.2 Evaluation of the Vision Motion Estimation System  65  4.3 Slippage Controller  68  C H A P T E R 5. DISCUSSION A N D CONCLUSIONS  74  5.1 Discussion  74  5.2 Conclusions  76  5.3 Future Work  76  BIBLIOGRAPHY  78  A P P E N D I X I. D E R I V A T I O N OF O P E N LOOP FUNCTIONS  82  iv  List of Tables Table 4.1: Single Axis Motion of Triclops™ Camera (Average Results of 10 Trials)  66  Table 4.2: Multi-Axis Motion of Triclops™ Camera (Average Results of 10 Trials)  67  v  List of Figures Figure 2.1: Vehicle Motion Control System  13  Figure 2.2: Takeuchi Excavator and Triclops Camera  17  Figure 2.3: Triclops Camera  18  Figure 2.4: Cartesian Coordinate System  20  Figure 3.1: Cross-Coupling Motion Controller  23  Figure 3.2: Step Response Graphs for the Fuzzy Logic Controllers (a) Left Track and (b) Right Track  24  Figure 3.3: Block Diagram of Simple Feedback System  29  Figure 3.4: Discrete and Continuous Time Stability Regions  34  Figure 3.5: Bode Plots of Open Loop Functions (a) Eq. 3.16 and (b) Eq. 3.20  36  Figure 3.6: Vision System Coordinate Directions  37  Figure 3.7: Excavator and Triclops™ camera motion  39  Figure 3.8: Worst case slippage condition  44  Figure 3.9: Slippage Controller Flow Chart  46  Figure 4.1: Simulink Diagram of Cross-Coupling Motion Controller  48  Figure 4.2: Step Response Without Cross-Coupling Motion Controller (a) Left Track and (b) Right Track  49  Figure 4.3: Step Response With Cross-Coupling Motion Controller (a) Left Track and (b) Right Track  50  Figure 4.4: Heading Angle For Simulated Straight Line Motion  52  Figure 4.5: Path Traveled For Simulated Straight Line Motion  52  Figure 4.6: Step Response Without Cross-Coupling Motion Controller, Noisy Output (a) Left Track and (b) Right Track  54  Figure 4.7: Step Response With Cross-Coupling Motion Controller, Noisy Output (a) Left Track and (b) Right Track Figure 4.8: Heading Angle For Simulated Straight Line Motion, Noisy Output  vi  55 56  Figure 4.9: Path Traveled for Simulated Straight Line Motion, Noisy Output  57  Figure 4.10: Step Response Without Cross-Coupling Motion Controller (a) Left Track and (b) Right Track  59  Figure 4.11: Step Response With Cross-Coupling Motion Controller (a) Left Track and (b) Right Track  60  Figure 4.12: Heading Angle For Driven Straight Line Path  62  Figure 4.13: Path Driven For Commanded Straight Line Path  62  Figure 4.14: Heading Angle For Left Track Output Disturbance  64  Figure 4.15: Path Driven For Left Track Output Disturbance  64  Figure 4.16: Track Slippage When No Slippage Occurring  69  Figure 4.17: Track Slippage When Total Slippage Occurring  69  Figure 4.18: Track Speed Response During Simulated Right Track Slippage (a) Left Track and (b) Right Track  71  Figure 4.19: Track Slippage Values During Simulated Right Track Slippage  72  vii  Acknowledgements I would like to thank Dr. Peter Lawrence for his patience and guidance without which this thesis would never have been completed. Also, Parvaneh Saeedi for the numerous hours she spent in the CISCR robotics laboratory helping to optimize the vision system code. I would also like to thank Henry Wong for his invaluable help in running the excavator in order to test the controller code and gather data. Also, I would like to thank Simon Bachmann for his diligent efforts in maintaining the mini-excavator and keeping it up and running. Finally, I would like to express my gratitude to the rest of the members of the Robotics and Control Laboratory at U B C for their constant moral support and friendship.  viii  Chapter 1. Introduction This chapter gives a brief overview of the research completed for this thesis. The reasons for undertaking the project as well as the proposed benefits are described. A review of the past work done in the field is also presented. The main goal of this thesis has been to improve the path-tracking accuracy of a tracked mobile robot or excavator. A controller was designed to directly control the heading error of the mobile robot. A method for detecting track slippage and controlling this slippage was also developed.  1.1 Overview The study and research in the area of autonomous control of tracked mobile robots, such as an excavator, is important to the forestry and mining industries. The use of autonomous path tracking control to drive or assist a human operator can be beneficial by improving both the safety and efficiency of operating these machines. With the application of a good control scheme, the effect of human error can be minimized or completely removed and a more consistent operation of the vehicle can be achieved to increase efficiency. The research done for this thesis deals with modifying an existing machine with control hardware and software to obtain an autonomous path-tracking system. The project completed for this thesis extended a cross coupling motion control algorithm for a differential drive, wheeled mobile robot to be used on a tracked excavator. The accumulated distance traveled by each track was compared and used as the input to the cross-coupling controller. The reference speeds for both tracks were then adjusted appropriately to achieve the cross-coupled control. As will be shown, the main advantage of the cross-coupling motion controller was the direct control of the most significant error in path-tracking control: the heading error. By allowing the motion of both the left and right tracks of the excavator to be coupled, the heading error was  1  directly controlled and, as will be shown in the subsequent chapters, an increase in the path-tracking performance was achieved at the low-level. Operation of these outdoor machines will eventually result in the tracks losing traction with the ground surface. This slippage condition has several main disadvantages. Foremost, when track slippage is occurring, the ground surface is being damaged as the tracks are literally ripping the ground up. This greatly increases the environmental impact of operating the machine. Another disadvantage of track slippage is that deadreckoning position estimates will be erroneous since the position information from the sensors is inaccurate. A final disadvantage of track slippage occurs when there are differing amounts of slippage occurring between the left and right tracks. During this condition, the tracked mobile robot will not be following the appropriate curvature of the desired path and thus a path-tracking error, and again an error in dead-reckoning position estimation, will be incurred. With the use of only local, dead-reckoning, sensors the interaction between the tracks of the machine and the ground, and thus slippage, could not be detected. Therefore, the integration of a vision motion estimation system with the existing excavator sensors was completed for this thesis. A method for determining the magnitude of slippage for left and right tracks was designed. The values of minimum and maximum track slippage were also determined. The final area of research completed was the design of a slippage controller. It was found to be of great importance to minimize or even eliminate the track slippage encountered during operation. Therefore, a simple slippage controller was designed to decrease the speed of the left and right tracks of the excavator when an appropriate amount of slippage was detected.  The thesis is organized as follows. Chapter 1 states a brief overview of the thesis. The previous work, relevant to the thesis, completed in the area of wheeled mobile robots is also presented. Chapter 2 first gives a description of the entire vehicle motion control system and then briefly describes the operation of the cross-coupling motion controller and slippage detection and controller systems designed for this thesis. The miniexcavator that is retrofitted for the design is described, along with the sensors and the  2  Triclops™ trinocular video camera system. The simulation and experimental environments are also described. Finally, the excavator coordinate system is presented along with the kinematic equations of motion used to derive the excavator motion from the individual left and right track motions. Chapter 3 details the design of the crosscoupling motion controller. The method for calculating the left and right track slippage using the vision motion estimation system is also explained. The final section of Chapter 3 presents the design of the slippage controller. Chapter 4 presents the results obtained from the research. The cross-coupling motion controller results are first presented followed by the results obtained from the vision motion estimation system and the slippage controller. Chapter 5 concludes the thesis by summarizing the main results obtained from the present work and giving the areas of future work still to be completed.  1.2 Previous Work  The previous research done in mobile robotics first concentrated on feedback stabilization of the robot's configuration. Methods of trajectory tracking and then path tracking were developed to move the mobile robot from a start location to an end location. Other research was completed to increase the accuracy of the dead-reckoning position estimation of the mobile robot. The other area of research mentioned in this thesis is that of low level control, since without it, the other areas of research are useless. The works in these areas of research are described in the following sections.  1.2.1 Feedback Stabilization of Robot Configuration Much of the first research into two degree-of-freedom non-holonomic wheeled mobile robots was theoretical research into the feedback stabilization of the robot's configuration to a given terminal configuration. The system is said to be non-holonomic since the positional constraints cannot be obtained from integration of the velocity constraints. This is also noticed by the fact that a non-holonomic wheeled mobile robot can only move in the forward direction and not in a direction .perpendicular to the axis of  3  the wheels (ie. sideways). Usually, the terminal configuration is given as the origin with a heading angle of zero (ie. Xj = 0, y = 0, 0j = 0.) 7  Samson et al. [1] showed that a wheeled mobile robot's configuration was not stabilizable using pure linear time-invariant state feedback control. Instead, they derived a smooth time-varying feedback that globally stabilized the mobile robot. The asymptotic convergence of the robot's configuration to the origin was shown through simulations. The work done was purely theoretical and no experimental results were obtained. Canudas de Wit et al. [2] proposed a piecewise-smooth controller that exponentially stabilized a wheeled mobile robot to the origin. Exponential convergence was achieved by letting the motion of the robot converge to a circle that passes through the origin and is centered on the y-axis. The work again was only done with theoretical data in simulation and no experimental results were presented. Pomet et al [3] proposed the use of a hybrid discontinuous state-feedback approach to stabilize the wheeled mobile robot. A time invariant feedback method was used when the robot was far from the terminal configuration and then a time-varying smooth feedback was used when the robot was close to the target. The controller was designed and analyzed using theoretical arguments and simulation results. Once again, the design did not include experimental results on an actual mobile robot. Jeng et al. [4] stabilized a differentially steered wheeled mobile robot by using a combination of input-output pseudolinearization and gain scheduling. The system was transformed into a pseudo-normal form by input-output pseudolinearization. The pseudo-normal form was then transformed into a linear parameter-varying system that was stabilizable by a gain scheduling feedback controller. Simulation results show the superior performance of this method over the previous ones in terms of the trajectory traveled by the mobile robot to the origin. A l l of these methods only looked at the stabilization of the mobile robot to an end point. Therefore, further research is reviewed related to requiring a mobile robot to track desired trajectories.  4  1.2.2 Trajectory Tracking Methods Another area of research that has received much attention is that of trajectory tracking of wheeled mobile robots. Nelson et al. [5] introduced the concept of a virtual cart that was to be tracked. A local path-planner generated the reference configuration of the virtual cart, in terms of position, heading and velocity, at each sampling time based on the kinematic equations of motion. A weighted control scheme was then proposed to act on the errors between the configuration, again position, heading and velocity, of the actual three-wheeled mobile robot and that of the virtual cart to obtain the desired steering angle and drive speed. This was a novel separation of the path generation and control logic. The gains were determined through simulation and experiment by a trialand-error approach. The drawback of this work is that the concept of stability is ignored in the design of the controller. Also, with respect to the current thesis work, this type of control method is only suitable for indoor robots that operate in structured environments since the path is planned in advance assuming a static environment and neglecting wheel slippage. Kanayama et al. [6] proposed a non-linear trajectory- tracking method to give the desired linear and rotational velocities for the wheeled mobile robot based on the error between the actual robot and the virtual reference robot. The three gain terms of the controller were tuned by a simulation and experimental trial-and-error procedure again. The stability of this controller was proven by the choice of an appropriate Liapunov function. Again, this method neglected wheel slippage by limiting the acceleration of the mobile robot and thus is only suitable to indoor robots. Mehrabi et al. [7] also proposed a non-linear trajectory-tracking method, but for a differential drive wheeled mobile robot. The stability of the controller, used to obtain the desired left and right wheel velocities, was proven through the use of a Liapunov function as well. The authors also derived a relationship showing the equivalence between the steering angle of a three-wheeled mobile robot and the individual wheel velocities of a differential drive mobile robot. Only simulation data was obtained for this design with no experimental results presented.  5  Sordalen et al. [8] extended their previous work on point stabilization [2] to trajectory tracking along straight line and circular path segments. The piecewise-smooth controller was first designed to stabilize the wheeled mobile robot about an arbitrary target configuration. The authors then proposed a desired trajectory by having intermediate target configurations between the start and goal configurations. The controller was again simulated, with no experimental results shown. Finally, Zhang et al. [9] proposed a robust trajectory-tracking method for a differentially steered wheeled mobile robot. A simple dynamic model was developed for the robot, and the remaining dynamic terms were treated as uncertainty. These uncertainties were analyzed and a robust controller designed. Both the performance and robustness of the design was shown through computer simulations, but again, no experimental results shown. While the concept of trajectory tracking is suitable to indoor mobile robots, it is not so for outdoor mobile robots, such as the excavator considered for this thesis. During outdoor operation, situations may arise where the wheels, or tracks, of the mobile robot will lose traction with the ground. Therefore, it is not suitable to have the mobile robot track a virtual robot, trajectory tracking, since if slippage occurs, the resulting control action would be to speed up the mobile robot thus resulting in increased slippage. For this reason, the research on path tracking control is presented next.  1.2.3 Path Tracking Methods  Research has also been done on path tracking motion control for mobile robots. While trajectory-tracking is essential to have a robot at a particular point in space at a particular time, path-tracking has been found to be a more realistic control in order to have the robot follow a desired geometric path with a desired speed [10]. The control signal from a trajectory-tracking controller is generated from the error between the current configuration, position, heading, and/or velocity, of the mobile robot and the precomputed configuration of a virtual mobile robot, based on kinematic and dynamic constraints. Conversely, the control signal from a path-tracking controller is generated from the error between the configuration, position, heading, and/or velocity, of the  6  mobile robot and the desired geometric path to be followed and the heading and velocity at that point on the path. DeSantis [13] proposed a path-tracking controller, consisting of a decoupled speed controller and steering controller, for a differential drive wheeled mobile robot. The proposed error vector was generated from the lateral displacement of the robot from the reference path, the heading error, and the velocity error. It was shown that if these errors were kept small, the resulting controller had the form of a PI speed controller and a PID steering controller. The research done is theoretical, but it does show the feasibility of path-tracking control for car like mobile robots and expresses that these results can be extended to tracked vehicles as well. Koh et al. [14] proposed a nonlinear bang-bang steering method for a differential drive wheeled mobile robot. The proposed error vector for the controller was generated from the lateral displacement error and the heading error. The landing angle and its rate of change were then calculated to smoothly return the robot to the reference path and the desired angular velocity was obtained from the bang-bang controller. The stability of the nonlinear controller was proven by the Liapunov approach. Simulation and experimental results are presented to show the validity of this method for indoor mobile robots. As with the other methods, wheel slippage is again neglected. Singh et al. [11] proposed a path-tracking method that used a quintic polynomial approach. The transverse distance from the reference path to the mobile robot as well as the heading error and path curvature error were used to generate the error vector. A quintic polynomial was then constructed that described the replanned path back to the reference path at some distance L ahead. The reference steering angle was then computed for the next time interval. Simulation results showed the improvement in performance over a typical inverse kinematic approach, especially when the traveled speed was increased. Finally, Shin et al. [12] implemented the path-tracking method developed in [11] on a full size car-like vehicle with rear drive wheels and front steering. They also proposed a feedforward compensation of the first order dynamics of the steering mechanism to provide anticipatory control of the steering lag. Results were obtained  7  from outdoor operation showing the accurate path-tracking of the mobile robot at speeds up to 20 km/h.  1.2.4 Dead-Reckoning Position Estimation A l l of the previous research areas are dependent on the accurate localization of the mobile robot. Trajectory and path tracking would be meaningless if the current position of the robot was not well known. Many methods of improving dead-reckoning localization and fusing absolute position measurements in order to eliminate the accumulated errors have been studied. Ming Wang [15] derived the odometry equations used for the localization of a differential drive mobile robot using optical encoder readings from each wheel. By assuming a circular motion and a constant speed between sample times, a circular path adjustment factor was added to the equations. It was also shown through mathematical simulation that the uncertainty of the circular path adjustment factor was negligible and thus a more accurate location estimate of the mobile robot was achieved without an increase in the uncertainty of the estimate. This method of robot localization is used in this thesis to calculate the position of the mobile robot from the dead-reckoning sensors. Borenstein et al. [16] developed a calibration method for improving the accuracy of odometry position estimates. They found that the dominant sources of error in odometry measurements in differential drive wheeled mobile robots were an uncertainty about the effective wheelbase and unequal wheel diameters. The systematic method developed to calibrate these values was shown through experiments to achieve an improvement of at least one order of magnitude in odometric accuracy. Much of the later research done in mobile robots uses this calibration method to increase the accuracy of the position estimates. Von der Hardt et al. [17] proposed a dead-reckoning localization system, consisting of optical wheel encoders, a gyroscope, and a magnetic compass, for an outdoor wheeled mobile robot. It was found that a more accurate position estimate was obtained by fusing the data through the use of an Extended Kalman Filter. Experimental  8  results show the increased accuracy of the dead-reckoning sensor but it was also noted that absolute measurements were still needed to eliminate the accumulating error. Bak et al. [19] studied the problem of location estimation of an indoor mobile robot using delayed measurements. An Extended Kalman Filter was used to fuse the data from optical encoders with delayed vision measurements, delayed 60-70 samples. The vision measurements, obtained from guide marks located on a wall, were interpolated so that they reflected current states rather than prior ones. Experiments showed improved position estimation of this algorithm versus when the vision measurements were not interpolated. Finally, Goel et al. [18] proposed a robust localization system for a wheeled mobile robot that allows for both indoor and outdoor operation. Calibrated odometry data, using the method in [16], was fused with gyroscopic data, by the use of a Kalman Filter, to provide good short-term dead-reckoning position estimates. Data from GPS readings were also fused, when they were available, to bound the accumulated deadreckoning error. Experimental results showed an improvement of at least one order of magnitude for this method compared to previous methods using un-calibrated and unfiltered odometry data.  1.2.5 Low Level Control  The last area of research that will be reported in this thesis, and that which is of most relevance to the work reported in this thesis, is that of low-level motor control. In order for the previously mentioned trajectory or path-tracking methods to work, not only is accurate position estimation necessary, but also good low-level control must be present. The desired overall robot translational and angular velocities must be achievable by the drive wheel controller and steering wheel controller, as in a tricycle or car-like mobile robot, or by the individual drive wheel controllers in the case of a differential drive mobile robot. Iida et al. [20] designed a low level controller for the individual wheels of a differential drive mobile robot that considered the dynamics of the overall robot. The designed controller gave the reference torque values for the individual wheels from the  9  reference angular velocities of the wheels by the use of a feedforward compensation that included the inverse dynamics of the mobile robot. Simulation and experimental results showed the improved accuracy in the angular velocities of the individual wheels as opposed to those obtained from the use of a typical PI controller. Feng et al. [21] developed a cross-coupling motion controller for a differential drive wheeled mobile robot. They first identified the most significant error in path tracking of mobile robots as the heading error. Then a cross-coupling PI controller was designed that directly controlled this error by simultaneously adjusting the speeds of both wheels. Simulation and experimental results were given to show the improvement in position and heading errors achieved from using the cross-coupling motion controller on top of the individual wheel motor controllers.  From the previous works, the feedback stabilization of the robot's configuration about a terminal configuration showed that the control of mobile robots was possible. The extension of point stabilization then led to research in the area of the stabilization of a robot to a moving point, or trajectory tracking. This research was mainly done with indoor wheeled mobile robots moving in structured environments. For outdoor environments, it was shown that a path-tracking problem was more applicable. Research into path tracking showed that this method produced good results in experimental tests. Of equal importance to both trajectory tracking and path tracking control algorithms, the mobile robot must have an accurate dead-reckoning position estimate as well as good low level control. The robot must know where it is located with respect to the trajectory or path to be followed and the wheels or tracks of the mobile robot must be able to achieve the desired speeds to control it. Almost all of the past research of both indoor and outdoor mobile robots neglected slippage of the wheels or tracks of the robot. If the slippage was not neglected, it was treated as an uncertainty in a robust control scheme [9]. The present work completed for this thesis, as previously stated, is to improve the path-tracking accuracy of a tracked mobile robot at a low level. The tracked mobile robot is to be used in an outdoor environment, therefore path-tracking control is chosen. But, before the path-tracking controller can be designed, the low level control must be  10  accurate. Also, in the operation of a tracked mobile robot, slippage cannot be neglected. Therefore, a method for detecting and controlling track slippage is also proposed. The contributions of this thesis are: •  Implementing a cross-coupling motion controller on a tracked mobile robot  •  Proving the stability of the designed controller  •  Integrating a vision motion estimation system with the dead-reckoning track sensors of the tracked mobile robot to detect track slippage  •  Implementing a simple slippage controller to control the track slippage when it is detected.  The next chapter details the vehicle motion control system to be designed. The experimental setup and kinematic equations of motion are also presented.  11  Chapter 2. System Specification This chapter gives a description of the control system designed for this thesis as well as the simulation and experimental environments and the motion equations for the vehicle. The first section contains a description of the entire semi-autonomous vehicle motion control system. The cross-coupling motion controller and slippage controller designed for this thesis are also briefly described. The next section gives a description of the tracked excavator that was retrofitted with the semi-autonomous control. The various sensors and equipment installed on the excavator are also presented along with the Triclops™ vision system. The simulation and experimental environments are also described in this section. The final section of this chapter presents the coordinate system that is adopted for the localization of the tracked excavator and the kinematic equations of motion for the differential drive mobile robot.  2.1 Motion Control System  A block diagram of the semi-autonomous vehicle motion control system is shown in Fig. 2.1. The human operator is at the top level of the entire control system. The operator chooses between manual control and autonomous control of the vehicle. If manual control is desired, the operator then drives the vehicle and the autonomous controller is disabled. If autonomous control is desired, the operator chooses the desired goal posture, P = [x,y,9,V], and the autonomous controller is enabled. g  When autonomous control is desired, the goal posture and a map of the operating environment are then passed on to the path-planner. The path-planner plans a collision free path from the current posture of the vehicle, P = [x,y, 8, V], to the desired goal c  posture, P . A n optimal path is generated based on cost functions for traveling from one g  point to the next, as designed in [25]. The cost functions can be derived from the slope steepness and the type of ground terrain and thus minimize the environmental impact of operating the vehicle.  12  Halt Autonomous Control  Map  Environment Updates Range Finder  Path Planner  Next Segment Request  Current Path Segment  Slippage Controller  L  lu  Cross-Coupling Motion Controller  Path Tracking Controller  Out=(co , coj  u=(v vj  u=(v^v^  Distance Error  Slippage  Track Controllers  Vehicle  (V ,.V ,^ 0  0  Sensors: GPS, Vision, Flow Meters  Figure 2.1: Vehicle Motion Control System  13  During autonomous operation, the range finder will detect unknown obstacles in the path of the vehicle. When these obstacles are detected, they are added to the terrain map and a new collision free path is planned in order to avoid the obstacles. If at any time the human operator wants to manually control the vehicle, the path planner, and subsequently the entire autonomous control system, is then disabled and the vehicle is operated as normal. When autonomous control is again desired, the goal posture and terrain map are given and a new path is planned from the current vehicle position to the goal. Once the path is planned, the path-tracking controller is responsible for keeping the vehicle moving along the desired path. The current path segment is given to the pathtracking controller. By comparing the current position of the vehicle, obtained either incrementally from the rate flow sensors or absolutely from a GPS sensor, with the path to be followed, the reference translational and rotational velocities for the mobile robot are obtained. The vehicle is either commanded to continue driving along the path, in the case when it is currently on the desired path, or else the path of the vehicle is made to converge back to the desired path when an error is measured. When the current position of the vehicle is found to be at the end of the current path segment, the path-tracking controller requests the next path segment from the path-planner. The corresponding left and right track reference speeds, VR,L and VR_R, output by the path-tracking controller are obtained by the application of the inverse kinematic equations of motion (derived from Eq. 2.1 and Eq. 2.2 of Section 2.3). If slippage has been detected, the left and right track reference speeds, V  RL  and VR,R, are divided by the factor or output from the slippage  controller. During manual operation of the vehicle by the human operator, the pathtracking controller outputs left and right track reference speeds, VR^ and VR.R, of zero thus disabling the autonomous controller. The cross-coupling motion controller, designed for this thesis, takes the left and right track reference speeds, VR and VRR, output from the path-tracking controller as L  inputs as well as the accumulated distance error between the tracks. The distances traveled by the left and right tracks of the machine, obtained by integrating the left and right track speeds sensed by the track flow meters, are subtracted from one another to obtain the distance error that the cross-coupling motion controller acts on, as described in  14  Chapter 3. The left and right track reference speeds input to the individual track controllers, VR^ and V^R in Fig. 2.1, are obtained by the addition of the output of the cross-coupling motion controller with the left and right track reference speeds, VRL and VR R, output by the path-tracking controller. By using the difference in distances traveled, :  the cross-coupling motion controller is able to directly control the most significant error in path-tracking performance- the heading error [21]. The design of the cross-coupling motion controller is described in Chapter 3. The slippage controller, designed for this thesis, takes the amount of track slippage, measured by the comparison of the readings of the track flow meters and the vision system as defined by Eq. 3.36, as the input. When either a left or right track slippage is detected, the output of the slippage controller, the scaling term a, is increased in order to reduce the left and right track reference speeds, V  RL  and VR R, output by the :  path-tracking controller. Once the slippage is eliminated, the scaling factor, a, is reset to unity and the reduction in the left and right track reference speeds is removed. The design of the slippage controller is described in Chapter 3. The track controllers ensure that the rotational velocities of the left and right track motors, obtained from the track flow meters, follow those of the reference speeds, VRL and VRR , generated by the cross-coupling motion controller. The track controllers were left and right fuzzy logic track motor controllers [22] for this thesis work. The two track control loops operate independently of each other. The output rotational velocities of the left and right tracks of the vehicle, as well as their interaction with the ground, provide the actual vehicle movement that is obtained from the sensors. The sensors on the vehicle, rate flow meters in the hydraulic lines or resolvers on the track wheels themselves, provide the track motor rotational velocities that are used for the dead-reckoning position estimation to update the current location of the mobile robot. These position estimates are calculated by the odometry equations given in Eqs. 2.3, 2.4, and 2.5. The vision motion estimation system [23] also grabs images and calculates the true distance traveled during the image grab times. When this distance is compared with the distance estimation for the same time period obtained from the dead-reckoning sensors, a slippage value is determined that is input to the slippage controller, as previously mentioned.  15  GPS readings, not used currently, are fused with the dead-reckoning results to provide a means of bounding the accumulated position estimation error from the hydraulic rate flow meters and resolvers.  2.2 Experimental Setup 2.2.1 The Mini-Excavator  The machine that was retrofitted for this project was the Takeuchi TB035 compact excavator. Fig. 2.2 shows the excavator with the Triclops™ trinocular video camera. The motion of the machine was achieved by the rotation of two rubber tracks driven by individual hydraulic motors. The tracks had raised rubber grousers to give more traction when driving. The track motors were driven by a main hydraulic pump that was in turn powered by a diesel engine. The left and right tracks had a surface contact length and width of 2.11 meters and 0.35 meters, respectively, and were located on either side of the excavator. The lateral distance separating the tracks, measured from the center of the left track to the center of the right track, was 1.28 meters. The rotational speed of the hydraulic track motors was controlled by the manipulation of two travel levers that were located inside the cab of the excavator. Also, there was a throttle setting that controlled the speed of the diesel engine. The travel levers, along with the throttle, directly affected the amount of hydraulic fluid flowing to the individual track motors and thus the track motor rotational velocity. The vehicle motion was achieved by the movement of the two tracks and their interaction with the ground. During non-slippage operation, the same rotation of each track resulted in a straight path traveled by the excavator, while a difference in track rotational velocities resulted in an arc being traversed. The equations of motion for a differential drive mobile robot are given by Eq. 2.1 and Eq. 2.2 in the following section.  16  Figure 2.2: Takeuchi Excavator and Triclops™ Camera  The excavator has been retrofitted with a combination of a hydraulic cylinder and a linear potentiometer at the base of each of the two travel levers inside of the cab. The cylinders were hydraulically driven to push and pull the levers to achieve programmed control of the tracks. The sign of the voltage readings from the potentiometers were used  17  to determine the direction of rotation of the tracks. A positive voltage from the potentiometer signified a forward rotation of the track while a negative voltage signified a reverse direction. For each track, a fuzzy logic controller has been designed and implemented [22]. These controllers worked independently of one another and ensured that the desired rotational speed was obtained for each track. To measure the speed of rotation of the tracks, there were two sensors available: resolvers and hydraulic rate flow meters. The resolvers, installed as the initial speed sensors, were located on the travel wheels for each track while the hydraulic rate flow meters were installed in the hydraulic fluid lines that supply each motor. The resolvers measured the angular displacement of the travel wheels for a given sample time. This displacement per sample time was then proportional to the speed of rotation for each track. The rate flow meters measured the flow rate of the hydraulic fluid to each motor. This reading was then proportional to the rotational speed of each motor and thus the speed of rotation for each track. The work for this thesis used the hydraulic rate flow meters as the track speed sensors since these would be the sensors used in real world applications. The flow meters used were model FT-08AE00-LEA-2, manufactured by EG&G.  Figure 2.3: Triclops™ Camera  The Triclops™ camera, shown in Fig. 2.3, was installed on the outside of the excavator to detect the true motion of the excavator. The Triclops™ camera was a  18  trinocular stereo camera that gave depth information for each identified feature in the output image. The camera itself was connected via an S-video cable to a Matrox Meteor™ frame grabber card. The PCI card was installed in an Intel Pentium II233 M H z computer running the Linux operating system. A method of measuring the distance traveled between successive image grabs was developed by Saeedi [23]. This distance measurement was compared with the motion detected by the hydraulic flow meters to determine the track slippage of the excavator. Computer control of the mobile robot was achieved by the use of a V M E cage onboard the excavator, consisting of a Sparc I E C P U as well as a D / A board, an A / D board and a R/D (resolver to digital) board for reading the data from the resolvers. The control code was written in the C programming language and compiled and linked in Unix to be run under the VxWorks™ real-time operating system. The executable file was then loaded onto the Sparc I E C P U board, via the Ethernet link. The output signals, track speed from the resolvers and hydraulic flow meters, potentiometer voltage readings, and other various internal position and speed variables, were viewed on the Unix host machine using the Stethoscope utility program.  2.2.2 The Testing Environment  The modeling and simulation of the cross-coupling controller was done using Matlab™ and Simulink™. The initial C coding of the controller was also imported into a Simulink™ S-function to test the functionality of the controller before experiments were done. The initial experiments using the cross-coupling motion controller on the excavator were conducted in our high ceiling robotics laboratory located on the ground floor of the CICSR building. The workspace for the excavator was a smooth level concrete floor measuring 15 meters by 8 meters. Dirt and oil were removed from the floor to minimize the slippage between the tracks of the excavator and the ground since the track slippage was assumed to be zero. The track slippage experiments, using the Triclops™ camera and the vision motion estimation system [23], were conducted in the outside compound located behind  19  the indoor laboratory. The compound consisted of a workspace measuring 10 meters by 5 meters with a ground surface of granite drainage rock. For safety measures, an engine kill button was installed on the excavator. When the button was depressed, the diesel engine of the excavator was immediately shutdown and not able to be restarted until the switch was reset. The indoor laboratory was also equipped with an exhaust extraction system. This system consisted of a ceiling-mounted hose, boom, and extraction fan. The hose and fan combination transported the exhaust gases produced by the diesel engine to the outside environment while the overhead boom kept the hoses off the floor and out of the driving path of the excavator.  2.3 Kinematic Equations of Motion  To keep track of the location of the excavator as it moved around its workspace, the Cartesian coordinate system of (X, Y, 0) was adopted. This coordinate system is illustrated in Fig. 2.4.  Y A  X _,  X  k  k  A  Figure 2.4: Cartesian Coordinate System  20  Fig. 2.4 shows the mobile robot at two consecutive sample times, times k-1 and k respectively. The global X and Y directions, termed the world coordinate system, are shown by the axis in the figure. The local X and Y directions, termed the excavator coordinate system, are the forward direction of the mobile robot and the direction perpendicular to this, in the right hand sense, respectively. The heading direction, 6, is defined as the angle between the local X axis, the forward direction of the robot, and the global X axis. The other values shown in Fig. 2.4, A9 and AD, refer to the change in heading angle and the distance traveled by the center of the machine between consecutive sample times respectively. At each sampling instant, measures of the distance traveled by each track were obtained from the flow meters, ACLR and ML for the right and left track respectively. The displacement of the center of the machine and the change in heading angle can be calculated by the relations [15]:  M  =  Ad -Ad R  L  B  where B is the distance between the two tracks of the machine. In order to calculate the location of the excavator at time k, some assumptions needed to be made. Since the sample time was sufficiently small, 50 ms, it could be assumed that the speed of the tracks remained constant for the entire time between samples. Also, because of the previous assumption, it could be assumed that the machine followed a path comprised of an arc of a circle, where a straight line is just an arc with an infinite radius. So, the location of the mobile robot at time k can be given by the odometric equations [15]:  *  = -i x  k  k  *  +  sin(A^/2) _( * — r - ^ A D cos A0J2 v A n  A O  t  21  z  J  (2.3)  Y =Y  sm(A^/2) M) sin +• k  (2.4)  (2.5)  The next chapter uses the relations defined here and describes the design and analysis of the cross-coupling motion controller as well as the slippage detection and control system.  22  Chapter 3. Design and Analysis This chapter first details the design process for the cross-coupling motion controller. The transfer function models derived for the system as well as the different open loop functions used for the Bode plots are also shown. The tuning method for the cross-coupling controller gains is then described and the stability margins are given. Secondly, the slippage controller design process is given. The method for detecting and calculating track slippage is explained as well as the design of the slippage controller.  3.1 Cross-Coupling Motion Controller  The block diagram of the track control system, consisting of the fuzzy logic track controllers, and the cross-coupling motion controller, implemented in a similar fashion as proposed by [21] for wheeled mobile robots, is shown in Fig. 3.1.  1  *  G (z)  w  L  >  Figure 3.1: Cross-Coupling Motion Controller  As stated previously, the cross-coupling controller was designed to minimize the most significant error, the heading error. Therefore, a PI controller was used to ensure  23  that the error between the accumulated distances of the left and the right tracks converged to zero. The input signals to the system in Fig. 3.1 are the left and right track reference speeds,  V  RJL  and  resultant speeds,  V R respectively. R>  V ,L 0  and  V R 0I  The outputs of the system are the left and right track  respectively. The input speeds to the individual left and  right fuzzy logic track controllers are shown by the terms VRL and VRR respectively. The units of the inputs and outputs are  deg/s,  the rotational speed of the hydraulic track  motors. In Fig. 3.1, the terms Gi(z) and GR(Z) are the transfer functions of the individual left and right fuzzy logic track controllers [22]. The two integrator blocks, GIR(Z),  GIL(Z)  and  were used to obtain the accumulated track distances, in meters, that generated the  error signal that the cross-coupling motion controller acted on. These blocks each contained the cascade of an integrator and a pure proportional gain. The transfer function Gpi(z) is the PI controller that acted on the error between the distances traveled by the tracks. The derivation of these different transfer function models is described in the following section.  3.1.1 Transfer Function Models Before the cross-coupling motion controller could be designed, models for the existing fuzzy logic track controllers for the left and right tracks had to be derived. A simple first order transfer function was assumed and experiments were performed to measure the individual control loop responses. The graphs in Fig. 3.2 show the step response results for the left and right tracks for a change in reference speed from 40  deg/s  to 100 deg/s. Also shown in the graphs are the responses obtained from simulating the derived transfer functions given by Eq. 3.5 and Eq. 3.6. It should be noted that the fuzzy logic track controllers were active at a reference speed of 40 deg/s and therefore a flat response was not achieved. Instead, the response exhibited a slight oscillation around the desired speed. This behavior is most noticeable in Fig. 3.2a where the left track response seemed to change before the change in the left track reference speed. The variation in the left track output speed was caused by the  24  action of the fuzzy logic track controller attempting to maintain a desired track speed of 40 deg/s and was not caused by an anticipation of the step change in reference speed at t = 5s.  25  Step Response for Left Track -20 Desired Experimental Simulation  -30 h  -40  -50  -60  ii  -70  -80  -90  -100  -110  5 Time (s)  6  (a) Step Response for Right Track -20  — — —  -30  Desired Experimental Simulation  l l  -40  -50  -60  -70  -80  -90 ' . i  r  ' r J %  -100h  -110  5 Time (s)  (b) ure 3.2: Step Response Graphs for the Fuzzy Logic Controllers (a) Left Track and (b) Right Track  26  Using the graphical information of Fig. 3.2a and Fig. 3.2b, the dead time, time constant and DC gain were obtained for the left and right track loops. The dead time was taken as the time from when the input reference speed changed until the output response started to change. The dead times for the left track and right track were tax = 0.2s and td,R = 0.2s, respectively. The system response settles to within 1% of its final value after a time of four time constants [24]. Therefore, the time constant for the left loop was found to be T = 0.3s and that of the right track loop as TR = 0.15s. The D C gain was calculated L  as the final response value divided by the reference value for the left and right tracks. The D C gains were then KDC.L = 0.93 and KDC.R - 0.95 for the left and right tracks respectively. These values were taken as an average of the D C gains at the reference speeds of -40 deg/s and -100 deg/s. The first order transfer functions were defined by:  DC  K  G(s) = -£j-e-'" s+—  (3.1)  T  where the dead time was modeled as an ideal time delay. Eq. 3.2 and Eq. 3.3 give the transfer functions for the combined fuzzy logic track controllers and mechanical system for the left and right tracks, respectively.  GAs) = — — e~ 5 + 3.333 0  2s  (3.2)  L  G  «  ( s )  =  -^r^- ~ s + 6.667 e  02s  ( 3  -  3 )  The continuous time transfer functions of Eq. 3.2 and Eq 3.3 needed to be discretized in order to obtain the terms GL(Z) and G (z) shown in Fig. 3.1. A zero-order R  hold (ZOH) D / A converter was utilized for the transformation. The transfer function of the Z O H block is given by Eq. 3.4, where T was the sampling period of 0.05s. The discretized transfer functions were then obtained by taking the Z-Transform of the  27  cascade of the Z O H and the continuous time transfer. The discrete time transfer functions are given by Eq. 3.5 and Eq. 3.6 for the left and right fuzzy logic track controllers, respectively.  G (s) =  1  (3.4)  zoh  1 0.1428 G \.z) = —r z z- 0.8465 L L  G  ,  (3.5)  4  4 °**> z z-0.7165 3  W  =  4  (3.6)  Eq. 3.7 and Eq. 3.8 give the transfer functions for the left and right track integrators respectively. The first term is the discrete time transfer function of a unity gain integrator. The second term is a gain that scales the output of the integrators to be equal to the accumulated distance traveled by the respective track, measured in metres. The third term, K, represents a design parameter used for tuning the cross-coupling motion controller and was a scalar value.  Tz 1 G (z) = — K ' z - 1 323  (3.7)  Tz 1 G (z) = — K z - 1 349  (3.8)  IL  !R  Finally, the transfer function of the PI controller used is given by Eq. 3.9. The terms K and Ki are the proportional and integral gains respectively, each with the units P  of  deg/ms.  G (z) = K PI  28  p  + ^ z-1  (3.9)  The overall design of the cross-coupling motion controller was done using a stability analysis method. The controller gains, K, K , and Ki, were adjusted so that an P  appropriate gain and phase margin were obtained for the system. The stability margins were calculated by the use of Bode plots. The Bode plots were constructed using a term called the open loop function. The open loop functions for the system of Fig. 3.1 are derived in the next section.  3.1.2 Open Loop Functions  Fig. 3.3 shows the block diagram of a simple feedback system.  G (z) —-—*i X —•  G(z)  c  Y(z)  — •  H(z) Figure 3.3: Block Diagram of Simple Feedback System  The G (z) block in Fig. 3.3 is the controller transfer function, the G(z) block is the c  plant transfer function, and H(z) is the feedback transfer function. The closed loop transfer function will be derived by examining the error signal, e, that is input to the controller block, G (z). The error signal can be written as: c  e =  U(z)-H(z)Y(z)  (3.10)  where the terms U(z) and Y(z) refer to the input and output of the system respectively. The output of the system shown in Fig. 3.3 can then be expressed as a function of e as:  Y(z) =  eG {z)G{z) c  29  (3.11)  The closed loop transfer function of the simple system in Fig 3.3 is given by the substitution of Eq. 3.10 into Eq. 3.11 as:  Y(z) _ U(z)  G (z)G(z) c  l+  G (z)G(z)H(z)' c  The open loop function is then given by the term G (z)G(z)H(z) in the c  denominator of Eq. 3.12. This function is used to construct the Bode plot and thus determine the system stability. Now, referring to Fig. 3.1, the transfer function of the track control system and the cross-coupling controller was manipulated into a different form. Since the system described by Fig 3.1 was linear, the property of superposition applied [24]. Therefore, the outputs, V L and V R could be expressed as a sum of the responses to each of the 0:  inputs, V  RyL  and V  0I  R>R  examined individually. The left and right track output speeds were  then written as:  V , =G (z)V +G (z)V 0 L  n  RiL  l2  RtR  (3.13)  V , =G (z)V +G iz)V 0 R  2l  RtL  22  RJl  where  G (z) n  V = -r ,withV  =0  L  RR  v G (z) = -f -,withV  =0  lk  i2  RL  'R,R  G i (z) = 2  (3.14) , with V  RR  =0  , with V  RX  =0  R,L  G  22  (z) = T~ R,R  30  The closed loop transfer functions in Eq. 3.13, Gu(z), Gn{z), Giiiz), and Giiiz), were then re-written in the form of Eq. 3.12 and the open loop functions determined by inspection. In the next sub-sections, the four closed loop transfer function terms in Eq. 3.13 are derived, using the previously derived transfer functions for Fig. 3.1, and the open loop functions given.  3.1.2.1 Gn(z): Left Track Output from Left Track Input  In this case, the left track reference speed, VRL, was used as the input to obtain the left track output speed, V L- The right track reference speed, V , was set to zero. The 0>  R:R  resulting closed loop transfer function of Fig 3.1, manipulated into the form Eq. 3.12, was given by:  VQA^_ V , (z) R L  G (Z) l  l+  G (z)G (z) L  x  where Gi(z) was an intermediate term used to manipulate the overall closed loop transfer function into the form of Eq. 3.12. By inspection of Eq. 3.15, the open loop function was GL(Z)GI(Z).  The simplified form of the open loop function was found to be:  G (z) = G (z)G, (z) = ol  L  ^ ^ ( ^ ( z ) l + G (z)G , (z)G (z) R  7  R  P/  3.1.2.2 Gi (z): Left Track Output from Right Track Input 2  In this case, the right track reference speed, V , was used as the input to obtain R>R  the left track output speed, V . The left track reference speed, V , was set to zero The 0>L  RIL  closed loop transfer function for this case was given by:  31  V,,LU)_  G (Z) 2  V , (z)  1 + G (z)'  K R  3  where the transfer functions G2U) and Gifz) were intermediate terms used to manipulate the closed loop transfer function into the simple form of Eq. 3.12. The open loop function was then given by the transfer function Gjfz). The simplified form of the open loop function was found to be:  G „,(z) = G (z) =  (3.18)  3  l+  G (z)G (z)G (z) R  ltR  PI  3.1.2.3 G i(z): Right Track Output from Left Track Input 2  In this case, the left track reference speed, V , was used as the input to obtain the RIL  right track output speed, V R. The resulting closed loop transfer function, with the right 0J  track reference speed, V , set to zero, was given by: RIR  Vo.Az) _  G (z) 4  V , (z)  1 + G (z)'  R L  5  where the transfer functions G4z) and Gs(z) were again intermediate terms used to manipulate the closed loop transfer function of Fig 3.1 into the form of Eq. 3.12. By inspection again, the simplified form of the open loop function was found to be the term G (z), given by: 5  G (z) = GAz) =  •  nl  5V  l+  32  (3.20)  G (z)G,, (z)G (z) L  L  PI  3.1.2.4 G22IZ): Right Track Output from Right Track Input  For this final case, the right track reference speed, VR,R, was used as the input to obtain the right track output speed, V .  The closed loop transfer function, with the left  oR  track reference speed, V L, set to zero, was given by: RI  VQ.RW _  G {z) R  V ,M  l+  R  G (z)G (z)' R  6  where G6(z) was obtained by the manipulation of the closed loop transfer function into the form of Eq. 3.12. By inspection of Eq. 3.21, the open loop function was found to be the term G (z)G6(z), given by: R  r 1 \ r> 1 \n 1 \ G (z) = G (z)G (z)= ol  R  (z)G,  G  (z)G (z)  R  R  PI  .  6  l + G (z)G L  l  (3.22)  L  (z)G (z) PI  A more detailed calculation of the open loop functions and the intermediate transfer function terms for the preceding sections can be found in Appendix I. It was noted from Fig. 3.1 that symmetry existed in the cross-coupling motion controller system. This symmetric property was also illustrated by the fact that there were only two unique open loop functions. Therefore, only the two differing open loop functions given by Eq. 3.16 and Eq. 3.20 were used for the stability analysis. The tuning of the controller gains and the stability analysis are described in the next section.  33  3.1.3 Controller Tuning and Stability  The cross-coupling motion controller was designed and tested using straight line motions. Therefore, it was assumed that the left and right track reference speeds were identical, ie. VR,L = VR . Thus, the multi-input multi-output system given by Fig. 3.1 and IR  Eq. 3.13 was transformed into two single variable systems and the controller design could be carried out using a Bode plot stability analysis. By graphing the Bode plots of the open loop functions derived in the previous section, the cross-coupling controller gains were varied to obtain the appropriate stability margins and thus tune the cross-coupling motion controller. The gains that could be manipulated were: the integrator gains, K, the proportional gain of the PI controller, Kp, and the integral gain of the PI controller, Ki.  i  w-Plane  l r r i  ^ Re  Continuous Time Stability Region  ir  Figure 3.4: Discrete and Continuous Time Stability Regions  Normally, Bode plots are constructed for continuous time systems to obtain the gain and phase margins. But, with the use of the bilinear transformation this powerful design method can also be used for discrete time systems. The bilinear transformation is done by the substitution of the z parameter in the open loop function with  z=  l + (772)w l-(772)w  34  (3.23)  where T is the sampling period. Under the bilinear transformation, the unit circle stability region of the z-plane is mapped onto the left half plane stability region of the wplane, as shown in Fig. 3.4. The w-plane is identical to the continuous time s-plane except with a frequency distortion of  2  (coT\  2  (3.24) J  where Tis the sampling period and CO is the frequency in the .-.-plane in rad/s. So, by using the bilinear transformation, the discrete time system can be analyzed in the w-plane using a Bode plot analysis. A l l that need be noted is that the frequency in the w-plane is a distorted version of the s-plane frequency. The design procedure was then carried out by graphing the Bode plots of Eq. 3.16 and Eq. 3.20 with the z variable substituted with the value of Eq. 3.22 and noting the frequency warping of Eq. 3.24, using the sampling period of T = 0.05s. The system gain and phase margin were then specified by the lowest gain and phase margin from the two Bode plots. The controller was considered tuned when the margins were within the desired gain and phase margins of G = 8dB and  = 45° [24]. A n initial value for the  m  gain K was chosen and then different values for K and K/ were tried. The tuned p  controller parameters were found to be: K = 1400, K = 0.35deg/ms, and P  K/ — 0.16deg/ms. Fig 3.5a and Fig. 3.5b show the Bode plots of the tuned cross-coupling motion controller. By inspection of the plots, the designed gain and phase margins were found to be 8.04dB and 46.87° respectively.  35  Gm=8.0435 dB (at 3.6206 rad/sec), Pm=62.892 deg. (at 2.0152 rad/sec)  Frequency (rad/sec)  (a) Gm=9.0591 dB (at 4.1451 rad/sec), Pm=46.87 deg. (at 2.3862 rad/sec)  Frequency (rad/sec)  (b) Figure 3.5: Bode Plots of Open Loop Functions (a) Eq. 3.16 and (b) Eq. 3.20  36  3.2 Slippage Controller  3.2.1 Slippage Detection Before the slippage controller could be designed, a method for detecting the individual track slippage had to be developed. Slippage was calculated by comparing the track distance traveled during a time period, as measured by the track flow sensors, with that calculated from the vision motion estimation system [23], utilizing the Triclops™ camera. The derivations of the left and right track distances from the Triclops readings as well as the equation for track slippage are given next.  X  Y  Figure 3.6: Vision System Coordinate Directions  The coordinate directions used for the vision motion estimation system are shown in Fig. 3.6. The vision system produced six motion parameters: the translations along the camera axis in metres, AX, AY, and AZ, and the respective rotations about each axis in radians, A6 , A6 , and A6 . These motion parameters were obtained from the actual X  y  Z  Triclops™ camera motion between subsequent image grabs taken AT seconds apart. In  37  order to obtain a significant number of scene features for the vision system estimation to be valid, the camera was mounted on the excavator tilted forward, so that it was pointing downwards, at an angle of 42° about the camera F-axis. The measured motion parameters from the vision system had to be transformed into the world coordinate frame by a rotation matrix operation. The Y rotation matrix, for an angle of 42°, is given by:  R (42°) = Y  cos(42°)  0  sin(42°)  0.7431  0  0.6691  0  1  0  0  1  0  -sin(42°)  0  cos(42°)  -0.6691  0  0.7431  (3.25)  The rotation matrix of Eq. 3.25 was then applied to both the translational motions and the rotation motions to obtain the vision system motion parameters in the world coordinate frame. In this frame, only the AX, AY, and A6 motions, termed AX i , Z  AY i , and A0 V sion  viS on  , were of interest since these were the only motions measurable by  vision  the individual track hydraulic flow meters. The vision system motion estimates also needed to be adjusted so that they were estimates of the motion of the center of the excavator rather than the motion of the mounting location of the Triclops™ camera. Fig. 3.7 illustrates the motion of the center of the excavator and the motion of the Triclops™ camera between two image grab times.  38  Referring to Fig. 3.7, the Triclops™ camera is located at X ff t 0  Yoffset -  Se  -  0.3825m and  0.805m, as measured with respect to the center of the excavator, in the excavator  coordinate frame. The angle 0is the angle that a line from the center of the Triclops™ camera to the center of the excavator makes with the Y-axis, in the excavator coordinate frame. This angle was constant since the camera was mounted at a fixed location and was found to be: $ = tan" — = 25.4°. Both the excavator and the Triclops™ camera 1  ^offset  undergo the same rotation of ^between the image grabs, as shown in Fig. 3.7. The locations of the center of the excavator during the first and second image grab times, in the world coordinate frame, are given by the coordinates  (x k-i, y ,k-i) ei  e  and  y ,k), e  respectively. The locations of the center of the Triclops™ camera during the first and second image grab times, in the world coordinate frame, are represented by the coordinates  (x .i, y ,k-i) Ctk  c  and (x , Cik  y ,k), c  respectively.  Now, assuming that the initial location of the excavator was (0,0), the motion of the excavator from time k-1 to k was expressed, in the world coordinate frame, as:  39  ^e  ~ e,k ~ e,k-l X  (3.26)  ~ 'e.k  X  X  ^Y =Y^ -Y ^=Y e  k  e  (3.27)  e:k  In a similar fashion, the motion of the Triclops™ camera was expressed, in the world coordinate frame, as:  ^  = X , -X ^=AX:  c  c k  c  (3.28)  isim  *Y =Y , -Y ^=AY; c  c k  c  (3.29)  iswn  where AX j j and AY i i were the transformed camera motion parameters obtained by V S on  V S on  the application of Eq. 3.25 as described previously. The coordinates of the Triclops™ camera in Eq. 3.28 and Eq. 3.29 were then expressed as offsets from the center of the excavator, (x -i, y ,h-i) for time k-1 and e>k  (•Xe.fe  e  ye,k) for time k, in the world coordinate frame, by noting the trigonometric relations  in Fig. 3.7, as:  ~ X ,k-1 + % offset  c,k-l  X  e  Y ,k-\ c  ct  x  ~ Y _\ + Y g ek  0  sel  —  ~ ^offset  Yg 0  set  = X +Lsm(</>-0) eJl  Y , =Y +LcosW-d) c k  where L = Jx^+Y^  etk  = 0.891m, from Fig. 3.7.  The motion of the Triclops™ camera was then rewritten by substituting  40  (3.30)  (3.31)  (3.32)  (3.33)  Eqs. 3.30 - 3.33 into Eq. 3.28 and Eq. 3.29 as:  = X  - X ^ = AX;,,  C i t  AF = Y  c  C  cjs  =X  on  + Lsm(<p -0)- X  ttk  - y^, =A i l =  (3.34)  offset  + ^cos(^ - (9) -  (3.35)  The change in position of the excavator, as established by the vision system, could then be found from examination of Eq. 3.34 and Eq. 3.35. The change in motion in the X and Y directions in the world coordinate frame and the change in rotation about the Z-axis of the excavator, AX  on,  visi  AX..  vision  AY  =Z =AX' t  e,k  Ay..  , and A0  vision  vision  +X - -Lsin(0-A<9 .. ) offset  =y =Ay'. e,k  "  (3.36)  ^ vision ^  + y „ -Lco&w-Ae..  t  vision  respectively, were then found to be:  vision  vision  offset  """"vr  )  A6> . =0 = A0 vision  (3.38)  vision  The vision system motion parameters, AX  y^.^^j  , AY  vision  (3.37)  vision'  , and A0  vision  , describing the  vision  motion of the excavator could then be used to calculate the translational and rotational speed of the excavator during the time between the image grabs, assuming that the speed of the excavator remained constant. These speeds were given by:  J AX . + A y . 2  T7  V  2  vision  excav,vision  vision  co  '  .. = ""' "  excav,vision  O Q \  /o  AT  A6>  0  ^ r j i  where AT was the time between the image grabs.  41  (3.40) v  '  Now, by using the kinematic equations of Eq. 2.1 and Eq. 2.2 developed in Chapter 2 along with Eq. 3.39 and Eq. 3.40, the individual left and right track distances, as measured by the vision system, were found to be:  ^^L,vision  ^excav,vision^^  Revision  ^ ^excav,vision^^  ^excav,vision^  ^excav,vision^^  (3-41)  (3*42)  where AT was again the time between the image grabs and B = 1.275m was the distance between the left and right tracks of the excavator. During a period of track slippage, the distance measured by the respective track hydraulic flow meter would be larger than that calculated from the vision system. The condition where the excavator could be sliding and thus the distance measured by the hydraulic flow meter would be smaller than that calculated from the vision system was not considered in this thesis. The definition of track slippage adopted for this thesis, where slippage detected was positive in sign, is given by:  Slip.=  Ad. „ - Ad . ' " x l 0 0 % l flow  (3.43)  where the subscript i was either L or R for the left or right track, respectively. The slippage value varied in magnitude from 0% to 100%, representing conditions of zero track slippage to total track slippage.  42  3.2.2 Controller Design The slippage controller was designed to reduce the left and right track reference speeds when either track was detected to be slipping. Since it was assumed that a slippage condition occurred when too much power was being applied to the tracks for the current ground terrain, slowing the tracks down would reduce and eliminate the slippage. The parameters to tune in the design of the slippage controller were the time between image grabs, AT, and the factor by which the left and right track reference speeds were reduced, a. In order to maintain the desired radius of curvature of the desired path, both the left and right track reference speeds were reduced by the same factor. Tests were conducted with the vision system to determine the maximum allowable camera movement between image grabs. It was found from these tests, described in Chapter 4, that the vision system could tolerate motions of:  |AX| < 5cm |AY| < 5cm  (3.44)  |A0|<5°  where the motions were all in the world coordinate frame and the rotation, Ad, was about the Z-axis. These values also corresponded to single-axis motions only. To calculate AT, the worst case slippage condition was considered. This occurred when one track was traveling at full speed and the other was slipping 100%. Fig. 3.8 illustrates this worst case condition.  43  v=o  v=v „ m  Canlera.  x„ ©  ~eB Y„  Left Track  Right Track  Figure 3.8: Worst case slippage condition  The maximum track speed was found through experiment to be Vmax = WOdeg/s = 0.2mJs. In this case, the camera was traveling on a circular path with a radius of  * =j 0 1 + f )  2  +  * i « =^(0.805m + ^ p V +  (3.45)  0.3825m = 1.492m 2  Assuming that the angle of rotation was small, the camera saw the following motions:  AX .. = V Ay  vision visio.  AO ..  AT (3.46)  max  0 V*  AT R  In order to satisfy the conditions of Eq. 3.44, a value of AT = 0.2s was chosen. This gave worst case values of the motion parameters of AX [ i V  and  A6 i ion V S  S  on  - 4cm, AYvision  —  0cm,  - 1.54°. Since the value of A0 j i was small, it was justified to make the V  S  on  assumptions of Eq. 3.44.  44  It was noticed when implementing the slippage controller that the Meteor™ frame-grabber did not instantly grab the images. Each image grab took one sampling time, T = 0.05s, to complete. Therefore, the final value of AT = 0.1s was used to allow for the extra 0.1s needed to obtain the two images by the vision system. The factor by which the track reference speeds were reduced, a, was chosen by experiments with the excavator itself. From these experiments, a value of a= 1.5 was used. The left and right track reference speeds were then divided by or to reduce the desired track speed. For each consecutive time that slippage was detected, the value of a was increased by a factor of 1.5. If either of the track reference speeds reached a significantly small value, V , and slippage was still being detected, then both the left min  and right track reference speeds were set to zero and the operator was notified of the situation in order to take the appropriate actions. The value of V „ was chosen as the mi  track reference speed that resulted in a track output speed of approximately zero. The value of Vmin = 20deg/s was found through experiment. Fig 3.9 contains a flow chart showing the operation of the slippage controller. The next chapter shows the results obtained for the designed controllers. The experimental results showing the performance of the Triclops™ camera system are also presented.  45  Start  Grab Image 1  Grab Image 2  Compute A c U and Ad ,* using Eq. (3.34) - Eq. (3.42) o n  R  Measure A d a n d Ad„ using flow meters  lon  LPDW  Calculate Slip and Slip from Eq. (3.43) L  R  NO  YES Slippage detected?  a = 1  a = a-1.5  v, = V / a RL  L  v„ =  NO  v . <v R  L  rtn  OR V < V 7 V  R, R ^  v  mln  •  YES  Stop Control and Alert Operator  Figure 3.9: Slippage Controller Flow Chart  46  Chapter 4. Results This chapter describes the results obtained from the thesis work. The results for the cross-coupling motion controller, the evaluation of the vision motion estimation system and the results for the slippage controller are given. Both simulation and experimental results are presented for the cross-coupling controller while the experimental results are shown for the vision system and the slippage controller.  4.1 Cross-Coupling Motion Controller  4.1.1 Simulation Results The simulation of the cross-coupling motion controller was done using the Matlab™ and Simulink™ programs. Fig. 4.1 shows the Simulink™ model used for all the simulations. The noise input was only used for the final simulations of the crosscoupling controller, for all other simulations the noise power was set to zero. A l l the simulations were conducted using a straight line path, with left and right track reference speeds of VR^ = -75deg/s and VR = -75deg/s, respectively. The reference speeds were iR  negative because the actual excavator was oriented backwards, and therefore a forward direction was achieved by traveling backwards. For the simulations where the crosscoupling motion controller was disabled, the controller gains were all set to zero. When the cross-coupling motion controller was enabled, the values used for the gains were the designed values from Chapter 3: K - 1400, Kp = 0.35 deg/ms, and Ki = 0.16 deg/ms.  47  TrackO Noise 1 VRL  .1428  5  Z-.8465 TrackO Delay  GO(z) lntegrator2  out_0_ o Workspace .05z z-1  To Workspacel  Track! Noise  Figure 4.1: Simulink™ Diagram of Cross-Coupling Motion Controller  Fig. 4.2 shows the simulated step responses of the left and right tracks when the cross-coupling motion controller was disabled. Fig. 4.3 shows the responses when the cross-coupling controller was enabled with the designed gains. For both these simulations, the noise sources were set to zero.  48  TrackO Step Response w/o C C Controller (Simulation)  (a) Trackl Step Response w/o C C Controller (Simulation)  (b) Figure 4.2: Step Response Without Cross-Coupling Motion Controller (a) Left Track and (b) Right Track  49  TrackO Step Response with C C Controller (Simulation)  (a) Trackl Step Response with C C Controller (Simulation)  (b) gure 4.3: Step Response With Cross-Coupling Motion Controller (a) Left Track and (b) Right Track  50  As can be seen from the figures, the addition of the cross-coupling motion controller (CCMC) caused the rise times of the left track to decrease and that of the right track to increase. Also, an overshoot and settling time were introduced, as compared to the simulations without the C C M C enabled. Comparing Fig. 4.2a and Fig. 4.3a for the left track, it was noted that the rise time had decreased by approximately Is and an overshoot and settling time of 10% and 3s, respectively, had been added by the addition of the C C M C . Similarly, for the right track, by comparing Fig. 4.2b and Fig. 4.3b, it was noted that the rise time was increased by 0.5s while an overshoot and settling time of 10% and 3s, respectively, had been added by the addition of the C C M C . Another result of the addition of the C C M C was an increase in the steady state error of the left and right track speed responses. The C C M C was designed as a PI controller for the heading error, but it was only a P controller for the track speeds [21]. This resulted in a tradeoff of improved path tracking accuracy at the expense of the accuracy of the track speed response. To illustrate the path-tracking performance of the C C M C , the next two figures are shown. Fig. 4.4 shows the heading angle plotted versus time while Fig. 4.5 shows the actual path driven by the simulated excavator for the commanded straight-line motion. The heading angle, X values and Y values were calculated, using the kinematic relations of Eqs. 2.1 - 2.5, from the data contained in Fig. 4.2 and Fig. 4.3. The - Y value was used when plotting Fig. 4.5 so that the actual path traveled was displayed as seen from an overhead view.  51  X vs - Y Plot (Simulation)  Without C C Controller With C C Controller  -0.2  -0.15  -0.1 -0.05 - Y Distance (m)  Figure 4.5: Path Traveled For Simulated Straight Line Motion  52  0.05  From Fig. 4.4, it was noted that when the C C M C was disabled, the heading angle, and thus heading error, constantly increased once the tracks reached their steady state value. When the C C M C was enabled, the heading angle reached a steady state value of zero degrees about 4s after the step change occurred in the track reference speeds. The unbounded property of the heading angle for the case that the C C M C was disabled was a direct result of the fact that each of the individual track controllers acted independently of the other. Thus, with an unbounded heading angle and heading error, the path error incurred by the traveling excavator would also be unbounded, as illustrated by Fig. 4.5. In Fig. 4.5, it was noted that when the C C M C was disabled the simulated excavator incurred a 20cm F-axis error during the 30s of travel. When the C C M C was enabled, the resulting F-axis error was bounded to less than 1mm. As was noted from the experimental results, the track responses of the excavator did not settle down to steady state values. Instead, the fuzzy logic track controllers kept the speed oscillating or hunting. To show this in simulation, a random noise was added to the output track speeds for the left and right tracks. The simulated left and right track responses, with noise present, are shown in Fig. 4.6 and Fig. 4.7 for the cases with the C C M C disabled and enabled, respectively. The simulated excavator was again commanded to travel a straight-line path with the left and right track reference speeds of VR L = -75deg/s and VRR = -75deg/s. A noise signal with random values ranging between :  +10  deg/s  and -10  deg/s  was used for both the noise input sources in the Simulink™  diagram of Fig. 4.1.  53  TrackO Step Response w/o C C Controller (Simulation) 0 -10 -20 h -30 -40 -50 -60  I  r  -70  'II  -80  1  I  -90 -100  10  15 Time (s)  20  25  30  (a) Trackl Step Response w/o C C Controller (Simulation)  (b) Figure 4.6: Step Response Without Cross-Coupling Motion Controller, Noisy Output (a) Left Track and (b) Right Track  54  Trackl Step Response with C C Controller (Simulation) 0 -10 -20 -30 -40 h 13 - 5 0 CD Q.  w -60 -70  Ll *\  ,i  '  '  i  -80 -90 0  15 Time (s)  10  -100  20  25  30  (b) Figure 4.7: Step Response With Cross-Coupling Motion Controller, Noisy Output (a) Left Track and (b) Right Track  55  Comparing Fig. 4.6 and Fig. 4.7, it was again noted that the addition of the cross-coupling motion controller decreased the rise times of the track speed responses and added an overshoot and settling time, as compared to the simulations without the cross-coupling motion controller enabled. These values were seen to be the same as those obtained from the previous simulations of Fig. 4.2 and Fig. 4.3. The performance of the simulations with the added noise is shown in Fig. 4.8 and Fig. 4.9. Fig. 4.8 shows the heading angle versus time and Fig. 4.9 shows the path traveled by the simulated excavator. Similar to the simulations done without noise added to the track outputs, these plots were derived from the data of Fig. 4.6 and Fig. 4.7 for the simulations with the cross-coupling motion controller disabled and enabled, respectively.  56  7,  ,  X vs - Y Plot (Simulation)  ,  1—  0.05 - Y Distance (m)  Figure 4.9: Path Traveled for Simulated Straight Line Motion, Noisy Output  From Fig. 4.8, it was noted that the heading angle, and thus heading error, was again unbounded for the case when the cross-coupling motion controller was disabled. When the cross-coupling controller was enabled, the heading angle, and corresponding heading error, was bounded to within ±0.4 degrees and reached this value approximately 2s after the step change to the track reference speeds. Fig. 4.9 shows that both the paths traveled by the excavator, for the cases with the cross-coupling motion controller disabled and enabled, exhibited similar behavior to the simulations performed without the noise present at the track outputs. The unbounded heading error, for the simulation when the cross-coupling motion controller was disabled, caused a 19cm error in the F-direction for the 30s travel time. This was compared to the approximate 1mm error incurred by the simulated excavator with the cross-coupling motion controller enabled.  57  4.1.2 Experimental Results The excavator, located inside the laboratory, was then tested with the same straight line path that had been previously simulated. The track reference speeds were again set to V L = -75deg/s and V RI  RIR  = -75deg/s. For the tests conducted with the cross-  coupling motion controller disabled, the gains were set to zero. When the cross-coupling motion controller was enabled, the values used for the gains were again the designed values: K = 1400, K = 0.35 deg/ms, and K = 0.16 deg/ms. P  T  Fig. 4.10 shows the step response outputs of the tracks of the excavator when the cross-coupling motion controller was disabled. Fig. 4.11 shows the same step response outputs when the cross-coupling motion controller was enabled.  58  TrackO Step Response w/o C C Controller (Experiment)  10  15 Time (s)  (a) Trackl Step Response w/o C C Controller (Experiment)  > ! 1 . ,  i 'in" , i  10  15 Time (s)  ,''  20  25  30  (b) Figure 4.10: Step Response Without Cross-Coupling Motion Controller (a) Left Track and (b) Right Track  59  TrackO Step Response with C C Controller (Experiment)  1  1  1  0 -10 -20 h -30 -40  n  II  ii  1 Ml 11,) '•Vi 'l"ll 'I V J I £l| l' ' ll II 1  ,UI r • • I'll 'In el J  f  1  10  I, ' > l  15  u  20  25  30  25  30  Time (s)  (a) Trackl Step Response with C C Controller (Experiment)  i ' n  "  i ,  I'v"! , V I, i | V .r, I |l ' l -^ "v  1  1  ' !  inn'  i:' r i,) • h iti' i' i, v 'i  4  10  15 Time (s)  20  (b) Figure 4.11: Step Response With Cross-Coupling Motion Controller (a) Left Track and (b) Right Track  60  By comparing Fig. 4.10a and Fig. 4.11a, it was noted that the addition of the crosscoupling motion controller caused the left track rise time to increase by approximately 0.5s, as compared to the experiment conducted with the controller disabled. Also, an overshoot of approximately 25% and settling time of 2s were also introduced by the addition of the cross-coupling motion controller. A comparison of Fig. 4.10b and Fig. 4.1 lb showed that the addition of the cross-coupling motion controller caused the rise time of the right track to increase by approximately 0.5s, as compared to the experiment conducted with the controller disabled. The overshoot for the right track remained at approximately 25% and the settling time was slightly increased by about Is. The overshoot introduced to the left track, when the cross-coupling controller was enabled, was larger than the simulated value given earlier because the controller needed to compensate for the overshoot already existing in the right track output response, shown in Fig 4.10b. The path tracking performance of the excavator is illustrated by the following figures. Fig. 4.12 shows the heading angle versus time for the machine as it traveled the commanded straight-line path. Fig. 4.13 shows the actual path traveled by the excavator during the tests. Both Fig. 4.12 and Fig. 4.13 were constructed from the test data contained in Fig. 4.10 and Fig. 4.11, again using the kinematic equations derived in Chapter 2.  61  Heading Angle vs Time (Experiment) — Without C C Controller - - With C C Controller  ^  2  CD  CD X  -1  -2  15 Time (s)  10  20  25  30  Figure 4.12: Heading Angle For Driven Straight Line Path X vs - Y Plot (Experiment) Without C C Controller With C C Controller  £4  $31  -0.2  -0.15  -0.1  -0.05 - Y Distance (m)  Figure 4.13: Path Driven For Commanded Straight Line Path  62  0.05  The results given by Fig. 4.12 and Fig. 4.13 agreed with those found from the simulations. Fig. 4.12 shows that when the cross-coupling motion controller was disabled, the heading angle, and thus heading error, continued to increase with time. For the 30s test performed, the heading error was 3.8 degrees at the end of the commanded straight-line path. When the cross-coupling motion controller was enabled, the heading error was bounded to within ±0.2 degrees. Fig. 4.13 shows that when the cross-coupling controller was disabled, a F-direction error of approximately 16cm resulted for the 30s test. But, with the use of the cross-coupling motion controller, this error was reduced to less than 1mm. It should be noted that these errors were not measured by the hydraulic flow meters directly, but were instead calculated by the use of the odometric equations of Eq. 2.3 - Eq. 2.5 derived in Chapter 2. The final test performed for the cross-coupling motion controller illustrated the path-tracking improvement when a disturbance in one of the excavator track control loops was compensated by both track control loops. In this test, a straight line path was again commanded by the reference speeds of VR,L = -75deg/s and V  R:R  - -75deg/s for  time t = 5s to t = 30s. A step disturbance, with a magnitude of 20deg/s, was added to the left track output speed at time t = 10s to simulate a drop in speed for the left track. Fig. 4.14 shows the heading angle versus time plot and Fig. 4.15 shows the actual path traveled by the excavator for the tests.  63  X vs - Y Plot (Experiment)  -0.25  -0.2  -0.15  -0.1 -0.05 - Y Distance (m)  0  0.05  Figure 4.15: Path Driven For Left Track Output Disturbance  64  0.1  The heading error, shown in Fig. 4.14, again became unbounded when the crosscoupling motion controller was disabled. At the time of the disturbance, the heading error increased steeply until the left track controller had stabilized the speed again. After this point, the heading error continued to rise at the rate seen in Fig. 4.12. By time t = 30s, a heading error of 6 degrees had accumulated. When the cross-coupling motion controller was enabled, the heading error increased initially when the disturbance was encountered but then settled back to within ±0.3 degrees. Fig. 4.15 shows that when the disturbance was encountered, the test with the cross-coupling motion controller disabled exhibited a sharp turn to the left and an accumulating F-direction error of 25cm by time t = 30s. When the cross-coupling controller was enabled, the excavator incurred a slight, 1mm, F-direction error at the time of the disturbance that eventually stabilized to less than 0.5mm. Again, it should be noted that these errors were not directly measured by the track flow meters, but were instead calculated by the odometric equations derived in Chapter 2.  4.2 Evaluation of the Vision Motion Estimation System  Motion tests were also performed using the Triclops™ camera and the vision motion estimation system [23] to determine the maximum allowable motion between image grabs that the vision system could accurately detect. To simulate the mounting of the Triclops™ camera on the excavator, the camera was mounted on a stationary stand at a tilted angle of 42 degrees about its F-axis and at a height of 1.2m. The camera stand was moved in the X and F directions and rotated about the Z-axis in the world coordinate frame described in Chapter 2. The camera motion parameters were transformed from the camera coordinate system to the world coordinate system by the F-rotation matrix given by Eq. 3.25. Table 4.1 shows the averaged results of 10 tests. For each of these tests, the camera stand was moved along only one axis at a time. The averaged time that the vision system took to calculate the motion parameters is also given in the table. Table 4.2  65  shows the averaged results for multi-axis motions of the Triclops™ camera and the corresponding calculation times.  X (cm)  Y(cm)  6(deg)  Movement  2.5  0  0  error  0.04  0.08  0.11  % error  1.6  Movement  -2.5  0  0  error  0.18  0.11  0.07  % error  7.2 5  0  0  0.25  0.24  0.075  Movement error % error  5  Movement  -5  0  0  error  0.24  0.31  0.05  % error  4.8 0  -2.5  0  0.01  -0.19  0.09  Movement error % error Movement error  error  0  2.5  0  0.01  0.23  0.1  error  0  -5  0  0.13  -0.21  0.15  error  0  5  0  0.12  0.18  0.02  error  2.4  2.7  2.7  2.55  2.5  3.6 0  0  -5  0.16  0.22  0.24  % error Movement  2.3  4.2  % error Movement  2.55  9.2  % error Movement  2.55  7.6  % error Movement  Calc. Time (sec)  2.65  4.8 0  0  5  0.07  0.24  0.31  % error  2.65  6.2  Table 4.1: Single Axis Motion of Triclops™ Camera (Average Results of 10 Trials)  66  X (cm)  Y(cm)  6 (deg)  5  -5  0  error  0.46  0.6  0.25  % error  9.2  12  -5  5  0  error  0.49  0.15  0.16  % error  9.8  3  Movement  2.5  -2.5  -5  error  0.22  0.01  0.35  % error  8.8  0.4  7  Movement  -2.5  2.5  5  error  0.03  0.28  0.36  1.2  11.2  7.2  Movement  Movement  % error  Calc. Time (sec)  2.25  2.3  2.45  2.5  Table 4.2: Multi-Axis Motion of Triclops™ Camera (Average Results of 10 Trials)  Table 4.1 shows that the average errors for single-axis motions were less than 10% for the 2.5cm and the 5cm movements, between 5% and 7% in the Z-direction and between 5% and 9% in the y-direction. Experiments with movements greater than 5cm resulted in measurement errors in excess of 100%. Angle rotations of ±5 degrees resulted in average errors of between 5% and 6%, mostly due to human error in the rotation of the camera stand. Table 4.2 shows that the errors were slightly larger for multi-axis motions, but still less than 15%. Experiments involving motion in all three axes, concurrently, and using distances larger than 2.5cm in the X and Y directions resulted in errors in excess of 100%. The calculation times for the motion parameters varied according to the scene features in the images and could be seen to be between 2.25s and 2.7s for both the singleaxis and multi-axis motions. The results presented in Table 4.1 and Table 4.2 then give the maximum motion tolerances, in the world coordinate system, for the Triclops™ camera and vision motion estimation system of:  67  \AX\<5cm |AF| < 5cm |A6> | < 5° for single-axis motions and  |AX| < 2.5cm |AF| < 2.5cm |A6> | < 5° for multi-axis motions. It was also noticed that during the first and second motion estimation calculations, the threshold value used to determine the number of scene features detected was still being initialized. Therefore, to have all the motion estimations use the same threshold value, the first two motion calculations were completed before any camera movements were made.  4.3 Slippage Controller  The first tests done with the excavator and the vision motion estimation system were to determine the minimum and maximum track slippages that could be measured. The measure used for track slippage was that defined by Eq. 3.43. Fig. 4.16 shows the track slippage results when the excavator drove a straight-line path in the outside enclosure, with no slippage occurring. Fig. 4.17 illustrates the track slippage results when the excavator tracks were raised off the ground, giving a slippage value of 100%.  68  Track Slippage vs Time  i  L  Left Track Slippage Right Track Slippage  10  20  30 Time (s)  40  50  60  Figure 4.16: Track Slippage When No Slippage Occurring  Track Slippage vs Time  70 h 5? 60h  30 h —  10  20  30 Time (s)  Left Track Slippage Right Track Slippage  40  50  Figure 4.17: Track Slippage When Total Slippage Occurring  69  60  When there was no track slippage occurring, Fig. 4.16 shows that the detected slippage values ranged between +5% and - 7 % for the left track and +15% and -4% for the right track. Fig. 4.17 shows that when total track slippage was occurring, slippage values of greater than 98% were detected for both tracks. Therefore, a minimum slippage threshold of 20% was chosen before the slippage controller would activate. It could also be seen from Fig. 4.16 and Fig. 4.17 that the calculation time for the track slippages was around 4.5s. This was shown, by the next experiment, to be a severe performance limiting factor for the slippage controller. To test the slippage controller, a disturbance was added to the right track reference speed while compensating the right track hydraulic flow meter. In this way, the right track was slowed down but the right track hydraulic flow meter "believed" that the speed remained constant. A straight-line path was commanded with VR_L = -75deg/s and VR_R = -75deg/s for time t = 15s to t = 60s. The right track disturbance was added between times t = 20s and t = 25s to simulate a 25% right track slippage. The designed track reference speed scaling factor of a = 1.5 was used for the slippage controller. The left and right track speed responses are shown in Fig. 4.18 while the measured track slippage values are shown in Fig. 4.19.  70  Left Track Speed Response  „lll'll  W",  it!!  10  20  30  40  Time (s)  50  60  I  I  70  (a) 0  Right Track Speed Response i I  i  1 -10  i  -  -20 -  -  \  -30 -40  !  \ 1, 1 'l'<  1  -50 -  \  ,11 1  '  1, -60  .  ^  '1 1 " 1  -  I 'i  i i  -  i i  \ V tl M i i ' i Ii i I'Hi'iiiii i  -70  _  I f -80 -  i  t  i  i '  • "  'i  '! 'i  ;  -90 -100  0  10  i 20  i 30  i  i  i  40  50  60  70  Time (s)  (b) Figure 4.18: Track Speed Response During Simulated Right Track Slippage (a) Left Track and (b) Right Track  71  401  1  1  Track Slippage vs Time  1  r  Lett Track Slippage Right Track Slippage Slippage Threshold  — —  30  20  10  to j£  o cd  £  0 -  -10 -201 0  i 10  i 20  i 30 Time (s)  i  i  40  50  i 60  Figure 4.19: Track Slippage Values During Simulated Right Track Slippage  As can be seen in Fig. 4.19, a right track slippage of 37% was detected at t = 27.2s. Fig. 4.18a and Fig. 4.18b show that at that time, the left and right track reference speeds were decreased by a factor of a= 1.5. The next slippage detection at t = 31.35s showed no slippage detected, since the slippage value was below the minimum slippage threshold value of 20%, and the track reference speed scaling factor was set back to a = 1. By looking at Fig. 4.19 for the times that the slippage was calculated, the main problem with the slippage controller could be noticed. It was noted that the slippage detection starting at t = 19.45s and completing at t = 23s was for a time period before the simulated slippage, added at t - 20s as previously stated, was present and therefore no track slippage was detected. This slippage detection did not detect any track slippage since the value was below the minimum threshold of 20%. The next slippage detection started at t = 23.1s and completed at t = 27.2s, detecting the simulated right track slippage. In this case, the slippage controller did not start to correct the right track slippage until 7.2 seconds after the simulated right track slippage, added at t = 20s, began. 72  The slippage controller showed promise that it could detect and control track slippage even though the achieved performance was not acceptable for real world applications. With the use of a faster vision motion estimation system, the application of this controller could be highly advantageous in the operation of outdoor mobile robots.  73  Chapter 5. Discussion and Conclusions This chapter concludes the work completed for this thesis. The advantages of the cross-coupling motion controller, the vision motion estimation system and the slippage controller are discussed in the next section. The conclusions are then made in the next section. Finally, the areas for future work for the vehicle motion control system, given in Chapter 2, and the improvement of the disadvantages of the systems designed for this thesis are presented.  5.1 Discussion  With the introduction of the cross-coupling motion controller on top of the track controllers of the excavator, many advantages could be noted. The main advantage of the cross-coupling motion controller was that it directly controlled the most-significant error, the orientation error, at a low-level. By coupling the motion of both the left and right tracks, the orientation error of the excavator was directly controlled. A direct result of this cross-coupling action was that the entire low-level system, consisting of the crosscoupling motion controller and the individual track controllers, exhibited better disturbance rejection than the case when the cross-coupling motion controller was absent. A disturbance acting on one of the tracks of the excavator was compensated by both the tracks with the use of the cross-coupling motion controller. This resulted in a faster response time to the disturbance and thus a smaller orientation error and improved pathtracking performance, all atthe low-level. This more accurate path tracking at the lowlevel also had the effect of easing the design constraints of the higher-level path-tracking controller to be designed in the future. Another advantage of the cross-coupling motion controller was that the simple PI controller that was designed could be implemented regardless of the existing individual track motor controllers. For the system designed for this thesis, the individual track controllers were fuzzy logic controllers, but the cross-coupling motion controller could be implemented on any form of track controllers.  74  The use of the vision motion estimation system provided a measure of the absolute motion of the excavator, and thus the left and right tracks, during the time period between the image grabs. This was advantageous since the hydraulic flow meters of the left and right tracks could only sense the motion of the track motors, hot the interaction between the tracks and the ground. Therefore, by comparison between the readings of the vision system and the hydraulic flow meters, as described in Chapter 3, it was determined when conditions of track slippage occurred. Thus, the assumption made in the design of indoor robots of no slippage between the drive wheels, or tracks, and the ground surface need not be made. This was of paramount importance for outdoor operation since slippage would be present and could not be neglected. Then, since the track slippage could be detected, the slippage controller was implemented to minimize and eliminate the slippage. The obvious advantage of this controller was the reduction of track slippage and thus less environmental impact made by the operation of the excavator. The disturbance of the ground surface by the tracks of the excavator was reduced when the tracks were not slipping. Another advantage of the slippage controller was in the self-localization of the excavator. When track slippage was being encountered, the dead-reckoning localization system was using erroneous information from the hydraulic flow meters for the tracks to update the local position estimate of the excavator. The addition of the slippage controller thus resulted in an increased accuracy in the dead-reckoning position estimate since the track slippages were reduced. Finally, the slippage controller also contributed to an increased accuracy in the path-tracking performance of the excavator. When both the left and right tracks were experiencing slippage, but of differing magnitudes, the resulting motion of the excavator was in turn producing a heading error. With the reduction and elimination of the track slippage by the slippage controller this orientation error was reduced and the accuracy of the path-tracking performance was increased.  75  5.2 Conclusions  The research completed for this thesis showed that the cross-coupling motion controller did improve the path-tracking accuracy of the excavator. The stability of the designed controller was determined by a Bode plot analysis and the gain margin and phase margin were shown to be G = 8.04dB and <p^ = 46.87°, respectively. It should be m  noted that the cross-coupling motion controller presented in [21] was extended for use on a tracked vehicle, rather than a wheeled mobile robot, and that a method for determining the gains and thus the overall system stability was also developed in this thesis. The use of a vision motion estimation system, along with the hydraulic flow meters for the tracks, was shown to be able to detect track slippage. The accuracy and calculation time for the vision motion estimation system did need to be improved for real world applications, but the results showed that the use of the system was advantageous in the area of outdoor mobile robots. Finally, the experiments with the slippage controller were shown to reduce the simulated track slippage. This reduced the environmental impact of operating the excavator and provided for an increased accuracy in both the path-tracking performance at the low level and the dead-reckoning position estimation.  5.3 Future Work  The main disadvantage of the vision motion estimation system was the parameter calculation time. As previously noted, the vision system took too long to calculate the motion parameters and therefore was not usable in real world applications. A faster computer (a Pentium II 233 M H z was used in this thesis) needs to be utilized and the motion calculation code needs to be better optimized in order to get the motion parameter calculation time down to 0.05s, the sampling period for the control system, or less. Also, the accuracy of the vision system needs to be increased. Possibly, with the use of a faster computer, the threshold value for detecting corners in the images could be modified so  76  that more image features could be detected thus increasing the accuracy of the motion estimates. Once the vision motion estimation system has been improved, the motion estimates could be used for more than just slippage estimation. One such use would be to correct the dead-reckoning position estimation when slippage was detected. During slippage conditions, the readings from the left and right track hydraulic flow meters were in error. So, for these time periods, the readings from the vision motion estimation system could be used to achieve a more accurate dead-reckoning position estimate. Other work that needs to be completed is the design of the rest of the vehicle motion control system. A n absolute position measuring system, such as a global positioning system, needs to be implemented. This system would then bound the accumulated error from the dead-reckoning position estimation system. The next system that needs to be designed is the path-tracking controller. This controller would use an error vector, generated from the deviations of the excavator from the desired path to be followed, to generate the desired vehicle translational and rotational velocities. Once the path-tracking controller is implemented, the path planner, developed in [25], needs be integrated with the rest of the system. The next step would then be to incorporate a range finder into the system. The range finder would be used to detect obstacles in the path of the excavator. The path planner then needs to be made to dynamically replan the desired path to be followed when such obstacles are detected. The next system that needs to be designed is the map generator. A method for representing the environment map needs to be devised and a system to generate the map developed. Finally, a method for the human operator to choose the desired goal location needs to be implemented. One method would be a touch screen device, showing a map of the work area, on which the operator would choose the goal location. The goal location and the generated environment map then need to be input into the path planner for the generation of the initial desired path for the excavator to follow.  77  Bibliography [1] C. Samson and K . Ait-Abderrahim, "Feedback Stabilization of a Nonholonomic Wheeled Mobile Robot",  IEEE/RSJ  Workshop  on Intelligent  pp.  Robots and Systems,  1242-1247, Osaka, Japan, November 1991.  [2] C. Canudas de Wit and O.J. Sordalen, "Exponential Stabilization of Mobile Robots with Nonholonomic Constraints", Control,  Proceedings  of the 30th Conference  on Decision  and  pp. 692-697, Brighton, U K , December 1991.  [3] J.B. Pomet, B . Thuilot, G. Bastin, and G. Campion, " A Hybrid Strategy for the Feedback Stabilization of Nonholonomic Mobile Robots", International  Conference  on Robotics  and Automation,  Proceedings  of the  IEEE  pp. 129-134, Nice, France, May  1992.  [4] J.T. Jeng, C.L. Shih, and T.T. Lee, "Mixing Input-Output Pseudolinearization and Gain Scheduling Techniques for Stabilization of Mobile Robots with Two Independently Driven Wheels," Robotica,  Vol. 15, pp. 573-582, 1997.  [5] W.L. Nelson and I.J. Cox, "Local Path Control for an Autonomous Vehicle", Proceedings  of the IEEE  International  Conference  on Robotics  and Automation,  pp.  1504-1510, Philadelphia, Pennsylvania, April 1988.  [6] Y . Kanayama, Y . Kimura, F. Miyazaki, and T. Noguchi, " A Stable Tracking Control Method for an Autonomous Mobile Robot", Conference  on Robotics  and Automation,  Proceedings  of the IEEE  International  pp. 384-389, Cincinnati, Ohio, May 1990.  [7] M . G . Mehrabi, A . Hemami, and R . M . H . Cheng, "Analysis of Steering Control in Vehicles with Two Independent Left and Right Traction Wheels", Conference  on Advanced  Robotics,  Fifth  pp. 1634-1637, Pisa, Italy, June 1991.  78  International  [8] O.J. Sordalen and C.Canudas de Wit, "Exponential Control Law for a Mobile Robot: Extension to Path Following", Robotics  and Automation,  Proceedings  of the IEEE  International  Conference  on  pp. 2158-2163, Nice, France, May 1992.  [9] Y . Zhang, D . Hong, J.H. Chung, and S.A. Velinsky, "Dynamic Model Based Robust Tracking Control of a Differentially Steered Wheeled Mobile Robot", American  Control  Proceedings  of the  pp. 850-855, Philadelphia, Pennsylvania, June 1998.  Conference,  [10] N . Sarkar, X . Yun, and V . Kumar, "Control of Mechanical Systems with Rolling Constraints: Application to Dynamic Control of Mobile Robots", Journal  of Robotics  Research,  The  International  Vol. 13, No. 1, pp. 55-69, February 1994.  [11] S.J. Singh and D.H. Shin, "Position Based Path Tracking for Wheeled Mobile Robots",  IEEE/RSJ  International  Workshop  on Intelligent  Robots and Systems,  pp. 386-  391, Tsukuba, Japan, September 1989.  [12] D.H. Shin, S. Singh, and J.J. Lee, "Explicit Path Tracking by Autonomous Vehicles", Robotica,  vol. 10, pp. 539-554, 1992.  [13] R . M . DeSantis, "Modeling and Path-Tracking Control of a Mobile Wheeled Robot with a Differential Drive",  Vol. 13, pp. 401-410, 1995.  Robotica,  [14] K . C . Koh and H.S. Cho, " A Smooth Path Tracking Algorithm for Wheeled Mobile Robots with Dynamic Constraints",  Journal  of Intelligent  and Robotic  Systems,  Vol. 24,  pp. 367-385, 1999.  [15] C. Ming Wang, "Location Estimation and Uncertainty Analysis for Mobile Robots", Proceedings  of the IEEE  International  Conference  on Robotics  1230-1235, Philadelphia, Pennsylvania, April 1988.  79  and Automation,  pp.  [16] J. Borenstein and L. Feng, "Measurement and Correction of Systematic Odometry Errors in Mobile Robots",  IEEE  Transactions  on Robotics  and Automation,  vol. 12, pp.  869-880, December 1996.  [17] H.J. von der Hardt, D. Wolf, and R. Husson, "The Dead Reckoning Localization System of the Wheeled Mobile Robot R O M A N E " , International  Conference  on Multisensor  Fusion  Proceedings  of the  and Integration  IEEE/SICE/RSJ  for Intelligent  Systems,  pp. 603-610, Washington D.C., USA, October 1996.  [18] P. Goel, S.I. Roumeliotis, and G.S. Sukhatme, "Robust Localization Using Relative and Absolute Position Estimates", Conference  on Intelligent  Proceedings  of the IEEE/RSI  International  pp. 1134-1140, Kyongju, Korea, October  Robots and Systems,  1999.  [19] M . Bak, T.D. Larsen, M . Norgaard, N . A . Andersen, N.K. Poulsen, and O. Ravn, "Location Estimation Using Delayed Measurements", Proceedings International  Workshop  on Advanced  Motion  of the 5th  pp. 180-185, Coimbra, Portugal,  Control,  June 1998.  [20] S. Iida and S. Yuta, "Control of Vehicle with Power Wheeled Steerings Using Feedforward Dynamics Compensation", Conference  on Industrial  Electronics,  Proceedings  Control  of the IEEE  and Instrumentation,  International  pp. 2264-2269,  Kobe, Japan, November 1991.  [21] L . Feng, Y . Koren, and J. Borenstein, "Cross-Coupling Motion Controller for Mobile Robots",  IEEE  Control  Systems Magazine,  [22] P. Jacobsen, "Control of Tracked Vehicle",  pp. 35-43, December 1993.  M.A.Sc  Thesis,  1995  [23] P. Saeedi, "Real-Time 3D Motion Tracking for a Mobile Robot", 1998.  80  M.A.Sc  Thesis,  [24] Charles L. Philips et al., "Feedback Control Systems", Prentice Hall 1991.  [25] D . Kusalovic, "Navigation System for Semi-Autonomous Tracked Machines", M.A.Sc Thesis, 1998.  81  Appendix I. Derivation of Open Loop Functions Gn(z): Left Track Output from Left Track Input  Fig. L l is used for the derivation of the transfer function Gu(z).  V, R, L  1  G (z) L  '  v  0 L  1  Figure 1.1: System Diagram for G i i (z) Derivation  Now, solving for e, the error signal input to GPI(Z), we get:  G,Az)V ,  0 L  (Ll)  e  l + G (z)G, R  (z)G (z)  R  PI  The left track output, V ,L, can then be described as a function of the error signal, 0  e, and the left track input, VR_L, as:  (1.2)  V , =G (ziv -G„(z)e) B L  L  RiL  Now, substituting Eq. L l into Eq. 1.2 and rearranging the terms, the closed loop transfer function, Gu(z), can be written as:  82  G„(z) =  V.o,L  G {z)  G {z)  L  VR,L  L  l + G (z)G.(z) L  1  G (z)G (z)G ,(z)  +  L  IL  l+  (1.3)  P  G (z)G (z)G (z) R  IR  PI  The open loop function for the closed loop transfer function Gn(z) is then obtained from inspection of Eq. 1.3 as:  G (z) = ol  G (z)G,  L  (z)G (z)  L  G (z)G (z) l  l+  L  PI  G (z)G (z)G„(z) R  (1.4)  IR  Gi2(z): Left Track Output from Right Track Input  Fig. 1.2 is used for the derivation of the transfer function Gn(z).  Figure 1.2: System Diagram for Gi2(z) Derivation  Now, solving for e, the error signal input to GPI(Z), we get:  e =  G AZWO.L-G (Z)G ,MVR.R 1  R  l+  1  G (z)G (z)G (z) R  ItR  83  PI  (1.5)  The left track output, V ,L, can then be described as a function of the error signal, 0  e, as:  V , =-G (z)G (z)e 0 L  L  (1.6)  pl  Now, substituting Eq. 1.5 into Eq. 1.6 and rearranging the terms, the closed loop transfer function, Gn(z), can be written as:  G (z)G (z)G {z)G (z) L  (  ._V .  12 K Z )  _  OJ  V,  R R  G (z)  _  2  R  IR  l+  P1  G (z)G,, (z)G (z) R  l + G (z)  R  PI  G (z)G (z)G (z)  3  L  l+  hL  P1  G (z)G (z)G (z) R  IR  PI  The open loop function for the closed loop transfer function Gn(z) is then obtained from inspection of Eq. 1.7 as:  G (z) = G (z) = ol  3  M <*W (z)  G  G  Pl  l+  84  (  G (z)G (z)G (z) R  IR  PI  1  8  )  G2i(z): Right Track Output from Left Track Input  Fig. 1.3 is used for the derivation of the transfer function Gn{z).  V, R  G (z)  L  L  1  Figure 1.3: System Diagram for Gi\(j) Derivation  Now, solving for e, the error signal input to Gpi(z), we get:  G (z)G (z)V -G (z)V (z) L  IiL  RiL  liR  0iR  \ + G {z)G {z)G (z) L  IL  (1.9)  P1  The right track output, V , can then be described as a function of the error signal, 0iR  e, as:  O,R =G (z)G (z)e  V  R  PI  (1.10)  Now, substituting Eq. 1.9 into Eq. 1.10 and rearranging the terms, the closed loop transfer function, G2i(z), can be written as:  85  G {z)G {z)G {z)G (z) R  G Az) 2 2 1  W  V,  G (z)  V  1 + G (z)  a R  RtL  L  l+  4  hL  G (z)G (z)G„(z) L  ^  5  PI  (1.11)  ItL  G (z)G (z)G„(z) R  lJt  l + G (z)G (z)G (z) L  IiL  PI  The open loop function for the closed loop transfer function G2i(z) is then obtained from inspection of Eq. 1.11 as:  G (z) = G (z) = o/  5  G (z)G (z)G (z) R  1  R  (1.12)  PI  l + G (z)G (z)G (z) L  ItL  PI  G22(z): Right Track Output from Right Track Input  Fig. 1.4 is used for the derivation of the transfer function G22(z).  >  R, R  1  G (z)  *  V ,R 0  R  Figure 1.4: System Diagram for G22(z) Derivation  Now, solving for e, the error signal input to Gpi(z), we get:  -G (zW , LR  e=  l+  0 R  G (z)G (z)G (z) L  lL  PI  86  (1.13)  The right track output, V R, can then be described as a function of the error signal, 0I  e, and the right track input, V ^ , as:  V*L=G,(z)(v„+G„(z)*)  (1.14)  Now, substituting Eq. 1.13 into Eq. 1.14 and rearranging the terms, the closed loop transfer function, Gniz), can be written as:  G r  c (7) = °' = V  22  V  R:R  R  ^  G  l + G (z)G (z) R  6  a is)  ^  r  G,(z)G (z)G (z)  u  M  \ +  P/  G (z)G (z)G (z) L  1L  P1  The open loop function for the closed loop transfer function Giiiz) is then obtained from inspection of Eq. 1.15 as:  G (z) = G (z)G (z) ol  R  6  =  ^ ^ l + G (z)G, L  87  ^ L  ^ (z)G (z) P1  (1.16)  

Cite

Citation Scheme:

        

Citations by CSL (citeproc-js)

Usage Statistics

Share

Embed

Customize your widget with the following options, then copy and paste the code below into the HTML of your page to embed this item in your website.
                        
                            <div id="ubcOpenCollectionsWidgetDisplay">
                            <script id="ubcOpenCollectionsWidget"
                            src="{[{embed.src}]}"
                            data-item="{[{embed.item}]}"
                            data-collection="{[{embed.collection}]}"
                            data-metadata="{[{embed.showMetadata}]}"
                            data-width="{[{embed.width}]}"
                            async >
                            </script>
                            </div>
                        
                    
IIIF logo Our image viewer uses the IIIF 2.0 standard. To load this item in other compatible viewers, use this url:
http://iiif.library.ubc.ca/presentation/dsp.831.1-0065159/manifest

Comment

Related Items