[carla]关于odometry坐标中的角度坐标系 以及 到地图的映射问题

2023-10-27

1.获取车辆的Odometry原始信息

在carla中,通过订阅/carla/ego_vecle/odometry 可以查看车辆的全局位置信息,例如:

> header: 
  seq: 118872
  stamp: 
    secs: 5946
    nsecs:   5720187
  frame_id: "map"
child_frame_id: "ego_vehicle"
pose: 
  pose: 
    position: 
      x: 96.5346984863
      y: -188.643692017
      z: 0.221679911017
    orientation: 
      x: 1.09737910971e-07
      y: 5.40849999846e-07
      z: 0.0368271997411
      w: 0.999321648599
  covariance: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
twist: 
  twist: 
    linear: 
      x: -0.00358968405948
      y: -3.63046108104e-06
      z: 2.80475536936e-07
    angular: 
      x: 2.17012864219e-05
      y: -0.000262381265741
      z: -0.00483244467764
  covariance: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]

其中,pose.pose.position.x 和 pose.pose.position.y提供了全局x,y坐标,pose.pose.orientation提供了汽车的旋转角度。

1.1 全局坐标

全局坐标和GNSS传感器获得的经纬度坐标可以相互转换,统一地图内,两种坐标都可以用于车辆定位。

1.2 旋转角度

这里的旋转角度的坐标以N方向为零度,E为90度,W为-90度,S偏E侧为+180度,S偏W侧为-180度,如图所示:
Odometry坐标系
这里值得注意的是:CARLA的odometry坐标系与真实世界的坐标系不同。正常坐标系是上北下南,左西右东,而CARLA里面是上北下南,左东右西。

该角度的具体计算的方法为:

//导入tf/transform_datatypes.h库
#include <tf/transform_datatypes.h>

//使用tf::getYaw获取四元数中的偏航角,然后转换成角度
tf::getYaw(carla_odometry.pose.pose.orientation) * 180.0 / M_PI

计算出来与显示界面的Heading是相同的。
在这里插入图片描述

2. 坐标系变换

我们想要把Odometry坐标系变换成下面的角度坐标系:
在这里插入图片描述

首先,Odometry坐标系需要逆时针旋转90度,那么对应的角度应当减去90度:
θ 1 = θ 0 − 90 ° \theta_1=\theta_0 - 90° θ1=θ090°
然后,取值范围需要变换到0-360度,对于原角度位于[90°,180°]的,减去90°后已经是变换后的角度,对于[0,90°][-0,-180°]角度,减去90°后会变成负数,需要增加360°变成正数。

