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

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 requisite: COSC1125 Artificial Intelligence

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.

This course is taught in parallel with COSC2781 (PG)

Objectives/Learning Outcomes/Capability Development

N/A This course is an elective.

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 pre-recorded 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