A Computational Introduction to Robotics, Fall 2020
I worked on a team with one other student to create a Follow the Leader simulation in Gazebo with Neato robots. In our implementation, the leader robot is tele-op controlled while the followers use OpenCV and a fuzzy logic controller to maintain the following behavior we have defined.
Personal Project, Fall 2019
I created a visual course planner for Olin College courses. This web app uses the MEAN stack and is built on Angular. The dashboard consists of four columns, one for each year, with draggable cards representing planned courses. This planner is specific to the classes and requirements at Olin College of Engineering.
Principles of Engineering, Fall 2018
I was a software engineer on a team of four creating an automatic LEGO brick sorter with integrated mechanical, design, electrical, and software components. I developed that system that detected size, shape, and color of LEGO pieces using OpenCV. I also programmed an Arduino board that controlled motors and servos which performed the sorting once the properties of the brick were determined.
Personal Project, Spring 2020
I used News API to aggregate and display news articles. This webapp supports two types of searches, keyword or categorical. Articles are displayed in a list with summarizing details and an estimated reading time. This project is built with Angular and UIkit framework.
** News API no longer allows free searches on the developer plan for hosted websites, please see the README on Github to see screenshots
Computer Architecture, Fall 2019
For our final project I designed an implementation of Advanced Encryption Standard (AES) in Verilog with one other student. Our version is able to encrypt and decrypt messaged and utilizes a 128-bit cypher block. We learned about this standard and its real life applications. This was a great opportunity to use the principles of computer architecture that we had studied throughout the course.
Software Design, Spring 2018
With one other classmate, we designed and implemented a web app to track the time users spend on certain activities. We used Flask as our framework which allowed us to take advantage of the many Flask libraries and extensions available. Our app is able to accommodate multiple users and save progress to their account.
Linearity I, Spring 2018
Co-authored a paper explaining a JPEG compression using DCT and Huffman Encoding. To accompany our report, we implemented a python script to perform the compression described in our paper which can be accessed here.
Linearity II, Spring 2018
Co-authored a paper exploring different edge detection algorithms and their importance in digital image processing. We looked at both first and second derivative approaches as well as Fuzzy Logic and the Canny edge detector.
A Computational Introduction to Robotics, Fall 2020
Worked on implementing a particle filter algorithm to localize a robot in Gazebo. With one other teammate, we used the robot’s LIDAR scanner to map the area around the robot to make a particle cloud. Then, using known information about the map, we re sampled the particles based on probability distribution of the current particle weights. As the robot moves through a the space, the movement gets propagated to the particles in the cloud to simulate the different hypothesis.
A Computational Introduction to Robotics, Fall 2020
Explored the role of computer vision in the field of robotics by creating a contour tracing robot in Gazebo. We extracted a contour from an image then converted the contour to a set of waypoints that the robot could interpret and follow. We implemented our own contour detection algorithm and reordering method to find the important waypoints and establish a path.