LinearBatteryPlugin Class Reference

A plugin that simulates a linear battery. More...

#include <LinearBatteryPlugin.hh>

Inherits ModelPlugin.

Public Types

typedef boost::shared_ptr< ModelPluginTPtr
 plugin pointer type definition More...
 

Public Member Functions

 LinearBatteryPlugin ()
 Constructor. More...
 
std::string GetFilename () const
 Get the name of the handler. More...
 
std::string GetHandle () const
 Get the short name of the handler. More...
 
PluginType GetType () const
 Returns the type of the plugin. More...
 
virtual void Init ()
 Override this method for custom plugin initialization behavior. More...
 
virtual void Load (physics::ModelPtr _model, sdf::ElementPtr _sdf)
 Load function. More...
 
virtual void Reset ()
 Override this method for custom plugin reset behavior. More...
 

Static Public Member Functions

static TPtr Create (const std::string &_filename, const std::string &_name)
 a class method that creates a plugin from a file name. More...
 

Protected Member Functions

void LoadParam (const sdf::ElementPtr &_sdf, const std::string &_name, V &_target, V _defaultValue=V()) const
 Load parameter value from _sdf and store it to the given reference, using the supplied default value if the element in _sdf is not found. More...
 
void LoadParam (sdf::ElementPtr &_sdf, const std::string &_name, std::string &_target, const char *_defaultValue) const
 Load parameter value from _sdf and store it to the given reference, using the supplied default value if the element in _sdf is not found. More...
 

Protected Attributes

common::BatteryPtr battery
 Pointer to battery contained in link. More...
 
double c
 Battery capacity in Ah. More...
 
double e0
 Open-circuit voltage. More...
 
double e1
 
std::string filename
 Path to the shared library file. More...
 
std::string handleName
 Short name. More...
 
double iraw
 Raw battery current in A. More...
 
double ismooth
 Smoothed battery current in A. More...
 
physics::LinkPtr link
 Pointer to link containing battery link. More...
 
physics::ModelPtr model
 Pointer to model containing plugin. More...
 
physics::PhysicsEnginePtr physics
 Pointer to physics engine. More...
 
double q
 Instantaneous battery charge in Ah. More...
 
double q0
 Initial battery charge in Ah. More...
 
double r
 Battery inner resistance in Ohm. More...
 
sdf::ElementPtr sdf
 SDF for this plugin;. More...
 
double tau
 Current low-pass filter characteristic time in seconds. More...
 
PluginType type
 Type of plugin. More...
 
event::ConnectionPtr updateConnection
 Connection to World Update events. More...
 
physics::WorldPtr world
 Pointer to world. More...
 

Detailed Description

A plugin that simulates a linear battery.

Member Typedef Documentation

◆ TPtr

typedef boost::shared_ptr<ModelPlugin > TPtr
inherited

plugin pointer type definition

Constructor & Destructor Documentation

◆ LinearBatteryPlugin()

Constructor.

Member Function Documentation

◆ Create()

static TPtr Create ( const std::string &  _filename,
const std::string &  _name 
)
inlinestaticinherited

a class method that creates a plugin from a file name.

It locates the shared library and loads it dynamically.

Parameters
[in]_filenamethe path to the shared library.
[in]_nameshort name of the plugin
Returns
Shared Pointer to this class type

References PluginT< T >::filename, gzerr, and SingletonT< SystemPaths >::Instance().

◆ GetFilename()

std::string GetFilename ( ) const
inlineinherited

Get the name of the handler.

References PluginT< T >::filename.

◆ GetHandle()

std::string GetHandle ( ) const
inlineinherited

Get the short name of the handler.

References PluginT< T >::handleName.

◆ GetType()

PluginType GetType ( ) const
inlineinherited

Returns the type of the plugin.

Returns
type of the plugin

References PluginT< T >::type.

◆ Init()

virtual void Init ( )
virtual

Override this method for custom plugin initialization behavior.

Reimplemented from ModelPlugin.

◆ Load()

virtual void Load ( physics::ModelPtr  _model,
sdf::ElementPtr  _sdf 
)
virtual

Load function.

Called when a Plugin is first created, and after the World has been loaded. This function should not be blocking.

Parameters
[in]_modelPointer to the Model
[in]_sdfPointer to the SDF element of the plugin.

Implements ModelPlugin.

◆ LoadParam() [1/2]

void LoadParam ( const sdf::ElementPtr &  _sdf,
const std::string &  _name,
V &  _target,
_defaultValue = V() 
) const
inlineprotectedinherited

Load parameter value from _sdf and store it to the given reference, using the supplied default value if the element in _sdf is not found.

A message is written using gzmsg reporting whether the default value was used or not.

Parameters
[in]_sdfThe SDF element of the plugin.
[in]_nameName of a tag inside the SDF.
[out]_targetThe reference to store the param value to.
[in]_defaultValueThe default value.

References gzmsg, and PluginT< T >::handleName.

◆ LoadParam() [2/2]

void LoadParam ( sdf::ElementPtr &  _sdf,
const std::string &  _name,
std::string &  _target,
const char *  _defaultValue 
) const
inlineprotectedinherited

Load parameter value from _sdf and store it to the given reference, using the supplied default value if the element in _sdf is not found.

A message is written using gzmsg reporting whether the default value was used or not. String specialization to allow accepting const char* values for std::string parameters.

Parameters
[in]_sdfThe SDF element of the plugin.
[in]_nameName of a tag inside the SDF.
[out]_targetThe reference to store the param value to.
[in]_defaultValueThe default value.

◆ Reset()

virtual void Reset ( )
virtual

Override this method for custom plugin reset behavior.

Reimplemented from ModelPlugin.

Member Data Documentation

◆ battery

common::BatteryPtr battery
protected

Pointer to battery contained in link.

◆ c

double c
protected

Battery capacity in Ah.

◆ e0

double e0
protected

Open-circuit voltage.

E(t) = e0 + e1 * Q(t) / c

◆ e1

double e1
protected

◆ filename

std::string filename
protectedinherited

Path to the shared library file.

◆ handleName

std::string handleName
protectedinherited

Short name.

◆ iraw

double iraw
protected

Raw battery current in A.

◆ ismooth

double ismooth
protected

Smoothed battery current in A.

◆ link

physics::LinkPtr link
protected

Pointer to link containing battery link.

◆ model

physics::ModelPtr model
protected

Pointer to model containing plugin.

◆ physics

physics::PhysicsEnginePtr physics
protected

Pointer to physics engine.

◆ q

double q
protected

Instantaneous battery charge in Ah.

◆ q0

double q0
protected

Initial battery charge in Ah.

◆ r

double r
protected

Battery inner resistance in Ohm.

◆ sdf

sdf::ElementPtr sdf
protected

SDF for this plugin;.

◆ tau

double tau
protected

Current low-pass filter characteristic time in seconds.

◆ type

PluginType type
protectedinherited

Type of plugin.

◆ updateConnection

event::ConnectionPtr updateConnection
protected

Connection to World Update events.

◆ world

physics::WorldPtr world
protected

Pointer to world.


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