Why do we need motor model if we use mavlink interface?

Dear ALL,

Recently, I have been working on simulations using Gazebo and PX4, and I encountered an issue that I would like to discuss with all of you. In the handle_control function of the Mavlink interface, I performed a SetForce operation. As we all know, we usually set the force on the joint, and the link will move accordingly with the joint. However, in this specific case, when we did not include the motor model, I noticed that the propeller we expected to rotate was not moving.

This has left me quite puzzled, and I wonder if there might be a misunderstanding on my part or if there could be some issues in the code implementation. If any of you have experience or expertise in setting up dynamic propulsion in Gazebo and PX4 simulations, I would greatly appreciate your guidance and suggestions.


Because there is no motor model, it won’t generate enough force. However, the propeller should spin when the force is set.