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

神符(能量机关) 更多...

#include <rmvl/combo/rune.h>

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

Public 类型

using ptr = std::shared_ptr<Rune>
 
using const_ptr = std::shared_ptr<const Rune>
 
- Public 类型 继承自 rm::combo
using ptr = std::shared_ptr<combo>
 
using const_ptr = std::shared_ptr<const combo>
 

Public 成员函数

combo::ptr clone (double tick) override
 从另一个组合体进行构造
 
float getFeatureDis () const
 3D 空间下神符特征间距
 
bool isActive ()
 是否激活
 
- Public 成员函数 继承自 rm::combo
float height () const
 获取组合体高度
 
float width () const
 获取组合体宽度
 
float angle () const
 获取组合体角度
 
cv::Point2f center () const
 获取组合体中心点
 
const std::vector< cv::Point2f > & corners () const
 获取组合体角点
 
cv::Point2f corner (int idx) const
 获取指定角点
 
const CameraExtrinsicsextrinsic () const
 获取组合体相机外参
 
RMStatus type () const
 获取组合体类型
 
double tick () const
 获取捕获该组合体的时间点
 
cv::Point2f getRelativeAngle () const
 获取组合体的相对目标转角
 
const ImuDataimu () const
 获取组合体当前的 IMU 数据
 
feature::ptr at (std::size_t idx)
 获取指定特征
 
const feature::const_ptr at (std::size_t idx) const
 获取指定特征
 
const auto & data () const
 获取特征列表数据
 
std::size_t size () const
 获取特征列表大小
 
bool empty () const
 判断特征列表是否为空
 

静态 Public 成员函数

static ptr make_combo (RuneTarget::ptr p_target, RuneCenter::ptr p_center, const ImuData &imu_data, double tick, bool force=false)
 Rune 构造接口
 
static cv::Vec2f cameraConvertToVertical (const cv::Vec2f &angle_vec, float diff_theta)
 相机平面中将角度值映射至垂直平面
 
static cv::Vec2f verticalConvertToCamera (const cv::Vec2f &angle_vec, float diff_theta)
 垂直平面中将角度值映射至相机平面
 

额外继承的成员函数

- Protected 属性 继承自 rm::combo
std::vector< feature::ptr_features
 特征列表
 
float _height {}
 高度
 
float _width {}
 宽度
 
float _angle {}
 角度
 
RMStatus _type {}
 类型
 
cv::Point2f _center
 中心点
 
cv::Point2f _relative_angle
 相对目标转角
 
ImuData _imu_data
 当前 IMU 数据
 
std::vector< cv::Point2f > _corners
 角点
 
CameraExtrinsics _extrinsic
 相机外参
 
double _tick {}
 捕获该组合体时的时间点
 

详细描述

神符(能量机关)

注解
  • at(0): 神符靶心,at(1): 神符旋转中心(R 标)
  • angle() 获取的角度范围是 [-180,180)
  • corners()
    • [0]: 靶心环最靠近神符中心的点
    • [1]: 靶心环与角点 [0][2] 的中垂线的交点(顺时针)
    • [2]: 靶心环最远离神符中心的点
    • [3]: 靶心环与角点 [0][2] 的中垂线的交点(顺时针)
    • [4]: 神符中心点
  • extrinsics 数据仅直线距离 distance 有效
  • center 为神符靶心的中心点,要获取神符旋转中心请访问对应特征 at(1)

成员类型定义说明

◆ const_ptr

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

◆ ptr

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

成员函数说明

◆ cameraConvertToVertical()

static cv::Vec2f rm::Rune::cameraConvertToVertical ( const cv::Vec2f & angle_vec,
float diff_theta )
inlinestatic

相机平面中将角度值映射至垂直平面

注解
为保证域的连续性,角度使用从原点出发的向量表示
参数
[in]angle_vec相机平面中的角度值(起点指向终点的向量)
[in]diff_theta两个平面之间的夹角(角度制)
返回
垂直平面中的角度值
函数调用图:

◆ clone()

combo::ptr rm::Rune::clone ( double tick)
overridevirtual

从另一个组合体进行构造

参数
[in]tick当前时间点,可用 rm::Timer::now() 获取
返回
指向新组合体的共享指针

实现了 rm::combo.

◆ getFeatureDis()

float rm::Rune::getFeatureDis ( ) const
inline

3D 空间下神符特征间距

◆ isActive()

bool rm::Rune::isActive ( )
inline

是否激活

◆ make_combo()

static ptr rm::Rune::make_combo ( RuneTarget::ptr p_target,
RuneCenter::ptr p_center,
const ImuData & imu_data,
double tick,
bool force = false )
static

Rune 构造接口

参数
[in]p_target神符靶心
[in]p_center神符中心
[in]imu_dataIMU 数据
[in]tick捕获特征的时间点
[in]force是否为强制构造
返回
神符共享指针

◆ verticalConvertToCamera()

static cv::Vec2f rm::Rune::verticalConvertToCamera ( const cv::Vec2f & angle_vec,
float diff_theta )
inlinestatic

垂直平面中将角度值映射至相机平面

注解
为保证域的连续性,角度使用从原点出发的向量表示
参数
[in]angle_vec垂直平面中的角度值(起点指向终点的向量)
[in]diff_theta两个平面之间的夹角(角度制)
返回
相机平面中的角度值
函数调用图:

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