Videos & Demos

Here are selected demonstrations of my work in robotics and UAV autonomy, mapping, and mobile robot navigation.

Last update icon

Safe Bearing-Only UAV Formation with CBF-QP Obstacle Avoidance

Problem: How can a team of UAVs preserve a rigid formation while navigating cluttered environments and avoiding collisions with obstacles, without relying on relative-position measurements?

What I built: The end-to-end system architecture for a multi-UAV formation — a distributed bearing-only sensing controller for formation maintenance, combined with a CBF-QP (Control Barrier Function – Quadratic Programming) safety filter for real-time obstacle avoidance.

How I validated it: First verified in simulation, then transferred to real-world flight experiments. Successful task execution on hardware validates the integrated navigation, localization, distributed control, and sensing pipeline shown in this video.

Impact: Accepted to IFAC 2026 (Busan).

UAV Formation Control Bearing-Only CBF-QP Multi-Agent Safe Control ROS
Last update icon

UAV Mapping with RGBD Camera (Depth → Map)

Problem: GPS-denied mapping using onboard depth sensing.

What I built: ROS pipeline from depth → point cloud → mapping + tuning for stability.

Why it matters: Enables reliable autonomy and inspection without external infrastructure.

UAVRealSenseROSMapping
Last update icon

Multi-agent obstacle-avoidance simulation framework

Problem: How can multiple robots maintain safe, coordinated motion in dynamic and crowded environments without relying too heavily on a single leader?

What I built: A ROS1/Gazebo/C++ multi-agent simulation framework inspired by reciprocal collision avoidance for cooperative robot navigation.

Why it matters: It built my foundation in swarm robotics, decentralized avoidance, and scalable multi-agent system design.

AMRLidarROS1C++
Last update icon

AMR Navigation + Task Planning with Behavior Trees

Problem: In warehouse environments, task execution can become hard to debug and maintain as the number of states, exceptions, and recovery behaviors grows.

What I built: A behavior-tree-based task planner in C++ to make execution logic modular (clear node responsibilities) and easy to extend with recovery/fallback behaviors.

How I validated it: Used Groot for real-time visualization and monitoring of task status, and integrated navigation with move_base_flex to support flexible planners/controllers and safer motion execution.

Impact: More transparent task status, faster debugging, and a more maintainable autonomy stack for real deployments.

AMR Behavior Trees Task Planning move_base_flex ROS C++
Last update icon

Multi Robots Navigation ROS Noetic and Gazebo

Problem: What happens when one robot is no longer enough? The jump from single-robot navigation to multi-agent systems is where robotics becomes far more realistic—and far more challenging. Managing multiple robots in ROS1 means handling separate topics, namespaces, and control flows without interference.

What I built: I built a dual-TurtleBot3 navigation project in ROS1 using C++, Gazebo 11, and Ubuntu Focal, where two different robots operate in the same simulated environment. The core focus was creating a clean multi-agent structure by properly separating each robot’s topics and navigation stack.

Why it matters: This project gave me the hands-on foundation for future multi-agent robotics systems. It was an early but essential step toward scalable robot coordination, where the real challenge is not just motion—but architecture, communication, and system reliability.

Obstacle-AvoidanceMultiagentROSRealTime