Systems and methods for UAV flight control

By developing methods and equipment for generating motion paths, the problem of existing flight control systems struggling to track target objects and avoid obstacles in complex environments has been solved. This enables intuitive interactive control and automatic flight, improving the ease of operation of the aircraft and the efficiency of payload utilization.

CN115220475BActive Publication Date: 2026-02-27SZ DJI TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210869678.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2015-12-09
Publication Date
2026-02-27
Estimated Expiration
2035-12-09

AI Technical Summary

Technical Problem

Existing flight control systems lack intuitive and easy-to-use interactive control and guidance systems, requiring operators to manually control the aircraft to fly around target objects and avoid obstacles. This is especially difficult when the position, shape, size, and orientation of the target object are changing, and vision-based and GPS-based methods are not effective in complex environments.

Method used

A method and apparatus are employed to generate the motion path of a movable object by obtaining the parameters of the target object. Intuitive interactive control is achieved using a computer processor and a graphical display, allowing users to adjust the flight trajectory through a graphical interface, automatically avoid obstacles, and adapt to changes in the target object.

Benefits of technology

It enables automatic tracking and obstacle avoidance in complex environments, reducing the burden of manual operation for users and improving the ease of operation of the aircraft and the efficiency of payload utilization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115220475B_ABST
    Figure CN115220475B_ABST
Patent Text Reader

Abstract

The present disclosure provides systems, methods, and devices for controlling one or more movable objects (302) through a graphical user interface. A method for controlling a movable object (302) can be provided. The method can include obtaining one or more parameters of a target object (308), and generating a motion path (310) for the movable object based on the one or more parameters of the target object (302). The motion path (310) can include a plurality of spatial points defined with respect to the one or more parameters of the target object (308). The plurality of spatial points can be configured to be on one or more planes.
Need to check novelty before this filing date? Find Prior Art

Description

BACKGROUND

[0001] Drones have a wide range of real-world applications, including surveillance, reconnaissance, exploration, logistics transportation, disaster relief, aerial photography, large-scale agricultural automation, real-time video broadcasting, and the like. In some applications, a drone carrying a payload (e.g., a camera) can be controlled to fly around a target object to acquire data or perform certain tasks. However, the development of practical flight control applications has been hindered by the lack of easily usable interactive control and guidance systems. The lack of easily usable interactive flight control and guidance systems can reduce the usefulness of drones in certain applications. SUMMARY

[0002] Currently, one or more operators can have to manually select a target object and manually control a drone to fly around and / or follow the target object. These operators can also have to manually control the drone to fly along a desired trajectory and / or avoid obstacles along the way. If the target object changes its position, size, shape, and / or orientation, the operators have to react to these changes and manually adjust the flight trajectory in real time. Currently known flight control systems generally require the operators to have some degree of aviation experience or manual skill to operate the drone, and provide limited real-time automatic control capabilities.

[0003] Accordingly, there is a need for intuitive and easily usable flight control systems that allow humans to manage and operate drones by interacting with a human-system interface. The burden of manually piloting the drone by the user can be greatly reduced, thus allowing the user to more easily focus on payload or task operations, such as visual monitoring and / or taking aerial images / videos of stationary or moving targets. In some cases, the payload or task operations can include observing a target object from different distances and / or at different angles or altitudes, dispensing materials (e.g., water for firefighting, or pesticides on a field for agricultural purposes), and a variety of other applications.

[0004] Improved flight control capabilities can allow a movable object to automatically fly around a target object via one or more complex flight trajectories without requiring significant manual input and / or operation by the user. As in some embodiments described herein, the user can easily adjust the flight trajectory to follow any path, shape, and / or form in real time by using, for example, a touch screen user terminal. Such improved flight control capabilities can be particularly useful when the position, shape, size, geometry, and / or orientation of the target object dynamically changes, or when the user transitions to focus on another target object while the movable object is flying around and / or tracking the target object. Such improved flight control capabilities can be incorporated into a drone, such as an unmanned aerial vehicle (UAV).

[0005] Currently known flight control methods can be based on Global Positioning System (GPS) data or camera vision.

[0006] In camera vision based methods, images captured by imaging devices positioned on the aerial vehicle can be used to control the aerial vehicle to fly around and / or track a target object. Vision based flight control methods can be manual or automatic.

[0007] For example, in some vision based manual flight control methods, images can be first captured using imaging devices and an operator can manually select a target object to be tracked from the images. This manual selection can be performed using an input device, such as a tablet, mobile device, or personal computer (PC). In some cases, the aerial vehicle can be configured to automatically fly around and / or track the target object after the operator has manually selected the target object using the input device. In other cases, the operator can need to continue to manually control the aerial vehicle to fly around and / or track the target object even after the target object has been selected.

[0008] Conversely, in some vision based automatic flight control methods, automatic flight control can be implemented using tracking algorithms that can automatically detect a particular type of object or an object carrying a marker. The object type can be based on different object categories (e.g., people, buildings, vehicles, scenery, etc.). The marker can include one or more optical markers including a unique pattern.

[0009] In vision based automatic flight control methods, a target object can be defined based on predetermined features (e.g., color, structure, salient features, etc.) and / or by modeling (e.g., object category). After the target object has been defined, movement of these features and / or models can be detected and computed in real-time as the target object moves. In these methods, a high degree of consistency in these features and / or models can typically be required in order to accurately track the target object. In particular, the level of tracking accuracy can depend on the spatial relationship between these features and / or errors in the models.

[0010] However, in many situations, visual recognition of the target object can be lost when the position, shape, size, geometry, and / or orientation of the target object changes, if the target object no longer has these predetermined characteristics, or if the target object no longer conforms to a previously known model. This problem is often exacerbated when the vehicle flies around the target object and captures images of the target object from different viewpoints. Each viewpoint provides a unique perspective of the target object. If the target object has an irregular shape, changes its position and / or orientation while the vehicle flies around and / or tracks the target object, or changes shape, these vision-based approaches can not account for these changes and can not be able to distinguish the target object from other surrounding objects.

[0011] Alternatively, vision-based approaches can not be sufficient when obstacles appear in the flight path between the vehicle and the target object. These obstacles can be stationary or can be able to move. In some cases, these obstacles can be a group of objects that move quickly, whereby the size and / or shape of the group can be amorphous and change over time as the objects move. Examples of such groups of objects can include, but are not limited to, a moving animal group (e.g., a herd of horses running on a plain, or a flock of birds flying in different formations), a group of people (e.g., a large group of people moving in a parade), a group of vehicles (e.g., a formation of airplanes performing an aerial stunt), or a group that includes different objects moving in different formations (e.g., a group that includes moving animals, people, and vehicles that are to be tracked). When these obstacles visually block the target object in the field of view of the camera on the vehicle, tracking of the target object can be lost because vision-based approaches generally require a clear line of sight between the camera and the target object.

[0012] In global positioning system (GPS) based flight control methods, an imaging device and a target object can each be equipped with a GPS device (e.g., a GPS receiver). The spatial relationship between the imaging device and the target object can be computed based on estimates of their real-time locations. The imaging device can be configured to fly around and / or track the target object based on their spatial relationship. However, such methods can be limited by GPS signal quality and availability of GPS signals. For example, global positioning system (GPS) based methods can not work indoors or when GPS signal reception is blocked by buildings and / or natural terrain features (e.g., valleys, mountains, etc.). These methods are based on GPS tracking and thus cannot be used when the target object(s) (e.g., a group of animals) do not carry GPS devices. In addition, GPS based methods cannot account for changes in the shape, size, geometry, and / or orientation of the target object and cannot provide sufficient information to adjust the flight trajectory of the flying vehicle when such changes occur. Furthermore, GPS based methods cannot account for obstacles in the path of the movable object.

[0013] Accordingly, there is a need to improve the tracking ability and robustness of flying vehicles under different conditions for a variety of different applications. These conditions can include changes in the location, shape, size, geometry, and / or orientation of the target object, indoor and outdoor environments, stationary obstacles, dynamically occurring obstacles, locations without GPS signals or with weak GPS signal reception, various terrains, etc. These applications can include flying around and / or tracking stationary target objects, moving target objects, or groups of moving target objects. These target objects can include target objects that do not carry GPS devices, and target objects that do not have well-defined features or fall into a known object category. These target objects can have regular shapes or irregular shapes. These target objects can dynamically change their location, shape, size, geometry, and / or orientation. For example, the shape, size, geometry, and / or orientation of these target objects can be amorphous and change over time. In some cases, these target objects can be in unstable states, e.g., a place just hit by a disaster (e.g., a fire or an earthquake). The flying vehicles can be configured to automatically or based on user input adjust the flight path to avoid obstacles and navigate around them. These obstacles can collectively form a group that can be amorphous in size and / or shape and change over time (e.g., a flock of birds), different obstacles moving in different forms (other flying vehicles), or any combination of the above. Provided herein are a variety of systems, methods, and devices to address at least the above needs.

[0014] For example, in some aspects of the invention, a method for controlling a movable object is provided. The method may include: obtaining one or more parameters of a target object; and generating a motion path of the movable object based on the one or more parameters of the target object, wherein the motion path includes a plurality of spatial points defined relative to the one or more parameters of the target object, and wherein the plurality of spatial points are configured to lie on one or more planes.

[0015] According to one aspect of the invention, an apparatus for controlling a movable object is provided. The apparatus may include one or more processors, individually or collectively configured to: obtain one or more parameters of a target object; and generate a motion path of the movable object based on the one or more parameters of the target object, wherein the motion path includes a plurality of spatial points defined relative to the one or more parameters of the target object, and wherein the plurality of spatial points are configured to lie on one or more planes.

[0016] According to another aspect of the present invention, a non-transient computer-readable medium is provided, the non-transient computer-readable medium storing, when executed, a plurality of instructions causing a computer to perform a method for controlling a movable object. The method may include: obtaining one or more parameters of a target object; and generating a motion path of the movable object based on the one or more parameters of the target object, wherein the motion path includes a plurality of spatial points defined relative to the one or more parameters of the target object, and wherein the plurality of spatial points are configured to lie on one or more planes.

[0017] According to an additional aspect of the invention, an unmanned aerial vehicle (UAV) system can be provided. The system may include devices operable to control the UAV. The devices may include one or more processors, individually or collectively configured to: obtain one or more parameters of a target object; generate a flight trajectory of the UAV based on the one or more parameters of the target object, wherein the flight trajectory includes a plurality of spatial points defined relative to the one or more parameters of the target object, and wherein the plurality of spatial points are configured to lie on one or more planes.

[0018] Another aspect of the invention relates to a method for controlling a movable object. The method may include: determining a second spatial point for the movable object located at a first spatial point relative to at least one target object; and generating a motion path for the movable object from the first spatial point to the second spatial point.

[0019] According to one aspect of the present invention, an apparatus for controlling a movable object is provided. The apparatus can include one or more processors individually or collectively configured to: determine, with respect to at least one target object, a second spatial point for the movable object at a first spatial point; and generate a motion path for the movable object from the first spatial point to the second spatial point.

[0020] According to another aspect of the present invention, a non-transitory computer- readable medium storing a plurality of instructions that, when executed, cause a computer to perform a method for controlling a movable object is provided. The method can include: determining, with respect to at least one target object, a second spatial point for the movable object at a first spatial point; and generating a motion path for the movable object from the first spatial point to the second spatial point.

[0021] According to one additional aspect of the present invention, an unmanned aerial vehicle (UAV) system can be provided. The system can include an apparatus operable to control the UAV. The apparatus can include one or more processors individually or collectively configured to: determine, with respect to at least one target object, a second spatial point for the UAV at a first spatial point; and generate a flight trajectory for the UAV from the first spatial point to the second spatial point.

[0022] Further aspects of the present invention can relate to a method of controlling a motion path of a movable object using a computer-implemented graphical display. The method can include: receiving input indicative of movement of one or more spatial points in any direction within a three-dimensional (3-D) space, wherein the one or more spatial points are visually depicted on the graphical display; and processing the input to generate a motion path for the movable object based on the movement of the one or more spatial points.

[0023] According to one aspect of the present invention, an apparatus for controlling a motion path of a movable object using a computer-implemented graphical display is provided. The apparatus can include one or more processors individually or collectively configured to: receive input indicative of movement of one or more spatial points in any direction within a three-dimensional (3-D) space, wherein the one or more spatial points are visually depicted on the graphical display; and process the input to generate a motion path for the movable object based on the movement of the one or more spatial points.

[0024] According to another aspect of the present disclosure, a non-transitory computer- readable medium storing a plurality of instructions that, when executed, cause a computer to perform a method for controlling a motion path of a movable object using a computer- implemented graphical display is provided. The method can include receiving input indicative of movement of one or more spatial points in any direction within a three-dimensional (3-D) space, wherein the one or more spatial points are visually depicted on the graphical display; and processing the input to generate a motion path of the movable object based on the movement of the one or more spatial points.

[0025] According to an additional aspect of the present disclosure, an unmanned aerial vehicle (UAV) system can be provided. The system can include a device operable to control a flight trajectory of the UAV. The device can include a computer-implemented graphical display and one or more processors individually or collectively configured to: receive input indicative of movement of one or more spatial points in any direction within a three-dimensional (3-D) space, wherein the one or more spatial points are visually depicted on the graphical display; and process the input to generate a flight trajectory of the UAV based on the movement of the one or more spatial points.

[0026] Further aspects of the present disclosure can relate to a method for controlling a movable object. The method can include generating a motion path including at least one spatial point defined with respect to one or more parameters of a target object; and determining one or more motion characteristics of the movable object for the at least one spatial point.

[0027] According to an aspect of the present disclosure, a device for controlling a movable object is provided. The device can include one or more processors individually or collectively configured to: generate a motion path including at least one spatial point defined with respect to one or more parameters of a target object; and determine one or more motion characteristics of the movable object for the at least one spatial point.

[0028] According to another aspect of the present disclosure, a non-transitory computer- readable medium storing a plurality of instructions that, when executed, cause a computer to perform a method for controlling a motion path of a movable object using a computer- implemented graphical display is provided. The method can include receiving input indicative of movement of one or more spatial points in any direction within a three-dimensional (3-D) space, wherein the one or more spatial points are visually depicted on the graphical display; and processing the input to generate a motion path of the movable object based on the movement of the one or more spatial points.

[0029] According to an additional aspect of the application, an unmanned aerial vehicle (UAV) system can be provided. The system can include a device operable to control a flight trajectory of the UAV. The device can include one or more processors individually or collectively configured to: generate the flight trajectory, the flight trajectory including at least one spatial point defined with respect to one or more parameters of a target object; and determine, for the at least one spatial point, one or more motion characteristics of the UAV.

[0030] It should be understood that different aspects of the application can be appreciated individually, collectively, or in any combination thereof. The various aspects of the application described herein can be applied to any of the specific applications set forth below or to any other type of movable object. Any description herein of an aerial vehicle can be applied to and used for any movable object, such as any vehicle. Moreover, the systems, devices, and methods disclosed herein in the context of aerial motion (e.g., flight) can also be applied in the context of other types of movement, such as movement on the ground or on water, underwater motion, or motion in space.

[0031] Other objects and features of the present application will be in part apparent and in part explicit herein. It is to be expressly understood that the drawings are included herein for illustrative purposes and that the application is not limited to the specific embodiments presented herein by way of example.

[0032] Incorporation by Reference

[0033] All publications, patents, and patent applications mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent, or patent application was specifically and individually indicated to be incorporated by reference. BRIEF DESCRIPTION OF DRAWINGS

[0034] The novel features of the application are set forth with particularity in the claims that follow. A better understanding of the features and advantages of the present application will be obtained by reference to the following detailed description that sets forth illustrative embodiments, in which the principles of the application are utilized, and the accompanying drawings of which:

[0035] Figure 1 An example of a system used in visual navigation is shown;

[0036] Figure 2 An example of communications that can occur in a visual navigation system is shown;

[0037] Figure 3 An example in which a motion controller can be used to control movement of a movable object along a motion path is shown in accordance with some embodiments;

[0038] Figure 4 A block diagram of inputs and outputs of a motion controller is shown in accordance with some embodiments;

[0039] Figure 5 An example of a user interface (UI) through which a user can cause a change in orientation of a motion path by tilting an axis of the motion path is shown, in accordance with some embodiments;

[0040] Figure 6 An example of a plurality of different motion paths defined based on different orientations of a target object is shown, in accordance with some embodiments;

[0041] Figure 7 An example of a user interface (UI) through which a user can select / move a point and cause a change in a location of a motion path is shown, in accordance with some embodiments;

[0042] Figure 8 An example of a plurality of motion paths defined with respect to a target object as the target object moves along an axis is shown, in accordance with some embodiments;

[0043] Figure 9 An example of a plurality of motion paths defined with respect to different selected points along the same axis on a target object is shown, in accordance with some embodiments;

[0044] Figure 10 An example of a plurality of motion paths defined with respect to different selected points along a plurality of different axes extending through a target object is shown, in accordance with some embodiments;

[0045] Figure 11 An example of how a movable object can move from one motion path to another motion path, in accordance with some embodiments, is shown;

[0046] Figure 12 An example of a user interface (UI) through which a user can control a movable object to fly from an initial location to an entry point on a motion path is shown, in accordance with some embodiments;

[0047] Figure 13 An example of a user interface (UI) through which a user can select / move a point to adjust a shape of a local region of a motion path is shown, in accordance with some embodiments;

[0048] Figure 14 An example of causing a change in a motion path by selecting and moving a plurality of different points along the motion path is shown, in accordance with some embodiments;

[0049] Figure 15An example of changing a local region of a motion path to avoid an obstacle according to some embodiments is shown;

[0050] Figure 16 An example of smoothing a local region of a motion path according to some embodiments is shown;

[0051] Figure 17 An example of multiple motion paths defined based on a shape / geometry of a target object according to some embodiments is shown;

[0052] Figure 18 An example of an out-of-plane change in a local region of a motion path according to some embodiments is shown;

[0053] Figure 19 An example of a 3-D motion path defined based on a contour of a target object according to some embodiments is shown;

[0054] Figure 20 An example of a 3-D motion path in the shape of a figure 8 defined based on a contour of a target object according to some embodiments is shown;

[0055] Figure 21 Multiple examples of 3-D motion paths in the shape of a figure 8 defined based on multiple different orientations of one target object according to some embodiments are shown;

[0056] Figure 22 An example of a 3-D motion path having an amorphous shape and defined with respect to a target object according to some embodiments is shown;

[0057] Figure 23 An example of a pose in which a movable object can be adjusted along a pitch axis, a roll axis, and / or a yaw axis as the movable object moves along a motion path according to some embodiments is shown;

[0058] Figure 24 An example of multiple different orientations of a vehicle as the vehicle navigates around a target object according to some embodiments is shown; and

[0059] Figure 25 is a schematic block diagram of a system for controlling a movable object according to some embodiments. DETAILED DESCRIPTION

[0060] The systems, methods, and devices provided herein can be used to improve the operational convenience of movable objects, such as unmanned aerial vehicles (UAVs). The motion control and tracking systems provided herein are intuitive and easy to use, and allow a human to manage and operate a movable object (e.g., a UAV) by interacting with a graphical human-system interface. The burden on the user to manually pilot the UAV can be greatly reduced, thus allowing the user to more easily focus on payload or mission operations, such as visual monitoring and / or taking aerial images of stationary or moving targets. The burden on the user to manually pilot the UAV can also be greatly reduced by controlling the UAV to follow a desired motion path and / or track a target object with the graphical human-system interface. The motion path can be defined with respect to one or more parameters of the target object (e.g., position, size, shape, and / or orientation).

[0061] The improved motion control and tracking capabilities can further allow a UAV to automatically fly around and / or track one or more stationary / moving target objects without requiring manual input and / or manual operation by a user. The improved motion control and tracking capabilities can be particularly useful when: (1) the target objects do not have well-defined features or fall into known object categories, and / or (2) the target objects are capable of dynamically changing their position, shape, size, geometry, and / or orientation. In particular, the improved motion control and tracking capabilities enable various different motion paths (e.g., flight paths and trajectories) to be defined depending on the state of the target objects. Examples of motion paths can include 2-dimensional and / or 3-dimensional flight paths and trajectories, as well as flight paths and trajectories of regular and / or irregular shapes. The improved motion control and tracking capabilities can also allow a UAV to avoid obstacles by the user adjusting a portion of the motion path via the graphical interface. It should be noted that the improved motion control and tracking capabilities can be incorporated into any type of aerial vehicle and any vehicle capable of traversing air, water, land, and / or space.

[0062] It should be appreciated that different aspects of the application can be appreciated individually, collectively, or in any combination thereof. The various aspects of the application described herein can be applied to any of the specific applications set forth below or to any other type of remote-controlled vehicle or movable object.

[0063] Figure 1An example of a system used in visual navigation is shown. A visual navigation system 100 can include a movable object 102 and a user terminal 106 capable of communicating with the movable object. The movable object can be configured to carry a payload 104. One or more motion characteristics of the movable object and / or payload can be controlled with the user terminal. For example, the movable object can be controlled with the user terminal to enable the movable object to navigate around a target object 108 in an environment. The movable object can also be controlled with the user terminal to enable the movable object to track or follow the target object in the environment. Additionally, the movable object can be controlled with the user terminal to enable the movable object to navigate along a specified motion path 110 in the environment.

[0064] The movable object 102 can be any object capable of traversing an environment. The movable object can be capable of traversing air, water, land, and / or space. The environment can include objects that are not capable of motion (stationary objects) as well as objects that are capable of motion. Examples of stationary objects can include geographical features, plants, landmarks, buildings, overall structures, or any fixed structure. Examples of objects that are capable of motion include people, vehicles, animals, projectiles, etc.

[0065] In some instances, the environment can be an inertial frame of reference. The inertial frame of reference can be used to consistently, isotropically, and in a time-independent manner describe time and space. The inertial frame of reference can be established with respect to a movable object and move in accordance with the movable object. Measurements in the inertial frame of reference can be converted to measurements in another frame of reference (e.g., a global frame of reference) by a transformation (e.g., Galilean transformation in Newtonian physics).

[0066] The movable object 102 can be a vehicle. The vehicle can be a self-propelled vehicle. The vehicle can traverse an environment by means of one or more propulsion units. The vehicle can be an aerial vehicle, a land-based vehicle, a water-based vehicle, or a space-based vehicle. The vehicle can be an unmanned vehicle. The vehicle can be capable of traversing an environment without a human occupant thereon. Alternatively, the vehicle can carry a human occupant. In some implementations, the movable object can be an unmanned aerial vehicle (UAV).

[0067] Any description herein of a UAV or any other type of movable object can apply to any other type of movable object or to a plurality of different categories of movable objects in the general sense, or vice versa. For example, any description herein of a UAV can apply to any unmanned land-, water-, or space-based vehicle. Further examples of movable objects are provided in greater detail elsewhere herein.

[0068] As described above, the movable object can be capable of traversing an environment. The movable object can be capable of flying in three dimensions. The movable object can be capable of spatial translation along one, two, or three axes. The one, two, or three axes can be orthogonal to each other. The axes can be along pitch, yaw, and / or roll axes. The movable object can be capable of rotation about one, two, or three axes. The one, two, or three axes can be orthogonal to each other. The axes can be pitch, yaw, and / or roll axes. The movable object can be capable of movement along up to 6 degrees of freedom. The movable object can include one or more propulsion units that can assist the movable object in moving. For example, the movable object can be a UAV with one, two, or more propulsion units. The propulsion units can be configured to generate lift for the UAV. The propulsion units can include rotors. The movable object can be a multicopter UAV.

[0069] The movable object can have any physical configuration. For example, the movable object can have a central body with one or more arms or branches extending from the central body. The arms can extend laterally or radially from the central body. The arms can be movable relative to the central body or can be stationary relative to the central body. The arms can support one or more propulsion units. For example, each arm can support one, two, or more propulsion units.

[0070] The movable object can have a housing. The housing can be formed from a single integral piece, two integral pieces, or multiple pieces. The housing can include a cavity in which one or more components are disposed. These components can be electrical components, such as a motion controller (e.g., a flight controller), one or more processors, one or more memory storage units, one or more sensors (e.g., one or more inertial sensors or any other type of sensor described elsewhere herein), one or more navigation units (e.g., a global positioning system (GPS) unit), one or more communication units, or any other type of component. The housing can have a single cavity or multiple cavities. In some cases, a motion controller (e.g., a flight controller) can be in communication with and / or can control the operation of one or more propulsion units. The motion controller (or flight controller) can be in communication with and / or control the operation of the one or more propulsion units by way of one or more electronic speed control (ESC) modules. The motion controller (or flight controller) can communicate with these ESC modules to control the operation of the propulsion units.

[0071] The movable object can support an on-board payload 104. The payload can have a fixed position relative to the movable object, or can be movable relative to the movable object. The payload can be spatially translated relative to the movable object. For example, the payload can be movable relative to the movable object along one, two, or three axes. The payload can be rotatable relative to the movable object. For example, the payload can be rotatable relative to the movable object about one, two, or three axes. These axes can be orthogonal to one another. These axes can be pitch, yaw, and / or roll axes. Alternatively, the payload can be fixed or integrated into the movable object.

[0072] The payload can be movable relative to the movable object by way of a carrier. The carrier can include one or more gimbal stages that can permit the carrier to move relative to the movable object. For example, the carrier can include a first gimbal stage that can permit the carrier to rotate relative to the movable object about a first axis, a second gimbal stage that can permit the carrier to rotate relative to the movable object about a second axis, and / or a third gimbal stage that can permit the carrier to rotate relative to the movable object about a third axis. Any of the descriptions and / or characteristics of the carrier described elsewhere herein can also apply.

[0073] The payload can include devices that can sense an environment surrounding the movable object, devices that can emit signals into the environment, and / or devices that can interact with the environment.

[0074] One or more sensors can be provided as a payload, and the sensors can be capable of sensing an environment. The one or more sensors can include an imaging device. The imaging device can be a physical imaging device. The imaging device can be configured to detect electromagnetic radiation (e.g., visible light, infrared light, and / or ultraviolet light) and generate image data based on the detected electromagnetic radiation. The imaging device can include a charge-coupled device (CCD) sensor or a complementary metal-oxide-semiconductor (CMOS) sensor that generates an electrical signal in response to a wavelength of light. The generated electrical signal can be processed to produce image data. The image data generated by the imaging device can include one or more images, which can be a still image (e.g., a photograph), a dynamic image (e.g., a video), or a suitable combination thereof. The image data can be multi-colored (e.g., RGB, CMYK, HSV) or monochromatic (e.g., grayscale, black and white, sepia). The imaging device can include a lens configured to direct light onto an image sensor.

[0075] The imaging device can be a camera. The camera can be a dynamic camera or a video camera that captures dynamic image data (e.g., a video). The camera can be a still camera that captures still images (e.g., photographs). The camera can capture both dynamic image data and still images. The camera can switch between capturing dynamic image data and still images. While certain embodiments provided herein are described in the context of a camera, it should be understood that the present disclosure can be applicable to any suitable imaging device, and any description herein with respect to a camera can also be applicable to any suitable imaging device, and any description herein with respect to a camera can also be applicable to other types of imaging devices. A camera can be used to generate multiple 2D images of a 3D scene (e.g., an environment, one or more objects, etc.). The images generated by the camera can represent a projection of the 3D scene onto a 2D image plane. Thus, each point in a 2D image corresponds to a 3D spatial coordinate in the scene. The camera can include optical elements (e.g., a lens, a mirror, a filter, etc.). The camera can capture color images, grayscale images, infrared images, etc. The camera can be a thermal imaging device when it is configured to capture infrared images.

[0076] In some embodiments, the payload can include multiple imaging devices, or one imaging device with multiple lenses and / or image sensors. The payload can be capable of taking multiple images substantially simultaneously. The multiple images can assist in creating a 3D scene, 3D virtual environment, 3D map, or 3D model. For example, a right image and a left image can be taken and used for stereographic mapping. A depth map can be calculated from the calibrated binocular images. Any number of images (e.g., 2 or more, 3 or more, 4 or more, 5 or more, 6 or more, 7 or more, 8 or more, 9 or more) can be taken simultaneously to assist in creating a 3D scene / virtual environment / model, and / or for depth mapping. The images can point substantially in the same direction or can point in a number of slightly different directions. In some cases, data from other sensors (e.g., ultrasonic data, LIDAR data, data from any other sensor described elsewhere herein, or data from an external device) can assist in creating a 2D or 3D image or map.

[0077] The imaging device can capture an image or series of images with a particular image resolution. In some embodiments, the image resolution can be defined by the number of pixels in the image. In some embodiments, the image resolution can be greater than or equal to about 352x420 pixels, 480x320 pixels, 720x480 pixels, 1280x720 pixels, 1440x1080 pixels, 1920x1080 pixels, 2048x1080 pixels, 3840x2160 pixels, 4096x2160 pixels, 7680x4320 pixels, or 15360x8640 pixels. In some embodiments, the camera can be a 4K camera or a camera with a higher resolution.

[0078] The imaging device can capture a series of images with a particular capture rate. In some embodiments, the series of images can be captured at a standard video frame rate such as about 24p, 25p, 30p, 48p, 50p, 60p, 72p, 90p, 100p, 120p, 300p, 50i, or 60i. In some embodiments, the series of images can be captured at a rate less than or equal to about one image per 0.0001 seconds, 0.0002 seconds, 0.0005 seconds, 0.001 seconds, 0.002 seconds, 0.005 seconds, 0.01 seconds, 0.02 seconds, 0.05 seconds, 0.1 seconds, 0.2 seconds, 0.5 seconds, 1 seconds, 2 seconds, 5 seconds, or 10 seconds. In some embodiments, the capture rate can change according to user input and / or external conditions (e.g., rain, snow, wind, unobvious surface texture of the environment).

[0079] An imaging device can have multiple adjustable parameters. An imaging device can capture different images with different parameters while being subjected to the exact same external conditions (e.g., location, lighting). Adjustable parameters can include exposure (e.g., exposure time, shutter speed, aperture, film speed), gain, gamma, region of interest, pixel binning / subsampling, pixel clock, offset, trigger, ISO, etc. Exposure-related parameters can control the amount of light that reaches an image sensor in an imaging device. For example, shutter speed can control the amount of time light is allowed to reach an image sensor while aperture can control the amount of light that reaches an image sensor in a given time. Gain-related parameters can control amplification of signals from an optical sensor. ISO can control the sensitivity level of a camera to available light. Parameters that control exposure and gain can be collectively considered and referred to as EXPO herein.

[0080] In some alternative implementations, an imaging device can extend beyond a physical imaging device. For example, an imaging device can include any technology capable of capturing and / or generating an image or video frame. In some implementations, the imaging device can refer to an algorithm capable of processing an image obtained from another physical device.

[0081] A payload can include one or more types of sensors. Some examples of sensor types can include: a location sensor (e.g., a global positioning system (GPS) sensor, a mobile device transmitter capable of enabling location triangulation), a vision sensor (e.g., an imaging device capable of detecting visible light, infrared light, or ultraviolet light, such as a camera), a proximity or range sensor (e.g., an ultrasonic sensor, a lidar, a time-of-flight camera, or a depth camera), an inertial sensor (e.g., an accelerometer, a gyroscope, and / or a gravity detection sensor, which can form an inertial measurement unit (IMU)), an altitude sensor, a posture sensor (e.g., a compass), a pressure sensor (e.g., a barometer), a temperature sensor, a humidity sensor, a vibration sensor, an audio sensor (e.g., a microphone), and / or a field sensor (e.g., a magnetometer, an electromagnetic sensor, a radio sensor).

[0082] A payload can include one or more devices capable of emitting a signal into an environment. For example, the payload can include emitters along the electromagnetic spectrum (e.g., visible light emitters, ultraviolet emitters, infrared emitters). The payload can include lasers or any other type of electromagnetic emitter. The payload can emit one or more vibrations, such as ultrasonic signals. The payload can emit audio sounds (e.g., from a speaker). The payload can emit wireless signals, such as radio signals or other types of signals.

[0083] The payload can be capable of interacting with the environment. For example, the payload can include a robotic arm. The payload can include an item for delivery, such as a liquid, a gas, and / or a solid component. For example, the payload can include a pesticide, water, fertilizer, fire extinguishing material, food, a package, or any other item.

[0084] Any example of a payload herein can apply to a device that the movable object can carry or that can be part of the movable object. For example, one or more sensors can be part of the movable object. The one or more sensors can be provided in addition to the payload. This can apply to any type of payload, such as those described herein.

[0085] The movable object can be capable of communicating with a user terminal 106. The user terminal can communicate with the movable object itself, with a payload of the movable object, and / or with a carrier of the movable object, where the carrier serves to support the payload. Any description herein for communication with a movable object can also apply to communication with a payload of the movable object, a carrier of the movable object, and / or one or more individual components of the movable object (e.g., a communication unit, a navigation unit, a propulsion unit, a power source, a processor, a memory storage unit, and / or an actuator).

[0086] Communication between the movable object and the user terminal can be wireless communication. Direct communication can be provided between the movable object and the user terminal. Such direct communication can occur without any intermediate devices or networks. Indirect communication can be provided between the movable object and the user terminal. Such indirect communication can occur with the aid of one or more intermediate devices or networks. For example, indirect communication can utilize a telecommunications network. Indirect communication can be performed with the aid of one or more routers, communication towers, satellites, or any other intermediate devices or networks. Examples of types of communication can include, but are not limited to, communication via the Internet, a local area network (LAN), a wide area network (WAN), Bluetooth, near field communication (NFC) technology, a network based on a mobile data protocol such as General Packet Radio Service (GPRS), GSM, Enhanced Data GSM Environment (EDGE), 3G, 4G, or Long Term Evolution (LTE) protocols, infrared (IR) communication technology, and / or Wi-Fi, and can be wireless, wired, or a combination thereof.

[0087] The user terminals can be any type of external device. Examples of user terminals can include, but are not limited to, a smart phone / cell phone, a tablet computer, a personal digital assistant (PDA), a laptop computer, a desktop computer, a media content player, a video game station / system, a virtual reality system, an augmented reality system, a wearable device (e.g., a watch, glasses, gloves, headwear (e.g., a hat, a helmet, a virtual reality headset, an augmented reality headset, a head mounted device (HMD), a pendant, an armband, a leg band, shoes, a vest), a pendant, an armband, a leg band, shoes, a vest), a gesture recognition device, a microphone, any electronic device capable of providing or rendering image data, or any other type of device. The user terminals can be handheld objects. The user terminals can be portable. The user terminals can be carried by a human user. In some cases, the user terminals can be remote from a human user, and a user can control the user terminals using wireless and / or wired communication. Various different examples and / or features of user terminals are provided in greater detail elsewhere herein.

[0088] The user terminals can include one or more processors that can be non-transitory computer-readable media capable of executing instructions that can provide for one or more actions. The user terminals can include one or more memory storage devices that include non-transitory computer-readable media that includes code, logic, or instructions for performing the one or more actions. The user terminals can include software applications that allow the user terminals to communicate with and receive imaging data from movable objects. The user terminals can include a communication unit that can permit communication with the movable objects. In some cases, the communication unit can include a single communication module, or multiple communication modules. In some cases, the user terminals can be capable of using a single communication link or multiple different types of communication links to interact with the movable objects.

[0089] The user terminal can include a display. The display can be a screen. The display can or can not be a touch screen. The display can be a light emitting diode (LED) screen, an OLED screen, a liquid crystal display (LCD) screen, a plasma screen, or any other type of screen. The display can be configured to display a user interface (UI) or a graphical user interface (GUI). The GUI can display an image that can permit a user to control the actions of a movable object, or to modify a motion path of the movable object. The motion path can include a flight path or a flight trajectory of the movable object. In some cases, a curve indicating the motion path can be displayed in the GUI. In other cases, a plurality of points indicating spatial points along the motion path can be displayed in the GUI. A user can select a target from the image. The target can be a stationary target or a moving target. The user can also select a direction of travel from the image. The user can also select a portion of the image (e.g., a point, an area, and / or an object) to define the target and / or the direction. The user can select the target and / or the direction by directly touching the screen (e.g., a touch screen). The user can touch a portion of the screen. The user can touch the portion of the screen by touching a point on the screen. The user can also generate a motion path of a movable object by drawing an outline on the screen. The motion path can be generated with respect to a target object. For example, the motion path can be generated with respect to a position, an orientation, a pose, a size, a shape, and / or a geometry of a target object. The user can change any portion of the motion path by adjusting (e.g., moving) different spatial points of the motion path on the screen. Alternatively, the user can select an area from a pre-existing set of areas on the screen, or can draw a boundary for an area, or can specify a portion of the screen in any other way. The user can select a target and / or a direction by selecting the portion of the image by means of a user interaction device (e.g., a mouse, a joystick, a keyboard, a trackball, a touchpad, a button, a verbal command, gesture recognition, a posture sensor, a thermal sensor, a touch capacitive sensor, or any other device). The touch screen can be configured to detect a touch location, a touch duration, a touch pressure, and / or a touch motion of the user, where each of the touch manners can indicate a specific input command of the user.

[0090] The image on the display can show a view collected by a payload of the movable object. For example, an image collected by an imaging device can be displayed on the display. This can be considered a first person view (FPV). In some cases, a single imaging device can be provided and a single FPV can be provided. Alternatively, multiple imaging devices with different fields of view can be provided. The view can be switched between the multiple FPVs or the multiple FPVs can be displayed simultaneously. The multiple FPVs can correspond to different imaging devices (or generated from) that can have different fields of view. A user at the user terminal can select a portion of the image collected by the imaging device to designate a target object and / or a motion path of the movable object.

[0091] In another example, the image on the display can show a graph that can be generated by information from a payload of the movable object. This graph can optionally be generated by multiple imaging devices (e.g., right camera, left camera, or more cameras) that can utilize stereo mapping techniques. In some cases, the graph can be generated based on position information about the movable object relative to the environment, the imaging device relative to the environment, and / or the movable object relative to the imaging device. The position information can include pose information, spatial position information, angular velocity, linear velocity, angular acceleration, and / or linear acceleration. Such a graph can optionally be generated by one or more additional sensors, such as described in more detail elsewhere herein. Such a graph can be a two-dimensional graph or a three-dimensional graph. The view can be switched between a two-dimensional graph view and a three-dimensional graph view or the two-dimensional graph view and the three-dimensional graph view can be displayed simultaneously. A user at the user terminal can select a portion of the graph to designate a target object and / or a motion path of the movable object. The view can be switched between one or more FPVs and one or more graph views or the one or more FPVs and the one or more graph views can be displayed simultaneously. The user can use any of these views to select a target and / or a motion path. The portion selected by the user can include the target and / or the motion path. The user can select the portion using any of the selection techniques described.

[0092] In some embodiments, the image can be provided in a 3D virtual environment displayed on a user terminal (e.g., a virtual reality system or an augmented reality system). The 3D virtual environment can optionally correspond to a 3D map. The virtual environment can include a plurality of points or objects that can be manipulated by a user. The user can manipulate the points or objects through a variety of different actions in the virtual environment. Examples of the actions can include selecting one or more points or objects, dragging and dropping, panning, rotating, spinning, pushing, pulling, zooming in, zooming out, etc. Any type of movement action on the points or objects in the three-dimensional virtual space can be contemplated. The user at the user terminal can manipulate the points or objects in the virtual environment to control a movement path of the movable object and / or one or more movement characteristics of the movable object.

[0093] The user terminal can optionally be used to control movement of the movable object, such as flight of a UAV. The user terminal can permit the user to manually directly control movement of the movable object. Alternatively, a separate device can be provided that can allow the user to manually directly control movement of the movable object. This separate device can or can not be in communication with the user terminal. Movement of the movable object can optionally be fully autonomous or semi-autonomous. The user terminal can optionally be used to control any component of the movable object (e.g., operation of a payload, operation of a carrier, one or more sensors, communication, navigation, a landing pad, actuation of one or more components, power control, or any other function). Alternatively, a separate device can be used to control one or more components of the movable object. This separate device can or can not be in communication with the user terminal. One or more components can be automatically controlled by means of one or more processors.

[0094] The target object 108 can be selected by a user. The movable object 102 can travel toward, navigate around, and / or visually track the target object. The target object can be a stationary target or a moving target. A motion path can be generated depending on whether the target object is a stationary target or a moving target. In some cases, a user can indicate whether the target is a stationary target or a moving target. Alternatively, a user can provide any other type of indicator that the target is a stationary or moving target. Alternatively, no indication can be provided and a determination can be made automatically by one or more processors, optionally without requiring user input that the target is a stationary target or a moving target and without selecting an appropriate motion path. A target object can be classified as a stationary target or a moving target depending on its state of motion. In some cases, a target object can be moving or stationary at any given point in time. When a target object is moving, the target object can be classified as a moving target. Conversely, when the same target object is stationary, the target object can be classified as a stationary target.

[0095] A stationary target can remain substantially stationary within an environment. Examples of stationary targets can include, but are not limited to, a landscape feature (e.g., a tree, a plant, a mountain range, a hill, a river, a stream, a creek, a valley, a boulder, a rock, etc.) or a man-made feature (e.g., a structure, a building, a road, a bridge, a pole, a fence, a stationary vehicle, a sign, a light, etc.). A stationary target can include a large target or a small target. A user can select a stationary target. A stationary target can be identified. Optionally, a stationary target can be mapped. The movable object can travel to and / or navigate around the stationary target and / or visually track the stationary object. A motion path (e.g., a flight path) can be planned for the movable object to travel to and / or navigate around the stationary target. Alternatively, the movable object can travel to and / or navigate around the stationary target without a planned path. In some cases, the stationary target can correspond to a selected portion of a structure or object. For example, a stationary target can correspond to a specific section (e.g., a top floor) of a skyscraper.

[0096] A moving target can be capable of moving within an environment. A moving target can be in motion at all times, or can be in motion for portions of a time. A moving target can move in a relatively stable direction or can change direction. A moving target can move in air, on land, under ground, on water or in water, and / or in space. A moving target can be a living moving target (e.g., a person, an animal) or a non-living moving target (e.g., a moving vehicle, a moving machine, an object flying in the wind or carried by water, an object carried by a living target). A moving target can include a single moving object or a group of moving objects. For example, a moving target can include a single person or a group of moving people. A moving target can be a large target or a small target. A user can select a moving target. A moving target can be identified. Optionally, a moving target can be mapped. The movable object can travel to and / or navigate around and / or visually track the moving target. A motion path (e.g., a flight path) can be planned to enable the movable object to navigate around the moving object. The path can be changed or updated as the moving object moves along the path. Alternatively, a movable object can travel to and / or navigate around and / or visually track a moving object without planning a path.

[0097] A moving target can be any object configured to move in any suitable environment, such as in air (e.g., a fixed-wing aircraft, a rotary-wing aircraft, or an aircraft having neither fixed wings nor rotary wings), in water (e.g., a ship or a submarine), on land (e.g., a motor vehicle, such as a car, a truck, a bus, a van, a motorcycle; a movable structure or frame, such as a pole, a fishing rod; or a train), under ground (e.g., a subway), in space (e.g., a spaceplane, a satellite, a probe), or any combination of these environments.

[0098] A moving target can be capable of moving freely within the environment with respect to six degrees of freedom (e.g., three translational degrees of freedom and three rotational degrees of freedom). Alternatively, movement of a moving target can be constrained with respect to one or more degrees of freedom, for example, to a pre-set path, track, or orientation. Such movement can be actuated by any suitable actuation mechanism, such as an engine or a motor. An actuation mechanism of a moving target can be powered by any suitable energy source, for example, electrical energy, magnetic energy, solar energy, wind energy, gravitational energy, chemical energy, nuclear energy, or any suitable combination thereof. A moving target can be self-propelled by a propulsion system as described further below. The propulsion system can optionally operate on an energy source, such as electrical energy, magnetic energy, solar energy, wind energy, gravitational energy, chemical energy, nuclear energy, or any suitable combination thereof.

[0099] In some cases, the moving target can be a vehicle, such as a remotely controlled vehicle. Suitable vehicles can include water-borne vehicles, air-borne vehicles, space-borne vehicles, or ground-borne vehicles. For example, an aerial vehicle can be a fixed-wing aerial vehicle (e.g., an airplane, a glider), a rotary-wing aerial vehicle (e.g., a helicopter, a multicopter), an aerial vehicle having both fixed- and rotary- wings, or an aerial vehicle having neither (e.g., a dirigible, a hot air balloon). A vehicle can be self-propelled, such as through air, on or in water, in space, or underground. A self-propelled vehicle can utilize a propulsion system, such as a propulsion system including one or more engines, motors, wheels, axles, magnets, rotors, propellers, paddles, nozzles, or any suitable combination thereof. In some cases, the propulsion system can be used to enable the movable object to take off from a surface, land on a surface, maintain its current position and / or orientation (e.g., hover), change orientation, and / or change position.

[0100] A user can select a motion path 110. The movable object 102 can travel along the user-selected motion path. The path can be selected by the user by providing input parameters associated with the path, or by selecting a portion of an image (e.g., in FPV or map view). The movable object can travel along the motion path until a retreat instruction is received or a retreat condition is reached. For example, the movable object can automatically travel along the motion path until a new path is input (when a portion of the motion path is changed) or a new target is input. The movable object can travel along the motion path until a different motion path is selected. For example, a user can manually control the motion of the movable object at any time while the movable object is moving.

[0101] Limitations can be provided for the travel of the movable object. In another case, conditions can be detected that motion limitations (e.g., flight limitations) can be applied. As described in more detail below, obstacle avoidance can occur while the movable object is traveling along the motion path. Additional limitations can also be applied, such as a flight ceiling, a flight floor, a restricted range, or other types of flight limitations.

[0102] Figure 2An example of communications that can occur in a vision navigation system is shown. In a vision navigation system 200, a user terminal 202 that can accept input from a user can be provided. The user terminal can include an output device 204. The user terminal can also be in communication with a motion controller 206, which can be in communication with an image analyzer 208. The image analyzer can be in communication with an imaging device 210. The imaging device can capture images that can include portions indicative of one or more target objects 212. For example, the portions can be indicative of one or more parameters of the target objects. The parameters can correspond to one or more physical and / or motion characteristics of the target objects. For example, the parameters can include a size 214a, a pose and / or orientation 214b, a geometry (e.g., dimensions, size, shape, etc.) 214c, and / or one or more motion characteristics (e.g., velocity and acceleration) 214d of the one or more target objects.

[0103] The user terminal 202 can include an output device 204 of the user terminal. The output device can be a display, such as a screen. A user can interact with the user terminal via the output screen. For example, when the output device is a touch screen, a user can manipulate visual objects in a GUI by various actions to select (touch) the visual objects in the GUI on the touch screen. Examples of the actions can include selecting one or more points or objects, drawing a shape, drag and drop, panning, rotating, spinning, pushing, pulling, zooming in, zooming out, etc. Any type of user action can be considered in the GUI. A user at the user terminal can manipulate the visual objects in the GUI to control a motion path (e.g., shape, size, and position of the motion path), a motion direction, a tracking function, and / or one or more motion characteristics of a movable object.

[0104] The display can have any of the features as described elsewhere herein. The display can be incorporated into the user device or can be provided separately from the rest of the user terminal. If provided separately from the rest of the user terminal, the display device can be in communication with the user terminal. Bidirectional communication can optionally be provided between the output device and the rest of the user terminal.

[0105] The user terminal can be configured to display one or more images on the output device through which a user can select a target and / or a motion path or adjust a motion path. As described previously, the images can include FPV and / or a map perspective. The images can include real images or virtual representations of targets and / or directions. The target objects and / or motion paths can be identified by a user who can select in the images. For example, a portion of an image selected by a user can become a target object. A portion of an image selected by a user can become a motion path. A user can also modify an existing motion path by selecting one or more portions of the image.

[0106] One or more imaging devices 210 can be provided. The one or more imaging devices can have substantially the same field of view or different fields of view. One or more of the imaging devices can be movable relative to the movable object, while one or more of the imaging devices can be stationary relative to the movable object. In one example, one or more of the imaging devices can be supported by a carrier that can permit the imaging device to move relative to the movable object. One or more of the imaging devices can be directly on the movable object, move with the same direction and speed as the movable object, and / or can not move relative to the movable object.

[0107] The one or more imaging devices can capture images of an environment. The environment can include one or more target objects 212. The target objects can be defined or determined by a user who can make selections in the images. The image data captured by the one or more imaging devices can correspond, for example, to still images or video frames of one or more objects. The objects can include any physical objects or structures that the movable object is capable of optically identifying and / or tracking in real time. Optical tracking has several advantages. For example, optical tracking allows for wireless'sensors', is less susceptible to noise, and allows for simultaneous tracking of many objects (e.g., different object types). The objects can be depicted in still images and / or video frames in 2D or 3D format, can be in real-life state and / or animated state, can be in color, black / white or grayscale, can be in any color space, or can be in a wireframe model.

[0108] The image analyzer 208 can optionally receive images from the one or more imaging devices. The image analyzer can be onboard the imaging device, onboard the carrier, onboard the movable object, or an external device (e.g., a user terminal, a server, etc.). In some embodiments, the image analyzer can be positioned remotely from the imaging device. For example, the image analyzer can be disposed in a remote server in communication with the imaging device. The image analyzer can be provided at any other type of external device (e.g., a remote control for a tracking device, an object carried by the target object, a reference location such as a base station, or another tracking device), or distributed across a cloud computing framework. In some embodiments, the image analyzer and the motion controller can be positioned on the same device. In other embodiments, the image analyzer and the motion controller can be positioned on different devices. The image analyzer and the motion controller can communicate through a wired or wireless connection. In some embodiments, the image analyzer can be positioned on the movable object. For example, the image analyzer can be disposed in a housing of the movable object. In other embodiments, the image analyzer can be disposed at a base station in communication with the movable object. The image analyzer can be located anywhere as long as the image analyzer is capable of (i) receiving a plurality of image frames captured at different times using one imaging device, and (ii) analyzing the plurality of image frames to determine one or more parameters of a selected target object.

[0109] In some embodiments, image data captured by the imaging device can be stored in a media storage (not shown) before the image data is provided to the image analyzer. The image analyzer can be configured to receive the image data directly from the media storage. In some embodiments, the image analyzer can be configured to receive image data from both the imaging device and the media storage simultaneously. The media storage can be any type of storage media capable of storing image data of a plurality of objects. As previously described, the image data can include video or still images. The image analyzer can process and analyze these videos or still images as described later in the specification. The media storage can be provided as a CD, DVD, Blu-ray disc, hard disk, magnetic tape, flash memory card / drive, solid state drive, volatile or non-volatile memory, holographic data storage, and any other type of storage media. In some embodiments, the media storage can also be a computer capable of providing image data to the image analyzer.

[0110] As another example, the medium storage can be a website server, enterprise server, or any other type of computer server. The medium storage can be a computer programmed to accept requests from the image analyzer (e.g., HTTP, or other protocol that can initiate data transfer) and serve the image analyzer with the requested image data. Additionally, the medium storage can be a broadcast facility for distributing image data, such as pay-per-view, cable, satellite, and other broadcast facilities. The medium storage can also be a server in a data network (e.g., a cloud computing network).

[0111] In some embodiments, the medium storage can be positioned to be on-board the imaging device. In some other embodiments, the medium storage can be positioned on the movable object itself but not on the imaging device. In yet some other embodiments, the medium storage can be located on one or more external devices external to the movable object and / or the imaging device. In these yet some other embodiments, the medium storage can be positioned on a remote controller, a ground station, a server, etc. Any arrangement or combination of the above components can be contemplated. In some embodiments, the medium storage can communicate with the imaging device and tracking device through a peer-to-peer network architecture. In some embodiments, the medium storage can be implemented using a cloud computing architecture.

[0112] The image data can be provided (e.g., in the form of image signals) to an image analyzer for image processing / analysis. In some examples, the image analyzer can be implemented as a software program executed in a processor and / or as hardware that analyzes the plurality of image frames to identify a target object and one or more parameters associated with the target object. For example, the image analyzer can be configured to analyze the image frames to identify a target object, such as a stationary target or a moving target. This can include detecting an object based on a user's input, such as selecting a portion of the image. For example, even if a single point is selected, an object corresponding to the point can be determined. The image analyzer can be further configured to analyze the image frames to identify one or more parameters associated with the target object. The parameters can include a size 214a, a pose and / or orientation 214b, a geometric shape (e.g., dimensions, size, shape, etc.) 214c, and / or one or more motion characteristics (e.g., velocity and acceleration) 214d of the one or more target objects.

[0113] The image analyzer can be configured to determine relative positions between the movable object and the target object. In some cases, the image analyzer can determine positions of the imaging device and / or movable object relative to an environment (e.g., an inertial frame of reference) and / or each other. The image analyzer can determine positions of the target object relative to an environment (e.g., an inertial frame of reference) and / or relative to the movable object (which can include the imaging device supported by the movable object). Optionally, the image analyzer can be assisted in determining position information with data from one or more additional sensors and / or external devices (e.g., IMU data or data from any other sensor described elsewhere herein). As described previously, position information can include spatial position (e.g., with reference to one, two, or three axes), attitude (e.g., with reference to one, two, or three axes), linear velocity, angular velocity, linear acceleration, and / or angular acceleration.

[0114] The resulting analysis of these image frames (in the form of analyzed signals) can be provided for display on an output device of a user terminal. For example, a map indicating the positions of the environment and / or individual objects within the environment and / or the movable object can be generated. This map can be a 2D or 3D map. This map can be displayed on the output device. Optionally, data from the image analyzer can be provided directly to a user terminal, which can display it on an output device without any intermediate analysis or processing. For example, data from the image analyzer can optionally be transmitted for display on an output device of the user terminal without passing through a motion controller.

[0115] Optionally, data from the image analyzer can be provided to a motion controller 206. The motion controller can be on-board the movable object, on-board a carrier, on-board the imaging device, and / or provided on an external device or network. The motion controller can be provided using any of the exemplary devices or configurations provided elsewhere herein for other components (e.g., image analyzer or memory).

[0116] The motion controller can control the motion of the movable object. For example, the motion controller can control the movable object to travel along a motion path in order to orbit a target object and / or track the target object. Alternatively, the motion controller can generate one or more motion instructions to be provided to one or more propulsion units of the movable object. The motion controller can optionally generate a motion path for the movable object. The motion path can be substantially fixed or can be variable or dynamic. The motion path can be configured to orbit a target object. The motion path can be a 2-dimensional (2-D) or 3-dimensional (3-D) curve. In some embodiments, the motion path can orbit a stationary object. The motion path can optionally orbit a moving object, and the heading and / or path can change as the object moves. Alternatively, a continuously changing motion path can be generated for a target object that is continuously changing its position, size, shape, geometry, and / or orientation. The motion path can remain unchanged until a retreat condition is detected (e.g., further input is detected, or a motion limit is applied). The retreat condition can also include the user adjusting one or more spatial points of the motion path on the display. The motion controller can be in communication with one or more propulsion units (not shown) of the movable object.

[0117] Information from one or more sensors can optionally be provided to the motion controller. For example, information from one or more sets of IMUs can be provided to the motion controller. The one or more sets of IMUs can be on-board the movable object, on-board the carrier, and / or on-board the payload. Data from the IMUs can indicate position information of the movable object, the carrier, and / or the payload. The motion controller can optionally use information from the one or more sensors to control the motion of the movable object. Information from the one or more sensors can optionally be used to control the position of the imaging device relative to the movable object and / or its environment.

[0118] The motion controller can receive information from the user terminal. The motion controller can receive information indicating a user selection of a target and / or a motion path or a user modification of the motion path or a portion thereof. The motion controller can generate or adjust the motion path of the movable object and / or control its motion in response to the selection of a target and / or any changes to the motion path.

[0119] Information from the motion controller can optionally be provided to the user terminal. For example, the user terminal can receive information regarding the motion path. The motion path and / or heading can optionally be displayed on the output device.

[0120] While the above description has focused on the use of a user terminal to select a target and / or a motion path, it is contemplated that the user terminal can be used to modify a motion path and / or a heading. For example, the user terminal can be used to adjust the position of one or more spatial points of a motion path.Figure 2 The components are shown as being operatively connected, but it should be understood that the configurations shown are for purposes of illustration only. Some components or devices can be removed, and others can be added.

[0121] Figure 3 An example is shown in which a motion controller can be used to control a movable object to travel along a motion path, according to some embodiments. The motion path can be defined with respect to a target object, as described below.

