An example simulation demonstrating anti-collision behavior.
- img2csv.py: A file to convert an image to a csv. Use to create a csv that you can then upload to HASH
- map_management.py: a behavior that provides copies of an xy_map to agents that request it
- create_walls.py: Creates the 3d viewer representation of create_walls
- create_factory.py: loads the data into the MapManager agent
- move.py: checks if a move will cause the agent to collide with the wall. If so, it doesn't make that move. Otherwise it randomly moves.
- Smarter move behaviors: Implement a pathfinding algorith/scheduled path.
- Map updates: With multiple agents or randomness in the environment the map of collideable objects will change. Some potential solutions:
- Have an agent update it's own map with things it sees in the environment
- Update the map manager when agents take moves and publish to subscribing agents.
- For performance subdivide zones of the grid for different maps/map managers.
- Only post diffs to agents instead of the entire map.