RPLIDAR在ROS下快速上手教程

2023-05-16

​本教程由 臭皮匠机器人 原创。
转载请注明出处。


收到一个RPLidar后,干的第一件事应该是先让雷达跑起来,边做边学是最高效的。

之前写了一篇在windows底下的《RPLIDAR十分钟极速入门教程》,今天将教你在Linux下,用ROS快速上手RPLIDAR。

本教程分四步,RPLidar A1,A2,A3三种型号通用。

第1步,准备ROS环境

系统预备

如果是windows系统,那么可以在虚拟机里安装Ubuntu和ROS。

虚拟机软件可以使用免费的VirtualBox:
VirtualBox下载地址 https://www.virtualbox.org/wiki/Downloads 链接打开后下载windows hosts那一项。

Ubuntu的话请下载官方的干净的版本,安装稳定的16.04版本:
Ubuntu官方镜像 https://www.ubuntu.com/download/alternative-downloads 下载Ubuntu16.04 64bit版

关于如何在虚拟机里运行一个Ubuntu系统,已经有很多教程了,自行搜索即可。

如果你的系统是Linux,同时又是新手,那么仍然推荐安装Ubuntu 16.04 64bit。

安装ROS

记住,请按照如下的步骤一步步来,不宜跳步骤或自己改写法(老司机除外),否则基本会出错,更浪费时间。

首先确保你的系统目前可以正常上网。然后确保你的更新源是用的国内的服务器,要是国外的源,安装过程会奇慢无比。

如图操作,手动选择中国的服务器,我比较习惯选择阿里云的服务器。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
之后需要输入密码,然后reload,会自动更新cache。


然后就可以开始安装ROS了,我们安装较稳定的kinetic版本。

先安装各种依赖:

sudo apt-get install -y python-rosinstall python-rosinstall-generator python-wstool build-essential

然后采用ustc的镜像,以下命令较长,中间是没有换行的,注意完整拷贝。

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'

安装keys:

sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

之后升级

sudo apt-get update

接着安装全部的包,省的以后麻烦:

sudo apt-get install -y ros-kinetic-desktop-full

上面的安装过程较长,耐心等待,完成后执行初始化rosdep:

sudo rosdep init
rosdep update

ROS环境搭建:

echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

这样ROS包算是装好了,但是还需要建立ROS工作空间。

ROS工作空间建立

新建文件夹,比如叫catkin_ws,专门给ros项目用,src下放源文件

mkdir -p ~/catkin_ws/src

虽然src文件夹目前是空的,但是用ros专门的编译工具catkin_make也是可以编译的。
编译要到catkin_ws目录下。

cd ~/catkin_ws/   
catkin_make

等待catkin_make结束。此时工作空间建立了,但是系统还不知道我们的目录是在这里。

source devel/setup.bash

为了以后不要每次都输入上面这个source命令,把该命令写入.bashrc中,这样每次启动terminal就会自动source啦。

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

查看下ROS_PACKAGE_PATH环境变量,看你的工作空间是否正确包含进去了

echo $ROS_PACKAGE_PATH

一般结果显示如图就表明正常了。否则工作空间的过程再做一遍,保证正确。
在这里插入图片描述

第2步,准备RPLIDAR的ROS驱动包

先把RPLIDAR的ROS包放在正确的目录下,一般放到src文件夹下

cd ~/catkin_ws/src

将代码git下来

git clone https://github.com/Slamtec/rplidar_ros.git

然后回到catkin_ws目录编译

cd ..
catkin_make

编译完成后,将会生成对应的rplidar的ros node,这样驱动就算到位了。
在这里插入图片描述

第3步,安装雷达

