Skip to content

NoneOfEver/rm_test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

wbr_control 项目简介

设计并实现一套面向复杂地形的串联型轮腿机器人控制系统(整车约 25 kg),完成从状态估计、运动控制到视觉感知与决策的全链路闭环开发。

  • 控制侧基于 LQR + TinyMPC 构建轮腿系统控制器,实现底盘平衡与双腿伸缩调节,引入 VMC 提升地形适应能力,支持越障与动态跳跃(实测约 30 cm);同时建立世界 / 底盘 / 云台多坐标系变换模型,实现底盘高速旋转下云台姿态稳定。
  • 状态估计方面基于 BMI088 IMU 构建 QEKF + AHRS 姿态解算链路,支撑高频闭环控制;功率侧通过 RLS 建模与分配策略结合超级电容优化瞬态功率输出。
  • 视觉侧基于 YOLO + PnP + MPC + 弹道模型 构建“感知 → 预测 → 控制”链路,实现目标识别与自动瞄准。

主要性能指标:

  • 控制频率 1k Hz
  • 系统延迟 < 2 ms
  • 视觉处理延迟 10 ms(100 FPS)

系统实现方面,基于 HPM6754 双核 MCU(816 MHz) 进行异构任务划分:CPU1 负责控制算法与状态估计,CPU0 负责外设驱动与通信调度,并设计核间通信(IPC)实现低延迟数据同步。

在软件架构上基于 Zephyr RTOS + zbus 构建模块化发布-订阅系统,实现控制、感知与通信多线程解耦与并行执行;同时基于 Zephyr Shell 构建调试接口,结合 MAVLink + QGroundControl 实现实时数据可视化与在线参数调优,并支持参数 Flash 持久化。

  • 核间通信延迟 < 10 μs
  • 调参响应时间 < 20 ms

分层架构

层级 职责
src/ Zephyr 入口,main() 仅做启动转发
bootstrap/ 启动编排、模块注册与拉起
modules/ 业务模块(remote_input、chassis 等)
services/ 执行器抽象、调参服务、运行时初始化
channels/ zbus 消息主题定义
protocols/ 电机协议(DJI、DM、Cubemars)
platform/ 板级、驱动、存储适配
debug/shell/ Shell 调试命令

主要链路

uart_dispatch 收到遥控器数据
    ↓
remote_input_module 解析并发布 zbus channel
    ↓
chassis_module 订阅并计算,发布底盘指令
    ↓
actuator_service 转换为 CAN 帧下发到电机

快速上手

环境搭建

# 1. 安装 Python 虚拟环境和 West
python -m venv .venv
source .venv/bin/activate  # 或 .venv\Scripts\activate
pip install west

# 2. 新建 workspace 并 clone 工程
mkdir rm_test_ws
cd wbr_control_ws
west init -m https://github.com/NoneOfEver/wbr_control.git

# 3. 拉取依赖
west update

构建与烧录

# 构建
west build -p always -b hpm6e00evk_v2 -s .

# 烧录
west flash

About

zephyr os + hpmicro MCU + MavLink 面向RoboMaster场景的控制框架

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors