Close
About
FAQ
Home
Collections
Login
USC Login
Register
0
Selected
Invert selection
Deselect all
Deselect all
Click here to refresh results
Click here to refresh results
USC
/
Digital Library
/
University of Southern California Dissertations and Theses
/
Control of two-wheel mobile platform with application to power wheelchairs
(USC Thesis Other)
Control of two-wheel mobile platform with application to power wheelchairs
PDF
Download
Share
Open document
Flip pages
Contact Us
Contact Us
Copy asset link
Request this asset
Transcript (if available)
Content
CONTROL OF TWO-WHEEL MOBILE PLATFORM WITH APPLICATION TO POWER WHEELCHAIRS by Byungchan Jung A Dissertation Presented to the FACULTY OF THE USC GRADUATE SCHOOL UNIVERSITY OF SOUTHERN CALIFORNIA In Partial Fulfillment of the Requirements for the Degree DOCTOR OF PHILOSOPHY (MECHANICAL ENGINEERING) August 2012 g n u J n a h c g n u y B 2 1 0 2 t h g i r y p o C Table of Contents List of Figures ................................... . v List of Tables ................................... . viii Abstract ...................................... . ix Chapter 1: Introduction ............................. . 1 1.1 Related Works . ... . .... . . . .. . .. . .... . .... ... .. . 2 1.2 Motivation and Outline . . ...... . .. . .... . .... . .... . . 3 Chapter 2: Background and Mathematical Preliminaries .......... . 6 2.1 Kinematic Constraint .. . . . . . .... . ... . . . . . .... . .. . . 6 2.2 System Modeling . ... . .. . ... . .. . .. . . . .... . .... . . 8 2.3 Stability . ... .. ... . . . .... . . .. ... .. .... . ... . . . 10 2.4 Friction Models .. . ... .. .... . .. . .... . .. . . . .... . . 12 2.4.1 Static Friction Models . . . . .. . . .. .. . .... . ... . . . 12 2.5 Dynamic Friction Models .. .. ... . .. . .... . .... . .... . . 14 2.6 Backstepping Control ... . ... .. ... . ... . .... . ..... . . 17 2.7 Sliding Mode Control . .... . .. . . . .. . .... . ... .. . . .. . 20 Chapter 3: Equations of motion of dynamic model ............. . 25 3.1 Lagrange equation . . . ... .. .. . .. . ... .. .... . ... . . . 26 3.2 Nonholonomic constraints .... . . . .. . .... . ... .. .... . . 29 3.2.1 Knife-edge (No lateral motion) . . . . ... . .... . ... . . . 29 3.2.2 Pure rolling (No longitudinal slip) . . . . ... . ... .. . . . . 30 3.2.3 Constraint matrix . . .. . . .. . . . ... . . . . . .... . . . . 30 3.2.4 Elimination of the constraint force . . ... . .... . .... . . 33 3.3 Equations of motion of dynamic model with slipping .. . .. .. ... . 35 3.3.1 Nonholonomic constraints . . . .. . . . . .. . .... . . . . . . 39 3.3.2 Equations of motion with free variables . . .... . . . . .. . . 42 3.3.3 Relative velocity .. . .. . . . . .. . . ... . .... . . . .. . 45 3.3.4 Summary . . . . . .. . .. . . . . .. . .... .. ... . ... . 45 ii Chapter 4: Controller design for the case without longitudinal slipping . . 49 4.1 Backstepping controller . ... .. ... . ... . ... . . . .. . ... . 49 4.2 Simulation . ... . .. . . . .... . .. . .... . . . .. . ... . . . 54 4.3 Backstepping controller with robust term ... . ... . .... . . . . . . 64 Chapter 5: Controller design for the case with longitudinal slipping ... . 66 5.1 Backstepping controller . ... .. ... . ... . ... . . . .. . ... . 66 5.2 Simulation . ... . .. . . . .... . .. . .... . . . .. . ... . . . 78 Chapter 6: Combined Backstepping-Sliding Mode Control Law ...... . 85 6.1 Application to the mobile platform with slipping . .. ... . ..... . . 89 6.2 Simulation Example .. . ...... . .. . .... . .... .. ... . . 93 6.3 Robust Backstepping-Sliding Mode Control Law .. . .... . . . .. . . 96 Chapter 7: Trajectory Generation ....................... . 100 7.1 Background .. . . . . .... . .... . . .. .... . ... .. . . .. . 100 7.2 Application to Mobile Platform . ... .. ... . ... . .... . .. . . 102 7.3 Arc length Parameterization . . . .... . ... . .. .. .... . ... . 105 7.4 Cubic spline based profile .. . .... . . .. .... . .... . . . . . . 108 Chapter 8: Implementation ........................... . 113 8.1 Hardware Configuration .. .... . ... . .... . .... . .... . . 114 8.1.1 Power Wheelchair . . .. . . .. . . .... . .... . . . .. . . 115 8.1.2 Motor driver and Interface board .. . .... . .... . ... . . 115 8.1.3 xPC Target . . . .. . . . .. . . . .. .. ... . .... . ... . 116 8.1.4 cRIO . . . ... .. . . . . .. . . . . . ... . . . .. . ... .. . 118 8.1.5 Sensors . .. .. . . .. .. .. .. .... . .... . .. .. . . . 120 8.1.6 Remote controller .. . . . .. . . . ... . ... .. ... .. . . 124 8.1.7 Power distribution .. . . . .. . . . ... . .... . .. ... . . 124 8.2 Software Configuration .... .. ... . .. . .... . . . .. . . . .. . 125 8.2.1 Simulink and xPC Target . .. . .. . ... .. .... . .... . . 125 8.2.2 cRIO . . . ... .. . . . . .. . . . . . ... . . . .. . ... .. . 128 8.2.3 LabVIEW based monitoring and control application .. . .. . . . 130 8.2.4 Collision detection using RGB-D camera ..... . ... . .. . . 131 8.3 Velocity estimation .... . . . .. . ... . .. .. .... . ..... . . 132 8.3.1 Filter for acceleration . .... . .. . . .. .. . .... . . . . . 132 8.3.2 Offset compensation and Window . . . ... . .... . ... . . . 137 8.3.3 Gravity compensation . .... . .. . . . ... . .... . .. . . 138 8.3.4 Filter for angular velocity . . . . .. . . . .. . .... . ... . . 140 Chapter 9: Experiment ............................. . 142 9.1 Constant linear velocity .. .. . .... . ... . . . . . .... . .. . . 142 9.2 Constant Angular velocity . . . . .... .. .. . ... . .... .. .. . 144 iii Chapter 10: Conclusions ............................ . 146 10.1 Future Research ... ... . . . . . . . .. . ... . .... . . . ... . . 147 10.1.1 Additional experiment . . .. . .. .. ... . .... . .... . . 147 10.1.2 Implementation and test of another control algorithm .. . .. . 147 10.1.3 RGB-D camera based navigation . . .... . .... . .... . . 147 10.1.4 Adoption of GPS for localization in outdoor . .... . ... .. . 147 Bibliography .................................... . 148 Appendix: Hardware References and Datasheets ............... . 155 iv List of Figures v 2.1 Static friction models 1) Stiction, 2) Coulomb friction, 3) Viscous friction, 4) Coulomb+ Vis- cous friction 5) Stiction + Coulomb + Viscous friction, 6) Stiction + Coulomb + Viscous + Stribeck friction . .. .... . .. . . . .. .. .... . . . . . 12 2.2 Block diagram of a system . ... . .. . . . ... . ... . ... . ... . 18 2.3 Backstepping φ(x) through the integrator . .. . . . . . . .. . .. . . . 19 2.4 Reaching phase and Sliding mode . . . . ... . ... . .... . . . . . . 23 3.1 Coordinate of the mobile platform . . . .. . .... .. ... . . . .. . 25 3.2 Velocities of the body and the wheels . .. .... . .... . .. . .. . . 32 3.3 Friction force with various road condition, θ .. . ... . .... . ... . 38 3.4 Two-wheel mobile platform dynamics with nonholonomic constraint and slipping . ... . .. . . . .... . .. . . . . .. . . . .. . .. . . . 46 3.5 Transmission of motor torque to tire and body: a) no slipping case, b) dynamic friction case . . .. . . . . . .. . . . .. . . .. . . . .. . . . . 47 4.1 Simulink diagram . .. ... . .. . . . ..... . . . . . .... . .. . . 56 4.2 Initial posture (top), trajectory tracking (bottom) .. . .. . . . . .. . . 57 4.3 Tracking errors and control inputs ... .. .... . .... . ... .. . . 58 4.4 Tracking errors and control inputs ... .. .... . .... . ... .. . . 59 4.5 Initial posture (top), trajectory tracking (bottom) .. . .. . . . . .. . . 60 4.6 Tracking errors and control inputs ... .. .... . .... . ... .. . . 61 4.7 Trajectory tracking . . . .... . ... .. ..... . .... . . . . . . . 62 vi 6.1 Combined backstepping-sliding mode control law - Initial posture (top), trajectory tracking (bottom) . . . . . . . . . . . .. . . . . . . . . . . . . 94 6.2 Combined backstepping-sliding mode control law - Tracking errors and control inputs . . . . . . . . . . . . . . . . . . . .. . . . .. . . . . . . . 95 7.1 Bezier curve . . . . . . . .. . . . .. . . . . . . .. . . . .. . . . . . . . 101 7.2 Application of cubic Bezier curve to trajectory generation . . . . . ... . 102 7.3 Trajectory generator GUI and exporter trajectory .. . . . .. . . . .. . 103 7.4 Trajectory generation process .. . . . . . . .. . . . .. . . . . . . . . . 103 7.5 Trajectory exported from GUI . . . . .. . . .. . . . . . . . .. . . .. . 104 7.6 Bezier curve with evenly spaced “k” . . . .. . . .. . . .. . . .. . . . . 105 7.7 Regular Bezier and Cubic interpolator . . . .. . . .. . . .. . . . . . . 106 7.8 Length of segments comparison . . . . . . . .. . . .. . . . . . . .. . . 106 7.9 Arc length parameterized Bezier curve . . . .. . . .. . . .. . .. . . . 108 7.10 Length of segments comparison . . . .. . . .. . . .. . . . . .. . . . . 108 7.11 Curvature in Bezier based trajectory . . . . . . .. . . . . . . . . . . . . 109 7.12 Cubic spline based profile generator GUI . . .. . . . .. . . . . . ... . 110 7.13 Position and velocity profile . . .. . . . . . . .. . . . .. . . . . .. . . 111 4.8 Tracking errors and control inputs .. . . . .. . . . .. . . . .. . . . . . 63 5.1 Simulink diagram of two-wheel platform control simulation . .. . . . . 80 5.2 Case 1: circular trajectory tracking - Initial posture (top), trajectory tracking (bottom) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 5.3 Case 1: circular trajectory tracking - Tracking errors and control inputs . 82 5.4 Case 2: point stabilization - Initial posture (top), trajectory tracking (bottom) . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 5.5 Case 2: point stabilization - Tracking errors and control inputs ... . . . 84 7.14 Bezier based trajectory combined with cubic spline velocity profile .. . . 112 7.15 Length of segments .. . .. .. ... . .. . .... .. ... . .... . . 112 vii 9.3 PWM output for 0.2 m/s reference . . . . . . . .. . . .. . . . . . . . . 143 9.4 Velocity for 0.2 m/s, 20 ◦ /s reference . . . .. . . . . . . . . . . . . . . . 144 9.5 Velocity error for 0.2 m/s, 20 ◦ /s reference . . . .. . . . . . . . . . . . . 145 9.6 PWM output for 0.2 m/s, 20 ◦ /s reference . . .. . . . . . . . . . . .. . 145 8.1 Implemented mobile platform . . . . . . . .. . . .. . . . . . . . . . . . 113 8.2 Overall system configuration . . . .. . . . .. . . .. . . .. . . . .. . . 114 8.3 xPC Target configuration . . . . .. . . . . . .. . . . . .. . . .. . . . . 117 8.4 cRIO connection . . . . . . . .. . . . . . . .. . . . . . . . . .. . . . . 120 8.5 Power distribution .. . . . .. . . .. . . . .. . . .. . . . .. . . . . . 125 8.6 Operation procedure of xPC Target .. . . . .. . . . . . . .. . .. . . . 127 8.7 Structure of real-time tasks . .. . . . . . . .. . . . .. . . . .. . .. . 130 8.8 Magnitude response of the second lowpass elliptic filter . . .. . . . . . . 133 8.9 Magnitude response of the first lowpass elliptic filter . . . .. . . ... . 133 8.10 Magnitude response of the lowpass equiripple filter . . . . . . . . . . . . 134 8.11 Simulink diagram of AHRS part . . .. . . . . . . . .. . . .. . ... . . 135 8.12 Comparison of equiripple (FIR) and elliptic (IIR) filters for acceleration . 135 8.13 Comparison of equiripple (FIR) and elliptic (IIR) filters for velocity .. . 136 8.14 Comparison of two elliptic (IIR) filters for acceleration . .. . . . . . . . 136 8.15 Comparison of two elliptic (IIR) filters for velocity . . .. . . . .. . .. . 137 8.16 acceleration offset by gravity . . . .. . . . .. . . .. . . . .. . .. . . 138 8.17 acceleration offset by motion .. . . . . . . .. . . . . .. . . .. . . . . 139 8.18 FFT of angular velocity from gyro .. . . . .. . . .. . . .. . . . .. . . 140 8.19 Magnitude response of the filter . .. . . . . . . . .. . . . .. . . . . . . 141 9.1 Velocity for 0.2 m/s reference . . .. . . . .. . . . . . . .. . . . . . . . 142 9.2 Velocity error for 0.2 m/s reference . . . . . . . . . . .. . . . .. . . . . 143 List of Tables 4.1 Reference trajectory and initial posture for first case .. . .... . .. . . 55 4.2 Reference trajectory and initial posture for second case . . ... .. . . . 55 5.1 Reference trajectory and initial posture for first case .. . .... . .. . . 78 5.2 Reference trajectory and initial posture for second case . . ... .. . . . 79 6.1 Reference trajectory and initial posture for first case .. . .... . .. . . 93 8.1 xPC Target setup .. . .... . . . .. .. . . .... . .... . . . . . . 118 8.2 cRIO specification . . . . ... .. .. .. . . .... . .... . . . .. . . 119 8.3 Brief specification of temperature sensor . . ... . .... . ..... . . 122 10.1 Datasheets source ... .. .. .. .. . .. . .... . .. . . . .... . . 155 viii Abstract Modeling of two-wheel mobile platform, backstepping based controller design and hardware/software implementation are presented. Models with non-slipping and slipping are investigated. In the non-slipping case, nonholonomic constraints (no lateral motion and pure rolling) are embedded into the equations of motion. In addition to nonholonomic constraint, Lugre friction model is adopted to represent dynamic friction. Two backstepping based tracking controllers are developed for non-slipping dy- namic model. Regular backstepping controller and backstepping controller combined with robust term to deal with varying parameters are designed. Lyapunov’s stability theory is used to verify the stability of designed controller. For slipping case, backstepping based controller and sliding mode combined back- stepping controller are developed. Stability of both controllers are verified by Lya- punov’s stability theory. In addition to tracking capability, point stabilization is achieved in specific destination postures. Extensive simulation and visualization shows effec- tiveness of proposed controllers. Bezier curve combined with cubic spline velocity profile is considered for trajec- tory generation. Numerical integration approach for arc length parameterization is adopted to control segment length in Bezier curve. Curvature is also included into trajectory generation to adjust acceleration and deceleration for riding comfort and safety. ix Mobile platform based on commercial power wheelchair is implemented. Hard- ware components (Real-time controllers, Sensors, Power modules, Network devices) and software components (MATALB, SIMULINK, LabVIEW) are integrated and func- tions such as remote control, monitoring in the host PC are developed. Proposed controllers are implemented on the real-time controller and extensive test was con- ducted. x Chapter 1 Introduction Wheeled mobile platform has been an intensive research area in the last few decades. From small platforms for robot soccer, power wheelchairs and commercial vacuum robots to the platform for the exploration of extraterritorial area like Mars, its high degree of autonomy has enjoyed a long life span of interests and applications. Underneath of its high degree of autonomy, it has kinematical restriction. As seen from the parallel parking for cars, where it requires some back and forth maneuver, wheeled mobile platform has a constraint on its motion. This limitation is known as nonholonomic constraints which restrict the velocity space of the system. Because of this restriction, more involvement of controller design and analysis is required. Besides the well-known nonholonomic constraints, friction between wheels and surface plays an important role in performance and stability of the platforms. Friction transmits traction force from the axle and braking force from the disk to the body of the platform. In other words, without friction, no motion can happen. Friction can vary depending on the material of the surface and conditions like dry, wet and icy. Slipping is one of the representative phenomenon of friction loss. The assumption of pure rolling (no slipping) or simple static friction model has been used in many researches of wheeled mobile platform. Recent studies shows in- crease in adoption of dynamic friction model for reproduction of real friction phenom- ena and better performance. Dynamic friction model can capture friction phenomena, which are not available in static friction models. Combining of dynamic friction model with the dynamics of wheeled mobile platform can be expected to provide high fidelity 1 model for wheeled mobile platform and better performance controller for practical ap- plications. 1.1 Related Works Navigation of the wheeled mobile platform can be classified into three groups: point stabilization, trajectory tracking, and path following. Traditionally, these three classes of problems have been addressed separately [25]. Point stabilization can not be achieved with smooth time-invariant state-feedback control law as pointed out in [10]. Comprehensive survey including smooth time-varying control laws and discon- tinuous feedback laws are presented in [48]. Researches on path following control are presented in [17, 37]. The usual underlying assumption in path following control is that the vehicle forward speed is held constant while the controller acts on the vehicle orientation to drive it to the path [25]. Researches on control of wheeled mobile platform based on kinematic model are performed [41, 4, 68, 53, 23]. Nonlinear feedback controller for trajectory tracking is proposed using velocity control inputs that stabilize the closed-loop system [41]. Kinematic model based controls may not be practical due to lacks of dynamic effects and inability to use torques as control inputs. Approaches based on dynamic models are in [13, 8, 72, 64, 66, 47, 76, 50]. Dynamic path-following algorithm by using a nonlinear feedback for input-output linearization and decoupling is presented in [64]. In [66], variable structure control law for convergence to reference trajectories with bounded errors of position and velocity is proposed. Switching control utilizing the passivity property for point stabilization is developed in [50]. In backstepping based approaches, velocity control inputs which stabilize the position error are obtained and then these stabilizing velocity inputs are deployed in controller to make velocity of wheeled mobile platform converge to designed velocity inputs [27, 58, 49]. 2 In spite of its importance and impact on the vehicle dynamics, road-tire friction is ignored in control systems because of its complexity to be modeled. Works are focused on developing road-tire friction models. Pseudo-static tire model “magic for- mula” proposed in [3] has been used as a bench mark in industry and research lab for tire models, abundant parameters with little physical signification poses a limitation on implementation in real-time control [81]. Dynamic friction model, called LuGre friction model, is proposed in [15, 16] and claimed that this model captures most of the important phenomena that occur during road-tire friction process. LuGre friction model is adopted in the field of wheeled mobile platform for ABS(antilock braking sys- tem) [19], emergency braking [77, 38], estimation of the tire/road friction coefficient under different road conditions [16, 18, 61] Research on the control of mobile platform with the consideration of slipping have been carried out [30, 26, 34, 22, 51, 52]. In [30], tracked mobile robots are consid- ered and slip condition is injected into the kinematic model. In [34], sliding effects are introduced as additive disturbances and only kinematic model is considered to de- sign sliding mode controller. GPS-based approach to measure slipping information is proposed in [51, 52]. 1.2 Motivation and Outline Tires play a crucial role within wheeled mobile platform as they are used to trans- mit force. Transmission of force not only depends on the friction between the tire and road but also on various parameters such as the load on the tire and road condition. The ability of the tire to transmit force is mainly dependent on the friction mechanism between the tire and the road. Conventional assumption on the research of wheeled mobile platform is that rota- tion of the wheel always fully transmit its driving torque to the body. In other words, 3 pure rolling is supposed and pure rolling implies no torque loss. However, pure rolling assumption may not be practical. Except the environment where the surface is man- aged to be consistent, practical road condition can not be managed to have proper status to drive all the time. There is always an friction limit between road and tire. Simple but good example for this is that car does not move in slippery road despite of fully engaged acceleration pedal. Many friction model have been developed and deployed to various applications. Static friction models are simple but they are not able to capture real friction phenom- ena. On the other hand, dynamic friction models can reproduce real friction phenom- ena but their complexity hinders wide adoption. Combining dynamic friction and well-established dynamic model of wheeled mo- bile platform can be good opportunity to increase fidelity of the model. In addition to model fidelity, increase in performance of controller is expected in that friction model is considered in the designing control. Another expected benefit of adoption of dy- namic model into the dynamic model of the wheeled mobile platform is safety. Since motion is controlled with the consideration of the road condition, abrupt maneuver can be prevented. Additionally, prevention of loss of traction can be beneficial to battery-operated wheeled mobile platform in that slip resulted from excessive torque implies unnecessary consumption of battery energy. In this study, models of the wheeled mobile platform is developed and the model is extended to include slipping by adopting LuGre friction model. Control laws based on the backstepping algorithm for each model are designed and simulated. Two con- trollers are designed for each model. For model without slipping , regular backstepping controller is derived and backstepping controller with a robust term is developed to address change in system parameter such as mass and inertia. For the model with slipping, regular backstepping controller and backstepping controller combined with sliding mode are developed and compared to the previous design. 4 The dissertation is organized as follows. In chapter 2, the mathematical back- ground of the problem is given. Chapter 3 develops equations of motion of the wheeled mobile platform for the case without slipping and with slipping. In chapter 4, con- trollers design for the model without slipping are presented. Chapter 5 develops the design of backstepping controller for the model with consideration of slipping. Chap- ter 6 presents backstepping controller combined with sliding mode for the model with slipping. Trajectory generator is presented in Chapter 7. Chapter 8 describes im- plementation in hardware and software. Experiment is presented in Chapter 9 and conclusion and future research are discussed in Chapter 10. 5 Chapter 2 Background and Mathematical Preliminaries 2.1 Kinematic Constraint Consider a system with p generalized coordinates q i and s algebraic constraint equations as follows. f i (q i ;t) =f i (q 1 ;q 2 ;:::;q p ;t) = 0 (2.1) j = 1; 2;:::;s<p These type of constraints are called holonomic. A system whose constraint equa- tions are all holonomic is called a holonomic system. A holonomic constraint always reduces the dimension of the system. In above system withp generalized coordinates and s holonomic constraint, the number of independent generalized coordinate can be calculated byps. In most cases, approach to find a set of generalized coordinates that describe the constrained system without eliminating variables directly using the constraint equa- tion is tried [6]. Furthermore, holonomic constraint gives a clue for the number of independent generalized coordinates. The number of independent generalized coor- dinate is the same as the degrees of freedom. In this particular example, motion of 6 the two particles are written with 4 coordinates,x 1 ; x 2 ; y 1 ; y 2 and independent gener- alized coordinate isx; y; (4 1): Constraints are further classified according as the equations of constraint are ex- plicitly dependent on time or not. The former case is called rheonomous and the latter is called scleronomous [21]. Kinematic constraints that are not in the form of 2.1, or cannot be transformed into the form are called nonholonomic constraints. These type of constraints are written as non-integrable differential expressions of the form p X k=1 a jk (q i ;t)dq k (t) +b j (q i ;t)dt = 0 (2.2) j = 1; 2;:::;s<p where,a jk andb j are certain functions of thep generalized coordinatesq i and the time t. Nonholonomic constraints put a restriction on the velocities not positions of the system [73]. Because of the non-integrable characteristic of the nonholonomic con- straints, it cannot be used to reduce the number generalized coordinates. Therefore, nonholonomic systems always require more coordinates to specify the configuration space of the system than there are degrees of freedom. The number of degrees of free- dom in nonholonomic systems is defined as the number of coordinates which are used to describe the configuration space of the system subtracted by the number of indepen- dent equations of constraint [32]. A classical example of a nonholonomic constraint is rolling without slipping [31]. 7 2.2 System Modeling In this section, the Euler-Lagrange equations for derivation of the equations of motion of mechanical systems are briefly presented (See [69, 42] for more details). Consider mechanical system withn-degrees of freedom described byn-dimensional vector of the generalized coordinatesq = (q 1 ;q 2 ;:::;q n ) T . It is assumed that the kinetic energy is a quadratic function of generalized velocities, _ q, of the form T = 1 2 _ q T M(q) _ q (2.3) whereM(q),nn inertia matrix, is symmetric and positive definite for eachq2R n . The Lagrangian is defined as follows L =TV (2.4) whereT is kinetic energy andV is potential energy of the system. The form of the Lagrange equation for the generalized coordinateq is d dt ( @L @ _ q ) @L @q =Q (2.5) If the potential energy V is not a function of any of the generalized velocities, _ q, Lagrange equation is the form of d dt ( @T @ _ q ) @T @q + @V @q =Q (2.6) The generalized forces,Q2 R n , arise from elements in the system that cannot be represented by energy functions, T and V . Examples are friction forces and external forces or torques. 8 Substitution of 2.3 and 2.4 into 2.6 yields equations of motion for n-degree-of- freedom mechanical system. M(q) q +C(q; _ q) _ q +g(q) =Q (2.7) M(q) nn symmetric, positive definite inertia matrix C(q; _ q) vector of Coriolis and centripetal terms g(q) vector of gravitational terms Above equations of motion has a property of skew-symmetry of the matrix _ M 2C due to their Lagrangian dynamic structure. Skew-symmetry property implies passivity of the Euler- Lagrange dynamics from inputQ to output _ q [11]. Passivity property can be shown as follows [70]. LetH be the total energy of the system, the sum of the kinetic and potential ener- gies. H = 1 2 _ q T M(q) _ q +V (q) (2.8) The derivative ofH _ H = _ q T Q + 1 2 _ q T 0 @ _ M(q) 2C(q; _ q) | {z } Skewsymmetry 1 A _ q (2.9) = _ q T Q (2.10) Integrating both sides of 2.10 with respect to time yields, T 0 _ q T ()Q()d =H(T )H(0)H(0) (2.11) 9 The inertia matrix has a following property. 1 (q)I nn M(q) n (q)I nn (2.12) where 0< 1 (q) n (q) denote then eigenvalues ofM(q) for the generalized coordinate q (positive eigenvalues are from the fact that the positive definiteness of M(q)) andI nn denotes thenn identity matrix. 2.3 Stability Definitions and Theorems for this section are taken from [67]. Definition 1. Positive definite function A scalar time-varying functionV (x;t) is locally positive definite if following condi- tions are satisfied, 1. V (0;t) = 0 2. V (x;t)>V 0 (x) where,V 0 (x) is a time-invariant positive definite function If above conditions holds over the whole state space, V (x;t) is globally positive definite. Definition 2. Decrescent function A scalar time-varying functionV (x;t) is decrescent if following conditions are sat- isfied, 1. V (0;t) = 0 2. V (x;t)V 1 (x) where,V 1 (x) is a time-invariant positive definite function 10 Theorem 3. Stability Forx2B R around the equilibrium pointe 0 , thee 0 is stable in the sense of Lyapunov, if there exists a scalar functionV (x;t) with continuous partial derivatives such that 1. V (x;t) is a positive definite 2. _ V (x;t) is negative semi-definite Theorem 4. Uniform stability The equilibrium pointe 0 is uniformly stable if following conditions are satisfied, 1. V (x;t) is a positive definite 2. _ V (x;t) is negative semi-definite 3. V (x;t) is decrescent Theorem 5. Uniform asymptotic stability The equilibrium pointe 0 is uniformly asymptotically stable if following conditions are satisfied, 1. V (x;t) is a positive definite 2. _ V (x;t) is negative definite. 3. V (x;t) is decrescent Theorem 6. Global uniform asymptotic stability IfB R is expanded to the whole state space and following conditions are satisfied, the equilibrium pointe 0 is globally uniformly asymptotically stable. 1. V (x;t) is a positive definite 2. _ V (x;t) is negative definite. 3. V (x;t) is decrescent 4. V (x;t) is radially unbounded 11 2.4 Friction Models In this section, a brief summary of friction models [60] is presented. 2.4.1 Static Friction Models F F v v F v F v F v F v 1) 2) 4) 5) 3) 6) Figure 2.1: Static friction models 1) Stiction, 2) Coulomb friction, 3) Viscous friction, 4) Coulomb + Viscous friction 5) Stiction + Coulomb + Viscous friction, 6) Stiction + Coulomb + Viscous + Stribeck friction Stiction describes the friction force at rest and prevents an object from moving. Stiction is not a function of the velocity. Instead, it depends on the external force. If force exerted externally is not larger than stiction, friction force at rest is the ex- ternal force itself. If external force is larger than stiction, friction force at rest is the magnitude of stiction. 12 In Coulomb friction, depicted in Fig.2.1 2), friction force is proportional to the normal force, c F n . Magnitude is independent of velocity and contact area. Friction force at zero velocity is not defined. Coulomb friction model has been widely used in industrial applications such as robotics, harmonic drives [46, 44]. Viscous friction is developed to express the friction force caused by the viscosity of lubricants. Friction force is described as v vF n . Static friction model depicted in Fig.2.1 6) includes Stribeck effect[1] with three friction models (Stiction, Coulomb, Viscous friction model). Unlike a discontinuous manner in friction force with increas- ing velocity in 5), Stribeck effect shows continuous decrease in friction force with in- creasing velocity. The Stribeck effect is described by the Stribeck velocity. Small value of the Stribeck velocity gives fast decrease and large value of the Stribeck velocity gives a slow decrease in Stribeck effect. The Karnopp Model The model presented by Karnopp in [43], attempts to overcome the problems of zero velocity detection and switching between different state equations for sticking and sliding. This model defines a zero velocity interval. Within this interval, state of the system may change and be nonzero while output is maintained at zero by a dead zone. For velocities within this interval, the internal state of the system (the velocity) may change and be nonzero but the output of the block is maintained at zero by a dead zone. The drawbacks with the model are that the external force, input to the model, is not always explicitly given. Therefore, the model needs to be customized for each configuration. In addition, the zero velocity interval does not agree with real friction. 13 Armstrong’s Model This model [1], proposed by Armstrong, introduces temporal dependencies for static friction and Stribeck effect, but does not handle pre-sliding displacement. This is instead done by describing the sticking behavior by a separate equation. Some mechanism must then govern the switching between the model for sticking and the model for sliding. 2.5 Dynamic Friction Models Dynamic friction models means they have memory. Memory can be interpreted as a state and state can be represented as an integrator. This kind of systems makes an output with input and state not just by input itself . In general, the system which makes an output with respect to its input is called static system. But, static friction models have limitation to capture a various behaviors. Memory-dependent phenomena such as predisplacement, rate-dependence, and hysteresis can be captured only by models with memory (state). The Dahl Model Dahl’s model [24] is based on the stress-strain curve in classical solid mechanics [62]. When subject to stress the friction force increases gradually until rupture occurs. The stress-strain curve was modeled by a differential equation. dF dx = 1 F F c sgn(v) (2.13) 14 x displacement F friction force F c Coulomb friction force stiffness coefficient parameter for the shape of the stress-strain curve In the Dahl model, friction force is only a function of the displacement and the sign of the velocity. This means that the friction force is position dependent (rate independence). The model is a generalization of ordinary Coulomb friction. The Dahl model is not able to capture rate dependent phenomenon like the Stribeck effect. In addition to the Stribeck effect, this model is not able to reproduce static friction. The Bristle Model This model, introduced in [33], attempted to capture the behavior of the micro- scopical contact points between two surfaces. Each point of contact is thought of as a bond between flexible bristles. As the surfaces move relative to each other the strain in the bond increases and the bristles act as springs giving rise to a friction force. The force is then given by F = N X i=1 0 (x i b i ) (2.14) N the number of bristles 0 stiffness of the bristles x i relative position of the bristles b i location where the bond was formed 15 The LuGre Model The LuGre model [14, 39] is related to the bristle interpretation of friction as in [33]. Friction is modeled as the average deflection force of elastic springs. When a tangential force is applied, the bristles will deflect like springs. If the deflection is suf- ficiently large, the bristles start to slip. The average bristle deflection for a steady state motion is determined by the velocity. It is lower at low velocities, which implies that the steady state deflection decreases with increasing velocity. This models the phe- nomenon that the surfaces are pushed apart by the lubricant, and models the Stribeck effect. The model also includes rate dependent friction phenomena such as varying break-away force and frictional lag. The model has the form dz dt =v 0 jvj g(v) z (2.15) F = 0 z + 1 _ z +f(v) (2.16) v velocity between the two surfaces in contact z average bristle deflection (internal friction state) F friction force 0 stiffness of the bristles 1 damping of the bristles The functiong(v) models the Stribeck effect and functionf(v) represents the mem- oryless velocity-dependent term. A reasonable choice ofg(v) which gives a good approximation of the Stribeck effect is as follows. 16 g(v) = c + ( s c )e j v vs j (2.17) The sum of c and s corresponds to stiction force and c is Coulomb friction force. v s represents the Stribeck velocity, which determines the speed of decrease in Stribeck effect. The speed of decrease in Stribeck effect can be considered as how quicklyg(v) approaches c . A common choice off(v) is linear viscous friction and typically represented as 2 v. Different value of is suggested in [74, 9, 2]. 2.6 Backstepping Control Backstepping algorithm can be applied to systems which have a form of integrator. By designing stabilizing control input for the subsystem, final control input can be obtained by “backstepping” through the integrator. In case of the system with a chain of integrators, backstepping algorithm can be applied with iterative way. Backstepping algorithm can be adopted to control of a variety of systems including nonlinear systems in that most of the systems can be transformed into the integrator form. Steps of backstepping algorithm will be briefly introduced in the section. For further details, see [45]. Consider following system _ x = f(x) +g(x) (2.18) _ = u (2.19) 17 1 s 1 s ( ) f ⋅ ( ) f x + + u ξ x ξ & x & ( ) ( ) x f x g x ξ = + & u ξ = & ( ) g x Figure 2.2: Block diagram of a system Suppose that stabilizing control for the _ xsubsystem can be obtained by treating as an input. Define stabilizing control as and assume that Lyapunov function exists such that _ V 1 = @V 1 @x [f(x) +g(x)]V a (V a :l:p:d:f) _ x = f(x) +g(x) +g(x)() (2.20) _ = u (2.21) Above equations are the same as 2.18 and 2.19 Definez =, _ z = _ _ =) _ z =u _ (from _ =u) Pluggingz = and _ z =u _ into 2.20 and 2.21 yields, _ x = f(x) +g(x) +g(x)z (2.22) _ z = u _ (2.23) 18 Now, stabilizing control for _ xsubsystem is moved back through integrator as shown in Fig.2.3. This is called “Backstepping”. 1 s 1 s + + u z x x & [ ] ( ) ( ) ( ) ( ) x f x g x x g x z ϕ = + + & z u ϕ = - & & ( ) ( ) ( ) f g ϕ ⋅ + ⋅ ⋅ - + ϕ & z & ( ) g x Figure 2.3: Backstepping(x) through the integrator From 2.22, it is obvious thatz=0 makes _ xsubsystem stable since is assumed to stabilize the _ xsubsystem. Now, remaining work is to make control input,u; stabilize _ z andV 1 . Choosingu =v + _ and plugging into 2.23 _ x = f(x) +g(x) +g(x)z (2.24) _ z = v (2.25) Take the Lyapunov function V lya =V 1 + 1 2 z 2 (2.26) Derivative ofV lya 19 _ V lya = @V 1 @x [f(x) +g(x) +g(x)z] +z T _ z (2.27) = @V 1 @x f(x) + @V 1 @x g(x) + @V 1 @x g(x)z +v T z (* _ z =v) (2.28) = @V 1 @x f(x) + @V 1 @x g(x) | {z } _ V 1 + ( @V 1 @x g(x) +v T )z (2.29) Since _ V 1 = @V 1 @x [f(x) +g(x)] 0 We can choosev T =( @V 1 @x g(x) +z T k); k> 0 such that _ V lya < 0 Final control inputu =v + _ 2.7 Sliding Mode Control Sliding mode control is technique for nonlinear robust control design. Robust control is a one approach to explicitly address structured uncertainty (uncertainty in model parameter) and unstructured uncertainty (unmodeled dynamics) [67]. The typical structure of a robust controller is composed of a nominal part and additional terms to deal with uncertainty. The major advantage of sliding mode is a low sensitivity to plant parameter vari- ations and disturbances [63]. This property removes the necessity of exact modeling. In addition, sliding mode control reduces the complexity of feedback control design by decoupling of the overall system into the reduced (lower) order motion. For the aspect of implementation, discontinuous control action of the sliding mode control can be achieved by conventional switching electronics (BJT, FFT, IGBT). How- ever, due to delay in switching devices (delay in switching from on-state to off-state or vice versa), sliding mode control suffers from chattering. Chattering can result in heat losses in switching circuits, high wear of moving mechanical parts, and excitation of 20 unmodeled high-frequency dynamics, which degrades the performance of the system [45]. Consider the second-order system (example is taken from [45]) _ x 1 =x 2 (2.30) _ x 2 =h(x) +g(x)u (2.31) whereh andg are unknown nonlinear functions andg(x)g 0 > 0 for allx Design procedure of sliding mode controller will be presented with the assumption that the purpose of the controller is to stabilize the origin. Step 1. Define sliding surface (manifold) Sliding surface is the invariant set in which the system trajectories remain on the surface. In general, sliding surface is designed to achieve the goal of the control. For example, if goal of the control is to stabilize the origin, sliding surface needs to be designed to make system trajectories go to the origin when system trajectories are constrained on the sliding surface. Simple choice of the sliding surface,s, for above example is s =a 1 x 1 +x 2 = 0 (2.32) Using 2.30, 2.32 yields. _ x 1 =a 1 x 1 (2.33) In 2.33,x 1 will converge to zero with exponential decay. In addition to its conver- gence, solution of 2.33 depends on neither the plant parameters nor the disturbance. This is called invariance property [75]. 21 whenx 1 converges to zero,x 2 also converges to zero. Bothx 1 andx 2 going to zero means the origin is stabilized and the goal of the control is achieved. Step 2. Making sliding surface invariant set By using Lyapunov function approach, control law which makes sliding surface invariant set can be obtained. Define Lyapunov function candidate as V = 1 2 s 2 (2.34) Derivative ofV _ V =s _ s =s(a 1 x 2 +h(x) +g(x)u) (2.35) Supposeh andg satisfy the inequality a 1 x 2 +h(x) g(x) (x) (2.36) Ifu is selected to make _ V < 0, sliding surface,s, is guaranteed to be reached from any state. Taking u =(x)sgn(s) (2.37) where (x)(x) + 0 ; 0 > 0 22 sgn(s) = 8 > > > > > < > > > > > : 1; s> 0 0; s = 0 1; s< 0 Plugging 2.37 into 2.35 yields, _ Vg 0 0 jsj By control lawu, trajectories of overall system is constrained to the sliding surface (first order motion with exponential decay) via finite time convergence to the sliding surface as shown in Fig.2.4. (See [67] for proof of finite time reaching) x 1 x 2 a 1 finite-time reaching phase sliding mode exponential convergence o Figure 2.4: Reaching phase and Sliding mode Control lawu can be also chosen by using _ ssgn(s). 23 This condition is called reaching condition or reaching law. Various reaching con- ditions are suggested [67, 28]. 1. Constant rate reaching _ ssgn(s) (2.38) 2. Constant plus proportional rate reaching _ ssgn(s)ks (2.39) 3. Power rate reaching _ sjsj sgn(s) (2.40) 24 Chapter 3 Equations of motion of dynamic model θ dθ & θ Figure 3.1: Coordinate of the mobile platform Mobile platform shown in Fig.3.1 uses a differential drive method along with two front casters. Each wheel has an independent actuators (typically, DC motors) and difference in velocity of the two wheels makes a turning maneuver. Position of the mobile platform can be specified by the vector of the center of mass [x c y c ] T with respect to the inertial framefX;Yg. Relation between point of P (intersection of the wheel axis and the axis of symme- try) and C (center of mass) is as follows. 25 Position of C (center of mass) in terms of P 8 > > < > > : x c =x p +d cos y c =y p +d sin (3.1) whered is distance betweenC (center of mass) and wheel axis. Velocity of C (center of mass) in terms of P 8 > > < > > : _ x c = _ x p d _ sin _ y c = _ y p +d _ cos (3.2) Position of center of the right wheel in terms of P 8 > > < > > : x rw =x p +R cos y rw =y p R sin (3.3) whereR is a half of the distance between wheel centers. Position of center of the left wheel in terms of P 8 > > < > > : x lw =x p R cos y lw =y p +R sin (3.4) 3.1 Lagrange equation Kinetic energy of the body of the mobile platform 26 T body = 1 2 m c ( _ x 2 c + _ y 2 c ) + 1 2 I c _ 2 (3.5) Kinetic energy of the right and left wheels 8 > > < > > : T rw = 1 2 m w ( _ x 2 rw + _ y 2 rw ) + 1 2 I w _ 2 rw + 1 2 I m _ 2 T lw = 1 2 m w ( _ x 2 lw + _ y 2 lw ) + 1 2 I w _ 2 lw + 1 2 I m _ 2 (3.6) Since motion of the mobile platform is assumed to be in plane, potential energy is zero. The Lagrangian L =TV =T where,T: kinetic energy,V : potential energy Lagrange equation of motion can be obtained by d dt ( @L @ _ q i ) @L @q i =f i a i i where, L: Lagrangian,q i : generalized coordinate,f i : generalized force,a i i : constraint force A mobile platform with n-dimensional generalized coordinate, q, can be repre- sented by the equation 27 M(q) q +V (q; _ q) _ q +G(q) =B(q)A T (q) (3.7) M(q) R nn a symmetric, positive definite inertia matrix V(q; _ q) R nn a centripetal and Coriolis matrix G(q) R n a gravitational force vector B(q) R nm input transformation matrix R m the torque vector A T (q) R pn constraint matrix R p constraint torque q = 2 6 6 6 6 6 6 6 6 6 6 4 x c y c r l 3 7 7 7 7 7 7 7 7 7 7 5 , x horizontal position of the mobile platform y vertical position of the mobile platform orientation of the mobile platform r angular displacement of the right wheel l angular displacement of the left wheel M(q) = 2 6 6 6 6 6 6 6 6 6 6 4 m 0 2m w dsin 0 0 0 m 2m w dcos 0 0 2m w dsin 2m w dcos I 0 0 0 0 0 I w 0 0 0 0 0 I w 3 7 7 7 7 7 7 7 7 7 7 5 V(q; _ q) = 2 6 6 6 6 6 6 6 6 6 6 4 0 0 2m w d _ cos 0 0 0 0 2m w d _ sin 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 7 7 7 7 7 7 7 7 7 7 5 ; G(q) = 0 55 ; B(q) = 2 6 6 6 6 6 6 6 6 6 6 4 0 0 0 0 0 0 1 0 0 1 3 7 7 7 7 7 7 7 7 7 7 5 ; = 2 4 r l 3 5 28 where m m c +2m w m c mass of the body of the mobile platform m w mass of the wheel I I c +2I m +2m w (d 2 +R 2 ) I c Inertia of the body of the mobile platform about center of mass I m Inertia of the wheel about the wheel diameter I w Inertia of the wheel about the wheel axis r;l Torque applied to the right and left wheel 3.2 Nonholonomic constraints 3.2.1 Knife-edge (No lateral motion) Constraint of knife edges prevents velocities to the direction of the perpendicular to the wheel’s driving direction. For instance, point of intersection of the wheel axis and the axis of symmetry, define it asP; can not move to the direction ofY m in Fig.3.1. _ y p cos _ x p sin = 0 (3.8) For the point of center of mass, constraint of knife edges can be written inq coor- dinate as follows: _ y c cos _ x c sind _ = 0() _ y c cos _ x c sin =d _ (3.9) Which implies that velocity inY m direction is generated by turning maneuver of the mobile platform only. 29 3.2.2 Pure rolling (No longitudinal slip) Pure rolling is one of the well-known nonholonomic constraint[31]. Since mobile platform considered in this work uses wheels, pure rolling constraint associated to the wheel can be adopted. Pure rolling implies zero relative velocity between wheels and body, which implies non-slipping in longitudinal direction. Relative velocity is a good representation of slipping. When slipping is not present, relative velocity is always zero and body velocity can be directly calculated from the angular velocity of the wheel. Assumption of non-slipping makes control problem simple since the velocity of the body can be controlled by adjusting wheel velocity. In mobile platform model where slip is not considered, torque applied to the wheel is converted into the traction force without any loss. Pure rolling can be written as _ x c cos + _ y c sin +R _ =r _ r _ x c cos + _ y c sinR _ =r _ l (3.10) 3.2.3 Constraint matrix The mobile platform has three constraint equations from pure rolling and non- slipping constraints (3.9, 3.10). These constraint equations can be represented by matrix form in generalized coordinate,q as follows: 30 2 6 6 6 4 sin cos d 0 0 cos sin R r 0 cos sin R 0 r 3 7 7 7 5 | {z } A(q) 2 6 6 6 6 6 6 6 6 6 6 4 _ x c _ y c _ _ r _ l 3 7 7 7 7 7 7 7 7 7 7 5 | {z } _ q = 0 DefineS(q) such that A(q)S(q) = 0 _ q =S(q) does not necessarily have to have physical meaning like velocity, acceleration. In the case of the mobile platform, with physical meaning can be found. _ q =S(q) = 2 6 6 6 6 6 6 6 6 6 6 4 cos d sin sin d cos 0 1 1 r R r 1 r R r 3 7 7 7 7 7 7 7 7 7 7 5 2 4 v ! 3 5 wherev and! is linear velocity and angular velocity of the mobile platform, respectively. A(q)S(q) = 0 31 2 6 6 6 4 sin cos d 0 0 cos sin R r 0 cos sin R 0 r 3 7 7 7 5 2 6 6 6 6 6 6 6 6 6 6 4 cos d sin sin d cos 0 1 1 r R r 1 r R r 3 7 7 7 7 7 7 7 7 7 7 5 = 0 Consider the velocity diagrams in Fig.3.2. Figure 3.2: Velocities of the body and the wheels Then the relation between linear velocity of the platform and the velocity of the wheels is given by: 32 V body = r! rw +r! lw 2 = V rw +V lw 2 (3.11) ! body = r! rw r! lw 2R = V rw V lw 2R (3.12) V body linear velocity of the body ! body angular velocity of the body r wheel radius ! rw;lw angular velocity of the right and left wheel 2R the distance between the wheel centers C center of mass V rw;lw linear velocity of the right and left wheel (r! rw ; r! lw ) 3.2.4 Elimination of the constraint force By using A(q)S(q) = 0 and _ q = S(q), Eq.3.7 can be written using the newly defined velocity vector,. Additionally, the constraint force term can be eliminated. Multiply equation 3.7 on the left byS(q) T , S(q) T M(q) q +S(q) T V (q; _ q) _ q =S(q) T B(q)S(q) T A T | {z } SinceA(q)S(q) =S(q) T A(q) T = 0, the constraint force can be eliminated. S(q) T M(q) q +S(q) T V (q; _ q) _ q =S(q) T B(q) Substituting _ q =S(q) and q = _ S(q) +S(q) _ , S(q) T M(q)S(q) _ +S(q) T (M(q) _ S(q) +V (q; _ q)S(q)) =S(q) T B(q) 33 DefineS(q) T M(q)S(q) = M,S(q) T (M(q) _ S(q) +V (q; _ q)S(q)) = V andS(q) T B(q) = B; then M _ + V = B (3.13) M = 2 4 m + 2Iw r 2 0 0 I + (m 4m w )d 2 + 2( R r ) 2 I w 3 5 V = 2 4 0 (m 2m w )d _ (m 2m w )d _ 0 3 5 B = 2 4 1 r 1 r R r R r 3 5 = 2 4 v ! 3 5 m c Mass of the body of the mobile platform m w Mass of the wheel m m c +2m w I c Inertia of the body of the mobile platform about center of mass I m Inertia of the wheel about the wheel diameter I w Inertia of the wheel about the wheel axis I I c +2I m +2m w (d 2 +R 2 ) v Linear velocity of the mobile platform ! Angular velocity of the mobile platform 34 3.3 Equations of motion of dynamic model with slip- ping Mobile platform considered in this research is using two-wheel differential drive mode. In differential drive mode, difference in velocity between wheels is used for turning. Straight motion case assumes mobile platform does not make a turning ma- neuver. It means two wheels have the same velocity all the time. It can be simplified to a single-wheel model. This simplified model is used to identify the effect of slipping and develop sliding mode observer. In mobile platform model where slip is not considered, torque applied to the wheel is converted into the friction force without any loss. However, in reality, if excessive torque is applied to the wheel, wheel should slip and torque transferred to the body becomes lower or zero at extreme case (even though you step your accelerator pedal down to floor, car does not move). In addition, road condition needs to be considered. Road which has normal condition and icy condition definitely shows different friction characteristic. LuGre friction model is adopted to combine slipping phenomenon with the mobile platform model. Equation of motion of the single-wheel model with slip consists of wheel dynamics, body dynamics and internal friction dynamics. J _ ! =rF d (3.14) M _ v =F d (3.15) _ z =v r rc 0 jv r j h(v r ) z (3.16) 35 F d =F n ( 0 z + 1 _ z 2 v r ) (3.17) v r =r!v (3.18) h(v r ) = c + ( s c )e j vr vs j (3.19) J wheel inertia ! angular velocity of wheel torque applied to wheel r wheel radius F d friction force M mass of mobile platform v velocity of mobile platform z internal friction v r relative velocity c normalized coulomb friction s normalized static friction v s Stribeck velocity rc road condition F n normal force 0 stiffness term 1 viscous term 2 viscous friction coefficient As can be seen from the equation 3.17, friction force (supportive force which makes the body move) is dependent on internal friction(z) and the relative velocity(v r ) between wheel and body. Relative velocity is a good representation of slipping. In the absence of slipping, the relative velocity is always zero, implying that the body velocity can be directly calculated from the angular velocity of the wheel. Assumption of no slipping simplifies control problem. Since body velocity is commanded by adjusting the velocity of the wheel. However, it should be mentioned that non-slipping assumption is very restrictive for practical application. Define!,v,z as state variables then state-space equation of slipping are given by 36 2 6 6 6 4 _ ! _ v _ z 3 7 7 7 5 = 2 6 6 6 4 r J ( 1 r 2 r)Fn r J ( 2 1 )Fn r J 0 Fn 1 M ( 1 r 2 r)Fn 1 M ( 2 1 )Fn 1 M 0 Fn r 1 0 3 7 7 7 5 2 6 6 6 4 ! v z 3 7 7 7 5 + 2 6 6 6 4 1 r J Fn 1 M Fn 1 3 7 7 7 5 (z) + 2 6 6 6 4 1 J 0 0 3 7 7 7 5 (3.20) where (z) = rc 0 jr!vj c + ( s c )e j vr vs j z = rc 0 jv r j h(v r ) z 37 Figure 3.3 shows friction force with different road condition. Normal condition ( = 1) represents almost the same friction force as applied torque after transient period. As road condition gets slippery, friction force reduces. For instance, friction force becomes about half of the applied torque at = 2. 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 −200 −100 0 100 200 300 400 500 600 700 800 Time (sec) Friction force (N) Applied torque θ=1 θ=2 θ=3 θ=4 θ=5 θ=1.3 θ=1.6 Figure 3.3: Friction force with various road condition, 38 A two-wheel platform has independent drive on the left and right wheels. Similarly to the single-wheel case, the dynamics of the two-wheel can be represented as follows. Wheel dynamics 8 > > < > > : J r _ ! r = r rF dr J l _ ! l = l rF dl Body dynamics 8 > > < > > : M _ v =F dr +F dl I _ ! =R(F dr F dl ) Dynamic friction 8 > > > > > > > > > > > > > < > > > > > > > > > > > > > : _ z r =v rr rcr 0r jvrrj hr (vrr ) z r F dr =F n ( 0r z r + 1r _ z r 2r v rr ) _ z l =v rl rcl 0l jv rl j h l (v rl ) z l F dl =F n ( 0l z l + 1l _ z l 2l v rl ) Define r = rcr 0r jvrrj hr (vrr ) z r ; l = rcl 0l jv rl j h l (v rl ) z l In the above equations variable with subscripts ‘r’ and ‘l’ denote ‘right wheel’ and ‘left wheel’, respectively. Body dynamics is represented with linear and angular ve- locity (v, !). The variables in equation 3.1, the position of the mobile platform is represented by {x; y; } coordinate. The motion of the mobile platform with pure rolling for two-wheel case is represented by the generalized coordinateq={x;y;, r ; l }. 3.3.1 Nonholonomic constraints Mobile platform using typical wheel (except omni-directional wheel) has a con- straint on its maneuver perpendicular to the wheel. In other words, mobile platform has a ‘knife edges’ constraint and this constraint is non-honolomic (non-integrable). 39 Constraint of knife edges can be written byq coordinate as follows. _ y cos _ x sind = 0 (3.21) Constraint in matrix form A(q) _ q = 0 h sin cos d 0 0 i 2 6 6 6 6 6 6 6 6 6 6 4 _ x _ y _ _ r _ l 3 7 7 7 7 7 7 7 7 7 7 5 = 0 Equations of motion of the two-wheel mobile platform M(q) q +V (q; _ q) _ q =B(q)A T (3.22) 2 6 6 6 6 6 6 6 6 6 4 m 0 2mwd sin 0 0 0 m 2mwd cos 0 0 2mwd sin 2mwd cos I 0 0 0 0 0 Iw 0 0 0 0 0 Iw 3 7 7 7 7 7 7 7 7 7 5 2 6 6 6 6 6 6 6 6 6 4 x y r l 3 7 7 7 7 7 7 7 7 7 5 + 2 6 6 6 6 6 6 6 6 6 4 0 0 2mwd _ cos 0 0 0 0 2mwd _ sin 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 7 7 7 7 7 7 7 7 7 5 2 6 6 6 6 6 6 6 6 6 4 _ x _ y _ _ r _ l 3 7 7 7 7 7 7 7 7 7 5 = 2 6 6 6 6 6 6 6 6 6 4 0 0 cos cos 0 0 sin sin 0 0 R R 1 0 r 0 0 1 0 r 3 7 7 7 7 7 7 7 7 7 5 2 6 6 6 6 6 6 4 r l F dr F dl 3 7 7 7 7 7 7 5 2 6 6 6 6 6 6 6 6 6 4 sin cos d 0 0 3 7 7 7 7 7 7 7 7 7 5 (3.23) 40 q = 2 6 6 6 6 6 6 6 6 6 6 4 x y r l 3 7 7 7 7 7 7 7 7 7 7 5 , x horizontal position of the mobile platform y vertical position of the mobile platform orientation of the mobile platform r angular displacemt of the right wheel l angular displacement of the left wheel m m c +2m w m c mass of the body of the mobile platform m w mass of the wheel I I c +2I m +2m w (d 2 +R 2 ) I c inertia of the body of the mobile platform about center of mass I m inertia of the wheel about the wheel diameter I w inertia of the wheel about the wheel axis r;l torque applied to the right and left wheel The variableA T plays a role of constraint torque that prevents the mobile platform from moving toward perpendicular direction of the wheel. Namely, it poses a knife edges constraint inside the equation of motion. Internal friction and friction force 8 > > > > > > > > > > > > > < > > > > > > > > > > > > > : _ z r =v rr rcr 0r jvrrj hr (vrr ) z r F dr =F n ( 0r z r + 1r _ z r 2r v rr ) _ z l =v rl rcl 0l jv rl j h l (v rl ) z l F dl =F n ( 0l z l + 1l _ z l 2l v rl ) (3.24) 41 3.3.2 Equations of motion with free variables As seen from equation 3.23, equation of motion can include the constraint torque explicitly. If constraint torque is not needed, it can be eliminated and the equation of motion can be represented by coordinates that implicitly contain constraint torque. Computation ofS(q) that satisfiesA(q)S(q) = 0 yields: h sin cos d 0 0 i | {z } A(q) 2 6 6 6 6 6 6 6 6 6 6 4 cos d sin 0 0 sin d cos 0 0 0 1 0 0 0 0 1 0 0 0 0 1 3 7 7 7 7 7 7 7 7 7 7 5 | {z } S(q) = 0 Yielding the following transformation _ q =S(q) 2 6 6 6 6 6 6 6 6 6 6 4 _ x _ y _ _ r _ l 3 7 7 7 7 7 7 7 7 7 7 5 = 2 6 6 6 6 6 6 6 6 6 6 4 cos d sin 0 0 sin d cos 0 0 0 1 0 0 0 0 1 0 0 0 0 1 3 7 7 7 7 7 7 7 7 7 7 5 2 6 6 6 6 6 6 6 4 v ! ! rw ! lw 3 7 7 7 7 7 7 7 5 v linear velocity of the mobile platform ! angular velocity of the mobile platform ! rw angular velocity of the right wheel ! lw angular velocity of the left wheel MultiplyS(q) T to equation 3.22, 42 S(q) T M(q) q +S(q) T V (q; _ q) _ q =S(q) T B(q)S(q) T A T ByA(q)S(q) =S(q) T A(q) T = 0, constraint torque can be eliminated. S(q) T M(q) q +S(q) T V (q; _ q) _ q =S(q) T B(q) Plugging _ q =S(q) and q = _ S(q) +S(q) _ , S(q) T M(q)S(q) _ +S(q) T (M(q) _ S(q) +V (q; _ q)S(q)) =S(q) T B(q) DefineS(q) T M(q)S(q) = M,S(q) T (M(q) _ S(q) +V (q; _ q)S(q)) = V andS(q) T B(q) = B; then M _ + V = B where 43 M = 2 6 6 6 6 6 6 6 4 m 0 0 0 0 I + (m 4m w )d 2 0 0 0 0 I w 0 0 0 0 I w 3 7 7 7 7 7 7 7 5 V = 2 6 6 6 6 6 6 6 4 0 (m 2m w )d _ 0 0 (m 2m w )d _ 0 0 0 0 0 0 0 0 0 0 0 3 7 7 7 7 7 7 7 5 B = 2 6 6 6 6 6 6 6 4 0 0 1 1 0 0 R R 1 0 r 0 0 1 0 r 3 7 7 7 7 7 7 7 5 The equations of motion are represented by the free variables without constraint torques as follows: 2 6 6 6 6 6 6 4 _ v _ ! _ ! rw _ ! lw 3 7 7 7 7 7 7 5 = 2 6 6 6 6 6 6 4 0 (m2mw)d _ m 0 0 (m2mw)d _ I+(m4mw)d 2 0 0 0 0 0 0 0 0 0 0 0 3 7 7 7 7 7 7 5 2 6 6 6 6 6 6 4 v ! ! rw ! lw 3 7 7 7 7 7 7 5 + 2 6 6 6 6 6 6 4 0 0 1 m 1 m 0 0 R I+(m4mw)d 2 R I+(m4mw)d 2 1 Iw 0 r Iw 0 0 1 Iw 0 r Iw 3 7 7 7 7 7 7 5 2 6 6 6 6 6 6 4 r l F dr F dl 3 7 7 7 7 7 7 5 44 3.3.3 Relative velocity As for single-wheel case, the relative velocities for the two-wheel platform are de- fined as follows. 8 > > < > > : v rr =r! r vR! v rl =r! l v +R! v rr ,v rl relative velocity of right and left wheels r wheel radius ! r ,! l angular velocity of wheels v linear velocity of the mobile platform ! angular velocity of the mobile platform R turning radius 3.3.4 Summary Equations of motion 2 6 6 6 6 6 6 4 _ v _ ! _ ! rw _ ! lw 3 7 7 7 7 7 7 5 = 2 6 6 6 6 6 6 4 0 (m2mw)d _ m 0 0 (m2mw)d _ I+(m4mw)d 2 0 0 0 0 0 0 0 0 0 0 0 3 7 7 7 7 7 7 5 2 6 6 6 6 6 6 4 v ! ! rw ! lw 3 7 7 7 7 7 7 5 (3.25) + 2 6 6 6 6 6 6 4 0 0 1 m 1 m 0 0 R I+(m4mw)d 2 R I+(m4mw)d 2 1 Irw 0 r Irw 0 0 1 I lw 0 r I lw 3 7 7 7 7 7 7 5 2 6 6 6 6 6 6 4 r l F dr F dl 3 7 7 7 7 7 7 5 Internal friction and friction force 45 8 > > > > > > > > > > > > > < > > > > > > > > > > > > > : _ z r =v rr r F dr =F n ( 0r z r + 1r _ z r 2r v rr ) _ z l =v rl l F dl =F n ( 0l z l + 1l _ z l 2l v rl ) where, r = rcr 0r jv rr j h r (v rr ) z r ; l = rcl 0l jv rl j h l (v rl ) z l Relative velocity 8 > > < > > : v rr =r! r vR! v rl =r! l v +R! Schematically the dynamics of the two-wheel platform can be represented as fol- lows. Figure 3.4: Two-wheel mobile platform dynamics with nonholonomic constraint and slipping 46 Figure 3.5: Transmission of motor torque to tire and body: a) no slipping case, b) dynamic friction case 47 State-space form of the two-wheel platform with slipping is represented as follows. 2 6 6 6 6 6 6 6 6 6 6 6 6 6 4 _ ! r _ ! l _ ! v _ v v _ z r _ z l 3 7 7 7 7 7 7 7 7 7 7 7 7 7 5 = h 66 i | {z } A l 2 6 6 6 6 6 6 6 6 6 6 6 6 6 4 ! r ! l ! v v v z r z l 3 7 7 7 7 7 7 7 7 7 7 7 7 7 5 + 2 6 6 6 6 6 6 6 6 6 6 6 6 6 4 r Irw F n 1r 0 0 r I lw F n 1l JF n 1r JF n 1l 1 m F n 1r 1 m F n 1l 1 0 0 1 3 7 7 7 7 7 7 7 7 7 7 7 7 7 5 2 4 r l 3 5 + 2 6 6 6 6 6 6 6 6 6 6 6 6 6 4 1 Irw 0 0 1 I lw 0 0 0 0 0 0 0 0 3 7 7 7 7 7 7 7 7 7 7 7 7 7 5 2 4 r l 3 5 (3.26) where A l = 2 6 6 6 6 6 6 6 6 6 6 6 6 4 r Irw Fnr( 1r + 2r ) 0 r Irw FnR( 1r + 2r ) r Irw Fn( 1r + 2r ) r Irw Fn 0r 0 0 r I lw Fnr( 1l + 2l ) r I lw FnR( 1l + 2l ) r I lw Fn( 1l + 2l ) 0 r I lw Fn 0l JFnr( 1r + 2r ) JFnr( 1l + 2l ) JFnR 1 JFn 2 + 4 JFn 0r JFn 0l 1 m Fnr( 1r + 2r ) 1 m Fnr( 1l + 2l ) 1 m FnR 2 + 3 1 m Fn 1 1 m Fn 0r 1 m Fn 0l r 0 R 1 0 0 0 r R 1 0 0 3 7 7 7 7 7 7 7 7 7 7 7 7 5 J = R I + (m 4m w )d 2 1 = 1r + 2r + 2l + 1l 2 = 1r + 2r 1l 2l 3 = (m 2m w )d _ m 4 = (m 2m w )d _ I + (m 4m w )d 2 48 Chapter 4 Controller design for the case without longitudinal slipping In this section, tracking controller design for the mobile platform without longitu- dinal slipping is presented. In subsections, backstepping based controller design and robust term added controller design for parameter uncertainty are discussed. 4.1 Backstepping controller Position and orientation error can be represented as follows. 2 6 6 6 4 e x e y e 3 7 7 7 5 = 2 6 6 6 4 cos() sin() 0 sin() cos() 0 0 0 1 3 7 7 7 5 2 6 6 6 4 x r x y r y r 3 7 7 7 5 (4.1) where 2 6 6 6 4 x r y r r 3 7 7 7 5 = 2 6 6 6 4 reference x reference y reference 3 7 7 7 5 Differentiating 4.1 with respect to time yields, 49 _ e = 2 6 6 6 4 v ang e y v lin +v lin_r cos(e ) v ang e x +v lin_r sin(e ) v ang_r v ang 3 7 7 7 5 (4.2) Position and orientation error, 2 6 6 6 4 e x e y e 3 7 7 7 5 ; can be stabilized to zero by following ve- locity input proposed in [41]. 2 4 v lin v ang 3 5 = 2 4 v lin_r cos(e ) +k x e x v ang_r +v lin_r (k y e y +k sin(e ) 3 5 (4.3) where 2 4 v lin_r v ang_r 3 5 = 2 4 reference linear velocity reference angular velocity 3 5 Lyapunov function used to prove stability of velocity input is as follows. V 1 = 1 2 (e x +e y ) 2 + 1 cos(e ) k y (4.4) 2 6 6 6 4 _ e x _ e y _ e 3 7 7 7 5 = 2 6 6 6 4 v ang e y v lin +v lin_r cos(e ) v ang e x +v lin_r sin(e ) v ang_r v ang 3 7 7 7 5 = 2 6 6 6 4 v lin_r cos(e ) v lin_r sin(e ) v ang_r 3 7 7 7 5 | {z } f() + 2 6 6 6 4 1 e y 0 e x 0 1 3 7 7 7 5 | {z } g() 2 4 v lin v ang 3 5 Error dynamics of a mobile platform can be written as follows. 50 _ e = f() +g()v (4.5) _ v = u (4.6) Stabilizing control input for subsystem 4.5 is given at 4.3. Let the stabilizing control input for subsystem (4.5): By using, 4.5 and 4.6 can be written as follows _ e = f() +g() +g()(v) (4.7) _ v = u (4.8) Define z = v, _ z = _ v _ =) _ z = u _ (from _ v = u) Substitutez = v and _ z = u _ into Eq.4.7 and 4.8 Then, _ e = f() +g() +g()z (4.9) _ z = u _ (4.10) Choose u = + _ and plug into Eq.4.10 51 _ e = f() +g() +g()z (4.11) _ z = (4.12) Define the Lyapunov function, V lya =V 1 + 1 2 z 2 (4.13) Derivative ofV lya ; _ V lya = @V 1 @e [f() +g() +g()z] +z T _ z (4.14) = @V 1 @e f() + @V 1 @e g() + @V 1 @e g()z + T z (* _ z =) = @V 1 @e f() + @V 1 @e g() | {z } _ V 1 + ( @V 1 @e g() + T )z Since _ V 1 = @V 1 @x [f() +g()] 0 Choose T =( @V 1 @e g() +z T k); k> 0 such that _ V lya < 0 Note thatu = _ + T ; total control inputu is as follows: u = _ @V 1 @e g()z T k (4.15) = @ @e [f() +g()v] | {z } _ @V 1 @e g() (v) T k | {z } T SinceV 1 = 1 2 (e x +e y ) 2 + 1cos(e ) ky ; 52 T = ( @V 1 @e g() +z T k) = h @V 1 @ex @V 1 @ey @V 1 @e i 2 6 6 6 4 1 e y 0 e x 0 1 3 7 7 7 5 h z 1 z 2 i 2 4 k 11 0 0 k 22 3 5 = h e x e y sin(e ) i 2 6 6 6 4 1 e y 0 e x 0 1 3 7 7 7 5 h k 11 z 1 k 22 z 2 i = h e x sin(e ) i h k 11 z 1 k 22 z 2 i = h e x k 11 z 1 sin(e )k 22 z 2 i From z 21 = v 21 21 = 2 4 v lin v ang 3 5 2 4 v lin_r cos(e ) +k x e x v ang_r +v lin_r (k y e y +k sin(e ) 3 5 = 2 4 v lin v lin_r cos(e )k x e x v ang v ang_r v lin_r (k y e y +k sin(e ) 3 5 ) 21 = 2 4 e x k 11 z 1 sin(e )k 22 z 2 3 5 = 2 4 e x k 11 (v lin v lin_r cos(e )k x e x ) sin(e )k 22 (v ang v ang_r v lin_r k y e y k sin(e )) 3 5 Since = 2 4 v lin_r cos(e ) +k x e x v ang_r +v lin_r (k y e y +k sin(e ) 3 5 _ = 2 4 _ v lin_r cos(e )v lin_r sin(e ) _ e +k x _ e x _ v ang_r + _ v lin_r k y e y +v lin_r k y _ e y + _ v lin_r k sin(e ) +v lin_r k cos(e ) _ e 3 5 Total control input, u = _ + (4.16) 53 By using control inputu, _ V lya , derivative of Lyapunov function which is composed of position and orientation error (e x ; e y ; e ), becomes negative. This implies that posture of mobile platform will track the posture of the reference mobile platform asymptoti- cally. Proposition 7. Position and orientation error between reference mobile platform and mobile platform without longitudinal slipping are asymptotically stable by proposed con- trollers. 4.2 Simulation Two cases of simulation are performed with backstepping controller for mobile platform with non-slipping. Simulink diagram is shown in Fig.4.1. In first case, circular trajectory is used for trajectory tracking. Reference trajectory and initial posture of reference mobile platform and controlled mobile platform is represented in Table 4.1. Initial posture is shown in Fig.4.2 (top). The red object represents the reference mobile platform and the blue object is the controlled mobile platform. Traces of each mobile platform are shown in Fig.4.2 (bottom). The red circles indicate the trace of reference mobile platform and the blue circles are the trace of the controlled mobile platform. Figure 4.6 shows the tracking errors and the control inputs for each wheel. In Fig.4.3, it can be seen that the error in x-position and error in orientation con- verges to zero in about 6 seconds. Figure 4.4 (simulation time is extended to 20 seconds) demonstrates asymptotic stability of the controller. 54 Reference x-position 3sin( 8 t+ 2 ) Reference y-position 3sin( 8 t) Reference initial posture (x; y; ) (2m; 0m; 90 ) Initial posture of controlled mobile platform (x; y; ) (1m; 1m; 0 ) Table 4.1: Reference trajectory and initial posture for first case In the second case, an arbitrary trajectory is used. Reference trajectory and initial posture of reference mobile platform and controlled mobile platform is represented in Table 4.2. Initial posture is shown in Fig.4.5 (top). The red object is the reference mobile platform and the blue object is the controlled mobile platform. Traces of each mobile platform are shown in Fig.4.5 (bottom). The red circles are the trace of the reference platform and the blue circles are the trace of the controlled one. Fig.4.6 shows tracking errors and control inputs for each wheel. In Fig.4.7 and 4.8, traces and tracking errors are improved by relaxing limit of control input. Reference x-position 3sin( 8 t+ 2 ) Reference y-position 3sin( 10 t) Reference initial posture (x; y; ) (2m; 0m; 90 ) Initial posture of controlled mobile platform (x; y; ) (1m; 1m; 0 ) Table 4.2: Reference trajectory and initial posture for second case 55 Figure 4.1: Simulink diagram 56 Figure 4.2: Initial posture (top), trajectory tracking (bottom) 57 0 1 2 3 4 5 6 0 0.5 1 x error [m] 0 1 2 3 4 5 6 −1 0 1 y error [m] 0 1 2 3 4 5 6 0 50 100 θ error [deg] 0 1 2 3 4 5 6 −10 0 10 v lin error [m/s] 0 1 2 3 4 5 6 −5 0 5 v ang error [deg/s] 0 1 2 3 4 5 6 −50 0 50 u rw 0 1 2 3 4 5 6 −50 0 50 u lw Time [sec] Figure 4.3: Tracking errors and control inputs 58 0 2 4 6 8 10 12 14 16 18 20 −1 0 1 x error [m] 0 2 4 6 8 10 12 14 16 18 20 −1 0 1 y error [m] 0 2 4 6 8 10 12 14 16 18 20 −100 0 100 θ error [deg] 0 2 4 6 8 10 12 14 16 18 20 −10 0 10 v lin error [m/s] 0 2 4 6 8 10 12 14 16 18 20 −5 0 5 v ang error [deg/s] 0 2 4 6 8 10 12 14 16 18 20 −50 0 50 u rw 0 2 4 6 8 10 12 14 16 18 20 −50 0 50 u lw Time [sec] Figure 4.4: Tracking errors and control inputs 59 Figure 4.5: Initial posture (top), trajectory tracking (bottom) 60 0 1 2 3 4 5 6 −1 0 1 x error [m] 0 1 2 3 4 5 6 −1 0 1 y error [m] 0 1 2 3 4 5 6 −200 0 200 θ error [deg] 0 1 2 3 4 5 6 −10 0 10 v lin error [m/s] 0 1 2 3 4 5 6 −10 0 10 v ang error [deg/s] 0 1 2 3 4 5 6 −50 0 50 u rw 0 1 2 3 4 5 6 −50 0 50 u lw Time [sec] Figure 4.6: Tracking errors and control inputs 61 Figure 4.7: Trajectory tracking 62 0 1 2 3 4 5 6 −1 0 1 x error [m] 0 1 2 3 4 5 6 −1 0 1 y error [m] 0 1 2 3 4 5 6 −200 0 200 θ error [deg] 0 1 2 3 4 5 6 −10 0 10 v lin error [m/s] 0 1 2 3 4 5 6 −10 0 10 v ang error [deg/s] 0 1 2 3 4 5 6 −50 0 50 u rw 0 1 2 3 4 5 6 −50 0 50 u lw Time [sec] Figure 4.8: Tracking errors and control inputs 63 4.3 Backstepping controller with robust term Backstepping controller developed in previous section is based on the assumption that M; V is known exactly and canceled by input torque. In other words, by using =B 1 ( Mu + V), M _ + V = B becomes _ =u. Although mild mismatch might be compensated by controller, assumption of the exact match of inertia matrix and centripetal/Coriolis matrix is not practical. Backstep- ping controller with robust term to compensate parameter mismatch will be developed in this section. Parameter mismatch Equation of motion of the mobile platform represented by (linear velocity and angular velocity of the mobile platform) is as follows. M _ + V = B (4.17) Define input torque = B 1 ( ^ Mu + ^ V) where, ^ M; ^ V is estimated inertia matrix and centripetal/Coriolis matrix, respectively andu is control input. Plugging into Eq.4.17 gives, M _ + V = ^ Mu + ^ V 64 _ = M 1 ^ Mu + M 1 ( ^ V V) | {z } h = M 1 ^ Mu + M 1 h =u + ( M 1 ^ MI ident )u + M 1 h | {z } uncertainty; LetE = M 1 ^ MI ident , then uncertainty becomes =Eu + M 1 h (4.18) where,u is backstepping control input,u bs , combined with robust term,a Pluggingu =u bs +a into Eq.4.18, =E(u bs +a) + M 1 h =Eu bs +Ea + M 1 h 65 Chapter 5 Controller design for the case with longitudinal slipping In this section, tracking controller design for the mobile platform with longitudi- nal slipping is presented. In subsections, backstepping based controller design and backstepping controller design combined with sliding mode are discussed. 5.1 Backstepping controller Error dynamics is the same as in mobile platform with pure-rolling and non- slipping in lateral direction. 2 6 6 6 4 _ e x _ e y _ e 3 7 7 7 5 = 2 6 6 6 4 ! v e y v v +v v_ref cos(e ) ! v e x +v v_ref sin(e ) ! v_ref ! v 3 7 7 7 5 = 2 6 6 6 4 v v_ref cos(e ) v v_ref sin(e ) ! v_ref 3 7 7 7 5 | {z } f() + 2 6 6 6 4 1 e y 0 e x 0 1 3 7 7 7 5 | {z } g() 2 4 v v ! v 3 5 (5.1) Dynamics including body, wheel, internal friction is obtained from 3.26. 2 6 6 6 6 6 6 6 6 6 6 6 6 6 4 _ ! r _ ! l _ ! v _ v v _ z r _ z l 3 7 7 7 7 7 7 7 7 7 7 7 7 7 5 = h 66 i | {z } A l 2 6 6 6 6 6 6 6 6 6 6 6 6 6 4 ! r ! l ! v v v z r z l 3 7 7 7 7 7 7 7 7 7 7 7 7 7 5 + 2 6 6 6 6 6 6 6 6 6 6 6 6 6 4 r Irw F n 1r 0 0 r I lw F n 1l JF n 1r JF n 1l 1 m F n 1r 1 m F n 1l 1 0 0 1 3 7 7 7 7 7 7 7 7 7 7 7 7 7 5 2 4 r l 3 5 + 2 6 6 6 6 6 6 6 6 6 6 6 6 6 4 1 Irw 0 0 1 I lw 0 0 0 0 0 0 0 0 3 7 7 7 7 7 7 7 7 7 7 7 7 7 5 2 4 r l 3 5 (5.2) 66 A l = 2 6 6 6 6 6 6 6 6 6 6 6 6 4 r Irw Fnr( 1r + 2r ) 0 r Irw FnR( 1r + 2r ) r Irw Fn( 1r + 2r ) r Irw Fn 0r 0 0 r I lw Fnr( 1l + 2l ) r I lw FnR( 1l + 2l ) r I lw Fn( 1l + 2l ) 0 r I lw Fn 0l JFnr( 1r + 2r ) JFnr( 1l + 2l ) JFnR 1 JFn 2 + 4 JFn 0r JFn 0l 1 m Fnr( 1r + 2r ) 1 m Fnr( 1l + 2l ) 1 m FnR 2 + 3 1 m Fn 1 1 m Fn 0r 1 m Fn 0l r 0 R 1 0 0 0 r R 1 0 0 3 7 7 7 7 7 7 7 7 7 7 7 7 5 J = R I + (m 4m w )d 2 1 = 1r + 2r + 2l + 1l 2 = 1r + 2r 1l 2l 3 = (m 2m w )d _ m 4 = (m 2m w )d _ I + (m 4m w )d 2 67 Stabilizing input for error dynamics, 5.1, is already obtained in 4.3. 2 4 v lin v ang 3 5 = 2 4 v lin_r cos(e ) +k x e x v ang_r +v lin_r (k y e y +k sin(e ) 3 5 (5.3) where 2 6 6 6 4 e x e y e 3 7 7 7 5 = 2 6 6 6 4 cos() sin() 0 sin() cos() 0 0 0 1 3 7 7 7 5 2 6 6 6 4 x r x y r y r 3 7 7 7 5 ; 2 6 6 6 4 x r y r r 3 7 7 7 5 = 2 6 6 6 4 reference x reference y reference 3 7 7 7 5 2 4 v lin_r v ang_r 3 5 = 2 4 reference linear velocity reference angular velocity 3 5 Unlike the dynamics of the mobile platform with pure-rolling and non-slipping where velocity of the vehicle is directly controlled from the wheel torque, the mo- bile platform with pure-rolling and slipping case has additional wheel and slipping dynamics. Simplified structure of the whole equations can be represented as follows. 68 _ e = f() +g()v (5.4) _ v = [M 1 ] 2 6 6 6 6 6 6 6 4 ! v v v z r z l 3 7 7 7 7 7 7 7 5 + [M 2 ] 2 4 r l 3 5 + [M 3 ] 2 4 ! r ! l 3 5 (5.5) _ ! = [M 4 ] 2 6 6 6 6 6 6 6 6 6 6 6 6 6 4 ! r ! l ! v v v z r z l 3 7 7 7 7 7 7 7 7 7 7 7 7 7 5 + [M 5 ] 2 4 r l 3 5 + [M 6 ] 2 4 r l 3 5 (5.6) where _ e : position error dynamics _ v: vehicle dynamics including slipping, 2 4 _ !v _ vv 3 5 _ !: wheel dynamics including slipping, 2 4 _ !r _ ! l 3 5 As seen from the simplified structure of the equations, backstepping algorithm needs to be applied twice. First for the vehicle dynamics and second for the wheel dynamics. In vehicle dynamics, linear and angular velocity of the mobile platform are not directly connected to the torque. For backstepping, right and left wheel velocity is assumed to be input. From 5.2, linear and angular velocity of the vehicle can be written as follows. 69 2 4 _ ! v _ v v 3 5 = [M 1 ] 2 6 6 6 6 6 6 6 4 ! v v v z r z l 3 7 7 7 7 7 7 7 5 + [M 2 ] 2 4 r l 3 5 + [M 3 ] 2 4 ! r ! l 3 5 (5.7) where M 1 = 2 4 JF n R 1 JF n 2 + 4 JF n 0r JF n 0l 1 m F n R 2 + 3 1 m F n 1 1 m F n 0r 1 m F n 0l 3 5 M 2 = 2 4 JF n 1r JF n 1l 1 m F n 1r 1 m F n 1l 3 5 M 3 = 2 4 JF n r( 1r + 2r ) JF n r( 1l + 2l ) 1 m F n r( 1r + 2r ) 1 m F n r( 1l + 2l ) 3 5 In 5.7, 2 4 ! r ! l 3 5 is taken as an input. By the input transformation 2 4 ! r ! l 3 5 =M 1 3 0 B B B B B B B @ [M 1 ] 2 6 6 6 6 6 6 6 4 ! v v v z r z l 3 7 7 7 7 7 7 7 5 [M 2 ] 2 4 r l 3 5 +u a 1 C C C C C C C A Linear and angular velocity of the vehicle is reduced to the integrator form. _ v =u a 70 Since stabilizing input, 5.3, for 5.5 is obtained in 4.16, it can be used in the first backstepping. _ v =u a = _ + Let 2 4 ! rd ! ld 3 5 = M 1 3 0 B B B B B B @ [M 1 ] 2 6 6 6 6 6 6 4 ! v v v z r z l 3 7 7 7 7 7 7 5 [M 2 ] 2 4 r l 3 5 +u a 1 C C C C C C A = M 1 3 0 B B B B B B @ [M 1 ] 2 6 6 6 6 6 6 4 ! v v v z r z l 3 7 7 7 7 7 7 5 [M 2 ] 2 4 r l 3 5 +( _ +) 1 C C C C C C A In the second backstepping, desired 2 4 ! r ! l 3 5 , 2 4 ! rd ! ld 3 5 ; needs to be obtained by using wheel torque, 2 4 r l 3 5 . Definez 2 = 2 4 ! r ! l 3 5 2 4 ! rd ! ld 3 5 Define Lyapunov function candidate, V a =V + 1 2 z 2 2 where,V is from 4.13. By the change of variables, 71 _ v = [M 1 ] 2 6 6 6 6 6 6 6 4 ! v v v z r z l 3 7 7 7 7 7 7 7 5 + [M 2 ] 2 4 r l 3 5 + [M 3 ] (z 2 +! rld ) Derivative ofV a , _ Va = _ V +z T 2 _ z 2 = @V @e (f() +g()v) + @V @v 0 B B B B B B @ [M 3 ]z 2 + 0 B B B B B B @ [M 1 ] 2 6 6 6 6 6 6 4 !v vv zr z l 3 7 7 7 7 7 7 5 + [M 2 ] 2 4 r l 3 5 + [M 3 ]! rld 1 C C C C C C A 1 C C C C C C A +z T 2 _ z 2 = @V @e (f() +g()v) + @V @v 0 B B B B B B @ [M 1 ] 2 6 6 6 6 6 6 4 !v vv zr z l 3 7 7 7 7 7 7 5 + [M 2 ] 2 4 r l 3 5 + [M 3 ]! rld 1 C C C C C C A + @V @v ([M 3 ]z 2 ) +z T 2 ( _ ! rl _ ! rld ) (5.8) Angular velocity of the right and left wheel is driven by the right and left torque, respectively. 2 4 _ ! r _ ! l 3 5 = [M 4 ] 2 6 6 6 6 6 6 6 6 6 6 6 6 6 4 ! r ! l ! v v v z r z l 3 7 7 7 7 7 7 7 7 7 7 7 7 7 5 + [M 5 ] 2 4 r l 3 5 + [M 6 ] 2 4 r l 3 5 (5.9) where 72 M 4 = 2 4 r Irw Fnr( 1r + 2r ) 0 r Irw FnR( 1r + 2r ) r Irw Fn( 1r + 2r ) r Irw Fn 0r 0 0 r I lw Fnr( 1l + 2l ) r I lw FnR( 1l + 2l ) r I lw Fn( 1l + 2l ) 0 r I lw Fn 0l 3 5 M 5 = 2 4 r Irw Fn 1r 0 0 r I lw Fn 1l 3 5 M 6 = 2 4 1 Irw 0 0 1 I lw 3 5 By using 2 4 r l 3 5 =M 1 6 0 B B B B B B B B B B B B B @ [M 4 ] 2 6 6 6 6 6 6 6 6 6 6 6 6 6 4 ! r ! l ! v v v z r z l 3 7 7 7 7 7 7 7 7 7 7 7 7 7 5 [M 5 ] 2 4 r l 3 5 +u b 1 C C C C C C C C C C C C C A 5.9 becomes _ ! rl =u b where _ ! rl = 2 4 _ ! r _ ! l 3 5 Continuing from 5.8, _ V a = _ V +z T 2 _ z 2 = @V @e (f()+g()v)+ @V @v 0 B B B B B B @ [M 1 ] 2 6 6 6 6 6 6 4 ! v v v z r z l 3 7 7 7 7 7 7 5 +[M 2 ] 2 4 r l 3 5 +[M 3 ]! rld 1 C C C C C C A + @V @v ([M 3 ]z 2 )+z T 2 (u b _ ! rld ) 73 Chooseu b = + _ ! rld , then (u b _ ! rld ) becomes . = @V @e (f()+g()v)+ @V @v 0 B B B B B B @ [M 1 ] 2 6 6 6 6 6 6 4 ! v v v z r z l 3 7 7 7 7 7 7 5 +[M 2 ] 2 4 r l 3 5 +[M 3 ]! rld 1 C C C C C C A + @V @v ([M 3 ]z 2 )+z T 2 = @V @e (f()+g()v)+ @V @v 0 B B B B B B @ [M 1 ] 2 6 6 6 6 6 6 4 ! v v v z r z l 3 7 7 7 7 7 7 5 +[M 2 ] 2 4 r l 3 5 +[M 3 ]! rld 1 C C C C C C A + @V @v ([M 3 ]z 2 )+ T z 2 = @V @e (f()+g()v)+ @V @v 0 B B B B B B @ [M 1 ] 2 6 6 6 6 6 6 4 ! v v v z r z l 3 7 7 7 7 7 7 5 +[M 2 ] 2 4 r l 3 5 +[M 3 ]! rld 1 C C C C C C A +( @V @v [M 3 ]+ T )z 2 Since @V @e (f() +g()v) + @V @v 0 B B B B B B B @ [M 1 ] 2 6 6 6 6 6 6 6 4 ! v v v z r z l 3 7 7 7 7 7 7 7 5 + [M 2 ] 2 4 r l 3 5 + [M 3 ]! rld 1 C C C C C C C A 0, taking T = @V @v [M 3 ]z T 2 k 2 yields _ Va 0. T = @V @v [M 3 ]z T 2 k 2 = h @V @!v @V @vv i 2 4 JFnr( 1r + 2r ) JFnr( 1l + 2l ) 1 m Fnr( 1r + 2r ) 1 m Fnr( 1l + 2l ) 3 5 h z 21 z 22 i 2 4 k 21 0 0 k 22 3 5 = h !v! vvv i 2 4 JFnr( 1r + 2r ) JFnr( 1l + 2l ) 1 m Fnr( 1r + 2r ) 1 m Fnr( 1l + 2l ) 3 5 h k 21 z 21 k 22 z 22 i = h Fnr( 1r + 2r )(J!vJ! + 1 m vv 1 m v) Fnr( 1l + 2l )(J!v +J! + 1 m vv 1 m v) i h k 21 z 21 k 22 z 22 i = h Fnr( 1r + 2r )(J!vJ! + 1 m vv 1 m v)k 21 z 21 Fnr( 1l + 2l )(J!v +J! + 1 m vv 1 m v)k 22 z 22 i 74 u b = + _ ! rld = 2 4 F n r( 1r + 2r )(J! v J ! + 1 m v v 1 m v )k 21 z 21 F n r( 1l + 2l )(J! v +J ! + 1 m v v 1 m v )k 22 z 22 3 5 + _ ! rld 21 where = 2 4 ! v 3 5 = 2 4 ! v_ref +v v_ref (k y e y +k sin(e ) v v_ref cos(e ) +k x e x 3 5 _ = 2 4 _ ! _ v 3 5 = 2 4 _ ! v_ref + _ v v_ref k y e y +v v_ref k y _ e y + _ v v_ref k sin(e ) +v v_ref k cos(e ) _ e _ v v_ref cos(e )v v_ref sin(e ) _ e +k x _ e x 3 5 = 2 4 ! v 3 5 = 2 4 ! v_ref + v v_ref kyey +2_ v v_ref ky _ ey +v v_ref ky ey +k sin(e )( v v_ref v v_ref _ e 2 )+k cos(e )(2_ v v_ref _ e +v v_ref e ) v v_ref cos(e )2_ v v_ref sin(e )_ e v v_ref cos(e )_ e 2 v v_ref sin(e ) e +kx ex 3 5 From 5.1, 2 6 6 6 4 e x e y e 3 7 7 7 5 can be obtained. e x = _ ! v e y +! v _ e y _ v v + _ v v_ref cos(e )v v_ref sin(e ) _ e e y = _ ! v e x ! v _ e x + _ v v_ref sin(e ) +v v_ref cos(e ) _ e e = _ ! v_ref _ ! v 75 = 2 4 sin(e )k 5 (! v ! v_ref v v_ref k y e y k sin(e )) e x k 4 (v v v v_ref cos(e )k x e x ) 3 5 _ = 2 4 cos(e ) _ e k 5 ( _ ! v _ ! v_ref _ v v_ref k y e y v v_ref k y _ e y k cos(e ) _ e ) _ e x k 4 ( _ v v _ v v_ref cos(e ) +v v_ref sin(e ) _ e k x _ e x ) 3 5 2 4 _ ! v _ v v 3 5 is from 5.7. 2 4 _ ! v _ v v 3 5 = [M 1 ] 2 6 6 6 6 6 6 6 4 ! v v v z r z l 3 7 7 7 7 7 7 7 5 + [M 2 ] 2 4 r l 3 5 + [M 3 ] 2 4 ! r ! l 3 5 ! rld = 2 4 ! rd ! ld 3 5 =M 1 3 0 B B B B B B B @ [M 1 ] 2 6 6 6 6 6 6 6 4 ! v v v z r z l 3 7 7 7 7 7 7 7 5 [M 2 ] 2 4 r l 3 5 + ( _ +) 1 C C C C C C C A z 2 = 2 4 z 21 z 22 3 5 = 2 4 ! r ! l 3 5 2 4 ! rd ! ld 3 5 76 _ ! rld =M 1 3 _ M 1 2 6 6 6 6 6 6 6 4 ! v v v z r z l 3 7 7 7 7 7 7 7 5 M 1 3 M 1 2 6 6 6 6 6 6 6 4 _ ! v _ v v _ z r _ z l 3 7 7 7 7 7 7 7 5 M 1 3 M 2 2 4 _ r _ l 3 5 +M 1 3 ( + _ ) _ M 1 = 2 4 _ 4 v v _ 3 ! v 3 5 = 2 6 4 (m2mw )d I+(m4mw )d 2 _ ! v v v (m2mw )d m _ ! v ! v 3 7 5 _ ! rld =M 1 3 0 B B B B B B B @ 2 6 4 (m2mw )d I+(m4mw )d 2 _ ! v v v (m2mw )d m _ ! v ! v 3 7 5 +M 1 2 6 6 6 6 6 6 6 4 _ ! v _ v v _ z r _ z l 3 7 7 7 7 7 7 7 5 +M 2 2 4 _ r _ l 3 5 ( + _ ) 1 C C C C C C C A Final control torque is as follows. 2 4 r l 3 5 =M 1 6 0 B B B B B B B B B B B B B @ [M 4 ] 2 6 6 6 6 6 6 6 6 6 6 6 6 6 4 ! r ! l ! v v v z r z l 3 7 7 7 7 7 7 7 7 7 7 7 7 7 5 [M 5 ] 2 4 r l 3 5 +u b 1 C C C C C C C C C C C C C A 77 Derivative of Lyapunov function, _ V a , becomes negative by derived control torque 2 4 r l 3 5 . Since Lyapunov function V a consists of position and orientation error (e x ; e y ; e ), negativeness of _ V a implies posture error’s asymptotic convergence to zero. Proposition 8. Position and orientation error between reference mobile platform and mo- bile platform with longitudinal slipping are asymptotically stable by proposed controllers. 5.2 Simulation Two examples are simulated to demonstrate the performance of the backstepping controller for mobile platform with slipping. Simulink diagram is shown in Fig.5.1. In case 1, circular trajectory is used for tracking. Reference trajectory and initial posture of reference mobile platform and controlled mobile platform is represented in Table 5.1. Initial posture is shown in Fig.5.2 (top). The red object represents the reference mobile platform and the blue object is the controlled mobile platform. Traces of each mobile platform are shown in Fig.5.2 (bottom), where the red circles are the reference and the blue circles denote controlled mobile platform trajectories, respectively. Figure 5.3 shows tracking errors and control inputs for each wheel. Reference linear velocity 1:5m=s Reference angular velocity 1rad=s Reference initial posture (x; y; ) (0m; 0m; 0 ) Initial posture of controlled mobile platform (x; y; ) (3m; 0m; 180 ) Road condition, rc 2 Table 5.1: Reference trajectory and initial posture for first case In case 2, this example demonstrates that the tracking controller can be employed for point stabilization. In case of point stabilization, the reference velocity is zero since 78 reference mobile platform is considered as stationary. As shown in Fig.5.5, the x and y position errors are approaching zero but the orientation error shows an oscillatory behavior. In practice, a small orientation error is within the performance specification. Logic which terminates the control effort when the mobile platform is within a certain range of orientation error can be embedded in the controller to achieve bounded error within performance specification. Large peaks in control inputs seems to be erratic behavior in built-in solver in Simulink. Reference trajectory and initial posture of reference mobile platform and controlled mobile platform are shown in Table 5.2. The initial posture is shown in Fig.5.4 (top). The red object represents the reference mobile platform and the blue object is the controlled mobile platform. Traces of each mobile platform are shown in Fig.5.4 (bottom) where the red circles are the reference and the blue circles denote controlled mobile platform trajectories, respectively. Figure 5.5 shows tracking errors and control inputs for each wheel. Reference linear velocity 0m=s Reference angular velocity 0rad=s Reference initial posture (x; y; ) (2m; 0m; 0 ) Initial posture of controlled mobile platform (x; y; ) (0m; 1m;5 ) Road condition, rc 2 Table 5.2: Reference trajectory and initial posture for second case 79 Figure 5.1: Simulink diagram of two-wheel platform control simulation 80 Figure 5.2: Case 1: circular trajectory tracking - Initial posture (top), trajectory track- ing (bottom) 81 0 1 2 3 4 5 6 7 8 −5 0 5 x error [m] 0 1 2 3 4 5 6 7 8 −0.5 0 0.5 y error [m] 0 1 2 3 4 5 6 7 8 −5 0 5 θ error [deg] 0 1 2 3 4 5 6 7 8 −2 0 2 v lin error [m/s] 0 1 2 3 4 5 6 7 8 −5 0 5 v ang error [deg/s] 0 1 2 3 4 5 6 7 8 −1000 0 1000 u rw 0 1 2 3 4 5 6 7 8 −1000 0 1000 u lw Time [sec] Figure 5.3: Case 1: circular trajectory tracking - Tracking errors and control inputs 82 Figure 5.4: Case 2: point stabilization - Initial posture (top), trajectory tracking (bot- tom) 83 0 2 4 6 8 10 12 −5 0 5 x error [m] 0 2 4 6 8 10 12 −1 0 1 y error [m] 0 2 4 6 8 10 12 −1 0 1 θ error [deg] 0 2 4 6 8 10 12 −2 0 2 v lin error [m/s] 0 2 4 6 8 10 12 −5 0 5 v ang error [deg/s] 0 2 4 6 8 10 12 −1000 0 1000 u rw 0 2 4 6 8 10 12 −1000 0 1000 u lw Time [sec] Figure 5.5: Case 2: point stabilization - Tracking errors and control inputs 84 Chapter 6 Combined Backstepping-Sliding Mode Control Law Consider following system _ =f() +g() (6.1) _ =u (6.2) For _ -subsystem, state can be considered as a control input. Assume that stabilizing control input is () and its Lyapunov function is V 1 () satisfyingV 1 ()K 1 kk 2 2 When =() , _ subsystem becomes stable. Define new state,z =() Then, _ -subsystem can be represented by using =() +z _ = (f() +g()()) +g()z (6.3) Whenz = 0, _ =f() +g()() becomes stable with stabilizing input,(). 85 Define sliding surface,s s =z _ s = _ z = _ _ () (6.4) To find equivalent control, take _ s = 0. _ s = 0 means sliding surface is made an invariant set by the equivalent control. _ s = _ z = 0 = _ _ () = 0 (6.5) Since, _ =u u _ () = 0 (6.6) Equivalent control inputu eq = _ () The purpose of sliding surface is to make z = 0. z = 0 means that = () is satisfied. so, _ -subsystem is stable on the sliding surface. Note that only reaching phase is required to converge to z = 0 as a first hit and maintain atz = 0 after the first hit. Define Lyapunov function candidate,V a =V 1 + 1 2 s 2 86 _ V a = _ V 1 +s _ s = @V 1 @ _ +s _ s = @V 1 @ (f() +g()()) + @V 1 @ g()z +s _ s SinceV 1 ()K 1 kk 2 2 is assumed, @V 1 @ (f() +g()())K 1 kk 2 2 For stability, @V 1 @ g()z +s _ s< 0 needs to be satisfied. From 6.4, _ s =u _ (). @V 1 @ g()z +s(u _ ()) (6.7) Take _ s = ()sign(s)ks as a reaching law. _ s =u _ () = ()sign(s)ks )u = _ () ()sign(s)ks pluggingu into 6.7 yields, @V 1 @ g()zs ()sign(s)ks 2 Let () = @V 1 @ g(), where, 1 @V 1 @ g()zs @V 1 @ g()sign(s)ks 2 87 s @V 1 @ g()sign(s) = @V 1 @ g()ksk sinces =z, @V 1 @ g()ksk = @V 1 @ g()kzk @V 1 @ g()zs @V 1 @ g()sign(s)ks 2 = @V 1 @ g()z @V 1 @ g()kzkks 2 ks 2 Therefore, _ V a = _ V 1 +s _ s< 0 Final control input for the given system can be written as follows. u =u eq +u smc = _ () @V 1 @ g()sign(s)ks Proposition 9. Position and orientation error between reference mobile platform and mobile platform without longitudinal slipping are asymptotically stable by proposed con- trollers. 88 6.1 Application to the mobile platform with slipping Define sliding surfaces, s = 2 4 s 1 s 2 3 5 =z 2 where, z 2 = 2 4 z 21 z 22 3 5 = 2 4 ! r ! l 3 5 2 4 ! rd ! ld 3 5 Define Lyapunov function candidate, V a =V + 1 2 s 2 where,V is from 4.13. Derivative ofV a , _ Va = _ V +s T _ s = @V @e (f() +g()v) + @V @v 0 B B B B B B @ [M 3 ]z 2 + 0 B B B B B B @ [M 1 ] 2 6 6 6 6 6 6 4 !v vv zr z l 3 7 7 7 7 7 7 5 + [M 2 ] 2 4 r l 3 5 + [M 3 ]! rld 1 C C C C C C A 1 C C C C C C A +s T _ s = @V @e (f() +g()v) + @V @v 0 B B B B B B @ [M 1 ] 2 6 6 6 6 6 6 4 !v vv zr z l 3 7 7 7 7 7 7 5 + [M 2 ] 2 4 r l 3 5 + [M 3 ]! rld 1 C C C C C C A + @V @v ([M 3 ]z 2 ) +s T ( _ ! rl _ ! rld ) (6.8) 89 Angular velocities of the right and left wheel are controlled by the right and left torques r and l . The equations of motion are given by. 2 4 _ ! r _ ! l 3 5 = [M 4 ] 2 6 6 6 6 6 6 6 6 6 6 6 6 6 4 ! r ! l ! v v v z r z l 3 7 7 7 7 7 7 7 7 7 7 7 7 7 5 + [M 5 ] 2 4 r l 3 5 + [M 6 ] 2 4 r l 3 5 (6.9) where M 4 = 2 4 r Irw Fnr( 1r + 2r ) 0 r Irw FnR( 1r + 2r ) r Irw Fn( 1r + 2r ) r Irw Fn 0r 0 0 r I lw Fnr( 1l + 2l ) r I lw FnR( 1l + 2l ) r I lw Fn( 1l + 2l ) 0 r I lw Fn 0l 3 5 M 5 = 2 4 r Irw Fn 1r 0 0 r I lw Fn 1l 3 5 M 6 = 2 4 1 Irw 0 0 1 I lw 3 5 Using 2 4 r l 3 5 =M 1 6 0 B B B B B B B B B B B B B @ [M 4 ] 2 6 6 6 6 6 6 6 6 6 6 6 6 6 4 ! r ! l ! v v v z r z l 3 7 7 7 7 7 7 7 7 7 7 7 7 7 5 [M 5 ] 2 4 r l 3 5 +u b 1 C C C C C C C C C C C C C A Eq.6.9 yields _ ! rl =u b 90 where _ ! rl = 2 4 _ ! r _ ! l 3 5 Now, 6.8 becomes @V @e (f()+g()v)+ @V @v 0 B B B B B B @ [M 1 ] 2 6 6 6 6 6 6 4 ! v v v z r z l 3 7 7 7 7 7 7 5 +[M 2 ] 2 4 r l 3 5 +[M 3 ]! rld 1 C C C C C C A + @V @v ([M 3 ]z 2 )+s T (u b _ ! rld ) (6.10) Since @V @e (f() +g()v) + @V @v 0 B B B B B B B @ [M 1 ] 2 6 6 6 6 6 6 6 4 ! v v v z r z l 3 7 7 7 7 7 7 7 5 + [M 2 ] 2 4 r l 3 5 + [M 3 ]! rld 1 C C C C C C C A 0, To ensure stability, @V @v ([M 3 ]z 2 ) +s T (u b _ ! rld )< 0 needs to be satisfied. Assume _ s =sign(s) ()ks as a reaching law. _ s =u b _ ! rld =sign(s) ()ks )u b = _ ! rld sign(s) ()ks Substitutingu b in eq.6.10 yields, @V @v ([M 3 ]z 2 ) +s T (u b _ ! rld ) = @V @v ([M 3 ]z 2 ) +s T ( _ ! rld sign(s) ()ks _ ! rld ) = @V @v ([M 3 ]z 2 )s T sign(s) 22 () 21 s T k 22 s 91 where sign(s) = 2 4 sign(s 1 ) 0 0 sign(s 2 ) 3 5 Let () T = @V @v [M 3 ] 22 , where, = 2 4 1 0 0 2 3 5 and 1;2 1 @V @v ([M 3 ]z 2 )s T sign(s) 22 () 21 s T k 22 s = @V @v ([M 3 ]z 2 ) () T ksk 21 s T k 22 s = @V @v ([M 3 ]z 2 ) @V @v [M 3 ] 22 ksk 21 s T k 22 ss T k 22 s Therefore, _ V a = _ V 1 +s _ s< 0 Therefore, control input for the given system can be written as: u b = _ ! rld sign(s) ()ks = _ ! rld 2 4 sign(s 1 ) 0 0 sign(s 2 ) 3 5 () 2 4 k 1 0 0 k 2 3 5 s Consequently, the derivative of the Lyapunov function along the trajectories of the system becomes negative by derived control torqueu b . This in turn implies asymptotic convergence of the posture error to zero. 92 6.2 Simulation Example Circular trajectory is used to demonstrate trajectory tracking by the combined backstepping-sliding mode control law. Reference trajectory and initial posture of ref- erence mobile platform and controlled mobile platform is represented in Table 6.1. Initial posture is shown in Fig.6.1 (top). The red object represents the reference mo- bile platform and the blue object is the controlled mobile platform. Traces of each mobile platform are shown in Fig.6.1 (bottom) where the red circles are the refer- ence and the blue circles denote controlled mobile platform trajectories, respectively. Fig.6.2 shows tracking errors and control inputs for each wheel. Reference linear velocity 1:5m=s Reference angular velocity 1rad=s Reference initial posture (x; y; ) (0m; 0m; 0 ) Initial posture of controlled mobile platform (x; y; ) (3m; 0m; 180 ) Road condition, rc 2 Table 6.1: Reference trajectory and initial posture for first case 93 Figure 6.1: Combined backstepping-sliding mode control law - Initial posture (top), trajectory tracking (bottom) 94 0 1 2 3 4 5 6 7 8 −5 0 5 x error [m] 0 1 2 3 4 5 6 7 8 −0.5 0 0.5 y error [m] 0 1 2 3 4 5 6 7 8 −5 0 5 θ error [rad] 0 1 2 3 4 5 6 7 8 −2 0 2 v lin error [m/s] 0 1 2 3 4 5 6 7 8 −5 0 5 v ang error [rad/s] 0 1 2 3 4 5 6 7 8 −1000 0 1000 u rw 0 1 2 3 4 5 6 7 8 −1000 0 1000 u lw Time [sec] Figure 6.2: Combined backstepping-sliding mode control law - Tracking errors and control inputs 95 6.3 Robust Backstepping-Sliding Mode Control Law Consider the following system _ =f() +g() + (;) (6.11) _ =f a (;) +g a (;)u + (;) (6.12) where 2R n ; 2R f(); g(); f a (;); andg a (;) with condition ofg a (;)6= 0 are known functions. The unknown functions, (;) and (;), are assumed to satisfy following inequalities k (;)k 2 c 1 kk 2 j (;)j c 2 kk 2 +c 3 jj = (;) For _ -subsystem, state can be considered as a control input for _ -subsystem in eq.6.11. Assume that stabilizing control input for this subsystem is () and its Lyapunov function is given byV 1 () satisfyingV 1 ()K 1 kk 2 2 When =() , the origin of the subsystem in eq.6.11 is asymptotically stable. Definez =() Then, _ -subsystem in eq.6.11 can be represented by using =() +z which leads to 96 _ = (f() +g()()) +g()z + (;) (6.13) Whenz = 0, the origin of eq.6.13 is asymptotically stable with(). Define sliding surface,s =z and evaluate the equivalent control by taking _ s = 0 _ s = _ z = 0 = _ _ () = 0 Since, _ =f a (;) +g a (;)u + (;) f a (;) +g a (;)u + (;) _ () = 0 (6.14) Take equivalent control input,u eq = 1 ga(;) (f a (;) _ ()) The purpose of sliding surface is to make z = 0. z = 0 means that = () is satisfied. so, _ -subsystem is stable on the sliding surface. Note that only reaching phase is required to converge to z = 0 as a first hit and maintain atz = 0 after the first hit. Define Lyapunov function candidate,V a =V 1 + 1 2 s 2 _ V a = _ V 1 +s _ s = @V 1 @ _ +s _ s = @V 1 @ (f() +g() + (;)) +s _ s = @V 1 @ (f() +g()() + (;)) + @V 1 @ g()z +s _ s (6.15) 97 SinceV 1 ()K 1 kk 2 2 is assumed, @V 1 @ (f() +g()() + (;))K 1 kk 2 2 For stability, @V 1 @ g()z +s _ s< 0 needs to be satisfied. Substituting _ s =f a (;) +g a (;)u + (;) _ () into the last two two terms of eq.6.15 yields @V 1 @ g()z +s _ s = @V 1 @ g()z +s(f a (;) +g a (;)u + (;) _ ()) (6.16) Let _ s = ()sign(s)ks as to be reaching law for finite time reaching. _ s =f a (;) +g a (;)u + (;) _ () = ()sign(s)ks )u = 1 g a (;) (f a (;) _ ()) ()sign(s)ks substitution ofu into 6.16 yields, @V 1 @ g()z +s (;)s ()sign(s)ks 2 Let () = @V 1 @ g() + (;) +, where, (;) is upper bound of (;) @V 1 @ g()z +s (;)s( @V 1 @ g() + (;) +)sign(s)ks 2 s @V 1 @ g()sign(s) = @V 1 @ g()ksk sinces =z, @V 1 @ g()ksk = @V 1 @ g()kzk 98 @V 1 @ g()z +s (;)s @V 1 @ g()sign(s)s (;)sign(s)ks 2 = @V 1 @ g()z @V 1 @ g()kzk +s (;)ksk (;)kskks 2 ks 2 ksk Therefore, _ V a = _ V 1 +s _ s< 0 Final control input for the given system can be written as follows. u =u eq +u smc = 1 g a (;) (f a (;) _ ()) ( @V 1 @ g() + (;) +)sign(s)ks 99 Chapter 7 Trajectory Generation 7.1 Background The Bezier curve is a special type of spline and invented to describe the shape of automobile body [12]. It is also used as a tool for modeling smooth curves in computer graphics. Bezier curves applications are not limited to graphics field but also used for path planning, trajectory generation, see[40, 20, 80]. A Bezier curve of degree n is specified by n + 1 control points (p 0 ;:::; p n ) and defined [5]. Q(k) = 2 4 Q x (k) Q y (k) 3 5 = n X i=0 p i 0 @ n i 1 A (1k) ni k i ; 0k 1 (7.1) where 0 @ n i 1 A (1k) ni k i is called Bernstein basis polynomials. The curve passes through the first and last points and is adjusted by intermediate control points. Orientation of the start and end points is tangential to the line of control point. An example of cubic Bezier curve is shown in Fig.7.1 and formula is as follows. 2 4 Q x (k) Q y (k) 3 5 = (p 0 + 3p 1 3p 2 +p 3 )k 3 + 3(p 0 2p 1 +p 2 )k 2 + 3(p 0 +p 1 )k +p 0 (7.2) 100 Figure 7.1: Bezier curve The above mentioned properties of Bezier curve can be utilized for trajectory gen- eration for mobile platform. The cubic Bezier curve was selected for trajectory gen- eration to avoid the complexity of high-order curves. A series of cubic Bezier curves can be used to generate arbitrary trajectory. As shown in Fig.7.2, initial and final ori- entation of mobile platform can be defined by the first and last control points while the departure and arrival angles can be adjusted by selecting appropriate intermediate control points. 101 Figure 7.2: Application of cubic Bezier curve to trajectory generation 7.2 Application to Mobile Platform A GUI based trajectory generator was developed using MATLAB as shown Fig.7.3(left) and exported trajectory is shown in the right. Series of Bezier curves can be constructed and generated curves can be saved . 102 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 x (m) y (m) Figure 7.3: Trajectory generator GUI and exporter trajectory The reference trajectory and velocity for controller were obtained from the Bezier based trajectory as shown in Fig.7.4. The position of the platform center of mass, (x c ; y c ), for different length between the center of axle and the center of mass is shown in Fig.7.5. Figure 7.4: Trajectory generation process 103 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 Bezier based trajectory Trajectory with d=0 x (m) y (m) 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 Bezier based trajectory Trajectory with d=0.2 x (m) y (m) Figure 7.5: Trajectory exported from GUI Bezier curve is parameterized by k, which is neither time nor distance. As shown in Fig.7.6, the distance between two points is not the same despite using the samek. (see eq.7.1) 104 0 0.5 1 1.5 2 2.5 3 3.5 4 1 1.2 1.4 1.6 1.8 2 2.2 2.4 0 0.5 1 1.5 2 2.5 3 3.5 4 1 1.2 1.4 1.6 1.8 2 2.2 2.4 x (m) x (m) y (m) y (m) Figure 7.6: Bezier curve with evenly spaced “k” 7.3 Arc length Parameterization Bezier curve generated by regular formula does not allow arbitrary adjustment of distance of points. For example, distance between two points needs to be the same for constant velocity. In addition to the constant velocity, varying distances between points for acceleration and deceleration are required. Cubic Interpolator [54] was tested for trajectory to generate a constant velocity trajectory and is shown in the following. 105 1 1.5 2 2.5 3 3.5 4 4.5 1 1.5 2 2.5 3 3.5 4 y (m) x (m) 1 1.5 2 2.5 3 3.5 4 4.5 1 1.5 2 2.5 3 3.5 4 x (m) y (m) Figure 7.7: Regular Bezier and Cubic interpolator 0 5 10 15 20 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0 5 10 15 20 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 mean: 0.2616 std: 0.1463 mean: 0.2615 std: 0.0869 Segment Segment Length (m) Length (m) Figure 7.8: Length of segments comparison Deviation is reduced compared to regular method. However, it appears to be inap- propriate for constant velocity over the whole trajectory. Arc length of Bezier curve is defined as follows. 106 s(k) = k 0 kQ 0 ()kd (7.3) = k 0 q Q 0 x () 2 +Q 0 y () 2 d (7.4) s 0 (k) = ds dk =kQ 0 (k)k (7.5) k 0 (s) = dk ds = 1 kQ 0 (k)k (7.6) k(s) = s 0 1 kQ 0 ()k d (7.7) By numerical integration (Runge-Kutta fourth order),k corresponding to distance, s; can be obtained from 7.7. Then,k is used to find corresponding point in trajectory. Trajectory generated by arc length parameterization with numerical integration is shown in Fig.7.9 and verified with the length distribution of each segment. 107 1 1.5 2 2.5 3 3.5 4 4.5 1 1.5 2 2.5 3 3.5 4 Numerical Integration x (m) y (m) Figure 7.9: Arc length parameterized Bezier curve 0 5 10 15 20 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 Bezier Curve 0 5 10 15 20 0 0.1 0.2 0.3 0.4 0.5 Cubic Interpolator 0 5 10 15 20 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 Numerical Integration mean: 0.2616 std: 0.1463 mean: 0.2615 std: 0.0869 mean: 0.2613 std: 0.001555 Segment Segment Segment Length (m) Length (m) Length (m) Figure 7.10: Length of segments comparison 7.4 Cubic spline based profile Curvature can be used for constraint on angular velocity. Velocity can be reduced in segment with high curvature for riding comfort and safety [36]. 108 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 x (m) y (m) 0 1 2 3 4 5 0 1 2 3 4 5 −3 −2.5 −2 −1.5 −1 −0.5 0 0.5 1 y x curvature Figure 7.11: Curvature in Bezier based trajectory curvature; = 1 radius = _ x y _ y x ( _ x 2 + _ y 2 ) 3 2 longitudinalacceleration = dv dt lateralacceleration =v 2 Cubic spline based profile generator is developed using MATLAB as shown in Fig.7.12. By combination of acceleration, constant velocity, and deceleration, velocity profile can be generated. 109 Figure 7.12: Cubic spline based profile generator GUI 110 0 20 40 60 80 100 120 140 0 1 2 3 4 5 6 position(m) 0 20 40 60 80 100 120 140 −0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 velocity(m/s) point Figure 7.13: Position and velocity profile By combining acceleration, constant velocity, deceleration, velocity profile is gen- erated. Obtained velocity profile is integrated in the Bezier curve to generate final trajectory. Segment length distribution shows embedded velocity profile in trajectory. 111 1 1.5 2 2.5 3 3.5 4 4.5 1 1.5 2 2.5 3 3.5 4 x (m) y (m) Figure 7.14: Bezier based trajectory combined with cubic spline velocity profile 0 50 100 150 0 2 4 6 8 10 Segment Length (cm) Figure 7.15: Length of segments 112 Chapter 8 Implementation In this chapter, details on the implementation of the proposed controller are pre- sented. Implementation includes both hardware and software development. In the following each components of hardware configuration and software development are described. Figure 8.1: Implemented mobile platform 113 8.1 Hardware Configuration Schematic diagram of the system is shown in Fig.8.2. Powered Wheelchair is de- picted as motors and battery. Two components (xPC Target and cRIO) are deployed as main controller and sub-controller, respectively. Each components are connected through 100 Mbps wired ethernet and wireless AP provides remote access from exter- nal PC (host PC and remote control PC). M M Figure 8.2: Overall system configuration 114 8.1.1 Power Wheelchair Power wheelchair from Invacare is deployed as a mobile platform for experiment. Differential drive using difference in velocity between left and right wheel is used with passive front casters. All wheels have pneumatic type tire. Two 12 V deep-cycle battery is used to supply 24 V to motors and built-in controller. Power wheelchairs is operated with joystick. Power wheelchair in default state has built-in components to be modified or re- moved for experiment. Built-in controller is designed to accept signals from its own joystick not from the external source such as 3rd party controller. If protocol between joystick and built-in controller is identified, external source can be connected to built- in controller instead of the joystick. However, internal logic in the built-in controller can affect the operation of the proposed control algorithm. Therefore, built-in con- troller needed to be modified to receive signals so that external controller can directly command the motors. Another component to be modified is electromagnetic brake. Brake is engaged when joystick is in neutral position (stop position) and disengaged while moving. Brakes are removed to install rotary encoder. Details on modification of built-in components are described in the following sections. 8.1.2 Motor driver and Interface board Power wheelchair has a built-in controller and motor driver. As explained in previ- ous section, this controller has its own logic and control signal is transmitted to motor driver board to drive motor. Therefore, built-in controller needs to be removed so that motor driver get signal from proposed controller. Before detaching built-in controller, I/O pins for relevant signals should be identi- fied. I/O pins can be accessed through pin header. DMM and oscilloscope are used to check signals on every pins while operating the wheels by built-in joystick. Most 115 relevant pins for PWMs, brake, power relay are identified and wired for external con- nection. A pair of PWM signals are required to drive a motor. One of the signal is inverted with respect to the other. Both (non-inverted PWM, inverted PWM) are fed into HIP4082 chip on the motor driver to drive FETs. (See 10.1.4 for block diagram and truth table of HIP4082). Logic inverter IC is used to obtain inverted PWM signal. Another important signals are for brake and power relay. Electromagnetic brake should be disengaged before driving motors and power should be supplied to FET driver and other ICs on the motor drivers. Brake enabling signal and power relaying signal are connected to external pins through opto-coupler for electrical insulation. Test is performed to verify the identified pins. Embedded board is programmed to generate PWM signals and brake signal. 8.1.3 xPC Target The xPC Target is software from MathWorks that allows real-time execution of Simulink and Stateflow model. Since Simulink model can be compiled, downloaded, and run in real-time with little modification from the simulation model, xPC Target is very useful for rapid control prototyping, HIL(Hardware-in-the-loop) simulation and real-time applications. The xPC Target provides a library of I/O device drivers for hard- ware support, real-time kernel, and interface for monitoring, parameter tuning, and data logging. The xPC Target provides a flexible ways to turn general-purpose com- puter into a real-time environment. It supports most of the off-the-shelf PC processors and form factors such as desktop computers and industrial computers. In xPC Target environment, users can build Simulink model, compile the model, and download executable code. Target computer is a separate computer for execution of code compiled and downloaded from the host computer. Execution of code is man- aged by real-time kernel in target computer. Maximum achievable sample rate can be 116 up to 100kHz. Model size, complexity, and target computer hardware affect execution time (sample time). Since Simulink model needs to be compiled into executable code, C/C++ com- piler is required. Network or serial based connection is supported for communication between host and target computer. For network based connection, TCP/IP is used and compatible ethernet adapter is required. A key factor in implementation of an algorithm is interaction of external devices like sensors and actuators. For this interaction, application code running on the target computer needs to access I/O device on the target computer. Due to support of a wide range of products from xPC Target, supported devices are ready to use on the target computer. Figure 8.3: xPC Target configuration Details of xPC Target hardware used in the experiment are shown in Tab.8.1. 117 CPU Intel Core 2 Duo E8400 3.0GHz RAM 2GB NIC (Network Interface Card) ASIX AX88772 compatible For host communication Intel 82599 compatible For real-time UDP DAQ (Data Acquisition) card National Instruments PCI-6251 For data acquisition Table 8.1: xPC Target setup 8.1.4 cRIO cRIO (CompactRIO) is a compact and rugged platform from National Instruments [59]. cRIO is a reconfigurable embedded control and acquisition system. The Com- pactRIO system’s hardware architecture includes hot-swappable I/O modules, a recon- figurable field-programmable gate array (FPGA) chassis, and an embedded controller. Additionally, CompactRIO is programmed with NI LabVIEW graphical programming tools for rapid real-time, Windows, and FPGA programming. Real-time processor deterministically executes LabVIEW Real-Time applications in- cluding multithreaded operation with the help of VxWorks real-time OS. FPGA is known for its performance, reconfigurability, small size. Due to parallel processing in FPGA, custom application can be run in silicon with 25 nanosecond timing/triggering resolution. cRIO contains expansion slots to add functionality. Expandable I/O mod- ules includes high-speed I/O, analog I/O, communication, motor driver, and so on. cRIO-9074 is used for this study and specification is shown in Table 8.2. 118 CPU 400 MHz Memory 128 MB + nonvolatile 256 MB FPGA XILINX Spartan-3 (2M gate) For high-speed application Network Two RJ-45 ethernet ports (100 Mbps) For host and extra communication Expansion slots 8 C Series I/O Modules Power 20 W maximum Input voltage range 19 ~ 30 V OS VxWorks Real-time OS For real-time application Dimensions L: 28.97 cm, W:8.73 cm, H: 5.89 cm Table 8.2: cRIO specification Eight I/O modules are installed. High-speed DI module is used to read rotary encoder pulses. High-speed DIO module is used to generate PWM (Pulse Width Mod- ulation) signals to drive motors. Sensors (distance, temperature) are connected to AI module to read voltage. I/O operation such as on-off switching, logic flag between controllers are done with DIO module. cRIO has two 100 Mbps ethernet ports. cRIO is connected with other components in hardware configuration (Fig.8.4). Downloading application developed in host PC and monitoring variables in cRIO are performed via wireless AP and wired ethernet switch using one of the ethernet port in cRIO. TCP/IP is used for communication be- tween host PC and cRIO. The other ethernet port in cRIO is used for accepting data from remote control PC and xPC Target. Joystick data from remote control PC is trans- ferred wirelessly as the same way for host PC and cRIO. Data from xPC target is directly sent to cRIO through wired ethernet switch. Both communications are using UDP/IP and separate ethernet port in cRIO for faster response. 119 Figure 8.4: cRIO connection PWM signals for two motors in power wheelchair are generated using high-speed DIO module in cRIO. These signals enter into motor driver through interface board and test setup is configured as (cRIO! interface board!motor driver). In addition to PWM signals, cRIO generates signals to turn on/off power for motor driver and logic flag for xPC Target. 8.1.5 Sensors AHRS AHRS (Attitude and heading reference system) is the avionic system that measures the attitude (pitch and roll) and trajectory heading for an aircraft [7]. Compared to ARS (Attitude Reference System) which only provides pitch and roll, AHRS measures 120 additional yaw angle. In general, AHRS incorporates rate gyros, accelerometers, mag- netic sensors and filtering algorithm to estimate attitude and orientation. Selected AHRS sensor is UM6 from CHRobotics (details in Appendix). Euler Angle or Quaternion outputs can be selected for angle estimates. UM6 is connected to main controller (xPC Target) with serial communication (115200 bps). Data is transmitted only when specific requests are received over the UART from the main controller. Proposed control algorithm requires measurement of the orientation of power wheelchair. AHRS sensor provides orientation of the power wheelchair with respect to north. Since orientation (yaw angle) is absolute to the north, transformation is applied to obtain orientation relative to the arbitrary initial orientation. Sensor is con- figured to provide attitude (roll and pitch), acceleration and angular rate in addition to orientation. Breakout board and fixture are added to the sensor. Ultrasound sensor Ultrasound sensor is adopted to identify the existence of object in the driving direc- tion. If object is detected in predefined distance, sub-controller (cRIO) will override any command input ( from control algorithm in main controller (xPC Target) or joy- stick in remote control PC) and make the power wheelchair stop for safety. This kind of safety measure is essential for testing algorithm with real system since unexpected maneuver can cause damage of the system or even injury unlike algorithm testing in simulation. Selected ultrasound sensor is MB1340 manufactured by MaxBotix and four sensors are installed around front side. Detectable range is 20 cm ~ 600 cm. Analog voltage is chosen as an interface between ultrasound sensors and sub-controller (see Appendix for other interface option and details on the sensor). 3.3 V is supplied to the sensor and output voltage proportional to the distance (3.2 mV/cm) is connected to AI(Analog Input) module in cRIO. 121 Temperature sensor Temperature sensor is adopted to measure temperature of motors. Generally, motor driver includes over-current protection to prevent physical damage of a motor. Since it is hard to identify how this function is implemented in the built-in motor driver, installation of temperature sensor on the surface of motor enclosure is another simple but effective alternative. Maximum temperature rating varies with different insulation class. Generally, 100 C can be used as a maximum rating. But, temperature in motor core is differ- ent from the enclosure’s temperature. It means temperature of motor core is higher than that of motor enclosure. Therefore, temperature threshold to shut down the motors should be lower than the maximum rating like 60~70 C. Selected temperature sensor is LM35DZ from National Semiconductor (now Texas Instruments). It is integrated-circuit temperature sensor, whose output voltage is linearly proportional to the Celsius (Centigrade) temperature. Brief specification is shown in Table 8.3 (see Appendix for details on the sensor). Output voltage pin is connected to AI module in sub-controller (cRIO). Motor shut- down logic will be triggered when temperature is above the threshold value. Shut- down logic will not be recovered to normal state even after the temperature is below the threshold value. Only recovery action in control panel in host PC can return it to normal state to prevent automatic restart of motors. Scale factor 10.0 mV/˚C Accuracy 0.5˚C (at 25˚C) Operating temperature range 0˚C to 100˚C Table 8.3: Brief specification of temperature sensor 122 IP camera AXIS 206 is adopted to relay video of driving direction (see Appendix for camera specification). This camera is IP based and can be accessed over a local area network or the Internet. As shown in Fig.8.2, Host PC or remote control PC can access IP camera through wireless AP. This video monitoring function allows a user to perform remote control when power wheelchair is out of sight. In addition to assist remote control, camera can expand a field of view of a user especially in case of the physically challenged. RGB-D camera Kinect from Microsoft has gained popularity from a variety of applications such as game, education, augmented reality, robotics, controls despite of its gaming console box nature [71, 35]. Kinect can measure depth by using infrared structured light and image sensor [71]. Depth image size is 640 by 480 (VGA) and frame rate is up to 30 fps. It also includes color image sensor (this is why it’s called RGB-D camera, RGB means color image, D means depth image). This depth information can be used effectively for collision detection. Small form factor PC board (Intel D525MW, mini-itx type) is used to perform Kinect data processing and communication to sub-controller (cRIO). It contains Intel Atom processor (dual-core, 1.8 GHz) and 2GB ram. Since this board is intended to be used not only for Windows Embedded OS but for xPC Target, Intel 82559 compatible PCI type NIC and USB type NIC are added for host and real-time UDP communication in xPC Target. CAN (Controller Area Network) to RS232 converter is added for additional tests. 12 V DC PSU (Power Supply Unit) is employed for integration to battery powered system like power wheelchair. 123 Rotary encoder Rotary encoder (optical incremental type) is adopted to measure angular velocity of the wheel. Conventional power wheelchair is equipped with electromagnetic brake, which is disengaged while moving otherwise engaged all the time. This electromag- netic brake needs to be removed to install rotary encoder. The brake resides in the end of motor axle with which rotary encoder needs to be coupled with. Signal to disen- gage the brake needs to be supplied even after brake detached from the wheelchair. It seems that logic inside existing motor driver prevent wheelchair from moving without the brake disengaging signal. Selected rotary encoder is E6C2-CWZ6C from omron. It’s NPN open-collector out- put type and 500 ppr (pulse per revolution) (see Appen for details). Fixture and cou- pling is fabricated to install rotary encoder on a motor. Encoder output is connected to DAQ card on xPC Target. 8.1.6 Remote controller Nunchuk controller is selected for its compact size and low cost. Since Nunchuk controller is intended to work with Nintendo Wii game console, it needs to be mod- ified to connect to PC. Nunchuk controller is using I2C protocol for communication. Embedded board [29] is programmed to work with Nunchuk controller and commu- nicate with PC via USB. LCD is adopted to show coordinate (x and y) of Nunchuk and button status (on and off). 8.1.7 Power distribution Power wheelchair uses two series-connected 12V battery as its main power source. Each and every hardware component needs power source with appropriate voltage. Schematic diagram of power distribution of the system is shown in Fig.8.5. cRIO 124 has a direct connection to 24 V battery due to its wide range of input voltage. DC- DC PC power supply [57] is used to supply various DC voltages for main board and peripherals. 5V and 12 V can be obtained from the power supply of xPC Target. Interface board is connected to 12 V line of xPC target and DC-DC converters reduce 12 V to 3.3 V and 5 V for sensors, IC chips and etc. Figure 8.5: Power distribution 8.2 Software Configuration 8.2.1 Simulink and xPC Target Simulink [55] is a block diagram based programming environment from Math- works. Simulink includes a comprehensive block library and custom blocks can be 125 created by user. Model can be simulated its dynamic behavior using a choice of math- ematical integration methods. In addition to its model build and simulation capabili- ties, Simulink supports C (C++) code generation from the model. Generated code can be combined with existing code or deployed on embedded systems after compilation with appropriate compiler. Generally, environment for algorithm development and implementation is differ- ent. This difference requires additional work to convert development code into an- other form of executable code on the hardware. After conversion, behavior of the algorithm on the hardware needs to be compared with code in development stage and verified if they are identical or within acceptable discrepancy. One of the benefit of adopting Simulink environment for implementation is that model developed and verified in Simulink can be implemented on the hardware with minimum effort. This feature significantly reduce the time and effort for implementa- tion. Workflow Host PC is used to build Simulink model, compile the model into executable code and download the executable code to xPC Target. Host PC also has functions of data visualization, execution control of the code and parameter tuning. Simulink model needs to be compiled to appropriate form to be run in the xPC Target. C compiler in visual studio 2010 is used to compile the Simulink model to xPC Target executable. Workflow of Simulink and xPC Target is shown in Fig.8.6. As shown in Fig.8.2, host PC and remote control PC are connected to the mobile platform by wireless network. Two different protocols are adopted. TCP/IP is default protocol for communication between host PC and xPC Target. UDP/IP (connectionless and light-weight) is used in main controller and remote control PC to send command to sub-controller. Data and signals in the model can be monitored in the host computer during real-time execution 126 on the xPC Target through the communication channel. In addition to the monitoring, parameters such as controller gains, filter coefficients in the model can be changed on the host side and this changes are reflected on the xPC Target on the fly. Figure 8.6: Operation procedure of xPC Target 127 Code generation Configuration and Monitoring The xPC Target software offers a graphical user interface (GUI) called xPC Target Explorer [56] for configuring the host and target computers and interacting with a target application. The xPC Target Explorer can be used to change properties in the xPC Target envi- ronment such as communication setup between the host and target computers, down- load a model to the xPC Target computers and run the model after the target appli- cation is downloaded to the target computer. Scopes (host, target, file) and signals can be added or removed using the xPC Target Explorer. Additionally, the xPC Target Explorer supports parameter tuning in target application. TCP/IP is used in communication between the host and target computer for the experiment as shown Fig.8.6. xPC Target can be booted by drives like hard drives, USB flash drives or network boot. xpcexplr picture in network setup Signals in the model can be monitored from target or host scopes. Target scopes are working on the target side using the monitor on the target PC. Target scopes can be configured in graph or numerical mode. Host scopes reside in the host side to show signals in the target application. File scopes can be used to save data to a file on the target PC drives. Details on model 8.2.2 cRIO Application for cRIO can be developed with LabVIEW, graphical programming en- vironment from National Instruments. cRIO contains processor for real-time tasks 128 running on real-time OS, FPGA for high-speed and deterministic tasks, and I/O mod- ules. cRIO is configured to deploy real-time and FPGA application. Both application can access I/O modules installed in the chassis. Add-on products are required for programming of real-time and FPGA application (LabVIEW real-time for real-time ap- plication and LabVIEW FPGA for FPGA application). With the help of real-time OS (VxWorks), cRIO can observe sampling rate with precise manner. cRIO can support multiple tasks with different sampling periods. Each task is implemented by timed-loop and priority of the tasks can be assigned. Overall structure of the real-time application is depicted in Fig.8.7. Initializa- tion task will be executed once after boot. Initialization includes PWM reset to stop wheelchair, set manual mode as a start-up mode, and power supply to motor driver. PWM should be reset before supplying power to motor driver to prevent abrupt move- ment. UDP communication is used to receive PWM command from algorithm running on main controller (xPC Target) and joystick on remote control PC. Independent ports are used for each source of PWM command. Measured value from sensors and device status are written to network-published shared variables so that monitoring applica- tion in the host PC can retrieve values in the variables. 129 Figure 8.7: Structure of real-time tasks Various devices including sensors, actuators, communications can be connected to I/O modules. Inside real-time and FPGA applications, I/O modules can be accessed. LabVIEW has network based variable that allows other computers which can be local or remote to read and write the variables in the target (target is hardware running applications, cRIO for this case). Once variable is configured to be read and written across network, this variable in cRIO can be monitored and controlled from other computers. Monitoring application running on the host computer described in the next section is using this mechanism. 8.2.3 LabVIEW based monitoring and control application Measured values from the sensors and devices are monitored and functions are configured in LabVIEW based application in the host computer. Temperature of the motors and distance from ultrasound sensors in the cRIO are monitored. Alarm and 130 trigger are also shown and configured. In addition to reading measurement from sensors, PWM values for the motors are monitored. Wheelchair can be halted by emergency stop button. Mode of operation can be selected in the application. In automatic mode, PWM command for both motors are controlled by algorithm in the main controller (xPC Target). PWM command are controlled by remote control PC in manual mode. PWM command from xPC Target and remote control PC are transferred to cRIO using UDP packets in wireless connection. In manual mode, xPC Target is not sending PWM command packet to cRIO to prevent excessive network usage. 8.2.4 Collision detection using RGB-D camera Foot print and boot time of Windows Embedded OS can be reduced by configu- ration capability which allows removal of unnecessary services and functions during build process. LabVIEW from National Instruments, Microsoft Kinect driver and library is deployed to implement collision detection. Kinect and small form factor PC board are deployed to implement RGB-D based collision detection. Since depth image obtained from the camera contains real distance to the object, collision detection can be identified. Each pixel represents distance to the object in mm order. Collision can be checked by using entire pixels (one frame of image) or specific rows or columns. In this particular application, area of image corresponding to the height of seat is used to detect collision detection. If distance is above the specified level(threshold), following routine is triggered. UDP packet is sent from the small form factor PC board to cRIO to notify collision and variable inside sub-controller(cRIO) is changed to stop the wheelchair. Since triggered algorithm is programmed in the cRIO, logic can be changed instead of stopping the wheelchair. 131 8.3 Velocity estimation Acceleration data from the AHRS contains high frequency components. Since nu- merical integration is used for velocity estimation, factors that affect estimation such as high frequency component and offset (constant value) should be handled with ap- propriate way. 8.3.1 Filter for acceleration High frequency components introduced in numerical integration cause deviation of estimated velocity. Vibration generated during normal motion of wheelchair can have a contribution to high frequency and these components needs to be eliminated to estimate reasonable velocity. In general, moving average [65] and low pass filter are used to filter acceleration signal. Digital lowpass filter is designed using fdatool in MATLAB. Elliptic (IIR) and Equiripple (FIR) design method are tried. The first elliptic filter is 3-order with 10 Hz of passband edge frequency and 40 dB of attenuation. The second elliptic filter is 6-order with 2.5 Hz of passband edge frequency and 60 dB of attenuation. Equiripple filter is 30-order with 0.35 Hz of passband edge frequency and 10 Hz of bandstop edge frequency. 200 Hz of sampling frequency is applied to all filters. Order and depth of attenuation need to be adjusted for allowable delay. Magnitude response of each filter is shown in Fig.8.8, 8.9, 8.10, respectively. 132 0 10 20 30 40 50 60 70 80 90 −70 −60 −50 −40 −30 −20 −10 0 Frequency (Hz) Magnitude (dB) Magnitude Response (dB) Figure 8.8: Magnitude response of the second lowpass elliptic filter 0 10 20 30 40 50 60 70 80 90 −70 −60 −50 −40 −30 −20 −10 0 Frequency (Hz) Magnitude (dB) Magnitude Response (dB) Figure 8.9: Magnitude response of the first lowpass elliptic filter 133 0 10 20 30 40 50 60 70 80 90 −70 −60 −50 −40 −30 −20 −10 0 Frequency (Hz) Magnitude (dB) Magnitude Response (dB) Figure 8.10: Magnitude response of the lowpass equiripple filter Designed filters are exported to SIMULINK block and integrated into SIMULINK model (Fig.8.11). After compilation, filters run on the main controller (xPC Target) with 200 Hz of sampling rate. Each filter is tested on xPC Target with AHRS sensor. As shown in Fig.8.12, equiripple lowpass filter shows little more delay and lower peak than elliptic lowpass filter. Although both filters appear to be different in acceleration, their velocity by numerical integration are similar with delay. The second elliptic low- pass filter with 2.5 Hz of bandpass edge frequency shows significant delay and does not follow peaks in the acceleration. On the other hand, the first elliptic lowpass fil- ter has better peak tracking with high frequency attenuation. Velocity derived from the acceleration by numerical integration shows much difference (Fig.8.15). Elliptic lowpass filter with 10 Hz of stopband edge frequency is adopted after validation tests. 134 Figure 8.11: Simulink diagram of AHRS part 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 −0.15 −0.1 −0.05 0 0.05 0.1 0.15 0.2 0.25 Time (sec) Acceleration (g) raw equiripple 0.35/10 Hz elliptic 10 Hz Figure 8.12: Comparison of equiripple (FIR) and elliptic (IIR) filters for acceleration 135 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 −0.2 −0.1 0 0.1 0.2 0.3 0.4 0.5 Time (sec) Velocity (m/s) Equiripple 0.35/10 Hz Elliptic 10 Hz Figure 8.13: Comparison of equiripple (FIR) and elliptic (IIR) filters for velocity 0 1 2 3 4 5 6 −0.08 −0.06 −0.04 −0.02 0 0.02 0.04 0.06 0.08 0.1 Time (sec) Acceleration (g) raw elliptic 2.5 Hz elliptic 10 Hz Figure 8.14: Comparison of two elliptic (IIR) filters for acceleration 136 0 1 2 3 4 5 6 −0.1 −0.05 0 0.05 0.1 0.15 Time (sec) Velocity (m/s) elliptic 2.5 Hz elliptic 10 Hz Figure 8.15: Comparison of two elliptic (IIR) filters for velocity 8.3.2 Offset compensation and Window In order to compensate initial offset of the sensor, 200 samples (1 sec) of accel- eration data are averaged to find initial offset. Then initial offset is subtracted from the acceleration data. Window is used to suppress tiny acceleration by treating it zero acceleration. 137 8.3.3 Gravity compensation × X b Z b a g Figure 8.16: acceleration offset by gravity Acceleration measured from the accelerometer is affected by constant acceleration known as gravity. The effect of the constant acceleration can not be ignored when integration is used to obtain velocity from the acceleration. Even small constant accel- eration can result in high velocity by integration over time. Controller designed in this study requires linear velocity (X b -direction in Fig.8.16) of the mobile platform. Linear velocity of the platform is affected by the gravity as shown in Fig. 8.16. Accelera- tion by gravity acts on theZ b -direction and depicted asa g . If accelerometer is exactly aligned with platform (body frame), in other words, zero pitch angle, acceleration by gravity has no effect on the acceleration inX s -direction. Acceleration offset by gravity is not included in the measurement. However, any misalignment during installation or pitch angle during maneuver allows gravity to contribute offset in measurement of linear velocity. This constant acceleration can be decomposed into two components 138 (a Xs in X s -direction and a Zs in Z s -direction). Acceleration due to gravity with the assumption of no motion inX b -direction can be written as follows. a Xs =a g sin (8.1) It is easy to see that the effect of gravity will be vanished with zero pitch angle. This offset needs to be compensated from the measured acceleration (a Xs ). In addition to the gravity, motion of X b -direction will have a direct effect on the a Xs . As shown in Fig. 8.17, acceleration in X b -direction is decomposed into two components(a Xs anda Zs ) with non-zero pitch angle. If accelerometer is aligned with body frame (zero pitch angle), acceleration introduced by motion inX b -direction will be the same as the measurement. a Xs =a Xb cos (8.2) × X b Z b a X b Figure 8.17: acceleration offset by motion 139 Acceleration in X b -direction (a Xb ) with gravity compensation can be represented as follows. a Xb = (a Xs a g sin) cos (8.3) 8.3.4 Filter for angular velocity FFT of angular velocity from gyro sensor is obtained to identify frequency spectrum. As shown in Fig.8.18, most of the frequency components reside in 20 Hz. According to the FFT analysis, elliptic IIR filter is designed as shown in Fig.8.19. 0 10 20 30 40 50 60 70 80 90 100 0 5 10 15 20 25 30 35 Frequency (Hz) |Y(f)| Figure 8.18: FFT of angular velocity from gyro 140 0 10 20 30 40 50 60 70 80 90 −70 −60 −50 −40 −30 −20 −10 0 Frequency (Hz) Magnitude (dB) Magnitude Response (dB) Figure 8.19: Magnitude response of the filter 141 Chapter 9 Experiment Experiment is carried out at Rehab Engineering Lab in LAREI. Basic motions, which compose complicated trajectory, are tried. Straight motion with constant linear veloc- ity and zero angular velocity and turning motion with constant linear and angular velocity are performed. 9.1 Constant linear velocity Response of straight motion with 0.2 m/s reference is shown in Fig.9.1. Mobile platform reaches desired velocity within 4 second and maintains with maximum error of 0.04 m/s. 0 1 2 3 4 5 6 7 8 −0.1 0 0.1 0.2 0.3 Linear Velocity Time (sec) Velocity (m/s) 0 1 2 3 4 5 6 7 8 −5 0 5 Angular Velocity Time (sec) Velocity (deg/s) Figure 9.1: Velocity for 0.2 m/s reference 142 0 1 2 3 4 5 6 7 8 −0.1 0 0.1 0.2 0.3 Linear Velocity Error Time (sec) Velocity (m/s) 0 1 2 3 4 5 6 7 8 −5 0 5 Angular Velocity Error Time (sec) Velocity (deg/s) Figure 9.2: Velocity error for 0.2 m/s reference PWM outputs of both wheels are almost identical to produce straight motion. 0 1 2 3 4 5 6 7 8 40 41 42 43 44 45 46 47 PWM Output Time (sec) PWM Right Left Figure 9.3: PWM output for 0.2 m/s reference 143 9.2 Constant Angular velocity Response of turning motion with 0.2 m/s reference for linear velocity and 20 /s for angular velocity is shown in Fig.9.4. Due to space limit of the lab, mobile platform is made stopped before it reaches steady-state. However, response is expected not to be destabilized from the trend of error curve. 0 0.5 1 1.5 2 2.5 3 3.5 4 0 0.02 0.04 0.06 0.08 0.1 Linear Velocity Time (sec) Velocity (m/s) 0 0.5 1 1.5 2 2.5 3 3.5 4 0 2 4 6 8 10 12 Angular Velocity Time (sec) Velocity (deg/s) Figure 9.4: Velocity for 0.2 m/s, 20 /s reference 144 0 0.5 1 1.5 2 2.5 3 3.5 4 0.1 0.12 0.14 0.16 0.18 0.2 Linear Velocity Error Time (sec) Velocity (m/s) 0 0.5 1 1.5 2 2.5 3 3.5 4 8 10 12 14 16 18 20 Angular Velocity Error Time (sec) Velocity (deg/s) Figure 9.5: Velocity error for 0.2 m/s, 20 /s reference PWM outputs of both wheels shows difference in velocity to make turning motion. Note that PWM output of 50 makes mobile platform stop ( PWM < 50 for forward and PWM > 50 for backward). 0 0.5 1 1.5 2 2.5 3 3.5 4 34 36 38 40 42 44 46 PWM Output Time (sec) PWM Right Left Figure 9.6: PWM output for 0.2 m/s, 20 /s reference 145 Chapter 10 Conclusions In this dissertation, modeling of two-wheel mobile platform, backstepping based controller design and implementation are presented. Two cases, non-slipping and slipping, are investigated. In the nonslipping case, nonholonomic constraints (no lateral motion and pure rolling) are embedded into the equations of motion. In addition to nonholonomic constraint, equations of motion with Lugre dynamic friction model is derived for the slipping case. Two Backstepping based tracking controllers are developed for nonslipping dy- namic model. Regular backstepping controller and backstepping controller combined with robust term to deal with varying parameters are designed. Lyapunov’s stability theory is used to prove the stability of designed controller. For slipping case, backstepping based controller and sliding mode combined back- stepping controller are developed. Stability of both controllers are verified by Lya- punov’s stability theory. In addition to tracking capability, point stabilization is achieved in specific destination postures. Bezier curve combined with cubic spline velocity profile is considered for trajec- tory generation. Numerical integration approach for arc length parameterization is adopted to control segment length in Bezier curve. Curvature is also included into trajectory generation to adjust acceleration and deceleration for riding comfort and safety. Mobile platform based on commercial power wheelchair is implemented. Hard- ware components (Real-time controllers, Sensors, Power modules, Network devices) 146 and software components (MATALB, SIMULINK, LabVIEW) are integrated and func- tions such as remote control, monitoring in the host PC are developed. Proposed controllers are implemented on the real-time controller and extensive test was con- ducted. 10.1 Future Research 10.1.1 Additional experiment Tracking test with arbitrary trajectory and outside experiment is recommended to test proposed controller and functionality of the developed platform. 10.1.2 Implementation and test of another control algorithm Since two-wheel mobile platform is implemented, another control algorithm can be deployed by replacing algorithm block in Simulink diagram. Various algorithms can be implemented and compared. 10.1.3 RGB-D camera based navigation RGB-D camera can be employed to implement navigation using depth information. 10.1.4 Adoption of GPS for localization in outdoor GPS can be used to locate mobile platform and provide position of the platform. Differential GPS can be considered for precise position. 147 Bibliography [1] Armstrong-Hélouvry, B., Dupont P., & Canudas De Wit, C. (1994). A survey of models, analysis tools and compensation methods for the control of machines with friction. Automatica, 30(7), 1083-1138. [2] Armstrong-Hélouvry, B. (1991). Control of Machines with Friction. Boston, Ma: Kluwer Academic Publishers [3] Bakker, E., Nyborg, L., & Pacejka, H. B. (1987). Tyre Modeling for Use in Vehicle Dynamics Studies: Society of Automotive Engineers. [4] Barraquand, J., & Latombe, J. C. (1989). On nonholonomic mobile robots and optimal maneuvering. Proceedings of IEEE International Symposium on Intelli- gent Control, 340-347. [5] Bartels, R. H., Beatty, J. C., & Barsky, B. A. (1986). An Introduction to Splines for use in Computer Graphics and Geometric Modeling. Los Altos, California: Morgan Ksufmann Publishers. [6] Beatty, M. F. (2006). Dynamics-The Analysis of Motion. Springer. [7] Bekir, E. (2007). Introduction to Modern Navigation System. World Scientific Publishing Co. Pte. Ltd. [8] Bloch, A. M. Bloch, Reyhanoglu, M., & McClamroch, N. H. (1992). Control and Stabilization of Nonholonomic Dynamic Systems. IEEE Transactions on Auto- matic Control, 37(11), 1746-1757. [9] Bo, L. C., & Pavelescu, D. (1982). The friction–speed relation and its influence on the critical velocity of the stick-slip motion. Wear, 82(3), 277–289. [10] Brockett, R. W, Millman, R. S., & Sussman, H. J. (1983). Asymptotic stability and feedback stabilization (in Differential Geometric Control Theory), 181-191. 148 [11] Bullo, F., & Fujimoto, K. (2006). Lagrangian and Hamiltonian methods for non- linear control. Proceedings from the 3rd IFAC workshop, Nagoya, Japan. [12] Buss, S. R. (2003). 3D Computer Graphics A Mathematical Introduction with OpenGL, Cambridge:Cambridge University Press. [13] Campion, G., d’Andrea-Novel, B., & Bastin, G. (1991). Controllability and state feedback stabilizability of non holonomic mechanical systems, Advanced Robot Control, Lecture Notes in Control and Information Sciences. [14] Canudas de Wit, C., Olsson, H., Astrom, K. J., & Lischinsky, P. (1995). A new model for control of systems with friction. IEEE Transactions on Automatic Con- trol, 40(3), 419-425. [15] Canudas de Wit, C., & Tsiotras, P. (1999). Dynamic tire friction models for ve- hicle traction control. Proceedings of the 38th IEEE Conference on Decision and Control, 4, 3746-3751. [16] Canudas-de-Wit, C., & Horowitz, R. (1999). Observers for tire/road contact fric- tion using only wheel angular velocity information. Proceedings of the 38th IEEE Conference on Decision and Control, 4, 3932-3937. [17] Canudas de Wit, C., Khennouf, H., Samson, C., & Sordalen, O. J. (1993). Nonlin- ear control design for mobile robots in Recent Trends in Mobile Robotics. World Scientific Series in Robotics and Automated Systems, 11, 121-156. [18] Canudas-de-Wit, C., Petersen, M. L., & Shiriaev, A. (2003). A new nonlinear ob- server for tire/road distributed contact friction. Proceedings of 42nd IEEE Con- ference on Decision and Control, 3, 2246- 2251. [19] Chen, M., Wang, W., Li, I., & Su, S. (2007). Dynamic slip ratio estimation and control of antilock braking systems considering wheel angular velocity. IEEE In- ternational Conference on Systems, Man and Cybernetics, 3282-3287. [20] Choi, J., Curry, R. E., & Elkaim, G. H. (2009). Obstacle Avoiding Real-Time Tra- jectory Generation and Control of Omnidirectional Vehicles, 2009 American Con- trol Conference Hyatt Regency Riverfront, St. Louis, MO, USA June 10-12 [21] Chung, W. (2004). Nonholonomic Manipulators, Springer. [22] Corradini, M. L., Leo, T., & Orlando, G. (2002). Experimental Testing of a Discrete-Time Sliding Mode Controller for Trajectory Tracking of a Wheeled Mo- bile Robot in the Presence of Skidding Effects. Journal of Robotic Systems, 19(4), 177–188. 149 [23] Coulaud, J. B., Campion, G., Bastin, G., & De Wan, M. (2006). Stability analysis of a vision-based control design for an autonomous mobile robot. IEEE Transac- tions on Robotics, 22(5), 1062-1069. [24] Dahl, P. R. (1968). A Solid Friction Model, Technical Report TOR- 0158(3107–18)-1, El Segundo, CA:The Aerospace Corporation. [25] Encarnacao, P., & Pascoal, A. (2002). Combined Trajectory Tracking and Path Fol- lowing Control for Dynamic Wheeled Mobile Robots. IFAC 15th Triennial World Congress, Barcelona, Spain. [26] Fang, H., Lenain, R., Thuilot, B., & Martinet, P. (2005). Trajectory tracking con- trol of farm vehicles in presence of sliding. IEEE/RSJ International Conference on Intelligent Robots and Systems, 58- 63. [27] Fierro, R., & Lewis, F. L. (1997). Control of a Nonholonomic Mobile Robot: Back- stepping Kinematics into Dynamics. Journal of Robotic Systems, 149-163. [28] Gao, W., & Hung J. C. (1993). Variable Structure Control of Nonlinear Systems: A New Approach. IEEE Transactions on Industrial Electronics, 40(1). [29] GHI Electronics. (2001). FEZ Panda II Board User Manual. Retrived from http://www.ghielectronics.com/catalog/product/256 [30] Gonzalez, R., Rodriguez, F., Guzman, J. L., & Berenguel M. (2009). Localization and Control of Tracked Mobile Robots under Slip Conditions. Proceedings of the 2009 IEEE International Conference on Mechatronics, Malaga, Spain. [31] Greenwood, D. T. (1977). Classical dynamics. Englewood Cliffs, NJ:Prentice- Hall. [32] Greenwood, D. T. (1988). Principles of dynamics, 2nd edition. Prentice-Hall. [33] Haessig, D. A., & Friedland, B. (1991). On the Modeling and Simulation of Fric- tion. ASME Journal of Dynamic Systems, Measurement, and Control, 113, 354- 362. [34] Hao, F., Lenain, R., Thuilot, B., & Martinet, P. (2004). Sliding Mode Control of Automatic Guidance of Farm Vehicles in the Presence of Sliding. The 4th Inter- national Symposium on Robotics and Automation, Queretaro, Mexico, 582-587. [35] Henry, P., Krainin, M., Herbst, E., Ren, X., & Fox, D. (2012). RGB-D mapping: Using Kinect-style depth cameras for dense 3D modeling of indoor environments. The International Journal of Robotics Research online. [36] ISO, Mechanical vibration and shock evaluation of human exposure to whole body vibration - part 1: General requirements, ISO 2631-1. 150 [37] Jiang, Z., & Nijmeijer, H. (1999). A recursive technique for tracking control of nonholonomic systems in chained form. IEEE Transactions on Automatic Control, 44(2), 265-279. [38] Jingang, Y., Alvarez, L., Claeys, X., Horowitz, R., & Canudas de Wit, C. (2001). Emergency braking control with an observer-based dynamic tire/road friction model and wheel angular velocity information. Proceedings of the American Control Conference, 1, 19-24. [39] Johanastrom, K., & Canudas-de-Wit, C. (2008). Revisiting the LuGre friction model. IEEE Control Systems Magazine, , 28(6), 101-114. [40] Jolly, K.G., Kumara, S., & Vijayakumar R. (2009). A Bezier curve based path planning in a multi-agent robot soccer system without violating the acceleration limits. Robotics and Autonomous Systems, 57, 23–33. [41] Kanayama, Y., Kimura, Y., Miyazaki, F., & Noguchi, T. (1990). A stable tracking control method for an autonomous mobile robot. IEEE International Conference on Robotics and Automation, 384-389. [42] Karnopp, D. C., & Margolis D. L. (2008). Engineering Application of Dynamics, John Wiley & Sons, Inc. [43] Karnopp, D. (1985). Computer simulation of slip-stick friction in mechanical dynamic systems. Journal of Dynamic Systems, Measurement, and Control, 100–103. [44] Kennedy, C. W., & Desai, J. P. (2003). Estimation and modeling of the harmonic drive transmission in the Mitsubishi PA-IO robot arm. Proceedings of the 2003 IEEERSI Intl. Conference on Intelligent Robots and Systems, Las Vegas, Nevada. [45] Khalil, H. K. (2002). Nonlinear Systems (3rd Ed.). Upper-Saddle River, NJ:Prentice-Hall. [46] Kircanski, N., Goldenberg, A. A., & Jia, S. (1994). An Experimental Study of Nonlinear Stiffness, Hysteresis, and Friction Effects in Robot Joints with Har- monic Drives and Torque. Experimental Robotics III, Lecture Notes in Control and Information Sciences, 200, 326-340. [47] Kolmanovsky, I., Reyhanoglu, M., & McClamroch, N. H. (1996). Switched mode feedback control laws for nonholonomic systems in extended power form. Sys- tems & Control Letters, 27(1), 29-36. [48] Kolmanovsky, I., McClamroch, N. H. (1995). Developments in nonholonomic control problems. IEEE Control Systems Magazine, 15(6), 20-36. 151 [49] LeBel, S., & Rodrigues, L. (2007). Path Following of a Wheeled Mobile Robot Combining Piecewise-Affine Synthesis and Backstepping Approaches. American Control Conference, 4518-4523. [50] Lee, D. (2007). Passivity-Based Switching Control for Stabilization of Wheeled Mobile Robots. Proceedings of Robotics Science and Systems. [51] Low, C. B., & Wang, D. (2008). GPS-Based Path Following Control for a Car- Like Wheeled Mobile Robot With Skidding and Slipping. IEEE Transactions on Control Systems Technology, 16(2), 340-347. [52] Low, C. B., & Wang, D. (2008). GPS-Based Tracking Control for a Car-Like Wheeled Mobile Robot With Skidding and Slipping. IEEE/ASME Transactions on Mechatronics, 13(4), 480-484. [53] Ma, Y., Kosecka, J., & Sastry, S.S. (1999). Vision guided navigation for a non- holonomic mobile robot. IEEE Transactions on Robotics and Automation, 15(3), 521-536. [54] Madi, M. (2004). Closed-form expressions for the approximation of arclength pa- rameterization for Bezier curves. Int. J. Appl. Math. Comput. Sci. 14(1), 33–41. [55] Mathworks. (2012). Simulink User Guide. Retrived from http://www.mathworks.com/help/toolbox/simulink/ [56] Mathworks. (2012). xPC Target User Guide. Retrived from http://www.mathworks.com/help/pdf_doc/xpc/xpc_target_ug.pdf [57] Mini-Box. (2010). Installation Guide. Retrived from http://resources.mini- box.com/online/PWR-M4-ATX/PWR-M4-ATX-manual.pdf. [58] Mnif, F. (2004). Recursive backstepping stabilization of a wheeled mobile robot. First International Symposium on Control, Communications and Signal Process- ing, 135-139. [59] National Instruments. (2012). NI CompactRIO - Recon- figurable Control and Acquisition System. Retrived from http://zone.ni.com/devzone/cda/tut/p/id/2856. [60] Olsson, H., Aström, K. J., Canudas de Wit, C., Gäfvert M. & Lischinsky, P. (1998). Friction Models and Friction Compensation. European Journal of Control, 4, 176- 195. [61] Patel, N., Edwards, C., & Spurgeon, S.K. (2006). A sliding mode observer for tyre friction estimation during braking. American Control Conference. 152 [62] Ramberg, W. & Osgood, W. R. (1943). Description of stress-strain curves by three parameters. Tech. Note 902, National Advisory Committee for Aeronau- tics, Washington. [63] Sabanovic, A., Fridman L. M., & Spurgeon S. (2004). Variable Structure Systems: from Principles to Implementation. The Institution of Electrical Engineers. [64] Sarkar, N., & Yun, X. (1994). Control of Mechanical Systems with Rolling Con- straints: Application to Dynamic Control of Mobile Robots. The International Journal of Robotics Research, 13, 55-69. [65] Seifert, K., & Camacho, O. (2007). Implementing Positioning Algorithms Using Accelerometers. Application Note (AN3397), Freescale Semiconductor. [66] Shim, H., Kim, J., & Koh, K. (1995). Variable structure control of nonholonomic wheeled mobile robot. Proceedings of IEEE International Conference on Robotics and Automation, 2, 1694-1699. [67] Slotine, J. E., & Li, W. (1991). Applied Nonlinear Control. Prentice-Hall. [68] Sordalen, O. J., Canudas de Wit, C. (1993). Exponential Control Law for a Mobile Robot: Extension to Path Following. IEEE Transactions on Robotics and Automa- tion, 9, 837-842. [69] Spong, M. W., & Vidyasagar, M. (1989). Robot Dynamics and Control. John Wiley & Sons, Inc. [70] Spong, M. W, Hutchinson, S., & Vidyasagar, M. (2006). Robot Modeling and Control. John Wiley & Sons. [71] Stowers, J., Hayes, M., & Bainbridge-Smith A. (2011). Quadrotor Helicopter Flight Control Using Hough Transform and Depth Map from a Microsoft Kinect Sensor. MVA2011 IAPR Conference on Machine Vision Applications, June 13-15, 2011, Nara, Japan. [72] Su, C., & Stepanenko, Y. (1994). Adaptive Control of a Class of Nonlinear Sys- tems with Fuzzy Logic. IEEE Transactions on Fuzzy Systems, 2(4), 285-294. [73] Sumbatov, A. S. (2002). Nonholonomic Systems, Regular and Chaotic Dynamics. 7(2). [74] Tusti, S. (1947). The effects of backlash and of speed-dependent friction on the stability of closedcycle control systems. Journal of the Institution of Electrical Engineers Part1 General, 94, 143–151. [75] Utkin, V., Guldner, J., & Shi, J. (2009). Sliding Mode Control in Electro- Mechanical Systems (2nd Ed.), CRC Press. 153 [76] Yang, J., & Kim J. (1999). Sliding mode control for trajectory tracking of non- holonomic wheeled mobile robots. IEEE Transactions on Robotics and Automa- tion, 15(3), 578-587. [77] Yi, J., Alvarez, L., Horowitz, R., & de Wit, C. C. (2000). Adaptive emergency braking control using a dynamic tire/road friction model. Proceedings of the 39th IEEE Conference on Decision and Control, 1, 456-461. [78] Yoo, S. J. (2010). Adaptive tracking control for a class of wheeled mobile robots with unknown skidding and slipping. IET Control Theory & Applications, 4(10), 2109-2119. [79] Zhang, Y., Chung, J. H., & Velinsky S. A. (2003). Variable structrue control of a differentially steered wheeled mobile robot. Jounal of Intellignet and Robotic Systems, 36, 301-314. [80] Zhao, W., Hu, Y., & Wang, L. (2009). Leader-following Formation Control of Multiple Vision-based Autonomous Robotic Fish. Joint 48th IEEE Conference on Decision and Control and 28th Chinese Control Conference Shanghai, P.R. China. [81] Zhou, Q., Ai, Y., & Bao, H. (2003). A hybrid vehicle model for advanced cruise control. Proceedings of IEEE Intelligent Transportation Systems, 2, 1165- 1170. 154 Appendix Hardware References and Datasheets FET driver excerpt http://www.intersil.com/data/fn/fn3676.pdf AHRS sensor excerpt http://www.chrobotics.com/docs/UM6_datasheet.pdf Ultrasound sensor whole http://www.maxbotix.com/documents/MB1240-MB1340_Datasheet.pdf Temperature sensor excerpt http://www.ti.com/lit/ds/symlink/lm35.pdf IP camera excerpt http://www.axis.com/files/datasheet/ds_206_33168_en_0904_lo.pdf Encoder excerpt http://www.ia.omron.com/data_pdf/data_sheet/e6c2-c_ds_csm493.pdf Table 10.1: Datasheets source 155 1 ® 80V, 1.25A Peak Current H-Bridge FET Driver The HIP4082 is a medium frequency, medium voltage H-Bridge N-Channel MOSFET driver IC, available in 16 lead plastic SOIC (N) and DIP packages. Specifically targeted for PWM motor control and UPS applications, bridge based designs are made simple and flexible with the HIP4082 H-bridge driver. With operation up to 80V, the device is best suited to applications of moderate power levels. Similar to the HIP4081, it has a flexible input protocol for driving every possible switch combination except those which would cause a shoot-through condition. The HIP4082’s reduced drive current allows smaller packaging and it has a much wider range of programmable dead times (0.1 to 4.5 µs) making it ideal for switching frequencies up to 200kHz. The HIP4082 does not contain an internal charge pump, but does incorporate non-latching level-shift translation control of the upper drive circuits. This set of features and specifications is optimized for applications where size and cost are important. For applications needing higher drive capability the HIP4080A and HIP4081A are recommended. Features • Independently Drives 4 N-Channel FET in Half Bridge or Full Bridge Configurations • Bootstrap Supply Max Voltage to 95VDC • Drives 1000pF Load in Free Air at 50°C with Rise and Fall Times of Typically 15ns • User-Programmable Dead Time (0.1 to 4.5 µs) • DIS (Disable) Overrides Input Control and Refreshes Bootstrap Capacitor when Pulled Low • Input Logic Thresholds Compatible with 5V to 15V Logic Levels • Shoot-Through Protection • Undervoltage Protection • Pb-Free Plus Anneal Available (RoHS Compliant) Applications • UPS Systems • DC Motor Controls • Full Bridge Power Supplies • Switching Power Amplifiers • Noise Cancellation Systems • Battery Powered Vehicles • Peripherals • Medium/Large Voice Coil Motors • Related Literature - TB363, Guidelines for Handling and Processing Moisture Sensitive Surface Mount Devices (SMDs) Pinout HIP4082 (PDIP, SOIC) TOP VIEW Ordering Information PART NUMBER PART MARKING TEMP. RANGE (°C) PACKAGE PKG. DWG . # HIP4082IB* HIP4082IB -55 to +125 16 Ld SOIC (N) M16.15 HIP4082IBZ* (Note) 4082IBZ -55 to +125 16 Ld SOIC (N) (Pb-free) M16.15 HIP4082IP HIP4082IP -55 to +125 16 Ld PDIP E16.3 HIP4082IPZ (Note) HIP4082IPZ -55 to +125 16 Ld PDIP** (Pb-free) E16.3 *Add “-T” suffix for tape and reel. NOTE: Intersil Pb-free plus anneal products employ special Pb-free material sets; molding compounds/die attach materials and 100% matte tin plate termination finish, which are RoHS compliant and compatible with both SnPb and Pb-free soldering operations. Intersil Pb-free products are MSL classified at Pb-free peak reflow temperatures that meet or exceed the Pb-free requirements of IPC/ JEDEC J STD-020. **Pb-free PDIPs can be used for through hole wave solder processing only. They are not intended for use in Reflow solder processing applications. 14 15 16 9 13 12 11 10 1 2 3 4 5 7 6 8 BHB BHI BLI ALI DEL V SS DIS AHI BHO BLO ALO V DD AHS AHO AHB BHS January 3, 2006 HIP4082 Data Sheet FN3676.4 CAUTION: These devices are sensitive to electrostatic discharge; follow proper IC Handling Procedures. 1-888-INTERSIL or 1-888-468-3774 | Intersil (and design) is a registered trademark of Intersil Americas Inc. Copyright Harris Corporation 1995. Copyright Intersil Americas Inc. 2003-2006. All Rights Reserved All other trademarks mentioned are the property of their respective owners. 156 3 FN3676.4 January 3, 2006 Typical Application (PWM Mode Switching) 80V 12V 12V DIS GND GND TO OPTIONAL CURRENT CONTROLLER OR PWM LOAD INPUT + - 14 15 16 9 13 12 11 10 1 2 3 4 5 7 6 8 BHB BHI BLI ALI DEL V SS DIS AHI BHO BLO ALO V DD AHS AHO AHB BHS OVERCURRENT LATCH R DIS DELAY RESISTOR FROM OPTIONAL OVERCURRENT LATCH R SH HIP4082 157 4 FN3676.4 January 3, 2006 Absolute Maximum Ratings Thermal Information Supply Voltage, V DD . . . . . . . . . . . . . . . . . . . . . . . . . . . -0.3V to 16V Logic I/O Voltages . . . . . . . . . . . . . . . . . . . . . . . -0.3V to V DD +0.3V Voltage on AHS, BHS . . . . . -6V (Transient) to 80V (25°C to 150°C) Voltage on AHS, BHS . . . . . -6V (Transient) to 70V (-55°C to150°C) Voltage on AHB, BHB . . . . . . . . V AHS, BHS -0.3V to V AHS, BHS +V DD Voltage on ALO, BLO. . . . . . . . . . . . . . . . . . V SS -0.3V to V DD +0.3V Voltage on AHO, BHO . . . V AHS, BHS -0.3V to V AHB, BHB +0.3V Input Current, DEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -5mA to 0mA Phase Slew Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20V/ns NOTE: All voltages are relative V SS unless otherwise specified. Thermal Resistance θ JA (°C/W) SOIC Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 DIP Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Maximum Power Dissipation. . . . . . . . . . . . . . . . . . . . . . . . See Curve Storage Temperature Range . . . . . . . . . . . . . . . . . .-65°C to +150°C Operating Max. Junction Temperature. . . . . . . . . . . . . . . . . . +150°C Lead Temperature (Soldering 10s) . . . . . . . . . . . . . . . . . . . . +300°C (For SOIC - Lead Tips Only)) Operating Conditions Supply Voltage, V DD . . . . . . . . . . . . . . . . . . . . . . . . . +8.5V to +15V Voltage on V SS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -1.0V to +1.0V Voltage on AHB, BHB . . . . . . . .V AHS, BHS +7.5V to V AHS, BHS +V DD Input Current, DEL . . . . . . . . . . . . . . . . . . . . . . . . . -4mA to -100 µA CAUTION: Stresses above those listed in “Absolute Maximum Ratings” may cause permanent damage to the device. This is a stress only rating and operation of the device at these or any other conditions above those indicated in the operational sections of this specification is not implied. Electrical Specifications V DD = V AHB = V BHB = 12V, V SS = V AHS = V BHS = 0V, R DEL = 100K PARAMETER SYMBOL TEST CONDITIONS T J = +25°C T J = -55°C TO +150°C UNITS MIN TYP MAX MIN MAX SUPPLY CURRENTS & UNDER VOLTAGE PROTECTION V DD Quiescent Current I DD All inputs = 0V, R DEL = 100K 1.2 2.3 3.5 0.85 4 mA All inputs = 0V, R DEL = 10K 2.2 4.0 5.5 1.9 6.0 mA V DD Operating Current I DDO f = 50kHz, no load 1.5 2.6 4.0 1.1 4.2 mA 50kHz, no load, R DEL = 10k Ω 2.5 4.0 6.4 2.1 6.6 mA AHB, BHB Off Quiescent Current I AHBL , I BHBL AHI = BHI = 0V 0.5 1.0 1.5 0.4 1.6 mA AHB, BHB On Quiescent Current I AHBH , I BHBH AHI = BHI = V DD 65 145 240 40 250 µA AHB, BHB Operating Current I AHBO , I BHBO f = 50kHz, CL = 1000pF .65 1.1 1.8 .45 2.0 mA AHS, BHS Leakage Current I HLK V AHS = V BHS = 80V V AHB = V BHB = 96 V DD = Not Connected -- 1.0 - - µA V DD Rising Undervoltage Threshold V DDUV+ 6.8 7.6 8.25 6.5 8.5 V V DD Falling Undervoltage Threshold V DDUV- 6.5 7.1 7.8 6.25 8.1 V Undervoltage Hysteresis UVHYS 0.17 0.4 0.75 0.15 0.90 V AHB, BHB Undervoltage Threshold VHBUV Referenced to AHS & BHS 5 6.0 7 4.5 7.5 V INPUT PINS: ALI, BLI, AHI, BHI, & DIS Low Level Input Voltage V IL Full Operating Conditions - - 1.0 - 0.8 V High Level Input Voltage V IH Full Operating Conditions 2.5 - - 2.7 V Input Voltage Hysteresis -35- - - mV Low Level Input Current I IL V IN = 0V, Full Operating Conditions -145 -100 -60 -150 -50 µA High Level Input Current I IH V IN = 5V, Full Operating Conditions -1 - +1 -10 +10 µA TURN-ON DELAY PIN DEL Dead Time T DEAD R DEL = 100K 2.5 4.5 8.0 2.0 8.5 µs R DEL = 10K 0.27 0.5 0.75 0.2 0.85 µs HIP4082 158 5 FN3676.4 January 3, 2006 GATE DRIVER OUTPUT PINS: ALO, BLO, AHO, & BHO Low Level Output Voltage V OL I OUT = 50mA 0.65 1.1 0.5 1.2 V High Level Output Voltage V DD -V OH I OUT = -50mA 0.7 1.2 0.5 1.3 V Peak Pullup Current I O +V OUT = 0V 1.1 1.4 2.5 0.85 2.75 A Peak Pulldown Current I O -V OUT = 12V 1.0 1.3 2.3 0.75 2.5 A Switching Specifications V DD = V AHB = V BHB = 12V, V SS = V AHS = V BHS = 0V, R DEL = 100K, C L = 1000pF. PARAMETER SYMBOL TEST CONDITIONS T J = +25°C T J = -55°C TO +150°C UNITS MIN TYP MAX MIN MAX Lower Turn-off Propagation Delay (ALI-ALO, BLI-BLO) T LPHL - 25 50 - 70 ns Upper Turn-off Propagation Delay (AHI-AHO, BHI-BHO) T HPHL - 55 80 - 100 ns Lower Turn-on Propagation Delay (ALI-ALO, BLI-BLO) T LPLH - 40 85 - 100 ns Upper Turn-on Propagation Delay (AHI-AHO, BHI-BHO) T HPLH - 75 110 - 150 ns Rise Time T R -9 20 - 25 ns Fall Time T F -9 20 - 25 ns Minimum Input Pulse Width T PWIN-ON/OFF 50 - - 50 - ns Output Pulse Response to 50 ns Input Pulse T PWOUT 63 80 ns Disable Turn-off Propagation Delay (DIS - Lower Outputs) T DISLOW - 50 80 - 90 ns Disable Turn-off Propagation Delay (DIS - Upper Outputs) T DISHIGH - 75 100 - 125 ns Disable Turn-on Propagation Delay (DIS - ALO & BLO) T DLPLH - 40 70 - 100 ns Disable Turn-on Propagation Delay (DIS- AHO & BHO) T DHPLH R DEL = 10K - 1.2 2 - 3 µs Refresh Pulse Width (ALO & BLO) T REF-PW 375 580 900 350 950 ns TRUTH TABLE INPUT OUTPUT ALI, BLI AHI, BHI VDDUV VHBUV DIS ALO, BLO AHO, BHO XX XX 1 0 0 XX 1 X X 0 0 0X0 1 0 0 0 1X0X0 1 0 01 00 0 0 1 00 00 0 0 0 NOTE: X signifies that input can be either a “1” or “0”. Electrical Specifications V DD = V AHB = V BHB = 12V, V SS = V AHS = V BHS = 0V, R DEL = 100K (Continued) PARAMETER SYMBOL TEST CONDITIONS T J = +25°C T J = -55°C TO +150°C UNITS MIN TYP MAX MIN MAX HIP4082 159 CH Robotics UM6 Ultra-Miniature Orientation Sensor Datasheet Document rev. 2.0 - 1 - 1. Introduction Device Overview The UM6 Ultra-Miniature Orientation Sensor combines sensor measurements from rate gyros, accelerometers, and magnetic sensors to measure orientation at 500 Hz. Angle estimates are available as Euler Angle or Quaternion outputs. Communication with the UM6 is performed over either a TTL (3.3V) UART or a SPI bus. The UM6 is configured by default to automatically transmit data over the UART. The UM6 can be configured to automatically transmit raw sensor data, processed sensor data, and angle estimates at user configurable rates ranging from 20 Hz to 300 Hz in roughly 1 Hz increments. Alternatively, the UM6 can operate in "silent mode," where data is transmitted only when specific requests are received over the UART. Regardless of the transmission mode and rate, internal angle estimates are updated at 500 Hz to improve accuracy. The UM6 simplifies integration by providing a number of automatic calibration routines, including rate gyro bias calibration, magnetometer hard and soft iron calibration, and accelerometer "zeroing" to compensate for sensor-platform misalignment. All calibration routines are triggered by sending simple commands over the serial interface. The UM6 comes factory-calibrated to remove soft and hard iron distortions present in the enclosure and when using the serial expansion board. When integrated into the end-user system, additional calibration may be necessary to correct other magnetic field distortions. Magnetometer calibration can be performed using the UM6 interface software, available for free download from www.chrobotics.com/downloads. Temperature compensation of rate gyro biases is also supported by the UM6. An internal temperature sensor is used to measure temperature, and third-order compensation is applied to remove the effects of temperature-induced bias. By default, the terms used in compensation are all zero, which means that no temperature compensation is performed. The compensation terms must be determined experimentally by the end-user. On special request, compensation can be performed on each device at the factory. The UM6 can be configured to use either Euler Angles or quaternions for attitude estimation. In Euler Angle mode, magnetometer updates are restricted to yaw alone. This can be useful in cases where distortions are possible or even expected, and where it would be undesirable for those distortions to affect pitch and roll angles (ie. on a flying rotorcraft). In quaternion mode, Euler Angles are still available, but there are no restrictions on what angles the magnetometer is allowed to influence. A variety of expansion boards are also available to simplify integration of the UM6 into a wide variety of platforms. 160 CH Robotics UM6 Ultra-Miniature Orientation Sensor Datasheet Document rev. 2.0 - 2 - Summary of Features • Euler Angle and Quaternion outputs • Automatic gyro bias calibration • Cross-axis misalignment correction 1 • Rate gyro temperature compensation 2 • TTL UART or SPI bus communication • Adjustable serial output rates (20 Hz - 300 Hz) and baud rate (up to 115200 baud) • Onboard 3.3V regulator simplifies integration • Open-source firmware with free development tools • Open-source PC software for data visualization and AHRS configuration Common Applications • Robotics • Platform Stabilization • Motion Tracking • Enhanced GPS Navigation • General Motion Sensing • Image Stabilization • Human Limb Tracking 1 Soft and hard iron calibration matrices and cross-axis alignment matrices must be determined and set by the end user. The UM6 configuration software includes routines for computing soft and hard iron calibration data. 2 Temperature calibration terms are not computed at the factory unless specifically requested. 161 The MB1240 & MB1340 have a new high power output along with real-time auto calibration for changing conditions (temperature, voltage or acoustic or electrical noise) that ensure you receive the most reliable (in air) ranging data for every reading taken. The MB1240 & MB1340 low power 3.3V – 5V operation provides very short to long-range detection and ranging, in a tiny and compact form factor. The MB1240 & MB1340 detect objects from 0-cm* to 645-cm (25.1 feet) and provide sonar range information from 20-cm out to 645- cm with 1-cm resolution. Objects from 0-cm* to 20-cm typically range as 20-cm. (*Objects from 0-mm to 1- mm may not be detected.) The interface output formats included are pulse width output (MB1240), real-time analog voltage envelope (MB1340), analog voltage output, and serial digital output. MB1240 MB1340 XL- MaxSonar ® - EZ4™ (MB1240) XL- MaxSonar ® - AE4™ (MB1340) Sonar Range Finder with High Power Output, Noise Rejection, Auto Calibration & Short-Range Narrow Detection Zone (Hardware gain of 250) Features • High acoustic power output • Real-time auto calibration and noise rejection for every ranging cycle • Calibrated beam angle • Continuously variable gain • Object detection as close as 1-mm from the sensor • 3.3V to 5V supply with very low average current draw • Readings can occur up to every 100mS, (10-Hz rate) • Free run operation can continually measure and output range information • Triggered operation provides the range reading as desired • All interfaces are active simultaneously • Serial, 0 to Vcc, 9600Baud, 81N • Analog, (Vcc/1024) / cm • Pulse Width (MB1240) Real-time analog envelope (MB1340) • Sensor operates at 42KHz Benefits • Acoustic and electrical noise resistance • Reliable and stable range data • Sensor dead zone virtually gone • Low cost • Quality controlled beam characteristics • Very low power ranger, excellent for multiple sensor or battery based systems • Ranging can be triggered externally or internally • Sensor reports the range reading directly, frees up user processor • Fast measurement cycle • User can choose any of the sensor outputs • No calibration requirement is perfect for when objects may be directly in front of the sensor during power up • Small size allows for easy mounting MaxBotix ® Inc. MaxBotix, MaxSonar, EZ4 & AE4 are trademarks of MaxBotix Inc. XL-EZ4™ XL-AE4™ • v1.5b • Patents 7,679,996 • Copyright 2005 - 2011 Applications and Uses • UAV blimps, micro planes and some helicopters • Bin level measurement • Proximity zone detection • People detection • Robot ranging sensor • Autonomous navigation • Environments with acoustic and electrical noise • Multi-sensor arrays • Distance measuring • Short range object detection • Users who prefer to process the analog voltage envelope (MB1340) • -40°C to +65°C operation (+85°C limited operation) approximately actual size Email: info@maxbotix.com Web: www.maxbotix.com Page 1 PD10018b 162 MB1240 & MB1340 Pin Out GND Return for the DC power supply. GND (& V+) must be ripple and noise free for best operation. V+ Operates on 3.3V - 5V. The average (and peak) current draw for 3.3V operation is 2.1mA (50mA peak) and 5V operation is 3.4mA (100mA peak) respectively. Peak current is used during sonar pulse transmit. Pin 5 - (TX) When Pin 1 is open or held high, the Pin 5 output delivers asynchronous serial with an RS232 format, except voltages are 0-Vcc. The output is an ASCII capital “R”, followed by three ASCII character digits representing the range in centimeters up to a maximum of 765, followed by a carriage return (ASCII 13). The baud rate is 9600, 8 bits, no parity, with one stop bit. Although the voltage of 0-Vcc is outside the RS232 standard, most RS232 devices have sufficient margin to read 0- Vcc serial data. If standard voltage level RS232 is desired, invert, and connect an RS232 converter such as a MAX232. When Pin 1 is held low, the Pin 5 output sends a single pulse, suitable for low noise chaining (no serial data). Pin 4 - (RX) This pin is internally pulled high. The MB1240 & MB1340 will continually measure range and output if the pin is left unconnected or held high. If held low the MB1240 & MB1340 will stop ranging. Bring high 20uS or more for range reading. Pin 3 - (AN) This pin outputs analog voltage with a scaling factor of (Vcc/1024) per cm. A supply of 5V yields ~4.9mV/cm., and 3.3V yields ~3.2mV/cm. Hardware limits the maximum reported range on this output to ~700 cm at 5V and ~600 cm at 3.3V. The output is buffered and corresponds to the most recent range data. Pin 2 - MB1240 (PW) This pin outputs a pulse width representation of range. To calculate distance, use the scale factor of 58uS per cm. MB1340 (AE) This pin outputs the analog voltage envelope of the acoustic wave form. Pin 1 - Leave open (or high) for serial output on the Pin 5 output. When Pin 1 is held low the Pin 5 output sends a pulse (instead of serial data), suitable for low noise chaining. MB1240 & MB1340 Circuit MB1240 & MB1340 Real-time Operation MaxBotix ® Inc. MaxBotix, MaxSonar, EZ4 & AE4 are trademarks of MaxBotix Inc. XL-EZ4™ XL-AE4™ • v1.5b • Patents 7,679,996 • Copyright 2005 - 2011 MB1240 MB1340 Email: info@maxbotix.com Web: www.maxbotix.com Page 2 The sensor functions using active components consisting of an LM324 and PIC16F690, together with a variety of other components. The schematic is shown to provide the user with detailed connection information. 175mS after power-up, the XL-MaxSonar ® is ready to begin ranging. If Pin-4 is left open or held high (20uS or greater), the sensor will take a range reading. The XL-MaxSonar ® checks the Pin-4 at the end of every cycle. Range data can be acquired once every 99mS. Each 99mS period starts by Pin-4 being high or open, after which the XL-MaxSonar ® calibrates and calculates for 20.5mS, and after which, thirteen 42KHz waves are sent. Then for the MB1240, the pulse width (PW) Pin-2 is set high. When an object is detected the PW pin is set low. If no target is detected the PW pin will be held high for up to 44.4mS (i.e. 58uS * 765cm) (For the most accurate range data, use the PW output of the MB1240 product.) For the MB1340 with analog envelop output, Pin-2 will show the real-time signal return information of the analog waveform. For both parts, the remainder of the 99mS time (less 4.7mS) is spent adjusting the analog voltage to the correct level, (and allowing the high acoustic power to dissipate). During the last 4.7mS, the serial data is sent. MB1240 & MB1340 Real-time Auto Calibration Each time after the XL-MaxSonar ® takes a range reading it calibrates itself. The sensor then uses this data to range objects. If the temperature, humidity, or applied voltage changes during sensor operation, the sensor will continue to function normally. The sensor does not apply compensation for the speed of sound change verses temperature to any range readings. PD10018b 163 J U T P K S MB1240 & MB1340 Beam Characteristics The MB1240 and MB1340 have a wide and long sensitive beam that offers excellent detection of objects and people. The MB1240 and MB1340 balances the detection of objects and people with minimal side-lobes. Sample results for measured beam patterns are shown to the right on a 30-cm grid. The detection pattern is shown for dowels of varying diameters that are place in front of the sensor; (A) 6.1-mm (0.25-inch) diameter dowel, (B) 2.54-cm (1-inch) diameter dowel, (C) 8.89-cm (3.5-inch) diameter dowel, MaxBotix ® Inc. MaxBotix, MaxSonar, EZ4 & AE4 are trademarks of MaxBotix Inc. XL-EZ4™ XL-AE4™ • v1.5b • Patents 7,679,996 • Copyright 2005 - 2011 MB1240 MB1340 Email: info@maxbotix.com Web: www.maxbotix.com Page 3 A B C 3.3V 5V 150 cm 30 cm sq. Beam characteristics are approximate (~5 ft) (~1 ft) MB1240 & MB1340 Mechanical Dimensions MB1240 & MB1340 Real-time Noise Rejection While the XL-MaxSonar ® is designed to operate in the presence of noise, best operation is obtained when noise strength is low and desired signal strength is high. Hence, the user is encouraged to mount the sensor in such a way that minimizes outside acoustic noise pickup. In addition, keep the DC power to the sensor free of noise. This will let the sensor deal with noise issues outside of the users direct control (in general, the sensor will still function well even if these things are ignored). Users are encouraged to test the sensor in their application to verify usability. For every ranging cycle, individual filtering for that specific cycle is applied. In general, noise from regularly occurring periodic noise sources such as motors, fans, vibration, etc., will not falsely be detected as an object. This holds true even if the periodic noise increases or decreases (such as might occur in engine throttling or an increase/decrease of wind movement over the sensor). Even so, it is possible for sharp non-periodic noise sources to cause false target detection. In addition, *(because of dynamic range and signal to noise physics,) as the noise level increases, at first only small targets might be missed, but if noise increases to very high levels, it is likely that even large targets will be missed. *In high noise environments, if needed, use 5V power to keep acoustic signal power high. In addition, a high acoustic noise environment may use some of the dynamic range of the sensor. For applications with large targets, consider a part with ultra clutter rejection like the MB7092. B A C D F E G H M L N R Q V A 0.785” 19.9mm B 0.870” 22.1mm C 0.100” 2.54mm D 0.100” 2.54mm E 0.670” 17.0mm F 0.610 15.5mm G 0.124” dia. 3.1mm dia. H 0.100” 2.54mm J 0.989” 25.11mm K 0.645” 16.4 mm values are nominal L 0.735” 18.7mm M 0.065” 1.7mm N 0.038” dia. 1.0mm dia. P 0.537” 13.64mm Q 0.304” 7.72mm R 0.351” 8.92mm S 0.413” 10.5mm T 0.063” 1.6mm U 0.368” 9.36mm V 0.492” 12.5mm Weight, 5.9 grams PD10018b 164 MB1240 MB1340 MaxBotix ® Inc. Email: info@maxbotix.com Web: www.maxbotix.com MaxBotix, MaxSonar, EZ4 & AE4 are trademarks of MaxBotix Inc. XL-EZ4™ XL-AE4™ • v1.5b • Patents 7,679,996 • Copyright 2005 - 2011 Page 4 Typical Performance to Targets Analog Envelope Output (Dowels, 5V) 0 1 2 3 0 10 20 30 40 50 10ms/DIV ANALOG ENVELOPE (V) Transmit Burst Targets T A = 20 o C, Vcc = 5V Real-time on Pin 2 of MB1340 (or MB1240 internal) Target Conditions = acoustic test chamber First target ranges at ~66cm. Targets = 0.6cm dia. at 66cm, 2.5cm dia. at 111cm, 8.9cm dia. at 189cm, and a 1m by 2m flat panel at 704cm Analog Envelope Output (Dowels, 5V) 0.7 0.9 1.1 1.3 1.5 0 10 20 30 40 50 10ms/DIV ANALOG ENVELOPE (V) Transmit Burst T A = 20 o C, Vcc = 5V Real-time on Pin 2 of MB1340 (or MB1240 internal) Target Conditions = acoustic test chamber First target ranges at ~66cm. Targets = 0.6cm dia. at 66cm, 2.5cm dia. at 111cm, 8.9cm dia. at 189cm, and a 1m by 2m flat panel at 704cm (Zoom) Targets Analog Envelope Output (Dowels, 3.3V) 0.4 0.45 0.5 0.55 0.6 0 10 20 30 40 50 10ms/DIV ANALOG ENVELOPE (V) Transmit Burst T A = 20 o C, Vcc = 3.3V Real-time on Pin 2 of MB1340 (or MB1240 internal) Target Targets = 0.6cm dia. at 66cm, 2.5cm dia. at 111cm, 8.9cm dia. at 189cm, and a 1m by 2m flat panel at 704cm Conditions = acoustic test chamber First target ranges at ~66cm. Targets (Zoom ) Analog Envelope Output (Dowels, 3.3V) 0 1 2 0 10 20 30 40 50 10ms/DIV ANALOG ENVELOPE (V) Transmit Burst T A = 20 o C, Vcc = 3.3V Real-time on Pin 2 of MB1340 (or MB1240 internal) Target Targets = 0.6cm dia. at 66cm, 2.5cm dia. at 111cm, 8.9cm dia. at 189cm, and a 1m by 2m flat panel at 704cm Conditions = acoustic test chamber First target ranges at ~66cm. Targets PD10018b 165 MB1240 MB1340 MaxBotix ® Inc. Email: info@maxbotix.com Web: www.maxbotix.com MaxBotix, MaxSonar, EZ4 & AE4 are trademarks of MaxBotix Inc. XL-EZ4™ XL-AE4™ • v1.5b • Patents 7,679,996 • Copyright 2005 - 2011 Page 5 Analog Envelope Output (Clutter, 5V) 0 1 2 3 0 10 20 30 40 50 10ms/DIV ANALOG ENVELOPE (V) Target T A = 20 o C, Vcc = 5V Realtime on Pin 2 of MB1340 (or MB1240 internal) Transmit Burst Target = 30cm sq. at 2 meters Conditions = 1.5 meter wide hallway with cluttered sides Object clutter from many objects at the sides of the 1.5 meter wide hallway. Target ranges at ~200cm. Analog Envelope Output (Clutter, 3.3V) 0 1 2 0 10 20 30 40 50 10ms/DIV ANALOG ENVELOPE (V) Transmit Burst T A = 20 o C, Vcc = 3.3V Realtime on Pin 2 of MB1340 (or MB1240 internal) Target ranges at ~200cm. Target = 30cm sq. at 2 meters Conditions = 1.5 meter wide hallway with cluttered sides Object clutter from many objects at the sides of the 1.5 meter wide hallway. Target Typical Performance in Clutter PD10018b 166 LM35 Precision Centigrade Temperature Sensors General Description The LM35 series are precision integrated-circuit temperature sensors, whose output voltage is linearly proportional to the Celsius (Centigrade) temperature. The LM35 thus has an advantage over linear temperature sensors calibrated in ˚ Kelvin, as the user is not required to subtract a large constant voltage from its output to obtain convenient Centi- grade scaling. The LM35 does not require any external calibration or trimming to provide typical accuracies of ± 1 ⁄4˚C at room temperature and ± 3 ⁄4˚C over a full −55 to +150˚C temperature range. Low cost is assured by trimming and calibration at the wafer level. The LM35’s low output imped- ance, linear output, and precise inherent calibration make interfacing to readout or control circuitry especially easy. It can be used with single power supplies, or with plus and minus supplies. As it draws only 60 μA from its supply, it has very low self-heating, less than 0.1˚C in still air. The LM35 is rated to operate over a −55˚ to +150˚C temperature range, while the LM35C is rated for a −40˚ to +110˚C range (−10˚ with improved accuracy). The LM35 series is available pack- aged in hermetic TO-46 transistor packages, while the LM35C, LM35CA, and LM35D are also available in the plastic TO-92 transistor package. The LM35D is also avail- able in an 8-lead surface mount small outline package and a plastic TO-220 package. Features n Calibrated directly in ˚ Celsius (Centigrade) n Linear + 10.0 mV/˚C scale factor n 0.5˚C accuracy guaranteeable (at +25˚C) n Rated for full −55˚ to +150˚C range n Suitable for remote applications n Low cost due to wafer-level trimming n Operates from 4 to 30 volts n Less than 60 μA current drain n Low self-heating, 0.08˚C in still air n Nonlinearity only ± 1 ⁄4˚C typical n Low impedance output, 0.1 Ω for 1 mA load Typical Applications DS005516-3 FIGURE 1. Basic Centigrade Temperature Sensor (+2˚C to +150˚C) DS005516-4 Choose R 1 =−V S /50 μA V OUT =+1,500 mV at +150˚C = +250 mV at +25˚C = −550 mV at −55˚C FIGURE 2. Full-Range Centigrade Temperature Sensor November 2000 LM35 Precision Centigrade Temperature Sensors © 2000 National Semiconductor Corporation DS005516 www.national.com 167 Connection Diagrams TO-46 Metal Can Package* DS005516-1 *Case is connected to negative pin (GND) Order Number LM35H, LM35AH, LM35CH, LM35CAH or LM35DH See NS Package Number H03H TO-92 Plastic Package DS005516-2 Order Number LM35CZ, LM35CAZ or LM35DZ See NS Package Number Z03A SO-8 Small Outline Molded Package DS005516-21 N.C. = No Connection Top View Order Number LM35DM See NS Package Number M08A TO-220 Plastic Package* DS005516-24 *Tab is connected to the negative pin (GND). Note: The LM35DT pinout is different than the discontinued LM35DP. Order Number LM35DT See NS Package Number TA03F LM35 www.national.com 2 168 Absolute Maximum Ratings (Note 10) If Military/Aerospace specified devices are required, please contact the National Semiconductor Sales Office/ Distributors for availability and specifications. Supply Voltage +35V to −0.2V Output Voltage +6V to −1.0V Output Current 10 mA Storage Temp.; TO-46 Package, −60˚C to +180˚C TO-92 Package, −60˚C to +150˚C SO-8 Package, −65˚C to +150˚C TO-220 Package, −65˚C to +150˚C Lead Temp.: TO-46 Package, (Soldering, 10 seconds) 300˚C TO-92 and TO-220 Package, (Soldering, 10 seconds) 260˚C SO Package (Note 12) Vapor Phase (60 seconds) 215˚C Infrared (15 seconds) 220˚C ESD Susceptibility (Note 11) 2500V Specified Operating Temperature Range: T MIN to T MAX (Note 2) LM35, LM35A −55˚C to +150˚C LM35C, LM35CA −40˚C to +110˚C LM35D 0˚C to +100˚C Electrical Characteristics (Notes 1, 6) LM35A LM35CA Parameter Conditions Tested Design Tested Design Units Typical Limit Limit Typical Limit Limit (Max.) (Note 4) (Note 5) (Note 4) (Note 5) Accuracy T A =+25˚C ±0.2 ±0.5 ±0.2 ±0.5 ˚C (Note 7) T A =−10˚C ±0.3 ±0.3 ±1.0 ˚C T A =T MAX ±0.4 ±1.0 ±0.4 ±1.0 ˚C T A =T MIN ±0.4 ±1.0 ±0.4 ±1.5 ˚C Nonlinearity T MIN ≤T A ≤T MAX ±0.18 ±0.35 ±0.15 ±0.3 ˚C (Note 8) Sensor Gain T MIN ≤T A ≤T MAX +10.0 +9.9, +10.0 +9.9, mV/˚C (Average Slope) +10.1 +10.1 Load Regulation T A =+25˚C ±0.4 ±1.0 ±0.4 ±1.0 mV/mA (Note 3) 0≤I L ≤1mA T MIN ≤T A ≤T MAX ±0.5 ±3.0 ±0.5 ±3.0 mV/mA Line Regulation T A =+25˚C ±0.01 ±0.05 ±0.01 ±0.05 mV/V (Note 3) 4V≤V S ≤30V ±0.02 ±0.1 ±0.02 ±0.1 mV/V Quiescent Current V S =+5V, +25˚C 56 67 56 67 μA (Note 9) V S =+5V 105 131 91 114 μA V S =+30V, +25˚C 56.2 68 56.2 68 μA V S =+30V 105.5 133 91.5 116 μA Change of 4V≤V S ≤30V, +25˚C 0.2 1.0 0.2 1.0 μA Quiescent Current 4V≤V S ≤30V 0.5 2.0 0.5 2.0 μA (Note 3) Temperature +0.39 +0.5 +0.39 +0.5 μA/˚C Coefficient of Quiescent Current Minimum Temperature In circuit of +1.5 +2.0 +1.5 +2.0 ˚C for Rated Accuracy Figure 1,I L =0 Long Term Stability T J =T MAX , for ±0.08 ±0.08 ˚C 1000 hours LM35 www.national.com 3 169 Electrical Characteristics (Notes 1, 6) LM35 LM35C, LM35D Parameter Conditions Tested Design Tested Design Units Typical Limit Limit Typical Limit Limit (Max.) (Note 4) (Note 5) (Note 4) (Note 5) Accuracy, T A =+25˚C ±0.4 ±1.0 ±0.4 ±1.0 ˚C LM35, LM35C T A =−10˚C ±0.5 ±0.5 ±1.5 ˚C (Note 7) T A =T MAX ±0.8 ±1.5 ±0.8 ±1.5 ˚C T A =T MIN ±0.8 ±1.5 ±0.8 ±2.0 ˚C Accuracy, LM35D (Note 7) T A =+25˚C ±0.6 ±1.5 ˚C T A =T MAX ±0.9 ±2.0 ˚C T A =T MIN ±0.9 ±2.0 ˚C Nonlinearity T MIN ≤T A ≤T MAX ±0.3 ±0.5 ±0.2 ±0.5 ˚C (Note 8) Sensor Gain T MIN ≤T A ≤T MAX +10.0 +9.8, +10.0 +9.8, mV/˚C (Average Slope) +10.2 +10.2 Load Regulation T A =+25˚C ±0.4 ±2.0 ±0.4 ±2.0 mV/mA (Note 3) 0≤I L ≤1mA T MIN ≤T A ≤T MAX ±0.5 ±5.0 ±0.5 ±5.0 mV/mA Line Regulation T A =+25˚C ±0.01 ±0.1 ±0.01 ±0.1 mV/V (Note 3) 4V≤V S ≤30V ±0.02 ±0.2 ±0.02 ±0.2 mV/V Quiescent Current V S =+5V, +25˚C 56 80 56 80 μA (Note 9) V S =+5V 105 158 91 138 μA V S =+30V, +25˚C 56.2 82 56.2 82 μA V S =+30V 105.5 161 91.5 141 μA Change of 4V≤V S ≤30V, +25˚C 0.2 2.0 0.2 2.0 μA Quiescent Current 4V≤V S ≤30V 0.5 3.0 0.5 3.0 μA (Note 3) Temperature +0.39 +0.7 +0.39 +0.7 μA/˚C Coefficient of Quiescent Current Minimum Temperature In circuit of +1.5 +2.0 +1.5 +2.0 ˚C for Rated Accuracy Figure 1,I L =0 Long Term Stability T J =T MAX , for ±0.08 ±0.08 ˚C 1000 hours Note 1: Unless otherwise noted, these specifications apply: −55˚C≤T J ≤+150˚C for the LM35 and LM35A; −40˚≤T J ≤+110˚C for the LM35C and LM35CA; and 0˚≤T J ≤+100˚C for the LM35D. V S =+5Vdc and I LOAD =50 μA, in the circuit of Figure 2. These specifications also apply from +2˚C to T MAX in the circuit of Figure 1. Specifications in boldface apply over the full rated temperature range. Note 2: Thermal resistance of the TO-46 package is 400˚C/W, junction to ambient, and 24˚C/W junction to case. Thermal resistance of the TO-92 package is 180˚C/W junction to ambient. Thermal resistance of the small outline molded package is 220˚C/W junction to ambient. Thermal resistance of the TO-220 package is 90˚C/W junction to ambient. For additional thermal resistance information see table in the Applications section. Note 3: Regulation is measured at constant junction temperature, using pulse testing with a low duty cycle. Changes in output due to heating effects can be computed by multiplying the internal dissipation by the thermal resistance. Note 4: Tested Limits are guaranteed and 100% tested in production. Note 5: Design Limits are guaranteed (but not 100% production tested) over the indicated temperature and supply voltage ranges. These limits are not used to calculate outgoing quality levels. Note 6: Specifications in boldface apply over the full rated temperature range. Note 7: Accuracy is defined as the error between the output voltage and 10mv/˚C times the device’s case temperature, at specified conditions of voltage, current, and temperature (expressed in ˚C). Note 8: Nonlinearity is defined as the deviation of the output-voltage-versus-temperature curve from the best-fit straight line, over the device’s rated temperature range. Note 9: Quiescent current is defined in the circuit of Figure 1. Note 10: Absolute Maximum Ratings indicate limits beyond which damage to the device may occur. DC and AC electrical specifications do not apply when operating the device beyond its rated operating conditions. See Note 1. Note 11: Human body model, 100 pF discharged through a 1.5 kΩ resistor. Note 12: See AN-450 “Surface Mounting Methods and Their Effect on Product Reliability” or the section titled “Surface Mount” found in a current National Semiconductor Linear Data Book for other methods of soldering surface mount devices. LM35 www.national.com 4 170 Technical specifications – AXIS 206 Network Camera www.axis.com ©2009 Axis Communications AB. AXIS COMMUNICATIONS, AXIS, ETRAX, ARTPEC and VAPIX are registered trademarks or trademark applications of Axis AB in various jurisdictions. All other company names and products are trademarks or registered trademarks of their respective companies. We reserve the right to introduce modifications without notice. 33168/EN/R5/0904 Camera Image sensor 1/4” Progressive scan CMOS Lens 4.0 mm, F2.0, fixed iris Horizontal angle of view: 54° Light sensitivity 4 – 10000 lux, F2.0 Shutter time 1/10000 s to 1/2 s Video Video compression Motion JPEG Resolutions Up to 640x480 Frame rate Motion JPEG Up to 30 fps at all resolutions Video streaming Controllable frame rate and bandwidth Image settings Compression, color, brightness, contrast, white balance, rotation Text overlay Network Security Password protection Supported protocols IPv4, HTTP, TCP, ICMP, UDP, SMTP, FTP, DHCP, UPnP™, Bonjour, ARP, DNS, DynDNS, NTP System integration Application Programming Interface Open API for software integration, including VAPIX® from Axis Communications available at www.axis.com General Language support Chinese, English, French, German, Italian, Japanese, Korean and Spanish Processors and memory 32-bit RISC CPU Motion JPEG compression chip 16 MB RAM 4 MB Flash Power 5.0 – 5.5 V DC, max 2.5 W Connector RJ-45 10BASE-T/100BASE-TX Auto-MDIX Operating conditions 5 – 50 °C (41 – 122 °F) Humidity 20 – 80% RH (non-condensing) Approvals EN 55022 Class B, EN 61000-3-2, EN 61000-3-3, EN 55024, EN 61000-6-1, FCC Part 15 Subpart B Class B, ICES-003, VCCI Class B, C-tick AS/NZS 3548, EN 60950-1 Power supply: EN 60950-1, UL, CSA Weight 180 g (0.39 lb.) Included accessories Power supply, stand, Installation Guide, CD with installation tool, software and User’s Manual Dimensions More information is available at www.axis.com 55 mm (2.2”) 80 mm (3.2”) 15 mm (0.6”) 61 mm (2.4”) 88 mm (3.5”) 28 mm (1.1”) 21 mm (3.2”) 99 mm (3.9”) 55 mm (2.2”) 80 mm (3.2”) 15 mm (0.6”) 61 mm (2.4”) 88 mm (3.5”) 28 mm (1.1”) 21 mm (3.2”) 99 mm (3.9”) Optional accessories Vandal-resistant housing For information on AXIS Camera Station and video management software from Axis’ Application Development Partners, see www.axis.com/products/video/software/ 171 E6C2-C 2 Ratings and Specifications Note: Origin Indication The following illustration shows the relationship between phase Z and the origin. Set cut face D to the phase Z origin as shown in the illustration. *1. An inrush current of approximately 9 A will flow for approximately 0.3 ms when the power is turned ON. *2. The line driver output is a data transmission circuit compatible with RS-422A and long-distance transmission is possible with a twisted-pair cable.(AM26LS31 equivalent) *3. The maximum electrical response speed is determined by the resolution and maximum response frequency as follows: This means that the E6C2-C Rotary Encoder will not operate electrically if its speed exceeds the maximum electrical response speed. Item Model E6C2-CWZ6C E6C2-CWZ5B E6C2-CWZ3E E6C2-CWZ1X Power supply voltage 5 VDC −5% to 24 VDC +15%, ripple (p-p): 5% max. 12 VDC −10% to 24 VDC +15%, ripple (p-p): 5% max. 5 VDC −5% to 12 VDC +10%, ripple (p-p): 5% max. 5 VDC ±5%, ripple (p-p): 5% max. Current consumption*1 80 mA max. 100 mA max. 160 mA max. Resolution (pulses/rotation) 10, 20, 30, 40, 50, 60, 100, 200, 300, 360, 400, 500, 600, 720, 800, 1,000, 1,024, 1,200, 1,500, 1,800, 2,000 100, 200, 360, 500, 600, 1,000, 2,000 10, 20, 30, 40, 50, 60, 100, 200, 300, 360, 400, 500, 600, 720, 800, 1,000, 1,024, 1,200, 1,500, 1,800, 2,000 Output phases Phases A, B, and Z Phases A, A, B, B, Z, and Z Output configuration NPN open-collector output PNP open-collector output Voltage output (NPN output) Line driver output*2 Output capacity Applied voltage: 30 VDC max. Sink current: 35 mA max. Residual voltage: 0.4 V max. (at sink current of 35 mA) Applied voltage: 30 VDC max. Source current: 35 mA max. Residual voltage: 0.4 V max. (at source current of 35 mA) Output resistance: 2 kΩ Output current: 20 mA max. Residual voltage: 0.4 V max. (at sink current of 20 mA) AM26LS31 equivalent Output voltage: High level: IO = −20 mA Low level: IS = 20 mA Output voltage: VO = 2.5 V min. VS = 0.5 V max. Maximum response frequency*3 100 kHz 50 kHz 100 kHz Phase difference between outputs 90°±45° between A and B (1/4 T ± 1/8 T) Rise and fall times of output 1 µs max. (Control output voltage: 5 V, Load resistance: 1 kΩ , Cable length: 2m) 1 µs max. (Cable length: 2 m, Sink current: 10 mA) 0.1 µs max. (Cable length: 2 m, IO = −20 mA, IS = 20 mA) Starting torque 10 mN·m max. Moment of inertia 1×10 −6 kg·m 2 max.; 3 × 10 −7 kg·m 2 max. at 600 P/R max. Shaft loading Radial 50 N Thrust 30 N Maximum permissible speed 6,000 r/min Protection circuits Power supply reverse polarity protection, Load short-circuit protection --- Ambient temperature range Operating: −10 to 70°C (with no icing), Storage: −25 to 85°C (with no icing) Ambient humidity range Operating/Storage: 35% to 85% (with no condensation) Insulation resistance 20 MΩ min. (at 500 VDC) between current-carrying parts and case Dielectric strength 500 VAC, 50/60 Hz for 1 min between current-carrying parts and case Vibration resistance Destruction: 10 to 500 Hz, 150 m/s 2 or 2-mm double amplitude for 11 min 3 times each in X, Y, and Z directions Shock resistance Destruction: 1,000 m/s 2 3 times each in X, Y, and Z directions Degree of protection IEC 60529 IP64, in-house standards: oilproof Connection method Pre-wired Models (Standard cable length: 2 m) Material Case: Zinc alloy, Main unit: Aluminum, Shaft: SUS420J2 Weight (packed state) Approx. 400 g Accessories Instruction manual 38 dia. 120˚ 120˚ Phase Z origin Cut face D Origin Maximum electrical response speed (rpm) = Maximum response frequency Resolution × 60 172 E6C2-C 3 I/O Circuit Diagrams Note: 1. The shielded cable outer core (shield) is not connected to the inner area or to the case. 2. The phase A, phase B, and phase Z circuits are all identical. 3. Normally, connect GND to 0 V or to an external ground. Model/Output Circuits Output mode Connection GND 0 V 3.3 Ω 35 mA max. 30 VDC max. 5 VDC − 5% to 24 VDC + 15% NPN transistor E6C2-C main circuit (Black: phase A, White: phase B, Orange: phase Z) Blue Shield Black, white, orange Output signal E6C2-CWZ6C Phase A Phase B Phase Z Phase A Phase B Phase Z ON OFF ON OFF ON OFF T(360˚) ON OFF ON OFF ON OFF 1/4˚±1/8T(90˚±45˚) 1/4±1/8T (90˚±45˚) T(360˚) CW CCW E6C2-CWZ6C NPN Open-collector Output Model E6C2-CWZ5B PNP Open-collector Output Model Direction of rotation: CW (as viewed from end of shaft) Direction of rotation: CCW (as viewed from end of shaft) Note: Phase A is 1/4 T ± 1/8 T faster than phase B. Note: Phase A is 1/4 T ± 1/8 T slower than phase B. The ONs in the above timing chart mean that the output transistor is ON and the OFFs mean that the output transistor is OFF. Color Terminal Brown Power supply (+Vcc) Black Output phase A White Output phase B Orange Output phase Z Blue 0 V (common) GND 0 V 3.3 Ω 12 VDC −10% to 24 VDC +15% 35 mA max. PNP transistor E6C2-C main circuit Output signal (Black: phase A, White: phase B, Orange: phase Blue Brown Shield Black, white, orange E6C2-CWZ5B GND 0 V 3.3 Ω 20mA max. 2 kΩ 5 VDC −5% to 12 VDC +10% NPN transistor E6C2-C main circuit Output signal (Black: phase A, White: phase B, Orange: phase Z) Blue Brown Shield Black, white, orange E6C2-CWZ3E Phase A Phase B Phase Z Phase A Phase B Phase Z T(360˚) H L H L H L H L H L H L T(360˚) 1/4±1/8T (90˚±45˚) 1/4±1/8T (90˚±45˚) CW CCW E6C2-CWZ3E Voltage Output Model Direction of rotation: CW (as viewed from end of shaft) Direction of rotation: CCW (as viewed from end of shaft) Note: Phase A is 1/4 T ± 1/8 T faster than phase B. Note: Phase A is 1/4 T ± 1/8 T slower than phase B. E6C2-CWZ1X (Black/red: Phase A, White/red: Phase B, Orange/red: Phase Z) GND 0 V 5 VDC ± 5% E6C2-C main circuit AM26 LS31 equivalent Non-reversed output (Black: phase A, White: phase B, Orange: phase Z) Reversed output Blue Brown Shield Black, white, orange Black, White, Orange (with red stripe) E6C2-CWZ1X Line Driver Output Model Direction of rotation: CW (as viewed from end of shaft) Direction of rotation: CCW (as viewed from end of shaft) H L H L H L H L H L H L H L H L H L H L H L H L T(360˚) T(360˚) CW CCW Phase A Phase B Phase Z Phase A Phase B Phase Z Phase A Phase B Phase Z Phase A Phase B Phase Z 1/4±1/8T (90˚±45˚) 1/4±1/8T (90˚±45˚) Note: Receiver: AM26LS32 equivalent Color Terminal Brown Power supply (+Vcc) Black Output phase A White Output phase B Orange Output phase Z Black/red stripes Output phase A White/red stripes Output phase B Orange/ red stripes Output phase Z Blue 0 V (common) 173
Abstract (if available)
Abstract
Modeling of two-wheel mobile platform, backstepping based controller design and hardware/software implementation are presented. ❧ Models with non-slipping and slipping are investigated. In the non-slipping case, nonholonomic constraints (no lateral motion and pure rolling) are embedded into the equations of motion. In addition to nonholonomic constraint, Lugre friction model is adopted to represent dynamic friction. ❧ Two backstepping based tracking controllers are developed for non-slipping dynamic model. Regular backstepping controller and backstepping controller combined with robust term to deal with varying parameters are designed. Lyapunov’s stability theory is used to verify the stability of designed controller. ❧ For slipping case, backstepping based controller and sliding mode combined backstepping controller are developed. Stability of both controllers are verified by Lyapunov’s stability theory. In addition to tracking capability, point stabilization is achieved in specific destination postures. Extensive simulation and visualization shows effectiveness of proposed controllers. ❧ Bezier curve combined with cubic spline velocity profile is considered for trajectory generation. Numerical integration approach for arc length parameterization is adopted to control segment length in Bezier curve. Curvature is also included into trajectory generation to adjust acceleration and deceleration for riding comfort and safety. ❧ Mobile platform based on commercial power wheelchair is implemented. Hardware components (Real-time controllers, Sensors, Power modules, Network devices) and software components (MATALB, SIMULINK, LabVIEW) are integrated and functions such as remote control, monitoring in the host PC are developed. Proposed controllers are implemented on the real-time controller and extensive test was conducted.
Linked assets
University of Southern California Dissertations and Theses
Conceptually similar
PDF
Control of spacecraft with flexible structures using pulse-modulated thrusters
PDF
Modeling and vibration analysis of wheelchair-users
PDF
Using nonlinear feedback control to model human landing mechanics
PDF
Dynamic analysis and control of one-dimensional distributed parameter systems
PDF
Active delay output feedback control for high performance flexible servo systems
PDF
An approach to dynamic modeling of percussive mechanisms
PDF
Nonlinear control of flexible rotating system with varying velocity
PDF
Design, modeling and analysis of piezoelectric forceps actuator
PDF
Mathematical model and numerical analysis of a shape memory polymer composite cantilever beam for space applications
PDF
Transient modeling, dynamic analysis, and feedback control of the Inductrack Maglev system
PDF
Design and control of a two-mode monopod
PDF
Flexible formation configuration for terrain following flight: formation keeping constraints
PDF
Robust control of periodically time-varying systems
PDF
Control and dynamics of turning tasks with different rotation and translation requirements
PDF
Optimal design, nonlinear analysis and shape control of deployable mesh reflectors
PDF
Adaptive control with aerospace applications
PDF
Discrete geometric motion control of autonomous vehicles
PDF
Development and control of biologically-inspired robots driven by artificial muscles
PDF
Distributed adaptive control with application to heating, ventilation and air-conditioning systems
PDF
Investigation of preclinical testing methods for total ankle replacements
Asset Metadata
Creator
Jung, Byungchan
(author)
Core Title
Control of two-wheel mobile platform with application to power wheelchairs
School
Viterbi School of Engineering
Degree
Doctor of Philosophy
Degree Program
Mechanical Engineering
Publication Date
06/22/2012
Defense Date
05/01/2012
Publisher
University of Southern California
(original),
University of Southern California. Libraries
(digital)
Tag
backstepping,dynamic friction,OAI-PMH Harvest,sliding mode,two-wheel mobile platform,xpc target
Language
English
Contributor
Electronically uploaded by the author
(provenance)
Advisor
Flashner, Henryk (
committee chair
), McNitt-Gray, Jill L. (
committee member
), Shiflett, Geoffrey R. (
committee member
), Yang, Bingen (Ben) (
committee member
)
Creator Email
bcjung@gmail.com,bjung@usc.edu
Permanent Link (DOI)
https://doi.org/10.25549/usctheses-c3-48737
Unique identifier
UC11289841
Identifier
usctheses-c3-48737 (legacy record id)
Legacy Identifier
etd-JungByungc-901.pdf
Dmrecord
48737
Document Type
Dissertation
Rights
Jung, Byungchan
Type
texts
Source
University of Southern California
(contributing entity),
University of Southern California Dissertations and Theses
(collection)
Access Conditions
The author retains rights to his/her dissertation, thesis or other graduate work according to U.S. copyright law. Electronic access is being provided by the USC Libraries in agreement with the a...
Repository Name
University of Southern California Digital Library
Repository Location
USC Digital Library, University of Southern California, University Park Campus MC 2810, 3434 South Grand Avenue, 2nd Floor, Los Angeles, California 90089-2810, USA
Tags
backstepping
dynamic friction
sliding mode
two-wheel mobile platform
xpc target