首先在思岚官网下载rplidar_s1的ROS功能包(官网的下载和支持里),新建工作空间catkin_ws/src

接下来安装配置思岚RPLIDAR S1,首先在github上下载它的ROS包。
在工作空间的src下面下载官网ROS包。

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

检查rplidar的串行端口的权限:

ls -l / dev | grep ttyUSB
  • 1

添加写权限:(例如/ dev / ttyUSB0)

chmod 666 / dev / ttyUSB0

启动一个rplidar节点并在rviz中查看扫描结果(点云显示)

#记得启动之前启动roscore
source devel/setup.bash
roslaunch rplidar_ros view_rplidar_s1.launch

 

在前面的章节我们在ROS上测试了思岚RPLIDAR S1的功能以及雷达点云图:
ROS学习08-NVIDIA JETSON TX2安装配置激光雷达-思岚RPLIDAR S1(在Rviz上显示点位图)
但是我们如果要把渲染出来的地图保存出来的话就需要借助gmapping等其他工具了,由于gmapping构建的话相对来说有点复杂,我们这节使用一个简单点的hector_mapping来构建地图。
hector_mapping包安装

sudo apt-get install ros-melodic-hector-slam

创建launch文件
在rplidar_ros/launch/目录下添加hector_mapping_demo.launch文件

vim  hector_mapping_demo.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="rplidar_ros" type="rplidarNode" name="rplidarNode" output="screen">
    <param name="serial_port"         type="string" value="/dev/ttyUSB0"/>
    <param name="serial_baudrate"     type="int"    value="265000"/>
    <param name="frame_id"            type="string" value="laser"/>
    <param name="inverted"            type="bool"   value="false"/>
    <param name="angle_compensate"    type="bool"   value="true"/>
  </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>

(注意:如果使用的激光雷达,不是rplidar_s1,而是rplidar_s2 ,要修改波特率,上文红色字体,修改为1000000)

catkin_make编译完成后记得source

source devel/setup.bash

启动launch文件

roslaunch rplidar_ros hector_mapping_demo.launch

如果没反应的话试试再开一个终端运行一下rplidar_s1.launch文件

roslaunch rplidar_ros rplidar_s1.launch
 

如果要保存地图的话
我们需要使用map_server软件包里的map_saver来保存当前的地图,首先需要保证已经安装了map_server软件包,安装命令如下:

sudo apt-get install ros-melodic-map-server

当安装好map_server后,接下来就可以使用如下命令来保存地图了,在stdr_gmapping的maps目录下执行命令如下:

rosrun map_server map_saver map:=/hector_map -f mymap

所遇问题及解决方法:

一.运行此命令:roslaunch rplidar_ros hector_mapping_demo.launch

报错如下:

Resource not found: hector_slam_launch
ROS path [0]=/opt/ros/melodic/share/ros
ROS path [1]=/home/ytzn/catkin_ws/src
ROS path [2]=/opt/ros/melodic/share
The traceback for the exception was written to the log file

原         因:没有安装hector_mapping 算法

解决方法:

hector_mapping包安装

sudo apt-get install ros-melodic-hector-slam

二.

报错如下:

ERROR: cannot launch node of type [rplidar_ros/rplidarNode]: Cannot locate node of type [rplidarNode] in package [rplidar_ros]. Make sure file exists in package path and permission is set to executable (chmod +x)
原        因:没有编译

方        法:回到工作空间目录下 catkin_make

SLAM+语音机器人DIY系列:(二)ROS入门——9.熟练使用rviz - 小虎哥哥爱学习 - 博客园

