| RMVL 2.4.0 Robotic Manipulation and Vision Library

载入中...
搜索中...
未找到
命名空间 | 类 | 类型定义 | 枚举 | 函数 | 变量
rm 命名空间参考

## 命名空间
namespace | numeric_literals
namespace | para
namespace | str
namespace | reflect
namespace | async
namespace | requests
namespace | ip
| IP 协议族，包含 IPv4 和 IPv6 以及多播选项的相关定义
namespace | cvmsg
| OpenCV 与 LPSS 消息转换命名空间
namespace | lpss
| 轻量发布订阅服务框架命名空间，包含节点、发布者、订阅者等相关定义
namespace | msg
| LPSS 消息类型命名空间
namespace | helper

## 类
class | RaHeap
| 支持随机访问的堆（与 std::priority_queue 具备相同的基础容器筛选条件） 更多...
class | UnionFind
| 并查集 更多...
class | KalmanFilterStaticDatas
| 卡尔曼滤波静态数据 更多...
class | KalmanFilter
| 卡尔曼滤波器 更多...
class | ExtendedKalmanFilter
| 扩展卡尔曼滤波器 更多...
class | EwTopsis
| 熵权 TOPSIS 算法 更多...
class | Munkres
| KM 算法求解器 更多...
class | Polynomial
| N 次多项式 更多...
class | Interpolator
| 函数插值器 更多...
class | CurveFitter
| 曲线拟合器 更多...
class | NonlinearSolver
| 非线性方程求解器 更多...
class | RungeKutta
| Butcher 表形式的常微分方程（组）数值求解器 更多...
class | RungeKutta2
| 2 阶 2 级 Runge-Kutta 求解器 更多...
class | RungeKutta3
| 3 阶 3 级 Runge-Kutta 求解器 更多...
class | RungeKutta4
| 4 阶 4 级 Runge-Kutta 求解器 更多...
struct | OptimalOptions
| 多维函数优化选项 更多...
struct | CameraConfig
| 相机初始化配置模式 更多...
class | CameraExtrinsics
| 相机外参 更多...
class | GalaxyCamera
| 大恒图像 Galaxy 系列工业相机库 更多...
class | HikCamera
| 海康机器人相机库 更多...
class | MvCamera
| 迈德威视相机库 更多...
class | OptCamera
| 奥普特机器视觉相机库 更多...
class | Time
| 计时器类 更多...
class | Exception
| 该类封装了有关程序中发生的错误的所有或几乎所有必要信息。异常通常是通过 RMVL_Error 和 RMVL_Error_ 宏隐式构造和抛出的 更多...
struct | hash_aggregate
| 专为聚合类添加的 hash 生成可调用对象 更多...
struct | hash_traits
| 哈希生成函数类型 traits 更多...
struct | hash_traits< Tp, std::enable_if_t<!std::is_aggregate_v< Tp > > >
| 非聚合类哈希生成函数类型 traits 更多...
struct | hash_traits< Tp, std::enable_if_t< std::is_aggregate_v< Tp > > >
| 聚合类哈希生成函数类型 traits 更多...
class | PipeServer
| 命名管道服务端 更多...
class | PipeClient
| 命名管道客户端 更多...
class | MqServer
| 消息队列服务端 更多...
class | MqClient
| 消息队列客户端 更多...
class | SHMBase
| 共享内存对象基类 更多...
class | AtomicSHM
| MPMC 原子共享内存对象 更多...
class | RingBufferSlotSHM
| 基于共享内存的无锁 MPMC（多生产者多消费者）环形缓冲区 更多...
struct | URLParseInfo
| URL 解析结果 更多...
struct | Request
| HTTP 请求结构 更多...
struct | Response
| HTTP 响应结构 更多...
class | Router
| HTTP 路由器 目前支持的 HTTP 方法包括 GET、POST、HEAD 和 DELETE 更多...
class | SerialPort
| 同步模式串行接口通信库 更多...
struct | NetworkInterfaceFlag
| 接口功能与状态标志 更多...
class | NetworkInterface
| 网络接口 更多...
class | Endpoint
| 端点 更多...
class | DgramSocket
| 由 rm::Listener 或 rm::Sender 建立的数据报式 Socket 会话 更多...
class | Sender
| 同步数据报式 Socket 发送器 更多...
class | Listener
| 同步数据报式 Socket 监听器 更多...
class | StreamSocket
| 由 rm::Acceptor 或 rm::Connector 建立的流式 Socket 会话 更多...
class | Acceptor
| Socket 接受器 更多...
class | Connector
| Socket 连接器 更多...
struct | Translation
| 移动位置信息 更多...
struct | Rotation
| 转动姿态信息 更多...
struct | ImuData
| IMU 数据 更多...
class | HikLightController
| 海康机器人光源控制器 更多...
struct | LightConfig
| 光源控制器初始化配置模式 更多...
class | OPTLightController
| OPT 奥普特光源控制器 更多...
struct | PreprocessOptions
| 预处理选项 更多...
struct | PostprocessOptions
| 后处理选项 更多...
class | OnnxNet
| ONNX-Runtime (Ort) 部署库基类 [14] 更多...
class | ClassificationNet
| 分类网络推理类 更多...
class | OpcuaClientView
| OPC UA 客户端视图 更多...
class | OpcuaClient
| OPC UA 客户端 更多...
class | OpcuaClientTimer
| OPC UA 客户端定时器 更多...
class | EventType
| OPC UA 事件类型 更多...
class | Event
| OPC UA 事件 更多...
struct | Argument
| OPC UA 方法参数信息 更多...
class | Method
| OPC UA 方法 更多...
class | ObjectType
| OPC UA 对象类型 更多...
class | Object
| OPC UA 对象 更多...
struct | PublishedDataSet
| 待发布的数据集 (PDS) 更多...
class | OpcuaPublisher
| OPC UA 发布者 更多...
class | OpcuaServerView
| OPC UA 服务器视图 更多...
class | OpcuaServer
| OPC UA 服务器 更多...
class | OpcuaServerTimer
| OPC UA 服务器定时器 更多...
struct | FieldMetaData
| 数据集字段元数据 更多...
class | OpcuaSubscriber
| OPC UA 订阅者 更多...
class | NodeId
| OPC UA 节点 ID 更多...
class | DataType
| OPC UA 数据类型 更多...
struct | UserConfig
| 用户信息 更多...
class | VariableType
| OPC UA 变量类型 更多...
class | Variable
| OPC UA 变量 更多...
struct | DataSourceVariable
| OPC UA 数据源变量 更多...
class | View
| OPC UA 视图 更多...
class | StateInfo
| 状态类型系统 更多...
class | Anchor
| 定位点特征，具有以下状态类型 更多...
class | feature
| 图像中的轮廓特征 更多...
class | LightBlob
| 装甲板灯条 更多...
class | Pilot
| 前哨、基地的引导灯 更多...
class | RuneCenter
| 神符中心特征 更多...
class | RuneTarget
| 神符靶心特征 更多...
class | Tag
| AprilTag 视觉标签特征类 更多...
class | Armor
| 装甲模块组合特征 更多...
class | combo
| 特征组合体 更多...
class | Rune
| 神符（能量机关） 更多...
class | GyroTracker
| 整车状态追踪器 更多...
class | PlanarTracker
| 平面目标追踪器 更多...
class | RuneTracker
| 神符时间序列 更多...
class | tracker
| 组合体时间序列 更多...
class | group
| 相关追踪器的空间集合（序列组） 更多...
class | TrackerState
| 序列组中的追踪器状态 更多...
class | GyroGroup
| 整车状态序列组 更多...
class | RuneGroup
| 神符序列组 更多...
struct | ArmorDetectorInfo
| 装甲板识别信息结构体 更多...
class | ArmorDetector
| 装甲板识别模块 更多...
struct | GyroDetectorInfo
| 装甲板识别信息结构体 更多...
class | GyroDetector
| 整车状态识别模块 更多...
struct | RuneDetectorInfo
| 能量机关识别信息结构体 更多...
class | RuneDetector
| 能量机关识别模块（包含已激活、未激活） 更多...
class | TagDetector
| AprilTag 识别器 更多...
struct | CompensateInfo
| 补偿模块信息 更多...
class | GravityCompensator
| 使用重力模型的补偿模块 更多...
class | GyroCompensator
| 整车状态补偿模块 更多...
class | ArmorPredictor
| 装甲预测模块 更多...
struct | RunePredictorInfo
| 预测模块信息 更多...
class | GyroPredictor
| 整车状态预测模块 更多...
class | RunePredictor
| 神符预测模块 更多...
class | SpiRunePredictor
| 系统参数辨识神符预测类 更多...
class | GyroDecider
| 整车状态决策类 更多...
class | RuneDecider
| 神符决策模块 更多...
class | TranslationDecider
| 平移目标决策类 更多...

