Unmanned vehicles such as unmanned aerial vehicles (UAVs) can be used to perform surveillance, reconnaissance, and exploration tasks for a wide variety of military and civilian applications. A UAV can include one or more functional modules for controlling the operation of UAV components such as propulsion units. For example, an electronic speed control (ESC) module can generate control signals for controlling a motor in a propulsion unit. In some instances, one or more motor control parameters of an ESC module can be adjusted using, for example a computing device or an ESC programming card.
The present disclosure provides systems, methods, and devices for programming a motor controller. The motor controller can be used to control a motor in a propulsion system on a vehicle (such as a UAV). The motor controller can be programmed out-field or on-site, without requiring the use of additional accessories such as a computing device or dedicated motor controller programming card.
According to various aspects of the disclosure, a motor can be connected to a motor controller, and used as an input device for selecting and/or adjusting one or more control parameters of the motor controller. The same motor, or another different motor, can be subsequently controlled by the motor controller based on the one or more selected and/or adjusted control parameters. In a multi-rotor aerial vehicle such as a UAV, a motor of a propulsion unit is usually located on an open end of each arm of the UAV, and can be easily accessed by a user without requiring the UAV housing to be taken apart. Accordingly, the ease and convenience of programming the motor controller can be significantly improved using various embodiments of the disclosure.
In some aspects of the disclosure, a method for operating a motor controller is provided. The method may comprise: obtaining an electrical signal via a port on the motor controller, wherein the port is configured to be electrically connected to a motor; and selecting a motor control parameter from a plurality of different motor control parameters based on the electrical signal, wherein the motor controller is configured to control the motor based on the selected motor control parameter.
A system for controlling a motor is provided in accordance with another aspect of the disclosure. The system may comprise: a motor controller comprising one or more processors that are individually or collectively configured to: obtain an electrical signal via a port on the motor controller, wherein the port is configured to be electrically connected to a motor; and select a motor control parameter from a plurality of different motor control parameters based on the electrical signal, wherein the motor controller is configured to control the motor based on the selected motor control parameter.
Further aspects of the disclosure may be directed to a non-transitory computer-readable medium storing instructions that, when executed, causes one or more processors to perform a method for operating a motor controller. The method may comprise: obtaining an electrical signal via a port on the motor controller, wherein the port is configured to be electrically connected to a motor; and selecting a motor control parameter from a plurality of different motor control parameters based on the electrical signal, wherein the motor controller is configured to control the motor based on the selected motor control parameter.
In some embodiments, the electrical signal may be indicative of a counter electromotive force (EMF) generated by a user input to the motor. The user input may comprise a manual rotation of the motor to generate the counter EMF. The counter EMF can be generated without the motor being powered on. Alternatively, the counter EMF can be generated with the motor being powered on. The motor can be powered on by an electric current provided from the motor controller.
In some embodiments, the electrical signal may be generated at a phase end of the motor, and output from the phase end to the port of the motor controller. The electrical signal may comprise a plurality of signal waveforms having an amplitude, a frequency, and a phase difference. The plurality of signal waveforms may be generated at a plurality of phase ends of the motor, and output from the plurality of phase ends to the port of the motor controller. The plurality of signal waveforms may be indicative of a counter electromotive force (EMF) generated by a user input to the motor. The amplitude and the frequency of the plurality of signal waveforms may be indicative of a speed of rotation of the motor when the motor is being manually rotated. The phase difference may be indicative of a direction of rotation of the motor when the motor is being manually rotated. Additionally, the phase difference may be indicative of an angle of rotation of the motor.
In some embodiments, the method may further comprise: detecting a variation in the plurality of signal waveforms when the motor is being manually rotated. The variation in the plurality of signal waveforms may comprise (i) a change in the amplitude, (ii) a change in the frequency, and/or (iii) a change in the phase difference of the plurality of signal waveforms.
In some embodiments, the electrical signal may be indicative of a change in a reference electric current provided to the motor. The reference electric current may be a constant electric current that is provided from the motor controller. The motor may not be configured to actively rotate when the reference electric current is provided to the motor. The motor may be in a locked state when the reference electric current is provided to the motor. The reference electric current may be configured to generate a torque in the motor for effecting the locked state of the motor. The motor may be only rotatable by an external force when the motor is in the locked state. The external force may be provided by a user's manual rotation of the motor. The change in the reference electric current may be caused by a counter electromotive force (EMF) that is generated by a user input to the motor. The user input may comprise manual rotation of the motor to generate the counter EMF. The change in the reference electric current may be associated with (i) a degree of rotation and/or (ii) number of turns of the motor. An angle of rotation of the rotor can be determined from a phase change in the reference electric current.
In some embodiments, the plurality of different motor control parameters may comprise instructions for controlling a (i) a direction of rotation, (ii) a rotation timing, (iii) an acceleration, (iv) a deceleration of the motor, (v) a normal phase-change timing, (vi) an advanced phase-change timing, and/or (vii) a voluntary deceleration of the motor. The selected motor control parameter may comprise instructions for controlling any one of (i)-(vii). The direction of rotation may comprise a clockwise direction or a counterclockwise direction of rotation. The rotation timing, acceleration, and deceleration may respectively comprise one or more rotation timings, one or more acceleration settings, and one or more deceleration settings associated with one or more operational modes. The one or more operational modes may comprise a normal mode and an advanced mode. The advanced mode may provide a higher acceleration force, a higher deceleration force (braking power), and/or a faster rotation timing compared to the normal mode.
In some embodiments, the plurality of different motor control parameters may be associated with and selected using a plurality of different user inputs. The plurality of different user inputs may comprise a user's manual rotation of the motor (1) in different directions and/or (2) for different number of turns. In some instances, a first user input may be used to select a first motor control parameter, and a second user input may be used to select a second motor control parameter. The first user input and the second user input may be different, and the first motor control parameter and the second motor control parameter may be different.
In some embodiments, the plurality of different motor control parameters may be associated with a plurality of different predefined electrical signals. The plurality of different predefined electrical signals may be associated with a plurality of predefined user inputs to the motor. The plurality of predefined user inputs may comprise (i) a speed of rotation, (ii) a direction of rotation, (iii) a rotation sequence, (iv) a number of rotation turns, and/or (v) a rotational position of the motor. In some instances, the plurality of different motor control parameters and the plurality of predefined user inputs may be provided in a look-up table.
In some embodiments, the method may further comprise: (1) comparing the electrical signal to the plurality of different predefined electrical signals, and (2) selecting the motor control parameter from the plurality of different motor control parameters when the electrical signal matches a predefined electrical signal that is associated with the selected motor control parameter.
In some embodiments, selecting the motor control parameter may further comprise: activating a mode that allows a value of the motor control parameter to be adjusted. The method may further comprise: adjusting the selected motor control parameter to a desired value after the motor control parameter is selected from the plurality of different motor control parameters. Adjusting the selected motor control parameter to the desired value may comprise calculating the desired value based on (i) a maximum value of the selected motor control parameter, (ii) a maximum output value of the motor, and (iii) a present output value of the motor. The maximum output value and the present output value of the motor may be associated with a speed, acceleration, rotating timing, and/or torque of the motor. The present output value of the motor may be obtained from the electrical signal. A ratio of the desired value to the maximum value of the selected motor control parameter may be proportional to a ratio of the present output value to the maximum output value of the motor.
In some embodiments, the method may further comprise: providing a driving signal for driving the motor to generate an audio signal when the motor control parameter is selected from the plurality of different motor control parameters. The audio signal may be generated at a predetermined audio frequency and/or for a predetermined length of time. The audio signal may comprise a predetermined sequence of sounds spaced apart at a same or different time intervals.
In some embodiments, the method may further comprise: providing a driving signal for driving a set of visual indicators to generate a visual signal when the motor control parameter is selected from the plurality of different motor control parameters. The set of visual indicators may comprise a plurality of lighting elements. The visual signal may be generated at a predetermined frequency and/or for a predetermined length of time. The visual signal may comprise a predetermined sequence of light flashes spaced apart at a same or different time intervals.
In some embodiments, the method may further comprise: providing a driving signal for driving the motor to generate a vibration signal when the motor control parameter is selected from the plurality of different motor control parameters. The vibration signal may be indicative that the motor control parameter is successfully selected. The motor may be configured to vibrate at a predefined frequency and/or for a predetermined length of time. The motor may be configured to vibrate in a predefined sequence of vibrations spaced apart at a same or different time intervals.
In some embodiments, the method may further comprise: providing a driving signal for driving the motor to generate a rotation signal when the motor control parameter is selected from the plurality of different motor control parameters. The rotation signal may be indicative that the motor control parameter is successfully selected. The motor may be configured to rotate for a predetermined number of turns, in a predetermined direction, and/or to a predetermined position. The motor may be configured to rotate in a predefined sequence spaced apart at a same or different time intervals.
In some embodiments, the method may further comprise: providing a first driving signal for driving the motor to generate a first indicator signal when the motor control parameter is successfully selected. The method may also further comprise: providing a second driving signal for driving the motor to generate a second indicator signal when the motor control parameter is not successfully selected. The first indicator signal may be different from the second indicator signal. The first indicator signal and the second indicator signal may be selected from the group consisting of: (1) audio signals, (2) visual signals, (3) vibration signals, and (4) motor rotational signals.
According to another aspect of the disclosure, a method for controlling a motor is provided. The method may comprise: operating the motor to generate an electrical signal; and outputting the electrical signal from the motor to one or more processors, wherein the electrical signal is configured to be used by the one or more processors as an input for selecting a motor control parameter from a plurality of different motor control parameters.
A system may be provided in accordance with an additional aspect of the disclosure. The system may comprise: a motor configured to generate an electrical signal when the motor is operated; and one or more processors individually or collectively configured to control the motor, wherein the motor is configured to output the electrical signal to the one or more processors, and wherein the electrical signal is configured to be used by the one or more processors as an input for selecting a motor control parameter from a plurality of different motor control parameters.
In some embodiments, operating the motor to generate the electrical signal may comprise manually rotating the motor without the motor being powered on. Alternatively, operating the motor to generate the electrical signal may comprise manually rotating the motor with the motor being powered on. The motor may be powered by an electric current provided via the one or more processors. The electrical signal may be generated at a phase end of the motor, and output from the phase end to the one or more processors. The electrical signal may be indicative of a counter electromotive force (EMF) generated by the operation of the motor. The plurality of different motor control parameters may be associated with a plurality of different ways of controlling the motor. Operating the motor to generate the electrical signal may comprise manually rotating the motor. The motor may be configured to be manually rotated (i) in different directions, (ii) at different speeds, (iii) in different rotation sequences, (iv) having different number of turns, and/or (v) to different rotational positions. Each one of the plurality of different motor control parameters may be associated with a unique manner of operating the motor based on at least one of (i)-(v).
In some embodiments, the plurality of different motor control parameters may be associated with and selected using a plurality of different user inputs. The plurality of different user inputs may comprise a user's manual rotation of the motor (1) in different directions and/or (2) for different number of turns. In some instances, a first user input may be used to select a first motor control parameter, and a second user input may be used to select a second motor control parameter. The first user input and the second user input may be different, and the first motor control parameter and the second motor control parameter may be different.
In some embodiments, the plurality of different motor control parameters may comprise instructions for controlling a (i) a direction of rotation, (ii) a rotation timing, (iii) an acceleration, and/or (iv) a deceleration of the motor, (v) a normal phase-change timing, (vi) an advanced phase-change timing, and/or (vii) a voluntary deceleration of the motor. The selected motor control parameter may comprise instructions for controlling any one of (i)-(vii). The direction of rotation may comprise a clockwise direction or a counterclockwise direction of rotation. The rotation timing, acceleration, and deceleration may respectively comprise one or more rotation timings, one or more acceleration settings, and one or more deceleration settings associated with one or more operational modes. The one or more operational modes may comprise a normal mode and an advanced mode. The advanced mode may provide a higher acceleration force, a higher deceleration force (braking power), and/or a faster rotation timing compared to the normal mode.
In some embodiments, the plurality of different motor control parameters may be associated with a plurality of different predefined electrical signals. The plurality of different predefined electrical signals may be associated with a plurality of predefined user inputs to the motor. The plurality of predefined user inputs may comprise (i) a speed of rotation, (ii) a direction of rotation, (iii) a rotation sequence, (iv) a number of rotation turns, and/or (v) a rotational position of the motor. In some instances, the plurality of different motor control parameters and the plurality of predefined user inputs may be provided in a look-up table.
In some embodiments, the method may further comprise: (1) comparing the electrical signal to the plurality of different predefined electrical signals, and (2) selecting the motor control parameter from the plurality of different motor control parameters when the electrical signal matches a predefined electrical signal that is associated with the selected motor control parameter.
In some embodiments, selecting the motor control parameter may further comprise: activating a mode that allows a value of the motor control parameter to be adjusted. The method may further comprise: adjusting the selected motor control parameter to a desired value after the motor control parameter is selected from the plurality of different motor control parameters. Adjusting the selected motor control parameter to the desired value may comprise calculating the desired value based on (i) a maximum value of the selected motor control parameter, (ii) a maximum output value of the motor, and (iii) a present output value of the motor. The maximum output value and the present output value of the motor may be associated with a speed, acceleration, rotating timing, and/or torque of the motor. The present output value of the motor may be obtained from the electrical signal. A ratio of the desired value to the maximum value of the selected motor control parameter may be proportional to a ratio of the present output value to the maximum output value of the motor.
In some embodiments, the method may further comprise: providing a driving signal for driving the motor to generate an audio signal when the motor control parameter is selected from the plurality of different motor control parameters. The audio signal may be generated at a predetermined audio frequency and/or for a predetermined length of time. The audio signal may comprise a predetermined sequence of sounds spaced apart at a same or different time intervals.
In some embodiments, the method may further comprise: providing a driving signal for driving a set of visual indicators to generate a visual signal when the motor control parameter is selected from the plurality of different motor control parameters. The set of visual indicators may comprise a plurality of lighting elements. The visual signal may be generated at a predetermined frequency and/or for a predetermined length of time. The visual signal may comprise a predetermined sequence of light flashes spaced apart at a same or different time intervals.
In some embodiments, the method may further comprise: providing a driving signal for driving the motor to generate a vibration signal when the motor control parameter is selected from the plurality of different motor control parameters. The vibration signal may be indicative that the motor control parameter is successfully selected. The motor may be configured to vibrate at a predefined frequency and/or for a predetermined length of time. The motor may be configured to vibrate in a predefined sequence of vibrations spaced apart at a same or different time intervals.
In some embodiments, the method may further comprise: providing a driving signal for driving the motor to generate a rotation signal when the motor control parameter is selected from the plurality of different motor control parameters. The rotation signal may be indicative that the motor control parameter is successfully selected. The motor may be configured to rotate for a predetermined number of turns, in a predetermined direction, and/or to a predetermined position. The motor may be configured to rotate in a predefined sequence spaced apart at a same or different time intervals.
In some embodiments, the method may further comprise: providing a first driving signal for driving the motor to generate a first indicator signal when the motor control parameter is successfully selected. The method may also further comprise: providing a second driving signal for driving the motor to generate a second indicator signal when the motor control parameter is not successfully selected. The first indicator signal may be different from the second indicator signal. The first indicator signal and the second indicator signal may be selected from the group consisting of: (1) audio signals, (2) visual signals, (3) vibration signals, and (4) motor rotational signals.
Further aspects of the disclosure may be directed to a method for controlling a propulsion system. The method may comprise: operating a motor when the motor is not outputting a propulsion force; and selecting a motor control parameter of a motor controller based on the operation of the motor, wherein the motor controller is configured to control the motor to output the propulsion force based on the selected motor control parameter.
A propulsion system may be provided in accordance with additional aspects of the disclosure. The propulsion system may comprise: a motor configured to output a propulsion force; and a motor controller electrically connected to the motor and configured to control the motor to output the propulsion force based on a selected motor control parameter, wherein the motor control parameter is selected based on an operation of the motor when the motor is not outputting the propulsion force.
In some embodiments, the propulsion system may be located on an unmanned aerial vehicle (UAV). The motor may be configured to output the propulsion force to power flight of the UAV. The motor controller may be an electronic speed controller (ESC) onboard the UAV.
In some embodiments, operating the motor may comprise manually rotating the motor without the motor being powered on. Alternatively, operating the motor may comprise manually rotating the motor with the motor being powered on. The motor may be powered by a constant electric current. The motor may be operated to generate an electrical signal when the motor is not outputting the propulsion force. The electrical signal may be indicative of a counter electromotive force (EMF) generated by the operation of the motor. The electrical signal may be generated at a phase end of the motor, and output from the phase end to a port of the motor controller.
In some embodiments, the motor control parameter may be selected from a plurality of different motor control parameters. The plurality of different motor control parameters may be associated with a plurality of different ways of controlling the motor. Operating the motor to generate the electrical signal may comprise manually rotating the motor. The motor may be configured to be manually rotated (i) in different directions, (ii) at different speeds, (iii) in different rotation sequences, (iv) having different number of turns, and/or (v) to different rotational positions. Each one of the plurality of different motor control parameters may be associated with a unique manner of operating the motor based on at least one of (i)-(v).
In some embodiments, the plurality of different motor control parameters may be associated with and selected using a plurality of different user inputs. The plurality of different user inputs may comprise a user's manual rotation of the motor (1) in different directions and/or (2) for different number of turns. In some instances, a first user input may be used to select a first motor control parameter, and a second user input may be used to select a second motor control parameter. The first user input and the second user input may be different, and the first motor control parameter and the second motor control parameter may be different. The plurality of different motor control parameters may comprise instructions for controlling a (i) a direction of rotation, (ii) a rotation timing, (iii) an acceleration, (iv) a deceleration of the motor, (v) a normal phase-change timing, (vi) an advanced phase-change timing, and/or (vii) a voluntary deceleration of the motor. The selected motor control parameter may comprise instructions for controlling any one of (i)-(vii). The direction of rotation may comprise a clockwise direction or a counterclockwise direction of rotation. The rotation timing, acceleration, and deceleration may respectively comprise one or more rotation timings, one or more acceleration settings, and one or more deceleration settings associated with one or more operational modes. The one or more operational modes may comprise a normal mode and an advanced mode. The advanced mode may provide a higher acceleration force, a higher deceleration force (braking power), and/or a faster rotation timing compared to the normal mode.
In some embodiments, the plurality of different motor control parameters may be associated with a plurality of different predefined electrical signals. The plurality of different predefined electrical signals may be associated with a plurality of predefined user inputs to the motor. The plurality of predefined user inputs may comprise (i) a speed of rotation, (ii) a direction of rotation, (iii) a rotation sequence, (iv) a number of rotation turns, and/or (v) a rotational position of the motor.
In some cases, the plurality of different motor control parameters and the plurality of predefined user inputs may be provided in a look-up table.
In some embodiments, the method may further comprise: (1) comparing the electrical signal to the plurality of different predefined electrical signals, and (2) selecting the motor control parameter from the plurality of different motor control parameters when the electrical signal matches a predefined electrical signal that is associated with the selected motor control parameter.
In some embodiments, selecting the motor control parameter may further comprise: activating a mode that allows a value of the motor control parameter to be adjusted. The method may further comprise: adjusting the selected motor control parameter to a desired value after the motor control parameter is selected from the plurality of different motor control parameters.
Adjusting the selected motor control parameter to the desired value may comprise calculating the desired value based on (i) a maximum value of the selected motor control parameter, (ii) a maximum output value of the motor, and (iii) a present output value of the motor. The maximum output value and the present output value of the motor may be associated with a speed, acceleration, rotating timing, and/or torque of the motor. The present output value of the motor may be obtained from the electrical signal. A ratio of the desired value to the maximum value of the selected motor control parameter may be proportional to a ratio of the present output value to the maximum output value of the motor.
In some embodiments, the method may further comprise: providing a driving signal for driving the motor to generate an audio signal when the motor control parameter is selected from the plurality of different motor control parameters. The audio signal may be generated at a predetermined audio frequency and/or for a predetermined length of time. The audio signal may comprise a predetermined sequence of sounds spaced apart at a same or different time intervals.
In some embodiments, the method may further comprise: providing a driving signal for driving a set of visual indicators to generate a visual signal when the motor control parameter is selected from the plurality of different motor control parameters. The set of visual indicators may comprise a plurality of lighting elements. The visual signal may be generated at a predetermined frequency and/or for a predetermined length of time. The visual signal may comprise a predetermined sequence of light flashes spaced apart at a same or different time intervals.
In some embodiments, the method may further comprise: providing a driving signal for driving the motor to generate a vibration signal when the motor control parameter is selected from the plurality of different motor control parameters. The vibration signal may be indicative that the motor control parameter is successfully selected. The motor may be configured to vibrate at a predefined frequency and/or for a predetermined length of time. The motor may be configured to vibrate in a predefined sequence of vibrations spaced apart at a same or different time intervals.
In some embodiments, the method may further comprise: providing a driving signal for driving the motor to generate a rotation signal when the motor control parameter is selected from the plurality of different motor control parameters. The rotation signal may be indicative that the motor control parameter is successfully selected. The motor may be configured to rotate for a predetermined number of turns, in a predetermined direction, and/or to a predetermined position. The motor may be configured to rotate in a predefined sequence spaced apart at a same or different time intervals.
In some embodiments, the method may further comprise: providing a first driving signal for driving the motor to generate a first indicator signal when the motor control parameter is successfully selected. The method may also further comprise: providing a second driving signal for driving the motor to generate a second indicator signal when the motor control parameter is not successfully selected. The first indicator signal may be different from the second indicator signal. The first indicator signal and the second indicator signal may be selected from the group consisting of: (1) audio signals, (2) visual signals, (3) vibration signals, and (4) motor rotational signals.
It shall be understood that different aspects of the disclosure can be appreciated individually, collectively, or in combination with each other. Various aspects of the disclosure described herein may be applied to any of the particular applications set forth below or for any other types of motors and/or stabilizing platforms. Any description herein of a movable object may apply to and be used for any manned or unmanned vehicle. Other objects and features of the present disclosure will become apparent by a review of the specification, claims, and appended figures.
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.
The novel features of the invention are set forth with particularity in the appended claims. A better understanding of the features and advantages of the present disclosure will be obtained by reference to the following detailed description that sets forth illustrative embodiments, in which the principles of the disclosure are utilized, and the accompanying drawings of which:
The present disclosure provides systems, methods, and devices for programming a motor controller. The motor controller can be used to control a motor in a propulsion unit on a vehicle (such as a UAV). In particular, the present disclosure addresses at least the following needs relating to programming of motor controllers.
Existing approaches for programming a motor controller may not be optimal in some instances. For example, a computing device (such as a personal computer) or a dedicated motor controller programming card is typically used to adjust motor control parameters of a motor controller. However, out-field or on-site motor control parameter adjustments may not be feasible if a user did not, or has forgotten to bring a computing device or a programming card. Also, carrying a computing device or programming card around with a vehicle (e.g., a UAV) may limit the mobility of the user. Before the motor control parameters of a motor controller can be adjusted, the computing device or programming card needs to be powered on. In some places such as remote locations with no power source, the computing device or programming card may not be usable if their battery charge is low or depleted.
To select and/or adjust motor control parameters, a computing device or programming card has to be electrically connected to the motor controller, for example via a communication port of the motor controller. Oftentimes, the motor controller is located within a housing of a vehicle, and may not be easily accessible to a user. For example, a user may have to unscrew and remove parts of the housing to access the communication port of the motor controller. In some instances, the communication port of the motor controller may be connected to other components (such as a flight controller) of the vehicle via a control cable. A user may have to first disconnect the control cable, so that the communication port of the motor controller is available for connecting to the computing device or programming card. After completing the motor control parameter adjustments, the user will have to reconnect the control cable and reassemble the housing of the vehicle. The above sequence of steps can be labor and time-intensive, and cause significant inconvenience to the user.
Accordingly, there is a need to improve the ease and convenience of programming a motor controller out-field or on-site, without relying on additional accessories such as a computing device or programming card. The motor controllers and motors provided herein can address the above need.
A programmable motor controller may be provided in accordance with embodiments of the disclosure. The motor controller can be programmed (1) using a motor operably coupled to the motor controller, and (2) without requiring the use of a computing device or a motor controller programming card. The motor controller may comprise an electronic speed control (ESC) module. Alternatively, the motor controller may be part of an ESC module. The programming of the motor controller may include selecting and/or adjusting one or more motor control parameters of the motor controller.
The motor controller may be operably coupled to the motor through a communication interface that permits two-way communication between the motor controller and the motor. The communication interface may include one or more ports on each of the motor controller and the motor. The motor can be used as an input device for selecting and/or adjusting one or more motor control parameters of the motor controller. For example, a user can manually rotate the motor rotor at different speeds, in different directions (e.g., clockwise or counterclockwise), and/or different number of turns to select and/or adjust one or more motor control parameters via the motor controller. A motor control parameter can be selected and/or adjusted based on a counter electromotive force (EMF) generated by a user-input rotation to the motor.
The motor controller can be configured to control operation of the motor based on the selected and/or adjusted motor control parameters. In some embodiments, the motor may be part of a propulsion system on a vehicle. The vehicle may be any movable object. In some instances, the vehicle may be an unmanned aerial vehicle (UAV). The motor controller and the propulsion unit comprising the motor may be located onboard the UAV.
Although various embodiments of the disclosure are described herein with respect to a brushless motor and control of a brushless motor, it should be appreciated that the disclosure can also be applied to direct current (DC) brush motors, rotational motors, servo motors, direct-drive rotational motors, DC torque motors, linear solenoids stepper motors, ultrasonic motors, geared motors, speed-reduced motors, hydraulic actuators, pneumatic actuators, or piggybacked motor combinations. In some cases, direct-drive motors may include compact motors or miniaturized motors, and can be controlled in a stepless fashion to reduce response time and enable fast and timely speed/acceleration/rotational direction adjustments in response to various attitude changes of the vehicle.
Next, various embodiments of the disclosure will be described in detail with reference to the drawings.
As mentioned above, the movable object may be capable of traversing a physical environment. In some embodiments, the movable object may be capable of flight within three dimensions. The movable object may be capable of spatial translation along one, two, or three axes. The one, two or three axes may be orthogonal to one another. The axes may be along a pitch, yaw, and/or roll axis. The movable object may be capable of rotation about one, two, or three axes. The one, two, or three axes may be orthogonal to one another. The axes may be a pitch, yaw, and/or roll axis. The movable object may be capable of movement along up to 6 degrees of freedom. The movable object may include one or more propulsion units that may aid the movable object in movement. For instance, the movable object may be a UAV with one, two or more propulsion units. The propulsion units may be configured to generate lift for the UAV. The propulsion units may include rotors. The movable object may be a multi-rotor UAV.
The movable object may have any physical configuration. For instance, the movable object may have a central body with one or arms or branches extending from the central body. The arms may extend laterally or radially from the central body. The arms may be movable relative to the central body or may be stationary relative to the central body. The arms may support one or more propulsion units. For instance, each arm may support one, two or more propulsion units.
The movable object 100 can be operated completely autonomously (e.g., by a suitable computing system such as an onboard control module), semi-autonomously, or manually (e.g., by a human user). The movable object can receive commands from a suitable entity (e.g., human user or autonomous control module) and respond to such commands by performing one or more actions. For example, the movable object can be controlled to take off from the ground, move within the air (e.g., with up to three degrees of freedom in translation and up to three degrees of freedom in rotation), move to a target location or to a sequence of target locations, hover within the air, land on the ground, and so on. As another example, the movable object can be controlled to move at a specified velocity and/or acceleration (e.g., with up to three degrees of freedom in translation and up to three degrees of freedom in rotation) or along a specified movement path. Furthermore, the commands can be used to control one or more movable object components, such as the components described herein (e.g., sensors, actuators, propulsion units, payload, etc.). For instance, some commands can be used to control the position, orientation, and/or operation of a movable object payload such as a camera.
In some embodiments, the movable object includes a plurality of components that are controllable to perform various operations. Examples of components that can be included in a movable object include but are not limited to: propulsion units that effect movement of the movable object (e.g., with respect to up to three degrees of freedom in translation and up to three degrees of freedom in rotation), sensors that collect various types of information (e.g., state information, environmental information), communication modules that facilitate communication between the movable object and one or more remote devices (e.g., a remote controller or terminal), or suitable combinations thereof. The components can respond to control signals in order to perform the operations.
For example, the movable object can include one or more propulsion units that are actuated in order to effect movement of the movable object. Exemplary propulsion units can include one or more engines, motors, wheels, axles, magnets, rotors, propellers, blades, nozzles, or suitable combinations thereof. The movable object can include any suitable number of propulsion units, such as one, two, three, four, five, six, seven, eight, or more propulsion units. The propulsion units may all be of the same type. Alternatively, the movable object can use or include different types of propulsion units. The propulsion units can be mounted on the movable object in a variety of ways, e.g., via a fixed coupling, a releasable coupling, a movable coupling, a rotatable coupling, and the like. The propulsion units can be mounted on any suitable portion of the movable object, such on the top, bottom, front, back, sides, or suitable combinations thereof. Different propulsion units can be situated on different portions of the movable object. The positions of the propulsion units on the movable object can be fixed. Alternatively, some or all of the propulsion units can be movable relative to the movable object. For example, a movable object (e.g., a UAV) can have a central body and a plurality of branch members or arms extending outward from the central body. The branch members can be fixed relative to the central body and/or to each other. Alternatively, some or all of the branch members can be movable relative to the central body and/or to each other, e.g., by translating, rotating, folding, telescoping, bending, and the like. In some embodiments, the branch members can be rotated to a plurality of different angles relative to a vertical axis of the movable object. The propulsion units of the movable object can be positioned on the branch members, e.g., near the distal portions of the branch members, such that the propulsion units are moved relative to each other and/or the central body according to the movement of the branch members.
The propulsion units can include one or more components that are actuated (e.g., by a suitable actuator such as a motor or engine) in order to provide forces that effect movement of the movable object. In some embodiments, the propulsion units can enable the movable object to take off vertically from a surface or land vertically on a surface without requiring any horizontal movement of the movable object (e.g., without traveling down a runway). Optionally, the propulsion units can be operable to permit the movable object to hover in the air at a specified position and/or orientation. The actuation can be controlled using suitable actuation signals, e.g., provided by a functional module that controls operation of the propulsion unit, as described in further detail herein. One or more of the propulsion units may be controlled independently of the other propulsion mechanisms. Alternatively, the propulsion units can be configured to be controlled simultaneously.
In some embodiments, the propulsion units of a movable object can include one or more rotors. Such rotors can be actuated (e.g., rotated) in a variety of ways in order to generate propulsive forces (e.g., lift forces, thrust forces) for effecting movement of the movable object. For example, a suitable actuator (e.g., engine or motor, such as a brushed DC motor or brushless DC motor) can be operably coupled to the rotor in order to drive the rotation of the rotor. The rotor can be a horizontal rotor (which may refer to a rotor having a horizontal plane of rotation), a vertically oriented rotor (which may refer to a rotor having a vertical plane of rotation), or a rotor tilted at an intermediate angle between the horizontal and vertical positions. In some embodiments, horizontally oriented rotors may spin and provide lift to the movable object. Vertically oriented rotors may spin and provide thrust to the movable object. Rotors oriented an intermediate angle between the horizontal and vertical positions may spin and provide both lift and thrust to the movable object. The forces generated by the rotation of the rotors can be of a sufficient magnitude to propel the movable object. In some embodiments, the rotors can be configured to spin at a rate suitable for generating the desired propulsive forces. The rotation rate can be based on the dimensions of the movable object (e.g., size, weight), and the movable object may have any suitable dimensions as described elsewhere herein.
One or more rotors may be used to provide a torque counteracting a torque produced by the spinning of another rotor. For example, a movable object can have multiple horizontally oriented rotors that are actuated (e.g., rotated) in order to provide lift and/or thrust to the movable object. The multiple horizontally oriented rotors can be actuated to provide vertical takeoff, vertical landing, and hovering capabilities to the movable object. In some embodiments, one or more of the horizontally oriented rotors may rotate in a clockwise direction, while one or more of the horizontally rotors may rotate in a counterclockwise direction. For example, the number of clockwise rotors may be equal to the number of counterclockwise rotors. The rotation rate 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 position, orientation, velocity, and/or acceleration of the movable object (e.g., with respect to up to three degrees of translation and up to three degrees of rotation).
As shown in
According to various embodiments of the disclosure, the motor controller can be programmed using the motor. For example, one or more motor control parameters of the motor controller can be selected and/or adjusted using the motor as an input device, as described below with reference to
The motor controller may include a port configured to be electrically connected to the motor. The motor controller may be configured to obtain the electrical signal via the port. For example, the electrical signal may be (1) generated at a phase end of the motor when the user rotates the motor, and (2) output from the phase end of the motor to the port of the motor controller. One or more processors in the motor controller may be configured to, either individual or collectively, select a motor control parameter from a plurality of different motor control parameters based on the electrical signal.
Referring to part B of
A user 306 can provide an input rotation 308 to the motor when it is powered off, for example by manually rotating a rotor 305 of the motor. When the motor is being manually driven, the motor becomes a generator, and a counter EMF can be produced by the various motor phases A, B, and C. As previously described, an electrical signal indicative of the counter EMF is output from the phase end 304-1 of the motor to the port 302-1 of the motor controller when the user rotates the motor.
The electrical signal may comprise a plurality of signal waveforms having an amplitude, a frequency, and a phase difference. In the example of
V
EMF
=K
eω
where VEMF is an amplitude of the counter EMF, Ke is a counter EMF constant which is an inherent parameter of the motor, and co is an angular speed of the motor as the motor is being manually rotated by the user. Ke is also known as a motor velocity constant, and is measured in revolutions per minute (RPM) per volt. The Ke rating of a brushless motor is the ratio of the motor's unloaded RPM to the peak voltage (counter EMF) on the wires connected to the coils of the motor.
The amplitude and frequency of the plurality of signal waveforms can be indicative of a speed of rotation of the motor as the motor is being manually rotated by the user. The amplitude of the signal waveforms is given by VEMF. The frequency of the signal waveforms is equal to ω/2π. The phase difference can be indicative of a direction of rotation of the motor when the motor is being manually rotated, as described in detail later with reference to
The plurality of signal waveforms can be received at the port of the motor controller, and analyzed using one or more processors in the motor controller. For example, the processors in the motor controller can be configured to detect a variation in the plurality of signal waveforms when the motor is being manually rotated by the user. The variation in the plurality of signal waveforms can comprise: (i) a change in amplitude, (ii) a change in frequency, and/or (iii) a change in phase difference of the plurality of signal waveforms.
By analyzing the variation in the plurality of signal waveforms, the motor controller can determine various characteristics associated with the user-input rotation 308. For example, the motor controller can determine a speed at which the user is rotating the motor, based on the amplitude and frequency of the signal waveforms. Additionally, the motor controller can determine, based on the phase difference between the waveforms, one or more of the following: (1) a direction (clockwise or counterclockwise) in which the user is rotating the motor, (2) number of turns that the user has rotated the motor, and/or (3) a degree of rotation of the motor.
In some embodiments, a plurality of different motor control parameters can be associated with a plurality of different predefined electrical signals. The plurality of different predefined electrical signals can be associated with a plurality of predefined user inputs to the motor. For example, the plurality of predefined user inputs can comprise: (i) a speed of rotation, (ii) a direction of rotation, (iii) a rotation sequence, (iv) a number of rotation turns, and/or (v) a rotational position of the motor.
In some cases, the plurality of different motor control parameters and the plurality of predefined user inputs can be provided in a look-up table. The look-up table can be stored in a memory module onboard or remote from a movable object. In some instances, the look-up table can be stored in a memory module located at the motor controller, or in a memory module that is accessible by the motor controller.
In some embodiments, the motor 304 and the motor controller 302 may be provided on a movable object. A manufacturer or distributor of the movable object may associate different motor control parameters with different predefined electrical signals and predefined user inputs. The manufacturer or distributor may also generate a look-up table comprising the associated motor control parameters, predefined electrical signals, and predefined user inputs. The manufacturer or distributor may store the look-up table in a memory module onboard or remote from the movable object. The manufacturer or distributor may also provide the look-up table to a user, when the user purchases a movable object (e.g., a UAV) comprising the motor controller and the motor. The user can use the look-up table to program the motor controller, by using the motor to select and/or adjust different motor control parameters.
A plurality of different motor control parameters can comprise instructions for controlling: (i) direction of rotation, (ii) rotation timing, (iii) acceleration, (iv) deceleration, (v) normal phase-change timing, (vi) advanced phase-change timing, and/or (vii) voluntary deceleration of the motor, during operation of the motor. The operation of the motor may comprise the motor controller controlling the motor to generate a propulsion force. The direction of rotation can comprise a clockwise direction or a counterclockwise direction of rotation of the motor. The rotation timing, acceleration, and deceleration can respectively comprise one or more rotation timings, one or more acceleration settings, and one or more deceleration settings associated with one or more operational modes. In some embodiments, the operational modes may include a normal mode and an advanced mode. The advanced mode can provide a higher acceleration force, a higher deceleration force (braking power), and/or a faster rotation timing compared to the normal mode.
As previously mentioned, the motor 304 is configured to generate and transmit an electrical signal to the motor controller 302 when the motor receives a user-input rotation 308. One or more processors in the motor controller can be configured to (1) compare the electrical signal to a plurality of different predefined electrical signals, and (2) select a motor control parameter from a plurality of different motor control parameters when the electrical signal matches a predefined electrical signal that is associated with the selected motor control parameter. The motor controller 302 can subsequently control operation of the motor 304 based on the selected motor control parameter 312, as indicated by the dotted line from the motor controller to the motor.
Accordingly, different motor control parameters can be selected using different user inputs to the motor. As previously mentioned, different user inputs to the motor can cause the motor to generate different electrical signals. For example, different user inputs can be provided by a user manually rotating the motor (1) in different directions, and/or (2) for different number of turns. In some cases, different user inputs can be provided by a user rotating manually rotating the motor at different speeds, or different ranges of speeds. The different electrical signals can comprise signal waveforms having different amplitudes, frequencies, and/or phase differences.
In some embodiments, a first user input can be used to select a first motor control parameter, and a second user input can be used to select a second motor control parameter. The first user input and the second user input can be different. Likewise, the first motor control parameter and the second motor control parameter can be different. In one example, the first user input may include a user manually rotating the motor in a clockwise (CW) direction for three (3) turns, and the second user input may include the user manually rotating the motor in a counter clockwise (CCW) direction for two (2) turns. Selecting the first motor control parameter can set an advanced (high) motor timing for the motor. Conversely, selecting the second motor control parameter can set active acceleration of the motor to an “ON” state. It should be noted that the above user inputs and motor control parameters are merely exemplary. Additional types of user inputs and motor control parameters are further described elsewhere in the specification.
The motor controller (e.g. motor controller 302) can be configured to detect the first user input, based on a first electrical signal that is generated by the motor due to the first user input. Upon detecting the first user input (or first electrical signal), the motor controller may select the first motor control parameter from a plurality of different motor control parameters. Likewise, the motor controller can be configured to detect the second user input, based on a second electrical signal that is generated by the motor due to the second user input. Upon detecting the second user input (or second electrical signal), the motor controller may select the second motor control parameter from the plurality of different motor control parameters. In some embodiments, the first motor control parameter and the second motor control parameter can be selected from a look-up table comprising a plurality of motor control parameters. As an example, when the first motor control parameter is selected, the motor controller may be configured to set the motor to an advanced (high) motor timing during operation of the motor. Conversely, when the second motor control parameter is selected, the motor controller may be configured to set (turn on) an active acceleration function during operation of the motor.
In some embodiments, the first motor control parameter may be selected by the motor controller when the first user input is provided to the motor. Next, when the second user input is provided to the motor, the motor controller may be configured to switch the selection from the first motor control parameter to the second motor control parameter. Next, when a third user input is provided to the motor, the motor controller may be configured to switch the selection from the second motor control parameter to the third motor control parameter. Accordingly, the motor controller can be configured to switch from one motor control parameter to another motor control parameter, depending on the user input to the motor.
In some alternative embodiments, two or more motor control parameters can be selected, and active at a same time. For example, the first, second, and third motor control parameters may all be selected and simultaneously active. The motor controller may be configured to control operation of the motor based on all three selected motor control parameters.
Values in the motor control parameters can be prefixed. Alternatively, the values in the motor control parameters can be adjustable. In some embodiments, the selecting of a motor control parameter can further comprise activating a mode that allows a value of the motor control parameter to be adjusted. For example, the selected motor control parameter can be adjusted to a desired value after the motor control parameter is selected from a plurality of different motor control parameters. The desired value can be calculated based on (i) a maximum value of the selected motor control parameter, (ii) a maximum output value of the motor, and (iii) a present output value of the motor. The maximum output value and the present output value of the motor may be associated with a speed, acceleration, rotating timing, and/or torque of the motor. The present output value of the motor can be obtained from the electrical signal. A ratio of the desired value to the maximum value of the selected motor control parameter may be proportional to a ratio of the present output value to the maximum output value of the motor. Accordingly, the desired value of the selected motor control parameter can be calculated using the following equation:
B
0=(A0/Amax)*Bmax
where B0 is the desired value of the selected motor control parameter, A0 is the present output value of the motor, Bmax is the maximum value of the selected motor control parameter, and Amax is the maximum output value of the motor.
The value of the motor control parameter can be adjusted using any of the user inputs (or electrical signals) described elsewhere herein. In some embodiments, a value of a motor control parameter can be adjusted by changing an angle of rotation of the motor. The angle of rotation may be about 30°, 60°, 90°, 120°, 150°, 180°, 210°, 240°, 270°, 300°, 330°, 360°, or any values therebetween. In other embodiments, a value of a motor control parameter can be adjusted by rotating the motor to N number of turns, where N may be an integer or a fraction. For example, N may be ¼ turn, ½ turn, ¾ turn, 1 turn, 1½ turns, 2 turns, 3 turns, or any number of turns.
As shown in Part A of
In some embodiments, the user may provide a second user-input rotation 408-2 to the motor 404, in order to select a second motor control parameter 412-2 via the motor controller, for example as shown in Part B of
In some other embodiments, the user may provide a third user-input rotation 408-3 to the motor 404, in order to select a third motor control parameter 412-3 via the motor controller, for example as shown in Part C of
The third user-input rotation can cause the motor to generate a third counter EMF 410-3. The third counter EMF may be a sinusoidal waveform having amplitude A3 and frequency f3, where A3>A2 and f3>f2. The motor controller may be configured to receive a third electrical signal that is indicative of the third counter EMF, and select the third motor control parameter 412-3 based on the third electrical signal.
Part D of
A brushless DC electric motor uses electronic commutation instead of mechanical commutation to control power distribution to the motor. Typically, one or more position sensors can be used to measure a rotor position in a brushless DC motor. The measured rotor position may be communicated to an electronic controller for implementing brushless motor commutation.
In some embodiments, a position sensor may be a linear Hall effect sensor. A Hall effect sensor is a solid state magnetic sensor device, and can be used for sensing position, velocity, and/or directional movement. The Hall effect sensor is a transducer that varies its output voltage in response to a magnetic field. The magnetic field is sensed by a Hall plate and a “Hall” voltage is developed across the biased Hall plate proportional to the induced magnetic flux. The Hall voltage is a potential difference that depends on both the magnitude and directions of the magnetic field and an electric current from a power supply. The Hall effect sensor operates as an analog transducer, directly returning an output voltage. With a known magnetic field, the distance from a pole of the magnetic field to the Hall plate can be determined. The Hall effect sensor can produce a linear output. The output signal for a linear analog Hall effect sensor can be obtained directly from the output of an operational amplifier, with the output voltage being directly proportional to the magnetic field passing through the Hall effect sensor. Advantages of Hall effect sensors include non-contact wear free operation, low maintenance, robust design, and low susceptibility to vibration, dust and moisture as a result of their robust packaging.
Part A of
Part B of
The phase relationship in Part B is based on the second counter EMF 610-2, and can be measured using the oscilloscope shown in
In Part B of
Comparing Parts A and B of
The plots in
For example, in a brushless motor having only one pair of poles (North and South rotor poles), 360° of electrical cycle corresponds to 360° of mechanical rotation, and an angle measured in mechanical degrees has the same value in electrical degrees. However, in brushless motors having more than two poles, one electrical cycle is generated per pair of poles per revolution. For example, an eight-pole brushless motor (having four pairs of rotor poles) generates four cycles of voltage in each armature coil per revolution. Accordingly, for an eight-pole brushless motor, each mechanical degree is equivalent to four electrical degrees. The relationship between electrical angle/degree and mechanical angle/degree is given as follows:
Number of electrical degrees in a given angle=p/2*Number of mechanical degrees in that angle,
where p is the number of magnetic poles of either the rotor or the stator.
A single sinusoidal waveform (using only one Hall sensor) may not be sufficient to provide information about a rotational angle of the motor when a motor has more than two rotor poles, because flux reversal may occur in any direction between any of the rotor poles. To determine the rotational angle for a brushless motor having more than two rotor poles (e.g., eight rotor poles), a plurality of position sensors (e.g., Hall effect sensors) may be used, for example as shown in
Referring back to
In some other embodiments, a counter EMF can be generated with the motor being powered on, as described with reference to
The power source may include a battery. The battery may be integrated with the movable object. Alternatively or in addition, the battery may be a replaceable component that is removably coupled with the movable object. A battery may comprise a lithium battery, or a lithium ion battery. In some embodiments, a battery may comprise a battery assembly (or a battery pack) and may further comprise a plurality of battery cells. While batteries or battery assemblies are described herein, it is to be understood that any alternative power source or medium of storing energy, such as supercapacitors may be equally applicable to the present disclosure. In some cases, the battery may further include a power controller. The power controller may in some instances be a microcontroller located on board the battery, e.g. as part of an intelligent battery system. In some instances, parameters regarding the battery (e.g., voltage, voltage drop, current, temperature, remaining capacity) may be sensed with aid of the power controller. Alternatively, the battery parameters may be estimated using a separate sensing means (e.g. voltmeter, multi-meter, battery level detector, etc).
Referring to Part A of
Referring to Part B of
In the example of
The reference current I may be a constant current that is provided from the motor controller to the motor. The motor controller may be configured to turn on different switches, and provide power to the motor through the switches. For example, the motor controller may be configured to set the upper switches of any two phases among the three phases, and the lower switch of the remaining one phase, to an ON state (e.g., A+/B+/C−). Alternatively, the motor controller may be configured to set the lower switches of any two phases among the three phases, and the upper switch of the remaining one phase, to an ON state (e.g., A+/B−/C−).
The motor controller may be configured to detect the currents in the three phases of the motor. The respective currents in the three phases have stable amplitudes in the absence of the user-input rotation. For example, when the lower switches of phases B and C and the upper switch of phase A are set to ON, and the user is not rotating the motor, the relationship between the currents in the phases may be given as follows:
I
a
−I
b/2=−Ic/2
When the user manually rotates the motor, the counter EMF 810 will be generated by the motor. The counter EMF can cause a change in the amplitudes of the current, as shown by the motor voltage equation:
where V is the motor voltage, I is the electrical current flowing through the motor, Rs is an internal resistance of the motor, Ls is an inductance of the motor, Es is the counter EMF of the motor, K is the counter EMF constant of the motor, and ω is the user-input rotating velocity of the motor.
When the reference current I (a constant current) is provided to the three-phase motor, a locking force is generated in the motor. The locking force can cause a stator of the motor to be at an angle corresponding to the stator's current “electric period”. When the user manually rotates the motor to change from one electric period to another electric period, the user can feel the locking force in his/her hand. The reference current I can change when the user-input rotation is applied to the motor. Assuming p pairs of poles are provided in the motor, the user can feel p number of “steps” if the user rotates the motor 360°, that is, p electric periods. The motor controller, which is operably coupled to the motor, can be configured to detect the change in the reference current (ΔI), and determine a number of “steps” that the user rotates the motor.
In some embodiments, different motor control parameters can be associated with different changes in the reference current (different ΔI), as well as the corresponding number of “steps” in the user-input rotations. For example, a first motor control parameter can be associated with ΔI1 corresponding to N1 number of “steps”. Similarly, a second motor control parameter can be associated with ΔI2 corresponding to N2 number of “steps”. The first and second control parameters are different. Likewise, ΔI1 and ΔI2, and N1 and N2, are also different. Accordingly, the motor controller can be configured to select different control parameters, based on the number of “steps” in the user-input rotation of the motor.
In the examples of
In some embodiments, a user may want to know how many turns of the motor have been completed.
The gauge 1018 may be operably coupled to a motor 1004. For example, the rotating ring may comprise a through-hole for receiving the motor rotor 1005. The rotor may be locked in place within the rotating ring using a locking mechanism (not shown). The locking mechanism may include, for example a bolt or an elastic element (spring). The rotor may be locked in place, so that the rotor can turn with the rotating ring. The sleeve may be mounted onto the motor. For example, the sleeve can be rigidly attached to the motor housing. Accordingly, when the user rotates the motor rotor, the rotating ring can turn with the rotor while the sleeve remains stationary. The relative motion (rotation) between the rotating ring and the sleeve, coupled with the use of markers on the rotating ring and the sleeve, allows a user to see how many turns of the motor have been completed.
As shown in Part A of
In Part B, a user may turn the motor by ¼ turn (900) in a clockwise direction. Accordingly, the rotating ring is rotated by ¼ turn (900) in a clockwise direction relative to the sleeve. When the rotation marker is aligned with the second marker, the user may know that a ¼ turn in the clockwise direction has been completed. Similarly, in Part C, the user may turn the motor by another ¼ turn (900) in the clockwise direction. When the rotation marker is aligned with the third marker, the user may know that a ½ turn in the clockwise direction has been completed.
The user can rotate the motor in either a clockwise direction or a counter clockwise direction. As shown in Part D, the user may turn the motor by ½ turn in the counter clockwise direction. When the rotation marker is aligned with the first marker, the user may know that a ½ turn in the counter clockwise direction has been completed.
Accordingly, the user can use the gauge in
In some embodiments, sensory feedback may be provided to alert a user when a motor controller selects a motor control parameter from a plurality of motor control parameters. The sensory feedback may include an audio effect, a motion effect, and/or a visual effect, as described below with reference to
The embodiment of
The motor controller 1102 may be configured to send the driving signal 1114 to the motor, to drive the motor to generate an indicator signal 1116. The indicator signal may correspond to sensory feedback that is provided to the user, to alert the user that the motor control parameter 1112 has been selected.
In some embodiments, the indicator signal may include an audio signal. For example, the driving signal may drive the motor to generate the audio signal when a motor control parameter is selected from the plurality of different motor control parameters. The audio signal may exhibit an audio effect that is audible to the user. The motor can be driven to emit sounds of a same frequency or different frequencies. The audio signal can also include the motor emitting sounds having any temporal pattern. For example, the audio signal may comprise a predetermined sequence of sounds at a same time interval or different time intervals. The audio signal can be generated for a predetermined length of time. In some cases, the audio signal may comprise a sequence of short beeping sounds generated by the motor. The motor controller can drive the motor to generate different audio signals when different motor control parameters are selected.
In some embodiments, the indicator signal may include a motor vibration signal. For example, the driving signal may drive the motor to generate the motor vibration signal when a motor control parameter is selected from the plurality of different motor control parameters. The motor vibration signal can be a type of motion effect. The effect of the motor vibration signal can be observed and/or felt by the user. In some instances, the motor vibration signal can provide tactile sensory feedback to the user when the user feels the motor vibration. The motor can be driven to vibrate at a same frequency or different frequencies. The motor vibration signal can include motor vibrations in any temporal pattern. For example, the motor vibration signal may comprise a predetermined sequence of motor vibrations at a same time interval or different time intervals. The motor vibration signal can be generated for a predetermined length of time. The motor controller can drive the motor to generate different motor vibration signals when different motor control parameters are selected.
In some embodiments, the indicator signal may include a motor rotation signal. For example, the driving signal may drive the motor to generate the motor rotation signal when a motor control parameter is selected from the plurality of different motor control parameters. The motor rotation signal can be a type of motion effect. The motor rotation signal can be observed by the user. The motor can be driven to rotate for a predetermined number of turns, in a predetermined direction, and/or to a predetermined position. For example, the motor can be driven to rotate 180 degrees (½ turn), 360 degrees (1 turn), 720 degrees (2 turns), or any rotational angle, in a clockwise or counter clockwise direction, or any combination thereof. The motor rotation signal can include motor rotations in any temporal pattern. For example, the motor rotation signal may comprise a predetermined sequence of motor rotations at a same time interval or different time intervals. The motor rotation signal can be generated for a predetermined length of time. The motor controller can drive the motor to generate different motor rotation signals when different motor control parameters are selected.
In some embodiments, instead of using the motor to provide sensory feedback to the user, the sensory feedback can be provided using one or more indicators that are external to the motor.
The motor controller 1202 may be configured to send the driving signal to the indicators 1216, to drive the indicators to generate an indicator signal 1218. The indicator signal may correspond to sensory feedback that is provided to the user, to alert the user that the motor control parameter 1212 has been selected.
The indicators 1216 may include light-emitting elements and/or acoustic elements. The light-emitting elements may include an LED, incandescent light, laser, or any type of light source. The acoustic elements may include speakers that are configured to emit sounds of a same frequency or different frequencies. One or more indicators may be located onboard a movable object comprising the motor controller and the motor. Alternatively, one or more indicators may be located remotely from the movable object, motor controller, and/or the motor.
In some embodiments, the indicator signal may include a visual signal. For example, the driving signal may drive the light-emitting elements to generate the visual signal when a motor control parameter is selected from the plurality of different motor control parameters. The visual signal can be visually discernible to the naked eye. The visual signal may be visible to a user located remotely from the movable object, the motor controller, and/or the motor. In some embodiments, the light-emitting elements can be driven to emit light of a same color (particular wavelength) or different colors (a combination of different wavelengths of light). The visual signal can include light emission having any temporal pattern. For example, the visual signal may include a predetermined sequence of light flashes at a same time interval or at different time intervals. In some cases, the light-emitting elements may be configured to emit light towards the user, or towards a predetermined target. The visual signal can be generated for a predetermined length of time. In some cases, the visual signal may comprise a sequence of short flashes generated by the light-emitting elements. The motor controller can drive the light-emitting elements to generate different visual signals when different motor control parameters are selected.
In some embodiments, the visual signal can include light emitted in any spatial pattern. For example, the pattern may include a laser spot, or an array of laser spots. The laser can have modulated data. In some cases, the pattern may display an image, a symbol, or can be any combination of colored patterns. Each pattern may be visually distinguishable from the other.
In some embodiments, the indicator signal may include an audio signal. For example, the driving signal may drive the acoustic elements to generate the audio signal when a motor control parameter is selected from the plurality of different motor control parameters. The audio signal can be audible to a user. In some cases, the audio signal may be audible to a user located remotely from the movable object, the motor controller, and/or the motor. The acoustic elements may include speakers that can be driven to emit sounds of a same frequency or different frequencies. The audio signal can include sound emissions having any temporal pattern. For example, the audio signal may comprise a predetermined sequence of sounds at a same time interval or different time intervals. In some embodiments, the speakers can be driven to emit the audio signal in an omnidirectional manner. Alternatively, the speakers can be driven to emit the audio signal primarily in a single direction, two directions, or any number of multiple directions. In some cases, the speakers can be driven to emit the audio signal directed towards the user, or towards a predetermined target.
The audio signal may dominate over background noise generated by the movable object. For example, an amplitude of the audio signal produced by the acoustic elements may be substantially greater than an amplitude of the background noise. The background noise may include sounds coming from a carrier, motor, camera, or any other noise-producing component of the movable object. The audio signal can be generated for a predetermined length of time. In some cases, the audio signal may comprise a sequence of short beeping sounds generated by the acoustic elements. The motor controller can drive the acoustic elements to generate different audio signals when different motor control parameters are selected.
In some instances, the motor controller may not select a motor control parameter from a plurality of motor control parameters, if an electrical signal generated by a user-input rotation to the motor fails to match any of the predefined electrical signals associated with the plurality of motor control parameters. This can happen when a user fails to rotate the motor in a predefined sequence. For example, the user may miss a turn of the motor, rotate the motor in a wrong direction, rotate the motor at an incorrect speed, and/or rotate the motor to an incorrect position. Accordingly, different indicator signals can be generated to alert the user whether a motor control parameter is successfully selected, or whether the motor control parameter is not successfully selected. For example, in some embodiments, the motor controller may be configured to generate a first driving signal for driving the motor (or indicators) to generate a first indicator signal when the motor control parameter is successfully selected. Conversely, the motor controller may be configured to generate a second driving signal for driving the motor (or indicators) to generate a second indicator signal when the motor control parameter is not successfully selected. The first indicator signal can be different from the second indicator signal. The first indicator signal is used to alert the user that the motor control parameter has been successfully selected. Conversely, the second indicator signal is used to alert the user that the motor control parameter has not been successfully selected. The first indicator signal and the second indicator signal can be selected from a group consisting of: (1) audio signals, (2) visual signals, (3) vibration signals, and (4) motor rotational signals. As an example, in some embodiments, the motor controller can drive the motor to rotate 1 full turn (360°) when a motor control parameter is successfully selected. Conversely, when the motor control parameter is not successfully selected, the motor controller can drive the motor to rotate back and forth to indicate failure.
The table below shows examples of (1) different user inputs to a motor, (2) corresponding motor control parameters to be selected/set, and (3) sensory feedback to alert a user whether a motor control parameter has been successfully selected, or has not been successfully selected. The sensory feedback can comprise, for example audio signals generated by the motor as described elsewhere herein.
In some alternative embodiments, the counter EMF can be generated by a user-input rotation to another motor that is different from motor 1304. For example, another different motor can be used to program the motor controller (i.e., select and/or adjust a motor control parameter). After the motor control parameter has been selected and/or adjusted, the motor controller may be configured to control the motor 1304. In other words, one motor may be used for programming, and another motor may be used for generating an actual propulsion force.
In some instances, after a motor control parameter has been selected, a user may assemble one or more propeller blades 1314 onto the motor to form a propulsion system. The propulsion system may be provided on a movable object, and can be controlled by the motor controller to generate a lift force to effect motion (e.g., flight) of the movable object.
The propulsion system can be powered by a power source 1306 onboard the movable object. The motor controller may be operably coupled to the power source, and configured to regulate power 1308 that is provided from the power source to the propulsion system. The motor controller may be configured to transmit a motor control signal 1310 to the motor. The motor control signal may be based on the motor control parameter that has been selected, and may comprise instructions for regulating the power to the motor. The motor controller can be configured to control the motor to output a propulsion force based on the selected motor control parameter. In some embodiments, the movable object may be an unmanned aerial vehicle (UAV), and the propulsion system may be located on the UAV. The motor can be configured to output the propulsion force to power flight of the UAV. The motor controller can be, for example an electronic speed control (ESC) module onboard the UAV.
The motor controller can be configured to control the motor based on one or more different motor control parameters. As previously described, the different motor control parameters can comprise instructions for controlling: (i) direction of rotation, (ii) rotation timing, (iii) acceleration, (iv) deceleration, (v) normal phase-change timing, (vi) advanced phase-change timing, and/or (vii) voluntary deceleration of the motor, when the motor is being operated to output a propulsion force. The direction of rotation can comprise a clockwise direction or a counterclockwise direction of rotation of the motor. The rotation timing, acceleration, and deceleration respectively can comprise one or more rotation timings, one or more acceleration settings, and one or more deceleration settings associated with one or more operational modes. In some instances, the operational modes may comprise a normal mode and an advanced mode. The advanced mode can provide a higher acceleration force, a higher deceleration force (braking power), and/or a faster rotation timing compared to the normal mode.
The various embodiments of the disclosure described elsewhere herein can enable a user to select and/or adjust one or more motor control parameters when the user is out-field or on-site, without requiring the use of a computing device or a dedicated motor controller programming card. This can enhance the mobility of the user, as well as the portability of a movable object comprising the motor and motor controller. Additionally, the versatility and utilization of the movable object can be improved, since a user can easily select different motor control parameters and operate the movable object based on different selected motor control parameters via the motor controller.
The propulsion mechanisms 1406 can include one or more of rotors, propellers, blades, engines, motors, wheels, axles, magnets, or nozzles, as previously described. For example, the propulsion mechanisms 1406 may be self-tightening rotors, rotor assemblies, or other rotary propulsion units, as disclosed elsewhere herein. The movable object may have one or more, two or more, three or more, or four or more propulsion mechanisms. The propulsion mechanisms may all be of the same type. Alternatively, one or more propulsion mechanisms can be different types of propulsion mechanisms. The propulsion mechanisms 1406 can be mounted on the movable object 1400 using any suitable means, such as a support element (e.g., a drive shaft) as described elsewhere herein. The propulsion mechanisms 1406 can be mounted on any suitable portion of the movable object 1400, such on the top, bottom, front, back, sides, or suitable combinations thereof.
In some embodiments, the propulsion mechanisms 1406 can enable the movable object 1400 to take off vertically from a surface or land vertically on a surface without requiring any horizontal movement of the movable object 1400 (e.g., without traveling down a runway). Optionally, the propulsion mechanisms 1406 can be operable to permit the movable object 1400 to hover in the air at a specified position and/or orientation. One or more of the propulsion mechanisms 1400 may be controlled independently of the other propulsion mechanisms. Alternatively, the propulsion mechanisms 1400 can be configured to be controlled simultaneously. For example, the movable object 1400 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 vertical takeoff, vertical landing, and hovering capabilities to the movable object 1400. In some embodiments, one or more of the horizontally oriented rotors may spin in a clockwise direction, while one or more of the horizontally rotors may spin in a counterclockwise direction. For example, the number of clockwise rotors may be equal to the number of counterclockwise rotors. The rotation rate 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 1400 (e.g., with respect to up to three degrees of translation and up to three degrees of rotation).
The sensing system 1008 can include one or more sensors that may sense the spatial disposition, velocity, and/or acceleration of the movable object 1400 (e.g., with respect to up to three degrees of translation and up to three degrees of rotation). The one or more sensors can include global positioning system (GPS) sensors, motion sensors, inertial sensors, proximity sensors, or image sensors. The sensing data provided by the sensing system 1408 can be used to control the spatial disposition, velocity, and/or orientation of the movable object 1400 (e.g., using a suitable processing unit and/or control module, as described below). Alternatively, the sensing system 1408 can be used to provide data regarding the environment surrounding the movable object, such as weather conditions, proximity to potential obstacles, location of geographical features, location of manmade structures, and the like.
The communication system 1410 enables communication with terminal 1412 having a communication system 1414 via wireless signals 1416. The communication systems 1410, 1414 may include any number of transmitters, receivers, and/or transceivers suitable for wireless communication. The communication may be one-way communication, such that data can be transmitted in only one direction. For example, one-way communication may involve only the movable object 1400 transmitting data to the terminal 1412, or vice-versa. The data may be transmitted from one or more transmitters of the communication system 1410 to one or more receivers of the communication system 1412, or vice-versa. Alternatively, the communication may be two-way communication, such that data can be transmitted in both directions between the movable object 1400 and the terminal 1412. The two-way communication can involve transmitting data from one or more transmitters of the communication system 1010 to one or more receivers of the communication system 1414, and vice-versa.
In some embodiments, the terminal 1412 can provide control data to one or more of the movable object 1400, carrier 1402, and payload 1404 and receive information from one or more of the movable object 1400, carrier 1402, and payload 1404 (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 some instances, control data from the terminal may include instructions for relative positions, movements, actuations, or controls of the movable object, carrier and/or payload. For example, the control data may result in a modification of the location and/or orientation of the movable object (e.g., via control of the propulsion mechanisms 1406), or a movement of the payload with respect to the movable object (e.g., via control of the carrier 1402). The control data from the terminal may result in control of the payload, such as control of the operation of a camera or other image capturing device (e.g., taking still or moving pictures, zooming in or out, turning on or off, switching imaging modes, change image resolution, changing focus, changing depth of field, changing exposure time, changing viewing angle or field of view). In some instances, the communications from the movable object, carrier and/or payload may include information from one or more sensors (e.g., of the sensing system 1408 or of the payload 1404). The communications may include sensed information from one or more different types of sensors (e.g., GPS sensors, motion sensors, inertial sensor, proximity sensors, or image sensors). Such information may pertain to the position (e.g., location, orientation), movement, or acceleration of the movable object, carrier and/or payload. Such information from a payload may include data captured by the payload or a sensed state of the payload. The control data provided transmitted by the terminal 1412 can be configured to control a state of one or more of the movable object 1400, carrier 1402, or payload 1404. Alternatively or in combination, the carrier 1402 and payload 1404 can also each include a communication module configured to communicate with terminal 1412, such that the terminal can communicate with and control each of the movable object 1400, carrier 1402, and payload 1404 independently.
In some embodiments, the movable object 1400 can be configured to communicate with another remote device in addition to the terminal 1412, or instead of the terminal 1412. The terminal 1412 may also be configured to communicate with another remote device as well as the movable object 1400. For example, the movable object 1400 and/or terminal 1412 may communicate with another movable object, or a carrier or payload of another movable object. When desired, the remote device may be a second terminal or other computing device (e.g., computer, laptop, tablet, smartphone, or other mobile device). The remote device can be configured to transmit data to the movable object 1400, receive data from the movable object 1400, transmit data to the terminal 1412, and/or receive data from the terminal 1412. Optionally, the remote device can be connected to the Internet or other telecommunications network, such that data received from the movable object 1400 and/or terminal 1412 can be uploaded to a website or server.
In some embodiments, a system for controlling a movable object may be provided in accordance with embodiments. The system can be used in combination with any suitable embodiment of the systems, devices, and methods disclosed herein. The system can include a sensing module, processing unit, non-transitory computer readable medium, control module, and communication module.
The sensing module can utilize different types of sensors that collect information relating to the movable objects in different ways. Different types of sensors may 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., a camera). The sensing module can be operatively coupled to a processing unit having a plurality of processors. In some embodiments, the sensing module can be operatively coupled to a transmission module (e.g., a Wi-Fi image transmission module) configured to directly transmit sensing data to a suitable external device or system. For example, the transmission module can be used to transmit images captured by a camera of the sensing module to a remote terminal.
The processing unit can have one or more processors, such as a programmable processor (e.g., a central processing unit (CPU)). 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 performing one or more steps. The non-transitory computer readable medium can include one or more memory units (e.g., removable media or external storage such as an SD card or random access memory (RAM)). In some embodiments, data from the sensing module can be directly conveyed 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 to perform 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 produced by the sensing module. The memory units can store sensing data from the sensing module to be processed by the processing unit. In some embodiments, the memory units of the non-transitory computer readable medium can be used to store the processing results produced by the processing unit.
In some 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 the propulsion mechanisms of the movable object to adjust the 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 a carrier, payload, or sensing module.
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 means of communication can be used, such as wired communication or wireless communication. For example, the communication module can utilize one or more of local area networks (LAN), wide area networks (WAN), infrared, radio, WiFi, point-to-point (P2P) networks, telecommunication networks, cloud communication, and the like. Optionally, relay stations, such as towers, satellites, or mobile stations, can be used. Wireless communications can be proximity dependent or proximity independent. In some embodiments, line-of-sight may or may not be required for communications. The communication module can transmit and/or receive one or more of sensing data from the sensing module, processing results produced by the processing unit, predetermined control data, user commands from a terminal or remote controller, and the like.
The components of the system can be arranged in any suitable configuration. For example, one or more of the components of the system can be located on the movable object, carrier, payload, terminal, sensing system, or an additional external device in communication with one or more of the above. In some embodiments, one or more of the plurality of processing units and/or non-transitory computer readable media can be situated at different locations, such as on the movable object, carrier, payload, terminal, sensing module, additional external device in communication with one or more of the above, or suitable combinations thereof, such that any suitable aspect of the processing and/or memory functions performed by the system can occur at one or more of the aforementioned locations.
As used herein A and/or B encompasses one or more of A or B, and combinations thereof such as A and B. It will be understood that although the terms “first,” “second,” “third” etc. may 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 merely 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.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the 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.
Furthermore, relative terms, such as “lower” or “bottom” and “upper” or “top” may be used herein to describe one element's relationship to other elements as illustrated in the figures. 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 the element in one of the figures is turned over, elements described as being on the “lower” side of other elements would then be oriented on the “upper” side of the other elements. The exemplary term “lower” can, therefore, encompass both an orientation of “lower” and “upper,” depending upon the particular orientation of the figure. Similarly, if the element in one of the figures were turned over, elements described as “below” or “beneath” other elements would then be oriented “above” the other elements. The exemplary terms “below” or “beneath” can, therefore, encompass both an orientation of above and below.
While some embodiments of the present disclosure have been shown and described herein, it will be obvious to those skilled in the art that such embodiments are provided by way of example only. Numerous variations, changes, and substitutions will now occur to those skilled in the art without departing from the disclosure. It should be understood that various alternatives to the embodiments of the disclosure described herein may be employed in practicing the disclosure. Numerous different combinations of embodiments described herein are possible, and such combinations are considered part of the present disclosure. In addition, all features discussed in connection with any one embodiment herein can be readily adapted for use in other embodiments herein. It is intended that the following claims define the scope of the invention and that methods and structures within the scope of these claims and their equivalents be covered thereby.
This application is a continuation of International Application No. PCT/CN2016/089952, filed on Jul. 14, 2016, the entire contents of which are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/CN2016/089952 | Jul 2016 | US |
Child | 16042352 | US |