My Projects

RL Robotic Arm Sim
Robotic arm simulation because why not ๐
PythonPytorchMujoco
- In progress

RL Deep Q-learning Pong Agent
Pong through reinforcement learning ๐
PythonPytorchGymnasiumReinforcement Learning
- This project teaches a Deep Q-Network (DQN) agent to play Atari Pong using PyTorch, with tricks like replay memory and stacking frames to help it learn better.
- It uses Gymnasium and ALE-Py to run classic Atari games, making it easy to experiment with reinforcement learning and see your agent improve over time.

Autonomous drone swarm
๐ธ Building and flying Crazyflie drones autonomously
ROS2CrazySwarmViconC++Python
- Worked in a team of 3 to research UAVs for Dr. Yash Pant in the CL2 group
- Simulated in Webot, achieved localization through Vicon, and experimented with Crazyswarm for multiple drones

2-axis high precision gantry
Designing a gantry system
STM32CI2CUARTSPI
- Designed a 2-axis gantry system using STM32 microcontroller and servo motors for precise positioning control.
- Implemented limit switches with hardware interrupts and debouncing to prevent system damage when reaching travel limits.
- Integrated potentiometer with ADC for real-time speed control and smooth motion adjustment.

NBody CUDA Implementation
Accelerating NBody for NVIDIA's Cuda Certificate
C++CUDA
- Developed a parallel CUDA simulation for N-body gravitational interactions.
- Leveraged CUDA unified memory and asynchronous prefetching to optimize data transfer and computation across multiple streaming multiprocessors.
- Achieved real-time performance, reaching billions of interactions per second.

EV3EAL
A card dealing robot (harder than you think ๐).
CEV3SolidWorks
- Led a group of 4 to design a robotic device capable of rapidly and accurately distributing playing cards.
- Used EV3 Brick with 3D printed parts along with ultrasonic, colour, and gyro sensors to build a dealing system.
- Developed a C script to allow for robot to process user instructions and to deal with up to 12 players.
