Gazebo Gazebo

API Reference

6.16.0
WindEffects Class Reference

A system that simulates a simple wind model. The wind is described as a uniform worldwide model. So it is independent from model position for simple computations. Its components are computed separately: More...

#include <WindEffects.hh>

Public Member Functions

 WindEffects ()
 Constructor. More...
 
 ~WindEffects () final
 Destructor. More...
 
void Configure (const Entity &_entity, const std::shared_ptr< const sdf::Element > &_sdf, EntityComponentManager &_ecm, EventManager &_eventMgr) final
 Configure the system. More...
 
void PreUpdate (const UpdateInfo &_info, EntityComponentManager &_ecm) final
 
- Public Member Functions inherited from System
 System ()=default
 Constructor. More...
 
virtual ~System ()=default
 Destructor. More...
 

Detailed Description

A system that simulates a simple wind model. The wind is described as a uniform worldwide model. So it is independent from model position for simple computations. Its components are computed separately:

  • Horizontal amplitude: Low pass filtering on user input (complementary gain)
    • small local fluctuations
    • noise on value (noise amplitude is a factor of wind magnitude)
  • Horizontal direction: Low pass filtering on user input (complementary gain)
    • small local fluctuations
    • noise on value
  • Vertical amplitude: Low pass filtering on user input (complementary gain)
    • small local fluctuations
    • noise on value

The following parameters are used by the system:

  • <horizontal><magnitude><time_for_rise> Analogous to the time constant of the low pass filter.
  • <horizontal><magnitude><sin><amplitude_percent> Fraction of the filtered wind velocity magnitude that is set to be the amplitude of the sinusoid.
  • <horizontal><magnitude><sin><period> Period of the sinusoid that is added to the wind velocity magnitude.
  • <horizontal><magnitude><noise> Parameters for the noise that is added to the wind velocity magnitude.
  • <horizontal><direction><time_for_rise> Analogous to the time constant of the low pass filter.
  • <horizontal><direction><sin><amplitude> Amplitude of the sinusoidal that is added on the direction of the wind velocity.
  • <horizontal><direction><sin><period> Period of the sinusoid that is added to the wind velocity direction.
  • <horizontal><direction><noise> Parameters for the noise that is added to the wind velocity direction.
  • <vertical><time_for_rise> Analogous to the time constant of the low pass filter for the vertical wind velocity magnitude.
  • <vertical><noise> Parameters for the noise that is added to the vertical wind velocity magnitude.

Constructor & Destructor Documentation

◆ WindEffects()

Constructor.

◆ ~WindEffects()

~WindEffects ( )
final

Destructor.

Member Function Documentation

◆ Configure()

void Configure ( const Entity _entity,
const std::shared_ptr< const sdf::Element > &  _sdf,
EntityComponentManager _ecm,
EventManager _eventMgr 
)
finalvirtual

Configure the system.

Parameters
[in]_entityThe entity this plugin is attached to.
[in]_sdfThe SDF Element associated with this system plugin.
[in]_ecmThe EntityComponentManager of the given simulation instance.
[in]_eventMgrThe EventManager of the given simulation instance.

Implements ISystemConfigure.

◆ PreUpdate()

void PreUpdate ( const UpdateInfo _info,
EntityComponentManager _ecm 
)
finalvirtual

Implements ISystemPreUpdate.


The documentation for this class was generated from the following file: