I am a master student with background in control theory. In my project I try to implement a nonlinear controller for a custom built Hexacopter.
The controller was simulated in Matlab Simulink and it can produce control in 2 forms:
u = [u1,u2,u3,u4], where u1 is thrust force (SI: N), u2-u4 are roll, pitch, yaw torques (SI: N m).
u = [omega_1,omega_2,...,omega_6], where omega_i - angular speed of motor i, in rad/sec.(RPM)
Motor configuration is X.
I am going to use pixhawk4 autopilot and PX4 Simulink toolbox. But the problem is that motor controlling block takes only PWM signal.
The system has the following parameters:
Motor: Turnigy Multistar 3508-640Kv 14 Pole Multi-Rotor Outrunner V2
Propeller: Aeronaut Cam Carbon light 13x6 or 13x4.7
The drone will fly autonomously, executing build in trajectory. So the control method needs precise execution of motor angular speed, given by the controller.
desired motor speeds are [o1,o2,o3,o4,o5,o6].
Actual motor speeds are approximately [o1,o2,o3,o4,o5,o6] + bias(noise, delay, motor physical restrictions).
How can I find mapping from RPM to PWM signals?
Is it possible to make motors execute desired speeds with reasonable precision?
Thank you for the attention!