Design and Control for Differential Drive Mobile Robot

Download Full-Text PDF Cite this Publication

Text Only Version

Design and Control for Differential Drive Mobile Robot

Boru Diriba Hirpo #1 Prof. Wang Zhongmin #2

School of Mechanical Engineering, Tianjin University of Technology and Education,

Tianjin 300222, China

Abstract:- Differential drive wheeled mobile robots are the most common mobile robots. In this paper first, the mechanical structure of the differential drive wheeled service robot platform was designed. The total mechanical structure of the robot platform was prepared in detail and assembly drawing and the 3-D model was prepared. The second part of this paper is control of the robot platform. Kinematic based PID control system is used. The gains of PID controller is tuned to achieve the desired speed.. SIMULINK model is prepared for DC motor and for whole robot system and the simulation result was discussed. MATLAB/SIMULINK package is used to model and simulate.

Key words:- Differential drive, Kinematic modeling, PID controller, SIMULINK model

  1. INTRODUCTION

    Mobile robots are robots that can move from one place to another autonomously. Unlike the majority of industrial robots that can move only in a specific workspace, mobile robots have the special feature of moving around freely within a predefined workspace to achieve their desired goals. This mobility capability makes them suitable for a large repertory of applications in structured and unstructured environments. Differential drive wheeled mobile robots are the most commonly used mobile robots. The drives of the wheeled mobile robot can be a differential drive. The differential drive consists of two fixed powered wheels mounted on the left and right side of the robot platform. The two wheels are independently driven. One or more passive castor wheels are used for balance and stability. If the wheels rotate at the same speed, the robot moves straightforward or backward. If one wheel is running faster than the other, the robot follows a curved path along the arc of an instantaneous circle. If both wheels are rotating at the same speed in opposite directions, the robot turns about the midpoint of the two driving wheels[6] [2]. The aim of this research paper is to design, the total mechanical structure, and speed control, of differential drive mobile robot platform. PID controller based on kinematic modeling is used to control the speed of the DC motor and/or whole robot platform.

  2. MECHANICAL STRUCTURE DESIGN

    The maximum dimension of the robot platform Maximum height of the robot platform=50cm Maximum diameter (base diameter) of the robot platform=55cm

    Radius of the wheel = 12.7cm Axle distance(L)= 500mm

    maximum speed of the robot=0.4m/s

      1. CAD MODEL OF ROBOT PLATFORM

        CAD software CATIA V5R19 is used to design 3-D model of the robot platform. The 3D model gives the details of fits and functionality of each and every component. The robot platform over all structure is composed of the main body of the robot platform. The main body of the robot platform comprises of Walking device, driving device, power device, sensing devices and controlling devices. The bottom of the main body is provided with chassis. Walking devices, magnetic sensor, power unit and the drive unit are provided in the chases. Walking devices consists of the PMDC motors, arranged in cross-reveres direction; each motor is connected to the power wheel. In the middle of chassis there are caster wheels. The caster wheels are used for stability purpose. Power unit is Lead acid 22AH2 block battery (lithium iron phosphate battery). The magnetic sensor has an ability of sensing at a distance of 0.5-10cm and reaction time of 2-20ms.Two Ultrasonic sensors are arranged in the middle of the main body; they have the ability of sensing in 60 degree angle and at a distance of 0.3-5m. Two Inferred sensors are located and arranged at the bottom of main body; they have the ability of sensing at a distance of 0.5-10cm with a reaction time of 2-20ms. Figure 1(a) below shows the 3D model of the chassis of robot platform and 1(b) shows whole body of the robot platform.

        a)

        b)

        Fig.1. (a) 3D model of the chassis (b) Whole body of the robot platform

        The detail assembly of the parts are shown below

        1. b)

    Fig.2. a) Wheel motor assembly b) castor wheel assembly

    Fig. 3. Robot Assembly

  3. MATHEMATICAL MODELING

    Mathematical modeling is the basic input for control system design. In this paper Kinematic modeling and DC motor modeling are considered.

    1. Kinematic modeling

      Kinematics is the most basic study of how mechanical systems behave. In mobile robotics, we need to understand the mechanical behavior of the robot both in order to design appropriate mobile robots for tasks and to understand how to create control software for an instance of mobile robot hardware [8].

      1. Motion model

        The position of a deferentially derived mobile robot can be described by two coordinate systems, Inertial coordinate system and robot coordinate system. As shown in the figure 4 an Inertial coordinate system is a global frame which is fixed in the environment in which the robot moves in. It is reference frame. Robot coordinate system is a local frame attached to the robot and moving with it [5]. As shown in figure 4, Inertial coordinate system is denoted as

        { XI, YI} and robot coordinate system is denoted as {Xr, Yr}. point C which is a midpoint of the axis between the two wheels is the origin of the robot.

        Fig. 4. Position of the robot

        The robot position is described by C {X, }, when expressed in Cartesian-coordinate of the inertial frame. Robot frame and inertial frame can be related by using basic transformation matrix.

        (1)

        As shown in figure 5 for the robot under consideration, the forward motion is achieved when both wheels are driven at the same rate; Turning left is achieved by driving the right wheel at higher rate than the left wheel. Driving the left wheel at higher rate results in turning right. When one wheel turn forward and the other turns in opposite direction, the robot turns on the spot.

        Fig.5. The Robot Motion model

      2. Kinematic Modeling

        For the robot platform under consideration as shown in figure 4, the radius of each wheel is R, and the distance between the center of the robot wheels is L. Given that angular velocity of right wheel( r) and left wheel(l), R, L, the forward kinematic can be modeled.

        The relationship between linear speed (V) of each wheel to angular speed of each will can be given as in (2).

        (2)

        Assume that the robot moves forward along +Xr, consider the contribution of each wheel's angular speed to the linear

        speed of the robot at point C along +Xr. If the right wheel

        The robot speed in the inertial frame is

        (6)

        (7)

        rotates while the left wheel is at rest, there is no contribution of the left wheel to the linear speed of the robot at point C. Because C is half way between the two wheels, the robot linear speed at point C is given as

        in the direction +Xr. and vice versa if the left wheel is spinning while the right wheel is at rest. The summation of this speeds is used to calculate the linear velocity of the robot.

        Therefore

        Substituting for value of V and from (5) and putting in matrix form

        (8)

        Equation (8) is the kinematic model of the robot.

        are the inputs of the controller.

        From this equation, we can say

        (3)

    2. DC motor modeling

    DC motor is the actuating device used to control the

    1. If the spinning speed of each wheel is opposite and the same in magnitude, the robot is stationary and spinning. which means V=0

    2. If the spinning speed of each wheel is the same and in the same direction the robot moves straight along +xr

    3. No lateral slip motion was assumed; then the value of

    linear velocity along yr is zero

    To determine the angular speed of the robot, we consider the contribution of each wheel. when the right wheel is rotating forward, the robot turns in the counter clockwise direction along point C. the angular speed 1 at point C can be computed because the robot is instantaneously moving

    the arc of a circle of radius L. . when the left wheel is rotating forward, the robot turns clockwise around point C. The angular speed 2 at C can be determined

    motion of differentially derived mobile robot. The control of the whole robot system can be reduced to control of DC motor. For the robot under consideration Permanent magnet brushed DC ( PMBDC) motor is used.

    Electrically, permanent magnet brushed DC motors can be modeled as a series of three basic electrical components: a resistor(R), an inductor(L), and a source of electromotive force (EMF), or voltage (Figure 6). The mechanical portion of the model consists of a rotating mass (with inertia J with units of kg_m2), and a linear viscous damping force b ( units of b is N/m/sec).

    similarly.

    Therefore

    Relating robot velocity to wheel velocity

    (4)

    (5)

    Fig.6. Schematic representation of PMDC motor

    From Electric portion

    from mechanical portion

    (9)

    We can represent the Robot speed in the robot frame in terms of the center point C.

    Transfer function for DC motor

    (10)

    Using the Laplace transform, equations (9) and (10) can be written as:

    from equation (12) I(s) can be expressed as

    Substituting in equation (11) we obtain

    (11)

    (12)

    (13)

    Table 1 Effects of increasing each of the PID parameters

    (14)

    from (14) the transfer function of the input voltage, V (s), to the output angle, Ø, directly follows:

    (15)

    The transfer function of the input voltage, V(s), to the angular velocity, , is:

    (16)

    The transfer function can be shown in block diagram

    Fig.7. DC motor block diagram

  4. CONTROL SYSTEM DESIGN

    1. PID speed controller

      PID controller is a low-level controller used to control the rotational speed of DC motor with the help of the values of the constants KP, KD, and KI. KP depends on present error, KI depends on the accumulation of past errors, and KD is a prediction of future errors. They provide control signals that are proportional to the error between the reference signal and the actual output (proportional action), to the integral of the error (integral action), and to the derivative of the error (derivative action), namely

      Respon se

      Rise Time

      Overshoot

      Settling Time

      Steaty-state Error

      Kp

      Decrease

      Increase

      Small increase

      Decrease

      KI

      Small decrease

      Increase

      Increase

      Large decrease

      KD

      Small decrease

      decrease

      decrease

      Minor change

      Block diagram for PID controller with DC motor is shown below.

      Fig.8. Block diagram of DC motor with PID controller

      where:- r is reference input Y is actual output

      B is converted actual output

      e is the error obtained by subtracting B form r

    2. Simulink model For motor with PID controller in Matlab/Simulink

      The Simulink model for Dc motor with PID controller is shown in Figure 9. This model is created in Matlab/Simulink package. PID controller is used with Dc motor in order to control the speed of the motor (wheels). Feedback sensor (tachometer) is used to detect the error between actual and desired speed and the error signal is input for the PID controller. PID gains KP, KI, KD is tuned manually to reach at the desired linear speed. From this model, we can develop Simulink model for whole robot system

      where U(t)= control signal e(t)= error signal Kp=proportional gain KI=Integral gain KD=The derivative gain

      (17)

      The PID controller is mainly to adjust an appropriate

      proportional gain ( K p ), integral gain (K I ), and differential gain (KD) to achieve the optimal control performance. The following table shows the effects of increasing each of the controller parameters KP, KI and KD. This table can be used when the values of the constants KP, KD, and KI must be tuned jointly on the closed loop performance of stable plants in Matlab Simulation and real-world certainly[7] .

      Fig.9. DC motor with PID controller Simulink model

    3. Simulink model for whole robot system with PID controller in Matlab/simulink

    Based on Simuling model for the motor with PID controller we can develop Simulink model for the whole robot system. Figure 10 shows Simulink model for robot linear speed, robot angular speed, robot heading orientation angle theta and turning radius of the robot

    Fig.10. Simulink model for whole robot system

    Additional Simulink models for robot platform can be modeled. X and Y linear speed and X and Y position can be modeled as shown in Figure 11. Figure 12 a) shows Simulink model for linear and angular speeds of the robot. Figure 12 b) shows Simulink model for right and left angular and linear speeds of robot wheels.

    Fig.11. Simulink models for X and Y direction speeds and position of the robot

    a)

    b)

    Fig.12. Simulink model for a) linear and angular speed of robot b) linear and angular speeds for right and left robot wheel's

  5. Testing and Simulation Result

    To test the Simulink model developed, we need the DC motor specification. The DC motor used in this paper is 12V Permanent magnet brushed DC with gear head of gear ratio n=3 and Tachometer with Ktack=1.8is used with the motor. In addition some motor parameters are shown in table2.

    Table 2 parameter for 12v DC motor

    parameter

    Symbol

    unit

    Motor1

    Motor2

    Torque constant

    kt

    Nm/A

    0.062

    0.062

    Back EMF

    constant

    kb

    v/rad/s

    0.062

    0.062

    Geared motor

    inertia

    Jm

    Kg/m2

    0.0551

    0.0551

    Viscous

    damping

    bm

    Nm/rad/s

    0.188

    0.188

    Armature

    resistance

    Ra

    Ohoms

    0.56

    0.56

    Armature

    Inductance

    La

    mH

    0.97

    0.97

    The desired wheel linear speed () of the robot is 0.4m/sec. which is assumed to be equal to robot speed. The desired angular speed of the wheels is

    The desired Voltage corresponding to is V=12V. The control problem is then to control this desired and then controlling Robot linear speed. First, we want to test the simulation for Dc motor with the wheel for KP=1 KI=0 and KD=0. The result of the simulation indicates the robots linear speed is equal to 0.1076m/s. When it is compared with the desired robot linear speed there is an error of 0.2924. The simulation result is shown in fig. 13.

    Fig.13. Simulink result of motor speed with Kp=1, KI=0 and KD=0

    Then we want to tune the PID gains until we get the desired robot linear speed. For the value of KP=17.5, KI=1.2 and KD=8 we obtain robot linear speed V=0.400m/s, which is the desired speed. The simulation result is shown in figure 14.

    Fig.14. Simulink result of motor speed with Kp=17.5, KI=1.72, and KD=8

    Once we are done with the desired Robot speed we can test the Simulink model for the whole robot system. we have four possible options for robot motion

    vr = right wheel linear speed vl = left wheel linear speed

    case1:- when the wheels rotate with the same speed (vr = vl) The robot moves forward.

    case2:- When the wheels rotate with the same speed and opposite in direction (vr = -vl) the robot turns on the spot

    case3:- When vr > vl the robot turns towards the left.

    case4:- When vr < vl the robot turns towards the right.

    Figure.15. shows the model simulation of the whole robot for vr = vl

    Fig.15. Whole robot system simulation for vr = vl

    For equal speeds of right and left wheels (vr = vl):- The relationship between the robot speeds along x and y- direction, position of the robot in x and y-axis, linear and angular speed of the robot, right and left robot wheel speeds can be shown as in figure 16. The turning radius of the robot is zero.

    c)

    1. d)

b)

e)

Fig.16. a) x and y speed per time b) linear and angular speed per time c) X and Y position per time d) linear speed of left and right wheels per time

e) Left and right wheel angular speed per time

For velocity of wheels is not equal vr (12V)> vl (3V_):- The relationship between x and y speed of the robot , x and y position of the robot, linear and angular speed of the robot, left and right wheel angular and linear speeds and radius of curvature can be shown as in figure 17.

a)

b)

c)

d)

e)

Fig.17. a) x and y speed per time b) X and Y position per time c) linear and angular speed per time d) linear speed of left and right wheels per time e) Left and right wheel angular speed per time

It is also necessary to show the result of some motion characteristics of the robot. The robot motion for vr = vl and vl > vr can be shown as in figure 18.

a)

b)

e)

Fig.18.(a) x and y position graph for vr = vl, (b) Vx and Vy graph for vl

> vr and (c) x and y position graph for vl > vr

CONCLUSION

In this work, the mechanical structure for the service robot platform is designed. PID based speed control is accomplished and the results are detected as shown in figure 16,17 and 18. As the values for wheel speeds change the results for linear speed and angular speed of the robot changes. The position and velocities along x and y-axis of the robot also change. The angular speed of the wheels and turning radius of the robot also changes. in addition, some motion characteristics of the robot are shown. This work will be used as an input for the designers of the differential drive service robot to develop control system design for obstacle avoidance and tracking control.

ACKNOWLEDGMENT

First of all, I thank my God for his Guidance in all of my life. Next, I have special thanks to my advisor Prof.Wang zhongmin, professor at Mechanical Engineering department, Tianjin university of Technology and education.

REFERENCES

  1. Tianran Peng, Jun Qian*, Bin Zi, Jiakui Liu, Xingwei Wang "Mechanical Design and Control System of an Omni-directional Mobile Robot for Material Conveying" School of Mechanical and Automotive Engineering, Hefei University of Technology,

    Hefei230009, China

  2. Marco Ceccarelli "Service Robots and Robotics: Design and Robots Application" University of Cassino, Italy[3] Marco Ceccarelli "Service and Robotics: Design and Application"

    University of Cassino, Italy

  3. Dr. J. L. Minase Assistant Professor, "Design of a differential drive mobile robot platform for use in constrained environments" Department of Mechanical Engineering, Sinhgad College of Engineering, Pune Maharashtra, India

  4. Farhan A. Salem "Dynamic and Kinematic Models and Control for Differential Drive Mobile Robots"Department of Mechanical Engineering, Faculty of Engineering, Taif University, 888, Taif,

    Saudi Arabia

  5. Rached Dhaouadi* and Ahmad Abu Hatab "Dynamic Modelling of Differential-Drive Mobile Robots using Lagrange and Newton- Euler Methodologies: A Unified Framework" College of Engineering, American University of Sharjah, Sharjah, UAE

  6. Spyros G. Tzafestas "Introduction to Mobile Robot Control" School of Electrical and Computer Engineering National Technical University of Athens Athens, Greece

  7. Cherry Myint#1, Nu Nu Win#2 "Position and Velocity control for Two-Wheel Differential Drive Mobile Robot"International Journal of Science, Engineering and Technology Research (IJSETR)

  8. Sandeep Kumar Malu & Jharna Majumdar "Kinematics, Localization and Control of Differential DriveMobile Robot" Nitte Meenakshi Institute of Technology, India

One thought on “Design and Control for Differential Drive Mobile Robot

  1. mark ioffe says:

    I think that formula (1) contains an error, since there are no coordinates of translational motion in the 3×3 matrix and it is not clear what T is.

Leave a Reply

Your email address will not be published. Required fields are marked *