RMVL  1.5.0-dev
Robotic Manipulation and Vision Library
载入中...
搜索中...
未找到

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

#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 成员函数

 GyroGroup (const std::vector< combo::ptr > &combos, int armor_num)
 
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)
 添加追踪器至序列组
 
auto & data ()
 获取同组所有的追踪器数据
 
size_t size () const
 获取同组追踪器的数量
 
bool empty () const
 判断同组追踪器是否为空
 
tracker::ptr at (size_t idx) const
 获取指定追踪器
 
const auto & center () const
 获取序列组中心
 
uint32_t getVanishNumber () const
 获取丢帧数量
 
RMStatus type () const
 获取该组类型
 

静态 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 {}
 丢帧数量
 
RMStatus _type {}
 序列组各状态
 

详细描述

整车状态序列组

成员类型定义说明

◆ const_ptr

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

◆ ptr

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

构造及析构函数说明

◆ GyroGroup()

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

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

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

◆ clone()

group::ptr rm::GyroGroup::clone ( )
overridevirtual

从另一个序列组进行构造

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

实现了 rm::group.

◆ constructComboForced()

static 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_rmatIMU 坐标系下装甲板的旋转矩阵
[in]gyro_tvecIMU 坐标系下装甲板的平移向量
[in]tick当前时间点数据
返回
强制构建的 combo

◆ getCenter3D()

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

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

◆ getRotatedSpeed()

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

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

◆ getRotStatus()

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

获取旋转状态

◆ getSpeed3D()

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

获取旋转中心点移动速度

◆ getTrackerState()

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

获取追踪器状态

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

◆ imu()

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

获取 IMU 数据

◆ invalid()

bool rm::GyroGroup::invalid ( ) const
overridevirtual

判断是否为无效序列组

重载 rm::group .

◆ make_group()

static ptr 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 ImuData & imu_data,
double tick )
overridevirtual

GyroGroup 同步操作

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

实现了 rm::group.


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