production
Skip to Content

EG554W: INDUSTRIAL ROBOT PROGRAMMING AND LEARNING (2024-2025)

Last modified: 23 Jul 2024 11:03


Course Overview

The aim of the course is to give an overview of the different approaches to specify motions of industrial and mobile robots, up to autonomous robots that learn from their experiencesThe course introduces students to the fundamentals of machine learning, which are relevant for robotics research and practice. 

Course Details

Study Type Postgraduate Level 5
Term Second Term Credit Points 15 credits (7.5 ECTS credits)
Campus Aberdeen Sustained Study No
Co-ordinators
  • Dr Andres San-Millan

What courses & programmes must have been taken before this course?

  • Any Postgraduate Programme
  • Either Master Of Science In Industrial Robotics or Master Of Science In Robotics And Artificial Intelligence (Sept Start)
  • Either EG504N Localisation and Mapping in the Industrial Domain (Studied) or Master Of Science In Robotics And Artificial Intelligence (Sept Start)

What other courses must be taken with this course?

None.

What courses cannot be taken with this course?

  • EG556J Industrial Robot Programming and Learning (Passed)

Are there a limited number of places available?

No

Course Description

The course spans from manual teach-pendent programming of industrial manipulators to reinforcement learning for autonomous robots. It covers the path planning problem and its (un-)informed graph search solutions as well as the machine learning problem and the concept of overfitting. The course begins with a classification of programming approaches for industrial robots. Later, the characteristics of maximum likelihood and maximum a posteriori estimation are compared just as those of (Gaussian) naïve Bayes and logistic regression classifiers. An overview on the units of multi-layer neural networks and backpropagation is given. Finally, the differences and similarities between value-based, policy-based and actor-critic reinforcement learning techniques are conveyed.

Course Content

  1. Introduction – Nomenclature, history, state of the art, challenges, course logistics
  2. Robot-oriented Programming – Teach pendant programming, hand guiding, text-based programming, graphical offline programming
  3. Task-Oriented Programming – Roadmap generation, uninformed graph search, informed graph search
  4. Decision Trees – Definition, decision tree learning, overfitting, receiver-operating characteristic
  5. Generative Probabilistic Classifiers – MLE, MAP, naïve Bayes, Gaussian naïve Bayes
  6. Discriminative Probabilistic Classifiers – Logistic regression, gradient ascent, generative vs. discriminative classifiers
  7. Artificial Neural Networks – Parameterized units, multilayer networks, backpropagation
  8. Task-oriented Programming under Uncertainty – Markov Decision Process, utility, value iteration, policy iteration
  9. Reinforcement Learning – Monte-Carlo and temporal-difference learning, Q-learning, DQN, policy-based, actor-critic

Contact Teaching Time

Information on contact teaching time is available from the course guide.

Teaching Breakdown

More Information about Week Numbers


Details, including assessments, may be subject to change until 30 August 2024 for 1st term courses and 20 December 2024 for 2nd term courses.

Summative Assessments

Lab Report: Individual

Assessment Type Summative Weighting 15
Assessment Weeks 28,31,34,35 Feedback Weeks

Look up Week Numbers

Feedback

Lab notebooks are returned with comments after the lab sessions. General feedback to all class is provided during and after each session. One-to-one discussion with student where requested or appropriate.

Learning Outcomes
Knowledge LevelThinking SkillOutcome
ProceduralAnalyseDerive maximum likelihood and a posteriori estimators as well as apply (Gaussian) naive Bayes
ProceduralApplyUse and train decision trees including the basic operations for data (pre)processing
ProceduralApplyApply dynamic programming techniques on Markov Decision Problems including the computation of value functions and optimal policies
ProceduralApplyApply and implement graph-search techniques for path planning including the computation of roadmaps
ProceduralEvaluateAssess reinforcement learning solutions to toy text, classic control and robotics problems

Exam

Assessment Type Summative Weighting 70
Assessment Weeks 40,41 Feedback Weeks 42,43,44

Look up Week Numbers

Feedback

On-Campus Invigilated Open Book Exam.

Feedback by appointment with course coordinator.

Learning Outcomes
Knowledge LevelThinking SkillOutcome
ConceptualAnalyseSelect (and apply) appropriate robot programming methods and analyse code in a robot programming language
ConceptualEvaluateDiscuss the concepts of naive Bayes, Gaussian naive Bayes and logistic regression classifiers
ProceduralAnalyseDerive maximum likelihood and a posteriori estimators as well as apply (Gaussian) naive Bayes
ProceduralAnalyseDifferentiate between the components of (un)informed graph-search techniques and Markov Decision Processes as well as the concepts of Utility and Policy
ProceduralApplyApply dynamic programming techniques on Markov Decision Problems including the computation of value functions and optimal policies
ProceduralApplyApply and implement graph-search techniques for path planning including the computation of roadmaps
ProceduralApplyImplement functions with multi/layer neural networks and derive gradients for their training
ProceduralApplyUse and train decision trees including the basic operations for data (pre)processing
ProceduralEvaluateAssess reinforcement learning solutions to toy text, classic control and robotics problems

Take Home Exam

Assessment Type Summative Weighting 15
Assessment Weeks 33 Feedback Weeks 34,35,36

Look up Week Numbers

Feedback

Course assignments will be marked in a timely fashion and detailed feedback will be given.

Learning Outcomes
Knowledge LevelThinking SkillOutcome
ProceduralAnalyseDerive maximum likelihood and a posteriori estimators as well as apply (Gaussian) naive Bayes
ProceduralApplyApply and implement graph-search techniques for path planning including the computation of roadmaps
ProceduralApplyUse and train decision trees including the basic operations for data (pre)processing
ProceduralApplyImplement functions with multi/layer neural networks and derive gradients for their training

Formative Assessment

There are no assessments for this course.

Resit Assessments

Exam

Assessment Type Summative Weighting 100
Assessment Weeks 48,49 Feedback Weeks 50,51,52

Look up Week Numbers

Feedback

By appointment with course coordinator.

Learning Outcomes
Knowledge LevelThinking SkillOutcome
Sorry, we don't have this information available just now. Please check the course guide on MyAberdeen or with the Course Coordinator

Course Learning Outcomes

Knowledge LevelThinking SkillOutcome
ProceduralEvaluateAssess reinforcement learning solutions to toy text, classic control and robotics problems
ProceduralApplyUse and train decision trees including the basic operations for data (pre)processing
ProceduralApplyApply dynamic programming techniques on Markov Decision Problems including the computation of value functions and optimal policies
ProceduralApplyImplement functions with multi/layer neural networks and derive gradients for their training
ProceduralAnalyseDifferentiate between the components of (un)informed graph-search techniques and Markov Decision Processes as well as the concepts of Utility and Policy
ProceduralAnalyseDerive maximum likelihood and a posteriori estimators as well as apply (Gaussian) naive Bayes
ConceptualAnalyseSelect (and apply) appropriate robot programming methods and analyse code in a robot programming language
ProceduralApplyApply and implement graph-search techniques for path planning including the computation of roadmaps
ConceptualEvaluateDiscuss the concepts of naive Bayes, Gaussian naive Bayes and logistic regression classifiers

Compatibility Mode

We have detected that you are have compatibility mode enabled or are using an old version of Internet Explorer. You either need to switch off compatibility mode for this site or upgrade your browser.