Turtlebot3 burger not moving when publishing to /cmd_vel

asked 2022-03-01 21:31:41 -0500

manye31 gravatar image

updated 2022-03-03 23:00:37 -0500


I am running into some issues with getting my physical turtlebot3 to move. I cannot use turtlebot3_teleop from the turtlebot3 package nor can I use even a simple rostopic pub command to manually input a velocity

On my PC, I am running ROS noetic 1.15.13 on Ubuntu 20.04. On my Raspberry Pi 3B+, I am running ROS kinetic 1.12.14.

I know my Dynamixel's are set up properly because on the OpenCR 1.0 PCB, When I press SW2, the robot spins 180 degrees (see this link: https://emanual.robotis.com/docs/en/p...). Because of this, I believe there is a connection issue that I cannot find.

I am connecting my PC and Pi using a personal hotspot. And I am running my roscore and on my Raspberry Pi (because of more network complications).

Here is my rosnode info /turtlebot3_core with teleop running

Node [/turtlebot3_core]
 * /battery_state [sensor_msgs/BatteryState]
 * /cmd_vel_rc100 [geometry_msgs/Twist]
 * /diagnostics [diagnostic_msgs/DiagnosticArray]
 * /firmware_version [turtlebot3_msgs/VersionInfo]
 * /imu [sensor_msgs/Imu]
 * /joint_states [sensor_msgs/JointState]
 * /magnetic_field [sensor_msgs/MagneticField]
 * /odom [nav_msgs/Odometry]
 * /rosout [rosgraph_msgs/Log]
 * /sensor_state [turtlebot3_msgs/SensorState]
 * /tf [tf/tfMessage]

 * /cmd_vel [geometry_msgs/Twist]
 * /motor_power [unknown type]
 * /reset [unknown type]
 * /sound [unknown type]

* /turtlebot3_core/get_loggers
* /turtlebot3_core/set_logger_level

contacting node ...
Pid: 1215
* topic: /firmware_version
    * to: /turtlebot3_diagnostics
        * direction: outbound (38983 - [19]
        * transport: TCPROS
* topic: /rosout
    * to: /rosout
        * direction: outbound (38983 - [8]
        * transport: TCPROS
* topic: /imu
    * to: /turtlebot3_diagnostics
        * direction: outbound (38983 - [20]
        * transport: TCPROS
* topic: /sensor_state
    * to: /turtlebot3_diagnostics
        * direction: outbound (38983 - [10]
        * transport: TCPROS

I have run rqt to look at the values and can tell other topics are working such as /scan because my range values are consistently changing. My cmd_vel topic shows to have nonzero values input from my teleop, but yet my robot does not move.

I tried to be as thorough as possible, but please let me know if you need anything else to help me fix this connection problem. Thank you for any assistance you may provide.

edit retag flag offensive close merge delete



The problem could be that you are running ROS Noetic and ROS Kinetic. Have you tried using same ROS distro?

osilva gravatar image osilva  ( 2022-03-05 14:21:55 -0500 )edit

Indeed it should be the problem that @osilva has mentioned, I had same issue when I tried to do teleop on tb3 with melodic from the noetic host. but it worked just fine when I tried from melodic host. You can try using docker, if you want to avoid the installation of the new os and ros.

aarsh_t gravatar image aarsh_t  ( 2022-03-05 14:54:48 -0500 )edit

Thanks for the suggestions @osilva and @aarsh_t. Do you recommend I switch my PI to ROS Noetic or rather run Kinetic on my PC? I'm pretty new to all of ROS, so I'm not that comfortable changing distros and such, so I wanna make sure I do it right.

manye31 gravatar image manye31  ( 2022-03-05 19:19:44 -0500 )edit

Yes, that should work as well.

aarsh_t gravatar image aarsh_t  ( 2022-03-06 03:09:22 -0500 )edit

Switching your RPi to Noetic might be easier, as you can make another SD card with your other program.

osilva gravatar image osilva  ( 2022-03-07 12:59:50 -0500 )edit