What Are Waypoints And Infopoints?
The waypoints used by the FlexBot are different from the path-defining waypoints used in traditional bots. The traditional approach to bot navigation is to use waypoints as landmarks for complex and resource-intensive path-planning algorithms. In the FlexBot, waypoints are not used in path-planning. Instead, FlexBot waypoints and infopoints are locations that have been marked in order to provide some loose guidance to bots that may otherwise have difficulty navigating the environment in a logical manner.
Using Waypoints and Infopoints
Waypoint support is currently fairly limited in the FlexBot. Waypoints and infopoints can be created using the appropriate actuators or by loading waypoints from a file. Access to these waypoints is provided through waypoint or infopoint sensors, which are generally limited to identifying the nearest waypoint. A typical use is to have the waypoints function as attractors for the bots. This can be useful for marking "chokepoints" in rooms, thereby "attracting" bots towards difficult-to-reach doors or passageways.
Waypoints vs. Infopoints
There are two characteristics that distinguish waypoints from infopoints: longevity and type-identification. Waypoints are intended to be permanent navigational aids. Infopoints are intended to mark locations that are of temporary tactical importance (e.g. the last known location of an enemy). While waypoints remain in the bots' memory indefinitely, infopoints have a clearly defined lifespan. After that lifespan is up, the infopoint expires and is no longer stored by the bot. In addition, infopoints are tagged with types to identify what kind of tactical information they represent (see the infopoint-type constants defined in the actuators part of this documentation.)
Creating Waypoints and Infopoints
Waypoints and infopoints can be either user-generated or bot-generated. User-generated waypoints can be created using the "bot n waypoint add" or "bot n infopoint add" console commands (see the "Console Commands" section of this documentation for more details). Bot-generated waypoints are created by using the add_waypoint() or add_infopoint() actuators (more details in the "Actuators" part of this documentation.)
It may be desirable to save a bot's current set of waypoints for later use. This can be easily accomplished using the "bot n waypoint save" console command (see the "Console Commands" section of this documentation). The bot's waypoints are then stored in a file that can be read at a later time by the FlexBot. Waypoint files should be saved with a ".wpt" extension for clarity. A pre-existing waypoint file can be read into any bot's memory using the "bot n waypoint load" console command. After loading a waypoint file, the bot will have all waypoints from the file in memory.