My Deeds
All the stuff that I have done over the years
-
Education
- M.S. Robotics and Autonomous Systems (Aug 2019 - May 2021)
Arizona State University, Tempe, AZ - B.E. Electronics and Telecommunication (June 2015 - May 2019)
University of Mumbai, Mumbai, India
- M.S. Robotics and Autonomous Systems (Aug 2019 - May 2021)
-
Skills
- Design/Modeling Tools: MATLAB/Simulink | ROS | CCStudio v3.3 | Visual Studio 2019 | Webots | LaTeX | Blender | Meshlab | UML | RTMaps
- Programming: Python | C | C++ | C# | Git | Bash | CMake | HTML | CSS | YAML | JSON | Xcode | Docker | Codesys
- Libraries: Numpy | Scikit-learn | PyTorch | Tensorflow | Keras | OpenCV | OpenNI | Open3D | Point Cloud Library (PCL) | Boost
- Operating Systems: Linux | Windows 10 | MacOS
- Technologies: Ouster LiDAR OS0 and OS1 | SBG Ellipse and Apogee IMUs | IFM CR711 PLC | Orbbec Astra Embedded S | Astra SDK | Intel RealSense Depth Camera D455 | Intel RealSense SDK 2.0 | Azure Kinect DK | Denso VP-6242 | Yaskawa HC10XP | YRC1000 | Motoplus SDK
-
Professional Experience
- Robotics Engineer | COAST Autonomous | Largo, Florida (September 2023 - Present)
- Coordinating with test engineers and technicians to enable smooth AV functioning and testing out system updates
- Creating, modifying and maintaining RTMaps diagrams, assisting developers to seamlessly integrate their packages/libraries and components into the diagrams
- Programming PLCs with Codesys for interfunctioning and intercommunication of various devices on vehicle for autonomous driving
- Working with Ouster LiDAR sensors and SBG IMUs for Obstacle Detection, Localisation, Path Planning and Ground Removal
- Debugging software and hardware related issues pertaining to in-house vehicles and client provided vehicles such as Polaris ProXD
- Ensuring functional CAN bus communication between vehicle ECU and devices such as sensors, actuators, computers, HMI and PLC
- Computer Vision Engineer | Sensory Robotics | Cincinnati, Ohio (June 2021 - April 2023)
- Developed modules implementing Computer Vision techniques with Point Clouds, Voxel grids and 3D meshes to create robust and reliable collision-avoidance system for various industrial robotic arms
- Used 3D pose estimation with ArUco markers for aligning multiple RGBD cameras and merging point clouds
- Deployed multi-threading in C++, and applied multiprocessing in Python3 for integrating multiple cameras, parallel computing and optimizing system performance
- Validated developed C++ modules using unit testing using GoogleTest testing framework and built system using CMake
- Worked in team as well as solo to design and create GUI, and used multiprocessing for integration with other developed modules which were created with Object-Oriented Programming (OOP) principles
- Carried out robot kinematics and motion planning simulations for testing out CA system
- Used unit quaternions for simulating computer graphics for visualization purposes
- Worked and successfully tested our system with various robot arms and their SDKs to validate simulations and enhance system performance
- Graduate Researcher | ACS lab, Arizona State University | Tempe, Arizona (May 2020 - June 2021)
- Researched on robot swarm foraging algorithms and the role of reinforcement learning in the same
- Conducted experiments with object detection and domain randomization using model cars and benchmarked their effect
- Arizona State University, Tempe: Graduate Student Assistant (Feb 2020 - May 2020; Jan 2021 - May 2021)
- Taught students implementation of numerical analysis concepts in MATLAB and graded midterms
- Assisted students with classical control theory; graded assignments and midterm
- Project Intern | Bhabha Atomic Research Centre (B.A.R.C.) | Mumbai, Maharashtra (June 2018 - April 2019)
- Devised ways to control and monitor drive system and programmed Texas Instruments controller TMS320F2812 accordingly
- Deployed TCP/IP protocol for data transmission, CCStudio for controller designing and MS Visual Studio (C#) for GUI development
-
Worked in team to design PI controller system using TMS320F2812 and achieved following goals:
- Conversion of varying input AC voltage to constant and reliable output DC voltage
- Creation of full-fledged self-tuning closed loop feedback system using PID controller
- Providing stability to model power system in any kind of emergencies or failures
- Decrease time taken for output responses
- Robotics Engineer | COAST Autonomous | Largo, Florida (September 2023 - Present)
-
Projects
- Computational Geometry algorithm implementations in C++ (WIP) (C, C++, CMake, GoogleTest) (February 2023-)
- Using various C++ and OOP concepts to implement algorithms related to computational geometry, graph theory and artificial intelligence
- Applying advanced C++ concepts such as templates and smart pointers for making the code smart, easy to debug, and memory-safe
- Creating and maintaining good file structure and using CMake for building the system properly
- Conducting unit tests using the GoogleTest framework
- Generating 2D and 3D graphics with OpenGL (C, C++, OpenGL, GLFW, GLSL, GLAD, stb, Visual Studio) (June 2023-Aug 2023)
- Using OpenGL, GLFW and GLAD to generate 2D and 3D graphics, develop and implement shaders and study OpenGL concepts
- Successfully implemented 2D graphics while working to implement 3D graphics, camera, lighting, specular maps, meshes and models
- German Street Signs Predictor (Python, Numpy, Sklearn, Keras, Tensorflow) (Dec 2021-Dec 2021)
- Created CNN models for image prediction in 3 different ways: Sequential, Functional and Class Inheritance
- Trained, validated and tested created models using GTSRB dataset
- Tweaked models as well as used Image Data Generator/Preprocessor on data to optimize predictor performance
- Deployed trained model on a single image predictor and achieved ~98% accuracy
- Pursuit Evasion game using SLAM (ROS, Gazebo, Rviz, OpenCV, Python, XML, Linux) (Mar 2021 - May 2021)
- Created ROS controller node to navigate Turtlebot3 Burger robot through series of points using path-planning
- Modified robot's urdf file to include camera, and observed camera feed through Rviz
- Implemented SLAM using gmapping package to map simulated world for navigation and 3D obstacle avoidance
- Developed node for robot to pursue an evading human target in generated maps using machine learning, computer vision, bounding box and localization information
- Camera Modeling and Stereo Depth Sensing (Python, OpenCV, Bash, PCL, Linux) (Jan 2021 - Feb 2021)
- Performed calibration of pinhole camera model, calculated camera intrinsic parameters
- Successfully stereo calibrated and rectified ELP synchronized stereo camera system
- Executed sparse depth triangulation by using ORB feature detector and BF(Brute-Force) matcher, optimized triangulation using non-maximal suppression and eliminating false matches
- Accomplished dense depth triangulation by using StereoSGBM (Semiglobal Block Matching) algorithm
- Neural Art Style Transfer (Python, Pytorch, Jupyter Notebook, Anaconda) (Mar 2021 - April 2021)
- Designed and Implemented Neural Art Style Transfer using a VGG-19 CNN augmented by custom style and content layers according to "A Neural Algorithm of Artistic Style" by Leon A. Gatys et al.
- Robot swarm foraging using VP Algorithm (Webots, Python, C, E-puck, MATLAB) (Aug 2020 - Nov 2020)
- Designed Braitenberg vehicle-based robot controller for obstacle/collision avoidance
- Modeled and simulated 2 foraging algorithms in Webots, Virtual Pheromone algorithm and Random Walk
- Studied population transitions using Stochastic Mean-Field theory
- Mines vs Rock detector using Machine Learning (Python, Scikit-learn, Pandas) (Jan 2020 - May 2020)
- Deployed Multilayer Perceptron (MLP) Classifier and Principal Component Analysis (PCA) on a given dataset for mine vs rock classification for submarine to safely traverse ocean
- Achieved 94% accuracy and extracted confusion matrix to analyse detector performance
- Genuine vs Counterfeit dollar bill classifier using Machine Learning methods (Python, Matplotlib, Scikit-learn, Pandas, Seaborn)
(Jan 2020 - May 2020)- Analyzed given dataset, determined the best features for classification, and used following machine learning methods to classify the data: Perceptron, Logistic Regression, Linear SVM, Decision Tree, Random Forest and KNN
- Used numpy, pandas, matplotlib, scikit-learn and seaborn python libraries to perform matrix operations, read CSV files, create heat map and pair plot in order to identify best features for classification
- Robotic Arm Simulator (MATLAB/Simulink, MATLAB App Developer) (Aug 2019 - Dec 2019)
- Developed interactive GUI modules to simulate modeling and control of KUKA robotic arm to carry out operations such as forward kinematics (DH parameters), finding robot arm's 3D workspace, inverse kinematics, differential kinematics, inverse differential kinematics, and manipulator dynamics and control
- Pi Clock (Raspberry Pi 3, Python) (Jan 2018 - May 2018)
- Worked in team to make Pi Clock which displayed time, weather and current location using Raspberry Pi 3 Model B. Through it we learnt how to borrow and utilise libraries and custom files, using Raspberry Pi and Python programming
- Object Following Backpack (Welding, Sawing, Filing, Electronic Circuit Design, EasyEDA) (June 2017-December 2017)
- Worked in team to make object following robot working on 12.6V car battery which carried load such as backpack and followed IR source held by leader
- Computational Geometry algorithm implementations in C++ (WIP) (C, C++, CMake, GoogleTest) (February 2023-)