机器人学中旋转矩阵与欧拉角之间互换公式及程序

2023-05-16

 

欧拉角.png

 

/*弧度 角度 */
#define PAI  3.141592653589793
#define RADIAN (PAI / 180.0 )  //弧度 = 角度 * π  / 180
#define ANGLE   (180.0 / PAI )  //角度 = 弧度 * 180 / π
 

2、旋转矩阵转换为欧拉角 

 

/**
  * @brief  已知旋转矩阵求欧拉角
  * @param  arr : 旋转矩阵数组 N  O  A 
  * @retval 欧拉角(弧度值)  偏航角,俯仰角,滚动角
  */

 

 

float *Matrix_Eulerian_Angle(float *arr)
{
float T[9];
float E[3];
for(int i =0;i<9;i++)
{
T[i]=arr[i];
}
E[0] = atan2(T[1],T[0]);//Ny/Nx
E[1] = atan2(-1*T[2],(T[0]*cos(E[0])+T[1]*sin(E[0])));//Nz/(Nx+Ny)
E[2] = atan2((T[6]*sin(E[0])-T[7]*cos(E[0])),(-1*T[3]*sin(E[0])+T[4]*cos(E[0])));//Ax-Ay/-Ox+Oy
return E;
}

 

3、欧拉角转换为旋转矩阵

 

/**
  * @brief  已知欧拉角(角度值)求旋转矩阵
  * @param  arr : 欧拉角(弧度值)  偏航角,俯仰角,滚动角
  * @retval 
  */

 

Eulerian_Angle_Matrix(float *arr)
{
Q_D(FitControlRobotWidget);
float E[3];
float T[9];
int i=0;
for(i=0;i<3;i++)
{
E[i]=arr[i]*RADIAN;
}
/*N*/
T[0] = 1*(cos(E[0])*cos(E[1]));
T[1] = 1*(sin(E[0])*cos(E[1]));
T[2] = -1*(sin(E[1]));
/*O*/
T[3] = 1*(cos(E[0])*sin(E[1])*sin(E[2])-sin(E[0])*cos(E[2]));
T[4] = 1*(sin(E[0])*sin(E[1])*sin(E[2])+cos(E[0])*cos(E[2]));
T[5] = 1*(cos(E[1])*sin(E[2]));
/*A*/
T[6] = 1*(cos(E[0])*sin(E[1])*cos(E[2])+sin(E[0])*sin(E[2]));
T[7] = 1*(sin(E[0])*sin(E[1])*cos(E[2])-cos(E[0])*sin(E[2]));
T[8] = 1*(cos(E[1])*cos(E[2]));
 
return T;
}

 

注意:绕的轴不一样,T和E的对应关系也不一样。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

