martes, 9 de abril de 2019

Robot sigue-pelota python

Ejercicio - ¡Sigue la pelota, PiBot!.

Tabla resumen de los sensores y actuadores.

Recuerda que la función dameObjeto() retorna dos valores: el centro y el área.
Función
Descripción
dameObjeto()
Esta función hará todo el trabajo sucio por ti, ya que es la que se encarga de hacer el filtro de color para aislar la pelota naranja y devolverá 2 números: centro y área.

- centro: son las coordenadas (pixelX, pixelY) del centro de la pelota en la imagen.

- area: es la superficie (numero de pixeles) que ocupa la pelota dentro de la imagen.
girarIzquierda(vel)
Esta función hará que el robot sobre sí mismo hacia la izquierda a la velocidad dada como parámetro ($rad/s$).
girarDerecha(vel)
Esta función hará que el robot sobre sí mismo hacia la derecha a la velocidad dada como parámetro ($rad/s$).
avanzar(vel)
Esta función hará avanzar al robot a una velocidad dada como parámetro ($m/s$)
retroceder(vel)
Esta función hará retroceder al robot a una velocidad dada como parámetro ($m/s$).



In [ ]:



# -*- coding: utf-8 -*-
import sys, time
sys.path.insert(0, '/usr/local/lib/python2.7')
sys.path.insert(0, '/opt/jderobot/lib/python2.7')
import PiBot



In [ ]:



# Creamos el objeto robot
robot = PiBot.dameRobot()

while True:
   (coordenadas, area) = robot.dameObjeto()
   print (robot.dameObjeto())
   print (area)
   if coordenadas != None:
       x = coordenadas[0]
       if (x < 320):
           robot.girarIzquierda (0.4)
       elif (x > 320):
           robot.girarDerecha (0.4)
       if (area < 700):
           robot.avanzar (0.6)
       elif (area > 700):
           robot.retroceder (0.6)

   else:
       robot.girarDerecha(0.7)
       time.sleep(0.1)

No hay comentarios:

Publicar un comentario