[0122] Referring to Figure 3 , a motion controller 306 can be configured to transmit signals to a movable object 302 and control the movable object to move along a motion path 310 based on the transmitted signals. The motion controller can be part of the movable object or separate from it. For example, in some embodiments, the motion controller can be integrated into the movable object. In other embodiments, the motion controller can be remote from the movable object (e.g., the motion controller can be located at a remote controller and / or a user terminal). The motion path can be defined with respect to a target object 308. In Figure 3 In the example shown, the motion path can be an ellipse. An axis extending from the target object can pass through the center O of the ellipse. The center O can be spaced apart from the target object by a distance d. It should be noted that the shape of the motion path need not be limited to an ellipse, but can include any other regular or irregular (amorphous) shape. The motion path can be 2-D or 3-D, and can be in one or more planes. The motion path can be in the air, in space, on the ground, under the ground, on water, under water, or any combination thereof.

[0123] The motion controller can control the movable object to travel to an entry point 310-1 located along the motion path. The movable object can be configured to navigate around the target object by moving along the motion path. As Figure 3 shown, the movable object can be configured to navigate around the target object at a distance r. The distance r can be constant or variable, depending on the eccentricity of the ellipse. When the eccentricity of the ellipse is 0, the ellipse is a circle and the distance r is constant. Conversely, when the eccentricity of the ellipse is greater than 0 and less than 1, the distance r is a variable and can change depending on the major and minor axes of the ellipse.

[0124] Using Figure 3Systems of the present disclosure can implement a method for controlling a movable object (e.g., a UAV). The method can include obtaining one or more parameters of a target object, and generating a motion path for the movable object based on the one or more parameters of the target object. The motion path can include a plurality of spatial points defined with respect to the one or more parameters of the target object. The plurality of spatial points can be configured to be on one or more planes. For example, in some embodiments, the plurality of spatial points can be configured to be on the same plane. In other embodiments, the plurality of spatial points can be configured to be on a plurality of different planes. In some embodiments, the motion path for the movable object can be a flight path or trajectory, and can be generated by the motion controller (e.g., a flight controller) and / or a user terminal.

[0125] The one or more parameters of the target object can be obtained from a plurality of images captured using one or more imaging devices. Such one or more parameters can be indicative of visual features of the target object. For example, in some embodiments, the one or more parameters can include a shape and / or an orientation of the target object. The motion controller can be configured to generate the motion path for the movable object based on the shape and / or the orientation of the target object. One or more spatial points in the motion path can be defined with respect to the shape and / or the orientation of the target object. In some cases, one or more spatial points in the motion path can be adjusted automatically or via user input when the shape and / or the orientation of the target object changes. The one or more parameters can also include one or more dimensions of the target object. Examples of dimensions can include a length, a width, a height, a circumference, a perimeter, a surface area, and / or a volume of the target object.

[0126] The target object can have a regular shape or an irregular (amorphous) shape. In some cases, the shape of the target object can be fixed. In other cases, the shape of the target object can be capable of changing over time. In some implementations, the size of the target object can remain the same as the shape of the target object changes. For example, a target object can change from a cubical shape to a spherical shape or any other shape, but remain the same size (e.g., the same volume). In other implementations, the size of the target object can change as the shape of the target object changes. For example, the size of the target object can increase or decrease as the shape of the target object changes. One or more of the spatial points in the motion path can be adjusted as the shape and / or size of the target object changes. In some cases, the adjustment of these spatial points can occur as the shape of the target object changes, and can be independent of any changes in the size of the target object. In some other cases, the adjustment of these spatial points can occur as both the shape and size of the target object change. The adjustment of these spatial points can change the shape and / or size of the outline encompassed by the motion path in order to compensate for the changes in the shape and / or size of the target object.

[0127] In some implementations, the target object can have a fixed orientation. In other implementations, the orientation of the target object can be capable of changing over time. One or more of the spatial points in the motion path can be adjusted as the orientation of the target object changes. The orientation of the target object can include the pose of the target object (when the target object is capable of rotating about one or more of a pitch axis, a roll axis, and a yaw axis). The orientation of the target object can also include the tilt angle of the target object. The tilt angle can be measured between a portion of the target object and a reference plane. The portion of the target object can be located anywhere on the target object (e.g., on an edge surface, a bottom surface, a side surface, or a top surface of the target object). The reference plane can be arranged horizontally with respect to a ground plane, tilted with respect to a ground plane, or arranged vertically with respect to a ground plane. Alternatively, the reference plane can be the ground plane itself. Optionally, the reference plane can be an imaginary plane floating in a three-dimensional (3-D) space. Any orientation of the reference plane in the 3-D space can be considered.

[0128] The tilt angle can be defined with respect to the reference plane. In some cases, the tilt angle can be a right angle, such that the target object is disposed perpendicular to the reference plane. In other cases, the tilt angle can be an acute angle or an obtuse angle, such that the target object is tilted with respect to the reference plane. Any range of values for the tilt angle in any direction (ranging from about 0 degrees to about 360 degrees) can be considered.

[0129] In some embodiments, an axis extending through the target object can be defined. The axis can be a revolution axis that can define the motion path. The movable object can be configured to move or navigate around the revolution axis. In some cases, the motion path can traverse in an elliptical shape around the revolution axis. The revolution axis can extend through a center of the elliptical motion path. In some cases, the revolution axis can be offset from the center of the elliptical motion path. The revolution axis can intersect with: (1) a plane within the elliptical shape, (2) a circumference of the elliptical shape, or (3) a plane outside of the elliptical shape.

[0130] The revolution axis can be defined based on an orientation of the target object. The revolution axis can extend in different directions from the reference plane at the tilt angle. For example, the revolution axis can be orthogonal to the reference plane when the tilt angle is a right angle. Alternatively, the revolution axis can be skewed with respect to the reference plane when the tilt angle is an acute angle or an obtuse angle. The revolution axis can be configured to extend in any direction in three-dimensional space depending on the tilt angle. In some embodiments, the revolution axis can be orthogonal to one or more planes. In other embodiments, the revolution axis can be skewed with respect to one or more planes. In some cases, the revolution axis can intersect with one or more planes. Alternatively, the revolution axis can be parallel to one or more planes. One or more segments of the motion path can lie on the one or more planes, as described later in this specification.

[0131] In some embodiments, a shape and / or an orientation of the target object can change with one or more movement features of the target object. The movement features of the target object can include at least one of a velocity, an acceleration, and a pose of the target object.

[0132] In some embodiments, the one or more parameters of the target object can include a position of the target object. The motion path can be generated based on the position of the target object. For example, the plurality of spatial points in the motion path can be defined with respect to the position of the target object. The plurality of spatial points can be positioned away from the position of the target object. Optionally, at least one spatial point can be positioned at the position of the target object. For example, at least one spatial point can be positioned on a portion of the target object.

[0133] In some embodiments, the motion path can be three-dimensional such that the plurality of spatial points are in more than one plane. For example, the plurality of spatial points can be defined such that the motion path forms a 3-D profile that includes two or more segments in different planes. The profile can be a closed profile or an open profile. When the profile is an open profile, one or more segments of the profile can not be connected to an adjacent segment. The profile can have a regular shape or an irregular (amorphous) shape.

[0134] In a 3-D motion path, the plurality of spatial points can be configured to be in a plurality of different planes. The planes can be disposed at different angles with respect to each other. In some cases, two or more planes can be parallel to each other. In other cases, two or more planes can intersect each other. In some embodiments, a first set of planes can be parallel to each other and a second set of planes can intersect each other.

[0135] In some embodiments, a first set of spatial points can be configured to be in a first plane and a second set of spatial points can be configured to be in a second plane. The first plane and the second plane can be parallel to each other. Alternatively, the first plane and the second plane can intersect each other at an angle. The angle can be an acute angle or an obtuse angle, such that the first plane and the second plane are skewed with respect to each other. In some cases, the angle can be a right angle, such that the first plane and the second plane are perpendicular to each other.

[0136] In some embodiments, a plurality of vectors can be defined from the position of the target object to the plurality of spatial points. The position of the target object can be used as a reference point from which the plurality of vectors can be defined. Each vector can include a magnitude and a direction. The direction can be determined by an angle between the vector and a plane that passes through the position of the target object. The plane can be a horizontal plane or a vertical plane. Alternatively, the plane can be oriented in any direction with six degrees of freedom with respect to the target object. The plurality of vectors can have different directions and be in different planes.

[0137] The movable object can be configured to move along the motion path. For example, the movable object can be controlled by the motion controller and / or a user terminal to move along the motion path. The motion path can correspond to a flight trajectory or a portion of the flight trajectory.

[0138] Figure 4 A block diagram showing inputs and outputs of a motion controller is shown in accordance with some embodiments. As shown, the motion controller can be configured to receive a plurality of signals. The plurality of signals can include: (1) one or more target object parameters; (2) one or more motion path parameters; (3) one or more movable object parameters; and / or (4) one or more external inputs. The motion controller can be configured to generate a motion path for a movable object based on one or more of these input signals. Figure 4

[0139] The one or more target object parameters can include a longitude, a latitude, and / or an altitude of the target object. The longitude, latitude, and / or altitude can be used to determine a position of the target object in 3-D space. The one or more target object parameters can further include a vector corresponding to an imaginary axis extending from the target object. The vector / imaginary axis can indicate an orientation of the target object. In some cases, the vector / imaginary axis can pass through a central portion of the target object. The central portion of the target object can include a set of Cartesian coordinates of the target object in 3-D space. In some embodiments, the position of the target object can correspond to an accurately observed position having a set of known global spatial coordinates. In some embodiments, the position of the target object can be obtained from one or more global navigation satellite system (GNSS) position measurements of the target object.

[0140] In some embodiments, a single imaging device or multiple imaging devices can be used to determine the position of the target object. For example, a single imaging device, a time-of-flight (TOF) camera, can be used to determine the position of the target. A time-of-flight camera (TOF camera) can be a range imaging camera system that resolves distance based on the known speed of light by measuring the time of flight of a light signal between the camera and an object for each point of an image. In some cases, using a TOF camera can improve tracking accuracy. In some embodiments, multiple imaging devices can be used to obtain a stereoscopic mapping of the position of the target object in 3-D space.

[0141] ​The one or more motion path parameters can include a convolve distance defined from an axis and / or position of the target object. The convolve distance can determine a size and / or shape of the motion path. For example, a small convolve distance can result in a compact (short) motion path around the target object, while a large convolve distance can result in an elongated (long) motion path around the target object. When the motion path is an ellipse, a major axis and a minor axis of the ellipse can be determined based on the convolve distance. The convolve distance can be constant or variable. When the convolve distance is constant, multiple points in the motion path can be on the same plane. In contrast, when the convolve distance is variable, the multiple points in the motion path can be on one or more planes and the motion path can be 2-D or 3-D. A user can set a maximum value and / or a minimum value that the convolve distance cannot exceed or fall below. The maximum value can ensure that the movable object does not move too far away from the target object. In contrast, the minimum value can ensure that the movable object does not move too close to the target object. In some embodiments, a distance between each spatial point on the motion path and the position of the target object can be greater than a first predetermined distance and less than a second predetermined distance. The first predetermined distance and the second predetermined distance can define a zone within which the motion path can be located.

[0142] In some embodiments, the one or more motion path parameters can further include an entry point along the motion path. The movable object can be controlled to enter the motion path at the entry point and begin navigating around and / or following the target object by moving along the motion path. In some cases, the movable object does not have to travel along the entire length of the motion path and can travel along only a portion of the motion path. In these cases, the one or more motion path parameters can include a travel angle. The travel angle can define the portion of the motion path along which the movable object flies. The travel angle can be a value greater than 0 degrees. When the travel angle is 180 degrees, the movable object can travel half of the motion path. When the travel angle is 360 degrees, the movable object can travel along the entire motion path. When the travel angle is 540 degrees, the movable object can travel 1.5 times the motion path. When the travel angle is 720 degrees, the movable object can travel 2 times the motion path. When the travel angle is less than 360 degrees, the movable object can move along a portion of the motion path that is less than the total length of the motion path. For example, the travel angle can define an arc along the motion path. A first end of the arc can be defined by the entry point and a second end of the arc can be defined by an exit point. The movable object can be configured to enter the motion path at the first end of the arc, move along the arc, and exit the motion path at the second end of the arc.

[0143] In some embodiments, the one or more motion path parameters can further define a manner in which the movable object flies from its current location to the entry point of the motion path. For example, the movable object can first move vertically from its current location and then move horizontally toward the entry point. Alternatively, the movable object can first move horizontally from its current location and then move vertically toward the entry point. Alternatively, the movable object can move diagonally (horizontally and vertically) from its current location toward the entry point. The motion path from the current location to the entry point does not have to be straight. In some embodiments, the movable object can move in a curved manner from its current location to the entry point, for example in order to avoid obstacles along the path or to counteract weather effects (e.g., wind direction / speed, changes in altitude pressure, etc.).

[0144] The one or more movable object parameters can include one or more motion characteristics that the movable object has while moving along the motion path. These motion characteristics can include velocity, acceleration, altitude, attitude, and / or orientation of the movable object along the motion path. Velocity can include linear velocity and / or angular velocity. Likewise, acceleration can include linear acceleration and / or angular acceleration. The movable object can be configured to move along the motion path according to the one or more motion characteristics.

[0145] The one or more external inputs can include one or more inputs provided by one or more users. The one or more inputs can be provided prior to the movable object moving or in real-time as the movable object moves along the motion path. The one or more external inputs can include changing the position of one or more spatial points along the motion path. In some embodiments, a user can change the position of one or more spatial points by using a computer-implemented graphical display. The motion path (and / or the plurality of spatial points thereon) can be visually depicted on the graphical display. The user can move one or more of these visually depicted spatial points between different positions on the graphical display, for example, by using an input device (e.g., a mouse or a touch screen). Movement of the one or more spatial points can cause the motion path to change. For example, the portion of the motion path that is proximate to the moved one or more spatial points can change based on the movement of the one or more spatial points. Local and dynamic movement of one or more spatial points can provide certain advantages for motion control. For example, a user can move one or more spatial points prior to the movable object moving or in real-time as the movable object moves along the motion path, such that the movable object can avoid obstacles along the motion path. It is not necessary to regenerate the entire motion path as the spatial points move. Rather, local regions of the motion path can be adjusted depending on the presence of obstacles in these regions.

[0146] In some embodiments, the power level of the movable object can be monitored as the movable object moves along the motion path. The movable object can be controlled to deviate from the motion path when the power level is less than a threshold power. For example, the movable object can be controlled to return to an initial departure location. In some cases, the movable object can be controlled to travel to the location of the target object. In other cases, the movable object can be controlled to travel to a predetermined location. The predetermined location can or can not correspond to the initial departure location or the location of the target object.

[0147] Figure 5An example of a user interface (UI) through which a user can cause a change in orientation of a motion path by skewing an axis of the motion path is shown in accordance with some embodiments. Part A shows an initial display of an environment including a target object and a motion path. Part B shows a user selecting a point along an axis and skewing the axis by moving the point to a different location on the display. Part C shows the motion path having a different orientation after the axis has been skewed.

[0148] Part A shows an initial display of an environment including a target object 502. An axis 504 extending through the target object can be defined. A motion path 506 can be defined with respect to a position of the target object and the axis. The axis 504 can extend orthogonally through a plane defined by the motion path. In some cases, the axis 504 can extend through a center of the plane defined by the motion path. The center of the plane can or can not coincide with the position of the target object. A movable object (not shown) can be configured to move along the motion path in order to orbit the target object. In Part A, the motion path can be in the shape of an ellipse, but need not be so limited. For example, the motion path can have any regular or irregular (amorphous) shape, and can be 2-D or 3-D.

[0149] In some embodiments, such a display can be provided as FPV (first person view). The FPV can include real-time streaming images from an imaging device. The imaging device can be a payload of the movable object. The imaging device can be mounted on a body of the movable object. In some cases, the imaging device can be located at a different location remote from the movable object. In some cases, the imaging device can be positioned on another movable object. The FPV can alternatively be a graphical depiction or representation of images from the imaging device. The target object is within a field of view of the imaging device. In some cases, the target object can be a standalone object. In other cases, one or more other objects can be orbiting or proximate to the target object. The target object can be stationary and / or capable of movement. The movable object can be stationary or moving at the time of the initial display of the environment.

[0150] Other types of views can be presented instead of or in conjunction with the FPV. For example, in some embodiments, a map view can be provided. The map view can include a 2-D map, such as a top view. The map view can include a 3-D map. The 3-D map can be variable to view the 3-D environment from a variety of different angles. As described previously herein, a perspective rendering, wireframe or other type of image can be shown.

[0151] The display can be shown on a user terminal. The user can optionally hold the user terminal. The user can interact with this display by selecting different points or objects in the FPV. The user can also generate and / or modify a motion path of a movable object by selecting different points or objects in the FPV.

[0152] Part B shows a user selecting a point 504-1 along an axis 504 and tilting the axis by moving the point 504-1 in a direction 508 on the display. The direction 508 can be a clockwise direction as seen from the user's point of view. The point 504-1 can be anywhere along the axis 504. The axis 504 can be selected when the user selects the point 504-1. The user can move the axis 504 in one or more degrees of freedom on the display. In some embodiments, when the image comprises a 3-D graph, the user can move the axis in six degrees of freedom by manipulating the axis in different configurations on the display. For example, the user can translate and / or rotate the axis along the X-axis, Y-axis, and / or Z-axis on the 3-D graph.

[0153] Part C shows a motion path 506' having a different orientation after the axis 504 has been tilted. As shown in parts B and C, the user can rotate the axis 504 in the direction 508 by an angle Θ by moving the selected point 504-1 to another location 504-2. The rotation can result in a tilted axis 504'. As described above, a motion path can be defined with respect to the position of the target object and the axis. When the orientation of the axis changes, the orientation of the motion path can change accordingly. As shown in part C, the motion path 506' can be defined with respect to the axis 504'. When the orientation of the motion path changes from 506 to 506', the movable object can be configured to switch course and move along the motion path 506'.

[0154] In some embodiments, the change in the orientation of the axis / motion path can be the same. For example, when the axis 504 is tilted by an angle Θ, the plane defined by the motion path can also be tilted by the angle Θ in the same direction.

[0155] In some alternative implementations, the change in orientation of the axis / motion path can be proportional and / or inversely proportional. For example, when the axis 504 is tilted by an angle Θ, the plane defined by the motion path can be tilted by an angle φ (not shown). The angle φ can be less than or greater than the angle Θ and can be in the same direction or a different direction as the angle Θ. For example, the relationship between the angle Θ and the angle φ can be φ = n · Θ, where n can be a fraction or an integer and can be positive or negative. In some cases, when n is less than 1, a large tilt of the axis can translate to a small change in orientation of the motion path. Conversely, when n is an integer greater than 1, a small tilt of the axis can translate to a large change in orientation of the motion path. The user can adjust the value of n based on motion control sensitivity / preference. For example, a less experienced user can choose n to be less than 1 (lower tilt sensitivity), while an experienced user can choose n to be greater than 1 (higher tilt sensitivity).

