RAIN
Cover of RDA 211 Advanced Control for Mobile Robots

RDA 211

Advanced Control for Mobile Robots

Modelling, Control, Estimation, Planning, ROS and Drones

A mobile robot is a feedback system from its motor drivers to its route planner. Its wheels must turn at commanded speeds against changing loads; its estimate of where it is must be corrected by noisy sensors; its path must avoid obstacles it has only just seen; and a drone must hold its attitude hundreds of times a second while it does all of this in the air. This book teaches the modelling, control, estimation and planning methods that make such robots work, and the software (Python, ROS 2 and simulation) in which they are built today.

21 chapters in 6 parts, 385 pages. Editor-in-Chief: Olusola Sayeed Ayoola. Published by RAIN, Ibadan, 2026.

Contents

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

Order a copy

Printed copies are delivered anywhere in Nigeria or collected at RAIN in Ibadan; digital copies arrive by e-mail with your book owner code. We will reply with the price, delivery cost and payment details.

Schools and companies ordering several copies: put the number you need and we will quote.

Other RAIN textbooks

AIML 101 Building and Deploying AI ApplicationsAIML 111 Data Science with PythonAIML 112 Machine Learning IAIML 211 Machine Learning IIAIML 212 Deep LearningRDA 111 Product Design and Development

All the books