Rviz, slam_gmapping hangs
Hi, I am having some troubles with Rviz recently, my computer will hangs suddenly while i am using it. Originally it works fine and it is only recently that I got this problem. Does anyone have any idea what is going on? I know that my question sound really vague and lack information, but what I can deduced is my system hangs when I am using Rviz.
My graphic card is GeForce 9300M GS. Driver Version : 304.84. I am using Ubuntu 12.04. ROS fuerte. My Rviz revision number is 1.8.17.
Another thing is, this happened when I am using the 2dnav goal setting function on Rviz. And I think Rviz seems to be unable to receive message from robot footprint and obstacle. I am thinking it might have something to do with cost map or laser/odom input. Just a guess.
Any feedback will be appreciated. Thank you.
Update 1
At the point where it hangs, slam_mapping take up 12% of CPU but used up 1.2 GiB of memory.
After my system recovered from hanging, Rviz takes like 60-70 % of CPU abd used up like 100 plus MIB of memory.And I can no longer find slam_gmapping in the list of process in the system monitor. Yet it appears when I do rosnode list.
After the system recovered from hanging, I can't get any messages from move_base/local_costmap node.
In addition, I got this message on my terminal :
[ WARN] [1363349588.818795860, 121.587000000]: Could not get robot pose,
cancelling reconfiguration
[ERROR] [1363349591.052922982, 121.887000000]: Extrapolation Error looking up
robot pose: Unable to lookup transform, cache is empty, when looking up transform
from frame [/base_footprint] to frame [/map]
A little background on what I am doing, I actually sort of alter the URDF so that the robot's sensors experience some pitching and rolling in motion, so I guess the input to slam_gmapping and costmap is affected. But previously such issue did not happened even after i altered the URDF.
Update 2:
Result from roswtf
Online checks summary:
Found 2 warning(s).
Warnings are things that may be just fine, but are sometimes at fault
WARNING The following node subscriptions are unconnected:
* /move_base_node/local_costmap/voxel_grid_throttle:
* /move_base_node/local_costmap/voxel_grid
* /move_base_node:
* /move_base_simple/goal
* /move_base/cancel
* /voxel_visualizer:
* /move_base_node/local_costmap/voxel_grid_throttled
* /gazebo:
* /gazebo/set_link_state
* /set_hfov
* /gazebo/set_model_state
* /set_update_rate
WARNING These nodes have died:
* spawn_robot-5
* slam_gmapping-11
Found 11 error(s).
ERROR Communication with [/robot_state_publisher] raised an error:
ERROR Communication with [/slam_gmapping] raised an error:
ERROR Communication with [/point_cloud_to_laser_manager] raised an error:
ERROR Communication with [/voxel_visualizer] raised an error:
ERROR Communication with [/base_laser_self_filter] raised an error:
ERROR Communication with [/rviz_1363420915715223896] raised an error:
ERROR Communication with [/robot_pose_ekf] raised an error:
ERROR Could not contact the following nodes:
* /slam_gmapping
ERROR The following nodes should be connected but aren't:
* /robot_state_publisher->/robot_pose_ekf (/tf)
* /robot_pose_ekf->/base_laser_self_filter (/tf)
* /gazebo->/slam_gmapping (/base_scan/scan)
* /gazebo->/slam_gmapping (/clock)
* /robot_state_publisher->/base_laser_self_filter (/tf)
* /robot_state_publisher->/slam_gmapping (/tf)
* /slam_gmapping->/robot_pose_ekf (/tf)
* /robot_pose_ekf->/slam_gmapping (/tf)
* /robot_pose_ekf->/robot_pose_ekf (/tf)
* /slam_gmapping->/base_laser_self_filter (/tf)
* /gazebo- ...
Please provide your RViz version and graphics card model. Another thing you could check is if RViz is filling up your memory, which would point to a memory leak.
How do I check if Rviz is filling up my RAM?
Recently I got a similar problem several times: Totally unresponsive WLAN and/or RViz, maybe in correlation with kinect pointcloud or navigation's potential map..
You can use Ubuntu's system monitor to check the memory usage of running programs.
Please refer to my update 1.
Seems more like slam_gmapping is causing your problem, not rviz. rosnode list might show you nodes that have already crashed, in that case roswtf will give you the right information.
Hmmm... I did roswtf and i think i sort of have some idea about what's wrong.
All right. Found the source of my error.