Go to the documentation of this file.
29 #include <SimDynamics/DynamicsEngine/DynamicsRobot.h>
31 #include <ArmarXSimulation/interface/simulator/SimulatorInterface.h>
32 #include <RobotAPI/interface/units/KinematicUnitInterface.h>
48 defineOptionalProperty<bool>(
"MapVelocityToPositionVelocity",
false,
"If set, velocity control mode is internally handled as position velocity mode.");
49 defineOptionalProperty<std::string>(
"RobotName",
"",
"Name of the robot");
50 defineOptionalProperty<std::string>(
"SimulatorName",
"Simulator",
"Name of the simulator component that should be used");
51 defineOptionalProperty<float>(
"ControlFrequency", 100,
"Frequency of the control loop");
66 virtual public KinematicUnitDynamicSimulationInterface
74 return "KinematicUnitDynamicSimulation";
82 void requestJoints(
const Ice::StringSeq& joints,
const Ice::Current&
c = Ice::emptyCurrent)
override;
83 void releaseJoints(
const Ice::StringSeq& joints,
const Ice::Current&
c = Ice::emptyCurrent)
override;
84 void switchControlMode(
const NameControlModeMap& targetJointModes,
const Ice::Current&
c = Ice::emptyCurrent)
override;
101 Ice::StringSeq
getJoints(
const Ice::Current&)
const override
107 DebugInfo
getDebugInfo(
const Ice::Current&
c = Ice::emptyCurrent)
const override;
112 void reportState(SimulatedRobotState
const& state,
const Ice::Current&)
override;
114 NameControlModeMap
getControlModes(
const Ice::Current&
c = Ice::emptyCurrent)
override;
PeriodicTask< KinematicUnitDynamicSimulation >::pointer_type execTask
NameControlModeMap currentControlModes
NameValueMap getJointVelocities(const Ice::Current &) const override
NameValueMap currentJointTargets
std::string robotTopicName
void onExitKinematicUnit() override
std::string prefix
Prefix of the properties such as namespace, domain, component name, etc.
void onStartKinematicUnit() override
NameValueMap currentJointValues
std::recursive_mutex accessMutex
SimulatorInterfacePrx simulatorPrx
void requestJoints(const Ice::StringSeq &joints, const Ice::Current &c=Ice::emptyCurrent) override
void setJointAngles(const NameValueMap &targetJointAngles, const Ice::Current &c=Ice::emptyCurrent) override
DebugInfo getDebugInfo(const Ice::Current &c=Ice::emptyCurrent) const override
std::string getDefaultName() const override
NameValueMap currentJointTorqueTargets
void setJointAccelerations(const NameValueMap &targetJointAccelerations, const Ice::Current &c=Ice::emptyCurrent) override
void switchControlMode(const NameControlModeMap &targetJointModes, const Ice::Current &c=Ice::emptyCurrent) override
NameValueMap currentJointVelTargets
void releaseJoints(const Ice::StringSeq &joints, const Ice::Current &c=Ice::emptyCurrent) override
void setJointDecelerations(const NameValueMap &targetJointDecelerations, const Ice::Current &c=Ice::emptyCurrent) override
std::string simulatorPrxName
This component implements the KinemticUnit with access to a physics simulator. The Simulator is qurie...
NameValueMap getJointAngles(const Ice::Current &) const override
std::string getConfigIdentifier()
Retrieve config identifier for this component as set in constructor.
void setJointVelocities(const NameValueMap &targetJointVelocities, const Ice::Current &c=Ice::emptyCurrent) override
NameControlModeMap getControlModes(const Ice::Current &c=Ice::emptyCurrent) override
armarx::PropertyDefinitionsPtr createPropertyDefinitions() override
void onInitKinematicUnit() override
Ice::StringSeq getJoints(const Ice::Current &) const override
IceUtil::Handle< class PropertyDefinitionContainer > PropertyDefinitionsPtr
PropertyDefinitions smart pointer type.
KinematicUnitDynamicSimulationPropertyDefinitions(std::string prefix)
std::set< std::string > nodeNames
This file offers overloads of toIce() and fromIce() functions for STL container types.
void reportState(SimulatedRobotState const &state, const Ice::Current &) override
void setJointTorques(const NameValueMap &targetJointTorques, const Ice::Current &c=Ice::emptyCurrent) override