- 心跳看门狗:用 tmux 让视觉节点自己爬起来
250 ms 轮询的心跳超时检测、通过 tmux 窗口重启整条视觉链路,以及看门狗重启自身时那段交替命名逻辑里的缺陷。
4 min read - Foxglove 在线调参:把 ROS2 参数回调接进比赛现场
用 foxglove_bridge 暴露参数与可视化话题,on_set_parameters 回调的校验时机,以及"每帧 get_parameter"这种写法的真实代价。
3 min read - 弹道补偿:从 RK4 数值积分退回查表法的取舍
含空气阻力的弹道微分方程与 RK4 离散化,Ceres 自动微分标定阻力系数,以及最终为什么线上跑的是一张十档系数表。
7 min read - 跟踪状态机:一帧里跑了两次 EKF 更新
PATROL / DETECTING / TRACKING / TEMP_LOST 四态迁移与丢帧阈值的动态换算,以及排查跟踪"过于跟手"时挖出的回调重复调用。
5 min read - TF2 坐标变换:ROS2 中的多坐标系管理最佳实践
深入理解 ROS2 TF2 系统的工作原理、坐标系命名规范和常见踩坑指南,是机器人视觉系统的基础设施。
2 min read - ROS2 组件化开发实践:Component 与 Lifecycle 节点
在大型机器人项目中,如何利用 ROS2 的 Component 和 Lifecycle 机制构建模块化、可管理的软件架构。
2 min read - 提前量的四笔账:飞行时间与多级延迟补偿
从图像时间戳到弹丸命中,中间叠了消息延迟、飞行时间、预测延迟、控制器延迟四层,以及控制器延迟为什么被算了两次。
5 min read - 打哪块板、什么时候开火:装甲板选择与命中判据
从整车状态反推四块装甲板位置,按朝向角挑最正的一块,以及 TRACKING_ARMOR / TRACKING_CENTER 双模式在高转速下的切换。
4 min read - 装甲板跳变:yaw 折叠与半径互换
陀螺目标切换装甲板时状态被拽飞的根因排查——从 ±π 折叠、双半径互换到高度差补偿,以及跳变后状态错误的兜底重置。
5 min read - 9 维 EKF 整车建模:把四块装甲板看成一个旋转刚体
状态向量 [xc, vxc, yc, vyc, za, vza, yaw, vyaw, r] 的物理含义、非线性观测方程与雅可比推导,以及为什么跟踪整车中心比跟踪单块装甲板稳。参考华南师范大学陈君 rm_vision 开源实现。
6 min read - EKF 多传感器融合:IMU + 视觉的鲁棒目标跟踪
在机器人目标跟踪中,如何融合 IMU 姿态数据和视觉检测结果,使用扩展卡尔曼滤波实现平滑稳定的目标状态估计。
2 min read - PnP 位姿解算:从理论到实践
深入理解 PnP (Perspective-n-Point) 问题的数学原理,并通过 OpenCV + Ceres 实现高精度位姿估计。
2 min read - 装甲板数字分类:透视矫正、OTSU 与 ONNX 推理
把倾斜装甲板拉正成 28×28 灰度图喂给 LeNet-5 ONNX,以及 blobFromImage 前那一次除法带来的隐蔽陷阱。
5 min read - TF2 消息过滤器:把装甲板位姿搬进 odom 系
用 tf2_ros::MessageFilter 让位姿消息等到变换可用再触发回调,以及云台高频 TF 发布为什么必须是 1000 Hz。
3 min read - PnP + 降自由度 BA:从单帧位姿抖动到多帧yaw平滑
RCIA-vision 中 IPPE 初值解算与 Ceres 束调整的工程实现:固定pitch先验、只优化yaw的单参数 BA,以及 Cauchy 核与历史帧窗口的整定。
8 min read - 灯条角点亚像素精修:PCA 对称轴与亮度梯度搜索
用加权点云 PCA 求灯条主轴,沿轴向做亮度梯度极值搜索定位端点,把 PnP 输入的角点误差压到亚像素。
6 min read - 串口协议与原子双缓冲:视觉与电控的数据交换
InfantryProtocol 的收发打包、UART 传输层抽象,以及用原子指针双缓冲让高频串口数据与图像回调无锁共享。
3 min read - 装甲板灯条提取:通道相减、伽玛 LUT 与形态学取舍
为什么用 R−B 通道相减而不是 HSV 阈值,红蓝两色为何一个腐蚀一个膨胀,以及查表法伽玛校正的实现细节。
4 min read - 灯条配对的几何判据:从平行四边形到最小外接矩形
两两配对的向量比例判据、中心高度差与长宽比二次筛选,以及 O(n²) 配对循环为什么必须有轮廓数上限。
4 min read - 华睿工业相机 ROS2 驱动:回调采图与断线自愈
用 IMV SDK 的抓帧回调驱动 image_transport 发布,处理 Bayer 去马赛克、行填充对齐,以及相机掉线后的定时重连。
3 min read
标签: C++
Showing 20 of 20 posts View all posts →