ROBOTICS - 2025/6

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): N/A

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.

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

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

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

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

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

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

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

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

[Lecture 15] Multi-agent systems [Challenge 3] Baxter Challenge

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

[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

N/A

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 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

Learning outcomes

Attributes Developed
Ref
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

 

There will be  lectures, with an associated 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:

Lectures

Laboratories

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

https://readinglists.surrey.ac.uk
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: ieo.incoming@surrey.ac.uk

  • 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.

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 2025/6 academic year.