Skip to content
Snippets Groups Projects
Commit cb948d49 authored by Rainer Kartmann's avatar Rainer Kartmann
Browse files

Tweak interfaces

parent a3118159
No related branches found
No related tags found
No related merge requests found
...@@ -35,18 +35,19 @@ module armarx ...@@ -35,18 +35,19 @@ module armarx
{ {
interface ObjectPoseObserverInterface extends ObserverInterface, ObjectPoseTopic interface ObjectPoseObserverInterface extends ObserverInterface, ObjectPoseTopic
{ {
InfoMap getAvailableProvidersWithInfo(); ObjectPoseSeq getObjectPoses();
ObjectPoseSeq getObjectPosesByProvider(string providerName);
void requestObjects(ObjectIDSeq objectIDs, long relativeTimeoutMS);
Ice::StringSeq getAvailableProviderNames(); Ice::StringSeq getAvailableProviderNames();
ProviderInfoMap getAvailableProvidersWithInfo();
ProviderInfo getProviderInfo(string providerName); ProviderInfo getProviderInfo(string providerName);
bool hasProvider(string providerName); bool hasProvider(string providerName);
ObjectPoseSeq getObjectPoses();
ObjectPoseSeq getObjectPosesByProvider(string providerName);
int getUpdateCounterByProvider(string providerName); int getUpdateCounterByProvider(string providerName);
StringIntDictionary getAllUpdateCounters(); StringIntDictionary getAllUpdateCounters();
bool setProviderConfig(string providerName, StringVariantBaseMap config);
}; };
}; };
......
...@@ -44,14 +44,15 @@ module armarx ...@@ -44,14 +44,15 @@ module armarx
string project; ///< e.g. "KIT", "YCB", "SecondHands", ... string project; ///< e.g. "KIT", "YCB", "SecondHands", ...
string name; ///< e.g. "Amicelli", "001_chips_can", ... string name; ///< e.g. "Amicelli", "001_chips_can", ...
}; };
sequence<ObjectID> ObjectIDSeq;
struct ObjectPose struct ObjectPose
{ {
ObjectTypeEnum objectType = AnyObject; ObjectTypeEnum objectType = AnyObject;
ObjectID objectID; ObjectID objectID;
PoseBase objectPose; ///< In robot frame. PoseBase objectPose; ///< In `objectPoseFrame`.
PoseBase robotPose; ///< In global frame. string objectPoseFrame;
/// Confidence in [0, 1] (1 = full, 0 = none). /// Confidence in [0, 1] (1 = full, 0 = none).
float confidence = 0; float confidence = 0;
...@@ -60,27 +61,30 @@ module armarx ...@@ -60,27 +61,30 @@ module armarx
string providerName; string providerName;
}; };
sequence<ObjectPose> ObjectPoseSeq; sequence<ObjectPose> ObjectPoseSeq;
struct ProviderInfo struct ProviderInfo
{ {
ObjectTypeEnum objectType = AnyObject; ObjectTypeEnum objectType = AnyObject;
StringVariantBaseMap currentConfig; ObjectIDSeq supportedObjects;
}; };
dictionary<string, ProviderInfo> ProviderInfoMap;
dictionary<string, ProviderInfo> InfoMap;
interface ObjectPoseTopic interface ObjectPoseTopic
{ {
void reportProviderInfo(string providerName, ProviderInfo info); /// Signal that a new provider is now available (and ready for `getProviderInfo()`.
void reportProviderAvailable(string providerName);
void reportObjectPoses(string providerName, ObjectPoseSeq candidates); void reportObjectPoses(string providerName, ObjectPoseSeq candidates);
}; };
interface ObjectPoseProviderInterface extends RequestableServiceListenerInterface interface ObjectPoseProvider
{ {
/// Get the provider info.
ProviderInfo getProviderInfo();
/// Request to track the specified objects for some time.
void requestObjects(ObjectIDSeq objectIDs, long relativeTimeoutMS);
}; };
}; };
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment