25#include <Eigen/Geometry>
27#include <SimoxUtility/math/convert/rpy_to_mat3f.h>
30#include <RobotAPI/interface/core/GeometryBase.h>
74 ARMARX_INFO <<
"Creating robot agent with name " << agentName;
79 robotAgent->setStringifiedSharedRobotInterfaceProxy(iceCommunicator->proxyToString(robot));
84 Eigen::Isometry3f global_T_robot_initial = Eigen::Isometry3f::Identity();
85 global_T_robot_initial.translation().x() =
87 global_T_robot_initial.translation().y() =
89 global_T_robot_initial.linear() =
90 simox::math::rpy_to_mat3f(0, 0,
getProperty<float>(
"InitialPlatformPoseAngle").getValue());
92 TransformStamped transformStamped;
93 transformStamped.transform = global_T_robot_initial.matrix();
94 transformStamped.header.agent = agentName;
96 transformStamped.header.timestampInMicroSeconds =
TimeUtil::GetTime().toMicroSeconds();
113 "KinematicSelfLocalizationCalculation");
115 execTask->setDelayWarningTolerance(100);
165 const ::Ice::Current&)
169 Eigen::Isometry3f global_T_robot(transformStamped.transform);
170 global_T_robot.translation().z() =
robotPoseZ;
std::string getConfigIdentifier()
Retrieve config identifier for this component as set in constructor.
Property< PropertyType > getProperty(const std::string &name)
void onInitComponent() override
memoryx::WorkingMemoryInterfacePrx memoryPrx
void reportGlobalRobotPose(const ::armarx::TransformStamped &, const ::Ice::Current &=::Ice::emptyCurrent) override
void onDisconnectComponent() override
armarx::PropertyDefinitionsPtr createPropertyDefinitions() override
FramedPosePtr currentRobotPose
memoryx::AgentInstancesSegmentBasePrx agentsMemoryPrx
PeriodicTask< KinematicSelfLocalization >::pointer_type execTask
void onConnectComponent() override
memoryx::AgentInstancePtr robotAgent
RobotStateComponentInterfacePrx robotStateComponentPrx
void onExitComponent() override
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.
bool usingProxy(const std::string &name, const std::string &endpoints="")
Registers a proxy for retrieval after initialization and adds it to the dependency list.
void usingTopic(const std::string &name, bool orderedPublishing=false)
Registers a proxy for subscription after initialization.
std::string getName() const
Retrieve name of object.
IceManagerPtr getIceManager() const
Returns the IceManager.
Ice::ObjectPrx getProxy(long timeoutMs=0, bool waitForScheduler=true) const
Returns the proxy of this object (optionally it waits for the proxy)
The periodic task executes one thread method repeatedly using the time period specified in the constr...
static IceUtil::Time GetTime(TimeMode timeMode=TimeMode::VirtualTime)
Get the current time.
#define ARMARX_CHECK_EXPRESSION(expression)
This macro evaluates the expression and if it turns out to be false it will throw an ExpressionExcept...
#define ARMARX_INFO
The normal logging level.
#define ARMARX_DEBUG
The logging level for output that is only interesting while debugging.
#define ARMARX_WARNING
The logging level for unexpected behaviour, but not a serious problem.
std::string const GlobalFrame
Variable of the global coordinate system.
::IceInternal::Handle<::Ice::Communicator > CommunicatorPtr
This file offers overloads of toIce() and fromIce() functions for STL container types.
std::string GetHandledExceptionString()
IceUtil::Handle< class PropertyDefinitionContainer > PropertyDefinitionsPtr
PropertyDefinitions smart pointer type.