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)
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)
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)
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)