27#include <VirtualRobot/VirtualRobot.h>
34#include <RobotAPI/interface/armem/server/ObjectMemoryInterface.h>
35#include <RobotAPI/interface/core/RobotState.h>
43#define ICE_CURRENT_ARG const Ice::Current& = Ice::emptyCurrent
53 virtual public armarx::armem::server::ObjectInstanceSegmentInterface
63 KinematicUnitObserverInterfacePrx kinematicUnitObserver,
73 const objpose::ProviderInfo& info,
76 const objpose::data::ProvidedObjectPoseSeq& objectPoses,
84 virtual objpose::data::ObjectPoseSeq
90 virtual objpose::ProviderInfo
getProviderInfo(
const std::string& providerName,
98 virtual objpose::observer::RequestObjectsOutput
99 requestObjects(
const objpose::observer::RequestObjectsInput& input,
104 virtual objpose::AttachObjectToRobotNodeOutput
107 virtual objpose::DetachObjectFromRobotNodeOutput
110 virtual objpose::DetachAllObjectsFromRobotNodesOutput
118 virtual objpose::SignalHeadMovementOutput
123 virtual objpose::ObjectPosePredictionResultSeq
127 virtual armem::prediction::data::PredictionEngineSeq
132 void updateProviderInfo(
const std::string& providerName,
const objpose::ProviderInfo& info);
134 void updateObjectPoses(
const std::string& providerName,
135 const objpose::data::ProvidedObjectPoseSeq& providedPoses);
136 void handleProviderUpdate(
const std::string& providerName);
156 std::mutex robotHeadMutex;
159 std::mutex visuMutex;
165 bool enableContinuousAttachmentUpdates =
true;
185#undef ICE_CURRENT_ARG
Base Class for all Logging classes.
IceUtil::Handle< RunningTask< T > > pointer_type
Shared pointer type for convenience.
The VirtualRobotReader class.
Helps connecting a Memory server to the Ice interface.
virtual objpose::ProviderInfo getProviderInfo(const std::string &providerName, ICE_CURRENT_ARG) override
virtual objpose::data::ObjectPoseSeq getObjectPoses(ICE_CURRENT_ARG) override
static const std::vector< PredictionEngine > predictionEngines
virtual objpose::SignalHeadMovementOutput signalHeadMovement(const objpose::SignalHeadMovementInput &input, ICE_CURRENT_ARG) override
virtual objpose::DetachObjectFromRobotNodeOutput detachObjectFromRobotNode(const objpose::DetachObjectFromRobotNodeInput &input, ICE_CURRENT_ARG) override
void connect(robot_state::VirtualRobotReader *virtualRobotReader, KinematicUnitObserverInterfacePrx kinematicUnitObserver, viz::Client arviz, DebugObserverInterfacePrx debugObserver)
virtual Ice::StringSeq getAvailableProviderNames(ICE_CURRENT_ARG) override
virtual armem::prediction::data::PredictionEngineSeq getAvailableObjectPoseEngines(ICE_CURRENT_ARG) override
std::string getName() const
virtual bool hasProvider(const std::string &providerName, ICE_CURRENT_ARG) override
virtual objpose::ProviderInfoMap getAvailableProvidersInfo(ICE_CURRENT_ARG) override
virtual void reportObjectPoses(const std::string &providerName, const objpose::data::ProvidedObjectPoseSeq &objectPoses, ICE_CURRENT_ARG) override
virtual objpose::DetachAllObjectsFromRobotNodesOutput detachAllObjectsFromRobotNodes(const objpose::DetachAllObjectsFromRobotNodesInput &input, ICE_CURRENT_ARG) override
SegmentAdapter(MemoryToIceAdapter &iceMemory)
static const std::string linearPredictionEngineID
virtual objpose::observer::RequestObjectsOutput requestObjects(const objpose::observer::RequestObjectsInput &input, ICE_CURRENT_ARG) override
virtual objpose::ObjectPosePredictionResultSeq predictObjectPoses(const objpose::ObjectPosePredictionRequestSeq &requests, ICE_CURRENT_ARG) override
virtual void reportProviderAvailable(const std::string &providerName, const objpose::ProviderInfo &info, ICE_CURRENT_ARG) override
void defineProperties(armarx::PropertyDefinitionsPtr defs, const std::string &prefix="")
virtual objpose::AttachObjectToRobotNodeOutput attachObjectToRobotNode(const objpose::AttachObjectToRobotNodeInput &input, ICE_CURRENT_ARG) override
virtual objpose::AgentFramesSeq getAttachableFrames(ICE_CURRENT_ARG) override
virtual objpose::data::ObjectPoseSeq getObjectPosesByProvider(const std::string &providerName, ICE_CURRENT_ARG) override
Models decay of object localizations by decreasing the confidence the longer the object was not local...
::IceInternal::ProxyHandle<::IceProxy::armarx::DebugObserverInterface > DebugObserverInterfacePrx
IceUtil::Handle< class PropertyDefinitionContainer > PropertyDefinitionsPtr
PropertyDefinitions smart pointer type.
instance::RobotHeadMovement::RemoteGui robotHead
instance::Segment::RemoteGui segment
armarx::RemoteGui::Client::GroupBox group
instance::Visu::RemoteGui visu
armarx::RemoteGui::Client::VBoxLayout layout
void update(SegmentAdapter &adapter)
void setup(const SegmentAdapter &adapter)
instance::Decay::RemoteGui decay