28 using namespace ForceControlGroup;
30 #include <RobotAPI/interface/observers/ObserverFilters.h>
47 std::string ftSensorName;
48 if (in.isForceSensorDatafieldSet())
50 filteredForceDF = in.getForceSensorDatafield();
54 if (in.isFTSensorNameSet())
56 ftSensorName = in.getFTSensorName();
60 ftSensorName = getRobot()->getRobotNodeSet(in.getKinematicChainName())->getTCP()->getName();
63 DatafieldRefBasePtr forceDF = getForceTorqueObserver()->getForceDatafield(ftSensorName);
64 filteredForceDF = DatafieldRefPtr::dynamicCast(getForceTorqueObserver()->createNulledDatafield(forceDF));
66 local.setForceRef(filteredForceDF);
67 Literal forceCheck(filteredForceDF->getDataFieldIdentifier(), checks::magnitudelarger, {in.getForceThreshold()});
68 installConditionForHighForceDetected(
Term(forceCheck).getImpl(),
"Condition for reaching a high force");
78 while (!isRunningTaskStopped())
96 if (!in.isForceSensorDatafieldSet())
98 getForceTorqueObserver()->removeFilteredDatafield(local.getForceRef());