## 类型定义
using | RealSignal = std::deque<double>
| 实数信号
using | ComplexSignal = std::deque<std::complex<double>>
| 复数信号
using | KF21f = KalmanFilter<float, 2U, 1U>
| 2 × 1 卡尔曼滤波器
using | KF21d = KalmanFilter<double, 2U, 1U>
| 2 × 1 卡尔曼滤波器
using | KF31f = KalmanFilter<float, 3U, 1U>
| 3 × 1 卡尔曼滤波器
using | KF31d = KalmanFilter<double, 3U, 1U>
| 3 × 1 卡尔曼滤波器
using | KF32f = KalmanFilter<float, 3U, 2U>
| 3 × 2 卡尔曼滤波器
using | KF32d = KalmanFilter<double, 3U, 2U>
| 3 × 2 卡尔曼滤波器
using | KF42f = KalmanFilter<float, 4U, 2U>
| 4 × 2 卡尔曼滤波器
using | KF42d = KalmanFilter<double, 4U, 2U>
| 4 × 2 卡尔曼滤波器
using | KF63f = KalmanFilter<float, 6U, 3U>
| 6 × 3 卡尔曼滤波器
using | KF63d = KalmanFilter<double, 6U, 3U>
| 6 × 3 卡尔曼滤波器
using | KF64f = KalmanFilter<float, 6U, 4U>
| 6 × 4 卡尔曼滤波器
using | KF64d = KalmanFilter<double, 6U, 4U>
| 6 × 4 卡尔曼滤波器
using | KF73f = KalmanFilter<float, 7U, 3U>
| 7 × 3 卡尔曼滤波器
using | KF73d = KalmanFilter<double, 7U, 3U>
| 7 × 3 卡尔曼滤波器
using | EKF31f = ExtendedKalmanFilter<float, 3U, 1U>
| 3 × 1 扩展卡尔曼滤波器
using | EKF31d = ExtendedKalmanFilter<double, 3U, 1U>
| 3 × 1 扩展卡尔曼滤波器
using | EKF32f = ExtendedKalmanFilter<float, 3U, 2U>
| 3 × 2 扩展卡尔曼滤波器
using | EKF32d = ExtendedKalmanFilter<double, 3U, 2U>
| 3 × 2 扩展卡尔曼滤波器
using | EKF42f = ExtendedKalmanFilter<float, 4U, 2U>
| 4 × 2 扩展卡尔曼滤波器
using | EKF42d = ExtendedKalmanFilter<double, 4U, 2U>
| 4 × 2 扩展卡尔曼滤波器
using | EKF52f = ExtendedKalmanFilter<float, 5U, 2U>
| 5 × 2 扩展卡尔曼滤波器
using | EKF52d = ExtendedKalmanFilter<double, 5U, 2U>
| 5 × 2 扩展卡尔曼滤波器
using | EKF53f = ExtendedKalmanFilter<float, 5U, 3U>
| 5 × 3 扩展卡尔曼滤波器
using | EKF53d = ExtendedKalmanFilter<double, 5U, 3U>
| 5 × 3 扩展卡尔曼滤波器
using | EKF63f = ExtendedKalmanFilter<float, 6U, 3U>
| 6 × 3 扩展卡尔曼滤波器
using | EKF63d = ExtendedKalmanFilter<double, 6U, 3U>
| 6 × 3 扩展卡尔曼滤波器
using | EKF64f = ExtendedKalmanFilter<float, 6U, 4U>
| 6 × 4 扩展卡尔曼滤波器
using | EKF64d = ExtendedKalmanFilter<double, 6U, 4U>
| 6 × 4 扩展卡尔曼滤波器
using | EKF73f = ExtendedKalmanFilter<float, 7U, 3U>
| 7 × 3 扩展卡尔曼滤波器
using | EKF73d = ExtendedKalmanFilter<double, 7U, 3U>
| 7 × 3 扩展卡尔曼滤波器
using | EKF74f = ExtendedKalmanFilter<float, 7U, 4U>
| 7 × 4 扩展卡尔曼滤波器
using | EKF74d = ExtendedKalmanFilter<double, 7U, 4U>
| 7 × 4 扩展卡尔曼滤波器
using | EKF83f = ExtendedKalmanFilter<float, 8U, 3U>
| 8 × 3 扩展卡尔曼滤波器
using | EKF83d = ExtendedKalmanFilter<double, 8U, 3U>
| 8 × 3 扩展卡尔曼滤波器
using | EKF84f = ExtendedKalmanFilter<float, 8U, 4U>
| 8 × 4 扩展卡尔曼滤波器
using | EKF84d = ExtendedKalmanFilter<double, 8U, 4U>
| 8 × 4 扩展卡尔曼滤波器
using | EKF94f = ExtendedKalmanFilter<float, 9U, 4U>
| 9 × 4 扩展卡尔曼滤波器
using | EKF94d = ExtendedKalmanFilter<double, 9U, 4U>
| 9 × 4 扩展卡尔曼滤波器
using | Ode = std::function<double(double, const std::valarray<double> &)>
| 常微分方程
using | Odes = std::vector<std::function<double(double, const std::valarray<double> &)>>
| 常微分方程组
using | Func1d = std::function<double(double)>
| 一元函数
using | Func1ds = std::vector<std::function<double(double)>>
| 一元函数组
using | FuncNd = std::function<double(const std::valarray<double> &)>
| 多元函数
using | FuncNds = std::function<std::valarray<double>(const std::valarray<double> &)>
| 多元函数组
using | FileDescriptor = int
| 文件描述符类型定义
template<typename T>
using | RingBufferSlotSHM2 = RingBufferSlotSHM<T, 2>
| 2 槽位共享内存无锁环形缓冲区
template<typename T>
using | RingBufferSlotSHM4 = RingBufferSlotSHM<T, 4>
| 4 槽位共享内存无锁环形缓冲区
template<typename T>
using | RingBufferSlotSHM8 = RingBufferSlotSHM<T, 8>
| 8 槽位共享内存无锁环形缓冲区
template<typename T>
using | RingBufferSlotSHM16 = RingBufferSlotSHM<T, 16>
| 16 槽位共享内存无锁环形缓冲区
template<typename T>
using | RingBufferSlotSHM32 = RingBufferSlotSHM<T, 32>
| 32 槽位共享内存无锁环形缓冲区
template<typename T>
using | RingBufferSlotSHM64 = RingBufferSlotSHM<T, 64>
| 64 槽位共享内存无锁环形缓冲区
using | ResponseMiddleware = std::function<void(const Request &, Response &)>
| 响应中间件类型
using | RouteHandler = std::function<void(const Request &, Response &)>
| 路由类型
using | SocketFd = int
using | DataChangeNotificationCallback = std::function<void(OpcuaClientView, const Variable &)>
| 数据变更通知回调函数
using | EventNotificationCallback = std::function<void(OpcuaClientView, const std::vector<Variable> &)>
| 事件通知回调函数
using | MethodCallback = std::function<std::pair<bool, std::vector<Variable>>(const NodeId &, const std::vector<Variable> &)>
| OPC UA 方法回调函数
using | ValueCallbackBeforeRead = std::function<void(OpcuaServerView, const NodeId &, const Variable &)>
| 值回调函数，Read 可调用对象定义
using | ValueCallbackAfterWrite = std::function<void(OpcuaServerView, const NodeId &, const Variable &)>
| 值回调函数，Write 可调用对象定义
typedef std::tuple< UA_Server *, std::string_view, uint16_t > | FindNodeInServer
| 目标节点信息（服务端指针、浏览名、命名空间索引）
typedef std::tuple< UA_Client *, std::string_view, uint16_t > | FindNodeInClient
| 目标节点信息（客户端指针、浏览名、命名空间索引）
using | Variables = std::vector<Variable>
| 变量列表别名
using | DataSourceRead = std::function<Variable(const NodeId &)>
| 数据源回调函数，Read 函数指针定义
using | DataSourceWrite = std::function<void(const NodeId &, const Variable &)>
| 数据源回调函数，Write 函数指针定义
using | StateType = std::variant<double, std::string>
| 状态类型

