当前位置: 首页 > backend >正文

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 = x[1]

y_t = x[2]

z_t = x[3]

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

http://www.xdnf.cn/news/19293.html

相关文章:

  • VMware虚拟机网盘下载与安装指南(附安装包)
  • Ubuntu24.04(Jazzy)从零开始实现环境配置和Gmapping建图
  • Redis的Java客户端
  • MyBatis-动态sql
  • 【自记】 Python 中函数参数前加 *(单星号)的解包可迭代对象写法说明
  • 基于三维反投影矫正拼接视频
  • TJA1445学习笔记(二)
  • 咨询进阶——解读 目标管理实务:知识概述、管理概述和实施【附全文阅读】
  • 计算机视觉(四):二值化
  • MySQL面试集合
  • 【C++ 】STL详解(六)—手撸一个属于你的 list!
  • 力扣热题100:合并区间详解(Java实现)(56)
  • 在SAP系统中,如何查询已经被打上了删除标记的生产订单?
  • 数据结构(04)—— 栈和队列
  • [每周一更]-(第158期):构建高性能数据库:MySQL 与 PostgreSQL 系统化问题管理与优化指南
  • 【lua】元表、元方法 详解及应用
  • 【LeetCode_27】移除元素
  • Ubuntu中通过SSH克隆Windows的远程Git仓库(局域网中挺有用)
  • 对于牛客网—语言学习篇—编程初学者入门训练—复合类型:二维数组较简单题目的解析
  • Unity核心概念①
  • 准备机试--图【y总版】[重要]【最短路】
  • 三重积分的对称性
  • shell编程-核心变量知识
  • 面试专栏
  • Agent实战教程:LangGraph结构化输出详解,让智能体返回格式化数据
  • 第N个丑数
  • 文件夹和文件一键加密,保护你的隐私
  • CRM、ERP、HRP系统有啥区别?
  • 本地运行 Ollama 与 DeepSeek R1 1.5B,并结合 Open WebUI 测试
  • 安卓编程 之 线性布局