According to a first aspect of the invention, there is provided a method for operating a multicopter experiencing a failure during flight, the multicopter comprising a body, and at least four effectors attached to the body, each operable to produce both a torque and a thrust force which can cause the multicopter to fly when not experiencing said failure. The method may comprise the step of identifying a failure wherein the failure affects the torque and/or thrust force produced by an effector, and in response to identifying a failure carrying out the following steps, (1) computing an estimate of the orientation of a primary axis of said body with respect to a predefined reference frame, wherein said primary axis is an axis about which said multicopter rotates when flying, (2) computing an estimate of the angular velocity of said multicopter, (3) controlling one or more of said at least four effectors based on said estimate of the orientation of the primary axis of said body with respect to said predefined reference frame and said estimate of the angular velocity of the multicopter. The step of controlling one or more of said at least four effectors may be performed such that (a) said one or more effectors collectively produce a torque along said primary axis and a torque perpendicular to said primary axis, wherein (i) the torque along said primary axis causes said multicopter to rotate about said primary axis, and (ii) the torque perpendicular to said primary axis causes said multicopter to move such that the orientation of said primary axis converges to a target orientation with respect to said predefined reference frame, and (b) such that said one or more effectors individually produce a thrust force along said primary axis.
|
14. A multicopter comprising,
a body,
at least four effectors attached to the body, each configured to produce both a torque and a thrust force which can cause the multicopter to fly when not experiencing a failure,
a flight module configured such that it can carry out the method comprising tae steps of,
identifying a failure wherein the failure affects the torque and/or the thrust force produced by an effector;
in response to said identifying of said failure, carrying out the steps of,
computing an estimate of the orientation of a primary axis of said body with respect to a predefined reference frame, wherein said primary axis is an axis about which said multicopter rotates when flying;
computing an estimate of the angular velocity of said multicopter;
controlling one or more of said at least four effectors which are without a failure, based on said estimate of the orientation of the primary axis of said body with respect to said predefined reference frame and said estimate of the angular velocity of the multicopter,
such that said one or more effectors collectively produce, a torque along said primary axis and a torque perpendicular to said primary axis, wherein
the torque along said primary axis causes said multicopter to rotate about said primary axis, and
the torque perpendicular to said primary axis causes said multicopter to move such that the orientation of said primary axis converges to a target orientation with respect to said predefined reference frame,
and such that each of said one or more effectors individually produces a thrust force along said primary axis.
1. A method for operating a multicopter experiencing a failure during flight, the multicopter comprising,
a body; and
at least four effectors attached to the body, each configured to produce both a torque and a thrust force which can cause the multicopter to fly when not experiencing said failure,
the method comprising the step of,
identifying, using an evaluation unit, a failure wherein the failure affects the torque and/or the thrust force produced by an effector;
in response to said identifying of said failure, using a control unit to carry out the steps of,
computing an estimate of the orientation of a primary axis of said body with respect predefined reference frame, wherein said primary axis is an axis about which said multicopter rotates when flying;
computing an estimate of the angular velocity of said multicopter;
controlling one or more of said at least four effectors which are without a failure, based on said estimate of the orientation of the primary axis of said body with respect to said predefined reference frame and said estimate of the angular velocity of the multicopter,
such that said one or more effectors collectively produce, a torque along said primary axis and a torque perpendicular to said primary axis, wherein
the torque along said primary axis causes said multicopter to rotate about said primary axis, and
the torque perpendicular to said primary axis causes said multicopter to move such that the orientation of said primary axis converges to a target orientation with respect to said predefined reference frame,
and such that each of said one or more effectors individually produces a thrust force along said primary axis.
2. The method according to
said step of controlling one or more of said at least four effectors which are without a failure, comprises, controlling one or more of said at least four effectors which are without a failure based on said estimate of the orientation of the primary axis of said body with respect to the predefined reference frame and said estimate of the angular velocity of the multicopter, such that said thrust force produced along said primary axis by each of said one or more effectors which are without a failure is at least 20% of the thrust collectively produced by said one or more effectors which are without a failure when the orientation of said primary axis has converged to said target orientation.
3. The method according to
identifying a failure, wherein said failure causes the torque and/or the thrust force produced by at least one of said effectors to decrease by an amount greater than 20%.
4. The according to
said torque along said primary axis causes said multicopter to rotate about said primary axis at a speed greater than 0.5 revolutions per second.
5. The method according to
defining a target acceleration for said multicopter, and
using said target acceleration to compute said target orientation of said primary axis for said multicopter,
and wherein said controlling one or more of said at least four effectors which are without a failure additionally comprises the step of controlling said one or more effectors so that the thrust collectively produced by said one or more effectors accelerates said multicopter at said target acceleration.
6. The method according to
computing said target orientation using the equation
wherein the vector a represents said target acceleration and the vector g represents the gravitation acceleration, and the vector ñ represents said target orientation, and ∥.∥ represents the Euclidean norm of a vector.
7. The method according to
defining a target thrust force magnitude, and wherein
said step of controlling one or more of said at least four effectors which are without a failure based on said estimate of the orientation of the primary axis of said body with respect to the predefined reference frame and said estimate of the angular velocity of the multicopter, comprises controlling said one or more effectors which are without a failure such that the magnitude of the sum of each of said thrust forces produced individually by said one or more effectors along said primary axis averaged over a predefined time period equals said target thrust force magnitude.
8. The method according to
said step of controlling one or more of said at least four effectors which are without a failure comprises, controlling each of said one or more of said at least four effectors so that they each contribute at least 20% to the target thrust force magnitude when the orientation of said primary axis has converged to said target orientation.
9. The method according to
defining said target acceleration,
computing said target thrust force magnitude as
fdes=m∥a−g∥ wherein fdes represents the target thrust force magnitude, ∥.∥ represents the Euclidean norm of a vector, a represents the said target acceleration, g represents the acceleration due to gravity and m represents the mass of said multicopter.
10. The method according to
defining a target translational velocity of said multicopter,
defining a target position of said multicopter,
estimating the current translational velocity of said multicopter,
estimating the current position of said multicopter,
using at least one of said target translational velocity, said target position, said current translational velocity, and said current position of said multicopter to compute said target acceleration.
12. The method according to
13. The method according to
15. The multicopter according to the
an input unit for receiving data from sensors and/or users,
a sensing unit for measuring data representative of the motion of said multicopter and/or the operation of at least one of said effectors,
an evaluation unit operationally connected to said sensing unit and/or input unit for identifying a failure affecting the torque and/or thrust force produced by one or more of said effectors, and
a control unit configured to be operationally connected to said evaluation unit, and configured
to compute an estimate of the orientation of a primary axis of said body with respect to a predefined reference frame, wherein said primary axis is an axis about which said multicopter rotates when flying under the control of said control unit;
to send control signals to one or more of said effectors so that,
said one or more effectors collectively produce a torque along said primary axis (130) and a torque perpendicular to said primary axis, wherein
the torque along said primary axis causes said multicopter to rotate about said primary axis, and
the torque perpendicular to said primary axis causes said multicopter to move such that the orientation of said primary axis converges to a target orientation with respect to said predefined reference frame, and
each of said one or more effectors individually produces a thrust force along said primary axis.
16. A multicopter according to
said evaluation unit is configured to provide data representative of the motion of said multicopter and is operationally connected to said control unit to provide said data, and
said control unit red to perform controlling of said one or more effectors based on said data of said evaluation unit.
17. The multicopter according to
wherein the vector a represents said get acceleration and the vector g represents the gravitational acceleration, and the vector ñ represents said target orientation, and ∥.∥ represents the Euclidean norm of a vector.
18. The multicopter of
to detect the motion of the multicopter, and
to provide data representative of the detected motion of the multicopter to said sensing unit.
19. The multicopter according to
20. The multicopter according to
|
This application is a national phase of PCT/EP2014/061760, filed on Jun. 5, 2014, which claims the benefit of U.S. Provisional Application No. 61/832,876, filed on Jun. 9, 2013, U.S. Provisional Application No. 61/888,930, filed Oct. 9, 2013 and U.S. Provisional Application No. 61/891,479, filed Oct. 16, 2013. The entire contents of those applications are incorporated herein by reference.
The present invention relates to the control of a multicopter experiencing a failure affecting an effector. In particular, the invention relates to a novel scheme for controlled flight that enables translational motion control of a multicopter by causing it to rotate and applying a novel control method, allowing the invention to be used as a failsafe control mechanism in case of effector failure in conventional hover-capable aerial vehicles equipped with multiple rigidly-attached fixed-pitch propellers (“multicopters”).
In accordance with the present invention, limitations of previous methods for the control of multicopters have been substantially reduced or eliminated. In particular, it provides a flying vehicle control scheme for vehicles with as few as one functioning effector. In addition, it provides improved systems and methods for the control of flying vehicles in case of a failure affecting one or more effectors.
Technical advantages of certain embodiments of the present invention may allow to improve or simplify the design of existing multicopters. For example, multicopters may require less mass and face fewer design constraints and inherent limitations than current systems such as those that rely on effector redundancy (e.g., hexacopters and octocopters), or on the encasing of effectors (e.g., shrouds, ducted fans), or on parachutes as a safety backup.
Technical advantages of certain embodiments of the present invention may allow to increase the safety and reliability of existing multicopters. For example, the present invention may allow to minimize or eliminate risks inherent in such vehicles arising from collisions, mechanical or electrical failures, electronic malfunctions, operator errors, or adverse environmental conditions, such as wind or turbulence. The present invention may also mitigate the effects of failures, malfunction, operator errors, and the like by allowing for graceful degradation of performance rather than catastrophic failure with complete loss of control.
Other technical advantages of certain embodiments of the present invention may allow the use of multicopters for new applications by increasing the reliability and safety of multicopters, by allowing their use in a wider variety of operating conditions and environments, or by allowing partial or full automation of certain tasks currently performed by experienced human pilots with both manned and unmanned flying vehicles. The need for human pilots severely limits the cost-effectiveness, possible operating conditions, and flight endurance of multicopters in many applications. For example, even experienced human pilots cannot guarantee safe and efficient control in many real-world operating conditions including wind and turbulence.
Yet other technical advantages of certain embodiments of the present invention may allow it to be tailored to the specific needs of a variety of applications in a variety of contexts. Example applications include inspection and monitoring of civil infrastructure, which may require dangerous or repetitive tasks; industrial or public service applications (e.g., surveillance and monitoring of industrial sites, photogrammetry, surveying); professional aerial photography or cinematography; transport or delivery of cargo by air; or toys such as small flying vehicles; stage performances including choreographies set to music and light or theater performances which require interaction with theater actors; hobbyist platforms for communities such as DIY Drones; research platforms for groups actively researching flying platforms or using them as part of their curriculum; military use with requirements such as survivability, power autonomy, detectability, or operation in extreme conditions (weather, lighting conditions, contamination). In particular, certain technical advantages allow the present invention to be equipped with a wide range of sensors. For example, infrared sensors allow embodiments for detection of patches of dry ground in orchards or for crop monitoring.
According to a first aspect of the invention, there is provided a method for operating a multicopter experiencing a failure during flight, the multicopter comprising a body, and at least four effectors attached to the body, each operable to produce both a torque and a thrust force which can cause the multicopter to fly when not experiencing said failure. The method may comprise the step of identifying a failure wherein the failure affects the torque and/or thrust force produced by an effector, and in response to identifying a failure carrying out the following steps, (1) computing an estimate of the orientation of a primary axis of said body with respect to a predefined reference frame, wherein said primary axis is an axis about which said multicopter rotates when flying, (2) computing an estimate of the angular velocity of said multicopter, (3) controlling one or more of said at least four effectors based on said estimate of the orientation of the primary axis of said body with respect to said predefined reference frame and said estimate of the angular velocity of the multicopter. The step of controlling one or more of said at least four effectors may be performed such that (a) said one or more effectors collectively produce a torque along said primary axis and a torque perpendicular to said primary axis, wherein (i) the torque along said primary axis causes said multicopter to rotate about said primary axis, and (ii) the torque perpendicular to said primary axis causes said multicopter to move such that the orientation of said primary axis converges to a target orientation with respect to said predefined reference frame, and (b) such that said one or more effectors individually produce a thrust force along said primary axis.
The torque is that torque about the multicopter's center of mass.
The angular velocity is preferably the velocity at which the multicopter rotates with respect to an inertial frame.
Preferably, the step of controlling one or more of said at least four effectors, based on said estimate of the orientation of the primary axis of said body with respect to the predefined reference frame and said estimate of the angular velocity of the multicopter, comprises controlling said others of the at least four effectors not affected by a failure.
The torque and thrust are preferably a non-zero torque and a non-zero thrust.
Preferably, the torque and thrust force produced by each effector are inevitably, and intrinsically, linked.
Preferably, a component of the torque can be due to the effector thrust acting at a distance from the multicopter's center of mass. An additional component of the torque could be from a torque couple generated by the effector itself, for example due to aerodynamic effects on a rotating propeller.
In the present invention the primary axis need not be identical to a principle axis of inertia of the multicopter body.
Preferably, the primary rotation can at least be primarily created by the remaining effectors not affected by the failure. Specifically, by the component of the torques acting along the primary axis.
Preferably, the target orientation with respect to a predefined reference frame can be freely selected, and the target orientation can be both attained and maintained.
The target orientation with respect to a predefined reference frame can be thought of more specifically as a target orientation angle between the primary axis and the direction of gravity, or the vertical direction in an inertial frame.
Preferably the target orientation can be freely selected at run time, preferably from a range, or specified list, of target orientations.
Although in principle unbounded, typical target orientations would be in the range 0 degrees to 75 degrees, or more specifically, 0 degrees to 45 degrees from the direction opposite to gravity.
The azimuthal direction of the target orientation can be anywhere in the range of 0 degrees to 360 degrees.
An effector failure can specifically mean a substantial reduction in the effector's ability to produce a thrust force.
Such a failure could typically mean that the effector retains the ability to produce between 0% and 50% of its original capacity to produce thrust.
More specifically, it could be between 0% and 10% of the original capacity to produce thrust.
Failure can be caused by a variety of factors, including mechanical decoupling of an effector from the multicopter.
In case some effectors can no longer produce any thrust after the failure occurs, the effectors producing thrust along the primary axis could be all effectors not affected by the failures (e.g. if the failure is a motor falling off, all effectors for which the motor has not fallen off would produce thrust along the primary axis).
The method may further comprise the step of controlling one or more of said at least four effectors, based on (a) said estimate of the orientation of the primary axis of said body with respect to the predefined reference frame and (b) said estimate of the angular velocity of the multicopter, such that said thrust force produced along said primary axis by each of said one or more effectors which are without a failure is at least 20% or 30% of the thrust collectively produced by said one or more effectors which are without a failure when the orientation of said primary axis has converged to said target orientation.
The method may further comprise the step of identifying a failure affecting the torque and/or thrust force produced by an effector, where the failure causes the torque and/or thrust force produced by at least one of said effectors to decrease by an amount greater than 20%, 50%, or 80%, or wherein the failure causes a complete loss of the torque and/or thrust force of at least one of said effectors.
Failures can be detected using a great variety of methods, including monitoring by a human; indirect detection such as monitoring measured data with an automatic method such as a model-based observer on or off-board the multicopter, or using sliding mode observers, voting-based algorithms, parity-space approaches, or parameter identification; direct detection of the failure e.g. by monitoring the rotational speed of a multicopter's motors, or by monitoring how much current a multicopter's motors draw; and others.
In the invention, it may furthermore be that said torque along said primary axis can cause said multicopter to rotate about said primary axis at a speed greater than 0.5 revolutions per second.
In the invention, it may furthermore be that said torque along said primary axis can cause said multicopter to rotate about said primary axis at a speed greater than 1 revolutions per second.
Preferably said torque along said primary axis can cause said multicopter to rotate continuously when the orientation of the primary axis has converged to the target orientation.
Preferably, said 0.5 or 1 revolutions per second are average rotational speeds during a predefined time interval.
Preferably, the target force is the sum of forces of the remaining, failure-free effectors.
The method may further comprise the step of defining a target acceleration for said multicopter. Preferably said target acceleration is used to compute said target orientation of said primary axis for said multicopter. Preferably it additionally comprises the step of controlling one or more of said at least four effectors, and preferably additionally comprises the step of controlling said one or more effectors so that the thrust collectively produced by said one or more effectors accelerates said multicopter at said target acceleration.
The method may further comprise the step of computing said target orientation of said primary axis using said target acceleration of said multicopter, using the equation
wherein the vector a represents said target acceleration and the vector g represents the gravitational acceleration, and the vector ñ represents said target orientation, and ∥•∥ represents the Euclidean norm of a vector. In other words, the target orientation of said primary axis can be computed as the difference between the vector equaling said target acceleration and the vector of gravitational acceleration, divided by the Euclidean norm of that difference.
The method may further comprise the step of defining a target thrust force magnitude. Preferably said step of controlling one or more of said at least four effectors, based on said estimate of the orientation of the primary axis of said body with respect to the predefined reference frame and said estimate of the angular velocity of the multicopter comprises controlling said one or more effectors such that the magnitude of the sum of each of said thrust forces produced individually by said one or more effectors along said primary axis equals said target thrust force magnitude.
In the invention, the method may further comprise the step of defining a target thrust force magnitude. Preferably said step of controlling one or more of said at least four effectors based on said estimate of the orientation of the primary axis of said body with respect to the predefined reference frame and said estimate of the angular velocity of the multicopter comprises controlling said one or more effectors such that the magnitude of the sum of each of said thrust forces produced individually by said one or more effectors along said primary axis averaged over a predefined time period equals said target thrust force magnitude.
In the invention, the method may further comprise the step of controlling one or more of said at least four effectors, preferably comprising controlling each of said one or more of said at least four effectors to each contribute at least 20% to the target thrust force magnitude when the orientation of said primary axis has converged to said target orientation.
In the invention, the method may further comprise the step of computing said target thrust force magnitude using said target acceleration of said multicopter preferably comprising the steps of defining said target acceleration, computing said target thrust force magnitude as
fdes=m∥a−g∥
wherein fdes represents the target thrust force magnitude, ∥•∥represents the Euclidean norm of a vector, a represents the said target acceleration, g represents the acceleration due to gravity and m represents the mass of said multicopter. In other words, the target thrust force magnitude can be computed as the mass of said multicopter times the Euclidean norm of the difference between the vector equaling said target acceleration and the vector of gravitational acceleration.
Said controlling the acceleration may, for example, allow to control the direction with which a multicopter collides with the ground following a severe failure that no longer allows the effectors to produce enough thrust to keep the multicopter airborne.
In the invention, the method may further comprise the steps of defining a target translational velocity of said multicopter, defining a target position of said multicopter, estimating the current translational velocity of said multicopter, estimating the current position of said multicopter; and using at least one of said target translational velocity, said target position, said current translational velocity and said current position of said multicopter, to compute said target acceleration.
Preferably the method uses the current translational velocity to compute said target acceleration.
Preferably the method uses the current position to compute said target acceleration.
Preferably, said method uses all of said target translational velocity, said target position, said current translational velocity and said current position of said multicopter to compute said target acceleration.
A preferable method for how these estimates could be used would be as follows. Let vdes and pdes represent the target velocity and position of the multicopter, respectively, and let v and p represent the estimates of the current velocity and current position of the multicopter, respectively, and define the target acceleration as ades. If the multicopter tracks this target acceleration, the multicopter's position and velocity will converge to the target if the target acceleration is selected as follows:
ades+2ζωn(v−vdes)+ωn2(p−pdes),
wherein the parameter ζ represents a damping ratio, and ωn represents a natural frequency, with both ζ and ωn design parameters. A typical choice would be something similar to ζ=0.7 and ωn=2 rad/s. Note that the above equation is just one method for parametrising the target acceleration in terms of the current and target position and velocity, with many others apparent to a person skilled in the arts, given the benefits of the present invention.
Said controlling the velocity may allow, for example, to minimize the energy of a multicopter when colliding with the ground following a severe failure that no longer allows the effectors to produce enough thrust to keep the multicopter airborne.
For example, by making the target position constant, and moving the multicopter to this position (e.g., by controlling its acceleration), the multicopter can be in a hover state, where ‘hover’ here is used to mean remaining substantially at one point in space.
Preferably, the multicopter is a quadrocopter. In the present application, a quadrocopter means a multicopter with four effectors, wherein each of said effectors is
In the invention, it may furthermore be that each of said one or more effectors can individually produce a torque which has a non-zero component along said primary axis.
In the invention, said controlling may furthermore comprise controlling a single variable of a plurality of variables of each of one or more of said at least four effectors, wherein said plurality of variables comprises at least one of
Preferably, the single variable is a scalar value, e.g. a magnitude, and not a vector. Furthermore, said single variables can also be considered as signals such as effector control signals.
Preferably, the single variable sets both the thrust force and the torque, simultaneously.
Preferably, to cause the orientation of the primary axis to converge to a target orientation, and while the multicopter has an ongoing rotation about the primary axis, the multicopter body can be turned about a turning axis (preferably at a non-zero angle with respect to the primary axis). The effect of the two components of rotation, by Euler's equations of motion governing the evolution of the angular velocity of a rigid body, can preferably be exploited to create an angular acceleration (and thus velocity) linearly independent of the primary rotation as well as the rotation about the turning axis.
Therefore, even if the effectors can not produce sufficient torque in a direction perpendicular to the primary axis, the present invention allows to exploit this coupling effect inherent in the attitude dynamics to achieve full attitude control. This is particularly relevant and useful for the case of a multicopter with only one or two failure-free effectors.
In this present invention, attitude control means using a control unit to control the orientation of a primary axis of said multicopter.
For a propeller, a torque couple exists that produces a torque opposing the propeller's rotation, due to air resisting the motion of the propeller blades. This can contribute to the torque component in the direction of the primary axis.
In the invention, said controlling may furthermore comprise controlling at most three of said at least four effectors.
In the invention, said controlling may furthermore comprise controlling at most two of said at least four effectors.
In the invention, said controlling may furthermore comprise controlling at most one of said at least four effectors.
According to a further aspect of the present invention there is provided a multicopter, comprising (A) a body, (B) at least four effectors attached to the body, each operable to produce both a torque and a thrust force which can cause the multicopter to fly when not experiencing a failure, and a flight module configured such that it can carry out a method for operating said multicopter experiencing a failure during flight. The method may comprise the step of identifying a failure wherein the failure affects the torque and/or thrust force produced by an effector, and in response to identifying a failure carrying out the following steps, (1) computing an estimate of the orientation of a primary axis of said body with respect to a predefined reference frame, wherein said primary axis is an axis about which said multicopter rotates when flying, (2) computing an estimate of the angular velocity of said multicopter, (3) controlling one or more of said at least four effectors based on said estimate of the orientation of the primary axis of said body with respect to said predefined reference frame and said estimate of the angular velocity of the multicopter. The step of controlling one or more of said at least four effectors may be performed such that (a) said one or more effectors collectively produce a torque along said primary axis and a torque perpendicular to said primary axis, wherein (i) the torque along said primary axis causes said multicopter to rotate about said primary axis, and (ii) the torque perpendicular to said primary axis causes said multicopter to move such that the orientation of said primary axis converges to a target orientation with respect to said predefined reference frame, and (b) such that said one or more effectors individually produce a thrust force along said primary axis.
Preferably, the multicopter's flight module comprises (1) an input unit for receiving data from sensors and/or users, (2) a sensing unit for sensing the motion of said multicopter and/or the operation of at least one of said effectors, (3) an evaluation unit operationally connected to said sensing and/or input unit for identifying a failure affecting the torque and/or thrust force produced by one of said effectors, and (4) a control unit. Preferably, the control unit is configured to be operationally connected to said evaluation unit, and is configured
Said evaluation unit may be configured to provide data representative of the motion of said multicopter, and may be operationally connected to said control unit to provide said data, and said control unit may be configured to perform controlling of said one or more effectors based on said results of said evaluation unit.
Said computation of the primary axis may be performed in dependence of data representative of the motion of said multicopter, and data representative of the physical characteristics of said multicopter.
Preferably, said data representative of the motion of the multicopter comprises at least one of an orientation of said multicopter, an angular velocity of said multicopter, an operational state of said effectors of said multicopter, an acceleration of said multicopter, a translational velocity of said multicopter or a position of said multicopter. Preferably said data representative of the physical characteristics of said multicopter comprises at least one of the moments of inertia, mass, dimensions, aerodynamic properties or effector properties. Said data representative of the physical characteristics are preferably stored on a memory unit. Said computation is preferably carried out on a microcontroller.
Preferably, said control unit can be configured to control said one or more effectors not affected by said failure such that each of said one or more effectors contribute at least 20% of the thrust collectively produced by said one or more effectors when the orientation of said primary axis has converged. Preferably, these one or more effectors are effectors not affected by said failure.
Preferably, said control unit may be configured to control said one or more effectors not affected by said failure such that each contribute at least 30% of the thrust collectively produced by said one or more effectors when the orientation of said primary axis has converged. Preferably, these one or more effectors are effectors not affected by said failure.
Preferably, the evaluation unit is operable to identify a failure, wherein the failure causes the torque and/or thrust force produced by at least one of the effectors to decrease by an amount greater than 20%.
Preferably, the evaluation unit is operable to identify a failure, wherein the failure causes the torque and/or thrust force produced by at least one of the effectors to decrease by an amount greater than 50%.
Preferably, the evaluation unit is operable to identify a failure, wherein the failure the torque and/or thrust force produced by at least one of the effectors to decrease by an amount greater than 80%.
Preferably, the evaluation unit is operable to identify a failure, wherein the failure causes a complete loss of the torque and/or thrust force produced by at least one of said effectors.
Preferably, the evaluation unit uses a microprocessor.
Preferably, the evaluation unit identifies the failure based on data representative of at least one of (a) one or more variables of a plurality of variables of the effector, wherein the plurality of variables of the effector comprises at least one of rotational speed, voltage, electric current, fuel flow, motor torque, mass flow, power; or (b) data representative of the motion of said multicopter, comprising an orientation of said multicopter, an angular velocity of said multicopter, an operational state of said effectors of said multicopter, an acceleration of said multicopter, a translational velocity of said multicopter or a position of said multicopter.
Said control unit may further be configured such that it can control at least one of said effectors such that said one or more effectors may collectively produce a torque along said primary axis to cause said multicopter to rotate about said primary axis at a speed greater than 0.5 revolutions per second.
Preferably, said control unit is configured such that it can control at least one of said effectors such that said one or more effectors may collectively produce a torque along said primary axis to cause said multicopter to rotate about said primary axis at a speed greater than 1 revolutions per second.
Preferably said torque along said primary axis can cause said multicopter to rotate continuously when the orientation of the primary axis has converged to the target orientation.
Preferably, said 0.5 or 1 revolutions per second are average rotational speeds during a predefined time interval.
Said control unit may further be configured to control a single variable of a plurality of variables of each of one or more of said at least four effectors, wherein said plurality of variables comprises at least one of
Preferably, the multicopter, after experiencing a failure wherein the failure affects the torque and/or thrust force produced by an effector, comprises no more than three effectors unaffected by said failure.
Preferably, the multicopter, after experiencing a failure wherein the failure affects the torque and/or thrust force produced by an effector, comprises no more than two effectors unaffected by said failure.
Preferably, the multicopter, after experiencing a failure wherein the failure affects the torque and/or thrust force produced by an effector, comprises no more than one effector unaffected by said failure.
Said control unit may be further configured (a) to define a target acceleration for said multicopter, and (b) to use said target acceleration to compute said target orientation of said primary axis for said multicopter, and (c) to send said control signals such that furthermore said at least four effectors are controlled such that the thrust collectively produced by said one or more effectors accelerates said multicopter at said target acceleration.
Preferably, said target acceleration can be freely selected at run time, preferably from a range or specified list of target accelerations.
Preferably, said control unit is further configured to compute said target orientation of said primary axis using said target acceleration of said multicopter by computing said target orientation using the equation
wherein the vector a represents said target acceleration and the vector g represents the gravitational acceleration, and the vector ñ represents said target orientation, and ∥•∥ represents the Euclidean norm of a vector. In other words, the target orientation of said primary axis can be computed as the difference between the vector equaling said target acceleration and the vector of gravitational acceleration, divided by the Euclidean norm of that difference.
Said control unit may further be configured to (a) define a target thrust force magnitude, and (b) send said control signals such that the magnitude of the sum of each of said thrust forces produced individually by said one or more effectors along said primary axis equals said target thrust force magnitude. Preferably, these thrust forces are produced by effectors not affected by said failure.
Said control unit may further be configured to (a) define a target thrust force magnitude, and (b) send said control signals such that the magnitude of the sum of each of said thrust forces produced individually by said one or more effectors along said primary axis over a predefined time period equals said target thrust force magnitude. Preferably, these thrust forces are produced by effectors not affected by said failure.
Preferably, said target thrust force magnitude can be freely selected at run time, preferably from a range or specified list of target thrust force magnitudes.
Said control unit may further be configured to compute said target thrust force magnitude using said target acceleration of said multicopter by (a) defining said target acceleration, and (b) computing said target thrust force magnitude as
fdes=m∥a−g∥
wherein fdes represents the target thrust force magnitude, ∥•∥ represents the Euclidean norm of a vector, a represents the said target acceleration, g represents the acceleration due to gravity and m represents the mass of said multicopter. In other words, the target thrust force magnitude can be computed as the mass of said multicopter times the Euclidean norm of the difference between the vector equaling said target acceleration and the vector of gravitational acceleration.
Said multicopter may further comprise a sensor which may be operationally connected to said sensing unit and configured to (a) detect data representative of the motion of the multicopter, and (b) provide said data representative of the motion of the multicopter to said sensing unit. Preferably, the sensor belongs to the group of inertial sensors, distance sensors, or rate sensors. Preferably, the sensor belongs to the group of accelerometers, gyroscopes, magnetometers, cameras, optical flow sensors, laser or sonar range finders, radar, barometers, thermometers, hygrometers, bumpers, chemical sensors, electromagnetic sensors, air flow sensors or relative airspeed sensors, ultra sound sensors, microphones, radio sensors, or other height, distance, or range sensors, or infra-red sensors.
Said multicopter may further comprise a sensor which is arranged to detect data representative of the operation of at least one of said effectors, and operationally connected to, and providing said data representative of the operation of at least one of said effectors, to said sensing unit.
Preferably, the sensor uses at least one of a single variable of a plurality of variables of the effector, wherein the plurality of variables of the effector comprises at least one of a rotational speed, a voltage, electric current, fuel flow, motor torque, mass flow, power.
Said control unit may be mechanically independent of said body and said at least four effectors, and operationally connected to the multicopter via a wireless connection. Such a wireless connection may consist of a WiFi connection, Bluetooth, ZigBee, or another type of radio connection. Alternatively, the connection could consist of an optical connection, e.g. consisting of infrared transmissions.
Preferably, said mechanically independent control unit is contained in a housing, structured and arranged to be held in the hand of a user, and configured to receive input from said user via a user interface usable to control one or more of said at least four effectors of said multicopter via said wireless connection. Such a handheld device could be in the form of a smartphone, or a tablet computer device, or it could be in the form similar to traditional hobbyist remote controllers.
According to a further aspect of the present invention there is provided a control unit for a multicopter, the multicopter comprising: (1) a body, (2) at least four effectors attached to the body, each operable to produce both a torque and a thrust force which can cause the multicopter to fly when not experiencing a failure; and said control unit comprising a flight module configured such that it can carry out a method for operating said multicopter experiencing a failure during flight. The method may comprise the step of identifying a failure wherein the failure affects the torque and/or thrust force produced by an effector, and in response to identifying a failure carrying out the following steps, (1) computing an estimate of the orientation of a primary axis of said body with respect to a predefined reference frame, wherein said primary axis is an axis about which said multicopter rotates when flying, (2) computing an estimate of the angular velocity of said multicopter, (3) controlling one or more of said at least four effectors based on said estimate of the orientation of the primary axis of said body with respect to said predefined reference frame and said estimate of the angular velocity of the multicopter. The step of controlling one or more of said at least four effectors may be performed such that (a) said one or more effectors collectively produce a torque along said primary axis and a torque perpendicular to said primary axis, wherein (i) the torque along said primary axis causes said multicopter to rotate about said primary axis, and (ii) the torque perpendicular to said primary axis causes said multicopter to move such that the orientation of said primary axis converges to a target orientation with respect to said predefined reference frame, and (b) such that said one or more effectors individually produce a thrust force along said primary axis.
Preferably, the control unit's flight module comprises (1) an input unit for receiving data from sensors and/or users, (2) a sensing unit for sensing the motion of said multicopter and/or the operation of at least one of said effectors, (3) an evaluation unit operationally connected to said sensing and/or input unit for identifying a failure affecting the torque and/or thrust force produced by one of said effectors, and (4) a control unit. Preferably, the control unit is configured to be operationally connected to said evaluation unit, and is configured
The control unit may be operationally connected to said evaluation unit, wherein said evaluation unit provides data representative of the motion of said multicopter, and provides said data to said control unit, and said control unit performs controlling of said one or more effectors based on said results of said evaluation unit.
The control unit may further be configured to compute a primary axis of said body, wherein (a) said primary axis is an axis about which said multicopter rotates when flying under the control of said control unit, and (b) each of said one or more effectors produces a thrust force along said primary axis, and wherein said computation of the primary axis is performed in dependence of data representative of the motion of said multicopter, and data representative of the physical characteristics of said multicopter.
Preferably, said data representative of the motion of the multicopter comprises at least one of an orientation of said multicopter, an angular velocity of said multicopter, an operational state of said effectors of said multicopter, an acceleration of said multicopter, a translational velocity of said multicopter or a position of said multicopter.
Preferably said data representative of the physical characteristics of said multicopter comprises at least one of the moments of inertia, mass, dimensions, aerodynamic properties or effector properties. Said data representative of the physical characteristics are preferably stored on a memory unit. Said computation is preferably carried out on a microcontroller.
According to yet another aspect of the present invention, there is provided the use of said control unit for a multicopter, the multicopter comprising (1) a body, (2) at least four effectors attached to the body, each operable to produce both a torque and a thrust force which can cause the multicopter to fly when not experiencing a failure; wherein said control unit comprises a flight module configured such that it can carry out a method for operating said multicopter experiencing a failure during flight. The method may comprise the step of identifying a failure wherein the failure affects the torque and/or thrust force produced by an effector, and in response to identifying a failure carrying out the following steps, (1) computing an estimate of the orientation of a primary axis of said body with respect to a predefined reference frame, wherein said primary axis is an axis about which said multicopter rotates when flying, (2) computing an estimate of the angular velocity of said multicopter, (3) controlling one or more of said at least four effectors based on said estimate of the orientation of the primary axis of said body with respect to said predefined reference frame and said estimate of the angular velocity of the multicopter. The step of controlling one or more of said at least four effectors may be performed such that (a) said one or more effectors collectively produce a torque along said primary axis and a torque perpendicular to said primary axis, wherein (i) the torque along said primary axis causes said multicopter to rotate about said primary axis, and (ii) the torque perpendicular to said primary axis causes said multicopter to move such that the orientation of said primary axis converges to a target orientation with respect to said predefined reference frame, and (b) such that said one or more effectors individually produce a thrust force along said primary axis.
Preferably, the control unit's flight module comprises (1) an input unit for receiving data from sensors and/or users, (2) a sensing unit for sensing the motion of said multicopter and/or the operation of at least one of said effectors, (3) an evaluation unit operationally connected to said sensing and/or input unit for identifying a failure affecting the torque and/or thrust force produced by one of said effectors, and (4) a control unit. Preferably, the control unit is configured to be operationally connected to said evaluation unit, and is configured
Preferably, the failure affecting the torque and/or thrust force produced by one of said effectors causes said torque and/or thrust force to decrease by an amount greater than or equal to 20%, 50%, 80%, or 100%.
Other technical advantages of the present invention will be readily apparent to one skilled in the art from those following figures, descriptions, and claims. Moreover, while specific advantages have been enumerated above, various embodiments may include all, some, or none of the enumerated advantages.
For a more complete understanding of the invention, reference is made to the following description and accompanying drawings, in which:
The disclosed invention relates to the control of motion of a multicopter experiencing a failure affecting one or more effectors. Multicopters are typically equipped with effectors that produce both a thrust force and a torque acting on the multicopter. These effectors are typically characterized by having a characteristic drive axis (typically identical to the direction of thrust force), which is fixed with respect to the body of the multicopter, and by having a single variable which controls the thrust force. For example, the fixed-pitch propellers used on many hover-capable aerial vehicles such as multicopters produce a thrust force and torque acting on the vehicle, and are typically directly fixed to a motor's fixed drive axis and commanded using a single variable. For multicopters, this single variable typically commands the relative desired speed of the motor and thus the thrust force of the effector. Multicopters typically use brushless motors, which typically use a motor controller to convert this single variable into amplitude, waveform, and frequency required to achieve a desired rotor speed. Such motor controllers typically contain 3 bi-directional outputs (i.e. frequency controlled three phase output), which are controlled by a logic circuit, but can have more complex implementations involving additional sensors and electronics to achieve high performance or other desirable properties. A hover-capable vehicle is a heavier-than-air flying vehicle that is able to approximately attain and maintain a position at a target point in space.
A defining characteristic of the present invention is that the disclosed control scheme results in a continuous rotation of the multicopter about a primary axis 130 defined in a coordinate system fixed with respect to the body of the multicopter and passing through its center of mass. On multicopters, effectors are arranged in such a way that in addition to providing a force along their drive axes, they also create a torque acting on the multicopter's center of mass and with a component perpendicular to the primary axis 130.
To achieve and sustain this rotation of the multicopter about the primary axis 130, the effectors can further be made to produce a torque with a component in the direction of the primary axis 130. For a fixed-pitch propeller, the torque component can be achieved by placing the drive axis of the propeller parallel to the primary axis 130, and using the aerodynamic reaction drag torque acting to oppose the propeller's rotation (and thus acting in the direction of the primary axis 130).
In the present application, failure affecting an effector means a partial or complete loss of torque and/or thrust force produced by the effector. Typically this loss is in the range of 20% to 100% of the nominal thrust. Overall, multicopters are comparably simple and hence comparably safe flying vehicles (the best system on an aircraft is the one that it doesn't have, because it can never fail). However, due to their enormous popularity, a very large number of multicopter crashes are documented in the literature. The vast majority of all multicopter crashes are due to effector failure—apart from pilot errors that result in a collision of the multicopter with an obstacle, the multicopter typically stays airborne as long as effectors do not fail at producing thrust in a controlled way. The present invention may therefore allow to overcome or limit the consequences of the vast majority of all multicopter crashes, including some that involve collisions with an obstacle. The most common multicopter failures in the literature are:
While not all of the above failures directly result in an effector failure, many result in flight configurations that can be controlled using the present invention. In particular, following one of the above failures, the present invention may allow to prevent a multicopter crash in spite of a loss of thrust by controlling the remaining effectors such that the multicopter enters a substantial continuous rotation around a primary axis 130, and by using the method disclosed herein to attain or maintain an orientation this primary axis 130 into a favorable direction, allowing for a controlled descent and landing.
Various methods can be used to detect that a failure has occurred. Examples include having a pilot who monitors the multicopter, and who can send a signal to the multicopter when a failure is observed, which then causes the multicopter to use the present invention to control the multicopter. Alternatively, the detection can be automatic, for example by having a model-based observer on the multicopter monitoring measured data, and probabilistically detecting that an error has been observed (utilising, for example, a bank of Kalman filters where each represents a different failure mode). Sliding mode observers, voting-based algorithms, parity-space approaches, and parameter identification can also be used. The failure might also be detected directly, e.g. by monitoring the rotational speed of a multicopter's motors, or by monitoring how much current a multicopter's motors draw.
Some failure detection methods might detect a failure only a certain time after it has occurred, meaning that the multicopter might be in a state far from the intended when the failure is recognised. Certain events, such as a collision with an obstacle, will also tend to put the multicopter in a state far away from the expected. Nonetheless, the disclosed invention will allow the multicopter to recover from an arbitrary initial state. Depending on the specific multicopter configuration (such as mass, remaining effectors unaffected by the failure, etc.) the multicopter might be able to return to a hover after the failure, or freely move around space. Alternatively, instead of controlling the position, the disclosed invention could be used simply to reorient the multicopter after a failure, such that it (e.g.) hits the ground in a favourable way.
The invention may also offer the possibility of reducing the severity of pilot error. For example, if a pilot of a quadrocopter were to accidentally collide the quadrocopter with a structure, and thereby damage one of the propellers, an automated system could detect that a failure has occurred, and that some of the multicopter's effectors have been affected by a failure. The system could then automatically engage an internal autopilot, utilising available sensors to bring the multicopter to a hover, or to bring the multicopter to a soft landing on the ground.
The orientation of the primary axis is typically estimated using an algorithm, allowing the calculation of an estimate of the orientation of the primary axis 150. Similarly, an estimate of the angular velocity of the multicopter can be computed. Examples of algorithms to compute these estimates include Kalman filters and Luenberger observers. The location of the multicopter in space is described by a position and translational velocity, typically defined in a predefined reference frame 160 and referred to some fixed point. Examples of a predefined reference frame 160 would be a ‘East-North-Up’ frame, with the origin fixed to some landmark. An estimate of the position, and an estimate of the translational velocity, of the multicopter can be computed by an algorithm similar to that of the orientation and angular velocity.
The motion of a flying vehicle is usually described by referring to an inertial reference frame. By neglecting the rotation of the Earth about its own axis, and about the sun, and the sun's rotation through the milky way, an Earth-fixed frame can be used as an approximation for an inertial reference frame. Thus, an Earth-fixed reference frame can be constructed by letting a first axis point from West to East, a second axis point South to North, and the final axis pointing from the center of the earth upward. Such a frame has proven to be a good approximation for objects moving at low speeds and over short distances. For greater accuracy, frames can be constructed with one direction pointing from the sun's center of gravity in a direction normal to the ecliptic plane (the plane through which the earth's center of mass moves as it rotates about the sun), and a second direction pointing to the First Point of Aries (or the vernal equinox), with the third direction following from the right hand rule.
The operator of the multicopter often has some higher level goal, which can be translated into a target acceleration for the multicopter, or a target translational velocity, or a target position. Furthermore, some goals might be translated into a target thrust force magnitude, where this is the desired total force produced by the multicopter's effectors.
Multicopter motion is typically controlled via control signals sent to the multicopter's effectors to vary the relative speed of each propeller to change the thrust and torque. The relative speed of each propeller is typically set using a single variable, which is translated into control signals by a motor controller. Translational motion in the direction of thrust of the four propellers (sometimes “total thrust” or “collective thrust”) is controlled by changing the individual thrusts of each of the propellers to achieve the target total force. Independent of the collective thrust, rotation about the direction of the total thrust (usually called “yaw”) is controlled by spinning up either the clockwise or the counterclockwise propellers while respectively slowing down the other propellers, thereby producing a torque produced by the difference of drag effects between the propellers rotating clockwise and the propelelrs rotating counter-clockwise. Independently of the above, rotation about the other axes is controlled by using thrust difference between opposite propellers, while maintaining the independent relationships described above to control yaw and total thrust as desired. In total, four independent motion properties (“degrees of freedom”) of the multicopter, one translational and three rotational, are thus independently controlled by appropriately modulating the thrusts produced by the propellers. With some minor variation, this principle of operation typically applies to all commonly used multicopter vehicles. Full translational control is then achieved by orienting the total force in the direction of desired translational motion.
Flight modules typically receive high level inputs in the form of goals or commands from a user, base station, command center, or high level control algorithm via an input unit 304 and passed on to a control unit 306, evaluation unit 308, and sensing unit 310. Control units 306 are typically used to generate control signals for a multicopter's effectors. Evaluation units 308 are typically used to evaluate data from input units 304, sensing units 310, and memory units 312. Such data may be representative of user commands or high level commands as well as both relative or absolute position, particularly that of GPS sensors, visual odometry/SLAM, retro-reflective positioning systems, laser range finders, WiFi positioning systems, barometric altimeters and variometers, or ultra-sound sensors (none shown). Sensor data may be gathered and preprocessed using a sensor unit 310 or stored in a memory unit 312. Typical examples of processed information are those received from sensors, such as accelerometers, gyroscopes, magnetometers, cameras, optical flow sensors, laser or sonar range finders, radar, barometers, thermometers, hygrometers, bumpers, chemical sensors, electromagnetic sensors, air flow sensors, or microphones (none shown). Memory units 312 are typically used to store data. For example, they may be used to store data on past sensor readings, operational states or user commands, as well as properties of the multicopter.
All of the above units may be implemented on a single circuit board, on a single board computer, or on a single microcontroller.
Depending on the application, flight modules may be far more complex than the simple block diagram shown in
As illustrated, the multicopter body has an instantaneous angular velocity ωB, that is nominally aligned with the primary axis 130, but may deviate in direction and magnitude during corrective or commanded motion.
The rotation of this body fixed frame with respect to some inertial coordinate frame is described by the rotation matrix R, governed by the differential equation
{dot over (R)}=R[[ωB×]] (1)
where ωB=(p, q, r) is the angular velocity of the multicopter as shown with its components in
The orientation, or direction, z of the primary axis 130 in the inertial coordinate frame, can be expressed as
such that the differential equation of the orientation can be found with (1):
From this follows that the primary axis 130 can be made to achieve a commanded orientation if the angular velocity components p and q can be controlled, and will maintain an orientation if the components p and q are zero.
Each effector i has a single commandable degree of freedom (here also referred to as a single variable), and produces a thrust force vector fT
The differential equation governing the evolution the angular velocity of a body with rotating effectors is given by
where ωR
The left side of (5) contains the angular accelerations {dot over (p)}, {dot over (q)}; where control of these components allows the control of the orientation of the primary axis through (4). The first term of the right side of (5) is the sum of all the torques acting on the multicopter. The remaining term of (5) expresses the cross coupling of the angular momentum in the system, due to taking the derivative in a non-inertial frame.
The translational acceleration is related to the total forces through Newton's second law. Thus a translational acceleration of the multicopter can be effected through the total force, while this acceleration, in turn, allows to effect a translational velocity, which in turn allows to effect a change in the position of the multicopter. For the sake of clarity of exposition, the following assumptions about the system are made for the derivation. Note that these assumptions are reasonable for the derivation of control schemes for practical multicopter configurations, and lead to practical and applicable control schemes.
Denoting again the rotation of the body-fixed frame with respect some inertial predefined reference frame 160 with R and the angular velocity of the body with ωB, the differential equation of R is as in (1). The orientation of the multicopter is again described by (3), with associated differential equation given by (4).
Referring to (5), the angular velocity of rotor i with respect to the multicopter body, and expressed in the body-fixed frame, is ωR
The left hand side of (5) contains the angular acceleration, and simplifies to
The orientation of the multicopter is to be controlled through the angular velocity components p and q
The sum of all torques, the first term on the right hand side, contains the propellers' torque vectors and the aerodynamic drag torque opposing the multicopter's sense of rotation, and yields
The final term of (5) expresses the cross coupling of the angular momentum in the system, due to taking the derivative in a non-inertial frame
Multiplying out the term, adding the components, and under the previous assumptions given yields
From the above, writing out (5) in its components yields the three scalar differential equations
IXB{dot over (p)}=((IYB−IZB)r−IZR(ωR
IYB{dot over (q)}=((IZB−IXB)r+IZR(ωR
IZB{dot over (r)}=(IXB−IYB)pq+τ1∥+τ3∥−τd. (15)
From this can be seen that sending control signals to the propellers allows to directly effect an angular acceleration {dot over (q)} about x. Because it has a component perpendicular to the primary axis 130, this directly produced angular acceleration is linearly independent of the primary axis 130. Furthermore, through the above mentioned angular acceleration {dot over (q)}, an angular velocity q can be achieved.
Thus, by turning the body through a secondary axis lying along y, the multicopter's angular velocity components about the primary axis 130 (r) and the secondary axis (q) will interact to produce an angular acceleration (and thus a turning) about a turning axis, here x. Important to note is that the secondary axis lies at a non-zero angle with respect to the primary axis 130 (i.e. is linearly independent of the primary axis 130), and that the turning axis lies at a non-zero angle to both the primary and secondary axes (i.e. the turning axis is linearly independent of both). Concretely, for this multicopter, this means that although the rotors can not produce a torque about the x axis, the component p of angular velocity lying along x can be affected, and the primary axis' 130 orientation with respect to an inertial frame can be controlled. Similarly, for other multicopters, this means that the above effect can be actively exploited for their control rather than counteracted or otherwise compensated for.
Furthermore, this orientation can be maintained by bringing the angular velocity components p and q to zero, and commanding the propellers such that fT
The component of the multicopter's angular velocity along the primary axis 130, r, will be dominated by the torques τi∥ and the drag torque τd. Since the drag torque will typically monotonically increase with r, there will be an imbalance in τ1∥+τ3∥−τd at low speeds, such that the multicopter will increase this component of angular velocity, and thus the multicopter has a natural tendency to rotate about the primary axis 130. For fixed pitch propellers, there is typically a strongly linear relationship between the magnitude of the thrust force fT
A translational acceleration of the multicopter can now be effected, by using the difference of the two forces fT
Note that while the above derivation was made under specific assumptions, these assumptions are reasonable for the derivation of control schemes for practical multicopter configurations and lead to practical and applicable control schemes. The above results, therefore, hold for a broader range of circumstances and should be interpreted as such.
The above derivation may be repeated for vehicle's which have off diagonal terms in the inertia matrices. In this case the algebra is more complicated, but the resulting equations are similar. Likewise, the inertia of the propellers may be comparable to the inertia of the body, or the speed of the propellers comparable to the speed of the body.
Furthermore, given the benefits of the present invention it will be readily apparent to one skilled in the art that the specific control law used can vary, and can be derived using linear methods such as the linear quadratic regulator (LQR), using pole placement, various robust control methods, or nonlinear control methods.
An attitude controller 642 receives this target translational acceleration, and sends control signals to each of the propellers 660. This attitude controller 642 computes a target orientation of the multicopter's primary axis 150 and a total commanded force that results in the target acceleration; then using the disclosed method, to generate a control signal for each propeller. Sensor measurements are passed to a state estimator 646 which estimates the multicopter's rotation and angular velocity and sends these estimates to the attitude controller. The sensor measurements are obtained from inertial sensors 644, which may include accelerometers, rate gyroscopes. Further examples of onboard sensors may include visual sensors such as cameras, range sensors, height sensors and relative airspeed sensors.
In general, the primary axis 130 will no longer lie along z—one method for determining the direction of the primary axis 130 is as follows, while referring
where it has been assumed for simplicity that the inertia matrix is diagonal and that the multicopter is symmetric such that the inertia about x equals that about y. The angular momentum of the rotors will be neglected here. Again, ωB=(p, q, r) represents the multicopter body's angular velocity expressed in the body frame, as shown in
Each rotor i produces a thrust force vector fT
For simplicity, it will be assumed that the components τz
IB{dot over (ω)}B=−[[ωB×]]IBω+τ1+τ2+τ3+τD (18)
which can be expanded and rewritten to yield the following three differential equations:
Let n=(nx, ny, nz) be a unit vector fixed in the inertial frame. This vector evolves according to the differential equation
{dot over (n)}=−[[ω×]]n. (22)
The goal is to now find the set of commanded forces fT
This yields a set of seven algebraic equations with ten scalar unknowns to solve for (p, q, r, nx, ny, nz, fT
fT
and let the second propeller produce half the thrust of the third propeller such that
fT
and let the sum of the thrust forces be such that they can achieve a target thrust force magnitude, that balances the weight of the multicopter (mg) when the primary axis 130 points to oppose gravity
(fT
This leaves a set of ten algebraic equations in ten unknowns, from which the steady-state rotational velocity ωB, the direction of the primary axis 130 in the body frame n and the steady state thrust forces fT
A stabilizing controller can now be designed to bring the multicopter from some instantaneous angular velocity and orientation to the steady state solution described above. Furthermore, the orientation of the primary axis in the inertial frame can be used to translate the multicopter in space.
Note that because the second effector produces significant thrust in steady state fT
For the case of a quadrocopter having three remaining propellers, an alternative strategy would be to disable the one remaining working propeller which spins in a different direction from the others, allowing then the strategy introduced for
In general, the primary axis 130 will not lie along z—one method for determining the direction of the primary axis 130 is as follows, while referring to the notation introduced previously for
where it has been assumed for simplicity that the inertia matrix is diagonal and that the multicopter is symmetric such that the inertia about x equals that about y. The angular momentum of the rotors will be neglected here. Again, ωB=(p, q, r) represents the multicopter body's angular velocity expressed in the body frame, as shown in
The rotor produces a thrust force vector fT
For simplicity, it will be assumed that the component τz
IB{dot over (ω)}B=−[[ωB×]]IBω+τ1+τD (28)
which can be expanded and rewritten to yield the following three differential equations:
Let n=(nx, ny, nz) be a unit vector fixed in a predefined reference frame 160, taken to be inertial. This vector evolves according to the differential equation
{dot over (n)}=−[[ω×]]n. (32)
The goal is to now find the commanded force fT
This yields a set of algebraic equations with scalar unknowns to solve for (p, q, r, nx, ny, nz, fT, ε). This can be resolved by adding one additional constraint, specifically that the thrust force be able to balance the weight of the multicopter mg:
fT
This leaves a set of eight algebraic equations in eight unknowns, from which the steady-state rotational velocity ωB, the direction of the primary axis 130 in the body frame n and the steady state thrust force fT
A stabilizing controller can now be designed to bring the multicopter from some instantaneous angular velocity and orientation to the steady state solution described above. Furthermore, the orientation of the primary axis in the inertial frame can be used to translate the multicopter in space. One method of creating such a controller would be to linearise the equations of motion about the equilibrium, and then do a Linear Quadratic Control synthesis.
The low frequency component of fT
Note that because the effector thrust is not aligned with the gravity vector, the multicopter's centre of mass will not be stationary, but will instead continuously circle about an orbit. This is because the primary axis 130 is not aligned with the direction of the effector thrusts, such that the component in the direction of gravity cancels out the weight, but the components perpendicular to gravity constantly cause the multicopter to accelerate to the centre of its orbit. Thus, when using the above described solution, the multicopter's centre of mass is unable to remain stationary at a point in space, but will instead have a continuous motion around this target point in space.
Note that, in the preceding, the primary rotation is not necessarily about a principle axis of inertia.
It will thus be seen that the objects set forth above, among those made apparent from the preceding description, are efficiently attained and, because certain changes may be made in carrying out the above method and in the construction(s) set forth without departing from the spirit and scope of the invention, it is intended that all matter contained in the above description and shown in the accompanying drawings shall be interpreted as illustrative and not in a limiting sense.
TABLE OF SYMBOLS AND FIGURE NUMERALS
Num.
Name
100
Effector disabled due to a failure
102
Effectors
102a
Effector 1
102b
Effector 2
102c
Effector 3
102d
Effector 4
104
Propellers
106
Motors
108
Direction of propeller rotation
108a
Clockwise direction of propeller rotation
108b
Counterclockwise direction of propeller rotation
110
Drive axis of rotation of propeller
112
Multicopter body
114
Mechanical structure
118
Direction of sustained multicopter rotation about pri-
mary axis
120
Center of mass of multicopter
130
Primary axis
140
Quadrocopter
150
Target orientation of primary axis
160
Predefined reference frame
302
Flight Module
304
Input Unit
306
Control Unit
308
Evaluation Unit
310
Sensing Unit
312
Memory Unit
314
Control signal for effectors
602
Outer control loop
604
Inner control loop
610
High level goal
612
Translational controller
614
High level sensors (e.g. Vision, GPS)
616
Translational state estimator
642
Attitude controller
644
Inertial sensors
646
Attitude state estimator
660
Propellers
802
Failure
804
Can the multicopter produce torque?
806
Torques can be made to sum to zero, and can produce
independent torques in all three dimensions?
810
Use the standard multicopter control method.
812
The multicopter is uncontrollable.
816
Use the disclosed control method.
a
Target acceleration
fdes
Target thrust force magnitude
fD
Rotor drag force vectors of rotor i
fT
Rotor thrust force vectors of rotor i
fT
Thrust force for each propeller i
g
Gravitational acceleration
m
Mass of the multicopter
mg
Weight of the multicopter
ñ
Target orientation
p, q
Components of the angular velocity
{dot over (p)}, {dot over (q)}
Components of the angular acceleration
IB
Inertia matrix
fT
Thrust force vectors
IB
Inertia matrix of the multicopter body
IR
Inertia matrix of propeller i
n
Orientation of the primary axis
R
Rotation matrix
x, y, z
Axes of the coordinate system
τi
Torque vector
τi∥
Torque vector component parallel to the primary axis
τi⊥
Torque vector component perpendicular to the primary
axis
τd
Aerodynamic torque (scalar)
τd
Aerodynamic torque (vector)
τi
Torque vector of rotor i
ωB
Angular velocity of the body
ωV
Angular velocity of the multicopter in an inertial frame
ωR
Angular velocity of rotor i with respect to the multi-
copter body (scalar)
ωR
Angular velocity of rotor i with respect to the multi-
copter body (vector)
D'Andrea, Raffaello, Mueller, Mark W., Waibel, Markus, Lupashin, Sergei
Patent | Priority | Assignee | Title |
10059436, | Jul 13 2017 | Kitty Hawk Corporation | Sealed float with batteries |
10081422, | Jul 13 2017 | Kitty Hawk Corporation | Multicopter with wide span rotor configuration and protective fuselage |
10086931, | Aug 26 2016 | Kitty Hawk Corporation | Multicopter with wide span rotor configuration |
10126745, | Jan 04 2015 | HANGZHOU ZERO ZERO TECHNOLOGY CO , LTD | System and method for automated aerial system operation |
10207794, | Aug 11 2014 | Amazon Technologies, Inc. | Aerial vehicle center of gravity adjustment |
10220954, | Jan 04 2015 | HANGZHOU ZERO ZERO TECHNOLOGY CO , LTD | Aerial system thermal control system and method |
10222800, | Jan 04 2015 | HANGZHOU ZERO ZERO TECHNOLOGY CO , LTD | System and method for automated aerial system operation |
10358214, | Jan 04 2015 | HANGZHOU ZERO ZERO TECHNOLOGY CO , LTD | Aerial vehicle and method of operation |
10427782, | Jul 13 2017 | Kitty Hawk Corporation | Multicopter with wide span rotor configuration and protective fuselage |
10464661, | Jun 09 2013 | ETH ZURICH | Volitant vehicle rotating about an axis and method for controlling the same |
10513341, | Apr 27 2018 | WING Aviation LLC | Thrust allocation for aerial vehicle |
10526066, | Nov 04 2016 | Hideo, Suzuki | Aircraft, controller and control method of aircraft, and recording medium storing computer software program for controlling aircraft |
10526079, | Jul 13 2017 | Kitty Hawk Corporation | Multicopter with wide span rotor configuration and protective fuselage |
10528049, | Jan 04 2015 | Hangzhou Zero Zero Technology Co., Ltd. | System and method for automated aerial system operation |
10556704, | Sep 17 2018 | Kitty Hawk Corporation | Health based actuator allocation |
10719080, | Jan 04 2015 | HANGZHOU ZERO ZERO TECHNOLOGY CO , LTD | Aerial system and detachable housing |
10824149, | Jan 04 2015 | HANGZHOU ZERO ZERO TECHNOLOGY CO , LTD | System and method for automated aerial system operation |
10824167, | Jan 04 2015 | HANGZHOU ZERO ZERO TECHNOLOGY CO , LTD | System and method for automated aerial system operation |
10870485, | Aug 26 2016 | Kitty Hawk Corporation | Multicopter with wide span rotor configuration |
10940943, | Jul 13 2017 | Kitty Hawk Corporation | Sealed float with batteries |
11027833, | Apr 24 2016 | Hangzhou Zero Zero Technology Co., Ltd. | Aerial system propulsion assembly and method of use |
11091260, | Apr 27 2018 | WING Aviation LLC | Counter-rotating propellers for aerial vehicle |
11299287, | Jun 29 2021 | BETA AIR, LLC | Methods and systems for orienting a thrust propulsor in response to a failure event of a vertical take-off and landing aircraft |
11407521, | Sep 17 2018 | Kitty Hawk Corporation | Health based actuator allocation |
11459096, | Dec 07 2017 | Kitty Hawk Corporation | Propeller impact detection and force reduction |
11465736, | Jul 13 2017 | Kitty Hawk Corporation | Multicopter with wide span rotor configuration and protective fuselage |
11623762, | Sep 17 2021 | BETA AIR, LLC | System and method for actuator monitoring for an electric aircraft |
11669109, | Aug 21 2019 | AUTEL ROBOTICS CO., LTD. | Method and apparatus for yaw fusion and aircraft |
11794885, | Jul 13 2017 | Kitty Hawk Corporation | Multicopter with wide span rotor configuration and protective fuselage |
11827343, | Dec 07 2017 | Kitty Hawk Corporation | Propeller impact detection and force reduction |
11834188, | Sep 17 2018 | Kitty Hawk Corporation | Health based actuator allocation |
11840351, | Apr 05 2021 | BETA AIR, LLC | Aircraft for self-neutralizing flight |
9944386, | Jul 13 2017 | Kitty Hawk Corporation | Multicopter with wide span rotor configuration and protective fuselage |
Patent | Priority | Assignee | Title |
8983684, | Jun 28 2011 | PARROT DRONES | Method of dynamically controlling the attitude of a drone in order to execute a flip type maneuver automatically |
20060151666, | |||
20120232718, | |||
20130006448, | |||
20130020429, | |||
20150012154, | |||
20160023755, | |||
20160068267, | |||
WO20101284890, | |||
WO2012080847, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jun 05 2014 | ETH ZURICH | (assignment on the face of the patent) | / | |||
Jan 20 2016 | D ANDREA, RAFFAELLO | ETH ZURICH | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 037719 | /0118 | |
Jan 20 2016 | LUPASHIN, SERGEI | ETH ZURICH | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 037719 | /0118 | |
Jan 20 2016 | MUELLER, MARK W | ETH ZURICH | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 037719 | /0118 | |
Jan 20 2016 | WAIBEL, MARKUS | ETH ZURICH | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 037719 | /0118 |
Date | Maintenance Fee Events |
Jun 23 2021 | M2551: Payment of Maintenance Fee, 4th Yr, Small Entity. |
Date | Maintenance Schedule |
Jan 02 2021 | 4 years fee payment window open |
Jul 02 2021 | 6 months grace period start (w surcharge) |
Jan 02 2022 | patent expiry (for year 4) |
Jan 02 2024 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jan 02 2025 | 8 years fee payment window open |
Jul 02 2025 | 6 months grace period start (w surcharge) |
Jan 02 2026 | patent expiry (for year 8) |
Jan 02 2028 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jan 02 2029 | 12 years fee payment window open |
Jul 02 2029 | 6 months grace period start (w surcharge) |
Jan 02 2030 | patent expiry (for year 12) |
Jan 02 2032 | 2 years to revive unintentionally abandoned end. (for year 12) |