## 枚举
enum class | GxType { GxType::Amp , GxType::Phase , GxType::Power , GxType::LogPower }
| 信号谱类型 更多...
enum | AngleMode : bool { RAD = true , DEG = false }
| 角度制式 更多...
enum class | CalPlane : uint8_t { CalPlane::xyz = 0 , CalPlane::xOy = 1 , CalPlane::xOz = 2 , CalPlane::yOz = 3 }
| 计算所在平面 更多...
enum class | DiffMode : uint8_t { DiffMode::Central , DiffMode::Ridders }
| 梯度/导数计算模式 更多...
enum class | FminMode : uint8_t { FminMode::ConjGrad , FminMode::Simplex }
| 多维函数最优化模式 更多...
enum class | ConsMode : uint8_t { ConsMode::Exterior , ConsMode::Lagrange }
| 约束求解模式 更多...
enum class | LsqMode : uint8_t { LsqMode::SGN , LsqMode::GN , LsqMode::LM }
| 最小二乘求解模式 更多...
enum class | RobustMode : uint8_t { RobustMode::L2 , RobustMode::Huber , RobustMode::Tukey , RobustMode::Cauchy , RobustMode::GM }
| Robust 核函数 更多...
enum | PixChannel : uint8_t { BLUE , GREEN , RED , AUTOCOLOR }
| 像素通道枚举 更多...
enum class | EulerAxis : int { EulerAxis::X = 0 , EulerAxis::Y = 1 , EulerAxis::Z = 2 }
| 欧拉角转轴枚举 更多...
enum class | TriggerChannel : uint8_t { TriggerChannel::Chn0 , TriggerChannel::Chn1 , TriggerChannel::Chn2 , TriggerChannel::Chn3 }
| 相机外部触发通道 更多...
enum class | GrabMode : uint8_t { GrabMode::Continuous , GrabMode::Software , GrabMode::Hardware , GrabMode::RotaryEnc }
| 相机采集模式 更多...
enum class | HandleMode : uint8_t { HandleMode::Index , HandleMode::Key , HandleMode::MAC , HandleMode::IP }
| 相机句柄创建方式 更多...
enum class | RetrieveMode : uint8_t { RetrieveMode::OpenCV , RetrieveMode::SDK }
| 相机数据处理模式 更多...
enum class | CameraProperties : uint8_t { CameraProperties::auto_exposure , CameraProperties::auto_wb , CameraProperties::exposure , CameraProperties::gain , CameraProperties::gamma , CameraProperties::wb_rgain , CameraProperties::wb_ggain , CameraProperties::wb_bgain , CameraProperties::contrast , CameraProperties::saturation , CameraProperties::sharpness , CameraProperties::frame_height , CameraProperties::frame_width , CameraProperties::trigger_delay , CameraProperties::trigger_count , CameraProperties::trigger_period }
| 相机运行时属性 更多...
enum | CameraEvents : uint8_t { once_exposure , once_wb , software }
| 相机运行时事件 更多...
enum class | HTTPMethod : uint8_t { HTTPMethod::Get , HTTPMethod::Post , HTTPMethod::Put , HTTPMethod::Delete , HTTPMethod::Patch , HTTPMethod::Head , HTTPMethod::Options , HTTPMethod::Trace , HTTPMethod::Connect , HTTPMethod::Unknown }
| HTTP 请求方法 更多...
enum class | BaudRate : uint8_t { BaudRate::BR_1200 , BaudRate::BR_2400 , BaudRate::BR_4800 , BaudRate::BR_9600 , BaudRate::BR_19200 , BaudRate::BR_38400 , BaudRate::BR_57600 , BaudRate::BR_115200 }
| 波特率 更多...
enum class | SerialReadMode : uint8_t { SerialReadMode::BLOCK , SerialReadMode::NONBLOCK }
| 同步模式串口数据读取模式 更多...
enum class | NetworkInterfaceType : uint8_t { NetworkInterfaceType::Ethernet , NetworkInterfaceType::Wireless , NetworkInterfaceType::PPP , NetworkInterfaceType::Tunnel , NetworkInterfaceType::Loopback , NetworkInterfaceType::Other , NetworkInterfaceType::Unknown }
| 接口驱动类型 更多...
enum class | LightHandleMode { IP , Key , Serial }
| 光源控制器通信模式 更多...
enum class | OrtProvider : uint8_t { OrtProvider::CPU , OrtProvider::CUDA , OrtProvider::TensorRT , OrtProvider::OpenVINO }
| Ort 提供者 更多...
enum | AccessLevel : uint8_t { VARIABLE_READ = 1U , VARIABLE_WRITE = 2U }
enum class | AnchorType { AnchorType::Unknown , AnchorType::Circle , AnchorType::Square , AnchorType::Cross }
| 定位点类型 更多...
enum class | ArmorSizeType : uint8_t { ArmorSizeType::UNKNOWN , ArmorSizeType::SMALL , ArmorSizeType::BIG }
| 装甲板大小类型 更多...
enum class | RobotType : uint8_t { RobotType::UNKNOWN , RobotType::HERO , RobotType::ENGINEER , RobotType::INFANTRY_3 , RobotType::INFANTRY_4 , RobotType::INFANTRY_5 , RobotType::OUTPOST , RobotType::BASE , RobotType::SENTRY }
| 机器人类型 更多...
enum class | RotStatus : uint8_t { LOW_ROT_SPEED , HIGH_ROT_SPEED }
| 旋转状态类型 更多...
enum class | CompensateType : uint8_t { UNKNOWN , UP , DOWN , LEFT , RIGHT }
| 强制补偿类型 更多...

