Hi, I'm Prithwiraj Paul

Competent in
Dynamic Robotics Software Engineer and emerging leader, with a zeal for challenging boundaries in Robotics and a rapid, enthusiastic learning approach

About

As a dedicated Robotics Software Developer with a robust background in both Mechanical and Computer Engineering, I specialize in advancing the frontiers of Motion Planning, Safe Optimal Control, and Visual SLAM. My technical proficiency spans Python, C++, MATLAB, and ROS, underpinned by a strong adherence to software engineering best practices. My journey has led me through significant roles at the Indian Space Research Organization (ISRO), where I gained extensive experience in spacecraft dynamics, designing control systems, and astronaut training simulators. At Symbotic, I made impactful strides in warehouse operational efficiency by developing and implementing innovative real-time trajectory generation algorithms. My work at UC San Diego's Existential Robotics Lab further sharpened my skills and knowledge with NVidia embedded computers, where I played a key role in building a fully autonomous software stack (Planning, Localization and Controls) for a robotic car, incorporating extensive hardware testing and deployment.

I am well-versed in the nuances of Robot Testing, ensuring that my contributions not only meet but exceed performance benchmarks. My expertise extends to applying sophisticated software engineering practices in real-world robotics applications, seamlessly integrating theory with practice. I am passionate about applying my comprehensive skill set in ROS, Deep Learning, and Autonomous Systems design in a challenging full-time role, aiming to drive innovation and efficiency in the dynamic field of robotics.

Experience

Online Trajectory Generation
Bot Controls Software Engineering Intern
  • Developed Real-time Safe Trajectory Planning Software for SymBot - Line Follower Warehouse Automation Robot
  • Utilized SimbaSim Gazebo for visualization and analysis of offline turn profiles, gaining insights into bot-driving behavior
  • Implemented Model Predictive Control for real-time trajectory generation - achieved higher convergence error and longer planning time (> 1 s) Python Libraries used: CasADi, Numpy, IPOPT Solver
  • Executed CBF (Control Barrier Function) - CLF (Control Lyapunov Function) framework to generate real-time safe trajectory through a faster and more efficient Quadratic Programming (QP) formulation (reduced planning time from > 1 s to < 0.3 s)
  • Validated trajectories, achieving over 46% optimization time improvement and 10% reduced turn time versus the baseline method
  • Successfully integrated online turn planning API into Symbot’s path planner software, conducted software development in C++
  • Implemented and executed rigorous unit tests using Google Test, ensuring robust functionality and performance improvement
  • Experienced in working as part of an Agile Scrum team and used Jira for bug tracking and task management and GitLab for software version control
  • Tools: C++, Python, GitLab, Gazebo, Jira, GoogleTest
June 2023 - December 2023 | Wilmington, M.A, U.S.A
Manned Spacecraft Re-entry
Space Scientist, Human Factors Engineering Entity
  • PROJECT 1: Designed active control system that alleviated water impact loads on Crew Module during parachute descent phase of atmospheric re-entry
  • Developed a 6-DOF trajectory simulator in Simulink for a 5-tonne crewed spacecraft simulating the atmospheric re-entry dynamics
  • Successfully implemented a robust Bang Bang controller with Proportional Derivative control action with 100% duty cycle
  • Performed sensitivity studies and achieved a minimum propellant mass of 22 kg (cold gas thruster) for 450 N control force
  • Obtained results show successful execution of Bang-Bang control to achieve the desired orientation at touchdown but call for a high control force and thrust requirement by running in 100 % duty cycle (simulation done in Simulink and MATLAB)
  • PROJECT 2: Designed and Developed Astronaut Training Simulators for India’s first manned mission, Gaganyaan
  • Configured the Static Mock-up and VR simulator defining the end-to-end requirements between the hardware and software modules
  • Realized an on-board computation tool conveying the spacecraft’s attitude in LVLH reference frame for crew situational awareness
  • Developed an autonomous quick touchdown point prediction tool during on-orbit spaceflight achieving a prediction error of < 1%
  • Tools: MATLAB, Simulink
September 2020 - August 2022 | Bangalore, India
Mechanical Engineer Intern, Automotive Aftermarket Division
  • Worked on hardware design changes to improve efficiency of vehicle RAC machine in the Bosch Automotive Aftermarket division
  • Tools: MATLAB, Simulink, SolidWorks(CAD), ANSYS - Structural
May 2018 - July 2018 | Bangalore, India

Projects

Autonomous Navigation
Autonomous NavigationDetails >

Vision-guided Autonomous Navigation using Reinforcement Learning

Accomplishments
  • Skills: Robot Perception, Deep Neural Network, Transformer, CNN, ROS, PyBullet, Hardware-Testing and Deployment, OpenCV
  • Developed a Neural Network model for learning autonomous navigation in Ackermann drive vehicles, achieving over 95% accuracy with a reinforcement learning agent trained in a PyBullet and Stable-Baselines3 simulated environment
  • Executing Sim2Real pipeline for autonomous navigation - Deployed trained RL model using custom C++ ROS node in Nvidia TX2, and benchmarked neural network architectures such as CNN, Transformer, Vision Transformer for image feature analysis
Visual Servoing
Online Camera CalibrationDetails >

Image Jacobian for Improvement of Online Camera Calibration

Accomplishments
  • Skills: Computer Vision, Deep Learning, Pose Estimation, PyBullet, OpenGL, OpenCV, Roboticstoolbox-Python, PyTorch
  • Streamlined camera calibration with Image Jacobian and DREAM Neural Network for pose estimation, and executed PnP with Forward Kinematics using DREAM, camera intrinsics, and joint angles for enhanced camera pose accuracy
  • Utilized Image Jacobian for joint position mapping in virtual camera space with OpenGL for a 7-DOF Panda Robot, and designed a Proportional controller reducing camera angle error by >90% and position error by >95%
Visual Servoing
Visual ServoingDetails >

Image-based Visual Servoing – Tracking a moving object

Accomplishments
  • Skills: Computer Vision, Deep Learning, Pose Estimation, PyBullet, OpenGL, OpenCV, Roboticstoolbox-Python, PyTorch
  • Using Image Jacobian to get the desired end-effector position
  • Proportional controller and Inverse Kinematics to track the desired position
Stochastic Optimal Control
Stochastic Optimal ControlDetails >

Performance Evaluation of Trajectory Tracking Algorithms for Mobile Robots

Accomplishments
  • Skills: Model Predictive Control (MPC), Global Policy Iteration (GPI), Non-linear Control, Python, CasADi
  • Formulated Markov Decision Process; defined Value function, State Space, Control Space, Dynamic and Kinematic constraints
  • Evaluated tracking performance of RHCEC (Receding Horizon Certainty Equivalent Control) and GPI (Global Policy Iteration)
  • CEC: Transformed stochastic OC to deterministic Finite Horizon OC, solved as Non-Linear Program using CasADi solver
  • GPI: Approximated continuous-time system as discrete-time system, used Value Iteration algorithm for optimal control policy
  • Developed a multi-threaded 3-tier Skills-Tactics-Plays architecture for controlling omni-directional robots using ROS
  • Results showed CEC is Robust in real-time while GPI is offline and slower, less noise-sensitive, and discretization dependent
Motion Planning
Motion planning in 3D obstacled environmentsDetails >

Benchmarking Sampling-based and Search-based Motion Planning algorithms in 3D environments

Accomplishments
  • Skills: 3D Motion Planning, A*, RRT*, Heuristic Function, 3D Graph-search, Data Structures and Algorithms, Python
  • Implemented a collision-checking mechanism for a robot’s safe navigation in 3D maze-like environments towards the goal
  • Implemented and assessed weighted-A* and RRT, RRT* algorithms for the robot’s goal-reaching performance
  • RRT achieved 30% faster and more memory-efficient performance, while A* showed superior path quality with shorter path
  • Provided insights into expanded nodes, sampling method heuristic selection (Euclidean, Manhattan distance), aiding algorithm selection based on complexity, efficiency trade-offs, and graph creation efficiency in the sampling-based approach
Routing Engine development using Open Street Maps
Routing Engine development using Open Street MapsDetails >

Navigation API development using Open Street Maps

Accomplishments
  • Skills: Motion Planning, A* algorithm, Data Structures and Algorithms, C++, Unit Testing, Software Development, CMake
  • Crafted and deployed a C++ navigation API using OpenStreetMap data, significantly enhancing real-time route planning
  • Enhanced navigation accuracy and performance by implementing the A* algorithm through effective API integration
  • Conducted extensive unit testing with Google Test for high-precision vehicle positioning using RTK GPS system integration
Indoor SLAM
Indoor SLAM - Autonomous CarDetails >

ROS-Based Indoor SLAM and Mapping on Nvidia Xavier Autonomous Racecar

Accomplishments
  • Skills: ROS, Hardware Integration and Testing, Sensor Fusion, SLAM, Point Cloud, OctoMap, Voxel Mapping, C++, Gazebo
  • Used ROS, Intel RealSense, and Hokuyo 2D Lidar: Conducted hardware calibration and testing; verified functionality in Rvi
  • Utilized Hector mapping with lidar data and generated real-time 2D occupancy grids; created octomaps using Octomap ROS package and point cloud and voxel maps using Voxblox , enhancing sensor fusion and data integration
  • Utilized Gazebo Car Models and RealSense: Enabled detailed testing and texture mapping for efficient robot path planning
Visual Inertial SLAM
Visual Inertial SLAMDetails >

Visual Inertial SLAM using Extended Kalman Filter (EKF)

Accomplishments
  • Skills: VSLAM, Kalman Filter, Sensor Fusion, IMU and Camera Calibration, SE(3) Kinematics, Map Accuracy, OpenCV
  • Conducted sensor fusion for data synchronization between IMU and stereo camera, implementing EKF for real-time positioning and orientation updates of autonomous car pose using SE(3) kinematics and landmark locations
  • Analyzed motion and observation model noise sensitivities, achieving 95% environment mapping accuracy through simultaneous car pose and landmark correction using observation model Jacobians
Particle-Filter SLAM
Particle Filter SLAMDetails >

LiDAR-based Particle Filter SLAM

Accomplishments
  • Skills: Indoor SLAM, IMU and Camera Calibration, Sensor Fusion, 2D Occupancy-grid Map, Texture Map, Python
  • Executed LiDAR-based Particle Filter SLAM with Magic Robot, attaining < 5cm localization error and >95% map accuracy
  • Crafted motion model with Encoder, IMU, Gaussian noise, scan-grid correlation for precise robot pose, and occupancy-grid mapping
  • Enhanced mapping and localization with Stratified Resampling, utilized Kinect RGBD camera for accurate texture mapping
sParticle Filter SLAMr
Fast Class-Based Neural Style TransferDetails >

Fast Class-Based Neural Style Transfer (NST)

Accomplishments
  • Skills: Computer Vision, Deep Learning, PyTorch, Semantic Segmentation, RCNN, Encoder-Decoder, Neural Style Transfer (NST)
  • Developed Real-Time Style Transfer Pipeline: Achieved 25 fps on Tesla T4 GPU using a custom 1.64MB Fast NST model
  • Boosted Semantic Segmentation with Fast-SCNN: Achieved 68.0% Mean IoU on Cityscape at 123.5 fps, refining style transfer
  • Optimized Style Transfer Using pre-trained VGG16: Implemented improved content and style loss (Gram matrix) for qualitative style transfer studies on CityScape and PascalVOC datasets
Door-Key Problem
Markov Decision ProcessDetails >

Autonomous Navigation in a Door & Key environment

Accomplishments
  • Skills: Python, Gym AI (minigrid)
  • Dynamic Programming: Utilizes the Dynamic Programming approach to solve motion planning problems in an environment with doors and keys
  • Markov Decision Process (MDP): Models the environment as an MDP, including state space, control space, state transitions, and associated costs
  • Value Iteration Algorithm: Implements the Value Iteration algorithm to compute an optimal policy for navigation
3D Orientation Tracking
3D Orientation Tracking of Rigid BodyDetails >

Quaternion Trajectory Tracking of Rotating body using IMU measurements

Accomplishments
  • Skills: Machine Learning, Trajectory Optimization, IMU Calibration, Sensor Fusion, JAX, JAXNumpy, transforms3D, Panorama
  • Conducted IMU calibration, including raw ADC values conversion and bias correction, ensuring accurate sensor measurements
  • Implemented Machine Learning model with Projected Gradient Descent, optimizing quaternion trajectory using IMU data
  • Constructed a Panoramic image by stitching the RGB camera images over time based on the optimized quaternion trajectory
Phone Detection
Phone DetectorDetails >

Phone Detection Pipeline using Deep Learning (Object Detection)

Accomplishments
  • Skills: Computer Vision, Deep Learning, Machine Learning, PyTorch, OpenCV, RCNN, Git, Version-Control
  • Developed a PyTorch and OpenCV-based phone detection pipeline, achieving >95% accuracy on a labeled dataset using a customized Faster R-CNN model with ResNet-50 backbone and FastRCNNPredictor
  • Performed mini-batch training, with 0.005 learning rate, 0.9 momentum, weight decay, SGD optimizer, and GPU acceleration
  • Achieved >90% detection accuracy on the test dataset by engineering a custom dataset class for efficient data management, including image resizing, normalization, and bounding box extraction for precise phone localization

Teaching

  • Electrical and Computer Engineering, UC San Diego
    • Graduate Teaching Assistant - ECE 276A, Sensing and Estimation in Robotics (Winter 2024)
    • Facilitating student learning in Bayesian filtering, SLAM, Convex Optimization – taught skills in probability, linear algebra
    • Guiding ~140 graduate students in projects and homework focusing on SLAM, Sensor Fusion, Sensor Calibration, and CV
  • Mechanical Engineering, IIT Kharagpur
    • Undergraduate Teaching Assistant - Machine Design (Autumn 2020)

Skills

Languages and Softwares

Python
C++11
MATLAB
Simulink
ROS
Gazebo
RViz
SolidWorks
Ansys

Python Libraries

NumPy
SciPy
Pandas
OpenCV
OpenGL
scikit-learn
matplotlib
PyTorch
Gym
CasADi
PyBullet

C++ Libraries

Eigen
TinyXML-2
PCL
OMPL
OctoMap
OpenCV

Other

Git
Raspberry Pi
Arduino

Operating Systems

Linux
Windows

Education

University of California San Diego

San Diego, United States

Degree: M.S. in Intelligent Systems, Robotics and Control
Department of Electrical and Computer Engineering
GPA: 3.86/4.0

    Relevant Courseworks:

    • Planning & Learning in Robotics
    • Sensing & Estimation in Robotics (SLAM)
    • Robot Manipulation and Control
    • Deep Learning for Computer Vision
    • Probability and Statistics for Data Science
    • Statistical Learning
    • Linear Algebra
    • Linear Systems Theory
    • Software Foundations (C++)
    • Python Programming for Data Analysis

Indian Institute of Technology Kharagpur

Kharagpur, India

Degree: Dual Degree (B.Tech + M.Tech) in Mechanical Engineering
CGPA: 9.24/10

    Relevant Courseworks:

    • Intelligent Machines & Systems
    • Robots and Robotics
    • Soft Computing
    • Robots and Computer Controlled Machines
    • Systems and Control
    • Neuro-Fuzzy Control

Contact