Jeson nano + 思岚激光雷达rplidar_s1 + ubuntu18.04相关推荐

  1. 激光雷达初体验 == 思岚A1M8 + Ubuntu 18.04 + ROS melodic + hector_slam

    一.开箱图 型号 RPLIDAR A1 配料 激光雷达一台 + usb 转接板一块 + 转接线一条 二.文档和SDK下载 (官网链接) RPILIDAR A1M8 简介与规格书 Datasheet R ...

  2. jetson nano 思岚雷达A1 QT

    环境 机器 jetson nano 雷达 思岚A1 平台 Linux Ubuntu 18.04 电脑不在身边 手打吧 一.额 准备工作? 先插入雷达的USB 然后应该会在Linux 底下产生一个/de ...

  3. 当“思岚”激光雷达邂逅盲人拐杖

    目前,在全球范围内,超过2.5亿人视力受损.对于视力受损的群体来说,独立外出是一项巨大挑战.不仅需要识别障碍物,避开障碍物,还需要根据障碍物的位置信息做出自主寻路和导航判断. 当说到盲人导航的时候,大 ...

  4. 思岚激光雷达A2M7-R4踩坑记录

    1.惨痛的踩坑记录,啊啊!!!!!!!!!!! 思岚A2M7的激光雷达和普通的A2系列雷达是不一样的,A2系列的波特率大多是115200的波特率,然而A2M7的波特率是256000.然而在ROS包中的 ...

  5. 关于思岚激光雷达在ros包中如何把360度扫描数据切割成想要的扫描平面

    最近入手测试思岚的激光雷达,在测试过程中发现,思岚官网不提供ros应用方面的技术支持,扫描的角度为360度,如果想任意设定角度却没有配置参数的设定,对于应用灵活使用十分痛苦...于是开始十分痛苦的看思 ...

  6. ROS中使用思岚激光雷达进行跟随和Cmakelist.txt讲解

    之前一直在弄ROS小车的底盘和编写底盘的代码,现在把底盘已经弄好了,所以开始编写一些上层的代码和算法,这篇博客主要介绍使用思岚雷达来进行跟随和Cmakelist.txt的讲解,本人注重于手动DIY R ...

  7. 【ROS】jeson nano与windows系统(无虚拟机)分布式通信

    文章目录 前言 一.最终效果 二.分布式通信原理 三.实现 1.首先将电脑和nano板连接到一个局域网下 2.设置环境变量 四.在电脑上装ROS 总结 前言 前一阵一直学c++ ,今天终于算学了个大概 ...

  8. 激光雷达学习笔记-------Ubuntu 18.04 + 思岚科技 A1M8+ ROS 上手使用及基于hector_slam 建图

    一,在虚拟机环境上搭建环境 官方提供了纯 C++和ROS节点两种形式的SDK,ROS版SDK中已经包含了C++的SDK(版本稍晚),不需要单独下载C++版本的SDK. 这里我们主要使用ROS来测试,从 ...

  9. 激光雷达初体验 - Ubuntu 18.04 + 思岚科技 RPLIDAR A1M8 + ROS 上手使用

    思岚科技 RPLIDAR A1M8 + ROS 上手使用 一.开箱图 二.文档和SDK下载 `官网链接` 三.SDK 安装 四.SDK 使用 五.小结 一.开箱图 型号 RPLIDAR A1 配料 激 ...

最新文章

  1. mysql性能优化-慢查询分析、优化索引和配置
  2. PhoneGap与Jquery Mobile结合开发android应用配置
  3. [Android] The connection to adb is down, and a severe error has occured
  4. 设计把所有的奇数移动到所有偶数前面的算法
  5. JBPM中 使用JobExecutor执行timer定义的job
  6. JavaScript 面向对象编程(二) —— 构造函数 / 原型 / 继承 / ES5 新增方法
  7. 1018.eclipse工具使用记录
  8. python 知乎关系图谱_5000行python代码+可视化60W数据,告诉你知乎用户不为人知的事...
  9. 拯救万千学子于水深火热之中!Facebook开源无梯度优化工具
  10. yolov3前向传播(二)-- yolov3相关模块的解析与实现(二)
  11. 《Linux设备驱动开发详解(第3版)》(即《Linux设备驱动开发详解:基于最新的Linux 4.0内核》)前言
  12. oracle oem打不开,oracle10g的oem打不开解决办法
  13. Stolz定理 【补充知识】Stolz(斯托尔茨)定理(详解➕例题)
  14. 如何查看哪些期刊被SCI收录
  15. uniapp微信登录
  16. 用C语言求一元二次方程的解
  17. PAT1020 月饼 分数 25
  18. 纯HTML5+CSS3仿B站播放页
  19. #触摸一体机##五指息屏#
  20. 我的软件销售生涯(一)

热门文章

  1. JAVA I/O流工具类TextFile
  2. 项目实践精解:C#核心技术应用开发
  3. callback回调使用 vue_前端动画必知必会:React 和 Vue 都在用的 FLIP 思想实战
  4. C语言入门题-计算指数 (15分)
  5. svgsprite的svg-sprite-loader在vue中的使用及vue-cli如何配置
  6. Java黑皮书课后题第8章:**8.14(探讨矩阵)编写程序,提示用户输入一个方阵的长度,随机地在矩阵中填入0和1,打印这个矩阵,然后找出整行、整列或者对角线都是1或0的行、列和对角线
  7. Java黑皮书课后题第4章:*4.10(猜测生日)改写程序清单4-3,提示用户输入字符Y代表“是”N代表“否”,代替之前输入1表示“是”,0表示“否
  8. QuickStart系列:docker部署之MariaDB
  9. 自然语言15_Part of Speech Tagging with NLTK
  10. SQL SERVER的连接方式