机器人学基础(一)【坐标系和位姿变换】

文章目录

  • 1.坐标系和位姿变换
    • [1.1 坐标系](#1.1 坐标系)
    • [1.2 位姿变换](#1.2 位姿变换)
    • [1.3 坐标系之间的转换与链式计算](#1.3 坐标系之间的转换与链式计算)
  • 问题:

1.坐标系和位姿变换

1.1 坐标系

对于坐标系有很多种,常见的三轴直角坐标系就是笛卡尔坐标系,对于机器人、机械臂的应用来说,又分世界坐标系、本体坐标系、关节坐标系;

该图描述的就是世界坐标系和本体坐标系,对于关节坐标系,跟随关节的位置和姿态进行变化,与本体坐标系相似。

1.2 位姿变换

齐次矩阵(4x4)表示位姿

位姿=位置+姿态

左上3×3子矩阵:旋转分量

右上3×1子矩阵:平移分量

最后一行:0,0,0,1保持奇次性

平移、旋转(欧拉⻆、四元数)

  • 平移:
  • 旋转:

(1)欧拉角

概念:通过绕三个坐标轴的连续旋转表示姿态

常用形式:

ZYX欧拉角:先绕Z轴,再绕Y轴,最后绕X轴

RPY角(Roll-Pitch-Yaw):滚转-俯仰-偏航

优点:直观,易于理解

缺点:存在万向节死锁问题

(2)四元数

概念:⽤四个数表⽰旋转(q₀,q₁,q₂,q₃)

数学形式:q=q₀+q₁i+q₂j+q₃k

优点:⽆万向节死锁 计算效率⾼ 插值平滑(球⾯线性插值)

缺点:不够直观,理解难度⼤

1.3 坐标系之间的转换与链式计算

点P从坐标系A到坐标系B的转换:

具体步骤:

问题:

(1)为什么需要用⼀个整体的"齐次矩阵"来表示位姿,而不是分开用旋转和位移?

分开用旋转和位移,在进行连续变换时需要分别处理旋转和平移,且在进行连续变换时需要分别处理旋转和平移,用⼀个整体的"齐次矩阵"来表示位姿,有如下好处:

(2)如果一个点在A坐标系下有坐标,我们如何把它转换到 B坐标系?

利用上面公式进行转换

  1. 确定A坐标系相对于B坐标系的位姿

  2. 将点P在A下的坐标表示为齐次坐标:

  3. 进行矩阵乘法运算

  4. 得到点在B下的齐次坐标,提取前三个分量即为直角坐标

(3)多个关节坐标系之间的变换,最后是如何得到末端相对基座的位姿的?

相关推荐
青少儿编程课堂10 分钟前
后缀自动机解析:本质不同子串与最长重复片段统计
c++·python·算法·bfs·信息学竞赛
朝朝辞暮i10 分钟前
C++ 第 12 课:局部变量、作用域、变量生命周期
开发语言·c++·算法
深蓝学院1 小时前
新加坡国立大学:Show‑Harness,一个接口,直接让VLM操控实体机器人
机器人·具身智能·世界模型
乐迪信息2 小时前
港口船舶逆行怎么管?AI防爆摄像机搭载智能检测算法
大数据·人工智能·深度学习·算法·计算机视觉
FakeOccupational2 小时前
【电路笔记 信号】DBPSK 波形查找表+脉冲成形(升余弦+根升余弦滤波)
开发语言·笔记
明志数科2 小时前
机器人训练数据采集中的任务拆解与原子动作清单SOP
人工智能·机器学习·机器人
Sirens.3 小时前
Java并发锁详解:六类锁策略与 synchronized 底层原理
java·前端·算法
和裕3 小时前
全纸结构重型纸箱能否满足 1 吨以上设备出口熏蒸豁免要求?通关合规性全解析
大数据·运维·网络·人工智能·算法
Python大数据分析@3 小时前
如何看待DeepSeek 开源昇腾基础组件?
开源
tangguofeng3 小时前
不带头结点的链队操作集(不含InitFlag)(C语言版)
算法