armarx::objpose Namespace Reference

This file is part of ArmarX. More...

Namespaces

 arondto
 
 data
 

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

VirtualRobot::ManipulationObjectPtr asManipulationObject (const objpose::ObjectPose &objectPose)
 
VirtualRobot::SceneObjectSetPtr asSceneObjects (const objpose::ObjectPoseSeq &objectPoses)
 
objpose::ObjectPoseSeq filterObjects (objpose::ObjectPoseSeq objects, const std::vector< std::string > &datasetBlocklist)
 
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
 

Detailed Description

This file is part of ArmarX.

ArmarX is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.

ArmarX is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Author
Fabian Reister ( fabian dot reister at kit dot edu )
Date
2022

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

◆ asManipulationObject()

VirtualRobot::ManipulationObjectPtr asManipulationObject ( const objpose::ObjectPose objectPose)

Definition at line 53 of file util.cpp.

+ Here is the call graph for this function:

◆ asSceneObjects()

VirtualRobot::SceneObjectSetPtr asSceneObjects ( const objpose::ObjectPoseSeq objectPoses)

Definition at line 70 of file util.cpp.

+ Here is the call graph for this function:

◆ filterObjects()

objpose::ObjectPoseSeq filterObjects ( objpose::ObjectPoseSeq  objects,
const std::vector< std::string > &  datasetBlocklist 
)

Definition at line 37 of file util.cpp.

◆ findObjectPoseByID() [1/4]

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

Definition at line 424 of file ObjectPose.cpp.

◆ findObjectPoseByID() [2/4]

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

Definition at line 400 of file ObjectPose.cpp.

◆ findObjectPoseByID() [3/4]

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

Definition at line 412 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 388 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 55 of file json_conversions.cpp.

◆ fromAron() [1/4]

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

Definition at line 15 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 45 of file objpose.cpp.

◆ fromAron() [4/4]

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

Definition at line 31 of file objpose.cpp.

+ Here is the call graph for this function:

◆ fromIce() [1/17]

simox::OrientedBoxf fromIce ( const Box &  box)

Definition at line 134 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 122 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 273 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 293 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 280 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 340 of file ObjectPose.cpp.

◆ fromIce() [8/17]

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

Definition at line 336 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 354 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 345 of file ObjectPose.cpp.

◆ fromIce() [11/17]

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

Definition at line 165 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 196 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 183 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 77 of file ProvidedObjectPose.cpp.

◆ fromIce() [15/17]

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

Definition at line 73 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 92 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 82 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 30 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 22 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 37 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 148 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 366 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 380 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 105 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 121 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 94 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 324 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 227 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 304 of file ObjectPose.cpp.

◆ toIce() [12/18]

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

Definition at line 311 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 362 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 371 of file ObjectPose.cpp.

◆ toIce() [15/18]

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

Definition at line 204 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 214 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 100 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 111 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 87 of file ice_conversions.cpp.