配置Livox-Mid360激光雷达
前面讲解了Livox-aiva,这里也是差不多流程:下载SDK以及ROS包
首先连接网线到电脑进行配置,设置有线网卡ip为192.168.1.50
sudo ifconfig enp49s0 192.168.1.50
测试ping雷达,一般为192.168.1.1xx(为SN码后两位),我这里是112
ping 192.168.1.112

一 下载编译安装Livox-SDK2
1 .建立工作空间
mkdir -p ~/livoxmid360_ws/src
cd ~/livoxmid360_ws/
catkin_make
source devel/setup.bash
2.下载编译安装Livox-SDK2
git clone https://github.com/Livox-SDK/Livox-SDK2.git
cd Livox-SDK2/
mkdir build
cd build
cmake ..
make
sudo make install

二.ROS驱动代码
1.下载ros包
https://github.com/Livox-SDK/livox_ros_driver2
cd src
git clone https://github.com/Livox-SDK/livox_ros_driver2.git
cd livox_ros_driver2/
./build.sh ROS1

该 build.sh 脚本能够自动完成对ROS1版本相关依赖项的处理及编译操作。
编译完成。
可以在工作空间在做一次编译:
cd ~/livoxmid360_ws
catkin_make
source devel/setup.bash
2.修改ROS 驱动启动脚本中对应的信息
2.1将点云格式设置为PointXYZRTLT,对应参数为xfer_format=0,其位于ROS1的launch文件rviz_MID360.launch中或ROS2的launch文件rviz_MID360_launch.py中。

2.2设置主机ip和雷达ip地址。主机ip是我们上面设置的192.168.1.50。查看雷达包装盒子的sn码,其最后两位即为当前雷达的默认ip地址,即雷达的出厂默认ip地址为192.168.1.112。对应需要设置参数为文件MID360_config.json中的ip。

修改下面的5个ip地址参数

修改完毕之后,重新编译,刷新环境变量,运行测试脚本,可以看到点云数据啦,大功告成!
source devel/setup.bash
roslaunch livox_ros_driver2 rviz_MID360.launch

Livox ros driver 2内部主要参数配置说明
publish_freq:设置点云发布频率。浮点数据类型,推荐值5.0、10.0、20.0、50.0等。最大发布频率为100.0 Hz。
multi_topic:激光雷达设备是否有独立的主题发布点云数据。
0 -- 所有LiDAR设备使用相同的主题发布点云数据
1 -- 每个LiDAR设备都有自己的主题来发布点云数据
xfer_format xfer_:设置点云格式。
0 -- Livox pointcloud2(PointXYZRTLT) 点云格式,即 sensor_msgs/PointCloud2
1 -- Livox定制点云格式,即 livox_ros_driver2/CustomMsg
2 -- PCL 库中的标准 pointcloud2 (pcl :: PointXYZI) 点云格式(仅适用于 ROS),即 sensor_msgs/PointCloud2
Livox_ros_driver2点云数据详细说明
2.1 Livox pointcloud2(PointXYZRTLT)点云格式
反射率(reflectivity)是物体表面材料的固有属性,主要与物体材质有关,不随测量条件变化。
强度(intensity)是激光雷达接收到的实际信号强度,反映了回波信号的综合效果,除了反射率,还受到距离、环境和激光发射功率等的影响。
2.2 Livox定制点云格式
注意:这里 Mid-360 的时间戳格式为 64 位无符号整数,单位为 ns。
std_msgs/Header header # ROS standard message header
uint64 timebase # The time of first point(第一个点的时间戳)
uint32 point_num # Total number of pointclouds
uint8 lidar_id # Lidar device id number(激光雷达设备的ID编号)
uint8[3] rsvd # Reserved use(保留字段,可能用于未来扩展或其他用途)
CustomPoint[] points # Pointcloud data
上述定制数据包中的定制点云(CustomPoint)格式:
uint32 offset_time # offset time relative to the base time(相对于timebase的偏移时间,通常用于时间同步)
float32 x # X axis, unit:m
float32 y # Y axis, unit:m
float32 z # Z axis, unit:m
uint8 reflectivity # reflectivity, 0~255
uint8 tag # livox tag
uint8 line # laser number in lidar
2.3 PCL库中的标准pointcloud2(pcl :: PointXYZI)格式(仅ROS可以发布)
float32 x
float32 y
float32 z
float32 intensity
2.4 点云数据补充介绍
目标反射率:以0至255表示。其中0至150对应反射率介于0至100%的漫反射物体;而151至255对应全反射物体。当被测物体距离Mid-360小于2m时,目标反射率误差可能偏大,仅能用于区分目标为全反射物体还是漫反射物体。
坐标信息:Mid-360的坐标信息可表示为直角坐标系(x,y,z)或球坐标系(r,θ,φ),其直角坐标和球坐标的对应关系如下图所示。如果前方无被探测物体或者被探测物体超出量程范围(例如>100m),在直角坐标系下,点云输出为(0,0,0);在球坐标系下,点云输出为(0,θ,φ)。
标记(Tag):主要指示探测点的其它附加信息。点云标记为 8bit 无符号整数,按照bit划分为几个区域,每个区域表示此探测点的一种属性,其中包括雨雾灰尘、相近物体间的粘连点云等等;其中,置信度表示此探测点的可信程度,一般正常点为0(置信度优);置信度差表示该探测点受相应属性影响较大,探测结果可信度差;如需要,可据此信息对点云进行过滤。标记信息的格式如下:
一个字节(Byte)由 8 位(Bit)组成。
时间戳:Mid-360支持两种时间同步方式:PTP(IEEE 1588v2.0)和 gPTP(IEEE 802.1AS)网络协议同步和GPS同步(一般为秒脉冲PPS+GPRMC)。时间戳格式为 64 位无符号整数,单位为 ns。
更多推荐



所有评论(0)