Robotics
A ROS 2 project for autonomous parallel and reverse parking on a real car and in Gazebo simulation. The system combines SLAM-based mapping, EKF localization, custom path planners, and parking space detection to fully automate the parking maneuver.

My Contributions
- Extended Kalman Filter (EKF) Integration: Integrated
robot_localizationto fuse wheel odometry with IMU data, correcting odometry drift and providing a stablemap → odom → base_footprinttransform chain. - SLAM + Localization Launch: Created the main launch file combining
slam_toolboxandekf_node, configuring process noise, sensor timeout, and the odometry/IMU fusion matrix. - New TAS Car Hardware Integration: Configured hardware drivers, merged dual LiDAR scans, and added URDF models and Gazebo world assets for the new car platform.
- Costmap & Obstacle Avoidance Tuning: Tuned inflation radius and cost scaling factors in the Nav2 costmap configuration for reliable obstacle avoidance in tight parking spaces.
- Path Following Controller Tuning: Configured
RegulatedPurePursuitControllerparameters (lookahead distance, max angular acceleration, desired linear velocity) for smooth and precise parking execution. - Parking Manager Launch: Consolidated the planner, controller, and parking manager nodes into a single unified launch file for both simulation and hardware deployments.
- Extended Kalman Filter (EKF) Integration: Integrated
Subterranean Sentinel is a fully autonomous Micro Aerial Vehicle (MAV) system that explores unknown underground cave environments, detects semantic targets (lanterns), and returns safely: without any human intervention. The system runs on ROS 2 (Jazzy) with a Unity simulation and implements the full autonomous robotics stack: Perception → Mapping → Planning → Control.
My Contributions
- System Design & Architecture: Designed the full modular ROS 2 workspace, defining package boundaries, node responsibilities, topic/service interfaces, and the overall data flow from perception to control.
- Mission FSM: Designed and implemented the mission Finite State Machine that orchestrates all behaviors: takeoff, cave entry, exploration, Z-retry recovery, checkpoint-graph-based return, and landing.
- Exploration Pipeline: Built the frontier exploration manager that continuously requests candidate goals, evaluates them, blacklists failed ones, and keeps the drone progressing through unmapped space.
- RRT* Path Planning: Implemented the RRT* global planner operating directly on the live OctoMap, producing collision-free paths through 3D voxel space.
- Cloud Gating: Developed the pointcloud gate node that enables/disables OctoMap updates on FSM command, preventing map corruption during non-exploration phases.
- ROSbag Recording & Analysis: Set up automated bag recording of key mission topics and performed post-flight analysis using Jupyter Notebook to evaluate trajectory quality, goal success rates, and lantern detection timing.
A research project conducted at TUM’s Institute for Rotorcraft and Vertical Flight, integrating classical robot path-planning algorithms with aerodynamics-inspired Panel-Method-Based guidance to generate smooth, collision-free trajectories for UAVs in urban environments. The panel method, rooted in potential flow theory, treats obstacles as vortex panels to produce a continuous velocity field: eliminating the local-minima problem of classical potential fields. The system was demonstrated in a search-and-rescue scenario: an area-coverage UAV first locates a distress signal using grid-based sweeping guided by the panel method, then a second UAV navigates to the target using a classical path-planning algorithm.
This project implements an Ackermann-steering RC car controlled entirely by hand gestures.
Using an MPU6050 IMU, we captured the hand’s yaw and tilt angles over I2C on an ATmega328p microcontroller. These angles are processed to generate steering and throttle commands, which are transmitted wirelessly over RF to the car.
On the vehicle side, the microcontroller decodes the RF packets and drives the steering servo and DC motor driver to follow the commanded trajectory.