Following is a list of projects that I worked on either academically or during my free time.
A very interesting project that I took up during the Flight Mechanics course of my ERASMUS experience in KTH.
- Pattern recognition and Line-Follower robot: DRK8080
First real project that I undertook using Python
- Pump3000: A Graphical User Interface for Cavro XP3000
- ElecMicroscope2000: GUI for arduino-driven electrical microscope motors
- Design the hardware and software for a sperm-test device. The goal of the device is to offer an in-house cost-affordable alternative to the costy, and often uncomfortable for the patient, procedure of laboratory sperm exam
- Design in CAD the device for magnification
- Code an android application, which is to run on the phone of the consumer’s phone
- Implement a client-server protocol for sending a video of the sperm sample to an external server for image analysis. Implemented, so that the computational/time requirements are independent of the consumer’s android device. The server side module was written in Python.
- Boilerplate code of the image analysis algorithm for extracting total population and sperm motility statistics from the given video
- Information about the overall project can be found here while the code is can be accesseed from Github.
- Control of MIMO Four-Tank Process
PID digital control of arduino-driven Pioneer-3DX
Diploma Thesis - Investigation, design and implementation of single and multi-robot SLAM algorithms
- Study majority of implemented strategies in single-robot and multi-robot Simultaneous Localization and Mapping (SLAM).
- Based on the aforementioned analysis, decide on implementing graphSLAM over other studied SLAM alternatives (particle-filtering/FastSLAM, EKF, EIF, etc).
- Design and implement single-robot graphSLAM as part of my Google Summer of Code (GSoC) internship for the Mobile Robot Programming Toolkit (MRPT). Algorithm utilizes laser scans and (optionally) odometry measurements while the design is easily extensible to other types of sensors (3D point clouds, visual etc.). A robust loop-closure scheme based on the work of Olson was also implemented. Code is successfully incorporated in the MRPT codebase.
- Added wrapper code for running graphSLAM in an online (real-time) fashion. ROS was used as the middleware for the inter-process communication, data exchange. Wrapper classes are available from the mrpt_slam github repository
- Extended graphSLAM code to the multi-robot case using a variation of the algorithm presented by Lazaro et al., here
- Intra-robot communication was implemented using the multi-master ROS package (multicast protocol) while the algorithm was tested in the Gazebo simulator
- Algorithm is currently under testing in real-time multi-robot setup.
Single-robot graphSLAM Demo
Multi-robot graphSLAM Demo