miércoles, 3 de abril de 2019

Python robot choca-gira

Ejercicio ChocaGira Ultrasonidos

Tabla resumen de sensores y actuadores

Función
Descripción
leerUltrasonido()
Lee el sensor de US y nos devuelve un valor que representa la distancia (en metros) a un obstáculo que se encuentre enfrente del PiBot
avanzar(v)
Hace que el PiBot avance en línea recta con una velocidad lineal igual a v expresada en metros/segundo
retroceder(v)
Hace que el PiBot retroceda en línea recta con una velocidad lineal igual a v expresada en metros/segundo
girarIzquierda(w)
Hace que el PiBot gire a la izquierda sobre su eje (sin avanzar) con una velocidad angular igual a w expresada en radianes/segundo
girarDerecha(w)
Hace que el PiBot gire a la derecha sobre su eje (sin avanzar) con una velocidad angular igual a w expresada en radianes/segundo
parar()
Hace que el PiBot se detenga (si estaba avanzando, retrocediendo o girando)
Los posibles valores que nos devuelve la función leerUltrasonido() se corresponden con diferentes distancias del PiBot con respecto al obstáculo que tiene enfrente. Por ejemplo:
valor = 4.01
valor = 3.32
valor = 2.43
valor = 1.62
valor = 0.58
NOTA: Recordamos que $2\pi$; radianes equivalen a 360 grados.



In [1]:



import sys
sys.path.insert(0, '/usr/local/lib/python2.7')
sys.path.insert(0, '/opt/jderobot/lib/python2.7')

import PiBot
import time
import random



In [2]:



if __name__ == "__main__":
   
   # Cargamos el robot
   robot = PiBot.dameRobot()
   # Información acerca del PiBot
   robot.quienSoy()
   print ("\nA continuacion se ejecuta su codigo con el robot\n")

   # TODO: escribe aqui tu codigo
while True :
   us = robot.leerUltrasonido()
   print (us)
   if us > 0.4:
       robot.avanzar(2)
   else :
       robot.parar()
       robot.retroceder(2)
       robot.girarIzquierda(random.randrange(4,7))
       robot.avanzar(0.2)

No hay comentarios:

Publicar un comentario