## 函数
template<typename InputIterator>
| UnionFind (InputIterator, InputIterator) -> UnionFind< typename std::iterator_traits< InputIterator >::value_type >
template<std::ranges::range Range>
| UnionFind (Range &&) -> UnionFind< typename std::ranges::range_value_t< Range > >
ComplexSignal | dft (const ComplexSignal &xt)
| 计算离散傅里叶变换
ComplexSignal | idft (const ComplexSignal &Xf)
| 计算离散傅里叶逆变换
RealSignal | Gx (const ComplexSignal &x, GxType type)
| 计算信号谱
cv::Mat | draw (const RealSignal &datas, const cv::Scalar &color)
| 绘制信号
template<typename Tp>
constexpr Tp | operator+ (Tp val, const cv::Matx< Tp, 1, 1 > &mat)
template<typename Tp>
constexpr cv::Matx< Tp, 1, 1 > | operator+ (const cv::Matx< Tp, 1, 1 > &mat, Tp val)
template<typename Tp>
constexpr Tp | operator- (Tp val, const cv::Matx< Tp, 1, 1 > &mat)
template<typename Tp>
constexpr cv::Matx< Tp, 1, 1 > | operator- (const cv::Matx< Tp, 1, 1 > &mat, Tp val)
template<typename Tp>
constexpr Tp | deg2rad (Tp deg)
| 角度转换为弧度
template<typename Tp>
constexpr Tp | rad2deg (Tp rad)
| 弧度转换为角度
template<typename Tp1, typename Tp2>
constexpr auto | getDistance (const cv::Point_< Tp1 > &pt_1, const cv::Point_< Tp2 > &pt_2)
| 获取距离
template<typename Tp1, typename Tp2>
constexpr auto | getDistance (const cv::Vec< Tp1, 2 > &vec_1, const cv::Vec< Tp2, 2 > &vec_2)
| 获取距离
template<typename Tp1, typename Tp2>
constexpr auto | getDistance (const cv::Point3_< Tp1 > &pt_1, const cv::Point3_< Tp2 > &pt_2, CalPlane calplane=CalPlane::xyz)
| 获取距离
template<typename Tp1, typename Tp2>
constexpr auto | getDistance (const cv::Vec< Tp1, 3 > &vec_1, const cv::Vec< Tp2, 3 > &vec_2, CalPlane calplane=CalPlane::xyz)
| 获取距离
template<typename Tp1, typename Tp2>
constexpr auto | getDistance (const cv::Vec< Tp1, 4 > &line, const cv::Point_< Tp2 > &pt, bool direc=true)
| 点到直线距离，其中 \(P=(x_0,y_0)\) 到直线 \(l:Ax+By+C=0\) 距离公式为
template<typename Tp1, typename Tp2>
constexpr auto | getHAngle (const cv::Point_< Tp1 > &start, const cv::Point_< Tp2 > &end, AngleMode mode=RAD)
| 获取与水平方向的夹角，以平面直角坐标系 \(x\) 轴为分界线， 逆时针 为正方向，范围: \((-180°,180°]\) ，默认返回弧度制
template<typename Tp1, typename Tp2>
constexpr auto | getVAngle (const cv::Point_< Tp1 > &start, const cv::Point_< Tp2 > &end, AngleMode mode=RAD)
| 获取与垂直方向的夹角，以平面直角坐标系 \(y\) 轴为分界线， 顺时针 为正方向，范围: \((-180°,180°]\) ，默认返回弧度制
template<typename Tp>
constexpr Tp | getDeltaAngle (Tp angle_1, Tp angle_2)
| 求两个角之间的夹角
template<typename Tp>
constexpr Tp | sec (Tp x)
| 正割 \(\sec(x)\)
template<typename Tp>
constexpr Tp | csc (Tp x)
| 余割 \(\csc(x)\)
template<typename Tp>
constexpr Tp | cot (Tp x)
| 余切 \(\cot(x)\)
template<typename Tp>
constexpr Tp | sgn (Tp x)
| 符号函数
template<typename Tp>
constexpr Tp | sigmoid (Tp x, Tp k=1, Tp Kp=1, Tp mu=0)
| 计算 sigmoid(x) 在某一点的函数值
template<typename ForwardIterator>
constexpr std::iterator_traits< ForwardIterator >::value_type | mean (ForwardIterator first, ForwardIterator last)
| 计算均值
template<typename ForwardIterator>
constexpr std::iterator_traits< ForwardIterator >::value_type | variance (ForwardIterator first, ForwardIterator last)
| 计算方差
template<typename Tp>
constexpr Tp | cross2D (const cv::Vec< Tp, 2 > &a, const cv::Vec< Tp, 2 > &b)
| 平面向量外积
template<typename Tp>
constexpr Tp | cross2D (const cv::Point_< Tp > &a, const cv::Point_< Tp > &b)
| 平面向量外积
template<typename ForwardIterator>
std::iterator_traits< ForwardIterator >::value_type | calculateModeNum (ForwardIterator first, ForwardIterator last)
| 在指定范围内寻找众数，时间复杂度 O(N)
double | derivative (Func1d func, double x, DiffMode mode=DiffMode::Central, double dx=1e-3)
| 计算一元函数的导数
std::valarray< double > | grad (FuncNd func, const std::valarray< double > &x, DiffMode mode=DiffMode::Central, double dx=1e-3)
| 计算多元函数的梯度
std::pair< double, double > | region (Func1d func, double x0, double delta=1)
| 采用进退法确定搜索区间
std::pair< double, double > | fminbnd (Func1d func, double x1, double x2, const OptimalOptions &options={})
| 一维函数最小值搜索
std::pair< std::valarray< double >, double > | fminunc (FuncNd func, const std::valarray< double > &x0, const OptimalOptions &options={})
| 无约束多维函数的最小值搜索，可参考 多维无约束最优化方法
std::pair< std::valarray< double >, double > | fmincon (FuncNd func, const std::valarray< double > &x0, FuncNds c, FuncNds ceq, const OptimalOptions &options={})
| 有约束多维函数的最小值搜索
std::valarray< double > | lsqnonlin (const FuncNds &func, const std::valarray< double > &x0, const OptimalOptions &options={})
| 非线性最小二乘求解，实现与 [1] 类似的算法
std::valarray< double > | lsqnonlinRKF (const FuncNds &func, const std::valarray< double > &x0, RobustMode rb, const OptimalOptions &options={})
| 带 Robust 核函数的非线性最小二乘求解
cv::Mat | binary (cv::Mat src, uint8_t ch1, uint8_t ch2, uint8_t threshold)
| 通道相减二值化
cv::Mat | binary (cv::Mat src, uint8_t threshold)
| 亮度阈值二值化
cv::Point2f | calculateRelativeAngle (const cv::Matx33f &cameraMatrix, cv::Point2f center)
| 计算相机中心与目标中心之间的相对角度
cv::Point2f | calculateRelativeCenter (const cv::Matx33f &cameraMatrix, cv::Point2f angle)
| 计算目标中心在像素坐标系下的坐标
cv::Vec2f | cameraConvertToPixel (const cv::Matx33f &cameraMatrix, const cv::Matx51f &distCoeffs, const cv::Vec3f &center3d)
| 计算 3D 目标点在像素坐标系下的坐标
cv::Point2f | cameraConvertToPixel (const cv::Matx33f &cameraMatrix, const cv::Matx51f &distCoeffs, const cv::Point3f &center3d)
| 计算 3D 目标点在像素坐标系下的坐标
template<typename Tp>
cv::Matx< Tp, 3, 3 > | euler2Mat (Tp val, EulerAxis axis)
| 欧拉角转换为旋转矩阵
std::string | format (const char *fmt,...)
| 返回使用类 printf 表达式格式化的文本字符串。
void | breakOnError ()
| 触发非法内存操作
void | throwError (const Exception &exc)
| 抛出异常
void | error (int _code, std::string_view _err, const char *_func, const char *_file, int _line)
| 发出错误信号并引发异常
const char * | getBuildInformation ()
| 返回完整的配置输出
uint32_t | processId ()
| 获取当前进程的 ID
constexpr const char * | getVersionString ()
| 返回库版本字符串
constexpr const char * | version ()
constexpr int | getVersionMajor ()
| 返回主要库版本
constexpr int | getVersionMinor ()
| 返回次要库版本
constexpr int | getVersionPatch ()
| 返回库版本的修订字段
URLParseInfo | parseURL (std::string_view url)
| 解析 URL
std::tuple< std::string, bool > | parseDNS (std::string_view hostname)
| 域名解析
ResponseMiddleware | statics (std::string_view url, std::string_view root)
| 静态路由中间件，处理对指定 URL 路径的静态文件请求
ResponseMiddleware | cors ()
| 跨域资源共享 CORS 中间件，为响应添加 CORS 头部信息
std::ostream & | operator<< (std::ostream &os, const ImuData &data)
| 重载 IMU 数据的输入输出流操作符
std::istream & | operator>> (std::istream &is, ImuData &data)
| 重载 IMU 数据的输入输出流操作符
void | writeCorners (std::ostream &out, const std::vector< std::vector< std::array< float, 2 > > > &corners)
| 导出角点数据
void | readCorners (std::istream &in, std::vector< std::vector< std::array< float, 2 > > > &corners)
| 导入角点数据
NodeId | operator| (NodeId origin, rm::FindNodeInServer &&fnis)
| 服务端路径搜索
NodeId | operator| (NodeId origin, rm::FindNodeInClient &&fnic)
| 客户端路径搜索
const char * | to_string (ArmorSizeType armor_size)
| 装甲板大小类型转为字符串
ArmorSizeType | to_armor_size_type (const StateType &tp)
| StateType 转为装甲板大小类型
const char * | to_string (RobotType robot)
| 机器人类型转为字符串
RobotType | to_robot_type (const StateType &tp)
| StateType 转为机器人类型

