Torque.h
Go to the documentation of this file.
1#pragma once
2
3#include <VirtualRobot/VirtualRobot.h>
4
6#include <RobotAPI/interface/units/RobotUnit/NjointZeroTorqueController.h>
7
9{
11 {
12 Ice::FloatSeq targetTorques;
13 };
14
16
18 public NJointControllerWithTripleBuffer<NJointTorqueControllerTarget>,
19 public NJointTorqueControllerInterface
20 {
21 public:
22 using ConfigPtrT = NJointTorqueControllerConfigPtr;
24 const NJointTorqueControllerConfigPtr& config,
26
27 // NJointControllerInterface interface
28 std::string getClassName(const Ice::Current&) const override;
29 // WidgetDescription::StringWidgetDictionary getFunctionDescriptions(const Ice::Current&) const override;
30 // void callDescribedFunction(const std::string& name, const StringVariantBaseMap& valueMap, const Ice::Current&) override;
31
32 // NJointController interface
33 void rtRun(const IceUtil::Time& sensorValuesTimestamp,
34 const IceUtil::Time& timeSinceLastIteration) override;
37 const std::map<std::string, ConstControlDevicePtr>&,
38 const std::map<std::string, ConstSensorDevicePtr>&);
39
40 static NJointTorqueControllerConfigPtr
42
43 protected:
44 void rtPreActivateController() override;
45 void rtPostDeactivateController() override;
46
47 std::vector<ControlTarget1DoFActuatorTorque*> targets;
48 float maxTorque = std::numeric_limits<float>::max();
49
50 // NJointTorqueControllerInterface interface
51 public:
52 void setControllerTarget(const Ice::FloatSeq&, const Ice::Current&) override;
53 };
54
55} // namespace armarx::control::njoint_controller::joint_space
#define TYPEDEF_PTRS_HANDLE(T)
NJointControllerWithTripleBuffer(const NJointTorqueControllerTarget &initialCommands=NJointTorqueControllerTarget())
static WidgetDescription::WidgetPtr GenerateConfigDescription(const VirtualRobot::RobotPtr &, const std::map< std::string, ConstControlDevicePtr > &, const std::map< std::string, ConstSensorDevicePtr > &)
Definition Torque.cpp:66
void setControllerTarget(const Ice::FloatSeq &, const Ice::Current &) override
Definition Torque.cpp:244
std::vector< ControlTarget1DoFActuatorTorque * > targets
Definition Torque.h:47
NJointTorqueController(RobotUnitPtr prov, const NJointTorqueControllerConfigPtr &config, const VirtualRobot::RobotPtr &)
Definition Torque.cpp:24
void rtPostDeactivateController() override
This function is called after the controller is deactivated.
Definition Torque.cpp:130
void rtRun(const IceUtil::Time &sensorValuesTimestamp, const IceUtil::Time &timeSinceLastIteration) override
TODO make protected and use attorneys.
Definition Torque.cpp:55
static NJointTorqueControllerConfigPtr GenerateConfigFromVariants(const StringVariantBaseMap &values)
Definition Torque.cpp:120
std::string getClassName(const Ice::Current &) const override
Definition Torque.cpp:19
void rtPreActivateController() override
This function is called before the controller is activated.
Definition Torque.cpp:49
std::shared_ptr< class Robot > RobotPtr
Definition Bus.h:19
::IceInternal::Handle<::armarx::WidgetDescription::Widget > WidgetPtr
std::map< std::string, VariantBasePtr > StringVariantBaseMap
IceUtil::Handle< class RobotUnit > RobotUnitPtr
Definition FTSensor.h:34