def follow_ar_tag():
    global listener, status
    while not rospy.is_shutdown():
        zumy_control.stop()
        raw_input('press enter to do path planning')
        status = False
        while True:
            try:
                dst_coord = getcoord(goal_artag)
                src_coord = getcoord(zumy_artag)
                obst_coords = [getcoord(i) for i in obstacle_artags]
                print dst_coord, src_coord, obst_coords
                if is_arrived():
                    zumy_control.stop()
                    break
                if status == True:
                    break
                f = epf.EuclidField(
                    (field_width, field_height),   # width x height
                    dst_coord,    # goal
                    obst_coords # obstacles
                )
                try:
                    im = pf.field_to_image(f)
                    pf.draw_path(im, [src_coord])
                except:
                    pass
                #im.show()
                im.resize((800, 800)).save('out.png')
                point = pf.find_nextstep(f, src_coord)
                print 'going to', point
                zumy_control.goto(ftrans(point))
                #raw_input('press enter for next step')
            except tf.Exception:
                zumy_control.stop()
                continue
        while True:
            try:
                src_coord = getcoord(zumy_artag)
                obst_coords = [getcoord(i) for i in obstacle_artags]
                print src_coord, obst_coords
                if is_home():
                    pub.publish(Arrive('GameOver'))
                    status = True
                if status==True:
                    break
                f = gpf.EuclidField(
                    (field_width, field_height),   # width x height  # goal
                    obst_coords # obstacles
                )
                try:
                    im = pf.field_to_image(f)
                    pf.draw_path(im, [src_coord])
                except:
                    pass
                #im.show()
                im.resize((800, 800)).save('out.png')
                point = pf.find_nextstep(f, src_coord)
                print 'going to', point
                zumy_control.goto(ftrans(point))
                #raw_input('press enter for next step')
            except tf.Exception:
                zumy_control.stop()
                continue
def follow_ar_tag():
    global listener, status
    while not rospy.is_shutdown():
        zumy_control.stop()
        raw_input('press enter to do path planning')
        status = False
        while True:
            try:
                dst_coord = getcoord(goal_artag)
                src_coord = getcoord(zumy_artag)
                obst_coords = [getcoord(i) for i in obstacle_artags]
                print dst_coord, src_coord, obst_coords
                if is_arrived():
                    pub.publish(Arrive('GameOver'))
                    status = True
                if status==True:
                    break
                f = epf.EuclidField(
                    (field_width, field_height),   # width x height
                    dst_coord,    # goal
                    obst_coords
                )
                point = pf.find_nextstep(f, src_coord)
                print 'going to', point
                zumy_control.goto(ftrans(point))
                #raw_input('press enter for next step')
            except tf.Exception:
                zumy_control.stop()
                continue