Simulate robots
Simulate robots with MuJoCo.
Deep learning, vision and reinforcement learning for robots, built on Python, PyTorch, MuJoCo and Google Colab. Trainees add a layer of intelligence to the robot simulation they already know.

modules, one for each week
live sessions per week
per session
portfolio projects, approximately
A second-stage track for trainees who have completed Core 3 (Python, Linux and Git).
AI in Robotics teaches trainees to add a layer of intelligence to the robot simulation they already know, the Sensor and Actuator classes built in Core 3. It uses practical machine learning and computer vision and does not require heavyweight robotics or deep-learning tooling.
Every module builds on tools already used in Core 3, plus PyTorch for neural networks, MuJoCo for simulation and Gymnasium for reinforcement learning. Everything runs as a plain Python script on a normal laptop, so instructors and trainees work with a small, well-understood toolset throughout.
The program builds toward one running idea. Trainees collect or simulate sensor data, teach a simple model to make sense of it, and connect that decision back to the Actuator class. Each week adds one small piece to that pipeline, and the final project is a working AI-in-robotics program of the trainee's own design.

By the end of the program, trainees will be able to do the following.
Simulate robots with MuJoCo.
Collect, log and label their own robot data, and split it correctly (by run, not by row) to avoid leakage.
Build, train and track PyTorch neural networks for robot control, and compare them fairly with classical models such as the random forest.
Fine-tune pretrained vision models (image classification and YOLO object detection) on custom images and use their outputs to drive robot behaviour.
Use pretrained language and vision-language models (sentence embeddings, an LLM that returns JSON, and CLIP) to turn typed instructions into validated robot actions, and explain where VLAs fall short.
Train imitation-learning and reinforcement-learning policies (Q-learning and PPO), and recognise and fix reward hacking.
Design, evaluate against a baseline, document and present an end-to-end capstone project.
Prior deep learning, reinforcement learning or robotics-middleware experience is not assumed.
Aurora Robotics trainees who completed the foundation AI in Robotics track, or who can show equivalent skills: working Python, pandas and scikit-learn, and a trained classifier on a robot dataset.
Trainees who want skills they can apply immediately in their own projects, with a portfolio of about ten small, working projects by the end.
Completion of the Aurora AI in Robotics foundation track or equivalent: Python basics and a scikit-learn model already trained on the Wall-Following Robot dataset (random forest).
Everything runs in the browser and on a local Python install. A short setup guide goes out before Session 1, and the first 20 minutes of Session 1 are a live account-check clinic.
Runs the notebooks in the browser and supplies a free GPU for training.
The language for every lab, run as a plain script on a normal laptop.
Used for building and training neural networks.
The physics simulator that hosts the robot.
The interface for reinforcement learning environments.
The standard library used to train PPO agents.
Pretrained and fine-tuned object detection.
Image labelling for the custom detector dataset.
Experiment tracking for training runs and sweeps.
Home of the course starter repository and every weekly artifact.
Four phases and ten weeks. Select a week to jump to its modules. Graded weeks are marked.
Each module has a goal, a weekly artifact and two sessions. Every lab ends with a committed notebook plus a short clip or screenshot.
Weeks 1 and 2. Trainees put the foundation-track random forest in charge of a simulated robot, then train a neural network and compare the two fairly.

See what happens when the random forest from the foundation track drives a robot instead of scoring a test set, and learn why that gap matters.
A closed-loop report: the random forest's success rate over 20 simulated runs, with a short diagnosis of the failures.
AI vs robotics vs AI in robotics; everyday examples (robot vacuums, self-driving cars); what PyTorch and MuJoCo are
Hands-on labInstall PyTorch and MuJoCo.
MuJoCo model and data; the simulation step loop; reading sensors; applying control inputs; resetting a run; loading a saved model
Hands-on labLoad the foundation-track random forest and wire it in as a live controller. Run 20 trials and record the success rate.
Train the first deep-learning model of the program and judge it fairly against the random forest it replaces.
A PyTorch wall follower with tracked training runs and a fair benchmark against the random forest.
Neurons, layers and loss in plain language; gradient descent as nudging the weights; PyTorch tensors, Dataset and DataLoader, and the training loop; switching on Colab's free GPU; experiment tracking with W&B
Hands-on labBuild a small multi-layer perceptron (MLP) on the wall-following data; train it; log loss and accuracy curves to W&B.
Overfitting and early stopping; normalising inputs; changing one hyperparameter at a time; a fair comparison means offline metrics plus closed-loop success rate
Hands-on labDeploy the MLP in the simulator; run a small hyperparameter sweep in W&B; benchmark the MLP against the random forest on accuracy, success rate and speed; begin the mini-assignment.
Train a PyTorch neural network that drives the simulated robot along a wall. Compare it with your random forest on both test-set accuracy and closed-loop success rate (at least 20 runs each), and explain in a few sentences which one you would deploy and why.
Weeks 3 to 5. The robot gets a camera and learns to classify images, detect objects and follow typed instructions.

