Skip to content

Latest commit

 

History

History
62 lines (50 loc) · 6.75 KB

File metadata and controls

62 lines (50 loc) · 6.75 KB

版本说明

v2.12.10

  • LinkerMCG 三分类:新增标准配置名 motion_type: linkermcg_g7,旧 linkermcg 保留为兼容别名;LinkerMCG 明确区分为 G7、M7、M11 三种;G7 不支持 O30,O30 仅支持 linkerforcelinkermcg_m11
  • 新增 LinkerMCG M11 独立 UDP motion 模块,基于共享 M 系列核心,支持 O20 16 路目标角度协议(linker.o20.targetpos16.flat.v1)和 O30 行程协议(linker.o30.stroke20.flat.v1)。
  • 收敛 LinkerMCG M7 能力:移除 O30 支持,M7/M11 共用 M 系列内核与手部适配,减少重复逻辑和命名歧义。
  • 新增 M7/M11 UDP 协议文档(LinkerHand_UDP_M7&M11.md),明确 M7 的 6/10/20 路行程结构、M11 O20 16 路与 O30 20 路结构及状态报文约定。
  • 新增 LinkerForce L30 型号支持,补充 18 路电机映射、左右手 URDF 资源、运行时路由和单元测试。
  • O30 型号规范化:原 O30i 硬件统一为公开型号 O30,更新模型资源与 URDF 限位,保留客户 LinkerForce 调参(o30_config.py 参数值不变)。
  • 修复 handretarget 启动崩溃:统一 linkerhand 导入路径,消除同名枚举被加载成双份导致的 LinkerForce 初始化失败(Retarget 缺少 lefthand)。
  • LinkerForce 输出帧率改为按配置读取,支持通过 motor_output.frame_rate 调整运行调度频率。
  • 调整 LinkerForce 触觉反馈:新增斜率增益(slope_gain)放大映射,触觉质量话题更新为 *_matrix_touch_mass
  • 修复 UdexReal 启动流程:UDP 初始化失败明确返回失败、成功明确返回成功,避免节点启动后未进入 ROS2 事件循环而直接退出。
  • 测试体系完善:O30/触觉反馈测试适配更新后的模型与 URDF 限位,tests/conftest.py 自动配置导入路径(不再依赖手动 PYTHONPATH),移除 linkerforce_improved 死测试,信号处理测试归位集成目录;完整离线单测全绿。
  • 稳定性修复:四指中部夹角计算补充除零保护,yourdfpy 数组转标量弃用(NumPy 1.25+)修复。
  • 移除过时的自测报告,更新 O30 模型资源与 LinkerForce 反馈配置。

v2.12.9

  • 新增 LinkerForce 位置报文日志,支持按左右手、日期和小时分文件记录原始报文及解析值。
  • 优化 LinkerForce 输出处理,新增运行时间限幅和限幅日志,默认 300 ms,抑制单帧异常脉冲。
  • 新增 LinkerForce 位置协议自动识别,2.1.5 及以上自动使用 0x05,其余版本沿用 0x03

v2.12.8

  • 新增 LinkerMCG M7 独立 UDP motion 模块,支持 6/10/20 路行程报文解析、型号 DOF 校验、左右手发布路由和 0..255 电机值直通。
  • LinkerForce 标定清单逻辑移动到 linkerhand 公共模块;本版本各型号固定全部 21 路关节参与标定抖动检测,过滤配置代码和配置入口保留,但发布级开关默认关闭,暂不开放启用。
  • 强化 LinkerForce 位置报文校验:21 路原始角度必须全部位于 0..360 度,任意关节小于 0 或大于 360 时整帧丢弃,保留上一帧 poslist
  • 新增位置错报文日志,记录异常关节索引、角度、原始字节和完整 payload,便于定位第 20 关节等局部报文损坏问题。

