Go to the documentation of this file.
30 #include <Eigen/Geometry>
34 #include <VirtualRobot/MathTools.h>
46 robotName = getProperty<std::string>(
"RobotName").getValue();
49 simulatorPrxName = getProperty<std::string>(
"SimulatorProxyName").getValue();
54 intervalMs = getProperty<int>(
"IntervalMs").getValue();
61 std::string robotTopicName =
"Simulator_Robot_";
63 ARMARX_INFO <<
"Simulator Robot topic: " << robotTopicName;
134 this->targetPose = *(PosePtr::dynamicCast(
targetPose));
151 VirtualRobot::MathTools::eigen4f2rpy(m, rpy);
void setCurrentPose(const PoseBasePtr &newPose)
const VariantTypeId Float
Eigen::Vector3f getRPY(PoseBasePtr pose)
void moveRelative(const PoseBasePtr &relativeTarget, Ice::Float positionalAccuracy, Ice::Float orientationalAccuracy, const Ice::Current &c=Ice::emptyCurrent) override
IceInternal::Handle< Pose > PosePtr
Moves the robot around. Currently only position control is implemented.
void onStartRobotPoseUnit() override
void setMaxVelocities(Ice::Float positionalVelocity, Ice::Float orientationalVelocity, const Ice::Current &c=Ice::emptyCurrent) override
std::string simulatorPrxName
RobotPoseUnitListenerPrx listenerPrx
RobotPoseUnitListener proxy for publishing state updates.
PeriodicTask< RobotPoseUnitDynamicSimulation >::pointer_type simulationTask
void Identity(MatrixXX< N, N, T > *a)
void simulationFunction()
ControlMode RobotPoseControlMode
::Ice::Float orientationalAccuracy
const LogSender::manipulator flush
virtual Eigen::Matrix4f toEigen() const
PropertyDefinitionsPtr createPropertyDefinitions() override
void updateCurrentPose(const PoseBasePtr &newPose)
void usingTopic(const std::string &name, bool orderedPublishing=false)
Registers a proxy for subscription after initialization.
std::string getConfigIdentifier()
Retrieve config identifier for this component as set in constructor.
void onExitRobotPoseUnit() override
void onStopRobotPoseUnit() override
MatrixXX< 4, 4, float > Matrix4f
std::mutex currentPoseMutex
void onInitRobotPoseUnit() override
void move(const PoseBasePtr &targetVelocity, const Ice::Current &c=Ice::emptyCurrent) override
SimulatorInterfacePrx simulatorPrx
SpamFilterDataPtr deactivateSpam(float deactivationDurationSec=10.0f, const std::string &identifier="", bool deactivate=true) const
disables the logging for the current line for the given amount of seconds.
IceUtil::Handle< class PropertyDefinitionContainer > PropertyDefinitionsPtr
PropertyDefinitions smart pointer type.
::Ice::Float positionalAccuracy
bool usingProxy(const std::string &name, const std::string &endpoints="")
Registers a proxy for retrieval after initialization and adds it to the dependency list.
This file offers overloads of toIce() and fromIce() functions for STL container types.
void reportState(SimulatedRobotState const &state, const Ice::Current &) override
void stopMovement(const Ice::Current &c=Ice::emptyCurrent) override
void moveTo(const PoseBasePtr &targetPose, Ice::Float positionalAccuracy, Ice::Float orientationalAccuracy, const Ice::Current &c=Ice::emptyCurrent) override