28 #include <RobotAPI/interface/core/RobotLocalization.h>
29 #include <RobotAPI/interface/observers/PlatformUnitObserverInterface.h>
30 #include <ArmarXCore/interface/observers/VariantBase.h>
55 defineOptionalProperty<std::string>(
"PlatformName",
"Platform",
"Name of the platform (will publish values on PlatformName + 'State')");
74 virtual public PlatformUnitObserverInterface
78 void onInitObserver()
override;
79 void onConnectObserver()
override;
82 void reportPlatformVelocity(::
Ice::Float currentPlatformVelocityX, ::
Ice::Float currentPlatformVelocityY, ::
Ice::Float currentPlatformVelocityRotation,
const Ice::Current&
c = Ice::emptyCurrent)
override;
86 void reportGlobalRobotPose(const ::armarx::TransformStamped&, const ::Ice::Current& = ::Ice::emptyCurrent)
override;
91 return "PlatformUnitObserver";
100 void nameValueMapToDataFields(std::string channelName, ::
Ice::Float platformPositionX, ::
Ice::Float platformPositionY, ::
Ice::Float platformRotation);
103 std::string platformNodeName;
116 channelName(channelName)
128 if (platformUnitObserverName.empty())
130 throw LocalException(
"kinematicUnitObserverName must not be empty!");
133 if (platformName.empty())
135 throw LocalException(
"jointName must not be empty!");
142 std::string channelName;