1.下载安装SDK和driver2
创建两个虚拟空间:livox_ws和src
将SDK和dirver2下载到src中
安装Livox-SDK2:
git clone https://github.com/Livox-SDK/Livox-SDK2.git
#这样可能下载不下来,那就直接去官方链接下载zip,解压就行,注意对应文件名
cd ./livox_ws/Livox-SDK2/
mkdir build
cd build
cmake .. && make -j
sudo make install
安装livox_ros_driver2:
git clone https://github.com/Livox-SDK/livox_ros2_driver
cd livox_ws/
安装ros:
wget http://fishros.com/install -O fishros && . fishros
2.打开LivoxViewer2(LiDAR Sensors - Livox 下载ubuntu版)
更改雷达ip 子网掩码 网关
(在终端打开livox)
./LivoxViewer2.sh
在设置中更改雷达ip如下:(Lidar IP最后两位改为自己所用雷达设备的S/N码)
3.将/home/rm/Livox-SDK2/livox_ws/install/livox_ros_driver2/share/livox_ros_driver2/config路径中MID360_config.json中的host_net_info后两位改为52 lidar_conflgs中的ip最后两位改为S/N码的最后两位
4.启动rviz2(ros2中一个很重要且实用的数据可视化工具)
如果在启动rviz2时遇到问题(一定要在livox_ros_driver2里面启动rviz2,不然没有雷达点云图)
重新编译工作空间
cd ~/Livox-SDK2/livox_ws
colcon build --symlink-install
source install/setup.bash
重新启动节点
ros2 launch livox_ros_driver2 rviz_MID360_launch.py
安装SDK时遇到错误的解决方法:
通常在这一步会出现错误
cmake .. && make -j
错误原因:1.缺少头文件 <cstdint>
在 /home/rm/Livox-SDK2/sdk_core/logger_handler/file_manager.h
文件中,提示 uint64_t
未定义,并建议包含 <cstdint>
头文件。解决方法是在该文件中添加以下代码:
#include <cstdint>
2. std
命名空间中不存在 uint8_t
和 uint16_t
在 /home/rm/Livox-SDK2/sdk_core/comm/define.h
文件中,多次出现 std::uint8_t
和 std::uint16_t
未定义的错误。uint8_t
和 uint16_t
实际上定义在 <cstdint>
头文件中,但不属于 std
命名空间。解决方法是将相关代码中的 std::uint8_t
和 std::uint16_t
改为 uint8_t
和 uint16_t
,并确保包含了 <cstdint>
头文件。
3. 枚举类定义错误
在 /home/rm/Livox-SDK2/sdk_core/comm/define.h
文件中,改成如下:
enum SyncTimeType : uint8_t {
// 枚举值
};
安装driver2时遇到错误的解决方法:
在这一步遇到错误可以多试几次,可能是网太卡了
git clone https://github.com/Livox-SDK/livox_ros_driver2.git ws_livox/src/livox_ros_driver2