Home Service Robot — SLAM, Localization & Autonomous Delivery
ROS Noetic + Gazebo autonomy stack: RTAB-Map SLAM, AMCL localization, navigation, and simulated pickup/drop-off via markers
What I built
Built a simulated home-service delivery robot in Gazebo using a full ROS autonomy pipeline. The robot performs mapping (RTAB-Map RGB-D SLAM), localization (AMCL particle filter on a saved map), and autonomous navigation using the ROS Navigation Stack. A pickup-and-delivery task is simulated by navigating to a pickup zone, hiding a marker, then navigating to a drop-off zone and re-spawning the marker in RViz.
Problem
Create a mobile robot workflow that can (1) build or use a map, (2) localize reliably, and (3) navigate autonomously between task waypoints—then simulate a pickup/drop-off operation in a repeatable, testable way.
Approach
- Developed and tested on Ubuntu 20.04 with ROS Noetic, Gazebo, and RViz for simulation and visualization.
- Used RTAB-Map for RGB-D SLAM to generate a 3D map and validate loop-closures during mapping.
- Used map_server + AMCL (adaptive Monte Carlo localization) to localize the robot on a known map.
- Used the ROS Navigation Stack to plan and execute safe motion using costmaps and a local planner.
- Implemented the task as staged scripts: SLAM test, navigation test, pick_objects (autonomous goals), add_marker (marker hide/show), and a full home_service run.
Engineering decisions
Leverage mature ROS autonomy packages
Used RTAB-Map, AMCL, and the Navigation Stack rather than re-implementing SLAM/localization from scratch, focusing effort on integration and system behavior.
Scripted workflows for repeatability
Wrapped the pipeline into launch/scripts (test_slam, test_navigation, pick_objects, add_marker, home_service) to make runs consistent and easy to debug.
Tune costmaps and planner parameters
Adjusted costmap and local planner YAML parameters (inflation, obstacle/raytrace range, planner limits) to achieve stable navigation behavior in the environment.
Ownership
- Autonomy pipeline integration across mapping, localization, navigation, and task execution
- Launch/script orchestration for SLAM, navigation, and pickup/drop-off simulation runs
- Costmap and local planner parameter tuning for stable navigation
- End-to-end debugging using RViz (maps/markers) and ROS tools
Results
- Demonstrated a full autonomy workflow: SLAM → localization → navigation → simulated pickup/drop-off delivery task.
- Created repeatable run scripts for testing and a full mission execution flow.
- Validated navigation stability through costmap/planner parameter tuning.