机器人学中旋转矩阵与欧拉角之间互换公式及程序 的相关文章

  • Unix环境高级编程读书笔记之一——Unix基础知识

  • Unix环境高级编程读书笔记之二——文件I/O

  • VNC连接ubuntu10.04出现白屏问题解决

    使用vnc登陆界面如下 解决办法 xff1a 将 vnc xstartup文件中最后一行x window manager amp 使用 注释掉 xff0c 然后添加一行gnone session amp 然后退出所有的XWINDOWS xf
  • vnc viewer上的分辨率

    问题 xff1a 用vnc远程连接时的系统屏幕即便最大化之后 xff0c 屏幕也只是中间的一小块屏幕 xff0c 并没有跟着vnc的最大化而最大化 解决办法 xff1a 连接窗口时点选option xff0c 或者VNC窗口标题栏右键 gt
  • 在Linux中Oracle安装成功后,首次启动使用时,会出现的一些问题总结和解决办法

    注意 xff1a oracle安装不能用root用户安装 xff0c 必须新建用户安装 1 sqlplus 命令不识别问题 xff08 bash xff1a sqlplus command not found xff09 当你首次安装ora
  • 树莓派安装系统和系统备份还原

    最近有使用到树莓派做一些项目 xff0c 下面整理了下树莓派烧录系统到系统镜像备份还原的一些方法 在操作中尝试了windows和ubuntu两个系统下的烧录方式 1 树莓派官网下载Raspberry Pi Imager 登录树莓派官网 找到
  • Gazebo仿真环境中odom和baselink关联一起

    在Gazebo仿真环境中使用slam gmapping采图时发现 xff0c 没有odom数据 xff0c topic map没有数据 通过tf tree发现 odom没有和base link建立关联 日志上可以看到odom完全没有 这需要
  • 相机的变焦,对焦和景深的理解和照相機的成像原理

    首先认识焦距 xff1a 是指平行光线经透镜折射或曲面镜反射后的会聚点 xff0c 点到镜片中心的距离就是f焦距 相机成像时最清晰的位置就是感光阵列位于焦点处 焦距的作用 xff1a 焦距的大小决定着相机视野的范围大小 xff0c 一般焦距
  • 内参、外参、畸变参数三种参数与相机的标定方法与相机坐标系的理解

    有国才有家 xff0c 支持国产 xff0c 生活中点滴做起 xff0c 买手机就买华为 xff0c 这是我们国家IT界的脊梁 xff01 xff01 xff01 1 相机参数是三种不同的参数 相机的内参数是六个分别为 xff1a 1 dx
  • 基于ubuntu16.04配置VNC远程连接

    VNC官网下载https www realvnc com en connect download vnc linux 下载后的文件是VNC Server 6 3 1 Linux x86 deb xff0c 执行命令 xff1a sudo d
  • 关于Ubuntu与Debian的关系,了解!

    饮水思源 xff1a Ubuntu用户应关注Debian 当今最热门的桌面Linux非Ubuntu莫属 xff0c 它已经拥有数量众多的爱好者 xff0c 已经成为PC用户的主流操作系统之一 尽管Ubuntu相对还比较年 轻 xff0c 但
  • 最优化问题及其分类

    优化技术是一种以数学为基础 xff0c 用于求解各种工程问题优化解的应用技术 归纳而言 xff0c 最优化问题分为函数优化问题和组合优化问题两大类 xff0c 其中函数优化的对象是一定区间的连续变量 xff0c 而组合优化的对象则是解空间中
  • 50个有趣的休闲网站 (外国)

    有选择的余地是件好事 xff0c 但是如果选择太多了也让人烦恼 我们在网络上进行了搜索 xff0c 挑出了50个最有用而有趣的网站 今天互联网已经是很大的生意 无论你是想要购买一辆汽车 出售家庭产品 做生意或者收集难以找到的信息 xff0c
  • 一个不错的技术面试官是怎么样的?

    一个不错的技术面试官是怎么样的 xff1f 转载自 xff1a http t cn AiWwBM2b 作者 Jartto 作为技术面试官 xff0c 面试过程很少考虑候选人的感受 上来就是问 xff0c 不合适就送走 虽然技术环节我很专业
  • SVN update 返回值的含义

    本文来自网络 当你从代码库里面更新自己本地的工作拷贝的时候 xff0c update返回的值意思如下 xff1a u foo 文件foo更新了 xff08 从服务器收到修改 xff09 A foo 文件或目录foo被添加到工作拷贝 D fo
  • Linux DRM Graphic 显示简单介绍

    好久没有写过博客了 xff0c 工作之后平时都没有总结 xff0c 感觉像做了学到很多东西 xff0c 但是又感觉什么都没有学到 xff0c 似懂非懂 xff08 真尼玛纠结 xff09 突然别人说的一句话 xff0c 学东西不仅仅是自己学
  • Linux DRM KMS 驱动简介

    Whoops xff0c 上次写完 Linux DRM Graphic 显示简单介绍 博文后 xff0c 心情还是蛮愉悦的 xff0c 来来 xff0c 这次在说说具体的显卡驱动 1 DRM 框架分解 DRM 框架提供了一系列的 IOCTL
  • Vim 自动补全插件 YouCompleteMe 安装与配置

    本文系转载文章 xff0c 原文链接 http howiefh github io 2015 05 22 vim install youcompleteme plugin Contents 1 概述 2 安装 2 1 完全安装 2 2 Ub
  • Linux 中的各种栈:进程栈 线程栈 内核栈 中断栈

    转载请注明出处 xff1a http kyang cc 栈是什么 xff1f 栈有什么作用 xff1f 首先 xff0c 栈 stack 是一种串列形式的 数据结构 这种数据结构的特点是 后入先出 LIFO Last In First Ou

