ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

MATLAB实现UAV-UGV协同定位的EKF实战指南

MATLAB实现UAV-UGV协同定位的EKF实战指南 简介本资源是面向自动化、机器人定位领域研发人员与科研工作者的MATLAB实现方案聚焦无人机UAV与无人车UGV协同定位中的非线性状态估计难题基于扩展卡尔曼滤波EKF构建完整算法框架覆盖状态建模、观测方程设计、预测与更新迭代、多源信息融合及一致性校正等核心环节适用于灾难救援、智能物流、野外协同探测等实际场景。压缩包共593个文件含480个MATLAB函数脚本实现EKF主流程、预处理、可视化及接口封装、26个预训练/仿真数据集.mat、20个结果图.fig、10个说明文本.txt以及少量C/C底层加速模块.c/.cpp/.mex*和辅助文档整体大小7.75MB结构清晰、模块解耦度高便于理解算法逻辑与工程部署。已有153人学习下载读者可直接运行仿真验证定位精度提升效果获取从理论推导→代码实现→结果分析的全链路实践支撑并参考源码中对传感器噪声建模、雅可比矩阵计算、跨平台编译适配等关键细节的处理思路。1. 这不是教科书里的EKF是飞在空中的无人机和跑在地上的无人车“互相报坐标”的实战算法你手头有一架无人机UAV它能飞、能拍、能测距但GPS在树林里会飘旁边还有一台无人车UGV轮子稳、惯导久、激光雷达扫得准可它上不了楼、绕不开障碍物。两者单独干活都受限但要是它们能“商量着来”把各自传感器的数据揉在一起实时告诉对方“我现在在哪、往哪走、误差有多大”那协同作业的精度和鲁棒性就不是简单叠加而是指数级提升——这正是EKF-UAV-UGV协同定位要解决的核心问题。我做过7个不同构型的多平台协同定位项目从四旋翼差速轮式底盘到固定翼履带车组合最常被问的问题不是“EKF公式怎么写”而是“为什么用扩展卡尔曼而不是标准卡尔曼”、“UAV和UGV的运动模型怎么写才不崩”、“两个平台时间不同步怎么办”、“激光点云配准结果怎么当观测值喂进滤波器”。这篇博文不讲推导不列矩阵只讲我在真实场景中调通这套算法时每一步踩过的坑、改过的参数、验证过的方法。核心关键词全在标题里matlab实现、扩展卡尔曼滤波、EKF、UAV、UGV、协同定位算法——所有代码、结构、参数配置全部基于MATLAB R2022b及以上版本实测可用不需要Simulink或Simscape Battery这类附加模块纯.m文件基础工具箱Control System Toolbox、Signal Processing Toolbox、Statistics and Machine Learning Toolbox即可跑通。适合谁看如果你正在做毕业设计、课程大作业或者刚接手一个需要多机器人协同的工程任务手里有UAV和UGV的原始传感器数据IMU、GPS、激光雷达、视觉里程计但卡在“数据融合效果差”“定位跳变严重”“协方差矩阵发散”这些具体问题上那这篇就是为你写的。不需要你精通微分几何或随机过程但得会读MATLAB脚本、能改状态向量维度、知道ode45和lsqnonlin的区别。接下来的内容每一行代码、每一个参数、每一次调试都是我在凌晨三点盯着屏幕反复验证过的。2. 为什么非得用扩展卡尔曼——从运动模型失配说起2.1 标准卡尔曼滤波KF在这里根本跑不通很多人一上来就想套用线性KF模板把UAV位置、UGV速度直接拼成状态向量用GPS当观测值跑完发现协方差矩阵很快变成NaN。原因很简单UAV和UGV的运动学模型天然非线性。UAV受气流扰动姿态角roll/pitch/yaw和位置之间是三角函数关系UGV在斜坡上打滑轮速和实际位移存在非线性映射更关键的是两者之间的相对观测比如UAV用单目相机测UGV特征点距离UGV用激光雷达测UAV反射点角度全是sin/cos/tan/atan2这类非线性函数。标准KF要求系统模型f(x)和观测模型h(x)必须是线性的即满足f(x)Fxuh(x)Hxz。而现实中的UAV-UGV系统f(x)里藏着欧拉角微分方程h(x)里嵌着透视投影矩阵——强行线性化等效于用直线去拟合正弦波的峰值段误差必然爆炸。提示别信网上某些“KF简化版协同定位”教程。他们要么用理想化仿真数据无噪声、无延迟、无模型误差要么偷偷把非线性项近似成常数——这在实验室跑得通一放到真实场地GPS跳变2米、IMU零偏漂移0.5°/min滤波器3秒内就发散。2.2 EKF的本质不是“加个雅可比矩阵”那么简单EKF的理论框架大家都知道在当前估计值x̂_k⁻处对f(x)和h(x)做一阶泰勒展开用雅可比矩阵F_k∂f/∂x|{x̂_k⁻}和H_k∂h/∂x|{x̂_k⁻}代替线性化后的系统矩阵。但实操中雅可比矩阵的计算方式直接决定算法成败。我见过三种典型错误符号雅可比硬编码有人手动推导f(x)对每个状态变量的偏导写满三页纸结果发现UAV高度z和俯仰角pitch耦合项漏了负号导致垂直方向估计持续下沉数值雅可比暴力替代用(f(xdx)-f(x))/dx近似求导dx取1e-6但在UAV高速机动时状态变化率本身很大数值微分引入的截断误差比传感器噪声还高忽略模型不确定性雅可比只反映局部线性化但真实系统存在未建模动态如风扰、轮胎蠕动这部分必须通过过程噪声Q_k显式补偿否则滤波器会过度自信。我的解决方案是运动模型f(x)用解析雅可比Symbolic Math Toolbox生成观测模型h(x)用自动微分MATLAB内置jacobian函数过程噪声Q_k按平台特性分层设计。比如UAV的Q_k包含三轴加速度计零偏漂移项1e-4 m²/s⁴、陀螺仪角度随机游走项1e-5 rad²/s³UGV的Q_k则强化轮速编码器累积误差项1e-3 m²/s²和转向角执行器延迟项5e-4 rad²/s²。这些数值不是拍脑袋定的而是根据厂商手册标称精度结合实测数据协方差拟合出来的。2.3 协同定位的特殊性状态向量设计是第一道生死线UAV和UGV各自的状态向量好写UAV常用15维位置3速度3姿态四元数4加速度计零偏3陀螺仪零偏3UGV常用9维位置3速度3航向角1轮速偏差2。但协同定位的关键在于——如何定义“协同”常见错误是把两个平台状态简单拼接成24维向量然后用UAV测UGV的距离当观测值。问题在于这个距离观测h(x) ||p_UAV - p_UGV||其雅可比矩阵H_k在p_UAV≈p_UGV时接近奇异分母趋近于0导致增益K_k爆炸滤波器震荡。更致命的是这种设计完全没利用平台间相对姿态信息——UAV俯视UGV时单目测距精度远高于侧视但拼接状态向量无法体现这种几何约束。我的做法是构建相对状态向量。以UGV为参考系定义状态x [p_rel; v_rel; q_rel; b_a_UAV; b_g_UAV; b_a_UGV; b_g_UGV]其中p_rel R_UGV^T * (p_UAV - p_UGV)是UAV相对于UGV的位置R_UGV是UGV朝向旋转矩阵q_rel是UAV相对于UGV的姿态四元数。这样观测模型h(x)就变成UAV相机测得的UGV特征点像素坐标含内参、畸变、UGV激光雷达测得的UAV反射中心角度含安装外参。这些观测值与相对状态直接关联雅可比矩阵条件数良好且天然抑制了绝对位置漂移——因为滤波器优化的是相对关系绝对坐标由UGV的高精度定位源如RTK-GPS锚定。3. MATLAB实现细节从状态初始化到协方差传播的完整链路3.1 状态向量与协方差矩阵的初始化策略协同定位最脆弱的环节不是滤波过程而是初始状态x₀和初始协方差P₀的设定。很多项目跑不通根源在于P₀设得太小滤波器拒绝新观测、或太大收敛慢、易发散。我的初始化流程分三步第一步独立平台初值校准先让UAV和UGV静止10秒采集IMU和轮速数据用Allan方差分析确定零偏和噪声系数再用最小二乘拟合初始姿态。例如UGV静止时轮速编码器读数应为0但实测有±0.02 rad/s波动这直接作为b_a_UGV初值的方差来源。第二步相对状态初值生成用UAV的GPS和UGV的RTK-GPS计算初始相对位置p_rel₀但不直接用GPS差值——因为两者天线相位中心偏差达0.3米且GPS更新率不同UAV 1HzUGV 10Hz。正确做法是同步时间戳后对UGV GPS做线性插值再与UAV GPS做差最后用激光雷达粗配准结果ICP算法修正水平面偏差。实测表明这样得到的p_rel₀误差从0.8米降至0.15米。第三步P₀的物理意义赋值P₀不是对角阵必须体现状态间的相关性。例如p_rel和v_rel之间存在运动学耦合P₀对应块设为[σ_p², σ_pσ_v; σ_pσ_v, σ_v²]其中σ_p0.2m激光粗配准残差σ_v0.1m/s静止时轮速噪声。特别注意q_rel的协方差——四元数不能直接用方差需转换为旋转矢量δθP₀_q diag([0.05², 0.05², 0.1²]) rad²俯仰/横滚精度高偏航因磁罗盘干扰设宽些。% 初始化P0示例部分 P0 zeros(24,24); % 总状态维数p_rel(3)v_rel(3)q_rel(3)b_a_UAV(3)b_g_UAV(3)b_a_UGV(3)b_g_UGV(3) % 相对位置-速度耦合块 P0(1:3,1:3) diag([0.2^2, 0.2^2, 0.15^2]); % p_rel协方差 P0(1:3,4:6) 0.2*0.1 * eye(3); % p_rel-v_rel协方差 P0(4:6,1:3) P0(1:3,4:6); P0(4:6,4:6) diag([0.1^2, 0.1^2, 0.05^2]); % v_rel协方差 % 四元数转旋转矢量协方差q_rel对应索引7:9 P0(7:9,7:9) diag([0.05^2, 0.05^2, 0.1^2]);3.2 运动模型f(x)的MATLAB实现要点UAV和UGV的运动模型必须严格遵循物理定律但又要兼顾计算效率。我采用分段解析模型低速/小机动时用简化模型减少雅可比计算量高速/大机动时切回完整模型。UAV运动模型简化版适用于5m/s水平速度状态x包含p_UAV, v_UAV, q_UAV四元数输入u为三轴加速度a_b和三轴角速度ω_b机体坐标系。关键点四元数微分方程q̇ 0.5 * Ω(ω_b) * q其中Ω是角速度反对称矩阵位置微分ṗ R(q) * vR(q)是四元数转旋转矩阵速度微分v̇ R(q) * a_b gg为重力向量-9.81 m/s²function x_next f_uav(x, u, dt) % x [px;py;pz;vx;vy;vz;q0;q1;q2;q3] % u [ax;ay;az;wx;wy;wz] p x(1:3); v x(4:6); q x(7:10); a_b u(1:3); w_b u(4:6); % 四元数更新四元数乘法 q_dot 0.5 * omega_matrix(w_b) * q; q_next q q_dot * dt; q_next q_next / norm(q_next); % 归一化 % 旋转矩阵R(q) R_q quat2rotm(q_next); % MATLAB内置函数 % 位置、速度更新 p_next p R_q * v * dt; v_next v (R_q * a_b [0;0;-9.81]) * dt; x_next [p_next; v_next; q_next]; end function Omega omega_matrix(w) % 构造角速度反对称矩阵 Ω(w) [0 -w3 w2; w3 0 -w1; -w2 w1 0] Omega [0, -w(3), w(2); w(3), 0, -w(1); -w(2), w(1), 0]; endUGV运动模型自行车模型含滑移补偿状态x包含p_UGV, v_UGV, ψ航向角输入u为前轮转角δ和驱动轮速v_d。关键点航向角更新ψ̇ (v_d / L) * tan(δ)L为轴距速度更新v̇ a_d - k_slip * v²k_slip为滑移系数水泥地0.02泥地0.1位置更新ṗ_x v * cos(ψ β)ṗ_y v * sin(ψ β)β为侧滑角β ≈ (v² * tan(δ)) / (g * L)function x_next f_ugv(x, u, dt, L, k_slip, g) % x [px;py;psi;v] % u [delta; v_d] p x(1:2); psi x(3); v x(4); delta u(1); v_d u(2); % 侧滑角β简化模型 beta (v^2 * tan(delta)) / (g * L); % 航向角更新 psi_dot (v_d / L) * tan(delta); psi_next psi psi_dot * dt; % 速度更新含滑移 a_d (v_d - v) / 0.1; % 驱动加速度模型 v_dot a_d - k_slip * v^2; v_next v v_dot * dt; % 位置更新含β补偿 p_dot_x v_next * cos(psi_next beta); p_dot_y v_next * sin(psi_next beta); p_next p [p_dot_x; p_dot_y] * dt; x_next [p_next; psi_next; v_next]; end3.3 观测模型h(x)的设计与雅可比计算协同观测的核心是跨平台传感器融合。我采用两类主流观测类型1UAV单目相机观测UGV特征点假设UGV顶部安装4个已知坐标的LED标记点世界坐标系下p_UGV_iUAV相机内参K已标定外参R_c2b、t_c2b相机到机体坐标系变换已知。观测值z为4个点的像素坐标[u_i; v_i]。观测模型 z h(x) K * [R_c2b * R_b2w * (p_UGV_i - p_UAV) t_c2b] / z_cam其中R_b2w由q_UAV计算p_UAV由状态x解算。雅可比H ∂h/∂x用MATLAB Symbolic Math自动生成% 符号化生成雅可比一次运行生成.m函数 syms px py pz vx vy vz q0 q1 q2 q3 ux uy uz real x_sym [px;py;pz;vx;vy;vz;q0;q1;q2;q3]; % UAV状态 p_ugv [1;0;0.5]; % UGV特征点相对UGV坐标系 % ... 构建完整h表达式 ... H_sym jacobian(h_expr, x_sym); matlabFunction(H_sym, File, h_jacobian_uav, Optimize, true);类型2UGV激光雷达观测UAV反射中心UGV激光雷达扫描到UAV机身用最小二乘拟合球体中心输出三维坐标p_UAV_lidarUGV坐标系下。观测模型 z h(x) R_UGV^T * (p_UAV - p_UGV)其中R_UGV由UGV航向角ψ计算。这里h(x)是线性的但必须考虑时间同步误差——UAV IMU数据比激光雷达快10ms需在h(x)中加入延迟补偿项Δt * v_rel。function z h_ugv_lidar(x, p_ugv_lidar, psi_ugv, dt_delay) % x为相对状态[p_rel; v_rel; ...] p_rel x(1:3); v_rel x(4:6); % 延迟补偿 p_rel_comp p_rel v_rel * dt_delay; % UGV坐标系下UAV位置 R_ugv [cos(psi_ugv), -sin(psi_ugv), 0; sin(psi_ugv), cos(psi_ugv), 0; 0, 0, 1]; p_uav_ugv R_ugv * p_rel_comp; z p_uav_ugv; % 直接输出三维坐标 end3.4 EKF主循环的MATLAB实现与关键参数完整的EKF循环包含预测Predict、更新Update两步。MATLAB实现中矩阵运算效率和数值稳定性是瓶颈。我采用以下优化预测步用expm(F*dt)替代IF*dt提高大步长精度但仅在dt0.05s时启用更新步用chol(S)分解替代inv(S)计算卡尔曼增益避免病态矩阵求逆协方差裁剪每次更新后强制P的对角线元素≥1e-6防止数值下溢。% EKF主循环简化版 for k 1:length(t) % --- 预测步 --- x_pred f(x_hat, u(k,:), dt); F jacobian_f(x_hat, u(k,:), dt); % 运动模型雅可比 P_pred F * P * F Q; % Q为过程噪声协方差 % --- 更新步多观测融合--- z_pred_uav h_uav(x_pred, ...); % UAV相机观测预测 H_uav h_jacobian_uav(x_pred, ...); % 预先生成的雅可比函数 z_pred_ugv h_ugv_lidar(x_pred, ...); % UGV激光观测预测 H_ugv h_jacobian_ugv(x_pred, ...); % 合并观测z [z_uav; z_ugv], H [H_uav; H_ugv], R blkdiag(R_uav, R_ugv) z [z_uav; z_ugv]; z_pred [z_pred_uav; z_pred_ugv]; H [H_uav; H_ugv]; R blkdiag(R_uav, R_ugv); % 卡尔曼增益Cholesky分解 S H * P_pred * H R; [L, p] chol(S, lower); if p 0 K (P_pred * H) / L / L; % L*L S else error(观测协方差S非正定); end % 状态更新 y z - z_pred; % 新息 x_hat x_pred K * y; P (eye(size(P_pred)) - K * H) * P_pred; % --- 数值稳定处理 --- P (P P) / 2; % 强制对称 P max(P, 1e-6 * eye(size(P))); % 对角线下限 end4. 实操调试经验从“跑起来”到“跑得稳”的12个关键技巧4.1 时间同步比算法本身更难啃的骨头UAV和UGV的传感器时间戳不同源IMU、GPS、相机、激光雷达各跑各的时钟。实测发现10ms时间偏差会导致相对位置估计误差达0.3米UAV速度3m/s。解决方案不是买高精度时钟而是软件层面的三重校准硬件触发同步用GPIO引脚发送同步脉冲UAV和UGV同时采集IMU帧软件时间戳对齐记录每个传感器数据包的系统时间用NTP服务器校准主机时钟再用线性插值对齐滤波器内补偿在EKF观测模型h(x)中显式加入时间偏移参数τ作为扩展状态估计τ初值设为0协方差设为1e-3 s²。实操心得不要依赖设备自带的时间戳我们曾用DJI M300的GPS时间戳发现其与Linux系统时间偏差达80ms且随温度漂移。最终方案是UAV和UGV各自用GPS PPS信号触发本地定时器再通过ROS topic同步PPS事件实测同步误差1ms。4.2 观测噪声R的动态调整策略固定R值是新手最大误区。现实中UAV相机在强光下噪声小R0.5像素²逆光时噪声大R5像素²UGV激光雷达在雨雾中测距误差从2cm飙升至15cm。我的动态R策略基于图像质量指标计算相机ROI区域的梯度幅值均值梯度越小画面越平滑R越大基于激光点云密度统计单位面积内点数密度100点/m²时R扩大3倍基于新息一致性检验计算新息y z - h(x̂)的归一化残差y * S⁻¹ * y若连续5帧5.99χ²分布95%置信则R * 1.5。% 动态R调整示例UAV相机 if mean_gradient 5 % 图像模糊 R_uav R_uav * 2; elseif mean_gradient 20 % 图像锐利 R_uav max(R_uav * 0.8, 0.1); % 下限保护 end % 新息检验 innov_norm y * inv(S) * y; if innov_norm 5.99 R_uav R_uav * 1.3; end4.3 协方差发散的5种典型症状与根治方法EKF发散不是突然崩溃而是渐进式恶化。以下是我在项目中总结的5种症状及对应方案症状根本原因解决方案实测效果P矩阵对角线持续增大过程噪声Q设太小滤波器低估模型不确定性按Allan方差实测结果重设QUAV加速度计Qₐ1e-4UGV轮速Qᵥ1e-3P稳定在10⁻³量级新息y持续偏大且不收敛观测模型h(x)未校准外参如相机安装角偏差在状态向量中加入外参偏差δθ作为估计量初值设为[0.1;0.05;0.2]rady残差从0.8px降至0.15px状态估计高频抖动时间步长dt过小0.01s数值积分误差累积将dt固定为0.02s用ode45对运动模型做子步积分抖动幅度降低70%相对位置缓慢漂移UGV的RTK-GPS存在厘米级周跳未剔除在GPS观测更新前用载波相位平滑伪距检测周跳LAMBDA算法漂移速率从0.5m/min降至0.05m/min协方差矩阵出现NaN雅可比矩阵H在奇异点计算失败如p_UAV≈p_UGV在h(x)中加入小量ε1e-3h(x) 4.4 算法性能验证的黄金三准则跑通代码只是起点验证效果必须满足三个硬性准则准则1可观测性验证用rank(O)计算可观测性矩阵O [H; HF; HF²; ...; HFⁿ⁻¹]n为状态维数。若rank(O)n说明某些状态不可观如仅用距离观测无法估计相对航向角。此时必须增加观测类型如加入角度观测或重构状态向量。准则2残差白化检验对新息序列y_k做Ljung-Box检验MATLABlbqtestp-value0.05表示残差无自相关说明滤波器充分利用了信息。若p-value0.01需检查Q/R配比或模型失配。准则3RMSE对比基准在相同数据集上对比EKF结果与以下基准单平台GPS定位UAV vs EKF相对定位UGV激光SLAM建图结果 vs EKF绝对定位全局运动捕捉系统Vicon真值 vs EKF输出。实测要求EKF RMSE ≤ Vicon RMSE的1.5倍否则视为未达标。5. 常见问题速查表从MATLAB报错到物理现象误判5.1 MATLAB报错高频问题与根治方案报错信息根本原因解决方案关键命令Error using chol: Matrix must be positive definiteP或S矩阵非正定常因数值误差导致在chol前加S (S S)/2 eps*eye(size(S))eps1e-12Index exceeds matrix dimensions状态向量维度与Jacobian维度不匹配用size(H)检查雅可比行列数确保H行数观测维数列数状态维数assert(size(H,1)numel(z)size(H,2)numel(x))Undefined function quat2rotmMATLAB版本2018b无内置四元数函数自定义quat2rotmfunction R quat2rotm(q)q0q(1);q1q(2);q2q(3);q3q(4);R[1-2*q2^2-2*q3^2, 2*q1*q2-2*q0*q3, 2*q1*q32*q0*q2;2*q1*q22*q0*q3, 1-2*q1^2-2*q3^2, 2*q2*q3-2*q0*q1;2*q1*q3-2*q0*q2, 2*q2*q32*q0*q1, 1-2*q1^2-2*q2^2];复制粘贴即可Out of memory状态维数过高30或dt过小导致矩阵运算爆炸降维将四元数q_rel替换为旋转矢量δθ3维或用平方根滤波sqrtm(P)替代Px sqrtm(P);5.2 物理现象误判那些让你熬夜却找不到bug的“幽灵问题”问题1“UAV定位越来越准UGV却越估越差”表面看是UGV传感器问题实则是参考系选择错误。当以UGV为参考系时其自身状态误差会放大UAV估计反之亦然。解决方案在状态向量中加入参考系偏差δp_ref并用外部高精度源如UWB基站定期校正。问题2“协同后精度反而不如单平台”不是算法问题而是观测冗余度不足。例如只用UAV测UGV距离但UGV在UAV正下方时距离观测对航向角完全不敏感。必须保证观测雅可比H的秩满即每个状态至少被2个独立观测约束。实测添加UAV俯仰角观测后航向角RMSE从3.2°降至0.8°。问题3“滤波器收敛快但实际跟踪滞后”这是时间延迟的典型表现。EKF输出的是k时刻的估计但UAV控制需要k1时刻的预测。解决方案在EKF后接一个简单预测器x_{k1} f(x_k, u_k, dt)用预测值做控制输入。实测控制响应延迟从120ms降至35ms。问题4“白天正常夜间定位发散”激光雷达在夜间信噪比下降但更隐蔽的原因是温度漂移。UGV IMU零偏随温度变化达0.01°/s/℃而夜间温差达10℃。解决方案在状态向量中加入温度系数α建立b_g b_g0 α*(T-T0)用温度传感器读数T实时更新。5.3 参数整定速查表基于R2022b实测参数UAV推荐值UGV推荐值整定依据测试方法dt滤波周期0.02s0.05s平衡实时性与数值稳定性从0.1s开始逐步减小观察P是否震荡Q过程噪声diag([1e-4,1e-4,5e-5,1e-3,1e-3,5e-4,1e-5,1e-5,1e-5])diag([1e-3,1e-3,5e-4,1e-2,1e-2,1e-3,1e-5,1e-5,1e-5])Allan方差分析实测轨迹拟合在静止状态下P对角线应缓慢增长至标称值R观测噪声相机diag([1,1,0.5,0.5])激光diag([0.02,0.02,0.01])激光diag([0.03,0.03,0.02])GPSdiag([0.5,0.5,0.3])厂商手册实测残差统计计算z-h(x̂)的标准差设R2×σ²P₀初始协方差diag([0.2,0.2,0.15,0.1,0.1,0.05,0.05,0.05,0.1])diag([0.1,0.1,0.05,0.05,0.05,0.02,0.01,0.01,0.01])初始配准残差传感器精度运行10秒观察P是否合理收缩6. 工程落地避坑指南从实验室到野外的5道坎6.1 通信带宽限制下的观测压缩策略真实场景中UAV和UGV间通信带宽有限如4G上行仅2Mbps无法实时传输原始图像或点云。我的压缩方案UAV相机观测不传图像只传特征点像素坐标ID4字节/点4个点共16字节UGV激光观测不传点云只传拟合球心坐标半径16字节关键状态共享只共享相对位置p_rel和协方差P的对角线12字节而非全矩阵。总通信负载50字节/帧10Hz下仅500B/s远低于带本文还有配套的精品资源点击获取
返回列表