Sep 2017- Present
AUTONOMOUS LEAD | MOTION PLANNING AND CONTROLS, DEEP ORANGE 10
Deep Orange is hands-on project-based learning focused on systems integration and innovation sponsored by Ford Motor Company. As the Motion Planning and Controls lead for the project, my responsibilities include but are not limited to:-
•Perception, Planning & Control Development - Leading development of autonomous software stack for L4 Autonomous Vehicle, towards Lane Keeping, user selected Autonomous Parking, parking spot detection, and planning in any orientation. Integration with Powertrain, Human Machine Interface, and Vehicle Dynamics teams.
• Motion Planning & Control Software - Developed motion planning pipeline in C++/Python implementing Mission Planner, modular Behavior Tree, Hybrid State Astar and S-curve based Trajectory generation, and Stanley/Pure-Pursuit based hybrid lateral control. Simulated on Gazebo, followed by Golf cart testing and DO-10 vehicle testing.
• Autonomous Systems Integration - Sensor and hardware integration with NVIDIA DrivePX2, Velodyne LIDAR's, Cameras, GPS, IMU's and dSPACE MicroAutoBox II on ROS framework utilizing CAN and Ethernet communications.
Jul 2015 - June 2017
SENIOR ENGINEER - CONTROL STRATEGIES, BAJAJ AUTO LTD.
Bajaj Auto Ltd is one of the biggest two wheelers and three wheelers OEM in the world. As part of the Control Strategies team working on developing in-house Automated Manual Transmission, I worked on a lot of algorithmic and hardware testing, including:
• Algorithm Validation and Diagnostics - Responsible for developing algorithms in C to validate and diagnose Automated Manual Transmission's control strategies and associated hardware having production level variations. Post processed the data using MATLAB to plot trends and come up with thresholds for maintenance and performance vitality.
• Electronic Throttle Control's (ETC) Development - Tuned and improved the ETC feedback map using diagnostics data. Co-developed the ETC feedback-feedforward control algorithm for improved steady state and transient control.
ALGORITHM DEVELOPMENT AND TESTING
C++, C, Python & MATLAB
With experience in programming from undergrad to writing production-ready diagnostics code in C at work for two years, and finally to masters where the coding skill expanded to C++, Python, and MATLAB for various projects.
Classical, Modern and Optimal
The theoretical underpinnings in classical, Modern and Optimal Control are fortified with my work at BAJAJ tuning the throttle control, dealing with system inaccuracies, developing and testing control algorithms. Also, implemented Model Predictive control for various projects at CU-ICAR.
Worked in Cross functional teams
The systems approach to learning and working was introduced to me at undergraduate Formula Student team and was further refined at Deep Orange where I led the Autonomous Driving Team and integrated with other teams like Human Machine Interface, Powertrain, Vehicle Dynamics. The know-how of how to thrive in a team environment, and the influence of communication.
PLANNING WITH DYNAMIC OBSTACLES
Developed a local planner based on Anytime Astar to do dynamic obstacle avoidance based on prediction. Implemented multithread planning & control to simulate real-world driving.
MODEL PREDICTIVE GUIDANCE OF AUTONOMOUS VEHICLE
Co-implemented non-linear MPC for obstacle avoidance and lane change on highways using ACADO for varying road friction cases. Achieved run-time of 20-50 ms with an Intel® Core™ i7.
AUTONOMOUS F1/10TH CAR
Implemented Adaptive Cruise Control and Lane Keeping algorithms on Traxxas F1/10th car using MATLAB. Successfully tested V2X communication for traffic handling using UDP.
ROBOT PLANNING & CONTROL
Developed algorithms to plan and control a Wheeled Mobile manipulator motion using Pseudo inverse, Auxiliary constraints and Artificial potential in both Task space and Joint space, simulated in V-REP.
SELF DRIVING CAR ENGINEER NANODEGREE
Implemented NVIDIA’s End to End learning for Autonomous Driving around a track using Keras. Utilized center lane driving, left to right recovery data, flipping images, and left and right camera data for a robust training data.
TRAFFIC SIGN CLASSIFIER & ADVANCED LANE FINDING
Modified LeNet's architecture to achieve 96.2 \% test set accuracy for Traffic sign detection. Used distortion correction, perspective transforms, color transforms, and gradient thresholding to identify lane lines.
OBJECT DETECTION, ESTIMATION & LOCALIZATION
Used OpenCV feature extraction & linear SVM in scikit-learn to identify and track vehicles with 99.07 % validation accuracy. Fused LIDAR and RADAR data in C++ using EKF and UKF for Non-Linear models. Designed particle filter to probabilistically localize within a Map.
Develop path planner in C++ achieving environmental prediction, maneuver selection, and trajectory generation for highway driving based on a finite state machine, and tested in UDACITY's simulator.
VEHICLE CONTROL USING MODEL PREDICTIVE CONTROL & PID
Build & optimized a Model Predictive Control in C++ using ipopt solver \& proportional-integral-derivative controller to follow a target trajectory around a test track.