目录
- 一、LeGo-LOAM部署
- 二、速腾聚创激光雷达调试
- 三、将速腾聚创激光雷达连到LeGo-LOAM
- 四、解决LeGo-LOAM不保存pcd地图的问题
一、LeGo-LOAM部署
参考链接:实车部署采用速腾聚创RS16激光雷达的LeGo-LOAM
 LeGO-LOAM初探:原理,安装和测试
 1.gtsam安装(install的过程比较慢,需要耐心等待)
git clone https://bitbucket.org/gtborg/gtsam.git
cd ~/gtsam
mkdir build
cd build
cmake ..
sudo make install
2.下载并编译LeGO-LOAM
mkdir -p slam_ws/src
cd slam_ws/src
git clone https://github.com/RobustFieldAutonomyLab/LeGO-LOAM.git
cd ..
catkin_make
3.数据集试运行
 数据集的百度云地址:https://pan.baidu.com/s/1SkrqfN82il1m6jhkLZT-WA 密码: oqo8
 打开LeGO-LOAM/LeGO-LOAM/launch/run.launch文件,确保/use_sim_time的value为true(在线建图为false,离线建图为true)
 运行lego-loam(黑屏别慌)
source devel/setup.bash
roslaunch lego_loam run.launch
遇到下面的报错
 
 解决办法
 参考链接:运行lego_loam报错[mapOptmization-7] process has died pid 11653, exit code 127, cmd /home/p/legoloam/dev
 在roslaunch之前动态链接库
source devel/setup.bash
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
roslaunch lego_loam run.launch
运行刚刚下载的数据集
source devel/setup.bash
rosbag play xxx.bag --clock --topic /velodyne_points /imu/data

二、速腾聚创激光雷达调试
参考链接:速腾聚创 RoboSense RS-Helios 32线激光雷达使用 LeGO-LOAM 算法建图
 因为RS-lidar默认IP是192.168.1.200,RS-lidar默认可接受数据的IP是192.168.1.102,所以我们将本地ip地址改为192.168.1.102,子网掩码设置为255.255.255.0
 将雷达插上电源,网线与电脑连接后,手动修改ip
 
 然后重启网络连接(网络开关按钮关一下,然后再打开)
 
 下面打开wireshark,发现数据已经通了
sudo wireshark

 下面配置ROS开发环境,ros驱动下载链接:https://github.com/RoboSense-LiDAR/rslidar_sdk/releases
 
 手动下载rslidar_sdk.tar.gz文件
 新建一个工作空间,将下载好的ros驱动解压到该路径下
mkdir -p RoboSense-LiDAR_ws/src
安装参考github上面的教程
 1.安装环境依赖
 安装Yaml(version: >= v0.5.2)
sudo apt-get update
sudo apt-get install -y libyaml-cpp-dev
安装libpcap(version: >= v1.7.4)
sudo apt-get install -y  libpcap-dev
2.编译和运行
 下面以ros形式编译
 (1)在文件CMakeLists.txt的顶部,将变量COMPILE_METHOD设置为CATKIN。
 
 (2)将rslidar_sdk工程目录下的package_ros1.xml文件重命名为package.xml。
 (3)创建一个新的工作区文件夹,并在其中创建一个src文件夹。然后将rslidar_sdk项目放入src文件夹中。(前面已经做过了)
 (4)回到工作区的根目录,运行以下命令进行编译和运行。(如果使用zsh,请将第二个命令替换为source-devel/setup.zsh)。
#编译
cd ~/RoboSense-LiDAR_ws
catkin_make
#运行
source devel/setup.bash
roslaunch rslidar_sdk start.launch
运行后会自动打开一个rviz,rviz中没有雷达点云
 
 后来查看RoboSense-LiDAR_ws/src/rslidar_sdk/doc/howto/how_to_offline_decode_pcap_cn.md里面找到要设置雷达型号
 
 查看雷达的发货清单,发现雷达的型号是RS-Helios,打开RoboSense-LiDAR_ws/src/rslidar_sdk/config/config.yaml文件,将lidar_type改成RSHELIOS
 
 重新编译一下工作空间,运行节点,发现有激光点云信息了
 
