RMVL
1.2.0
Robotic Manipulation and Vision Library
|
神符(能量机关) 更多...
#include <rmvl/combo/rune.h>
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 成员函数 | |
Rune (RuneTarget::ptr p_target, RuneCenter::ptr p_center, const GyroData &gyro_data, double tick) | |
Rune (const Rune &)=delete | |
Rune (Rune &&)=delete | |
float | getFeatureDis () const |
3D 空间下神符特征间距 更多... | |
bool | isActive () |
是否激活 更多... | |
Public 成员函数 继承自 rm::combo | |
virtual | ~combo ()=0 |
float | getHeight () const |
获取组合体高度 更多... | |
float | getWidth () const |
获取组合体宽度 更多... | |
float | getAngle () const |
获取组合体角度 更多... | |
cv::Point2f | getCenter () const |
获取组合体中心点 更多... | |
const std::vector< cv::Point2f > & | getCorners () const |
获取组合体角点 更多... | |
const CameraExtrinsics & | getExtrinsics () const |
获取组合体相机外参 更多... | |
RMStatus | getType () const |
获取组合体类型 更多... | |
double | getTick () const |
获取捕获该组合体的时间点 更多... | |
cv::Point2f | getRelativeAngle () const |
获取组合体的相对目标转角 更多... | |
const GyroData & | getGyroData () const |
获取组合体当前的陀螺仪数据 更多... | |
feature::ptr | at (size_t idx) |
获取指定特征 更多... | |
const feature::const_ptr | at (size_t idx) const |
获取指定特征 更多... | |
const auto & | data () const |
获取特征列表数据 更多... | |
size_t | size () const |
获取特征列表大小 更多... | |
bool | empty () const |
判断特征列表是否为空 更多... | |
静态 Public 成员函数 | |
static std::shared_ptr< Rune > | make_combo (RuneTarget::ptr p_target, RuneCenter::ptr p_center, const GyroData &gyro_data, double tick, bool force=false) |
Rune 构造接口 更多... | |
static Rune::ptr | cast (combo::ptr p_combo) |
动态类型转换 更多... | |
static Rune::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 {} |
角度 更多... | |
RMStatus | _type {} |
类型 更多... | |
cv::Point2f | _center |
中心点 更多... | |
cv::Point2f | _relative_angle |
相对目标转角 更多... | |
GyroData | _gyro_data |
当前陀螺仪数据 更多... | |
std::vector< cv::Point2f > | _corners |
角点 更多... | |
CameraExtrinsics | _extrinsic |
相机外参 更多... | |
double | _tick {} |
捕获该组合体时的时间点 更多... | |
神符(能量机关)
at(0)
: 神符靶心,at(1)
: 神符旋转中心(R 标)getAngle()
获取的角度范围是 [-180,180)
getCorners()
[0]
: 靶心环最靠近神符中心的点[1]
: 靶心环与角点[0][2]的中垂线的交点(顺时针)[2]
: 靶心环最远离神符中心的点[3]
: 靶心环与角点[0][2]的中垂线的交点(顺时针)[4]
: 神符中心点getExtrinsics
数据仅直线距离 distance
有效getCenter
为神符靶心的中心点,要获取神符旋转中心请访问对应特征 at(1)
using rm::Rune::const_ptr = std::shared_ptr<const Rune> |
using rm::Rune::ptr = std::shared_ptr<Rune> |
rm::Rune::Rune | ( | RuneTarget::ptr | p_target, |
RuneCenter::ptr | p_center, | ||
const GyroData & | gyro_data, | ||
double | tick | ||
) |
|
delete |
|
delete |
|
inlinestatic |
相机平面中将角度值映射至垂直平面
[in] | angle_vec | 相机平面中的角度值(起点指向终点的向量) |
[in] | diff_theta | 两个平面之间的夹角(角度制) |
|
inlinestatic |
|
inlinestatic |
|
inline |
3D 空间下神符特征间距
|
inline |
是否激活
|
static |
Rune 构造接口
[in] | p_target | 神符靶心 |
[in] | p_center | 神符中心 |
[in] | gyro_data | 陀螺仪数据 |
[in] | tick | 捕获特征的时间点 |
[in] | force | 是否为强制构造 |
|
inlinestatic |
垂直平面中将角度值映射至相机平面
[in] | angle_vec | 垂直平面中的角度值(起点指向终点的向量) |
[in] | diff_theta | 两个平面之间的夹角(角度制) |