# Robot_AutoPilot **Repository Path**: abonaventure/robot_autopilot ## Basic Information - **Project Name**: Robot_AutoPilot - **Description**: 基于:Gao 3A Autopilot V10.0 解耦 支持构型:履带式(Tracked)、腿足式(Legged)、混合式(Hybrid) 核心指标:代码复用率 ≥92% | 新增构型 ≤380 行 | 冗余切换时延 ≤20ms | SPFM=99.2% | PMHF=8.5 FIT | ASIL D 就绪 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-28 - **Last Updated**: 2026-04-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README markdown # Robot_Autopilot_Full_System 工程使用手册(整合优化版) ## 一、工程简介 本工程为工业/消费级机器人飞控与作业管理系统,基于C++无第三方依赖开发,配套Python调试脚本,核心适配人形机器人、四足机器人、扫地机器人、AGV/AMR机器人,支持拓展至工业机械臂、配送、巡检、水下机器人等全场景。系统集成AI轻量化融合、全链路安全防护,可直接部署至ARM64/x86/嵌入式架构量产硬件平台,适配Linux/RT-Thread/FreeRTOS多系统。 核心定位:实现核心机器人专属作业功能与通用控制能力,覆盖常规、复杂、极端全场景体系,兼顾系统鲁棒性、泛化性与功能安全,量产故障率、场景通过率、响应时效均满足工业级高阶标准,同时保留基础版本可直接编译运行、无多余依赖的优势。 代码架构:核心生产代码采用C++开发(仅用标准库+硬件原生接口),配套Python调试代码(轻量简洁,用于参数标定、结果校验),按「通用基础-链路管理-硬件适配-核心控制-作业任务-AI融合-安全兜底」七级分层设计,支持多机器人类型、多作业等级、多架构差异化编译与快速无侵入式拓展。 ## 二、环境准备 ### 2.1 硬件环境要求(按机器人类型+等级分级,整合优化) | 机器人类型 | 推荐硬件配置 | 适配作业等级 | 适配架构 | |------------------|--------------|--------------|----------| | 消费级(扫地机器人) | 4核CPU/8GB RAM/基础传感器(GPS/避障/清扫模块) | 基础级(入门作业) | ARM64/x86 | | 工业级入门(AGV/人形入门) | 8核CPU/16GB RAM/专业传感器(高精度GPS/作业外设) | 进阶级(标准作业) | ARM64/x86 | | 工业级进阶(四足重型/AGV重载) | 12核CPU/24GB RAM/RTK定位/多类型作业外设 | 高级(高精度作业) | ARM64/x86 | | 工业级高端(人形进阶/多机协同) | 16核CPU/32GB RAM/旗舰传感器/双控制冗余 | 旗舰级(复杂作业/多机协同) | ARM64/x86 | | 嵌入式级(微端机器人) | 1核CPU/512MB RAM/简易传感器 | 基础级(轻量化作业) | 嵌入式 | ### 2.2 软件环境要求 - 操作系统:Ubuntu 20.04 LTS (ARM64/x86_64)、RT-Thread 4.0+、FreeRTOS 10.0+ - C++编译器:GCC 9.4.0 及以上(支持C++17标准)、嵌入式编译器(适配嵌入式架构) - Python版本:Python 3.8 及以上(仅用于调试,无多余依赖) - 依赖工具:CMake 3.16+、Git、Shell环境(Linux)、RT-Thread Studio(嵌入式) ## 三、代码获取与初始化 1. 克隆代码仓库(假设仓库地址): ```bash git clone https://xxx/Robot_Autopilot_Full_System.git cd Robot_Autopilot_Full_System ``` 2. 执行环境初始化脚本,自动配置C++/Python基础环境、硬件接口、总线配置(支持环境修复): ```bash chmod +x setup.sh ./setup.sh [机器人类型] # 机器人类型可选:humanoid/quadruped/sweeper/agv_amr/ext(拓展) ``` ## 四、代码使用说明 ## 代码结构 工程采用七级分层架构(通用基础-链路管理-硬件适配-核心控制-作业任务-AI融合-安全兜底),结构清晰、职责精准、解耦彻底,同时保留v0版本可直接编译运行的核心优势,补充v1版本高阶拓展能力,具体结构如下: Robot_Autopilot_Full_System/ ├── README.md # 系统完整使用手册(架构/使用/拓展/排障/量产全维度指南,整合v0基础操作与v1高阶说明) ├── CHANGELOG.md # 版本日志(新增,主/次/补丁版本,迭代/优化/修复/更新记录,追溯版本迭代) ├── LICENSE # 开源许可证(Apache 2.0,工业级合规+开源依赖检查,沿用v0合规基础,补充v1合规细节) ├── CODING_STANDARD.md # 编码规范(新增,C++/Python标准化编码+架构设计原则,规范开发维护) ├── requirements.txt # Python调试/仿真基础依赖(仅基础库:numpy、PyYAML,无多余第三方依赖,生产模式无需安装) ├── CMakeLists.txt # 根目录编译配置(统筹全模块编译,支持机器人类型/作业等级/架构差异化编译,整合v0基础配置与v1高阶编译能力) ├── build.sh # 通用编译脚本(新增,一键/增量/跨架构编译,指定机器人类型/等级,简化编译操作) ├── run.sh # 系统启动脚本(整合v0 run_system.sh,支持指定机型/作业/模式,后台/前台/多机协同运行) ├── setup.sh # 环境初始化脚本(整合v0 env_setup.sh,新增硬件自动识别/环境修复,适配多系统) ├── .gitignore # Git忽略配置(新增,产物/日志/临时文件,工业项目高阶标准,避免冗余提交) ├── config/ # 全局配置目录(动态配置+精准参数+多场景模板+加密校验,整合优化) │ ├── global/ # 全局通用配置(控制/安全/AI/硬件/性能通用参数,全场景复用) │ │ ├── basic/ # 基础通用参数(沿用v0核心参数,保障基础运行) │ │ └── performance/ # 性能配置(新增,按端侧资源动态分配参数,适配不同硬件) │ ├── core_robot/ # 核心机器人配置(四大核心,按机型/精度/模式/故障细分,整合优化) │ │ ├── humanoid/ # 人形机器人(步态/关节/平衡/作业模式/故障/校准参数,细化v0配置) │ │ │ ├── entry/ # 入门级(基础动作,低精度,沿用v0) │ │ │ └── advance/ # 进阶级(复杂动作/负载适应,高精度,沿用v0,补充高阶参数) │ │ ├── quadruped/ # 四足机器人(步态/地形/载荷/作业模式/故障/校准参数,细化v0配置) │ │ │ ├── light/ # 轻型(小载荷,平坦地形,沿用v0) │ │ │ └── heavy/ # 重型(大载荷,复杂地形,沿用v0,补充高阶参数) │ │ ├── sweeper/ # 扫地机器人(路径/清扫/避障/作业模式/故障/校准参数,细化v0配置) │ │ └── agv_amr/ # AGV/AMR机器人(导航/负载/调度/作业模式/故障/校准参数,细化v0配置) │ ├── ext_robot/ # 拓展机器人配置(按工业/消费/嵌入式分级,差异化模板,新增高阶拓展) │ │ ├── industrial/ # 工业级(机械臂/工业巡检,高精度/高稳定性参数) │ │ ├── consumer/ # 消费级(配送/家用巡检,轻量化/低资源参数) │ │ ├── embedded/ # 嵌入式级(微端机器人,极致轻量化参数) │ │ └── compatible/ # 兼容配置(同类型不同硬件型号差异化参数) │ ├── dynamic/ # 动态配置(新增,运行时热更新,无需重启,配套参数校验) │ └── template/ # 通用配置模板(按拓展等级拆分,新增场景快速复用修改,优化v0模板) ├── src/ # 核心源码目录(C++端侧轻量化,七级分层,职责精准,解耦彻底,整合完整代码) │ ├── common/ # 通用基础层(全模块复用,与业务解耦,拓展无感知,整合优化) │ │ ├── util/ # 工具函数(机器人专属+基础工具,坐标/步态/路径/故障码解析,保留v0完整实现) │ │ ├── datatype/ # 通用数据结构(基础+高阶,新增序列化/反序列化接口,保留v0完整定义) │ │ ├── interface/ # 跨模块接口(标准化+版本管理,向前兼容,避免冲突,优化v0接口) │ │ ├── os/ # 系统适配(Linux/RT-Thread/FreeRTOS,资源监控/服务化运行,新增多系统适配) │ │ └── adapter/ # 协议适配(新增,ROS/ROS2/MQTT/Modbus/Profinet,跨平台协议解耦) │ ├── link/ # 链路管理层(新增,硬件/控制层桥梁,链路调度/数据转发/通信容错) │ ├── hardware/ # 硬件适配层(软硬深度解耦,专属硬件适配+高速总线+主动监控,整合优化) │ │ ├── driver/ # 外设驱动(核心专属+工业通用,支持热插拔,响应/精度优化,保留v0核心驱动) │ │ ├── bus/ # 总线适配(CAN/EtherCAT/CAN FD/EtherNet/IP,容错+高带宽,拓展v0总线能力) │ │ └── monitor/ # 硬件监控(实时状态/预故障预警/可视化接口,主动防护,拓展v0监控能力) │ ├── core/ # 核心控制层(重构升级,分层控制,多传感器融合优先级配置,整合优化) │ │ ├── perception/ # 感知模块(多传感器融合,适配各机器人专属感知需求,保留v0核心实现) │ │ ├── localization/ # 定位模块(GPS/IMU/SLAM融合,厘米级定位,动态权重,优化v0定位精度) │ │ ├── mapping/ # 地图模块(轻量化栅格/语义地图,适配路径/调度地图需求,保留v0核心逻辑) │ │ ├── planning/ # 全局规划(新增,抽离路径规划,全局规划+局部轨迹跟踪,补充高阶控制) │ │ └── motion/ # 运动控制(姿态/速度/位置,核心机器人专属运动特性优化,保留v0完整实现) │ ├── task/ # 作业任务层(升级,作业模式+模板库,核心定制+拓展复用,整合优化) │ │ ├── core/ # 核心机器人作业(四大核心,深度定制,按作业模式细分,保留v0完整逻辑) │ │ │ ├── humanoid/ # 人形机器人(巡检/搬运/救援等模式,动作/关节/平衡控制) │ │ │ ├── quadruped/ # 四足机器人(运输/巡检/越障等模式,步态/地形/载荷控制) │ │ │ ├── sweeper/ # 扫地机器人(精扫/快扫/禁区等模式,路径/清扫/避障控制) │ │ │ └── agv_amr/ # AGV/AMR机器人(调度/运输/充电等模式,导航/负载/协同控制) │ │ └── ext/ # 拓展机器人作业(按等级拆分,作业模板库,无侵入式新增) │ ├── ai/ # AI融合层(轻量化升级,多模型并行+梯度降级+高阶能力,整合优化) │ │ ├── common_ai/ # 通用AI逻辑(全AI子模块共用,C++生产,无第三方依赖,保留v0核心) │ │ │ ├── src/ # C++生产代码(数据标准化/AI推理/失效切换/蒸馏模型适配) │ │ │ └── include/ # C++头文件(通用AI接口,全平台统一) │ │ ├── model/ # 模型适配(核心高阶AI+通用模板,端侧量化/剪枝轻量化,拓展v0模型能力) │ │ ├── infer/ # AI推理(多框架适配+多模型并行,推理资源动态分配,优化v0推理效率) │ │ └── fallback/ # AI失效兜底(梯度降级,非简单切换,保留最大作业能力,升级v0兜底策略) │ └── safety/ # 安全兜底层(最高优先级,精细化优化,全链路主动+被动防护,整合优化) │ ├── emergency/ # 紧急处理(多场景策略,硬中断机制,避免二次伤害,细化v0紧急逻辑) │ ├── redundant/ # 冗余防护(多维度冗余,动态无缝切换,无作业中断,拓展v0冗余能力) │ ├── boundary/ # 安全边界(动态电子围栏,分级告警,按场景实时调整,升级v0边界控制) │ └── fault/ # 故障处理(故障自愈/预警/追溯,标准化故障码,降级运行,拓展v0故障处理) ├── script/ # 工具脚本目录(全生命周期高阶升级,开发/调试/测试/量产/运维,整合优化) │ ├── build/ # 编译辅助(版本检查/增量编译/跨架构/编译参数配置,拓展v0编译工具) │ ├── deploy/ # 量产部署(批量远程烧录/加密/升级/回滚,license授权管理,拓展v0部署能力) │ ├── debug/ # 开发调试(远程校准/参数调优/专属可视化面板,故障排查,优化v0调试工具) │ ├── test/ # 测试执行(单元/集成/场景/混沌/压测,一键执行,全量用例,拓展v0测试能力) │ ├── sim/ # 端侧仿真(多机协同+物理引擎融合,仿真/真机参数一键同步,拓展v0仿真工具) │ ├── log/ # 日志运维(分级分模块采集/远程上传/全链路追踪,故障快速定位,优化v0日志工具) │ ├── calib/ # 硬件校准(新增,自动化校准工具,批量导入/导出,提升精度效率) │ └── ci/ # 持续集成(新增,对接CI/CD工具,自动编译/测试/打包,实现工程化落地) ├── debug/ # 调试代码目录(Python,与生产代码解耦,端侧可删除,沿用v0结构,补充高阶调试) │ ├── core_control/ # 核心控制调试(姿态/运动/规划参数可视化调优,远程调试) │ ├── core_task/ # 核心作业调试(各作业模式专属逻辑验证,实时状态监控) │ └── ext_task/ # 拓展场景调试(按等级拆分通用模板,新增场景快速适配) ├── test/ # 测试用例目录(核心全覆盖+拓展分级,高阶测试,鲁棒性验证,整合优化) │ ├── unit/ # 单元测试(按src模块拆分,核心专属+通用函数全覆盖,沿用v0) │ ├── integration/ # 集成测试(层间/模块间联动,核心作业全流程验证,沿用v0) │ ├── core_scene/ # 核心场景测试(复杂动作/地形/户型/调度,多机协同场景,拓展v0) │ ├── ext_scene/ # 拓展场景测试(按工业/消费/嵌入式分级,通用测试模板,新增) │ ├── chaos/ # 混沌测试(新增,硬件/通信/AI失效,验证系统鲁棒性) │ ├── pressure/ # 压力测试(新增,高负载/高频率作业,验证性能稳定性) │ └── benchmark/ # 性能基准测试(多量化指标,可视化报告,端侧资源适配验证,优化v0) ├── output/ # 编译/运行产物目录(自动生成,三级拆分,版本/设备标识,整合优化) │ ├── bin/ # 可执行文件(按核心/拓展/工业/消费/嵌入式/架构三级拆分,优化v0拆分逻辑) │ ├── lib/ # 静态/动态库(核心能力+拓展能力封装,版本管理+依赖说明,拓展v0) │ └── log/ # 运行日志(按机型/时间/等级拆分,自动清理/归档,全链路追踪,优化v0) └── demo/ # 示例工程(核心全模式+拓展多场景,多机协同,快速上手,整合优化) ├── core_humanoid/ # 人形机器人示例(多作业模式,配置+启动+控制示例,沿用v0,补充高阶模式) ├── core_quadruped/ # 四足机器人示例(多作业模式,配置+启动+控制示例,沿用v0,补充高阶模式) ├── core_sweeper/ # 扫地机器人示例(多作业模式,配置+启动+控制示例,沿用v0,补充高阶模式) ├── core_agv_amr/ # AGV/AMR示例(多作业模式,配置+启动+调度示例,沿用v0,补充高阶模式) ├── core_cooperate/ # 核心多机协同示例(新增,人形+四足/AGV+配送协同作业) └── ext_robot/ # 拓展机器人示例(多场景,机械臂/配送/巡检/水下,全流程示例,新增) ### 4.1 核心脚本功能说明(整合优化,新增高阶脚本) |脚本文件|功能描述|使用方式| |---|---|---| |run.sh|系统启动主脚本,支持指定机器人类型、作业等级、运行模式,支持后台/前台/多机协同运行|./run.sh [机器人类型] [作业等级] [模式]| |setup.sh|系统环境初始化脚本,适配多系统、多机器人,支持硬件自动识别、环境修复|./setup.sh [机器人类型]| |build.sh|通用编译脚本,支持一键/增量/跨架构编译,指定机器人类型、作业等级|./build.sh [机器人类型] [作业等级] [架构]| |requirements.txt|Python依赖清单,仅含基础库,用于调试代码运行|pip install -r requirements.txt| ### 4.2 运行模式说明(保留基础,新增高阶模式) • 生产模式(prod):仅启动C++生产代码,剔除调试模块,用于量产部署,后台运行,支持批量部署 • 调试模式(debug):启动C++生产代码+Python调试代码,开启日志采集,支持远程调试,用于开发调试 • AI模式(ai):启用AI数据预处理模块,适配高级作业等级,支持AI多模型并行,支持梯度降级策略 • 协同模式(cooperate):新增,启动多机协同能力,支持多机器人协同作业 ### 4.3 一键启动示例(覆盖基础与高阶场景) 1. 扫地机器人,基础级作业,生产模式: ```bash ./run.sh sweeper basic prod ``` 2. 人形机器人进阶版,高级作业,调试模式: ```bash ./run.sh humanoid advance debug ``` 3. AGV/AMR机器人,进阶级作业,AI模式: ```bash ./run.sh agv_amr advance ai ``` 4. 人形+AGV协同作业,高级作业,协同模式: ```bash ./run.sh cooperate high cooperate ``` ## 五、部署步骤(整合基础部署与高阶量产部署) ### 5.1 开发/测试环境部署 1. 初始化环境:./setup.sh [机器人类型] 2. 安装Python调试依赖(可选):pip install -r requirements.txt 3. 编译代码(可选,run.sh可自动编译):./build.sh [机器人类型] [作业等级] [架构] 4. 启动调试模式:./run.sh [机器人类型] [作业等级] debug ### 5.2 量产环境部署 1. 初始化环境:./setup.sh [机器人类型] 2. 执行批量量产部署脚本:./script/deploy/prod_deploy.sh [机器人类型] [作业等级] [批量数量] 3. 启动生产模式:./run.sh [机器人类型] [作业等级] prod 4. 版本回滚(异常处理):./script/deploy/rollback.sh [机器人类型] [目标版本] ### 5.3 嵌入式环境部署 1. 初始化嵌入式环境:./setup.sh [机器人类型] --embedded 2. 编译嵌入式版本:./build.sh [机器人类型] basic embedded 3. 烧录部署:./script/deploy/embedded_deploy.sh [设备地址] [编译产物路径] ## 六、常见问题排查(补充高阶问题,完善排查逻辑) 1. 环境初始化失败:检查机器人类型参数/操作系统版本;嵌入式环境需检查编译器配置;执行./setup.sh [机器人类型] --repair修复环境。 2. 代码启动失败:检查硬件配置是否满足对应机器人要求,查看日志 /var/log/robot_autopilot.log;协同模式需检查多机通信配置。 3. 传感器数据无效:检查传感器连接,执行传感器校准脚本 ./script/calib/sensor_calib.sh [机器人类型];批量校准可执行./script/calib/batch_calib.sh。 4. Python调试脚本无法运行:确认已安装requirements.txt中的依赖,Python版本≥3.8;远程调试需检查网络连接。 5. AI模型加载失败:检查蒸馏模型路径配置,执行 ./script/ai_distill_tools/distill_verify.py 校验精度;多模型并行需检查端侧算力配置。 6. 多机协同失败:检查协同调度参数配置,确认链路通信正常,查看链路日志 ./output/log/link.log。 ## 七、场景拓展规范(分级标准化,低耦合/高复用) 详见本工程「四、场景拓展规范」章节,涵盖L1-L4分级标准、标准化接入流程、协同作业规范。 ## 八、联系方式与许可证 • 许可证:Apache 2.0(详见LICENSE文件) • 问题反馈:xxx(假设反馈渠道) • 版本迭代:详见CHANGELOG.md • 编码规范:详见CODING_STANDARD.md