diff --git a/source/RobotAPI/libraries/armem_objects/aron/FamiliarObjectInstance.xml b/source/RobotAPI/libraries/armem_objects/aron/FamiliarObjectInstance.xml index 13a51e4e886dec94708e07301c0b679fe4e60a7a..f6b968f7bbe0aa357e53966e5a5ccf3a114fa136 100644 --- a/source/RobotAPI/libraries/armem_objects/aron/FamiliarObjectInstance.xml +++ b/source/RobotAPI/libraries/armem_objects/aron/FamiliarObjectInstance.xml @@ -53,7 +53,7 @@ Core segment type of Object/Instance. <!-- Orientation of the bounding box in the 'sens' frame --> <ObjectChild key="boundingBoxOrientation"> - <Orientation /> + <FramedOrientation optional="true" /> </ObjectChild> <!-- bounding box in local sensFrame (see poseSensFrame) --> diff --git a/source/RobotAPI/libraries/armem_objects/server/familiar_object_instance/Visu.cpp b/source/RobotAPI/libraries/armem_objects/server/familiar_object_instance/Visu.cpp index 3dafc76a7da4cb2409abfcc5456c0f3a6ae25209..94354343f069399ab96c307671dd4a36197fc136 100644 --- a/source/RobotAPI/libraries/armem_objects/server/familiar_object_instance/Visu.cpp +++ b/source/RobotAPI/libraries/armem_objects/server/familiar_object_instance/Visu.cpp @@ -91,7 +91,11 @@ namespace armarx::armem::server::obj::familiar_object_instance const Eigen::Isometry3f global_T_obj{familiarObject.poseGlobal->pose}; Eigen::Isometry3f obj_T_bb = Eigen::Isometry3f::Identity(); obj_T_bb.translation() = familiarObject.bounding_box.center; - obj_T_bb.linear() = familiarObject.boundingBoxOrientation.toRotationMatrix(); + + if(familiarObject.boundingBoxOrientation.has_value()) + { + obj_T_bb.linear() = familiarObject.boundingBoxOrientation->orientation.toRotationMatrix(); + } const Eigen::Isometry3f global_T_bb = global_T_obj * obj_T_bb;