Lidar Odometry on Pointcloud Maps

This project aimed at developing a robust algorithm for lidar based localization on a pre-made pointcloud map.

Pose estimation is done by registering the features from the current scan with the map using the registration technique proposed in FLOAM. To tackle drift in odometry, local bundle adjustment (keyframes window size 100) and loop closure (reference from Scan Context ) are used.

The average computational time per scan is approximately 50ms and root mean squared error (on our data) in position is 0.0135 metres and orientation is 0.03 degrees (x-y-z, roll-pitch-yaw) . The video shows a demo on our dataset.

Project website - https://sites.google.com/iiitd.ac.in/iiitd-alive

Libraries / Softwares - PCL, ROS, GTSAM

Hardware - VLP-16 Lidar, Mahindra E2O Car, Intel Nuc i7

Autonomous Navigation of Drone with Cable Suspended Payload

An autonomous navigation pipeline for quadrotor with a cable suspended payload using Octomap, Kinodynamic A* Planner and spherical collision model for payload.

Used Kinodynamic A* Planner with an extra collision check for payload. Used spherical collision model of payload and drone to ensure collision free path for the entire system.

The payload pose estimation was done using Aruco Markers and a downward facing camera mounted on the drone. B-Spline optimization was performed for smooth and collision free trajectory generation.

Code - https://github.com/deepak-1530/Drone_SuspendedPayload_Navigation

Libraries / Softwares - ROS, Gazebo, PX4 Firmware, OpenCV, Octomap

Quadrotor Motion Planning using A* algorithm with Octomap and BSpline Optimization

An autonomous navigation pipeline for quadrotor navigation using octomap for mapping the environment and b-spline trajectory optimization.

Used Octomap to create a global occupancy map of environment and used this map with current drone position to generate a local window Euclidean Distance Map around the drone for path planning and optimal trajectory generation.

A Kinodynamic A* Planner (reference for planner) was used for generating waypoints and B-Spline trajectories were generated by performing a non-linear optimization using gradient-based optimization techniques.

Code - https://github.com/deepak-1530/FastPlannerOctomap

Libraries / Softwares - ROS, GAZEBO, PX4 Firmware, NLOPT

Hardware / Sensors - Realsense D435i, Pixhawk 4, Quadcopter, Intel NUC i7

Multi-feature Visual Inertial Odometry

Added SIFT, SURF features alongisde FAST Corners in the original SVO implementation to ensure sufficient feature count for accurate pose estimation. Also added a weightage methodology for dynamically assigning weights (preference) to a particular feature for estimating pose. This was done by keeping a track of loss of features of each kind.

Used Realsense T265 camera (only left camera) with in-built IMU for the implementation. Achieved a performance of 18 FPS on an i7 machine (with local bundle adjustment).

Libraries / Softwares - OpenCV, G2O, ROS

Hardware - Intel Realsense T265

Stereo-vision Based Road Semantic Segmentation and Localization for Self Driving Car (Bachelor's Thesis Project)

Worked in a team of 4 students for depth aided road semantic segmentation and outdoor odometry for my bachelor's thesis project.

Developed a road segmentation algorithm by fusing (using Conditional Random Fields) the output of an image semantic segmentation model with the ground plane mask obtained using a V-disparity map. Synchronized stereo images (from KITTI dataset) were used and fusion of texture and depth information led to robustness in case of varying lighting and textures.

Also developed a Stereo Visual SLAM algorithm (based on ORB-SLAM) by adding geometric constraints (road plane and road boundaries) for localization and mapping in outdoor scenes (link to thesis).

Libraries / Softwares - Opencv, Tensorflow, ROS

Ground Plane Optimized Stereo Visual Odometry

Developed a stereo visual odometry algorithm with additional ground plane constraint in the bundle adjustment for pose and map optimization.

Ground plane estimation using V-Disparity algorithm was done and the boundary points for the ground plane were extracted in each keyframe. Only boundary points were used to ensure real-time performance of the approach. Benchmarked results on KITTI dataset.

Paper on this got accepted at Conference on Advances in Robotics, 2019 (Link to paper).

Libraries / Softwares - OpenCV, ROS

AIR2019_PaperID_170.pdf

ARES Rover - Perception, State Estimation and Electronics

Worked as a member of Software Team of ARES Robotics Team. Developed state estimation and mapping pipelines of the rover autonomy stack.

Implemented Extended Kalman Filter algorithm for fusing GPS, IMU and RGBD Odometry data for accurate pose estimation.

Developed local occupancy and euclidean distance mapping algorithm for autonomous navigation of the rover. Used V-Disparity for ground plane segmentation.

Also worked on motor driver and other sensor interfacing with the on-board microcontroller.

Libraries / Softwares - Tensorflow, ROS, OpenCV, PCL, Arduino

Hardware - Rover, Motor Drivers, Intel Realsense D435i camera, Stereo Camera setup Jetson Nano


Image Thresholding using Vortex Search Optimization with Otsu Cost Function

Worked in a team of 3 students to develop a fast and accurate multi-level image thresholding algorithm based on Otsu inter-class variance cost function.

Used Vortex Search Algorithm for optimization of the Otsu cost function. Achived 10x better thresholding performance (higher inter-class variance) in comparison to the state-of-the-art methods. Also, the computation time per image reduced to approximately one-tenth of baselines (link to paper).

Libraries / Software - MATLAB

Underwater and Sandstorm Image Enhancement

Worked in a team of 6 students to develop a color correction and image enhancement algorithm for underwater and sandstorm images.

The proposed method consists of 3 steps - Color Correction using a linear weighted transformation that restores the original colors of the image, Constrast Enhancement using Histogram Stretching and finally Unsharp Masking to enhance edges and textures (link to paper).

Libraries / Softwares - MATLAB

NSIT Solar Car Project

Worked Electrical Team member of NSIT Solar Car Team on Phoenix-1 Car.

Developed vehicle circuit design on Eagle CAD, worked on 18650 Li-Ion battery and battery management system.

Worked on sensor interfacing for vehicle telemetry system and designing various circuits like dimmer headlights.

Libraries / Softwares - Arduino

Hardware - BLDC Motor, 18650 Li-Ion Cells, 555 Timer IC, Arduino Uno

RFID Based Attendance Management System

Developed an attendance management system using Radio Frequency Identification (RFID) and used SQL for database management.

Used ATMega16 microcontroller for the project and interfaced RFID module for attendance recording. Also used a Real Time Clock IC (DS1307) for recording the date and time of the attendance.

Used SQL for attendance database management.

Library / Softwares - Arduino, SQL

Hardware - RC522 RFID Module, DS1307 IC, ATMega16