-
Notifications
You must be signed in to change notification settings - Fork 20
Formation ISR
Formation ISR has a lead agent performing an area coverage algorithm while followers execute the formation algorithm around the lead agent.
device.0.command="formation coverage"; // command selection
device.0.command.size=6; // number of parameters
device.0.command.0=0; // lead agent
device.0.command.1=[0,0,0]; // location in formation
device.0.command.2=[0,1,2,3]; // agents in formation (<num agents>,<comma separated agent list>)
device.0.command.3="default"; // formation modifier ("rotation" or "default")
device.0.command.4="urec"; // area coverage algorithm selection
device.0.command.5="region.0"; // area coverage parameters
device.1.command="formation coverage";
device.1.command.size=6;
device.1.command.0=0;
device.1.command.1=[4,1.57,0];
device.1.command.2=[0,1,2,3];
device.1.command.3="default";
device.1.command.4="urec";
device.1.command.5="region.0";
Parameters 0-3 are used in the formation part of this algorithm. Parameter 4 selects the area coverage algorithm that will be used by the lead agent to determine movement. Parameters past 4 are passed to the area coverage algorithm constructor. For example, the above formation coverage commands would map to these commands:
device.0.command="cover";
device.0.command.size=2;
device.0.command.0="urec";
device.0.command.1="region.0";
Any area coverage algorithm should work, but some may perform better than others. For example, the Minimum Time Area Coverage algorithm considers the last time a cell was observed. Currently, only the lead agent will update the time since a cell was observed. Functionality for considering the cells that the follower agents will observe has not yet been implemented.