26 #include <VirtualRobot/RobotNodeSet.h>
29 using namespace ForceControlGroup;
31 #include <RobotAPI/interface/observers/ObserverFilters.h>
34 MoveOnLineUntilContact::SubClassRegistry
50 std::string ftSensorName;
51 if (in.isForceSensorDatafieldSet())
53 filteredForceDF = in.getForceSensorDatafield();
57 if (in.isFTSensorNameSet())
59 ftSensorName = in.getFTSensorName();
64 getRobot()->getRobotNodeSet(in.getKinematicChainName())->getTCP()->getName();
67 DatafieldRefBasePtr forceDF = getForceTorqueObserver()->getForceDatafield(ftSensorName);
69 DatafieldRefPtr::dynamicCast(getForceTorqueObserver()->createNulledDatafield(forceDF));
71 local.setForceRef(filteredForceDF);
72 Literal forceCheck(filteredForceDF->getDataFieldIdentifier(),
73 checks::magnitudelarger,
74 {in.getForceThreshold()});
75 installConditionForHighForceDetected(
Term(forceCheck).getImpl(),
76 "Condition for reaching a high force");
87 while (!isRunningTaskStopped())
91 << in.getForceThreshold();
108 if (!in.isForceSensorDatafieldSet())
110 getForceTorqueObserver()->removeFilteredDatafield(local.getForceRef());