Creating Artificially Intelligent fully autonomous robots face unique challenges in transferring AI techniques into a practical real-world and real-time domain. Robotic software must handle the limited computation power of autonomous robots along with the uncertainty and noise produced by their sensors and actuators. This software must integrate across algorithms at multiple levels of abstraction, from the low-level information of the sensors to high-level reasoning. This course focuses on the design and development of the practical AI software architectures for autonomous robotic systems, including reactive actuator control, localisation, mapping, vision and audio processing, and task planning. This course will feature both theoretical aspects of AI in the robotics domain along with practical experiments on a simulated robot platform.