python数据处理高斯滤波_这可能是史上最全的 Python 算法集(建议收藏)

60ff725b369fcd4a7e47525a5b81dda2.png

导读:本文是一些机器人算法(特别是自动导航算法)的Python代码合集。其主要特点有以下三点:

  • 选择了在实践中广泛应用的算法;
  • 依赖最少;
  • 容易阅读,容易理解每个算法的基本思想。

希望阅读本文后能对你有所帮助。前排友情提示,文章较长,建议收藏后再看。

本文经授权转自公众号:CSDN(ID:CSDNnews),作者:AtsushiSakai,译者:弯月

一、目录环境需求怎样使用本地化

  • 扩展卡尔曼滤波本地化
  • 无损卡尔曼滤波本地化
  • 粒子滤波本地化
  • 直方图滤波本地化

映射

  • 高斯网格映射
  • 光线投射网格映射
  • k均值物体聚类
  • 圆形拟合物体形状识别

SLAM

  • 迭代最近点匹配
  • EKF SLAM
  • FastSLAM 1.0
  • FastSLAM 2.0
  • 基于图的SLAM

路径规划

  • 动态窗口方式
  • 基于网格的搜索
  • 迪杰斯特拉算法
  • A*算法
  • 势场算法
  • 模型预测路径生成
  • 路径优化示例
  • 查找表生成示例
  • 状态晶格规划
  • 均匀极性采样(Uniform polar sampling)
  • 偏差极性采样(Biased polar sampling)
  • 路线采样(Lane sampling)
  • 随机路径图(PRM)规划
  • Voronoi路径图规划
  • 快速搜索随机树(RRT)
  • 基本RRT
  • RRT*
  • 基于Dubins路径的RRT
  • 基于Dubins路径的RRT*
  • 基于reeds-shepp路径的RRT*
  • Informed RRT*
  • 批量Informed RRT*
  • 三次样条规划
  • B样条规划
  • 贝济埃路径规划
  • 五次多项式规划
  • Dubins路径规划
  • Reeds Shepp路径规划
  • 基于LQR的路径规划
  • Frenet Frame中的最优路径

路径跟踪

  • 纯追迹跟踪
  • 史坦利控制
  • 后轮反馈控制
  • 线性二次regulator(LQR)转向控制
  • 线性二次regulator(LQR)转向和速度控制

项目支持

二、环境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

三、怎样使用

1、安装必要的库;

2、克隆本代码仓库;

3、执行每个目录下的python脚本;

4、如果你喜欢,则收藏本代码库。

四、本地化

1.扩展卡尔曼滤波本地化

63a6aa9290b5d06a4e90da99fa018dbb.png

该算法利用扩展卡尔曼滤波器(Extended Kalman Filter, EKF)实现传感器混合本地化。

蓝线为真实路径,黑线为导航推测路径(dead reckoning trajectory),绿点为位置观测(如GPS),红线为EKF估算的路径。红色椭圆为EKF估算的协方差。

相关阅读:
概率机器人学http://www.probabilistic-robotics.org/

2.无损卡尔曼滤波本地化

576ce24f1e72e8983f7f285f04708cd8.png

该算法利用无损卡尔曼滤波器(Unscented Kalman Filter, UKF)实现传感器混合本地化。

线和点的含义与EKF模拟的例子相同。

相关阅读:
利用无差别训练过的无损卡尔曼滤波进行机器人移动本地化https://www.researchgate.net/publication/267963417_Discriminatively_Trained_Unscented_Kalman_Filter_for_Mobile_Robot_Localization

3. 粒子滤波本地化

b38ebb75e65f0d755ad0adee97c19444.png

该算法利用粒子滤波器(Particle Filter, PF)实现传感器混合本地化。

蓝线为真实路径,黑线为导航推测路径(dead reckoning trajectory),绿点为位置观测(如GPS),红线为PF估算的路径。

该算法假设机器人能够测量与地标(RFID)之间的距离。PF本地化会用到该测量结果。

相关阅读:
概率机器人学http://www.probabilistic-robotics.org/

4. 直方图滤波本地化

3e74eaa620ec4f077274deead768bfea.png

该算法是利用直方图滤波器(Histogram filter)实现二维本地化的例子。

红十字是实际位置,黑点是RFID的位置。蓝色格子是直方图滤波器的概率位置。在该模拟中,x,y是未知数,yaw已知。滤波器整合了速度输入和从RFID获得距离观测数据进行本地化。

不需要初始位置。

相关阅读:
概率机器人学http://www.probabilistic-robotics.org/

五、映射

1. 高斯网格映射

本算法是二维高斯网格映射(Gaussian grid mapping)的例子。

8f5b28a980b2c23151f1aa995c0d7d87.gif

2. 光线投射网格映射

本算法是二维光线投射网格映射(Ray casting grid map)的例子。

14ef1503e47b36529735c8e605d6056f.gif

3. k均值物体聚类

本算法是使用k均值算法进行二维物体聚类的例子。

5a3b13a5a807a1576de10e2b63021d8d.gif

4. 圆形拟合物体形状识别

本算法是使用圆形拟合进行物体形状识别的例子。

04b1a47fe5f8a6ada46a10fe2822ad8e.gif

蓝圈是实际的物体形状。红叉是通过距离传感器观测到的点。红圈是使用圆形拟合估计的物体形状。

六、SLAM

同时本地化和映射(Simultaneous Localization and Mapping,SLAM)的例子。

1. 迭代最近点匹配

本算法是使用单值解构进行二维迭代最近点(

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值