Autor Tema: Proyecto ROBOT  (Leído 50900 veces)

0 Usuarios y 7 Visitantes están viendo este tema.

Desconectado tornar

  • Moderador Local
  • PIC18
  • *****
  • Mensajes: 342
Proyecto ROBOT
« en: 28 de Enero de 2005, 05:58:00 »
Saludos! Keria proponeros hacer entre todos uno de los proyectos que a mi
juicio es de los mas interesantes que se pueden hacer con los PIC"s,
un robot, empezando haciendo un robot basico que simplemente se
mueva hacia delante, y poco a poco ir añadiendole mas y mas mejoras,
hasta conseguir hacer que sea lo mas autonomo posible, y que tenga cierta IA.

---------------------------------------------------------------------------------------------------------------------
El objetivo FINAL que me he planteado es conseguir un robot basado en el comportamiento, que sea capaz de autoalimentarse
cuando empiece a ver que tiene bateria baja, que se ponga en modo SLEEP cuando ste a oscuras, y que sea capaz de aprender
(aunke sea de forma limitada) y autoprogramarse cuando aprenda algo nuevo.

Aunke este objetivo podria variar segun vayamos avanzando en el proyecto hacia metas más o menos exigentes.
---------------------------------------------------------------------------------------------------------------------
Me gustaria que entre todos fueramos explicando los materiales basicos que necesitamos,
ver en que fallan los programas que vamos haciendo, y todo esto de manera conjunta, puesto
que este es mi primer robot

Me gustaria saber si hay suficiente gente interesada en esto, como para crear una tira de posts,
o si no interesa a nadie, le hare yo solo y os ire comentando mis progresos, y mis dudas... :P

Algunos datos clave sobre lo que me gustaria emplear a la hora de crear este robot:

- Lenguaje C (compilador CCS v.3.212)

- Estructura metalica formada con piezas de mecano (Evolution 1,2,3, etc.), faltaria decidir entre
todos que mecano es el mas apropiado, los precios aproximados van desde los 20 euros del Evolution 1,
hasta los 100 euros del maletin de mecano 6.

- PIC 16F87x (en futuras mejoras podriamos plantearnos usar la serie 18Fxxx, si la cosa evoluciona bien)

- 2 motores S3003 de FUTABA (que posteriormente modificaremos para eliminar topes de giro)

- Tarjeta microcontroladora (aki necesito que planteemos varios tipos de tarjetas y ver cual es la mas apropiada)

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
RE: Proyecto ROBOT
« Respuesta #1 en: 28 de Enero de 2005, 06:22:00 »
Interesante proyecto Tornar. Yo ahora mismo no creo que vaya a montar ningún robot, pero leeré con atención los post.

Por cierto, con todas las funciones que quieres que tenga el robot, si le añades el gusto por las chucherías y por la tele, sería igualito a mi hijo Giño

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7912
RE: Proyecto ROBOT
« Respuesta #2 en: 28 de Enero de 2005, 07:25:00 »
Anotame a mi, salvo los motores el resto es facil conseguirlo.
Ademas por ahi es un proyecto que puedo utilizar para empezar a participar a mi hijo.
RebotadoRebotado
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado angelmoi123

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 298
    • Construccion de Maquinas CNC
RE: Proyecto ROBOT
« Respuesta #3 en: 28 de Enero de 2005, 18:36:00 »
SALUDOS

ME ANOTO EN EL PROYECTO.

angelmoi123

Desconectado Ankarius

  • PIC12
  • **
  • Mensajes: 71
RE: Proyecto ROBOT
« Respuesta #4 en: 28 de Enero de 2005, 19:37:00 »
Tornar!!! ... practicamente has copiado el proyecto en que estoy medido en mis horas libres!!!

Te cuento como es mi robot:

- Chasis: como dice el dicho "la casa se empieza por los cimientos". Algunos pensarán que el chasis es lo de menos ... pero que equivocados están!!!
Para mi es importante tener un chasis funcional y que se adapte a las funciones del robot. Después, de muchos dolores de cabeza al final me he quedado con algo muy simple para empezar: una simple plancha de PVC a la que he incorporado unos soportes para los servos y una rueda loca, ambas cosas las compre en una tienda por internet (por unos 25 euros).
La solución de utilizar piezas de mecano esta muy bien pero en mi opinion es tipo de chasis muy pesado.

- Motores FUTABA S3003 modificados para giro libre. Están muy bien, son compactos y te quitas de encima la reducción del par del motor dc a la rueda. Sin embargo a mi me han decencionado un poco por la poca velocidad que imprimen al robot Enfurruñado

- Tarjeta controladora. Se basa en un diseño modular: una placa para la alimentación, otra para el microcontrolador y otra para los dispositvos de usuario (keypad + lcd). Ahora mismo estoy intentando compactalo todo en una sola placa.
La tarjeta controladora lleva incorporado un PIC16F877 que contrala lo siguiente:
1) RS232 mediante un MAX232 (para programarlo rapidamente mediante un bootloader).
2) Un L293B para contralar los motores mediante PWM.
3) 2 entradas analogicas, en principio para sensores de luz (tipo LDR).
4) 8 entradas digitales, para sensores opticos (por ejemplo para si queremos que el robot siga una linea negra) o sensores tipo switch (para detectar obstaculos) ...
5) Un sensor de temperatura (un LM35DZ) ... una paja mental que tuve loco
6) Un LED.
7) Conector para una teclado de 4x4 y un LCD.
8) Un conector I2C, en principio pensado para añadir una placa con dispositivos I2C que me pudieran ampliar el robot ... más entradas/salidas digitales y analogicas, memorias ...
9) 4 conectores para entradas/salidas de uso general

- Alimentación del robot: esto me esta dando bastantes quebraderos de cabeza ... al final para la electronica voy a utilizar 2 pilas de Ion Litio de las usadas para PDAs (3.7V, 650mA,  15gr cada una, 3 euros) colocadas en serie ... más que suciciente para la electrónica.
Y para los motores estoy utilizando 4 pilas AA recargables pero estoy buscando otra solución que me convenza más ... pues solo dan 5 V que junto con la caida de voltaje en el L293B, al final tengo muy poco voltaje en los motores ... acepto cualquier sugerencia Giño

Espero sus opiniones al respecto... a ver que les parece mi robot.

Saludos, Ank.

PD: se me ha olvidado las futuras ideas a incorporar al robot ... como por ejemplo incorporar RF para poder controlarlo manualmente o para transmitir datos, un SRF04 o SRF08 para detectar obtaculos por ultrasonios, etc

Desconectado tornar

  • Moderador Local
  • PIC18
  • *****
  • Mensajes: 342
RE: Proyecto ROBOT
« Respuesta #5 en: 30 de Enero de 2005, 05:30:00 »
Saludos Anka, me alegra ver que stas metido en un proyecto similar al que vamos a empezar, asi nos podras echar un cable.. Giño

Respecto a la tarjeta controladora que usas, habia pensado en empezar con una más sencilla y reducida, pero la tarjeta controladora que tu planteas es interesante y podria ser una buena opcion de futuro, podrias plantear como la has construido? o si la has comprado, podrias decirnos en q tienda?

Y en cuanto al chasis, me gusta más mecano, por la flexibilidad de diseño y modificación que permite, hoy mismo voy a ir a mirar todos los modelos de mecano, para ver cual se adapta mejor a nuestras necesidades, pero en principio creo que con un mecano Evolution - 1 ó 2, seria suficiente. Y su precio ronda los 20-30 euros.

Seria interesante que todos los que vamos a participar en el proyecto, fueramos dejando nuestras opiniones sobre el primer dilema a la hora de construir nuestro robot, la eleccion del chasis, que como bien dice Ankarius, yo tambien pienso que es una de las partes más importantes del robot.


Desconectado dogflu66

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3510
RE: Proyecto ROBOT
« Respuesta #6 en: 30 de Enero de 2005, 19:34:00 »
Si me lo permitis me apunto, aunque yo lo montare con piezas LEGO ya que tengo algunas....
Y comienzo con algunas recomendaciones...
Por ejemplo el display por propia experiencia de 2x16 no es ni muy grande ni muy pequeño y aparte de que permite mostrar muchos datos durante el funcionamiento del robot, es una buena herramienta para depurar codigo... y en segundo lugar seria interesante plantearse el hacer las entrada estandar... me explico, los sensores podian conectarse por dos hilos a la placa y por estos dos hilos se alimentarian e interactuarían con la placa... sin electrónica complicada... por lazo de corriente... y solo tendríamos que indicar por programa que tipo de sensor es el que conectamos a la entrada en cuestion (esto nos permite en el futuro diseñar cualquier tipo de sensor sin tener que modificar la placa de la cpu)... y como minimo comenzar con el 16F877, porque con solo la rutina de lcd , puerto serie, lectura de puertos y control de velocidad del motor, freno, enlace por infrarrojos o inalámbrico, etc... se consume mucha memoria...

Bueno ideas no me faltan, pero hay que ver si son acertadas...
Y como la parte mecanica  la tengo resuelta me dispongo a desempolvar el “c” mientras que se apunta alguien mas o se dispone el chasis... Rebotado
Saludos desde Granada, España.

Desconectado mandoa

  • PIC10
  • *
  • Mensajes: 36
RE: Proyecto ROBOT
« Respuesta #7 en: 31 de Enero de 2005, 02:47:00 »
Ando dandole vueltas a un hexapodo Sonrisa Gigante con un 16f84a.
Mi idea es: una placa para la alimentación y el pic; otra placa para los sensores (unos bumper para las antenas y 4 fotocelulas para que siga una pista); el movimiento de las patas lo resuelvo con 3 servos Futaba y la programación (¡como no!) en C con alguna versión del CCS.
Flash

Desconectado tornar

  • Moderador Local
  • PIC18
  • *****
  • Mensajes: 342
RE: Proyecto ROBOT
« Respuesta #8 en: 31 de Enero de 2005, 06:55:00 »
Bien, ya empieza a verse mas gente por aki, asi q creo que seria buen momento para concretar ciertos datos:

- El chasis, en principio, yo creo que usare mecano, pero cada uno puede hacer uso del chasis que desee, puesto que no influira de manera decisiva en las cuestiones que tratemos aki, que se centraran mas en la mecanica, electronica e implementacion del robot en si.

- El microcontrolador, aki si creo que deberiamos ponernos de acuerdo en utilizar el mismo todos, para que no haya problemas a la hora de depurar codigo, ya que como todos sabeis a parte de la cantidad de memoria que dispone cada PIC, tb se diferencian en nº de interrupciones que admiten, IC2, etc. En principio creo que el microcontrolador que podriamos utilizar es el PIC16F877, pq como dice dogflu66, si usamos por ejemplo el PIC16F84A, pronto nos kedaremos cortos de memoria.

- La tarjeta controladora, esta es otra de las cuestiones mas importantes a resolver, aki habria que decidir que tipo de tarjeta vamos a usar, si la implementaremos nosotros, o si vamos a adkirir una tarjeta ya hecha. Asi que el siguiente punto del proyecto seria ¿QUE TARJETA CONTROLADORA USAREMOS?


Mandoa respecto al hexapodo, el movimiento del robot mediante patas es una buena opcion, que a mi por ejemplo me resulta mas atractiva que con ruedas, pero el problema es que el movimiento de las patas del robot requiere una mecanica y una implementacion algo más complicada que un robot que se mueva mediante ruedas, asi q creo que seria mas adecuado empezar con un robot que se mueva con ruedas ya que es mas simple, economico (se necesitan menos motores) y sencillo de implementar. Saludos.

Desconectado angelmoi123

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 298
    • Construccion de Maquinas CNC
RE: Proyecto ROBOT
« Respuesta #9 en: 01 de Febrero de 2005, 09:07:00 »
Saludos a todosç

Hace un  tiempo construi un cuadrapodo  utilizando solo palitos de helados, laminas delgadas de aluminio, tornillos, tuercas y ganas de hacerlo. la idea en principio fue demostrarle a mi hijo que las cosas se pueden hacer con materiales sencillos y de facil ubicacion:
Como controlador utilice el SSC pero es limitativo ya que solo puede manejar 8 servos y realmente yo queria hacer  un hexapodo, si alguien ya tiene la etapa de controlador basado en pic para manejar mas de ocho servos, mucho sabria agradecerle si me lo pasa por correo o lo publica aqui.

