En la edición anterior presentamos el primer kit de robótica
móvil con microcontrolador, el BS1Bot . En esta nota daremos algunos ejemplos sobre su programación.
Las
funciones del lenguaje BSBot
BSBot soporta todas las instrucciones típicas del PBasic además de contar con funciones
actualizables específicas para robots móviles. La versión actual 1.1 ( 12/07/2001)
posee funciones extra para:
que el robot gire en un punto en
sentido horario. Para que se mantenga rotando deberá invocar repetitivamente esta
función.
que el robot gire en un punto en
sentido antihorario. Para que se mantenga rotando deberá invocar repetitivamente esta
función.
que el robot doble en sentido
horario hacia la derecha. Para que se mantenga rotando deberá invocar repetitivamente
esta función.
que el robot doble en sentido
horario hacia la izquierda. Para que se mantenga rotando deberá invocar repetitivamente
esta función.
que el robot doble en sentido
antihorario hacia la derecha. Para que se mantenga rotando deberá invocar repetitivamente
esta función.
que el robot doble en sentido
antihorario hacia la izquierda. Para que se mantenga rotando deberá invocar
repetitivamente esta función.
avance un paso hacia adelante
avance hacia delante con
precisión 50 pasos. Para mantenerlo avanzando deberá llamar a esta rutina
permanentemente
avance un paso hacia atrás
avance hacia atras con precicion
50 pasos. Para mantenerlo avanzando deberá llamar a esta rutina permanentemnete
mantenerlo detenido el robot
mientras se llame a esta instrucción
detener el robot por un intervalo
de tiempo
medir la inclinación con un
algoritmo de filtrado y deja el valor disponible en la variable Inclinacion. Esta función
deberá ser ejecutada cada vez que se desee actualizar la variable inclinación.
Ejemplo
Desarrollaremos un
ejemplo en el cual el robot se mueva hacia delante,
detectando en su paso pequenos obstaculos a su camino y que al detectar el tercer
obstaculo siga con otra rutina. Este puede ser un muy buen ejemplo para entender la
importancia de los sentidos del robot para poder navegar y moverse en un ambiente.
Algoritmo:
| for B2 = 1 to 3 |
|
| Bit0 = 0 |
|
| avanzar: |
|
| goto pasoadelante |
' Da un micropaso |
| gosub inclinacionTest |
'Realiza una medición de inclinación |
| if Bit0 = 0
AND inclinacion < 160 then avanzar |
' Si la inclinación es menor un valor
' y el bit0 esta desactivado vuelve al
' punto avanzar: |
| Bit0 = 1 |
' Setea el Bit0 a 1 |
| if
inclinacion > 160 then avanzar |
' Mientras la inclinación sea mayor
' al valor dado avanzara |
| next |
' Si el programa llega ha este punto
' significa que ya ha subido y
' bajado un obstáculo
' Se repetirá toda la secuencia 3 veces |
| .... |
|
| .... |
' Luego de tres ciclos constinuará
' con el programa |
Para
utilizar las rutinas de inclinación debe tener el sensor opcional adecuado.
En las próximas ediciones seguiremos dando mas ejemplos!
Decídete y compra un
BSBot!
Visite la
página de ROBOTs! |