[0156] Figure 6 Examples of a plurality of different motion paths defined based on different orientations of a target object are shown in accordance with some implementations. Part A shows an environment including a target object 602. The target object can be a point of interest, such as a building. An axis 604 extending through the length of the target object can be defined. The target object can be disposed normal to a horizontal ground plane. As such, the axis can extend orthogonally to the horizontal ground plane. A motion path 606 can be defined with respect to the position of the target object and the axis. The axis can extend orthogonally through a plane defined by the motion path. In some cases, the axis can extend through the center of the plane defined by the motion path. The center of the plane can or can not coincide with the position of the target object. A movable object can be configured to move along the motion path to orbit the target object. In part A, the motion path can be in the shape of an ellipse, but need not be so limited. For example, the motion path can have any regular or irregular (amorphous) shape and can be a 2-D or 3-D random curve.

[0157] In part B, the target object can have a different orientation than shown in part A. In part B, the target object 602 can be tilted by an angle Θ with respect to the horizontal ground plane. Accordingly, an axis 604' extending through the length of the target object can be tilted by the angle Θ with respect to the horizontal ground plane. As described above, a motion path can be defined with respect to the position of the target object and the axis. When the orientation of the axis / target object changes, the orientation of the motion path can change accordingly. As shown in part B, a motion path 606' can be defined with respect to the axis 604'. A plane defined by the motion path 606' can be tilted by the angle Θ in the same direction. Accordingly, the motion path can be configured / adjusted to account for the change in orientation of the target object.

[0158] In some embodiments, the target object does not have to be located on a horizontal ground plane. For example, as shown in part C, a target object 602 can be freely disposed within a spatial environment. The target object can be stationary, hovering, or moving (e.g., an aircraft) in the spatial environment. An axis 604" extending through the length of the target object can be defined. A motion path 606" can be defined with respect to the position of the target object and the axis 604". The axis can extend orthogonally through a plane defined by the motion path. A movable object can be configured to move along the motion path 606" to orbit the target object. Part C shows that the orientation of the motion path can be modified in any manner in 3-D space depending on the orientation of the target object, and does not have to be limited to target objects positioned on a ground plane.

[0159] In some embodiments, a method of controlling a movable object can be implemented by using a motion controller and / or a user terminal. The method can include determining a second spatial point for the movable object at a first spatial point with respect to at least one target object; and generating a motion path for the movable object from the first spatial point to the second spatial point.

[0160] The method can further include dynamically adjusting the second spatial point based on user input. The user input can indicate a change in the second spatial point, and / or a change between the first spatial point and the second spatial point. The user input can be provided by one or more users using a computer-implemented graphical display. The first spatial point and the second spatial point can be visually depicted on the computer-implemented graphical display. The user input can include moving the visually depicted first spatial point and / or second spatial point between different locations on the computer-implemented graphical display. The motion path can be automatically updated based on the change in the second spatial point, and / or the change between the first spatial point and the second spatial point. The movable object can be configured to move along the updated motion path.

[0161] In some instances, the movable object can be expected to pass the first spatial point at time tl and the second spatial point at time t2, where t2 is a time point occurring after tl. The second spatial point can be determined based on one or more motion characteristics of the movable object when passing the first spatial point. The one or more motion characteristics can include at least a velocity or an acceleration of the movable object. The motion path can be generated with respect to a target object.

[0162] A first vector can be defined from the location of the target object to the first spatial point, and a second vector can be defined from the location of the target object to the second spatial point. The first vector and the second vector can be configured to lie on one or more planes. For example, in some embodiments, the first vector and the second vector can lie on the same plane. In other embodiments, the first vector and the second vector can lie on different planes. The first vector can lie on a first plane and the second vector can lie on a second plane. The first plane and the second plane can have different orientations. The first plane can be parallel to the second plane. Alternatively, the first plane can intersect the second plane. The second spatial point can be dynamically adjusted to a third spatial point based on user input. The user input can indicate a change in the second spatial point, and / or a change between the first spatial point and the second spatial point. A third vector can be defined from the target object to the third spatial point. The third vector can lie on a third plane. The third plane and the second plane can have different orientations. In some instances, the third plane can be parallel to the second plane. Alternatively, the third plane can intersect the second plane.

[0163] Figure 7An example of a user interface (UI) through which a user can select / move a point and cause a change in a location of a motion path is shown, according to some embodiments. For example, a user can dynamically adjust the location of the motion path based on a location of a moving target object. Part A shows an initial display of an environment including a target object and a motion path. Part B shows a user selecting and moving a point corresponding to the target object in order to move the motion path to a different location to track the target object.

[0164] Part A shows an initial display of an environment including a target object 702. A first spatial point 702-1 can be visually depicted on the display and can indicate an initial location of the target object. An axis 704 extending through the target object can be defined. A motion path 706 can be defined with respect to the initial location of the target object and the axis. The axis can extend orthogonally through a plane defined by the motion path. In some cases, the axis can extend through a center of the plane defined by the motion path. The center of the plane can or can not coincide with the location of the target object. A movable object can be configured to move along the motion path in order to orbit the target object. In Part A, the motion path can be in the shape of an ellipse, but is not necessarily limited to this. For example, the motion path can have any regular or irregular (amorphous) shape, and can be 2-D or 3-D.

[0165] The target object 702 can be capable of moving along and / or around one or more axes. For example, the target object can be capable of translating and / or rotating along and / or around one or more axes. These axes can be orthogonal to each other, skewed with respect to each other, parallel to each other, or any combination thereof.

[0166] In some embodiments, the target object can move from the first spatial point 702-1 to a second spatial point 702-2. A user can adjust the location of the motion path 706 so that the movable object continues to orbit and / or track the moving target object. As shown in Parts A and B, a user can select the first spatial point 702-1, which can cause the motion path to be selected. Next, the user can move the motion path to track the moving target object, for example, by selecting the second spatial point 702-2, or by'swiping' from the first spatial point 702-1 to the second spatial point 702-2 on the display. As shown in Part B, a motion path 706' can be defined with respect to the second spatial point 702-2. In some embodiments, the location of the motion path can be automatically adjusted as the target object moves without any further input from the user. For example, an imaging device on the movable object can track the movement of the target object and automatically adjust the location of the motion path based on the tracked movement.

[0167] In some embodiments, the second spatial point can be adjusted relative to one or more movement axes of the target object. For example, the second spatial point can be dynamically adjusted as the target object moves. The second spatial point can be adjusted in proportion to changes in the position of the target object. In some cases, the movement path can be regenerated based on the dynamically adjusted second spatial point. The movable object can be configured to follow the regenerated movement path as the target object moves along the movement path.

[0168] In some embodiments, the first spatial point and the second spatial point can both be positioned along axis 704. In other embodiments, the first spatial point can be positioned along axis 704 and the second spatial point can be positioned along another axis different from axis 704. For example, if the target object changes its orientation as it moves from the first spatial point to the second spatial point, the first spatial point and the second spatial point can not be on the same axis (axis 704). The target object can be capable of translating and / or rotating along and / or about one or more axes. In some cases, the target object can translate and rotate as it moves from the first spatial point to the second spatial point (or subsequently). The rotation can cause the orientation of the target object to change. As described previously in Figure 5 and Figure 6 the change in orientation of the target object can cause the movement path to change relative to the orientation of the target object.

[0169] Figure 8 An example of a plurality of movement paths defined relative to a target object as the target object moves along an axis is shown in accordance with some embodiments. In part A, a target object 802 can initially be at a first position 802-1. An axis 804 extending through the target object can be defined. A movement path 806 can be defined relative to the first position of the target object and the axis. The axis can extend orthogonally through the plane defined by the movement path.

[0170] The target object can be moved from the first position 802-1 to a second position 802-2. The second position 802-2 can also be positioned along the axis 804. In some alternative embodiments, the second position 802-2 does not have to be positioned along the axis 804 and can be on another axis that extends in a different direction. The first position 802-1 and the second position 802-2 can be separated by a distance d. When the target object is moved from the first position to the second position, the position of the motion path 806 can change such that the motion path can be defined with respect to the second position. As shown in section A, the motion path 806' can be defined with respect to the second position and the axis 804 and can be offset from the first position by a distance d. The movable object can switch its course from the motion path 806 to the motion path 806' and continue to orbit the target object by moving along the motion path 806'.

[0171] In some cases, the target object can continue to move along the axis 804. As shown in section B, the target object can be moved from the second position 802-2 to a third position 802-3. The third position 802-3 can also be positioned along the axis 804. In some alternative embodiments, the third position 802-3 does not have to be positioned along the axis 804 and can be on another axis that extends in a different direction. The third position 802-3 can be separated from the second position 802-2 by a distance d'. The distance d' can be the same or different from the distance d. When the target object is moved from the second position to the third position, the position of the motion path 806' can change such that the motion path is defined with respect to the third position. As shown in section B, the motion path 806" can be defined with respect to the third position and can be offset from the second position by a distance d'. The movable object can switch its course from the motion path 806' to the motion path 806" and continue to orbit the target object by moving along the motion path 806".

[0172] In some embodiments, the motion path can be automatically adjusted based on different selected target objects. For example, referring to section C of FIG. 7, Figure 7 In section C of FIG. 7, a first target object 702 can be positioned at a first position 702-1 and a second target object 708 can be positioned at a second position 708-1. In section C, when a user selects a point on the display that corresponds to the first position 702-1, a first motion path 706-1 can be defined with respect to the first position (the first target object 702) and the axis 704. The movable object can be configured to orbit the first target object by moving along the first motion path 706-1.

[0173] The user can then select a new target object. For example, as shown in section D, when the user selects a point on the display corresponding to a second location 708-1, a second motion path 706-2 can be defined with respect to the second location (second target object 708) and the axis 704. The movable object can be configured to switch routes from the first motion path to the second motion path. The movable object can orbit the second target object by moving along the second motion path 706-2. Accordingly, the user can generate multiple motion paths by selecting different target objects. Each motion path can be defined with respect to a respective selected target object.

[0174] In some embodiments, the first target object and the second target object can be different physical objects. For example, the first target object and the second target object can each be discrete objects. The first target object and the second target object can be coupled or uncoupled from each other. In some cases, the first target object and the second target object can be on the same physical structure. In some cases, the first target object and the second target object can be on different physical structures.

[0175] In some embodiments, the first target object can correspond to a first point of interest and the second target object can correspond to a second point of interest. Alternatively, the first target object can correspond to a first feature point and the second target object can correspond to a second feature point.

[0176] The motion path 706-1 can be generated based on a location of the first target object when the first target object is selected on the display. A plurality of first spatial points in the motion path can be defined with respect to the location of the first target object. The plurality of first spatial points can permit the movable object to move in a predetermined configuration with respect to the first target object. For example, the plurality of first spatial points can permit the movable object to orbit the first target object.

[0177] In some cases, the motion path can be updated based on a location of the second target object when the selection of the target object is changed from the first target object to the second target object. The updated motion path can include a plurality of second spatial points defined with respect to the location of the second target object. The plurality of second spatial points can permit the movable object to move in a predetermined configuration with respect to the second target object. The plurality of second spatial points can permit the movable object to travel around the second target object. A vector can be defined between the location of the first target object and the location of the second target object. The vector can include a magnitude and a direction. The motion path can be updated based on the magnitude and the direction of the vector.

[0178] Figure 9 A number of examples of motion paths defined along the same axis on a target object with respect to different selected points are shown, in accordance with some embodiments. Figure 9 may be similar to Figure 6 with the following differences.

[0179] In Figure 9 , a first motion path 906-1 can be defined with respect to a first point 902-1 and a second motion path 906-2 can be defined with respect to a second point 902-2. The first point 902-1 and the second point 902-2 can be on the same axis (e.g., axis 904). The first point 902-1 and the second point 902-2 can also be on the same physical object. For example, the first point 902-1 and the second point 902-2 can be different feature points on the same object (e.g., target object 902).

[0180] The orientation of the first motion path and the second motion path can depend on the orientation of the axis 904. In section A, the axis can extend orthogonally to a horizontal ground plane, and the planes defined by the first motion path and the second motion path can be parallel to the horizontal ground plane. The planes can be 2-D or 3-D. In section B, the axis can be inclined at an angle θ with respect to the horizontal ground plane, which causes the planes defined by the first motion path and the second motion path to be inclined at the angle θ as well. In section C, the axis can extend parallel to the horizontal ground plane, and the planes defined by the first motion path and the second motion path can be perpendicular to the horizontal ground plane. As Figure 9 shown, a number of motion paths can be generated for different points (e.g., feature points) on the same object. Each motion path is defined based on a point and an axis extending through the point. The orientation of each motion path can vary according to the orientation of the axis extending through the corresponding point (e.g., points 902-1 and 902-2).

[0181] Figure 10 Examples of motion paths defined along different axes extending through a target object with respect to different selected points are shown, in accordance with some embodiments. See Figure 10A plurality of motion paths can be defined with respect to the target object 1002. The plurality of motion paths can include motion paths 1004, 1006, 1008, 1010, 1012, and 1014. Motion path 1004 can be defined with respect to a Z-axis that extends through the O-point of the target object. The Z-axis can extend orthogonally to a plane defined by motion path 1004. Motion path 1006 can be defined with respect to an X-axis that extends through the O-point. The X-axis can extend orthogonally to a plane defined by motion path 1006. Motion path 1008 can be defined with respect to an axis that extends through the A-point parallel to the Z-axis. Motion path 1008 can be similar to path 1004, but motion path 1008 is offset from the O-point along the Y-axis by a distance d. Motion path 1010 can be defined with respect to a first skew axis and the B-point. The B-point can be offset from the O-point along the first skew axis by a distance d'. The first skew axis can extend to the Z-axis at a negative angle Θ and through the B-point. The first skew axis can extend orthogonally to a plane defined by motion path 1010. Motion path 1012 can be defined with respect to a second skew axis and the C-point. The C-point can be offset from the O-point along the second skew axis by a distance d'. The second skew axis can extend to the Z-axis at a positive angle Θ and through the C-point. The second skew axis can extend orthogonally to a plane defined by motion path 1012. It can be noted that motion path 1012 is a mirror image of motion path 1010 about the Z-axis, since the first and second skew axes are mirror images of each other about the Z-axis. Motion path 1014 can be defined with respect to the second skew axis and the D-point. The D-point can be offset from the C-point along the second skew axis by a distance d". Accordingly, motion path 1014 can be offset from the C-point along the second skew axis by a distance d". Motion paths of any number and / or orientation of the six degrees of freedom can be considered.

[0182] Figure 11 An example of how a movable object can move from one motion path to another motion path according to some embodiments is shown. In part A, a movable object can move from a first motion path 1102 to a second motion path 1104 by moving directly from a point 1102-1 on the first motion path 1102 to a point 1104-1 on the second motion path 1104. In some embodiments, the distance between points 1102-1 and 1104-1 can correspond to the shortest distance between the first motion path and the second motion path. In some embodiments, the movable object can travel directly from point 1102-1 on the first motion path to a point 1104-2 on the second motion path. The distance d' between points 1102-1 and 1104-2 can be greater than the distance d between points 1102-1 and 1104-1.

[0183] In some embodiments, the movable object can move from the first path of motion to the second path in a spiral path. As shown in section B, the spiral path 1106 can include a plurality of path segments 1106-n, where n can be an integer greater than 1. In section C, n can be 3, such that there are three path segments 1106-1, 1106-2, and 1106-3. Each path segment can be connected to the next path segment sequentially. In some embodiments, the number of path segments can vary depending on the rate at which the target object is moved from the first path of motion to the second path of motion and / or depending on the rate at which the movable object moves along the spiral path.

[0184] Figure 12 An example of a user interface (UI) through which a user can control a movable object to travel from an initial position to an entry point on a path of motion is shown, in accordance with some embodiments.

[0185] As shown in section A, a path of motion 1206 can be defined with respect to a target object 1202 and an axis 1204 extending through the target object. A user can control the movable object to move from an initial position 1208 to an entry point 1206-1 on the path of motion by selecting the entry point on a display. The initial position 1207 can or can not be on the path of motion. The entry point can be a spatial point located along the path of motion.

[0186] The movable object can be controlled to travel from the initial position 1208 to the entry point 1206-1 via different paths of motion. For example, in some embodiments, the movable object can be configured to travel vertically from the initial position and then horizontally to the entry point (1210-1). In other embodiments, the movable object can be configured to travel horizontally from the initial position and then vertically to the entry point (1210-2). In some further embodiments, the movable object can be configured to travel both horizontally and vertically from the initial position to the entry point (1210-3). Optionally, the movable object can be configured to travel in a curved manner from the initial position to the entry point.

[0187] In some embodiments, the rate of ascent or descent can be controlled automatically or by a user when the movable object moves vertically. Similarly, the rate of horizontal movement can be controlled automatically or by a user when the movable object moves horizontally. The movable object can be configured to move along the path of motion from the entry point.

[0188] In some embodiments, the user can further control the movable object to travel along a portion of the motion path. For example, as shown in Part B, the user can select a departure point 1206-2. The movable object can be controlled to enter the motion path at the entry point and exit the motion path at the departure point. In some cases, the movable object can travel along an arc or chord between the entry point and the departure point. The center of the arc can be located at the location of the target object. The arc of the arc can be greater than 0 degrees. In some cases, the arc can be input by the user. Alternatively, the arc can be automatically generated, e.g., by a motion controller.

[0189] As previously described, the position and / or orientation of the motion path can be adjusted by manipulating one or more points (and / or axes) on the display. In some embodiments, the size, shape, and / or geometry of the motion path can be adjusted by manipulating one or more points on the display, e.g., as shown in Part C below. Figures 13 to 18

[0190] Figure 13 An example of a user interface (UI) through which a user can select / move a point to adjust the shape of a local region of a motion path is shown in accordance with some embodiments.

[0191] As shown in Part A, a motion path 1306 can be defined with respect to a target object 1302 and an axis 1304 extending through the target object. The user can adjust the size / shape of a local region of the motion path. For example, the user can select a spatial point at a first location 1308-1 (Part A) and move the spatial point outward to a second location 1308-2 (Part B). The outward movement of the spatial point can result in the formation of a protrusion 1310 in a local region of the motion path. The local region can be proximate to this moved spatial point.

[0192] In some embodiments, the user can select a spatial point at a first location 1308-1 (Part A) and move the spatial point inward to a third location 1308-3 (Part C). The inward movement of the spatial point can result in the formation of a depression 1312 in a local region of the motion path.

[0193] Movement of any spatial point in any direction along the motion path can be considered. The user can manipulate one or more spatial points along the motion path to generate a motion path of any desired size, shape, and / or geometry. Adjustments of spatial points in a local region can have a practical effect, e.g., to control the motion path of a movable object so as to avoid obstacles that can exist in the local region.

[0194] ​In Figure 13 In the example of FIG. 15A, the movement of the spatial point can be in a plane, such that the motion path remains 2-D in form, even though the shape / geometry / sizing of the motion path can change through the movement of the spatial point. The movement of a spatial point out of a plane along a motion path is described in detail later in this specification, e.g., see Figure 18 and Figure 22 the motion path along a plane.

