【扩展卡尔曼滤波器EKF】基于UWB雷达的SLAM能够在室内环境内映射自然点地标,并改善机器人定位(Matlab代码实现)

本文探讨了在能见度受限或反光环境中,如何利用超宽带雷达(UWB)作为SLAM传感器替代传统LiDAR和相机。通过与扩展卡尔曼滤波器结合,文章展示了UWB雷达在室内环境中的SLAM应用,即使在烟雾和镜子条件下也能提高机器人定位和地图构建能力。
摘要由CSDN通过智能技术生成

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

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

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

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

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码、数据、文章下载


💥1 概述

摘要:
激光雷达和摄像头经常被用作同时定位和地图构建(SLAM)的传感器。然而,在能见度低(例如烟雾)或具有反光表面(例如镜子)的地方,这些传感器容易失效。另一方面,电磁波在波长增加时表现出更好的穿透性能,因此不受能见度降低的影响。因此,本文将超宽带(UWB)雷达作为现有传感器的替代方案。UWB通常被用于锚点标签SLAM系统。一个或多个锚点安装在环境中,标签附在机器人上。尽管这种方法在低能见度下表现良好,但修改现有基础设施并不总是可行的。UWB还被用于点对点距离协作SLAM系统。然而,这需要不止一台机器人,并且不包括在提到的具有烟雾等环境中进行地图构建。因此,本文介绍的方法完全依赖于机载的UWB收发器。此外,使用扩展卡尔曼滤波器(EKF)SLAM解决SLAM问题的后端。进行了实验,并展示了提出的基于UWB雷达的SLAM能够在室内环境内映射自然点地标,并改善机器人定位。

同时定位与地图构建(SLAM)对于移动机器人在之前未探索的环境中导航以完成给定任务至关重要。SLAM算法通常依赖于连接到机器人的传感器。因此,探索新的感知技术以克服现有方法的局限性是很有意义的。

目前,在SLAM中最常见的外部感知传感器是光学测距与成像(LiDAR)和光学相机系统。LiDAR利用激光束通过飞行时间测量距离,因此环境光照条件不会影响其性能。由于具有高精度和高采样密度,LiDAR被广泛应用于最先进的SLAM系统中。与LiDAR不同,典型的视觉相机仅适用于光线充足的环境。此外,LiDAR和相机的光源均在电磁波谱中可见频率附近运行。因此,这些光学测量仪器在能见度较低的情况下容易出现故障。这在恶劣的室内条件(如烟雾和镜面)中会严重影响自主系统。

详细文章见第4部分。

📚2 运行结果

部分代码:

%% Initialization
n_landm = 100;
exp_landmks = n_landm; % required for the mapping function which is then used in the EKF prediction
% Later, we are using the EKF prediction to estimate the next pose using
% odometry. This is not a necessary, but used considering ease when reusing the previous codes.

% mapping function (from low dimensional space to high dimensional space)
F = [eye(3), zeros(3, 2*exp_landmks)]; 

[s1, s2, s3] = size(obsLHS);
new_obs = zeros(s1, 2*s2, s3); % keeps the new filtered observations after the proposed DBSCAN filter.

%% Main Part (TO GENERATE THE SAMPLES)
I = [];

% DBSCAN parameters
cwinsize = 15; % window size of the DBSCAN-based filter
min_n_obs = 10; % the filter is applied only if there are 10 observations collected in the window
min_pts = 9;    % minimum number of points inside the circle of radius max_rad
max_rad = 180;  % DBSCAN circle radius

🎉3 参考文献

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

H. A. G. Charith Premachandra

🌈4 Matlab代码、数据、文章下载

  • 27
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: EKF扩展卡尔曼滤波器)是一种在非线性系统中进行状态估计的滤波器,它通过使用线性近似来处理非线性的过程和测量模型。 在MATLAB实现EKF,您可以按照以下步骤进行: 1. 定义初始状态估计(均值和协方差矩阵),这是过程模型中的状态变量和其对应的噪声。 2. 编写系统模型函数,该函数应该返回系统转移矩阵、噪声协方差矩阵和状态转移函数。 3. 编写过程模型函数,该函数应该根据系统模型给定的状态转移函数和噪声协方差矩阵,计算状态估计的更新,并返回更新后的状态估计。 4. 定义观测模型函数,该函数应该返回测量模型的观测矩阵和噪声协方差矩阵。 5. 编写测量模型函数,该函数应该根据观测模型给定的观测矩阵和噪声协方差矩阵,计算观测估计的更新,并返回更新后的观测估计。 6. 在主程序中,按照以下步骤循环执行: a. 使用过程模型函数进行状态估计的更新。 b. 使用测量模型函数进行观测估计的更新。 c. 进行状态与观测的合并更新,得到最终的状态估计和协方差矩阵。 MATLAB中有一些优秀的开源库可以实现EKF,例如Robotics System Toolbox等。这些库提供了封装好的函数和示例,使您可以更轻松地实现EKF代码。 通过以上步骤和使用现有的开源库,您可以实现EKF滤波器的MATLAB代码。 ### 回答2: EKF是指扩展卡尔曼滤波器(Extended Kalman Filter),是将卡尔曼滤波器用于非线性系统的一种扩展EKF算法是基于卡尔曼滤波器的拓展,通过将非线性系统进行线性化来实现滤波。它使用非线性系统的近似线性模型,并通过不断迭代的线性近似来提高滤波效果。 在MATLAB实现EKF算法,需要以下几个步骤: 1. 构建系统模型:首先,需要定义状态方程和观测方程。状态方程描述了系统的动态行为,而观测方程描述了系统观测到的数据和状态之间的关系。 2. 初始化参数:设置初始状态向量、初始协方差矩阵和系统噪声和观测噪声的协方差矩阵。初始状态向量和协方差矩阵可以由先验知识或测量数据进行估计。 3. 迭代计算:利用EKF算法的迭代过程进行滤波。首先,使用状态方程对状态向量进行预测,并更新预测协方差矩阵。然后,利用观测方程进行状态修正,并更新修正后的状态向量和协方差矩阵。然后,将修正后的状态向量和协方差矩阵作为下一次迭代的初始值。 4. 循环迭代:根据所需的滤波周期,持续地进行迭代计算,直到达到所需的滤波效果。 MATLAB中有一些工具箱、函数和示例代码可供使用,如`ekf`函数和`ExtendedKalmanFilter`类等。这些工具可以简化EKF算法实现过程。 总之,通过在MATLAB实现EKF算法,我们可以利用该算法对非线性系统进行滤波,从而准确地估计系统的状态并提高预测效果。 ### 回答3: EKf(Extended Kalman Filter)是一种卡尔曼滤波器扩展版本,用于处理非线性系统模型。在MATLAB中,可以使用以下步骤来实现EKf代码: 1. 定义系统模型和观测模型的状态和观测变量。这些变量通常表示为向量或矩阵形式。 2. 初始化初始状态估计值和协方差矩阵。 3. 在每个时间步进行以下循环: a. 预测阶段:使用系统模型和上一个时间步的状态估计值进行预测,得到预测的状态估计值和协方差矩阵。 b. 更新阶段:使用预测的状态估计值和观测模型计算卡尔曼增益,并使用观测值来更新状态估计值和协方差矩阵。 4. 重复步骤3,直到达到预定的时间步数或收敛条件。 EKf代码实现过程中需要使用MATLAB的数值计算和矩阵运算函数,例如矩阵乘法、转置、逆矩阵等。 最后,需要注意的是EKf代码实现可能会因为不同的系统模型和观测模型而有所不同,因此具体的实现细节需要根据具体的应用进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

荔枝科研社

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

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

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

打赏作者

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

抵扣说明:

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

余额充值