【问题解决】 Extrapolation Error: Lookup would require extrapolation -0.044000000s into the future

有时候当配置完move_base各个文件,准备开启move_base节点愉快的进行导航时,打开Rviz,使用2D Nav Goal工具发布了一个目标点,会出现全局规划路径,但机器人不动,开启move_base节点的终端出现以下错误:

[ERROR] [1669281693.716503087, 871.669000000]: Extrapolation Error: Lookup would require extrapolation -0.044000000s into the future.  Requested time 871.665000000 but the latest data is at time 871.621000000, when looking up transform from frame [odom] to frame [map]

[ERROR] [1669281693.716542307, 871.669000000]: Global Frame: odom Plan Frame size 156: map

【问题解决】 Extrapolation Error: Lookup would require extrapolation -0.044000000s into the future_第1张图片

1.两个控制器之间时间不同步

我刚开始以为这个问题是两个控制器之间时间不同步的问题,但仿真平台不存在时间不同步的问题,我在仿真平台跑也出现了上图错误,于是排除时间不同步的可能。

关于时间不同步问题的解决可查看这篇文章。

2.修改代价地图配置参数 

网上找了一圈也没解决,最后我分析了一下这个错误,感觉跟坐标变换和时间戳有关,下面那个错误又提到Global Frame,odom Plan Frame这些关键词,我怀疑是move_base的配置文件中哪个坐标系配置错了,或者坐标变换发布频率不一致。

经过分析后,需要做以下配置:

这是move_base的启动节点,需要对框出来的两个跟代价地图配置有关的文件进行配置:

【问题解决】 Extrapolation Error: Lookup would require extrapolation -0.044000000s into the future_第2张图片

 局部代价地图中,主要是前三项,update_frequency的数值要和其他几个频率一致,这里的global_frame一定要是odom

【问题解决】 Extrapolation Error: Lookup would require extrapolation -0.044000000s into the future_第3张图片

全局代价地图中,也是前三项,update_frequency的数值要和其他几个频率一致,这里的global_frame是map

【问题解决】 Extrapolation Error: Lookup would require extrapolation -0.044000000s into the future_第4张图片


到这为止,修改完应该可以进行导航了,但是当进行实物小车导航时,可能会出现如下错误:

【问题解决】 Extrapolation Error: Lookup would require extrapolation -0.044000000s into the future_第5张图片

这个可能是footprint参数设置的格式不对,正确的格式应该是一个数组,对应的文件在costmap_common_params.yaml,代价地图基本常规文件中,在move_base启动launch文件中一般是前两个。

【问题解决】 Extrapolation Error: Lookup would require extrapolation -0.044000000s into the future_第6张图片

如果是圆形底盘就配置robot_radius参数(半径),如果是多边形底盘,就配置footprint参数

【问题解决】 Extrapolation Error: Lookup would require extrapolation -0.044000000s into the future_第7张图片

如果这样还不能解决的话,可以更新升级一下move_base功能包

sudo apt-get upgrade

 

你可能感兴趣的:(问题解决,ros,slam,机器人)