27#include <VirtualRobot/VirtualRobot.h>
31#include <ArmarXCore/interface/observers/VariantBase.h>
35#include <RobotAPI/interface/core/RobotState.h>
36#include <RobotAPI/interface/core/RobotStateObserverInterface.h>
37#include <RobotAPI/interface/units/KinematicUnitInterface.h>
54 "comma seperated list of nodesets' endeffectors, which poses and velocities that "
55 "should be reported. * for all, empty for none");
72 virtual public RobotStateObserverInterface
87 return "RobotStateObserver";
91 void updateNodeVelocities(
const NameValueMap& jointVel,
long timestampMicroSeconds);
94 void updateVelocityDatafields(
const FramedDirectionMap& tcpTranslationVelocities,
95 const FramedDirectionMap& tcpOrientationVelocities);
100 std::string robotNodeSetName;
103 std::vector<std::pair<VirtualRobot::RobotNodePtr, std::string>> nodesToReport;
104 std::recursive_mutex dataMutex;
105 IceUtil::Time lastVelocityUpdate;
109 void getPoseDatafield_async(
const AMD_RobotStateObserverInterface_getPoseDatafieldPtr& amd,
110 const std::string& nodeName,
111 const Ice::Current&)
const override;
#define ARMARXCORE_IMPORT_EXPORT
ObserverPropertyDefinitions(std::string prefix)
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)
RobotStateObserverPropertyDefinitions(std::string prefix)
void onConnectObserver() override
Framework hook.
PropertyDefinitionsPtr createPropertyDefinitions() override
void onInitObserver() override
Framework hook.
std::string getDefaultName() const override
Retrieve default name of component.
void setRobot(VirtualRobot::RobotPtr robot)
std::shared_ptr< class Robot > RobotPtr
This file offers overloads of toIce() and fromIce() functions for STL container types.
IceUtil::Handle< class PropertyDefinitionContainer > PropertyDefinitionsPtr
PropertyDefinitions smart pointer type.
::IceInternal::ProxyHandle<::IceProxy::armarx::RobotStateComponentInterface > RobotStateComponentInterfacePrx
IceInternal::Handle< RobotStateObserver > RobotStateObserverPtr
::std::map<::std::string, ::armarx::FramedPoseBasePtr > FramedPoseBaseMap