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

文章目录

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

相关推荐
不悔哥4 小时前
开源 Zephyr:现代嵌入式 RTOS 长什么样
单片机·开源·嵌入式
AbandonForce4 小时前
简谈线程池
开发语言·c++·算法
志尊宝4 小时前
Vue3 零基础每日笔记(010):watchEffect——用到谁就自动听谁的“懒人侦听器“
前端·vue.js·笔记
智购科技智能售货柜4 小时前
2026自动售货机商品掉落声学计数方案:从麦克风到频谱识别的工程实践~YH
人工智能·算法
土司大王4 小时前
LeetCode hot100——实现 Trie (前缀树)
java·算法·leetcode
陈年老古董4 小时前
Python模拟MapReduce分治思想 | 从单文件统计到大文件拆分聚合 学习笔记
开发语言·hadoop·笔记·python·学习
水龙吟啸4 小时前
华为研发岗AI方向9.9机考题复盘&分析
人工智能·python·算法·华为
小七在进步4 小时前
类和对象(一)
java·数据结构·算法
Y_Bk4 小时前
2026 ICPC EC网络预选赛第一场
算法
CarIise4 小时前
C语言字符串基础:从char数组到双指针反转算法
算法