Greetings! I am Vishrut, an enthusiastic in robotics researcher in multi-agent systems and safety-critical controllers. My journey into the fascinating field of robotics has driven me to develop a deep passion for Optimal Control, and Motion Planning. I am eager to collaborate on projects that not only align with these areas of interest but also challenge me to create innovative algorithms to tackle intricate problems.
As a dynamic individual, I thrive in roles that require responsibility and leadership. Throughout my academic journey, I have demonstrated my commitment by organizing various workshops and events, spearheading multiple projects, and representing my college in national tech meets. My dedication to the field also extends to my role as the former Secretary of the Robotics Club during my undergraduate studies.
Education
Master's in Robotics Engineering
Worcester Polytechnic Institute
GPA: 4.00/4.00
Thesis: Estimation-based Safety-Critical control of Multi-agent robotic systems
Bachelor's of Technology in Electronics Engineering
Indian Institute of Technology, B.H.U., Varanasi
GPA: 9.27/10.0
Thesis: 16-bit RISC based Cryptographic Processor
Work
UAV Software Autonomy Intern - Nokia Bell Labs
Jun 2023 - Dec 2023Developed and implemented a cutting-edge hardware-in-the-loop simulation pipeline for drones in the Nvidia Isaac Sim simulator, enabling comprehensive testing of hardware and software functionality.
Optimized the performance of the VIO algorithm to improve the drone’s localization accuracy.
Software Engineer - Microsoft
Jun 2021 - Jul 2022I worked for the Credit Services team, which maintains and transforms all the transactional and customer data based on business requirements using Azure Services. My regular work duties involved data analysis and transformation, meeting with business teams, and developing services for my team to automate alerts and resource management. Apart from data transformation tasks, I automated the deployment process and created an E-mail system for daily alerts.
Firmware Intern - Nvidia Graphics
May 2020 - Jun 2020As a part of this internship, I worked with the design team, which develops system-on-chips (SoCs) for mobile devices and vehicles. I designed a bootloader to copy test executables from RAM to low-latency On-chip Memories. My work enabled the emulation platform to run multiple tests in a single simulation.
Publications
Adaptive Estimation-Based Safety-Critical Cruise Control of Vehicular Platoons
Under Review - Arxiv
This paper presents an adaptive estimation-based control design for adaptive cruise control (ACC) that swiftly estimates the states of the preceding vehicle while operating the autonomous vehicle within a safe region. Control Lyapunov Functions (CLFs) and Control Barrier Functions (CBFs) are employed to design a safety-critical controller that ensures safety despite potential estimation errors. The proposed estimator-controller framework is implemented in scenarios with and without vehicle-to-vehicle communication, demonstrating successful performance in maintaining platoon safety and stability. Additionally, physics engine-based simulations reinforce both the practical viability of the proposed control framework in real-world situations and the controller's adeptness at ensuring safety amidst realistic environmental conditions.
Research Experience
Multi-agent Reinforcement Learning for Collective Transport - NEST Lab
I trained Deep Q-Network and Deep Deterministic Policy Gradient models to achieve multi agent collective transport for environment with 2 obstacles, 4 obstacles and gate opening. I also explored different reward functions, communication schemes, and observation space to have better performance.
Robot Control Research Intern - Dr. Leena Vachhani
My research internship at IIT Bombay gave me a better insight into control systems and applications. My work was focused on control law for non-holonomic chained form systems and exploring different reaching laws for better performance. The research started with improvising the existing 3-dimensional control law to guarantee finite time convergence and using it to achieve autonomous car parking. We also explored the performance difference between linear and powered reaching law. After completing that, we worked on creating a generalized algorithm to calculate the convergence parameters for both the reaching law.
Projects
![Not Candid](./assets/images/drone_traj.gif)
Robust Trajectory Tracking for Quadrotor UAV - github
This project aimed at designing a controller for the Crazyfly quadrotor to follow a square trajectory of 4 meters in 60 seconds. First, I calculated the quintic trajectory for each state for each edge of the square. Then I designed a continuous time sliding mode controller considering the system's dynamics and tested it in a Gazebo simulation.
![Not Candid](./assets/images/driving.gif)
Autonomous Driving using Deep Reinforcement Learning - github
I trained a Deep RL agent using PPO and DQN algorithms to achieve autonomous driving. The agent could drive on the road while avoiding obstacles in the neighborhood environment of the AirSim simulator using Lidar and segmented camera input.
![Not Candid](./assets/images/breakout.gif)
Atari Games using Reinforcement Learning - github
I trained a Deep RL agent using different version of DQN (DDQN, Prioritized DQN, Distributed DQN) to play breakout Atari game. The trained agent was able to reach a score of 90 points with normalized rewards.
![Not Candid](./assets/images/multiagent.gif)
Multi-agent Motion Planning for Non-Holonomic Mobile Robots - Video
We designed and implemented a heuristic-based motion planning algorithm to generate collision-free, dynamically feasible trajectories for multiple mobile robots. The implementation involved conflict-based search (CBS) for A* pathfinding with feasible motion primitives. The algorithm addressed the non-optimality of the prioritized optimization algorithm.
We used ARGoS (swarm simulator) for simulation testing of the algorithms. The designed algorithm outperformed the state-of-the-art in path length and scalability.
![Not Candid](./assets/images/gif_2.gif)
Vision Based Obstacle Avoidance Drone - github
We designed an algorithm derived from the Classical Potential Field Algorithm for a vision-based drone to navigate an unknown tunnel by avoiding obstacles autonomously.
We used SLAM and Octomap to map the observed world. To explore and navigate the tunnel effectively, we maintained a temporary destination calculated based on past values and the drone's movement and used the A* algorithm for path planning.
![Not Candid](./assets/images/horizontal_x.gif)
Position and Velocity Control of SCARA Robot - github
We designed URDF for SCARA(RRP) robot and implemented forward and inverse kinematics services for the end effector. We then used these services to develop a PID controller for position and velocity control.
![Not Candid](./assets/images/img-12.png)
Autonomous Car Parking
In this project, we implemented autonomous car parking using control law. To achieve this, we updated the existing 3-dimensional control law for non-holonomic systems to avoid singularities and handle the disturbances more effectively. We also designed a reaching law that generates states considering the actuator constraints. We then used this controller and reaching law to drive the car to the given position and orientation in minimum time.
![Not Candid](./assets/images/output2.png)
Panorama Stiching - github
Implemented the panorama stiching algorithm which calculates homotopy tranformation between images and then blend them into one single image.
![Not Candid](./assets/images/img-11.png)
Terrace Farming Robot
In Inter IIT Tech Meet 8.0, the problem statement was to design a robot that could autonomously navigate through rugged terrains, climb stairs of 40cm and perform farming tasks like watering, plowing, seeding, etc.
To achieve this, we designed a robot with three independent platforms, which could move vertically, connected through a frame. The middle platform was equipped with farming mechanisms, whereas the other two were responsible for motion. As the problem statement required movement in all directions, we used servos to rotate wheels towards the desired direction.
![Not Candid](./assets/images/img-13.png)
16-bit Cryptographic Processor
This is the project I did as a part of my BTech Thesis. We designed a 16-bit cryptographic processor based on RISC-V architecture in this project. To achieve this, we added 13 new operations to the processor's ALU, created a new instruction set to utilize new operations, and created a new compiler and Assembly Language to generate binary according to the new Instruction set.
We compared the performance of the designed processor with a general process in executing modern encryption and decryption algorithms. Our processor was able to run the AES algorithm with 80 times fewer operations when compared with the RISC-V processor.
Technical Skills
ROS
MATLAB
Azure
ARGoS
Docker
Isaac Sim
Python
C++
OpenCV
SQL
Verilog
Git
College Experience
Teaching Assistant - WPI
9th Inter IIT Tech Meet Contingent Leader - IIT BHU
Technex Co-Convenor - IIT BHU
Robotics Club Secretary - IIT BHU
Honours
Glenn Yee Tuition Award
Received fellowship for research at WPI
IIT Blue
Highest ranked award for contributions to Science and Technology Council 2021
Special Mention
4th Highest ranked award for contributions to Science and Technology Council 2020