1.4 KiB
1.4 KiB
🚀 快速参考卡
问题
帧率:0.356 fps (预期 30 fps)
延迟:68 秒 (预期 <50ms)
原因:100µs 睡眠 × 5 个分片 = 0.5ms(对 30fps 是致命的)
解决方案
✅ 删除睡眠指令
✅ 实现异步发送队列
✅ 修复 FPS 统计
✅ 优化相机配置
部署 (3 步)
# 1. 编译
colcon build --packages-select skylink_bridge
# 2. 运行
ros2 launch skylink_bridge bridge.launch.py
# 3. 验证
ros2 topic hz /camera/image_raw
预期结果
✅ 帧率:29-30 fps (80+ 倍提升)
✅ 延迟:<100ms (680+ 倍改善)
✅ 稳定性:高
✅ 内存:+1.5MB (可接受)
关键代码变更
异步队列
// 后台线程处理 UDP 发送
void sender_worker() {
while (sender_running_) {
auto item = get_from_queue(); // 从队列取出
send_udp_packet(item); // 发送(不阻塞)
}
}
// 相机回调快速入队
void camera_callback(...) {
encode_jpeg();
enqueue_packet(data); // 快速返回!
}
验证
✓ 编译成功
✓ 后台线程启动
✓ FPS: 29-30
✓ 无丢弃
✓ 运行稳定
文件变更
src/udp_sender_node.cpp +65 行
src/udp_sender_node.h +37 行
config/params.yaml +3 行
日志输出
[INFO] ✓ 后台发送线程已启动
[INFO] 📊 统计 - FPS: 29, 速率: 450 KB/s
📖 详见:DEPLOYMENT_GUIDE.md