[0195] Figure 14 An example of causing a motion path to change by selecting and moving multiple different points along the motion path is shown in accordance with some embodiments. In Part A, a motion path 1404 can be defined with respect to a target object 1402. The motion path 1404 can have a circular shape, but need not be so limited. For example, the motion path 1404 can have any regular or irregular (amorphous) shape. A user can adjust the sizing / shape / geometry of the motion path by selecting and moving different spatial points positioned along the motion path 1404. For example, as shown in Part B, a user can select and move: (1) a first spatial point, from position 1406-1 to position 1406-1'; (2) a second spatial point, from position 1406-2 to position 1406-2'; (3) a third spatial point, from position 1406-3 to position 1406-3'; and (4) a fourth spatial point, from position 1406-4 to position 1406-4'. The outward movement of the first, second, third, and fourth spatial points can cause the motion path to change from a circular shape (1404 in Part A) to a square shape (1404' in Part C).

[0196] Figure 15 An example of changing a local region of a motion path to avoid an obstacle is shown in accordance with some embodiments. In Part A, a motion path 1504 can be defined with respect to a target object 1502. The motion path 1504 can have a circular shape, but need not be so limited. For example, the motion path 1504 can have any regular or irregular (amorphous) shape.

[0197] When an obstacle appears near (or intersects with) the motion path, the user can adjust the shape of a local region of the motion path that is near the obstacle. For example, as shown in part B, an obstacle 1510 can appear near a region of the motion path. The obstacle can be movable (e.g., a vehicle) and can have moved toward the region of the motion path. Alternatively, the target object can be movable and can have moved toward a stationary obstacle or a moving obstacle. The user can adjust the shape of the local region to cause the movable object to avoid the obstacle. For example, the user can select a plurality of points 1506 that are positioned along the motion path and move them in an outward direction 1508 so that a local region of the motion path bypasses the obstacle. As shown in part C, the adjusted motion path 1504' can include an elongated segment 1504-1' and an unmodified segment 1504-2'. The elongated segment can be caused by the movement of the spatial points 1506 in the outward direction 1508. The unmodified segment can be unaffected by the outward movement of the spatial points 1506 and can maintain its original shape.

[0198] In some embodiments, as shown in parts B and D, the user can select some of the points 1506 and move them in an inward direction 1512 so that a local region of the motion path is offset away from the obstacle (rather than bypassing the obstacle). The adjusted motion path 1504" can include a concave segment 1514 that is formed in the local region of the motion path. The concave segment can be caused by the movement of the spatial points 1506 in the inward direction 1512. The adjusted motion path 1504" can further include an unmodified segment 1504-2". The unmodified segment can be unaffected by the inward movement of the spatial points 1506 and can maintain its original shape.

[0199] Figure 16 A local region of a motion path is smoothed according to some embodiments. In part A, a motion path 1604 can be defined with respect to a target object 1602. The motion path can include an elongated segment 1604-1 and an unmodified segment 1604-2. The elongated segment can be caused by the movement of certain spatial points in an outward direction in order to cause a movable object to avoid an obstacle 1610. The unmodified segment can be unaffected by the outward movement of the spatial points and can maintain its original shape.

[0200] As shown in Part A, the elongated section and the unmodified section can be connected at region 1606. An enlarged view of region 1606 can be shown in Part B. Region 1606 can include a curved portion 1606-1 and a substantially straight portion 1606-2. The curved portion can include a plurality of spatial points that are more closely spaced together than the straight portion to define a curvature of the curved portion. However, the curved portion can abruptly connect the straight portion with a sharp corner (e.g., at about 90 degrees). Navigating this sharp connection can cause the movable object to consume more power because the movable object must decelerate to near stop at the end of the curved portion before accelerating again along the straight portion.

[0201] In some embodiments, the sharp connection can be smoothed. For example, as shown in Part C, a user can select one or more spatial points in region 1606 and move them outward to smooth the connection. Movement of these spatial points can create a smooth curved portion 1606-3 in region 1606.

[0202] In Part B, the plurality of spatial points can be spaced apart with different spatial intervals. For example, the spatial points in the curved portion can be spaced apart with a smaller spatial interval, while the spatial points in the straight portion can be spaced apart with a larger spatial interval. In Part C, after the sharp connection has been smoothed, the plurality of spatial points can be spaced apart with a relatively constant spatial interval. The movable object can be configured to sequentially pass through the plurality of spatial points with the same time interval (e.g., the same rate) between adjacent spaced points. In some cases, the movable object can be configured to sequentially pass through the plurality of spatial points with different time intervals (e.g., different rates) between adjacent spaced points. The movable object can also be controlled to hover at any point along the motion path.

[0203] In some embodiments, the motion path can include a plurality of spatial points that are spaced apart with a constant spatial interval. The plurality of spatial points can be spaced apart with a constant spatial interval along the entire motion path. The plurality of spatial points can be spaced apart with a constant spatial interval along a portion of the motion path. The plurality of spatial points can be spaced apart with a constant spatial interval along a plurality of portions of the motion path. Figure 13 、 Figure 14 、 Figure 15 and Figure 16In some embodiments, the second spatial point can be adjusted such that the movable object evades an obstacle positioned along the motion path. In other embodiments, the second spatial point can be adjusted to allow an imaging device on the movable object to capture a desired image of the target object. In some further embodiments, the second spatial point can be adjusted to obtain a desired distance between the movable object and the target object. Alternatively, the second spatial point can be adjusted to obtain a desired orientation of the movable object relative to the target object. The second spatial point can also be adjusted based on a change in the position of the target object. The position of the target object can include at least a longitude, a latitude, and / or an altitude of the target object. One or more other spatial points can also be adjusted in addition to the second spatial point to achieve the above effects.

[0204] In some embodiments, the second spatial point can be adjusted such that the movable object evades an obstacle positioned along the motion path. In other embodiments, the second spatial point can be adjusted to allow an imaging device on the movable object to capture a desired image of the target object. In some further embodiments, the second spatial point can be adjusted to obtain a desired distance between the movable object and the target object. Alternatively, the second spatial point can be adjusted to obtain a desired orientation of the movable object relative to the target object. The second spatial point can also be adjusted based on a change in the position of the target object. The position of the target object can include at least a longitude, a latitude, and / or an altitude of the target object. One or more other spatial points can also be adjusted in addition to the second spatial point to achieve the above effects.

[0205] In some embodiments, the second spatial point can be adjusted based on a change in a size of the target object. For example, a size and / or shape of the motion path can be changed according to a change in the size of the target object. In some other embodiments, the second spatial point can be adjusted based on a change in a shape of the target object. For example, a size and / or shape of the motion path can be changed according to a change in the shape of the target object. In some embodiments, the second spatial point can be adjusted based on a change in an orientation of the target object. In some cases, the second spatial point can be adjusted such that the target object remains in a target region within the motion path.

[0206] In some embodiments, dynamically adjusting the second spatial point can temporarily change the size and / or shape of the movement path. For example, the second spatial point can be adjusted at time tl to change the size and / or shape of the movement path, and the second spatial point can be further adjusted at time t2 to return the movement path to its original size and / or shape. tl and t2 can occur at different times. Alternatively, the second spatial point can be adjusted at time tl to change the size and / or shape of the movement path, and the second spatial point can be further adjusted at time t2 to cause the movement path to change to a different size and / or shape. In some alternative embodiments, adjusting the second spatial point can permanently change the size and / or shape of the movement path.

[0207] In some embodiments, the second spatial point can be dynamically adjusted before the movable object passes the first spatial point. Alternatively, the second spatial point can be dynamically adjusted after the movable object passes the first spatial point. In some cases, the second spatial point can be dynamically adjusted when the movable object is expected to pass the second spatial point within a predetermined time period. In some other cases, the second spatial point can be adjusted before any movement of the movable object, before the movable object enters the movement path, or while the movable object is moving along the movement path.

[0208] The position of the target object can be used as a reference point from which the first vector and the second vector can be defined. The first vector can be defined from the position of the target object to the first spatial point, and the second vector can be defined from the position of the target object to the second spatial point. The first vector and the second vector can each include a magnitude and a direction. The direction can be determined by an angle between the respective vector and a horizontal plane passing through the position of the target object.

[0209] In some embodiments, the first vector and the second vector can have different directions and can be in different planes. Two or more planes can be parallel to each other or can intersect each other. For example, a first set of planes can be parallel to each other and a second set of planes can be intersecting each other. The magnitude and / or direction of the second vector can be dynamically adjusted in real time as the movable object moves along the movement path. Alternatively, the magnitude and / or direction of the second vector can be adjusted from a first value to a second value before the movable object passes the second spatial point. The first value and the second value can be different.

[0210] In some instances, the magnitude and / or direction of the second vector can be adjusted from the second value back to the first value after the movable object has passed the adjusted second spatial point. Alternatively, the magnitude and / or direction of the second vector can be maintained at the second value after the movable object has passed the adjusted second spatial point. Optionally, the magnitude and / or direction of the second vector can be adjusted from the second value to a third value after the movable object has passed the adjusted second spatial point. The second value and the third value can be different.

[0211] In some embodiments, the magnitude of the second vector can be increased as the size of the target object increases. The increase in the size of the target object can occur in the direction of the second vector. The distance between the second spatial point and the location of the target object can be increased as the magnitude of the second vector associated with the second spatial point increases.

[0212] In some embodiments, the magnitude of the second vector can be decreased as the size of the target object decreases. The decrease in the size of the target object can occur in the direction of the second vector. The distance between the second spatial point and the location of the target object can be decreased as the magnitude of the second vector associated with the second spatial point decreases.

[0213] Figure 17 Examples of motion paths defined based on the shape / geometry of a target object are shown in accordance with some embodiments. Each motion path can include a contour connecting a plurality of spatial points. The contour can be visually depicted on a display and can represent the motion path. The size, shape, and / or geometry of the contour can vary in accordance with the size, shape, and / or geometry of the motion path. For example, the size, shape, and / or geometry of the contour can change as one or more spatial points move between different locations on the display. The change in the size, shape, and / or geometry of the contour can result in a corresponding change in the size, shape, and / or geometry of the motion path.

[0214] In part A, the target object 1702-1 can be circular. A motion path 1704-1 can be defined with respect to the target object 1702-1 and based on the shape of the target object 1702. The motion path 1704-1 can have a circular contour that is concentric with the circular contour of the target object.

[0215] In some cases, a user can select and move one or more spatial points in the motion path to change the size, shape, and / or geometry of the motion path. In other cases, the target object can automatically change its size, shape, and / or geometry. For example, a circular target object 1702-1 (shown in part A) can change into a triangular target object 1702-2 (shown in part B). Subsequently, a new motion path 1704-2 with a triangular profile can be generated based on the triangular shape of the target object 1702-2.

[0216] In some cases, the triangular target object 1702-2 (shown in part B) can further change into an irregularly shaped target object 1702-3 (shown in part C). Subsequently, a new motion path 1704-3 with a profile similar to that of the target object 1702-3 can be generated.

[0217] Figure 18 An example of an out-of-plane change of a local region of a motion path is shown in accordance with some embodiments. As shown in part A, a motion path 1806 can be defined with respect to a target object 1802 and an axis 1804 extending through the target object. A user can adjust the size / shape of a local region of the motion path. For example, the user can select a spatial point at a first location 1806-1 (part A) and move the spatial point upward to a second location 1806-2 (part B). The upward movement of the spatial point can result in a protrusion 1810 in the local region of the motion path. The local region can be proximate to this moved spatial point.

[0218] In Figure 18 In the example shown, the motion path 1806 can be in the X-Y plane. Any change of a spatial point of the motion path 1806 within the X-Y plane can be in-plane. In contrast, any change of a spatial point of the motion path 1806 out of the X-Y plane can be out-of-plane. Since the spatial point is moved upward (in a direction parallel to the Z-axis) from the first location to the second location, the protrusion 1810 can be out-of-plane, thereby resulting in the motion path having a 3-D shape. As shown in part B, a motion path 1806' can include an in-plane segment 1806-1' and an out-of-plane segment 1806-2'. The out-of-plane segment can be indicated by the protrusion 1810. The in-plane segment and the out-of-plane segment can be in different planes. In some embodiments, these planes can be orthogonal to each other. In other embodiments, these planes can be skewed with respect to each other. Any arrangement of these planes in 3-D space can be considered.

[0219] Figure 19An example of a 3D motion path defined based on the contour of a target object, according to some embodiments, is shown. Part A shows an isometric view of the target object 1902 and the motion path 1904. Part B shows a top view of the target object 1902 and the motion path 1904. The motion path 1904 may be defined based on the contour of the target object. Figure 19 In this process, the target object 1902 can be formed into the shape of an elongated prism. The motion path 1904 can substantially follow the contour of the target object.

[0220] Figure 20 An example of a 3-D motion path for a number 8 shape defined based on the contour of a target object, according to some embodiments, is shown. Part A shows an isometric view of the target object 2002 and the motion path 2004. Part B shows a top view of the target object 2002 and the motion path 2004. The motion path 2004 can be formed as a 3-D configuration of the number 8 shape and can substantially follow the contour of the target object.

[0221] Figure 21 Several examples of 3D motion paths for a number 8 shape defined based on different orientations of a target object, according to some embodiments, are shown. Part A shows a target object 2102 and a motion path 2106. The motion path 2106 may be defined based on the orientation of the target object (e.g., relative to the position of the target object and axis 2104). The motion path 2106 may be shaped into a 3D configuration of the number 8 and may substantially follow the contour of the target object. In Part A, the target object may be positioned perpendicular to a horizontal ground plane. In Part B, the target object may be tilted at an angle θ relative to a horizontal ground plane. Accordingly, the 3D motion path 2106' of the number 8 shape in Part B may also be tilted at an angle θ.

[0222] Figure 22 Examples of 3D motion paths having amorphous shapes and defined relative to a target object, according to some embodiments, are shown. Figure 22 As shown, a 2D motion path can lie on the XY plane. In contrast, a 3D motion path can include multiple path segments located on different planes. These planes can be orthogonal to each other or oblique to each other. These planes can be parallel to each other or intersect each other. Users can similarly... Figure 18A 3-D motion path can be generated by selecting and moving multiple spatial points on a 2-D motion path on a display in different directions, as shown. Accordingly, a user can generate a complex 3-D motion path for a movable object on a display in a simple and intuitive manner. The movable object can be configured to automatically follow the 3-D motion path without requiring the user to manually control the motion / flight of the movable object.

[0223] In some embodiments, an orientation of a movable object can be adjusted at different spatial points along a motion path. For example, a method for controlling a movable object can include generating a motion path including at least one spatial point defined with respect to one or more parameters of a target object; and determining one or more motion characteristics of the movable object for the at least one spatial point.

[0224] The one or more parameters of the target object can include a position and / or an attitude of the target object. The motion path can include multiple spatial points defined with respect to a position of the target object. The multiple spatial points can be configured to be on one or more planes. In some embodiments, the multiple spatial points can be configured to be on a same plane. In other embodiments, the multiple spatial points can be configured to be on multiple different planes. The one or more motion characteristics can include at least an orientation of the movable object with respect to the target object. The orientation of the movable object can include an attitude and / or an orientation of the movable object as the movable object moves along the motion path.

[0225] In some embodiments, adjusting one or more spatial points of the motion path can result in a change in a velocity, an acceleration, an altitude, or an attitude of the movable object. For example, a velocity, an acceleration, an altitude, and / or an attitude of the movable object can be modified to enable the movable object to follow the motion path.

[0226] Figure 23 An attitude of a movable object that can be adjusted along a pitch axis, a roll axis, and / or a yaw axis as the movable object moves along a motion path is shown in accordance with some embodiments. As shown, Figure 23 A movable object 2308 can rotate about one or more of a pitch axis, a roll axis, and a yaw axis as the movable object moves along a motion path 2306, as shown. The motion path can be defined with respect to a position 2302 of a target object and an axis 2304 extending through the target object. An attitude and / or an orientation of the movable object can be adjusted based on an attitude and / or an orientation of the target object. For example, in Figure 23In some embodiments, the target object and the motion path can be angularly tilted. Accordingly, the movable object can rotate about its pitch axis such that the movable object can align with the tilted target object. The movable object can change its pose and / or orientation based on the pose and / or orientation of the target object. For example, when the target object rotates about its pitch axis by an angle, the movable object can also rotate about its pitch axis by the same angle. Likewise, when the target object rotates about its roll axis by an angle, the movable object can also rotate about its roll axis by the same angle. Similarly, when the target object rotates about its yaw axis by an angle, the movable object can also rotate about its yaw axis by the same angle. Accordingly, the pose and / or orientation of the movable object can follow the pose and / or orientation of the target object and move according to any changes in the orientation and / or position of the motion path.

[0227] Figure 24 Examples of a plurality of different orientations of the aerial vehicle as it navigates around a target object are shown in accordance with some embodiments. In Figure 24In some embodiments, dynamically adjusting the one or more motion characteristics of the movable object can further include changing a forward speed or a backward speed of the movable object along the motion path. The forward speed and the backward speed can be tangential to the motion path. For example, as shown in section D, a forward speed Vf and a backward speed Vb can be tangential to the flight path 2406. A nose portion of the UAV can lead the motion path when the movable object moves at the forward speed. Conversely, a tail portion of the UAV can lead the motion path when the movable object moves at the backward speed.

[0228] In some embodiments, dynamically adjusting the one or more motion characteristics of the movable object can further include changing a forward speed or a backward speed of the movable object along the motion path. The forward speed and the backward speed can be tangential to the motion path. For example, as shown in section D, a forward speed Vf and a backward speed Vb can be tangential to the flight path 2406. A nose portion of the UAV can lead the motion path when the movable object moves at the forward speed. Conversely, a tail portion of the UAV can lead the motion path when the movable object moves at the backward speed.

[0229] In some embodiments, dynamically adjusting the one or more motion characteristics can further include changing a side slip velocity of the movable object along the motion path. The side slip velocity can be orthogonal to the motion path. For example, as shown in Section A, a side portion 2402-3 of the UAV can lead the flight path as the UAV moves with a side slip velocity Vs. The side slip velocity Vs can be tangent to the motion path 2406.

[0230] In some embodiments, dynamically adjusting the one or more motion characteristics can further include changing an upward velocity or a downward velocity of the movable object along the motion path. The downward velocity can be in the same direction as gravity, while the upward velocity can be in the opposite direction of gravity. In some embodiments, the downward velocity can be zero. Figure 24 In some embodiments, gravity can be assumed to act on a negative Z-axis. By adjusting the upward and / or downward velocity of the UAV along the flight path, a 3-D flight path can be generated, as shown in Section B. Figures 18 to 22

[0231] In some embodiments, the UAV can carry a payload (e.g., a camera). The orientation of the payload can be the same or different from the orientation of any portion of the UAV. In some cases, the payload can be aligned with a portion of the UAV (e.g., a nose portion, a tail portion, or a side portion) as the UAV flies along the flight path. In other cases, the payload can be oriented such that it faces a target object as the UAV flies along the flight path. The orientation of the payload can vary with the heading of the UAV. Alternatively, the orientation of the payload can be independent of the heading of the UAV. Any spatial orientation of the payload relative to the UAV in one or more degrees of freedom can be considered.

[0232] In some embodiments, one or more motion characteristics of the movable object can be dynamically adjusted based on one or more instantaneous positions of the movable object at one or more spatial points. For example, the movable object can be adjusted to have a first pose / orientation at a first spatial point and a second pose / orientation at a second spatial point. The first spatial point and the second spatial point can be spaced apart along the motion path and can be defined relative to a position of the target object.

[0233] ​In some embodiments, the movable object can be configured to move along the motion path relative to the target object at a constant speed and a same orientation. Alternatively, the movable object can be configured to move along the motion path relative to the target object at different speeds and a same orientation. Optionally, the movable object can be configured to move along the motion path relative to the target object at different speeds and different orientations.

[0234] In some embodiments, determining one or more motion characteristics of the movable object for at least one spatial point can further include receiving a selection of a movable object orientation pattern from a plurality of different movable object orientation patterns. The plurality of different movable object orientation patterns can define at least an orientation of the movable object relative to the target object at each spatial point along the motion path. The plurality of different movable object orientation patterns can include at least one of the following patterns: (1) an orientation of a nose portion of the movable object relative to the target object; (2) an orientation of a tail portion of the movable object relative to the target object; (3) an orientation of a side portion of the movable object relative to the target object; (4) a forward speed of the nose portion of the movable object along the motion path; (5) a backward speed of the tail portion of the movable object along the motion path; and (6) a sideways speed of the side portion of the movable object along the motion path.

[0235] As previously described, a motion path of a movable object can be adjusted via a user interface (UI). In some embodiments, a method for controlling a motion path of a movable object can be performed by using a computer-implemented graphical display. The method can include receiving an input indicative of movement of one or more spatial points in any direction within a three-dimensional (3-D) space, where the one or more spatial points are visually depicted on the graphical display; and processing the input to generate a motion path of the movable object based on the movement of the one or more spatial points.

[0236] The input can indicate that a user is moving one or more of the visually depicted spatial points between different locations on the graphical display. The input can be provided by a user using an input device (e.g., a mouse). The computer-implemented graphical display can be electrically connected to the input device. A user can select one or more of the spatial points and move it between different locations on the graphical display by using the input device.

[0237] In some embodiments, the graphical display can be a touch screen. The touch screen can be configured to allow a user to select the one or more of the spatial points by touching the touch screen and to move the spatial points between the different locations. The motion path can further include a contour connecting the plurality of spatial points. The contour can be visually depicted on the graphical display and can represent the motion path.

[0238] The size and / or shape of the contour can vary according to the size and / or shape of the motion path. Also, the size and / or shape of the contour can change as the user moves one or more of the spatial points between different locations on the graphical display. The change in the size and / or shape of the contour can result in a corresponding change in the size and / or shape of the motion path. The user can provide input to change the spatial location of the one or more spatial points in the motion path. For example, the user can provide input to: (1) cause the movable object to avoid an obstacle located along the motion path; (2) allow an imaging device on the movable object to capture a desired image of the target object; (3) obtain a desired distance between the movable object and the target object; and / or (4) obtain a desired orientation of the movable object relative to the target object.

[0239] In some embodiments, the input need not be provided by a user and can be automatically generated based on a change in the location of the target object. The location of the target object can include at least a longitude, a latitude, and / or an altitude of the target object. For example, the input can be automatically generated based on a change in the size of the target object. The size and / or shape of the motion path can be changed according to the change in the size of the target object. In some cases, the input can be automatically generated based on a change in the shape of the target object. The size and / or shape of the motion path can be changed according to the change in the shape of the target object. In some other cases, the input can be automatically generated based on a change in the orientation of the target object. Alternatively, the input can be automatically generated to cause the target object to remain in a target region within the motion path.

[0240] In some embodiments, the input can be processed to determine a corresponding change in the size and / or shape of the motion path. The change in the motion path can be visually depicted on the graphical display. In some cases, a new motion path can be generated based on the change in the size and / or shape of the motion path. The size of the motion path can include a dimension and / or a length scale of the motion path. The shape of the motion path can include a geometry, a contour, and / or a contour line of the motion path.

[0241] The plurality of spatial points can be configured to be on one or more planes. In some embodiments, the plurality of spatial points can be on the same plane. In other embodiments, the plurality of spatial points can be on a plurality of different planes.

[0242] In some embodiments, another input can be received on the graphical display, where the input can indicate one or more parameters of a target object. The motion path can be generated based on the one or more parameters of the target object. For example, the motion path can include one or more spatial points defined with respect to the one or more parameters of the target object. The one or more parameters can include a position, a shape, and / or an orientation of the target object. The motion path of the movable object can be generated based on the position of the target object.

[0243] In some embodiments, the motion path of the movable object can be generated based on a shape and / or an orientation of the target object. The plurality of spatial points in the motion path can be defined with respect to the shape and / or the orientation of the target object. In some cases, the target object can have a fixed shape. Alternatively, the shape of the target object can be capable of changing over time. The target object can have a regular shape or an irregular (amorphous) shape. One or more of the spatial points in the motion path can be adjusted and moved in 3-D space on the graphical display as the shape of the target object changes. In some cases, the size of the target object can remain the same as the shape of the target object changes. Alternatively, the size of the target object can change as the shape of the target object changes. In some embodiments, the size of the target object can increase or decrease as the shape of the target object changes.

[0244] In some embodiments, the target object can have a fixed orientation. In other embodiments, the orientation of the target object can be capable of changing over time. One or more of the spatial points in the motion path can be adjusted and moved in 3-D space on the graphical display as the orientation of the target object changes. The one or more spatial points can be adjusted automatically or via user input.

[0245] In some embodiments, the shape and / or the orientation of the target object can be configured to change with one or more movement characteristics of the target object. The movement characteristics of the target object can include at least one of a velocity, an acceleration, and a pose of the target object.

[0246] The input can indicate dynamic adjustment and movement of the one or more spatial points relative to the position of the target object. In some cases, dynamically adjusting and moving the one or more spatial points can change the size and / or shape of the motion path in a local area proximate to the one or more spatial points without changing the size and / or shape of the motion path in other areas.

[0247] In some embodiments, the input can temporarily change the size and / or shape of the motion path. For example, one or more spatial points can be adjusted and moved at time tl to change the size and / or shape of the motion path, and further adjusted at time t2 to return the motion path to its original size and / or shape. tl and t2 can occur at different times. Alternatively, one or more spatial points can be adjusted at time tl to change the size and / or shape of the motion path, and further adjusted at time t2 to cause the motion path to change to a different size and / or shape. In some alternative embodiments, the input can permanently change the size and / or shape of the motion path for the remainder of the motion path.

[0248] The systems, devices, and methods described herein can be applied to a wide variety of movable objects. As mentioned previously, any description herein of a vehicle can apply to and be used for any movable object. The movable object of the present application can be any object configured to move within any suitable environment, such as air (e.g., a fixed-wing aircraft, a rotary-wing aircraft, or an aircraft with neither fixed wings nor rotary wings), water (e.g., a boat or a submarine), land (e.g., a motor vehicle, such as a car, truck, bus, van, motorcycle; a movable structure or framework, such as a pole, fishing rod; or a train), underground (e.g., a subway), space (e.g., a spaceplane, satellite, or probe), or any combination of these environments. The movable object can be a vehicle, such as those described elsewhere herein. In some embodiments, the movable object can be mounted on a living subject, such as a human or an animal. Suitable animals can include avians, canines, felines, equines, bovines, ovines, porcines, delphines, rodents, or insects.

[0249] The movable object can be capable of free movement in the environment with respect to six degrees of freedom (e.g., three translational degrees of freedom and three rotational degrees of freedom). Alternatively, the movable object can be constrained in its movement with respect to one or more degrees of freedom, for example, constrained to a pre-set path, track, or orientation. Such movement can be actuated by any suitable actuation mechanism, such as an engine or motor. The actuation mechanism of the movable object can be powered by any suitable energy source, for example, electrical energy, magnetic energy, solar energy, wind energy, gravitational energy, chemical energy, nuclear energy, or any suitable combination thereof. As described elsewhere herein, the movable object can be self-propelled by a propulsion system. The propulsion system can optionally operate on an energy source, such as electrical energy, magnetic energy, solar energy, wind energy, gravitational energy, chemical energy, nuclear energy, or any suitable combination thereof. Alternatively, the movable object can be carried by a living species.

[0250] In some cases, the movable object can be a vehicle. Suitable vehicles can include waterborne vehicles, airborne vehicles, spaceborne vehicles, or terrestrial vehicles. For example, an aircraft can be a fixed-wing aircraft (e.g., an airplane, a glider), a rotary-wing aircraft (e.g., a helicopter, a gyrocopter), an aircraft having both fixed and rotary wings, or an aircraft having neither (e.g., a dirigible, a hot air balloon). A vehicle can be self-propelled, such as through air, on or in water, in space, or underground. A self-propelled vehicle can utilize a propulsion system, for example, a propulsion system including one or more engines, motors, wheels, axles, magnets, rotors, propellers, paddles, nozzles, or any suitable combination thereof. In some cases, the propulsion system can be used to enable the movable object to take off from a surface, land on a surface, maintain its current position and / or orientation (e.g., hover), change orientation, and / or change position.

[0251] The movable object can be remotely controlled by a user or locally controlled by an occupant within or on the movable object. In some implementations, the movable object is an unmanned movable object, such as a UAV. An unmanned movable object, such as a UAV, can not have an occupant aboard the movable object. The movable object can be controlled by a human or an autonomous control system (e.g., a computer control system), or any suitable combination thereof. The movable object can be an autonomous or semi-autonomous robot, such as a robot configured with artificial intelligence.

[0252] The movable object can have any suitable size and / or dimensions. In some embodiments, the movable object can have a size and / or dimensions to have a human occupant inside or on the vehicle. Alternatively, the movable object can have a size and / or dimensions that are smaller compared to being able to have a human occupant inside or on the vehicle. The movable object can have a size and / or dimensions suitable for being picked up or carried by a human. Alternatively, the movable object can be larger compared to a size and / or dimensions suitable for being picked up or carried by a human. In some cases, the movable object can have a maximum dimension (e.g., length, width, height, diameter, diagonal) that is less than or equal to about 2 cm, 5 cm, 10 cm, 50 cm, 1 m, 2 m, 5 m, or 10 m. The maximum dimension can be greater than or equal to about: 2 cm, 5 cm, 10 cm, 50 cm, 1 m, 2 m, 5 m, or 10 m. For example, the distance between the axes of the opposing rotors of the movable object can be less than or equal to about: 2 cm, 5 cm, 10 cm, 50 cm, 1 m, 2 m, 5 m, or 10 m. Alternatively, the distance between the axes of the opposing rotors can be greater than or equal to about: 2 cm, 5 cm, 10 cm, 50 cm, 1 m, 2 m, 5 m, or 10 m.

[0253] In some embodiments, the movable object can have a volume that is less than 100 cm x 100 cm x 100 cm, less than 50 cm x 50 cm x 30 cm, or less than 5 cm x 5 cm x 3 cm. The total volume of the movable object can be less than or equal to about: 1 cm 3 , 2 cm 3 , 5 cm 3 , 10 cm 3 , 20 cm 3 , 30 cm 3 , 40 cm 3 , 50 cm 3 , 60 cm 3 , 70 cm 3 , 80 cm 3 , 90 cm 3 , 100 cm 3 , 150 cm 3 , 200 cm 3 , 300 cm 3 , 500 cm 3 , 750 cm 3 , 1000 cm 3 , 5000 cm 3 , 10,000 cm 3 , 100,000 cm 3 , 1 m 3 , or 10 m3 Conversely, the total volume of the movable object can be greater than or equal to about: 1 cm 3 , 2 cm 3 , 5 cm 3 , 10 cm 3 , 20 cm 3 , 30 cm 3 , 40 cm 3 , 50 cm 3 , 60 cm 3 , 70 cm 3 , 80 cm 3 , 90 cm 3 , 100 cm 3 , 150 cm 3 , 200 cm 3 , 300 cm 3 , 500 cm 3 , 750 cm 3 , 1000 cm 3 , 5000 cm 3 , 10,000 cm 3 , 100,000 cm 3 , 1 m 3 , or 10 m 3 .

[0254] In some embodiments, the movable object can have a footprint (which can refer to a lateral cross-sectional area enclosed by the movable object) that is less than or equal to about: 32,000 cm 2 , 20,000 cm 2 , 10,000 cm 2 , 1,000 cm 2 , 500 cm 2 , 100 cm 2 , 50 cm 2 , 10 cm 2 , or 5 cm 2 . Conversely, the footprint can be greater than or equal to about: 32,000 cm 2 , 20,000 cm 2 , 10,000 cm 2 , 1,000 cm 2 , 500 cm 2 , 100 cm 2 , 50 cm 2 , 10 cm 2 , or 5 cm 2 .

[0255] In some cases, the movable object can weigh no more than 1000 kg. The movable object can weigh less than or equal to about 1000 kg, 750 kg, 500 kg, 200 kg, 150 kg, 100 kg, 80 kg, 70 kg, 60 kg, 50 kg, 45 kg, 40 kg, 35 kg, 30 kg, 25 kg, 20 kg, 15 kg, 12 kg, 10 kg, 9 kg, 8 kg, 7 kg, 6 kg, 5 kg, 4 kg, 3 kg, 2 kg, 1 kg, 0.5 kg, 0.1 kg, 0.05 kg, or 0.01 kg. Conversely, the movable object can weigh more than or equal to about 1000 kg, 750 kg, 500 kg, 200 kg, 150 kg, 100 kg, 80 kg, 70 kg, 60 kg, 50 kg, 45 kg, 40 kg, 35 kg, 30 kg, 25 kg, 20 kg, 15 kg, 12 kg, 10 kg, 9 kg, 8 kg, 7 kg, 6 kg, 5 kg, 4 kg, 3 kg, 2 kg, 1 kg, 0.5 kg, 0.1 kg, 0.05 kg, or 0.01 kg.

[0256] In some embodiments, the movable object can be small relative to a payload carried by the movable object. As described in further detail below, a payload can include a payload and / or a carrier. In some examples, the ratio of the weight of the movable object to the weight of the payload can be greater than, less than, or equal to about 1 : 1. In some cases, the ratio of the weight of the movable object to the weight of the payload can be greater than, less than, or equal to about 1 : 1. Alternatively, the ratio of the weight of the carrier to the weight of the payload can be greater than, less than, or equal to about 1 : 1. When desired, the ratio of the weight of the movable object to the weight of the payload can be less than or equal to 1 :2, 1 :3, 1 :4, 1 :5, 1 : 10, or even less. Conversely, the ratio of the weight of the movable object to the weight of the payload can also be greater than or equal to 2: 1, 3: 1, 4: 1, 5: 1, 10: 1, or even more.

[0257] In some embodiments, the movable object can have a low energy consumption. For example, the movable object can use less than about 5 W / h, 4 W / h, 3 W / h, 2 W / h, 1 W / h, or less. In some cases, the carrier of the movable object can have a low energy consumption. For example, the carrier can use less than about 5 W / h, 4 W / h, 3 W / h, 2 W / h, 1 W / h, or less. Alternatively, the payload of the movable object can have a low energy consumption, such as less than about 5 W / h, 4 W / h, 3 W / h, 2 W / h, 1 W / h, or less.

[0258] In some embodiments, a UAV can include a propulsion system having a plurality of rotors. Any number of rotors can be provided (e.g., one, two, three, four, five, six, or more). These rotors, rotor assemblies, or other propulsion systems of the UAV can enable the UAV to hover / maintain position, change orientation, and / or change position. The distance between the axes of opposing rotors can be any suitable length. For example, the length can be less than or equal to 2 m, or less than or equal to 5 m. In some embodiments, the length can be in the range of 40 cm to 1 m, 10 cm to 2 m, or 5 cm to 5 m. Any description herein of a UAV can apply to movable objects, e.g., movable objects of different types, and vice versa.

[0259] In some embodiments, the movable object can be configured to carry a payload. Such a payload can include one or more of a passenger, cargo, equipment, instrumentation, and the like. The payload can be provided within a housing. The housing can be separate from the housing of the movable object, or part of the movable object housing. Alternatively, the payload can be equipped with a housing, while the movable object is not. Alternatively, portions of the payload or the entire payload can be un-equipped with a housing. The payload can be rigidly fixed relative to the movable object. Alternatively, the payload can be movable relative to the movable object (e.g., translatable or rotatable relative to the movable object).

[0260] In some embodiments, the payload includes a payload. The payload can be configured to perform no operations or functions. Alternatively, the payload can be a functional payload, configured to perform an operation or function. For example, the payload can include one or more sensors for observing one or more targets. Any suitable sensor can be incorporated into the payload, such as an image capture device (e.g., a camera), an audio capture device (e.g., a parabolic microphone), an infrared imaging device, or an ultraviolet imaging device. The sensor can provide static sensing data (e.g., a photograph) or dynamic sensing data (e.g., a video). In some embodiments, the sensor provides sensing data of a target of the payload. Alternatively or in combination, the payload can include one or more emitters for providing a signal to one or more targets. Any suitable emitter can be used, such as an illumination source or an acoustic source. In some embodiments, the payload includes one or more transceivers, e.g., for communicating with a module remote from the movable object. Optionally, the payload can be configured to interact with the environment or a target. For example, the payload can include a tool, instrument, or mechanism capable of manipulating an object, such as a robotic arm.

[0261] Optionally, the payload can include a carrier. The carrier can be provided for the payload and the payload can be coupled to the movable object via the carrier, either directly (e.g., directly contacting the movable object) or indirectly (e.g., not contacting the movable object). Conversely, the payload can be mounted on the movable object without a carrier. The payload can be integrally formed with the carrier. Alternatively, the payload can be releasably coupled to the carrier. In some embodiments, the payload can include one or more payload elements, and one or more of these payload elements can be movable relative to the movable object and / or the carrier as described above.

[0262] The carrier can be integrally formed with the movable object. Alternatively, the carrier can be releasably coupled to the movable object. The carrier can be coupled to the movable object directly or indirectly. The carrier can provide support for the payload (e.g., carry at least a portion of the weight of the payload). The carrier can include a suitable mounting structure (e.g., a gimbal platform) that can stabilize and / or guide movement of the payload. In some embodiments, the carrier can be adapted to control the state (e.g., position and / or orientation) of the payload relative to the movable object. For example, the carrier can be configured to move relative to the movable object (e.g., in one, two, or three degrees of translation and / or one, two, or three degrees of rotation) such that the payload maintains its position and / or orientation relative to a suitable frame of reference independent of movement of the movable object. The frame of reference can be a fixed frame of reference (e.g., the surrounding environment). Alternatively, the frame of reference can be a moving frame of reference (e.g., the movable object, a target of the payload).

[0263] In some embodiments, the carrier can be configured to permit movement of the payload relative to the carrier and / or movable object. Such movement can be translation in up to three degrees of freedom (e.g., along one, two, or three axes) or rotation in up to three degrees of freedom (e.g., about one, two, or three axes), or any suitable combination thereof.

[0264] In certain instances, the carrier can include a carrier frame assembly and a carrier actuation assembly. The carrier frame assembly can provide structural support to the payload. The carrier frame assembly can include a plurality of individual carrier frame components, some of which can be movable relative to one another. The carrier actuation assembly can include one or more actuators (e.g., motors) that actuate movement of the individual carrier frame components. The actuators can allow multiple carrier frame components to move simultaneously, or can be configured to allow only one individual carrier frame component to move at a time. Movement of the carrier frame components can cause corresponding movement of the payload. For example, the carrier actuation assembly can actuate rotation of one or more carrier frame components about one or more axes of rotation (e.g., a roll axis, a pitch axis, or a yaw axis). Rotation of the one or more carrier frame components can cause the payload to rotate about one or more axes of rotation relative to the movable object. Optionally or in combination, the carrier actuation assembly can actuate translation of one or more carrier frame components along one or more axes of translation, and thereby cause translation of the payload along one or more corresponding axes relative to the movable object.

[0265] In some embodiments, movement of the movable object, carrier, and payload relative to a fixed frame of reference (e.g., the surrounding environment) and / or relative to one another can be controlled by a terminal. The terminal is a remote control device at a location remote from the movable object, carrier, and / or payload. The terminal can be disposed on or attached to a support platform. Alternatively, the terminal can be a handheld or wearable device. For example, the terminal can include a smartphone, tablet computer, laptop computer, computer, glasses, gloves, headgear, microphone, or suitable combination thereof. The terminal can include a user interface, such as a keyboard, mouse, joystick, touch screen, or display. Any suitable user input can be used to interact with the terminal, such as manually entered commands, voice control, gesture control, or position control (e.g., through movement, position, or inclination of the terminal).

[0266] Any suitable state of the movable object, carrier, and / or payload can be controlled with the terminal. For example, position and / or orientation of the movable object, carrier, and / or payload relative to a fixed frame of reference and / or relative to one another can be controlled with the terminal. In some embodiments, individual elements of the movable object, carrier, and / or payload, such as an actuation assembly of a carrier, a sensor of a payload, or an emitter of a payload, can be controlled with the terminal. The terminal can include a wireless communication device adapted to communicate with one or more of the movable object, carrier, or payload.

[0267] The terminal can include a suitable display unit for viewing information of the movable object, carrier, and / or payload. For example, the terminal can be configured to display information of the movable object, carrier, and / or payload in terms of position, translational velocity, translational acceleration, orientation, angular velocity, angular acceleration, or any suitable combination thereof. In some embodiments, the terminal can display information provided by the payload, such as data provided by a functional payload (e.g., images recorded by a camera or other image capture device).

[0268] Optionally, the same terminal can both control the movable object, carrier, and / or payload, or the state of the movable object, carrier, and / or payload, and receive and / or display information from the movable object, carrier, and / or payload. For example, a terminal can control positioning of a payload relative to an environment while displaying image data captured by the payload, or information about the position of the payload. Alternatively, different terminals can be used for different functions. For example, a first terminal can control movement or state of the movable object, carrier, and / or payload, while a second terminal can receive and / or display information from the movable object, carrier, and / or payload. For example, a first terminal can be used to control positioning of a payload relative to an environment while a second terminal displays image data captured by the payload. A variety of different communication modes can be utilized between the movable object and an integrated terminal that both controls the movable object and receives data, or between the movable object and multiple terminals that both control the movable object and receive data. For example, at least two different communication modes can be formed between the movable object and a terminal that both controls the movable object and receives data from the movable object.

[0269] Figure 25 A movable object 2500 including a carrier 2502 and a payload 2504 is shown in accordance with various embodiments. Although the movable object 2500 is depicted as an aerial vehicle, such a depiction is not intended to be limiting, and any suitable type of movable object as previously described herein can be used. Those skilled in the art will recognize that any embodiments described herein in the context of an aerial vehicle system can be applied to any suitable movable object (e.g., UAV). In some cases, the payload 2504 can be provided on the movable object 2500 without the carrier 2502. The movable object 2500 can include a propulsion mechanism 2506, a sensing system 2508, and a communication system 2510.

[0270] The propulsion mechanisms 2506 can include one or more of a rotor, a propeller, a paddle, an engine, a motor, a wheel, an axle, a magnet, or a nozzle, as previously described. For example, the propulsion mechanisms 2506 can be self-tightening rotors, rotor assemblies, or other rotating propulsion units, as disclosed elsewhere herein. The movable object can have one or more, two or more, three or more, or four or more propulsion mechanisms. The propulsion mechanisms can all be of the same type. Alternatively, one or more of the propulsion mechanisms can be a different type of propulsion mechanism. The propulsion mechanisms 2506 can be mounted on the movable object 2500 using any suitable means, such as a support element (e.g., a drive shaft), as described elsewhere herein. The propulsion mechanisms 2506 can be mounted on any suitable portion of the movable object 2500, such as the top, the bottom, the front, the back, the sides, or suitable combinations thereof.

[0271] In some embodiments, the propulsion mechanisms 2506 enable the movable object 2500 to take off vertically from a surface, or to land vertically on a surface, without requiring any horizontal movement of the movable object 2500 (e.g., without requiring travel on a runway). Optionally, the propulsion mechanisms 2506 can be operable to permit the movable object 2500 to hover in the air at a specified location and / or orientation. One or more of the propulsion mechanisms 2500 can be controlled independently of the other propulsion mechanisms. Alternatively, the propulsion mechanisms 2500 can be configured to be controlled simultaneously. For example, the movable object 2500 can have multiple horizontally-oriented rotors that can provide lift and / or thrust to the movable object. The multiple horizontally-oriented rotors can be actuated to provide the movable object 2500 with the ability to take off vertically, to land vertically, and to hover. In some embodiments, one or more of the horizontally-oriented rotors can rotate in a clockwise direction, while one or more of the horizontally-oriented rotors can rotate in a counterclockwise direction. For example, the number of clockwise rotors can be equal to the number of counterclockwise rotors. The rotational speed of each of the horizontally-oriented rotors can be varied independently in order to control the lift and / or thrust produced by each rotor, and thereby adjust the spatial disposition, velocity, and / or acceleration of the movable object 2500 (e.g., in terms of up to three degrees of translation and up to three degrees of rotation).

[0272] The sensing system 2508 can include one or more sensors that can sense a spatial disposition, velocity, and / or acceleration of the movable object 2500 (e.g., in up to three degrees of translation and up to three degrees of rotation). The one or more sensors can include a global positioning system (GPS) sensor, a motion sensor, an inertial sensor, a proximity sensor, or an image sensor. The sensing data provided by the sensing system 2508 can be used to control the spatial disposition, velocity, and / or orientation of the movable object 2500 (e.g., using a suitable processing unit and / or control module as described below). Alternatively, the sensing system 2508 can be used to provide data relating to the surrounding environment of the movable object, such as weather conditions, proximity to potential obstacles, locations of geographical features, locations of man-made structures, and the like.

[0273] The communication system 2510 can be capable of communicating with the terminal 2512 having a communication system 2514 through wireless signals 2516. The communication systems 2510, 2514 can include any number of transmitters, receivers, and / or transceivers suitable for wireless communication. Such communication can be one-way communication such that data can only be transmitted in one direction. For example, one-way communication can involve only the movable object 2500 transmitting data to the terminal 2512, or vice versa. The data can be transmitted from one or more transmitters of the communication system 2510 to one or more receivers of the communication system 2512, or vice versa. Alternatively, such communication can be two-way communication such that data can be transmitted in both directions between the movable object 2500 and the terminal 2512. Such two-way communication can involve transmitting data from one or more transmitters of the communication system 2510 to one or more receivers of the communication system 2514, and vice versa.

[0274] In some embodiments, the terminal 2512 can provide control data to and receive information from one or more of the movable object 2500, the carrier 2502, and the payload 2504 (e.g., position and / or motion information of the movable object, carrier, or payload; data sensed by the payload, such as image data captured by a payload camera). In certain examples, control data from the terminal can include instructions for relative position, movement, actuation, or control of the movable object, carrier, and / or payload. For example, the control data can result in a correction to the position and / or orientation of the movable object (e.g., by controlling the propulsion mechanism 2506), or a correction to the movement of the payload relative to the movable object (e.g., by controlling the carrier 2502). Control data from the terminal can result in control of the payload, such as control of the operation of a camera or other image capture device (e.g., taking still or moving pictures, zooming in or out, turning on or off, switching imaging modes, changing image resolution, zooming, changing depth of field, changing exposure time, changing angle of view or field of view). In certain examples, communications from the movable object, carrier, and / or payload can include information from one or more sensors (e.g., of the sensing system 2508 or of the payload 2504). The communications can include sensing information from one or more different types of sensors (e.g., GPS sensors, motion sensors, inertial sensors, proximity sensors, or image sensors). Such information can relate to the position (e.g., location, orientation), movement, or acceleration of the movable object, carrier, and / or payload. Such information from the payload can include data captured by the payload or sensed states of the payload. Control data transmitted by the terminal 2512 can be configured to control the state of one or more of the movable object 2500, the carrier 2502, or the payload 2504. Alternatively or in combination, the carrier 2502 and the payload 2504 can each include a communication module configured to communicate with the terminal 2512, such that the terminal can independently communicate with and control each of the movable object 2500, the carrier 2502, and the payload 2504.

[0275] In some embodiments, the movable object 2500 can be configured to communicate with another remote device instead of or in addition to the terminal 2512. The terminal 2512 can also be configured to communicate with another remote device in addition to the movable object 2500. For example, the movable object 2500 and / or the terminal 2512 can communicate with another movable object, or a carrier or payload of another movable object. When desired, the remote device can be a second terminal or other computing device (e.g., a computer, laptop, tablet, smartphone, or other mobile device). The remote device can be configured to transmit data to the movable object 2500, receive data from the movable object 2500, transmit data to the terminal 2512, and / or receive data from the terminal 2512. Optionally, the remote device can be connected to the Internet or other telecommunications network, such that data received from the movable object 2500 and / or the terminal 2512 can be uploaded to a website or server.

[0276] In some embodiments, a system for controlling movable objects can be provided in accordance with some embodiments. Such a system can be used in combination with any suitable embodiment of the systems, devices, and methods described herein. Such a system can include a sensing module, a processing unit, a non-transitory computer readable medium, a control module, and a communication module.

[0277] The sensing module can utilize different types of sensors that collect information related to the movable objects in different ways. Different types of sensors can sense different types of signals or signals from different sources. For example, the sensors can include inertial sensors, GPS sensors, proximity sensors (e.g., lidar), or vision / image sensors (e.g., cameras). The sensing module can be operatively coupled to a processing unit having multiple processors. In certain embodiments, the sensing module can be operatively coupled to a transmission module (e.g., a Wi-Fi image transmission module) configured to transmit sensing data directly to a suitable external device or system. For example, a camera of the sensing module can be used with the transmission module to transmit images captured by the camera to a remote terminal.

[0278] The processing unit can have one or more processors, such as programmable processors (e.g., central processing units (CPUs)). The processing unit can be operatively coupled to a non-transitory computer readable medium. The non-transitory computer readable medium can store logic, code, and / or program instructions executable by the processing unit for implementing one or more steps. The non-transitory computer readable medium can include one or more memory units (e.g., removable media or external memory such as an SD card or random access memory (RAM)). In certain embodiments, data from the sensing module can be directly transmitted to and stored within the memory units of the non-transitory computer readable medium. The memory units of the non-transitory computer readable medium can store logic, code, and / or program instructions executable by the processing unit for implementing any suitable embodiment of the methods described herein. For example, the processing unit can be configured to execute instructions causing one or more processors of the processing unit to analyze sensing data generated by the sensing module. The memory units can store sensing data from the sensing module to be processed by the processing unit. In certain embodiments, the memory units of the non-transitory computer readable medium can be used to store processing results generated by the processing unit.

[0279] In certain embodiments, the processing unit can be operatively coupled to a control module configured to control a state of the movable object. For example, the control module can be configured to control a propulsion mechanism of the movable object to adjust a spatial disposition, velocity, and / or acceleration of the movable object with respect to six degrees of freedom. Alternatively or in combination, the control module can control one or more of a state of the carrier, payload, or sensing module.

[0280] The processing unit can be operatively coupled to a communication module configured to transmit and / or receive data from one or more external devices (e.g., a terminal, display device, or other remote controller). Any suitable communication means can be used, such as wired or wireless communication. For example, the communication module can utilize one or more of a local area network (LAN), wide area network (WAN), infrared, radio, WiFi, peer-to-peer (P2P) network, telecommunication network, cloud communication, and the like. Optionally, a relay station (such as a tower, satellite, or mobile station) can be used. The wireless communication can or can not be proximity-dependent. In some embodiments, the communication can or can not require line-of-sight. The communication module can transmit and / or receive one or more of sensing data from the sensing module, processing results generated by the processing unit, predetermined control data, user commands from a terminal or remote controller, and the like.

[0281] These components of the system can be arranged in any suitable configuration. For example, one or more of the components of the system can be on the movable object, the carrier, the payload, the terminal, the sensing system, or on an additional external device in communication with one or more of the above components. In certain embodiments, one or more of the processing units and / or non-transitory computer- readable media can be in different locations, e.g., on the movable object, the carrier, the payload, the terminal, the sensing module, an additional external device in communication with one or more of the above components, or a suitable combination thereof, such that any suitable aspect of the processing and / or memory functions performed by the system can occur in one or more of the above locations.

[0282] As used herein, A and / or B encompasses one or more of A or B, and combinations thereof (e.g., A and B). It should be understood that, although the terms“first,”“second,”“third,” etc. can be used herein to describe various elements, components, regions, and / or sections, these elements, components, regions, and / or sections should not be limited by these terms. These terms are simply used to distinguish one element, component, region, or section from another element, component, region, or section. Thus, a first element, component, region, or section discussed below could be termed a second element, component, region, or section without departing from the teachings of the present disclosure.

[0283] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the present disclosure. As used herein, the singular forms“a,”“an” and“the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms“comprises” and / or“comprising,” or“includes” and / or“including” when used in this specification, specify the presence of stated features, regions, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, regions, integers, steps, operations, elements, components, and / or groups thereof.

[0284] Moreover, relative terms such as "lower" or "bottom" and "upper" or "top" can be used herein to describe one element's relationship to another element as the illustrations shown. It will be understood that relative terms are intended to encompass different orientations of the elements in addition to the orientation depicted in the figures. For example, if a structure is inverted, elements described as "below" or "beneath" other elements would then be oriented "above" the other elements. The exemplary term "below" can encompass both an orientation of above and below. The exemplary term "above" can encompass both an orientation of above and below. The exemplary term "above" can encompass both an orientation of above and below. The exemplary term "below" or "under" can encompass both an orientation of above and below. The exemplary term "above" or "over" can encompass both an orientation of above and below. Thus, the exemplary terms "below" or "under" can encompass both an orientation of above and below.

[0285] While the preferred embodiments of the application have been illustrated and described, it will be clear to those skilled in the art that changes and modifications can be made without departing from the application in its broader aspects. It is therefore desired that only such changes and modifications as are clearly inconceivable from the application be considered as part of this disclosure, and the appended claims are intended to cover such changes and modifications. It is to be understood that the application is defined by the appended claims and their equivalents.

Claims

1. A method for controlling a movable object, comprising: Receive multiple signals, the multiple signals including one or more target object parameters and one or more motion path parameters; The motion path of the movable object is generated based on the multiple signals; Among them, one or more target object parameters are used to determine the position of the target object in three-dimensional space; The motion path generally follows the outline of the target object, the motion path can be visually depicted on a graphics display, and the shape and / or size of the outline enclosed by the motion path can be changed based on user input on the graphics display.

2. The method as described in claim 1, characterized in that, The one or more motion path parameters are further used to define how the movable object flies from its current position to the entry point of the motion path.

3. The method as described in claim 1, characterized in that, The multiple signals also include one or more movable object parameters and / or one or more external inputs.

4. The method as described in claim 3, characterized in that, The parameters of the one or more movable objects include the velocity, acceleration, altitude, attitude, and / or orientation of the movable object along the path of motion.

5. The method as described in claim 3, characterized in that, The one or more external inputs include changing the position of one or more spatial points along the motion path.

6. The method as described in claim 5, characterized in that, One or more spatial points in the motion path are visually depicted on a graphic display, and the user's movement of the visually depicted one or more spatial points on the graphic display can change the position of one or more spatial points along the motion path.

7. The method as described in claim 5, characterized in that, The one or more external inputs are provided either before the movable object moves along the motion path or in real time as the movable object moves along the motion path.

8. A method for controlling a movable object, comprising: Obtain the selected target, which is a moving target object; Plan a motion path so that the movable object navigates around the moving target object, and change or update the motion path as the target object moves; Wherein, the change or update of the motion path accompanying the movement of the target object includes: When the orientation of the target object changes relative to the reference plane, the motion path is changed or updated.

9. A method for controlling the motion path of a movable object using a computer-implemented graphical display, the method comprising: Receive real-time input from the user as they slide from a first spatial point to a second spatial point on the graphical display; The target object is identified as the tracking object of the movable object; Based on the real-time input, the movable object is controlled to switch from a first motion path to a second motion path. The first motion path is defined by the first spatial point, and the movable object can move along the first motion path to track the target object. The second motion path is defined by the second spatial point, and the movable object can continue to track the target object along the second motion path.

10. An unmanned aerial vehicle system, comprising: A device operable to control the unmanned aerial vehicle, the device comprising one or more processors, the one or more processors being individually or collectively configured to: Receive multiple signals, the multiple signals including one or more target object parameters and one or more motion path parameters; The motion path of the unmanned aerial vehicle is generated based on the multiple signals; Among them, one or more target object parameters are used to determine the position of the target object in three-dimensional space; The motion path generally follows the outline of the target object, the motion path can be visually depicted on a graphics display, and the shape and / or size of the outline enclosed by the motion path can be changed based on user input on the graphics display.

11. An unmanned aerial vehicle system, comprising: A device operable to control the unmanned aerial vehicle, the device comprising one or more processors, the one or more processors being individually or collectively configured to: Get the selected moving target object; Plan a motion path so that the unmanned aerial vehicle navigates around the moving target object, and change or update the motion path as the moving target object moves; Wherein, the change or update of the motion path accompanying the movement of the target object includes: When the orientation of the target object changes relative to the reference plane, the motion path is changed or updated.

12. An unmanned aerial vehicle system, comprising: A device operable to control the flight trajectory of the unmanned aerial vehicle, the device including a computer-implemented graphics display and one or more processors, the one or more processors being individually or collectively configured to: Receive real-time input from the user as they slide from a first spatial point to a second spatial point on the graphical display; The target object is identified as the object being tracked by the unmanned aerial vehicle. Based on the real-time input, the movable object is controlled to switch from a first motion path to a second motion path. The first motion path is defined by the first spatial point, and the movable object can move along the first motion path to track the target object. The second motion path is defined by the second spatial point, and the movable object can continue to track the target object along the second motion path.

Citation Information

Patent Citations

  • Method for controlling fixed point circular flying of unmanned plane

    CN104714557A

  • System and method for providing enhanced flight-plan management

    US20150260525A1