🤑 You have $200 tuition credit

Apply and Redeem Now!
LIVE ONLINE COURSE
LIVE ONLINE COURSE
LIVE ONLINE COURSE
LIVE ONLINE COURSE
LIVE ONLINE COURSE
LIVE ONLINE COURSE
LIVE ONLINE COURSE
LIVE ONLINE COURSE
LIVE ONLINE COURSE
LIVE ONLINE COURSE
LIVE ONLINE COURSE
LIVE ONLINE COURSE
LIVE ONLINE COURSE
LIVE ONLINE COURSE
LIVE ONLINE COURSE
LIVE ONLINE COURSE
LIVE ONLINE COURSE
LIVE ONLINE COURSE
LIVE ONLINE COURSE

ROBOTICS ENGINEERING

Dates: 10 DEC 2026 - 15 FEB 2027
Duration: 8 WEEKS
MONDAYS & THURSDAYS
6 PM GMT
BHANU KUSHWAHA
OXA, EX-DYSON
Bhanu Kushwaha
LIVE ONLINE COURSE
LIVE ONLINE COURSE
LIVE ONLINE COURSE
LIVE ONLINE COURSE
LIVE ONLINE COURSE
LIVE ONLINE COURSE
LIVE ONLINE COURSE
LIVE ONLINE COURSE
LIVE ONLINE COURSE
LIVE ONLINE COURSE
LIVE ONLINE COURSE
LIVE ONLINE COURSE
LIVE ONLINE COURSE
LIVE ONLINE COURSE
LIVE ONLINE COURSE
LIVE ONLINE COURSE
LIVE ONLINE COURSE
LIVE ONLINE COURSE
LIVE ONLINE COURSE
LIVE ONLINE COURSE
LIVE ONLINE COURSE ON ROBOTICS ENGINEERING
DATES:

10 DEC 2026 - 15 FEB 2027


DURATION:
8 WEEKS
MONDAYS & THURSDAYS
6 PM GMT

Master the skills to build a robot that can map an unknown space, navigate it, and complete its mission without human input.

Bhanu Kushwaha, Lead Robotics Engineer at Oxa and former Dyson robotics engineer, guides you through building a complete ROS 2 autonomy stack from scratch.

THIS COURSE IS FOR YOU, IF...

  • YOU'RE AN INDUSTRIAL CONTROLS OR AUTOMATION ENGINEER

     

    Your PLC and SCADA expertise doesn't open robotics engineer job postings. This robotics engineering course builds your ROS 2 architecture and full autonomy stack skills through hands-on nodes, workshops, and the Nav2 framework. You'll leave with the software depth needed to move from industrial automation into modern robotics engineering roles.

  • YOU'RE AN EMBEDDED, AVIONICS, OR SOFTWARE ENGINEER

     

    Your high-reliability C/C++ background doesn't include robotics middleware, perception, or navigation. This robotics engineering training adds ROS 2, sensor fusion through Kalman filtering, and Nav2-based localisation and planning to your existing skill set. You'll leave positioned for the fast-growing, more visible autonomy and robotics roles your embedded background alone can't reach.

  • YOU'RE AN AUTOMATION OR MECHATRONICS TECHNICIAN

     

    Years on the shop floor haven't translated into an engineering title or design authority. This robotics engineering education pairs Python and ROS 2 fundamentals with a full autonomy stack build, from URDF modelling to SLAM and state machine control. You'll leave with a portfolio-ready capstone project and the modern software skills needed to step up from technician to engineer.

YOUR ASCENT STARTS HERE

Turn robotics theory into a working autonomous agent.

You'll build a complete ROS 2 autonomy stack, from URDF-modelled digital twins in Gazebo Sim to SLAM mapping and Nav2-based path planning. The final Autonomous Inspection Agent ties it together with a Python state machine that controls perception, navigation, and drive.

Learn by building, not just watching.

Twice-weekly live classes with Bhanu Kushwaha run alongside office hours after every session from Lesson 2 onward, plus 1:1 support. Each class builds directly on the last, so you're writing and testing code in simulation from week one.

 
ABOUT THE COURSE / WHAT YOU'LL DO
01
HANDS-ON BUILDS

You'll complete 8 assignments and 4 workshops, from modifying launch files to drop a Turtle3 Waffle robot into Gazebo, to configuring a Nav2 Dijkstra planner and exploring the TF tree with rqt graphs. Every session pairs a concept with code you write and test yourself. 

02
INDUSTRY CONTEXT

Case studies pull from real production robotics: AMRs versus traditional AGVs in factory settings, how self-driving cars and AMRs fuse LiDAR and camera data, and the gap between a poor and a well-tuned path planner (iRobot Roomba versus Neato XV-11). You'll learn through the lens of an instructor who helped ship three generations of Dyson's consumer robots and now builds autonomy software at Oxa. 

03
A PORTFOLIO-READY BUILD

Your final project is the Autonomous Inspection Agent, a complete ROS 2 autonomy stack deployed on a simulated mobile robot. You'll build a URDF digital twin, configure SLAM and Nav2 for mapping and navigation, then write the Python state machine that lets it patrol, log anomalies, and return to base on its own. It's a deliverable that proves you can architect a full autonomy stack, not just individual pieces of it. 

INSTRUCTOR
BHANU KUSHWAHA LinkedIn Profile
  • Serves as Lead Robotics Engineer at Oxa, building autonomy software for self-driving vehicles
  • Spent seven years at Dyson (2015-2022) helping deliver three generations of consumer robotic vacuum cleaners
  • Helped pioneer the first commercial integration of Visual SLAM navigation in a consumer robot
  • Brings over 19 years of combined software and robotics engineering experience
  • Holds a Master's in Robotics from Plymouth University, UK
  • Holds a Bachelor's in Computer Science and Engineering from India
Instructor Bhanu Kushwaha
syllabus
+
THU (3/12), 6 PM GMT 
Phase 0: The Prep Course (Environment Readiness)

Set up and verify a working robotics development environment before Lesson 1 begins, so class time starts on code, not troubleshooting.

  • Linux environment setup (Ubuntu 24.04 via WSL2 or VirtualBox)
  • ROS 2 (Jazzy Jalisco) toolchain installation
  • Gazebo installation
  • VS Code setup with C++, Python, CMake, and ROS extensions

Assignment: The Health Check
A short Python script that tests your ROS 2 environment. Submit a screenshot of the output to unlock Lesson 1.

 
 
More Less
00
MON (7/12), 6 PM GMT 
Welcome Class + Case Study

Get oriented with the course roadmap, meet your instructor, and explore how autonomous mobile robots differ from traditional automated systems.

  • Course roadmap and structure
  • Assignments and final project overview
  • Case study: AMRs vs. traditional AGVs in factory settings
  • Robotics challenges: control, navigation, and perception
  • Safety challenges across road, indoor, air, and water environments
 
 
More Less
01
THU (10/12), 6 PM GMT 
Modern Robotics (ROS 2 Architecture)

Learn the ROS 2 computation graph and build your first packages using Colcon workspaces.

  • ROS vs. ROS 2 and the DDS middleware layer
  • Nodes, topics, services, actions, and parameters
  • ROS 2 workspaces and the Colcon build system
  • Package structure and dependencies
  • Turtlesim node walkthrough
  • rqt and rqt_graph introspection tools
 
 
More Less
02
MON (14/12), 6 PM GMT 
Robot Communication Protocols + Workshop

Develop Python publisher and subscriber nodes to share continuous data streams between robotic components.

  • Topics and the publisher/subscriber pattern
  • ROS 2 CLI topic tools
  • Workshop: Inspecting turtlesim_node and teleop_key

Assignment #1: Number Publisher
Modify a number publisher node to subscribe to a 'jump' topic and continuously publish the updated cumulative value.

 
 
More Less
03
THU (17/12), 6 PM GMT 
Modeling the Robot (URDF)

Construct a 3D structural model of a differential drive robot using URDF and visualise its coordinate frames in RViz2.

  • Coordinate frames and the TF tree
  • URDF tags and robot description files
  • Xacro reusable components
  • robot_state_publisher and joint_state_publisher
  • Demo: URDF construction and RViz2 visualisation

Assignment #2: Add a Shape
Add a shape or volume on top of the robot's URDF model.

 
 
More Less
04
MON (4/1), 6 PM GMT 
Launch File and the Physics Simulator (Gazebo Sim)

Write modular Python launch files to spawn your robot's digital twin into a Gazebo physics simulation.

  • ROS 2 launch file structure and rules
  • robot_state_publisher, joint_state_publisher, and RViz2 launch
  • Gazebo simulator setup and the ROS-Gazebo bridge
  • Turtle3 Waffle robot description and CAD import

Assignment #3: Drop the Robot In
Modify the launch file to successfully spawn the Turtle3 Waffle robot into Gazebo.

 
 
More Less
05
THU (7/1), 6 PM GMT 
Control Systems in ROS 2 and Parameters

Implement parameter-driven ROS 2 controllers to actuate robot joints and manage wheel velocities in simulation.

  • Motors vs. actuators and wheel encoders
  • ros2_control framework and controller plugins
  • ROS parameters and YAML configuration
  • Workshop: Building a joint velocity controller package
 
 
More Less
06
MON (11/1), 6 PM GMT 
Transformation, Rigid Body Motion + Workshop

Apply TF2 broadcasters to track and calculate a robot's pose transformations in 2D and 3D space.

  • Robot pose representation and transformation vectors
  • TF2 static and dynamic broadcasters
  • Euler and quaternion angle conversion
  • rosbag recording basics
  • Workshop: Exploring the TF tree with TF2 tools and rqt graphs
 
 
More Less
07
THU (14/1), 6 PM GMT 
Actuation, Differential Drive Kinematics

Program differential drive kinematics to translate overall robot motion commands into wheel speeds and estimate position through odometry.

  • Forward and inverse kinematics
  • cmd_vel and the Twist messaging interface
  • Demo: Deriving and implementing differential kinematic equations
  • Local vs. global localisation
  • Odometry estimation from wheel encoders
 
 
More Less
08
MON (18/1), 6 PM GMT 
Sensor Integration + Case Study

Integrate and simulate IMU and LiDAR sensors in Gazebo to capture real-time environmental and orientation data.

  • Case study: Sensor working principles and limitations, IMU and LiDAR
  • Demo: IMU and LiDAR simulation and integration
  • Demo: PlotJuggler for visualising IMU output
  • Gaussian noise and probability distributions
  • Bayes' theorem fundamentals

Assignment #4: Camera Integration
Integrate a camera sensor into the robot simulation.

 
 
More Less
09
THU (21/1), 6 PM GMT 
Odometry Noise Sensor Fusion + Case Study

Implement a basic Kalman filter to merge noisy odometry and IMU data for accurate robot pose estimation.

  • Case study: How self-driving cars and AMRs fuse LiDAR and camera data
  • Case study: Measuring real sensor noise with a time-of-flight sensor
  • Combining Gaussian distributions
  • Kalman filter implementation in Python

Assignment #5: Noise and Behaviour
Change the system's noise value and hypothesise the causation and effect on robot behaviour.

 
 
More Less
10
MON (25/1), 6 PM GMT 
ROS Maps, Lifecycle Nodes & QoS

Manage ROS 2 Lifecycle nodes and Quality of Service profiles to safely handle mapping states and long-running navigation processes.

  • Global localisation and occupancy grid maps
  • ROS 2 Lifecycle nodes and state management
  • Demo: Lifecycle node states via CLI
  • Quality of Service: reliability and durability settings
  • Nav2 framework overview
 
 
More Less
11
THU (28/1), 6 PM GMT 
Global Localisation Algorithms & Nav2 AMCL

Configure Nav2's Adaptive Monte Carlo Localisation to dynamically track a robot's position within a known map.

  • Markov and Monte Carlo localisation
  • Particle filters and resampling
  • Adaptive Monte Carlo Localisation (AMCL) configuration
  • Demo: Global localisation with good vs. poor initial guesses

Assignment #6: Mapping (SLAM)
Drive the robot through an unknown simulated factory to scan the environment and save a 2D floorplan.

 
 
More Less
12
MON (1/2), 6 PM GMT 
SLAM (Simultaneous Localisation and Mapping)

Generate a 2D floorplan of an unknown environment by deploying the Nav2 SLAM Toolbox to map and track the robot simultaneously.

  • Particle filter SLAM, EKF SLAM, and Graph SLAM
  • Nav2 slam_toolbox configuration
  • Demo: Mapping error from wheel radius inaccuracies
  • Loop closure
 
 
More Less
13
THU (4/2), 6 PM GMT 
Path Planning (Nav2) + Case Study + Workshop

Configure the Nav2 stack to calculate optimal, collision-free paths using search algorithms like Dijkstra and A*.

  • Graph search: breadth-first, depth-first, Dijkstra, A*
  • Path planning: PID, dynamic window, model predictive control, pure pursuit
  • Workshop: Configuring a Nav2 Dijkstra planner
  • Case study: iRobot Roomba random bounce vs. Neato XV-11 LiDAR navigation

Assignment #7: Path Planner
Configure an A* path planner and manage its execution using Nav2.

 
 
More Less
14
MON (8/2), 6 PM GMT 
Dynamic Obstacle Avoidance Mission Control

Implement layered cost maps to let the robot dynamically detect and navigate around moving obstacles in real time.

  • Layered cost maps and Nav2 costmap 2D
  • twist_mux and twist_relay
  • Camera integration via the ROS-OpenCV bridge
 
 
More Less
15
THU (11/2), 6 PM GMT 
Final Project Integration Workshop

Synthesise perception, navigation, and control modules into a master state machine that executes a fully autonomous patrol mission.

  • System integration and edge case handling
  • rosbag debugging and rqt tools
  • Workshop: Connecting perception, navigation, and state machine nodes
  • Dynamic obstacle recovery

Assignment #8 (Capstone): The Autonomous Inspection Agent
Write the master state machine script connecting all modules so the robot autonomously wakes, patrols, logs anomalies, and returns to its dock.

 
 
More Less
16
MON (15/2), 6 PM GMT 
Career Guidance & Capstone Showcase

Present your finalised autonomous robot project and gain actionable strategies for building a robotics portfolio and passing industry interviews.

  • Resume tips
  • GitHub portfolio structuring
  • The robotics interview process
  • Capstone project showcase
 
 
More Less
APPLY

Fill in the form to start your ELVTR journey.

We will contact you to clarify all the details.

First name
This is a required field
Last name
This is a required field
Email
This is a required field
This is a required field
This is required field!
This is required field!
This is required field!