I am using ROS on the Turtlebot3 and try to teleop the robot with an XBOX 360 controller without success. I'm already able to teleop the robot via keyboard.


  • Ubuntu 16.04
  • ROS Kinetic

What I've already tried:

  • Console 1:

    [Remote]-$ roscore
  • Console 2:

    [Remote]-$ rosrun joy joy_node
  • Console 3:

    [Remote]-$ roslaunch teleop_twist_joy teleop.launch 
  • Console 4:

    [Pi]-$ roslaunch turtlebot3_bringup turtlebot3_robot.launch
  • Console 5:

    [Pi]-$ rostopic echo joy

I can already see, that the Raspberry receives the command messages from the controller.

But the robot doesn't move. Any ideas?

  • $\begingroup$ write a python script to test motors $\endgroup$
    – jsotola
    May 17, 2018 at 17:28
  • $\begingroup$ I can already use the keyboard to control the robot. So the motors seem to work fine. $\endgroup$
    – betaros
    May 18, 2018 at 8:37

1 Answer 1


It is now running. The problem was, that I didn't know, that I should hold the Windows Logo Button while using the joystick to move the bot. Alternativly you can push the joystick on the right down to activate the left joystick.

This works with the Xbox 360 and the Xbox One S controller :)

  • $\begingroup$ I try to my xbox one controller to use with ROS. Unfortunately, it doesn't work. Could you please explain how to solve this problem? $\endgroup$ Jan 28, 2019 at 15:34
  • $\begingroup$ I just followed the instructions from emanual.robotis.com/docs/en/platform/turtlebot3/teleoperation/… and controlled the robot by pushing the Windows Logo Button in the center, while pushing the joystick and triggers to control the robot. $\endgroup$
    – betaros
    Jan 28, 2019 at 18:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.