CRLab / pc_scene_completion_ws

ROS scene completion workspace and external dependencies.
http://shapecompletiongrasping.cs.columbia.edu/
16 stars 5 forks source link

Hanging pc_completion_client when testing pipeline #1

Open dduboisKinova opened 6 years ago

dduboisKinova commented 6 years ago

I am trying to use the pc_scene_completion framework to complete shapes of a static (for now) point cloud. The point cloud is generated from a single RGB-D image saved as .pcd and then posted as /camera_cloud topic using ros. I am starting a pc_scene_completion_client node like this in python: result = pc_scene_completion_client.complete_scene('/camera_cloud') After that I start the pc_completion pipeline: roslaunch pc_pipeline_launch pc_pipeline.launch In rviz I can see my cloud and the /filtered_pc part but the client never gets any results (hangs)

rostopic list gives: /SceneCompletion/cancel /SceneCompletion/feedback /SceneCompletion/goal /SceneCompletion/result /SceneCompletion/status /camera_cloud /camera_info /clicked_point /depth/object_completion/cancel /depth/object_completion/feedback /depth/object_completion/goal /depth/object_completion/result /depth/object_completion/status /depth_tactile/object_completion/cancel /depth_tactile/object_completion/feedback /depth_tactile/object_completion/goal /depth_tactile/object_completion/result /depth_tactile/object_completion/status /filtered_pc /initialpose /move_base_simple/goal /myshape /parameter_descriptions /parameter_updates /partial_object_completion/cancel /partial_object_completion/feedback /partial_object_completion/goal /partial_object_completion/result /partial_object_completion/status /rosout /rosout_agg /tf /tf_static and rosnode list gives: /my_pcl_tutorial /pc_cnn_mesh /pc_filter/pc_filter /pc_scene_completion /pc_scene_completion_client /rosout /rviz_1513189826137779454

Also tried using /filtered_pc as input to complete_scene with no more success.

jvarley commented 6 years ago

first run:

roslaunch pc_pipeline_launch pc_pipeline.launch

Then when everything starts up run:

result = pc_scene_completion_client.complete_scene('/depth/object_completion/')

you want to tell the client what topic to use to complete the individual objects, not what channel to listen for the pointcloud from. I had been running the same scene through various networks so I made the node doing the individual object completions easier to change at runtime.

jvarley commented 6 years ago

actually you will want to use:

result = pc_scene_completion_client.complete_scene('depth')

This is where the scene completion node determines how each segmented partial object will be completed. https://github.com/CRLab/pc_scene_completion/blob/master/src/scene_completion_node.cpp#L188

It is probably hanging right here: https://github.com/CRLab/pc_scene_completion/blob/master/src/scene_completion_node.cpp#L205

As I don't have any ROS_INFO statements prior to the waitForServer line. If you add a print statement there to say what server it is waiting on, could you make a pull request please.

dduboisKinova commented 6 years ago

I get an error from pc_cnn_mesh:

`[ INFO] [1513345551.781055825]: received new CompleteSceneGoal [ INFO] [1513345551.781104302]: Merging PointClouds [ INFO] [1513345551.782926274]: Extracting Clusters [ INFO] [1513345551.785978187]: Looking up /myshape to /myshape transform [ INFO] [1513345551.794258129]: Calling point_cloud_to_mesh [ INFO] [1513345551.794358720]: object_completion_topic: depth 0

2017-12-15 08:45:52.848653: E tensorflow/stream_executor/cuda/cuda_dnn.cc:385] could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR 2017-12-15 08:45:52.848688: E tensorflow/stream_executor/cuda/cuda_dnn.cc:352] could not destroy cudnn handle: CUDNN_STATUS_BAD_PARAM 2017-12-15 08:45:52.848698: F tensorflow/core/kernels/conv_ops_3d.cc:395] Check failed: stream->parent()->GetConvolveAlgorithms( conv_parameters.ShouldIncludeWinogradNonfusedAlgo(), &algorithms) [pc_cnn_mesh-3] process has died [pid 5521, exit code -6, cmd /home/test/pc_scene_completion_ws/src/pc_object_completion_cnn/scripts/shape_completion_server/mesh_completion_server.py name:=pc_cnn_mesh log:=/home/test/.ros/log/9ef43c4a-e19d-11e7-8b2c-54ee75cf3e25/pc_cnn_mesh-3.log]. log file: /home/test/.ros/log/9ef43c4a-e19d-11e7-8b2c-54ee75cf3e25/pc_cnn_mesh-3*.log `

And here is the log: [rospy.client][INFO] 2017-12-15 08:42:02,438: init_node, name[/pc_cnn_mesh], pid[5521] [xmlrpc][INFO] 2017-12-15 08:42:02,439: XML-RPC server binding to 0.0.0.0:0 [xmlrpc][INFO] 2017-12-15 08:42:02,439: Started XML-RPC server [http://AR-DDUBOIS-LP-U:45969/] [rospy.init][INFO] 2017-12-15 08:42:02,439: ROS Slave URI: [http://AR-DDUBOIS-LP-U:45969/] [rospy.impl.masterslave][INFO] 2017-12-15 08:42:02,439: _ready: http://AR-DDUBOIS-LP-U:45969/ [rospy.registration][INFO] 2017-12-15 08:42:02,440: Registering with master node http://localhost:11311 [xmlrpc][INFO] 2017-12-15 08:42:02,440: xml rpc node: starting XML-RPC server [rospy.init][INFO] 2017-12-15 08:42:02,540: registered with master [rospy.rosout][INFO] 2017-12-15 08:42:02,541: initializing /rosout core topic [rospy.rosout][INFO] 2017-12-15 08:42:02,549: connected to core topic /rosout [rospy.simtime][INFO] 2017-12-15 08:42:02,554: /use_sim_time is not set, will not subscribe to simulated time [/clock] topic [rosout][INFO] 2017-12-15 08:42:02,567: Starting Completion Server [rospy.internal][INFO] 2017-12-15 08:42:03,052: topic[/rosout] adding connection to [/rosout], count 0 [rosout][INFO] 2017-12-15 08:42:07,704: Started Completion Server [rospy.internal][INFO] 2017-12-15 08:42:07,721: topic[/depth/object_completion/cancel] adding connection to [http://AR-DDUBOIS-LP-U:45550/], count 0 [rospy.internal][INFO] 2017-12-15 08:42:07,722: topic[/depth/object_completion/goal] adding connection to [http://AR-DDUBOIS-LP-U:45550/], count 0 [rospy.internal][INFO] 2017-12-15 08:42:08,004: topic[/depth/object_completion/feedback] adding connection to [/pc_scene_completion], count 0 [rospy.internal][INFO] 2017-12-15 08:42:08,006: topic[/depth/object_completion/status] adding connection to [/pc_scene_completion], count 0 [rospy.internal][INFO] 2017-12-15 08:42:08,008: topic[/depth/object_completion/result] adding connection to [/pc_scene_completion], count 0 [rosout][INFO] 2017-12-15 08:45:51,795: Received Completion Goal [rosout][INFO] 2017-12-15 08:45:51,799: Flipping Batch X, if performance is poor, try setting flip_batch_x=False

dduboisKinova commented 6 years ago

I was able to force keras to not try to use all the gpu memory and got: print result partial_views: [] meshes: [] poses: []

empty result...

can this be related to the transforms used? what can lead to empty meshes?