Give the robot a camera and teach it to recognise what it sees using a pretrained network.
A short clip of the robot reacting to what its camera sees, plus a confusion matrix.
Convolutions as pattern detectors (no maths); pretrained networks and transfer learning; data augmentation; getting camera frames out of the simulator
Hands-on labWrite a script that drives the robot around and saves labelled camera frames (for example clear path, obstacle, goal marker); build an image dataset with at least 100 frames per class.
Fine-tuning a pretrained model (for example MobileNet or ResNet) on a small dataset; evaluating with a confusion matrix; generalising to lighting and texture changes; turning a class prediction into a drive command
Hands-on labFine-tune the model on Colab's GPU; connect predictions to robot actions (stop, turn or go). Break it: change the arena lighting and colours and measure how far accuracy drops.
Move from what is in this image to where it is, and use the answer to steer.
A fine-tuned detector driving the robot toward a target.
Classification vs detection; bounding boxes and confidence thresholds; IoU and mAP explained in plain terms; running a pretrained YOLO model with Ultralytics
Hands-on labRun a pretrained YOLO model on simulator camera frames; draw the boxes; compare detections against ground truth and see where a pretrained model fails on simulated objects.
Labelling images in Roboflow; fine-tuning a small YOLO model; using box position and size for steering and rough distance
Hands-on labLabel a small dataset of the target object (a pre-labelled backup set is provided); fine-tune YOLO in Colab; make the robot steer toward the target and stop at a set distance; begin the mini-assignment.
Fine-tune an object detector on a custom target in the simulator and write a controller that makes the robot approach it and stop at a set distance. Report detection precision and recall on a held-out set of images, and the robot's success rate over at least 20 trials.
Learn how robots can take instructions in plain language, and how vision-language-action (VLA) models connect what a robot sees and what it is told to what it does, using pretrained models rather than training them from scratch.
A language-commanded robot: a typed instruction becomes a validated robot action in simulation, plus a table showing how often it did the right thing across 20 test instructions.
Text as data: tokens and embeddings explained by analogy (similar meanings sit close together); intent classification; sentence embeddings for matching a command to a robot action; using a language model to turn free text into structured output (JSON); hallucination, ambiguity, and why every model output must be validated before it reaches an actuator
Hands-on labBuild a command interpreter that maps instructions like "back up a little" or "turn toward the red box" to a small set of robot actions, first with sentence embeddings and nearest-neighbour matching, then with an LLM that returns JSON. Add a validator that rejects unknown or unsafe commands, and run the result on the simulated robot. Break it: try vague, contradictory and misspelled commands and record what gets through.
Vision-language models (image and text in, text out) vs VLAs (image and instruction in, action out); what models like CLIP, RT-2, OpenVLA and Octo do and how they were trained (survey level); zero-shot recognition; why large VLAs are often too heavy for free compute, and what to use instead; where VLAs fall short (speed, precision, safety)
Hands-on labUse CLIP to score the robot's camera frames against text prompts ("a red box ahead", "a clear path") and turn the scores into stop, turn or go decisions. Compare with a hand-coded colour rule on 20 frames. Watch a pre-recorded or hosted VLA demo and map its inputs and outputs onto your own pipeline.
Weeks 6 to 8. Trainees compare a PID controller with a behaviour-cloning policy, then train agents from reward and audit what they learned.

Learn control from demonstrations, and see how it compares with the classic hand-tuned baseline.
A PID controller, a behaviour-cloning policy, and a side-by-side comparison of the two. A one-page capstone proposal is due at the end of the week.
P, I and D explained by feel; tuning by trial; why every learned controller should be compared with a simple baseline; behaviour cloning as supervised learning on observation and action pairs
Hands-on labHand-tune a PID wall follower (or goal seeker) in the simulator; record its success rate, tracking error and smoothness.
Collecting demonstrations from the PID controller or teleoperation; training a policy that outputs continuous actions; compounding error, and fixing it with extra demonstrations from failure states (the idea behind DAgger)
Hands-on labTrain a PyTorch behaviour-cloning policy and deploy it; compare with PID; collect extra demos where it fails and retrain. Submit the capstone proposal.
Understand learning from reward by building the simplest version yourself.
A tabular Q-learning agent with reward curves for two different reward designs.
Agent, environment, state, action and reward; episodes; exploration vs exploitation (epsilon-greedy); the Q-table as a cheat sheet
Hands-on labImplement tabular Q-learning from scratch on a Gymnasium grid world (for example FrozenLake); plot reward per episode.
Designing states and actions (discretising sensor readings); the Gymnasium reset and step interface; what makes a good reward
Hands-on labWrap a small grid-navigation task with obstacles as a custom Gymnasium environment; train Q-learning; evaluate over 20 episodes; compare two reward functions.
Train a neural-network policy with a standard library, and learn to audit what it actually learned.
A trained PPO agent, its tracked runs, and a short audit of one unintended behaviour.
Why tables break down with continuous sensor input; DQN and PPO at an intuitive level; the Stable-Baselines3 workflow; reward shaping and reward hacking
Hands-on labTrain PPO with Stable-Baselines3 on a provided continuous-navigation environment to confirm the pipeline; log reward curves in W&B; save checkpoints to Drive or GitHub.
Observation and termination design; evaluating a policy across multiple seeds; Colab time-outs and checkpoints; sim-to-real gaps and domain randomisation (concepts only)
Hands-on labTrain PPO for obstacle avoidance or goal reaching; deliberately hunt for a reward hack and fix the reward; compare with PID and behaviour cloning; begin the mini-assignment. Pre-trained checkpoints are provided as a fallback.
Train a PPO agent for obstacle avoidance or goal reaching in the simulator. Evaluate it over at least 20 episodes, identify one unintended behaviour (a reward hack or failure mode), change the reward or observation to address it, and report before-and-after results.
Weeks 9 and 10. Trainees design, build, evaluate and present an AI-in-robotics project of their own.

Define your capstone and measure it honestly, and look at where robot AI is heading.
An approved capstone design (scope, success metric, baseline, test plan) and a first logged evaluation.
Survey (concepts only): vision-language and foundation models in robotics, learned vs classical components, safety and testing of learned systems, ethics; choosing a success metric and a baseline
Hands-on labCapstone design review in breakout rooms: finalise scope, success metric and baseline; write a test plan; set up the repository skeleton and W&B project.
Evaluating on unseen seeds and maps; common failure modes; keeping the pipeline running end to end
Hands-on labBuild the core of the project with instructor check-ins (about 10 minutes per team); run and log a first evaluation against the baseline.
Finish, document and present the capstone.
The finished capstone repository, README and demo recording.
Fixing the biggest failure found in evaluation; writing a README that lets someone else run your project; recording a demo
Hands-on labFinish core functionality; run the final evaluation; write the README; record a 2 to 3 minute demo.
Presenting results: what you built, how you measured it, and what failed; reflecting on the journey from random forest to autonomous system; where to go next (ROS 2, real hardware, sim-to-real, larger RL frameworks)
Hands-on labEach team presents (about 7 to 10 minutes, scaled to class size) followed by Q&A.
Teams of one or two are allowed. Trainees may propose their own project or pick one of the example directions.
One-page capstone proposal due.
Design review and first evaluation.
Live demos and Q&A.
Final submission due.
An autonomous delivery robot that navigates a maze and recognises its target.
A learned obstacle-avoidance agent trained with RL and compared against a rule-based or PID baseline.
A hybrid system: a classical planner combined with a learned perception module.
A single GitHub repository containing:

The final demo covers what was built, how it was measured, and what failed. Teams present for about 7 to 10 minutes, scaled to class size, followed by Q&A.
The model or policy is trained properly, tracked, and makes sensible decisions.
The full sense, decide and act pipeline runs end to end without manual intervention.
A clear metric, repeated trials, a baseline comparison, and honest reporting of failures.
Clear functions and structure, reproducible runs, sensible Git history.
Easy for someone else to understand, run, and follow the demo.
Assessment blends three mini-assignments, one mid-program checkpoint and a capstone project, so trainees get feedback throughout. Every lab also ends with a small weekly artifact that counts toward participation.
10% each, graded on correctness, measurement and following instructions.
A working Perceiving Robot that combines vision and state estimation.
Graded against the full rubric in the capstone section.
Includes engagement during the two demo sessions.