Skip to content

Conversation

@MaxWaterhout
Copy link
Collaborator

@MaxWaterhout MaxWaterhout commented Sep 23, 2025

Description

The default of graspnet samples different grasps that are not in collision and do not overlap. You can read the paper here.

We created two forks for graspnet-baseline and GraspnetAPI
Download the checkpoint here

Don't forget to syn uv:

uv sync --group graspnet -v

Note: Uv sync can take a while because torch also downloads some bigger cuda packages, that is why sometimes -v is recommended to see the progress.

Start the simulation in a first terminal:

ros2 launch rcdt_launch robotics.launch.py configuration:=franka_realsense

Start the ui in a second terminal:

ros2 run rcdt_utilities simple_gui.py

Open the ui (http://localhost:8080) and execute the actions:

  • update image (color), update image (depth), update camera info
  • generate grasps
  • visualize grasps
  • create plan
  • visualize plan
  • execute plan

Todo

  • Filter grasps poses
  • Fix update functions in UI sometimes fail
  • Fix visualize grasp is incorrect first time
  • Add gripper control
  • Add obstacles based on pointcloud

Testing

Explain how you tested your changes.

Documentation

  • I have updated the documentation (if necessary)

Additional Notes

Any relevant screenshots, logs, or context.

@Jelmerdw Jelmerdw marked this pull request as ready for review October 8, 2025 09:46
@Jelmerdw Jelmerdw force-pushed the milestone/graspnet branch 3 times, most recently from 0cfad2f to 1d9f11a Compare October 8, 2025 10:51
Jelmerdw and others added 3 commits October 21, 2025 16:41
* Install cuda.

Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com>

* Make script executable.

Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com>

* Rename.

Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com>

* Clone graspnet-baseline repo in docker.

Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com>

* Switch to our graspnet fork.

Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com>

* Fix  dependencies.

Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com>

* Update dependencies.

Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com>

* Add demo.

Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com>

* Create ros node.

Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com>

* Remove demo.

Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com>

* Fix ty.

Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com>

* Update dependencies to fix deprecated sklearn.

Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com>

* Add ros2-numpy to uv.

Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com>

* Use base frame instead of world frame.

Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com>

* Place rviz marker on generated grasp pose.

Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com>

* Set fr3_hand_tcp asp end-effector link.

Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com>

* Add scipy-stubs to uv.

Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com>

* Use graspnet pose as goal_pose.

Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com>

* remove cuda from container

Signed-off-by: Max Waterhout <max.waterhout@hotmail.nl>

* WIP

Signed-off-by: Max Waterhout <max.waterhout@hotmail.nl>

* Remove rcdt_grasping package and update moveit_manager to change frame references

Signed-off-by: Max Waterhout <max.waterhout@hotmail.nl>

* Refactor dependencies: move graspnet-related packages to a separate group and clean up unused entries

Signed-off-by: Max Waterhout <max.waterhout@hotmail.nl>

* Refactor code structure for improved readability and maintainability

Signed-off-by: Max Waterhout <max.waterhout@hotmail.nl>

---------

Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com>
Signed-off-by: Max Waterhout <max.waterhout@hotmail.nl>
Co-authored-by: Max Waterhout <max.waterhout@hotmail.nl>
Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com>
Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com>
* Make a ros wrapper.

Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com>

* Undo unnecessary changes.

Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com>

* Introduce gui.

Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com>

* Visualize gripper pose in Rviz.

Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com>

* Correct gripper visualization with offset between wrist and tcp.

Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com>

* Add animated visualization of plan.

Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com>

* Clean up code.

Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com>

---------

Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com>
Co-authored-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com>
Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com>
Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com>
Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com>
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

Successfully merging this pull request may close these issues.

3 participants