## 变量
constexpr float | FLOAT_MAX = std::numeric_limits<float>::max()
| float 最大值
constexpr float | FLOAT_MIN = std::numeric_limits<float>::min()
| float 最小值
constexpr double | PI = 3.14159265358979323
| 圆周率: \(\pi\)
constexpr double | e = 2.7182818459045
| 自然对数底数: \(e\)
constexpr double | SQRT_2 = 1.4142135623731
| 根号 2: \(\sqrt2\)
constexpr FileDescriptor | INVALID_FD = -1
constexpr SocketFd | INVALID_SOCKET_FD = -1
constexpr DataType | tpBoolean {UA_TYPES_BOOLEAN}
| 数据类型：Boolean
constexpr DataType | tpSbyte {UA_TYPES_SBYTE}
| 数据类型：Sbyte
constexpr DataType | tpByte {UA_TYPES_BYTE}
| 数据类型：Byte
constexpr DataType | tpInt16 {UA_TYPES_INT16}
| 数据类型：Int16
constexpr DataType | tpUInt16 {UA_TYPES_UINT16}
| 数据类型：UInt16
constexpr DataType | tpInt32 {UA_TYPES_INT32}
| 数据类型：Int32
constexpr DataType | tpUInt32 {UA_TYPES_UINT32}
| 数据类型：UInt32
constexpr DataType | tpInt64 {UA_TYPES_INT64}
| 数据类型：Int64
constexpr DataType | tpUInt64 {UA_TYPES_UINT64}
| 数据类型：UInt64
constexpr DataType | tpFloat {UA_TYPES_FLOAT}
| 数据类型：Float
constexpr DataType | tpDouble {UA_TYPES_DOUBLE}
| 数据类型：Double
constexpr DataType | tpString {UA_TYPES_STRING}
| 数据类型：String
constexpr NodeId | nodeBoolean {0, UA_NS0ID_BOOLEAN}
| 数据类型节点：Boolean 节点 ID
constexpr NodeId | nodeSbyte {0, UA_NS0ID_SBYTE}
| 数据类型节点：Sbyte 节点 ID
constexpr NodeId | nodeByte {0, UA_NS0ID_BYTE}
| 数据类型节点：Byte 节点 ID
constexpr NodeId | nodeInt16 {0, UA_NS0ID_INT16}
| 数据类型节点：Int16 节点 ID
constexpr NodeId | nodeUInt16 {0, UA_NS0ID_UINT16}
| 数据类型节点：UInt16 节点 ID
constexpr NodeId | nodeInt32 {0, UA_NS0ID_INT32}
| 数据类型节点：Int32 节点 ID
constexpr NodeId | nodeUInt32 {0, UA_NS0ID_UINT32}
| 数据类型节点：UInt32 节点 ID
constexpr NodeId | nodeInt64 {0, UA_NS0ID_INT64}
| 数据类型节点：Int64 节点 ID
constexpr NodeId | nodeUInt64 {0, UA_NS0ID_UINT64}
| 数据类型节点：UInt64 节点 ID
constexpr NodeId | nodeFloat {0, UA_NS0ID_FLOAT}
| 数据类型节点：Float 节点 ID
constexpr NodeId | nodeDouble {0, UA_NS0ID_DOUBLE}
| 数据类型节点：Double 节点 ID
constexpr NodeId | nodeString {0, UA_NS0ID_STRING}
| 数据类型节点：String 节点 ID
constexpr NodeId | nodeDatetime {0, UA_NS0ID_DATETIME}
| 数据类型节点：Datetime 节点 ID
constexpr NodeId | nodeObjectsFolder {0, UA_NS0ID_OBJECTSFOLDER}
| 对象节点：ObjectsFolder 节点 ID
constexpr NodeId | nodeTypesFolder {0, UA_NS0ID_TYPESFOLDER}
| 对象节点：TypesFolder 节点 ID
constexpr NodeId | nodeViewsFolder {0, UA_NS0ID_VIEWSFOLDER}
| 对象节点：ViewsFolder 节点 ID
constexpr NodeId | nodeObjectTypesFolder {0, UA_NS0ID_OBJECTTYPESFOLDER}
| 对象节点：ObjectTypesFolder 节点 ID
constexpr NodeId | nodeVariableTypesFolder {0, UA_NS0ID_VARIABLETYPESFOLDER}
| 对象节点：VariableTypesFolder 节点 ID
constexpr NodeId | nodeServer {0, UA_NS0ID_SERVER}
| 对象节点：OpcuaServer 节点 ID
constexpr NodeId | nodeFolderType {0, UA_NS0ID_FOLDERTYPE}
| 对象类型节点：FolderType 节点 ID
constexpr NodeId | nodeBaseObjectType {0, UA_NS0ID_BASEOBJECTTYPE}
| 对象类型节点：BaseObjectType 节点 ID
constexpr NodeId | nodeBaseEventType {0, UA_NS0ID_BASEEVENTTYPE}
| 对象类型节点：BaseEventType 节点 ID
constexpr NodeId | nodeBaseDataVariableType {0, UA_NS0ID_BASEDATAVARIABLETYPE}
| 变量类型节点：BaseDataVariableType 节点 ID
constexpr NodeId | nodePropertyType {0, UA_NS0ID_PROPERTYTYPE}
| 变量类型节点：PropertyType 节点 ID
constexpr NodeId | nodeOrganizes {0, UA_NS0ID_ORGANIZES}
| 引用类型节点：Organizes 节点 ID
constexpr NodeId | nodeHasTypeDefinition {0, UA_NS0ID_HASTYPEDEFINITION}
| 引用类型节点：HasTypeDefinition 节点 ID
constexpr NodeId | nodeHasComponent {0, UA_NS0ID_HASCOMPONENT}
| 引用类型节点：HasComponent 节点 ID
constexpr NodeId | nodeHasProperty {0, UA_NS0ID_HASPROPERTY}
| 引用类型节点：HasProperty 节点 ID
constexpr NodeId | nodeHasSubtype {0, UA_NS0ID_HASSUBTYPE}
| 引用类型节点：HasSubtype 节点 ID
constexpr NodeId | nodeHasModellingRule {0, UA_NS0ID_HASMODELLINGRULE}
| 引用类型节点：HasModellingRule 节点 ID

## 类型定义说明

## ◆ RouteHandler

using rm::RouteHandler = std::function<void(const Request &, Response &)>

路由类型

## 枚举类型说明

## ◆ CompensateType

enum class rm::CompensateType : uint8_t
| strong

强制补偿类型

枚举值
UNKNOWN | 未知
UP | 向上强制补偿
DOWN | 向下强制补偿
LEFT | 向左强制补偿
RIGHT | 向右强制补偿

## ◆ LightHandleMode

enum class rm::LightHandleMode
| strong

光源控制器通信模式

枚举值
IP Python: rm.LightHandleMode.IP | IP 地址
Key Python: rm.LightHandleMode.Key | 设备序列号
Serial Python: rm.LightHandleMode.Serial | 串口通信

## ◆ RotStatus

enum class rm::RotStatus : uint8_t
| strong

旋转状态类型

枚举值
LOW_ROT_SPEED Python: rm.RotStatus.LOW_ROT_SPEED | 低转速
HIGH_ROT_SPEED Python: rm.RotStatus.HIGH_ROT_SPEED | 高转速

## 函数说明

## ◆ getVersionMajor()

int rm::getVersionMajor | ( |  | ) |
| constexpr

返回主要库版本

## ◆ getVersionMinor()

int rm::getVersionMinor | ( |  | ) |
| constexpr

返回次要库版本

## ◆ getVersionPatch()

int rm::getVersionPatch | ( |  | ) |
| constexpr

返回库版本的修订字段

## ◆ getVersionString()

const char * rm::getVersionString | ( |  | ) |
| constexpr

返回库版本字符串

注解
  "For example: 3.6.0-dev"

参见
  getVersionMajor, getVersionMinor, getVersionPatch

## ◆ version()

const char * rm::version | ( |  | ) |
| constexpr

Python:
| rm.version( |  | ) -> | <version string>

函数调用图: