多传感器ROS rviz显示,TF转换(如雷达和激光雷达)

这篇具有很好参考价值的文章主要介绍了多传感器ROS rviz显示,TF转换(如雷达和激光雷达)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

当我们拿到不同的传感器时,我们在调试后希望将他们用ros下的rviz显示在同一页面下,相机(image)和单一的传感器显示通常比较简单,往往我们加入两个有空间坐标的传感器会报错,没有转换关系或者xx frame不存在。这是因为在ROS中,我们需要建立一个rf-tree来管理我们的传感器坐标使其统一,拿出某一点就可以得到其在不同坐标系下的坐标。往往传感器的默认frame都不同,这时候我们需要将其统一方能在同一页面显示。

拿到传感器,我们运行其结点/或发布,使用

rostopic list

查看当前发布的话题,看看我们需要现实的话题是否已发布。

例如点云数据,我们查找其frame_id可以通过:

rostopic ehco /xxxx | grep frame_id

这样可以看到显示的frame_id

多传感器ROS rviz显示,TF转换(如雷达和激光雷达)

多传感器ROS rviz显示,TF转换(如雷达和激光雷达)

显然两者处于不同的坐标下未产生联系,这样自然无法显示。

这时最简单的做法就是利用TF官方文档说的

http://wiki.ros.org/tfhttp://wiki.ros.org/tf

rosrun tf static_transform_publisher 0 0 0 0 0 0 base_link rslidar 20
含义:
rosrun tf static_transform_publisher x y z yaw pitch roll frame_id child_frame_id period_in_ms
或者
rosrun tf static_transform_publisher x y z qx qy qz qw frame_id child_frame_id  period_in_ms

这样就可以将rslidar转化为base_link(当然 0 0 0 0 0 0并不是实际情况)

还可以在launch文件中添加:

<launch>
   <node pkg="tf" type="static_transform_publisher" name="link1_broadcaster" args="1 0 0 0 0 0 1 link1_parent link1 100" />
   </launch>

我们可以使用以下指令来查看当前的tf关系:

rosrun tf view_frames

会在当前(terminal打开的)文件夹下生成一个frames.pdf文档,绘制着树状关系。

注意:当发生缺少yaml文件等报错时,往往是由于安装的python版本的问题,找到对应的文件打开,改为对应的python版本如 python2(若安装的是python2.7)或python3。

使用下述命令直接查看树状图与转换关系

rosrun rqt_tf_tree rqt_tf_tree

多传感器ROS rviz显示,TF转换(如雷达和激光雷达)

核对树状关系,rslidar和base_link产生了联系。

通过

rostopic echo /tf -n1

可以输出一次的变换:

多传感器ROS rviz显示,TF转换(如雷达和激光雷达)

-----------------------------------------------------------------------------------------------------------------------

现在我们来说在rviz中显示的问题:

1.运行节点/launch文件;

2.运行tf转换关系;

3.打开rviz,添加tf(点击add->By display type->TF),展开TF可以看到几个frame的转换关系,是否ok;

4.选取共有的(统一的)frame作为世界坐标的Fixed Frame,完成显示;

5.调整显示的点云等大小颜色等特性,保存为.rviz配置文件以便下次方便使用。

多传感器ROS rviz显示,TF转换(如雷达和激光雷达)

完成显示!

推荐学习内容:

ROS中TF(坐标系转换)原理与使用 - 前路有光,初心莫忘 - 博客园

 https://www.youtube.com/watch?v=Ra-nXIfPWdg

https://www.youtube.com/watch?v=dBATvRhvGRI&t=2706s文章来源地址https://www.toymoban.com/news/detail-412513.html

到了这里,关于多传感器ROS rviz显示,TF转换(如雷达和激光雷达)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • STM32学习记录——蓝牙发送数据(手机显示传感器数据)

    文章目录 前言 一、学习目的 二、代码记录         将数据通过蓝牙发送到手机上,是学生学习单片机的必备技能之一,它可以将手机作为简单的上位机,从而使数据直观地展现出来。        蓝牙的初始化、蓝牙接受数据以及蓝牙简单应用的介绍和代码记录,可以看一看下

    2024年02月07日
    浏览(39)
  • MLX90614红外测温传感器使用arduino采集温度数据OLED显示

    点击图片购买 MLX90614是一款由迈来芯公司提供的低成本,无接触温度计。输出数据和物体温度呈线性比例,具有高精度和高分辨率。TO-39金属封装里同时集成了红外感应热电堆探测器芯片MLX81101(温度是通过PTC或是PTAT元件测量)和信号处理专用集成芯片MLX90302,专门用于处理红

    2024年02月03日
    浏览(70)
  • 岩土工程仪器多通道振弦传感器信号转换器应用于隧道安全监测

    岩土工程仪器多通道振弦传感器信号转换器应用于隧道安全监测 多通道振弦传感器信号转换器VTI104_DIN 是轨道安装式振弦传感器信号转换器,可将振弦、温度传感器信号转换为 RS485 数字信号和模拟信号输出,方便的接入已有监测系统。 传感器状态 专用指示灯方便现场安装调

    2024年02月14日
    浏览(42)
  • 第12章 STM32+BH1750光照传感器+OLED模块显示环境光照强度

    今天给大家介绍一块嵌入式毕设中也经常用到的一款传感器——BH1750光照传感器,如下图。 (该传感器的购买链接和代码我已放在资料里,想要资料的同学,评论区留下邮箱即可) 相比光敏传感器,它可以直接输出环境光照强度的数值(范围是0~65535lx),非常适合懒人党,

    2024年02月04日
    浏览(47)
  • 单片机设计:stm32远程水位检测灌溉系统(水泵+电机驱动+OLED显示屏+水位传感器+防水式ds18b20+光敏传感器+按键+WiFi+手机app)

    单片机设计:stm32远程水位检测灌溉系统(水泵+电机驱动+OLED显示屏+水位传感器+防水式ds18b20+光敏传感器+按键+WiFi+手机app) 一、主要功能:    1.水位传感器检测水的高度、光敏传感器检测周围光照强度、ds18b20检测水温 2.0LED、手机app显示当前数据以及阈值 3.手机app远程调节阈值,

    2024年02月05日
    浏览(45)
  • 通过STM32内部ADC将烟雾传感器发送的信号值显示在OLED上

    一.CubeMX配置 首先我们在CubeMX配置ADC1, 设置一个定时器TIM2定时1s采样一次以及刷新一次OLED, 打开IIC用于驱动OLED显示屏。 二.程序 在Keil5中添加好oled的显示库,以及用来显示的函数、初始化函数、清屏函数等。在主程序中初始化oled,并将其清屏。 在定时器中断回调函数中对A

    2024年02月15日
    浏览(45)
  • STM32CubeMX 读取DS18B20温度传感器数据串口打印显示

    本文要做的所有工作标题基本都包括了,读取温度传感器的温度数值,再通过串口打印到串口助手; 好多博主大神的教程我按步骤做了之后总是出现程序不报错并且检测不到传感器的情况,后来找到原因并且修改后调试正常。 我用的是普中科技的实验板,主控芯片为STM3210

    2024年02月05日
    浏览(79)
  • ESP32设备驱动-OLED显示单个或多个DS18B20传感器数据

    在本文中,我们将介绍如何ESP32驱动单个或多个DS18B20传感器,并将DS18B20传感器数据在OLE中显示。 DS18B20 是一种温度传感器,本质上是单线可编程的。 它广泛用于测量存在于硬环境中的化学溶液和物质的温度。 使用此传感器的优势之一是我们只需要 ESP 板上的一个引脚即可传

    2024年02月07日
    浏览(39)
  • 【雕爷学编程】Arduino智能家居之连接到Blynk并实时显示光照传感器数据

    Arduino是一个开放源码的电子原型平台,它可以让你用简单的硬件和软件来创建各种互动的项目。Arduino的核心是一个微控制器板,它可以通过一系列的引脚来连接各种传感器、执行器、显示器等外部设备。Arduino的编程是基于C/C++语言的,你可以使用Arduino IDE(集成开发环境)来

    2024年02月05日
    浏览(37)
  • 【hx717称重传感器采集芯片】双输入通道高精度 24 位模/数(A/D)转换器芯片(附芯片手册)

    以下是官方文档的简介 HX717A/B 采用了海芯科技专利技术,是一款专为高精度电子计量仪表而设计的 24 位 A/D转换器芯片。与同类型其它芯片相比,该芯片集成了包括稳压电源、片内时钟振荡器等其它同类型芯片所需要的外围电路,具有集成度高、响应速度快、抗干扰性强等优

    2024年02月17日
    浏览(60)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包