System and method for supporting movable object application development

Patent No. US10116785 (titled "System and method for supporting movable object application development") on Nov 11, 2016. The application was issued on Oct 30, 2018.

What is this patent about?

’785 is related to the field of software development for movable objects, such as unmanned aerial vehicles, robots, and handheld devices. It specifically addresses the technical challenges of creating third-party applications that need to interact with complex, multi-module hardware systems in real-time. The background context involves the increasing use of drones in specialized industries like disaster relief and environmental monitoring, where developers require a standardized way to interface with proprietary flight hardware and sensors.

The underlying idea behind ’785 is the creation of a specialized middleware layer, referred to as a movable object manager, that acts as a bridge between high-level software applications and low-level hardware firmware. By abstracting the communication protocols and hardware-specific data formats, the invention allows developers to interact with a drone or robot through a unified software development kit (SDK). This insight simplifies the development process by decoupling the application logic from the underlying physical link technologies and internal hardware complexities.

The claims of ’785 focus on a movable object manager that establishes a bidirectional connection between a movable object and a user terminal. The independent claims specifically cover the mechanism of receiving data packets from the object that correspond to its hardware modules—such as cameras, gimbals, or flight controllers—and providing that information to an application. Crucially, the claims also encompass the reverse flow, where the manager translates application-level commands into instructions that control the specific hardware modules on the movable object.

In practice, the invention works by implementing a structured communication protocol abstraction that handles data framing, error checking, and routing across different physical layers like WiFi, Bluetooth, or radio frequency links. The movable object manager can reside on the user terminal, a remote server, or the object itself, providing a consistent interface for various apps. This architecture allows for a distributed computing model where the application can receive asynchronous updates from the hardware via callback functions, ensuring the user interface remains responsive to real-time flight status changes.

This approach differs from prior solutions by providing a comprehensive security and privilege model integrated directly into the development environment. Unlike traditional direct-link controllers, this system uses an authentication server to validate application identifiers and keys, granting specific access levels to sensitive hardware functions like ground station controls. By managing installation counts and enforcing policies, the invention provides a controlled ecosystem that prevents unauthorized or malicious software from accessing critical flight systems while maintaining a flexible environment for legitimate developers.

How does this patent fit in bigger picture?

Technical Landscape

In the mid-2010s when ’785 was filed, the integration of mobile computing devices with unmanned aerial systems and robotic platforms was typically implemented using proprietary, hard-coded interfaces that tightly coupled specific hardware to dedicated control software. At a time when data exchange between movable objects and user terminals commonly relied on direct, low-level telemetry links rather than standardized application layers, the lack of a unified management framework made the development of third-party software non-trivial. Hardware and software constraints of the era often required developers to manually handle complex communication protocols and security handshakes, as system architectures generally lacked centralized middleware capable of abstracting hardware functions or managing granular access privileges for external applications.

Prosecution Position

The disclosed invention addresses the technical challenge of securely and efficiently interfacing third-party applications with movable objects through a centralized management and authentication architecture. By introducing a movable object manager that acts as an intermediary for data packet processing and a dedicated authentication server for policy-based privilege granting, the system shifts away from monolithic control structures toward a modular environment. This architectural shift enables a technical capability where applications on a user terminal can interact with movable object data and functions only after satisfying specific entitlement policies. The resulting technical effect is a secure, scalable framework that overcomes the constraints of manual device pairing and static access rights, allowing for the controlled expansion of software functionality across diverse robotic and unmanned platforms.

Claims

This patent contains 36 claims, with claims 1, 21, 35, and 36 serving as the independent claims. The independent claims focus on a movable object manager that facilitates application development by establishing a connection with a movable object, receiving data packets containing hardware module information from that object, and exchanging data and control commands between the movable object and a user terminal application. The dependent claims serve to specify various types of movable objects, such as unmanned aircraft or robots, and detail specific system components including communication managers, data managers, authentication servers, and interface components designed to represent and monitor specific hardware modules.

Key Claim Terms New

Definitions of key terms used in the patent claims.

Term (Source)Support for SpecificationInterpretation
Data packets
(Claim 1, Claim 21, Claim 35, Claim 36)
A movable object manager can establish a connection with a movable object, and receives one or more data packets from the movable object. The data packets include information corresponding to the at least one hardware module on the movable object. The movable object manager can provide information in said one or more data packets to an application on a user terminal.Units of data transmitted from the movable object to the manager containing status or operational information related to the object's hardware modules.
Hardware module
(Claim 1, Claim 21, Claim 35, Claim 36)
The movable object is configured to process commands for controlling at least one hardware module on the movable object. The data packets include information corresponding to the at least one hardware module on the movable object. The commands include information corresponding to the at least one hardware module on the movable object.Physical components or subsystems integrated into the movable object that perform specific functions and are subject to control by commands received from an application.
Movable object
(Claim 1, Claim 21, Claim 35, Claim 36)
The unmanned aircrafts as well as other movable objects, such as the unmanned vehicles, handheld devices, and robots, can provide a new direction and a unique view point for advancing the traditional industries. A movable object can be configured to process commands for controlling at least one hardware module on the movable object.A physical device capable of movement, such as an unmanned aircraft, vehicle, or robot, equipped with hardware modules that can be controlled via processed commands.
Movable object manager
(Claim 1, Claim 21, Claim 35, Claim 36)
A movable object manager can establish a connection with a movable object, and receives one or more data packets from the movable object. Then, the movable object manager can provide information in said one or more data packets to an application on a user terminal. The movable object manager can also provide one or more commands from the application to the movable object.A software component or intermediary system that facilitates communication between a movable object and a user terminal application by managing data packet exchange and command processing.
User terminal
(Claim 1, Claim 21, Claim 35, Claim 36)
The movable object manager can provide information in said one or more data packets to an application on a user terminal. The movable object manager can also provide one or more commands from the application to the movable object.A computing device external to the movable object that hosts an application designed to interact with and control the movable object through the manager.

Litigation Cases New

US Latest litigation cases involving this patent.

Case NumberFiling DateTitle
2:25-cv-01066Oct 24, 2025SZ DJI TECHNOLOGY CO., LTD. v. Irdeto B.V.

Patent Family

Patent Family

File Wrapper

The dossier documents provide a comprehensive record of the patent's prosecution history - including filings, correspondence, and decisions made by patent offices - and are crucial for understanding the patent's legal journey and any challenges it may have faced during examination.

  • Get instant alerts for new documents

US10116785

Application Number
US15349487A
Filing Date
Nov 11, 2016
Publication Date
Oct 30, 2018
External Links
Slate, USPTO , Google Patents