ROBOTICS - 2023/4

Module code: EEE3043

Module Overview

Module purpose: Modern robotics brings together many aspects of engineering including electronics, hardware, software and AI. This leads to complex asynchronous systems that requires a systems engineering approach. The Robotics Operating System (ROS), is an extensive community built software suite that underpins most leading-edge robotics development. It provides extensive hardware interfacing and high-level functionality which allows complex systems engineering and control while abstracting away much of the complexity inherent to robotics systems design. This module will use ROS to provide a solid foundation in systems engineering based robotics.

Module provider

Computer Science and Electronic Eng

Module Leader

BOWDEN Richard (CS & EE)

Number of Credits: 15

ECTS Credits: 7.5

Framework: FHEQ Level 6

Module cap (Maximum number of students): 100

Overall student workload

Independent Learning Hours: 93

Lecture Hours: 11

Laboratory Hours: 18

Guided Learning: 10

Captured Content: 18

Module Availability

Semester 2

Prerequisites / Co-requisites

Strong C/C++ knowledge (e.g. EEE1035), Python, experience with practical electronics (year 1 modules)

Module content

Indicative content includes the following.

Week 1: [Lecture 1] Introduction to Robotics [Lecture 2] Robot Operating System [Lab] ROS Software Lab

Week 2: [Lecture 3] PIDs, microcontrollers [Lecture 4] Developing your own ROS nodes [Lab] Self balancing hardware lab

Week 3: [Lecture 5] Gazebo, URDF, transform trees [Lecture 6] Sensors [Lab] Self balancing software simulation lab

Week 4: [Lecture 7] Kalman filter & sensor fusion [Challenge 1] Self balancing challenge

Week 5: [Lecture 8] Particle filters, Monte Carlo localization [Lecture 9] Planning [Lab] Sensor fusion software lab

Week 6: [Lecture 10] Mapping [Lecture 11] SLAM (Simultaneous localization and mapping) [Lab] Turtlebot navigation software lab

Week 7: [Lecture 12] Inverse Kinematics & manipulation [Challenge 2] Turtlebot challenge

Week 8: [Lecture 13] MoveIt [Lecture 14] High level perception [Lab] Baxter software lab

Week 9: [Lecture 15] Multi-agent systems [Challenge 3] Baxter Challenge

Week 10: [Lecture 16] AI and decision processes [Lecture 17] Reinforcement learning [Lab] Intelligent robotics software lab

Week 11: [Lecture 18] Revision [Challenge 4] Intelligent robotics challenge

Assessment pattern

Assessment type Unit of assessment Weighting
Examination 2 Hour PC Lab (Open Book) Invigilated Exam 100

Alternative Assessment


Assessment Strategy

The assessment strategy for this module is designed to provide students with the opportunity to demonstrate both knowledge and practical expertise in the design and implementation of various robotics systems. The written examination will assess knowledge and the assimilation of terminology, concepts, and features of various robotic subsystems, and the specific use of these concepts in the robotics operating system. The practical challenges will evaluate the ability of students to design and implement these skills in a practical setting.

Thus, the summative assessment for this module consists of the following:

Examination: an invigilated 2 hour open book exam

Any submission deadline given here is indicative. For confirmation of exact date and time, please check the Departmental assessment calendar issued to you.

Formative assessment and feedback:

For the module, students will receive assessment/feedback in the following ways:

During lectures, by question and answer sessions

During supervised laboratory sessions via verbal feedback

Through completion of the practical challenges

Module aims

  • This module will provide an understanding of both the techniques and practices that underpin modern industrial robotics
  • Give a practical overview of robotics from a systems engineering perspective
  • Provide an understanding of the ROS ecosystem and development
  • Provide a solid foundation into underlying theories of modern robotics and how they are manifest within ROS
  • The module also aims to provide opportunities for students to learn about the Surrey Pillars listed below.

Learning outcomes

Attributes Developed
001 Demonstrate an understanding and application of the ROS ecosystem KC C1,C2
002 Demonstrate the integration of new sensors into ROS PT C12, C13
003 Understand the role of simulation in modern robotics KP C3
004 Provide an overview of the current state of the art of robotics subsystems and how they are implemented in ROS KP C6
005 Develop, as part of a group, complex asynchronous ROS applications KCPT C5,C16

Attributes Developed

C - Cognitive/analytical

K - Subject knowledge

T - Transferable skills

P - Professional/Practical skills

Methods of Teaching / Learning

Overall student workload is 18 lectures.

There will be 2 hours of lectures per week, with an associated 2 hours of laboratory-based (including hardware and software labs) material that will closely follow the lectured material. The purpose of the laboratories is for students to gain first-hand experience in applying the concepts taught in lectures and their implementation in ROS. Students are expected to complete weekly lab sheets which include scaffolded content to enable their development of core robotics and ROS knowledge. During challenge weeks the students will instead receive 1 hour of lectures, and will have 3 hours of scheduled lab time, to prepare for and participate in the practical robotics challenges. Challenges will allow students to work in groups to develop high-level robotic systems that tackle specific problems.

Learning and teaching methods include the following:



Indicated Lecture Hours (which may also include seminars, tutorials, workshops and other contact time) are approximate and may include in-class tests where one or more of these are an assessment on the module. In-class tests are scheduled/organised separately to taught content and will be published on to student personal timetables, where they apply to taken modules, as soon as they are finalised by central administration. This will usually be after the initial publication of the teaching timetable for the relevant semester.

Reading list
Upon accessing the reading list, please search for the module using the module code: EEE3043

Other information

This module has a capped number and may not be available to international exchange students. Please check with the International Engagement Office email:

  • This module will enhance digital capabilities by taking a systems engineering approach to robotics. This will give a broad overview of all the interconnected aspects of an embodied digital system.
  • Building on the international ROS ecosystem the course improving the employability of students by providing a key skill sought by industry. By building on C/C++ and python skills, this course gives a system development perspective on integrating electronic, mechanical and software components, as such, a key skill developed in this course is problem solving.
  • This in turn will help develop resourcefulness and resilience, especially as the course is taught through a series of programming laboratories and group-based challenges that follow the lecture material and allow the students to put ideas into practice. The lab material provides scaffold to learning that lead to a series of challenges where the students must put what they have learning into practice in terms of problem solving. It also provides opportunities for group work, problem solving and decision making. Complexity of the material and problems increases throughout the course to provide scaffolded learning for the students. In a similar way, the group-work will allow students to engage in a collaborative robot design task and will help prepare them for the design question within the exam.

Programmes this module appears in

Programme Semester Classification Qualifying conditions
Computer and Internet Engineering MEng 2 Optional A weighted aggregate mark of 40% is required to pass the module
Computer and Internet Engineering BEng (Hons) 2 Optional A weighted aggregate mark of 40% is required to pass the module
Electronic Engineering BEng (Hons) 2 Optional A weighted aggregate mark of 40% is required to pass the module
Electronic Engineering MEng 2 Optional A weighted aggregate mark of 40% is required to pass the module
Computer Vision, Robotics and Machine Learning MSc 2 Compulsory A weighted aggregate mark of 40% is required to pass the module
Electronic Engineering MSc 2 Optional A weighted aggregate mark of 40% is required to pass the module
Electronic Engineering with Computer Systems MEng 2 Optional A weighted aggregate mark of 40% is required to pass the module
Electronic Engineering with Computer Systems BEng (Hons) 2 Optional A weighted aggregate mark of 40% is required to pass the module

Please note that the information detailed within this record is accurate at the time of publishing and may be subject to change. This record contains information for the most up to date version of the programme / module for the 2023/4 academic year.