机器人中的yaw/pitch/roll

这篇具有很好参考价值的文章主要介绍了机器人中的yaw/pitch/roll。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、yaw(pan)/pitch(tilt)/roll

我认为,yaw/pitch/roll绕哪个轴旋转,是要看坐标系的朝向的,如果坐标系的轴如下图,则对应关系是yaw(z轴)、pitch(x轴)、roll(y轴)。

yaw轴,Ros,机器人,算法

如果换个坐标系,比如下图,则是yaw(Y轴)、pitch(X轴)、roll(Z轴)。

yaw轴,Ros,机器人,算法

2、yaw/pitch/roll的计算

工业上,一般的旋转顺序是yaw=>pitch=>roll的顺序。

yaw轴,Ros,机器人,算法

所以,这个坐标系的旋转顺序是ZXY,则对应的旋转矩阵是下图的红色部分。

yaw轴,Ros,机器人,算法

令旋转矩阵yaw轴,Ros,机器人,算法,则

m21 = sinx, x =asin(m21)=>pitch
m20 / m22 = -cosxsiny / cosxcosy = -siny / cosy = -tany, y = -atan2(m20, m22)=>roll
m01 / m11 = -cosxsinz / coszcosx = -sinz / cosz = -tanz, z = -atan2(m01, m11)=>yaw

3、yaw/pitch/roll的坐标系转换

设数据源的坐标系如下图(同2的计算),

yaw轴,Ros,机器人,算法

数据目标的坐标系如下(都是右手坐标系),

yaw轴,Ros,机器人,算法

则yaw的旋转与上一步计算相反,有

x =asin(m21)=>pitch

y = atan2(m01, m11)=>yaw

z = -atan2(m20, m22)=>roll

4、代码示例文章来源地址https://www.toymoban.com/news/detail-780074.html

import numpy as npimport math as mathfrom autolab_core import RigidTransformorientation = {'y': -0.6971278819736084, 'x': -0.716556549511624, 'z': -0.010016582945017661, 'w': 0.02142651612120239}position = {'y': -0.26022684372145516, 'x': 0.6453529828252734, 'z': 1.179122068068349}rotation_quaternion = np.asarray([orientation['w'], orientation['x'], orientation['y'], orientation['z']])translation = np.asarray([position['x'], position['y'], position['z']])m = RigidTransform(rotation_quaternion, translation)r = m.rotationpitch = math.asin(r[2, 1])yaw = -math.atan2(r[0, 1], r[1, 1])roll = -math.atan2(r[2, 0], r[2, 2])pitch_ang = pitch * 180.0 / 3.1415926yaw_ang = -yaw * 180.0 / 3.1415926 roll_ang = roll * 180.0 / 3.1415926print('----- ji result -------')print('pitch: %f' % pitch_ang )print('yaw: %f' % yaw_ang)print('roll_ang: %f' % roll_ang)

到了这里,关于机器人中的yaw/pitch/roll的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • A*算法在MATLAB中的机器人栅格地图路径规划

    A*算法在MATLAB中的机器人栅格地图路径规划 路径规划是机器人领域中的重要问题之一,其中A*(A-star)算法是一种常用且有效的路径搜索算法。本文将介绍如何在MATLAB中使用A*算法进行机器人栅格地图的路径规划,并提供相应的源代码。 首先,我们需要了解A 算法的原理。A 算

    2024年02月06日
    浏览(39)
  • A*算法在MATLAB中的应用:机器人迷宫路径规划

    A*算法在MATLAB中的应用:机器人迷宫路径规划 迷宫路径规划是机器人导航领域中的一个重要问题。A*(A-star)算法是一种常用的启发式搜索算法,可用于寻找最优路径。在本文中,我们将介绍如何使用MATLAB实现A*算法来解决机器人在迷宫中的路径规划问题。 首先,让我们了解

    2024年02月07日
    浏览(31)
  • ROS的机器人协议:实现机器人之间的有效通信

    作者:禅与计算机程序设计艺术 ROS(Robot Operating System)是一个开源的机器人操作系统,其功能主要包括以下几个方面: 消息传递:ROS通过消息传递的方式进行通信,各个节点之间可以通过发布、订阅等方式互相通讯。 资源管理:ROS可以对进程、线程、资源进行管理,使得不

    2024年02月06日
    浏览(35)
  • ROS机器人实战,对标古月老师HRMRP机器人(一)——机器人总体方案设计

    咳咳!这个是自己的毕业设计,内容比较多就拆开发。设计实现了一款SLAM移动机器人,加机械臂完成视觉识别抓取的,同时还有语音识别控制、QT上位机控制、Web网页控制。前几年看古月老师的视频,看到古月老师设计的HRMRP(混合实时移动机器人平台),就也来对标一下!

    2024年04月28日
    浏览(25)
  • ROS实现机器人移动

    使用是github上六合机器人工坊的项目。 https://github.com/6-robot/wpr_simulation.git 运动模型如下所示:👇   机器人运动的消息包: 实现思路:👇   为什么要使用/cmd_vel话题。因为这个是约定俗成的,项目中订阅的就是这个话题,否则无法订阅到主题或者更改项目的订阅者的源码

    2024年02月14日
    浏览(34)
  • ROS:机器人系统仿真

    通过计算机对实体机器人系统进行模拟的技术,在 ROS 中,仿真实现涉及的内容主要有三:对机器人建模(URDF)、创建仿真环境(Gazebo)以及感知环境(Rviz)等系统性实现。 仿真在机器人系统研发过程中占有举足轻重的地位,在研发与测试中较之于实体机器人实现,仿真有如下几点的

    2024年02月15日
    浏览(36)
  • JAYA算法在MATLAB中的应用——栅格地图机器人最短路径规划

    JAYA算法在MATLAB中的应用——栅格地图机器人最短路径规划 最短路径规划是机器人导航和路径规划领域中的一个重要问题。JAYA(Just Another Yet Another)算法是一种新兴的优化算法,它在解决多种优化问题方面表现出色。本文将介绍如何使用MATLAB实现JAYA算法来解决栅格地图上机器

    2024年02月06日
    浏览(29)
  • A*算法在机器人栅格地图路径规划与避障中的应用

    路径规划是机器人导航和自主移动中的重要任务之一。A*(A-star)算法是一种常用的搜索算法,被广泛应用于机器人路径规划和避障问题中。本文将介绍如何使用A*算法求解机器人在栅格地图上的路径规划,并提供相应的Matlab代码。 栅格地图表示 栅格地图是将环境划分为网格

    2024年02月06日
    浏览(32)
  • ROS机器人入门-环境搭建

    ROS  是机器人操作系统(Robot Operating System)的英文缩写。  ROS  是用于编写机器人软件程序的一种具有高度灵活性的软件架构。 ROS 图标  : ROS  是开源的,是用于机器人控制的一种后操作系统,或者说次级操作系统。它提供类似操作系统所提供的功能,包含硬件抽象描述、

    2024年02月08日
    浏览(41)
  • 【ROS 06】机器人系统仿真

    对于ROS新手而言,可能会有疑问:学习机器人操作系统,实体机器人是必须的吗?答案是否定的,机器人一般价格不菲,为了降低机器人学习、调试成本,在ROS中提供了系统的机器人仿真实现,通过仿真,可以实现大部分需求,本章主要就是围绕“仿真”展开的,比如,本章会

    2024年02月09日
    浏览(24)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包