一、开箱图

型号 RPLIDAR A1
配料 激光雷达一台 + usb 转接板一块 + 转接线一条

二、文档和SDK下载 (官网链接)

RPILIDAR A1M8 简介与规格书 Datasheet
RPILIDAR 标准版SDK使用简介
RPILIDAR 通讯接口协议和应用手册 Protocol
在线文档 Online Doc
RPILIDAR A1 开发套装使用手册 User manual
RPILIDAR SDK Github或者镜像
RPILIDAR ROS_SDK Github或者镜像
RPILIDAR ROS WIKI
HECTOR SLAM

三、SDK 安装

官方提供了纯 C++和ROS节点两种形式的SDK,ROS版SDK中已经包含了C++的SDK(版本稍晚),不需要单独下载C++版本的SDK。

这里我们主要使用ROS来测试,从官网的github克隆仓库到我们的ROS工作空间的src下,然后编译工作空间:

cd ~/catkin_ws/src
git clone https://github.com/robopeak/rplidar_ros.git
cd ..
catkin_make

编译完功能包,利用rosrun或者roslaunch的时候,可能出现tab键按下没有提示出我们新增的节点或launch文件的情况,比如上述SDK编译完,输入roslaunch rp然后按tab应该会自动补全剩下的lidar_ros,可是系统没有补全。原因可能有三个:

(1) 没有source setup
(2) 没有加入ros环境变量
(3) 没有更新目录。

前两个问题可以通过编辑 ~/.zshrc(对应zsh)或者 ~/.bashrc (对应bash) 在后面添加如下两条语句来解决,不需要每次在命令行下source。

export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/catkin_ws/src
source ~/catkin_ws/devel/setup.zsh

如果上述已经完成,仍然不能自动补全,使用下面的命令来更新目录:

rospack profile

四、HECTOR SLAM 安装

(1) 使用 apt 安装 hector-slam 包

sudo apt install ros-melodic-hector-slam

(2)或者使用源码安装

cd ~/catkin_ws/src
git clone https://github.com/tu-darmstadt-ros-pkg/hector_slam.git
cd ..
catkin_make

(3)不再需要额外安装驱动的源码链接

git clone https://github.com/zhangwenxiao/HectorSlamWithoutROS.git

重构ros官方hector_slam代码
目的是使hector_slam算法脱离ROS平台

Linux版本:ubuntu14.04
cmake版本:3.9.6

另外需要安装opencv3、boost和Eigen

使用方法:
创建build目录:

mkdir build

进入build,依次执行:

cmake ..
make
./hectorslam

五、launch 文件编写

在~/catkin_ws/src/rplidar_ros/launch/下编写slam.launch文件,然后编译工作空间:

<launch><node pkg="hector_mapping" type="hector_mapping" name="hector_mapping" output="screen">
<!-- Frame names -->
<param name="pub_map_odom_transform" value="true"/>
<param name="map_frame" value="map" />
<param name="base_frame" value="base_link" />
<param name="odom_frame" value="base_link" /><!-- Tf use -->
<param name="use_tf_scan_transformation" value="true"/>
<param name="use_tf_pose_start_estimate" value="false"/><!-- Map size / start point -->
<param name="map_resolution" value="0.05"/>
<param name="map_size" value="2048"/>
<param name="map_start_x" value="0.5"/>
<param name="map_start_y" value="0.5" />
<param name="laser_z_min_value" value = "-1.0" />
<param name="laser_z_max_value" value = "1.0" />
<param name="map_multi_res_levels" value="2" /><param name="map_pub_period" value="2" />
<param name="laser_min_dist" value="0.4" />
<param name="laser_max_dist" value="5.5" />
<param name="output_timing" value="false" />
<param name="pub_map_scanmatch_transform" value="true" />
<!--<param name="tf_map_scanmatch_transform_frame_name" value="scanmatcher_frame" />--><!-- Map update parameters -->
<param name="update_factor_free" value="0.4"/>
<param name="update_factor_occupied" value="0.7" />
<param name="map_update_distance_thresh" value="0.2"/>
<param name="map_update_angle_thresh" value="0.06" /><!-- Advertising config -->
<param name="advertise_map_service" value="true"/>
<param name="scan_subscriber_queue_size" value="5"/>
<param name="scan_topic" value="scan"/>
</node><node pkg="tf" type="static_transform_publisher" name="base_to_laser_broadcaster" args="0 0 0 0 0 0 /base_link /laser 100"/><node pkg="rviz" type="rviz" name="rviz"args="-d $(find hector_slam_launch)/rviz_cfg/mapping_demo.rviz"/></launch>

