26#include <VirtualRobot/VirtualRobot.h>
28#include <RobotAPI/interface/units/RobotUnit/NJointCartesianVelocityControllerWithRamp.h>
53 WidgetDescription::VBoxLayoutPtr vlayout =
new WidgetDescription::VBoxLayout;
54 WidgetDescription::HBoxLayoutPtr hlayout;
67 vlayout->children.emplace_back(hlayout);
74 hlayout->children.emplace_back(
new Label(
false, label));
78 slider->defaultValue = value;
80 hlayout->children.emplace_back(slider);
83 WidgetDescription::VBoxLayoutPtr
96 NJointCartesianVelocityControllerWithRampControlData>,
97 public NJointCartesianVelocityControllerWithRampInterface
100 using ConfigPtrT = NJointCartesianVelocityControllerWithRampConfigPtr;
103 const NJointCartesianVelocityControllerWithRampConfigPtr& config,
107 std::string
getClassName(
const Ice::Current&)
const override;
110 void rtRun(
const IceUtil::Time& sensorValuesTimestamp,
111 const IceUtil::Time& timeSinceLastIteration)
override;
115 const std::map<std::string, ConstControlDevicePtr>&,
116 const std::map<std::string, ConstSensorDevicePtr>&);
117 static NJointCartesianVelocityControllerWithRampConfigPtr
123 const Ice::Current&)
override;
127 static VirtualRobot::IKSolver::CartesianSelection
ModeFromString(
const std::string mode);
128 static CartesianSelectionMode::CartesianSelection
IceModeFromString(
const std::string mode);
129 static VirtualRobot::IKSolver::CartesianSelection
130 ModeFromIce(
const CartesianSelectionMode::CartesianSelection mode);
137 std::vector<ControlTarget1DoFActuatorVelocity*> targets;
139 std::vector<const float*> velocitySensors;
141 std::string nodeSetName;
142 float jointLimitAvoidanceScale;
143 float KpJointLimitAvoidance;
144 VirtualRobot::IKSolver::CartesianSelection mode = VirtualRobot::IKSolver::All;
152 float maxOrientationAcceleration,
153 float maxNullspaceAcceleration,
154 const Ice::Current& = Ice::emptyCurrent)
override;
161 const Ice::Current&)
override;
163 const Ice::Current&)
override;
int Label(int n[], int size, int *curLabel, MiscLib::Vector< std::pair< int, size_t > > *labels)
#define TYPEDEF_PTRS_HANDLE(T)
WidgetDescription::VBoxLayoutPtr getLayout() const
void addSlider(const std::string &label, float min, float max, float value)
The NJointCartesianVelocityControllerWithRamp class.
NJointCartesianVelocityControllerWithRamp(RobotUnit *robotUnit, const NJointCartesianVelocityControllerWithRampConfigPtr &config, const VirtualRobot::RobotPtr &)
void setMaxAccelerations(float maxPositionAcceleration, float maxOrientationAcceleration, float maxNullspaceAcceleration, const Ice::Current &=Ice::emptyCurrent) override
static WidgetDescription::WidgetPtr GenerateConfigDescription(const VirtualRobot::RobotPtr &, const std::map< std::string, ConstControlDevicePtr > &, const std::map< std::string, ConstSensorDevicePtr > &)
WidgetDescription::StringWidgetDictionary getFunctionDescriptions(const Ice::Current &) const override
static NJointCartesianVelocityControllerWithRampConfigPtr GenerateConfigFromVariants(const StringVariantBaseMap &values)
void immediateHardStop(const Ice::Current &) override
const std::string & getNodeSetName() const
static VirtualRobot::IKSolver::CartesianSelection ModeFromString(const std::string mode)
WidgetDescription::VBoxLayoutPtr createTargetLayout() const
static VirtualRobot::IKSolver::CartesianSelection ModeFromIce(const CartesianSelectionMode::CartesianSelection mode)
WidgetDescription::VBoxLayoutPtr createParameterLayout() const
void rtPostDeactivateController() override
This function is called after the controller is deactivated.
NJointCartesianVelocityControllerWithRampConfigPtr ConfigPtrT
void rtRun(const IceUtil::Time &sensorValuesTimestamp, const IceUtil::Time &timeSinceLastIteration) override
TODO make protected and use attorneys.
void setJointLimitAvoidanceScale(float jointLimitAvoidanceScale, const Ice::Current &) override
void setKpJointLimitAvoidance(float KpJointLimitAvoidance, const Ice::Current &) override
void setTargetVelocity(float vx, float vy, float vz, float vrx, float vry, float vrz, const Ice::Current &) override
std::string getClassName(const Ice::Current &) const override
static CartesianSelectionMode::CartesianSelection IceModeFromString(const std::string mode)
void callDescribedFunction(const std::string &name, const StringVariantBaseMap &valueMap, const Ice::Current &) override
void rtPreActivateController() override
This function is called before the controller is activated.
NJointControllerWithTripleBuffer(const NJointCartesianVelocityControllerWithRampControlData &initialCommands=NJointCartesianVelocityControllerWithRampControlData())
The RobotUnit class manages a robot and its controllers.
std::shared_ptr< class Robot > RobotPtr
This file offers overloads of toIce() and fromIce() functions for STL container types.
std::map< std::string, VariantBasePtr > StringVariantBaseMap
std::shared_ptr< CartesianVelocityControllerWithRamp > CartesianVelocityControllerWithRampPtr
std::vector< T > max(const std::vector< T > &v1, const std::vector< T > &v2)
std::vector< T > min(const std::vector< T > &v1, const std::vector< T > &v2)