26#include <VirtualRobot/VirtualRobot.h>
30#include <armarx/control/njoint_controller/joint_space/ControllerInterface.h>
34 class ControlTarget1DoFActuatorZeroTorque;
35 class ControlTarget1DoFActuatorZeroVelocity;
90 using ConfigPtrT = NJointZeroTorqueOrVelocityWithFTControllerConfigPtr;
93 const NJointZeroTorqueOrVelocityWithFTControllerConfigPtr& config,
97 std::string
getClassName(
const Ice::Current&)
const override;
102 void rtRun(
const IceUtil::Time& sensorValuesTimestamp,
103 const IceUtil::Time& timeSinceLastIteration)
override;
109 const std::map<std::string, ConstControlDevicePtr>&,
110 const std::map<std::string, ConstSensorDevicePtr>&);
112 static NJointZeroTorqueOrVelocityWithFTControllerConfigPtr
120 std::vector<ControlTarget1DoFActuatorZeroVelocity*>
targetsVel;
131 VirtualRobot::DifferentialIKPtr ik;
132 const float lambda = 2.0f;
#define TYPEDEF_PTRS_HANDLE(T)
NJointControllerWithTripleBuffer(const NJointZeroTorqueOrVelocityWithFTControllerTarget &initialCommands=NJointZeroTorqueOrVelocityWithFTControllerTarget())
void onPublish(const SensorAndControl &, const DebugDrawerInterfacePrx &, const DebugObserverInterfacePrx &) override
static WidgetDescription::WidgetPtr GenerateConfigDescription(const VirtualRobot::RobotPtr &, const std::map< std::string, ConstControlDevicePtr > &, const std::map< std::string, ConstSensorDevicePtr > &)
std::vector< ControlTarget1DoFActuatorZeroVelocity * > targetsVel
void setControllerTarget(const Ice::FloatSeq &, const Ice::Current &) override
NJointZeroTorqueOrVelocityWithFTControllerConfigPtr ConfigPtrT
NJointZeroTorqueOrVelocityWithFTController(RobotUnitPtr prov, const NJointZeroTorqueOrVelocityWithFTControllerConfigPtr &config, const VirtualRobot::RobotPtr &)
std::vector< ControlTarget1DoFActuatorZeroTorque * > targetsTorque
static NJointZeroTorqueOrVelocityWithFTControllerConfigPtr GenerateConfigFromVariants(const StringVariantBaseMap &values)
void rtPostDeactivateController() override
This function is called after the controller is deactivated.
void rtRun(const IceUtil::Time &sensorValuesTimestamp, const IceUtil::Time &timeSinceLastIteration) override
TODO make protected and use attorneys.
std::atomic_bool useZeroVelocityModeForWrist
std::string getClassName(const Ice::Current &) const override
void rtPreActivateController() override
This function is called before the controller is activated.
std::vector< bool > torqueControlled
Matrix< float, 6, 1 > Vector6f
std::shared_ptr< class Robot > RobotPtr
This file offers overloads of toIce() and fromIce() functions for STL container types.
::IceInternal::ProxyHandle<::IceProxy::armarx::DebugObserverInterface > DebugObserverInterfacePrx
std::map< std::string, VariantBasePtr > StringVariantBaseMap
IceUtil::Handle< class RobotUnit > RobotUnitPtr
::IceInternal::ProxyHandle<::IceProxy::armarx::DebugDrawerInterface > DebugDrawerInterfacePrx
detail::ControlThreadOutputBufferEntry SensorAndControl
Ice::FloatSeq targetTorqueOrVelocity
Eigen::VectorXf desiredJointVelocity
Eigen::Vector6f cartesianVelTarget
task space variables
Eigen::MatrixXf jacobi
others
Eigen::VectorXf desiredJointTorques
targets
Eigen::Vector6f currentForceTorque
force torque
Eigen::VectorXf qpos
current status