ROS系列——使用python的transforms3d、numpy库实现四元数、旋转矩阵、欧拉角、轴角等的相互转换

这篇具有很好参考价值的文章主要介绍了ROS系列——使用python的transforms3d、numpy库实现四元数、旋转矩阵、欧拉角、轴角等的相互转换。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.说明

1.1安装

pip3 install transforms3d

2.四元数相关转换

四元数模块在transforms3d.quaternions里,直接导入即可使用

import transforms3d as tfs
import numpy as np 

2.1 四元数与旋转矩阵互转

2.1.1四元数转旋转矩阵

tfs.quaternions.quat2mat([1,0,0,0])

2.1.2 旋转矩阵转四元数

tfs.quaternions.mat2quat(np.asarray([[1., 0., 0.],[0., 1., 0.],[0., 0., 1.]]))

2.2 四元数与轴角互转

2.2.1 四元数转轴角

tfs.quaternions.quat2axangle([1,0,0,0])

2.2.2 轴角转四元数

tfs.quaternions.axangle2quat([1,0,0],0.5)

3.欧拉角相关转换

四元数模块在transforms3d.euler里,直接导入即可使用

import transforms3d as tfs
import numpy as np 

3.1 欧拉角与四元数互转

3.1.1 固定轴欧拉角转四元数

tfs.euler.euler2quat(0,0,0,"sxyz")

3.1.2 四元数转固定轴欧拉角

tfs.euler.quat2euler([1,0,0,0],"sxyz")

3.2 欧拉角与旋转矩阵互转

3.2.1 固定轴欧拉角转旋转矩阵

tfs.euler.euler2mat(0,0,0,"sxyz")

3.2.2 旋转矩阵转固定轴欧拉角

tfs.euler.mat2euler(np.asarray([[1., 0., 0.],[0., 1., 0.],[0., 0., 1.]]),"sxyz")

3.3 欧拉角与轴角互转

3.3.1 固定轴欧拉角轴角

tfs.euler.euler2axangle(0,0,0,"sxyz")

3.3.2轴角转固定轴欧拉角

tfs.euler.axangle2euler([1,0,0],0.5,"sxyz")

4.轴角相关转换

四元数模块在transforms3d.axangle里,直接导入即可使用文章来源地址https://www.toymoban.com/news/detail-469341.html

4.1 轴角与旋转矩阵互转

4.1.1 轴角转旋转矩阵

tfs.axangles.axangle2mat([1,0,0],0.5)

4.1.2 旋转矩阵转轴角

tfs.axangles.mat2axangle(np.asarray([[1., 0., 0.],[0., 1., 0.],[0., 0., 1.]]))

到了这里,关于ROS系列——使用python的transforms3d、numpy库实现四元数、旋转矩阵、欧拉角、轴角等的相互转换的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【深度学习】 Python 和 NumPy 系列教程(廿四):Matplotlib详解:2、3d绘图类型(10)3D箱线图(3D Box Plot)

    目录 一、前言 二、实验环境 三、Matplotlib详解 1、2d绘图类型 2、3d绘图类型 0. 设置中文字体 1. 3D线框图(3D Line Plot) 2. 3D散点图(3D Scatter Plot) 3. 3D条形图(3D Bar Plot) 4. 3D曲面图(3D Surface Plot) 5. 3D等高线图(3D Contour Plot) 6. 3D向量场图(3D Vector Field Plot) 7. 3D表面投影图

    2024年02月03日
    浏览(46)
  • 使用 VScode 开发 ROS 的Python程序(简例)

    ROS学习笔记文章目录 01. ROS学习笔记(一)—Linux安装VScode 02. ROS学习笔记(二)—使用 VScode 开发 ROS 的Python程序(简例) 本篇作为ROS学习的第二篇,是关于如何在Ubuntu18.04中使用VSCode编写一个Python程序,输出“Hello!”的内容介绍。 首先我们来了解下ROS的文件系统,ROS文件系统级

    2024年02月13日
    浏览(38)
  • windows10中安装和使用ROS2+python

    ROS称为机器人操作系统,是开发智能机器人的极具生产力的工具,主要用于仿真验证、代码部署。ROS已经从ROS1发展到ROS2,而ROS2才真正实现了分布式通信。如果现在开始学的话,建议最好直接上手ROS2。ROS2支持多开发语言,当然了,在算法开发语言中,Python绝对是一个最佳的

    2024年02月10日
    浏览(40)
  • ROS1 rosbag的详细使用,并且使用python来合并bag包

    在使用ros的时候经常会用到rosbag来录制或者回放算法,是个非常有用的工具。 命令 作用 record 录制一个包,并且指定topic info 总结一个包的详细信息 play 回放一个或者多个包,并且可以指定topic check 确定一个包是否可以在当前系统中播放,或者是否可以迁移 fix 修复一个包使

    2024年02月20日
    浏览(42)
  • 使用 Python、XML 和 YAML 编写 ROS 2 Launch 文件

    ROS2 重要概念 ament_cmake_python 用户文档 ROS2 ament_cmake 用户文档 使用 rosdep 管理 ROS 2 依赖项 ROS 2 launch 文件可以用 Python、XML 和 YAML 编写。本指南介绍了如何使用这些不同的格式来完成相同的任务,并对何时使用每种格式进行了讨论。 下面是一个用 Python、XML 和 YAML 实现的 Launc

    2024年02月05日
    浏览(40)
  • Transformer-M:一个能理解2D和3D分子的Transformer

    目录 总结 一、Introduction 二、Transformer-M 三、Experiment 1. PCQM4Mv2 performance (2D) 2. PDBBIND performance (2D3D) 3. QM9 performance (3D) 4. Ablation study Impact of the pre-training tasks: Impact of mode distribution: 四、Conclusion 参考(具体细节见原文)         今天给大家介绍的是来自北京大学贺笛团

    2024年02月06日
    浏览(43)
  • transform 平面转换(3d)

    1.原理:  使用transform属性实现元素在空间内的位移、旋转、缩放等效果。 2.空间:  是从坐标轴角度定义的。 x 、y 和z三条坐标轴构成了一个立体空间,z轴位置与视线方向相同。 3.语法: 1.transform: translate3d(x, y, z); 2.transform: translateX(值); 3.transform: translateY(值); 4.transform: tr

    2024年01月17日
    浏览(40)
  • 3D- vista:预训练的3D视觉和文本对齐Transformer

    论文:https://arxiv.org/abs/2308.04352 代码: GitHub - 3d-vista/3D-VisTA: Official implementation of ICCV 2023 paper \\\"3D-VisTA: Pre-trained Transformer for 3D Vision and Text Alignment\\\" 三维视觉语言基础(3D- vl)是一个新兴领域,旨在将三维物理世界与自然语言联系起来,这对实现具身智能至关重要。目前的3D-VL模型

    2024年02月12日
    浏览(40)
  • ROS系列——ROS系统清理-rosclean

    当ROS运行一段时间后,启动master节点,可能会出现如下类似WARNING: WARNING: disk usage in log directory [/home/你的用户名/.ros/log] is over 1GB. It’s recommended that you use the ‘rosclean’ command.

    2024年02月13日
    浏览(34)
  • 微信3D小游戏系列一:在微信小游戏中使用threejs

    下载地址: https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html 微信小程序/小游戏的开发需要在专门的开发者工具中,可下载最近更新的稳定版,若之前没有使用过微信开发的话,进入 小游戏开发指南填写和提交相关的注册信息。 如图新建一个空目录,选择该目录建立自

    2024年02月04日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包