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.
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]
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.