Design & Selection · Module 02
Sensor selection: indoor mobile robots
Which sensors belong on a indoor autonomous mobile robot, what each one costs you, and how the sensor set fails.
Assumptions: Application roles are engineering judgement about common practice (core, common, niche), not a survey. The sensor characteristics are class-level tendencies; the datasheet and your tests decide.
1. Engineering problem
Indoor autonomous mobile robot: the sensor set determines what the robot can perceive, how it localises and how it fails. Choosing it from the failure cases backwards is cheaper than discovering them in the field.
2. When is this needed?
- Starting a new indoor autonomous mobile robot design.
- Replacing or adding a sensor after a field failure.
- Reviewing a sensor architecture before purchase.
3. Selection and design decisions
| Role | Sensor types |
|---|---|
| Core (nearly always present) | 2D LiDAR (scanning), IMU (accelerometer + gyroscope), Wheel / joint encoder |
| Common | Monocular camera, Stereo camera, RGB-D (active depth) camera, 3D LiDAR (mechanical, spinning) |
| Niche or supporting | Event camera, Non-spinning LiDAR (flash, MEMS, optical phased array, hybrid), Ultrasonic range sensor, UWB (ultra-wideband) ranging |
Typical combinations
- 2D LiDAR + IMU + wheel encoders: Standard low-compute baseline for flat floors: scan matching for pose, odometry between scans.
- 3D LiDAR + IMU + wheel encoders: Multi-level, ramps or cluttered 3D scenes; higher cost and compute.
- 2D LiDAR + RGB-D camera + IMU + encoders: Adds low and overhanging obstacles the single scan plane misses.
- Stereo or monocular camera + IMU + encoders: Low-cost visual-inertial option; sensitive to lighting and texture.
Sensor types that do not fit this application
- Thermal (long-wave infrared) camera: Not typical for this application.
- FMCW LiDAR: Not typical for this application.
- GNSS (multi-constellation): GNSS is not available indoors.
- RTK GNSS: GNSS is not available indoors.
- GNSS/INS (integrated unit): GNSS is not available indoors.
- Barometer / pressure sensor: Not typical for this application.
- Magnetometer: Not typical for this application.
- Radar (mmWave and automotive-class): Not typical for this application.
- Force/torque sensor: Not typical for this application.
- Tactile sensor: Not typical for this application.
- Sonar (underwater acoustic): Underwater acoustic sensor; not for operation in air.
Try your own requirements in the Sensor Selection Calculator; read the per-sensor detail in the family guides for cameras, LiDAR, inertial and positioning and other sensors.
4. Advantages and disadvantages
- 2D LiDAR (scanning): Accurate, direct range with very little compute; but sees only one plane: misses tables, overhangs and low obstacles.
- IMU (accelerometer + gyroscope): High rate, no external dependency, works anywhere; but integrates noise and bias into rapid drift.
- Wheel / joint encoder: Precise, high-rate proprioception; basis of odometry and joint control; but odometry drifts from wheel slip and uncertain wheel radius/track.
5. Requirements and constraints
- Range, accuracy and rate requirements written as numbers before shortlisting.
- Mass, power and compute budgets (see the power and compute guides).
- Environment: lighting, weather, surfaces (glass, reflective, dark).
- Interfaces and ROS 2 driver availability for your distribution.
- Cost and supply for the quantities you need.
6. Architecture
2D LiDAR (scanning) · IMU (accelerometer + gyroscope) · Wheel / joint encoder
│ time-synchronised, calibrated extrinsics
▼
state estimation / SLAM ──▶ planning and control7. Implementation
Integration complexity: Low for a 2D LiDAR + IMU + encoders baseline; medium when adding depth cameras (extra synchronisation and calibration).
- Select the core sensors and write down what each cannot see.
- Add the common sensors that cover those gaps.
- Define time synchronisation and calibration for every sensor pair that is fused (Modules 6 and 7).
- Define the redundancy and failure behaviour (below), then build and validate sensor by sensor.
Redundancy: Add a second sensing modality that sees what the LiDAR misses (depth camera or ultrasonic for glass and low obstacles); let IMU and encoders carry the pose through short LiDAR dropouts; keep the emergency stop on an independent hardware path.
8. Real examples
A delivery robot in a hospital corridor with glass partitions: 2D LiDAR + IMU + encoders for localisation, a forward depth camera for low obstacles, and ultrasonic sensors at the front corners for glass.
9. Failure scenarios
- Glass doors and mirrors invisible to the LiDAR
- Tables and overhangs above or below the scan plane
- Wheel slip on smooth or wet floors corrupting odometry
- Long featureless corridors under-constraining scan matching
- People walking close and sensor occlusion
10. Troubleshooting
- Reproduce the failure and record all sensor streams (ROS bag).
- Check which sensor lost data or went wrong first (rates, stamps, covariance).
- Compare against the failure list above and the per-sensor failure scenarios in the family guides.
- Add the missing modality or monitor, then repeat the test.
11. Validation
- Each listed failure condition is provoked deliberately (glass, sun, GNSS loss, slip) and the robot behaves as specified.
- Each sensor’s data rate, stamps and extrinsics are verified on the integrated robot.
- Redundancy is tested by unplugging each sensor in turn.
- Results are saved with the configuration.
12. Engineering checklist
13. Further references
- Class-level guidance written from general engineering knowledge; it contains no product specifications. Product-specific numbers must come from the manufacturer’s datasheet for the exact model and operating mode.
- ROS 2 message types: sensor_msgs (jazzy branch).
Related on FixTheRobot
- Complementary Strengths and Weaknesses of Cameras and LiDAR Perception · Lesson