Benutzer-Werkzeuge

Webseiten-Werkzeuge


integration

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
integration [2020/02/04 15:05]
oliver angelegt
integration [2021/02/11 22:22] (aktuell)
oliver [Configuration of the file formats]
Zeile 1: Zeile 1:
-=====Measurement Systems=====+======Measurement Systems======
 A measurement system is a source of streaming data. Best supported is data of type timeseries of double values. A double-timeserie is called channel. A measurement system is a source of streaming data. Best supported is data of type timeseries of double values. A double-timeserie is called channel.
 +
 +Multiple measurement systems can be used, even more than one of the same type.
 +
 +If Rotations should be read in the form of 3x3-Matrixes from the sensors but the sensors does not define such data types, than it is automatically asked for roations in quaterion format. The quaternions are than automatically converted into matrixes.
 +
 +=====Configuration of the file formats =====
 +
 +The data read from each measurement system is saved into an own file. A labelset is defined to specify the file formats of these files and defines the names of the labels used to save the timeseries.
 +
 +<code xml>
 +   <?xml version="1.0" encoding="UTF-8"?>
 +<LabelSet name="Recording - Vicon Objects.">
 +    
 +   <Labels name="Vicon" baseFile="true" fileSuffix="Vicon">
 +
 +        <Filter name="zero2nan"/>
 +
 +        <Label sensorName="TCP" name="TCPQ" mathType="MATRIX_3X3D"/>
 +        <Label sensorName="TCP" name="TCPP" mathType="COLUMN_VECTOR_3D"/>
 +        <Label sensorName="TCP" name="TCPT" channelNames="T" mathType="REAL"/>
 +        <Label sensorName="TCP" name="TCPQuality" channelNames="q" mathType="REAL"/>
 +
 +         <!-- TCP marker am Adapter -->
 +        <Label sensorName="TCPA" name="TCPAQ" mathType="MATRIX_3X3D" interpolatorType="NONE"/>
 +        <Label sensorName="TCPA" name="TCPAP" mathType="COLUMN_VECTOR_3D" interpolatorType="NONE"/>
 +        <Label sensorName="TCPA" name="TCPAT" channelNames="T" mathType="REAL" interpolatorType="NONE"/>
 +        <Label sensorName="TCPA" name="TCPAQuality" channelNames="q" mathType="REAL" interpolatorType="NONE"/>
 +
 +        <Label sensorName="UR_Wrist2" name="UR_Wrist2Q" mathType="MATRIX_3X3D"/>
 +        <Label sensorName="UR_Wrist2" name="UR_Wrist2P" mathType="COLUMN_VECTOR_3D"/>
 +        <Label sensorName="UR_Wrist2" name="UR_Wrist2Quality" channelNames="q" mathType="REAL"/>
 +        
 +        <Label sensorName="UR_Wrist1" name="UR_Wrist1Q" mathType="MATRIX_3X3D"/>
 +        <Label sensorName="UR_Wrist1" name="UR_Wrist1P" mathType="COLUMN_VECTOR_3D"/>
 +        <Label sensorName="UR_Wrist1" name="UR_Wrist1Quality" channelNames="q" mathType="REAL"/>
 +       
 +        <Label sensorName="UR_Elbow" name="UR_ElbowQ" mathType="MATRIX_3X3D"/>
 +        <Label sensorName="UR_Elbow" name="UR_ElbowP" mathType="COLUMN_VECTOR_3D"/>
 +        <Label sensorName="UR_Elbow" name="UR_ElbowQuality" channelNames="q" mathType="REAL"/>
 +       
 +        <Label sensorName="UR_Shoulder" name="UR_ShoulderQ" mathType="MATRIX_3X3D"/>
 +        <Label sensorName="UR_Shoulder" name="UR_ShoulderP" mathType="COLUMN_VECTOR_3D"/>
 +        <Label sensorName="UR_Shoulder" name="UR_ShoulderQuality" channelNames="q" mathType="REAL"/>
 +       
 +        <Label sensorName="BASE" name="BASEQ" mathType="MATRIX_3X3D"/>
 +        <Label sensorName="BASE" name="BASEP" mathType="COLUMN_VECTOR_3D"/>
 +        <Label sensorName="BASE" name="BASEQuality" channelNames="q" mathType="REAL"/>
 +        
 +        <Label sensorName="GLOBE" name="GLOBEQ" mathType="MATRIX_3X3D"/>
 +        <Label sensorName="GLOBE" name="GLOBEP" mathType="COLUMN_VECTOR_3D"/>
 +        <Label sensorName="GLOBE" name="GLOBEQuality" channelNames="q" mathType="REAL"/> 
 +         
 +    </Labels> 
 +    <Labels name="RTDE" fileSuffix="RTDE">
 +
 +        <!-- vermutlich wird der Filter beim recording gar nicht benutzt -->
 +        <Filter name="zero2nan"/>
 +
 +        <!-- falscher "sensorName" führrt zu keiner Fehlermeldung, nur im gespeicherten
 +             Trial fehlt dann die betreffende Zeitreihe -->
 +        <Label sensorName="actual" channelNames="URt0" name="Temperature0" mathType="REAL"/>
 +        <Label sensorName="actual" channelNames="URt1" name="Temperature1" mathType="REAL"/>
 +        <Label sensorName="actual" channelNames="URt2" name="Temperature2" mathType="REAL"/>
 +        <Label sensorName="actual" channelNames="URt3" name="Temperature3" mathType="REAL"/>
 +        <Label sensorName="actual" channelNames="URt4" name="Temperature4" mathType="REAL"/>
 +        <Label sensorName="actual" channelNames="URt5" name="Temperature5" mathType="REAL"/>
 +
 +        <Label sensorName="actual" channelNames="URAngle0" name="Angle0" mathType="REAL"/>
 +        <Label sensorName="actual" channelNames="URAngle1" name="Angle1" mathType="REAL"/>
 +        <Label sensorName="actual" channelNames="URAngle2" name="Angle2" mathType="REAL"/>
 +        <Label sensorName="actual" channelNames="URAngle3" name="Angle3" mathType="REAL"/>
 +        <Label sensorName="actual" channelNames="URAngle4" name="Angle4" mathType="REAL"/>
 +        <Label sensorName="actual" channelNames="URAngle5" name="Angle5" mathType="REAL"/>
 +
 +        <Label sensorName="target" channelNames="URAngle0" name="TargetAngle0" mathType="REAL"/>
 +        <Label sensorName="target" channelNames="URAngle1" name="TargetAngle1" mathType="REAL"/>
 +        <Label sensorName="target" channelNames="URAngle2" name="TargetAngle2" mathType="REAL"/>
 +        <Label sensorName="target" channelNames="URAngle3" name="TargetAngle3" mathType="REAL"/>
 +        <Label sensorName="target" channelNames="URAngle4" name="TargetAngle4" mathType="REAL"/>
 +        <Label sensorName="target" channelNames="URAngle5" name="TargetAngle5" mathType="REAL"/>
 +
 +        <Label sensorName="actual" channelNames="T" name="Timestamp" mathType="REAL"/>
 +
 +        <Label sensorName="actual" name="TCPURP" mathType="COLUMN_VECTOR_3D"/>
 +        <Label sensorName="actual" name="TCPURQ" mathType="QUATERNION_D"/>
 +
 +        <Label sensorName="target" name="TargetTCPURP" mathType="COLUMN_VECTOR_3D"/>
 +        <Label sensorName="target" name="TargetTCPURQ" mathType="QUATERNION_D"/> 
 +         
 +    </Labels> 
 +    
 +    <Labels name="RPS" fileSuffix="RPS">
 +
 +        <Label sensorName="target" channelNames="URAngle0" name="TargetAngleRPS0" mathType="REAL"/>
 +        <Label sensorName="target" channelNames="URAngle1" name="TargetAngleRPS1" mathType="REAL"/>
 +        <Label sensorName="target" channelNames="URAngle2" name="TargetAngleRPS2" mathType="REAL"/>
 +        <Label sensorName="target" channelNames="URAngle3" name="TargetAngleRPS3" mathType="REAL"/>
 +        <Label sensorName="target" channelNames="URAngle4" name="TargetAngleRPS4" mathType="REAL"/>
 +        <Label sensorName="target" channelNames="URAngle5" name="TargetAngleRPS5" mathType="REAL"/>
 +
 +        <Label sensorName="target" channelNames="T" name="TimestampRPS" mathType="REAL"/>
 +        <Label sensorName="target" name="TCPURPRPS" mathType="COLUMN_VECTOR_3D"/>
 +        <Label sensorName="target" name="TCPURQRPS" mathType="QUATERNION_D"/>
 +
 +    </Labels> 
 +</code>
 +
 +The name- and the fileSuffix-Attributes must be set to the name of the corresponding measurement system. Escpecially keep in mind that the attribute fileSuffix in this context does not define the file-format/suffix of the corresponding file because the file format is defined in the measurement system configuration instead.
integration.1580825155.txt.gz · Zuletzt geändert: 2020/02/04 15:05 von oliver