Portfolio

Orientation Tracking (Click Here!)

The objective of the project is to track the orientation of a rigid body given sensor measurements by performing projected gradient descent and to generate a panorama by linking camera readings with rotations based on timestamps.

LiDAR-Based SLAM (Click Here!)

The core aim of this project was to implement Simultaneous Localization And Mapping (SLAM) utilizing data from various sensors, including IMUs (Inertial Measurement Units), Encoders, Lidar, and RGBD cameras. My approach involved executing Dead Reckoning with the assistance of IMU and Encoder data to estimate initial trajectories. I enhanced these estimations through the application of the Iterative Closest Point (ICP) algorithm on Lidar data, followed by the integration of factor graphs to refine my trajectory predictions further. Utilizing the refined trajectories, I generated Occupancy Grid maps and Texture maps. The texture maps effectively correlate pixel colors captured by the camera to locations within the global map, providing a robust framework for robotic navigation and environment interaction.

Visual-Inertial SLAM (Click Here!)

The primary objective of this project was to develop a visual-inertial simultaneous localization and mapping (SLAM) system using an extended Kalman filter (EKF). I utilized synchronized measurements from an inertial measurement unit (IMU) and a stereo camera, alongside the intrinsic camera calibration and the extrinsic calibration between the two sensors. The approach began with the implementation of the prediction step of the EKF to estimate motion and trajectory. Following this, I implemented the update step of the EKF to refine the initial estimates of landmark locations. Finally, I integrated both steps to achieve a fully functional VI-SLAM system using the EKF.

Dynamic Programming (Click Here!)

This project involved developing an optimal navigation policy for an environment using Dynamic Programming. The task required implementing the algorithm to function effectively in both known and unknown environments.

Motion Planning (Click Here!)

The overall objective of this assignment was to find valid paths from a starting point to an endpoint in a variety of environments. The project 1) implements a collision checker to ensure your path does not collide with any obstacles, 2) implements a search-based algorithm to find a path, and 3) implements a sampling-based algorithm to find a path.

Infinite-Horizon Stochastic Optimal Control (Click Here!)

The main objective of the project was to implement algorithms that will derive optimal control policies for a differential drive vehicle to trace a given trajectory. The two algorithms that I explored in this project were receding-horizon Certainty Equivalent Control (CEC) and Generalized Policy Iteration (GPI).