rotors_simulator icon indicating copy to clipboard operation
rotors_simulator copied to clipboard

Modify rotor dynamics

Open juanmed opened this issue 6 years ago • 0 comments

Hello,

Thanks for releasing such an awesome simulator, I plan to use it for research purposes. I understand the dynamic model for the rotor implemented in RotorS is based on the first 2 terms of eq (1) and (2) in [1]. I would like to change this model to eq (6) and (7) of [2].

Analyzing the code I see this is implemented in gazebo_motor_model.cpp function GazeboMotorModel::UpdateForcesAndMoments():

https://github.com/juanmed/rotors_simulator/blob/8b2c434e41f1383b82c939880330ee89c34c899f/rotors_gazebo_plugins/src/gazebo_motor_model.cpp#L390

I will appreciate you could help me with some questions:

  • is this the correct place to modify the rotor dynamics?
  • Is there any script to refer to, or could you give any suggestions, in order to implement rotor dynamics that depend also on the body angular velocity and rotor position vector, i.e. how to get body angular velocity and rotor position vector?
  • Would you please give me some directions on what to consider in terms when modifying this? - Could you please describe simulation speed vs accuracy?

Finally, could you please explain the difference between turning_direction_ and real_motor_velocity_sign?

https://github.com/juanmed/rotors_simulator/blob/8b2c434e41f1383b82c939880330ee89c34c899f/rotors_gazebo_plugins/src/gazebo_motor_model.cpp#L429

Thank you very much for your support :)

[1]Martin, P., & Salaün, E. (2010). The true role of accelerometer feedback in quadrotor control. Proceedings - IEEE International Conference on Robotics and Automation, 1623–1629. https://doi.org/10.1109/ROBOT.2010.5509980 [2]Kai, J. M., Allibert, G., Hua, M. D., & Hamel, T. (2017). Nonlinear feedback control of Quadrotors exploiting First-Order Drag Effects. IFAC-PapersOnLine, 50(1), 8189–8195. https://doi.org/10.1016/j.ifacol.2017.08.1267

juanmed avatar May 31 '19 16:05 juanmed