Giter Club home page Giter Club logo

p_mas_tg's Introduction

P-MAS-TG

Planner for Multiple Agent System with Temporal Goals

@article{guo2015multi,
  title={Multi-agent plan reconfiguration under local LTL specifications},
  author={Guo, Meng and Dimarogonas, Dimos V},
  journal={The International Journal of Robotics Research},
  volume={34},
  number={2},
  pages={218--235},
  year={2015},
  publisher={SAGE Publications Sage UK: London, England}
}

Description

This package contains implementation for plan synthesis algorithms given a finite transition system (as the agent motion model) and a Linear temporal logic formula (as the agent task). It outputs the static plan as a sequence of agent motion and action, required to fulfill the task.


References

Multi-agent Plan Reconfiguration under Local LTL Specifications. Meng Guo and Dimos V. Dimarogonas. International Journal of Robotics Research (IJRR), 34(2): 218-235, Feb 2015. [link] [PDF]

Task and Motion Coordination for Heterogeneous Multi-agent Systems with Loosely-coupled Local Tasks. Meng Guo and Dimos V. Dimarogonas. IEEE Transactions on Automation Science and Engineering (T-ASE), 4(2): 797-808, Apr 2017. [link] [PDF]


Features

  • Allow both normal and co-safe LTL task formulas.
  • Action model can be muted if only motion is concerned.
  • Soft specification is optional.
  • NetworkX structure for FTS, Buchi and Product automata.
  • Static or on-the-fly construction of the product automaton.
  • Stand-alone planner.
from P_MAS_TG.ts import MotionFts, ActionModel, MotActModel
from P_MAS_TG.planner import ltl_planner

# construct your motion and action model
#---------
robot_motion = MotionFts(node_dict, symbols, 'your_ws_name')
robot_motion.set_initial(initial_node)
robot_motion.add_un_edges(edge_list, unit_cost = 0.1)
#---------
robot_action = ActionModel(action_dict)
#---------
robot_model = MotActModel(robot_motion, robot_action)

# specify your hard and soft tasks
hard_task = '(([]<> r3) && ([]<> r4))'
soft_task = None

# set planner
robot_planner = ltl_planner(robot_model, hard_task, soft_task)

# synthesis
robot_planner.optimal(10,'static')
  • Generate .dat for MatLAB to load Buchi and product automata model. See square_world.py.

Debugging

  • Install python packages like networkx, ply. [Update to networkx 2.0]
  • Add this package to your PYTHONPATH, to import it in your own project.
  • ltlba_32 and ltlba_64 are executable files complied under OS X. For other OS, please follow ltl2ba/README.txt.
  • Try test.py and other examples in the Examples folder.

p_mas_tg's People

Contributors

mengguo avatar ptajvarkth avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.