Anda di halaman 1dari 5

LABORATORIO NRO: 2

COMANDOS DE ORIENTACION DEL ROBOTS


Unidad Temática: PROGRAMACION Y LENGUAJES DEL ROBOT

Fecha inicio: ___/___/____ Duración: _ Hrs/Acad Fecha Fin: ___/___/_____

1) Competencia a Elabora programas de orientación de robots mediante el uso y


Desarrollar: acondicionamiento de sensores y actuadores para la respuesta y
movimientos del robot según la respuesta deseada.
➢ Aplicar técnicas de programación textual para el control de los
2) Objetivos de la
Practica: robots.
➢ Analizar el comportamiento de la tarea según los parámetros
censados.
➢ Desarrollar algoritmos de control a partir de la percepción del
robot.
3) Contenido Temático
Programación textual
Programación en robots LEGO NXT
Controladores PID.
4) Materiales
1 Kit de Robot LEGO NXT
1 computadora personal con programa BrixCC
1 Pendrive

5) Metodología

✓ Implementación.

6) Actividades

Para la realización de la práctica se tiene las siguientes actividades:


a) Tareas a realizar para el pre informe:

Paso 1: Desarrollar el programa para un robot seguidor de


líneas con control PID

Se tiene un robot que tiene la tarea de seguir la línea de color


oscura sin salir de ella, el robot cuenta con un solo sensor de luz,
como se puede apreciar en la siguiente figura:
Se tiene conocimiento que el sensor detecta como
umbral el negro a partir de 40% y 50% como color
blanco, a partir del anterior figura el sensor cuando
detecte 45% estará en la línea frontera que divide
al blanco del negro, como se describe en la figura
cunado el valor este por debajo de 45% el robot deberá girar a la izquierda, caso
contrario si es mayor a la derecha. Pero esto no permitirá que el robot pueda girar
curvas muy pronunciadas a altas velocidades lo que provocara que se salga del
camino si entra a estas curvas con mucha velocidad.

Considerando el caso que cunado el sensor


detecte 45% de luz o este entre el rango de 44 a
46% el robot deberá ir en línea recta, cuando se de
el caso de que el sensor detecte de 43% hacia
abajo deberá girar hacia la izquierda o por el
contrario si el valor del la lectura del sensor esta
por encima de 47% deberá girar hacia la derecha, mejorando la controlabilidad del
mismo, pero cuando se presenten curvas cerradas y el robot no podrá maniobrar
adecuadamente o deberá hacerlo a bajas velocidades, donde el programador
deberá ir identificando las diferentes situaciones que se presenten.

Con el modelo anterior se conseguirá que el robot de giros bruscos, ya que se


quiere un seguimiento suave de la línea cuando se está lejos del borde y giros
suaves cuando se encuentra cerca.
Para poder determinar el valor del controlador se puede
conocer de la siguiente manera:
𝑦 = 𝑚𝑥 + 𝑏
Que representa la ecuación de la recta donde el eje y
corresponde con el giro y x al error, dado que la recta pasa
por el centro b es igual a cero. El valor de la pendiente m
se determina considerando +1 cuando el robot girara hacia
la derecha y -1 si gira hacia la izquierda. Considerando
estos valores se tiene m:
1 − (−1) 2
𝑚= = => 𝑚 = −0.2
40 − 50 −10
El valor de m corresponde al valor de la constante Kp y el error es la diferencia entre
el valor medido y el valor de referencia que en este caso es igual a 45%.
Salida = Kp*(error)
La salida representa al valor de la salida de potencia del motor, por tal razón para
evitar que el motor se apague o pierda fuerza se considerara un valor Mmed = 50%,
por lo tanto, el valor de la pendiente cambia:
0 − 50 −50
𝑚= = => 𝑚 = 10 => 𝐾𝑝 = 10
−5 − 0 −5

Existen diferentes técnicas de sintonización de un PID, pero generalmente


requieren de un modelo de la planta. Dado que no se dispone del modelo se ha
optado por la sintonización manual de las constantes del controlador, para ello se
deben seguir los siguientes pasos:
✓ Se inicializan los valores 𝐾𝑖 y 𝐾𝑑 a cero.
✓ Se incrementa 𝐾𝑝 hasta tener oscilaciones constantes, con lo que se
encuentra el valor crítico, se fija 𝐾𝑝 a la mitad de este valor.
✓ Se incrementa 𝐾𝑖 para reducir el error en estacionario, teniendo en cuenta
que un valor muy elevado de esta constante puede provocar inestabilidad.
✓ Se incrementa 𝐾𝑑 hasta obtener un lazo lo suficientemente rápido ante
interferencias.
A continuación se describe el código para el robot seguidor de linea
//Programa de control pid lego nxt
int Kp = 0; //Constante Proporcional hallar
int Ki = 0; //Constante Integral hallar
int Kd = 0; //Contante Derivativa hallar
int Ref = 45; //Valor de referencia
int Tp = 50;
int integral = 0;
int lastError = 0;
int derivative = 0;
int sensorluz = 0;
int error = 0;
int Salida = 0;
int PotMA = 0;
int PotMC = 0;
unsigned int t1 = 0,t2 = 0,dt = 0;
task main()
{
SetSensorLight(IN_3);
while (true)
{
sensorluz = Sensor(IN_3);
t1 = CurrentTick();
error = sensorluz - Ref;
dt = t1-t2;
integral = integral + error*dt;
derivative = (error - lastError)/dt;
Salida = Kp*error + Ki*integral + Kd*derivative;
//Salida = Salida/100;
PotMA = Tp + Salida;
PotMC = Tp - Salida;
OnFwd(OUT_A, PotMA);
OnFwd(OUT_C, PotMC);
lastError = error;
t2 = t1;
}
}

Paso 2: elabore un programa, o añada al programa proporcionado, que permita


realizar un escaneo de la pista para determinar el umbral o parámetros del umbral
requeridos para el seguidor de línea.
Paso 3: Considere la siguiente situación, se tiene un robot evasor de obstáculos en
un callejón sin salida, se debe elaborar el código que permita que el robot pueda
salir del callejón volviendo por donde ingreso (para este fin use el sensor
ultrasónico).

b) Tareas a realizar durante el laboratorio


Paso 1: Solicite su kit de trabajo y una pista de seguidor de línea, verifique los
componentes.
Paso 2: Conecte mediante el cable usb el Lego hacia su computador, verifique que
se instalen los drivers correctamente.
Paso 3: Inicie el programa Brickcc en su computador, al iniciar le aparecerá una
ventana en cual seleccione en puerto usb o automatico, en brick Type: NXT por
último en firmware seleccione standard.
Paso 4: Abra los programas asignados, compile (F5), y suba el programa al Lego
con (alt-F5, subir y ejecutar).
Paso 6: Determine las constantes Kp, Ki y Kd para el robot seguidor de línea
adecuados que permitan que el mismo pueda dar 5 vueltas continuas sin salirse de
la pista a una velocidad considerable.
Paso 5: Verifique el programa que elaboro, el cual permita salir de un callejón de
salida a un robot evasor de obstáculos
Paso 6: Comente y documente los resultados obtenidos.
7) Resultados Obtenidos:

En esta sección elaborar las ecuaciones, cálculos, tablas, gráficos de la fase experimental,
además debe incluir los comentarios de los resultados obtenidos de cada programa

8) Conclusiones
En esta sección escribir se logró cumplir los objetivos trazados y la percepción de sus
resultados obtenidos de la practica

Anda mungkin juga menyukai