Go to the documentation of this file.
9 #include <SimoxUtility/shapes/OrientedBox.h>
11 #include <VirtualRobot/VirtualRobot.h>
16 #include <RobotAPI/interface/objectpose/object_pose_types.h>
43 void fromIce(
const data::ObjectPose& ice);
45 data::ObjectPose
toIce()
const;
46 void toIce(data::ObjectPose& ice)
const;
108 std::optional<simox::OrientedBoxf>
oobbRobot()
const;
110 std::optional<simox::OrientedBoxf>
oobbGlobal()
const;
131 void fromIce(
const data::ObjectAttachmentInfoPtr& ice, std::optional<ObjectAttachmentInfo>& attachment);
132 std::optional<ObjectAttachmentInfo>
fromIce(
const data::ObjectAttachmentInfoPtr& ice);
142 void toIce(data::ObjectAttachmentInfoPtr& ice,
const std::optional<ObjectAttachmentInfo>& attachment);
143 data::ObjectAttachmentInfoPtr
toIce(
const std::optional<ObjectAttachmentInfo>& ice);
objpose::ObjectPose getAttached(VirtualRobot::RobotPtr agent) const
Get a copy of *this with updated attachment.
A known object ID of the form "Dataset/ClassName" or "Dataset/ClassName/InstanceName".
std::vector< ObjectPose > ObjectPoseSeq
ObjectType objectType
Known or unknown object.
void fromIce(const data::ObjectPose &ice)
std::string robotName
The name of the robot.
std::optional< simox::OrientedBoxf > localOOBB
Object bounding box in object's local coordinate frame.
void fromIce(const Box &box, simox::OrientedBox< float > &oobb)
std::optional< simox::OrientedBoxf > oobbRobot() const
Get the OOBB in the robot frame (according to objectPoseRobot).
std::string providerName
Name of the providing component.
ObjectPose * findObjectPoseByID(ObjectPoseSeq &objectPoses, const ObjectID &id)
Find an object pose by the object ID.
void fromProvidedPose(const data::ProvidedObjectPose &provided, VirtualRobot::RobotPtr robot=nullptr)
std::optional< PoseManifoldGaussian > objectPoseOriginalGaussian
... and with uncertainty.
void setObjectPoseGlobal(const Eigen::Matrix4f &objectPoseGlobal, bool updateObjectPoseRobot=true)
data::ObjectPose toIce() const
std::optional< simox::OrientedBoxf > oobbGlobal() const
Get the OOBB in the global frame (according to objectPoseGlobal).
bool isStatic
Whether object is static. Static objects don't decay.
void Identity(MatrixXX< N, N, T > *a)
std::optional< PoseManifoldGaussian > objectPoseRobotGaussian
... and with uncertainty.
std::string objectPoseOriginalFrame
The frame the object was originally localized in.
Eigen::Matrix4f robotPose
The robot pose when the object was observed.
Eigen::Matrix4f poseInFrame
This file is part of ArmarX.
objpose::ProvidedObjectPose toProvidedObjectPoseGlobal() const
std::map< std::string, float > robotConfig
The robot config when the object was observed.
void setObjectPoseRobot(const Eigen::Matrix4f &objectPoseRobot, bool updateObjectPoseGlobal=true)
An object pose provided by an ObjectPoseProvider.
Represents a point in time.
void updateAttached(VirtualRobot::RobotPtr agent)
Update an the object pose and robot state of an attached object pose according to the given agent sta...
objpose::AABB toIce(const simox::AxisAlignedBoundingBox &aabb)
armarx::ObjectID objectID
The object ID, i.e. dataset, class name and instance name.
MatrixXX< 4, 4, float > Matrix4f
Eigen::Matrix4f objectPoseGlobal
The object pose in the global frame.
std::optional< ObjectAttachmentInfo > attachment
Attachment information.
Eigen::Matrix4f objectPoseOriginal
The object pose in the frame it was originally localized in.
Eigen::Matrix4f objectPoseRobot
The object pose in the robot root frame.
std::optional< PackagePath > articulatedSimoxXmlPath
std::map< std::string, float > objectJointValues
The object's joint values if it is articulated.
float confidence
Confidence in [0, 1] (1 = full, 0 = none).
static DateTime Invalid()
An object pose as stored by the ObjectPoseStorage.
std::shared_ptr< class Robot > RobotPtr
DateTime timestamp
Source timestamp.
std::optional< PoseManifoldGaussian > objectPoseGlobalGaussian
... and with uncertainty.