Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:
Quizá es un poco pronto para pensar en algún proyecto robotico de "gran" escala, pero ayer comentaba con jorge la posibilidad de tener un robot diseñado por nosotros que identifique nuestra agrupación.
Yo habia pensado que este diseño podria basarse en hardware libre, pero todo es discutirlo.
Mi idea no es pasar directamente a los posible proyectos, sino mas bien discutir que tipo de robot podría identificarnos y ser un buen referente (a nivel nacional o incluso fuera de nuestras fronteras)
En mi caso, la idea de robot que tengo esta algo influenciada por unos videos que descargamos estando en la campus. El famoso robot de kyosho. Un bípedo de aspecto humanoide (si no lo conoceis, decidmelo y os envio los videos por correo, no so archivos muy grandes).
Es posible que lo veais como un proyecto muy complicado, pero pensad que lo desarrollaríamos entre todos, con lo cual el trabajo (y sobre todo los dolores de cabeza) estarian mas repartidos.
Bueno, ahi dejo la idea, a ver que os parece.
P.D.: por cierto, una dirección donde podeis ver imagenes sueltas del robotillo: http://www.kyosho.co.jp/web/race/race_e ... t05-e.htmlpágina de kyosho
Hola,
No hace falta implementar un sistema operativo, simplemente con un diseño "inteligente" de los puertos ya estaria.
Con diseño "inteligente" me refiero que todos los puertos de micro tengan unas especificaciones comunes para que cualquier micro pueda cumplirlas:
- Especificaciones mínimas que debe cumplir el micro.
- Diseño de la posición de los puertos y de la alimentación de los módulos.
- Diseño de los conectores.
- Diseño de las protecciones de los módulos.
- Diseño de los protocolos de comunicaciones entre módulos.
- ...
De esta forma para cambiar de procesador por otro más avanzado o de distinta familia, únicamente habría que rediseñar la placa central pudiendo mantener todas las demás sin cambios.
S2
Ranganok Schahzaman
Saludos a tod@s
He regresado al mundo de los vivos!! (cuestiones de exceso de trabajo)
Bueno... Veo que esto está muy parado desde que lo dejé. Será cosa de darle un empujón bastante fuerte, que el tiempo pasa volando.
Sobre el tema del chasis, la cosa varía según gustos. Yo optaría por la espuma de PVC y el aluminio como principales materiales. Y para los osados, las resinas y las fibras de carbono y vidrio (resistente y ligero). En cuanto al diseño de las estructuras modulares, dejadme que desempolve los ficheros de diseño, y en unas semanas tendreis una propuesta para las piezas base. Ya hablaremos de este tema cuando haya material.
Sobre el tema de los sistemas de control:
Lo más práctico es tener una UCP (Unidad Central de Proceso) a la que se conectan los demás dispositivos. La UCP llevaría lo justo: Un microcontrolador potente + componentes básicos, un rectificador para alimentación y un puerto de programación. Todo lo demás, buses I/O.
Para intercomunicar los dispositivos, podemos reinventar la rueda o usar los estandares para comunicación ya existentes como I2C o CAN. Yo optaría por I2C, que está soportado por Linux y hay librerias de todo tipo.
La polémica creo que va a darse en cuanto la elección del microcontrolador y el lenguaje de programación.
Lo más normal es elegir un PIC de la familia 16F. Es barato, facil de conseguir y puedes programarlo en varios lenguajes... Si, si y si, pero son muy limitados. Están muy bien para robótica básica, pero se quedan muy cortos tanto en potencia de proceso como en lineas PWM y AD/DA.
Un ejemplo: Un micromouse con detectores ultrásonicos e infrarrojos de barrido. Queremos que salga de un laberinto usando algoritmos de el-camino-mas-corto. Solamente el consumo de memoria, por no hablar de los recursos necesarios para codificar la información de los sensores y mapearla, nos exigen un procesador rapido y con bastante memoria de datos.
Si además queremos en un futuro añadir conectividad Bluetooth, o algun estandar 802.x, la cosa se complica drásticamente, ya que hace practicamente imprescindible la implementación de un RTOS.
Y que micros ofrecen la potencia necesaria, y con qué lenguaje los programamos?
El mundo de la tecnología evoluciona constantemente, y hay que reciclarse constantemente. A principios de los 90, el 68HC11 era el rey indiscutible de la robótica. Incluso se desarrolló un C específico, el ObjetiveC. Potente y fiable, pero ahora ya obsoleto. Los PIC entraron con fuerza, y gracias a gente como D. Tait, podias fabricarte un programador de PICs por cuatro duros, y la casa Parallax los puso de moda con sus Basic Stamp: al alcance de todos y con un lenguaje sencillo. En cuanto al tema de la programación, si quieres tener control del tiempo, el assembler es la única opción sensata.
Que opciones quedan en el mundo de los 8 bits...
Por suerte, Atmel llega al rescate: Los Atmel AVR, en concreto el ATmega128.
Son baratos, tienen un montón de canales I/O, PWM, DAC, I2C...
Puedes programarlos en C bajo gnu (avr-gcc) y dispones de RTOS con soporte para stacks TCP y multitasking!!. Que más se puede pedir...
** Es muy interensante el proyecto Wiring, que utiliza ATmega128 como nucleo de un sistema programable en Java bajo Processing (siguiendo estandares del MIT Media Lab) **
Si optamos por usar un nucleo central común, podemos usar librerias estandarizadas, y perder menos tiempo en el como hacer; y más al que queremos hacer.
Si cada cual usa la arquitectura con la que se siente más comodo/conoce/tiene a su alcance, no podremos compartir código, ni realizar proyectos en conjunto (robots sociales, sistemas gestalt, sistemas coordinados), y es en esos campos donde realmente hay que investigar y probar, donde está la diversión.
Podemos elegir un plataforma comercial barata y funcional como la Letatwork (www.opticompo.com/emb/atwork_en.html)** No tengo nada que ver con Opticompo ni me dan comisión. Simplemente, llevo usandolas desde hace años y es un producto fiable, económico y versatil **
O podemos diseñar un PCB propio y encargarlas. Aunque habría que usar un sistema de desarrollo bajo CVS o no nos pondriamos deacuerdo en la vida.
Y este es mi granito de arena.
Teophis Meslef
Hola,
Yo estaba pensando en un diseño más distribuido.
Creo que sería bueno no centrarnos en un único procesador, sino elegir unos pocos para desarrollar, siempre que sean interoperables entre ellos.
Me parece buena la elección que has hecho de micro, sin embargo yo propondría 2 más:
- PIC18F452 (creo que era este): 40 pines, UART, 2 PWM, hasta 40MHz de clock, 8 ADC, ...
- TINI (Dallas): programable en Java, tecnología iButton, 4 UARTS, TCP/IP, sistema operativo basado en Unix, servidor FTP y Telnet, bus CAN, I2C y SPI emulados, ...
Lo que me vengo a referir es que cada uno va a proponer los micros con los que ha trabajado así que lo mejor será realizar una electrónica modular que pueda utilizarse por cualquiera sea un micro de 8 bits, o uno de 64 (siempre que cumpla unas caracteristicas mínimas que es de lo que se trata detallar aquí).
Propuesta de requisitos mínimos:
- I/O Digitales
- 1 Interrupción externa.
- 1 Open Colector.
- 1 Generador PWM.
- 4 Conversores ADC.
- Comunicaciones (1-2 USART):
> RS232 (TTL o C). Ampliable a IR, RF, ...
> I2C / SPI
Propuesta de Micros:
- Microchip: PIC16F87x, PIC18F452
- Atmel: ATmega128
- Dallas: TINI (módulo)
- ARM: (32bits)
S2
Ranganok Schahzaman
Ahora llega mi turno...
Por motivos de tiempo no he podido prestar atención a este proyecto en el que estaba verdaderamente interesado pero despues de leer este hilo del foro está claro que si en varios meses ni siquiera se ha decidido que vamos a usar de chasis... mal veo terminar el proyecto.
Ni siquiera tengo claro si este proyecto va a estar destinado a que los novatos aprendan o a que los iniciados mejoremos, creo que tendriamos que hacer una paradita y aclarar este punto antes de continuar.
furri
Ni siquiera tengo claro si este proyecto va a estar destinado a que los novatos aprendan o a que los iniciados mejoremos, creo que tendriamos que hacer una paradita y aclarar este punto antes de continuar.
Hombre, yo creia que habia quedado claro esto ya: las dos cosas, por eso es lo de hacerlo modular.
S2
Ranganok Schahzaman