IB-Robot社区贡献指南:如何参与开源项目开发与代码提交 IB-Robot社区贡献指南如何参与开源项目开发与代码提交【免费下载链接】IB_RobotSave the code of IB-Robot, an AI robot execution framework developed by openEuler Embedded for embodied intelligence scenarios. It includes references to the forked version of tensormsg, references to lerobot fork, code references to the lerobot_ros2:ros2_ws branch, as well as some code related to development usability.项目地址: https://gitcode.com/openeuler/IB_Robot前往项目官网免费下载https://ar.openeuler.org/ar/欢迎加入IB-Robot开源社区作为融合LeRobot与ROS 2生态的智能具身机器人开发框架IB-Robot致力于为开发者提供从采集、训练到部署的完整工具链。无论您是机器人初学者还是经验丰富的开发者本指南将带您快速上手了解如何为这个激动人心的项目贡献代码。项目简介智能融合机器人开发框架IB-Robot是一个创新的开源框架它巧妙地将Hugging Face LeRobot机器学习生态与ROS 2机器人中间件相结合为具身智能研发提供了完整的解决方案。项目支持Ubuntu 22.04、openEuler Embedded 24.03和OpenHarmony 5.1等多种平台涵盖从仿真到实机部署的全流程。图IB-Robot系统架构图展示了从感知、决策到执行的完整闭环体系准备工作配置您的开发环境在开始贡献之前您需要正确配置开发环境和个人仓库。1. 克隆主仓库git clone https://gitcode.com/openeuler/IB_Robot.git cd IB_Robot2. 配置个人Fork和Remote如果您计划长期贡献建议配置个人fork# 将您的fork设置为origin git remote set-url origin https://gitcode.com/您的用户名/IB_Robot.git # 添加上游仓库 git remote add upstream https://atomgit.com/openeuler/IB_Robot.git # 验证配置 git remote -v3. 初始化开发环境IB_Robot使用ROS 2和Python 3.10环境执行以下命令加载环境source .shrc_local项目结构快速了解理解项目结构有助于您找到正确的贡献方向IB_Robot/ ├── src/ # ROS 2包源码核心功能模块 │ ├── robot_config/ # SSOT机器人配置关节、频率、契约定义 │ ├── inference_service/ # ACT/RKNN推理服务 │ ├── action_dispatch/ # 动作分发与执行 │ ├── task_dispatch/ # 任务调度 │ └── ...更多模块 ├── libs/ # 外部依赖库 │ ├── lerobot/ # LeRobot子模块通过patch管理 │ └── atomgit_sdk/ # AtomGit API SDK ├── scripts/ # 构建和部署脚本 └── .agents/skills/ # AI Agent技能库贡献流程从代码修改到提交1. 选择合适的贡献方向IB-Robot社区欢迎多种类型的贡献Bug修复修复现有功能中的问题功能增强改进现有模块或添加新功能文档完善补充使用说明、API文档或示例测试用例增加单元测试或集成测试性能优化提升系统性能或资源利用率2. 创建开发分支始终在独立分支上进行开发git checkout -b feature/your-feature-name3. 遵循编码规范项目使用Ruff强制执行Python代码规范Python 3.10行长度限制为120字符使用双引号格式化字符串提交前仅对修改的文件执行lint检查# 仅检查暂存的Python文件 STAGED_PY$(git diff --cached --name-only --diff-filterACM -- *.py) if [ -n $STAGED_PY ]; then ruff check $STAGED_PY ruff format $STAGED_PY fi重要提示禁止运行全量ruff check --fix .或ruff format .这会影响无关文件。4. 特殊规则libs/lerobot子模块libs/lerobot是通过patch栈管理的子模块禁止在普通commit中直接提交libs/lerobot的修改如需修改lerobot必须通过ibrobot-lerobot-patch技能导出为patch文件正常提交时应排除libs/lerobot# 检查暂存范围 git status # 仅暂存相关文件排除lerobot git add specific-paths # 如果意外暂存了lerobot git restore --staged libs/lerobot提交规范openEuler DCO要求所有提交必须遵循严格的格式规范确保代码审查效率。提交信息格式area: subject body footer_tags标题部分Title格式模块: 简要描述例如robot_interface: fix moveit crash长度限制非revert提交最多80字符revert提交最多102字符主题至少2个单词无结尾标点冒号后必须有一个空格禁止使用中文字符正文部分Body详细说明为什么和做了什么每行最多100字符URL除外禁止使用中文字符页脚标签Footer必须包含Signed-off-by: 姓名 邮箱Signed-off-by必须是最后一行允许的标签Fixes、Closes、Co-developed-by、LinkFixes格式Fixes: 12字符SHA1(原始提交标题)签名提交示例# 使用-s参数自动添加签名 git commit -s -m robot_config: add joint calibration support Add support for automatic joint calibration in the robot_config module. This includes: - Calibration data collection - Offset calculation - Validation checks Fixes: abc123def456(robot_config: initial implementation) Signed-off-by: Zhang San zhangsanexample.com验证门禁依赖变更的特殊要求当您的修改涉及以下文件时需要在PR描述中包含双平台验证结果触发验证的文件ROS包的package.xml依赖声明全局设置/构建工作流文件scripts/setup.shscripts/build.shscripts/setup/platforms/*.sh顶层CMakeLists.txt顶层pyproject.toml验证要求在Ubuntu 22.04 Docker中运行setup.sh build.sh在openEuler Embedded Docker中运行setup.sh build.sh将验证结果包含在PR描述中推送与PR创建流程1. 推送到个人Forkgit push origin feature/your-feature-name2. 创建Pull Request推送后系统会生成PR链接https://atomgit.com/用户名/IB_Robot/merge_requests/new?source_branch当前分支3. 更新现有PR如果分支已有PR需要同步更新PR描述获取PR完整上下文分析所有提交并重新生成完整的PR描述如果触发验证门禁运行双平台验证更新PR描述最佳实践与常见问题✅ 正确做法精确暂存使用git add 具体路径而非git add .提交前检查运行git diff --cached --stat确认暂存范围遵循规范严格遵守DCO提交格式及时同步定期从上游仓库拉取更新❌ 避免的错误不要提交无关文件仔细检查git status输出不要直接修改lerobot使用patch栈管理不要忽略验证门禁依赖变更必须验证不要使用中文提交信息和代码注释使用英文获取帮助与参与讨论查看官方文档docs/目录包含详细技术文档阅读技能指南.agents/skills/README.md了解AI Agent功能参考现有代码学习项目中的实现模式参与社区讨论通过PR评论进行技术交流总结成为IB-Robot贡献者参与IB-Robot开源项目不仅能让您接触到前沿的机器人技术还能与全球开发者共同推动具身智能的发展。记住以下关键点环境先行始终从source .shrc_local开始规范至上严格遵守DCO提交规范模块管理正确处理lerobot子模块验证为重依赖变更必须双平台验证精准贡献只提交与当前任务相关的文件每一次高质量的贡献都是对开源社区的宝贵支持。我们期待看到您的代码成为IB-Robot框架的一部分共同构建更智能的机器人未来准备好开始您的贡献之旅了吗从修复一个小bug或完善一段文档开始吧【免费下载链接】IB_RobotSave the code of IB-Robot, an AI robot execution framework developed by openEuler Embedded for embodied intelligence scenarios. It includes references to the forked version of tensormsg, references to lerobot fork, code references to the lerobot_ros2:ros2_ws branch, as well as some code related to development usability.项目地址: https://gitcode.com/openeuler/IB_Robot创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考