如何在ROS里使用XV-11 激光雷达
apache_cd
apache_cd 7218 0
2016-06-26 13:45
利益相关: 本人为雷达大叔的店 的店主,我们的店里有出售XV-11 LIDAR和相关配件。本篇文章是为了让客户更顺利的使用我们的商品。


最近一直有网友反映,拿到XV-11 Lidar之后,不能在ROS下顺利使用,遇到各种问题,因为xv-11激光雷达并没有很多官方资料,不像国内rplidar,北醒,镭神这样的厂商有技术支持,所以爱好者想调通还是会遇到麻烦。本着对客户负责的态度,特意自己了解了一下ROS里 XV-11 lidar 的使用方法并亲自调通所有环节,分享给大家,希望有所帮助。
在ROS系统中使用XV-11 Lidar 进行SLAM,需要做如下软硬件的准备:

硬件:

  1. xv-11 激光雷达一个  (店里有卖 http://y0.cn/lidar)
  2. USB 转换串口转接线一个 (店里也有卖, 如果自己手头有FT232RL芯片的线也OK, 其他芯片注意不能用)
  3. 调速板一块 (最好有,否则可能因为转速问题ROS不显示数据,马达转速是有差异的)


软件:

  1. Ubuntu 14.04 Desktop 版本 (最好是这个版本,其他版本会遇到兼容问题)
  2. ROS Indigo 版本
  3. XV-11 在 ROS下的驱动

首先我会建议大家用真机进行测试而不用虚拟机,并不是因为性能的差异,我用一台很老的PC也完成了所有步骤。如果使用虚拟机,可能会遇到串口驱动等麻烦,这些不是很必要,如果您很确定虚拟机能支持串口芯片使用虚拟机倒也无妨。
另外最好事先准备一个科学上网利器。这点在整个安装软件的过程会非常有好处。由于某些众所周知的原因,部分软件包会被屏蔽,有科学上网手段可以防止因为软件无法下载卡在某一阶段,也可以加快下载速度。
OK,我们正式开始了。

1. 安装 UBUNTU


Ubuntu 可以直接到官方站点下载ISO即可,刻盘安装, 注意版本是14.04 Desktop 就好。
此处是下载地址:
http://releases.ubuntu.com/14.04/
整个安装过程不赘述,参考屏幕提示即可。

2.安装 ROS


ROS的官方安装教程在此, 我基本也是按照这篇文章安装的
http://wiki.ros.org/indigo/Installation/Ubuntu
在Ubuntu终端内输入

  • sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

  • sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net --recv-key 0xB01FA116

    然后开始更新
     
    sudo apt-get update

    在这里建议大家安装完整版的ROS,如果不是对ROS充分了解可能会缺失必要的工具
    sudo apt-get install ros-indigo-desktop-full

    经过漫长的下载,ROS安装完成.我们开始进行一些设置
    初始化 rosdep

  • sudo rosdep init rosdep update

    环境设置

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

    安装rosinstall

  • sudo apt-get install python-rosinstall

    到此为止 ros基本安装完成了, 但仍然需要设置workspace, 这是后面编译雷达驱动所需要的.创建 catkin workspace 的方法我参考了这篇文章 http://wiki.ros.org/cn/catkin/Tutorials/create_a_workspace

基本是如下几个步骤
让配置生效

  • source /opt/ros/hydro/setup.bash

    在home目录下创建一个catkin的目录, 并且运行初始化的命令

  • mkdir -p ~/catkin_ws/src
    cd ~/catkin_ws/src
    catkin_init_workspace

    到此为止,我们已经完成了ROS的安装,下一步我们开始编译lidar的驱动程序


3 编译雷达驱动程序


这个过程中主要是跟随这篇文章的指导.
http://meetjanez.splet.arnes.si/2015/08/22/neato-xv-11-to-ros-slam/
作者提供的驱动程序是亲测可用的,只是有个细节需要说明,作者写这篇文章的时候,1.x的雷达是主流, (3.3V) 而目前市面上已经几乎绝迹,大部分在销售的时2.6 版本的雷达. 所以在使用驱动的时候,要特别制定使用2.0版本 1.0 和 2.0版本的雷达数据格式是完全不同的.
下面我们开始,下载编译过程
cd ~/catkin_ws/src git clone https://github.com/rohbotics/xv_11_laser_driver.git cd ~/catkin_ws
catkin_make


经过几秒钟的编译,驱动程序已经可以使用了.

4 USB串口转接线驱动


默认Ubuntu14.04 应该是集成了FT232RL芯片的驱动, 如果不放心可以到Arudino的官方下载一个Arudino IDE安装上,里面有这个芯片的驱动,这算一个取巧的方法.
验证驱动是否安装正常的办法, 将转接线查到USB口中,敲入如下命令,查看有没有名叫 ttyUSB0 的设备 (一般都叫这个名字,或许也有不同)
ls /dev/


4 连接硬件,准备开始测试


硬件的连接方法请看这里,可恶的wordpress不能直接贴视频上来.
http://v.youku.com/v_show/id_XMTYxOTMzNzAyNA==.html#paction

5 开始测试


终于要开始测试了.
首先我们要打开三个独立的终端, 三个终端里会分别运行 roscore 机关雷达的publisher 以及 rviz
第一个窗口
cd ~/catkin_ws
source devel/setup.bash
roscore


第二个窗口
cd ~/catkin_ws
source devel/setup.bash
rosrun xv_11_laser_driver neato_laser_publisher _port:=/dev/ttyUSB0 _firmware_version:=2


特别注意使用版本2
第三个窗口
rosrun rviz rviz

三个窗口启动之后大概是这个样子, 注意保持别关闭

接下来我们在rviz里调整配置
我们将 Global Options 下的 Fixed Frame 修改为  /neato_laser

然后点击下方的Add 按钮,在弹出的窗口中选择Topic下的 LaserScan

如果雷达连接正确,此刻我们应该能看到点云了. 如果没出点云或者出现随机的红色点,请看之前硬件连接的说明视频
http://v.youku.com/v_show/id_XMTYxOTMzNzAyNA==.html#paction
实际显示效果(我把点的尺寸调大了)

 
最后给自己做个广告, 本文中所有的硬件我的店里都有售, 欢迎惠顾

雷达大叔的店

分享:
游客
要评论请先登录 或者 注册
 返回顶部