def get_object_info(self): """ Function to send object messages of this traffic participant. A derived_object_msgs.msg.Object is prepared to be published via '/carla/objects' :return: """ obj = Object(header=self.get_msg_header("map")) # ID obj.id = self.get_id() # Pose obj.pose = self.get_current_ros_pose() # Twist obj.twist = self.get_current_ros_twist() # Acceleration obj.accel = self.get_current_ros_accel() # Shape obj.shape.type = SolidPrimitive.BOX obj.shape.dimensions.extend([ self.carla_actor.bounding_box.extent.x * 2.0, self.carla_actor.bounding_box.extent.y * 2.0, self.carla_actor.bounding_box.extent.z * 2.0]) # Classification if available in attributes if self.get_classification() != Object.CLASSIFICATION_UNKNOWN: obj.object_classified = True obj.classification = self.get_classification() obj.classification_certainty = 1.0 obj.classification_age = self.classification_age return obj
def send_object_msg(self): """ Function to send object messages of this vehicle. A derived_object_msgs.msg.Object is prepared to be published via '/carla/objects' :return: """ vehicle_object = Object(header=self.get_msg_header()) # ID vehicle_object.id = self.get_global_ID() # Pose vehicle_object.pose = self.get_current_ros_pose() # Twist vehicle_object.twist = self.get_current_ros_twist() # Acceleration vehicle_object.accel = self.get_current_ros_accel() # Shape vehicle_object.shape.type = SolidPrimitive.BOX vehicle_object.shape.dimensions.extend([ self.carla_actor.bounding_box.extent.x * 2.0, self.carla_actor.bounding_box.extent.y * 2.0, self.carla_actor.bounding_box.extent.z * 2.0 ]) # Classification if available in attributes if self.classification != Object.CLASSIFICATION_UNKNOWN: vehicle_object.object_classified = True vehicle_object.classification = self.classification vehicle_object.classification_certainty = 1.0 self.classification_age += 1 vehicle_object.classification_age = self.classification_age # self.publish_ros_message('/carla/objects', vehicle_object) return vehicle_object