0
$\begingroup$

Rosanswers logo

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 teleop_keyboard one, but with the same problem - it publishes cmd_vel while the turtlebot_node subscribes to /turtlebot_node/cmd_vel. I even went into the python code and changed the name of the published topic to "/turtlebot_node/cmd_vel" and it still does not work.


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.


Originally posted by uncc_student on ROS Answers with karma: 1 on 2012-03-19

Post score: 0


Original comments

Comment by tfoote on 2012-03-19:
Please provide more information. We cannot help you unless you provide information on how to reproduce your error.

Comment by I Heart Robotics on 2012-03-19:
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.

Comment by uncc_student on 2012-03-19:
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.

Comment by uncc_student on 2012-03-19:
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.

Comment by uncc_student on 2012-03-21:
The /turtlebot_teleop_keyboard is connected to /cmd_vel The details are Type: geometry_msgs/Twist

Publishers:

Subscribers: None

Comment by uncc_student on 2012-03-21:
Type: geometry_msgs/Twist

Publishers:

Subscribers: None

Comment by karthik on 2012-03-21:
Ok i have edited my answer witha diagnosing method. Let me know if you find anything

Comment by I Heart Robotics on 2012-03-24:
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.

Comment by karthik on 2012-03-28:
Could you tell the version of Ubuntu and ROS you are using in both ur laptops... turtlesim comes with both ROS electric and diamondback by default with desktopfull version.

Comment by I Heart Robotics on 2012-03-29:
/turtlebot_node/cmd_vel [unknown type] I'm not in front of a robot at the moment but unknown type sounds wrong. Have you tried debugging with roswtf?

$\endgroup$

2 Answers 2

0
$\begingroup$

Rosanswers logo

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.


Originally posted by tfoote with karma: 58457 on 2012-04-09

This answer was ACCEPTED on the original site

Post score: 0

$\endgroup$
0
$\begingroup$

Rosanswers logo

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


Originally posted by karthik with karma: 2831 on 2012-03-19

This answer was NOT ACCEPTED on the original site

Post score: 2

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.