拿到雷达后,至少会包括一个雷达和一个转接板,A2套装里自带USB线的。
在这里插入图片描述
A3跟A2的附件基本是一样的。A1套装是没有USB线的,需要自备。
在这里插入图片描述
自备的话,记住USB线接口是Micro-B的,这个样子:
在这里插入图片描述
把雷达和转接板接起来,转接板和USB线接起来,先不要将USB口插到电脑上。
在这里插入图片描述
在这里插入图片描述
注意,A3雷达需要将转接板上的小开关拨到256000一档,如图。
在这里插入图片描述

第4步,运行

雷达的接口在系统里会被当成一个串口,在Linux下显示为ttyUSBxx的一个设备,在电脑接上雷达之前,先看下系统里的情况。

ls -l /dev |grep ttyUSB

如果你的系统很干净,也没接别的设备,很可能输完如上命令后,什么也没显示。
如果显示了一些ttyUSB设备,记住他们。

然后接上雷达,如果是虚拟机,记得将雷达的USB接口映射到虚拟机那边去。
然后再看ttyUSB设备:

ls -l /dev |grep ttyUSB

雷达连接正常的话会显示新的设备。例如ttyUSB0。
在这里插入图片描述

记住这个设备号。如果你的设备号不是ttyUSB0的话,请打开Home目录下的,catkin_ws/src/rplidar_ros/launch文件夹,将rplidar.launch打开(A3雷达应打开rplidar_a3.launch文件),找到"<param name=“serial_port” …>"字样一行,将默认的ttyUSB0改为你的设备号

后面我们都假定设备号是ttyUSB0。你需要修改指令为你对应的设备号。

系统默认这个串口是只读的,但是驱动要给雷达发指令,所以需要增加写权限:

sudo chmod 666 /dev/ttyUSB0

如果是A1和A2雷达,直接运行:

roslaunch rplidar_ros view_rplidar.launch

A3的话直接运行:

roslaunch rplidar_ros view_rplidar_a3.launch

正常的话就能看到雷达扫描数据显示在rviz界面当中了:
在这里插入图片描述

可以像通常操作地图一样去操作雷达扫描的那个图,可以放大缩小,移动,调整3D视角等等。

要停止运行的话,在teminal里ctr+c即可了。

后记

对一个初学者来说,在ROS下运行RPLIDAR的难度是较高的,希望本教程能给你有益的帮助。

当然,ROS本身可学习的地方很多,本教程的目标在帮你快速上手,还有很多可以探索的内容。可以前往ROS官方教程,继续学习:
ROS官方教程 http://wiki.ros.org/cn/ROS/Tutorials#A.2BUXZbgw_ROS_.2BUf1lcF6TZVl6Cw-

本教程到此结束啦。臭皮匠机器人将出品更多针对RPLIDAR的教程给您,关注我们哦!


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

RPLIDAR在ROS下快速上手教程 的相关文章

