| RMVL 2.4.0 Robotic Manipulation and Vision Library

载入中...
搜索中...
未找到
类 | 类型定义
卡尔曼滤波模块
数学、算法模块 » 数据与信号处理

使用 cv::Matx 改写的轻量级卡尔曼滤波和扩展卡尔曼滤波模块 更多...

卡尔曼滤波模块 的协作图:

## 类
class | rm::KalmanFilterStaticDatas< Tp, StateDim, MeasureDim >
| 卡尔曼滤波静态数据 更多...
class | rm::KalmanFilter< Tp, StateDim, MeasureDim >
| 卡尔曼滤波器 更多...
class | rm::ExtendedKalmanFilter< Tp, StateDim, MeasureDim >
| 扩展卡尔曼滤波器 更多...

## 类型定义
using | rm::KF21f = KalmanFilter<float, 2U, 1U>
| 2 × 1 卡尔曼滤波器
using | rm::KF21d = KalmanFilter<double, 2U, 1U>
| 2 × 1 卡尔曼滤波器
using | rm::KF31f = KalmanFilter<float, 3U, 1U>
| 3 × 1 卡尔曼滤波器
using | rm::KF31d = KalmanFilter<double, 3U, 1U>
| 3 × 1 卡尔曼滤波器
using | rm::KF32f = KalmanFilter<float, 3U, 2U>
| 3 × 2 卡尔曼滤波器
using | rm::KF32d = KalmanFilter<double, 3U, 2U>
| 3 × 2 卡尔曼滤波器
using | rm::KF42f = KalmanFilter<float, 4U, 2U>
| 4 × 2 卡尔曼滤波器
using | rm::KF42d = KalmanFilter<double, 4U, 2U>
| 4 × 2 卡尔曼滤波器
using | rm::KF63f = KalmanFilter<float, 6U, 3U>
| 6 × 3 卡尔曼滤波器
using | rm::KF63d = KalmanFilter<double, 6U, 3U>
| 6 × 3 卡尔曼滤波器
using | rm::KF64f = KalmanFilter<float, 6U, 4U>
| 6 × 4 卡尔曼滤波器
using | rm::KF64d = KalmanFilter<double, 6U, 4U>
| 6 × 4 卡尔曼滤波器
using | rm::KF73f = KalmanFilter<float, 7U, 3U>
| 7 × 3 卡尔曼滤波器
using | rm::KF73d = KalmanFilter<double, 7U, 3U>
| 7 × 3 卡尔曼滤波器
using | rm::EKF31f = ExtendedKalmanFilter<float, 3U, 1U>
| 3 × 1 扩展卡尔曼滤波器
using | rm::EKF31d = ExtendedKalmanFilter<double, 3U, 1U>
| 3 × 1 扩展卡尔曼滤波器
using | rm::EKF32f = ExtendedKalmanFilter<float, 3U, 2U>
| 3 × 2 扩展卡尔曼滤波器
using | rm::EKF32d = ExtendedKalmanFilter<double, 3U, 2U>
| 3 × 2 扩展卡尔曼滤波器
using | rm::EKF42f = ExtendedKalmanFilter<float, 4U, 2U>
| 4 × 2 扩展卡尔曼滤波器
using | rm::EKF42d = ExtendedKalmanFilter<double, 4U, 2U>
| 4 × 2 扩展卡尔曼滤波器
using | rm::EKF52f = ExtendedKalmanFilter<float, 5U, 2U>
| 5 × 2 扩展卡尔曼滤波器
using | rm::EKF52d = ExtendedKalmanFilter<double, 5U, 2U>
| 5 × 2 扩展卡尔曼滤波器
using | rm::EKF53f = ExtendedKalmanFilter<float, 5U, 3U>
| 5 × 3 扩展卡尔曼滤波器
using | rm::EKF53d = ExtendedKalmanFilter<double, 5U, 3U>
| 5 × 3 扩展卡尔曼滤波器
using | rm::EKF63f = ExtendedKalmanFilter<float, 6U, 3U>
| 6 × 3 扩展卡尔曼滤波器
using | rm::EKF63d = ExtendedKalmanFilter<double, 6U, 3U>
| 6 × 3 扩展卡尔曼滤波器
using | rm::EKF64f = ExtendedKalmanFilter<float, 6U, 4U>
| 6 × 4 扩展卡尔曼滤波器
using | rm::EKF64d = ExtendedKalmanFilter<double, 6U, 4U>
| 6 × 4 扩展卡尔曼滤波器
using | rm::EKF73f = ExtendedKalmanFilter<float, 7U, 3U>
| 7 × 3 扩展卡尔曼滤波器
using | rm::EKF73d = ExtendedKalmanFilter<double, 7U, 3U>
| 7 × 3 扩展卡尔曼滤波器
using | rm::EKF74f = ExtendedKalmanFilter<float, 7U, 4U>
| 7 × 4 扩展卡尔曼滤波器
using | rm::EKF74d = ExtendedKalmanFilter<double, 7U, 4U>
| 7 × 4 扩展卡尔曼滤波器
using | rm::EKF83f = ExtendedKalmanFilter<float, 8U, 3U>
| 8 × 3 扩展卡尔曼滤波器
using | rm::EKF83d = ExtendedKalmanFilter<double, 8U, 3U>
| 8 × 3 扩展卡尔曼滤波器
using | rm::EKF84f = ExtendedKalmanFilter<float, 8U, 4U>
| 8 × 4 扩展卡尔曼滤波器
using | rm::EKF84d = ExtendedKalmanFilter<double, 8U, 4U>
| 8 × 4 扩展卡尔曼滤波器
using | rm::EKF94f = ExtendedKalmanFilter<float, 9U, 4U>
| 9 × 4 扩展卡尔曼滤波器
using | rm::EKF94d = ExtendedKalmanFilter<double, 9U, 4U>
| 9 × 4 扩展卡尔曼滤波器

