My Notable Projects

Tech Triumphs & Skyward Feats

Android Development: Pilot App for Drone Infrastructure Inspection

  • Architecting the Future of Drone Inspections

    I took drone inspection to new heights, literally! I architected and developed a powerhouse Android app using Java, Reactive Java, and Kotlin, turning the Herelink remote controller into a real-time command center for drone-based infrastructure inspections. The result? A 30% boost in pilot efficiency, thanks to slick real-time video streaming and telemetry data visualization that made spotting damage faster and more accurate.

  • Breaking Free from DJI Dependency

    But I didn’t stop there. I led the charge to break free from DJI M300 dependency, crafting a modular interface with base classes that played nice with both DJISDK and MAVSDK. This future-proofed the app, allowing it to work seamlessly with MAVLink protocol-based drones as well as the trusty DJI M300.

  • Dynamic Initialization for Seamless Operation

    And because smooth operation is key, I implemented a dynamic initialization system that automatically fires up the right systems (DJISDK or MAVSDK) based on the aircraft type. No more guesswork, just plug, play, and fly.

  • Turbocharged Real-Time Video Streaming

    Real-time video streaming got a turbo boost with an ffmpeg-powered RTSP decoder, leveraging GPU acceleration for sub-200 millisecond latency. Whether it’s the FPV or gimbal camera, users now enjoy silky-smooth video feeds that make inspections a breeze.

  • Optimized Communication & Rock-Solid Reliability

    I also tinkered under the hood, optimizing MAVLink communication protocols to squeeze out a 40% increase in data transmission efficiency, fewer hiccups, more data, faster. After rigorous testing under various conditions, the app emerged 60% more stable, with a crash rate that’s nearly extinct.

  • Bulletproof Testing & Code Coverage

    Oh, and did I mention the rock-solid unit tests? With JUnit and Mockito in my toolkit, I secured over 80% code coverage, ensuring that this app isn’t just smart, it’s rock-solid reliable.

C++/Embedded Development: Pixhawk Autopilot Customization, MAVSDK Integration, and TCP Server-Client Architecture Implementation

  • Redefining Drone Safety with 3D Geofencing

    To keep drones in check and out of trouble, I took the Pixhawk firmware to the next level with some serious C++ magic. By extending geofencing beyond the usual 2D polygons, I developed a 3D geofence solution that allows for restricted zones with variable altitudes. This wasn’t just about keeping drones on a leash, it was about precise control, perfect for air traffic management and ensuring compliance with altitude-specific restrictions.

  • MAVSDK Integration: Unleashing Full Potential

    Java wrappers? Not for me. I integrated the MAVSDK C++ library directly, overcoming the limitations of the Java version to unlock critical features like obstacle avoidance using RPLIDAR sensor data. This gave the drone enhanced eyes and reflexes, ensuring it could dodge obstacles in real-time, making autonomous operation safer and smarter.

  • Smooth Talker: MavlinkPassthrough for Real-Time Data

    Communication is key, especially when a drone’s on the move. I streamlined the link between the autopilot and ground control systems with MavlinkPassthrough, ensuring real-time obstacle data was sent and received without a hitch. The result? Drones that navigate with the confidence of a seasoned pilot, even in complex environments.

  • TCP Protocol: Remote Camera Control, Redefined

    I didn’t just stop at flying the drone, I made sure the camera could follow orders too. By developing a bi-directional TCP communication protocol, I set up a slick server-client architecture using TCP sockets. The Java server on the pilot app and the C++ client on the Rockpi board (connected to our TOPseven camera) now chat effortlessly, enabling remote control for image capture, memory management, and more. It’s like giving the camera its own brain, right there in the sky.

SQLite Database Development: Localized Geofence Database for Efficient Drone Missions

Geofence Genius: Boosting Drone Efficiency with SQLite

To keep drone missions on point, I developed a localized geofence database that acts like the ultimate navigation assistant. Using SQLite, I crafted a German geofence database from a DIPUL GeoJSON dataset, allowing drones to retrieve geofences directly via the pilot app. The result? A leaner, meaner flight controller with reduced memory load and the ability to perform real-time SQL queries within mission-specific areas, whether it’s a tight 500m or a broader 1km radius. It’s all about precision and efficiency, ensuring every mission is a smooth flight.

AWS Experience: Scalable Geofence Storage & Lambda Optimization

Scalable Geofence Magic with AWS S3

When it comes to geofence management, I took to the cloud, literally. By harnessing the power of AWS S3, I created a scalable system for storing and updating our geofence databases in SQLite, tucked safely within the company’s AWS S3 bucket. The pilot application could then download the freshest geofence data on demand, ensuring drones always had the latest intel before takeoff, no outdated boundaries here, just real-time, mission-ready precision.

Lambda Optimization: Smarter Data, Less Transfer

Why move mountains of data when you can just pluck the gems you need? I proposed an AWS Lambda-powered solution to streamline geofence data retrieval. By enabling on-demand SQL queries in the cloud, this approach would serve up only the geofence polygons relevant to the mission area, like a 500m or 1km radius. The result? A lighter load on the remote controller and a faster, more efficient operation, because in the sky, every millisecond counts.

Docker Development: Drone Mission Testing with Dockerized Gazebo Simulator

  • Containerized Simulations: Safe Flights, Zero Risks

    Why risk it in the real world when you can perfect it in a virtual one? I developed a Dockerized Gazebo environment that lets developers simulate drone missions with the precision of a real flight, minus the potential crashes. By crafting a custom Dockerfile, I streamlined the deployment of a Gazebo simulation environment integrated with Pixhawk firmware. This setup allowed for thorough testing and validation of drone missions before they ever took to the skies, slashing the risk of accidents and speeding up the development cycle.

  • Plug-and-Play Simulation for the Whole Team

    Sharing is caring, especially when it comes to complex setups. My containerized solution made it easy for fellow developers to dive into the simulation environment without the hassle of setting up their own Linux systems. Just pull the Docker image, and you’re ready to roll (or rather, fly). It’s mission testing, made simple and sharable.

Python Development: Image Viewer for AI-powered Wind Turbine Inspection

Bringing Wind Turbine Inspections to Life

I crafted a custom Python image viewer that turned wind turbine blade inspections into a seamless experience. With an intuitive, user-friendly interface, inspectors could easily visualize and annotate images of turbine blades, making damage detection not just effective, but efficient.

AI-Powered Precision with YOLOv5

Why settle for just seeing when you can also detect? I integrated our image viewer with a modified YOLOv5 deep learning model, enabling real-time damage detection and classification on the fly. This wasn’t just about looking, it was about seeing with AI-enhanced clarity.

Perfecting Precision with COCO JSON

Accuracy matters, especially when it comes to damage reports. I implemented COCO format JSON processing to generate spot-on bounding boxes around detected damages. By linking images with their corresponding JSON files, the tool ensured every nick and crack was captured with pinpoint precision.

Rock-Solid Reliability with PyUnit and Pytest

To make sure everything ran as smoothly as a well-oiled turbine, I implemented comprehensive unit testing using PyUnit and Pytest. The result? A reliable, robust application that inspectors can trust to deliver accurate results every time.

Agile Methodology Implementation: Collaborative and High-Efficiency Software Development

Boosting Productivity with Agile Magic

By embedding Agile best practices into our DNA, I drove a 25% boost in team productivity. With the help of tools like Jira and setting up a culture of continuous improvement through daily stand-ups, we kept tabs on progress, managed backlogs like pros, and documented every step of the way. The result? A team that was always aligned, always collaborative, and always ready to tackle the next challenge.

CI/CD & DevOps

Streamlined Deployment & Enhanced Code Quality

Fast-Tracking Deployments with CI/CD Magic

I took the helm in rolling out automated CI/CD pipelines using GitLab, slashing deployment time by 50%. With everything running like clockwork, we turned what used to be a time-consuming process into a streamlined, efficient operation.

Squashing Bugs Before They Bite

Quality was my top priority, so I integrated automated testing and continuous feedback loops right into the CI/CD process. This proactive approach meant that code issues were caught early, reducing bugs in production and ensuring that our codebase stayed rock-solid. Regular code reviews and static code analysis tools kept our coding standards sky-high.

