Diferencia entre revisiones de «Evitar caida»

De Proyecto Butiá
Saltar a: navegación, buscar
Línea 1: Línea 1:
A continuación desarrollaremos un programa que consiste en que el robot evite caer de la mesa. La manera de hacer esto es colocar en la parte delantera del robot un sensor de distancia. Además debemos indicarle que cuando el valor entre el sensor y la mesa aumenta el robot se encuentra al borde de la misma. Este valor es una contante que depende de la ubicación del sensor en el robot.
+
A continuación desarrollaremos un programa que consiste en que el robot evite caer de la mesa. La manera de hacer esto es colocar en la parte delantera del robot un sensor de distancia. Además debemos indicarle que cuando el valor entre el sensor y la mesa aumenta el robot se encuentra al borde de la misma. Este valor es una constante que depende de la ubicación del sensor en el robot.
  
 
Para comenzar plantearemos la idea general:
 
Para comenzar plantearemos la idea general:
Línea 10: Línea 10:
  
 
Lo primero que se debe hacer es ver cual es el valor de distancia entre el sensor y la mesa (en este ejemplo el valor es 7cm) para determinar si el robot está por caer o no. Si la  distancia que contiene actualmente el sensor es mayor que el valor determinado antes, el robot esta por caer.   
 
Lo primero que se debe hacer es ver cual es el valor de distancia entre el sensor y la mesa (en este ejemplo el valor es 7cm) para determinar si el robot está por caer o no. Si la  distancia que contiene actualmente el sensor es mayor que el valor determinado antes, el robot esta por caer.   
Para tomar el valor de nuestro sensor debemos utilizar el bloque "read", indicando que es un tipo de sensor "ultrasonic"(distancia) y el puerto en el que se encuentra conectado.
+
Para tomar el valor de nuestro sensor debemos utilizar el bloque "distancia Butía".
 
+
  
  
Línea 20: Línea 19:
  
 
Para el caso en que la  distancia del sensor sea mayor que el valor determinado (7cm), el robot procederá a: <br>
 
Para el caso en que la  distancia del sensor sea mayor que el valor determinado (7cm), el robot procederá a: <br>
1) retroceder (para esto utilizamos el bloque "sync motors steering" el cual enciende los motores B y C. El valor negativo indica el movimiento marcha atrás) <br>
+
1) retroceder (para esto utilizamos el bloque "atrás distancia" al cual le indicamos el valor de la distancia que queremos que haga marcha atrás) <br>
2) girar aleatoriamente (para esto utilizamos el bloque "turn motor rotation" indicando el puerto del motor, cantidad de vueltas y potencia) <br>
+
2) girar aleatoriamente (para esto utilizamos el bloque "Girar X Grados" indicando el puerto del motor, cantidad de vueltas y potencia) <br>
3) avanzar (utilizando el bloque "start motor" para cada uno de los motores de forma de mover el robot hacia adelante)<br>
+
 
+
  
  

Revisión del 17:57 15 feb 2012

A continuación desarrollaremos un programa que consiste en que el robot evite caer de la mesa. La manera de hacer esto es colocar en la parte delantera del robot un sensor de distancia. Además debemos indicarle que cuando el valor entre el sensor y la mesa aumenta el robot se encuentra al borde de la misma. Este valor es una constante que depende de la ubicación del sensor en el robot.

Para comenzar plantearemos la idea general:

 Avanzar
 Si la distancia entre sensor y la mesa aumenta 
   Retroceder
   Girar aleatoriamente
   Avanzar

Lo primero que se debe hacer es ver cual es el valor de distancia entre el sensor y la mesa (en este ejemplo el valor es 7cm) para determinar si el robot está por caer o no. Si la distancia que contiene actualmente el sensor es mayor que el valor determinado antes, el robot esta por caer. Para tomar el valor de nuestro sensor debemos utilizar el bloque "distancia Butía".


Im1.png



Para el caso en que la distancia del sensor sea mayor que el valor determinado (7cm), el robot procederá a:
1) retroceder (para esto utilizamos el bloque "atrás distancia" al cual le indicamos el valor de la distancia que queremos que haga marcha atrás)
2) girar aleatoriamente (para esto utilizamos el bloque "Girar X Grados" indicando el puerto del motor, cantidad de vueltas y potencia)



Im2.png



Por ultimo, uniendo todos los pasos indicados en el desarrollo del tutorial, nuestro programa tiene el siguiente aspecto:


Im3.png



Puntos a tener en cuenta:

  • Los puertos utilizados en el tutorial son solo parte del ejemplo, en su lugar deberiamos colocar los puertos correspondientes a los sensores y motores.