Call/WhatsApp: +1 332 209 4094

Turning Control System for a Wheeled Rover

Turning Control System for a Wheeled Rover

Rovers are robotic vehicles that are widely used for operations within remote and sometime dangerous
environments e.g. bomb disposal, space exploration. In order for rovers to perform these duties they
must be able to manoeuvre accurately, which depends on their drive control systems. This assignment
involves the development of a simulation of a heading control system for a wheeled rover. Firstly,
background information is provided, followed by the problem specification for the assignment
Wheeled rovers, as the name suggests, are robotic vehicles that have propulsion systems based on the
motion of motor driven wheels. Various different configurations of wheels have been employed in the
design of rovers e.g. 6 wheel rocker-bogie used in design of the Curiosity Rover (see Figure 1).
Figure 1: Curiosity Rover
This type of rover has both drive motors (for moving the wheels and ultimately the vehicle) and
steering motors (for changing the direction of the vehicle). This type of system is complex and
considerably difficult to control effectively.
Other types of rovers depend on the differential motion of wheels on either side of the vehicle. An
example of this, which will be the focus of this assignment, is the 4 wheel rover shown in Figure 2.
Figure 2: 4 Wheel Rover
The motion of this vehicle is determined by the relative motions of the motor driven wheels. The
forward propulsion of the rover is produced by the sum of the force produced by the wheels (see Figure
3(a)). Whereas the turning motion of this type of rover is determined by the difference in forces
produced by each set of wheels on either side of the vehicle e.g. if the two wheels on the right hand
side of the vehicle move slower than those on the left hand side then the rover will turn to the right
(see Figure 3(b)).
(a) Forward Motion (b) Turning Motion
Figure 3: Rover Motions and Wheel Forces
The turning motion described in Figure 3(b) is the focus of this assignment as outlined in the Problem
Specification below.
Problem Specification
The motion of the rover is regulated by automatic control systems that determine the necessary speed
and direction of the vehicle. In order to achieve this, the rover must be equipped with the necessary
systems to ensure its automatic guidance within it operating environment. The general principle of
completely automated guidance systems is to feed information from the heading and speed sensors to
the rover’s control system.
In this study we will consider the development of a simulation that represents the heading control
system only. This system changes the voltage applied to the wheel motors to produce the required
turning motion and thus change the heading of the rover.
The geometry of this turning manoeuvre is shown in Figure 4.
Figure 4: Geometry of turning manoeuvre
The turning control system produces the required wheel speeds to generate a coordinated turning
manoeuvre that changes the rover’s heading or yaw angle. It achieves this by comparing the actual
yaw angle, ψ (radians), with the reference heading, ψref (radians). A diagram of the total system is
shown in Figure 5.
Figure 5: Rover Turning Control System
From Figure 5 it can be seen that the Turning Control System uses the error difference between the
reference yaw angle, ψref, and the rover’s actual yaw angle, ψ. In this case the value for ref (the
reference heading) is taken to be 40° which passes through the Signal Conditioning system

(represented by a simple gain KC). The yaw angle, ψ, is measured using the Heading Compass which
is represented by a simple gain KH.
Here  is a function that is related to the difference between reference and actual heading angles.
The resulting commanded motor voltage difference V (volts) is then used to control the wheel motors
to generate an appropriate heading for the rover to follow (). It achieves this by means of a
proportional gain GC and an integral term with gain KI. These gains determine the performance of the
control system. This is an overview of the entire system.
A key part of the overall Rover Turning Control System is the rover and its interaction with the wheel
motors. In Figure 5 this system is regarded as the conversion process between the commanded voltage
difference, V, and the actual heading of the rover, . This process is more involved than this
simplified system diagram would lead you to believe.
The voltage difference from the control system is combined with the drive voltage, VD (volts), to
produce the corresponding input voltage for each wheel motor. The forces generated by the wheels
are then used to influence the turning dynamics of the rover. A detailed description of this system and
how it interacts with the rover can be seen in Figure 6.
Figure 6: Rover and Wheel Motors
It is assumed that the 2 wheel motors on each side have the same voltage applied and produce the same
force. Therefore, the total combined force on the left side is represented by FL (N) and the total
combined force on the right side is represented by FR (N). The difference in these forces generates the
turning motion of the rover. These cause the sway velocity, v (m/s), yaw rate, r (rad/s) and yaw angle,
ψ, to change (note that r  ).
The motors in this case are d.c. motors and each can be represented by the following relationships:

Here i is the motor current (A), m is the speed of rotation of the motor (rad/s),  is the difference in
speed between the motor and the wheel (rad/s), Jm is the moment of inertia for the motor armature
), L is the inductance (H), R is the resistance (), bs is the damping coefficient, Kt is the torque
and yaw

constant and Ke is the back emf constant. The inputs to the motors are Vin = VD  V depending on the
which side is being considered.
The wheel can be treated as load on the motor’s shaft and therefore have its own dynamics. This can
be represented by the following equation.

Here w is the speed of rotation of the wheel (rad/s) and Jw is the moment of inertia for the wheel
In this case VD = 2V. The current from each motor can be used to generate the total wheel forces on
the left and right sides i.e.

Here Rw (m) is the radius of the wheel. These forces influence the sway and yaw dynamics as described
by the following two equations:

Here RM is the moment arm for the motor relative to the rover’s centre of gravity and VT is the resultant
forward velocity of the rover.
The combination of all these elements produces a mathematical model for the Turning Control System
for the Rover. Using this model as a basis, perform the following investigations:
1. Use the description given above to derive the state space model for the Rover Turning System.
2. Use this model and the parameter values given in the Appendix A to produce an equation based
simulation of the Rover Turning Control System in Matlab. Employ a suitable numerical
integration method with a suitable step-size in the simulation of your system. Do not use the
in-built Matlab integration functions.
3. Analyse the dynamic response of the system. Do you think this a good design for the Turning
Control System?
4. Using basic blocks in Simulink, construct a block diagram simulation of the Rover Turning
5. Use the responses from this block diagram simulation to validate your Matlab model from part
(2) and simulation responses from part (3).
6. In order to improve the performance of the coupler it is normal practice to include an integral
term within the Turning Control System for the Rover. Use your Matlab simulation to
investigate the effect of introducing the integral term.
7. Find values for KI and Gc that provide the best performance from this system.
8. So far the longitudinal dynamics of the Rover have been considered to be constant. One way
to incorporate these dynamics is to vary the resultant forward speed of the Rover, VT. Within
your Matlab simulation use the data presented in Table 1 (Appendix B) to represent the change
in the speed of the rover as time progresses. Implement Newton’s Divided Difference
interpolation method to determine the speed values that fall between and on these data points.
Implement this interpolated speed change within your Matlab simulation code. Do not use the
in-built Matlab interpolation functions i.e. write your own code.
Once you have finished your study, complete a report form outlining the development of your model
and simulation, and your assessment of this system. The report form can be found on the moodle page
for this course. Your report should be submitted before 4pm on 4
th December 2020.