Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Control system modelling & simulation from dynamic equations (quadrotor)

Status
Not open for further replies.
For this reason i am designing the state space based on the input of each motor which will create a moment around each of the Tψ, Tθ and Tβ axis.
Tψ is: k((ω1^2)+(ω3^2)-(ω2^2)-(ω4^2))
Tθ is: Lk((ω2^2)-(ω4^2))
and Tβ is: Lk((ω3^2)-(ω1^2))

where ω1-4 respectively are the angular velocity of a given motor, and (ω^2) is the torque provided by said motor.
Thus a movement on a given axis is the based on the ratio of torques or motor velocities on each axis.

Thus:

dωψ/dt = k((ω1^2)+(ω3^2)-(ω2^2)-(ω4^2))

dωθ/dt = Lk((ω2^2)-(ω4^2))

dωβ/dt = Lk((ω3^2)-(ω1^2))

where L is the distance between each motor and the centre of gravity and K is a constant greater than 1.
Here you have to decide whether to use the torque/thrust as the inputs to the model, or the motor velocities. The problem with using the velocities is that the equations are then nonlinear (more nonlinear than with torque/thrust) and you would have to linearize the inputs. It is probably better to let the torques/thrust be the inputs to the system, and then use the nonlinear equations to solve for and generate the required velocities. At least that is better assuming you can work out the equations in a nice way that is implementable. If you can't you may need to linearize the velocity inputs to have a usable design model.

As I said above, I have not tried to work any of this out to see which approach is best, but once you dive in, one method will be better than the other, and you will know which path to take.
 
Another comment I can make is that you could allow the square of the velocities be the inputs. This way, the speed squared is like a linear variable in the model.
 
Another comment, if you don't mind me brain storming, is as follows.

If you do adopt the idea in post #22 above, and use the velocity squared as the input to the model, then you can also set up differential-mode, common-mode variable definitions as follows.

u13p = (ω1^2) + (ω3^2)
u13m = (ω1^2) - (ω3^2)
u24p = (ω2^2) + (ω4^2)
u24m = (ω2^2) - (ω4^2)

This results in the following

Tψ is: k ( u13p - u24p )
Tθ is: L k u24m
and Tβ is: -L k u13m

Then the thrust will be something proportional to the sum of all speeds squared such that: u=c ( u13p + u24p ) where c is a constant.
 
Last edited:
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top