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

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

> header: seq: 118872stamp: secs: 5946nsecs:   5720187frame_id: "map"
child_frame_id: "ego_vehicle"
pose: pose: position: x: 96.5346984863y: -188.643692017z: 0.221679911017orientation: x: 1.09737910971e-07y: 5.40849999846e-07z: 0.0368271997411w: 0.999321648599covariance: [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.00358968405948y: -3.63046108104e-06z: 2.80475536936e-07angular: x: 2.17012864219e-05y: -0.000262381265741z: -0.00483244467764covariance: [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度,如图所示:

这里值得注意的是: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​=θ0​−90°
然后,取值范围需要变换到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地图

实际上,图片的上方是东,下发是西,左边是南,右边是北。我们想要使得截取的小地图始终朝向车头方向,就要将图片往反方向旋转相同的角度。

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

  1. python绝对方向角度值_哪个选项是turtle绘图中角度坐标系的绝对0度方向?_学小易找答案...

    [判断题]Internet是网络营销产生的概念基础. [单选题]哪个选项是turtle绘图中角度坐标系的绝对0度方向? [多选题]图中力 F 沿直角坐标轴方向 正交分解 , 在( )轴方向有分力. [ ...

  2. python绝对方向角度值_哪个选项是turtle绘图中角度坐标系的绝对0度方向?

    [单选题]哪个选项是程序的三种基本结构? [简答题]定义一个函数,实现如下功能: 获得用户输入数字N,计算并输出从N开始的5个质数,单行输出,质数间用逗号,分割. [其它]一个整数,它加上100后是一 ...

  3. matlab怎么画三维坐标的二维图,excel怎么画二维坐标表格图(如何在excel中绘制三维坐标系?)...

    在excle中怎么把二维图形变成三维图形 你说的是图表吗,如果是的话就这样操作 excel2007以上版本:选中图表-点击设计选项卡-最左面有更改图表类型-选择合适的类型-确定 excel2003也是 ...

  4. 如何计算已知坐标之间的角度?

    如何计算已知坐标之间的角度? 在二维平面坐标系中,我们经常需要计算两个点之间的角度.本文将介绍如何使用Python程序,根据已知的坐标计算两点间的夹角. 首先,我们需要了解一些数学知识.如果我们已知两 ...

  5. matlab鼠标三维坐标点,请问如何用matlab画三维点,已知x,y,z的坐标,在三维坐标系上显示...

    点击查看请问如何用matlab画三维点,已知x,y,z的坐标,在三维坐标系上显示具体信息 答:例如 : X=1,Y=2,Z=3; 代码就是: plot3(1,2,3,'*') grid on%加网格 ...

  6. python坐标转化极坐标_python 坐标系

    广告关闭 提供包括云服务器,云数据库在内的50+款云计算产品.打造一站式的云产品试用服务,助力开发者和企业零门槛上云. 写在前面的话01 今天资源君带大家学习一下python的可视化,何谓可视化呢? ...

  7. ios 图像坐标系_Mac,iOS界面中的三维坐标系

    原文:http://www.tuicool.com/articles/3IbQri 一. 三维坐标系 据说有一次笛卡尔生病了,躺在床上休息,但是他的大脑却没有休息,一只在寻思着通过什么手段把几何图形和 ...

  8. cesium 经纬度绘制点_关于Cesium中的常用坐标系及说明

    Cesium是一个基于JavaScript的开源框架,可用于在浏览器中绘制3D的地球,并在其上绘制地图(支持多种格式的瓦片服务),该框架不需要任何插件支持,但是浏览器必须支持WebGL. Cesium ...

  9. 2.cocos2d-x坐标体系(UI坐标系,GL坐标系,本地坐标,世界坐标,节点坐标)

     openGL & UI坐标体系 OpenGL坐标系:该坐标原点在屏幕左下角,x轴向右,y轴向上.这也就是cocos2dx中用到的坐标系. 屏幕坐标系:该坐标系的原点在屏幕左上角,x轴向右 ...

最新文章

  1. python 读取图片成为一维数组_python+opencv 图像的数组和矩阵操作
  2. [ 一起学React系列 -- 10 ] i18n
  3. 遭遇sal.xls.exe
  4. [Todo] 乐观悲观锁,自旋互斥锁等等
  5. java coin介绍_代码示例中的Java 7:Project Coin
  6. Java中的堆栈和队列
  7. K8S安全军规101:对CNCF最佳实践的扩充
  8. SQL*Loader 详解
  9. JSP页面之前传输 中文乱码
  10. python 购物车程序_Python 购物车程序(文件版)
  11. Windows Server 2016系统高级管理系列-DFS分布式文件系统
  12. VirtualBox虚拟机移到另外一台机器,需要在设置中禁用usb
  13. PHP微信h5棋牌程序制作session共享方案梳理
  14. java计算机毕业设计商店管理系统源码+系统+数据库+lw文档+mybatis+运行部署
  15. 输入日期,查看当天是星期几
  16. Android微信分享之微信项目注册与申请
  17. java证书验证失败_使用certbot证书验证失败
  18. Creo 工程图 尺寸 消失
  19. 教你如何编写游戏外挂
  20. 如何利用eclipse把 class文件打包成java文件

热门文章

  1. 人的一生七八十年,到底该如何度过?
  2. 帝国cms 修改系统自带语言模板文件
  3. 活久见!Linux命令行居然也可以用来查看图像?
  4. MSCKF(一)——四元数的两种表示
  5. oracle 获取第三行,Oracle 11g 第三章知识点总结——单行函数
  6. 7-219 sdut-C语言实验-A+B for Input-Output Practice (不确定次数循环)7-220 sdut-C语言实验——两个数比较
  7. [MODIS数据处理#2]常用的Arcmap内置工具(一)
  8. 【调剂】中国地震局工程力学研究所2022年硕士研究生调剂信息
  9. 小米3刷android 6.0,小米3/4/Note适配Android6.0刷机包链接 注意事项及提取密匙
  10. 【dotnet跨平台】微软昨天宣布正式发布.NET Core RC2和.NET Core SDK Preview 1,还有Entity Framework Core RC2