[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-Zhefan-Xu--NavRL":3,"tool-Zhefan-Xu--NavRL":65},[4,23,32,40,49,57],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":22},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",85267,2,"2026-04-18T11:00:28",[13,14,15,16,17,18,19,20,21],"图像","数据工具","视频","插件","Agent","其他","语言模型","开发框架","音频","ready",{"id":24,"name":25,"github_repo":26,"description_zh":27,"stars":28,"difficulty_score":29,"last_commit_at":30,"category_tags":31,"status":22},5784,"funNLP","fighting41love\u002FfunNLP","funNLP 是一个专为中文自然语言处理（NLP）打造的超级资源库，被誉为\"NLP 民工的乐园”。它并非单一的软件工具，而是一个汇集了海量开源项目、数据集、预训练模型和实用代码的综合性平台。\n\n面对中文 NLP 领域资源分散、入门门槛高以及特定场景数据匮乏的痛点，funNLP 提供了“一站式”解决方案。这里不仅涵盖了分词、命名实体识别、情感分析、文本摘要等基础任务的标准工具，还独特地收录了丰富的垂直领域资源，如法律、医疗、金融行业的专用词库与数据集，甚至包含古诗词生成、歌词创作等趣味应用。其核心亮点在于极高的全面性与实用性，从基础的字典词典到前沿的 BERT、GPT-2 模型代码，再到高质量的标注数据和竞赛方案，应有尽有。\n\n无论是刚刚踏入 NLP 领域的学生、需要快速验证想法的算法工程师，还是从事人工智能研究的学者，都能在这里找到急需的“武器弹药”。对于开发者而言，它能大幅减少寻找数据和复现模型的时间；对于研究者，它提供了丰富的基准测试资源和前沿技术参考。funNLP 以开放共享的精神，极大地降低了中文自然语言处理的开发与研究成本，是中文 AI 社区不可或缺的宝藏仓库。",79857,1,"2026-04-08T20:11:31",[19,14,18],{"id":33,"name":34,"github_repo":35,"description_zh":36,"stars":37,"difficulty_score":29,"last_commit_at":38,"category_tags":39,"status":22},5773,"cs-video-courses","Developer-Y\u002Fcs-video-courses","cs-video-courses 是一个精心整理的计算机科学视频课程清单，旨在为自学者提供系统化的学习路径。它汇集了全球知名高校（如加州大学伯克利分校、新南威尔士大学等）的完整课程录像，涵盖从编程基础、数据结构与算法，到操作系统、分布式系统、数据库等核心领域，并深入延伸至人工智能、机器学习、量子计算及区块链等前沿方向。\n\n面对网络上零散且质量参差不齐的教学资源，cs-video-courses 解决了学习者难以找到成体系、高难度大学级别课程的痛点。该项目严格筛选内容，仅收录真正的大学层级课程，排除了碎片化的简短教程或商业广告，确保用户能接触到严谨的学术内容。\n\n这份清单特别适合希望夯实计算机基础的开发者、需要补充特定领域知识的研究人员，以及渴望像在校生一样系统学习计算机科学的自学者。其独特的技术亮点在于分类极其详尽，不仅包含传统的软件工程与网络安全，还细分了生成式 AI、大语言模型、计算生物学等新兴学科，并直接链接至官方视频播放列表，让用户能一站式获取高质量的教育资源，免费享受世界顶尖大学的课堂体验。",79792,"2026-04-08T22:03:59",[18,13,14,20],{"id":41,"name":42,"github_repo":43,"description_zh":44,"stars":45,"difficulty_score":46,"last_commit_at":47,"category_tags":48,"status":22},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,3,"2026-04-04T04:44:48",[17,13,20,19,18],{"id":50,"name":51,"github_repo":52,"description_zh":53,"stars":54,"difficulty_score":46,"last_commit_at":55,"category_tags":56,"status":22},519,"PaddleOCR","PaddlePaddle\u002FPaddleOCR","PaddleOCR 是一款基于百度飞桨框架开发的高性能开源光学字符识别工具包。它的核心能力是将图片、PDF 等文档中的文字提取出来，转换成计算机可读取的结构化数据，让机器真正“看懂”图文内容。\n\n面对海量纸质或电子文档，PaddleOCR 解决了人工录入效率低、数字化成本高的问题。尤其在人工智能领域，它扮演着连接图像与大型语言模型（LLM）的桥梁角色，能将视觉信息直接转化为文本输入，助力智能问答、文档分析等应用场景落地。\n\nPaddleOCR 适合开发者、算法研究人员以及有文档自动化需求的普通用户。其技术优势十分明显：不仅支持全球 100 多种语言的识别，还能在 Windows、Linux、macOS 等多个系统上运行，并灵活适配 CPU、GPU、NPU 等各类硬件。作为一个轻量级且社区活跃的开源项目，PaddleOCR 既能满足快速集成的需求，也能支撑前沿的视觉语言研究，是处理文字识别任务的理想选择。",75940,"2026-04-19T21:42:30",[19,13,20,18],{"id":58,"name":59,"github_repo":60,"description_zh":61,"stars":62,"difficulty_score":29,"last_commit_at":63,"category_tags":64,"status":22},3215,"awesome-machine-learning","josephmisiti\u002Fawesome-machine-learning","awesome-machine-learning 是一份精心整理的机器学习资源清单，汇集了全球优秀的机器学习框架、库和软件工具。面对机器学习领域技术迭代快、资源分散且难以甄选的痛点，这份清单按编程语言（如 Python、C++、Go 等）和应用场景（如计算机视觉、自然语言处理、深度学习等）进行了系统化分类，帮助使用者快速定位高质量项目。\n\n它特别适合开发者、数据科学家及研究人员使用。无论是初学者寻找入门库，还是资深工程师对比不同语言的技术选型，都能从中获得极具价值的参考。此外，清单还延伸提供了免费书籍、在线课程、行业会议、技术博客及线下聚会等丰富资源，构建了从学习到实践的全链路支持体系。\n\n其独特亮点在于严格的维护标准：明确标记已停止维护或长期未更新的项目，确保推荐内容的时效性与可靠性。作为机器学习领域的“导航图”，awesome-machine-learning 以开源协作的方式持续更新，旨在降低技术探索门槛，让每一位从业者都能高效地站在巨人的肩膀上创新。",72149,"2026-04-03T21:50:24",[20,18],{"id":66,"github_repo":67,"name":68,"description_en":69,"description_zh":70,"ai_summary_zh":70,"readme_en":71,"readme_zh":72,"quickstart_zh":73,"use_case_zh":74,"hero_image_url":75,"owner_login":76,"owner_name":77,"owner_avatar_url":78,"owner_bio":79,"owner_company":80,"owner_location":81,"owner_email":82,"owner_twitter":83,"owner_website":84,"owner_url":85,"languages":86,"stars":103,"forks":104,"last_commit_at":105,"license":106,"difficulty_score":107,"env_os":108,"env_gpu":109,"env_ram":110,"env_deps":111,"category_tags":121,"github_topics":122,"view_count":10,"oss_zip_url":83,"oss_zip_packed_at":83,"status":22,"created_at":132,"updated_at":133,"faqs":134,"releases":169},10050,"Zhefan-Xu\u002FNavRL","NavRL","[IEEE RA-L'25] NavRL: Learning Safe Flight in Dynamic Environments (NVIDIA Isaac\u002FPython\u002FROS1\u002FROS2)","NavRL 是一个基于强化学习的开源框架，旨在帮助机器人在动态变化的环境中实现安全、高效的自主导航。虽然其核心研究聚焦于无人机（UAV）的飞行控制，但该框架具有良好的通用性，同样适用于任何采用速度控制系统的移动机器人。它主要解决了传统导航算法在面对突发障碍物或复杂动态场景时反应不够灵活、安全性不足的痛点，让机器人能够像人类一样“学会”如何避障并抵达目标。\n\n该项目由 NVIDIA Isaac Sim 仿真平台驱动，支持 ROS1 和 ROS2 系统，并提供了预训练模型与简易的 Python 演示脚本，用户仅需几分钟即可体验单机导航、随机目标探索及多机协同等精彩功能。对于希望复现前沿学术成果的研究人员，或是需要快速验证导航算法的开发者而言，NavRL 提供了从仿真训练到真机部署的完整链路。其独特的技术亮点在于结合了高保真物理仿真与深度强化学习，不仅降低了实机试错成本，还显著提升了机器人在未知环境中的适应能力。无论是高校科研团队还是机器人工程开发者，都能从中获得宝贵的技术参考与实践工具。","# NavRL: Learning Safe Flight in Dynamic Environments\n[![Python](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-3.10-4B8BBE.svg)](https:\u002F\u002Fdocs.python.org\u002F3\u002Fwhatsnew\u002F3.10.html)\n[![ROS1](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FROS1-Noetic-green.svg)](https:\u002F\u002Fwiki.ros.org\u002Fnoetic)\n[![ROS2](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FROS2-Humble-F39C12.svg)](https:\u002F\u002Fdocs.ros.org\u002Fen\u002Fhumble\u002Findex.html)\n[![IsaacSim](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FIsaacSim-NVIDIA-C0392B.svg)](https:\u002F\u002Fdocs.omniverse.nvidia.com\u002Fisaacsim\u002Flatest\u002Foverview.html)\n[![Linux platform](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fplatform-Ubuntu-27AE60.svg)](https:\u002F\u002Freleases.ubuntu.com\u002F22.04\u002F)\n\n\n\nWelcome to the NavRL repository! This repository provides the implementation of the [NavRL](https:\u002F\u002Fieeexplore.ieee.org\u002Fdocument\u002F10904341) framework, designed to enable robots to safely navigate dynamic environments using Reinforcement Learning. While the original paper focuses on UAV navigation, the NavRL can be extended to any robot that adopts a velocity-based control system.\n\n\u003Ctable>\n  \u003Ctr>\n    \u003Ctd>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FZhefan-Xu_NavRL_readme_83ea2e0daded.gif\" style=\"width: 100%;\">\u003C\u002Ftd>\n    \u003Ctd>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FZhefan-Xu_NavRL_readme_7b2e80a71cab.gif\" style=\"width: 100%;\">\u003C\u002Ftd>\n    \u003Ctd>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FZhefan-Xu_NavRL_readme_a6799112754b.gif\" style=\"width: 100%;\">\u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\nFor additional details, please refer to the related paper available here:\n\nZhefan Xu, Xinming Han, Haoyu Shen, Hanyu Jin, and Kenji Shimada, \"NavRL: Learning Safe Flight in Dynamic Environments”, *IEEE Robotics and Automation Letters (RA-L)*, 2025. [\\[IEEE Xplore\\]](https:\u002F\u002Fieeexplore.ieee.org\u002Fdocument\u002F10904341) [\\[preprint\\]](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2409.15634) [\\[YouTube\\]](https:\u002F\u002Fyoutu.be\u002FEbeJW8-YlvI) [\\[BiliBili\\]](https:\u002F\u002Fwww.bilibili.com\u002Fvideo\u002FBV1gsA9eTErz\u002F?share_source=copy_web&vd_source=1333db331406abb1b5d4cece1e253427)\n\n\n## News\n* **2025-04-06:** We release easy-to-run Python scripts that allows users to quickly run demos.\n* **2025-02-23:** The GitHub code, video demos, and relavant papers for our NavRL framework are released. The authors will actively maintain and update this repo!\n\n## Table of Contents\n - [Training in NVIDIA Isaac Sim](#I-Training-in-NVIDIA-Isaac-Sim)\n - [Deployment Virtual Environment](#II-Deployment-Virtual-Environment)\n - [NavRL ROS1 Deployment](#III-NavRL-ROS1-Deployment)\n - [NavRL ROS2 Deployment](#IV-NavRL-ROS2-Deployment)\n - [Citation and Reference](#V-Citation-and-Reference)\n - [Acknowledgement](#VI-Acknowledgement)\n\n## NavRL Quick Demos in 3 Minutes\nWe provide a pretrained model and easy-to-run Python scripts for quick demos of the NavRL framework.\n\n\u003Ctable>\n  \u003Ctr>\n    \u003Ctd>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FZhefan-Xu_NavRL_readme_c98179a2e123.gif\" style=\"width: 100%;\">\u003C\u002Ftd>\n    \u003Ctd>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FZhefan-Xu_NavRL_readme_198f7252ca91.gif\" style=\"width: 100%;\">\u003C\u002Ftd>\n    \u003Ctd>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FZhefan-Xu_NavRL_readme_bbf2566b07f5.gif\" style=\"width: 100%;\">\u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\nTo get started, please follow the steps in [Deployment Virtual Environment](#II-Deployment-Virtual-Environment) to set up the Conda environment. Once the setup is complete, you can run the following three demos with the following commands:\n```\nconda activate NavRL\ncd NavRL\u002Fquick-demos\n\n# DEMO I: Navigating to a predefined goal point\npython simple-navigation.py\n\n# DEMO II: Navigating to dynamically\u002Frandomly assigned goal points\npython random-navigation.py\n\n# DEMO III: Multi-robot navigation\npython multi-robot-navigation.py\n```\n\n## I. Training in NVIDIA Isaac Sim\nThis section provides the steps for training your own RL agent with the NavRL framework in Isaac Sim. **If you are not interested in training the agent yourself, feel free to skip this section and jump straight to the deployment section.**\n\n\n### Isaac Sim Installation\nThis project was developed using **Isaac Sim version 2023.1.0-hotfix.1**, released in November 2023. **Please make sure you download and use this exact version, as using a different version may lead to errors due to version incompatibility.** Also, ensure that you have [conda](https:\u002F\u002Fdocs.anaconda.com\u002Fminiconda\u002F) installed.\n\nIf you have already downloaded Isaac Sim version 2023.1.0-hotfix.1, you can skip the following steps. Otherwise, please follow the instructions below to download the legacy version of Isaac Sim, as the official installation does not support legacy version downloads. \n\nTo download Isaac Sim version 2023.1.0-hotfix.1:\n\na. First, follow the steps on [this link](https:\u002F\u002Fdocs.isaacsim.omniverse.nvidia.com\u002Flatest\u002Finstallation\u002Finstall_container.html) to complete the Docker Container Setup. \n\nb. Then, download the Isaac Sim to your docker container:\n```\ndocker pull nvcr.io\u002Fnvidia\u002Fisaac-sim:2023.1.0-hotfix.1\n\ndocker run --name isaac-sim --entrypoint bash -it --runtime=nvidia --gpus all -e \"ACCEPT_EULA=Y\" --rm --network=host \\\n    -e \"PRIVACY_CONSENT=Y\" \\\n    -v ~\u002Fdocker\u002Fisaac-sim\u002Fcache\u002Fkit:\u002Fisaac-sim\u002Fkit\u002Fcache:rw \\\n    -v ~\u002Fdocker\u002Fisaac-sim\u002Fcache\u002Fov:\u002Froot\u002F.cache\u002Fov:rw \\\n    -v ~\u002Fdocker\u002Fisaac-sim\u002Fcache\u002Fpip:\u002Froot\u002F.cache\u002Fpip:rw \\\n    -v ~\u002Fdocker\u002Fisaac-sim\u002Fcache\u002Fglcache:\u002Froot\u002F.cache\u002Fnvidia\u002FGLCache:rw \\\n    -v ~\u002Fdocker\u002Fisaac-sim\u002Fcache\u002Fcomputecache:\u002Froot\u002F.nv\u002FComputeCache:rw \\\n    -v ~\u002Fdocker\u002Fisaac-sim\u002Flogs:\u002Froot\u002F.nvidia-omniverse\u002Flogs:rw \\\n    -v ~\u002Fdocker\u002Fisaac-sim\u002Fdata:\u002Froot\u002F.local\u002Fshare\u002Fov\u002Fdata:rw \\\n    -v ~\u002Fdocker\u002Fisaac-sim\u002Fdocuments:\u002Froot\u002FDocuments:rw \\\n    nvcr.io\u002Fnvidia\u002Fisaac-sim:2023.1.0-hotfix.1\n```\nc. Move the downloaded Isaac Sim from the docker container to your local machine:\n```\nbash docker ps # check your container ID in another terminal\n\n# Replace \u003Cid_container> with the output from the previous command\ndocker cp \u003Cid_container>:isaac-sim\u002F. \u002Fpath\u002Fto\u002Flocal\u002Ffolder # absolute path\n```\n\n\nIsaac Sim version 2023.1.0-hotfix.1 is now installed on your local machine.\n\n### NavRL Training Setup\nTo set up the NavRL framework, clone the repository and follow these steps (this process may take several minutes):\n```\n# Set the ISAACSIM_PATH environment variable\necho 'export ISAACSIM_PATH=\"path\u002Fto\u002Fisaac_sim-2023.1.0-hotfix.1\"' >> ~\u002F.bashrc\n\ncd NavRL\u002Fisaac-training\nbash setup.sh\n```\nAfter the setup completes, you should have created a virtual environment named ```NavRL```.\n\n### Verify Installation and Run a Training Example\nUse the default parameter to run a training example with 2 robots to verify installation.\n\n```\n# Activate NavRL virtual environment\nconda activate NavRL\n\n# Run a training example with default settings\npython training\u002Fscripts\u002Ftrain.py\n```\nIf the repo is installed correctly, you should be able to see the Isaac Sim window as shown below: \n\n![isaac-training-window](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FZhefan-Xu_NavRL_readme_0cf68660e9a8.png)\n\n\n### Train your own RL agent\nThe training environment settings and hyerparameters can be found in ```NavRL\u002Fisaac-training\u002Ftraining\u002Fcfg```.\n\nThe following example demonstrates training with 1024 robots, 350 static obstacles, and 80 dynamic obstacles (an RTX 4090 is required). We recommend using [Wandb](https:\u002F\u002Fwandb.ai\u002Fsite\u002F) to monitor your training and evaluation statistics.\n```\npython training\u002Fscripts\u002Ftrain.py headless=True env.num_envs=1024 env.num_obstacles=350 \\\nenv_dyn.num_obstacles=80 wandb.mode=online\n```\nAfter training for a sufficient amount of time, you should observe the robots learning to avoid collisions:\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F2294bd94-69b3-4ce8-8e91-0118cfae9bcd\n\n\n## II. Deployment Virtual Environment\nThis section provides the minimum conda environment setup required to deploy ```NavRL``` (including running on a real robot). If you have already created the  ```NavRL``` conda environment during the [Isaac training step](#I-Training-in-NVIDIA-Isaac-Sim), you can skip this section. To create the conda environment, run the following commands:\n```\ncd NavRL\u002Fisaac-training\nbash setup_deployment.sh\n```\nOnce the setup is complete, a conda environment named ```NavRL``` should be created. You can verify the installation by activating the environment:\n```\nconda activate NavRL\n```\n\n\n## III. NavRL ROS1 Deployment\nThis section demonstrates an example of deploying NavRL with ROS1 and Gazebo using a quadcopter robot. Ensure that your system meets the following requirements:\n\n- Ubuntu 20.04 LTS\n- ROS1 Noetic\n\nFirst, install dependencies and copy the ```ros1``` folder from this repository into your catkin workspace.\n```\nsudo apt-get install ros-noetic-mavros*\n\ncp -r ros1 \u002Fpath\u002Fto\u002Fcatkin_ws\u002Fsrc\ncatkin_make\n```\nThen, set the environment vairable for Gazebo models.\n```\necho 'source \u002Fpath\u002Fto\u002Fros1\u002Fuav_simulator\u002FgazeboSetup.bash' >> ~\u002F.bashrc\n```\nNote that the environment variable should be set within the catkin_ws. For example, the correct ```~.\u002F.bashrc``` script should be  ```source ~\u002Fcatkin_ws\u002Fsrc\u002Fros1\u002Fuav_simulator\u002FgazeboSetup.bash``` instead of ```source path\u002Fto\u002FNavRL\u002Fros1\u002Fuav_simulator\u002FgazeboSetup.bash```).\n\nFinally, start the simulation and deploy NavRL navigation.\n```\n# Launch the gazebo simulator\nroslaunch uav_simulator start.launch\n\n# Start the perception and safety module\nroslaunch navigation_runner safety_and_perception_sim.launch\n\n# Run the navigation node\nconda activate NavRL\nrosrun navigation_runner navigation_node.py\n```\nA Gazebo window will display the environment while an RViz window presents the data. Use RViz's ```2D Nav Goal``` tool to set the navigation target, as shown in the video below (note: the default environment and settings might be different from the video):\n\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fb7cc7e2e-c01d-4e44-87e3-97271a3aaa0f\n\n\nTo change the environment settings, review the launch file at ```ros1\u002Fuav_simulator\u002Flaunch\u002Fstart.launch```. The parameters for each module are located in ```ros1\u002Fnavigation_runner\u002Fcfg\u002F*.yaml``` configuration files.\n\n\n## IV. NavRL ROS2 Deployment\nThis section demonstrates an example of deploying NavRL with ROS2 and Isaac Sim using a Unitree Go2 quadruped robot. Ensure that your system meets the following requirements:\n- Ubuntu 22.04 LTS\n- ROS2 Humble\n\nBefore get started, please install the simulator based on [this link](https:\u002F\u002Fgithub.com\u002FZhefan-Xu\u002Fisaac-go2-ros2).\n\nFirst, copy the ```ros2``` folder from this repository into your ros2 workspace.\n```\ncp -r ros2 \u002Fpath\u002Fto\u002Fros2_ws\u002Fsrc\ncolcon build --symlink-install\n```\nThen, start the simulation and deploy NavRL navigation.\n```\n# Launch Isaac Go2 simulator\nconda activate isaaclab\ncd \u002Fpath\u002Fto\u002Fisaac-go2-ros2\npython isaac-go2-ros2.py\n\n# Start the perception and safety module\nros2 launch navigation_runner perception.launch.py\nros2 launch navigation_runner safe_action.launch.py # optional\n\n# Turn on Rviz2 visualization\nros2 launch navigation_runner rviz.launch.py\n\n# Run the navigation launch\nconda activate NavRL\nros2 launch navigation_runner navigation.launch.py\n```\nAn Isaac Sim window will display the environment while an RViz window presents the data. Use RViz's ```2D Nav Goal``` tool to set the navigation target. The navigation example is shown in the following video:\n\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F4787f503-d8a3-4d7b-9d17-7057b2cff1eb\n\nNote that if you would like to deploy in a real robot with ```ros2 foxy```, please switch to ```ros2-foxy``` branch.\n```\ngit checkout ros2-foxy\n```\n\n\n## V. Citation and Reference\nIf our work is useful to your research, please consider citing our paper.\n```\n@ARTICLE{NavRL,\n  author={Xu, Zhefan and Han, Xinming and Shen, Haoyu and Jin, Hanyu and Shimada, Kenji},\n  journal={IEEE Robotics and Automation Letters}, \n  title={NavRL: Learning Safe Flight in Dynamic Environments}, \n  year={2025},\n  volume={10},\n  number={4},\n  pages={3668-3675},\n  keywords={Navigation;Robots;Collision avoidance;Training;Safety;Vehicle dynamics;Heuristic algorithms;Detectors;Autonomous aerial vehicles;Learning systems;Aerial systems: Perception and autonomy;reinforcement learning;collision avoidance},\n  doi={10.1109\u002FLRA.2025.3546069}}\n```\n\n## VI. Acknowledgement\nThe authors would like to express their sincere gratitude to Professor Kenji Shimada for his great support and all CERLAB UAV team members who contribute to the development of this research.\n\nThe Isaac Sim training component of the NavRL framework is built upon [OmniDrones](https:\u002F\u002Fgithub.com\u002Fbtx0424\u002FOmniDrones).\n\n\n\n\n\n\n\n\n\n","# NavRL：在动态环境中学习安全飞行\n[![Python](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-3.10-4B8BBE.svg)](https:\u002F\u002Fdocs.python.org\u002F3\u002Fwhatsnew\u002F3.10.html)\n[![ROS1](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FROS1-Noetic-green.svg)](https:\u002F\u002Fwiki.ros.org\u002Fnoetic)\n[![ROS2](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FROS2-Humble-F39C12.svg)](https:\u002F\u002Fdocs.ros.org\u002Fen\u002Fhumble\u002Findex.html)\n[![IsaacSim](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FIsaacSim-NVIDIA-C0392B.svg)](https:\u002F\u002Fdocs.omniverse.nvidia.com\u002Fisaacsim\u002Flatest\u002Foverview.html)\n[![Linux平台](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fplatform-Ubuntu-27AE60.svg)](https:\u002F\u002Freleases.ubuntu.com\u002F22.04\u002F)\n\n\n\n欢迎来到NavRL仓库！本仓库提供了[NavRL](https:\u002F\u002Fieeexplore.ieee.org\u002Fdocument\u002F10904341)框架的实现，该框架旨在利用强化学习使机器人能够在动态环境中安全导航。尽管原始论文专注于无人机导航，但NavRL可以扩展到任何采用基于速度控制系统的机器人。\n\n\u003Ctable>\n  \u003Ctr>\n    \u003Ctd>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FZhefan-Xu_NavRL_readme_83ea2e0daded.gif\" style=\"width: 100%;\">\u003C\u002Ftd>\n    \u003Ctd>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FZhefan-Xu_NavRL_readme_7b2e80a71cab.gif\" style=\"width: 100%;\">\u003C\u002Ftd>\n    \u003Ctd>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FZhefan-Xu_NavRL_readme_a6799112754b.gif\" style=\"width: 100%;\">\u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\n有关更多详细信息，请参阅此处提供的相关论文：\n\nZhefan Xu, Xinming Han, Haoyu Shen, Hanyu Jin 和 Kenji Shimada，“NavRL：在动态环境中学习安全飞行”，*IEEE机器人与自动化快报（RA-L）*，2025年。[\\[IEEE Xplore\\]](https:\u002F\u002Fieeexplore.ieee.org\u002Fdocument\u002F10904341) [\\[预印本\\]](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2409.15634) [\\[YouTube\\]](https:\u002F\u002Fyoutu.be\u002FEbeJW8-YlvI) [\\[BiliBili\\]](https:\u002F\u002Fwww.bilibili.com\u002Fvideo\u002FBV1gsA9eTErz\u002F?share_source=copy_web&vd_source=1333db331406abb1b5d4cece1e253427)\n\n\n## 新闻\n* **2025年4月6日：** 我们发布了易于运行的Python脚本，允许用户快速运行演示。\n* **2025年2月23日：** 我们的NavRL框架的GitHub代码、视频演示和相关论文已发布。作者将积极维护和更新此仓库！\n\n## 目录\n - [在NVIDIA Isaac Sim中训练](#I-Training-in-NVIDIA-Isaac-Sim)\n - [部署虚拟环境](#II-Deployment-Virtual-Environment)\n - [NavRL ROS1部署](#III-NavRL-ROS1-Deployment)\n - [NavRL ROS2部署](#IV-NavRL-ROS2-Deployment)\n - [引用与参考](#V-Citation-and-Reference)\n - [致谢](#VI-Acknowledgement)\n\n## NavRL三分钟快速演示\n我们提供了一个预训练模型和易于运行的Python脚本，用于NavRL框架的快速演示。\n\n\u003Ctable>\n  \u003Ctr>\n    \u003Ctd>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FZhefan-Xu_NavRL_readme_c98179a2e123.gif\" style=\"width: 100%;\">\u003C\u002Ftd>\n    \u003Ctd>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FZhefan-Xu_NavRL_readme_198f7252ca91.gif\" style=\"width: 100%;\">\u003C\u002Ftd>\n    \u003Ctd>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FZhefan-Xu_NavRL_readme_bbf2566b07f5.gif\" style=\"width: 100%;\">\u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n要开始使用，请按照[部署虚拟环境](#II-Deployment-Virtual-Environment)中的步骤设置Conda环境。设置完成后，您可以使用以下命令运行三个演示：\n```\nconda activate NavRL\ncd NavRL\u002Fquick-demos\n\n# 演示一：导航至预定义的目标点\npython simple-navigation.py\n\n# 演示二：导航至动态\u002F随机分配的目标点\npython random-navigation.py\n\n# 演示三：多机器人导航\npython multi-robot-navigation.py\n```\n\n## I. 在NVIDIA Isaac Sim中训练\n本节提供了在Isaac Sim中使用NavRL框架训练您自己的强化学习智能体的步骤。**如果您不打算自己训练智能体，请跳过本节直接进入部署部分。**\n\n\n### Isaac Sim安装\n本项目是使用2023年11月发布的**Isaac Sim 2023.1.0-hotfix.1版本**开发的。**请务必下载并使用此确切版本，因为使用其他版本可能会因版本不兼容而出现错误。** 此外，请确保已安装[conda](https:\u002F\u002Fdocs.anaconda.com\u002Fminiconda\u002F)。\n\n如果您已经下载了Isaac Sim 2023.1.0-hotfix.1版本，可以跳过以下步骤。否则，请按照以下说明下载Isaac Sim的旧版，因为官方安装不支持旧版下载。\n\n要下载Isaac Sim 2023.1.0-hotfix.1版本：\n\na. 首先，按照[此链接](https:\u002F\u002Fdocs.isaacsim.omniverse.nvidia.com\u002Flatest\u002Finstallation\u002Finstall_container.html)上的步骤完成Docker容器的设置。\n\nb. 然后，将Isaac Sim下载到您的Docker容器中：\n```\ndocker pull nvcr.io\u002Fnvidia\u002Fisaac-sim:2023.1.0-hotfix.1\n\ndocker run --name isaac-sim --entrypoint bash -it --runtime=nvidia --gpus all -e \"ACCEPT_EULA=Y\" --rm --network=host \\\n    -e \"PRIVACY_CONSENT=Y\" \\\n    -v ~\u002Fdocker\u002Fisaac-sim\u002Fcache\u002Fkit:\u002Fisaac-sim\u002Fkit\u002Fcache:rw \\\n    -v ~\u002Fdocker\u002Fisaac-sim\u002Fcache\u002Fov:\u002Froot\u002F.cache\u002Fov:rw \\\n    -v ~\u002Fdocker\u002Fisaac-sim\u002Fcache\u002Fpip:\u002Froot\u002F.cache\u002Fpip:rw \\\n    -v ~\u002Fdocker\u002Fisaac-sim\u002Fcache\u002Fglcache:\u002Froot\u002F.cache\u002Fnvidia\u002FGLCache:rw \\\n    -v ~\u002Fdocker\u002Fisaac-sim\u002Fcache\u002Fcomputecache:\u002Froot\u002F.nv\u002FComputeCache:rw \\\n    -v ~\u002Fdocker\u002Fisaac-sim\u002Flogs:\u002Froot\u002F.nvidia-omniverse\u002Flogs:rw \\\n    -v ~\u002Fdocker\u002Fisaac-sim\u002Fdata:\u002Froot\u002F.local\u002Fshare\u002Fov\u002Fdata:rw \\\n    -v ~\u002Fdocker\u002Fisaac-sim\u002Fdocuments:\u002Froot\u002FDocuments:rw \\\n    nvcr.io\u002Fnvidia\u002Fisaac-sim:2023.1.0-hotfix.1\n```\nc. 将下载的Isaac Sim从Docker容器移动到您的本地机器上：\n```\nbash docker ps # 在另一个终端中查看您的容器ID\n\n# 将\u003Cid_container>替换为上一条命令的输出\ndocker cp \u003Cid_container>:isaac-sim\u002F. \u002Fpath\u002Fto\u002Flocal\u002Ffolder # 绝对路径\n```\n\n\n现在，Isaac Sim 2023.1.0-hotfix.1版本已安装在您的本地机器上。\n\n### NavRL训练设置\n要设置NavRL框架，请克隆仓库并按照以下步骤操作（此过程可能需要几分钟）：\n```\n# 设置ISAACSIM_PATH环境变量\necho 'export ISAACSIM_PATH=\"path\u002Fto\u002Fisaac_sim-2023.1.0-hotfix.1\"' >> ~\u002F.bashrc\n\ncd NavRL\u002Fisaac-training\nbash setup.sh\n```\n设置完成后，您应该已经创建了一个名为```NavRL```的虚拟环境。\n\n### 验证安装并运行一个训练示例\n使用默认参数运行一个包含2个机器人的训练示例，以验证安装是否正确。\n\n```\n# 激活NavRL虚拟环境\nconda activate NavRL\n\n# 使用默认设置运行一个训练示例\npython training\u002Fscripts\u002Ftrain.py\n```\n如果仓库安装正确，您应该能够看到如下所示的Isaac Sim窗口：\n\n![isaac-training-window](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FZhefan-Xu_NavRL_readme_0cf68660e9a8.png)\n\n### 训练您自己的强化学习智能体\n训练环境设置和超参数可以在 ```NavRL\u002Fisaac-training\u002Ftraining\u002Fcfg``` 中找到。\n\n以下示例演示了使用 1024 个机器人、350 个静态障碍物和 80 个动态障碍物进行训练（需要 RTX 4090 显卡）。我们建议使用 [Wandb](https:\u002F\u002Fwandb.ai\u002Fsite\u002F) 来监控您的训练和评估统计信息。\n```\npython training\u002Fscripts\u002Ftrain.py headless=True env.num_envs=1024 env.num_obstacles=350 \\\nenv_dyn.num_obstacles=80 wandb.mode=online\n```\n经过足够长时间的训练后，您应该会观察到机器人学会避免碰撞：\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F2294bd94-69b3-4ce8-8e91-0118cfae9bcd\n\n\n## II. 部署虚拟环境\n本节提供了部署 ```NavRL``` 所需的最小 Conda 环境设置（包括在真实机器人上运行）。如果您已经在 [Isaac 训练步骤](#I-Training-in-NVIDIA-Isaac-Sim) 中创建了 ```NavRL``` 的 Conda 环境，则可以跳过本节。要创建 Conda 环境，请运行以下命令：\n```\ncd NavRL\u002Fisaac-training\nbash setup_deployment.sh\n```\n设置完成后，应会创建一个名为 ```NavRL``` 的 Conda 环境。您可以通过激活该环境来验证安装是否成功：\n```\nconda activate NavRL\n```\n\n\n## III. NavRL ROS1 部署\n本节演示了使用 ROS1 和 Gazebo，以四旋翼无人机为例部署 NavRL 的示例。请确保您的系统满足以下要求：\n\n- Ubuntu 20.04 LTS\n- ROS1 Noetic\n\n首先，安装依赖项并将此仓库中的 ```ros1``` 文件夹复制到您的 catkin 工作空间。\n```\nsudo apt-get install ros-noetic-mavros*\n\ncp -r ros1 \u002Fpath\u002Fto\u002Fcatkin_ws\u002Fsrc\ncatkin_make\n```\n然后，设置 Gazebo 模型的环境变量。\n```\necho 'source \u002Fpath\u002Fto\u002Fros1\u002Fuav_simulator\u002FgazeboSetup.bash' >> ~\u002F.bashrc\n```\n请注意，环境变量应在 catkin_ws 内设置。例如，正确的 ```~\u002F.bashrc``` 脚本应该是 ```source ~\u002Fcatkin_ws\u002Fsrc\u002Fros1\u002Fuav_simulator\u002FgazeboSetup.bash```，而不是 ```source path\u002Fto\u002FNavRL\u002Fros1\u002Fuav_simulator\u002FgazeboSetup.bash```）。\n\n最后，启动仿真并部署 NavRL 导航。\n```\n# 启动 Gazebo 模拟器\nroslaunch uav_simulator start.launch\n\n# 启动感知与安全模块\nroslaunch navigation_runner safety_and_perception_sim.launch\n\n# 运行导航节点\nconda activate NavRL\nrosrun navigation_runner navigation_node.py\n```\nGazebo 窗口将显示环境，而 RViz 窗口则会呈现数据。使用 RViz 的 ```2D Nav Goal``` 工具设置导航目标，如下方视频所示（注意：默认环境和设置可能与视频不同）：\n\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fb7cc7e2e-c01d-4e44-87e3-97271a3aaa0f\n\n\n要更改环境设置，请查看 ```ros1\u002Fuav_simulator\u002Flaunch\u002Fstart.launch``` 中的启动文件。各模块的参数位于 ```ros1\u002Fnavigation_runner\u002Fcfg\u002F*.yaml``` 配置文件中。\n\n\n## IV. NavRL ROS2 部署\n本节演示了使用 ROS2 和 Isaac Sim，以 Unitree Go2 四足机器人为例部署 NavRL 的示例。请确保您的系统满足以下要求：\n- Ubuntu 22.04 LTS\n- ROS2 Humble\n\n在开始之前，请根据 [此链接](https:\u002F\u002Fgithub.com\u002FZhefan-Xu\u002Fisaac-go2-ros2) 安装模拟器。\n\n首先，将此仓库中的 ```ros2``` 文件夹复制到您的 ROS2 工作空间。\n```\ncp -r ros2 \u002Fpath\u002Fto\u002Fros2_ws\u002Fsrc\ncolcon build --symlink-install\n```\n然后，启动仿真并部署 NavRL 导航。\n```\n# 启动 Isaac Go2 模拟器\nconda activate isaaclab\ncd \u002Fpath\u002Fto\u002Fisaac-go2-ros2\npython isaac-go2-ros2.py\n\n# 启动感知和安全模块\nros2 launch navigation_runner perception.launch.py\nros2 launch navigation_runner safe_action.launch.py # 可选\n\n# 打开 Rviz2 可视化\nros2 launch navigation_runner rviz.launch.py\n\n# 运行导航启动\nconda activate NavRL\nros2 launch navigation_runner navigation.launch.py\n```\nIsaac Sim 窗口将显示环境，而 RViz 窗口则会呈现数据。使用 RViz 的 ```2D Nav Goal``` 工具设置导航目标。导航示例如下视频所示：\n\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F4787f503-d8a3-4d7b-9d17-7057b2cff1eb\n\n请注意，如果您希望在配备 ```ros2 foxy``` 的真实机器人上部署，请切换到 ```ros2-foxy``` 分支。\n```\ngit checkout ros2-foxy\n```\n\n\n## V. 引用与参考文献\n如果我们的工作对您的研究有所帮助，请考虑引用我们的论文。\n```\n@ARTICLE{NavRL,\n  author={Xu, Zhefan and Han, Xinming and Shen, Haoyu and Jin, Hanyu and Shimada, Kenji},\n  journal={IEEE Robotics and Automation Letters}, \n  title={NavRL: 在动态环境中学习安全飞行}, \n  year={2025},\n  volume={10},\n  number={4},\n  pages={3668-3675},\n  keywords={导航；机器人；避障；训练；安全；车辆动力学；启发式算法；探测器；自主飞行器；学习系统；空中系统：感知与自主性；强化学习；避障},\n  doi={10.1109\u002FLRA.2025.3546069}}\n```\n\n## VI. 致谢\n作者谨向 Kenji Shimada 教授表示诚挚的感谢，感谢他给予的大力支持，并感谢所有为本研究发展做出贡献的 CERLAB 无人机团队成员。\n\nNavRL 框架中的 Isaac Sim 训练组件基于 [OmniDrones](https:\u002F\u002Fgithub.com\u002Fbtx0424\u002FOmniDrones) 构建。","# NavRL 快速上手指南\n\nNavRL 是一个基于强化学习（RL）的框架，旨在让机器人（如无人机、四足机器人等）在动态环境中实现安全导航。本指南将帮助您快速配置环境并运行演示。\n\n## 1. 环境准备\n\n### 系统要求\n*   **操作系统**: Ubuntu 20.04 LTS (ROS1) 或 Ubuntu 22.04 LTS (ROS2\u002FIsaac Sim)\n*   **Python**: 3.10\n*   **GPU**: 推荐 NVIDIA RTX 系列（训练大规模场景需 RTX 4090）\n*   **模拟器版本**: **必须**使用 `Isaac Sim 2023.1.0-hotfix.1`（版本不匹配会导致错误）\n\n### 前置依赖\n*   **Conda**: 确保已安装 Miniconda 或 Anaconda。\n*   **Docker**: 用于拉取特定版本的 Isaac Sim。\n*   **ROS** (可选):\n    *   ROS1 Noetic (Ubuntu 20.04)\n    *   ROS2 Humble (Ubuntu 22.04)\n\n## 2. 安装步骤\n\n### 第一步：获取特定版本的 Isaac Sim\n由于官方不再直接提供旧版本下载，需通过 Docker 拉取并导出：\n\n```bash\n# 拉取指定版本的 Isaac Sim 镜像\ndocker pull nvcr.io\u002Fnvidia\u002Fisaac-sim:2023.1.0-hotfix.1\n\n# 运行容器并挂载卷以持久化数据\ndocker run --name isaac-sim --entrypoint bash -it --runtime=nvidia --gpus all -e \"ACCEPT_EULA=Y\" --rm --network=host \\\n    -e \"PRIVACY_CONSENT=Y\" \\\n    -v ~\u002Fdocker\u002Fisaac-sim\u002Fcache\u002Fkit:\u002Fisaac-sim\u002Fkit\u002Fcache:rw \\\n    -v ~\u002Fdocker\u002Fisaac-sim\u002Fcache\u002Fov:\u002Froot\u002F.cache\u002Fov:rw \\\n    -v ~\u002Fdocker\u002Fisaac-sim\u002Fcache\u002Fpip:\u002Froot\u002F.cache\u002Fpip:rw \\\n    -v ~\u002Fdocker\u002Fisaac-sim\u002Fcache\u002Fglcache:\u002Froot\u002F.cache\u002Fnvidia\u002FGLCache:rw \\\n    -v ~\u002Fdocker\u002Fisaac-sim\u002Fcache\u002Fcomputecache:\u002Froot\u002F.nv\u002FComputeCache:rw \\\n    -v ~\u002Fdocker\u002Fisaac-sim\u002Flogs:\u002Froot\u002F.nvidia-omniverse\u002Flogs:rw \\\n    -v ~\u002Fdocker\u002Fisaac-sim\u002Fdata:\u002Froot\u002F.local\u002Fshare\u002Fov\u002Fdata:rw \\\n    -v ~\u002Fdocker\u002Fisaac-sim\u002Fdocuments:\u002Froot\u002FDocuments:rw \\\n    nvcr.io\u002Fnvidia\u002Fisaac-sim:2023.1.0-hotfix.1\n```\n\n在另一个终端查看容器 ID 并复制文件到本地：\n```bash\ndocker ps # 获取 \u003Cid_container>\ndocker cp \u003Cid_container>:isaac-sim\u002F. \u002Fpath\u002Fto\u002Flocal\u002Ffolder # 替换为绝对路径\n```\n\n### 第二步：配置 NavRL 环境\n克隆仓库并设置环境变量：\n\n```bash\n# 设置 ISAACSIM_PATH 环境变量 (替换为您的实际路径)\necho 'export ISAACSIM_PATH=\"path\u002Fto\u002Fisaac_sim-2023.1.0-hotfix.1\"' >> ~\u002F.bashrc\nsource ~\u002F.bashrc\n\n# 进入项目目录并运行部署脚本\ncd NavRL\u002Fisaac-training\nbash setup_deployment.sh\n```\n*注：如果您计划自行训练模型，请运行 `bash setup.sh` 而非 `setup_deployment.sh`。*\n\n验证安装：\n```bash\nconda activate NavRL\n```\n\n## 3. 基本使用\n\n完成上述安装后，您可以直接运行三个预训练的快速演示，无需重新训练。\n\n### 演示一：定点导航\n导航至预设的目标点。\n```bash\nconda activate NavRL\ncd NavRL\u002Fquick-demos\npython simple-navigation.py\n```\n\n### 演示二：动态目标导航\n导航至随机分配的动态目标点。\n```bash\npython random-navigation.py\n```\n\n### 演示三：多机器人协同导航\n多个机器人在同一环境中进行避障导航。\n```bash\npython multi-robot-navigation.py\n```\n\n---\n\n### 进阶：真实机器人部署 (简述)\n\n若需在真实机器人或 Gazebo\u002FIsaac Sim 中部署：\n\n**ROS1 (UAV + Gazebo):**\n```bash\n# 安装依赖\nsudo apt-get install ros-noetic-mavros*\ncp -r ros1 \u002Fpath\u002Fto\u002Fcatkin_ws\u002Fsrc\ncatkin_make\n\n# 设置环境变量 (确保路径指向 catkin_ws 内部)\necho 'source ~\u002Fcatkin_ws\u002Fsrc\u002Fros1\u002Fuav_simulator\u002FgazeboSetup.bash' >> ~\u002F.bashrc\n\n# 启动\nroslaunch uav_simulator start.launch\nroslaunch navigation_runner safety_and_perception_sim.launch\nconda activate NavRL\nrosrun navigation_runner navigation_node.py\n```\n\n**ROS2 (Unitree Go2 + Isaac Sim):**\n```bash\n# 构建工作空间\ncp -r ros2 \u002Fpath\u002Fto\u002Fros2_ws\u002Fsrc\ncolcon build --symlink-install\n\n# 启动仿真与导航\nconda activate isaaclab\ncd \u002Fpath\u002Fto\u002Fisaac-go2-ros2\npython isaac-go2-ros2.py\n\nros2 launch navigation_runner perception.launch.py\nconda activate NavRL\nros2 launch navigation_runner navigation.launch.py\n```","某物流仓储团队正致力于部署自主无人机集群，在充满移动叉车和工作人员的动态环境中执行高频次货物盘点任务。\n\n### 没有 NavRL 时\n- **避障反应迟钝**：传统基于规则的路径规划算法难以预测突发移动障碍物的轨迹，导致无人机频繁急停或发生轻微碰撞。\n- **环境适应性差**：一旦仓库内人流密度变化或货架布局微调，工程师需花费数天重新手工调整参数和规则代码。\n- **多机协同困难**：在多无人机同时作业时，缺乏有效的分布式协调机制，极易出现路径死锁或空中拥堵。\n- **开发周期漫长**：从仿真测试到真机部署需要重写大量底层控制代码，且仿真与现实的物理差异（Sim2Real）导致调试风险极高。\n\n### 使用 NavRL 后\n- **智能动态避障**：NavRL 利用强化学习让无人机学会“预判”移动物体轨迹，在高速飞行中也能平滑绕开突然出现的叉车或行人。\n- **零代码自适应**：无需修改任何规则代码，训练好的模型能直接泛化到不同密度和布局的动态场景，显著降低维护成本。\n- **高效集群调度**：内置的多智能体协作机制使无人机群能自主协商路径，在狭窄通道中有序交错通行，彻底消除死锁。\n- **无缝仿真部署**：依托 NVIDIA Isaac Sim 的高保真训练与 ROS1\u002FROS2 原生支持，实现了从虚拟训练到真机落地的无缝衔接，将部署时间从数周缩短至数小时。\n\nNavRL 通过端到端的强化学习，将原本僵硬的规则驱动导航升级为具备高度适应性和安全性的智能决策系统，真正释放了动态环境下无人机集群的作业潜力。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FZhefan-Xu_NavRL_0cf68660.png","Zhefan-Xu","Zhefan Xu","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FZhefan-Xu_b30e8466.jpg","PhD Candidate @ CMU | ex-Waymo, ex-Cruise | Robotics & AI","Carnegie Mellon University","Pittsburgh, PA, US","zhefanx@andrew.cmu.edu",null,"https:\u002F\u002Fzhefanxu.com\u002F","https:\u002F\u002Fgithub.com\u002FZhefan-Xu",[87,91,95,99],{"name":88,"color":89,"percentage":90},"C++","#f34b7d",70.1,{"name":92,"color":93,"percentage":94},"Python","#3572A5",25.6,{"name":96,"color":97,"percentage":98},"CMake","#DA3434",3.9,{"name":100,"color":101,"percentage":102},"Shell","#89e051",0.3,1415,150,"2026-04-19T13:13:54","MIT",4,"Linux (Ubuntu 20.04 LTS, Ubuntu 22.04 LTS)","必需 NVIDIA GPU。训练阶段明确需要 RTX 4090（用于大规模并行仿真）；仿真基于 NVIDIA Isaac Sim，需支持 CUDA 的显卡。","未说明（建议根据并发机器人数量配置，大规模训练需大内存）",{"notes":112,"python":113,"dependencies":114},"1. 训练必须使用特定版本的 Isaac Sim (2023.1.0-hotfix.1)，版本不兼容会导致错误，且需通过 Docker 拉取旧版本。\n2. 项目提供两种部署路径：ROS1 + Gazebo（适用于四旋翼，需 Ubuntu 20.04）和 ROS2 + Isaac Sim（适用于 Unitree Go2 四足机器人，需 Ubuntu 22.04）。\n3. 快速演示和训练均需创建名为 'NavRL' 的 Conda 环境。\n4. 若在真实机器人上使用 ROS2 Foxy 版本，需切换至 'ros2-foxy' 分支。","3.10",[115,116,117,118,119,120],"NVIDIA Isaac Sim (2023.1.0-hotfix.1)","ROS1 Noetic (仅 ROS1 部署)","ROS2 Humble (仅 ROS2 部署)","Conda","Gazebo (仅 ROS1 部署)","MAVROS (仅 ROS1 部署)",[18],[123,124,125,126,127,128,129,130,131],"collision-avoidance","isaac-sim","nvidia-isaac","reinforcement-learning","robot-navigation","robotics","ros1-noetic","ros2-humble","embodied-ai","2026-03-27T02:49:30.150509","2026-04-20T16:46:39.884451",[135,140,145,150,155,160,164],{"id":136,"question_zh":137,"answer_zh":138,"source_url":139},45147,"运行 bash setup.sh 时提示找不到 orbit 设置脚本文件怎么办？","这通常是因为 ISAACSIM_PATH 符号链接创建不正确或路径书写错误。请执行以下步骤修复：\n1. 进入 orbit 目录：cd path\u002Fto\u002FNavRL\u002Fisaac-training\u002Fthird_party\u002Forbit\n2. 创建符号链接：ln -s ${ISAACSIM_PATH} _isaac_sim\n3. 检查 ~\u002F.bashrc 中的路径配置，确保以绝对路径开头（例如使用 \u002Fhome\u002F... 而不是 home\u002F...），缺少开头的斜杠会导致路径无效。","https:\u002F\u002Fgithub.com\u002FZhefan-Xu\u002FNavRL\u002Fissues\u002F40",{"id":141,"question_zh":142,"answer_zh":143,"source_url":144},45148,"奖励函数中的 +1 代表什么？为什么 prev_drone_vel_w 没有更新？","这是一个已修复的代码逻辑错误。之前代码中 self.drone.prev_vel_w 是通过引用赋值的，导致当模拟器更新速度时，前一刻的速度也被同步更新了。解决方法是将赋值改为克隆张量（clone the tensor），确保保存的是上一时刻速度的副本而非引用。该问题已在相关 commit 中修正。","https:\u002F\u002Fgithub.com\u002FZhefan-Xu\u002FNavRL\u002Fissues\u002F23",{"id":146,"question_zh":147,"answer_zh":148,"source_url":149},45149,"在 NavRL ROS1 部署过程中，Rviz 无法显示地图如何解决？","这是因为 Conda 环境与 ROS 环境冲突导致的。除了导航节点（navigation_node）外，启动其他 ROS launch 文件前必须先退出 Conda 环境。请在终端执行 conda deactivate，然后再运行 roslaunch 命令（如 roslaunch uav_simulator start.launch），即可正常显示地图。","https:\u002F\u002Fgithub.com\u002FZhefan-Xu\u002FNavRL\u002Fissues\u002F33",{"id":151,"question_zh":152,"answer_zh":153,"source_url":154},45150,"启动 train.py 仿真环境时等待时间过长或卡住怎么办？","这通常是由于网络连接问题导致的（例如下载依赖或连接服务器超时）。建议检查网络连接，如果是国内用户，尝试更换网络代理（梯子）通常可以解决该问题。","https:\u002F\u002Fgithub.com\u002FZhefan-Xu\u002FNavRL\u002Fissues\u002F102",{"id":156,"question_zh":157,"answer_zh":158,"source_url":159},45151,"如何运行论文图 7 中的基准测试（Benchmark Tests）？","需要修改 ROS 启动配置文件以加载特定的动态障碍物世界。请编辑 ros1\u002Fuav_simulator\u002Flaunch\u002Fstart.launch 文件，将 world_name 参数修改为动态走廊场景：\n\u003Carg name=\"world_name\" value=\"$(find uav_simulator)\u002Fworlds\u002Fcorridor\u002Fcorridor_dynamic_9.world\" \u002F>\n修改后重新启动仿真即可运行基准测试。","https:\u002F\u002Fgithub.com\u002FZhefan-Xu\u002FNavRL\u002Fissues\u002F98",{"id":161,"question_zh":162,"answer_zh":163,"source_url":144},45152,"当 env_dyn.num_obstacles 设置为 0 时代码报错或维度不匹配怎么办？","这是一个代码中的硬编码错误。当动态障碍物数量为 0 时，初始化代码中 torch.zeros 的最后一个维度写成了 8，但实际上应该对应 num_dim_each_dyn_obs_state（即 10）。需要将代码中的 8 修改为 10 以匹配状态维度。",{"id":165,"question_zh":166,"answer_zh":167,"source_url":168},45153,"在新显卡（如 RTX 40\u002F50 系列）上运行训练脚时报 CUDA kernel image 不可用错误如何解决？","这是因为预编译的 PyTorch 版本不支持较新的显卡架构。虽然可以尝试下载 PyTorch Nightly 版本和新版 CUDA，但这可能导致依赖冲突。建议检查当前 PyTorch 是否支持你的显卡计算能力（Compute Capability），或者尝试在容器环境中使用官方支持的 Isaac Sim 镜像，以确保 CUDA 工具链与硬件兼容。","https:\u002F\u002Fgithub.com\u002FZhefan-Xu\u002FNavRL\u002Fissues\u002F82",[]]