COMP52815
1
Robotics Coursework
(2023-2024)
1. Coursework introduction
This coursework includes three tasks. Task 1 is to apply a motion-based localisation technique to
the mobile robot. Task 2 is to develop a motion control strategy based on the robot model and the
developed localisation method. Task 3 is to test the effectiveness of the proposed motion control
algorithm using a real mobile robot. For detailed descriptions and tasks, please refer to the
individual parts.
You should submit your completed assignments via Blackboard Ultra. The deadline for your
submissions is at 2 pm on Monday 8th of January, 2024. Each of you should include the following
four files in your submission:
1) The report (PDF format)
2) The localisation file (Deadreckoning.m)
3) The motion control file (driveToGoal.m)
4) The video of the real-robot experiment.
For the report, the maximum number of pages is 6 and the minimum font size is 11pt (Only use
Arial, Calibri, Times New Roman). Please put each task in a separate section and describe the
method and the reasons for choosing such approach. If there are tuning parameters, describe how
to tune them and what values to choose. If necessary, put the results in the form of diagrams,
figures, tables, etc. You should also include discussion, reflection, conclusion, and recommendation
about the results. Please note that, providing a collection of results and figures without detailed
explanations and reflections will correspond to low marks!
COMP52815
2
2. Tasks
Preparation (0 marks).
• Unzip the MATLAB Robotic User Interface (mobile-robot-matlab-ui.zip)
• MRUI folder contains different files as shown in the following figure, each file will be
explained in the subsequent sections.
• Open the MRUI by selecting the mobile_robot_platform.m
The following screen should appear
COMP52815
3
• Make sure the current folder address tab in MATLAB has the folder address where the MRUI
folder is located; by verifying the folders inside MRUI appear in the current folder tab.
• Note that if you click the Run button, the directory tab changes automatically. If not, you
should click the ‘Change Folder’ button.
COMP52815
4
• Run the program from the editor tab in MATLAB.
• The following screen should appear. Note, since there is no control program at his time the
Robot (represented by the red triangle will not move).
COMP52815
5
Task 1 (30 marks): Localisation
Implement a Dead Reckoning Localisation algorithm following the next steps:
• Open mobile-robot-matlab-ui/mobile_robot_platform.m
• After opening the mobile robot simulator GUI, click on ‘add robot’ with the icon ‘ ’ and select
‘puzzle_bot_0003.json’ then select ‘test_localisation.m’.
• Set the initial pose in mobile robot simulator GUI as [0 0 0].
• Open mobile-robot-matlab-ui/my_examples/Deadreckoning.m file.
• Write your code for localisation in Deadreckoning.m file in the allocated section for this task
(line 24).
The following parameters are used in the program.
Parameter in
MATLAB
Notation Description
S k
Robot pose mean (3x1) [ ] where
[], [] and []
Sig k Robot pose covariance (3x3)
dt Sampling time (1x1) in seconds []
w_l Left motor encoder reading [/ ]
w_r Right motor encoder reading [/ ]
r Radius of the wheels (0.05 [])
L Robot wheel base (1x1) (0.09[])
k =
Error associated with computing the
angular velocity for each wheel
Note that, S and Sig are the parameters to be updated by your code.
• Run your program using mobile robot simulator GUI by clicking on ‘Run’ with the icon .
• Show the true path by ticking its associated box:
• After 20 seconds, the simulation should finish, then click on ‘Zoom In’ form the icon ‘ ’ and
zoom in the final location of the robot pose where you should be able to see the robot
covariance after zooming.
• Explain the performance of the localisation.
• Discuss the strategy to further improve the performance
End of Task 1
COMP52815
6
Task 2 (35 marks): Motion Control
Implement a control algorithm to move the robot from its current position to an arbitrary goal point
within the boundaries of the simulated world, following the next steps:
• Open mobile-robot-matlab-ui/mobile_robot_platform.m
• After opening the mobile robot simulator GUI, click on ‘add robot’ with the icon ‘ ’ and select
‘puzzle_bot_0003.json’ then select ‘driveToGoal.m’.
• Open mobile-robot-matlab-ui/my_examples/driveToGoal.m file. Set the initial pose
in mobile robot simulator GUI as [0 0 0].
• Set the goal point in line 14, e.g., [
] = [
2
3
].
• Write your code for Motion Control in the allocated section for this task in line 79.
The following parameters are used in the program.
Parameter in
MATLAB
Notation Description
S k
Robot pose mean (3x1) [ ]
where [], [] []
goal Goal point (2x1) [ ]
w_r_set
Right motor speed set point.
[/ ]
w_l_set
Left motor speed set point.
[/ ]
w_sat
Maximum angular speed of both the
right and left wheels [/ ].
r Radius of the wheels (0.05 []).
L Robot wheel base (1x1) (0.09[]).
my_alg('is_done’) …
A command to stop the simulator.
(true, false)
Note that w_r_set and w_l_set are the parameters to be updated by your code.
• Test your algorithm for different scenarios with different goal points.
• Explain the performance of your control strategy.
End of Task 2
COMP52815
7
Task 3 (20 marks): Real-Robot Experiments
Apply the motion control algorithm developed in Task 2 to a real robot, Puzzlebot, as shown in the
following picture:
You should follow the next steps to apply your control strategy to the robot:
• Check the IP address in the GUI and the robot IP address that is shown in the screen of the
real robot. If they are different, change the IP address in the GUI to be the same as the one
shown on the robot screen.
COMP52815
8
• Select the ‘Session’ tab, and then click the checkbox ‘Connect to physical robot’
• Click the ‘ ’ tap and select ‘puzzle_bot_0003.json’ then select ‘driveToGoal.m’. Then
run the program.
• Explain the performance of your control strategy and discuss the difference between simulation
and real experiments.
• Record a video of the real robot moving towards the desired goal position.
End of Task 3
COMP52815
9
3. How to submit?
You will submit four files:
1) Deadreckoning.m
2) driveToGoal.m
3) A .pdf file. In this file, you present your answers for Task 1-3 (maximum 6-page).
4) A video file, only one of the following should be used: mpeg, mp4, mpg, (maximum 1 min).
Important: You must compress all files into a single .zip file, and name your .zip file as
“YourName_YourID.zip”, make sure to replace “YourName” with your own name and
“YourID” with the ID given to you by the University.
For example, JohnDavidson_cgab36.
Please upload your compressed file to Ultra for submission. The total size of your .zip file should not
exceed 20MB.
The submission deadline is at 2 pm on Monday 8th of January 2024.
4. Collaboration policy
You may discuss your work with anyone, but you must complete your work yourself
independently and comply with the University rules regarding plagiarism and collusion
(https://www.dur.ac.uk/learningandteaching.handbook/6/2/4/1/). Your submissions will be
assessed for collusion and plagiarism.
COMP52815
10
5. Feedback Sheet
Task 1 – Localisation (30 marks)
Content Mark
Plot robot estimated path and covariance elipsoid 5
Explain and reflect why the real robot path is different from the estimated path
(What are the problems with localisation? Why? Real system expectations? Is the
behaviour expected? How does it relate to literature/theory? etc.)
10
Show, explain and reflect on the effect of the noise and the covariance
unbounded propagation over time (Does the covariance propagate equally when
the robot moves straight vs when it turns and why? Tests used to prove this?
Conditions, constraints, real system expectations? Is the behaviour expected?
How does it relate to literature/theory?, etc.)
10
Propose a potential solution for a better localisation performance and justify why it
will help. The implementation is not required.
5
Task 2 – Motion Control (35 marks)
Content Mark
Plot robot estimated path and covariance elipsoid 5
Explain the method you used to achieve the desired motion control goal.
Equations and some details are expected.
10
Explain and show the parameter tuning methodology and the advantages and
disadvantages of the controller used (Tuning methodology? Which tests were
used to tune the parameters? Constraints? Acceptance conditions?
Comparisons, advantages and disadvantages of the control method? Is the
control affected by nonlinearities? How? etc. )
10
Testing the algorithm for two different scenarios (different goals, plots for each
case).
5
Propose different approaches to enhance the performance and reflect on the
robot behaviour (Why we expect better performance? Comparisons, discussions,
improvements, theoretical analysis) The implementation is not required.
5
Task 3 – Experiments (20 marks)
Content Mark
Plot real robot trajectory observed from simulator 5
Explain the performance of the real-robot experiment. What are the differences
between real-robot experiments and the simulations? How do you improve the
performance of the mobile robot by considering real-world uncertainties and
disturbances?
10
A good quality video record of the experiment showing the smooth movement of
the robot in the real-world environment. Full 5-mark will be deducted from
overlength videos!
5
COMP52815
11
Others (15 marks)
Content Mark
Report presentation, language, format and clarity 10
Correctness and clarity of the codes 5