# Dragon RCS: Four controlled degrees of freedom... or six?

Would Dragon's RCS clusters allow it to translate cleanly left-right and backward-forward, like a crab? Or are they meant only for roll/pitch/yaw control + longitudinal (up/down) translation, like an airplane?

In other words, do the RCS clusters allow control over a full six degrees of freedom (x/y/z translation, x/y/z rotation), or just four degrees of freedom (x translation, x/y/z rotation)?

EDIT

I'm sure some RCS thruster combinations would give you a sideways translational velocity, even if this is not by design. But an incidental sideways translational velocity isn't very useful if it comes coupled with undesired rotations or translations (along other axes).

If all you need is a pure +Y translation, but that translation comes with +Z rotation and +X translation, you're in trouble if you don't cancel out those undesired motions---you wouldn't want an inadvertent yaw when you're about to dock, nor would you want to inadvertently accelerate forward and risk a harder collision with the docking port.

So what I'm asking, I guess, is this: Is there any combination of RCS thrusters that will give you *clean, pure left-to-right and back-to-front translation with those RCS clusters? And is this required for rendezvous, or do spacecraft normally rendezvous and dock with just the four degrees of freedom an airplane operates with?

• Are you asking only about Dragon? The last paragraph doesn't seem so. Shuttle certainly had 6 DOF control in orbit. May 3, 2021 at 18:51
• Aircraft operate with 6 degrees of freedom May 3, 2021 at 18:53
• Pure moment from force couples for x/y/z rotations... but zero moment for pure x/y/z translations... This is no problem for x translations, since there are at least two pairs of thrusters that will perfectly cancel out not just y/z translations but also x/y/z rotations (two pairs for +x translation, two pairs for -x translation, to clarify). But this is not at all clear for y/z translations. Nor is it clear for y/z rotations, by the way, but these rotations are clearly essential, and I can't imagine a spacecraft operating without control over them, so...
– user39728
May 3, 2021 at 18:54
• Can you add an image/reference showing the coordinate system on the vehicle? May 3, 2021 at 18:57
• Brendan, if your airplane can translate sideways without simultaneously rolling and yawing and without very strong headwinds, then you have a magical airplane. Most airplanes have control only over roll, pitch, yaw, and longitudinal velocity---meaning you can control independently for each of these variables without simultaneously change the others. You cannot generally translate an airplane sideways without changing its attitude---and even then, you'll need a lot of headwind.
– user39728
May 3, 2021 at 18:58

Assuming this simulation is correct, and I have no reason to doubt that it is, there is in fact true 6 degrees of freedom of movement possible. I do recall that at least one of the axis has less control, but I can't find the news report that states how the manual control felt according to the astronauts...

• Yeah... And that sim is by SpaceX, too, isn't it... I just gave it a try, and yes, you can have clean, pure Y and Z translation without undesired rotation/translation components... So if that is true to the real thing, then six degrees of freedom seems to be the answer... This was my first guess, but I just can't wrap my arms around the super weird RCS thruster orientations... I mean, there is no pair of thrusters that will give you clean Y translation... you will get undesired x translation and z rotation... so you have to fire up to two more thruster pairs to cancel those two motions...
– user39728
May 3, 2021 at 20:14
• Seems convoluted... and nevermind that the required throttle to cancel the unwanted Y/Z rotations will depend on the location of the center of mass, which moves very substantially as the fuel tanks empty out (and even more so when the trunk separates on return to earth).
– user39728
May 3, 2021 at 20:17

Each thruster will have a thrust vector. That can be resolved into torque and translation depending on the CM. If you have six thrusters you should be able to get all six degrees of freedom. If you want one pure degree of freedom you have to solve a set of simultaneous equations, which is not hard. If there is a degeneracy in the system you may not be able to get them all. If there is almost a degeneracy it will take a lot of fuel to get one of them.

Wanting one pure degree of freedom is rare. From a starting position, velocity, and rotation the chance you need just one is zero. A typical design process would be to assume a range of CM positions and specify that one must be able to achieve any combination of translation and rotation up to some limit with a given amount of fuel. You may well measure the CM in the first few burns, then update the firing schedule based on that. If the designer placing the thruster finds it hard, s/he may push back and say that the case that is causing trouble is not likely and ask for an update to the specification. S/he might suggest an alternative strategy to work around the problem. SpaceX was clearly convinced that the thruster arrangement would meet the mission requirements, then was able to convince NASA of the same proposition.

• Thanks so much, Ross! This is super helpful. I'd actually written a set of simultaneous equations to solve because I couldn't see any other way, but kept scratching my head as to why such a weird RCS arrangement, which gave me pause and left me questioning whether I understood what I was doing at all. I was half-convinced I had it all wrong and that I wasting my time. But you seem confident in what you know, and OK, I'll buckle down and go solve those equations. Thank you thank you thank you :)
– user39728
May 4, 2021 at 3:46
• Solving a $6 \times 6$ system is easy for a computer. If you want to minimize fuel consumption over a range of missions it get harder, but you do that at home when you have lots of compute power available. Then you pick one solution, mount the thrusters there, and produce the simulations for the design review to show you can meet the fuel requirement. In flight you have already mounted the thrusters, so you know the locations and angles. Now the compute requirements go way down, which is nice as your compute horsepower is down as well. May 4, 2021 at 3:54
• And I have questions! I'm calculating position/attitude errors in my spacecraft's axes, then feeding those errors each to a dedicated controller which will issue a command to be passed through a control allocation scheme---which will come from solving three simultaneous equations, two of them for translational DoFs and one of them for a rotational DoF (because I will only fire thrusters in pairs that are sure to result in motion on a single plane). The output from the control allocation scheme will be the thruster firing durations (which are hypergolic on/off dracos without throttling). (1/2)
– user39728
May 4, 2021 at 3:56
• Thruster firings happen on the time scale of milliseconds, if not longer. These days, even a flight computer can do lots of computation in milliseconds (don't ask about how Gemini did it). You can certainly compute each axis independently, then add them together to get firing times for each thruster. $12$ thrusters sounds like two sets of $6$ as redundant pairs, so you may want to only use $6$ until one fails. May 4, 2021 at 4:05
• It depends on how much the CM may move and the accuracy required. Fuel consumption can play a role in CM movement, but so can crew movement. I don't think that is hard at all for today's computers. You even get data on the fly from the sensors, which tell you how much effect each thruster pulse had. May 4, 2021 at 4:20