Tech Station

理论基础 › 🔧 真机部署

🔧

真机部署 Real-Robot Deployment

算法只是一半,让它在真机上以正确的频率、正确的顺序、安全地跑起来是另一半。这一模块讲硬件(执行器、传感器、计算平台与低成本平台)、软件栈(ROS 2、实时 Linux、总线通信)、分层控制架构与时序、神经网络策略的推理部署,以及标定、安全、日志与实验方法。

已掌握 0/5

学完你将能够

1硬件:执行器、传感器、计算与平台 Actuators, Sensors, Compute & Platforms

⏱ 约 15 小时

执行器决定了控制器能做什么:准直驱(QDD)电机力矩透明、带宽高,是足式与灵巧手的主流;谐波减速器精度高但摩擦大;串联弹性执行器(SEA)安全但带宽低。搭配 IMU、编码器、力 / 力矩传感器、相机与合适的计算平台,再从低成本开源平台起步动手。

核心要点

  • 电机与传动:BLDC + FOC、减速比与反射惯量、力矩透明性;QDD / 谐波 / 行星 / SEA 的取舍
  • 执行器控制模式:位置 / 速度 / 力矩 / 阻抗(PD + 前馈力矩);电流环 → 力矩的映射与限制
  • 传感器:绝对 / 增量编码器、IMU、关节力矩、六维力、触觉、相机(RGB-D、事件相机)
  • 计算:实时 MCU / 电机驱动板、嵌入式 Linux(Jetson)、工作站 GPU 推理;功耗与散热
  • 低成本入门平台:SO-100 / Koch 机械臂(LeRobot)、ALOHA、Unitree Go2 / G1、Crazyflie 四旋翼、开源执行器
自测:学完应该能回答
  1. 为什么高减速比会让执行器「感觉不到」外力?反射惯量与减速比的关系?
  2. 力矩控制与位置控制的执行器,各自适合什么控制算法?

推荐资料(全部免费)

2软件栈:ROS 2、实时 Linux 与通信 ROS 2, Real-Time Linux & Communication

⏱ 约 20 小时

ROS 2 提供节点、话题、服务、参数与工具链(rviz、rosbag),ros2_control 提供硬件抽象与控制器管理;kHz 级控制循环需要实时内核(PREEMPT_RT)、线程优先级与内存锁定;与电机驱动的通信走 EtherCAT / CAN-FD,进程间用 DDS / ZeroMQ / LCM / 共享内存。理解每一层的延迟与抖动来源。

核心要点

  • ROS 2 基本概念与工具;QoS、执行器(executor)与回调;ros2_control 的硬件接口与控制器链
  • 实时性:PREEMPT_RT、SCHED_FIFO、CPU 隔离、内存锁定;测量循环抖动(cyclictest)
  • 总线:EtherCAT(分布式时钟)、CAN / CAN-FD、串口;驱动板固件与主控的分工
  • 中间件选择:DDS vs ZeroMQ / LCM / 共享内存;何时绕开 ROS 走直连
  • 工程实践:容器化、配置管理、启动与监控、多机时间同步(PTP)
自测:学完应该能回答
  1. 为什么 1 kHz 控制循环里不该做内存分配和日志 IO?
  2. EtherCAT 的分布式时钟解决了什么问题?

推荐资料(全部免费)

3分层控制架构与时序 Control Architecture, Rates & Latency

⏱ 约 15 小时

真机控制是一座分层塔:高层规划(1–10 Hz)→ MPC / 策略(50–500 Hz)→ 全身 / 关节控制(1 kHz)→ 电机电流环(10–40 kHz)。每一层的频率、接口和失效行为都要设计;状态机 / 行为树组织模式切换;延迟补偿与时间戳对齐决定了整个系统能否稳定。

核心要点

  • 频率分层与接口约定:上层给什么(轨迹 / 目标 / 力矩前馈 + PD 增益),下层如何插值与保持
  • 延迟预算:感知 → 估计 → 决策 → 执行的端到端延迟,时间戳、外推与补偿
  • RL 策略部署的典型接口:策略输出目标关节角,关节 PD 在 kHz 级执行;增益与仿真一致
  • 模式管理:状态机 / 行为树(站起、行走、跌倒恢复、急停),平滑切换与混合
  • 失效行为设计:通信超时、传感器丢失、求解器不收敛时怎么办
自测:学完应该能回答
  1. 为什么 RL 策略通常以 50 Hz 输出目标关节角而不是直接输出 1 kHz 力矩?
  2. 如果状态估计延迟 20 ms,MPC 应该如何补偿?

推荐资料(全部免费)

4神经网络策略的推理部署 Deploying Learned Policies

⏱ 约 15 小时

把 PyTorch 里训练的策略搬到机器人上:导出为 ONNX / TorchScript,用 ONNX Runtime / TensorRT 在 CPU 或 Jetson 上以稳定延迟推理;观测管线(归一化、历史堆叠、传感器对齐)必须与训练时逐位一致;VLA 等大模型需要异步推理、动作分块与远程推理服务。

核心要点

  • 模型导出与推理引擎:ONNX / TorchScript / TensorRT;量化与延迟测量;确定性与 warm-up
  • 观测一致性:归一化统计、历史缓冲、单位与坐标系、传感器时间对齐——最常见的部署 bug
  • 动作后处理:限幅、平滑 / 低通、动作分块与时间集成、与 PD 增益的匹配
  • 大模型策略(VLA、扩散策略):推理延迟与动作分块、异步执行、云端 / 边缘推理服务
  • 监控与回滚:推理超时检测、置信度 / OOD 检测、切换到保守控制器
自测:学完应该能回答
  1. 训练时观测归一化用的均值 / 方差在部署时弄错会发生什么?如何自检?
  2. 动作分块为什么能缓解大模型推理延迟?它的代价是什么?

推荐资料(全部免费)

5标定、安全与实验运维 Calibration, Safety & Experimental Practice

⏱ 约 15 小时

真机实验的成败往往取决于「非算法」环节:机器人有没有标定好、有没有硬件急停与软件安全滤波、数据有没有完整记录、实验能不能复现。把这些做成流程,才能把研究时间花在算法上。

核心要点

  • 标定流程:关节零位与运动学标定、相机内外参与手眼标定、IMU 与力传感器零偏、定期复检
  • 安全分层:硬件急停与限流、固件限位、软件关节 / 速度 / 力矩限幅、安全滤波器(CBF)、看门狗与超时
  • 分级测试:吊挂 / 支架 → 低增益 → 受限空间 → 全功能;每次改动只改一个变量
  • 日志与可视化:rosbag / MCAP、Foxglove、rerun;记录一切(观测、动作、时间戳、版本号)
  • 实验方法:预注册指标、多次重复、失败模式分类、硬件维护与备件
自测:学完应该能回答
  1. 一个安全滤波器应该放在控制塔的哪一层?为什么?
  2. 为什么日志里必须记录代码 / 模型版本与配置哈希?

推荐资料(全部免费)