Example #1
0
def ReqPontos():
    """!
        Requisita os pontos das bases ao mapa

        Retorno:
            @return Listas de Object com as bases
    """
    rospy.wait_for_service('get_object')
    a = rospy.ServiceProxy('get_object', GetObject)
    requ = GetObject._request_class()
    
    requ.identifier.state.data = Identifier.STATE_NOPROCESSADO        #mudar para processado quando visitar
    requ.identifier.type.data = Identifier.TYPE_BASE

    response = a(requ)
    lista = response.list
    #print(lista)

    #lista[i].identifier.data == "A"

    rospy.wait_for_service('/ger_drone/set_atualiza_mapa')
    proxy = rospy.ServiceProxy('/ger_drone/set_atualiza_mapa', SetBool)
    req = SetBool._request_class()
    
    req.data = True

    proxy(req)

    return(lista)
Example #2
0
def ReqPontos():
    """
    Pede as informaçoes das bases que ainda nao foram processadas

    Retorno:
    @return: lista com as posiçoes de todos as bases nao processadas dadas em [x,y,z]
    """
    rospy.wait_for_service('get_object')
    a = rospy.ServiceProxy('get_object', GetObject)
    requ = GetObject._request_class()

    requ.identifier.state.data = Identifier.STATE_NOPROCESSADO
    requ.identifier.type.data = Identifier.TYPE_BASE

    response = a(requ)
    lista = response.list

    rospy.wait_for_service('/ger_drone/set_atualiza_mapa')
    proxy = rospy.ServiceProxy('/ger_drone/set_atualiza_mapa', SetBool)
    req = SetBool._request_class()

    req.data = True

    proxy(req)

    listaPontos = []
    for i in lista:
        x = i.pose.position.x
        y = i.pose.position.y
        z = i.pose.position.z
        listaPontos.append([x,y,z])
    return(listaPontos)
Example #3
0
def getSensor():
    """!
        Requisita um objeto que contém quais foram os sensores vemelhos localizados e a sua posicao
        Adiciona as poses desses sensores em lista
    """
    print('entrou')
    rospy.wait_for_service('get_object')
    a = rospy.ServiceProxy('get_object', GetObject)
    reqf = GetObject._request_class()
    
    reqf.identifier.type.data = Identifier.TYPE_SENSOR_VERMELHO

    response = a(reqf)
    lista = response.list
    print(len(lista))


    rospy.wait_for_service('/ger_drone/set_atualiza_mapa')
    proxy = rospy.ServiceProxy('/ger_drone/set_atualiza_mapa', SetBool)
    req = SetBool._request_class()
    
    req.data = False

    proxy(req)

    voarSensor(lista)
Example #4
0
def getListObject():
    """!
    Solicita para o Mapa as coordenadas de cada base encontrada e que nao foi visitada ainda
    """
    rospy.wait_for_service('get_object')
    cinco = rospy.ServiceProxy('get_object', GetObject)
    reqc = GetObject._request_class()

    reqc.identifier.state.data = Identifier.STATE_NOPROCESSADO
    reqc.identifier.type.data = Identifier.TYPE_BASE

    response = cinco(reqc)
    lista =  response.list

    rospy.wait_for_service('/ger_drone/set_atualiza_mapa')
    proxy = rospy.ServiceProxy('/ger_drone/set_atualiza_mapa', SetBool)
    req = SetBool._request_class()

    req.data = False

    proxy(req)

    getPose(lista)