新闻中心

EEPW首页 > 机器人 > 设计应用 > Bolt 四足机器人:结构示意与核心代码深度解析

Bolt 四足机器人:结构示意与核心代码深度解析

作者: 时间:2026-01-20 来源: 收藏


Bolt :The quadruped robotic dog

一、系统结构示意(文字版,可直接配合制图)

1. 分层控制总体架构

Bolt 采用典型的“非实时计算 + 实时控制 + 功率执行”分层设计,其核心思想是:
Linux 侧负责算法与系统调度,MCU 侧负责确定性实时控制,电机驱动器负责高频闭环。

结构层级说明如下:

  • ROS2 算法与应用层

    • 遥操作(Teleop)

    • 步态规划(Gait Planning)

    • 逆运动学(IK Solver)

    • 环境与定位传感节点(气体、温湿度、氧气、VOC、IMU、相机、雷达等)

    • 数据回传与监控

  • 高层控制层:Raspberry Pi

    • 运行 ROS2 Humble

    • 计算足端轨迹与关节目标(角度/速度)

    • 传感器数据融合

    • 无线通信与远程控制

    • 不直接驱动电机,仅输出结构化运动指令

  • 实时控制层:Teensy 4.1

    • 固定频率执行控制循环

    • 接收关节目标并施加安全约束

    • 统一管理 12 个关节的控制逻辑

    • 通过 CAN 总线与电机驱动器通信

  • 电机控制层:MKS ODrive Mini

    • BLDC FOC 控制

    • 电流/速度/位置闭环

    • 编码器反馈

    • 多轴并行、确定性执行

  • 执行机构层

    • 12 × BLDC 电机

    • 9:1 减速箱

    • 四条腿,每腿三自由度(Abduction / Hip / Knee)


2. 模块化载荷与任务闭环

Bolt 并非单一运动平台,而是“移动侦察系统”:

  • 机动能力:由四足结构 + 实时控制保障稳定站立、行走与跨障。

  • 信息采集:ROS2 传感节点实时发布气体浓度、环境参数、视觉/深度等数据。

  • 决策支持:操作端可实时监控环境风险,在异常情况下触发告警或停机。


二、实时控制代码核心解析(Teensy 侧)

Bolt 的 Teensy 程序是整个系统的“实时中枢”。其设计重点不在于复杂算法,而在于 稳定、可控、易扩展


1. 模块化对象设计

代码在初始化阶段即完成关键功能模块的封装:

  • CAN 与 ODrive 控制对象
    统一管理 12 个电机轴,通过 CAN 总线发送位置/模式指令。

  • 遥控接收模块(RC Receiver)
    将多通道 PWM 信号映射为行走、转向、模式切换等控制输入。

  • LCD 本地交互模块
    提供模式选择、校准提示与状态确认,避免误操作。

  • 逆运动学模块(IK)
    根据腿部几何参数,将足端 (x, y, z) 坐标转换为关节角度。

工程意义
Teensy 主循环只做调度与安全控制,而非混杂通信、UI 与数学计算,结构清晰,便于后期维护。


2. 标定数据:offset 与 dir 的关键作用

每条腿、每个关节都存在机械与装配差异。代码通过两组数组解决这一现实问题:

  • offset(关节零位偏置)

    • 将理论关节角对齐到实际机械零位。

    • 不同腿、不同关节可独立配置。

  • dir(方向系数 ±1)

    • 统一不同电机安装方向导致的正负号差异。

    • 确保“同一动作指令”在四条腿上语义一致。

结论
这两张表是四足机器人“能否稳定站起来”的关键,比算法本身更重要。


3. 从足端坐标到电机位置:核心控制链

实时控制的核心逻辑可概括为四步:

  1. 逆运动学计算
    输入足端坐标,得到每个关节的理论角度(deg)。

  2. 零位与方向修正
    使用 offset 与 dir 将理论角度映射到实际机械坐标系。

  3. 单位换算

    • 角度 → 转数

    • 乘以减速比(9:1)

    • 得到电机轴的目标位置

  4. 下发至 ODrive

    • 每条腿 3 个轴

    • 总计 12 轴并行更新

这种设计使得:

  • 上层算法只关心“腿往哪放”;

  • 下层驱动只关心“电机转多少”。


4. 步态生成方式:关键帧序列法

当前实现采用 足端关键帧 + 时间延迟 的方式生成步态:

  • 抬脚 → 前摆 → 落脚 → 重心转移

  • 通过多次调用位置更新函数并插入延时实现节律

  • 支持前进、后退、左右平移与组合动作

工程评价

  • 优点:

    • 逻辑直观

    • 便于调试与标定

    • 适合原型验证阶段

  • 局限:

    • 依赖延时函数,占用主循环

    • 难以扩展到高速或复杂地形


5. 遥控与状态机设计:面向真实场景的安全逻辑

程序并未直接“通电即动”,而是引入明确的状态机:

  • 待机状态:仅显示信息,不使能电机

  • 模式选择:通过遥控通道切换功能

  • 确认机制:短按切换、长按确认

  • 分腿校准:每次只校准一条腿,降低风险

这种设计显著降低了在狭小空间或调试阶段的误操作风险,是工程化实现的重要体现。


6. Teleop(遥操作)模式的初始化逻辑

在进入行走前,程序会:

  1. 依次使能 12 个电机轴

  2. 统一配置控制模式(位置/速度环)

  3. 按关节类型设置参数(而非逐轴单独调参)

  4. 进入持续遥控循环,根据摇杆实时触发步态

这种“集中初始化 + 统一参数模板”的方式,大幅提升了系统一致性和可维护性。


三、工程总结

Bolt 的价值并不只在于“四足会走”,而在于其 清晰的系统分层、务实的实时控制策略以及面向真实应用的安全设计

  • Raspberry Pi 专注算法与通信

  • Teensy 专注确定性控制

  • ODrive 专注高性能电机闭环

  • 标定与状态机保障系统可控

这一架构为后续引入力控、更高级步态规划或学习算法打下了扎实基础,也具备向工业级应用演进的潜力。


关键词:

评论


相关推荐

技术专区

关闭