diff --git a/jsk_pcl_ros/CMakeLists.txt b/jsk_pcl_ros/CMakeLists.txt
index 0076d779f3..985b04abf5 100644
--- a/jsk_pcl_ros/CMakeLists.txt
+++ b/jsk_pcl_ros/CMakeLists.txt
@@ -659,6 +659,7 @@ if (CATKIN_ENABLE_TESTING)
if(tf2_eigen_FOUND)
add_rostest(test/test_container_occupancy_detector.test)
endif()
+ add_rostest(test/test_octomap_server_contact_pr2.test)
endif()
roslaunch_add_file_check(launch/openni_local.launch)
roslaunch_add_file_check(launch/openni2_local.launch)
diff --git a/jsk_pcl_ros/package.xml b/jsk_pcl_ros/package.xml
index 40507cb90f..d8780c998c 100644
--- a/jsk_pcl_ros/package.xml
+++ b/jsk_pcl_ros/package.xml
@@ -50,6 +50,7 @@
image_transport
image_view2
interactive_markers
+ joint_state_publisher
jsk_data
jsk_footstep_msgs
jsk_interactive_marker
@@ -73,12 +74,15 @@
pcl_conversions
pcl_msgs
pcl_ros
+ pr2_description
python-sklearn
python3-sklearn
resized_image_transport
robot_self_filter
+ robot_state_publisher
rosboost_cfg
roscpp_tutorials
+ roseus
sensor_msgs
std_msgs
std_srvs
@@ -89,6 +93,7 @@
tf_conversions
topic_tools
visualization_msgs
+ xacro
yaml-cpp
compressed_depth_image_transport
diff --git a/jsk_pcl_ros/sample/include/play_rosbag_pr2_sink.xml b/jsk_pcl_ros/sample/include/play_rosbag_pr2_sink.xml
index cb7289c05b..0814384af8 100644
--- a/jsk_pcl_ros/sample/include/play_rosbag_pr2_sink.xml
+++ b/jsk_pcl_ros/sample/include/play_rosbag_pr2_sink.xml
@@ -2,7 +2,7 @@
-
-
+
+
+
-
+
-
diff --git a/jsk_pcl_ros/test/test_octomap_server_contact_pr2.test b/jsk_pcl_ros/test/test_octomap_server_contact_pr2.test
new file mode 100644
index 0000000000..1b7a6cb42c
--- /dev/null
+++ b/jsk_pcl_ros/test/test_octomap_server_contact_pr2.test
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+ topic_0: /occupied_cells_vis_array
+ timeout_0: 30
+ topic_1: /free_cells_vis_array
+ timeout_1: 30
+ topic_2: /unknown_cells_vis_array
+ timeout_2: 30
+ topic_3: /octomap_full
+ timeout_3: 30
+ topic_4: /octomap_binary
+ timeout_4: 30
+
+
+