激光雷达初体验 == 思岚A1M8 + Ubuntu 18.04 + ROS melodic + hector_slam
一、开箱图
型号 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相关推荐
- 2022年11月 Ubuntu 18.04 ROS Melodic 安装教程
2022年11月 Ubuntu 18.04 ROS Melodic 安装教程 测试平台:Ubuntu 18.04 测试时间:2022年11月8日 official link(官方链接): Click ...
- ubuntu 18.04 ROS melodic 尝试 ROS CANOPEN 控制 AGV
官方说明:The current develop branch is melodic-devel, it targets ROS melodic. Needs C++14 compiler. The ...
- Ubuntu 18.04 ROS Melodic安装与卸载
step1. 设置软件源 sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main&q ...
- Ubuntu 18.04 ROS安装
Ubuntu 18.04 ROS安装 前言 ROS 安装一直是个又麻烦又拼人品的事情,本文将以笔者自己的趟坑过程详细记录Ubuntu 18.04 的安装过程 一.安装高版本CMake 二.安装ROS准 ...
- Rtabmap 视觉建图与导航 Ubuntu 18.04 Kobuki
Rtabmap 视觉建图与导航 ROS 部署 创建工作空间 安装Rtabmap RGBD相机配置 Kobuki配置 建图 导航 ROS 部署 请参阅我之前的文章:Ubuntu 18.04 ROS 创建 ...
- ubuntu 18.04 三五分钟即可一键安装ROS系统(亲测有效)
一:一键安装(推荐,三五分钟即可装好) 1.系统换源(如果换过了就不需要这一步) 打开软件和更新弹窗 在Ubuntu软件这里点击右边红色框,选择其他站点 测试完之后选择服务器就行,点击关闭就行. 最后 ...
- 看这里!带你快速体验MindSpore V1.0(For ubuntu 18.04)
摘要: 本文介绍了如何在Ubuntu 18.04上安装CPU版本的MindSpore V1.0.并使用安装好的MindSpore进行了LeNet的模型训练. Part One:引言 在HC2020大会 ...
- Ubuntu 18.04及Snap体验——让Linux入门更简单(转))
https://www.linuxidc.com/Linux/2018-06/152993.htm 初次听说过Linux的时候,是大一计算机课时候老师介绍说除了Windows还有Linux.Unix操 ...
- surface pro3深度linux,Surface Pro 3 安装Ubuntu 18.04 体验
最近把自己的surfacepro3全新安装了Ubuntu 18.04(删除了windows),记录一下 2019-08-02更新: Surface Laptop系列默认安装后不支持自带键盘和触摸板,所 ...
最新文章
- PreparedStatement
- 2019秋第二周学习总结
- python学习(字典、用户输入和while循环)
- manacher最长回文子串
- asp js单步调试_如何使用Chrome的控制台高效的调试Javascript代码?
- 区分基于Ant目标的Gradle任务
- 制作windows启动盘-大于4GB镜像
- coreldraw凹槽_CorelDRAW教程 打造逼真静物写生油画
- 基于SSM的猫头鹰物流网站
- linux设备驱动程序之时钟管理
- 交通流理论3——交通流三大参数
- 各省2002-2017年绿色全要素生产率(超效率SBM、EBM、方向距离函数)
- 监控freeswitch sip信令
- vscode 升级时失败 win10
- cadence打开license manager无法开启,显示并行配置不正确
- [RK3399][Uboot]使用内存映射方式直接控制IO
- java求圆的面积和周长
- 对外汉语偏误语料库_对外汉语偏误
- Java服务端集成支付宝支付SDK
- python文字编辑器推荐_推荐5个常用的文本编辑器
热门文章
- SQLServer RANK() 排名函数、其他相关函数
- SpringBoot+Shiro+Vue实现身份验证
- 图灵直播|《第一行代码》作者郭霖在线Coding,今晚八点,给你留位!
- python outlook calendar_Python读取Outlook的日历
- 手机短信验证码接收平台
- anyRTC - 助力双师课堂
- Apicloud IOS包编译失败原因
- 折半查找判定树的高度-思路分享
- 应用程序使用统计信息 – .NET CORE(C#) WPF界面设计
- 微信小程序 -- textarea输入时,其框顶在手机输入键盘之上