Aims:

The students will gain insight into robotics systems and the general concepts, mathematic and algorithms that underpin moving and actuating robotic arms and systems. Specific topics we cover include fundamental linear algebra, transformations, kinematics and inverse kinematics, dynamics and mechanisms, and motion planning. These will all be applied to problems in simulation and programming of robotic systems.

Learning outcomes:

On successful completion of the module, a student will be able to:

Understand robot kinematics.
	Understand robot motion planning.
	Understand different robotic mechanisms, specifically robotic arms.
	Programme with Python and ROS.
	Apply learned theory to programming solutions for robotics problems in simulation.
Content:

The aim of this module is to provide the basic theory required for solving problems involving the motion of robotics and autonomous systems from a practitioner point of view. The module presents theory and methodology for analysis and modelling of robot kinematics, and methods for moving robots within workspaces.

Special emphasis is placed on:

Linear algebra needed for robot motion and transformation.
	Robot kinematics (forward and inverse) and DH tables.
	Planning and executing robot motion.
	Computing dynamics with equations of motion.
	Theoretical lectures will be accompanied by corresponding practical exercises using ROS and predominantly carried out in simulation.
Requisites:

To be eligible to select this module as an option or elective, a student must: (1) be registered on a programme and year of study for which it is a formally available; (2) be able to use Ubuntu and have some background/experience in programming, especially using Python (and preferably ROS); and (3) be comfortable with linear algebra mathematics.

Note that the module has previously run on Ubuntu 18.04 (Bionic) and the lab materials/coursework have run on ROS Melodic. Students are required to have a laptop running Ubuntu that has a minimum of 2.5GHz dual core processor, 4GB RAM, 40 GB of hard-drive space and an internet connection, can run an installation of ROS on Ubuntu and be used during lab sessions. Students can either have a dual-boot setup with Ubuntu and their OS of choice, or can use a virtual machine (such as Virtual Box) to install Ubuntu. In case of the latter option, at least 8GB of RAM should be available for smooth performance.