浅涉ROS世界中的坐标系及其他

声明:文中图片素材均采用了其他博主文章(文末参考来源),如有侵权或不妥(确有不妥和不安,奈何苦于佳图难觅),还望告知,立即删除!  

坐标系统       

        ROS中的坐标系广义上来说一般有3种:世界坐标系、机器人坐标系及相机坐标系。他们都遵循右手定则(右手大拇指、食指和中指双双成90°,其中大拇指向上为Z轴正方向,中指朝外为Y轴正方向,食指对应的方向即为X轴正方向),绕轴旋转的规则也是右手定则,逆时针为正,顺时针为负。

广义坐标系

世界坐标系

         还有一种中指朝上为Z轴正方向,食指朝里为Y轴正方向,大拇指的朝向为X轴正方向,这种其实可以利用常见的那种围绕Z轴逆时针旋转得到。

机器人坐标系

        在Rviz中 我们可以搭建上图这样的一个机器人模型(左下角添加tf),正常情况R(红色)为X轴,G(绿色)为Y轴,B(蓝色)为Z轴,从机器人自身角度(传感器坐标系)来看,标准方向约定为:

  • X轴:朝前
  • Y轴:朝左
  • Z轴:朝上

        对于地理定位的短距离笛卡尔坐标系,使用东-北-上(ENU)的方向约定:

  • X轴:朝东
  • Y轴:朝北
  • Z轴:朝上(天)
相机坐标系

        一般以“_optical”作为后缀:

  • X轴:朝右
  • Y轴:朝下
  • Z轴:朝上
其他坐标系      

        对于一些室外的应用系统(以"_ned"为后缀),可能会采用北-东-下(NED)的方向约定:

  • X轴:朝北
  • Y轴:朝东
  • Z轴:朝下

狭义坐标系

        在现实机器人开发中,我们比较常用的坐标系有/world、/map、/base_link、/odom、/sensor_link(比如laser_link)等。

移动机器人平台坐标系
  • /world:世界坐标系,固定坐标系(帧),机器人所在空间的固定背景参考坐标系;
  • /map:    地图坐标系,world-fixed frame,有时也同/world,位置数据离散;
  • /odom:  里程计坐标系,world-fixed frame,机器人移动过程中通过自己的里程计系统定位自己所参考的坐标系,位置数据连续;
  • /base_link: 基本链接坐标系,一般以机器人底盘中心点为固定原点的坐标系;
  • /sensor_link: 传感器链接坐标系,一般根据安装在机器人身上的姿态来确定其坐标系(与/base_link 坐标系相关);

        以上坐标系的关系一般为:map(world) -> odom -> base_link -> sensor_link

  • /earth:地球坐标系,地心地固坐标系(ECEF,Earth-Centered, Earth-Fixed)的原点,这个坐标系设计用于允许多个机器人在不同的地图坐标系中进行交互。

单位

        在ROS中,采用了国际单位制(System International Unit)的单位(十进制),可以帮助统一度量标准,使机器人编程、通信和数据交换更为方便和准确。

基本单位
名称单位
长度米 m
重量千克 kg
时间秒 s
电流安培 A
衍生单位
名称单位
角度弧度 rad
频率赫兹 hz
牛顿 N
功率瓦特 W
电压伏特 V
温度摄氏度 ℃
磁感应强度特斯拉 T
线速度米/秒 m/s
角速度弧度/秒 rad/s

后续学习过程中如有需要再细化补充。


参考:

rep/rep-0103.rst at master · ros-infrastructure/rep · GitHub

rep/rep-0105.rst at master · ros-infrastructure/rep · GitHub

REP 105 -- Coordinate Frames for Mobile Platforms (ROS.org)

ROS中的坐标系规定及数据单位_ros kinect的坐标系和ros的坐标系-CSDN博客

ROS中/odom,/map,/base_link几个坐标系的含义:从ROS的REP105严谨介绍_ros里程计和odom的关系-CSDN博客ROS坐标系统,常见的坐标系和其含义 | 蓝鲸ROS机器人论坛ROS中/odom,/map,/base_link几个坐标系的含义:从ROS的REP105严谨介绍_ros里程计和odom的关系-CSDN博客

ROS Components – AIRLab

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/571774.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Stable Diffusion系列】(一):AI绘画本地部署教程

目录 一、总览 二、本地部署 1、安装cuda 2、安装python 3、安装git 4、方法一 1)获取安装包 2)update 3)run 5、方法二 1)git clone 2)双击webui-user.bat 3)更新 6、设置启动参数 7、…

【linux】进程地址被占用

在强制关闭一个udp程序后,重启该程序报错: bind error: Address already in use 查找并关闭占用端口的进程: 首先,确定哪个进程占用了目标端口。在Linux系统中,可以使用以下命令: netstat -tulnp | grep …

ArcGIS无法开始编辑TIN!开始编辑TIN显示灰色

ArcGIS无法开始编辑TIN!开始编辑TIN显示灰色? 解决方案! 1、确认自定义——扩展模块中空间分析、3D分析模块勾选。 2、确认以上后,还是不能编辑的话,我们可以调出 3D分析分析工具条,你就会发现。TIN编辑工…

Paddle 1.8 与 Paddle 2.0 API 映射表

安装2.6的paddlepaddle之后总是报fluid的错误,查询得知这个接口已经弃用了,但是一直找不到替换接口,偶然查询报错信息的时候找到了映射表,转存一下。 Paddle 1.8 与 Paddle 2.0 API 映射表

在React函数组件中使用错误边界和errorElement进行错误处理

在React 18中,函数组件可以使用两种方式来处理错误: 使用 ErrorBoundary ErrorBoundary 是一种基于类的组件,可以捕获其子组件树中的任何 JavaScript 错误,并记录这些错误、渲染备用 UI 而不是冻结的组件树。 在函数组件中使用 ErrorBoundary,需要先创建一个基于类的 ErrorB…

SAM在低阶自适应航空土地覆盖分类中的应用2024.01

GEOSCIENCE AND REMOTE SENSING LETTERS 2024.01 提出了一种新的语义分割模型,该模型结合了SAM的图像编码器和低秩自适应方法(LoRA),用于航空图像的特征提取和微调。我们还使用了一个辅助CNN编码器来促进下游适应,并补充ViT编码器在密集视觉…

探索visionOS基础知识:创建应用程序图标

每当您使用不同的 Apple 平台时,您都会注意到必须学习如何为其设计本机应用程序图标。无论是 iOS、macOS 还是 tvOS,每个平台都有适合该特定平台的独特规范。 VisionOS 要求创建美观、三维、独特的应用程序图标,使主视图上感觉熟悉且逼真。 对于与 VisionOS 兼容的现有 …

js 连接快手打印组件并实现打印

快手打印组件文档: https://docs.qingque.cn/d/home/eZQA41D2h9LGUFaD26bC07e–?identityIdEmukFTnlEF#sectionh.kgnfm4rjc89m 快手打印组件下载: https://docs.qingque.cn/d/home/eZQBMOMSj4mJ5D7Xplofq-p4Y?identityIdEmukFTnlEF 快手打印数据格式&…

在ubuntu上搭建nexus私有仓库(指定版本以及jdk!)

前言 本来以为搭建一个nexus随随便便就好了,但是遇到了最新版本根本没办法在jdk17下面正常运行—起码我调了一下不知道怎么运行,我才知道。。。不升级版本其实是很有道理的。 这一篇是最新版本的尝试: 在ubuntu上搭建nexus私有仓库[失败草稿…

图片hover放大效果

实现效果:一张图片,鼠标放上去时,出现放大效果 非常简单,两个关键词:hover和transform 对应的代码结构如下图 框架背景: Tips: transform结合不同的参数可以实现元素的位移、旋转、缩放 如果有任何疑问或…

针对icon报错

针对上篇文章生成图标链接中图标报错 C# winfrom应用程序添加图标-CSDN博客 问题:参数“picture”必须是可用作Icon的参数 原因:生成的ico图标类型不匹配 解决方法: 更改导出的ico类型

国产3D自研技术如何突围?眸瑞科技给3D建设、管理带来全新模式

眸瑞科技是全球领先的数字孪生引擎技术及服务提供商,它专注于让一切3D模型在全网多端轻量化处理与展示,为行业数字化转型升级与数字孪生应用提供成套的国产自研3D可视化技术、产品与服务。 引言 眸瑞科技是全球领先的数字孪生引擎技术及服务提供商&…

绿色便携方式安装apache+mysql+tomcat+php集成环境并提供控制面板

绿色便携方式安装带控制面板的ApacheMariaDBTomcatPHP集成环境 目录 绿色便携方式安装带控制面板的ApacheMariaDBTomcatPHP集成环境[TOC](目录) 前言一、XAMPP二、安装和使用1.安装2.使用 三、可能的错误1、检查端口占用2、修改端口 前言 安装集成环境往往配置复杂&#xff0c…

DHCP原理和配置

1、DHCP原理 (1)什么是DHCP DHCP(Dynamic HostConfiguration Protocol,动态主机配置协议):给网络内的客户机自动分配IP地址由internet工作任务小组设计开发口专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议DHCP采用的是UDP作为传输…

Day 21 LAMP架构和DNS域名

LAMP架构简介 针对不同的后端开发语言,使用不同的架构,后端项目开发语言有:Java,PHP,Python...... 针对于PHP项目 LAMP架构 LinuxApacheMysql/MariadbPhp LNMP架构 LinuxNginxMysql/MariadbPhp 针对于Java项目 w…

百度安全多篇议题入选Blackhat Asia以硬技术发现“芯”问题

Blackhat Asia 2024于4月中旬在新加坡隆重举行。此次大会聚集了业界最杰出的信息安全专业人士和研究者,为参会人员提供了安全领域最新的研究成果和发展趋势。在本次大会上,百度安全共有三篇技术议题被大会收录,主要围绕自动驾驶控制器安全、跨…

C++ 泛型编程篇(一) 模板初阶

目录 〇、为什么需要模板? 一、函数模板 1. 函数模板概念 2. 函数模板格式 3. 函数模板的原理 4. 隐式实例化和显示实例化 5. 无法推导模板类型的情况 a. 只设置一个模板,但两个不同的参数类型使用模板 b. 函数体中使用了模板 6. 同名普通函数和模板函…

字符串型漏洞注入

SQL注入是一种严重的安全漏洞,它允许攻击者在不受控制的情况下执行任意的SQL代码。这种攻击通常发生在Web应用程序没有正确验证或转义用户输入的情况下。字符串型注入是SQL注入的一种形式,它涉及到在应用程序的输入框中插入恶意的字符串,以干…

K8S--常用的命令

原文网址:K8S--常用的命令-CSDN博客 简介 本文介绍K8S常用的命令。 官网 简略用法:https://kubernetes.io/zh-cn/docs/reference/kubectl/ 详细用法(有示例):https://kubernetes.io/docs/reference/generated/kub…

MINIO安装的方法(WindowsLiunx)

2 minio安装教程 注:官方中文文档:MinIO对象存储 Windows — MinIO中文文档 | MinIO Windows中文文档 Liunx 安装方:MinIO对象存储 Linux — MinIO中文文档 | MinIO Linux中文文档 2.1 下载地址 https://dl.min.io/server/minio/…