This application is a continuation of International Application No. PCT/CN2017/081499, filed Apr. 21, 2017, the entire content of which is incorporated herein by reference.
The disclosed embodiments relate generally to adjusting a resistance force of a movable object controller and more particularly, but not exclusively, to adjusting a resistance force based on wind incident on a movable object.
When a movable object such as an unmanned aerial vehicle (UAV) is flying in wind, the speed of movement of the moveable object is affected by the speed and direction of the wind. For a UAV to move at a given speed, a greater amount of power is required to control motion of the UAV when the UAV is flying into a headwind (wind blowing in a direction that is against the direction of travel of the UAV) than when the UAV is flying in a tailwind (wind blowing in a direction that is in the direction of travel of the UAV). As a user provides input to a remote controller device in order to control the speed of movement of a UAV, wind conditions may cause the movable object to move in a way that does not align with the expectations of the user.
There is a need for systems and methods for adjusting feedback of a remote controller to indicate to a user the effect of wind on a movable object that is controlled by the remote controller.
In accordance with some embodiments, a method for adjusting feedback of a remote controller configured to control movement of a movable object comprises obtaining wind data that corresponds to wind incident on the movable object. The wind data comprises wind velocity data along one or more axes of the movable object. The method further comprises mapping the wind data to one or more axes of an input device of the remote controller. The one or more axes of the input device correspond to the one or more axes of the movable object. The method additionally comprises adjusting a feedback of the input device with respect to each of the one or more axes of the input device. The adjustment is based at least in part on the wind data mapped to the one or more axes of the input device.
In accordance with some embodiments, a system for adjusting feedback of a remote controller configured to control movement of a movable object comprises a memory, one or more processors coupled to the memory, and one or more programs. The one or more programs are stored in the memory and configured to be executed by the one or more processors. The one or more programs include instructions for obtaining wind data that corresponds to wind incident on the movable object. The wind data comprises wind velocity data along one or more axes of the movable object. The one or more programs further include instructions for mapping the wind data to one or more axes of an input device of the remote controller. The one or more axes of the input device correspond to the one or more axes of the movable object. The one or more programs additionally include instructions for adjusting a feedback of the input device with respect to each of the one or more axes of the input device. The adjustment is based at least in part on the wind data mapped to the one or more axes of the input device.
In accordance with some embodiments, a computer readable storage medium stores one or more programs for adjusting feedback of a remote controller configured to control movement of a movable object. The one or more programs comprise instructions which, when executed, cause a device to obtain wind data that corresponds to wind incident on the movable object. The wind data comprises wind velocity data along one or more axes of the movable object. The one or more programs additionally comprise instructions which, when executed, map the wind data to one or more axes of an input device of the remote controller. The one or more axes of the input device correspond to the one or more axes of the movable object. The one or more programs additionally comprise instructions which, when executed, adjust a feedback of the input device with respect to each of the one or more axes of the input device. The adjustment is based at least in part on the wind data mapped to the one or more axes of the input device.
In accordance with some embodiments, a remote controller is configured to control movement of a movable object. The remote controller comprises an input device, a storage device, one or more processors coupled to the input device and the storage device, and one or more programs for adjusting feedback of the remote controller. The one or more programs are stored in the storage device and configured to be executed by the one or more processors. The one or more programs include instructions for obtaining wind data that corresponds to wind incident on the movable object. The wind data comprises wind velocity data along one or more axes of the movable object. The one or more programs additionally comprise instructions for mapping the wind data to one or more axes of an input device of the remote controller. The one or more axes of the input device correspond to the one or more axes of the movable object. The one or more programs additionally comprise instructions for adjusting a feedback of the input device with respect to each of the one or more axes of the input device. The adjustment is based at least in part on the wind data mapped to the one or more axes of the input device.
Reference will now be made in detail to embodiments, examples of which are illustrated in the accompanying drawings. In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the various described embodiments. However, it will be apparent to one of ordinary skill in the art that the various described embodiments may be practiced without these specific details. In other instances, well-known methods, procedures, components, circuits, and networks have not been described in detail so as not to unnecessarily obscure aspects of the embodiments.
When a remote controller is used to provide control signals to control the movement of a movable object, such as a UAV, the resulting movement of the UAV will depend on characteristics of wind incident on the UAV relative to the expected movement of the UAV. Movement of the UAV may be greater than expected when the UAV is flying in a tailwind and the movement may be less than expected when the UAV is flying in a headwind. To provide the user with information about the effect of the wind on movement of the UAV, feedback (e.g., haptic feedback) is provided at a remote controller to simulate the effect of the wind on the UAV. In this way, the user is provided with an intuitive sense of the effect of the wind on the flight of the UAV. This enables the user to compensate for the effect of the wind when controlling the movement of the UAV.
The following description uses a UAV as an example of a movable object. UAVs include, e.g., fixed-wing aircrafts and rotary-wing aircrafts such as helicopters, quadcopters, and aircraft having other numbers and/or configurations of rotors. It will be apparent to those skilled in the art that other types of movable objects may be substituted for UAVs as described below.
In some embodiments, the carrier 104 is used to couple a payload 106 to movable object 102. In some embodiments, the carrier 104 includes an element (e.g., a gimbal and/or damping element) to isolate the payload 106 from movement of the movable object 102 and/or the movement mechanism 114. In some embodiments, the carrier 104 includes an element for controlling movement of the payload 106 relative to the movable object 102.
In some embodiments, the payload 106 is coupled (e.g., rigidly coupled) to the movable object 102 (e.g., coupled via the carrier 104) such that the payload 106 remains substantially stationary relative to the movable object 102. For example, the carrier 104 is coupled to the payload 106 such that the payload is not movable relative to the movable object 102. In some embodiments, the payload 106 is mounted directly to the movable object 102 without requiring the carrier 104. In some embodiments, the payload 106 is located partially or fully within the movable object 102.
In some embodiments, a remote controller 108 communicates with the movable object 102, e.g., to provide control instructions to the movable object 102 and/or to display information received from the movable object 102. Although the remote controller 108 is typically a portable (e.g., handheld) device, the remote controller 108 need not be portable. In some embodiments, the remote controller 108 is a dedicated control device (e.g., for the movable object 102), a laptop computer, a desktop computer, a tablet computer, a gaming system, a wearable device (e.g., glasses, a glove, and/or a helmet), a microphone, a portable communication device (e.g., a mobile telephone) and/or a combination thereof.
In some embodiments, a computing device 110 communicates with the movable object 102. The computing device 110 is, e.g., a server computer, desktop computer, a laptop computer, a tablet, or another electronic device. In some embodiments, the computing device 110 is a base station that communicates (e.g., wirelessly) with the movable object 102 and/or the remote controller 108. In some embodiments, the computing device 110 provides data storage, data retrieval, and/or data processing operations, e.g., to reduce the processing power requirements and/or data storage requirements of the movable object 102 and/or the remote controller 108. For example, the computing device 110 is communicatively connected to a database and/or the computing device 110 includes a database. In some embodiments, the computing device 110 is used in lieu of or in addition to the remote controller 108 to perform any of the operations described with regard to the remote controller 108.
In some embodiments, the movable object 102 communicates with a remote controller 108 and/or a computing device 110, e.g., via wireless communications 112. In some embodiments, the movable object 102 receives information from the remote controller 108 and/or the computing device 110. For example, information received by the movable object 102 includes, e.g., control instructions for controlling parameters of the movable object 102. In some embodiments, the movable object 102 transmits information to the remote controller 108 and/or the computing device 110. For example, information transmitted by the movable object 102 includes, e.g., images and/or video captured by the movable object 102.
In some embodiments, communications between the computing device 110, the remote controller 108 and/or the movable object 102 are transmitted via a network (e.g., Internet 116) and/or a wireless signal transmitter (e.g., a long range wireless signal transmitter), such as a cellular tower 118. In some embodiments, a satellite (not shown) is a component of Internet 116 and/or is used in addition to or in lieu of the cellular tower 118.
In some embodiments, information communicated between the computing device 110, the remote controller 108 and/or the movable object 102 include movement control instructions. The movement control instructions include, e.g., navigation instructions for controlling navigational parameters of the movable object 102 such as position, orientation, attitude, and/or one or more movement characteristics (e.g., velocity and/or acceleration for linear and/or angular movement) of the movable object 102, the carrier 104, and/or the payload 106. In some embodiments, the movement control instructions include instructions for directing movement of one or more of the movement mechanisms 114. For example, the movement control instructions are used to control flight of a UAV.
In some embodiments, the movement control instructions include information for controlling operations (e.g., movement) of the carrier 104. For example, the movement control instructions are used to control an actuation mechanism of the carrier 104 so as to cause angular and/or linear movement of the payload 106 relative to the movable object 102. In some embodiments, the movement control instructions adjust movement of the movable object 102 with up to six degrees of freedom.
In some embodiments, the movement control instructions are used to adjust one or more operational parameters for the payload 106. For example, the movement control instructions include instructions for adjusting a focus parameter and/or an orientation of the payload 106 to track a target.
In some embodiments, when the movement control instructions are received by the movable object 102, the movement control instructions change parameters of and/or are stored by the memory 204.
In some embodiments, the movable object 102 is a UAV and includes components to enable flight and/or flight control. For example, the movable object 102 includes movement mechanisms 114 and/or movable object actuators 212, which are optionally interconnected with one or more other components of the movable object 102 via the communication bus 208. Although the movable object 102 is depicted as an aircraft, this depiction is not intended to be limiting, and any suitable type of movable object can be used.
In some embodiments, the movable object 102 includes movement mechanisms 114 (e.g., propulsion units). Although the plural term “movement mechanisms” is used herein for convenience of reference, “movement mechanisms 114” refers to a single movement mechanism (e.g., a single propeller) or multiple movement mechanisms (e.g., multiple rotors). The movement mechanisms 114 include one or more movement mechanism types such as rotors, propellers, blades, engines, motors, wheels, axles, magnets, nozzles, and so on. The movement mechanisms 114 are coupled to movable object 102 at, e.g., the top, bottom, front, back, and/or sides. In some embodiments, the movement mechanisms 114 of a single movable object 102 include multiple movement mechanisms (e.g., 114a, 114b) of the same type. In some embodiments, the movement mechanisms 114 of a single movable object 102 include multiple movement mechanisms with different movement mechanism types. The movement mechanisms 114 are coupled to the movable object 102 (or vice-versa) using any suitable means, such as support elements (e.g., drive shafts) and/or other actuating elements (e.g., the movable object actuators 212). For example, one or more movable object actuators 212 (e.g., 212a, 212b of
In some embodiments, the movement mechanisms 114 enable the movable object 102 to take off vertically from a surface or land vertically on a surface without requiring any horizontal movement of the movable object 102 (e.g., without traveling down a runway). In some embodiments, the movement mechanisms 114 are operable to permit the movable object 102 to hover in the air at a specified position and/or orientation. In some embodiments, one or more of the movement mechanisms 114 are controllable independently of one or more of the other movement mechanisms 114. For example, when the movable object 102 is a quadcopter, each rotor of the quadcopter is controllable independently of the other rotors of the quadcopter. In some embodiments, multiple movement mechanisms 114 are configured for simultaneous movement.
In some embodiments, the movement mechanisms 114 include multiple rotors that provide lift and/or thrust to the movable object 102. The multiple rotors are actuated to provide, e.g., vertical takeoff, vertical landing, and/or hovering capabilities to the movable object 102. In some embodiments, one or more of the rotors spin in a clockwise direction, while one or more of the rotors spin in a counterclockwise direction. For example, the number of clockwise rotors is equal to the number of counterclockwise rotors. In some embodiments, the rotation rate of each of the rotors is independently variable, e.g., for controlling the lift and/or thrust produced by each rotor, and thereby adjusting the spatial disposition, velocity, and/or acceleration of the movable object 102 (e.g., with respect to up to three degrees of translation and/or up to three degrees of rotation).
In some embodiments, the memory 204 stores one or more programs (e.g., sets of instructions), modules, and/or data structures, collectively referred to as “elements” herein. In some embodiments, one or more elements described with regard to the memory 204 are stored and/or executed by the remote controller 108, the computing device 110, and/or another device.
In some embodiments, the memory 204 stores a controlling system configuration that includes one or more system settings (e.g., as configured by a manufacturer, administrator, and/or user), control instructions, and or instructions for adjusting system settings and/or operation (e.g., based on received control instructions).
In some embodiments, the memory 204 includes instructions for determining an expected status parameter of the movable object 102. In some embodiments, instructions for determining an expected status parameter of the movable object 102 include instructions for determining an expected velocity based on one or more received motion control instructions, based on a power level signal provided to one or more actuators 212, and/or based on a rotation speed of one or more movement mechanisms 114 (e.g., as sensed by one or more sensors of movable object sensing system 210).
In some embodiments, the memory 204 includes instructions for determining an actual status parameter of the movable object 102. For example, the instructions for determining an actual status parameter of the movable object 102 include instructions for determining an actual movement trajectory based on data obtained from data output of one or more sensors of movable object sensing system 210. Examples of actual status parameters of the movable object include a movement trajectory of the movable object 102, a velocity of the movable object 102, a distance traversed by the movable object 102 over a defined period of time, and/or an attitude angle of the movable object 102. In some embodiments, the instructions for determining an actual status parameter of the movable object 102 include instructions for determining a status parameter using one or more sensors of movable object sensing system 210.
The above identified elements (e.g., modules and/or programs including sets of instructions) need not be implemented as separate software programs, procedures or modules, and thus various subsets of these modules may be combined or otherwise re-arranged in various embodiments. In some embodiments, the memory 204 stores a subset of the modules and data structures identified above. Furthermore, the memory 204 may store additional modules and data structures not described above. In some embodiments, the programs, modules, and data structures stored in the memory 204, or a non-transitory computer readable storage medium of the memory 204, provide instructions for implementing respective operations in the methods described below. In some embodiments, some or all of these modules may be implemented with specialized hardware circuits that subsume part or all of the module functionality. One or more of the above identified elements may be executed by one or more of the processor(s) 202 of the movable object 102. In some embodiments, one or more of the above identified elements is executed by one or more processors of a device remote from the movable object 102, such as processor(s) of the remote controller 108 and/or processor(s) of the computing device 110.
The communication device 206 enables communication with the remote controller 108 and/or the computing device 110, e.g., via the wireless signals 112. The communication device 206 includes, e.g., transmitters, receivers, and/or transceivers for wireless communication. In some embodiments, the communication is one-way communication, such that data is only received by the movable object 102 from the remote controller 108 and/or the computing device 110, or vice-versa. In some embodiments, communication is two-way communication, such that data is transmitted in both directions between the movable object 102 and the remote controller 108 and/or the computing device 110. In some embodiments, the movable object 102, the remote controller 108, and/or the computing device 110 are connected to the Internet 116 or other telecommunications network, e.g., such that data generated by the movable object 102, the remote controller 108, and/or the computing device 110 is transmitted to a server for data storage and/or data retrieval (e.g., for display by a website).
In some embodiments, the sensing system 210 of the movable object 102 includes one or more sensors. In some embodiments, one or more sensors of the movable object sensing system 210 are mounted to the exterior, located within, or otherwise coupled to the movable object 102. In some embodiments, one or more sensors of the movable object sensing system 210 are components of the carrier 104 and/or the payload 106. Where sensing operations are described herein as being performed by the movable object sensing system 210, it will be recognized that such operations are optionally performed by one or more sensors of the carrier 104 or the payload 106 in addition to or in lieu of one or more sensors of the movable object sensing system 210.
In some embodiments, the movable object sensing system 210 includes one or more location sensors (e.g., Global Positioning System (GPS) sensors), motion sensors (e.g., accelerometers), rotation sensors (e.g., gyroscopes), inertial sensors, proximity sensors (e.g., infrared sensors) and/or weather sensors (e.g., pressure sensor, temperature sensor, moisture sensor, and/or wind sensor). For example, the movable object sensing system 210 includes an anemometer that outputs wind speed and/or direction information. In some embodiments, the movable object 102, remote controller 108, and/or computing system 110 receives wind speed and/or direction data from an anemometer that is remote from movable object 102 (e.g., an anemometer mounted at a ground station and communicatively coupled to computer 110).
In some embodiments, the movable object sensing system 210 includes an image sensor. For example, the movable object sensing system 210 includes an image sensor that is a component of an imaging device, such as a camera. In some embodiments, the movable object sensing system 210 includes multiple image sensors, such as a pair of image sensors for stereographic imaging (e.g., a left stereographic image sensor and a right stereographic image sensor).
In some embodiments, the movable object sensing system 210 includes one or more audio transducers. For example, an audio detection system includes an audio output transducer (e.g., a speaker) and/or an audio input transducer (e.g., a microphone, such as a parabolic microphone). In some embodiments, microphone and a speaker are used as components of a sonar system. A sonar system is used, for example, to provide a three-dimensional map of the surroundings of the movable object 102.
In some embodiments, the movable object sensing system 210 includes one or more infrared sensors. In some embodiments, a distance measurement system for measuring a distance from the movable object 102 to an object or surface includes one or more infrared sensors, such a left infrared sensor and a right infrared sensor for stereoscopic imaging and/or distance determination.
In some embodiments, sensing data generated by one or more sensors of the movable object sensing system 210 and/or information determined based on sensing data from one or more sensors of the movable object sensing system 210 is used for depth detection. For example, the image sensor, the audio sensor, and/or the infrared sensor (and/or pairs of such sensors for stereo data collection) are used to determine a distance from the movable object 102 to another object, such as a target, an obstacle, and/or terrain.
In some embodiments, sensing data generated by one or more sensors of the movable object sensing system 210 and/or information determined based on sensing data from one or more sensors of the movable object sensing system 210 are transmitted to the remote controller 108 and/or the computing device 110 (e.g., via the communication device 206). In some embodiments, data generated by one or more sensors of the movable object sensing system 210 and/or information determined based on sensing data from one or more sensors of the movable object sensing system 210 is stored by the memory 204.
In some embodiments, the movable object 102, the remote controller 108, and/or the computing device 110 use sensing data generated by sensors of the sensing system 210 to determine information such as a position of the movable object 102, an attitude of the movable object 102, movement characteristics of the movable object 102 (e.g., angular velocity, angular acceleration, translational velocity, translational acceleration and/or direction of motion along one or more axes), and/or proximity of the movable object 102 to potential obstacles, targets, weather conditions, locations of geographical features and/or locations of manmade structures.
In some embodiments, the memory 304 is a storage device that stores instructions for one or more elements (e.g., one or more programs). In some embodiments, the memory 304 includes instructions for determining an expected status parameter of the movable object 102. For example, the memory 304 includes instructions for determining an expected status parameter of the movable object 102 using control instructions generated by the remote controller 108 based on input received at the input device 310. In some embodiments, the memory 304 includes instructions for determining a status parameter of the movable object 102 based on data, such as sensor output data, transmitted from the movable object 102 to the remote controller 108.
In some embodiments, the memory 304 includes instructions for adjusting feedback of input device 310, e.g., by adjusting feedback provided by a feedback device 316 of input device 310.
The input device 310 receives user input to control aspects of the movable object 102, the carrier 104, the payload 106, and/or a component thereof. Such aspects include, for example, attitude, position, orientation, velocity, acceleration, navigation, and/or tracking. In some embodiments, the input device 310 is manipulated by a user to provide control instructions for controlling the navigation of the movable object 102. For example, the magnitude of a change in position of an input device 310 of the remote controller 108 is used to adjust a magnitude of velocity, acceleration, change in orientation, or other aspect of the movement of the movable object 102.
In some embodiments, the input device 310 includes one or more mechanical input assemblies (e.g., joystick, analog stick, or other control stick; button; knob; dial; or pedal) and/or virtual controls (e.g., controls displayed on a touch-screen interface).
In some embodiments, the input device 310 includes a feedback device 316, such as a haptic device and/or a resistance force adjustment mechanism. In some embodiments, the feedback device 316 causes an adjustment to a resistance force (such as an adjustment to increase resistance to operation of the input device 310, e.g., by making the input device 310 more difficult to move in one or more directions, and/or an adjustment to decrease resistance to operation of the input device 310, e.g., by making the input device 310 less difficult to move in one or more directions). The input device 310 includes one or more components for adjusting the resistance force that resists input movement. For example, the input device 310 includes one or more resistance assemblies as described further below with regard to
In some embodiments, the input device 310 includes a sensor 314 configured to detect motion of a mechanical input device (e.g., a lever 402 as shown in
In some embodiments, a display 308 of the remote controller 108 displays information from the memory 304, the processor(s) 302, or information received from the movable object 102, such as data from movable object sensing system 210 (e.g., images captured by an imaging device), the memory 204, and/or another system of the movable object 102. For example, the display 308 displays information about the movable object 102, the carrier 104, and/or the payload 106, such as position, attitude, orientation, movement characteristics of the movable object 102. In some embodiments, information displayed by the display 308 of the remote controller 108 includes tracking data (e.g., a graphical tracking indicator applied to a representation of a target), and/or indications of control data transmitted to the movable object 102. In some embodiments, information displayed by the display 308 of the remote controller 108 is displayed in substantially real-time as information is received from the movable object 102 and/or as image data is acquired.
In some embodiments, the display 308 of the remote controller 108 is a touchscreen display. In some embodiments, a touchscreen display is configured to display a user interface including controls for controlling movement of the movable object 102.
In some embodiments, the display 308 and/or the input device 310 of the remote controller 108 are included in one or more peripheral electronic devices that are communicatively coupled to the remote controller 108, such as a mobile telephone or other portable computing device.
Input received at the right control stick input device 310a along a vertical axis changes the forward and backward pitch of the movable object 102, as indicated at
Input received at the right control stick input device 310a along a horizontal axis changes the left and right pitch of the movable object 102, as indicated at
In some embodiments, to provide an indication of wind direction and/or magnitude, feedback of the right control stick input device 310a is adjusted (e.g., a force that resists operation of the right control stick input device 310a is increased or decreased) along a direction of movement indicated by the arrow 502, 504, 512 and/or 514.
Input received at the left control stick input device 310b along a vertical axis changes the elevation the movable object 102, as indicated at
Input received at the left control stick input device 310b along a horizontal axis changes the rudder and rotation of the movable object 102, as indicated at
In some embodiments, to provide an indication of wind direction and/or magnitude, feedback of left control stick input device 310b is adjusted (e.g., a force that resists operation of the left control stick input device 310b is increased or decreased) along a direction of movement indicated by the arrow 520, 522, 528 and/or 530.
As illustrated in
As illustrated in
In some embodiments, to adjust a resistance force of input device 310 about the axis 704, a resistance force provided by the resistance assembly 720 is adjusted. For example, the resistance force provided by the resistance assembly 720 is adjusted in accordance with wind data (e.g., wind data determined by the processor 302 and/or received from movable object 102). In some embodiments, the processor 302 sends an instruction to the resistance assembly 720 to adjust a resistance to the rotation of the shaft 702 about the axis 704 (e.g., by increasing the resistance or decreasing the resistance).
In some embodiments, to adjust a resistance force of input device 310 about the axis 710, a resistance force provided by the resistance assembly 722 is adjusted. For example, the resistance force provided by the resistance assembly 722 is adjusted in accordance with wind data (e.g., wind data determined by the processor 302 and/or received from movable object 102). In some embodiments, the processor 302 sends an instruction to the resistance assembly 722 to adjust a resistance to the rotation of the shaft 708 about the axis 710.
In some embodiments, the resistance assembly 720 and/or the resistance assembly 722 include an actuator, such as a brake, a motor, and/or an electromagnetic device. In some embodiments, the resistance assembly 720 and/or the resistance assembly 722 include a mechanical resistance component, such as an elastic damping component, a friction braking component, a spring (e.g., a compression spring, a tension spring, and/or a torsion spring), a metal friction component, and/or an elastic and/or plastic deformation component. In some embodiments, the adjustment to the resistance produced by the resistance assembly 720 and/or the resistance assembly 722 is related to the magnitude and/or direction of wind as indicated by the wind direction data.
In some embodiments, the input device 310 includes a first reset member 726 that applies a restoring force to the shaft 702 to urge the shaft 702 toward an initial position of the shaft 702 (e.g., to return the shaft 702 to the initial position when the lever 402 is released after operation). In some embodiments, the input device 310 includes a second reset member 728 that applies a restoring force to the shaft 708 to urge the shaft 708 toward an initial position of the shaft 708 (e.g., to return the shaft 708 to the initial position when the lever 402 is released after operation).
In some embodiments, the first reset member 726 and/or the second reset member 728 include a damping device (e.g., elastic, oil, pneumatic, and/or hydraulic damper). In some embodiments, the first reset member 726 and/or the second reset member 728 include a spring (e.g., a compression spring, a tension spring, and/or a torsion spring).
In
In
As illustrated in
In
In
In some embodiments, to obtain data about the wind in which movable object 102 is flying, as indicated by the arrows 1104, an expected velocity of the movable object 102 is compared with an actual velocity of the movable object 102, as discussed with regard to
In
In
In some embodiments, wind data is determined by comparing the expected velocity vector 1202 of the movable object 102 with the actual velocity vector 1204 of the movable object 102. For example, in
The adjustment to the feedback of input device 310 provides the user with an indication of the effect wind will have control provided via the input device 310. In some embodiments, feedback is provided along multiple axes (e.g., vertical axis and horizontal axis of the input device 310) and/or at multiple input devices (310a and/or 310b) simultaneously.
The device obtains (1302) wind data that corresponds to wind incident on the movable object 102. The wind data includes wind velocity data along one or more axes of the movable object (e.g., the x-axis component of the wind velocity, as indicated by arrow 1220 of
In some embodiments, the wind data comprise (1304) a wind speed (e.g., a magnitude of wind velocity as indicated by a length of wind velocity vector 1218 and/or a length of one or more components of wind velocity vector 1218, e.g., as indicated by arrows 1220, 1222, and/or 1224) and a wind direction (e.g., a direction of wind velocity vector 1218).
In some embodiments, the device determines the wind data based at least in part on (1306) data output of one or more sensors (e.g., one or more sensors of movable object sensing system 210) of the movable object 102.
In some embodiments, the one or more sensors comprise at least one of (1308) a location sensor (e.g., a Global Positioning System sensor), an accelerometer, a gyroscope, a pressure sensor, or a wind sensor.
The device maps (1310) the wind data to one or more axes of an input device 310 of the remote controller (e.g., a vertical axis of input device 310a as described with regard to
In some embodiments, the input device 310 comprises (1312) at least one of a joystick (e.g., as shown at 402a and/or 402b of
The device adjusts (1314) a feedback of the input device 310 with respect to each of the one or more axes (e.g., a vertical axis of input device 310a as described with regard to
In some embodiments, the device adjusts the feedback of the input device 310 with respect to each of the one or more axes of the input device by generating (1316), using a haptic device (e.g., a feedback device 316 that includes a haptic device) of the remote controller 108, a haptic effect indicative of the wind data.
In some embodiments, the haptic effect comprises (1318) at least one of a tactile feedback or a thermal feedback.
In some embodiments, the device adjusts the feedback of the input device 310 with respect to each of the one or more axes of the input device 310 by adjusting (1320) a resistance of the input device 310 with respect to at least one axis of the one or more axes based on wind data along at least one axis of the movable object that corresponds to the at least one axis of the one or more axes. In some embodiments, a resistance of the input device 310 is adjusted by altering an electrical current flowing through an electromagnetic coil 612, as described with regard to
In some embodiments, the device adjusts the feedback of the input device 310 with respect to each of the one or more axes of the input device 310 by (1322) mapping the wind data mapped to the axis of the input device to an adjustment to the resistance based on a predefined mapping function. For example, a predefined mapping function is a linear, exponential, or step function (e.g., that defines the relationship between wind speed and resistance adjustment magnitude).
In some embodiments (1326), one or more processors 202 of the movable object 102 determine the wind data and the remote controller 108 receives (e.g., via communication device 306) wind data transmitted (e.g., via communication device 206) from the movable object 102.
In some embodiments, the device obtains the wind data by (1328) comparing an expected status parameter of the movable object 102 with an actual status parameter of the movable object 102. For example, the expected status parameter is an expected velocity vector 1202 of movable object 102, the actual status parameter is an actual velocity vector 1210 of movable object 102, and the wind data includes wind velocity vector 1218 obtained by comparing expected velocity vector 1202 with actual velocity vector 1210, as described with regard to
In some embodiments, the actual status parameter of the movable object 102 comprises (1330) at least one of a movement trajectory of the movable object 102 or an attitude angle of the movable object 102.
In some embodiments, the expected status parameter of the movable object 102 is determined (1332) based on an output power delivered (e.g., by one or more actuators, such as the actuator 212a and/or the actuator 212b) to one or more propulsion units (e.g., movement mechanisms 114a and/or 114b) of the movable object.
In some embodiments, the expected status parameter of the movable object is determined (1334) based on a rotation speed of one or more propulsion units (e.g., movement mechanisms 114a and/or 114b) of the movable object 102.
In some embodiments, the expected status parameter of the movable object 102 is determined (1336) based on one or more movement control instructions for the movable object 102 (e.g., control instructions generated by the remote controller 108 based on input received at input device 310 and/or control instructions automatically determined by the remote controller 108 based on tracking instructions and/or instructions for a predetermined route). In some embodiments, the movable object 102 determines movement control instructions for controlling its own movement automatically (e.g., when tracking or following a preprogramed route or to avoid collision with an object) and the movable object 102 provides data indicating the control instructions to remote controller 108.
In some embodiments, the device adjusts the feedback of the input device 310 with respect to each of the one or more axes of the input device 310 by (1338), in response to a determination that the expected status parameter of the movable object 102 exceeds the actual status parameter of the movable object 102 along a first axis of the one or more axes of the movable device, increasing a resistance force of the input device 310 along a first axis of the one or more axes of the input device 310 that corresponds to the first axis of the one or more axes of the movable object 102. For example, in response to a determination that the length of x-axis component 1204 of expected velocity vector 1202 exceeds the length of x-axis component 1212 of actual velocity vector 1210, a resistance force is increased along a vertical axis of input device 310a, as discussed with regard to
In some embodiments, the device adjusts the feedback of the input device 310 with respect to each of the one or more axes of the input device 310 by (1340), in response to a determination that the expected status parameter of the movable object 102 is less than the actual status parameter of the movable object 102 along a first axis of the one or more axes of the movable device 102, decreasing a resistance force of the input device 310 along a first axis of the one or more axes of the input device 310 that corresponds to the first axis of the one or more axes of the movable object 102. For example, in response to a determination that the length of z-axis component 1208 of expected velocity vector 1202 is less than the length of z-axis component 1216 of actual velocity vector 1210, a resistance force is decreased along a vertical axis of input device 310b, as discussed with regard to
In some embodiments, the device adjusts the feedback of the input device 310 with respect to each of the one or more axes of the input device 310 by (1342) adjusting a resistance force of the input device 310 by a magnitude that corresponds to a determined magnitude of difference between the expected status parameter of the movable object 102 and the actual status parameter of the movable object 102. For example, a resistance force is increased along a vertical axis of input device 310a, as discussed with regard to
Many features of the present disclosure can be performed in, using, or with the assistance of hardware, software, firmware, or combinations thereof. Consequently, features of the present disclosure may be implemented using a processing system. Exemplary processing systems (e.g., processor(s) 202 and 302) include, without limitation, one or more general purpose microprocessors (for example, single or multi-core processors), application-specific integrated circuits, application-specific instruction-set processors, field-programmable gate arrays, graphics processing units, physics processing units, digital signal processing units, coprocessors, network processing units, audio processing units, encryption processing units, and the like.
Features of the present disclosure can be implemented in, using, or with the assistance of a computer program product, such as a storage medium (media) or computer readable storage medium (media) having instructions stored thereon/in which can be used to program a processing system to perform any of the features presented herein. The storage medium (e.g., memory 204 and 304) can include, but is not limited to, any type of disk including floppy disks, optical discs, DVD, CD-ROMs, microdrive, and magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, DRAMs, VRAMs, DDR RAMs, flash memory devices, magnetic or optical cards, nanosystems (including molecular memory ICs), or any type of media or device suitable for storing instructions and/or data.
Stored on any one of the machine readable medium (media), features of the present disclosure can be incorporated in software and/or firmware for controlling the hardware of a processing system, and for enabling a processing system to interact with other mechanism utilizing the results of the present disclosure. Such software or firmware may include, but is not limited to, application code, device drivers, operating systems, and execution environments/containers.
Communication devices as referred to herein (e.g., communication devices 206 and 306) optionally communicate via wired and/or wireless communication connections. For example, communication devices optionally receive and send RF signals, also called electromagnetic signals. RF circuitry of the communication devices convert electrical signals to/from electromagnetic signals and communicate with communications networks and other communications devices via the electromagnetic signals. RF circuitry optionally includes well-known circuitry for performing these functions, including but not limited to an antenna system, an RF transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, a CODEC chipset, a subscriber identity module (SIM) card, memory, and so forth. Communication devices optionally communicate with networks, such as the Internet, also referred to as the World Wide Web (WWW), an intranet and/or a wireless network, such as a cellular telephone network, a wireless local area network (LAN) and/or a metropolitan area network (MAN), and other devices by wireless communication. Wireless communication connections optionally use any of a plurality of communications standards, protocols and technologies, including but not limited to Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), high-speed downlink packet access (HSDPA), high-speed uplink packet access (HSDPA), Evolution, Data-Only (EV-DO), HSPA, HSPA+, Dual-Cell HSPA (DC-HSPDA), long term evolution (LTE), near field communication (NFC), wideband code division multiple access (W-CDMA), code division multiple access (CDMA), time division multiple access (TDMA), Bluetooth, Wireless Fidelity (Wi-Fi) (e.g., IEEE 102.11a, IEEE 102.11ac, IEEE 102.11ax, IEEE 102.11b, IEEE 102.11g and/or IEEE 102.11n), voice over Internet Protocol (VoIP), Wi-MAX, a protocol for e-mail (e.g., Internet message access protocol (IMAP) and/or post office protocol (POP)), instant messaging (e.g., extensible messaging and presence protocol (XMPP), Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions (SIMPLE), Instant Messaging and Presence Service (IMPS)), and/or Short Message Service (SMS), or any other suitable communication protocol, including communication protocols not yet developed as of the filing date of this document.
While various embodiments of the present disclosure have been described above, it should be understood that they have been presented by way of example, and not limitation. It will be apparent to persons skilled in the relevant art that various changes in form and detail can be made therein without departing from the spirit and scope of the disclosure.
The present disclosure has been described above with the aid of functional building blocks illustrating the performance of specified functions and relationships thereof. The boundaries of these functional building blocks have often been arbitrarily defined herein for the convenience of the description. Alternate boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed. Any such alternate boundaries are thus within the scope and spirit of the disclosure.
The terminology used in the description of the various described embodiments herein is for the purpose of describing particular embodiments only and is not intended to be limiting. As used in the description of the various described embodiments and the appended claims, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the term “and/or” as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. It will be further understood that the terms “includes,” “including,” “comprises,” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
As used herein, the term “if” may be construed to mean “when” or “upon” or “in response to determining” or “in accordance with a determination” or “in response to detecting,” that a stated condition precedent is true, depending on the context. Similarly, the phrase “if it is determined [that a stated condition precedent is true]” or “if [a stated condition precedent is true]” or “when [a stated condition precedent is true]” may be construed to mean “upon determining” or “in response to determining” or “in accordance with a determination” or “upon detecting” or “in response to detecting” that the stated condition precedent is true, depending on the context.
The foregoing description of the present disclosure has been provided for the purposes of illustration and description. It is not intended to be exhaustive or to limit the disclosure to the precise forms disclosed. The breadth and scope of the present disclosure should not be limited by any of the above-described exemplary embodiments. Many modifications and variations will be apparent to the practitioner skilled in the art. The modifications and variations include any relevant combination of the disclosed features. The embodiments were chosen and described in order to best explain the principles of the disclosure and its practical application, thereby enabling others skilled in the art to understand the disclosure for various embodiments and with various modifications that are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the following claims and their equivalence.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/CN2017/081499 | Apr 2017 | US |
Child | 16657633 | US |