Group: Swarm Toolbox


Total Lines of Code: 21,582

Total Files of Code: 145

Total Work Years: 4.45


Group Description: (19 modules)

The Swarm Toolbox is a collection of robot applications, command-and-control applications, helm behaviors, engineering development tools and core libraries for support multi-vehicle collaborative (swarm) autonomy missions. The mission focus areas were chosen based on ongoing research projects, but the core data structures and algorithms generalize to many different kinds of missions. This includes capabilities for decentralized auction-based decision-making, new task-handling capability for behaviors based on a new IvPTaskBehavior superclass, and a family of distributed coverage algorithms based on Voronoi decompositions of collaborators.

Documentation:

Distribution:

  • MIT Pavlab Development Code (password required)
    $ svn co https://oceanai.mit.edu/moos-ivp-swarm-aro moos-ivp-swarm

Modules:

  • pTaskManager: An app for managing incoming tasks and spawning appropriate behavior(s).
  • uSimMarineX: A much faster new version of uSimMarine with embedded PID controller.
  • alogmtask: Analyze an alog file for mission task events and resolutions.
  • pMarinePIDx: A refactored PID controller using new utility classes.
  • uFldTaskMonitor: A shoreside tool for monitoring tasks across a group of vehicles.
  • uFldVoronoi: A shoreside tool for rendering vehicles participating in a Voronoi coverage.
  • pEncircle: An app to enable balanced encircling with multiple vehicles.
  • bngview: A GUI app rendering pair of vehicles and several geometric relationships.
  • gridview: A GUI app for rendering a region/grid, and creating bathymetry map.
  • voiview: A GUI app for rendering and testing Voronoi data structures and algorithms.
  • obview: A GUI app for rendering and testing obstacle avoidance algorithms.
  • BHV_Muster: A behavior mustering in a region and keeping separation from others.
  • BHV_TaskMuster: A task behavior for auctioning on traversing to a muster region.
  • BHV_TaskWaypoint: A task behavior for auctioning on traversing to a destination.
  • BHV_TaskConvoy: A task behavior for auctioning on forming a convoy ordering.

  • lib_marine_pid: Library holding PID Engine code for embedding in apps using PID control.
  • lib_voronoi: Library holding key data structures and utilities for Voronoi apps/behaviors.
  • lib_genpoly: Library representing and handling general non-convex polygons.
  • lib_helmtask: Library of core classes and utilities for task related behaviors and apps.