Mobile Base Architectures — Differential, Holonomic, Ackermann
See also (Tier 3 family index): Mobile Base Configurations
Scope. This note covers wheeled mobile-base kinematics: the chassis/drivetrain layer that converts wheel commands into body-frame motion and back. Pose estimation, mapping, and global planning live in
[[Robotics/slam]]and[[Robotics/path-planning]]; per-wheel current and velocity loops live in[[Robotics/motors-electric]]and[[Robotics/pid-control]]. Tracked, legged, and aerial platforms are referenced only for comparison — legged gets its own note ([[Robotics/legged-robotics]]).
1. At a glance
A wheeled mobile base is the canonical platform of warehouse logistics, last-mile delivery, autonomous cars, hospital service robots, and almost every mobile manipulator on Earth. Mechanically it is a small set of well-understood parts — chassis + drive wheels + idler/caster wheels + suspension + safety bumpers — but the kinematic class of the wheel arrangement determines almost every higher-level capability: whether the robot can rotate in place, whether it can crab sideways, whether path planning is holonomic or non-holonomic, whether parallel-parking is required, how it behaves when wheels slip, and what the achievable top speed is on a given footprint.
The four dominant kinematic classes a designer actually picks from, plus two specialised ones:
- Differential drive — two independently-driven coaxial wheels + 1–2 passive casters. The default of indoor mobile robotics. Compact, cheap, in-place rotation, simple control. Non-holonomic (cannot move sideways without rotating first). Examples: TurtleBot 4, MiR 250, Fetch Freight, Clearpath Husky (4WD variant), iRobot Roomba.
- Skid-steer (4WD tank-like) — four powered wheels in two pairs; turning is achieved by slipping the inner and outer sides at different speeds. Rugged for outdoor terrain; the four-wheel diff. Examples: Clearpath Jackal, Bobcat-class skid-steer loaders, ANYmal Wheelybot (with active steering), DARPA Subterranean wheeled entrants.
- Ackermann (car-style) — front wheels steer with non-parallel angles (Ackermann geometry); rear wheels driven (RWD) or 4WD. Required for high-speed road travel and any vehicle large enough that in-place rotation would scrub tires destructively. Strictly non-holonomic. Examples: F1Tenth, MIT RACECAR, all production self-driving cars (Tesla, Waymo, Cruise, Mobileye, Zoox).
- Mecanum (4 wheels with 45° rollers) — full 3-DOF holonomic in the plane: . Allows omni-directional translation and rotation simultaneously. Examples: Festo Robotino, KUKA omniMove (heavy industrial), Standard Bots RO1 mobile base, KIVA-style fulfilment robots in earlier generations.
- Swerve drive (4-wheel independent steer) — each wheel module has its own steer + drive motor (8 motors total for 4 wheels). The most capable wheeled architecture: full holonomic motion without relying on roller slip for sideways motion. High traction, high cost, mechanical complexity. Examples: Amazon Robotics (ex-Kiva) drive units, Locus Robotics LocusBot, FRC FIRST Robotics drivetrains, most modern warehouse AGVs.
- Omni 3-wheel (Killough triangle, 120° spacing) — three omni-wheels at 120°; holonomic 3-DOF; common in research and table-top robots; rarely sized to industrial payload.
A useful design dichotomy: holonomic vs non-holonomic. A planar mobile base has three workspace DOFs ; if the platform can independently command instantaneous velocity along all three, it is holonomic (mecanum, swerve, omni-3, 4WIS). If it has fewer instantaneous controls than workspace DOFs (typically two: a forward and a turn), it is non-holonomic (differential, Ackermann, skid-steer). Non-holonomic does not mean “cannot reach a target pose” — it just means the path to that pose is constrained (Brockett 1983).
First ask before committing to a topology:
- Indoors or outdoors? Indoor → diff or holonomic. Outdoor uneven → skid-steer or Ackermann.
- Top speed? Below 1 m/s → diff fine. 1–2 m/s → diff with care. > 3 m/s → Ackermann.
- Footprint vs aisle width? Dense aisles → holonomic (sideways translation saves area).
- Payload and traction? Heavy payload on smooth floor → swerve/4WIS (no slip). Light payload on smooth floor → mecanum or omni.
- Safety regime? ISO 3691-4 AGV certification is easier on diff-drive (single-axis braking) than on holonomic (multi-axis).
- Charging strategy? 24/7 fleet → hot-swap battery (MiR-style) or opportunistic top-up (Kiva-style). Single-shift → simple plug-in dock.
- Fleet size? > 50 robots → traffic management becomes the dominant engineering problem, not kinematics. Multi-robot coordination (Conflict-Based Search, Multi-Agent Path Finding) operates regardless of base topology but cycle time depends heavily on it.
Where it sits in the design stack. A wheeled mobile base is the physical layer of an autonomous system. Above it sit: state estimation (odometry + IMU + LiDAR/visual SLAM), local obstacle avoidance (DWA, TEB), global planning ([[Robotics/path-planning]]), task assignment, and fleet management. Below it sit: per-wheel velocity loops ([[Robotics/pid-control]]), motor current loops (FOC, see [[Robotics/motors-electric]]), and the mechanical drivetrain. The kinematic class of the base defines the interface between these layers — a non-holonomic interface forces planners to respect curvature constraints; a holonomic interface lets the planner emit commands directly.
2. First principles
The non-holonomic constraint
A standard wheel rolls without slipping in its forward direction and cannot translate laterally. In the wheel’s body frame with forward axis , the lateral velocity is identically zero:
Expressed in the world frame, with the wheel’s heading and contact-point velocity :
This is a Pfaffian constraint — it is non-integrable, so it constrains velocity but not configuration. A diff-drive robot can reach any by a clever sequence of forward + turn moves, but no straight line in joint-velocity space takes it sideways. Brockett’s theorem (1983) shows that any system with non-integrable velocity constraints cannot be stabilised to a point by smooth time-invariant feedback — hence the need for time-varying or discontinuous controllers (e.g., Aicardi 1995, Astolfi 1999, or simple pose-stabilising controllers based on polar coordinates).
The number of independent Pfaffian constraints subtracted from the body-frame DOFs gives the mobility number of the chassis (Campion, Bastin, d’Andréa-Novel 1996). For a planar mobile base : is full holonomic; is non-holonomic with 2 instantaneous controls. The steerability number counts conventionally-steered wheels — for diff, for tricycle, for bicycle/Ackermann, for swerve. Campion’s full classification () covers every wheeled topology: = mecanum/omni, = diff/skid, = tricycle, = Ackermann, = swerve.
Differential drive forward kinematics
Two coaxial wheels at separation , radius , with angular speeds . Linear wheel speeds . Body-frame velocities:
Integration of the body-frame velocities in the world frame ( the heading):
Discrete-time odometry over with average heading :
Using rather than is second-order accurate (the trapezoidal rule on heading) — important when is more than a few degrees per cycle.
Ackermann steering
For a vehicle with wheelbase (front-to-rear) and centre steer angle (the bicycle model, which is the standard idealisation):
The two front wheels actually steer at different angles to make the inner wheel rotate about the same centre — that geometric correction is what “Ackermann steering” specifically refers to. With track width and inner/outer angles :
Without this correction, the inner tire scrubs and wears out quickly. Real production geometry approximates Ackermann via the steering linkage (typically within 1–2° of ideal over the working range).
Mecanum kinematics
Four mecanum wheels at body positions with 45° rollers (X-pattern when viewed from above; the front-left and rear-right rollers point one way, the other pair the opposite). Inverse kinematics — desired body velocity → wheel angular speeds — is the standard relation (Doroftei, Grosu, Spinu 2007):
Forward kinematics is the pseudo-inverse — over-determined because four wheel speeds must be consistent with three body-frame DOFs (any inconsistency forces slip).
Swerve drive kinematics
Each module has a drive speed and a steer angle . Given desired body velocity and module position , the required wheel velocity vector at that module is:
The module’s commanded drive speed and steer angle are then and . No slip is required at all — every wheel literally points where the body says it should go. This is why swerve drives are the gold standard for warehouse AGVs and FRC competition robots.
Skid-steer kinematics (and why slip matters)
A 4WD skid-steer with two left wheels and two right wheels at separation obeys the same body-frame relations as differential drive:
but with an effective track width that depends on the longitudinal slip during turning. Mandow et al. (2007) and Wong & Chiang (2001) give empirical – for rubber tires on concrete; on loose gravel or grass it can rise to . The practical consequence: you cannot trust encoder odometry through a turn on a skid-steer. Production stacks fuse encoders with a gyro (IMU yaw rate) and lean almost entirely on the gyro during heading changes; encoders are then trusted only for straight-line distance.
Tracked-vehicle kinematics
A tracked vehicle (Boston Dynamics Stretch, military EOD robots, Bobcat MT55) is kinematically equivalent to a wide skid-steer: each track is treated as a virtual wheel at its centreline. The same correction applies, but is even larger because the track-ground contact is a line rather than a point — track entry and exit zones slide constantly during turning. Tracks excel at rough terrain (lower ground pressure per unit area, ability to climb obstacles up to ~half the track height) but pay a continuous penalty in rolling friction on flat surfaces (typical vs for rubber tires).
Slip, traction, and stability
A wheel-ground contact transmits at most of lateral or longitudinal force. Cornering at radius with speed produces lateral acceleration , so the no-slip cornering bound is:
For a typical PU caster on smooth concrete –; for a rubber AGV tire on epoxy floor –; for mecanum PU rollers on the same floor – (lower because each wheel has effectively a single roller in contact). For high-speed mobile bases the rollover (Zero-Moment Point) constraint usually triggers before slip: with track and CoG height :
For a typical AMR (track m, CoG height m), the rollover-limited lateral acceleration is m/s², which is well above the slip-limited bound of . The robot will slip before it rolls. For a tall mobile manipulator (CoG height 1.0 m, same track) the rollover bound drops to — now rollover happens before slip, and the safety envelope shrinks accordingly.
Omni-wheel (3-wheel Killough) kinematics
A 3-wheel omni at spacing with body-frame wheel positions at angle and wheel radius . Each wheel produces a rolling direction perpendicular to its mounting axis. Inverse kinematics (Mecanum-analogue derivation, Pin & Killough 1994):
where is the radius from body centre to each wheel contact point. The 3-wheel arrangement is the minimal holonomic platform — three wheels exactly match three DOFs, so the IK is unique (no slip-budgeted redundancy as with mecanum’s 4-into-3). The downside: any wheel slip propagates directly into pose error, and the 120° spacing has poor torque transmission in some directions (a “best” direction at each wheel, and a 30°-rotated “worst” direction).
Wheel slip ratio
The longitudinal slip ratio is a key signal for traction control (used in F1Tenth racing, autonomous-car traction control, and ANYmal Wheelybot):
Positive = wheel spinning faster than translation (acceleration slip); negative = wheel braking slip. The lateral-vs-longitudinal force at the tire-ground patch follows a friction circle of radius : at the limit, you cannot simultaneously corner at maximum lateral acceleration and brake/accelerate at maximum longitudinal force. Practical rule: keep during cornering for predictable handling.
3. Practical math — three worked examples
Example A — Differential-drive pose stabilisation to a waypoint
Robot at ; waypoint at , no orientation specified at goal. Pure-pursuit (Coulter 1992) with lookahead — pick a target point on the path at distance from the robot and steer toward it.
Heading error to the goal point:
Distance: m.
Pure-pursuit curvature command:
For m and m/s: rad/s. At wheel separation m the wheel-speed difference is m/s; combined with m/s the wheel speeds are m/s.
Alternative — PD pose controller (Aicardi 1995, polar): define (distance), (heading error to goal), (orientation error). Then with gains :
Stable for , , . Typical starting values , , . Saturate m/s, rad/s.
Example B — Mecanum inverse kinematics
A square mecanum robot: m (half-wheelbase), m (half-track), wheel radius m. Commanded body velocity m/s forward, m/s left, rad/s.
Plug into the inverse-kinematics matrix:
- rad/s
- rad/s
- rad/s
- rad/s
Note the asymmetry: front-right and rear-left wheels spin nearly 4× as fast as front-left and rear-right. This is the mecanum signature for crab-walking + yaw. If any wheel’s commanded exceeds the motor’s max, the whole vector must be uniformly scaled — proportional scaling preserves the velocity direction (you arrive at the same point, just slower). Scaling individually destroys the kinematics.
Example C — Ackermann path-following with pure-pursuit
F1Tenth-class car: wheelbase m, speed m/s, lookahead m. The robot is offset m laterally from a lookahead point.
Steer angle from pure-pursuit (Coulter 1992):
Resulting yaw rate: rad/s.
Adaptive lookahead. Pure-pursuit performance is dominated by choice: too short → oscillation, too long → corner-cutting. Practical rule:
with s and m, giving m at 4 m/s — close to the value used above.
Example D — Differential-drive odometry uncertainty (Borenstein UMBmark)
A 0.4 m-track differential robot drives a 4 m × 4 m square path (16 m total). Wheel encoders report 4096 counts/rev at radius m. The two wheels have an unmeasured radius mismatch (typical of new, identical-spec tires after compression under load) and a track-width error .
Type A error (mostly translational). A 1 % unequal-wheel-radius error makes a 16 m straight run report 16.16 m: 16 cm overshoot.
Type B error (mostly rotational). A 1 % effective-track-width error makes each 90° turn off by 0.9°; over four corners the cumulative heading error is and the position error is approximately m.
Total dead-reckoning error envelope: ~ 1 m over a 16 m square, ~ 6 % of distance. This is exactly why ROS-stack AMRs always fuse wheel odom with a gyro (yaw drift ~ 0.01°/s for a tactical-grade IMU like Analog Devices ADIS16470) and a SLAM-based pose correction at 5–20 Hz. Borenstein & Feng’s UMBmark (1996) is the standard procedure to calibrate and by running the square in both clockwise and counter-clockwise directions and observing the error pattern.
4. Design heuristics
Topology trade-offs in depth
Differential drive — when to pick it. Cheap (2 motors, 2 encoders, 2 drivers), easy to control (one-line kinematics), easy to certify (two safety LiDARs cover both directions of motion), and almost trivially debuggable in the field. The penalty is the non-holonomic constraint: docking to a specific pose requires a curving approach, sideways translation is impossible, and the passive caster generates scrub during in-place rotation. For payloads up to ~500 kg on flat indoor floors with aisle widths ≥ 1.2 × robot width, diff drive is almost always the right answer. Above 500 kg or in narrow (< 1.0 × width) aisles, switch to swerve.
Skid-steer — outdoor specialty. Four powered wheels give traction redundancy (a stuck wheel doesn’t kill the robot), high obstacle-crossing capability, and ground-clearance flexibility (large pneumatic tires). The cost is severe encoder slip during turning, mechanical wear from tire scrub, and aggressive power consumption (turning a skid-steer takes 2–4× more energy than the equivalent maneuver on a diff). Skid-steer is the right call when (a) the terrain is unpredictable, (b) reliability under unknown ground conditions matters more than precise motion, or (c) the wheel size needed is too large for a passive caster to handle.
Ackermann — the high-speed-only solution. Required above ~3 m/s on rubber tires; required by road law for on-road vehicles. The cost is severe non-holonomic constraint (cannot rotate in place, requires parallel-park maneuvers in tight spaces) and mechanical complexity (steering linkage, kingpin geometry, toe/camber adjustment). For autonomous logistics that crosses public roads — last-mile delivery, autonomous trucks — Ackermann is forced. For indoor warehouse, Ackermann is rare because aisle geometry doesn’t accommodate the turning radius.
Mecanum — easy holonomy, narrow applications. The most popular research-friendly holonomic chassis because the kinematics are simple and four standard wheels do the job. The cost is severe: low traction (single-point roller contact per wheel), poor performance on anything but smooth concrete or epoxy, vibration, and very poor outdoor performance (loose debris, expansion joints). Mecanum is the right call for table-top research, demo robots, education platforms (Robotino), and indoor light-duty applications where the floor surface is verifiably smooth and dry.
Swerve — the universal-but-expensive option. Full holonomy without the slip penalty of mecanum. The cost is mechanical complexity (eight motors and at least two encoders per module, slip-ring or cable-management for the steering axis), control complexity (each module’s commanded angle and speed must be synchronised, modules-fighting-each-other failure modes must be guarded), and money — a swerve module from REV Robotics MAXSwerve, SDS MK4i, or WCP SwerveX runs ~1500 retail. Industrial swerves (Geek+, Locus, Amazon Hercules) are 5–10× more. For high-density warehouse operation where every centimetre of aisle space is revenue and the robot must crab around stalled peers, swerve is the right call.
Topology selection by application
| Application | Recommended | Why |
|---|---|---|
| Indoor warehouse AMR (single robot) | Differential drive | Cheap, fast, certifiable to ISO 3691-4 with one safety LiDAR |
| Indoor warehouse AGV (fleet, dense aisles) | Swerve / 4WIS | Side-step around stalled peers; no caster scrub |
| Outdoor unstructured (farm, mine, construction) | Skid-steer 4WD or Ackermann 4WD | Traction, ground clearance, no caster to dig in |
| Urban autonomous driving | Ackermann | Required by road geometry and tire physics |
| Factory floor near machinery | Mecanum or omni-3 | Lateral docking to fixtures with sub-cm precision |
| Heavy payload (>1000 kg) precision | 4WIS / swerve | No slip — wheel rolls in its commanded direction |
| Telepresence / hospitality | Differential drive | Pivot-in-place fits the social-robot footprint |
| Last-mile sidewalk delivery | 4WD diff or Ackermann | Curb climbing, slope handling, weather |
Sizing wheel motors
Required torque per wheel for driven wheels carrying mass on a slope , accelerating at :
For a 100 kg robot, , , m/s², m, :
Add safety factor ~2× for impact, headwind, and pack voltage sag → ~10 N·m per wheel continuous, with a peak rating roughly 3× that. See [[Robotics/motors-electric]] §3 example A for a worked motor + gearbox + driver chain.
Field calibration procedures
Every wheeled mobile base needs at least three calibration steps before deployment:
- Wheel radius calibration. Command the robot to drive a measured straight 10 m line on a non-slip surface (taped chalk line); compare encoder-reported distance to actual. Adjust wheel-radius parameter so encoder distance matches ground-truth to < 0.5 %.
- Track-width / wheel-separation calibration. Run the UMBmark square (4 m × 4 m) in both clockwise and counter-clockwise directions; compute correction from the bidirectional error pattern (Borenstein 1994).
- IMU-to-base orientation calibration. Place robot stationary on a level surface; observe IMU gravity vector and yaw bias. Update the static TF between
imu_linkandbase_linkto within 0.5° on each axis.
Additional calibrations as needed: LiDAR-to-base extrinsic (a multi-pose mapping of fiducials), camera-to-LiDAR extrinsic (multi-view checkerboard or Apriltag), and steering linkage centring (Ackermann zero-toe with the wheels mechanically constrained).
Wheel material and surface
| Wheel material | Best surface | CoF (μ) | Indoor/outdoor | Notes |
|---|---|---|---|---|
| Solid rubber tire | Concrete, epoxy | 0.7–0.9 | Indoor / light outdoor | Workhorse for AMRs |
| Pneumatic tire | Outdoor uneven | 0.6–0.9 | Outdoor | Suspension built-in; maintenance |
| Polyurethane (PU) caster | Smooth indoor | 0.4–0.7 | Indoor | Hard floors, low marking |
| Steel caster | Steel deck, factory | 0.2–0.4 | Indoor industrial | High load, low rolling resistance, noisy |
| Mecanum PU roller | Smooth indoor only | 0.3–0.5 | Indoor | Cannot cross expansion joints reliably |
| Glass-filled nylon | Smooth indoor | 0.3–0.5 | Indoor | Cheap, light |
| Tank track (rubber) | Loose terrain | 0.6–1.0 | Outdoor | High friction = lower efficiency on flat |
Footprint, stability, and speed
- Wheelbase + track: longer = stabler at speed but worse cornering in tight aisles. For indoor AMRs, footprint ≈ payload footprint + 100 mm margin per side.
- CoG height: keep below half the smaller of wheelbase/track for safety. A typical 0.6 × 0.4 m AMR with CoG at 0.20 m has rollover threshold at m/s² lateral, i.e., 3 m/s through a 2 m corner.
- ISO 3691-4:2020 (industrial AGVs/AMRs) caps speed to 0.3 m/s in zones shared with pedestrians without lateral safety scanning, and to 1.2 m/s in mixed zones with full perimeter safety LiDAR. Outside mixed zones (caged areas) speeds up to ~3 m/s are permissible.
- Top-speed safety: braking distance . With m/s² and s, at m/s, m. Safety LiDAR must protect at least this distance — see SICK microScan3 or S300 datasheets.
Sensor and compute placement
- Safety LiDAR at knee level (~0.20 m), forward-facing, certified (SICK microScan3, Pilz PSEN sl, Hokuyo UST-05LX, Keyence SZ-V).
- Navigation LiDAR at “shoulder” height (~0.8–1.2 m) — Ouster OS0/OS1, Velodyne VLP-16/Puck, RoboSense Helios, Hokuyo URG-04LX for indoor only.
- IMU rigidly mounted to chassis (NOT on suspension), away from motor stray fields. Bosch BMI088 or Analog Devices ADIS16xxx series for AGVs.
- Wheel encoders with counts/rev after quadrature; mount on motor shaft (high speed → high resolution after gearbox).
- Onboard compute: Nvidia Jetson AGX Orin (50–275 TOPS) for VSLAM and 3D perception; Intel NUC or industrial PC for ROS 2 navigation stack; Raspberry Pi 5 + microcontroller for hobby.
- Battery hot-swap is the single most impactful UX feature for 24/7 fleet operation — see MiR 250 design.
- Charge dock alignment: typical method is fiducial (AprilTag or QR) + IR retroreflector + LiDAR alignment; final approach at 0.05 m/s with current-limited touch detection.
Localisation stack
A practical AMR localisation stack — see [[Robotics/slam]] for the algorithmic side:
- Dead reckoning (wheel odom + IMU) at 50–200 Hz — drifts at 1–5 % of distance travelled.
- 2D LiDAR scan-matching against a pre-built map (AMCL, slam_toolbox localisation) at 10–20 Hz.
- Optional UWB beacons (Decawave DW1000-based, like Pozyx) — 10 cm accuracy, useful in featureless areas (long warehouse aisles).
- Optional VIO (Intel RealSense T265 or stereo + IMU) for outdoor GPS-denied.
- Outdoor GPS-RTK (u-blox ZED-F9P) fused via robot_localization (
[[Robotics/bayesian-estimation]]).
Local planner choice
The local planner — which produces 100 ms-scale velocity commands from the global path — is heavily kinematic-class dependent. The Nav2 ecosystem (2024) offers:
| Local planner | Best for | Reference |
|---|---|---|
| DWA (Dynamic Window Approach) | Differential / skid-steer | Fox, Burgard, Thrun 1997 |
| TEB (Timed Elastic Band) | Diff, Ackermann, holonomic | Rösmann 2012 |
| MPPI (Model-Predictive Path Integral) | All kinematics; GPU-accelerated | Williams 2016 |
| Regulated Pure Pursuit | Diff, Ackermann | Macenski 2022 |
| Graceful Controller | Differential pose-stabilisation | Park & Kuipers 2011 |
For Ackermann vehicles in Autoware and Apollo, the dominant local planner is MPC-based with a 1–2 s horizon at 50 Hz, formulated as a quadratic program with road-curvature and dynamic-obstacle constraints.
Mechanical design heuristics
- Wheel diameter sizes obstacle climb. Rule of thumb: a wheel of radius can climb an obstacle of height if it has sufficient torque. Stair climbing requires , so a 17 cm rise needs ~20 cm radius wheels — or four-bar / “rocker-bogie” suspensions (Mars Rover Curiosity).
- Caster offset. For passive trailing casters, offset (distance from steering pivot to wheel contact) should be 0.25–0.4 × wheel diameter for self-aligning behaviour without “shopping-cart wobble”.
- Suspension. Indoor AMRs typically have none; outdoor needs ≥ 30 mm articulation per wheel via independent rocker arms or coil-over shocks. Without suspension, one wheel can leave the ground over a 5 mm floor seam and the body twists, producing wheel slip.
- Drive on hard centreline; load on soft outboard. For payload concentration on a differential robot, keep drive wheels close to centreline so payload variation doesn’t change wheel-normal force ratios catastrophically.
- Bumper compliance. ISO 13855 stopping-distance compliance requires the bumper to absorb ~20 % of the braking energy as a soft initial contact; rigid bumpers fail the test even if the brake works.
- IP rating. Indoor AMRs commonly IP20 (dust ingress not protected); food-processing requires IP65 (washdown); outdoor needs IP55+ for rain. Mecanum drives are nearly impossible to seal because of the roller bearings — a hard cap on mecanum-in-outdoor applications.
- Cable routing. All robot-side cables flexing over millions of cycles need rated drag-chains (Igus E-Chain) or service loops with bend-radius ≥ 10× cable OD. Bus cables (EtherCAT, CAN) need shielded twisted-pair; power cables ≥ 4 mm² for 30 A peak loads.
- Thermal budget. Continuous-duty AMR motors typically run at 60–80 °C case temp; sustained 100 °C derates the magnets and shortens insulation life. Forced-air cooling or finned housings are required for 24/7 fleets in warm warehouses.
- EMI — variable-frequency motor drivers generate broadband emissions; safety LiDARs are particularly sensitive. Route motor cables ≥ 100 mm from safety-rated sensor harnesses and use ferrites on common-mode chokes.
Safety standards and certification
A wheeled mobile base in industrial deployment must satisfy a stack of standards:
- ISO 3691-4:2020 — driverless industrial trucks (AGVs/AMRs). Primary standard for warehouse robots. Defines safety functions (emergency stop, protective stop, deceleration, anti-personnel detection), required safety integrity levels (PLd Cat 3 per ISO 13849), and verification procedures.
- ANSI/RIA R15.08-1:2020 — North American equivalent for industrial mobile robots.
- ISO 13482:2014 — personal-care robots (consumer / service robots, e.g., telepresence). Lower force/torque limits than industrial.
- ISO 13855:2010 — safeguard positioning. Sets the formula where is minimum safety distance, is approach speed (2.0 m/s typical for human running), is total stopping time, is intrusion distance.
- ISO 13849-1:2023 — performance levels (PLa…PLe) for safety functions; mobile robots typically need PLd Cat 3 (single-fault tolerant, redundant + monitored).
- IEC 62061:2021 — alternative SIL framework (SIL 1–3); some integrators prefer it over ISO 13849.
- IEC 61496-3:2018 — vision-based safety devices (covers safety LiDAR and safety cameras).
- UL 3100 / UL 3300 — North American electrical safety for AGVs.
A practical compliance pattern: dual safety-LiDAR coverage (front + rear), dual e-stop buttons (each side), a safety relay (Pilz PNOZ family or Sick Flexi Soft) implementing the two-channel safety logic, brake-on-power-loss design, and a third-party functional-safety assessment (TÜV SÜD, Underwriters Laboratories, Intertek) before deployment.
Fleet management considerations
Above ~20 robots in a single facility, fleet coordination becomes the dominant engineering problem. Common patterns:
- Centralised path planner — a single server computes paths for all robots; conflict-free guaranteed but server is a single point of failure. Examples: KIVA-style, Amazon Robotics, Geek+.
- Decentralised with local arbitration — each robot plans independently; conflicts resolved by priority + WAIT primitives at intersections. Examples: MiR Fleet, OTTO Fleet.
- Hybrid — central planner sets high-level routes, local robot handles short-term obstacle avoidance. Most modern stacks (Locus, 6 River).
- Traffic protocol — VDA 5050 (Verband der Automobilindustrie) defines JSON-over-MQTT messages for orders, state, and visualisation, allowing multi-vendor fleets.
For multi-agent path finding (MAPF), the production algorithms are Conflict-Based Search (CBS, Sharon 2015) or its anytime variants (ECBS, EECBS). Throughput per warehouse area scales sub-linearly with robot count past ~50 robots; the bottleneck becomes “intersection congestion” rather than individual robot speed.
Example E — Sizing a swerve module
Designing a swerve module for a 1500 kg payload AGV with m/s and m/s². Wheel radius m. Module count . Assume worst-case all torque on one module (other three at zero) — defensive sizing.
Per-wheel drive torque (peak):
Add 2× safety factor for impact and torque-disturbance compensation → 90 N·m peak per wheel. Continuous (rolling friction only): ~ 7 N·m.
Drive motor + gearbox. Wheel speed at m/s: rad/s = 143 rpm. With a 14:1 planetary, motor speed at max is 2000 rpm — comfortable for an industrial BLDC. Motor-side torque: 90 / (14 · 0.92) = 7.0 N·m peak. Pick Maxon EC-i 52 (300 W, K_T = 50 mN·m/A, peak 12 N·m) + Neugart PLE80 14:1.
Per-wheel steer torque. Steering with a 1500 kg load applies a frictional resistance of , where is the offset from the steering kingpin axis to the contact patch (~ 10 mm for a small AGV wheel). With (static friction, much higher than rolling) and N per wheel: N·m. With a 50:1 reduction this becomes 0.44 N·m at the motor — easy.
Steer motor. A small BLDC like Maxon EC-i 30 (50 W, peak 1.5 N·m) with 50:1 planetary; mount the steering encoder on the module output axis (absolute, e.g., AMS AS5048A), not the motor — this gives true module heading regardless of multi-turn unwinding.
Cable routing. The steer axis can rotate continuously, so drive-motor cables must either pass through a slip ring (CAN signals + 30 A power), or the steering must be range-limited to ±180° and software must “untwist” before continuous rotation. Slip rings (Moog MOOG-MIPS / LTN) cost $100–500 and add ~50 mm of axial length. The untwist approach is cheaper but adds a few hundred milliseconds of dead time during long rotations — usually acceptable for warehouse routing.
5. Components & sourcing — real platforms (2024–2026)
Indoor warehouse AMR / AGV vendors
| Vendor / platform | Topology | Payload | Top speed | Notes |
|---|---|---|---|---|
| MiR 100 / 250 / 500 / 1500 (Teradyne) | Differential | 100 / 250 / 500 / 1500 kg | 2.0 m/s | ROS-based stack; SICK safety LiDAR |
| Fetch / Zebra Freight | Differential | 70 kg | 2.0 m/s | ROS, integrated with Fetch HMI shelf |
| OTTO 100 / 600 / 1500 (Clearpath/Rockwell) | Differential | 100 / 600 / 1500 kg | 2.0 m/s | Heavy-duty AGVs |
| Locus LocusBot | Swerve | 50 kg | 2.0 m/s | Goods-to-person picking |
| 6 River Systems Chuck (Shopify, EOL’d 2024) | Differential | 90 kg | 1.5 m/s | Wave-picking assistant |
| Geek+ M / P / RoboShuttle / Q | Differential / Swerve | up to 1500 kg | 2.0 m/s | Goods-to-person + ASRS |
| Hai Robotics HaiPick A42T | Differential + lift | 60 kg | 1.5 m/s | Vertical reach + drive |
| Amazon Robotics Hercules / Pegasus / Proteus | 4WIS swerve | 1300 kg (Hercules) | 1.7 m/s | ~750k+ units deployed 2014–2024 |
| Boston Dynamics Stretch | Tracked + arm | 23 kg payload | 0.6 m/s | Box-handling mobile manipulator |
Outdoor / agriculture / construction
- John Deere autonomous tractors — 8R series with Bear Flag Robotics retrofit (acquired 2021)
- Naïo Technologies — Oz, Dino, Ted weeding robots (skid-steer + Ackermann variants)
- Bobcat / Doosan autonomous skid-steer
- Monarch Tractor MK-V (electric autonomous tractor, Ackermann)
- DARPA SubT challenge: CSIRO Data61 (4WD diff), CERBERUS (mixed wheeled/legged), Explorer (Ackermann)
Research and education platforms
| Platform | Topology | Payload | Cost class |
|---|---|---|---|
| TurtleBot 4 (Clearpath) | Differential (iRobot Create 3 base) | 9 kg | $2k |
| Clearpath Husky A300 | Skid-steer 4WD | 75 kg | $30–50k |
| Clearpath Jackal | Skid-steer 4WD | 20 kg | $15–25k |
| Clearpath Warthog | Skid-steer 4WD heavy | 272 kg | $80k+ |
| Clearpath Boxer | Differential | 100 kg | $30k |
| Robotnik SUMMIT-XL / RB-1 | Skid-steer / Diff / Mecanum | 65–250 kg | $30–60k |
| F1Tenth / MIT RACECAR | Ackermann | 5 kg | $2.5k |
| MIT Mini Cheetah-on-wheels variants | QDD wheels | research | — |
| Festo Robotino | Omni-3 | 5 kg | $5k |
Last-mile delivery + hospitality
- Starship Technologies — sidewalk delivery (6WD skid-steer + dual-wheel rear-axle drive)
- Nuro R3 — Ackermann road-legal autonomous delivery
- Serve Robotics (Uber/Postmates spinout) — sidewalk delivery, 4WD diff-drive
- Cobalt Robotics — security patrol robot, differential drive
- Diligent Robotics Moxi — hospital service robot, differential + mobile arm
- Savioke Relay (now Relay Robotics) — hotel delivery, differential drive
- Bear Robotics Servi — restaurant service, differential drive
Drive components
- Motors — Maxon EC-i (40, 45, 60 mm), Faulhaber 3268 BX4, Allied Motion KinetiMax 70, Maxon DCX26L brushed for lower-cost. Hobby/mid-tier: T-Motor / MJBots / Hobbywing. See
[[Robotics/motors-electric]]. - Gearheads — Maxon GP 42 / 52, Neugart PLE, Apex AB-series; for swerve modules, integrated MK4i (FRC) or REV MAXSwerve modules.
- Drivers — Maxon ESCON 50/5, VESC 6 MkVI (open-source FOC), Roboteq SDC2160, Trinamic TMC4671. For swerve, ODrive S1, Moteus c1/r4, Synapticon SOMANET. EtherCAT for industrial: Elmo Gold-Twitter / Synapticon.
- Wheels — Colson PU casters (smooth-floor classic), Otto Heavy-Duty PU, Caster Concepts steel/forged, AndyMark / VEX FRC mecanum (60 mm PU rollers on aluminium hub), Misumi mecanum.
- Bumpers / safety — SICK microScan3 Pro (Type 3 / SIL2 / PLd safety LiDAR), Pilz PSEN sl, Keyence SZ-V, Hokuyo UST-05LN-H01.
- Encoders — for wheels, on-motor (Maxon ENX 16, AMS AS5048 magnetic), or absolute on output shaft (Renishaw Aksim2). For steer joints in swerve, CTRE CANcoder or AMS AS5048A.
- Onboard compute — Nvidia Jetson Orin family (Nano 8GB → AGX 64GB), Intel NUC 13 Rugged, Beckhoff C6920, Raspberry Pi 5 + Pi CM5.
- Battery packs — LiFePO4 prismatic (Eve LF280K, CATL 280Ah) for 24/7 fleets (preferred for cycle life ≥ 3000 and thermal stability); Li-ion NMC (LG, Samsung 21700) for higher energy density; lead-acid for legacy/cost-sensitive AGVs.
- BMS — Daly, Orion, Tesla salvage (custom); for safety-rated applications use Marlin Renewables or Lithium Werks integrated systems with CAN reporting.
- Charging — contactless inductive (Wiferion etaLINK 3000, 3 kW), opportunistic-contact (sliding contacts on a floor strip, used by Geek+ and Amazon), or plug-in (CCS / Anderson connectors for higher-current systems).
- E-stop — IDEC HW1B-V411R, Schmersal NDST-Q12, Pilz PIT es series (mushroom-head, redundant contact, twist-to-release).
- Indicator lighting — Werma KombiSIGN 50, Patlite LR6 (tower lights), or addressable RGB LED strips (Adafruit NeoPixel-class) for status indication. ISO 3691-4 requires audible + visual warning for autonomous operation.
Software stack — what production AMRs actually run
The 2024–2026 production AMR software stack converges on a small set of components:
- OS — Ubuntu Server LTS (22.04 or 24.04), kernel-preempt-rt for control-loop determinism.
- Middleware — ROS 2 (Iron Irwini → Jazzy Jalisco LTS), DDS (Cyclone DDS by default in Jazzy; Fast-DDS as alternative).
- Localisation — slam_toolbox (Macenski 2020) for mapping; AMCL or slam_toolbox-localisation for runtime.
- Planning — Nav2 with SmacPlanner (Hybrid-A* for Ackermann, A* with motion primitives for diff/holonomic).
- Local control — Nav2 controllers: DWB (Dynamic Window successor), TEB, MPPI, RPP (Regulated Pure Pursuit).
- Safety — separate microcontroller (STM32F4 / RP2040) running the safety state machine independent of the main compute; communicates via dedicated safety bus (separate from the data bus).
- Fleet management — VDA 5050 (German Automotive Industry Association) interoperability standard, JSON over MQTT; allows multi-vendor fleets to talk to a single master controller.
- Telemetry / OTA — typical stack uses Eclipse Mosquitto MQTT broker, Grafana + InfluxDB for dashboards, RAUC or Mender for OTA updates.
The microcontroller-based safety layer is essential: ISO 13849 PLd Cat 3 cannot be achieved on Linux running ROS 2 (the kernel is not SIL-rated and not formally verified). Production AMRs run safety logic on a separate, deterministic, formally-validated microcontroller, which has authority to cut motor power independently of the main compute.
6. Reference data tables
Mobile-base kinematic classes
| Class | Body DOFs (instant) | Holonomic? | IK complexity | Typical motors | Typical payload |
|---|---|---|---|---|---|
| Differential 2WD + caster | 2 (, ) | No | 2 → 2 | 2 wheel | 5–1500 kg |
| Skid-steer 4WD | 2 (, ) | No (slip-based) | 2 → 4 | 4 wheel | 20–5000 kg |
| Ackermann (bicycle model) | 2 (, ) | No | 2 → 3 (drive + 2 steers) | 1–4 drive + 1–2 steer | 50–3000 kg |
| Mecanum 4WD | 3 (, , ) | Yes | 3 → 4 | 4 wheel | 5–2000 kg |
| Omni-3 (Killough 120°) | 3 (, , ) | Yes | 3 → 3 | 3 wheel | 1–100 kg |
| Swerve 4WIS | 3 (, , ) | Yes | 3 → 8 (4 drive + 4 steer) | 8 wheel | 50–5000 kg |
| Tracked | 2 (, ) | No (slip-based) | 2 → 2 | 2 track | 20–10000 kg |
Typical AGV/AMR specifications (representative production models, 2024–2026)
| Model | Topology | Payload | Top speed | Battery / runtime | Charge time | Footprint (L × W) |
|---|---|---|---|---|---|---|
| MiR 250 | Diff | 250 kg | 2.0 m/s | 1.2 kWh Li-ion / 13 h | 90 min full | 800 × 580 mm |
| MiR 1500 | Diff | 1500 kg | 1.2 m/s | 2.4 kWh Li-ion / 9 h | 60 min full | 1350 × 920 mm |
| Fetch Freight 1500 | Diff | 1500 kg | 1.5 m/s | 1.5 kWh / 9 h | 90 min | 1180 × 700 mm |
| OTTO 600 | Diff | 600 kg | 2.0 m/s | 2.0 kWh / 10 h | 75 min | 1080 × 580 mm |
| Amazon Hercules | 4WIS | 1300 kg | 1.7 m/s | 0.6 kWh / 4 h | 5 min opportunistic | 760 × 760 mm |
| TurtleBot 4 Lite | Diff | 9 kg | 0.31 m/s | 26 Wh / 2.5 h | 2.5 h | 342 × 339 mm |
| Clearpath Husky A300 | 4WD skid | 75 kg | 1.0 m/s | 1.0 kWh / 3 h | 5 h | 990 × 670 mm |
| F1Tenth | Ackermann | 5 kg | 7+ m/s | 100 Wh LiPo / 30 min | 30 min | 540 × 297 mm |
Common parameter starting points for ROS 2 Nav2
Reasonable initial values for a typical 250 kg differential AMR running Nav2 (Iron / Jazzy):
| Parameter | Value | Notes |
|---|---|---|
controller_frequency | 20 Hz | Local-planner update rate |
planner_frequency | 1 Hz | Global re-plan rate |
xy_goal_tolerance | 0.10 m | Goal pose distance tolerance |
yaw_goal_tolerance | 0.10 rad | Goal heading tolerance |
max_vel_x | 1.0 m/s | Linear top speed |
max_vel_theta | 1.5 rad/s | Yaw top speed |
acc_lim_x | 0.5 m/s² | Linear accel limit |
acc_lim_theta | 1.0 rad/s² | Yaw accel limit |
min_vel_x | -0.1 m/s | Backup permitted but discouraged |
inflation_radius (costmap) | 0.55 m | ½ footprint + safety margin |
cost_scaling_factor | 10 | Costmap inflation falloff |
robot_radius | 0.30 m | For circular robots; use footprint polygon for non-circular |
update_frequency (costmap) | 5 Hz | Costmap refresh |
publish_frequency (costmap) | 2 Hz | For visualisation |
Tune these per-application; the values above are a starting point for medium-footprint indoor warehouse work.
Wheel material × surface coefficient of friction (rough guide)
| Wheel \ Surface | Polished epoxy | Smooth concrete | Carpet | Gravel | Wet floor |
|---|---|---|---|---|---|
| Solid rubber | 0.75 | 0.85 | 0.55 | 0.60 | 0.40 |
| PU caster (75A) | 0.55 | 0.65 | 0.30 | — | 0.30 |
| Pneumatic tire | 0.70 | 0.80 | 0.65 | 0.55 | 0.45 |
| Mecanum PU roller | 0.40 | 0.45 | 0.15 | — | 0.20 |
| Steel caster | 0.25 | 0.30 | — | 0.15 | 0.20 |
| Tank track (rubber) | 0.80 | 0.90 | 0.75 | 0.85 | 0.55 |
(Values approximate; verify against tire datasheet for safety-critical designs.)
Typical wheel speed and torque budgets
For different mobile-base topologies, a baseline torque and speed budget that meets ISO 3691-4 acceleration norms (≤ 0.5 m/s² in shared zones; ≤ 1.5 m/s² in caged zones):
| Class | Payload | Wheel r | per wheel (cont.) | per wheel (peak) | (max) |
|---|---|---|---|---|---|
| Indoor light AMR | 30 kg | 0.075 m | 0.5 N·m | 1.5 N·m | 20 rad/s |
| Indoor mid AMR | 250 kg | 0.10 m | 4 N·m | 12 N·m | 20 rad/s |
| Indoor heavy AGV | 1500 kg | 0.15 m | 25 N·m | 75 N·m | 13 rad/s |
| Outdoor 4WD | 200 kg | 0.20 m | 8 N·m | 30 N·m | 5 rad/s |
| F1Tenth (1/10 Ackermann) | 5 kg | 0.05 m | 0.3 N·m | 1.5 N·m | 140 rad/s |
| Warehouse Hercules swerve | 1300 kg | 0.10 m | 15 N·m drive + 3 N·m steer | 40 N·m | 17 rad/s drive |
Drivetrain efficiency budget (representative)
| Component | Efficiency |
|---|---|
| BLDC motor (FOC, near rated load) | 0.85–0.92 |
| Planetary gearbox (single stage, premium) | 0.92–0.96 |
| Planetary gearbox (two stage) | 0.85–0.91 |
| Worm gearbox | 0.30–0.50 |
| Belt drive (toothed) | 0.95–0.98 |
| Chain drive | 0.93–0.97 |
| Battery → motor controller (cabling + bus losses) | 0.95–0.98 |
| Wheel-ground contact (rolling friction, hard tire on hard floor) | , |
Multiplying these typical chain efficiencies: — a well-designed AMR converts ~75 % of battery energy into actual mechanical work moving the robot. The remainder is heat, mostly in the motor windings and gearbox.
Top-speed safety stopping distances (a = 1.5 m/s², t_react = 0.2 s)
| Speed | Stopping distance | Safety LiDAR protective field |
|---|---|---|
| 0.3 m/s | 0.09 m | ≥ 0.5 m |
| 0.5 m/s | 0.18 m | ≥ 0.6 m |
| 1.0 m/s | 0.53 m | ≥ 1.0 m |
| 1.5 m/s | 1.05 m | ≥ 1.5 m |
| 2.0 m/s | 1.73 m | ≥ 2.5 m |
| 3.0 m/s | 3.60 m | ≥ 4.5 m |
Perception-stack integration
The wheeled-base perception stack typically combines five sensor classes:
- Safety LiDAR (mandatory for ISO 3691-4) — Type 3 / IEC 61496-3 certified, 270°+ horizontal FOV, 2-channel safe outputs, programmable protective/warning zones. SICK microScan3 (5.5–9 m radius), Pilz PSEN sl (≤ 5.5 m). Typically two devices: front and rear corners covering the full perimeter blind-spot envelope.
- Navigation LiDAR (NOT safety-rated) — 360° rotating, 10–100 m range. Velodyne VLP-16 (60 m), Ouster OS0/OS1/OS2 (35–240 m), RoboSense Helios, Livox Mid-360. Used for SLAM mapping and obstacle detection above LiDAR-scan height.
- Depth cameras — Intel RealSense D455/D456, Stereolabs ZED 2i, Orbbec Femto Mega. Sees down-pointing obstacles (forklift tines), texture for visual odometry, person detection (with on-board NN).
- IMU — Bosch BMI088 / Bosch BMI270 (consumer), Analog Devices ADIS16470 (tactical), KVH 1750 (FOG-grade, for outdoor RTK-denied).
- Wheel encoders — incremental (CUI AMT112S, US Digital E5) or absolute (Renishaw AksIM-2, AMS AS5048).
The fusion architecture is typically: low-rate (5 Hz) LiDAR scan-matching corrects long-term drift; mid-rate (50–100 Hz) wheel-odom + IMU EKF (robot_localization or custom) provides high-rate pose; high-rate (200–1000 Hz) wheel-velocity control loop runs on dedicated motor controllers. The pipeline is tuned so each layer trusts its faster downstream signal for short-term smoothness and its slower upstream signal for long-term correctness.
Energy budget — battery sizing worked example
A 250 kg AMR with m/s, rolling friction coefficient , drivetrain efficiency , target runtime 12 hours, of which 60% is moving and 40% is idle.
Moving power:
Add accel/decel transients (avg ~ +20 W), sensors and compute (LiDAR 8 W + IMU 1 W + Jetson AGX 30 W + driver electronics 15 W = ~55 W), and lift/payload manipulation if any.
Average power:
Energy over 12 h: kWh.
Battery sizing: with 80 % usable depth-of-discharge (typical LiFePO4 specification preserving cycle life), required pack capacity = kWh. At nominal 24 V → 66 Ah. This is one large LiFePO4 prismatic (3.2 V × 8 = 25.6 V nominal, 70 Ah) or four parallel 16 Ah Li-ion packs.
Cycle life and total cost of ownership: at one full cycle per 12 h shift, the pack sees 730 cycles/year. A quality LiFePO4 cell rated 3000 cycles to 80 % capacity lasts ~ 4 years; a Li-ion NMC at 1000 cycles lasts ~ 1.3 years. The cycle-life premium of LiFePO4 (~ 30 % higher upfront cost) usually pays back within 18 months in fleet TCO.
7. Failure modes & debugging
- Caster scrub during in-place rotation. A differential-drive robot rotates about the midpoint of the drive axle, but the passive caster trails behind and must “scuff” to follow. On soft floors this gouges; on hard floors it just wears the caster. Fix: enforce a small forward velocity during heading changes ( m/s), or upgrade to a swivel-castor with low offset.
- Differential odom drift during fast rotation. Wheel slip during heading changes causes monotonic heading error. Diagnostic: spin the robot 10 full revolutions; the reported drifts by . Fix: fuse wheel odom with IMU yaw (
robot_localizationor custom EKF). - Mecanum vibration at speed. At 0.5–1.0 m/s mecanum wheels generate a high-amplitude harmonic from the discrete roller transitions. Fix: use 9-roller or 12-roller wheels (FRC AndyMark) instead of 6-roller; add elastic isolators in the wheel mount; reduce top speed.
- Mecanum on textured surfaces. Carpet, expansion joints, and floor tile gaps catch the rollers and lock them — robot pivots unpredictably. Fix: mecanum is for smooth concrete/epoxy only. Switch topology if the route includes carpet.
- Ackermann turn-radius infeasible. Tight corner requires . Fix: plan a parallel-park / three-point turn, or replan a longer route. Hybrid-A* (
[[Robotics/path-planning]]) handles this natively for cars. - Skid-steer slip on dirt. All four wheels scrub during turning; odom from encoders is off by 20–40 %. Fix: heavy IMU fusion + visual or LiDAR odom; treat encoder odom as a “speed” estimate only, not pose.
- Swerve cable wrap. Continuous steering rotation tangles drive-motor cables. Fix: slip-ring (expensive, electrically noisy) or software “untwist” routine that briefly homes the modules back through zero.
- Battery imbalance in multi-cell packs. Some cells age faster; pack capacity becomes limited by the weakest cell, eventually triggering BMS shutdown. Fix: BMS with active balancing (LTC6804 / BQ7693 family); annual capacity test, replace cell groups at 80 % nameplate.
- Charge dock misalignment. Robot fails to mate consistently. Fix: precise fiducial (AprilTag at high contrast) + final-approach LiDAR alignment + spring-loaded compliant contacts.
- Tracking error at high speed. Cascaded PID begins to oscillate. Fix: raise loop rate (50 → 100 Hz for outer pose; 200 → 500 Hz for wheel velocity); reduce K_p; add inertia feedforward. See
[[Robotics/pid-control]]§3. - Stuck in narrow doorway. Differential robot oscillates left-right. Fix: switch to “lane-following” reactive mode below a threshold clearance; on holonomic robots use lateral compliance (push gently against wall).
- Outdoor GPS jumps. Multi-path or canopy causes 5–20 m pose discontinuities. Fix: fuse GPS + IMU + VIO + wheel odom in an EKF with outlier rejection (Mahalanobis gating, at 99 %).
- IMU vibration aliasing from motors. PWM commutation at 20 kHz aliases into the IMU’s 1 kHz sampling band as fictitious gyro bias. Fix: anti-alias low-pass before ADC (built into BMI088); mechanical damping mount; avoid IMU within 50 mm of motor stator iron.
- Wheel encoder slip during torque transients. Encoder reads “speed” but wheel actually slips. Fix: fuse with visual odometry or compare to IMU acceleration ( should track to within a few %).
- Drop-off / cliff (stair edge). Robot rolls off. Fix: downward IR or short-range ToF sensor (Sharp GP2Y, ST VL53L1X) per cliff-prone edge; trigger safety stop on lost return.
- Mecanum “drift” with asymmetric load. A heavy off-centre payload changes the effective wheel-normal forces, so identical wheel speeds produce a curved path instead of straight. Fix: tune wheel-to-body kinematics with a real load on the robot; some stacks add a per-wheel gain calibration.
- Swerve module fights itself during stop. If two modules are pointing in slightly different directions when speed is commanded to zero, they “tug” against each other and slip. Fix: command modules to a known “X-stance” (modules pointing inward at 45°) when stopping — this locks the robot in place mechanically and is the standard FRC technique.
- Ackermann understeer at low μ. On wet or icy roads the front wheels push beyond their grip envelope and the car runs wide of the intended curve. Fix: traction-control system reduces drive torque on the slipping wheel; ESC (Electronic Stability Control) brakes the inside rear wheel to induce yaw. For autonomous stacks, slip-aware MPC (Williams 2016 MPPI variant).
- Battery sag faults during peak acceleration. A LiFePO4 pack at 50 % SoC drops from 26 V to 23 V under a 30 A burst; the motor controller’s undervoltage cut-off (typ. 22 V) trips and the robot dead-stops in mid-maneuver. Fix: precharge supercapacitor bank (10–100 F) in parallel with the battery to buffer peak current; or lower acceleration profile.
- EMC issues during heavy braking. Regenerative braking dumps energy back into the bus; if the battery is full or the BMS rejects the current, the bus voltage spikes (40 V → 50+ V) and damages drivers. Fix: brake-chopper resistor (20–100 Ω, 100+ W rating) clamps the bus via a transistor when V_bus > V_max.
- Heading error growing linearly over a long straight. The robot deviates from its intended heading by a small constant angle, accumulating lateral offset. Cause: yaw-rate bias on the IMU (typical 0.01–0.1°/s for MEMS-grade) not subtracted. Fix: gyro bias estimation when the robot is stationary; subtract on the fly.
- LiDAR ground-strike during ramps or thresholds. A 2D LiDAR at fixed height sees a phantom obstacle (the rising floor) as the robot crosses a 2 cm threshold. Fix: tilt LiDAR slightly upward (1–2°) or use a 3D LiDAR with ground-plane segmentation.
- Localization “kidnap” when the robot is moved while powered. Particle filter loses lock and converges to a random pose. Fix: monitor odometry vs LiDAR mismatch — when residuals exceed threshold, re-initialise from scratch or trigger global localisation.
- Map drift in dynamic environments. Pre-built occupancy map slowly diverges from reality as shelves, pallets, and forklifts move. Fix: nightly re-mapping with SLAM-toolbox lifelong-mapping mode; or maintain a separate “static map” used for global planning vs “live map” from current LiDAR scans used for local obstacle avoidance.
- Compute thermal throttling. Jetson AGX Orin at 80 °C ambient hits its thermal limit during sustained VSLAM workloads; performance drops 30–50 %. Fix: active cooling (fan + heat sink); throttle non-critical workloads when ambient is high; consider mounting compute on the chassis floor rather than near battery / motors.
- Network partition during fleet operation. WiFi dead spot causes the robot to lose fleet-manager contact and stop in place; queue of other robots backs up. Fix: cellular-fallback (LTE/5G modem) for the fleet management channel; design robot to continue current order autonomously if comms drop, only stopping if a new command is required.
- PWM-induced bearing damage. High dv/dt from motor drivers couples through capacitive parasitics to motor bearings, causing electrical-discharge pitting over months. Fix: shaft-grounding brush (Aegis SGR) or ceramic bearings on at least one end of the motor shaft; this is standard practice on VFD-driven industrial motors and increasingly common on robot drives.
- Wheel-hub mounting failure. Set-screw on a smooth motor shaft loosens after thousands of acceleration cycles. Fix: keyed shaft + key + setscrew (belt-and-suspenders), or use a clamping hub (RuLand, Berg, Stafford). Loctite 243 (medium-strength threadlocker) on the setscrew is mandatory.
- Loss of yaw reference at startup. IMU has no absolute heading reference (magnetometer typically discarded due to motor interference); the robot wakes up at unknown . Fix: AMCL global localisation pass at startup, requiring the robot to traverse a few metres for a definitive pose lock; or persist last-known pose and assume it hasn’t moved.
- Encoder phase Z (index) miss. Index pulses occasionally skipped due to mechanical jitter; absolute position then off by exactly one revolution after the next full-turn. Fix: track index pulses against expected count modulo gear ratio; flag anomaly and re-home if discrepancy.
Multi-robot interaction failures
- Deadlock at intersections. Two robots both wait for the other to clear; neither moves. Fix: priority by robot ID or timestamp; or implement “polite-yield” behaviour where one steps aside.
- Oscillation in narrow corridor. Robots swap which side they’re on as they detect each other; both keep dodging the wrong way. Fix: enforce “drive on the right” (or left, consistently) via a global traffic rule baked into the costmap.
- Phantom-obstacle from other robot’s reflectivity. A highly-reflective surface on another robot creates a LiDAR multi-bounce artifact at false range. Fix: known-robot subtraction (each robot publishes its current footprint to the fleet manager, others mask it from their LiDAR returns); or matte-finish surfaces on all fleet members.
- Cascading congestion. One slow robot triggers a queue; queue propagates back through the warehouse. Fix: fleet-manager throttles new orders to congested zones; rerouting around hot spots.
Diagnostic checklist when a mobile base “isn’t behaving”
- Check wheel encoders directly. Spin each wheel by hand, observe encoder counts via ROS topic or driver debug. Verify direction polarity and count consistency.
- Check IMU bias. Place robot stationary, observe angular rate streams; biases > 0.05°/s on tactical-grade gyro = problem.
- Check
cmd_vel→ wheel-speed mapping. Send a known or and verify expected wheel speeds appear on each motor. Catches wheel-radius / track-width parameter errors. - Run UMBmark square test. 4 m × 4 m square in both directions; measure final pose error vs ideal. Splits type-A (radius) from type-B (track) errors.
- Check loop rates. ROS topic Hz monitor on
cmd_vel,odom,tf,scan. Drops below nominal indicate compute bottleneck or comms issue. - Check LiDAR mounting. A 1° tilt in LiDAR mounting causes ground-plane intersection at 4 m range with a 0.07 m sensor height — appears as phantom front-of-robot obstacle.
- Battery health. Voltage under load > 0.3 V drop from open-circuit per cell indicates ageing cell pack; replace before deployment.
Simulation environments
A mobile-base development workflow lives 50–70 % of the time inside simulation. The 2024–2026 production-class options:
- Gazebo Classic / Gazebo Sim (Harmonic LTS) — open-source, ROS-native, ODE/DART physics, good for kinematic-class verification but limited photorealism. Free.
- Nvidia Isaac Sim — PhysX physics, Omniverse rendering, GPU-accelerated; built for synthetic data generation and reinforcement learning. Free for individual / research use; commercial licensing for enterprise.
- Webots — Cyberbotics; long-running open-source simulator; reasonable physics; cleanly handles wheeled-base kinematics across all common topologies.
- CARLA / LGSVL — autonomous-driving-specific simulators with road network support; Ackermann-class only.
- Open Robotics MuJoCo (2024-onward) — primarily manipulation but increasingly used for legged + wheeled hybrids.
The minimum sim-validation workflow before any real-world deployment: (1) verify kinematics with empty world drive-around, (2) test against a digital twin of the actual deployment map, (3) inject sensor noise representative of real LiDAR/IMU at scale, (4) run a stress test (1000 simulated routes with random obstacle placements), and (5) measure regression metrics (waypoint hit rate, collision count, time per route).
8. Case studies
Case A — Amazon Robotics (ex-Kiva) drive units
Amazon’s fulfilment-centre drive units are 4-wheel-independent-steer (4WIS) swerve-drive AGVs descended from the original Kiva Systems robots (Kiva Mobile-Robotic Fulfilment System, Wurman 2008). Each robot is a 760 × 760 mm orange platform, ~1300 kg payload (lifts a fabric-rack “pod” of items), top speed 1.7 m/s, navigation by 2D fiducials on the warehouse floor (each robot reads barcoded floor markers as ground-truth waypoints in a grid). The kinematic class is critical: 4WIS allows the robot to drive straight in any direction (forward, back, sideways, diagonal) without needing to rotate first, which is what enables the famously dense pod arrangement — pods can be packed nearly bumper-to-bumper because robots crab sideways into a vacated slot. As of 2024 Amazon has deployed over 750 000 such drive units across global FCs (Amazon press, Mar 2024). The control stack is proprietary; the robot does not run ROS. Charging is opportunistic (every few minutes, 30-second top-ups at floor-level induction or contact pads).
Case B — MiR 250 (Mobile Industrial Robots, Teradyne)
The MiR 250 is the canonical mid-payload indoor AMR: 250 kg payload, 800 × 580 mm footprint, 2.0 m/s top speed, differential drive, ROS-based stack (custom fork of melodic-era ROS 1 in early versions, ROS 2-based in newer). The platform uses two SICK microScan3 Pro safety LiDARs (front and rear corners) for ISO 3691-4 compliant safety stopping, plus a rotating 360° navigation LiDAR (~25 m range) and a 3D depth camera for obstacle detection above LiDAR scan plane (e.g., overhanging shelves). Localisation is AMCL on a pre-built occupancy map; planning is ROS Navigation (now Nav2) with custom global and local planners. The MiR 250 demonstrates the practical envelope of differential-drive in 2024: easy to certify, easy to maintain, easy for end-users to set up via a web-based interface where waypoints are clicked on a map — and at the cost of having no sideways translation, which is generally fine in factory aisles wider than 1.5 m. The robot is built around a hot-swappable battery (Li-ion, 1.2 kWh) and runs ~13 h on a charge for 24/7 fleet operation.
Case C — F1Tenth autonomous racing platform
F1Tenth is a 1/10-scale Ackermann racing platform developed at UPenn and MIT for autonomous-driving research (O’Kelly, Sukhil, Abbas, et al. 2020). The platform is a Traxxas RC car chassis (TRX-4 / Slash-class) with m wheelbase, Hokuyo UST-10LX 2D LiDAR (270°, 10 m range), Bosch BMI088 IMU, Intel NUC compute, and a VESC 6 motor controller. Top speed exceeds 7 m/s on a clear track. The kinematic stack is pure Ackermann bicycle model + pure-pursuit for path-following plus a separate MPC controller for racing manoeuvres. The platform demonstrates why Ackermann is the only sensible topology at this speed: a differential or mecanum platform at 7 m/s would slip catastrophically in any corner. The lookahead distance for pure-pursuit is tuned to m, giving 2.6 m at 7 m/s — long enough to keep the steering smooth, short enough to track tight chicanes. The F1Tenth community (>30 university teams) competes at international races demonstrating SLAM, perception, planning, and control on a constrained, reproducible non-holonomic platform.
Case D — Tesla Model 3 / Y autonomous-driving stack (Ackermann scaled up)
Tesla’s autonomous-driving programme uses an entirely Ackermann-class kinematic platform — the production vehicle — running a vision-only perception stack (no LiDAR after the 2022 transition). The relevance to this note is in the scaling: kinematic relations identical to F1Tenth’s bicycle model govern a 2 t car at 30 m/s instead of a 5 kg car at 7 m/s. The wheelbase m (Model 3) gives a minimum turning radius of m — much larger than a diff-drive AMR but still tight enough for urban driving. Tesla’s planner is built around the same pure-pursuit + MPC framework used in F1Tenth, scaled up with road-curvature constraints, dynamic-obstacle predictions, and a 5–7 s planning horizon. The takeaway: kinematic class scales smoothly across three orders of magnitude in mass, and the same algorithms work — what changes is the actuator authority, the safety envelope, and the verification cost.
Case E — Clearpath Husky outdoor 4WD skid-steer
The Clearpath Husky (now A200/A300 series) is the de-facto research outdoor mobile base: 990 × 670 mm footprint, 75 kg payload, 1.0 m/s top speed, 4 large pneumatic tires in a fixed-wheelbase skid-steer arrangement. Each wheel is independently driven by a brushed PMDC motor with a ~70:1 gearbox; the four wheels are paired electronically (left side commanded together, right side commanded together) to give the differential-drive interface. The platform is the workhorse of agricultural research (Naïo derivatives), nuclear decommissioning (Sellafield, UK), and DARPA Subterranean Challenge entries (CSIRO Data61 took 1st place in Final 2021 with a Husky-equivalent). The skid-steer geometry is wrong for high-speed cornering (the tires scrub) but right for low-speed crawling over loose terrain — the four-wheel contact distributes load and the wheels can push through soft soil that would mire a differential 2WD platform. Position feedback is from wheel encoders (heavily attenuated due to slip; trusted only over short distances) fused with a tactical-grade IMU and GNSS-RTK (u-blox ZED-F9P) when outdoors.
Case F — Locus Robotics LocusBot (swerve in production)
Locus Robotics is the most visible commercial deployment of swerve drive at scale: > 20 000 units deployed in third-party logistics warehouses (DHL, GEODIS, FedEx Supply Chain) as of 2024. The LocusBot is a 700 × 460 mm “tote-carrier” form factor with a swerve-drive base — four independent steer-and-drive modules, each with a brushless motor for drive (~ 150 W) and a smaller motor for steer (~ 50 W). The kinematic advantage is decisive in the application: the LocusBot meets pickers at predetermined “induction” stations, rotates in place, crab-walks sideways into shelf aisles narrower than its diagonal, and never has to back-track because it can always drive in the direction it needs to go without a heading change. Compared to a differential equivalent, throughput per square metre of warehouse is roughly 1.5× higher in Locus’s own published case studies. The cost is paid in BOM (eight motors + drivers, four module bearings, four steering position encoders) and in software complexity (the swerve “anti-fight” stop logic, slip-ring or cable-bundle management for continuous steering, and module-state-of-health monitoring). Locus runs proprietary planning and fleet coordination on ROS-based stack with a custom safety layer; commissioning typically takes 30–90 days per warehouse.
Case G — Boston Dynamics Stretch (tracked + mobile arm)
Boston Dynamics Stretch (commercial launch 2023) is a box-handling mobile manipulator built on a tracked base — kinematically a 2-track skid-steer with a small swing-radius footprint optimised for warehouse trailer-unloading work. The robot has a 7-DoF arm + vacuum end-of-arm tooling on top of the tracked base; the base provides modest mobility (~ 0.6 m/s, < 100 m daily travel) but very high stability for the arm to swing 23 kg payloads at full extension. Stretch’s design philosophy is “the arm does the work, the base just positions” — a deliberate inversion of the standard AMR pattern. The tracks rather than wheels were chosen because (a) inside a 53-foot trailer the floor is often dirty/uneven, (b) the high-CoG configuration (arm + payload at ~ 2 m height) benefits from the wide track footprint, and (c) the slow motion regime makes track-scrub energy losses irrelevant. The base runs a proprietary stack (not ROS-based); the arm uses BD’s hydraulic-electric hybrid actuator family inherited from Spot and Atlas development.
Case H — Mars rover Curiosity / Perseverance (rocker-bogie outdoor)
NASA’s Mars rovers (Sojourner 1997, Spirit/Opportunity 2003, Curiosity 2012, Perseverance 2020) use a rocker-bogie six-wheel suspension, kinematically equivalent to a 6WD skid-steer with passive load equalisation. Each wheel has its own DC motor + planetary gearbox + harmonic drive (combined ratio 1500:1 to allow operation under solar power constraint). Four corner wheels are also independently steered, giving 10 actuators per rover. The kinematic class is interesting: it is not swerve (the middle two wheels are not steered), not Ackermann (no linkage), and not pure skid-steer (the steerable corners reduce scrub significantly). The rover can rotate in place by toeing the four corner wheels inward and powering forward at differential speeds; it can also “crab walk” sideways with all four corners turned 90°. The rocker-bogie passive suspension ensures all six wheels maintain ground contact over obstacles up to wheel-diameter scale — critical when communication latency to Earth ( 10 minutes one-way) makes recovery from an entrapment expensive. Top speed: 0.04 m/s (Curiosity), constrained by power, thermal, and onboard autonomy budgets, not mechanical limits.
Case I — Sidewalk delivery (Starship / Serve / Nuro spectrum)
The sidewalk-delivery segment (2018–2026) shows the design-space tension between cost, safety, and reliability. Starship Technologies uses a 6-wheel skid-steer (two motors total, paired wheels per side), pneumatic tires ~ 250 mm OD, top speed ~ 6 km/h (1.7 m/s), 10 kg payload, ~ 5 km autonomous range. The 6-wheel arrangement gives passive curb-climbing (~ 15 cm vertical step) without active suspension; the long footprint plus low CoG (~ 0.25 m) gives rollover resistance. The kinematic class is effectively differential — the front and rear wheels on each side rotate at identical speeds; the centre wheel idles. Serve Robotics (Uber/Postmates spinout) uses a similar 4-wheel diff-drive form factor, ~ 24 kg, ~ 6 km/h top speed, lithium-ion battery, and a richer sensor suite (multiple LiDAR + cameras). Nuro R3 is a different class — a road-legal Ackermann vehicle, 1500 kg curb weight, no human occupant by design (cargo only), regulated as a low-speed vehicle under FMVSS exemption. Each robot’s kinematic class follows from its operating environment: sidewalks tolerate diff-drive’s tight turning; roads require Ackermann’s high-speed stability.
9. Cross-references
- Adjacent robotics:
[[Robotics/motors-electric]](wheel motor + gearbox sizing),[[Robotics/sensors-pose-motion]](encoders, IMU),[[Robotics/sensors-perception]](LiDAR, depth cameras),[[Robotics/pid-control]](wheel-velocity and pose-control loops),[[Robotics/state-space-lqr]](full-state feedback for cars),[[Robotics/slam]](mapping and localisation),[[Robotics/path-planning]](companion — A*, RRT, Hybrid-A*, lattice),[[Robotics/trajectory-generation]](time-parameterising paths),[[Robotics/bayesian-estimation]](odom + sensor fusion EKF/UKF),[[Robotics/legged-robotics]](alternative mobility),[[Robotics/multirotor-design]](aerial alternative),[[Robotics/power-systems]](battery and BMS),[[Robotics/safety-standards]](ISO 3691-4, EN 1525, ISO 13855). - Engineering:
[[Engineering/electric-motors]](motor first-principles),[[Engineering/bearings]](wheel hubs),[[Engineering/materials-polymers]](tire rubber, PU rollers),[[Engineering/classical-control]](PID theory). - Description languages:
[[Languages/Tier3/robotics-control]],[[Languages/Tier3/ros2-robotics-config]].
Documentation and operations
A wheeled mobile base in production needs a small library of artefacts beyond the robot itself:
- URDF / Xacro — the robot model in
[[Languages/Tier3/ros2-robotics-config]]format; defines links, joints, inertias, and collision geometry; consumed by Nav2, MoveIt, and Gazebo. The footprint polygon must match reality within ~ 1 cm or local-planner clearance assumptions fail. - Maps — pre-built occupancy maps (.pgm + .yaml) per facility; ideally versioned in git alongside the robot’s launch configs.
- Configuration overlays — Nav2 params per deployment (different gain values for an indoor warehouse vs an outdoor yard); managed via ROS 2 parameter YAML files.
- Acceptance test suite — a documented set of test routes (e.g., “drive 100 m straight, measure pose drift”, “ten in-place rotations, measure heading drift”) run at commissioning and re-run after any maintenance.
- Operator runbook — paper or app-based; covers manual e-stop reset, dock alignment, software update procedure, fault-code lookup.
- Spares inventory — wheels, motor brushes (if brushed), bearings, safety LiDAR (a 6+ week lead time item), battery packs, emergency-stop switches. Industry rule: stock 1 spare of each consumable per 10 robots.
- Maintenance schedule — typical: 1000 h or 6-month interval — inspect wheels, lubricate bearings, recalibrate IMU/LiDAR, replace battery if capacity < 80 % of nameplate, full functional safety test per ISO 3691-4.
- Incident log — every collision, fall-off-dock, or unplanned stop is recorded for trend analysis. Field data feedback is the only way to detect slow-burning issues like specific aisle blind spots or particular pallet shapes that confuse perception.
Cost engineering — BOM ranges (2024–2026 USD, retail)
A representative parts cost for a research/educational AMR at three quality tiers:
| Component | Hobby tier | Research tier | Industrial tier |
|---|---|---|---|
| Drive motors (×2) | $40 (Pololu 25Dx52L brushed) | $1200 (Maxon EC-i 40) | $3000 (Maxon EC 90 + harmonic drive) |
| Motor drivers | $50 (Sabertooth 2×12) | $400 (ESCON 50/5) | $2000 (Elmo Gold-Twitter) |
| Wheel encoders | included | $250 (Renishaw absolute) | $1500 (dual absolute, safety-rated) |
| IMU | $10 (BNO055) | $400 (BMI088 + redundant) | $3000 (ADIS16470) |
| Safety LiDAR | n/a | $5000 (SICK S300) | $10000 (microScan3 Pro × 2) |
| Navigation LiDAR | $200 (RPLiDAR A1) | $1500 (Hokuyo UST-10LX) | $8000 (Ouster OS1) |
| Compute | $80 (Raspberry Pi 5) | $2000 (Jetson AGX Orin) | $4000 (industrial PC + Jetson) |
| Battery pack | $200 (lead-acid) | $800 (Li-ion 1 kWh) | $3000 (LiFePO4 2.4 kWh + BMS) |
| Chassis machining | $200 (3D-printed + extrusions) | $2000 (CNC aluminium) | $10000 (custom welded steel) |
| Wiring + connectors | $100 | $500 | $3000 |
| Total parts | ~$900 | ~$13000 | ~$48000 |
| Plus integration labour | hobbyist | 200–400 h × $80 | 1500–3000 h × $150 |
Note that the industrial tier’s final delivered price (Clearpath Husky 50k+, OTTO 100 $80k+) is dominated by integration labour, certification testing, and warranty/support reserves rather than raw BOM.
Future directions
The 2024–2026 trajectory of wheeled mobile bases:
- Holonomic-first defaults. As swerve module costs fall (REV MAXSwerve at < $700/module retail), the cost gap to differential drive narrows; warehouse density premium tips more deployments toward swerve.
- Whole-body coordination with arms. Mobile manipulators (Boston Dynamics Stretch, Diligent Moxi, fluid arms on AGV bases) demand tighter coupling between base motion and arm trajectory; ROS 2 + MoveIt 2 are increasingly handling base+arm as a single 9-DoF kinematic chain (
[[Robotics/mpc-for-robots]], planned note). - Learning-based controllers. Reinforcement-learning policies for off-road traversal (Mars rovers, agricultural robots) are starting to replace hand-tuned PIDs in research stacks; production deployment still rare due to verification cost (no formal guarantees).
- Hybrid wheeled-legged platforms. ANYmal Wheelybot, Unitree B2-W, Boston Dynamics Atlas-on-wheels concepts blur the line between wheeled and legged mobility. Each wheel becomes an actuated leg; cost increases by ~3× over equivalent wheeled-only.
- Solid-state batteries. Higher energy density (Wh/kg) + much wider operating temperature window will reshape battery sizing rules; first commercial deployments expected by 2027.
- 5G/6G connectivity. Lower-latency private cellular networks (CBRS in US, 5G slicing in EU) enable centralised fleet brains to issue 100 ms-cadence orders to robots — useful for high-throughput coordination beyond what local autonomy alone can achieve.
10. Citations
Textbooks (canonical)
- Siegwart R., Nourbakhsh I.R., Scaramuzza D. Introduction to Autonomous Mobile Robots, 2nd ed., MIT Press, 2011. The reference text for wheeled mobile-base kinematics and odometry.
- Choset H., Lynch K.M., Hutchinson S., Kantor G.A., Burgard W., Kavraki L.E., Thrun S. Principles of Robot Motion: Theory, Algorithms, and Implementations, MIT Press, 2005.
- Murray R.M., Li Z., Sastry S.S. A Mathematical Introduction to Robotic Manipulation, CRC Press, 1994, ch. 7 (non-holonomic systems).
- LaValle S.M. Planning Algorithms, Cambridge University Press, 2006, ch. 13 (differential models for planning).
- Latombe J.-C. Robot Motion Planning, Kluwer, 1991, ch. 7 (non-holonomic planning).
- Lynch K.M., Park F.C. Modern Robotics: Mechanics, Planning, and Control, Cambridge University Press, 2017, ch. 13.
Foundational papers
- Brockett R.W. “Asymptotic stability and feedback stabilization,” in Differential Geometric Control Theory, 1983 — non-holonomic stabilisation impossibility.
- Coulter R.C. “Implementation of the Pure Pursuit Path Tracking Algorithm,” CMU-RI-TR-92-01, Carnegie Mellon Robotics Institute, 1992.
- Fox D., Burgard W., Thrun S. “The Dynamic Window Approach to Collision Avoidance,” IEEE Robotics & Automation Magazine 4(1), 1997 (DWA local planner).
- Rösmann C., Feiten W., Wösch T., Hoffmann F., Bertram T. “Trajectory modification considering dynamic constraints of autonomous mobile robots,” ROBOTIK 2012 (TEB local planner).
- Marder-Eppstein E., Berger E., Foote T., Gerkey B., Konolige K. “The Office Marathon: Robust Navigation in an Indoor Office Environment,” IEEE ICRA, 2010 (the canonical ROS Navigation result).
- Macenski S., Foote T., Gerkey B., Lalancette C., Woodall W. “Robot Operating System 2: Design, architecture, and uses in the wild,” Science Robotics 7(66), 2022.
- Macenski S., Martín F., White R., Clavero J.G. “The Marathon 2: A Navigation System,” IEEE/RSJ IROS, 2020 (Nav2).
- Aicardi M., Casalino G., Bicchi A., Balestrino A. “Closed loop steering of unicycle-like vehicles via Lyapunov techniques,” IEEE RAM 2(1), 1995 (polar pose stabilisation).
- Doroftei I., Grosu V., Spinu V. “Omnidirectional Mobile Robot — Design and Implementation,” in Bioinspiration and Robotics, 2007 (mecanum kinematics).
- Dolgov D., Thrun S., Montemerlo M., Diebel J. “Path Planning for Autonomous Vehicles in Unknown Semi-structured Environments,” Int. J. Robotics Research 29(5), 2010 (Hybrid-A*).
- Wurman P.R., D’Andrea R., Mountz M. “Coordinating Hundreds of Cooperative, Autonomous Vehicles in Warehouses,” AI Magazine 29(1), 2008 (Kiva).
- O’Kelly M., Sukhil V., Abbas H., et al. “F1TENTH: An Open-source Evaluation Environment for Continuous Control and Reinforcement Learning,” PMLR 123, 2020.
Standards
- ISO 3691-4:2020 — Industrial trucks — Safety requirements and verification — Part 4: Driverless industrial trucks and their systems.
- ISO 13855:2010 — Safety of machinery — Positioning of safeguards with respect to the approach speeds of parts of the human body.
- ISO 13482:2014 — Robots and robotic devices — Safety requirements for personal care robots.
- EN 1525:1997 — Safety of industrial trucks — Driverless trucks and their systems.
- IEC 61496-3:2018 — Safety of machinery — Electro-sensitive protective equipment — Part 3 (vision-based safeguards).
- ANSI/RIA R15.08-1:2020 — Industrial mobile robots — Safety requirements.
Vendor documentation
- Clearpath Robotics. Husky, Jackal, Warthog, Boxer, TurtleBot 4 user manuals (Rev. 2024).
- Mobile Industrial Robots (MiR). MiR250, MiR1500 technical specifications and integrator guides (2024).
- Fetch Robotics / Zebra. Freight 100/500/1500 reference architecture.
- OTTO Motors / Rockwell Automation. OTTO 100/600/1500 product datasheets (2024).
- SICK AG. microScan3 Pro safety LiDAR datasheet, S30A/S300 family.
- Hokuyo Automatic. UST-05LN-H01, URG-04LX-UG01, UST-10LX datasheets.
- Maxon Motor / Faulhaber / Allied Motion catalogues, 2024 edition.
- ODrive Robotics — ODrive S1 / Pro user guide. Moteus — r4.11 and c1 reference.
- VESC Project — VESC 6 MkVI hardware reference.
Software / open source
- ROS 2 Navigation Stack (Nav2) —
https://docs.nav2.org(Iron Irwini / Jazzy Jalisco LTS, 2024–2026). - OMPL — Open Motion Planning Library,
https://ompl.kavrakilab.org. - MoveIt 2 —
https://moveit.picknik.ai. - Autoware — autonomous driving stack,
https://www.autoware.org(Universe distribution, 2024). - F1Tenth software stack —
https://f1tenth.org. - robot_localization (Tom Moore) — EKF/UKF for ROS 2.
- Gazebo Sim (Harmonic LTS, 2024) —
https://gazebosim.org. - Nvidia Isaac Sim —
https://developer.nvidia.com/isaac-sim. - VDA 5050 specification —
https://www.vda.de/vda5050(interoperability for AMRs). - slam_toolbox (Macenski 2020) —
https://github.com/SteveMacenski/slam_toolbox. - AMCL package —
https://github.com/ros-planning/navigation2/tree/main/nav2_amcl.
Additional papers and references
- Campion G., Bastin G., d’Andréa-Novel B. “Structural Properties and Classification of Kinematic and Dynamic Models of Wheeled Mobile Robots,” IEEE Trans. Robotics & Automation 12(1), 1996. Definitive classification.
- Mandow A., Martínez J.L., Morales J., Blanco J.L., García-Cerezo A., González J. “Experimental Kinematics for Wheeled Skid-Steer Mobile Robots,” IEEE/RSJ IROS, 2007.
- Wong J.Y., Chiang C.F. “A General Theory for Skid Steering of Tracked Vehicles on Firm Ground,” Proc. IMechE Part D: J. Automobile Engineering, 215(3), 2001.
- Borenstein J., Feng L. “UMBmark — A Method for Measuring, Comparing, and Correcting Dead-Reckoning Errors in Mobile Robots,” CSE-UM-94-22, Univ. of Michigan, 1994. Republished IEEE ICRA 1996.
- Astolfi A. “Exponential Stabilization of a Wheeled Mobile Robot Via Discontinuous Control,” J. Dynamic Systems, Measurement, and Control 121(1), 1999.
- Williams G., Wagener N., Goldfain B., Drews P., Rehg J.M., Boots B., Theodorou E.A. “Information Theoretic MPC for Model-Based Reinforcement Learning,” IEEE ICRA, 2017 (MPPI).
- Park J.J., Kuipers B. “A Smooth Control Law for Graceful Motion of Differential Wheeled Mobile Robots in 2D Environment,” IEEE ICRA, 2011.
- Sharon G., Stern R., Felner A., Sturtevant N.R. “Conflict-Based Search for Optimal Multi-Agent Pathfinding,” Artificial Intelligence 219, 2015.
- Quigley M., Conley K., Gerkey B., Faust J., Foote T., Leibs J., Wheeler R., Ng A.Y. “ROS: an open-source Robot Operating System,” ICRA Workshop on Open Source Software, 2009.
- Reif J.H. “Complexity of the Mover’s Problem and Generalizations,” FOCS, 1979.
- D’Andrea R., Wurman P. “Future Challenges of Coordinating Hundreds of Autonomous Vehicles in Distribution Facilities,” IEEE Int. Conf. on Tech. for Practical Robot Applications, 2008.
- Müller F.D.O., Steup C., Mostaghim S. “Variable Pure Pursuit Algorithm for Smooth Trajectory Following,” IEEE IROS Workshop, 2018.
Session log:
node ~/.claude/bin/obsidian-research.mjs log "Built Robotics/mobile-base-wheeled.md Tier 1 deep note"