Dynamics Simulation Inconsistencies in SimMechanics Model

6 views (last 30 days)
I have been learning how to use SimMechanics and Simulink to model an F450 quadcopter system. I used SimMechanics Link for SolidWorks to export the model to a 2nd Generation SimMechanics model. However, when I apply a torque to the motors, the dynamics of the system doesn't follow the laws of physics. For example, when I apply a torque to one of the motors, only the yaw of the system changes. I have not been able to trace the root cause of this issue. More experienced advice/feedback would be much appreciated!
Here is a link my SimMechanics/Simulink model.

Answers (1)

Sebastian Castro
Sebastian Castro on 9 Mar 2016
Edited: Sebastian Castro on 9 Mar 2016
This makes sense, actually. Have you made any connection between the angular velocity of the motor and the thrust provided? SimMechanics only knows that you're spinning a propeller but can't figure out the aerodynamics for you.
There is usually a relationship between propeller speed and thrust which you have to implement yourself, whether it be a curve fit, lookup table, etc. The goal is to measure the rotational speed of each motor and use an "External Force and Torque" block to apply a force that is normal to each of the corresponding propeller.
Once you've set up all that, SimMechanics will apply the 4 thrust forces to the system, which will make the quadcopter translate and rotate because of that 6-DoF joint.
- Sebastian
  4 Comments
Jonathan
Jonathan on 9 Mar 2016
Man, these toolboxes are so powerful! I am falling in love with these toolboxes.
Quick follow up.. I don't have all of the information from the manufacturer to model the Brushless motors. For example, I don't have a list of maximum torque values, the electrical loss information, and the rotor inertia. What is typically the best way to model this given this constraint?
Sebastian Castro
Sebastian Castro on 9 Mar 2016
If you have a real motor at hand, you can collect data from it and use it to estimate parameters, as in the following video:
Otherwise, if you have different parameterizations in your datasheet, you can try convert them to a format that works with premade blocks, or make your own blocks using the Simscape language:
- Sebastian

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!