小车导航不能移动问题汇总

服务器 0

rviz上:

问题1: Timed out waiting for transform from base_link to map to become available before running costmap, tf error: canTransform: target_frame map does not exist.. canTransform returned after 258.542 timeout was 0.1.

[ WARN] [1681534519.809184202, 258.542000000]: Timed out waiting for transform from base_link to map to become available before running costmap, tf error: canTransform: target_frame map does not exist.. canTransform returned after 258.542 timeout was 0.1.

解决方法:

问题2:global_costmap: Parameter "plugins" not provided, loading pre-Hydro parameters

global_costmap: Parameter "plugins" not provided, loading pre-Hydro parameters

问题3:local_costmap: Parameter "plugins" not provided, loading pre-Hydro parameters

local_costmap: Parameter "plugins" not provided, loading pre-Hydro parameters

解决办法

gazebo上:

问题1:[spawn_model-4] process has finished cleanly

解决办法:

使用终端输入roswtf查看问题显示:

此error解决办法:

使用终端输入rosrun rqt_tf_tree rqt_tf_tree查看tf树知

当前只有odom->base_link,无map->odom->base_link

当前代码段

<param name="base_frame_id"   value="base_link"/>    <node pkg="tf" type="static_transform_publisher" name="fix_map" args="0 0 0 0 0 0 /map /odom 10000" />    

第一次修改代码段

 <param name="base_frame_id"   value="base_link"/>    <node pkg="tf" type="static_transform_publisher" name="fix_map" args="0 0 0 0 0 0 /map /odom 100" />    <node pkg="tf" type="static_transform_publisher" name="fix_odom" args="0 0 0 0 0 0 /odom /base_footprint 100" />    <node pkg="tf" type="static_transform_publisher" name="fix_bl" args="0 0 0 0 0 0 /base_footprint /base_link 100" />

修改后显示错误:

仍为问题123,但新增问题4:

[ WARN] [1681537178.047517876, 268.361000000]: TF_REPEATED_DATA ignoring data with redundant timestamp for frame odom at time 268.461000 according to authority unknown_publisher

roswtf显示错误未改变,tf树

 目前天赋树问题base_footprint没有连接base_link

第二次修改代码段

100频率改为10000 但错误增加过多方向错误

第三次修改

频率均改为40,

<launch>    <node pkg="move_base" type="move_base" respawn="false" name="move_base" output="screen" clear_params="true">        <rosparam file="$(find robot_model)/param/costmap_common_params.yaml" command="load" ns="global_costmap" />        <rosparam file="$(find robot_model)/param/costmap_common_params.yaml" command="load" ns="local_costmap" />        <rosparam file="$(find robot_model)/param/local_costmap_params.yaml" command="load" />        <rosparam file="$(find robot_model)/param/global_costmap_params.yaml" command="load" />        <rosparam file="$(find robot_model)/param/base_local_planner_params.yaml" command="load" />    </node></launch>

以上独立出来,采用包含方式接入path.launch

结果:问题123仍然存在

运行 roswtf 与tf 树之后error仍然存在

 仍为此图,且机器人不停跳动,即使位于原地,排除此原因。

<param name="base_frame_id"   value="base_link"/>    <node pkg="tf" type="static_transform_publisher" name="fix_map" args="0 0 0 0 0 0 /map /odom 40" />    <node pkg="tf" type="static_transform_publisher" name="fix_odom" args="0 0 0 0 0 0 /odom /base_footprint 40" />    <node pkg="tf" type="static_transform_publisher" name="fix_bl" args="0 0 0 0 0 0 /base_footprint /base_link 100" />

问题6:

基于以上代码段时,rviz中的模型小车来回跳动,设置初始位姿,也是来会跳动,

原因:

发现是odom坐标一直在跳动

发生tf冲突,

注释掉baselink 与base footprint坐标转换后仍然跳动

注释掉odom 与base footprint坐标转换后模型不可显示

注释掉map 与odom坐标转换后 仍然跳动且不正常坐标系为 basefootprint 与odom等

第四次修改

将所有机器人基坐标系修改为base_footprint

结果为

仍出现问题123,roswtf错误仍然存在

但tf树顺序 map->odom->base footprint ->base_link显示正常

 rviz中的模型小车仍然来回跳动,设置初始位姿,也是来会跳动

此时只有轮子移动 车身不动odom坐标系依然跳动

原因:  仍然为发生tf冲突

第五次修改(回归最初状态)

去掉所有静态坐标发布代码段

    <node pkg="tf" type="static_transform_publisher" name="fix_map" args="0 0 0 0 0 0 /map /odom 40" />    <node pkg="tf" type="static_transform_publisher" name="fix_odom" args="0 0 0 0 0 0 /odom /base_footprint 40" />    <node pkg="tf" type="static_transform_publisher" name="fix_bl" args="0 0 0 0 0 0 /base_footprint /base_link 100" />

结果:问题123仍然存在 roswtf错误仍然存在 但是小车不再跳动,此时无坐标冲突

但无map坐标接收,tf坐标树上无map(此时基坐标系为base_footprint)

 最初状态时,键盘可以控制小车移动,但无法在rviz上用2D GOAL目标法控制。

5.1增加代码段

    <node pkg="tf" type="static_transform_publisher" name="fix_map" args="0 0 0 0 0 0 /map /odom 40" />

结果:tf树正常显示,但小车跳动  发布tf坐标冲突,小车无法控制

5.2修改map_server代码段

删除

<arg name="map" default="nav.yaml" />

map坐标正常发布,tf坐标树正常但仍显示问题123

总结

问题出在 base_link 与 map

[ WARN] [1681541202.607663386, 258.733000000]: Timed out waiting for transform from base_link to map to become available before running costmap, tf error: canTransform: target_frame map does not exist. canTransform: source_frame base_link does not exist.. canTransform returned after 258.733 timeout was 0.1.

上 和错误

以下针对这两个错误继续修改

也许您对下面的内容还感兴趣: