diff --git a/source/RobotAPI/components/units/RobotUnit/util/DynamicsHelper.cpp b/source/RobotAPI/components/units/RobotUnit/util/DynamicsHelper.cpp
index 79d076f9b2aa7202f4ad649f76090b034da2f6db..cec8ac628c61f19ff19e9cb41dac8b5e441e1bb9 100644
--- a/source/RobotAPI/components/units/RobotUnit/util/DynamicsHelper.cpp
+++ b/source/RobotAPI/components/units/RobotUnit/util/DynamicsHelper.cpp
@@ -78,7 +78,9 @@ namespace armarx
                            const IceUtil::Time& timeSinceLastIteration)
     {
         for (auto& pair : dataMap)
-        {
+        {   
+            // std::cerr << pair.first->getName() << std::endl;
+
             // first get current state of the robot (position, velocity, acceleration)
             auto& data = pair.second;
             auto& dynamics = data.dynamics;
@@ -86,7 +88,11 @@ namespace armarx
                 size_t i = 0;
                 for (auto& node : data.nodeSensorVec)
                 {
-                    ARMARX_CHECK_EXPRESSION(node.second) << node.first->getName();
+
+                    if (not node.second) {
+                        continue;
+                    }
+                    // ARMARX_CHECK_EXPRESSION(node.second) << node.first->getName();
                     data.q(i) = node.second->position;
                     if (i < data.velocityFilter.size() && data.velocityFilter.at(i) &&
                         !std::isnan(node.second->velocity))
@@ -111,9 +117,21 @@ namespace armarx
                     i++;
                 }
             }
-            // calculate external torques (tau) applied to robot induced by dynamics
+
+
+
+            // std::cerr << "getGravityMatrix" << std::endl;
+            // // calculate external torques (tau) applied to robot induced by dynamics
+            // std::cerr << data.q.rows() << std::endl;
+            // std::cerr << dynamics.getModel()->dof_count << std::endl;
             dynamics.getGravityMatrix(data.q, data.tauGravity);
+
+
+
+            // FIXME handle constraints
             dynamics.getInverseDynamics(data.q, data.qDot, data.qDDot, data.tau);
+            
+            
             // update virtual sensor values
             size_t i = 0;
             for (auto& node : data.nodeSensorVec)
diff --git a/source/RobotAPI/libraries/armem_mps/CMakeLists.txt b/source/RobotAPI/libraries/armem_mps/CMakeLists.txt
index e51a8534780cbc9d8102ee4a23a57f9cf4daac4c..a67fba39d00fdafc846b4fe47bce23a4c72d134b 100644
--- a/source/RobotAPI/libraries/armem_mps/CMakeLists.txt
+++ b/source/RobotAPI/libraries/armem_mps/CMakeLists.txt
@@ -50,5 +50,5 @@ armarx_add_library(
 
 
 add_library(RobotAPI::armem_mps ALIAS armem_mps)
-target_link_libraries(armem_mps LINK_PUBLIC rbdl)
+# target_link_libraries(armem_mps LINK_PUBLIC rbdl)
 add_subdirectory(server)