May 2024 - Dec 2024
As one of the first users of ElmoMC's Platinum drives and Platinum Maestro Motion controllers at JPL, I explored and implemented a EtherCAT/CoE based motion control solution, based on the said drives and motion controllers, for the EELS2.0 robot and Force/Torque Control testbed.
I have explored, documented and integrated a Simulink based Software-in-the-loop (SIL) pipeline for the targeted drive and motion controller. As this pipeline generates bug free , Realtime code from Simulink blocks, it drastically reduces debugging and programming time required with standard C/C++ development cycles.
Besides that, I setup a cross-platform, cross C++ compilation pipeline for the Platinum Maestro. Using this pipeline, I cross compiled and deployed ROS1.0 and all of its dependencies(e.g. Python3.8), from scratch for the Maestro(ARMv7l).
This effort has led to the successful development of a 400N-m capable , compact torque controlled actuator for the EELS2.0 robot, by Dr Nikola Georgiev.
For the challenge of multi DoF task space force/torque control, I developed a configurable ATI-Mini58 based Force-Torque feedback solution which offloads CAN based sensor communication, and force-torque calculation to a Teensy4.1 uC.
For EELS1.5, I co-designed the communication and control pipeline of the heating system for the iconic screw mobility system of EELS, using Arduino MKR1010s and CAN2.0. CAN makes each Arduino in the network individually addressable in the network layer.
Jan 2023 - May 2023
Developed a Turtlebot like mobile robot,called Terpbot, for ENPM661 and ENPM673 as a semester project.
Developed Velocity Sensing, filtering ,motor control and PID based motor control of the differential drive system of the Terpbot, on an Arduino Uno. The Controller was tuned using the Ziegler Nichol's technique. You can find the controller code here : Github Website
Built and Deployed a RT Linux Kernel for the a Ubuntu Server , which was used as the main compute of the Terpbot.
Developed and deployed a dockerized and source controlled development workspace for the project. You can find it here : Github Website
Entirety of low level controller , and some of the packages on the main project, have been doxygenated and hosted on a github pages website.
Report of the entire project can be found here : Navigation , Leader-Follower
March 2021 - July 2022
Deployed teach and repeat , trajectory generation and motion planning as part of core funtions of the robot.Used ROS2 as a platform for Interprocess communication and designed software architecture around it,enabling ease of use of the robot in academic contexts courtesy of ROS interfaces.
Configured and deployed PREEMPT_RT linux kernel on system level controller, along with system tweaks, to get a real time performance , leading to jitter free trajectory generation and motion planning calculation on a Raspberri Pi Compute Module 4.
Developed a object oriented Dual Drive Motor Controller to execute highly precise joint level control, ensuring low latency code execution and vibration free position control on a STM32H7 microcontroller,using FREERTOS as the real time OS provider
Helped develop firmware for Modbus based I/O controllers which help control and monitor any commonly connected industrial peripherals.
Nov 2020 - July 2022
Upgraded existing HMI Android application, also used for teaching the robotic arms,making it Android X+ compatible.
Refactored old application to introduce a Android recommended MVVM architecture, optimizing the loading and execution times, making the UI more interactive and easy to use.
Made the application Wifi-Direct capable, which is used to enable data plotting and monitoring feature on the next generation Asystr application.
September 2019 - Nov 2020
Developed IoT Backend Firmware for the Asystr A600/A602 series of robots, on a TICC3220SF microcontroller. This included developing a custom API over a HTTP client to upload/download files from Amazon S3 storage,and using AWS-IoT Core for real time remote messaging.
Developed a web frontend for monitoring a fleet of Asystr A600/A602 robots
Maintained codebase for the motion-planning , trajectory generating and robot monitoring central system controller of A600/A602 series of robots
July 2018 - April 2019
This project required the study of 1-D linear piece-wise smooth maps as well as the results produced by chaotic behaviour and sub-harmonic oscillations in DC-DC boost converters
The research concentrated on the theoretical and experimental results of the chaotic behaviour observed in current mode controlled DC-DC Boost Converters. The circuit is found to produce sub-harmonics of clock frequency for various values of reference current, Iref and input voltage, Vin . The indication of sub-harmonics and chaos is given by bifurcation curves generated by mathematical modeling and numerical simulations
A comparative study is made between the experimental results and the results obtained by MATLAB/SIMULINK models of the converters. The effectiveness of the results is verified by that fact that 4 methods(analytic, numerical, simulation and hardware) have been used to produce the results.