Sei sulla pagina 1di 4

LABORATORIO NRO: 3

PROGRAMAS DE CONTRO DE PERIFERICOS


Unidad Temática: PROGRAMACION Y LENGUAJES DEL ROBOT

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

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


Desarrollar: uso la cinemática directa e inversa, 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
robots.
Practica:
➢ Analizar e implementar la cinemática del robot.
➢ Desarrollar programas de generación de trayectorias
➢ Aplicar algoritmos de control para seguimiento de trayectorias.
3) Contenido Temático
Programación textual
Programación en robots LEGO NXT
Cinemática robot móvil diferencial
Generación de trayectorias
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: Obtener el modelo cinemático directo del robot móvil diferencial


Paso 2: Obtener el modelo cinemático inverso del robot móvil diferencial.
Paso 3: Elaborar el diagrama de bloques en simulink de la cinemática directa e
inversa del robot diferencial respectivamente.
Modelo Cinemático Directo

Modelo Cinemático Inverso

Paso 4: Elaborar 2 subrutinas en Bricxcc que contenga la cinemática directa e


inversa respectivamente.
Paso 5: Elaborar un programa que permita medir la velocidad angular de ambas
ruedas del Robot y la misma muestre en la pantalla del Robot, además muestre
cual es la velocidad tangencial y el promedio de la misma.
Código Recomendado
#define MOTORA OUT_A
#define MOTORC OUT_C
#define FULL_SPEED 100
#define DEG_TO_RPM 166.6667 // converts degrees per millisecond to RPM
long prev_tick;
long prev_deg = 0;
string rpm_msg(int sel)
{
If(sel == 0)
{
long dt = CurrentTick() - prev_tick;
long deg = MotorRotationCount(MOTORA) - prev_deg;
float rpsA = (deg * DEG_TO_RPM / dt)/60;
prev_deg = MotorRotationCount(MOTORA);
prev_tick = CurrentTick();
return FormatNum("RPM: %5.1f", rpsA);
}
else
{
long dt = CurrentTick() - prev_tick;
long deg = MotorRotationCount(MOTORC) - prev_deg;
float rpsC = (deg * DEG_TO_RPM / dt)/60;
prev_deg = MotorRotationCount(MOTORC);
prev_tick = CurrentTick();
return FormatNum("RPM: %5.1f", rpsC);
}

}
task main()
{
prev_tick = CurrentTick();
OnFwd(MOTOR, FULL_SPEED);
while (true)
{
Wait(MS_500); // update display every 0.5 seconds
TextOut(5, LCD_LINE2, rpm_msg(0), true);
TextOut(5, LCD_LINE4, rpm_msg(1), true);
}
}
Paso 6: Elaborar un programa aplicando controladores PID a los motores del robot
para que pueda desplazarse en línea recta.
Recomendacion de sentencia de código de regulacion
OnFwdRegPID(OUT_A, 75, OUT_REGMODE_SPEED, 30, 50, 90);
Paso 7: Elaborar un programa que permita girar una curva de radio = 35 cm y un
Angulo de 150 grados
Paso 8: Elaborar un programa que permita girar una vuelta considerando como
radio de giro de 20 cm.
Paso 9: Elaborar un programa que permita girar un semicírculo de radio de 25 cm
e inmediatamente después girar otro semicírculo de 50 cm de radio.
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 5: Implemente y verifique el programa que permita medir la velocidad angular
de ambas ruedas y permita mostrarlas en pantalla
Paso 6: Implemente y verifique el programa que permita que el vehículo pueda
desplazarse en línea recta aplicando control PID.
Paso 7: Implemente y verifique el programa que permita realizar la trayectoria 1
descrita en el paso 7 del inciso a
Paso 8: Implemente y verifique el programa que permita realizar la trayectoria 2
descrita en el paso 8 del inciso a
Paso 9: Implemente y verifique el programa que permita realizar la trayectoria 3
descrita en el paso 9 del inciso a
Paso 10: 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

Potrebbero piacerti anche