Projects
Scheduler on FreeRTOS
- Composed code for fixed and dynamic scheduling algorithms including RM, DM, EDF, ICPP & OCPP in C language.
- Conducted extensive testing on Arduino Mega 2560 to ensure efficient and reliable execution of tasks across diverse task sets.
CPU Profiler for Linux Kernel
- Engineered and executed a kernel module that utilized Kprobe to track the statistics of scheduled kernel and userspace tasks,
storing relevant data in hash map and Red-Black Tree data structures.
- Modified the program to dump profiling results using the proc file system for easier debugging and backtracing of the kernel.
Compiler Optimizations
- Improved program efficiency through local optimizations like algebraic identities, constant folding, strength reductions in LLVM.
- Developed code for partial redundancy elimination using LCM with passes like liveness, available expressions analysis etc.
AVITRA : Surveillance and Disaster Mitigation Robot
- Interfaced encoders with ESP32 for an Intel NUC based autonomously navigating omni-directional robot with mobile manipulation
capability for disaster mitigation.
- Executed kinematics, motion planning, object recognition & grasp pose detection for a 6DOF manipulator using Rviz & MoveIt
motion planning framework & published the data using ROS nodes in Python for localization of the end-effector.
Self-balancing & Line following Robot
- Utilized a self-designed ESP32 microcontroller development board to interface motor driver, peripheral light sensors, MPU6050
and integrated Complementary Filter to achieve stable self-balancing & line following, employing FreeRTOS for task management.
- Consolidated PD controllers (Proportional and Derivative) for achieving error correction controlled using a HTTP web server.