28#include <IceUtil/Time.h>
30#include <VirtualRobot/VirtualRobot.h>
36 class SensorValue1DoFActuatorTorque;
37 class SensorValue1DoFActuatorVelocity;
38 class SensorValue1DoFActuatorPosition;
39 class ControlTarget1DoFActuatorTorque;
119 unsigned int numOfJoints;
120 std::atomic_bool enablePreactivateInit{
false};
124 VirtualRobot::DifferentialIKPtr ik;
126 const float lambda = 2.0f;
130 VirtualRobot::RobotNodePtr
tcp;
132 void initialize(
const VirtualRobot::RobotNodeSetPtr& rns,
133 const std::string& configFileName);
138 const IceUtil::Time& timeSinceLastIteration,
139 std::vector<const SensorValue1DoFActuatorTorque*> torqueSensors,
140 std::vector<const SensorValue1DoFActuatorVelocity*> velocitySensors,
141 std::vector<const SensorValue1DoFActuatorPosition*> positionSensors);
143 void run(
bool rtReady, std::vector<ControlTarget1DoFActuatorTorque*>
targets);
bool updateControlStatus(const Config &cfg, const IceUtil::Time &timeSinceLastIteration, std::vector< const SensorValue1DoFActuatorTorque * > torqueSensors, std::vector< const SensorValue1DoFActuatorVelocity * > velocitySensors, std::vector< const SensorValue1DoFActuatorPosition * > positionSensors)
void preactivateInit(const VirtualRobot::RobotNodeSetPtr &rns)
Config reconfigure(const std::string &configFileName)
void initialize(const VirtualRobot::RobotNodeSetPtr &rns, const std::string &configFileName)
void run(bool rtReady, std::vector< ControlTarget1DoFActuatorTorque * > targets)
bool validateTargetPose(Eigen::Matrix4f &targetPose)
VirtualRobot::RobotNodePtr tcp
Brief description of class targets.
Matrix< float, 6, 1 > Vector6f
This file is part of ArmarX.
This file offers overloads of toIce() and fromIce() functions for STL container types.
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 desiredKeypointVelocity
Eigen::VectorXf fixedTranslation
Eigen::VectorXf currentKeypointPosition
Eigen::Vector6f kpAdmittance
Eigen::VectorXf keypointKd
Eigen::Vector6f kpImpedance
int numPoints
keypoints related
Eigen::VectorXf desiredKeypointPosition
Eigen::VectorXf desiredNullspaceJointAngles
Eigen::Vector6f kmAdmittance
Eigen::VectorXf kpNullspaceTorque
Eigen::Vector6f currentForceTorque
Eigen::Vector6f kdImpedance
Eigen::VectorXf kdNullspaceTorque
float keypointVelocityFilter
internal status of the controller, containing intermediate variables, mutable targets
Eigen::Vector6f virtualAcc
Eigen::Matrix4f virtualPose
Eigen::Vector6f desiredVel
Eigen::Vector6f currentTwist
Eigen::Matrix4f currentPose
Eigen::VectorXf currentKeypointVelocity
Eigen::MatrixXf jacobi
others
Eigen::Matrix4f desiredPose
Eigen::VectorXf desiredJointTorques
Eigen::VectorXf filteredKeypointPosition
Eigen::VectorXf nullspaceTorque
Eigen::Vector6f desiredAcc
Eigen::Vector6f pointTrackingForce
Eigen::Vector6f forceImpedance
Eigen::VectorXf previousKeypointPosition
Eigen::Matrix4f previousDesiredPose
task spaace variables
Eigen::VectorXf qpos
joint space variable
Eigen::Vector6f virtualVel