Closed cyrilli closed 6 years ago
Hi! I did not work with 6DOF grasp pose at all. My program can give you the grasping center and the angle but it does not give the normal surface. You need to find it somehow from a depth map of the object you are trying to grasp.
The 6DOF grasp pose could be derived by computing the surface normal of the grasp center ? Ref: http://pointclouds.org/documentation/tutorials/normal_estimation.php#normal-estimation
In the dataset from Cornell, for every image there is also a point cloud. You can use that with the appropriate algo (not in this repository) to get the normal surface of the object.
Just for anyone who had the same problem, I implemented a ROS service to do the conversion from grasp rectangle to gripper pose according to the cornell paper. Code is here. Although I am using another grasp detection model, it should still work with any model that gives you a 2D position and an angle.
@cyrilli Hi,I think if you do not want to use a point cloud,you can assume that the end effector is vertical to the surface.And then you can use a 2D position and an angle.
Hi, I wish to execute the proposed grasp using my own robot arm. I am wondering if you have implemented the code to convert the rectangle to the 6DOF grasp pose. I read on the Deep Learning for Detecting Robotic Grasps paper that the final pose is determined using the rectangle center as the grasping center, its surface normal as the approach vector and the angle of the rectangle is used to rotate the gripper around the approach vector but I don't know how to implement this.