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

    ros2 humble版本运行lego-loam

    已定时 已固定 已锁定 已移动 已解决
    综合问题
    ros2 humble 建图 legoloam
    5
    7
    802
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • Z
      zzsquzz
      最后由 编辑

      运行小鱼修改的支持ROS2 Humble的LeGO-LOAM和自己的雷达数据包(话题:/velodyne_points,frame_id:velodyne),rviz2里面没有地图显示c9259f7f-9c51-4f67-a1b2-e4bd1f04e374-be75ff7bf0415484af2c04769e77cf9b.png
      但选上raw velodyne,会出现[rviz2-5] [INFO] [1729237243.945957136] [rviz2]: Message Filter dropping message: frame 'velodyne' at time 1728890797.085 for reason 'discarding message because the queue is full'5265f2f7-140d-4508-9935-9ce386e0db16-141ab90cb108587f34916e9e141df9ea.png

      1 条回复 最后回复 回复 引用 0
      • 3
        3335940794 @3335940794
        最后由 编辑

        @3335940794 我解决了,add上velodyne的pointcloud2就好了

        W X 2 条回复 最后回复 回复 引用 0
        • 小伊小
          机器人小伊
          最后由 编辑

          针对您在使用ROS 2 Humble版本运行Lego-LOAM(特别是小鱼修改的支持ROS 2的版本)时遇到的问题,我们可以从几个方面进行排查和解决:

          1. 确认雷达数据发布和接收

          首先,确保/velodyne_points话题的数据包正在被正确发布,并且Lego-LOAM订阅了这个话题。可以通过ros2 topic list查看当前所有活动的话题,并用ros2 topic info /velodyne_points来查看该话题的详细信息,包括发布者和订阅者。

          2. 检查时间戳和帧ID

          错误信息 [rviz2]: Message Filter dropping message: frame 'velodyne' at time ... for reason 'discarding message because the queue is full' 指出可能的问题在于时间戳或帧ID的处理。

          • 时间戳:确保所有发布的消息都有正确的时间戳。时间戳的跳跃或延迟可能导致消息被过滤或丢弃。
          • 帧ID:确认所有使用的帧ID(如velodyne)在系统中已被定义和同步。您可以在tf2_tree中查看帧的层次结构,使用ros2 run tf2_ros tf2_echo velodyne base_link(假设base_link是您的参考帧)来查看帧之间的转换关系。

          3. 调整消息队列大小

          如果消息队列因为处理不过来而变满,您可以尝试调整相关订阅者的队列大小。在Lego-LOAM的ROS 2节点中,查找相关的订阅器设置,并尝试增加队列大小。这通常在节点的订阅代码中设置,例如:

          rclcpp::Subscription<sensor_msgs::msg::PointCloud2>::SharedPtr sub_pointcloud =
              this->create_subscription<sensor_msgs::msg::PointCloud2>(
              "/velodyne_points",
              rclcpp::QoS(rclcpp::KeepLast(100)).transient_local(),
              std::bind(&LegoLoamNode::pointCloudCallback, this, std::placeholders::_1));
          

          这里,rclcpp::QoS(rclcpp::KeepLast(100)) 设置了队列大小为100。您可以根据需要调整这个值。

          4. 检查CPU和内存使用情况

          高CPU或内存使用率也可能导致消息处理延迟。使用top或htop命令检查系统资源使用情况,确保系统没有过载。

          5. 调试Lego-LOAM

          • 查看日志:使用ros2 topic echo /velodyne_points来实时查看发布的点云数据,确保数据格式和频率符合预期。
          • 调试Lego-LOAM:在Lego-LOAM的节点中添加日志打印,以跟踪数据处理流程中的关键步骤。

          6. RViz2配置

          • 确保在RViz2中正确设置了/velodyne_points话题的显示,包括选择正确的固定帧(如base_link或map)。
          • 检查是否有任何视图或过滤器可能导致显示问题。

          7. 同步问题

          如果上述都正确无误,但问题依旧,可能需要检查是否存在系统时间同步问题。确保所有节点都使用统一的时钟。

          希望这些步骤能帮助您解决问题!如果问题仍然存在,请考虑在Lego-LOAM的GitHub仓库或ROS 2社区中寻求更具体的帮助。


          以上为生成回答,仅供参考~

          我是小伊,已接入ChatGpt,所有回复,仅供参考~

          1 条回复 最后回复 回复 引用 0
          • Z
            zzsquzz
            最后由 编辑

            此回复已被删除!
            1 条回复 最后回复 回复 引用 0
            • 3
              3335940794
              最后由 编辑

              我也出现了这个问题,请问你解决了吗

              3 1 条回复 最后回复 回复 引用 0
              • 3
                3335940794 @3335940794
                最后由 编辑

                @3335940794 我解决了,add上velodyne的pointcloud2就好了

                W X 2 条回复 最后回复 回复 引用 0
                • 小鱼小 小鱼 将这个主题标记为已解决,在
                • W
                  wawaIV @3335940794
                  最后由 编辑

                  @3335940794 请问你在编译gtsam 时有没有报错?我这边一直编译不成功?大佬救救

                  1 条回复 最后回复 回复 引用 0
                  • X
                    XiMaDADADA @3335940794
                    最后由 编辑

                    @3335940794 您好,增加一个velodyne points就直接出地图了?是我操作的不对吗,我勾选velodyne后map还是没有

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