Controlled flight of a multicopter experiencing a failure affecting an effector

11591071 · 2023-02-28

Assignee

Inventors

Cpc classification

International classification

Abstract

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.

Claims

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 steps of, receiving at a control unit data which is representative of an orientation of a primary axis of said body with respect to a predefined reference frame; and receiving at the control unit data which is representative of an angular velocity of said multicopter; when a failure has occurred in one or more of said at least four effectors, controlling, using the control unit, one or more of said at least four effectors, based on said received data which is representative of the orientation of the primary axis and said received data which is representative of the angular velocity, such that said one or more of said at least four effectors collectively produce a torque perpendicular to said primary axis and a torque along said primary axis, wherein 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 said torque along said primary axis causes said multicopter to rotate about said primary axis, and such that said one or more of said at least four effectors individually produces a thrust force along said primary axis.

2. A method according to claim 1 wherein said failure is a failure in an effector which results in a decrease in the torque and/or the thrust force produced by said effector but said effector is still operable to produce some torque and/or thrust force.

3. A method according to claim 2 wherein said one or more effectors in which the failure has occurred still produce torque and/or thrust force after the failure has occurred, but wherein said failure results in a decrease in the torque and/or the thrust force produced by said one or more effectors in which the failure has occurred; and wherein the step of controlling comprises controlling, using the control unit, the effectors in which a failure has occurred and the effectors which are without a failure, based on said received data which is representative of the orientation of the primary axis and said received data which is representative of the angular velocity, such that the effectors in which a failure has occurred and the effectors which are without a failure collectively produce a torque perpendicular to said primary axis and a torque along said primary axis, wherein 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 said torque along said primary axis causes said multicopter to rotate about said primary axis, and such that each the effectors in which a failure has occurred and the effectors which are without a failure individually produces a thrust force along said primary axis.

4. A method according to claim 1 wherein the step of controlling comprises controlling, using the control unit, the effectors which are without a failure, based on said received data which is representative of the orientation of the primary axis and said received data which is representative of the angular velocity, such that the effectors which are without a failure collectively produce a torque perpendicular to said primary axis and a torque along said primary axis, wherein 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 said torque along said primary axis causes said multicopter to rotate about said primary axis, and such that each of said effectors which are without a failure individually produces a thrust force along said primary axis.

5. A method according to claim 4 wherein the method comprises controlling, using the control unit, the effectors which are without a failure, based on said received data which is representative of the orientation of the primary axis and said received data which is representative of the angular velocity, such that at least one of the effectors which is without failure does not produce any torque or thrust force, and such that the other effectors which are without a failure collectively produce a torque perpendicular to said primary axis and a torque along said primary axis, wherein 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 said torque along said primary axis causes said multicopter to rotate about said primary axis, and such that said other effectors which are without failure individually produces a thrust force along said primary axis.

6. A method according to claim 4 wherein the multicopter comprises four effectors, and wherein said failure occurs in only one of said four effectors so that three of the effectors are without a failure, and wherein the method comprises controlling, using the control unit, the three effectors which are without a failure, based on said received data which is representative of the orientation of the primary axis and said received data which is representative of the angular velocity, such that only two of the three effectors that are without a failure collectively produce a torque perpendicular to said primary axis and a torque along said primary axis, wherein 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 said torque along said primary axis causes said multicopter to rotate about said primary axis, and such that each of said two effectors which are without failure individually produces a thrust force along said primary axis.

7. A method according to claim 6 wherein the multicopter comprises four effectors, and wherein said failure occurs in only one of said four effectors so that three of the effectors are without a failure, and wherein the method comprises controlling, using the control unit, the three effectors which are without a failure, based on said received data which is representative of the orientation of the primary axis and said received data which is representative of the angular velocity, such that one of the three effectors does not produce any torque or thrust force, and such that the other two of the three effectors that are without a failure collectively produce a torque perpendicular to said primary axis and a torque along said primary axis, wherein 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 said torque along said primary axis causes said multicopter to rotate about said primary axis, and such that said other two of the three effectors that are without failure individually produces a thrust force along said primary axis.

8. A method according to claim 4 wherein said failure is a failure in an effector which results in said effector unable to produce any torque force or thrust force.

9. A method according to claim 1 wherein, if no failure has occurred in any of said at least four effectors, controlling, using the control unit, all of the at least four effectors, based on said received data which is representative of the orientation of the primary axis and said received data which is representative of the angular velocity, such that said at least four effectors collectively produce a torque perpendicular to said primary axis, wherein 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 at least four effectors individually produces a thrust force along said primary axis.

10. A method according to claim 1 further comprising the step of, identifying, using an evaluation unit, when a failure has occurred in one or more of said at least four effectors, wherein the failure causes a decrease in the torque and/or the thrust force produced by each of said one or more at least four effectors.

11. A method according to claim 10 wherein said step of identifying, using an evaluation unit, when a failure has occurred in one or more of said at least four effectors, comprises, identifying, using said evaluation unit, when a failure has occurred in one or more of said at least four effectors, based on data representative of the motion of said multicopter.

12. A method according to claim 1 wherein said primary axis is an axis aligned with a sum of thrust forces produced by said one or more of said at least four effectors over a predefined time with respect to the predefined reference frame.

13. A method according to claim 1, wherein 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.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) For a more complete understanding of the invention, reference is made to the following description and accompanying drawings, in which:

(2) FIG. 1 shows a schematic of a first preferred embodiment of the invention, showing a quadrocopter experiencing a failure disabling a single effector, and nevertheless capable of controlled flight using the disclosed method;

(3) FIG. 2 shows a schematic of a failure-free quadrocopter as known in the prior art;

(4) FIG. 3 shows a block diagram of a flight module and its parts;

(5) FIG. 4 shows a schematic of a quadrocopter experiencing two rotor failures and the torques and forces used to explain the derivation of the control method;

(6) FIG. 5 shows a table with typical effector failures for a quadrocopter to illustrate the applicability of the present invention;

(7) FIG. 6 shows a block diagram for explaining an exemplary control architecture that can be used with the present invention;

(8) FIG. 7 shows schematics of three alternative multicopter experiencing various effector failures, where each resulting configuration can be controlled using the disclosed control method;

(9) FIG. 8 shows a flowchart for deciding on a suitable control method in case of effector failure;

(10) FIG. 9 shows a schematic of a quadrocopter with one failed effector, used to explain the derivation of the control method; and

(11) FIG. 10 shows a schematic of a quadrocopter with three failed effectors, used to explain the derivation of the control method.

DETAILED DESCRIPTION

(12) The disclosed invention relates to the control of motion of 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.

(13) 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 though 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.

(14) 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).

(15) In the present application failure affecting art 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, multicopter 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: 1. Failures due to collisions with obstacles due to piloting; errors or wind or turbulence. For example, during an inspection operation a sudden gust of wind pushes a multicopter into a bridge, resulting in an effector failure due to a broken propeller, and subsequent catastrophic loss of control and crash. 2. Failures of a multicopter's wiring. Examples of very common failures include: Unplugging of a motor connector due to vibrations. Detachment of a soldered wire. Loose wire cut by a propeller. Wire ripped off by partial motor attachment failure (shaking lose of fastening screw or material fatigue of assembly). Insufficient wire size and resulting overheating/melting of wire or solder attachment point. 3. Failures of a multicopter's propeller attachment, motor attachment or frame. The most common failures include: Loose screws and bolts (loosened by vibrations, assembly errors, wear-and-tear, material fatigue). Propellers attached in wrong configuration (counter-clockwise (sometimes called “puller” propellers) and clockwise propellers (sometimes called “pusher” propellers)). Overtightening of attachment screws. Undertightening of attachment screws. 4. Failures to properly balance all motors, to properly balance all propellers, and failures due to bent motor collets and shafts. This category is a main cause of vibrations and subsequent dislodging of parts, especially on larger multicopters. 5. Failures of a multicopter's motor. The most common failures result from over-loading of motors (e.g., too large propellers) and subsequent overheating or operation in dust or sand. 6. Failures of a multicopter's electrical or electronic components. The most common failure in this category flight in wet conditions such as rain, fog, or high humidity. 7. Failures of a multicopter's flight software. For example, improper programming of the flight control computer or improper motor gains for the aircraft weight. 8. Failures caused by improper remote control configurations, in particular reversed or improperly configured transmitter channels, or failure to ensure a strong enough signal between base station and receiver. 9. Failures caused by interference, most commonly interference between the electronic speed controls (also called “motor controller”) with the multicopter's receivers. 10. Failures due to bad payloads. 11. Failures due to a lack of or faulty sensor calibration. 12. Failures of a propeller due to material fatigue (e.g., fatigue cracks or stress fractures).

(16) 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.

