diff --git a/source/RobotAPI/components/units/ForceTorqueObserver.cpp b/source/RobotAPI/components/units/ForceTorqueObserver.cpp
index 37e0fd9a693545e66ac6da1ae6e2ff321c8fa6aa..eacf0be23dd3f4570713ea1d8292bbc34a2b0466 100644
--- a/source/RobotAPI/components/units/ForceTorqueObserver.cpp
+++ b/source/RobotAPI/components/units/ForceTorqueObserver.cpp
@@ -5,6 +5,7 @@
 #include <Core/observers/checks/ConditionCheckInRange.h>
 #include <Core/observers/checks/ConditionCheckLarger.h>
 #include <Core/observers/checks/ConditionCheckSmaller.h>
+#include <Core/observers/checks/ConditionCheckEqualsWithTolerance.h>
 #include <RobotAPI/libraries/core/checks/ConditionCheckMagnitudeChecks.h>
 #include <RobotAPI/libraries/core/observerfilters/OffsetFilter.h>
 #include <Core/observers/variant/DatafieldRef.h>
@@ -44,6 +45,7 @@ void ForceTorqueObserver::onInitObserver()
     offerConditionCheck("equals", new ConditionCheckEquals());
     offerConditionCheck("smaller", new ConditionCheckSmaller());
     offerConditionCheck("magnitudeinrange", new ConditionCheckMagnitudeInRange());
+    offerConditionCheck("approx", new ConditionCheckEqualsWithTolerance());
     offerConditionCheck("magnitudelarger", new ConditionCheckMagnitudeLarger());
     offerConditionCheck("magnitudesmaller", new ConditionCheckMagnitudeSmaller());
 
diff --git a/source/RobotAPI/components/units/KinematicUnitObserver.cpp b/source/RobotAPI/components/units/KinematicUnitObserver.cpp
index c504e9f4d2cc4b85386ea3cff6d958c62b3c266b..eb20b239dc85bf429aa889f79b530d8745bc4020 100644
--- a/source/RobotAPI/components/units/KinematicUnitObserver.cpp
+++ b/source/RobotAPI/components/units/KinematicUnitObserver.cpp
@@ -36,6 +36,7 @@
 #include <VirtualRobot/XML/RobotIO.h>
 #include <VirtualRobot/RobotNodeSet.h>
 #include <VirtualRobot/Nodes/RobotNode.h>
+#include <Core/observers/checks/ConditionCheckEqualsWithTolerance.h>
 
 using namespace armarx;
 
@@ -51,6 +52,7 @@ void KinematicUnitObserver::onInitObserver()
     offerConditionCheck("updated", new ConditionCheckUpdated());
     offerConditionCheck("equals", new ConditionCheckEquals());
     offerConditionCheck("inrange", new ConditionCheckInRange());
+    offerConditionCheck("approx", new ConditionCheckEqualsWithTolerance());
     offerConditionCheck("larger", new ConditionCheckLarger());
     offerConditionCheck("smaller", new ConditionCheckSmaller());
 
diff --git a/source/RobotAPI/components/units/PlatformUnitObserver.cpp b/source/RobotAPI/components/units/PlatformUnitObserver.cpp
index c0e9aeea771e4991ba42766bff8c5ed6acc10036..c0a6930a752a298460e0c3c9006fb23403331060 100644
--- a/source/RobotAPI/components/units/PlatformUnitObserver.cpp
+++ b/source/RobotAPI/components/units/PlatformUnitObserver.cpp
@@ -31,6 +31,7 @@
 #include <Core/observers/checks/ConditionCheckLarger.h>
 #include <Core/observers/checks/ConditionCheckSmaller.h>
 #include <Core/observers/checks/ConditionCheckValid.h>
+#include <Core/observers/checks/ConditionCheckEqualsWithTolerance.h>
 
 
 using namespace armarx;
@@ -49,6 +50,7 @@ void PlatformUnitObserver::onInitObserver()
     offerConditionCheck("updated", new ConditionCheckUpdated());
     offerConditionCheck("equals", new ConditionCheckEquals());
     offerConditionCheck("inrange", new ConditionCheckInRange());
+    offerConditionCheck("approx", new ConditionCheckEqualsWithTolerance());
     offerConditionCheck("larger", new ConditionCheckLarger());
     offerConditionCheck("smaller", new ConditionCheckSmaller());