RMVL  1.0.0
RoboMaster Vision Library
Public 成员函数 | 静态 Public 成员函数 | 所有成员列表

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

#include <rmvl/group/gyro_group.h>

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

Public 成员函数

 GyroGroup ()=delete
 
 GyroGroup (const GyroGroup &)=delete
 
 GyroGroup (GyroGroup &&)=delete
 
 GyroGroup (const std::vector< combo_ptr > &combos, int armor_num)
 
void sync (const GyroData &gyro_data, int64_t tick)
 GyroGroup 同步操作 更多...
 
TrackerState getTrackerState (tracker_ptr p_tracker)
 获取追踪器状态 更多...
 
cv::Vec3f getCenter3D ()
 获取最新的车组旋转中心点 更多...
 
cv::Vec3f getSpeed3D ()
 获取旋转中心点移动速度 更多...
 
float getRotatedSpeed ()
 获取相机坐标系自转角速度(俯视顺时针为正,滤波数据,弧度) 更多...
 
GyroData getGyroData ()
 获取陀螺仪数据 更多...
 
RotStatus getRotStatus ()
 获取旋转状态 更多...
 
- Public 成员函数 继承自 rm::group
 group ()=default
 
virtual ~group ()=default
 
virtual void add (tracker_ptr p_tracker)
 添加追踪器至序列组 更多...
 
auto & data ()
 获取同组所有的追踪器数据 更多...
 
size_t size () const
 获取同组追踪器的数量 更多...
 
bool empty () const
 判断同组追踪器是否为空 更多...
 
tracker_ptr at (size_t idx)
 获取指定追踪器 更多...
 
cv::Point2f getCenter ()
 获取序列组中心 更多...
 
uint32_t getVanishNumber ()
 获取丢帧数量 更多...
 
RMStatus getType ()
 获取该组类型 更多...
 

静态 Public 成员函数

static std::shared_ptr< GyroGroupmake_group (const std::vector< combo_ptr > &first_combos, int armor_num)
 根据第一帧识别到的组合体构建 GyroGroup 更多...
 
static std::shared_ptr< GyroGroupcast (group_ptr p_group)
 动态类型转换 更多...
 
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)
 根据陀螺仪坐标系下装甲板外参信息和默认初始半径集合,得到修正的半径集合、序列组中心坐标、装甲板法向量集合 更多...
 
static combo_ptr constructComboForced (combo_ptr p_combo, const GyroData &gyro_data, const cv::Matx33f &gyro_rmat, const cv::Vec3f &gyro_tvec, int64_t 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 = false
 是否为目标序列组 更多...
 
uint32_t _vanish_num = 0
 丢帧数量 更多...
 
RMStatus _type
 序列组各状态 更多...
 

详细描述

整车状态序列组

构造及析构函数说明

◆ GyroGroup() [1/4]

rm::GyroGroup::GyroGroup ( )
delete

◆ GyroGroup() [2/4]

rm::GyroGroup::GyroGroup ( const GyroGroup )
delete

◆ GyroGroup() [3/4]

rm::GyroGroup::GyroGroup ( GyroGroup &&  )
delete

◆ GyroGroup() [4/4]

rm::GyroGroup::GyroGroup ( const std::vector< combo_ptr > &  combos,
int  armor_num 
)

成员函数说明

◆ calcArmorNum()

static int rm::GyroGroup::calcArmorNum ( const std::vector< combo_ptr > &  ref_combos)
static

计算装甲板数目

参数
[in]ref_combos指定参与计算的装甲板
返回
装甲板数目

◆ calcGroupFrom3DMessage()

static 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

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

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

◆ cast()

static std::shared_ptr<GyroGroup> rm::GyroGroup::cast ( group_ptr  p_group)
inlinestatic

动态类型转换

参数
[in]p_groupgroup_ptr 抽象指针
返回
派生对象指针

◆ constructComboForced()

static combo_ptr rm::GyroGroup::constructComboForced ( combo_ptr  p_combo,
const GyroData gyro_data,
const cv::Matx33f &  gyro_rmat,
const cv::Vec3f &  gyro_tvec,
int64_t  tick 
)
static

强制构建 combo

参数
[in]p_combo指定参考的组合体
[in]gyro_data最新陀螺仪数据
[in]gyro_rmat陀螺仪坐标系下装甲板的旋转矩阵
[in]gyro_tvec陀螺仪坐标系下装甲板的平移向量
[in]tick时间戳数据
返回
combo_ptr

◆ getCenter3D()

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

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

◆ getGyroData()

GyroData rm::GyroGroup::getGyroData ( )
inline

获取陀螺仪数据

◆ getRotatedSpeed()

float rm::GyroGroup::getRotatedSpeed ( )
inline

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

◆ getRotStatus()

RotStatus rm::GyroGroup::getRotStatus ( )
inline

获取旋转状态

◆ getSpeed3D()

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

获取旋转中心点移动速度

◆ getTrackerState()

TrackerState rm::GyroGroup::getTrackerState ( tracker_ptr  p_tracker)
inline

获取追踪器状态

参数
[in]p_tracker追踪器指针
返回
追踪器信状态

◆ make_group()

static std::shared_ptr<GyroGroup> rm::GyroGroup::make_group ( const std::vector< combo_ptr > &  first_combos,
int  armor_num 
)
inlinestatic

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

注解
组合体列表大小仅允许 1 或 2
参数
[in]first_combos组合体列表
[in]armor_num强制指定装甲板个数(小于 1 表示自动判断)

◆ sync()

void rm::GyroGroup::sync ( const GyroData gyro_data,
int64_t  tick 
)
virtual

GyroGroup 同步操作

参数
[in]gyro_data最新陀螺仪数据
[in]tick最新时间戳

实现了 rm::group.


该类的文档由以下文件生成: