-
Notifications
You must be signed in to change notification settings - Fork 41
Troubleshooting Problems Running ROSTango Apps
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.
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
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.
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.
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
, androsnode 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 likeNo 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 liketango_pose
andodom_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.
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>
.
If you've exhausted the assistance this page provides, the following links might be able to help.
- General ROS troubleshooting tips: http://wiki.ros.org/ROS/Troubleshooting
- Tools for debugging
tf
errors: http://wiki.ros.org/tf#Command-line_Tools - Network setup help: http://wiki.ros.org/ROS/NetworkSetup