IP Library › Granted Patent US 10,970,051
Granted Patent B2
US 10,970,051 · App. 16/752,099 · Granted Apr 6, 2021

Systems and methods for programing drones

Inventors: Saad Ismail (Long Island City, NY); Justin G. Manweiler (Somers, NY); Justin Weisz (Scarsdale, NY)
Assignee: International Business Machines Corporation
G06F8/34B64C39/024G05D1/0016G06F3/0482B64C2201/126
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,970,051
App. No.
16/752,099
Granted
Apr 6, 2021
Kind
B2
Abstract

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.

Claims (34)

1. A computer implemented method in a data processing system comprising a processor and a memory comprising instructions which are executed by the processor to cause the processor to implement a card-based programming system, the method comprising:

displaying, by the programming system, a list of instructional cards available for selection by a user; wherein the list includes at least one instructional card that represents an action or behavior to be performed by a device, at least one instructional card that represents an input to at least one other instructional card, and at least one instructional card that represents a modifier to at least one other instructional card; and wherein each individual instructional card displays at least one image, and belongs to at least one category;

receiving, by the programming system, a file representing the placement of one or more instructional cards;

interpreting, by the programming system, the card type of one or more instructional cards from the file;

organizing, by the programming system, the instructional cards into at least one hand, wherein an individual hand comprises one or more instructional cards that are interpreted as a logical program step, and wherein the instructional cards in the at least one hand are restricted by the physical limitations of the device; and

generating, by the programming system, an executable program based on the instructional cards received by the programming system.

2. The method of claim 1 , wherein the method further comprises:

receiving, by the programming system, one or more additional instructional cards selected by the user.

3. The method of claim 1 , wherein the method further comprises:

transmitting, by the programming system, the executable program to the device.

4. The method of claim 1 , wherein the method further comprises:

transmitting, by the programming system, the executable program to the user.

5. The method of claim 1 , where in the file presenting the placement of one or more instructional cards is a digitized representation of a photograph of a card layout.

6. The method of claim 1 , wherein the programming system interprets the one or more instructional cards in a hand simultaneously with each other.

7. The method of claim 1 , wherein the programming system further comprises one or more decks, and wherein an individual deck comprises one or more hands that are interpreted as a logical program group.

8. The method of claim 7 , wherein the programming system interprets the one or more hands in a deck sequentially.

9. The method of claim 7 , wherein the programming system generates the executable program from an individual deck.

10. The method of claim 7 , wherein the file representing the placement of one or more instructional cards is a digitized representation of one or more hands or one or more decks.

11. The method of claim 1 , wherein the programming system comprises a graphical user interface.

12. The method of claim 11 , wherein the programming system is capable of displaying instructional cards to the user via the graphical user interface.

13. The method of claim 11 , wherein the programming system receives one or more instructional cards via the graphical user interface.

14. The method of claim 1 , wherein each instructional card comprises a category, a subcategory, an image, a description, and a title.

15. The method of claim 14 , wherein the category comprises one or more of: movement, input, modifier, tech, think, trigger, hand, deck, and token.

16. The method of claim 14 , wherein each instructional card further comprises one or more of an end flag, an end description, a yield, a yield description, one or more yield icons, one or more requirements, and one or more tokens.

17. The method of claim 1 , wherein the device executes the executable program, and wherein the device is a unmanned autonomous vehicle.

18. A system for programming a device via a card-based programming system, comprising:

a programming system processor configured to:

display a list of instructional cards available for selection by a user; wherein the list includes at least one instructional card that represents an action or behavior to be performed by a device, at least one instructional card that represents an input to at least one other instructional card, and at least one instructional card that represents a modifier to at least one other instructional card; and wherein each individual instructional card displays at least one image, and belongs to at least one category;

receive a file representing the placement of one or more instructional cards selected by the user;

interpret the card type of the one or more instructional cards from the file;

organize the instructional cards into at least one hand, wherein an individual hand comprises one or more instructional cards that are interpreted as a logical program step, and wherein the instructional cards in the at least one hand are restricted by the physical limitations of the device; and

generate an executable program based on the instructional cards received by the programming system.

19. The system of claim 18 , wherein the programming system is further configured to receive one or more additional instructions cards selected by the user, and transmit the executable program to the device, the user, or both.

20. The system of claim 18 , wherein the programming system further comprises one or more decks, wherein an individual deck comprises one or more hands that are interpreted as a logical program group, wherein the programming system interprets the one or more hands in a deck sequentially, wherein the file representing the placement of one or more instructional cards is a digitized representation of one or more hand or one or more decks, and wherein the programming system generates the executable program from an individual deck.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2020
From: ISMAIL, SAAD; MANWEILER, JUSTIN G.; WEISZ, JUSTIN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 051614/0571 →
Continuity (2)
Continuation 15970456 · May 3, 2018
Related Publication 20200159503A1 · May 21, 2020