Teaching

Teaching@Griffith

Welcome to the course! This semester, you will learn Python by building your own Mission Control Panel, a program that monitors mission data, checks system conditions, analyses information, and helps operators make decisions. You will not build it all at once. Starting with a simple control panel in Week 1, you will add new capabilities week by week as you learn new Python concepts. Each new topic gives you another tool to make your system smarter, more capable, and more complete: (i) Lectures: Discover the Python concepts and problem-solving techniques behind each capability; (ii) Workshops: Put those concepts into action by upgrading your Mission Control Panel from one version to the next.

WeekLecture materialsWorkshop materials
1Introductionv1.0: Building the Basic Mission Control Panel [Code]
2Variables, Assignment Statements, Input and Outputv2.0: Variables, User Input and Program Output [Code]
3Booleans and Conditional Statementsv3.0: Making Decisions with Conditions and Boolean Logic [Code]
4Loops (Iterations)v4.0: Repeating Tasks with Loops [Code]
 Student Vacation Week — No TeachingStudent Vacation Week — No Teaching
5Functionsv5.0: Organising Programs with Functions [Code]
Quiz 1Quiz 1 solutionsQ1-Q6: Solutions and explanations
6Lists & Tuplesv6.0: Storing and Processing Data with Lists and Tuples [Code]
7More About Stringsv7.0: Working with Strings and Text Data [Code]
8Files and Error Handlingv8.0: Files, Exceptions and Debugging [Support files]
9Sets and Dictionariesv9.0: Sets and Dictionaries [Code]
10Object-Oriented Programmingv10.0: Object-Oriented Programming [Code]
Quiz 2NANA
11Modules & LibrariesNo Workshop
Sample exam questions & answers
12Revision & Exam InformationNo Workshop
Final ExamNANA

How does a robot see, understand, and act in the world? In these hands-on workshops, you will build the answer step by step. You will learn how cameras turn the 3D world into images, how robots recover geometric and depth information, how visual features reveal motion, and how modern vision models detect and understand objects. You will then bring these techniques together for tasks such as visual tracking, motion estimation, SLAM, navigation, and robotic manipulation. Along the way, you will develop practical skills in Python, OpenCV, computer-vision algorithms, deep learning, visualisation, experimentation, debugging, and engineering evaluation, learning not only how a method works, but also when it works, when it fails, and how to use it responsibly in a robotic system.

WeekPractical focusWorkshops
1Introduction to Vision-Enabled Robotics
Build a simple vision-to-action pipeline: load and inspect images, extract a visual target, estimate its image location, and use that information to make a basic robot-relevant decision.
Chapter 1: Getting Started with Vision-Enabled Robotics
2Camera Models, Coordinate Systems and Robot Geometry
Explore how 3D points are projected into image pixels, how camera intrinsics affect projection, and how depth enables reasoning back from pixels to 3D points.
Chapter 2: Camera Geometry — From 3D Points to Image Pixels and Back
3Classical Computer Vision for Robotic Perception
Extract distinctive visual features, track features between frames, estimate image motion, and investigate how classical vision methods behave under different conditions.
Chapter 3: Feature Detection, Optical Flow and Visual Tracking
4Deep Learning for Robotic Vision
Adapt a pretrained visual model to a new task, compare frozen and fine-tuned models, evaluate performance, and investigate robustness under visual changes.
Chapter 4: Transfer Learning, Fine-Tuning and Robustness
 Student Vacation Week — No TeachingStudent Vacation Week — No Teaching
5Object Detection and Semantic Segmentation for Robotics
Use pretrained vision models to detect objects, interpret bounding boxes and confidence scores, evaluate predictions, and connect visual perception to simple robot decisions.
Chapter 5: Object Detection and Robotic Decision Making
 Individual Project Available
Detection-Assisted Visual Tracking: Apply concepts from the earlier workshops to develop a complete detection-assisted visual-tracking system.
Submission: 23:59, Sunday Week 7 (No presentation requirement)
6Depth Estimation, RGB-D Vision and 3D Scene Understanding
Explore how depth information can extend image-based perception into 3D, and investigate how visual information can support spatial understanding and robotic tasks.
Chapter 6 & Individual Project
7Visual Motion Estimation and SLAM Concepts
Build a visual-motion pipeline using feature correspondences, geometric verification, relative camera motion, visual odometry, keyframes, and loop-closure concepts.
Chapter 7: Visual Odometry and Visual SLAM
 Group Project Available
Integrate robotics and computer-vision techniques into a larger team-based project.
Submission: 23:59, Sunday Week 11 (Team presentation: Week 12)
8Vision-Based Robot Navigation
Apply visual perception to navigation problems and consider how information extracted from images can support robot movement and decision-making.
Webots Practical Guide
Learn the Webots environment, robot, sensors, controllers, Python setup, and basic workflow.
Chapter 8: Webots Navigation Workshop
Follow the hands-on workshop to practise robot control, vision-based target following, obstacle avoidance, and path planning.
Group Engineering Practice
Learn how to work effectively as a robotics engineering team: roles, responsibilities, communication, integration, testing, and teamwork.
Group Project: Vision-Guided Autonomous Search and Navigation in Webots
Read the full project requirements, constraints, assessment criteria, and step-by-step guidance for developing your autonomous solution.
9Vision for Planar Object Grasping
Explore how visual information about planar objects can support localisation and manipulation, connecting perception with robotic grasping tasks.
Meet the KUKA youBot
Introduce the KUKA youBot, its main components, the camera and gripper, the supplied controller structure, and the engineering problem.
Chapter 9: Vision-Guided Object Picking
Follow the hands-on workshop to practise colour-based object detection, image moments, visualisation, safety checking, and vision-guided grasping in Webots.
10Learning-Based Robot Control
Investigate how learned visual representations can be connected to robot control and decision-making, with attention to practical performance and reliability.
Chapter 10: Visual DQN Navigation
Follow the hands-on workshop to build a Gymnasium environment around Webots, define visual observations and discrete actions, train a DQN agent, and evaluate its navigation behaviour.
Group Project Connection Guide
See how the observation-decision-action loop, visual processing, closed-loop control, safety, and systematic evaluation from Workshop 10 connect to your autonomous group project.
11Foundation Models for Robotics: Vision-Language-Action and Embodied AI
Explore emerging approaches that combine visual perception, language understanding, learning, and action for more capable robotic systems.
No Workshop
12Group Project Presentation
Present and reflect on the completed group project, including the problem, approach, results, and practical robotics insights.
Group Project Presentation

Teaching@ANU

Teaching@UWA