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

文章目录

  • 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)多个关节坐标系之间的变换,最后是如何得到末端相对基座的位姿的?

相关推荐
芷栀夏1 分钟前
CANN开源实战:基于DrissionPage构建企业级网页自动化与数据采集系统
运维·人工智能·开源·自动化·cann
Charlie_lll6 分钟前
力扣解题-移动零
后端·算法·leetcode
chaser&upper7 分钟前
矩阵革命:在 AtomGit 解码 CANN ops-nn 如何构建 AIGC 的“线性基石”
程序人生·算法
weixin_4997715516 分钟前
C++中的组合模式
开发语言·c++·算法
觉醒大王35 分钟前
哪些文章会被我拒稿?
论文阅读·笔记·深度学习·考研·自然语言处理·html·学习方法
iAkuya1 小时前
(leetcode)力扣100 62N皇后问题 (普通回溯(使用set存储),位运算回溯)
算法·leetcode·职场和发展
近津薪荼1 小时前
dfs专题5——(二叉搜索树中第 K 小的元素)
c++·学习·算法·深度优先
xiaoye-duck1 小时前
吃透 C++ STL list:从基础使用到特性对比,解锁链表容器高效用法
c++·算法·stl
方安乐1 小时前
科普:股票 vs 债券的区别
笔记
松☆1 小时前
CANN与大模型推理:在边缘端高效运行7B参数语言模型的实践指南
人工智能·算法·语言模型