ROS Developer Battles AMR Localization in Muddy, Metal-Infested Barn
Steel pillars, muddy terrain, and roaming cows wrecking robot's IMU and UWB sensors.
A developer building an Autonomous Mobile Robot (AMR) for dairy cattle barns is struggling with localization inards harsh terrain and environmental interference. The robot uses wheel encoders, an IMU (including magnetometer), and an Ultra-Wideband (UWB) positioning system (upgraded from 1 Hz to 10 Hz) within a Dual EKF framework (robot_localization). The main issues are severe heading/yaw drift caused by magnetic disturbance from dense steel pillars and 10–40 cm UWB jumps due to multipath and NLOS conditions when cattle block signals.
The developer has already disabled the magnetometer and relies on gyro-only IMU + wheel odometry for the first EKF, and fuses that with UWB positions in the second EKF. Still, accuracy degrades near pillars and when cows walk between tags and anchors. They seek community input on whether to fully decouple magnetometer, implement dynamic covariance outlier rejection, or switch to an Unscented Kalman Filter (UKF) or factor-graph-based optimization with Ceres/GTSAM. The post exemplifies the real-world challenges of deploying AI-driven robotics in unstructured agricultural environments.
- Wheel slippage in mud and magnetic interference from steel pillars cause yaw drift of up to 40 cm in UWB positioning.
- UWB update rate optimized to 10 Hz but suffers from NLOS errors when cattle obstruct signals.
- Developer considers switching from Dual EKF to UKF or factor-graph optimization (GTSAM/Ceres) for better robustness.
Why It Matters
Real-world AI robotics must handle sensor noise, magnetic fields, and dynamic obstacles—critical for agricultural automation adoption.