armarx::objpose Namespace Reference

Namespaces

 arondto
 
 data
 
 util
 This file is part of ArmarX.
 

Classes

struct  ObjectAttachmentInfo
 
struct  ObjectPose
 An object pose as stored by the ObjectPoseStorage. More...
 
class  ObjectPoseClient
 Provides access to the armarx::objpose::ObjectPoseStorageInterface (aka the object memory). More...
 
struct  PoseManifoldGaussian
 A "gaussian" distribution in pose space (i.e. More...
 
class  ProvidedObjectPose
 An object pose provided by an ObjectPoseProvider. More...
 
class  RequestedObjects
 Handles requests for object pose estimation from the ObjectPoseProviderInterface. More...
 

Typedefs

using ObjectPoseMap = std::map< ObjectID, ObjectPose >
 
using ObjectPoseSeq = std::vector< ObjectPose >
 
using ProvidedObjectPoseMap = std::map< ObjectID, ProvidedObjectPose >
 
using ProvidedObjectPoseSeq = std::vector< ProvidedObjectPose >
 

Functions

const data::ObjectPose * findObjectPoseByID (const data::ObjectPoseSeq &objectPoses, const armarx::data::ObjectID &id)
 
const ObjectPosefindObjectPoseByID (const ObjectPoseSeq &objectPoses, const ObjectID &id)
 
data::ObjectPose * findObjectPoseByID (data::ObjectPoseSeq &objectPoses, const armarx::data::ObjectID &id)
 
ObjectPosefindObjectPoseByID (ObjectPoseSeq &objectPoses, const ObjectID &id)
 Find an object pose by the object ID. More...
 
void from_json (const simox::json::json &j, ObjectPose &op)
 
void fromAron (const arondto::ObjectAttachmentInfo &dto, ObjectAttachmentInfo &bo)
 
void fromAron (const arondto::ObjectPose &dto, ObjectPose &bo)
 
void fromAron (const arondto::ObjectType &dto, ObjectType &bo)
 
void fromAron (const arondto::PoseManifoldGaussian &dto, PoseManifoldGaussian &bo)
 
simox::OrientedBox< floatfromIce (const Box &box)
 
void fromIce (const Box &box, simox::OrientedBox< float > &oobb)
 
void fromIce (const BoxPtr &box, std::optional< simox::OrientedBox< float >> &oobb)
 
void fromIce (const data::ObjectAttachmentInfo &ice, ObjectAttachmentInfo &attachment)
 
std::optional< ObjectAttachmentInfofromIce (const data::ObjectAttachmentInfoPtr &ice)
 
void fromIce (const data::ObjectAttachmentInfoPtr &ice, std::optional< ObjectAttachmentInfo > &attachment)
 
ObjectPose fromIce (const data::ObjectPose &ice)
 
void fromIce (const data::ObjectPose &ice, ObjectPose &pose)
 
ObjectPoseSeq fromIce (const data::ObjectPoseSeq &ice)
 
void fromIce (const data::ObjectPoseSeq &ice, ObjectPoseSeq &poses)
 
void fromIce (const data::PoseManifoldGaussian &ice, PoseManifoldGaussian &cov)
 
std::optional< PoseManifoldGaussianfromIce (const data::PoseManifoldGaussianPtr &ice)
 
void fromIce (const data::PoseManifoldGaussianPtr &ice, std::optional< PoseManifoldGaussian > &cov)
 
ProvidedObjectPose fromIce (const data::ProvidedObjectPose &ice)
 
void fromIce (const data::ProvidedObjectPose &ice, ProvidedObjectPose &pose)
 
ProvidedObjectPoseSeq fromIce (const data::ProvidedObjectPoseSeq &ice)
 
void fromIce (const data::ProvidedObjectPoseSeq &ice, ProvidedObjectPoseSeq &poses)
 
objpose::ObjectPosePredictionResult predictObjectPoseLinear (const std::map< DateTime, ObjectPose > &poses, const DateTime &time, const ObjectPose &latestPose)
 Predict the pose of an object given a history of poses based on a linear regression. More...
 
void to_json (simox::json::json &j, const ObjectPose &op)
 
void toAron (arondto::ObjectAttachmentInfo &dto, const ObjectAttachmentInfo &bo)
 
void toAron (arondto::ObjectPose &dto, const ObjectPose &bo)
 
void toAron (arondto::ObjectType &dto, const ObjectType &bo)
 
void toAron (arondto::PoseManifoldGaussian &dto, const PoseManifoldGaussian &bo)
 
void toIce (Box &box, const simox::OrientedBox< float > &oobb)
 
void toIce (BoxPtr &box, const std::optional< simox::OrientedBox< float >> &oobb)
 
data::ObjectPose toIce (const ObjectPose &pose)
 
data::ObjectPoseSeq toIce (const ObjectPoseSeq &poses)
 
data::ProvidedObjectPose toIce (const ProvidedObjectPose &pose)
 
data::ProvidedObjectPoseSeq toIce (const ProvidedObjectPoseSeq &poses)
 
objpose::AABB toIce (const simox::AxisAlignedBoundingBox &aabb)
 
Box toIce (const simox::OrientedBox< float > &oobb)
 
data::ObjectAttachmentInfoPtr toIce (const std::optional< ObjectAttachmentInfo > &ice)
 
data::PoseManifoldGaussianPtr toIce (const std::optional< PoseManifoldGaussian > &ice)
 
void toIce (data::ObjectAttachmentInfo &ice, const ObjectAttachmentInfo &attachment)
 
void toIce (data::ObjectAttachmentInfoPtr &ice, const std::optional< ObjectAttachmentInfo > &attachment)
 
void toIce (data::ObjectPose &ice, const ObjectPose &pose)
 
void toIce (data::ObjectPoseSeq &ice, const ObjectPoseSeq &poses)
 
void toIce (data::PoseManifoldGaussian &ice, const PoseManifoldGaussian &cov)
 
void toIce (data::PoseManifoldGaussianPtr &ice, const std::optional< PoseManifoldGaussian > &cov)
 
void toIce (data::ProvidedObjectPose &ice, const ProvidedObjectPose &pose)
 
void toIce (data::ProvidedObjectPoseSeq &ice, const ProvidedObjectPoseSeq &poses)
 

Variables

const simox::meta::EnumNames< objpose::ObjectType > ObjectTypeNames
 

Typedef Documentation

◆ ObjectPoseMap

using ObjectPoseMap = std::map<ObjectID, ObjectPose>

Definition at line 21 of file forward_declarations.h.

◆ ObjectPoseSeq

using ObjectPoseSeq = std::vector<ObjectPose>

Definition at line 20 of file forward_declarations.h.

◆ ProvidedObjectPoseMap

Definition at line 26 of file forward_declarations.h.

◆ ProvidedObjectPoseSeq

Definition at line 25 of file forward_declarations.h.

Function Documentation

◆ findObjectPoseByID() [1/4]

const objpose::data::ObjectPose * findObjectPoseByID ( const data::ObjectPoseSeq &  objectPoses,
const armarx::data::ObjectID &  id 
)

Definition at line 458 of file ObjectPose.cpp.

◆ findObjectPoseByID() [2/4]

const objpose::ObjectPose * findObjectPoseByID ( const ObjectPoseSeq objectPoses,
const ObjectID id 
)

Definition at line 432 of file ObjectPose.cpp.

◆ findObjectPoseByID() [3/4]

objpose::data::ObjectPose * findObjectPoseByID ( data::ObjectPoseSeq &  objectPoses,
const armarx::data::ObjectID &  id 
)

Definition at line 445 of file ObjectPose.cpp.

◆ findObjectPoseByID() [4/4]

objpose::ObjectPose * findObjectPoseByID ( ObjectPoseSeq objectPoses,
const ObjectID id 
)

Find an object pose by the object ID.

Return nullptr if not found.

Parameters
objectPosesThe object poses.
idThe object ID.
Returns
A pointer to the (first) object pose with objectID == id, or nullptr if none is found.

Definition at line 419 of file ObjectPose.cpp.

+ Here is the caller graph for this function:

◆ from_json()

void from_json ( const simox::json::json &  j,
ObjectPose op 
)

Definition at line 54 of file json_conversions.cpp.

◆ fromAron() [1/4]

void fromAron ( const arondto::ObjectAttachmentInfo &  dto,
ObjectAttachmentInfo bo 
)

Definition at line 13 of file objpose.cpp.

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

◆ fromAron() [2/4]

void fromAron ( const arondto::ObjectPose &  dto,
ObjectPose bo 
)

Definition at line 79 of file objpose.cpp.

+ Here is the call graph for this function:

◆ fromAron() [3/4]

void fromAron ( const arondto::ObjectType &  dto,
ObjectType &  bo 
)

Definition at line 43 of file objpose.cpp.

◆ fromAron() [4/4]

void fromAron ( const arondto::PoseManifoldGaussian &  dto,
PoseManifoldGaussian bo 
)

Definition at line 29 of file objpose.cpp.

+ Here is the call graph for this function:

◆ fromIce() [1/17]

simox::OrientedBoxf fromIce ( const Box &  box)

Definition at line 145 of file ice_conversions.cpp.

+ Here is the call graph for this function:

◆ fromIce() [2/17]

void armarx::objpose::fromIce ( const Box &  box,
simox::OrientedBox< float > &  oobb 
)
+ Here is the caller graph for this function:

◆ fromIce() [3/17]

void fromIce ( const BoxPtr &  box,
std::optional< simox::OrientedBox< float >> &  oobb 
)

Definition at line 132 of file ice_conversions.cpp.

+ Here is the call graph for this function:

◆ fromIce() [4/17]

void fromIce ( const data::ObjectAttachmentInfo &  ice,
ObjectAttachmentInfo attachment 
)

Definition at line 287 of file ObjectPose.cpp.

+ Here is the call graph for this function:

◆ fromIce() [5/17]

std::optional< objpose::ObjectAttachmentInfo > fromIce ( const data::ObjectAttachmentInfoPtr &  ice)

Definition at line 310 of file ObjectPose.cpp.

+ Here is the call graph for this function:

◆ fromIce() [6/17]

void fromIce ( const data::ObjectAttachmentInfoPtr &  ice,
std::optional< ObjectAttachmentInfo > &  attachment 
)

Definition at line 295 of file ObjectPose.cpp.

+ Here is the call graph for this function:

◆ fromIce() [7/17]

objpose::ObjectPose fromIce ( const data::ObjectPose &  ice)

Definition at line 363 of file ObjectPose.cpp.

◆ fromIce() [8/17]

void fromIce ( const data::ObjectPose &  ice,
ObjectPose pose 
)

Definition at line 357 of file ObjectPose.cpp.

+ Here is the call graph for this function:

◆ fromIce() [9/17]

objpose::ObjectPoseSeq fromIce ( const data::ObjectPoseSeq &  ice)

Definition at line 380 of file ObjectPose.cpp.

+ Here is the call graph for this function:

◆ fromIce() [10/17]

void fromIce ( const data::ObjectPoseSeq &  ice,
ObjectPoseSeq poses 
)

Definition at line 369 of file ObjectPose.cpp.

◆ fromIce() [11/17]

void fromIce ( const data::PoseManifoldGaussian &  ice,
PoseManifoldGaussian cov 
)

Definition at line 179 of file ice_conversions.cpp.

+ Here is the call graph for this function:

◆ fromIce() [12/17]

std::optional< objpose::PoseManifoldGaussian > fromIce ( const data::PoseManifoldGaussianPtr &  ice)

Definition at line 214 of file ice_conversions.cpp.

+ Here is the call graph for this function:

◆ fromIce() [13/17]

void fromIce ( const data::PoseManifoldGaussianPtr &  ice,
std::optional< PoseManifoldGaussian > &  cov 
)

Definition at line 199 of file ice_conversions.cpp.

+ Here is the call graph for this function:

◆ fromIce() [14/17]

objpose::ProvidedObjectPose fromIce ( const data::ProvidedObjectPose &  ice)

Definition at line 82 of file ProvidedObjectPose.cpp.

◆ fromIce() [15/17]

void fromIce ( const data::ProvidedObjectPose &  ice,
ProvidedObjectPose pose 
)

Definition at line 76 of file ProvidedObjectPose.cpp.

+ Here is the call graph for this function:

◆ fromIce() [16/17]

objpose::ProvidedObjectPoseSeq fromIce ( const data::ProvidedObjectPoseSeq &  ice)

Definition at line 99 of file ProvidedObjectPose.cpp.

+ Here is the call graph for this function:

◆ fromIce() [17/17]

void fromIce ( const data::ProvidedObjectPoseSeq &  ice,
ProvidedObjectPoseSeq poses 
)

Definition at line 88 of file ProvidedObjectPose.cpp.

◆ predictObjectPoseLinear()

objpose::ObjectPosePredictionResult predictObjectPoseLinear ( const std::map< DateTime, ObjectPose > &  poses,
const DateTime time,
const ObjectPose latestPose 
)

Predict the pose of an object given a history of poses based on a linear regression.

If poses is empty, latestPose is returned.

Parameters
posesthe history of poses to base the prediction on
timethe timestamp to make the prediction for
latestPoseused for metadata so the result is valid even if poses is empty
settingsthe settings to use for the prediction
Returns
the result of the prediction

Definition at line 37 of file predictions.cpp.

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

◆ to_json()

void to_json ( simox::json::json &  j,
const ObjectPose op 
)

Definition at line 29 of file json_conversions.cpp.

+ Here is the call graph for this function:

◆ toAron() [1/4]

void toAron ( arondto::ObjectAttachmentInfo &  dto,
const ObjectAttachmentInfo bo 
)

Definition at line 21 of file objpose.cpp.

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

◆ toAron() [2/4]

void toAron ( arondto::ObjectPose &  dto,
const ObjectPose bo 
)

Definition at line 124 of file objpose.cpp.

+ Here is the call graph for this function:

◆ toAron() [3/4]

void toAron ( arondto::ObjectType &  dto,
const ObjectType &  bo 
)

Definition at line 61 of file objpose.cpp.

◆ toAron() [4/4]

void toAron ( arondto::PoseManifoldGaussian &  dto,
const PoseManifoldGaussian bo 
)

Definition at line 36 of file objpose.cpp.

+ Here is the call graph for this function:

◆ toIce() [1/18]

void armarx::objpose::toIce ( Box &  box,
const simox::OrientedBox< float > &  oobb 
)

◆ toIce() [2/18]

void toIce ( BoxPtr &  box,
const std::optional< simox::OrientedBox< float >> &  oobb 
)

Definition at line 161 of file ice_conversions.cpp.

+ Here is the call graph for this function:

◆ toIce() [3/18]

objpose::data::ObjectPose toIce ( const ObjectPose pose)

Definition at line 394 of file ObjectPose.cpp.

+ Here is the call graph for this function:

◆ toIce() [4/18]

objpose::data::ObjectPoseSeq toIce ( const ObjectPoseSeq poses)

Definition at line 411 of file ObjectPose.cpp.

+ Here is the call graph for this function:

◆ toIce() [5/18]

objpose::data::ProvidedObjectPose toIce ( const ProvidedObjectPose pose)

Definition at line 113 of file ProvidedObjectPose.cpp.

+ Here is the call graph for this function:

◆ toIce() [6/18]

objpose::data::ProvidedObjectPoseSeq toIce ( const ProvidedObjectPoseSeq poses)

Definition at line 130 of file ProvidedObjectPose.cpp.

+ Here is the call graph for this function:

◆ toIce() [7/18]

objpose::AABB toIce ( const simox::AxisAlignedBoundingBox &  aabb)

Definition at line 103 of file ice_conversions.cpp.

+ Here is the caller graph for this function:

◆ toIce() [8/18]

Box armarx::objpose::toIce ( const simox::OrientedBox< float > &  oobb)

◆ toIce() [9/18]

objpose::data::ObjectAttachmentInfoPtr toIce ( const std::optional< ObjectAttachmentInfo > &  ice)

Definition at line 345 of file ObjectPose.cpp.

+ Here is the call graph for this function:

◆ toIce() [10/18]

objpose::data::PoseManifoldGaussianPtr toIce ( const std::optional< PoseManifoldGaussian > &  ice)

Definition at line 248 of file ice_conversions.cpp.

+ Here is the call graph for this function:

◆ toIce() [11/18]

void toIce ( data::ObjectAttachmentInfo &  ice,
const ObjectAttachmentInfo attachment 
)

Definition at line 322 of file ObjectPose.cpp.

◆ toIce() [12/18]

void toIce ( data::ObjectAttachmentInfoPtr &  ice,
const std::optional< ObjectAttachmentInfo > &  attachment 
)

Definition at line 330 of file ObjectPose.cpp.

+ Here is the call graph for this function:

◆ toIce() [13/18]

void toIce ( data::ObjectPose &  ice,
const ObjectPose pose 
)

Definition at line 388 of file ObjectPose.cpp.

+ Here is the call graph for this function:

◆ toIce() [14/18]

void toIce ( data::ObjectPoseSeq &  ice,
const ObjectPoseSeq poses 
)

Definition at line 400 of file ObjectPose.cpp.

◆ toIce() [15/18]

void toIce ( data::PoseManifoldGaussian &  ice,
const PoseManifoldGaussian cov 
)

Definition at line 222 of file ice_conversions.cpp.

+ Here is the call graph for this function:

◆ toIce() [16/18]

void toIce ( data::PoseManifoldGaussianPtr &  ice,
const std::optional< PoseManifoldGaussian > &  cov 
)

Definition at line 233 of file ice_conversions.cpp.

+ Here is the call graph for this function:

◆ toIce() [17/18]

void toIce ( data::ProvidedObjectPose &  ice,
const ProvidedObjectPose pose 
)

Definition at line 107 of file ProvidedObjectPose.cpp.

+ Here is the call graph for this function:

◆ toIce() [18/18]

void toIce ( data::ProvidedObjectPoseSeq &  ice,
const ProvidedObjectPoseSeq poses 
)

Definition at line 119 of file ProvidedObjectPose.cpp.

Variable Documentation

◆ ObjectTypeNames

const simox::meta::EnumNames< objpose::ObjectType > ObjectTypeNames
Initial value:
= {
{objpose::ObjectType::AnyObject, "AnyObject"},
{objpose::ObjectType::KnownObject, "KnownObject"},
{objpose::ObjectType::UnknownObject, "UnknownObject"}}

Definition at line 97 of file ice_conversions.cpp.