Need Help Fixing Turtlebot3 Simulation Files on Rviz
Hello,
I'm new to ROS here. I'm on a desktop running Ubuntu 18.04.4 LTS, kernal version 5.3.0-53-generic and I'm using ROS Melodic.
I was trying to bring the Turtlebot 3 burger simulation model into Rviz so I could learn gmapping and navigation with the turtlebot's lidar, but Rviz throws lots of errors about the robot model "No transform from [Links] to [Fixed Frame] (link to picture is lower down).
I first opened Gazebo and turtlebot 3 burger with:
roslaunch turtlebot3_gazebo turtlebot3_world.launch
This works perfectly fine and imports the turtlebot 3 burger model without breaking it. The model is functional and I have tried out the Turtlebot 3 autonomous simulation which works fine. I have used rosdep to make sure I have all the relevant packages for the Turtlebot simulation.
However, when I try to open Rviz with:
rosrun rviz rviz
and then click "add" and then "robot model" in the menu I get a long list of errors: https://imgur.com/a/FJ0j4Q7
In the "fixed frame" context menu I can only select between "odom" and "base_footprint". I have been reading the other forum posts with similar issues to mine and it appears this has something to do with robot_state_publisher not publishing the proper information.
However, I didn't find the ROS wiki on the robot_state_publisher too informative and I am not sure how to troubleshoot the transformations with this tool. I also did tf tutorials #1 on writing a broadcaster and listener in Python up to tf tutorial #3 on adding a frame which I believe are relevant to my problem but I am unable to connect the dots to figure out how to implement a fix. Any help would be appreciated, thanks!
Thank you for providing such good information. First, to clarify, you are trying the
rosrun rviz rviz
command while the Gazebo simulation is still running, right? Also, are you following a tutorial, like this Robotis one? To investigate further, it would help to check the output fromrosrun rqt_tf_tree rqt_tf_tree
(plot of available transforms),rosnode list
(make surerobot_state_publisher
is running), androsparam get /robot_description
(make sure it's set to the parsed.urdf
file).