Robotics Foundations (H) COMPSCI4076

  • Academic Session: 2023-24
  • School: School of Computing Science
  • Credits: 10
  • Level: Level 4 (SCQF level 10)
  • Typically Offered: Semester 2
  • Available to Visiting Students: Yes

Short Description

This course will introduce students to the computational and mathematical concepts, information processing and software frameworks of robotic systems. It will also consider the sensory and actuation systems required by a robot to sense, understand and interact with its environment. The primary aim is to give students an understanding of how to prototype and implement autonomous robotic systems by making use of a sophisticated robotic middleware (e.g. Robot Operating System (ROS)), its associated data transmission channels, software robotic stacks and the underlying mathematics required to operate a robot. This is a hands-on course, designed to provide students with the required programming, mathematical and debugging skill-set to implement robotic solutions based on the use of off-the-shelf commercially available real and virtual robots. Python skills are a requirement for this course; C/C++ skills are desirable but not essential.


One two-hour lecture and one hour lab session per week.

Requirements of Entry

Data Fundamentals (H) (or equivalent)

CS1P (or equivalent)

Excluded Courses





Team Project Application: 20%, Exam: 80%

Main Assessment In: April/May

Are reassessment opportunities available for all summative assessments? No

Reassessments are normally available for all courses, except those which contribute to the Honours classification. For non-Honours courses, students are offered reassessment in all or any of the components of assessment if the satisfactory (threshold) grade for the overall course is not achieved at the first attempt. This is normally grade D3 for undergraduate students and grade C3 for postgraduate students. Exceptionally it may not be possible to offer reassessment of some coursework items, in which case the mark achieved at the first attempt will be counted towards the final course grade. Any such exceptions for this course are described below. 


Reassessment of coursework is not possible as much of the assessed work will be done in groups, and the remaining coursework is linked to lectures and lab sessions.

Course Aims

The aims of Robotics Foundations are:

■ To facilitate students understanding of core concepts involved in robotic software development, from perception to planning and action;

■ To understand how sensed data and pre-obtained information, or world/domain "knowledge", is used to plan interaction with the environment

■ To understand matrix and transformation mathematical operators to accomplish complex robotic motions.

■ To develop the ability to implement, test, validate and deploy a mobile/manipulation robotic problem, based on the use of the Robot Operating System.

■ The relationship between physical robots and their virtual equivalents required for simulation, development and debugging will also be considered.

■ To develop a complete robotic application using off-the-shelf virtual robotic platforms.

Intended Learning Outcomes of Course

By the end of this course, students will be able to:


1. Describe and understand what constitutes a robot system

2. Formulate robot's information capabilities within robotic middleware and understand how data is transformed from basic control, sensor and perception functions to robot actions

3. Create and implement robot kinematics and motions in mobile robots and robot manipulators

4. Apply techniques for path and motion planning that allows a robot to move

5. Design control/behaviour tasks for mobile robots and robot manipulators

6. Apply practical software engineering principles during the development of a robotic application

7. Understand the facilities provided by ROS and how to structure robot control software systems using ROS and vision systems in OpenCV.

8. Be able to program a data processing pipeline consisting of a robot control system in the ROS environment to carry out a specific task, such as locating an object, grasping it and placing it in another location.

Minimum Requirement for Award of Credits

Students must submit at least 75% by weight of the components (including examinations) of the course's summative assessment.