32#include <RobotAPI/interface/units/KinematicUnitInterface.h>
35#include <ArmarXSimulation/interface/simulator/SimulatorInterface.h>
37#include <SimDynamics/DynamicsEngine/DynamicsRobot.h>
50 "MapVelocityToPositionVelocity",
52 "If set, velocity control mode is internally handled as position velocity mode.");
57 "Name of the simulator component that should be used");
72 virtual public KinematicUnitDynamicSimulationInterface
81 return "KinematicUnitDynamicSimulation";
90 const Ice::Current&
c = Ice::emptyCurrent)
override;
92 const Ice::Current&
c = Ice::emptyCurrent)
override;
94 const Ice::Current&
c = Ice::emptyCurrent)
override;
96 const Ice::Current&
c = Ice::emptyCurrent)
override;
98 const Ice::Current&
c = Ice::emptyCurrent)
override;
100 const Ice::Current&
c = Ice::emptyCurrent)
override;
102 const Ice::Current&
c = Ice::emptyCurrent)
override;
104 const Ice::Current&
c = Ice::emptyCurrent)
override;
127 DebugInfo
getDebugInfo(
const Ice::Current&
c = Ice::emptyCurrent)
const override;
131 void reportState(SimulatedRobotState
const& state,
const Ice::Current&)
override;
133 NameControlModeMap
getControlModes(
const Ice::Current&
c = Ice::emptyCurrent)
override;
std::string getConfigIdentifier()
Retrieve config identifier for this component as set in constructor.
KinematicUnitDynamicSimulationPropertyDefinitions(std::string prefix)
This component implements the KinemticUnit with access to a physics simulator.
void releaseJoints(const Ice::StringSeq &joints, const Ice::Current &c=Ice::emptyCurrent) override
NameValueMap currentJointTargets
void requestJoints(const Ice::StringSeq &joints, const Ice::Current &c=Ice::emptyCurrent) override
NameValueMap getJointVelocities(const Ice::Current &) const override
Ice::StringSeq getJoints(const Ice::Current &) const override
NameValueMap currentJointTorqueTargets
void setJointAngles(const NameValueMap &targetJointAngles, const Ice::Current &c=Ice::emptyCurrent) override
void switchControlMode(const NameControlModeMap &targetJointModes, const Ice::Current &c=Ice::emptyCurrent) override
void setJointTorques(const NameValueMap &targetJointTorques, const Ice::Current &c=Ice::emptyCurrent) override
armarx::PropertyDefinitionsPtr createPropertyDefinitions() override
NameValueMap currentJointValues
SimulatorInterfacePrx simulatorPrx
PeriodicTask< KinematicUnitDynamicSimulation >::pointer_type execTask
void onInitKinematicUnit() override
NameValueMap getJointAngles(const Ice::Current &) const override
void setJointAccelerations(const NameValueMap &targetJointAccelerations, const Ice::Current &c=Ice::emptyCurrent) override
void setJointDecelerations(const NameValueMap &targetJointDecelerations, const Ice::Current &c=Ice::emptyCurrent) override
DebugInfo getDebugInfo(const Ice::Current &c=Ice::emptyCurrent) const override
void reportState(SimulatedRobotState const &state, const Ice::Current &) override
void onStartKinematicUnit() override
std::set< std::string > nodeNames
NameValueMap currentJointVelTargets
NameControlModeMap currentControlModes
NameControlModeMap getControlModes(const Ice::Current &c=Ice::emptyCurrent) override
std::recursive_mutex accessMutex
void onExitKinematicUnit() override
std::string simulatorPrxName
void setJointVelocities(const NameValueMap &targetJointVelocities, const Ice::Current &c=Ice::emptyCurrent) override
std::string robotTopicName
std::string getDefaultName() const override
KinematicUnitPropertyDefinitions(std::string prefix)
IceUtil::Handle< PeriodicTask< T > > pointer_type
Shared pointer type for convenience.
std::string prefix
Prefix of the properties such as namespace, domain, component name, etc.
PropertyDefinition< PropertyType > & defineOptionalProperty(const std::string &name, PropertyType defaultValue, const std::string &description="", PropertyDefinitionBase::PropertyConstness constness=PropertyDefinitionBase::eConstant)
#define ARMARX_WARNING
The logging level for unexpected behaviour, but not a serious problem.
This file offers overloads of toIce() and fromIce() functions for STL container types.
IceUtil::Handle< class PropertyDefinitionContainer > PropertyDefinitionsPtr
PropertyDefinitions smart pointer type.