top of page

PROJECTS

Below is a selection of projects I have worked on over the years, some during my Master's studies and others while working as a research assistant, visiting scholar or collaborator.

Python/PyTorch & MATLAB

NEU-logo.png
WbT1uBeR_400x400.jpg

PROFESSIONAL

Deep Learning          Neural Networks          AI          Python/PyTorch          Computer Vision          RCM          Optical Flow

Skin Cancer Detection          FlowNet 2.0          Mosaic          Real Time          Healthcare

I was a Research Assistant at the Robust Systems Lab (RSL) at Northeastern University where we had this collaboration project with Memorial Sloan Kettering Cancer Center in New York City. We fully developed a Deep Learning-based algorithm using FlowNet 2.0 that is capable of creating a mosaic of the skin in real time (i.e. the mosaic is showed on the screen at the same time the doctor is scanning the patient's skin). The algorithm uses Optical Flow to compute the motion of individual pixels. In the videos above, it can be observed that the vector field prediction matches the ground truth.

spinball.png
spinball2.png
spinball3.png
spinball4.png
spinball5.png
spinball6.png

C/C# & MATLAB [Code]

http___pluspng.com_img-png_logo-mit-png-mit-logo-793.png

PROFESSIONAL

Electronics          Arduino          GUI          Healthcare          Cardiology          Mechanical Engineering          Fiber Optics

SolidWorks          Design         Stepper Motor          Pulley-Based System          Precise Diagnostics          Sensors

Following rigorous theoretical and practical research, I completely developed – both hardware and software – an operative sensing unit that accurately measures the specific and subtle changes in blood coagulation time. The unit comprised of a pulley-based mechanical system actuated by a stepper motor and infrared sensors that were coupled to a fiber optics setup. Arduino boards were used to control the speed of the motors and the respective data acquisition from the sensors. The ultimate purpose of this prototype was to obtain a calibration method for blood coagulation responses that could minimize the run time of any experiment by adding a pro-coagulant factor, such as Thromboplastin (TP). TP activates the extrinsic coagulation pathway when is released into the blood stream. This led us to obtain the [TP]-time curve to individually characterize a patient’s clotting profile. The high precision and accuracy achieved through this prototype suggested that this metric could be used for personalized clotting diagnostics.

spinball7.png
mobile1.png
mobile2.png
mobile3.png
mobile4.png
mobile5.png
mobile6.png
mobile7.png

Source: unknown.

C++/ROS [Code]

Logo-upc-barc.svg.png

UNIVERSITY

Mobile Robots          Navigation          Mapping          Pose Estimation          Localization          Simulation          Real Testing

Motion, Planning & Exploration          ROS          Rviz          C++

For this project, a robot with a laser scanner located and navigated exploring its environment while generating a map, both in simulation and with a real environment.

 

The objective was to develop an exploration strategy that builds a complete map of the environment as efficient as possible, meaning traveling the shortest possible distance.

We had to start by developing our code for simulation, and if we finally succeeded, we would be able to test it on a real robot.

​

We used a Gravitation Search Algorithm (GSA), it is actually very easy to calculate and prioritizes exploring near frontiers. It is a nature inspired optimization algorithm, inspired by newton's law of gravity and law of motion. The exploration and exploitation capability of GSA is balanced by splitting the whole swarm into two groups. The search process is modified so that one group better exploits and one group becomes responsible for better exploration. The project was done in collaboration of two good friends of mine, Albert Suñé and David Luna.

Picture1.png
wfwe.png
fwwef.png
trhrtrth.png
Screen Shot 2022-01-29 at 10.04.48 AM.png
wfewefwef.png

MATLAB [Code]

Logo-upc-barc.svg.png

UNIVERSITY

Computer Vision          Integral Image          OCR          Algorithm          Coarse Detection          Fine Detection

Character Segmentation          Bounding Box          Heuristics          Correlation Analysis          Edge Detection

An algorithm was designed and developed which implemented the three main stages regarding Automatic License Plate Recognition: License Plate Localization (LPL), Char- acter Segmentation and Optical Character Recognition (OCR). The vertical edge method used for the LPL stage allowed considerably reducing computational time, and when the potential regions were extracted, the use of morphological operator eased the character segmentation process. Despite having a high accuracy for the LPL stage, we could not reach the outstanding accuracy value obtained by Peter Tarabek in his research, so further work was needed to improve the performance of our system. Despite this fact, it is interesting that we managed to reach a 0% FAR value, so no misplaced license plates were marked. However, the accuracy values from the character segmentation and OCR stages looked more promising. A 93% value still could be improved in future work, and a 98% value for the OCR showed that it was close to being completely operative.

​

This project was done in collaboration with a good friend of mine, Marc Mitjans.

Picture1.png
Picture2.png
Picture3.png

Source: unknown.

C++/ROS

Logo-upc-barc.svg.png

UNIVERSITY

ROS          C++          Rviz          Client          Server          Control          Node Architecture          Simulation          Real Test          Drone

One of the electives of my graduate studies was the course "Introduction to ROS", where we were asked to design and develop a control strategy that led a drone to count with a stable flight from point A to point B. Since we used ROS, we had a node architecture that can be seen in one of the pictures above, in combination with several actions that we communicated to the drone. Finally, our proposed controller was a combination of a bottom controller (for take-off and landing) and a front controller (for the flight).

​

Once again, this project was done in collaboration with two good friends of mine, Albert Suñé and David Luna.

abb1.png
abb2.png

Source: abb.com

Screen Shot 2022-01-29 at 9.57.23 AM.png
Picture1.png

RAPID (C-based language)

1280px-ABB_logo.svg.png

PROFESSIONAL

Robotics          World's Best ABB Robotics Division Award          YuMi          Collaborative Robots (Cobots)          Kivnon

IOT World Congress          IFEMA Logistics Madrid          AutoGuided Vehicle (AGV)

Me and my coworker were the first interns in ABB’s unit in Spain that were at programming robots. Our main job was to discover the new ABB’s collaborative robot capabilities by designing the software and developing the tools that allowed YuMi to work side-by-side with a technician and communicate with the outside environment. Some of our solutions were presented in IOT Solutions World Congress in Barcelona and IFEMA Logistics in Madrid, 2016.

​

The principal project I was leading at that time was to design the software that allowed YuMI to work and communicate with an AutoGuided Vehicle (AGV). YuMi worked in station #1 and was conveyed by the AGV to station #2. The project was a success and the new collaboration between ABB and KIVNON emerged!!

​

Finally, our efforts contributed to win the DMRO Spain Global Team Award for being the World's Best ABB Robotics Division!!

​

Psst! If you are curious to see me in the top left video above, I'm in minute 0:28 ;P

Picture1.png
Picturfewe1.png
Picturewe1.png
Picturhrthe1.png

MATLAB & Python

Logo-upc-barc.svg.png
logo-creb-removebg-preview.png

PROFESSIONAL

Deep Learning          AI          Signal Processing          Hidden Markov Model (HMM)          Healthcare          Cardiology

Heart Rate Variability          Nonlinear Dynamics          Symbolic Dynamics          CREB

Before coming to MIT, I decided to begin my training into the cardiology field by facing the problem of studying the nonlinear dynamics of the Heart Rate Variability of patients suffering from idiopathic dilated cardiomyopathy by applying some techniques such as Symbolic Dynamics in combination with a Deep Learning-based technique called Hidden Markov Models (HMM). In the pictures above, it can be observed how the three signals (control group, semi-healthy group and risk group) generally overlap together for each group (green, yellow and red, respectively). However, after running our algorithm, the three signals get shifted one another and their different natures and parameters can be used for classification. We needed further work to be able to corroborate our results due to lack of extensive data. What we observed was that we only needed a few hidden states to be able to classify the signals sufficiently accurate. Additionally, we detected that the number of runs/epochs (i.e., the number of times the algorithm had to be run to achieve a low classification error) was significantly low.

bottom of page