4
$\begingroup$

I was recently taking a gander at proportional navigation, a missile guidance law, and I noticed most PN laws output something known as an acceleration command. The acceleration command is a command given to the fins of the missile for it to steer. The only problem being the command is in feet/s2, and not in an angular velocity like d/s.

So how would I go converting this acceleration command into an angle for the fins to rotate to? Would I need to just do a bit of testing and adjusting? How would the command rotate the missile? The acceleration is already in the direction the fins have to rotate to to steer the missile. Any ideas?

I also tried missile autopilots, but they seemed too complex for the task at hand. Is there any easy (or relatively easy) formula for the creation of a pseudo pilot that can convert the command into the rotation required for the missile (or for the ailerons) in a place without external forces (like air density, etc. etc.)

$\endgroup$
9
  • 2
    $\begingroup$ As a note, this is a repost from the physics stack exchange, as I was sent here. $\endgroup$
    – KING MOOSE
    Commented Sep 8 at 23:27
  • $\begingroup$ This is between physics and aviation, so I would say that it'd be OK here and at the physics.SE. $\endgroup$ Commented Sep 9 at 0:17
  • 1
    $\begingroup$ Does eq. 45 help? This is an application of the lift equation, α is the angle of attack which for a fin with no camber is the angle of the fin. $\endgroup$
    – mins
    Commented Sep 9 at 0:57
  • $\begingroup$ Do you have a link to an example of what you describe? $\endgroup$ Commented Sep 9 at 1:15
  • $\begingroup$ Interesting, could you explain a bit eq. 45 as I dont really understand all of the terms. $\endgroup$
    – KING MOOSE
    Commented Sep 9 at 5:54

3 Answers 3

4
$\begingroup$

If I remember correctly you can derive the angular rotation speed during a stationary turn from the acceleration command by just dividing by the current velocity:

q_rate = acceleration / speed

To compute the necessary fin angle you need to have a physical model of the missile in question and you need a control loop which adjusts the fin angle until the desired acceleration is measured with the accelerometer in the rocket.

For an analytical approximation you need to find a function that describes how much acceleration the missile can produce for a certain angle of attack and airspeed. This obviously depends on the size, mass and shape of the missile and on the thrust produced. These parameters will change significantly throughout the flight, because the mass of the rocket is changing and the thrust will stop once the rocket runs out of propellant during the coasting phase. Once you know what angle of attack is needed you can compute the fin angle necessary to rotate the missile towards this target angle, based on the inertia of the body and the torque that the fins produce at the current speed per angle of deflection (probably linear up to moderate deflection angles). This relationship can also be approximated from basic aerodynamic principles like the lift formula, moment arm, etc.

So to summarize: There is no simple solution to your question. It depends on the type of missile and the aerodynamic forces it can produce. A control loop for the fin angle is probably needed to dynamically adjust to the current conditions.

$\endgroup$
3
  • $\begingroup$ Hi there! Can I possibly make an example? So after having an acceleration ( in my case a vector3) we divide that acceleration by our missiles velocity, and this gives us angular velocity (presumably in d/s). I cant place my head around why that would work? Could you maybe explain it further? And to respond to the rest of your answer, I am trying to replicate a simulation engagement in a game engine, and I have complete control over all aerodynamic forces and components. Is there any formulas that can make somewhat of a missile pseudo pilot for these conditions? $\endgroup$
    – KING MOOSE
    Commented Sep 9 at 20:38
  • $\begingroup$ @KINGMOOSE It doesn't give it in deg/sec, it gives it in something proportional to deg/sec. That constant of proportionality depends mostly on the geometry (and mass) of the missile and slightly on some other stuff. If you're programming a sim, you can just pick that constant to be whatever works well $\endgroup$
    – llama
    Commented Sep 9 at 23:41
  • $\begingroup$ I see! Thanks balot! Ill try this system later today! $\endgroup$
    – KING MOOSE
    Commented Sep 10 at 5:47
4
$\begingroup$

The control structure for a typical missile looks something like this: Typical control structure of missiles As you can see, the PN-Guidance command is carried out by a dedicated acceleration controller. This has a couple of resons:

  1. First an foremost, the missile has some pretty complicated flight dynamics. The varying airspeed and altitude of the missile means highly varying dynamic pressure acting on the missile. At high airspeeds, minimal fin deflections already mean very high accelerations, while at low airspeeds, the same fin deflections almost do nothing.
  2. Most missiles are non-minimum phase systems due to the location of the fins at the rear of the missile. This means, when a fin is deflected, the acceleration will first be negative before becoming positive. This is a vicious effect, which the Autopilot is specifically designed to take care of.

The job of the acceleration controller is therefore to make the missile behave nicely. It can be designed such that the PN-Guidance always sees a relatively uniform missile behavior across all flight speeds, and altitudes.

Edit: After reading a couple of your comments, I would recommend the following: You can use what I wrote above to your advantage. Instead of explicitly simulating the acceleration controller in combination with the missile dynamics, you simply assume that the acceleration controller does its job right under all circumstances, and model the combination of these two systems as a low-pass of second order with a rise time of a few hundred mili-seconds. Additionally, you simply neglect the rotational dynamics (again, your assumption is that the controller does its job right). This leaves you with a modeled point mass, which follows lateral acceleration commands with the dynamics of a second order system. For some kind of realism, I would also include drag (perhaps the drag could be dependent on the g-forces the missile pulls). The resulting velocity and position can then be simply integrated from these accelerations. The resulting dynamic system would then be something along the lines of: $$ \ddot{\vec{x}} = R_{IB} \cdot \begin{pmatrix} -a_D \\ a_y(t) \\ a_z(t) \end{pmatrix} $$ with $R_{IB}$ being the rotation matrix rotating the accelerations from the body coordinates to inertial coordinates, $a_D$ modeling drag acceleration, $a_y(t)$ and $a_z(t)$ being the (commanded) acceleration of the PN-Guidance after it passed the second order dynamics.

Perhaps I can draw a sketch of the situation tomorrow if you are interested.

$\endgroup$
1
  • $\begingroup$ Hi there! This is super interesting! I would love a more detailed explanation, as unfortunately I work in a pretty basic game engine, and I dont know how much of this it can do on its own. If you could provide a sketch explaining the steps you go through that would be great! $\endgroup$
    – KING MOOSE
    Commented Sep 10 at 5:52
1
$\begingroup$

I also tried missile autopilots, but they seemed too complex for the task at hand.

They are exactly as complex as required for the task at hand.

Missile dynamics are extremely complicated. There are no simple formulas.

$\endgroup$
5
  • $\begingroup$ Yes of course, but I didnt think I would need them in my case where external forces (such as drag, air density etc.) dont apply. $\endgroup$
    – KING MOOSE
    Commented Sep 9 at 20:10
  • $\begingroup$ I am attempting to simulate an engagement without these forces. $\endgroup$
    – KING MOOSE
    Commented Sep 9 at 20:11
  • $\begingroup$ @KINGMOOSE Exactly what forces do you want to model if you're ignoring all external ones? $\endgroup$
    – Chris
    Commented Sep 9 at 23:04
  • $\begingroup$ I am attempting to simulate a Proportional Navigation system for my missile. I only want to have the guidance system and an acceleration actuator that can turn the acceleration command in an angle (or angular velocit) command. $\endgroup$
    – KING MOOSE
    Commented Sep 10 at 5:44
  • $\begingroup$ In basic I want to start with a missile which can perfectly turn given an acceleration. I just want to figure out how to convert acceleration into a desired rotation/angular velocity. $\endgroup$
    – KING MOOSE
    Commented Sep 10 at 5:55

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .