ROBOTICS - 2023/4
Module code: EEE3043
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.
Computer Science and Electronic Eng
BOWDEN Richard (Elec Elec En)
Number of Credits: 15
ECTS Credits: 7.5
Framework: FHEQ Level 6
JACs code: H671
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
Prerequisites / Co-requisites
Strong C/C++ knowledge (e.g. EEE1035), Python, experience with practical electronics (year 1 modules)
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 type||Unit of assessment||Weighting|
|Examination Online||2 HOUR ONLINE (OPEN BOOK) EXAM WITHIN 4 HOUR WINDOW||100|
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: open book exam within a 4-hour window
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
- 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.
|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|
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.
Upon accessing the reading list, please search for the module using the module code: EEE3043
This module has a capped number and may not be available to international exchange students. Please check with the International Engagement Office email: firstname.lastname@example.org
- 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
|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 MEng||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|
|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 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.