├── .flake8 ├── .github └── ISSUE_TEMPLATE │ ├── bug-performance-issue--custom-images-.md │ ├── bug-performance-issue--physical-robot-.md │ ├── bug-performance-issue--replication-.md │ ├── installation-issue.md │ └── other-issue.md ├── .gitignore ├── .style.yapf ├── .travis.yml ├── CMakeLists.txt ├── LICENSE ├── README.md ├── cfg ├── examples │ ├── antipodal_grasp_sampling.yaml │ ├── fc_gqcnn_pj.yaml │ ├── fc_gqcnn_suction.yaml │ ├── gqcnn_pj.yaml │ ├── gqcnn_suction.yaml │ ├── replication │ │ ├── dex-net_2.0.yaml │ │ ├── dex-net_2.1.yaml │ │ ├── dex-net_3.0.yaml │ │ ├── dex-net_4.0_fc_pj.yaml │ │ ├── dex-net_4.0_fc_suction.yaml │ │ ├── dex-net_4.0_pj.yaml │ │ └── dex-net_4.0_suction.yaml │ └── ros │ │ ├── fc_gqcnn_pj.yaml │ │ ├── fc_gqcnn_suction.yaml │ │ ├── gqcnn_pj.yaml │ │ └── gqcnn_suction.yaml ├── finetune.yaml ├── finetune_dex-net_4.0_pj.yaml ├── finetune_dex-net_4.0_suction.yaml ├── finetune_example_pj.yaml ├── finetune_example_suction.yaml ├── hyperparam_search │ ├── train_dex-net_4.0_fc_suction_hyperparam_search.yaml │ └── train_hyperparam_search.yaml ├── tools │ ├── analyze_gqcnn_performance.yaml │ └── run_policy.yaml ├── train.yaml ├── train_dex-net_2.0.yaml ├── train_dex-net_3.0.yaml ├── train_dex-net_4.0_fc_pj.yaml ├── train_dex-net_4.0_fc_suction.yaml ├── train_dex-net_4.0_pj.yaml ├── train_dex-net_4.0_suction.yaml ├── train_example_pj.yaml ├── train_example_suction.yaml └── train_fc.yaml ├── ci └── travis │ └── format.sh ├── data ├── calib │ ├── phoxi │ │ ├── phoxi.intr │ │ └── phoxi_to_world.tf │ └── primesense │ │ ├── primesense.intr │ │ └── primesense.tf ├── examples │ ├── clutter │ │ ├── phoxi │ │ │ ├── dex-net_4.0 │ │ │ │ ├── color_0.png │ │ │ │ ├── color_1.png │ │ │ │ ├── color_2.png │ │ │ │ ├── color_3.png │ │ │ │ ├── color_4.png │ │ │ │ ├── depth_0.npy │ │ │ │ ├── depth_1.npy │ │ │ │ ├── depth_2.npy │ │ │ │ ├── depth_3.npy │ │ │ │ ├── depth_4.npy │ │ │ │ ├── segmask_0.png │ │ │ │ ├── segmask_1.png │ │ │ │ ├── segmask_2.png │ │ │ │ ├── segmask_3.png │ │ │ │ └── segmask_4.png │ │ │ └── fcgqcnn │ │ │ │ ├── color_0.png │ │ │ │ ├── color_1.png │ │ │ │ ├── color_2.png │ │ │ │ ├── color_3.png │ │ │ │ ├── color_4.png │ │ │ │ ├── depth_0.npy │ │ │ │ ├── depth_1.npy │ │ │ │ ├── depth_2.npy │ │ │ │ ├── depth_3.npy │ │ │ │ ├── depth_4.npy │ │ │ │ ├── segmask_0.png │ │ │ │ ├── segmask_1.png │ │ │ │ ├── segmask_2.png │ │ │ │ ├── segmask_3.png │ │ │ │ └── segmask_4.png │ │ └── primesense │ │ │ ├── color_0.png │ │ │ ├── color_1.png │ │ │ ├── color_2.png │ │ │ ├── color_3.png │ │ │ ├── color_4.png │ │ │ ├── depth_0.npy │ │ │ ├── depth_1.npy │ │ │ ├── depth_2.npy │ │ │ ├── depth_3.npy │ │ │ ├── depth_4.npy │ │ │ ├── segmask_0.png │ │ │ ├── segmask_1.png │ │ │ ├── segmask_2.png │ │ │ ├── segmask_3.png │ │ │ └── segmask_4.png │ └── single_object │ │ └── primesense │ │ ├── color_0.png │ │ ├── color_1.png │ │ ├── color_2.png │ │ ├── color_3.png │ │ ├── color_4.png │ │ ├── color_5.png │ │ ├── color_6.png │ │ ├── color_7.png │ │ ├── color_8.png │ │ ├── color_9.png │ │ ├── depth_0.npy │ │ ├── depth_1.npy │ │ ├── depth_2.npy │ │ ├── depth_3.npy │ │ ├── depth_4.npy │ │ ├── depth_5.npy │ │ ├── depth_6.npy │ │ ├── depth_7.npy │ │ ├── depth_8.npy │ │ ├── depth_9.npy │ │ ├── segmask_0.png │ │ ├── segmask_1.png │ │ ├── segmask_2.png │ │ ├── segmask_3.png │ │ ├── segmask_4.png │ │ ├── segmask_5.png │ │ ├── segmask_6.png │ │ ├── segmask_7.png │ │ ├── segmask_8.png │ │ └── segmask_9.png └── training │ └── README.md ├── docker ├── cpu │ └── Dockerfile └── gpu │ └── Dockerfile ├── docs ├── Makefile ├── gh_deploy.sh ├── make.bat └── source │ ├── api │ ├── analysis.rst │ ├── gqcnn.rst │ ├── policies.rst │ └── training.rst │ ├── benchmarks │ └── benchmarks.rst │ ├── conf.py │ ├── images │ ├── cem.png │ ├── dataset_tensorboard_output.png │ ├── dexnet_benchmark.png │ ├── fcgqcnn_arch_diagram.png │ ├── gqcnn.png │ ├── gqcnn_leaderboard.png │ ├── plots │ │ ├── pj_error_rate.png │ │ ├── pj_roc.png │ │ ├── suction_error_rate.png │ │ └── suction_roc.png │ ├── policy_final_grasp.png │ ├── sample_grasp.png │ └── tensorboard.png │ ├── index.rst │ ├── info │ └── info.rst │ ├── install │ └── install.rst │ ├── license │ └── license.rst │ ├── replication │ └── replication.rst │ └── tutorials │ ├── analysis.rst │ ├── planning.rst │ ├── training.rst │ └── tutorial.rst ├── examples ├── antipodal_grasp_sampling.py ├── policy.py ├── policy_ros.py └── policy_with_image_proc.py ├── gqcnn ├── __init__.py ├── analysis │ ├── __init__.py │ └── analyzer.py ├── grasping │ ├── __init__.py │ ├── actions.py │ ├── constraint_fn.py │ ├── grasp.py │ ├── grasp_quality_function.py │ ├── image_grasp_sampler.py │ └── policy │ │ ├── __init__.py │ │ ├── enums.py │ │ ├── fc_policy.py │ │ └── policy.py ├── model │ ├── __init__.py │ └── tf │ │ ├── __init__.py │ │ ├── fc_network_tf.py │ │ └── network_tf.py ├── search │ ├── __init__.py │ ├── enums.py │ ├── resource_manager.py │ ├── search.py │ ├── trial.py │ └── utils.py ├── training │ ├── __init__.py │ └── tf │ │ ├── __init__.py │ │ └── trainer_tf.py ├── utils │ ├── __init__.py │ ├── enums.py │ ├── policy_exceptions.py │ ├── train_stats_logger.py │ └── utils.py └── version.py ├── launch └── grasp_planning_service.launch ├── msg ├── Action.msg ├── BoundingBox.msg ├── GQCNNGrasp.msg └── Observation.msg ├── package.xml ├── post-checkout ├── requirements ├── cpu_requirements.txt ├── docs_requirements.txt └── gpu_requirements.txt ├── ros_nodes └── grasp_planner_node.py ├── scripts ├── docker │ └── build-docker.sh ├── downloads │ ├── datasets │ │ ├── download_dex-net_2.0.sh │ │ ├── download_dex-net_2.1.sh │ │ ├── download_dex-net_3.0.sh │ │ ├── download_dex-net_4.0_fc_pj.sh │ │ ├── download_dex-net_4.0_fc_suction.sh │ │ ├── download_dex-net_4.0_pj.sh │ │ ├── download_dex-net_4.0_suction.sh │ │ └── download_example_datasets.sh │ ├── download_example_data.sh │ └── models │ │ └── download_models.sh ├── policies │ ├── run_all_dex-net_2.0_examples.sh │ ├── run_all_dex-net_2.1_examples.sh │ ├── run_all_dex-net_3.0_examples.sh │ ├── run_all_dex-net_4.0_fc_pj_examples.sh │ ├── run_all_dex-net_4.0_fc_suction_examples.sh │ ├── run_all_dex-net_4.0_pj_examples.sh │ └── run_all_dex-net_4.0_suction_examples.sh └── training │ ├── train_dex-net_2.0.sh │ ├── train_dex-net_2.1.sh │ ├── train_dex-net_3.0.sh │ ├── train_dex-net_4.0_fc_pj.sh │ ├── train_dex-net_4.0_fc_suction.sh │ ├── train_dex-net_4.0_pj.sh │ └── train_dex-net_4.0_suction.sh ├── setup.py ├── srv ├── GQCNNGraspPlanner.srv ├── GQCNNGraspPlannerBoundingBox.srv ├── GQCNNGraspPlannerFull.srv └── GQCNNGraspPlannerSegmask.srv └── tools ├── analyze_gqcnn_performance.py ├── finetune.py ├── hyperparam_search.py ├── plot_training_losses.py ├── run_policy.py └── train.py /.flake8: -------------------------------------------------------------------------------- 1 | [flake8] 2 | ignore = C408, E121, E123, E126, E226, E24, E704, W503, W504, W605 3 | exclude = docs/source/conf.py 4 | inline-quotes = " 5 | no-avoid-escape = 1 6 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug-performance-issue--custom-images-.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug/Performance Issue [Custom Images] 3 | about: You are testing your own images in software. 4 | title: 'Issue: Bug/Performance Issue [Custom Images]' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **System information** 11 | - OS Platform and Distribution (e.g., Linux Ubuntu 16.04): 12 | - Python version: 13 | - Installed using pip or ROS: 14 | - Camera: 15 | - GPU model (if applicable): 16 | 17 | **Describe what you are trying to do** 18 | 19 | **Describe current behavior** 20 | 21 | **Describe the expected behavior** 22 | 23 | **Describe the input images** 24 | Provide details such as original captured resolution, pre-processing, final resolution, etc. 25 | 26 | **Describe the physical camera setup** 27 | Provide details such as the distance from camera to workspace, orientation, etc.. Attach a picture if possible. 28 | 29 | **Other info / logs** 30 | Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached. 31 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug-performance-issue--physical-robot-.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug/Performance Issue [Physical Robot] 3 | about: You are running on a physical robot. 4 | title: 'Issue: Bug/Performance Issue [Physical Robot]' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **System information** 11 | - OS Platform and Distribution (e.g., Linux Ubuntu 16.04): 12 | - Python version: 13 | - Installed using pip or ROS: 14 | - Camera: 15 | - Gripper: 16 | - Robot: 17 | - GPU model (if applicable): 18 | 19 | **Describe what you are trying to do** 20 | Provide details such as what angle you are attempting grasps at relative to the workspace. 21 | 22 | **Describe current behavior** 23 | 24 | **Describe the expected behavior** 25 | 26 | **Describe the input images** 27 | Provide details such as original captured resolution, pre-processing, final resolution, etc. 28 | 29 | **Describe the physical camera setup** 30 | Provide details such as the distance from camera to workspace, orientation, etc.. Attach a picture if possible. 31 | 32 | **Describe the physical robot setup** 33 | Attach a picture if possible. 34 | 35 | **Other info / logs** 36 | Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached. 37 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug-performance-issue--replication-.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug/Performance Issue [Replication] 3 | about: You are replicating training or the policy with the provided images/datasets/models. 4 | title: 'Issue: Bug/Performance Issue [Replication]' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **System information** 11 | - OS Platform and Distribution (e.g., Linux Ubuntu 16.04): 12 | - Python version: 13 | - Installed using pip or ROS: 14 | - GPU model (if applicable): 15 | 16 | **Describe the result you are trying to replicate** 17 | If you can, provide a link to the section in the [documentation](https://berkeleyautomation.github.io/gqcnn/index.html). 18 | 19 | **Provide the exact sequence of commands / steps that you executed to replicate this result** 20 | 21 | **Describe the unexpected behavior** 22 | 23 | **Other info / logs** 24 | Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached. 25 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/installation-issue.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Installation Issue 3 | about: You are experiencing installation issues. 4 | title: 'Issue: Installation Issue' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **System information** 11 | - OS Platform and Distribution (e.g., Linux Ubuntu 16.04): 12 | - Python version: 13 | - Installed using pip or ROS: 14 | 15 | **Describe the problem** 16 | 17 | **Provide the exact sequence of commands / steps that you executed before running into the problem** 18 | 19 | **Any other info / logs** 20 | Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached. 21 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/other-issue.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Other Issue 3 | about: Your issue doesn't fall into the above categories. 4 | title: 'Issue: Other Issue' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **System information** 11 | - OS Platform and Distribution (e.g., Linux Ubuntu 16.04): 12 | - Python version: 13 | - Installed using pip or ROS: 14 | 15 | **What is the problem** 16 | Provide as much detail as possible and steps to replicate it if applicable. 17 | 18 | **Other info / logs** 19 | Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached. 20 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | *$py.class 5 | 6 | # C extensions 7 | *.so 8 | 9 | # Distribution / packaging 10 | .Python 11 | env/ 12 | build/ 13 | develop-eggs/ 14 | dist/ 15 | downloads/ 16 | data/training/ 17 | eggs/ 18 | .eggs/ 19 | lib/ 20 | lib64/ 21 | parts/ 22 | sdist/ 23 | var/ 24 | *.egg-info/ 25 | .installed.cfg 26 | *.egg 27 | 28 | # PyInstaller 29 | # Usually these files are written by a python script from a template 30 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 31 | *.manifest 32 | *.spec 33 | 34 | # Installer logs 35 | pip-log.txt 36 | pip-delete-this-directory.txt 37 | 38 | # Unit test / coverage reports 39 | htmlcov/ 40 | .tox/ 41 | .coverage 42 | .coverage.* 43 | .cache 44 | nosetests.xml 45 | coverage.xml 46 | *,cover 47 | .hypothesis/ 48 | 49 | # Translations 50 | *.mo 51 | *.pot 52 | 53 | # Django stuff: 54 | *.log 55 | local_settings.py 56 | 57 | # Flask stuff: 58 | instance/ 59 | .webassets-cache 60 | 61 | # Scrapy stuff: 62 | .scrapy 63 | 64 | # PyBuilder 65 | target/ 66 | 67 | # IPython Notebook 68 | .ipynb_checkpoints 69 | 70 | # pyenv 71 | .python-version 72 | 73 | # celery beat schedule file 74 | celerybeat-schedule 75 | 76 | # dotenv 77 | .env 78 | 79 | # virtualenv 80 | venv/ 81 | ENV/ 82 | 83 | # Spyder project settings 84 | .spyderproject 85 | 86 | # Rope project settings 87 | .ropeproject 88 | 89 | # Temp files 90 | *~ 91 | .#* 92 | #* -------------------------------------------------------------------------------- /.style.yapf: -------------------------------------------------------------------------------- 1 | [style] 2 | based_on_style=pep8 3 | allow_split_before_dict_value=False 4 | join_multiple_lines=False 5 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | # Copyright ©2017. The Regents of the University of California (Regents). 2 | # All Rights Reserved. Permission to use, copy, modify, and distribute this 3 | # software and its documentation for educational, research, and not-for-profit 4 | # purposes, without fee and without a signed licensing agreement, is hereby 5 | # granted, provided that the above copyright notice, this paragraph and the 6 | # following two paragraphs appear in all copies, modifications, and 7 | # distributions. Contact The Office of Technology Licensing, UC Berkeley, 2150 8 | # Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643-7201, 9 | # otl@berkeley.edu, 10 | # http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 11 | 12 | # IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 13 | # INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 14 | # THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 15 | # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 16 | 17 | # REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 18 | # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 19 | # PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 20 | # HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 21 | # MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 22 | language: python 23 | 24 | matrix: 25 | - name: "Python 3.5 on Xenial Linux" 26 | python: 3.5 27 | dist: xenial 28 | 29 | - name: "Python 3.6 on Xenial Linux" 30 | python: 3.6 31 | dist: xenial 32 | 33 | - name: "Python 3.7 on Xenial Linux" 34 | python: 3.7 35 | dist: xenial 36 | 37 | - name: "Linter" 38 | python: 3.7 39 | dist: xenial 40 | before_install: [] 41 | install: [] 42 | script: 43 | - pip install yapf==0.27.0 # Must use specific version. 44 | - pip install flake8 flake8-comprehensions flake8-quotes==2.0.0 45 | - ./ci/travis/format.sh --all # Should exit with 0 for no diffs. 46 | - flake8 47 | 48 | before_install: 49 | - sudo apt-get update 50 | - sudo apt-get install -y curl g++ make 51 | - sudo apt-get install -y python-opengl # For GLU. 52 | - pushd ~ 53 | - curl -L http://download.osgeo.org/libspatialindex/spatialindex-src-1.8.5.tar.gz | tar xz 54 | - cd spatialindex-src-1.8.5 55 | - ./configure 56 | - make 57 | - sudo make install 58 | - sudo ldconfig 59 | - popd 60 | - pip install -U setuptools # Required for easy_install to find right 61 | # skimage version for Python 3.5. 62 | 63 | install: 64 | - pip install . 65 | 66 | script: 67 | - python -c "import gqcnn" 68 | 69 | notifications: 70 | email: false 71 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright ©2017. The Regents of the University of California (Regents). All Rights Reserved. 2 | Permission to use, copy, modify, and distribute this software and its documentation for educational, 3 | research, and not-for-profit purposes, without fee and without a signed licensing agreement, is 4 | hereby granted, provided that the above copyright notice, this paragraph and the following two 5 | paragraphs appear in all copies, modifications, and distributions. Contact The Office of Technology 6 | Licensing, UC Berkeley, 2150 Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643- 7 | 7201, otl@berkeley.edu, http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 8 | 9 | IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 10 | INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 11 | THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 12 | ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 13 | 14 | REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 15 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 16 | PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 17 | HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 18 | MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 19 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## Note: Python 2.x support has officially been dropped. 2 | 3 | # Berkeley AUTOLAB's GQCNN Package 4 |

5 | 6 | Build Status 7 | 8 | 9 | Release 10 | 11 | 12 | Software License 13 | 14 | 15 | Python 3 Versions 16 | 17 |

18 | 19 | ## Package Overview 20 | The gqcnn Python package is for training and analysis of Grasp Quality Convolutional Neural Networks (GQ-CNNs). It is part of the ongoing [Dexterity-Network (Dex-Net)](https://berkeleyautomation.github.io/dex-net/) project created and maintained by the [AUTOLAB](https://autolab.berkeley.edu) at UC Berkeley. 21 | 22 | ## Installation and Usage 23 | Please see the [docs](https://berkeleyautomation.github.io/gqcnn/) for installation and usage instructions. 24 | 25 | ## Citation 26 | If you use any part of this code in a publication, please cite [the appropriate Dex-Net publication](https://berkeleyautomation.github.io/gqcnn/index.html#academic-use). 27 | 28 | -------------------------------------------------------------------------------- /cfg/examples/antipodal_grasp_sampling.yaml: -------------------------------------------------------------------------------- 1 | # policy params 2 | policy: 3 | # general params 4 | deterministic: 1 5 | gripper_width: 0.05 6 | 7 | # sampling params 8 | sampling: 9 | # type 10 | type: antipodal_depth 11 | 12 | # antipodality 13 | friction_coef: 0.5 14 | depth_grad_thresh: 0.0025 15 | depth_grad_gaussian_sigma: 1.0 16 | downsample_rate: 4 17 | max_rejection_samples: 4000 18 | 19 | # distance 20 | max_dist_from_center: 1000 21 | min_dist_from_boundary: 45 22 | min_grasp_dist: 10.0 23 | angle_dist_weight: 5.0 24 | 25 | # depth sampling 26 | depth_sampling_mode: uniform 27 | depth_samples_per_grasp: 1 28 | depth_sample_win_height: 1 29 | depth_sample_win_width: 1 30 | min_depth_offset: 0.015 31 | max_depth_offset: 0.05 32 | 33 | # metrics 34 | metric: 35 | type: zero 36 | 37 | # visualization 38 | vis: 39 | grasp_sampling: 0 40 | final_grasp: 1 41 | vmin: 0.4 42 | vmax: 1.0 43 | -------------------------------------------------------------------------------- /cfg/examples/fc_gqcnn_pj.yaml: -------------------------------------------------------------------------------- 1 | policy: 2 | type: fully_conv_pj 3 | 4 | sampling_method: top_k 5 | num_depth_bins: 16 6 | gripper_width: 0.05 7 | gqcnn_stride: 4 8 | gqcnn_recep_h: 96 9 | gqcnn_recep_w: 96 10 | 11 | # filtering params 12 | max_grasps_to_filter: 50 13 | filter_grasps: 0 14 | 15 | # metrics 16 | metric: 17 | type: fcgqcnn 18 | gqcnn_model: /path/to/your/FC-GQ-Image-Wise 19 | gqcnn_backend: tf 20 | fully_conv_gqcnn_config: 21 | im_height: 386 22 | im_width: 516 23 | 24 | # visualization 25 | policy_vis: 26 | scale: 0.5 27 | show_axis: 1 28 | num_samples: 0 29 | actions_2d: 0 30 | actions_3d: 0 31 | affordance_map: 0 32 | vis: 33 | final_grasp: 1 34 | 35 | vmin: 0.5 36 | vmax: 0.8 37 | 38 | # image pre-processing before input to policy 39 | inpaint_rescale_factor: 0.5 40 | -------------------------------------------------------------------------------- /cfg/examples/fc_gqcnn_suction.yaml: -------------------------------------------------------------------------------- 1 | policy: 2 | type: fully_conv_suction 3 | 4 | sampling_method: top_k 5 | gqcnn_stride: 4 6 | gqcnn_recep_h: 96 7 | gqcnn_recep_w: 96 8 | 9 | # filtering params 10 | max_grasps_to_filter: 50 11 | filter_grasps: 0 12 | 13 | # metrics 14 | metric: 15 | type: fcgqcnn 16 | gqcnn_model: /path/to/your/FC-GQ-Image-Wise-Suction 17 | gqcnn_backend: tf 18 | fully_conv_gqcnn_config: 19 | im_height: 386 20 | im_width: 516 21 | 22 | # visualization 23 | policy_vis: 24 | scale: 0.5 25 | show_axis: 1 26 | num_samples: 0 27 | actions_2d: 0 28 | actions_3d: 0 29 | affordance_map: 0 30 | vis: 31 | final_grasp: 1 32 | 33 | vmin: 0.5 34 | vmax: 0.8 35 | 36 | # image pre-processing before input to policy 37 | inpaint_rescale_factor: 0.5 38 | -------------------------------------------------------------------------------- /cfg/examples/gqcnn_pj.yaml: -------------------------------------------------------------------------------- 1 | policy: 2 | # optimization params 3 | num_seed_samples: 128 4 | num_gmm_samples: 64 5 | num_iters: 3 6 | gmm_refit_p: 0.25 7 | gmm_component_frac: 0.4 8 | gmm_reg_covar: 0.01 9 | 10 | # general params 11 | deterministic: 1 12 | gripper_width: 0.05 13 | 14 | # sampling params 15 | sampling: 16 | # type 17 | type: antipodal_depth 18 | 19 | # antipodality 20 | friction_coef: 1.0 21 | depth_grad_thresh: 0.0025 22 | depth_grad_gaussian_sigma: 1.0 23 | downsample_rate: 4 24 | max_rejection_samples: 4000 25 | 26 | # distance 27 | max_dist_from_center: 160 28 | min_dist_from_boundary: 45 29 | min_grasp_dist: 2.5 30 | angle_dist_weight: 5.0 31 | 32 | # depth sampling 33 | depth_sampling_mode: uniform 34 | depth_samples_per_grasp: 3 35 | depth_sample_win_height: 1 36 | depth_sample_win_width: 1 37 | min_depth_offset: 0.015 38 | max_depth_offset: 0.05 39 | 40 | # metrics 41 | metric: 42 | type: gqcnn 43 | gqcnn_model: models/GQCNN-4.0-PJ 44 | 45 | crop_height: 96 46 | crop_width: 96 47 | 48 | # visualization 49 | vis: 50 | grasp_sampling : 0 51 | tf_images: 0 52 | grasp_candidates: 0 53 | elite_grasps: 0 54 | grasp_ranking: 0 55 | grasp_plan: 0 56 | final_grasp: 1 57 | 58 | vmin: 0.5 59 | vmax: 0.8 60 | 61 | k: 25 62 | 63 | # image proc params 64 | inpaint_rescale_factor: 0.5 65 | -------------------------------------------------------------------------------- /cfg/examples/gqcnn_suction.yaml: -------------------------------------------------------------------------------- 1 | policy: 2 | # optimization params 3 | num_seed_samples: 200 4 | num_gmm_samples: 50 5 | num_iters: 3 6 | gmm_refit_p: 0.25 7 | gmm_component_frac: 0.4 8 | gmm_reg_covar: 0.01 9 | 10 | # general params 11 | deterministic: 1 12 | gripper_width: 0.05 13 | crop_height: 96 14 | crop_width: 96 15 | 16 | # sampling params 17 | sampling: 18 | # type 19 | type: suction 20 | 21 | # params 22 | max_suction_dir_optical_axis_angle: 30 23 | delta_theta: 5 24 | delta_phi: 5 25 | sigma_depth: 0.0025 26 | min_suction_dist: 1.0 27 | angle_dist_weight: 5.0 28 | depth_gaussian_sigma: 1.0 29 | num_grasp_samples: 1000 30 | 31 | max_dist_from_center: 260 32 | max_num_samples: 10000 33 | 34 | # metric params 35 | metric: 36 | type: gqcnn 37 | gqcnn_model: models/GQCNN-4.0-SUCTION 38 | 39 | crop_height: 96 40 | crop_width: 96 41 | 42 | # visualization 43 | vis: 44 | grasp_sampling : 0 45 | tf_images: 0 46 | plane: 0 47 | grasp_candidates: 0 48 | elite_grasps: 0 49 | grasp_ranking: 0 50 | grasp_plan: 0 51 | grasp_affordance_map: 0 52 | final_grasp: 1 53 | 54 | vmin: 0.5 55 | vmax: 0.8 56 | 57 | k: 25 58 | 59 | # image proc params 60 | inpaint_rescale_factor: 0.5 61 | 62 | # detection params 63 | detection: 64 | type: point_cloud_box 65 | 66 | foreground_mask_tolerance: 60 67 | min_pt: 68 | - 0.205 69 | - -0.3 70 | - 0.01 71 | 72 | max_pt: 73 | - 0.65 74 | - 0.3 75 | - 0.15 76 | 77 | selection_policy: min 78 | focus: 0 79 | 80 | min_contour_area: 250.0 81 | max_contour_area: 1000000.0 82 | min_box_area: 250.0 83 | max_box_area: 1000000.0 84 | box_padding_px: 15 85 | 86 | rescale_factor: 1.0 87 | interpolation: bilinear 88 | depth_grad_thresh: 10.0 89 | contour_dist_thresh: 2.5 90 | 91 | point_cloud_mask_only: 1 92 | 93 | image_width: 640 94 | image_height: 480 95 | 96 | filter_dim: 1 97 | -------------------------------------------------------------------------------- /cfg/examples/replication/dex-net_2.0.yaml: -------------------------------------------------------------------------------- 1 | # policy params 2 | policy: 3 | # optimization params 4 | num_seed_samples: 250 5 | num_gmm_samples: 50 6 | num_iters: 3 7 | gmm_refit_p: 0.25 8 | gmm_component_frac: 0.4 9 | gmm_reg_covar: 0.01 10 | 11 | # general params 12 | deterministic: 1 13 | gripper_width: 0.05 14 | 15 | # sampling params 16 | sampling: 17 | # type 18 | type: antipodal_depth 19 | 20 | # antipodality 21 | friction_coef: 0.8 22 | depth_grad_thresh: 0.0025 23 | depth_grad_gaussian_sigma: 1.0 24 | downsample_rate: 2 25 | max_rejection_samples: 4000 26 | 27 | # distance 28 | max_dist_from_center: 160 29 | min_dist_from_boundary: 45 30 | min_grasp_dist: 2.5 31 | angle_dist_weight: 5.0 32 | 33 | # depth sampling 34 | depth_sampling_mode: uniform 35 | depth_samples_per_grasp: 1 36 | depth_sample_win_height: 1 37 | depth_sample_win_width: 1 38 | min_depth_offset: 0.005 39 | max_depth_offset: 0.04 40 | 41 | # metrics 42 | metric: 43 | type: gqcnn 44 | gqcnn_model: models/GQCNN-2.0 45 | 46 | crop_height: 96 47 | crop_width: 96 48 | 49 | # visualization 50 | vis: 51 | grasp_sampling : 0 52 | tf_images: 0 53 | grasp_candidates: 0 54 | elite_grasps: 0 55 | grasp_ranking: 0 56 | grasp_plan: 0 57 | final_grasp: 1 58 | 59 | vmin: 0.0 60 | vmax: 1.0 61 | 62 | k: 25 63 | 64 | # image proc params 65 | inpaint_rescale_factor: 0.5 66 | -------------------------------------------------------------------------------- /cfg/examples/replication/dex-net_2.1.yaml: -------------------------------------------------------------------------------- 1 | # policy params 2 | policy: 3 | # optimization params 4 | num_seed_samples: 250 5 | num_gmm_samples: 50 6 | num_iters: 3 7 | gmm_refit_p: 0.25 8 | gmm_component_frac: 0.4 9 | gmm_reg_covar: 0.01 10 | 11 | # general params 12 | deterministic: 1 13 | gripper_width: 0.05 14 | 15 | # sampling params 16 | sampling: 17 | # type 18 | type: antipodal_depth 19 | 20 | # antipodality 21 | friction_coef: 0.8 22 | depth_grad_thresh: 0.0025 23 | depth_grad_gaussian_sigma: 1.0 24 | downsample_rate: 2 25 | max_rejection_samples: 4000 26 | 27 | # distance 28 | max_dist_from_center: 160 29 | min_dist_from_boundary: 45 30 | min_grasp_dist: 2.5 31 | angle_dist_weight: 5.0 32 | 33 | # depth sampling 34 | depth_sampling_mode: uniform 35 | depth_samples_per_grasp: 1 36 | depth_sample_win_height: 1 37 | depth_sample_win_width: 1 38 | min_depth_offset: 0.005 39 | max_depth_offset: 0.04 40 | 41 | # metrics 42 | metric: 43 | type: gqcnn 44 | gqcnn_model: models/GQCNN-2.1 45 | 46 | crop_height: 96 47 | crop_width: 96 48 | 49 | # visualization 50 | vis: 51 | grasp_sampling : 0 52 | tf_images: 0 53 | grasp_candidates: 0 54 | elite_grasps: 0 55 | grasp_ranking: 0 56 | grasp_plan: 0 57 | final_grasp: 1 58 | 59 | vmin: 0.0 60 | vmax: 1.0 61 | 62 | k: 25 63 | 64 | # image proc params 65 | inpaint_rescale_factor: 0.5 66 | -------------------------------------------------------------------------------- /cfg/examples/replication/dex-net_3.0.yaml: -------------------------------------------------------------------------------- 1 | # policy params 2 | policy: 3 | # optimization params 4 | num_seed_samples: 250 5 | num_gmm_samples: 50 6 | num_iters: 3 7 | gmm_refit_p: 0.25 8 | gmm_component_frac: 0.4 9 | gmm_reg_covar: 0.01 10 | 11 | # general params 12 | deterministic: 1 13 | max_approach_angle: 80 14 | 15 | # sampling params 16 | sampling: 17 | # type 18 | type: suction 19 | 20 | # params 21 | max_suction_dir_optical_axis_angle: 30 22 | delta_theta: 1 23 | delta_phi: 1 24 | mean_depth: 0.0025 25 | sigma_depth: 0.000001 26 | min_suction_dist: 1.0 27 | angle_dist_weight: 5.0 28 | depth_gaussian_sigma: 1.0 29 | 30 | max_dist_from_center: 10000000000 31 | max_num_samples: 10000 32 | 33 | num_grasp_samples: 500 34 | 35 | # metric params 36 | metric: 37 | type: gqcnn 38 | gqcnn_model: models/GQCNN-3.0 39 | 40 | crop_height: 96 41 | crop_width: 96 42 | 43 | # visualization 44 | vis: 45 | grasp_sampling : 0 46 | tf_images: 0 47 | plane: 0 48 | grasp_candidates: 0 49 | elite_grasps: 0 50 | grasp_ranking: 0 51 | grasp_plan: 0 52 | final_grasp: 1 53 | 54 | vmin: 0.0 55 | vmax: 1.0 56 | 57 | k: 25 58 | 59 | # image proc params 60 | inpaint_rescale_factor: 0.5 61 | -------------------------------------------------------------------------------- /cfg/examples/replication/dex-net_4.0_fc_pj.yaml: -------------------------------------------------------------------------------- 1 | policy: 2 | type: fully_conv_pj 3 | 4 | sampling_method: top_k 5 | num_depth_bins: 16 6 | gripper_width: 0.05 7 | gqcnn_stride: 4 8 | gqcnn_recep_h: 96 9 | gqcnn_recep_w: 96 10 | 11 | # filtering params 12 | max_grasps_to_filter: 50 13 | filter_grasps: 0 14 | 15 | # metrics 16 | metric: 17 | type: fcgqcnn 18 | gqcnn_model: models/FCGQCNN-4.0-PJ 19 | gqcnn_backend: tf 20 | fully_conv_gqcnn_config: 21 | im_height: 480 22 | im_width: 640 23 | 24 | # visualization 25 | policy_vis: 26 | scale: 0.5 27 | show_axis: 1 28 | num_samples: 0 29 | actions_2d: 0 30 | actions_3d: 0 31 | affordance_map: 0 32 | vis: 33 | final_grasp: 1 34 | 35 | vmin: 0.0 36 | vmax: 1.0 37 | 38 | # image pre-processing before input to policy 39 | inpaint_rescale_factor: 0.5 40 | -------------------------------------------------------------------------------- /cfg/examples/replication/dex-net_4.0_fc_suction.yaml: -------------------------------------------------------------------------------- 1 | policy: 2 | type: fully_conv_suction 3 | 4 | sampling_method: top_k 5 | gqcnn_stride: 4 6 | gqcnn_recep_h: 96 7 | gqcnn_recep_w: 96 8 | 9 | # filtering params 10 | max_grasps_to_filter: 50 11 | filter_grasps: 0 12 | 13 | # metrics 14 | metric: 15 | type: fcgqcnn 16 | gqcnn_model: models/FCGQCNN-4.0-SUCTION 17 | gqcnn_backend: tf 18 | fully_conv_gqcnn_config: 19 | im_height: 480 20 | im_width: 640 21 | 22 | # visualization 23 | policy_vis: 24 | scale: 0.5 25 | show_axis: 1 26 | num_samples: 0 27 | actions_2d: 0 28 | actions_3d: 0 29 | affordance_map: 0 30 | vis: 31 | final_grasp: 1 32 | 33 | vmin: 0.0 34 | vmax: 1.0 35 | 36 | # image pre-processing before input to policy 37 | inpaint_rescale_factor: 0.5 38 | -------------------------------------------------------------------------------- /cfg/examples/replication/dex-net_4.0_pj.yaml: -------------------------------------------------------------------------------- 1 | policy: 2 | # optimization params 3 | num_seed_samples: 128 4 | num_gmm_samples: 64 5 | num_iters: 3 6 | gmm_refit_p: 0.25 7 | gmm_component_frac: 0.4 8 | gmm_reg_covar: 0.01 9 | 10 | # general params 11 | deterministic: 1 12 | gripper_width: 0.05 13 | 14 | # sampling params 15 | sampling: 16 | # type 17 | type: antipodal_depth 18 | 19 | # antipodality 20 | friction_coef: 1.0 21 | depth_grad_thresh: 0.0025 22 | depth_grad_gaussian_sigma: 1.0 23 | downsample_rate: 4 24 | max_rejection_samples: 4000 25 | 26 | # distance 27 | max_dist_from_center: 160 28 | min_dist_from_boundary: 45 29 | min_grasp_dist: 2.5 30 | angle_dist_weight: 5.0 31 | 32 | # depth sampling 33 | depth_sampling_mode: uniform 34 | depth_samples_per_grasp: 3 35 | depth_sample_win_height: 1 36 | depth_sample_win_width: 1 37 | min_depth_offset: 0.015 38 | max_depth_offset: 0.05 39 | 40 | # metrics 41 | metric: 42 | type: gqcnn 43 | gqcnn_model: models/GQCNN-4.0-PJ 44 | 45 | crop_height: 96 46 | crop_width: 96 47 | 48 | # visualization 49 | vis: 50 | grasp_sampling : 0 51 | tf_images: 0 52 | grasp_candidates: 0 53 | elite_grasps: 0 54 | grasp_ranking: 0 55 | grasp_plan: 0 56 | final_grasp: 1 57 | 58 | vmin: 0.0 59 | vmax: 1.0 60 | 61 | k: 25 62 | 63 | # image proc params 64 | inpaint_rescale_factor: 0.5 65 | -------------------------------------------------------------------------------- /cfg/examples/replication/dex-net_4.0_suction.yaml: -------------------------------------------------------------------------------- 1 | policy: 2 | # optimization params 3 | num_seed_samples: 200 4 | num_gmm_samples: 50 5 | num_iters: 3 6 | gmm_refit_p: 0.25 7 | gmm_component_frac: 0.4 8 | gmm_reg_covar: 0.01 9 | 10 | # general params 11 | deterministic: 1 12 | gripper_width: 0.05 13 | crop_height: 96 14 | crop_width: 96 15 | 16 | # sampling params 17 | sampling: 18 | # type 19 | type: suction 20 | 21 | # params 22 | max_suction_dir_optical_axis_angle: 30 23 | delta_theta: 5 24 | delta_phi: 5 25 | sigma_depth: 0.0025 26 | min_suction_dist: 1.0 27 | angle_dist_weight: 5.0 28 | depth_gaussian_sigma: 1.0 29 | num_grasp_samples: 1000 30 | 31 | max_dist_from_center: 260 32 | max_num_samples: 10000 33 | 34 | # metric params 35 | metric: 36 | type: gqcnn 37 | gqcnn_model: models/GQCNN-4.0-SUCTION 38 | 39 | crop_height: 96 40 | crop_width: 96 41 | 42 | # visualization 43 | vis: 44 | grasp_sampling : 0 45 | tf_images: 0 46 | plane: 0 47 | grasp_candidates: 0 48 | elite_grasps: 0 49 | grasp_ranking: 0 50 | grasp_plan: 0 51 | grasp_affordance_map: 0 52 | final_grasp: 1 53 | 54 | vmin: 0.0 55 | vmax: 1.0 56 | 57 | k: 25 58 | 59 | # image proc params 60 | inpaint_rescale_factor: 0.5 61 | 62 | # detection params 63 | detection: 64 | type: point_cloud_box 65 | 66 | foreground_mask_tolerance: 60 67 | min_pt: 68 | - 0.205 69 | - -0.3 70 | - 0.01 71 | 72 | max_pt: 73 | - 0.65 74 | - 0.3 75 | - 0.15 76 | 77 | selection_policy: min 78 | focus: 0 79 | 80 | min_contour_area: 250.0 81 | max_contour_area: 1000000.0 82 | min_box_area: 250.0 83 | max_box_area: 1000000.0 84 | box_padding_px: 15 85 | 86 | rescale_factor: 1.0 87 | interpolation: bilinear 88 | depth_grad_thresh: 10.0 89 | contour_dist_thresh: 2.5 90 | 91 | point_cloud_mask_only: 1 92 | 93 | image_width: 640 94 | image_height: 480 95 | 96 | filter_dim: 1 97 | -------------------------------------------------------------------------------- /cfg/examples/ros/fc_gqcnn_pj.yaml: -------------------------------------------------------------------------------- 1 | !include ../fc_gqcnn_pj.yaml 2 | 3 | # ROS-specific visualization 4 | vis: 5 | rgbd_state: 0 6 | cropped_rgbd_image: 0 7 | color_image: 0 8 | depth_image: 0 9 | segmask: 0 10 | 11 | -------------------------------------------------------------------------------- /cfg/examples/ros/fc_gqcnn_suction.yaml: -------------------------------------------------------------------------------- 1 | !include ../fc_gqcnn_suction.yaml 2 | 3 | # ROS-specific visualization 4 | vis: 5 | rgbd_state: 0 6 | cropped_rgbd_image: 0 7 | color_image: 0 8 | depth_image: 0 9 | segmask: 0 10 | 11 | -------------------------------------------------------------------------------- /cfg/examples/ros/gqcnn_pj.yaml: -------------------------------------------------------------------------------- 1 | !include ../gqcnn_pj.yaml 2 | 3 | # ROS-specific visualization 4 | vis: 5 | rgbd_state: 0 6 | cropped_rgbd_image: 0 7 | color_image: 0 8 | depth_image: 0 9 | segmask: 0 10 | 11 | -------------------------------------------------------------------------------- /cfg/examples/ros/gqcnn_suction.yaml: -------------------------------------------------------------------------------- 1 | !include ../gqcnn_suction.yaml 2 | 3 | # ROS-specific visualization 4 | vis: 5 | rgbd_state: 0 6 | cropped_rgbd_image: 0 7 | color_image: 0 8 | depth_image: 0 9 | segmask: 0 10 | 11 | -------------------------------------------------------------------------------- /cfg/tools/analyze_gqcnn_performance.yaml: -------------------------------------------------------------------------------- 1 | log_rate: 10 2 | font_size: 15 3 | line_width: 4 4 | dpi: 100 5 | num_bins: 100 6 | num_vis: 10 7 | -------------------------------------------------------------------------------- /cfg/tools/run_policy.yaml: -------------------------------------------------------------------------------- 1 | # policy params 2 | policy: 3 | # optimization params 4 | num_seed_samples: 250 5 | num_gmm_samples: 100 6 | num_iters: 3 7 | gmm_refit_p: 0.125 8 | gmm_component_frac: 0.8 9 | gmm_reg_covar: 0.01 10 | max_resamples_per_iteration: 10 11 | 12 | # general params 13 | deterministic: 0 14 | gripper: yumi_metal_spline 15 | gripper_width: 0.05 16 | max_approach_angle: 60 17 | logging_dir: logs/debug 18 | 19 | # sampling params 20 | sampling: 21 | # type 22 | type: antipodal_depth 23 | 24 | # antipodality 25 | friction_coef: 0.8 26 | depth_grad_thresh: 0.002 27 | depth_grad_gaussian_sigma: 0.5 28 | min_num_edge_pixels: 25 29 | downsample_rate: 2 30 | max_rejection_samples: 4000 31 | 32 | # distance 33 | max_dist_from_center: 100000 34 | min_dist_from_boundary: 45 35 | min_grasp_dist: 1.0 36 | angle_dist_weight: 5.0 37 | 38 | # depth sampling 39 | depth_samples_per_grasp: 1 40 | depth_sample_win_height: 1 41 | depth_sample_win_width: 1 42 | 43 | depth_sampling_mode: uniform 44 | min_depth_offset: 0.015 45 | max_depth_offset: 0.04 46 | 47 | # metric params 48 | metric: 49 | type: gqcnn 50 | 51 | gqcnn_model: /mnt/data/diskstation/models/icra2019/gqcnn_mini_dexnet/ 52 | 53 | crop_height: 96 54 | crop_width: 96 55 | 56 | # filter params 57 | filter_collisions: 1 58 | filter_ik: 1 59 | filter_unreachable: 0 60 | max_grasps_filter: 10 61 | 62 | collision_free_filter: 63 | approach_dist: 0.075 64 | rescale_factor: 0.125 65 | ik_filter: 66 | approach_dist: 0.075 67 | traj_len: 0 68 | group_name: left_jaws 69 | ik_timeout: 0.1 70 | reachability_filter: 71 | unreachable_pose_dir: /mnt/data/diskstation/unreachable_poses/left/ 72 | min_rot_dist: 0.1 73 | min_trans_dist: 0.01 74 | 75 | # visualization 76 | vis: 77 | input_images: 0 78 | grasp_sampling : 0 79 | tf_images: 0 80 | grasp_candidates: 0 81 | elite_grasps: 0 82 | grasp_ranking: 0 83 | grasp_plan: 0 84 | seg_point_cloud: 0 85 | filtered_point_cloud: 0 86 | final_grasp: 1 87 | 88 | grasp_scale: 1 89 | 90 | vmin: 0.6 91 | vmax: 0.9 92 | 93 | k: 25 94 | -------------------------------------------------------------------------------- /cfg/train_dex-net_2.0.yaml: -------------------------------------------------------------------------------- 1 | # general optimization params 2 | train_batch_size: 64 3 | val_batch_size: &val_batch_size 64 4 | 5 | # logging params 6 | num_epochs: 50 # number of epochs to train for 7 | eval_frequency: 5 # how often to get validation error (in epochs) 8 | save_frequency: 5 # how often to save output (in epochs) 9 | vis_frequency: 10000 # how often to visualize filters (in epochs) 10 | log_frequency: 1 # how often to log output (in steps) 11 | 12 | # train / val split params 13 | train_pct: 0.8 # percentage of the data to use for training vs validation 14 | total_pct: 1.0 # percentage of all the files to use 15 | eval_total_train_error: 0 # whether or not to evaluate the total training error on each validataion 16 | max_files_eval: 1000 # the number of validation files to use in each eval 17 | 18 | # optimization params 19 | loss: sparse 20 | optimizer: momentum 21 | train_l2_regularizer: 0.0005 22 | base_lr: 0.01 23 | decay_step_multiplier: 0.66 # number of times to go through training datapoints before stepping down decay rate (in epochs) 24 | decay_rate: 0.95 25 | momentum_rate: 0.9 26 | max_training_examples_per_load: 128 27 | drop_rate: 0.0 28 | max_global_grad_norm: 100000000000 29 | 30 | # input params 31 | training_mode: classification 32 | image_field_name: depth_ims_tf_table 33 | pose_field_name: hand_poses 34 | 35 | # label params 36 | target_metric_name: robust_ferrari_canny # name of the field to use for the labels 37 | metric_thresh: 0.002 # threshold for positive examples (label = 1 if grasp_metric > metric_thresh) 38 | 39 | # preproc params 40 | num_random_files: 10000 # the number of random files to compute dataset statistics in preprocessing (lower speeds initialization) 41 | preproc_log_frequency: 100 # how often to log preprocessing (in steps) 42 | 43 | # denoising / synthetic data params 44 | multiplicative_denoising: 1 45 | gamma_shape: 1000.00 46 | 47 | symmetrize: 1 48 | 49 | gaussian_process_denoising: 1 50 | gaussian_process_rate: 0.5 51 | gaussian_process_scaling_factor: 4.0 52 | gaussian_process_sigma: 0.005 53 | 54 | # tensorboard 55 | tensorboard_port: 6006 56 | 57 | # debugging params 58 | debug: &debug 0 59 | debug_num_files: 10 # speeds up initialization 60 | seed: &seed 24098 61 | 62 | ### GQCNN CONFIG ### 63 | gqcnn: 64 | # basic data metrics 65 | im_height: 32 66 | im_width: 32 67 | im_channels: 1 68 | debug: *debug 69 | seed: *seed 70 | 71 | # needs to match input data mode that was used for training, determines the pose dimensions for the network 72 | gripper_mode: legacy_parallel_jaw 73 | 74 | # prediction batch size, in training this will be overriden by the val_batch_size in the optimizer's config file 75 | batch_size: *val_batch_size 76 | 77 | # architecture 78 | architecture: 79 | im_stream: 80 | conv1_1: 81 | type: conv 82 | filt_dim: 7 83 | num_filt: 64 84 | pool_size: 1 85 | pool_stride: 1 86 | pad: SAME 87 | norm: 0 88 | norm_type: local_response 89 | conv1_2: 90 | type: conv 91 | filt_dim: 5 92 | num_filt: 64 93 | pool_size: 2 94 | pool_stride: 2 95 | pad: SAME 96 | norm: 1 97 | norm_type: local_response 98 | conv2_1: 99 | type: conv 100 | filt_dim: 3 101 | num_filt: 64 102 | pool_size: 1 103 | pool_stride: 1 104 | pad: SAME 105 | norm: 0 106 | norm_type: local_response 107 | conv2_2: 108 | type: conv 109 | filt_dim: 3 110 | num_filt: 64 111 | pool_size: 2 112 | pool_stride: 2 113 | pad: SAME 114 | norm: 1 115 | norm_type: local_response 116 | fc3: 117 | type: fc 118 | out_size: 1024 119 | pose_stream: 120 | pc1: 121 | type: pc 122 | out_size: 16 123 | pc2: 124 | type: pc 125 | out_size: 0 126 | merge_stream: 127 | fc4: 128 | type: fc_merge 129 | out_size: 1024 130 | fc5: 131 | type: fc 132 | out_size: 2 133 | 134 | # architecture normalization constants 135 | radius: 2 136 | alpha: 2.0e-05 137 | beta: 0.75 138 | bias: 1.0 139 | 140 | # leaky relu coefficient 141 | relu_coeff: 0.0 142 | -------------------------------------------------------------------------------- /cfg/train_dex-net_4.0_fc_pj.yaml: -------------------------------------------------------------------------------- 1 | # general optimization params 2 | train_batch_size: 64 3 | val_batch_size: &val_batch_size 64 4 | 5 | # logging params 6 | num_epochs: 50 # number of epochs to train for 7 | eval_frequency: 10 # how often to get validation error (in epochs) 8 | save_frequency: 10 # how often to save output (in epochs) 9 | vis_frequency: 10000 # how often to visualize filters (in epochs) 10 | log_frequency: 1 # how often to log output (in steps) 11 | 12 | # train / val split params 13 | train_pct: 0.8 # percentage of the data to use for training vs validation 14 | total_pct: 1.0 # percentage of all the files to use 15 | eval_total_train_error: 0 # whether or not to evaluate the total training error on each validataion 16 | max_files_eval: 1000 # the number of validation files to use in each eval 17 | 18 | # optimization params 19 | loss: sparse 20 | optimizer: momentum 21 | train_l2_regularizer: 0.0005 22 | base_lr: 0.01 23 | decay_step_multiplier: 0.5 # number of times to go through training datapoints before stepping down decay rate (in epochs) 24 | decay_rate: 0.95 25 | momentum_rate: 0.9 26 | max_training_examples_per_load: 128 27 | drop_rate: 0.0 28 | max_global_grad_norm: 100000000000 29 | 30 | # input params 31 | training_mode: classification 32 | image_field_name: tf_depth_ims 33 | pose_field_name: grasps 34 | 35 | # label params 36 | target_metric_name: grasp_metrics # name of the field to use for the labels 37 | metric_thresh: 0.5 # threshold for positive examples (label = 1 if grasp_metric > metric_thresh) 38 | 39 | # preproc params 40 | num_random_files: 10000 # the number of random files to compute dataset statistics in preprocessing (lower speeds initialization) 41 | preproc_log_frequency: 100 # how often to log preprocessing (in steps) 42 | 43 | # denoising / synthetic data params 44 | multiplicative_denoising: 0 45 | gamma_shape: 1000.00 46 | 47 | symmetrize: 0 48 | 49 | gaussian_process_denoising: 0 50 | gaussian_process_rate: 0.5 51 | gaussian_process_scaling_factor: 4.0 52 | gaussian_process_sigma: 0.005 53 | 54 | # tensorboard 55 | tensorboard_port: 6006 56 | 57 | # debugging params 58 | debug: &debug 0 59 | debug_num_files: 10 # speeds up initialization 60 | seed: &seed 24098 61 | 62 | ### GQCNN CONFIG ### 63 | gqcnn: 64 | # basic data metrics 65 | im_height: 96 66 | im_width: 96 67 | im_channels: 1 68 | debug: *debug 69 | seed: *seed 70 | 71 | # needs to match input data mode that was used for training, determines the pose dimensions for the network 72 | gripper_mode: parallel_jaw 73 | 74 | # method by which to integrate depth into the network 75 | input_depth_mode: im_depth_sub 76 | 77 | # used for training with multiple angular predictions 78 | angular_bins: 16 79 | 80 | # prediction batch size, in training this will be overriden by the val_batch_size in the optimizer's config file 81 | batch_size: *val_batch_size 82 | 83 | # architecture 84 | architecture: 85 | im_stream: 86 | conv1_1: 87 | type: conv 88 | filt_dim: 9 89 | num_filt: 16 90 | pool_size: 1 91 | pool_stride: 1 92 | pad: VALID 93 | norm: 0 94 | norm_type: local_response 95 | conv1_2: 96 | type: conv 97 | filt_dim: 5 98 | num_filt: 16 99 | pool_size: 2 100 | pool_stride: 2 101 | pad: VALID 102 | norm: 0 103 | norm_type: local_response 104 | conv2_1: 105 | type: conv 106 | filt_dim: 5 107 | num_filt: 16 108 | pool_size: 1 109 | pool_stride: 1 110 | pad: VALID 111 | norm: 0 112 | norm_type: local_response 113 | conv2_2: 114 | type: conv 115 | filt_dim: 5 116 | num_filt: 16 117 | pool_size: 2 118 | pool_stride: 2 119 | pad: VALID 120 | norm: 0 121 | norm_type: local_response 122 | fc3: 123 | type: fc 124 | out_size: 128 125 | fc4: 126 | type: fc 127 | out_size: 128 128 | fc5: 129 | type: fc 130 | out_size: 32 131 | 132 | # architecture normalization constants 133 | radius: 2 134 | alpha: 2.0e-05 135 | beta: 0.75 136 | bias: 1.0 137 | 138 | # leaky relu coefficient 139 | relu_coeff: 0.0 140 | -------------------------------------------------------------------------------- /cfg/train_dex-net_4.0_fc_suction.yaml: -------------------------------------------------------------------------------- 1 | # general optimization params 2 | train_batch_size: 64 3 | val_batch_size: &val_batch_size 64 4 | 5 | # logging params 6 | num_epochs: 50 # number of epochs to train for 7 | eval_frequency: 10 # how often to get validation error (in epochs) 8 | save_frequency: 10 # how often to save output (in epochs) 9 | vis_frequency: 10000 # how often to visualize filters (in epochs) 10 | log_frequency: 1 # how often to log output (in steps) 11 | 12 | # train / val split params 13 | train_pct: 0.8 # percentage of the data to use for training vs validation 14 | total_pct: 1.0 # percentage of all the files to use 15 | eval_total_train_error: 0 # whether or not to evaluate the total training error on each validataion 16 | max_files_eval: 1000 # the number of validation files to use in each eval 17 | 18 | # optimization params 19 | loss: sparse 20 | optimizer: momentum 21 | train_l2_regularizer: 0.0005 22 | base_lr: 0.01 23 | decay_step_multiplier: 0.5 # number of times to go through training datapoints before stepping down decay rate (in epochs) 24 | decay_rate: 0.95 25 | momentum_rate: 0.9 26 | max_training_examples_per_load: 128 27 | drop_rate: 0.0 28 | max_global_grad_norm: 100000000000 29 | 30 | # input params 31 | training_mode: classification 32 | image_field_name: tf_depth_ims 33 | pose_field_name: grasps 34 | 35 | # label params 36 | target_metric_name: grasp_metrics # name of the field to use for the labels 37 | metric_thresh: 0.5 # threshold for positive examples (label = 1 if grasp_metric > metric_thresh) 38 | 39 | # preproc params 40 | num_random_files: 10000 # the number of random files to compute dataset statistics in preprocessing (lower speeds initialization) 41 | preproc_log_frequency: 100 # how often to log preprocessing (in steps) 42 | 43 | # denoising / synthetic data params 44 | multiplicative_denoising: 0 45 | gamma_shape: 1000.00 46 | 47 | symmetrize: 1 48 | 49 | gaussian_process_denoising: 0 50 | gaussian_process_rate: 0.5 51 | gaussian_process_scaling_factor: 4.0 52 | gaussian_process_sigma: 0.005 53 | 54 | # tensorboard 55 | tensorboard_port: 6006 56 | 57 | # debugging params 58 | debug: &debug 0 59 | debug_num_files: 10 # speeds up initialization 60 | seed: &seed 24098 61 | 62 | ### GQCNN CONFIG ### 63 | gqcnn: 64 | # basic data metrics 65 | im_height: 96 66 | im_width: 96 67 | im_channels: 1 68 | debug: *debug 69 | seed: *seed 70 | 71 | # needs to match input data mode that was used for training, determines the pose dimensions for the network 72 | gripper_mode: suction 73 | 74 | # method by which to integrate depth into the network 75 | input_depth_mode: im_only 76 | 77 | # used for training with multiple angular predictions 78 | angular_bins: 0 79 | 80 | # prediction batch size, in training this will be overriden by the val_batch_size in the optimizer's config file 81 | batch_size: *val_batch_size 82 | 83 | # architecture 84 | architecture: 85 | im_stream: 86 | conv1_1: 87 | type: conv 88 | filt_dim: 9 89 | num_filt: 16 90 | pool_size: 1 91 | pool_stride: 1 92 | pad: VALID 93 | norm: 0 94 | norm_type: local_response 95 | conv1_2: 96 | type: conv 97 | filt_dim: 5 98 | num_filt: 16 99 | pool_size: 2 100 | pool_stride: 2 101 | pad: VALID 102 | norm: 0 103 | norm_type: local_response 104 | conv2_1: 105 | type: conv 106 | filt_dim: 5 107 | num_filt: 16 108 | pool_size: 1 109 | pool_stride: 1 110 | pad: VALID 111 | norm: 0 112 | norm_type: local_response 113 | conv2_2: 114 | type: conv 115 | filt_dim: 5 116 | num_filt: 16 117 | pool_size: 2 118 | pool_stride: 2 119 | pad: VALID 120 | norm: 0 121 | norm_type: local_response 122 | fc3: 123 | type: fc 124 | out_size: 128 125 | fc4: 126 | type: fc 127 | out_size: 128 128 | fc5: 129 | type: fc 130 | out_size: 2 131 | 132 | # architecture normalization constants 133 | radius: 2 134 | alpha: 2.0e-05 135 | beta: 0.75 136 | bias: 1.0 137 | 138 | # leaky relu coefficient 139 | relu_coeff: 0.0 140 | -------------------------------------------------------------------------------- /cfg/train_fc.yaml: -------------------------------------------------------------------------------- 1 | # general optimization params 2 | train_batch_size: 64 3 | val_batch_size: &val_batch_size 64 4 | 5 | # logging params 6 | num_epochs: 50 # number of epochs to train for 7 | eval_frequency: 10 # how often to get validation error (in epochs) 8 | save_frequency: 10 # how often to save output (in epochs) 9 | vis_frequency: 10000 # how often to visualize filters (in epochs) 10 | log_frequency: 1 # how often to log output (in steps) 11 | 12 | # train / val split params 13 | train_pct: 0.8 # percentage of the data to use for training vs validation 14 | total_pct: 1.0 # percentage of all the files to use 15 | eval_total_train_error: 0 # whether or not to evaluate the total training error on each validataion 16 | max_files_eval: 1000 # the number of validation files to use in each eval 17 | 18 | # optimization params 19 | loss: sparse 20 | optimizer: momentum 21 | train_l2_regularizer: 0.0005 22 | base_lr: 0.01 23 | decay_step_multiplier: 0.5 # number of times to go through training datapoints before stepping down decay rate (in epochs) 24 | decay_rate: 0.95 25 | momentum_rate: 0.9 26 | max_training_examples_per_load: 128 27 | drop_rate: 0.0 28 | max_global_grad_norm: 100000000000 29 | 30 | # input params 31 | training_mode: classification 32 | image_field_name: tf_depth_ims 33 | pose_field_name: grasps 34 | 35 | # label params 36 | target_metric_name: grasp_metrics # name of the field to use for the labels 37 | metric_thresh: 0.5 # threshold for positive examples (label = 1 if grasp_metric > metric_thresh) 38 | 39 | # preproc params 40 | num_random_files: 10000 # the number of random files to compute dataset statistics in preprocessing (lower speeds initialization) 41 | preproc_log_frequency: 100 # how often to log preprocessing (in steps) 42 | 43 | # denoising / synthetic data params 44 | multiplicative_denoising: 0 45 | gamma_shape: 1000.00 46 | 47 | symmetrize: 0 48 | 49 | gaussian_process_denoising: 0 50 | gaussian_process_rate: 0.5 51 | gaussian_process_scaling_factor: 4.0 52 | gaussian_process_sigma: 0.005 53 | 54 | # tensorboard 55 | tensorboard_port: 6006 56 | 57 | # debugging params 58 | debug: &debug 0 59 | debug_num_files: 10 # speeds up initialization 60 | seed: &seed 24098 61 | 62 | ### GQCNN CONFIG ### 63 | gqcnn: 64 | # basic data metrics 65 | im_height: 96 66 | im_width: 96 67 | im_channels: 1 68 | debug: *debug 69 | seed: *seed 70 | 71 | # needs to match input data mode that was used for training, determines the pose dimensions for the network 72 | gripper_mode: parallel_jaw 73 | 74 | # method by which to integrate depth into the network 75 | input_depth_mode: im_depth_sub 76 | 77 | # used for training with multiple angular predictions 78 | angular_bins: 16 79 | 80 | # prediction batch size, in training this will be overriden by the val_batch_size in the optimizer's config file 81 | batch_size: *val_batch_size 82 | 83 | # architecture 84 | architecture: 85 | im_stream: 86 | conv1_1: 87 | type: conv 88 | filt_dim: 9 89 | num_filt: 16 90 | pool_size: 1 91 | pool_stride: 1 92 | pad: VALID 93 | norm: 0 94 | norm_type: local_response 95 | conv1_2: 96 | type: conv 97 | filt_dim: 5 98 | num_filt: 16 99 | pool_size: 2 100 | pool_stride: 2 101 | pad: VALID 102 | norm: 0 103 | norm_type: local_response 104 | conv2_1: 105 | type: conv 106 | filt_dim: 5 107 | num_filt: 16 108 | pool_size: 1 109 | pool_stride: 1 110 | pad: VALID 111 | norm: 0 112 | norm_type: local_response 113 | conv2_2: 114 | type: conv 115 | filt_dim: 5 116 | num_filt: 16 117 | pool_size: 2 118 | pool_stride: 2 119 | pad: VALID 120 | norm: 0 121 | norm_type: local_response 122 | fc3: 123 | type: fc 124 | out_size: 128 125 | fc4: 126 | type: fc 127 | out_size: 128 128 | fc5: 129 | type: fc 130 | out_size: 32 131 | 132 | # architecture normalization constants 133 | radius: 2 134 | alpha: 2.0e-05 135 | beta: 0.75 136 | bias: 1.0 137 | 138 | # leaky relu coefficient 139 | relu_coeff: 0.0 140 | -------------------------------------------------------------------------------- /ci/travis/format.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Copyright ©2017. The Regents of the University of California (Regents). 4 | # All Rights Reserved. Permission to use, copy, modify, and distribute this 5 | # software and its documentation for educational, research, and not-for-profit 6 | # purposes, without fee and without a signed licensing agreement, is hereby 7 | # granted, provided that the above copyright notice, this paragraph and the 8 | # following two paragraphs appear in all copies, modifications, and 9 | # distributions. Contact The Office of Technology Licensing, UC Berkeley, 2150 10 | # Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643-7201, 11 | # otl@berkeley.edu, 12 | # http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 13 | 14 | # IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 15 | # INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 16 | # THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 17 | # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 18 | 19 | # REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 20 | # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21 | # PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 22 | # HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 23 | # MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 24 | 25 | # Script for YAPF formatting. Adapted from https://github.com/ray-project/ray/blob/master/ci/travis/format.sh. 26 | 27 | YAPF_FLAGS=( 28 | '--style' ".style.yapf" 29 | '--recursive' 30 | '--parallel' 31 | ) 32 | 33 | YAPF_EXCLUDES=() 34 | 35 | # Format specified files 36 | format() { 37 | yapf --in-place "${YAPF_FLAGS[@]}" -- "$@" 38 | } 39 | 40 | # Format all files, and print the diff to `stdout` for Travis. 41 | format_all() { 42 | yapf --diff "${YAPF_FLAGS[@]}" "${YAPF_EXCLUDES[@]}" . 43 | } 44 | 45 | # This flag formats individual files. `--files` *must* be the first command line 46 | # arg to use this option. 47 | if [[ "$1" == '--files' ]]; then 48 | format "${@:2}" 49 | # If `--all` is passed, then any further arguments are ignored and the 50 | # entire Python directory is formatted. 51 | elif [[ "$1" == '--all' ]]; then 52 | format_all 53 | fi 54 | -------------------------------------------------------------------------------- /data/calib/phoxi/phoxi.intr: -------------------------------------------------------------------------------- 1 | {"_cy": 191.75, "_cx": 255.5, "_fy": 552.5, "_height": 386, "_fx": 552.5, "_width": 516, "_skew": 0.0, "_K": 0, "_frame": "phoxi"} -------------------------------------------------------------------------------- /data/calib/phoxi/phoxi_to_world.tf: -------------------------------------------------------------------------------- 1 | phoxi 2 | world 3 | 0.385146 -0.121589 0.808145 4 | 0.005659 -0.999983 0.001249 5 | -0.989208 -0.005415 0.146420 6 | -0.146410 -0.002064 -0.989222 7 | -------------------------------------------------------------------------------- /data/calib/primesense/primesense.intr: -------------------------------------------------------------------------------- 1 | {"_cy": 239.5, "_cx": 319.5, "_fy": 525.0, "_height": 480, "_fx": 525.0, "_width": 640, "_skew": 0.0, "_K": 0, "_frame": "primesense_overhead"} -------------------------------------------------------------------------------- /data/calib/primesense/primesense.tf: -------------------------------------------------------------------------------- 1 | primesense_overhead 2 | world 3 | 0.214280 0.004186 0.872913 4 | 0.021188 -0.975273 0.219984 5 | -0.999765 -0.021698 0.000098 6 | 0.004678 -0.219934 -0.975504 7 | -------------------------------------------------------------------------------- /data/examples/clutter/phoxi/dex-net_4.0/color_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/clutter/phoxi/dex-net_4.0/color_0.png -------------------------------------------------------------------------------- /data/examples/clutter/phoxi/dex-net_4.0/color_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/clutter/phoxi/dex-net_4.0/color_1.png -------------------------------------------------------------------------------- /data/examples/clutter/phoxi/dex-net_4.0/color_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/clutter/phoxi/dex-net_4.0/color_2.png -------------------------------------------------------------------------------- /data/examples/clutter/phoxi/dex-net_4.0/color_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/clutter/phoxi/dex-net_4.0/color_3.png -------------------------------------------------------------------------------- /data/examples/clutter/phoxi/dex-net_4.0/color_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/clutter/phoxi/dex-net_4.0/color_4.png -------------------------------------------------------------------------------- /data/examples/clutter/phoxi/dex-net_4.0/depth_0.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/clutter/phoxi/dex-net_4.0/depth_0.npy -------------------------------------------------------------------------------- /data/examples/clutter/phoxi/dex-net_4.0/depth_1.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/clutter/phoxi/dex-net_4.0/depth_1.npy -------------------------------------------------------------------------------- /data/examples/clutter/phoxi/dex-net_4.0/depth_2.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/clutter/phoxi/dex-net_4.0/depth_2.npy -------------------------------------------------------------------------------- /data/examples/clutter/phoxi/dex-net_4.0/depth_3.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/clutter/phoxi/dex-net_4.0/depth_3.npy -------------------------------------------------------------------------------- /data/examples/clutter/phoxi/dex-net_4.0/depth_4.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/clutter/phoxi/dex-net_4.0/depth_4.npy -------------------------------------------------------------------------------- /data/examples/clutter/phoxi/dex-net_4.0/segmask_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/clutter/phoxi/dex-net_4.0/segmask_0.png -------------------------------------------------------------------------------- /data/examples/clutter/phoxi/dex-net_4.0/segmask_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/clutter/phoxi/dex-net_4.0/segmask_1.png -------------------------------------------------------------------------------- /data/examples/clutter/phoxi/dex-net_4.0/segmask_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/clutter/phoxi/dex-net_4.0/segmask_2.png -------------------------------------------------------------------------------- /data/examples/clutter/phoxi/dex-net_4.0/segmask_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/clutter/phoxi/dex-net_4.0/segmask_3.png -------------------------------------------------------------------------------- /data/examples/clutter/phoxi/dex-net_4.0/segmask_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/clutter/phoxi/dex-net_4.0/segmask_4.png -------------------------------------------------------------------------------- /data/examples/clutter/phoxi/fcgqcnn/color_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/clutter/phoxi/fcgqcnn/color_0.png -------------------------------------------------------------------------------- /data/examples/clutter/phoxi/fcgqcnn/color_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/clutter/phoxi/fcgqcnn/color_1.png -------------------------------------------------------------------------------- /data/examples/clutter/phoxi/fcgqcnn/color_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/clutter/phoxi/fcgqcnn/color_2.png -------------------------------------------------------------------------------- /data/examples/clutter/phoxi/fcgqcnn/color_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/clutter/phoxi/fcgqcnn/color_3.png -------------------------------------------------------------------------------- /data/examples/clutter/phoxi/fcgqcnn/color_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/clutter/phoxi/fcgqcnn/color_4.png -------------------------------------------------------------------------------- /data/examples/clutter/phoxi/fcgqcnn/depth_0.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/clutter/phoxi/fcgqcnn/depth_0.npy -------------------------------------------------------------------------------- /data/examples/clutter/phoxi/fcgqcnn/depth_1.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/clutter/phoxi/fcgqcnn/depth_1.npy -------------------------------------------------------------------------------- /data/examples/clutter/phoxi/fcgqcnn/depth_2.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/clutter/phoxi/fcgqcnn/depth_2.npy -------------------------------------------------------------------------------- /data/examples/clutter/phoxi/fcgqcnn/depth_3.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/clutter/phoxi/fcgqcnn/depth_3.npy -------------------------------------------------------------------------------- /data/examples/clutter/phoxi/fcgqcnn/depth_4.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/clutter/phoxi/fcgqcnn/depth_4.npy -------------------------------------------------------------------------------- /data/examples/clutter/phoxi/fcgqcnn/segmask_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/clutter/phoxi/fcgqcnn/segmask_0.png -------------------------------------------------------------------------------- /data/examples/clutter/phoxi/fcgqcnn/segmask_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/clutter/phoxi/fcgqcnn/segmask_1.png -------------------------------------------------------------------------------- /data/examples/clutter/phoxi/fcgqcnn/segmask_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/clutter/phoxi/fcgqcnn/segmask_2.png -------------------------------------------------------------------------------- /data/examples/clutter/phoxi/fcgqcnn/segmask_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/clutter/phoxi/fcgqcnn/segmask_3.png -------------------------------------------------------------------------------- /data/examples/clutter/phoxi/fcgqcnn/segmask_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/clutter/phoxi/fcgqcnn/segmask_4.png -------------------------------------------------------------------------------- /data/examples/clutter/primesense/color_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/clutter/primesense/color_0.png -------------------------------------------------------------------------------- /data/examples/clutter/primesense/color_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/clutter/primesense/color_1.png -------------------------------------------------------------------------------- /data/examples/clutter/primesense/color_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/clutter/primesense/color_2.png -------------------------------------------------------------------------------- /data/examples/clutter/primesense/color_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/clutter/primesense/color_3.png -------------------------------------------------------------------------------- /data/examples/clutter/primesense/color_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/clutter/primesense/color_4.png -------------------------------------------------------------------------------- /data/examples/clutter/primesense/depth_0.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/clutter/primesense/depth_0.npy -------------------------------------------------------------------------------- /data/examples/clutter/primesense/depth_1.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/clutter/primesense/depth_1.npy -------------------------------------------------------------------------------- /data/examples/clutter/primesense/depth_2.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/clutter/primesense/depth_2.npy -------------------------------------------------------------------------------- /data/examples/clutter/primesense/depth_3.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/clutter/primesense/depth_3.npy -------------------------------------------------------------------------------- /data/examples/clutter/primesense/depth_4.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/clutter/primesense/depth_4.npy -------------------------------------------------------------------------------- /data/examples/clutter/primesense/segmask_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/clutter/primesense/segmask_0.png -------------------------------------------------------------------------------- /data/examples/clutter/primesense/segmask_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/clutter/primesense/segmask_1.png -------------------------------------------------------------------------------- /data/examples/clutter/primesense/segmask_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/clutter/primesense/segmask_2.png -------------------------------------------------------------------------------- /data/examples/clutter/primesense/segmask_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/clutter/primesense/segmask_3.png -------------------------------------------------------------------------------- /data/examples/clutter/primesense/segmask_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/clutter/primesense/segmask_4.png -------------------------------------------------------------------------------- /data/examples/single_object/primesense/color_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/single_object/primesense/color_0.png -------------------------------------------------------------------------------- /data/examples/single_object/primesense/color_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/single_object/primesense/color_1.png -------------------------------------------------------------------------------- /data/examples/single_object/primesense/color_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/single_object/primesense/color_2.png -------------------------------------------------------------------------------- /data/examples/single_object/primesense/color_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/single_object/primesense/color_3.png -------------------------------------------------------------------------------- /data/examples/single_object/primesense/color_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/single_object/primesense/color_4.png -------------------------------------------------------------------------------- /data/examples/single_object/primesense/color_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/single_object/primesense/color_5.png -------------------------------------------------------------------------------- /data/examples/single_object/primesense/color_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/single_object/primesense/color_6.png -------------------------------------------------------------------------------- /data/examples/single_object/primesense/color_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/single_object/primesense/color_7.png -------------------------------------------------------------------------------- /data/examples/single_object/primesense/color_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/single_object/primesense/color_8.png -------------------------------------------------------------------------------- /data/examples/single_object/primesense/color_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/single_object/primesense/color_9.png -------------------------------------------------------------------------------- /data/examples/single_object/primesense/depth_0.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/single_object/primesense/depth_0.npy -------------------------------------------------------------------------------- /data/examples/single_object/primesense/depth_1.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/single_object/primesense/depth_1.npy -------------------------------------------------------------------------------- /data/examples/single_object/primesense/depth_2.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/single_object/primesense/depth_2.npy -------------------------------------------------------------------------------- /data/examples/single_object/primesense/depth_3.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/single_object/primesense/depth_3.npy -------------------------------------------------------------------------------- /data/examples/single_object/primesense/depth_4.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/single_object/primesense/depth_4.npy -------------------------------------------------------------------------------- /data/examples/single_object/primesense/depth_5.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/single_object/primesense/depth_5.npy -------------------------------------------------------------------------------- /data/examples/single_object/primesense/depth_6.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/single_object/primesense/depth_6.npy -------------------------------------------------------------------------------- /data/examples/single_object/primesense/depth_7.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/single_object/primesense/depth_7.npy -------------------------------------------------------------------------------- /data/examples/single_object/primesense/depth_8.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/single_object/primesense/depth_8.npy -------------------------------------------------------------------------------- /data/examples/single_object/primesense/depth_9.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/single_object/primesense/depth_9.npy -------------------------------------------------------------------------------- /data/examples/single_object/primesense/segmask_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/single_object/primesense/segmask_0.png -------------------------------------------------------------------------------- /data/examples/single_object/primesense/segmask_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/single_object/primesense/segmask_1.png -------------------------------------------------------------------------------- /data/examples/single_object/primesense/segmask_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/single_object/primesense/segmask_2.png -------------------------------------------------------------------------------- /data/examples/single_object/primesense/segmask_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/single_object/primesense/segmask_3.png -------------------------------------------------------------------------------- /data/examples/single_object/primesense/segmask_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/single_object/primesense/segmask_4.png -------------------------------------------------------------------------------- /data/examples/single_object/primesense/segmask_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/single_object/primesense/segmask_5.png -------------------------------------------------------------------------------- /data/examples/single_object/primesense/segmask_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/single_object/primesense/segmask_6.png -------------------------------------------------------------------------------- /data/examples/single_object/primesense/segmask_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/single_object/primesense/segmask_7.png -------------------------------------------------------------------------------- /data/examples/single_object/primesense/segmask_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/single_object/primesense/segmask_8.png -------------------------------------------------------------------------------- /data/examples/single_object/primesense/segmask_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/examples/single_object/primesense/segmask_9.png -------------------------------------------------------------------------------- /data/training/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/data/training/README.md -------------------------------------------------------------------------------- /docker/cpu/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu:xenial 2 | 3 | MAINTAINER Vishal Satish 4 | 5 | # Args. 6 | # Must be an absolute path. 7 | ARG work_dir=/root/Workspace 8 | 9 | # Install `apt-get` deps. 10 | RUN apt-get update && apt-get install -y \ 11 | build-essential \ 12 | python3 \ 13 | python3-dev \ 14 | python3-tk \ 15 | python-opengl \ 16 | curl \ 17 | libsm6 \ 18 | libxext6 \ 19 | libglib2.0-0 \ 20 | libxrender1 \ 21 | wget \ 22 | unzip 23 | 24 | # Install libspatialindex (required for latest rtree). 25 | RUN curl -L http://download.osgeo.org/libspatialindex/spatialindex-src-1.8.5.tar.gz | tar xz && \ 26 | cd spatialindex-src-1.8.5 && \ 27 | ./configure && \ 28 | make && \ 29 | make install && \ 30 | ldconfig && \ 31 | cd .. 32 | 33 | # Install pip (`apt-get install python-pip` causes trouble w/ networkx). 34 | RUN curl -O https://bootstrap.pypa.io/get-pip.py && \ 35 | python3 get-pip.py && \ 36 | rm get-pip.py 37 | 38 | # Required for easy_install to find right skimage version for Python 3.5. 39 | RUN pip3 install -U setuptools 40 | 41 | # Make working directory. 42 | WORKDIR ${work_dir} 43 | 44 | # Copy the library. 45 | ADD docker/gqcnn.tar . 46 | 47 | # This is because `python setup.py develop` skips `install_requires` (I think). 48 | RUN python3 -m pip install -r gqcnn/requirements/cpu_requirements.txt 49 | 50 | # Install the library in editable mode because it's more versatile (in case we want to develop or if users want to modify things) 51 | # Keep the egg outside of the library in site-packages in case we want to mount the library (overwriting it) for development with docker 52 | ENV PYTHONPATH ${work_dir}/gqcnn 53 | WORKDIR /usr/local/lib/python3.5/site-packages/ 54 | RUN python3 ${work_dir}/gqcnn/setup.py develop --docker 55 | 56 | # Move to the top-level gqcnn package dir. 57 | WORKDIR ${work_dir}/gqcnn 58 | -------------------------------------------------------------------------------- /docker/gpu/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM nvidia/cuda:10.0-cudnn7-devel-ubuntu16.04 2 | 3 | MAINTAINER Vishal Satish 4 | 5 | # Args 6 | # `work_dir` must be an absolute path. 7 | ARG work_dir=/root/Workspace 8 | 9 | # Install `apt-get` deps. 10 | RUN apt-get update && apt-get install -y \ 11 | build-essential \ 12 | python3 \ 13 | python3-dev \ 14 | python3-tk \ 15 | python-opengl \ 16 | curl \ 17 | libsm6 \ 18 | libxext6 \ 19 | libglib2.0-0 \ 20 | libxrender1 \ 21 | wget \ 22 | unzip 23 | 24 | # Install libspatialindex (required for latest rtree). 25 | RUN curl -L http://download.osgeo.org/libspatialindex/spatialindex-src-1.8.5.tar.gz | tar xz && \ 26 | cd spatialindex-src-1.8.5 && \ 27 | ./configure && \ 28 | make && \ 29 | make install && \ 30 | ldconfig && \ 31 | cd .. 32 | 33 | # Install pip (`apt-get install python-pip` causes trouble w/ networkx). 34 | RUN curl -O https://bootstrap.pypa.io/get-pip.py && \ 35 | python3 get-pip.py && \ 36 | rm get-pip.py 37 | 38 | # Required for easy_install to find right skimage version for Python 3.5. 39 | RUN pip3 install -U setuptools 40 | 41 | # Make working directory. 42 | WORKDIR ${work_dir} 43 | 44 | # Copy the library. 45 | ADD docker/gqcnn.tar . 46 | 47 | # This is because `python setup.py develop` skips install_requires (I think) and also because we want to explicitly use the GPU requirements. 48 | RUN python3 -m pip install -r gqcnn/requirements/gpu_requirements.txt 49 | 50 | # Install the library in editable mode because it's more versatile (in case we want to develop or if users want to modify things) 51 | # Keep the egg outside of the library in site-packages in case we want to mount the library (overwriting it) for development with docker 52 | ENV PYTHONPATH ${work_dir}/gqcnn 53 | WORKDIR /usr/local/lib/python3.5/site-packages/ 54 | RUN python3 ${work_dir}/gqcnn/setup.py develop --docker 55 | 56 | # Move to the base library dir 57 | WORKDIR ${work_dir}/gqcnn 58 | -------------------------------------------------------------------------------- /docs/Makefile: -------------------------------------------------------------------------------- 1 | # Minimal makefile for Sphinx documentation 2 | # 3 | 4 | # You can set these variables from the command line. 5 | SPHINXOPTS = 6 | SPHINXBUILD = sphinx-build 7 | SPHINXPROJ = GQCNN 8 | SOURCEDIR = source 9 | BUILDDIR = build 10 | GH_PAGES_SOURCES = docs examples gqcnn tools 11 | 12 | # Put it first so that "make" without argument is like "make help". 13 | help: 14 | @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 15 | 16 | .PHONY: help Makefile 17 | 18 | .PHONY: clean 19 | clean: 20 | rm -rf $(BUILDDIR)/* 21 | 22 | .PHONY: gh-pages 23 | gh-pages: 24 | git checkout gh-pages && \ 25 | cd .. && \ 26 | git rm -rf . && git clean -fxd && \ 27 | git checkout master $(GH_PAGES_SOURCES) && \ 28 | git reset HEAD && \ 29 | cd docs && \ 30 | make html && \ 31 | cd .. && \ 32 | mv -fv docs/build/html/* ./ && \ 33 | touch .nojekyll && \ 34 | rm -rf $(GH_PAGES_SOURCES) && \ 35 | git add -A && \ 36 | git commit -m "Generated gh-pages for `git log master -1 --pretty=short --abbrev-commit`" && \ 37 | git push origin --delete gh-pages && \ 38 | git push origin gh-pages ; \ 39 | git checkout master 40 | 41 | # Catch-all target: route all unknown targets to Sphinx using the new 42 | # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). 43 | %: Makefile 44 | @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 45 | -------------------------------------------------------------------------------- /docs/gh_deploy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | make gh-pages 3 | cd ../docs 4 | -------------------------------------------------------------------------------- /docs/make.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | 3 | pushd %~dp0 4 | 5 | REM Command file for Sphinx documentation 6 | 7 | if "%SPHINXBUILD%" == "" ( 8 | set SPHINXBUILD=sphinx-build 9 | ) 10 | set SOURCEDIR=source 11 | set BUILDDIR=build 12 | set SPHINXPROJ=GQCNN 13 | 14 | if "%1" == "" goto help 15 | 16 | %SPHINXBUILD% >NUL 2>NUL 17 | if errorlevel 9009 ( 18 | echo. 19 | echo.The 'sphinx-build' command was not found. Make sure you have Sphinx 20 | echo.installed, then set the SPHINXBUILD environment variable to point 21 | echo.to the full path of the 'sphinx-build' executable. Alternatively you 22 | echo.may add the Sphinx directory to PATH. 23 | echo. 24 | echo.If you don't have Sphinx installed, grab it from 25 | echo.http://sphinx-doc.org/ 26 | exit /b 1 27 | ) 28 | 29 | %SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% 30 | goto end 31 | 32 | :help 33 | %SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% 34 | 35 | :end 36 | popd 37 | -------------------------------------------------------------------------------- /docs/source/api/analysis.rst: -------------------------------------------------------------------------------- 1 | Analysis 2 | ======== 3 | 4 | GQCNNAnalyzer 5 | ~~~~~~~~~~~~~ 6 | A tool for analyzing trained GQ-CNNs. Calculates statistics such as training/valiation errors and losses. Also plots Precision-Recall Curve and ROC, and saves sample TP/TN/FP/FN training/validation examples. 7 | 8 | .. autoclass:: gqcnn.GQCNNAnalyzer 9 | 10 | -------------------------------------------------------------------------------- /docs/source/api/gqcnn.rst: -------------------------------------------------------------------------------- 1 | GQ-CNN 2 | ====== 3 | 4 | GQ-CNN and FC-GQ-CNN classes are **never accessed directly**, but through a lightweight factory function that returns the corresponding class depending on the specified backend. :: 5 | 6 | $ from gqcnn import get_gqcnn_model 7 | $ 8 | $ backend = 'tf' 9 | $ my_gqcnn = get_gqcnn_model(backend)() 10 | 11 | .. autofunction:: gqcnn.get_gqcnn_model 12 | 13 | .. autofunction:: gqcnn.get_fc_gqcnn_model 14 | 15 | GQCNNTF 16 | ~~~~~~~ 17 | 18 | Tensorflow implementation of GQ-CNN model. 19 | 20 | .. autoclass:: gqcnn.model.tf.GQCNNTF 21 | :exclude-members: init_mean_and_std, 22 | set_base_network, 23 | init_weights_file, 24 | initialize_network, 25 | set_batch_size, 26 | set_im_mean, 27 | get_im_mean, 28 | set_im_std, 29 | get_im_std, 30 | set_pose_mean, 31 | get_pose_mean, 32 | set_pose_std, 33 | get_pose_std, 34 | set_im_depth_sub_mean, 35 | set_im_depth_sub_std, 36 | add_softmax_to_output, 37 | add_sigmoid_to_output, 38 | update_batch_size, 39 | 40 | FCGQCNNTF 41 | ~~~~~~~~~ 42 | 43 | Tensorflow implementation of FC-GQ-CNN model. 44 | 45 | .. autoclass:: gqcnn.model.tf.FCGQCNNTF 46 | :exclude-members: __init__ 47 | -------------------------------------------------------------------------------- /docs/source/api/policies.rst: -------------------------------------------------------------------------------- 1 | Policies 2 | ======== 3 | 4 | All GQ-CNN grasping policies are child classes of the base :ref:`GraspingPolicy` class that implements `__call__()`, which operates on :ref:`RgbdImageStates ` and returns a :ref:`GraspAction`. :: 5 | 6 | $ from gqcnn import RgbdImageState, CrossEntropyRobustGraspingPolicy 7 | $ 8 | $ im = RgbdImageState.load() 9 | $ my_policy = CrossEntropyRobustGraspingPolicy() 10 | $ 11 | $ my_grasp_action = my_policy(im) 12 | 13 | Primary Policies 14 | ~~~~~~~~~~~~~~~~ 15 | 16 | CrossEntropyRobustGraspingPolicy 17 | -------------------------------- 18 | An implementation of the `Cross Entropy Method (CEM)`_ used in `Dex-Net 2.0`_, `Dex-Net 2.1`_, `Dex-Net 3.0`_, and `Dex-Net 4.0`_ to iteratively locate the best grasp. 19 | 20 | .. autoclass:: gqcnn.CrossEntropyRobustGraspingPolicy 21 | 22 | FullyConvolutionalGraspingPolicyParallelJaw 23 | ------------------------------------------- 24 | An implementation of the `FC-GQ-CNN`_ parallel jaw policy that uses dense, parallelized fully convolutional networks. 25 | 26 | .. autoclass:: gqcnn.FullyConvolutionalGraspingPolicyParallelJaw 27 | 28 | FullyConvolutionalGraspingPolicySuction 29 | --------------------------------------- 30 | An implementation of the `FC-GQ-CNN`_ suction policy that uses dense, parallelized fully convolutional networks. 31 | 32 | .. autoclass:: gqcnn.FullyConvolutionalGraspingPolicySuction 33 | 34 | Grasps and Image Wrappers 35 | ~~~~~~~~~~~~~~~~~~~~~~~~~ 36 | 37 | .. _RgbdImageState: 38 | 39 | RgbdImageState 40 | -------------- 41 | A wrapper for states containing an RGBD (RGB + Depth) image, camera intrinisics, and segmentation masks. 42 | 43 | .. autoclass:: gqcnn.RgbdImageState 44 | 45 | .. _GraspAction: 46 | 47 | GraspAction 48 | ----------- 49 | A wrapper for 2D grasp actions such as :ref:`Grasp2D` or :ref:`SuctionPoint2D`. 50 | 51 | .. autoclass:: gqcnn.grasping.policy.policy.GraspAction 52 | 53 | .. _Grasp2D: 54 | 55 | Grasp2D 56 | ------- 57 | A wrapper for 2D parallel jaw grasps. 58 | 59 | .. autoclass:: gqcnn.grasping.grasp.Grasp2D 60 | 61 | .. _SuctionPoint2D: 62 | 63 | SuctionPoint2D 64 | -------------- 65 | A wrapper for 2D suction grasps. 66 | 67 | .. autoclass:: gqcnn.grasping.grasp.SuctionPoint2D 68 | 69 | Miscellaneous and Parent Policies 70 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 71 | 72 | Policy 73 | ------ 74 | 75 | .. autoclass:: gqcnn.grasping.policy.policy.Policy 76 | 77 | 78 | .. _GraspingPolicy: 79 | 80 | GraspingPolicy 81 | -------------- 82 | 83 | .. autoclass:: gqcnn.grasping.policy.policy.GraspingPolicy 84 | 85 | FullyConvolutionalGraspingPolicy 86 | -------------------------------- 87 | .. autoclass:: gqcnn.grasping.policy.fc_policy.FullyConvolutionalGraspingPolicy 88 | 89 | RobustGraspingPolicy 90 | -------------------- 91 | 92 | .. autoclass:: gqcnn.RobustGraspingPolicy 93 | 94 | UniformRandomGraspingPolicy 95 | --------------------------- 96 | 97 | .. autoclass:: gqcnn.UniformRandomGraspingPolicy 98 | 99 | .. _Cross Entropy Method (CEM): https://en.wikipedia.org/wiki/Cross-entropy_method 100 | .. _Dex-Net 2.0: https://berkeleyautomation.github.io/dex-net/#dexnet_2 101 | .. _Dex-Net 2.1: https://berkeleyautomation.github.io/dex-net/#dexnet_21 102 | .. _Dex-Net 3.0: https://berkeleyautomation.github.io/dex-net/#dexnet_3 103 | .. _Dex-Net 4.0: https://berkeleyautomation.github.io/dex-net/#dexnet_4 104 | .. _FC-GQ-CNN: https://berkeleyautomation.github.io/fcgqcnn 105 | 106 | -------------------------------------------------------------------------------- /docs/source/api/training.rst: -------------------------------------------------------------------------------- 1 | Training 2 | ======== 3 | 4 | GQ-CNN training classes are **never accessed directly**, but through a lightweight factory function that returns the corresponding class depending on the specified backend. :: 5 | 6 | $ from gqcnn import get_gqcnn_trainer 7 | $ 8 | $ backend = 'tf' 9 | $ my_trainer = get_gqcnn_trainer(backend)() 10 | 11 | .. autofunction:: gqcnn.get_gqcnn_trainer 12 | 13 | GQCNNTrainerTF 14 | ~~~~~~~~~~~~~~ 15 | 16 | .. autoclass:: gqcnn.training.tf.GQCNNTrainerTF 17 | 18 | -------------------------------------------------------------------------------- /docs/source/benchmarks/benchmarks.rst: -------------------------------------------------------------------------------- 1 | Dex-Net 2.0 2 | ~~~~~~~~~~~ 3 | Below are the highest classification accuracies achieved on the `Dex-Net 2.0`_ dataset on a randomized 80-20 train-validation split using various splitting rules: 4 | 5 | .. image:: ../images/gqcnn_leaderboard.png 6 | :width: 100% 7 | 8 | The current leader is a ConvNet submitted by nomagic.ai. `GQ` is our best GQ-CNN for `Dex-Net 2.0`_. 9 | 10 | We believe grasping performance on the physical robot can be improved if these validation error rates can be further reduced by modifications to the network architecture and optimization. 11 | If you achieve superior numbers on a randomized validation set, please email Jeff Mahler (jmahler@berkeley.edu) with the subject "Dex-Net 2.0 Benchmark Submission" and we will consider testing on our ABB YuMi. 12 | 13 | .. _Dex-Net 2.0: https://berkeleyautomation.github.io/dex-net/#dexnet_2 14 | 15 | -------------------------------------------------------------------------------- /docs/source/images/cem.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/docs/source/images/cem.png -------------------------------------------------------------------------------- /docs/source/images/dataset_tensorboard_output.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/docs/source/images/dataset_tensorboard_output.png -------------------------------------------------------------------------------- /docs/source/images/dexnet_benchmark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/docs/source/images/dexnet_benchmark.png -------------------------------------------------------------------------------- /docs/source/images/fcgqcnn_arch_diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/docs/source/images/fcgqcnn_arch_diagram.png -------------------------------------------------------------------------------- /docs/source/images/gqcnn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/docs/source/images/gqcnn.png -------------------------------------------------------------------------------- /docs/source/images/gqcnn_leaderboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/docs/source/images/gqcnn_leaderboard.png -------------------------------------------------------------------------------- /docs/source/images/plots/pj_error_rate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/docs/source/images/plots/pj_error_rate.png -------------------------------------------------------------------------------- /docs/source/images/plots/pj_roc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/docs/source/images/plots/pj_roc.png -------------------------------------------------------------------------------- /docs/source/images/plots/suction_error_rate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/docs/source/images/plots/suction_error_rate.png -------------------------------------------------------------------------------- /docs/source/images/plots/suction_roc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/docs/source/images/plots/suction_roc.png -------------------------------------------------------------------------------- /docs/source/images/policy_final_grasp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/docs/source/images/policy_final_grasp.png -------------------------------------------------------------------------------- /docs/source/images/sample_grasp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/docs/source/images/sample_grasp.png -------------------------------------------------------------------------------- /docs/source/images/tensorboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BerkeleyAutomation/gqcnn/499a609fe9dfb074bdfb6c4e6e33667ea50f4c21/docs/source/images/tensorboard.png -------------------------------------------------------------------------------- /docs/source/info/info.rst: -------------------------------------------------------------------------------- 1 | What are GQ-CNNs? 2 | ----------------- 3 | GQ-CNNs are neural network architectures that take as input a depth image and grasp, and output the predicted probability that the grasp will successfully hold the object while lifting, transporting, and shaking the object. 4 | 5 | .. figure:: ../images/gqcnn.png 6 | :width: 100% 7 | :align: center 8 | 9 | Original GQ-CNN architecture from `Dex-Net 2.0`_. 10 | 11 | .. figure:: ../images/fcgqcnn_arch_diagram.png 12 | :width: 100% 13 | :align: center 14 | 15 | Alternate faster GQ-CNN architecture from `FC-GQ-CNN`_. 16 | 17 | 18 | The GQ-CNN weights are trained on datasets of synthetic point clouds, parallel jaw grasps, and grasp metrics generated from physics-based models with domain randomization for sim-to-real transfer. See the ongoing `Dexterity Network (Dex-Net)`_ project for more information. 19 | 20 | .. _Dexterity Network (Dex-Net): https://berkeleyautomation.github.io/dex-net 21 | .. _Dex-Net 2.0: https://berkeleyautomation.github.io/dex-net/#dexnet_2 22 | .. _FC-GQ-CNN: https://berkeleyautomation.github.io/fcgqcnn 23 | -------------------------------------------------------------------------------- /docs/source/install/install.rst: -------------------------------------------------------------------------------- 1 | Prerequisites 2 | ~~~~~~~~~~~~~ 3 | 4 | Python 5 | """""" 6 | 7 | The `gqcnn` package has only been tested with `Python 3.5`, `Python 3.6`, and `Python 3.7`. 8 | 9 | Ubuntu 10 | """""" 11 | 12 | The `gqcnn` package has only been tested with `Ubuntu 12.04`, `Ubuntu 14.04` and `Ubuntu 16.04`. 13 | 14 | Virtualenv 15 | """""""""" 16 | 17 | We highly recommend using a Python environment management system, in particular `Virtualenv`, with the Pip and ROS installations. **Note: Several users have encountered problems with dependencies when using Conda.** 18 | 19 | Pip Installation 20 | ~~~~~~~~~~~~~~~~ 21 | 22 | The pip installation is intended for users who are **only interested in 1) Training GQ-CNNs or 2) Grasp planning on saved RGBD images**, not 23 | interfacing with a physical robot. 24 | If you have intentions of using GQ-CNNs for grasp planning on a physical robot, we suggest you `install as a ROS package`_. 25 | 26 | .. _install as a ROS package: https://berkeleyautomation.github.io/gqcnn/install/install.html#ros-installation 27 | 28 | 1. Clone the repository 29 | """"""""""""""""""""""" 30 | Clone or download the `project`_ from Github. :: 31 | 32 | $ git clone https://github.com/BerkeleyAutomation/gqcnn.git 33 | 34 | .. _project: https://github.com/BerkeleyAutomation/gqcnn 35 | 36 | 2. Run pip installation 37 | """"""""""""""""""""""" 38 | Change directories into the `gqcnn` repository and run the pip installation. :: 39 | 40 | $ pip install . 41 | 42 | This will install `gqcnn` in your current virtual environment. 43 | 44 | .. _ros-install: 45 | 46 | ROS Installation 47 | ~~~~~~~~~~~~~~~~ 48 | 49 | Installation as a ROS package is intended for users who wish to use GQ-CNNs to plan grasps on a physical robot. 50 | 51 | 1. Clone the repository 52 | """"""""""""""""""""""" 53 | Clone or download the `project`_ from Github. :: 54 | 55 | $ cd /src 56 | $ git clone https://github.com/BerkeleyAutomation/gqcnn.git 57 | 58 | 2. Build the catkin package 59 | """"""""""""""""""""""""""" 60 | Build the catkin package. :: 61 | 62 | $ cd 63 | $ catkin_make 64 | 65 | Then re-source `devel/setup.bash` for the package to be available through Python. 66 | 67 | Docker Installation 68 | ~~~~~~~~~~~~~~~~~~~ 69 | 70 | We currently do not provide pre-built Docker images, but you can build them yourself. This will require you to have installed `Docker`_ or `Nvidia-Docker`_ if you plan on using GPUs. Note that our provided build for GPUs uses CUDA 10.0 and cuDNN 7.0, so make sure that this is compatible with your GPU hardware. If you wish to use a different CUDA/cuDNN version, change the base image in `docker/gpu/Dockerfile` to the desired `CUDA/cuDNN image distribution`_. **Note that other images have not yet been tested.** 71 | 72 | .. _Docker: https://www.docker.com/ 73 | .. _Nvidia-Docker: https://github.com/NVIDIA/nvidia-docker 74 | .. _CUDA/cuDNN image distribution: https://hub.docker.com/r/nvidia/cuda/ 75 | 76 | 1. Clone the repository 77 | """"""""""""""""""""""" 78 | Clone or download the `project`_ from Github. :: 79 | 80 | $ git clone https://github.com/BerkeleyAutomation/gqcnn.git 81 | 82 | .. _project: https://github.com/BerkeleyAutomation/gqcnn 83 | 84 | 2. Build Docker images 85 | """""""""""""""""""""" 86 | Change directories into the `gqcnn` repository and run the build script. :: 87 | 88 | $ ./scripts/docker/build-docker.sh 89 | 90 | This will build the images `gqcnn/cpu` and `gqcnn/gpu`. 91 | 92 | 3. Run Docker image 93 | """""""""""""""""""" 94 | To run `gqcnn/cpu`: :: 95 | 96 | $ docker run --rm -it gqcnn/cpu 97 | 98 | To run `gqcnn/gpu`: :: 99 | 100 | $ nvidia-docker run --rm -it gqcnn/gpu 101 | 102 | Note the use of `nvidia-docker` in the latter to enable the Nvidia runtime. 103 | 104 | You will then see an interactive shell like this: :: 105 | 106 | $ root@a96488604093:~/Workspace/gqcnn# 107 | 108 | Now you can proceed to run the examples and tutorial! 109 | 110 | -------------------------------------------------------------------------------- /docs/source/license/license.rst: -------------------------------------------------------------------------------- 1 | License 2 | ~~~~~~~ 3 | The `gqcnn` library, pre-trained models, and raw datasets are licensed under The Regents of the University of California (Regents). Copyright ©2019. All Rights Reserved. 4 | 5 | Permission to use, copy, modify, and distribute this software and its documentation for educational, 6 | research, and not-for-profit purposes, without fee and without a signed licensing agreement, is 7 | hereby granted, provided that the above copyright notice, this paragraph and the following two 8 | paragraphs appear in all copies, modifications, and distributions. Contact The Office of Technology 9 | Licensing, UC Berkeley, 2150 Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643- 10 | 7201, otl@berkeley.edu, http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 11 | 12 | IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 13 | INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 14 | THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 15 | ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 16 | REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 17 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 18 | PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 19 | HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 20 | MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 21 | 22 | The raw datasets are generated from 3D object models from `3DNet`_ and `the KIT Object Database`_ that may be subject to copyright. 23 | 24 | .. _3DNet: https://repo.acin.tuwien.ac.at/tmp/permanent/3d-net.org/ 25 | .. _the KIT Object Database: https://h2t-projects.webarchiv.kit.edu/Projects/ObjectModelsWebUI/ 26 | -------------------------------------------------------------------------------- /docs/source/tutorials/analysis.rst: -------------------------------------------------------------------------------- 1 | Analysis 2 | ~~~~~~~~ 3 | It is helpful to check the training and validation loss and classification errors to ensure that the network has trained successfully. To analyze the performance of a trained GQ-CNN, run: :: 4 | 5 | $ python tools/analyze_gqcnn_performance.py 6 | 7 | The args are: 8 | 9 | #. **model_name**: Name of a trained model. 10 | 11 | The script will store a detailed analysis in `analysis//`. 12 | 13 | To analyze the networks we just trained, run: :: 14 | 15 | $ python tools/analyze_gqcnn_performance.py gqcnn_example_pj 16 | $ python tools/analyze_gqcnn_performance.py gqcnn_example_suction 17 | 18 | Below is the expected output for the **parallel jaw** network. Please keep in mind that the exact performance values may change due to randomization in the training dataset and random weight initialization: :: 19 | 20 | $ GQCNNAnalyzer INFO TRAIN 21 | $ GQCNNAnalyzer INFO Original error: 36.812 22 | $ GQCNNAnalyzer INFO Final error: 6.061 23 | $ GQCNNAnalyzer INFO Orig loss: 0.763 24 | $ GQCNNAnalyzer INFO Final loss: 0.248 25 | $ GQCNNAnalyzer INFO VAL 26 | $ GQCNNAnalyzer INFO Original error: 32.212 27 | $ GQCNNAnalyzer INFO Final error: 7.509 28 | $ GQCNNAnalyzer INFO Normalized error: 0.233 29 | 30 | A set of plots will be saved to `analysis/gqcnn_example_pj/`. The plots `training_error_rates.png` and `precision_recall.png` should look like the following: 31 | 32 | .. image:: ../images/plots/pj_error_rate.png 33 | :width: 49 % 34 | 35 | .. image:: ../images/plots/pj_roc.png 36 | :width: 49 % 37 | 38 | Here is the expected output for the **suction** network: :: 39 | 40 | $ GQCNNAnalyzer INFO TRAIN 41 | $ GQCNNAnalyzer INFO Original error: 17.844 42 | $ GQCNNAnalyzer INFO Final error: 6.417 43 | $ GQCNNAnalyzer INFO Orig loss: 0.476 44 | $ GQCNNAnalyzer INFO Final loss: 0.189 45 | $ GQCNNAnalyzer INFO VAL 46 | $ GQCNNAnalyzer INFO Original error: 18.036 47 | $ GQCNNAnalyzer INFO Final error: 6.907 48 | $ GQCNNAnalyzer INFO Normalized error: 0.383 49 | 50 | A set of plots will be saved to `analysis/gqcnn_example_suction/`. The plots `training_error_rates.png` and `precision_recall.png` should look like the following: 51 | 52 | .. image:: ../images/plots/suction_error_rate.png 53 | :width: 49 % 54 | 55 | .. image:: ../images/plots/suction_roc.png 56 | :width: 49 % 57 | 58 | -------------------------------------------------------------------------------- /docs/source/tutorials/training.rst: -------------------------------------------------------------------------------- 1 | Training 2 | ~~~~~~~~ 3 | The `gqcnn` package can be used to train a `Dex-Net 4.0`_ GQ-CNN model on a custom offline `Dex-Net`_ dataset. Because training from scratch can be time-consuming, the most efficient way to train a new network is to fine-tune the weights of a pre-trained `Dex-Net 4.0`_ GQ-CNN model, which has already been trained on millions of images. 4 | 5 | .. _Dex-Net 4.0: https://berkeleyautomation.github.io/dex-net/#dexnet_4 6 | .. _Dex-Net: https://berkeleyautomation.github.io/dex-net/ 7 | 8 | To fine-tune a GQ-CNN run: :: 9 | 10 | $ python tools/finetune.py --config_filename --name 11 | 12 | The args are: 13 | 14 | #. **training_dataset_path**: Path to the training dataset. 15 | #. **pretrained_network_name**: Name of pre-trained GQ-CNN. 16 | #. **config_filename**: Name of the config file to use. 17 | #. **model_name**: Name for the model. 18 | 19 | To train a GQ-CNN for a **parallel jaw** gripper on a sample dataset, run the fine-tuning script: :: 20 | 21 | $ python tools/finetune.py data/training/example_pj/ GQCNN-4.0-PJ --config_filename cfg/finetune_example_pj.yaml --name gqcnn_example_pj 22 | 23 | To train a GQ-CNN for a **suction** gripper run: :: 24 | 25 | $ python tools/finetune.py data/training/example_suction/ GQCNN-4.0-SUCTION --config_filename cfg/finetune_example_suction.yaml --name gqcnn_example_suction 26 | 27 | Visualizing Training 28 | -------------------- 29 | The `gqcnn` model contains support for visualizing training progress through Tensorboard. Tensorboard is automatically launched when the training script is run and can be accessed by navigating to **localhost:6006** in a web browser. There you will find something like the following: 30 | 31 | .. image:: ../images/tensorboard.png 32 | :width: 100 % 33 | 34 | Which displays useful training statistics such as validation error, minibatch loss, and learning rate. 35 | 36 | The Tensorflow summaries are stored in `models//tensorboard_summaries/`. 37 | 38 | -------------------------------------------------------------------------------- /docs/source/tutorials/tutorial.rst: -------------------------------------------------------------------------------- 1 | Overview 2 | ~~~~~~~~ 3 | There are two main use cases of the `gqcnn` package: 4 | 5 | #. :ref:`training` a `Dex-Net 4.0`_ GQ-CNN model on an offline `Dex-Net`_ dataset of point clouds, grasps, and grasp success metrics, and then grasp planning on RGBD images. 6 | #. :ref:`grasp planning` on RGBD images using a pre-trained `Dex-Net 4.0`_ GQ-CNN model. 7 | 8 | .. _Dex-Net 4.0: https://berkeleyautomation.github.io/dex-net/#dexnet_4 9 | .. _Dex-Net: https://berkeleyautomation.github.io/dex-net/ 10 | 11 | Click on the links or scroll down to get started! 12 | 13 | Prerequisites 14 | ------------- 15 | Before running the tutorials please download the example models and datasets: :: 16 | 17 | $ cd /path/to/your/gqcnn 18 | $ ./scripts/downloads/download_example_data.sh 19 | $ ./scripts/downloads/models/download_models.sh 20 | 21 | 22 | Running Python Scripts 23 | ---------------------- 24 | All `gqcnn` Python scripts are designed to be run from the top-level directory of your `gqcnn` repo by default. This is because every script takes in a YAML file specifying parameters for the script, and this YAML file is stored relative to the repository root directory. 25 | 26 | We recommend that you run all scripts using this paradigm: :: 27 | 28 | cd /path/to/your/gqcnn 29 | python /path/to/script.py 30 | 31 | .. _training: 32 | .. include:: training.rst 33 | 34 | .. _analysis: 35 | .. include:: analysis.rst 36 | 37 | .. _grasp planning: 38 | .. include:: planning.rst 39 | 40 | -------------------------------------------------------------------------------- /gqcnn/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | Copyright ©2017. The Regents of the University of California (Regents). 4 | All Rights Reserved. Permission to use, copy, modify, and distribute this 5 | software and its documentation for educational, research, and not-for-profit 6 | purposes, without fee and without a signed licensing agreement, is hereby 7 | granted, provided that the above copyright notice, this paragraph and the 8 | following two paragraphs appear in all copies, modifications, and 9 | distributions. Contact The Office of Technology Licensing, UC Berkeley, 2150 10 | Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643-7201, 11 | otl@berkeley.edu, 12 | http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 13 | 14 | IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 15 | INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 16 | THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 17 | ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 18 | 19 | REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 20 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21 | PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 22 | HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 23 | MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 24 | """ 25 | from .model import get_gqcnn_model, get_fc_gqcnn_model 26 | from .training import get_gqcnn_trainer 27 | from .grasping import (RobustGraspingPolicy, UniformRandomGraspingPolicy, 28 | CrossEntropyRobustGraspingPolicy, RgbdImageState, 29 | FullyConvolutionalGraspingPolicyParallelJaw, 30 | FullyConvolutionalGraspingPolicySuction) 31 | from .analysis import GQCNNAnalyzer 32 | from .search import GQCNNSearch 33 | from .utils import NoValidGraspsException, NoAntipodalPairsFoundException 34 | 35 | __all__ = [ 36 | "get_gqcnn_model", "get_fc_gqcnn_model", "get_gqcnn_trainer", 37 | "RobustGraspingPolicy", "UniformRandomGraspingPolicy", 38 | "CrossEntropyRobustGraspingPolicy", "RgbdImageState", 39 | "FullyConvolutionalGraspingPolicyParallelJaw", 40 | "FullyConvolutionalGraspingPolicySuction", "GQCNNAnalyzer", "GQCNNSearch", 41 | "NoValidGraspsException", "NoAntipodalPairsFoundException" 42 | ] 43 | -------------------------------------------------------------------------------- /gqcnn/analysis/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | Copyright ©2017. The Regents of the University of California (Regents). 4 | All Rights Reserved. Permission to use, copy, modify, and distribute this 5 | software and its documentation for educational, research, and not-for-profit 6 | purposes, without fee and without a signed licensing agreement, is hereby 7 | granted, provided that the above copyright notice, this paragraph and the 8 | following two paragraphs appear in all copies, modifications, and 9 | distributions. Contact The Office of Technology Licensing, UC Berkeley, 2150 10 | Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643-7201, 11 | otl@berkeley.edu, 12 | http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 13 | 14 | IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 15 | INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 16 | THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 17 | ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 18 | 19 | REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 20 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21 | PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 22 | HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 23 | MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 24 | """ 25 | from .analyzer import GQCNNAnalyzer 26 | 27 | __all__ = ["GQCNNAnalyzer"] 28 | -------------------------------------------------------------------------------- /gqcnn/grasping/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | Copyright ©2017. The Regents of the University of California (Regents). 4 | All Rights Reserved. Permission to use, copy, modify, and distribute this 5 | software and its documentation for educational, research, and not-for-profit 6 | purposes, without fee and without a signed licensing agreement, is hereby 7 | granted, provided that the above copyright notice, this paragraph and the 8 | following two paragraphs appear in all copies, modifications, and 9 | distributions. Contact The Office of Technology Licensing, UC Berkeley, 2150 10 | Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643-7201, 11 | otl@berkeley.edu, 12 | http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 13 | 14 | IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 15 | INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 16 | THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 17 | ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 18 | 19 | REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 20 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21 | PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 22 | HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 23 | MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 24 | """ 25 | from .grasp import Grasp2D, SuctionPoint2D, MultiSuctionPoint2D 26 | from .grasp_quality_function import (GraspQualityFunctionFactory, 27 | GQCnnQualityFunction) 28 | from .image_grasp_sampler import (ImageGraspSamplerFactory, 29 | AntipodalDepthImageGraspSampler) 30 | from .constraint_fn import GraspConstraintFnFactory 31 | from .policy import (RobustGraspingPolicy, CrossEntropyRobustGraspingPolicy, 32 | FullyConvolutionalGraspingPolicyParallelJaw, 33 | FullyConvolutionalGraspingPolicySuction, 34 | UniformRandomGraspingPolicy, RgbdImageState, GraspAction) 35 | from .actions import (NoAction, ParallelJawGrasp3D, SuctionGrasp3D, 36 | MultiSuctionGrasp3D) 37 | 38 | __all__ = [ 39 | "Grasp2D", "SuctionPoint2D", "MultiSuctionPoint2D", 40 | "GraspQualityFunctionFactory", "GQCnnQualityFunction", 41 | "ImageGraspSamplerFactory", "AntipodalDepthImageGraspSampler", 42 | "RobustGraspingPolicy", "CrossEntropyRobustGraspingPolicy", 43 | "FullyConvolutionalGraspingPolicyParallelJaw", 44 | "FullyConvolutionalGraspingPolicySuction", "UniformRandomGraspingPolicy", 45 | "RgbdImageState", "GraspAction", "GraspConstraintFnFactory", "NoAction", 46 | "ParallelJawGrasp3D", "SuctionGrasp3D", "MultiSuctionGrasp3D" 47 | ] 48 | -------------------------------------------------------------------------------- /gqcnn/grasping/policy/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | Copyright ©2017. The Regents of the University of California (Regents). 4 | All Rights Reserved. Permission to use, copy, modify, and distribute this 5 | software and its documentation for educational, research, and not-for-profit 6 | purposes, without fee and without a signed licensing agreement, is hereby 7 | granted, provided that the above copyright notice, this paragraph and the 8 | following two paragraphs appear in all copies, modifications, and 9 | distributions. Contact The Office of Technology Licensing, UC Berkeley, 2150 10 | Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643-7201, 11 | otl@berkeley.edu, 12 | http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 13 | 14 | IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 15 | INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 16 | THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 17 | ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 18 | 19 | REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 20 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21 | PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 22 | HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 23 | MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 24 | """ 25 | from .fc_policy import (FullyConvolutionalGraspingPolicyParallelJaw, 26 | FullyConvolutionalGraspingPolicySuction) 27 | from .policy import (RobustGraspingPolicy, CrossEntropyRobustGraspingPolicy, 28 | RgbdImageState, GraspAction, UniformRandomGraspingPolicy) 29 | 30 | __all__ = [ 31 | "FullyConvolutionalGraspingPolicyParallelJaw", 32 | "FullyConvolutionalGraspingPolicySuction", "RobustGraspingPolicy", 33 | "CrossEntropyRobustGraspingPolicy", "UniformRandomGraspingPolicy", 34 | "RgbdImageState", "GraspAction" 35 | ] 36 | -------------------------------------------------------------------------------- /gqcnn/grasping/policy/enums.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | Copyright ©2017. The Regents of the University of California (Regents). 4 | All Rights Reserved. Permission to use, copy, modify, and distribute this 5 | software and its documentation for educational, research, and not-for-profit 6 | purposes, without fee and without a signed licensing agreement, is hereby 7 | granted, provided that the above copyright notice, this paragraph and the 8 | following two paragraphs appear in all copies, modifications, and 9 | distributions. Contact The Office of Technology Licensing, UC Berkeley, 2150 10 | Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643-7201, 11 | otl@berkeley.edu, 12 | http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 13 | 14 | IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 15 | INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 16 | THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 17 | ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 18 | 19 | REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 20 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21 | PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 22 | HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 23 | MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 24 | 25 | Enums for GQ-CNN policies. 26 | 27 | Author 28 | ------ 29 | Vishal Satish 30 | """ 31 | 32 | 33 | class SamplingMethod(object): 34 | TOP_K = "top_k" 35 | UNIFORM = "uniform" 36 | -------------------------------------------------------------------------------- /gqcnn/model/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | Copyright ©2017. The Regents of the University of California (Regents). 4 | All Rights Reserved. Permission to use, copy, modify, and distribute this 5 | software and its documentation for educational, research, and not-for-profit 6 | purposes, without fee and without a signed licensing agreement, is hereby 7 | granted, provided that the above copyright notice, this paragraph and the 8 | following two paragraphs appear in all copies, modifications, and 9 | distributions. Contact The Office of Technology Licensing, UC Berkeley, 2150 10 | Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643-7201, 11 | otl@berkeley.edu, 12 | http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 13 | 14 | IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 15 | INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 16 | THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 17 | ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 18 | 19 | REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 20 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21 | PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 22 | HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 23 | MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 24 | 25 | Factory functions to obtain `GQCNN`/`FCGQCNN` class based on backend. 26 | Author: Vishal Satish 27 | """ 28 | from .tf import GQCNNTF, FCGQCNNTF 29 | 30 | from autolab_core import Logger 31 | 32 | 33 | def get_gqcnn_model(backend="tf", verbose=True): 34 | """Get the GQ-CNN model for the provided backend. 35 | 36 | Note: 37 | Currently only TensorFlow is supported. 38 | 39 | Parameters 40 | ---------- 41 | backend : str 42 | The backend to use, currently only "tf" is supported. 43 | verbose : bool 44 | Whether or not to log initialization output to `stdout`. 45 | 46 | Returns 47 | ------- 48 | :obj:`gqcnn.model.tf.GQCNNTF` 49 | GQ-CNN model with TensorFlow backend. 50 | """ 51 | 52 | # Set up logger. 53 | logger = Logger.get_logger("GQCNNModelFactory", silence=(not verbose)) 54 | 55 | # Return desired GQ-CNN instance based on backend. 56 | if backend == "tf": 57 | logger.info("Initializing GQ-CNN with Tensorflow as backend...") 58 | return GQCNNTF 59 | else: 60 | raise ValueError("Invalid backend: {}".format(backend)) 61 | 62 | 63 | def get_fc_gqcnn_model(backend="tf", verbose=True): 64 | """Get the FC-GQ-CNN model for the provided backend. 65 | 66 | Note: 67 | Currently only TensorFlow is supported. 68 | 69 | Parameters 70 | ---------- 71 | backend : str 72 | The backend to use, currently only "tf" is supported. 73 | verbose : bool 74 | Whether or not to log initialization output to `stdout`. 75 | 76 | Returns 77 | ------- 78 | :obj:`gqcnn.model.tf.FCGQCNNTF` 79 | FC-GQ-CNN model with TensorFlow backend. 80 | """ 81 | 82 | # Set up logger. 83 | logger = Logger.get_logger("FCGQCNNModelFactory", silence=(not verbose)) 84 | 85 | # Return desired Fully-Convolutional GQ-CNN instance based on backend. 86 | if backend == "tf": 87 | logger.info("Initializing FC-GQ-CNN with Tensorflow as backend...") 88 | return FCGQCNNTF 89 | else: 90 | raise ValueError("Invalid backend: {}".format(backend)) 91 | -------------------------------------------------------------------------------- /gqcnn/model/tf/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | Copyright ©2017. The Regents of the University of California (Regents). 4 | All Rights Reserved. Permission to use, copy, modify, and distribute this 5 | software and its documentation for educational, research, and not-for-profit 6 | purposes, without fee and without a signed licensing agreement, is hereby 7 | granted, provided that the above copyright notice, this paragraph and the 8 | following two paragraphs appear in all copies, modifications, and 9 | distributions. Contact The Office of Technology Licensing, UC Berkeley, 2150 10 | Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643-7201, 11 | otl@berkeley.edu, 12 | http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 13 | 14 | IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 15 | INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 16 | THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 17 | ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 18 | 19 | REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 20 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21 | PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 22 | HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 23 | MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 24 | """ 25 | from .network_tf import GQCNNTF 26 | from .fc_network_tf import FCGQCNNTF 27 | 28 | __all__ = ["GQCNNTF", "FCGQCNNTF"] 29 | -------------------------------------------------------------------------------- /gqcnn/search/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | Copyright ©2017. The Regents of the University of California (Regents). 4 | All Rights Reserved. Permission to use, copy, modify, and distribute this 5 | software and its documentation for educational, research, and not-for-profit 6 | purposes, without fee and without a signed licensing agreement, is hereby 7 | granted, provided that the above copyright notice, this paragraph and the 8 | following two paragraphs appear in all copies, modifications, and 9 | distributions. Contact The Office of Technology Licensing, UC Berkeley, 2150 10 | Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643-7201, 11 | otl@berkeley.edu, 12 | http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 13 | 14 | IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 15 | INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 16 | THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 17 | ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 18 | 19 | REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 20 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21 | PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 22 | HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 23 | MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 24 | """ 25 | from .search import GQCNNSearch 26 | 27 | __all__ = ["GQCNNSearch"] 28 | -------------------------------------------------------------------------------- /gqcnn/search/enums.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | Copyright ©2017. The Regents of the University of California (Regents). 4 | All Rights Reserved. Permission to use, copy, modify, and distribute this 5 | software and its documentation for educational, research, and not-for-profit 6 | purposes, without fee and without a signed licensing agreement, is hereby 7 | granted, provided that the above copyright notice, this paragraph and the 8 | following two paragraphs appear in all copies, modifications, and 9 | distributions. Contact The Office of Technology Licensing, UC Berkeley, 2150 10 | Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643-7201, 11 | otl@berkeley.edu, 12 | http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 13 | 14 | IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 15 | INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 16 | THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 17 | ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 18 | 19 | REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 20 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21 | PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 22 | HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 23 | MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 24 | 25 | Enums for hyper-parameter search. 26 | 27 | Author 28 | ------ 29 | Vishal Satish 30 | """ 31 | 32 | 33 | class TrialConstants(object): 34 | TRIAL_CPU_LOAD = 300 # Decrease to get more aggressize CPU utilization. 35 | TRIAL_GPU_LOAD = 33 # Decrease to get more aggressize GPU utilization. 36 | # This really depends on model size (`TRIAL_GPU_LOAD` does too, but it's 37 | # not a hard limit per se). Ideally we would initialize models one-by-one 38 | # and monitor the space left, but because model initialization comes after 39 | # some metric calculation, we set this to be some upper bound based on the 40 | # largest model and do batch initalizations from there. 41 | TRIAL_GPU_MEM = 2000 42 | 43 | 44 | class SearchConstants(object): 45 | SEARCH_THREAD_SLEEP = 2 46 | MIN_TIME_BETWEEN_SCHEDULE_ATTEMPTS = 20 47 | -------------------------------------------------------------------------------- /gqcnn/training/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | Copyright ©2017. The Regents of the University of California (Regents). 4 | All Rights Reserved. Permission to use, copy, modify, and distribute this 5 | software and its documentation for educational, research, and not-for-profit 6 | purposes, without fee and without a signed licensing agreement, is hereby 7 | granted, provided that the above copyright notice, this paragraph and the 8 | following two paragraphs appear in all copies, modifications, and 9 | distributions. Contact The Office of Technology Licensing, UC Berkeley, 2150 10 | Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643-7201, 11 | otl@berkeley.edu, 12 | http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 13 | 14 | IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 15 | INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 16 | THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 17 | ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 18 | 19 | REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 20 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21 | PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 22 | HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 23 | MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 24 | 25 | Factory functions to obtain GQCNNTrainer class based on chosen deep learning 26 | backend. Currently only Tensorflow is supported. 27 | Author: Vishal Satish 28 | """ 29 | from .tf import GQCNNTrainerTF 30 | 31 | 32 | def get_gqcnn_trainer(backend="tf"): 33 | """Get the GQ-CNN Trainer for the provided backend. 34 | 35 | Note 36 | ---- 37 | Currently only TensorFlow is supported. 38 | 39 | Parameters 40 | ---------- 41 | backend : str 42 | The backend to use, currently only "tf" is supported. 43 | 44 | Returns 45 | ------- 46 | :obj:`gqcnn.training.tf.GQCNNTrainerTF` 47 | GQ-CNN Trainer with TensorFlow backend. 48 | """ 49 | # Return desired `GQCNNTrainer` instance based on backend. 50 | if backend == "tf": 51 | return GQCNNTrainerTF 52 | else: 53 | raise ValueError("Invalid backend: {}".format(backend)) 54 | -------------------------------------------------------------------------------- /gqcnn/training/tf/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | Copyright ©2017. The Regents of the University of California (Regents). 4 | All Rights Reserved. Permission to use, copy, modify, and distribute this 5 | software and its documentation for educational, research, and not-for-profit 6 | purposes, without fee and without a signed licensing agreement, is hereby 7 | granted, provided that the above copyright notice, this paragraph and the 8 | following two paragraphs appear in all copies, modifications, and 9 | distributions. Contact The Office of Technology Licensing, UC Berkeley, 2150 10 | Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643-7201, 11 | otl@berkeley.edu, 12 | http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 13 | 14 | IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 15 | INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 16 | THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 17 | ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 18 | 19 | REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 20 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21 | PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 22 | HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 23 | MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 24 | """ 25 | from .trainer_tf import GQCNNTrainerTF 26 | 27 | __all__ = ["GQCNNTrainerTF"] 28 | -------------------------------------------------------------------------------- /gqcnn/utils/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | Copyright ©2017. The Regents of the University of California (Regents). 4 | All Rights Reserved. Permission to use, copy, modify, and distribute this 5 | software and its documentation for educational, research, and not-for-profit 6 | purposes, without fee and without a signed licensing agreement, is hereby 7 | granted, provided that the above copyright notice, this paragraph and the 8 | following two paragraphs appear in all copies, modifications, and 9 | distributions. Contact The Office of Technology Licensing, UC Berkeley, 2150 10 | Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643-7201, 11 | otl@berkeley.edu, 12 | http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 13 | 14 | IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 15 | INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 16 | THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 17 | ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 18 | 19 | REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 20 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21 | PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 22 | HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 23 | MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 24 | """ 25 | from .enums import (ImageMode, TrainingMode, GripperMode, InputDepthMode, 26 | GeneralConstants, GQCNNTrainingStatus, GQCNNFilenames) 27 | from .policy_exceptions import (NoValidGraspsException, 28 | NoAntipodalPairsFoundException) 29 | from .train_stats_logger import TrainStatsLogger 30 | from .utils import (is_py2, set_cuda_visible_devices, pose_dim, read_pose_data, 31 | reduce_shape, weight_name_to_layer_name, imresize) 32 | 33 | __all__ = [ 34 | "is_py2", "set_cuda_visible_devices", "pose_dim", "read_pose_data", 35 | "reduce_shape", "weight_name_to_layer_name", "imresize", "ImageMode", 36 | "TrainingMode", "GripperMode", "InputDepthMode", "GeneralConstants", 37 | "GQCNNTrainingStatus", "NoValidGraspsException", 38 | "NoAntipodalPairsFoundException", "TrainStatsLogger", "GQCNNFilenames" 39 | ] 40 | -------------------------------------------------------------------------------- /gqcnn/utils/enums.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | Copyright ©2017. The Regents of the University of California (Regents). 4 | All Rights Reserved. Permission to use, copy, modify, and distribute this 5 | software and its documentation for educational, research, and not-for-profit 6 | purposes, without fee and without a signed licensing agreement, is hereby 7 | granted, provided that the above copyright notice, this paragraph and the 8 | following two paragraphs appear in all copies, modifications, and 9 | distributions. Contact The Office of Technology Licensing, UC Berkeley, 2150 10 | Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643-7201, 11 | otl@berkeley.edu, 12 | http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 13 | 14 | IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 15 | INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 16 | THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 17 | ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 18 | 19 | REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 20 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21 | PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 22 | HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 23 | MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 24 | 25 | Constants/enums. 26 | 27 | Author 28 | ------ 29 | Vishal Satish 30 | """ 31 | import math 32 | 33 | import tensorflow as tf 34 | 35 | 36 | # Other constants. 37 | class GeneralConstants(object): 38 | SEED = 3472134 39 | SEED_SAMPLE_MAX = 2**32 - 1 # Max range for `np.random.seed`. 40 | timeout_option = tf.RunOptions(timeout_in_ms=1000000) 41 | MAX_PREFETCH_Q_SIZE = 250 42 | NUM_PREFETCH_Q_WORKERS = 3 43 | QUEUE_SLEEP = 0.001 44 | PI = math.pi 45 | FIGSIZE = 16 # For visualization. 46 | 47 | 48 | # Enum for image modalities. 49 | class ImageMode(object): 50 | BINARY = "binary" 51 | DEPTH = "depth" 52 | BINARY_TF = "binary_tf" 53 | COLOR_TF = "color_tf" 54 | GRAY_TF = "gray_tf" 55 | DEPTH_TF = "depth_tf" 56 | DEPTH_TF_TABLE = "depth_tf_table" 57 | TF_DEPTH_IMS = "tf_depth_ims" 58 | 59 | 60 | # Enum for training modes. 61 | class TrainingMode(object): 62 | CLASSIFICATION = "classification" 63 | REGRESSION = "regression" # Has not been tested, for experimentation only! 64 | 65 | 66 | # Enum for input pose data formats. 67 | class GripperMode(object): 68 | PARALLEL_JAW = "parallel_jaw" 69 | SUCTION = "suction" 70 | MULTI_SUCTION = "multi_suction" 71 | LEGACY_PARALLEL_JAW = "legacy_parallel_jaw" 72 | LEGACY_SUCTION = "legacy_suction" 73 | 74 | 75 | # Enum for input depth mode. 76 | class InputDepthMode(object): 77 | POSE_STREAM = "pose_stream" 78 | SUB = "im_depth_sub" 79 | IM_ONLY = "im_only" 80 | 81 | 82 | # Enum for training status. 83 | class GQCNNTrainingStatus(object): 84 | NOT_STARTED = "not_started" 85 | SETTING_UP = "setting_up" 86 | TRAINING = "training" 87 | 88 | 89 | # Enum for filenames. 90 | class GQCNNFilenames(object): 91 | PCT_POS_VAL = "pct_pos_val.npy" 92 | PCT_POS_TRAIN = "pct_pos_train.npy" 93 | LEARNING_RATES = "learning_rates.npy" 94 | 95 | TRAIN_ITERS = "train_eval_iters.npy" 96 | TRAIN_LOSSES = "train_losses.npy" 97 | TRAIN_ERRORS = "train_errors.npy" 98 | TOTAL_TRAIN_LOSSES = "total_train_losses.npy" 99 | TOTAL_TRAIN_ERRORS = "total_train_errors.npy" 100 | 101 | VAL_ITERS = "val_eval_iters.npy" 102 | VAL_LOSSES = "val_losses.npy" 103 | VAL_ERRORS = "val_errors.npy" 104 | 105 | LEG_MEAN = "mean.npy" 106 | LEG_STD = "std.npy" 107 | IM_MEAN = "im_mean.npy" 108 | IM_STD = "im_std.npy" 109 | IM_DEPTH_SUB_MEAN = "im_depth_sub_mean.npy" 110 | IM_DEPTH_SUB_STD = "im_depth_sub_std.npy" 111 | POSE_MEAN = "pose_mean.npy" 112 | POSE_STD = "pose_std.npy" 113 | 114 | FINAL_MODEL = "model.ckpt" 115 | INTER_MODEL = "model_{}.ckpt" 116 | 117 | SAVED_ARCH = "architecture.json" 118 | SAVED_CFG = "config.json" 119 | -------------------------------------------------------------------------------- /gqcnn/utils/policy_exceptions.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | Copyright ©2017. The Regents of the University of California (Regents). 4 | All Rights Reserved. Permission to use, copy, modify, and distribute this 5 | software and its documentation for educational, research, and not-for-profit 6 | purposes, without fee and without a signed licensing agreement, is hereby 7 | granted, provided that the above copyright notice, this paragraph and the 8 | following two paragraphs appear in all copies, modifications, and 9 | distributions. Contact The Office of Technology Licensing, UC Berkeley, 2150 10 | Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643-7201, 11 | otl@berkeley.edu, 12 | http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 13 | 14 | IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 15 | INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 16 | THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 17 | ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 18 | 19 | REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 20 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21 | PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 22 | HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 23 | MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 24 | 25 | Exceptions that can be thrown by sub-classes of `GraspingPolicy`. 26 | 27 | Author 28 | ------ 29 | Vishal Satish 30 | """ 31 | 32 | 33 | class NoValidGraspsException(Exception): 34 | """Exception for when antipodal point pairs can be found in the depth 35 | image but none are valid grasps that can be executed.""" 36 | 37 | def __init__(self, 38 | in_collision=True, 39 | not_confident=False, 40 | *args, 41 | **kwargs): 42 | self.in_collision = in_collision 43 | self.not_confident = not_confident 44 | Exception.__init__(self, *args, **kwargs) 45 | 46 | 47 | class NoAntipodalPairsFoundException(Exception): 48 | """Exception for when no antipodal point pairs can be found in the depth 49 | image.""" 50 | pass 51 | -------------------------------------------------------------------------------- /gqcnn/version.py: -------------------------------------------------------------------------------- 1 | __version__ = "1.3.0" 2 | -------------------------------------------------------------------------------- /launch/grasp_planning_service.launch: -------------------------------------------------------------------------------- 1 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /msg/Action.msg: -------------------------------------------------------------------------------- 1 | # Copyright ©2017. The Regents of the University of California (Regents). 2 | # All Rights Reserved. Permission to use, copy, modify, and distribute this 3 | # software and its documentation for educational, research, and not-for-profit 4 | # purposes, without fee and without a signed licensing agreement, is hereby 5 | # granted, provided that the above copyright notice, this paragraph and the 6 | # following two paragraphs appear in all copies, modifications, and 7 | # distributions. Contact The Office of Technology Licensing, UC Berkeley, 2150 8 | # Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643-7201, 9 | # otl@berkeley.edu, 10 | # http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 11 | 12 | # IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 13 | # INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 14 | # THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 15 | # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 16 | 17 | # REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 18 | # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 19 | # PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 20 | # HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 21 | # MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 22 | 23 | uint32 width 24 | uint32 height 25 | uint8[] mask_data 26 | string action_type 27 | float32[] action_data 28 | float32 confidence 29 | -------------------------------------------------------------------------------- /msg/BoundingBox.msg: -------------------------------------------------------------------------------- 1 | # Copyright ©2017. The Regents of the University of California (Regents). 2 | # All Rights Reserved. Permission to use, copy, modify, and distribute this 3 | # software and its documentation for educational, research, and not-for-profit 4 | # purposes, without fee and without a signed licensing agreement, is hereby 5 | # granted, provided that the above copyright notice, this paragraph and the 6 | # following two paragraphs appear in all copies, modifications, and 7 | # distributions. Contact The Office of Technology Licensing, UC Berkeley, 2150 8 | # Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643-7201, 9 | # otl@berkeley.edu, 10 | # http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 11 | 12 | # IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 13 | # INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 14 | # THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 15 | # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 16 | 17 | # REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 18 | # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 19 | # PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 20 | # HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 21 | # MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 22 | 23 | float64 minX 24 | float64 minY 25 | float64 maxX 26 | float64 maxY 27 | -------------------------------------------------------------------------------- /msg/GQCNNGrasp.msg: -------------------------------------------------------------------------------- 1 | # Copyright ©2017. The Regents of the University of California (Regents). 2 | # All Rights Reserved. Permission to use, copy, modify, and distribute this 3 | # software and its documentation for educational, research, and not-for-profit 4 | # purposes, without fee and without a signed licensing agreement, is hereby 5 | # granted, provided that the above copyright notice, this paragraph and the 6 | # following two paragraphs appear in all copies, modifications, and 7 | # distributions. Contact The Office of Technology Licensing, UC Berkeley, 2150 8 | # Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643-7201, 9 | # otl@berkeley.edu, 10 | # http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 11 | 12 | # IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 13 | # INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 14 | # THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 15 | # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 16 | 17 | # REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 18 | # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 19 | # PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 20 | # HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 21 | # MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 22 | 23 | geometry_msgs/Pose pose 24 | float64 q_value 25 | 26 | uint8 PARALLEL_JAW=0 27 | uint8 SUCTION=1 28 | uint8 grasp_type 29 | 30 | float64[2] center_px 31 | float64 angle 32 | float64 depth 33 | sensor_msgs/Image thumbnail 34 | -------------------------------------------------------------------------------- /msg/Observation.msg: -------------------------------------------------------------------------------- 1 | # Copyright ©2017. The Regents of the University of California (Regents). 2 | # All Rights Reserved. Permission to use, copy, modify, and distribute this 3 | # software and its documentation for educational, research, and not-for-profit 4 | # purposes, without fee and without a signed licensing agreement, is hereby 5 | # granted, provided that the above copyright notice, this paragraph and the 6 | # following two paragraphs appear in all copies, modifications, and 7 | # distributions. Contact The Office of Technology Licensing, UC Berkeley, 2150 8 | # Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643-7201, 9 | # otl@berkeley.edu, 10 | # http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 11 | 12 | # IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 13 | # INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 14 | # THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 15 | # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 16 | 17 | # REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 18 | # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 19 | # PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 20 | # HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 21 | # MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 22 | 23 | uint32 width 24 | uint32 height 25 | float32[] image_data 26 | -------------------------------------------------------------------------------- /package.xml: -------------------------------------------------------------------------------- 1 | 2 | 25 | 26 | gqcnn 27 | 1.3.0 28 | ROS package for deploying Grasp Quality Convolutional Neural Networks (GQ-CNNs). 29 | 30 | 31 | 32 | 33 | Vishal Satish 34 | 35 | 36 | 37 | 38 | 39 | Regents 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | catkin 66 | rospy 67 | rospy 68 | message_generation 69 | message_runtime 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | -------------------------------------------------------------------------------- /post-checkout: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # An example hook script to prepare a packed repository for use over 4 | # dumb transports. 5 | # 6 | # To enable this hook, rename this file to "post-update". 7 | 8 | find . -name "*.pyc" -exec rm '{}' ';' -------------------------------------------------------------------------------- /requirements/cpu_requirements.txt: -------------------------------------------------------------------------------- 1 | autolab-core 2 | autolab-perception 3 | visualization 4 | numpy 5 | opencv-python 6 | scipy 7 | matplotlib 8 | tensorflow<=1.15.0 9 | scikit-learn 10 | scikit-image 11 | gputil 12 | psutil 13 | -------------------------------------------------------------------------------- /requirements/docs_requirements.txt: -------------------------------------------------------------------------------- 1 | sphinx 2 | sphinxcontrib-napoleon 3 | sphinx_rtd_theme 4 | 5 | -------------------------------------------------------------------------------- /requirements/gpu_requirements.txt: -------------------------------------------------------------------------------- 1 | autolab-core 2 | autolab-perception 3 | visualization 4 | numpy 5 | opencv-python 6 | scipy 7 | matplotlib 8 | tensorflow-gpu<=1.15.0 9 | scikit-learn 10 | scikit-image 11 | gputil 12 | psutil 13 | -------------------------------------------------------------------------------- /scripts/docker/build-docker.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Copyright ©2017. The Regents of the University of California (Regents). 4 | # All Rights Reserved. Permission to use, copy, modify, and distribute this 5 | # software and its documentation for educational, research, and not-for-profit 6 | # purposes, without fee and without a signed licensing agreement, is hereby 7 | # granted, provided that the above copyright notice, this paragraph and the 8 | # following two paragraphs appear in all copies, modifications, and 9 | # distributions. Contact The Office of Technology Licensing, UC Berkeley, 2150 10 | # Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643-7201, 11 | # otl@berkeley.edu, 12 | # http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 13 | 14 | # IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 15 | # INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 16 | # THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 17 | # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 18 | 19 | # REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 20 | # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21 | # PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 22 | # HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 23 | # MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 24 | 25 | # Build the CPU and GPU docker images. 26 | 27 | git archive --format=tar -o docker/gqcnn.tar --prefix=gqcnn/ master 28 | docker build --no-cache -t gqcnn/gpu -f docker/gpu/Dockerfile . 29 | docker build --no-cache -t gqcnn/cpu -f docker/cpu/Dockerfile . 30 | rm docker/gqcnn.tar 31 | -------------------------------------------------------------------------------- /scripts/downloads/datasets/download_dex-net_2.0.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Copyright ©2017. The Regents of the University of California (Regents). 4 | # All Rights Reserved. Permission to use, copy, modify, and distribute this 5 | # software and its documentation for educational, research, and not-for-profit 6 | # purposes, without fee and without a signed licensing agreement, is hereby 7 | # granted, provided that the above copyright notice, this paragraph and the 8 | # following two paragraphs appear in all copies, modifications, and 9 | # distributions. Contact The Office of Technology Licensing, UC Berkeley, 2150 10 | # Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643-7201, 11 | # otl@berkeley.edu, 12 | # http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 13 | 14 | # IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 15 | # INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 16 | # THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 17 | # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 18 | 19 | # REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 20 | # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21 | # PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 22 | # HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 23 | # MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 24 | 25 | wget -O data/training/dexnet_2.zip https://berkeley.box.com/shared/static/15oid8m9q6n9cvr8og4vm37bwghjjslp.zip 26 | 27 | cd data/training 28 | unzip dexnet_2.zip 29 | mv dexnet_2_tensor dex-net_2.0 30 | cd ../.. 31 | -------------------------------------------------------------------------------- /scripts/downloads/datasets/download_dex-net_2.1.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Copyright ©2017. The Regents of the University of California (Regents). 4 | # All Rights Reserved. Permission to use, copy, modify, and distribute this 5 | # software and its documentation for educational, research, and not-for-profit 6 | # purposes, without fee and without a signed licensing agreement, is hereby 7 | # granted, provided that the above copyright notice, this paragraph and the 8 | # following two paragraphs appear in all copies, modifications, and 9 | # distributions. Contact The Office of Technology Licensing, UC Berkeley, 2150 10 | # Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643-7201, 11 | # otl@berkeley.edu, 12 | # http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 13 | 14 | # IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 15 | # INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 16 | # THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 17 | # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 18 | 19 | # REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 20 | # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21 | # PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 22 | # HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 23 | # MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 24 | 25 | wget -O data/training/dexnet_2.1.zip https://berkeley.box.com/shared/static/4g0g0lstl45hv5g5232f89aoeccjk32j.zip 26 | 27 | cd data/training 28 | unzip dexnet_2.1.zip 29 | mv dexnet_2.1_eps_90 dex-net_2.1 30 | cd ../.. 31 | -------------------------------------------------------------------------------- /scripts/downloads/datasets/download_dex-net_3.0.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Copyright ©2017. The Regents of the University of California (Regents). 4 | # All Rights Reserved. Permission to use, copy, modify, and distribute this 5 | # software and its documentation for educational, research, and not-for-profit 6 | # purposes, without fee and without a signed licensing agreement, is hereby 7 | # granted, provided that the above copyright notice, this paragraph and the 8 | # following two paragraphs appear in all copies, modifications, and 9 | # distributions. Contact The Office of Technology Licensing, UC Berkeley, 2150 10 | # Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643-7201, 11 | # otl@berkeley.edu, 12 | # http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 13 | 14 | # IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 15 | # INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 16 | # THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 17 | # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 18 | 19 | # REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 20 | # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21 | # PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 22 | # HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 23 | # MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 24 | 25 | wget -O data/training/dexnet_3.tar.gz https://berkeley.box.com/shared/static/wd5s51f1n786i71t8dufckec0262za4f.gz 26 | 27 | cd data/training 28 | tar -xvzf dexnet_3.tar.gz 29 | mv dexnet_3 dex-net_3.0 30 | cd ../.. 31 | -------------------------------------------------------------------------------- /scripts/downloads/datasets/download_dex-net_4.0_fc_pj.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Copyright ©2017. The Regents of the University of California (Regents). 4 | # All Rights Reserved. Permission to use, copy, modify, and distribute this 5 | # software and its documentation for educational, research, and not-for-profit 6 | # purposes, without fee and without a signed licensing agreement, is hereby 7 | # granted, provided that the above copyright notice, this paragraph and the 8 | # following two paragraphs appear in all copies, modifications, and 9 | # distributions. Contact The Office of Technology Licensing, UC Berkeley, 2150 10 | # Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643-7201, 11 | # otl@berkeley.edu, 12 | # http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 13 | 14 | # IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 15 | # INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 16 | # THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 17 | # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 18 | 19 | # REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 20 | # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21 | # PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 22 | # HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 23 | # MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 24 | 25 | wget -O data/training/dexnet_4_fc_pj_aa https://berkeley.box.com/shared/static/xhv3preqlada05cz38g6mqutvcw7x2pi 26 | wget -O data/training/dexnet_4_fc_pj_ab https://berkeley.box.com/shared/static/8o501rclohrue80eny2dgkh0ftlg660y 27 | wget -O data/training/dexnet_4_fc_pj_ac https://berkeley.box.com/shared/static/khyvf5vw4im0jg46orkix8a8pdnu2t9o 28 | wget -O data/training/dexnet_4_fc_pj_ad https://berkeley.box.com/shared/static/bq9dibanj2tg3zhj5ntcbkbut71rk7y4 29 | wget -O data/training/dexnet_4_fc_pj_ae https://berkeley.box.com/shared/static/oa46t5oz1srqocncxvywpqizwmz5f6by 30 | wget -O data/training/dexnet_4_fc_pj_af https://berkeley.box.com/shared/static/t27a1x89es2g4l4jlm2j8c3brypixb76 31 | wget -O data/training/dexnet_4_fc_pj_ag https://berkeley.box.com/shared/static/09o1gjaqz0s7ol1kmqj1vnyrnynlgozn 32 | wget -O data/training/dexnet_4_fc_pj_ah https://berkeley.box.com/shared/static/s6s9dtl8r6cr3evy7gt13g66dpblowhd 33 | wget -O data/training/dexnet_4_fc_pj_ai https://berkeley.box.com/shared/static/q61i5muzddrmo37899nmyptpme4u42hx 34 | wget -O data/training/dexnet_4_fc_pj_aj https://berkeley.box.com/shared/static/s4q2lkh17dsxsz8zr1dttvcqj5veq1ze 35 | 36 | cd data/training 37 | cat dexnet_4_fc_pj_a* > dexnet_4_fc_pj.zip 38 | unzip dexnet_4_fc_pj.zip 39 | mv grasps dex-net_4.0_fc_pj 40 | cd ../.. 41 | -------------------------------------------------------------------------------- /scripts/downloads/datasets/download_dex-net_4.0_fc_suction.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Copyright ©2017. The Regents of the University of California (Regents). 4 | # All Rights Reserved. Permission to use, copy, modify, and distribute this 5 | # software and its documentation for educational, research, and not-for-profit 6 | # purposes, without fee and without a signed licensing agreement, is hereby 7 | # granted, provided that the above copyright notice, this paragraph and the 8 | # following two paragraphs appear in all copies, modifications, and 9 | # distributions. Contact The Office of Technology Licensing, UC Berkeley, 2150 10 | # Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643-7201, 11 | # otl@berkeley.edu, 12 | # http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 13 | 14 | # IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 15 | # INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 16 | # THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 17 | # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 18 | 19 | # REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 20 | # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21 | # PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 22 | # HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 23 | # MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 24 | 25 | wget -O data/training/dexnet_4_fc_suction_aa https://berkeley.box.com/shared/static/51xm8pm4wz7bsr71jp8eikoupjzk1bjz 26 | wget -O data/training/dexnet_4_fc_suction_ab https://berkeley.box.com/shared/static/pp56ryq1oq7sklfodfnnl5nt2cho1p14 27 | wget -O data/training/dexnet_4_fc_suction_ac https://berkeley.box.com/shared/static/fcxvnabs6rwlo5gmvcg5eq0epjb3xhhx 28 | 29 | cd data/training 30 | cat dexnet_4_fc_suction_a* > dexnet_4_fc_suction.zip 31 | unzip dexnet_4_fc_suction.zip 32 | mv grasps dex-net_4.0_fc_suction 33 | cd ../.. 34 | -------------------------------------------------------------------------------- /scripts/downloads/datasets/download_dex-net_4.0_pj.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Copyright ©2017. The Regents of the University of California (Regents). 4 | # All Rights Reserved. Permission to use, copy, modify, and distribute this 5 | # software and its documentation for educational, research, and not-for-profit 6 | # purposes, without fee and without a signed licensing agreement, is hereby 7 | # granted, provided that the above copyright notice, this paragraph and the 8 | # following two paragraphs appear in all copies, modifications, and 9 | # distributions. Contact The Office of Technology Licensing, UC Berkeley, 2150 10 | # Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643-7201, 11 | # otl@berkeley.edu, 12 | # http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 13 | 14 | # IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 15 | # INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 16 | # THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 17 | # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 18 | 19 | # REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 20 | # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21 | # PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 22 | # HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 23 | # MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 24 | 25 | wget -O data/training/dexnet_4_pj_aa https://berkeley.box.com/shared/static/vx59bt10e7nl409e7oy081ymwdx13sun.0_pj_aa 26 | wget -O data/training/dexnet_4_pj_ab https://berkeley.box.com/shared/static/dujezomcb9228uht952qiek30heo2kvt.0_pj_ab 27 | wget -O data/training/dexnet_4_pj_ac https://berkeley.box.com/shared/static/gzz6jhilvg927ke3ad373rmhpzi8hh60.0_pj_ac 28 | wget -O data/training/dexnet_4_pj_ad https://berkeley.box.com/shared/static/kgnmwexu82t0q5e72zd5vitjylbbu9f7.0_pj_ad 29 | wget -O data/training/dexnet_4_pj_ae https://berkeley.box.com/shared/static/jmiemqczh8wajbo11v94408gz4f3utw4.0_pj_ae 30 | wget -O data/training/dexnet_4_pj_af https://berkeley.box.com/shared/static/b8wi2grdsmr3nulx6l2c8yhd4rda88ul.0_pj_af 31 | 32 | cd data/training 33 | cat dexnet_4_pj_a* > dexnet_4_pj.zip 34 | unzip dexnet_4_pj.zip 35 | mv parallel_jaw dexnet_4_pj 36 | cd ../.. 37 | -------------------------------------------------------------------------------- /scripts/downloads/datasets/download_dex-net_4.0_suction.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Copyright ©2017. The Regents of the University of California (Regents). 4 | # All Rights Reserved. Permission to use, copy, modify, and distribute this 5 | # software and its documentation for educational, research, and not-for-profit 6 | # purposes, without fee and without a signed licensing agreement, is hereby 7 | # granted, provided that the above copyright notice, this paragraph and the 8 | # following two paragraphs appear in all copies, modifications, and 9 | # distributions. Contact The Office of Technology Licensing, UC Berkeley, 2150 10 | # Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643-7201, 11 | # otl@berkeley.edu, 12 | # http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 13 | 14 | # IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 15 | # INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 16 | # THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 17 | # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 18 | 19 | # REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 20 | # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21 | # PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 22 | # HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 23 | # MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 24 | 25 | wget -O data/training/dexnet_4_suction_aa https://berkeley.box.com/shared/static/ivg7t1bxgc7m9jufa1adxoadoxxj2os0.0_suction_aa 26 | wget -O data/training/dexnet_4_suction_ab https://berkeley.box.com/shared/static/zl0q7xwd4s6gecbbree6hito7czb7090.0_suction_ab 27 | wget -O data/training/dexnet_4_suction_ac https://berkeley.box.com/shared/static/3ndm5s0l69eo5zdrvlr98smbnmrd2lsm.0_suction_ac 28 | wget -O data/training/dexnet_4_suction_ad https://berkeley.box.com/shared/static/geclz22raqdx6h7e8h5bvvao86rrjph8.0_suction_ad 29 | wget -O data/training/dexnet_4_suction_ae https://berkeley.box.com/shared/static/9b0ruxrkidswwl11icggmndag071geuy.0_suction_ae 30 | wget -O data/training/dexnet_4_suction_af https://berkeley.box.com/shared/static/jwqnedw95k1tgfvmhzti7l0w6spqhduk.0_suction_af 31 | wget -O data/training/dexnet_4_suction_ag https://berkeley.box.com/shared/static/0d7lbx5rdshiox6uii7eqk95ljm0ja3o.0_suction_ag 32 | 33 | cd data/training 34 | cat dexnet_4_suction_a* > dexnet_4_suction.zip 35 | unzip dexnet_4_suction.zip 36 | mv suction dexnet_4_suction 37 | cd ../.. 38 | -------------------------------------------------------------------------------- /scripts/downloads/datasets/download_example_datasets.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Copyright ©2017. The Regents of the University of California (Regents). 4 | # All Rights Reserved. Permission to use, copy, modify, and distribute this 5 | # software and its documentation for educational, research, and not-for-profit 6 | # purposes, without fee and without a signed licensing agreement, is hereby 7 | # granted, provided that the above copyright notice, this paragraph and the 8 | # following two paragraphs appear in all copies, modifications, and 9 | # distributions. Contact The Office of Technology Licensing, UC Berkeley, 2150 10 | # Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643-7201, 11 | # otl@berkeley.edu, 12 | # http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 13 | 14 | # IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 15 | # INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 16 | # THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 17 | # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 18 | 19 | # REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 20 | # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21 | # PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 22 | # HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 23 | # MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 24 | # PARALLEL JAW. 25 | 26 | wget -O data/training/example_training_dataset_pj.zip https://berkeley.box.com/shared/static/wpo8jbushrdq0adwjdsampui2tu1w1xz.zip 27 | 28 | mkdir -p data/training 29 | cd data/training 30 | unzip example_training_dataset_pj.zip 31 | mv grasps example_pj 32 | cd ../.. 33 | 34 | # SUCTION. 35 | wget -O data/training/example_training_dataset_suction.zip https://berkeley.box.com/shared/static/fc9zb2cbql5rz6qtp11f6m7s0hyt1dwf.zip 36 | 37 | cd data/training 38 | unzip example_training_dataset_suction.zip 39 | mv grasps example_suction 40 | cd ../.. 41 | 42 | # FULLY-CONVOLUTIONAL PARALLEL JAW. 43 | wget -O data/training/example_training_dataset_pj_angular.zip https://berkeley.box.com/shared/static/2u4ew5444m90waucgsor8uoijgr9dgwr.zip 44 | 45 | cd data/training 46 | unzip example_training_dataset_pj_angular.zip 47 | mv grasps example_fc_pj 48 | cd ../.. 49 | -------------------------------------------------------------------------------- /scripts/downloads/download_example_data.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Copyright ©2017. The Regents of the University of California (Regents). 4 | # All Rights Reserved. Permission to use, copy, modify, and distribute this 5 | # software and its documentation for educational, research, and not-for-profit 6 | # purposes, without fee and without a signed licensing agreement, is hereby 7 | # granted, provided that the above copyright notice, this paragraph and the 8 | # following two paragraphs appear in all copies, modifications, and 9 | # distributions. Contact The Office of Technology Licensing, UC Berkeley, 2150 10 | # Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643-7201, 11 | # otl@berkeley.edu, 12 | # http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 13 | 14 | # IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 15 | # INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 16 | # THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 17 | # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 18 | 19 | # REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 20 | # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21 | # PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 22 | # HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 23 | # MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 24 | 25 | # DOWNLOAD MODELS (if they don't exist already). 26 | mkdir -p models 27 | cd models 28 | 29 | if [ ! -d "GQCNN-4.0-PJ" ]; then 30 | wget -O GQCNN-4.0-PJ.zip https://berkeley.box.com/shared/static/boe4ilodi50hy5as5zun431s1bs7t97l.zip 31 | unzip -a GQCNN-4.0-PJ.zip 32 | else 33 | echo "Found existing 4.0 PJ model..." 34 | fi 35 | 36 | if [ ! -d "GQCNN-4.0-SUCTION" ]; then 37 | wget -O GQCNN-4.0-SUCTION.zip https://berkeley.box.com/shared/static/kzg19axnflhwys9t7n6bnuqsn18zj9wy.zip 38 | unzip -a GQCNN-4.0-SUCTION.zip 39 | else 40 | echo "Found existing 4.0 suction model..." 41 | fi 42 | 43 | cd .. 44 | 45 | # DOWNLOAD DATASETS (if they don't already exist). 46 | 47 | # PARALLEL JAW. 48 | mkdir -p data/training 49 | cd data/training 50 | 51 | if [ ! -d "example_pj" ]; then 52 | wget -O example_training_dataset_pj.zip https://berkeley.box.com/shared/static/wpo8jbushrdq0adwjdsampui2tu1w1xz.zip 53 | unzip example_training_dataset_pj.zip 54 | mv grasps example_pj 55 | else 56 | echo "Found existing example PJ dataset..." 57 | fi 58 | 59 | # SUCTION. 60 | if [ ! -d "example_suction" ]; then 61 | wget -O example_training_dataset_suction.zip https://berkeley.box.com/shared/static/fc9zb2cbql5rz6qtp11f6m7s0hyt1dwf.zip 62 | unzip example_training_dataset_suction.zip 63 | mv grasps example_suction 64 | else 65 | echo "Found existing example suction dataset..." 66 | fi 67 | 68 | cd ../.. 69 | -------------------------------------------------------------------------------- /scripts/downloads/models/download_models.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Copyright ©2017. The Regents of the University of California (Regents). 4 | # All Rights Reserved. Permission to use, copy, modify, and distribute this 5 | # software and its documentation for educational, research, and not-for-profit 6 | # purposes, without fee and without a signed licensing agreement, is hereby 7 | # granted, provided that the above copyright notice, this paragraph and the 8 | # following two paragraphs appear in all copies, modifications, and 9 | # distributions. Contact The Office of Technology Licensing, UC Berkeley, 2150 10 | # Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643-7201, 11 | # otl@berkeley.edu, 12 | # http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 13 | 14 | # IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 15 | # INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 16 | # THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 17 | # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 18 | 19 | # REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 20 | # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21 | # PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 22 | # HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 23 | # MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 24 | 25 | mkdir -p models 26 | 27 | # STANDARD. 28 | wget -O models/GQCNN-2.0.zip https://berkeley.box.com/shared/static/j4k4z6077ytucxpo6wk1c5hwj47mmpux.zip 29 | wget -O models/GQCNN-2.1.zip https://berkeley.box.com/shared/static/zr1gohe29r2dtaaq20iz0lqcbk5ub07y.zip 30 | wget -O models/GQCNN-3.0.zip https://berkeley.box.com/shared/static/8l47knzbzffu8zb9y5u46q0g0rvtuk74.zip 31 | wget -O models/GQCNN-4.0-PJ.zip https://berkeley.box.com/shared/static/boe4ilodi50hy5as5zun431s1bs7t97l.zip 32 | wget -O models/GQCNN-4.0-SUCTION.zip https://berkeley.box.com/shared/static/kzg19axnflhwys9t7n6bnuqsn18zj9wy.zip 33 | 34 | # FULLY-CONVOLUTIONAL. 35 | wget -O models/FC-GQCNN-4.0-PJ.zip https://berkeley.box.com/shared/static/d9tvdnudd7f0743gxixcn0k0jeg1ds71.zip 36 | wget -O models/FC-GQCNN-4.0-SUCTION.zip https://berkeley.box.com/shared/static/ini7q54957u0cmaaxfihzn1i876m0ghd.zip 37 | 38 | cd models 39 | unzip -a GQCNN-2.0.zip 40 | mv GQ-Image-Wise GQCNN-2.0 41 | unzip -a GQCNN-2.1.zip 42 | mv GQ-Bin-Picking-Eps90 GQCNN-2.1 43 | unzip -a GQCNN-3.0.zip 44 | mv GQ-Suction GQCNN-3.0 45 | unzip -a GQCNN-4.0-PJ.zip 46 | unzip -a GQCNN-4.0-SUCTION.zip 47 | unzip -a FC-GQCNN-4.0-PJ.zip 48 | unzip -a FC-GQCNN-4.0-SUCTION.zip 49 | cd .. 50 | -------------------------------------------------------------------------------- /scripts/policies/run_all_dex-net_2.0_examples.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Copyright ©2017. The Regents of the University of California (Regents). 4 | # All Rights Reserved. Permission to use, copy, modify, and distribute this 5 | # software and its documentation for educational, research, and not-for-profit 6 | # purposes, without fee and without a signed licensing agreement, is hereby 7 | # granted, provided that the above copyright notice, this paragraph and the 8 | # following two paragraphs appear in all copies, modifications, and 9 | # distributions. Contact The Office of Technology Licensing, UC Berkeley, 2150 10 | # Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643-7201, 11 | # otl@berkeley.edu, 12 | # http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 13 | 14 | # IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 15 | # INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 16 | # THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 17 | # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 18 | 19 | # REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 20 | # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21 | # PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 22 | # HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 23 | # MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 24 | 25 | set -e 26 | 27 | echo "RUNNING EXAMPLE 1" 28 | python examples/policy.py GQCNN-2.0 --depth_image data/examples/single_object/primesense/depth_0.npy --segmask data/examples/single_object/primesense/segmask_0.png --config_filename cfg/examples/replication/dex-net_2.0.yaml 29 | 30 | echo "RUNNING EXAMPLE 2" 31 | python examples/policy.py GQCNN-2.0 --depth_image data/examples/single_object/primesense/depth_1.npy --segmask data/examples/single_object/primesense/segmask_1.png --config_filename cfg/examples/replication/dex-net_2.0.yaml 32 | 33 | echo "RUNNING EXAMPLE 3" 34 | python examples/policy.py GQCNN-2.0 --depth_image data/examples/single_object/primesense/depth_2.npy --segmask data/examples/single_object/primesense/segmask_2.png --config_filename cfg/examples/replication/dex-net_2.0.yaml 35 | 36 | echo "RUNNING EXAMPLE 4" 37 | python examples/policy.py GQCNN-2.0 --depth_image data/examples/single_object/primesense/depth_3.npy --segmask data/examples/single_object/primesense/segmask_3.png --config_filename cfg/examples/replication/dex-net_2.0.yaml 38 | 39 | echo "RUNNING EXAMPLE 5" 40 | python examples/policy.py GQCNN-2.0 --depth_image data/examples/single_object/primesense/depth_4.npy --segmask data/examples/single_object/primesense/segmask_4.png --config_filename cfg/examples/replication/dex-net_2.0.yaml 41 | 42 | echo "RUNNING EXAMPLE 6" 43 | python examples/policy.py GQCNN-2.0 --depth_image data/examples/single_object/primesense/depth_5.npy --segmask data/examples/single_object/primesense/segmask_5.png --config_filename cfg/examples/replication/dex-net_2.0.yaml 44 | 45 | echo "RUNNING EXAMPLE 7" 46 | python examples/policy.py GQCNN-2.0 --depth_image data/examples/single_object/primesense/depth_6.npy --segmask data/examples/single_object/primesense/segmask_6.png --config_filename cfg/examples/replication/dex-net_2.0.yaml 47 | 48 | echo "RUNNING EXAMPLE 8" 49 | python examples/policy.py GQCNN-2.0 --depth_image data/examples/single_object/primesense/depth_7.npy --segmask data/examples/single_object/primesense/segmask_7.png --config_filename cfg/examples/replication/dex-net_2.0.yaml 50 | 51 | echo "RUNNING EXAMPLE 9" 52 | python examples/policy.py GQCNN-2.0 --depth_image data/examples/single_object/primesense/depth_8.npy --segmask data/examples/single_object/primesense/segmask_8.png --config_filename cfg/examples/replication/dex-net_2.0.yaml 53 | 54 | echo "RUNNING EXAMPLE 10" 55 | python examples/policy.py GQCNN-2.0 --depth_image data/examples/single_object/primesense/depth_9.npy --segmask data/examples/single_object/primesense/segmask_9.png --config_filename cfg/examples/replication/dex-net_2.0.yaml 56 | 57 | -------------------------------------------------------------------------------- /scripts/policies/run_all_dex-net_2.1_examples.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Copyright ©2017. The Regents of the University of California (Regents). 4 | # All Rights Reserved. Permission to use, copy, modify, and distribute this 5 | # software and its documentation for educational, research, and not-for-profit 6 | # purposes, without fee and without a signed licensing agreement, is hereby 7 | # granted, provided that the above copyright notice, this paragraph and the 8 | # following two paragraphs appear in all copies, modifications, and 9 | # distributions. Contact The Office of Technology Licensing, UC Berkeley, 2150 10 | # Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643-7201, 11 | # otl@berkeley.edu, 12 | # http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 13 | 14 | # IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 15 | # INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 16 | # THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 17 | # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 18 | 19 | # REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 20 | # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21 | # PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 22 | # HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 23 | # MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 24 | 25 | set -e 26 | 27 | echo "RUNNING EXAMPLE 1" 28 | python examples/policy.py GQCNN-2.1 --depth_image data/examples/clutter/primesense/depth_0.npy --segmask data/examples/clutter/primesense/segmask_0.png --config_filename cfg/examples/replication/dex-net_2.1.yaml 29 | 30 | echo "RUNNING EXAMPLE 2" 31 | python examples/policy.py GQCNN-2.1 --depth_image data/examples/clutter/primesense/depth_1.npy --segmask data/examples/clutter/primesense/segmask_1.png --config_filename cfg/examples/replication/dex-net_2.1.yaml 32 | 33 | echo "RUNNING EXAMPLE 3" 34 | python examples/policy.py GQCNN-2.1 --depth_image data/examples/clutter/primesense/depth_2.npy --segmask data/examples/clutter/primesense/segmask_2.png --config_filename cfg/examples/replication/dex-net_2.1.yaml 35 | 36 | echo "RUNNING EXAMPLE 4" 37 | python examples/policy.py GQCNN-2.1 --depth_image data/examples/clutter/primesense/depth_3.npy --segmask data/examples/clutter/primesense/segmask_3.png --config_filename cfg/examples/replication/dex-net_2.1.yaml 38 | 39 | echo "RUNNING EXAMPLE 5" 40 | python examples/policy.py GQCNN-2.1 --depth_image data/examples/clutter/primesense/depth_4.npy --segmask data/examples/clutter/primesense/segmask_4.png --config_filename cfg/examples/replication/dex-net_2.1.yaml 41 | 42 | -------------------------------------------------------------------------------- /scripts/policies/run_all_dex-net_3.0_examples.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Copyright ©2017. The Regents of the University of California (Regents). 4 | # All Rights Reserved. Permission to use, copy, modify, and distribute this 5 | # software and its documentation for educational, research, and not-for-profit 6 | # purposes, without fee and without a signed licensing agreement, is hereby 7 | # granted, provided that the above copyright notice, this paragraph and the 8 | # following two paragraphs appear in all copies, modifications, and 9 | # distributions. Contact The Office of Technology Licensing, UC Berkeley, 2150 10 | # Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643-7201, 11 | # otl@berkeley.edu, 12 | # http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 13 | 14 | # IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 15 | # INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 16 | # THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 17 | # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 18 | 19 | # REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 20 | # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21 | # PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 22 | # HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 23 | # MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 24 | 25 | set -e 26 | 27 | echo "RUNNING EXAMPLE 1" 28 | python examples/policy.py GQCNN-3.0 --depth_image data/examples/single_object/primesense/depth_0.npy --segmask data/examples/single_object/primesense/segmask_0.png --config_filename cfg/examples/replication/dex-net_3.0.yaml 29 | 30 | echo "RUNNING EXAMPLE 2" 31 | python examples/policy.py GQCNN-3.0 --depth_image data/examples/single_object/primesense/depth_1.npy --segmask data/examples/single_object/primesense/segmask_1.png --config_filename cfg/examples/replication/dex-net_3.0.yaml 32 | 33 | echo "RUNNING EXAMPLE 3" 34 | python examples/policy.py GQCNN-3.0 --depth_image data/examples/single_object/primesense/depth_2.npy --segmask data/examples/single_object/primesense/segmask_2.png --config_filename cfg/examples/replication/dex-net_3.0.yaml 35 | 36 | echo "RUNNING EXAMPLE 4" 37 | python examples/policy.py GQCNN-3.0 --depth_image data/examples/single_object/primesense/depth_3.npy --segmask data/examples/single_object/primesense/segmask_3.png --config_filename cfg/examples/replication/dex-net_3.0.yaml 38 | 39 | echo "RUNNING EXAMPLE 5" 40 | python examples/policy.py GQCNN-3.0 --depth_image data/examples/single_object/primesense/depth_4.npy --segmask data/examples/single_object/primesense/segmask_4.png --config_filename cfg/examples/replication/dex-net_3.0.yaml 41 | 42 | echo "RUNNING EXAMPLE 6" 43 | python examples/policy.py GQCNN-3.0 --depth_image data/examples/single_object/primesense/depth_5.npy --segmask data/examples/single_object/primesense/segmask_5.png --config_filename cfg/examples/replication/dex-net_3.0.yaml 44 | 45 | echo "RUNNING EXAMPLE 7" 46 | python examples/policy.py GQCNN-3.0 --depth_image data/examples/single_object/primesense/depth_6.npy --segmask data/examples/single_object/primesense/segmask_6.png --config_filename cfg/examples/replication/dex-net_3.0.yaml 47 | 48 | echo "RUNNING EXAMPLE 8" 49 | python examples/policy.py GQCNN-3.0 --depth_image data/examples/single_object/primesense/depth_7.npy --segmask data/examples/single_object/primesense/segmask_7.png --config_filename cfg/examples/replication/dex-net_3.0.yaml 50 | 51 | echo "RUNNING EXAMPLE 9" 52 | python examples/policy.py GQCNN-3.0 --depth_image data/examples/single_object/primesense/depth_8.npy --segmask data/examples/single_object/primesense/segmask_8.png --config_filename cfg/examples/replication/dex-net_3.0.yaml 53 | 54 | echo "RUNNING EXAMPLE 10" 55 | python examples/policy.py GQCNN-3.0 --depth_image data/examples/single_object/primesense/depth_9.npy --segmask data/examples/single_object/primesense/segmask_9.png --config_filename cfg/examples/replication/dex-net_3.0.yaml 56 | 57 | -------------------------------------------------------------------------------- /scripts/policies/run_all_dex-net_4.0_fc_pj_examples.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Copyright ©2017. The Regents of the University of California (Regents). 4 | # All Rights Reserved. Permission to use, copy, modify, and distribute this 5 | # software and its documentation for educational, research, and not-for-profit 6 | # purposes, without fee and without a signed licensing agreement, is hereby 7 | # granted, provided that the above copyright notice, this paragraph and the 8 | # following two paragraphs appear in all copies, modifications, and 9 | # distributions. Contact The Office of Technology Licensing, UC Berkeley, 2150 10 | # Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643-7201, 11 | # otl@berkeley.edu, 12 | # http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 13 | 14 | # IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 15 | # INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 16 | # THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 17 | # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 18 | 19 | # REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 20 | # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21 | # PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 22 | # HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 23 | # MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 24 | 25 | set -e 26 | 27 | echo "RUNNING EXAMPLE 1" 28 | python examples/policy.py FC-GQCNN-4.0-PJ --fully_conv --depth_image data/examples/clutter/phoxi/fcgqcnn/depth_0.npy --segmask data/examples/clutter/phoxi/fcgqcnn/segmask_0.png --config_filename cfg/examples/replication/dex-net_4.0_fc_pj.yaml --camera_intr data/calib/phoxi/phoxi.intr 29 | 30 | echo "RUNNING EXAMPLE 2" 31 | python examples/policy.py FC-GQCNN-4.0-PJ --fully_conv --depth_image data/examples/clutter/phoxi/fcgqcnn/depth_1.npy --segmask data/examples/clutter/phoxi/fcgqcnn/segmask_1.png --config_filename cfg/examples/replication/dex-net_4.0_fc_pj.yaml --camera_intr data/calib/phoxi/phoxi.intr 32 | 33 | echo "RUNNING EXAMPLE 3" 34 | python examples/policy.py FC-GQCNN-4.0-PJ --fully_conv --depth_image data/examples/clutter/phoxi/fcgqcnn/depth_2.npy --segmask data/examples/clutter/phoxi/fcgqcnn/segmask_2.png --config_filename cfg/examples/replication/dex-net_4.0_fc_pj.yaml --camera_intr data/calib/phoxi/phoxi.intr 35 | 36 | echo "RUNNING EXAMPLE 4" 37 | python examples/policy.py FC-GQCNN-4.0-PJ --fully_conv --depth_image data/examples/clutter/phoxi/fcgqcnn/depth_3.npy --segmask data/examples/clutter/phoxi/fcgqcnn/segmask_3.png --config_filename cfg/examples/replication/dex-net_4.0_fc_pj.yaml --camera_intr data/calib/phoxi/phoxi.intr 38 | 39 | echo "RUNNING EXAMPLE 5" 40 | python examples/policy.py FC-GQCNN-4.0-PJ --fully_conv --depth_image data/examples/clutter/phoxi/fcgqcnn/depth_4.npy --segmask data/examples/clutter/phoxi/fcgqcnn/segmask_4.png --config_filename cfg/examples/replication/dex-net_4.0_fc_pj.yaml --camera_intr data/calib/phoxi/phoxi.intr 41 | -------------------------------------------------------------------------------- /scripts/policies/run_all_dex-net_4.0_fc_suction_examples.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Copyright ©2017. The Regents of the University of California (Regents). 4 | # All Rights Reserved. Permission to use, copy, modify, and distribute this 5 | # software and its documentation for educational, research, and not-for-profit 6 | # purposes, without fee and without a signed licensing agreement, is hereby 7 | # granted, provided that the above copyright notice, this paragraph and the 8 | # following two paragraphs appear in all copies, modifications, and 9 | # distributions. Contact The Office of Technology Licensing, UC Berkeley, 2150 10 | # Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643-7201, 11 | # otl@berkeley.edu, 12 | # http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 13 | 14 | # IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 15 | # INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 16 | # THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 17 | # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 18 | 19 | # REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 20 | # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21 | # PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 22 | # HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 23 | # MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 24 | 25 | set -e 26 | 27 | echo "RUNNING EXAMPLE 1" 28 | python examples/policy.py FC-GQCNN-4.0-SUCTION --fully_conv --depth_image data/examples/clutter/phoxi/fcgqcnn/depth_0.npy --segmask data/examples/clutter/phoxi/fcgqcnn/segmask_0.png --config_filename cfg/examples/replication/dex-net_4.0_fc_suction.yaml --camera_intr data/calib/phoxi/phoxi.intr 29 | 30 | echo "RUNNING EXAMPLE 2" 31 | python examples/policy.py FC-GQCNN-4.0-SUCTION --fully_conv --depth_image data/examples/clutter/phoxi/fcgqcnn/depth_1.npy --segmask data/examples/clutter/phoxi/fcgqcnn/segmask_1.png --config_filename cfg/examples/replication/dex-net_4.0_fc_suction.yaml --camera_intr data/calib/phoxi/phoxi.intr 32 | 33 | echo "RUNNING EXAMPLE 3" 34 | python examples/policy.py FC-GQCNN-4.0-SUCTION --fully_conv --depth_image data/examples/clutter/phoxi/fcgqcnn/depth_2.npy --segmask data/examples/clutter/phoxi/fcgqcnn/segmask_2.png --config_filename cfg/examples/replication/dex-net_4.0_fc_suction.yaml --camera_intr data/calib/phoxi/phoxi.intr 35 | 36 | echo "RUNNING EXAMPLE 4" 37 | python examples/policy.py FC-GQCNN-4.0-SUCTION --fully_conv --depth_image data/examples/clutter/phoxi/fcgqcnn/depth_3.npy --segmask data/examples/clutter/phoxi/fcgqcnn/segmask_3.png --config_filename cfg/examples/replication/dex-net_4.0_fc_suction.yaml --camera_intr data/calib/phoxi/phoxi.intr 38 | 39 | echo "RUNNING EXAMPLE 5" 40 | python examples/policy.py FC-GQCNN-4.0-SUCTION --fully_conv --depth_image data/examples/clutter/phoxi/fcgqcnn/depth_4.npy --segmask data/examples/clutter/phoxi/fcgqcnn/segmask_4.png --config_filename cfg/examples/replication/dex-net_4.0_fc_suction.yaml --camera_intr data/calib/phoxi/phoxi.intr 41 | -------------------------------------------------------------------------------- /scripts/policies/run_all_dex-net_4.0_pj_examples.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Copyright ©2017. The Regents of the University of California (Regents). 4 | # All Rights Reserved. Permission to use, copy, modify, and distribute this 5 | # software and its documentation for educational, research, and not-for-profit 6 | # purposes, without fee and without a signed licensing agreement, is hereby 7 | # granted, provided that the above copyright notice, this paragraph and the 8 | # following two paragraphs appear in all copies, modifications, and 9 | # distributions. Contact The Office of Technology Licensing, UC Berkeley, 2150 10 | # Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643-7201, 11 | # otl@berkeley.edu, 12 | # http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 13 | 14 | # IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 15 | # INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 16 | # THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 17 | # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 18 | 19 | # REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 20 | # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21 | # PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 22 | # HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 23 | # MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 24 | 25 | set -e 26 | 27 | echo "RUNNING EXAMPLE 1" 28 | python examples/policy.py GQCNN-4.0-PJ --depth_image data/examples/clutter/phoxi/dex-net_4.0/depth_0.npy --segmask data/examples/clutter/phoxi/dex-net_4.0/segmask_0.png --config_filename cfg/examples/replication/dex-net_4.0_pj.yaml --camera_intr data/calib/phoxi/phoxi.intr 29 | 30 | echo "RUNNING EXAMPLE 2" 31 | python examples/policy.py GQCNN-4.0-PJ --depth_image data/examples/clutter/phoxi/dex-net_4.0/depth_1.npy --segmask data/examples/clutter/phoxi/dex-net_4.0/segmask_1.png --config_filename cfg/examples/replication/dex-net_4.0_pj.yaml --camera_intr data/calib/phoxi/phoxi.intr 32 | 33 | echo "RUNNING EXAMPLE 3" 34 | python examples/policy.py GQCNN-4.0-PJ --depth_image data/examples/clutter/phoxi/dex-net_4.0/depth_2.npy --segmask data/examples/clutter/phoxi/dex-net_4.0/segmask_2.png --config_filename cfg/examples/replication/dex-net_4.0_pj.yaml --camera_intr data/calib/phoxi/phoxi.intr 35 | 36 | echo "RUNNING EXAMPLE 4" 37 | python examples/policy.py GQCNN-4.0-PJ --depth_image data/examples/clutter/phoxi/dex-net_4.0/depth_3.npy --segmask data/examples/clutter/phoxi/dex-net_4.0/segmask_3.png --config_filename cfg/examples/replication/dex-net_4.0_pj.yaml --camera_intr data/calib/phoxi/phoxi.intr 38 | 39 | echo "RUNNING EXAMPLE 5" 40 | python examples/policy.py GQCNN-4.0-PJ --depth_image data/examples/clutter/phoxi/dex-net_4.0/depth_4.npy --segmask data/examples/clutter/phoxi/dex-net_4.0/segmask_4.png --config_filename cfg/examples/replication/dex-net_4.0_pj.yaml --camera_intr data/calib/phoxi/phoxi.intr 41 | -------------------------------------------------------------------------------- /scripts/policies/run_all_dex-net_4.0_suction_examples.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Copyright ©2017. The Regents of the University of California (Regents). 4 | # All Rights Reserved. Permission to use, copy, modify, and distribute this 5 | # software and its documentation for educational, research, and not-for-profit 6 | # purposes, without fee and without a signed licensing agreement, is hereby 7 | # granted, provided that the above copyright notice, this paragraph and the 8 | # following two paragraphs appear in all copies, modifications, and 9 | # distributions. Contact The Office of Technology Licensing, UC Berkeley, 2150 10 | # Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643-7201, 11 | # otl@berkeley.edu, 12 | # http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 13 | 14 | # IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 15 | # INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 16 | # THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 17 | # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 18 | 19 | # REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 20 | # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21 | # PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 22 | # HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 23 | # MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 24 | 25 | set -e 26 | 27 | echo "RUNNING EXAMPLE 1" 28 | python examples/policy.py GQCNN-4.0-SUCTION --depth_image data/examples/clutter/phoxi/dex-net_4.0/depth_0.npy --segmask data/examples/clutter/phoxi/dex-net_4.0/segmask_0.png --config_filename cfg/examples/replication/dex-net_4.0_suction.yaml --camera_intr data/calib/phoxi/phoxi.intr 29 | 30 | echo "RUNNING EXAMPLE 2" 31 | python examples/policy.py GQCNN-4.0-SUCTION --depth_image data/examples/clutter/phoxi/dex-net_4.0/depth_1.npy --segmask data/examples/clutter/phoxi/dex-net_4.0/segmask_1.png --config_filename cfg/examples/replication/dex-net_4.0_suction.yaml --camera_intr data/calib/phoxi/phoxi.intr 32 | 33 | echo "RUNNING EXAMPLE 3" 34 | python examples/policy.py GQCNN-4.0-SUCTION --depth_image data/examples/clutter/phoxi/dex-net_4.0/depth_2.npy --segmask data/examples/clutter/phoxi/dex-net_4.0/segmask_2.png --config_filename cfg/examples/replication/dex-net_4.0_suction.yaml --camera_intr data/calib/phoxi/phoxi.intr 35 | 36 | echo "RUNNING EXAMPLE 4" 37 | python examples/policy.py GQCNN-4.0-SUCTION --depth_image data/examples/clutter/phoxi/dex-net_4.0/depth_3.npy --segmask data/examples/clutter/phoxi/dex-net_4.0/segmask_3.png --config_filename cfg/examples/replication/dex-net_4.0_suction.yaml --camera_intr data/calib/phoxi/phoxi.intr 38 | 39 | echo "RUNNING EXAMPLE 5" 40 | python examples/policy.py GQCNN-4.0-SUCTION --depth_image data/examples/clutter/phoxi/dex-net_4.0/depth_4.npy --segmask data/examples/clutter/phoxi/dex-net_4.0/segmask_4.png --config_filename cfg/examples/replication/dex-net_4.0_suction.yaml --camera_intr data/calib/phoxi/phoxi.intr 41 | -------------------------------------------------------------------------------- /scripts/training/train_dex-net_2.0.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Copyright ©2017. The Regents of the University of California (Regents). 4 | # All Rights Reserved. Permission to use, copy, modify, and distribute this 5 | # software and its documentation for educational, research, and not-for-profit 6 | # purposes, without fee and without a signed licensing agreement, is hereby 7 | # granted, provided that the above copyright notice, this paragraph and the 8 | # following two paragraphs appear in all copies, modifications, and 9 | # distributions. Contact The Office of Technology Licensing, UC Berkeley, 2150 10 | # Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643-7201, 11 | # otl@berkeley.edu, 12 | # http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 13 | 14 | # IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 15 | # INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 16 | # THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 17 | # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 18 | 19 | # REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 20 | # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21 | # PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 22 | # HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 23 | # MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 24 | 25 | python tools/train.py data/training/dex-net_2.0 --config_filename cfg/train_dex-net_2.0.yaml --name GQCNN-2.0 26 | -------------------------------------------------------------------------------- /scripts/training/train_dex-net_2.1.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Copyright ©2017. The Regents of the University of California (Regents). 4 | # All Rights Reserved. Permission to use, copy, modify, and distribute this 5 | # software and its documentation for educational, research, and not-for-profit 6 | # purposes, without fee and without a signed licensing agreement, is hereby 7 | # granted, provided that the above copyright notice, this paragraph and the 8 | # following two paragraphs appear in all copies, modifications, and 9 | # distributions. Contact The Office of Technology Licensing, UC Berkeley, 2150 10 | # Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643-7201, 11 | # otl@berkeley.edu, 12 | # http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 13 | 14 | # IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 15 | # INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 16 | # THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 17 | # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 18 | 19 | # REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 20 | # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21 | # PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 22 | # HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 23 | # MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 24 | 25 | echo "Please contact Vishal Satish (vsatish@berkeley.edu) or Jeffrey Mahler (jmahler@berkeley.edu) for instructions on training Dex-Net 2.1." 26 | -------------------------------------------------------------------------------- /scripts/training/train_dex-net_3.0.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Copyright ©2017. The Regents of the University of California (Regents). 4 | # All Rights Reserved. Permission to use, copy, modify, and distribute this 5 | # software and its documentation for educational, research, and not-for-profit 6 | # purposes, without fee and without a signed licensing agreement, is hereby 7 | # granted, provided that the above copyright notice, this paragraph and the 8 | # following two paragraphs appear in all copies, modifications, and 9 | # distributions. Contact The Office of Technology Licensing, UC Berkeley, 2150 10 | # Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643-7201, 11 | # otl@berkeley.edu, 12 | # http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 13 | 14 | # IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 15 | # INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 16 | # THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 17 | # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 18 | 19 | # REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 20 | # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21 | # PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 22 | # HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 23 | # MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 24 | 25 | python tools/train.py data/training/dex-net_3.0 --config_filename cfg/train_dex-net_3.0.yaml --name GQCNN-3.0 26 | -------------------------------------------------------------------------------- /scripts/training/train_dex-net_4.0_fc_pj.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Copyright ©2017. The Regents of the University of California (Regents). 4 | # All Rights Reserved. Permission to use, copy, modify, and distribute this 5 | # software and its documentation for educational, research, and not-for-profit 6 | # purposes, without fee and without a signed licensing agreement, is hereby 7 | # granted, provided that the above copyright notice, this paragraph and the 8 | # following two paragraphs appear in all copies, modifications, and 9 | # distributions. Contact The Office of Technology Licensing, UC Berkeley, 2150 10 | # Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643-7201, 11 | # otl@berkeley.edu, 12 | # http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 13 | 14 | # IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 15 | # INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 16 | # THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 17 | # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 18 | 19 | # REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 20 | # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21 | # PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 22 | # HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 23 | # MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 24 | 25 | python tools/train.py data/training/dex-net_4.0_fc_pj --config_filename cfg/train_dex-net_4.0_fc_pj.yaml --name GQCNN-4.0-FC-PJ 26 | -------------------------------------------------------------------------------- /scripts/training/train_dex-net_4.0_fc_suction.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Copyright ©2017. The Regents of the University of California (Regents). 4 | # All Rights Reserved. Permission to use, copy, modify, and distribute this 5 | # software and its documentation for educational, research, and not-for-profit 6 | # purposes, without fee and without a signed licensing agreement, is hereby 7 | # granted, provided that the above copyright notice, this paragraph and the 8 | # following two paragraphs appear in all copies, modifications, and 9 | # distributions. Contact The Office of Technology Licensing, UC Berkeley, 2150 10 | # Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643-7201, 11 | # otl@berkeley.edu, 12 | # http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 13 | 14 | # IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 15 | # INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 16 | # THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 17 | # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 18 | 19 | # REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 20 | # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21 | # PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 22 | # HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 23 | # MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 24 | 25 | python tools/train.py data/training/dex-net_4.0_fc_suction --config_filename cfg/train_dex-net_4.0_fc_suction.yaml --name GQCNN-4.0-FC-Suction 26 | -------------------------------------------------------------------------------- /scripts/training/train_dex-net_4.0_pj.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Copyright ©2017. The Regents of the University of California (Regents). 4 | # All Rights Reserved. Permission to use, copy, modify, and distribute this 5 | # software and its documentation for educational, research, and not-for-profit 6 | # purposes, without fee and without a signed licensing agreement, is hereby 7 | # granted, provided that the above copyright notice, this paragraph and the 8 | # following two paragraphs appear in all copies, modifications, and 9 | # distributions. Contact The Office of Technology Licensing, UC Berkeley, 2150 10 | # Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643-7201, 11 | # otl@berkeley.edu, 12 | # http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 13 | 14 | # IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 15 | # INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 16 | # THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 17 | # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 18 | 19 | # REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 20 | # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21 | # PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 22 | # HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 23 | # MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 24 | 25 | python tools/train.py data/training/dexnet_4_pj --config_filename cfg/train_dex-net_4.0_pj.yaml --name GQCNN-4.0-PJ 26 | -------------------------------------------------------------------------------- /scripts/training/train_dex-net_4.0_suction.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Copyright ©2017. The Regents of the University of California (Regents). 4 | # All Rights Reserved. Permission to use, copy, modify, and distribute this 5 | # software and its documentation for educational, research, and not-for-profit 6 | # purposes, without fee and without a signed licensing agreement, is hereby 7 | # granted, provided that the above copyright notice, this paragraph and the 8 | # following two paragraphs appear in all copies, modifications, and 9 | # distributions. Contact The Office of Technology Licensing, UC Berkeley, 2150 10 | # Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643-7201, 11 | # otl@berkeley.edu, 12 | # http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 13 | 14 | # IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 15 | # INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 16 | # THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 17 | # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 18 | 19 | # REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 20 | # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21 | # PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 22 | # HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 23 | # MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 24 | 25 | python tools/train.py data/training/dexnet_4_suction --config_filename cfg/train_dex-net_4.0_suction.yaml --name GQCNN-4.0-Suction 26 | -------------------------------------------------------------------------------- /srv/GQCNNGraspPlanner.srv: -------------------------------------------------------------------------------- 1 | # Copyright ©2017. The Regents of the University of California (Regents). 2 | # All Rights Reserved. Permission to use, copy, modify, and distribute this 3 | # software and its documentation for educational, research, and not-for-profit 4 | # purposes, without fee and without a signed licensing agreement, is hereby 5 | # granted, provided that the above copyright notice, this paragraph and the 6 | # following two paragraphs appear in all copies, modifications, and 7 | # distributions. Contact The Office of Technology Licensing, UC Berkeley, 2150 8 | # Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643-7201, 9 | # otl@berkeley.edu, 10 | # http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 11 | 12 | # IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 13 | # INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 14 | # THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 15 | # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 16 | 17 | # REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 18 | # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 19 | # PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 20 | # HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 21 | # MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 22 | 23 | # request params 24 | sensor_msgs/Image color_image 25 | sensor_msgs/Image depth_image 26 | sensor_msgs/CameraInfo camera_info 27 | --- 28 | # response params 29 | GQCNNGrasp grasp 30 | -------------------------------------------------------------------------------- /srv/GQCNNGraspPlannerBoundingBox.srv: -------------------------------------------------------------------------------- 1 | # Copyright ©2017. The Regents of the University of California (Regents). 2 | # All Rights Reserved. Permission to use, copy, modify, and distribute this 3 | # software and its documentation for educational, research, and not-for-profit 4 | # purposes, without fee and without a signed licensing agreement, is hereby 5 | # granted, provided that the above copyright notice, this paragraph and the 6 | # following two paragraphs appear in all copies, modifications, and 7 | # distributions. Contact The Office of Technology Licensing, UC Berkeley, 2150 8 | # Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643-7201, 9 | # otl@berkeley.edu, 10 | # http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 11 | 12 | # IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 13 | # INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 14 | # THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 15 | # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 16 | 17 | # REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 18 | # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 19 | # PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 20 | # HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 21 | # MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 22 | 23 | # request params 24 | sensor_msgs/Image color_image 25 | sensor_msgs/Image depth_image 26 | sensor_msgs/CameraInfo camera_info 27 | BoundingBox bounding_box 28 | --- 29 | # response params 30 | GQCNNGrasp grasp 31 | -------------------------------------------------------------------------------- /srv/GQCNNGraspPlannerFull.srv: -------------------------------------------------------------------------------- 1 | # Copyright ©2017. The Regents of the University of California (Regents). 2 | # All Rights Reserved. Permission to use, copy, modify, and distribute this 3 | # software and its documentation for educational, research, and not-for-profit 4 | # purposes, without fee and without a signed licensing agreement, is hereby 5 | # granted, provided that the above copyright notice, this paragraph and the 6 | # following two paragraphs appear in all copies, modifications, and 7 | # distributions. Contact The Office of Technology Licensing, UC Berkeley, 2150 8 | # Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643-7201, 9 | # otl@berkeley.edu, 10 | # http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 11 | 12 | # IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 13 | # INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 14 | # THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 15 | # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 16 | 17 | # REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 18 | # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 19 | # PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 20 | # HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 21 | # MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 22 | 23 | # request params 24 | sensor_msgs/Image color_image 25 | sensor_msgs/Image depth_image 26 | sensor_msgs/CameraInfo camera_info 27 | BoundingBox bounding_box 28 | sensor_msgs/Image segmask 29 | --- 30 | # response params 31 | GQCNNGrasp grasp 32 | -------------------------------------------------------------------------------- /srv/GQCNNGraspPlannerSegmask.srv: -------------------------------------------------------------------------------- 1 | # Copyright ©2017. The Regents of the University of California (Regents). 2 | # All Rights Reserved. Permission to use, copy, modify, and distribute this 3 | # software and its documentation for educational, research, and not-for-profit 4 | # purposes, without fee and without a signed licensing agreement, is hereby 5 | # granted, provided that the above copyright notice, this paragraph and the 6 | # following two paragraphs appear in all copies, modifications, and 7 | # distributions. Contact The Office of Technology Licensing, UC Berkeley, 2150 8 | # Shattuck Avenue, Suite 510, Berkeley, CA 94720-1620, (510) 643-7201, 9 | # otl@berkeley.edu, 10 | # http://ipira.berkeley.edu/industry-info for commercial licensing opportunities. 11 | 12 | # IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 13 | # INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF 14 | # THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS BEEN 15 | # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 16 | 17 | # REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 18 | # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 19 | # PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 20 | # HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 21 | # MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 22 | 23 | # request params 24 | sensor_msgs/Image color_image 25 | sensor_msgs/Image depth_image 26 | sensor_msgs/CameraInfo camera_info 27 | sensor_msgs/Image segmask 28 | --- 29 | # response params 30 | GQCNNGrasp grasp 31 | --------------------------------------------------------------------------------