ROS学习记录:ROS系统中的激光雷达消息包的数据格式

一、在工作空间中输入source ./devel/setup.bash

在这里插入图片描述

二、输入roslaunch wpr_simulation wpb_simple.launch打开机器人仿真环境

在这里插入图片描述

三、机器人仿真环境打开成功

在这里插入图片描述

四、给机器人围上一圈障碍物

在这里插入图片描述

五、再打开一个工作空间终端

在这里插入图片描述

六、输入roslaunch wpr_simulation wpb_rviz.launch打开RViz

在这里插入图片描述

七、RViz打开成功

在这里插入图片描述

八、取消这两个勾

在这里插入图片描述

九、可以看到在机器人周围是一圈红色的点阵,这些点就是激光雷达输出的数据

在这里插入图片描述

十、打开ROS index网站

在这里插入图片描述

十一、搜索sensor_msgs

在这里插入图片描述

十二、找到noetic版本

在这里插入图片描述

十三、点击进入

在这里插入图片描述

十四、再点击进入Website网址

在这里插入图片描述

十五、再点击这个LaserScan打开激光雷达数据格式

在这里插入图片描述

十六、这个就是激光雷达消息包的格式定义

在这里插入图片描述

十七、左边是消息包的格式定义

在这里插入图片描述

十八、右边是每个成员变量的注释

在这里插入图片描述

十九、下边是每个成员变量的数据类型

在这里插入图片描述

二十、将注释翻译一下

在这里插入图片描述

二十一、回到ROS,再在工作空间中另开一个终端,输入source ./devel/setup.bash

在这里插入图片描述

二十二、再输入rostopic echo /scan --noarr,显示/scan话题里的消息

在这里插入图片描述

二十三、消息出来了

在这里插入图片描述

二十四、首先第一个Header主要存储的是时间戳坐标系ID,时间戳表示消息包发出的时间

在这里插入图片描述

二十五、angle_minangle_max是激光雷达扫描的起始角度终止角度

在这里插入图片描述

二十六、以这个ROS机器人为例

在这里插入图片描述

二十七、它的激光雷达安装在底盘中心的位置

在这里插入图片描述

二十八、我们在终端里显示它的angle_min起始角度-3.14…,也就是-Π,也就是-180°

在这里插入图片描述

二十九、假设机器人正前方为0°方向

在这里插入图片描述

三十、-180°就是从0°开始顺时针旋转半圈,就是机器人的正后方,这个方向就是机器人雷达扫描的起始角度

在这里插入图片描述

三十一、同理的,angle_max是Π,就是180°,就是从0°开始逆时针旋转半圈,angle_max是机器人激光雷达扫描的终止方向,激光雷达一次完整的扫描就是从angle_min到angle_max

在这里插入图片描述

三十二、angle_incrementtime_increment表示的是两次测距行为之间的角度间隔和时间间隔,激光从激光雷达射出去再反射回来被激光雷达接收这就是一次测距行为

在这里插入图片描述
在这里插入图片描述

三十三、scan_time指的是两次扫描之间的时间间隔,其实就是单次扫描的持续时间,就是激光雷达转一周所耗费的时间

在这里插入图片描述

三十四、range_minrange_max,是这个雷达能够测量的距离范围,只有在范围内的测距值才是有效的

在这里插入图片描述
在这里插入图片描述

三十五、ranges,可以看到里面有个array,说明这是一个数组,数组的成员类型是32位的浮点数,数组的长度是360,说明这里面是360个浮点数

在这里插入图片描述

三十六、这360个浮点数就是激光雷达从起始角度旋转到终止角度这一过程中测量的距离个数,我们的雷达在旋转过程中,每旋转一度,就进行一次测量,所以ranges里的360个浮点数对应的就是每一度方向上障碍物的距离,这360个测距值是按从起始角度到终止角度的顺序进行排列的

在这里插入图片描述

三十七、intensities数组,它也是32位浮点数,长度也是360个,它的数值大小表示的是每一次测距的信号强度,和ranges一一对应,数值越大表示这次测距的信号强度越强,得到的测距数值更可信

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#_var

文章目录 一、前言二、隐式类型的局部变量2.1 var和匿名类型2.2 批注 三、总结 一、前言 C#中有一个 var 类型,不管什么类型的变量,都可以用它接收,实属懒人最爱了。 我没有了解过它的底层,甚至没看过它的说明文档,也…

25W以下室内照明应用解决方案:SM2188EN符合新ERP认证标准

随着LED照明技术的不断发展,室内照明领域的需求也在不断增加。针对25W以下室内照明应用,LED驱动芯片SM2188EN是一款新型的解决方案,符合最新的ERP认证标准,能够满足用户对照明产品高效、节能、稳定的需求。 SM2188EN方案原理图 L…

租房数据分析可视化大屏+58同城 Django框架 大数据毕业设计(附源码)✅

毕业设计:2023-2024年计算机专业毕业设计选题汇总(建议收藏) 毕业设计:2023-2024年最新最全计算机专业毕设选题推荐汇总 🍅感兴趣的可以先收藏起来,点赞、关注不迷路,大家在毕设选题&#xff…

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK修改图像像素格式Mono8或者Mono10(C#)

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK修改图像像素格式Mono8或者Mono10(C#) Baumer工业相机Baumer工业相机的图像像素格式的技术背景CameraExplorer如何查看修改相机图像像素格式信息在NEOAPI SDK里通过函数修改图像像素格式修改像素格式测试演…

Linux/Unix/国产化操作系统常用命令(一)

目录 前言Unix操作系统UNIX与Linux的亲密关系UNIX/Linux系统结构1) 内核层2) Shell层3) 应用层 常见Linux发行版本有哪些1) Red Hat Linux2) Ubuntu Linux3) SuSE Linux4) Gentoo Linux5) 其他 Linux 发行版Linux 发行版本的选择选择CentOS 系统 前言 前段时间到南京出了趟急差…

「MySQL运维常见问题及解决方法」

「MySQL运维常见问题及解决方法」 一、查看MySQL数据库安装路径1.1、方式一 --SHOW VARIABLES LIKE basedir;1.2、方式二 --ps -ef | grep mysql 二、MySQL设置连接数与最大并发数2.1、永久生效--修改my.cnf文件2.2、临时生效--通过命令设置的全局变量 三、其他相关参数设置四、…

服务器被入侵后如何查询连接IP以及防护措施

目前越来越多的服务器被入侵,以及攻击事件频频的发生,像数据被窃取,数据库被篡改,网站被强制跳转到恶意网站上,网站在百度的快照被劫持等等的攻击症状层出不穷,在这些问题中,如何有效、准确地追…

聊一下JVM调优

闲聊一下: 这个JVM 相信大家都了解过 但是很少用这个东西 但是面试 一些高级架构师又是必问的一些问题 之前一直不了解这个东西 感觉就是面试造火箭 实际拧螺丝 用于筛选人才 毕业这么多年 也是很少接触这些 就大学的时候学过 简单了解过一些底层 ,找工…

知识付费小程序系统源码:轻松实现 一站啊运营模式+完整的代码包 附安装部署的矫教程

在当今社会,知识的价值愈发凸显。人们对于优质内容的渴求,使得知识付费市场不断扩大。然而,对于许多内容创作者而言,搭建和维护一个知识付费平台的成本较高,技术门槛也相对较高。下面小编来和大家分享一款知识付费小程…

什么是变量提升?var、let 及 const 区别?什么是暂时性死区?

目录 前言 一、什么是变量提升(hoisting) var使用 为什么要存在变量提升? 二、var、let 及 const 区别? let声明 const声明 var,let ,const区别 三、什么是暂时性死区 四、总结 前言 相信大家在…

Sectigo怎么把多个网站地址改为https

随着电脑以及手机的普及,全世界的人都已经习惯在互联网提问、购物、浏览资讯等,越来越多的用户开始担心自己的信息(银行卡号、电话、支付密码等)被窃取以及篡改。SSL数字证书将http明文传输协议改为https加密传输协议,可以对网站传输信息加密…

基于图论的图像分割 python + PyQt5

数据结构大作业,基于图论中的最小生成树的图像分割。一个很古老的算法,精度远远不如深度学习算法,但是对于代码能力是一个很好的锻炼。 课设要求: ( 1 )输入:图像(例如教室场景图&a…