Skip to content

Troubleshooting

Rich Wareham edited this page Sep 27, 2013 · 14 revisions

Connection

Common problems

You may see errors like the following:

  • error launching XXX: No such file or directory

This and other similar errors are due to ROS being extremely picky about networking.

Firstly, check which network you're trying to talk to Q.bo on. The hostnames will be different depending on whether you are on the wired or the wireless connection.

Secondly, check the following:

  • On your machine:
    • Your hostname must match the name other machines use on the network. I.e. if your machine is called student001 then typing ping student001 on the Q.bo must reach your machine.
    • The ROS_HOSTNAME environment variable must be set to that hostname.
    • The ROS_MASTER_URI environment variable must be set to, in this case, http://student001:11311. Replace student001 as appropriate.
    • The command ssh qbo@binky must log you into the Q.bo without a password. Use the ssh-copy-id program.
  • On the Q.bo:
    • Your hostname must be contactable by the Q.bo. I.e. the command ping student001 must work replacing your hostname as appropriate.

NOTE: When we use 'hostname', we mean 'hostname', i.e. student001, not student001.eng.cam.ac.uk which is a fully qualified name.

XXX is not in your SSH known_hosts file

This is because the version of SSH shipped with ROS cannot understand the ~/.ssh/known_hosts generated by the latest SSH. Firstly remove the existing entry:

$ ssh-keygen -f "~/.ssh/known_hosts" -R binky

Then log in again forcing the use of the RSA algorithm:

$ ssh -oHostKeyAlgorithms='ssh-rsa' qbo@binky

See a related ROS forum answer.

[qbo_arduqbo-1] process has died

If the qbo_arduqbo node keeps dying on the robot, then there's probably already one running. Unfortunately the Q.bo is setup to launch its own copy of ROS on startup. A quick way to kill this process is to run pkill via SSH:

$ ssh qbo@binky pkill -f qbo_startup

Running a node via rosrun on the Q.bo doesn't send any data

Check your ROS_HOSTNAME environment variable. (It should be binky if you're on the wired connection, for example.) As outlined above, ROS is very picky. If ROS_HOSTNAME is wrong but ROS_MASTER_URI is correct then you'll see the topic via rostopic list but no data will be published to them. This is confusing until you know the cause.

Clone this wiki locally