En este grupo En todos

Grupo de Robótica



ROBOTS INTELIGENTES

ITZAEE
Ing. biomédica upibi-ipn
Escrito por Itzaee Coronado Santiago
el 27/11/2009

Hola, que tal?
Bueno quiero construir un robot explorador
un robot capas de crearce mapas de su entorno
que identifique lugares dond ha estado, en determinad area,
por ejemplo que explore una casa, pero que recuerde donde esta su fuente de alimentacion para reestablecer sus baterias.

por otra parte tambien quiero establecer comunicacion entre varios robots del mismo tipo,
que se localicen, que identifiquen rutas rapidas, que actuen en conjunto.

alguien tiene un algoritmo al respecto o una idea?

Estos robots, podrian emplear, infrarrojos, radio frecuencia, ultrasonido bueno es lo que puedo emplear para comuncarlos con el mundo.

pero no encuentro como hacer k se recreen mapas de donde estan, como llegar a otros lugares, como recordar dond hay algo.

ojala que alguien pueda contribuir a este proyecto, XD
igual si tienen algun proyecto en mente y puedo ayudarlos, con todo gusto lo hare

hasta la proxima!

EL CONOCIMIENTO ES EL CAMINO HACIA EL FUTURO

Jose Cedeno
Tecnico superior en electronica valenc...
Escrito por Jose Cedeno
el 01/12/2009

Bueno te dire que tienes que tener una buena radio frecuencia en esta parte de los robot ya que pudiera captar otra frecuencia en si pero si se puede porque no de verdad te felicito por lo que quieres hacer en tu profesion

Itzaee Coronado Santiago
Ing. biomédica upibi-ipn
Escrito por Itzaee Coronado Santiago
el 01/12/2009

Te agradesco tu coment, y si tengo una buena comunicacion, consegui realizar un programa, que me permite mandar y recibir datos con UHF, sin distorcion alguna "ruido"
y entre emisor-receptor no puedo haber interferencias, aun cuando se hable de la misma frecuencia, por ejemplo 315 MHz
el circuito puede conformarse de un emisor y varios receptores, y cada receptor adquirira la informacion que necesita sin que otro reciba lo mismo.

algo asi como "nombres"

Francisco Ramirez
Antioquia, Colombia
Escrito por Francisco Ramirez
el 15/12/2009

Interesante proyecto el que quieres hacer. Estoy tambíen muy interesado en este tema, ya que, me encuentro haciendo un proyecto de grado que tiene cierto parecido. Este consiste en un robot que recorre una casa, sensando si hay humedad en el piso y si hay humo, como consecuencia del fuego. Realmente no se como crear un algoritmo para que mi robot cree la ruta y sepa en que lugar se encuentra, pero si he hecho la forma de que esquive obstaculos por medio de un sensor de proximidad. El programa que manejo es el MPLab DE, para el pic16f873A.

Si usted o alguien sabe como hacer el algoritmo para que este robot sepa en que posicion se encuentra con respecto a un punto o que se pueda crear un mapa para seguir una ruta, estaria muy agradecido.


Itzaee Coronado Santiago
Ing. biomédica upibi-ipn
Escrito por Itzaee Coronado Santiago
el 18/12/2009

Que buena onda, oajla tengas exito en tu proyecto! Nos gustaria saber de tus avances

Por mi parte eh estado investigando de todo un poco, y bueno me llamo la tension,
el sistema GPS, como identifica caminos, su propia localizacion, planificacion de rutas,

Entre otras cosas, tambien programo en c, y estoy buscando la forma de hacer un pacman!
de poder realizar el algoritmo para su funcionamiento el siguiente paso seria implementar esas redes, en estos robots.

Un dato muy importante, es hacer que aprenda!
y que por ende.... Recuerde!

Cuauhtemoc Diaz
Puebla, México
Escrito por Cuauhtemoc Diaz
el 26/12/2009

Mmmm vientos, pues para recrear en pc los lugares o digamoslo asi lo que el robot ve pues necesitas hacer una interfaz para digitalizar los datos("segun el transductor") y mandarlos por el puerto paralelo, usb, serial, inalambriamente o como quieras que se comunique con una pc, para poder graficar segun la info que mande al pc el robot

Itzaee Coronado Santiago
Ing. biomédica upibi-ipn
Escrito por Itzaee Coronado Santiago
el 21/05/2010

Si esa es buena idea cuauhtemoc, de hecho ya comence
a investigar como hacerlo en visual basic y labview

Armando Manuel De Aliaga Pardo
Recien titulado universidad loyola & ...
Escrito por Armando Manuel De Aliaga Pardo
el 24/05/2010

Muy buen poryecto, si tengo algo te aviso

Armando Manuel De Aliaga Pardo
Recien titulado universidad loyola & ...
Escrito por Armando Manuel De Aliaga Pardo
el 24/05/2010

¿Programas en C?... Estibe buscando alguien que porgrame en C para que asi me pueda enseñar, yo prpgramo de la forma tradicional, y e muy complicado, dicen que programar en C es mas facil

Itzaee Coronado Santiago
Ing. biomédica upibi-ipn
Escrito por Itzaee Coronado Santiago
el 25/05/2010

YA TENGO LA IDEA!

utilizare matrices de leds! Para hacer las pruebas de memoria!
como hacer que el robot recuerde dond está! Que hay en su entorno!
la construccion de un mapa atraves de sensores!

estoy pensando en construir el mapa acorde vaya navegando el robot en un area desconocida! Vaya guardando los datos adquiridos en su memoria la cual para fines de experimentacion y visualizar el progreso, sucesion y evolucion del programa mostrar dichos datos de su mapa en matrices de leds!

una vez que lo logre no seran necesarias las matrices, ya que el mapa se guardara en la memoria del robot! , vulnerable a modificaciones! , como si cambian de lugare un objeto!

eh estado viendo tambien algoritmos de navegacion robotica, para que identifique el punto de inicio, y al termino de su tarea o que requiera mas bateria, retorne a ese punto y prosiga con su trabajo en la ruta mas rapida!

Daniel A Gonzalez Mariño
Ingeniería eléctrica universidad centr...
Escrito por Daniel A Gonzalez Mariño
el 25/05/2010

Oye que buen proyecto man... Yo soy estudiante de ingeniería eléctrica. Apenas voy por la mitad de mi carrera. Me interesa muchisimo la robótica y la electronica. Estaba pensando inclusive, en la apertura por mi parte de un club de "Robótica - Electronica" en mi escuela de la facultad. Que Opinan de ello? Estoy muy bajo como para hacerlo?

Antonio Ayala López
Ingeniería en electrónica instituto te...
Escrito por Antonio Ayala López
el 26/05/2010

Bbbuennno...

Desde mi particular punto de vista, el algoritmo base, para "memorizar" un ruta ya existe, (sugiero entrevistarse con alguna persona invidente), y NO! , por favor, no lo vayan a tomar a broma, paso a explicar la idea...

Los invidentes cuentan los pasos, a partir de un punto de partida, ocasionalmente memorizan texturas de objetos fijos o lugares clave, en algunas circunstancias preguntan a alguien cercano el color o las formas de edificios u objetos, de esta forma corroboran, aseguran y corrigen su posición en caso de perder o confundir la cuenta.

Ahora bien, ¿Cómo aplicar esto a un algoritmo programable? , Si encuentran la forma de fijar un punto de origen, el aplicar un contador de las vueltas o giros de los motores, y esta(s) cuenta(s) almacenarla(s) en una memoria no volátil, se obtendrá como resultado final, un "mapa" memorizado y perfectamente repetible. No será necesario almacenar toda la cuenta, sino solamente los totales de cada cambio de posición.

Si se logra concretar la idea anterior, una forma de probarla sería: A un ente seguidor de lineas debidamente comprobado, se le inserta el nuevo algoritmo, luego se le traza una ruta que deberá ser "memorizada", después, se suprime la ruta trazada y finalmente, el ente debería repetir la misma ruta, ya sin existir los trazos.

El Sistema Seguidor de Líneas podría ser con sensores de diferencial de luz.

Para agregar un "Sensor de Texturas"; sugiero agregar emisores-receptores de ultrasonidos + sensores de distancia por infrarojo, que deberán activarse periódicamente con la finalidad de "memorizar" las respuestas sensadas. Estas respuestas deberán poder ser capaces de corroborar o corregir la ruta.

En el "Muy probable" caso de que el ente perdiera de manera definitiva la ruta, deberá detenerse y empezar a zonar una alarma, a manera de solicitud de ayuda.

En cuanto la referencia de posición de la fuente d energía, ésta debería contar con un transmisor permanente, (puede ser por R.F. O por I.R. ) que le indique en todo momento al ente, hacia donde dirigirse, toda vez que la energía de sus baterías cayese a determinado nivel.

En lo que se refiere a la iteracción con otros entes robóticos, sugiero que se integren "grupos" de entes que funcionen dentro de un ancho de banda determinado, y asignarle, a cada uno una frecuencia fija de operación, (Sistema de canales, como en la TV o en la FM). En este caso; también sugiero usar rangos de frecuencias de los sistemas de microondas, investigar como funcionan los celulares.

Una sugerencia más audaz, si se cuenta con suficientes recursos económicos, y con el interés necesario como para investigar y adquirir todas la habilidades requeridas consiste en: Aplicar métodos de reconocimiento de formas adquiridas y "memorizadas" a partir de cámaras WEB. En este caso también un buen complemento sería; el reconocimiento de voz.

Hasta aquí; todas estas ideas resultan relativamente sencillas de aplicar, si se aplican métodos númericos, tanto para la adquisición, como para el almacenamiento de los datos, (Abrir con el bloc de notas de Windows un archivo de sonido de formato. Voc en una PC). Estos métodos no son tan exactos, pero ofrecen resultados muy estimulantes para los aprendices. Si posteriormente, se aplican técnicas estadísticas para introducirse de lleno a la I.A. Les aseguro que cambiarán su vida y probablemente repercutirán en su entorno.

Quiero comentar también, que no olviden que lo que pretendemos como investigadores de la robótica, NO ES INVENTAR ALGO NUEVO O DIFERENTE, sino emular a la naturaleza con la mayor semejanza posible; por lo tanto, recomiendo que cada idea sea reforzada por la búsqueda directa en la naturaleza de aquello que pretendamos emular y analicemos las respuestas que ella misma, La Naturaleza, nos ofrece.

Si alguien tiene mayor interés, y no me tomaron a burla, mi eMail es: ala2k2@yahoo.com.mx

Antonio Ayala López
Ingeniería en electrónica instituto te...
Escrito por Antonio Ayala López
el 26/05/2010

Hablando de la idea de usar intercomunicación con un PC esto sería, en en el supuesto de que los volúmenes de Info a almacenar fuesen demasiado grandes, y esto me conlleva a pensar en los "Sistemas Neuronales", idea muy audaz pero fascinantemente atrayente y seductora, sobre todo viniendo de un foro de inquietos jóvenes y bueno... PUÉS ADELANTEEE!. La Telemetría es un campo muy avanzado y explotado en el ámbito del automovilismo deportivo, los invito a darse un "paseito" por ese tipo de foros.

Aunque podría resultar un tanto desestimulante para ciertos principiantes, por ello sugiero, y por el momento, el reto consiste en obtener soluciones prácticas y relativamente sencillas, manejando volúmenes de Info muy pequeños. Por ello; insisto en aplicar Métodos Numéricos como primer paso y como segundo, aplicaciones de cálculo por estadísticas.

Reitero mi eMail: ala2k2@yahoo.com.mx

Itzaee Coronado Santiago
Ing. biomédica upibi-ipn
Escrito por Itzaee Coronado Santiago
el 29/05/2010


LA VIDA ES UN FENOMENO TAN COMPLEJO
QUE OBSERVARLA NO ES SUFICIENTE PARA COMPRENDERLA
HAY QUE SIMULARLA Y CONSTRUIRLA!

Referente a la construccion de mapas, en efecto he pensado en emplear un contador
de pasos, y una brujula digital! Estoy haciendo pruebas con matrices de leds para el almacenamiento de datos en la memoria de un microPIC, iniciando desde cero, se puede crear el mapa, pero la cuestion es ahora esta, ya tengo el mapa ahora como recorrerlo desde un punto inicial hasta uno final y retornar, estando en la meta, he pensado en realizar un programa que determine cual de todos los posibles caminos es el mas corto sigiendo en el mapa dibujado este algoritmo:


4 3 2 3 4
3 2 1 2 3
2 1 R 1 2
3 2 1 2 3
4 3 2 3 4

Ese es el algoritmo para contar los pasos en dentro del mapa.

y en la memoria del PIC este es el proceso:

00000000
11011000
00011000
11001110
01100111
00000000
00111110
01110010

un obstaculo sensado por el robot sera almacenado en la memoria como "1"
y un espacio libre como "0" estoy manejandolo como paquetes de 8 para una visualizacion del mapa en una matriz de 16x16, posicionado al robot en un punto central para pruebas!
construira su mapa, hubicando los datos con la referencia de la brujula digital!


EL CONOCIMIENTO ES EL CAMINO HACIA EL FUTURO

Itzaee Coronado Santiago
Ing. biomédica upibi-ipn
Escrito por Itzaee Coronado Santiago
el 21/06/2010

Graphs; Dijkstra's algorithm!

Hola a todos, continuando con la investigacion me he interesado por algunos algoritmos!
como el de DIJKSTRA, la matriz de incidencia, y sobre todo el pagerank! De google!

