This invention relates to an aerial vehicle.
This invention relates to vectoring thrust.
Very generally, the term thrust vectoring relates to a manipulation of a direction of thrust produced by the engine(s) of a vehicle such as an airplane or rocket. One well known example of an aircraft that uses thrust vectoring is the Hawker Siddeley Harrier jet which uses thrust generated by its engine for both forward propulsion and vertical take-off and landing (VTOL) purposes. Another well known example of an aircraft that uses thrust vectoring is the Bell Boeing V-22 Osprey which uses thrust generated by two rotors for both forward propulsion and VTOL purposes.
In both the Hawker Siddeley Harrier jet and the Bell Boeing V-22 Osprey, thrust vectoring is accomplished by either redirecting thrust (e.g., using a thrust redirection nozzle) or by physically rotating the rotor(s) (e.g., changing an angle of one or more rotors relative to the inertial frame of reference).
Multi-rotor vehicles (e.g. quadcopters, hexacopters, octocopters) generally have motors rigidly mounted to the airframe and control vehicle motion by adjusting thrust of individual motors based on an idealized model of all motors generating thrust in the vertical direction. This makes for a system which can only be controlled in roll, pitch, yaw, and net thrust. Such a multi-rotor vehicle can move in space by holding a particular roll or pitch angle and varying the net thrust. This approach can lead to system instability as the vehicle hovers. Hover quality can be improved by controlling each axis independently of the vehicle's roll and pitch.
Approaches described herein employ thrusters which are mounted to a multi-rotor helicopter frame with dihedral and twist. That is, the thrust directions are fixed, and not all parallel. Each thruster generates an individual thrust line which is generally not aligned with the thrust lines of other thrusters. Free-body analysis yields the forces and moments acting on the body from each thruster. The forces and moments are summed together to produce a unique mapping from motor thrust to net body forces and moments. A desired input including roll, pitch, and yaw moments and forward, lateral, and vertical thrusts can be received and used to calculate the necessary change in motor thrusts, and thus by extension motor speeds, to achieve the desired input.
Approaches described herein use statically mounted thrusters to develop net thrusts (e.g., a net horizontal or vertical thrust) without changing the net roll, pitch, and yaw torques.
Approaches described herein use statically mounted thrusters to develop net moments without changing net thrusts generated by the motors.
In an aspect, in general, an aerial vehicle includes a body having a center and a number of spatially separated thrusters. The spatially separated thrusters are statically coupled to the body at locations around the center of the body and are configured to emit thrust along a number of thrust vectors. The thrust vectors have a number of different directions with each thruster configured to emit thrust along a different one of the thrust vectors. One or more of the thrust vectors have a component in a direction toward the center of the body or away from the center of the body.
Aspects may have one or more of the following features.
The thrust vectors may be emitted in six different directions. The thrust vectors may be emitted in eight different directions. The thrust vectors may be emitted in ten different directions. The thrusters may be distributed symmetrically about the center of the body. The thrusters may be distributed on a plane defined by the body.
All of the thrust vectors may have a shared primary component in a first direction. The first direction is may be a vertical direction. The aerial vehicle may include a controller configured to receive a control signal characterizing a desired spatial position for the aerial vehicle and a desired spatial orientation for the aerial vehicle, determine a net force vector and a net moment vector based on the received control signal, and cause the thrust generators to generate the net force vector and the net moment vector.
The controller may be further configured to cause the thrust generators to vary the net force vector while maintaining the net moment vector. The controller may be further configured to cause the thrust generators to vary the net moment vector while maintaining the net force vector. The body may include a number of spars and each thruster of the number of thrusters is statically coupled to an end of a different one of the spars.
Each thruster may include a motor coupled to a propeller. The motors of a first subset of the number of thrusters may rotate in a first direction and the motors of a second subset of the number of thrusters may rotate in a second direction, different from the first direction. The motors for all of the thrusters may rotate in a same direction. The motors of a first subset of the number of thrusters may have a first maximum rotational velocity and the motors of a second subset of the number of thrusters may have a second maximum rotational velocity, less than the first maximum rotational velocity. At least some of the thrusters may be coupled to the body at a dihedral angle relative to the body.
At least some thrusters may be coupled to the body at a twisted angle relative to the body. The aerial vehicle may include an imaging sensor coupled to the body. The aerial vehicle may include an aerodynamic body covering disposed on the body. The imaging sensor may be statically coupled to the body. The imaging sensor may be coupled to the body using a gimbal. The imaging sensor may include a still camera. The imaging sensor may include a video camera.
In some aspects, the aerial vehicle is configured to maintain a desired spatial orientation while at the same time generating a net thrust that varies in magnitude and/or direction). In some aspects, a sensor such as a still or video camera is statically coupled to the multi-rotor vehicle and an orientation of the vehicle is maintained such that the camera remains pointed in a given direction while the net thrust vector generated by the vehicle causes the vehicle to move in space.
Aspects may include one or more of the following advantages.
Among other advantages, approaches allow for a decoupling of the positional control of the multi-rotor helicopter from the rotational control of the multi-rotor helicopter. That is, the position of the multi-rotor helicopter can be controlled independently of the rotation of the multi-rotor helicopter.
Dynamic in-air stability is improved and the number of parts necessary to orient a camera at a given angle is reduced. This leads to cheaper, more robust models that perform better in a wide variety of conditions.
By using motors that all rotate in the same direction, the number of unique parts required to build the aerial vehicle is reduced, resulting in a reduced cost for the aerial vehicle.
Other features and advantages of the invention are apparent from the following description, and from the claims.
Referring to
Referring to
Due to the dihedral and twist mounting angles of the thrusters 106, the thrust vectors 112 are not simply perpendicular to the horizontal plane 214 defined by the rigid spars 104 of the multi-rotor helicopter 100. Instead, at least some of the thrust vectors have a direction with an oblique angle to the horizontal plane 214. The thrust force vectors,
Referring to
The rotational difference between the x, y, z and the ui, vi, wi coordinate systems for each of the n thrusters 106 can be expressed as a rotation matrix Ri. In some examples, the rotation matrix Ri can be expressed as the product of three separate rotation matrices as follows:
Ri=RiφRiθRiφ
where Riφ is the rotation matrix that accounts for the rotation of the ith spar relative to the x, y, z coordinate system, Riθ is the rotation matrix that accounts for the dihedral angle, θ relative to the x, y, z coordinate system, and Riφ is the rotation matrix that accounts for the twist angle, φ relative to the x, y, z coordinate system.
Very generally, multiplying an arbitrary vector in the ui, vi, wi coordinate system by the rotation matrix Ri results in a representation of the arbitrary vector in the x, y, z coordinate system. As is noted above, the rotation matrix Ri at the ith spar depends on the spar number, i, the dihedral angle, θ, and the twist angle, φ. Since each spar has its own unique spar number, i, dihedral angle, θ, and twist angle, φ, each spar has a different rotation matrix, Ri. One example of a rotation matrix for a second spar with a dihedral angle of 15 degrees and a twist angle of −15 degrees is
In general, the ith thrust vector 112 can be represented as a force vector, 113. The force vector, 113 generated by the ith thruster 106 extends only along the wi axis of the ui, vi, wi coordinate system for the ith thruster 106. Thus, the ith force vector 113 can be expressed as:
where fi represents the magnitude of the ith force vector 113 along the wi axis of the ui, vi, wi coordinate system. In some examples, fi is expressed as:
fi≈k1ωi2
where k1 is an experimentally determined constant and ωi2 is the square of the angular speed of the motor 108.
The components of ith force vector 113 in the x, y, z coordinate system can be determined by multiplying the ith force vector 113 by the ith rotation matrix Ri as follows:
where is a vector representation of the ith force vector 113 in the x, y, z coordinate system.
The moment due to the ith thruster 106 includes a motor torque component due to the torque generated by the thruster's motor 108 and a thrust torque component due to the thrust generated by the rotor 110 of the thruster 106. For the ith thruster 106, the motor rotates about the wi axis of the ui, vi, wi coordinate system, generating a rotating force in the ui, vi plane. By the right hand rule, the motor torque generated by the ith thruster's motor 108 is a vector having a direction along the wi axis. The motor torque vector for the ith thruster can be expressed as:
where
τi≈k2ωi2,
with k2 being an experimentally determined constant, and ωi2 being the square of the angular speed of the motor 108.
To express the motor torque vector in the x, y, z coordinate system, the motor torque vector is multiplied by the rotation matrix Ri as follows:
The torque due to the thrust generated by the rotor 110 of the ith thruster 106 is expressed as the cross product of the moment arm of the ith thruster 106 in the x, y, z coordinate system, and the representation of the ith force vector 113 in the x, y, z coordinate system, :
=×
where the moment arm is expressed as the length of the ith spar 104 along the ui axis of the ui, vi, wi coordinate system multiplied by the spar rotation matrix, Riφ.
The resulting moment due to the ith thruster 106 can be expressed as:
The force vectors in the x, y, z coordinate system, generated at each thruster 106 can be summed to determine a net thrust vector:
By Newton's second law of motion, a net translational acceleration vector for the multi-rotor helicopter 100 can be expressed as the net force vector in the x, y, z coordinate system, {right arrow over (Fxyz)} divided by the mass, in of the multi-rotor helicopter 100. For example, for a multi-rotor helicopter 100 with n thrusters, the net translational acceleration vector can be expressed as:
The moments in the x, y, z coordinate system, {right arrow over (Mixyz)} generated at each thruster 106 can be summed to determine a net moment:
By Newton's second law of motion, a net angular acceleration vector for the multi-rotor helicopter 100 can be expressed as the sum of the moments due to the n thrusters divided by the moment of inertia, J of the multi-rotor helicopter 100. For example, for a multi-rotor helicopter 100 with n thrusters, the net angular acceleration can be expressed as:
Based on the above model of the multi-rotor helicopter 100, it should be apparent to the reader that the magnitudes and directions of the overall translational acceleration vector and the overall angular acceleration vector can be individually controlled by setting appropriate values for the angular speeds, ωi for the motors 108 of each of the n thrusters 108.
Referring to
The control system 400 includes a first controller module 418, a second controller module 420, an angular speed to voltage mapping function 422, a plant 424 (i.e., the multi-rotor helicopter 100), and an observation module 426. The control signal 416, which is specified in the inertial frame of reference is provided to the first controller 418 which processes the control signal 416 to determine a differential thrust force vector, Δ and a differential moment vector, Δ, each specified in the frame of reference of the multi-rotor helicopter 100 (i.e., the x, y, z coordinate system). In some examples, differential vectors can be viewed as a scaling of a desired thrust vector. For example, the gain values for the control system 400 may be found using empiric tuning procedures and therefore encapsulates a scaling factor. For this reason, in at least some embodiments, the scaling factor does not need to be explicitly determined by the control system 400. In some examples, the differential vectors can be used to linearize the multi-rotor helicopter system around a localized operating point.
In some examples, the first controller 418 maintains an estimate of the current force vector and uses the estimate to determine the differential force vector in the inertial frame of reference, Δ as a difference in the force vector required to achieve the desired position in the inertial frame of reference. Similarly, the first controller 418 maintains an estimate of the current moment vector in the inertial frame of reference and uses the estimate to determine the differential moment vector in the inertial frame of reference, Δ as a difference in the moment vector required to achieve the desired rotational orientation in the inertial frame of reference. The first controller then applies a rotation matrix to the differential force vector in the inertial frame Δ to determine its representation in the x, y, z coordinate system of the multi-rotor helicopter 100, Δ. Similarly, the first controller 418 applies the rotation matrix to the differential moment vector in the inertial frame of reference, Δ to determine its representation in the x, y, z coordinate system of the multi-rotor helicopter 100, Δ.
The representation of the differential force vector in the x, y, z coordinate system, Δ and the representation of the differential moment vector in the x, y, z coordinate system, Δ are provided to the second controller 420 which determines a vector of differential angular motor speeds:
As can be seen above, the vector of differential angular motor speeds, Δ includes a single differential angular motor speed for each of the n thrusters 106 of the multi-rotor helicopter 100. Taken together, the differential angular motor speeds represent the change in angular speed of the motors 108 required to achieve the desired position and rotational orientation of the multi-rotor helicopter 100 in the inertial frame of reference.
In some examples, the second controller 420 maintains a vector of the current state of the angular motor speeds and uses the vector of the current state of the angular motor speeds to determine the difference in the angular motor speeds required to achieve the desired position and rotational orientation of the multi-rotor helicopter 100 in the inertial frame of reference.
The vector of differential angular motor speeds, Δ is provided to the angular speed to voltage mapping function 422 which determines a vector of driving voltages:
As can be seen above, the vector of driving voltages, includes a driving voltage for each motor 108 of the n thrusters 106. The driving voltages cause the motors 108 to rotate at the angular speeds required to achieve the desired position and rotational orientation of the multi-rotor helicopter 100 in the inertial frame of reference.
In some examples, the angular speed to voltage mapping function 422 maintains a vector of present driving voltages, the vector including the present driving voltage for each motor 108. To determine the vector of driving voltages, , the angular speed to voltage mapping function 422 maps the differential angular speed Δωi for each motor 108 to a differential voltage. The differential voltage for each motor 108 is applied to the present driving voltage for the motor 108, resulting in the updated driving voltage for the motor, Vi. The vector of driving voltages, includes the updated driving voltages for each motor 108 of the i thrusters 106.
The vector of driving voltages, is provided to the plant 424 where the voltages are used to drive the motors 108 of the i thrusters 106, resulting in the multi-rotor helicopter 100 translating and rotating to a new estimate of position and orientation:
The observation module 426 observes the new position and orientation and feeds it back to a combination node 428 as an error signal. The control system 400 repeats this process, achieving and maintaining the multi-rotor helicopter 100 as close as possible to the desired position and rotational orientation in the inertial frame of reference.
Referring to
The approaches described above address this issue by enabling motion of the multi-rotor helicopter 100 horizontally into the wind without tilting the frame of the multi-rotor helicopter 100 into the wind. To do so, the control system described above causes the multi-rotor helicopter 100 to vector its net thrust such that a force vector is applied to the multi-rotor helicopter 100. The force vector has a first component that extends upward along the h axis of the inertial frame with a magnitude equal to the gravitational constant, g exerted on the multi-rotor helicopter 100. The first component of the force vector maintains the altitude of the multi-rotor helicopter 100 at the altitude associated with the given position. The force vector has a second component extending in a direction opposite (i.e., into) the force exerted by the wind and having a magnitude equal to the magnitude of the force, exerted by the wind. The second component of the force vector maintains the position of the multi-rotor helicopter 100 in the n, w plane of the inertial frame of reference.
To maintain its horizontal orientation in the inertial frame of reference, the control system described above causes the multi-rotor helicopter 100 to maintain the magnitude of its moment vector at or around zero. In doing so, any rotation about the center of mass of the multi-rotor helicopter 100 is prevented as the multi-rotor helicopter 100 vectors its thrust to oppose the wind.
In this way the force vector and the moment vector maintained by the multi-rotor helicopter's control system enable the multi-rotor helicopter 100 to compensate for wind forces applied thereto without rotating and increasing the profile that the helicopter 100 presents to the wind.
Referring to
The approaches described above obviate the need for such gimbals by allowing the multi-rotor helicopter 100 to rotate its frame in the inertial plane while maintaining its position in the inertial plane. In this way, the imaging sensor 632 can be statically attached to the frame of the multi-rotor helicopter 100 and the helicopter can tilt its frame to orient the imaging sensor 632 without causing horizontal movement of the helicopter. To do so, upon receiving a control signal characterizing a desired imaging sensor orientation, the control system described above causes the moment vector, of the multi-rotor helicopter 100 to extend in a direction along the horizontal (n, w) plane in the inertial frame of reference, with a magnitude corresponding to the desired amount of rotation. To maintain the position, of the multi-rotor helicopter 100 in the inertial frame of reference, the control system causes the multi-rotor helicopter 100 to vector its net thrust such that a force vector is applied to the multi-rotor helicopter 100. The force vector extends only along the h-axis of the inertial frame of reference and has a magnitude equal to the gravitational constant, g. By independently setting the force vector and the moment vector , the multi-rotor helicopter 100 can rotate about its center while hovering in one place.
As is noted above, conventional multi-rotor helicopters are controlled in roll, pitch, yaw, and net thrust. Such helicopters can become unstable (e.g., an oscillation in the orientation of the helicopter) when hovering in place. Some such helicopters include gimbaled imaging sensors. When a conventional helicopter hovers in place, its unstable behavior can require that constant maintenance of the orientation of gimbaled imaging sensor to compensate for the helicopter's instability.
Referring to
To hover in one place with high stability, the multi-rotor helicopter 100 receives a control signal characterizing a desired spatial position, and a desired spatial orientation, for the multi-rotor helicopter 100. In the example of
The control system described above receives the control signal and maintains the spatial position, of the multi-rotor helicopter 100 in the inertial frame of reference by causing the multi-rotor helicopter 100 to vector its net thrust such that a force vector is applied to the multi-rotor helicopter 100. The force vector extends only along the h-axis of the inertial frame of reference and has a magnitude equal to the gravitational constant, g.
The control system maintains the spatial orientation, of the multi-rotor helicopter 100 by causing the multi-rotor helicopter 100 to vector its moment such that a moment vector, has a magnitude of approximately zero. The control system maintains the force vector and the moment vector , such that the multi-rotor helicopter 100 hovers in place with high stability.
Due to the high stability of the hovering multi-rotor helicopter 100, little or no maintenance of the gimbal orientation is necessary to train the imaging sensor 732 on the point of interest 734.
In some examples, an aerodynamic body can be added to the multi-rotor helicopter to reduce drag due to prevailing winds.
While the above approaches describe a helicopter including multiple thrusters, other types of thrust generators could be used instead of the thrusters.
In some examples, a hybrid control scheme is used to control the multi-rotor helicopter. For example, in the example of
It is noted that the control system of
In the examples described above, a multi-rotor helicopter includes six thrust generators, each thrust generator generating thrust in a different direction from all of the other thrust generators. By generating thrust in six different directions, all of the forces and moments on the multi-rotor helicopter can be decoupled (i.e., the system can be expressed as a system of six equations with six unknowns). In some examples, the multi-rotor helicopter can include additional (e.g., ten) thrust generators, each generating thrust in a different direction from all of the other thrust generators. In such examples, the system is overdetermined, allowing for finer control of at least some of the forces and moments on the multi-rotor helicopter. In other examples, the multi-rotor helicopter can include fewer than six thrust generators, each generating thrust in a different direction from all of the other thrust generators.
In such examples, decoupling all of the forces and moments on the multi-rotor helicopter is not possible since the expression of such a system would be underdetermined (i.e., there would be more unknowns than there would be equations). However, a system designer may select certain forces and/or moments to control independently, still yielding performance advantages in certain scenarios.
It should be understood that the configuration of the thrust locations, thrust directions, motor directions of rotation, and maximum rotation speed or thrust produced by each motor can be selected according to various criteria, while maintaining the ability to control the multiple (e.g., six) motor speeds according to net linear thrust force (e.g. three constraints) and net torque (e.g., a further three constraints). In some examples, all the motors rotate in the same direction. For a given set of thrust locations (e.g., a symmetric arrangement with the thrust locations at a fixed radius and spaced at 60 degrees), the thrust direction are selected according to a design criterion. For example, the thrust directions are selected to provide equal thrust in a hover mode with the net force being vertical and no net torque. In some examples, the thrust directions are selected to achieve a desired controllability “envelope”, or optimize such an envelope subject to a criterion or a set of constraints, of achievable net thrust vectors given constraints on the motor rotation speeds. As an example, the following set of thrust directions provides equal torque and common rotation direction in a hover mode:
In one exemplary configuration, the twist angles are equal, but changing in sign. For example, the dihedral angle for each of the motors is +15 degrees, and the twist angle for the motors alternates between +/−15 degrees. For this exemplary configuration, the matrix
satisfies all of the above conditions.
If, however, the dihedral angle for the above configuration is −15, then the matrix
satisfies all of the above conditions.
In another exemplary configuration, the dihedral angle is +15, the propellers all spin counter-clockwise, and the twist angle for the motors alternates between −22 and +8 degrees, then the matrix
satisfies all of the above conditions.
Referring to
Referring to
Referring to
Referring to
Referring to
It is to be understood that the foregoing description is intended to illustrate and not to limit the scope of the invention, which is defined by the scope of the appended claims. Other embodiments are within the scope of the following claims.
This application claims priority to, and the benefit of, Provisional Application Ser. No. 62/007,160, filed Jun. 3, 2014, which is hereby incorporated by reference in it entirety.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2015/033992 | 6/3/2015 | WO | 00 |
Number | Date | Country | |
---|---|---|---|
62007160 | Jun 2014 | US |