首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >机械臂参数化轨迹规划落地流程

机械臂参数化轨迹规划落地流程

作者头像
索旭东
发布2026-09-15 20:24:00
发布2026-09-15 20:24:00
30
举报
文章被收录于专栏:具身小站具身小站

通用参数化模板 + 在线粗估计 → 导纳精贴合的方案详细落地步骤,整个流程的核心在于用最少、最鲁棒的感知信息,快速确定轨迹模板的几个关键几何参数,然后生成连续路径,由力控完成最后的贴合修正。

一、总体系统架构

代码语言:javascript
复制
[粗感知] 基座深度相机(稀疏点云) / 力觉触碰
    ↓
[参数估计] RANSAC拟合 / 边界探测
    ↓
[轨迹生成] 参数化模板 (螺旋/弓字) → 末端目标位姿序列
    ↓
[粗补偿] 实时微调参数 (可选,如螺旋半径缓变)
    ↓
[运动执行] Pinocchio逆运动学 → 关节指令
    ↓
[精调] 导纳控制 (力反馈) → 位置/姿态修正量叠加

二、详细步骤

阶段1:系统标定(一次性,确保坐标统一)
  1. 基座相机外参标定:使用棋盘格或ArUco码,标定基座深度相机到机械臂基座坐标系的外参矩阵 T_cambase,至少 20 组不同姿态的标定板图像,重投影误差 < 1 pixel。
  2. 末端工具与力传感器标定:完成负载辨识(m,rcom,Isensor)与传感器零位校准,确保力信号纯净。
  3. 运动学参数微调:经过纸笔测试或探针测试,修正关键DH参数(主要是关节零位偏置),使绝对定位精度在任务容忍度内(~2mm)。
阶段2:模板定义与参数体系建立

为每一类清洁区域定义通用轨迹模板及其必需参数

区域

模板类型

几何基元

所需参数

内壁

圆柱螺旋线

圆柱面

中心轴线(基点 P0,方向向量 a)、螺旋半径 R、起始高度 zmin、终止高度 zmax、螺距 Δz(由刷头宽度决定)、旋转方向

座圈

平面弓字形

平面

平面方程(法向 n,一点 P)、二维扫描边界(多边形顶点或 min/max 坐标)、扫描方向、行距

外壁

竖直弓字形

可展曲面

水平截面轮廓(极坐标或点列)、高度范围 [hmin,hmax]、行距

面板

矩形区域弓字形

平面

面板位置与姿态(Tpanelbase)、宽度 W、高度 H、扫描方向、安全避让区域(按键区)

模板实现:在代码中为每种模板编写一个函数,输入上述参数,输出末端位姿(4×4  矩阵)的列表,比如内壁螺旋线生成伪逻辑:

代码语言:javascript
复制
for z in z_min .. z_max step delta_z:
    for theta in 0 .. N*2*pi:
        x = R * cos(theta)
        y = R * sin(theta)
        p = P0 + x * u + y * v + z * a   // u,v是垂直轴a的基向量
        工具Z轴 = - (p - proj_axis(p))的单位向量 (指向中心轴)
        工具X轴 = 切向 (运动方向)
        生成 T_base_tool = [R_tool | p]
阶段3:在线粗估计(参数获取)

方案A:基座深度相机一次粗扫(速度快)

  1. 拍摄稀疏点云:移动底盘锁死后,基座深度相机拍摄 2~3 帧(可稍改变相机角度或使用不同曝光),合成为一个稀疏的全局点云(仅需几百~几千个点,滤除远处和离群点)。点云可能存在大量空洞和噪声,但主体结构(圆柱状内壁、平面座圈)的统计信息足够鲁棒。
  2. 内壁参数估计(RANSAC 圆柱拟合):使用 PCL的 RANSAC 圆柱模型拟合,设置距离阈值(如 20mm),获得圆柱轴线、半径。若由于点云缺失拟合失败,可降级为触觉中心探测,根据拟合的轴线方向,界定高度范围,沿轴线方向,计算点云中圆柱内点的最小/最大坐标,扩展一定余量。
  3. 座圈参数估计:从点云中分割出顶面(通过高度阈值或平面分割),提取其轮廓多边形。或者,直接用 RGB 图像进行座圈分割(颜色对比明显),再映射到 3D 得到平面方程和边界。
  4. 外壁参数估计:提取下半部点云的水平截面(多个高度切片),对每个切片拟合圆形或直接保留轮廓点,作为外壁轮廓,或者,将外壁近似为圆柱/圆锥的延伸,直接用内壁拟合的轴线向外偏移一个经验值。

