[Closed] ROS #3 Tutorial - Rostopic echo /odom not working

Hi

When I use the command rostopic echo /odom whilst running rosrun teleop_twist_keyboard teleop_twist_keyboard.p on my rosbot 2 pro (following the tutorials) nothing appears in the terminal, and I cannot use RVIZ properly. However, it works perfectly fine on the virtual robot in Gazebo. I am unsure as to why it will not work with the real robot.

Any help would be greatly appreciated.

Hi @daisy

Can you link which ROS Tutorial you are talking about and what commands do you run the system with?

Best regards
Jan Brzyk

Hi @JanBrzyk

I am following tutorial 3 Simple kinematics and visualization | Husarion.

I am using
docker compose up -d rosbot ros-master
rosrun teleop_twist_keyboard teleop_twist_keyboard.py

The problem comes with the next part of the tutorial after these commands where rostopic echo /odom is used to publish the odometry data, however for me the command runs but nothing is displayed unless I use the virtual robot in Gazebo instead. rostopic echo /tf also doesn’t display anything. This lack of communication means that RVIZ and path planning does not work properly for the robot.

I have tried running roswtf and got the following error messages, but I don’t know if they are connected to my problem:

WARNING The following node subscriptions are unconnected:

  • /rosbot_ekf:
    • /set_pose
  • /serial_bridge:
    • /cmd_ser

WARNING No tf messages

Found 1 error(s).

ERROR Errors connecting to the following services:

  • service [/rosout/get_loggers] appears to be malfunctioning: Unable to communicate with service [/rosout/get_loggers], address [rosrpc://127.0.0.1:46557]
  • service [/rosout/set_logger_level] appears to be malfunctioning: Unable to communicate with service [/rosout/set_logger_level], address [rosrpc://127.0.0.1:46557]
  • service [/imu_publisher/get_loggers] appears to be malfunctioning: Unable to communicate with service [/imu_publisher/get_loggers], address [rosrpc://127.0.0.1:48135]
  • service [/robot_state_publisher/get_loggers] appears to be malfunctioning: Unable to communicate with service [/robot_state_publisher/get_loggers], address [rosrpc://127.0.0.1:52721]
  • service [/msgs_conversion/get_loggers] appears to be malfunctioning: Unable to communicate with service [/msgs_conversion/get_loggers], address [rosrpc://127.0.0.1:58651]
  • service [/imu_publisher/set_logger_level] appears to be malfunctioning: Unable to communicate with service [/imu_publisher/set_logger_level], address [rosrpc://127.0.0.1:48135]
  • service [/msgs_conversion/set_logger_level] appears to be malfunctioning: Unable to communicate with service [/msgs_conversion/set_logger_level], address [rosrpc://127.0.0.1:58651]
  • service [/robot_state_publisher/set_logger_level] appears to be malfunctioning: Unable to communicate with service [/robot_state_publisher/set_logger_level], address [rosrpc://127.0.0.1:52721]
  • service [/rosbot_ekf/get_loggers] appears to be malfunctioning: Unable to communicate with service [/rosbot_ekf/get_loggers], address [rosrpc://127.0.0.1:50365]
  • service [/rosbot_ekf/set_logger_level] appears to be malfunctioning: Unable to communicate with service [/rosbot_ekf/set_logger_level], address [rosrpc://127.0.0.1:50365]
  • service [/set_pose] appears to be malfunctioning: Unable to communicate with service [/set_pose], address [rosrpc://127.0.0.1:50365]
  • service [/rosbot_ekf/enable] appears to be malfunctioning: Unable to communicate with service [/rosbot_ekf/enable], address [rosrpc://127.0.0.1:50365]
  • service [/rosbot_ekf/toggle] appears to be malfunctioning: Unable to communicate with service [/rosbot_ekf/toggle], address [rosrpc://127.0.0.1:50365]
  • service [/serial_bridge/get_loggers] appears to be malfunctioning: Unable to communicate with service [/serial_bridge/get_loggers], address [rosrpc://127.0.0.1:36025]
  • service [/serial_bridge/set_logger_level] appears to be malfunctioning: Unable to communicate with service [/serial_bridge/set_logger_level], address [rosrpc://127.0.0.1:36025]
  • service [/config] appears to be malfunctioning: Unable to communicate with service [/config], address [rosrpc://127.0.0.1:36025]

Hello @daisy

What model of robot are you using?

Did you download the latest versions of the images using the docker compose pull command?

Do you have the latest firmware version?

Best regards
Jan Brzyk

Hi @JanBrzyk

I have a rosbot2 pro and are using the Noetic version 1.15.14, and yes I have the latest versions of the images.

Looking in the all.launch file in the rosbot_ekf I found that the “rosbot_pro” default was set to false, and changing it to true and running the all.launch file instead of docker compose up -d rosbot ros-master made it work. However it still doesn’t work when I try using the docker command.

The case will continue in the following issue: ROS #8 Tutorial - Map and robot not displaying correctly in Rviz - #3 by daisy