コード例 #1
0
    def scene_callback(self, msg):
        kinect_in_scene = False

        for object in msg.world.collision_objects:
            should_remove = False

            time_since_seen = rospy.Time.now()
            if object.id not in self.last_time_seen.keys():
                should_remove = True
            else:
                time_since_seen = rospy.Time.now() - self.last_time_seen[
                    object.id]
                should_remove |= time_since_seen > default_object_timeout

            if should_remove:
                rospy.loginfo("Object " + object.id +
                              " has not been seen in at least " +
                              str(time_since_seen.to_sec()) +
                              ". Removing object from MoveIt collision scene")
                #self.scene.remove_world_object(object.id)

            if object.id == "kinect":
                kinect_in_scene = True

        if not kinect_in_scene:
            MoveHelper.add_kinect(self.transformer)