【无人机】使用扩展卡尔曼滤波器进行协作-UAV-UGV-定位(Matlab实现)

  💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

使用扩展卡尔曼滤波器(EKF)进行协作无人机(UAV)和地面无人车(UGV)的定位是一种复杂的技术,涉及到多个传感器的数据融合和多机器人协作。 UAV和UGV通常配备有不同类型的传感器,如GPS、惯性测量单元(IMU)、视觉传感器等。 利用EKF算法,将来自不同传感器的数据进行融合,提高定位系统的准确性和稳定性。 建立协作UAV和UGV的状态空间模型,包括位置、速度、姿态等状态变量。 将传感器数据与状态空间模型结合,形成EKF的状态方程和观测方程。

📚2 运行结果

 

部分代码:

function [x_DT,y_DT] = linear_DT_trajectory(disturb, x_nom, time_steps)
% input:  disturb - disturbance of state x at t = 0
%         x_nom - nominal state traejectory
%         time_steps - number of time steps                      integer

% output: x_DT - linearized dicretized state trajectory
%         y_DT - linearized dicretized measurement trajectory

% parameter
    v_g = 2; v_a = 12; 
    dt = 0.1;
    x_DT = zeros(6,time_steps+1);
    y_DT = zeros(5, time_steps+1);
    dx = disturb;
    for idx = 1:time_steps+1
        if idx == 1
            A_tilt = zeros(6);
        else
            theta_g = x_nom(3,idx);
            theta_a = x_nom(6,idx);
            A_tilt = [0,0,-v_g*sin(theta_g),0,0,0;   % compute A_tilt as shown in Part I-1
                      0,0,v_g*cos(theta_g),0,0,0;
                      0,0,0,0,0,0;
                      0,0,0,0,0,-v_a*sin(theta_a);
                      0,0,0,0,0,v_a*cos(theta_a);
                      0,0,0,0,0,0]; 

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

[1]尹洪举,叶云.美陆军直升机/无人机协同作战研究进展分析[J].直升机技术,2024(01):69-72.

[2]秦维彩,陈盼阳.无人机应用技术专业学生实践技能提升策略分析[J].农机使用与维修,2024(03):116-119.DOI:10.14031/j.cnki.njwx.2024.03.035.

🌈4 Matlab代码实现

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荔枝科研社

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值