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

Add windshear plugin for dynamics soaring #55

Draft
wants to merge 1 commit into
base: develop
Choose a base branch
from

Conversation

Jaeyoung-Lim
Copy link
Member

@Jaeyoung-Lim Jaeyoung-Lim commented Feb 20, 2022

Describe problem solved by this pull request
This PR adds a gazebo windshear plugin, which can be used to test dynamic soaring

Previously the wind plugin was a world plugin so that the same wind velocity is broadcast to all models in the gazebo world. For our purpose, the gazebo_wind_shear_plugin is added as a model plugin so that the wind strength can depend on the model pose.

Describe your solution
A specific SITL target with airframe plane_dynamicsoaring is created and can be run with the following command.

make px4_sitl gazebo_plane_dynamicsoaring

A linear wind gradient is implemented so that the wind gradient stays the same regardless of the altitude. We can extend this plugin to include more complicated wind plugins in the future.

The plugin can be configured with the following parameters

    <plugin name='wind_shear_plugin' filename='libgazebo_wind_shear_plugin.so'>
      <frameId>base_link</frameId>
      <robotNamespace/>
      <xyzOffset>1 0 0</xyzOffset>
      <windDirectionMean>0 1 0</windDirectionMean>
      <windVelocityMax>15.0</windVelocityMax>
      <windGustDirection>0 0 0</windGustDirection>
      <windGustDuration>0</windGustDuration>
      <windGustStart>0</windGustStart>
      <windGustVelocityMean>0</windGustVelocityMean>
      <windShearGradient>0.2</windShearGradient>
      <windShearOffset>0.0</windShearOffset>
      <windPubTopic>world_wind</windPubTopic>
    </plugin>

FYI @MarvinHarms

Test data / coverage
Tested in SITL Gazebo (flightlog: log), flying loiter circles at the same location with different altitudes. You can see the wind estimates varying depending on the altitude.

To reproduce:

make px4_sitl gazebo_plane_dynamicsoaring

Additional context

  • The wind field visualization is not present. This would require another visual plugin and will follow up with an additional PR

This commit adds SITL targets for the dynamic soaring aircraft and additional plugins in the sitl_gazebo submodule
@stale
Copy link

stale bot commented May 31, 2022

This issue has been automatically marked as stale because it has not had recent activity. Thank you for your contributions.

@stale stale bot added the stale label May 31, 2022
@stale
Copy link

stale bot commented Sep 9, 2022

This issue has been automatically marked as stale because it has not had recent activity. Thank you for your contributions.

@stale stale bot added the stale label Sep 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant