30#include <IceUtil/Time.h>
77 std::map<std::string, KinematicUnitSimulationJointState>;
119 std::map<std::string, KinematicUnitSimulationJointInfo>;
143 return "KinematicUnitSimulation";
154 const Ice::Current&
c = Ice::emptyCurrent)
override;
156 const Ice::Current&
c = Ice::emptyCurrent)
override;
158 const Ice::Current&
c = Ice::emptyCurrent)
override;
160 const Ice::Current&
c = Ice::emptyCurrent)
override;
162 const Ice::Current&
c = Ice::emptyCurrent)
override;
164 const Ice::Current&
c = Ice::emptyCurrent)
override;
166 NameControlModeMap
getControlModes(
const Ice::Current&
c = Ice::emptyCurrent)
override;
170 const Ice::Current&
c = Ice::emptyCurrent)
override;
174 const Ice::Current&
c = Ice::emptyCurrent)
override;
176 void stop(
const Ice::Current&
c = Ice::emptyCurrent)
override;
178 armarx::NameValueMap
getJointAngles(
const Ice::Current&
c)
const override;
180 Ice::StringSeq
getJoints(
const Ice::Current&
c)
const override;
182 DebugInfo
getDebugInfo(
const Ice::Current&
c = Ice::emptyCurrent)
const override;
KinematicUnitPropertyDefinitions(std::string prefix)
bool continuousJoint() const
KinematicUnitSimulationJointInfo()
KinematicUnitSimulationJointState()
KinematicUnitSimulationPropertyDefinitions(std::string prefix)
Simulates robot kinematics.
void releaseJoints(const Ice::StringSeq &joints, const Ice::Current &c=Ice::emptyCurrent) override
IceUtil::Time lastExecutionTime
PeriodicTask< KinematicUnitSimulation >::pointer_type simulationTask
void requestJoints(const Ice::StringSeq &joints, const Ice::Current &c=Ice::emptyCurrent) override
std::normal_distribution< double > distribution
NameValueMap sensorVelocities
armarx::NameValueMap getJointVelocities(const Ice::Current &c) const override
NameValueMap sensorAngles
armarx::NameValueMap getJointAngles(const Ice::Current &c) const override
std::default_random_engine generator
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
DebugInfo getDebugInfo(const Ice::Current &c=Ice::emptyCurrent) const override
bool usePDControllerForPosMode
std::map< std::string, PIDControllerPtr > positionControlPIDController
void onInitKinematicUnit() override
void stop(const Ice::Current &c=Ice::emptyCurrent) 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
void onStartKinematicUnit() override
std::mutex sensorDataMutex
PropertyDefinitionsPtr createPropertyDefinitions() override
NameControlModeMap getControlModes(const Ice::Current &c=Ice::emptyCurrent) override
KinematicUnitSimulationJointStates jointStates
std::mutex jointStatesMutex
KinematicUnitSimulationJointInfos jointInfos
Ice::StringSeq getJoints(const Ice::Current &c) const override
KinematicUnitSimulationJointStates previousJointStates
void onExitKinematicUnit() override
void simulationFunction()
void setJointVelocities(const NameValueMap &targetJointVelocities, const Ice::Current &c=Ice::emptyCurrent) override
std::string getDefaultName() const override
Retrieve default name of component.
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.
This file offers overloads of toIce() and fromIce() functions for STL container types.
std::map< std::string, KinematicUnitSimulationJointState > KinematicUnitSimulationJointStates
IceUtil::Handle< class PropertyDefinitionContainer > PropertyDefinitionsPtr
PropertyDefinitions smart pointer type.
std::map< std::string, KinematicUnitSimulationJointInfo > KinematicUnitSimulationJointInfos