速腾32线激光雷达使用方法

2024-08-24 03:52

本文主要是介绍速腾32线激光雷达使用方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

速腾32线激光雷达 + 12V电源 + 实体机ubuntu22.04 +  ROS2-humble

一、软件安装

mkdir robosense_ws
cd robosense_wsmkdir src && cd src/
git clone https://github.com/RoboSense-LiDAR/rslidar_msg.git
git clone https://github.com/RoboSense-LiDAR/rslidar_sdk.gitcd rslidar_sdk
git submodule init
git submodule update
sudo apt-get update
sudo apt-get install -y libyaml-cpp-dev
sudo apt-get install -y  libpcap-dev
使用 ROS2 编译

(1)在文件CMakeLists.txt之上,将变量COMPILE_METHOD设置为COLCON。

set(COMPILE_METHOD COLCON)

(2)文件package_ros2.xml留着并且重命名为package.xml,将其他的package.xml删掉

(3)回到工作空间根目录,运行以下命令进行编译运行。

先编译 rslidar_msg,编译之后可能需要source install/setup.bash再编译rslidar_sdk

colcon build --packages-select rslidar_msg
colcon build --packages-select rslidar_sdk

二、激光雷达硬件连接

网线另外一端接入电脑

三、电脑网络设置

速腾聚创16线激光雷达出厂默认发送到192.168.1.102

地址:192.168.1.102

子网掩码:255.255.255.0

DNS:223.5.5.5

打开终端输入:

ifconfig

四、测试硬件是否正常连接

ping 192.168.1.200

能ping通!

五、查看数据传输

enp49s0为有线网络设备名

sudo tcpdump -n -i enp49s0

正如上面显示 雷达的IP:192.168.1.200 发送到我们pc配置的固定ip:192.168.1.102 目的端数据包 1248 个字节,则表示雷达数据发送正常!

六、编辑配置文件并测试

common:msg_source: 1                                         #0: not use Lidar#1: packet message comes from online Lidar#2: packet message comes from ROS or ROS2#3: packet message comes from Pcap filesend_packet_ros: true                                #true: Send packets through ROS or ROS2(Used to record packet)send_point_cloud_ros: true                            #true: Send point cloud through ROS or ROS2
lidar:- driver:lidar_type: RS32             #LiDAR type - RS16, RS32, RSBP, RSHELIOS, RSHELIOS_16P, RS128, RS80, RS48, RSP128, RSP80, RSP48, #             RSM1, RSM1_JUMBO, RSM2, RSM3, RSE1, RSMX.msop_port: 6699              #Msop port of lidardifop_port: 7788             #Difop port of lidarstart_angle: 0               #Start angle of point cloudend_angle: 360               #End angle of point cloud wait_for_difop: truemin_distance: 0.2            #Minimum distance of point cloudmax_distance: 200            #Maximum distance of point clouduse_lidar_clock: false       #True--Use the lidar clock as the message timestamp#False-- Use the system clock as the timestamp                        pcap_path: /home/robosense/lidar.pcap #The path of pcap fileros:ros_frame_id: rslidar                           #Frame id of packet message and point cloud messageros_recv_packet_topic: /rslidar_packets          #Topic used to receive lidar packets from ROSros_send_packet_topic: /rslidar_packets          #Topic used to send lidar packets through ROSros_send_point_cloud_topic: /rslidar_points      #Topic used to send point cloud through ROS

七、colcon build 编译:

cd robosense_ws/
colcon build
source install/setup.bash
ros2 launch rslidar_sdk start.py

 

八、rviz2点云如下:

九、雷达点云数据的录包和播放

ros2 topic echo /rslidar_points --no-arr

关于雷达点云的录制和播放

1.录制:ros2 bag record /话题名

ros2 bag record /rslidar_points

然后进入文件夹把名字改了,方便播放时用

2.播放

播放之前可以调用 ros2 bag info + 包名 查看录制的包的信息

播放:

ros2 bag play rosbag2_2024_08_23-20_19_11/

或者

然后打开rviz2, 添加PointCloud2, 然后修改话题名和 Fixed Frame 即可

注意:

电脑的静态IP必须设置成   192.168.1.102     否则报错如下我以为是上面的某个步骤出差,耽误了好几天,经过反复试验发现,设置成其他IP都会报错,只有102能够正常启动雷达

这篇关于速腾32线激光雷达使用方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1101375

相关文章

C++变换迭代器使用方法小结

《C++变换迭代器使用方法小结》本文主要介绍了C++变换迭代器使用方法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1、源码2、代码解析代码解析:transform_iterator1. transform_iterat

C++中std::distance使用方法示例

《C++中std::distance使用方法示例》std::distance是C++标准库中的一个函数,用于计算两个迭代器之间的距离,本文主要介绍了C++中std::distance使用方法示例,具... 目录语法使用方式解释示例输出:其他说明:总结std::distance&n编程bsp;是 C++ 标准

vue使用docxtemplater导出word

《vue使用docxtemplater导出word》docxtemplater是一种邮件合并工具,以编程方式使用并处理条件、循环,并且可以扩展以插入任何内容,下面我们来看看如何使用docxtempl... 目录docxtemplatervue使用docxtemplater导出word安装常用语法 封装导出方

Linux换行符的使用方法详解

《Linux换行符的使用方法详解》本文介绍了Linux中常用的换行符LF及其在文件中的表示,展示了如何使用sed命令替换换行符,并列举了与换行符处理相关的Linux命令,通过代码讲解的非常详细,需要的... 目录简介检测文件中的换行符使用 cat -A 查看换行符使用 od -c 检查字符换行符格式转换将

SpringBoot实现数据库读写分离的3种方法小结

《SpringBoot实现数据库读写分离的3种方法小结》为了提高系统的读写性能和可用性,读写分离是一种经典的数据库架构模式,在SpringBoot应用中,有多种方式可以实现数据库读写分离,本文将介绍三... 目录一、数据库读写分离概述二、方案一:基于AbstractRoutingDataSource实现动态

使用Jackson进行JSON生成与解析的新手指南

《使用Jackson进行JSON生成与解析的新手指南》这篇文章主要为大家详细介绍了如何使用Jackson进行JSON生成与解析处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 核心依赖2. 基础用法2.1 对象转 jsON(序列化)2.2 JSON 转对象(反序列化)3.

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

Elasticsearch 在 Java 中的使用教程

《Elasticsearch在Java中的使用教程》Elasticsearch是一个分布式搜索和分析引擎,基于ApacheLucene构建,能够实现实时数据的存储、搜索、和分析,它广泛应用于全文... 目录1. Elasticsearch 简介2. 环境准备2.1 安装 Elasticsearch2.2 J

使用C#代码在PDF文档中添加、删除和替换图片

《使用C#代码在PDF文档中添加、删除和替换图片》在当今数字化文档处理场景中,动态操作PDF文档中的图像已成为企业级应用开发的核心需求之一,本文将介绍如何在.NET平台使用C#代码在PDF文档中添加、... 目录引言用C#添加图片到PDF文档用C#删除PDF文档中的图片用C#替换PDF文档中的图片引言在当

Java中的String.valueOf()和toString()方法区别小结

《Java中的String.valueOf()和toString()方法区别小结》字符串操作是开发者日常编程任务中不可或缺的一部分,转换为字符串是一种常见需求,其中最常见的就是String.value... 目录String.valueOf()方法方法定义方法实现使用示例使用场景toString()方法方法