SCARA 机器人工具标定方法

一、标定目标

确定工具中心点(TCP)相对于末端法兰的偏移向量:

d = {x_t, y_t, z_t}

二、四点法(4-Point Method)标定 TCP 位置

让工具尖端接触一个固定空间点 C,从四个不同姿态接近,记录每次末端法兰在基坐标系中的位置和姿态角。

设第 i 次测量时:

  • 法兰中心位置:P_i = {x_i, y_i, z_i}
  • 工具绕 Z 轴旋转角:θ_i
  • 工具局部 TCP 偏移:d = {x_t, y_t, z_t}

则 TCP 在基坐标系中的位置为:

P_TCP: i = P_i + R_z(θ_i)·d

其中 R_z(θ_i) 是绕 Z 轴的旋转矩阵:

R_z(θ_i) = cos θ_i -sin θ_i 0;sin θ_i cos θ_i 0; 0 0 1

展开后:

x_TCP,i = x_i + x_t cos θ_i - y_t sin θ_i

y_TCP,i = y_i + x_t sin θ_i + y_t cos θ_i

z_TCP,i = z_i + z_t

由于所有 P_TCP,i 都应等于同一个固定点 C = {x_c, y_c, z_c},因此有:

x_i + x_t cos θ_i - y_t sin θ_i = x_c

y_i + x_t sin θ_i + y_t cos θ_i = y_c

z_i + z_t = z_c

移项得误差方程(用于最小二乘求解):

x_t cos θ_i - y_t sin θ_i - x_c = -x_i

x_t sin θ_i + y_t cos θ_i - y_c = -y_i

z_t - z_c = -z_i

三、最小二乘法求解(推荐 ≥4 组数据)

将 n 组测量数据代入,构建线性方程组:

A x = b

其中未知数向量 x 为:

x = {x_t, y_t, z_t, x_c, y_c, z_c}

矩阵 A 的每一行(对应第 i 次测量)为:

A_i = cos θ_i, -sin θ_i, 0, -1, 0, 0 → 对应 x 方程

sin θ_i, cos θ_i, 0, 0, -1, 0 → 对应 y 方程

0 , 0 , 1, 0, 0, -1 → 对应 z 方程

向量 b 的每一行为:

b_i = -x_i, -y_i, -z_i

求解最小二乘解:

x = (A^T A)^(-1) A^T b

最终,工具偏移量为:

x_t = x1

y_t = x2

z_t = x3

这样通过采集点位建立线性方程组,通过解最小二乘方程组实现了机器人工具坐标标定的全过程。

相关推荐
zzzzzz3102 天前
假如我是掘金管理员,我先给评论区装个'代码审查'系统
python·程序员·机器人
通信小呆呆3 天前
当算法有了“五感”:多模态数据融合如何向人体感官协同学习?
人工智能·学习·算法·机器学习·机器人
生成论实验室3 天前
机器人:一个自主运动的系统
人工智能·算法·语言模型·机器人·自动驾驶·agi·安全架构
Dick5073 天前
ROS2 常用命令表
人工智能·学习·算法·机器人
沫儿笙3 天前
川崎机器人二保焊节气设备
人工智能·机器人
C++ 老炮儿的技术栈3 天前
Qt工控实战:自研机器人TCP长连接客户端(粘包处理+心跳保活+自动重连完整源码解析)
qt·tcp/ip·机器人
Deepoch3 天前
VLA多模态架构加持 采摘机器人实现精细化智能采收
人工智能·机器人·开发板·具身模型·deepoc·采摘
选与握3 天前
$\pi_{0.7}$: 一个具备涌现能力的可引导的通用机器人基础模型
机器人·vla·pi07
梦想的旅途23 天前
企业微信外部群自动化:一期交付应聚焦双向会话闭环
java·开发语言·机器人·自动化·maven·企业微信
生成论实验室3 天前
自动驾驶:一个自主运动的系统
人工智能·算法·机器学习·语言模型·机器人·自动驾驶·安全架构