| RMVL 2.4.0 Robotic Manipulation and Vision Library

载入中...
搜索中...
未找到
Public 类型 | Public 成员函数 | 静态 Public 成员函数 | 所有成员列表
rm::GyroGroup类 参考final
序列组/相关追踪器的空间集合（数据组件） » 整车状态序列组

整车状态序列组 更多...

`#include <rmvl/group/gyro_group.h>`

类 rm::GyroGroup 继承关系图:
rm::GyroGroup 的协作图:

## Public 类型
using | ptr = std::shared_ptr<GyroGroup>
using | const_ptr = std::shared_ptr<const GyroGroup>
Public 类型 继承自 rm::group
using | ptr = std::shared_ptr<group>
using | const_ptr = std::shared_ptr<const group>

## Public 成员函数
group::ptr | clone () override
| 从另一个序列组进行构造
bool | invalid () const override
| 判断是否为无效序列组
void | sync (const ImuData &imu_data, double tick) override
| GyroGroup 同步操作
TrackerState | getTrackerState (tracker::ptr p_tracker)
| 获取追踪器状态
cv::Vec3f | getCenter3D () const
| 获取最新的车组旋转中心点
cv::Vec3f | getSpeed3D () const
| 获取旋转中心点移动速度
float | getRotatedSpeed () const
| 获取相机坐标系自转角速度（俯视顺时针为正，滤波数据，弧度）
ImuData | imu () const
| 获取 IMU 数据
RotStatus | getRotStatus () const
| 获取旋转状态
Public 成员函数 继承自 rm::group
virtual void | add (tracker::ptr p_tracker)
| 添加追踪器至序列组
std::vector< rm::tracker::ptr > & | data ()
| 获取同组所有的追踪器数据
size_t | size () const
| 获取同组追踪器的数量
bool | empty () const
| 判断同组追踪器是否为空
tracker::ptr | at (size_t idx) const
| 获取指定追踪器
const cv::Point2f & | center () const
| 获取序列组中心
uint32_t | getVanishNumber () const
| 获取丢帧数量
const StateInfo & | state () const
| 获取序列组状态
StateInfo & | state ()
| 获取序列组状态

## 静态 Public 成员函数
static ptr | make_group (const std::vector< combo::ptr > &first_combos, int armor_num)
| 根据第一帧识别到的组合体构建 GyroGroup
static void | calcGroupFrom3DMessage (const std::vector< cv::Vec2f > &gyro_poses, const std::vector< cv::Vec3f > &gyro_ts, const std::vector< float > &rs, cv::Vec3f &gyro_center)
| 根据 IMU 坐标系下装甲板外参信息和默认初始半径集合，得到修正的半径集合、序列组中心坐标、装甲板法向量集合
static combo::ptr | constructComboForced (combo::ptr p_combo, const ImuData &imu_data, const cv::Matx33f &gyro_rmat, const cv::Vec3f &gyro_tvec, double tick)
| 强制构建 combo
static int | calcArmorNum (const std::vector< combo::ptr > &ref_combos)
| 计算装甲板数目

## 额外继承的成员函数
Protected 属性 继承自 rm::group
std::vector< tracker::ptr > | _trackers
| 同组追踪器
cv::Point2f | _center
| 序列组中心
bool | _is_tracked {}
| 是否为目标序列组
uint32_t | _vanish_num {}
| 丢帧数量
StateInfo | _state {}
| 序列组各状态信息

## 详细描述

整车状态序列组

## 成员类型定义说明

## ◆ const_ptr

using rm::GyroGroup::const_ptr = std::shared_ptr<const GyroGroup>

## ◆ ptr

using rm::GyroGroup::ptr = std::shared_ptr<GyroGroup>

## 成员函数说明

## ◆ calcArmorNum()

int rm::GyroGroup::calcArmorNum | ( | const std::vector< combo::ptr > & | ref_combos | ) |
| static

计算装甲板数目

参数

  [in] | ref_combos | 指定参与计算的装甲板

返回
  装甲板数目

函数调用图:

## ◆ calcGroupFrom3DMessage()

void rm::GyroGroup::calcGroupFrom3DMessage | ( | const std::vector< cv::Vec2f > & | gyro_poses,
|  | const std::vector< cv::Vec3f > & | gyro_ts,
|  | const std::vector< float > & | rs,
|  | cv::Vec3f & | gyro_center )
| static

