Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Modify the wind plugin to also have effect on the forces and moments of the gazebo_motor_model #132

Open
ffurrer opened this issue Jan 8, 2015 · 6 comments

Comments

@ffurrer
Copy link
Contributor

ffurrer commented Jan 8, 2015

There are some ways how we can achieve this, but we should discuss that I think.

@ffurrer ffurrer self-assigned this Jan 8, 2015
@ffurrer ffurrer added this to the Opensource Simulator milestone Jan 8, 2015
@burrimi
Copy link
Contributor

burrimi commented Jan 9, 2015

We should only apply forces to the rotors I think. At least according to the identification we did with Manuel, the main influence came from the air drag. Not sure how to handle wind in z direction though.

@markusachtelik
Copy link
Contributor

the clean way would be to apply the forces on rotors. for the z-direction, we could try to find some drag coefficient that is proportional to the speed squared. Does anyone know what happens with wind that goes through the rotor disk parallel to the rotor's axis? That would probably be the main source.

We could think about two modes, or call it somewhat "disturbance plugin":

  • simple mode, that just applies a disturbance force
  • advanced mode with wind model etc
  • which other disturbances may exist?

@ffurrer
Copy link
Contributor Author

ffurrer commented Jan 12, 2015

Does anyone know what happens with wind that goes through the rotor disk parallel to the rotor's axis?

I guess that will basically change the angle of attack of the rotor which would lead in a different motor_constant_ in:

double force = real_motor_velocity * real_motor_velocity * motor_constant_;

Does that make sense?
Not sure how we would incorporate this though, we would need to have the motor_constant_ depend on the current velocity (air + body) going through the rotor plane parallel to the rotor's axis or something similar.

@burrimi
Copy link
Contributor

burrimi commented Jan 12, 2015

We just need to get the velocity in world coordinates and project it onto the rotor plane (which needs the orientation of the motor).
I think both (the velocity and the orientation) are available in the plugin.

@ffurrer
Copy link
Contributor Author

ffurrer commented Jan 13, 2015

To wrap it up:

  • rename plugin to disturbance_plugin
  • add sdf parameters
    • force params that replace the wind and windgust, which then just apply a disturbance force
    • do we want something like a disturbance moment?
    • wind params similar to the ones which we have now, just with a wind speed instead of force
  • publish the wind from the plugin if some wind is set
  • apply the disturbance forces, just like the wind forces are currently applied
  • make a callback in gazebo_motor_model to get the current wind
  • apply the wind forces and moments in gazebo_motor_model

@markusachtelik and @burrimi any additions or changes?

@ffurrer ffurrer removed this from the Opensource Simulator milestone Jan 16, 2015
@juanmed
Copy link

juanmed commented Jun 27, 2019

@ffurrer Hello. I understand this is a very old thread but, is there any reference pull-request where I can see how the functionality here was implemented? I am interested in modifying the model of the rotors to account for air drag beyond the current implementation.

Any comments will be very appreciated.

@ffurrer ffurrer removed their assignment Jul 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants