Multi-thrustered hover craft
AssigneeWallace Neil Klingensmith
InventorWallace Neil Klingensmith
Life of this patent
Estimating the term…
Abstract
A feedback control system for a multi-thrusted hovercraft is disclosed. In a hover craft having a plurality of vertically oriented thruster that are controlled by a system that relies on operator input and also the use of sensors to control the altitude and attitude of the hovercraft. A set of simultaneous equations is constructed and solved to reconcile the demands placed on the thrusters to maintain altitude and attitude of the hovercraft.
Claims4
A method for forcing the altitude of a flying or hovering craft having three or more thrusters to an arbitrary operator-commanded altitude value, the method comprising:
- determination of discrete points in time tk−1, tk, tk+1, each point in time being separated by a fixed time interval Δt;
- determination, at the time point tk, of the value of the state variable {dot over (x)}2 representing vertical acceleration of the craft, the vertical acceleration being measured by sensors located on the craft;
- determination, at the time point tk, of the value of the state variable X2 representing vertical velocity of the craft, the vertical velocity being measured, or computed as the vertical velocity at the previous time point tk−1, plus the vertical acceleration at the previous time point multiplied by the time interval Δt;
- determination, at the time point tk, of the value of the state variable X1 representing the actual altitude of the craft;
- determination, at the time point tk, of the altitude error of the craft, the error being computed as the difference between the actual altitude hactual and the operator-commanded altitude hdesired as herror=hactual−hdesired;
- computation, at the time point tk, of state feedback gains K1 and K2;
- computation, at the time point tk, of the vertical component ν of the normal vector to the principal plane of the vehicle, said vertical component being ν=cos (θ1actual)*cos (θ2actual), and θ1actual and θ2actual being the actual values of roll angle about axis 1 and axis 2 respectively;
- computation, at the time point tk, of the vertical acceleration uk which will restore the altitude to its operator-commanded value, said acceleration being calculated as the difference uk=−k1*[herror]k−1−k2└X2┘k−1;
- computation, at the time point tk, of the total thrust Tsum which will create the vertical acceleration required to restore the altitude to its operator-commanded value, said total thrust being calculated as T sum = { u k + g } ⋆ m v ,
- m being the total mass of the craft, and g being the gravitational acceleration;
- update of the altitude state variables for use in the state calculations at the next time point, specifically [X1]k−1]=[X1]k, [X2]k−1=[X2]k, [{dot over (X)}2]k−1=[{dot over (X)}2]k;
- application of the computed total thrust to the control of the thrusters to maintain the desired altitude.
A method for forcing the axis-1 roll angle of a flying or hovering craft having three or more thrusters to an arbitrary operator-commanded roll value, the method comprising:
- determination of discrete points in time tk−1, tk, tk+1, each point in time being separated by a fixed time interval Δt;
- determination, at the time point tk, of the value of the state variable {dot over (X)}4 representing roll angle acceleration of the craft about axis 1 passing through the mass centroid of the craft, the roll angle acceleration being measured by sensors located on the craft;
- determination, at the time point tk, of the value of the state variable X4 representing roll velocity of the craft about axis 1, the roll velocity being measured, or computed as the roll velocity at the previous time point tk−1, plus the roll acceleration at the previous time point multiplied by the time interval Δt;
- determination, at the time point tk, of the value of the state variable X3=θactual representing roll angle of the craft about axis 1, the roll angle being measured, or computed as the roll angle at the previous time point tk−1, plus the roll velocity at the previous time point multiplied by the time interval Δt;
- determination, at the time point tk, of the value of the roll angle error θe of the craft about axis 1, the error being computed as the difference between the actual roll angle θactual and the operator-commanded roll angle θdesired as θe=θactual−θdesired;
- computation, at the time point tk, of state feedback gains K11, K12, K21, and K22 for axis 1;
- computation, at the time point tk, of the thrust difference Tdiff1 about axis 1 which will restore the axis 1 roll value to its operator-commanded value, said thrust difference being calculated as the difference { [ k 11 ] ⋆ [ θ e ] k - 1 + [ k 12 ] ⋆ [ X 4 ] k - 1 } ⋆ L T1 J - { [ k 21 ] ⋆ [ θ e ] k - 1 + [ k 22 ] ⋆ [ X 4 ] k - 1 } ⋆ L T2 J ;
- where J is the rotational moment of the craft about the axis, and LT1 and LT2 represent either the actual lateral distance of the thrusters from the axis, or the equivalent lateral distances of two equivalent single thrusters located on opposite sides of the axis;
- update of the axis 1 state variables for use in the state calculations at the next time point, specifically [X3]k−1=[X3]k, [X4]k−1=[X4]k, [ X . 4 ] k - 1 = [ X . 4 ] k .
- applying the computed thrust differences to the control of the thrusters to maintain the desired roll value.
A method for forcing the axis-2 roll angle of a flying or hovering craft having three or more thrusters to an arbitrary operator-commanded roll value, the method comprising:
- determination of discrete points in time tk−1, tk, tk+1, each point in time being separated by a fixed time interval Δt;
- determination, at the time point tk, of the value of the state variable {dot over (X)}6representing roll angle acceleration of the craft about axis 2 passing through the mass centroid of the craft, the roll angle acceleration being measured by sensors located on the craft;
- determination, at the time point tk, of the value of the state variable X6 representing roll velocity of the craft about axis 2, the roll velocity being measured, or computed as the roll velocity at the previous time point tk−1, plus the roll acceleration at the previous time point multiplied by the time interval Δt;
- determination, at the time point tk, of the value of the state variable X5=θactual representing roll angle of the craft about axis 2, the roll angle being measured, or computed as the roll angle at the previous time point tk−1, plus the roll velocity at the previous time point multiplied by the time interval Δt;
- determination, at the time point tk, of the value of the roll angle error θe of the craft about axis 2, the error being computed as the difference between the actual roll angle θactual and the operator-commanded roll angle θdesired as θe=θactual−θdesired;
- computation, at the time point tk, of state feedback gains K11, K12, K21, and K22 for axis 2;
- computation, at the time point tk, of the thrust difference Tdiff2 about axis 2 which will restore the axis 2 roll value to its operator-conunanded value, the magnitude of said thrust difference being calculated as the difference { [ k 11 ] ⋆ [ θ e ] k - 1 + [ k 12 ] ⋆ [ X 6 ] k - 1 } ⋆ L T1 J - { [ k 21 ] ⋆ [ θ e ] k - 1 + [ k 22 ] ⋆ [ X 6 ] k - 1 } ⋆ L T2 J ;
- where J is the rotational moment of the craft about the axis, and LT1 and LT2 represent either the actual lateral distance of the thrusters from the axis, or the equivalent lateral distances of two equivalent single thrusters located on opposite sides of the axis;
- update of the axis 2 state variables for use in the state calculations at the next time point, specifically [X5]k−1=[X5]k, [X6]k−1=[X6]k, [ X . 6 ] k - 1 = [ X . 6 ] k .
- applying the computed thrust differences to the control of the thrusters to maintain the desired roll value.
A method for integrating and combining the altitude control, axis-1 roll control, and axis-2 roll control of a flying or hovering craft having three or more thrusters to arbitrary operator-commanded values and comprising:
- determination of discrete points in time tk−1, tk, tk+1, each point in time being separated by a fixed time interval Δt;
- determination, at the time point tk, of the value of the state variable {dot over (x)}2 representing vertical acceleration of the craft, the vertical acceleration being measured by sensors located on the craft;
- determination, at the time point tk, of the value of the state variable X2 representing vertical velocity of the craft, the vertical velocity being measured, or computed as the vertical velocity at the previous time point tk−1, plus the vertical acceleration at the previous time point multiplied by the time interval Δt;
- determination, at the time point tk, of the value of the state variable X1 representing the actual altitude of the craft;
- determination, at the time point tk, of the altitude error of the craft, the error being computed as the difference between the actual altitude hactual and the operator-commanded altitude hdesired as herror=hactual−hdesired;
- computation, at the time point tk, of state feedback gains K1 and K2;
- computation, at the time point tk, of the vertical component ν of the normal vector to the principal plane of the vehicle, said vertical component being ν=cos (θ1actual)*cos (θ2actual), and θ1actual and θ2actual being the actual values of roll angle about axis 1 and axis 2 respectively;
- computation, at the time point tk, of the vertical acceleration uk which will restore the altitude to its operator-commanded value, said acceleration being calculated as the difference uk=−k1*[herror]k−1−k2└X2┘k−1;
- computation, at the time point tk, of the total thrust Tsum which will create the vertical acceleration required to restore the altitude to its operator-commanded value, said total thrust being calculated as T sum = { u k + g } * m v ,
- m being the total mass of the craft, and g being the gravitational acceleration;
- update of the altitude state variables for use in the state calculations at the next time point, specifically [X1]k−1]=[X1]k, [X2]k−1]=[X2]k, [{dot over (X)}2]k−1]=[{dot over (X)}2]k;
- application of the computed total thrust to the control of the thrusters to maintain the desired altitude;
- determination, at the time point tk, of the value of the state variable {dot over (X)}4 representing roll angle acceleration of the craft about axis 1 passing through the mass centroid of the craft, the roll angle acceleration being measured by sensors located on the craft;
- determination, at the time point tk, of the value of the state variable X4 representing roll velocity of the craft about axis 1, the roll velocity being measured, or computed as the roll velocity at the previous time point tk−1, plus the roll acceleration at the previous time point multiplied by the time interval Δt;
- determination, at the time point tk, of the value of the state variable X3=θactual representing roll angle of the craft about axis 1, the roll angle being measured, or computed as the roll angle at the previous time point tk−1, plus the roll velocity at the previous time point multiplied by the time interval Δt;
- determination, at the time point tk, of the value of the roll angle error θe of the craft about axis 1, the error being computed as the difference between the actual roll angle θactual and the operator-commanded roll angle θdesired as θe=θactual−θdesired;
- computation, at the time point tk, of state feedback gains K11, K12, K21, and K22 for axis 1;
- computation, at the time point tk, of the thrust difference Tdiff1 about axis 1 which will restore the axis 1 roll value to its operator-commanded value, the magnitude of said thrust difference being calculated as the difference { [ k 11 ] * [ θ e ] k - 1 + [ k 12 ] * [ X 4 ] k - 1 } * L T1 J - { [ k 21 ] * [ θ e ] k - 1 + [ k 22 ] * [ X 4 ] k - 1 } * L T2 J
- where J is the rotational moment of the craft about the axis, and LT1 and LT2 represent either the actual lateral distance of the thrusters from the axis, or the equivalent lateral distances of two equivalent single thrusters located on opposite sides of the axis;
- update of the axis 1 state variables for use in the state calculations at the next time point, specifically [X3]k−1=[X3]k, [X4]k−1=[X4]k, [{dot over (X)}4]k−1=[{dot over (X)}4]k;
- application of the computed thrust differences to the control of the thrusters to maintain the desired roll value.
- determination, at the time point tk, of the value of the state variable {dot over (X)}6representing roll angle acceleration of the craft about axis 2 passing through the mass centroid of the craft, the roll angle acceleration being measured by sensors located on the craft;
- determination, at the time point tk, of the value of the state variable X6 representing roll velocity of the craft about axis 2, the roll velocity being measured, or computed as the roll velocity at the previous time point tk−1, plus the roll acceleration at the previous time point multiplied by the time interval Δt;
- determination, at the time point tk, of the value of the state variable X5=θactual representing roll angle of the craft about axis 2, the roll angle being measured, or computed as the roll angle at the previous time point tk−1, plus the roll velocity at the previous time point multiplied by the time interval Δt;
- determination, at the time point tk, of the value of the roll angle error θe of the craft about axis 2, the error being computed as the difference between the actual roll angle θactual and the operator-commanded roll angle θdesired as θe=θactual−θdesired;
- computation, at the time point tk, of state feedback gains K11, K12, K21, and K22 for axis 2;
- computation, at the time point tk, of the thrust difference Tdiff2 about axis 2 which will restore the axis 2 roll value to its operator-conunanded value, the magnitude of said thrust difference being calculated as the difference { [ k 11 ] * [ θ e ] k - 1 + [ k 12 ] * [ X 6 ] k - 1 } * L T1 J - { [ k 21 ] * [ θ e ] k - 1 + [ k 22 ] * [ X 6 ] k - 1 } * L T2 J
- where J is the rotational moment of the craft about the axis, and LT1 and LT2 represent either the actual lateral distance of the thrusters from the axis, or the equivalent lateral distances of two equivalent single thrusters located on opposite sides of the axis;
- update of the axis 2 state variables for use in the state calculations at the next time point, specifically [X5]k−1=[X5]k, [X6]k−1=[X6]k, [{dot over (X)}6]k−1=[{dot over (X)}6]k;
- application of the computed thrust differences to the control of the thrusters to maintain the desired roll value;
- constructing a linear equation relating the thrust difference Tdiff1 about axis 1 required for driving the roll angle about axis 1 to the operator-commanded roll angle, said equation being s11T1+s12T2+s13T3+ . . . s1nTn=Tdiff1, and each of the n factors s1j in the equation representing either a positive or negative constant, whose sign (+ or −) depends on which side of axis 1 the thruster is positioned on, and whose magnitude is a scaling factor related to the lateral distance of the thruster from the roll axis;
- constructing a linear equation relating the thrust difference Tdiff2 about axis 2 required for driving the roll angle about axis 2 to the operator-commanded roll angle, said equation being s21T2+s22T2+s23T3+ . . . s2nTn=Tdiff2, and each factor of the n factors s2j in the equation representing either a positive or negative constant, whose sign (+ or −) depends on which side of axis 2 the thruster is positioned on, and whose magnitude is a scaling factor related to the lateral distance of the thruster from the roll axis;
- constructing a linear equation relating the thrust sum Tsum to the sum of the n thrusts required for driving the altitude of the craft to the operator-commanded altitude, said equation being T1+T2+T3+ . . . Tn=Tsum;
- constructing additional linear equations, as necessary, that set the value of thrust Ti for one or more thrusters i at a fixed value ci, that value being given, for example, by T 4 = T sum 4 ,
- or some other value that provides a physically-sensible thrust Ti and which provides a full set of n equations corresponding to the n unknown thrusts;
- solving the resulting n linear equations given above to obtain the n individual thrusts that simultaneously drive the axis 1 roll value, the axis 2 roll value, and the altitude to their operator-commanded values, the set of simultaneous equations to be solved being given by:
- [ 1 1 - 1 - 1 1 - 1 1 - 1 1 1 1 1 1 0 0 0 ] [ T 1 T 2 T 3 T 4 ] = [ T diff 1 T diff 1 T sum T sum / 4 ] .
- applying the computed thrust differences and total thrusts to the control of the thrusters to maintain the desired altitude and roll value.
Dependencies are inferred from the claim text.