Go to the documentation of this file.
24 #include <VirtualRobot/IK/DifferentialIK.h>
25 #include <VirtualRobot/Robot.h>
32 #include <armarx/control/common/control_law/aron/TaskspaceMixedImpedanceVelocityControllerConfig.aron.generated.h>
35 #include <armarx/control/common/ft/aron/FTConfig.aron.generated.h>
43 using FTConfig = common::ft::arondto::FTConfig;
45 common::control_law::arondto::TaskspaceMixedImpedanceVelocityControllerConfig;
47 common::control_law::arondto::TaskspaceMixedImpedanceVelocityControllerConfigDict;
89 reset(
const unsigned int nDoF,
const size_t numDoFTorque,
const size_t numDoFVelocity);
98 std::atomic_bool enablePreactivateInit{
false};
102 VirtualRobot::DifferentialIKPtr ik;
104 const float lambda = 2.0f;
107 VirtualRobot::RobotNodePtr
tcp;
115 const std::map<std::string, std::string>& jointControlModeMap);
117 void initialize(
const VirtualRobot::RobotNodeSetPtr& rns,
118 const VirtualRobot::RobotNodeSetPtr& rtRns,
119 const std::vector<size_t>& torqueControlledIndex,
120 const std::vector<size_t>& velocityControlledIndex);
Eigen::Matrix4f desiredPose
std::vector< size_t > jointIDTorqueMode
Eigen::Vector6f poseErrorImp
Eigen::Vector6f forceImpedance
task space variables
std::vector< size_t > jointIDVelocityMode
common::ft::FTSensor ftsensor
Eigen::AngleAxisf oriDiffAngleAxis
void preactivateInit(const VirtualRobot::RobotNodeSetPtr &rns)
common::control_law::arondto::TaskspaceMixedImpedanceVelocityControllerConfigDict ConfigDict
Eigen::Vector6f currentTwist
VirtualRobot::RobotNodePtr tcp
Eigen::VectorXf nullspaceVelocity
Eigen::Matrix3f poseDiffMatImp
intermediate results
Eigen::Matrix4f currentPose
bool isControlModeValid(const std::vector< std::string > &nameList, const std::map< std::string, std::string > &jointControlModeMap)
void rtPreActivate(const Eigen::Matrix4f ¤tPose)
common::control_law::arondto::TaskspaceMixedImpedanceVelocityControllerConfig Config
Eigen::VectorXf desiredJointVelocity
internal status of the controller, containing intermediate variables, mutable targets
This file is part of ArmarX.
void reset(const unsigned int nDoF, const size_t numDoFTorque, const size_t numDoFVelocity)
Eigen::VectorXf desiredJointTorques
targets
void run(Config &c, RtStatus &robotStatus)
void initialize(const VirtualRobot::RobotNodeSetPtr &rns, const VirtualRobot::RobotNodeSetPtr &rtRns, const std::vector< size_t > &torqueControlledIndex, const std::vector< size_t > &velocityControlledIndex)
MatrixXX< 3, 3, float > Matrix3f
MatrixXX< 4, 4, float > Matrix4f
VirtualRobot::RobotNodePtr rtTCP
common::ft::arondto::FTConfig FTConfig
Eigen::VectorXf nullspaceTorque
Eigen::MatrixXf jacobi
others
Eigen::VectorXf qvelFiltered
Eigen::Vector6f cartesianVelTarget
Eigen::VectorXf qpos
current status
Eigen::Vector6f currentForceTorque
force torque