本教程由 臭皮匠机器人 原创。
转载请注明出处。
收到一个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(使用前将#替换为@)