Adithyakrishna Venkatesh Hanasoge

I am a Robotics Master's student at UPenn (University of Pennsylvania) in Philadelphia, where I work on Computer Vision, Perception, SLAM, Deep learning and Planning.

Feel free to take a look at my Resume and drop me an e-mail if you want to connect with me.

Email  /  Resume  /  Linkedin  /  Github

profile photo



Projects


Object Detection and Image Segmentation
2022

In this project, different Object Detection and Image Segmentation algorithms were explored and implemented from scratch. The algorithms include YOLO, SOLO and Faster R-CNN with Mask R-CNN.

Object Detection YOLO
Instance Segmentation Faster-RCNN with Mask-R-CNN
Instance Segmentation SOLO



FreeDAS
2022

FreeDAS
ADAS Tracking with DeepSORT

FreeDAS is an open-source project developed for our Computer Vision & Computational Photography course as a final project. The goal of this project is to enable old vehicles with no access to driver assist functionalities with a vision-based driver assist system using webcam footage. This is now an initial proof of concept and the above features have been implemented, with special techniques to enable faster computation.



NeRF
2022

NeRF

In this project, the goal is to represent a 3D scene in a convenient and compact way, to be later used for rendering 2D images. A 3D scene can be considered a set of points that contain color and density. Though every fixed point in the scene has a fixed density, that’s not the case with the color. Each point can have a different color depending on the viewing direction if we assume the surface to be non-Lambertian.

Orienation Tracking using Unscented Kalman Filter
2022
Code: UKF

In this project, we implemented an Unscented Kalman filter to track three dimensional orientation.
From the given IMU sensor readings, the 3D orientation was estimated by learning the appropriate model parameters from ground truth data given by a Vicon motion capture system.



Pick and Place Challenge - Franka Panda Arm
2021

Video

The Pick and Place challenge is to stack static and dynamic blocks by a 7DOF Franka Panda Arm using ROS and Python. Our team won the Pick and Place knockout challenge at UPenn stacking the highest stack of static and dynamic blocks.
In the video above which is from the Finals of the competition, my team is the Blue team.



3D Reconstruction using Multi-View Stereo
2022

GitHub

In this project, we were provided with multiple images of a particular scene, and we aimed to reconstruct the 3D point cloud of the scene using two algorithms.
The first algorithm, Two-View Stereo, involved generating a disparity map using various distance metric kernels such as ssd, sad, and zncc. This disparity map was used to determine the depth map of the scene. The second algorithm, Multiview Stereo, involved constructing a cost volume by stacking depth cost maps obtained by projecting the reference view and the warped neighboring view using homography. This cost volume was then used to obtain the depth map of the scene. Overall, our goal was to accurately reconstruct the 3D point cloud of the scene using these two algorithms and the multiple images provided to us.



3D Path Planning for CrazyFlie Quadrotor
2022

Code
Video

In this project, I developed a trajectory generator and controller for a CrazyFlie Quadrotor, enabling it to navigate through an obstacle-cluttered environment and reach its goal safely. To accomplish this, I utilized two popular algorithms, Dijkstra's and A*, to generate an optimal path, avoiding obstacles in the path. After obtaining the optimal trajectory, I implemented a Geometric Non-linear controller algorithm to ensure that the quadrotor followed the predefined path and avoided any potential collisions with the obstacles in the environment. The trajectory was further smoothed for better accuracy. To obtain the 3D pose of the quadrotor, I fused the IMU and stereo pair information using an Error State Kalman Filter (Visual Inertial Odometry). This enabled me to accurately estimate the quadrotor's position and orientation in real-time. During the lab, the CrazyFlie 2.0 was used for realistic demonstrations. The quadrotor's low-level control and estimation were managed by a microcomputer, while the onboard IMU provided feedback of angular velocities and accelerations. The attitude and thrust commands were computed in Python and sent to the quadrotor via the CrazyRadio.



SLAM on Humanoid
2022
Code

Implementation of a Particle filter based SLAM Algorithm for the THOR Humanoid Biped. The IMU orientation and odometry data gathered from 2D LiDAR scans of a bipedal robot were combined to generate a 2D occupancy grid map of the surrounding walls and obstacles in our project.



Machine Learning for Drowsiness Detection
2021

GitHub

Used KNN, Logistic Regression, Random Forests, VGG16, Resnet50, and other neural network architectures to detect drowsiness from videos of human beings.
Face Detection using Yolo; Eye and mouth face landmarks extracted using OpenCV



Website creatively modified from the original template by Jon Barron