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
eeros_architecture:control_system:signals [2017/03/17 12:06] – [Properties] grafeeros_architecture:control_system:signals [2021/03/03 08:29] (current) – [Reading from Unconnected Inputs] ursgraf
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 signal, respectivelyWith the summation block, //getOut()// returns the single output signal+The functions //getIn()// and //getOut()// return an input or output. To access the signals on those in- or outputsuse //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:controlsystem|]].
  
-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> 
  
-In order to access the individual dimensions of a certain signal, use functions like 
-<code cpp> 
-  g1.getOut().getValue();  // returns value of gain output   
-  g1.getOut().getValue().getRow(1);  // returns row 1 of gain output  
-</code>  
  
eeros_architecture/control_system/signals.1489748780.txt.gz · Last modified: 2017/03/17 12:06 by graf