【学习记录】小车配置Livox雷达记录

本文仅用于记录自己配置小车Livox雷达遇到的问题,和一些注意事项。

1. Livox-SDK2安装

https://github.com/Livox-SDK/Livox-SDK2
mid360使用的是SDK2,因此下载安装SDK2,并按照官方说明进行编译与安装。

2. livox-ros-driver 驱动

livox-ros-driver: https://github.com/Livox-SDK/livox_ros_driver
livox-ros-driver2: https://github.com/Livox-SDK/livox_ros_driver2
官方说2是1的更新。一开始安装了2,但后面配置 lio-livox 时用到了1,因此也把1也装上了。

安装后,

  • 需要修改PC的IP为:192.168.1.50,掩码 255.255.255.0,网关默认为空或192.168.1.1
  • livox的IP为:192.168.1.1xx,其中xx为livox的产品号最后两位。我的是 192.168.1.199
  • 运行ros时,需要先修改/livox_ros_driver2/config/MID360_config.json文件:中的所有ip,为对应的IP。
  • 运行指令,有两个:启动rviz可视化的,和仅发布数据的:
roslaunch livox_ros_driver2 rviz_MID360.launch	# 打开rviz
roslaunch livox_ros_driver2 msg_MID360.launch	# 仅发布数据的

3. LIO-Livox 里程计

3.1 安装依赖项

https://github.com/Livox-SDK/LIO-Livox
需要安装的依赖项包括:cerescmake等,参考官方的readme

cmake
由于安装ceres依赖 CMake 3.16,同依赖的 gflag/glog 等也依赖cmake版本。因此首先更新cmake,这里安装了 cmake 3.20版本。比较漫长。

ceres-solver
安装ceres需要先后安装gflag,glog,eigen等。
同时编译时报错:No rule to make target '/usr/local/cuda‘,因为工控机安装了cuda但没找到对应的编译。
后面虽然export了环境变量,但编译时出现了一堆cuda的报错。因此在cmake时取消了对cuda的依赖:cmake .. -DUSE_CUDA=OFF

其他安装
还需要eigen,PCL等,但工控机之前已经装过了,所以没有重装。

3.2 编译LIO-Livox

修改ceres改版后Manifold的语法
否则编译时报错:error: ‘LocalParameterization’ is not a member of ‘ceres’

ceres::LocalParameterization *quatParam = new ceres::QuaternionParameterization();
// 将上述的内容替换为下面的。这是ceres最近一次更新更换的名称;
ceres::Manifold *quatParam = new ceres::QuaternionManifold();

修改CMakeLists.txt
LIO-Livox/CMakeLists.txt中新增所依赖的 <livox-ros-driver/xxx.h> 头文件的路径(这个头文件是 livox-ros-driver的,这也是为什么安装了driver1):

include_directories(/home/nv/livox_ws/devel/include/livox_ros_driver)

自己没有尝试用 livox_ros_driver2里面的 msg.h 行不行。因为不仅需要改头文件,还需要改代码中的所有namespace,因此懒得修改了。

最后 catkin_make 完成了编译。

# 运行 LIO-Livox,打开rviz界面
roslaunch lio_livox horizon.launch
# 运行 livox 驱动
roslaunch livox_ros_driver2 msg_MID360.launch
#(目测用ros-driver2,和LIO-Livox的driver1的头文件,是兼容的)

猜你喜欢

转载自blog.csdn.net/tfb760/article/details/131686972