当前位置:   article > 正文

Ubuntu 20.04使用Livox Mid-360_livox mid360 ubuntu20

livox mid360 ubuntu20

参考文章:

Ubuntu 20.04使用Livox mid 360 测试 FAST_LIO-CSDN博客

一:Livox mid 360驱动安装与测试

前言:

Livox mid360需要使用Livox-SDK2,而非Livox-SDK,以及对应的livox_ros_driver2 。

1. 安装Livox-SDK2

参照官方教程:GitHub - Livox-SDK/Livox-SDK2: Drivers for receiving LiDAR data and controlling lidar, support Lidar HAP and Mid-360.

2.在ROS空间下编译安装FAST_LIO源码

2.1. 创建ROS1工程

mkdir livox_ws/src 

2.2 在src文件夹中下载livox_ros_driver2源码

git clone https://github.com/Livox-SDK/livox_ros_driver2.git

3.编译工程

在工程目录的livox_ws/src/livox_ros_driver2使用下面指令编译,不要直接使用catkin_make.

  1. cd src/livox_ros_driver2
  2. ./build.sh ROS1

4. 修改Livox mid360的配置

4.1. 修改电脑IP地址
  建议电脑ip修改为192.168.1.5,否则需要修改下面的配置文件中对应的电脑ip,DNS地址写不写无所谓,网关要改为192.168.1.1。(这里是网络有线那里的ip地址)

4.2. 修改Livox mid360 IP
获取Livox mid360 IP的方式有两种;
4.2.1 通过出厂编号获取  
打开文件livox_ws/src/livox_ros_driver2/config/MID360_config.json。Livox mid360的IP是出厂后已经固定下来的,看它上面的二维码下面的 SN 码 ,后两个数字前面再加一个1,便是其对应的ip。(例如 SN 码后两位数字为26,那它对应的ip就是192.168.1.126)。
4.2.2 通过wireshark工具读取雷达端口ip

查看接受雷达数据的网口:

ifconfig

使用以下命令安装wireshark

sudo apt-get install wireshark

运行wireshark工具

sudo wireshark

修改配置文件,打开打开文件livox_ws/src/livox_ros_driver2/config/MID360_config.json。

  1. {
  2. "lidar_summary_info" : {
  3. "lidar_type": 8
  4. },
  5. "MID360": {
  6. "lidar_net_info" : {
  7. "cmd_data_port": 56100,
  8. "push_msg_port": 56200,
  9. "point_data_port": 56300,
  10. "imu_data_port": 56400,
  11. "log_data_port": 56500
  12. },
  13. "host_net_info" : {
  14. "cmd_data_ip" : "192.168.1.5", # <-这里和修改后的电脑ip一致
  15. "cmd_data_port": 56101,
  16. "push_msg_ip": "192.168.1.5", # <-这里和修改后的电脑ip一致
  17. "push_msg_port": 56201,
  18. "point_data_ip": "192.168.1.5", # <-这里和修改后的电脑ip一致
  19. "point_data_port": 56301,
  20. "imu_data_ip" : "192.168.1.5", # <-这里和修改后的电脑ip一致
  21. "imu_data_port": 56401,
  22. "log_data_ip" : "",
  23. "log_data_port": 56501
  24. }
  25. },
  26. "lidar_configs" : [
  27. {
  28. "ip" : "192.168.1.126", # <-这里是Livox mid360的ip
  29. "pcl_data_type" : 1,
  30. "pattern_mode" : 0,
  31. "extrinsic_parameter" : {
  32. "roll": 0.0,
  33. "pitch": 0.0,
  34. "yaw": 0.0,
  35. "x": 0,
  36. "y": 0,
  37. "z": 0
  38. }
  39. }
  40. ]
  41. }

5.运行测试

打开两个终端,分别运行:

  1. source devel/setup.bash
  2. roslaunch livox_ros_driver2 rviz_MID360.launch

也可以在终端对于话题数据进行打印

  1. rostoptic list
  2. rostoptic echo /livox/lidar

 运行成功截图如下:

二:使用Livox mid360 录制数据包

前言:录制rosbag包之前,需要先使各种传感器处于工作状态,例如Livox mid360需要启动先前安装好的驱动。此外还要确保每个传感器的时间戳同步。

  1. source devel/setup.bash
  2. roslaunch livox_ros_driver2 rviz_MID360.launch

1. 话题录制

1.1 录制所有发布出来的话题,此时默认将话题保存在一个以当时时间戳命名的文件夹中:

rosbag record -a

1.2 录制指定话题

rosbag record /topic1 /topic12 -o out.bag

2. 话题回放

2.1 基本回放

rosbag play <your bagfile name>

2.2 等待一定时间之后发布bag文件中的内容

rosbag play <your bagfile name> -d <delay time>

2.3按一定频率回放,-r选项用来设定消息发布速率,如下面命令则表示以3倍原始速率发布话题

rosbag play -r 3 <your bagfile name>

2.4 回放指定话题

rosbag play <your bagfile name> --topics <topics>

2.5 创建一个除了/tf消息的新包

rosbag filter file.bag file-no-tf.bag "topic != '/tf'"

2.6 重映射topic信息(将out.bag中point_cloud转为velodyne_points)

rosbag play out.bag  /point_cloud:=/velodyne_points

2.7 播放bag并重新生成一个新包

rosbag record -O mahao_1.bag /velodyne_points

2.8 查看bag中对应topic的frame_id

rostopic echo /topic | grep frame_id

注:当播放rosbag包,想要在rviz中查看时,需要将rviz中的Fixed Frame换成bag中对应topic的frame_id

3.数据包截取

在使用rosbag录包的时候,我们有时候只需包中的某一段时间,因此就有必要按时间截取rosbag包。

3.1 在rosbag包目录下启动终端

3.2 按时间截取

rosbag filter 原始包名.bag 截取后的包名.bag  "t.to_sec() > 开始时间 and t.to_sec() < 结束时间"

Exemple:

rosbag filter lidar_zed4.bag lidar_zed4_filter.bag "t.to_sec() > 1641196460.608130 and t.to_sec() < 1641196485.7"

注意:时间是Bag Time,可以在回放rosbag包的时候看到。
 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/597659
推荐阅读
相关标签
  

闽ICP备14008679号