Hola soy Guillermo Algarra.
Estoy haciendo el reto de busca objetos y estoy intentando que se dirija en orden a todos los colores de la lista, pero al llegar al primero de la lista y dejar de detectar el objeto el dron se queda parado encima de él y no hace ninguna acción después de eso.
Creo que ocurre por que se queda enganchado en el “while(x[“areas”]>0):” y al no haber nada de detalles no puede hacer ningún if/elif.
Pero aun así no sé como arreglarlo.
Aqui dejo una imagen de como se ve cuando llega.
Y aqui el código:
import HAL
HAL.despegar()
a=0
lista=[“brown”, “blue”, “red”,“white”,]
x=HAL.dame_objeto_de_color(lista[a])
while True:
while a<len(lista):
while(x["areas"]==0):
HAL.girar_izquierda_hasta(50)
x=HAL.dame_objeto_de_color(lista[a])
print(x)
print(x["detalles"][0]["centro"][0])
while(x["areas"]>0):
if(x["detalles"][0]["centro"][0]>79):
HAL.girar_derecha_hasta(5)
x=HAL.dame_objeto_de_color(lista[a])
print(x)
print(x["detalles"][0]["centro"][0])
elif(x["detalles"][0]["centro"][0]<71):
HAL.girar_izquierda_hasta(5)
x=HAL.dame_objeto_de_color(lista[a])
print(x)
print(x["detalles"][0]["centro"][0])
elif(x["detalles"][0]["centro"][0]>70 and x["detalles"][0]["centro"][0]<80):
HAL.avanzar_hasta(1)
x=HAL.dame_objeto_de_color(lista[a])
print(x)
print(x["detalles"][0]["centro"][0])
print("voy a por el siguiente de la lista")
time.sleep(2)
HAL.retroceder_hasta(2)
a+=1