在 WSL2 下连接 Livox 雷达

Connect Livox Lidar under WSL2

Posted by 陈立憨 on May 2, 2024

建议使用 Flowus 阅读本文(若未失效),以获得最佳阅读体验:在 WSL2 下连接 Livox 雷达

一. Windows 中 设置

配置 Livox 雷达

进入 Windows 控制面板 → 网络和 Internet → 网络和共享中心

1
控制面板\网络和 Internet\网络和共享中心

找到 Livox 雷达的以太网连接

image.png

设置本机 Livox 的 ip

image.png

配置镜像模式网络

可以在 .wslconfig 文件中的 [wsl2] 下设置 networkingMode=mirrored,以启用镜像模式网络。 启用此功能会将 WSL 更改为全新的网络体系结构,其目的是将 Windows 上的网络接口“镜像”到 Linux 中,以添加新的网络功能并提高兼容性。

以下是启用此模式的当前优势:

  • IPv6 支持

  • 使用 localhost 地址 127.0.0.1 从 Linux 内部连接到 Windows 服务器

  • 改进了 VPN 的网络兼容性

  • 多播支持

  • 直接从局域网 (LAN) 连接到 WSL

在用户目录 %USERPROFILE% 下面创建一个配置文件 .wslconfig,写入以下内容:

networkingMode=bridged
vmSwitch=WSLBridge
ipv6=true
dnsTunneling=true
firewall=true
autoProxy=true
[experimental]
networkingMode=mirrored
dnsTunneling=true
firewall=true
autoProxy=true

以管理员身份运行 Windows PowerShell ,输入

Set-NetFirewallHyperVVMSetting -Name ‘{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}’ -DefaultInboundAction Allow

重启 WSL2

wsl --shutdown

二. 在 WSL2 中设置

2.1 Livox 驱动安装

这里以 mid360 为例

  1. 安装 Livox SDK2

     sudo apt install cmake
    
     git clone https://github.com/Livox-SDK/Livox-SDK2.git
     cd ./Livox-SDK2/
     mkdir build
     cd build
     cmake .. && make -j
     sudo make install
    
  2. 安装 Livox ROS Driver 2

     git clone https://github.com/Livox-SDK/livox_ros_driver2.git ws_livox/src/livox_ros_driver2
    
     cd ws_livox/src/livox_ros_driver2
     source /opt/ros/humble/setup.sh
     ./build.sh humble
    

    为了便于启动驱动,可以设置每次启动终端时,自动 source livox_ros_driver2 的工作空间。注意替换 WHERE_YOU_GIT_CLONE

     echo '## livox_ros_driver2' >> ~/.bashrc
     echo 'source source /WHERE_YOU_GIT_CLONE/ws_livox/install/setup.bash' >> ~/.bashrc
    

2.2 在 livox_ros_driver2 中配置 config

  • 修改 cmd_data_ip, push_msg_ipimu_data_ip ,是你的 主机 ip

    修改为 192.168.1.50

  • 修改 lidar_configs 中的 ip,是 livox 雷达的静态 ip

    修改为 192.168.1.1XXXX 为 Livox 雷达机身上 SN 码 的最后两位数字)

  • 修改后如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    
      {
          "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.146",
              "pcl_data_type" : 1,
              "pattern_mode" : 0,
              "extrinsic_parameter" : {
              "roll": 0.0,
              "pitch": 0.0,
              "yaw": 0.0,
              "x": 0,
              "y": 0,
              "z": 0
              }
          }
          ]
      }
    
  • 修改完成后不要忘记再次编译!

三. 测试

  1. 在 Windows cmd 中可以看到 livox 雷达的连接情况

    在 Windows cmd 中可以看到 livox 雷达的连接情况

  2. 进入 WSL2 ,可以看到相同的 Livox 雷达连接情况

    进入 WSL2 ,可以看到相同的 Livox 雷达连接情况

  3. 输入下面这串命令,就可以看到 Livox 的点云啦

     ros2 launch livox_ros_driver2 rviz_MID360_launch.py
    

    运行成功,显示点云消息已发布

    Rviz2 中查看点云