fbpx

Expresate

Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:

Avisos
Vaciar todo

APlus y robots

16 Respuestas
6 Usuarios
0 Reactions
4,971 Visitas
markknopfler
Respuestas: 28
Topic starter
(@markknopfler)
Eminent Member
Registrado: hace 16 años

Buenas a todos, este es mi primer posteo y es para presentarme y para hacer una consulta a todos los usuarios interesados.

Hace tiempo me viene rondando por la cabeza la idea de hacer un robot que pueda esquivar obstaculos, pero con la capacidad de generar un mapa en memoria.
El otro dia desarme un ordenador antiguo y encontre que el Bios era una memoria de 256Kb (2048kbit) con la ventaja de que la tensióm de programación es de 5v y se me ocurrio poder usarla para guardar el mapa para luego usar Aplus para elegir el camino mas corto a un destino.

Hasta aqui todo teoria y nada en practica.
Mi pregunta es la siguiente, ¿alguien en este foro ha hecho algo similar? ¿alguien tiene alguna sugerencia? ¿a alguien le interesa?

Desde ya gracias.

Responder
15 respuestas
markknopfler
Respuestas: 28
Topic starter
(@markknopfler)
Eminent Member
Registrado: hace 16 años

joviwap, Si, claro PC seria lo mas facil, pero yo pensaba en algo (aclaro que estamos hablando en el aire sin nada concreto) solo con pic.
Unos encoders en las ruedas para saber cuanto recorre, y en memoria saber si ese espacio esta ocupado o no, claro si uno levanta el robot lo mueve ya las cosas quedan desfazadas, o sea un pulsador que active el reconocimiento y a partir de ahi va leyendo el entorno y sabe en que lugar se encuentra relativo al punto de partida.
Un A plus pero ejecutado por un PIC, el aplus lo use en PC y como la custion es saber si cada punto del mapa esta explorado, ocupado o libre lo unico de hardware mas critico es la memoria, aparte de los encoders y sensores claro.

Bastian, Gracias por la respuesta

Responder
furri
Respuestas: 2708
(@furri)
Ardero
Registrado: hace 20 años

...Hace tiempo me viene rondando por la cabeza la idea de hacer un robot que pueda esquivar obstaculos, pero con la capacidad de generar un mapa en memoria.
Aun recuerdo hace tiempo (mucho tiempo) que hice un programita para dibujar mi habitación marcando los obstáculos.... en un ZX Spectrum... 😉

Si las dimensiones maximas del area a inspeccionar es conocida todo depende del nivel de detalle que quieras, divides las dimensiones maximas en una cuadricula y procedes a rellenar las celdas 0 = libre, 1 = obstáculo, bien administrado para un escenario tipo laberinto convencional o una habitación con la propia memoria del micro te basta.

Si las dimensiones maximas no son conocidas.... hasta la memoria mas grande que puedas conseguir se te quedará pequeña....

Responder
markknopfler
Respuestas: 28
Topic starter
(@markknopfler)
Eminent Member
Registrado: hace 16 años

Si, yo pensaba marcar las celdas con "sin identificar", "libre", "obstaculo" y cada celda tiene una celda madre que es de donde viene.
Si en el proceso de busqueda se encuentra una celda(A) que esta mas cerca del destino (y se puede pasar por ella) que tambien llega a esa celda(B) la celda (B) cambia de madre por (A) y asi se busca el camino mas corto evitando obstaculos (el aplus funciona asi)

yo pensaba hacer una grilla de x por y celdas y que partiera del centro... si son 100 x 100 celdas son 10000 celdas y para guardar la celda madre y todo eso nesecito al menos 3 bytes por celda o sea 29,3Kb

Celda madre se usa unicamente cuando se esta buscando un camino, lo que tambien se puede agregar si se quiere complicar es posibilidad de que la celda este ocupada, o sea cuanto mas veces se pase por una celda y este ocupada mas posibilidad hay de que la proxima vez este ocupada...

saludos

PD:Bastian, si creo que por el precio y la cantidad de pines mejor una memoria I2C toda la vida...

Responder
ranganok
Respuestas: 3875
(@ranganok)
Ardero
Registrado: hace 19 años

MarkKnopfler, necesitas solo dos bits por celda (00 libre, 11 obstáculo, 01 o 10 sin identificar), 10000 celdas serían 2,45kb.

Si quieres guardar la info de la celda madre se puede hacer en los 6 bits que te quedan libres en cada byte. (9,77kb)

S2

Ranganok Schahzaman

Responder
markknopfler
Respuestas: 28
Topic starter
(@markknopfler)
Eminent Member
Registrado: hace 16 años

En 6 bits no puedo guardar celda madre, necesito al menos 14 bits.
El valor de celda madre seria desde 0 a 9999 (10011100001111 en binario) se podria reducir a 2 bytes minimos, eso si usamos una grilla de 100 x 100 ( que a 20x 20 cm por celda harian un terreno de 20 x 20 metros )

aunque tambien podria guardar celda madre en 3 bits si guardara la posicion de la celda madre con respecto a la actual 000= izquierda arriba 100= derecha abajo... ¿ no crees?

saludos

Responder
Página 2 / 4
Compartir: