提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
毕业设计使用的就是ubuntu16.04,以及Livox mid-40雷达,LOAM Livox算法,在此总结一下环境的配置,算法以及雷达使用,算是为自己的大学生活留下一点最后的痕迹。
一、ubuntu16.04以及ROS Kinetic下载
1.ubuntu16.04下载
我是使用的双系统,所以就不介绍虚拟机上怎么运行的了,我也不太懂。
大体是和这位博主的文章一样(我当时参考的),我用的是ThinkPad E580,win10,后面还有下载后连不上网的问题(泪目)。
其中需要注意的几点,首先,下载镜像的软件我还是推荐Rufus,大家可以去网上下,比较清晰,明朗。(图是摘自这位博主的文章,他的我也做了一些参考)PS.别忘了提前格式化U盘
然后是分出空白磁盘,推荐是多一点,因为你也不知道你做的东西到底要多大,可能会下很多的配置包,以及各种数据库,但也不必200G,然后按照比例区分各模块。分出空白磁盘可以参考这篇文章。
第三点,推荐设置的密码简单一点,三个字母/数字就可以了,因为你在使用ubuntu的时候,比如下载更新组件,设置,启动根权限的很多时候,启动一个终端就要输一次密码,太长了不仅容易输错,还浪费时间。
第四点,就是坑爹的电脑下载后没有网卡驱动,连不了无线网,解决方法就是先连一个有线网,然后参考这篇文章的方法去做。
2.ROS Kinetic下载
提前有一句话要说,如果你也是想使用LOAM-Livox算法的,先更新cmake版本,要不在下载PCL的时候会报错,参考这篇文章。之所以要在这么之前说一下,主要是如果你按照教程删除了cmake,ROS也会完蛋,要重新下。大家更新完之后,别忘了
cmake --version
来确定一下自己的cmake版本。
接下来,大体就是根据 这篇博主的文章下载。
其中大部分人在sudo rosdep init这一步都会出现问题,强烈推荐去搜索鱼香ROS,真滴大佬,这里也给一篇参考。
最后记得一定要试一下小乌龟,祝大家都一次成功!
3.ubuntu重装
在进行实验的过程中,因为环境的配置会出现奇奇怪怪的问题,这样是因为ubuntu的系统是半开源的,你可能不小心误删了什么关键的东西,并且怎么找,上网怎么查,都找不出原因,解决不掉问题,这时候,只能说重装系统解君愁。
但是在重装系统的时候我也踩过一个坑,就是重新格式化磁盘,出现了打不开电脑的问题,最后也是稀里糊涂的在我同学的帮助下解决了这个问题。
后面的重装(没错,我重装了三四次),我都是选择的U盘重装,就是再次插入你前面做好的启动盘(恢复了的可以再做一个),里面会有一个选项是重装,然后再参考第一篇配置。
二、Livox mid-40雷达配置
1.奇特的供电方式
实验室导师给我的雷达组件,什么线都有,就是少了个电源线,并且这个雷达的电源线还很奇特,我去问了大疆的客服,他也说没有存货了,所以我最后把那个连接盒拆开,自己焊了两根线上去,并且找了一个符合供电要求的电压转换器,也算给大家提供一种思路。
2.雷达初始化设置
主要就是参考 这篇文章,大佬写的很详细,然后看看结果图,如果都差不多,那么恭喜,你已经可以成功的使用这个雷达了。
三、LOAM-Livox算法
首先,我要吐槽一下这个算法,虽然确实很nb,但是很多的功能我在复现的时候都没能完成(也可能是我比较菜)
1.LOAM-Livox算法下载
参考这位大佬的文章,我基本没出什么错误,但是在下载前有几个要强调的问题!!!看完再按照大佬的去下载!!
第一点,更新cmake,希望你没有漏掉这一步,要不你会在下载PCL时,漫长的等待后,收到错误提醒,十分搞心态。
第二点,ceres_solver、eigen3、pcl1.9的版本,按照大佬的就可以了,其中ceres_slover是1.14.0,eigen3是3.3.7,PCL是1.9.x,一定要注意版本!!!要不算法也是运行不了的!!
第三点,大佬创建的工作空间名字是loam_ws,实际上github上原作者用的是catkin_ws,所以你在看一些其他大佬的文章是他们启动的catkin_ws其实就是工作空间,不必太纠结。
第四点,在对照更改路径的的时候,一定要找全,有一些可能不太明显。
第五点,获取来自github的资源时,容易连接不上,或者很慢,可以在所需要的链接前加上
https://ghproxy.com/
一般就可以比较顺利的获得资源了。
2.LOAM-Livox算法启动
1.bag包启动:
先开一个终端
cd ~/loam_ws
source ~/loam_ws/devel/setup.bash
roslaunch loam_livox rosbag.launch
再起一个终端
rosbag play xxx.bag
xxx.bag就是你想运行的bag包。
PS.要注意,这必须是通过livox雷达录制的bag包,因为LOAM Livox算法是通过订阅livox雷达的相关节点来获取数据经行处理的,不同雷达获取数据的种类以及节点名都不一样,不能通用。
此外,因为LOAM-Livox算法的处理时间比较慢,这种方法可能是你使用算法的常用方法。
下面是录制bag包的方法:
打开一个终端,启动雷达
cd ws_livox
source ./devel/setup.sh
roslaunch livox_ros_driver livox_lidar_rviz.launch
然后再起一个终端,开启录制
rosbag record -a
ctrl+c结束录制(如果不是这种方式结束,会导致bag包不可用,要经过修复,详情可以去自行去查)
2.实时建图
打开一个终端,启动算法
cd ~/loam_ws
source ~/loam_ws/devel/setup.bash
roslaunch loam_livox livox.launch
再起一个终端,启动雷达
cd ~/ws_livox
source ./devel/setup.sh
roslaunch livox_ros_driver livox_lidar.launch
3.大场景以及回环检测
前面转到工作空间,source一下进行环境配置都是一样的,主要是launch的不一样
cd ~/loam_ws
source ~/loam_ws/devel/setup.bash
roslaunch loam_livox rosbag_largescale.launch
cd ~/loam_ws
source ~/loam_ws/devel/setup.bash
roslaunch loam_livox rosbag_loop_simple.launch
或者
roslaunch loam_livox rosbag_loop.launch
总结
以上就是LOAM Livox算法的主要实现过程了,希望对大家有帮助。
如果有问题可以去CSDN上或者github的LOAM Livox部分的issue区看看有没有与自己问题类似的,多尝试。