Skip to content

Troubleshooting Problems Running ROSTango Apps

shilohc edited this page Sep 8, 2014 · 5 revisions

This page describes some common issues with running ROSTango apps and suggests possible solutions. However, this is by no means an exhaustive list.

If you're having ROSTango build problems, check the Troubleshooting ROSTango Build Failures page.

Table of Contents

Standard Measures are an excellent first step.
Alleviating Drift often helps improve map quality.
Network Issues can cause a wide range of bugs.
Troubleshooting Tips
Useful Links

Standard Measures

First, try restarting the app, rebooting the tablet, and restarting the app after rebooting. Restart rviz as well if applicable. Making this your standard first step can save you hours.

You also might want to use rqt_graph (successor to rxgraph) to get an idea of what's going on.

> rosrun rqt_graph rqt_graph

Restart rqt_graph if you restart roscore, but you can leave it up otherwise.

Running roswtf occasionally during the debug process often provides helpful information.

Alleviating Drift

If the Tango device is drifting so much as to be completely unusable, try running the following adb commands.

> adb root
> adb shell cp /persist/calibration.xml /sdcard

If you still have problems with drift, you could try the following:

  • Cooling the device by putting it in the freezer often helps. Make sure to wrap or cover the device to prevent condensation from harming it.
  • When traversing an environment, try to ensure there are features for the device to refer to, as opposed to a flat surface such as a blank wall or floor.
  • Try not to point the device directly at light sources like ceiling lights. External light sources interfere with the depth camera.

You might also find the tips in Mapping Hints and Tips helpful, even if you're only trying to visualize vio data. Restarting the app and/or rebooting the tablet can't hurt, either.

Unfortunately, the drift will probably not be entirely eliminated, but this advice should help you reduce it enough to produce viable maps and decent vio data.

Network Issues

Any of the following might indicate network setup issues:

  • The Tango device is supposed to be publishing messages to a topic, but you can't see anything using rostopic echo /<topic_name>, and nodes on the device are only publishing to /rosout. For example, if you're running the Tango Vio app, nothing is being published to /tango_pose or /odom_visual, and rosnode info /tango_vio indicates that the tango_vio node is only publishing to /rosout.
  • rviz is returning errors about missing transforms that are dependent on data from the Tango device. Any number of things can mess with transforms, but messages like No transform from [phone] to [global] tend to indicate that something the Tango device is responsible for publishing isn't being published.
  • roswtf returns warnings about unconnected node subscriptions, especially with topics like tango_pose and odom_visual as in the warning below:
WARNING The following node subscriptions are unconnected:
 * /robot_state_publisher:
   * /joint_states
 * /rviz:
   * /odom_visual
   * /tf_static
   * /tango_pose

Run through the Standard Measures first. If that doesn't work, check ROS_MASTER_URI and ROS_IP/ROS_HOSTNAME. They should look something like this:

> echo $ROS_MASTER_URI
http://<Computer IP>:11311
> echo $ROS_IP
<Computer IP>

(You can use ifconfig to check your IP address.)

If these are wrong, export the correct values or fix the assignments in your .bashrc. (Either restart the terminal or execute source ~/.bashrc after modifying .bashrc.)

If these look fine, try the network setup tips here and here. If you're trying to run the Tango Vio app, make sure you're entering the correct IP address when the app starts up.

Troubleshooting Tips

These are several diagnostic tools that I've found useful for ROS troubleshooting. They might help you as well if your problem isn't listed here.

roswtf and rqt_graph are extremely helpful if you're not sure what's going on.

> roswtf
> rosrun rqt_graph rqt_graph

You might also want to know what nodes and/or topics are running, in which case you could run rosnode list for a list of nodes and rostopic list for a list of topics.

If you think you've pinpointed the problem to a specific node, try rosnode info /<Node Name> to get more information about what the node is doing. With topics, use rostopic info /<Topic Name>.

Useful Links

If you've exhausted the assistance this page provides, the following links might be able to help.