-
Notifications
You must be signed in to change notification settings - Fork 236
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
grab the ground #126
Comments
I am not @atenpas. lol. you have two options to remove them. one, use the parameter of workspace to filter out the grasp candidates out of the workspace. second, i just mention it here because we have not uploaded the code yet. use the paper of our following up research "Robust grasp detection with incomplete point cloud and complex background". If you want i will discuss with the co-authour about sending you the code that we have not published yet. I replay this because we found the same problem and the filter of workspace is not good enough. And we proposed the occlusion checking athough the reviewers said it might not realy necessary. |
Okay, thank you very much for your answer. I remember that we had interacted before. Thank you for providing me with a solution. At present, I am still reproducing and understanding his paper on the GPD algorithm. If there is a need later, I am looking forward to learning from you. The work done; at present, I will solve and reproduce his algorithm first; thank you very much for your answer, I hope you have time to help me, thank you very much! |
Hello, @ojijinWang ,can I only reduce the grab space and the working space? When I shrink to a cube with a length of 0.5, GPD finds 0 grab poses. After adjusting it to a cube with a work space and a grab space of 1.0 side length, it is still It's grabbing the edge of the ground, thank you very much! |
It's a little bit complex, let's explain one by one. |
Thank you for your reply. |
I didnt get your question, so i say my idea again.
|
Thanks for helping me correct the workspace parameter error! |
Thank you for your answer, I know my reason. The reason why the VTK window appears like this may be that the reference coordinate system is unknown and different, which leads to a change in the viewing angle, because I originally planned to use the camera to test GPD alone. In this program It is the coordinates of the added baselink. This should be the problem. I will re-understand the code. If you have any questions, I will continue to ask you. Thank you very much for your answer, which gave me a lot of pointers. |
Hello, @ojijinWang ,may I ask the gripper attitude information output by gpd_ros, first of all, the position can be transformed through the transformation relationship between the camera and base_link, but how to send the output attitude to the moveit side, so that the robotic arm can move to the specified position? I see that the format of the output message does not seem to be acceptable to the move_group node, can you help me, thank you very much! |
Hello, @ojijinWang ,may I ask, I see the message output in the gpd_ros package, the position and attitude, which are in the camera coordinate system; and the transformation to the camera coordinate system is the correct pose information at the end of the robot. |
sorry for late responding. I used the following code to generate the pose msgs. The moveit interface accept the pose inputs. You need to modify the following code a little bit to transform the coordinates to your robot configuration. The pointcloud that i used had been transformed to the base of the robot before the gpd_ros, i dont need to transform the pose to the robot base. And since I have modified the source code and add something, you might have problem to build the code as well. but i think you can fix them. geometry_msgs::Pose convertToPoseMsg(const Grasp& hand) Eigen::Vector3d base = hand.getGraspBottom() - 0.00 * hand.getApproach(); geometry_msgs::Pose pose; return pose; void transform_gpd_to_moveit(const geometry_msgs::Pose& effector_pose_in, geometry_msgs::Pose& effector_pose_out)
} |
okay, thank you! I calculate it manually now, because I am not very proficient in c++, I will add your code to test, thank you very much for your answer, thank you ! @ojijinWang |
Hello, @ojijinWang what is the origin of the workspace in the cfg file? Is the origin the camera_pose? |
try set sample_above_plane = 1 |
This is my interface between ROS pointcloud messages and open3D (python package for pointcloud processing): ROS-open3D interface. It is a general package, you can use whatever processing of open3D you need. Floor removal is already implemented in my code. |
|
@djjebdh There are filters about the camera position to remove the wrong grasps. You can set up a big workspace, generate many candidates, and then use a filter to remove the wrong candidates. |
Hello, @atenpas ,when I simulated in gazebo, my camera position was overhead, and there was ground in the recognized point cloud; after I ran GPD, the final grabbing pose was grabbing the edge of the ground; yes Shouldn't a filter be added to filter the ground? Do you have a specific operation method?
The text was updated successfully, but these errors were encountered: