29 #include <ArmarXCore/interface/observers/VariantBase.h>
34 #include <RobotAPI/interface/core/RobotLocalization.h>
35 #include <RobotAPI/interface/observers/PlatformUnitObserverInterface.h>
53 defineOptionalProperty<std::string>(
56 "Name of the platform (will publish values on PlatformName + 'State')");
75 virtual public PlatformUnitObserverInterface
79 void onInitObserver()
override;
80 void onConnectObserver()
override;
83 void reportPlatformVelocity(::
Ice::Float currentPlatformVelocityX,
86 const Ice::Current&
c = Ice::emptyCurrent)
override;
90 const Ice::Current&)
override;
93 void reportGlobalRobotPose(const ::armarx::TransformStamped&,
94 const ::Ice::Current& = ::Ice::emptyCurrent)
override;
99 return "PlatformUnitObserver";
108 void nameValueMapToDataFields(std::string channelName,
114 std::string platformNodeName;
138 const std::string& platformName)
const
140 if (platformUnitObserverName.empty())
142 throw LocalException(
"kinematicUnitObserverName must not be empty!");
145 if (platformName.empty())
147 throw LocalException(
"jointName must not be empty!");
154 std::string channelName;