小鱼 ROS 2 新书上线!点击链接查看, 新书配套视频点击链接查看。
提问前必看的发帖注意事项—— 提问前必看!不符合要求的问题拒绝回答!!
社区使用指南—如何添加标签修改密码
melodic+gazebo9升级到11后仿真/odom话题消失了
-
标题:[melodic+gazebo9升级到11后仿真/odom话题消失了]
提问模板(建议直接复制粘贴):
背景(可选):
[我在尝试运行运行一个仿真环境学习move_base节点,用的是wpr_simulation这个项目的 wpb_stage_robocup.launch;定位是amcl,map已建图通过map_server发布,sensor是仿真机器人自带的/scan。原本用的是gazebo9,但是总是黑屏要运行多次才能成功就听建议换成了gazebo11,但是机器人自带的/odom好像没发布出来……]
问题描述:
-[原本用的是gazebo9,除了要多次运行才能正常加载之外没有别的问题。 但是总是黑屏要运行多次才能成功就听建议换成了gazebo11,之后机器人自带的/odom好像没发布出来……]
-[因为我对gazebo怎么仿真其实是0了解的,只是直接用了wpr_simulation里的一个环境而已,所以不知道怎么入手修改]
具体细节和上下文:
- [gazebo11应该没有安装错误]
- [ tf_tree如图,就是没有/odom和到/base_link的tf变换]
- [rqt_graph如图]
- [rviz 显示如下]
- [rostopic list如下]
/amcl/parameter_descriptions /amcl/parameter_updates /amcl_pose /clicked_point /clock /cmd_vel /diagnostics /gazebo/link_states /gazebo/model_states /gazebo/parameter_descriptions /gazebo/parameter_updates /gazebo/set_link_state /gazebo/set_model_state /imu/data /initialpose /joint_states /kinect2/hd/camera_info /kinect2/hd/image_color_rect /kinect2/hd/image_color_rect/compressed /kinect2/hd/image_color_rect/compressed/parameter_descriptions /kinect2/hd/image_color_rect/compressed/parameter_updates /kinect2/hd/image_color_rect/compressedDepth /kinect2/hd/image_color_rect/compressedDepth/parameter_descriptions /kinect2/hd/image_color_rect/compressedDepth/parameter_updates /kinect2/hd/image_color_rect/theora /kinect2/hd/image_color_rect/theora/parameter_descriptions /kinect2/hd/image_color_rect/theora/parameter_updates /kinect2/hd/parameter_descriptions /kinect2/hd/parameter_updates /kinect2/qhd/camera_info /kinect2/qhd/image_color_rect /kinect2/qhd/image_color_rect/compressed /kinect2/qhd/image_color_rect/compressed/parameter_descriptions /kinect2/qhd/image_color_rect/compressed/parameter_updates /kinect2/qhd/image_color_rect/compressedDepth /kinect2/qhd/image_color_rect/compressedDepth/parameter_descriptions /kinect2/qhd/image_color_rect/compressedDepth/parameter_updates /kinect2/qhd/image_color_rect/theora /kinect2/qhd/image_color_rect/theora/parameter_descriptions /kinect2/qhd/image_color_rect/theora/parameter_updates /kinect2/qhd/parameter_descriptions /kinect2/qhd/parameter_updates /kinect2/qhd/points /kinect2/sd/depth/camera_info /kinect2/sd/depth_camera_info /kinect2/sd/image_depth_rect /kinect2/sd/image_ir_rect /kinect2/sd/image_ir_rect/compressed /kinect2/sd/image_ir_rect/compressed/parameter_descriptions /kinect2/sd/image_ir_rect/compressed/parameter_updates /kinect2/sd/image_ir_rect/compressedDepth /kinect2/sd/image_ir_rect/compressedDepth/parameter_descriptions /kinect2/sd/image_ir_rect/compressedDepth/parameter_updates /kinect2/sd/image_ir_rect/theora /kinect2/sd/image_ir_rect/theora/parameter_descriptions /kinect2/sd/image_ir_rect/theora/parameter_updates /kinect2/sd/parameter_descriptions /kinect2/sd/parameter_updates /kinect2/sd/points /map /map_metadata /map_updates /move_base/GlobalPlanner/plan /move_base/current_goal /move_base/global_costmap/costmap /move_base/global_costmap/costmap_updates /move_base/global_costmap/footprint /move_base/goal /move_base/local_costmap/costmap /move_base/local_costmap/costmap_updates /move_base_simple/goal /particlecloud /rosout /rosout_agg /scan /scan_filtered /tf /tf_static /visualization_marker /visualization_marker_array /waypoints_marker /waypoints_marker_array
尝试过的解决方法:
- [暂时还没有做出任何修改……因为纯小白看不懂]
- [gazebo11应该没有安装错误]
-
在将Gazebo从版本9升级到版本11后,
/odom
话题消失的问题可能是由于多种原因造成的。以下是一些建议的解决步骤,你可以按照这些步骤来诊断并解决问题:-
检查URDF/SDF文件:
确保你的机器人模型(URDF或SDF文件)中包含了能够发布/odom
话题的插件或传感器。这通常是通过gazebo_ros_diff_drive
、gazebo_ros_control
等Gazebo ROS插件来完成的。 -
检查启动文件:
检查你的wpb_stage_robocup.launch
文件或任何相关的启动文件,确保所有必要的节点都被正确启动,并且它们的参数设置正确。 -
检查Gazebo插件:
如果机器人模型使用了Gazebo插件来模拟里程计数据,请确保这些插件在Gazebo 11中仍然兼容,并且已经正确配置。 -
检查ROS包:
由于你升级了Gazebo,可能需要更新与Gazebo相关的ROS包(如gazebo_ros_pkgs
、gazebo_ros_control
等)。确保你已经安装了与Gazebo 11兼容的ROS包版本。 -
查看日志文件:
查看ROS和Gazebo的日志文件,看看是否有任何错误或警告信息。这些信息可能会提供关于为什么/odom
话题没有发布的线索。 -
检查TF树:
由于你提到TF树中没有/odom
到/base_link
的变换,这可能是因为里程计数据没有被正确发布到TF中。确保你的机器人模型中的TF监听器(如static_transform_publisher
)或TF广播器(如通过Gazebo插件发布的)正在正常工作。 -
查看Gazebo插件配置:
如果你使用了自定义的Gazebo插件,确保你已经更新了插件的配置,以便它们与Gazebo 11兼容。这可能包括更新插件的XML配置文件或更新插件的代码。 -
尝试简化问题:
为了更容易地诊断问题,你可以尝试创建一个简单的Gazebo世界和机器人模型,只包含必要的组件来发布/odom
话题。然后,你可以逐步添加更多的复杂性,同时观察/odom
话题是否仍然被发布。 -
寻求帮助:
如果你仍然无法解决问题,你可以在ROS和Gazebo的社区论坛、GitHub存储库或Stack Overflow等平台上寻求帮助。在提问时,提供尽可能多的信息,包括你的机器人模型、启动文件、配置文件以及任何相关的日志文件或错误消息。 -
备份和恢复:
如果可能的话,考虑将你的系统恢复到Gazebo 9的状态,以确保问题确实是由Gazebo 11引起的。这可以通过重新安装ROS Melodic和Gazebo 9的相应版本来实现。然后,你可以尝试逐步升级Gazebo版本,同时监控/odom
话题是否仍然被发布。
以上为生成回答,仅供参考~
-
-
oh……
闲来无事去catkin_make了一下,突然发现报错,说找不到头文件于是在cmakelist里添加了
${GAZEBO_INCLUDE_DIRS}
确保能找到gazebo安装目录的头文件,然后编译通过再运行仿真环境就没问题了
-