随机推荐

  • SD-WAN 到底是什么?

    转载请注明出处 xff1a http kyang cc In a nutshell SD WAN Virtualizes the networkEnables a secure overlaySimplifies services deli
  • SDN, SD-WAN, NFV, VNF: What Is All This?

    本文转载至 xff1a http www velocloud com sd wan blog sdn sd wan nfv vnf Inscrutable alphabet soup Even the fully expanded term
  • Top-down Design简介

    自顶向下 xff0c 逐步求精的方法 在英文中称作Top down Design xff0c 是一种计算机编程使用的算法思想 xff0c 顾名思义 xff0c 这种方法的思想就是对现在遇到的复杂或者抽象化的问题 xff0c 进行纵向深入分解
  • The Advantages of SD‐WAN over Traditional WAN

    转载请注明出处 xff1a http kyang cc An SD WAN has several advantages over a traditional WAN 重点内容 Simplified WAN Rapid deployment
  • 玩转 SSL 证书

    Introduction Openssl 是一个很牛逼的工具 xff0c 基本能搞定 PKI amp HTTPS 证书相关的事情 这篇博文归类了一堆常用的命令 xff0c 全部都是关于 key amp csr amp crt 本文分成两部分
  • linux简易书单

    1 Linux程序设计 xff08 第4版 xff09 万千读者推荐的Linux经典入门书 程序设计实战型图书 xff0c 以简单易懂 内容全面和示例丰富而受到广泛好评 如果你没有Linux基础 xff0c 可以先读这本 话说回来 xff0
  • 数字图像处理的技术方法和应用

    所谓数字图像处理 xff0c 是指将图像信号转换成数字信号并利用计算机对其进行处理的过程 20 世纪 50 年代 xff0c 电子计算机已经发展到一定水平 xff0c 人们开始利用计算机来处理图形和图像信息 xff0c 这便是早期的图像处理
  • hadoop安装完后打开网页http://localhost:50070/ 没反应

    在hadoop安装完后 xff0c 依次执行hadoop namenode format xff0c start dfs sh xff0c start yarn sh 之后 打开浏览器 输入 http localhost 50070 无反应
  • 关于CSDN代码段的背景颜色修改

    当我第一次去在CSDN中写代码时会发现自己的是用的 代码段 是如图下所示这种黑色的背景 那么自己想要去修改因该如何设置 1 鼠标悬停到头像上 2 点击内容管理标签 3 点击博客设置 4 在代码片样式中选择自己喜欢的样式就可以了
  • 利用VSPD、串口调试助手、Keil做串口调试

    下面详细介绍下如何用虚拟串口调试串口发送接收程序 需要用到三个软件 xff1a KEIL VSPD XP5 xff08 virtual serial ports driver xp5 1虚拟串口软件 xff09 串口调试助手 xff08 个
  • 基于机器学习的雷达信号分选和目标识别(论文阅读学习记录—持续记录)

    机器学习在雷达信号分选技术上的应用包括信号分离 确定脉冲参数 形成单部雷达脉冲序列 xff0c 然后针对雷达目标识别进行分类并划分威胁程度等 在一维距离像识别过程中包括去噪和雷达目标型号识别 该论文 xff08 学习内容 xff09 重点研
  • CMake Error: The following variables...set to NOTFOUND

    今天在编译开源OpenVslam时 xff0c 在最后阶段出现如下问题 说是DBOW2的库招不到 查看了dbow2都是正常安装的 xff0c 但是就是出问题 然后我就找到了对应的cmakelist txt文件 xff0c 将LIBS地址打印
  • PCL库调试过程中,显示当前不会命中断点,还没有为该文档加载任何符合

    最近在读PCL库中NDT源码 xff0c 搞了一个vs2019的工程将NDT部分跑了起来 xff0c 想通过打断点的方式进入源码中一步步走读代码 但是有些部分的源码可以通过断点的方式进 hpp文件 xff0c 有些确不能 比如kdtree
  • 相机矩阵(camera matrix)

    本博文主要介绍camera的参数矩阵 目录 相机小孔模型 相机矩阵 xff08 内参 xff09 相机矩阵 xff08 Intrinsic matrix xff09 图像坐标系 相机的外参矩阵 xff08 extrinsic matrix
  • Pytorch模型转ONNX

    参考https blog csdn net qq 37546267 article details 106767640 利用下面代码将pth模型转换为onnx import torch from torch autograd import
  • File already exists in database google/protobuf/descriptor.proto

    以加载静态库的方式加载protobuf库时出现如下问题 xff1a libprotobuf ERROR google protobuf descriptor database cc 57 File already exists in dat
  • assign()测试

    assign 应该属于赋值 std deque lt int gt di 1 2 3 4 5 std cout lt lt 34 at first 34 lt lt std endl std cout lt lt 34 di 61 34 f
  • 解析力评测(1) MTF和SFR

    成像系统的解析力一直是摄像头最关键的指标之一 所有用户拿到一张照片的时候首先看到的是照片清楚不清楚 xff0c 图像的清楚说得就是解析力 但是如何评价一个成像系统的解析力也是大家一直在探讨的问题 目前主流的办法主要有三种TV line检测
  • MTF的倾斜边缘计算方法

    简介 光学系统性能的衡量方法有很多 xff0c 常见的有点扩散函数法 瑞利判断法 点列图法 光学传递函数 MTF 法等 xff0c 其中MTF法在光学系统和镜头加工制造中使用最为广泛 MTF曲线真实的反映了成像系统将物方信息传递到像方的能力
  • 机器人学中旋转矩阵与欧拉角之间互换公式及程序

    弧度 角度 define PAI 3 141592653589793 define RADIAN PAI 180 0 弧度 61 角度 180 define ANGLE 180 0 PAI 角度 61 弧度 180 2 旋转矩阵转换为欧拉角