Course Title: Programming Autonomous Robots

Part A: Course Overview

Course Title: Programming Autonomous Robots

Credit Points: 12.00


Course Coordinator: TBD

Course Coordinator Phone: +61 3 9925

Course Coordinator Email: @rmit.edu.au


Pre-requisite Courses and Assumed Knowledge and Capabilities

None


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

Program Learning Outcomes

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

 

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:

  • CLO 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.
  • CLO 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.
  • CLO 3: Research, Discuss, and Use new and novel algorithms for solving problems with autonomous robot systems.
  • CLO 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.
  • CLO 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.
  • CLO 6: Demonstrate and Adhere to the standards and practice of Professionalism and Ethics, such as described in the ACS Core Body of Knowledge (CBOK) for ICT Professionals.


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 software provided by the School. 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

This course has no hurdle requirements.

Assessment tasks

Assessment Task 1: (15%) Introduction to working with ROS. Group assignment. A task to gain familiarity with working with robots, and writing robot software, integrating a variety of pre-existing modules using the ROS framework.

This task supports CLOs: 1, 2, 4, 6

 

Assessment Task 2: (45%) Major project. Group assignment. 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.

This task supports CLOs: 1-6

 

Exam: (40%) Written final exam, covering theoretical aspects of robot software development, that is not explored in the practical assignments.

This task supports CLOs: 1-6