Rotating/moving an object in space by the use of thrusters

  • Thread starter x0r
  • Start date
  • #1
Hello, everyone!

After searching a lot(!) about this topic on google and wikipedia, I started to actively look for a forum to ask my question, since I don't even know the correct description of the values I'm searching. I hope that you can help me out :) I'm aware that this is not a programmer's forum, but I might need to use some terms from that domain.

My ultimate goal:
Creating a 2d computer simulation of spaceships, controlled by a genetic algorithm.
Here is a link to Smart Rockets, which uses a couple of concepts I plan to implement myself.

My midterm goal:
Creating a 2d spaceship with thrusters, controlling movement and rotation by (de)activating these thrusters.

What I got so far:
A spaceship with thrusters attached to it. These thrusters are attached to the spaceship at various locations, and are rotated by certain angles. When turned on, they determine the acceleration (vector) of my spaceship. To get the total acceleration at a certain point in time, I add each vector of all active thrusters together.

What I still need:
Rotation. I have absolutely no idea, how I can apply rotation to my ship in a realistic way.
I even did a couple of drawings trying to visualize all that for myself, but got nothing useful out of it.

Assuming that my active thruster is in the center of the backside of my (symmetrical) ship, the ship will accelerate to where it's nose is pointing. No rotation is applied here (Please correct me, if I'm wrong).

In case there are two thrusters attached symmetrically at the back of my ship, both of them slightly offset from the center, the ship should start to turn, in case only one thruster is active. Left thruster engaged -> Ship turns clockwise. Right thruster engaged -> Ship turns counter-clockwise. Both thrusters are engaged -> No rotation. Apart from the rotation, the ship moves forward at the same time. Again, I might be wrong here, but engaging both thrusters should yield roughly double the forward speed of a single thruster engaged.

I also want to go further than this... If a thruster is rotated, the force is applied differently (obviously). As I imagine it, the further away the thruster is from the center, the more impact on rotation it would have. In case the thruster is in the center, the ship would simply move in the direction it points, without applying any rotation.

As it seems, I'm looking for a formula, which takes into account not only the rotation, but also the position of the engines, in respect to the center of the ship.

As I said above, please help me to fix any mistakes I made until now...

Here are my actual questions:

-] What is the "center" of the ship? Is it correct to assume the center of the ship's mass?
-] How do I calculate the rotation of the ship correctly, depending on the thrusters' power? If possible, I'd need a formula, or at least a name, so I can search for that formula...
-] Does rotating the ship as a sideeffect of engaging a thruster decrease the ship's acceleration in terms of forward movement, if yes, how big is the effect, or how to calculate it?

I want to thank you all in advance for your help, should you need any additional information, just ask :)
Last edited:

Answers and Replies

  • #2
Okay, I got an update here... as it seems, the term I was looking for is called Torque which is measured in Nm, and depends on the distance to the center of mass, and the force vector.

I'm somewhat confused now, since Nm seems to be equal, but not to be confused with Joule.

Can anyone clear me up? Can I use the Nm / Joules(?) from the torque, and subtract it from the energy (Joules?) used to move the ship?
  • #3
Science Advisor
Homework Helper
Can anyone clear me up? Can I use the Nm / Joules(?) from the torque, and subtract it from the energy (Joules?) used to move the ship?

No. You cannot subtract the one from the other meaningfully.

A force multiplied by a distance parallel to the force through which that force acts gives a quantity of work done by the force. This is a quantity of energy and is measured in Joules. In terms of vectors this is the dot product of force and distance and is a scalar.

A force multiplied by a moment arm perpendiular to the force gives a torque. This is measured in Newton-meters. In terms of vectors this is the cross product of force and distance and is a [pseudo-]vector.

If you apply a torque of one Newton-meter through an angular rotation of one radian then you will have done one Joule of work.

In space, the utility of a thruster is usually best characterized by the momentum that it can impart or, equivalently, the amount of delta-v it can produce. The amount of energy this amounts to will vary depending on the frame of reference you choose.
  • #4
Thank you for your response!

It seems that I lack a lot of knowledge how all the values are connected.

First of all - what is a realistic representation a thruster's performance?

With cars, we usually use "power", when it comes to engines - Watt, HP, ...
When it comes to space propulsions, everything seems to be calculated with force/thrust - (kilo)Newton.

The formulas I know tell me that the acceleration equals force / mass. My problem with this is, that a constant force and a constant mass would lead to constant acceleration. Therefore my spacecraft would be able to reach unlimited speeds (or at least the speed of light).

I've read a formula somewhere else, which seems to "fix" that problem, by saying that F = (2*P)/v. That doesn't seem to apply though, since the velocity might aswell be zero, which would render the equation useless. I could put force and power in relation that way though, by saying that F*v = 2*P... since the force depends on the velocity and the power here... after all is said and done, I still don't know what units my thrusters should count in (you mentioned above that a thruster's utility depends on momentum, and that it's energy depends on the frame of reference, which are again two more variables I don't know how to determine...)

My frame of reference is a rectangle (I'm already happy, if it works in 2d), the size of my computer screen, or a fraction thereof. On screen, there will be a spaceship (or multiple instances thereof) aiming for a target while avoiding obstacles. The target and obstacles don't move from the observer's perspective. I'm not sure if this is the correct way to define the frame of reference, but.. anything, which doesn't move on screen is supposed to stand still.

So, how would I put a "good" thruster in a variable? Can I say a thruster has 100kN, or 100kW ? What is important to me is that the value isn't changing - unless there's no fuel available, or it's disabled for another reason.

I'm ready to read any article which enhances my view on all this; I also appreciate links - my main problem is that I don't even know, how a couple of parameters are called (such as "torque", which I didn't hear for the first time, but I had no idea it was related to what I'm trying to achieve). I spent even more hours on Wikipedia, searching for equations, searching for the difference between force and power in respect to engines and thrusters, but it seems to me like I'm running in circles...
  • #5
Staff Emeritus
Science Advisor
Insights Author
Unfortunately, we may not be able to help you much. because you are unknowingly asking us to write several chapters in a book. It's probably why you haven't received that much help.

In this case it's a fairly simple book, an introductory calculus-based physics text, and maybe bits and pieces from a bit more advanced classical mechanics text. I suggest you get your hands on such a text. The internet is a great resource if you need little bits and pieces of knowledge. You need big chunks.

As soon as you get to 3D motion you need that classical mechanics text, and then some. 3D motion is harder. A whole *lot* harder.
  • #6
I'm sorry if it appeared that way... In fact, I don't need explicit answers (even if I do appreciate them), but rather sources to find them. I don't plan to get to 3d any time soon, since I'm aware it is above my head. I also don't need everything to be super realistic, so I'm not counting gravity between objects or stress put on certain parts, etc.

What I do want to be realistic, however, is movement in two dimensions. The only parameters I have is the mass (and the center of mass) of the ship and it's components. Of course, "mass" doesn't appear in 2d, so it's rather a factor to compare the effects of a thruster on models of various properties.

My thrusters have values for position, rotation, and a factor effectiveness - and here's my problem. I don't know how to determine the effectiveness, since I don't know the scientific expression for that value. I don't need to have a blueprint of a real-life thruster, I don't need propulsion functions or particles, I just need the name of the parameter, so I can search for simple books (or files on the web) to find out what I really need.

Do I make any sense?
  • #7
Science Advisor
Maybe I can help with a few pointers, at least.

Thrust of a rocket engine is a force:
which means that how effective the engine is depends on the exhaust velocity(V), and the amount of mass per unit time that is expelled(dm/dt; if you're unfamiliar with calculus, substitute "Δ" for the "d"s). Or simply, the force equals the change in momentum per unit time. The unit of thrust is Newton, as with any other force.
Usually the variable part(thrust control) would be the mass/time bit, so the faster the craft accelerates the more fuel it uses. Conceivably, your craft could be made to have engines that have variable exhaust velocity and constant fuel consumption.

This force is apllied to the spacecraft's mass(M) resulting in acceleration

Now, you can go either with constant mass of the spacecraft(i.e., unlimited fuel, as it is with most games) or M varying with time as per the rate of thruster's fuel usage. That is, the total mass would be the mass of the bulk of the spacecraft, minus the amount of fuel spent(M(t)=M-dm/dt).

This means the more fuel is spent, the lighter the craft(less inertia), and the higher the acceleration.

If you go with the unlimited fuel approach, you may want to consider how to deal with high velocities. You could go with purely Newtonian approach, which does not put the limit on max velocity, or with Special Relativity approach, which does. The latter is physically correct, but unless you are going to allow your craft to go at speeds exceeding 1/3 of the speed of light, there's no need for the relativistic corrections to the simple Newtonian approach. I'd advise you to stick to Newton, as the alternative is a royal pain to implement correctly.

As for the thrust direction, if the thrust is applied along the line connecting the thruster to the centre of mass of the craft, all of the force will produce forward motion.
If the direction of the thrust is misaligned with that line, there will be two components of the force, perpendicular to each other(read here to learn how to split vectors into components: One will be radial, i.e., the part pointing towards the centre of mass and producing forward acceleration, the other will be tangential, producing torque(or 'moment of force' if you're British).

To get the torque multiply the tangential component of the force by the distance between the thruster and the centre of mass.

The torque will induce angular acceleration, which is the same as regular acceleration only with the measure of angle(in radians) instead of distance. It's given by [itex]α=\frac{\tau}{I}[/itex]. It is the change in angular velocity, i.e, the angle rotated through in unit time, just as linear acceleration is the change in linear velocity, i.e., the distance covered per unit time.
I is the moment of inertia, and the analogue of mass in linear motion. Use one of the common forms(, like the one for a cuboid or a solid cylinder, or a sphere.

This website may help you familiarise yourself with the concepts used in circualr motion:

If you've got more than one thruster, then you need to do the force component splitting for each one of them, calculate the torques, and see if there's any net torque. That is, you add(or subtract if opposite) the torques produced by each of the thrusters.
For symmetrically placed thrusters the torques will be equal and opposite, so they will cancel out, resulting in no rotation.

Changing the direction of the thrust of a single thruster to induce rotation is called "gimballing". It works on the same principles as described above.
(there's a NASA link there explaining it in more detail, but you won't be able to access it now due to the ongoing US government shutdown)
  • #8
Science Advisor
Gold Member
Can anyone clear me up? Can I use the Nm / Joules(?) from the torque, and subtract it from the energy (Joules?) used to move the ship?
This is a matter of definitions.
Both Torque and Work involve Force and Distance. BUTTTT Torque is the product of a Force and a so called Perpendicular distance, which is, in the simplest terms, the length of a lever. The distance you need is at right angles to the force and no actual motion is involved. (It's a Vector Cross Product) For Work ( aka mechanical Energy), the Work done is the Force multiplied by motion over a distance which is parallel to the Force. (Its a Vector Dot Product) There is no (useful) energy expended (work done) in applying a torque to an object unless there is some movement (e.g. turning a handle or actually tightening up a nut). It's only when you actual succeed in turning it that you start to do any work 'on' a seized nut. This is the strict mechanical meaning and does not count the sweat and tears involved in the initial, unsuccessful struggle.

There was less confusion in the old days when Foot Pounds was work and Pound Feet was torque. But let's not go back to the stone age.
  • #9
Hi! Thanks a lot for your detailed description =)

The concept of how propulsion works is now much clearer to me. I can't even remember, how I used to think rocket thrusters actually work. Of course they need to eject mass in one direction to be pushed into the other. I guess I never thought of the efficiency actually depending on the speed of the ejected particles. (I also checked ion drives, for instance. I never thought that they actually ejected any particles and rather saw it as some sort of "sci-fi" so far)

Thanks to the vector component splitting description, I'm now aware of how the force is directed(or, well, "split") in order to create a certain amount of linear and/or radial acceleration. I'd stick with the term "torque" by the way, since it's what I found to be most frequent. English isn't my first language at all, so I'll stick with AE for convenience (no offense to any BE speakers).

The hardest part will be to calculate inertia. It seems that I need to "estimate" it by the formulas given (unless I plan to integrate my spaceship). I believe I'll have to test a few settings and see how I percieve them to be.

I'll try to get most out of the links, and might be back later =)

Thanks again, you really helped me a lot!

Also, thanks to sophiecentaur, who helped me to compare Joules to Nm (as far as that's possible :P)

Suggested for: Rotating/moving an object in space by the use of thrusters

  • Last Post
  • Last Post