Card-Based Drone Programming for Complex Autonomous Workflows

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current drone programming tools are limited in allowing novice users to create complex autonomous workflows, requiring significant time and expertise, even for experienced software engineers, and do not support new applications effectively.

Innovation Solution

A card-based programming system that allows users to select instructional cards, which are combined into hands and decks, interpreted as logical programming steps and groups, generating an executable program for unmanned autonomous vehicles (UAVs) to perform specific actions or behaviors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If low-level APIs are used to allow end-users to directly program their drones, then programming flexibility and functionality are improved, but programming complexity and time required increase significantly

Engineering Contradiction:
Improveprogramming flexibilityVSAvoidprogramming complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments complex drone programming into discrete, manageable blocks representing specific actions (takeoff, land, move to location, capture image). Each block is independently selectable and configurable, allowing users to build complex workflows by combining simple, well-defined units rather than writing low-level code from scratch.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary programming interface that sits between the user and the drone's low-level APIs. This interface translates high-level action selections into the appropriate low-level commands, shielding users from programming complexity while maintaining full functionality. The intermediary layer handles code generation, validation, and optimization automatically.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If low-level APIs are used to allow end-users to directly program their drones, then programming flexibility and functionality are improved, but time required to create programs increases from days to months

Engineering Contradiction:
Improveprogramming flexibilityVSAvoidprogramming time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent performs preliminary action by pre-defining common drone actions as ready-to-use programming blocks. Frequently needed operations (takeoff, land, navigate to GPS coordinate, capture photo/video) are prepared in advance and can be selected by users without programming effort. This eliminates the need to write and debug low-level code for routine operations, reducing development time from months to minutes.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent enables users to copy and reuse proven action blocks across multiple programs and projects. Once a workflow is created using the block-based interface, it can be replicated and modified for different scenarios, eliminating redundant programming effort and maintaining consistency across applications.

Inventive Principle:
Principle #26Copying

3Ease of operation

If traditional programming tools are used that allow only very specific autonomous tasks, then ease of operation is improved, but functional limitations increase and new applications are not supported

Engineering Contradiction:
Improveease of operationVSAvoidfunctional capability
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent implements a dynamic programming system where the available action blocks and their parameters adapt based on the selected drone model, mission type, and operational context. The interface automatically adjusts to provide relevant options and configurations, maintaining ease of operation while expanding functional capability to support diverse applications beyond predefined scenarios.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10970051B2Systems and methods for programing drones
Publication Date: 2021.04.06 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10970051B2 patent drawing
  • US10970051B2 patent drawing
  • US10970051B2 patent drawing

AI summary

The present application relates to systems for programming devices, such as unmanned autonomous vehicles or “drones,” with a card-based format and methods for using the same. The system and methods generally comprise a programming system that receives one or more instructional cards selected by a user. The system generates an executable program based on the instructional cards received, and transmits the program to a device for execution.