angelmoi123

Desconectado dogflu66

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3510
RE: Proyecto ROBOT
« Respuesta #10 en: 01 de Febrero de 2005, 18:52:00 »
Estoy de acuerdo contigo que lo mejor para trabajar en grupo es un robot con ruedas, hace la mecanica mas simple y menos codigo para controlarla, pero he de añadir que en la red no he visto, hexapodos o bípedos (no quiero decir que nos los haya) que hagan peleas, lleven pelotas de un color determinado a su porteria, localicen latas cola_loca  y las almacenen, etc... pienso que este sistema tiene mayor continuidad a la larga para trabajar en grupo....
Y ya puesto prefiero que construyamos nosotros mismos la placa con PIC, pienso que estando en el foro que estamos no habra problema, esto no quiere decir que nos basemos en cualquier placa publicada por algun compañero o nos preste, o aconsejen para basarnos y modificar a nuestras necesidades....

Y aconsejo publicar que se quiere que haga el robot inicialmente... y en el futuro para que se tengan en cuenta las posibles ampliaciones al chasis, por ejemplo si se construye un chasis muy bonito pero no permite en el futuro añadir algún tipo de base para montar mecanismos para atrapar, arrastrar o cargar cosas, pues nos limitamos mucho... recordar que un chasis muy bonito en el que se invierten muchas horas después no apetece modificarlo.... por mi parte recomiendo el clásico cuadrado o rectángulo con un par de barras o viguetas paralelas para añadir en el futuro mas sensores o mecanismos posiblemente compuestos estos tambien por mas sensores y motores....

- De todas maneras todo lo que he expuesto solo se debe de interpretar como una idea mas....
Saludos desde Granada, España.

Desconectado tornar

  • Moderador Local
  • PIC18
  • *****
  • Mensajes: 342
RE: Proyecto ROBOT
« Respuesta #11 en: 02 de Febrero de 2005, 09:29:00 »
Ok, a mi me parece bien que hagamos nosotros mismos la placa, pero yo en cuanto a temas de electronica, estoy un poco verde, yo donde mas ideas podre aportar sera en la programacion del robot, asi que agradeceria que alguien tomase las riendas en cuanto a la construccion de la tarjeta controladora.

--------------------------------------------------------------------------------------------------------
El primer objetivo, es realizar un robot que cuando incida la luz sobre el, se mueva y al detectar una pared por contacto (mediante bumpers por ejemplo) se gire 90 grados a la derecha, y cuando no incide luz sobre el, pasa a modo sleep.
--------------------------------------------------------------------------------------------------------

En cuanto al objetivo final del robot, seria conseguir un robot (en principio sin brazos, aunke se podria plantear añadirle una especie de bandeja para levantar o mover objetos), y que tenga cierta IA para actuar de acuerdo al comportamiento de un animal sencillo, por la noche (cuando no incide la luz directamente sobre el) pasaria a modo sleep (minimo consumo), cuando se de cuenta que empieza a sentir hambre (nivel de bateria por debajo de 30%) empieza a buscar comida (por ejemplo una toma de corriente para recargar la bateria). Tendria cierta memoria o capacidad de aprendizaje para recordar donde consiguio comida de manera más rapida y con menos esfuerzo. Y en sus ratos libres, realizaria acciones aleatorias, como pueden ser, buscar una pared, seguir cualquier objeto que se mueva, etc.

Luego partiendo de ese mini-bot basado en el comportamiento de un animal simple, podriamos ir ampliando sus posibilidades y su IA, de tal forma que simule el comportamiento de un animal algo más complejo....

Desconectado dogflu66

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3510
RE: Proyecto ROBOT
« Respuesta #12 en: 02 de Febrero de 2005, 18:30:00 »
Por mi parte coincido con Ankarius, pero yo usaria esta distribución:

