Course Title: Programming Autonomous Robots

Part A: Course Overview

Course Title: Programming Autonomous Robots

Credit Points: 12.00


Course Code




Learning Mode

Teaching Period(s)


City Campus


171H School of Science


Sem 1 2021


City Campus


175H Computing Technologies


Sem 1 2022,
Sem 1 2023,
Sem 1 2024


RMIT University Vietnam


175H Computing Technologies


Viet1 2024

Course Coordinator: Dr Timothy Wiley

Course Coordinator Phone: +61 3 9925 5202

Course Coordinator Email:

Course Coordinator Location: 14.11.13

Course Coordinator Availability: By appointment, by email

Pre-requisite Courses and Assumed Knowledge and Capabilities

Enforced Pre-requisite: Artificial Intelligence COSC1125

Course Description

Software for robots face unique challenges, especially semi or fully automated robotic systems. This software must handle the limited computation power of robots along with the uncertainty and noise produced by their sensors and actuators. Robotic software must integrate across algorithms at multiple levels of abstraction, from the low-level information of the sensor’s, to high-level reasoning. This course focuses on the design and development of the software modules and architectures for autonomous robotic systems, including reactive actuator control, localisation, mapping, vision and audio processing, and task planning. You will complete practical work both in simulation and on real-world robot platforms.

Objectives/Learning Outcomes/Capability Development

The course contributes to the program learning outcomes for MC271 – Master of Artificial Intelligence:

PLO 1: Enabling Knowledge

  • Demonstrate mastery of a body of knowledge that includes recent developments in Artificial Intelligence, Computer Science and information technology;
  • Understand and use appropriate and relevant, fundamental and applied AI knowledge, methodologies and modern computational tools;
  • Recognise and use research principles and methods applicable to Artificial Intelligence.

PLO 2: Critical Analysis

  • Analyse and model complex requirements and constraints for the purpose of designing and implementing software artefacts and IT systems;
  • Evaluate and compare designs of software artefacts and IT systems on the basis of organisational and user requirements;
  • Bring together and flexibly apply knowledge to characterise, analyse and solve a wide range of AI problems.

PLO 3: Problem Solving

  • Design and implement software solutions that accommodate specified requirements and constraints, based on analysis or modelling or requirements specification;
  • Apply an understanding of the balance between the complexity / accuracy of the Artificial techniques used and the timeliness of the delivery of the solution.

PLO 4: Communication

  • Interpret abstract theoretical propositions, choose methodologies, justify conclusions and defend professional decisions to both IT and non-IT personnel via technical reports of professional standard and technical presentations.

PLO 5: Team Work

  • Work effectively in different roles, to form, manage, and successfully produce outcomes from collaborative teams, whose members may have diverse cultural backgrounds and life circumstances, and differing levels of technical expertise.

Upon successful completion of this course you should be able to:

  1. Discuss and Critically Analyse and a variety of software architectures and algorithms for solving typical problems in the context of autonomous robot systems; Discuss and Critically Analyse the strengths and limitations of these architectures and algorithms.
  2. Discuss and Critically Analyse the challenges of designing and developing software for a variety of robot systems of different complexities, including noise, uncertainty, and computational power.
  3. Research, Discuss, and Use new and novel algorithms for solving problems with autonomous robot systems.
  4. Use pre-existing robot software to solve common problems on simulated and real-world robots; Develop and Implemented new algorithms and software for solving problems on simulated and real-world robots; Integrate this software in the ROS framework.
  5. Develop skills for further self-directed learning in the general context of software, algorithms, and architectures for autonomous robot systems; Adapt experience and knowledge to and from other computer sciences contexts such as artificial intelligence, machine learning, and software design.

Overview of Learning Activities

Teacher Guided Hours (face to face): 48 per semester

Teacher-guided learning will include lectures to present main concepts, small-class tutorials to reinforce those concepts, and supervised computer laboratory sessions to support programming practice under guidance from an instructor.


Learner Directed Hours: 72 per semester

Learner-directed hours include time spent reading and studying lecture notes and prescribed text in order to better understand the concepts; working through examples that illustrate those concepts; and performing exercises and assignments designed by the teachers to reinforce concepts and develop practical skills across a variety of problem types.

Overview of Learning Resources

You will make extensive use of computer laboratories, and relevant robot hardware and software provided by the School. You will work in the Artificial Intelligence Innovation Lab and be required to adhere to relevant health and safety requirements. You will be able to access course information and learning materials through MyRMIT and may be provided with copies of additional materials in class or via email. Lists of relevant reference texts, resources in the library and freely accessible Internet sites will be provided.

Overview of Assessment

The assessment for this course focuses on practical and theoretical assessment tasks in developing software for autonomous robots, ranging from motor control to symbolic task planning. Practical tasks require students to use existing autonomous software and develop new solutions to problems, as well analyse the software performance. Theoretical tasks require students to analyse and evaluate state-of-the-art algorithms and techniques. Across all assessment tasks students will be required to demonstrate critical analysis and problem-solving skills.

This course has no hurdle requirements.

Assessment tasks

Assessment Task 1: Group assessment. Introduction to working with ROS. Demonstrate familiarity with working with robots, and writing robot software, integrating a variety of pre-existing modules using the ROS framework.
Weighting: 25%
This task supports CLOs: 1, 2, 4

Assessment Task 2: Major project and Group assessment. You undertake solving a significant problem on a real-world robot (or in simulation), researching, developing, and implementing their own solution to the problem, without using existing off-the-shelf solutions.
Weighting: 50%

This task supports CLOs: 1, 2, 3, 4, 5

Research Presentation: Research Presentation: Individual assessment. Deliver a presentation and tutorial on one course topic. Presentation content is compiled by studying course material and completing individual research.
Weighting: 25%
This task supports CLOs: 1, 2, 3, 5