Robot Control Case Studies: Differential-Drive AMRs
Resumo
Pixel shares Chapter 12 of the Robot Control Software series, featuring an indoor differential-drive AMR integration case study. It explains how localization, navigation, velocity and motor control, safety supervision, and diagnostics work together, and why accurate wheel geometry calibration matters for dependable navigation.
DEV Community
Robot Control Software — Ch.12: Control Case Studies [EN]
STATERA Library · Series 08 · Volume 04 · Chapter 12 · EN Source: https://github.com/Statera-Library/08_Vol_04_Robot_Control_Software/blob/main/Chapter_12_Control_Case_Studies/Chapter_12_Control_Case_Studies_EN.md Volume 04 Robot Control Software 12. Control Case Studies 12.01 Indoor AMR Differential Drive Control SW Integration Indoor autonomous mobile robots using differential drive are widely deployed in factories, warehouses, hospitals, and logistics centers because the mechanical architecture is simple, compact, and capable of precise low-speed maneuvering. Control software integration transforms this basic two-wheel kinematic structure into a complete autonomous system by coordinating localization, planning, velocity control, motor control, safety supervision, diagnostics, and communication through clearly defined real-time interfaces. A typical differential-drive AMR contains independently driven left and right wheel groups, wheel encoders, motor drives, an inertial measurement unit, safety sensors, and one or more LiDAR or vision sensors. The software converts desired linear and angular velocities into individual wheel-speed references according to the robot geometry. Accurate wheel radius and track-width parameters are therefore essential because systematic calibration errors directly produce longitudinal distance and heading errors during navigation. The control architecture is commonly divided into mission, navigation, motion-control, and actuator layers. A fleet or mission manager supplies destinations and operational commands, while the navigation layer estimates robot pose and generates a collision-free path. A local planner converts the path into feasible velocity commands, and the motion controller calculates left and right wheel references. The actuator layer finally executes torque, velocity, or current control through embedded motor-drive loops. Localization integrates wheel odometry with IMU, LiDAR, camera, or other environmental measurements. Encoder data provide high-rate incremental motion information but accumulate errors because of wheel-radius uncertainty, floor irregularities, slip, and mechanical tolerances. IMU measurements improve short-term angular estimation, while LiDAR-based localization or visual localization provides environmental references that constrain accumulated drift. Sensor fusion therefore provides a stable pose estimate required by the navigation and control loops. Differential-drive kinematics provide a compact interface between navigation commands and wheel actuators. A commanded forward velocity determines the common component of left and right wheel motion, whereas angular velocity creates a differential component between them. Software must also apply limits for maximum wheel speed, acceleration, deceleration, and angular rate. These constraints prevent mathematically valid navigation commands from exceeding motor, gearbox, tire-friction, battery, or payload-dependent physical limits. The velocity-control layer should compensate for differences between nominal kinematic commands and actual vehicle behavior. Separate wheel-speed controllers can use encoder feedback to regulate each motor, while an upper-level controller corrects linear and angular motion. PID-based control remains common because of its simplicity and deterministic execution, but feedforward terms, gain scheduling, disturbance observers, or model-based compensation can improve performance when payload, floor friction, battery voltage, and operating speed vary significantly. Trajectory tracking connects the local planner to the low-level wheel controllers. Instead of independently executing discrete velocity commands, the controller continuously evaluates position, heading, curvature, and velocity errors relative to the planned trajectory. The resulting corrections must remain smooth enough to avoid wheel slip and oscillation. At low speeds, special handling is often required because encoder quantization, dri...

Powered by Readybot.io