Sensor-Based SLAM Navigation - iRobot Create
A full SLAM pipeline on embedded hardware, from IR range data to navigation.

Sensor Coverage
Path Planner
Research Lab
Tech Stack
The problem
A robot dropped into an unknown room has no map. It can't plan a path to a destination it can't see, and it can't build a map it hasn't explored yet. The only way forward is to do both at once - map the environment while navigating it - using only the readings from its own sensors.
The challenge
The iRobot Create platform has no built-in mapping capability. The challenge was to mount IR rangefinders on servo motors to achieve 360° coverage, build an occupancy grid map from the noisy sensor readings in real-time, and use that map to plan collision-free paths through a maze - all within the compute and power constraints of an embedded system.
Architecture & System Design
Rotating sensors build real-time 2D map of environment from range data. Occupancy grid algorithm marks free and occupied spaces. Path planning algorithm searches map for collision-free navigation routes. Robot executes waypoints using heading control feedback.
Two servo motors rotated IR rangefinder sensors to sweep the environment and collect range data at discrete angular increments. An occupancy grid algorithm converted range readings to a 2D binary map (occupied/free). The map was iteratively updated as the robot moved, with odometry used for dead-reckoning position estimates. A Rapidly-exploring Random Tree (RRT) planner searched the map for collision-free paths to the goal, with the robot executing waypoints via a proportional heading controller.
Results
The robot successfully mapped lab maze environments and navigated from start to goal positions autonomously. The occupancy grid converged to an accurate representation within 3-4 passes of the environment. RRT path planning consistently found collision-free paths in under 500ms on the embedded hardware.
Gallery & Demos
Occupancy Grid Map - SLAM Output
2D binary map built from 360° IR sensor sweeps showing occupied (walls) and free (navigable) spaces.
Lab Environment 1 - Test Space
First maze-like test environment where the robot performs autonomous mapping and navigation.
Lab Environment 2 - Alternate Configuration
Second test space with different wall layout to validate robustness of the SLAM pipeline.
RRT Path Planning - Collision-Free Route
Rapidly-exploring Random Tree search result showing planned path from start to goal avoiding obstacles.
Planning Map - Cost Grid
Navigability cost grid used by the planner to guide the robot through open space while maintaining clearance from walls.
RRT Algorithm Demo - Tree Exploration
Real-time visualization of the Rapidly-exploring Random Tree building a collision-free path through the mapped environment.
Navigation - Short Path Execution
Robot following a brief planned path while continuously updating the occupancy grid from new sensor readings.
Navigation - Long Path Execution
Extended navigation sequence demonstrating sustained mapping accuracy and path tracking over multiple turns and obstacles.
Servo Motor Control - Sensor Rotation
Mechanism for rotating the IR rangefinder 360° to collect panoramic range data for real-time map updates.
Stepper Motor Initialization Test
Hardware testing of stepper motor control for servo mounting and sensor alignment verification.
Click any image or video to expand · ← → keys navigate
More from University of Utah
Vision-Based Autonomous Quadrotor
MS thesis project: a quadrotor capable of autonomously taking off, navigating, and perching on branch-like structures using only visual feedback - designed for autonomous crop monitoring in agricultural fields.
Multi-Arm Coordination - 2-DOF QUANSER
Dual-arm robotic manipulation system using 2-DOF QUANSER robots with a master-slave architecture - one arm controlling position, the other controlling force - to collaboratively manipulate objects with precision.
Adaptive Backstepping - Indoor Micro-Quadrotor
Nonlinear controller design for an indoor micro-quadrotor with a suspended pendulum mass - a highly unstable configuration. Adaptive backstepping outperformed classical PID in robustness tests across multiple flight regimes.
PUMA 6-DOF Robot Arm - Forward & Inverse Kinematics
Forward and inverse kinematics solver for a 6-DOF PUMA 762 robot arm, using Denavit-Hartenberg parameters and an interactive 3D MATLAB GUI with joint sliders, a motion trail, and collision detection.
Sampling-Based & Graph-Search Motion Planning
MATLAB implementations of four canonical path-planning algorithms - Dijkstra, A*, PRM, and RRT - applied to a differential-drive robot navigating bitmap maps in configuration space, with real hardware execution on an iRobot Create.
Monocular Depth Estimation for UAV Perch Landing
C++ and OpenCV vision system that estimates a landing perch's 3D position and orientation from one monocular camera. It uses image moments, covariance eigendecomposition, and focal-length triangulation for closed-loop quadrotor control.
RC Fixed-Wing Glider - Servo Actuation & Aerodynamics
Fixed-wing RC glider with two servos for roll and pitch, a brushless DC motor, and an ESC for forward thrust. Flight-tested outdoors.
Interested in this work?
I can walk through the architecture and code during an interview.









