ObjectPose Struct Reference

An object pose as stored by the ObjectPoseStorage. More...

#include <RobotAPI/libraries/ArmarXObjects/ObjectPose.h>

Public Member Functions

void fromIce (const data::ObjectPose &ice)
 
void fromProvidedPose (const data::ProvidedObjectPose &provided, VirtualRobot::RobotPtr robot=nullptr)
 
objpose::ObjectPose getAttached (VirtualRobot::RobotPtr agent) const
 Get a copy of *this with updated attachment. More...
 
 ObjectPose ()
 
 ObjectPose (const data::ObjectPose &ice)
 
std::optional< simox::OrientedBoxf > oobbGlobal () const
 Get the OOBB in the global frame (according to objectPoseGlobal). More...
 
std::optional< simox::OrientedBoxf > oobbRobot () const
 Get the OOBB in the robot frame (according to objectPoseRobot). More...
 
void setObjectPoseGlobal (const Eigen::Matrix4f &objectPoseGlobal, bool updateObjectPoseRobot=true)
 
void setObjectPoseRobot (const Eigen::Matrix4f &objectPoseRobot, bool updateObjectPoseGlobal=true)
 
data::ObjectPose toIce () const
 
void toIce (data::ObjectPose &ice) const
 
objpose::ProvidedObjectPose toProvidedObjectPoseGlobal () const
 
void updateAttached (VirtualRobot::RobotPtr agent)
 Update an the object pose and robot state of an attached object pose according to the given agent state (in-place). More...
 

Public Attributes

std::optional< PackagePatharticulatedSimoxXmlPath
 
std::optional< ObjectAttachmentInfoattachment
 Attachment information. More...
 
float confidence = 0
 Confidence in [0, 1] (1 = full, 0 = none). More...
 
bool isStatic = false
 Whether object is static. Static objects don't decay. More...
 
std::optional< simox::OrientedBoxf > localOOBB
 Object bounding box in object's local coordinate frame. More...
 
armarx::ObjectID objectID
 The object ID, i.e. dataset, class name and instance name. More...
 
std::map< std::string, floatobjectJointValues
 The object's joint values if it is articulated. More...
 
Eigen::Matrix4f objectPoseGlobal = Eigen::Matrix4f::Identity()
 The object pose in the global frame. More...
 
std::optional< PoseManifoldGaussianobjectPoseGlobalGaussian
 ... and with uncertainty. More...
 
Eigen::Matrix4f objectPoseOriginal = Eigen::Matrix4f::Identity()
 The object pose in the frame it was originally localized in. More...
 
std::string objectPoseOriginalFrame
 The frame the object was originally localized in. More...
 
std::optional< PoseManifoldGaussianobjectPoseOriginalGaussian
 ... and with uncertainty. More...
 
Eigen::Matrix4f objectPoseRobot = Eigen::Matrix4f::Identity()
 The object pose in the robot root frame. More...
 
std::optional< PoseManifoldGaussianobjectPoseRobotGaussian
 ... and with uncertainty. More...
 
ObjectType objectType = AnyObject
 Known or unknown object. More...
 
std::string providerName
 Name of the providing component. More...
 
std::map< std::string, floatrobotConfig
 The robot config when the object was observed. More...
 
std::string robotName
 The name of the robot. More...
 
Eigen::Matrix4f robotPose = Eigen::Matrix4f::Identity()
 The robot pose when the object was observed. More...
 
DateTime timestamp = DateTime::Invalid()
 Source timestamp. More...
 

Detailed Description

An object pose as stored by the ObjectPoseStorage.

Definition at line 36 of file ObjectPose.h.

Constructor & Destructor Documentation

◆ ObjectPose() [1/2]

Definition at line 22 of file ObjectPose.cpp.

◆ ObjectPose() [2/2]

ObjectPose ( const data::ObjectPose &  ice)

Definition at line 26 of file ObjectPose.cpp.

+ Here is the call graph for this function:

Member Function Documentation

◆ fromIce()

void fromIce ( const data::ObjectPose &  ice)

Definition at line 31 of file ObjectPose.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ fromProvidedPose()

void fromProvidedPose ( const data::ProvidedObjectPose &  provided,
VirtualRobot::RobotPtr  robot = nullptr 
)

Definition at line 102 of file ObjectPose.cpp.

+ Here is the call graph for this function:

◆ getAttached()

objpose::ObjectPose getAttached ( VirtualRobot::RobotPtr  agent) const

Get a copy of *this with updated attachment.

See also
updateAttached()

Definition at line 239 of file ObjectPose.cpp.

+ Here is the call graph for this function:

◆ oobbGlobal()

std::optional< simox::OrientedBoxf > oobbGlobal ( ) const

Get the OOBB in the global frame (according to objectPoseGlobal).

Definition at line 230 of file ObjectPose.cpp.

+ Here is the caller graph for this function:

◆ oobbRobot()

std::optional< simox::OrientedBoxf > oobbRobot ( ) const

Get the OOBB in the robot frame (according to objectPoseRobot).

Definition at line 221 of file ObjectPose.cpp.

+ Here is the caller graph for this function:

◆ setObjectPoseGlobal()

void setObjectPoseGlobal ( const Eigen::Matrix4f &  objectPoseGlobal,
bool  updateObjectPoseRobot = true 
)

Definition at line 210 of file ObjectPose.cpp.

+ Here is the caller graph for this function:

◆ setObjectPoseRobot()

void setObjectPoseRobot ( const Eigen::Matrix4f &  objectPoseRobot,
bool  updateObjectPoseGlobal = true 
)

Definition at line 200 of file ObjectPose.cpp.

◆ toIce() [1/2]

data::ObjectPose toIce ( ) const

Definition at line 63 of file ObjectPose.cpp.

+ Here is the caller graph for this function:

◆ toIce() [2/2]

void toIce ( data::ObjectPose &  ice) const

Definition at line 70 of file ObjectPose.cpp.

+ Here is the call graph for this function:

◆ toProvidedObjectPoseGlobal()

objpose::ProvidedObjectPose toProvidedObjectPoseGlobal ( ) const

Definition at line 176 of file ObjectPose.cpp.

◆ updateAttached()

void updateAttached ( VirtualRobot::RobotPtr  agent)

Update an the object pose and robot state of an attached object pose according to the given agent state (in-place).

Parameters
agentThe agent/robot.

Definition at line 248 of file ObjectPose.cpp.

+ Here is the caller graph for this function:

Member Data Documentation

◆ articulatedSimoxXmlPath

std::optional<PackagePath> articulatedSimoxXmlPath

Definition at line 125 of file ObjectPose.h.

◆ attachment

std::optional<ObjectAttachmentInfo> attachment

Attachment information.

Definition at line 95 of file ObjectPose.h.

◆ confidence

float confidence = 0

Confidence in [0, 1] (1 = full, 0 = none).

Definition at line 98 of file ObjectPose.h.

◆ isStatic

bool isStatic = false

Whether object is static. Static objects don't decay.

Definition at line 65 of file ObjectPose.h.

◆ localOOBB

std::optional<simox::OrientedBoxf> localOOBB

Object bounding box in object's local coordinate frame.

See also
oobbRobot(), oobbGlobal()

Definition at line 104 of file ObjectPose.h.

◆ objectID

armarx::ObjectID objectID

The object ID, i.e. dataset, class name and instance name.

Definition at line 58 of file ObjectPose.h.

◆ objectJointValues

std::map<std::string, float> objectJointValues

The object's joint values if it is articulated.

Definition at line 85 of file ObjectPose.h.

◆ objectPoseGlobal

Eigen::Matrix4f objectPoseGlobal = Eigen::Matrix4f::Identity()

The object pose in the global frame.

Definition at line 73 of file ObjectPose.h.

◆ objectPoseGlobalGaussian

std::optional<PoseManifoldGaussian> objectPoseGlobalGaussian

... and with uncertainty.

Definition at line 75 of file ObjectPose.h.

◆ objectPoseOriginal

Eigen::Matrix4f objectPoseOriginal = Eigen::Matrix4f::Identity()

The object pose in the frame it was originally localized in.

Definition at line 78 of file ObjectPose.h.

◆ objectPoseOriginalFrame

std::string objectPoseOriginalFrame

The frame the object was originally localized in.

Definition at line 80 of file ObjectPose.h.

◆ objectPoseOriginalGaussian

std::optional<PoseManifoldGaussian> objectPoseOriginalGaussian

... and with uncertainty.

Definition at line 82 of file ObjectPose.h.

◆ objectPoseRobot

Eigen::Matrix4f objectPoseRobot = Eigen::Matrix4f::Identity()

The object pose in the robot root frame.

Definition at line 68 of file ObjectPose.h.

◆ objectPoseRobotGaussian

std::optional<PoseManifoldGaussian> objectPoseRobotGaussian

... and with uncertainty.

Definition at line 70 of file ObjectPose.h.

◆ objectType

ObjectType objectType = AnyObject

Known or unknown object.

Definition at line 63 of file ObjectPose.h.

◆ providerName

std::string providerName

Name of the providing component.

Definition at line 61 of file ObjectPose.h.

◆ robotConfig

std::map<std::string, float> robotConfig

The robot config when the object was observed.

Definition at line 88 of file ObjectPose.h.

◆ robotName

std::string robotName

The name of the robot.

Definition at line 92 of file ObjectPose.h.

◆ robotPose

Eigen::Matrix4f robotPose = Eigen::Matrix4f::Identity()

The robot pose when the object was observed.

Definition at line 90 of file ObjectPose.h.

◆ timestamp

DateTime timestamp = DateTime::Invalid()

Source timestamp.

Definition at line 100 of file ObjectPose.h.


The documentation for this struct was generated from the following files: