armarx::objpose Namespace Reference

Namespaces

namespace  arondto
 
namespace  data
 
namespace  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 ObjectPose * findObjectPoseByID (const ObjectPoseSeq &objectPoses, const ObjectID &id)
 
data::ObjectPose * findObjectPoseByID (data::ObjectPoseSeq &objectPoses, const armarx::data::ObjectID &id)
 
ObjectPose * findObjectPoseByID (ObjectPoseSeq &objectPoses, const ObjectID &id)
 Find an object pose by the object ID.
 
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< float > fromIce (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< ObjectAttachmentInfo > fromIce (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< PoseManifoldGaussian > fromIce (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.
 
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>

◆ ObjectPoseSeq

using ObjectPoseSeq = std::vector<ObjectPose>

◆ ProvidedObjectPoseMap

◆ ProvidedObjectPoseSeq

Function Documentation

◆ findObjectPoseByID() [1/4]

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

◆ findObjectPoseByID() [2/4]

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

◆ findObjectPoseByID() [3/4]

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

◆ 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.

◆ from_json()

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

◆ fromAron() [1/4]

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

◆ fromAron() [2/4]

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

◆ fromAron() [3/4]

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

◆ fromAron() [4/4]

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

◆ fromIce() [1/17]

simox::OrientedBoxf fromIce ( const Box & box)

◆ fromIce() [2/17]

void fromIce ( const Box & box,
simox::OrientedBox< float > & oobb )

◆ fromIce() [3/17]

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

◆ fromIce() [4/17]

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

◆ fromIce() [5/17]

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

◆ fromIce() [6/17]

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

◆ fromIce() [7/17]

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

◆ fromIce() [8/17]

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

◆ fromIce() [9/17]

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

◆ fromIce() [10/17]

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

◆ fromIce() [11/17]

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

◆ fromIce() [12/17]

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

◆ fromIce() [13/17]

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

◆ fromIce() [14/17]

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

◆ fromIce() [15/17]

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

◆ fromIce() [16/17]

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

◆ fromIce() [17/17]

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

◆ 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

◆ to_json()

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

◆ toAron() [1/4]

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

◆ toAron() [2/4]

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

◆ toAron() [3/4]

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

◆ toAron() [4/4]

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

◆ toIce() [1/18]

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

◆ toIce() [2/18]

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

◆ toIce() [3/18]

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

◆ toIce() [4/18]

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

◆ toIce() [5/18]

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

◆ toIce() [6/18]

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

◆ toIce() [7/18]

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

◆ toIce() [8/18]

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

◆ toIce() [9/18]

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

◆ toIce() [10/18]

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

◆ toIce() [11/18]

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

◆ toIce() [12/18]

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

◆ toIce() [13/18]

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

◆ toIce() [14/18]

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

◆ toIce() [15/18]

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

◆ toIce() [16/18]

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

◆ toIce() [17/18]

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

◆ toIce() [18/18]

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

Variable Documentation

◆ ObjectTypeNames

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