How fanhao375/microduck-replica works
Microduck 复刻是一个围绕双足机器鸭的复刻与实验仓库:从仿真模型辅助机械分析,到强化学习训练,再到舵机、IMU 的台架调试。图中保留了 README 重点介绍的训练、网页调试、IMU 固件和机械分析分支。未采样的模块只按 README 与文件树描述;箭头仅表示文档明确的调用或数据交互。
Main entry points: train_cli.py 训练入口 · server.py 调试台服务 · main.c 固件主循环 · tasks 训练任务配置
Components 28
策略训练
- 训练任务配置
software/training/src/mjlab_microduck/tasks - MDP 函数
software/training/src/mjlab_microduck/tasks/mdp.py - 执行器模型
software/training/src/mjlab_microduck/actuator - 训练入口
software/training/src/mjlab_microduck/train_cli.py - 远程训练提交
software/training/src/mjlab_microduck/hf_jobs.py - 策略工作流工具
software/training/scripts
网页调试
IMU 固件
- 固件主循环
hardware/imu_to_dxl/firmware/Core/Src/main.c - 板级接口
hardware/imu_to_dxl/firmware/Core/Src/board.c - 总线协议解析
hardware/imu_to_dxl/firmware/Core/Src/protocol.c - 寄存器映射
hardware/imu_to_dxl/firmware/Core/Src/control_table.c - IMU 传感器处理
hardware/imu_to_dxl/firmware/Core/Src/imu.c - LSM6DSV16X 驱动
hardware/imu_to_dxl/firmware/Drivers/LSM6DSV16X/lsm6dsv16x_reg.c
舵机台架
- HD1910 测试 CLI
tools/FeeTech_HD1910M_Servo/src/main.rs - HD1910 驱动库
tools/FeeTech_HD1910M_Servo/src/lib.rs - STS3215 测试工具
tools/sts3215Servo_testtool/src/main.rs - STS 总线驱动
tools/sts3215Servo_testtool/src/sts.rs
Other components
- 工程师
- mjlab 仿真框架
- 浏览器操作员
- 舵机总线
- LSM6DSV16X
- MJCF 模型输入
Connections 30
- 工程师 → 训练入口: 启动训练
- 训练入口 → 训练任务配置: 选择任务
- 训练入口 → mjlab 仿真框架: 运行训练
- 训练任务配置 → MDP 函数: 配置函数
- 训练任务配置 → 执行器模型: 配置执行器
- 训练入口 → 远程训练提交: 提交远程任务
- 工程师 → 策略工作流工具: 运行策略工具
- 策略工作流工具 → mjlab 仿真框架: 仿真推理
- 浏览器操作员 → 调试台服务: 发送操作
- 调试台服务 → 飞特协议驱动: 读写舵机
- 飞特协议驱动 → 舵机总线: 收发数据
- 调试台服务 → 舵机总线模拟器: 模拟总线
- 调试台服务 → IMU 观测桥: 读取姿态
- IMU 观测桥 → 固件主循环: 观测固件状态
- 固件主循环 → 板级接口: 收发总线与日志
- 固件主循环 → 总线协议解析: 解析与应答
- 固件主循环 → IMU 传感器处理: 轮询传感器
- 总线协议解析 → 寄存器映射: 读取寄存器
- 寄存器映射 → IMU 传感器处理: 读取快照
- IMU 传感器处理 → LSM6DSV16X 驱动: 驱动传感器
- LSM6DSV16X 驱动 → LSM6DSV16X: 读取传感数据
- 工程师 → HD1910 测试 CLI: 执行台架测试
- HD1910 测试 CLI → HD1910 驱动库: 调用驱动
- HD1910 驱动库 → 舵机总线: 收发数据
- 工程师 → STS3215 测试工具: 执行台架测试
- STS3215 测试工具 → STS 总线驱动: 调用总线操作
- STS 总线驱动 → 舵机总线: 收发数据
- 工程师 → 装配接触分析: 分析装配接触
- 装配接触分析 → MJCF 模型输入: 读取模型
- 工程师 → 装配模型工具: 处理装配模型