Skip to content

ChangeLog

Cccolt edited this page Sep 30, 2025 · 13 revisions

ChangeLog 更新日志

version: 2.3.0

2025-09

RMVL 2.x 秋季更新已发布

更新内容

主要功能

  • 新增数据 IO 与通信模块 io,包含以下内容:#240, #265
    • 新的基于 C++20 的异步协程框架,包含调度器、等待器、协程任务和异步定时器 #258
    • 完善的链路层设施:串口通信模块(支持同步阻塞、同步非阻塞、异步非阻塞)#261
    • 完善的 IPC 设施:管道、消息队列、UDS(支持同步阻塞、异步非阻塞)#262
    • 新的网络层设施:Socket、Acceptor、Connector(支持同步阻塞、异步非阻塞)#259
    • 新的应用层设施:requests 同步/异步请求工具,Webapp HTTP 异步后端框架 #260
  • core 与其他核心功能更新
    • PIMPL 移除不完整类型删除器 #233, #246
    • 调整 rm::Exception 异常抛出的输出内容 #236
  • algorithm 算法模块
    • 数值计算模块错误修复 #234
    • 增加约束非线性函数的 Lagrange 乘子法求解方式 #266
  • 第三方模块更新
  • 构建系统更新
    • CMake 支持用户自定义不低于 17 的 C++ 版本 #243
    • 增加 ENABLE_RUNIN Option 变量,以支持 Run In 编译镜像功能 #247
    • 更直观的 CMake 构建信息提示 #263
  • 文档更新 #223, #229, #238, #241, #264

平台与 CI/CD 支持

  • Windows 平台支持
    • 修复 Windows 平台相机示例 <chrono> 头文件缺失的问题 #249
  • Github Actions
    • 增加 ARM 的编译支持,增加全平台打包支持 #239, #244, #245
  • 新增 Run In 编译镜像解析工具,并添加至构建系统中,目前支持 u22u24 两个平台的全功能编译 #247

OPC UA 支持

  • 异步模型相关功能与简化
    • 事件监视功能错误修复与优化 #224
    • 客户端定时器回调函数简化,移除 rm::ClientView 的参数传入 #226
  • 地址空间模型相关类
    • 统一变量节点的字符串字面量转换构造函数与 std::string 转换构造函数 #228
    • 变量(类型)节点新增初始化列表的转换构造函数 #230
    • 单一元素的 std::vector 不再会被推导为标量类型 #242

语言及 IDL 支持

  • 移除用户定义转换函数的 Python 绑定,相关功能由 RMVL_W_SUBST 宏替代 #227
  • 参数模块
    • 移除废弃成员函数,读写函数保证线程安全,参数规范文件 *.para 的解析将保留注释中的空格 #252

硬件设备

  • 构建 OPT 光源控制库后将自动安装对应 libOPTLightControl.so #222
  • 相机模块增加从对应参数类设置相机参数的 load 方法 #248, #254

扩展功能

  • 数据组件
    • 移除大部分冗余的构造函数,强制保证使用标准的工厂函数 #225
    • feature 模块变更
      • anchor 模块矩形特征增加新的筛选条件 #232

贡献者

rmvl (2 contributors)
git shortlog --no-merges -ns 2.2.0..2.3.0
    41  zhaoxi
     2  liangsuiban888

version: 1.5.2

2025-09

RMVL 1.x 秋季更新已发布,错误修复、优化和其他新功能已移植到 RMVL 2.3.0

version: 2.2.0

2025-02

RMVL 2.x 春节更新,后续版本将每半年更新一次

更新内容

主要功能

  • core 模块

    • 有关定时器模块的新休眠函数 #217
  • algorithm 算法模块

    • 数值计算与优化算法的性能优化 #207
    • 新的 rm::FuncNds 函数 #213, #215

OPC UA 支持

  • 异步模型相关功能与简化
    • 增加数据源变量类型,并同步相关类的支持 #203, #206
    • 简化事件触发,事件发出者统一为 rm::nodeServer #204
    • 简化方法节点的回调函数 #205, #216
  • 地址空间模型相关类
    • 变量(类型)节点支持从字符串字面量的转换构造 #218

平台与 CI/CD 支持

  • 库文件后缀仅在 MSVC 编译工具链下生效 #219

扩展功能

  • 基于字符串的新的运行时状态类型系统 StateInfo ,用于替换原有的 RMStatus #208, #209, #210, #212
  • 数据组件相关
    • 简化 rune 模块的角点包含数据 #211
    • 为数据组件增加可供修改的获取运行时状态类型的方法 state #214
    • 增加支持圆形、矩形以及十字交叉特征的定位点模块 #220, #221

贡献者

rmvl (3 contributors)
git shortlog --no-merges -ns 2.1.1..2.2.0
    18  zhaoxi
     1  Cccolt
     1  tp0108

version: 1.5.1

2025-02

RMVL 1.x 春节更新,错误修复、优化和其他新功能已移植到 RMVL 2.2.0

version: 2.1.1

2024-12

RMVL 2.x 平台兼容性更新已发布

更新内容

主要功能

  • 数据 IO 与通信更新 (core)
    • 串口库支持直接的字符串 IO #197
  • 增加 BUILD_WORLD 编译选项,以包装成单独的动态库、静态库 rmvl_world.* #202

平台与 CI/CD 支持

  • 增加 CPack 相关配置,支持 Windows (*.exe) 和 Debian 系 Linux 发行版 (*.deb) 的安装包 #200
  • 增加 Windows 执行器 #201

硬件设备

  • 增加海康机器人 RS-232 光源控制库 #198, #200

贡献者

rmvl (2 contributors)
git shortlog --no-merges -ns 2.1.0..2.1.1 
     8  zhaoxi
     3  Cccolt

version: 2.1.0

2024-11

RMVL 2.x 秋季更新已发布

更新内容

主要功能

  • algorithm 算法模块更新
    • 增加 Munkres 多目标匹配求解器 #163
    • 新增 Levenberg-Marquardt 最优化算法,并添加 Robust 核函数支持 #167, #169, #189
  • 数据 IO 与通信更新 (core)
    • 进程间通信支持 #168
    • 串口库增加数据读取的阻塞与非阻塞模式,并增加不含头尾帧的数据 IO 接口 #194
  • 单元测试、性能基准测试相关错误修复 #166
  • 文档更新 #170, #190, #196

语言及 IDL 支持

  • 增加 pybind11 的自动依赖检测,现可直接从 Github 下载缺少的 pybind11 #165
  • 与 Python 文档生成相关的部分错误修复 #164
  • 增加对 Python 3.8 版本的支持 #172
  • 扩展模块增加 Python 支持(包括 featurecombotrackergroupdetector),尤其是多态相关的支持 #192

OPC UA 支持

  • 分别为客户端和服务端增加循环定时器 #171

硬件设备

  • 增加大恒图像工业相机库 #174, #178, #184
  • 海康工业相机库增加 GigE 相机支持 #193

贡献者

rmvl (2 contributors)
git shortlog --no-merges -ns 2.0.0..2.1.0
    41  zhaoxi
     1  drawal

version: 1.5.0

2024-11

RMVL 1.x 秋季更新已发布,下文提到的错误修复、优化和其他新功能已移植到 RMVL 2.1.0

这是 RMVL 1.x 系列的最后一个小版本,我们将在未来减少对 RMVL 1.x 的更新,后续基于此版本的改进将以补丁的形式发布。

更新内容

主要功能

  • 算法相关内容更新
    • 并查集接口简化 #183
    • 单通道图二值化错误修复 #186
  • 修复串口库数据读取的类型错误 #194
  • 文档更新 #191

OPC UA 支持

  • 简化 OPC UA 模块变量节点的构造 #156
  • 方法、监视等内容支持参数、返回值类型固定的任意可调用对象,包括 std::function、Lambda 表达式、函数指针、自定义函数对象,而非原来单一的函数指针 #157

扩展功能

  • 数据组件相关
    • 简化数据组件成员函数名 #177, #180, #188
    • tracker 模块增加 invalid 虚拟函数接口 #187
  • 识别模块图像传入接口改为 const,并同步所有派生识别模块 #182

贡献者

rmvl (1 contributor)
git shortlog --no-merges -ns 1.4.0..1.5.0
    13  zhaoxi

version: 2.0.0

2024-08

多语言、跨平台、低耦合、高兼容的新一代 RMVL 于暑期正式发布,此版本为 RMVL 2.x 系列的首个版本。

发布要点

常规更新

  • RMVL 增加了对 Windows 平台的支持,包括但不限于 MSVC 编译器下的编译、安装、测试等功能;
  • 增加了对 Python (>=3.8) 的支持,使用 C++ 到 Python 的生成器制作了 RMVL 的 Python 接口;
  • 以开箱即用的目标继续完善 CMake 构建系统,后续版本会推出有关 CPack 的支持.

架构调整

  • RMVL 2.x 与 OpenCV 完全解耦,这也催生出 algorithm 模块,将原先 core 表示算法的内容迁移至此处

更新内容

主要功能

  • core 模块与 OpenCV 解耦 #36

  • CMake 功能更新

    • 修改第三方模块 find_package 在 RMVLConfig.cmake 文件中的使用 #118
  • 增设 algorithm 模块,将原先 core 模块中可能依赖 OpenCV 的部分迁移至此处,但也同样设置为非强制依赖 OpenCV #134, #143

    • 增加数字信号处理支持 #83
  • 文档更新 #145, #150, #153

平台与 CI/CD 支持

  • Windows 支持更新 #115
  • 安装目录对 MSVC 特化 #116

语言及 IDL 支持

  • RMVL Paramters 接口定义相关
    • 取消对 OpenCV 的强依赖,并添加无依赖情况下的参数类头文件以及对应安装规则 #128
  • 增加 Python 支持

OPC UA 支持

  • 调整元数据字段创建方式 #152

贡献者

rmvl (2 contributors)
git shortlog --no-merges -ns 1.4.0..2.0.0
    23  zhaoxi
     5  Cccolt

version: 1.4.0

2024-08

RMVL 1.x 暑期更新已发布

更新内容

主要功能

  • CMake 功能更新
    • 安装时自动包含相关的宏与函数 #130
    • 统一添加模块和测试的添加第三方依赖的标志 EXTERNAL #137
  • 数值计算优化与新功能
    • 添加有约束多维最优化、非线性最小二乘求解 #90
  • 支持 CUDA、TensorRT 和 OpenVINO 选择的新 ort 多态部署库 #96
  • 文档更新 #103, #148
  • 移动熵权法求解器的位置 #135

语言及 IDL 支持

  • RMVL Paramters 接口定义相关
    • *.para 支持自定义枚举类型 #99
    • 新的成员函数支持与更名 #139

OPC UA 支持

  • 简化使用相关
    • 地址空间模型相关类优化 #91, #101
    • 服务器对象释放资源时会停止并自动阻塞线程 #98
    • rm::Argument 设计为聚合类 #100
  • 新的包装、地址空间抽象
    • 提供 UA_NodeId 的进一步包装 rm::NodeId #92
    • 提供 UA_TYPES_<xxx> 的抽象,即 rm::DataType #132
  • 支持自定义日志等级输出 #95, #113
  • 添加不占有所有权的 ServerView 和 ClientView #102, #124
  • 客户端支持移除监视项 #127

扩展功能

  • 修复 gyro_compensator 模块中子弹飞行时间错误的 Bug #97
  • 移除 types 的位域 #129
  • 完善原型模式 #142

贡献者

rmvl (3 contributors)
git shortlog --no-merges -ns 1.3.0..1.4.0
    29  zhaoxi
     3  Cccolt
     1  flynn

version: 1.3.0

2024-05

RMVL 1.x 五一假期更新已发布

更新内容

主要功能

  • 移除 para 的命名空间别名 #63
  • CMake 功能更新
    • 导出功能优化 #64, #78
    • 开发中提示相关内容优化 #74, #86
  • 增加扩展卡尔曼滤波模块 #80
  • 数值计算优化与新功能
    • 修改曲线拟合构建法方程的错误写法 #66
    • 添加最优化工具库 #84
  • 合并 corermath 模块 #82
  • 文档更新 #65, #69, #71, #76, #77

OPC UA 支持

  • 服务器支持修改名称,并完善例程 #67
  • 添加自定义命名空间 #72
  • 兼容 v1.4.0 的 open62541 #87

