There is usually a control mixer block in control schemes in robotics. What is it and what is the functionality and where can I read more about it.

enter image description here

Reference to the paper: https://giuseppesilano.net/publications/smc19.pdf


You've got the outputs of the control loops that are trying to maintain altitude, roll, pitch, and yaw, but you need to have a speed reference for the motors.

The control mixer just takes the outputs for each loop and combines them to get the appropriate speed reference.

For example, if your quadcopter were arranged in an X shape, then maybe increasing speed in motors 1 and 2 make positive roll and increasing speed in 3 and 4 make negative roll. Increasing speed in all motors makes positive altitude, so you might get something like:

motor1 = 0.25*thrust + 0.25*roll;
motor2 = 0.25*thrust + 0.25*roll;
motor3 = 0.25*thrust - 0.25*roll;
motor4 = 0.25*thrust - 0.25*roll;

You'd expand that more as appropriate for pitch and yaw, like 1 and 4 versus 2 and 3 for pitch and 1 and 3 versus 2 and 4 for yaw, to get something like:

motor1 = 0.25*thrust + 0.25*roll + 0.25*pitch + 0.25*yaw;
motor2 = 0.25*thrust + 0.25*roll - 0.25*pitch - 0.25*yaw;
motor3 = 0.25*thrust - 0.25*roll - 0.25*pitch + 0.25*yaw;
motor4 = 0.25*thrust - 0.25*roll + 0.25*pitch - 0.25*yaw;

If your quadcopter were arranged in a + shape instead, then maybe 1 and 3 are the only motors that do anything for roll, 2 and 4 are the only motors that do anything for pitch, but then all motors do thrust and yaw, so you might wind up with something like the below instead:

motor1 = 0.25*thrust + 0.5*roll  + 0.25*yaw;
motor2 = 0.25*thrust - 0.5*pitch - 0.25*yaw;
motor3 = 0.25*thrust - 0.5*roll  + 0.25*yaw;
motor4 = 0.25*thrust + 0.5*pitch - 0.25*yaw;

... and so on. The "control mixer" just combines and maps the control signals to the appropriate motors.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.