atenpas / gpd_ros

ROS wrapper around GPD
BSD 2-Clause "Simplified" License
55 stars 67 forks source link

Random grasp candidates #14

Open atmagopal opened 4 years ago

atmagopal commented 4 years ago

Hello. I kept getting grasp candidates in the wrong/inverted direction from gpd_ros, given a partial point cloud of a cylindrical object, like so.

image This is the view from the top of the point cloud. The grasp scores were:

Selecting the 5 highest scoring grasps ...
 grasp #0, score: -224.7175
 grasp #1, score: -224.7175
 grasp #2, score: -224.7175
 grasp #3, score: -433.5794
 grasp #4, score: -433.5794

This error is however not present in gpd (master branch). I get this:

image with grasp scores:

Selecting the 5 highest scoring grasps ...
 grasp #0, score: 108.9073
 grasp #1, score: 108.9073
 grasp #2, score: 108.9073
 grasp #3, score: 108.9073
 grasp #4, score: 69.8524

Error

There is an error currently in _grasp_detectionnode.cpp, in the cloud_callback() definition:

Eigen::Matrix3Xd view_points(3,1);
view_points.col(0) = view_point_; 

where the view_point_ variable is undefined. The definition has been commented out, probably as we phased out getting camera_position from rosparam, and now defining it in the config files.

My temporary fix is define it explicitly:

Eigen::Matrix3Xd view_points(3,1);
view_points << 0.0, 0.0, 0.0;
atenpas commented 4 years ago

What message do you send to gpd_ros that contains the point cloud?

atmagopal commented 4 years ago

Just a PointCloud2 message from a depth camera.