在~/catkin_ws/src/rplidar_ros/launch/下新建launch文件:

cd ~/catkin_ws/src/rplidar_ros/launch/
touch slam.launch
vim slam.launch

提示1

如果通过github源码编译安装功能包的话,就不需要再利用 sudo apt-get install 的形式进行安装,否则可能会导致索引问题。例如:使用差速轮仿真库arbotix的时候,如果同时安装了源码和apt的包,节点运行时优先索引到了源码下的功能包,然后提示py文件没权限(py文件很多,去挨个赋予权限肯定不是一劳永逸的办法),最后把源码下的包和catkin_ws/share中的编译文件全删除了,仅用apt的包就一点问题没有。如果需要看源码的都用源码安装,如果只是拿来用的就用apt安装。

提示2

主要参考了 Rplidar A1/A2使用及Hector_SLAM建图 和 激光雷达初体验 - Ubuntu 18.04 + 思岚科技 RPLIDAR A1M8 + hector_slam 建图 两篇文章。

六、运行建图节点

提示:

可能需要使用以下命令来连接雷达。

chmod 666 /dev/ttyUSB0

方法一:

首先打开激光雷达节点,然后运行我们刚编写的slam.launch节点。

roslaunch rplidar_ros rplidar.launch
roslaunch rplidar_ros slam.launch

方法二:

使用官方的SDK节点launch文件。注意:一共有三种launch文件,分别是普通xx.launch,test_xx.launch,view_xx.launch,后缀 a3对应a3版本雷达,无后缀的对应a1/a2版本,第一个是纯节点,需要自己查看输出信息,第二个是在命令行窗口直接输出测量数据,第三个是利用rviz展示测量数据。

 roslaunch rplidar_ros view_rplidar.launch

方法三

分别在三个终端执行以下命令

roslaunch rplidar_ros rplidar.launch
roslaunch hector_slam_launch tutorial.launch
rosrun map_server map_saver -f + PATH/FileName

方法四

编写脚本 test.sh 文件,启动执行sh ./test.sh

#!/bin/bash
echo "hector-slam"
roslaunch rplidar_ros rplidar.launch &
sleep 2
roslaunch hector_slam_launch tutorial.launch &
sleep 60   #建图过程中所用的时间可以调整
rosrun map_server map_saver -f PATH/FileName

运行的节点和两个脚本文件,脚本文件用于设置串口及设备,详见ros wiki和源码,rplidarNode节点运行起来,查看节点信息。

roscore
rosrun rplidar_ros rplidarNode
rosnode info /rplidar_node

可以看到,有两个发布话题,无订阅话题,四个服务,另外一个节点是rplidarNodeClient客户端节点,保持上面的节点在运行,同时运行这个客户端接节点,也查看一下节点信息:

rosrun rplidar_ros rplidarNodeClient
rosnode info /rplidar_node_client

看到这个客户端订阅了/scan也就是上一个节点发布的测量数据话题,并且运行这个节点会在命令行输出扫描信息。

首次使用体验基本结束。

激光雷达初体验 == 思岚A1M8 + Ubuntu 18.04 + ROS melodic + hector_slam相关推荐

  1. 2022年11月 Ubuntu 18.04 ROS Melodic 安装教程

    2022年11月 Ubuntu 18.04 ROS Melodic 安装教程 测试平台:Ubuntu 18.04 测试时间:2022年11月8日 official link(官方链接): Click ...

  2. ubuntu 18.04 ROS melodic 尝试 ROS CANOPEN 控制 AGV

    官方说明:The current develop branch is melodic-devel, it targets ROS melodic. Needs C++14 compiler. The ...

  3. Ubuntu 18.04 ROS Melodic安装与卸载

    step1. 设置软件源 sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main&q ...

  4. Ubuntu 18.04 ROS安装

    Ubuntu 18.04 ROS安装 前言 ROS 安装一直是个又麻烦又拼人品的事情,本文将以笔者自己的趟坑过程详细记录Ubuntu 18.04 的安装过程 一.安装高版本CMake 二.安装ROS准 ...

  5. Rtabmap 视觉建图与导航 Ubuntu 18.04 Kobuki

    Rtabmap 视觉建图与导航 ROS 部署 创建工作空间 安装Rtabmap RGBD相机配置 Kobuki配置 建图 导航 ROS 部署 请参阅我之前的文章:Ubuntu 18.04 ROS 创建 ...

  6. ubuntu 18.04 三五分钟即可一键安装ROS系统(亲测有效)

    一:一键安装(推荐,三五分钟即可装好) 1.系统换源(如果换过了就不需要这一步) 打开软件和更新弹窗 在Ubuntu软件这里点击右边红色框,选择其他站点 测试完之后选择服务器就行,点击关闭就行. 最后 ...

  7. 看这里!带你快速体验MindSpore V1.0(For ubuntu 18.04)

    摘要: 本文介绍了如何在Ubuntu 18.04上安装CPU版本的MindSpore V1.0.并使用安装好的MindSpore进行了LeNet的模型训练. Part One:引言 在HC2020大会 ...

  8. Ubuntu 18.04及Snap体验——让Linux入门更简单(转))

    https://www.linuxidc.com/Linux/2018-06/152993.htm 初次听说过Linux的时候,是大一计算机课时候老师介绍说除了Windows还有Linux.Unix操 ...

  9. surface pro3深度linux,Surface Pro 3 安装Ubuntu 18.04 体验

    最近把自己的surfacepro3全新安装了Ubuntu 18.04(删除了windows),记录一下 2019-08-02更新: Surface Laptop系列默认安装后不支持自带键盘和触摸板,所 ...

最新文章

  1. PreparedStatement
  2. 2019秋第二周学习总结
  3. python学习(字典、用户输入和while循环)
  4. manacher最长回文子串
  5. asp js单步调试_如何使用Chrome的控制台高效的调试Javascript代码?
  6. 区分基于Ant目标的Gradle任务
  7. 制作windows启动盘-大于4GB镜像
  8. coreldraw凹槽_CorelDRAW教程 打造逼真静物写生油画
  9. 基于SSM的猫头鹰物流网站
  10. linux设备驱动程序之时钟管理
  11. 交通流理论3——交通流三大参数
  12. 各省2002-2017年绿色全要素生产率(超效率SBM、EBM、方向距离函数)
  13. 监控freeswitch sip信令
  14. vscode 升级时失败 win10
  15. cadence打开license manager无法开启,显示并行配置不正确
  16. [RK3399][Uboot]使用内存映射方式直接控制IO
  17. java求圆的面积和周长
  18. 对外汉语偏误语料库_对外汉语偏误
  19. Java服务端集成支付宝支付SDK
  20. python文字编辑器推荐_推荐5个常用的文本编辑器

热门文章

  1. SQLServer RANK() 排名函数、其他相关函数
  2. SpringBoot+Shiro+Vue实现身份验证
  3. 图灵直播|《第一行代码》作者郭霖在线Coding,今晚八点,给你留位!
  4. python outlook calendar_Python读取Outlook的日历
  5. 手机短信验证码接收平台
  6. anyRTC - 助力双师课堂
  7. Apicloud IOS包编译失败原因
  8. 折半查找判定树的高度-思路分享
  9. 应用程序使用统计信息 – .NET CORE(C#) WPF界面设计
  10. 微信小程序 -- textarea输入时,其框顶在手机输入键盘之上