estos algoritmos para que? Para la planificacion de rutas mas cortas de un punto a otro en un mapa! En un grafico, habiendo resuelto no al 100% la construccion de los mapas para estos robots, estoy comenzando a ver como resolver este dilema, para la eleccion de la ruta mas corta hacia un destino en el mapa.

alguien sabe algo de los gps? Jejeje y dale con eso.
he buscado informacion sobre la telemetria, por eso llege a los algoritmos de grafos.
pero es medio complicado considerar solo datos como "1" y "0"

ademas! He considerado la idea de tener en la memoria del robot (el pic)
dos mapas! Uno para la estructuracion de su entorno! Y otro para el conteo de pasos
aun no tengo bn definido como, pero ya se me ocurrira, si alguien tiene una idea, seria de gran ayuda.

la brujula sin duda es una gran base para la planificacion d las rutas mas cortas.
tmbn he pensado en una interface con la compu, dibujando los graficos en algun programa
pero limitaria al robot de ser completament autonomo.

Les dejo mi correo por si quieren debatir algun tema al respecto.


PEGASO_SILFIDE@hotmail. Com


"Son las decisiones las que nos hacen ser quienes somos"

Antonio Ayala López
Ingeniería en electrónica instituto te...
Escrito por Antonio Ayala López
el 23/06/2010

Bien.. Pues el algoritmo Dijkstra está demostrando su eficiencia y cuenta con la maravillosa cualidad de estar demostrado matemáticamente, por cierto; para especialistas con profundos conocimientos de: la matemática simbólica, teoría de conjuntos, matrices y diagramas de Venn. OK MUY MUY BUENO!.

Más con el objeto de acercar este tipo de ideas a quienes no poseen tan maravillosos y poderosos conocimientos, deseo compartir una experiencia personal. Hace varios años se me solicitó un programa que, entre otras cosas, permitiera asignar de manera automática el género de las personas a partir del nombre escrito, en otras palabras, los capturistas ecriben el nombre de pila de las personas y el programa, automáticamente, asigna: F a las mujeres y M a los hombres, (F=Femenino, M=Másculino). Cómo lo resolví?... Paso a explicar.

Cuando menos en español mexicano todos sabemos que la mayoría de los nombres para las mujeres terminan con "a" y los de los hombres terminan con "o", aparentemente un caso para resolver con lógica cero-uno, pero, también sabemos que existen muchos nombres, tanto de mujeres como de hombres con terminaciones muy variadas y diversas, ¿Cómo entonces resolver este importante segmento?... Apliqué un método de desviación hacia un banco de datos que se actualiza después de consultar al capturista y va creciendo cada vez... "Aprendizaje", "Recuerdo", "Adquisición de Experiencia"; como quiera que se le quiera considerar, es a la postre, un algoritmo de I.A. Que se autorregula permanentemente. En estos momentos, después de más de diez años de operación el sistema cuenta ya con un 99% de certeza y sigue preguntando solamente en casos absolutamente necesarios. Ejemplo: En México se usa bautizar como Guadalupe tanto a hombres como a mujeres, en la cotidianeidad a las mujeres se les dice "Lupitas" y a los hombres "Lupes", aunque a veces se les dice igual, "Lupe"; asunto difícil hasta para un cerebro humano que se resuelve siempre con una pregunta y su correspondiente respuesta, el programa hace exáctamente lo mismo.

El Sistema se compone de 3 Bancos de Datos; el Banco 1 es para nombres de Mujeres con letra "a" al final. El Banco 2 es para nombres de Hombres con letra "o" al final. El Banco 3 es para nombres de Hombres y Mujeres que tienen terminaciones diversas. El Programa se realizó como Macro en una Hoja Electrónica de Cálculo.

¿Porqué 3 bancos? , pues para hacer más rápida la operación. Tómese en cuenta que se podría aplicar un único banco de datos, pero entonces, este se tendría que ser corrido totalmente en cada búsqueda. De esta manera se busca solamente en el segmento absolútamente necesario.

*Para la asignación de la letras {F ó M}, esta se hace por selección, el sistema NO admite ninguna otra letra.

El Pseudocódigo es como se indica a continuación

/Sí => Asigna {F} Termina
/"a"? BuscaMujeres => Encuentra? -No => bandera "a" y va a 2 Extrae últ. Letra-"o"? BuscaHombres => Encuentra? -Sí => Asigna {M} Termina
\ \No => bandera "o" y va a 2
"x"? BuscaNombres => Encuentra? -Sí => Asigna {F ó M}S/Equiv y Termina
\No => bandera "x" y va a 2
/Si viene de "a" Guarda en 1 baja bandera
2=Pregunta? => Asigna Respuesta {F ó M}* =>-Si viene de "o" Guarda en 2 baja bandera
\Si viene de "x" Guarda en 3 baja bandera

Después de bajar la bandera correspondiente el sistema ajusta los contadores de nombres en cada banco y termina. Actualmente hay ya cerca de 10,000 nombres en total.

(Espero que se entienda el Pseudocódigo, y si no es así por fallas de alineación en el procesador de textos del foro, con gusto subiré un archivo PDF que permita su mejor ilustración y comprensión).

Ahora bien; creo que este pseudocódigo con sus respectivos ajustes puede ser aplicado para muchas otras cosas. El asunto se puede resumir así:

Asignación 0-1 + búsqueda en bancos de datos por asignación de "Pesos Equivalentes".

El Método de "Pesos Equivalentes" puede hacerse más poderoso si se aplican más equivalencias numéricas por ejemplo:

En la Rosa de los Vientos se puede aplicar un "Peso" a cada Punto Cardinal, como principio de prueba, sugiero del 1 al 16 y que el cero se aplique al Punto de Referencia Absoluta o Centro. (Los "Pesos Equivalentes" pueden ser aplicados perfectamente en Binario).

Luego; la premisa "La distancia más corta entre dos puntos es la recta que los une" puede ser usada si se aplican algoritmos geométricos, (El Teorema de Pitágoras), comparando siempre los resultados con datos referenciales existentes en bancos de datos. Recuérdese; ir a alguna parte, sin conocer o sin guía, aumenta las probabilidades de que el viajero se pierda. Los mapas se trazan después de recorrer los lugares, o durante el mismo primer recorrido, nunca antes ni de otra forma, (Cuando menos hasta el momento).

Los comandos de acción "LEFT" "RIGHT", que demostraron su eficiencia desde aquel pionero cursor "TURTLE" del amigable LOGO creo que siguen siendo poderosos.

Continuará...

Antonio Ayala López
Ingeniería en electrónica instituto te...
Escrito por Antonio Ayala López
el 23/06/2010

Ufff... Tal y como lo imaginé, a pesar de dedicarle un buen par de horas para alinear el Pseudicódigo... Grrr. Se vé totalmente desalineado y por lo tanto confuso, así que prepararé un gráfico en un archivo PDF que subiré lo más pronto posible, a quienes les haya resultado interesante este tópico les recomiendo estar pendientes el Archivo se llamará: "Asignación Por Pesos Equivalentes". Gracias anticipadas por su paciencia.

Yobany Pacheco
Ing de sistemas unad - colombia
Escrito por Yobany Pacheco
el 23/06/2010

Para mi debes determinar si creas tu propio sistema operativo o utilizas un gratuito y solo te dedicas a diseñar y programar aplicaciones para tu robot utilizando un entorno de desarrollo , en la actualidad creo que hay sistemas operativos libres para robots que se pueden descargar de la internet.

Itzaee Coronado Santiago
Ing. biomédica upibi-ipn
Escrito por Itzaee Coronado Santiago
el 25/06/2010

Gracias por el aport antonio.
yobany diseño estos robots en un entorno de desarrollo, desconosco k si existen esos sistemas operativos k mencionas, pero investigare!

Al respecto, me he interesado por Labview, que parece tener muchas interfaces con otros programas, como el solidswork, y es de programacion libre, me parece interesant, pero no encuentro versiones gratis ajaja, solo d eprueba...

por otra parte, el diseño de prototipos los stoy haciendo en mi laboratorio, y diseño herramientas para la construccion y analisis de otros proyectos.

me gusta mucho la investigacion, y tratar con la tecnologia.

No es k solo e dedik a diseñar robots, me interesan todas las areas de la electronik

Digitalizacion de imagen, algoritmos de sistemas inteligentes, innovacion tecnologica, energia renovable, generadores, optimizacion de sistemas electronicos, el estudio de como funcionan los dispositivos electronikos, la programacion, las interfaces hombre makina,
automatizacion, redes de comunicaciones, tecnologias avanzadas, bionica, protesis roboticas, robotica industrial, robocampeonatos, telematica, bioinstrumentacion, biomedica, bioelectronik, revolucion tecnologica, vida artificial y mas...

Yobany Pacheco
Ing de sistemas unad - colombia
Escrito por Yobany Pacheco
el 26/06/2010


Pues es que investigando en la red encontré un artículo sobre este tema donde se exponen tres niveles en cuanto al software de la robótica en los cuales abarca sistemas operativos, ambientes o plataformas para el desarrollo de aplicaciones para robots es decir como Visual Basic y aplicaciones en sí.

Si deseas puedo pasarte el artículo.