sperezacuna / si-domesticrobot

A domestic robot that retrieves beers from the fridge and delivers them to the owner on a 2D map. Additionally, it cleans the room as the owner randomly throws away the beer cans after drinking them. The robot autonomously places orders at supermarkets to purchase the cheapest beer available. Supermarkets stock their inventory via an auction system
MIT License
0 stars 0 forks source link

El robot(mayordomo) se borra cuando un agente le pasa por encima. #105

Closed iagobarreiro closed 2 years ago

iagobarreiro commented 2 years ago

Habría que identificar a los diferentes agentes como obstáculos en la elección de la ruta o volver a printear al robot cuando le pasen por encima.

sperezacuna commented 2 years ago

Es una restricción de la clase GridWorldView el que no pueda haber más de un agente en la misma posición.

No es posible, por la arquitectura de jason que los agentes se esquiven entre sí, puesto que genera un problema de sincronización (mientras el agente A percibe que el agente B está en la posición (X,Y) y realiza un movimiento acorde, el agente A puede pasar a estar en otra posición diferente que colisione con el desplazamiento elegido). Esto se podría solventar para los autómatas, haciendo que el control de desplazamiento dependa únicamente de robot (lo cual es per se demasiado complejo), pero en todo caso persistiría el problema para los desplazamientos de owner.

Tras realizar un desplazamiento solamente se actualiza la posición hacia la que se mueve el agente; una solución sería actualizar también la posición desde la que se mueve el agente.

iagobarreiro commented 2 years ago

Xa me parecía que era o problema moi evidente e que a solución sería demasiado complexa. Pecho o issue entón.