[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"tool-mit-acl--mader":3,"similar-mit-acl--mader":125},{"id":4,"github_repo":5,"name":6,"description_en":7,"description_zh":8,"ai_summary_zh":9,"readme_en":10,"readme_zh":11,"quickstart_zh":12,"use_case_zh":13,"hero_image_url":14,"owner_login":15,"owner_name":16,"owner_avatar_url":17,"owner_bio":18,"owner_company":19,"owner_location":19,"owner_email":19,"owner_twitter":19,"owner_website":20,"owner_url":21,"languages":22,"stars":54,"forks":55,"last_commit_at":56,"license":57,"difficulty_score":58,"env_os":59,"env_gpu":60,"env_ram":61,"env_deps":62,"category_tags":72,"github_topics":75,"view_count":84,"oss_zip_url":19,"oss_zip_packed_at":19,"status":85,"created_at":86,"updated_at":87,"faqs":88,"releases":124},3453,"mit-acl\u002Fmader","mader","Trajectory Planner in Multi-Agent and Dynamic Environments","MADER 是一款专为多智能体及动态环境设计的高性能轨迹规划工具，由麻省理工学院团队开发并发表于机器人领域顶级期刊 IEEE T-RO。它主要解决了在复杂场景中，多个移动主体（如无人机群、自动驾驶车队）如何避免相互碰撞，同时灵活躲避动态障碍物并高效抵达目标的核心难题。\n\n与传统规划器不同，MADER 的独特亮点在于其去中心化的异步通信机制。它允许每个智能体独立计算最优轨迹，并通过实时共享意图来协调行动，无需依赖中央控制器。这种设计不仅大幅提升了系统在突发状况下的响应速度，还保证了在密集人群或高速运动环境中的安全性与流畅度。底层采用 Gurobi 优化器结合计算几何算法，确保生成的路径既符合动力学约束又平滑可行。\n\nMADER 非常适合 robotics 领域的研究人员、算法工程师以及高校开发者使用。如果您正在从事多机器人协作、集群控制或动态避障相关的研究，需要验证先进的规划算法或在仿真环境中测试群体智能行为，MADER 将是一个极具参考价值的开源基准。虽然它提供了 Docker 部署方案以降低环境配置难度，但使用者仍需具备一定的 ROS 操作基础和优化理论背景，以便更好地理解和调整核心","MADER 是一款专为多智能体及动态环境设计的高性能轨迹规划工具，由麻省理工学院团队开发并发表于机器人领域顶级期刊 IEEE T-RO。它主要解决了在复杂场景中，多个移动主体（如无人机群、自动驾驶车队）如何避免相互碰撞，同时灵活躲避动态障碍物并高效抵达目标的核心难题。\n\n与传统规划器不同，MADER 的独特亮点在于其去中心化的异步通信机制。它允许每个智能体独立计算最优轨迹，并通过实时共享意图来协调行动，无需依赖中央控制器。这种设计不仅大幅提升了系统在突发状况下的响应速度，还保证了在密集人群或高速运动环境中的安全性与流畅度。底层采用 Gurobi 优化器结合计算几何算法，确保生成的路径既符合动力学约束又平滑可行。\n\nMADER 非常适合 robotics 领域的研究人员、算法工程师以及高校开发者使用。如果您正在从事多机器人协作、集群控制或动态避障相关的研究，需要验证先进的规划算法或在仿真环境中测试群体智能行为，MADER 将是一个极具参考价值的开源基准。虽然它提供了 Docker 部署方案以降低环境配置难度，但使用者仍需具备一定的 ROS 操作基础和优化理论背景，以便更好地理解和调整核心参数。","# MADER: Trajectory Planner in Multi-Agent and Dynamic Environments #\n\n\n### **Accepted for publication in the IEEE Transactions on Robotics (T-RO)**\n\n\nSingle-Agent               |  Multi-Agent           | \n:-------------------------:|:-------------------------:|\n[![MADER: Trajectory Planner in Multi-Agent and Dynamic Environments](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmit-acl_mader_readme_bc7abec07b00.gif)](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=aoSoiZDfxGE \"MADER: Trajectory Planner in Multi-Agent and Dynamic Environments\")      |  [![MADER: Trajectory Planner in Multi-Agent and Dynamic Environments](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmit-acl_mader_readme_cfcd7b136ec8.gif)](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=aoSoiZDfxGE \"MADER: Trajectory Planner in Multi-Agent and Dynamic Environments\") |  \n[![MADER: Trajectory Planner in Multi-Agent and Dynamic Environments](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmit-acl_mader_readme_bb3ea910fa6f.gif)](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=aoSoiZDfxGE \"MADER: Trajectory Planner in Multi-Agent and Dynamic Environments\")       |  [![MADER: Trajectory Planner in Multi-Agent and Dynamic Environments](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmit-acl_mader_readme_b6d84aa22f3e.gif)](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=aoSoiZDfxGE \"MADER: Trajectory Planner in Multi-Agent and Dynamic Environments\")    |  \n\n## Citation\n\nWhen using MADER, please cite [MADER: Trajectory Planner in Multi-Agent and Dynamic Environments](https:\u002F\u002Farxiv.org\u002Fabs\u002F2010.11061) ([pdf](https:\u002F\u002Farxiv.org\u002Fabs\u002F2010.11061), [video](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=aoSoiZDfxGE)):\n\n```bibtex\n@article{tordesillas2020mader,\n  title={{MADER}: Trajectory Planner in Multi-Agent and Dynamic Environments},\n  author={Tordesillas, Jesus and How, Jonathan P},\n  journal={IEEE Transactions on Robotics},\n  year={2021},\n  publisher={IEEE}\n}\n```\n\n## General Setup\n\n### Not Using Docker\n\nThe backend optimizer is Gurobi. Please install the [Gurobi Optimizer](https:\u002F\u002Fwww.gurobi.com\u002Fproducts\u002Fgurobi-optimizer\u002F), and test your installation typing `gurobi.sh` in the terminal. Have a look at [this section](#issues-when-installing-gurobi) if you have any issues.\n\nThen simply run this commands:\n\n```bash\ncd ~\u002F && mkdir ws && cd ws && mkdir src && cd src\ngit clone https:\u002F\u002Fgithub.com\u002Fmit-acl\u002Fmader.git\ncd ..\nbash src\u002Fmader\u002Finstall_and_compile.sh      \n```\n\nThe script [install_and_compile.sh](https:\u002F\u002Fgithub.com\u002Fmit-acl\u002Fmader\u002Fblob\u002Fmaster\u002Finstall_and_compile.sh) will install [CGAL v4.12.4](https:\u002F\u002Fwww.cgal.org\u002F), [GLPK](https:\u002F\u002Fwww.gnu.org\u002Fsoftware\u002Fglpk\u002F) and other ROS packages (check the script for details). It will also compile the repo. This bash script assumes that you already have ROS installed in your machine. \n\n### Using Docker\n\nInstall Docker using [this steps](https:\u002F\u002Fdocs.docker.com\u002Fengine\u002Finstall\u002Fubuntu\u002F#install-using-the-repository), and remove the need of `sudo` following [these steps](https:\u002F\u002Fdocs.docker.com\u002Fengine\u002Finstall\u002Flinux-postinstall\u002F). Then follow these steps:\n\n```bash\ncd ~\u002F && mkdir ws && cd ws && mkdir src && cd src\ngit clone https:\u002F\u002Fgithub.com\u002Fmit-acl\u002Fmader.git\n```\n\nFor Gurobi, you need to download gurobi.lic file from [Gurobi Web License Manager](https:\u002F\u002Flicense.gurobi.com\u002Fmanager\u002Flicenses) (more info [here](https:\u002F\u002Fwww.gurobi.com\u002Fweb-license-service\u002F)). A gurobi.lic not obtained through WLS will **not** work on docker. Place your gurobi.lic in [docker](https:\u002F\u002Fgithub.com\u002Fmit-acl\u002Fmader\u002Fdocker) folder and execute these commands:\n\n```bash\ncd .\u002Fmader\u002Fmader\u002Fdocker\ndocker build -t mader . #This will probably take several minutes\n```\nOnce built, ```docker run --volume=$PWD\u002Fgurobi.lic:\u002Fopt\u002Fgurobi\u002Fgurobi.lic:ro -it mader```\n\n\u003Cdetails>\n  \u003Csummary> \u003Cb>Useful Docker commands\u003C\u002Fb>\u003C\u002Fsummary>\n  \n```bash\ndocker container ls -a  #Show a list of the containers\ndocker rm $(docker ps -aq) #remove all the containers\ndocker image ls #Show a lis of the images\ndocker image rm XXX #remove a specific image\n```\n\n\u003C\u002Fdetails>\n\n### Running Simulations\n\n#### Single-agent\n```bash\nroslaunch mader single_agent_simulation.launch #If you are using docker, you may want to add rviz:=false (to disable the visualization)\n```\nNow you can press `G` (or click the option `2D Nav Goal` on the top bar of RVIZ) and click any goal for the drone. \n\n\u003Cdetails>\n  \u003Csummary> \u003Cb>With Docker\u003C\u002Fb>\u003C\u002Fsummary>\n  \nIn Docker, you can do this by running `docker exec -it [ID of the container] bash` in a new terminal (you can find the ID with `docker container ls -a`), and then running `rostopic pub \u002FSQ01s\u002Fterm_goal geometry_msgs\u002FPoseStamped '{header: {stamp: now, frame_id: \"world\"}, pose: {position: {x: 10, y: 0, z: 1}, orientation: {w: 1.0}}}'`\n\n\u003C\u002Fdetails>\n\n\n\n\nTo run many single-agent simulations in different random environments, you can go to the `scripts` folder and execute `python run_many_sims_single_agent.py`.\n\n#### Multi-agent\n\n> **Note**: For a high number of agents, the performance of MADER improves with the number of CPUs available in your computer. \n\nOpen four terminals and run these commands:\n\n```\nroslaunch mader mader_general.launch type_of_environment:=\"dynamic_forest\"\nroslaunch mader many_drones.launch action:=start\nroslaunch mader many_drones.launch action:=mader\nroslaunch mader many_drones.launch action:=send_goal\n```\n\n(if you want to modify the drone radius, you can do so in `mader.yaml`). For the tables shown in the paper, the parameters (drone radius, max vel,...) used are also detailed in the corresponding section of the paper\n\n\n#### Octopus Search\nYou can run the octopus search with a dynamic obstacle by simply running\n\n```\nroslaunch mader octopus_search.launch\n```\nAnd you should obtain this:\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmit-acl_mader_readme_a29cb2e698de.png) \n\n(note that the octopus search has some randomness in it, so you may obtain a different result each time you run it).\n\n## Issues when installing Gurobi:\n\nIf you find the error:\n```\n“gurobi_continuous.cpp:(.text.startup+0x74): undefined reference to\n`GRBModel::set(GRB_StringAttr, std::__cxx11::basic_string\u003Cchar,\nstd::char_traits\u003Cchar>, std::allocator\u003Cchar> > const&)'”\n```\nThe solution is:\n\n```bash\ncd \u002Fopt\u002Fgurobi800\u002Flinux64\u002Fsrc\u002Fbuild  #Note that the name of the folder gurobi800 changes according to the Gurobi version\nsudo make\nsudo cp libgurobi_c++.a ..\u002F..\u002Flib\u002F\n```\n\n## Credits:\nThis package uses some C++ classes from the [DecompROS](https:\u002F\u002Fgithub.com\u002Fsikang\u002FDecompROS) repo (included in the `thirdparty` folder).\n\n\n\u003Cdetails>\n  \u003Csummary> \u003Cb>Note\u003C\u002Fb>\u003C\u002Fsummary>\n\nWe strongly recommend the use of `Gurobi` as the backend optimizer. Alternatively, you can use [`NLOPT`](https:\u002F\u002Fnlopt.readthedocs.io\u002Fen\u002Flatest\u002F) by setting `USE_GUROBI` to `OFF` in the [CMakeList.txt](https:\u002F\u002Fgithub.com\u002Fmit-acl\u002Fmader\u002Fblob\u002Fmaster\u002Fmader\u002FCMakeLists.txt), and then running `bash src\u002Fmader\u002Finstall_nlopt.sh` before running `bash src\u002Fmader\u002Finstall_and_compile.sh`. \n\n\u003C\u002Fdetails>\n\n---------\n\n> **Approval for release**: This code was approved for release by The Boeing Company in December 2020. \n","# MADER：多智能体与动态环境下的轨迹规划器 #\n\n\n### **已被《IEEE机器人学汇刊》（T-RO）接收发表**\n\n\n单智能体               |  多智能体           | \n:-------------------------:|:-------------------------:|\n[![MADER：多智能体与动态环境下的轨迹规划器](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmit-acl_mader_readme_bc7abec07b00.gif)](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=aoSoiZDfxGE \"MADER：多智能体与动态环境下的轨迹规划器\")      |  [![MADER：多智能体与动态环境下的轨迹规划器](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmit-acl_mader_readme_cfcd7b136ec8.gif)](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=aoSoiZDfxGE \"MADER：多智能体与动态环境下的轨迹规划器\") |  \n[![MADER：多智能体与动态环境下的轨迹规划器](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmit-acl_mader_readme_bb3ea910fa6f.gif)](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=aoSoiZDfxGE \"MADER：多智能体与动态环境下的轨迹规划器\")       |  [![MADER：多智能体与动态环境下的轨迹规划器](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmit-acl_mader_readme_b6d84aa22f3e.gif)](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=aoSoiZDfxGE \"MADER：多智能体与动态环境下的轨迹规划器\")    |  \n\n## 引用\n\n在使用 MADER 时，请引用 [MADER：多智能体与动态环境下的轨迹规划器](https:\u002F\u002Farxiv.org\u002Fabs\u002F2010.11061)（[pdf](https:\u002F\u002Farxiv.org\u002Fabs\u002F2010.11061)，[视频](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=aoSoiZDfxGE))：\n\n```bibtex\n@article{tordesillas2020mader,\n  title={{MADER}: 多智能体与动态环境下的轨迹规划器},\n  author={Tordesillas, Jesus and How, Jonathan P},\n  journal={IEEE机器人学汇刊},\n  year={2021},\n  publisher={IEEE}\n}\n```\n\n## 基本设置\n\n### 不使用 Docker\n\n后端优化器为 Gurobi。请安装 [Gurobi Optimizer](https:\u002F\u002Fwww.gurobi.com\u002Fproducts\u002Fgurobi-optimizer\u002F)，并在终端中输入 `gurobi.sh` 测试安装是否成功。如果遇到问题，请参阅 [此部分](#issues-when-installing-gurobi)。\n\n然后只需运行以下命令：\n\n```bash\ncd ~\u002F && mkdir ws && cd ws && mkdir src && cd src\ngit clone https:\u002F\u002Fgithub.com\u002Fmit-acl\u002Fmader.git\ncd ..\nbash src\u002Fmader\u002Finstall_and_compile.sh      \n```\n\n脚本 [install_and_compile.sh](https:\u002F\u002Fgithub.com\u002Fmit-acl\u002Fmader\u002Fblob\u002Fmaster\u002Finstall_and_compile.sh) 将安装 [CGAL v4.12.4](https:\u002F\u002Fwww.cgal.org\u002F)、[GLPK](https:\u002F\u002Fwww.gnu.org\u002Fsoftware\u002Fglpk\u002F) 以及其他 ROS 包（详情请查看脚本）。它还会编译该仓库。此 Bash 脚本假定您已在计算机上安装 ROS。\n\n### 使用 Docker\n\n按照 [这些步骤](https:\u002F\u002Fdocs.docker.com\u002Fengine\u002Finstall\u002Fubuntu\u002F#install-using-the-repository) 安装 Docker，并根据 [这些步骤](https:\u002F\u002Fdocs.docker.com\u002Fengine\u002Finstall\u002Flinux-postinstall\u002F) 移除对 `sudo` 的需求。然后按照以下步骤操作：\n\n```bash\ncd ~\u002F && mkdir ws && cd ws && mkdir src && cd src\ngit clone https:\u002F\u002Fgithub.com\u002Fmit-acl\u002Fmader.git\n```\n\n对于 Gurobi，您需要从 [Gurobi Web License Manager](https:\u002F\u002Flicense.gurobi.com\u002Fmanager\u002Flicenses) 下载 gurobi.lic 文件（更多信息请参见 [这里](https:\u002F\u002Fwww.gurobi.com\u002Fweb-license-service\u002F)）。未通过 WLS 获取的 gurobi.lic 文件 **无法** 在 Docker 中使用。将您的 gurobi.lic 文件放入 [docker](https:\u002F\u002Fgithub.com\u002Fmit-acl\u002Fmader\u002Fdocker) 文件夹，并执行以下命令：\n\n```bash\ncd .\u002Fmader\u002Fmader\u002Fdocker\ndocker build -t mader . #这可能需要几分钟\n```\n构建完成后，运行 `docker run --volume=$PWD\u002Fgurobi.lic:\u002Fopt\u002Fgurobi\u002Fgurobi.lic:ro -it mader`。\n\n\u003Cdetails>\n  \u003Csummary> \u003Cb>Docker 有用命令\u003C\u002Fb>\u003C\u002Fsummary>\n  \n```bash\ndocker container ls -a  #显示容器列表\ndocker rm $(docker ps -aq) #移除所有容器\ndocker image ls #显示镜像列表\ndocker image rm XXX #移除特定镜像\n```\n\n\u003C\u002Fdetails>\n\n### 运行仿真\n\n#### 单智能体\n```bash\nroslaunch mader single_agent_simulation.launch #如果您使用 Docker，可以添加 rviz:=false（以禁用可视化）\n```\n现在您可以按下 `G` 键（或点击 RVIZ 顶部栏上的“2D 导航目标”选项），并点击无人机的任意目标点。\n\n\u003Cdetails>\n  \u003Csummary> \u003Cb>使用 Docker\u003C\u002Fb>\u003C\u002Fsummary>\n  \n在 Docker 中，您可以通过在新终端中运行 `docker exec -it [容器ID] bash`（可通过 `docker container ls -a` 查看容器ID），然后运行 `rostopic pub \u002FSQ01s\u002Fterm_goal geometry_msgs\u002FPoseStamped '{header: {stamp: now, frame_id: \"world\"}, pose: {position: {x: 10, y: 0, z: 1}, orientation: {w: 1.0}}}'` 来实现。\n\n\u003C\u002Fdetails>\n\n\n\n\n要运行多个单智能体仿真，并且在不同的随机环境中进行测试，您可以进入 `scripts` 文件夹并执行 `python run_many_sims_single_agent.py`。\n\n#### 多智能体\n\n> **注意**：对于大量智能体，MADER 的性能会随着您计算机可用 CPU 核心数的增加而提升。\n\n打开四个终端，并运行以下命令：\n\n```\nroslaunch mader mader_general.launch type_of_environment:=\"dynamic_forest\"\nroslaunch mader many_drones.launch action:=start\nroslaunch mader many_drones.launch action:=mader\nroslaunch mader many_drones.launch action:=send_goal\n```\n\n（如果您想修改无人机半径，可以在 `mader.yaml` 中进行调整）。论文中展示的表格所使用的参数（无人机半径、最大速度等）也在论文相应章节中有详细说明。\n\n\n#### 章鱼搜索\n您可以通过简单地运行以下命令来执行带有动态障碍物的章鱼搜索：\n\n```\nroslaunch mader octopus_search.launch\n```\n您应该会得到如下结果：\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmit-acl_mader_readme_a29cb2e698de.png) \n\n（请注意，章鱼搜索具有一定的随机性，因此每次运行可能会得到不同的结果）。\n\n## 安装 Gurobi 时的问题：\n\n如果您遇到以下错误：\n```\n“gurobi_continuous.cpp:(.text.startup+0x74): undefined reference to\n`GRBModel::set(GRB_StringAttr, std::__cxx11::basic_string\u003Cchar,\nstd::char_traits\u003Cchar>, std::allocator\u003Cchar> > const&)'”\n```\n解决方法是：\n\n```bash\ncd \u002Fopt\u002Fgurobi800\u002Flinux64\u002Fsrc\u002Fbuild  #请注意，文件夹名称 gurobi800 会根据 Gurobi 版本变化\nsudo make\nsudo cp libgurobi_c++.a ..\u002F..\u002Flib\u002F\n```\n\n## 致谢：\n本软件包使用了来自 [DecompROS](https:\u002F\u002Fgithub.com\u002Fsikang\u002FDecompROS) 仓库的部分 C++ 类（包含在 `thirdparty` 文件夹中）。\n\n\n\u003Cdetails>\n  \u003Csummary> \u003Cb>注释\u003C\u002Fb>\u003C\u002Fsummary>\n\n我们强烈建议使用 `Gurobi` 作为后端优化器。或者，您也可以使用 [`NLOPT`](https:\u002F\u002Fnlopt.readthedocs.io\u002Fen\u002Flatest\u002F)，只需在 [CMakeLists.txt](https:\u002F\u002Fgithub.com\u002Fmit-acl\u002Fmader\u002Fblob\u002Fmaster\u002Fmader\u002FCMakeLists.txt) 中将 `USE_GUROBI` 设置为 `OFF`，然后在运行 `bash src\u002Fmader\u002Finstall_and_compile.sh` 之前先运行 `bash src\u002Fmader\u002Finstall_nlopt.sh`。\n\n\u003C\u002Fdetails>\n\n---------\n\n> **发布批准**：该代码已于 2020 年 12 月获得波音公司的发布批准。","# MADER 快速上手指南\n\nMADER 是一个专为多智能体及动态环境设计的轨迹规划器，已发表于 IEEE T-RO。本指南将帮助中国开发者快速在本地或 Docker 环境中部署并运行该工具。\n\n## 1. 环境准备\n\n### 系统要求\n- **操作系统**: Ubuntu (推荐 18.04 或 20.04)\n- **ROS 版本**: 需预先安装 ROS (Melodic 或 Noetic)，本指南假设 ROS 环境已配置完毕。\n- **硬件建议**: 多智能体仿真对 CPU 核心数敏感，核心数越多性能越好。\n\n### 前置依赖\n- **优化求解器 (必选)**: [Gurobi Optimizer](https:\u002F\u002Fwww.gurobi.com\u002F)\n  - 请前往官网下载并安装对应版本。\n  - 安装完成后，在终端输入 `gurobi.sh` 测试是否安装成功。\n  - *注意*: 若使用 Docker，必须从 Gurobi Web License Manager 获取 `gurobi.lic` 许可证文件。\n- **可选替代方案**: 若无法使用 Gurobi，可配置为使用 `NLOPT` (需在编译前修改 CMake 配置)。\n\n## 2. 安装步骤\n\n您可以选择**非 Docker 原生安装**或**Docker 安装**。\n\n### 方案 A：非 Docker 原生安装 (推荐熟悉 ROS 的用户)\n\n执行以下命令创建工作空间、克隆代码并自动安装依赖（包括 CGAL v4.12.4, GLPK 等）及编译项目：\n\n```bash\ncd ~\u002F && mkdir ws && cd ws && mkdir src && cd src\ngit clone https:\u002F\u002Fgithub.com\u002Fmit-acl\u002Fmader.git\ncd ..\nbash src\u002Fmader\u002Finstall_and_compile.sh      \n```\n\n> **提示**: 该脚本会自动处理大部分依赖安装，请确保网络连接正常。如遇国内网络问题，可考虑配置 Git 代理或使用镜像源加速 `apt` 和 `pip`。\n\n### 方案 B：Docker 安装 (推荐追求环境隔离的用户)\n\n1. **安装 Docker** 并配置免 sudo 权限（参考 Docker 官方文档）。\n2. **准备许可证**: 将您的 `gurobi.lic` 文件放入 `mader\u002Fdocker` 文件夹中。\n3. **构建并运行容器**:\n\n```bash\ncd ~\u002F && mkdir ws && cd ws && mkdir src && cd src\ngit clone https:\u002F\u002Fgithub.com\u002Fmit-acl\u002Fmader.git\ncd .\u002Fmader\u002Fmader\u002Fdocker\ndocker build -t mader .\ndocker run --volume=$PWD\u002Fgurobi.lic:\u002Fopt\u002Fgurobi\u002Fgurobi.lic:ro -it mader\n```\n\n## 3. 基本使用\n\n安装完成后，即可启动仿真测试。\n\n### 单智能体仿真 (Single-Agent)\n\n启动.launch 文件：\n```bash\nroslaunch mader single_agent_simulation.launch\n```\n*(若使用 Docker 且无需图形界面，可添加参数 `rviz:=false`)*\n\n**操作方法**:\n- **图形界面**: 在 RVIZ 顶部栏点击 `2D Nav Goal`，然后在地图中点击任意位置作为无人机目标点。\n- **命令行 (适用于 Docker)**:\n  在新终端进入容器 (`docker exec -it [容器 ID] bash`) 后运行：\n  ```bash\n  rostopic pub \u002FSQ01s\u002Fterm_goal geometry_msgs\u002FPoseStamped '{header: {stamp: now, frame_id: \"world\"}, pose: {position: {x: 10, y: 0, z: 1}, orientation: {w: 1.0}}}'\n  ```\n\n### 多智能体仿真 (Multi-Agent)\n\n需打开**四个终端**分别运行以下命令以启动动态森林环境下的多机协同：\n\n```bash\n# 终端 1: 启动主程序与环境\nroslaunch mader mader_general.launch type_of_environment:=\"dynamic_forest\"\n\n# 终端 2: 启动无人机节点\nroslaunch mader many_drones.launch action:=start\n\n# 终端 3: 激活 MADER 规划器\nroslaunch mader many_drones.launch action:=mader\n\n# 终端 4: 发送目标指令\nroslaunch mader many_drones.launch action:=send_goal\n```\n\n> **注**: 如需修改无人机半径等参数，请编辑 `mader.yaml` 文件。\n\n### 章鱼搜索演示 (Octopus Search)\n\n测试带有动态障碍物的搜索功能：\n```bash\nroslaunch mader octopus_search.launch\n```","某物流仓储团队正在部署一群自主移动机器人（AMR），需要在狭窄且人流密集的通道中实现高效、无碰撞的协同搬运作业。\n\n### 没有 mader 时\n- **动态避障能力弱**：传统规划器仅能处理静态地图，当工作人员或其他机器人突然横穿路径时，车辆往往反应滞后，导致紧急急停甚至轻微碰撞。\n- **多机协作效率低**：在多机器人交汇的路口，缺乏统一的轨迹协调机制，机器人容易互相“锁死”或陷入死锁等待，严重拖慢整体吞吐率。\n- **轨迹平滑度差**：生成的路径常包含生硬的折线或突变的速度指令，导致货物晃动剧烈，不仅增加机械磨损，还影响精密仪器的运输安全。\n- **环境适应性不足**：一旦环境布局微调或动态障碍物增多，就需要人工重新调整参数或干预路线，运维成本极高。\n\n### 使用 mader 后\n- **实时动态重规划**：mader 能在毫秒级时间内感知并预测动态障碍物轨迹，自动计算出平滑的避让曲线，确保机器人在复杂人流中流畅穿行。\n- **智能多机协同**：内置的多智能体协商机制让机器人在路口自动通过速度调节或路径微调实现“无感交错”，彻底消除了死锁现象，通行效率提升显著。\n- **运动学平滑优化**：基于优化的轨迹生成算法保证了速度和加速度的连续性，搬运过程平稳如丝，完美适配高价值货物的运输需求。\n- **自适应动态环境**：无需人工频繁干预，mader 即可适应不断变化的仓库环境，大幅降低了系统部署后的维护门槛和运营成本。\n\nmader 通过将复杂的多智能体动态博弈转化为高效的数学优化问题，让机器人群在混乱环境中拥有了像训练有素的车队一样的协同智慧。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmit-acl_mader_cfcd7b13.gif","mit-acl","MIT Aerospace Controls Laboratory","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fmit-acl_3da1f771.png","see more code at https:\u002F\u002Fgitlab.com\u002Fmit-acl",null,"http:\u002F\u002Facl.mit.edu","https:\u002F\u002Fgithub.com\u002Fmit-acl",[23,27,31,35,39,43,47,51],{"name":24,"color":25,"percentage":26},"C++","#f34b7d",64.5,{"name":28,"color":29,"percentage":30},"Mathematica","#dd1100",31.5,{"name":32,"color":33,"percentage":34},"Python","#3572A5",1.9,{"name":36,"color":37,"percentage":38},"MATLAB","#e16737",1,{"name":40,"color":41,"percentage":42},"CMake","#DA3434",0.5,{"name":44,"color":45,"percentage":46},"AMPL","#E6EFBB",0.4,{"name":48,"color":49,"percentage":50},"Dockerfile","#384d54",0.1,{"name":52,"color":53,"percentage":50},"Shell","#89e051",603,92,"2026-04-02T16:21:12","BSD-3-Clause",4,"Linux","未说明","未说明（注：多智能体场景下性能随 CPU 核心数增加而提升）",{"notes":63,"python":64,"dependencies":65},"1. 必须安装 ROS 系统，脚本假设机器已预装 ROS。\n2. 强烈推荐使用 Gurobi 作为后端优化器，需单独安装并配置许可证（gurobi.lic）；若使用 Docker，必须通过 Web License Manager 获取许可证文件。\n3. 若不安装 Gurobi，可修改 CMakeLists.txt 启用 NLOPT 作为替代方案。\n4. 提供 Docker 部署方案以简化环境配置。\n5. 多智能体仿真性能高度依赖 CPU 核心数量。","未说明（依赖 ROS 环境，通常为 Python 2.7 或 3.x，具体取决于 ROS 版本）",[66,67,68,69,70,71],"ROS (Robot Operating System)","Gurobi Optimizer (推荐后端)","CGAL v4.12.4","GLPK","NLOPT (可选替代 Gurobi)","DecompROS (第三方 C++ 类库)",[73,74],"开发框架","Agent",[76,77,78,79,80,81,6,82,83],"optimization","path-planning","trajectory-optimization","multi-agent","obstacle-avoidance","minvo","planner","ros",2,"ready","2026-03-27T02:49:30.150509","2026-04-06T06:45:33.684958",[89,94,99,104,109,114,119],{"id":90,"question_zh":91,"answer_zh":92,"source_url":93},15846,"为什么 Octopus Search 生成的轨迹没有到达最终终点？","Octopus Search 会在半径为 Ra 的球体内尝试寻找轨迹，不会在该球体外创建控制点。它生成的轨迹只需接近目标点即可，不必完全重合。该轨迹将作为优化的初始猜测，在随后的优化步骤中（参考论文第 V-D 节），会最小化轨迹终点与目标点之间的距离。如果需要轨迹更接近终点，可以尝试修改参数 params.Ra。","https:\u002F\u002Fgithub.com\u002Fmit-acl\u002Fmader\u002Fissues\u002F17",{"id":95,"question_zh":96,"answer_zh":97,"source_url":98},15847,"运行时报错 'This should never happen: All complete paths are guaranteed to be feasible' 如何解决？","该错误已在 master 分支中修复。请确保拉取最新的代码版本。如果使用的是 Gurobi 求解器但仍遇到节点崩溃（exit code -6），请检查 Gurobi 许可证文件是否正确配置，并确认 Docker 环境或系统环境变量已正确加载 Gurobi 设置。","https:\u002F\u002Fgithub.com\u002Fmit-acl\u002Fmader\u002Fissues\u002F9",{"id":100,"question_zh":101,"answer_zh":102,"source_url":103},15848,"运行 single_agent_simulation.launch 时进程立即崩溃（exit code -6）怎么办？","这通常是因为 Gurobi 未正确安装或未激活。请在终端运行 `gurobi.sh` 脚本来检查 Gurobi 是否正常工作。确保已正确设置 Gurobi 许可证文件，并且在运行 ROS 节点前已 source 了 Gurobi 的环境变量。","https:\u002F\u002Fgithub.com\u002Fmit-acl\u002Fmader\u002Fissues\u002F21",{"id":105,"question_zh":106,"answer_zh":107,"source_url":108},15849,"如何使用 NLOPT 优化器运行 MADER？推荐什么版本？","虽然可以使用 NLOPT，但维护者指出其性能远不如 Gurobi。如果必须使用，请参照 README 文件末尾的 \"Note\" 部分说明进行配置。关于系统版本，建议在标准的 Ubuntu 和 ROS 环境下测试，但官方主要支持和优化的求解器是 Gurobi。","https:\u002F\u002Fgithub.com\u002Fmit-acl\u002Fmader\u002Fissues\u002F19",{"id":110,"question_zh":111,"answer_zh":112,"source_url":113},15850,"代码中的基变换矩阵（如 BSPLINE 到 MINVO\u002FBEZIER）是如何计算得出的？","这些变换矩阵是基于 MINVO 论文的公式 5 推导出来的。你可以使用 MINVO 仓库中的 MATLAB 脚本自行计算。例如，要获取代码中的特定变换矩阵，可运行以下 MATLAB 代码：`computeMatrixForClampedUniformBSpline(3,0,[0,1])*inv(getA_MV(3,[0,1]))`。相关函数包括 getA_MV.m, getA_Be.m, getA_BS.m 等。","https:\u002F\u002Fgithub.com\u002Fmit-acl\u002Fmader\u002Fissues\u002F18",{"id":115,"question_zh":116,"answer_zh":117,"source_url":118},15851,"在新版 GUROBI 或 ROS Noetic 上运行时遇到兼容性问题或报错如何处理？","首先请确认你使用的是否为仓库的最新 commit 版本（如 5e9fdf1...）。其次，检查你使用的 Gurobi 具体版本号。如果是构建过程中缺少 `snapstack_msgs` 包，请确保在安装脚本中正确执行了子模块的初始化与更新步骤，或者手动克隆并编译该依赖包。","https:\u002F\u002Fgithub.com\u002Fmit-acl\u002Fmader\u002Fissues\u002F14",{"id":120,"question_zh":121,"answer_zh":122,"source_url":123},15852,"Gurobi 版本的实现为何没有完全按照论文中的 QCQP 问题 formulation？","Gurobi 版本将平面参数的初始猜测作为常数处理，主要是出于效率考虑。虽然 Gurobi 理论上支持求解 QCQP 问题，但在实际应用中，固定某些参数可以显著提高求解速度和稳定性，从而满足实时规划的需求。","https:\u002F\u002Fgithub.com\u002Fmit-acl\u002Fmader\u002Fissues\u002F4",[],[126,136,145,153,161,174],{"id":127,"name":128,"github_repo":129,"description_zh":130,"stars":131,"difficulty_score":132,"last_commit_at":133,"category_tags":134,"status":85},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,3,"2026-04-05T11:01:52",[73,135,74],"图像",{"id":137,"name":138,"github_repo":139,"description_zh":140,"stars":141,"difficulty_score":84,"last_commit_at":142,"category_tags":143,"status":85},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",138956,"2026-04-05T11:33:21",[73,74,144],"语言模型",{"id":146,"name":147,"github_repo":148,"description_zh":149,"stars":150,"difficulty_score":84,"last_commit_at":151,"category_tags":152,"status":85},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[73,135,74],{"id":154,"name":155,"github_repo":156,"description_zh":157,"stars":158,"difficulty_score":84,"last_commit_at":159,"category_tags":160,"status":85},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[73,144],{"id":162,"name":163,"github_repo":164,"description_zh":165,"stars":166,"difficulty_score":84,"last_commit_at":167,"category_tags":168,"status":85},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[135,169,170,171,74,172,144,73,173],"数据工具","视频","插件","其他","音频",{"id":175,"name":176,"github_repo":177,"description_zh":178,"stars":179,"difficulty_score":132,"last_commit_at":180,"category_tags":181,"status":85},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[74,135,73,144,172]]