Nice to meet you!
I'm Jeffin Johny.
Welcome to my digital portfolio. This is where I showcase all the cool stuff that I have
enjoyed working on recently and I share a little bit about my personal life too..
Based in the US, I am a Robotics Software and Hardware Developer.
With a strong focus on perception, controls,
sensor fusion, and planning related applications,
I am constantly exploring new ways to contribute.
SKILLS
Python
C++
ROS
Deep Learning
Arduino
Perception
Pytorch
Solidworks
Controls
Matlab
SLAM
Path Planning
EDUCATION
NIT Calicut,India
- Bachelor of Technology - BTech, Mechanical Engineering
- 2016 - 2020
- Grade: 76.2% (First Class)
- Relevant Courses:
Automobile Engineering, CAD/CAM , Manufacturing and Machine Design, Statistics, Control Systems
University of Maryland, College Park
- Master of Engineering in Robotics
- Aug 2021 - May 2023
- GPA: 3.95
- Relevant Courses:
Robot Modeling, Control of Robotic Systems, Planning, Perception, Fundamentals of AI, Building a Manufacturing Robotic Software, Rehabilitation Robotics, Computer Processing of Pictorial Information, Hands-On Aerial Robotics
PROJECTS
First Principles of Computer Vision
Numpy Pytorch
Developed various computer vision projects, such as Image Stitching, Corner Detection, Stereo Vision, Feature Tracking, Superpixel Segmentation, and Structure from Motion to name a few, using vectorized numpy operations without relying on pre-built OpenCV functions. Additionally, implemented CNN for image classification on CIfar-10 and Semantic Segmentation using FCN 32 model with VGG 16 as backbone.
ARIAC
C++ ROS
This project addresses agility challenges in kitting and assembly by developing a strong control system architecture to efficiently handle them. The competition includes various agility challenges such as the inclusion of faulty parts, sensor blackout, part flipping, and high priority orders. Final implementation includes ARIAC interface, ROS/C++ programming, TF library, trajectory planning with MoveIt, and strategies for handling agility challenges in different scenarios.
Anomaly Detection in Videos
Pytorch Seaborn
A weakly-supervised generative approach improved video anomaly detection by generating pseudo video features. A Multi-Task Variational Auto-Encoder was used to generate these features, which were shown to improve the performance of a model, even if it's a simple network with only MLPs. The Robust Temporal Feature Magnitude framework was augmented using these pseudo features and increased performance from 95.86% to 96.85%.
LQR and LQG control on double pendulum
matlab
LQR controller was developed for a crane suspending two masses to minimize oscillations. The equations of motions were determined, the dynamic model was linearized, and the controllability and observability checks were conducted. Then, a Kalman filter was deployed for state estimation, and a LQG controller was implemented.
Image and 3D cube superimposition
python opencv
This project tracks the corners of AR tag and decode it to identify the orientation of tag and warp an image over the tag using the concepts of projective geometry and homography. A virtual cube is also projected over the tag using the concepts of projection and calibration matrices. No inbuilt OpenCV functions were used for main functions.
Impedence Control on Anklebot
python matplotlib scipy
This project validates the results of prior works, which utilized an Adaptive Impedance Control strategy for assistive-resistive robot-aided therapy using Anklebot. The proposed enhancements reduced ankle trajectory jerk motion by modifying the cost function of position and actuator torque. Additionally, the system's back-drivability was enhanced through the implementation of force feedback.
Urban Search and Rescue
C++ ROS
This project uses ArUco markers to represent victims and deploys two turtlebot3 robots, the explorer and the follower, to locate and retrieve them. The map is created beforehand using gmapping package. The robots are controlled using move_base package and the follower visits ArUco markers in order of increasing tag IDs to rescue them.
Lane Detection
Python opencv
This project detects lanes on straight and curved roads using classical approach of computer vision to mimic Lane Departure Warning System in self-driving cars. Concepts of homography, polynomial curve fitting, hough lines, warping, and unwarping have been implemented. The turning direction is predicted by computing radius of curvature.
A* on Turtlebot3
python ROS
A* path planning was implemented in ROS, defining the environment with static obstacles using the half-plane method. The nonholonomic constraint imposed by the Turtlebot3 was incorporated during path planning, and the robot was navigated to a specific destination using an open-loop controller. The algorithm was tested on an actual Turtlebot3, traversing the map in real world.
More Projects
WORK EXPERIENCE
Graduate Research Assistant
ROS, Arduino, C, Ardupilot
UMD | (09/22 – 05/23)
- Developed quadrotor for NIST's First Responder Indoor Challenge (UAS 4.0), winning the competition.
- Implemented obstacle avoidance using Time of Flight sensors for safe navigation.
- Assisted in optimizing flight controller settings and manufacturing process.
Research Assistant for SPOT
ROS, C++, Python
UMD | (01/23 – 05/23)
- Integrated ROS packages for localization on Spot robot dog for autonomous outdoor navigation.
- Utilized a suite of advanced sensors including GPS, IMU, LiDAR, and stereo cameras.
- Investigated various sensors (LiDAR, Radar) and developed algorithms for contactless vital signs detection for triage.
CONTACT
I would love to hear about your project and how I could help. Please fill in the form, and I'll get back to you as soon as possible.
home
Sunnyvale,
California, United States