AI Quadcopter Debugging With Simulator Rewind and Step-Through

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current drone racing technologies rely on human pilots for navigation, which limits speed and agility, and lacks the ability to autonomously navigate complex courses without pre-defined paths.

Innovation Solution

An autonomous drone system equipped with an AI controller that uses Computer Vision from multiple cameras to determine flight paths in real-time, allowing the drone to navigate courses without human input, and can switch between autonomous and remote-control modes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If human pilots remotely control drones, then navigation flexibility is maintained, but speed and agility are limited

Engineering Contradiction:
Improvedrone speedVSAvoidautonomous navigation capability
Core Design Contradiction:
SpeedVSExtent of automation

Solution Approach 1:

The drone is equipped with an autonomous navigation system that uses onboard sensors, processors, and pre-loaded course data to navigate independently without continuous human intervention. The system automatically processes GPS coordinates, calculates flight paths, controls motors, and adjusts navigation in real-time, enabling the drone to serve itself during flight operations and achieve higher speeds beyond human reaction limits.

Inventive Principle:
Principle #25Self-service

2Adaptability or versatility

If pre-defined paths are used for autonomous navigation, then navigation simplicity is improved, but adaptability to complex courses is reduced

Engineering Contradiction:
Improvecourse navigation adaptabilityVSAvoidnavigation system complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The navigation system dynamically adapts to different course complexities by adjusting its processing mode. For simple courses, it operates in basic path-following mode using pre-defined coordinates. For complex courses, it activates advanced image processing capabilities that analyze visual data from onboard cameras, automatically identify course features like gates and landmarks, and generate navigation paths in real-time, allowing the same system to handle varying levels of course difficulty.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The navigation system is divided into modular components: a basic autonomous navigation module for simple path following, an advanced image processing module for complex course analysis, and an integration layer that coordinates between them. This segmentation allows the system to activate only the necessary modules based on course requirements, managing complexity while maintaining adaptability.

Inventive Principle:
Principle #1Segmentation

3Measurement precision

If multiple cameras are used for Computer Vision, then navigation accuracy is improved, but device complexity increases

Engineering Contradiction:
Improvevisual navigation precisionVSAvoidcamera system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

Multiple cameras are merged into a unified image processing system where data from all cameras is combined and processed together. The system integrates visual information from multiple angles and perspectives to create a comprehensive view of the environment, improving depth perception and object recognition accuracy. This merging approach maximizes the navigational benefit of multiple cameras while managing system complexity through integrated processing.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11312506B2Autonomous quadcopter piloting controller and debugger
Publication Date: 2022.04.26 PERFORMANCE DRONE WORKS LLC
  • US11312506B2 patent drawing
  • US11312506B2 patent drawing
  • US11312506B2 patent drawing

AI summary

A method of debugging quadcopter piloting code includes coupling an Artificial Intelligence (AI) controller configured with AI piloting code to a workstation having a quadcopter simulator and initiating piloting of a simulated quadcopter of the quadcopter simulator by the AI piloting code of the AI controller. Operations of the quadcopter simulator are logged, and communications timestamped. Subsequently, in response to an AI piloting code event at an event time, the event time is determined from a timestamped communication and a logged operation of the quadcopter simulator having a timestamp corresponding to the event time is found. The quadcopter simulator is rewound to at least the logged operation and one or more operations of the quadcopter simulator and the AI piloting code are stepped through to identify AI piloting code errors relating to the AI piloting code event.