[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-Genesis-Embodied-AI--RoboGen":3,"tool-Genesis-Embodied-AI--RoboGen":62},[4,18,26,36,46,54],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},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,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},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 真正成长为懂上",160784,2,"2026-04-19T11:32:54",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":42,"last_commit_at":43,"category_tags":44,"status":17},8272,"opencode","anomalyco\u002Fopencode","OpenCode 是一款开源的 AI 编程助手（Coding Agent），旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件，而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码，还是排查难以定位的 Bug，OpenCode 都能通过自然语言交互高效完成，显著减少开发者在重复性劳动和上下文切换上的时间消耗。\n\n这款工具专为软件开发者、工程师及技术研究人员设计，特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构，这意味着用户可以审查代码逻辑、自定义行为策略，甚至私有化部署以保障数据安全，彻底打破了传统闭源 AI 助手的“黑盒”限制。\n\n在技术体验上，OpenCode 提供了灵活的终端界面（Terminal UI）和正在测试中的桌面应用程序，支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具，安装便捷，并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客，还是渴望提升产出的独立开发者，OpenCode 都提供了一个透明、可信",144296,1,"2026-04-16T14:50:03",[13,45],"插件",{"id":47,"name":48,"github_repo":49,"description_zh":50,"stars":51,"difficulty_score":32,"last_commit_at":52,"category_tags":53,"status":17},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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",109154,"2026-04-18T11:18:24",[14,15,13],{"id":55,"name":56,"github_repo":57,"description_zh":58,"stars":59,"difficulty_score":32,"last_commit_at":60,"category_tags":61,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[45,13,15,14],{"id":63,"github_repo":64,"name":65,"description_en":66,"description_zh":67,"ai_summary_zh":67,"readme_en":68,"readme_zh":69,"quickstart_zh":70,"use_case_zh":71,"hero_image_url":72,"owner_login":73,"owner_name":74,"owner_avatar_url":75,"owner_bio":76,"owner_company":77,"owner_location":77,"owner_email":77,"owner_twitter":77,"owner_website":78,"owner_url":79,"languages":80,"stars":97,"forks":98,"last_commit_at":99,"license":100,"difficulty_score":101,"env_os":102,"env_gpu":103,"env_ram":104,"env_deps":105,"category_tags":114,"github_topics":77,"view_count":32,"oss_zip_url":77,"oss_zip_packed_at":77,"status":17,"created_at":116,"updated_at":117,"faqs":118,"releases":148},9865,"Genesis-Embodied-AI\u002FRoboGen","RoboGen","A generative and self-guided robotic agent that endlessly propose and master new skills.","RoboGen 是一款能够自我引导并持续进化的生成式机器人智能体。它的核心使命是打破传统机器人学习中对人工标注数据的依赖，通过自动生成无限多样的新任务、构建对应的仿真环境，并自主掌握全新的操作与移动技能，从而实现自动化学习的闭环。\n\n这一工具主要解决了机器人领域长期存在的“数据饥渴”难题。以往训练机器人需要大量昂贵且耗时的人工场景设计与数据收集，而 RoboGen 利用大语言模型的推理能力，主动提出创造性任务，并在仿真中自我验证与学习，极大地降低了数据获取成本，提升了技能泛化能力。\n\nRoboGen 特别适合机器人学研究人员、AI 开发者以及从事具身智能探索的团队使用。对于希望研究自动化技能习得、仿真数据生成或强化学习新范式的学者而言，它是一个极具价值的开源平台。\n\n其独特技术亮点在于与新一代多材质、多求解器仿真引擎 Genesis 的深度协同（当前版本基于 PyBullet 复现），实现了从任务构思到技能落地的全流程自动化。它不仅支持刚体操作，未来还将扩展至软体交互等复杂场景，为释放无限机器人训练数据提供了全新的生成式仿真路径。","\n\u003Cdiv align=\"center\">\n  \u003Cimg width=\"500px\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FGenesis-Embodied-AI_RoboGen_readme_aaef5daa7e7b.png\"\u002F>\n  \n  # RoboGen: Towards Unleashing Infinite Data for Automated Robot Learning via Generative Simulation\n  ### ICML 2024\n\u003C\u002Fdiv>\n\n\u003Cdiv align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FGenesis-Embodied-AI_RoboGen_readme_61d26922c5a8.png\"\u002F>\n\u003C\u002Fdiv> \n\n\u003Cp align=\"left\">\n    \u003Ca href='http:\u002F\u002Farxiv.org\u002Fabs\u002F2311.01455'>\n      \u003Cimg src='https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPaper-arXiv-green?style=plastic&logo=arXiv&logoColor=green' alt='Paper arXiv'>\n    \u003C\u002Fa>\n    \u003Ca href='https:\u002F\u002Frobogen-ai.github.io\u002F'>\n      \u003Cimg src='https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FProject-Page-blue?style=plastic&logo=Google%20chrome&logoColor=blue' alt='Project Page'>\n    \u003C\u002Fa>\n\u003C\u002Fp>\nThis is the official repo for the paper:  \n\n\n**[RoboGen: Towards Unleashing Infinite Data for Automated Robot Learning via Generative Simulation](https:\u002F\u002Frobogen-ai.github.io\u002F)**  \n[Yufei Wang*](https:\u002F\u002Fyufeiwang63.github.io\u002F), [Zhou Xian*](https:\u002F\u002Fzhou-xian.com\u002F), [Feng Chen*](https:\u002F\u002Frobogen-ai.github.io\u002F), [Tsun-Hsuan Wang](https:\u002F\u002Fzswang666.github.io\u002F), [Yian Wang](https:\u002F\u002Fwangyian-me.github.io\u002F), [\nKaterina Fragkiadaki](https:\u002F\u002Fwww.cs.cmu.edu\u002F~katef\u002F), [Zackory Erickson](https:\u002F\u002Fzackory.com\u002F), [David Held](https:\u002F\u002Fdavheld.github.io\u002F), [Chuang Gan](https:\u002F\u002Fpeople.csail.mit.edu\u002Fganchuang\u002F)  \npublished at ICML 2024  \n\nRoboGen is a **self-guided** and **generative** robotic agent that autonomously proposes **new tasks**, generates corresponding **environments**, and acquires **new robotic skills** continuously.\n\nRoboGen is powered by [Genesis](https:\u002F\u002Fgithub.com\u002FGenesis-Embodied-AI\u002FGenesis), a multi-material multi-solver generative simulation engine for general-purpose robot learning. \nGenesis is still under active development and will be released soon. This repo contains a re-implementation of RoboGen using PyBullet, containing generation and learning of rigid manipulation and locomotion tasks. Our full pipeline containing soft-body manipulation and more tasks will be released later together with Genesis.\n\n## Table of Contents\n- [Setup](#setup)\n  - [RoboGen](#RoboGen)\n  - [OMPL](#Open-Motion-Planning-Library)\n  - [Dataset](#dataset)\n- [Let's Rock!](#lets-rock)\n  - [Automated Task Generation & Skill Learning](#One-click-for-all)\n  - [Generate Tasks](#Generate-tasks)\n  - [Learn Skills](#Learn-skills)\n  - [Pre-generated Tasks](#Pre-generated-tasks)\n## Setup\n### RoboGen\nClone this git repo.\n```\ngit clone https:\u002F\u002Fgithub.com\u002FGenesis-Embodied-AI\u002FRoboGen.git\n```\nWe recommend working with a conda environment.\n```\nconda env create -f environment.yaml\nconda activate robogen\n```\nIf installing from this yaml file doesn't work, manual installation of missing packages should also work.\n\n### Open Motion Planning Library\nRoboGen leverages [Open Motion Planning Library (OMPL)](https:\u002F\u002Fompl.kavrakilab.org\u002F) for motion planning as part of the pipeline to solve the generated task. \n\nNote: if you are having trouble building OMPL from source, the maintainer of OMPL has suggested to use the prebuilt python wheels at here: https:\u002F\u002Fgithub.com\u002Fompl\u002Fompl\u002Freleases\u002Ftag\u002Fprerelease. Use the wheel that matches your python version, e.g., if you are using python3.9, download [this wheel](https:\u002F\u002Fgithub.com\u002Fompl\u002Fompl\u002Freleases\u002Fdownload\u002Fprerelease\u002Fompl-1.6.0-cp39-cp39-manylinux_2_28_x86_64.whl), and then run `pip install ompl-1.6.0-cp39-cp39-manylinux_2_28_x86_64.whl`.\nThey also plan to release on PyPI soon, so stay tuned. For more info, check [this issue](https:\u002F\u002Fgithub.com\u002FGenesis-Embodied-AI\u002FRoboGen\u002Fissues\u002F8#issuecomment-1918092507).\n\nTo install OMPL from source, run\n```\n.\u002Finstall_ompl_1.5.2.sh --python\n```\nwhich will install the ompl with system-wide python. Note at line 19 of the installation script OMPL requries you to run `sudo apt-get -y upgrade`. This might cause trouble for your system packages, so you could probably comment this line during installation (the installation might fail, not fully tested with the line commented).\nThen, export the installation to the conda environment to be used with RoboGen:\n```\necho \"path_to_your_ompl_installation_from_last_step\u002FOMPL\u002Fompl-1.5.2\u002Fpy-bindings\" >> ~\u002Fminiconda3\u002Fenvs\u002Frobogen\u002Flib\u002Fpython3.9\u002Fsite-packages\u002Fompl.pth\n```\nremember to change the path to be your ompl installed path and conda environment path.\n\n\n\n### Dataset\nRoboGen uses [PartNet-Mobility](https:\u002F\u002Fsapien.ucsd.edu\u002Fbrowse) for task generation and scene population. We provide a parsed version [here](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1d-1txzcg_ke17NkHKAolXlfDnmPePFc6\u002Fview?usp=sharing) (which parses the urdf to extract the articulation tree as a shortened input to GPT-4). After downloading, please unzip it and put it in the `data` folder, so it looks like `data\u002Fdataset`.\n\nFor retrieving objects from objaverse, we embed object descriptions from objaverse using [SentenceBert](https:\u002F\u002Fwww.sbert.net\u002F). \nIf you want to generate these embeddings by yourself, run\n```\npython objaverse_utils\u002Fembed_all_annotations.py\npython objaverse_utils\u002Fembed_cap3d.py\npython objaverse_utils\u002Fembed_partnet_annotations.py\n```\nWe also provide the embeddings [here](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1dFDpG3tlckTUSy7VYdfkNqtfVctpn3T6\u002Fview?usp=sharing) if generation takes too much time. After downloading, unzip and put it under `objaverse_utils\u002Fdata\u002F` folder, so it looks like \n```\nobjaverse_utils\u002Fdata\u002Fdefault_tag_embeddings_*.pt\nobjaverse_utils\u002Fdata\u002Fdefault_tag_names_*.pt\nobjaverse_utils\u002Fdata\u002Fdefault_tag_uids_*.pt\nobjaverse_utils\u002Fdata\u002Fcap3d_sentence_bert_embeddings.pt\nobjaverse_utils\u002Fdata\u002Fpartnet_mobility_category_embeddings.pt\n```\n\n\n## Let's Rock!\n### One click for all\nPut your OpenAI API key at the top of `gpt_4\u002Fquery.py`, and simply run\n```\nsource prepare.sh\npython run.py\n``` \nRoboGen will then generate the task, build the scene in pybullet, and solve it to learn the corresponding skill.  \nIf you wish to generate manipulation tasks relevant to a specific object, e.g., microwave, you can run  \n```\npython run.py --category Microwave\n```\n\n### Generate tasks\nIf you wish to just generate the tasks, run\n```\npython run.py --train 0\n```\nwhich will generate the tasks, scene config yaml files, and training supervisions. The generated tasks will be stored at `data\u002Fgenerated_tasks_release\u002F`.  \nIf you want to generate task given a text description, you can run\n```\npython gpt_4\u002Fprompts\u002Fprompt_from_description.py --task_description [TASK_DESCRIPTION] --object [PARTNET_ARTICULATION_OBJECT_CATEGORY]\n``` \nFor example,\n```\npython gpt_4\u002Fprompts\u002Fprompt_from_description.py --task_description \"Put a pen into the box\" --object \"Box\"\n```\n\n### Learn skills\nIf you wish to just learn the skill with a generated task, run\n```\npython execute.py --task_config_path [PATH_TO_THE_GENERATED_TASK_CONFIG] # for manipulation tasks\npython execute_locomotion.py --task_config_path [PATH_TO_THE_GENERATED_TASK_CONFIG] # for locomotion tasks\n```\nFor example,\n```\npython execute.py --task_config_path example_tasks\u002FChange_Lamp_Direction\u002FChange_Lamp_Direction_The_robotic_arm_will_alter_the_lamps_light_direction_by_manipulating_the_lamps_head.yaml  \npython execute_locomotion.py --task_config_path example_tasks\u002Ftask_Turn_right\u002FTurn_right.yaml\n```\n\nAfter running the above commands, to check the skill learning results, \n- For manipulation tasks,\n  - For substeps using RL: we use SAC implemented in [RAY-RLlib](https:\u002F\u002Fdocs.ray.io\u002Fen\u002Flatest\u002Frllib\u002Findex.html) for RL training. Ray RLlib will log the learning progress at data\u002Flocal\u002Fray_results\u002F{task_name}_{time_stamp}. You can check that folder for visualizations of the reward curves. For example, you can plot episode_reward_mean field in progress.csv to show the evaluation episode reward during training. Ray RLlib also uses tensorboard to store the results in events.out.tfevents*, so one can also use tensorboard for visualization.\nThe final skill learned by RL will be stored at {path_to_your_task}\u002FRL_sac\u002F{time_stamp}\u002F{substep_name}, e.g., data\u002Fexample_tasks\u002Fclose_the_oven_door_Oven_101940_2023-09-21-22-28-23\u002Ftask_close_the_oven_door\u002FRL_sac\u002F2023-09-22-02-05-05\u002Fclose_the_oven_door. A gif showing the execution of the learned RL policy, all the simulation states during the policy execution, and the best policy weights will be stored there. RL training can take 1-2 hours for convergence. We are working to switch to better RL learning libraries, and will update the repo once the tests are done. \n  - For substeps using motion planning based action primitives: The results of the primitives will be stored at {path_to_your_task}\u002Fprimitive_states\u002F{time_stamp}\u002F{substep_name}, e.g., data\u002Fexample_tasks\u002Fclose_the_oven_door_Oven_101940_2023-09-21-22-28-23\u002Ftask_close_the_oven_door\u002Fprimitive_states\u002F2023-10-06-03-00-07\u002Fgrasp_the_oven_door. A gif showing the execution of the primitive, as well as all the simulation states during the primitive execution will be stored. Motion planning based action primitive should take less than 10 minutes to finish. \n- For locomotion tasks, we use CEM to solve it. The learning results should be stored at {path_to_your_task}\u002Fcem\u002F, e.g., data\u002Fgenerated_tasks\u002Flocomotion_2023-10-30-17-43-31\u002Ftask_Turn_right\u002Fcem\u002F. A mp4 showing the results and all simulation states during the execution will be stored. CEM usally takes ~10 minutes to finish. NOTE: The program might end with an error message of \"AttributeError:'NoneType' object has no attribute 'dumps'\". This can be safely ignored if the mp4 file is successfully generated. \n\n### Pre-generated tasks\nIn `example_tasks` we include a number of generated tasks from RoboGen. We hope this could be useful for, e.g., language conditioned multi-task learning & transfer learning & low-level skill learning. We hope to keep updating the list! \n\n## Acknowledgements\n- The interface between OMPL and pybullet is based on [pybullet_ompl](https:\u002F\u002Fgithub.com\u002Flyfkyle\u002Fpybullet_ompl).\n- Part of the objaverse annotations are from [Scalable 3D Captioning with Pretrained Models](https:\u002F\u002Farxiv.org\u002Fabs\u002F2306.07279)\n\n## Citation\nIf you find this codebase\u002Fpaper useful for your research, please consider citing:\n```\n@article{wang2023robogen,\n  title={Robogen: Towards unleashing infinite data for automated robot learning via generative simulation},\n  author={Wang, Yufei and Xian, Zhou and Chen, Feng and Wang, Tsun-Hsuan and Wang, Yian and Fragkiadaki, Katerina and Erickson, Zackory and Held, David and Gan, Chuang},\n  journal={arXiv preprint arXiv:2311.01455},\n  year={2023}\n}\n```\n\n\n","\u003Cdiv align=\"center\">\n  \u003Cimg width=\"500px\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FGenesis-Embodied-AI_RoboGen_readme_aaef5daa7e7b.png\"\u002F>\n  \n  # RoboGen：通过生成式仿真释放无限数据，推动机器人自动化学习\n  ### ICML 2024\n\u003C\u002Fdiv>\n\n\u003Cdiv align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FGenesis-Embodied-AI_RoboGen_readme_61d26922c5a8.png\"\u002F>\n\u003C\u002Fdiv> \n\n\u003Cp align=\"left\">\n    \u003Ca href='http:\u002F\u002Farxiv.org\u002Fabs\u002F2311.01455'>\n      \u003Cimg src='https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPaper-arXiv-green?style=plastic&logo=arXiv&logoColor=green' alt='Paper arXiv'>\n    \u003C\u002Fa>\n    \u003Ca href='https:\u002F\u002Frobogen-ai.github.io\u002F'>\n      \u003Cimg src='https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FProject-Page-blue?style=plastic&logo=Google%20chrome&logoColor=blue' alt='Project Page'>\n    \u003C\u002Fa>\n\u003C\u002Fp>\n这是论文的官方仓库：\n\n\n**[RoboGen：通过生成式仿真释放无限数据，推动机器人自动化学习](https:\u002F\u002Frobogen-ai.github.io\u002F)**  \n[Yufei Wang*](https:\u002F\u002Fyufeiwang63.github.io\u002F)、[Zhou Xian*](https:\u002F\u002Fzhou-xian.com\u002F)、[Feng Chen*](https:\u002F\u002Frobogen-ai.github.io\u002F)、[Tsun-Hsuan Wang](https:\u002F\u002Fzswang666.github.io\u002F)、[Yian Wang](https:\u002F\u002Fwangyian-me.github.io\u002F)、[\nKaterina Fragkiadaki](https:\u002F\u002Fwww.cs.cmu.edu\u002F~katef\u002F)、[Zackory Erickson](https:\u002F\u002Fzackory.com\u002F)、[David Held](https:\u002F\u002Fdavheld.github.io\u002F)、[Chuang Gan](https:\u002F\u002Fpeople.csail.mit.edu\u002Fganchuang\u002F)  \n发表于 ICML 2024  \n\nRoboGen 是一种 **自我引导** 和 **生成式** 的机器人智能体，能够自主提出 **新任务**，生成相应的 **环境**，并持续习得 **新的机器人技能**。\n\nRoboGen 由 [Genesis](https:\u002F\u002Fgithub.com\u002FGenesis-Embodied-AI\u002FGenesis) 提供支持，这是一款多材料、多求解器的通用机器人学习生成式仿真引擎。Genesis 目前仍在积极开发中，即将发布。本仓库包含使用 PyBullet 对 RoboGen 的重新实现，涵盖了刚体操作和行走任务的生成与学习。我们完整的软体操作及其他任务流水线将随后与 Genesis 一同发布。\n\n## 目录\n- [设置](#setup)\n  - [RoboGen](#RoboGen)\n  - [OMPL](#Open-Motion-Planning-Library)\n  - [数据集](#dataset)\n- [让我们开始吧！](#lets-rock)\n  - [自动化任务生成与技能学习](#One-click-for-all)\n  - [生成任务](#Generate-tasks)\n  - [学习技能](#Learn-skills)\n  - [预生成的任务](#Pre-generated-tasks)\n## 设置\n### RoboGen\n克隆此 Git 仓库。\n```\ngit clone https:\u002F\u002Fgithub.com\u002FGenesis-Embodied-AI\u002FRoboGen.git\n```\n我们建议使用 conda 环境进行操作。\n```\nconda env create -f environment.yaml\nconda activate robogen\n```\n如果通过此 yaml 文件安装失败，手动安装缺失的包同样可行。\n\n### Open Motion Planning Library\nRoboGen 利用 [Open Motion Planning Library (OMPL)](https:\u002F\u002Fompl.kavrakilab.org\u002F) 进行运动规划，作为解决生成任务流程的一部分。\n\n注意：如果您在从源代码构建 OMPL 时遇到困难，OMPL 的维护者建议使用此处提供的预编译 Python 轮子：https:\u002F\u002Fgithub.com\u002Fompl\u002Fompl\u002Freleases\u002Ftag\u002Fprerelease。请根据您的 Python 版本下载对应的轮子，例如，如果您使用的是 Python 3.9，请下载 [此轮子](https:\u002F\u002Fgithub.com\u002Fompl\u002Fompl\u002Freleases\u002Fdownload\u002Fprerelease\u002Fompl-1.6.0-cp39-cp39-manylinux_2_28_x86_64.whl)，然后运行 `pip install ompl-1.6.0-cp39-cp39-manylinux_2_28_x86_64.whl`。他们也计划很快将其发布到 PyPI，敬请期待。更多信息请参阅 [此问题](https:\u002F\u002Fgithub.com\u002FGenesis-Embodied-AI\u002FRoboGen\u002Fissues\u002F8#issuecomment-1918092507)。\n\n要从源代码安装 OMPL，请运行：\n```\n.\u002Finstall_ompl_1.5.2.sh --python\n```\n这将在系统级别的 Python 环境中安装 OMPL。请注意，安装脚本第 19 行要求您运行 `sudo apt-get -y upgrade`。这可能会对您的系统软件包造成影响，因此您可以在安装过程中注释掉该行（安装可能失败，尚未完全测试注释该行的情况）。然后，将安装路径导出到 conda 环境中，以便与 RoboGen 一起使用：\n```\necho \"path_to_your_ompl_installation_from_last_step\u002FOMPL\u002Fompl-1.5.2\u002Fpy-bindings\" >> ~\u002Fminiconda3\u002Fenvs\u002Frobogen\u002Flib\u002Fpython3.9\u002Fsite-packages\u002Fompl.pth\n```\n请务必根据您实际的 OMPL 安装路径和 conda 环境路径进行修改。\n\n\n\n### 数据集\nRoboGen 使用 [PartNet-Mobility](https:\u002F\u002Fsapien.ucsd.edu\u002Fbrowse) 进行任务生成和场景构建。我们提供了一个解析版本 [这里](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1d-1txzcg_ke17NkHKAolXlfDnmPePFc6\u002Fview?usp=sharing)（该版本解析 urdf 文件以提取关节树结构，作为 GPT-4 的简化输入）。下载后，请解压缩并将文件放入 `data` 文件夹中，使其显示为 `data\u002Fdataset`。\n\n为了从 objaverse 中检索对象，我们使用 [SentenceBert](https:\u002F\u002Fwww.sbert.net\u002F) 对 objaverse 中的对象描述进行嵌入。\n如果您想自行生成这些嵌入，请运行：\n```\npython objaverse_utils\u002Fembed_all_annotations.py\npython objaverse_utils\u002Fembed_cap3d.py\npython objaverse_utils\u002Fembed_partnet_annotations.py\n```\n我们还提供了这些嵌入 [这里](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1dFDpG3tlckTUSy7VYdfkNqtfVctpn3T6\u002Fview?usp=sharing)，以防生成耗时过长。下载后，请解压缩并将其放置在 `objaverse_utils\u002Fdata\u002F` 文件夹下，使其显示为：\n```\nobjaverse_utils\u002Fdata\u002Fdefault_tag_embeddings_*.pt\nobjaverse_utils\u002Fdata\u002Fdefault_tag_names_*.pt\nobjaverse_utils\u002Fdata\u002Fdefault_tag_uids_*.pt\nobjaverse_utils\u002Fdata\u002Fcap3d_sentence_bert_embeddings.pt\nobjaverse_utils\u002Fdata\u002Fpartnet_mobility_category_embeddings.pt\n```\n\n\n## 让我们开始吧！\n### 一键完成所有操作\n将您的 OpenAI API 密钥放在 `gpt_4\u002Fquery.py` 的顶部，然后简单地运行：\n```\nsource prepare.sh\npython run.py\n```\nRoboGen 将自动生成任务，在 PyBullet 中构建场景，并解决问题以学习相应的技能。  \n如果您希望生成与特定物体相关的操作任务，例如微波炉，可以运行：\n```\npython run.py --category Microwave\n```\n\n### 生成任务\n如果您只想生成任务，请运行：\n```\npython run.py --train 0\n```\n这将生成任务、场景配置 YAML 文件以及训练监督信息。生成的任务将存储在 `data\u002Fgenerated_tasks_release\u002F` 中。  \n如果您想根据文本描述生成任务，可以运行：\n```\npython gpt_4\u002Fprompts\u002Fprompt_from_description.py --task_description [TASK_DESCRIPTION] --object [PARTNET_ARTICULATION_OBJECT_CATEGORY]\n``` \n例如：\n```\npython gpt_4\u002Fprompts\u002Fprompt_from_description.py --task_description \"把笔放进盒子里\" --object \"Box\"\n```\n\n### 学习技能\n如果您只想通过生成的任务来学习技能，请运行以下命令：\n```\npython execute.py --task_config_path [生成任务配置文件的路径] # 用于操作任务\npython execute_locomotion.py --task_config_path [生成任务配置文件的路径] # 用于运动任务\n```\n例如：\n```\npython execute.py --task_config_path example_tasks\u002FChange_Lamp_Direction\u002FChange_Lamp_Direction_The_robotic_arm_will_alter_the_lamps_light_direction_by_manipulating_the_lamps_head.yaml  \npython execute_locomotion.py --task_config_path example_tasks\u002Ftask_Turn_right\u002FTurn_right.yaml\n```\n\n运行上述命令后，要检查技能学习结果：\n- 对于操作任务：\n  - 对于使用强化学习（RL）的子步骤：我们使用 [RAY-RLlib](https:\u002F\u002Fdocs.ray.io\u002Fen\u002Flatest\u002Frllib\u002Findex.html) 中实现的 SAC 算法进行 RL 训练。Ray RLlib 会将学习进度记录在 data\u002Flocal\u002Fray_results\u002F{task_name}_{time_stamp} 目录下。您可以查看该文件夹中的奖励曲线可视化。例如，可以绘制 progress.csv 文件中的 episode_reward_mean 字段，以展示训练过程中评估回合的奖励变化。此外，Ray RLlib 还会使用 TensorBoard 将结果存储在 events.out.tfevents* 文件中，因此也可以使用 TensorBoard 进行可视化。\n    最终由 RL 学习到的技能将保存在 {path_to_your_task}\u002FRL_sac\u002F{time_stamp}\u002F{substep_name} 目录下，例如：data\u002Fexample_tasks\u002Fclose_the_oven_door_Oven_101940_2023-09-21-22-28-23\u002Ftask_close_the_oven_door\u002FRL_sac\u002F2023-09-22-02-05-05\u002Fclose_the_oven_door。该目录下还会保存一段 GIF 动画，展示所学 RL 策略的执行过程、策略执行期间的所有仿真状态，以及最佳策略权重。RL 训练通常需要 1–2 小时才能收敛。我们正在努力切换到更优秀的 RL 学习库，并将在测试完成后更新代码库。\n  - 对于使用基于运动规划的动作基元的子步骤：基元的结果将保存在 {path_to_your_task}\u002Fprimitive_states\u002F{time_stamp}\u002F{substep_name} 目录下，例如：data\u002Fexample_tasks\u002Fclose_the_oven_door_Oven_101940_2023-09-21-22-28-23\u002Ftask_close_the_oven_door\u002Fprimitive_states\u002F2023-10-06-03-00-07\u002Fgrasp_the_oven_door。该目录下也会保存一段 GIF 动画，展示动作基元的执行过程以及执行期间的所有仿真状态。基于运动规划的动作基元通常可在 10 分钟内完成。\n- 对于运动任务，我们使用 CEM 方法求解。学习结果应保存在 {path_to_your_task}\u002Fcem\u002F 目录下，例如：data\u002Fgenerated_tasks\u002Flocomotion_2023-10-30-17-43-31\u002Ftask_Turn_right\u002Fcem\u002F。该目录下会保存一段 MP4 视频，展示结果及执行过程中的所有仿真状态。CEM 通常需要约 10 分钟完成。注意：程序可能会以“AttributeError: 'NoneType' object has no attribute 'dumps'”的错误信息结束。如果 MP4 文件已成功生成，则可安全忽略此错误。\n\n### 预生成的任务\n在 `example_tasks` 目录中，我们包含了许多由 RoboGen 生成的任务。我们希望这些任务能对语言条件下的多任务学习、迁移学习以及低级技能学习等有所帮助。我们也将持续更新该列表！\n\n## 致谢\n- OMPL 与 PyBullet 之间的接口基于 [pybullet_ompl](https:\u002F\u002Fgithub.com\u002Flyfkyle\u002Fpybullet_ompl)。\n- 部分 objaverse 注释来源于 [Scalable 3D Captioning with Pretrained Models](https:\u002F\u002Farxiv.org\u002Fabs\u002F2306.07279)。\n\n## 引用\n如果您认为本代码库或论文对您的研究有帮助，请考虑引用以下文献：\n```\n@article{wang2023robogen,\n  title={Robogen: Towards unleashing infinite data for automated robot learning via generative simulation},\n  author={Wang, Yufei and Xian, Zhou and Chen, Feng and Wang, Tsun-Hsuan and Wang, Yian and Fragkiadaki, Katerina and Erickson, Zackory and Held, David and Gan, Chuang},\n  journal={arXiv preprint arXiv:2311.01455},\n  year={2023}\n}\n```","# RoboGen 快速上手指南\n\nRoboGen 是一个自引导、生成式的机器人智能体，能够自主提出新任务、生成对应环境并持续学习新的机器人技能。本项目基于 PyBullet 重实现了论文中的核心流程，支持刚性物体操作和移动任务的生成与学习。\n\n## 环境准备\n\n*   **操作系统**: Linux (推荐 Ubuntu)\n*   **Python**: 3.9 (根据 OMPL 预编译包版本建议)\n*   **依赖管理**: Conda\n*   **前置知识**: 熟悉基本的 Linux 命令行操作和 Python 环境配置\n*   **API 密钥**: 需要有效的 OpenAI API Key 用于任务生成\n\n## 安装步骤\n\n### 1. 克隆项目与创建环境\n首先克隆代码仓库并创建 Conda 虚拟环境：\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FGenesis-Embodied-AI\u002FRoboGen.git\ncd RoboGen\nconda env create -f environment.yaml\nconda activate robogen\n```\n*注：如果 `environment.yaml` 安装失败，请手动安装缺失的包。*\n\n### 2. 安装运动规划库 (OMPL)\nRoboGen 依赖 OMPL 进行运动规划。推荐直接使用预编译的 Python wheel 以避免源码编译错误（以 Python 3.9 为例）：\n\n```bash\n# 下载对应版本的 wheel (示例为 cp39)\nwget https:\u002F\u002Fgithub.com\u002Fompl\u002Fompl\u002Freleases\u002Fdownload\u002Fprerelease\u002Fompl-1.6.0-cp39-cp39-manylinux_2_28_x86_64.whl\npip install ompl-1.6.0-cp39-cp39-manylinux_2_28_x86_64.whl\n```\n\n*若必须从源码安装，请运行 `.\u002Finstall_ompl_1.5.2.sh --python`，并注意脚本中第 19 行的系统升级命令可能导致问题，建议注释掉该行。安装后需手动将 OMPL 路径添加到当前 conda 环境的 `.pth` 文件中。*\n\n### 3. 准备数据集\nRoboGen 使用 PartNet-Mobility 数据集。请下载解析后的版本并解压至 `data` 目录：\n\n1.  下载 [解析后的数据集](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1d-1txzcg_ke17NkHKAolXlfDnmPePFc6\u002Fview?usp=sharing)。\n2.  解压并将文件夹重命名为 `dataset`，确保目录结构为 `data\u002Fdataset`。\n\n*(可选) 若需自行生成 Objaverse 嵌入向量或下载预生成的嵌入文件，请参考 README 中的 Dataset 章节，将 `.pt` 文件放入 `objaverse_utils\u002Fdata\u002F` 目录。*\n\n## 基本使用\n\n### 1. 配置 API Key\n在运行前，请将您的 OpenAI API Key 填入 `gpt_4\u002Fquery.py` 文件的顶部。\n\n### 2. 一键运行全流程\n执行以下命令，RoboGen 将自动完成“生成任务 -> 构建场景 -> 学习技能”的全过程：\n\n```bash\nsource prepare.sh\npython run.py\n```\n\n**指定对象类别生成任务**：\n如果您想针对特定物体（如微波炉）生成操作任务：\n\n```bash\npython run.py --category Microwave\n```\n\n### 3. 分步执行\n\n**仅生成任务**：\n生成任务配置、场景 YAML 文件和训练监督信号，不执行训练。结果保存在 `data\u002Fgenerated_tasks_release\u002F`。\n\n```bash\npython run.py --train 0\n```\n\n**根据文本描述生成特定任务**：\n\n```bash\npython gpt_4\u002Fprompts\u002Fprompt_from_description.py --task_description \"Put a pen into the box\" --object \"Box\"\n```\n\n**仅学习技能**：\n针对已生成的任务配置文件进行技能学习。\n\n*   **操作任务 (Manipulation)**:\n    ```bash\n    python execute.py --task_config_path example_tasks\u002FChange_Lamp_Direction\u002FChange_Lamp_Direction_The_robotic_arm_will_alter_the_lamps_light_direction_by_manipulating_the_lamps_head.yaml\n    ```\n    *训练结果（包括 GIF 演示和模型权重）将保存在任务目录下的 `RL_sac` 或 `primitive_states` 文件夹中。RL 训练通常需 1-2 小时。*\n\n*   **移动任务 (Locomotion)**:\n    ```bash\n    python execute_locomotion.py --task_config_path example_tasks\u002Ftask_Turn_right\u002FTurn_right.yaml\n    ```\n    *结果将保存在 `cem` 文件夹中，通常耗时约 10 分钟。*\n\n### 4. 查看结果\n*   **RL 训练日志**: 查看 `data\u002Flocal\u002Fray_results\u002F{task_name}_{timestamp}\u002Fprogress.csv` 或使用 TensorBoard 查看 `events.out.tfevents*`。\n*   **演示视频**: 在对应的任务输出目录中查找生成的 `.gif` 或 `.mp4` 文件。","某机器人研发团队正致力于让机械臂在复杂多变的家庭环境中掌握抓取、搬运等多样化技能，以适配不同用户的个性化需求。\n\n### 没有 RoboGen 时\n- **任务设计依赖人工**：工程师需手动定义每一个训练场景（如“从杂乱桌面抓取杯子”），耗时耗力且难以覆盖长尾场景。\n- **数据获取成本高昂**：真实世界数据采集困难，而传统仿真环境固定单一，导致模型泛化能力差，换个物体或位置就失效。\n- **技能迭代周期漫长**：从提出新任务到完成仿真训练再到实机验证，往往需要数周时间，严重拖慢研发进度。\n- **缺乏自我进化能力**：系统无法主动发现自身弱点并生成针对性训练任务，遇到未知障碍时只能停滞等待人工干预。\n\n### 使用 RoboGen 后\n- **自动无限生成任务**：RoboGen 能自主构思并提出成千上万种新颖任务（如“在晃动桌面上抓取软体玩具”），无需人工预设，极大丰富了训练多样性。\n- **动态构建仿真环境**：基于生成式引擎，RoboGen 即时创建与任务匹配的复杂物理环境，让机器人在近乎无限的“虚拟实战”中积累数据。\n- **闭环自导式学习**：从任务提出、环境生成到技能习得全流程自动化，将原本数周的迭代周期缩短至数小时，实现技能的连续快速进化。\n- **主动探索未知领域**：RoboGen 能识别当前技能盲区，主动生成高难度挑战任务进行针对性强化，显著提升了机器人在非结构化环境中的适应性。\n\nRoboGen 通过“生成即训练”的模式，将机器人学习从人工定制的作坊式开发转变为数据无限、自我进化的自动化流水线。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FGenesis-Embodied-AI_RoboGen_aaef5daa.png","Genesis-Embodied-AI","Genesis AI","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FGenesis-Embodied-AI_1338c8e3.png","",null,"https:\u002F\u002Fgenesis-ai.company","https:\u002F\u002Fgithub.com\u002FGenesis-Embodied-AI",[81,85,89,93],{"name":82,"color":83,"percentage":84},"Python","#3572A5",98.9,{"name":86,"color":87,"percentage":88},"Shell","#89e051",0.9,{"name":90,"color":91,"percentage":92},"Batchfile","#C1F12E",0.2,{"name":94,"color":95,"percentage":96},"CMake","#DA3434",0.1,1163,107,"2026-04-13T07:08:36","Apache-2.0",4,"Linux","未说明 (基于 PyBullet 和 OMPL 的物理仿真，主要依赖 CPU，但 RL 训练可能受益于 GPU)","未说明",{"notes":106,"python":107,"dependencies":108},"1. 核心依赖 Open Motion Planning Library (OMPL)，建议从源码编译或使用提供的预编译 wheel，安装脚本中涉及系统级包升级需注意。2. 需要配置 OpenAI API Key 以使用 GPT-4 进行任务生成。3. 需手动下载 PartNet-Mobility 数据集及预计算的 Objaverse 嵌入文件并放置于指定目录。4. 官方完整版基于 Genesis 引擎，当前仓库为基于 PyBullet 的重实现版本，仅包含刚体操作和移动任务。5. 强化学习子步骤使用 Ray RLlib (SAC 算法)，运动规划子步骤使用 OMPL。","3.9",[109,110,111,112,113],"pybullet","ompl (1.5.2+)","ray[rllib]","sentence-transformers (SentenceBert)","openai (GPT-4 API)",[13,115],"其他","2026-03-27T02:49:30.150509","2026-04-20T07:16:14.846696",[119,124,129,134,139,144],{"id":120,"question_zh":121,"answer_zh":122,"source_url":123},44304,"安装 OMPL Python 绑定时报错 'ModuleNotFoundError: No module named ompl.util._util' 怎么办？","建议不要从源码编译，而是直接使用预构建的 Python wheels（轮子）进行安装。请访问 OMPL 的发布页面（https:\u002F\u002Fgithub.com\u002Fompl\u002Fompl\u002Freleases\u002Ftag\u002Fprerelease）下载预编译版本，并参考项目更新后的 README 文件获取详细安装步骤。维护者指出旧版本（如 1.5.2）存在编译问题，推荐使用最新版本配合预编译包。","https:\u002F\u002Fgithub.com\u002FGenesis-Embodied-AI\u002FRoboGen\u002Fissues\u002F8",{"id":125,"question_zh":126,"answer_zh":127,"source_url":128},44305,"在 Windows 系统上如何安装或使用 OMPL？","如果在 Windows 上从源码安装 OMPL Python 绑定遇到困难，可以尝试安装预编译的 wheels 包（详见项目 README）。此外，RoboGen 项目仅使用 OMPL 的 Python 绑定功能，并不需要安装 OMPL 的图形界面（GUI），因此无需纠结于 GUI 在 Windows 上的运行问题。","https:\u002F\u002Fgithub.com\u002FGenesis-Embodied-AI\u002FRoboGen\u002Fissues\u002F20",{"id":130,"question_zh":131,"answer_zh":132,"source_url":133},44306,"如何将 PyBullet 中的场景渲染成高质量图像（类似演示视频效果）？","可以使用第三方工具将 PyBullet 场景导出并在 Blender 中渲染。推荐参考仓库：https:\u002F\u002Fgithub.com\u002Fhuy-ha\u002Fpybullet-blender-recorder，它支持从 PyBullet 导出场景并在 Blender 中进行高质量渲染。另外，也可以关注该项目推出的新引擎 Genesis（https:\u002F\u002Fgithub.com\u002FGenesis-Embodied-AI\u002FGenesis），它原生支持高质量渲染。","https:\u002F\u002Fgithub.com\u002FGenesis-Embodied-AI\u002FRoboGen\u002Fissues\u002F29",{"id":135,"question_zh":136,"answer_zh":137,"source_url":138},44307,"执行任务下载新物体（如容器）时出现 'FileNotFoundError' 找不到图片文件怎么办？","这是一个已知问题，通常是由于缺少必要的目录结构导致的。维护者已提交修复代码，请拉取最新代码。如果问题依旧，请检查并确保代码中涉及图片路径处理的逻辑（如 `gpt_4\u002Fbard_verify.py` 第 69-70 行和 103-104 行附近）能正确创建缺失的目录。","https:\u002F\u002Fgithub.com\u002FGenesis-Embodied-AI\u002FRoboGen\u002Fissues\u002F11",{"id":140,"question_zh":141,"answer_zh":142,"source_url":143},44308,"RoboGen 是否支持完全按照用户指定的具体提示词（Prompt）来生成任务？","目前 RoboGen 的核心重点是作为种子阶段生成多样化的任务和物体采样函数，以增加自动生成任务的多样性。虽然特定的用户提示词可以在任务提议阶段被处理并检索对应物品，但“严格遵循用户提供的特定任务提示”并非当前阶段的主要关注点。系统更侧重于通过自动化流程生成广泛的任务变体。","https:\u002F\u002Fgithub.com\u002FGenesis-Embodied-AI\u002FRoboGen\u002Fissues\u002F16",{"id":145,"question_zh":146,"answer_zh":147,"source_url":143},44309,"为什么我在运行示例任务时会遇到链接 ID (link_id) 为 None 的错误？","该错误通常与任务配置文件中物体的定义或层级结构有关。确保 YAML 配置文件中正确指定了物体名称（如 `set_joint_angle_object_name`）以及相关的 UID 列表。如果使用的是自动生成的任务文件，请检查该文件是否完整包含了所有必要的物体属性（如 `path`, `type`, `center` 等），并确认这些物体文件（.urdf 或 .obj）确实存在于指定路径中。",[]]