Keeping Code Quality on Lock

By weaving automated tests into the CI/CD pipeline, I made sure that any potential issues were nipped in the bud. This not only maintained high code quality but also gave the team peace of mind, knowing that each deployment was as smooth and bug-free as possible.

System Performance & Reliability Optimization

Mastering the Linux Landscape

I took command of our Linux-based infrastructures, tuning them up like a high-performance engine to maximize system speed and reliability. Every tweak made sure that systems ran smoother and faster, keeping everything on track and ready for action, no matter the challenge.

Terraforming Infrastructure for Flexibility

With Terraform in my toolkit, I developed and maintained infrastructure-as-code (IaC) to keep our environment setups consistent and scalable. This approach made it a breeze to scale operations and quickly adapt to any project changes, whether we needed to pivot or push forward, our infrastructure was ready to roll.

Self-supervised Learning (SSL) for Large-Scale Mining Sites Segmentation

Mining Data Without Digging Deep

I dove into the world of self-supervised learning (SSL) to make large-scale mining site segmentation smarter, faster, and way more efficient. Using the power of contrastive learning and PyTorch, I pre-trained a deep learning model on over 6,000 global mining sites. The best part? We reduced reliance on expensive, manually annotated data, paving the way for smarter mining with fewer labels.

Efficiency Booster: 30% Faster, 100% Smarter

By optimizing machine learning models to handle massive datasets, I boosted processing efficiency by 30%. This pre-trained model became the backbone for high-performing, supervised segmentation models, working magic with a limited amount of labeled data. It’s all about getting the most out of less, efficiency at its finest.

From Code to Conference

The results? Presented at IGARSS 2023! I shared our work, "SSL for Large-Scale Mining Site Segmentation," showcasing innovative, cost-effective techniques that could change the way we analyze mining sites on a global scale.

Collaboration Across Borders

Working hand-in-hand with researchers from TUM AI-affiliated labs and the DLR, I accelerated this cutting-edge process, developing solutions that pushed the boundaries of mining site analysis. Together, we made complex data segmentation a whole lot easier and cheaper.

Chilean Mining Sites Dataset & Semantic Segmentation

Mapping Chile’s Mining Landscape

I took on the challenge of creating a top-tier dataset of Chilean mining sites using Sentinel-2 imagery. With 150 annotated sites and polygonized regions spanning eight distinct categories (from open pits to leaching heaps), this dataset became the go-to resource for mining site analysis.

Tooling Up for Satellite Mastery

To bring the dataset to life, I deployed an advanced suite of tools for processing and analyzing satellite imagery. By applying machine learning models, I wasn’t just detecting anomalies, I was classifying them with precision.

Deep Learning for Deep Digs

Harnessing the power of TensorFlow and Keras, I implemented a U-Net deep learning model with a ResNet-34 backbone to tackle the semantic segmentation of this rich dataset. The result? A high-performing model that hit an accuracy of 89% and a mean intersection over union (mIoU) of 70.5%. In other words, it was spot-on in classifying the diverse features of Chile’s mining sites.

High five! 🎉 You’ve nearly conquered it all, just a few more steps to the finish line!

Building a Cutting-Edge Market Intelligence Platform

Reinventing Market Research

I led the charge in creating a market intelligence platform that’s all about making market research smarter and easier. With a powerful data framework at its heart, this platform became the one-stop shop for users to connect, analyze, and make sense of the market chaos.

Data Crunching for Smart Decisions

Armed with Python and SQL, I developed financial models and data pipelines that could handle even the biggest datasets, turning raw data into sharp insights that fuel smart, strategic moves. It’s like having a crystal ball for market trends!

Scalable & Strong with Django

To make sure the platform could grow and keep up with demand, I built the backend using Django. The goal? A super scalable and speedy system that’s always ready to roll, no matter how big it gets.

User Experience with a Kick

For the front end, I used React and Tailwind CSS to create a slick and smooth interface that users love. The result? An experience that’s not only powerful but also a pleasure to use, because good design makes all the difference.

Intrigued? Let’s Make Magic Together!