如何把全局坐标系转到机器人本体坐标系

news/2025/3/22 9:30:45/

场景

在这里插入图片描述
假设某虚拟机器人 R v R_v Rv与跟随者机器人 R f R_f Rf位置关系如下:

全局坐标系
  • ( X )、( Y ):全局坐标系的坐标轴,( O ) 为全局坐标系原点,用于描述机器人在宏观环境中的位置与姿态。
跟随机器人 R f R_f Rf
  • ( x_F )、( y_F ):跟随机器人本体坐标系的坐标轴,构成机器人自身的局部坐标系,用于定义机器人本体的方向(如前进方向、侧向方向)。
  • ( θ F \theta_F θF):跟随机器人线速度与水平方向的夹角.
虚拟机器人 R v R_v Rv
  • ( x_V )、( y_V ):虚拟机器人在全局坐标系下的位置坐标,分别表示其在 ( X ) 轴和 ( Y ) 轴方向上的位置。
  • ( θ V \theta_V θV):虚拟机器人线速度与水平方向的夹角
  • ( R_V ):代表虚拟机器人,虚线框表示其在全局坐标系中的形态与位置,通过 ( x_V )、( y_V ) 和 ( θ V \theta_V θV) 完整定义其在环境中的位姿。

则可通过:
[ cos ⁡ θ F sin ⁡ θ F 0 − sin ⁡ θ F cos ⁡ θ F 0 0 0 1 ] [ x y z ] \begin{bmatrix}\cos\theta_F&\sin\theta_F&0\\-\sin\theta_F&\cos\theta_F&0\\0&0&1\end{bmatrix}\begin{bmatrix}x\\y\\z\end{bmatrix} cosθFsinθF0sinθFcosθF0001 xyz
将全局坐标系下的位置关系转换到机器人本体坐标系。

1. 旋转矩阵的几何意义

  • 该矩阵是三维空间中绕 z z z 轴旋转 θ F \theta_F θF 的变换矩阵。在机器人领域,全局坐标系(如世界坐标系)与本体坐标系的差异常体现在姿态(旋转角度)上。若机器人本体坐标系相对全局坐标系存在绕 z z z 轴的旋转(如机器人原地转向),此矩阵可精确描述这一旋转关系。
  • 矩阵的列向量对应本体坐标系坐标轴在全局坐标系中的方向,例如:
    • 第一列 [ cos ⁡ θ F − sin ⁡ θ F 0 ] \begin{bmatrix} \cos\theta_F \\ -\sin\theta_F \\ 0 \end{bmatrix} cosθFsinθF0 表示本体坐标系 x x x 轴在全局坐标系中的投影;

    • 第二列 [ sin ⁡ θ F cos ⁡ θ F 0 ] \begin{bmatrix}\sin\theta_F\\\cos\theta_F\\0\end{bmatrix} sinθFcosθF0 表示本体坐标系 y y y轴在全局坐标系中的投影;

    • 第三列 [ 0 0 1 ] \begin{bmatrix}0\\0\\1\end{bmatrix} 001 说明 z z z轴方向在两个坐标系中一致(若有 z z z轴旋转,需更复杂矩阵)。

2.坐标变换的数学逻辑

  • 对全局坐标系下的点 P 全局 = [ x y z ] \boldsymbol{P}_\text{全局}=\begin{bmatrix}x\\y\\z\end{bmatrix} P全局= xyz ,用该矩阵变换后得到 P 本体 \boldsymbol{P}_\text{本体} P本体
    P 本体 = [ cos ⁡ θ F sin ⁡ θ F 0 − sin ⁡ θ F cos ⁡ θ F 0 0 0 1 ] [ x y z ] = [ x cos ⁡ θ F + y sin ⁡ θ F − x sin ⁡ θ F + y cos ⁡ θ F z ] . \boldsymbol{P}_\text{本体}=\begin{bmatrix}\cos\theta_F&\sin\theta_F&0\\-\sin\theta_F&\cos\theta_F&0\\0&0&1\end{bmatrix}\begin{bmatrix}x\\y\\z\end{bmatrix}=\begin{bmatrix}x\cos\theta_F+y\sin\theta_F\\-x\sin\theta_F+y\cos\theta_F\\z\end{bmatrix}. P本体= cosθFsinθF0sinθFcosθF0001 xyz = xcosθF+ysinθFxsinθF+ycosθFz .
    这一过程通过旋转 x − y x-y xy平面的坐标,使全局坐标系的方向与机器人本体坐标系的 x − y x-y xy平面方向对齐,而 z z z坐标保持不变(若存在平移,需额外补充平移向量)。

因此,当机器人本体坐标系相对全局坐标系仅存在绕 z z z轴的旋转时,该矩阵可通过数学上的旋转变换,将全局坐标系下的位置关系转换到机器人本体坐标系。


http://www.ppmy.cn/news/1581106.html

相关文章

【C++】:异常

目录 C语言处理错误的方式 C异常的概念 C异常的使用 异常的抛出与捕获匹配原则 函数调用链中的栈展开 异常重新抛出 异常安全 异常规范 标准库异常体系 自定义异常体系 异常的优缺点 C语言处理错误的方式 返回值检查:函数返回特定错误码或值标识失败&am…

用逻辑分析仪分析Usart波形

USART的波形抓取最简单,帧头帧尾只需要电平上升下降沿就可以了,不需要自己定义,也没有ID位,逻辑分析仪可以直接抓取发送的数据: 口配置:9600bps,8数据位,无校验,1个停止位…

6.5840 Lab 3: Raft

论文很重要 raft-zh_cn/raft-zh_cn.md at master maemual/raft-zh_cn GitHub Part 3A: leader election (moderate) 十次test都过了 实现 Raft 的领导者选举和心跳机制(AppendEntries RPC,无日志条目)。第 3A 部分的目标是实现以下功能&am…

使用 Apktool 反编译、修改和重新打包 APK

使用 Apktool 反编译、修改和重新打包 APK 在 Android 逆向工程和应用修改过程中,apktool 是一个强大的工具,它允许我们解包 APK 文件、修改资源文件或代码,并重新打包成可安装的 APK 文件。本文将介绍如何使用 apktool 进行 APK 反编译、修…

OpenCV vs MediaPipe:哪种方案更适合实时手势识别?

引言 手势识别是计算机视觉的重要应用,在人机交互(HCI)、增强现实(AR)、虚拟现实(VR)、智能家居控制、游戏等领域有广泛的应用。实现实时手势识别的技术方案主要有基于传统计算机视觉的方法&am…

微信 MMTLS 协议详解(五):加密实现

常用的解密算法,对称非对称 加密,密钥协商, 带消息认证的加解密 #生成RSA 密钥对 void GenerateRsaKeypair(std::string& public_key,std::string& private_key) {RSA* rsa RSA_new();BIGNUM* bn BN_new();// 生成 RSA 密钥对BN_s…

期刊分区表2025年名单下载(经济学、管理学)

2025年期刊分区表包括SCIE、SSCI、A&HCI、ESCI和OAJ,共设置了包括自然科学、社会科学和人文科学在内的21个大类 本次分享的是期刊分区表2025年名单经济学类、管理学类,一共7631025条 一、数据介绍 数据名称:期刊分区表2025年名单 数据…

一些硬件知识【2025/3/1】

隔离电源的内部构造: 里面的电源驱动芯片是VPS8702,价格大概在1块钱左右。 可以看到其特点也正符合B0505S这种小型的隔离电源模块。其内部是一个全桥的拓扑,可以驱动外置变压器从而达到将外部输入电源隔离输出的目的。并且他集成了过流检测保…