鱼香ROS社区
    • 版块
    • 最新
    • 未解决
    • 已解决
    • 群组
    • 注册
    • 登录
    紧急通知:禁止一切关于政治&VPN翻墙等话题,发现相关帖子会立马删除封号
    提问前必看的发帖注意事项: 社区问答规则(小鱼个人)更新 | 高质量帖子发布指南

    WSL2连接FishBot小车遇到的通信问题及个人解决方案

    已定时 已固定 已锁定 已移动
    FishBot二驱机器人
    fishbot wsl2 连接失败
    3
    4
    1.7k
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • C
      chasexliu
      最后由 编辑

      问题描述

      Win11+WSL2+Ubuntu22.04.5 LTS环境下,无法连接FishBot小车的主控板和雷达版,表现为MicroRos接收不到数据,ros2 node list无节点,雷达板nc -l 8889监听不到端口信息等。

      问题分析

      实质上是网络问题,我在实际中遇到的问题有两点:一是WSL2的网络模式与防火墙问题,二是路由器的双频合一(或多频合一)的设置问题。

      解决方法

      1. 小车若连接路由器,一定要关闭路由器的双频合一功能,并使小车连接2.4G频段。
      2. 打开“网络和Internet设置”,修改当前网络的配置文件类型为专用网络。公用网络的防火墙比较严格。
        fa96f7e8-1b49-4312-bb27-0159cfe855b2-image.png
      3. 修改.wslconfig配置文件,位于C:\Users\<你的用户名>\.wslconfig,没有的话就手动创建一个,WSL2启动时会自动读取。在其中添加以下内容:
      [wsl2]
      networkingMode=mirrored
      dnsTunneling=true
      firewall=true
      autoProxy=true
      

      此处是设置WSL2为镜像网络模式,让WSL2的IP地址与宿主机相同,并告诉WSL允许防火墙规则生效。
      4. 手动放行MicroRos代理的端口,和雷达板需要的端口:
      (1)允许Ping入站:

      New-NetFirewallRule -DisplayName "WSL2 ICMP Inbound" -Direction Inbound -Action Allow -Protocol ICMPv4 -Enabled True
      

      (2)允许 Micro-ROS Agent 端口 (UDP 8888):

      New-NetFirewallRule -DisplayName "Micro-ROS Agent UDP" -Direction Inbound -Action Allow -Protocol UDP -LocalPort 8888 -Enabled True
      

      (3)允许 雷达版 端口 (TCP 8889):

      New-NetFirewallRule -DisplayName "Lidar TCP 8889" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 8889 -Enabled True
      

      放行端口后也是成功接收到了数据。
      以上是我在使用WSL2连接小车时遇到的问题,以及解决的方法,希望对大家有所帮助。

      小鱼小 1 条回复 最后回复 回复 引用 2
      • 小鱼小
        小鱼 技术大佬 @chasexliu
        最后由 编辑

        @chasexliu 👍

        新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

        C 1 条回复 最后回复 回复 引用 0
        • C
          chasexliu @小鱼
          最后由 编辑

          @小鱼 感谢鱼哥😋

          1 条回复 最后回复 回复 引用 0
          • 7795220547
            唐钰小宝
            最后由 编辑

            按照此文章操作,除了路由器双频合一没有关闭(公司的路由器不敢乱动),验证了不用关闭双频合一WSL2也可以接收到MicroRos数据

            1 条回复 最后回复 回复 引用 0
            • 第一个帖子
              最后一个帖子
            皖ICP备16016415号-7
            Powered by NodeBB | 鱼香ROS