Mobile Robotics-Assignment1
Mobile Robotics-Assignment1
Mobile Robotics-Assignment1
A tricycle-like mobile robot is shown in Figure 1. There are usually two different types of mechanisms used
to manoeuvre a tricycle. The first type (1) uses the front wheel for both the steering and driving actions,
while the second type (2) uses the front wheel as the steering wheel and the rear wheels as the driving
wheels. The axial distance between the two wheels is 𝑑 = 0.5𝑚 .
Y
Landmark 1
Landmark 2
Landmark 3
r v
Landmark 4
x,y
Figure 1. A moving robot in the environment with a laser sensor (mounted at the centre of the rear axis)
and landmarks (not to scale).
1
There are TWO parts in this assignment:
1. Derive kinematic equations for both types of drive applied to mobile robots.
2. Assume that the maximum driving velocity is ±1.2 𝑚/𝑠 , the maximum driving acceleration is
±0.6 𝑚/𝑠 2 , the maximum steering angle and steering velocity are ±𝜋/6 𝑟𝑎𝑑 , and ±0.2 𝑟𝑎𝑑/𝑠 ,
respectively. Using SIMULINK (a MATLAB toolbox) to build the kinematic models of the robots,
simulate and demonstrate the behaviour of the vehicle subject to:
i. Constant driving velocity and a constant steering angle.
ii. Constant driving velocity and a linearly changing steering angle.
iii. Linearly changing driving velocity and linearly changing steering angle.
3. The robot is required to follow a trajectory shown in Figure 2. Plan the driving acceleration and
steering (rate of angular change) profiles for the front wheel steering and rear wheel driving the
robot so that the robot will follow the path. Apply the same control profile to the front wheel
steering and front wheel driving robot. Is the outcome the same? Explain why.
4. Present at least the following results in your report:
i. Compare the results obtained from the two models and discuss the meaning of the results.
ii. Show that the robots are moving along the predefined path.
iii. Calculate the minimum radius of curvature of the circle that the vehicle can drive around.
Confirm this with simulation results.
Finish
8m
8m
Start
Figure 2. The path that the robot has to follow (not to scale).
In this part, the tricycle-like mobile robot (shown in Figure 1) is assumed to use its front wheel to steer 𝛼
and to drive 𝑣 . The axial distance is 𝑑 = 0.5𝑚 . It is also assumed that the control inputs 𝑣 and 𝛼 are
corrupted by Gaussian noises with zeros means and variances of 𝜎 𝑣2 = 10 −4 𝑚2 /𝑠 2 and 𝜎𝑤2 = 6 ×
10 −4 𝑟𝑎𝑑 2 , respectively.
In order to estimate the robot’s position accurately, external landmarks are used to provide
measurements that can infer the pose of the robot. Assume that a laser range finder is attached to the
centre of the rear wheel axis (as shown in Figure 1). The laser sensor measures the distance 𝑟 and the
angle 𝑏 between the robot and the landmark. It is assumed that the laser sensor can measure all
2
landmarks in the workspace. The variances of the sensor measurement are 𝜎𝑟2 = 10 −5 𝑚2 and 𝜎𝛽2 = 5 ×
10 −4 𝑟𝑎𝑑 2 . The laser readings will be given as a vector that contains two columns, the first column being
the range reading, and the second column being the angle (bearing) reading. The number of rows returned
from the sensor depends on how many landmarks the sensor can ‘see’. In addition, the order of the vector
is given as the smallest (most negative) angle being the first row and the largest (most positive) angle
being the last row.
It is assumed that the robot could be anywhere in the space of 𝑥 ∈ [0, 5]𝑚 , 𝑦 ∈ [0, 5]𝑚 , and 𝜃 ∈
[0, 𝜋] 𝑟𝑎𝑑 . The robot is driven by the nominal input signals of velocity 𝑣 = 0.15 𝑚/𝑠 and the steering
angle 𝑎 = 0.2 𝑟𝑎𝑑 . It is also assumed that the sampling time of the controller and sensor is 0.05 seconds.
There are four landmarks in this space. They are located at [2, 2.5]𝑚 [3, 2.5]𝑚 , [3, 2]𝑚 and [3, 1]𝑚 .
Students are required in this part of the assignment to:
1. Simulate/generate the actual vehicle position during the first 10 seconds of motion. Use the
normal control velocity and steering angle with zero mean Gaussian noise and the corresponding
variances stated above. Your data should contain three rows representing 𝑥 , 𝑦 , and 𝜃 , each
column represents the pose against time (i.e., 0 – 10 seconds at 0.05 second interval).
2. Generate the measurements to landmarks (range 𝑟 and bearing 𝑏 , which should include the
measurement noise. Your data, range and bearing respectively, should contain four rows
corresponding to the landmarks (e.g., first row for landmark #1, second row for landmark #2,
etc.). Each column contains measurements separated by 0.05 second.
3. Develop the Particle Filter (PF) algorithm to calculate the pose of the vehicle using the measured
range and bearing values. Write the MATLAB program to implement this algorithm.
4. Complete and demonstrate the working of PF in MATLAB to estimate the positions of the vehicle.
5. Present at least the following results in your report:
i. Plot and compare the pose results obtained from the particle filter with the actual data.
ii. Plot and compare the estimation errors in 𝑥 , 𝑦, and 𝜃from the particle filter and the actual
pose.
iii. Comment on the effectiveness (or ineffectiveness) of the filter.
NOTE:
1. The final written report should be no more than 15 A4 pages, excluding the cover page. There will be
The fonts used should not be smaller than 12 pts Times New Roman with a margin of no less than 2cm
on all sides.