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", object_data, queue_size=10) self.pub_depth = rospy.Publisher('depth_analysis', depth_data, queue_size=10) self.pub_mea = rospy.Publisher('im2mea_transformation', mea_array, queue_size=10) self.BD = Blob_detection() self.DA = Depth_analysis() self.I2M = Im2mea() #-------------------- 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) self.I2M.find(self.BD.get_xpos()) centroid = self.DA.get_centroid() obstacle = self.DA.get_obstacle() object_located = self.BD.get_objectLocated() mea = self.I2M.get_pos() rospy.loginfo("centroid: %d, obstacle: %d", centroid, obstacle) rospy.loginfo("object_located: %d", object_located) rospy.loginfo("im2mea: \n %s", mea) self.pub_depth.publish(centroid, obstacle) self.pub_blob.publish(object_located) self.pub_mea.publish(mea) 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", object_data, queue_size=10) self.pub_depth = rospy.Publisher('depth_analysis', depth_data, queue_size=10) self.pub_mea = rospy.Publisher('im2mea_transformation', mea_array, queue_size=10) self.BD = Blob_detection() self.DA = Depth_analysis() self.I2M = Im2mea()