Flatness[1] based control is pretty neat. Basically, you can define a trajectory (that is differentiable n-times) and then calculate the state of the system from that. In this case, given the trajectory they could compute the speed, acceleration, jerk and yaw+rate for the tailsitter ahead of time using the model. [1] https://en.wikipedia.org/wiki/Flatness_(systems_theory)
>differential flatness I am trying to understand this a bit better. Do you have other examples?
The concept is a bit comparable to inverse kinematics. With inverse kinematics you compute, e.g. the joint angles of a robot arm given its endeffector pose.
While with differential flatness you use the pose trajectory and its derivatives (i.e. how the pose changes over time) to calculate the state trajectory (joint angles, speeds and accelerations for the robot arm example).