Navigation's job

Navigation converts a task-level destination into safe motion for Lumi's mobile base.

For pickup, Lumi must reach a calculated standoff pose rather than driving directly onto the object.

For storage, navigation moves Lumi from the pickup location to a safe bin-placement pose while the arm remains safely controlled.

Dependency chain

  1. Wheel encoders + IMU Measure wheel movement and rotation cues that can be checked during supervised driving.
  2. Raw wheel odometry Converts encoder ticks into an initial estimate of chassis movement.
  3. EKF sensor fusion Combines encoder and IMU signals into a more stable odometry estimate.
  4. odom -> base_footprint transform Publishes the base pose relationship needed by ROS navigation tools.
  5. URDF/Xacro robot-frame model Defines chassis, lidar, IMU, D435 mount, and arm mount relationships.
  6. Lidar scan in laser_link frame Provides room geometry and obstacle observations in a known robot frame.
  7. SLAM Toolbox mapping Builds a map while Lumi is driven under supervision.
  8. Localization on saved map Lets Lumi estimate where it is inside a previously mapped room.
  9. Nav2 planning and control Plans and tracks conservative routes to pickup, bin, or home poses.
  10. /cmd_vel to STM32 chassis bridge Sends bounded velocity commands to the low-level controller.
  11. Motor commands and watchdog behavior Keeps command timing, stop behavior, and hardware safety close to STM32.

Current Lumi implementation path

  • Wheel encoders are electrically integrated and need continued physical calibration.
  • IMU data is available and needs orientation and integration validation.
  • Raw chassis telemetry and ROS 2 bridge infrastructure are being assembled.
  • First URDF/Xacro robot frames describe the chassis, lidar, IMU, D435 mount, and arm mount.
  • Lidar must become a stable ROS 2 scan source.
  • EKF, TF, mapping, localization, and Nav2 will be validated in stages.

Planned Nav2 configuration

This is the intended first Nav2 configuration, not a proven autonomous navigation result yet.

Global planner

Smac 2D planner.

Local controller

Regulated Pure Pursuit.

Costmaps

Static map layer, lidar obstacle layer, inflation layer, and conservative Lumi footprint.

Safety behavior

Low speed limits, arm-stowed driving rule, collision monitoring, STM32 command watchdog, hardware emergency stop, and conservative recovery actions.

Pickup and bin standoff poses

Lumi will navigate to positions that make the arm useful.

A pickup standoff pose keeps the chassis clear of the object while placing the arm within reach.

A bin standoff pose places Lumi where the arm can safely lower, release, and retract without colliding with the bin or nearby furniture.

Validation roadmap

  1. Calibrate encoder scale and effective track width.
  2. Validate IMU orientation and raw sensor behavior.
  3. Validate odometry and EKF in supervised manual driving.
  4. Validate TF tree and lidar alignment.
  5. Build indoor maps with SLAM Toolbox.
  6. Localize reliably on a saved map.
  7. Navigate to simple empty-room goals.
  8. Add obstacle avoidance and recovery behavior.
  9. Add pickup and bin standoff-pose navigation.

Continue exploring