Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hanging pc_completion_client when testing pipeline #1

Open
dduboisKinova opened this issue Dec 13, 2017 · 4 comments
Open

Hanging pc_completion_client when testing pipeline #1

dduboisKinova opened this issue Dec 13, 2017 · 4 comments

Comments

@dduboisKinova
Copy link

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
Copy link
Member

jvarley commented Dec 13, 2017

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
Copy link
Member

jvarley commented Dec 14, 2017

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
Copy link
Author

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
Copy link
Author

dduboisKinova commented Dec 15, 2017

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?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants