Go to the documentation of this file.
29 #include <RobotAPI/interface/units/TCPControlUnit.h>
31 #include "../NJointControllers/NJointTCPController.h"
45 defineOptionalProperty<float>(
48 "Proportional gain value of P-Controller for joint limit avoidance",
57 virtual public TCPControlUnitInterface,
65 const Ice::Current&
c = Ice::emptyCurrent)
override;
67 const std::string& tcpName,
68 const ::armarx::FramedDirectionBasePtr& translationVelocity,
69 const ::armarx::FramedDirectionBasePtr& orientationVelocityRPY,
70 const Ice::Current&
c = Ice::emptyCurrent)
override;
71 bool isRequested(
const Ice::Current& = Ice::emptyCurrent)
override;
77 mutable std::mutex dataMutex;
80 std::map<std::string, std::string> tcpControllerNameMap;
97 return "TCPControlUnit";
117 init(
const Ice::Current&)
override
127 stop(
const Ice::Current&)
override
134 return UnitExecutionState::eUndefinedUnitExecutionState;
143 const Ice::Current&)
override
176 const Ice::Current&)
override
void componentPropertiesUpdated(const std::set< std::string > &changedProperties) override
Implement this function if you would like to react to changes in the properties.
Structure used by the RobotUnit to swap lists of Joint and NJoint controllers.
TYPEDEF_PTRS_HANDLE(NJointCartesianNaturalPositionController)
void init(const Ice::Current &) override
void reportJointAccelerations(const NameValueMap &, Ice::Long, bool, const Ice::Current &) override
std::string prefix
Prefix of the properties such as namespace, domain, component name, etc.
void onConnectComponent() override
Pure virtual hook for the subclass.
void setCycleTime(Ice::Int milliseconds, const Ice::Current &c=Ice::emptyCurrent) override
TCPControllerSubUnitPropertyDefinitions(std::string prefix)
std::string getDefaultName() const override
Retrieve default name of component.
void reportJointStatuses(const NameStatusMap &, Ice::Long, bool, const Ice::Current &) override
void setup(RobotUnit *rUnit, VirtualRobot::RobotPtr robot)
void setTCPVelocity(const std::string &nodeSetName, const std::string &tcpName, const ::armarx::FramedDirectionBasePtr &translationVelocity, const ::armarx::FramedDirectionBasePtr &orientationVelocityRPY, const Ice::Current &c=Ice::emptyCurrent) override
void stop(const Ice::Current &) override
void reportJointMotorTemperatures(const NameValueMap &, Ice::Long, bool, const Ice::Current &) override
void reportJointVelocities(const NameValueMap &, Ice::Long, bool, const Ice::Current &) override
void reportJointCurrents(const NameValueMap &, Ice::Long, bool, const Ice::Current &) override
void start(const Ice::Current &) override
void request(const Ice::Current &) override
Baseclass for all ArmarX ManagedIceObjects requiring properties.
void reportJointTorques(const NameValueMap &, Ice::Long, bool, const Ice::Current &) override
void reportControlModeChanged(const NameControlModeMap &, Ice::Long, bool, const Ice::Current &) override
void onInitComponent() override
Pure virtual hook for the subclass.
Default component property definition container.
PropertyDefinitionsPtr createPropertyDefinitions() override
The RobotUnit class manages a robot and its controllers.
void release(const Ice::Current &) override
void update(const SensorAndControl &sc, const JointAndNJointControllers &c) override
void reportJointAngles(const NameValueMap &, Ice::Long, bool, const Ice::Current &) override
bool isRequested(const Ice::Current &=Ice::emptyCurrent) override
This file offers overloads of toIce() and fromIce() functions for STL container types.
std::shared_ptr< class Robot > RobotPtr
UnitExecutionState getExecutionState(const Ice::Current &) override