一、 参考资料
二、ROS
安装过程[参考]
三、激光雷达Livox Horizon
1、安装Livox-SDK[参考]
按照说明进行安装[github地址]
2、安装Livox-ros-driver
按照说明进行安装[github地址]
3、设置静态ip[参考]
我的雷达端ip修改为192.168.2.XXX, 所以电脑端ip改为192.168.2.50
4、验证雷达是否检测到:
./lidar_sample
./lidar_sample_cc -c "1HDDH3200103921" -l
// -l 输出日志
// -c 通过广播代码注册激光雷达单元
5、安装 Livox Viewer
将 PC 与 Livox 设备直连,则需要将 PC 的 IP 类型设置为静态 IP,IP 地址为 192.168.1.2,子网掩码为 255.255.255.0,默认网关为 192.168.1.1
注意:Livox Viewer 0.11.0支持Horizon目前Livox Viewer2不支持
我的IP 地址应设置为192.168.2.2,默认网关为 192.168.2.1
6、Livox Viewer 结果
7、数据采集
①.lvx格式数据采集
连接指定Lidar,并设定记录的点云数据的持续时间为10s
cd ../Livox_SDK/build/sample/lidar_lvx_file
./lidar_lvx_sample -c "此处为已连接的Lidar的15位广播码" -t 10
// [-t] Time to save point cloud to the lvx file.(unit: s)
②.bag格式数据采集
- 前提:已经安装编译好livox_ros_driver驱动
由于Horizon雷达内部集成了IMU,因此使用此方法记录Horizon雷达数据时包含两个Topic:分别是CustomMsg格式的点云数据和sensor_msgs/Imu格式的IMU数据。
//方式一:启动节点并指定特定的雷达
roslaunch livox_ros_driver livox_lidar_rviz.launch bd_list:="1HDDH3200103921"
//方式二:启动节点并指定特定的雷达
//需要在配置文件中配置一下,否则将连接周围所有的雷达
roslaunch livox_ros_driver livox_lidar_rviz.launch
rviz //启动rviz仿真器观察激光雷达
rosbag record -a //记录下的bag会以录制结束时间进行命名
rosbag record -a -O
-a -all //Record all topics.
-O spin //命名为spin.bag
- 启用ros的格式[参考]
roslaunch livox_ros_driver [launch file] [param]
① [param] 为 LiDAR 的广播码,以 LiDAR( 广播码为 0TFDG3B006H2Z11 ) 和 LiDAR ( 广播码为 1HDDG8M00100191 ) 为例,使用的具体命令如下 :
roslaunch livox_ros_driver livox_lidar_rviz.launch bd_list:="0TFDG3B006H2Z11&1HDDG8M00100191"
②如果 [param] 参数项为空,则览沃 ROS 驱动程序会根据配置文件(位于"ws_livox/src/livox_ros_driver/config" 目录下)中的具体配置来连接对应的设备。
- 具体连接规则如下,当配置文件中指定的设备连接状态配置为使能连接时 (true) ,览沃 ROS 驱动程序只会连接该配置文件中指定的设备;
- 当配置文件中指定的设备连接状态全部配置为禁止连接 (false) 时,览沃 ROS 驱动程序会自动连接扫描到的所有设备。
四、格式转换
①.lvx转.bag:
roslaunch livox_ros_driver lvx_to_rosbag.launch lvx_file_path:="lvx数据文件路径"
查看bag包:
roscore
rosrun rviz rviz
rosbag info bag包名 //查看bag包订阅话题
//rviz勾选对应话题
-----
rosbag play bag包名 //播放bag包
②.bag转.pcd
roscore
//由rosbag文件转化而来的每一帧pcd文件,其文件名为当前帧的时间戳
rosrun pcl_ros bag_to_pcd <input_file.bag> <topic> <output_directory>
//pcl_viewer参看pcd文件
pcl_viewer <filename.pcd>
五、报错处理
1、添加环境变量
RLException: [livox_lidar_rviz.launch] is neither a launch file in package [livox_ros_driver] nor is [livox_ros_driver] a launch file name
The traceback for the exception was written to the log file
sudo gedit ~/.bashrc
//添加ros工作目录
source ~/ws_livox/devel/setup.bash
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:~/ws_livox/src
//重启bashrc
source ~/.bashrc