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

Lift Drag Plugin: #2189 breaks reverse thrust when used to model propellers #2476

Open
srmainwaring opened this issue Jul 12, 2024 · 2 comments
Assignees
Labels
bug Something isn't working

Comments

@srmainwaring
Copy link
Contributor

Environment

Not environment specific.

Description

Previous behaviour

  • Prior to Lift Drag Bug Fix #2189 the lift-drag plugin applied to propeller blades would result in reverse thrust when the propeller direction is reversed.

Changed behaviour

  • A reversed propeller has zero thrust.

Steps to reproduce

  1. The iris quadcopter example in ardupilot_gazebo models propeller thrust by applying the lift drag plugin to each propeller blade. The upwards direction is along the axis of rotation and the forward direction is along the +/- y-direction depending upon whether the rotation is cw or ccw and which blade is being modelled (for a two blade prop).
  2. When spinning in the intended direction the prop provides the expected thrust. When reversed the prop now provides no thrust, previously the thrust would be reversed provided suitable lift drag parameters were selected.

This is the change from #2189 that altered the behaviour.

if (forwardI.Dot(vel) <= 0.0){
// Only calculate lift or drag if the wind relative velocity
// is in the same direction
return;
}

@srmainwaring srmainwaring added the bug Something isn't working label Jul 12, 2024
@arjo129
Copy link
Contributor

arjo129 commented Jul 16, 2024

Slightly related is this conversation: https://github.com/gazebosim/gz-sim/pull/2189/files#r1348128692

I'm open to removing this line, but it seems that there are two different use cases: (1) for reversible thrust in the case of propellers and (2) for no reversible thrust (I dont think a reversed airfoil would have the same lift-drag coefficients). We probably should have a simple reversible tag that defaults to true. I should have thought of this when reviewing said PR 🤦 .

@srmainwaring
Copy link
Contributor Author

srmainwaring commented Jul 16, 2024

We probably should have a simple reversible tag that defaults to true.

That would be a good solution that preserves previous behaviour. I'll raise a PR with the change.

Most airfoils are not symmetric when reversed, but there are exceptions: https://en.wikipedia.org/wiki/Sikorsky_S-72

@azeey azeey moved this from Inbox to To do in Core development Jul 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
Status: To do
Development

No branches or pull requests

2 participants