It might be kind of a stupid question but how many degrees of freedom are there in a typical quadcopter? I say some saying 4 and some saying 6. The difference stands in translation throughout the other 2 axis (horizontal ones). Being strict to what you can directly tell the quadcopter to do, only 4 movements are possible since you cannot apply a pure lateral force. But you can tilt to start a lateral movement and align the body right after and let it hover in a horizontal axis, theoretically. So, formally, how many degrees of freedom should I consider to exist?

• – Ian
Jun 9, 2014 at 18:38

Formally, a quadcopter has four degrees of freedom. As you noted, at any given instant in time you can only apply force/moment in only four directions.

I think that it is important to recall that a rigid body in space has 6 Dof without considering quantum or relativistic effects ;). So if you use the newton equations, written in an inertial frame of reference, to describe the hole motion of a quadcopter you will get two set of equations. First the position $x \in \mathbb{R}^3$

$$m\ddot{x} = F$$

where $F$ is the sum of all external forces, here will take place the action of the rotor's blades. Second, we have the equations for the orientation of the quadcopter and, in my opinion, they are a quite complex issue. If we write the moment of inertia $I$ w.r.t. the centre of mass of the quadcopter and in our inertial frame of reference, we can write $$I\dot{\omega} = \omega \times I \omega + M$$ where $\omega \in \mathbb{R}^3$ is the angular velocity and $M$ is the sum of all external moments, all of them computed w.r.t. the centre of mass of the quadcopter. Note that in our second equation the euler angles $\psi$ does not apper. In fact, the dynamic equation for the orientation of a rigid body cannot be easily written in an explicit form w.r.t. the euler angles, because the appear in non linear form in $I$.

Now if we call $u\in \mathbb{R}^4$ our control imput, i.e., the velocity of the 4 blades, we have that the dynamic equations of our system is

$$\left\{ \matrix{m \ddot{x} &=& F(u) \cr I \dot\omega &=& \omega \times I \omega +M(u)} \right.$$ Where, F and M are in general non linear forms of the blade's angular velocities. I think that a this level it will be clear that our system is described by 6 parameters: the position that lives in $\mathbb R^3$ (but really the position bellows to the affine space constructed from $\mathbb R^3$ ) and the three euler angles that are a minimal representation of the rotation group $\mathcal S \mathcal O(3)$ that is a lie group with three degrees of freedom.

Until now we have a system completely described by 6 paramenters and 4 control inputs. So we have 6 DOF!. More over a physicist or mathematician could say that we have 6+4=10 DOF because the position of the motors are also parameter of our system, but engineers say that they are the control input so we manually set its values.

But what if I want to write my system in the more control-engineering shape $\dot x = f(t,x,u)$?

I think the term you are looking for is Holonomic. The important distinction that you've missed is between "total degrees of freedom" and "controllable degrees of freedom" (which is what most roboticists mean when they refer to DOF).

Your quadcopter is non-holonomic; it can achieve 6 degrees of freedom, but only by planning maneuvers that make use of its 4 controllable degrees of freedom.

You have 6 degrees of freedom. Three translational and three rotational. You have linear movements along the xyz axis and rotations around the xyz axis.