IR-SIM 智能机器人模拟器
基于 Python 的轻量级机器人模拟器,支持导航、控制与学习,通过 YAML 快速配置场景。
- Star 数
- ★ 1.1k
- 最近更新
- 8 天前
- License
- MIT
- 主语言
- Python
- FA 评分
- 43/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台
- 费用
- 免费,无需付费服务
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- 机器人导航算法研究人员:在自定义 YAML 场景中快速原型测试和验证路径规划或避障算法。
- 不适合
- 需要复杂三维渲染或高保真物理仿真的团队
- 不愿编写 YAML 配置文件的非技术用户
- 需要成熟大型社区与生态支持的项目
这个 Agent 能做什么,适合哪些场景?
IR-SIM 是一个开源、轻量级的 Python 机器人模拟器,专为导航、控制和学习应用设计。它提供简单易用的框架,内置碰撞检测功能,可模拟机器人、传感器和环境。用户通过 YAML 文件即可快速配置和定制场景,无需复杂编程。模拟结果可通过简单的 matplotlib 可视化器进行即时调试。IR-SIM 支持多种运动学模型(如差速、全向、阿克曼)和传感器(如二维激光雷达、FOV 检测器),并内置 RVO、ORCA 等避障行为。项目已在学术研究(如 RAL & ICRA 2023 的 RL-RVO 导航)和社区项目(如 DRL 机器人导航)中得到应用。IR-SIM 在 best-of-robot-simulators 中被评为 2D 机器人模拟器第一名。
IR-SIM 读取 YAML 配置文件来初始化环境,模拟机器人运动并处理传感器数据,执行碰撞检测和行为策略(如 dash、RVO、ORCA)。它提供 Python API(如 irsim.make('robot_world.yaml'))来创建环境,并支持循环调用 env.step() 和 env.render() 来推进和可视化仿真。模拟结束后使用 env.end() 关闭环境。它还能输出仿真结果以便分析。
- 机器人导航算法研究人员:在自定义 YAML 场景中快速原型测试和验证路径规划或避障算法。
- 强化学习研究者:使用支持多智能体行为的模拟器训练和评估导航智能体,如 RL-RVO 项目。
- 教育工作者:在课堂上演示机器人运动学和传感器原理,学生无需复杂编程即可修改场景。
- 自动驾驶开发者:利用 Ackermann 模型和 2D LiDAR 模拟进行车辆控制算法测试。
- 多智能体系统开发者:模拟数百个智能体(如 200 个 ORCA 智能体)的协作避障,用于学习和基准测试。
如何安装或部署这个 Agent?
需要 Python >= 3.10。使用 pip 安装:pip install ir-sim,如需全部功能(如键盘控制)使用 pip install ir-sim[all]。从源码安装:git clone https://github.com/hanruihua/ir-sim.git && cd ir-sim && pip install -e . 或使用 uv:uv sync。
如何使用这个 Agent?
首先创建一个 YAML 配置文件(如 robot_world.yaml),定义世界尺寸、机器人运动学、形状、初始状态、目标点和行为。然后编写 Python 脚本使用 irsim.make() 初始化环境,循环调用 env.step() 和 env.render(),检查 env.done() 决定是否结束,最后调用 env.end()。参考 usage 目录中的示例。
这个 Agent 有哪些优点和局限?
- 轻量级且易于使用,通过 YAML 即可配置场景,无需复杂代码。
- 支持多种运动学模型(差速、全向、阿克曼)和传感器(2D LiDAR、FOV 检测器)。
- 内置 RVO、ORCA 等多种碰撞避免行为,适合多智能体研究。
- 与学术论文(如 RL-RVO、NeuPAN)直接关联,有实际研究验证。
- 相对较新,社区和生态规模不如成熟模拟器(如 Gazebo)。
- 文档和示例主要依赖英文,中文文档可能不完整。
- 依赖 matplotlib 进行可视化,可能不适用于复杂 3D 场景。
- 需要编写 YAML 配置,对于非技术人员有一定的学习曲线。
这个 Agent 与同类方案有什么区别?
相比 Gazebo 等重量级仿真器,IR-SIM 更轻量、易上手,适合快速原型验证。在 best-of-robot-simulators 中,它被评为 2D 机器人模拟器第一名,说明其在轻量级 2D 模拟方面具有优势。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| IR-SIM 智能机器人模拟器 当前 | 43 · 缺口较多 | 代码库 / SDK免费 | ★ 1.1k | 8 天前 | Python | — |
| Youtu-Agent | 27 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 4.6k | 7 个月前 | Python | OpenAI API |
| skrl:模块化强化学习库 | 43 · 缺口较多 | 代码库 / SDK免费 | ★ 1.1k | 今天 | Python | — |
| AgentGuide - AI Agent 开发求职一站式指南 | 23 · 缺口较多 | 代码库 / SDK免费 + 模型费 | ★ 11k | 1 个月前 | MDX | OpenAI API · Claude API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示:仓库未提供权限模型、用户确认机制、数据流透明性、敏感数据处理、外部影响控制、回滚机制或来源归属的说明。依赖安全方面,有依赖审查工作流,但未提供漏洞扫描结果或依赖锁定。因此,所有信任标准均得0分。
证据显示:README、pyproject.toml、测试配置和示例之间的一致性良好,自洽性得2分。依赖在PyPI上可用,且pyproject.toml中列出了版本约束,但未提供锁定文件,依赖可用性得2分。失败消息方面,代码中使用了loguru,但未提供用户友好的错误处理或文档,因此得1分。
证据显示:README明确列出了目标受众(学术和教育)和多种使用场景,得2分。能力边界通过支持的功能表清晰说明,得2分。触发精度方面,YAML配置和API设计明确,得2分。环境适配方面,支持多种Python版本和操作系统,得2分。
证据显示:信息架构清晰,有README、文档链接和目录结构,得2分。安装说明详细,包括pip、源码和uv,得2分。命名稳定性方面,包名和API命名一致,得2分。示例和FAQ方面,有多个示例和文档,但缺少FAQ,得2分。已知限制方面,README未明确列出,得1分。许可证为MIT,得2分。版本和变更日志方面,有版本号但无变更日志,得1分。维护责任方面,有贡献指南和作者信息,得2分。
证据显示:输出可用性方面,提供了可视化工具和示例,得2分。边际价值方面,作为轻量级模拟器,提供了独特功能,得2分。成本效益方面,安装和使用简单,得2分。
证据显示:声明可追溯性方面,README中的功能声明与代码和文档一致,得2分。跨来源佐证方面,有arXiv论文和社区项目引用,但未独立验证,得1分。事实与推断分离方面,README区分了功能描述和引用,得2分。
- 源码中未见:最小权限约束只授予完成任务所需的权限:用专用账号或只读令牌,并限定可访问的目录和仓库。
- 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
- 源码中未见:数据流向说明运行时观察它连接了哪些外部服务(代理或防火墙日志);弄清数据去向之前不要输入敏感数据。
- 源码中未见:敏感信息处理使用专用、低权限、可随时吊销的 API 密钥,不要复用生产凭据,也不要让密钥出现在日志里。
- 源码中未见:依赖安全审查安装前固定版本并做一次依赖扫描(如 npm audit、pip-audit);优先放在容器里运行。
- 源码中未见:外部影响披露先弄清它会写入、发送或修改哪些外部系统,用测试账号或测试仓库验证后再接入正式环境。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 源码中未见:来源归属可核验从官方仓库或包源安装,核对发布者和仓库地址,避免同名仿冒包。
- 该仓库未提供任何权限模型或用户确认机制,作为Agent产品使用时需谨慎。
- 依赖未锁定,存在供应链风险,建议使用锁定文件。
- 未提供已知限制和变更日志,用户可能遇到未预期的问题。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
v2.12.0 ir-sim-v2.12.0
发布说明摘录
2.12.0 (2026-10-04) This release adds Contact mode for realistic collision handling, a default Okabe-Ito palette for academic figures, the social force model as a group behavior, and fixes to reactive behaviors, lidar readings, and the environment lifecycle. <p align="center"> <img src="https://raw.githubusercontent.com/IR-SIM/ir-sim-gifs/main/robots_obstacles/push_box_keyboard.gif" width="320" alt="Contact mode: a keyboard-driven robot pushes boxes of different mass."/> …在 GitHub 查看 ↗ -
v2.11.0 ir-sim-v2.11.0
发布说明摘录
2.11.0 (2026-09-01) This release adds headless environments for batch training, compound geometry, internal/external step modes, ROS-style simulation messages, and per-environment object ids and random generators, plus much faster stepping for both lidar scans and multi-robot behaviors. Measured headless on an Apple-silicon Mac against 2.10.2 (median of repeated runs): | Time cost | 2.10.2 | 2.11.0 | Speedup | | --- | ---: | ---: | ---: | | env.step(), 200-beam lidar, one polygon | 2.88 ms | 0.26 ms | 11.1x | | env.step(), 200-beam lidar, 50 polygons | 6.20 ms | 1.51 ms | 4.1x | …在 GitHub 查看 ↗ -
v2.10.2 ir-sim-v2.10.2
发布说明摘录
- Fix: - Apply body-frame circle-center offsets consistently across collision geometry, rendering, convex G/h constraints, and RVO neighbor state, and clamp the HRVO inverse-sine input. Keeps offset and Ackermann circles aligned across representations and prevents math-domain failures. ([#344](https://github.com/hanruihua/ir-sim/pull/344)) - Refactor: …在 GitHub 查看 ↗