{"id":21739719,"url":"https://github.com/berkeleyautomation/exploratory-grasping","last_synced_at":"2026-05-06T22:34:42.128Z","repository":{"id":148172775,"uuid":"327711427","full_name":"BerkeleyAutomation/exploratory-grasping","owner":"BerkeleyAutomation","description":"Repo for \"Exploratory Grasping: Asymptotically Optimal Algorithms for Grasping Challenging Polyhedral Objects\"","archived":false,"fork":false,"pushed_at":"2021-01-07T20:42:33.000Z","size":3249,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-03-21T00:45:16.561Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BerkeleyAutomation.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-01-07T19:55:28.000Z","updated_at":"2022-03-03T06:28:56.000Z","dependencies_parsed_at":"2023-05-19T08:45:40.749Z","dependency_job_id":null,"html_url":"https://github.com/BerkeleyAutomation/exploratory-grasping","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/BerkeleyAutomation/exploratory-grasping","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BerkeleyAutomation%2Fexploratory-grasping","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BerkeleyAutomation%2Fexploratory-grasping/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BerkeleyAutomation%2Fexploratory-grasping/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BerkeleyAutomation%2Fexploratory-grasping/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BerkeleyAutomation","download_url":"https://codeload.github.com/BerkeleyAutomation/exploratory-grasping/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BerkeleyAutomation%2Fexploratory-grasping/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32715045,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-06T19:35:05.142Z","status":"ssl_error","status_checked_at":"2026-05-06T19:35:03.996Z","response_time":117,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-26T06:10:20.793Z","updated_at":"2026-05-06T22:34:42.110Z","avatar_url":"https://github.com/BerkeleyAutomation.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Install \n```bash\npip install numpy    # Needed for UCRL to install properly in next step\npip install -e .\n```\n\n# Generate Learning Curves\nThe data for each of the three objects in Figure 1 of the paper is stored in a `.npz` file labeled by the object name within the data folder. To rollout algorithms on a given object, simply run the `tools/run_algorithm.py` script with the corresponding data file:\n```bash\npython tools/run_algorithm.py data/vase.npz\n```\nThis script will save a plot with the reward curves for each policy in the root directory like the ones in Figure 1. The policies and settings (i.e., running with or without toppling or changing the number of rollouts or rollout steps) can be changed in the `cfg/run_algorithm.yaml` file. Note that changing the `plot_ci` argument to 1 will cause plot generation to be much slower, but will include error bands on the learning curves.\n\n# Viewing Stable Poses\nNote that this requires OpenGL. Stable poses of a mesh and their respective probabilities can be viewed by running the `tools/view_stable_poses.py`:\n```bash\npython tools/view_stable_poses.py data/vase.npz\n```\n\n# Observations and Grasps\nObservations and grasps for each of the objects can be found in each of the object data files as well. While we do not provide a script to inspect them, the reviewers are welcome to open the data file and view them.\n\n# References\nThe authors appreciate both Ronan Fruit and Jeff Mahler for making their implementations of UCRL and GQCNN available. Included in this code is the UCRL implementation that can be found at https://github.com/RonanFR/UCRL.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fberkeleyautomation%2Fexploratory-grasping","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fberkeleyautomation%2Fexploratory-grasping","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fberkeleyautomation%2Fexploratory-grasping/lists"}