θ 2 = { θ 1 , θ 1 > = 0 θ 1 + 2 π , θ 1 < 0 \theta_2 = \left\{\begin{matrix} \theta_1, \theta_1 >= 0\\ \theta_1 + 2\pi , \theta_1 <0 \\ \end{matrix}\right. θ2={θ1,θ1>=0θ1+2π,θ1<0
变换过程如图所示:
在这里插入图片描述

3.关于小地图截取时的注意事项

carla的地图有时候 并不是 上北下南 左西右东的,例如Town02地图
在这里插入图片描述
实际上,图片的上方是东,下发是西,左边是南,右边是北。我们想要使得截取的小地图始终朝向车头方向,就要将图片往反方向旋转相同的角度。

在这里插入图片描述

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

[carla]关于odometry坐标中的角度坐标系 以及 到地图的映射问题 的相关文章

  • 在自动驾驶的领域里面如何玩仿真 【1】 概述和写在前面的一些话

    在自动驾驶的领域里面如何玩sil仿真 1 写在前面的一些话 停了两年 很久没登录CSDN了 之前野心勃勃开的题目随着自己进入一家初创公司开始后就没有时间和精力去更新了 发现这两三年有很多人喜欢这几个都不算太监 甚至头都没有写完 的文章 不少
  • 【trajectory optimization】1 intro

    满足所有constraints 的是feasible solution可行解 admissible control 容许控制 可行控制 轨迹优化是根据目标函数objective function 描述寻找最优轨迹optimal trajec
  • 高斯牛顿法求非线性最小二乘的步骤和c++代码实现

    slam图优化的本质是一个非线性优化问题 Gauss Newton求解步骤 1 线性化误差函数 2 构建线性系统 3 求解线性系统 4 更新解 并不断迭代直至收敛 一个简单的代码实现 一维参数xy 高维变为对应的矩阵即可 include
  • [carla入门教程]-6 小项目:基于carla-ros-bridge构建一个小型比赛赛道

    本专栏教程将记录从安装carla到调用carla的pythonAPI进行车辆操控并采集数据的全流程 带领大家从安装carla开始 到最终能够熟练使用carla仿真环境进行传感器数据采集和车辆控制 第六节 基于carla ros bridge
  • 使用ROS通过串口获取遥控器信号(二)

    使用ROS通过串口获取遥控器信号 二 十 编写串口通信节点 sudo gedit catkin ws src uart communication src commu cpp 加入以下代码 根据实际情况修改自己的代码 注意serial的AP
  • PCL去除地面

    如图所示 分别是 原图 gt 直通滤波后 gt 取地面的图 gt 取地面的凹凸四边行加地面上的物体图
  • 在Ubuntu 20.04上成功安装 rtx 3060 notebook Nvidia cuda 和基本图形驱动

    cuda Toolkits中包含了对应的图形驱动 所以只需要安装CUDA 顺便就安装了基本的显卡驱动 最好在新笔记本上安装 经常会失败 重装Ubuntu也不怕丢失重要数据 为了保存用户数据 至少把硬盘分为3个区 1 swap 32GB 2
  • lanelet安装

    1 https github com KIT MRT mrt cmake modules 2 sudo apt get install libpugixml dev sudo apt get install libpugixml1v5 3
  • 自动驾驶:轨迹预测综述

    自动驾驶 轨迹预测综述 轨迹预测的定义 轨迹预测的分类 基于物理的方法 Physics based 基于机器学习的方法 Classic Machine Learning based 基于深度学习的方法 Deep Learning based
  • 机器人基础知识一

    1 六轴机器人中的六轴是什么 在实际生产中常用的6关节工业机器人有6个可活动的关节 轴 不同的工业机器人本体运动轴的定义也不同 用于保证末端执行器达到工作空间任意位置的轴被称为基本轴或主轴 用于实现末端执行器任意空间姿态的轴 则称为腕部轴或
  • SSD目标检测流程深入理解

    前言 SSD是经典的一阶目标检测网络框架 特点是速度快 网络简洁 主要思想 1 数据增强 包括光学变换和几何变换 2 网络骨架 SSD在VGG基础上延伸了4个卷积模块 生成不同尺度的特征图 3 PriorBox与多层特征图 在不同尺度设置预
  • pcl入门笔记1:pcl的安装

    前言 最近刚入坑pcl 打算记录一下自己的学习历程 安装pcl前的准备 本教程使用的是windows下的预编译包安装 要想顺利编译程序 需要安装好微软的Visual Studio IDE和cmake 这两者安装过程笔者不详细介绍 读者可以自
  • ubuntu 18.04.5中flow, smarts & xingtian 多智能体RL环境构建

    ubuntu 18 04 5中flow smarts xingtian 多智能体RL环境构建 Flow 虚拟环境构建 由于需要在同一个主机上运行多个环境 不同的环境具有不同的依赖包 因此每个智能体环境单独构建一个虚拟python环境 首先安
  • Ubuntu18.04安装Autoware1.15(解决Openplanner无法绕障的问题:Openplanner2.5)

    文章目录 一 下载Autoware1 15源码 二 安装依赖 三 修改CUDA版本 四 编译以及报错解决 编译 1 报 undefined reference to cv Mat Mat 的错就按照下面方式改相应包 2 遇到OpenCV的C
  • ros安装qt以及编译ros功能包

    2 添加qt到环境变量 sudo nano usr bin qtcreator bin sh export QT HOME home kexue Qt5 9 9 Tools QtCreator bin QT HOME qtcreator s
  • 自动驾驶轨迹/行为/运动/交通预测综述论文总结

    作者 eyesighting 编辑 汽车人 原文链接 https zhuanlan zhihu com p 664213622 点击下方 卡片 关注 自动驾驶之心 公众号 ADAS巨卷干货 即可获取 点击进入 自动驾驶之心 轨迹预测 技术交
  • RV融合!自动驾驶中基于毫米波雷达视觉融合的3D检测综述

    编辑 汽车人 点击下方 卡片 关注 自动驾驶之心 公众号 ADAS巨卷干货 即可获取 点击进入 自动驾驶之心 多传感器融合 技术交流群 本文只做学术分享 如有侵权 联系删文 自主驾驶在复杂场景下的目标检测任务至关重要 而毫米波雷达和视觉融合
  • CARLA实战 | CARLA文档里都没有的渲染关闭方法被我找到?

    一 前言 大家好 我是自动驾驶打工人白夜 最近我在学习CARLA渲染相关的知识 发现很多小伙伴在进行仿真实验的时候 都希望有一种关闭渲染的方法 于是我决定来分享一下CARLA关闭渲染的几种方法 其中有一种方法 CARLA文档中都没有提到过
  • 高翔博士Faster-LIO论文和算法解析

    说明 题目 Faster LIO 快速激光IMU里程计 参考链接 Faster LIO 快速激光IMU里程计 iVox Faster Lio 智行者高博团队开源的增量式稀疏体素结构 Faster Lio是高翔博士在Fast系列的新作 对标基
  • 自动驾驶离不开的仿真!Carla-Autoware联合仿真全栈教程

    随着自动驾驶技术的不断发展 研发技术人员开始面对一系列复杂挑战 特别是在确保系统安全性 处理复杂交通场景以及优化算法性能等方面 这些挑战中 尤其突出的是所谓的 长尾问题 即那些在实际道路测试中难以遇到的罕见或异常驾驶情况 这些问题暴露了实车

随机推荐

  • 微信小程序首页数据初始化失败的解决方法

    一 问题描述 用户首次后再次进入小程序时 我们通常需要通过获取用户openid或unionid用作唯一标示与后台进行数据交流 初始化用户信息 当我们通过第三方服务器跟微信建立请求时 微信需要用户确认是否公开信息 如图1 从console可以
  • ARM中CPSR的标志位中的C和V

    进位标志和溢出标志 这次大概总结一下进位标志 Carry Flag CF 和溢出标志 Overflow Flag OF 的含义和理解方式 首先明确一点基本认识 处理器本身并不在意也不知道参与算术运算或者逻辑运算的操作数是有符号的还是无符号的
  • 工具类篇-07-往Linux服务器上传文件工具类

    文章目录 1 依赖 2 FTPUtil 1 依赖
  • 光子晶体激光器

    1 分布式反馈DFB 2 布拉格反射DBR 转载于 https www cnblogs com Iknowyou p 7536991 html
  • Linux 网络通信C/S、TCP/IP、Socket 最全详解( 9 ) -【Linux通信架构系列 】

    系列文章目录 点击进入系列文章总目录 C 技能系列 Linux通信架构系列 C 高性能优化编程系列 深入理解软件架构设计系列 高级C 并发线程编程 期待你的关注哦 现在的一切都是为将来的梦想编织翅膀 让梦想在现实中展翅高飞 Now ever
  • html文件如何做成链接,如何将文件做成超链接HTM网页?

    回答 首先先将插入点置于所需插入超链接位置 或选中一个要作为超链接显示的对象 如文本 图片等等 例 将Word文档的文字链接到一张图片 请点击输入图片描述 选中需要链接的文字 鼠标右键点击 超链接 选项 或者点击菜单栏的 插入 超链接 即可
  • 【赠书活动|第三期《Spring Cloud Alibaba核心技术与实战案例》】

    文章目录 特色 内容简介 作者简介 抽奖方式 本期中奖者 特色 不留遗漏 全面覆盖Dubbo核心知识点 直击要害 实战化案例精准定位技术细节 学以致用 精要式演示确保开发 学习不脱节 潜移默化 研磨式知识讲解渗透技术要点 提升效率 垂直式技
  • ore than one file was found with OS independent path 'META-INF/androidx.localbroadcastmanager_localb

    项目 build gradle 的 android节点下新增 packagingOptions exclude META INF androidx localbroadcastmanager localbroadcastmanager ve
  • CVPR无监督/自监督学习(Un/Self-supervised Learning)方向论文学习(附摘要)

    目录 2022CVPR UniVIP A Unified Framework for Self Supervised Visual Pre training 自监督学习 Crafting Better Contrastive Views f
  • larvel 生命周期理解

    参考 https www jianshu com p 08b810b720d9 不能理解服务器容器的强烈推荐这位大佬写的 https www cnblogs com JdsyJ p 12670497 html 今天学习下laravel的生命
  • 星图按转化线索回传对接思路与示例

    一 什么是星图 二 什么是线索转化 三 对接中的一些疑问 四 如何对接开发 五 星图侧如何联调测试 一 什么是星图 抖音星图是抖音电商蓝图下 为品牌方 MCN公司和明星 达人服务并收取分成 在这可以实现订单接收 签约管理 项目汇总 数据查看
  • 数值模拟使用matlab实现案例

    好的 我来为您讲解如何使用MATLAB来进行数值模拟 首先 您需要安装并打开MATLAB软件 然后 您可以在MATLAB的命令窗口中输入您要模拟的数学方程 并使用MATLAB的内置函数和符号进行运算 例如 如果您想对于y x 2进行模拟 您
  • 探索图像处理的利器——OpenCV

    目录 引言 一 OpenCV简介 二 OpenCV的特点 三 OpenCV的应用领域 四 实际案例 结论 引言 在当今信息化的时代 图像处理已经成为了日常生活中不可或缺的一部分 从社交媒体滤镜到自动驾驶系统 图像处理技术的广泛应用正在改变着
  • OpenCV+Mediapipe手势动作捕捉与Unity引擎的结合

    OpenCV Mediapipe手势动作捕捉与Unity引擎的结合 前言 Demo演示 认识Mediapipe 项目环境 手势动作捕捉部分 实时动作捕捉 核心代码 完整代码 Hands py py代码效果 Unity 部分 建模 Unity
  • C语言编程技巧 --- C语言中左移右移与乘除法的比较

    C语言中右移与除法的比较 最近在做项目的时候 遇到了一个有趣的现象 那就是 对于除2的整数次幂的操作而言 为了加快计算速度 一般情况下 会用右移 gt gt 来替代除法 但实际上 在VS中 右移等价于matlab中的floor 地板 操作
  • 登录认证功能的统一拦截技术(过滤器)

    目录 1 前言 2 过滤器 1 说明 2 使用步骤 3 说明示例 4 具体示例 5 过滤器详细说明 3 登录校验的过滤器实现 1 实现流程 2 具体实现 1 前言 前端发起请求 每次都会在请求头中携带JWT令牌到服务端 而服务端需要统一拦截
  • JSON.PARSE() 出现UNEXPECTED END OF JSON INPUT原因是什么怎么解决

    原因 打印出来的数据当中为判断题时数据是空的 当使用JSON parse字符串转数组时 如果里面数据有空 那么就会报错 做一个判断就好了 有才取值 if value var fileList JSON parse value else va
  • zTree 树插件实现全国五级地区点击后加载

    在项目功能中需要录入户籍地和现居住地 为减少用户输入量 将使用树插件选择全国五级地区 输入框输入详细地址 这里优先使用了zTree树插件 为了以后使用学习 在这里进行相关记录 当然在实现过程中参考各大神的文章是必不可少的 可以结合了自己的实
  • RS485利用地址主动仲裁驱动

    源码下载 MAX485 主动竞争驱动 rar C文档类资源 CSDN下载 引入背景 最近在工作中使用了RS485协议 之前虽然知道怎么用 但是实际应用到工程上还是第一次 在使用过程中就涉及到RS485总线的一些架构问题 我们都知道 RS48
  • [carla]关于odometry坐标中的角度坐标系 以及 到地图的映射问题

    1 获取车辆的Odometry原始信息 在carla中 通过订阅 carla ego vecle odometry 可以查看车辆的全局位置信息 例如 gt header seq 118872 stamp secs 5946 nsecs 57