Class TransformationClient
- Defined in File friTransformationClient.h 
Class Documentation
- 
class TransformationClient
- Abstract FRI transformation client. - A transformation client enables the user to send transformation matrices cyclically to the KUKA - Sunrise controller for manipulating the transformations of dynamic frames in the Sunrise scenegraph. Usually, these matrices will be provided by external sensors. - Custom transformation clients have to be derived from this class and need to implement the provide() callback. This callback is called once by the client application whenever a new FRI message arrives.- This element is an undocumented internal feature. It is not intended to be used by applications as it might change or be removed in future versions. - Public Functions - 
TransformationClient()
- Constructor. - This element is an undocumented internal feature. It is not intended to be used by applications as it might change or be removed in future versions. 
 - 
virtual ~TransformationClient()
- Virtual destructor. - This element is an undocumented internal feature. It is not intended to be used by applications as it might change or be removed in future versions. 
 - 
virtual void provide() = 0
- Callback which is called whenever a new FRI message arrives. - This element is an undocumented internal feature. It is not intended to be used by applications as it might change or be removed in future versions. - In this callback all requested transformations have to be set. 
 - 
double getSampleTime() const
- Get the sample time in seconds. - This is the period in which the KUKA Sunrise controller is sending FRI packets. - Returns:
- sample time in seconds 
 
 - 
EConnectionQuality getConnectionQuality() const
- Get the current FRI connection quality. - Returns:
- current FRI connection quality 
 
 - 
const std::vector<const char*> &getRequestedTransformationIDs() const
- Returns a vector of identifiers of all requested transformation matrices. - This element is an undocumented internal feature. It is not intended to be used by applications as it might change or be removed in future versions. - The custom TransformationClient has to provide data for transformation matrices with these identifiers. - Returns:
- reference to vector of IDs of requested transformations 
 
 - 
unsigned int getTimestampSec() const
- Get the timestamp of the current received FRI monitor message in Unix time. - This element is an undocumented internal feature. It is not intended to be used by applications as it might change or be removed in future versions. - This method returns the seconds since 0:00, January 1st, 1970 (UTC). Use getTimestampNanoSec() to increase your timestamp resolution when seconds are insufficient. - Returns:
- timestamp encoded as Unix time (seconds) 
 
 - 
unsigned int getTimestampNanoSec() const
- Get the nanoseconds elapsed since the last second (in Unix time). - This element is an undocumented internal feature. It is not intended to be used by applications as it might change or be removed in future versions. - This method complements getTimestampSec() to get a high resolution timestamp. - Returns:
- timestamp encoded as Unix time (nanoseconds part) 
 
 - 
void setTransformation(const char *transformationID, const double transformationMatrix[3][4], unsigned int timeSec, unsigned int timeNanoSec)
- Provides a requested transformation matrix. - This element is an undocumented internal feature. It is not intended to be used by applications as it might change or be removed in future versions. - A transformation matrix has 3x4 elements. It consists of a rotational matrix (3x3 elements) and a translational vector (3x1 elements). The complete transformation matrix has the following structure: - [Transformation(3x4)] = [Rotation(3x3) | Translation(3x1) ] - All provided transformation matrices need a timestamp that corresponds to their time of acquisition. This timestamp must be synchronized to the timestamp provided by the KUKA Sunrise controller (see getTimestampSec(), getTimestampNanoSec()). - If an update to the last transformation is not yet available when the provide() callback is executed, the last transformation (including its timestamp) should be repeated until a new transformation is available. - Throws:
- FRIException – Throws a FRIException if the maximum number of transformations is exceeded. 
- Parameters:
- transformationID – Identifier string of the transformation matrix 
- transformationMatrix – Provided transformation matrix 
- timeSec – Timestamp encoded as Unix time (seconds) 
- timeNanoSec – Timestamp encoded as Unix time (nanoseconds part) 
 
 
 - 
void setBooleanIOValue(const char *name, const bool value)
- Set boolean output value. - Throws:
- FRIException – Throws a FRIException if more outputs are set than can be registered. 
- FRIException – May throw an FRIException if the IO is of wrong type, unknown or not an output. 
 
- Parameters:
- name – Full name of the IO (Syntax “IOGroupName.IOName”). 
- value – Boolean value to set. 
 
 
 - 
void setDigitalIOValue(const char *name, const unsigned long long value)
- Set digital output value. - Throws:
- FRIException – Throws a FRIException if more outputs are set than can be registered. 
- FRIException – May throw an FRIException if the IO is of wrong type, unknown or not an output. 
 
- Parameters:
- name – Full name of the IO (Syntax “IOGroupName.IOName”). 
- value – Digital value to set. 
 
 
 - 
void setAnalogIOValue(const char *name, const double value)
- Set analog output value. - Throws:
- FRIException – Throws a FRIException if more outputs are set than can be registered. 
- FRIException – May throw an FRIException if the IO is of wrong type, unknown or not an output. 
 
- Parameters:
- name – Full name of the IO (Syntax “IOGroupName.IOName”). 
- value – Analog value to set. 
 
 
 - 
bool getBooleanIOValue(const char *name) const
- Get boolean IO value. - Throws:
- FRIException – May throw an FRIException if the IO is of wrong type or unknown. 
- Parameters:
- name – Full name of the IO (Syntax “IOGroupName.IOName”). 
- Returns:
- Returns IO’s boolean value. 
 
 - 
unsigned long long getDigitalIOValue(const char *name) const
- Get digital IO value. - Throws:
- FRIException – May throw an FRIException if the IO is of wrong type or unknown. 
- Parameters:
- name – Full name of the IO (Syntax “IOGroupName.IOName”). 
- Returns:
- Returns IO’s digital value. 
 
 - 
double getAnalogIOValue(const char *name) const
- Get analog IO value. - Throws:
- FRIException – May throw an FRIException if the IO is of wrong type or unknown. 
- Parameters:
- name – Full name of the IO (Syntax “IOGroupName.IOName”). 
- Returns:
- Returns IO’s analog value. 
 
 
- 
TransformationClient()