根据 IMU 坐标系下装甲板外参信息和默认初始半径集合，得到修正的半径集合、序列组中心坐标、装甲板法向量集合

参数

  [in] | gyro_poses | 装甲板在相机坐标系下的姿态法向量集合 pose
  [in] | gyro_ts | 装甲板在相机坐标系下的平移向量集合 t
  [in] | rs | 装甲板旋转半径集合 r（传入初始的旋转半径）
  [out] | gyro_center | 装甲板序列组在 IMU 坐标系下中心坐标

函数调用图:

## ◆ clone()

group::ptr rm::GyroGroup::clone | ( |  | ) |
| override virtual

Python:
| rm.GyroGroup.clone( |  | ) -> | <rm.GyroGroup object>

从另一个序列组进行构造

返回
  指向新序列组的共享指针

实现了 rm::group.

## ◆ constructComboForced()

combo::ptr rm::GyroGroup::constructComboForced | ( | combo::ptr | p_combo,
|  | const ImuData & | imu_data,
|  | const cv::Matx33f & | gyro_rmat,
|  | const cv::Vec3f & | gyro_tvec,
|  | double | tick )
| static

强制构建 combo

参数

  [in] | p_combo | 指定参考的组合体
  [in] | imu_data | 最新 IMU 数据
  [in] | gyro_rmat | IMU 坐标系下装甲板的旋转矩阵
  [in] | gyro_tvec | IMU 坐标系下装甲板的平移向量
  [in] | tick | 当前时间点数据

返回
  强制构建的 combo

函数调用图:

## ◆ getCenter3D()

cv::Vec3f rm::GyroGroup::getCenter3D | ( |  | ) | const
| inline

Python:
| rm.GyroGroup.getCenter3D( |  | ) -> | x, y, z

获取最新的车组旋转中心点

函数调用图:

## ◆ getRotatedSpeed()

float rm::GyroGroup::getRotatedSpeed | ( |  | ) | const
| inline

Python:
| rm.GyroGroup.getRotatedSpeed( |  | ) -> | rspeed

获取相机坐标系自转角速度（俯视顺时针为正，滤波数据，弧度）

## ◆ getRotStatus()

RotStatus rm::GyroGroup::getRotStatus | ( |  | ) | const
| inline

Python:
| rm.GyroGroup.getRotStatus( |  | ) -> | time

获取旋转状态

## ◆ getSpeed3D()

cv::Vec3f rm::GyroGroup::getSpeed3D | ( |  | ) | const
| inline

Python:
| rm.GyroGroup.getSpeed3D( |  | ) -> | vx, vy, vz

获取旋转中心点移动速度

## ◆ getTrackerState()

TrackerState rm::GyroGroup::getTrackerState | ( | tracker::ptr | p_tracker | ) |

获取追踪器状态

参数

  [in] | p_tracker | 追踪器指针

返回
  追踪器信状态

函数调用图:

## ◆ imu()

ImuData rm::GyroGroup::imu | ( |  | ) | const
| inline

Python:
| rm.GyroGroup.imu( |  | ) -> | <IMU Data>

获取 IMU 数据

## ◆ invalid()

bool rm::GyroGroup::invalid | ( |  | ) | const
| override virtual

Python:
| rm.GyroGroup.invalid( |  | ) -> | <Is Invalid ?>

判断是否为无效序列组

重载 rm::group .

## ◆ make_group()

ptr rm::GyroGroup::make_group | ( | const std::vector< combo::ptr > & | first_combos,
|  | int | armor_num )
| inline static

Python:
| rm.GyroGroup.make_group( | combos, num | ) -> | <rm.GyroGroup object>

根据第一帧识别到的组合体构建 GyroGroup

注解
  组合体列表大小仅允许 1 或 2

参数

  [in] | first_combos | 组合体列表
  [in] | armor_num | 强制指定装甲板个数（小于 1 表示自动判断）

## ◆ sync()

void rm::GyroGroup::sync | ( | const ImuData & | imu_data,
|  | double | tick )
| override virtual

Python:
| rm.GyroGroup.sync( | imu, t | ) -> | None

GyroGroup 同步操作

参数

  [in] | imu_data | 最新 IMU 数据
  [in] | tick | 最新时间点

实现了 rm::group.

函数调用图: