Vous êtes sur la page 1sur 6

SISTEMA INTELIGENTE QUE JUEGUE AJEDREZ CONTRA UN AGENTE NATURAL - SISTEMA ROBTICO MECNICO -

Presentado a: Profesor: Lus Carlos Sarmiento Vela

Presentado por: Csar Augusto Navarrete Lombana cesarnl@gmail.com Ricardo Murcia Salamanca rmurciar@hotmail.com Jhon Alexander Pulido Varela jhonpulido020@yahoo.com Diana Lancheros dlancheros@hotmail.com Faiver Trujillo faiverht@yahoo.com.ar Blassius Stiver Salazar Lpez blastisalo@yahoo.es

UNIVERSIDAD PEDAGOGICA NACIONAL FACULTAD DE CIENCIA Y TECNOLOGIA MAESTRIA EN TECNOLOGIAS DE LA INFORMACIN APLICADAS A LA EDUCACION TALLER ESPECFICO I Bogot Junio 16 de 2008

INTRODUCCIN

En el marco de construccin del proyecto Sistema inteligente jugador de ajedrez contra agente humano, se generaron grupos interdisciplinarios para la elaboracin de la programacin y diseo de los diferentes subsistemas que componen el proyecto, grupos de programacin de heursticas, de visin, de control y de diseo del prototipo robtico encargado del movimiento de las piezas. Este informe hace referencia a los desarrollos alcanzados por este ltimo grupo, en el diseo y desarrollo de un prototipo robtico programable que resolviera el problema de mover las fichas de un tablero de ajedrez a travs de los comandos enviados por un PIC. En primer lugar se procedi a analizar el problema, que tenia como fin el de disear y construir un sistema capaz de mover las piezas de un tablero de ajedrez en sus diferentes grados de libertad y caractersticas especiales. Para esto se comenz por indagar sobre las caractersticas de los elementos, formas, materiales a utilizar por los grupos para el desarrollo del tablero. Luego de esto se presentaron algunas propuestas de modelos funcionales que podran dar solucin al problema, apoyados en esquemas mecnicos, as como el desarrollo de diferentes modelos. Finalmente se construyeron dos prototipos que se ubicaban en el tablero de acuerdo a sus coordenadas cartesianas.

MODELO DEL BRAZO

La figura1 muestra la forma en que se esboz en una maqueta la forma en que se construira el modelo funcional del brazo mecnico, capaz de movilizarse de forma exacta en cada uno de los 64 cuadros del tablero de ajedrez. La idea es trabajar con dos motores paso a paso que permitan la movilizacin del brazo de forma horizontal (coordenadas en el eje X) y de forma vertical (coordenadas en el eje y).

Figura1: Modelo de brazo mecnico

BRAZO MECNICO FUNCIONAL Se realizaron dos modelos funcionales. El primero realiza el movimiento horizontal a travs de una cremallera que se desplaza por el movimiento de un motor paso a paso en el cual est suspendido el eje que realiza el movimiento vertical de la misma forma que el anterior.

Figura2: Primer modelo de brazo mecnico funcional

El desarrollo de otra alternativa como elemento necesario a fin de contar con los suficientes recursos y garantizar el objeto final que es el brazo mecnico para jugar ajedrez, en ese desarrollo tambin se utilizaron materiales livianos como el acrlico y el aluminio , as como la aplicacin de coordenadas XY, como elemento de sujecin de las piezas del ajedrez, se utilizo los principios del electroimn, las piezas del juego se ubican sobre

una mesa. El mecanismo de desplazamiento se encuentra compuesto por dos motores paso a paso y un eje en conjunto con un sistema de de pin cremallera para el desplazamiento en Y un una polea, pin en el motor paso a paso y una correa de transmisin para el desplazamiento en X (figura 3). El material de color blanco permite la optimizacin del uso del sistema de visin ya que no refleja luz que impida una correcta lectura. En general sus movimientos son suaves, rgidos en Y confiables en cuanto a su desplazamiento continuo y sin vibraciones, las trayectorias son limpias y con rozamientos bajos.

Figura3: Segundo modelo de brazo mecnico funcional

SISTEMA ELECTRNICO DE CONTROL

Se utilizaron dos motores paso a paso bipolares para ubicar al brazo mecnico en la posicin correcta, uno controla el movimiento de la coordenada en el eje y, y el otro realiza el movimiento de la coordenada x. El control de los pasos de dichos motores se realiz con dos integrados L298N que incluyen dos puentes H. La estructura de control, empieza con la informacin que se enva desde Matlab por el puerto serial (com1), sta informacin es transmitida a un microcontrolador PIC16F877 que se encarga de recibir dichos datos y enviarlos al puerto D. Los 4 bits menos significativos controlan al motor 1, es decir al movimiento en la coordenada X y los 4 bits restantes, controlan al motor 2, es decir al movimiento en la coordena Y. El siguiente diagrama de bloques representa la estructura general del control electrnico del brazo mecnico:

PIC

BJT NPN PUENTE H


Figura4: estructura general de control electrnico

ELECTROIMN MOTORES PASO A PASO

Transmisin del PC: El programa que permite transmitir datos por el puerto COM1 del PC se realiz en Matlab y su cdigo se enuncia a continuacin: clc; valor=15; puerto = serial('COM1','BaudRate',9600,'DataBits',8); fopen (puerto); fwrite(puerto,valor,'int8'); fclose(puerto); delete(puerto); clear puerto; Recepcin de informacin (Microcontrolador) Se utilizar un byte para cada movimiento indicando la ubicacin en coordenadas cartesianas de la siguiente manera: Y X

Figura5: ubicacin de coordenadas cartesianas suministradas por el PIC

Los cuatro bits de menor peso representan la coordenada X de la posicin, los cuatro bits de mayor peso significativo representan la coordenada Y de la posicin. Para la tarjeta de adquisicin de datos se utiliz un PIC 16F877. Este dispositivo recibe los datos de forma serial enviados por el puerto COM1 del computador, los decodifica y enva la secuencia de pasos al puerto D. Para efectos de transmisin para cada motor, se ha establecido un paquete de 4 bytes dispuestos de la siguiente manera: Byte1 Byte2 Byte3 Byte6 0F Asignado Asignado 70 Cabecera. Origen movimiento. Destino movimiento. Cola.

La programacin del microcontrolador que permite la recepcin serial transmitida por el computador, consiste en: #include<16F877A.H> #use delay (clock=4000000) #use rs232(baud=9600, xmit=pin_c6,rcv=pin_c7) void main(void) { unsigned int a; set_tris_c(128); set_tris_b(0); output_b(255); output_d(255); while(1) {a=getc(); output_b(a); } }

Control del electroimn Para el control del electroimn se utiliza un transistor BJT NPN referencia D1265P actuando de a cuerdo a la seal que recibe del PIC a su resistencia de base, tal como se muestra en la figura.

Figura6: control de electroimn

Control de los motores paso a paso Para el control de los motores paso a paso se utilizaron dos integrados L298N (puentes H), conectados como indica la figura:

Figura7: controlador de motores paso a paso

R1: resistencia de 1K a 1/4 w R2= R3: resistencias de 10k a 1/4 w D1= D2 = D3 = D4= D5= D6= D7= D8: Diodos de 1 amperio. 1N2004 C1: condensador de 10F a 50v. C2 = C3: condensadores cermicos de 0,1F a 50v.