FTSensor Class Reference

#include <armarx/control/common/ft/FTSensor.h>

Public Types

using FTConfig = arondto::FTConfig
 

Public Member Functions

bool calibrate (const FTConfig &c, double deltaT)
 
Eigen::Vector6f & compensateTCPGravity (const FTConfig &data)
 
void enableSafeGuard (bool enableForceGuard, bool enableTorqueGuard)
 
 FTSensor ()
 
Eigen::Vector6f & getFilteredForceTorque (const FTConfig &data)
 
Eigen::Vector3f & getSafeGuardForceOffset ()
 
void initialize (const VirtualRobot::RobotNodeSetPtr &rns, const armarx::RobotUnitPtr &robotUnit, const FTConfig &c)
 
bool isForceGuardEnabled ()
 
bool isSafe (const FTConfig &c)
 
bool isTorqueGuardEnabled ()
 
void reset ()
 
void resetSafeGuardOffset (const FTConfig &c)
 
void updateStatus (const FTConfig &c, Eigen::Vector6f &currentFT, double deltaT, bool firstRun)
 
 ~FTSensor ()
 

Public Attributes

std::atomic_bool calibrated {false}
 
std::atomic_bool ftSafe {true}
 
std::atomic_bool ftWasNotSafe {false}
 

Member Typedef Documentation

◆ FTConfig

using FTConfig = arondto::FTConfig

Constructor & Destructor Documentation

◆ FTSensor()

FTSensor ( )
inline

◆ ~FTSensor()

~FTSensor ( )
inline

Member Function Documentation

◆ calibrate()

bool calibrate ( const FTConfig & c,
double deltaT )

this will calibrate the force torque value in FTSensorFrame until timeLimit is reached

rt is ready only if the FT sensor is calibrated, and the rt2interface buffer is updated (see above)

◆ compensateTCPGravity()

Eigen::Vector6f & compensateTCPGravity ( const FTConfig & data)

static compensation in root frame

◆ enableSafeGuard()

void enableSafeGuard ( bool enableForceGuard,
bool enableTorqueGuard )

◆ getFilteredForceTorque()

Eigen::Vector6f & getFilteredForceTorque ( const FTConfig & data)

◆ getSafeGuardForceOffset()

Eigen::Vector3f & getSafeGuardForceOffset ( )

◆ initialize()

void initialize ( const VirtualRobot::RobotNodeSetPtr & rns,
const armarx::RobotUnitPtr & robotUnit,
const FTConfig & c )

◆ isForceGuardEnabled()

bool isForceGuardEnabled ( )

◆ isSafe()

bool isSafe ( const FTConfig & c)

◆ isTorqueGuardEnabled()

bool isTorqueGuardEnabled ( )

◆ reset()

void reset ( )

you have to call this method only in the first loop of rtRun

◆ resetSafeGuardOffset()

void resetSafeGuardOffset ( const FTConfig & c)

◆ updateStatus()

void updateStatus ( const FTConfig & c,
Eigen::Vector6f & currentFT,
double deltaT,
bool firstRun )

TODO how to toggle recalibration?

Member Data Documentation

◆ calibrated

std::atomic_bool calibrated {false}

◆ ftSafe

std::atomic_bool ftSafe {true}

◆ ftWasNotSafe

std::atomic_bool ftWasNotSafe {false}

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