/PhysimGlobalPose

C++ implementation for search based 6d pose estimation of objects in clutter.

Primary LanguageC++

PhysimGlobalPose

This repository implements a search-based technique for 6D pose estimation of objects in clutter as described in our paper pdf.

Improving 6D Pose Estimation of Objects in Clutter via Physics-aware Monte Carlo Tree Search.
By Chaitanya Mitash, Kostas Bekris, Abdeslam Boularias (Rutgers University).
In Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), Brisbane, Australia, 2018.

Setup

  1. Clone the repository.
  2. Download object models: Models
  3. Copy models to $PHYSIM_GLOBAL_POSE/src/physim_pose_estimation/
  4. Download trained fcn weights: FCN Model
  5. Copy weights to $PHYSIM_GLOBAL_POSE/src/3rdparty/fcn_segmentation_package
  6. Download and extract Bullet

Demo

export BULLET_PHYSICS_PATH=/path/to/bullet/bullet3-2.86.1/
export PHYSIM_GLOBAL_POSE=/path/to/repo/PhysimGlobalPose
source $PHYSIM_GLOBAL_POSE/devel/setup.sh

cd $PHYSIM_GLOBAL_POSE/src
catkin_init_workspace
cd $PHYSIM_GLOBAL_POSE
catkin_make
rosrun physim_pose_estimation physim_pose_estimation
run $PHYSIM_GLOBAL_POSE/src/3rdparty/fcn_segmentation_package/predict
rosservice call /pose_estimation "APC" "$PHYSIM_GLOBAL_POSE/test-scene/" "FCNThreshold" "PCS" "LCP"

Output

  1. Estimated 6D pose of all objects in the scene.

System Requirements

  1. Ubuntu 14.04/16.04
  2. Cuda 8.0, CudNN 5.0

Citing

To cite the work:

@inproceedings{mitash2017improving,
  Author = {Mitash, Chaitanya and Boularias, Abdeslam and Bekris, Kostas E},
  Booktitle = {{IEEE} International Conference on Robotics and Automation (ICRA)},
  Title = {Improving 6D Pose Estimation of Objects in Clutter via Physics-aware Monte Carlo Tree Search},
  Year = {2018}}