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.
上 和错误
上
以下针对这两个错误继续修改