Giter Site home page Giter Site logo

wshongcola / pc_object_completion_cnn Goto Github PK

View Code? Open in Web Editor NEW

This project forked from crlab/pc_object_completion_cnn

0.0 0.0 0.0 24 KB

ROS node for shape completion. Referenced in IROS 2017 paper "Shape Completion Enabled Robotic Grasping"

Home Page: http://shapecompletiongrasping.cs.columbia.edu/

Shell 2.09% Python 57.89% CMake 40.02%

pc_object_completion_cnn's Introduction

pc_object_completion_cnn

ROS node for shape completion. This node runs an action server to take in pointclouds representing partial views of an object, and returning a completed mesh of the object.

This is the maintained code base for the shape completion CNN from the IROS 2017 paper "Shape Completion Enabled Robotic Grasping"

@inproceedings{varley2017shape,
  title={Shape Completion Enabled Robotic Grasping},
  author={Varley, Jacob and DeChant, Chad and Richardson, Adam and Nair, Avinash and Ruales, Joaqu{\'\i}n and Allen, Peter},
  booktitle={Intelligent Robots and Systems (IROS), 2017 IEEE/RSJ International Conference on},
  year={2017},
  organization={IEEE}
}

Dependencies

This has been tested on ubuntu 14.04 and ROS Indigo and ubuntu 16.04 and ROS Kinetic. You will need to first setup Keras with a tensorflow backend. Setup instructions can be found here: https://github.com/fchollet/keras/

This repos is best run as part of: https://github.com/CURG/pc_pipeline_launch which should be setup first. Once the pc_pipeline is setup, this node offers a drop in replacement for pc_object_completion_partial.

Other Smaller Dependencies

git clone [email protected]:CURG/binvox-rw-py.git
git clone [email protected]:ShapeCompletion3D/python-pcl.git
git clone [email protected]:CURG/Curvox.git
git clone [email protected]:CURG/Mesh_Reconstruction.git

binvox_rw: python utility library to read and write voxel grids to run length encoded binvox files

python-pcl: python utility library to read and write pointclouds to .pcd files

Curvox: python mesh/pointcloud utility library mostly for marshalling ros mesh and pointcloud messages into ply and pcd files

Mesh_Reconstruction: Code from IROS 2017 "Shape Completion Enabled Robotic Grasping" paper. This code takes the 40^3 voxel grid output from the CNN and combines it with the high resolution observed pointcloud directly captured from the depth sensor. This way the visible portions of the completions are nicely detailed.

Setup

cd ~
mkdir -p ~/cnn_completion_ws/src
cd ~/cnn_completion_ws/src
git clone [email protected]:CURG/pc_pipeline_msgs.git
git clone [email protected]:CURG/pc_object_completion_cnn.git

cd ~/cnn_completion_ws/src/pc_object_completion_cnn/scripts/shape_completion_server/trained_models
./load_trained_model.sh

cd ~/cnn_completion_ws
source /opt/ros/indigo/setup.bash
catkin_make

You will also need to modify set_env.sh to correctly set where to reach your ROS core.

Running

cd ~/cnn_completion_ws/
source devel/setup.bash
cd ~/cnn_completion_ws/src/pc_object_completion_cnn
source set_env.sh
rosrun pc_object_completion_cnn mesh_completion_server.py

pc_object_completion_cnn's People

Contributors

jvarley avatar davidwatkins avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.