distr_online_maxmin_markov_game

Code for the IEEE RAL paper: "Distributed Online Planning for Min-Max Problems in Networked Markov Games"

https://github.com/alextzik/distr_online_maxmin_markov_game

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.9%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Code for the IEEE RAL paper: "Distributed Online Planning for Min-Max Problems in Networked Markov Games"

Basic Info
  • Host: GitHub
  • Owner: alextzik
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 122 MB
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created about 3 years ago · Last pushed over 1 year ago
Metadata Files
Readme Citation

README.md

Distributed Online Planning for Min-Max Problems in Networked Markov Games

This repository contains the developed code for the paper accepted to the IEEE Robotics and Automation Letters.

Overview of Proposed Method

Code Structure

The structure of the code is as follows: * main.py * Runs the main simulation loop * The user should specify the algorithms to be run in line 44. The available options are: * "decbaselineonlyPOMDP": POMCPOW baseline * "decbaselineliujia": implementation of the algorithm found in the paper "Robust formation control of discrete-time multi-agent systems by iterative learning approach" * "decbaselinecvxpy": termed optimal in the paper * "decbaselineroll": termed rollout baseline in the paper * "decmcts_maxmin": proposed algorithm * The user should specify the number of runs for each method in line 42 and the number of steps per run in line 43 * The output results for the runs are stored in the log directory

  • parameters.py
    • Contains the parameters for the simulation runs, such as the agents' initial state, goal state, the network topology, noise characterisitcs (currently noise is assumed zero), the doubly stochastic matrix for the distributed optimization (needs to be recalculated if number of agents changes, by uncommenting lines 85-99)
  • result_plotting.py
    • Used to plot the results obtained after running main.py
    • The user needs to specify the results directory in line 26 and the methods to be plotted in line 25

Results

Below we provide trajectory animations for the results pertaining to Figure 1 of the paper. Also available in the folder /GIFs.

In the following figures 'C' denotes the current relative state and 'G' the goal relative state in the desired formation between the agents that are connected by the edge.

Proposed algorithm

h

Optimal action sequence

h

Owner

  • Name: Alexandros Tzikas
  • Login: alextzik
  • Kind: user
  • Location: Stanford, CA
  • Company: Stanford University

Graduate Student at Stanford University, Department of Aeronautics and Astronautics

GitHub Events

Total
  • Push event: 6
Last Year
  • Push event: 6

Dependencies

requirements.txt pypi
  • Pillow ==9.0.1
  • PyOpenGL ==3.1.5
  • PyQt5 ==5.15.6
  • PyQt5-Qt5 ==5.15.2
  • PyQt5-sip ==12.9.1
  • certifi ==2021.10.8
  • cycler ==0.11.0
  • fonttools ==4.29.1
  • kiwisolver ==1.3.2
  • matplotlib ==3.5.1
  • numpy ==1.22.2
  • packaging ==21.3
  • pyparsing ==3.0.7
  • pyqtgraph ==0.12.3
  • python-dateutil ==2.8.2
  • scipy ==1.8.0
  • six ==1.16.0