For my current project, I need to control my quadrotor via a scalar thrust F and a moment vector M.
So far, I am aware of the following:
- The general multicopter controller is defined in
mc_att_controldoes not send any PWM signals directly to the motors. It only sends a uORB/ORB message with the topic
vehicle_rates_setpointdepending on the flight mode. I wasn’t able to figure out, which module is on the receiving end.
- There exists the ACRO flight mode, which controls the multicopter via angular velocities. Am I right to assume, that the controller first calculates the angular moments based on the angular velocities and afterwards the PWM inputs based on the moments? If so, is this done by a Mixer?
Now my question is as follows:
How would I implement a controller, which controls the multicopter via thrust and moments? What are the uORB-topics I would need to use? Or is there already something similar?
I guess, I would be able to calculate the needed PWM signals based on the calculated thrust/moments if this is the only way.