Robot programado en LINUX
Publicado por Gnu Linux en 11 dUTC Mayo dUTC 2007
En la asignatura de Robótica de la escuela politécnica hemos dado vida a un robot. El robot es controlado bajo un portátil que corre con el sistema operativo Debian. El lenguaje de programación ha sido C++ usando componentes ICE. Las interfaces gráficas han sido desarrolladas en Qt 4.0 y las capturas de la cámara hacen uso de las ipp de intel. Las características del robot son las siguientes. Los robots constan, mecánicamente, de una base móvil de alumino con dos ruedas motrices y una rueda loca. Electrónicamente incorpora varios sensores y dispositivos de control.
-
Cada rueda motriz está conectada directamente a un motor de corriente continua con lleva acoplado una reductora por una lado y un codificador óptico por otro. La reductora multiplica el par por 30 a costa de reducir la velocidad de giro en la misma proporción.
-
El codificador óptico es un sensor formado por un disco con marcas y un par de diodos led. Al girar el disco los diodos generan dos trenes de pulsos desfasados 90 grados. Leyendo estos dos trenes de pulsos se puede saber la posición angular del eje del motor y el sentido de giro.
-
Para controlar el movimiento, los robots llevan una pequeño circuito basado en el microcontrolador de ATMEL ATMega32 de 8 bits, diseñado y construido en Robolab. El microcontrolador recibe órdenes del PC por el puerto serie para cambiar la velocidad de avance y giro del robot, y las convierte en señales PWM que envía a los amplificadores.
-
Para alimentar a los motores se utilizan dos amplificadores PWM -modulación en anchura de pulsos construidos en Robolab. Los amplificadores convierten la señal de control de entre 0 y 5 voltios generada por el microcontrolador en una señal de potencia de hasta 3 amperios y mas-menos 12 voltios.
-
Los robots también incorporan una brújula digital conectada por el bus I2C con el microcontrolador. Este sensor proporciona una dirección absoluta respecto del Norte magnético con una precisión de 1 grado.
-
Otro sensor disponible para lectura desde el PC es la posición angular de cada rueda acumulada desde el encendido o el envío de un comando Reset(); Las unidades que devuelve este sensor son fracciones de grado.
-
Esta electrónica y los motores van alimentados por una batería de polímero de litio de 3.5 Ah que incorpora un cargador.
Os dejamos un enlace con el video a youtube y con una descarga directa del video:
Sentimos no poder postear todo lo que queremos,pero estamos muy agobiados con la carrera y los exámenes en estos momentos.
Gracias por vuestra paciencia. En cuanto haya un poco más de tiempo el curso de Qt seguirá adelante.