Skip to content

Falcker – Drone Pathing & 360° Image Handling

Technology used: .NET/C#, Angular, TypeScript, DJI SDK, Swift (iOS), GPS/RTK, krpano, Autodesk Forge Viewer, Microsoft Entra Application Proxy

Category: Innovation & Visual Integration

Role: Senior Developer

Period: 2019–2022

Project Type: Part-time engagement

This multi-part project focused on automating the capture and contextualization of 360° images for industrial asset inspection, specifically oil tanks. My contributions covered core functionality across four components:

Other Skills: Problem solving, Initiative, Adaptability, Pragmatism, Cross-disciplinary collaboration


1. Drone Path Planning

Goal: Generate drone flight paths to capture complete visual coverage of vertical tank surfaces.

  • Developed algorithm to calculate flight paths based on tank height and diameter.
  • Included logic to stop the drone at fixed intervals and capture angled photos (left, center, right).
  • Managed conversion between GPS and local meter-based coordinates to ensure correct image positioning.
  • Outcome: Provided detailed image coverage for manual inspection. Later replaced with panoramic shots from fixed positions to reduce flight time.

Field Test Note:

During the second test, we operated near an active oil tank holding nearly a billion liters. The drone pilot — operating under strict safety protocols with certification requirements and PTW procedures — was visibly tense as the drone initiated its autonomous flight. As it accelerated toward the tank, his fingers hovered over the manual override. But the drone stopped precisely at its first waypoint and executed the capture sequence flawlessly. It took a few stops but eventually confidence replaced tension. In 2019, such autonomous precision was still uncommon outside of enterprise R&D.

Technology used: .NET/C#, Angular

2. RTK GPS Integration (Vendor Collaboration)

Goal: Improve flight precision by integrating centimeter-accurate RTK positioning into the vendor’s iOS-based drone controller.

  • Extended a third-party iOS app built on the DJI SDK to support RTK data injection.
  • Overcame limited documentation by reverse engineering behavior and building test cases.
  • Designed and implemented the RTK control UI used across the vendor’s customer base.
  • Outcome: Significantly improved accuracy of flight path execution across all deployments.

Technology used: DJI SDK, Swift (iOS), GPS/RTK

3. 360° Image Viewer (Viewer Integration)

Goal: Enable defect marking directly on panoramic images, linked to the 3D model of the asset.

  • Created a hybrid viewer combining Autodesk Forge (3D model) and krpano (panorama).
  • Developed alignment mechanism to overlay the 3D model on the panorama via one-time calibration.
  • Implemented coordinate transformation and raycasting to map clicks in the pano to 3D components.
  • Outcome: Allowed users to inspect assets in context and tag defects on precise components.

Technology used: TypeScript, KrPano, Autodesk Forge Viewer

4. GPS–Photo Mapping

Goal: Match photos from ground-based cameras (lacking GPS) to a separately recorded GPS path.

  • Built a tool to infer photo locations by correlating burst-photo timing with GPS ‘stops’.
  • Developed algorithm to align tracks despite timezone differences and GPS inaccuracies.
  • Used planned route metadata and photo count per stop to resolve ambiguities.
  • UI included visual track comparison for manual correction of mismatches.
  • Outcome: Automated geotagging process with fallback UI, improving data usability for inspections.

Practical Insight:

The process had to account for everything from improperly set camera clocks to GPS drift — even when standing still. While we had precise expectations about where photos should be taken, real-world behavior varied. By combining a best-effort matching algorithm with a visual UI, users could correct mismatches efficiently. This balance between automation and human input proved crucial, especially in environments where full control over photographer behavior couldn’t be assumed.

Technology used: .NET/C#, Angular, TypeScript, GPS, Microsoft Entra Application Proxy