三、将速腾聚创激光雷达连到LeGo-LOAM
参考链接:速腾聚创 RoboSense RS-Helios 32线激光雷达使用 LeGO-LOAM 算法建图
 1.下载一个转换包,放在RoboSense-LiDAR_ws/src(与激光雷达的ros驱动路径一致)路径下
cd ~/RoboSense-LiDAR_ws/src
git clone https://github.com/HViktorTsoi/rs_to_velodyne.git
添加launch文件
 新建/rs_to_velodyne/launch文件夹,新建rs_to_velodyne.launch文件,内容如下。(LeGO-LOAM需要的点云格式为XYZIR,args="XYZIRT XYZIR"为转换格式的参数。)
<launch>
  <node pkg="rs_to_velodyne" name="rs_to_velodyne" type="rs_to_velodyne"  args="XYZIRT XYZIR"   output="screen">
  </node>
</launch>
打开RoboSense-LiDAR_ws/src/rslidar_sdk/CMakeLists.txt,确保POINT_TYPE为XYZIRT
 
编译、安装、运行
cd ~/RoboSense-LiDAR_ws
catkin_make
source devel/setup.bash
#运行rs_to_velodyne
roslaunch rs_to_velodyne rs_to_velodyne.launch
#运行ros驱动
roslaunch rslidar_sdk start.launch
订阅topic:/rslidar_points,发布topic:/velodyne_points
 接着打开LeGO-LOAM/LeGO-LOAM/launch/run.launch文件
 
 将/use_sim_time的value改成false(在线建图为false,离线建图为true)
 然后运行lego_loam
source devel/setup.bash
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
roslaunch lego_loam run.launch
rviz中成功出现点云

四、解决LeGo-LOAM不保存pcd地图的问题
首先LeGO-LOAM/路径下新建PCD_Files文件夹,用来保存pcd点云地图
 接着在LeGO-LOAM/LeGO-LOAM/include/utility.h文件中第57行将文件保存路径改成/home/smart_car/slam_ws/src/LeGO-LOAM/PCD_Files/
 
 同样的,在LeGO-LOAM/LeGO-LOAM/src/mapOptmization.cpp中,将visualizeGlobalMapThread()函数里面有三个文件路径改成自己的
 
 运行LeGO-LOAM程序,然后播放ros包,发现目标路径下并没有点云文件保存下来
 解决办法(参考链接:LeGO-LOAM初探:原理,安装和测试):
 经过调试,发现程序进入到publishGlobalMap()函数后没有出来,检查publishGlobalMap()函数,发现下面代码:
if (pubLaserCloudSurround.getNumSubscribers() == 0)
    return;
表明我们需要订阅pubLaserCloudSurround,否则会退出函数,不执行后面的代码,导致globalMapKeyFramesDS为空。
 因此,在运行LeGO-LOAM程序后,手动在rviz中勾选Map Cloud(这个问题是代码更新导致的,具体为https://github.com/RobustFieldAutonomyLab/LeGO-LOAM/blob/master/LeGO-LOAM/launch/test.rviz中Map Cloud由默认的勾选变成不勾选。)
 
 然后播放ros包,播放完毕后然后按ctrl+c退出LeGO-LOAM程序,最终可以在自定义目录下生成四个pcd文件。
 
 使用这个命令安装一下点云工具
sudo apt install pcl-tools
使用下面的命令查看点云图
pcl_viewer finalCloud.pcd


![深度学习应用篇-计算机视觉-视频分类[8]:时间偏移模块(TSM)、TimeSformer无卷积视频分类方法、注意力机制](https://img-blog.csdnimg.cn/img_convert/9aa65dbabf21aa8f30a3b355227a931b.png)















![深度学习应用篇-计算机视觉-OCR光学字符识别[7]:OCR综述、常用CRNN识别方法、DBNet、CTPN检测方法等、评估指标、应用场景](https://img-blog.csdnimg.cn/img_convert/3520ff81c9cf880c20e7d216248b75fa.png)

