机器人实时控制与嵌入式
实时控制是机器人从「能动」到「动得稳」的分水岭,核心是把控制周期与抖动控制在预算内。本文讲清周期选择与抖动预算分解、PREEMPT_RT 与实时内核配置、cyclictest 延迟测量、EtherCAT 与分布式时钟、CANopen 与 CiA402 驱动器协议、ros2_control 硬件接口层的实时实现、安全停机与看门狗,以及上机调试与延迟回归。
category
实时控制是机器人从「能动」到「动得稳」的分水岭,核心是把控制周期与抖动控制在预算内。本文讲清周期选择与抖动预算分解、PREEMPT_RT 与实时内核配置、cyclictest 延迟测量、EtherCAT 与分布式时钟、CANopen 与 CiA402 驱动器协议、ros2_control 硬件接口层的实时实现、安全停机与看门狗,以及上机调试与延迟回归。
ROS 2 把通信下沉给 DDS,QoS 成为决定「能否连上、延迟多少、丢不丢包」的核心接口。本文讲清 RMW 抽象与 DDS 实现选型、QoS 策略全解与匹配协商机制、deadline 与 liveliness 事件、发现机制与静态端点、Zenoh 等新 RMW、零拷贝与共享内存、实时执行器交互、多机网络拓扑与通信诊断调优。
足式机器人要在离散落脚点与欠驱动约束下保持平衡,控制被拆成步态规划、全身控制与状态估计三层。本文讲清 ZMP 与捕获点判据、线性倒立摆、凸 MPC 步态生成、全身控制 WBC 与任务优先级、接触检测与状态估计、落脚点规划、强化学习步态概览、平衡恢复与仿真到真机迁移的落地方法。
已知地图上的定位是移动机器人长期运行的核心能力,AMCL 用粒子滤波把激光观测与里程计融合成 map 到 odom 的修正。本文讲清里程计模型与标定、漂移来源、AMCL 的粒子滤波与重采样、观测模型选型、全局重定位与绑架问题恢复、多传感器融合定位、地图更新与多楼层场景,以及定位质量评估与现场排障方法。
MoveIt 是机械臂规划的事实标准,真正决定成败的是规划场景、碰撞检测配置与规划器组合。本文讲清规划组与监控场景的管理、碰撞世界与 ACM 的配置、FCL 与自碰撞检测的加速、OMPL 规划器与规划时间的调优、规划请求适配器、笛卡尔路径、MoveIt Task Constructor 抓取流水线,以及与真实控制器的轨迹交接。
Nav2 把定位、全局规划、局部控制、恢复行为与任务编排组织成一组可插拔的服务器进程。本文讲清行为树 XML 的节点类型与自定义、代价地图各层的语义与膨胀调参、规划器与控制器插件选型、恢复行为与进度检查、生命周期启动顺序、过滤器与 keepout 区域,以及与 SLAM 和 AMCL 的接口和仿真回归验证方法。
机器人软件的独特之处在于:算法必须闭环在真实的物理世界里,误差会被积分放大,延迟会直接变成事故。本专题覆盖机器人软件栈全链路:软件分层与感知决策控制回路、ROS2 架构与 DDS、ROS2 实战与 TF2、运动学正解与逆解、动力学与控制、运动规划与轨迹优化、SLAM 与定位建图、传感器融合与状态估计、视觉感知与抓取、Gazebo 与 Isaac Sim 仿真、机械臂操作,以及实时性与安全部署。后续补充的 6 篇进阶内容进一步覆盖 ROS 2 导航栈 Nav2、MoveIt 机械臂运动规划、移动机器人定位、足式与人形机器人运动控制、ROS 2 通信与 QoS,以及机器人实时控制与嵌入式。
机器人从实验室走向现场,要解决实时性、故障恢复与功能安全三件事。本文讲清 PREEMPT_RT 内核与延迟测量、线程优先级与 CPU 隔离、EtherCAT 与 CAN 现场总线、看门狗与故障恢复、ISO 10218 与 ISO/TS 15066 的功能安全要求、STO 与 SS1 等安全功能、协作机器人四种安全模式,以及 OTA 与车队管理。
机械臂从目标位姿到关节力矩要走完规划、逆解、轨迹、伺服四段管线。本文拆解 MoveIt2 的完整执行链路、SRDF 与规划组配置、KDL 与 TRAC-IK 与 IKFast 三类逆解插件的取舍、ros2_control 的控制器与硬件接口、pilz 的 LIN 与 CIRC 笛卡尔运动、夹爪与装配力控,并给出调参与故障排查清单。
仿真是机器人开发中唯一能安全做大规模回归与并行训练的手段。本文对比 Gazebo Classic、gz-sim(Harmonic)与 Isaac Sim 的架构与适用边界,讲清 URDF/SDF/USD 三种描述格式、物理引擎的时间步与求解器参数、接触与摩擦建模、传感器仿真精度、域随机化与 sim-to-real 的差距来源。
抓取是视觉、标定、规划与力控的汇合点,任何一环不准都表现为抓不住。本文聚焦机器人侧的特有环节:相机内参标定与手眼标定、点云滤波与分割、抓取位姿表示与力闭合判据、平行夹爪与吸盘的选择、GPD 与 6-DoF GraspNet 等学习方法、以及料箱抓取流水线的工程实现与失败分析。
状态估计把 IMU、轮速、雷达、视觉等多源数据融成可信位姿与速度,是定位与控制的共同地基。本文给出贝叶斯滤波框架、EKF 与误差状态卡尔曼滤波的完整推导、无迹卡尔曼滤波、IMU 预积分、多传感器融合架构、时间同步与延迟补偿、可观性与一致性分析,以及 robot_localization 与 GTSAM 的落地。
SLAM 要同时估计机器人轨迹与地图,二者互相依赖构成鸡生蛋问题。本文讲清前端扫描匹配与里程计、激光与视觉两条技术路线、后端位姿图与因子图优化、回环检测与地图一致性、占据栅格与 ESDF 等地图表示、重定位与多传感器融合,并给出 Cartographer、LIO-SAM、FAST-LIO2 的选型与调参经验。
运动规划解决的是在高维构型空间里找到一条无碰撞且动力学可行的运动。本文讲清构型空间与碰撞检测、RRT 与 RRT* 的采样规划、PRM 与 BIT* 的图搜索、CHOMP/STOMP/TrajOpt 的优化规划、多项式与梯形速度的轨迹参数化、时间最优轨迹生成,以及移动机器人 Nav2 与代价地图的落地。
动力学描述力矩与运动的关系,是高性能控制的地基。本文给出拉格朗日与牛顿-欧拉两条建模路线、惯量矩阵与科氏力的结构性质、参数辨识的工程方法、计算力矩与 PID 的实现差异、笛卡尔阻抗与导纳控制的公式、以及重力补偿、摩擦建模、增益整定的具体做法与数值示例。
运动学是机械臂与移动平台所有控制算法的地基。本文从齐次变换讲起,给出标准 DH 与改进 DH 的完整定义与转换矩阵推导、六轴臂正解实现、URDF 与 DH 的对应关系、雅可比的几何法与解析法、逆解的解析与数值两类方案、阻尼最小二乘与奇异位形处理,并给出可运行的代码与数值验证。
ROS2 的三种通信原语各有明确边界:话题用于流式数据、服务用于短同步调用、动作用于长耗时可取消任务。本文给出三者的工程写法、自定义消息设计原则、launch 与参数注入、调试工具链、性能分析与实时调优,以及单元测试与 CI 的落地方式,全部配可运行代码。
ROS2 把通信下沉给 DDS、把节点抽象成可管理的生命周期状态机,这两点决定了它与 ROS1 的根本差异。本文讲清 rclcpp 执行器模型、QoS 策略与不兼容矩阵、DDS 发现机制与调优、生命周期节点的状态迁移、组件化与进程内通信、以及参数与执行器线程模型的实际配置。
机器人软件栈从传感器驱动一路铺到规划控制,真正的难点不在单点算法而在时序、实时性与失效隔离。本文以分层视角拆解感知、定位、规划、控制、执行与运维各层的职责边界和数据契约,给出话题频率、端到端延迟预算、算力分配与日志回放的具体参数,并对比 ROS2 与自研中间件的取舍。