intrinsic-dev/aic

GitHub: intrinsic-dev/aic

面向机器人精密操作竞赛的官方工具包,提供仿真环境、ROS 2 接口和评测系统,帮助开发者构建线缆插入任务的AI控制策略。

Stars: 231 | Forks: 121

# AI for Industry Challenge 工具包 [![build](https://github.com/intrinsic-dev/aic/actions/workflows/build.yml/badge.svg)](https://github.com/intrinsic-dev/aic/actions/workflows/build.yml) [![style](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/2cd311833c165615.svg)](https://github.com/intrinsic-dev/aic/actions/workflows/style.yml) ![](https://raw.githubusercontent.com/intrinsic-dev/aic/main/../media/aic_banner.png) **AI for Industry Challenge** 是一项面向开发人员和机器人专家的公开竞赛,旨在解决机器人技术和制造业中一些最具挑战性且影响深远的问题。 本代码库包含官方工具包,旨在帮助参赛者着手开发解决方案。有关注册详情、官方规则和常见问题解答,请访问 [AI for Industry Challenge 活动页面](https://www.intrinsic.ai/events/ai-for-industry-challenge)。 ## 工具包指南 欢迎使用 AIC 工具包文档。本指南将引导您完成参与挑战的完整工作流程 —— 从理解需求到提交解决方案。 请按照以下章节浏览流程的各个阶段。 1. **📖 理解挑战** - 阅读 [挑战概述](./docs/overview.md) 以了解目标。 - 查看 [资格赛阶段](./docs/phases.md#qualification-phase-train-your-model) 以了解您将要构建的内容。 - 查看 [评分指南](./docs/scoring.md) 以了解评分方式。 2. **🔧 设置环境** - 遵循 [入门指南](./docs/getting_started.md) 来设置并验证您的开发环境。 - 运行评估容器并使用 Pixi 设置您的本地工作区。 3. **💻 开发策略** - 探索 [场景描述](./docs/scene_description.md) 以了解如何自定义和探索环境。 - 查看 [AIC Interfaces](./docs/aic_interfaces.md) 以了解用于与传感器和执行器通信的可用接口。 - 参考 [AIC Controller](./docs/aic_controller.md) 以了解如何控制机器人。 - 参考 [挑战规则](./docs/challenge_rules.md) 以确保合规。 - 从 [策略集成指南](./docs/policy.md) 开始实施您的解决方案。 - 参阅 [参与者实用工具](./docs/participant_utilities.md) 获取实用工具列表。 4. **🧪 测试解决方案** - 使用提供的模拟环境测试您的策略。 - 使用 [`aic_engine/config/`](./aic_engine/config/) 中的 `sample_config` 运行 `aic_engine` 以测试不同场景。有关使用不同配置运行 `aic_engine` 的更多信息,请参阅 [aic_engine README 文件](./aic_engine/README.md)。 - 按照 [`aic_engine/config/`](./aic_engine/config/) 中的配置示例创建您自己的测试场景,以便与 `aic_engine` 一起运行。 - 如果遇到问题,请参阅 [故障排除](./docs/troubleshooting.md)。 5. **📦 提交作品** - 按照 [提交指南](./docs/submission.md) 打包您的解决方案。 - 在提交前按照 [这些说明](./docs/submission.md#verify-locally) 在本地测试您的容器。 - 按照 [这些说明](./docs/submission.md#2-upload-your-image-to-our-registry) 通过官方门户提交。 ## 工具包架构 ![AIC Competition Components](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/2446e287c0165624.png) AI for Industry Challenge 工具包分为 **两个主要组件**: ### 1. 评估组件(由主办方提供 - 由主办方运行) 该组件提供完整的评估基础设施: - **`aic_engine`** - 编排试验并计算分数。 - **`aic_bringup`** - 启动模拟环境(Gazebo、机器人、传感器)。 - **`aic_controller`** - 具有力管理的底层机器人控制。 - **`aic_adapter`** - 传感器融合和数据同步。 **您将获得:** 提供摄像头图像、关节状态、力/扭矩测量值和 TF frames 的标准 ROS 传感器主题。 ### 2. 参赛模型组件(您的实现 - 您提交的内容) 这是您开发和提交的内容: - **一个 ROS 2 节点**,遵循 [挑战规则](./docs/challenge_rules.md) 中定义的行为要求。 - **您的自定义逻辑** - 用于处理传感器数据并命令机器人插入线缆的代码。 **您需提供:** 一个包含名为 `aic_model` 的 ROS 2 Lifecycle 节点的容器,该节点响应 `/insert_cable` 动作,并通过标准 ROS topics/services 输出机器人运动命令。 **便捷入口点:** 我们提供了一个 `aic_model` 框架,用于处理所有 ROS 2 样板代码和生命周期管理。您只需实现一个在运行时动态加载的 Python 策略类。有关详细信息,请参阅 [策略集成指南](./docs/policy.md)。 ### 开发与提交工作流程 **开发选项:** - 在容器内开发(推荐 - 与评估环境匹配)。 - 或在原生 Ubuntu 24.04 环境中开发(需要所有依赖项)。 **提交要求:** - 使用提供的 `aic_model` Dockerfile 打包您的解决方案。 - 提交您的容器 - 它必须响应标准 ROS 输入并命令机器人插入线缆。 - 您的容器通过 ROS topics 与评估组件交互。 ## 代码库结构 ``` aic/ ├── aic_adapter/ # Adapter for interfacing between model and controller ├── aic_assets/ # 3D models and simulation assets ├── aic_bringup/ # Launch files for starting the challenge environment ├── aic_controller/ # Robot controller implementation ├── aic_description/ # Robot and environment URDF/SDF descriptions ├── aic_engine/ # Trial orchestration and validation engine ├── aic_example_policies/ # Example policy implementations ├── aic_gazebo/ # Gazebo-specific plugins and configurations ├── aic_interfaces/ # ROS 2 message, service, and action definitions ├── aic_model/ # Template for participant policy implementation ├── aic_scoring/ # Scoring system implementation ├── aic_utils/ # Utility packages and tools ├── docker/ # Docker container definitions └── docs/ # Comprehensive documentation ``` ## 面向参与者的关键包 ### `aic_model` - 便捷策略框架(推荐) 该包提供一个现成的 ROS 2 Lifecycle 节点,可动态加载并执行您的 Python 策略实现。它处理所有 ROS 2 样板代码、生命周期管理和挑战规则合规性,让您专注于实现策略逻辑。 - **位置**: `aic_model/`。 - **文档**: [策略集成指南](./docs/policy.md)。 - **教程**: [创建新策略节点](./docs/policy.md#tutorial-creating-a-new-policy-node)。 ### `aic_interfaces` - 通信协议 定义挑战中使用的所有 ROS 2 消息、服务和动作。 - **位置**: `aic_interfaces/`。 - **文档**: [AIC Interfaces](./docs/aic_interfaces.md)。 ### `aic_example_policies` - 参考实现 展示不同方法和技术的示例策略。 - **位置**: `aic_example_policies/`。 - **README**: [aic_example_policies/README.md](./aic_example_policies/README.md)。 ### `aic_bringup` - 启动环境 用于启动模拟、机器人和评分系统的 Launch 文件。 - **位置**: `aic_bringup/`。 - **README**: [aic_bringup/README.md](./aic_bringup/README.md)。 ### `aic_engine` - 试验编排器 管理试验执行、验证参赛模型并收集评分数据。 - **位置**: `aic_engine/`。 - **README**: [aic_engine/README.md](./aic_engine/README.md)。 ## 更多文档 ### 挑战信息 * **[挑战概述](./docs/overview.md):** 竞赛目标和结构的高层摘要。 * **[竞赛阶段](./docs/phases.md):** 关于资格赛、第一阶段和第二阶段的详情。 * **[资格赛阶段](./docs/qualification_phase.md):** 资格赛阶段试验和评分的详细技术概述。 * **[挑战规则](./docs/challenge_rules.md):** 参赛模型的必需行为。 * **[评分](./docs/scoring.md):** 用于评估性能的指标和方法。 * **[评分测试示例](./docs/scoring_tests.md):** 使用确切命令演练每个评分等级的可复现示例。 ### 技术文档 * **[入门指南](./docs/getting_started.md):** 如何设置您的本地开发环境。 * **[策略集成](./docs/policy.md):** 在 `aic_model` 框架中实现策略的指南。 * **[AIC Interfaces](./docs/aic_interfaces.md):** 您的策略可用的 ROS 2 topics、services 和 actions。 * **[AIC Controller](./docs/aic_controller.md):** 了解机器人控制器和运动命令。 * **[场景描述](./docs/scene_description.md):** 模拟环境的技术细节。 * **[任务板描述](./docs/task_board_description.md):** 任务板的物理布局和规格。 * **[故障排除](./docs/troubleshooting.md):** 常见问题和调试策略。 ### 参考材料 * **[术语表](./docs/glossary.md):** AI for Industry Challenge 中使用的术语和定义 ### 提交 * **[提交指南](./docs/submission.md):** 如何打包并提交您的最终模型。 ## 支持与资源 - **讨论**: 在 [Open Robotics Discourse](https://discourse.openrobotics.org/c/competitions/ai-for-industry-challenge/) 上参与对话并询问有关挑战的问题。鼓励社区参与讨论并互相帮助。 - **问题**: 通过 [GitHub Issues](https://github.com/intrinsic-dev/aic/issues) 报告任何错误或技术问题。请勿使用 Issue 追踪器询问有关挑战的一般性问题。 - **注意**: 在提交新工单之前,请查看 [已知问题](https://github.com/intrinsic-dev/aic/issues?q=is%3Aissue%20state%3Aopen%20label%3A%22known%20issue%22) 和 [错误](https://github.com/intrinsic-dev/aic/issues?q=is%3Aissue%20state%3Aopen%20label%3Abug) 列表。 - **活动页面**: 访问 [AI for Industry Challenge](https://www.intrinsic.ai/events/ai-for-industry-challenge) 获取官方更新。 ## 许可证 本项目采用 Apache License 2.0 许可 - 详情请参阅各个包文件。 [aic_isaac](./aic_utils/aic_isaac/) 文件夹包含采用 BSD-3 许可的文件 - 请参阅 [aic_isaac/LICENSE](./aic_utils/aic_isaac/LICENSE)。
标签:Intrinsic, Pixi, 人工智能, 仿真环境, 传感器接口, 制造业, 威胁情报, 工业4.0, 工业机器人, 开发者工具, 强化学习, 执行器控制, 挑战赛工具包, 智能制造, 机器人学, 机器人操作系统, 模型训练, 深度学习, 用户模式Hook绕过, 策略开发, 网络调试, 自动化, 解决方案提交, 计算机视觉, 请求拦截, 逆向工具