-
Notifications
You must be signed in to change notification settings - Fork 13.7k
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
FIX: fixed-wing airspeed and wind estimation problem in SITL #24437
Conversation
Signed-off-by: TigerWuu <[email protected]>
Signed-off-by: TigerWuu <[email protected]>
Instead of adding a uORB message and plumbing this into SensorAirspeedSim you should instead publish differential pressure directly from the GZBridge. You should then disable SENS_EN_ARSPDSIM when using the wind plugin. Is the plugin added to the world file? I guess we will have to check in the startup script if we're running ionic and disable SENS_EN_ARSPDSIM from there, that way it happens automatically. |
Thanks for your advice.
This plugin has not been added to any world files so far. This plugin only works along with the <wind> tag. e.g. in
I was wondering if it will cause ambiguity in GZBridge. As far as I know, GZBridge is only in charge of transmitting the information from Gazebo to PX4. Publishing the differential pressure from GZBridge represents extra calculations should be conducted in GZBridge, i.e.,
On the other hand, wouldn't it be unintuitive to disable |
We can add it to our PX4 plugins list once #24441 is merged
Differential pressure can be calculated directly within the GZBridge, so we should do it there instead of coupling it to another module.
Yes you're right it is unintuitive, the reason it is done this way is that historically there have been some sensors that we have to "fake" with the In reality it is SIH that needs these "fake" sensors, since SIH does not have a physics engine to provide them. |
Awesome!
Okay, I see. Cool!
In that case, I would like to try if it is possible to switch between body velocity or true airspeed to calculate the differential_pressure in GZBridge. It looks like we had better remove the usage of |
You can use the models groundtruth velocity and the wind velocity in the GZBridge::windCallback to calculate and publish differential pressure.
Yes we should remove it from all of the gz_* models airframe files But that means we need to add wind to all of the worlds (all zeroes, except for the windy world) to ensure the callback runs so that we always get an airspeed published. |
I was wondering if we could publish the |
Yes that makes more sense! |
Done! I will close this PR and reopen another one. |
Solved Problem
Fixes #23756
Solution
windEffect.cc
plugin in Gazebo simionic
ADD: publish the wind information to gz and ros topic gazebosim/gz-sim#2767
Changelog Entry
N/A
Alternatives
N/A
Test coverage
N/A
Context
N/A