I am passionate about working in SLAM and expanding my expertise beyond sensor fusion into SLAM by actively building hands-on experience. To strengthen this transition, I have worked extensively on building a strong foundation through hands-on experience with feature detection and matching, visual odometry, LiDAR odometry, bundle adjustment, loop closure, and graph SLAM with g2o optimization. For example, in one project I integrated these components to evaluate improvements in loop closure detection, applying g2o-based optimization across multiple datasets using ROS2 (Humble) bag files.
A selection of my SLAM-related work, demonstrating these methods in practice, is presented below.
Implemented a visual odometry pipeline for keypoint detection and feature matching.
Developed a dynamic trajectory plotter that expands the visualization canvas automatically to avoid clipping as the trajectory extends.
Enabled keypoint visualization alongside trajectory for detailed analysis using KITTI sequence 08
Estimated (green color) and ground truth (white color) trajectories with average error feedback
Logged pose data for evaluation
Blue arrows representing lidar odometry
Blue Points represent all point clouds accumulated in the map
Green Points represent the Odometry
Yellow Points represent loop closure
Blue Points represent all point clouds accumulated in the map
Green Points represent the Odometry
Logged Poses to the Graph
The graph optimization pipeline is evaluated in three stages:
1: Initial Graph Construction
Initial Graph Construction
Added 57 pose vertices (green) with 56 odometry edges.
Incorporated 172 landmark vertices (blue) and 559 observation edges, resulting in 229 vertices and 615 edges
2: Optimization
Graph structure remains the same (229 vertices, 615 edges).
Positions of poses &landmarks are adjusted to minimize error.
Since only vertex positions are updated, no new log output is generated.
3: Ground Truth Evaluation
Added 57 ground-truth poses (yellow) with 56 edges.
Final graph: 286 vertices, 671 edges.
Track Single Target Object using Kalman Filter
Multi-Object Tracking using Kalman Filter
Track Single Target despite occlusion - Kalman Filter