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)