# Deriving an equation for Jetpack motion, Kinetic Energy

1. Apr 5, 2012

### Szichedelic

Hi everyone, I am currently working on a program which involves stabilizing a man wearing a jetpack at some arbitrary point along the vertical axis. This program is part of an experiment my faculty mentor gave me.

Basically, what I am trying to do is have the Jetpack man stabilize at a point along the vertical axis by using control theory methods. I've already been able to animate my solution, yet for some reason the Jetpack man will not stabilize. I have a feeling this has to do with my equations of motion being wrong.

I began with finding the Lagrangian for the energy of the system. What resulted is -9.8-u''[t] == f[t], where u''[t] is the acceleration of the Jetpack man. I then use a State Space model and subsequently LQR regulator gains to attempt to stabilize the Jetpack man at some point, say u[t] = 50. What happens is that he just falls indefinitely (beyond u[t]==0).

I think that my kinetic energy for the jet pack is wrong. Can anyone help me derive this? I am also assuming that the jetpack has infinite amounts of fuel (not practical, I know, but that is not the point).

2. Apr 5, 2012

### cepheid

Staff Emeritus
So rather than a jetpack, it's more like a magic device that can produce any amount of thrust you want without changing mass?

If I assume the initial height is u(0) = 0, and the initial speed is u'(0) = 0, and the initial thrust is f(0) = 0, then I get an equation of motion:

u(t) = ∫(∫f(t)dt)dt - (1/2)gt2

I'm not really sure what do do with that, I'm just thinking out loud.

Wouldn't the kinetic energy just be (1/2)m(u'(t))2 where m is whatever mass you assume?

3. Apr 5, 2012

### Szichedelic

Yeah, that is exactly what I got, cepheid. It is kind of weird because it is not a very practical example at all. This is more to demonstrate a few control theory concepts I have learned from studying on my own. however, using that kinetic energy, I cannot get my jetpack man to stabilize at a point. It just falls.

4. Apr 6, 2012

### haruspex

Wouldn't you specify f[t] as positive thrust? If so, the sign is wrong, no? u'' = f+g where g = -9.8. You have -f+g.

5. Apr 6, 2012

### cepheid

Staff Emeritus
Szichedelic,

I got your rocket man to stabilize using a really dumb method. :tongue: I remember nothing of my control theory course except basic PID control, which I use in a practical context in some of my work. I decide to literally just have proportional gain terms that determined the requested velocity and requested acceleration. I assumed that the jetpack could provide the requested acceleration instantaneously. So my nested control loops were as follows:

Suppose yreq is the requested position (height above the origin in metres). Then the requested velocity is proportional to the position error, with gain term Py:$$v_\textrm{req} = P_y(y_\textrm{req} - y)$$Similarly, I determined what acceleration I wanted for the jetpack man using the criterion$$a_\textrm{req} = a = P_v(v_\textrm{req} - v)$$Oh, and by the way, it's just true that f(t) = a(t) + g where f(t) is the jetpack thrust (edit: per unit mass). Anyway if you plug the expression for vreq from the first equation into the second, you can get a second-order linear differential equation for y(t). Rather than bothering to solve the equation analytically, I just solved it numerically using the stupidest numerical integration technique possible. In each time step I just said that the current position is incremented by an amount equal to the velocity from the previous time step multiplied by the time step interval (dt). Similarly the velocity is incremented by the previous acceleration multiplied by dt. Then the acceleration and the velocity request are updated using the equations above. For yreq = 10 m, and Py = Pv = 1, and for y(0) = v(0) = 0, I got the following results:

EDIT: is there some way you can translate this into your fancy state space method, perhaps by starting with the second-order ODE?

Last edited: Apr 6, 2012