(17) 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.

(18) 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 favorable way.

(19) 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.

(20) FIG. 1 shows an exemplary arrangement of a preferred embodiment for a quadrocopter 140 with three remaining working effectors 102, and one effector disabled by a failure 100, each effector in the form of a fixed-pitch propeller 104 driven by a motor 106. The multicopter 140 consists of effectors 102 and a body 112 comprising a mechanical structure 114. The mechanical structure 111 and multicopter body 112 also house sensors, cabling, electronics, and other components of the multicopter (none shown). The multicopter center of mass 120 is marked with a bi-colored circle. The propellers 104 spin about parallel drive axes of rotation 110, with the aerodynamic reaction drag torque of the propellers 104 resulting in a continuous rotation 118 of the entire multicopter body 112 about a primary axis 130. Two of the working propellers spin in one direction 108b, while the third spins in the opposite direction 108a. Although uncontrollable using the standard multicopter control method as known in the prior art, the disclosed invention can be applied to still control the multicopter, by causing it to spin about a primary axis 130 and controlling the orientation of this primary axis in a predefined reference frame 160. The figure also shows a target orientation of the primary axis 150, and a predefined reference frame 160. The effectors 102 are individually numbered one 102a, two 102b, three 102c and four 102d for convenience.

(21) 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.

(22) 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.

(23) 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.

(24) FIG. 2 shows a failure-free quadrocopter as known in the prior art, with two pairs of rigidly attached, fixed pitch propellers, one pair 108a rotating in the clockwise direction and the other pair 108b counterclockwise. Propellers typically have two, three, or four blades and are sometimes also called “rotary wings” or “rotors” and defined to also include all rotating parts of a motor used to move them. Multicopters are hover-capable multicopters with multiple propellers. Typical arrangements use four, six, or eight propellers, which are commonly referred to as quadrocopters, hexacopters, and octocopters, respectively, and are well known in the prior art and widely used. However, many variations including 16 and more propellers arranged in many configurations (e.g., with aligned as well as inclined or inverted axes arranged individually or contra-rotating exposed or encased in ducts or protective shrouds) are in use. Multicopters typically use fixed-pitch blades whose rotor pitch does not vary as the blades rotate for mechanical simplicity. This mechanical simplicity and the resulting ease of construction, combined with high agility and the ability to maintain position (hover) is make multicopter the platform of choice for many aerial applications.

(25) 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 propellers 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 (“dregrees 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 notion.

(26) FIG. 3 shows an example of a flight module for a multicopter that can be used as part of the disclosed control scheme. For multicopters, such a flight module is typically implemented on-board or both on-board and off-board (e.g., with a control unit 306 directly connected with the on-board motors but also receiving inputs via an input unit 304 from off-board sensors via an off-board sensing unit 310 such as a camera. tracking system). Flight modules are typically used to process vehicle inputs (e.g., user commands, sensor readings) and to compute outputs (e.g., control signal for effectors 314). For example, they allow active self-stabilization by generating control outputs for the flight effectors (e.g. the propellers 104) as well as for any other effectors or actuators. In multicopters, flight modules are used in various operating modes including remote control by an operator with a direct line of sight to the multicopter; controlled remotely by relaying sensor data to a pilot and relaying control signals back to the multicopter (sometimes referred to as “telepresence”); or in partial or fully autonomous modes of operation.

(27) 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.

(28) All of the above units may be in implemented on a single board, on a single board computer, or on a single microcontroller.

(29) Depending on the application, flight modules may be far more complex than the simple block diagram shown in FIG. 3 and may, in particular, comprise multiple input units 304, control units 306, evaluation units 308, sensing units 310, and memory units 312 arranged in a single block 302 or multiple blocks.

(30) FIG. 4(A) shows a quadrocopter with two opposing effectors disabled due to a failure 100, and two remaining, working, effectors spinning in the same sense 108b. During hover operation and utilising the present invention, the forces and torques create a continuous rotation of the multicopter body about the primary axis 130. A coordinate system is defined fixed with respect to the multicopter's body, consisting of the directions x, y and z, where z is chosen for this case shell that it coincides with the primary axis 130, and x lies perpendicular to z and points from the center of mass 120 to the first effector. y follows from the right-hand-rule. The three instantaneous rates of rotation for the multicopter, p, q, r are defined about the multicopter body-fixed axes x, y, z, respectively.

(31) As illustrated, the multicopter body has an instantaneous angular velocity ω.sup.B, that is nominally aligned with the primary axis 130, but may deviate in direction and magnitude during corrective or commanded motion.

(32) The rotation of this body fixed frame with respect to some inertial coordinate flame is described by the rotation matrix R, governed the differential equation
{dot over (R)}=R[[ω.sup.Bx]]  (1)
where ω.sup.B=(p, q, r) is the angular velocity of the multicopter as shown with its components in FIG. 4(D), expressed in the coordinate system fixed to the multicopter body, and [[ω.sup.Bx]] is the matrix form of the cross product, such that

(33) ω R × = [ 0 - r q r 0 - p - q p 0 ] . ( 2 )

(34) The orientation, or direction, z of the primary axis 130 in the inertial coordinate frame, can be expressed as

(35) z = R T [ 0 0 1 ] , ( 3 )
such that the differential equation of the orientation cart be found with (1):

(36) z . = R [ 0 - r q r 0 - p - q p 0 ] [ 0 0 1 ] = R [ q - p 0 ] . ( 4 )
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.

(37) Each effector i has a single commandable degree of freedom (here also referred to as a single variable), and produces a thrust force vector ƒ.sub.T.sub.i (FIG. 4(C)) and a torque vector τ.sub.i about the multicopter's center of mass 120 (FIG. 4(B)), where the torque vector consists of the moment of the thrust force vector and includes aerodynamic reaction drag torque acting to oppose the propeller's rotation. Additionally, the multicopter's weight mg acts on the multicopter, and there exists an aerodynamic drag torque τ.sub.d acting to oppose the multicopter's angular velocity.

(38) The differential equation governing the evolution the angular velocity of a body with rotating effectors is given by

(39) I B ω . B = .Math. j τ j - ω B × ( I B ω B + .Math. i I R i ( ω B + ω R i ) ) . ( 5 )
where ω.sup.R.sup.i is the rotation rate vector of effector i, I.sup.B is the inertia matrix of the multicopter body, expressed in the body-fixed coordinate system; I.sup.R.sup.i is the inertia matrix of effector i; and τ.sub.j includes the torque vector of each rotor i acting through the multicopter's center of mass 120, and any other torques acting on the multicopter (such as aerodynamic drag torque on the multicopter). Note that the inertia of the body is taken to include any components rigidly attached to the body, such as the multicopter structure, control units, sensors.

(40) 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 stun 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.

(41) FIG. 4(B) shows the torque vectors τ.sub.i by each of the two remaining colors on the multicopter's center of mass 120, and their components perpendicular to the primary axis 130.

(42) FIG. 4(C) shows the thrust force vectors ƒ.sub.T.sub.i produced by each of the remaining rotors on the multicopter's center or mass 120, and their components acting in the direction of the primary axis 130. The figure also shows the weight of the multicopter mg. By orienting the multicopter's primary axis 130, and through the sum of the propeller's thrust force vectors, a total force is achieved. This total force can be oriented in a target direction by the mechanism of orienting the primary axis 130 as described above.

(43) 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. The mass distribution of the multicopter body is such that the principle axes of inertia coincide with x, y and z, such that the inertia matrix I.sup.B is diagonal, with the components

(44) I B = [ I X B 0 0 0 I Y B 0 0 0 I Z B ] . ( 6 ) The effectors are propellers, mounted along the x axis of the body, each at a distance of l from the multicopter's center of mass 120. The effectors are identical propellers, have a mass negligible when compared to that of the quadrocopter, have a diagonal inertia matrix I.sup.R whose magnitude is negligible compared to that of the multicopter body and rotate around axes parallel to the primary axis 130.

(45) I R = [ I X B 0 0 0 I Y B 0 0 0 I Z B ] . ( 7 ) The magnitude of the angular velocity of the multicopter body is negligible when compared to the magnitude of the angular velocity of either propeller. The force vectors produced by the propellers ƒ.sub.T.sub.i are parallel, and parallel to the multicopter primary axis 130 as illustrated in FIG. 4(C), such that they can be expressed in the body-fixed coordinate frame as

(46) f T i = [ 0 0 f T i ] ( 8 )
(note the distinction between vector ƒ.sub.T.sub.i and the scalar ƒ.sub.T.sub.i). The only other force assumed to act on the multicopter is its weight mg. The components of the torque vectors produced by the propellers, acting through the multicopter's center of mass 120 and perpendicular to the primary axis 130, are colinear with and parallel to y as illustrated in FIG. 4(B). It is assumed that the component acting perpendicular to the primary axis 130 is exclusively due to the moment of the propeller's thrust vector force ƒ.sub.T.sub.i acting at the distance l from the center of mass 120, and that there is no torque component in the direction of x. The component of the torque parallel to the primary axis 130 is τ.sub.i∥ and is caused by the aerodynamic reaction drag torque to oppose the rotation of the propeller. Thus, the propellers' torque vectors expressed in the body fixed frame are:

(47) 0 τ 1 = [ 0 - lf T 1 τ 1 || ] , τ 3 = [ 0 lf T 3 τ 3 || ] . ( 9 ) The components of the aerodynamic drag torque τ.sub.d acting to oppose the multicopter's sense of rotation will be assumed to act only parallel to z, such that τ.sub.d=(0, 0, −τ.sub.d) (note the distinction between the vector τ.sub.d and the scalar τ.sub.d).

(48) 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 ω.sup.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).

(49) Referring to (5), the angular velocity of rotor i with respect to the multicopter body, and expressed in the body-fixed frame, is ω.sup.R.sup.i=(0, 0, ω.sup.R.sup.i) (note again the distinction between the vector ω.sup.R.sup.i and scalar ω.sup.R.sup.i).

(50) The left hand side of (5) contains the angular acceleration, and simplifies to

(51) I B ω . B = [ I X B p . I Y B q . I Z B r . ] . ( 10 )
The orientation of the multicopter is to be controlled through the angular velocity components p and q

(52) 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

(53) .Math. j τ j = [ 0 l ( - f T 1 + f T 3 ) - τ d + τ 1 || + τ 3 || ] . ( 11 )

(54) 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

(55) ω B × ( I B ω B + .Math. i = { 1 , 3 } I R ( ω B + ω R i ) ) .Math. [ ( I Z B - I Y B ) qr + I Z R ( ω R 1 + ω R 3 ) q - ( I Z B - I X B ) pr + I Z R ( ω R 1 + ω R 3 ) p ( I Y B - I X B ) pq ] ( 12 )

(56) From the above, writing out (5) in its components yields the three scalar differential equations
I.sub.X.sup.B{dot over (p)}=((I.sub.Y.sup.B−I.sub.Z.sup.B)r−I.sub.Z.sup.R(ω.sup.R.sup.1+ω.sup.R.sup.3))q   (13)
I.sub.Y.sup.B{dot over (q)}=((I.sub.Z.sup.B−I.sub.X.sup.B)r+I.sub.Z.sup.R(ω.sup.R.sup.1+ω.sup.R.sup.3))p+ . . . (−ƒ.sub.T.sub.1+ƒ.sub.T.sub.3)l   (14)
I.sub.Z.sup.B{dot over (r)}=(I.sub.X.sup.B−I.sub.Y.sup.B)pq+τ.sub.1∥+τ.sub.3∥−τ.sub.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.

(57) 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) 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. 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 multicopter, this means that the above effect can be actively exploited for their control rather than counteracted or otherwise compensated for.

(58) Furthermore, this orientation can be maintained by bringing the angular velocity components p and q to zero, and commanding the propellers such that ƒ.sub.T.sub.1=ƒ.sub.T.sub.3 is such that {dot over (p)}=0 and {dot over (q)}=0 by (13) and (14), respectively. The multicopter's angular velocity will then point along the primary axis 130 and the orientation will be constant.

(59) The component of the multicopter's angular velocity along the primary axis 130, r, will be dominated by the torques τ.sub.i∥ and the drag torque τ.sub.d. Since the drag torque will typically monotonically increase with r, there will be an imbalance in τ.sub.1∥+τ.sub.3∥−τ.sub.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 ƒ.sub.T.sub.i and the aerodynamic reaction drag torque τ.sub.i∥.

(60) A translational acceleration of the multicopter can now be effected, by using the difference of two forces ƒ.sub.T.sub.1 and ƒ.sub.T.sub.3 to attain and maintain an orientation of the primary axis, and using the sum of the two propeller thrust forces to achieve a resultant, force acting on the body. Specifically, a target thrust force magnitude can be achieved with ƒ.sub.T.sub.1 and ƒ.sub.T.sub.2.

(61) 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.

(62) 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.

(63) 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.

(64) FIG. 5 shows examples of effectors disabled due to a failure 100 for a standard quadrocopter, with all propellers having parallel axes of rotation, and with propellers opposing one another having the same sense of rotation, and adjacent propellers having the opposite senses of rotation. Effectors disabled due to a failure are indicated by a large “X” above the concerned effector. Standard multicopter control methods can not control a multicopter having a failed propeller as they are then no longer able to independently produce angular accelerations in all axes.

(65) FIG. 5(a) shows a quadrocopter with a single propeller completely disabled by failure. Multicopter control can be regained by applying the disclosed method, but the multicopter is not controllable using standard multicopter control.

(66) FIG. 5(b) shows a quadrocopter with two opposing propellers completely disabled by a failure. Multicopter control can be regained by applying the disclosed method, but the multicopter is not controllable using standard multicopter control.

(67) FIG. 5(c) shows a quadrocopter with two adjacent propellers disabled due to a failure. Multicopter control can be regained by applying the disclosed method, but the multicopter is not controllable using standard multicopter control.

(68) FIG. 5(d) shows a quadrocopter with three propellers disabled due to a failure. Multicopter control can be regained by applying the disclosed method, but the multicopter is not controllable using standard multicopter control.

(69) FIG. 5(e) shows a quadrocopter with four propellers disabled due to a failure. The quadrocopter is not controllable.

Exemplary Control Architecture

(70) FIG. 6 shows an exemplary implementation of the disclosed method on a flying multicopter, where the method is broken down into an outer 602 and an inner 604 control loop. Other implementations of the disclosed method will be apparent to those skilled in the arts. A high level goal 610 is given by a user and is sent to a translational controller 612. High level sensors 614, such as GPS sensors and onboard vision systems send measurements to a translational state estimator 616, which estimates the multicopter's translational state and sends this estimate to the translational controller. The translational controller generates a target translational acceleration of the body in order to achieve the high level goal.

(71) 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.

(72) FIG. 7 shows alternative layouts of multicopters, with various effectors disabled due to failures, all of which are still controllable by using the disclosed invention. Specifically, FIG. 7(A) shows a multicopter with eight effectors, arranged in pairs of two, where two opposing pairs of effectors have completely failed, and wherein the resulting configuration is still controllable using the disclosed invention. FIG. 7(B) shows a multicopter with eight effectors, arranged symmetrically about the centre of mass and with alternating senses of rotation, where five adjacent effectors, have completely failed, and wherein the resulting configuration is still controllable using the disclosed invention. FIG. 7(C) shows a multicopter with eight effectors, arranged in an H-configuration with four effectors on each side, where all four of the effectors on one side have completely failed, and wherein the resulting configuration is still controllable using the disclosed invention.

(73) FIG. 8 shows an exemplary flowchart for deciding control method in case of a failure on a multicopter. After a failure 802, the system checks whether it can still produce torques 804. If it cannot, the multicopter is uncontrollable 812. If, however, the multicopter can produce torque, and all torques acting on the body can be made to sum to zero and furthermore torques can be produced in three independent directions 806, then the multicopter can be controlled using the standard multicopter control method as known in the prior art. If the standard multicopter control method cannot be used, then the multicopter can still be controlled with the disclosed invention 816.

(74) FIG. 9 shows a quadrocopter experiencing a single rotor failure, and utilising the present invention to control the multicopter. Without loss of generality, it is assumed that effectors 1 through 3 are still operational, and that effector 4 has been disabled due to a failure 100. Effectors 1 and 3 rotate in the same direction 108b, while effector 2 rotates in the opposite direction 108a The thrust forces ƒ.sub.T.sub.1, ƒ.sub.T.sub.2 and ƒ.sub.T.sub.3 point in the same direction, along the body z axis as shown in FIG. 9(C), and the respective torque vectors as shown in FIG. 9(B). The imbalance of the torques produced by the propellers causes the multicopter to rotate with angular velocity ω.sup.B such that a drag torque acting on the body τ.sub.d acts to balance the propeller torques. The present invention is used to control the multicopter's angular velocity to lie along the primary axis 130, while a target orientation of the primary axis 150 with respect to an inertial frank is attained.

(75) 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 FIG. 4, and to the notation introduced for FIG. 4. Let I.sup.B be the inertia matrix of the multicopter, expressed in the body frame, such that

(76) I B = [ I X B 0 0 0 I X B 0 0 0 I Z B ] , ( 16 )
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, ω.sup.B=(p, q, r) represents the multicopter body's angular velocity expressed in the body frame, as shown in FIG. 9(D).

(77) Each rotor i produces a thrust force vector ƒ.sub.T.sub.1, expressed in the body frame as ƒ.sub.T.sub.i=(0, 0, ƒ.sub.T.sub.i). Furthermore, each rotor i produces a torque vector, passing through the centre of mass 120, which are expressed in the body frame as

(78) τ 1 = [ 0 - lf T 1 τ z 1 ] , τ 2 = [ lf T 2 0 τ z 2 ] , τ 3 = [ 0 lf T 3 τ z 3 ] . ( 17 )
For simplicity, it will be assumed that the components τ.sub.z.sub.i are proportional to the thrust force, such that τ.sub.z.sub.1=κƒ.sub.T.sub.i. An aerodynamic torque τ.sub.D is also acting on the body, assumed for simplicity here to act only in the direction of z, and proportional to r such that τ.sub.D=(0, 0, −C.sub.Dr). The differential equation governing the evolution of the body rates can now be written as
I.sup.B{dot over (ω)}.sup.B=−[[ω.sup.Bx]]I.sup.Bω+τ.sub.1+τ.sub.2+τ.sub.3τ.sub.D   (18)
which can be expanded and rewritten to yield the following three differential equations:

(79) p . = I X B - I Z B I x B qr + l I X B f T 2 ( 19 ) q . = - I X B - I Z B I x B pr + l I X B ( f T 3 - f T 1 ) ( 20 ) r . = κ ( f T 1 - f T 2 + f T 1 ) - C D r . ( 21 )

(80) Let n=(n.sub.x, n.sub.y, n.sub.z) be a unit vector fixed in the inertial frame. This vector evolves according to the differential equation
{dot over (n)}=−[[ωx]]n.   (22)
The goal is to now find the set of commanded forces ƒ.sub.T.sub.i that result in a steady rotational rate ω and a steady n, such that n then describes the primary axis 130 expressed in the body frame. This implies that {dot over (ω)}=0 and that it {dot over (n)}=0. From (22) this implies that n=ϵω, where ϵ.sup.−1=∥ω∥ such that n is a unit vector.

(81) This yields a set of seven algebraic equations with ten scalar unknowns to solve for (p, w, r, n.sub.x, n.sub.y, n.sub.z, ƒ.sub.T.sub.1, ƒ.sub.T.sub.2, ƒ.sub.T.sub.3, ϵ). This can be resolved by adding three additional constraints, for example: let the first and third effector produce an equal force in steady state, that, is
ƒ.sub.T.sub.1=ƒ.sub.T.sub.3   (23)
and let the second propeller produce half the thrust of the third propeller such that
ƒ.sub.T.sub.2=ƒ.sub.T.sub.1/2   (24)
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
(ƒ.sub.T.sub.1+ƒ.sub.T.sub.2+ƒ.sub.T.sub.3)n.sub.z=mg   (25)
This leaves a set of ten algebraic equations in ten unknowns, from which the steady-state rotational velocity ω.sup.B, the direction of the primary axis 130 in the body frame n and the steady state thrust forces ƒ.sub.T.sub.i can be calculated. It is desirable that the thrust forces ƒ.sub.T.sub.i are relatively large, i.e. far from zero. The present method of controlled flight allows a person skilled in the arts to choose target steady state thrust values where the propellers and motors have favourable characteristics.

(82) 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.

(83) Note that because the second effector produces significant thrust in steady state ƒ.sub.T.sub.2>0, the multicopter's centre of mass will not be stationary, but will instead continuously circle about an orbit. This 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.

(84) 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 FIG. 4 to be applied for control. However, this would then require that each propeller must produce half the multicopter's weight to maintain the multicopter's altitude, while with three propellers the fraction of weight that each remaining propeller carries will be closer to a third, making this a more attractive option. The present invention allows a person skilled in the arts to choose either of these two options.

(85) FIG. 10 shows a quadrocopter experiencing three rotor failures, and utilising the present invention to control the multicopter using the single remaining propeller. Without loss of generality, it is assumed that effector 1 is still operational, and that effectors 2, 3 and 4 have been disabled by a failure 100. The thrust force ƒ.sub.T.sub.1, points along the body z axis as shown in FIG. 10(C), and the respective torque vector as shown in FIG. 10(B). The imbalance of the torque produced by the propeller causes the multicopter to rotate with angular velocity ω.sup.B such that a drag torque acting on the body τ.sub.d acts to balance the propeller torques. The present invention is used to control the multicopter's angular velocity to lie along the primary axis 130, while a target orientation of the primary axis 150 with respect to an inertial frame is attained.

(86) 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 FIG. 4, and FIG. 4. Let I.sup.B be the inertia matrix of the multicopter, expressed in the body frame, such that

(87) I B = [ I X B 0 0 0 I X B 0 0 0 I Z B ] , ( 26 )
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, ω.sup.B=(p, q, r) represents the multicenter body's angular velocity expressed in the body frame, as shown in FIG. 10(D).

(88) The rotor produces a thrust force vector ƒ.sub.T.sub.1, expressed in the body frame as ƒ.sub.T.sub.1=(0, 0, ƒ.sub.T.sub.1). Futhermore, the rotor produces a torque vector, passing through the centre of mass 120, which is expressed in the body frame as

(89) τ 1 = [ 0 - lf T 1 τ z 1 ] , ( 27 )
For simplicity, it will be assumed that the component τ.sub.z.sub.1 is proportional to the thrust force, such that τ.sub.z.sub.1=κƒ.sub.T.sub.1. An aerodynamic torque τ.sub.D is also acting on the body, assumed for simplicity here to act only in the direction of z, and proportional to r such that τ.sub.D=(0, 0, −C.sub.Dr), The differential equation governing the evolution of the body rates can now be written as
I.sup.B{dot over (ω)}.sup.B=−[[ω.sup.Bx]]I.sup.Bω+τ.sub.1+τ.sub.D   (28)
which can be expanded and rewritten to yield the following three differential equations:

(90) p . = I X B - I Z B I x B qr ( 29 ) q . = - I X B - I Z B I x B pr + l I X B f T 1 ( 30 ) r . = κf T 1 - C D r . ( 31 )

(91) Let n=(n.sub.x, n.sub.y, n.sub.z) 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)}=−[[ωx]]n.   (32)
The goal is to now find the commanded force ƒ.sub.T.sub.1 that results in a steady rotational rate ω and a steady n, such that n then describes the primary axis 130 expressed in the body frame. This implies that {dot over (ω)}=0 and that {dot over (n)}=0. From (32) this implies that n=ϵω, where ϵ.sup.−1=∥ω∥ such that n is a unit vector.

(92) This yields a set of algebraic Equations with scalar unknowns to solve for (p, q, r, n.sub.x, n.sub.y, n.sub.z, ƒ.sub.T, ϵ). This can be resolved by adding one additional constraint, specifically that the thrust force be able to balance the weight of the multicopter mg:
ƒ.sub.T.sub.1n.sub.z=mg.   (33)
This leaves a set of eight algebraic equations in eight unknowns, from which the steady-state rotational velocity ω.sup.B, the direction of the primary axis 130 in the body frame n and the steady state thrust force ƒ.sub.T.sub.1 can be calculated.

(93) 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.

(94) The low frequency component of ƒ.sub.T.sub.1 can be used to achieve the target thrust when averaged over a predefined period, while the high frequency component, can be used to control the orientation of the primary axis.

(95) 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.

(96) Note that, in the preceding, the primary rotation is not necessarily about a principle axis of inertia.

(97) 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 limning sense.

(98) TABLE-US-00001 TABLE OF SYMBOLS AND FIG. 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 primary 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. α Target acceleration f.sub.des Target thrust force magnitude f.sub.Di Rotor drag force vectors of rotor i f.sub.Ti Rotor thrust force vectors of rotor i f.sub.Ti 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 p, q Components of the angular acceleration I.sup.B Inertia matrix f.sub.Ti Thrust force vectors I.sup.B Inertia matrix of the multicopter body I.sup.R.sub.i Inertia matrix of propeller i n Orientation of the primary axis R Rotation matrix x, y, z Axes of the coordinate system τ.sub.i Torque vector τ.sub.i|| Torque vector component parallel to the primary axis τ.sub.i⊥ Torque vector component perpendicular to the primary axis τ.sub.d Aerodynamic torque (scalar) τ.sub.d Aerodynamic torque (vector) τ.sub.i Torque vector of rotor i ω.sup.B Angular velocity of the body ω.sup.V Angular velocity of the multicopter in an inertial frame ω.sup.R.sub.i Angular velocity of rotor i with respect to the multi- copter body (scalar) ω.sup.R.sub.i Angular velocity of rotor i with respect to the multi- copter body (vector)