## 详细描述

使用 cv::Matx 改写的轻量级卡尔曼滤波和扩展卡尔曼滤波模块

- 考虑到 OpenCV 中提供的 cv::KalmanFilter 是基于 cv::Mat 实现的，cv::Mat 的内存操作在运行时是在堆上打开的，因此会消耗大量的时间，本模块使用 cv::Matx 来实现 KF 和 EKF 的功能，以达到轻量化的目的。
- 相关知识点可参考说明文档 卡尔曼滤波 以及 扩展卡尔曼滤波

## 类型定义说明

## ◆ EKF31d

using rm::EKF31d = ExtendedKalmanFilter<double, 3U, 1U>

`#include <rmvl/algorithm/kalman.hpp>`

3 × 1 扩展卡尔曼滤波器

## ◆ EKF31f

using rm::EKF31f = ExtendedKalmanFilter<float, 3U, 1U>

`#include <rmvl/algorithm/kalman.hpp>`

3 × 1 扩展卡尔曼滤波器

## ◆ EKF32d

using rm::EKF32d = ExtendedKalmanFilter<double, 3U, 2U>

`#include <rmvl/algorithm/kalman.hpp>`

3 × 2 扩展卡尔曼滤波器

## ◆ EKF32f

using rm::EKF32f = ExtendedKalmanFilter<float, 3U, 2U>

`#include <rmvl/algorithm/kalman.hpp>`

3 × 2 扩展卡尔曼滤波器

## ◆ EKF42d

using rm::EKF42d = ExtendedKalmanFilter<double, 4U, 2U>

`#include <rmvl/algorithm/kalman.hpp>`

4 × 2 扩展卡尔曼滤波器

## ◆ EKF42f

using rm::EKF42f = ExtendedKalmanFilter<float, 4U, 2U>

`#include <rmvl/algorithm/kalman.hpp>`

4 × 2 扩展卡尔曼滤波器

## ◆ EKF52d

using rm::EKF52d = ExtendedKalmanFilter<double, 5U, 2U>

`#include <rmvl/algorithm/kalman.hpp>`

5 × 2 扩展卡尔曼滤波器

## ◆ EKF52f

using rm::EKF52f = ExtendedKalmanFilter<float, 5U, 2U>

`#include <rmvl/algorithm/kalman.hpp>`

5 × 2 扩展卡尔曼滤波器

## ◆ EKF53d

using rm::EKF53d = ExtendedKalmanFilter<double, 5U, 3U>

`#include <rmvl/algorithm/kalman.hpp>`

5 × 3 扩展卡尔曼滤波器

## ◆ EKF53f

using rm::EKF53f = ExtendedKalmanFilter<float, 5U, 3U>

`#include <rmvl/algorithm/kalman.hpp>`

5 × 3 扩展卡尔曼滤波器

## ◆ EKF63d

using rm::EKF63d = ExtendedKalmanFilter<double, 6U, 3U>

`#include <rmvl/algorithm/kalman.hpp>`

6 × 3 扩展卡尔曼滤波器

## ◆ EKF63f

using rm::EKF63f = ExtendedKalmanFilter<float, 6U, 3U>

`#include <rmvl/algorithm/kalman.hpp>`

6 × 3 扩展卡尔曼滤波器

## ◆ EKF64d

using rm::EKF64d = ExtendedKalmanFilter<double, 6U, 4U>

`#include <rmvl/algorithm/kalman.hpp>`

6 × 4 扩展卡尔曼滤波器

## ◆ EKF64f

using rm::EKF64f = ExtendedKalmanFilter<float, 6U, 4U>

`#include <rmvl/algorithm/kalman.hpp>`

6 × 4 扩展卡尔曼滤波器

## ◆ EKF73d

using rm::EKF73d = ExtendedKalmanFilter<double, 7U, 3U>

`#include <rmvl/algorithm/kalman.hpp>`

7 × 3 扩展卡尔曼滤波器

## ◆ EKF73f

using rm::EKF73f = ExtendedKalmanFilter<float, 7U, 3U>

`#include <rmvl/algorithm/kalman.hpp>`

7 × 3 扩展卡尔曼滤波器

## ◆ EKF74d

using rm::EKF74d = ExtendedKalmanFilter<double, 7U, 4U>

`#include <rmvl/algorithm/kalman.hpp>`

7 × 4 扩展卡尔曼滤波器

## ◆ EKF74f

using rm::EKF74f = ExtendedKalmanFilter<float, 7U, 4U>

`#include <rmvl/algorithm/kalman.hpp>`

7 × 4 扩展卡尔曼滤波器

## ◆ EKF83d

using rm::EKF83d = ExtendedKalmanFilter<double, 8U, 3U>

`#include <rmvl/algorithm/kalman.hpp>`

8 × 3 扩展卡尔曼滤波器

## ◆ EKF83f

using rm::EKF83f = ExtendedKalmanFilter<float, 8U, 3U>

`#include <rmvl/algorithm/kalman.hpp>`

8 × 3 扩展卡尔曼滤波器

## ◆ EKF84d

using rm::EKF84d = ExtendedKalmanFilter<double, 8U, 4U>

`#include <rmvl/algorithm/kalman.hpp>`

8 × 4 扩展卡尔曼滤波器

## ◆ EKF84f

using rm::EKF84f = ExtendedKalmanFilter<float, 8U, 4U>

`#include <rmvl/algorithm/kalman.hpp>`

8 × 4 扩展卡尔曼滤波器

## ◆ EKF94d

using rm::EKF94d = ExtendedKalmanFilter<double, 9U, 4U>

`#include <rmvl/algorithm/kalman.hpp>`

9 × 4 扩展卡尔曼滤波器

## ◆ EKF94f

using rm::EKF94f = ExtendedKalmanFilter<float, 9U, 4U>

`#include <rmvl/algorithm/kalman.hpp>`

9 × 4 扩展卡尔曼滤波器

## ◆ KF21d

using rm::KF21d = KalmanFilter<double, 2U, 1U>

`#include <rmvl/algorithm/kalman.hpp>`

2 × 1 卡尔曼滤波器

## ◆ KF21f

using rm::KF21f = KalmanFilter<float, 2U, 1U>

`#include <rmvl/algorithm/kalman.hpp>`

2 × 1 卡尔曼滤波器

## ◆ KF31d

using rm::KF31d = KalmanFilter<double, 3U, 1U>

`#include <rmvl/algorithm/kalman.hpp>`

3 × 1 卡尔曼滤波器

## ◆ KF31f

using rm::KF31f = KalmanFilter<float, 3U, 1U>

`#include <rmvl/algorithm/kalman.hpp>`

3 × 1 卡尔曼滤波器

## ◆ KF32d

using rm::KF32d = KalmanFilter<double, 3U, 2U>

`#include <rmvl/algorithm/kalman.hpp>`

3 × 2 卡尔曼滤波器

## ◆ KF32f

using rm::KF32f = KalmanFilter<float, 3U, 2U>

`#include <rmvl/algorithm/kalman.hpp>`

3 × 2 卡尔曼滤波器

## ◆ KF42d

using rm::KF42d = KalmanFilter<double, 4U, 2U>

`#include <rmvl/algorithm/kalman.hpp>`

4 × 2 卡尔曼滤波器

## ◆ KF42f

using rm::KF42f = KalmanFilter<float, 4U, 2U>

`#include <rmvl/algorithm/kalman.hpp>`

4 × 2 卡尔曼滤波器

## ◆ KF63d

using rm::KF63d = KalmanFilter<double, 6U, 3U>

`#include <rmvl/algorithm/kalman.hpp>`

6 × 3 卡尔曼滤波器

## ◆ KF63f

using rm::KF63f = KalmanFilter<float, 6U, 3U>

`#include <rmvl/algorithm/kalman.hpp>`

6 × 3 卡尔曼滤波器

## ◆ KF64d

using rm::KF64d = KalmanFilter<double, 6U, 4U>

`#include <rmvl/algorithm/kalman.hpp>`

6 × 4 卡尔曼滤波器

## ◆ KF64f

using rm::KF64f = KalmanFilter<float, 6U, 4U>

`#include <rmvl/algorithm/kalman.hpp>`

6 × 4 卡尔曼滤波器

## ◆ KF73d

using rm::KF73d = KalmanFilter<double, 7U, 3U>

`#include <rmvl/algorithm/kalman.hpp>`

7 × 3 卡尔曼滤波器

## ◆ KF73f

using rm::KF73f = KalmanFilter<float, 7U, 3U>

`#include <rmvl/algorithm/kalman.hpp>`

7 × 3 卡尔曼滤波器