00MASTER THESIS

Precise Navigation for a Mobile Manipulator using 2D-LiDAR

I built a mobile robot that uses a 2D-LiDAR sensor to understand its surroundings, compare a real scanned map with a reference map, and drive repeatedly to a target position.

PLACEHOLDER · INSTITUTION09/2025 – 03/2026PLACEHOLDER · SUPERVISOR
0 D-LiDAR
ROS2
SLAM
0 repeated drives
Mobile manipulator with drill end-effector and 2D-LiDAR
FIG.01 · MOBILE MANIPULATOR · DRILL + 2D-LIDAR

Natural environment

Weather
Light
Dust

Built environment

Tight spaces
Obstacles
Changing layout
FIG.02 · WHY REAL ENVIRONMENTS MATTER
01THE PROBLEM

Why a plan or a scan alone is not enough

A robot can't trust an old plan alone, or a raw sensor map alone. Plans go outdated; sensor maps are noisy. For precise work, the map must be checked against reality.

02THE IDEA

Check the map against reality

Use 2D-LiDAR SLAM to build a real map, compare it with a reference map, update the map, then test whether the robot can drive to the same target again and again.

03HOW I BUILT IT

The system, step by step

The long-term goal: a mobile manipulator that can later drill or cut. Before precise tool work, the robot needs a reliable navigation and positioning base.

01

ROS2-based navigation pipeline

02

2D-LiDAR SLAM mapping with Cartographer

03

Reference map comparison

04

Map fusion → updated occupancy grid

05

AMCL localization on the fused map

06

Navigation verification with Nav2 + TEB

07

Repeated target-position tests

Onboard ROS2 System

SENSOR DATA → NAV STACK → BASE CONTROL

LiDAR scan
Odometry
serial bridgeROS2 bridge
base estimateLocal odometry

ROS2 NAVIGATION WORKSPACE

Mapping
Localization
Navigation
/cmd_velVelocity command
actuator bridgeDriver / base control
FIG.03 — ONBOARD ROS2 SYSTEM · NODES & TOPICS

Layered Software Architecture

HARDWARE → NAVIGATION → MONITORING

Hardware layer

Mobile baseSensorsOdometryDrivers

Navigation layer

SLAMLocalizationPath planningControl

Monitoring layer

Web interfaceVisualizationExternal host
FIG.04 — LAYERED SOFTWARE ARCHITECTURE · HARDWARE → NAV → MONITORING
Tools used
ROS2CartographerAMCLNav2TEB2D-LiDARRaspberry PiESP32PythonOpenCVOccupancy gridsTF frames
04HOW IT WORKS

From scan to repeatable navigation

Mapping / Localization / Navigation Pipeline

ONE SYSTEM START, TWO OPERATING PATHS

Hardware config
Operator input
bootSystem start
mode managerMode orchestration
active stateRobot operating modes
mapping modeCartographer mapping
navigation modeMap localization + Nav2
Scan matching
Saved map
Repeatable drive
FIG.05 — MAPPING · LOCALIZATION · NAVIGATION PIPELINE (CARTOGRAPHER + NAV2)
01

Scan the environment

The robot uses a 2D-LiDAR to measure walls and obstacles.

02

Build a map

SLAM turns the sensor data into a map the robot can use.

03

Compare with reference

The scanned map is checked against a prepared reference map.

04

Update the map

The system keeps useful structure and adds real detected obstacles.

05

Test navigation

The robot drives to the same target repeatedly to check repeatability.

05RESULT

Reproducible — with a known offset

The robot built a usable map and reached the target area repeatedly. Navigation was reproducible — but showed a systematic position offset. So: solid as a navigation base, but precise tool tasks still need extra calibration and local correction.

0 drives
0 map fused
0 offset found
Robot driven to the target position inside the test environment
FIG.06 — ROBOT AT TARGET · REPEATED-DRIVE TEST ENVIRONMENT
06WHAT I LEARNED

Robotics is a full system, not one algorithm

Robotics is not one algorithm. It is a full system — sensors, maps, localization, controllers, hardware, timing, and real-world errors must all work together.

07WHAT I'D IMPROVE NEXT

Honest next steps

  • Better calibration: map ↔ robot base ↔ LiDAR ↔ end-effector
  • More target points, more test environments
  • Local fine-positioning near the workpiece
  • Better validation of orientation θ
  • More stable real-time performance on the onboard computer