ROSFlight simulation: Mixer setup and frame axis


I have yet another question, this time about the simulation setup for the multirotor.

By looking at the multirotor.yaml file, it seems to me that the simulated multirotor is set up as a Quad X frame. However, when I set the parameter MIXER to equal 2, and run the simulation with a simple positive reference input on i.e. the desired roll angle, the quadrotor tilts towards one of its rotors (and not towards the point between two rotors, as you would expect for the Quad X configuration). The result is exactly equal when I set MIXER equal to 1. Am I missing something here?

Also, I am a bit confused about the axis of the quadrotor, so I was hoping you could confirm this: after checking which axis the quadrotor rotates around for different reference inputs, I found that all of the angles are defined around axes in the NED frame. Roll, pitch and yaw are all supposed to be defined in the NED-frame for ROSflight, right?

I am pretty sure that the 3D model being used in Gazebo is a Quadcopter “+”, but the default dynamics are a quadcopter “x”. I think this corresponds with your observations, but it is a little confusing. (I’m pretty sure that the collision volume is just a flattened cylinder, as well). This is simply because when we wrote the simulation software, the only quadcopter model in the default Gazebo repos was the “+” configuration.

By default, the axis convention used everywhere in ROSflight is NED. A common mistake is for people to forget to change their axes on their RC transmitter (