diff --git a/source/RobotAPI/interface/units/RobotUnit/NJointTaskSpaceDMPController.ice b/source/RobotAPI/interface/units/RobotUnit/NJointTaskSpaceDMPController.ice index 93b018801eb5e7f6b870e06b914798d511dc5780..dd17bc15be467cf494facd91bd1ac7fd2b58ef43 100644 --- a/source/RobotAPI/interface/units/RobotUnit/NJointTaskSpaceDMPController.ice +++ b/source/RobotAPI/interface/units/RobotUnit/NJointTaskSpaceDMPController.ice @@ -325,6 +325,7 @@ module armarx { void learnDMPFromFiles(Ice::StringSeq trajfiles); void learnJointDMPFromFiles(string jointTrajFile, Ice::FloatSeq currentJVS); + void setUseNullSpaceJointDMP(bool enable); bool isFinished(); void runDMP(Ice::DoubleSeq goals); diff --git a/source/RobotAPI/libraries/RobotAPINJointControllers/DMPController/NJointTaskSpaceImpedanceDMPController.cpp b/source/RobotAPI/libraries/RobotAPINJointControllers/DMPController/NJointTaskSpaceImpedanceDMPController.cpp index 65da4d862d7696bccaca2b68e5576777e722d54d..91f65179c440efe816c1e4d6f22f4f517e0ff2ea 100644 --- a/source/RobotAPI/libraries/RobotAPINJointControllers/DMPController/NJointTaskSpaceImpedanceDMPController.cpp +++ b/source/RobotAPI/libraries/RobotAPINJointControllers/DMPController/NJointTaskSpaceImpedanceDMPController.cpp @@ -439,6 +439,11 @@ namespace armarx stopped = false; } + void NJointTaskSpaceImpedanceDMPController::setUseNullSpaceJointDMP(bool enable, const Ice::Current&) + { + useNullSpaceJointDMP = enable; + } + void NJointTaskSpaceImpedanceDMPController::runDMPWithTime(const Ice::DoubleSeq& goals, Ice::Double timeDuration, const Ice::Current&) { diff --git a/source/RobotAPI/libraries/RobotAPINJointControllers/DMPController/NJointTaskSpaceImpedanceDMPController.h b/source/RobotAPI/libraries/RobotAPINJointControllers/DMPController/NJointTaskSpaceImpedanceDMPController.h index 1b49c99634870147df440d88709f828c0e074872..594be8eede44d4fd62cf466c06bf76523afc450f 100644 --- a/source/RobotAPI/libraries/RobotAPINJointControllers/DMPController/NJointTaskSpaceImpedanceDMPController.h +++ b/source/RobotAPI/libraries/RobotAPINJointControllers/DMPController/NJointTaskSpaceImpedanceDMPController.h @@ -77,9 +77,10 @@ namespace armarx void removeAllViaPoints(const Ice::Current&) override; void setLinearVelocityKd(const Ice::FloatSeq& kd, const Ice::Current&) override; - void setLinearVelocityKp(const Ice::FloatSeq& kp, const Ice::Current&)override; - void setAngularVelocityKd(const Ice::FloatSeq& kd, const Ice::Current&)override; - void setAngularVelocityKp(const Ice::FloatSeq& kp, const Ice::Current&)override; + void setLinearVelocityKp(const Ice::FloatSeq& kp, const Ice::Current&) override; + void setAngularVelocityKd(const Ice::FloatSeq& kd, const Ice::Current&) override; + void setAngularVelocityKp(const Ice::FloatSeq& kp, const Ice::Current&) override; + void setUseNullSpaceJointDMP(bool enable, const Ice::Current&) override; protected: @@ -190,7 +191,7 @@ namespace armarx Eigen::VectorXf dnull; int numOfJoints; - bool useNullSpaceJointDMP; + std::atomic_bool useNullSpaceJointDMP; bool isNullSpaceJointDMPLearned;