diff --git a/jsk_pcl_ros/CMakeLists.txt b/jsk_pcl_ros/CMakeLists.txt
index 653eed2115..1144226565 100644
--- a/jsk_pcl_ros/CMakeLists.txt
+++ b/jsk_pcl_ros/CMakeLists.txt
@@ -49,6 +49,9 @@ IF(${yaml_cpp_VERSION} VERSION_LESS "0.5.0")
add_definitions("-DUSE_OLD_YAML")
ENDIF()
+message(WARNING "DEPRECATION WARNING: srv files in jsk_pcl_ros are deprecated."
+ " Please use those in jsk_recognition_msgs.")
+# TODO(wkentaro): Remove deprecated srv files.
add_service_files(FILES SwitchTopic.srv
UpdateOffset.srv
SnapFootstep.srv
diff --git a/jsk_perception/CMakeLists.txt b/jsk_perception/CMakeLists.txt
index c2dbab7709..da042680e0 100644
--- a/jsk_perception/CMakeLists.txt
+++ b/jsk_perception/CMakeLists.txt
@@ -113,6 +113,9 @@ generate_dynamic_reconfigure_options(
cfg/LabelToMaskImage.cfg
)
+message(WARNING "DEPRECATION WARNING: srv files in jsk_pcl_ros are deprecated."
+ " Please use those in jsk_recognition_msgs.")
+# TODO(wkentaro): Remove deprecated srv files.
add_service_files(FILES
EuclideanSegment.srv
NonMaximumSuppression.srv
diff --git a/jsk_recognition_msgs/CMakeLists.txt b/jsk_recognition_msgs/CMakeLists.txt
index 5c37d19be1..456c6709ab 100644
--- a/jsk_recognition_msgs/CMakeLists.txt
+++ b/jsk_recognition_msgs/CMakeLists.txt
@@ -1,7 +1,7 @@
cmake_minimum_required(VERSION 2.8.3)
project(jsk_recognition_msgs)
find_package(catkin REQUIRED
- std_msgs sensor_msgs geometry_msgs message_generation pcl_msgs)
+ std_msgs sensor_msgs geometry_msgs message_generation pcl_msgs jsk_footstep_msgs)
add_message_files(
FILES
BoundingBoxArray.msg
@@ -59,17 +59,40 @@ add_message_files(
PlotDataArray.msg
)
+# TODO(wkentaro): Most of srv files are duplicated in jsk_pcl_ros,
+# and jsk_perception, so those in the packages should be removed.
add_service_files(FILES
- SetPointCloud2.srv
+ CallPolygon.srv
+ CallSnapIt.srv
+ CheckCircle.srv
+ CheckCollision.srv
+ EnvironmentLock.srv
+ EuclideanSegment.srv
+ ICPAlign.srv
+ ICPAlignWithBox.srv
+ NonMaximumSuppression.srv
+ PolygonOnEnvironment.srv
+ RobotPickupReleasePoint.srv
+ SetDepthCalibrationParameter.srv
SetLabels.srv
+ SetPointCloud2.srv
+ SetTemplate.srv
+ SnapFootstep.srv
+ SwitchTopic.srv
+ TowerPickUp.srv
+ TowerRobotMoveCommand.srv
+ TransformScreenpoint.srv
+ UpdateOffset.srv
+ WhiteBalancePoints.srv
+ WhiteBalance.srv
)
generate_messages(
DEPENDENCIES
- std_msgs sensor_msgs geometry_msgs pcl_msgs
+ std_msgs sensor_msgs geometry_msgs pcl_msgs jsk_footstep_msgs
)
catkin_package(
- CATKIN_DEPENDS std_msgs sensor_msgs geometry_msgs pcl_msgs
+ CATKIN_DEPENDS std_msgs sensor_msgs geometry_msgs pcl_msgs jsk_footstep_msgs
)
install(DIRECTORY scripts
diff --git a/jsk_recognition_msgs/package.xml b/jsk_recognition_msgs/package.xml
index 8a9723c2e5..25a4eaa027 100644
--- a/jsk_recognition_msgs/package.xml
+++ b/jsk_recognition_msgs/package.xml
@@ -16,6 +16,8 @@
sensor_msgs
message_generation
message_generation
+ jsk_footstep_msgs
+ jsk_footstep_msgs
diff --git a/jsk_recognition_msgs/srv/CallPolygon.srv b/jsk_recognition_msgs/srv/CallPolygon.srv
new file mode 100644
index 0000000000..151d891356
--- /dev/null
+++ b/jsk_recognition_msgs/srv/CallPolygon.srv
@@ -0,0 +1,3 @@
+string filename
+---
+geometry_msgs/PolygonStamped points
diff --git a/jsk_recognition_msgs/srv/CallSnapIt.srv b/jsk_recognition_msgs/srv/CallSnapIt.srv
new file mode 100644
index 0000000000..af2285b3f6
--- /dev/null
+++ b/jsk_recognition_msgs/srv/CallSnapIt.srv
@@ -0,0 +1,3 @@
+jsk_recognition_msgs/SnapItRequest request
+---
+geometry_msgs/Pose transformation
diff --git a/jsk_recognition_msgs/srv/CheckCircle.srv b/jsk_recognition_msgs/srv/CheckCircle.srv
new file mode 100644
index 0000000000..126cb61863
--- /dev/null
+++ b/jsk_recognition_msgs/srv/CheckCircle.srv
@@ -0,0 +1,5 @@
+geometry_msgs/Point point
+---
+bool clicked
+int32 index
+string msg
diff --git a/jsk_recognition_msgs/srv/CheckCollision.srv b/jsk_recognition_msgs/srv/CheckCollision.srv
new file mode 100644
index 0000000000..6bacae53b5
--- /dev/null
+++ b/jsk_recognition_msgs/srv/CheckCollision.srv
@@ -0,0 +1,4 @@
+sensor_msgs/JointState joint
+geometry_msgs/PoseStamped pose
+---
+bool result
diff --git a/jsk_recognition_msgs/srv/EnvironmentLock.srv b/jsk_recognition_msgs/srv/EnvironmentLock.srv
new file mode 100644
index 0000000000..fa7f94abcf
--- /dev/null
+++ b/jsk_recognition_msgs/srv/EnvironmentLock.srv
@@ -0,0 +1,2 @@
+---
+uint32 environment_id
diff --git a/jsk_recognition_msgs/srv/EuclideanSegment.srv b/jsk_recognition_msgs/srv/EuclideanSegment.srv
new file mode 100644
index 0000000000..d31009c55e
--- /dev/null
+++ b/jsk_recognition_msgs/srv/EuclideanSegment.srv
@@ -0,0 +1,4 @@
+sensor_msgs/PointCloud2 input
+float32 tolerance
+---
+sensor_msgs/PointCloud2[] output
diff --git a/jsk_recognition_msgs/srv/ICPAlign.srv b/jsk_recognition_msgs/srv/ICPAlign.srv
new file mode 100644
index 0000000000..a696adb926
--- /dev/null
+++ b/jsk_recognition_msgs/srv/ICPAlign.srv
@@ -0,0 +1,4 @@
+sensor_msgs/PointCloud2 reference_cloud
+sensor_msgs/PointCloud2 target_cloud
+---
+jsk_recognition_msgs/ICPResult result
diff --git a/jsk_recognition_msgs/srv/ICPAlignWithBox.srv b/jsk_recognition_msgs/srv/ICPAlignWithBox.srv
new file mode 100644
index 0000000000..38857dc08c
--- /dev/null
+++ b/jsk_recognition_msgs/srv/ICPAlignWithBox.srv
@@ -0,0 +1,4 @@
+sensor_msgs/PointCloud2 target_cloud
+jsk_recognition_msgs/BoundingBox target_box
+---
+jsk_recognition_msgs/ICPResult result
diff --git a/jsk_recognition_msgs/srv/NonMaximumSuppression.srv b/jsk_recognition_msgs/srv/NonMaximumSuppression.srv
new file mode 100644
index 0000000000..4c576e4759
--- /dev/null
+++ b/jsk_recognition_msgs/srv/NonMaximumSuppression.srv
@@ -0,0 +1,5 @@
+jsk_recognition_msgs/Rect[] rect
+float32 threshold
+---
+jsk_recognition_msgs/Rect[] bbox
+int64 bbox_count
diff --git a/jsk_recognition_msgs/srv/PolygonOnEnvironment.srv b/jsk_recognition_msgs/srv/PolygonOnEnvironment.srv
new file mode 100644
index 0000000000..66802b92e9
--- /dev/null
+++ b/jsk_recognition_msgs/srv/PolygonOnEnvironment.srv
@@ -0,0 +1,6 @@
+uint32 environment_id
+uint32 plane_index
+geometry_msgs/PolygonStamped polygon
+---
+bool result
+string reason
diff --git a/jsk_recognition_msgs/srv/RobotPickupReleasePoint.srv b/jsk_recognition_msgs/srv/RobotPickupReleasePoint.srv
new file mode 100644
index 0000000000..2bd31c7ec5
--- /dev/null
+++ b/jsk_recognition_msgs/srv/RobotPickupReleasePoint.srv
@@ -0,0 +1,5 @@
+Header header
+geometry_msgs/Point target_point
+byte pick_or_release # 0 -> pick, 1 -> release
+---
+bool success
diff --git a/jsk_recognition_msgs/srv/SetDepthCalibrationParameter.srv b/jsk_recognition_msgs/srv/SetDepthCalibrationParameter.srv
new file mode 100644
index 0000000000..f0368d38a2
--- /dev/null
+++ b/jsk_recognition_msgs/srv/SetDepthCalibrationParameter.srv
@@ -0,0 +1,2 @@
+jsk_recognition_msgs/DepthCalibrationParameter parameter
+---
diff --git a/jsk_recognition_msgs/srv/SetTemplate.srv b/jsk_recognition_msgs/srv/SetTemplate.srv
new file mode 100644
index 0000000000..4611f47de4
--- /dev/null
+++ b/jsk_recognition_msgs/srv/SetTemplate.srv
@@ -0,0 +1,8 @@
+string type
+sensor_msgs/Image image
+# dimensions of the texture in the real world (in meters)
+float32 dimx
+float32 dimy
+geometry_msgs/Pose relativepose # used to set the coordinate system of the object relative to the texture
+string savefilename # if not empty, will save the resulting pp file to here
+---
diff --git a/jsk_recognition_msgs/srv/SnapFootstep.srv b/jsk_recognition_msgs/srv/SnapFootstep.srv
new file mode 100644
index 0000000000..31119d2a05
--- /dev/null
+++ b/jsk_recognition_msgs/srv/SnapFootstep.srv
@@ -0,0 +1,3 @@
+jsk_footstep_msgs/FootstepArray input
+---
+jsk_footstep_msgs/FootstepArray output
diff --git a/jsk_recognition_msgs/srv/SwitchTopic.srv b/jsk_recognition_msgs/srv/SwitchTopic.srv
new file mode 100644
index 0000000000..1438a856f8
--- /dev/null
+++ b/jsk_recognition_msgs/srv/SwitchTopic.srv
@@ -0,0 +1,4 @@
+# new topics
+string camera_info
+string points
+---
diff --git a/jsk_recognition_msgs/srv/TowerPickUp.srv b/jsk_recognition_msgs/srv/TowerPickUp.srv
new file mode 100644
index 0000000000..bb68d9a1db
--- /dev/null
+++ b/jsk_recognition_msgs/srv/TowerPickUp.srv
@@ -0,0 +1,2 @@
+int32 tower_index
+---
diff --git a/jsk_recognition_msgs/srv/TowerRobotMoveCommand.srv b/jsk_recognition_msgs/srv/TowerRobotMoveCommand.srv
new file mode 100644
index 0000000000..58b5fcfd4f
--- /dev/null
+++ b/jsk_recognition_msgs/srv/TowerRobotMoveCommand.srv
@@ -0,0 +1,23 @@
+# a service to move robot with tower index
+byte ROBOT1=1
+byte ROBOT2=2
+byte ROBOT3=3
+
+byte PLATE_SMALL=1
+byte PLATE_MIDDLE=2
+byte PLATE_LARGE=3
+
+byte TOWER_LOWEST=1
+byte TOWER_MIDDLE=2
+byte TOWER_HIGHEST=3
+byte TOWER_LOWEST2=1
+
+byte OPTION_NONE=0
+byte OPTION_MOVE_INITIAL=1
+
+int32 robot_index
+int32 plate_index
+int32 from_tower
+int32 to_tower
+int32 option_command
+---
diff --git a/jsk_recognition_msgs/srv/TransformScreenpoint.srv b/jsk_recognition_msgs/srv/TransformScreenpoint.srv
new file mode 100644
index 0000000000..2c45658e58
--- /dev/null
+++ b/jsk_recognition_msgs/srv/TransformScreenpoint.srv
@@ -0,0 +1,8 @@
+# screen point
+float32 x
+float32 y
+---
+# position in actual world
+std_msgs/Header header
+geometry_msgs/Point point
+geometry_msgs/Vector3 vector
diff --git a/jsk_recognition_msgs/srv/UpdateOffset.srv b/jsk_recognition_msgs/srv/UpdateOffset.srv
new file mode 100644
index 0000000000..fbe5188f48
--- /dev/null
+++ b/jsk_recognition_msgs/srv/UpdateOffset.srv
@@ -0,0 +1,5 @@
+# UpdatePose.srv
+# This service is designed to specify localization
+# transformation manually
+geometry_msgs/TransformStamped transformation
+---
diff --git a/jsk_recognition_msgs/srv/WhiteBalance.srv b/jsk_recognition_msgs/srv/WhiteBalance.srv
new file mode 100644
index 0000000000..885d26a8fd
--- /dev/null
+++ b/jsk_recognition_msgs/srv/WhiteBalance.srv
@@ -0,0 +1,4 @@
+float32[3] reference_color
+sensor_msgs/Image input
+---
+sensor_msgs/Image output
diff --git a/jsk_recognition_msgs/srv/WhiteBalancePoints.srv b/jsk_recognition_msgs/srv/WhiteBalancePoints.srv
new file mode 100644
index 0000000000..4de0ca00ce
--- /dev/null
+++ b/jsk_recognition_msgs/srv/WhiteBalancePoints.srv
@@ -0,0 +1,4 @@
+float32[3] reference_color
+sensor_msgs/PointCloud2 input
+---
+sensor_msgs/PointCloud2 output