COSM Software Modules
High level summaries of COSM’s main modules providing reusable (but not necessarily generic functionality in MAS projects) are below; for full details see the API.
Artificial potential fields for navigation and flocking: cosm::apf2D.
Platform Abstraction Layer (PAL): cosm::pal.
Hardware Abstraction Layer (HAL): cosm::hal.
Task allocation. Various methods from the swarm robotics literature, most of which do not require communication.
Flocking. Also metrics and collectors. cosm::flocking and cosm::spatial::strategy::flocking.
Common agent subsystems: cosm::subsystem
Sensing and Actuation (SAA)
Perception
Foraging: block distribution, block motion, injection of perfect information about blocks and caches. Metrics and collectors. cosm::foraging.
General kinematics definitions for interfacing with ROS and other platforms: cosm::kin.
Convergence measurements of different types; metrics and collectors. cosm::convergence.
Injection of environmental and population dynamics; metrics and collectors. cosm::tv.
Simple management of arena state via grid: cosm::arena.