5 entradas analógicas.
3 controladores de motores
1 display de 2x16 caracteres
5 teclas máximo o menos (arriba, abajo, izquierda, derecha y OK)
1 reloj en tiempo real I2C
1 memoria para captura de datos, o mapeados, en I2C
1 puerto serie rs232
1 puerto de infrarrojos
1 micro PIC16F877A a 20Mhz
1 micro auxiliary PIC16F876A a 20Mhz
1 alimentacion a 9VDC
e interruptor por supuesto
y un conector de programación en placa para los que trabajemos de esta forma sin usar el puerto serie.

Todo distribuido en dos placas de circuito impreso montadas unas encima de otras junto con el display

Y en sensores por lo pronto solo:

2 de infrarrojos con posibilidad de montar enfocados al suelo para seguimiento de linea
1 sensor con ldr diferencial, para seguimiento de luz
y por supuesto 4 fin de carrera.

Todo esto en este sistema solo ocuparia 4 entradas analógicas y lo mismo pero con 6 fin de carrera, seguiria ocupando 4 entras.
En el caso de que lo encontreis interesante lo desarrollo un poco mas.
Saludos desde Granada, España.

Desconectado tornar

  • Moderador Local
  • PIC18
  • *****
  • Mensajes: 342
RE: Proyecto ROBOT
« Respuesta #13 en: 03 de Febrero de 2005, 05:55:00 »
Codigo:
En el caso de que lo encontreis interesante lo desarrollo un poco mas.


Creo que tiene bastante buena pinta esa tarjeta controladora, asi que cuando puedas dogflu, la desarrollas un poco mas y nos ponemos manos a la obra, seria interesante que pusieras una lista de materiales a adquirir para el desarrollo de la tarjeta controladora.

Saludos. Giño

Desconectado dogflu66

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3510
RE: Proyecto ROBOT
« Respuesta #14 en: 03 de Febrero de 2005, 20:15:00 »
En primer lugar me alegro que el planteamiento en principio te agrade...
Me gustaría que más gente diera su opinión, ya que lo ideal es que para que esto marche bien seria conveniente que la gente diera sus ideas, no importa que sean acertadas o no. Cuanto más se debata antes de empezar con el desarrollo mejor será el producto....

Este planteamiento de placa que hago para mi seria la placa ideal, pienso que es un montaje de un nivel de complejidad medio alto, tanto para desarrollo electrónico y programación... ya que para mí este montaje es una placa de adquisición de datos con ruedas...

Por ejemplo si por puro capricho quiero obtener una grafica de la distribución de temperaturas de mi casa, pues solo necesito una placa a la que conectar un sensor de temperatura, un lugar donde almacenar los datos junto con una referencia de tiempo. Por otro lado si quiero recorrer una habitación buscando algo determinado tendré que generar algún tipo de mapa electrónico y por supuesto alojarlo en algun lugar de la placa...
Creo que con estos dos ejemplos quedaria justificado el empleo del reloj y la memoria externa.

El puerto de infrarrojos entre otras aplicaciones, para controlar otros autómatas mas tontos con ruedas en red, o que el equipo aseste comandos remotos de un PC, el puerto de infrarrojos es simple y prácticamente no ocupa espacio en la placa....

El puerto serie para lo que se quiera...

El micro auxiliar principalmente para ampliar puertos, que es posible que nos falten, es algo que se puede estudiar, pero a quien no le gustaria presumir que tiene un desarrollo con dos micros, interactuando ente si.....?

Y las entradas en ves de digitales, analógicas por corriente, porque en Internet te puedes bajar el esquema o comprar el sensor, prácticamente que quieras sin problemas... por ejemplo: si te gustan los montajes de maquinaria industrial automatizada (no solo de robot con ruedas nos alimentamos) este tipo de sensores permiten cables mas largos....

Esta es y fué la justificación del tema.

Lo que si me atrevo a pedir es que la gente que tenga experiencia por ejemplo con modulos para controlar motores que exponga sus ideas y experiencia, lo mismo para el reloj, memoria, protocolo entre PIC, estructura de la tabla de entradas y salidas en memoria en definitiva recursos, infrarrojos, display, sensores, etc... no importa si después decide no llevarlo a la practica...

SEÑORES HAY  QUE DARLE VIDA ENTRE TODOS.....................

y por ultimo es posible que debiéramos cambiar a un sitio del foro mas publico...
Saludos desde Granada, España.


 

anything