机器人坐标变化彻底理解

 如图所示分别Ow为世界坐标系,Oa为A坐标系,Ob为坐标系。其中\left ( r_{a}, t_{a} \right )为A坐标系相对于世界坐标系的空间变换,\left (r_{b}, t_{b} \right)为A坐标系相对于世界坐标系的空间变换,同时也是坐标系A、B的位姿。

公式解释说明:

        此处请注意变化的主体,主体不同矩阵的含义不同。

        {P_{1}^{A}}:为点1在坐标系A下的点坐标。

        {T_{A}^{W}}:为从坐标系A到坐标系W的齐次坐标矩阵(4x4),同时也是世界坐标系旋转平移为A坐标系的变化矩阵。

        {R_{A}^{W}}:为从坐标系A到坐标系W的旋转变化矩阵(3x3),同时也是世界坐标系W旋转为A坐标系的旋转变化矩阵。与前面r_{a}对应。

        t_{A}^{W}:为从坐标系A到坐标系W的平移变化向量,同时也是世界坐标系平移为A坐标系的平移变化矩阵。与前面t_{a}对应。 

1、点的坐标变化

        问题: 假设A坐标系中有一点P_A,求该点在世界坐标系W中的坐标P_W     

{P_{1}^{W}} = {T_{A}^{W}}*{P_{1}^{A}}

其中:{T_{A}^{W}} = \begin{bmatrix} {R_{A}^{W}}&{t_{A}^{W}} \\ 0& 1 \end{bmatrix},代入上式:

{P_{1}^{W}} = {R_{A}^{W}}*{P_{1}^{A}} + {t_{A}^{W}}

        反过来已知世界坐标系中的点{P_{1}^{W}},求A坐标系中的点{P_{1}^{A}},即是一个求逆的过程。

{P_{1}^{A}} = {T_{A}^{W}}^{-1}*{P_{1}^{W}}

其中:{T_{A}^{W}}^{-1} = \begin{bmatrix} {R_{A}^{W}}^{-1}&-{R_{A}^{W}}^{-1}{t_{A}^{W}} \\ 0& 1 \end{bmatrix},代入上式:

{P_{1}^{A}} = {R_{A}^{W}}^{-1}*{P_{1}^{W}} - {R_{A}^{W}}^{-1}{t_{A}^{W}}

2、求坐标系的旋转平移变化

         假设W坐标系下有一坐标变换B,若B作用在A坐标系后,A的新坐标系A^{'}为:

        首先坐标变换B是围绕世界坐标系变化的,所以后续运算应该左乘。

        {P_{1}^{A'}} = {T_{A}^{A^{'}}}* {T_{W}^{A}}

其中:{T_{A}^{A^{'}}} = \begin{bmatrix} {R_{B}^{W}}&{t_{B}^{W}} \\ 0& 1 \end{bmatrix},代入上式:

\left\{\begin{matrix} t^{'} = R^{A}*t^{B}+t^{A}\\ R^{'}=R^{B}*R^{A} \end{matrix}\right.

 3、两个坐标系之间的相对变化

        求从A坐标系到B坐标系的坐标变化为:

        \left\{\begin{matrix} {P_{1}^{W}} = {T_{A}^{W}}*{P_{1}^{A}}={R_{A}^{W}}*{P_{1}^{A}} + {t_{A}^{W}}\\ {P_{1}^{W}} = {T_{B}^{W}}*{P_{1}^{B}}={R_{B}^{W}}*{P_{1}^{B}} + {t_{B}^{W}} \end{matrix}\right.

 两者相等可得:

        {P_{1}^{B}} = {T_{B}^{W}}^{-1}* {T_{A}^{W}}*{P_{1}^{A}}

{P_{1}^{B}} = {T_{B}^{W}}^{-1}*({R_{A}^{W}}*{P_{1}^{A}} + {t_{A}^{W}})

{P_{1}^{B}} = {R_{B}^{W}}^{-1}*({R_{A}^{W}}*{P_{1}^{A}} + {t_{A}^{W}}- t_{B}^{W})

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
遨博机器人编程中的TCP/IP协议是指通过网络连接来实现机器人控制的一种通信方式。遨博机器人SDK提供了基于TCP/IP网络协议的控制接口,用户可以使用该接口来进行机器人的编程和控制操作。SDK中的接口类提供了一系列用于操作机械臂的方法,包括机械臂的初始化、运动模块、常用算法模块、相关信息的获取与设置、IO模块等功能。用户可以通过调用指定的函数来连接机械臂,并进行相应的控制操作。具体的函数接口可以查询遨博提供的接口说明书来了解。\[3\] #### 引用[.reference_title] - *1* *2* [遨博协作机器人高级编程 - 遨博机器人SDK用户自定义算法接口介绍与使用](https://blog.csdn.net/aubo_academy/article/details/124491025)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [遨博协作机器人插件开发-机械臂无线手柄遥控插件开发](https://blog.csdn.net/aubo_academy/article/details/125371794)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值