扩展功能

  • 数据组件
    • 为 tracker 模块设计新的 update 接口 #68
    • 移除 PlanarTracker 距离滤波的队列,使用单观测量 #70
    • 修改所有卡尔曼滤波器中初始化的误差协方差矩阵 #73
    • 移除 GyroTracker 不必要的滤波 #75
    • 增加原型设计模式,即增加 clone 方法 #10

贡献者

rmvl (1 contributor)
git shortlog --no-merges -ns 1.2.1..1.3.0
    30  zhaoxi

version: 1.2.1

2024-03

RMVL 1.x 3月稳定性更新已发布

更新内容

主要功能

  • 完善 CMake 阶段的语言特性测试 #59
  • 以 GCC 7 作为 RMVL 支持的最低标准 #60

OPC UA 支持

  • 解决 C/S 以及 Pub/Sub 的所有内存泄漏问题,缩短因初始化配置导致的通信延迟 #56
  • 添加服务器与客户端的例程 #61

硬件设备

  • HikCamera 修复触发功能 #57

扩展功能

  • RoboMaster 自瞄
    • 重力补偿模块考虑空气阻力 #55

以及其他更新

贡献者

rmvl (1 contributor)
git shortlog --no-merges -ns 1.2.0..1.2.1
    13  zhaoxi

version: 1.2.0

2024-02

RMVL 1.x 春节更新已发布

更新内容

主要功能

  • GyroData 的数据导出导入改为文本文件 #38
  • 新增数值计算模块,包括但不限于函数插值、函数拟合、常微分方程数值解…… #48, #54
  • 解决 SerialPort 的 Bug #51
  • 文档更新 #43

硬件设备

  • 重构相机模块,改为 pImpl 管理 #46, #50
  • 新增 OPT 相机设备二次开发库 #47

OPC UA 支持

  • opcua-2.0,增加视图节点以及无代理的 PubSub,并同步文档 #37

贡献者

rmvl (2 contributors)
git shortlog --no-merges -ns 1.1.1..1.2.0
    40  zhaoxi
     1  zkkkk1

version: 1.1.1

2023-11

RMVL 1.x 秋季稳定性更新已发布

更新内容

主要功能

  • 删除 modules/para 部分,调整参数读取机制 #34

OPC UA 支持

  • 修复 ObjectType 的非法访问,并完善单元测试 #33
  • 添加 opcua 库的使用说明文档 #39

贡献者

rmvl (1 contributor)
git shortlog --no-merges -ns 1.1.0..1.1.1
    11  zhaoxi

version: 1.1.0

2023-11

RMVL 1.x 秋季更新已发布

更新内容

主要功能

  • 架构更新

    • autoaim 重命名为 extra #12
  • 文档更新 #2, #4, #15, #16, #17, #22

  • 新版定时模块 Timer #23

  • 删除不被使用的文件 #31

硬件设备

  • 新增光源控制器二次开发库 light #18

OPC UA 支持

  • 基于 open62541 的 OPC UA 支持库 #27, #30

扩展功能

  • 为数据组件添加指向常量的共享指针别名 #9
  • 增加视觉标签 AprilTag 识别模块 #11, #19

以及其他更新

贡献者

rmvl (1 contributor)
git shortlog --no-merges -ns 1.0.0..1.1.0
     58  zhaoxi

version: 1.0.0

2023-08

RMVL 1.x 夏季更新已发布,2023 赛季 RMUC 部分功能汇总

贡献者

rmvl (1 contributor)
git shortlog --no-merges -ns 1.0.0
     2  zhaoxi
srvl (23 contributors)

统计数据来自 SRVL 1.0.0 至 3.6.0

git shortlog --no-merges -ns
   269  zhaoxi
   163  Cccolt
   150  zhq_zhq
    88  hyj
    86  enemy1205
    76  lynn
    28  22-视觉-黄裕炯
    25  LvLv79
    25  NieveFeng
    15  23-vision-lrp
    12  alexlai2860
    12  fwy
     9  HKCLynn
     7  Faraday
     7  sunflower-knight
     7  杨工
     6  alex
     5  23-Vision-lrp
     5  杨泽霖
     4  Rosen
     4  infantry
     4  范文宇
     4  黄裕炯