随机推荐

  • sys.stderr.write(f“ERROR: {exc}”)

    https www cjavapy com article 1701
  • 为什么PBFT需要三阶段

    首先 xff0c 第一阶段是预提议 xff08 pre prepare xff09 xff0c 这一阶段的主要原因是使用领导可以降低通信复杂度 xff0c 但是我对其没了解 xff0c 就不瞎说了 接着是提议 xff08 prepare x
  • 文件的自定义包发送接收

    需求 对一个特定的文件进行分片发送 xff0c 构造数据包 xff0c 发送数据包 xff0c 接收数据包并提取有效数据 xff0c 对数据组合还原为原文件 设计 当前 xff0c 基于socket的网络编程已成为当今不可替代的编程方法 x
  • 阿里云服务器图形化界面

    https blog csdn net qq 43264202 article details 119578968
  • 安卓开放端口

    https blog csdn net weixin 39737831 article details 109965587
  • Ubuntu14.04 支持ESM

    https discourse ubuntu com t ubuntu advantage client 21788
  • 开启关闭ICMP

    echo request http www xoxxoo com index index article id 780 html redirect https blog csdn net weixin 39684454 article de
  • AD使用技巧

    AD快捷键 快捷键要处在英文模式的情况下才可以使用 xff1a AD测量快捷键 xff1a R AD对齐快捷键 xff1a A AD切换单位快捷键 xff1a Q AD改变栅格快捷键 xff1a G AD视图配置快捷键 xff1a L AD
  • 多传感器融合框架搭建

    架构 src include apps xff1a 节点文件 front end node cpp 前端节点data pretreat node cpp 数据预处理节点back end node cpp 后端节点loop closing n
  • 多传感器融合框架-ESKF

    架构 基本同图优化框架差不多 内容简述 数据预处理节点 订阅imu原始数据 xff0c gnss原始数据 xff0c 完成数据时间戳同步 点云畸变补偿发布如下消息 畸变补偿后的点云 synced cloudgnss里程计 synced gn
  • OpenCV笔记4.3

    C 43 43 读取目录下所有文件名称 1 包含头文件 96 span class token macro property span class token directive hash span span class token dir
  • 半小时内实现Esp32-Cam模型训练和图像识别

    Esp32 Cam图像识别 一 网页显示视频流1 Linux式例程2 MicroPython式例程步骤1 下载Thonny步骤2 烧录Esp32 Cam固件步骤3 运行相应代码 3 Arduino式例程步骤1 下载Arduino步骤2 安装
  • MANIFOLD 2-G开发 之 利用ROS话题编程实现UART1串口通讯

    目录 MANIFOLD 2 G开发笔记1 项目描述2 遇到的问题3 解决方案4 示例代码5 注意事项6 资源附件6 运行与调试 MANIFOLD 2 G开发笔记 本博客内容将记录MANIFOLD 2 G 开发过程中遇到的问题及解决方案 xf
  • ONOS源码笔记--机制

    app注册 private ApplicationId appId appId 61 coreService registerApplication 34 org onosproject fwd 34 注册应用 xff0c 一般在activ
  • git 本地分支与远程分支关联

    github上已经有master分支 和dev分支 在本地 git checkout b dev 新建并切换到本地dev分支 git pull origin dev 本地分支与远程分支相关联 github上没有dev分支 git check
  • 做设计师还是程序员?一张图你就明白!

    平时大家相安无事 xff0c 可一旦项目滑了水 栽了坑 二重奏就开始没完没了的唱起来了 请看下图 xff1a 你的桌子是有什么 小编反手一摸 xff0c 还好小编的头发还再 你头发呢 xff1f 相信这里有很多学习java的朋友 xff0c
  • 【ROS】动态链接库(.so文件)的生成和调用

    ROS 动态链接库 xff08 so文件 xff09 的生成和使用 引言 xff11 生成so文件 xff12 调用so文件 xff13 运行结果结语 引言 由于项目有涉及到源代码是否交付的选项 xff0c 想着如果不交付源代码 xff0c
  • 用TortoiseGit删除git仓库中的文件/文件夹

    用TortoiseGit删除git仓库中的文件 文件夹 点击删除后出现弹框 xff0c 点击删除 删除后会显示移除一个文件 xff1b 想要还原可以在当前文件夹中右键选择TortoiseGit gt 还原 xff08 revert xff0
  • 02-Jetson Xavier NX 训练自己的yolov4-tiny模型并利用TensorRT完成部署(Python API)

    记录原因 xff1a 因前面完成了yolov4 tiny源码的部署 xff0c 可以跑到50FPS 但那个跑的是别人的模型 xff0c 可以识别80类 xff0c 但是在特定的情况下比如识别螺丝螺帽 xff0c 只需要两种 xff0c 在训
  • RPLIDAR在ROS下快速上手教程

    本教程由 臭皮匠机器人 原创 转载请注明出处 收到一个RPLidar后 xff0c 干的第一件事应该是先让雷达跑起来 xff0c 边做边学是最高效的 之前写了一篇在windows底下的 RPLIDAR十分钟极速入门教程 xff0c 今天将教