方案B:触觉边界探测(无视觉或视觉失效时使用)

  1. 内壁探测:将工具移入大致中心,开启力控模式(Fdes=0.5N),在几个固定高度,沿径向向外缓慢移动,直到接触力消失(记录为边缘点),收集到 4~8 个边缘点后,拟合圆柱(中心、半径),探测高度范围由升降轴运动行程确定。
  2. 座圈探测:力控模式下,让工具在座圈上方水平移动,轻触座圈表面,通过多点触碰确定平面方程和边界。
阶段4:轨迹生成与执行
  1. 调用对应模板生成器,输入估计参数,得到完整的末端位姿序列(通常包含数千个路径点)。
  2. 对于内壁螺旋,可让半径 R 略小于估计半径(如 95%),这样工具在导纳控制下会被自然压向釉面,避免初始贴合过紧。
  3. 将位姿序列输入 Pinocchio 逆运动学求解,得到关节角序列。若存在冗余,使用零空间优化保持 J6 居中。
  4. 运动执行时,切向沿路径点以恒速推进(通过插值器平滑速度),法向由导纳控制器独立处理。导纳输出为末端位置/姿态修正量(主要是沿工具 Z 轴的进深和微小的姿态调整)。
  5. 建议实现一个“路径-力控”混合器:
    • 路径规划器输出参考位姿 X_ref和参考速度 X˙_ref。
    • 导纳控制器根据力误差计算位姿修正 ΔX_adm。
    • 最终指令位姿 X_cmd=X_ref⊕ΔX_adm,速度指令同样叠加。
阶段5:实时粗补偿(可选,提升适应性)

清洁过程中,可利用导纳修正量的历史平均值来缓慢调整轨迹参数,使参考轨迹更贴近实际曲面,减少导纳负担。

  • 螺旋半径在线更新:统计过去几圈导纳输出的平均径向修正量 Δr,逐渐调整模板半径 R→R+γΔr(γ 很小,如 0.1)。
  • 轴线微调:若导纳的侧向力分量一直非零,可缓慢旋转工具姿态或平移中心轴线。

这种粗补偿是低频的(数秒一次),不会影响导纳内环的稳定性。

三、注意事项

  1. 传感器局限与冗余:釉面反射、水雾可能导致深度相机点云极度稀疏,RANSAC 拟合时需设置合适的迭代次数和距离阈值。若连续几帧拟合失败,应自动降级为触觉探测模式。触觉探测速度较慢,可作为备份,在视觉失效时激活,保证任务不中断。
  2. 过渡区域的轨迹拼接:内壁与座圈、内壁与排污口的交界处,单一模板可能不适用,可设置重叠区,或者用一个过渡段轨迹(如逐渐改变法向)来连接,力控会在过渡段自动适应。
  3. 力控带宽与模板速度匹配:模板的切向速度不能超过导纳控制器的有效带宽。例如,若导纳带宽约 10 Hz,曲面空间频率高(小曲率半径),需降低移动速度,防止脱力。可在生成轨迹时,根据估计的曲率自适应调整速度点密度,或在执行时动态调速。
  4. 安全边界与限位:所有估计参数必须经过物理限位检查(如螺旋半径不能小于最小口径,也不能大于机械臂工作空间),若估计值超限,则钳制到安全值并发出提示,轨迹执行前,用正运动学检查所有路径点是否可达且无碰撞(可利用基座相机点云做粗略碰撞检测)。
  5. 误差分配与调试策略:先调视觉粗估,让参考轨迹大致居中,偏差在 1~2 cm 内;再加导纳,观察力波动,若力误差频繁超过 ±1N,说明粗估偏差过大或速度过快,需改进参数估计或降速;最后启用半径自适应更新,长期运行平稳。
  6. 多区域连续清洁时的重定位:从一个区域切换到另一区域(如内壁→座圈),机械臂需退出并重新定位。可用基座相机再次检测座圈平面,更新参数,或利用已知的模型和机械臂里程计做粗对齐,再用力觉探测修正。

按照以上步骤,可以在不依赖精确点云或CAD模型的前提下,快速落地一套高度泛化的清洁轨迹规划系统,且易于扩展至其他类似卫浴清洁场景。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-08-18,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 一、总体系统架构
  • 二、详细步骤
    • 阶段1:系统标定(一次性,确保坐标统一)
    • 阶段2:模板定义与参数体系建立
    • 阶段3:在线粗估计(参数获取)
    • 阶段4:轨迹生成与执行
    • 阶段5:实时粗补偿(可选,提升适应性)
  • 三、注意事项
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档