Mobile Robots, Localization and NavigationIntroductionA mobile robot must answer three linked questions: Where am I?, What is around me?, and How should I move to a desired destination? These questions correspond to localization, perception and navigation. Unlike a fixed industrial manipulator, a mobile robot operates in a changing workspace and must account for uncertain motion, incomplete sensing, wheel slip, moving obstacles and computational limits. This chapter develops models and methods for wheeled and aerial robots. It begins with motion kinematics and odometry, then introduces state estimation using Kalman and particle filters. It proceeds to mapping, simultaneous localization and mapping (SLAM), path planning and path tracking. The final sections integrate these ideas in an applied case and discuss limitations, safety and current developments. Learning ObjectivesAfter studying this chapter, a student should be able to: - Model differential-drive, car-like and aerial robot motion.
- Derive and use odometric pose updates.
- Explain uncertainty propagation and the role of sensor fusion.
- Apply the conceptual steps of Kalman, extended Kalman and particle filtering.
- Distinguish occupancy-grid mapping, localization and SLAM.
- Select suitable global and local navigation methods.
- Analyze path-tracking performance and practical failure modes.
- Evaluate safety, ethical and operational issues in autonomous mobile robots.
1. Frames, Poses and ConfigurationA robot pose describes position and orientation relative to a reference frame. For a planar robot, the pose is q = [x, y, θ]ᵀ where x and y are Cartesian coordinates in metres and θ is heading in radians. The world frame is usually denoted W, while the robot body frame is B. A point expressed in the body frame can be transformed to the world frame by a rotation and translation: pW = R(θ)pB + t where t = [x, y]ᵀ and R(θ) = [ cosθ −sinθ ; sinθ cosθ ] The transformation assumes a rigid body and a common planar reference. In three-dimensional robotics, position and orientation are represented by homogeneous transformations, rotation matrices, Euler angles or unit quaternions. Quaternions avoid the singularity known as gimbal lock and are widely used for aerial vehicles. A robot's configuration space contains all variables needed to specify its pose. A differential-drive robot has three configuration variables but only two independent instantaneous velocity inputs. This distinction creates nonholonomic constraints: the robot can move forward and rotate, but cannot translate sideways without changing orientation. 2. Kinematic Models of Mobile Robots2.1 Differential-drive robotA differential-drive robot has two independently driven wheels separated by track width b. Let the left and right wheel angular velocities be ω_L and ω_R, and wheel radius be r. Their tangential velocities are v_L = rω_L and v_R = rω_R. The body forward speed v and angular speed Ω are v = (vR + vL)/2 Ω = (vR − vL)/b For ideal rolling without lateral slip, the continuous-time model is ẋ = v cosθ ẏ = v sinθ θ̇ = Ω The no-side-slip constraint is −sinθ ẋ + cosθ ẏ = 0 This equation states that velocity perpendicular to the wheel axle is zero. It is valid only when lateral skidding is negligible. For a sampling interval Δt and constant v and Ω, an exact planar integration is xk+1 = xk + (v/Ω)[sin(θk + ΩΔt) − sinθk] yk+1 = yk + (v/Ω)[−cos(θk + ΩΔt) + cosθk] θk+1 = θk + ΩΔt These expressions apply when Ω ≠ 0. For Ω = 0, the limiting straight-line equations are xk+1 = xk + vΔt cosθk, yk+1 = yk + vΔt sinθk, θk+1 = θk In implementation, angles should be normalized, commonly to (−π, π]. 2.2 Car-like and Ackermann steeringA car-like robot has speed v, wheelbase L and steering angle δ. The bicycle model is ẋ = v cosθ ẏ = v sinθ θ̇ = (v/L)tanδ The model assumes a single equivalent front and rear wheel, small tire slip and planar motion. Its instantaneous turning radius is ρ = L/tanδ Thus steering limits impose a minimum turning radius, which must be respected by a feasible planner. 2.3 Aerial robotsAerial vehicles move in six degrees of freedom. A simplified translational model is mṽ = RfB + mgW + Fd where m is mass, v is world-frame velocity, R maps body thrust into the world frame, f_B is the thrust vector in body coordinates, g_W is gravitational acceleration and F_d represents aerodynamic drag. The rotational dynamics can be written Jω̇ + ω × (Jω) = τ where J is the inertia matrix, ω is body angular velocity and τ is applied torque. These equations are more complex than wheeled kinematics because attitude, thrust and translational acceleration are coupled. In practice, flight controllers often use cascaded loops: attitude control inside velocity control, inside position control. 3. Odometry and Its UncertaintyOdometry estimates displacement by integrating wheel rotations or inertial measurements. For a differential-drive robot, encoder increments Δs_L and Δs_R give Δs = (ΔsR + ΔsL)/2 Δθ = (ΔsR − ΔsL)/b A midpoint approximation gives xk+1 = xk + Δs cos(θk + Δθ/2) yk+1 = yk + Δs sin(θk + Δθ/2) θk+1 = θk + Δθ The increments must be in metres and radians, and b must be in metres. This approximation is accurate when wheel increments are sufficiently small; exact integration is preferable for larger rotations. Worked example: encoder odometryA robot has wheel radius 0.10 m and track width 0.50 m. During one sample, the right wheel rotates through 0.80 rad and the left through 0.60 rad. The robot begins at (2.0 m, 1.0 m, 30°). The wheel displacements are Δs_R = 0.10 × 0.80 = 0.08 m and Δs_L = 0.10 × 0.60 = 0.06 m. Therefore, Δs = 0.07 m and Δθ = (0.08 − 0.06)/0.50 = 0.04 rad. Using the midpoint heading, θ_mid = 30° + 0.02 rad ≈ 31.146°. Hence, x_new ≈ 2.0 + 0.07 cos31.146° ≈ 2.060 m, y_new ≈ 1.0 + 0.07 sin31.146° ≈ 1.036 m, θ_new ≈ 32.292°. The result is an estimate, not a measurement of absolute position. Odometry errors arise from encoder quantization, unequal wheel radii, incorrect track-width calibration, wheel slip, surface deformation and timing errors. Bias errors accumulate systematically. Random errors accumulate more slowly but still increase uncertainty with distance travelled. Consequently, odometry is locally smooth but globally drifting. 4. State Estimation and Sensor FusionA robot state may include position, velocity, orientation, sensor biases and other quantities. A general stochastic state-space model is xk = f(xk−1, uk) + wk zk = h(xk) + vk where x_k is the hidden state, u_k is the control input, z_k is a measurement, f is the motion model, h is the observation model, and w_k and v_k are process and measurement noise. A common assumption is zero-mean Gaussian noise with covariance matrices Q and R, although real sensor errors may be non-Gaussian. The prediction-update structure is fundamental: - Prediction: use the motion model to estimate the new state and uncertainty.
- Measurement update: compare predicted measurements with sensor observations and correct the estimate.
4.1 Kalman filterFor a linear model, xk = Akxk−1 + Bkuk + wk zk = Hkxk + vk with w_k ~ N(0,Q_k) and v_k ~ N(0,R_k), the Kalman prediction is x̂k⁻ = Akx̂k−1 + Bkuk Pk⁻ = AkPk−1Akᵀ + Qk The innovation, innovation covariance and gain are rk = zk − Hkx̂k⁻ Sk = HkPk⁻Hkᵀ + Rk Kk = Pk⁻HkᵀSk⁻¹ The update is x̂k = x̂k⁻ + Kkrk Pk = (I − KkHk)Pk⁻ Here P is state covariance. The filter gives greater weight to a sensor with lower uncertainty. The equations require a linear model and approximately Gaussian noise. 4.2 Extended Kalman filterRobot motion and range-bearing observations are usually nonlinear. The extended Kalman filter (EKF) linearizes f and h around the current estimate. If F_k and H_k are their Jacobians, the same prediction-update equations are used with F_k and H_k replacing A_k and H_k as appropriate. The EKF can fail when nonlinearities are strong, the initial estimate is poor or the true distribution is multimodal. For a range-bearing landmark measurement with landmark coordinates (l_x,l_y), the predicted range is ρ = √[(lx−x)2 + (ly−y)2] and predicted bearing is φ = atan2(ly−y, lx−x) − θ The angular residual must be wrapped to the chosen interval. Failure to wrap angles can create an apparently huge error near ±π. 4.3 Particle filteringA particle filter represents a probability distribution by samples (particles) x_k^(i) with weights w_k^(i). Each cycle samples a predicted state, evaluates its measurement likelihood, normalizes weights and resamples. It is suitable for nonlinear, non-Gaussian and multimodal problems such as global localization in a known map. A generic weight relation is wk^(i) ∝ wk−1^(i)p(zk | xk^(i), map) After normalization, ∑_i w_k^(i) = 1. Resampling concentrates particles in likely regions, but repeated resampling can cause particle impoverishment. Increasing particle count improves representation at greater computational cost. Adaptive methods vary the number of particles according to localization uncertainty. 5. Mapping and SLAMA map is a representation of the environment. Common forms include: - Feature maps: landmarks such as corners, poles or visual keypoints.
- Occupancy grids: cells store the probability of being occupied.
- Metric point clouds: three-dimensional samples from lidar or depth cameras.
- Topological maps: nodes and connections represent places and routes.
An occupancy grid divides space into cells. A practical inverse sensor model increases the occupied probability of a detected obstacle, decreases the probability along the sensor ray, and leaves unrelated cells unchanged. Log-odds are often used because repeated evidence can be added: lt(c) = lt−1(c) + log[p(c|zt,xt)/(1−p(c|zt,xt))] − l0(c) where l_t(c) is the log-odds for cell c, z_t is the sensor observation, x_t is the robot pose and l_0 is the prior log-odds. The model depends on sensor calibration and assumes conditional independence approximations. Localization estimates pose in a known map. Mapping estimates environmental structure from known or estimated poses. SLAM estimates both pose and map simultaneously. The central difficulty is correlation: an error in pose changes the apparent location of every observed landmark, while an incorrect map can distort future pose estimates. SLAM systems commonly contain front-end and back-end components. The front end extracts features or scan matches and proposes constraints. The back end optimizes a pose graph or filters a joint state. Loop closure detects that the robot has returned to a previous place and adds a global constraint, reducing accumulated drift. False loop closures can be catastrophic, so geometric verification and robust optimization are essential. A modern visual-inertial system may combine camera features, inertial measurements and wheel odometry. Lidar-based systems are often less sensitive to illumination but can struggle with feature-poor or highly repetitive environments. No sensor is universally superior; sensor selection follows the operating environment and safety requirements. 6. Planning and NavigationNavigation is usually decomposed into global planning, local planning and control. 6.1 Global planningA global planner uses a map to find a collision-free route. Breadth-first search is appropriate for an unweighted grid, while Dijkstra's algorithm handles nonnegative edge costs. A* uses f(n) = g(n) + h(n) where g(n) is cost from the start to node n and h(n) estimates the remaining cost. If h is admissible—never greater than the true remaining cost—A* returns an optimal path for the specified graph and cost function. Euclidean distance is admissible for a grid whose edge costs do not make diagonal travel cheaper than the estimate, but grid conventions must be checked. Configuration-space inflation accounts for robot size. Obstacles are expanded by the robot footprint plus a safety margin. For a car-like robot, merely inflating a grid is insufficient if the planned path violates curvature or steering constraints. State lattices and sampling-based planners can incorporate such constraints. 6.2 Local planning and obstacle avoidanceA local planner follows the global route while reacting to newly sensed obstacles. It selects feasible velocity commands over a short horizon. The dynamic window approach evaluates velocities reachable within acceleration limits and rejects trajectories that collide with obstacles. Model predictive control (MPC) predicts motion over a horizon and minimizes a cost such as J = ∑i=1N[eiᵀQei + uiᵀRui] + eNᵀQFeN where e_i is tracking error, u_i is control input, Q, R and Q_F are weighting matrices, and N is horizon length. MPC can explicitly handle constraints, but requires a sufficiently accurate model and adequate computation. 6.3 Path trackingA path is geometric; a trajectory additionally specifies timing. A controller converts tracking error into commands. For a differential-drive robot, pure pursuit selects a look-ahead point and turns toward it. If α is the angle from the robot heading to the look-ahead point and L_d is look-ahead distance, a common curvature command is κ = 2 sinα/Ld where κ is curvature in m⁻¹. The angular velocity command is Ω = vκ. Larger look-ahead distances generally smooth motion but may reduce accuracy in tight curves; smaller distances improve local accuracy but can cause oscillation under noise. The Stanley controller uses cross-track error and heading error and is common for car-like vehicles. PID control can regulate heading or lateral error, but integral action must be used carefully because actuator saturation and changing geometry can cause windup. A robust navigation stack separates estimation, planning and control interfaces while time-stamping all measurements. 7. Worked Navigation ExampleConsider a differential-drive robot following a straight corridor. Its estimated pose is (0.0 m, 0.30 m, 5°), while the desired corridor centreline is y = 0 and heading 0°. The lateral error is approximately 0.30 m and heading error is 5°. A controller should command a small corrective turn toward the centreline while maintaining forward motion. If the robot turns too aggressively, it may oscillate from one wall to the other; if it turns too slowly, it may collide before convergence. A practical design sequence is: - Calibrate wheel radius, track width and encoder direction.
- Estimate pose with odometry and an external correction source.
- Inflate corridor boundaries by robot radius and safety margin.
- Generate a centreline path.
- Select a speed according to curvature, localization uncertainty and stopping distance.
- Apply a constrained local controller.
- Monitor innovation residuals, obstacle distance and command saturation.
- Stop or enter a safe degraded mode when localization becomes unreliable.
The example illustrates that navigation is not simply shortest-path search. It is a closed-loop process involving uncertainty, geometry, dynamics and safety. 8. Illustrative Case: Autonomous Warehouse Transport RobotBackgroundThis illustrative case concerns a small warehouse robot transporting bins between storage aisles and a packing station. The floor is mostly flat, but reflective surfaces, temporary pallets and people create sensing challenges. ProblemWheel odometry alone provides smooth motion but drifts after repeated turns. A two-dimensional lidar detects walls and pallets but can be ambiguous in identical aisles. The robot must localize, avoid people and stop within a defined position tolerance at the packing station. AnalysisThe robot uses differential-drive kinematics and encoder odometry at high frequency. Lidar scan matching supplies relative corrections, while fixed landmarks near stations provide occasional absolute observations. An occupancy grid represents static obstacles, and a separate dynamic-obstacle layer is updated rapidly. The navigation cost penalizes proximity to obstacles, excessive curvature and unnecessary reversals. Approach and solutionAn EKF fuses wheel odometry with inertial measurements for short-term pose continuity. A lidar-based SLAM or localization module corrects accumulated drift. During global planning, the robot footprint is inflated by its physical radius plus a margin derived from localization and braking uncertainty. A local planner generates velocity commands and predicts stopping distance. If the covariance exceeds a threshold, the robot reduces speed and seeks a recognizable area; if localization cannot be recovered, it stops and requests assistance. People are not treated as static obstacles. Their recent positions are tracked, and the robot applies a conservative exclusion zone. Safety-rated emergency stopping remains independent of the ordinary navigation software. OutcomeThe integrated architecture provides smooth odometric motion, map-based correction and local reaction to temporary obstacles. Its performance depends strongly on calibration, timestamp synchronization and correct handling of reflective or occluded lidar returns. The system is safer because uncertainty affects speed selection rather than being hidden from the planner. Learning points- Sensor fusion is effective only when sensor frames, timing and covariances are correct.
- A map is useful but never perfectly current.
- Localization quality must influence planning and speed.
- Safety functions should not depend solely on probabilistic estimates.
- Operational monitoring is part of robot design, not an afterthought.
9. Limitations, Safety and Professional PracticeMobile-robot models are abstractions. Wheels may slip, floors may deform, lidar may be occluded, cameras may fail in poor illumination and magnetic or inertial sensors may experience bias. A filter can produce a numerically precise estimate that is physically wrong if its model or covariance is wrong. Innovation monitoring, sensor diagnostics and independent plausibility checks are therefore essential. Safety engineering requires hazard identification, risk reduction, speed and separation monitoring, protective fields, emergency stopping and clear human-robot interaction. Industrial deployments should follow applicable machinery, functional-safety, electrical and radio regulations. Autonomous decisions should be logged so that incidents can be reconstructed. Data from cameras and lidar may reveal personal information; collection, retention and access should follow privacy requirements and organizational policy. Engineers must also consider fairness and accountability. A robot that behaves reliably in an empty laboratory may perform poorly around wheelchairs, children or workers wearing unusual clothing. Testing should include representative operating conditions, edge cases and controlled failure scenarios. Human override and recovery procedures must be practical rather than merely documented. 10. Contemporary DevelopmentsCurrent systems increasingly combine learned perception with model-based estimation and control. Neural networks can detect objects, features and traversable regions, while geometric methods provide interpretable motion constraints. Learned policies may be powerful but require validation beyond their training distribution. Semantic maps associate geometry with labels such as door, shelf or charging station, improving task planning. Multi-robot systems share maps and task information but introduce communication delays, inconsistent coordinate frames and cybersecurity risks. Three-dimensional lidar, event cameras, visual-inertial odometry and neural implicit maps are expanding capability. Nevertheless, reliable engineering practice still requires calibrated sensors, uncertainty-aware estimation, explicit constraints, fault handling and measurable validation. Artificial intelligence complements rather than eliminates the need for kinematics, probability, control theory and safety engineering. Chapter SummaryMobile-robot autonomy is built from interconnected layers. Kinematic models describe feasible motion; odometry integrates local motion but drifts. State estimation combines prediction and measurement, with Kalman filters suited to approximately linear Gaussian systems, EKFs suited to mild nonlinearities and particle filters suited to nonlinear or multimodal distributions. Maps may be metric, feature-based, probabilistic or topological. SLAM estimates both robot pose and map and relies on reliable scan or feature constraints and loop closure. Global planners such as A* find routes in a map, while local planners and controllers account for new obstacles, dynamics and tracking error. Differential-drive and car-like robots impose different constraints, and aerial robots require full six-degree-of-freedom dynamics. Practical navigation depends on calibration, synchronization, uncertainty propagation, safety margins and graceful failure behavior. Modern AI methods are valuable when integrated with physically grounded models and rigorous validation. Key TermsPose: Position and orientation of a robot relative to a reference frame. Configuration space: Set of variables specifying the robot configuration. Nonholonomic constraint: Motion restriction not expressible solely as a restriction on position. Differential drive: Drive system using independently controlled left and right wheels. Odometry: Motion estimate obtained by integrating wheel, inertial or related measurements. Wheel slip: Difference between assumed rolling motion and actual wheel-ground motion. State estimate: Best available estimate of hidden robot variables. Covariance: Matrix describing uncertainty and correlation in an estimate. Kalman filter: Optimal linear-Gaussian recursive state estimator under its assumptions. Extended Kalman filter: Nonlinear estimator based on local linearization. Particle filter: Sample-based estimator representing potentially non-Gaussian distributions. Occupancy grid: Discretized map whose cells represent obstacle occupancy probability. Localization: Estimation of robot pose in a known or partially known environment. SLAM: Simultaneous localization and mapping. Loop closure: Recognition of a previously visited place to constrain accumulated drift. Configuration-space inflation: Expansion of obstacles to account for robot dimensions and clearance. A*: Graph search using path cost plus a heuristic estimate. Path tracking: Control process that makes a robot follow a geometric path or trajectory. Innovation: Difference between an actual measurement and its predicted value. Model predictive control: Optimization-based control using predicted future behavior and constraints. Review Questions5 Short Answer Questions- Why does differential-drive motion impose a nonholonomic constraint?
- What are the main sources of systematic odometry error?
- Distinguish localization, mapping and SLAM.
- What roles do Q and R play in a Kalman filter?
- Why are obstacles inflated in configuration space?
5 Long Answer Questions- Derive the differential-drive kinematic equations from left and right wheel velocities and discuss their assumptions.
- Explain the prediction and measurement-update stages of an extended Kalman filter.
- Compare feature maps, occupancy grids and point-cloud maps for indoor navigation.
- Explain how global planning, local planning and path tracking form a navigation architecture.
- Discuss the causes of SLAM failure and methods used to reduce drift and reject false loop closures.
3 Analytical / Application Questions- A differential-drive robot has r = 0.08 m, b = 0.40 m, Δφ_R = 1.2 rad and Δφ_L = 1.0 rad. Compute Δs_R, Δs_L, Δs, Δθ and describe the resulting motion.
- Design a sensor-fusion architecture for a warehouse robot using encoders, IMU and lidar. Identify the state, update rates, major uncertainties and a safe response to localization loss.
- A car-like robot has L = 1.2 m and maximum steering angle 25°. Compute its minimum ideal turning radius and explain why a grid planner that ignores curvature may generate an infeasible route.
Multiple Choice Questions with AnswersQuestion 1For an ideal differential-drive robot, which expression gives angular velocity? A. Ω = (v_R + v_L)/b B. Ω = (v_R − v_L)/b C. Ω = b(v_R − v_L) D. Ω = (v_Rv_L)/b Correct Answer: B. Ω = (v_R − v_L)/b Question 2A differential-drive robot has wheel displacements 0.08 m and 0.06 m, with track width 0.50 m. What is its heading increment? A. 0.02 rad B. 0.04 rad C. 0.07 rad D. 0.14 rad Correct Answer: B. 0.04 rad Question 3Which condition is required by the standard linear Kalman filter model? A. The motion and measurement models are linear B. All sensors measure position directly C. The robot cannot rotate D. The map must be unknown Correct Answer: A. The motion and measurement models are linear Question 4What does the covariance matrix in a state estimator represent? A. Only the robot's speed B. The map resolution C. Estimate uncertainty and variable correlations D. The number of particles Correct Answer: C. Estimate uncertainty and variable correlations Question 5Which estimator is particularly suitable for multimodal global localization? A. A particle filter B. A proportional controller C. A moving average only D. A wheel encoder alone Correct Answer: A. A particle filter Question 6In SLAM, loop closure primarily helps to do what? A. Increase wheel radius B. Reduce accumulated map and pose drift C. Remove the need for sensors D. Guarantee collision avoidance Correct Answer: B. Reduce accumulated map and pose drift Question 7For A*, f(n) is commonly defined as which quantity? A. g(n) − h(n) B. g(n)h(n) C. g(n) + h(n) D. h(n)/g(n) Correct Answer: C. g(n) + h(n) Question 8For pure pursuit, increasing the look-ahead distance generally has which effect? A. It always eliminates localization error B. It tends to smooth tracking but may reduce tight-curve accuracy C. It makes the robot move sideways D. It removes curvature constraints Correct Answer: B. It tends to smooth tracking but may reduce tight-curve accuracy Question 9A car-like robot has wheelbase 1.2 m and steering angle 25°. What is its ideal minimum turning radius, approximately? A. 0.56 m B. 1.20 m C. 2.57 m D. 5.15 m Correct Answer: C. 2.57 m Question 10Why should a robot reduce speed when localization uncertainty becomes large? A. To increase wheel slip B. To increase sensor noise C. To provide more time and clearance for safe correction or stopping D. To make the map permanently static Correct Answer: C. To provide more time and clearance for safe correction or stopping
|