class Kinect_controller: #-------------------------------- init ---------------------------------------------------------------------------------- def __init__(self): # aqui podemos ponerle un parametro de entrada para que le enviemos el color que queramos que siga rospy.init_node('Kinect_controller', anonymous=False) rospy.loginfo("Initiating Kinect controller.") rospy.loginfo("To stop Kinect controller CTRL + C") rospy.on_shutdown(self.shutdown) self.pub_blob = rospy.Publisher("blob_tracker", objetive_data, queue_size=5) self.pub_depth = rospy.Publisher('depth_analysis', depth_data, queue_size=10) self.BD = Blob_detection() self.DA = Depth_analysis() #-------------------- main function ------------------------------------------------------- #Actualiza el calculo del centroide del hueco y la detección de obstáculos mediante las clases Blob_detection y Depth_analysis. def update(self): rate = rospy.Rate(10) # 10hz while not rospy.is_shutdown(): # Get a fresh frame depth,_ = get_depth() frame,_ = get_video() self.BD.detect(frame) self.DA.analyse(depth) centroid = self.DA.get_centroid() obstacle = self.DA.get_obstacle() x_pos = self.BD.get_xpos() object_located = self.BD.get_objectLocated() rospy.loginfo("centroid: %d obstacle: %s", centroid, obstacle) rospy.loginfo("x_pos: %d object_located: %s", x_pos, object_located) self.pub_depth.publish(centroid, obstacle) self.pub_blob.publish(x_pos, object_located) rate.sleep() #-------------------------- aux functions ---------------------------------------------- def shutdown(self): rospy.loginfo("Stop TurtleBot: Kinect controller node") rospy.sleep(1)
def __init__(self): # aqui podemos ponerle un parametro de entrada para que le enviemos el color que queramos que siga rospy.init_node('Kinect_controller', anonymous=False) rospy.loginfo("Initiating Kinect controller.") rospy.loginfo("To stop Kinect controller CTRL + C") rospy.on_shutdown(self.shutdown) self.pub_blob = rospy.Publisher("blob_tracker", objetive_data, queue_size=5) self.pub_depth = rospy.Publisher('depth_analysis', depth_data, queue_size=10) self.BD = Blob_detection() self.DA = Depth_analysis()