AI算法在机器人狗里使用
- 核心需求:说明书 2.4 提及机器人支持 Trot、Flying - Trot 等 4 种常规步态,但现有步态参数(步高、步频、步幅)为固定值,在复杂地形(如 30 度斜坡、碎石路)中易出现打滑、卡顿。强化学习可通过 “试错学习” 动态调整参数,提升步态适应性。
- 应用方案:
- 环境建模:以 “地形类型(平整 / 斜坡 / 碎石)”“运动速度(0 - 1.5m/s)”“机器人姿态偏差(横滚角、俯仰角)” 为状态空间(State),参考说明书 1.3 中 “自由度、重量” 等硬件参数,设定状态边界(如横滚角≤±0.5rad,避免倾倒)。
- 动作空间与奖励机制:动作(Action)为 “步高调整量(±0.02m,基于说明书 2.1.7 步高范围 0 - 0.2m)”“步频调整量(±0.1Hz)”;奖励(Reward)设计为 “正向奖励(如速度稳定在目标值 ±0.1m/s 得 + 5 分、姿态偏差<0.1rad 得 + 3 分)”“惩罚项(如打滑导致速度骤降>0.3m/s 扣 - 10 分、关节电流超限流值扣 - 15 分,关联说明书 2.3 限流保护)”。
- 训练与部署:在 Ubuntu 虚拟机中用 Python(兼容现有 C/C++ 开发环境,可通过 Socket 通信交互)基于 PPO( proximal Policy Optimization )算法训练模型,训练完成后将 “地形 - 最优步态参数” 映射表通过 LCM 通信(复用说明书 3.2 LCM 模块)下发至机器人底层,实时调整步态。例如检测到斜坡地形时,自动将步高从 0.08m 提升至 0.12m,步频从 1.2Hz 降至 0.9Hz,减少打滑。
- 核心需求:调试文档三指出颜色识别依赖人工调节 RGB 阈值,受光照影响大(如强光、阴天需重新校准),神经网络可实现 “光照自适应阈值生成”,减少人工干预。
- 应用方案:
- 网络结构:采用轻量化 CNN(如 MobileNetV2,适配机器人嵌入式计算资源),输入为 “当前环境光照强度(通过摄像头采集图像的亮度均值计算)+ 目标颜色样本(如红色、绿色)”,输出为 “该光照下的最优 RGB 阈值范围(低阈值 R/G/B、高阈值 R/G/B)”。
- 数据训练:采集不同光照(强光、阴天、室内)下各目标颜色(调试文档中提及的红色分岔路、绿色分岔路、棕色住户区)的图像,标注对应最优阈值,构建训练集(1000 组数据),在 Ubuntu 环境中用 PyTorch 训练模型,训练完成后集成到
colorgroup.cpp(调试文档附录提及的颜色阈值处理文件)中。比赛时,机器人实时计算当前光照强度,输入模型得到自适应阈值,自动更新colorGroup.txt配置文件,替代人工启动socketServer调节阈值的操作,例如阴天时红色低阈值从 65 下调至 50,高阈值从 130 上调至 145,确保颜色识别稳定。