31#include <IceUtil/Time.h>
39#include <ArmarXSimulation/interface/simulator/SimulatorInterface.h>
57 "The time in milliseconds between two calls to the simulation method.");
68 "SimulatorProxyName",
"Simulator",
"Name of the simulator proxy to use.");
81 virtual public RobotPoseUnitDynamicSimulationInterface
88 return "RobotPoseUnit";
103 const Ice::Current&
c = Ice::emptyCurrent)
override;
105 void move(
const PoseBasePtr& targetVelocity,
106 const Ice::Current&
c = Ice::emptyCurrent)
override;
111 const Ice::Current&
c = Ice::emptyCurrent)
override;
114 Ice::Float orientationalVelocity,
115 const Ice::Current&
c = Ice::emptyCurrent)
override;
117 void stopMovement(
const Ice::Current&
c = Ice::emptyCurrent)
override;
128 void reportState(SimulatedRobotState
const& state,
const Ice::Current&)
override;
133 Eigen::Vector3f
getRPY(PoseBasePtr pose);
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)
RobotPoseUnitDynamicSimulationPropertyDefinitions(std::string prefix)
This unit connects to the physics simulator topic (default: "Simulator") and handles RobotPose moveme...
void setCurrentPose(const PoseBasePtr &newPose)
IceUtil::Time lastExecutionTime
::Ice::Float positionalAccuracy
void stopMovement(const Ice::Current &c=Ice::emptyCurrent) override
PeriodicTask< RobotPoseUnitDynamicSimulation >::pointer_type simulationTask
void updateCurrentPose(const PoseBasePtr &newPose)
SimulatorInterfacePrx simulatorPrx
void moveRelative(const PoseBasePtr &relativeTarget, Ice::Float positionalAccuracy, Ice::Float orientationalAccuracy, const Ice::Current &c=Ice::emptyCurrent) override
::Ice::Float orientationalAccuracy
void reportState(SimulatedRobotState const &state, const Ice::Current &) override
std::mutex currentPoseMutex
void onStartRobotPoseUnit() override
PropertyDefinitionsPtr createPropertyDefinitions() override
void moveTo(const PoseBasePtr &targetPose, Ice::Float positionalAccuracy, Ice::Float orientationalAccuracy, const Ice::Current &c=Ice::emptyCurrent) override
void move(const PoseBasePtr &targetVelocity, const Ice::Current &c=Ice::emptyCurrent) override
void onExitRobotPoseUnit() override
std::string simulatorPrxName
void setMaxVelocities(Ice::Float positionalVelocity, Ice::Float orientationalVelocity, const Ice::Current &c=Ice::emptyCurrent) override
void simulationFunction()
void onInitRobotPoseUnit() override
void onStopRobotPoseUnit() override
Eigen::Vector3f getRPY(PoseBasePtr pose)
std::string getDefaultName() const override
Retrieve default name of component.
ControlMode RobotPoseControlMode
RobotPoseUnitPropertyDefinitions(std::string prefix)
This file offers overloads of toIce() and fromIce() functions for STL container types.
IceUtil::Handle< class PropertyDefinitionContainer > PropertyDefinitionsPtr
PropertyDefinitions smart pointer type.