27 #include <VirtualRobot/IK/DifferentialIK.h>
28 #include <VirtualRobot/Robot.h>
30 #include <RobotAPI/interface/units/RobotUnit/NJointCartesianVelocityControllerWithRamp.h>
33 #include "../ControlTargets/ControlTarget1DoFActuator.h"
34 #include "../SensorValues/SensorValue1DoFActuator.h"
55 WidgetDescription::VBoxLayoutPtr vlayout =
new WidgetDescription::VBoxLayout;
56 WidgetDescription::HBoxLayoutPtr hlayout;
67 using namespace WidgetDescription;
69 vlayout->children.emplace_back(hlayout);
75 using namespace WidgetDescription;
76 hlayout->children.emplace_back(
new Label(
false, label));
80 slider->defaultValue =
value;
82 hlayout->children.emplace_back(slider);
85 WidgetDescription::VBoxLayoutPtr
98 NJointCartesianVelocityControllerWithRampControlData>,
99 public NJointCartesianVelocityControllerWithRampInterface
102 using ConfigPtrT = NJointCartesianVelocityControllerWithRampConfigPtr;
105 const NJointCartesianVelocityControllerWithRampConfigPtr& config,
109 std::string getClassName(
const Ice::Current&)
const override;
117 const std::map<std::string, ConstControlDevicePtr>&,
118 const std::map<std::string, ConstSensorDevicePtr>&);
119 static NJointCartesianVelocityControllerWithRampConfigPtr
122 getFunctionDescriptions(
const Ice::Current&)
const override;
123 void callDescribedFunction(
const std::string& name,
125 const Ice::Current&)
override;
126 WidgetDescription::VBoxLayoutPtr createTargetLayout()
const;
127 WidgetDescription::VBoxLayoutPtr createParameterLayout()
const;
135 void rtPreActivateController()
override;
136 void rtPostDeactivateController()
override;
139 std::vector<ControlTarget1DoFActuatorVelocity*> targets;
141 std::vector<const float*> velocitySensors;
143 std::string nodeSetName;
144 float jointLimitAvoidanceScale;
145 float KpJointLimitAvoidance;
153 void setMaxAccelerations(
float maxPositionAcceleration,
154 float maxOrientationAcceleration,
155 float maxNullspaceAcceleration,
156 const Ice::Current& = Ice::emptyCurrent)
override;
157 void setTargetVelocity(
float vx,
163 const Ice::Current&)
override;
164 void setJointLimitAvoidanceScale(
float jointLimitAvoidanceScale,
165 const Ice::Current&)
override;
166 void setKpJointLimitAvoidance(
float KpJointLimitAvoidance,
const Ice::Current&)
override;
167 void immediateHardStop(
const Ice::Current&)
override;
168 const std::string& getNodeSetName()
const;