NR3

NR3_camara

Este es el tercer robot que he construído, en la actualidad ya no está operativo. Fue construido tomando como base un un kit de Lynxmotion, se controlaba con un microcontrolador Basic Stamp IIsx de Parallax. Tenía capacidad de movimiento, ya que estaba montado sobre una base que anteriormente tenía tres ruedas, pero que después se modificó por otra con dos orugas de goma comandadas por dos servomotores HiTec HS300, modificados para rotación continua. Tenía un brazo que lleva adosado en la parte superior de su pinza manipuladora con un par de sensores de infrarrojo, para detección de obstaculos, proximidad y medición de luz ambiente, tambien estaba equipado con un sistema de videocámara CCD montada sobre el brazo, que envía imagenes a la tarjeta capturadora del PC por medio de un transmisor de televisión VHF que emite imagen y sonido en una frecuencia de 224 Mhz, Además esta equipado con un sensor volumetrico de ultrasonidos para captar movimiento, y dos encoders ópticos en las orugas para determinar su giro. Está alimentado por dos bloques de baterias de 6 voltios y 700 mA/h que proporcionan 12 voltios a los circuitos de control y sensores y otra mas de 7,2 voltios y 1600 mA/hora para los servomotores.

area_trabajo

El brazo tiene 5 grados de libertad que le permiten giro de cintura, hombro comandado por 2 servos colocados en tandem, funcionando en paralelo, para mejorar el par motor, codo, muñeca y pinza con una capacidad de apertura de unos 30 milimetros, que puede manipular objetos de pequeño peso (unos 100 gramos aproximadamente), total 6 servomotores.

srvcnt

El conjunto robot esta movido por un total de 8 servomotores HITEC HS300, funcionando a 6 voltios y que proporcionan un par de unos 3,5 Kg·cm, suficiente para las especificaciones de tamaño y peso de la máquina. Estos servomotores del tipo de los utilizados en modelos de radiocontrol, son del tipo digital proporcional y reciben sus pulsos de control de posición de una tarjeta controladora Mini SSCII de Scott Edwars que proporciona la referencia de posicion para cada uno de los motores, todo ello controlado a traves de una linea serie, y tres bytes de datos con el siguiente formato:

  • Byte1 = Sync (255) ‘Este byte es solo con el proposito de que el controlador de servos identifique el comienzo de una nueva orden a procesar.
  • Byte2 = Servo #(0-7) ‘El segundo byte determina a que servo estamos haciendo referencia
  • Byte3 = Position (0-254) ‘Por ultimo, el tercer byte, determina la posición, pero ojo, que no todos los servos permiten el mismo recorrido.

Para los servomotores Hitec, asi como muchos otros de los usados para radiocontrol, la duración del pulso alto, determina la posición final del servo, que será de 0,5 milisegundos para una posición completamente a la izquierda, y de unos 2 milisegundos para estar completamente a la derecha.

Estos pulsos, deben ser refrescados con cierta frecuencia, ya que si no se hace asi, el servo se “relaja”, yo he comprobado que entre 20 y 40 milisegundos de estado de pulso bajo, proporcionan un buen funcionamiento (esta duración no es demasiado rigida y no interfiere con la posición final del servo).

El robot está montado sobre una base móvil con dos orugas procedentres de una excavadora de juguete, y estan movidas por dos servomotores Hitec-HS300 modificados para rotación continua y que lo dotan de dirección diferencial. Anteriormente la base tenia tres ruedas, dos de las cuales estaban comandadas por motores y una tercera en la parte trasera giratoria, el motivo de sustituir estas ruedas por las orugas fue para evitar que el robot quedara atascado frente a pequeños obstaculos, y ahora es capaz de deambular por terreno con ciertas irregularidades.

La manera de modificar servomotores, no es demasiado complicada:

1. Desmontar el servomotor, quitando sus cuatro tornillos.
2. Levantar con mucho cuidado la placa de control para acceder al potenciometro que toma la referencia de la posición.
3. Sustituir el potenciometro por dos resistencias de valor igual a la mitad de la resistencia del potenciometro (mas o menos), de manera que hagan de divisor de tensión, es decir, soldarlas en serie y con el punto central al cable que iba al cursor del pot, los extremos libres de las resistencias, donde iban los extremos del potenciometro.
4. Sujetar las resistencias con algun tipo de pegamento o cinta adhesiva de doble cara.
5. Acceder al compartimento de los piñones de la reductora. En concreto al ultimo de ellos, el de los dientes mas grandes. A este hay que eliminarle una leva que impide su giro mas de 180 grados, cortandola con un alicate y despues asentandolo con una lima.
6. Montar los piñones como al principio.
7. Atornillar de nuevo.

Ya tenemos un servomotor para utilizarlo como giros completos, ahora cuando le mandemos posiciones proximas al centro, el servomotor, estara parado. Con posiciones mas bajas que el centro, girara hacia la izquierda, tanto mas rapido como mas lejos la posición logica lo este del centro, y viceversa para los giros a derecha.

Historial de modificaciones del Robot NR3:

new5aa0_s

En su origen, el robot NR3 era un brazo construido en base a un kit de Lynxmotion, controlado a traves del PC, con 5 grados de libertad, montado sobre una base fija y con conexión RS-232 para recibir la informacion de posición para cada servomotor con una placa mini SSC-II.

No tenia ningún tipo de realimentación de información a la computadora de control, debido a que utiliza para el posicionamiento de sus distintas articulaciones un control de lazo cerrado local, es decir, que la computadora manda ordenes para colocar un servo en un determinado angulo, y este lo ejecuta, pero, la computadora no tiene constancia de que el robot llegue a conseguir su tarea (Closed loop). La siguiente mejora fue el añadirle una base movil CARPET ROVER, tambien en kit de Lynxmotion con tres ruedas y dos servos para dotarle de dirección diferencial.
Con el diametro de las ruedas a 5 centimetros, se conseguía una velocidad de unos 25 cm por segundo.
Mas tarde fueron añadidos unos encoders opticos a las ruedas, construidos artesanalmente.

newmra01

Montando el brazo sobre la base movil, se consiguió, dotar de capacidad de movimiento al brazo robótico.

eyes

Sensor de visión (por decirlo de alguna forma). Formado por dos detectores de reflexión de infrarrojo, montados sobre la pinza manipuladora, y con un circuito de control que oscila , y cuya frecuencia, depende de la distancia a la que pongamos un objeto, el paso siguiente es contar cuanto dura un periodo de esa oscilación, determinando la frecuencia y por consiguiente la cantidad de luz reflejada que se recibe, dotandolo de capacidad para detectar diferentes objetos en base a su tono, seguir lineas marcadas en el suelo, etc.

NR3_ruedas

Con todo esto, mostrado hasta ahora, el robot quedó de esta forma.

11270012

Tras añadir el transmisor, la cámara de video y su bloque de baterías renovado el robot acabó así;

trasera

Y en la actualidad está desmontado a la espera de recibir un nuevo brazo rediseñado, más robusto y potente.