使用ROS驱动激光雷达YDLIDAR-G4的详细过程总结(教你避开使用的各种坑....)

前言

本人使用的是Ubuntu 20.04 + noetic
激光雷达的型号为YDlidar-G4,其他型号的雷达也可以此为参考


官网的github地址:https://github.com/YDLIDAR/ydlidar_ros2_driver

一、 环境配置

  • 虚拟机VMare的安装
  • Ubuntu的安装
  • ROS的安装

这些在网上都有,一搜一大把这里就不重复说明了


打开终端(ctrl+alt+T),输入roscore查看如下:

请添加图片描述

二 、编译并安装 YDLidar-SDK

ydlidar_ros_driver 取决于 YDLidar-SDK 库。如果从未安装过 YDLidar-SDK 库,或者它已过期,则必须首先安装 YDLidar-SDK 库。

打开终端输入以下内容:(在这个YDLidar-SDK文件夹下的build文件夹,可能需要先自己创建)

git clone https://github.com/YDLIDAR/YDLidar-SDK.git
cd YDLidar-SDK/build
cmake ..
make
sudo make install

以上步骤没有报错之后,插上雷达,输入:

./ydlidar_test

得到测试结果,说明成功安装SDK
请添加图片描述

三、ROS 驱动包安装

1.克隆 github 的 ydlidar_ros_driver 软件包:

git clone https://github.com/YDLIDAR/ydlidar_ros_driver.git
# ydlidar_ws/src/ydlidar_ros_driver

这步很重要,工作空间名在自己的工作空间,或者自己手动把包复制进来

2.构建 ydlidar_ros_driver 软件包

 cd ydlidar_ws
 catkin_make

结果如图,等待搭建完成
请添加图片描述

3.软件包环境设置:

source ./devel/setup.sh

注意:添加永久工作区环境变量。如果每次启动新的 shell 时 ROS 环境变量自动添加到的 bash 会话中,将很方便:

echo "source ~/ydlidar_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc

请添加图片描述

4.确认要确认已设置的软件包路径,回显该 ROS_PACKAGE_PATH 变量。

echo $ROS_PACKAGE_PATH

看到类似以下内容:

请添加图片描述

5.创建串行端口别名

 chmod 0777 src/ydlidar_ros_driver/startup/*
 sudo sh src/ydlidar_ros_driver/startup/initenv.sh

完成上述步骤之后,重新插拔雷达

四、运行 ydlidar_ros_driver

之前的操作都没有错之后,使用启动文件运行 ydlidar_ros_driver的 launch 文件,打开 rviz 查看 G4 扫描结果

roslaunch ydlidar_ros_driver lidar_view.launch

以 G4 雷达为例,若使用其它型号雷达,需将 lidar_view.launch 文件中的 lidar.launch 改为对应的
**.launch 文件。(如使用 G6 雷达,需改成 G6_G7.launch)

扫描结果如下:

在这里插入图片描述

五、遇到的问题

1.从GitHub上下载git clone https://github.com/YDLIDAR/YDLidar-SDK.git时,一直fail
网络问题,一般多试几次就行;我的办法是换一个源,或者在EAI的官网上下载ros的开发包

2.运行launch文件时,有显示rviz但是雷达却没有启动
请添加图片描述
分析:这是由于YDlidar的SDK没有配置好导致的
解决:按步骤再操作一遍,有报错的话上网查吧,总是有各种问题

3.运行launch文件时,出现如下报错
请添加图片描述
分析:这是由于usb接口问题,雷达的接口接到window上,但没有接入虚拟机
解决办法:具体可查看VMware虚拟机连接USB的解决方法

  • 3
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
ROS机器⼈技术 机器⼈技术-rosbag详细使⽤详细使⽤程! 在 ROS 系统中,可以使⽤ bag ⽂件来保存和恢复系统的运⾏状态,⽐如录制雷达和相机话题的 bag 包,然后回放⽤来进⾏联合外参标定。 这⾥记录下我学习官⽅的 rosbag 程的笔记: 我常⽤的⼏个操作 我常⽤的⼏个操作 虽然命令很多,但是我⽬前在⼯作中常⽤的命令就如下⼏个: 1. 录包 录包 录制所有话题: rosbag record -a 录制指定话题,设置 bag 包名: rosbag record -O bag_name.bag /topic1_name /topic2_name /xxx 有时候我录制包不设置名称,默认按照录制结束时间命名: rosbag record /topic1_name /topic2_name /xxx 2. 回放 回放 我常⽤的是以暂停的⽅式启动,防⽌跑掉数据: rosbag play --pause record.bag 你也可以直接回放: rosbag play record.bag 我建图过程中有时会设置以 0.5 倍速回放,也就是以录制频率的⼀半回放: rosbag play -r 0.5 record.bag 回放完后,我⼀般会⽤ rostopic list 查看下发布的主题,确保是我需要的: rostopic list 3. 修复 修复 之前在我们⼩车的 Intel NUC 上录包拷到台式机上回放会报错,提⽰需要 reindex,执⾏⼀下即可,不过数据好像会少⼀些: rosbag reindex xxx.bag 下⾯是完整的 rosbag ⽤法,需要的可以查找下。 ⼀、 ⼀、rosbag 基本作⽤ 基本作⽤ rosbag ⼯具可以录制⼀个包、从⼀个或多个包中重新发布消息、查看⼀个包的基本信息、检查⼀个包的消息定义,基于 Python 表达式过滤 ⼀个包的消息,压缩和解压缩⼀个包以及重建⼀个包的索引。 rosbag ⽬前常⽤的命令如下(fix 和 filter 暂时没有⽤到): record:⽤指定的话题录制⼀个 bag 包 info:显⽰⼀个 bag 包的基本信息,⽐如包含哪些话题 play:回放⼀个或者多个 bag 包 check:检查⼀个 bag 包在当前的系统中是否可以回放和迁移 compress:压缩⼀个或多个 bag 包 decompress:解压缩⼀个或多个 bag 包 reindex:重新索引⼀个或多个损坏 bag 包 我在⽬前项⽬的使⽤中,⽤的最多的就是 record、info 以及 play 功能,先录制想要的话题包,录制完毕检查下包的信息,最后再回放作为 算法的输⼊,下⾯就详细学习下上⾯命令的⽤法。 ⼆、 ⼆、rosbag record 使⽤ record 订阅指定主题并⽣成⼀个 bag ⽂件,其中包含有关这些主题的所有消息,常见⽤法如下。 ⽤指定的话题 topic_names 来录制 bag 包: rosbag record <topic_names> ⽐如录制 rosout、tf、cmd_vel 3 个话题,录制的 bag 包以时间命名: rosbag recoed rosout tf cmd_vel 录制完保存 bag 包名称为 session1 + 时间戳.bag 格式: rosbag record -o session1 /chatter 录制完保存为指定⽂件名 session2_090210.bag: rosbag record -O session2_090210.bag /chatter 录制系统中所有的话题: rosbag record -a 使⽤ -h 查看 record 使⽤⽅法,很多命令都可以⽤这个: rosbag record -h 三、 三、rosbag info rosbag info 显⽰包⽂件内容的可读摘要,包括开始和结束时间,主题及其类型,消息计数、频率以及压缩统计信息,常见⽤法如下: 显⽰⼀个 bag 包的信息: rosbag info name.bag $ rosbag info foo.bag path: foo.bag version: 2.0 duration: 1.2s start: Jun 17 2010 14:24:58.83 (1276809898.83) end: Jun 17 2010 14:25:00.01 (1276809900.01) size: 14.2 KB messages: 119 compression: none [1/1 chunks] types: geometry_msgs/Point [4a842b65f413084dc2b10fb484ea7f17] topics: /points 119 msg
### 回答1: ros-6.44.6-x64-l6-60m.zip是一个文件压缩包的名称。其中,ROS代表RouterOS操作系统,6.44.6代表版本号,x64表示支持64位处理器架构,l6表示该版本为Level 6许可证,60m表示该版本支持最多60个用户连接。 文件压缩包通常用于将多个文件或者文件夹打包成一个单独的文件,以便于存储、传输和共享。对于ros-6.44.6-x64-l6-60m.zip这个压缩包来说,它可能包含了安装RouterOS操作系统所需的一系列文件和文件夹,包括系统的核心文件、配置文件、驱动程序等等。这个压缩包的使用可以方便用户快速安装和部署RouterOS操作系统,同时也提供了一定数量的用户连接许可证。 使用这个压缩包时,我们可以首先将它下载到本地计算机中,然后使用解压缩软件进行解压。解压后,我们可以找到对应的安装文件和许可证文件,按照相关的安装指南进行操作,以完成RouterOS操作系统的安装。在安装完成后,我们可以根据许可证的规定确定最多可以连接的用户数,并进行相应的网络配置和管理,以满足我们的需求。 总而言之,ros-6.44.6-x64-l6-60m.zip是一个用于安装和部署RouterOS操作系统的文件压缩包,它包含了操作系统的相关文件和用户连接许可证。使用这个压缩包可以方便地进行RouterOS的安装和配置工作,以满足我们的网络需求。 ### 回答2: ros-6.44.6-x64-l6-60m.zip是一个文件压缩包的名称。按照命名规则,文件名称中的"ros"可能是指"RouterOS",它是一种基于Linux的操作系统,用于运行于MikroTik路由器设备上。 "6.44.6"是指该压缩包对应RouterOS的版本号。每个版本的RouterOS都有各自的更新和改进。 "x64"表示该版本是64位架构,适用于支持64位操作系统的设备。 "l6"代表该RouterOS版本的许可等级为Level 6。RouterOS有不同的许可等级,每个等级拥有不同的功能和限制。 "60m"可能代表了该版本RouterOS的许可有效期为60个月。RouterOS的许可期限可以根据购买的类型和许可等级而有所不同。 "zip"是一种常见的文件压缩格式,意味着该文件通过压缩算法进行了压缩,以便更有效地存储和传输。 综上所述,"ros-6.44.6-x64-l6-60m.zip"是一份包含RouterOS版本为6.44.6,64位架构,许可等级为Level 6,许可有效期为60个月的压缩文件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值