2D激光雷达发送的是什么信息

激光雷达在 ROS2 里发的就是 LaserScan 这一包数据,一共就这些内容

激光雷达最终发出来的数据(完整版)

plaintext

msg.header

msg.angle_min # 扫描起始角度(弧度)

msg.angle_max # 扫描结束角度(弧度)

msg.angle_increment # 每个点之间的角度间隔

msg.time_increment # 两个测量点之间的时间

msg.scan_time # 扫完一整圈的时间

msg.range_min # 最小测距(比如 0.1m)

msg.range_max # 最大测距(比如 12m)

msg.ranges # 距离数组(核心!)

msg.intensities # 反射强度数组(大部分雷达用不上)

真正有用、你代码会用到的只有 4 个

  1. msg.ranges
  • 一堆距离值,单位:米

  • 比如: 0.5, 0.6, 0.58, inf, inf, 1.2, ...

  • 有多少个值,取决于雷达分辨率(一般 180/360/720 个点)

  1. msg.angle_min

雷达开始扫描的角度(弧度)

常见: -π 或 -π/2

  1. msg.angle_max

雷达结束扫描的角度

常见: π 或 π/2

  1. msg.angle_increment

每两个点之间差多少角度

比如 1° 雷达 ≈ 0.0174 rad

用最直白的话讲

雷达转一圈 → 测一堆距离 → 打包成 LaserScan 发给你

你拿到手就是:

一串角度 + 一串距离

你代码里真正用到的只有这几句

python

dist = msg.rangesi # 第 i 个方向的距离

angle = angle_min + i * inc # 第 i 个点对应的角度

相关推荐
张飞飞飞飞飞2 天前
Tmux命令使用教程
linux·服务器·ubuntu
盼小辉丶2 天前
Ubuntu极速部署OpenClaw完全指南(本地模型+DeepSeek)
linux·ubuntu·openclaw
黑白园3 天前
【环境搭建】Ubuntu安装(一)
linux·ubuntu
Moshow郑锴3 天前
Ubuntu用SDKMAN轻松管理多个Java 版本
java·ubuntu·sdkman
error:(3 天前
Ubuntu 22.04 GNOME远程桌面配置问题排查与解决全流程
linux·运维·ubuntu
Java知识技术分享3 天前
在windows上使用wsl安装Ubuntu~linux系统
linux·人工智能·windows·ubuntu
天疆说3 天前
在 Ubuntu 24.04 上安装 MATLAB R2021b
数据库·ubuntu·matlab
Clang's Blog3 天前
Ubuntu(20.04/22.04/24.04)国内环境一键安装 Docker、JDK17 和 Maven
ubuntu·docker·maven
izcll3 天前
ubuntu系统安装软件的方法
linux·运维·ubuntu
天疆说3 天前
在 Ubuntu 的 VSCode 中配置 MATLAB
vscode·ubuntu·matlab