Wind#
The wind component is attached to the world and its associated machine is
therefore called world
. It must be specified when accessing its parameters
with sphinx-cli
. For example, to set the speed mean to 5.0 m/s, enter the
following:
$ sphinx-cli param -m world wind magnitude_mean 5.0
By default, the wind is described as a uniform worldwide model. So it does not depend on the drone position. Its components are computed separately:
Full magnitude in m/s
Horizontal direction in degrees
Angle in degrees formed by the horizontal plane and the wind direction projected onto the vertical plane
Each component is computed from an
ExprTk expression, where val
is the mean value.
For example, the following defines an horizontal sinusoidal wind with an orientation that turns 360° every 60 seconds. Note that, in this example, the mean direction and mean elevation are unused.
$ sphinx-cli param -m world wind magnitude_expr val*(1+0.05*sin(2*pi*time/15))
$ sphinx-cli param -m world wind direction_expr 360*time/60
$ sphinx-cli param -m world wind direction_expr "0.03*noise()"
Low-pass filtering#
To prevent the wind from changing too fast in a non-realistic way, mean values
can optionally be lowpass filtered by setting their time_for_rise
to a value
greater than 1 ms. The equation of the filter is:
Therefore when time_for_rise
is set to 0.001 second (or lower), the filter
is deactivated.
Advanced parameters#
The mean wind can optionally depends on:
The height \(z\) above the ground
The terrain roughness \(c_r\) defined by the
terrain_category
By default, the height above the ground and terrain roughness are ignored.
To activate their effects, the enable_terrain_effect
parameter must be set
to true
.
Important
When the enable_terrain_effect
parameter is set to true
,
the magnitude_mean
parameter defines the mean wind velocity at 10 m above
ground level.
When activated, the mean wind velocity at height \(z\) is determined using the expression found in section 4.3 of [EN1991-1-4]:
where \(v_b\) is the characteristic mean wind velocity, at 10 m above ground level in open country terrain with low vegetation. The orography factor \(c_0\) accounts for the increase of mean wind speed over isolated hills and escarpments. In the simulator, for ease of use, the orography factor \(c_0\) is always set to 1, which means that the average slope of the terrain exposed to the wind is always considered to be less than 3°.
Available terrain_category
values are:
Value |
Description |
---|---|
0 |
Sea, or coastal area, exposed to sea winds; lakes and bodies of water travered by wind over a distance of at least 5 km. |
1 |
Open countryside, with or without a few isolated obstacles (trees, buildings, etc.) separated from each other by more than 40 times their height. |
2 |
Countryside with hedges; vineyards; bocage; scattered habitat. |
3 |
Urbanized or industrial areas; dense bocage; orchards. |
4 |
Urban areas, of which at least 15% of the surface is covered by buildings whose average height is greater than 15 m. |
European Committee for Standardization, EN 1991-1-4:2005+A1:2010 - Eurocode 1. Actions on structures. General actions. Wind actions, CEN, 2005/2010.
Internals#
In Gazebo, the wind component is instantiated by a world plugin. Its default
parameter values are set in the .world file used to start Parrot Sphinx. When
no .world file is provided in the command line, Parrot Sphinx starts with the
.world file located in
/opt/parrot-sphinx/usr/share/sphinx/sphinx/worlds/void.world
. If you want to
change these default values, you would have to create you own .world file and
specify its path in Parrot Sphinx command line like so:
$ sphinx /path/to/my.drone /path/to/custom.world
All parameters#
Name |
Description |
Expected type |
---|---|---|
direction_expr |
Direction expression where |
string |
direction_mean |
Desired mean direction in degrees. |
floating-point number |
direction_time_for_rise |
Lowpass filter time characteristics for the direction in seconds. A value of 0 second deactivates the filter. |
floating-point number |
elevation_expr |
Elevation expression where |
string |
elevation_mean |
Desired mean elevation in degrees. |
floating-point number |
elevation_time_for_rise |
Lowpass filter time characteristics for the elevation in seconds. A value of 0 second deactivates the filter. |
floating-point number |
enable_terrain_effect |
If |
boolean |
enabled |
Enable/disable the wind. |
boolean |
magnitude_expr |
Magnitude expression where |
string |
magnitude_mean |
Desired mean magnitude in |
floating-point number |
magnitude_time_for_rise |
Lowpass filter time characteristics for the magnitude in seconds. A value of 0 second deactivates the filter. |
floating-point number |
terrain_category |
Terrain category (0-5). Defaults to 1. |
integer |