Systems and Methods for Operation of a Secure Unmanned Vehicle Ecosystem

Systems and methods for operation of a secure unmanned vehicle ecosystem are provided herein. An exemplary system includes an application store comprising application store servers, a user control station, a plurality of private communication towers, and a secure unmanned vehicle. In various embodiments the secure unmanned vehicle communicates with the application store servers, the user control station, and the plurality of private communication towers via a private network. In some embodiments the private network prevents malicious code from being implemented on the secure unmanned vehicle ecosystem.

FIELD OF THE INVENTION

The present technology of this application is directed generally to unmanned vehicle security and management, and more specifically, but not by way of limitation, to systems and methods for operation of a secure unmanned vehicle ecosystem.

SUMMARY

In various exemplary embodiments a system for operation of a secure unmanned vehicle ecosystem includes: (a) an application store comprising application store servers; (b) a user control station; (c) a plurality of private communication towers; and (d) a secure unmanned vehicle in communication with the application store servers, the user control station, and the plurality of private communication towers via a private network, the private network preventing malicious code from being implemented on the secure unmanned vehicle ecosystem. Other features, examples, and embodiments are described below.

DETAILED DESCRIPTION

In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the disclosure. It will be apparent, however, to one skilled in the art, that the disclosure may be practiced without these specific details. In other instances, structures and devices are shown at block diagram form only in order to avoid obscuring the disclosure.

It is noted that the terms “coupled,” “connected”, “connecting,” “electrically connected,” etc., are used interchangeably herein to generally refer to the condition of being electrically/electronically connected. Similarly, a first entity is considered to be in “communication” with a second entity (or entities) when the first entity electrically sends and/or receives (whether through wireline or wireless means) information signals (whether containing data information or non-data/control information) to the second entity regardless of the type (analog or digital) of those signals. It is further noted that various figures (including component diagrams) shown and discussed herein are for illustrative purpose only, and are not drawn to scale.

FIG. 1is a simplified diagram depicting components of a system100for operation of a secure unmanned vehicle ecosystem according to embodiments of the present technology.FIG. 1illustrates a secure unmanned vehicle ecosystem according to embodiments of the present technology. The system100includes an application store105(App Store), user computer system110, an unmanned vehicle115(e.g., drone), an unmanned vehicle controller120, and a plurality of gaming/utility towers (i.e., gaming/utility tower125).

In some embodiments the unmanned vehicle115(e.g., drone) is an unmanned aerial vehicle (UAV). For example, the unmanned vehicle115may be a drone, an unmanned airplane, and the like. In various embodiments the unmanned vehicle115is an unmanned ground vehicle (UGV), an unmanned surface vehicle (USV), an unmanned underwater vehicle (UUV), and the like. In various embodiments the unmanned vehicle115may be any autonomous or unmanned vehicle. For example, the UAV may be a quadcopter. The unmanned vehicle115communicably couples to the user computer system110, the unmanned vehicle controller120, and the plurality of gaming/utility towers (i.e., gaming/utility tower125) using at least one of wired and wireless communications interfaces.

In various embodiments the system100includes a secure unmanned vehicle ecosystem for a distributed and secure way to distribute user developed applications (APPs). The App Store105communicates with the user computer system110and the plurality of gaming/utility towers (i.e., gaming/utility tower125). In some embodiments a user downloads APPs from the App Store105, using App Store servers, to the user computer system110and the user installs the download APPs from the user computer system110to the unmanned vehicle115(e.g., drone) to create a secure unmanned vehicle ecosystem. For example, the App Store105distributes user developed APPs similar to the way Apple® distributes Apple® Apps using the Apple® App Store.

In some embodiments the application store105(App Store), the user computer system110, the unmanned vehicle115(e.g., drone), the unmanned vehicle controller120, and the plurality of gaming/utility towers (i.e., gaming/utility tower125) include a computing device. A computing device is described further in relation to computing system1inFIG. 7.

In various embodiments the unmanned vehicle115(e.g., drone) communicates with the user computer system, the unmanned vehicle controller, and the plurality of gaming/utility towers (i.e., gaming/utility tower125). The App Store105of the present technology and unmanned vehicle115(e.g., drone) both have a secure connection with a plurality of gaming/utility towers (i.e., gaming/utility tower125). The plurality of gaming/utility towers (i.e., gaming/utility tower125) isolate systems for a secure unmanned vehicle ecosystem from existing internet systems (e.g., existing mobile phone towers) making the plurality of gaming/utility towers (i.e., gaming/utility tower125) secure. For example, the plurality of gaming/utility towers (i.e., gaming/utility tower125) operate with a unique protocol and do not use Transmission Control Protocol (TCP) or Internet Protocol (IP) to transmit data to the unmanned vehicle115(e.g., drone). Thus, the plurality of gaming/utility towers (i.e., gaming/utility tower125) are used for communicating secure data to the unmanned vehicle115(e.g., drone). Furthermore, the plurality of gaming/utility towers (i.e., gaming/utility tower125) reduce a surface of attack for hackers that may be interested in using unmanned vehicles as carriers of malicious code or malicious hardware.

In various embodiments the plurality of gaming/utility towers (i.e., gaming/utility tower125) are separate control towers specifically used to control the unmanned vehicle115(e.g., drone). Thus, the unmanned vehicle115(e.g., drone) uses a separate and dedicated infrastructure for security reasons. The separate and dedicated infrastructure includes the plurality of gaming/utility towers (i.e., gaming/utility tower125) and protects the secure unmanned vehicle ecosystem from attack by malicious code because the separate and dedicated infrastructure uses a unique protocol. Furthermore, the separate and dedicated infrastructure including the plurality of gaming/utility towers (i.e., gaming/utility tower125) reduces load of unwanted control signals on existing data networks that need network bandwidth for data intensive activities.

In various embodiments the plurality of gaming/utility towers (i.e., gaming/utility tower125) use separate control towers specifically used to control the unmanned vehicle115(e.g., drone) using a private network. Suitable networks (may include or interface with any one or more of wireless networks known to those of ordinary skill in the art. Exemplary wireless networks may include communications over radio frequencies, such as for example, digital spread spectrum radio control. Other exemplary wireless networks may include, for instance, a local intranet, a PAN (Personal Area Network), a LAN (Local Area Network), a WAN (Wide Area Network), a MAN (Metropolitan Area Network), a virtual private network (VPN), a storage area network (SAN), a frame relay connection, an Advanced Intelligent Network (AIN) connection, a synchronous optical network (SONET) connection, a digital T1, T3, E1 or E3 line, Digital Data Service (DDS) connection, DSL (Digital Subscriber Line) connection, an Ethernet connection, an ISDN (Integrated Services Digital Network) line, a dial-up port such as a V.90, V.34 or V.34bis analog modem connection, a cable modem, an ATM (Asynchronous Transfer Mode) connection, or an FDDI (Fiber Distributed Data Interface) or CDDI (Copper Distributed Data Interface) connection.

Furthermore, communications may also include links to any of a variety of wireless networks, including WAP (Wireless Application Protocol), GPRS (General Packet Radio Service), GSM (Global System for Mobile Communication), CDMA (Code Division Multiple Access) or TDMA (Time Division Multiple Access), cellular phone networks, GPS (Global Positioning System), CDPD (cellular digital packet data), RIM (Research in Motion, Limited) duplex paging network, Bluetooth radio, or an IEEE 802.11-based radio frequency network. The private network can further include or interface with any one or more of an RS-232 serial connection, an IEEE-1394 (Firewire) connection, a Fiber Channel connection, an IrDA (infrared) port, a SCSI (Small Computer Systems Interface) connection, a USB (Universal Serial Bus) connection or other wired or wireless, digital or analog interface or connection, mesh or Digi° networking.

FIG. 2is a simplified diagram showing elements of a system200for operation of a secure unmanned vehicle ecosystem according to embodiments of the present technology.FIG. 2illustrates a secure unmanned vehicle ecosystem for gaming in a rural environment according to embodiments of the present technology. The system200includes the unmanned vehicle115(e.g., drone) and the plurality of gaming/utility towers (i.e., gaming/utility tower125) in a rural environment for gaming. In various embodiments the plurality of gaming/utility towers (i.e., gaming/utility tower125) are used to control the unmanned vehicle115(e.g., drone) for gamming purposes. For example, users may play a laser tagging game using the unmanned vehicle115(e.g., drone) and the plurality of gaming/utility towers (i.e., gaming/utility tower125).

FIG. 3is another simplified diagram illustrating components of a system300for operation of a secure unmanned vehicle ecosystem according to embodiments of the present technology.FIG. 3illustrates a secure unmanned vehicle ecosystem for utility purposes in an urban environment according to embodiments of the present technology. The system300includes the unmanned vehicle115(e.g., drone) and the plurality of gaming/utility towers (i.e., gaming/utility tower125) in an urban environment for utility purposes. In various embodiments the plurality of gaming/utility towers (i.e., gaming/utility tower125) are used to control personal utilities including transportation. For example, the unmanned vehicle115(e.g., drone) and the plurality of gaming/utility towers (i.e., gaming/utility tower125) are used for transportation of personal items of a user within the urban environment.

FIG. 4is a simplified diagram of a graphical user interface400for operating a secure unmanned vehicle according to embodiments of the present technology. In various embodiments the graphical user interface400comprises tactile sensors comprising a speed ball405and a direction ball410for tactile control of the unmanned vehicle115(e.g., drone). In various embodiments the speed ball405comprises a drop sensor, a speed line sensor, and a lift sensor. In various embodiments the direction ball410comprises a forward sensor and a turn angle sensor. In some embodiments the graphical user interface400comprises a microphone/speaker415for voice activated control of the unmanned vehicle115(e.g., drone).

In various embodiments a user downloads APPs from the App Store105, using App Store servers, to the user computer system110and the user installs the download APPs from the user computer system110to the unmanned vehicle115(e.g., drone) to create a secure unmanned vehicle ecosystem. The App Store105authenticates APPs before uploading to the App Store servers and checks the APPs for security holes including any malicious code and authenticity of software.

In various embodiments the App Store105authenticates APPs before downloading to the user computer system110. For example, the user computer system110may be a user smart phone or another user device carrying a data connectivity chip. In some instances, the user computer system110uses an existing communications tower (e.g., existing mobile phone towers) or a satellite to download the APPs from the App Store servers of the App Store105.

In some embodiments the user computer system110uses the plurality of gaming/utility towers (i.e., gaming/utility tower125) to download the APPs from the App Store servers of the App Store105. The plurality of gaming/utility towers (i.e., gaming/utility tower125) isolate systems for a secure unmanned vehicle ecosystem from existing internet systems (e.g., existing mobile phone towers) making the plurality of gaming/utility towers (i.e., gaming/utility tower125) secure. The plurality of gaming/utility towers (i.e., gaming/utility tower125) are a separate network designed specifically for recreational purposes like gaming and utility applications (e.g., transportation of user goods) and for authenticity of users.

In various embodiments APPs from the App Store105are used to create a secure unmanned vehicle ecosystem and include various functions. In some instances functions include tactile control of the unmanned vehicle115(e.g., drone) using the tactile sensors of the graphical user interface400. In some instances functions include voice activated control of the unmanned vehicle115(e.g., drone) using the microphone/speaker415of graphical user interface400.

In some embodiments functions used to create a secure unmanned vehicle ecosystem with the graphical user interface400include creating a program from user inputs. For example, a user creates a personalized input by drawing using the tactile sensors comprising the speed ball405and the direction ball410. In some instances a user creates a personalized input with voice commands using the microphone/speaker415. The personalized input may be transferred to the unmanned vehicle115(e.g., drone) over a wired network or a separate identifier based network.

In some embodiments functions used to create a secure unmanned vehicle ecosystem with the graphical user interface400include verifying security of communication between the APPs and the unmanned vehicle115(e.g., drone).

In various embodiments functions used to create a secure unmanned vehicle ecosystem with the graphical user interface400include alerting a user for a malfunctioning of the unmanned vehicle115(e.g., drone).

In some embodiments functions used to create a secure unmanned vehicle ecosystem include controlling a hard stop of the unmanned vehicle115(e.g., drone) through primary test suite that is always available on object module of the unmanned vehicle115(e.g., drone) and can be run at any time by a user.

In various embodiments functions used to create a secure unmanned vehicle ecosystem include controlling a hard stop of the unmanned vehicle115(e.g., drone) explicitly by a user with an App.

In some embodiments functions used to create a secure unmanned vehicle ecosystem include informing a user in real-time a takeover status of the unmanned vehicle115(e.g., drone) with the takeover status including a takeover of the unmanned vehicle115(e.g., drone) at a code level. For example, the takeover status may be whether initial code on the unmanned vehicle115(e.g., drone) has been altered during flight.

In various embodiments functions used to create a secure unmanned vehicle ecosystem include informing a user in real-time a location status of the unmanned vehicle115(e.g., drone) using a Global Positioning System (GPS) on the unmanned vehicle115(e.g., drone).

In some embodiments functions used to create a secure unmanned vehicle ecosystem include altering a route of the unmanned vehicle115(e.g., drone) by transferring a new program to the unmanned vehicle115(e.g., drone) or by overriding an auto pilot mode by using tactile commands or voice commands. For example a user may override an auto pilot mode of the unmanned vehicle115(e.g., drone) using the graphical user interface400by delivering tactile input to the speed ball405and the direction ball410or verbal input the microphone/speaker415.

In various embodiments a secure communications channel to the unmanned vehicle115(e.g., drone) is established for a secure unmanned vehicle ecosystem. For example when code is transferred to the unmanned vehicle115(e.g., drone) a library compatibility test is completed. For example, when code is transferred through a development kit or through an APP to the unmanned vehicle115(e.g., drone) the library compatibility test is completed that determines whether the code to be transferred is compatible with code on the unmanned vehicle115(e.g., drone). For example, the code to be transferred is checked against a library of codes already on the unmanned vehicle115(e.g., drone) for compatibility. If the code to be transferred is not compatible with the library of codes already on the unmanned vehicle, the transfer is blocked. In various embodiments a manual override by a user overcomes the block of the transfer even when the code to be transferred is not compatible with the library of codes already on the unmanned vehicle.

In various embodiments a firmware compatibility test is completed between the library of codes already on the unmanned vehicle115(e.g., drone) and firmware on the unmanned vehicle115(e.g., drone). If the firmware compatibility test determines that a code of the library of codes already on the unmanned vehicle115(e.g., drone) is not compatible with the firmware on the unmanned vehicle115(e.g., drone), a compatible framework is automatically downloaded to update the firmware.

In some embodiments the library compatibility test and the firmware compatibility test detect a malicious code on the unmanned vehicle115(e.g., drone). In some instances a server confirms the signature of the firmware while the unmanned vehicle115(e.g., drone) is in operation (e.g., in-flight).

In various embodiments programs are verified using an asymmetric key that is used to verify whenever an APP is transferred to the unmanned vehicle115(e.g., drone) using the using the graphical user interface400by receiving tactile input to the speed ball405and the direction ball410or verbal input the microphone/speaker415.

FIG. 5is a block diagram500showing a drone module for operation of a secure unmanned vehicle ecosystem according to embodiments of the present technology. The drone module comprises a drone body505with a drone module slot510, a battery module515, a processor module520, and an attachment module525.

In various embodiments the drone module is made of a design for easy attachment of modules (e.g., the battery module515, the processor module520, and the attachment module525). In various instances the drone module is weight balanced and made from material that is temperature resistant and light weight.

In some embodiments the drone body505uses the drone module slot510that is located at a position of center of gravity of the drone body505and a position of center of gravity of the unmanned vehicle115(e.g., drone). The drone module slot510only allows adding modules (e.g., the battery module515, the processor module520, and the attachment module525) in a vertical axis.

In some embodiments the battery module515is attached above onto the processor module520and relays electrical current to the processor module520. The battery module515may relay power generated by sources such as photovoltaic generated power, fuel generated power, and the like. The battery module515provides power to the processor module520and the battery module515may be upgraded depending on time of operation and attachments required by the unmanned vehicle115(e.g., drone). All attachment modules comply with the unmanned vehicle115(e.g., drone) object module specifications, including size, weight, and power consumption requirements.

In some embodiments the processor module520includes a processor with a cache storage, a dual memory store, power distribution system, input data bus, output data bus, and a separate processor to relay the commands to the hardware of the unmanned vehicle115(e.g., drone).

FIG. 6is a block diagram showing a software stack600for a secure unmanned vehicle according to embodiments of the present technology. The software stack600comprises Duckyworx hardware605, attachment modules610, firmware615, Duckyworx Application Program Interfaces620(APIs), Duckyworx preprogramed modules625, third-party APPs630, user programs635, and user commands640.

In various embodiments a version of the firmware615controls limitations of the Duckyworx APIs620. The attachment modules610may include the battery module515, the processor module520, and the attachment module525.

In some embodiments the Duckyworx APIs620control various activities of the unmanned vehicle115(e.g., drone) by control of the Duckyworx hardware605. Functionalities of the Duckyworx APIs620include but are not limited to the following functionalities disclosed below.

Establishing a secure connection with the unmanned vehicle115(e.g., drone) by responding to calls from a smart device. For example, Input (Device ID, Connection Key, *). For example, Output (Device ID, Connection Key, Hash, *).

Run a battery test to predict the flight time available. For example, Input (Device ID, Connection Key, Hash, *, Approximate Weight of the unmanned vehicle115(e.g., drone) (Model ID, Attachments, Additional Payload)). For example, Output (Device ID, Connection Key, Hash, *, Time in minutes available).

Ascend the unmanned vehicle115(e.g., drone) vertically to a specific height over a time. For example, Input (Device ID, Connection Key, Hash, *, Height in Millimeters, Number of Milliseconds). For example, Output (Device ID, Connection Key, Hash, *, Ack).

Descend the unmanned vehicle115(e.g., drone) vertically to a specific height over a time. For example, Input (Device ID, Connection Key, Hash, *, Height in Millimeters, Number of Milliseconds). For example, Output (Device ID, Connection Key, Hash, *, Ack).

Ascend the unmanned vehicle115(e.g., drone) vertically to a specific height over a distance. For example, Input (Device ID, Connection Key, Hash, *, Height in Millimeters, Horizontal Distance in Millimeters). For example, Output (Device ID, Connection Key, Hash, *, Ack).

Descend the unmanned vehicle115(e.g., drone) vertically to a specific height over a distance. For example, Input (Device ID, Connection Key, Hash, *, Height in Millimeters, Horizontal Distance in Millimeters). For example, Output (Device ID, Connection Key, Hash, *, Ack).

Calculate an angle with a distance, direction, and an angle to Y-Z plane as an input.

Calculate an angle with a distance, direction and an angle to Y-Z plane as an input but with a steer back parameter and with a percentage of remaining distance, this function calls a steer back function to bring the unmanned vehicle115(e.g., drone) in exactly same direction as before the start of the turn.

Calculate an angle with a distance, direction, and an angle to Y-Z plane as an input but with an angle back parameter which will bring the unmanned vehicle115(e.g., drone) in exact same angle before the start of the turn.

Drive the unmanned vehicle115(e.g., drone) in a circle of a given radius and an angle to Y-Z plane.

Let the unmanned vehicle115(e.g., drone) throw itself for number of milliseconds with rotors off and start the rotors at the end of the interval in exact same position.

Land the unmanned vehicle115(e.g., drone) in an upright position in Y direction.

In various embodiments the Duckyworx preprogramed modules625include a basic APP for smart devices to control the unmanned vehicle115(e.g., drone) with tactile and voice commands. For example, a basic APP includes the graphical user interface400with the speed ball405and the direction ball410for tactile input. Furthermore, a basic APP includes the graphical user interface400with the microphone/speaker415for verbal input.

In various embodiments user programs635include a program to check locations in and around a house that can be controlled by using an App on a smart device.

In some embodiments the software stack600is used to control the unmanned vehicle115(e.g., drone) to accomplish the various functionalities using a computing system. A computing device is described further in relation to computing system1inFIG. 7. For example, functionalities implemented using the software stack600include voice commands to operate a camera of the unmanned vehicle115(e.g., drone) to capture video or images. Functionalities also include a laser tagging game using the unmanned vehicle115(e.g., drone) as shown inFIG. 2. In some instances a personalized video messaging system sends personalized video messages between players of the laser tagging game.

In some embodiments the software stack600is used to control the unmanned vehicle115(e.g., drone) to accomplish transportation purposes. For example, sending personal items of a user in an urban environment is shown inFIG. 3.

The example computer system1includes a processor or multiple processor(s)5(e.g., a central processing unit (CPU), a graphics processing unit (GPU), or both), and a main memory10and static memory15, which communicate with each other via a bus20. The computer system1may further include a video display35(e.g., a liquid crystal display (LCD)). The computer system1may also include an alpha-numeric input device(s)30(e.g., a keyboard), a cursor control device (e.g., a mouse), a voice recognition or biometric verification unit (not shown), a drive unit37(also referred to as disk drive unit), a signal generation device40(e.g., a speaker), and a network interface device45. The computer system1may further include a data encryption module (not shown) to encrypt data.

The disk drive unit37includes a computer or machine-readable medium50on which is stored one or more sets of instructions and data structures (e.g., instructions55) embodying or utilizing any one or more of the methodologies or functions described herein. The instructions55may also reside, completely or at least partially, within the main memory10and/or within the processor(s)5during execution thereof by the computer system1. The main memory10and the processor(s)5may also constitute machine-readable media.

One skilled in the art will recognize that the Internet service may be configured to provide Internet access to one or more computing devices that are coupled to the Internet service, and that the computing devices may include one or more processors, buses, memory devices, display devices, input/output devices, and the like. Furthermore, those skilled in the art may appreciate that the Internet service may be coupled to one or more databases, repositories, servers, and the like, which may be utilized in order to implement any of the embodiments of the disclosure as described herein.

It is noted at the outset that the terms “coupled,” “connected”, “connecting,” “electrically connected,” etc., are used interchangeably herein to generally refer to the condition of being electrically/electronically connected. Similarly, a first entity is considered to be in “communication” with a second entity (or entities) when the first entity electrically sends and/or receives (whether through wireline or wireless means) information signals (whether containing data information or non-data/control information) to the second entity regardless of the type (analog or digital) of those signals. It is further noted that various figures (including component diagrams) shown and discussed herein are for illustrative purpose only, and are not drawn to scale.

While specific embodiments of, and examples for, the system are described above for illustrative purposes, various equivalent modifications are possible within the scope of the system, as those skilled in the relevant art will recognize. For example, while processes or steps are presented in a given order, alternative embodiments may perform routines having steps in a different order, and some processes or steps may be deleted, moved, added, subdivided, combined, and/or modified to provide alternative or sub-combinations. Each of these processes or steps may be implemented in a variety of different ways. Also, while processes or steps are at times shown as being performed in series, these processes or steps may instead be performed in parallel, or may be performed at different times.