Cover image
Try Now
2024-03-08

用RA-L'23论文进行代码 - “与启发式方法的时间 - 最佳多机器人覆盖路径计划的混合整数编程”

3 years

Works with Finder

1

Github Watches

5

Github Forks

26

Github Stars

MIP-MCPP

This repository is the implementation of the MIP, MIP-PRH and MIP-SRH models for the Min-Max Rooted Tree Cover (MMRTC) problem and their corresponding planners for the graph-based multi-robot coverage path planning problem from the following paper:

Jingtao Tang and Hang Ma. "Mixed Integer Programming for Time-Optimal Multi-Robot Coverage Path Planning with Heuristics." IEEE Robotics and Automation Letters (Aug. 2023). [paper], [video], [project]

Please cite this article if you use this code for the multi-robot coverage path planning problem.

Installation

1. Python lib:

pip install -r requirements.txt

2. Gurobi lib:

optional if you don't want to run solver.py for MIP optimization. Pre-run model solutions are provided in directory 'data/solutions'.

Please refer to [Gurobi] for the installation. (they have trial and academic licenses)

Description

1. The MMRTC MIP Solver

The MCPP problem is reduced to the MMRTC problem and then solved with the STC algorithm. Please refer to the paper for more details.

Usage

python solver.py [-h] [--solver_cfg SOLVER_CFG] [--alpha ALPHA] [--beta BETA] [--warm_start WARM_START] istc
  • Required:
    • istc: the instance name stored in directory 'data/instances'.
  • Optional:
    • --solver_cfg SOLVER_CFG: path to the Gurobi configuration file. (see 'data/cfgs' for reference)
    • alpha ALPHA: parameter of Parabolic Removal Heuristics (PRH). Will solve the MIP-PRH model if specified.
    • beta BETA: parameter of Subgraph Removal Heuristics (SRH). Will solve the MIP-SRH model if specified.
    • --warm_start WARM_START: type of warm-startup for the model optimization. Use 'RTC' for the original MIP model and 'MST' for MIP-PRH and MIP-SRH.

2. The Instance Maker

A simple routine to create random MMRTC instance.

  • if map is provided, then a terrain with uniform terrain weight of 1 is generated, encoded by:
    • obstacle vertex: black pixel, rgb=(0,0,0)
    • free vertex: white pixel, rgb=(1,1,1)
    • root vertex: red pixel, rgb=(1,0,0)
  • otherwise, an empty terrain with random weights will be generated.

Usage

python instance_maker.py [-h] [--map MAP] name
  • Required:

    • name: the instance name in the format of '[grid width]x[grid height]-[Characteristics]-k[# of roots]'.
      • If no map is provided, the generated instance is a [grid width]x[grid height] empty terrain with [# of roots] subtrees (or robots) and randomized terrain weights.
  • Optional:

    • --map MAP: path to the map to create the instance.

3. The MCPP Planner

The MCPP planners with simulation, including MFC, MSTC$^*$ and MIP (the method in this paper).

Usage:

python planner.py [-h] [--method METHOD] [--istc_sol_name ISTC_SOL_NAME] [--scale SCALE] [--dt DT] [--write WRITE] istc
  • Required:
    • istc: the instance name stored in directory 'data/instances'.
  • Optional:
    • --method METHOD: planner type choose from {MFC, MSTC*, MIP}.
    • -istc_sol_name ISTC_SOL_NAME: MIP solution name stored in the directroy 'data/solutions'. (only required when planner type is MIP)
    • --scale SCALE: the canvas scaling factor for visualization.
    • --dt DT: delta time of simulation.
    • --write WRITE: is writing the simulation as MP4. (ffmpeg lib is required)

MCPP Simulation Results

  • The floor-medium instance using the MMRTC solution from MIP-SRH model

License

MIP-MCPP is released under the GPL version 3. See LICENSE.txt for further details.

相关推荐

  • Joshua Armstrong
  • Confidential guide on numerology and astrology, based of GG33 Public information

  • https://suefel.com
  • Latest advice and best practices for custom GPT development.

  • Alexandru Strujac
  • Efficient thumbnail creator for YouTube videos

  • Emmet Halm
  • Converts Figma frames into front-end code for various mobile frameworks.

  • Elijah Ng Shi Yi
  • Advanced software engineer GPT that excels through nailing the basics.

  • lumpenspace
  • Take an adjectivised noun, and create images making it progressively more adjective!

  • Lists Tailwind CSS classes in monospaced font

  • https://maiplestudio.com
  • Find Exhibitors, Speakers and more

  • tomoyoshi hirata
  • Sony α7IIIマニュアルアシスタント

  • Carlos Ferrin
  • Encuentra películas y series en plataformas de streaming.

  • Yusuf Emre Yeşilyurt
  • I find academic articles and books for research and literature reviews.

  • https://zenepic.net
  • Embark on a thrilling diplomatic quest across a galaxy on the brink of war. Navigate complex politics and alien cultures to forge peace and avert catastrophe in this immersive interstellar adventure.

  • apappascs
  • 发现市场上最全面,最新的MCP服务器集合。该存储库充当集中式枢纽,提供了广泛的开源和专有MCP服务器目录,并提供功能,文档链接和贡献者。

  • ShrimpingIt
  • MCP系列GPIO Expander的基于Micropython I2C的操作,源自ADAFRUIT_MCP230XX

  • jae-jae
  • MCP服务器使用剧作《无头浏览器》获取网页内容。

  • ravitemer
  • 一个功能强大的Neovim插件,用于管理MCP(模型上下文协议)服务器

  • patruff
  • Ollama和MCP服务器之间的桥梁,使本地LLMS可以使用模型上下文协议工具

  • pontusab
  • 光标与风浪冲浪社区,查找规则和MCP

  • av
  • 毫不费力地使用一个命令运行LLM后端,API,前端和服务。

  • Mintplex-Labs
  • 带有内置抹布,AI代理,无代理构建器,MCP兼容性等的多合一桌面和Docker AI应用程序。

  • WangRongsheng
  • 🧑‍🚀 llm 资料总结(数据处理、模型训练、模型部署、 o1 模型、mcp 、小语言模型、视觉语言模型)|摘要世界上最好的LLM资源。

  • appcypher
  • 很棒的MCP服务器 - 模型上下文协议服务器的策划列表

    Reviews

    4 (1)
    Avatar
    user_E7Xh7mJp
    2025-04-17

    I have been using MIP-MCPP for a while now, and I must say it's a phenomenal tool created by reso1. It excels in delivering a seamless experience with its robust language support and intuitive interface. The project links and extensive documentation have made integration incredibly easy. Highly recommended for anyone looking to enhance their MCP applications. Check it out at https://github.com/reso1/MIP-MCPP!