26#include <VirtualRobot/VirtualRobot.h>
122 unsigned int numOfJoints;
123 std::atomic_bool enablePreactivateInit{
false};
127 VirtualRobot::DifferentialIKPtr ik;
129 const float lambda = 2.0f;
137 VirtualRobot::RobotNodePtr
tcp;
139 void initialize(
const VirtualRobot::RobotNodeSetPtr& rns);
A simple triple buffer for lockfree comunication between a single writer and a single reader.
std::atomic< bool > isInitialized
TripleBuffer< NonRtStatus > bufferNonRtToOnPublish
bool updateControlStatus(const Config &cfg, const RobotStatus &robotStatus)
void initialize(const VirtualRobot::RobotNodeSetPtr &rns)
void run(const Config &cfg, ControlTarget &targets)
TripleBuffer< RtStatus > bufferRtToOnPublish
TripleBuffer< NonRtStatus > bufferNonRtToRt
void preactivateInit(const VirtualRobot::RobotNodeSetPtr &rns, const Config &c)
VirtualRobot::RobotNodePtr tcp
Brief description of class targets.
Matrix< float, 6, 1 > Vector6f
This file is part of ArmarX.
TODO remove, only used by keypoint controllers.
you can set the following values from outside of the rt controller via Ice interfaces
float keypointPositionFilter
Eigen::Vector6f kdAdmittance
Eigen::VectorXf keypointKp
Eigen::VectorXf fixedTranslation
Eigen::VectorXf keypointKd
Eigen::Vector6f kpImpedance
int numPoints
keypoints related
float densityForceScaling
Eigen::Vector6f kmAdmittance
Eigen::VectorXf kpNullspaceTorque
std::optional< Eigen::VectorXf > desiredNullspaceJointAngles
Eigen::Vector6f kdImpedance
Eigen::VectorXf kdNullspaceTorque
float keypointVelocityFilter
Eigen::Vector6f desiredVel
Eigen::Vector6f currentTwist
Eigen::VectorXf desiredKeypointVelocity
Eigen::VectorXf currentKeypointPosition
Eigen::Matrix4f currentPose
task space variables
Eigen::VectorXf currentKeypointVelocity
Eigen::MatrixXf jacobi
others
Eigen::Matrix4f desiredPose
Eigen::VectorXf desiredKeypointPosition
Eigen::VectorXf desiredDensityForce
Eigen::VectorXf filteredKeypointPosition
Eigen::Vector6f desiredAcc
Eigen::Vector6f pointTrackingForce
keypoint status
Eigen::VectorXf previousKeypointPosition
Eigen::VectorXf qpos
joint space variable
internal status of the controller, containing intermediate variables, mutable targets
Eigen::Vector6f desiredTwist
Eigen::Matrix4f desiredPose
Eigen::VectorXf desiredJointTorques
targets
Eigen::VectorXf nullspaceTorque
Eigen::Vector6f forceImpedance
task space variables