BioInspiredRobotDesignAssignment4
Contents |
Overview
Using only simple behaviors, we want to program our Creates to seek out and bring food back to a home base. At the outset, your robot will begin its search for food by performing random movements and leaving a pheromone in each location visited.
Goal
Program the Creates such that they can search and find virtual food using only simple behaviors such as:
- drive
- read pheromone
- pick up food
- leave pheromone
The robot will not be allowed to perform path planning or use any memory other than the virtual environment map.
Details
The robot begin by executing a search for food. This is done by random movements until 1) food is found, or 2) a virtual pheromone is encountered. At each discrete location, the robot will leave a virtual pheromone in the virtual map. If food is found, return home while leaving a trail every 15cm. If a pheromone is found, then follow the pheromone trail until it can't find any more pheromones, or until it finds food.
Food
Virtual walls are what our ants will use as food. When our Create encounters a virtual wall, it will "pick up food", then return home by following it's original pheromone trail while leaving pheromones for the other robots to find. They will be positioned from above with the IR beam pointing downward to simulate the effect of a food source. There will be two virtual walls, symbolizing two food sources.
Virtual Pheromone (VirP)
Once a robot encounters a virtual wall, it will begin its journey home leaving a virtual pheromone (VirP) trail in the virtual environment. Leaving a virtual pheromone in the environment is accomplished by sending a location to a central server which will act as a virtual map.
Other robots will determine if there is a pheromone trail by querying the virtual map for VirP strength > 1 in its current location.
Virtual Pheromones decay over time as well. So when a food source runs out, the other robots will find another food source.
Behaviors
The following behaviors are required:
- "Find Food" - implement a basic behavior to find food and update it's position on the virtual map, and maintain its position and/or the path it is taking in memory (so it can find its way home).
- "Return Home" - will set virtual "pheromones" on it's return to home base
- lay down virtual pheromone - this will send a message to the virtual map
- avoid obstacles
Map
The virtual map will be a two dimensional array of double values. The values are calculated using the function:
Administrative
- Each student is responsible for developing the specific simple behaviors which (we hope) will produce the desired emergent behavior.
- We will provide Java skeleton code as a framework for build the specific behaviors.
References
- Dorigo, M. and Caro, G.D. and Gambardella, L.M., Ant Algorithms for Discrete Optimization, Artificial Life, 1999 vol 5 no. 2, pp 137-172.