v2.12.7

  • 强化 LinkerForce 位置帧解析:0x030xA6 位置帧必须满足 21 路关节数据,长度异常、解包异常或非有限数值将被拒绝,避免异常帧污染 poslist
  • 优化 LinkerForce 串口帧重同步:解析到非法命令候选帧时立即丢弃并继续寻找下一个有效帧头,避免数据区中的 0x5D 误触发 Unknown command: 0x66 后吞掉真实 0x03 位置帧。
  • 新增 LinkerForce 异常日志:未知命令帧仅写入本地异常日志,记录命令、长度、校验和完整帧 hex,不再通过 ROS warn 刷屏;发布值检测到 255->00->255 端点跳变时,记录触发关节的上一值、当前值及对应前后帧原始数据。
  • 收敛调试输出:关闭 O6 右手周期性帧率跟踪,取消 0.35 rad 原始弧度小跳变日志,避免低价值记录刷屏。
  • 统一 LinkerForce 串口写入路径:运行线程周期查询、初始化后的版本查询和力反馈写入通过 ForceSerialReader 写锁发送,降低读写线程并发访问串口的风险。
  • 统一 O6 LinkerForce 配置与参考项目:多段映射默认状态调整为 original -> fist,保留 opose 配置开关能力。
  • 更新 O6 配置说明和自测记录,明确当前默认标定映射使用张手到握拳的两段状态。
  • 调整 O30i 拇指旋转电机输出方向和四指 roll 输出归一化规则,补充 O30i 关节顺序、URDF 归一化和方向相关单元测试。
  • 补充 MuJoCo 显示稳定性:双手显示时改为隔离子进程启动以避免 native viewer 崩溃,默认 mujoco.enabled 关闭,仍可按配置开启。
  • 更新现场测试配置:默认 LinkerForce 配置切换到 O6 左右手,右手串口示例为 /dev/ttyUSB1,启动脚本默认进入标定模式。

v2.12.6

  • 新增 O20、O30、O30i、L21 机械手型号接入,补齐型号注册、长度映射、运行时路由、手型包装器和 URDF 资源引用。
  • 完成 LinkerFFG 的 O20/O30/O30i 映射接入,支持按 originaloposefist 标定锚点输出目标弧度,并按 URDF 上下限截断。
  • 优化 O20/O30i 电机输出换算:根据 MuJoCo/URDF 弧度归一化到 0..255,修正拇指 roll/yaw 和四指侧摆方向问题。
  • 调整 LinkerFFG 自动标定顺序:启用握拳采集时为 fist -> opose -> open,禁用时为 opose -> open,并增强单手连接和标定缓存保护。
  • 强化串口连接链路:支持命令行候选串口、配置固定串口和 auto_scan 自动扫描,版本查询阶段同步抓包并按 VERSION_QUERY_RETRY_COUNT 重试;串口扫描和运行期连接采用独占锁,串口写入增加线程锁,避免重复进程抢占端口或并发写入。
  • 优化 LinkerFFG 触觉力反馈与运行调度:触觉话题使用独立执行器,五路 0x04 力反馈由独立 30 Hz 线程发送,峰值限制在 0..500;O6 调试改为发布帧率及 force04 数据跟踪,并修复退出时重复调用 ROS2 shutdown 导致的清理异常。
  • 补充 MuJoCo 显示和依赖说明:支持按已连接手套选择显示模型,新增额外安装清单,并明确 ROS2 运行依赖不写入项目依赖清单。
  • 更新 ROS2、LinkerFFG、LinkerMCG 和第三方机械手映射文档,新增 SDK 启动版本号日志,并补充相关回归测试。

v2.12.4

  • 从混合工作区中拆分为独立 ROS2 仓库。
  • 根目录文档简化为仅面向 ROS2 的构建和运行说明。
  • 统一所有对外版本号引用为 2.12.4
  • 移除 launch 安装说明,改为 ros2 run
  • 保留 ROS2 包的子树历史。