User Tools

Site Tools


eeros_architecture:control_system:signals

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
eeros_architecture:control_system:signals [2017/03/17 12:47] – [Using Signals] grafeeros_architecture:control_system:signals [2018/11/13 10:36] – [Properties] graf
Line 6: Line 6:
 Each element of a signal is characterized by a value, a high precision timestamp, a name and additional properties, depending on the type of signal, which will provide semantic information. Some examples are dimension (e.g. length, mass, current, etc.), SI-unit (e.g. m, m/s, kg, Nm, A, etc.), reference coordinate system or activation state (enabled/disabled). Other properties could include information about the quality of the signal like noise or quantification which could be used for Kalman filtering. Each element of a signal is characterized by a value, a high precision timestamp, a name and additional properties, depending on the type of signal, which will provide semantic information. Some examples are dimension (e.g. length, mass, current, etc.), SI-unit (e.g. m, m/s, kg, Nm, A, etc.), reference coordinate system or activation state (enabled/disabled). Other properties could include information about the quality of the signal like noise or quantification which could be used for Kalman filtering.
  
-{{ signaluml.png?150 | Signal type with its properties}}+[{{ signaluml.png?150 | //Signal type with its properties//}}]
  
 It's important to note that a signal can carry a single value as well as a vector or matrix of values. For this purpose the field //value// is declared as of type T.  It's important to note that a signal can carry a single value as well as a vector or matrix of values. For this purpose the field //value// is declared as of type T. 
Line 25: Line 25:
 </code>  </code> 
 This is shown in the following diagram: This is shown in the following diagram:
-{{ sumblock.png?300 | //Summation block with threedimensional signals//}}+[{{ sumblock.png?300 | //Summation block with threedimensional signals//}}]
  
 The functions //getIn()// and //getOut()// return an input or output. To access the signals on those in- or outputs, use //getSignal()// The functions //getIn()// and //getOut()// return an input or output. To access the signals on those in- or outputs, use //getSignal()//
  
-===== Using Signals ===== +===== Timestamp ===== 
-The example below shows gain block being defined, where its input and output are set to a two dimensional vectorIts gain is therefore a 2x2-matrix+Every signal carries a timestamp. The timestamp of signal is usually set in input blocks. Block which read from an external source and deliver this value on a output signal will set its timestamp to the time of the acquisition of the value\\ 
-<code cpp> +Most blocks will not alter this timestampHowever, blocks which depend on the sampling time such as integrators or differentiators will change the timestamp according to their inner algorithm.   
-  Gain<Vector2Matrix<2,2>> g1({1,2.5,-1,-0.5}); + 
-</code>+===== Reading from Unconnected Inputs ===== 
 +If you try to read from an inputwhich is not connected to an outputa //NotConnectedFault// is thrownPlease make sure that such faults are handled correctly. For an example refer to [[getting_started:tutorials:controlsystem3|]]
  
-If a ''Gain'' block is declared with a simple value, a eye matrix with this value is created internally.  
-<code cpp> 
-  Gain<Vector2> g2(10); 
-</code> 
  
eeros_architecture/control_system/signals.txt · Last modified: 2021/03/03 08:29 by ursgraf