mid360的驱动已经适配ros2了接下来是详细的跑通步骤
目录结构:


这个是对应的目录结构
1.跑通livox_sdk
git clone https://github.com/Livox-SDK/Livox-SDK2.git
cd ./Livox-SDK2/
mkdir build
cd build
cmake .. && make -j4
sudo make install
2.跑通livox_ros2_driver
修改

需要把pcakage_ROS2.xml修改成package.xml这样才能被ros2识别

在294到296行添加几行代码
if(NOT LIVOX_INTERFACES_INCLUDE_DIRECTORIES)
set(LIVOX_INTERFACES_INCLUDE_DIRECTORIES "")
endif()
修改mid360_config.json
{
"lidar_summary_info" : {
"lidar_type": 8
},
"MID360": {
"lidar_net_info" : {
"cmd_data_port": 56100,
"push_msg_port": 56200,
"point_data_port": 56300,
"imu_data_port": 56400,
"log_data_port": 56500
},
"host_net_info" : {
"cmd_data_ip" : "192.168.1.50",
"cmd_data_port": 56101,
"push_msg_ip": "192.168.1.50",
"push_msg_port": 56201,
"point_data_ip": "192.168.1.50",
"point_data_port": 56301,
"imu_data_ip" : "192.168.1.50",
"imu_data_port": 56401,
"log_data_ip" : "",
"log_data_port": 56501
}
},
"lidar_configs" : [
{
"ip" : "192.168.1.188",//最后俩位改成自己雷达的sn吗
"pcl_data_type" : 1,
"pattern_mode" : 0,
"extrinsic_parameter" : {
"roll": 0.0,
"pitch": 0.0,
"yaw": 0.0,
"x": 0,
"y": 0,
"z": 0
}
}
]
}
编译指令
cd ~/test2
colcon build --packages-select livox_ros_driver2
参考文章:https://blog.csdn.net/2301_79618994/article/details/146067579?spm=1001.2014.3001.5501
运行指令
cd /home/af/qf
source install/setup.bash
LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
ros2 launch livox_ros_driver2 rviz_MID360_launch.py
运行之后就可以实现获取到点云数据了

遇到的问题:qt冲突
主要是,我使用的海康相机的驱动MVS里面自带qt5的库和rviz的冲突了
解决办法:
#!/bin/bash
# 使用LD_PRELOAD强制加载正确的Qt库来启动RViz
export QT_PLUGIN_PATH=""
export QML2_IMPORT_PATH=""
# 找到系统Qt库的位置
SYSTEM_QTCORE=$(ldconfig -p | grep -m1 libQt5Core.so.5 | awk '{print $NF}')
SYSTEM_QTWIDGETS=$(ldconfig -p | grep -m1 libQt5Widgets.so.5 | awk '{print $NF}')
SYSTEM_QTGUI=$(ldconfig -p | grep -m1 libQt5Gui.so.5 | awk '{print $NF}')
echo "Using system Qt libraries:"
echo "Qt5Core: $SYSTEM_QTCORE"
echo "Qt5Widgets: $SYSTEM_QTWIDGETS"
echo "Qt5Gui: $SYSTEM_QTGUI"
cd /home/af/qf && source /opt/ros/humble/setup.bash
# 设置LD_PRELOAD来强制使用系统Qt库
LD_PRELOAD="$SYSTEM_QTCORE:$SYSTEM_QTWIDGETS:$SYSTEM_QTGUI" \
/opt/ros/humble/lib/rviz2/rviz2 "$@"
改成自己的路径,然后放到.sh文件之后,开始运行,原理就是强制使用系统的qt5的库