| RMVL 2.4.0 Robotic Manipulation and Vision Library

载入中...
搜索中...
未找到
Public 类型 | Public 成员函数 | 静态 Public 成员函数 | 所有成员列表
rm::Rune类 参考final
特征组合体（数据组件） » 能量机关特征组合

神符（能量机关） 更多...

`#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 (int64_t 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 CameraExtrinsics & | extrinsic () const
| 获取组合体相机外参
const StateInfo & | state () const
| 获取组合体状态
StateInfo & | state ()
| 获取组合体状态
int64_t | tick () const
| 获取捕获该组合体的时间点
cv::Point2f | getRelativeAngle () const
| 获取组合体的相对目标转角
const ImuData & | imu () const
| 获取组合体当前的 IMU 数据
feature::ptr | at (std::size_t idx)
| 获取指定特征
const feature::const_ptr | at (std::size_t idx) const
| 获取指定特征
const std::vector< feature::ptr > & | 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, int64_t tick, bool force=false)
| Rune 构造接口
static ptr | cast (combo::ptr p_combo)
static const_ptr | cast (combo::const_ptr p_combo)
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 {}
| 角度
StateInfo | _state {}
| 状态
cv::Point2f | _center
| 中心点
cv::Point2f | _relative_angle
| 相对目标转角
ImuData | _imu_data
| 当前 IMU 数据
std::vector< cv::Point2f > | _corners
| 角点
CameraExtrinsics | _extrinsic
| 相机外参
int64_t | _tick {}
| 捕获该组合体时的时间点

## 详细描述

神符（能量机关）

- 特征信息 [0]: 神符靶心，[1]: 神符旋转中心（R 标）
- 角度信息 angle() 获取的角度范围是 [-180,180)
- 角点信息 corners() 获取的内容是 [0]: 神符靶心特征中心点，[1]: 神符中心特征中心点
- 相机外参 extrinsic() 数据仅直线距离 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()

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

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

注解
  为保证域的连续性，角度使用从原点出发的向量表示

参数

  [in] | angle_vec | 相机平面中的角度值（起点指向终点的向量）
  [in] | diff_theta | 两个平面之间的夹角（角度制）

返回
  垂直平面中的角度值

函数调用图:

## ◆ cast() [1/2]

const_ptr rm::Rune::cast | ( | combo::const_ptr | p_combo | ) |
| inline static

## ◆ cast() [2/2]

ptr rm::Rune::cast | ( | combo::ptr | p_combo | ) |
| inline static

## ◆ clone()

combo::ptr rm::Rune::clone | ( | int64_t | tick | ) |
| override virtual

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

从另一个组合体进行构造

参数

  [in] | tick | 当前时间点，可用 rm::Time::now() 获取

返回
  指向新组合体的共享指针

实现了 rm::combo.

函数调用图:

## ◆ getFeatureDis()

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

Python:
| rm.Rune.getFeatureDis( | path | ) -> | dis

3D 空间下神符特征间距

函数调用图:

## ◆ isActive()

bool rm::Rune::isActive | ( |  | ) |
| inline

Python:
| rm.Rune.isActive( |  | ) -> | <Is Active ?>

是否激活

## ◆ make_combo()

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

Python:
| rm.Rune.make_combo( | rt, rc, imu, t[, force] | ) -> | <rm.Rune object>

Rune 构造接口

参数

  [in] | p_target | 神符靶心
  [in] | p_center | 神符中心
  [in] | imu_data | IMU 数据
  [in] | tick | 捕获特征的时间点
  [in] | force | 是否为强制构造

返回
  神符共享指针

函数调用图:

## ◆ verticalConvertToCamera()

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

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

注解
  为保证域的连续性，角度使用从原点出发的向量表示

参数

  [in] | angle_vec | 垂直平面中的角度值（起点指向终点的向量）
  [in] | diff_theta | 两个平面之间的夹角（角度制）

返回
  相机平面中的角度值

函数调用图: