Open a chapter to see its sections. Each chapter ends with a QR code for its free assessment.
1Systems and Models
- 1.1 What a model is; inputs, outputs and states
- 1.2 Mechanical, electrical and electromechanical systems
- 1.3 The DC motor model derived
- 1.4 Linearisation about an operating point
- 1.5 Simulating models in Python
- 1.6 Case study: a model of a robot's wheel drive
Take the Chapter 1 assessment
2The Laplace Transform and Transfer Functions
- 2.1 The Laplace transform and its key properties
- 2.2 Transfer functions, poles and zeros
- 2.3 Block-diagram algebra
- 2.4 First- and second-order responses
- 2.5 Computing with transfer functions
- 2.6 Case study: a position servo for a camera mount
Take the Chapter 2 assessment
3State-Space Models
- 3.1 State equations and their relation to transfer functions
- 3.2 Controllability and observability
- 3.3 Case study: the inverted pendulum on a cart
Take the Chapter 3 assessment
4System Identification
- 4.1 Step-response identification
- 4.2 Least-squares parameter estimation
- 4.3 Instantaneous gradient descent (iGD) identification
- 4.4 Validating a model against data
- 4.5 Case study: identifying a robot wheel drive from encoder data
Take the Chapter 4 assessment
5Stability and Performance
- 5.1 BIBO stability and the s-plane
- 5.2 The Routh-Hurwitz criterion
- 5.3 Root locus
- 5.4 Frequency response
- 5.5 Case study: steering a line-following robot with a camera
Take the Chapter 5 assessment
6PID Control and Tuning
- 6.1 PID design in the s-domain
- 6.2 Ziegler-Nichols and Cohen-Coon tuning
- 6.3 Tuning by simulation and by experiment
- 6.4 Cascade control
- 6.5 Case study: speed and position control of a wheeled robot
Take the Chapter 6 assessment
7Discrete-Time Control
- 7.1 Sampling and the z-transform
- 7.2 Discretisation
- 7.3 Stability in the z-plane
- 7.4 Digital PID implementation
- 7.5 Case study: how slowly can the camera mount be sampled?
Take the Chapter 7 assessment
8State Feedback and LQR
- 8.1 Pole placement
- 8.2 The linear quadratic regulator
- 8.3 Worked example: balancing an inverted pendulum
Take the Chapter 8 assessment
9State Estimation and the Kalman Filter
- 9.1 Noise, uncertainty and Bayesian estimation
- 9.2 Observers
- 9.3 The Kalman filter derived
- 9.4 Extended Kalman filter
- 9.5 Case study: fusing odometry, an IMU and GPS
Take the Chapter 9 assessment
10Model Predictive Control
- 10.1 Receding-horizon optimisation
- 10.2 Constraints and the quadratic program
- 10.3 MPC for trajectory tracking
- 10.4 Case study: constrained balancing of the cart-pole
Take the Chapter 10 assessment
11Intelligent Control
- 11.1 Fuzzy logic control
- 11.2 Neural-network controllers
- 11.3 Reinforcement learning for control
- 11.4 Adaptive control and online identification
- 11.5 Machine learning and iGD for a self-balancing robot
- 11.6 Case study: three intelligent controllers on test
Take the Chapter 11 assessment
12Raspberry Pi for Robotics
- 12.1 Single-board computers; GPIO layout
- 12.2 Headless setup and remote access
- 12.3 Python GPIO control: LEDs, buttons and servos
- 12.4 Raspberry Pi with microcontrollers
- 12.5 Case study: a framed link between a Raspberry Pi and an ESP32
Take the Chapter 12 assessment
13ROS 2
- 13.1 ROS 2 architecture: nodes, topics, services, actions and parameters
- 13.2 Workspaces, packages and colcon
- 13.3 Writing publishers, subscribers, services and action servers in Python
- 13.4 Launch files, TF2 and coordinate frames
- 13.5 Visualisation and simulation: RViz and Turtlesim
- 13.6 Coordinating controllers without ROS: serial and sockets
- 13.7 Case study: testing a ROS 2 robot's algorithms without ROS
Take the Chapter 13 assessment
14Sensing for Mobile Robots
- 14.1 Wheel encoders and odometry
- 14.2 LIDAR: principles and point clouds
- 14.3 IMUs and cameras
- 14.4 Occupancy grids
- 14.5 Case study: odometry and a grid map for a robot in a room
Take the Chapter 14 assessment
15Mobile Robot Kinematics
- 15.1 Differential-drive kinematics
- 15.2 Ackermann steering
- 15.3 Holonomic and non-holonomic constraints
- 15.4 Case study: motions of three robot types
Take the Chapter 15 assessment
16Path Planning
- 16.1 Configuration space
- 16.2 Graph search on occupancy grids
- 16.3 Sampling-based planning: PRM and RRT
- 16.4 Trajectory smoothing and following (pure pursuit)
- 16.5 Case study: planning across the room
Take the Chapter 16 assessment
17SLAM and Navigation
- 17.1 Localisation: Monte Carlo localisation
- 17.2 The SLAM problem
- 17.3 SLAM in ROS 2 and the Nav2 stack
- 17.4 Case study: global localisation and a loop closure
Take the Chapter 17 assessment
18Digital Twins and Simulation
- 18.1 What a digital twin is
- 18.2 How a physics simulator advances time
- 18.3 Gazebo: worlds, models and plugins
- 18.4 Unity for robotics simulation
- 18.5 Browser-based twins with JavaScript
- 18.6 Synchronising a physical robot with its twin
- 18.7 Case study: keeping a wheel's twin in step
Take the Chapter 18 assessment
19Drone Systems
- 19.1 UAV types: multirotor, fixed-wing and single-rotor
- 19.2 Components: frame, motors, ESCs, propellers and batteries
- 19.3 Flight controllers and their sensors
- 19.4 Transmitters, receivers and protocols
- 19.5 Regulations: NCAA rules for drones in Nigeria
- 19.6 Case study: sizing a survey quadrotor
Take the Chapter 19 assessment
20Quadrotor Dynamics and Control
- 20.1 Rigid-body dynamics and Euler angles
- 20.2 Thrust, torque and the motor mixing matrix
- 20.3 Attitude and position control loops
- 20.4 PX4 and ArduPilot
- 20.5 Case study: a cascaded controller on a nonlinear quadrotor
Take the Chapter 20 assessment
21Robot Arm Kinematics
- 21.1 Rotation matrices and homogeneous transforms
- 21.2 Denavit-Hartenberg parameters
- 21.3 Forward kinematics of a 3-link arm
- 21.4 Inverse kinematics: geometric and numerical solutions
- 21.5 The Jacobian and singularities
- 21.6 Case study: kinematics of a small articulated arm
Take the Chapter 21 assessment