我是靠谱客的博主 重要八宝粥,最近开发中收集的这篇文章主要介绍rf2o_laser_odometry运行警告Waiting for laser_scans....项目场景:问题描述原因分析:解决方案:,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

项目场景:

rf2o是我们常用的一个功能包,其功能主要就是在缺少轮式里程计的时候用雷达数据计算机器人的运动,模拟一个里程计的功能


问题描述

最近搞rf2o的过程中遇到了一个问题,它老是警告我,会一直输出

[ WARN] [xxxx.xxxx]: Waiting for laser_scans....
[ WARN] [xxxx.xxxx]: Waiting for laser_scans....
[ WARN] [xxxx.xxxx]: Waiting for laser_scans....

原因分析:

一开始我以为rf2o没有正常工作,但是只要设置对了,各种话题数据对上了是正常工作的,这里报错只是因为我们把频率调的太高了。以下是当时我们的rf2o配置

<launch>

    <node pkg="rf2o_laser_odometry" type="rf2o_laser_odometry_node" name="rf2o_laser_odometry" >
        <param name="laser_scan_topic" value="scan"/>        <!-- topic where the lidar scans are being published -->
        <param name="base_frame_id" value="base_footprint"/>            <!-- frame_id (tf) of the mobile robot base. A tf transform from the laser_frame to the base_frame is mandatory -->
        <param name="odom_topic" value="odom_rf2o" />              # topic where tu publish the odometry estimations
        <param name="publish_tf" value="true" />                   # wheter or not to publish the tf::transform (base->odom)
        <param name="odom_frame_id" value="odom" />                <!-- frame_id (tf) to publish the odometry estimations -->
        <param name="freq" value="20.0"/>   
        <param name="verbose" value="true" />                                  <!-- Execution frequency. See "Planar Odometry from a Radial Laser Scanner. A Range Flow-based Approach. ICRA'16"-->
    </node>

</launch>

其中的频率,也就是<param name="freq" value="20.0"/>太高了,而我的激光雷达数据频率不够高,所有在接受不到的时候会报错


解决方案:

只要把频率降下来就可以了,可以把频率的value值调到10以内都可以

<param name="freq" value="10.0"/>

注意,出现这个警告其实他是正常运行的,可以使用命令监听一下数据

rostopic echo /rf2o_laser_odometry/odom

最后

以上就是重要八宝粥为你收集整理的rf2o_laser_odometry运行警告Waiting for laser_scans....项目场景:问题描述原因分析:解决方案:的全部内容,希望文章能够帮你解决rf2o_laser_odometry运行警告Waiting for laser_scans....项目场景:问题描述原因分析:解决方案:所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部