Ask Your Question
0

Turtlebot_Teleop not Working Properly

asked 2012-03-19 09:17:41 -0500

uncc_student gravatar image

updated 2012-04-16 04:51:45 -0500

We are having trouble getting turtlebot_teleop node to work.

After we ssh into the turtlebot and roslaunch turtlebot_teleop keyboard_teleop.launch the program begins working, but when we press the keys, the turtlebot does not respond. It displays changes in velocity, so we know that it is registering our key presses, but the robot remains stationary.

We even borrowed another turtlebot from someone else working in the lab to make sure it wasn't our robot, but could not get it to work on his either.

Log File:

[rospy.client][INFO] 2012-03-21 11:15:15,572: init_node, name[/turtlebot_teleop_keyboard], pid[9624]
[xmlrpc][INFO] 2012-03-21 11:15:15,573: XML-RPC server binding to 0.0.0.0
[xmlrpc][INFO] 2012-03-21 11:15:15,575: Started XML-RPC server [http://192.168.1.101:42373/]
[rospy.init][INFO] 2012-03-21 11:15:15,575: ROS Slave URI: [http://192.168.1.101:42373/]
[rospy.impl.masterslave][INFO] 2012-03-21 11:15:15,576: _ready: http://192.168.1.101:42373/
[rospy.registration][INFO] 2012-03-21 11:15:15,580: Registering with master node http://192.168.1.101:11311
[xmlrpc][INFO] 2012-03-21 11:15:15,580: xml rpc node: starting XML-RPC server
[rospy.registration][INFO] 2012-03-21 11:15:15,581: Registering publisher topic [/cmd_vel] type [geometry_msgs/Twist] with master
[rospy.init][INFO] 2012-03-21 11:15:15,677: registered with master
[rospy.rosout][INFO] 2012-03-21 11:15:15,808: initializing /rosout core topic
[rospy.rosout][INFO] 2012-03-21 11:15:15,814: connected to core topic /rosout
[rospy.simtime][INFO] 2012-03-21 11:15:15,821: /use_sim_time is not set, will not subscribe to simulated time [/clock] topic
[rospy.core][INFO] 2012-03-21 11:15:55,983: signal_shutdown [atexit]
[rospy.impl.masterslave][INFO] 2012-03-21 11:15:55,995: atexit

When I echo /cmd_vel it displays linear and angular coordinates, so the information is definitely being published, but when I look at the rxgraph of everything, the /turtlebot_teleop_keyboard is only linked to /rosout.

Shouldn't it also be communicating with something else in order to send its messages to the robot?


Karthik,

I will try this out later today and let you know how it goes. Thank you again for your help!


March 26 Update

I tested all the network connections and everything is fine, but turtlesim is not installed on the laptop, so I could not test that.

So I believe my problem stems from the nodes not correctly publishing or subscribing. In my rxgraph, the turtlebot_teleop_keyboard node is publishing a cmd_vel topic but the turtlebot_node is not subscribing to it. When I click on the turtlebot_node it says "Subscriptions: none". When I do rosnode info turtlebot_node it says

Subscriptions: 
 * /turtlebot_node/cmd_vel [unknown type]

so it looks like there is conflicting info. I am unsure what to do to fix this.


March 28

So I found this post which might explain some of the problem: here

but I followed the proposed solutions and it still does not work.

I downloaded Brown university's teleop package - teleop_twist_keyboard and it almost mimics the ... (more)

edit retag flag offensive close delete

Comments

Please provide more information. We cannot help you unless you provide information on how to reproduce your error.

tfoote ( 2012-03-19 09:38:24 -0500 )edit

One thing to check is that the TurtleBot dashboard is working and that you are communicating with the Create. http://www.ros.org/wiki/turtlebot_dashboard.

I Heart Robotics ( 2012-03-19 09:48:18 -0500 )edit

There is no real "error", the robot just does not respond to keystrokes. The output on the screen shows that the program is responding to the keystrokes, but the robot itself does not move. It led us to believe it was a problem with our robot, but we tried another robot it would not move either.

uncc_student ( 2012-03-19 09:48:29 -0500 )edit

The dashboard is working perfectly (everything is green), and we can even visualize things with the kinect in rviz. We were hoping to have some fun with gmapping, but without teleop we have no way to really drive it around. Thank you again for any suggestions.

uncc_student ( 2012-03-19 09:50:47 -0500 )edit

The /turtlebot_teleop_keyboard is connected to /cmd_vel The details are Type: geometry_msgs/Twist

Publishers: * /turtlebot_teleop_keyboard (http://192.168.1.101:59990/)

Subscribers: None

uncc_student ( 2012-03-21 04:32:45 -0500 )edit

Type: geometry_msgs/Twist

Publishers: * /turtlebot_teleop_keyboard (http://192.168.1.101:59990/)

Subscribers: None

uncc_student ( 2012-03-21 04:32:46 -0500 )edit

Ok i have edited my answer witha diagnosing method. Let me know if you find anything

karthik ( 2012-03-21 11:39:52 -0500 )edit

if you run 'rostopic info /cmd_vel' you should see turtlebot_node listed as a subscriber. I would try running minimal.launch manually to see if there is a problem there.

I Heart Robotics ( 2012-03-24 11:47:32 -0500 )edit

4 answers

Sort by ยป oldest newest most voted
0

answered 2012-04-09 16:49:25 -0500

tfoote gravatar image

The default topic for the cmd_vel changed as you discovered. It looks like you might be running code of different versions of the release on your different machines. You can fix it by using topic remapping until you update one or both machines.

edit flag offensive delete publish link more
2

answered 2012-03-19 10:16:41 -0500

karthik gravatar image

updated 2012-03-21 11:38:58 -0500

Hi, If you are able to view the pointclouds in rviz, then you might have just overlooked something.

Check rxgraph if the nodes are connected by correct topics.

Try to echo the topic /cmd_vel to see if the keystrokes are giving the msgs.

Check the launch file if the topics are correct.

You should be able to diagnose something with all these checks. Hope it helps

Thanks, Karthik


Following are the checks that you can do

  1. Check the .bashrc of the both workstation and turtlebot_lappy if they are concurrent with the http://www.ros.org/wiki/Robots/TurtleBot/Network%20Setup

  2. You may check the network setup by running the turtlesim on turtlebot_lappy and teleop it from the workstation. This should work fine if network is perfectly setup. I explain the steps as follows

a)In your turtlebot_lappy

roscore

and

rosrun turtlesim turtlesim_node

b)From your workstation

rosrun turtlesim turtle_teleop_key

Check if the turtle is moving in turtlebot_lappy when u press the arrow keys in workstation.

Once this is working. Then i guess you may test the turtlebot with similar procedure.

The rxgraph should look like below for the turtlebot teleoperated from workstation image description

Hope it helps

Karthik

edit flag offensive delete publish link more
0

answered 2012-03-28 13:07:19 -0500

I have had this issue myself. For some reason, the turtlebot_teleop only likes to work when the keyboard is connected to the actual turtlebot. I would try using a program called Synergy to share your keyboard with the turtlebot. Once you share it, you should open a terminal on the turtlebot laptop and run the teleop. Use Synergy to share the keyboard at your workstation with the robot. Hope it works!

edit flag offensive delete publish link more
0

answered 2012-05-25 20:37:34 -0500

this post is marked as community wiki

This post is a wiki. Anyone with karma >75 is welcome to improve it.

updated 2012-05-25 20:37:34 -0500

tfoote gravatar image

April 16 - PROBLEM FIXED

Sorry for the late response, but we managed to fix this a few weeks ago by doing the following:

roscd turtlebot_bringup/upstart sudo ./install.bash For some reason both diamondback and electric were installed and this fixed the issue of it trying to use old stuff.

edit flag offensive delete publish link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

[hide preview]

Stats

Asked: 2012-03-19 09:17:41 -0500

Seen: 1,028 times

Last updated: May 25 '12