一.安装livox的驱动
https://github.com/Livox-SDK/LIO-Livox
二.安装dlo驱动
打开终端:
sudo apt install libomp-dev libpcl-dev libeigen3-dev
打开终端:
首先自己创建一个工作空间并且初始化
cd wordspace
cd src
git clone https://github.com/vectr-ucla/direct_lidar_odometry.git
cd ..
catkin_make
要满足的依赖:
Ubuntu 18.04 or 20.04
- ROS Melodic or Noetic (roscpp, std_msgs, sensor_msgs, geometry_msgs, pcl_ros)
- C++ 14
- CMake >= 3.16.3
- OpenMP >= 4.5
- Point Cloud Library >= 1.10.0
- Eigen >= 3.3.7
若编译失败,考虑依赖是否满足
三.修改lanuch文件
在此目录下找到lauch文件,用编译器打开dlo.lauch文件。
修改以上话题,我的是这样,按道理来说都是这两个话题。如果不确定,可以在摄像头运行时使用
相关命令查询话题
四.转换数据
最开始我跑的时候发现rviz没有点云显示,后来发现livox的点云格式是大疆自己的点云格式,在这里需要转换。如果你用的是livox_ros_driver2能够支持的设备。应该不需要这步。但是horizon是暂不支持livox_ros_driver2和sdk2的。所以需要转换。在这里参考这位大神的方法。
大疆livox定制的格式CustomMsg格式转换pointcloud2_代码多少钱一两的博客-CSDN博客
五.运行设备
1.在livox驱动的目录下运行以下指令
2.再开一个终端在dlo驱动下运行以下指令
source ./devel/setup.bash //更新环境变量
roslaunch direct_lidar_odometry dlo.launch [运行程序]
3.在转换驱动的文件夹下开一个运行
roslaunch livox_repub livox_repub.launch
然后就能在rviz下看到数据显示了。
建图完毕后使用保存以下代码地图
rosrun pcl_ros pointcloud_to_pcd input:=/robot/dlo/map_node/map
六.参数修改
不修改参数的话地图点云会非常地散,可以自己稍做修改,主要是
以下几个参数,使用控制变量法来改变参数。经我的测试来看,submap数字越小点云越密集。但是也有限制,无法很密集。